{"version":3,"file":"/uxab/shell-bundle.map.jsdbx","sections":[{"offset":{"line":18,"column":0},"map":{"mappings":";;;;;;aAMAA,EAAOC,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA6FX,OA3FAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,IAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GA4B5B,OA1BIA,EAAK,KACPC,GAAW,cAAcE,OAAOH,EAAK,GAAI,QAGvCA,EAAK,KACPC,GAAW,UAAUE,OAAOH,EAAK,GAAI,OAGnCE,IACFD,GAAW,SAASE,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,OAG5EC,GAAWN,EAAuBK,GAE9BE,IACFD,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGNA,CACT,GAAGI,KAAK,GACV,EAGAT,EAAKU,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAG7B,IAAIC,EAAyB,CAAC,EAE9B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIhB,KAAKM,OAAQU,IAAK,CACpC,IAAIC,EAAKjB,KAAKgB,GAAG,GAEP,MAANC,IACFF,EAAuBE,IAAM,EAEjC,CAGF,IAAK,IAAIC,EAAK,EAAGA,EAAKT,EAAQH,OAAQY,IAAM,CAC1C,IAAIhB,EAAO,GAAGG,OAAOI,EAAQS,IAEzBP,GAAUI,EAAuBb,EAAK,WAIrB,IAAVW,SACc,IAAZX,EAAK,KAGdA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKW,GAOVH,IACGR,EAAK,IAGRA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKQ,GAHVR,EAAK,GAAKQ,GAOVE,IACGV,EAAK,IAGRA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKU,GAHVV,EAAK,GAAK,GAAGG,OAAOO,IAOxBd,EAAKqB,KAAKjB,GACZ,CACF,EAEOJ,CACT,C,UCnGAH,EAAOC,QAAU,SAAUY,GACzB,OAAOA,EAAE,EACX,C,0ECDIY,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,sCAAuC,KAEhF,S,gBCNQ,IAAII,EAAS,EAAQ,IAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,UCVpC,SAASyB,IACP,OAAO7B,EAAOC,QAAU4B,EAAWC,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUC,GAClF,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUxB,OAAQuB,IAAK,CACzC,IAAIE,EAAID,UAAUD,GAClB,IAAK,IAAIG,KAAKD,GAAG,CAAG,GAAEE,eAAeC,KAAKH,EAAGC,KAAOJ,EAAEI,GAAKD,EAAEC,GAC/D,CACA,OAAOJ,CACT,EAAGjC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAAS4B,EAASW,MAAM,KAAML,UACxG,CACAnC,EAAOC,QAAU4B,EAAU7B,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,GCR5FwC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBxB,IAAjByB,EACH,OAAOA,EAAa3C,QAGrB,IAAID,EAASyC,EAAyBE,GAAY,CACjDrB,GAAIqB,EAEJ1C,QAAS,CAAC,GAOX,OAHA4C,EAAoBF,GAAU3C,EAAQA,EAAOC,QAASyC,GAG/C1C,EAAOC,OACf,CCrBAyC,EAAoBT,EAAKjC,IACxB,IAAI8C,EAAS9C,GAAUA,EAAO2B,WAC7B,IAAO3B,EAAiB,QACxB,IAAM,EAEP,OADA0C,EAAoBK,EAAED,EAAQ,CAAEE,EAAGF,IAC5BA,GCLRJ,EAAoBK,EAAI,CAAC9C,EAASgD,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAElD,EAASiD,IAC5EpB,OAAOsB,eAAenD,EAASiD,EAAK,CAAEG,YAAY,EAAMC,IAAKL,EAAWC,MCJ3ER,EAAoBS,EAAI,CAACI,EAAKC,IAAU1B,OAAO2B,UAAUnB,eAAeC,KAAKgB,EAAKC,GCClFd,EAAoBL,EAAKpC,IACH,oBAAXyD,QAA0BA,OAAOC,aAC1C7B,OAAOsB,eAAenD,EAASyD,OAAOC,YAAa,CAAEC,MAAO,WAE7D9B,OAAOsB,eAAenD,EAAS,aAAc,CAAE2D,OAAO,KCHvD,MAAM,EAFEC,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1BA,CAAE,CAAE,YAAiB,KACrD,MAAMC,EAAYC,EAAuFpC,SAAWoC,EAAuFrC,WAGpM,OAAIoC,EACHC,EAAgG,QAAEC,YAInGD,EAAuFC,aAAeD,EAAgG,SAAKA,EAAgG,QAAEC,aAClT,oBAAyB,KAC3B,MAAMF,EAAYC,EAAuFpC,SAAWoC,EAAuFrC,WAGpM,OAAIoC,EACHC,EAAgG,QAAEE,oBAInGF,EAAuFE,qBAAuBF,EAAgG,SAAKA,EAAgG,QAAEE,uB,sBCnBjU,MAAM,EAFEL,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,iBAAsB,KAC1D,MAAMC,EAAYI,EAAmGvC,SAAWuC,EAAmGxC,WAG5N,OAAIoC,EACHI,EAA4G,QAAEC,iBAI/GD,EAAmGC,kBAAoBD,EAA4G,SAAKA,EAA4G,QAAEC,kBAC3V,iBAAsB,KACxB,MAAML,EAAYI,EAAmGvC,SAAWuC,EAAmGxC,WAG5N,OAAIoC,EACHI,EAA4G,QAAEE,iBAI/GF,EAAmGE,kBAAoBF,EAA4G,SAAKA,EAA4G,QAAEE,oBCnBlW,MAAM,EAFER,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAYO,EAAmF1C,SAAW0C,EAAmF3C,WAG5L,OAAIoC,EACHO,EAA4F,QAAEC,QAI/FD,EAAmFC,SAAWD,EAA4F,SAAKA,EAA4F,QAAEC,SAClS,WAAgB,KAClB,MAAMR,EAAYO,EAAmF1C,SAAW0C,EAAmF3C,WAG5L,OAAIoC,EACHO,EAA4F,QAAEE,WAI/FF,EAAmFE,YAAcF,EAA4F,SAAKA,EAA4F,QAAEE,cCrBtSC,EAAoB,SAACC,GAAmC,IACxDC,EAAQ,CAD2BxC,UAAAxB,OAAA,QAAAQ,IAAAgB,UAAA,GAAAA,UAAA,GAAGyC,SAASC,MAEnD,KAAOF,EAAMhE,OAAS,GAAG,CACvB,MAAMmE,EAAMH,EAAMI,QAClB,IAAID,EAAK,SACT,MAAME,EAAMF,EAAIG,cAAcP,GAC9B,GAAIM,EAAK,OAAOA,EAEhB,MAAME,EAAYJ,EAAIK,WAClBD,GAAWP,EAAMnD,KAAK0D,GAC1B,MAAME,GAAcN,aAAG,EAAHA,EAAKO,iBAAiB,OAAQ,GAClD,IAAK,IAAIxE,EAAI,EAAGA,EAAIuE,EAAYzE,OAAQE,IAAK,KAAAyE,EACzB,QAAlBA,EAAIF,EAAYvE,UAAE,IAAAyE,GAAdA,EAAgBH,YAAYR,EAAMnD,KAAK4D,EAAYvE,GAAGsE,WAC5D,CACF,CACF,EAEMI,EAAuB,SAACb,GAAmC,IAC3DC,EAAQ,CAD8BxC,UAAAxB,OAAA,QAAAQ,IAAAgB,UAAA,GAAAA,UAAA,GAAGyC,SAASC,MAElDnD,EAAS,GACb,KAAOiD,EAAMhE,OAAS,GAAG,CACvB,MAAMmE,EAAMH,EAAMI,QAClB,IAAID,EAAK,SACT,MAAME,EAAMF,EAAIO,iBAAiBX,GAC7BM,GAAOA,EAAIrE,OAAS,GAAGe,EAAOF,QAAQwD,GAE1C,MAAME,EAAYJ,EAAIK,WAClBD,GAAWP,EAAMnD,KAAK0D,GAC1B,MAAME,GAAcN,aAAG,EAAHA,EAAKO,iBAAiB,OAAQ,GAClD,IAAK,IAAIxE,EAAI,EAAGA,EAAIuE,EAAYzE,OAAQE,IAAK,KAAA2E,EACzB,QAAlBA,EAAIJ,EAAYvE,UAAE,IAAA2E,GAAdA,EAAgBL,YAAYR,EAAMnD,KAAK4D,EAAYvE,GAAGsE,WAC5D,CACF,CACA,OAAOzD,CACT,EChCM+D,EAAaA,CAACC,EAAWhB,KAC9B,IAAIiB,EAAiBlB,EACpB,oBACAiB,GAGD,MAAME,EAAaF,EAAUT,cAAcP,GAK3C,MAAO,CAAEmB,YAJSN,EACjB,2BACAK,GAEqBD,mBCZjBG,EAAeA,CAACJ,EAAWK,KAC3BL,GAAcK,IAEO,YAAtBA,EAAUC,UACbD,EAAUC,QAAU,SACpBD,EAAUE,MAAMC,QAAU,SAG3BH,EAA4B,iBAAIL,EAChCK,EAAoB,UAAI,EACxBA,EAA4B,kBAAI,IAG3BI,EAAiBJ,IACjBA,IACLA,EAA4B,kBAAI,EAChCA,EAAUK,gBAAgB,aACvBL,EAAoB,WACtBA,EAAoB,cAAI5E,GACzB4E,EAAUK,gBAAgB,uBACvBL,EAA4B,mBAC9BA,EAA4B,sBAAI5E,KCtBrBkF,EAAyBA,CAACC,EAAMC,EAAkBC,KAC9D,MACMC,EAAW,IAAIC,iBAAiB,CAACC,EAAeF,IACrDF,EAAiBI,EAAeF,EAAUD,IAG3C,OADAC,EAASG,QAAQN,EAJF,CAAEO,YAAY,EAAOC,WAAW,EAAMC,SAAS,IAKvDN,GC8DFO,EAAoB,SAACtB,EAAWhB,GAAsC,IAA5BuC,EAAe9E,UAAAxB,OAAA,QAAAQ,IAAAgB,UAAA,IAAAA,UAAA,GAC9D,MAAMyD,EAAaF,EAAUT,cAAcP,GAC3C,IAAIwC,EAAczC,EAAkB,0BAA2BmB,GAS/D,GAFKsB,IACJA,EAAczC,EAAkB,0BAA2BmB,IACxDsB,EAQH,OAPID,IACHC,EAAYjB,MAAMC,QAAU,OAG5BgB,EAAYC,aAAa,OAAQ,IACjCD,EAAYC,aAAa,kBAAkB,IAErCD,EAAmB,KAE5B,EAEME,EAAc,SAAC1B,EAAWhB,GAAiC,IAAvB2C,EAAUlF,UAAAxB,OAAA,QAAAQ,IAAAgB,UAAA,IAAAA,UAAA,IAC7C0D,YAAayB,EAAY,eAAE3B,GAAmBF,EACnDC,EACAhB,GAGD,IAAKiB,KAAmBpB,EAAAA,EAAAA,SAAQ+C,GAAe,CAC9C,MAAMC,EAAiB9C,EACtB,oBACAiB,GAGG6B,IACH5B,EAAiBf,SAAS4C,cAAc,OACxC7B,EAAe8B,UAAUC,IAAI,mBAAoB,YACjDH,EAAeI,YAAYhC,GAE7B,EACKpB,EAAAA,EAAAA,SAAQ+C,KACZA,EAAaM,QAASC,IAChBA,EAAOJ,UAAUK,SAAS,4BAC9BD,EAAOJ,UAAUC,IAAI,2BACtB5B,EAAaH,EAAgBkC,KAK9BE,WAAW,KACmBxC,EAC5B,gBACAI,GAEoBiC,QACnBC,IACCA,EAAOJ,UAAUK,SAAS,4BAC3BD,EAAOJ,UAAUC,IAAI,6BAErB,IAECL,GACHC,EAAaM,QAASC,GAAYA,EAAO5B,MAAMC,QAAU,QAE5D,EAEM8B,EAAgBA,CAACtC,EAAWhB,KACjC,MAAQmB,YAAayB,EAAY,eAAE3B,GAAmBF,EACrDC,EACAhB,GAEG4C,GACHA,EAAaM,QAASC,IACrB1B,EAAe0B,GACfA,EAAO5B,MAAMC,QAAU,KAKxBP,GACAA,EAAesC,YACftC,EAAe8B,UAAUK,SAAS,aAElCnC,EAAesC,WAAWC,YAAYvC,ICvJ3BwC,EAA+B,+BAC/BC,EAAuB,uBACvBC,EAAiB,iBAEjBC,EAAwB,4BACxBC,EAAwB,4BAIxBC,EAAwB,wBACxBC,EAAkB,kBAClBC,EAA6B,6BAC7BC,EAA2B,2BAG3BC,EAAyB,yBChBzBC,EAAsBC,IAClC,IAAKA,EAAQ,OACb,IAAIC,EAAS,CAACD,GAEd,MAAME,EAAYC,IACjBA,EAAGjD,QAAU,SACbiD,EAAGhD,MAAMC,QAAU,SAGpB,KAAyB,IAAlB6C,EAAOpI,QAAc,CAC3B,IAAIsI,EAAKF,EAAOhE,QAChB,GAAmB,YAAfkE,EAAGjD,QAAuB,CAC7BgD,EAAUC,GACV,KACD,CACA,GAAIA,EAAGC,SACN,IAAK,IAAIC,KAAOF,EAAGC,SAAUH,EAAOvH,KAAK2H,EAE3C,GCdY5C,EAAmBA,CAACI,EAAeF,EAAUD,KACzD,IAAK,IAAI4C,KAAYzC,EACpB,GAAsB,cAAlByC,EAASC,KAAsB,CAClC,MAAM,WAAEC,GAAeF,EACvB,GAAIE,GAAcA,EAAW3I,OAAS,EAAG,CACxCkI,EAAoBS,EAAW,IAC/B,MAAM,OACLzB,EAAM,cACN0B,EAAa,aACbC,EAAY,MACZC,EAAK,YACLC,GACGlD,GACE,QAAEmD,EAAO,WAAEC,GAAeH,EAChC,IAAI,OACHI,GAAS,EAAK,QACdC,EAAO,KACPC,GAAO,EAAK,eACZC,EAAiB,CAAC,EAAC,YACnBC,EAAW,cACXC,GACGV,GAAgB,CAAC,EAChBS,IAAwB,IAATF,IACnBE,EAAcjD,EACb2C,EACA,YAAYG,OACZ,IAGF,IAAIK,EAAOtC,EAAa,MAAK,KACzBuC,EAAiBvC,EAAuB,iBAAK,EACjD,MAMMwC,EAAkB,CACvBC,gBAPuBzC,EAAwB,kBAAK,EAQpD0C,mBAP0B1C,EAA2B,mBAQrD2C,kBAPyB3C,EAA0B,kBAQnD4C,mBAP0B5C,EAA2B,mBAQrD6C,kBAPyB7C,EAA0B,mBAUpDmC,EAAcnI,IAAA,CACbsI,OACA,CAACJ,EAAO,iBAAmB,gBAAiBK,EAC5CC,mBACGL,GAGJN,EAAW7H,IAAC,CAAC,EACRgG,GAAU,CACb+B,WAAY,IACRA,EACH,CACCE,UACAD,SACAhC,SACA0B,gBACAS,iBACAC,cACAC,gBACAH,WAKL,CACD,CC1EoCtD,KACrCA,GAAYA,EAASkE,YAAalE,EAASkE,cD2E3CC,CAAuBnE,IE5ElBoE,EAAwB3I,GAAKA,EAAE4I,2BAQ/BC,EAA0BA,CAACC,EAAKC,KACrC,IAAI,IAAIpK,EAAE,EAAGA,EAAEoK,EAAkBtK,OAAQE,IACxCmK,EAAIE,oBAAoBD,EAAkBpK,GAAIgK,ICW1CM,EAAkBC,UAKlB,IALyB,aAC9B5B,EAAY,MACZC,EAAK,YACLC,EAAW,SACX2B,GACAC,EACA,MAAM,QAAE3B,EAAO,WAAEC,GAAeH,EAChC,IAAI,QAAEK,EAAO,OAAEjC,EAAM,cAAE0D,GAAgB,GAAU/B,GAAgB,CAAC,EAClE,GACCM,IACsB,GAArBF,EAAWjJ,QACXiJ,EAAWA,EAAWjJ,OAAS,GAAGmJ,SAAWA,GAC7C,CACIyB,GNZyB1D,KAC/B,MAAM2D,EAAgBjG,EAAqB,iBAAkBsC,IAAW,GAClE4D,EAAW,IAAIC,IACrBF,EAAc5D,QAAS+D,IAClBA,GAAKA,EAAEC,cAAepH,EAAAA,EAAAA,YAAWmH,EAAEE,gBACtCJ,EAASK,IAAIH,EAAEC,YAAW/J,IAAA,GAAO8J,EAAEE,oBAGrChE,EAAOkE,oBAAsBN,GMK3BO,CAAuBnE,GAExB/B,EAAa6D,EAAS9B,GAElBA,IACHA,EAAO5B,MAAMC,QAAU,QACvB2B,EAAOoE,gBAAgB,SAAS,IAEjC,MAAM1C,QNEkB7D,EMDvBiE,ENCkCjF,EMAlC,YAAYoF,MNCTpE,GAAchB,EAEZ,IAAIwH,QAASC,IACnB,MAAMC,EAAU1G,EAAUT,cAAcP,GACxC,GAAI0H,EACH,OAAOD,EAAQC,GAIhB/F,EACCX,EACA,CAAC2G,EAAW5F,EAAQ6E,KAAa,IAAX,GAAEgB,GAAIhB,EAC3B,MAAMc,EAAU1G,EAAUT,cAAcqH,GACxC7F,EAASkE,aACTwB,EAAQC,IAET,CAAEE,GAAI5H,MAhB4BwH,QAAQC,QAAQ,OMEnD,IAAK5C,EAIJ,YAHAgD,QAAQC,MACP,8CAA8C1C,KAKhDP,EAActD,MAAMC,QAAU,QDrDRuG,EAACzB,EAAK0B,KAC7B,IAAI,IAAI7L,EAAE,EAAGA,EAAE6L,EAAkB/L,OAAQE,IACxCmK,EAAI2B,iBAAiBD,EAAkB7L,GAAIgK,ICoD3C4B,CAAgBlD,EAAe,CAC9Bd,EACAD,IAED,MAAMoE,EAAerD,EAAcpE,WAChCoE,EAAcpE,WACdoE,EASH,GARAlD,EAAuBuG,EAAcrG,EAAkB,CACtDsB,SACA0B,gBACAC,eACAC,QACAC,gBAED2B,EAAS9C,EAAuB,CAAEuB,UAAS+C,OAAQhF,IAC/C+B,EAAWjJ,OAAS,EAAG,CAE1B,MAAMmM,EAAalD,EAAWA,EAAWjJ,OAAS,IAC1CmJ,QAASiD,EAAW,KAAEhD,GAAO,GAAU+C,GAClC,IAAT/C,GACH/B,EAAc2B,EAAS,YAAYoD,OACpCD,EAAWvD,cAActD,MAAMC,QAAU,OACzCmF,EAAS/C,EAAuB,CAC/BwB,QAASiD,EACTF,OAAQC,EAAWjF,QAErB,CACD,CNtCwBmF,IAACtH,EAAWhB,GO3C/BuI,EAAsB3B,IAKtB,IALuB,aAC5B9B,EAAY,MACZC,EAAK,YACLC,EAAW,SACX2B,GACAC,GACI,OAAEzB,GAAS,GAAUL,GAAgB,CAAC,GAC3B,IAAXK,EACHsB,EAAgB,CAAE3B,eAAcC,QAAOC,cAAa2B,aD4E7B6B,KAAoD,IAAnD,aAAE1D,EAAY,MAAEC,EAAK,YAAEC,EAAW,SAAE2B,GAAU6B,GACnE,QAAEvD,EAAO,WAAEC,GAAeH,EAC9B,MAAM,SAAE0D,GAAW,EAAK,QAAErD,GAAYN,EAChC4D,GAAqB,IAAbD,EAAoBvD,EAAWjJ,OAAS,EAChD0M,EAAuBzD,IAAe,IAAA0D,EAAAC,EAI3C,MAAMC,EAAgB,IAAI5D,GAC1B,KAAO4D,EAAc7M,OAAS,GAAG,CAChC,MAAQ4I,cAAekE,EAAmB5F,OAAQ6F,GACjDF,EAAcA,EAAc7M,OAAS,GACtC,GAAI8M,SAAAA,EAAmBE,aAAnBF,MAAkCC,GAAAA,EAAYC,YACjD,MACDH,EAAcI,KACf,CACA,GAA4B,GAAxBJ,EAAc7M,OAEjB,YADA+I,EAAY,CAAEE,WAAY,KAI3B,MACCE,QAAS+D,EACTtE,cAAekE,EACfvD,cAAe4D,EACfjG,OAAQ6F,EACR3D,KAAMgE,GAAW,GACdP,EAAcA,EAAc7M,OAAS,GAEpCmN,IAAkC,IAAbC,GACzB3G,EAAYuC,EAAS,YAAYkE,OAAiB,GAEnDnE,EAAY,CAAEE,WAAY,IAAI4D,KAE9BC,EAAkBxH,MAAMC,QAAU,QAEjCwH,EAAWM,aAAa,SACW,YAAnCN,EAAWO,aAAa,SAExBP,EAAWvG,aAAa,OAAQ,IACjCuG,EAAW1H,QAAU,SAErB,MAAMkI,EAGqB,QAHXZ,EACfG,SAA6B,QAAZF,EAAjBE,EAAmBtI,kBAAU,IAAAoI,GACL,QADKA,EAA7BA,EACGtI,cAAc,eAAO,IAAAsI,GACH,QADGA,EADxBA,EAEGY,0BAAkB,IAAAZ,OAAA,EAFrBA,EAEwB,UAAE,IAAAD,EAAAA,EAAI,KAC1BY,IACLA,EAAWlI,QAAU,SAErBqF,EAAS9C,EAAuB,CAC/BsE,OAAQa,EACR5D,QAAS+D,MAIX,GAAI/D,GACCsE,MAAMC,QAAQzE,IAAeA,EAAWjJ,OAAS,EAAG,CACvD,MAAM2N,EAAS1E,EAAW2E,UACxB/N,GAAYA,EAAQsJ,UAAYA,GAElC,IAAgB,IAAZwE,EAAe,OACnB,MAAME,EAAa5E,EAAWjJ,QACxB,OACLkH,EACAkC,KAAM0E,GAAQ,EAAK,cACnBlF,GACGK,EAAW0E,GAEXzG,SAAAA,EAAQ8F,eACG,IAAVc,GACHzG,EAAc2B,EAAS,YAAYG,OACpCuB,EAAS/C,EAAuB,CAC/BwB,QAASA,EACT+C,OAAQhF,EACR6G,WAAW,EACXnF,cAAeA,KAGjB,MAAMiE,EAAgB5D,EAAW+E,OAChC,CAACC,EAAKC,IAAUA,IAAUP,GAS3B,YALIA,IAAWE,EAAa,GAAKhB,EAAc7M,OAAS,EACvD0M,EAAoBG,GACe,IAAzBA,EAAc7M,OACxB+I,EAAY,CAAEE,WAAY,KACtBF,EAAY,CAAEE,WAAY4D,IAEhC,CAED,IAAIA,EAAgB,IAAI5D,GACxB,IAAK,IAAI/I,EAAI,EAAGA,EAAIuM,EAAOvM,IAAK,CAC/B,MAAM,QACLiJ,EAAO,OACPjC,EAAM,cACN0B,EACAQ,KAAM0E,GAAQ,GACXL,MAAMC,QAAQb,IAAkBA,EAAc7M,OAAS,EACxD6M,EAAc5D,EAAWjJ,OAAS,GAClC,CAAC,EACAkH,SAAAA,EAAQ8F,aAAe7D,KACZ,IAAV2E,GAAgBzG,EAAc2B,EAAS,YAAYG,OACvDiB,EAAwBxB,EAAe,CACtCd,EACAD,KAGFgF,EAAcI,MACdvC,EAAS/C,EAAuB,CAC/BwB,QAASA,EACT+C,OAAQhF,EACR6G,WAAW,EACXnF,cAAeA,GAEjB,CAEIiE,EAAc7M,OAAS,EAC1B0M,EAAoBG,GAEpB9D,EAAY,CAAEE,WAAY,MCnMtBkF,CAAiB,CAAEtF,eAAcC,QAAOC,cAAa2B,eCWrD,oBACL0D,EAAmB,oBACnBC,EAAmB,2BACnBC,EAA0B,uBAC1BC,EAAsB,wBACtBC,GACGlL,EAAAA,YAEEmL,EAAiB,WAEVC,EAAyB/D,IAAA,IAAC,iBAAEgE,GAAkBhE,EAAA,OAC1DgE,EAAiB,CAAE9F,aAAc,CAAEK,QAAQ,EAAOsD,UAAU,MAiEvDoC,EAAU,IAAI7D,IACd8D,EAA8B,CACnC,CAACjH,GP5F0B,sBO6F3B,CAACD,GP9F0B,uBOgGtBmH,EAAmC,CACxC,CAAClH,GAAwBlE,EAAAA,iBACzB,CAACiE,GAAwBlE,EAAAA,kBAGpBsL,EAAsBC,IAAgC,IAA/B,OAAEC,EAAM,KAAEC,EAAI,SAAExE,GAAUsE,EACtDC,EAAOE,iBAAmBF,EAAOE,kBACjC,IAAI,OAAEjD,EAAM,UAAE6B,EAAS,QAAE5E,EAAO,cAAEP,GAAkBqG,EAAOG,QAC3D,IAAKlD,EAKJ,YAHAN,QAAQyD,KACP,qBAAqBJ,EAAOvG,mDAI9B,MAAM4G,EAAgBpD,EAEtB,GAAIA,EAAOoB,cAAgD,OAAhCpB,EAAOoB,aAAa,QAAkB,CAChE,MAAMrC,EAAciB,EAAOoB,aAAa,gBACxCpB,EAASA,EAAOqD,eACXrD,GAAUjB,IAEdiB,EAAS0C,EAAQjM,IAAIsI,GACrB2D,EAAQY,OAAOvE,GAEjB,CACA,GAAIiB,GAAUA,EAAOxB,SAAU,CAC9B,MAAM+E,EAAiBZ,EAA4BI,EAAOvG,MACpDgH,EAAiBZ,EAAiCG,EAAOvG,MAE3D+G,GAAkBC,IACrBxD,EAAOxB,SAASgF,EAAgB,CAAER,OAAMD,WAExC/C,EAAOxB,SAAS+E,EAAgB,CAC/BE,gBAAiBV,EAAOG,SAAWH,EAAOG,QAAQjG,WAKhD4E,GACHrD,EAASzC,EAAwB,CAChCiE,OAAQoD,EACRnG,QAASA,EACTP,cAAeA,GAGlB,GAWKgH,EAAYC,IACjB,GAAIA,GAAmBA,EAAgBC,cAAe,CACrD,MAAM7E,EACL4E,EAAgBC,cAAcxC,aAAa,iBAE1CsB,EAAQmB,IAAI9E,IACb4E,EAAgBC,cAAcP,eAE9BX,EAAQzD,IACPF,EACA4E,EAAgBC,cAAcP,cAEjC,GAGYS,EAAiB,CAC7B,CAAC5B,GA7IkC7B,IAAuC,IAAtC,iBAAEoC,EAAgB,YAAE5F,GAAawD,EACrE,MAAM0D,EAA4BvB,EAAuBrN,KAAK6O,OAAQ,CACrEvB,qBAEDuB,OAAOlE,iBAAiByC,EAAgBwB,GAA2B,GAGnElH,EAAY,CAAEkH,+BAuId,CAAC5B,GAAsB8B,IAAA,IAAC,KAAEjB,EAAI,YAAEnG,GAAaoH,EAAA,OAC5CpH,EAAY,CAAEC,QAASkG,KACxB,CAACZ,GAtHqC8B,IAKjC,IALkC,OACvCnB,EAAM,MACNnG,EAAK,YACLC,EAAW,SACX2B,GACA0F,EACA,MAAM,KAAEC,EAAI,MAAEpN,GAAUgM,EAAOG,QAE/B,GACM,iBADEiB,EAEN/D,EAAoB,CACnBzD,aAAc5F,EACd6F,QACAC,cACA2B,cAyGH,CAAC8D,GAvIkC8B,IAAe,IAAd,MAAExH,GAAOwH,EAC7C,MAAM,QAAEtH,EAAO,WAAEC,GAAeH,EAChC,GAAIG,EAAWjJ,OAAS,EAAG,CAC1B,MAAM6I,EAAeI,EAAWA,EAAWjJ,OAAS,IAC9C,QACLmJ,EAAO,OACPD,EAAM,cACNK,EAAa,KACbH,GAAO,GACJP,GAAgB,CAAC,GACN,IAAXK,GAAoBK,IAA0B,IAATH,GACxC3C,EAAYuC,EAAS,YAAYG,OAAa,EAEhD,GA2HA,CAACoF,GApGqCgC,IAA4B,IAA3B,YAAExH,EAAW,MAAED,GAAOyH,EAC7D,MAAM,0BAAEN,GAA8BnH,EAElCmH,GACHC,OAAO3F,oBACNkE,EACAwB,GACA,GAIFlH,EAAY,CACXkH,0BAA2B,KAC3BjH,QAAS,KACTC,WAAY,MAuFb,CAACxB,GAAuB+I,IAAiC,IAAhC,OAAEvB,EAAM,SAAEvE,EAAQ,MAAE5B,GAAO0H,EACnDvB,EAAOE,iBAAmBF,EAAOE,kBACjC,MAAM,QAAEnG,GAAYF,EACpB,GAAIE,EAAS,CACZ,MAAMyH,EAAmBzH,EAAQtE,iBAAiB,iBAC5CmL,EACLY,EAAiBA,EAAiBzQ,OAAS,GAE3C6P,GACAA,EAAgBC,eAChBD,EAAgBC,cAAcpF,UAE9BmF,EAAgBC,cAAcpF,SAC7BuE,EAAOvG,KACPuG,EAAOG,SAGTQ,EAASC,EACV,CACAnF,EAAShD,EAAgB,CAAEgJ,UAAWzB,EAAOG,QAAQnM,SAEtD,CAACuE,GAA+BmJ,IAAiC,IAAhC,OAAE1B,EAAM,SAAEvE,EAAQ,MAAE5B,GAAO6H,EAC3D,MAAM,QAAE3H,GAAYF,EACpB,GAAIE,EAAS,CACZ,MAAMyH,GACLzH,aAAO,EAAPA,EAAStE,iBAAiB,mBAAoB,GACzCmL,EACLY,EAAiBA,EAAiBzQ,OAAS,GAG5C4P,EAASC,EACV,CACAnF,EAAShD,EAAgB,CAAEgJ,WAAW,IACtCzB,EAAO2B,kBAER,CAAC7I,GAA6B8I,IAAuB,IAAtB,OAAE5B,EAAM,MAAEnG,GAAO+H,EAC/C,MACCC,YAAY,aAAEjI,GAAc,WAC5BI,GACGH,GACE,MAAEiI,EAAK,OAAEC,GAAW/B,EAAOG,SAC3B,QAAEjG,GAAYN,EAEdhJ,EAAUoJ,aAAU,EAAVA,EAAYgI,KAC1BpR,GAAYA,EAAQsJ,UAAYA,IAE5B,OAAEjC,GAAWrH,QAAAA,EAAW,CAAC,EAE3BqH,IACHA,EAAOV,aAAa,SAAUwK,GAC9B9J,EAAOV,aAAa,QAASuK,IAE9B9B,EAAO2B,kBAER,CAAC5I,GAA2BkJ,IAAyC,IAAAC,EAAA,IAAxC,OAAElC,EAAM,MAAEnG,EAAK,iBAAE6F,GAAkBuC,EAC/DjC,SAAuB,QAAjBkC,EAANlC,EAAQE,uBAAe,IAAAgC,GAAvBA,EAAAvP,KAAAqN,GAEA,MAAM,WAAEhG,EAAa,IAAOH,GACtB,WAAEsI,EAAa,KAAOnC,aAAM,EAANA,EAAQG,UAAW,CAAC,EAEhD,IAAIiC,EAAgB,KACpB,IAAK,MAAM1L,KAAQyL,EAAY,KAAAE,EAC9B,MAAMC,EAAS5L,aAAI,EAAJA,EAAM2H,aAAa,UAClC,GAAIiE,GAAmC,WAAzB5L,SAAW,QAAP2L,EAAJ3L,EAAML,aAAK,IAAAgM,OAAA,EAAXA,EAAa/L,SAAqB,CAE/C8L,EAAgBE,EAChB,KACD,CACD,CAGA,IAAKF,GAAiBpI,EAAWjJ,OAAS,EAAG,CAC5C,MAAMwR,EAAYvI,EAAWA,EAAWjJ,OAAS,IAAM,CAAC,GAClD,QAAEmJ,EAAO,OAAEjC,EAAM,cAAE0B,GAAkB4I,IAI1CtK,SAAAA,EAAQ8F,aAAepE,SAAAA,EAAeoE,cAItC2B,EAAiB,CAChB9F,aAAY3H,IAAA,CACXwP,WAAW,GACPvH,EAAU,CAAEA,WAAY,CAAC,IAIjC,GAED,CAACxB,GAAwBoH,EACzB,CAACnH,GAAwBmH,EACzB,CAAC9G,GA1H4BwJ,IAAgB,IAAf,OAAExC,GAAQwC,EACxC,MAAM,OAAEvF,EAAM,QAAE/C,EAAO,cAAEP,GAAkBqG,EAAOG,QAC9CxG,IAAeA,EAActD,MAAMC,QAAU,QAC7C2G,GAAU/C,IAAS+C,EAAO5G,MAAMC,QAAU,QAC9CC,EAAe0G,GRtJShF,KACxB,IAAKA,EAAOkE,oBAAqB,OACjC,MAAMN,EAAW5D,EAAOkE,qBACLxG,EAAqB,iBAAkBsC,IAAW,IAC1DD,QAAS+D,IACnB,MAAM0G,EAAY5G,EAASnI,IAAIqI,EAAEC,cAAgB,CAAC,EAClD9J,OAAOwQ,KAAKD,GAAWzK,QAAS2K,IAE3BA,GAAyB,UAApBA,EAAEC,eAAmC,YAAND,IACvC5G,EAAE4G,GAAKF,EAAUE,QAIpB1K,EAAOkE,yBAAsB5K,GQ0I7BsR,CAAgB5F,KC3JjB,MAAM,EAFEhJ,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,cAAmB,KACvD,MAAMC,EAAY2O,EAAoG9Q,SAAW8Q,EAAoG/Q,WAG9N,OAAIoC,EACH2O,EAA6G,QAAElL,cAIhHkL,EAAoGlL,eAAiBkL,EAA6G,SAAKA,EAA6G,QAAElL,iBCTlW,MAAM,EAFE3D,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,iBAAsB,KAC1D,MAAMC,EAAY4O,EAA6F/Q,SAAW+Q,EAA6FhR,WAGhN,OAAIoC,EACH4O,EAAsG,QAAEC,iBAIzGD,EAA6FC,kBAAoBD,EAAsG,SAAKA,EAAsG,QAAEC,oB,wBCFhV1O,EAAAA,EAAAA,qBVMqC,wBUNM,CAC1C2O,KCPD,CAAgBC,EAAYxH,KAAmB,IAAjB,SAAED,GAAUC,EACzC,MAAM,WAAE1B,GAAekJ,EACvB,IAAIC,EACJ,KAAInJ,EAAWjJ,OAAS,GAKvB,YADAiS,EAAAA,EAAAA,mBAAiB,IAHjBA,EAAAA,EAAAA,mBAAiB,GACjBG,EAAYnJ,EAAWA,EAAWjJ,OAAS,GAK5C,MAAM,OACLkJ,GAAS,EAAK,YACdI,EAAc,GAAE,cAChBC,EAAgB,GAAE,KAClBH,GAAO,EAAK,eACZC,EAAiB,CAAC,GACf+I,GAAa,CAAC,EAEZC,GAAQhJ,aAAc,EAAdA,EAAgBgJ,QAAS/I,EACjCgJ,EAAgB/Q,IAAM,IAAAgR,EAAAC,EAC3B,MAAMpB,GACG,QAARmB,EAAAhR,EAAEkR,cAAM,IAAAF,OAAA,EAARA,EAAU/E,iBAAiB,CAAEkF,SAAS,OAC9B,QADqCF,EAC7CjR,EAAEkR,cAAM,IAAAD,OAAA,EAARA,EAAUG,cAAc,CAAED,SAAS,KACpChI,EAAS1C,EAA0B,CAClCoJ,gBAIF,OAAIhI,GAEFvC,EAAAA,EAAAA,eAAA,qBAAA3F,IAAA,GACKmI,EAAc,CAClBuJ,QAAmB,IAAX1J,EACRmJ,MAAOA,KAEPxL,EAAAA,EAAAA,eAAA,QAAM,gBAAeyL,MAMvBzL,EAAAA,EAAAA,eAAA,YAAA3F,IAAA,CACC,eAAcmR,EACd,iBAAgB9I,EAChBqJ,QAAmB,IAAX1J,EACR,oBACIG,GAEHA,GAAkBA,EAAexJ,aAAUW,GAC3CqG,EAAAA,EAAAA,eAAA,QAAM,gBAAeyL,IAIxB,ED7CAO,OAAM,KACN/B,WAAY,CACXjI,aAAc,CACb5H,QAAS,OAGX6R,aAAc,CACb7J,WAAY,GACZD,QAAS,MAEVgH,eAAcA,IAAAA;AAAA,oBAAAA","file":"externals/sn-canvas-modal-hoist/29.2.17/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","KBS_MODAL_CLOSED","KBS_MODAL_OPENED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","isEmpty","isFunction","deepSearchElement","selector","queue","document","body","top","shift","ele","querySelector","topShadow","shadowRoot","allSearched","querySelectorAll","_allSearched$i","deepSearchAllElement","_allSearched$i2","getFooters","targetRef","nowModalFooter","hoistedEle","modalFooter","hoistElement","sourceRef","nowMode","style","display","unHoistElement","removeAttribute","attachMutationObserver","node","mutationCallback","data","observer","MutationObserver","mutationsList","observe","attributes","childList","subtree","extractModalTitle","hideSourceTitle","titleSource","setAttribute","hoistFooter","hideSource","footerSource","nowModalDialog","createElement","classList","add","appendChild","forEach","source","contains","setTimeout","unHoistFooter","parentNode","removeChild","NOW_UXF_BARE_MODAL_DISMISSED","NOW_MODAL_OPENED_SET","MODAL_SELECTED","MODAL_CLOSED_INTERNAL","MODAL_OPENED_INTERNAL","SCREEN_STATUS_CHANGED","CONTENT_UPDATED","NOW_UXF_BARE_MODAL_RESIZED","MODAL_HOIST_SLOT_CHANGED","MODAL_UNHOIST_INTERNAL","removeSuspendedMode","rootEl","_queue","unsuspend","el","children","_el","mutation","type","addedNodes","hoistedSource","modalContent","state","updateState","elemRef","modalStack","isOpen","modalId","bare","displayOptions","headerLabel","footerActions","size","disableDismiss","resizableConfig","enableResizable","resizableMinHeight","resizableMinWidth","resizableMaxHeight","resizableMaxWidth","disconnect","detachMutationObserver","stopActionPropagation","stopImmediatePropagation","removeSuppressedActions","elm","actionsSuppressed","removeEventListener","handleOpenModal","async","dispatch","_ref","preserveState","allComponents","propsMap","Map","c","componentId","getProperties","set","componentsInitState","saveInitComponentState","toggleAttribute","Promise","resolve","element","mutations","qs","console","error","suppressActions","actionsToSuppress","addEventListener","observedNode","elmRef","tobeHidden","prevModalId","getHoistedSource","modalContentChanged","_ref2","closeAll","count","makePrevModalActive","_nextHoistedSource$sh","_nextHoistedSource$sh2","newModalStack","nextHoistedSource","nextSource","isConnected","pop","nextModalId","nextfooterActions","nextBare","hasAttribute","getAttribute","slottedEle","assignedElements","Array","isArray","_index","findIndex","modalCount","_bare","isClosing","filter","val","index","handleCloseModal","COMPONENT_CONNECTED","COMPONENT_DOM_READY","COMPONENT_PROPERTY_CHANGED","COMPONENT_DISCONNECTED","COMPONENT_TREE_RENDERED","POPSTATE_EVENT","_onPopStateModalAction","updateProperties","hostMap","internalToExternalActionMap","internalToModalObserverActionMap","retargetAndDispatch","_ref6","action","host","stopPropagation","payload","warn","sourceElemRef","parentElement","delete","externalAction","kbsModalAction","modalInstanceId","saveHost","seismicHoistEle","sourceElement","has","actionHandlers","boundPopStateModalHandler","window","_ref8","_ref4","name","_ref3","_ref5","_ref9","seismicHoistElms","showModal","_ref0","preventDefault","_ref1","properties","width","height","find","_ref10","_action$stopPropagati","childNodes","activeModalId","_node$style","nodeId","lastModal","_ref7","initProps","keys","p","toLowerCase","resetComponents","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__","notifyModalState","view","derivedState","modalData","label","onSlotChange","_e$target","_e$target2","target","flatten","assignedNodes","opened","styles","initialState"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/_sn-canvas-modal-hoist.scss","webpack:///../sn-canvas-modal-hoist/src/_sn-canvas-modal-hoist.scss?f26c","webpack:///@babel/runtime/7.28.3/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///sn-canvas-modal-hoist/29.2.17/src/utils/domUtils.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/utils/getFooters.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/utils/hoistUtils.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/utils/attachMutationObserver.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/sn-canvas-modal-hoist.util.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/constants/constants.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/utils/removeSuspendedMode.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/utils/mutationCallback.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/utils/detachMutationObserver.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/utils/suppressActionsUtils.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/utils/modalEventUtils.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/utils/modalContentChanged.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/sn-canvas-modal-hoist.actions.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-canvas-common/29.2.17/index.jsdbx\"","webpack:///sn-canvas-modal-hoist/29.2.17/src/sn-canvas-modal-hoist.js","webpack:///sn-canvas-modal-hoist/29.2.17/src/view.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-modal-hoist{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-modal-hoist.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"KBS_MODAL_CLOSED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'KBS_MODAL_CLOSED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].KBS_MODAL_CLOSED;\n\t\t\t\t\t} else if ('KBS_MODAL_CLOSED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.KBS_MODAL_CLOSED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].KBS_MODAL_CLOSED;\n\t\t\t\t}, [\"KBS_MODAL_OPENED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'KBS_MODAL_OPENED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].KBS_MODAL_OPENED;\n\t\t\t\t\t} else if ('KBS_MODAL_OPENED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.KBS_MODAL_OPENED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].KBS_MODAL_OPENED;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t} });","const deepSearchElement = (selector, root = document.body) => {\n  let queue = [root];\n  while (queue.length > 0) {\n    const top = queue.shift();\n    if(!top) continue;\n    const ele = top.querySelector(selector);\n    if (ele) return ele;\n\n    const topShadow = top.shadowRoot;\n    if (topShadow) queue.push(topShadow);\n    const allSearched = top?.querySelectorAll('*') || [];\n    for (let i = 0; i < allSearched.length; i++) {\n      if (allSearched[i]?.shadowRoot) queue.push(allSearched[i].shadowRoot);\n    }\n  }\n};\n\nconst deepSearchAllElement = (selector, root = document.body) => {\n  let queue = [root];\n  let result = [];\n  while (queue.length > 0) {\n    const top = queue.shift();\n    if(!top) continue;\n    const ele = top.querySelectorAll(selector);\n    if (ele && ele.length > 0) result.push(...ele);\n\n    const topShadow = top.shadowRoot;\n    if (topShadow) queue.push(topShadow);\n    const allSearched = top?.querySelectorAll('*') || [];\n    for (let i = 0; i < allSearched.length; i++) {\n      if (allSearched[i]?.shadowRoot) queue.push(allSearched[i].shadowRoot);\n    }\n  }\n  return result;\n};\n\nexport { deepSearchElement, deepSearchAllElement };","import { deepSearchAllElement, deepSearchElement } from './domUtils';\n\nconst getFooters = (targetRef, selector) => {\n\tlet nowModalFooter = deepSearchElement(\n\t\t'.now-modal-footer',\n\t\ttargetRef\n\t);\n\n\tconst hoistedEle = targetRef.querySelector(selector);\n\tlet modalFooter = deepSearchAllElement(\n\t\t'[slot=\"sn-modal-footer\"]',\n\t\thoistedEle\n\t);\n\treturn { modalFooter, nowModalFooter };\n};\n\nexport { getFooters };","//Hoist Utils\nconst hoistElement = (targetRef, sourceRef) => {\n\tif (!targetRef || !sourceRef) return;\n\n\tif (sourceRef.nowMode === 'suspend') {\n\t\tsourceRef.nowMode = 'active';\n\t\tsourceRef.style.display = 'block';\n\t}\n\n\tsourceRef['nowHoistAppendTo'] = targetRef;\n\tsourceRef['nowHoist'] = true;\n\tsourceRef['isModalContainer'] = true;\n};\n\nconst unHoistElement = sourceRef => {\n\tif (!sourceRef) return;\n\tsourceRef['isModalContainer'] = true;\n\tsourceRef.removeAttribute('now-hoist');\n\tif(sourceRef['nowHoist'])\n\t\tsourceRef['nowHoist'] = undefined;\n\tsourceRef.removeAttribute('now-hoist-append-to');\n\tif(sourceRef['nowHoistAppendTo'])\n\t\tsourceRef['nowHoistAppendTo'] = undefined;\n};\n\nexport {\n\thoistElement,\n\tunHoistElement,\n};","export const attachMutationObserver = (node, mutationCallback, data) => {\n\tconst config = { attributes: false, childList: true, subtree: false };\n\tconst observer = new MutationObserver((mutationsList, observer) =>\n\t\tmutationCallback(mutationsList, observer, data)\n\t);\n\tobserver.observe(node, config);\n\treturn observer;\n};","import { isFunction, isEmpty } from 'lodash';\nimport { deepSearchAllElement, deepSearchElement } from './utils/domUtils';\nimport { getFooters } from './utils/getFooters';\nimport { hoistElement, unHoistElement } from './utils/hoistUtils';\nimport { attachMutationObserver } from './utils/attachMutationObserver';\n\nconst resetComponents = (source) => {\n\tif (!source.componentsInitState) return;\n\tconst propsMap = source.componentsInitState;\n\tconst components = deepSearchAllElement('[component-id]', source) || [];\n\tcomponents.forEach((c) => {\n\t\tconst initProps = propsMap.get(c.componentId) || {};\n\t\tObject.keys(initProps).forEach((p) => {\n\t\t\t// nowMode is a special prop that should not be reset\n\t\t\tif (p && p.toLowerCase() !== 'defer' && p !== 'nowMode') {\n\t\t\t\tc[p] = initProps[p];\n\t\t\t}\n\t\t});\n\t});\n\tsource.componentsInitState = undefined;\n};\n\nconst saveInitComponentState = (source) => {\n\tconst allComponents = deepSearchAllElement('[component-id]', source) || [];\n\tconst propsMap = new Map();\n\tallComponents.forEach((c) => {\n\t\tif (c && c.componentId && isFunction(c.getProperties)) {\n\t\t\tpropsMap.set(c.componentId, { ...c.getProperties() });\n\t\t}\n\t});\n\tsource.componentsInitState = propsMap;\n\treturn source;\n};\n\n/**\n * Retrieves the child `seismic-hoist` element from `sn-canvas-modal-hoist`. If the element is not immediately\n * available, which can happen if the nowPriority for modal content is set to `low`,\n * it sets up a MutationObserver to watch for DOM changes and returns the element when found.\n *\n * @param {HTMLElement} targetRef - The parent element to search within\n * @param {string} selector - CSS selector to find the target element\n * @returns {Promise<HTMLElement|null>} A promise that resolves to:\n *   - The found element if it exists or appears in the DOM\n *   - null if targetRef or selector are invalid, or if the element is never found\n */\nconst getHoistedSource = (targetRef, selector) => {\n\tif (!targetRef || !selector) return Promise.resolve(null);\n\n\treturn new Promise((resolve) => {\n\t\tconst element = targetRef.querySelector(selector);\n\t\tif (element) {\n\t\t\treturn resolve(element);\n\t\t}\n\n\t\t// Create and store new observer\n\t\tattachMutationObserver(\n\t\t\ttargetRef,\n\t\t\t(mutations, observer, { qs }) => {\n\t\t\t\tconst element = targetRef.querySelector(qs); // returns null if not found\n\t\t\t\tobserver.disconnect();\n\t\t\t\tresolve(element);\n\t\t\t},\n\t\t\t{ qs: selector },\n\t\t);\n\t});\n};\n\n//Title & Footer Utils\nconst extractModalTitle = (targetRef, selector, hideSourceTitle = false) => {\n\tconst hoistedEle = targetRef.querySelector(selector);\n\tlet titleSource = deepSearchElement('[slot=\"sn-modal-title\"]', hoistedEle);\n\t// There's some gap from UIB to runtime.\n\t// A modal can be setup as custom modal but\n\t// can be invoked as non-custom modal, this is not expected\n\t// it's a feature leak and is being used by some app BU. This won't happen for OOB modals because oob and custom\n\t// modals are created seperately :-( , TODO: clean this up and have one way for all modals (customs, viewport)\n\t// until that is prevented, we need this extra attr\n\tif (!titleSource)\n\t\ttitleSource = deepSearchElement('[data-is-hidden=\"true\"]', hoistedEle);\n\tif (titleSource) {\n\t\tif (hideSourceTitle) {\n\t\t\ttitleSource.style.display = 'none';\n\t\t\t// This is required now because style on this element is being replaced somewhere ?\n\t\t\t// Until then clearing the slot value so lite dom won't get any shadow dom host as all of them are named slots.\n\t\t\ttitleSource.setAttribute('slot', '');\n\t\t\ttitleSource.setAttribute('data-is-hidden', true);\n\t\t}\n\t\treturn titleSource['label'];\n\t}\n};\n\nconst hoistFooter = (targetRef, selector, hideSource = false) => {\n\tlet { modalFooter: footerSource, nowModalFooter } = getFooters(\n\t\ttargetRef,\n\t\tselector,\n\t);\n\n\tif (!nowModalFooter && !isEmpty(footerSource)) {\n\t\tconst nowModalDialog = deepSearchElement(\n\t\t\t'.now-modal-dialog',\n\t\t\ttargetRef,\n\t\t);\n\n\t\tif (nowModalDialog) {\n\t\t\tnowModalFooter = document.createElement('div');\n\t\t\tnowModalFooter.classList.add('now-modal-footer', '--canvas');\n\t\t\tnowModalDialog.appendChild(nowModalFooter);\n\t\t}\n\t}\n\tif (!isEmpty(footerSource)) {\n\t\tfooterSource.forEach((source) => {\n\t\t\tif (!source.classList.contains('now-modal-footer-button'))\n\t\t\t\tsource.classList.add('now-modal-footer-button');\n\t\t\thoistElement(nowModalFooter, source);\n\t\t});\n\n\t\t// This ensures if on the first pass, we fail to add right footer class to buttons(or seismic-host wrapping the buttons),\n\t\t// those classes are added here.\n\t\tsetTimeout(() => {\n\t\t\tconst hoistedFooterSources = deepSearchAllElement(\n\t\t\t\t'seismic-hoist',\n\t\t\t\tnowModalFooter,\n\t\t\t);\n\t\t\thoistedFooterSources.forEach(\n\t\t\t\t(source) =>\n\t\t\t\t\t!source.classList.contains('now-modal-footer-button') &&\n\t\t\t\t\tsource.classList.add('now-modal-footer-button'),\n\t\t\t);\n\t\t}, 50);\n\n\t\tif (hideSource)\n\t\t\tfooterSource.forEach((source) => (source.style.display = 'none'));\n\t}\n};\n\nconst unHoistFooter = (targetRef, selector) => {\n\tconst { modalFooter: footerSource, nowModalFooter } = getFooters(\n\t\ttargetRef,\n\t\tselector,\n\t);\n\tif (footerSource) {\n\t\tfooterSource.forEach((source) => {\n\t\t\tunHoistElement(source);\n\t\t\tsource.style.display = '';\n\t\t});\n\t}\n\t//remove previously added footer if any\n\tif (\n\t\tnowModalFooter &&\n\t\tnowModalFooter.parentNode &&\n\t\tnowModalFooter.classList.contains('--canvas')\n\t)\n\t\tnowModalFooter.parentNode.removeChild(nowModalFooter);\n};\n\n/**\n * we add open modals to a stack as their opened. it's safe to assume that the last element in the array\n * is the current open modal.  We should return the last element from the array without mutating the modal stack array.\n * @param {Array} modalStackArr - the current modal stack array\n * @returns {{}} Object returns a modal stack object if found\n */\nconst getOpenModalFromStack = (modalStackArr = []) => {\n\tif (!modalStackArr || modalStackArr.length === 0) return {}; //fail fast if there are no elements in the array return empty object\n\treturn modalStackArr[modalStackArr.length - 1];\n};\n\nexport {\n\tgetHoistedSource,\n\textractModalTitle,\n\thoistFooter,\n\tunHoistFooter,\n\tsaveInitComponentState,\n\tresetComponents,\n\tgetOpenModalFromStack,\n};\n","// NOW Actions\nexport const NOW_UXF_BARE_MODAL_DISMISSED = 'NOW_UXF_BARE_MODAL#DISMISSED';\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\n\nexport const MODAL_CLOSED_INTERNAL = 'UXR_INTERNAL#MODAL_CLOSED';\nexport const MODAL_OPENED_INTERNAL = 'UXR_INTERNAL#MODAL_OPENED';\nexport const MODAL_CLOSED = 'CANVAS_MODAL#CLOSED';\nexport const MODAL_OPENED = 'CANVAS_MODAL#OPENED';\n\nexport const SCREEN_STATUS_CHANGED = 'SCREEN_STATUS_CHANGED';\nexport const CONTENT_UPDATED = 'CONTENT_UPDATED';\nexport const NOW_UXF_BARE_MODAL_RESIZED = 'NOW_UXF_BARE_MODAL#RESIZED';\nexport const MODAL_HOIST_SLOT_CHANGED = 'MODAL_HOIST#SLOT_CHANGED';\n\nexport const SN_CANVAS_MODAL_HOIST = 'sn-canvas-modal-hoist';\nexport const MODAL_UNHOIST_INTERNAL = 'MODAL_UNHOIST_INTERNAL';\n","export const removeSuspendedMode = rootEl => {\n\tif (!rootEl) return;\n\tlet _queue = [rootEl];\n\n\tconst unsuspend = el => {\n\t\tel.nowMode = 'active';\n\t\tel.style.display = 'block';\n\t};\n\n\twhile (_queue.length !== 0) {\n\t\tlet el = _queue.shift();\n\t\tif (el.nowMode === 'suspend') {\n\t\t\tunsuspend(el);\n\t\t\tbreak;\n\t\t}\n\t\tif (el.children) {\n\t\t\tfor (let _el of el.children) _queue.push(_el);\n\t\t}\n\t}\n};","import { removeSuspendedMode } from './removeSuspendedMode';\nimport { detachMutationObserver } from './detachMutationObserver';\nimport { extractModalTitle } from '../sn-canvas-modal-hoist.util';\n\nexport const mutationCallback = (mutationsList, observer, data) => {\n\tfor (let mutation of mutationsList) {\n\t\tif (mutation.type === 'childList') {\n\t\t\tconst { addedNodes } = mutation;\n\t\t\tif (addedNodes && addedNodes.length > 0) {\n\t\t\t\tremoveSuspendedMode(addedNodes[0]); // seems fair assumption\n\t\t\t\tconst {\n\t\t\t\t\tsource,\n\t\t\t\t\thoistedSource,\n\t\t\t\t\tmodalContent,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateState,\n\t\t\t\t} = data;\n\t\t\t\tconst { elemRef, modalStack } = state;\n\t\t\t\tlet {\n\t\t\t\t\tisOpen = false,\n\t\t\t\t\tmodalId,\n\t\t\t\t\tbare = false,\n\t\t\t\t\tdisplayOptions = {},\n\t\t\t\t\theaderLabel,\n\t\t\t\t\tfooterActions,\n\t\t\t\t} = modalContent || {};\n\t\t\t\tif (!headerLabel && bare !== true)\n\t\t\t\t\theaderLabel = extractModalTitle(\n\t\t\t\t\t\telemRef,\n\t\t\t\t\t\t`[now-id=\"${modalId}\"]`,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t);\n\t\t\t\t//Doing this to avoid a bad user experience in UIB\n\t\t\t\tlet size = source['size'] || 'md';\n\t\t\t\tlet disableDismiss = source['disableDismiss'] || false;\n\t\t\t\tconst enableResizable = source['enableResizable'] || false;\n\t\t\t\tconst resizableMinHeight = source['resizableMinHeight'];\n\t\t\t\tconst resizableMinWidth = source['resizableMinWidth'];\n\t\t\t\tconst resizableMaxHeight = source['resizableMaxHeight'];\n\t\t\t\tconst resizableMaxWidth = source['resizableMaxWidth'];\n\n\t\t\t\tconst resizableConfig = {\n\t\t\t\t\tenableResizable,\n\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\tresizableMaxWidth,\n\t\t\t\t};\n\n\t\t\t\tdisplayOptions = {\n\t\t\t\t\tsize,\n\t\t\t\t\t[bare ? 'disableDismiss' : 'disableClose']: disableDismiss,\n\t\t\t\t\tresizableConfig,\n\t\t\t\t\t...displayOptions,\n\t\t\t\t};\n\n\t\t\t\tupdateState({\n\t\t\t\t\t...(source && {\n\t\t\t\t\t\tmodalStack: [\n\t\t\t\t\t\t\t...modalStack,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmodalId,\n\t\t\t\t\t\t\t\tisOpen,\n\t\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\t\thoistedSource,\n\t\t\t\t\t\t\t\tdisplayOptions,\n\t\t\t\t\t\t\t\theaderLabel,\n\t\t\t\t\t\t\t\tfooterActions,\n\t\t\t\t\t\t\t\tbare,\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});\n\t\t\t}\n\t\t}\n\t}\n\tdetachMutationObserver(observer);\n};\n","export const detachMutationObserver = observer =>\n\tobserver && observer.disconnect ? observer.disconnect() : null;","const stopActionPropagation = e => e.stopImmediatePropagation();\n\nconst suppressActions = (elm, actionsToSuppress) => {\n\tfor(let i=0; i<actionsToSuppress.length; i++){\n\t\telm.addEventListener(actionsToSuppress[i], stopActionPropagation);\n\t}\n}\n\nconst removeSuppressedActions = (elm, actionsSuppressed) => {\n\tfor(let i=0; i<actionsSuppressed.length; i++){\n\t\telm.removeEventListener(actionsSuppressed[i], stopActionPropagation);\n\t}\n}\n\nexport { stopActionPropagation, suppressActions, removeSuppressedActions };","import {\n\tgetHoistedSource,\n\thoistFooter,\n\tunHoistFooter,\n\tsaveInitComponentState,\n} from '../sn-canvas-modal-hoist.util';\nimport { hoistElement } from './hoistUtils';\nimport {\n\tMODAL_OPENED_INTERNAL,\n\tMODAL_CLOSED_INTERNAL,\n\tSCREEN_STATUS_CHANGED,\n\tCONTENT_UPDATED,\n} from '../constants/constants';\n\nimport { attachMutationObserver } from './attachMutationObserver';\nimport { mutationCallback } from './mutationCallback';\nimport {\n\tsuppressActions,\n\tremoveSuppressedActions,\n} from './suppressActionsUtils';\n\nconst handleOpenModal = async ({\n\tmodalContent,\n\tstate,\n\tupdateState,\n\tdispatch,\n}) => {\n\tconst { elemRef, modalStack } = state;\n\tlet { modalId, source, preserveState = false } = modalContent || {};\n\tif (\n\t\tmodalId &&\n\t\t(modalStack.length == 0 ||\n\t\t\tmodalStack[modalStack.length - 1].modalId != modalId)\n\t) {\n\t\tif (!preserveState) {\n\t\t\tsaveInitComponentState(source);\n\t\t}\n\t\thoistElement(elemRef, source);\n\n\t\tif (source) {\n\t\t\tsource.style.display = 'block';\n\t\t\tsource.toggleAttribute('defer', false);\n\t\t}\n\t\tconst hoistedSource = await getHoistedSource(\n\t\t\telemRef,\n\t\t\t`[now-id=\"${modalId}\"]`,\n\t\t);\n\n\t\tif (!hoistedSource) {\n\t\t\tconsole.error(\n\t\t\t\t`Unable to find hoisted source for modalId: ${modalId}`,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\thoistedSource.style.display = 'block';\n\t\tsuppressActions(hoistedSource, [\n\t\t\tCONTENT_UPDATED,\n\t\t\tSCREEN_STATUS_CHANGED,\n\t\t]);\n\t\tconst observedNode = hoistedSource.shadowRoot\n\t\t\t? hoistedSource.shadowRoot\n\t\t\t: hoistedSource;\n\t\tattachMutationObserver(observedNode, mutationCallback, {\n\t\t\tsource,\n\t\t\thoistedSource,\n\t\t\tmodalContent,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t});\n\t\tdispatch(MODAL_OPENED_INTERNAL, { modalId, elmRef: source });\n\t\tif (modalStack.length > 0) {\n\t\t\t//clean prev modals content from now-modal\n\t\t\tconst tobeHidden = modalStack[modalStack.length - 1];\n\t\t\tconst { modalId: prevModalId, bare = false } = tobeHidden;\n\t\t\tif (bare !== true)\n\t\t\t\tunHoistFooter(elemRef, `[now-id=\"${prevModalId}\"]`);\n\t\t\ttobeHidden.hoistedSource.style.display = 'none';\n\t\t\tdispatch(MODAL_CLOSED_INTERNAL, {\n\t\t\t\tmodalId: prevModalId,\n\t\t\t\telmRef: tobeHidden.source,\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleCloseModal = ({ modalContent, state, updateState, dispatch }) => {\n\tlet { elemRef, modalStack } = state;\n\tconst { closeAll = false, modalId } = modalContent;\n\tconst count = closeAll === true ? modalStack.length : 1;\n\tconst makePrevModalActive = (modalStack) => {\n\t\t/*\n\t\tCheck for stale sources in case of modal viewports that are destructive\n\t\t*/\n\t\tconst newModalStack = [...modalStack];\n\t\twhile (newModalStack.length > 0) {\n\t\t\tconst { hoistedSource: nextHoistedSource, source: nextSource } =\n\t\t\t\tnewModalStack[newModalStack.length - 1];\n\t\t\tif (nextHoistedSource?.isConnected && nextSource?.isConnected)\n\t\t\t\tbreak;\n\t\t\tnewModalStack.pop();\n\t\t}\n\t\tif (newModalStack.length == 0) {\n\t\t\tupdateState({ modalStack: [] });\n\t\t\treturn;\n\t\t}\n\n\t\tconst {\n\t\t\tmodalId: nextModalId,\n\t\t\thoistedSource: nextHoistedSource,\n\t\t\tfooterActions: nextfooterActions,\n\t\t\tsource: nextSource,\n\t\t\tbare: nextBare = false,\n\t\t} = newModalStack[newModalStack.length - 1];\n\n\t\tif (!nextfooterActions && nextBare !== true)\n\t\t\thoistFooter(elemRef, `[now-id=\"${nextModalId}\"]`, false);\n\n\t\tupdateState({ modalStack: [...newModalStack] });\n\n\t\tnextHoistedSource.style.display = 'block';\n\t\tif (\n\t\t\tnextSource.hasAttribute('slot') &&\n\t\t\tnextSource.getAttribute('slot') == 'inactive'\n\t\t)\n\t\t\tnextSource.setAttribute('slot', '');\n\t\tnextSource.nowMode = 'active';\n\n\t\tconst slottedEle =\n\t\t\tnextHoistedSource?.shadowRoot\n\t\t\t\t?.querySelector('slot')\n\t\t\t\t?.assignedElements()?.[0] ?? null;\n\t\tif (!slottedEle) return;\n\t\tslottedEle.nowMode = 'active';\n\n\t\tdispatch(MODAL_OPENED_INTERNAL, {\n\t\t\telmRef: nextSource,\n\t\t\tmodalId: nextModalId,\n\t\t});\n\t};\n\n\tif (modalId) {\n\t\tif (Array.isArray(modalStack) && modalStack.length > 0) {\n\t\t\tconst _index = modalStack.findIndex(\n\t\t\t\t(content) => content.modalId === modalId,\n\t\t\t);\n\t\t\tif (_index === -1) return;\n\t\t\tconst modalCount = modalStack.length;\n\t\t\tconst {\n\t\t\t\tsource,\n\t\t\t\tbare: _bare = false,\n\t\t\t\thoistedSource,\n\t\t\t} = modalStack[_index];\n\n\t\t\tif (source?.isConnected) {\n\t\t\t\tif (_bare !== true)\n\t\t\t\t\tunHoistFooter(elemRef, `[now-id=\"${modalId}\"]`);\n\t\t\t\tdispatch(MODAL_CLOSED_INTERNAL, {\n\t\t\t\t\tmodalId: modalId,\n\t\t\t\t\telmRef: source,\n\t\t\t\t\tisClosing: true,\n\t\t\t\t\thoistedSource: hoistedSource,\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst newModalStack = modalStack.filter(\n\t\t\t\t(val, index) => index !== _index,\n\t\t\t);\n\n\t\t\t//if removed from top\n\t\t\tif (_index === modalCount - 1 && newModalStack.length > 0) {\n\t\t\t\tmakePrevModalActive(newModalStack);\n\t\t\t} else if (newModalStack.length === 0)\n\t\t\t\tupdateState({ modalStack: [] });\n\t\t\telse updateState({ modalStack: newModalStack });\n\t\t\treturn;\n\t\t}\n\t}\n\tlet newModalStack = [...modalStack];\n\tfor (let i = 0; i < count; i++) {\n\t\tconst {\n\t\t\tmodalId,\n\t\t\tsource,\n\t\t\thoistedSource,\n\t\t\tbare: _bare = false,\n\t\t} = Array.isArray(newModalStack) && newModalStack.length > 0\n\t\t\t? newModalStack[modalStack.length - 1]\n\t\t\t: {};\n\t\tif (source?.isConnected && modalId) {\n\t\t\tif (_bare !== true) unHoistFooter(elemRef, `[now-id=\"${modalId}\"]`);\n\t\t\tremoveSuppressedActions(hoistedSource, [\n\t\t\t\tCONTENT_UPDATED,\n\t\t\t\tSCREEN_STATUS_CHANGED,\n\t\t\t]);\n\t\t}\n\t\tnewModalStack.pop();\n\t\tdispatch(MODAL_CLOSED_INTERNAL, {\n\t\t\tmodalId: modalId,\n\t\t\telmRef: source,\n\t\t\tisClosing: true,\n\t\t\thoistedSource: hoistedSource,\n\t\t});\n\t}\n\n\tif (newModalStack.length > 0) {\n\t\tmakePrevModalActive(newModalStack);\n\t} else {\n\t\tupdateState({ modalStack: [] });\n\t}\n};\n\nexport { handleOpenModal, handleCloseModal };\n","import { handleCloseModal, handleOpenModal } from \"./modalEventUtils\";\n\nconst modalContentChanged = ({\n\tmodalContent,\n\tstate,\n\tupdateState,\n\tdispatch\n}) => {\n\tlet { isOpen = false } = modalContent || {};\n\tif (isOpen === true)\n\t\thandleOpenModal({ modalContent, state, updateState, dispatch });\n\telse handleCloseModal({ modalContent, state, updateState, dispatch });\n};\n\nexport { modalContentChanged };","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tKBS_MODAL_CLOSED,\n\tKBS_MODAL_OPENED,\n} from '@servicenow/now-trigger-library';\n\nimport { hoistFooter, resetComponents } from './sn-canvas-modal-hoist.util';\nimport { modalContentChanged } from './utils/modalContentChanged';\n\nimport {\n\tNOW_MODAL_OPENED_SET,\n\tMODAL_SELECTED,\n\tNOW_UXF_BARE_MODAL_DISMISSED,\n\tMODAL_CLOSED,\n\tMODAL_OPENED,\n\tMODAL_OPENED_INTERNAL,\n\tMODAL_CLOSED_INTERNAL,\n\tNOW_UXF_BARE_MODAL_RESIZED,\n\tMODAL_HOIST_SLOT_CHANGED,\n\tMODAL_UNHOIST_INTERNAL,\n} from './constants/constants';\nimport { unHoistElement } from './utils/hoistUtils';\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_TREE_RENDERED,\n} = actionTypes;\n\nconst POPSTATE_EVENT = 'popstate';\n\nexport const _onPopStateModalAction = ({ updateProperties }) =>\n\tupdateProperties({ modalContent: { isOpen: false, closeAll: true } });\n\nconst modalHoisterConnectedEffect = ({ updateProperties, updateState }) => {\n\tconst boundPopStateModalHandler = _onPopStateModalAction.bind(window, {\n\t\tupdateProperties,\n\t});\n\twindow.addEventListener(POPSTATE_EVENT, boundPopStateModalHandler, false);\n\n\t// Store handler references for cleanup\n\tupdateState({ boundPopStateModalHandler });\n};\n\nconst componentTreeRenderedEffect = ({ state }) => {\n\tconst { elemRef, modalStack } = state;\n\tif (modalStack.length > 0) {\n\t\tconst modalContent = modalStack[modalStack.length - 1];\n\t\tconst {\n\t\t\tmodalId,\n\t\t\tisOpen,\n\t\t\tfooterActions,\n\t\t\tbare = false,\n\t\t} = modalContent || {};\n\t\tif (isOpen === true && !footerActions && bare !== true) {\n\t\t\thoistFooter(elemRef, `[now-id=\"${modalId}\"]`, false);\n\t\t}\n\t}\n};\n\nconst componentPropertyChangedEffect = ({\n\taction,\n\tstate,\n\tupdateState,\n\tdispatch,\n}) => {\n\tconst { name, value } = action.payload;\n\n\tswitch (name) {\n\t\tcase 'modalContent':\n\t\t\tmodalContentChanged({\n\t\t\t\tmodalContent: value,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t});\n\t\t\tbreak;\n\t}\n};\n\nconst modalHoisterDisconnectedEffect = ({ updateState, state }) => {\n\tconst { boundPopStateModalHandler } = state;\n\n\tif (boundPopStateModalHandler) {\n\t\twindow.removeEventListener(\n\t\t\tPOPSTATE_EVENT,\n\t\t\tboundPopStateModalHandler,\n\t\t\tfalse,\n\t\t);\n\t}\n\n\tupdateState({\n\t\tboundPopStateModalHandler: null,\n\t\telemRef: null,\n\t\tmodalStack: [],\n\t});\n};\nconst hostMap = new Map();\nconst internalToExternalActionMap = {\n\t[MODAL_OPENED_INTERNAL]: MODAL_OPENED,\n\t[MODAL_CLOSED_INTERNAL]: MODAL_CLOSED,\n};\nconst internalToModalObserverActionMap = {\n\t[MODAL_OPENED_INTERNAL]: KBS_MODAL_OPENED,\n\t[MODAL_CLOSED_INTERNAL]: KBS_MODAL_CLOSED,\n};\n\nconst retargetAndDispatch = ({ action, host, dispatch }) => {\n\taction.stopPropagation && action.stopPropagation();\n\tlet { elmRef, isClosing, modalId, hoistedSource } = action.payload;\n\tif (!elmRef) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t`Error! The action ${action.type} payload is invalid, can't proceed further.`,\n\t\t);\n\t\treturn;\n\t}\n\tconst sourceElemRef = elmRef;\n\t//Viewport modal has dynamic child and way to detect that is presence of slot\n\tif (elmRef.getAttribute && elmRef.getAttribute('slot') !== null) {\n\t\tconst componentId = elmRef.getAttribute('component-id');\n\t\telmRef = elmRef.parentElement;\n\t\tif (!elmRef && componentId) {\n\t\t\t// the dynamic child has been removed so parent is gone. Retrieve it's parent from cache\n\t\t\telmRef = hostMap.get(componentId);\n\t\t\thostMap.delete(componentId);\n\t\t}\n\t}\n\tif (elmRef && elmRef.dispatch) {\n\t\tconst externalAction = internalToExternalActionMap[action.type];\n\t\tconst kbsModalAction = internalToModalObserverActionMap[action.type];\n\n\t\tif (externalAction && kbsModalAction) {\n\t\t\telmRef.dispatch(kbsModalAction, { host, action });\n\n\t\t\telmRef.dispatch(externalAction, {\n\t\t\t\tmodalInstanceId: action.payload && action.payload.modalId,\n\t\t\t});\n\t\t}\n\n\t\t// trigger the unhoist after closing the internal modal\n\t\tif (isClosing) {\n\t\t\tdispatch(MODAL_UNHOIST_INTERNAL, {\n\t\t\t\telmRef: sourceElemRef,\n\t\t\t\tmodalId: modalId,\n\t\t\t\thoistedSource: hoistedSource,\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const modalUnhoistFn = ({ action }) => {\n\tconst { elmRef, modalId, hoistedSource } = action.payload;\n\tif (hoistedSource) hoistedSource.style.display = 'none';\n\tif (elmRef && modalId) elmRef.style.display = 'none';\n\tunHoistElement(elmRef);\n\tresetComponents(elmRef);\n};\n\nconst saveHost = (seismicHoistEle) => {\n\tif (seismicHoistEle && seismicHoistEle.sourceElement) {\n\t\tconst componentId =\n\t\t\tseismicHoistEle.sourceElement.getAttribute('component-id');\n\t\tif (\n\t\t\t!hostMap.has(componentId) &&\n\t\t\tseismicHoistEle.sourceElement.parentElement\n\t\t)\n\t\t\thostMap.set(\n\t\t\t\tcomponentId,\n\t\t\t\tseismicHoistEle.sourceElement.parentElement,\n\t\t\t);\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_CONNECTED]: modalHoisterConnectedEffect,\n\t[COMPONENT_DOM_READY]: ({ host, updateState }) =>\n\t\tupdateState({ elemRef: host }),\n\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedEffect,\n\t[COMPONENT_TREE_RENDERED]: componentTreeRenderedEffect,\n\t[COMPONENT_DISCONNECTED]: modalHoisterDisconnectedEffect,\n\t[NOW_MODAL_OPENED_SET]: ({ action, dispatch, state }) => {\n\t\taction.stopPropagation && action.stopPropagation();\n\t\tconst { elemRef } = state;\n\t\tif (elemRef) {\n\t\t\tconst seismicHoistElms = elemRef.querySelectorAll('seismic-hoist');\n\t\t\tconst seismicHoistEle =\n\t\t\t\tseismicHoistElms[seismicHoistElms.length - 1];\n\t\t\tif (\n\t\t\t\tseismicHoistEle &&\n\t\t\t\tseismicHoistEle.sourceElement &&\n\t\t\t\tseismicHoistEle.sourceElement.dispatch\n\t\t\t) {\n\t\t\t\tseismicHoistEle.sourceElement.dispatch(\n\t\t\t\t\taction.type,\n\t\t\t\t\taction.payload,\n\t\t\t\t);\n\t\t\t}\n\t\t\tsaveHost(seismicHoistEle);\n\t\t}\n\t\tdispatch(MODAL_SELECTED, { showModal: action.payload.value });\n\t},\n\t[NOW_UXF_BARE_MODAL_DISMISSED]: ({ action, dispatch, state }) => {\n\t\tconst { elemRef } = state;\n\t\tif (elemRef) {\n\t\t\tconst seismicHoistElms =\n\t\t\t\telemRef?.querySelectorAll('seismic-hoist') || [];\n\t\t\tconst seismicHoistEle =\n\t\t\t\tseismicHoistElms[seismicHoistElms.length - 1];\n\t\t\t//preserve parent of dynamic content as content is removed later,\n\t\t\t// used when re-targeting the modal_closed action\n\t\t\tsaveHost(seismicHoistEle);\n\t\t}\n\t\tdispatch(MODAL_SELECTED, { showModal: false });\n\t\taction.preventDefault();\n\t},\n\t[NOW_UXF_BARE_MODAL_RESIZED]: ({ action, state }) => {\n\t\tconst {\n\t\t\tproperties: { modalContent },\n\t\t\tmodalStack,\n\t\t} = state;\n\t\tconst { width, height } = action.payload;\n\t\tconst { modalId } = modalContent;\n\n\t\tconst content = modalStack?.find(\n\t\t\t(content) => content.modalId === modalId,\n\t\t);\n\t\tconst { source } = content ?? {};\n\n\t\tif (source) {\n\t\t\tsource.setAttribute('height', height);\n\t\t\tsource.setAttribute('width', width);\n\t\t}\n\t\taction.preventDefault();\n\t},\n\t[MODAL_HOIST_SLOT_CHANGED]: ({ action, state, updateProperties }) => {\n\t\taction?.stopPropagation?.();\n\n\t\tconst { modalStack = [] } = state;\n\t\tconst { childNodes = [] } = action?.payload || {};\n\n\t\tlet activeModalId = null;\n\t\tfor (const node of childNodes) {\n\t\t\tconst nodeId = node?.getAttribute('now-id');\n\t\t\tif (nodeId && node?.style?.display === 'block') {\n\t\t\t\t// Get id of modal, which was opened recently\n\t\t\t\tactiveModalId = nodeId;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// If no active modal is found, update properties\n\t\tif (!activeModalId && modalStack.length > 0) {\n\t\t\tconst lastModal = modalStack[modalStack.length - 1] || {};\n\t\t\tconst { modalId, source, hoistedSource } = lastModal;\n\n\t\t\t// Check if modal elements are truly disconnected before closing\n\t\t\tconst elementsDisconnected = !(\n\t\t\t\tsource?.isConnected || hoistedSource?.isConnected\n\t\t\t);\n\n\t\t\tif (elementsDisconnected) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tmodalContent: {\n\t\t\t\t\t\tshowModal: false,\n\t\t\t\t\t\t...(modalId ? { modalId } : {}),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[MODAL_CLOSED_INTERNAL]: retargetAndDispatch,\n\t[MODAL_OPENED_INTERNAL]: retargetAndDispatch,\n\t[MODAL_UNHOIST_INTERNAL]: modalUnhoistFn,\n};\n\nexport const __export_for_testing__ = {\n\thostMap,\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"notifyModalState\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'notifyModalState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].notifyModalState;\n\t\t\t\t\t} else if ('notifyModalState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.notifyModalState || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].notifyModalState;\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { actionHandlers } from './sn-canvas-modal-hoist.actions';\n\nimport { SN_CANVAS_MODAL_HOIST } from './constants/constants';\n\nimport view from './view';\nimport styles from './_sn-canvas-modal-hoist.scss';\n\ncreateCustomElement(SN_CANVAS_MODAL_HOIST, {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tmodalContent: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tinitialState: {\n\t\tmodalStack: [],\n\t\telemRef: null,\n\t},\n\tactionHandlers,\n});\n","import { MODAL_HOIST_SLOT_CHANGED } from './constants/constants';\nimport { notifyModalState } from 'sn-canvas-common';\n\nexport default (derivedState, { dispatch }) => {\n\tconst { modalStack } = derivedState;\n\tlet modalData;\n\tif (modalStack.length > 0) {\n\t\tnotifyModalState(true);\n\t\tmodalData = modalStack[modalStack.length - 1];\n\t} else {\n\t\tnotifyModalState(false);\n\t\treturn;\n\t}\n\tconst {\n\t\tisOpen = false,\n\t\theaderLabel = '',\n\t\tfooterActions = [],\n\t\tbare = false,\n\t\tdisplayOptions = {},\n\t} = modalData || {};\n\n\tconst label = displayOptions?.label || headerLabel;\n\tconst onSlotChange = (e) => {\n\t\tconst childNodes =\n\t\t\te.target?.assignedElements({ flatten: true }) ||\n\t\t\te.target?.assignedNodes({ flatten: true });\n\t\tdispatch(MODAL_HOIST_SLOT_CHANGED, {\n\t\t\tchildNodes,\n\t\t});\n\t};\n\n\tif (bare) {\n\t\treturn (\n\t\t\t<now-uxf-bare-modal\n\t\t\t\t{...displayOptions}\n\t\t\t\topened={isOpen === true}\n\t\t\t\tlabel={label}\n\t\t\t>\n\t\t\t\t<slot on-slotchange={onSlotChange} />\n\t\t\t<\/now-uxf-bare-modal>\n\t\t);\n\t}\n\n\treturn (\n\t\t<now-modal\n\t\t\theader-label={label}\n\t\t\tfooter-actions={footerActions}\n\t\t\topened={isOpen === true}\n\t\t\tmanage-opened\n\t\t\t{...displayOptions}\n\t\t>\n\t\t\t{displayOptions && displayOptions.content ? undefined : (\n\t\t\t\t<slot on-slotchange={onSlotChange} />\n\t\t\t)}\n\t\t<\/now-modal>\n\t);\n};\n"],"version":3}},{"offset":{"line":31,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/now-pagination/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","ceil","floor","isEqual","isUndefined","range","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","ITEM_CLICKED","PAGE_UPDATE","LIMIT_UPDATE","SET_PAGE","SET_LIMIT","CLICK_LIMIT","OPENED_SET","CLEAR_PAGE_FOCUS","LIMITS","HIDE_RANGE_LOADING_MESSAGE","LIST_COUNT_ERROR_MESSAGE","LIST_COUNT_STATUS","freeze","FETCHING","SUCCESS","ERROR","_generatePageRange","start","end","_getMaxPageCount","recordCount","limit","initialState","maxPages","limitOverride","page","visibleCount","listCountStatus","rangeLabel","realLimit","maxPage","safePage","Math","min","rangeStart","_getRangeStart","rangeEnd","_getRangeEnd","previousDisabled","nextDisabled","pageItems","maxPageCount","lessPagesThanPageLimit","half","upperHalf","firstGroupOfPages","lastGroupOfPages","middleGroupOfPages","_generatePageItems","hiddenCount","_getHiddenCount","numberFormat","count","toLocaleString","renderErrorIcon","_ref","state","updateState","targetRef","setTargetRef","ref","setTimeout","className","_ref2","elm","hook-destroy","size","renderLoadingIcon","icon","spin","renderLoadingOrErrorState","_ref3","hideRange","modifiedRangeLabel","getPage","isSelected","onClick","pageToFocus","onPageFocus","isAllButOne","isActive","ariaLabel","hook-update","_old","vnode","focus","getClass","on-click","on-focus","href","role","getIsDisabledClass","isDisabled","renderer","type","snabbdom","view","dispatch","properties","hidePages","hideFirstPage","hidePreviousPage","hideNextPage","hideLastPage","paginationModel","focusThisPage","disabled","model","first","previous","next","last","getDisabledValues","firstPageClassNames","previousPageClassNames","nextPageClassNames","lastPageClassNames","pageIncrementValue","onChange","pagesProps","variant","bare","tooltipContent","configAria","props","renderPages","styles","getLimitChoices","hasLimit","parseInt","filter","nowChoices","limitAriaLabel","rowLabel","items","select","transformState","label","choice","behaviors","truncationBehavior","tooltipBehavior","COMPONENT_PROPERTY_CHANGED","PAGINATION_LABEL","getPaginationModel","getModel","NOW_PAGINATION","hideRowCount","hideLimitSelector","limitLabel","controlProps","hasHiddenRecords","singularHiddenMessage","pluralHiddenMessage","hiddenMessage","defaultContainerClass","lastContainerClass","renderRange","noCountMessage","includes","hasRecords","recordsMessage","noRangeMessage","message","renderPagination","setInitialState","shouldRenderWhenSet","actionHandlers","effect","coeffects","action","name","previousValue","payload","private","meta","updateProperties","path","operation","stopPropagation","dispatches","onConnect","host","window","listComponentRegistry","WeakMap","set","packageJson","onDisconnect","delete","__TECTONIC__$servicenow_now_pagination"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-pagination/src/_nowPagination.scss","webpack:///./src/_nowPagination.scss?8f60","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/27.0.26/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/27.0.26/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@servicenow/now-pagination/src/constants.js","webpack:///@servicenow/now-pagination/src/model.js","webpack:///@servicenow/now-pagination/src/subcomponents/range.js","webpack:///@servicenow/now-pagination/src/subcomponents/pages.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///@servicenow/now-pagination/src/subcomponents/controls.js","webpack:///external module \"/uxasset/externals/@servicenow/now-dropdown/index.jsdbx\"","webpack:///@servicenow/now-pagination/src/subcomponents/limitSelector.js","webpack:///@servicenow/now-pagination/src/nowPagination.js","webpack:///@servicenow/now-pagination/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-pagination{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex:0 0 auto;flex-direction:column;font-size:1rem;padding:.25rem 1.5rem;position:relative;width:100%}@media(max-width:350px){.sn-pagination{padding:4px 0}}.sn-pagination-container{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;min-height:2.5rem;padding:0 1.5rem;position:relative;width:100%}@media(max-width:800px){.sn-pagination-container{padding:0 0}}.sn-pagination-container.-security{justify-content:center}.sn-pagination-content{align-items:center;display:inline-flex;flex-grow:1;justify-content:center;padding:4px 0}.sn-pagination-content:first-of-type{flex:0 1 auto;justify-content:center}:host(:not([dir=rtl])) .sn-pagination-content:first-of-type,:root:not([dir=rtl]) .sn-pagination-content:first-of-type{margin-right:.5rem}:host([dir=rtl]) .sn-pagination-content:first-of-type,:root[dir=rtl] .sn-pagination-content:first-of-type{margin-left:.5rem}.sn-pagination-content:first-of-type span{display:inline-flex}.sn-pagination-content:first-of-type span div{margin-bottom:.125rem;margin-left:.5rem}.sn-pagination-content:last-of-type{flex:0 1 auto;justify-content:center}:host(:not([dir=rtl])) .sn-pagination-content:last-of-type,:root:not([dir=rtl]) .sn-pagination-content:last-of-type{margin-left:.5rem}:host([dir=rtl]) .sn-pagination-content:last-of-type,:root[dir=rtl] .sn-pagination-content:last-of-type{margin-right:.5rem}.sn-pagination-content>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-pagination-content>span:after{content:\\\"\\\";display:block}.sn-pagination-content>span now-icon.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}:host(:not([dir=rtl])) .sn-pagination-content>span now-icon.error,:root:not([dir=rtl]) .sn-pagination-content>span now-icon.error{margin-right:.5rem}:host([dir=rtl]) .sn-pagination-content>span now-icon.error,:root[dir=rtl] .sn-pagination-content>span now-icon.error{margin-left:.5rem}@media(max-width:800px){.sn-pagination-content>span{white-space:normal}}.sn-pagination sn-pagination-controls{align-items:flex-start;display:flex;justify-content:center}.sn-pagination-pages{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}@media(max-width:260px){.sn-pagination-pages{justify-content:center}}.sn-pagination-pages .sn-pagination-btn{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));padding:0 .5rem;width:auto}@media(forced-colors:active){.sn-pagination-pages .sn-pagination-btn{color:buttonText}}.sn-pagination-control{align-items:center;display:inline-flex}.sn-pagination-control sn-choice{min-width:5.625rem}.sn-pagination-control-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(:not([dir=rtl])) .sn-pagination-control-label,:root:not([dir=rtl]) .sn-pagination-control-label{margin-left:.25rem}:host([dir=rtl]) .sn-pagination-control-label,:root[dir=rtl] .sn-pagination-control-label{margin-right:.25rem}.sn-pagination-control-label:after{content:\\\"\\\";display:block}.sn-pagination-btn{align-items:center;background:transparent;border:none;border-radius:.25rem;cursor:pointer;display:flex;flex:0 0 auto;font-size:1rem;inline-size:inherit;height:2rem;justify-content:center;margin:0 .125rem;min-width:2rem;text-decoration:none;vertical-align:middle;width:2rem}.sn-pagination-btn:active{color:currentcolor}.sn-pagination-btn:hover{background:RGBA(var(--now-color--secondary-2,1,89,107),var(--now-opacity--least,.1));color:RGBA(var(--now-color--secondary-2,1,89,107))}.sn-pagination-btn:focus{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));outline:none}.sn-pagination-btn:focus::-moz-focus-inner{border-style:none}.sn-pagination-btn:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-pagination-btn:focus:focus{outline:1px solid highlight}}.sn-pagination-btn:active{background:RGBA(var(--now-color--secondary-2,1,89,107),var(--now-opacity--less,.25));color:RGB(var(--now-color--secondary-3,1,60,71))}.sn-pagination-btn.is-disabled,.sn-pagination-btn.is-disabled:hover{background:transparent;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:default;opacity:var(--now-opacity--mid,.5)}.sn-pagination-btn[hidden]{display:none}.sn-pagination-btn.is-selected{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border:.125rem solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));font-weight:700}.sn-pagination-btn.is-selected:hover{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-pagination-btn.is-selected.is-disabled,.sn-pagination-btn.is-selected.is-disabled:hover{color:RGB(var(--now-color--primary-1,30,133,109))}@media(max-width:800px){.sn-pagination-btn.is-selected{display:inherit}}@media(forced-colors:active){.sn-pagination-btn{border-style:solid;border-width:1px;outline-offset:0}.sn-pagination-btn:focus,.sn-pagination-btn:hover{background-color:highlighttext;border-color:highlight;color:highlight}.sn-pagination-btn:focus{outline:1px solid highlight}.sn-pagination-btn.is-selected{background-color:selecteditem;color:selecteditemtext;forced-color-adjust:none}.sn-pagination-btn.is-selected:hover{color:selecteditemtext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_nowPagination.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_27_0_26_index_jsdbx_11e48ed9__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_27_0_26_index_jsdbx_63f2a69c__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"ceil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'ceil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].ceil;\n\t\t\t\t\t} else if ('ceil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.ceil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].ceil;\n\t\t\t\t}, [\"floor\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'floor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].floor;\n\t\t\t\t\t} else if ('floor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.floor || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].floor;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isUndefined\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t\t} else if ('isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isUndefined || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t}, [\"range\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t\t} else if ('range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.range || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {t} from 'sn-translate';\n\nexport const ITEM_CLICKED = 'NOW_DROPDOWN_LIST#ITEM_CLICKED';\nexport const PAGE_UPDATE = 'NOW_PAGINATION#PAGE_UPDATE';\nexport const LIMIT_UPDATE = 'NOW_PAGINATION#LIMIT_UPDATE';\n\nexport const PROPERTIES_SET = 'PROPERTIES_SET';\n\nexport const SET_PAGE = 'NOW_PAGINATION#SET_PAGE_CLICKED';\nexport const SET_LIMIT = 'NOW_DROPDOWN#SELECTED_ITEMS_SET';\nexport const CLICK_LIMIT = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const OPENED_SET = 'NOW_DROPDOWN#OPENED_SET';\n\nexport const CLEAR_PAGE_FOCUS = 'CLEAR_PAGE_FOCUS';\n\nexport const LIMITS = [10, 20, 50, 100];\n\nexport const VISIBLE_COUNT = 'visibleCount';\nexport const MAX_PAGES = 'maxPages';\nexport const RECORD_COUNT = 'recordCount';\n\nexport const TOGGLE_PAGINATION = 'TOGGLE_PAGINATION';\n\nexport const HIDE_RANGE = 'hideRange';\nexport const HIDE_ROW_COUNT = 'hideRowCount';\nexport const HIDE_FIRST_PAGE = 'hideFirstPage';\nexport const HIDE_PREV_PAGE = 'hidePreviousPage';\nexport const HIDE_NEXT_PAGE = 'hideNextPage';\nexport const HIDE_LAST_PAGE = 'hideLastPage';\nexport const HIDE_LIMIT = 'hideLimitSelector';\nexport const HIDE_PAGES = 'hidePages';\nexport const HIDE_RANGE_LOADING_MESSAGE = t('records');\n\nexport const LIST_COUNT_ERROR_MESSAGE = t(\n\t'Unable to load record count. Try refreshing the page.'\n);\n\nexport const LIST_COUNT_STATUS = Object.freeze({\n\tFETCHING: 'fetching',\n\tSUCCESS: 'success',\n\tERROR: 'error'\n});\n","import ceil from 'lodash/ceil';\nimport floor from 'lodash/floor';\nimport isUndefined from 'lodash/isUndefined';\nimport range from 'lodash/range';\n\n/**\n * Length of pages to display\n * @type {Number}\n */\nconst PAGE_LIMIT = 10;\n\n/**\n * Business logic to calculate a page range based on current page\n * @param       {Number} recordCount collection of records count\n * @param       {Number} limit       page size\n * @param       {[type]} page        current page\n * @param       {Number} limit       page size\n * @constructor\n * @return      {Array}           numbered array\n */\nexport const _generatePageItems = (\n\trecordCount,\n\tlimit,\n\tpage,\n\tmaxPages = PAGE_LIMIT\n) => {\n\tconst maxPageCount = _getMaxPageCount(recordCount, limit);\n\tconst lessPagesThanPageLimit = maxPageCount <= maxPages;\n\n\tconst half = floor(maxPages / 2);\n\tconst upperHalf = maxPages % 2 === 0 ? half - 1 : half;\n\n\tconst firstGroupOfPages = page < half + 1;\n\tconst lastGroupOfPages = page + upperHalf - 1 >= maxPageCount;\n\tconst middleGroupOfPages =\n\t\t!lessPagesThanPageLimit && !firstGroupOfPages && !lastGroupOfPages;\n\n\tif (lessPagesThanPageLimit) {\n\t\treturn _generatePageRange(1, maxPageCount);\n\t} else if (firstGroupOfPages) {\n\t\treturn _generatePageRange(1, maxPages);\n\t} else if (lastGroupOfPages) {\n\t\treturn _generatePageRange(maxPageCount - maxPages + 1, maxPageCount);\n\t} else if (middleGroupOfPages) {\n\t\treturn _generatePageRange(page - half, page + upperHalf);\n\t}\n};\n\n/**\n * Return a numbered array given a start and end\n *\n * 1, 10 -> [1,2,3,4,5,6,7,8,9,10]\n *\n * @param       {Number} startPage beginning of range\n * @param       {Number} endPage   end of range\n * @constructor\n * @return      {Array}           numbered array\n */\nexport const _generatePageRange = (start, end) => {\n\tif (typeof start === 'undefined' || typeof end === 'undefined') return;\n\n\treturn range(start, end + 1);\n};\n\n/**\n * Get maximum page count for given record set\n * @param       {Number} recordCount\n * @param       {Number} limit\n * @constructor\n * @return      {Number}\n */\nexport const _getMaxPageCount = (recordCount, limit) =>\n\tceil(recordCount / limit);\n\n/**\n * Get first item's index in given page's collection of records\n * @param       {Number} limit\n * @param       {Number} page\n * @constructor\n * @return      {Number}\n */\nexport const _getRangeStart = (limit, page) => limit * (page - 1) + 1;\n\n/**\n * Get last item's index in given page's collection of records,\n * @param       {Number} recordCount collection of record's length\n * @param       {Number} limit\n * @param       {Number} page\n * @constructor\n * @return      {Number}\n */\nexport const _getRangeEnd = (recordCount, limit, page) => {\n\tconst rangeEnd = limit * page;\n\tif (rangeEnd > recordCount) {\n\t\treturn recordCount;\n\t} else {\n\t\treturn rangeEnd;\n\t}\n};\n\n/**\n * Page model entry point, given a record count, limit, and current page, return model of appropriate paginations tate\n * @param  {Number} recordCount collection of record count\n * @param  {Number} limit       size of each page\n * @param  {Number} page        current page\n * @return {Object}             page model with current pagination state\n */\nexport default (initialState, maxPages) => {\n\tconst {\n\t\trecordCount,\n\t\tlimit,\n\t\tlimitOverride,\n\t\tpage,\n\t\tvisibleCount,\n\t\tlistCountStatus,\n\t\trangeLabel\n\t} = initialState;\n\tconst realLimit = isUndefined(limitOverride) ? limit : limitOverride;\n\tconst maxPage = _getMaxPageCount(recordCount, realLimit);\n\tconst safePage = Math.min(page, maxPage);\n\tconst rangeStart = _getRangeStart(realLimit, safePage);\n\tconst rangeEnd = _getRangeEnd(recordCount, realLimit, safePage);\n\tconst previousDisabled = safePage <= 1;\n\tconst nextDisabled = safePage >= maxPage;\n\tconst pageItems = _generatePageItems(\n\t\trecordCount,\n\t\trealLimit,\n\t\tsafePage,\n\t\tmaxPages\n\t);\n\tconst hiddenCount = _getHiddenCount(\n\t\trecordCount,\n\t\trangeStart,\n\t\trangeEnd,\n\t\tvisibleCount\n\t);\n\treturn {\n\t\trecordCount,\n\t\tlimit,\n\t\tpage: safePage,\n\t\tmaxPage,\n\t\trangeStart,\n\t\trangeEnd,\n\t\tpreviousDisabled,\n\t\tnextDisabled,\n\t\tpageItems,\n\t\thiddenCount,\n\t\tlistCountStatus,\n\t\trangeLabel\n\t};\n};\n\nexport const _getHiddenCount = (\n\trecordCount,\n\trangeStart,\n\trangeEnd,\n\tvisibleCount\n) => {\n\tif (\n\t\trecordCount === 0 ||\n\t\tvisibleCount === null ||\n\t\ttypeof visibleCount === 'undefined'\n\t)\n\t\treturn 0;\n\n\tconst adjustedRecordCount = rangeEnd - (rangeStart - 1);\n\treturn adjustedRecordCount - visibleCount;\n};\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\n\nimport {\n\tLIST_COUNT_STATUS,\n\tHIDE_RANGE_LOADING_MESSAGE,\n\tLIST_COUNT_ERROR_MESSAGE\n} from '../constants';\n\nconst numberFormat = count => {\n\treturn count?.toLocaleString();\n};\nexport const renderRange = (props, state, updateState) => {\n\tconst {\n\t\trecordCount,\n\t\trangeStart,\n\t\trangeEnd,\n\t\thideRange,\n\t\thideRowCount,\n\t\trangeLabel,\n\t\tlistCountStatus\n\t} = props;\n\tif (hideRange && hideRowCount) return null;\n\n\tconst noCountMessage = t(\n\t\t'Showing {0}-{1}',\n\t\tnumberFormat(rangeStart),\n\t\tnumberFormat(rangeEnd)\n\t);\n\tif (\n\t\t[LIST_COUNT_STATUS.ERROR, LIST_COUNT_STATUS.FETCHING].includes(\n\t\t\tlistCountStatus\n\t\t) &&\n\t\t!hideRowCount\n\t) {\n\t\treturn renderLoadingOrErrorState({\n\t\t\thideRange,\n\t\t\tlistCountStatus,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\trangeLabel: rangeLabel ? rangeLabel : noCountMessage\n\t\t});\n\t}\n\n\tconst hasRecords = recordCount !== 0;\n\tconst recordsMessage = t(\n\t\t'Showing {0}-{1} of {2}',\n\t\tnumberFormat(rangeStart),\n\t\tnumberFormat(rangeEnd),\n\t\tnumberFormat(recordCount)\n\t);\n\tconst noRangeMessage = t('{0} records', recordCount);\n\n\tlet message = hasRecords ? recordsMessage : noRangeMessage;\n\n\tif (hideRowCount && !hasRecords) return null;\n\telse if (hideRowCount) message = noCountMessage;\n\n\tif (hideRange) message = noRangeMessage;\n\n\treturn <span data-truncation>{rangeLabel ? rangeLabel : message}<\/span>;\n};\n\nconst renderErrorIcon = ({state, updateState}) => {\n\tconst {targetRef} = state;\n\tconst setTargetRef = ref => setTimeout(() => updateState({targetRef: ref}));\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-icon\n\t\t\t\tclassName=\"error\"\n\t\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\ttarget-ref={targetRef}\n\t\t\t\ticon-=\"circle-exclamation-outline\"\n\t\t\t\tsize=\"md\"\n\t\t\t/>\n\t\t\t<now-tooltip target-ref={targetRef} content={LIST_COUNT_ERROR_MESSAGE} />\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderLoadingIcon = () => <now-icon icon=\"loader-fill\" size=\"md\" spin />;\n\nconst renderLoadingOrErrorState = ({\n\thideRange,\n\tlistCountStatus,\n\tstate,\n\tupdateState,\n\trangeLabel\n}) => {\n\tconst modifiedRangeLabel = t('{0} of', rangeLabel);\n\n\tif (hideRange) {\n\t\treturn (\n\t\t\t<span>\n\t\t\t\t<div>\n\t\t\t\t\t{LIST_COUNT_STATUS.ERROR === listCountStatus\n\t\t\t\t\t\t? renderErrorIcon({state, updateState})\n\t\t\t\t\t\t: renderLoadingIcon()}\n\t\t\t\t<\/div>\n\t\t\t\t{HIDE_RANGE_LOADING_MESSAGE}\n\t\t\t<\/span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<span data-truncation>\n\t\t\t{modifiedRangeLabel}\n\t\t\t<div>\n\t\t\t\t{LIST_COUNT_STATUS.FETCHING === listCountStatus\n\t\t\t\t\t? renderLoadingIcon()\n\t\t\t\t\t: renderErrorIcon({state, updateState})}\n\t\t\t<\/div>\n\t\t<\/span>\n\t);\n};\n","import {t} from 'sn-translate';\n\nexport const renderPages = props => {\n\tconst {pageItems} = props;\n\treturn (\n\t\t<div className=\"sn-pagination-pages\">\n\t\t\t{pageItems.map(page => getPage(page, props))}\n\t\t<\/div>\n\t);\n};\n\nconst getPage = (\n\tpage,\n\t{isSelected, onClick, pageToFocus, onPageFocus},\n\tisAllButOne = false\n) => {\n\tconst isActive = isSelected(page);\n\tconst ariaLabel = t('{0} - Page {0}', page);\n\treturn (\n\t\t<a\n\t\t\thook-update={(_old, vnode) => {\n\t\t\t\tif (page === pageToFocus) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tvnode.elm.focus();\n\t\t\t\t\t}, 10);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tkey={page.toString()}\n\t\t\tclassName={`sn-pagination-btn ${getClass(isActive, isAllButOne)}`}\n\t\t\ton-click={() => onClick(page, true)}\n\t\t\ton-focus={() => onPageFocus()}\n\t\t\thref=\"javascript:void(0)\"\n\t\t\taria-current={`${isActive}`}\n\t\t\trole={'button'}\n\t\t\taria-label={ariaLabel}>\n\t\t\t{page}\n\t\t<\/a>\n\t);\n};\n\nconst getClass = (isActive, isAllButOne) =>\n\tisAllButOne ? 'is-disabled' : isActive ? 'is-selected' : '';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom, {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\n\nimport styles from '../_nowPagination.scss';\nimport {SET_PAGE} from '../constants';\n\nimport {renderPages} from './pages';\nimport '@servicenow/now-button';\n\nconst getIsDisabledClass = isDisabled => (isDisabled ? 'is-disabled' : '');\n\nconst getDisabledValues = model => ({\n\tfirst: model.previousDisabled,\n\tprevious: model.previousDisabled,\n\tnext: model.nextDisabled,\n\tlast: model.nextDisabled\n});\n\nconst view = (state, dispatch) => {\n\tconst {\n\t\tproperties: {\n\t\t\thidePages,\n\t\t\thideFirstPage,\n\t\t\thidePreviousPage,\n\t\t\thideNextPage,\n\t\t\thideLastPage,\n\t\t\tpaginationModel,\n\t\t\tisSelected,\n\t\t\tfocusThisPage: pageToFocus\n\t\t}\n\t} = state;\n\n\tconst {page, maxPage, pageItems} = paginationModel;\n\n\tconst disabled = getDisabledValues(paginationModel);\n\tconst firstPageClassNames = `sn-pagination-btn ${getIsDisabledClass(\n\t\tdisabled.first\n\t)}`;\n\tconst previousPageClassNames = `sn-pagination-btn ${getIsDisabledClass(\n\t\tdisabled.previous\n\t)}`;\n\tconst nextPageClassNames = `sn-pagination-btn ${getIsDisabledClass(\n\t\tdisabled.next\n\t)}`;\n\tconst lastPageClassNames = `sn-pagination-btn ${getIsDisabledClass(\n\t\tdisabled.last\n\t)}`;\n\tconst pageIncrementValue = page + 1 <= maxPage ? page + 1 : maxPage;\n\n\tconst onChange = (page, focusThisPage = false) =>\n\t\tdispatch(SET_PAGE, {page, focusThisPage}, {paginationModel});\n\tconst onPageFocus = () => dispatch('CLEAR_PAGE_FOCUS');\n\tconst pagesProps = {\n\t\tisSelected,\n\t\tpageItems,\n\t\tpageToFocus,\n\t\tonClick: onChange,\n\t\tonPageFocus\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{!hideFirstPage ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\tclassName={firstPageClassNames}\n\t\t\t\t\tdata-title={t('First Page')}\n\t\t\t\t\ttooltipContent={t('First Page')}\n\t\t\t\t\tdisabled={disabled.first}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('First Page'),\n\t\t\t\t\t\t'aria-disabled': `${disabled.first}`\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={() => onChange(1)}\n\t\t\t\t\ticon=\"arrow-start-most-outline\"><\/now-button-iconic>\n\t\t\t) : null}\n\t\t\t{!hidePreviousPage ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\tclassName={previousPageClassNames}\n\t\t\t\t\tdata-title={t('Previous Page')}\n\t\t\t\t\ttooltipContent={t('Previous Page')}\n\t\t\t\t\tdisabled={disabled.previous}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('Previous Page'),\n\t\t\t\t\t\t'aria-disabled': `${disabled.previous}`\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={() => onChange(page - 1)}\n\t\t\t\t\ticon=\"arrow-start-outline\"><\/now-button-iconic>\n\t\t\t) : null}\n\t\t\t{!hidePages ? renderPages(pagesProps) : null}\n\t\t\t{!hideNextPage ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\tclassName={nextPageClassNames}\n\t\t\t\t\tdata-title={t('Next Page')}\n\t\t\t\t\ttooltipContent={t('Next Page')}\n\t\t\t\t\tdisabled={disabled.next}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('Next Page'),\n\t\t\t\t\t\t'aria-disabled': `${disabled.next}`\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={() => onChange(pageIncrementValue)}\n\t\t\t\t\ticon=\"arrow-end-outline\"><\/now-button-iconic>\n\t\t\t) : null}\n\t\t\t{!hideLastPage ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\tclassName={lastPageClassNames}\n\t\t\t\t\tdata-title={t('Last Page')}\n\t\t\t\t\ttooltipContent={t('Last Page')}\n\t\t\t\t\tdisabled={disabled.last}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('Last Page'),\n\t\t\t\t\t\t'aria-disabled': `${disabled.last}`\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={() => onChange(maxPage)}\n\t\t\t\t\ticon=\"arrow-end-most-outline\"><\/now-button-iconic>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\ncreateCustomElement('sn-pagination-controls', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\thidePages: {\n\t\t\tdefault: false\n\t\t},\n\t\thideFirstPage: {\n\t\t\tdefault: false\n\t\t},\n\t\thidePreviousPage: {\n\t\t\tdefault: false\n\t\t},\n\t\thideNextPage: {\n\t\t\tdefault: false\n\t\t},\n\t\thideLastPage: {\n\t\t\tdefault: false\n\t\t},\n\t\tpaginationModel: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisSelected: {\n\t\t\tdefault: false\n\t\t},\n\t\tfocusThisPage: {\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tstyles\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\n\nimport styles from '../_nowPagination.scss';\nimport {LIMITS} from '../constants';\n\nimport '@servicenow/now-dropdown';\n\nconst hasLimit = value => {\n\tvalue = parseInt(value, 10);\n\treturn LIMITS.filter(limit => value === limit).length !== 0;\n};\n\nconst getLimitChoices = limit =>\n\thasLimit(limit) ? LIMITS : LIMITS.concat([limit]);\n\nconst view = state => {\n\tconst {\n\t\tproperties: {limit},\n\t\tnowChoices,\n\t\tlimitAriaLabel,\n\t\trowLabel\n\t} = state;\n\n\treturn (\n\t\t<div className=\"sn-pagination-control\">\n\t\t\t<now-dropdown\n\t\t\t\tconfig-aria={{'aria-label': limitAriaLabel}}\n\t\t\t\tpanel-fit-props={['top-start bottom-start']}\n\t\t\t\titems={nowChoices}\n\t\t\t\tselect=\"single\"\n\t\t\t\tselected-items={[limit.toString()]}\n\t\t\t\tshow-padding\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tmanage-selected-items\n\t\t\t\tbare\n\t\t\t/>\n\t\t\t<span\n\t\t\t\tdata-truncation\n\t\t\t\tclassName=\"sn-pagination-control-label\"\n\t\t\t\taria-label={rowLabel}>\n\t\t\t\t{rowLabel}\n\t\t\t<\/span>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-pagination-limit-selector', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t\ttransformState(state) {\n\t\t\tconst {\n\t\t\t\tproperties: {limit, label}\n\t\t\t} = state;\n\t\t\tconst choices = getLimitChoices(limit);\n\t\t\tconst nowChoices = choices.map(choice => ({\n\t\t\t\tid: choice.toString(),\n\t\t\t\tlabel: choice.toString()\n\t\t\t}));\n\t\t\tconst limitAriaLabel = t(`{0} ${label}`, limit);\n\t\t\tconst rowLabel = t(`${label}`);\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tnowChoices,\n\t\t\t\tlimitAriaLabel,\n\t\t\t\trowLabel\n\t\t\t};\n\t\t}\n\t},\n\tproperties: {\n\t\tlimit: {\n\t\t\tdefault: 20\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: 'rows per page'\n\t\t},\n\t\tselect: {}\n\t},\n\tbehaviors: [truncationBehavior, tooltipBehavior],\n\tstyles\n});\n","import tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport {actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {t} from 'sn-translate';\n\nimport packageJson from '../package.json';\n\nimport styles from './_nowPagination.scss';\nimport {\n\tITEM_CLICKED,\n\tPAGE_UPDATE,\n\tSET_PAGE,\n\tSET_LIMIT,\n\tLIMIT_UPDATE,\n\tCLICK_LIMIT,\n\tOPENED_SET,\n\tLIST_COUNT_STATUS,\n\tCLEAR_PAGE_FOCUS\n} from './constants';\nimport {default as getModel} from './model';\nimport {renderRange} from './subcomponents/range';\nimport './subcomponents/controls';\nimport './subcomponents/limitSelector';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst PAGINATION_LABEL = t('Pagination');\n\nconst renderPagination = (\n\tcontrolProps,\n\tisSelected = page =>\n\t\tisEqual(page, get(controlProps, 'paginationModel.page', 1))\n) => {\n\treturn <sn-pagination-controls {...controlProps} isSelected={isSelected} />;\n};\n\nconst view = (state, {updateState}) => {\n\tconst {\n\t\tpaginationModel,\n\t\tproperties: {\n\t\t\thideRange,\n\t\t\thideRowCount,\n\t\t\thideFirstPage,\n\t\t\thidePreviousPage,\n\t\t\thidePages,\n\t\t\thideNextPage,\n\t\t\thideLastPage,\n\t\t\thideLimitSelector,\n\t\t\tlimitLabel,\n\t\t\tfocusThisPage\n\t\t}\n\t} = state;\n\n\tconst {\n\t\thiddenCount,\n\t\trecordCount,\n\t\trangeStart,\n\t\trangeEnd,\n\t\tlimit,\n\t\tlistCountStatus,\n\t\trangeLabel\n\t} = paginationModel;\n\n\tconst controlProps = {\n\t\thidePages,\n\t\thideFirstPage,\n\t\thidePreviousPage,\n\t\thideNextPage,\n\t\thideLastPage,\n\t\tpaginationModel,\n\t\tfocusThisPage\n\t};\n\tconst hasHiddenRecords = hiddenCount > 0;\n\tconst singularHiddenMessage = t(\n\t\t'{0} row removed from this list by security constraints.',\n\t\thiddenCount\n\t);\n\tconst pluralHiddenMessage = t(\n\t\t'{0} rows removed from this list by security constraints.',\n\t\thiddenCount\n\t);\n\tconst hiddenMessage =\n\t\thiddenCount === 1 ? singularHiddenMessage : pluralHiddenMessage;\n\n\tconst defaultContainerClass = 'sn-pagination-content';\n\tconst lastContainerClass = !hideLimitSelector\n\t\t? `${defaultContainerClass} has-controls`\n\t\t: defaultContainerClass;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"sn-pagination\"\n\t\t\trole=\"navigation\"\n\t\t\taria-label={PAGINATION_LABEL}>\n\t\t\t{hasHiddenRecords ? (\n\t\t\t\t<div className=\"sn-pagination-container -security\">\n\t\t\t\t\t<span data-truncation role=\"status\">\n\t\t\t\t\t\t{hiddenMessage}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t<div className=\"sn-pagination-container\">\n\t\t\t\t<div className={defaultContainerClass}>\n\t\t\t\t\t{renderRange(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thideRange,\n\t\t\t\t\t\t\thideRowCount,\n\t\t\t\t\t\t\trangeEnd,\n\t\t\t\t\t\t\trangeLabel,\n\t\t\t\t\t\t\trangeStart,\n\t\t\t\t\t\t\trecordCount,\n\t\t\t\t\t\t\tlistCountStatus\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tupdateState\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t\t<div className={defaultContainerClass}>\n\t\t\t\t\t{renderPagination(controlProps)}\n\t\t\t\t<\/div>\n\t\t\t\t<div className={lastContainerClass}>\n\t\t\t\t\t{!hideLimitSelector ? (\n\t\t\t\t\t\t<sn-pagination-limit-selector limit={limit} label={limitLabel} />\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst getPaginationModel = properties => {\n\tconst {\n\t\tlimit,\n\t\tlimitOverride,\n\t\tpage,\n\t\tvisibleCount,\n\t\tmaxPages,\n\t\trecordCount,\n\t\tlistCountStatus,\n\t\trangeLabel\n\t} = properties;\n\n\treturn getModel(\n\t\t{\n\t\t\tlimit,\n\t\t\tlimitOverride,\n\t\t\tpage,\n\t\t\trecordCount,\n\t\t\tvisibleCount,\n\t\t\tlistCountStatus,\n\t\t\trangeLabel\n\t\t},\n\t\tmaxPages\n\t);\n};\n\nconst componentPropertyChangedHandler = coeffects => {\n\tconst {state, updateState, action, dispatch} = coeffects;\n\tconst {name, previousValue, value} = action.payload;\n\n\tif (name === 'page' && previousValue !== value) {\n\t\tdispatch(CLEAR_PAGE_FOCUS);\n\t}\n\n\tconst paginationModel = getPaginationModel(state.properties);\n\tupdateState({paginationModel});\n};\n\nconst setPageHandler = coeffects => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {page, focusThisPage},\n\t\t\tmeta: {paginationModel}\n\t\t},\n\t\tupdateProperties\n\t} = coeffects;\n\n\tif (\n\t\tpage < 1 ||\n\t\tpage > paginationModel.maxPage ||\n\t\tisEqual(page, paginationModel.page)\n\t) {\n\t\treturn;\n\t}\n\tif (focusThisPage) {\n\t\tupdateProperties({focusThisPage: page});\n\t}\n\tdispatch(PAGE_UPDATE, {page});\n};\n\nconst setLimitHandler = coeffects => {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate: {paginationModel}\n\t} = coeffects;\n\n\tconst limit = get(action, 'payload.value[0]');\n\n\tupdateState({\n\t\tpath: 'paginationModel.limit',\n\t\tvalue: limit,\n\t\toperation: 'set'\n\t});\n\n\tif (paginationModel?.limit !== limit) {\n\t\tdispatch(LIMIT_UPDATE, {limit});\n\t}\n};\n\nconst NOW_PAGINATION = 'now-pagination';\n\n/**\n * A component that displays pagination controls, limit selector, and records displayed for use in navigating\n * through paged data.\n *\n * ```\n * <now-pagination {...paginationProps} />\n * ```\n *\n * @seismicElement now-pagination\n * @summary A component that displays pagination controls, limit selector, and records displayed for use in navigating\n * through paged data.\n */\ncreateCustomElement(NOW_PAGINATION, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tsetInitialState({properties}) {\n\t\treturn {\n\t\t\tpaginationModel: getPaginationModel(properties)\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * how many records to render per page. Default: 20.\n\t\t * @type {number}\n\t\t */\n\t\tlimit: {\n\t\t\tdefault: 20\n\t\t},\n\t\t/**\n\t\t * initial page to render\n\t\t * @type {number}\n\t\t */\n\t\tpage: {\n\t\t\tdefault: 1\n\t\t},\n\t\t/**\n\t\t * The total records in the collection.\n\t\t * @type {number}\n\t\t */\n\t\trecordCount: {},\n\t\t/**\n\t\t * The *visible* records in the collection (ACLs, business rules, etc)\n\t\t * @type {number}\n\t\t */\n\t\tvisibleCount: {},\n\t\t/**\n\t\t * Gives the ability to remove the pagination range text from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideRange: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the pagination row count text from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideRowCount: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the 'jump-to-first-page' button from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideFirstPage: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the 'previous-page' button from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thidePreviousPage: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the page buttons (i.e. As in Page: 1, 2, 3, 4, etc.) from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thidePages: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the 'next-page' button from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideNextPage: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the 'jump-to-last-page' button from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideLastPage: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Gives the ability to remove the limit selector from the component.\n\t\t * @type {boolean}\n\t\t */\n\t\thideLimitSelector: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines the number of page buttons to show.\n\t\t * @type {number}\n\t\t */\n\t\tmaxPages: {\n\t\t\tdefault: 10\n\t\t},\n\t\t/**\n\t\t * Determines the post-count text (label) of the limit selector (i.e. 'Display {0} <insert-post-count-text-here>').\n\t\t * @type {string}\n\t\t */\n\t\tlimitLabel: {\n\t\t\tdefault: 'rows per page'\n\t\t},\n\t\t/**\n\t\t * Overrides the pagination range text (i.e. Showing 1-20 records) with custom message.\n\t\t * @type {string}\n\t\t */\n\t\trangeLabel: {\n\t\t\tdefault: undefined\n\t\t},\n\t\t/**\n\t\t * Determines list record count request status\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tlistCountStatus: {\n\t\t\tdefault: LIST_COUNT_STATUS.SUCCESS\n\t\t},\n\t\tlimitOverride: {},\n\t\tfocusThisPage: {\n\t\t\tdefault: 0,\n\t\t\tshouldRenderWhenSet: false\n\t\t}\n\t},\n\tstyles,\n\tbehaviors: [truncationBehavior, tooltipBehavior],\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: componentPropertyChangedHandler,\n\t\t\tprivate: true\n\t\t},\n\t\t[SET_PAGE]: {\n\t\t\teffect: setPageHandler,\n\t\t\tprivate: true\n\t\t},\n\t\t[SET_LIMIT]: {\n\t\t\teffect: setLimitHandler,\n\t\t\tprivate: true\n\t\t},\n\t\t[CLICK_LIMIT]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[OPENED_SET]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[ITEM_CLICKED]: {\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLEAR_PAGE_FOCUS]: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {updateProperties} = coeffects;\n\t\t\t\tupdateProperties({focusThisPage: 0});\n\t\t\t}\n\t\t}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user clicks the pagination controls (i.e. first page, next page, or a specific page).\n\t\t * Payload will include the page the user wants to go to.\n\t\t * @type {{page: number}}\n\t\t */\n\t\t[PAGE_UPDATE]: {},\n\t\t/**\n\t\t * Dispatched when the user selects a new limit (i.e. the amount of records to display on a given page).\n\t\t * Payload will include the limit amount (i.e. 10, 20, 50, 100).\n\t\t * @type {{limit: number}}\n\t\t */\n\t\t[LIMIT_UPDATE]: {}\n\t},\n\tonConnect(host) {\n\t\tif (!window.listComponentRegistry) {\n\t\t\twindow.listComponentRegistry = new WeakMap();\n\t\t}\n\t\twindow.listComponentRegistry.set(host, packageJson.version);\n\t},\n\tonDisconnect(host) {\n\t\tif (window.listComponentRegistry) {\n\t\t\twindow.listComponentRegistry.delete(host);\n\t\t}\n\t}\n});\n\nexport default NOW_PAGINATION;\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_pagination=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":49,"column":0},"map":{"mappings":"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","file":"externals/sn-component-workspace-global-search/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","e","ReferenceError","a","n","TypeError","toPropertyKey","require","_defineProperties","r","t","o","enumerable","configurable","writable","Object","defineProperty","key","prototype","value","_extends","assign","bind","arguments","hasOwnProperty","call","apply","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","create","constructor","includes","_typeof","assertThisInitialized","_setPrototypeOf","Symbol","toPrimitive","String","Number","iterator","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","definition","get","obj","prop","toStringTag","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","cloneDeep","debounce","differenceBy","find","has","head","intersectionBy","isEmpty","isFinite","isNumber","keys","merge","noop","omit","pick","slice","sortBy","take","trim","truncate","SEARCH_SOURCE","GLOBAL_SEARCH_CONFIG","USER_PREFERENCE","LOG_STATUS_KEY","createLog","name","_log","type","level","args","window","Array","splice","unshift","console","debug","log","info","warn","error","LOG","response","usePresourcePath","includeShowRedactionWarning","config","paths","path","properties","forEach","parsePropertiesFromPath","_ref","_ref2","Boolean","searchSourcesData","source","order","displayValue","sys_id","exactMatchEnabled","exact_match_enabled","behaviorName","transform","globalSearchConfigTransform","searchSourcesTransform","userPreferencesTransform","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","createPreSourceBehavior","getBehaviorProp","getProperty","behaviorMap","transforms","reduce","prev","curr","behavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","NETWORK_ERROR","SEARCH_SOURCE_TABLE_NOT_FOUND_ERROR","OTHER_ERROR","ERROR_FOR_USER","ALL_FAILED_ERROR","SearchSourceErrors","errors","_classCallCheck","_createClass","message","test","isSearchSourceTableNotFound","errorType","filter","numSearchSources","hasError","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__","Fragment","_getBehaviorProp","state","val","ConfigProvider","_React$Component","_inherits","props","children","React","only","propTypes","PropTypes","isRequired","childContextTypes","mapConfigToProps","wrapComponent","ComponentToWrap","ComponentWithConfig","context","configProps","propsWithConfig","createElement","contextTypes","ErrorBoundary","_this","errorInfo","setState","PAGE_UPDATE","PAGE_CONTROL_UPDATE","EXACT_MATCH_FETCH","EXACT_MATCH_STARTED","EXACT_MATCH_SUCCEEDED","EXACT_MATCH_FAILED","DRILLDOWN_FETCH","DRILLDOWN_FETCH_STARTED","DRILLDOWN_FETCH_SUCCEEDED","DRILLDOWN_FETCH_FAILED","VIEW_ALL_CLICKED","WORKSPACE_TEXT_SEARCH_STARTED","WORKSPACE_TEXT_SEARCH_FAILED","WORKSPACE_TEXT_SEARCH","WORKSPACE_TEXT_SEARCH_SUCCEEDED","WORKSPACE_TEXT_SEARCH_BATCHED","WORKSPACE_TEXT_SEARCH_FAILED_BATCHED","USER_PREFERENCES_SET","GLOBAL_SEARCH_ACTION","FETCH_CONFIGURATIONS","FETCH_CONFIGURATIONS_FAILED","FETCH_CONFIGURATIONS_SUCCEEDED","BACK_BUTTON_CLICKED","BACK_BUTTON_CLICKED_INTERNAL","KEY_CODES","GlobalSearchUtils","record","sysId","data","record_class_name","recordClassName","record_url","recordUrl","table","title","metadata","generateTitleForHistoryRecord","graphqlizedRecord","display","dispatch","action","payload","pyld","actionMetadata","sourceId","newTab","multiplexedDispatch","graphqlizeActionPayload","term","parsedValue","parseInt","isNaN","typeahead_debounce","recent_items_count","recent_terms_count","recent_ttl_in_days","tab_overview_items_per_section","tab_drilldown_items_per_page","tab_pagination_debounce","hide_search_results_count","show_search_result_redaction_warning","exact_match_request_criterion_regex","TabHeader","_React$PureComponent","spinnerEnabled","isGlobal","className","label","variant","size","skipLinkClicked","defaultProps","TabBody","setRef","ref","TabContainer","isVisible","THUMBNAIL_CLASS","circle","square","Thumbnail","getAvatarContent","isImageInvalid","url","icon","initials","imageURL","altText","src","alt","onError","imageSrc","userName","InvisibleContent","providedClassname","propsWithoutClass","_objectWithoutPropertiesLoose","_excluded","mergedClassName","getDisplayedValue","emptyValue","FieldList","descriptionId","fields","hideEmptyFields","stackedValueItems","getItems","valueToDisplay","separator","omission","align","truncated","items","LOCATION_SUB_FIELDS","getNonLocationFields","LocationField","subFields","locationValue","field","Attachment","attachment","icon_url","file_name","href","attachment_url","attachments","class","ENUM_TAB_MODES","DRILL_DOWN","OVERVIEW","PREVIOUS_APP","VIEW_ALL","NAVIGATE_TO_LIST_VIEW","BACK_TO","SKIP_TO_LABEL","SIDEBAR_HEADER_LABEL","SKIP_TO_SIDEBAR","PREVIEW_LABEL","GLOBAL_NAV_PREFIX","NEW_TAB_LABEL","EXACT_MATCH","CompanyCard","onSelect","displayFields","thumbnail","matched_attachments","nonLocationFields","onClick","onKeyDown","tabIndex","bare","tooltipContent","AttachmentList","LocationCard","UserCard","selectedDisplayFields","DefaultCard","description","showDescription","spreadVertically","CatalogCard","resultPreview","Record","event","section","metaKey","ctrlKey","target","tagName","which","selectedSearchContext","recordTarget","encodeURIComponent","propsToPass","CardComponent","tableName","getCardComponent","ResultRecords","ariaLabelledBy","records","fieldOrder","onRecordSelect","index","DrillDownView","nodeToScroll","onBackToAllResultsClick","getNodeToScrollRef","isFetching","scrollTop","resetDrillDownState","el","paginationLimit","currentPage","sectionId","sectionTitle","hideResultsCount","responseRecordCount","visibleCount","databaseRecordCount","paginationProps","hideLimitSelector","limit","page","recordCount","headerTitle","toLocaleString","sectionTableName","total","selectedPage","selectedPageSize","manageSelectedPage","hidePageSizeControl","hideRange","hideRowCount","showRedactionWarning","connectConfig","global_search_config","exactMatchDataShape","sources","EXACT_MATCH_SECTION","condition","drilldownDataShape","sourceData","sourceSysId","ComponentWorkspaceGlobalSearchTabDrillDown","debouncedRead","read","paginationDebounce","leading","switchToOverviewMode","helpers","drilledDownSection","drilldownData","dispatchPageUpdate","nextProps","nextSourceId","nextPage","nextTerm","prevProps","prevError","handleBackToResultsClick","sysParmTerm","sysParamPage","itemsToShowPerPage","sysparmLimit","sysparm_limit","sysparm_page","sysparm_term","drilledDownSectionTitle","DrillDown","AriaLiveRegion","role","_getPreviousContext","userInfo","_getUserInfoFromSession","_window","sessionInfo","ux_globals","session","userSessionInfo","language","previousContext","localStorage","getItem","BackButton","isLegacyWorkspace","availableLabel","_getAvailableLabel","searchContext","backButtonLabel","JSON","parse","labelDisplayValue","NoResults","alignment","heading","illustration","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__","Section","infoIconRef","nodeRef","linkRef","getInfoIconRef","getNodeRef","getLinkRef","onViewAllClick","navigateToListView","focusLinkOnMount","focus","scrollSectionIntoView","scrollIntoView","getElementsByClassName","isDrillDownViewAvailable","overrideGotoListViewEvent","conditionOnSearchSource","conditions","searchSourceConditionUrlFormat","newUrl","top","location","split","urlExtension","navListUrl","open","limitPerSource","sectionHeaderText","redactedRecords","countWarning","labelId","isExactMatch","fn","optionalKeys","preventDefault","SkipToLink","skipToCallback","displayText","createInteractionHandlers","EXACT_MATCH_DATA","Sidebar","rawData","onSidebarItemClick","round","status","color","displayExactMatchSection","searchSources","skipToResultsLinkClicked","totalSources","totalRecordCount","renderSection","search_sources","Overview","resultsRef","sidebarRef","containerNode","getContainerRef","setSideBarRef","setResultsRef","skipToSideBarLinkClicked","focusFirstElementFromRef","ReactDOM","node","scrollIntoViewSection","onSectionDrillDown","shouldScrollIntoView","reading","isOverviewVisible","exactMatchData","hasExactMatch","indexOffset","ComponentWorkspaceGlobalSearchTabOverview","readInChunks","itemsToShowPerSection","mode","searchErrors","resetOverviewState","batchCount","currentTerm","prevTerm","prevItemsToShowPerSection","getDataForTerm","isChunkedReadComplete","getAggregatedError","searchTerm","searchData","sourceList","sysParamTerm","sysParamLimit","searchContextConfigId","arr","remainder","batches","shortSliceFirst","batch","searchSourceIds","sysparm_search_sources","searchParams","isSearching","handleSidebarItemClick","_hasExactMatchRecords","FetchConfigLoadingView","getResolvedConfigurations","workspaceConfigs","globalSearchViewConfigId","globalSearchDataConfigId","hideSearchResultsCount","snSearchSources","getSearchSourcePresourceData","dataConfig","snUserPreferences","getUserPreferencePresourceData","exactMatchPreference","snGlobalSearchConfig","getGlobalSearchConfigPresourceData","viewConfig","viewSysId","dataSysId","DEFAULT_CONFIG","PresourceDefaults","ComponentWorkspaceGlobalSearchTab","setForceRenderTimeStamp","_defineProperty","MODES","setForceRenderTimestamp","forceLegacyRender","delay","timestamp","Date","getTime","setTimeout","dispatchItemSelected","searchSourceId","searchSourceTitle","configFromSysProperties","getConfigFromSysProperties","globalSearchConfig","getSysPropertyAsNumber","forceRender","exactMatch","isFetchingWorkspaceConfig","otherSeismicProps","seismicProps","trimmedTerm","configLoaded","SearchTabOverview","SearchTabDrillDown","instanceId","style","definitionSysId","inputValues","getConfigurationsPayload","USER_PREFERENCES_FETCH","USER_PREFERENCES_FETCH_STARTED","USER_PREFERENCES_FETCH_SUCCEEDED","USER_PREFERENCES_FETCH_FAILED","USER_PREFERENCES_SET_STARTED","USER_PREFERENCES_SET_SUCCEEDED","USER_PREFERENCES_SET_FAILED","RECENT_ACTIONS_MODEL_SET","HANDLE_TOOLTIP_CONTENT","ITEM_SELECTED","FETCH_ALL_CONFIGURATIONS","FIT_RESIZE","CONTEXT_DROPDOWN_CLICKED","CONTEXT_ITEM_SELECTED","CLEAR_BUTTON_CLICKED","SEARCH_ICON_BUTTON_CLICKED","CANCEL_BUTTON_CLICKED","userPreferencesContext","recordData","updateState","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","method","headers","pathParams","startActionType","successActionType","errorActionType","transformTabExactMatchResponse","queryParams","meta","updatedState","drilldownSysId","drilldownTerm","rawResult","result_count","resultCount","search_results","searchResults","source_table","sectionSearchResults","record_count","transformdrilldownResponse","toSearchError","nextSearchErrors","shouldAddError","nextError","add","transformAResponse","responseData","transformedSources","sourceTable","transformTextSearchOverview","currentData","requestMetadata","prevGlobalSearchViewConfigId","prevGlobalSearchDataConfigId","resultTerm","mergeGlobalSearchResponses","sourcesA","sourceListA","responseRecordCountA","transformedResponse","sourcesB","sourceListB","responseRecordCountB","nextSearchData","currentError","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","variableList","GlobalSearchModel","totalResults","resultSectionsRecordLength","mapSourceIdToSourceData","mapTableNameToSourceId","getSourceData","getSectionRecordsBySectionId","RECENT_ACTION_SECTIONS","TERM_SEARCHED","_GlobalSearchModel","RecentActionsModel","maxItems","maxTerms","actionsTTLInDays","recentlySearchedLabel","recentlyViewedLabel","itemData","DATA_STORAGE_LIMIT_IN_UTF8_CHARACTERS","recentActions","itemSelectedRecords","parseItemSelectedActions","termSearchedRecords","parseTermSearchedActions","SECTIONS","recentlySearchedViewedLabel","recordObj","__sourceId","now","TTLInMS","created","actionRecords","filterDeadActions","actionRecord","actionData","createNewRecentAction","prepareDataForStorage","_recentActions","targetSection","stringifiedData","stringify","dataCanBeStored","pop","shift","coeffects","userPrefData","options","variables","userPreferencesQuery","userPreferences","preferences","recentItemsCount","recentTermsCount","recentTTLInDays","getGlobalConfigs","typeaheadRecentActionsModel","parseUserPreferenceValue","addRecentAction","model","userPrefName","stringifiedRecentActions","DATABROKER_URI_QUERY","dataParam","executionResult","output","global_search_configs","tsMatch","user_preferences","effect","COMPONENT_BOOTSTRAPPED","COMPONENT_PROPERTY_CHANGED","handleDrilldownPageUpdate","stopPropagation","handleDrilldownControlPageUpdate","effectProxy","handleTextSearch","handleTextSearchStarted","handleTextSearchSucceeded","handleTextSearchFailed","handleTextSearchFailedBatched","handleTextSearchBatched","handleDrilldownFetchEffect","handleDrilldownFetchFailedEffect","handleDrilldownFetchStartedEffect","handleDrilldownFetchSucceededEffect","handleViewAllClickedEffect","handleTabExactMatchFetchEffect","handleTabExactMatchFetchStartedEffect","handleTabExactMatchFetchSucceededEffect","handleTabExactMatchFetchFailedEffect","handleTabUserPreferenceFetch","handleTabUserPreferenceFetchSucceeded","handleTabUserPreferenceSet","handleFetchConfigurationsEffect","handleFetchConfigurationsSucceededEffect","handleFetchConfigurationsFailedEffect","handleBoostrappedEffect","handlePropertyChangedEffect","handleGlobalSearchActionEffect","handleBackButtonClickedEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__","TOOLTIP_HIDE","TOOLTIP_SHOW","view","behaviors","presourceFactory","rtlBehavior","tooltipBehavior","renderer","react","initialComponentState","schema","computed","_ref3","styles","actionHandlers","dispatches","route","searchDataConfigId","searchViewConfigId","DEFAULT_PLACEHODLER","SEARCH_LABEL","CLEAR_LABEL","SEARCH_CONTEXT_TRIGGER_LABEL","LOADING_LABEL","SEARCH_ALL_RECORDS","VIEW_RESULTS","RESULTS_SECTION","RECENTLY_SEARCHED","RECENTLY_VIEWED","CLICK","KEYDOWN","DROPDOWN_POSITION","WINDOW_SIZE","CANCEL_LABEL","GLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH","minWidth","maxWidth","isExactMatchPresent","canTermMatchExactly","criterionRegex","RegExp","hasExactMatchReadingFinished","termCriterionRegex","__assign","s","p","handleScroll","parent","_a","scrollLeft","duration","scrollIntoViewIfNeeded","animateOptions","finalElement","offsetOptions","HTMLElement","Error","centerIfNeeded","isBoolean","defaultOffset","right","bottom","left","offset","easing","boundary","offsetTop","offsetRight","offsetBottom","offsetLeft","withinBounds","min","max","extent","Math","area","makeArea","width","height","translate","relativeFromTo","lhs","rhs","newLeft","newTop","offsetParent","clientLeft","clientTop","offsetWidth","offsetHeight","parentNode","clientWidth","clientHeight","calculate","getAccessibleDisplayValueMessage","recordTitle","valueItems","itemSerialized","replace","ResultRecord","_len","_key","displayField","getDisplayValue","getStackedValueItem","getLabel","active","getRecordTitle","getStackedValueItems","serializedRecordValueId","TermRecord","TYPEAHEAD_ITEM_LOOKUP","TYPEAHEAD_ITEM_LOOKUP_STARTED","TYPEAHEAD_ITEM_LOOKUP_FAILED","TYPEAHEAD_ITEM_LOOKUP_SUCCEEDED","ComponentWorkspaceGlobalSearchTypeaheadItemRecord","readItem","nextTable","nextSysId","sysparm_table_name","sysparm_item_sys_id","typeaheadItem","transformTypeaheadItemLookupResponse","getRecordClickDetails","handleTypeaheadItemLookup","handleTypeaheadItemLookupFailed","handleTypeaheadItemLookupStarted","handleTypeaheadItemLookupSucceeded","ENUM_TYPEAHEAD_RECORD_TYPES","TERM","RESULT","SEARCH_ALL_ACTION","TypeaheadRecord","_recordContainer","showTooltipOnTruncation","recordContainer","TYPES","querySelector","_target$querySelector","shadowRoot","titleContainer","scrollWidth","elementRef","onMouseMove","sectionIndex","recordIndex","shouldShowTooltipOnTruncation","handleTooltipShow","onMouseDown","handleTooltipHide","onMouseEnter","onMouseLeave","values","ResultSection","onResultClickData","recordDetails","recordClickDetails","results","activeRecordIndex","headingComp","toUpperCase","rec","NAVIGATION_DIRECTIONS","UP","DOWN","NavigationWrapper","dataModel","DIRECTIONS","previousRecord","nextRecord","sectionsFilteredByResponseCount","flattenedIndex","getSectionAndRecordIndices","filteredSectionRecordLengths","getRecordBySectionAndRecordIndex","count","lastCount","SnPopover","isMobileView","SnPopoverBody","SnPopoverFooter","TypeaheadPopover","activeRecordFlattenedIndex","navigateInDirection","consumeNavigationProp","hasActiveRecord","direction","dataModelFromProps","indexFromState","updateActiveRecord","getUpdatedIndex","onActiveRecordUpdate","activeRecord","getRecord","indices","createNewActiveRecord","getSectionIdByTableName","sectionsLength","footerId","showSearchAllSection","isActive","footerContainerClassName","footerClassName","userPreferencesFetching","windowSize","activeSectionIndex","onSectionMouseMove","getFlattenedIndex","getDisplayFields","getDisplayFieldNamesBySourceId","sectionsToRender","sectionCount","totalResultCount","acc","ARIA_LIVE_REGION_UPDATE_REQUESTED","replaceContent","suggestionSections","getSectionNameBySectionId","loadingWidget","defer","renderFooter","ExactMatchModel","userPreferenceDataShape","ComponentExactMatch","exactMatchResultModel","readWorkspaceExactMatch","readDebounce","nextData","typeaheadInputValue","nextDataTerm","isExactMatchEnabled","requestCriterionRegex","onTypeaheadRecordClick","idAttribute","ComponentRecentActions","resolvedNavigateInDirection","maxItemsToShow","maxTermsToShow","Icon","iconOnClick","iconClassName","iconSize","buttonClassName","ariaLabel","ariaExpanded","SEARCH_ICONS","SEARCH","CLEAR_GLOBAL","CLEAR","SearchInput","onChange","onKeyPress","onEscapeKeyDown","onGeneralKeyDown","onDownArrowKeyDown","onUpArrowKeyDown","onSubmit","typeAheadButtonClassName","isExpanded","globalTypeAheadButtonClassName","controlContainerClassName","activeSearchInputState","inputClicked","isCollapsedView","defaultStateGlobalView","globalControlContainerClassName","typeAheadControlClassName","hasText","globalTypeaheadControlClassName","isDropdownVisible","isDisabled","bindInputRef","onBlur","onFocus","onClearIconClick","onSearchIconClick","ariaActiveDescendant","ariaLiveText","searchInputPlaceholder","searchContexts","contextDropdownOpened","searchExpanded","searchButtonClassName","getGlobalTypeAheadButtonClassName","showMobileSearchButton","selectedContext","searchInputPlaceholderText","showContextDropdown","globalClearButton","globalSearchButton","ariaOwns","getGlobalControlContainerClassName","searchIconRef","ICONS","getGlobalTypeAheadControlClassName","placeholder","autoComplete","disabled","configAria","select","selectedItems","manageOpened","opened","panelFitProps","position","constrain","hideLabel","slot","getAriaSelectedId","ariaSelected","getAriaLiveText","ComponentTypeaheadInput","inputElement","handleBlur","handleFocus","handleChange","onInputSubmit","blur","handleSearchIconClick","handleClearIconClick","handleGeneralKeyDown","dropdownVisible","handleCancelButtonClick","input","requestIdleCallback","inMemoryCache","Map","set","setItem","GLOBAL_SEARCH_TYPEAHEAD_DEFAULT_LOCAL_PROPS","ENUM_TYPEAHEAD_MODES","RESULTS","RECENT_ACTIONS","ComponentWorkspaceGlobalSearchTypeahead","searchInput","composedPath","updateInputStateOnClose","contextDropdown","getElementsByTagName","eventSourcePath","searchInputInPath","contextDropdownInPath","keyCode","shiftKey","clearActiveRecord","cache","clearClicked","onSearchInputSubmit","onSearchInputEscapeKeyDown","setNavigationDirection","getResolvedConfig","handleOutClick","handleTabKeyPress","updateInputStateOnSubmit","document","addEventListener","removeEventListener","_prevProps","prevState","prevDisabled","currDisabled","currSearchTerm","currWindowSize","prevSearchTerm","onSearchInputSubmitAction","nextWindowSize","nextSearchTerm","dispatchActiveRecord","dispatchTermSearched","recordType","resetTypeaheadState","prefetchedConfig","userPref","typeaheadDebounce","exactMatchRequestCriterionRegex","up","DEFAULT_LOCAL_PROPS","globalSearchAction","fetchingPreferences","isRecentActionsVisible","currentMode","isExactMatchResultVisible","itemSelected","placeholderText","transformTypeaheadExactMatchResponse","updatedUserPreferences","lastSysIdAddedAsRecentAction","lastTermAddedAsRecentAction","userPreferencesMutation","setPreference","operation","getPopoverElements","host","querySelectorAll","getInputContainerElement","createQuerySelector","contentElems","targetElem","contentElem","currentWidth","targetWidth","currentLeft","targetLeft","currentTop","globalTopOffset","targetTop","updateProperties","getInputElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__","a11yPreferences","getUserPrefContext","a11yTx","GLIDE_UI_ACCESSIBILITY_SHOW_TRUNCATED_TEXT","userPrefVal","COMPONENT_CONNECTED","COMPONENT_DISCONNECTED","COMPONENT_RENDERED","handleTypeaheadExactMatchFetch","handleTypeaheadExactMatchFetchStarted","handleTypeaheadExactMatchFetchSucceeded","handleTypeaheadExactMatchFetchFailed","handleRecentActionsModelSet","handleTypeaheadUserPreferenceFetch","handleTypeaheadUserPreferenceFetchStarted","handleTypeaheadUserPreferenceFetchSucceeded","handleTypeaheadUserPreferenceFetchFailed","handleTypeaheadUserPreferenceSet","handleTypeaheadUserPreferenceSetStarted","handleTypeaheadUserPreferenceSetSucceeded","handleTypeaheadUserPreferenceSetFailed","payloadAction","payloadActionMetadata","handleFitResize","handleContextDropdownClickedEffect","handleContextItemSelectedEffect","handleSearchIconButtonClickedEffect","handleClearButtonClicked","handleCancelButtonClicked","stateUpdates","cacheInvalidationDispatches","cachedConfig","fetchWorkspaceConfigs","handleTooltipContentEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__","mediaQueryBehavior","mobileQuery","truncationBehavior","initialState","shouldRenderWhenSet","enum","__TECTONIC__sn_component_workspace_global_search"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/_componentWorkspaceGlobalSearchTab.scss","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/_componentWorkspaceGlobalSearchTypeahead.scss","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/_componentWorkspaceGlobalSearchTypeaheadItemRecordElement.scss","webpack:///./src/componentWorkspaceGlobalSearchTab/_componentWorkspaceGlobalSearchTab.scss?7f7a","webpack:///./src/componentWorkspaceGlobalSearchTypeahead/_componentWorkspaceGlobalSearchTypeahead.scss?f9db","webpack:///./src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/_componentWorkspaceGlobalSearchTypeaheadItemRecordElement.scss?2d49","webpack:///@babel/runtime/7.25.7/helpers/assertThisInitialized.js","webpack:///@babel/runtime/7.25.7/helpers/classCallCheck.js","webpack:///@babel/runtime/7.25.7/helpers/createClass.js","webpack:///@babel/runtime/7.25.7/helpers/defineProperty.js","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/getPrototypeOf.js","webpack:///@babel/runtime/7.25.7/helpers/inherits.js","webpack:///@babel/runtime/7.25.7/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.25.7/helpers/possibleConstructorReturn.js","webpack:///@babel/runtime/7.25.7/helpers/setPrototypeOf.js","webpack:///@babel/runtime/7.25.7/helpers/toPrimitive.js","webpack:///@babel/runtime/7.25.7/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.25.7/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-react/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.4.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/behaviors/constants.js","webpack:///sn-component-workspace-global-search/src/utils/Logger.js","webpack:///sn-component-workspace-global-search/src/behaviors/transforms/globalSearchConfigTransform.js","webpack:///sn-component-workspace-global-search/src/behaviors/transforms/searchSourcesTransform.js","webpack:///sn-component-workspace-global-search/src/behaviors/transforms/userPreferencesTransform.js","webpack:///sn-component-workspace-global-search/src/behaviors/transformMaps.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/behaviors/presourceFactory.js","webpack:///sn-component-workspace-global-search/src/behaviors/util/createPresourceBehaviorMap.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/utils/SearchSourceErrors.js","webpack:///external module \"/uxasset/externals/sn-custom-create-element/21.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/prop-types/15.7.2/index.jsdbx\"","webpack:///external module \"/uxasset/externals/react/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/behaviors/util/getBehaviorProp.js","webpack:///sn-component-workspace-global-search/src/lib/sn-component-workspace-config/src/ConfigProvider.js","webpack:///sn-component-workspace-global-search/src/lib/sn-component-workspace-config/src/connectConfig.js","webpack:///sn-component-workspace-global-search/src/utils/ErrorBoundary.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/actions.js","webpack:///sn-component-workspace-global-search/src/utils/GlobalSearchUtils.js","webpack:///sn-component-workspace-global-search/src/utils/PresourceDefaults.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-pagination/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-pagination-control/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-heading/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Tab/TabHeader.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Tab/TabBody.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Tab/TabContainer.js","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-avatar/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/Thumbnail.js","webpack:///external module \"/uxasset/externals/@servicenow/now-label-value/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/common/InvisibleContent.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/FieldList.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/LocationField.js","webpack:///external module \"/uxasset/externals/@servicenow/now-text-link/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/AttachmentList.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/constants.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/CompanyCard.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/LocationCard.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/UserCard.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/DefaultCard.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/CatalogCard.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Record.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/RecordViews/cardFactory.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/ResultRecords.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/DrillDownView.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/propTypes.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/ComponentWorkspaceGlobalSearchTabDrillDown.js","webpack:///external module \"/uxasset/externals/@servicenow/now-illustration/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/common/AriaLiveRegion.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/BackButton.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/NoResults.js","webpack:///external module \"/uxasset/externals/react-dom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Section.js","webpack:///sn-component-workspace-global-search/src/utils/createInteractionhandlers.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Tab/SkipToLink.js","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Sidebar.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/Overview.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/ComponentWorkspaceGlobalSearchTabOverview.js","webpack:///sn-component-workspace-global-search/src/utils/shortSliceFirst.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/GlobalSearchResult/FetchConfigLoadingView.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/ComponentWorkspaceGlobalSearchTab.js","webpack:///sn-component-workspace-global-search/src/utils/createLegacyForceRender.js","webpack:///sn-component-workspace-global-search/src/common/getConfigurationsPayload.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/bootstrapped/handleBootstrappedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/actions.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/globalSearchAction/handleGlobalSearchActionEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabExactMatch/handleTabExactMatchFetchFailedEffect.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabExactMatch/handleTabExactMatchFetchEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabExactMatch/handleTabExactMatchFetchStartedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabExactMatch/transformTabExactMatchResponse.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabExactMatch/handleTabExactMatchFetchSucceededEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownFetchEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownFetchFailedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownFetchStartedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/transformDrilldownResponse.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownFetchSucceededEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownPageUpdate.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleDrilldownControlPageUpdate.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabDrilldown/handleViewAllClickedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearch.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearchFailed.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearchStarted.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/transformTextSearchOverview.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearchSucceeded.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearchBatched.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabTextSearchOverview/handleTextSearchFailedBatched.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabUserPreference/handleTabUserPreferenceSet.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabUserPreference/handleTabUserPreferenceFetch.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabUserPreference/utils/parseUserPreferenceValue.js","webpack:///sn-component-workspace-global-search/src/utils/GlobalSearchModel.js","webpack:///sn-component-workspace-global-search/src/utils/RecentActionsModel.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/tabUserPreference/handleTabUserPreferenceFetchSucceeded.js","webpack:///sn-component-workspace-global-search/src/common/constants.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/fetchConfigurations/handleFetchConfigurationsEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/fetchConfigurations/handleFetchConfigurationsSucceededEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/fetchConfigurations/handleFetchConfigurationsFailedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/propertyChanged/handlePropertyChangedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/effects/backButtonClicked/handleBackButtonClickedEffect.js","webpack:///sn-component-workspace-global-search/src/utils/effectProxy.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/actionHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/28.4.1/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTab/componentWorkspaceGlobalSearchTabElement.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/constants.js","webpack:///sn-component-workspace-global-search/src/utils/workspaceExactMatchTypeahead.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/lib/scroll-into-view-if-needed/calculate.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/lib/scroll-into-view-if-needed/index.js","webpack:///sn-component-workspace-global-search/src/utils/getAccessibleDisplayValueMessage.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/ResultRecord.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/TermRecord.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/actions.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/ComponentWorkspaceGlobalSearchTypeaheadItemRecord.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/effects/handleTypeaheadItemLookup.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/effects/handleTypeaheadItemLookupFailed.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/effects/handleTypeaheadItemLookupStarted.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/effects/transformTypeaheadItemLookupResponse.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/effects/handleTypeaheadItemLookupSucceeded.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/actionHandlers.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadItemRecord/componentWorkspaceGlobalSearchTypeaheadItemRecordElement.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/TypeaheadRecord.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/ResultSection.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/utils/NavigationWrapper.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/SnPopover/SnPopover.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/SnPopover/SnPopoverBody.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/SnPopover/SnPopoverFooter.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/TypeaheadPopover/TypeaheadPopover.js","webpack:///sn-component-workspace-global-search/src/utils/ExactMatchModel.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/propTypes.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentExactMatch.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentRecentActions.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentTypeaheadInput/Icon.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentTypeaheadInput/SearchInput.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentTypeaheadInput/ComponentTypeaheadInput.js","webpack:///sn-component-workspace-global-search/src/utils/requestIdleCallback.js","webpack:///sn-component-workspace-global-search/src/utils/configCache.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/ComponentWorkspaceGlobalSearchTypeahead.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/utils/parseUserPreferenceValue.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/globalSearch/handleGlobalSearchAction.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/propertyChanged/handlePropertyChangedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/recentActions/handleRecentActionsModelSet.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadExactMatch/handleTypeaheadExactMatchFetchFailed.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadExactMatch/handleTypeaheadExactMatchFetch.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadExactMatch/handleTypeaheadExactMatchFetchStarted.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadExactMatch/transformTypeaheadExactMatchResponse.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadExactMatch/handleTypeaheadExactMatchFetchSucceeded.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceFetch.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceFetchFailed.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceFetchStarted.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceFetchSucceeded.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceSet.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceSetFailed.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceSetStarted.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/typeaheadUserPreference/handleTypeaheadUserPreferenceSetSucceeded.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/fetchConfigurations/handleFetchConfigurationsEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/fetchConfigurations/handleFetchConfigurationsSucceededEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/fetchConfigurations/handleFetchConfigurationsFailedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/fitResize/handleFitResize.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/searchContext/handleContextDropdownClickedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/searchContext/handleContextItemSelectedEffect.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/nowButtonIconicClick/handleClearButtonClicked.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/nowButtonIconicClick/handleCancelButtonClicked.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/searchIconButtonClicked/handleSearchIconButtonClickedEffect.js","webpack:///external module \"/uxasset/externals/sn-ux-core/24.0.8/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/truncationTooltip/handleTooltipContent.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/actionHandlers.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/componentBootstrapped/preloadWorkspaceConfigs.js","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/effects/utils/fetchWorkspaceConfigs.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-media-query/28.4.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/28.4.1/index.jsdbx\"","webpack:///sn-component-workspace-global-search/src/componentWorkspaceGlobalSearchTypeahead/componentWorkspaceGlobalSearchTypeaheadElement.js","webpack:///sn-component-workspace-global-search/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-list-group--item{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));padding:.5rem}.sn-list-group--item.-global{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));justify-content:space-between}.sn-list-group--item.-global.is-focus:before,.sn-list-group--item.-global.is-hover:before,.sn-list-group--item.-global:focus:before,.sn-list-group--item.-global:hover:before{background-color:RGB(var(--now-color--primary-1,30,133,109));border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid;opacity:var(--now-opacity--least,.1)}@media(forced-colors:active){.sn-list-group--item{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;font-size:1rem;forced-color-adjust:none;padding:.5rem}.sn-list-group--item,.sn-list-group--item .sn-list-group--content{color:buttontext!important}.sn-list-group--item.is-focus,.sn-list-group--item.is-hover,.sn-list-group--item:focus,.sn-list-group--item:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.sn-list-group--item.is-focus .sn-list-group--content,.sn-list-group--item.is-hover .sn-list-group--content,.sn-list-group--item:focus .sn-list-group--content,.sn-list-group--item:hover .sn-list-group--content{color:highlight!important}}.sn-list-group--item.sn-list-group--item__grid,.sn-list-group--item.sn-list-group--item__grid :hover{vertical-align:middle}.sn-list-group--item.sn-list-group--item__grid a{color:inherit;display:inherit;text-decoration:inherit;width:100%}.sn-list-group--item.sn-list-group--item__grid.global{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));padding-bottom:.5rem;padding-top:.5rem}:host(:not([dir=rtl])) .sn-list-group--item.sn-list-group--item__grid.global,:root:not([dir=rtl]) .sn-list-group--item.sn-list-group--item__grid.global{padding-right:.5rem}:host([dir=rtl]) .sn-list-group--item.sn-list-group--item__grid.global,:root[dir=rtl] .sn-list-group--item.sn-list-group--item__grid.global{padding-left:.5rem}:host(:not([dir=rtl])) .sn-list-group--item.sn-list-group--item__grid.global,:root:not([dir=rtl]) .sn-list-group--item.sn-list-group--item__grid.global{padding-left:.5rem}:host([dir=rtl]) .sn-list-group--item.sn-list-group--item__grid.global,:root[dir=rtl] .sn-list-group--item.sn-list-group--item__grid.global{padding-right:.5rem}.sn-list-group--item.sn-list-group--item__grid.global.is-hover:before,.sn-list-group--item.sn-list-group--item__grid.global:hover:before{background-color:RGB(var(--now-color--primary-1,30,133,109));opacity:var(--now-opacity--least,.1)}.sn-list-group--item.sn-list-group--item__grid.global.is-focus:before,.sn-list-group--item.sn-list-group--item__grid.global:focus:before{background-color:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1));border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid;outline:none}.tab-results-container{height:100%}.tab-results-container .sn-global-search .sn-panel--title{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:2rem}.tab-results-container .mod-global-search .sn-section{padding:calc(var(--now-scale-space--lg, 1)*1rem)}.tab-results-container .skip-to-results-link{color:RGB(var(--now-color--link-3,1,104,124));font-size:1rem;margin-top:calc(var(--now-scale-space--lg, 1)*1rem);opacity:0;text-decoration:none;transition:opacity .3s}.tab-results-container .skip-to-results-link:active,.tab-results-container .skip-to-results-link:focus{opacity:1}.tab-drilldown-container{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));flex-direction:column;overflow:auto}.tab-drilldown-container .back-button{padding-top:1rem}:host(:not([dir=rtl])) .tab-drilldown-container .back-button,:root:not([dir=rtl]) .tab-drilldown-container .back-button{padding-left:.5rem}:host([dir=rtl]) .tab-drilldown-container .back-button,:root[dir=rtl] .tab-drilldown-container .back-button{padding-right:.5rem}.tab-drilldown-container .back-button.-global{padding-top:1.5rem}:host(:not([dir=rtl])) .tab-drilldown-container .back-button.-global,:root:not([dir=rtl]) .tab-drilldown-container .back-button.-global{padding-left:1.5rem}:host([dir=rtl]) .tab-drilldown-container .back-button.-global,:root[dir=rtl] .tab-drilldown-container .back-button.-global{padding-right:1.5rem}.tab-drilldown-container .sn-global-search .sn-panel--row:last-of-type{padding:.75rem}:host(:not([dir=rtl])) .tab-drilldown-container .sn-global-search .sn-panel--row:last-of-type,:root:not([dir=rtl]) .tab-drilldown-container .sn-global-search .sn-panel--row:last-of-type{padding-left:.5rem}:host([dir=rtl]) .tab-drilldown-container .sn-global-search .sn-panel--row:last-of-type,:root[dir=rtl] .tab-drilldown-container .sn-global-search .sn-panel--row:last-of-type{padding-right:.5rem}.sn-list-group--item--grid{align-items:center;flex-direction:row}.sn-list-group--content__description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin-top:calc(var(--now-scale-space--md, 1)*.75rem)}.no-results{overflow:hidden}.sn-preserve-whitespace{white-space:pre-wrap}.hidden{display:none!important}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.truncate-global{font-variant:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));padding-bottom:2rem}.global-search-card--title{margin-bottom:calc(var(--now-scale-space--xs, 1)*.25rem)}.global-search-container{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));overflow-y:auto;padding:calc(var(--now-scale-space--xl, 1)*1.5rem);width:100%}.global-search-container__global{padding:calc(var(--now-scale-space--lg, 1)*1rem) calc(var(--now-scale-space--xl, 1)*1.5rem) calc(var(--now-scale-space--xl, 1)*1.5rem) calc(var(--now-scale-space--xl, 1)*1.5rem)}.global-search-loader{margin-bottom:0;margin-top:0}:host(:not([dir=rtl])) .global-search-loader,:root:not([dir=rtl]) .global-search-loader{margin-left:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .global-search-loader,:root[dir=rtl] .global-search-loader{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host(:not([dir=rtl])) .global-search-loader,:root:not([dir=rtl]) .global-search-loader{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .global-search-loader,:root[dir=rtl] .global-search-loader{margin-left:calc(var(--now-scale-space--sm, 1)*.5rem)}.global-search-tab-header{display:flex;margin-bottom:calc(var(--now-scale-space--sm, 1)*.5rem)}.global-search-tab-header.__global{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));margin-bottom:calc(var(--now-scale-space--xxl, 1)*2rem)}.global-search-tab-header now-heading{line-height:38px}.tab-container{font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-style:normal;font-variant:normal;font-weight:400;height:calc(100vh - 130px);letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;width:100%;word-spacing:inherit}.tab-container.-global{height:calc(100vh - 50px)}.tab-container .sn-global-search .sn-panel--row{padding-bottom:0;padding-top:1.5rem}:host(:not([dir=rtl])) .tab-container .sn-global-search .sn-panel--row,:root:not([dir=rtl]) .tab-container .sn-global-search .sn-panel--row{padding-left:1.5rem}:host([dir=rtl]) .tab-container .sn-global-search .sn-panel--row,:root[dir=rtl] .tab-container .sn-global-search .sn-panel--row{padding-right:1.5rem}:host(:not([dir=rtl])) .tab-container .sn-global-search .sn-panel--row,:root:not([dir=rtl]) .tab-container .sn-global-search .sn-panel--row{padding-right:1.5rem}:host([dir=rtl]) .tab-container .sn-global-search .sn-panel--row,:root[dir=rtl] .tab-container .sn-global-search .sn-panel--row{padding-left:1.5rem}.tab-container .sn-global-search .sn-panel--column{display:flex;flex-direction:column}.tab-container .sn-global-search .sn-panel--title{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:2rem}.global-search-records{width:100%}.global-search-records .sn-section--header{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;font-weight:600}:host(:not([dir=rtl])) .global-search-records .sn-section--header,:root:not([dir=rtl]) .global-search-records .sn-section--header{padding-left:0}:host([dir=rtl]) .global-search-records .sn-section--header,:root[dir=rtl] .global-search-records .sn-section--header{padding-right:0}.global-search-records .sn-section--header .sn-section--content{padding-bottom:.25rem;padding-top:.25rem}:host(:not([dir=rtl])) .global-search-records .sn-section--header .sn-section--content,:root:not([dir=rtl]) .global-search-records .sn-section--header .sn-section--content{padding-left:0}:host([dir=rtl]) .global-search-records .sn-section--header .sn-section--content,:root[dir=rtl] .global-search-records .sn-section--header .sn-section--content{padding-right:0}:host(:not([dir=rtl])) .global-search-records .sn-section--header .sn-section--content,:root:not([dir=rtl]) .global-search-records .sn-section--header .sn-section--content{padding-right:0}:host([dir=rtl]) .global-search-records .sn-section--header .sn-section--content,:root[dir=rtl] .global-search-records .sn-section--header .sn-section--content{padding-left:0}.global-search-records .sn-section--header .sn-icon.sn-icon__md{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.global-search-records .sn-section--content>span{flex-grow:0}.global-search-records .sn-list-group--content{overflow:visible}.global-search-records .sn-list-group--item__grid{margin-bottom:calc(var(--now-scale-space--sm, 1)*.5rem);margin-top:calc(var(--now-scale-space--sm, 1)*.5rem)}:host(:not([dir=rtl])) .global-search-records .sn-list-group--item__grid,:root:not([dir=rtl]) .global-search-records .sn-list-group--item__grid{margin-left:0}:host([dir=rtl]) .global-search-records .sn-list-group--item__grid,:root[dir=rtl] .global-search-records .sn-list-group--item__grid{margin-right:0}:host(:not([dir=rtl])) .global-search-records .sn-list-group--item__grid,:root:not([dir=rtl]) .global-search-records .sn-list-group--item__grid{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .global-search-records .sn-list-group--item__grid,:root[dir=rtl] .global-search-records .sn-list-group--item__grid{margin-left:calc(var(--now-scale-space--sm, 1)*.5rem)}.global-search-records .sn-list-group--item__grid.global{margin-bottom:calc(var(--now-scale-space--sm, 1)*.5rem);margin-top:calc(var(--now-scale-space--sm, 1)*.5rem)}:host(:not([dir=rtl])) .global-search-records .sn-list-group--item__grid.global,:root:not([dir=rtl]) .global-search-records .sn-list-group--item__grid.global{margin-left:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .global-search-records .sn-list-group--item__grid.global,:root[dir=rtl] .global-search-records .sn-list-group--item__grid.global{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host(:not([dir=rtl])) .global-search-records .sn-list-group--item__grid.global,:root:not([dir=rtl]) .global-search-records .sn-list-group--item__grid.global{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .global-search-records .sn-list-group--item__grid.global,:root[dir=rtl] .global-search-records .sn-list-group--item__grid.global{margin-left:calc(var(--now-scale-space--sm, 1)*.5rem)}.global-search-records .sn-list-group--item--title{flex:initial!important}.global-search-default-cursor{cursor:default}.global-search-section{display:flex;flex:0 0 auto;flex-direction:column;margin-bottom:calc(var(--now-scale-space--3xl, 1)*2.5rem)}.global-search-panel--body{overflow-y:auto}.global-search-content{display:inline-flex;flex:1 1 auto}.global-search-content.-global{font-size:1rem;font-weight:600}.global-search-content--tooltip{align-items:center;display:flex}:host(:not([dir=rtl])) .global-search-content--tooltip,:root:not([dir=rtl]) .global-search-content--tooltip{margin-left:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .global-search-content--tooltip,:root[dir=rtl] .global-search-content--tooltip{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}.global-search-content--attachment-list{overflow:hidden}.global-search-content--attachment-list ul{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;padding:0}.global-search-content--attachment{flex-basis:auto;list-style-type:none;margin-top:.25rem;padding:0;text-align:center}.global-search-content--attachment img{vertical-align:middle}:host(:not([dir=rtl])) .global-search-content--attachment img,:root:not([dir=rtl]) .global-search-content--attachment img{margin-right:.25rem}:host([dir=rtl]) .global-search-content--attachment img,:root[dir=rtl] .global-search-content--attachment img{margin-left:.25rem}.global-search-content--attachment-divider{margin:0 .25rem 0 .25rem}.global-icon-content{color:var(--now-color--neutral-18,22,27,28)}.global-search-content--header{align-items:center;border-bottom:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))) 1px solid;cursor:auto;display:flex;padding:0}.global-search-content--header,.global-search-content--header.-global{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;padding-bottom:.25rem}.global-search-content--header.-global{border-bottom:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))) 1px;font-weight:600}.global-search-content--redaction-warning{color:RGB(var(--now-color--secondary-3,1,60,71));display:flex;font-size:.75rem}now-label-value-stacked{margin-bottom:calc(var(--now-scale-space--xs, 1)*.25rem);margin-top:calc(var(--now-scale-space--sm, 1)*.5rem)}:host(:not([dir=rtl])) now-label-value-stacked,:root:not([dir=rtl]) now-label-value-stacked{margin-left:0}:host([dir=rtl]) now-label-value-stacked,:root[dir=rtl] now-label-value-stacked{margin-right:0}:host(:not([dir=rtl])) now-label-value-stacked,:root:not([dir=rtl]) now-label-value-stacked{margin-right:0}:host([dir=rtl]) now-label-value-stacked,:root[dir=rtl] now-label-value-stacked{margin-left:0}@media screen and (-ms-high-contrast:active),screen and (-ms-high-contrast:none){.tab-container{display:flex}}.record.default{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-bottom:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))) 1px solid;border-radius:.125rem;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:block;height:100%;padding:.5rem;position:relative;width:100%}.record.default:hover{background-color:RGB(var(--now-color--primary-0,221,237,233))}.record.default a{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));text-decoration:none}.record.default.global{border-bottom:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))) 1px solid;padding-bottom:calc(var(--now-scale-space--lg, 1)*1rem);padding-top:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .record.default.global,:root:not([dir=rtl]) .record.default.global{padding-right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .record.default.global,:root[dir=rtl] .record.default.global{padding-left:calc(var(--now-scale-space--sm, 1)*.5rem)}:host(:not([dir=rtl])) .record.default.global,:root:not([dir=rtl]) .record.default.global{padding-left:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .record.default.global,:root[dir=rtl] .record.default.global{padding-right:calc(var(--now-scale-space--sm, 1)*.5rem)}.record.default.global.is-focus,.record.default.global.is-hover,.record.default.global:focus,.record.default.global:hover{background-color:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}.record.default.global.is-focus,.record.default.global:focus{border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid;outline:none}.record.default.global.flag{height:67px;position:static;top:0;width:992px}:host(:not([dir=rtl])) .record.default.global.flag,:root:not([dir=rtl]) .record.default.global.flag{left:52px}:host([dir=rtl]) .record.default.global.flag,:root[dir=rtl] .record.default.global.flag{right:52px}.record.default.global .new-tab-button-container{align-items:center;display:flex;flex-direction:row;justify-content:space-between;width:100%}.record.default .catalog-result-container{display:flex;flex-direction:row}.record.default .catalog-result-container__preview-container{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}:host(:not([dir=rtl])) .record.default .catalog-result-container__preview-container,:root:not([dir=rtl]) .record.default .catalog-result-container__preview-container{margin-left:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .record.default .catalog-result-container__preview-container,:root[dir=rtl] .record.default .catalog-result-container__preview-container{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host(:not([dir=rtl])) .record.default .catalog-result-container__preview-container,:root:not([dir=rtl]) .record.default .catalog-result-container__preview-container{margin-right:calc(var(--now-scale-space--md, 1)*.75rem)}:host([dir=rtl]) .record.default .catalog-result-container__preview-container,:root[dir=rtl] .record.default .catalog-result-container__preview-container{margin-left:calc(var(--now-scale-space--md, 1)*.75rem)}.record.default .catalog-result-container__content-container{display:flex;flex-direction:column;width:100%}@media(forced-colors:active){.record{background:buttonface!important;border:1px solid buttonborder}.record .sn-list-group--content__description__global{color:buttontext!important;forced-color-adjust:none}.record:focus,.record:hover{background:highlighttext!important;border:1px solid highlight!important}.record:focus .sn-list-group--content__description__global,.record:hover .sn-list-group--content__description__global{color:highlight!important;forced-color-adjust:none}}:host(:not([dir=rtl])) .sn-global-search--content__static,:root:not([dir=rtl]) .sn-global-search--content__static{margin-left:0}:host([dir=rtl]) .sn-global-search--content__static,:root[dir=rtl] .sn-global-search--content__static{margin-right:0}:host(:not([dir=rtl])) .sn-global-search--content__static,:root:not([dir=rtl]) .sn-global-search--content__static{margin-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-global-search--content__static,:root[dir=rtl] .sn-global-search--content__static{margin-left:calc(var(--now-scale-space--lg, 1)*1rem)}.sn-global-search--content__static.global{color:RGB(var(--now-color--link-2,1,119,142))}:host(:not([dir=rtl])) .sn-global-search--content__static.global,:root:not([dir=rtl]) .sn-global-search--content__static.global{margin-right:calc(var(--now-scale-space--md, 1)*.75rem)}:host([dir=rtl]) .sn-global-search--content__static.global,:root[dir=rtl] .sn-global-search--content__static.global{margin-left:calc(var(--now-scale-space--md, 1)*.75rem)}:host(:not([dir=rtl])) .sn-global-search--content__static.global,:root:not([dir=rtl]) .sn-global-search--content__static.global{padding-right:.75rem}:host([dir=rtl]) .sn-global-search--content__static.global,:root[dir=rtl] .sn-global-search--content__static.global{padding-left:.75rem}:host(:not([dir=rtl])) .sn-global-search--content__static.global,:root:not([dir=rtl]) .sn-global-search--content__static.global{padding-left:.75rem}:host([dir=rtl]) .sn-global-search--content__static.global,:root[dir=rtl] .sn-global-search--content__static.global{padding-right:.75rem}.sn-avatar{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-color--secondary-2,1,89,107))}.sn-panel .sn-list-group--content.sn-list-group--content__meta{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-panel .sn-list-group--content{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-panel.mod-global-search{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.sn-panel.mod-global-search.-global{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.global-search-context-back-button{padding-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .global-search-context-back-button-icon,:root:not([dir=rtl]) .global-search-context-back-button-icon{margin-right:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host([dir=rtl]) .global-search-context-back-button-icon,:root[dir=rtl] .global-search-context-back-button-icon{margin-left:calc(var(--now-scale-space--xxs, 1)*.125rem)}.empty-state-container{height:100%;width:100%}.sn-panel{display:inline-flex;flex:1 1 auto;flex-direction:column;max-height:max-content;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.sn-panel.has-list-hack{width:1px}.sn-panel.mod-alert-tray{background:RGB(var(--now-color_chrome--brand-9,25,38,38));flex:0 0 auto;width:360px}.sn-panel.mod-filter,.sn-panel.mod-list-edit{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));flex:0 0 auto;width:320px;z-index:1}:host(:not([dir=rtl])) .sn-panel.mod-filter,:host(:not([dir=rtl])) .sn-panel.mod-list-edit,:root:not([dir=rtl]) .sn-panel.mod-filter,:root:not([dir=rtl]) .sn-panel.mod-list-edit{border-left:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}:host([dir=rtl]) .sn-panel.mod-filter,:host([dir=rtl]) .sn-panel.mod-list-edit,:root[dir=rtl] .sn-panel.mod-filter,:root[dir=rtl] .sn-panel.mod-list-edit{border-right:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-panel.mod-inbox,.sn-panel.mod-list{box-shadow:0 0 11px 0 shadow(\\\"black\\\",.31);flex:0 0 auto;width:240px}.sn-panel.mod-list-edit{min-width:320px;width:auto}.sn-panel.mod-spm-menu{flex:0 0 auto;width:300px}:host(:not([dir=rtl])) .sn-panel.mod-spm-menu,:root:not([dir=rtl]) .sn-panel.mod-spm-menu{border-right:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}:host([dir=rtl]) .sn-panel.mod-spm-menu,:root[dir=rtl] .sn-panel.mod-spm-menu{border-left:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-panel.mod-global-search,.sn-panel.sn-global-search--list{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));max-width:340px;min-width:300px;padding:0}:host(:not([dir=rtl])) .sn-panel.mod-global-search,:host(:not([dir=rtl])) .sn-panel.sn-global-search--list,:root:not([dir=rtl]) .sn-panel.mod-global-search,:root:not([dir=rtl]) .sn-panel.sn-global-search--list{border-left:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}:host([dir=rtl]) .sn-panel.mod-global-search,:host([dir=rtl]) .sn-panel.sn-global-search--list,:root[dir=rtl] .sn-panel.mod-global-search,:root[dir=rtl] .sn-panel.sn-global-search--list{border-right:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}:host(:not([dir=rtl])) .sn-panel.mod-global-search.global,:host(:not([dir=rtl])) .sn-panel.sn-global-search--list.global,:root:not([dir=rtl]) .sn-panel.mod-global-search.global,:root:not([dir=rtl]) .sn-panel.sn-global-search--list.global{border-left:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)))}:host([dir=rtl]) .sn-panel.mod-global-search.global,:host([dir=rtl]) .sn-panel.sn-global-search--list.global,:root[dir=rtl] .sn-panel.mod-global-search.global,:root[dir=rtl] .sn-panel.sn-global-search--list.global{border-right:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)))}.sn-panel__static{flex:0 0 auto;width:auto;z-index:1}.sn-panel__column{flex-direction:row}.sn-panel__context{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));max-width:320px;min-width:320px;z-index:1}.sn-panel__context+.sn-panel__context{border-left:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid}.sn-panel__form{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));max-width:320px;min-width:280px}.sn-panel__lightest{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.sn-panel__spacing{padding:.75rem .75rem 0}.sn-panel--body{flex:1 1 auto;margin:0;overflow-x:hidden;overflow-y:auto;padding:.75rem .5rem;position:relative}.sn-chat-queue .sn-panel--body,.sn-panel--body__no-spacing,.sn-panel__context .sn-panel--body,.sn-panel__darkest .sn-panel--body{padding:0}.sn-panel.mod-alert-tray .sn-panel--body{flex-direction:column;padding:.75rem 0 0}.sn-panel.mod-details .sn-panel--body{display:flex;flex-direction:column}.sn-panel.mod-inbox .sn-panel--body{padding:.75rem}.sn-panel.mod-list .sn-panel--body{padding:.75rem 0 0 0}.sn-panel.mod-filter .sn-panel--body,.sn-panel.mod-list-edit .sn-panel--body{padding-top:0}.context-spm-menu .sn-panel--body,.sn-panel.mod-spm-menu .sn-panel--body,:host(.context-spm) .sn-panel--body{display:flex;flex-direction:column;padding:.75rem 0}:host(.context-nested-related-tabs) .sn-panel--body{display:flex}.sn-panel--row{display:flex;flex:1 1 auto;min-height:1px}.sn-panel--row.has-bottom-divider{border-bottom:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid}.sn-panel--row.has-top-divider{border-top:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid}.sn-panel--row.mod-column{flex-direction:column}.sn-panel--row__spacing{margin:0 calc(var(--now-scale-space--md, 1)*.75rem);padding:0 0 .75rem}.sn-panel--row__spacing.is-first-of-type,.sn-panel--row__spacing:first-of-type{padding:.75rem 0}.sn-panel--row__spacing-sm{margin:0 calc(var(--now-scale-space--md, 1)*.75rem) 0;padding:1rem 0}.sn-panel--row__spacing-md{padding:1rem .5rem}.sn-panel--row__spacing-side{margin:0 calc(var(--now-scale-space--md, 1)*.75rem);padding:0}.sn-panel--row__static{flex:0 0 auto}.sn-global-search .sn-panel--row{padding:1.5rem 1.5rem 0}.sn-global-search .sn-panel--row:first-of-type .sn-control{max-width:300px}:host(:not([dir=rtl])) .sn-global-search .sn-panel--row:first-of-type .sn-control,:root:not([dir=rtl]) .sn-global-search .sn-panel--row:first-of-type .sn-control{margin-left:calc(var(--now-scale-space--sm, 1)*.5rem*-1)}:host([dir=rtl]) .sn-global-search .sn-panel--row:first-of-type .sn-control,:root[dir=rtl] .sn-global-search .sn-panel--row:first-of-type .sn-control{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem*-1)}.sn-global-search .sn-panel--row:not(:first-of-type){padding:1rem 1.5rem 0}.sn-global-search .sn-panel--row:last-of-type{padding:.75rem .75rem 0}.sn-panel--column{display:inline-block;padding:.5rem;width:100%}.sn-panel--header{align-items:center;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;flex:0 0 auto;padding:.75rem}.context-spm-menu .sn-panel--header,.sn-panel.mod-spm-menu .sn-panel--header{align-items:flex-end;background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));padding:1rem .5rem}.sn-panel--header+.sn-panel--header{margin-top:calc(var(--now-scale-space--md, 1)*.75rem*-1);padding-bottom:.5rem}.sn-panel--footer{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex:0 0 auto;padding:.75rem;position:relative;z-index:1}.sn-panel--footer:before{background-color:RGBA(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)),var(--now-opacity--least,.1));bottom:0;content:\\\"\\\";left:0;position:absolute;right:0;top:0}.sn-panel.mod-list .sn-panel--footer{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border-top:none;padding:1rem .5rem}.sn-panel__context .sn-panel--footer{padding:0}.sn-panel--content{align-items:center;display:inline-flex;flex:1 1 auto;overflow:hidden;padding:0 .5rem 0 0}.sn-panel--content.is-last-of-type,.sn-panel--content:last-of-type{justify-content:flex-end;padding:0}.sn-agent-assist--filter--header .sn-panel--content,.sn-panel__context .sn-agent-assist--filter--header .sn-panel--content{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));padding:0;width:50%}.sn-agent-assist--filter--header .sn-panel--content.is-first-child span,.sn-agent-assist--filter--header .sn-panel--content:first-child span,.sn-panel__context .sn-agent-assist--filter--header .sn-panel--content.is-first-child span,.sn-panel__context .sn-agent-assist--filter--header .sn-panel--content:first-child span{padding:0 1rem}.sn-agent-assist--subheader .sn-panel--content,.sn-panel__context .sn-agent-assist--subheader .sn-panel--content{padding:0}.context-spm-menu .sn-panel--header .sn-panel--content,.sn-panel.mod-spm-menu .sn-panel--header .sn-panel--content{display:block;padding:0}.sn-panel__context .sn-panel--content{padding:0 .75rem .75rem}:host(:not([dir=rtl])) .sn-panel__context .sn-panel--content+.sn-panel--content__static,:root:not([dir=rtl]) .sn-panel__context .sn-panel--content+.sn-panel--content__static{margin-left:calc(var(--now-scale-space--md, 1)*.75rem*-1)}:host([dir=rtl]) .sn-panel__context .sn-panel--content+.sn-panel--content__static,:root[dir=rtl] .sn-panel__context .sn-panel--content+.sn-panel--content__static{margin-right:calc(var(--now-scale-space--md, 1)*.75rem*-1)}.sn-panel__context .sn-panel--header .sn-panel--content{padding:0 .5rem 0 0}.sn-panel__context .sn-panel--header .sn-panel--content.is-last-of-type,.sn-panel__context .sn-panel--header .sn-panel--content:last-of-type{padding:0}.sn-panel__darkest .sn-panel--row .sn-panel--content{flex:1 1 50%}.sn-panel--content__static{flex:0 0 auto}.context-spm-menu .sn-panel--header .sn-panel--content__static,.sn-panel.mod-spm-menu .sn-panel--header .sn-panel--content__static{align-items:center;display:flex;justify-content:flex-end}.sn-pagination{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-top:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid;display:flex;flex:0 0 auto;font-size:.75rem;padding:1rem 0;width:100%}.sn-pagination.has-no-background{background:transparent}.sn-pagination--pages{flex:0 0 auto;justify-content:center;margin:0 calc(var(--now-scale-space--md, 1)*.75rem)}.sn-pagination--controls,.sn-pagination--pages{align-items:center;display:flex}.sn-pagination--controls--label{color:RGB(var(--now-color_alert--low-2,102,102,102));font-size:1rem}:host(:not([dir=rtl])) .sn-pagination--controls--label:first-of-type,:root:not([dir=rtl]) .sn-pagination--controls--label:first-of-type{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .sn-pagination--controls--label:first-of-type,:root[dir=rtl] .sn-pagination--controls--label:first-of-type{margin-left:calc(var(--now-scale-space--sm, 1)*.5rem)}:host(:not([dir=rtl])) .sn-pagination--controls--label:last-of-type,:root:not([dir=rtl]) .sn-pagination--controls--label:last-of-type{margin-left:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) .sn-pagination--controls--label:last-of-type,:root[dir=rtl] .sn-pagination--controls--label:last-of-type{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-pagination--security-constraint{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border-top:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid;color:RGB(var(--now-color_alert--low-2,102,102,102));display:flex;font-size:.75rem;justify-content:center;padding:.5rem 0;width:100%}.sn-pagination--security-constraint+.sn-pagination{border:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid}.sn-pagination-container{display:flex;width:100%}.sn-list-group{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));list-style:none;margin:0 0 calc(var(--now-scale-space--md, 1)*.75rem) 0;padding:0;position:relative;width:100%}.sn-list-group.global{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-list-group:focus{outline:none}.sn-list-group.is-last-of-type.sn-list-group--item.is-last-of-type,.sn-list-group:last-of-type.sn-list-group--item:last-of-type{border-bottom:none;padding:.75rem .75rem 0}.sn-list-group.is-collapsed{max-height:0;padding:0}.sn-list-group.has-list{max-height:100vh;padding:0 .5rem 0 .75rem}.sn-list-group.has-list.is-collapsed{max-height:0;padding:0}.sn-dropdown .sn-list-group{max-height:12.5rem;overflow-x:hidden;overflow-y:auto}.sn-typeahead .sn-list-group.is-first-of-type .sn-list-group--header,.sn-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding:0 0 .5rem}.sn-list-group--header{align-items:center;background:transparent;border:none;border-bottom:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;font-weight:600;margin:0;padding:.75rem .75rem .5rem;position:relative;text-decoration:none;width:100%}.sn-list-group--header:focus{outline:none}.sn-list-group--header__selectable{cursor:pointer}.sn-list-group--header__selectable.is-focus .sn-list-group--content,.sn-list-group--header__selectable.is-hover .sn-list-group--content,.sn-list-group--header__selectable:focus .sn-list-group--content,.sn-list-group--header__selectable:hover .sn-list-group--content{color:RGB(var(--now-color--primary-1,30,133,109))}.sn-list-group--header__selectable.is-focus .sn-list-group--content span,.sn-list-group--header__selectable:focus .sn-list-group--content span{text-decoration:underline}.sn-list-group__simple .sn-list-group--header{border:none;padding:.5rem}.sn-typeahead .sn-list-group--header{padding:.75rem 0 .5rem}.sn-list-group--item{border-bottom:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid;border-radius:.125rem;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;flex-direction:column;font-size:1rem;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--md, 1)*.75rem);position:relative;text-decoration:none}.sn-list-group--item.-global:focus{border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid}.sn-list-group--item:focus{outline:none}.sn-list-group--item.is-focus:before,.sn-list-group--item.is-hover:before,.sn-list-group--item:focus:before,.sn-list-group--item:hover:before{border-radius:.125rem;bottom:-1px;content:\\\"\\\";left:0;position:absolute;right:0;top:-1px}.sn-chat-queue .sn-list-group--item.is-focus:before,.sn-chat-queue .sn-list-group--item.is-hover:before,.sn-chat-queue .sn-list-group--item:focus:before,.sn-chat-queue .sn-list-group--item:hover:before{border-radius:0}.sn-list-group--item.is-hover:before,.sn-list-group--item:hover:before{background:RGB(var(--now-color--primary-0,221,237,233));border:RGB(var(--now-color--primary-0,221,237,233)) 1px solid}.sn-list-group--item.is-focus,.sn-list-group--item:focus{z-index:1}.sn-list-group--item.is-focus:before,.sn-list-group--item:focus:before{background:RGB(var(--now-color--primary-0,221,237,233));border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid}.sn-list-group--item.is-disabled{pointer-events:none}.sn-list-group--item.sn-list-group--item__grid{align-items:flex-start;border:none;display:inline-flex;flex-direction:row;padding:.75rem;width:360px}.sn-list-group--item.sn-list-group--item__grid.global{width:348px}.sn-dropdown__above .sn-list-group--item{padding:10px .5rem}.sn-dropdown.has-currency .sn-list-group--item{min-height:1.5rem;padding:.5rem}.sn-global-search .sn-list-group--item{border-bottom:0;vertical-align:top}.sn-list-group.is-editing .sn-list-group--item.has-list{padding:0 0 0 .75rem}.sn-list-group__simple .sn-list-group--item{align-items:center;border:none;flex-direction:row;padding:.5rem}.sn-list-group__simple .sn-list-group--item.has-list{cursor:auto;padding:0 .5rem 0 .75rem}.sn-list-group__simple .sn-list-group--item.has-list:before{display:none}.sn-list-group__simple .sn-list-group--item.is-focus,.sn-list-group__simple .sn-list-group--item.is-hover,.sn-list-group__simple .sn-list-group--item:focus,.sn-list-group__simple .sn-list-group--item:hover{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-list-group__simple .sn-list-group--item.is-focus:before,.sn-list-group__simple .sn-list-group--item.is-hover:before,.sn-list-group__simple .sn-list-group--item:focus:before,.sn-list-group__simple .sn-list-group--item:hover:before{bottom:0}.sn-list-group.mod-chat-queue .sn-list-group--item{flex-direction:row}.sn-list-group.mod-chat-queue .sn-list-group--item:before{border-radius:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item{cursor:default}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item:before{display:none}.sn-list-group--item--title{display:inline-flex;font-weight:600;position:relative;width:100%}.sn-dropdown .sn-list-group--item--title{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:1rem;padding:0}.sn-list-group--item--title span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap}.sn-list-group--item>.sn-list-group{margin:0}.sn-list-group--content{align-items:center;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:inline-flex;flex:0 1 auto;overflow:hidden;padding:0 .5rem 0 0;position:relative}.sn-list-group--content.is-last-of-type,.sn-list-group--content:last-of-type{padding:0}.sn-list-group--content.has-subtext{color:RGB(var(--now-color_alert--low-2,102,102,102));font-size:.75rem;justify-content:flex-end}.sn-list-group--content.has-subtext .is-match{font-weight:600;text-decoration:underline}.sn-list-group--content.-global{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;max-width:230px;white-space:normal;word-break:break-word}.sn-list-group--content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap;word-break:break-word}.sn-agent-assist .sn-list-group--content{justify-content:space-between}.sn-dropdown .sn-list-group--content{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));flex:1 1 auto;padding:0 .5rem 0 0}.sn-dropdown .sn-list-group--content.has-subtext{padding:0}.sn-list-group.mod-chat-queue .sn-list-group--content.is-first-of-type,.sn-list-group.mod-chat-queue .sn-list-group--content:first-of-type{align-items:flex-start;flex:1 1 auto;flex-direction:column}.sn-list-group.mod-chat-queue .sn-list-group--content.is-last-of-type,.sn-list-group.mod-chat-queue .sn-list-group--content:last-of-type{flex:0 0 auto}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content{padding:.5rem 0 0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content.is-first-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content:first-of-type{padding:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content{align-items:flex-start;flex-direction:column}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content.is-last-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content:last-of-type{flex:1 1 auto;padding:0 0 0 .5rem}.sn-list-group--header .sn-list-group--content,.sn-list-group__simple .sn-list-group--content{flex:1 1 auto}.sn-list-group--header .sn-list-group--content.is-last-of-type,.sn-list-group--header .sn-list-group--content:last-of-type{justify-content:flex-end}.sn-list-group--header .sn-list-group--content.is-only-of-type,.sn-list-group--header .sn-list-group--content:only-of-type{justify-content:flex-start}.sn-list-group--content__static,.sn-list-group--header .sn-list-group--content__static,.sn-list-group__simple .sn-list-group--content__static{flex:0 0 auto}.sn-list-group--header .sn-list-group--content__static.is-first-child,.sn-list-group--header .sn-list-group--content__static:first-child{justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-list-group--header .sn-list-group--content__static.is-first-child,:host(:not([dir=rtl])) .sn-list-group--header .sn-list-group--content__static:first-child,:root:not([dir=rtl]) .sn-list-group--header .sn-list-group--content__static.is-first-child,:root:not([dir=rtl]) .sn-list-group--header .sn-list-group--content__static:first-child{margin-left:calc(var(--now-scale-space--md, 1)*.75rem*-1)}:host([dir=rtl]) .sn-list-group--header .sn-list-group--content__static.is-first-child,:host([dir=rtl]) .sn-list-group--header .sn-list-group--content__static:first-child,:root[dir=rtl] .sn-list-group--header .sn-list-group--content__static.is-first-child,:root[dir=rtl] .sn-list-group--header .sn-list-group--content__static:first-child{margin-right:calc(var(--now-scale-space--md, 1)*.75rem*-1)}:host(:not([dir=rtl])) .sn-list-group--header .sn-list-group--content__static.is-first-child,:host(:not([dir=rtl])) .sn-list-group--header .sn-list-group--content__static:first-child,:root:not([dir=rtl]) .sn-list-group--header .sn-list-group--content__static.is-first-child,:root:not([dir=rtl]) .sn-list-group--header .sn-list-group--content__static:first-child{padding-right:1rem}:host([dir=rtl]) .sn-list-group--header .sn-list-group--content__static.is-first-child,:host([dir=rtl]) .sn-list-group--header .sn-list-group--content__static:first-child,:root[dir=rtl] .sn-list-group--header .sn-list-group--content__static.is-first-child,:root[dir=rtl] .sn-list-group--header .sn-list-group--content__static:first-child{padding-left:1rem}.sn-list-group--content__meta{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:block;flex-wrap:wrap;width:100%}.sn-list-group--content__meta>span{-webkit-hyphens:none;hyphens:none;overflow:initial;text-overflow:clip;white-space:normal;word-break:break-word}.sn-list-group--content__meta>span span:after{content:\\\"|\\\";margin:0 calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-list-group--content__meta>span span.is-last-of-type:after,.sn-list-group--content__meta>span span:last-of-type:after{display:none}.sn-list-group--content__description{margin-top:calc(var(--now-scale-space--lg, 1)*1rem);width:100%}.sn-list-group--content__description>span{-webkit-hyphens:none;hyphens:none;overflow:initial;text-overflow:clip;white-space:normal;word-break:break-word}.sn-list-group--content__description__global{margin-top:calc(var(--now-scale-space--md, 1)*.75rem);text-overflow:clip}.sn-list-group--content__wrap{flex-wrap:wrap;justify-content:flex-start}.sn-list-group--content__wrap.sn-list-group--content.has-subtext{justify-content:flex-start}.sn-list-group--content--group{display:flex}.sn-quick-lookup .sn-list-group--content--group{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-quick-lookup .sn-list-group--content--header{padding:.75rem 0 .5rem}.sn-list-group--row{align-items:center;display:flex;flex-wrap:wrap}.sn-list-group--actions{align-items:center;display:inline-flex;flex:0 0 auto;height:10px}:host(:not([dir=rtl])) .sn-list-group--actions,:root:not([dir=rtl]) .sn-list-group--actions{padding-right:.5rem}:host([dir=rtl]) .sn-list-group--actions,:root[dir=rtl] .sn-list-group--actions{padding-left:.5rem}:host(:not([dir=rtl])) .sn-list-group--actions.is-last-child,:host(:not([dir=rtl])) .sn-list-group--actions:last-child,:root:not([dir=rtl]) .sn-list-group--actions.is-last-child,:root:not([dir=rtl]) .sn-list-group--actions:last-child{padding-right:0}:host([dir=rtl]) .sn-list-group--actions.is-last-child,:host([dir=rtl]) .sn-list-group--actions:last-child,:root[dir=rtl] .sn-list-group--actions.is-last-child,:root[dir=rtl] .sn-list-group--actions:last-child{padding-left:0}.snu-sr{clip:rect(0,0,0,0);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.snu-sr-focus:active,.snu-sr-focus:focus{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}.snu-static{flex:0 0 auto!important;width:auto!important}.sn-avatar-container,:host(sn-avatar){align-items:center;display:inline-flex}.sn-avatar{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));background-position:50%;background-size:cover;border-radius:50%;color:RGB(var(--now-color--primary-2,23,100,82));display:inline-flex;flex:0 0 auto;justify-content:center;line-height:1;position:relative}.sn-avatar:focus{outline:none}.sn-avatar.has-error{background:RGB(var(--now-color_alert--critical-0,241,206,205))}.sn-avatar.is-loading{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))}.sn-avatar__square{border-radius:0}.sn-avatar__xxl{height:64px;line-height:1;width:64px}.sn-avatar__xxl,.sn-avatar__xxl+.sn-avatar--user{font-size:1.25rem}:host(:not([dir=rtl])) .sn-avatar__xxl+.sn-avatar--user,:root:not([dir=rtl]) .sn-avatar__xxl+.sn-avatar--user{padding-left:.75rem}:host([dir=rtl]) .sn-avatar__xxl+.sn-avatar--user,:root[dir=rtl] .sn-avatar__xxl+.sn-avatar--user{padding-right:.75rem}.sn-avatar--user{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.global-header{margin-bottom:calc(var(--now-scale-space--xs, 1)*.25rem)}:host(:not([dir=rtl])) .global-text-link-content,:root:not([dir=rtl]) .global-text-link-content{margin-right:.5rem}:host([dir=rtl]) .global-text-link-content,:root[dir=rtl] .global-text-link-content{margin-left:.5rem}:host(:not([dir=rtl])) .global-list-view-icon,:root:not([dir=rtl]) .global-list-view-icon{margin-left:.25rem}:host([dir=rtl]) .global-list-view-icon,:root[dir=rtl] .global-list-view-icon{margin-right:.25rem}.global-badge-color{color:RGB(var(--now-color_alert--low-1,159,159,159))}:host(:not([dir=rtl])) .global-avatar,:root:not([dir=rtl]) .global-avatar{padding-right:.75rem}:host([dir=rtl]) .global-avatar,:root[dir=rtl] .global-avatar{padding-left:.75rem}.global-header-font{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.global-pagination{border-top:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))) 1px solid;height:2.5rem}.global-result-focus.is-focus,.global-result-focus:focus{background-color:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1));border:RGB(var(--now-color--primary-1,30,133,109)) 1px solid;outline:none}.tooltip-focus::-moz-focus-inner{border-style:none}.tooltip-focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.tooltip-focus:focus{outline:1px solid highlight}}.skip-to-sidebar-link{color:RGB(var(--now-color--link-3,1,104,124));font-size:1rem;position:absolute;text-decoration:none;top:0;transform:translateY(-100%);transition:transform .3s}.skip-to-sidebar-link:active,.skip-to-sidebar-link:focus{transform:translateY(15%)}.result-preview{height:2rem;object-fit:cover;width:2rem}.global-grid-content{width:100%}.global-grid-content .global-grid-content--title{align-items:center;display:flex;justify-content:space-between;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--unified_nav-input--color:var(--nav_menu-input--color);--unified_nav-input--color--placeholder:var(--nav_menu-input--color--placeholder);--unified_nav-input--color--opened:var(--nav_menu-input--color--opened);--unified_nav-input--background-color:var(--nav_menu-input--background-color);--unified_nav-input--background-color--hover:var(--nav_menu-input--background-color--hover);--unified_nav-input--border-color:var(--nav_menu-input--border-color);--unified_nav-search--icon-color--collapsed:var(--nav_menu-input--search-icon-color--collapsed);font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:1.25}.hidden{display:none}:host(:not([dir=rtl])) .context-dropdown-container,:root:not([dir=rtl]) .context-dropdown-container{border-left:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)))}:host([dir=rtl]) .context-dropdown-container,:root[dir=rtl] .context-dropdown-container{border-right:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)))}.context-dropdown-container .dropdown-search-context{align-items:center;background-color:inherit;justify-content:center}.context-dropdown-container .dropdown-search-context,.context-dropdown-container .dropdown-search-context.-global{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)))}.context-dropdown-container .dropdown-search-context.-global-active-input{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}@media(forced-colors:active){.context-dropdown-container:focus,.context-dropdown-container:hover{border-color:highlight!important}.context-dropdown-container:focus .dropdown-search-context,.context-dropdown-container:hover .dropdown-search-context{color:highlight!important}}.searchinput-cancel-button-wrapper{align-items:center;display:inline-flex;width:100%}.sn-global-typeahead-searchIcon{align-items:center;display:inline-flex;height:2rem;justify-content:center;width:2rem}.sn-global-typeahead-searchIcon.-global{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)))}.sn-global-typeahead-searchIcon.-global-active-input,.sn-global-typeahead-searchIcon.-is-global-mobile-view{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-global-typeahead-searchIcon.-is-global-mobile-view+.sn-global-typeahead-control{flex:1;transition:t(flex padding width,\\\"shift\\\");width:244px}.suggestions-loader{padding:.5rem}.sn-global-typeahead{align-items:center;display:inline-flex;flex:0 0 auto;font-size:.875rem;font-style:normal;font-variant:normal;font-weight:400;justify-content:flex-end;letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;width:100%;word-spacing:inherit}.sn-global-typeahead.open{border:1px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))}.sn-global-typeahead.-open-left{flex-direction:row-reverse}.sn-global-typeahead-btn{align-items:center;background:transparent;border-color:transparent;border:none;border-radius:0;color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;height:2rem;justify-content:center;line-height:inherit;margin:0;padding-bottom:0;padding-top:0;position:relative;vertical-align:middle;white-space:nowrap;width:2rem}.sn-global-typeahead-btn::-moz-focus-inner{border-style:none}.sn-global-typeahead-btn:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-global-typeahead-btn:focus{outline:1px solid highlight}}.sn-global-typeahead-btn.-clear{height:1.5rem;width:1.5rem}:host(:not([dir=rtl])) .sn-global-typeahead-btn.-clear,:root:not([dir=rtl]) .sn-global-typeahead-btn.-clear{margin-right:.5rem}:host([dir=rtl]) .sn-global-typeahead-btn.-clear,:root[dir=rtl] .sn-global-typeahead-btn.-clear{margin-left:.5rem}.sn-global-typeahead-btn.-clear.-global{background:transparent;border-radius:100%;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-global-typeahead-btn.-clear.-global.is-hover,.sn-global-typeahead-btn.-clear.-global:hover{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border:RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)))}.sn-global-typeahead-btn.-clear.is-hover,.sn-global-typeahead-btn.-clear:hover{background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--mid,.5))}.sn-global-typeahead-btn.-clear.is-focus,.sn-global-typeahead-btn.-clear:focus{background:RGBA(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),var(--now-opacity--mid,.5));color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));outline:none}.sn-global-typeahead-btn.-clear.is-selected,.sn-global-typeahead-btn.-clear:active{background:RGB(var(--now-color--primary-1,30,133,109));color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)))}.sn-global-typeahead-btn.-search.is-hover,.sn-global-typeahead-btn.-search:hover{background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--mid,.5))}.sn-global-typeahead-btn.-search.is-selected{background:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--mid,.5));color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)));outline:none}.sn-global-typeahead-btn.-search.is-selected+.sn-global-typeahead-control{flex:1;transition:t(flex padding width,\\\"shift\\\");width:100%}.sn-global-typeahead-btn.-search.is-global-mobile-view{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-global-typeahead-btn.-search.is-global-mobile-view+.sn-global-typeahead-control{flex:1;transition:t(flex padding width,\\\"shift\\\");width:244px}.sn-global-typeahead-btn.-global-mobile{border-radius:50%;color:RGB(var(--unified_nav-search--icon-color--collapsed,var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255))))}.sn-global-typeahead-btn.-global-mobile::-moz-focus-inner{border-style:none}.sn-global-typeahead-btn.-global-mobile.selected,.sn-global-typeahead-btn.-global-mobile:hover{background-color:RGBA(var(--unified_nav-input--background-color,var(--now-color_chrome--brand-4,77,96,97)),var(--now-opacity--most,.8));outline:none}.sn-global-typeahead-btn.-global-mobile:focus{box-shadow:0 0 0 .126rem RGB(var(--now-color--focus-2,1,119,142)),inset 0 0 0 .063rem RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));outline:none}.sn-global-typeahead-btn.-global-mobile:active{background-color:RGBA(var(--now-color_chrome--brand-5,41,63,64),var(--now-opacity--most,.8))}.sn-global-typeahead-btn.-uib{height:auto;padding-bottom:.75rem;padding-top:.75rem;width:auto}:host(:not([dir=rtl])) .sn-global-typeahead-btn.-uib,:root:not([dir=rtl]) .sn-global-typeahead-btn.-uib{padding-left:.75rem}:host([dir=rtl]) .sn-global-typeahead-btn.-uib,:root[dir=rtl] .sn-global-typeahead-btn.-uib{padding-right:.75rem}:host(:not([dir=rtl])) .sn-global-typeahead-btn.-uib,:root:not([dir=rtl]) .sn-global-typeahead-btn.-uib{padding-right:.75rem}:host([dir=rtl]) .sn-global-typeahead-btn.-uib,:root[dir=rtl] .sn-global-typeahead-btn.-uib{padding-left:.75rem}.sn-global-typeahead-spacer{display:inline-block;margin-bottom:0;margin-top:0}:host(:not([dir=rtl])) .sn-global-typeahead-spacer,:root:not([dir=rtl]) .sn-global-typeahead-spacer{margin-left:0}:host([dir=rtl]) .sn-global-typeahead-spacer,:root[dir=rtl] .sn-global-typeahead-spacer{margin-right:0}:host(:not([dir=rtl])) .sn-global-typeahead-spacer,:root:not([dir=rtl]) .sn-global-typeahead-spacer{margin-right:0}:host([dir=rtl]) .sn-global-typeahead-spacer,:root[dir=rtl] .sn-global-typeahead-spacer{margin-left:0}.sn-global-typeahead-control-container{align-items:center;display:flex;justify-content:flex-end;width:100%}.sn-global-typeahead-control-container.-global{background:RGB(var(--unified_nav-input--background-color,var(--now-color_chrome--brand-4,77,96,97)));border:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:.25rem;width:244px}.sn-global-typeahead-control-container.-global:hover{background:RGBA(var(--unified_nav-input--background-color--hover,var(--now-color_chrome--brand-3,114,128,129)),var(--now-opacity--most,.8))}.sn-global-typeahead-control-container.-global-active-input{width:320px}.sn-global-typeahead-control-container.-global-active-input,.sn-global-typeahead-control-container.-global-active-input-mobile-view{background:RGBA(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-global-typeahead-control-container.-global-active-input-mobile-view{width:234px}.sn-global-typeahead-control-container.-global-mobile-view{background:RGBA(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));width:249px}.sn-global-typeahead-control{align-items:center;color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)));display:flex;flex:0;height:32px;overflow:hidden;padding:0;transition:t(flex padding width,shift);width:0}@supports(-webkit-hyphens:none){.sn-global-typeahead-control{transform:translateZ(0)}}.sn-global-typeahead-control.-global{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex:1;width:100%}.sn-global-typeahead-control.-uib-legacy{background:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--mid,.5));border-radius:0 .125rem 0 0}.sn-global-typeahead-control.-global-mobile-view{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.sn-global-typeahead-control.-global-default-state{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));flex:1;width:100%}.sn-global-typeahead-input{background:transparent;border:0;color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)));cursor:text;display:inline-flex;flex:1 1 auto;font-family:inherit;font-size:1rem;height:100%;margin:0;min-width:1px;position:relative;width:100%}.sn-global-typeahead-input::placeholder{color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)),var(--now-opacity--more,.65));font-size:1rem;font-weight:200}.sn-global-typeahead-input::-moz-placeholder{line-height:1.75em}:host(:not([dir=rtl])) .sn-global-typeahead-input,:root:not([dir=rtl]) .sn-global-typeahead-input{padding-right:.5rem}:host([dir=rtl]) .sn-global-typeahead-input,:root[dir=rtl] .sn-global-typeahead-input{padding-left:.5rem}.sn-global-typeahead-input::-ms-clear{display:none}.sn-global-typeahead-input:focus{outline:none}.sn-global-typeahead-input.-global{color:inherit}.sn-global-typeahead-input.-global::placeholder{color:RGB(var(--unified_nav-input--color--placeholder,var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255))));font-size:inherit;font-weight:400}.sn-global-typeahead-input.-global-active-input{color:inherit}.sn-global-typeahead-input.-global-active-input::placeholder{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:inherit;font-weight:400}.sn-global-typeahead .cancel-button-mobile-view{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer}:host(:not([dir=rtl])) .sn-global-typeahead .cancel-button-mobile-view,:root:not([dir=rtl]) .sn-global-typeahead .cancel-button-mobile-view{margin-left:.5rem}:host([dir=rtl]) .sn-global-typeahead .cancel-button-mobile-view,:root[dir=rtl] .sn-global-typeahead .cancel-button-mobile-view{margin-right:.5rem}:host(:not([dir=rtl])) .sn-global-typeahead .cancel-button-mobile-view,:root:not([dir=rtl]) .sn-global-typeahead .cancel-button-mobile-view{margin-right:.5rem}:host([dir=rtl]) .sn-global-typeahead .cancel-button-mobile-view,:root[dir=rtl] .sn-global-typeahead .cancel-button-mobile-view{margin-left:.5rem}.sn-global-typeahead .cancel-button-mobile-view::-moz-focus-inner{border-style:none}.sn-global-typeahead .cancel-button-mobile-view.selected,.sn-global-typeahead .cancel-button-mobile-view:hover{background-color:RGBA(var(--unified_nav-input--background-color,var(--now-color_chrome--brand-4,77,96,97)),var(--now-opacity--most,.8));outline:none}.sn-global-typeahead .cancel-button-mobile-view:focus{box-shadow:0 0 0 .126rem RGB(var(--now-color--focus-2,1,119,142)),inset 0 0 0 .063rem RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));outline:none}.sn-global-typeahead .cancel-button-mobile-view:active{background-color:RGBA(var(--now-color_chrome--brand-5,41,63,64),var(--now-opacity--most,.8))}@keyframes transitionClicked{0%{opacity:var(--now-opacity--most,.8)}to{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));opacity:var(--now-opacity--less,.25)}}.sn-global-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding-bottom:.5rem;padding-top:0}:host(:not([dir=rtl])) .sn-global-typeahead .sn-list-group:first-of-type .sn-list-group--header,:root:not([dir=rtl]) .sn-global-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding-left:0}:host([dir=rtl]) .sn-global-typeahead .sn-list-group:first-of-type .sn-list-group--header,:root[dir=rtl] .sn-global-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding-right:0}.sn-global-typeahead .sn-list-group--item:hover:before{background-color:transparent;border-color:transparent}.sn-global-typeahead .sn-list-group--item.is-hover:before{background-color:RGB(var(--now-color--primary-0,221,237,233));border-color:RGB(var(--now-color--primary-1,30,133,109))}.sn-global-typeahead .sn-list-group .global-list-item{border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem}.sn-global-typeahead .sn-list-group .global-list-item.--term{height:32px;padding-bottom:4px;padding-top:4px}.sn-global-typeahead .sn-list-group .global-list-item.is-hover:before,.sn-global-typeahead .sn-list-group .global-list-item:hover:before{background:RGB(var(--now-color--primary-1,30,133,109));border:none;opacity:var(--now-opacity--least,.1)}.sn-global-typeahead .sn-list-group .global-list-item.is-focus:before,.sn-global-typeahead .sn-list-group .global-list-item:focus:before{border:1px solid RGB(var(--now-color--primary-1,30,133,109))}@media(forced-colors:active){.sn-global-typeahead .sn-list-group .global-list-item.is-focus,.sn-global-typeahead .sn-list-group .global-list-item.is-hover,.sn-global-typeahead .sn-list-group .global-list-item:focus,.sn-global-typeahead .sn-list-group .global-list-item:hover{background-color:highlight;border:.1px solid transparent;forced-color-adjust:none}}.sn-global-typeahead .sn-popover{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-radius:0 0 .125rem .125rem;padding-bottom:1rem;padding-top:0;position:absolute;z-index:1000}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover{padding-left:1rem}:host([dir=rtl]) .sn-global-typeahead .sn-popover,:root[dir=rtl] .sn-global-typeahead .sn-popover{padding-right:1rem}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover{padding-right:1rem}:host([dir=rtl]) .sn-global-typeahead .sn-popover,:root[dir=rtl] .sn-global-typeahead .sn-popover{padding-left:1rem}.sn-global-typeahead .sn-popover.-global{border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-height:389px}.sn-global-typeahead .sn-popover.-global.-mobile-view{width:244px!important}.sn-global-typeahead .sn-popover--footer{border-color:RGB(var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255)));padding:0}.sn-global-typeahead .sn-popover--footer .sn-url{color:RGB(var(--now-color--link-2,1,119,142));cursor:pointer;font-family:inherit;font-size:1rem;justify-content:center;padding-bottom:0;padding-top:1rem;text-align:center;width:100%}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover--footer .sn-url,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover--footer .sn-url{padding-left:1rem}:host([dir=rtl]) .sn-global-typeahead .sn-popover--footer .sn-url,:root[dir=rtl] .sn-global-typeahead .sn-popover--footer .sn-url{padding-right:1rem}.sn-global-typeahead .sn-popover--footer .sn-url.suggestions-footer-global{padding-left:0!important}.sn-global-typeahead .sn-popover .sn-list-group:nth-child(n+2){padding-top:1rem}.sn-global-typeahead .sn-popover .sn-list-group--content{width:100%}.sn-global-typeahead .sn-popover .sn-list-group--item{padding:.5rem}.sn-global-typeahead .sn-popover .sn-list-group--header{margin-top:1rem;padding-bottom:.25rem;padding-top:0}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover .sn-list-group--header,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group--header{padding-left:0}:host([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group--header,:root[dir=rtl] .sn-global-typeahead .sn-popover .sn-list-group--header{padding-right:0}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover .sn-list-group--header,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group--header{padding-right:0}:host([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group--header,:root[dir=rtl] .sn-global-typeahead .sn-popover .sn-list-group--header{padding-left:0}.sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header{padding-bottom:.25rem;padding-top:0}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header{padding-left:0}:host([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header,:root[dir=rtl] .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header{padding-right:0}:host(:not([dir=rtl])) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header,:root:not([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header{padding-right:0}:host([dir=rtl]) .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header,:root[dir=rtl] .sn-global-typeahead .sn-popover .sn-list-group:first-of-type .sn-list-group--header{padding-left:0}.sn-global-typeahead .sn-popover .sn-list-group .result-section-heading--global{color:RGB(var(--now-color--primary-2,23,100,82));font-size:.75rem}.sn-global-typeahead .sn-url{color:RGB(var(--now-color--primary-1,30,133,109))}.sn-global-typeahead .sn-url span.is-hover{text-decoration:underline}@media(forced-colors:active){.sn-global-typeahead-control-container.-global{border-color:buttonborder}.sn-global-typeahead-control-container.-global:hover{border-color:highlight!important}.sn-global-typeahead-control-container.-global-active-input{border-color:highlight!important;outline:1px solid highlight}}.sn-preserve-whitepsace{white-space:pre}.sncwsgsta-record{position:relative}.sn-popover{border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));max-height:340px;overflow:auto}.result-section .sn-list-group--content{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));overflow:visible!important}.result-section .aria-live-region{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sn-list-group--header,.sn-list-group--item{border-bottom-color:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}.sn-list-group--item--title{font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;line-height:1.25}.sn-list-group{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;padding:0;position:relative;width:100%}.sn-list-group:focus{outline:none}.sn-list-group.is-last-of-type.sn-list-group--item.is-last-of-type,.sn-list-group:last-of-type.sn-list-group--item:last-of-type{border-bottom:none;padding:.75rem .75rem 0}.sn-list-group.is-collapsed{max-height:0;padding:0}.sn-list-group.has-list{max-height:100vh;padding:0 .5rem 0 .75rem}.sn-list-group.has-list.is-collapsed{max-height:0;padding:0}.sn-dropdown .sn-list-group{max-height:200px;overflow-x:hidden;overflow-y:auto}.sn-list-group .sn-list-group{margin:-.25rem 0 0;overflow:hidden;padding:.25rem 0}.sn-list-group .sn-list-group.is-collapsed{max-height:0;padding:0}.sn-list-group .sn-list-group.has-list{padding:.25rem .5rem .25rem .75rem}.sn-list-group .section-header-global{border:none}.sn-typeahead .sn-list-group.is-first-of-type .sn-list-group--header,.sn-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding:0 0 .5rem}.sn-list-group--header{align-items:center;background:transparent;border:none;border-bottom:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;font-weight:600;margin:0;padding:.75rem .75rem .5rem;position:relative;text-decoration:none;width:100%}.sn-list-group--header:focus{outline:none}.sn-list-group__simple .sn-list-group--header{border:none;padding:.5rem}.sn-typeahead .sn-list-group--header{padding:.75rem 0 .5rem}.sn-list-group--item{border-bottom:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));border-radius:.125rem;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;flex-direction:column;padding:.5rem .75rem;position:relative;text-decoration:none}.sn-list-group--item.is-focus,.sn-list-group--item.is-hover,.sn-list-group--item:focus,.sn-list-group--item:hover{outline:none}.sn-list-group--item.is-focus:before,.sn-list-group--item.is-hover:before,.sn-list-group--item:focus:before,.sn-list-group--item:hover:before{border-radius:.125rem;bottom:-1px;content:\\\"\\\";left:0;position:absolute;right:0;top:-1px}.sn-chat-queue .sn-list-group--item.is-focus:before,.sn-chat-queue .sn-list-group--item.is-hover:before,.sn-chat-queue .sn-list-group--item:focus:before,.sn-chat-queue .sn-list-group--item:hover:before{border-radius:0}.sn-list-group--item.is-hover:before,.sn-list-group--item:hover:before{background:RGB(var(--now-color_selection--primary-0,221,237,233));border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-list-group--item.is-focus,.sn-list-group--item:focus{z-index:1}.sn-list-group--item.is-focus:before,.sn-list-group--item:focus:before{background:RGB(var(--now-color_selection--primary-0,221,237,233));border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-list-group--item.is-disabled{pointer-events:none}.sn-list-group--item.sn-list-group--item__grid{align-items:flex-start;border:none;display:inline-flex;flex-direction:row;margin:0 1.5rem .75rem 0;padding:.75rem;width:360px}.sn-chat-queue .sn-list-group--item{border-radius:0;flex-direction:row;padding:.5rem .5rem .5rem .75rem}.sn-list-group--item .sn-chat-toolbar--popup{margin:0 0 .75rem}.sn-dropdown .sn-list-group--item,.sn-list-group--item .sn-chat-toolbar--popup{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.sn-dropdown .sn-list-group--item{border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex-direction:row;padding:.75rem .75rem}.sn-dropdown .sn-list-group--item:before{display:none}.sn-dropdown .sn-list-group--item.is-last-of-type,.sn-dropdown .sn-list-group--item:last-of-type{border-radius:0 0 .125rem .125rem}.sn-dropdown .sn-list-group--item.is-hover-disabled:hover,.sn-dropdown .sn-list-group--item.is-selected.is-hover-disabled{background:transparent}.sn-dropdown .sn-list-group--item .is-match{font-weight:600;text-decoration:underline}.sn-dropdown__above .sn-list-group--item{padding:10px .5rem}.sn-dropdown.has-currency .sn-list-group--item{min-height:1.5rem;padding:.5rem}.sn-global-search .sn-list-group--item{border-bottom:0;vertical-align:top}.sn-list-group.is-editing .sn-list-group--item.has-list{padding:0 0 0 .75rem}.sn-list-group__simple .sn-list-group--item{align-items:center;border:none;flex-direction:row;padding:.5rem}.sn-list-group__simple .sn-list-group--item.has-list{cursor:auto;padding:0 .5rem 0 .75rem}.sn-list-group__simple .sn-list-group--item.has-list:before{display:none}.sn-list-group__simple .sn-list-group--item.is-focus,.sn-list-group__simple .sn-list-group--item.is-hover,.sn-list-group__simple .sn-list-group--item:focus,.sn-list-group__simple .sn-list-group--item:hover{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-list-group__simple .sn-list-group--item.is-focus:before,.sn-list-group__simple .sn-list-group--item.is-hover:before,.sn-list-group__simple .sn-list-group--item:focus:before,.sn-list-group__simple .sn-list-group--item:hover:before{bottom:0}.sn-list-group.mod-chat-queue .sn-list-group--item{flex-direction:row}.sn-list-group.mod-chat-queue .sn-list-group--item:before{border-radius:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item{cursor:default}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item:before{display:none}.sn-list-group--item--title{display:inline-flex;font-weight:600;position:relative;width:100%}.sn-dropdown .sn-list-group--item--title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));padding:0}.sn-list-group--item--title span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-list-group--item>.sn-list-group{margin:0}.sn-list-group--content{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:inline-flex;flex:0 1 auto;overflow:hidden;padding:0 .5rem 0 0;position:relative}.sn-list-group--content.is-last-of-type,.sn-list-group--content:last-of-type{padding:0}.sn-list-group--content.has-subtext{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));justify-content:flex-end}.sn-list-group--content.has-subtext .is-match{font-weight:600;text-decoration:underline}.sn-list-group--content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-agent-assist .sn-list-group--content{justify-content:space-between}.sn-dropdown .sn-list-group--content{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex:1 1 auto;padding:0 .5rem 0 0}.sn-dropdown .sn-list-group--content.has-subtext{padding:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content{padding:.5rem 0 0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content.is-first-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content:first-of-type{padding:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content{align-items:flex-start;flex-direction:column}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content.is-last-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content:last-of-type{flex:1 1 auto;padding:0 0 0 .5rem}.sn-list-group--header .sn-list-group--content,.sn-list-group__simple .sn-list-group--content{flex:1 1 auto}.sn-list-group--header .sn-list-group--content.is-last-of-type,.sn-list-group--header .sn-list-group--content:last-of-type{justify-content:flex-end}.sn-list-group--header .sn-list-group--content.is-only-of-type,.sn-list-group--header .sn-list-group--content:only-of-type{justify-content:flex-start}.sn-list-group--content__static,.sn-list-group--header .sn-list-group--content__static,.sn-list-group__simple .sn-list-group--content__static{flex:0 0 auto}.sn-list-group--header .sn-list-group--content__static.is-first-child,.sn-list-group--header .sn-list-group--content__static:first-child{justify-content:center;margin:0 0 0 -.75rem;padding:0 .75rem 0 0;width:.75rem}.sn-list-group--content__description{margin-top:.75rem;width:100%}.sn-list-group--content__description>span{-webkit-hyphens:none;hyphens:none;overflow:initial;text-overflow:clip;white-space:normal;word-break:break-word}.sn-list-group--content__wrap{flex-wrap:wrap;justify-content:flex-start}.sn-list-group--content__wrap.sn-list-group--content.has-subtext{justify-content:flex-start}.sn-list-group--content--group{display:flex}.sn-quick-lookup .sn-list-group--content--group{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-quick-lookup .sn-list-group--content--header{padding:.75rem 0 .5rem}.sn-list-group--row{align-items:center;display:flex;flex-wrap:wrap}.sn-list-group .section-divider-global{border-bottom:1px;border-color:var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214));width:100%}.snu-sr{clip:rect(0,0,0,0);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.snu-sr-focus:active,.snu-sr-focus:focus{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}.sn-list-ul-group{margin:0;padding:0}ul{list-style:none;margin:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{line-height:1.25;position:relative}.sn-list-group--item:hover:before{background-color:transparent;border-color:transparent}.sn-list-group--item.is-hover:before{background-color:var(--now-color--primary-0,221,237,233);border:var(--now-color--primary-1,30,133,109) 1px solid}.sn-list-group--content{min-height:32px}.sn-list-group--item--title{font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;line-height:1.25}.sn-global-result-record-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));margin-bottom:.5rem}.sn-typeahead-spacer{display:inline-block;margin:0 .75rem}.sn-list-group{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;padding:0;position:relative;width:100%}.sn-list-group:focus{outline:none}.sn-list-group.is-last-of-type.sn-list-group--item.is-last-of-type,.sn-list-group:last-of-type.sn-list-group--item:last-of-type{border-bottom:none;padding:.75rem .75rem 0}.sn-list-group.is-collapsed{max-height:0;padding:0}.sn-list-group.has-list{max-height:100vh;padding:0 .5rem 0 .75rem}.sn-list-group.has-list.is-collapsed{max-height:0;padding:0}.sn-dropdown .sn-list-group{max-height:200px;overflow-x:hidden;overflow-y:auto}.sn-list-group .sn-list-group{margin:-.25rem 0 0;overflow:hidden;padding:.25rem 0}.sn-list-group .sn-list-group.is-collapsed{max-height:0;padding:0}.sn-list-group .sn-list-group.has-list{padding:.25rem .5rem .25rem .75rem}.sn-typeahead .sn-list-group.is-first-of-type .sn-list-group--header,.sn-typeahead .sn-list-group:first-of-type .sn-list-group--header{padding:0 0 .5rem}.sn-list-group--header{align-items:center;background:transparent;border:none;border-bottom:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;font-weight:600;margin:0;padding:.75rem .75rem .5rem;position:relative;text-decoration:none;width:100%}.sn-list-group--header:focus{outline:none}.sn-list-group__simple .sn-list-group--header{border:none;padding:.5rem}.sn-typeahead .sn-list-group--header{padding:.75rem 0 .5rem}.sn-list-group--item{border-bottom:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));border-radius:.125rem;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;flex-direction:column;padding:.5rem .75rem;position:relative;text-decoration:none}.sn-list-group--item.is-focus,.sn-list-group--item.is-hover,.sn-list-group--item:focus,.sn-list-group--item:hover{outline:none}.sn-list-group--item.is-focus:before,.sn-list-group--item.is-hover:before,.sn-list-group--item:focus:before,.sn-list-group--item:hover:before{border-radius:.125rem;bottom:-1px;content:\\\"\\\";left:0;position:absolute;right:0;top:-1px}.sn-chat-queue .sn-list-group--item.is-focus:before,.sn-chat-queue .sn-list-group--item.is-hover:before,.sn-chat-queue .sn-list-group--item:focus:before,.sn-chat-queue .sn-list-group--item:hover:before{border-radius:0}.sn-list-group--item.is-hover:before,.sn-list-group--item:hover:before{background:RGB(var(--now-color_selection--primary-0,221,237,233));border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-list-group--item.is-focus,.sn-list-group--item:focus{z-index:1}.sn-list-group--item.is-focus:before,.sn-list-group--item:focus:before{background:RGB(var(--now-color_selection--primary-0,221,237,233));border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))}.sn-list-group--item.is-disabled{pointer-events:none}.sn-list-group--item.sn-list-group--item__grid{align-items:flex-start;border:none;display:inline-flex;flex-direction:row;margin:0 1.5rem .75rem 0;padding:.75rem;width:360px}.sn-chat-queue .sn-list-group--item{border-radius:0;flex-direction:row;padding:.5rem .5rem .5rem .75rem}.sn-list-group--item .sn-chat-toolbar--popup{margin:0 0 .75rem}.sn-dropdown .sn-list-group--item,.sn-list-group--item .sn-chat-toolbar--popup{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.sn-dropdown .sn-list-group--item{border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex-direction:row;padding:.75rem .75rem}.sn-dropdown .sn-list-group--item:before{display:none}.sn-dropdown .sn-list-group--item.is-last-of-type,.sn-dropdown .sn-list-group--item:last-of-type{border-radius:0 0 .125rem .125rem}.sn-dropdown .sn-list-group--item.is-hover-disabled:hover,.sn-dropdown .sn-list-group--item.is-selected.is-hover-disabled{background:transparent}.sn-dropdown .sn-list-group--item .is-match{font-weight:600;text-decoration:underline}.sn-dropdown__above .sn-list-group--item{padding:10px .5rem}.sn-dropdown.has-currency .sn-list-group--item{min-height:1.5rem;padding:.5rem}.sn-global-search .sn-list-group--item{border-bottom:0;vertical-align:top}.sn-list-group.is-editing .sn-list-group--item.has-list{padding:0 0 0 .75rem}.sn-list-group__simple .sn-list-group--item{align-items:center;border:none;flex-direction:row;padding:.5rem}.sn-list-group__simple .sn-list-group--item.has-list{cursor:auto;padding:0 .5rem 0 .75rem}.sn-list-group__simple .sn-list-group--item.has-list:before{display:none}.sn-list-group__simple .sn-list-group--item.is-focus,.sn-list-group__simple .sn-list-group--item.is-hover,.sn-list-group__simple .sn-list-group--item:focus,.sn-list-group__simple .sn-list-group--item:hover{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-list-group__simple .sn-list-group--item.is-focus:before,.sn-list-group__simple .sn-list-group--item.is-hover:before,.sn-list-group__simple .sn-list-group--item:focus:before,.sn-list-group__simple .sn-list-group--item:hover:before{bottom:0}.sn-list-group.mod-chat-queue .sn-list-group--item{flex-direction:row}.sn-list-group.mod-chat-queue .sn-list-group--item:before{border-radius:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item{cursor:default}.sn-list-group.mod-chat-queue-transfer .sn-list-group--item:before{display:none}.sn-list-group--item--title{display:inline-flex;font-weight:600;position:relative;width:100%}.sn-dropdown .sn-list-group--item--title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));padding:0}.sn-list-group--item--title span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-list-group--item>.sn-list-group{margin:0}.sn-list-group--content{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:inline-flex;flex:0 1 auto;overflow:hidden;padding:0 .5rem 0 0;position:relative}.sn-list-group--content.is-last-of-type,.sn-list-group--content:last-of-type{padding:0}.sn-list-group--content.has-subtext{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));justify-content:flex-end}.sn-list-group--content.has-subtext .is-match{font-weight:600;text-decoration:underline}.sn-list-group--content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-agent-assist .sn-list-group--content{justify-content:space-between}.sn-dropdown .sn-list-group--content{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex:1 1 auto;padding:0 .5rem 0 0}.sn-dropdown .sn-list-group--content.has-subtext{padding:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content{padding:.5rem 0 0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content.is-first-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content:first-of-type{padding:0}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content{align-items:flex-start;flex-direction:column}.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content.is-last-of-type,.sn-list-group.mod-chat-queue-transfer .sn-list-group--content .sn-list-group--content:last-of-type{flex:1 1 auto;padding:0 0 0 .5rem}.sn-list-group--header .sn-list-group--content,.sn-list-group__simple .sn-list-group--content{flex:1 1 auto}.sn-list-group--header .sn-list-group--content.is-last-of-type,.sn-list-group--header .sn-list-group--content:last-of-type{justify-content:flex-end}.sn-list-group--header .sn-list-group--content.is-only-of-type,.sn-list-group--header .sn-list-group--content:only-of-type{justify-content:flex-start}.sn-list-group--content__static,.sn-list-group--header .sn-list-group--content__static,.sn-list-group__simple .sn-list-group--content__static{flex:0 0 auto}.sn-list-group--header .sn-list-group--content__static.is-first-child,.sn-list-group--header .sn-list-group--content__static:first-child{justify-content:center;margin:0 0 0 -.75rem;padding:0 .75rem 0 0;width:.75rem}.sn-list-group--content__description{margin-top:.75rem;width:100%}.sn-list-group--content__description>span{-webkit-hyphens:none;hyphens:none;overflow:initial;text-overflow:clip;white-space:normal;word-break:break-word}.sn-list-group--content__wrap{flex-wrap:wrap;justify-content:flex-start}.sn-list-group--content__wrap.sn-list-group--content.has-subtext{justify-content:flex-start}.sn-list-group--content--group{display:flex}.sn-quick-lookup .sn-list-group--content--group{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-quick-lookup .sn-list-group--content--header{padding:.75rem 0 .5rem}.sn-list-group--row{align-items:center;display:flex;flex-wrap:wrap}.snu-sr{clip:rect(0,0,0,0);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.snu-sr-focus:active,.snu-sr-focus:focus{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_componentWorkspaceGlobalSearchTab.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_componentWorkspaceGlobalSearchTypeahead.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_componentWorkspaceGlobalSearchTypeaheadItemRecordElement.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _assertThisInitialized(e) {\n  if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n  return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n    return t.__proto__ || Object.getPrototypeOf(t);\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n  if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n  t.prototype = Object.create(e && e.prototype, {\n    constructor: {\n      value: t,\n      writable: !0,\n      configurable: !0\n    }\n  }), Object.defineProperty(t, \"prototype\", {\n    writable: !1\n  }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (e.includes(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n  if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n  if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n  return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n  return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n    return t.__proto__ = e, t;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_4_1_index_jsdbx_2bff1391__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"cloneDeep\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t\t} else if ('cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.cloneDeep || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"differenceBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'differenceBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].differenceBy;\n\t\t\t\t\t} else if ('differenceBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.differenceBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].differenceBy;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"head\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'head' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].head;\n\t\t\t\t\t} else if ('head' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.head || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].head;\n\t\t\t\t}, [\"intersectionBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'intersectionBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].intersectionBy;\n\t\t\t\t\t} else if ('intersectionBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.intersectionBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].intersectionBy;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isFinite\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFinite' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFinite;\n\t\t\t\t\t} else if ('isFinite' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFinite || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFinite;\n\t\t\t\t}, [\"isNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t\t} else if ('isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t}, [\"keys\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t\t} else if ('keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.keys || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"merge\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t\t} else if ('merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.merge || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t}, [\"slice\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'slice' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].slice;\n\t\t\t\t\t} else if ('slice' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.slice || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].slice;\n\t\t\t\t}, [\"sortBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'sortBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sortBy;\n\t\t\t\t\t} else if ('sortBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.sortBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sortBy;\n\t\t\t\t}, [\"take\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t\t} else if ('take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.take || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t}, [\"trim\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'trim' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].trim;\n\t\t\t\t\t} else if ('trim' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.trim || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].trim;\n\t\t\t\t}, [\"truncate\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'truncate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].truncate;\n\t\t\t\t\t} else if ('truncate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.truncate || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].truncate;\n\t\t\t\t} });","export const SEARCH_SOURCE = 'snSearchSources';\nexport const GLOBAL_SEARCH_CONFIG = 'snGlobalSearchConfig';\nexport const USER_PREFERENCE = 'snUserPreferences';\nexport const PRESOURCE_COMPONENT = 'sn-workspace-content';\n","/* eslint-disable */\n// Copied over from sn-component-form\nconst LOG_STATUS_KEY = '__SEISMIC_LOG_LEVEL';\n\nexport const LOG_LEVEL_ALL = 0;\nexport const LOG_LEVEL_DEBUG = 1;\nexport const LOG_LEVEL_LOG = 2;\nexport const LOG_LEVEL_INFO = 2;\nexport const LOG_LEVEL_WARN = 3;\nexport const LOG_LEVEL_ERROR = 4;\n\n// set default logging level\nif (typeof window[LOG_STATUS_KEY] === 'undefined') {\n    window[LOG_STATUS_KEY] = LOG_LEVEL_ERROR;\n}\n\nexport function enable(logLevel = LOG_LEVEL_ALL) {\n    switch (logLevel) {\n        case LOG_LEVEL_ALL:\n        case LOG_LEVEL_DEBUG:\n        case LOG_LEVEL_LOG:\n        case LOG_LEVEL_INFO:\n        case LOG_LEVEL_WARN:\n        case LOG_LEVEL_ERROR:\n            window[LOG_STATUS_KEY] = logLevel;\n            break;\n        default:\n            logLevel = LOG_LEVEL_ERROR;\n    }\n}\n\nexport function disable() {\n    window[LOG_STATUS_KEY] = LOG_LEVEL_ERROR;\n}\n\n/**\n * Simple logging utilty to include context\n * @usage const LOG = createLog('ComponentName');\n *\n * @param name\n * @return {{log, debug, warn, error}}\n */\nexport function createLog(name) {\n    function _log(type, level, args) {\n        if (level < window[LOG_STATUS_KEY]) {\n            return;\n        }\n        args = Array.prototype.splice.call(args, 0);\n        args.unshift(`(${name})`);\n        // eslint-disable-next-line no-console\n        console[type].apply(console, args);\n    }\n\n    return {\n        debug() {\n            _log('debug', LOG_LEVEL_DEBUG, arguments);\n        },\n        log() {\n            _log('log', LOG_LEVEL_LOG, arguments);\n        },\n        info() {\n            _log('info', LOG_LEVEL_INFO, arguments);\n        },\n        warn() {\n            _log('warn', LOG_LEVEL_WARN, arguments);\n        },\n        error() {\n            _log('error', LOG_LEVEL_ERROR, arguments);\n        },\n    };\n}\n","import get from 'lodash/get';\nimport isNumber from 'lodash/isNumber';\nimport isFinite from 'lodash/isFinite';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { createLog } from '../../utils/Logger';\n\nconst LOG = createLog('snSearchSourcesPresource');\nconst PRESOURCE_DATA_CONFIG_PATH =\n\t'data.GlideRecord_Query.sys_aw_master_config._results[0].global_search._reference.associatedConfigs.GlideRecord_Query.sys_aw_global_search_config._results[0]';\nconst GQL_FETCH_DATA_CONFIG_PATH =\n\t'data.GlideRecord_Query.sys_aw_global_search_config._results[0]';\n\nconst HIDE_SEARCH_RESULTS_PATH =\n\t'data.GlideRecord_Query.sys_aw_master_config._results[0]';\n\nconst SHOW_SEARCH_RESULT_REDACTION_WARNING =\n\t'data.GlideRecord_Query.sys_aw_master_config._results[0]';\n\nconst parsePropertiesFromPath = (response, { path, properties }) => {\n\tconst result = {};\n\tconst config = get(response, path);\n\tif (config) {\n\t\tproperties.forEach(({ name, type }) => {\n\t\t\tconst value = get(config, [name, 'value']);\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'number':\n\t\t\t\t\tif (\n\t\t\t\t\t\t(isNumber(value) && isFinite(value)) ||\n\t\t\t\t\t\t!isEmpty(value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tresult[name] = Number(value);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'boolean':\n\t\t\t\t\tresult[name] = Boolean(value);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tresult[name] = value;\n\t\t\t}\n\t\t});\n\t} else {\n\t\tLOG.warn(\n\t\t\t`Unable to process Global Search Config presource with path: ${path}`\n\t\t);\n\t}\n\treturn result;\n};\n\nexport default (\n\tresponse,\n\tusePresourcePath = true,\n\tincludeHideSearchResultsCount = true,\n\tincludeShowRedactionWarning = true\n) => {\n\tlet config = {};\n\tconst paths = [\n\t\t{\n\t\t\tpath: usePresourcePath\n\t\t\t\t? PRESOURCE_DATA_CONFIG_PATH\n\t\t\t\t: GQL_FETCH_DATA_CONFIG_PATH,\n\t\t\tproperties: [\n\t\t\t\t{ name: 'sys_id', type: 'string' },\n\t\t\t\t{ name: 'recent_items_count', type: 'number' },\n\t\t\t\t{ name: 'recent_terms_count', type: 'number' },\n\t\t\t\t{ name: 'recent_ttl_in_days', type: 'number' },\n\t\t\t\t{ name: 'tab_overview_items_per_section', type: 'number' },\n\t\t\t\t{ name: 'tab_drilldown_items_per_page', type: 'number' }\n\t\t\t]\n\t\t}\n\t];\n\n\tif (includeHideSearchResultsCount)\n\t\tpaths.push({\n\t\t\tpath: usePresourcePath ? HIDE_SEARCH_RESULTS_PATH : 'props',\n\t\t\tproperties: [{ name: 'hide_search_results_count', type: 'boolean' }]\n\t\t});\n\n\tif (includeShowRedactionWarning)\n\t\tpaths.push({\n\t\t\tpath: usePresourcePath ? SHOW_SEARCH_RESULT_REDACTION_WARNING : 'props',\n\t\t\tproperties: [{ name: 'show_search_result_redaction_warning', type: 'boolean' }]\n\t\t});\n\n\tpaths.forEach((path) => {\n\t\tconfig = { ...config, ...parsePropertiesFromPath(response, path) };\n\t});\n\n\treturn config;\n};\n","import get from 'lodash/get';\nimport sortBy from 'lodash/sortBy';\n\nimport { createLog } from '../../utils/Logger';\n\nconst LOG = createLog('snSearchSourcesPresource');\nconst PRESOURCE_DATA_PATH =\n\t'data.GlideRecord_Query.sys_aw_master_config._results[0].global_search_data._reference.associatedSources.GlideRecord_Query.m2m_search_context_config_search_source._results';\n\nexport default (response, usePresourcePath = true) => {\n\tvar searchSourcesData = usePresourcePath ? get(response, PRESOURCE_DATA_PATH, []) : response;\n\n\tif (!searchSourcesData) {\n\t\tLOG.error(`Unable to process Search Source presource`);\n\t\treturn [];\n\t}\n\n\tconst orderedSearchSourceData = sortBy(\n\t\tsearchSourcesData,\n\t\t(source) => source.order.value\n\t);\n\n\tconst sources = orderedSearchSourceData.map(\n\t\t({ source: { value, displayValue } }) => ({\n\t\t\tname: displayValue,\n\t\t\tsys_id: value\n\t\t})\n\t);\n\n\treturn sources;\n};\n","import get from 'lodash/get';\n\nexport default (response) => {\n\tconst config = {};\n\n\tconst exactMatchEnabled = get(\n\t\tresponse,\n\t\t'data.GlideDomain_Query.user.ts_match.0.value',\n\t\t'true'\n\t);\n\tconfig.exact_match_enabled = exactMatchEnabled === 'true';\n\n\treturn config;\n};\n","import {\n\tGLOBAL_SEARCH_CONFIG,\n\tSEARCH_SOURCE,\n\tUSER_PREFERENCE\n} from './constants';\nimport {\n\tglobalSearchConfigTransform,\n\tsearchSourcesTransform,\n\tuserPreferencesTransform\n} from './transforms';\n\nexport default [\n\t{\n\t\tbehaviorName: GLOBAL_SEARCH_CONFIG,\n\t\ttransform: globalSearchConfigTransform\n\t},\n\t{\n\t\tbehaviorName: SEARCH_SOURCE,\n\t\ttransform: searchSourcesTransform\n\t},\n\t{\n\t\tbehaviorName: USER_PREFERENCE,\n\t\ttransform: userPreferencesTransform\n\t}\n];\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createPreSourceBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'createPreSourceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].createPreSourceBehavior;\n\t\t\t\t\t} else if ('createPreSourceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.createPreSourceBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].createPreSourceBehavior;\n\t\t\t\t}, [\"getBehaviorProp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getBehaviorProp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getBehaviorProp;\n\t\t\t\t\t} else if ('getBehaviorProp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getBehaviorProp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getBehaviorProp;\n\t\t\t\t}, [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","import transforms from './transformMaps';\nimport { createPresourceBehaviorMap } from './util';\n\n/**\n * Map of presource behaviors to be used by Seismic components\n */\nconst behaviorMap = createPresourceBehaviorMap(transforms);\n\nexport default {\n\t/**\n\t * Gets a specified Prefetched Resource Behavior\n\t *\n\t * @param {string} behavior - Name of the behavior to be return by the factory\n\t * @return {string} Behavior resources that can be included in Seismic elements\n\t */\n\tget: (behavior) => behaviorMap[behavior]\n};\n","import { createPreSourceBehavior } from 'sn-uxpage-presource';\n\nimport { PRESOURCE_COMPONENT } from '../constants';\n\n/**\n * Creates a map of Prefetched Resource Behaviors\n *\n * @param {object[]} transforms - An array of objects containing a behavior name and the\n * transform function to use for the created presource behavior\n */\nexport default (transforms) => {\n\tconst behaviorMap = transforms.reduce(\n\t\t(prev, curr) => ({\n\t\t\t...prev,\n\t\t\t[curr.behaviorName]: createPreSourceBehavior(PRESOURCE_COMPONENT, {\n\t\t\t\tname: curr.behaviorName\n\t\t\t})\n\t\t}),\n\t\t{}\n\t);\n\treturn behaviorMap;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport { createLog } from './Logger';\n\nconst ALL_FAILED_ERROR = 'ALL_FAILED_ERROR';\nconst NETWORK_ERROR = 'NETWORK_ERROR';\nconst SEARCH_SOURCE_TABLE_NOT_FOUND_ERROR =\n\t'SEARCH_SOURCE_TABLE_NOT_FOUND_ERROR'; // log use only\nconst OTHER_ERROR = 'OTHER_ERROR';\n\nconst ERROR_FOR_USER = {\n\tALL_FAILED_ERROR: t(\n\t\t'An unexpected error lost all the search results. Please search again to find them.'\n\t),\n\tNETWORK_ERROR: t(\n\t\t'An unexpected error lost some of the search results. Please search again to find them.'\n\t),\n\tOTHER_ERROR: t(\n\t\t'An unexpected error occurred. Please contact your system administrator.'\n\t)\n};\n\nfunction isSearchSourceTableNotFound(error) {\n\treturn /Search source table.*does not exist/.test(\n\t\tget(error, 'data.error.detail')\n\t);\n}\n\nclass SearchSourceErrors {\n\tconstructor(errors = []) {\n\t\tthis.errors = errors;\n\t}\n\n\tadd(error) {\n\t\tif (error.message === 'Network Error') {\n\t\t\treturn new SearchSourceErrors([\n\t\t\t\t...this.errors,\n\t\t\t\t{\n\t\t\t\t\ttype: NETWORK_ERROR,\n\t\t\t\t\terror\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\n\t\tif (isSearchSourceTableNotFound(error)) {\n\t\t\treturn new SearchSourceErrors([\n\t\t\t\t...this.errors,\n\t\t\t\t{\n\t\t\t\t\ttype: SEARCH_SOURCE_TABLE_NOT_FOUND_ERROR,\n\t\t\t\t\terror\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\n\t\treturn new SearchSourceErrors([\n\t\t\t...this.errors,\n\t\t\t{\n\t\t\t\ttype: OTHER_ERROR,\n\t\t\t\terror\n\t\t\t}\n\t\t]);\n\t}\n\n\thasError(errorType) {\n\t\treturn (\n\t\t\tthis.errors.filter((error) => error.type === errorType).length > 0\n\t\t);\n\t}\n\n\tgetAggregatedError(numSearchSources, LOG = createLog('GlobalSearch')) {\n\t\tif (this.length === 0) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.length === numSearchSources) {\n\t\t\tLOG.debug(\n\t\t\t\t'All search source requests failed, Error object : ',\n\t\t\t\tthis.errors\n\t\t\t);\n\t\t\treturn ERROR_FOR_USER[ALL_FAILED_ERROR];\n\t\t}\n\t\tif (this.hasError(NETWORK_ERROR)) {\n\t\t\tLOG.debug(\n\t\t\t\t'Some search source requests failed, Error object : ',\n\t\t\t\tthis.errors\n\t\t\t);\n\t\t\treturn ERROR_FOR_USER[NETWORK_ERROR];\n\t\t}\n\t\tif (this.hasError(SEARCH_SOURCE_TABLE_NOT_FOUND_ERROR)) {\n\t\t\tLOG.debug(\n\t\t\t\t'Some search source tables cannot be found, Error object : ',\n\t\t\t\tthis.errors\n\t\t\t);\n\t\t} else {\n\t\t\tLOG.debug(\n\t\t\t\t'Unexpected errors found found, Error object : ',\n\t\t\t\tthis.errors\n\t\t\t);\n\t\t}\n\t\treturn ERROR_FOR_USER[OTHER_ERROR];\n\t}\n\n\tget length() {\n\t\treturn this.errors.length;\n\t}\n}\n\nexport default SearchSourceErrors;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_custom_create_element_21_0_0_index_jsdbx_1aac1424__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_prop_types_15_7_2_index_jsdbx_a390cb99__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"].Fragment;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"];\n\t\t\t\t} });","import { getBehaviorProp } from 'sn-uxpage-presource';\nimport head from 'lodash/head';\nimport isEmpty from 'lodash/isEmpty';\nimport transforms from '../transformMaps';\n\nconst _getBehaviorProp = (state, name) => {\n\tconst val = getBehaviorProp(state, name);\n\tconst map = head(transforms.filter((t) => t.behaviorName === name)) || {};\n\tconst { transform } = map;\n\n\tif (transform && !isEmpty(val)) {\n\t\treturn transform(val);\n\t}\n\n\treturn val;\n};\n\nexport default _getBehaviorProp;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nclass ConfigProvider extends React.Component {\n\tgetChildContext() {\n\t\tconst { config } = this.props;\n\t\treturn { config };\n\t}\n\n\trender() {\n\t\tconst { children } = this.props;\n\t\treturn React.Children.only(children);\n\t}\n}\n\nConfigProvider.propTypes = {\n\tchildren: PropTypes.element.isRequired,\n\tconfig: PropTypes.object.isRequired // eslint-disable-line react/forbid-prop-types\n};\n\n// you must specify what you’re adding to the context\nConfigProvider.childContextTypes = {\n\tconfig: PropTypes.object.isRequired // eslint-disable-line react/forbid-prop-types\n};\n\nexport default ConfigProvider;\n","/*\n * Will be fixed with STRY50029007\n * Should remove unnecessary nesting\n */\n/* eslint-disable react/prefer-stateless-function */\n/* eslint-disable react/forbid-prop-types */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport merge from 'lodash/merge';\n\nfunction connectConfig(mapConfigToProps) {\n\tfunction wrapComponent(ComponentToWrap) {\n\t\tclass ComponentWithConfig extends React.Component {\n\t\t\trender() {\n\t\t\t\t// render props merged with config props\n\n\t\t\t\tconst { config } = this.context;\n\n\t\t\t\t// FIXME: there's an assumption that mapConfigToProps is a function, and returns an object\n\t\t\t\tconst configProps = config ? mapConfigToProps(config) : {};\n\t\t\t\tconst propsWithConfig = merge({}, this.props, configProps);\n\n\t\t\t\treturn <ComponentToWrap {...propsWithConfig} />;\n\t\t\t}\n\t\t}\n\n\t\t// let’s define what’s needed from the `context`\n\t\tComponentWithConfig.contextTypes = {\n\t\t\tconfig: PropTypes.object.isRequired\n\t\t};\n\n\t\treturn ComponentWithConfig;\n\t}\n\n\treturn (ComponentToWrap) => wrapComponent(ComponentToWrap);\n}\n\nexport default connectConfig;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { createLog } from './Logger';\n\nconst LOG = createLog('ErrorBoundary');\n\nclass ErrorBoundary extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { hasError: false };\n\t}\n\n\tcomponentDidCatch(error, errorInfo) {\n\t\tthis.setState({ hasError: true });\n\t\tLOG.error(error, errorInfo);\n\t}\n\n\trender() {\n\t\tconst { hasError } = this.state;\n\t\tconst { children } = this.props;\n\n\t\tif (hasError) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn children;\n\t}\n}\n\nErrorBoundary.propTypes = {\n\tchildren: PropTypes.node.isRequired\n};\n\nexport default ErrorBoundary;\n","export const PAGE_UPDATE = 'NOW_PAGINATION#PAGE_UPDATE';\nexport const PAGE_CONTROL_UPDATE = 'NOW_PAGINATION_CONTROL#SELECTED_PAGE_SET';\n\n// EXACT_MATCH\nexport const EXACT_MATCH_FETCH = 'EXACT_MATCH_FETCH';\nexport const EXACT_MATCH_STARTED = 'EXACT_MATCH_STARTED';\nexport const EXACT_MATCH_SUCCEEDED = 'EXACT_MATCH_SUCCEEDED';\nexport const EXACT_MATCH_FAILED = 'EXACT_MATCH_FAILED';\n\n// DRILLDOWN\nexport const DRILLDOWN_FETCH = 'DRILLDOWN_FETCH';\nexport const DRILLDOWN_FETCH_STARTED = 'DRILLDOWN_FETCH_STARTED';\nexport const DRILLDOWN_FETCH_SUCCEEDED = 'DRILLDOWN_FETCH_SUCCEEDED';\nexport const DRILLDOWN_FETCH_FAILED = 'DRILLDOWN_FETCH_FAILED';\nexport const DRILLDOWN_PAGE_UPDATED = 'DRILLDOWN_PAGE_UPDATED';\nexport const VIEW_ALL_CLICKED = 'NOW_TEXT_LINK#CLICKED';\n\n// TEXTSEARCH\nexport const WORKSPACE_TEXT_SEARCH_STARTED = 'WORKSPACE_TEXT_SEARCH_STARTED';\nexport const WORKSPACE_TEXT_SEARCH_FAILED = 'WORKSPACE_TEXT_SEARCH_FAILED';\nexport const WORKSPACE_TEXT_SEARCH = 'WORKSPACE_TEXT_SEARCH';\nexport const WORKSPACE_TEXT_SEARCH_SUCCEEDED =\n\t'WORKSPACE_TEXT_SEARCH_SUCCEEDED';\n\n// TEXTSEARCH BATCHED\nexport const WORKSPACE_TEXT_SEARCH_BATCHED = 'WORKSPACE_TEXT_SEARCH_BATCHED';\nexport const WORKSPACE_TEXT_SEARCH_FAILED_BATCHED =\n\t'WORKSPACE_TEXT_SEARCH_FAILED_BATCHED';\n\n// USER PREF\nexport const USER_PREFERENCES_SET = 'USER_PREFERENCES_SET';\nexport const USER_PREFERENCES_FETCH_SUCCEEDED =\n\t'USER_PREFERENCES_FETCH_SUCCEEDED';\n\n// RESULT CLICK\nexport const SN_WS_SEARCH_TAB_RECORD_CLICKED =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#RECORD_CLICKED';\n\nexport const SN_WS_SEARCH_TAB_SEARCH_SUCCEEDED =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#SEARCH_SUCCEEDED';\n\n// LEGACY WORKSPACE ACTION\nexport const GLOBAL_SEARCH_ACTION = 'GLOBAL_SEARCH_ACTION';\n\n// CONFIGURATIONS\nexport const FETCH_CONFIGURATIONS = 'FETCH_CONFIGURATIONS';\nexport const FETCH_CONFIGURATIONS_FAILED = 'FETCH_CONFIGURATIONS_FAILED';\nexport const FETCH_CONFIGURATIONS_SUCCEEDED = 'FETCH_CONFIGURATIONS_SUCCEEDED';\n\n// BACK BUTTON (POLARIS)\nexport const BACK_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const BACK_BUTTON_CLICKED_INTERNAL = 'NOW_BUTTON_BARE#CLICKED';\nexport const BACK_BUTTON_CLICKED_EXTERNAL =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#BACK_CLICKED';\n\n// NAVIGATE TO LIST VIEW(POLARIS)\nexport const NAVIGATE_TO_LIST_VIEW_BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n\n// NAVIGATE TO  LIST VIEW\nexport const GOTO_LIST_VIEW_BUTTON_CLICKED = 'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#LIST_BUTTON_CLICKED'\n","import { getProperty } from 'sn-uxpage-presource';\nimport isEmpty  from 'lodash/isEmpty';\nimport {\n\tGLOBAL_SEARCH_ACTION,\n\tDRILLDOWN_PAGE_UPDATED\n} from '../componentWorkspaceGlobalSearchTab/actions';\n\nexport const KEY_CODES = {\n\tSPACE: 32,\n\tRETURN: 13,\n\tDOWN_ARROW: 40,\n\tUP_ARROW: 38,\n\tESCAPE: 27\n};\n\nclass GlobalSearchUtils {\n\tstatic graphqlizeActionPayload(record) {\n\t\tconst {\n\t\t\tsys_id: sysId,\n\t\t\tdata,\n\t\t\trecord_class_name: recordClassName,\n\t\t\trecord_url: recordUrl,\n\t\t\ttable,\n\t\t\ttitle,\n\t\t\tmetadata\n\t\t} = record;\n\n\t\tlet generateTitleForHistoryRecord = title;\n\t\tconst graphqlizedRecord = {};\n\t\tif (data) {\n\t\t\tObject.keys(data).forEach((key) => {\n\t\t\t\tgraphqlizedRecord[key] = {\n\t\t\t\t\tvalue: data[key].value,\n\t\t\t\t\tdisplayValue: data[key].displayValue || data[key].display,\n\t\t\t\t\tdisplay: data[key].display\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\tif (isEmpty(generateTitleForHistoryRecord) && metadata) {\n\t\t\tgenerateTitleForHistoryRecord = metadata.title;\n\t\t}\n\t\treturn {\n\t\t\ttable: recordClassName || table,\n\t\t\tsys_id: sysId,\n\t\t\titem: graphqlizedRecord,\n\t\t\trecord_url: recordUrl,\n\t\t\ttitle: generateTitleForHistoryRecord || ''\n\t\t};\n\t}\n\n\tstatic multiplexedDispatch(\n\t\tdispatch,\n\t\taction = GLOBAL_SEARCH_ACTION,\n\t\tpayload = {},\n\t\ttype = {},\n\t\tmetadata = {}\n\t) {\n\t\tconst pyld = { ...payload };\n\t\t/*\n\t\t * endOfPhase2Workaround for chrome integration\n\t\t * dispatch(action, payload, type);\n\t\t * workaround for seismic listen-to last-one-wins pattern\n\t\t */\n\t\tpyld.action = action;\n\t\tpyld.actionMetadata = metadata;\n\n\t\tdispatch(GLOBAL_SEARCH_ACTION, pyld, type);\n\t}\n\n\tstatic dispatchItemSelected(\n\t\tdispatch,\n\t\trecord,\n\t\tsourceId = '',\n\t\tnewTab = false\n\t) {\n\t\tconst { table, sys_id: sysId } = record;\n\t\tif (table && sysId) {\n\t\t\tGlobalSearchUtils.multiplexedDispatch(\n\t\t\t\tdispatch,\n\t\t\t\t'ITEM_SELECTED',\n\t\t\t\t{\n\t\t\t\t\t...GlobalSearchUtils.graphqlizeActionPayload(record),\n\t\t\t\t\tnewTab\n\t\t\t\t},\n\t\t\t\t{ type: 'ITEM_SELECTED' },\n\t\t\t\t{ sourceId },\n\t\t\t\tnewTab\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic dispatchTermSearched(dispatch, term) {\n\t\tif (term) {\n\t\t\tGlobalSearchUtils.multiplexedDispatch(\n\t\t\t\tdispatch,\n\t\t\t\t'TERM_SEARCHED',\n\t\t\t\t{ term },\n\t\t\t\t{ type: 'submit' }\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic dispatchPageUpdate(dispatch, payload) {\n\t\tdispatch(DRILLDOWN_PAGE_UPDATED, payload);\n\t}\n\n\tstatic getSysPropertyAsNumber(name) {\n\t\tconst value = getProperty(name);\n\t\tif (typeof value === 'number') {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst parsedValue = parseInt(value, 10);\n\n\t\t// eslint-disable-next-line no-restricted-globals\n\t\treturn isNaN(parsedValue) ? undefined : parsedValue;\n\t}\n}\n\nexport default GlobalSearchUtils;\n","import {\n\tGLOBAL_SEARCH_CONFIG,\n\tSEARCH_SOURCE,\n\tUSER_PREFERENCE\n} from '../behaviors/constants';\n\nexport default {\n\t[GLOBAL_SEARCH_CONFIG]: {\n\t\ttypeahead_debounce: 150,\n\t\trecent_items_count: 5,\n\t\trecent_terms_count: 5,\n\t\trecent_ttl_in_days: 30,\n\t\ttab_overview_items_per_section: 10,\n\t\ttab_drilldown_items_per_page: 25,\n\t\ttab_pagination_debounce: 150,\n\t\thide_search_results_count: false,\n\t\tshow_search_result_redaction_warning: false,\n\t\texact_match_enabled: true,\n\t\texact_match_request_criterion_regex: '^\\\\s*[a-zA-Z]+\\\\d+\\\\s*$'\n\t},\n\t[SEARCH_SOURCE]: [\n\t\t{ name: 'Incidents', sys_id: 'b28f7c30532203003eddddeeff7b12a7' },\n\t\t{ name: 'Change Requests', sys_id: 'a57064b4533303003eddddeeff7b12f3' },\n\t\t{ name: 'Change Tasks', sys_id: 'dde0a4b4533303003eddddeeff7b12fa' },\n\t\t{ name: 'Problems', sys_id: 'a01d8ca0532203003eddddeeff7b1281' },\n\t\t{ name: 'Requests', sys_id: 'a02128b4533303003eddddeeff7b1251' },\n\t\t{ name: 'Catalog Tasks', sys_id: '7a92acb4533303003eddddeeff7b1237' },\n\t\t{ name: 'Users', sys_id: '494cc0a0532203003eddddeeff7b12db' },\n\t\t{ name: 'Groups', sys_id: 'cce2ecb4533303003eddddeeff7b12d1' },\n\t\t{ name: 'Locations', sys_id: 'e3fbc125532203003eddddeeff7b124e' },\n\t\t{ name: 'Companies', sys_id: '93cb8125532203003eddddeeff7b1205' },\n\t\t{ name: 'Knowledge', sys_id: 'b13c8125532203003eddddeeff7b12ef' }\n\t],\n\t[USER_PREFERENCE]: {\n\t\texact_match_enabled: true\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","/* eslint-disable jsx-a11y/anchor-has-content */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport '@servicenow/now-loader';\nimport '@servicenow/now-heading';\n\nclass TabHeader extends React.PureComponent {\n\trender() {\n\t\tconst { title, spinnerEnabled, isGlobal } = this.props;\n\t\t// nds-scanner-disable-start\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`global-search-tab-header${\n\t\t\t\t\tisGlobal ? ' __global' : ''\n\t\t\t\t}`}>\n\t\t\t\t<div className=\"truncate\" aria-live=\"polite\">\n\t\t\t\t\t<now-heading\n\t\t\t\t\t\tclassName={isGlobal ? 'global-header-font' : ''}\n\t\t\t\t\t\tlabel={title}\n\t\t\t\t\t\tlevel=\"1\"\n\t\t\t\t\t\thas-no-margin\n\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\tisGlobal ? 'header-secondary' : 'header-primary'\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{spinnerEnabled && (\n\t\t\t\t\t<now-loader className=\"global-search-loader\" size=\"lg\" />\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t\t// nds-scanner-disable-stop\n\t}\n}\n\nTabHeader.propTypes = {\n\ttitle: PropTypes.string.isRequired,\n\tspinnerEnabled: PropTypes.bool,\n\tisGlobal: PropTypes.bool,\n\tskipLinkClicked: PropTypes.func\n};\n\nTabHeader.defaultProps = {\n\tspinnerEnabled: false\n};\n\nexport default TabHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nclass TabBody extends React.PureComponent {\n\trender() {\n\t\tconst { children, setRef } = this.props;\n\t\treturn <div {...({ ref: setRef })}>{children}<\/div>;\n\t}\n}\n\nTabBody.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired,\n\tsetRef: PropTypes.func\n};\n\nexport default TabBody;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nclass TabContainer extends React.PureComponent {\n\trender() {\n\t\tconst { isVisible, className, children } = this.props;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-testid=\"sncwgs-overview-container\"\n\t\t\t\tclassName={`${className} sn-panel--row ${\n\t\t\t\t\tisVisible ? '' : 'hidden'\n\t\t\t\t}`}>\n\t\t\t\t{children}\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nTabContainer.propTypes = {\n\tisVisible: PropTypes.bool,\n\tclassName: PropTypes.string,\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t])\n};\n\nTabContainer.defaultProps = {\n\tclassName: '',\n\tisVisible: true,\n\tchildren: undefined\n};\n\nexport default TabContainer;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport '@servicenow/now-icon';\nimport '@servicenow/now-avatar';\n\nconst THUMBNAIL_CLASS = {\n\tcircle: 'sn-avatar sn-avatar__xxl',\n\tsquare: 'sn-avatar sn-avatar__xxl sn-avatar__square'\n};\n\nclass Thumbnail extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.getAvatarContent = this.getAvatarContent.bind(this);\n\t\tthis.state = {\n\t\t\tisImageInvalid: false\n\t\t};\n\t}\n\n\tgetAvatarContent() {\n\t\tconst {\n\t\t\ttype,\n\t\t\turl,\n\t\t\ticon,\n\t\t\tinitials,\n\t\t\tsize,\n\t\t\tname,\n\t\t\timageURL,\n\t\t\taltText\n\t\t} = this.props;\n\t\tconst { isImageInvalid } = this.state;\n\n\t\tconst className = THUMBNAIL_CLASS[type];\n\n\t\tif (isImageInvalid) return <now-icon icon=\"book-outline\" size=\"xl\" />;\n\n\t\tif (imageURL && imageURL.length > 0) {\n\t\t\treturn (\n\t\t\t\t<img\n\t\t\t\t\tsrc={imageURL}\n\t\t\t\t\tclassName=\"result-preview\"\n\t\t\t\t\talt={altText}\n\t\t\t\t\tonError={() => {\n\t\t\t\t\t\tthis.setState({ isImageInvalid: true });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (url && url.length)\n\t\t\treturn (\n\t\t\t\t<now-avatar\n\t\t\t\t\tclassName=\"global-avatar\"\n\t\t\t\t\tsize={size}\n\t\t\t\t\timageSrc={url}\n\t\t\t\t\tuserName={name}\n\t\t\t\t/>\n\t\t\t);\n\n\t\tif (icon && icon.length) return <now-icon icon={icon} size={size} />;\n\n\t\treturn (\n\t\t\t<div className={className} aria-hidden=\"true\">\n\t\t\t\t{initials}\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"sn-avatar-container\">{this.getAvatarContent()}<\/div>\n\t\t);\n\t}\n}\n\nThumbnail.propTypes = {\n\ttype: PropTypes.oneOf(['square', 'circle']).isRequired,\n\turl: PropTypes.string,\n\ticon: PropTypes.string, // if url is not present, load icon\n\tinitials: PropTypes.string,\n\tisGlobal: PropTypes.bool,\n\tsize: PropTypes.string,\n\timageURL: PropTypes.string,\n\taltText: PropTypes.string\n};\n\nThumbnail.defaultProps = {\n\turl: undefined,\n\ticon: undefined,\n\tinitials: undefined,\n\tsize: 'lg'\n};\n\nexport default Thumbnail;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst InvisibleContent = (props) => {\n\tconst { children } = props;\n\tconst { className: providedClassname, ...propsWithoutClass } = props;\n\n\tconst mergedClassName = `${\n\t\tprovidedClassname ? `${providedClassname} ` : ''\n\t}snu-sr`;\n\n\treturn (\n\t\t<div className={mergedClassName} {...propsWithoutClass}>\n\t\t\t{children}\n\t\t<\/div>\n\t);\n};\n\nInvisibleContent.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired,\n\tclassName: PropTypes.string\n};\n\nInvisibleContent.defaultProps = {\n\tclassName: undefined\n};\n\nexport default InvisibleContent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport truncate from 'lodash/truncate';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-label-value';\nimport InvisibleContent from '../../../common/InvisibleContent';\nimport getAccessibleDisplayValueMessage from '../../../utils/getAccessibleDisplayValueMessage';\n\nfunction getDisplayedValue(value, emptyValue) {\n\treturn value && value.length ? value : emptyValue;\n}\n\nconst getItems = (fields, hideEmptyFields) => {\n\tconst emptyValue = !hideEmptyFields && t('None');\n\n\treturn fields\n\t\t.filter(({ value }) => Boolean(getDisplayedValue(value, emptyValue)))\n\t\t.map(({ value, label }) => {\n\t\t\tconst valueToDisplay = getDisplayedValue(value, emptyValue);\n\t\t\tconst titledCaseName = label;\n\t\t\tconst truncatedValue = truncate(valueToDisplay, {\n\t\t\t\tlength: 50,\n\t\t\t\tseparator: /[ ,?:]/,\n\t\t\t\tomission: '...'\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tlabel: titledCaseName,\n\t\t\t\tvalue: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tvalue: truncatedValue\n\t\t\t\t}\n\t\t\t};\n\t\t});\n};\n\nconst FieldList = (props) => {\n\tconst { descriptionId, fields, hideEmptyFields, isGlobal } = props;\n\tconst stackedValueItems = getItems(fields, hideEmptyFields);\n\n\treturn (\n\t\t<div className=\"sn-list-group--content sn-list-group--content__meta\">\n\t\t\t<now-label-value-stacked\n\t\t\t\talign=\"horizontal-equal\"\n\t\t\t\ttruncated\n\t\t\t\titems={stackedValueItems}\n\t\t\t\tsize=\"sm\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nFieldList.propTypes = {\n\tfields: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tdescriptionId: PropTypes.string.isRequired,\n\thideEmptyFields: PropTypes.bool,\n\tisGlobal: PropTypes.bool\n};\n\nFieldList.defaultProps = {\n\thideEmptyFields: false\n};\n\nexport default FieldList;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport intersectionBy from 'lodash/intersectionBy';\nimport differenceBy from 'lodash/differenceBy';\nimport { t } from 'sn-translate';\nimport FieldList from './FieldList';\n\nconst LOCATION_SUB_FIELDS = [\n\t'street',\n\t'city',\n\t'state',\n\t'country',\n\t'zip',\n\t'latitude',\n\t'longitude'\n].map((value) => ({ name: value }));\n\nexport const getNonLocationFields = (fields) =>\n\tdifferenceBy(fields, LOCATION_SUB_FIELDS, 'name');\n\nconst LocationField = (props) => {\n\tconst { subFields, descriptionId, isGlobal } = props;\n\n\tconst locationSubFields = intersectionBy(\n\t\tsubFields,\n\t\tLOCATION_SUB_FIELDS,\n\t\t'name'\n\t);\n\n\tconst locationValue = locationSubFields\n\t\t.map((field) => field.value)\n\t\t.filter((value) => !!value)\n\t\t.join(' | ');\n\n\treturn (\n\t\t<FieldList\n\t\t\tdescriptionId={descriptionId}\n\t\t\tfields={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Location'),\n\t\t\t\t\tvalue: locationValue,\n\t\t\t\t\tname: 'location'\n\t\t\t\t}\n\t\t\t]}\n\t\t/>\n\t);\n};\n\nLocationField.propTypes = {\n\tsubFields: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tdescriptionId: PropTypes.string.isRequired,\n\tisGlobal: PropTypes.bool\n};\n\nexport default LocationField;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport '@servicenow/now-text-link';\nimport isEmpty from 'lodash/isEmpty';\n\nconst Attachment = (props) => {\n\tconst { attachment } = props;\n\n\tconst icon =\n\t\tisEmpty(attachment.icon_url) ||\n\t\tattachment.icon_url === 'icons/attach_document.gifx' ? (\n\t\t\t<now-icon icon=\"document-outline\" size=\"sm\" />\n\t\t) : (\n\t\t\t<img src={attachment.icon_url} />\n\t\t);\n\treturn (\n\t\t<span>\n\t\t\t{icon}\n\t\t\t<now-text-link\n\t\t\t\tlabel={attachment.file_name}\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\thref={attachment.attachment_url}\n\t\t\t/>\n\t\t<\/span>\n\t);\n};\n\nconst AttachmentList = (props) => {\n\tconst { attachments } = props;\n\n\treturn (\n\t\t<div className=\"sn-list-group--content sn-list-group--content__meta global-search-content--attachment-list\">\n\t\t\t<ul>\n\t\t\t\t{attachments.map((attachment, i) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li className=\"global-search-content--attachment\">\n\t\t\t\t\t\t\t{i !== 0 && (\n\t\t\t\t\t\t\t\t<span class=\"global-search-content--attachment-divider\">\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Attachment attachment={attachment} />\n\t\t\t\t\t\t<\/li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/ul>\n\t\t<\/div>\n\t);\n};\n\nexport default AttachmentList;\n","import { t } from 'sn-translate';\nexport const ENUM_TAB_MODES = {\n\tDRILL_DOWN: 'DRILL_DOWN',\n\tOVERVIEW: 'OVERVIEW'\n};\n\nexport const EXACT_MATCH_RECORD_PATH = 'sources.EXACT_MATCH_SECTION.records';\nexport const SESSION_USER_PATH = 'output.user';\n\nexport const PREVIOUS_APP = 'BACK_TO_PREVIOUS_APP';\nexport const DRILL_DOWN = 'DRILL_DOWN';\nexport const VIEW_ALL = 'VIEW_ALL';\nexport const NAVIGATE_TO_LIST_VIEW = 'NAVIGATE_TO_LIST_VIEW';\nexport const BACK_TO = t('Back to');\nexport const BACK_BUTTON_TEXT_LIMIT = 50;\nexport const DEFAULT_USER_PREFERENCES_NAME =\n\t'workspace.globalSearch.recentActions';\nexport const SKIP_TO_LABEL = t('Skip to');\nexport const SIDEBAR_HEADER_LABEL = t('Navigate search results');\nexport const SKIP_TO_SIDEBAR = t('Skip to results sorted by category');\nexport const PREVIEW_LABEL = t('Preview');\n\nexport const GLOBAL_NAV_PREFIX = 'now/nav/ui/classic/params/target/';\nexport const GLOBAL_SEARCH_CONTEXT = 'now/nav/ui';\nexport const NEW_TAB_ICON = 'NOW-BUTTON-ICONIC';\nexport const NEW_TAB_LABEL = t('Open in new tab');\n\nexport const EXACT_MATCH = t('Exact Match');\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport take from 'lodash/take';\nimport { isEmpty } from 'lodash';\nimport '@servicenow/now-button';\n\nimport Thumbnail from './Thumbnail';\nimport FieldList from './FieldList';\nimport LocationField, { getNonLocationFields } from './LocationField';\nimport AttachmentList from './AttachmentList';\nimport { NEW_TAB_LABEL } from '../../constants';\n\nconst MAX_NON_LOCATION_FIELDS_TO_SHOW = 2;\n\nconst CompanyCard = (props) => {\n\tconst {\n\t\tonSelect,\n\t\tdisplayFields,\n\t\tthumbnail,\n\t\ttitle,\n\t\tsysId,\n\t\tisGlobal,\n\t\trecordUrl,\n\t\trecord\n\t} = props;\n\tvar matched_attachments;\n\tif (record !== undefined)\n\t\tmatched_attachments = record['matched_attachments'];\n\n\tconst nonLocationFields = take(\n\t\tgetNonLocationFields(displayFields),\n\t\tMAX_NON_LOCATION_FIELDS_TO_SHOW\n\t);\n\n\tconst descriptionId = `fieldListDescription_${sysId}`;\n\n\treturn (\n\t\t<li\n\t\t\tclassName={`focus-record sn-list-group--item sn-list-group--item__grid${\n\t\t\t\tisGlobal ? ' global' : ''\n\t\t\t}`}\n\t\t\tonClick={onSelect}\n\t\t\tonKeyDown={onSelect}\n\t\t\tdata-testclass=\"sn-global-search-record\"\n\t\t\ttabIndex={0}>\n\t\t\t<div className=\"sn-global-search--content sn-global-search--content__static\">\n\t\t\t\t{/* {TODO: This should be a building icon when design is finished creating it} */}\n\t\t\t\t<Thumbnail\n\t\t\t\t\ttype=\"circle\"\n\t\t\t\t\turl={thumbnail}\n\t\t\t\t\ticon=\"buildingFill\"\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName={`sn-global-search--content${\n\t\t\t\t\tisGlobal ? ' global-grid-content' : ''\n\t\t\t\t}`}>\n\t\t\t\t<span className=\"sn-list-group--item--title\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tisGlobal ? 'global-grid-content--title' : ''\n\t\t\t\t\t\t}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t\t{isGlobal ? (\n\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\ticon=\"open-link-right-fill\"\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttooltipContent={NEW_TAB_LABEL}\n\t\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': NEW_TAB_LABEL }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/span>\n\t\t\t\t<FieldList\n\t\t\t\t\tfields={nonLocationFields}\n\t\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t\t<LocationField\n\t\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\t\tsubFields={displayFields}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t\t{!isEmpty(matched_attachments) && isGlobal && (\n\t\t\t\t\t<AttachmentList attachments={matched_attachments} />\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/li>\n\t);\n};\n\nCompanyCard.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\ttitle: PropTypes.string.isRequired,\n\tdisplayFields: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tsysId: PropTypes.string.isRequired,\n\tthumbnail: PropTypes.string,\n\trecordUrl: PropTypes.string.isRequired\n};\n\nCompanyCard.defaultProps = {\n\tthumbnail: undefined\n};\n\nexport default CompanyCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport take from 'lodash/take';\nimport { isEmpty } from 'lodash';\nimport '@servicenow/now-button';\n\nimport LocationField, { getNonLocationFields } from './LocationField';\nimport FieldList from './FieldList';\nimport AttachmentList from './AttachmentList';\nimport { NEW_TAB_LABEL } from '../../constants';\n\nconst MAX_NON_LOCATION_FIELDS_TO_SHOW = 3;\n\nconst LocationCard = (props) => {\n\tconst {\n\t\tonSelect,\n\t\tdisplayFields,\n\t\ttitle,\n\t\tsysId,\n\t\tisGlobal,\n\t\trecordUrl,\n\t\trecord\n\t} = props;\n\tvar matched_attachments;\n\tif (record !== undefined)\n\t\tmatched_attachments = record['matched_attachments'];\n\n\tconst nonLocationFields = take(\n\t\tgetNonLocationFields(displayFields),\n\t\tMAX_NON_LOCATION_FIELDS_TO_SHOW\n\t);\n\n\tconst descriptionId = `fieldListDescription_${sysId}`;\n\n\treturn (\n\t\t<li\n\t\t\tclassName=\"focus-record sn-list-group--item sn-list-group--item__grid\"\n\t\t\tonClick={onSelect}\n\t\t\tonKeyDown={onSelect}\n\t\t\tdata-testclass=\"sn-global-search-record\"\n\t\t\ttabIndex={0}>\n\t\t\t<div\n\t\t\t\tclassName={`sn-global-search--content${\n\t\t\t\t\tisGlobal ? ' global-grid-content' : ''\n\t\t\t\t}`}>\n\t\t\t\t<span className=\"sn-list-group--item--title\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tisGlobal ? 'global-grid-content--title' : ''\n\t\t\t\t\t\t}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t\t{isGlobal ? (\n\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\ticon=\"open-link-right-fill\"\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttooltipContent={NEW_TAB_LABEL}\n\t\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': NEW_TAB_LABEL }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/span>\n\t\t\t\t<FieldList\n\t\t\t\t\tfields={nonLocationFields}\n\t\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\t/>\n\t\t\t\t<LocationField\n\t\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\t\tsubFields={displayFields}\n\t\t\t\t/>\n\t\t\t\t{!isEmpty(matched_attachments) && isGlobal && (\n\t\t\t\t\t<AttachmentList attachments={matched_attachments} />\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/li>\n\t);\n};\n\nLocationCard.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\tsysId: PropTypes.string.isRequired,\n\ttitle: PropTypes.string,\n\tdisplayFields: PropTypes.array, // eslint-disable-line react/forbid-prop-types\n\trecordUrl: PropTypes.string.isRequired\n};\n\nLocationCard.defaultProps = {\n\ttitle: '',\n\tdisplayFields: []\n};\n\nexport default LocationCard;\n","// nds-scanner-disable-file\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport take from 'lodash/take';\nimport { t } from 'sn-translate';\nimport { isEmpty } from 'lodash';\nimport '@servicenow/now-button';\n\nimport Thumbnail from './Thumbnail';\nimport AttachmentList from './AttachmentList';\nimport { NEW_TAB_LABEL } from '../../constants';\n\nconst MAX_DISPLAY_FIELDS_TO_SHOW = 5;\n\nconst UserCard = (props) => {\n\tconst {\n\t\tonSelect,\n\t\ttitle,\n\t\tdisplayFields,\n\t\tthumbnail,\n\t\tinitials,\n\t\tisGlobal,\n\t\trecordUrl,\n\t\trecord\n\t} = props;\n\tvar matched_attachments;\n\tif (record !== undefined)\n\t\tmatched_attachments = record['matched_attachments'];\n\n\tconst selectedDisplayFields = take(\n\t\tdisplayFields,\n\t\tMAX_DISPLAY_FIELDS_TO_SHOW\n\t);\n\n\treturn (\n\t\t<li\n\t\t\tclassName={`focus-record sn-list-group--item sn-list-group--item__grid${\n\t\t\t\tisGlobal ? ' global' : ''\n\t\t\t}`}\n\t\t\tonClick={onSelect}\n\t\t\tonKeyDown={onSelect}\n\t\t\tdata-testclass=\"sn-global-search-record\"\n\t\t\ttabIndex={0}>\n\t\t\t<div\n\t\t\t\tclassName={`sn-global-search--content sn-global-search--content__static${\n\t\t\t\t\tisGlobal ? ' global' : ''\n\t\t\t\t}`}>\n\t\t\t\t<Thumbnail\n\t\t\t\t\ttype=\"circle\"\n\t\t\t\t\turl={thumbnail}\n\t\t\t\t\tname={title}\n\t\t\t\t\tinitials={initials}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName={`sn-global-search--content${\n\t\t\t\t\tisGlobal ? ' global-grid-content' : ''\n\t\t\t\t}`}>\n\t\t\t\t<span\n\t\t\t\t\tclassName={`sn-list-group--item--title${\n\t\t\t\t\t\tisGlobal ? ' global-grid-content--title' : ''\n\t\t\t\t\t}`}>\n\t\t\t\t\t<now-heading\n\t\t\t\t\t\tclassName=\"global-search-card--title\"\n\t\t\t\t\t\tlabel={title}\n\t\t\t\t\t\tlevel=\"3\"\n\t\t\t\t\t\thas-no-margin\n\t\t\t\t\t\tvariant=\"title-primary\"\n\t\t\t\t\t\twont-wrap\n\t\t\t\t\t/>\n\t\t\t\t\t{isGlobal ? (\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\ticon=\"open-link-right-fill\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ttooltipContent={NEW_TAB_LABEL}\n\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': NEW_TAB_LABEL }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/span>\n\t\t\t\t{selectedDisplayFields.length > 0 && (\n\t\t\t\t\t<div className=\"sn-list-group--content sn-list-group--content__meta\">\n\t\t\t\t\t\t{selectedDisplayFields.map((field) => (\n\t\t\t\t\t\t\t<span key={field.name}>\n\t\t\t\t\t\t\t\t{field.value || t('None')}\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t))}\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t\t{!isEmpty(matched_attachments) && isGlobal && (\n\t\t\t\t\t<AttachmentList attachments={matched_attachments} />\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/li>\n\t);\n};\n\nUserCard.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\ttitle: PropTypes.string.isRequired,\n\tthumbnail: PropTypes.string,\n\tinitials: PropTypes.string,\n\tdisplayFields: PropTypes.array, // eslint-disable-line react/forbid-prop-types\n\tisGlobal: PropTypes.bool,\n\trecordUrl: PropTypes.string.isRequired\n};\n\nUserCard.defaultProps = {\n\tthumbnail: undefined,\n\tinitials: undefined,\n\tdisplayFields: undefined\n};\n\nexport default UserCard;\n","// nds-scanner-disable-file\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-button';\n\nimport FieldList from './FieldList';\nimport AttachmentList from './AttachmentList';\nimport { NEW_TAB_LABEL } from '../../constants';\n\nconst DefaultCard = (props) => {\n\tconst {\n\t\tonSelect,\n\t\tdescription,\n\t\tdisplayFields,\n\t\ttitle,\n\t\tshowDescription,\n\t\tsysId,\n\t\tisGlobal,\n\t\trecordUrl,\n\t\trecord\n\t} = props;\n\tvar matched_attachments;\n\tif (record !== undefined)\n\t\tmatched_attachments = record['matched_attachments'];\n\n\tconst descriptionId = `fieldListDescription_${sysId}`;\n\n\treturn (\n\t\t<li\n\t\t\tclassName={`focus-record record default${\n\t\t\t\tisGlobal ? ' global' : ''\n\t\t\t}`}\n\t\t\tonClick={onSelect}\n\t\t\tonKeyDown={onSelect}\n\t\t\tdata-testclass=\"sn-global-search-record\"\n\t\t\ttabIndex={0}>\n\t\t\t<span className={isGlobal ? 'new-tab-button-container' : ''}>\n\t\t\t\t<now-heading\n\t\t\t\t\tclassName={isGlobal ? 'global-header' : ''}\n\t\t\t\t\thas-no-margin\n\t\t\t\t\tlabel={title}\n\t\t\t\t\tlevel=\"3\"\n\t\t\t\t\tvariant=\"title-primary\"\n\t\t\t\t/>\n\t\t\t\t{isGlobal ? (\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\ticon=\"open-link-right-fill\"\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ttooltipContent={NEW_TAB_LABEL}\n\t\t\t\t\t\tconfig-aria={{ 'aria-label': NEW_TAB_LABEL }}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/span>\n\t\t\t<FieldList\n\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\tfields={displayFields}\n\t\t\t\tspreadVertically={false}\n\t\t\t/>\n\t\t\t{showDescription && !isEmpty(description) && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`sn-list-group--content sn-list-group--content__description${\n\t\t\t\t\t\tisGlobal ? '__global' : ''\n\t\t\t\t\t}`}>\n\t\t\t\t\t<span>{description}<\/span>\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t{!isEmpty(matched_attachments) && isGlobal && (\n\t\t\t\t<AttachmentList attachments={matched_attachments} />\n\t\t\t)}\n\t\t<\/li>\n\t);\n};\n\nDefaultCard.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\ttitle: PropTypes.string,\n\tdescription: PropTypes.string,\n\tdisplayFields: PropTypes.array,\n\tshowDescription: PropTypes.bool,\n\tsysId: PropTypes.string.isRequired,\n\tisGlobal: PropTypes.bool,\n\trecordUrl: PropTypes.string.isRequired\n};\n\nDefaultCard.defaultProps = {\n\ttitle: '',\n\tdescription: '',\n\tdisplayFields: []\n};\n\nDefaultCard.defaultProps = {\n\tshowDescription: true\n};\n\nexport default DefaultCard;\n","// nds-scanner-disable-file\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-button';\n\nimport FieldList from './FieldList';\nimport Thumbnail from './Thumbnail';\nimport { PREVIEW_LABEL, NEW_TAB_LABEL } from '../../constants';\nimport AttachmentList from './AttachmentList';\n\nconst CatalogCard = (props) => {\n\tconst {\n\t\tonSelect,\n\t\tdescription,\n\t\tdisplayFields,\n\t\ttitle,\n\t\tshowDescription,\n\t\tsysId,\n\t\tisGlobal,\n\t\tthumbnail,\n\t\trecordUrl,\n\t\trecord\n\t} = props;\n\tvar matched_attachments;\n\tif (record !== undefined)\n\t\tmatched_attachments = record['matched_attachments'];\n\n\tconst descriptionId = `fieldListDescription_${sysId}`;\n\n\tconst resultPreview = !isEmpty(thumbnail) ? (\n\t\t<Thumbnail\n\t\t\ttype=\"square\"\n\t\t\timageURL={thumbnail}\n\t\t\taltText={`${title} ${PREVIEW_LABEL}`}\n\t\t/>\n\t) : (\n\t\t<Thumbnail type=\"square\" size=\"xl\" icon=\"book-outline\" />\n\t);\n\n\treturn (\n\t\t<li\n\t\t\tclassName={`focus-record record default${\n\t\t\t\tisGlobal ? ' global' : ''\n\t\t\t}`}\n\t\t\tonClick={onSelect}\n\t\t\tonKeyDown={onSelect}\n\t\t\tdata-testclass=\"sn-global-search-record\"\n\t\t\ttabIndex={0}>\n\t\t\t<div className=\"catalog-result-container\">\n\t\t\t\t<div className=\"catalog-result-container__preview-container\">\n\t\t\t\t\t{resultPreview}\n\t\t\t\t<\/div>\n\t\t\t\t<div className=\"catalog-result-container__content-container\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={isGlobal ? 'new-tab-button-container' : ''}>\n\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\tclassName={isGlobal ? 'global-header' : ''}\n\t\t\t\t\t\t\thas-no-margin\n\t\t\t\t\t\t\tlabel={title}\n\t\t\t\t\t\t\tlevel=\"3\"\n\t\t\t\t\t\t\tvariant=\"title-primary\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{isGlobal ? (\n\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\ticon=\"open-link-right-fill\"\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttooltipContent={NEW_TAB_LABEL}\n\t\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': NEW_TAB_LABEL }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<FieldList\n\t\t\t\t\t\tdescriptionId={descriptionId}\n\t\t\t\t\t\tfields={displayFields}\n\t\t\t\t\t\tspreadVertically={false}\n\t\t\t\t\t/>\n\t\t\t\t\t{showDescription && !isEmpty(description) && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`sn-list-group--content sn-list-group--content__description${\n\t\t\t\t\t\t\t\tisGlobal ? '__global' : ''\n\t\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t\t<span>{description}<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!isEmpty(matched_attachments) && (\n\t\t\t\t\t\t<AttachmentList attachments={matched_attachments} />\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/li>\n\t);\n};\n\nCatalogCard.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\ttitle: PropTypes.string,\n\tdescription: PropTypes.string,\n\tdisplayFields: PropTypes.array,\n\tshowDescription: PropTypes.bool,\n\tsysId: PropTypes.string.isRequired,\n\tisGlobal: PropTypes.bool,\n\trecord: PropTypes.object,\n\tthumbnail: PropTypes.string,\n\trecordUrl: PropTypes.string.isRequired\n};\n\nCatalogCard.defaultProps = {\n\ttitle: '',\n\tdescription: '',\n\tdisplayFields: []\n};\n\nCatalogCard.defaultProps = {\n\tshowDescription: true\n};\n\nexport default CatalogCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport has from 'lodash/has';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport truncate from 'lodash/truncate';\nimport trim from 'lodash/trim';\nimport { t } from 'sn-translate';\nimport { KEY_CODES } from '../../utils/GlobalSearchUtils';\nimport getCardComponent from './RecordViews/cardFactory';\nimport {\n\tGLOBAL_NAV_PREFIX,\n\tGLOBAL_SEARCH_CONTEXT,\n\tNEW_TAB_ICON\n} from '../constants';\n\nclass Record extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.onSelect = this.onSelect.bind(this);\n\t}\n\n\tonSelect(event) {\n\t\tconst { onSelect, record, section } = this.props;\n\n\t\t// open result in new tab on new tab button click or command/control + click\n\t\tlet newTab = false;\n\t\tif (\n\t\t\tevent.metaKey ||\n\t\t\tevent.ctrlKey ||\n\t\t\t(event.target && event.target.tagName === NEW_TAB_ICON)\n\t\t) {\n\t\t\tnewTab = true;\n\t\t}\n\n\t\tif (\n\t\t\tevent.type === 'click' ||\n\t\t\t(event.type === 'keydown' &&\n\t\t\t\t!!event.which &&\n\t\t\t\tevent.which === KEY_CODES.RETURN)\n\t\t) {\n\t\t\tonSelect(record, section, newTab);\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { record, fields, isGlobal, selectedSearchContext } = this.props;\n\n\t\tconst title =\n\t\t\thas(record, 'metadata.title') &&\n\t\t\t!isEmpty(trim(record.metadata.title))\n\t\t\t\t? record.metadata.title\n\t\t\t\t: t('No Title');\n\t\tconst description = truncate(get(record, 'metadata.description', ''), {\n\t\t\tlength: 350,\n\t\t\tseparator: /[ ,?:]/,\n\t\t\tomission: '...'\n\t\t});\n\t\tconst thumbnail = get(record, 'metadata.thumbnail_url');\n\t\tconst initials = get(record, 'metadata.additional_info.initials');\n\t\tconst recordTarget = get(record, 'record_url');\n\t\tconst recordUrl =\n\t\t\tisGlobal &&\n\t\t\t!isEmpty(recordTarget) &&\n\t\t\tselectedSearchContext?.includes(GLOBAL_SEARCH_CONTEXT)\n\t\t\t\t? `${GLOBAL_NAV_PREFIX}${encodeURIComponent(recordTarget)}`\n\t\t\t\t: 'javascript:void(0)';\n\n\t\tconst propsToPass = {\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\tthumbnail,\n\t\t\tinitials,\n\t\t\trecord,\n\t\t\tsysId: record.sys_id\n\t\t};\n\n\t\tconst displayFields = fields\n\t\t\t.filter(({ name }) => name !== 'sys_id')\n\t\t\t.map((field) => ({\n\t\t\t\tname: field.name,\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: trim(get(record, ['data', field.name, 'display']))\n\t\t\t}));\n\n\t\tconst CardComponent = getCardComponent(record.table);\n\n\t\treturn (\n\t\t\t<CardComponent\n\t\t\t\tonSelect={this.onSelect}\n\t\t\t\tdisplayFields={displayFields}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\trecordUrl={recordUrl}\n\t\t\t\t{...propsToPass}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nRecord.propTypes = {\n\tonSelect: PropTypes.func.isRequired,\n\tfields: PropTypes.array.isRequired,\n\trecord: PropTypes.object.isRequired,\n\tsection: PropTypes.string.isRequired,\n\tisGlobal: PropTypes.bool\n};\n\nexport default Record;\n","import CompanyCard from './CompanyCard';\nimport LocationCard from './LocationCard';\nimport UserCard from './UserCard';\nimport DefaultCard from './DefaultCard';\nimport CatalogCard from './CatalogCard';\n\n/**\n * Acts as a higher order component that returns the right card component\n */\n\nexport default function getCardComponent(tableName) {\n\tif (tableName.includes('cat_item')) return CatalogCard;\n\telse\n\t\tswitch (tableName) {\n\t\t\tcase 'core_company':\n\t\t\t\treturn CompanyCard;\n\t\t\tcase 'cmn_location':\n\t\t\t\treturn LocationCard;\n\t\t\tcase 'sys_user':\n\t\t\t\treturn UserCard;\n\t\t\tdefault:\n\t\t\t\treturn DefaultCard;\n\t\t}\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Record from './Record';\n\nconst ResultRecords = ({\n\tariaLabelledBy,\n\trecords,\n\tfieldOrder,\n\tonRecordSelect,\n\tsection,\n\tisGlobal,\n\tselectedSearchContext\n}) => (\n\t<ul className=\"sn-list-group\" aria-labelledby={ariaLabelledBy}>\n\t\t{records.map((record, index) => (\n\t\t\t<Record\n\t\t\t\tkey={record.sys_id || index}\n\t\t\t\tsection={section}\n\t\t\t\trecord={record}\n\t\t\t\tfields={fieldOrder}\n\t\t\t\tonSelect={onRecordSelect}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t/>\n\t\t))}\n\t<\/ul>\n);\n\nResultRecords.propTypes = {\n\tariaLabelledBy: PropTypes.string,\n\tfieldOrder: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tsection: PropTypes.string.isRequired,\n\trecords: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tonRecordSelect: PropTypes.func.isRequired,\n\tisGlobal: PropTypes.bool,\n\tselectedSearchContext: PropTypes.string\n};\n\nResultRecords.defaultProps = {\n\tariaLabelledBy: undefined\n};\n\nexport default ResultRecords;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-button';\nimport '@servicenow/now-pagination';\nimport '@servicenow/now-pagination-control';\nimport get from 'lodash/get';\n\nimport TabHeader from './Tab/TabHeader';\nimport TabBody from './Tab/TabBody';\nimport TabContainer from './Tab/TabContainer';\nimport ResultRecords from './ResultRecords';\nimport { connectConfig } from '../../lib/sn-component-workspace-config';\n\nimport { DRILL_DOWN } from '../constants';\n\nexport class DrillDownView extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.nodeToScroll = null;\n\t\tthis.onBackToAllResultsClick = this.onBackToAllResultsClick.bind(this);\n\t\tthis.getNodeToScrollRef = this.getNodeToScrollRef.bind(this);\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { data } = this.props;\n\t\tif (data && data.isFetching && this.nodeToScroll)\n\t\t\tthis.nodeToScroll.scrollTop = 0;\n\t}\n\n\tonBackToAllResultsClick() {\n\t\tconst { resetDrillDownState } = this.props;\n\t\tresetDrillDownState();\n\t}\n\n\tgetNodeToScrollRef(el) {\n\t\tthis.nodeToScroll = el;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdata,\n\t\t\tpaginationLimit,\n\t\t\tcurrentPage,\n\t\t\tonRecordSelect,\n\t\t\tterm,\n\t\t\tsectionId,\n\t\t\tsectionTitle,\n\t\t\thideResultsCount,\n\t\t\tisGlobal\n\t\t} = this.props;\n\n\t\tconst responseRecordCount = get(data, 'responseRecordCount', 0);\n\t\tconst visibleCount = get(data, 'sourceData.records.length', 0);\n\t\tconst databaseRecordCount = get(\n\t\t\tdata,\n\t\t\t'sourceData.databaseRecordCount',\n\t\t\t0\n\t\t);\n\t\tconst displayFields = get(data, 'sourceData.displayFields', []);\n\t\tconst records = get(data, 'sourceData.records', []);\n\t\tconst tableName = get(data, 'sourceData.tableName');\n\t\tconst isFetching = data && data.isFetching;\n\n\t\tconst paginationProps = {\n\t\t\thideLimitSelector: true,\n\t\t\tlimit: paginationLimit,\n\t\t\tpage: currentPage,\n\t\t\trecordCount: responseRecordCount,\n\t\t\tvisibleCount\n\t\t};\n\n\t\tlet headerTitle = '';\n\t\tif (isFetching) {\n\t\t\theaderTitle = t('Searching for \"{0}\" in {1}', term, sectionTitle);\n\t\t} else if (hideResultsCount) {\n\t\t\theaderTitle = t('Results for \"{0}\" in {1}', term, sectionTitle);\n\t\t} else {\n\t\t\theaderTitle = t(\n\t\t\t\t'{0} results for \"{1}\" in {2}',\n\t\t\t\tresponseRecordCount.toLocaleString(),\n\t\t\t\tterm,\n\t\t\t\tsectionTitle\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<TabContainer className=\"tab-drilldown-container\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`sn-panel--row sn-panel--row__static back-button${\n\t\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\ticon-start=\"arrow-start-fill\"\n\t\t\t\t\t\t\tlabel={isGlobal ? t('All results') : t('Back')}\n\t\t\t\t\t\t\tsize={isGlobal ? 'sm' : 'md'}\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\ttype: DRILL_DOWN,\n\t\t\t\t\t\t\t\tonClick: this.onBackToAllResultsClick\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`global-search-container${\n\t\t\t\t\t\t\tisGlobal ? '__global' : ''\n\t\t\t\t\t\t}`}\n\t\t\t\t\t\tref={this.getNodeToScrollRef}>\n\t\t\t\t\t\t<TabHeader\n\t\t\t\t\t\t\ttitle={headerTitle}\n\t\t\t\t\t\t\tspinnerEnabled={!!isFetching}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TabBody>\n\t\t\t\t\t\t\t{databaseRecordCount > 0 && (\n\t\t\t\t\t\t\t\t<ResultRecords\n\t\t\t\t\t\t\t\t\tfieldOrder={displayFields}\n\t\t\t\t\t\t\t\t\tsectionTableName={tableName}\n\t\t\t\t\t\t\t\t\tsection={sectionId}\n\t\t\t\t\t\t\t\t\trecords={records}\n\t\t\t\t\t\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/TabBody>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/TabContainer>\n\t\t\t\t{isGlobal ? (\n\t\t\t\t\t<now-pagination-control\n\t\t\t\t\t\tclassName=\"global-pagination\"\n\t\t\t\t\t\tcomponent-id=\"drill-down-pagination\"\n\t\t\t\t\t\ttotal={responseRecordCount}\n\t\t\t\t\t\tselectedPage={currentPage - 1}\n\t\t\t\t\t\tselectedPageSize={paginationLimit}\n\t\t\t\t\t\tmanageSelectedPage\n\t\t\t\t\t\thidePageSizeControl\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<now-pagination\n\t\t\t\t\t\t{...paginationProps}\n\t\t\t\t\t\tcomponent-id=\"drill-down-pagination\"\n\t\t\t\t\t\thideRange={hideResultsCount}\n\t\t\t\t\t\thideRowCount={hideResultsCount}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/React.Fragment>\n\t\t);\n\t}\n}\n\nDrillDownView.propTypes = {\n\tdata: PropTypes.object, // eslint-disable-line react/forbid-prop-types\n\tpaginationLimit: PropTypes.number.isRequired,\n\tcurrentPage: PropTypes.number.isRequired,\n\tonRecordSelect: PropTypes.func.isRequired,\n\tresetDrillDownState: PropTypes.func.isRequired,\n\tterm: PropTypes.string.isRequired,\n\tsectionId: PropTypes.string.isRequired,\n\tsectionTitle: PropTypes.string.isRequired,\n\thideResultsCount: PropTypes.bool,\n\tisGlobal: PropTypes.bool,\n\tshowRedactionWarning: PropTypes.bool\n};\n\nDrillDownView.defaultProps = {\n\tdata: undefined,\n\thideResultsCount: false,\n\tisGlobal: false,\n\tshowRedactionWarning: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\tpaginationLimit:\n\t\t\tconfig.global_search_config.tab_drilldown_items_per_page,\n\t\thideResultsCount: config.global_search_config.hide_search_results_count,\n\t\tshowRedactionWarning: config.global_search_config.show_search_result_redaction_warning\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(DrillDownView);\n","import PropTypes from 'prop-types';\n\nexport const exactMatchDataShape = PropTypes.shape({\n\tisFetching: PropTypes.bool,\n\terror: PropTypes.object,\n\tterm: PropTypes.string,\n\tsources: PropTypes.shape({\n\t\tEXACT_MATCH_SECTION: PropTypes.shape({\n\t\t\tname: PropTypes.string,\n\t\t\tcondition: PropTypes.string,\n\t\t\tdatabaseRecordCount: PropTypes.number,\n\t\t\trecords: PropTypes.arrayOf(PropTypes.object),\n\t\t\tdisplayFields: PropTypes.arrayOf(PropTypes.object)\n\t\t})\n\t})\n});\n\nexport const drilldownDataShape = PropTypes.shape({\n\tisFetching: PropTypes.bool,\n\terror: PropTypes.object,\n\tterm: PropTypes.string,\n\tsourceData: PropTypes.shape({\n\t\tname: PropTypes.string,\n\t\tcondition: PropTypes.shape({\n\t\t\tdisplay: PropTypes.string,\n\t\t\tvalue: PropTypes.string\n\t\t}),\n\t\tdatabaseRecordCount: PropTypes.number,\n\t\ttableName: PropTypes.string,\n\t\trecords: PropTypes.any,\n\t\tdisplayFields: PropTypes.any\n\t}),\n\tsourceSysId: PropTypes.string,\n\tresponseRecordCount: PropTypes.number\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport debounce from 'lodash/debounce';\n\nimport DrillDown from './GlobalSearchResult/DrillDownView';\nimport GlobalSearchUtils from '../utils/GlobalSearchUtils';\nimport { connectConfig } from '../lib/sn-component-workspace-config';\nimport { createLog } from '../utils/Logger';\nimport { drilldownDataShape } from './propTypes';\nimport { DRILLDOWN_FETCH } from './actions';\n\nconst LOG = createLog('GlobalSearchTab DrillDown');\n\nexport class ComponentWorkspaceGlobalSearchTabDrillDown extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.debouncedRead = debounce(this.read, props.paginationDebounce, {\n\t\t\tleading: true\n\t\t});\n\t\tthis.switchToOverviewMode = this.switchToOverviewMode.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { page } = this.props;\n\n\t\tconst {\n\t\t\thelpers: { dispatch },\n\t\t\tdrilledDownSection: sourceId,\n\t\t\tterm,\n\t\t\tdrilldownData\n\t\t} = this.props;\n\n\t\tif (\n\t\t\tdrilldownData &&\n\t\t\tdrilldownData.term === term &&\n\t\t\tdrilldownData.sourceSysId === sourceId\n\t\t) {\n\t\t\t// if the data present is what we are looking for, return without actually sending out the query\n\t\t\treturn;\n\t\t}\n\n\t\tGlobalSearchUtils.dispatchPageUpdate(dispatch, {\n\t\t\tsourceId,\n\t\t\tterm,\n\t\t\tpage: 1\n\t\t});\n\n\t\tthis.debouncedRead(sourceId, term, page);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst {\n\t\t\tdrilledDownSection: sourceId,\n\t\t\tpage,\n\t\t\tpaginationDebounce,\n\t\t\tterm\n\t\t} = this.props;\n\n\t\tif (paginationDebounce !== nextProps.paginationDebounce) {\n\t\t\tthis.debouncedRead = debounce(\n\t\t\t\tthis.read,\n\t\t\t\tnextProps.paginationDebounce,\n\t\t\t\t{\n\t\t\t\t\tleading: true\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tconst {\n\t\t\tdrilledDownSection: nextSourceId,\n\t\t\tpage: nextPage,\n\t\t\tterm: nextTerm\n\t\t} = nextProps;\n\n\t\tif (\n\t\t\tnextPage !== page ||\n\t\t\tnextSourceId !== sourceId ||\n\t\t\tnextTerm !== term\n\t\t) {\n\t\t\tthis.debouncedRead(nextSourceId, nextTerm, nextPage);\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst error = get(this.props, 'drilldownData.error');\n\t\tconst prevError = get(prevProps, 'drilldownData.error');\n\t\tif (error && error !== prevError) {\n\t\t\tLOG.debug(\n\t\t\t\t'Unexpected error while fetching the requested page. Error object : ',\n\t\t\t\terror\n\t\t\t);\n\t\t}\n\t}\n\n\tswitchToOverviewMode() {\n\t\tconst { handleBackToResultsClick } = this.props;\n\t\thandleBackToResultsClick();\n\t}\n\n\tread(sysId, sysParmTerm, sysParamPage) {\n\t\t// Set reading to true then fetch data\n\t\tconst {\n\t\t\thelpers: { dispatch },\n\t\t\titemsToShowPerPage: sysparmLimit\n\t\t} = this.props;\n\t\tdispatch(\n\t\t\tDRILLDOWN_FETCH,\n\t\t\t{\n\t\t\t\tsys_id: sysId,\n\t\t\t\tsysparm_limit: sysparmLimit,\n\t\t\t\tsysparm_page: sysParamPage,\n\t\t\t\tsysparm_term: sysParmTerm\n\t\t\t},\n\t\t\t{ sysId, sysParmTerm }\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdrilldownData,\n\t\t\tdrilledDownSection,\n\t\t\tdrilledDownSectionTitle,\n\t\t\tonRecordSelect,\n\t\t\tpage,\n\t\t\tterm,\n\t\t\tisGlobal\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<DrillDown\n\t\t\t\tdata={drilldownData}\n\t\t\t\tcurrentPage={page}\n\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\tresetDrillDownState={this.switchToOverviewMode}\n\t\t\t\tterm={term}\n\t\t\t\tsectionId={drilledDownSection}\n\t\t\t\tsectionTitle={drilledDownSectionTitle}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nComponentWorkspaceGlobalSearchTabDrillDown.propTypes = {\n\tterm: PropTypes.string,\n\tonRecordSelect: PropTypes.func.isRequired,\n\titemsToShowPerPage: PropTypes.number.isRequired,\n\tpaginationDebounce: PropTypes.number.isRequired,\n\tpage: PropTypes.number,\n\tdrilldownData: drilldownDataShape,\n\thelpers: PropTypes.func.isRequired,\n\thandleBackToResultsClick: PropTypes.func.isRequired,\n\tdrilledDownSection: PropTypes.string.isRequired,\n\tdrilledDownSectionTitle: PropTypes.string.isRequired,\n\tisGlobal: PropTypes.bool\n};\n\nComponentWorkspaceGlobalSearchTabDrillDown.defaultProps = {\n\tdrilldownData: undefined,\n\tpage: 1,\n\tterm: '',\n\tisGlobal: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\titemsToShowPerPage:\n\t\t\tconfig.global_search_config.tab_drilldown_items_per_page,\n\t\tpaginationDebounce: config.global_search_config.tab_pagination_debounce\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(\n\tComponentWorkspaceGlobalSearchTabDrillDown\n);\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport InvisibleContent from './InvisibleContent';\n\nfunction AriaLiveRegion({ message }) {\n\treturn (\n\t\t<InvisibleContent role=\"region\" aria-live=\"polite\">\n\t\t\t{t(message)}\n\t\t<\/InvisibleContent>\n\t);\n}\n\nAriaLiveRegion.propTypes = {\n\tmessage: PropTypes.string\n};\n\nAriaLiveRegion.defaultProps = {\n\tmessage: ''\n};\n\nexport default AriaLiveRegion;\n","import React from 'react';\nimport '@servicenow/now-button';\nimport PropTypes from 'prop-types';\nimport { isEmpty, get } from 'lodash';\n\nimport {\n\tPREVIOUS_APP,\n\tBACK_TO,\n\tBACK_BUTTON_TEXT_LIMIT,\n\tSESSION_USER_PATH\n} from '../constants';\n\n// returns user's sys_id and language if available in browser ux_globals object (set by UXF)\nconst _getUserInfoFromSession = () => {\n\tconst sessionInfo = window?.ux_globals?.session;\n\tconst userSessionInfo =\n\t\tsessionInfo && !isEmpty(sessionInfo) ? sessionInfo : {};\n\tif (isEmpty(userSessionInfo)) return undefined;\n\n\tconst { sys_id: sysId, language } = get(\n\t\tuserSessionInfo,\n\t\tSESSION_USER_PATH,\n\t\t{}\n\t);\n\treturn { sysId, language };\n};\n\nconst _getPreviousContext = () => {\n\tconst userInfo = _getUserInfoFromSession();\n\tlet previousContext;\n\n\t// previous search context is stored as 'sn.polaris.userSysID.searchPreviousContext.en' in browser storage\n\tif (userInfo && (userInfo.sysId || userInfo.language))\n\t\tpreviousContext =\n\t\t\twindow.localStorage.getItem(\n\t\t\t\t`sn.polaris.${userInfo.sysId}.searchPreviousContext.${userInfo.language}`\n\t\t\t) ||\n\t\t\twindow.localStorage.getItem(\n\t\t\t\t`sn.polaris.${userInfo.sysId}.searchPreviousContext`\n\t\t\t);\n\n\treturn !isEmpty(previousContext) ? previousContext : undefined;\n};\n\nconst _getAvailableLabel = (searchContext, label, isGlobal) => {\n\tif (isGlobal && searchContext && searchContext.value) {\n\t\tconst { value } = searchContext;\n\t\tconst { backButtonLabel } = JSON.parse(value);\n\n\t\treturn backButtonLabel;\n\t}\n\n\tif (!isGlobal && !isEmpty(label)) return label;\n\n\treturn undefined;\n};\n\nclass BackButton extends React.PureComponent {\n\trender() {\n\t\tconst { label, isLegacyWorkspace, isGlobal } = this.props;\n\n\t\tconst previousContext = _getPreviousContext();\n\t\tconst parsedPreviousContext = !isEmpty(previousContext)\n\t\t\t? JSON.parse(previousContext)\n\t\t\t: undefined;\n\n\t\tconst availableLabel = _getAvailableLabel(\n\t\t\tparsedPreviousContext,\n\t\t\tlabel,\n\t\t\tisGlobal\n\t\t);\n\n\t\tif (!isEmpty(availableLabel) && !isLegacyWorkspace) {\n\t\t\tconst labelDisplayValue =\n\t\t\t\tavailableLabel.length > BACK_BUTTON_TEXT_LIMIT\n\t\t\t\t\t? `${availableLabel.slice(0, BACK_BUTTON_TEXT_LIMIT)}...`\n\t\t\t\t\t: availableLabel;\n\n\t\t\treturn (\n\t\t\t\t<now-button-bare\n\t\t\t\t\tclassName=\"global-search-context-back-button\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tappend-to-payload={{ type: PREVIOUS_APP }}\n\t\t\t\t\tconfig-aria={{ 'aria-label': `${BACK_TO} ${label}` }}>\n\t\t\t\t\t<span title={availableLabel}>\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"arrow-start-fill\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tclassName=\"global-search-context-back-button-icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{labelDisplayValue}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/now-button-bare>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nBackButton.propTypes = {\n\tlabel: PropTypes.string,\n\tisLegacyWorkspace: PropTypes.bool,\n\tisGlobal: PropTypes.bool\n};\n\nexport default BackButton;\n","import React from 'react';\nimport '@servicenow/now-illustration';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-heading';\nimport { t } from 'sn-translate';\nimport PropTypes from 'prop-types';\nimport AriaLiveRegion from '../../common/AriaLiveRegion';\nimport BackButton from './BackButton';\n\nclass NoResults extends React.PureComponent {\n\trender() {\n\t\tconst {\n\t\t\tterm,\n\t\t\tbackButtonLabel,\n\t\t\tisLegacyWorkspace,\n\t\t\tisGlobal\n\t\t} = this.props;\n\n\t\tconst message = t('0 results for \"{0}\"', term);\n\t\treturn (\n\t\t\t<div className=\"sn-panel ng-scope tab-container\">\n\t\t\t\t<div className=\"sn-panel--row\">\n\t\t\t\t\t<div className=\"sn-panel sn-global-search no-results\">\n\t\t\t\t\t\t<div className=\"sn-panel--row sn-panel--row__static\">\n\t\t\t\t\t\t\t<div className=\"sn-panel--column\">\n\t\t\t\t\t\t\t\t<BackButton\n\t\t\t\t\t\t\t\t\tlabel={backButtonLabel}\n\t\t\t\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\t\t\tlabel={message}\n\t\t\t\t\t\t\t\t\tlevel=\"1\"\n\t\t\t\t\t\t\t\t\tvariant=\"header-primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"sn-preserve-whitepsace\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<AriaLiveRegion message={message} />\n\t\t\t\t\t\t<div className=\"sn-panel--row sn-panel--row__static empty-state-container\">\n\t\t\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\t\t\t\tcontent={t(\n\t\t\t\t\t\t\t\t\t'Try searching for something less specific or search within your lists.'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\theading={{\n\t\t\t\t\t\t\t\t\tlabel: t('No results for \"{0}\"', term),\n\t\t\t\t\t\t\t\t\tlevel: '3'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tillustration=\"no-search-results\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nNoResults.propTypes = {\n\tterm: PropTypes.string.isRequired,\n\tbackButtonLabel: PropTypes.string,\n\tisLegacyWorkspace: PropTypes.bool,\n\tisGlobal: PropTypes.bool\n};\n\nexport default NoResults;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport '@servicenow/now-button';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-text-link';\n\nimport {\n\tVIEW_ALL,\n\tNAVIGATE_TO_LIST_VIEW,\n\tGLOBAL_NAV_PREFIX,\n\tGLOBAL_SEARCH_CONTEXT,\n\tEXACT_MATCH\n} from '../constants';\nimport ResultRecords from './ResultRecords';\nimport { connectConfig } from '../../lib/sn-component-workspace-config';\nimport { GOTO_LIST_VIEW_BUTTON_CLICKED } from '../actions';\n\nexport class Section extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.infoIconRef = null;\n\t\tthis.nodeRef = null;\n\t\tthis.linkRef = null;\n\t\tthis.getInfoIconRef = this.getInfoIconRef.bind(this);\n\t\tthis.getNodeRef = this.getNodeRef.bind(this);\n\t\tthis.getLinkRef = this.getLinkRef.bind(this);\n\t\tthis.onViewAllClick = this.onViewAllClick.bind(this);\n\t\tthis.navigateToListView = this.navigateToListView.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { focusLinkOnMount } = this.props;\n\t\tif (focusLinkOnMount && this.linkRef) {\n\t\t\tthis.linkRef.focus();\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { scrollSectionIntoView } = this.props;\n\t\tif (scrollSectionIntoView && this.nodeRef) {\n\t\t\tthis.nodeRef.scrollIntoView(true);\n\t\t\tlet records = this.nodeRef.getElementsByClassName('focus-record');\n\t\t\tif (records && records[0]) records[0].focus();\n\t\t}\n\t}\n\n\tonViewAllClick() {\n\t\tconst { onViewAllClick } = this.props;\n\t\tif (this.isDrillDownViewAvailable && onViewAllClick) {\n\t\t\tconst sectionSysId = get(this.props, 'section');\n\t\t\tconst sectionTitle = get(this.props, 'data.name');\n\t\t\tonViewAllClick(sectionSysId, sectionTitle);\n\t\t}\n\t}\n\n\tnavigateToListView() {\n\t\tconst tableName = get(this.props, 'data.tableName');\n\t\tconst {overrideGotoListViewEvent, dispatch} = this.props;\n\t\t\n\t\tconst conditionOnSearchSource = get(\n\t\t\tthis.props,\n\t\t\t'data.condition.value',\n\t\t\t''\n\t\t);\n\t\tif (overrideGotoListViewEvent) {\n\t\t\tdispatch(GOTO_LIST_VIEW_BUTTON_CLICKED , {\n\t\t\t\ttableName,\n\t\t\t\tconditions: conditionOnSearchSource\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tconst searchSourceConditionUrlFormat = conditionOnSearchSource\n\t\t\t? `${encodeURIComponent(\n\t\t\t\t\t'^'\n\t\t\t  )}${conditionOnSearchSource}${encodeURIComponent(\n\t\t\t\t\t'&sysparm_first_row=1&sysparm_view='\n\t\t\t  )}`\n\t\t\t: `${encodeURIComponent('&sysparm_first_row=1&sysparm_view=')}`;\n\n\t\tconst term = encodeURIComponent(get(this.props, 'term'));\n\t\tconst currentUrl = window.top.location.href;\n\t\tlet newUrl = currentUrl.toString().split('now/')[0];\n\n\t\tconst urlExtension = `${GLOBAL_NAV_PREFIX}${tableName}_list.do${encodeURIComponent(\n\t\t\t'?sysparm_query=GOTO123TEXTQUERY321='\n\t\t)}${encodeURIComponent(\n\t\t\tterm\n\t\t)}${searchSourceConditionUrlFormat}`;\n\t\tconst navListUrl = newUrl.concat(urlExtension);\n\t\twindow.open(navListUrl, '_blank');\n\t}\n\n\tget isDrillDownViewAvailable() {\n\t\tconst { data, limitPerSource } = this.props;\n\t\treturn data.databaseRecordCount > limitPerSource;\n\t}\n\n\tgetInfoIconRef(el) {\n\t\tthis.infoIconRef = el;\n\t}\n\n\tgetNodeRef(el) {\n\t\tthis.nodeRef = el;\n\t}\n\n\tgetLinkRef(el) {\n\t\tthis.linkRef = el;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdata,\n\t\t\tsection,\n\t\t\tonRecordSelect,\n\t\t\tlimitPerSource,\n\t\t\thideResultsCount,\n\t\t\tisGlobal,\n\t\t\tshowRedactionWarning,\n\t\t\tselectedSearchContext,\n\t\t\tterm\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tname,\n\t\t\tcondition,\n\t\t\tdatabaseRecordCount,\n\t\t\ttableName,\n\t\t\trecords,\n\t\t\tdisplayFields\n\t\t} = data;\n\n\t\tconst visibleCount =\n\t\t\trecords.length >= limitPerSource ? limitPerSource : records.length;\n\n\t\tconst sectionHeaderText = hideResultsCount\n\t\t\t? name\n\t\t\t: t('{0} ({1} of {2})', name, visibleCount, databaseRecordCount);\n\n\t\tconst redactedRecords = databaseRecordCount - visibleCount;\n\t\tvar countWarning = undefined;\n\t\tif (\n\t\t\tredactedRecords > 0 &&\n\t\t\tvisibleCount < limitPerSource &&\n\t\t\tshowRedactionWarning\n\t\t) {\n\t\t\tif (hideResultsCount)\n\t\t\t\tcountWarning = t(\n\t\t\t\t\t'One or more records removed due to security constraints'\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tcountWarning = t(\n\t\t\t\t\t'{0} {1} removed due to security constraints',\n\t\t\t\t\tredactedRecords,\n\t\t\t\t\tredactedRecords > 1 ? t('records') : t('record')\n\t\t\t\t);\n\t\t}\n\n\t\tconst labelId = `section-${section}`;\n\n\t\tconst isExactMatch = name.includes(EXACT_MATCH);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"global-search-records global-search-section\"\n\t\t\t\tref={this.getNodeRef}>\n\t\t\t\t<header\n\t\t\t\t\tclassName={`global-search-content--header${\n\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t}`}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`global-search-content${\n\t\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\tid={labelId}\n\t\t\t\t\t\t\thas-no-margin\n\t\t\t\t\t\t\tlabel={sectionHeaderText}\n\t\t\t\t\t\t\tlevel=\"2\"\n\t\t\t\t\t\t\tvariant=\"title-primary\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{condition && condition.value && (\n\t\t\t\t\t\t\t<div className=\"global-search-content--tooltip\">\n\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\tclassName=\"tooltip-focus\"\n\t\t\t\t\t\t\t\t\taria-describedby={`tooltip-${section}`}\n\t\t\t\t\t\t\t\t\ticon=\"circleInfoOutline\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\tref={this.getInfoIconRef}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\t\t\t\tid={`tooltip-${section}`}\n\t\t\t\t\t\t\t\t\tcontent={condition.display}\n\t\t\t\t\t\t\t\t\ttarget-ref={this.infoIconRef}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`sn-section--content sn-section--content__static${\n\t\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t{databaseRecordCount > limitPerSource && (\n\t\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisGlobal ? 'global-text-link-content' : ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ticon-start=\"list-fill\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\ttype: VIEW_ALL,\n\t\t\t\t\t\t\t\t\tonClick: this.onViewAllClick\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t\t'View all {0}',\n\t\t\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\t\t)}><\/now-button-bare>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isGlobal && !isExactMatch && (\n\t\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisGlobal ? 'global-list-view-icon' : ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\ticon-start=\"open-link-right-outline\"\n\t\t\t\t\t\t\t\tlabel={t('Go to list view')}\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\ttype: NAVIGATE_TO_LIST_VIEW,\n\t\t\t\t\t\t\t\t\tonClick: this.navigateToListView\n\t\t\t\t\t\t\t\t}}><\/now-button-bare>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/header>\n\t\t\t\t<div>\n\t\t\t\t\t<ResultRecords\n\t\t\t\t\t\tariaLabelledBy={labelId}\n\t\t\t\t\t\tfieldOrder={displayFields}\n\t\t\t\t\t\tsection={section}\n\t\t\t\t\t\tsectionTableName={tableName}\n\t\t\t\t\t\trecords={records}\n\t\t\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{countWarning && showRedactionWarning && (\n\t\t\t\t\t<p className=\"global-search-content--redaction-warning\">\n\t\t\t\t\t\t{countWarning}\n\t\t\t\t\t<\/p>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nSection.propTypes = {\n\tscrollSectionIntoView: PropTypes.bool,\n\tfocusLinkOnMount: PropTypes.bool,\n\tsection: PropTypes.string.isRequired,\n\tlimitPerSource: PropTypes.number.isRequired,\n\tonRecordSelect: PropTypes.func.isRequired,\n\tonViewAllClick: PropTypes.func,\n\t// eslint-disable-next-line react/forbid-prop-types\n\tdata: PropTypes.object.isRequired,\n\thideResultsCount: PropTypes.bool,\n\tisGlobal: PropTypes.bool,\n\tshowRedactionWarning: PropTypes.bool,\n\tselectedSearchContext: PropTypes.string,\n\tdispatch: PropTypes.func,\n\toverrideGotoListViewEvent: PropTypes.bool\n};\n\nSection.defaultProps = {\n\tfocusLinkOnMount: false,\n\tscrollSectionIntoView: false,\n\tonViewAllClick: () => undefined,\n\thideResultsCount: false,\n\tshowRedactionWarning: false,\n\toverrideGotoListViewEvent: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\tlimitPerSource:\n\t\t\tconfig.global_search_config.tab_overview_items_per_section\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(Section);\n","/**\n * Creates an object that handles click/enter/space common functionality\n */\nexport default (fn, optionalKeys = []) => ({\n\tonClick: fn,\n\tonKeyDown: (e) => {\n\t\tif (\n\t\t\te.key === ' ' ||\n\t\t\te.key === 'Enter' ||\n\t\t\toptionalKeys.includes(e.key)\n\t\t) {\n\t\t\te.preventDefault();\n\t\t\tfn(e);\n\t\t}\n\t}\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport createInteractionHandlers from '../../../utils/createInteractionhandlers';\n\nclass SkipToLink extends React.PureComponent {\n\trender() {\n        const { skipToCallback, id, className, href, displayText } = this.props;\n\t\treturn (\n\t\t\t<a\n\t\t\t\tid={id}\n\t\t\t\tclassName={className}\n\t\t\t\thref={href}\n\t\t\t\t{...createInteractionHandlers(skipToCallback)}>\n\t\t\t\t{displayText}\n\t\t\t<\/a>\n\t\t);\n\t}\n}\n\nSkipToLink.propTypes = {\n\tskipToCallback: PropTypes.func.isRequired,\n\tid: PropTypes.string.isRequired,\n\tclassName: PropTypes.string.isRequired,\n\thref: PropTypes.string.isRequired,\n\tdisplayText: PropTypes.string.isRequired\n};\n\nexport default SkipToLink;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/map';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\nimport { connectConfig } from '../../lib/sn-component-workspace-config';\nimport SkipToLink from './Tab/SkipToLink';\n\nimport '@servicenow/now-badge';\nimport '@servicenow/now-text-link';\n\nimport { SKIP_TO_LABEL, SIDEBAR_HEADER_LABEL } from '../constants';\n\nconst EXACT_MATCH_DATA = {\n\tsources: {\n\t\tEXACT_MATCH_SECTION: {\n\t\t\tname: t('Exact Match'),\n\t\t\trecords: [1],\n\t\t\tdatabaseRecordCount: 1\n\t\t}\n\t}\n};\n\nexport class Sidebar extends React.PureComponent {\n\trenderSection(rawData, sysId, hideResultsCount, index) {\n\t\tconst { onSidebarItemClick, isGlobal, setRef } = this.props;\n\t\tconst data = get(rawData, ['sources', sysId]);\n\t\tif (!data) return null;\n\t\tif (data.databaseRecordCount < 1) return null;\n\t\t// nds-scanner-disable-start\n\t\treturn (\n\t\t\t<li\n\t\t\t\tid={`sn-list-group-item-${sysId}`}\n\t\t\t\t{...(index === 0 && { ref: setRef })}\n\t\t\t\tkey={sysId}\n\t\t\t\tclassName={`sn-list-group--item${isGlobal ? ' -global' : ''}`}\n\t\t\t\tonClick={(e) => onSidebarItemClick(e, sysId)}\n\t\t\t\tonKeyDown={(e) => onSidebarItemClick(e, sysId)}\n\t\t\t\ttabIndex={0}\n\t\t\t\taria-labelledby={`sn-list-landmark-label sn-list-item-${sysId}`}>\n\t\t\t\t<a\n\t\t\t\t\tid={`sn-list-item-${sysId}`}\n\t\t\t\t\taria-label={`${SKIP_TO_LABEL} ${data.name}`}\n\t\t\t\t\tclassName={`sn-list-group--content${\n\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t}`}>\n\t\t\t\t\t{data.name}\n\t\t\t\t<\/a>\n\t\t\t\t{hideResultsCount ? null : (\n\t\t\t\t\t<div className=\"sn-list-group--content snu-static\">\n\t\t\t\t\t\t<now-badge\n\t\t\t\t\t\t\tround\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tstatus=\"low\"\n\t\t\t\t\t\t\tvalue={data.databaseRecordCount}\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tcolor={isGlobal ? 'low' : ''}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/li>\n\t\t);\n\t\t// nds-scanner-disable-stop\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdata,\n\t\t\tdisplayExactMatchSection,\n\t\t\tsearchSources,\n\t\t\thideResultsCount,\n\t\t\tisGlobal,\n\t\t\tskipToResultsLinkClicked,\n\t\t\tsetRef\n\t\t} = this.props;\n\n\t\tconst totalSources = get(data, 'sourceList.length', 0);\n\t\tconst totalRecordCount = get(data, 'responseRecordCount', 0);\n\n\t\tif (!displayExactMatchSection) {\n\t\t\tif (totalSources === 0 || totalRecordCount === 0) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`sn-panel mod-global-search${\n\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t}`}>\n\t\t\t\t<div className=\"sn-section\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"sn-list-group sn-list-group__simple\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\trole=\"region\"\n\t\t\t\t\t\t\t\taria-label={SIDEBAR_HEADER_LABEL}\n\t\t\t\t\t\t\t\tid=\"sn-list-landmark-label\"><\/div>\n\t\t\t\t\t\t\t<ul className=\"sn-list-group\" {...{ ref: setRef }}>\n\t\t\t\t\t\t\t\t{displayExactMatchSection &&\n\t\t\t\t\t\t\t\t\tthis.renderSection(\n\t\t\t\t\t\t\t\t\t\tEXACT_MATCH_DATA,\n\t\t\t\t\t\t\t\t\t\t'EXACT_MATCH_SECTION',\n\t\t\t\t\t\t\t\t\t\thideResultsCount\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{map(\n\t\t\t\t\t\t\t\t\tsearchSources,\n\t\t\t\t\t\t\t\t\t({ sys_id: sysId }, index) =>\n\t\t\t\t\t\t\t\t\t\tthis.renderSection(\n\t\t\t\t\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t\t\t\t\tsysId,\n\t\t\t\t\t\t\t\t\t\t\thideResultsCount,\n\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t\t<SkipToLink skipToCallback={skipToResultsLinkClicked}\n\t\t\t\t\t\t\t\tid=\"skip-to-results\"\n\t\t\t\t\t\t\t\tclassName=\"skip-to-results-link\"\n\t\t\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\t\t\tdisplayText={t('Skip to results')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nSidebar.propTypes = {\n\tdata: PropTypes.object, // eslint-disable-line react/forbid-prop-types\n\tsearchSources: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tonSidebarItemClick: PropTypes.func.isRequired,\n\tdisplayExactMatchSection: PropTypes.bool,\n\thideResultsCount: PropTypes.bool,\n\tisGlobal: PropTypes.bool,\n\tsetRef: PropTypes.func,\n\tskipToResultsLinkClicked: PropTypes.func\n};\n\nSidebar.defaultProps = {\n\tdata: undefined,\n\tdisplayExactMatchSection: false,\n\thideResultsCount: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\tsearchSources: config.search_sources\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(Sidebar);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/map';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\nimport ReactDOM from 'react-dom';\n\nimport { connectConfig } from '../../lib/sn-component-workspace-config';\nimport Section from './Section';\nimport Sidebar from './Sidebar';\nimport TabHeader from './Tab/TabHeader';\nimport TabBody from './Tab/TabBody';\nimport TabContainer from './Tab/TabContainer';\nimport { exactMatchDataShape } from '../propTypes';\nimport AriaLiveRegion from '../../common/AriaLiveRegion';\nimport BackButton from './BackButton';\nimport SkipToLink from './Tab/SkipToLink';\nimport { SKIP_TO_SIDEBAR } from '../constants';\n\nexport class Overview extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tresultsRef: null,\n\t\t\tsidebarRef: null\n\t\t};\n\n\t\tthis.containerNode = null;\n\t\tthis.getContainerRef = this.getContainerRef.bind(this);\n\t\tthis.setSideBarRef = this.setSideBarRef.bind(this);\n\t\tthis.setResultsRef = this.setResultsRef.bind(this);\n\t\tthis.skipToResultsLinkClicked = this.skipToResultsLinkClicked.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.skipToSideBarLinkClicked = this.skipToSideBarLinkClicked.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.focusFirstElementFromRef = this.focusFirstElementFromRef.bind(\n\t\t\tthis\n\t\t);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst { term } = this.props;\n\t\tif (prevProps.term !== term && this.containerNode) {\n\t\t\tthis.containerNode.scrollTop = 0;\n\t\t}\n\t}\n\n\tfocusFirstElementFromRef(ref, className) {\n\t\tconst sectionContainer = ReactDOM.findDOMNode(ref);\n\t\tconst firstResult = sectionContainer.getElementsByClassName(\n\t\t\tclassName\n\t\t)[0];\n\t\tfirstResult.focus();\n\t}\n\n\tgetContainerRef(el) {\n\t\tthis.containerNode = el;\n\t}\n\n\tsetSideBarRef(node) {\n\t\tthis.setState({\n\t\t\tsidebarRef: node\n\t\t});\n\t}\n\n\tsetResultsRef(node) {\n\t\tthis.setState({\n\t\t\tresultsRef: node\n\t\t});\n\t}\n\n\tskipToSideBarLinkClicked() {\n\t\tthis.focusFirstElementFromRef(\n\t\t\tthis.state.sidebarRef,\n\t\t\t'sn-list-group--item'\n\t\t);\n\t}\n\n\tskipToResultsLinkClicked() {\n\t\tthis.focusFirstElementFromRef(this.state.resultsRef, 'focus-record');\n\t}\n\n\trenderSection(rawData, sysId, index, hideResultsCount) {\n\t\tconst {\n\t\t\tscrollIntoViewSection,\n\t\t\tonRecordSelect,\n\t\t\tonSectionDrillDown,\n\t\t\tisGlobal,\n\t\t\tshowRedactionWarning,\n\t\t\tselectedSearchContext,\n\t\t\tterm,\n\t\t\tdispatch,\n\t\t\toverrideGotoListViewEvent\n\t\t} = this.props;\n\t\tconst data = get(rawData, ['sources', sysId]);\n\t\tif (!data) return null;\n\t\tif (data.databaseRecordCount < 1) return null;\n\n\t\tconst shouldScrollIntoView = scrollIntoViewSection === sysId;\n\n\t\treturn (\n\t\t\t<Section\n\t\t\t\tkey={sysId}\n\t\t\t\tfocusLinkOnMount={index === 0}\n\t\t\t\tscrollSectionIntoView={shouldScrollIntoView}\n\t\t\t\tsection={sysId}\n\t\t\t\tdata={data}\n\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\tonViewAllClick={onSectionDrillDown}\n\t\t\t\thideResultsCount={hideResultsCount}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tshowRedactionWarning={showRedactionWarning}\n\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tterm={term}\n\t\t\t\toverrideGotoListViewEvent={overrideGotoListViewEvent}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tterm,\n\t\t\tdata,\n\t\t\treading,\n\t\t\tisOverviewVisible,\n\t\t\texactMatchData,\n\t\t\texactMatchEnabled,\n\t\t\tsearchSources,\n\t\t\tonSectionDrillDown,\n\t\t\tonSidebarItemClick,\n\t\t\thideResultsCount,\n\t\t\tbackButtonLabel,\n\t\t\tisLegacyWorkspace,\n\t\t\tisGlobal,\n\t\t\tselectedSearchContext,\n\t\t\toverrideGotoListViewEvent,\n\t\t\tdispatch\n\t\t} = this.props;\n\n\t\tconst hasExactMatch = exactMatchData && !!exactMatchData.sources;\n\n\t\tconst responseRecordCount = get(data, 'responseRecordCount', 0);\n\t\tconst totalRecordCount =\n\t\t\tresponseRecordCount + (exactMatchEnabled && hasExactMatch ? 1 : 0);\n\n\t\tlet headerTitle = '';\n\t\tif (reading) {\n\t\t\theaderTitle = t('Searching for \"{0}\"', term);\n\t\t} else if (hideResultsCount) {\n\t\t\theaderTitle = t('Results for \"{0}\"', term);\n\t\t} else {\n\t\t\theaderTitle = t(\n\t\t\t\t'{0} results for \"{1}\"',\n\t\t\t\ttotalRecordCount.toLocaleString(),\n\t\t\t\tterm\n\t\t\t);\n\t\t}\n\t\tconst indexOffset = hasExactMatch ? 1 : 0;\n\n\t\treturn (\n\t\t\t<TabContainer\n\t\t\t\tisVisible={isOverviewVisible}\n\t\t\t\tclassName=\"tab-results-container\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"global-search-container\"\n\t\t\t\t\tref={this.getContainerRef}>\n\t\t\t\t\t<SkipToLink\n\t\t\t\t\t\tskipToCallback={this.skipToSideBarLinkClicked}\n\t\t\t\t\t\tid=\"skip-to-sidebar\"\n\t\t\t\t\t\tclassName=\"skip-to-sidebar-link\"\n\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\tdisplayText={SKIP_TO_SIDEBAR}\n\t\t\t\t\t/>\n\t\t\t\t\t<BackButton\n\t\t\t\t\t\tlabel={backButtonLabel}\n\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t/>\n\t\t\t\t\t<TabHeader\n\t\t\t\t\t\ttitle={headerTitle}\n\t\t\t\t\t\tspinnerEnabled={reading}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t/>\n\t\t\t\t\t<TabBody setRef={this.setResultsRef}>\n\t\t\t\t\t\t{exactMatchEnabled &&\n\t\t\t\t\t\t\tthis.renderSection(\n\t\t\t\t\t\t\t\texactMatchData,\n\t\t\t\t\t\t\t\t'EXACT_MATCH_SECTION',\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\thideResultsCount\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{map(searchSources, ({ sys_id: sysId }, index) =>\n\t\t\t\t\t\t\tthis.renderSection(\n\t\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t\tsysId,\n\t\t\t\t\t\t\t\tindex + indexOffset,\n\t\t\t\t\t\t\t\thideResultsCount,\n\t\t\t\t\t\t\t\tisGlobal\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/TabBody>\n\t\t\t\t<\/div>\n\t\t\t\t<Sidebar\n\t\t\t\t\tdata={data}\n\t\t\t\t\tonSectionDrillDown={onSectionDrillDown}\n\t\t\t\t\tonSidebarItemClick={onSidebarItemClick}\n\t\t\t\t\tdisplayExactMatchSection={\n\t\t\t\t\t\texactMatchEnabled && hasExactMatch\n\t\t\t\t\t}\n\t\t\t\t\thideResultsCount={hideResultsCount}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tsetRef={this.setSideBarRef}\n\t\t\t\t\tskipToResultsLinkClicked={this.skipToResultsLinkClicked}\n\t\t\t\t/>\n\t\t\t<\/TabContainer>\n\t\t);\n\t}\n}\n\nOverview.propTypes = {\n\tterm: PropTypes.string.isRequired,\n\tscrollIntoViewSection: PropTypes.string.isRequired,\n\treading: PropTypes.bool.isRequired,\n\tisOverviewVisible: PropTypes.bool.isRequired,\n\tdata: PropTypes.object, // eslint-disable-line react/forbid-prop-types\n\tsearchSources: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tonRecordSelect: PropTypes.func.isRequired,\n\tonSectionDrillDown: PropTypes.func.isRequired,\n\tonSidebarItemClick: PropTypes.func.isRequired,\n\texactMatchData: exactMatchDataShape,\n\texactMatchEnabled: PropTypes.bool.isRequired,\n\thideResultsCount: PropTypes.bool,\n\tisLegacyWorkspace: PropTypes.bool,\n\tbackButtonLabel: PropTypes.string,\n\tisGlobal: PropTypes.bool,\n\tselectedSearchContext: PropTypes.string,\n\tdispatch: PropTypes.func,\n\toverrideGotoListViewEvent: PropTypes.bool\n};\n\nOverview.defaultProps = {\n\tdata: undefined,\n\texactMatchData: undefined,\n\thideResultsCount: false,\n\toverrideGotoListViewEvent: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\tsearchSources: config.search_sources,\n\t\texactMatchEnabled: config.global_search_config.exact_match_enabled\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(Overview);\n","import get from 'lodash/get';\nimport has from 'lodash/has';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { connectConfig } from '../lib/sn-component-workspace-config';\nimport { createLog } from '../utils/Logger';\nimport SearchSourceErrors from '../utils/SearchSourceErrors';\nimport shortSliceFirst from '../utils/shortSliceFirst';\nimport {\n\tEXACT_MATCH_FETCH,\n\tWORKSPACE_TEXT_SEARCH,\n\tSN_WS_SEARCH_TAB_SEARCH_SUCCEEDED,\n\tWORKSPACE_TEXT_SEARCH_BATCHED\n} from './actions';\nimport { ENUM_TAB_MODES, EXACT_MATCH_RECORD_PATH } from './constants';\nimport NoResults from './GlobalSearchResult/NoResults';\nimport Overview from './GlobalSearchResult/Overview';\nimport { exactMatchDataShape } from './propTypes';\n\nconst LOG = createLog('GlobalSearchTab Overview');\n\nconst _hasExactMatchRecords = (data) => {\n\tconst records = get(data, EXACT_MATCH_RECORD_PATH, []);\n\treturn records.length > 0;\n};\n\nexport class ComponentWorkspaceGlobalSearchTabOverview extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.readInChunks = this.readInChunks.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { term, itemsToShowPerSection, searchSources } = this.props;\n\t\tthis.readInChunks(term, itemsToShowPerSection, searchSources);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst {\n\t\t\tterm,\n\t\t\titemsToShowPerSection,\n\t\t\tmode,\n\t\t\tsearchSources,\n\t\t\tsearchErrors,\n\t\t\tresetOverviewState,\n\t\t\tbatchCount,\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\n\t\tconst currentTerm = term;\n\t\tconst prevTerm = prevProps.term;\n\t\tconst prevItemsToShowPerSection = prevProps.itemsToShowPerSection;\n\n\t\tif (\n\t\t\t(currentTerm && currentTerm !== prevTerm) ||\n\t\t\titemsToShowPerSection !== prevItemsToShowPerSection\n\t\t) {\n\t\t\tresetOverviewState();\n\t\t\tif (\n\t\t\t\t!this.getDataForTerm(currentTerm) ||\n\t\t\t\titemsToShowPerSection !== prevItemsToShowPerSection\n\t\t\t)\n\t\t\t\tthis.readInChunks(\n\t\t\t\t\tcurrentTerm,\n\t\t\t\t\titemsToShowPerSection,\n\t\t\t\t\tsearchSources\n\t\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tthis.isChunkedReadComplete() &&\n\t\t\tsearchSources.length &&\n\t\t\tmode === ENUM_TAB_MODES.OVERVIEW\n\t\t) {\n\t\t\tconst error = searchErrors.getAggregatedError(\n\t\t\t\tsearchSources.length,\n\t\t\t\tLOG\n\t\t\t);\n\n\t\t\tdispatch(SN_WS_SEARCH_TAB_SEARCH_SUCCEEDED, {\n\t\t\t\terror,\n\t\t\t\tsearchTerm: currentTerm\n\t\t\t});\n\n\t\t\tif (error) {\n\t\t\t\tLOG.error(error);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetDataForTerm(term) {\n\t\tconst { searchData } = this.props;\n\t\tif (searchData && searchData.term && searchData.term === term) {\n\t\t\treturn searchData;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tisSearching() {\n\t\tconst { searchSources, term, searchErrors } = this.props;\n\t\tconst searchData = this.getDataForTerm(term);\n\t\tconst sourceList = get(searchData, 'sourceList', []);\n\t\treturn searchSources.length !== sourceList.length + searchErrors.length;\n\t}\n\n\treadInChunks(sysParamTerm, sysParamLimit, sources, sysParamPage = 1) {\n\t\tif (!sources || sources.length == 0)\n\t\t\treturn;\n\n\t\tconst {\n\t\t\texactMatchEnabled,\n\t\t\tbatchCount,\n\t\t\tselectedSearchContext,\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\t\tif (sysParamTerm.length === 0) return;\n\n\t\tif (exactMatchEnabled) {\n\t\t\tdispatch(EXACT_MATCH_FETCH, {\n\t\t\t\tterm: sysParamTerm,\n\t\t\t\tsearchContextConfigId: selectedSearchContext\n\t\t\t});\n\t\t}\n\n\t\tif (batchCount > 0) {\n\t\t\t// Slice sources by batch count\n\t\t\tvar batches = shortSliceFirst(sources, batchCount);\n\t\t\t// Dispatch each batch (STRY52851474)\n\t\t\tbatches.forEach((batch) => {\n\t\t\t\tvar searchSourceIds = batch.map((i) => i.sys_id).join(',');\n\t\t\t\tdispatch(\n\t\t\t\t\tWORKSPACE_TEXT_SEARCH_BATCHED,\n\t\t\t\t\t{\n\t\t\t\t\t\tsysparm_search_sources: searchSourceIds,\n\t\t\t\t\t\tsysparm_limit: sysParamLimit,\n\t\t\t\t\t\tsysparm_page: sysParamPage,\n\t\t\t\t\t\tsysparm_term: sysParamTerm\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tsearchParams: {\n\t\t\t\t\t\t\tsysparm_search_sources: searchSourceIds,\n\t\t\t\t\t\t\tsysparm_term: sysParamTerm\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t} else {\n\t\t\tsources.forEach((source) => {\n\t\t\t\tdispatch(\n\t\t\t\t\tWORKSPACE_TEXT_SEARCH,\n\t\t\t\t\t{\n\t\t\t\t\t\tsys_id: source.sys_id,\n\t\t\t\t\t\tsysparm_limit: sysParamLimit,\n\t\t\t\t\t\tsysparm_page: sysParamPage,\n\t\t\t\t\t\tsysparm_term: sysParamTerm\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tsearchParams: {\n\t\t\t\t\t\t\tsys_id: source.sys_id,\n\t\t\t\t\t\t\tsysparm_term: sysParamTerm\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t}\n\n\tisChunkedReadComplete() {\n\t\tconst { exactMatchData } = this.props;\n\n\t\tconst isFetching = exactMatchData && exactMatchData.isFetching;\n\t\treturn !this.isSearching() && !isFetching;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\texactMatchData,\n\t\t\tterm,\n\t\t\tsearchSources,\n\t\t\tonRecordSelect,\n\t\t\tonSectionDrillDown,\n\t\t\tsearchData,\n\t\t\thandleSidebarItemClick,\n\t\t\tscrollIntoViewSection,\n\t\t\tmode,\n\t\t\thideResultsCount,\n\t\t\tbackButtonLabel,\n\t\t\tisLegacyWorkspace,\n\t\t\tisGlobal,\n\t\t\tbatchCount,\n\t\t\tshowRedactionWarning,\n\t\t\tselectedSearchContext,\n\t\t\thelpers: { dispatch },\n\t\t\toverrideGotoListViewEvent\n\t\t} = this.props;\n\t\tconst hasExactMatch = _hasExactMatchRecords(exactMatchData);\n\n\t\tif (!term) {\n\t\t\tLOG.debug(\n\t\t\t\t'Component was rendered without passing a term attribute.'\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<NoResults\n\t\t\t\t\tterm=\"\"\n\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (this.isChunkedReadComplete() && !hasExactMatch) {\n\t\t\tif (!searchSources.length) {\n\t\t\t\tLOG.debug('No search sources found');\n\t\t\t\treturn (\n\t\t\t\t\t<NoResults\n\t\t\t\t\t\tterm={term}\n\t\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!has(searchData, 'sourceList')) {\n\t\t\t\tLOG.debug('Component failed to retrieve API response.');\n\t\t\t\treturn (\n\t\t\t\t\t<NoResults\n\t\t\t\t\t\tterm={term}\n\t\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst data = this.getDataForTerm(term);\n\n\t\tconst recordCount = get(data, 'responseRecordCount', 0);\n\t\tif (recordCount < 1 && this.isChunkedReadComplete() && !hasExactMatch)\n\t\t\treturn (\n\t\t\t\t<NoResults\n\t\t\t\t\tterm={term}\n\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t);\n\n\t\tconst isOverviewVisible = mode === ENUM_TAB_MODES.OVERVIEW;\n\t\treturn (\n\t\t\t<Overview\n\t\t\t\tterm={term}\n\t\t\t\tscrollIntoViewSection={scrollIntoViewSection}\n\t\t\t\treading={!this.isChunkedReadComplete()}\n\t\t\t\tisOverviewVisible={isOverviewVisible}\n\t\t\t\tdata={data}\n\t\t\t\tonSidebarItemClick={handleSidebarItemClick}\n\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\tonSectionDrillDown={onSectionDrillDown}\n\t\t\t\texactMatchData={exactMatchData}\n\t\t\t\thideResultsCount={hideResultsCount}\n\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tbatchCount={batchCount}\n\t\t\t\tshowRedactionWarning={showRedactionWarning}\n\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\toverrideGotoListViewEvent={overrideGotoListViewEvent}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nComponentWorkspaceGlobalSearchTabOverview.propTypes = {\n\tterm: PropTypes.string,\n\titemsToShowPerSection: PropTypes.number.isRequired,\n\tsearchSources: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\texactMatchEnabled: PropTypes.bool.isRequired,\n\thideResultsCount: PropTypes.bool,\n\tsearchData: PropTypes.shape({\n\t\tterm: PropTypes.string,\n\t\tresponseRecordCount: PropTypes.number,\n\t\tsourceList: PropTypes.array,\n\t\tsources: PropTypes.object\n\t}),\n\tsearchErrors: PropTypes.shape({\n\t\terrors: PropTypes.array,\n\t\tgetAggregatedError: PropTypes.func,\n\t\tlength: PropTypes.number\n\t}),\n\tonRecordSelect: PropTypes.func.isRequired,\n\tonSectionDrillDown: PropTypes.func.isRequired,\n\tscrollIntoViewSection: PropTypes.string,\n\tmode: PropTypes.string.isRequired,\n\tisLegacyWorkspace: PropTypes.bool,\n\tbackButtonLabel: PropTypes.string,\n\tisGlobal: PropTypes.bool,\n\texactMatchData: exactMatchDataShape,\n\thelpers: PropTypes.func.isRequired,\n\tresetOverviewState: PropTypes.func.isRequired,\n\thandleSidebarItemClick: PropTypes.func.isRequired,\n\tdispatch: PropTypes.func.isRequired,\n\tbatchCount: PropTypes.number,\n\tshowRedactionWarning: PropTypes.bool,\n\tselectedSearchContext: PropTypes.string,\n\toverrideGotoListViewEvent: PropTypes.bool\n};\n\nComponentWorkspaceGlobalSearchTabOverview.defaultProps = {\n\texactMatchData: undefined,\n\tscrollIntoViewSection: '',\n\tterm: '',\n\tsearchData: undefined,\n\tsearchErrors: new SearchSourceErrors(),\n\thideResultsCount: false,\n\tisGlobal: false,\n\tbatchCount: 0,\n\tshowRedactionWarning: false,\n\tselectedSearchContext: '',\n\toverrideGotoListViewEvent: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\titemsToShowPerSection:\n\t\t\tconfig.global_search_config.tab_overview_items_per_section,\n\t\tsearchSources: config.search_sources,\n\t\texactMatchEnabled: config.global_search_config.exact_match_enabled,\n\t\thideResultsCount:\n\t\t\tconfig.global_search_config.hide_search_results_count ||\n\t\t\tconfig.hideResultsCount,\n\t\tbatchCount: config.batchCount,\n\t\tshowRedactionWarning:\n\t\t\tconfig.global_search_config.show_search_result_redaction_warning ||\n\t\t\tconfig.showRedactionWarning\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(\n\tComponentWorkspaceGlobalSearchTabOverview\n);\n","/**\n *  Used to slice an array into equal chunks with the shortest chunk at the beginning\n * @param {Object[]} valueItems - Array to be chunked\n * @param {int} size - The size of the chunks\n */\nexport default (arr, size) => {\n    var remainder = arr.length%size;\n    if (remainder == 0)\n        remainder = size;\n    var batches = [];\n    batches.push(arr.splice(0, remainder));\n    while (arr.length > 0)\n        batches.push(arr.splice(0, size));\n    return batches;\n};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Overview from './Overview';\n\n/**\n * A simple wrapper around overview meant to always display a loading state\n */\nexport class FetchConfigLoadingView extends React.PureComponent {\n\trender() {\n\t\tconst { term } = this.props;\n\t\treturn (\n\t\t\t<Overview\n\t\t\t\tterm={term}\n\t\t\t\tscrollIntoViewSection=\"\"\n\t\t\t\treading\n\t\t\t\tisOverviewVisible\n\t\t\t\tdata={null}\n\t\t\t\tonSidebarItemClick={() => {}}\n\t\t\t\tonRecordSelect={() => {}}\n\t\t\t\tonSectionDrillDown={() => {}}\n\t\t\t\texactMatchData={null}\n\t\t\t\thideResultsCount={false}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nFetchConfigLoadingView.propTypes = {\n\tterm: PropTypes.string.isRequired\n};\n\nexport default FetchConfigLoadingView;\n","import merge from 'lodash/merge';\nimport noop from 'lodash/noop';\nimport omit from 'lodash/omit';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport getBehaviorProp from '../behaviors/util/getBehaviorProp';\nimport {\n\tGLOBAL_SEARCH_CONFIG,\n\tSEARCH_SOURCE,\n\tUSER_PREFERENCE\n} from '../behaviors/constants';\nimport { ConfigProvider } from '../lib/sn-component-workspace-config';\nimport createLegacyForceRender from '../utils/createLegacyForceRender';\nimport ErrorBoundary from '../utils/ErrorBoundary';\nimport GlobalSearchUtils, { KEY_CODES } from '../utils/GlobalSearchUtils';\nimport PresourceDefaults from '../utils/PresourceDefaults';\nimport SearchSourceErrors from '../utils/SearchSourceErrors';\nimport SearchTabDrillDown from './ComponentWorkspaceGlobalSearchTabDrillDown';\nimport SearchTabOverview from './ComponentWorkspaceGlobalSearchTabOverview';\nimport FetchConfigLoadingView from './GlobalSearchResult/FetchConfigLoadingView';\nimport { ENUM_TAB_MODES } from './constants';\nimport { exactMatchDataShape } from './propTypes';\nimport style from './_componentWorkspaceGlobalSearchTab.scss';\nimport NoResults from './GlobalSearchResult/NoResults';\n\nconst getConfigFromSysProperties = () => {\n\tconst globalSearchConfig = {};\n\tconst paginationDebounce = GlobalSearchUtils.getSysPropertyAsNumber(\n\t\t'com.snc.agent_workspace.global_search.tab.pagination_debounce'\n\t);\n\tif (paginationDebounce) {\n\t\tglobalSearchConfig.tab_pagination_debounce = paginationDebounce;\n\t}\n\treturn { global_search_config: globalSearchConfig };\n};\n\nconst getGlobalSearchConfigPresourceData = (props) =>\n\tgetBehaviorProp(props, GLOBAL_SEARCH_CONFIG);\nconst getSearchSourcePresourceData = (props) =>\n\tgetBehaviorProp(props, SEARCH_SOURCE);\nconst getUserPreferencePresourceData = (props) =>\n\tgetBehaviorProp(props, USER_PREFERENCE);\n\nconst getResolvedConfigurations = (\n\tisLegacyWorkspace,\n\tprops,\n\tworkspaceConfigs\n) => {\n\tconst {\n\t\tproperties: {\n\t\t\tglobalSearchViewConfigId,\n\t\t\tglobalSearchDataConfigId,\n\t\t\thideSearchResultsCount\n\t\t}\n\t} = props;\n\tconst snSearchSources = isLegacyWorkspace\n\t\t? getSearchSourcePresourceData(props)\n\t\t: workspaceConfigs.dataConfig;\n\tconst snUserPreferences = isLegacyWorkspace\n\t\t? getUserPreferencePresourceData(props)\n\t\t: workspaceConfigs.exactMatchPreference;\n\tconst snGlobalSearchConfig = isLegacyWorkspace\n\t\t? getGlobalSearchConfigPresourceData(props)\n\t\t: workspaceConfigs.viewConfig;\n\n\tsnGlobalSearchConfig.hide_search_results_count = isLegacyWorkspace\n\t\t? snGlobalSearchConfig.hide_search_results_count\n\t\t: hideSearchResultsCount;\n\n\tconst metadata = {\n\t\tviewSysId: isLegacyWorkspace ? null : globalSearchViewConfigId,\n\t\tdataSysId: isLegacyWorkspace ? null : globalSearchDataConfigId\n\t};\n\n\treturn {\n\t\tsnSearchSources,\n\t\tsnUserPreferences,\n\t\tsnGlobalSearchConfig,\n\t\tmetadata\n\t};\n};\n\nconst DEFAULT_CONFIG = {\n\tglobal_search_config: PresourceDefaults[GLOBAL_SEARCH_CONFIG],\n\tsearch_sources: [],\n\tmetadata: {}\n};\n\nclass ComponentWorkspaceGlobalSearchTab extends React.Component {\n\tstatic get MODES() {\n\t\treturn ENUM_TAB_MODES;\n\t}\n\n\tstate = {\n\t\tmode: this.constructor.MODES.OVERVIEW,\n\t\tdrilledDownSection: '',\n\t\tdrilledDownSectionTitle: '',\n\t\tscrollIntoViewSection: ''\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.onRecordSelect = this.onRecordSelect.bind(this);\n\t\tthis.onSectionDrillDown = this.onSectionDrillDown.bind(this);\n\t\tthis.handleBackToResultsClick = this.handleBackToResultsClick.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.setForceRenderTimestamp = this.setForceRenderTimestamp.bind(this);\n\t\tthis.forceLegacyRender = createLegacyForceRender(\n\t\t\tthis.setForceRenderTimestamp\n\t\t);\n\t\tthis.resetOverviewState = this.resetOverviewState.bind(this);\n\t\tthis.handleSidebarItemClick = this.handleSidebarItemClick.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.forceLegacyRender(noop);\n\t}\n\n\tonRecordSelect(record, sourceId, newTab) {\n\t\tconst {\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\t\tconst { table } = record;\n\t\tif (table) {\n\t\t\tGlobalSearchUtils.dispatchItemSelected(\n\t\t\t\tdispatch,\n\t\t\t\trecord,\n\t\t\t\tsourceId,\n\t\t\t\tnewTab\n\t\t\t);\n\t\t}\n\t}\n\n\tonSectionDrillDown(searchSourceId, searchSourceTitle) {\n\t\tthis.setState({\n\t\t\tmode: this.constructor.MODES.DRILL_DOWN,\n\t\t\tdrilledDownSection: searchSourceId,\n\t\t\tdrilledDownSectionTitle: searchSourceTitle,\n\t\t\tscrollIntoViewSection: ''\n\t\t});\n\t}\n\n\tget config() {\n\t\tconst { properties, workspaceConfigs } = this.props;\n\t\tconst { isLegacyWorkspace } = properties;\n\n\t\t// if going to use gql data, wait for response back\n\t\tif (!isLegacyWorkspace && !workspaceConfigs) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst {\n\t\t\tsnSearchSources,\n\t\t\tsnGlobalSearchConfig,\n\t\t\tsnUserPreferences,\n\t\t\tmetadata\n\t\t} = getResolvedConfigurations(\n\t\t\tisLegacyWorkspace,\n\t\t\tthis.props,\n\t\t\tworkspaceConfigs\n\t\t);\n\n\t\tconst configFromSysProperties = getConfigFromSysProperties();\n\t\tconst config = {\n\t\t\tglobal_search_config: {\n\t\t\t\t...snGlobalSearchConfig,\n\t\t\t\t...snUserPreferences\n\t\t\t},\n\t\t\tsearch_sources: snSearchSources,\n\t\t\tmetadata\n\t\t};\n\n\t\treturn merge({}, DEFAULT_CONFIG, config, configFromSysProperties);\n\t}\n\n\tsetForceRenderTimestamp(timestamp) {\n\t\t// eslint-disable-next-line react/no-unused-state\n\t\tthis.setState({ forceRender: timestamp });\n\t}\n\n\thandleBackToResultsClick() {\n\t\tthis.setState({ mode: this.constructor.MODES.OVERVIEW });\n\t}\n\n\thandleSidebarItemClick(event, section) {\n\t\tif (event.which === KEY_CODES.RETURN || event.type === 'click')\n\t\t\tthis.setState({ scrollIntoViewSection: section });\n\t}\n\n\tresetOverviewState() {\n\t\tthis.setState({\n\t\t\tscrollIntoViewSection: '',\n\t\t\tmode: ENUM_TAB_MODES.OVERVIEW,\n\t\t\tdrilledDownSection: ''\n\t\t});\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tsearchData,\n\t\t\tsearchErrors,\n\t\t\texactMatch,\n\t\t\tproperties: {\n\t\t\t\tterm,\n\t\t\t\tisLegacyWorkspace,\n\t\t\t\tbackButtonLabel,\n\t\t\t\tisGlobal,\n\t\t\t\tbatchCount,\n\t\t\t\tshowRedactionWarning,\n\t\t\t\tselectedSearchContext,\n\t\t\t\toverrideGotoListViewEvent\n\t\t\t},\n\t\t\tpage,\n\t\t\tisFetchingWorkspaceConfig,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tmode,\n\t\t\tscrollIntoViewSection,\n\t\t\tdrilledDownSection,\n\t\t\tdrilledDownSectionTitle\n\t\t} = this.state;\n\n\t\tconst otherSeismicProps = omit(this.props, ['channels']);\n\t\tconst seismicProps = { ...otherSeismicProps };\n\t\tlet trimmedTerm = term;\n\t\tif (typeof trimmedTerm ===  'number')\n\t\t\ttrimmedTerm = String(trimmedTerm);\n\t\ttrimmedTerm = trimmedTerm ? trimmedTerm.trim() : '';\n\t\tconst configLoaded = this.config !== null;\n\n\t\tif (!term) {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<NoResults\n\t\t\t\t\t\tterm=\"\"\n\t\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t}\n\n\t\t// Display a loading view while configurations are being fetched\n\t\tif (\n\t\t\tisFetchingWorkspaceConfig ||\n\t\t\t(!isLegacyWorkspace && !configLoaded && term)\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<ConfigProvider config={DEFAULT_CONFIG}>\n\t\t\t\t\t<FetchConfigLoadingView term={term} />\n\t\t\t\t<\/ConfigProvider>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<ConfigProvider config={this.config}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`sn-panel tab-container${\n\t\t\t\t\t\tisGlobal ? ' -global' : ''\n\t\t\t\t\t}`}>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t<SearchTabOverview\n\t\t\t\t\t\t\tsearchData={searchData}\n\t\t\t\t\t\t\tsearchErrors={searchErrors}\n\t\t\t\t\t\t\texactMatchData={exactMatch}\n\t\t\t\t\t\t\t{...seismicProps}\n\t\t\t\t\t\t\tterm={trimmedTerm}\n\t\t\t\t\t\t\tonRecordSelect={this.onRecordSelect}\n\t\t\t\t\t\t\tonSectionDrillDown={this.onSectionDrillDown}\n\t\t\t\t\t\t\tresetOverviewState={this.resetOverviewState}\n\t\t\t\t\t\t\thandleSidebarItemClick={this.handleSidebarItemClick}\n\t\t\t\t\t\t\tscrollIntoViewSection={scrollIntoViewSection}\n\t\t\t\t\t\t\tmode={mode}\n\t\t\t\t\t\t\tbackButtonLabel={backButtonLabel}\n\t\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\tbatchCount={batchCount}\n\t\t\t\t\t\t\tshowRedactionWarning={showRedactionWarning}\n\t\t\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\t\t\toverrideGotoListViewEvent={overrideGotoListViewEvent}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/ErrorBoundary>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`sn-panel tab-container${\n\t\t\t\t\t\t\tmode !== ENUM_TAB_MODES.DRILL_DOWN ? ' hidden' : ''\n\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t{mode === ENUM_TAB_MODES.DRILL_DOWN && (\n\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t<SearchTabDrillDown\n\t\t\t\t\t\t\t\t\tdrilledDownSection={drilledDownSection}\n\t\t\t\t\t\t\t\t\tdrilledDownSectionTitle={\n\t\t\t\t\t\t\t\t\t\tdrilledDownSectionTitle\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thandleBackToResultsClick={\n\t\t\t\t\t\t\t\t\t\tthis.handleBackToResultsClick\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t{...seismicProps}\n\t\t\t\t\t\t\t\t\tterm={trimmedTerm}\n\t\t\t\t\t\t\t\t\tpage={page || null}\n\t\t\t\t\t\t\t\t\tonRecordSelect={this.onRecordSelect}\n\t\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/ErrorBoundary>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/ConfigProvider>\n\t\t);\n\t}\n}\n\nComponentWorkspaceGlobalSearchTab.propTypes = {\n\texactMatch: exactMatchDataShape,\n\tproperties: PropTypes.shape({\n\t\tterm: PropTypes.string,\n\t\tinstanceId: PropTypes.string,\n\t\tglobalSearchDataConfigId: PropTypes.string,\n\t\tglobalSearchViewConfigId: PropTypes.string,\n\t\tisLegacyWorkspace: PropTypes.bool,\n\t\tbackButtonLabel: PropTypes.string,\n\t\tisGlobal: PropTypes.bool,\n\t\tbatchCount: PropTypes.number,\n\t\tshowRedactionWarning: PropTypes.bool\n\t}).isRequired,\n\tsearchData: PropTypes.shape({\n\t\tterm: PropTypes.string,\n\t\tresponseRecordCount: PropTypes.number,\n\t\tsourceList: PropTypes.array,\n\t\tsources: PropTypes.object\n\t}),\n\tsearchErrors: PropTypes.shape({\n\t\terrors: PropTypes.array\n\t}),\n\thelpers: PropTypes.func.isRequired,\n\tpage: PropTypes.number,\n\tworkspaceConfigs: PropTypes.shape({\n\t\tviewConfig: PropTypes.object,\n\t\tdataConfig: PropTypes.array,\n\t\texactMatchPreference: PropTypes.object\n\t}),\n\thideSearchResultsCount: PropTypes.bool,\n\toverrideGotoListViewEvent: PropTypes.bool,\n\tisFetchingWorkspaceConfig: PropTypes.bool,\n\tshowRedactionWarning: PropTypes.bool,\n\tselectedSearchContext: PropTypes.string\n};\n\nComponentWorkspaceGlobalSearchTab.defaultProps = {\n\texactMatch: undefined,\n\tsearchData: undefined,\n\tsearchErrors: new SearchSourceErrors(),\n\tpage: 1,\n\tworkspaceConfigs: undefined,\n\thideSearchResultsCount: false,\n\toverrideGotoListViewEvent: false,\n\tisFetchingWorkspaceConfig: false,\n\tproperties: {\n\t\tisGlobal: false,\n\t\tbatchCount: 0,\n\t\tshowRedactionWarning: false,\n\t\tselectedSearchContext: ''\n\t}\n};\n\nComponentWorkspaceGlobalSearchTab.style = `${style}`;\n\nexport default ComponentWorkspaceGlobalSearchTab;\n","export default function createLegacyForceRender(setForceRenderTimeStamp) {\n\treturn (fn, delay = 16) => {\n\t\tconst timestamp = new Date().getTime();\n\t\tfn();\n\t\tsetTimeout(() => setForceRenderTimeStamp(timestamp), delay);\n\t};\n}\n","export default (globalSearchViewConfigId, globalSearchDataConfigId) => {\n    return [{\n        type: 'TRANSFORM',\n        definitionSysId: '7e7ece495fd9921087a2067660731365',\n        inputValues: {\n            globalSearchViewConfigId: {\n                type: 'JSON_LITERAL',\n                value: globalSearchViewConfigId\n            },\n            globalSearchDataConfigId: {\n                type: 'JSON_LITERAL',\n                value: globalSearchDataConfigId\n            }\n        }\n    }]\n}","import { FETCH_CONFIGURATIONS } from '../../actions';\nimport getConfigurationsPayload from '../../../common/getConfigurationsPayload';\n\nconst handleBootstrappedEffect = ({ state, dispatch }) => {\n\tconst { properties } = state;\n\tconst { globalSearchDataConfigId, globalSearchViewConfigId } = properties;\n\tif (globalSearchDataConfigId && globalSearchViewConfigId) {\n\t\tdispatch(FETCH_CONFIGURATIONS, {\n\t\t\tpayload: getConfigurationsPayload(\n\t\t\t\tglobalSearchViewConfigId,\n\t\t\t\tglobalSearchDataConfigId\n\t\t\t)\n\t\t});\n\t}\n};\n\nexport default handleBootstrappedEffect;\n","// EXACT_MATCH\nexport const EXACT_MATCH_FETCH = 'EXACT_MATCH_FETCH';\nexport const EXACT_MATCH_STARTED = 'EXACT_MATCH_STARTED';\nexport const EXACT_MATCH_SUCCEEDED = 'EXACT_MATCH_SUCCEEDED';\nexport const EXACT_MATCH_FAILED = 'EXACT_MATCH_FAILED';\n\n// USER PREF\nexport const USER_PREFERENCES_FETCH = 'USER_PREFERENCES_FETCH';\nexport const USER_PREFERENCES_SET = 'USER_PREFERENCES_SET';\nexport const USER_PREFERENCES_FETCH_STARTED = 'USER_PREFERENCES_FETCH_STARTED';\nexport const USER_PREFERENCES_FETCH_SUCCEEDED =\n\t'USER_PREFERENCES_FETCH_SUCCEEDED';\nexport const USER_PREFERENCES_FETCH_FAILED = 'USER_PREFERENCES_FETCH_FAILED';\nexport const USER_PREFERENCES_SET_STARTED = 'USER_PREFERENCES_SET_STARTED';\nexport const USER_PREFERENCES_SET_SUCCEEDED = 'USER_PREFERENCES_SET_SUCCEEDED';\nexport const USER_PREFERENCES_SET_FAILED = 'USER_PREFERENCES_SET_FAILED';\n\n// RECENT_ACTIONS\nexport const RECENT_ACTIONS_MODEL_SET = 'RECENT_ACTIONS_MODEL_SET';\n\n// TOOLTIP ACTIONS\nexport const HANDLE_TOOLTIP_CONTENT = 'HANDLE_TOOLTIP_CONTENT';\n\n// GLOBAL_SEARCH\nexport const GLOBAL_SEARCH_ACTION = 'GLOBAL_SEARCH_ACTION';\nexport const ITEM_SELECTED = 'ITEM_SELECTED';\nexport const TERM_SEARCHED = 'TERM_SEARCHED';\n\n// SEARCH EXECUTED\nexport const SN_WS_SEARCH_TYPEAHEAD_SEARCH_EXECUTED =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#SEARCH_EXECUTED';\nexport const SN_WS_SEARCH_TYPEAHEAD_ITEM_SELECTED =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#ITEM_SELECTED';\n\n// CONFIGURATIONS\nexport const FETCH_CONFIGURATIONS = 'FETCH_CONFIGURATIONS';\nexport const FETCH_CONFIGURATIONS_FAILED = 'FETCH_CONFIGURATIONS_FAILED';\nexport const FETCH_CONFIGURATIONS_SUCCEEDED = 'FETCH_CONFIGURATIONS_SUCCEEDED';\nexport const FETCH_ALL_CONFIGURATIONS = 'FETCH_ALL_CONFIGURATIONS';\n\n// TRIGGER FIT RECALCULATON FOR POPOVER\nexport const FIT_RESIZE = 'FIT_RESIZE';\n\n// SEARCH CONTEXT SWITCH\nexport const CONTEXT_DROPDOWN_CLICKED = 'NOW_DROPDOWN#OPENED_SET';\nexport const CONTEXT_ITEM_SELECTED = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const SN_WS_SEARCH_TYPEAHEAD_CONTEXT_CHANGED =\n\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#CONTEXT_CHANGED';\n\n// NOW BUTTON ICONIC CLEAR ICON CLICK\nexport const CLEAR_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\n// SEARCH ICON BUTTON\nexport const SEARCH_ICON_BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n\nexport const CANCEL_BUTTON_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\n","import {\n\tUSER_PREFERENCES_FETCH,\n\tITEM_SELECTED\n} from '../../../componentWorkspaceGlobalSearchTypeahead/actions';\n\nimport { SN_WS_SEARCH_TAB_RECORD_CLICKED } from '../../actions';\n\nconst handleGlobalSearchActionEffect = ({ action, properties, dispatch }) => {\n\tconst { userPreferencesContext } = properties;\n\tif (action.payload.action === ITEM_SELECTED) {\n\t\tconst {\n\t\t\titem,\n\t\t\ttable,\n\t\t\tsys_id: sysId,\n\t\t\trecord_url: recordUrl,\n\t\t\tactionMetadata: { sourceId },\n\t\t\tnewTab,\n\t\t\ttitle\n\t\t} = action.payload;\n\t\tconst recordData = {\n\t\t\tdata: item,\n\t\t\ttable,\n\t\t\tsys_id: sysId,\n\t\t\trecord_url: recordUrl\n\t\t};\n\n\t\tdispatch(SN_WS_SEARCH_TAB_RECORD_CLICKED, {\n\t\t\ttable,\n\t\t\tsysId,\n\t\t\trecordUrl,\n\t\t\tnewTab,\n\t\t\ttitle\n\t\t});\n\n\t\tdispatch(USER_PREFERENCES_FETCH, {\n\t\t\tdata: recordData,\n\t\t\tname: userPreferencesContext,\n\t\t\tsourceId\n\t\t});\n\t}\n};\n\nexport default handleGlobalSearchActionEffect;\n","const handleTabExactMatchFailedEffect = ({ state, updateState, action }) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\t...state.exactMatch,\n\t\t\tisFetching: false,\n\t\t\terror: action.payload\n\t\t}\n\t});\n\nexport default handleTabExactMatchFailedEffect;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tEXACT_MATCH_FAILED,\n\tEXACT_MATCH_STARTED,\n\tEXACT_MATCH_SUCCEEDED\n} from '../../actions';\n\nconst handleTabExactMatchFetchEffect = createHttpEffect(\n\t'/api/now/v1/search/exactmatch?sysparm_term=:term&sysparm_search_context_config_id=:searchContextConfigId',\n\t{\n\t\tmethod: 'GET',\n\t\theaders: {},\n\t\tpathParams: ['term', 'searchContextConfigId'],\n\t\tstartActionType: EXACT_MATCH_STARTED,\n\t\tsuccessActionType: EXACT_MATCH_SUCCEEDED,\n\t\terrorActionType: EXACT_MATCH_FAILED\n\t}\n);\n\nexport default handleTabExactMatchFetchEffect;\n","const handleTabExactMatchStartedEffect = ({ state, updateState }) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\tisFetching: true,\n\t\t\terror: null\n\t\t}\n\t});\n\nexport default handleTabExactMatchStartedEffect;\n","import get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nconst transformTabExactMatchResponse = (response) => {\n\tconst term = get(response, 'result.term');\n\tconst record = get(response, 'result.search_results.0.records.0');\n\tconst displayFields = get(response, 'result.search_results.0.fields');\n\n\tif (!term || !record || !displayFields) return undefined;\n\n\treturn {\n\t\tterm,\n\t\tsources: {\n\t\t\tEXACT_MATCH_SECTION: {\n\t\t\t\tname: t('Exact Match'),\n\t\t\t\tcondition: '',\n\t\t\t\tdatabaseRecordCount: 1,\n\t\t\t\trecords: [record],\n\t\t\t\tdisplayFields\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport default transformTabExactMatchResponse;\n","import transformTabExactMatchResponse from './transformTabExactMatchResponse';\n\nconst handleTabExactMatchSucceededEffect = ({ state, updateState, action }) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\tisFetching: false,\n\t\t\terror: null,\n\t\t\t...transformTabExactMatchResponse(action.payload)\n\t\t}\n\t});\n\nexport default handleTabExactMatchSucceededEffect;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tDRILLDOWN_FETCH_FAILED,\n\tDRILLDOWN_FETCH_STARTED,\n\tDRILLDOWN_FETCH_SUCCEEDED\n} from '../../actions';\n\nconst handleDrilldownFetchEffect = createHttpEffect(\n\t'/api/now/v1/search/sources/:sys_id/textsearch',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\theaders: {},\n\t\tpathParams: ['sys_id'],\n\t\tqueryParams: ['sysparm_limit', 'sysparm_page', 'sysparm_term'],\n\t\tstartActionType: DRILLDOWN_FETCH_STARTED,\n\t\tsuccessActionType: DRILLDOWN_FETCH_SUCCEEDED,\n\t\terrorActionType: DRILLDOWN_FETCH_FAILED\n\t}\n);\n\nexport default handleDrilldownFetchEffect;\n","const handleDrilldownFetchFailedEffect = ({ state, updateState, action }) =>\n\tupdateState({\n\t\t...state,\n\t\tdrilldownData: {\n\t\t\t...state.drilldownData,\n\t\t\tisFetching: false,\n\t\t\terror: action.payload\n\t\t}\n\t});\n\nexport default handleDrilldownFetchFailedEffect;\n","const handleDrilldownFetchStartedEffect = ({ state, updateState, action }) => {\n\tconst { sysParmTerm: term, sysId } = action.meta;\n\tconst updatedState = {\n\t\t...state,\n\t\tdrilldownData: {\n\t\t\tisFetching: true,\n\t\t\terror: null\n\t\t}\n\t};\n\n\tif (!state.drilldownData) {\n\t\tupdateState(updatedState);\n\t\treturn;\n\t}\n\n\tconst {\n\t\tsourceSysId: drilldownSysId,\n\t\tterm: drilldownTerm\n\t} = state.drilldownData;\n\n\t// Don't clear out drilldown data if the section is the same\n\tif (drilldownSysId === sysId && drilldownTerm === term) {\n\t\tupdatedState.drilldownData = {\n\t\t\t...state.drilldownData,\n\t\t\t...updatedState.drilldownData\n\t\t};\n\t} else {\n\t\t// Reset page for every new drilldown\n\t\tupdatedState.page = 1;\n\t}\n\tupdateState(updatedState);\n};\n\nexport default handleDrilldownFetchStartedEffect;\n","import get from 'lodash/get';\n\nconst transformdrilldownResponse = (response) => {\n\tconst rawResult = get(response, 'result');\n\n\tif (!rawResult) return undefined;\n\n\tconst {\n\t\tresult_count: resultCount = 0,\n\t\tsearch_results: searchResults = [],\n\t\tsources = [],\n\t\tterm = ''\n\t} = rawResult;\n\n\tconst rawData = get(sources, [0]);\n\n\tif (!rawData) return undefined;\n\n\tconst { sys_id: sysId, name, condition, source_table: tableName } = rawData;\n\n\tconst sectionSearchResults = get(searchResults, [0]);\n\n\tif (!sectionSearchResults || sectionSearchResults.sys_id !== sysId)\n\t\treturn undefined;\n\n\tconst {\n\t\trecords,\n\t\trecord_count: databaseRecordCount,\n\t\tfields: displayFields\n\t} = sectionSearchResults;\n\n\tconst sourceData = {\n\t\tname: name.display,\n\t\tcondition,\n\t\tdatabaseRecordCount,\n\t\ttableName,\n\t\trecords,\n\t\tdisplayFields\n\t};\n\n\tconst sourceSysId = sysId;\n\n\tif (!sourceSysId || !term) return undefined;\n\n\treturn {\n\t\tsourceData,\n\t\tsourceSysId,\n\t\tresponseRecordCount: resultCount,\n\t\tterm\n\t};\n};\n\nexport default transformdrilldownResponse;\n","import transformdrilldownResponse from './transformDrilldownResponse';\n\nconst handleDrilldownFetchSucceededEffect = ({ updateState, action }) =>\n\tupdateState({\n\t\tdrilldownData: {\n\t\t\tisFetching: false,\n\t\t\terror: null,\n\t\t\t...transformdrilldownResponse(action.payload)\n\t\t}\n\t});\n\nexport default handleDrilldownFetchSucceededEffect;\n","const handleDrilldownPageUpdate = ({ state, updateState, action }) =>\n\tupdateState({\n\t\t...state,\n\t\t...action.payload\n\t});\n\nexport default handleDrilldownPageUpdate;\n","const handleDrilldownControlPageUpdate = ({ updateState, action }) =>\n    updateState({\n        page: action.payload.value + 1\n    });\n\nexport default handleDrilldownControlPageUpdate;\n","const handleViewAllClickedEffect = ({ action }) => {\n\tconst {\n\t\tpayload: { onClick }\n\t} = action;\n\tonClick();\n};\n\nexport default handleViewAllClickedEffect;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tWORKSPACE_TEXT_SEARCH_STARTED,\n\tWORKSPACE_TEXT_SEARCH_SUCCEEDED,\n\tWORKSPACE_TEXT_SEARCH_FAILED\n} from '../../actions';\n\nconst handleTextSearch = createHttpEffect(\n\t'/api/now/v1/search/sources/:sys_id/textsearch',\n\t{\n\t\tbatch: false,\n\t\tpathParams: ['sys_id'],\n\t\tqueryParams: ['sysparm_limit', 'sysparm_page', 'sysparm_term'],\n\t\tstartActionType: WORKSPACE_TEXT_SEARCH_STARTED,\n\t\tsuccessActionType: WORKSPACE_TEXT_SEARCH_SUCCEEDED,\n\t\terrorActionType: WORKSPACE_TEXT_SEARCH_FAILED\n\t}\n);\n\nexport default handleTextSearch;\n","const shouldAddError = (searchErrors, nextError) =>\n\t!searchErrors.errors.filter(\n\t\t(error) =>\n\t\t\terror.searchTerm === nextError.searchTerm &&\n\t\t\terror.sysId === nextError.sysId\n\t).length;\n\nconst toSearchError = (action) => ({\n\t...action.payload,\n\tsysId: action.meta.searchParams.sys_id,\n\tsearchTerm: action.meta.searchParams.sysparm_term\n});\n\nconst handleTextSearchFailed = ({ state, updateState, action }) => {\n\tconst { searchErrors } = state;\n\tconst nextSearchErrors = shouldAddError(searchErrors, toSearchError(action))\n\t\t? searchErrors.add(toSearchError(action))\n\t\t: searchErrors;\n\tupdateState({\n\t\t...state,\n\t\tsearchErrors: nextSearchErrors\n\t});\n};\n\nexport default handleTextSearchFailed;\n","import get from 'lodash/get';\nimport SearchSourceErrors from '../../../utils/SearchSourceErrors';\n\nconst handleTextSearchStarted = ({ state, updateState, action }) => {\n\tconst currentTerm = get(state, 'searchData.term');\n\tconst nextTerm = get(action, 'meta.searchParams.sysparm_term');\n\tconst searchErrors =\n\t\tcurrentTerm === nextTerm\n\t\t\t? state.searchErrors\n\t\t\t: new SearchSourceErrors();\n\tupdateState({\n\t\t...state,\n\t\tsearchErrors\n\t});\n};\n\nexport default handleTextSearchStarted;\n","import find from 'lodash/find';\nimport merge from 'lodash/merge';\nimport get from 'lodash/get';\n\nconst transformAResponse = (responseData, metadata) => {\n\tconst rawResult = get(responseData, 'result');\n\tif (!rawResult) return {};\n\n\tconst {\n\t\tresult_count: resultCount = 0,\n\t\tsearch_results: searchResults = [],\n\t\tsources = [],\n\t\tterm = ''\n\t} = rawResult;\n\n\tconst transformedSources = {};\n\tconst sourceList = [];\n\n\tsources.forEach((source) => {\n\t\tconst {\n\t\t\tsys_id: sysId,\n\t\t\tname,\n\t\t\tcondition,\n\t\t\tsource_table: sourceTable\n\t\t} = source;\n\t\tconst sectionSearchResults = find(searchResults, { sys_id: sysId });\n\t\tconst {\n\t\t\trecords,\n\t\t\trecord_count: recordCount,\n\t\t\tfields\n\t\t} = sectionSearchResults;\n\n\t\tif (sectionSearchResults) {\n\t\t\tsourceList.push(sysId);\n\t\t\ttransformedSources[sysId] = {\n\t\t\t\tname: name.display,\n\t\t\t\tcondition,\n\t\t\t\tdatabaseRecordCount: recordCount,\n\t\t\t\ttableName: sourceTable,\n\t\t\t\trecords,\n\t\t\t\tdisplayFields: fields\n\t\t\t};\n\t\t}\n\t});\n\n\tif (!transformedSources || sourceList.length === 0 || !term) return {};\n\n\treturn {\n\t\tsources: transformedSources,\n\t\tsourceList,\n\t\tresponseRecordCount: resultCount,\n\t\tterm,\n\t\tmetadata\n\t};\n};\n\nconst mergeGlobalSearchResponses = (currentData, responseData) => {\n\tconst { term } = currentData;\n\n\t// current data - A\n\tconst sourcesA = currentData.sources;\n\tconst sourceListA = currentData.sourceList;\n\tconst responseRecordCountA = currentData.responseRecordCount;\n\tconst { metadata } = currentData;\n\n\tconst transformedResponse = transformAResponse(responseData, metadata);\n\t// response - B\n\tconst sourcesB = transformedResponse.sources;\n\tconst sourceListB = transformedResponse.sourceList;\n\tconst responseRecordCountB = transformedResponse.responseRecordCount;\n\n\t// merging\n\tconst sources = merge(sourcesA, sourcesB);\n\tconst sourceList = Array.prototype.concat(sourceListA, sourceListB);\n\n\tconst responseRecordCount = responseRecordCountA + responseRecordCountB;\n\n\treturn {\n\t\tsources,\n\t\tsourceList,\n\t\tresponseRecordCount,\n\t\tterm,\n\t\tmetadata\n\t};\n};\n\nconst transformTextSearchOverview = (currentData, result, requestMetadata) => {\n\t// this is the first response\n\tconst {\n\t\tglobalSearchViewConfigId,\n\t\tglobalSearchDataConfigId\n\t} = requestMetadata;\n\tconst meta = { globalSearchViewConfigId, globalSearchDataConfigId };\n\n\tif (!currentData) return transformAResponse(result, meta);\n\n\tconst {\n\t\tterm: currentTerm,\n\t\tmetadata: {\n\t\t\tglobalSearchViewConfigId: prevGlobalSearchViewConfigId,\n\t\t\tglobalSearchDataConfigId: prevGlobalSearchDataConfigId\n\t\t}\n\t} = currentData;\n\n\tconst { term: resultTerm } = result.result;\n\n\t// new search, use new results\n\tif (\n\t\tcurrentTerm !== resultTerm ||\n\t\tglobalSearchViewConfigId !== prevGlobalSearchViewConfigId ||\n\t\tglobalSearchDataConfigId !== prevGlobalSearchDataConfigId\n\t) {\n\t\treturn transformAResponse(result, meta);\n\t}\n\n\treturn mergeGlobalSearchResponses(currentData, result);\n};\n\nexport default transformTextSearchOverview;\n","import transformTextSearchOverview from './transformTextSearchOverview';\n\nconst handleTextSearchSucceeded = ({ state, updateState, action }) => {\n\tconst {\n\t\tsearchData,\n\t\tproperties: { globalSearchDataConfigId, globalSearchViewConfigId }\n\t} = state;\n\tconst nextSearchData = transformTextSearchOverview(\n\t\tsearchData,\n\t\taction.payload,\n\t\t{\n\t\t\tglobalSearchDataConfigId,\n\t\t\tglobalSearchViewConfigId\n\t\t}\n\t);\n\n\tupdateState({\n\t\t...state,\n\t\tsearchData: nextSearchData\n\t});\n};\n\nexport default handleTextSearchSucceeded;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tWORKSPACE_TEXT_SEARCH_STARTED,\n\tWORKSPACE_TEXT_SEARCH_SUCCEEDED,\n\tWORKSPACE_TEXT_SEARCH_FAILED_BATCHED\n} from '../../actions';\n\nconst handleTextSearchBatched = createHttpEffect(\n\t'/api/now/v1/search/sources/textsearch',\n\t{\n\t\tbatch: false,\n\t\tpathParams: [],\n\t\tqueryParams: ['sysparm_limit', 'sysparm_page', 'sysparm_term', 'sysparm_search_sources'],\n\t\tstartActionType: WORKSPACE_TEXT_SEARCH_STARTED,\n\t\tsuccessActionType: WORKSPACE_TEXT_SEARCH_SUCCEEDED,\n\t\terrorActionType: WORKSPACE_TEXT_SEARCH_FAILED_BATCHED\n\t}\n);\n\nexport default handleTextSearchBatched;\n","import SearchSourceErrors from \"../../../utils/SearchSourceErrors\";\n\nconst shouldAddError = (searchErrors, nextError) =>\n\t!searchErrors.errors.filter(\n\t\t(error) =>\n\t\t\terror.searchTerm === nextError.searchTerm &&\n\t\t\terror.sysId === nextError.sysId\n\t).length;\n\nconst toSearchError = (sourceId, action) => {\n\treturn {\n\t\t...action.payload,\n\t\tsysId: sourceId,\n\t\tsearchTerm: action.meta.searchParams.sysparm_term\n\t}\n};\n\nconst handleTextSearchFailedBatched = ({ state, updateState, action }) => {\n\tconst { searchErrors } = state;\n\tvar nextSearchErrors = searchErrors;\n\tfor (var sourceId of action.meta.searchParams.sysparm_search_sources.split(\",\")) {\n\t\tvar currentError = toSearchError(sourceId, action);\n\t\tif (shouldAddError(searchErrors, currentError))\n\t\t\tnextSearchErrors = nextSearchErrors.add(currentError);\n\t}\n\tupdateState({\n\t\t\t...state,\n\t\t\tsearchErrors: nextSearchErrors\n\t\t});\n};\n\nexport default handleTextSearchFailedBatched;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nconst setUserPreferenceMutation = `\n    mutation($name: String!, $value: String!) {\n        GlideDomain_Mutation {\n            user {\n                setPreference(name: $name, value: $value) {\n                    name\n                    value\n                }\n            }\n        }\n    }\n`;\n\nconst handleTypeaheadUserPreferenceSet = createGraphQLEffect(\n\tsetUserPreferenceMutation,\n\t{\n\t\tvariableList: ['name', 'value', 'data']\n\t}\n);\n\nexport default handleTypeaheadUserPreferenceSet;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { USER_PREFERENCES_FETCH_SUCCEEDED } from '../../actions';\n\nconst userPreferenceQuery = `query($name: [String]!){\n    GlideDomain_Query {\n        user {\n            preferences(name: $name) {\n                name,\n                value\n            }\n        }\n    }\n}`;\n\nconst handleTypeaheadUserPreferenceFetch = createGraphQLEffect(\n\tuserPreferenceQuery,\n\t{\n\t\tvariableList: ['name', 'data', 'sourceId'],\n\t\tsuccessActionType: USER_PREFERENCES_FETCH_SUCCEEDED\n\t}\n);\n\nexport default handleTypeaheadUserPreferenceFetch;\n","import { createLog } from '../../../../utils/Logger';\n\nconst LOG = createLog('GlobalSearchTypeahead Configurations');\n\nexport default (userPreferences) => {\n\tlet recentActions;\n\n\tif (userPreferences && userPreferences.value) {\n\t\tconst rawData = userPreferences.value;\n\t\ttry {\n\t\t\trecentActions = JSON.parse(rawData);\n\t\t} catch (e) {\n\t\t\tLOG.warn(\n\t\t\t\t'An error occurred parsing a user preference value: ',\n\t\t\t\trawData\n\t\t\t);\n\t\t}\n\t}\n\n\treturn recentActions;\n};\n","class GlobalSearchModel {\n\tconstructor() {\n\t\tthis.totalResults = 0;\n\t\tthis.sources = [];\n\t\tthis.resultSectionsRecordLength = [];\n\t\tthis.mapSourceIdToSourceData = {};\n\t\tthis.mapTableNameToSourceId = {};\n\t}\n\n\t// total number of sources\n\tget totalSourcesRecieved() {\n\t\treturn this.sources.length;\n\t}\n\n\tget sections() {\n\t\treturn this.sources\n\t\t\t.filter(\n\t\t\t\t(source) =>\n\t\t\t\t\tthis.mapSourceIdToSourceData[source.sys_id].record_count > 0\n\t\t\t)\n\t\t\t.map((source) => source.sys_id);\n\t}\n\n\tget sectionsFilteredByResponseCount() {\n\t\treturn this.sources\n\t\t\t.filter(\n\t\t\t\t(source) =>\n\t\t\t\t\tthis.mapSourceIdToSourceData[source.sys_id].records.length >\n\t\t\t\t\t0\n\t\t\t)\n\t\t\t.map((source) => source.sys_id);\n\t}\n\n\tget size() {\n\t\treturn this.totalResults;\n\t}\n\n\tget dataSize() {\n\t\treturn this.totalResults - 1;\n\t}\n\n\tget filteredSectionRecordLengths() {\n\t\treturn this.resultSectionsRecordLength.filter((x) => x > 0);\n\t}\n\n\tget sectionRecordLengths() {\n\t\treturn this.resultSectionsRecordLength;\n\t}\n\n\tgetSectionIdByTableName(tableName) {\n\t\treturn this.mapTableNameToSourceId[tableName];\n\t}\n\n\tgetSourceData(sourceId) {\n\t\tconst data = this.mapSourceIdToSourceData[sourceId];\n\t\tif (!data) return {};\n\t\treturn data;\n\t}\n\n\tgetSectionRecordsBySectionId(sourceId) {\n\t\tconst { records } = this.getSourceData(sourceId);\n\t\tif (!records) return [];\n\t\treturn records;\n\t}\n\n\tgetSectionRecordCountBySectionId(sourceId) {\n\t\treturn this.getSourceData(sourceId).record_count;\n\t}\n\n\tgetSectionNameBySectionId(sourceId) {\n\t\treturn this.getSourceData(sourceId).name;\n\t}\n\n\tgetRecordsLengthBySectionId(sourceId) {\n\t\treturn this.getSectionRecordsBySectionId(sourceId).length;\n\t}\n\n\tgetDisplayFieldNamesBySourceId(sourceId) {\n\t\treturn this.getSourceData(sourceId).fields;\n\t}\n}\n\nexport default GlobalSearchModel;\n","import slice from 'lodash/slice';\nimport has from 'lodash/has';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport GlobalSearchModel from './GlobalSearchModel';\n\nconst RECENT_ACTION_SECTIONS = {\n\tITEM_SELECTED: 'ITEM_SELECTED',\n\tTERM_SEARCHED: 'TERM_SEARCHED'\n};\n\nconst MILLISECONDS_IN_A_DAY = 86400000;\n/*\n * this is based on the \"max length\" dictionary entry for value column in the user preference table\n * there is an assumption here that the platform counts the number of utf8 chars and not the number of bytes\n */\nconst DATA_STORAGE_LIMIT_IN_UTF8_CHARACTERS = 65000;\n\nclass RecentActionsModel extends GlobalSearchModel {\n\tstatic get SECTIONS() {\n\t\treturn RECENT_ACTION_SECTIONS;\n\t}\n\n\tstatic createNewRecentAction(section, actionRecord, meta = {}) {\n\t\tif (section === RecentActionsModel.SECTIONS.ITEM_SELECTED) {\n\t\t\tconst { table, sys_id: sysId } = actionRecord;\n\t\t\tif (!table || !sysId) return null;\n\t\t\treturn {\n\t\t\t\trecord: { table, sys_id: sysId },\n\t\t\t\t...meta,\n\t\t\t\tcreated: Date.now()\n\t\t\t};\n\t\t}\n\t\tif (section === RecentActionsModel.SECTIONS.TERM_SEARCHED) {\n\t\t\tif (typeof actionRecord !== 'string') return null;\n\t\t\treturn {\n\t\t\t\tterm: actionRecord,\n\t\t\t\tcreated: Date.now()\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tconstructor(\n\t\tresponse = { ITEM_SELECTED: [], TERM_SEARCHED: [] },\n\t\tmaxItems = 5,\n\t\tmaxTerms = 5,\n\t\tactionsTTLInDays = 30,\n\t\trecentlySearchedLabel = '',\n\t\trecentlyViewedLabel = ''\n\t) {\n\t\tsuper();\n\t\tthis.maxItems = maxItems;\n\t\tthis.maxTerms = maxTerms;\n\t\tthis.actionsTTLInDays = actionsTTLInDays;\n\t\tthis.recentlySearchedLabel = recentlySearchedLabel;\n\t\tthis.recentlyViewedLabel = recentlyViewedLabel;\n\t\tthis.itemData = [];\n\t\tthis.parse(response);\n\t\t// helps with the tests\n\t\tthis.DATA_STORAGE_LIMIT_IN_UTF8_CHARACTERS = DATA_STORAGE_LIMIT_IN_UTF8_CHARACTERS;\n\t}\n\n\tparse(recentActions) {\n\t\tthis.rawData = recentActions;\n\n\t\tthis.itemSelectedRecords = this.parseItemSelectedActions(\n\t\t\trecentActions.ITEM_SELECTED\n\t\t);\n\t\tthis.termSearchedRecords = this.parseTermSearchedActions(\n\t\t\trecentActions.TERM_SEARCHED\n\t\t);\n\n\t\tthis.sources = [\n\t\t\t{\n\t\t\t\tname: this.recentlySearchedLabel,\n\t\t\t\tid: RecentActionsModel.SECTIONS.TERM_SEARCHED\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: this.recentlySearchedViewedLabel,\n\t\t\t\tid: RecentActionsModel.SECTIONS.ITEM_SELECTED\n\t\t\t}\n\t\t];\n\n\t\tthis.resultSectionsRecordLength = [\n\t\t\tthis.termSearchedRecords.length,\n\t\t\tthis.itemSelectedRecords.length\n\t\t];\n\t\tthis.resultCount =\n\t\t\tthis.itemSelectedRecords.length + this.termSearchedRecords.length;\n\t\tthis.totalResults = this.resultCount;\n\n\t\tthis.mapSourceIdToSourceData[\n\t\t\tRecentActionsModel.SECTIONS.ITEM_SELECTED\n\t\t] = {\n\t\t\trecord_count: this.itemSelectedRecords.length,\n\t\t\tname: this.recentlyViewedLabel,\n\t\t\trecords: []\n\t\t};\n\t\tthis.mapSourceIdToSourceData[\n\t\t\tRecentActionsModel.SECTIONS.TERM_SEARCHED\n\t\t] = {\n\t\t\trecord_count: this.termSearchedRecords.length,\n\t\t\tname: this.recentlySearchedLabel,\n\t\t\trecords: []\n\t\t};\n\n\t\tthis.itemSelectedRecords.forEach((recordObj) => {\n\t\t\tconst { table, __sourceId } = recordObj;\n\t\t\tthis.mapTableNameToSourceId[table] = __sourceId;\n\t\t\tthis.mapSourceIdToSourceData[\n\t\t\t\tRecentActionsModel.SECTIONS.ITEM_SELECTED\n\t\t\t].records.push(recordObj);\n\t\t});\n\t}\n\n\tget data() {\n\t\treturn Object.assign({}, this.rawData);\n\t}\n\n\tfilterDeadActions() {\n\t\tconst now = Date.now();\n\t\tconst TTLInMS = this.actionsTTLInDays * MILLISECONDS_IN_A_DAY;\n\t\treturn (action) => {\n\t\t\tif (has(action, 'created')) {\n\t\t\t\tif (now - action.created < TTLInMS) return true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n\n\tget sectionsFilteredByResponseCount() {\n\t\treturn this.sources\n\t\t\t.filter(\n\t\t\t\t(source) =>\n\t\t\t\t\tthis.getSectionRecordsBySectionId(source.id).length > 0\n\t\t\t)\n\t\t\t.map((section) => section.id);\n\t}\n\n\tgetSectionRecordsBySectionId(sourceId) {\n\t\tif (sourceId === RecentActionsModel.SECTIONS.ITEM_SELECTED)\n\t\t\treturn this.itemSelectedRecords;\n\t\tif (sourceId === RecentActionsModel.SECTIONS.TERM_SEARCHED)\n\t\t\treturn this.termSearchedRecords;\n\t\treturn undefined;\n\t}\n\n\tparseItemSelectedActions(actionRecords) {\n\t\treturn slice(actionRecords, 0, this.maxItems)\n\t\t\t.filter(this.filterDeadActions())\n\t\t\t.map((actionRecord) => {\n\t\t\t\tconst { record } = { ...actionRecord };\n\n\t\t\t\tif (record && actionRecord.sourceId) {\n\t\t\t\t\trecord.__sourceId = actionRecord.sourceId;\n\t\t\t\t\treturn record;\n\t\t\t\t}\n\t\t\t\treturn actionRecord.record;\n\t\t\t});\n\t}\n\n\tparseTermSearchedActions(actionRecords) {\n\t\treturn slice(actionRecords, 0, this.maxTerms)\n\t\t\t.filter(this.filterDeadActions())\n\t\t\t.map((actionRecord) => {\n\t\t\t\tif (typeof actionRecord === 'object')\n\t\t\t\t\treturn actionRecord.term || '';\n\t\t\t\tif (typeof actionRecord === 'string') return actionRecord || '';\n\t\t\t\treturn undefined;\n\t\t\t});\n\t}\n\n\taddRecentAction(section, actionData, metadata) {\n\t\tconst recentActions = this.data;\n\t\tif (section === RecentActionsModel.SECTIONS.ITEM_SELECTED) {\n\t\t\trecentActions.ITEM_SELECTED = recentActions.ITEM_SELECTED.filter(\n\t\t\t\t(action) => action.record.sys_id !== actionData.sys_id\n\t\t\t);\n\t\t\tconst actionRecord = RecentActionsModel.createNewRecentAction(\n\t\t\t\tsection,\n\t\t\t\tactionData,\n\t\t\t\tmetadata\n\t\t\t);\n\t\t\tif (actionRecord) {\n\t\t\t\trecentActions.ITEM_SELECTED.unshift(actionRecord);\n\t\t\t\tif (recentActions.ITEM_SELECTED.length > this.maxItems) {\n\t\t\t\t\trecentActions.ITEM_SELECTED = slice(\n\t\t\t\t\t\trecentActions.ITEM_SELECTED,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tthis.maxItems\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (section === RecentActionsModel.SECTIONS.TERM_SEARCHED) {\n\t\t\trecentActions.TERM_SEARCHED = recentActions.TERM_SEARCHED.filter(\n\t\t\t\t(action) => action.term !== actionData\n\t\t\t);\n\t\t\tconst actionRecord = RecentActionsModel.createNewRecentAction(\n\t\t\t\tsection,\n\t\t\t\tactionData,\n\t\t\t\tmetadata\n\t\t\t);\n\t\t\tif (actionRecord) {\n\t\t\t\trecentActions.TERM_SEARCHED.unshift(actionRecord);\n\t\t\t\tif (recentActions.TERM_SEARCHED.length > this.maxTerms) {\n\t\t\t\t\trecentActions.TERM_SEARCHED = slice(\n\t\t\t\t\t\trecentActions.TERM_SEARCHED,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tthis.maxTerms\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// if section is none of what we support\n\t\t\treturn '';\n\t\t}\n\n\t\tconst stringifiedJsonObject = this.prepareDataForStorage(\n\t\t\trecentActions,\n\t\t\tsection\n\t\t);\n\t\treturn stringifiedJsonObject;\n\t}\n\n\t// todo: handle .length to take care of utf8 characters\n\tdataCanBeStored(data) {\n\t\treturn data.length < this.DATA_STORAGE_LIMIT_IN_UTF8_CHARACTERS;\n\t}\n\n\tprepareDataForStorage(_recentActions, targetSection) {\n\t\tconst recentActions = cloneDeep(_recentActions);\n\t\tlet stringifiedData = JSON.stringify(recentActions);\n\t\t// try to popout older items 3 times from the target section\n\t\tfor (let i = 0; i < 3; i += 1) {\n\t\t\t// if data can be stored, return\n\t\t\tif (this.dataCanBeStored(stringifiedData)) {\n\t\t\t\treturn stringifiedData;\n\t\t\t}\n\t\t\trecentActions[targetSection].pop();\n\t\t\tstringifiedData = JSON.stringify(recentActions);\n\t\t}\n\n\t\t// return if data can now be stored after 3rd attempt to popoutExcess\n\t\tif (this.dataCanBeStored(stringifiedData)) {\n\t\t\treturn stringifiedData;\n\t\t}\n\t\t// if it still cannot be stored, clear the section completely and keep the most recently added data\n\t\trecentActions[targetSection] = [recentActions[targetSection].shift()];\n\t\tstringifiedData = JSON.stringify(recentActions);\n\n\t\tif (this.dataCanBeStored(stringifiedData)) {\n\t\t\treturn stringifiedData;\n\t\t}\n\t\t// if we still cannot store the data after clearing out the section, clear out everything and store nothing\n\n\t\treturn JSON.stringify({ ITEM_SELECTED: [], TERM_SEARCHED: [] });\n\t}\n}\n\nexport default RecentActionsModel;\n","import get from 'lodash/get';\nimport { t } from 'sn-translate';\nimport parseUserPreferenceValue from './utils/parseUserPreferenceValue';\nimport { USER_PREFERENCES_SET } from '../../actions';\nimport { createLog } from '../../../utils/Logger';\nimport RecentActionsModel from '../../../utils/RecentActionsModel';\nimport getBehaviorProp from '../../../behaviors/util/getBehaviorProp';\nimport { GLOBAL_SEARCH_CONFIG } from '../../../behaviors/constants';\n\nconst LOG = createLog('handleTabUserPreferenceFetchSucceeded');\n\nconst addRecentAction = (\n\tdispatch,\n\tmodel,\n\ttype,\n\tactionData,\n\tmetadata,\n\tuserPrefName\n) => {\n\tconst stringifiedRecentActions = model.addRecentAction(\n\t\ttype,\n\t\tactionData,\n\t\tmetadata\n\t);\n\n\tdispatch(USER_PREFERENCES_SET, {\n\t\tname: userPrefName,\n\t\tvalue: stringifiedRecentActions\n\t});\n};\n\nconst getGlobalConfigs = (state) => {\n\tif (state.workspaceConfigs) {\n\t\treturn state.workspaceConfigs.viewConfig;\n\t}\n\n\treturn getBehaviorProp(state, GLOBAL_SEARCH_CONFIG);\n};\n\nconst handleTabUserPreferenceFetchSucceeded = (coeffects) => {\n\tconst { dispatch, state, properties, action } = coeffects;\n\tconst { errors } = action.payload;\n\tif (errors && errors.length > 0) {\n\t\terrors.forEach((e) => LOG.error(e.message));\n\t\treturn;\n\t}\n\n\tconst {\n\t\tpayload: { data: userPrefData },\n\t\tmeta: {\n\t\t\toptions: {\n\t\t\t\tvariables: { data, sourceId }\n\t\t\t}\n\t\t}\n\t} = action;\n\n\tconst { userPreferencesContext } = properties;\n\n\tconst userPreferencesQuery = get(userPrefData, 'GlideDomain_Query.user');\n\tconst userPreferences = userPreferencesQuery\n\t\t? {\n\t\t\t\t...state.userPreferences,\n\t\t\t\t...userPreferencesQuery.preferences[0]\n\t\t  }\n\t\t: { ...state.userPreferences };\n\n\tconst {\n\t\trecent_items_count: recentItemsCount,\n\t\trecent_terms_count: recentTermsCount,\n\t\trecent_ttl_in_days: recentTTLInDays\n\t} = getGlobalConfigs(state);\n\n\tconst typeaheadRecentActionsModel = new RecentActionsModel(\n\t\tparseUserPreferenceValue(userPreferences),\n\t\trecentItemsCount,\n\t\trecentTermsCount,\n\t\trecentTTLInDays,\n\t\tt('Recently Searched'),\n\t\tt('Recently Viewed')\n\t);\n\n\taddRecentAction(\n\t\tdispatch,\n\t\ttypeaheadRecentActionsModel,\n\t\tRecentActionsModel.SECTIONS.ITEM_SELECTED,\n\t\tdata,\n\t\t{ sourceId },\n\t\tuserPreferencesContext\n\t);\n};\nexport default handleTabUserPreferenceFetchSucceeded;\n","export const DATABROKER_URI_QUERY = '/api/now/uxf/databroker/exec';","/**\n * This bootstrapped effect is to fetch configuration data that would've otherwise been\n * fetched by presources in legacy workspace. In UIB-enabled workspace the presources\n * attached to sys_aw_master_config need to be migrated.\n */\n\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DATABROKER_URI_QUERY } from '../../../common/constants';\n\nimport {\n\tFETCH_CONFIGURATIONS_SUCCEEDED,\n\tFETCH_CONFIGURATIONS_FAILED\n} from '../../actions';\n\nconst handleFetchConfigurationsEffect = createHttpEffect(\n\tDATABROKER_URI_QUERY,\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'payload',\n\t\tsuccessActionType: FETCH_CONFIGURATIONS_SUCCEEDED,\n\t\terrorActionType: FETCH_CONFIGURATIONS_FAILED\n\t}\n);\n\nexport default handleFetchConfigurationsEffect;\n","import {\n\tglobalSearchConfigTransform,\n\tsearchSourcesTransform,\n\tuserPreferencesTransform\n} from '../../../behaviors/transforms';\n\nconst handleFetchConfigurationsSucceeded = ({ state, action, updateState }) => {\n\tconst { payload } = action;\n\tconst {\n\t\tproperties: { hideSearchResultsCount, showRedactionWarning }\n\t} = state;\n\tconst response = payload.result[0].executionResult.output;\n\n\tconst viewConfig = {\n\t\t...response.global_search_configs, \n\t\thide_search_results_count: hideSearchResultsCount, \n\t\tshow_search_result_redaction_warning: showRedactionWarning\n\t};\n\n\tconst dataConfig = searchSourcesTransform(response.search_sources, false);\n\n\tconst userPreferences = {};\n\tlet tsMatch = response.user_preferences['ts.match'];\n\tuserPreferences.exact_match_enabled = tsMatch ? tsMatch === 'true' : false;\n\n\tupdateState({\n\t\t...state,\n\t\tworkspaceConfigs: {\n\t\t\tviewConfig,\n\t\t\tdataConfig,\n\t\t\tuserPreferences\n\t\t},\n\t\tisFetchingWorkspaceConfig: false\n\t});\n};\n\nexport default handleFetchConfigurationsSucceeded;\n","import SearchSourceErrors from '../../../utils/SearchSourceErrors';\nimport { createLog } from '../../../utils/Logger';\n\nconst LOG = createLog('GlobalSearchTab Configurations');\n\nconst handleFetchConfigurationsFailed = ({ state, action, updateState }) => {\n\tconst { searchErrors } = state;\n\tconst errors = searchErrors || new SearchSourceErrors();\n\tconst nextSearchErrors = errors.add(action.payload);\n\n\tLOG.error('Component could not retrieve configuration.');\n\n\tupdateState({\n\t\t...state,\n\t\tsearchErrors: nextSearchErrors\n\t});\n};\n\nexport default handleFetchConfigurationsFailed;\n","import { FETCH_CONFIGURATIONS } from '../../actions';\nimport getConfigurationsPayload from '../../../common/getConfigurationsPayload';\n\nconst handlePropertyChangedEffect = ({\n\tstate,\n\tdispatch,\n\taction,\n\tupdateState\n}) => {\n\tconst {\n\t\tpayload: { name }\n\t} = action;\n\n\tconst {\n\t\tproperties: { globalSearchDataConfigId, globalSearchViewConfigId }\n\t} = state;\n\n\tif (\n\t\tname === 'globalSearchViewConfigId' ||\n\t\tname === 'globalSearchDataConfigId'\n\t) {\n\t\tif (globalSearchDataConfigId && globalSearchViewConfigId) {\n\t\t\tdispatch(FETCH_CONFIGURATIONS, {\n\t\t\t\tpayload: getConfigurationsPayload(\n\t\t\t\t\tglobalSearchViewConfigId, \n\t\t\t\t\tglobalSearchDataConfigId\n\t\t\t\t)\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\tworkspaceConfigs: null,\n\t\t\t\tsearchData: null\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default handlePropertyChangedEffect;\n","import { BACK_BUTTON_CLICKED_EXTERNAL } from '../../actions';\nimport { NAVIGATE_TO_LIST_VIEW, PREVIOUS_APP } from '../../constants';\nimport { DRILL_DOWN, VIEW_ALL } from '../../constants';\n\nconst handleBackButtonClickedEffect = ({ state, dispatch, action }) => {\n\tconst {\n\t\tpayload: { type, onClick }\n\t} = action;\n\tconst {\n\t\tproperties: { selectedSearchContext }\n\t} = state;\n\n\tif (type === PREVIOUS_APP)\n\t\tdispatch(BACK_BUTTON_CLICKED_EXTERNAL, { selectedSearchContext });\n\telse if (\n\t\ttype === DRILL_DOWN ||\n\t\ttype === VIEW_ALL ||\n\t\ttype === NAVIGATE_TO_LIST_VIEW\n\t) {\n\t\tonClick();\n\t}\n};\n\nexport default handleBackButtonClickedEffect;\n","/**\n * Handy dandy proxy for helping keep effect functions mockable by sinon, example:\n *\n * export const unProxiedFetchEffect = createGraphQLEffect(someQuery, {\n *  startActionType,\n *  successActionType,\n *  errorActionType\n * })\n *\n * In actionHandlers -\n * import effectProxy from '../helpers/effectProxy'\n * ...\n * [ACTION_CONSTANT]: effectProxy(unProxiedFetchEffect)\n *\n * In tests -\n * import { unProxiedFetchEffect } from './component-file'\n * ...\n * beforeEach(() => {\n *  sandbox.stub(unProxiedFetchEffect, 'effect')\n * })\n */\n\nexport default (effect) => (coeffects) =>\n\teffect.effect(...effect.args, coeffects);\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tDRILLDOWN_FETCH,\n\tDRILLDOWN_FETCH_FAILED,\n\tDRILLDOWN_FETCH_STARTED,\n\tDRILLDOWN_FETCH_SUCCEEDED,\n\tVIEW_ALL_CLICKED,\n\tEXACT_MATCH_FAILED,\n\tEXACT_MATCH_FETCH,\n\tEXACT_MATCH_STARTED,\n\tEXACT_MATCH_SUCCEEDED,\n\tPAGE_UPDATE,\n\tPAGE_CONTROL_UPDATE,\n\tUSER_PREFERENCES_SET,\n\tWORKSPACE_TEXT_SEARCH,\n\tWORKSPACE_TEXT_SEARCH_FAILED,\n\tWORKSPACE_TEXT_SEARCH_STARTED,\n\tWORKSPACE_TEXT_SEARCH_SUCCEEDED,\n\tWORKSPACE_TEXT_SEARCH_BATCHED,\n\tWORKSPACE_TEXT_SEARCH_FAILED_BATCHED,\n\tFETCH_CONFIGURATIONS,\n\tFETCH_CONFIGURATIONS_SUCCEEDED,\n\tFETCH_CONFIGURATIONS_FAILED,\n\tGLOBAL_SEARCH_ACTION,\n\tBACK_BUTTON_CLICKED,\n\tBACK_BUTTON_CLICKED_INTERNAL\n} from './actions';\nimport {\n\thandleDrilldownFetchEffect,\n\thandleDrilldownFetchFailedEffect,\n\thandleDrilldownFetchStartedEffect,\n\thandleDrilldownFetchSucceededEffect,\n\thandleDrilldownPageUpdate,\n\thandleDrilldownControlPageUpdate,\n\thandleViewAllClickedEffect,\n\thandleTabExactMatchFetchEffect,\n\thandleTabExactMatchFetchFailedEffect,\n\thandleTabExactMatchFetchStartedEffect,\n\thandleTabExactMatchFetchSucceededEffect,\n\thandleTextSearch,\n\thandleTextSearchFailed,\n\thandleTextSearchFailedBatched,\n\thandleTextSearchStarted,\n\thandleTextSearchSucceeded,\n\thandleTextSearchBatched,\n\thandleTabUserPreferenceFetchSucceeded,\n\thandleTabUserPreferenceFetch,\n\thandleTabUserPreferenceSet,\n\thandleBoostrappedEffect,\n\thandleFetchConfigurationsEffect,\n\thandleFetchConfigurationsSucceededEffect,\n\thandleFetchConfigurationsFailedEffect,\n\thandleGlobalSearchActionEffect,\n\thandlePropertyChangedEffect,\n\thandleBackButtonClickedEffect\n} from './effects';\nimport {\n\tUSER_PREFERENCES_FETCH_SUCCEEDED,\n\tUSER_PREFERENCES_FETCH\n} from '../componentWorkspaceGlobalSearchTypeahead/actions';\n\nimport effectProxy from '../utils/effectProxy';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[PAGE_UPDATE]: {\n\t\teffect: handleDrilldownPageUpdate,\n\t\tstopPropagation: true\n\t},\n\t[PAGE_CONTROL_UPDATE]: {\n\t\teffect: handleDrilldownControlPageUpdate,\n\t\tstopPropagation: true\n\t},\n\t[WORKSPACE_TEXT_SEARCH]: effectProxy(handleTextSearch),\n\t[WORKSPACE_TEXT_SEARCH_STARTED]: {\n\t\teffect: handleTextSearchStarted,\n\t\tstopPropagation: true\n\t},\n\t[WORKSPACE_TEXT_SEARCH_SUCCEEDED]: {\n\t\teffect: handleTextSearchSucceeded,\n\t\tstopPropagation: true\n\t},\n\t[WORKSPACE_TEXT_SEARCH_FAILED]: {\n\t\teffect: handleTextSearchFailed,\n\t\tstopPropagation: true\n\t},\n\t[WORKSPACE_TEXT_SEARCH_FAILED_BATCHED]: {\n\t\teffect: handleTextSearchFailedBatched,\n\t\tstopPropagation: true\n\t},\n\t[WORKSPACE_TEXT_SEARCH_BATCHED]: effectProxy(handleTextSearchBatched),\n\t[DRILLDOWN_FETCH]: effectProxy(handleDrilldownFetchEffect),\n\t[DRILLDOWN_FETCH_FAILED]: {\n\t\teffect: handleDrilldownFetchFailedEffect,\n\t\tstopPropagation: true\n\t},\n\t[DRILLDOWN_FETCH_STARTED]: {\n\t\teffect: handleDrilldownFetchStartedEffect,\n\t\tstopPropagation: true\n\t},\n\t[DRILLDOWN_FETCH_SUCCEEDED]: {\n\t\teffect: handleDrilldownFetchSucceededEffect,\n\t\tstopPropagation: true\n\t},\n\t[VIEW_ALL_CLICKED]: {\n\t\teffect: handleViewAllClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_FETCH]: effectProxy(handleTabExactMatchFetchEffect),\n\t[EXACT_MATCH_STARTED]: {\n\t\teffect: handleTabExactMatchFetchStartedEffect,\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_SUCCEEDED]: {\n\t\teffect: handleTabExactMatchFetchSucceededEffect,\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_FAILED]: {\n\t\teffect: handleTabExactMatchFetchFailedEffect,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_FETCH]: effectProxy(handleTabUserPreferenceFetch),\n\t[USER_PREFERENCES_FETCH_SUCCEEDED]: {\n\t\teffect: handleTabUserPreferenceFetchSucceeded,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_SET]: effectProxy(handleTabUserPreferenceSet),\n\t[FETCH_CONFIGURATIONS]: handleFetchConfigurationsEffect,\n\t[FETCH_CONFIGURATIONS_SUCCEEDED]: {\n\t\teffect: handleFetchConfigurationsSucceededEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONFIGURATIONS_FAILED]: {\n\t\teffect: handleFetchConfigurationsFailedEffect,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: handleBoostrappedEffect,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChangedEffect,\n\t[GLOBAL_SEARCH_ACTION]: handleGlobalSearchActionEffect,\n\t[BACK_BUTTON_CLICKED]: handleBackButtonClickedEffect,\n\t[BACK_BUTTON_CLICKED_INTERNAL]: handleBackButtonClickedEffect\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"TOOLTIP_HIDE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_HIDE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"].TOOLTIP_HIDE;\n\t\t\t\t\t} else if ('TOOLTIP_HIDE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__.TOOLTIP_HIDE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"].TOOLTIP_HIDE;\n\t\t\t\t}, [\"TOOLTIP_SHOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_SHOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"].TOOLTIP_SHOW;\n\t\t\t\t\t} else if ('TOOLTIP_SHOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__.TOOLTIP_SHOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"].TOOLTIP_SHOW;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_4_1_index_jsdbx_e29cf2da__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport react from '@servicenow/ui-renderer-react';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { isEmpty } from 'lodash';\nimport {\n\tGLOBAL_SEARCH_CONFIG,\n\tpresourceFactory,\n\tSEARCH_SOURCE,\n\tUSER_PREFERENCE\n} from '../behaviors';\nimport SearchSourceErrors from '../utils/SearchSourceErrors';\nimport ComponentWorkspaceGlobalSearchTab from './ComponentWorkspaceGlobalSearchTab';\nimport actionHandlers from './actionHandlers';\nimport style from './_componentWorkspaceGlobalSearchTab.scss';\n\nimport { DEFAULT_USER_PREFERENCES_NAME } from './constants';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nconst ELEMENT_NAME = 'sn-component-workspace-global-search-tab';\n/**\n *Allows users to view and drill down on the search results by search source.\n *\n * ```jsx\n * <sn-component-workspace-global-search-tab\n * \tterm=\"mac\"\n *      globalSearchViewConfigId=\"97a574ea53c0130084acddeeff7b12a6\"\n *      globalSearchDataConfigId=\"0ce0997f7320001052c7d5fdbdf6a746\"\n *      hideSearchResultsCount={false}\n * \tbackButtonLabel=\"Home\"\n * \tselectedSearchContext={{\n *  \t\t\"id\": \"now/nav/ui\",\n *  \t\t\"label\": \"Global\",\n *  \t\t\"context\": {\n *  \t    \t\"path\": \"now/nav/ui\",\n *  \t    \t\"experienceName\": \"Unified Navigation App\"\n * \t\t\t},\n *  \t\t\"route\": \"search\",\n *  \t\t\"searchDataConfigId\": \"c861cea2c7022010099a308dc7c26041\",\n *  \t\t\"searchViewConfigId\": \"0f8b85d0c7922010099a308dc7c2606a\",\n *  \t\t\"routeConfigId\": null,\n *  \t\t\"searchEnabled\": false,\n *  \t\t\"options\": {}\n * \t\t}}\n * \tbacthCount={3}\n * \tshowRedactionWarning={true}\n * />\n * ```\n *\n * @seismicElement sn-component-workspace-global-search-tab\n * @summary Displays search results by search source. Only for use in Workspace.\n */\nexport default createCustomElement(ELEMENT_NAME, {\n\tview: ComponentWorkspaceGlobalSearchTab,\n\tbehaviors: [\n\t\tpresourceFactory.get(SEARCH_SOURCE),\n\t\tpresourceFactory.get(GLOBAL_SEARCH_CONFIG),\n\t\tpresourceFactory.get(USER_PREFERENCE),\n\t\t{ behavior: rtlBehavior },\n\t\ttooltipBehavior\n\t],\n\trenderer: { type: react },\n\tinitialComponentState: {\n\t\tpage: 1,\n\t\tsearchErrors: new SearchSourceErrors(),\n\t\tworkspaceConfigs: null, // populated via gql if not legacy workspace\n\t\tisFetchingWorkspaceConfig: false\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Term used to perform the search.\n\t\t * @type {string}\n\t\t */\n\t\tterm: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Reference to a record in the sys_search_context_config table. Contains metadata about which search sources to use.\n\t\t * @type {string}\n\t\t */\n\t\tglobalSearchDataConfigId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reference to a record in the sys_aw_global_search_config table. Contains view configurations for the component.\n\t\t * @type {string}\n\t\t */\n\t\tglobalSearchViewConfigId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, hides the search results count.\n\t\t * @type {boolean}\n\t\t */\n\t\thideSearchResultsCount: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, it dispatches the GOTO_LIST_VIEW_BUTTON_CLICKED event.\n\t\t * @type {boolean}\n\t\t */\n\t\toverrideGotoListViewEvent: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Current search context.\n\t\t * @type {object}\n\t\t */\n\t\tselectedSearchContext: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Unique instance ID (optional).\n\t\t * @type {string}\n\t\t */\n\t\tinstanceId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property that indicates whether the component is rendered in UI Builder or a legacy workspace.\n\t\t */\n\t\tisLegacyWorkspace: {\n\t\t\tcomputed({\n\t\t\t\tproperties: {\n\t\t\t\t\tglobalSearchDataConfigId,\n\t\t\t\t\tglobalSearchViewConfigId\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\treturn !globalSearchDataConfigId && !globalSearchViewConfigId;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Label for back button (to take user to back to the previous application).\n\t\t * @type {string}\n\t\t */\n\t\tbackButtonLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property for component to know if it's being rendered in platform global search.\n\t\t */\n\t\tisGlobal: {\n\t\t\tcomputed({\n\t\t\t\tproperties: {\n\t\t\t\t\tglobalSearchViewConfigId,\n\t\t\t\t\tglobalSearchDataConfigId,\n\t\t\t\t\tselectedSearchContext\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\treturn (\n\t\t\t\t\t!isEmpty(globalSearchViewConfigId) &&\n\t\t\t\t\t!isEmpty(globalSearchDataConfigId) &&\n\t\t\t\t\t!isEmpty(selectedSearchContext)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property for the namespace that selected records should be logged to\n\t\t * @type {string}\n\t\t */\n\t\tuserPreferencesContext: {\n\t\t\tcomputed({\n\t\t\t\tproperties: {\n\t\t\t\t\tglobalSearchViewConfigId,\n\t\t\t\t\tglobalSearchDataConfigId,\n\t\t\t\t\tselectedSearchContext\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\treturn !isEmpty(globalSearchViewConfigId) &&\n\t\t\t\t\t!isEmpty(globalSearchDataConfigId) &&\n\t\t\t\t\t!isEmpty(selectedSearchContext)\n\t\t\t\t\t? `globalSearch.${selectedSearchContext}`\n\t\t\t\t\t: DEFAULT_USER_PREFERENCES_NAME;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Number of search sources to query in a single request. If <= 0, one source\n\t\t * is retrieved at a time.\n\t\t * @type {number}\n\t\t */\n\t\tbatchCount: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If records are missing in a section due to security constraints, then display a message like\n\t\t * \"8 records removed due to security constraints\" just after the results\n\t\t * @type {boolean}\n\t\t */\n\t\tshowRedactionWarning: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tstyles: style,\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a user clicks a record from the results tab.\n\t\t * @type {{table: string, sysId: string, recordUrl: string, newTab: boolean}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#RECORD_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\tsysId: { type: 'string' },\n\t\t\t\t\trecordUrl: { type: 'string' },\n\t\t\t\t\tnewTab: { type: 'boolean' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the search has successfully finished. This action is dispatched whether or not\n\t\t * results are returned. The payload contains an error if there is an error during the search\n\t\t * and the search term used for the search.\n\t\t * @type {{error: object, searchTerm: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#SEARCH_SUCCEEDED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\terror: { type: 'object' },\n\t\t\t\t\tsearchTerm: { type: 'string' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the back to previous application button (if configured) is clicked. The payload contains\n\t\t * currently selected search context information if it's passed in as selectedSearchContext property; otherwise\n\t\t * the payload will be empty.\n\t\t * @type {{id: string, label: string, context: string, route: string, searchDataConfigId: string, searchViewConfigId: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#BACK_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tid: { type: 'string' },\n\t\t\t\t\tlabel: { type: 'string' },\n\t\t\t\t\tcontext: { type: 'string' },\n\t\t\t\t\troute: { type: 'string' },\n\t\t\t\t\tsearchDataConfigId: { type: 'string' },\n\t\t\t\t\tsearchViewConfigId: { type: 'string' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the 'Go to ListView' button is clicked and the property overrideGotoListViewEvent is configured as true. The payload contains\n\t\t * currently selected search table and the table filter conditions\n\t\t * @type {{id: string, label: string, context: string, route: string, searchDataConfigId: string, searchViewConfigId: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TAB#LIST_BUTTON_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttableName: { type: 'string' },\n\t\t\t\t\tconditions: { type: 'string' },\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import { t } from 'sn-translate';\n\nexport const DEFAULT_PLACEHODLER = t('Search Workspace');\nexport const SEARCH_LABEL = t('Search');\nexport const CLEAR_LABEL = t('Clear');\nexport const SEARCH_CONTEXT_TRIGGER_LABEL = t('Choose search context');\n\nexport const LOADING_LABEL = t('Loading');\n\nexport const SEARCH_ALL_RECORDS = t('Search All Records');\nexport const VIEW_RESULTS = t('View results');\n\nexport const RESULTS_SECTION= t('Results Section');\nexport const RECENTLY_SEARCHED = t('Recently Searched');\nexport const RECENTLY_VIEWED = t('Recently Viewed');\n\nexport const ARIA_LIVE_REGION_TEMPLATE = 'Showing {0} results in {1} sections';\n\nexport const CLICK = 'click';\nexport const KEYDOWN = 'keydown';\nexport const TAB_KEY_CODE = 9;\n\nexport const GLOBAL_SEARCH_WIDTH = '356px';\nexport const GLOBAL_POPOVER_TOP_OFFSET = 2;\nexport const CONTEXT_SWITCH_TOP_OFFSET = 2;\n\nexport const MOBILE_MEDIA_WIDTH = '320px';\nexport const DROPDOWN_POSITION = ['bottom-end top-end'];\n\nexport const DEFAULT_USER_PREFERENCES_NAME =\n\t'workspace.globalSearch.recentActions';\n\nexport const WINDOW_SIZE = {\n\tEXPANDED: 'expanded',\n\tCOLLAPSED: 'collapsed',\n\tMOBILE: 'mobile'\n};\n\nexport const CANCEL_LABEL = t('Cancel');\nexport const GLOBAL_SEARCH_MOBILE_WIDTH = '300px';\n\nexport const GLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH = {\n\tminWidth: 'target',\n\tmaxWidth: 244\n};\n\nexport const KNOWLEDGE_TABLE = 'kb_knowledge';\nexport const KNOWLEDGE_VIEW_PATH = '/kb_view.do?sys_kb_id=';\n","/**\n * Utils for ComponentWorkspaceGlobalSearchTypeahead\n */\n\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const isExactMatchPresent = (props, term) => {\n\tif (term === get(props, 'exactMatch.term'))\n\t\treturn get(props, 'exactMatch.hasExactMatch');\n\n\treturn false;\n};\n\nexport const canTermMatchExactly = (term, criterionRegex, exactMatchEnabled) =>\n\texactMatchEnabled && new RegExp(criterionRegex).test(term);\n\nexport const hasExactMatchReadingFinished = (\n\tprops,\n\tterm,\n\ttermCriterionRegex,\n\texactMatchEnabled\n) => {\n\tconst { exactMatch } = props;\n\tif (isEmpty(exactMatch)) return true;\n\n\tconst { isFetching } = exactMatch;\n\t// if we are not reading, we have either not started reading yet, or already finished reading\n\tif (!isFetching) {\n\t\tconst dataTerm = get(props, 'exactMatch.term');\n\t\tif (\n\t\t\t// if the dataTerm !== term, reading has not started\n\t\t\tdataTerm !== term &&\n\t\t\t//  make sure reading hasn't started only because we are never going to start it\n\t\t\tcanTermMatchExactly(term, termCriterionRegex, exactMatchEnabled)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn !isFetching;\n};\n","var __assign =\n\t(this && this.__assign) ||\n\tObject.assign ||\n\tfunction(t) {\n\t\tfor (var s, i = 1, n = arguments.length; i < n; i++) {\n\t\t\ts = arguments[i];\n\t\t\tfor (var p in s)\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n\t\t}\n\t\treturn t;\n\t};\nvar handleScroll = function(parent, _a) {\n\tvar { scrollLeft } = _a;\n\tvar { scrollTop } = _a;\n\tparent.scrollLeft = scrollLeft;\n\tparent.scrollTop = scrollTop;\n};\nexport default function calculate(target, options) {\n\tif (!target || !(target instanceof HTMLElement))\n\t\tthrow new Error('Element is required in scrollIntoViewIfNeeded');\n\tvar config = __assign({ handleScroll }, options);\n\tvar defaultOffset = { top: 0, right: 0, bottom: 0, left: 0 };\n\tconfig.offset = config.offset\n\t\t? __assign({}, defaultOffset, config.offset)\n\t\t: defaultOffset;\n\tfunction withinBounds(value, min, max, extent) {\n\t\tif (\n\t\t\tconfig.centerIfNeeded === false ||\n\t\t\t(max <= value + extent && value <= min + extent)\n\t\t) {\n\t\t\treturn Math.min(max, Math.max(min, value));\n\t\t}\n\t\treturn (min + max) / 2;\n\t}\n\tvar { offset } = config;\n\tvar offsetTop = offset.top;\n\tvar offsetLeft = offset.left;\n\tvar offsetBottom = offset.bottom;\n\tvar offsetRight = offset.right;\n\tfunction makeArea(left, top, width, height) {\n\t\treturn {\n\t\t\tleft: left + offsetLeft,\n\t\t\ttop: top + offsetTop,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tright: left + offsetLeft + width + offsetRight,\n\t\t\tbottom: top + offsetTop + height + offsetBottom,\n\t\t\ttranslate(x, y) {\n\t\t\t\treturn makeArea(\n\t\t\t\t\tx + left + offsetLeft,\n\t\t\t\t\ty + top + offsetTop,\n\t\t\t\t\twidth,\n\t\t\t\t\theight\n\t\t\t\t);\n\t\t\t},\n\t\t\trelativeFromTo(lhs, rhs) {\n\t\t\t\tvar newLeft = left + offsetLeft;\n\t\t\t\tvar newTop = top + offsetTop;\n\t\t\t\tlhs = lhs.offsetParent;\n\t\t\t\trhs = rhs.offsetParent;\n\t\t\t\tif (lhs === rhs) {\n\t\t\t\t\treturn area;\n\t\t\t\t}\n\t\t\t\tfor (; lhs; lhs = lhs.offsetParent) {\n\t\t\t\t\tnewLeft += lhs.offsetLeft + lhs.clientLeft;\n\t\t\t\t\tnewTop += lhs.offsetTop + lhs.clientTop;\n\t\t\t\t}\n\t\t\t\tfor (; rhs; rhs = rhs.offsetParent) {\n\t\t\t\t\tnewLeft -= rhs.offsetLeft + rhs.clientLeft;\n\t\t\t\t\tnewTop -= rhs.offsetTop + rhs.clientTop;\n\t\t\t\t}\n\t\t\t\treturn makeArea(newLeft, newTop, width, height);\n\t\t\t}\n\t\t};\n\t}\n\tvar parent;\n\tvar area = makeArea(\n\t\ttarget.offsetLeft,\n\t\ttarget.offsetTop,\n\t\ttarget.offsetWidth,\n\t\ttarget.offsetHeight\n\t);\n\twhile (\n\t\t(parent = target.parentNode) instanceof HTMLElement &&\n\t\ttarget !== config.boundary\n\t) {\n\t\tvar clientLeft = parent.offsetLeft + parent.clientLeft;\n\t\tvar clientTop = parent.offsetTop + parent.clientTop;\n\t\t// Make area relative to parent's client area.\n\t\tarea = area\n\t\t\t.relativeFromTo(target, parent)\n\t\t\t.translate(-clientLeft, -clientTop);\n\t\tvar scrollLeft = withinBounds(\n\t\t\tparent.scrollLeft,\n\t\t\tarea.right - parent.clientWidth,\n\t\t\tarea.left,\n\t\t\tparent.clientWidth\n\t\t);\n\t\tvar scrollTop = withinBounds(\n\t\t\tparent.scrollTop,\n\t\t\tarea.bottom - parent.clientHeight,\n\t\t\tarea.top,\n\t\t\tparent.clientHeight\n\t\t);\n\t\t// Pass the new coordinates to the handleScroll callback\n\t\tconfig.handleScroll(parent, { scrollLeft, scrollTop }, config);\n\t\t// Determine actual scroll amount by reading back scroll properties.\n\t\tarea = area.translate(\n\t\t\tclientLeft - parent.scrollLeft,\n\t\t\tclientTop - parent.scrollTop\n\t\t);\n\t\ttarget = parent;\n\t}\n}\n","// scroll-into-view-if-needed@1.4.0\nvar __assign =\n\t(this && this.__assign) ||\n\tObject.assign ||\n\tfunction(t) {\n\t\tfor (var s, i = 1, n = arguments.length; i < n; i++) {\n\t\t\ts = arguments[i];\n\t\t\tfor (var p in s)\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n\t\t}\n\t\treturn t;\n\t};\n\nimport calculate from './calculate';\nvar handleScroll = function(parent, _a, config) {\n\tvar { scrollLeft } = _a;\n\tvar { scrollTop } = _a;\n\tif (config.duration) {\n\t\t// Removed this block of code to avoid using the \"animator\" dependency\n\t} else {\n\t\tparent.scrollLeft = scrollLeft;\n\t\tparent.scrollTop = scrollTop;\n\t}\n};\nfunction isBoolean(options) {\n\treturn typeof options === 'boolean';\n}\nexport default function scrollIntoViewIfNeeded(\n\ttarget,\n\toptions,\n\tanimateOptions,\n\tfinalElement,\n\toffsetOptions\n) {\n\tif (offsetOptions === void 0) {\n\t\toffsetOptions = {};\n\t}\n\tif (!target || !(target instanceof HTMLElement))\n\t\tthrow new Error('Element is required in scrollIntoViewIfNeeded');\n\tvar config = { centerIfNeeded: false, handleScroll };\n\tif (isBoolean(options)) {\n\t\tconfig.centerIfNeeded = options;\n\t} else {\n\t\tconfig = __assign({}, config, options);\n\t}\n\tvar defaultOffset = { top: 0, right: 0, bottom: 0, left: 0 };\n\tconfig.offset = config.offset\n\t\t? __assign({}, defaultOffset, config.offset)\n\t\t: defaultOffset;\n\tif (animateOptions) {\n\t\tconfig.duration = animateOptions.duration;\n\t\tconfig.easing = animateOptions.easing;\n\t}\n\tif (finalElement) {\n\t\tconfig.boundary = finalElement;\n\t}\n\tif (offsetOptions.offsetTop) {\n\t\tconfig.offset.top = offsetOptions.offsetTop;\n\t}\n\tif (offsetOptions.offsetRight) {\n\t\tconfig.offset.right = offsetOptions.offsetRight;\n\t}\n\tif (offsetOptions.offsetBottom) {\n\t\tconfig.offset.bottom = offsetOptions.offsetBottom;\n\t}\n\tif (offsetOptions.offsetLeft) {\n\t\tconfig.offset.left = offsetOptions.offsetLeft;\n\t}\n\treturn calculate(target, config);\n}\n","/**\n *  Used to serialize label-value items into screen readable text\n * @param {string} recordTitle - Representing the title of the record to be announced\n * @param {Object[]} valueItems - Array of value items\n * @param {string} valueItems[].label - The label for the value item.\n * @param {Object} valueItems[].value - The value object for the value item.\n * @param {string} valueItems[].value.value - The value for the value item.\n */\nconst getAccessibleDisplayValueMessage = (recordTitle, valueItems) =>\n\tvalueItems.reduce((prev, item) => {\n\t\tconst itemSerialized = `${item.label.replace('_', ' ')}: ${\n\t\t\titem.value.value\n\t\t}`;\n\t\tif (!prev) return itemSerialized;\n\t\treturn `${prev}, ${itemSerialized}`;\n\t}, recordTitle || '');\n\nexport default getAccessibleDisplayValueMessage;\n","import '@servicenow/now-label-value';\nimport get from 'lodash/get';\nimport keys from 'lodash/keys';\nimport pick from 'lodash/pick';\nimport trim from 'lodash/trim';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { t } from 'sn-translate';\nimport InvisibleContent from '../../common/InvisibleContent';\nimport getAccessibleDisplayValueMessage from '../../utils/getAccessibleDisplayValueMessage';\nimport { HANDLE_TOOLTIP_CONTENT } from './../actions';\n\nexport const MAX_FIELDS_ALLOWED = 4;\nexport const MAX_FIELDS_ALLOWED_GLOBAL = 2;\nclass ResultRecord extends React.PureComponent {\n\t\n\tgetDisplayValue = (field) => {\n\t\tconst displayValue = field.displayValue || field.display;\n\t\treturn displayValue && trim(displayValue).length ? displayValue : null;\n\t};\n\t\n\tgetLabel = (field, displayFields) => {\n\t\tif (!field || !displayFields) return null;\n\t\tconst displayField = displayFields.find(displayField => displayField.name === field);\n\t\treturn displayField ? displayField.label : field;\n\t}\n\t\n\tgetStackedValueItem = (label, value) => ({\n\t\tlabel,\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tvalue: this.getDisplayValue(value) || t('None')\n\t\t}\n\t});\n\t\n\tgetStackedValueItems = (record, displayFields, isGlobal) => {\n\t\tconst fields = keys(pick(record, displayFields.map(field => field.name)));\n\t\tconst maxItems = isGlobal ? MAX_FIELDS_ALLOWED_GLOBAL : MAX_FIELDS_ALLOWED;\n\t\tconst stackedValueItems = [];\n\t\tlet i = 0;\n\t\twhile (i < fields.length && stackedValueItems.length < maxItems) {\n\t\t\tconst field = fields[i++];\n\t\t\tif (field && field !== 'sys_id')\n\t\t\t\tstackedValueItems.push(\n\t\t\t\t\tthis.getStackedValueItem(\n\t\t\t\t\t\tthis.getLabel(field, displayFields),\n\t\t\t\t\t\trecord[field]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t}\n\t\treturn stackedValueItems;\n\t};\n\n\tgetRecordTitle = (record) => {\n\t\tconst rawTitle = trim(get(record, 'metadata.title', ''));\n\t\tconst recordTitle = rawTitle || t('No Title');\n\t\treturn recordTitle;\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { active, dispatch, record } = this.props;\n\t\tif (active) {\n\t\t\tdispatch(HANDLE_TOOLTIP_CONTENT, {\n\t\t\t\ttooltipContent: this.getRecordTitle(record)\n\t\t\t})\n\t\t} \n\t}\n\n\trender() {\n\t\tconst {\n\t\t\trecord,\n\t\t\tdisplayFields,\n\t\t\tisGlobal\n\t\t} = this.props;\n\n\t\tconst stackedValueItems = this.getStackedValueItems(\n\t\t\trecord.data,\n\t\t\tdisplayFields,\n\t\t\tisGlobal\n\t\t);\n\t\tconst recordTitle = this.getRecordTitle(record);\n\t\tconst serializedRecordValueId = `serializedRecordValue_${record.sys_id}`;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\taria-describedby={serializedRecordValueId}\n\t\t\t\tclassName=\"sncwsgsta-record\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={`sn-list-group--item--title${\n\t\t\t\t\t\tisGlobal ? ' sn-global-result-record-title' : ''\n\t\t\t\t\t}`}\n\t\t\t\t\taria-hidden>\n\t\t\t\t\t<span className=\"record-title\">{recordTitle}<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<now-label-value-stacked\n\t\t\t\t\talign=\"horizontal-equal\"\n\t\t\t\t\ttruncated\n\t\t\t\t\titems={stackedValueItems}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\taria-hidden\n\t\t\t\t/>\n\t\t\t\t<InvisibleContent id={serializedRecordValueId}>\n\t\t\t\t\t{getAccessibleDisplayValueMessage(\n\t\t\t\t\t\trecordTitle,\n\t\t\t\t\t\tstackedValueItems\n\t\t\t\t\t)}\n\t\t\t\t<\/InvisibleContent>\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nResultRecord.propTypes = {\n\trecord: PropTypes.object.isRequired, // eslint-disable-line react/forbid-prop-types\n\tdisplayFields: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tisGlobal: PropTypes.bool,\n\tactive: PropTypes.bool.isRequired,\n\tdispatch: PropTypes.func.isRequired\n};\n\nResultRecord.defaultProps = {\n\tisGlobal: false\n};\n\nexport default ResultRecord;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { HANDLE_TOOLTIP_CONTENT } from './../actions';\n\nclass TermRecord extends React.PureComponent {\n\tcomponentDidUpdate() {\n\t\tconst { active, dispatch, record } = this.props;\n\t\tif (active) {\n\t\t\tdispatch(HANDLE_TOOLTIP_CONTENT, {\n\t\t\t\ttooltipContent: record\n\t\t\t})\n\t\t} \n\t}\n\n\trender() {\n\t\tconst { record } = this.props;\n\t\treturn (\n\t\t\t<div aria-label={record}>\n\t\t\t\t<span className=\"sn-list-group--content\">\n\t\t\t\t\t<span className=\"sn-preserve-whitepsace record-title\">{record}<\/span>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nTermRecord.propTypes = {\n\trecord: PropTypes.string.isRequired\n};\n\nexport default TermRecord;\n","export const TYPEAHEAD_ITEM_LOOKUP = 'TYPEAHEAD_ITEM_LOOKUP';\nexport const TYPEAHEAD_ITEM_LOOKUP_STARTED = 'TYPEAHEAD_ITEM_LOOKUP_STARTED';\nexport const TYPEAHEAD_ITEM_LOOKUP_FAILED = 'TYPEAHEAD_ITEM_LOOKUP_FAILED';\nexport const TYPEAHEAD_ITEM_LOOKUP_SUCCEEDED =\n\t'TYPEAHEAD_ITEM_LOOKUP_SUCCEEDED';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ResultRecord from '../TypeaheadPopover/ResultRecord';\nimport style from './_componentWorkspaceGlobalSearchTypeaheadItemRecordElement.scss';\nimport { TYPEAHEAD_ITEM_LOOKUP } from './actions';\n\nclass ComponentWorkspaceGlobalSearchTypeaheadItemRecord extends React.PureComponent {\n\tcomponentDidMount() {\n\t\tconst {\n\t\t\tproperties: { table, sysId }\n\t\t} = this.props;\n\n\t\tthis.readItem(table, sysId);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst {\n\t\t\tproperties: { table, sysId }\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tproperties: { table: nextTable, sysId: nextSysId }\n\t\t} = nextProps;\n\n\t\tif (table !== nextTable || sysId !== nextSysId) {\n\t\t\tthis.readItem(nextTable, nextSysId);\n\t\t}\n\t}\n\n\treadItem(table, sysId) {\n\t\tconst {\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\t\tif (!table || !sysId) return;\n\n\t\tdispatch(TYPEAHEAD_ITEM_LOOKUP, {\n\t\t\tsysparm_table_name: table,\n\t\t\tsysparm_item_sys_id: sysId\n\t\t});\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ttypeaheadItem,\n\t\t\tproperties: { isGlobal, active },\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\n\t\tif (typeaheadItem && !typeaheadItem.isFetching) {\n\t\t\tconst { record, displayFields } = typeaheadItem;\n\t\t\treturn (\n\t\t\t\t<ResultRecord\n\t\t\t\t\trecord={record}\n\t\t\t\t\tdisplayFields={displayFields}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tactive={active}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n}\n\nComponentWorkspaceGlobalSearchTypeaheadItemRecord.propTypes = {\n\t// eslint-disable-next-line react/forbid-prop-types\n\ttypeaheadItem: PropTypes.object,\n\thelpers: PropTypes.func.isRequired,\n\tproperties: PropTypes.shape({\n\t\ttable: PropTypes.string,\n\t\tsysId: PropTypes.string,\n\t\tisGlobal: PropTypes.bool,\n\t\tactive: PropTypes.bool\n\t}).isRequired\n};\n\nComponentWorkspaceGlobalSearchTypeaheadItemRecord.defaultProps = {\n\ttypeaheadItem: undefined\n};\n\nComponentWorkspaceGlobalSearchTypeaheadItemRecord.style = style;\n\nexport default ComponentWorkspaceGlobalSearchTypeaheadItemRecord;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tTYPEAHEAD_ITEM_LOOKUP_STARTED,\n\tTYPEAHEAD_ITEM_LOOKUP_SUCCEEDED,\n\tTYPEAHEAD_ITEM_LOOKUP_FAILED\n} from '../actions';\n\nconst handleTypeaheadItemLookup = createHttpEffect(\n\t'/api/now/v1/search/itemlookup',\n\t{\n\t\tmethod: 'GET',\n\t\theaders: {},\n\t\tqueryParams: ['sysparm_table_name', 'sysparm_item_sys_id'],\n\t\tstartActionType: TYPEAHEAD_ITEM_LOOKUP_STARTED,\n\t\tsuccessActionType: TYPEAHEAD_ITEM_LOOKUP_SUCCEEDED,\n\t\terrorActionType: TYPEAHEAD_ITEM_LOOKUP_FAILED\n\t}\n);\n\nexport default handleTypeaheadItemLookup;\n","const handleTypeaheadItemLookupFailedEffect = ({\n\tstate,\n\tupdateState,\n\taction\n}) =>\n\tupdateState({\n\t\t...state,\n\t\ttypeaheadItem: {\n\t\t\tisFetching: false,\n\t\t\terror: action.payload\n\t\t}\n\t});\nexport default handleTypeaheadItemLookupFailedEffect;\n","const handleTypeaheadItemLookupStarted = ({ state, updateState }) =>\n\tupdateState({\n\t\t...state,\n\t\ttypeaheadItem: {\n\t\t\tisFetching: true,\n\t\t\terror: null\n\t\t}\n\t});\n\nexport default handleTypeaheadItemLookupStarted;\n","import get from 'lodash/get';\n\nconst transformTypeaheadItemLookupResponse = (response) => {\n\tconst record = get(response, 'result.search_results.0.records.0');\n\tconst displayFields = get(response, 'result.search_results.0.fields');\n\n\tif (!record || !displayFields) return undefined;\n\n\treturn {\n\t\trecord,\n\t\tdisplayFields\n\t};\n};\n\nexport default transformTypeaheadItemLookupResponse;\n","import transformTypeaheadItemLookupResponse from './transformTypeaheadItemLookupResponse';\n\nconst handleTypeaheadItemLookupSucceeded = ({ state, updateState, action }) => {\n\tupdateState({\n\t\t...state,\n\t\ttypeaheadItem: {\n\t\t\tisFetching: false,\n\t\t\terror: null,\n\t\t\t...transformTypeaheadItemLookupResponse(action.payload)\n\t\t}\n\t});\n\tconst { getRecordClickDetails } = state.properties;\n\tgetRecordClickDetails(transformTypeaheadItemLookupResponse(action.payload));\n};\n\nexport default handleTypeaheadItemLookupSucceeded;\n","import {\n\tTYPEAHEAD_ITEM_LOOKUP,\n\tTYPEAHEAD_ITEM_LOOKUP_FAILED,\n\tTYPEAHEAD_ITEM_LOOKUP_STARTED,\n\tTYPEAHEAD_ITEM_LOOKUP_SUCCEEDED\n} from './actions';\nimport {\n\thandleTypeaheadItemLookup,\n\thandleTypeaheadItemLookupFailed,\n\thandleTypeaheadItemLookupStarted,\n\thandleTypeaheadItemLookupSucceeded\n} from './effects';\nimport effectProxy from '../../utils/effectProxy';\n\nexport default {\n\t[TYPEAHEAD_ITEM_LOOKUP]: effectProxy(handleTypeaheadItemLookup),\n\t[TYPEAHEAD_ITEM_LOOKUP_FAILED]: {\n\t\teffect: handleTypeaheadItemLookupFailed,\n\t\tstopPropagation: true\n\t},\n\t[TYPEAHEAD_ITEM_LOOKUP_STARTED]: {\n\t\teffect: handleTypeaheadItemLookupStarted,\n\t\tstopPropagation: true\n\t},\n\t[TYPEAHEAD_ITEM_LOOKUP_SUCCEEDED]: {\n\t\teffect: handleTypeaheadItemLookupSucceeded,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport react from '@servicenow/ui-renderer-react';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport ComponentWorkspaceGlobalSearchTypeaheadItemRecord from './ComponentWorkspaceGlobalSearchTypeaheadItemRecord';\nimport actionHandlers from './actionHandlers';\nimport style from './_componentWorkspaceGlobalSearchTypeaheadItemRecordElement.scss';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nexport default createCustomElement(\n\t'sn-component-workspace-global-search-typeahead-item-record',\n\t{\n\t\tview: ComponentWorkspaceGlobalSearchTypeaheadItemRecord,\n\t\trenderer: { type: react },\n\t\tactionHandlers,\n\t\tproperties: {\n\t\t\tsysId: {\n\t\t\t\tdefault: undefined\n\t\t\t},\n\t\t\ttable: {\n\t\t\t\tdefault: undefined\n\t\t\t},\n\t\t\tisGlobal: {\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tactive: {\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tgetRecordClickDetails:{\n\t\t\t\tdefault: () => {}\n\t\t\t}\n\t\t},\n\t\tbehaviors: [{ behavior: rtlBehavior }, tooltipBehavior],\n\t\tstyles: style\n\t}\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport scrollIntoViewIfNeeded from '../lib/scroll-into-view-if-needed';\nimport isEmpty from 'lodash/isEmpty';\nimport trim from 'lodash/trim';\nimport get from 'lodash/get';\nimport ResultRecord from './ResultRecord';\nimport TermRecord from './TermRecord';\nimport { TOOLTIP_SHOW, TOOLTIP_HIDE } from '@servicenow/behavior-tooltip';\nimport { t } from 'sn-translate';\n\nimport '../componentWorkspaceGlobalSearchTypeaheadItemRecord/componentWorkspaceGlobalSearchTypeaheadItemRecordElement';\n\nexport const ENUM_TYPEAHEAD_RECORD_TYPES = {\n\tTERM: 1,\n\tRESULT: 2,\n\tSEARCH_ALL_ACTION: 3\n};\n\nclass TypeaheadRecord extends React.Component {\n\tstatic get TYPES() {\n\t\treturn ENUM_TYPEAHEAD_RECORD_TYPES;\n\t}\n\n\tstatic populateDisplayFields(displayFields) {\n\t\tif (displayFields) {\n\t\t\treturn displayFields.map((field) => field.name);\n\t\t}\n\t\treturn [];\n\t}\n\n\tshouldShowTooltipOnTruncation = (target) => {\n\t\t// identify the type of active result and grab the title container element\n\t\t// decide to show tooltip based on user preference and text overflow\n\t\tconst { type, showTooltipOnTruncation, displayFields } = this.props;\n\t\tlet recordContainer;\n\t\tif (type === this.constructor.TYPES.TERM) {\n\t\t\trecordContainer = target?.querySelector(\n\t\t\t\t'span.sn-list-group--content'\n\t\t\t);\n\t\t} else if (type === this.constructor.TYPES.RESULT) {\n\t\t\tif (displayFields && !isEmpty(displayFields)) {\n\t\t\t\trecordContainer = target?.querySelector('div.sncwsgsta-record');\n\t\t\t} else {\n\t\t\t\trecordContainer = target?.querySelector(\n\t\t\t\t\t'sn-component-workspace-global-search-typeahead-item-record'\n\t\t\t\t)?.shadowRoot;\n\t\t\t}\n\t\t}\n\t\tconst titleContainer = recordContainer?.querySelector(\n\t\t\t'span.record-title'\n\t\t);\n\t\treturn (\n\t\t\tshowTooltipOnTruncation &&\n\t\t\ttitleContainer?.offsetWidth < titleContainer?.scrollWidth\n\t\t);\n\t};\n\n\thandleTooltipShow = (dispatch, target) => {\n\t\tdispatch(TOOLTIP_SHOW, { target });\n\t};\n\n\thandleTooltipHide = (dispatch, target) => {\n\t\tdispatch(TOOLTIP_HIDE, { target });\n\t};\n\n\tcomponentDidMount() {\n\t\tconst { active } = this.props;\n\t\tif (active) {\n\t\t\tthis.scrollIntoView();\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { active } = this.props;\n\t\tif (active) {\n\t\t\tthis.scrollIntoView();\n\t\t}\n\t}\n\n\tscrollIntoView() {\n\t\tif (this.elementRef) {\n\t\t\tconst centerIfNeeded = false;\n\t\t\tscrollIntoViewIfNeeded(this.elementRef, centerIfNeeded);\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\trecord,\n\t\t\tdisplayFields,\n\t\t\tactive,\n\t\t\ttype,\n\t\t\tonRecordSelect,\n\t\t\tonMouseMove,\n\t\t\tsectionIndex,\n\t\t\trecordIndex,\n\t\t\tisGlobal,\n\t\t\ttooltipContent,\n\t\t\tdispatch,\n\t\t\tgetRecordClickDetails\n\t\t} = this.props;\n\t\t\n\t\tlet className = `sn-list-group--item ${active ? 'is-hover' : ''} ${\n\t\t\tisGlobal ? 'global-list-item' : ''\n\t\t}`;\n\t\tif (type === this.constructor.TYPES.TERM) {\n\t\t\tclassName += ' --term';\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\trole=\"option\"\n\t\t\t\taria-selected={active}\n\t\t\t\tid={`sncwsgs-typeahead-record-${sectionIndex}-${recordIndex}`}\n\t\t\t\tref={(ref) => {\n\t\t\t\t\tif (active) {\n\t\t\t\t\t\tthis.elementRef = ref;\n\t\t\t\t\t}\n\t\t\t\t\tif (\n\t\t\t\t\t\tactive &&\n\t\t\t\t\t\tthis.shouldShowTooltipOnTruncation(this.elementRef)\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.handleTooltipShow(dispatch, this.elementRef);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tclassName={className}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonRecordSelect();\n\t\t\t\t\tthis.handleTooltipHide(dispatch, this.elementRef);\n\t\t\t\t}}\n\t\t\t\tonMouseMove={onMouseMove}\n\t\t\t\tdata-tooltip={tooltipContent}\n\t\t\t\tonMouseEnter={this.handleTooltipShow(dispatch, this.elementRef)}\n\t\t\t\tonMouseLeave={this.handleTooltipHide(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tthis.elementRef\n\t\t\t\t)}>\n\t\t\t\t{(type === this.constructor.TYPES.TERM && (\n\t\t\t\t\t<TermRecord\n\t\t\t\t\t\trecord={record}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tactive={active}\n\t\t\t\t\t/>\n\t\t\t\t)) ||\n\t\t\t\t\t(type === this.constructor.TYPES.RESULT &&\n\t\t\t\t\t\tdisplayFields &&\n\t\t\t\t\t\t!isEmpty(displayFields) && (\n\t\t\t\t\t\t\t<ResultRecord\n\t\t\t\t\t\t\t\trecord={record}\n\t\t\t\t\t\t\t\tdisplayFields={displayFields}\n\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\tactive={active}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)) || (\n\t\t\t\t\t\t<sn-component-workspace-global-search-typeahead-item-record\n\t\t\t\t\t\t\ttable={record.table}\n\t\t\t\t\t\t\tsys-id={record.sys_id}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\tactive={active}\n\t\t\t\t\t\t\tgetRecordClickDetails={getRecordClickDetails}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t<\/li>\n\t\t);\n\t}\n}\n\nTypeaheadRecord.propTypes = {\n\trecord: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n\t\t.isRequired,\n\tactive: PropTypes.bool.isRequired,\n\tonRecordSelect: PropTypes.func.isRequired,\n\tonMouseMove: PropTypes.func.isRequired,\n\ttype: PropTypes.oneOf(Object.values(TypeaheadRecord.TYPES)).isRequired,\n\t// eslint-disable-next-line react/forbid-prop-types\n\tdisplayFields: PropTypes.array,\n\tsectionIndex: PropTypes.number.isRequired,\n\trecordIndex: PropTypes.number.isRequired,\n\tisGlobal: PropTypes.bool,\n\tshowTooltipOnTruncation: PropTypes.bool.isRequired,\n\ttooltipContent: PropTypes.string.isRequired,\n\tdispatch: PropTypes.func.isRequired\n};\n\nTypeaheadRecord.defaultProps = {\n\tdisplayFields: undefined,\n\tisGlobal: false\n};\n\nexport default TypeaheadRecord;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { map } from 'lodash';\nimport find from 'lodash/find';\nimport '@servicenow/now-heading';\n\nimport TypeaheadRecord from './TypeaheadRecord';\n\nclass ResultSection extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tonResultClickData: {}\n\t\t};\n\t\tthis.recordDetails = [];\n\t\tthis.getRecordClickDetails = this.getRecordClickDetails.bind(this);\n\t}\n\n\tgetRecordClickDetails(data) {\n\t\tvar recordClickDetails = {\n\t\t\ttitle: data.record.metadata.title,\n\t\t\trecord_url: data.record.record_url,\n\t\t\ttable: data.record.table,\n\t\t\tsys_id: data.record.sys_id\n\t\t};\n\n\t\tthis.recordDetails.push(recordClickDetails);\n\t\tthis.setState({\n\t\t\tonResultClickData: this.recordDetails\n\t\t});\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tresults,\n\t\t\tdisplayFields,\n\t\t\tname,\n\t\t\tactiveRecordIndex,\n\t\t\tonRecordSelect,\n\t\t\tonMouseMove,\n\t\t\tsourceId,\n\t\t\tsectionIndex,\n\t\t\tisGlobal,\n\t\t\tisVisible,\n\t\t\tdispatch,\n\t\t\ttooltipContent,\n\t\t\tshowTooltipOnTruncation\n\t\t} = this.props;\n\n\t\tconst headingComp = isGlobal ? (\n\t\t\t<span\n\t\t\t\tclassName=\"result-section-heading--global\"\n\t\t\t\tid={`result-section-header-global-${sectionIndex}`}>\n\t\t\t\t{name.toUpperCase()}\n\t\t\t<\/span>\n\t\t) : (\n\t\t\t<now-heading\n\t\t\t\thas-no-margin\n\t\t\t\taria-label={name}\n\t\t\t\tlabel={name}\n\t\t\t\tlevel=\"2\"\n\t\t\t\tvariant=\"title-primary\"\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\trole=\"group\"\n\t\t\t\taria-labelledby={`result-section-header-global-${sectionIndex}`}\n\t\t\t\tclassName=\"sn-list-ul-group\">\n\t\t\t\t<li\n\t\t\t\t\tclassName={`sn-list-group--header ${\n\t\t\t\t\t\tisGlobal ? 'section-header-global' : ''\n\t\t\t\t\t}`}\n\t\t\t\t\tid={`sncwsgs-typeahead-section-header-${sectionIndex}`}\n\t\t\t\t\trole=\"presentation\">\n\t\t\t\t\t<span className=\"sn-list-group--content\">\n\t\t\t\t\t\t{headingComp}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<span className=\"sn-list-group--content\" />\n\t\t\t\t<\/li>\n\t\t\t\t{map(results, (record, recordIndex) => (\n\t\t\t\t\t<TypeaheadRecord\n\t\t\t\t\t\ttype={\n\t\t\t\t\t\t\ttypeof record === 'string'\n\t\t\t\t\t\t\t\t? TypeaheadRecord.TYPES.TERM\n\t\t\t\t\t\t\t\t: TypeaheadRecord.TYPES.RESULT\n\t\t\t\t\t\t}\n\t\t\t\t\t\trecord={record}\n\t\t\t\t\t\tdisplayFields={displayFields}\n\t\t\t\t\t\tkey={recordIndex}\n\t\t\t\t\t\trecordIndex={recordIndex}\n\t\t\t\t\t\tsectionIndex={sectionIndex}\n\t\t\t\t\t\tonRecordSelect={onRecordSelect(\n\t\t\t\t\t\t\tfind(this.state.onResultClickData, function(rec) {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\trec.sys_id === record.sys_id &&\n\t\t\t\t\t\t\t\t\trec.table === record.table\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})  || record\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonMouseMove={() => onMouseMove(recordIndex)}\n\t\t\t\t\t\tactive={recordIndex === activeRecordIndex}\n\t\t\t\t\t\tsourceId={record.__sourceId || sourceId}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\tisVisible={isVisible}\n\t\t\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\t\t\tgetRecordClickDetails={this.getRecordClickDetails}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t<\/ul>\n\t\t);\n\t}\n}\n\nResultSection.propTypes = {\n\tname: PropTypes.string.isRequired,\n\tresults: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types\n\tonRecordSelect: PropTypes.func.isRequired,\n\tonMouseMove: PropTypes.func.isRequired,\n\tactiveRecordIndex: PropTypes.number.isRequired,\n\tsourceId: PropTypes.string.isRequired,\n\tdisplayFields: PropTypes.array, // eslint-disable-line react/forbid-prop-types\n\tsectionIndex: PropTypes.number.isRequired,\n\tisGlobal: PropTypes.bool,\n\ttooltipContent: PropTypes.string.isRequired,\n\tdispatch: PropTypes.func.isRequired,\n\tshowTooltipOnTruncation: PropTypes.bool.isRequired\n};\n\nResultSection.defaultProps = {\n\tdisplayFields: undefined,\n\tisGlobal: false\n};\n\nexport default ResultSection;\n","import { ENUM_TYPEAHEAD_RECORD_TYPES } from '../TypeaheadPopover/TypeaheadRecord';\nimport RecentActionsModel from '../../utils/RecentActionsModel';\n\nexport const NAVIGATION_DIRECTIONS = {\n\tUP: 'up',\n\tDOWN: 'down'\n};\n\nclass NavigationWrapper {\n\tstatic get DIRECTIONS() {\n\t\treturn NAVIGATION_DIRECTIONS;\n\t}\n\n\tstatic getUpdatedIndex(dataModel, index, type) {\n\t\tif (dataModel.size === 0) return undefined;\n\n\t\tif (type === NavigationWrapper.DIRECTIONS.UP) {\n\t\t\tlet previousRecord = (index - 1) % dataModel.size;\n\t\t\tif (index === 0) {\n\t\t\t\tpreviousRecord = dataModel.size - 1;\n\t\t\t} else if (index === dataModel.size - 1) {\n\t\t\t\tpreviousRecord = index - 1;\n\t\t\t}\n\t\t\treturn previousRecord;\n\t\t}\n\t\tif (type === NavigationWrapper.DIRECTIONS.DOWN) {\n\t\t\tlet nextRecord = (index + 1) % dataModel.size;\n\t\t\tif (index === dataModel.size - 1) {\n\t\t\t\tnextRecord = 0;\n\t\t\t}\n\t\t\treturn nextRecord;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tstatic getRecordBySectionAndRecordIndex(\n\t\tdataModel,\n\t\tsectionIndex,\n\t\trecordIndex\n\t) {\n\t\tconst sectionId =\n\t\t\tdataModel.sectionsFilteredByResponseCount[sectionIndex];\n\t\tconst records = dataModel.getSectionRecordsBySectionId(sectionId);\n\t\tconst record = records[recordIndex];\n\t\treturn record;\n\t}\n\n\tstatic getRecord(dataModel, flattenedIndex = -1) {\n\t\tif (flattenedIndex === -1) {\n\t\t\treturn {};\n\t\t}\n\t\tconst {\n\t\t\tsectionIndex,\n\t\t\trecordIndex\n\t\t} = NavigationWrapper.getSectionAndRecordIndices(\n\t\t\tdataModel,\n\t\t\tflattenedIndex\n\t\t);\n\n\t\tif (dataModel instanceof RecentActionsModel) {\n\t\t\tconst record = NavigationWrapper.getRecordBySectionAndRecordIndex(\n\t\t\t\tdataModel,\n\t\t\t\tsectionIndex,\n\t\t\t\trecordIndex\n\t\t\t);\n\t\t\tif (typeof record === 'string') {\n\t\t\t\treturn { type: ENUM_TYPEAHEAD_RECORD_TYPES.TERM, record };\n\t\t\t}\n\t\t\tif (typeof record === 'object') {\n\t\t\t\treturn { type: ENUM_TYPEAHEAD_RECORD_TYPES.RESULT, record };\n\t\t\t}\n\t\t} else {\n\t\t\tif (\n\t\t\t\tsectionIndex ===\n\t\t\t\tdataModel.filteredSectionRecordLengths.length - 1\n\t\t\t) {\n\t\t\t\treturn { type: ENUM_TYPEAHEAD_RECORD_TYPES.SEARCH_ALL_ACTION };\n\t\t\t}\n\t\t\tconst record = NavigationWrapper.getRecordBySectionAndRecordIndex(\n\t\t\t\tdataModel,\n\t\t\t\tsectionIndex,\n\t\t\t\trecordIndex\n\t\t\t);\n\t\t\treturn { type: ENUM_TYPEAHEAD_RECORD_TYPES.RESULT, record };\n\t\t}\n\t\treturn {};\n\t}\n\n\tstatic getSectionAndRecordIndices(dataModel, flattenedIndex = -1) {\n\t\tlet sectionIndex = -1;\n\t\tlet recordIndex = -1;\n\n\t\tif (flattenedIndex === -1) {\n\t\t\treturn { sectionIndex, recordIndex };\n\t\t}\n\t\tlet count = 0;\n\t\tlet lastCount = 0;\n\t\tsectionIndex = 0;\n\t\tfor (\n\t\t\tlet i = 0;\n\t\t\ti < dataModel.filteredSectionRecordLengths.length;\n\t\t\ti += 1\n\t\t) {\n\t\t\tcount += dataModel.filteredSectionRecordLengths[i];\n\t\t\tif (flattenedIndex < count) {\n\t\t\t\tsectionIndex = i;\n\t\t\t\trecordIndex = flattenedIndex - lastCount;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tlastCount += dataModel.filteredSectionRecordLengths[i];\n\t\t}\n\t\treturn { sectionIndex, recordIndex };\n\t}\n\n\tstatic getFlattenedIndex(dataModel, sectionIndex, recordIndex) {\n\t\tlet flattenedIndex = 0;\n\t\tfor (let i = 0; i < sectionIndex; i += 1) {\n\t\t\tflattenedIndex += dataModel.filteredSectionRecordLengths[i];\n\t\t}\n\t\tflattenedIndex += recordIndex;\n\t\treturn flattenedIndex;\n\t}\n}\n\nexport default NavigationWrapper;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst SnPopover = ({ className, children, isGlobal, isMobileView, ...props}) => (\n\t<div\n\t\tclassName={`sn-popover${isGlobal ? isMobileView ? ' -global -mobile-view' : ' -global' : ''} ${className}`}\n\t\t{...props}>\n\t\t{children}\n\t<\/div>\n);\n\nSnPopover.defaultProps = {\n\tclassName: '',\n\tisGlobal: false\n};\n\nSnPopover.propTypes = {\n\tclassName: PropTypes.string,\n\tchildren: PropTypes.node.isRequired,\n\tisGlobal: PropTypes.bool\n};\n\nexport default SnPopover;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nconst SnPopoverBody = ({ children }) => {\n\tif (children.length === 0) return null;\n\treturn <Fragment>{children}<\/Fragment>;\n};\n\nSnPopoverBody.propTypes = {\n\tchildren: PropTypes.node.isRequired\n};\n\nexport default SnPopoverBody;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\n\nconst SnPopoverFooter = ({ children, className, ...props }) => (\n\t<ul\n\t\tclassName={`sn-popover--footer sn-popover--footer__sm ${className}`}\n\t\trole=\"listbox\"\n\t\taria-label={t('Extra Option')}\n\t\t{...props}>\n\t\t{children}\n\t<\/ul>\n);\n\nSnPopoverFooter.propTypes = {\n\tclassName: PropTypes.string,\n\tchildren: PropTypes.node.isRequired\n};\n\nSnPopoverFooter.defaultProps = {\n\tclassName: ''\n};\n\nexport default SnPopoverFooter;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport { actionTypes } from '@servicenow/ui-core';\nimport map from 'lodash/map';\nimport ResultSection from './ResultSection';\nimport NavigationWrapper from '../utils/NavigationWrapper';\nimport SnPopover from './SnPopover/SnPopover';\nimport SnPopoverBody from './SnPopover/SnPopoverBody';\nimport SnPopoverFooter from './SnPopover/SnPopoverFooter';\nimport TypeaheadRecord from './TypeaheadRecord';\n\nimport { LOADING_LABEL,SEARCH_ALL_RECORDS, VIEW_RESULTS, ARIA_LIVE_REGION_TEMPLATE, WINDOW_SIZE, RESULTS_SECTION } from '../constants';\n\nclass TypeaheadPopover extends React.PureComponent {\n\tstatic createNewActiveRecord(type, record, sourceId = '') {\n\t\tif (type === TypeaheadRecord.TYPES.TERM) {\n\t\t\treturn {\n\t\t\t\ttype,\n\t\t\t\tterm: record\n\t\t\t};\n\t\t}\n\t\tif (type === TypeaheadRecord.TYPES.RESULT) {\n\t\t\treturn {\n\t\t\t\ttype,\n\t\t\t\titem: record,\n\t\t\t\tsourceId\n\t\t\t};\n\t\t}\n\t\tif (type === TypeaheadRecord.TYPES.SEARCH_ALL_ACTION) {\n\t\t\treturn {\n\t\t\t\ttype\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tactiveRecordFlattenedIndex: -1\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { navigateInDirection, dataModel } = this.props;\n\t\tthis.consumeNavigationProp(navigateInDirection, dataModel);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst { navigateInDirection, dataModel, hasActiveRecord } = nextProps;\n\n\t\tif (!hasActiveRecord) {\n\t\t\tthis.setState({ activeRecordFlattenedIndex: -1 });\n\t\t}\n\n\t\tthis.consumeNavigationProp(navigateInDirection, dataModel);\n\t}\n\n\tconsumeNavigationProp(direction, dataModel) {\n\t\tconst { dataModel: dataModelFromProps } = this.props;\n\t\tconst { activeRecordFlattenedIndex: indexFromState } = this.state;\n\n\t\tif (dataModelFromProps.term !== dataModel.term) {\n\t\t\tthis.updateActiveRecord(-1);\n\t\t}\n\t\tconst activeRecordFlattenedIndex = NavigationWrapper.getUpdatedIndex(\n\t\t\tdataModel,\n\t\t\tindexFromState,\n\t\t\tdirection\n\t\t);\n\t\tthis.updateActiveRecord(activeRecordFlattenedIndex, dataModel);\n\t}\n\n\t// eslint-disable-next-line react/destructuring-assignment\n\tupdateActiveRecord(flattenedIndex, dataModel = this.props.dataModel) {\n\t\tconst { onActiveRecordUpdate } = this.props;\n\t\tif (typeof flattenedIndex !== 'number') {\n\t\t\treturn;\n\t\t}\n\t\tlet activeRecord = false;\n\t\tconst { record, type } = NavigationWrapper.getRecord(\n\t\t\tdataModel,\n\t\t\tflattenedIndex\n\t\t);\n\t\tconst indices = NavigationWrapper.getSectionAndRecordIndices(\n\t\t\tdataModel,\n\t\t\tflattenedIndex\n\t\t);\n\t\tif (type === TypeaheadRecord.TYPES.SEARCH_ALL_ACTION) {\n\t\t\tactiveRecord = TypeaheadPopover.createNewActiveRecord(type);\n\t\t} else if (type === TypeaheadRecord.TYPES.TERM) {\n\t\t\tactiveRecord = TypeaheadPopover.createNewActiveRecord(type, record);\n\t\t} else if (type === TypeaheadRecord.TYPES.RESULT) {\n\t\t\tconst sourceId =\n\t\t\t\tdataModel.getSectionIdByTableName(record.table || '') ||\n\t\t\t\trecord.__sourceId ||\n\t\t\t\t'';\n\t\t\tactiveRecord = TypeaheadPopover.createNewActiveRecord(\n\t\t\t\ttype,\n\t\t\t\trecord,\n\t\t\t\tsourceId\n\t\t\t);\n\t\t}\n\t\tonActiveRecordUpdate(activeRecord, indices);\n\t\tthis.setState({ activeRecordFlattenedIndex: flattenedIndex });\n\t}\n\n\trenderFooter(sectionsLength, footerId) {\n\t\tconst { showSearchAllSection, isGlobal } = this.props;\n\t\tconst { activeRecordFlattenedIndex } = this.state;\n\n\t\tif (!showSearchAllSection) return null;\n\n\t\tconst { dataModel, onRecordSelect } = this.props;\n\t\tconst isActive = activeRecordFlattenedIndex === dataModel.size - 1;\n\t\tconst footerContainerClassName = `sn-url${isGlobal ? ' suggestions-footer-global' : ''\n\t\t}`;\n\t\tconst footerClassName = isActive ? 'is-hover' : '';\n\t\treturn (\n\t\t\t<SnPopoverFooter\n\t\t\t\tonMouseDown={onRecordSelect(dataModel.term)}\n\t\t\t\tonMouseMove={() => this.updateActiveRecord(dataModel.size - 1)}>\n\t\t\t\t<li\n\t\t\t\t\tclassName={footerContainerClassName}\n\t\t\t\t\tid={footerId}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\taria-selected={isActive}>\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tisGlobal ? VIEW_RESULTS : SEARCH_ALL_RECORDS\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={footerClassName}>\n\t\t\t\t\t\t{isGlobal ? VIEW_RESULTS : SEARCH_ALL_RECORDS}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/li>\n\t\t\t<\/SnPopoverFooter>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdataModel,\n\t\t\tonRecordSelect,\n\t\t\tclassName,\n\t\t\tid,\n\t\t\tisGlobal,\n\t\t\tuserPreferencesFetching,\n\t\t\tisVisible,\n\t\t\ttooltipContent,\n\t\t\tdispatch,\n\t\t\tshowTooltipOnTruncation,\n\t\t\twindowSize\n\t\t} = this.props;\n\t\tconst { activeRecordFlattenedIndex: indexFromState } = this.state;\n\t\tconst {\n\t\t\tsectionIndex: activeSectionIndex,\n\t\t\trecordIndex: activeRecordIndex\n\t\t} = NavigationWrapper.getSectionAndRecordIndices(\n\t\t\tdataModel,\n\t\t\tindexFromState\n\t\t);\n\n\t\tconst onSectionMouseMove = (sectionIndex) => (recordIndex) => {\n\t\t\tconst activeRecordFlattenedIndex = NavigationWrapper.getFlattenedIndex(\n\t\t\t\tdataModel,\n\t\t\t\tsectionIndex,\n\t\t\t\trecordIndex\n\t\t\t);\n\t\t\tthis.updateActiveRecord(activeRecordFlattenedIndex, dataModel);\n\t\t};\n\n\t\tconst getDisplayFields = (sectionId) => {\n\t\t\tconst displayFields = dataModel.getDisplayFieldNamesBySourceId(\n\t\t\t\tsectionId\n\t\t\t);\n\t\t\treturn displayFields;\n\t\t};\n\n\t\tconst getTotalResultCount = () => {\n\t\t\treturn sectionsToRender.reduce((acc, sectionId) => {\n\t\t\t\treturn acc + dataModel.getSectionRecordsBySectionId(sectionId).length;\n\t\t\t}, 0)\n\t\t};\n\t\t\n\t\tconst sectionsToRender = dataModel.sectionsFilteredByResponseCount;\n\t\tconst sectionCount = sectionsToRender.length;\n\t\tconst totalResultCount = getTotalResultCount();\n\t\tconst isMobileView = WINDOW_SIZE.MOBILE === windowSize;\n\t\tconst {ARIA_LIVE_REGION_UPDATE_REQUESTED} = actionTypes;\n\n\t\tif (sectionCount > 0 && totalResultCount > 0) {\n\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\tmessage: t(ARIA_LIVE_REGION_TEMPLATE,totalResultCount, sectionCount),\n\t\t\t\ttype: 'polite',\n\t\t\t\treplaceContent: true\n\t\t\t});\n\t\t}\n\t\tconst suggestionSections = sectionsToRender.length > 0 && (\n\t\t\t<ul className=\"sn-list-group result-section\" role=\"listbox\" aria-label={RESULTS_SECTION}>\n\t\t\t\t{map(sectionsToRender, (sectionId, index) => (\n\t\t\t\t\t<Fragment key={sectionId}>\n\t\t\t\t\t\t<ResultSection\n\t\t\t\t\t\t\tkey={sectionId}\n\t\t\t\t\t\t\tname={dataModel.getSectionNameBySectionId(\n\t\t\t\t\t\t\t\tsectionId\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tdisplayFields={getDisplayFields(sectionId)}\n\t\t\t\t\t\t\tactiveRecordIndex={\n\t\t\t\t\t\t\t\tactiveSectionIndex === index\n\t\t\t\t\t\t\t\t\t? activeRecordIndex\n\t\t\t\t\t\t\t\t\t: -1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresults={dataModel.getSectionRecordsBySectionId(\n\t\t\t\t\t\t\t\tsectionId\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonMouseMove={onSectionMouseMove(index)}\n\t\t\t\t\t\t\tonRecordSelect={onRecordSelect}\n\t\t\t\t\t\t\tsourceId={sectionId}\n\t\t\t\t\t\t\tsectionIndex={index}\n\t\t\t\t\t\t\tisVisible={isVisible}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{isGlobal && index !== sectionsToRender.length - 1 ? (\n\t\t\t\t\t\t\t<hr aria-hidden=\"true\" className=\"section-divider-global\" />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t))}\n\t\t\t<\/ul>\n\t\t);\n\n\t\tconst loadingWidget = (\n\t\t\t<div className=\"suggestions-loader\">\n\t\t\t\t{isVisible ? (\n\t\t\t\t\t<now-loader label={LOADING_LABEL} size=\"lg\" action=\"\" />\n\t\t\t\t) : (\n\t\t\t\t\t<now-loader\n\t\t\t\t\t\tlabel={LOADING_LABEL}\n\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\taction=\"\"\n\t\t\t\t\t\tdefer\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t\tconst footerId = `sncwsgs-typeahead-record-${sectionsToRender.length}-0-footer`;\n\t\treturn (\n\t\t\t<SnPopover className={className} isGlobal={isGlobal} isMobileView={isMobileView} id={id}>\n\t\t\t\t<SnPopoverBody>\n\t\t\t\t\t{userPreferencesFetching\n\t\t\t\t\t\t? loadingWidget\n\t\t\t\t\t\t: suggestionSections}\n\t\t\t\t<\/SnPopoverBody>\n\t\t\t\t{this.renderFooter(sectionsToRender.length, footerId)}\n\t\t\t<\/SnPopover>\n\t\t);\n\t}\n}\n\nTypeaheadPopover.propTypes = {\n\tonRecordSelect: PropTypes.func.isRequired,\n\tnavigateInDirection: PropTypes.oneOf([\n\t\t'',\n\t\t...Object.values(NavigationWrapper.DIRECTIONS)\n\t]),\n\thasActiveRecord: PropTypes.bool,\n\tid: PropTypes.string,\n\tonActiveRecordUpdate: PropTypes.func.isRequired,\n\tshowSearchAllSection: PropTypes.bool,\n\tdataModel: PropTypes.object.isRequired,\n\tclassName: PropTypes.string,\n\tisGlobal: PropTypes.bool,\n\tuserPreferencesFetching: PropTypes.bool,\n\tshowTooltipOnTruncation: PropTypes.bool.isRequired,\n\ttooltipContent: PropTypes.string.isRequired,\n\tdispatch: PropTypes.func.isRequired,\n\twindowSize: PropTypes.string,\n\tisMobileView: PropTypes.bool\n\n};\n\nTypeaheadPopover.defaultProps = {\n\thasActiveRecord: null,\n\tnavigateInDirection: '',\n\tshowSearchAllSection: null,\n\tclassName: '',\n\tid: null\n};\n\nexport default TypeaheadPopover;\n","import { t } from 'sn-translate';\nimport GlobalSearchModel from './GlobalSearchModel';\n\nclass ExactMatchModel extends GlobalSearchModel {\n\tconstructor(response) {\n\t\tsuper();\n\t\tthis.parse(response);\n\t}\n\n\tparse(response) {\n\t\tif (response) {\n\t\t\tconst { term, record, displayFields } = response;\n\n\t\t\tthis.term = term;\n\t\t\tthis.sources = [];\n\t\t\tthis.resultCount = 1;\n\n\t\t\tif (record && displayFields) {\n\t\t\t\tthis.resultSectionsRecordLength.push(1);\n\t\t\t\tthis.sources.push({\n\t\t\t\t\tsys_id: 'EXACT_MATCH_SECTION'\n\t\t\t\t});\n\t\t\t\tthis.mapTableNameToSourceId.EXACT_MATCH_SECTION = 'Exact Match';\n\t\t\t\tthis.mapSourceIdToSourceData.EXACT_MATCH_SECTION = {\n\t\t\t\t\tname: t('Exact Match'),\n\t\t\t\t\trecord_count: 1,\n\t\t\t\t\trecords: [record],\n\t\t\t\t\tfields: displayFields\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// this is to account for Search All Records\n\t\tthis.resultSectionsRecordLength.push(1);\n\t\tthis.totalResults = this.resultSectionsRecordLength.reduce(\n\t\t\t(count, value) => count + value,\n\t\t\t0\n\t\t);\n\t}\n}\n\nexport default ExactMatchModel;\n","import PropTypes from 'prop-types';\n\nexport const exactMatchDataShape = PropTypes.shape({\n\tdisplayFields: PropTypes.array,\n\terror: PropTypes.object,\n\thasExactMatch: PropTypes.bool,\n\tisFetching: PropTypes.bool,\n\tmetadata: PropTypes.object,\n\trecord: PropTypes.object,\n\tsysId: PropTypes.string,\n\ttable: PropTypes.string,\n\tterm: PropTypes.string\n});\n\nexport const userPreferenceDataShape = PropTypes.shape({\n\tname: PropTypes.string,\n\tvalue: PropTypes.string\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport trim from 'lodash/trim';\nimport debounce from 'lodash/debounce';\n\nimport TypeaheadPopover from './TypeaheadPopover/TypeaheadPopover';\nimport { connectConfig } from '../lib/sn-component-workspace-config';\nimport ExactMatchModel from '../utils/ExactMatchModel';\nimport { canTermMatchExactly } from '../utils/workspaceExactMatchTypeahead';\nimport { EXACT_MATCH_FETCH } from './actions';\nimport { exactMatchDataShape } from './propTypes';\nimport { WINDOW_SIZE } from './constants';\n\nclass ComponentExactMatch extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.exactMatchResultModel = new ExactMatchModel();\n\t\tthis.debouncedRead = debounce(\n\t\t\tthis.readWorkspaceExactMatch,\n\t\t\tprops.readDebounce\n\t\t);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst { data: currentData, readDebounce } = this.props;\n\t\tconst { data: nextData, typeaheadInputValue } = nextProps;\n\n\t\tif (readDebounce !== nextProps.readDebounce) {\n\t\t\tthis.debouncedRead = debounce(\n\t\t\t\tthis.readWorkspaceExactMatch,\n\t\t\t\tnextProps.readDebounce\n\t\t\t);\n\t\t}\n\t\tconst nextDataTerm = get(nextData, 'term');\n\t\tconst currentTerm = trim(get(this.props, 'typeaheadInputValue', ''));\n\t\tif (\n\t\t\tnextData &&\n\t\t\tnextData !== currentData &&\n\t\t\tnextDataTerm === currentTerm\n\t\t)\n\t\t\tthis.exactMatchResultModel = new ExactMatchModel(nextData);\n\t\telse {\n\t\t\tthis.exactMatchResultModel = new ExactMatchModel();\n\t\t\tthis.exactMatchResultModel.term = typeaheadInputValue;\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst currentTerm = trim(get(this.props, 'typeaheadInputValue', ''));\n\t\tconst prevTerm = trim(get(prevProps, 'typeaheadInputValue', ''));\n\n\t\tif (currentTerm !== prevTerm) this.debouncedRead(currentTerm);\n\t}\n\n\treadWorkspaceExactMatch(term) {\n\t\tconst {\n\t\t\thelpers: { dispatch },\n\t\t\tisExactMatchEnabled,\n\t\t\trequestCriterionRegex,\n\t\t\tselectedSearchContext\n\t\t} = this.props;\n\n\t\tif (\n\t\t\t!canTermMatchExactly(\n\t\t\t\tterm,\n\t\t\t\trequestCriterionRegex,\n\t\t\t\tisExactMatchEnabled\n\t\t\t)\n\t\t)\n\t\t\treturn;\n\n\t\tdispatch(EXACT_MATCH_FETCH, {\n\t\t\tterm,\n\t\t\tsearchContextConfigId: selectedSearchContext?.searchDataConfigId ? selectedSearchContext.searchDataConfigId : '',\n\t\t});\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasActiveRecord,\n\t\t\tisVisible,\n\t\t\tnavigateInDirection,\n\t\t\tonActiveRecordUpdate,\n\t\t\tonTypeaheadRecordClick,\n\t\t\tisGlobal,\n\t\t\thelpers: { dispatch },\n\t\t\ttooltipContent,\n\t\t\tshowTooltipOnTruncation,\n\t\t\twindowSize\n\t\t} = this.props;\n\n\t\tconst className = isVisible ? undefined : 'hidden';\n\t\tconst idAttribute = isVisible\n\t\t\t? { id: 'sncwsgs-typeahead-sections' }\n\t\t\t: {};\n\t\tconst isMobileView = WINDOW_SIZE.MOBILE === windowSize;\n\t\t\n\t\treturn (\n\t\t\t<TypeaheadPopover\n\t\t\t\t{...idAttribute}\n\t\t\t\tclassName={className}\n\t\t\t\tonRecordSelect={onTypeaheadRecordClick}\n\t\t\t\tdataModel={this.exactMatchResultModel}\n\t\t\t\tnavigateInDirection={navigateInDirection}\n\t\t\t\tonActiveRecordUpdate={onActiveRecordUpdate}\n\t\t\t\tshowSearchAllSection\n\t\t\t\thasActiveRecord={hasActiveRecord}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tisVisible={isVisible}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\twindowSize={windowSize}\n\t\t\t\tisMobileView={isMobileView}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nComponentExactMatch.propTypes = {\n\tdata: exactMatchDataShape,\n\t// eslint-disable-next-line react/forbid-prop-types\n\thelpers: PropTypes.func.isRequired,\n\ttypeaheadInputValue: PropTypes.string.isRequired,\n\treadDebounce: PropTypes.number.isRequired,\n\trequestCriterionRegex: PropTypes.string.isRequired,\n\n\tisVisible: PropTypes.bool.isRequired,\n\tisExactMatchEnabled: PropTypes.bool.isRequired,\n\n\tnavigateInDirection: PropTypes.string.isRequired,\n\thasActiveRecord: PropTypes.bool.isRequired,\n\tonActiveRecordUpdate: PropTypes.func.isRequired,\n\tonTypeaheadRecordClick: PropTypes.func.isRequired,\n\tisGlobal: PropTypes.bool,\n\twindowSize: PropTypes.string\n};\n\nComponentExactMatch.defaultProps = {\n\tdata: undefined,\n\tisGlobal: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\treadDebounce: config.global_search_config.typeahead_debounce,\n\t\trequestCriterionRegex:\n\t\t\tconfig.global_search_config.exact_match_request_criterion_regex,\n\t\tisExactMatchEnabled: config.global_search_config.exact_match_enabled\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(ComponentExactMatch);\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { connectConfig } from '../lib/sn-component-workspace-config';\nimport { userPreferenceDataShape } from './propTypes';\nimport TypeaheadPopover from './TypeaheadPopover/TypeaheadPopover';\nimport { WINDOW_SIZE } from './constants';\n\nclass ComponentRecentActions extends React.PureComponent {\n\trender() {\n\t\tconst {\n\t\t\tisVisible,\n\t\t\tnavigateInDirection,\n\t\t\tonActiveRecordUpdate,\n\t\t\tonTypeaheadRecordClick,\n\t\t\thasActiveRecord,\n\t\t\tuserPreferences: { typeaheadRecentActionsModel },\n\t\t\thelpers: { dispatch },\n\t\t\tisGlobal,\n\t\t\tuserPreferencesFetching,\n\t\t\ttooltipContent,\n\t\t\tshowTooltipOnTruncation,\n\t\t\twindowSize\n\t\t} = this.props;\n\n\t\tconst isNotVisible = !typeaheadRecentActionsModel.size || !isVisible;\n\n\t\t// don't use the incoming prop if dropdown is not visible\n\t\tconst resolvedNavigateInDirection = isNotVisible\n\t\t\t? ''\n\t\t\t: navigateInDirection;\n\n\t\tconst className = isVisible ? undefined : 'hidden';\n\t\tconst idAttribute = isVisible\n\t\t\t? { id: 'sncwsgs-typeahead-sections' }\n\t\t\t: {};\n\t\tconst isMobileView = WINDOW_SIZE.MOBILE === windowSize;\n\n\t\treturn (\n\t\t\t<TypeaheadPopover\n\t\t\t\t{...idAttribute}\n\t\t\t\tclassName={className}\n\t\t\t\tonRecordSelect={onTypeaheadRecordClick}\n\t\t\t\tdataModel={typeaheadRecentActionsModel}\n\t\t\t\tnavigateInDirection={resolvedNavigateInDirection}\n\t\t\t\thasActiveRecord={hasActiveRecord}\n\t\t\t\tonActiveRecordUpdate={onActiveRecordUpdate}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tisVisible={isVisible}\n\t\t\t\tuserPreferencesFetching={userPreferencesFetching}\n\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\twindowSize={windowSize}\n\t\t\t\tisMobileView={isMobileView}\n\t\t\t/>\n\t\t);\n\t}\n}\n\n/* eslint-disable react/forbid-prop-types */\nComponentRecentActions.propTypes = {\n\tuserPreferences: userPreferenceDataShape,\n\tisVisible: PropTypes.bool.isRequired,\n\tnavigateInDirection: PropTypes.string.isRequired,\n\thasActiveRecord: PropTypes.bool.isRequired,\n\tonActiveRecordUpdate: PropTypes.func.isRequired,\n\tonTypeaheadRecordClick: PropTypes.func.isRequired,\n\tclassName: PropTypes.string,\n\tisGlobal: PropTypes.bool,\n\tuserPreferencesFetching: PropTypes.bool,\n\tshowTooltipOnTruncation: PropTypes.bool.isRequired,\n\ttooltipContent: PropTypes.string.isRequired,\n\twindowSize: PropTypes.string\n};\n\nComponentRecentActions.defaultProps = {\n\tuserPreferences: undefined,\n\tclassName: '',\n\tisGlobal: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\tmaxItemsToShow: config.global_search_config.recent_items_count,\n\t\tmaxTermsToShow: config.global_search_config.recent_terms_count,\n\t\tactionsTTLInDays: config.global_search_config.recent_ttl_in_days\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(ComponentRecentActions);\n","import '@servicenow/now-icon';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { KEY_CODES } from '../../utils/GlobalSearchUtils';\n\nclass Icon extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.iconOnClick = this.iconOnClick.bind(this);\n\t}\n\n\ticonOnClick(event) {\n\t\tconst { onClick } = this.props;\n\t\tif (\n\t\t\ttypeof event.which === 'undefined' ||\n\t\t\t(event.which &&\n\t\t\t\t(event.which === KEY_CODES.RETURN ||\n\t\t\t\t\tevent.which === KEY_CODES.SPACE))\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tonClick(event);\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ticonClassName,\n\t\t\ticonSize,\n\t\t\tbuttonClassName = '',\n\t\t\tariaLabel,\n\t\t\ttabIndex,\n\t\t\tariaExpanded,\n\t\t\tsetRef\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<span\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-expanded={ariaExpanded}\n\t\t\t\taria-controls=\"sncwsgs-typeahead-input\"\n\t\t\t\tonClick={this.iconOnClick}\n\t\t\t\tonKeyDown={this.iconOnClick}\n\t\t\t\tclassName={`${buttonClassName ? ` ${buttonClassName}` : ''}`}\n\t\t\t\tref={(ref) => {\n\t\t\t\t\tsetRef(ref);\n\t\t\t\t}}\n\t\t\t\ttabIndex={tabIndex}>\n\t\t\t\t<now-icon icon={iconClassName} size={iconSize} />\n\t\t\t<\/span>\n\t\t);\n\t}\n}\n\nIcon.propTypes = {\n\ticonClassName: PropTypes.string.isRequired,\n\tonClick: PropTypes.func.isRequired,\n\ticonSize: PropTypes.string,\n\tbuttonClassName: PropTypes.string,\n\tariaLabel: PropTypes.string,\n\ttabIndex: PropTypes.number,\n\tsetRef: PropTypes.func,\n\tariaExpanded: PropTypes.bool\n};\n\nIcon.defaultProps = {\n\tariaLabel: '',\n\tariaExpanded: undefined,\n\tbuttonClassName: undefined,\n\ticonSize: 'sm',\n\ttabIndex: -1,\n\tsetRef: () => undefined\n};\n\nexport default Icon;\n","// nds-scanner-disable-file\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { KEY_CODES } from '../../utils/GlobalSearchUtils';\nimport Icon from './Icon';\nimport AriaLiveRegion from '../../common/AriaLiveRegion';\nimport isEmpty from 'lodash/isEmpty';\nimport createInteractionHandlers from '../../utils/createInteractionhandlers';\nimport { t } from 'sn-translate';\nimport {\n\tDEFAULT_PLACEHODLER,\n\tSEARCH_LABEL,\n\tCLEAR_LABEL,\n\tCONTEXT_SWITCH_TOP_OFFSET,\n\tDROPDOWN_POSITION,\n\tWINDOW_SIZE,\n\tSEARCH_CONTEXT_TRIGGER_LABEL,\n\tGLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH\n} from '../constants';\nexport const SEARCH_ICONS = {\n\tSEARCH: 'magnifyingGlassOutline',\n\tCLEAR_GLOBAL: 'circle-close-outline',\n\tCLEAR: 'closeOutline'\n};\n\nclass SearchInput extends React.PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.onChange = this.onChange.bind(this);\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\n\t\tthis.onKeyPress = this.onKeyPress.bind(this);\n\t}\n\n\tstatic get ICONS() {\n\t\treturn SEARCH_ICONS;\n\t}\n\n\tonChange(event) {\n\t\tconst { onChange } = this.props;\n\t\tconst inputValue = event.target.value;\n\t\tonChange(inputValue);\n\t}\n\n\tonKeyDown(event) {\n\t\tconst {\n\t\t\tonEscapeKeyDown,\n\t\t\tonGeneralKeyDown,\n\t\t\tonDownArrowKeyDown,\n\t\t\tonUpArrowKeyDown\n\t\t} = this.props;\n\n\t\tif (event.which === KEY_CODES.ESCAPE) {\n\t\t\tonEscapeKeyDown(event);\n\t\t} else if (event.which === KEY_CODES.DOWN_ARROW) {\n\t\t\tevent.preventDefault();\n\t\t\tonDownArrowKeyDown(event);\n\t\t} else if (event.which === KEY_CODES.UP_ARROW) {\n\t\t\tevent.preventDefault();\n\t\t\tonUpArrowKeyDown(event);\n\t\t}\n\n\t\tif (\n\t\t\tevent.which !== KEY_CODES.ESCAPE &&\n\t\t\tevent.which !== KEY_CODES.RETURN\n\t\t) {\n\t\t\tonGeneralKeyDown(event);\n\t\t}\n\t}\n\n\tonKeyPress(event) {\n\t\tconst { onSubmit, value } = this.props;\n\t\tif (event.which === KEY_CODES.RETURN) {\n\t\t\tonSubmit(value);\n\t\t}\n\t}\n\tgetGlobalTypeAheadButtonClassName(typeAheadButtonClassName, isExpanded) {\n\t\tconst { isGlobal, isLegacyWorkspace } = this.props;\n\t\tlet globalTypeAheadButtonClassName;\n\t\tif (typeAheadButtonClassName.includes('sn-global-typeahead-btn')) {\n\t\t\tglobalTypeAheadButtonClassName = isExpanded\n\t\t\t\t? isGlobal\n\t\t\t\t\t? `${typeAheadButtonClassName} -search is-selected -global`\n\t\t\t\t\t: `${typeAheadButtonClassName} -search`\n\t\t\t\t: !isLegacyWorkspace && !isExpanded\n\t\t\t\t\t? isGlobal\n\t\t\t\t\t\t? `${typeAheadButtonClassName} -search -global-mobile`\n\t\t\t\t\t\t: `${typeAheadButtonClassName} -search -uib`\n\t\t\t\t\t: `${typeAheadButtonClassName} -search`;\n\t\t}\n\t\treturn globalTypeAheadButtonClassName;\n\t}\n\tgetGlobalControlContainerClassName(\n\t\tcontrolContainerClassName,\n\t\tisExpanded,\n\t\tactiveSearchInputState\n\t) {\n\t\tconst {\n\t\t\tisGlobal,\n\t\t\tinputClicked,\n\t\t\tisCollapsedView,\n\t\t\tdefaultStateGlobalView,\n\t\t\twindowSize\n\t\t} = this.props;\n\t\tlet globalControlContainerClassName;\n\t\tif (\n\t\t\tcontrolContainerClassName.includes(\n\t\t\t\t'sn-global-typeahead-control-container'\n\t\t\t)\n\t\t) {\n\t\t\tglobalControlContainerClassName = `${controlContainerClassName}${isGlobal && isExpanded\n\t\t\t\t? activeSearchInputState\n\t\t\t\t\t? windowSize == WINDOW_SIZE.MOBILE\n\t\t\t\t\t\t? ' -global-active-input-mobile-view'\n\t\t\t\t\t\t: ' -global-active-input'\n\t\t\t\t\t: isCollapsedView && !defaultStateGlobalView\n\t\t\t\t\t\t? ' -global-mobile-view'\n\t\t\t\t\t\t: ' -global'\n\t\t\t\t: ''\n\t\t\t\t}`;\n\t\t}\n\t\treturn globalControlContainerClassName;\n\t}\n\n\tgetGlobalTypeAheadControlClassName(\n\t\ttypeAheadControlClassName,\n\t\tactiveSearchInputState,\n\t\thasText\n\t) {\n\t\tconst {\n\t\t\tisGlobal,\n\t\t\tinputClicked,\n\t\t\tisCollapsedView,\n\t\t\tdefaultStateGlobalView,\n\t\t\twindowSize\n\t\t} = this.props;\n\t\tlet globalTypeaheadControlClassName;\n\n\t\tif (typeAheadControlClassName.includes('sn-global-typeahead-control')) {\n\t\t\tglobalTypeaheadControlClassName = `${typeAheadControlClassName}${isGlobal\n\t\t\t\t? !activeSearchInputState &&\n\t\t\t\t\thasText &&\n\t\t\t\t\twindowSize != WINDOW_SIZE.MOBILE\n\t\t\t\t\t? ' -global-default-state'\n\t\t\t\t\t: isCollapsedView && !defaultStateGlobalView\n\t\t\t\t\t\t? ' -global-mobile-view'\n\t\t\t\t\t\t: ' -global'\n\t\t\t\t: ' -uib-legacy'\n\t\t\t\t}`;\n\t\t}\n\t\treturn globalTypeaheadControlClassName;\n\t}\n\trender() {\n\t\tconst {\n\t\t\tvalue,\n\t\t\tisDropdownVisible,\n\t\t\tisExpanded,\n\t\t\tisDisabled,\n\t\t\tbindInputRef,\n\t\t\tonBlur,\n\t\t\tonFocus,\n\t\t\tonClearIconClick,\n\t\t\tonSearchIconClick,\n\t\t\tariaActiveDescendant,\n\t\t\tariaLiveText,\n\t\t\tisLegacyWorkspace,\n\t\t\tsearchInputPlaceholder,\n\t\t\tsearchContexts,\n\t\t\tselectedSearchContext,\n\t\t\tcontextDropdownOpened,\n\t\t\tsearchTerm,\n\t\t\tisGlobal,\n\t\t\tinputClicked,\n\t\t\tisCollapsedView,\n\t\t\tdefaultStateGlobalView,\n\t\t\twindowSize,\n\t\t\tsearchExpanded\n\t\t} = this.props;\n\n\t\tconst hasText =\n\t\t\t(typeof value === 'string' && value.length > 0) ||\n\t\t\tsearchTerm.length > 0;\n\n\t\tconst activeSearchInputState = inputClicked\n\t\t\t? true\n\t\t\t: contextDropdownOpened\n\t\t\t\t? true\n\t\t\t\t: false;\n\n\t\t// for UIB workspaces, we want different padding around the search button\n\t\tconst searchButtonClassName = this.getGlobalTypeAheadButtonClassName(\n\t\t\t'sn-global-typeahead-btn',\n\t\t\tisExpanded\n\t\t);\n\t\tconst showMobileSearchButton =\n\t\t\tisCollapsedView && !inputClicked && !defaultStateGlobalView;\n\n\t\tconst selectedContext = !isEmpty(selectedSearchContext)\n\t\t\t? selectedSearchContext.id\n\t\t\t: searchContexts.length > 0\n\t\t\t\t? searchContexts[0].id\n\t\t\t\t: '';\n\n\t\tconst searchInputPlaceholderText =\n\t\t\tisGlobal && activeSearchInputState\n\t\t\t\t? t('Search {0}', selectedSearchContext.label)\n\t\t\t\t: !isEmpty(searchInputPlaceholder)\n\t\t\t\t\t? searchInputPlaceholder\n\t\t\t\t\t: DEFAULT_PLACEHODLER;\n\n\t\tconst showContextDropdown =\n\t\t\tisExpanded && isGlobal && searchContexts.length > 1;\n\n\t\tconst globalClearButton = isExpanded &&\n\t\t\tactiveSearchInputState &&\n\t\t\thasText &&\n\t\t\tisGlobal && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={'sn-global-typeahead-btn -clear -global'}\n\t\t\t\t\taria-label={CLEAR_LABEL}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t{...createInteractionHandlers(onClearIconClick)}>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon=\"circle-close-outline\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t/>\n\t\t\t\t<\/span>\n\t\t\t);\n\n\t\tconst globalSearchButton = isGlobal && !showMobileSearchButton && (\n\t\t\t<span\n\t\t\t\tclassName={`sn-global-typeahead-searchIcon${activeSearchInputState\n\t\t\t\t\t? isCollapsedView\n\t\t\t\t\t\t? ' -is-global-mobile-view'\n\t\t\t\t\t\t: ' -global-active-input'\n\t\t\t\t\t: ' -global'\n\t\t\t\t\t}`}>\n\t\t\t\t<now-icon\n\t\t\t\t\ticon=\"magnifying-glass-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t/>\n\t\t\t<\/span>\n\t\t);\n\n\t\tconst ariaOwns = isDropdownVisible\n\t\t\t? { 'aria-owns': 'sncwsgs-typeahead-sections' }\n\t\t\t: {};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.getGlobalControlContainerClassName(\n\t\t\t\t\t'sn-global-typeahead-control-container',\n\t\t\t\t\tisExpanded,\n\t\t\t\t\tactiveSearchInputState\n\t\t\t\t)}\n\t\t\t\trole=\"search\">\n\t\t\t\t{globalSearchButton}\n\t\t\t\t{(showMobileSearchButton || !isGlobal) && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticonSize={showMobileSearchButton ? 'md' : 'lg'}\n\t\t\t\t\t\tonClick={onSearchIconClick}\n\t\t\t\t\t\tbuttonClassName={\n\t\t\t\t\t\t\tisExpanded\n\t\t\t\t\t\t\t\t? isCollapsedView\n\t\t\t\t\t\t\t\t\t? `${searchButtonClassName} is-global-mobile-view`\n\t\t\t\t\t\t\t\t\t: `${searchButtonClassName} is-focus is-selected`\n\t\t\t\t\t\t\t\t: searchButtonClassName\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetRef={(ref) => {\n\t\t\t\t\t\t\tthis.searchIconRef = ref;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticonClassName={SearchInput.ICONS.SEARCH}\n\t\t\t\t\t\ttooltipContent={SEARCH_LABEL}\n\t\t\t\t\t\tariaLabel={SEARCH_LABEL}\n\t\t\t\t\t\t{...(!isExpanded && { tabIndex: 0 })}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.getGlobalTypeAheadControlClassName(\n\t\t\t\t\t\t'sn-global-typeahead-control',\n\t\t\t\t\t\tactiveSearchInputState,\n\t\t\t\t\t\thasText\n\t\t\t\t\t)}>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclassName={`sn-global-typeahead-input${isGlobal\n\t\t\t\t\t\t\t? activeSearchInputState\n\t\t\t\t\t\t\t\t? ' -global-active-input'\n\t\t\t\t\t\t\t\t: ' -global'\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tname=\"sncwsgs-typeahead-input\"\n\t\t\t\t\t\tid=\"sncwsgs-typeahead-input\"\n\t\t\t\t\t\tplaceholder={searchInputPlaceholderText}\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\taria-label={searchInputPlaceholder}\n\t\t\t\t\t\taria-hidden={!isExpanded}\n\t\t\t\t\t\taria-expanded={searchExpanded}\n\t\t\t\t\t\taria-autocomplete=\"both\"\n\t\t\t\t\t\taria-controls= 'sncwsgs-typeahead-input'\n\t\t\t\t\t\t{...((ariaActiveDescendant && activeSearchInputState) && {\n\t\t\t\t\t\t\t'aria-activedescendant': [ariaActiveDescendant]\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{...ariaOwns}\n\t\t\t\t\t\taria-describedby=\"sncwsgs-typeahead-instructions\"\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\tref={bindInputRef}\n\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\tonKeyPress={this.onKeyPress}\n\t\t\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t{...(!isExpanded && { tabIndex: -1 })}\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t/>\n\t\t\t\t\t<AriaLiveRegion message={ariaLiveText} />\n\t\t\t\t\t{globalClearButton}\n\t\t\t\t\t{isExpanded && hasText && !isGlobal && (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticonSize=\"sm\"\n\t\t\t\t\t\t\tbuttonClassName=\"sn-global-typeahead-btn -clear\"\n\t\t\t\t\t\t\ticonClassName={SearchInput.ICONS.CLEAR}\n\t\t\t\t\t\t\tariaLabel={CLEAR_LABEL}\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={onClearIconClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{showContextDropdown && (\n\t\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-label': SEARCH_CONTEXT_TRIGGER_LABEL\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tid=\"global-search-context-control\"\n\t\t\t\t\t\t\tclassName=\"context-dropdown-container\"\n\t\t\t\t\t\t\tselect=\"single\"\n\t\t\t\t\t\t\titems={searchContexts}\n\t\t\t\t\t\t\tselectedItems={[selectedContext]}\n\t\t\t\t\t\t\tmanageOpened\n\t\t\t\t\t\t\topened={contextDropdownOpened}\n\t\t\t\t\t\t\tpanelFitProps={{\n\t\t\t\t\t\t\t\tposition: DROPDOWN_POSITION,\n\t\t\t\t\t\t\t\toffset: CONTEXT_SWITCH_TOP_OFFSET,\n\t\t\t\t\t\t\t\tconstrain:\n\t\t\t\t\t\t\t\t\twindowSize === WINDOW_SIZE.MOBILE\n\t\t\t\t\t\t\t\t\t\t? GLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\thideLabel\n\t\t\t\t\t\t\ttooltipContent={SEARCH_CONTEXT_TRIGGER_LABEL}>\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\tslot=\"trigger-content\"\n\t\t\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\t\t\tclassName={`dropdown-search-context${\n\t\t\t\t\t\t\t\t\tactiveSearchInputState\n\t\t\t\t\t\t\t\t\t\t? ' -global-active-input'\n\t\t\t\t\t\t\t\t\t\t: ' -global'\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/now-dropdown>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t\t<now-tooltip\n\t\t\t\t\ttarget-ref={this.searchIconRef}\n\t\t\t\t\tcontent={SEARCH_LABEL}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nSearchInput.propTypes = {\n\tonFocus: PropTypes.func.isRequired,\n\tonBlur: PropTypes.func.isRequired,\n\tonSubmit: PropTypes.func.isRequired,\n\tonChange: PropTypes.func.isRequired,\n\tonDownArrowKeyDown: PropTypes.func.isRequired,\n\tonUpArrowKeyDown: PropTypes.func.isRequired,\n\tonEscapeKeyDown: PropTypes.func.isRequired,\n\tonSearchIconClick: PropTypes.func.isRequired,\n\tonClearIconClick: PropTypes.func.isRequired,\n\tonGeneralKeyDown: PropTypes.func.isRequired,\n\tbindInputRef: PropTypes.func.isRequired,\n\tvalue: PropTypes.string,\n\tisExpanded: PropTypes.bool,\n\tisDropdownVisible: PropTypes.bool,\n\tisDisabled: PropTypes.bool,\n\tariaActiveDescendant: PropTypes.string,\n\tariaLiveText: PropTypes.string,\n\tisLegacyWorkspace: PropTypes.bool,\n\tsearchInputPlaceholder: PropTypes.string,\n\tsearchTerm: PropTypes.string,\n\tselectedSearchContext: PropTypes.object,\n\tsearchContexts: PropTypes.array,\n\tcontextDropdownOpened: PropTypes.bool,\n\tinputClicked: PropTypes.bool,\n\tisCollapsedView: PropTypes.bool,\n\tdefaultStateGlobalView: PropTypes.bool,\n\twindowSize: PropTypes.string\n};\n\nSearchInput.defaultProps = {\n\tvalue: '',\n\tisExpanded: false,\n\tisDropdownVisible: false,\n\tisDisabled: false,\n\tariaActiveDescendant: '',\n\tariaLiveText: '',\n\tisLegacyWorkspace: undefined,\n\tsearchInputPlaceholder: DEFAULT_PLACEHODLER,\n\tsearchTerm: '',\n\tsearchContexts: [],\n\tselectedSearchContext: undefined,\n\tcontextDropdownOpened: false,\n\tinputClicked: false,\n\tisCollapsedView: false,\n\tdefaultStateGlobalView: false\n};\n\nexport default SearchInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport { connectConfig } from '../../lib/sn-component-workspace-config';\nimport createInteractionHandlers from '../../utils/createInteractionhandlers';\nimport SearchInput from './SearchInput';\nimport { exactMatchDataShape } from '../propTypes';\nimport {\n\tisExactMatchPresent,\n\thasExactMatchReadingFinished\n} from '../../utils/workspaceExactMatchTypeahead';\nimport { DEFAULT_PLACEHODLER, WINDOW_SIZE, CANCEL_LABEL } from '../constants';\n\nconst getAriaSelectedId = (ariaSelected) => {\n\tconst { sectionIndex, recordIndex } = ariaSelected;\n\tif (sectionIndex === -1 && recordIndex === -1) return '';\n\n\treturn `sncwsgs-typeahead-record-${sectionIndex}-${recordIndex}`;\n};\n\nconst getAriaLiveText = (props) => {\n\tconst { typeaheadInputValue } = props;\n\n\tif (\n\t\t!hasExactMatchReadingFinished(\n\t\t\tprops,\n\t\t\ttypeaheadInputValue,\n\t\t\tprops.requestCriterionRegex\n\t\t)\n\t)\n\t\treturn '';\n\n\tif (isExactMatchPresent(props, typeaheadInputValue))\n\t\treturn t('Exact match found. Press Enter to navigate to record.');\n\n\treturn t('No exact match. Press Enter for full results.');\n};\n\nclass ComponentTypeaheadInput extends React.Component {\n\tstatic getAriaSelectedId(ariaSelected) {\n\t\tconst { sectionIndex, recordIndex } = ariaSelected;\n\t\tif (sectionIndex === -1 && recordIndex === -1) return '';\n\n\t\treturn `sncwsgs-typeahead-record-${sectionIndex}-${recordIndex}`;\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.inputElement = null;\n\n\t\tthis.onChange = this.onChange.bind(this);\n\t\tthis.onFocus = this.onFocus.bind(this);\n\t\tthis.onBlur = this.onBlur.bind(this);\n\t\tthis.onSubmit = this.onSubmit.bind(this);\n\n\t\tthis.onSearchIconClick = this.onSearchIconClick.bind(this);\n\t\tthis.onClearIconClick = this.onClearIconClick.bind(this);\n\t\tthis.onGeneralKeyDown = this.onGeneralKeyDown.bind(this);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst { typeaheadInputValue } = this.props;\n\t\tif (\n\t\t\tthis.inputElement &&\n\t\t\tnextProps.typeaheadInputValue !== typeaheadInputValue &&\n\t\t\tnextProps.typeaheadInputValue !== this.inputElement.value\n\t\t) {\n\t\t\tthis.inputElement.value = nextProps.typeaheadInputValue;\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tconst { handleBlur } = this.props;\n\t\thandleBlur();\n\t}\n\n\tonFocus() {\n\t\tconst { handleFocus, inputClicked } = this.props;\n\t\thandleFocus();\n\t}\n\n\tonChange(value) {\n\t\tconst { handleChange } = this.props;\n\t\thandleChange(value);\n\t}\n\n\tonSubmit(value) {\n\t\tconst { onInputSubmit, isGlobal } = this.props;\n\t\tonInputSubmit(value.trim());\n\t\tif (isGlobal) {\n\t\t\tthis.inputElement.blur();\n\t\t}\n\t}\n\n\tonSearchIconClick() {\n\t\tconst {\n\t\t\tisDisabled,\n\t\t\tsearchExpanded,\n\t\t\thandleSearchIconClick\n\t\t} = this.props;\n\t\tif (isDisabled) return;\n\n\t\tif (this.inputElement) {\n\t\t\thandleSearchIconClick();\n\t\t\tif (!searchExpanded) {\n\t\t\t\tthis.inputElement.focus();\n\t\t\t} else {\n\t\t\t\tthis.inputElement.blur();\n\t\t\t}\n\t\t}\n\t}\n\n\tonClearIconClick() {\n\t\tconst { isDisabled, handleClearIconClick } = this.props;\n\n\t\tif (isDisabled) return;\n\n\t\thandleClearIconClick();\n\t\tif (this.inputElement) {\n\t\t\tthis.inputElement.focus();\n\t\t\tthis.inputElement.value = '';\n\t\t}\n\t}\n\n\tonGeneralKeyDown() {\n\t\tconst { searchExpanded, handleGeneralKeyDown } = this.props;\n\t\tif (searchExpanded) {\n\t\t\thandleGeneralKeyDown();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tariaSelected,\n\t\t\tonDownArrowKeyDown,\n\t\t\tonUpArrowKeyDown,\n\t\t\tonEscapeKeyDown,\n\t\t\ttypeaheadInputValue,\n\t\t\tsearchExpanded,\n\t\t\tdropdownVisible,\n\t\t\tisDisabled,\n\t\t\tisLegacyWorkspace,\n\t\t\tsearchInputPlaceholder,\n\t\t\tsearchContexts,\n\t\t\tselectedSearchContext,\n\t\t\tcontextDropdownOpened,\n\t\t\tsearchTerm,\n\t\t\tisGlobal,\n\t\t\tinputClicked,\n\t\t\tisCollapsedView,\n\t\t\thandleCancelButtonClick,\n\t\t\tdefaultStateGlobalView,\n\t\t\twindowSize\n\t\t} = this.props;\n\t\treturn (\n\t\t\t<div className=\"searchinput-cancel-button-wrapper\">\n\t\t\t\t<SearchInput\n\t\t\t\t\tvalue={typeaheadInputValue}\n\t\t\t\t\tisExpanded={\n\t\t\t\t\t\tisGlobal && !isCollapsedView ? true : searchExpanded\n\t\t\t\t\t}\n\t\t\t\t\tisDropdownVisible={dropdownVisible}\n\t\t\t\t\tisDisabled={isDisabled}\n\t\t\t\t\tonFocus={this.onFocus}\n\t\t\t\t\tonBlur={this.onBlur}\n\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\tonSubmit={this.onSubmit}\n\t\t\t\t\tonDownArrowKeyDown={onDownArrowKeyDown}\n\t\t\t\t\tonUpArrowKeyDown={onUpArrowKeyDown}\n\t\t\t\t\tonEscapeKeyDown={onEscapeKeyDown}\n\t\t\t\t\tonGeneralKeyDown={this.onGeneralKeyDown}\n\t\t\t\t\tonSearchIconClick={this.onSearchIconClick}\n\t\t\t\t\tonClearIconClick={this.onClearIconClick}\n\t\t\t\t\tbindInputRef={(input) => {\n\t\t\t\t\t\tthis.inputElement = input;\n\t\t\t\t\t}}\n\t\t\t\t\tariaActiveDescendant={getAriaSelectedId(ariaSelected)}\n\t\t\t\t\tariaLiveText={getAriaLiveText(this.props)}\n\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\tsearchInputPlaceholder={searchInputPlaceholder}\n\t\t\t\t\tsearchContexts={searchContexts}\n\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\tcontextDropdownOpened={contextDropdownOpened}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tinputClicked={inputClicked}\n\t\t\t\t\tdefaultStateGlobalView={defaultStateGlobalView}\n\t\t\t\t\tisCollapsedView={isCollapsedView}\n\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\tsearchExpanded={searchExpanded}\n\t\t\t\t/>\n\t\t\t\t{windowSize == WINDOW_SIZE.MOBILE && searchExpanded && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"cancel-button-mobile-view\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t{...createInteractionHandlers(handleCancelButtonClick)}>\n\t\t\t\t\t\t{CANCEL_LABEL}\n\t\t\t\t\t<\/span>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t}\n}\n\nComponentTypeaheadInput.propTypes = {\n\ttypeaheadInputValue: PropTypes.string,\n\tsearchExpanded: PropTypes.bool,\n\tinputClicked: PropTypes.bool,\n\tdefaultStateGlobalView: PropTypes.bool,\n\tdropdownVisible: PropTypes.bool,\n\tisDisabled: PropTypes.bool,\n\thandleBlur: PropTypes.func.isRequired,\n\thandleFocus: PropTypes.func.isRequired,\n\thandleChange: PropTypes.func.isRequired,\n\thandleSearchIconClick: PropTypes.func.isRequired,\n\thandleClearIconClick: PropTypes.func.isRequired,\n\thandleGeneralKeyDown: PropTypes.func.isRequired,\n\thandleCancelButtonClick: PropTypes.func.isRequired,\n\tonUpArrowKeyDown: PropTypes.func.isRequired,\n\tonDownArrowKeyDown: PropTypes.func.isRequired,\n\tonInputSubmit: PropTypes.func.isRequired,\n\tonEscapeKeyDown: PropTypes.func.isRequired,\n\tariaSelected: PropTypes.shape({\n\t\tsectionIndex: PropTypes.number.isRequired,\n\t\trecordIndex: PropTypes.number.isRequired\n\t}),\n\t// eslint-disable-next-line react/no-unused-prop-types\n\texactMatch: exactMatchDataShape,\n\tisLegacyWorkspace: PropTypes.bool,\n\tsearchInputPlaceholder: PropTypes.string,\n\tsearchTerm: PropTypes.string,\n\tsearchContexts: PropTypes.array,\n\tselectedSearchContext: PropTypes.object,\n\tcontextDropdownOpened: PropTypes.bool,\n\tisGlobal: PropTypes.bool,\n\tisCollapsedView: PropTypes.bool,\n\twindowSize: PropTypes.string\n};\n\nComponentTypeaheadInput.defaultProps = {\n\ttypeaheadInputValue: '',\n\tsearchExpanded: false,\n\tdropdownVisible: false,\n\tisDisabled: false,\n\tariaSelected: {\n\t\tsectionIndex: -1,\n\t\trecordIndex: -1\n\t},\n\texactMatch: undefined,\n\tisLegacyWorkspace: undefined,\n\tsearchInputPlaceholder: DEFAULT_PLACEHODLER,\n\tsearchContexts: [],\n\tselectedSearchContext: undefined,\n\tsearchTerm: undefined,\n\tcontextDropdownOpened: false,\n\tisGlobal: undefined,\n\tinputClicked: false,\n\tdefaultStateGlobalView: false,\n\tisCollapsedView: false\n};\n\nfunction mapConfigToProps(config) {\n\treturn {\n\t\trequestCriterionRegex:\n\t\t\tconfig.global_search_config.exact_match_request_criterion_regex\n\t};\n}\n\nexport default connectConfig(mapConfigToProps)(ComponentTypeaheadInput);\n","export default function requestIdleCallback(...args) {\n\treturn (window.requestIdleCallback || window.setTimeout)(...args);\n}","import requestIdleCallback from './requestIdleCallback';\n\nconst inMemoryCache = new Map();\nconst cache = {\n\tget(key) {\n\t\tlet item = inMemoryCache.get(key);\n\t\tif (item)\n\t\t\treturn item;\n\n\t\titem = window.localStorage.getItem(`searchConfig_${key}`)\n\t\treturn item ? JSON.parse(item) : null;\n\t},\n\tset(key, value) {\n\t\tinMemoryCache.set(key, value);\n\t\trequestIdleCallback(() => {\n\t\t\ttry {\n\t\t\t\twindow.localStorage.setItem(`searchConfig_${key}`, JSON.stringify(value));\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(`view config ${key} could not be cached`); // eslint-disable-line no-console\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport default cache;","/* eslint-disable prettier/prettier */\n/* eslint-disable no-undef */\nimport get from 'lodash/get';\nimport merge from 'lodash/merge';\nimport omit from 'lodash/omit';\nimport trim from 'lodash/trim';\nimport isEmpty from 'lodash/isEmpty';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { getProperty } from 'sn-uxpage-presource';\nimport getBehaviorProp from '../behaviors/util/getBehaviorProp';\nimport { GLOBAL_SEARCH_CONFIG, USER_PREFERENCE } from '../behaviors';\nimport { ConfigProvider } from '../lib/sn-component-workspace-config';\nimport ErrorBoundary from '../utils/ErrorBoundary';\nimport GlobalSearchUtils from '../utils/GlobalSearchUtils';\nimport PresourceDefaults from '../utils/PresourceDefaults';\nimport {\n\thasExactMatchReadingFinished,\n\tisExactMatchPresent\n} from '../utils/workspaceExactMatchTypeahead';\nimport { USER_PREFERENCES_FETCH, FIT_RESIZE, FETCH_ALL_CONFIGURATIONS } from './actions';\nimport ComponentExactMatch from './ComponentExactMatch';\nimport ComponentRecentActions from './ComponentRecentActions';\nimport ComponentTypeaheadInput from './ComponentTypeaheadInput/ComponentTypeaheadInput';\nimport { exactMatchDataShape, userPreferenceDataShape } from './propTypes';\nimport TypeaheadRecord from './TypeaheadPopover/TypeaheadRecord';\nimport style from './_componentWorkspaceGlobalSearchTypeahead.scss';\nimport {\n\tCLICK,\n\tKEYDOWN,\n\tSEARCH_LABEL,\n\tTAB_KEY_CODE,\n\tWINDOW_SIZE\n} from './constants';\nimport cache from '../utils/configCache';\n\nconst GLOBAL_SEARCH_TYPEAHEAD_DEFAULT_LOCAL_PROPS = {\n\ttypeaheadInputValue: '',\n\tdropdownVisible: false,\n\tsearchExpanded: false,\n\tisDisabled: false,\n\tinputClicked: false,\n\tdefaultStateGlobalView: false\n};\n\nconst ENUM_TYPEAHEAD_MODES = {\n\tRESULTS: 'results',\n\tRECENT_ACTIONS: 'recent_actions',\n\tEXACT_MATCH: 'exact_match'\n};\n\nconst configFromSysProperties = () => {\n\tconst globalSearchConfig = {};\n\tconst typeaheadDebounce = GlobalSearchUtils.getSysPropertyAsNumber(\n\t\t'com.snc.agent_workspace.global_search.typeahead.debounce'\n\t);\n\tif (typeaheadDebounce)\n\t\tglobalSearchConfig.typeahead_debounce = typeaheadDebounce;\n\n\tconst exactMatchRequestCriterionRegex = getProperty(\n\t\t'com.snc.agent_workspace.global_search.typeahead.exact_match_request_criterion_regex'\n\t);\n\tif (exactMatchRequestCriterionRegex)\n\t\tglobalSearchConfig.exact_match_request_criterion_regex = exactMatchRequestCriterionRegex;\n\n\treturn { global_search_config: globalSearchConfig };\n};\n\nconst getGlobalSearchConfigPresourceData = (props) =>\n\tgetBehaviorProp(props, GLOBAL_SEARCH_CONFIG);\nconst getUserPreferencePresourceData = (props) =>\n\tgetBehaviorProp(props, USER_PREFERENCE);\n\nclass ComponentWorkspaceGlobalSearchTypeahead extends React.Component {\n\tstatic get DEFAULT_LOCAL_PROPS() {\n\t\treturn GLOBAL_SEARCH_TYPEAHEAD_DEFAULT_LOCAL_PROPS;\n\t}\n\n\tstatic get MODES() {\n\t\treturn ENUM_TYPEAHEAD_MODES;\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst {\n\t\t\tproperties: { searchTerm }\n\t\t} = props;\n\t\tthis.state = {\n\t\t\tnavigateInDirection: '',\n\t\t\thasActiveRecord: false,\n\t\t\tactiveRecord: {},\n\t\t\tariaSelected: {\n\t\t\t\trecordIndex: -1,\n\t\t\t\tsectionIndex: -1\n\t\t\t},\n\t\t\tdropdownVisible: false,\n\t\t\tisDisabled: false,\n\t\t\ttypeaheadInputValue: searchTerm ? searchTerm : '',\n\t\t\tsearchExpanded: false,\n\t\t\tinputClicked: false,\n\t\t\tclearClicked: false,\n\t\t\tdefaultStateGlobalView: false,\n\t\t\tisCollapsedView: props.properties.windowSize != WINDOW_SIZE.EXPANDED\n\t\t};\n\n\t\tthis.onSearchInputSubmit = this.onSearchInputSubmit.bind(this);\n\t\tthis.onSearchInputEscapeKeyDown = this.onSearchInputEscapeKeyDown.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onTypeaheadRecordClick = this.onTypeaheadRecordClick.bind(this);\n\t\tthis.onActiveRecordUpdate = this.onActiveRecordUpdate.bind(this);\n\t\tthis.setNavigationDirection = this.setNavigationDirection.bind(this);\n\t\tthis.clearActiveRecord = this.clearActiveRecord.bind(this);\n\t\tthis.handleBlur = this.handleBlur.bind(this);\n\t\tthis.handleFocus = this.handleFocus.bind(this);\n\t\tthis.handleChange = this.handleChange.bind(this);\n\t\tthis.handleSearchIconClick = this.handleSearchIconClick.bind(this);\n\t\tthis.handleClearIconClick = this.handleClearIconClick.bind(this);\n\t\tthis.handleGeneralKeyDown = this.handleGeneralKeyDown.bind(this);\n\t\tthis.getResolvedConfig = this.getResolvedConfig.bind(this);\n\t\tthis.handleOutClick = this.handleOutClick.bind(this);\n\t\tthis.handleTabKeyPress = this.handleTabKeyPress.bind(this);\n\t\tthis.handleCancelButtonClick = this.handleCancelButtonClick.bind(this);\n\t\tthis.updateInputStateOnSubmit = this.updateInputStateOnSubmit.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.updateInputStateOnClose = this.updateInputStateOnClose.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener(CLICK, this.handleOutClick, true);\n\t\tdocument.addEventListener(KEYDOWN, this.handleTabKeyPress, false);\n\t\tthis.setState({ isDisabled: false });\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener(CLICK, this.handleOutClick, true);\n\t\tdocument.removeEventListener(KEYDOWN, this.handleTabKeyPress, false);\n\t}\n\t/**\n\t *** Polaris ON Input States ***\n\t * A: Default State with inactive input with Search Placeholder\n\t`* B: Default State with inactive input with Search term\n\t * C: Active Input State\n\t * D: Collapsed Input with search button\n\t * E: Input with cancel button\n\t * F: Collapsed input with search term in it\n\n\t * Different behaviors:\n\t\twindowSize is Expanded :\n\t\t\t1. On Launch State A\n\t\t\t2. Upon search term submit display state B\n\t\t\t3. Upon selecting Typeahead Recently Clicked item State B\n\t\t\t4. Upon selecting Typeahead Recently Viewed item State A\n\t\twindowSize is Collapsed\n\t\t\t1. Launch State D\n\t\t\t2. Upon search term submit display state B\n\t\t\t3. Upon selecting Typeahead Recently Clicked item State B\n\t\t\t4. Upon selecting Typeahead Recently Viewed item State D\n\t\t\t5. Upon refresh with search term State F\n\t\twindowSize is Mobile\n\t\t\t1. Launch State D\n\t\t\t2. Upon Input Active State E\n\t\t\t3. Upon selecting Typeahead Recently Clicked item State F\n\t\t\t4. Upon selecting Typeahead Recently Viewed item State D\n\t**/\n\n\tcomponentDidUpdate(_prevProps, prevState) {\n\t\tconst { isDisabled: prevDisabled } = prevState;\n\t\tconst { isDisabled: currDisabled, typeaheadInputValue } = this.state;\n\t\tconst {\n\t\t\texactMatch,\n\t\t\tproperties: {\n\t\t\t\tsearchTerm: currSearchTerm,\n\t\t\t\twindowSize: currWindowSize\n\t\t\t}\n\t\t} = this.props;\n\t\tconst {\n\t\t\tproperties: { searchTerm: prevSearchTerm }\n\t\t} = _prevProps;\n\n\t\t// enable input if disabled and exact match reading is finished\n\t\tif (\n\t\t\tprevDisabled &&\n\t\t\tcurrDisabled &&\n\t\t\t!isEmpty(exactMatch) &&\n\t\t\t!exactMatch.isFetching\n\t\t) {\n\t\t\tthis.setState({ isDisabled: false });\n\t\t\tthis.onSearchInputSubmitAction(typeaheadInputValue);\n\t\t}\n\n\t\t// Update term when props change upon after refresh\n\t\tif (prevSearchTerm !== currSearchTerm) {\n\t\t\tthis.setState({\n\t\t\t\ttypeaheadInputValue: currSearchTerm\n\t\t\t});\n\n\t\t\t// This check is for when the windowSize is updated after the term is searched and refreshed\n\t\t\tif (currWindowSize !== WINDOW_SIZE.EXPANDED) {\n\t\t\t\tif (isEmpty(typeaheadInputValue)) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\t\tsearchExpanded: false,\n\t\t\t\t\t\tinputClicked: false,\n\t\t\t\t\t\tdefaultStateGlobalView: false\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tsearchExpanded: true,\n\t\t\t\t\t\tdefaultStateGlobalView: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst { typeaheadInputValue } = this.state;\n\n\t\tconst {\n\t\t\tproperties: {\n\t\t\t\twindowSize: currWindowSize,\n\t\t\t\tsearchTerm: currSearchTerm\n\t\t\t}\n\t\t} = this.props;\n\t\tconst {\n\t\t\tproperties: {\n\t\t\t\twindowSize: nextWindowSize,\n\t\t\t\tsearchTerm: nextSearchTerm\n\t\t\t}\n\t\t} = nextProps;\n\n\t\tif (nextSearchTerm !== currSearchTerm) {\n\t\t\tthis.setState({\n\t\t\t\ttypeaheadInputValue: nextSearchTerm\n\t\t\t});\n\t\t}\n\t\tif (currWindowSize !== nextWindowSize) {\n\t\t\tthis.setState({\n\t\t\t\tisCollapsedView: nextWindowSize != WINDOW_SIZE.EXPANDED\n\t\t\t});\n\n\t\t\tif (nextWindowSize !== WINDOW_SIZE.EXPANDED) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\tsearchExpanded: false,\n\t\t\t\t\tinputClicked: false,\n\t\t\t\t\tdefaultStateGlobalView: false\n\t\t\t\t});\n\n\t\t\t\tif (\n\t\t\t\t\tnextWindowSize === WINDOW_SIZE.COLLAPSED &&\n\t\t\t\t\t!isEmpty(typeaheadInputValue)\n\t\t\t\t) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tsearchExpanded: true,\n\t\t\t\t\t\tdefaultStateGlobalView: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\thandleOutClick = (event) => {\n\t\tconst {\n\t\t\tproperties: { isGlobal }\n\t\t} = this.props;\n\t\tif (isGlobal) {\n\t\t\tconst searchInput = ReactDOM.findDOMNode(this);\n\n\t\t\tconst eventSourcePath = event.composedPath\n\t\t\t\t? event.composedPath()\n\t\t\t\t: event.path;\n\t\t\tconst searchInputInPath = eventSourcePath.includes(searchInput);\n\t\t\tif (!searchInputInPath) {\n\t\t\t\tthis.updateInputStateOnClose();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleTabKeyPress = (event) => {\n\t\tconst {\n\t\t\tproperties: { isGlobal, windowSize }\n\t\t} = this.props;\n\t\tconst { typeaheadInputValue } = this.state;\n\t\tif (isGlobal) {\n\t\t\tconst searchInput = ReactDOM.findDOMNode(this);\n\t\t\tconst contextDropdown = searchInput.getElementsByTagName(\n\t\t\t\t'now-dropdown'\n\t\t\t)[0];\n\n\t\t\tconst eventSourcePath = event.composedPath\n\t\t\t\t? event.composedPath()\n\t\t\t\t: event.path;\n\t\t\tconst searchInputInPath = eventSourcePath.includes(searchInput);\n\t\t\tconst contextDropdownInPath = eventSourcePath.includes(\n\t\t\t\tcontextDropdown\n\t\t\t);\n\n\t\t\tif (event.keyCode === TAB_KEY_CODE) {\n\t\t\t\t/*\n\t\t\t\tevent.shiftKey picks up shiftKey pressed event\n\t\t\t\tCondition used :\n\t\t\t\t1. ShiftKey + Tab + searchInput (Typeahead) + !contextDropdown (so that shift tab focuses input and  not change it to default)\n\t\t\t\t2. Tabbing away from dropdown when windowSize is collapsed or mobile so that the focuses on dropdown\n\t\t\t\t3. Tabbing away from searchInput(Typeahead) when window size is expanded\n\t\t\t\t4. Second condition also checks if typeahead value is present if it is it should focus on clear button and not change to default state\n\t\t\t\t*/\n\n\t\t\t\tif (\n\t\t\t\t\t(event.shiftKey &&\n\t\t\t\t\t\t!contextDropdownInPath &&\n\t\t\t\t\t\tsearchInputInPath) ||\n\t\t\t\t\t(isEmpty(typeaheadInputValue) &&\n\t\t\t\t\t\tsearchInputInPath &&\n\t\t\t\t\t\twindowSize === WINDOW_SIZE.EXPANDED) ||\n\t\t\t\t\t(contextDropdownInPath &&\n\t\t\t\t\t\twindowSize === WINDOW_SIZE.EXPANDED) ||\n\t\t\t\t\t(windowSize !== WINDOW_SIZE.EXPANDED &&\n\t\t\t\t\t\tcontextDropdownInPath)\n\t\t\t\t) {\n\t\t\t\t\tthis.updateInputStateOnClose();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tupdateInputStateOnClose = () => {\n\t\tconst {\n\t\t\tcontextDropdownOpened,\n\t\t\tproperties: { windowSize }\n\t\t} = this.props;\n\t\tconst { defaultStateGlobalView, typeaheadInputValue } = this.state;\n\t\tif (isEmpty(typeaheadInputValue) && !contextDropdownOpened) {\n\t\t\tthis.setState({\n\t\t\t\tdropdownVisible: false,\n\t\t\t\tsearchExpanded: false,\n\t\t\t\tinputClicked: false,\n\t\t\t\thasActiveRecord: false\n\t\t\t});\n\t\t} else\n\t\t\tthis.setState({\n\t\t\t\tdropdownVisible: false,\n\t\t\t\tsearchExpanded: true,\n\t\t\t\tinputClicked: false\n\t\t\t});\n\t\tif (windowSize !== WINDOW_SIZE.EXPANDED) {\n\t\t\tif (!defaultStateGlobalView || isEmpty(typeaheadInputValue)) {\n\t\t\t\tif (contextDropdownOpened) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\t\tsearchExpanded: true,\n\t\t\t\t\t\tinputClicked: true,\n\t\t\t\t\t\tdefaultStateGlobalView: false\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\t\tsearchExpanded: false,\n\t\t\t\t\t\tinputClicked: false,\n\t\t\t\t\t\tdefaultStateGlobalView: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\twindowSize === WINDOW_SIZE.COLLAPSED &&\n\t\t\t\t!isEmpty(typeaheadInputValue)\n\t\t\t) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\tsearchExpanded: true,\n\t\t\t\t\tinputClicked: false,\n\t\t\t\t\tdefaultStateGlobalView: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\tupdateInputStateOnSubmit() {\n\t\tconst {\n\t\t\tproperties: { isGlobal, windowSize }\n\t\t} = this.props;\n\t\tif (isGlobal && windowSize !== WINDOW_SIZE.MOBILE) {\n\t\t\tthis.setState({\n\t\t\t\tinputClicked: false\n\t\t\t});\n\t\t\tif (windowSize !== WINDOW_SIZE.EXPANDED) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdefaultStateGlobalView: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tonSearchInputSubmit(term) {\n\t\tconst { hasActiveRecord } = this.state;\n\t\tconst {\n\t\t\tproperties: { isGlobal }\n\t\t} = this.props;\n\t\tif (hasActiveRecord) {\n\t\t\tthis.dispatchActiveRecord(term);\n\t\t\t// Record should go to default state view when polaris is on\n\t\t\tif (!isGlobal) return;\n\t\t\telse {\n\t\t\t\tthis.updateInputStateOnSubmit();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t!hasExactMatchReadingFinished(\n\t\t\t\tthis.props,\n\t\t\t\tterm,\n\t\t\t\tthis.config.global_search_config\n\t\t\t\t\t.exact_match_request_criterion_regex,\n\t\t\t\tthis.config.global_search_config.exact_match_enabled\n\t\t\t)\n\t\t) {\n\t\t\t// Disable typeahead input controls. Hide dropdown. Go in lockdown state.\n\t\t\tthis.setState({\n\t\t\t\tdropdownVisible: false,\n\t\t\t\tisDisabled: true\n\t\t\t});\n\t\t\t// Record should go to default state view when polaris is on\n\t\t\tif (isGlobal) this.updateInputStateOnSubmit();\n\t\t}\n\n\t\tthis.onSearchInputSubmitAction(term);\n\t}\n\n\tonSearchInputSubmitAction(term) {\n\t\tconst {\n\t\t\texactMatch,\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\t\tthis.setState({\n\t\t\tdropdownVisible: false,\n\t\t\tisDisabled: false\n\t\t});\n\t\tif (isExactMatchPresent(this.props, term)) {\n\t\t\tconst sysId = get(exactMatch, 'sys_id');\n\t\t\tconst table = get(exactMatch, 'table');\n\t\t\tconst recordUrl = get(exactMatch, 'record.record_url');\n\t\t\tconst title = get(exactMatch, 'metadata.title' , '');\n\n\t\t\tGlobalSearchUtils.dispatchItemSelected(dispatch, {\n\t\t\t\tsys_id: sysId,\n\t\t\t\ttable,\n\t\t\t\trecord_url: recordUrl,\n\t\t\t\ttitle: title\n\t\t\t});\n\t\t} else if (term) {\n\t\t\tGlobalSearchUtils.dispatchTermSearched(dispatch, term);\n\t\t}\n\t\tthis.updateInputStateOnSubmit();\n\t}\n\n\tonSearchInputEscapeKeyDown() {\n\t\tthis.setState({ dropdownVisible: false });\n\t\tthis.onActiveRecordUpdate(false);\n\t}\n\n\tonTypeaheadRecordClick(record) {\n\t\tconst {\n\t\t\thelpers: { dispatch },\n\t\t\tproperties: { isGlobal, windowSize }\n\t\t} = this.props;\n\t\treturn () => {\n\t\t\tconst recordType = typeof record === 'string' ? 'term' : 'result';\n\t\t\tif (recordType === 'term') {\n\t\t\t\tGlobalSearchUtils.dispatchTermSearched(dispatch, record);\n\t\t\t\tthis.setState({\n\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\ttypeaheadInputValue: record,\n\t\t\t\t\tsearchExpanded: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (recordType === 'result') {\n\t\t\t\tGlobalSearchUtils.dispatchItemSelected(dispatch, record);\n\t\t\t\tthis.resetTypeaheadState(false);\n\t\t\t}\n\t\t\t/*\n\t\t\tHandles Edge case where suggestion from typeahead record is clicked and input should go to default state\n\t\t\t*/\n\t\t\tif (isGlobal) {\n\t\t\t\tthis.updateInputStateOnSubmit();\n\t\t\t\tconst searchInput = ReactDOM.findDOMNode(this);\n\t\t\t\tconst typeaheadInput = searchInput.getElementsByClassName(\n\t\t\t\t\t'sn-global-typeahead-input'\n\t\t\t\t)[0];\n\t\t\t\ttypeaheadInput.blur();\n\t\t\t}\n\t\t};\n\t}\n\n\t// this may not be the best way of achieving this since we are passing down an action rather than a static attribute/prop ... but it helps to keep the component logic separated and the code to be sanely maintainable\n\tonActiveRecordUpdate(activeRecord, ariaSelected) {\n\t\tif (activeRecord) {\n\t\t\tthis.setState({\n\t\t\t\tnavigateInDirection: '',\n\t\t\t\thasActiveRecord: true,\n\t\t\t\tactiveRecord,\n\t\t\t\tariaSelected\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({\n\t\t\t\tnavigateInDirection: '',\n\t\t\t\thasActiveRecord: false,\n\t\t\t\tactiveRecord: {},\n\t\t\t\tariaSelected\n\t\t\t});\n\t\t}\n\t}\n\n\tget currentMode() {\n\t\tconst { typeaheadInputValue } = this.state;\n\n\t\tif (trim(typeaheadInputValue) === '') {\n\t\t\treturn this.constructor.MODES.RECENT_ACTIONS;\n\t\t}\n\n\t\treturn this.constructor.MODES.EXACT_MATCH;\n\t}\n\n\tgetResolvedConfig() {\n\t\tconst {\n\t\t\tworkspaceConfigs,\n\t\t\tproperties: { isLegacyWorkspace, globalSearchViewConfigId }\n\t\t} = this.props;\n\n\t\tif (!isLegacyWorkspace && isEmpty(workspaceConfigs)) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (!isLegacyWorkspace && workspaceConfigs[globalSearchViewConfigId]) {\n\t\t\treturn {\n\t\t\t\tglobal_search_config: workspaceConfigs[globalSearchViewConfigId]\n\t\t\t};\n\t\t}\n\n\t\tconst prefetchedConfig = getGlobalSearchConfigPresourceData(this.props);\n\t\tconst userPref = getUserPreferencePresourceData(this.props);\n\n\t\treturn {\n\t\t\tglobal_search_config: {\n\t\t\t\t...prefetchedConfig,\n\t\t\t\t...userPref\n\t\t\t}\n\t\t};\n\t}\n\n\tget config() {\n\t\tconst resolvedConfig = merge(\n\t\t\t{},\n\t\t\t{\n\t\t\t\tglobal_search_config: PresourceDefaults[GLOBAL_SEARCH_CONFIG],\n\t\t\t\tsearch_sources: []\n\t\t\t},\n\t\t\tthis.getResolvedConfig(),\n\t\t\tconfigFromSysProperties()\n\t\t);\n\t\treturn resolvedConfig;\n\t}\n\n\tsetNavigationDirection(up) {\n\t\treturn () => {\n\t\t\tconst navigateInDirection = up ? 'up' : 'down';\n\t\t\tthis.setState({ navigateInDirection });\n\t\t};\n\t}\n\n\thandleBlur = () => {\n\t\tconst { typeaheadInputValue } = this.state;\n\t\tconst {\n\t\t\tproperties: { isGlobal }\n\t\t} = this.props;\n\t\tif (!isGlobal) {\n\t\t\tif (typeaheadInputValue.length === 0) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\tsearchExpanded: false\n\t\t\t\t}, () => this.clearActiveRecord());\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tdropdownVisible: false,\n\t\t\t\t\tsearchExpanded: true\n\t\t\t\t}, () => this.clearActiveRecord());\n\t\t\t}\n\t\t}\n\t};\n\n\thandleFocus = () => {\n\t\tconst {\n\t\t\thelpers: { dispatch },\n\t\t\tproperties: { isGlobal, userPreferencesContext, globalSearchViewConfigId }\n\t\t} = this.props;\n\n\t\tif (isGlobal && globalSearchViewConfigId && !cache.get(globalSearchViewConfigId)) {\n\t\t\tdispatch(FETCH_ALL_CONFIGURATIONS);\n\t\t}\n\t\tdispatch(USER_PREFERENCES_FETCH, { name: userPreferencesContext });\n\n\t\tthis.setState({\n\t\t\tdropdownVisible: true,\n\t\t\tsearchExpanded: true\n\t\t}, () => this.clearActiveRecord());\n\t\tif (isGlobal) {\n\t\t\tthis.setState({ inputClicked: true });\n\t\t}\n\t};\n\n\thandleChange = (value) => {\n\t\tconst {\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\t\tthis.clearActiveRecord();\n\t\tthis.setState({ typeaheadInputValue: value });\n\t\tdispatch(FIT_RESIZE);\n\t};\n\n\thandleSearchIconClick = () => {\n\t\tconst { searchExpanded } = this.state;\n\t\tthis.setState({\n\t\t\tsearchExpanded: !searchExpanded,\n\t\t\tdropdownVisible: !searchExpanded,\n\t\t\tinputClicked: true\n\t\t});\n\t};\n\n\thandleClearIconClick = () => {\n\t\tthis.setState({\n\t\t\ttypeaheadInputValue: '',\n\t\t\tdropdownVisible: true,\n\t\t\tclearClicked: true\n\t\t});\n\t};\n\n\thandleCancelButtonClick = () => {\n\t\tthis.setState({\n\t\t\tdropdownVisible: false,\n\t\t\tsearchExpanded: false,\n\t\t\tinputClicked: false\n\t\t});\n\t};\n\n\thandleGeneralKeyDown = () => {\n\t\tthis.setState({\n\t\t\tdropdownVisible: true,\n\t\t\tinputClicked: true\n\t\t});\n\t};\n\n\tclearActiveRecord() {\n\t\tconst { ariaSelected } = this.state;\n\t\tthis.onActiveRecordUpdate(false, ariaSelected);\n\t}\n\n\tdispatchActiveRecord(term = '') {\n\t\tconst { activeRecord } = this.state;\n\t\tconst {\n\t\t\thelpers: { dispatch }\n\t\t} = this.props;\n\n\t\tif (activeRecord.type === TypeaheadRecord.TYPES.TERM) {\n\t\t\tGlobalSearchUtils.dispatchTermSearched(dispatch, activeRecord.term);\n\t\t\tthis.setState({\n\t\t\t\tdropdownVisible: false,\n\t\t\t\ttypeaheadInputValue: activeRecord.term,\n\t\t\t\tsearchExpanded: true\n\t\t\t});\n\t\t} else if (activeRecord.type === TypeaheadRecord.TYPES.RESULT) {\n\t\t\tGlobalSearchUtils.dispatchItemSelected(\n\t\t\t\tdispatch,\n\t\t\t\tactiveRecord.item,\n\t\t\t\tactiveRecord.sourceId\n\t\t\t);\n\t\t\tthis.resetTypeaheadState(false);\n\t\t} else if (\n\t\t\tactiveRecord.type === TypeaheadRecord.TYPES.SEARCH_ALL_ACTION\n\t\t) {\n\t\t\tGlobalSearchUtils.dispatchTermSearched(dispatch, term);\n\t\t\tthis.setState({ dropdownVisible: false });\n\t\t}\n\t\tthis.setState({ hasActiveRecord: false, activeRecord: {} });\n\t}\n\n\tresetTypeaheadState(dropdownVisible) {\n\t\tthis.setState(\n\t\t\tObject.assign({}, this.constructor.DEFAULT_LOCAL_PROPS, {\n\t\t\t\tdropdownVisible\n\t\t\t})\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tariaSelected,\n\t\t\tdropdownVisible,\n\t\t\thasActiveRecord,\n\t\t\tnavigateInDirection,\n\t\t\ttypeaheadInputValue,\n\t\t\tsearchExpanded,\n\t\t\tisDisabled,\n\t\t\tinputClicked,\n\t\t\tclearClicked,\n\t\t\tdefaultStateGlobalView,\n\t\t\tvariant,\n\t\t\tisCollapsedView,\n\t\t} = this.state;\n\t\tconst {\n\t\t\texactMatch,\n\t\t\tglobalSearchAction,\n\t\t\tsysId,\n\t\t\ttable,\n\t\t\titem,\n\t\t\tuserPreferences,\n\t\t\tcontextDropdownOpened,\n\t\t\tfetchingPreferences,\n\t\t\ttooltipContent,\n\t\t\tshowTooltipOnTruncation,\n\t\t\tproperties: {\n\t\t\t\tisLegacyWorkspace,\n\t\t\t\tisGlobal,\n\t\t\t\tsearchInputPlaceholder,\n\t\t\t\tsearchContexts,\n\t\t\t\tsearchTerm,\n\t\t\t\tselectedSearchContext,\n\t\t\t\twindowSize\n\t\t\t}\n\t\t} = this.props;\n\n\t\tconst term = clearClicked ? '' : searchTerm;\n\t\tconst otherSeismicProps = omit(this.props, ['channels', 'instanceId']);\n\t\tconst seismicProps = {\n\t\t\t...otherSeismicProps,\n\t\t\t...globalSearchAction\n\t\t};\n\n\t\tconst isRecentActionsVisible =\n\t\t\tdropdownVisible &&\n\t\t\tthis.currentMode === this.constructor.MODES.RECENT_ACTIONS &&\n\t\t\tuserPreferences &&\n\t\t\tuserPreferences.typeaheadRecentActionsModel &&\n\t\t\tuserPreferences.typeaheadRecentActionsModel.size > 0;\n\n\t\tconst isExactMatchResultVisible =\n\t\t\tdropdownVisible &&\n\t\t\tthis.currentMode === this.constructor.MODES.EXACT_MATCH;\n\n\t\t// temporary workaround for seismic issue\n\t\tif (sysId !== this.sysId) {\n\t\t\tconst itemSelected = {\n\t\t\t\tsys_id: sysId,\n\t\t\t\ttable,\n\t\t\t\titem,\n\t\t\t\taction: 'ITEM_SELECTED',\n\t\t\t\tactionMetadata: {\n\t\t\t\t\tsourceId: ''\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tthis.sysId = sysId;\n\t\t\tObject.assign(seismicProps, itemSelected);\n\t\t}\n\n\t\t// for platform global search, the default placeholder should be 'Search'\n\t\tconst placeholderText = isGlobal\n\t\t\t? SEARCH_LABEL\n\t\t\t: searchInputPlaceholder;\n\n\t\treturn (\n\t\t\t<ConfigProvider config={this.config}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tsearchExpanded && !isGlobal\n\t\t\t\t\t\t\t? 'sn-global-typeahead open'\n\t\t\t\t\t\t\t: 'sn-global-typeahead'\n\t\t\t\t\t}>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t<ComponentTypeaheadInput\n\t\t\t\t\t\t\t{...seismicProps}\n\t\t\t\t\t\t\texactMatch={exactMatch}\n\t\t\t\t\t\t\tonUpArrowKeyDown={this.setNavigationDirection(true)}\n\t\t\t\t\t\t\tonDownArrowKeyDown={this.setNavigationDirection(\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonInputSubmit={this.onSearchInputSubmit}\n\t\t\t\t\t\t\tonEscapeKeyDown={this.onSearchInputEscapeKeyDown}\n\t\t\t\t\t\t\thandleBlur={this.handleBlur}\n\t\t\t\t\t\t\thandleChange={this.handleChange}\n\t\t\t\t\t\t\thandleFocus={this.handleFocus}\n\t\t\t\t\t\t\thandleSearchIconClick={this.handleSearchIconClick}\n\t\t\t\t\t\t\thandleClearIconClick={this.handleClearIconClick}\n\t\t\t\t\t\t\thandleGeneralKeyDown={this.handleGeneralKeyDown}\n\t\t\t\t\t\t\thandleCancelButtonClick={\n\t\t\t\t\t\t\t\tthis.handleCancelButtonClick\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tariaSelected={ariaSelected}\n\t\t\t\t\t\t\ttypeaheadInputValue={typeaheadInputValue}\n\t\t\t\t\t\t\tsearchExpanded={searchExpanded}\n\t\t\t\t\t\t\tdropdownVisible={\n\t\t\t\t\t\t\t\t!contextDropdownOpened && dropdownVisible\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisDisabled={isDisabled}\n\t\t\t\t\t\t\tisLegacyWorkspace={isLegacyWorkspace}\n\t\t\t\t\t\t\tsearchInputPlaceholder={placeholderText}\n\t\t\t\t\t\t\tsearchContexts={searchContexts}\n\t\t\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\t\t\tsearchTerm={term}\n\t\t\t\t\t\t\tcontextDropdownOpened={contextDropdownOpened}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\tinputClicked={inputClicked}\n\t\t\t\t\t\t\tisCollapsedView={isCollapsedView}\n\t\t\t\t\t\t\tdefaultStateGlobalView={defaultStateGlobalView}\n\t\t\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/ErrorBoundary>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t{!isGlobal || inputClicked && searchExpanded ? <ComponentExactMatch\n\t\t\t\t\t\t\ttypeaheadInputValue={typeaheadInputValue}\n\t\t\t\t\t\t\t{...seismicProps}\n\t\t\t\t\t\t\tdata={exactMatch}\n\t\t\t\t\t\t\tnavigateInDirection={navigateInDirection}\n\t\t\t\t\t\t\thasActiveRecord={hasActiveRecord}\n\t\t\t\t\t\t\tonActiveRecordUpdate={this.onActiveRecordUpdate}\n\t\t\t\t\t\t\tonTypeaheadRecordClick={this.onTypeaheadRecordClick}\n\t\t\t\t\t\t\tisVisible={\n\t\t\t\t\t\t\t\t!contextDropdownOpened &&\n\t\t\t\t\t\t\t\t!!isExactMatchResultVisible\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\t\t/> : null }\n\t\t\t\t\t<\/ErrorBoundary>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t{!isGlobal || inputClicked && searchExpanded ? <ComponentRecentActions\n\t\t\t\t\t\t\t{...seismicProps}\n\t\t\t\t\t\t\tuserPreferences={userPreferences}\n\t\t\t\t\t\t\tnavigateInDirection={navigateInDirection}\n\t\t\t\t\t\t\thasActiveRecord={hasActiveRecord}\n\t\t\t\t\t\t\tonActiveRecordUpdate={this.onActiveRecordUpdate}\n\t\t\t\t\t\t\tonTypeaheadRecordClick={this.onTypeaheadRecordClick}\n\t\t\t\t\t\t\tisVisible={\n\t\t\t\t\t\t\t\t!contextDropdownOpened && isRecentActionsVisible\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\tuserPreferencesFetching={fetchingPreferences}\n\t\t\t\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\t\t\t\tshowTooltipOnTruncation={showTooltipOnTruncation}\n\t\t\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\t\t/> : null }\n\t\t\t\t\t<\/ErrorBoundary>\n\t\t\t\t<\/div>\n\t\t\t<\/ConfigProvider>\n\t\t);\n\t}\n}\n\n/* eslint-disable react/forbid-prop-types */\nComponentWorkspaceGlobalSearchTypeahead.propTypes = {\n\texactMatch: exactMatchDataShape,\n\tproperties: PropTypes.shape({\n\t\tglobalSearchViewConfigId: PropTypes.string,\n\t\tisLegacyWorkspace: PropTypes.bool,\n\t\tisGlobal: PropTypes.bool,\n\t\tsearchInputPlaceholder: PropTypes.string,\n\t\tselectedSearchContext: PropTypes.object,\n\t\tsearchContexts: PropTypes.array,\n\t\tsearchTerm: PropTypes.string,\n\t\twindowSize: PropTypes.string\n\t}),\n\tglobalSearchAction: PropTypes.object,\n\thelpers: PropTypes.func.isRequired,\n\tuserPreferences: userPreferenceDataShape,\n\tsysId: PropTypes.string,\n\ttable: PropTypes.string,\n\titem: PropTypes.object,\n\tworkspaceConfigs: PropTypes.objectOf(\n\t\tPropTypes.shape({\n\t\t\tviewConfig: PropTypes.object,\n\t\t\texactMatchPreference: PropTypes.object\n\t\t})\n\t),\n\tcontextDropdownOpened: PropTypes.bool\n};\n\nComponentWorkspaceGlobalSearchTypeahead.defaultProps = {\n\tglobalSearchAction: undefined,\n\titem: undefined,\n\tsysId: undefined,\n\ttable: undefined,\n\tuserPreferences: undefined,\n\texactMatch: undefined,\n\tproperties: {\n\t\tglobalSearchViewConfigId: undefined,\n\t\tisLegacyWorkspace: undefined,\n\t\tisGlobal: undefined,\n\t\tsearchInputPlaceholder: undefined,\n\t\tsearchContexts: [],\n\t\tselectedSearchContext: { searchDataConfigId: 'c861cea2c7022010099a308dc7c26041' },\n\t\tsearchTerm: '',\n\t\twindowSize: ''\n\t},\n\tworkspaceConfigs: {},\n\tcontextDropdownOpened: false\n};\n\nComponentWorkspaceGlobalSearchTypeahead.style = `${style}`;\n\nexport default ComponentWorkspaceGlobalSearchTypeahead;\n","import { createLog } from '../../../utils/Logger';\n\nconst LOG = createLog('GlobalSearchTypeahead Configurations');\n\nexport default (userPreferences) => {\n\tlet recentActions;\n\n\tif (userPreferences && userPreferences.value) {\n\t\tconst rawData = userPreferences.value;\n\t\ttry {\n\t\t\trecentActions = JSON.parse(rawData);\n\t\t} catch (e) {\n\t\t\tLOG.warn(\n\t\t\t\t'An error occurred parsing a user preference value: ',\n\t\t\t\trawData\n\t\t\t);\n\t\t}\n\t}\n\n\treturn recentActions;\n};\n","import has from 'lodash/has';\nimport {\n\tITEM_SELECTED,\n\tRECENT_ACTIONS_MODEL_SET,\n\tTERM_SEARCHED,\n\tUSER_PREFERENCES_SET,\n\tUSER_PREFERENCES_FETCH,\n\tSN_WS_SEARCH_TYPEAHEAD_ITEM_SELECTED,\n\tSN_WS_SEARCH_TYPEAHEAD_SEARCH_EXECUTED\n} from '../../actions';\nimport { parseUserPreferenceValue } from '../utils';\nimport RecentActionsModel from '../../../utils/RecentActionsModel';\nimport getBehaviorProp from '../../../behaviors/util/getBehaviorProp';\nimport { GLOBAL_SEARCH_CONFIG } from '../../../behaviors/constants';\nimport {\n\tRECENTLY_SEARCHED,\n\tRECENTLY_VIEWED,\n\tKNOWLEDGE_TABLE,\n\tKNOWLEDGE_VIEW_PATH\n} from '../../constants';\nimport cache from '../../../utils/configCache';\n\nconst addRecentAction = (\n\tdispatch,\n\tmodel,\n\ttype,\n\tactionData,\n\tmetadata,\n\tuserPrefName = ''\n) => {\n\tconst stringifiedRecentActions = model.addRecentAction(\n\t\ttype,\n\t\tactionData,\n\t\tmetadata\n\t);\n\n\tdispatch(USER_PREFERENCES_SET, {\n\t\tname: userPrefName,\n\t\tvalue: stringifiedRecentActions\n\t});\n};\n\nconst getGlobalConfigs = (state) => {\n\tconst {\n\t\tworkspaceConfigs,\n\t\tproperties: {\n\t\t\tglobalSearchViewConfigId,\n\t\t\tisGlobal\n\t\t}\n\t} = state;\n\tif (workspaceConfigs && globalSearchViewConfigId in workspaceConfigs) {\n\t\treturn state.workspaceConfigs[globalSearchViewConfigId].viewConfig;\n\t}\n\n\tif (isGlobal)\n\t\treturn cache.get(globalSearchViewConfigId) ? cache.get(globalSearchViewConfigId).viewConfig : getBehaviorProp(state, GLOBAL_SEARCH_CONFIG);\n\n\treturn getBehaviorProp(state, GLOBAL_SEARCH_CONFIG);\n};\n\nexport default ({ state, action, dispatch }) => {\n\tconst {\n\t\taction: payloadAction,\n\t\tactionMetadata: payloadActionMetadata\n\t} = action.payload;\n\n\tconst {\n\t\tuserPreferences,\n\t\tproperties: {\n\t\t\tselectedSearchContext,\n\t\t\tglobalSearchViewConfigId,\n\t\t\tuserPreferencesContext\n\t\t}\n\t} = state;\n\n\tconst {\n\t\trecent_items_count: recentItemsCount,\n\t\trecent_terms_count: recentTermsCount,\n\t\trecent_ttl_in_days: recentTTLInDays\n\t} = getGlobalConfigs(state);\n\n\tconst {\n\t\tlastTermAddedAsRecentAction,\n\t\tlastSysIdAddedAsRecentAction\n\t} = userPreferences;\n\n\tconst typeaheadRecentActionsModel = new RecentActionsModel(\n\t\tparseUserPreferenceValue(userPreferences, userPreferencesContext),\n\t\trecentItemsCount,\n\t\trecentTermsCount,\n\t\trecentTTLInDays,\n\t\tRECENTLY_SEARCHED,\n\t\tRECENTLY_VIEWED\n\t);\n\n\tdispatch([RECENT_ACTIONS_MODEL_SET], {\n\t\tmodel: typeaheadRecentActionsModel\n\t});\n\n\tif (\n\t\tpayloadAction === ITEM_SELECTED &&\n\t\thas(payloadActionMetadata, 'sourceId')\n\t) {\n\t\tconst {\n\t\t\titem,\n\t\t\ttable,\n\t\t\tsys_id: sysId,\n\t\t\trecord_url: recordUrl,\n\t\t\ttitle\n\t\t} = action.payload;\n\t\tconst { sourceId } = payloadActionMetadata;\n\t\tconst recordData = {\n\t\t\tdata: item,\n\t\t\ttable,\n\t\t\tsys_id: sysId,\n\t\t\trecord_url: recordUrl,\n\t\t\ttitle\n\t\t};\n\t\tconst url =\n\t\t\ttable === KNOWLEDGE_TABLE\n\t\t\t\t? recordUrl || `${KNOWLEDGE_VIEW_PATH}${sysId}`\n\t\t\t\t: recordUrl;\n\n\t\tif (lastSysIdAddedAsRecentAction !== sysId && sysId) {\n\t\t\taddRecentAction(\n\t\t\t\tdispatch,\n\t\t\t\ttypeaheadRecentActionsModel,\n\t\t\t\tRecentActionsModel.SECTIONS.ITEM_SELECTED,\n\t\t\t\trecordData,\n\t\t\t\t{ sourceId },\n\t\t\t\tuserPreferencesContext\n\t\t\t);\n\t\t}\n\t\tdispatch(SN_WS_SEARCH_TYPEAHEAD_ITEM_SELECTED, {\n\t\t\ttable,\n\t\t\tsysId,\n\t\t\trecordUrl: url,\n\t\t\tselectedSearchContext,\n\t\t\ttitle\n\t\t});\n\t} else if (payloadAction === TERM_SEARCHED) {\n\t\tconst { term } = action.payload;\n\t\tif (lastTermAddedAsRecentAction !== term && term) {\n\t\t\taddRecentAction(\n\t\t\t\tdispatch,\n\t\t\t\ttypeaheadRecentActionsModel,\n\t\t\t\tRecentActionsModel.SECTIONS.TERM_SEARCHED,\n\t\t\t\tterm,\n\t\t\t\t{},\n\t\t\t\tuserPreferencesContext\n\t\t\t);\n\t\t}\n\t\tconst searchViewConfigId = selectedSearchContext\n\t\t\t? selectedSearchContext.searchViewConfigId\n\t\t\t: globalSearchViewConfigId;\n\n\t\tdispatch(SN_WS_SEARCH_TYPEAHEAD_SEARCH_EXECUTED, {\n\t\t\tsearchTerm: term,\n\t\t\tglobalSearchViewConfigId: searchViewConfigId,\n\t\t\tselectedSearchContext\n\t\t});\n\t}\n\n\tdispatch(USER_PREFERENCES_FETCH, {\n\t\tname: userPreferencesContext\n\t});\n};\n","import { FETCH_CONFIGURATIONS } from '../../actions';\nimport getConfigurationsPayload from '../../../common/getConfigurationsPayload';\nimport cache from \"../../../utils/configCache\";\n\nconst handlePropertyChangedEffect = ({\n\tstate,\n\tdispatch,\n\taction\n}) => {\n\tconst {\n\t\tpayload: { name }\n\t} = action;\n\n\tconst {\n\t\tworkspaceConfigs,\n\t\tproperties: { globalSearchViewConfigId, isGlobal }\n\t} = state;\n\n\tif ( name === 'globalSearchViewConfigId' && globalSearchViewConfigId && !cache.get(globalSearchViewConfigId)) {\n\t\t\tif (!(globalSearchViewConfigId in workspaceConfigs)) {\n\t\t\t\tdispatch(FETCH_CONFIGURATIONS, {\n\t\t\t\t\tpayload: getConfigurationsPayload(\n\t\t\t\t\t\tglobalSearchViewConfigId, \n\t\t\t\t\t\tnull\n\t\t\t\t\t)\n\t\t\t\t});\n\t\t\t}\n\t }\n};\n\nexport default handlePropertyChangedEffect;\n","const handleRecentActionsModelSet = ({ state, updateState, action }) =>\n\tupdateState({\n\t\t...state,\n\t\tuserPreferences: {\n\t\t\t...state.userPreferences,\n\t\t\ttypeaheadRecentActionsModel: action.payload.model\n\t\t}\n\t});\n\nexport default handleRecentActionsModelSet;\n","const handleTypeaheadExactMatchFailedEffect = ({\n\tstate,\n\tupdateState,\n\taction\n}) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\t...state.exactMatch,\n\t\t\tisFetching: false,\n\t\t\terror: action.payload\n\t\t}\n\t});\n\nexport default handleTypeaheadExactMatchFailedEffect;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tEXACT_MATCH_FAILED,\n\tEXACT_MATCH_STARTED,\n\tEXACT_MATCH_SUCCEEDED\n} from '../../actions';\n\nconst handleTypeaheadExactMatchFetchEffect = createHttpEffect(\n\t'/api/now/v1/search/exactmatch?sysparm_term=:term&sysparm_search_context_config_id=:searchContextConfigId',\n\t{\n\t\tmethod: 'GET',\n\t\theaders: {},\n\t\tpathParams: ['term', 'searchContextConfigId'],\n\t\tstartActionType: EXACT_MATCH_STARTED,\n\t\tsuccessActionType: EXACT_MATCH_SUCCEEDED,\n\t\terrorActionType: EXACT_MATCH_FAILED\n\t}\n);\n\nexport default handleTypeaheadExactMatchFetchEffect;\n","const handleTypeaheadExactMatchStartedEffect = ({ state, updateState }) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\tisFetching: true,\n\t\t\terror: null\n\t\t}\n\t});\n\nexport default handleTypeaheadExactMatchStartedEffect;\n","import get from 'lodash/get';\n\nconst transformTypeaheadExactMatchResponse = (response) => {\n\tconst term = get(response, 'result.term');\n\tconst record = get(response, 'result.search_results.0.records.0');\n\tconst displayFields = get(response, 'result.search_results.0.fields');\n\n\tif (term && !record) {\n\t\treturn {\n\t\t\thasExactMatch: false,\n\t\t\tterm\n\t\t};\n\t}\n\n\tif (!term || !record || !displayFields) return undefined;\n\n\tconst { metadata, sys_id: sysId, table } = record;\n\n\treturn {\n\t\tterm,\n\t\trecord,\n\t\tmetadata,\n\t\tdisplayFields,\n\t\tsys_id: sysId,\n\t\ttable,\n\t\thasExactMatch: true\n\t};\n};\n\nexport default transformTypeaheadExactMatchResponse;\n","import transformTypeaheadExactMatchResponse from './transformTypeaheadExactMatchResponse';\n\nconst handleTypeaheadExactMatchSucceededEffect = ({\n\tstate,\n\tupdateState,\n\taction\n}) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\tisFetching: false,\n\t\t\terror: null,\n\t\t\t...transformTypeaheadExactMatchResponse(action.payload)\n\t\t}\n\t});\n\nexport default handleTypeaheadExactMatchSucceededEffect;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tUSER_PREFERENCES_FETCH_STARTED,\n\tUSER_PREFERENCES_FETCH_SUCCEEDED,\n\tUSER_PREFERENCES_FETCH_FAILED\n} from '../../actions';\n\nconst userPreferenceQuery = `query($name: [String]!){\n    GlideDomain_Query {\n        user {\n            preferences(name: $name) {\n                name,\n                value\n            }\n        }\n    }\n}`;\n\nconst handleTypeaheadUserPreferenceFetch = createGraphQLEffect(\n\tuserPreferenceQuery,\n\t{\n\t\tvariableList: ['name'],\n\t\tstartActionType: USER_PREFERENCES_FETCH_STARTED,\n\t\tsuccessActionType: USER_PREFERENCES_FETCH_SUCCEEDED,\n\t\terrorActionType: USER_PREFERENCES_FETCH_FAILED\n\t}\n);\n\nexport default handleTypeaheadUserPreferenceFetch;\n","const handleTypeaheadUserPreferenceFetchFailed = ({\n\tstate,\n\tupdateState,\n\taction\n}) =>\n\tupdateState({\n\t\t...state,\n\t\terror: action.payload,\n\t\tfetchingPreferences: false\n\t});\n\nexport default handleTypeaheadUserPreferenceFetchFailed;\n","const handleTypeaheadUserPreferenceFetchStarted = ({ state, updateState }) =>\n\tupdateState({\n\t\t...state,\n\t\tfetchingPreferences: true\n\t});\n\nexport default handleTypeaheadUserPreferenceFetchStarted;\n","import get from 'lodash/get';\nimport parseUserPreferenceValue from '../utils/parseUserPreferenceValue';\nimport RecentActionsModel from '../../../utils/RecentActionsModel';\nimport getBehaviorProp from '../../../behaviors/util/getBehaviorProp';\nimport { GLOBAL_SEARCH_CONFIG } from '../../../behaviors/constants';\nimport { RECENTLY_SEARCHED, RECENTLY_VIEWED } from '../../constants';\nimport cache from \"../../../utils/configCache\";\n\nconst getGlobalConfigs = (state) => {\n\tconst {\n\t\tworkspaceConfigs,\n\t\tproperties: {\n\t\t\tglobalSearchViewConfigId,\n\t\t\tisGlobal\n\t\t}\n\t} = state;\n\n\tif (workspaceConfigs && globalSearchViewConfigId in workspaceConfigs)\n\t\treturn workspaceConfigs[globalSearchViewConfigId].viewConfig;\n\n\tif (isGlobal)\n\t\treturn cache.get(globalSearchViewConfigId) ? cache.get(globalSearchViewConfigId).viewConfig : getBehaviorProp(state, GLOBAL_SEARCH_CONFIG);\n\n\treturn getBehaviorProp(state, GLOBAL_SEARCH_CONFIG);\n};\n\nconst handleTypeaheadUserPreferenceFetchSucceeded = ({\n\tstate,\n\tupdateState,\n\taction\n}) => {\n\tconst { data } = action.payload;\n\tconst userPreferencesQuery = get(data, 'GlideDomain_Query.user');\n\n\tconst userPreferences = userPreferencesQuery\n\t\t? {\n\t\t\t\t...state.userPreferences,\n\t\t\t\t...userPreferencesQuery.preferences[0]\n\t\t  }\n\t\t: { ...state.userPreferences };\n\n\tconst {\n\t\trecent_items_count: recentItemsCount,\n\t\trecent_terms_count: recentTermsCount,\n\t\trecent_ttl_in_days: recentTTLInDays\n\t} = getGlobalConfigs(state);\n\n\tuserPreferences.typeaheadRecentActionsModel = new RecentActionsModel(\n\t\tparseUserPreferenceValue(userPreferences),\n\t\trecentItemsCount,\n\t\trecentTermsCount,\n\t\trecentTTLInDays,\n\t\tRECENTLY_SEARCHED,\n\t\tRECENTLY_VIEWED\n\t);\n\n\tupdateState({\n\t\t...state,\n\t\tfetchingPreferences: false,\n\t\tuserPreferences\n\t});\n};\n\nexport default handleTypeaheadUserPreferenceFetchSucceeded;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tUSER_PREFERENCES_SET_STARTED,\n\tUSER_PREFERENCES_SET_SUCCEEDED,\n\tUSER_PREFERENCES_SET_FAILED\n} from '../../actions';\n\nconst setUserPreferenceMutation = `\n    mutation($name: String!, $value: String!) {\n        GlideDomain_Mutation {\n            user {\n                setPreference(name: $name, value: $value) {\n                    name\n                    value\n                }\n            }\n        }\n    }\n`;\n\nconst handleTypeaheadUserPreferenceSet = createGraphQLEffect(\n\tsetUserPreferenceMutation,\n\t{\n\t\tvariableList: ['name', 'value'],\n\t\tstartActionType: USER_PREFERENCES_SET_STARTED,\n\t\tsuccessActionType: USER_PREFERENCES_SET_SUCCEEDED,\n\t\terrorActionType: USER_PREFERENCES_SET_FAILED\n\t}\n);\n\nexport default handleTypeaheadUserPreferenceSet;\n","const handleTypeaheadUserPreferenceSetFailed = ({\n\tstate,\n\tupdateState,\n\taction\n}) =>\n\tupdateState({\n\t\t...state,\n\t\terror: action.payload,\n\t\tfetchingPreferences: false\n\t});\n\nexport default handleTypeaheadUserPreferenceSetFailed;\n","const handleTypeaheadUserPreferenceSetStarted = ({\n\tstate,\n\tupdateState,\n\taction\n}) => {\n\tconst updatedUserPreferences = { ...state.userPreferences };\n\n\tif (action.payload.action === 'ITEM_SELECTED') {\n\t\tupdatedUserPreferences.lastSysIdAddedAsRecentAction =\n\t\t\taction.payload.sysId;\n\t}\n\n\tif (action.payload.action === 'TERM_SEARCHED') {\n\t\tupdatedUserPreferences.lastTermAddedAsRecentAction =\n\t\t\taction.payload.term;\n\t}\n\n\tupdateState({\n\t\t...state,\n\t\tfetchingPreferences: true,\n\t\tuserPreferences: updatedUserPreferences\n\t});\n};\n\nexport default handleTypeaheadUserPreferenceSetStarted;\n","import get from 'lodash/get';\n\nconst handleTypeaheadUserPreferenceSetSucceeded = ({\n\tstate,\n\tupdateState,\n\taction\n}) => {\n\tconst { data } = action.payload;\n\tconst userPreferencesMutation = get(data, 'GlideDomain_Mutation.user');\n\n\tconst userPreferences = userPreferencesMutation\n\t\t? {\n\t\t\t\t...state.userPreferences,\n\t\t\t\t...userPreferencesMutation.setPreference\n\t\t  }\n\t\t: { ...state.userPreferences };\n\n\tupdateState({\n\t\t...state,\n\t\tfetchingPreferences: false,\n\t\tuserPreferences\n\t});\n};\n\nexport default handleTypeaheadUserPreferenceSetSucceeded;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DATABROKER_URI_QUERY } from '../../../common/constants';\n\nimport {\n\tFETCH_CONFIGURATIONS_SUCCEEDED,\n\tFETCH_CONFIGURATIONS_FAILED\n} from '../../actions';\n\nconst handleFetchConfigurationsEffect = createHttpEffect(\n\tDATABROKER_URI_QUERY,\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'payload',\n\t\tsuccessActionType: FETCH_CONFIGURATIONS_SUCCEEDED,\n\t\terrorActionType: FETCH_CONFIGURATIONS_FAILED\n\t}\n);\n\nexport default handleFetchConfigurationsEffect;\n","import cache from '../../../utils/configCache';\nimport {\n\tglobalSearchConfigTransform,\n\tuserPreferencesTransform\n} from '../../../behaviors/transforms';\n\nconst handleFetchConfigurationsSucceeded = ({ state, action, updateState }) => {\n\tconst { payload } = action;\n\tconst viewConfig = globalSearchConfigTransform(\n\t\t{\n\t\t\t...payload\n\t\t},\n\t\tfalse,\n\t\tfalse\n\t);\n\tconst exactMatchPreference = userPreferencesTransform(payload);\n\tupdateState({\n\t\tpath: `workspaceConfigs.${viewConfig.sys_id}`,\n\t\tvalue: {viewConfig, exactMatchPreference},\n\t\toperation: 'set'\n\t});\n\tcache.set(viewConfig.sys_id, {viewConfig, exactMatchPreference});\n};\n\nexport default handleFetchConfigurationsSucceeded;\n","import { createLog } from '../../../utils/Logger';\n\nconst LOG = createLog('GlobalSearchTypeahead Configurations');\n\nconst handleFetchConfigurationsFailed = ({ action }) => {\n\tconst { payload } = action;\n\n\tLOG.error(`Failed to fetch configurations. ${payload}`);\n};\n\nexport default handleFetchConfigurationsFailed;\n","import {\n\tGLOBAL_SEARCH_WIDTH,\n\tGLOBAL_POPOVER_TOP_OFFSET,\n\tGLOBAL_SEARCH_MOBILE_WIDTH,\n\tWINDOW_SIZE\n} from '../../constants';\n\nconst createQuerySelector = (querySelector) => (host) =>\n\thost.shadowRoot.querySelector(querySelector);\nconst createQuerySelectorAll = (querySelector) => (host) =>\n\thost.shadowRoot.querySelectorAll(querySelector);\n\nconst getPopoverElements = createQuerySelectorAll('div.sn-popover');\nconst getInputContainerElement = createQuerySelector(\n\t'div.sn-global-typeahead-control-container'\n);\n\nconst handleFitResize = ({ host, properties }) => {\n\tconst { isGlobal, windowSize } = properties;\n\tconst contentElems = getPopoverElements(host);\n\tconst targetElem = getInputContainerElement(host);\n\n\tif (contentElems && contentElems.length > 0) {\n\t\tcontentElems.forEach((contentElem) => {\n\t\t\tconst currentWidth = contentElem.style.width;\n\t\t\tconst targetWidth = isGlobal\n\t\t\t\t? windowSize == WINDOW_SIZE.MOBILE\n\t\t\t\t\t? GLOBAL_SEARCH_MOBILE_WIDTH\n\t\t\t\t\t: GLOBAL_SEARCH_WIDTH\n\t\t\t\t: `${targetElem.offsetWidth + 2}px`;\n\n\t\t\tconst currentLeft = contentElem.style.left;\n\t\t\tconst targetLeft = isGlobal ? `${targetElem.offsetLeft}px` : `${targetElem.offsetLeft - 2}px`;\n\n\t\t\tconst currentTop = contentElem.style.top;\n\t\t\tconst globalTopOffset = isGlobal ? GLOBAL_POPOVER_TOP_OFFSET : 0;\n\t\t\tconst targetTop = `${targetElem.offsetTop +\n\t\t\t\ttargetElem.offsetHeight +\n\t\t\t\tglobalTopOffset}px`;\n\n\t\t\tif (currentWidth !== targetWidth)\n\t\t\t\tObject.assign(contentElem.style, { width: targetWidth });\n\t\t\tif (isGlobal)\n\t\t\t\tif (currentLeft !== targetLeft)\n\t\t\t\t\tObject.assign(contentElem.style, { left: targetLeft });\n\t\t\tif (currentTop !== targetTop)\n\t\t\t\tObject.assign(contentElem.style, { top: targetTop });\n\t\t});\n\t}\n};\n\nexport default handleFitResize;\n","const handleContextDropdownClickedEffect = ({ state, updateState }) => {\n\tconst { contextDropdownOpened } = state;\n\tupdateState({ contextDropdownOpened: !contextDropdownOpened });\n};\n\nexport default handleContextDropdownClickedEffect;\n","import { SN_WS_SEARCH_TYPEAHEAD_CONTEXT_CHANGED, FETCH_CONFIGURATIONS } from '../../actions';\nimport getConfigurationsPayload from '../../../common/getConfigurationsPayload';\nimport cache from '../../../utils/configCache';\n\nconst handleContextItemSelectedEffect = ({\n\thost,\n\taction,\n\tupdateProperties,\n\tdispatch\n}) => {\n\tconst createQuerySelector = (querySelector) => (host) =>\n\t\thost.shadowRoot.querySelector(querySelector);\n\n\tconst getInputElement = createQuerySelector(\n\t\t'input.sn-global-typeahead-input'\n\t);\n\n\tconst {\n\t\tpayload: { item }\n\t} = action;\n\n\tconst {searchViewConfigId} = item;\n\tupdateProperties({\n\t\tselectedSearchContext: item,\n\t\tglobalSearchViewConfigId: searchViewConfigId\n\t});\n\n\tif (!cache.get(searchViewConfigId)) {\n\t\tdispatch(FETCH_CONFIGURATIONS, {\n\t\t\tpayload: getConfigurationsPayload(\n\t\t\t\tsearchViewConfigId,\n\t\t\t\tnull\n\t\t\t)\n\t\t});\n\t}\n\tdispatch(SN_WS_SEARCH_TYPEAHEAD_CONTEXT_CHANGED, item);\n\n\t// set focus to input when context switch dropdown is closed after selection\n\tconst input = getInputElement(host);\n\t// workaround for when now-dropdown tries to restore focus to trigger element\n\tsetTimeout(() => input.focus(), 100);\n};\n\nexport default handleContextItemSelectedEffect;\n","const handleClearButtonClicked = ({ action }) => {\n\tconst {\n\t\tpayload: { onClick }\n\t} = action;\n\tonClick();\n};\n\nexport default handleClearButtonClicked;\n","const handleCancelButtonClicked = ({ action }) => {\n\tconst {\n\t\tpayload: { onClick }\n\t} = action;\n\tonClick();\n};\n\nexport default handleCancelButtonClicked;\n","const handleSearchIconButtonClickedEffect = ({ action }) => {\n\tconst {\n\t\tpayload: { onClick }\n\t} = action;\n\n\tonClick();\n};\n\nexport default handleSearchIconButtonClickedEffect;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"a11yPreferences\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].a11yPreferences;\n\t\t\t\t\t} else if ('a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.a11yPreferences || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].a11yPreferences;\n\t\t\t\t}, [\"getUserPrefContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t\t} else if ('getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.getUserPrefContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t} });","import {getUserPrefContext, a11yPreferences} from 'sn-ux-core';\n\nconst handleTooltipContentEffect = ({ action, updateState, context }) => {\n\t// identify user preference state to show tooltip on truncated texts\n\tconst a11yTx = getUserPrefContext(a11yPreferences.GLIDE_UI_ACCESSIBILITY_SHOW_TRUNCATED_TEXT);\n\tconst userPrefVal = a11yTx ? context?.[a11yTx] : false;\n\tconst {\n\t\tpayload: { tooltipContent }\n\t} = action;\n\tupdateState({\n\t\ttooltipContent,\n\t\tshowTooltipOnTruncation: userPrefVal\n\t});\n};\n\nexport default handleTooltipContentEffect;","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tEXACT_MATCH_FAILED,\n\tEXACT_MATCH_FETCH,\n\tEXACT_MATCH_STARTED,\n\tEXACT_MATCH_SUCCEEDED,\n\tUSER_PREFERENCES_FETCH,\n\tUSER_PREFERENCES_FETCH_FAILED,\n\tUSER_PREFERENCES_FETCH_STARTED,\n\tUSER_PREFERENCES_FETCH_SUCCEEDED,\n\tUSER_PREFERENCES_SET_FAILED,\n\tUSER_PREFERENCES_SET_STARTED,\n\tUSER_PREFERENCES_SET_SUCCEEDED,\n\tGLOBAL_SEARCH_ACTION,\n\tUSER_PREFERENCES_SET,\n\tRECENT_ACTIONS_MODEL_SET,\n\tFETCH_ALL_CONFIGURATIONS,\n\tFETCH_CONFIGURATIONS,\n\tFETCH_CONFIGURATIONS_SUCCEEDED,\n\tFETCH_CONFIGURATIONS_FAILED,\n\tFIT_RESIZE,\n\tCONTEXT_DROPDOWN_CLICKED,\n\tCONTEXT_ITEM_SELECTED,\n\tCLEAR_BUTTON_CLICKED,\n\tSEARCH_ICON_BUTTON_CLICKED,\n\tCANCEL_BUTTON_CLICKED,\n\tHANDLE_TOOLTIP_CONTENT\n} from './actions';\nimport {\n\thandleTypeaheadExactMatchFetch,\n\thandleTypeaheadExactMatchFetchStarted,\n\thandleTypeaheadExactMatchFetchSucceeded,\n\thandleTypeaheadExactMatchFetchFailed,\n\thandleTypeaheadUserPreferenceFetch,\n\thandleTypeaheadUserPreferenceFetchFailed,\n\thandleTypeaheadUserPreferenceFetchStarted,\n\thandleTypeaheadUserPreferenceFetchSucceeded,\n\thandleTypeaheadUserPreferenceSet,\n\thandleTypeaheadUserPreferenceSetStarted,\n\thandleTypeaheadUserPreferenceSetSucceeded,\n\thandleTypeaheadUserPreferenceSetFailed,\n\thandleGlobalSearchAction,\n\thandleRecentActionsModelSet,\n\thandleFetchConfigurationsEffect,\n\thandleFetchConfigurationsSucceededEffect,\n\thandleFetchConfigurationsFailedEffect,\n\thandleFitResize,\n\thandlePropertyChangedEffect,\n\thandleContextDropdownClickedEffect,\n\thandleContextItemSelectedEffect,\n\thandleClearButtonClicked,\n\thandleSearchIconButtonClickedEffect,\n\thandleCancelButtonClicked,\n\tpreloadWorkspaceConfigs,\n\thandleTooltipContentEffect\n} from './effects';\nimport effectProxy from '../utils/effectProxy';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nexport default {\n\t[COMPONENT_CONNECTED]({ dispatch }) {\n\t\twindow.addEventListener('resize', () => {\n\t\t\tdispatch(FIT_RESIZE);\n\t\t});\n\t},\n\t[COMPONENT_DISCONNECTED]() {\n\t\twindow.removeEventListener('resize', () => {});\n\t},\n\t[COMPONENT_RENDERED]({ dispatch }) {\n\t\tdispatch(FIT_RESIZE);\n\t},\n\t[EXACT_MATCH_FETCH]: effectProxy(handleTypeaheadExactMatchFetch),\n\t[EXACT_MATCH_STARTED]: {\n\t\teffect: handleTypeaheadExactMatchFetchStarted,\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_SUCCEEDED]: {\n\t\teffect: handleTypeaheadExactMatchFetchSucceeded,\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_FAILED]: {\n\t\teffect: handleTypeaheadExactMatchFetchFailed,\n\t\tstopPropagation: true\n\t},\n\t[RECENT_ACTIONS_MODEL_SET]: {\n\t\teffect: handleRecentActionsModelSet,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_FETCH]: effectProxy(handleTypeaheadUserPreferenceFetch),\n\t[USER_PREFERENCES_FETCH_STARTED]: {\n\t\teffect: handleTypeaheadUserPreferenceFetchStarted,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_FETCH_SUCCEEDED]: {\n\t\teffect: handleTypeaheadUserPreferenceFetchSucceeded,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_FETCH_FAILED]: {\n\t\teffect: handleTypeaheadUserPreferenceFetchFailed,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_SET]: {\n\t\t...handleTypeaheadUserPreferenceSet,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_SET_STARTED]: {\n\t\teffect: handleTypeaheadUserPreferenceSetStarted,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_SET_SUCCEEDED]: {\n\t\teffect: handleTypeaheadUserPreferenceSetSucceeded,\n\t\tstopPropagation: true\n\t},\n\t[USER_PREFERENCES_SET_FAILED]: {\n\t\teffect: handleTypeaheadUserPreferenceSetFailed,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONFIGURATIONS]: effectProxy(handleFetchConfigurationsEffect),\n\t[FETCH_CONFIGURATIONS_SUCCEEDED]: {\n\t\teffect: handleFetchConfigurationsSucceededEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONFIGURATIONS_FAILED]: {\n\t\teffect: handleFetchConfigurationsFailedEffect,\n\t\tstopPropagation: true\n\t},\n\t[GLOBAL_SEARCH_ACTION]: handleGlobalSearchAction,\n\t[FIT_RESIZE]: {\n\t\teffect: handleFitResize,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChangedEffect,\n\t[CONTEXT_DROPDOWN_CLICKED]: {\n\t\teffect: handleContextDropdownClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[CONTEXT_ITEM_SELECTED]: {\n\t\teffect: handleContextItemSelectedEffect,\n\t\tstopPropagation: true\n\t},\n\t[SEARCH_ICON_BUTTON_CLICKED]: {\n\t\teffect: handleSearchIconButtonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[CLEAR_BUTTON_CLICKED]: {\n\t\teffect: handleClearButtonClicked\n\t},\n\t[CANCEL_BUTTON_CLICKED]: {\n\t\teffect: handleCancelButtonClicked,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_ALL_CONFIGURATIONS]: {\n\t\teffect: preloadWorkspaceConfigs,\n\t\tstopPropagation: true\n\t},\n\t[HANDLE_TOOLTIP_CONTENT]: {\n\t\teffect: handleTooltipContentEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import fetchWorkspaceConfigs from '../utils/fetchWorkspaceConfigs';\n\nexport default ({ state, dispatch, updateState }) => {\n\tconst {\n\t\tworkspaceConfigs,\n\t\tproperties: { searchContexts }\n\t} = state;\n\n\tfetchWorkspaceConfigs(workspaceConfigs, searchContexts, dispatch, updateState);\n};\n","import cache from '../../../utils/configCache';\nimport requestIdleCallback from '../../../utils/requestIdleCallback';\nimport { FETCH_CONFIGURATIONS } from '../../actions';\nimport getConfigurationsPayload from '../../../common/getConfigurationsPayload';\n\nexport default (workspaceConfigs, searchContexts, dispatch, updateState) => {\n\tconst stateUpdates = [];\n\tconst cacheInvalidationDispatches = [];\n\n\tsearchContexts.forEach((searchContext) => {\n\t\tconst { searchViewConfigId } = searchContext;\n\t\t// we only want to load configs that we don't already have\n\t\tif (!(searchViewConfigId in workspaceConfigs)) {\n\t\t\tconst cachedConfig = cache.get(searchViewConfigId)\n\t\t\tif (cachedConfig) {\n\t\t\t\tstateUpdates.push({\n\t\t\t\t\tpath: `workspaceConfigs.${searchViewConfigId}`,\n\t\t\t\t\tvalue: cachedConfig,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t\tcacheInvalidationDispatches.push({globalSearchViewConfigId: searchViewConfigId});\n\t\t\t} else {\n\t\t\t\tdispatch(FETCH_CONFIGURATIONS, {\n\t\t\t\t\tpayload: getConfigurationsPayload(\n\t\t\t\t\t\tsearchViewConfigId,\n\t\t\t\t\t\tnull\n\t\t\t\t\t)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\n\tif (stateUpdates.length) {\n\t\tupdateState(stateUpdates);\n\t\tsetTimeout(() => {\n\t\t\trequestIdleCallback(() => {\n\t\t\t\tcacheInvalidationDispatches.forEach(payload => dispatch(FETCH_CONFIGURATIONS, payload));\n\t\t\t});\n\t\t}, 5000);\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_4_1_index_jsdbx_6258a394__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_4_1_index_jsdbx_d9cd1d89__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport react from '@servicenow/ui-renderer-react';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { isEmpty } from 'lodash';\nimport {\n\tGLOBAL_SEARCH_CONFIG,\n\tUSER_PREFERENCE,\n\tpresourceFactory\n} from '../behaviors';\nimport {\n\tDEFAULT_PLACEHODLER,\n\tDEFAULT_USER_PREFERENCES_NAME,\n\tMOBILE_MEDIA_WIDTH,\n\tWINDOW_SIZE\n} from './constants';\nimport ComponentWorkspaceGlobalSearchTypeahead from './ComponentWorkspaceGlobalSearchTypeahead';\nimport style from './_componentWorkspaceGlobalSearchTypeahead.scss';\nimport RecentActionsModel from '../utils/RecentActionsModel';\nimport actionHandlers from './actionHandlers';\nimport mediaQueryBehavior from '@servicenow/behavior-media-query';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\n\nconst customElementTagName = 'sn-component-workspace-global-search-typeahead';\n\n/**\n * Search typeahead allows user to search and provides search autocomplete capability while user is typing.\n * It also provides the functionality to perform exact match for records.\n *\n * ```jsx\n * <sn-component-workspace-global-search-typeahead\n *      globalSearchViewConfigId=\"13453dsf12324356\"\n * />\n * ```\n *\n * @seismicElement sn-component-workspace-global-search-typeahead\n * @summary Search typeahead component that allows asearch, autocomplete and exact match functionalities.\n */\nexport default createCustomElement(customElementTagName, {\n\tview: ComponentWorkspaceGlobalSearchTypeahead,\n\trenderer: { type: react },\n\tbehaviors: [\n\t\tpresourceFactory.get(GLOBAL_SEARCH_CONFIG),\n\t\tpresourceFactory.get(USER_PREFERENCE),\n\t\t{ behavior: rtlBehavior },\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: `(max-width: ${MOBILE_MEDIA_WIDTH})`\n\t\t\t}\n\t\t},\n\t\ttooltipBehavior,\n\t\ttruncationBehavior\n\t],\n\tinitialState: {\n\t\tuserPreferences: {\n\t\t\ttypeaheadRecentActionsModel: new RecentActionsModel()\n\t\t},\n\t\tworkspaceConfigs: {},\n\t\tcontextDropdownOpened: false,\n\t\tfetchingPreferences: true,\n\t\ttooltipContent: '',\n\t\tshowTooltipOnTruncation: false\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Reference to a record in sys_aw_global_search_config which configures the component view.\n\t\t * @type {string}\n\t\t */\n\t\tglobalSearchViewConfigId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property for component to know where it's being rendered - UIB or legacy workspaces.\n\t\t */\n\t\tisLegacyWorkspace: {\n\t\t\tcomputed({ properties: { globalSearchViewConfigId } }) {\n\t\t\t\treturn !globalSearchViewConfigId;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Placeholder string for Search input box\n\t\t * @type {string}\n\t\t */\n\t\tsearchInputPlaceholder: {\n\t\t\tdefault: DEFAULT_PLACEHODLER,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Selected search context\n\t\t * @type {string}\n\t\t */\n\t\tselectedSearchContext: {\n\t\t\tdefault: { searchDataConfigId: 'c861cea2c7022010099a308dc7c26041' },\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tshouldRenderWhenSet: false\n\t\t},\n\t\t/**\n\t\t * Selected search context\n\t\t * @type {array}\n\t\t */\n\t\tsearchContexts: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Selected search input term\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reads windowSize property from polaris header to render search input in either desktop expanded, collapsed or mobile view\n\t\t * @type {string}\n\t\t */\n\t\twindowSize: {\n\t\t\tdefault: WINDOW_SIZE.EXPANDED,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['expanded', 'collapsed', 'mobile']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property for component to know if it's being rendered in platform global search.\n\t\t */\n\t\tisGlobal: {\n\t\t\tcomputed({\n\t\t\t\tproperties: { selectedSearchContext, searchContexts }\n\t\t\t}) {\n\t\t\t\treturn (\n\t\t\t\t\t!isEmpty(selectedSearchContext) && !isEmpty(searchContexts)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property for the namespace that suggestions/preferences\n\t\t * should be read from and logged to\n\t\t * @type {string}\n\t\t */\n\t\tuserPreferencesContext: {\n\t\t\tcomputed({\n\t\t\t\tproperties: {\n\t\t\t\t\tglobalSearchViewConfigId,\n\t\t\t\t\tselectedSearchContext,\n\t\t\t\t\tsearchContexts\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\treturn !isEmpty(globalSearchViewConfigId) &&\n\t\t\t\t\t!isEmpty(selectedSearchContext) &&\n\t\t\t\t\t!isEmpty(searchContexts)\n\t\t\t\t\t? `globalSearch.${selectedSearchContext.id}`\n\t\t\t\t\t: DEFAULT_USER_PREFERENCES_NAME;\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles: style,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a search is executed. Payload contains search term and global search view config id,\n\t\t * which is a reference to a record in sys_aw_global_search_config.\n\t\t * @type {{searchTerm: string, globalSearchViewConfigId: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#SEARCH_EXECUTED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tsearchTerm: { type: 'string' },\n\t\t\t\t\tglobalSearchViewConfigId: { type: 'string' },\n\t\t\t\t\tselectedSearchContext: { type: 'object' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when a recently searched item is selected from the popover. Payload contains table and sysId of the record selected.\n\t\t * @type {{table: string, sysId: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#ITEM_SELECTED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\tsysId: { type: 'string' },\n\t\t\t\t\trecordUrl: { type: 'string' },\n\t\t\t\t\tselectedSearchContext: { type: 'object' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when a the search context is changed. The payload contains the selected search context information.\n\t\t * @type {{id: string, label: string, context: string, route: string, searchDataConfigId: string, searchViewConfigId: string}}\n\t\t */\n\t\t'SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#CONTEXT_CHANGED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tid: { type: 'string' },\n\t\t\t\t\tlabel: { type: 'string' },\n\t\t\t\t\tcontext: { type: 'string' },\n\t\t\t\t\troute: { type: 'string' },\n\t\t\t\t\tsearchDataConfigId: { type: 'string' },\n\t\t\t\t\tsearchViewConfigId: { type: 'string' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_component_workspace_global_search=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":88,"column":0},"map":{"mappings":"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","file":"externals/sn-search-input-wrapper/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","import","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","isEmpty","isEqual","ITEM_SELECTED","AIS_SEARCH_EXECUTED","AIS_NAVIGATION_EXECUTED","AIS_CONTEXT_CHANGED","ZING_SEARCH_EXECUTED","ZING_ITEM_SELECTED","ZING_CONTEXT_CHANGED","ZING_INPUT_REQUESTED","AIS_INPUT_REQUESTED","FETCH_SAC_SUCEEDED","FETCH_SAC_STARTED","FETCH_SAC_ERROR","NOW_ASSIST_SUGGESTION_CLICKED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","getProperty","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__","getUserPrefContext","getBooleanProperty","propertyName","defaultValue","propertyValue","SEARCH_APPLICATION_CONFIGURATION_CACHE_KEY","checkIfSearchContextIncludesSelectedSearch","selectedSearchContext","searchContext","some","elem","view","state","_ref","dispatch","zingComponentLoaded","aisComponentLoaded","aisSearchContexts","zingSearchContexts","properties","placeholder","searchTerm","searchContextConfigId","placement","disableAutocomplete","size","globalSearchViewConfigId","searchContexts","aiSearchEnabled","canAnimate","windowSize","isAIELEnabled","polarisEnabled","context","userPrefSymbol","getBooleanUserProperty","useAISearch","doesAISSelectedContextExistInContexts","aiSearchSelectedSearchContext","aiSearchSelectedSearchContextConfigId","searchDataConfigId","enableExactMatch","showUtterances","searchViewConfigId","searchInputPlaceholder","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","local","cache","namespacedKey","window","localStorage","getItem","defaultTTL","ts","JSON","parse","Date","now","remove","set","propertyForTTLCalculation","property","setItem","stringify","console","debug","removeItem","_isExternalUrl","url","includes","handleSearchExecutedEffect","action","payload","handleContextChangedEffect","_ref4","handleSACFetchStartedEffect","successActionType","errorActionType","COMPONENT_PROPERTY_CHANGED","COMPONENT_BOOTSTRAPPED","aisEnabledSysProp","setContextsWhenSearchEngineDefined","updateState","searchEngine","searchContextDetailsPresentInCache","checkContextsArray","fetchingSAC","_ref2","name","previousValue","effect","coeffects","args","stopPropagation","_ref3","actionPayload","table","sysId","recordUrl","title","navURl","isExternalUrl","Promise","resolve","then","_ref6","_action$payload","availableSearchContexts","_filterSearchContexts","filter","el","f","sys_id","search_engine","error","err","message","_ref5","_ref7","transferred_search_result","intention","forceNewConversation","sessionContext","renderer","type","snabbdom","styles","style","initialState","schema","enum","actionHandlers","dispatches","label","route","__TECTONIC__sn_search_input_wrapper"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/styles.scss","webpack:///./src/sn-search-input-wrapper/styles.scss?ded1","webpack:///external import \"/uxasset/externals/@devsnc/sn-search-combobox/index.jsdbx\"","webpack:///external import \"/uxasset/externals/sn-component-workspace-global-search/index.jsdbx\"","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/actions.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-ux-core/24.0.8/index.jsdbx\"","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/utils/utils.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/constants.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/view.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/utils/cache.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/effects.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/actionHandlers.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/utils/effectProxy.js","webpack:///sn-search-input-wrapper/src/sn-search-input-wrapper/index.js","webpack:///sn-search-input-wrapper/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--nav_menu-input--color:var(--now-unified-nav_menu-filter--color);--nav_menu-input--color--placeholder:var( --now-unified-nav_menu-filter--color--placeholder );--nav_menu-input--color--placeholder--focus:var( --now-unified-nav_menu-filter--color--placeholder--focus );--nav_menu-input--color--opened:var( --now-unified-nav_menu-filter--color--opened );--nav_menu-input--background-color:var( --now-unified-nav_menu-filter--background-color );--nav_menu-input--background-color--hover:var( --now-unified-nav_menu-filter--background-color--hover );--nav_menu-input--background-color--opened:var( --now-unified-nav_menu-filter--background-color--opened );--nav_menu-input--border-color:var( --now-unified-nav_menu-filter--border-color );--nav_menu-input--search-icon-color--collapsed:var( --now-unified-nav_utility-menu-trigger--color )}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","module.exports = import(\"/uxasset/externals/@devsnc/sn-search-combobox/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/sn-component-workspace-global-search/index.jsdbx\");;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"concat\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'concat' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].concat;\n\t\t\t\t\t} else if ('concat' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.concat || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].concat;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t} });","// External actions\nexport const SEARCH_EXECUTED = \"SN_SEARCH_INPUT_WRAPPER#SEARCH_EXECUTED\";\nexport const ITEM_SELECTED = \"SN_SEARCH_INPUT_WRAPPER#ITEM_SELECTED\";\nexport const CONTEXT_CHANGED = \"SN_SEARCH_INPUT_WRAPPER#CONTEXT_CHANGED\";\n\n// AI Search input actions\nexport const AIS_SEARCH_EXECUTED = \"SN_SEARCH_COMBOBOX#SEARCH_EXECUTED\";\nexport const AIS_NAVIGATION_EXECUTED = \"SN_SEARCH_COMBOBOX#NAVIGATION_EXECUTED\";\nexport const AIS_CONTEXT_CHANGED = \"SN_SEARCH_COMBOBOX#CONTEXT_CHANGED\";\n\n// Zing Search input actions\nexport const ZING_SEARCH_EXECUTED =\n\t\"SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#SEARCH_EXECUTED\";\nexport const ZING_ITEM_SELECTED =\n\t\"SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#ITEM_SELECTED\";\nexport const ZING_CONTEXT_CHANGED =\n\t\"SN_COMPONENT_WORKSPACE_GLOBAL_SEARCH_TYPEAHEAD#CONTEXT_CHANGED\";\n\n// Dynamic import request actions\nexport const ZING_INPUT_REQUESTED = \"ZING_INPUT_REQUESTED\";\nexport const AIS_INPUT_REQUESTED = \"AIS_INPUT_REQUESTED\";\n\nexport const FETCH_SAC_SUCEEDED = \"FETCH_SAC_SUCEEDED\";\nexport const FETCH_SAC_STARTED = \"FETCH_SAC_STARTED\";\nexport const FETCH_SAC_ERROR = \"FETCH_SAC_ERROR\";\n\nexport const NOW_ASSIST_SUGGESTION_CLICKED =\n\t\"SN_SEARCH_COMBOBOX#UTTERANCE_CLICKED\";\nexport const LAUNCH_ASSISTANT = \"AI_ENGAGEMENT_LAUNCH_EXPERIENCE\";\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getUserPrefContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t\t} else if ('getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.getUserPrefContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t} });","import { getProperty } from \"sn-uxpage-presource\";\nimport { getUserPrefContext } from \"sn-ux-core\";\n\nexport const getBooleanProperty = (propertyName, defaultValue = false) => {\n\tconst propertyValue = getProperty(propertyName) || defaultValue;\n\treturn propertyValue === true || propertyValue === \"true\";\n};\n\nexport const getBooleanUserProperty = (\n\tpropertyName,\n\tcontext,\n\tdefaultValue = false\n) => {\n\tconst userPrefSymbol = getUserPrefContext(propertyName);\n\tif (!userPrefSymbol) return defaultValue;\n\treturn context?.[userPrefSymbol] === \"true\" ? true : false;\n};\n","export const SAC_QUERY = `{\n    GlideRecord_Query {\n      sys_search_context_config (pagination: {limit: 10000}) {\n        _results {\n          sys_id {\n            value\n          }\n          search_engine{\n            value\n          }\n        }\n      }\n    }\n}`;\n\nexport const SAC_QUERY_PATH = `payload.data.GlideRecord_Query.sys_search_context_config._results`;\n\nexport const AIS_ENABLED = `glide.ais.enabled`;\n\nexport const SEARCH_APPLICATION_CONFIGURATION_CACHE_KEY = `sn.aisearch.search_application_list`;\n\nexport const SEARCH_APPLICATION_CONFIGURATION_CLIENT_TTL_SECONDS_SYS_PROPERTY = `glide.search.search_application_configuration_client_cache_ttl`;\n\nexport const POLARIS_ENABLED = `glide.ui.polaris.experience`;\n\nexport const POLARIS_ENABLED_USER_PREFERENCE = `glide.ui.polaris.use`;\n\nexport const SEARCH_INTENTION = `search`;\n","import { isEmpty, isEqual } from \"lodash\";\nimport { ZING_INPUT_REQUESTED, AIS_INPUT_REQUESTED } from \"./actions\";\nimport { getBooleanProperty, getBooleanUserProperty } from \"./utils/utils\";\nimport { POLARIS_ENABLED, POLARIS_ENABLED_USER_PREFERENCE } from \"./constants\";\n\n// When the selectedSearchContext say is Global but it is not migrated to the required searchEngine\n// This function would check if its present in the filtered searchContexts\nconst checkIfSearchContextIncludesSelectedSearch = (\n\tselectedSearchContext,\n\tsearchContext\n) => {\n\tif (!isEmpty(searchContext)) {\n\t\treturn searchContext.some(elem =>\n\t\t\tisEqual(elem.id, selectedSearchContext.id)\n\t\t);\n\t}\n};\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tzingComponentLoaded,\n\t\taisComponentLoaded,\n\t\taisSearchContexts,\n\t\tzingSearchContexts,\n\t\tproperties: {\n\t\t\tplaceholder,\n\t\t\tsearchTerm,\n\t\t\tsearchContextConfigId,\n\t\t\tplacement,\n\t\t\tdisableAutocomplete,\n\t\t\tsize,\n\t\t\tglobalSearchViewConfigId,\n\t\t\tselectedSearchContext,\n\t\t\tsearchContexts,\n\t\t\taiSearchEnabled,\n\t\t\tcanAnimate,\n\t\t\twindowSize,\n\t\t\tisAIELEnabled\n\t\t}\n\t} = state;\n\tconst polarisEnabled =\n\t\tgetBooleanUserProperty(\n\t\t\tPOLARIS_ENABLED_USER_PREFERENCE,\n\t\t\tstate.context,\n\t\t\ttrue\n\t\t) && getBooleanProperty(POLARIS_ENABLED, true);\n\n\tconst useAISearch = aiSearchEnabled && polarisEnabled;\n\n\tif (useAISearch && !aisComponentLoaded) {\n\t\t// dynamically request Zing/AI Search based inputs\n\t\tdispatch(AIS_INPUT_REQUESTED);\n\t} else if (!useAISearch && !zingComponentLoaded) {\n\t\tdispatch(ZING_INPUT_REQUESTED);\n\t}\n\n\tconst doesAISSelectedContextExistInContexts = checkIfSearchContextIncludesSelectedSearch(\n\t\tselectedSearchContext,\n\t\taisSearchContexts\n\t);\n\n\t// Compute the selected context once\n\tconst aiSearchSelectedSearchContext = !isEmpty(aisSearchContexts)\n\t\t? doesAISSelectedContextExistInContexts\n\t\t\t? selectedSearchContext\n\t\t\t: aisSearchContexts[0]\n\t\t: selectedSearchContext;\n\n\t// Compute the configId based on the selected context\n\tconst aiSearchSelectedSearchContextConfigId = !isEmpty(aisSearchContexts)\n\t\t? doesAISSelectedContextExistInContexts\n\t\t\t? searchContextConfigId\n\t\t\t: aisSearchContexts[0].searchDataConfigId\n\t\t: searchContextConfigId;\n\n\treturn useAISearch && aisComponentLoaded ? (\n\t\t<sn-search-combobox\n\t\t\tsize={size}\n\t\t\tplaceholder={placeholder}\n\t\t\tsearchTerm={searchTerm}\n\t\t\tsearchContextConfigId={aiSearchSelectedSearchContextConfigId}\n\t\t\tplacement={placement}\n\t\t\tdisableAutocomplete={disableAutocomplete}\n\t\t\tcanAnimate={canAnimate}\n\t\t\twindowSize={windowSize}\n\t\t\tsearchContexts={\n\t\t\t\t!isEmpty(aisSearchContexts) ? aisSearchContexts : searchContexts\n\t\t\t}\n\t\t\tselectedSearchContext={aiSearchSelectedSearchContext}\n\t\t\tenableExactMatch\n\t\t\tisAIELEnabled={isAIELEnabled}\n\t\t\tshowUtterances={isAIELEnabled}\n\t\t/>\n\t) : zingComponentLoaded ? (\n\t\t<sn-component-workspace-global-search-typeahead\n\t\t\tglobalSearchViewConfigId={\n\t\t\t\t!isEmpty(zingSearchContexts)\n\t\t\t\t\t? checkIfSearchContextIncludesSelectedSearch(\n\t\t\t\t\t\t\tselectedSearchContext,\n\t\t\t\t\t\t\tzingSearchContexts\n\t\t\t\t\t  )\n\t\t\t\t\t\t? globalSearchViewConfigId\n\t\t\t\t\t\t: zingSearchContexts[0].searchViewConfigId\n\t\t\t\t\t: globalSearchViewConfigId\n\t\t\t}\n\t\t\tsearchTerm={searchTerm}\n\t\t\tsearchInputPlaceholder={placeholder}\n\t\t\tsearchContexts={\n\t\t\t\t!isEmpty(zingSearchContexts) ? zingSearchContexts : searchContexts\n\t\t\t}\n\t\t\tselectedSearchContext={\n\t\t\t\t!isEmpty(zingSearchContexts)\n\t\t\t\t\t? checkIfSearchContextIncludesSelectedSearch(\n\t\t\t\t\t\t\tselectedSearchContext,\n\t\t\t\t\t\t\tzingSearchContexts\n\t\t\t\t\t  )\n\t\t\t\t\t\t? selectedSearchContext\n\t\t\t\t\t\t: zingSearchContexts[0]\n\t\t\t\t\t: selectedSearchContext\n\t\t\t}\n\t\t\tcanAnimate={canAnimate}\n\t\t\twindowSize={windowSize}\n\t\t/>\n\t) : null;\n};\n\nexport default view;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { isEmpty } from \"lodash\";\nimport { getProperty } from \"sn-uxpage-presource\";\nlet local = {};\n\n// Calculates application cache time to live based on sys_property recieved or defaults it to 2hrs\nconst _getTTL = property => {\n\treturn getProperty(property, 720) * 1000;\n};\n\nconst cache = {\n\tget(namespacedKey) {\n\t\tconst item =\n\t\t\tlocal[namespacedKey] || window.localStorage.getItem(namespacedKey);\n\n\t\tif (item) {\n\t\t\tconst { value, defaultTTL, ts } =\n\t\t\t\ttypeof item === \"string\" ? JSON.parse(item) : item;\n\t\t\tif (Date.now() - ts <= defaultTTL) return value;\n\t\t\telse this.remove(namespacedKey);\n\t\t}\n\n\t\treturn undefined;\n\t},\n\tset(namespacedKey, value, propertyForTTLCalculation) {\n\t\tconst defaultTTL = _getTTL(propertyForTTLCalculation);\n\t\tconst item = { value, defaultTTL, ts: Date.now() };\n\t\tif (!isEmpty(cache.get(namespacedKey))) cache.remove(namespacedKey);\n\n\t\ttry {\n\t\t\tif (defaultTTL > 0) {\n\t\t\t\twindow.localStorage.setItem(namespacedKey, JSON.stringify(item));\n\t\t\t\tlocal[namespacedKey] = item;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.debug(`Error while adding key ${namespacedKey} to cache`, e);\n\t\t}\n\t},\n\tremove(namespacedKey) {\n\t\twindow.localStorage.removeItem(namespacedKey);\n\t}\n};\n\nexport default cache;\n","import { get, isEmpty } from \"lodash\";\nimport {\n\tSEARCH_EXECUTED,\n\tITEM_SELECTED,\n\tCONTEXT_CHANGED,\n\tFETCH_SAC_SUCEEDED,\n\tFETCH_SAC_ERROR,\n\tLAUNCH_ASSISTANT\n} from \"./actions\";\nimport { createGraphQLEffect } from \"@servicenow/ui-effect-graphql\";\nimport {\n\tSAC_QUERY,\n\tSAC_QUERY_PATH,\n\tSEARCH_APPLICATION_CONFIGURATION_CACHE_KEY,\n\tSEARCH_APPLICATION_CONFIGURATION_CLIENT_TTL_SECONDS_SYS_PROPERTY,\n\tSEARCH_INTENTION\n} from \"./constants\";\nimport cache from \"./utils/cache\";\n\n// To check if the recordUrl returned with records are external url\n// Enables polaris-app-shell to route record accordingly\n// if ExternalUrl is true app-shell will open it in a new tab\nconst _isExternalUrl = url => {\n\treturn url && url.includes(\"http\");\n};\n\n// This filters the Search contexts received from app-shell based on the search_engine\n// There are multiple search engines recieved as null we do not consider those for our component\nconst _filterSearchContexts = (availableSearchContexts, searchContexts) => {\n\tconst aisSearchContexts = searchContexts.filter(el => {\n\t\treturn availableSearchContexts.some(f => {\n\t\t\treturn (\n\t\t\t\tf.sys_id.value === el.searchDataConfigId &&\n\t\t\t\tf.search_engine.value === \"ai_search\"\n\t\t\t);\n\t\t});\n\t});\n\n\tconst zingSearchContexts = searchContexts.filter(el => {\n\t\treturn availableSearchContexts.some(f => {\n\t\t\treturn (\n\t\t\t\tf.sys_id.value === el.searchDataConfigId &&\n\t\t\t\tf.search_engine.value === \"zing\"\n\t\t\t);\n\t\t});\n\t});\n\n\treturn { aisSearchContexts, zingSearchContexts };\n};\n\nexport const handleSearchExecutedEffect = ({ action, dispatch }) => {\n\tconst {\n\t\tpayload: {\n\t\t\tsearchTerm,\n\t\t\tglobalSearchViewConfigId,\n\t\t\tselectedSearchContext,\n\t\t\tsearchContextConfigId\n\t\t}\n\t} = action;\n\n\tdispatch(SEARCH_EXECUTED, {\n\t\tsearchTerm,\n\t\t...(globalSearchViewConfigId && { globalSearchViewConfigId }),\n\t\t...(searchContextConfigId && { searchContextConfigId }),\n\t\tselectedSearchContext\n\t});\n};\n\nexport const handleItemSelectedEffect = ({ action, dispatch }) => {\n\tconst {\n\t\tpayload: { table, sysId, recordUrl, url, selectedSearchContext, title }\n\t} = action;\n\tconst isExternalUrl = _isExternalUrl(recordUrl);\n\tdispatch(ITEM_SELECTED, {\n\t\ttable,\n\t\tsysId,\n\t\trecordUrl,\n\t\tisExternalUrl,\n\t\ttitle,\n\t\t...(url && { url }),\n\t\t...(selectedSearchContext && { selectedSearchContext })\n\t});\n};\n\nexport const handleAISItemSelectedEffect = ({ action, dispatch }) => {\n\tconst {\n\t\tpayload: {\n\t\t\tactionPayload: {\n\t\t\t\ttable,\n\t\t\t\tsysId,\n\t\t\t\trecordUrl,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t\tselectedSearchContext\n\t\t\t}\n\t\t}\n\t} = action;\n\tconst navURl = recordUrl ? recordUrl : url;\n\tconst isExternalUrl = _isExternalUrl(navURl);\n\tdispatch(ITEM_SELECTED, {\n\t\ttable,\n\t\tsysId,\n\t\trecordUrl: navURl,\n\t\ttitle,\n\t\tisExternalUrl,\n\t\t...(url && { url }),\n\t\t...(selectedSearchContext && { selectedSearchContext })\n\t});\n};\n\nexport const handleContextChangedEffect = ({ action, dispatch }) => {\n\tconst { payload } = action;\n\n\tdispatch(CONTEXT_CHANGED, payload);\n};\n\nexport const handleSACFetchStartedEffect = createGraphQLEffect(SAC_QUERY, {\n\tsuccessActionType: FETCH_SAC_SUCEEDED,\n\terrorActionType: FETCH_SAC_ERROR\n});\n\nexport const handleSACFetchErrorEffect = ({ action, updateState }) => {\n\tupdateState({ fetchingSAC: false });\n\tconsole.error(\n\t\t\"An error ocurred while querying search application configurations: \" +\n\t\t\taction.payload.message\n\t);\n};\n\nexport const handleSACFetchSucceededEffect = ({\n\tupdateState,\n\taction,\n\tproperties,\n\tstate\n}) => {\n\ttry {\n\t\tconst searchContextDetailsPresentInCache =\n\t\t\taction?.payload?.searchContextDetailsPresentInCache;\n\t\tconst availableSearchContexts = isEmpty(searchContextDetailsPresentInCache)\n\t\t\t? get(action, SAC_QUERY_PATH, {})\n\t\t\t: searchContextDetailsPresentInCache;\n\t\tconst { searchContexts } = properties;\n\t\tconst { aisComponentLoaded, zingComponentLoaded } = state;\n\t\tconst { aisSearchContexts, zingSearchContexts } = _filterSearchContexts(\n\t\t\tavailableSearchContexts,\n\t\t\tsearchContexts\n\t\t);\n\t\tif (isEmpty(searchContextDetailsPresentInCache)) {\n\t\t\tcache.set(\n\t\t\t\tSEARCH_APPLICATION_CONFIGURATION_CACHE_KEY,\n\t\t\t\tavailableSearchContexts,\n\t\t\t\tSEARCH_APPLICATION_CONFIGURATION_CLIENT_TTL_SECONDS_SYS_PROPERTY\n\t\t\t);\n\t\t}\n\n\t\tupdateState({\n\t\t\taisSearchContexts,\n\t\t\tzingSearchContexts\n\t\t});\n\n\t\tif (\n\t\t\t(aisComponentLoaded && isEmpty(aisSearchContexts)) ||\n\t\t\t(zingComponentLoaded && isEmpty(zingSearchContexts))\n\t\t) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t\"The searchContexts do not match the glide.ui.polaris.ais_ready value. Please update system properties \"\n\t\t\t);\n\t\t}\n\t} catch (err) {\n\t\tconsole.error(\n\t\t\t\"Exception encountered while parsing Search Application Configuration query response: \" +\n\t\t\t\terr.message\n\t\t);\n\t} finally {\n\t\tupdateState({ fetchingSAC: false });\n\t}\n};\n\nexport const handleAssistantTriggeredEffect = ({\n\taction,\n\tdispatch,\n\tproperties\n}) => {\n\tconst { payload } = action;\n\tconst { searchContextConfigId, selectedSearchContext } = properties;\n\n\t// Construct the search result object to be transferred to the assistant.\n\tconst transferred_search_result = {\n\t\tsearchContext: {\n\t\t\t...payload,\n\t\t\tintention: SEARCH_INTENTION,\n\t\t\tsearchContextConfigId: searchContextConfigId,\n\t\t\tselectedSearchContext: selectedSearchContext\n\t\t}\n\t};\n\n\t// Prepare the payload for launching the assistant.\n\tconst assistantPayload = {\n\t\t// Start a new conversation with the assistant.\n\t\tforceNewConversation: true,\n\t\tsessionContext: {\n\t\t\t// Pass the search result context to the assistant session,\n\t\t\t// stringifying it to fit the expected format.\n\t\t\ttransferred_search_result: !isEmpty(transferred_search_result)\n\t\t\t\t? JSON.stringify(transferred_search_result)\n\t\t\t\t: \"\"\n\t\t}\n\t};\n\n\tdispatch(LAUNCH_ASSISTANT, assistantPayload);\n};\n","import { actionTypes } from \"@servicenow/ui-core\";\nimport { isEmpty, isEqual, concat } from \"lodash\";\nimport effectProxy from \"./utils/effectProxy\";\nimport {\n\tAIS_ENABLED,\n\tSEARCH_APPLICATION_CONFIGURATION_CACHE_KEY\n} from \"./constants\";\nimport { getBooleanProperty } from \"./utils/utils\";\nimport {\n\tZING_SEARCH_EXECUTED,\n\tZING_ITEM_SELECTED,\n\tZING_CONTEXT_CHANGED,\n\tAIS_SEARCH_EXECUTED,\n\tAIS_NAVIGATION_EXECUTED,\n\tAIS_CONTEXT_CHANGED,\n\tZING_INPUT_REQUESTED,\n\tAIS_INPUT_REQUESTED,\n\tFETCH_SAC_SUCEEDED,\n\tFETCH_SAC_STARTED,\n\tFETCH_SAC_ERROR,\n\tNOW_ASSIST_SUGGESTION_CLICKED\n} from \"./actions\";\n\nimport {\n\thandleSearchExecutedEffect,\n\thandleItemSelectedEffect,\n\thandleContextChangedEffect,\n\thandleAISItemSelectedEffect,\n\thandleSACFetchSucceededEffect,\n\thandleSACFetchStartedEffect,\n\thandleSACFetchErrorEffect,\n\thandleAssistantTriggeredEffect\n} from \"./effects\";\nimport cache from \"./utils/cache\";\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst aisEnabledSysProp = getBooleanProperty(AIS_ENABLED);\nconst setContextsWhenSearchEngineDefined = (updateState, searchContexts) => {\n\t// if searchEngine is defined, it is expected that the app-shell sends all zing or all ai search\n\tupdateState({\n\t\taisSearchContexts:\n\t\t\tsearchContexts[0].searchEngine === \"ai_search\" ? searchContexts : [],\n\t\tzingSearchContexts:\n\t\t\tsearchContexts[0].searchEngine === \"zing\" ? searchContexts : []\n\t});\n\tcache.remove(SEARCH_APPLICATION_CONFIGURATION_CACHE_KEY);\n};\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]({ properties, dispatch, updateState }) {\n\t\tconst {\n\t\t\tsearchContexts,\n\t\t\taisSearchContexts,\n\t\t\tzingSearchContexts\n\t\t} = properties;\n\t\tif (isEmpty(searchContexts)) return;\n\t\tif (searchContexts.some(context => context.searchEngine === undefined)) {\n\t\t\tconst searchContextDetailsPresentInCache = cache.get(\n\t\t\t\tSEARCH_APPLICATION_CONFIGURATION_CACHE_KEY\n\t\t\t);\n\t\t\tif (!isEmpty(zingSearchContexts) && !isEmpty(aisSearchContexts)) {\n\t\t\t\tconst checkContextsArray = concat(\n\t\t\t\t\taisSearchContexts,\n\t\t\t\t\tzingSearchContexts\n\t\t\t\t);\n\t\t\t\tif (isEqual(searchContexts, checkContextsArray)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (aisEnabledSysProp) {\n\t\t\t\tif (!isEmpty(searchContextDetailsPresentInCache)) {\n\t\t\t\t\tdispatch(FETCH_SAC_SUCEEDED, {\n\t\t\t\t\t\tsearchContextDetailsPresentInCache: searchContextDetailsPresentInCache\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateState({ fetchingSAC: true });\n\t\t\t\t\tdispatch(FETCH_SAC_STARTED);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tsetContextsWhenSearchEngineDefined(updateState, searchContexts);\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({\n\t\taction,\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties\n\t}) {\n\t\tconst {\n\t\t\tpayload: { name, value, previousValue }\n\t\t} = action;\n\t\tconst { searchContexts } = properties;\n\t\tconst searchContextDetailsPresentInCache = cache.get(\n\t\t\tSEARCH_APPLICATION_CONFIGURATION_CACHE_KEY\n\t\t);\n\t\tif (name === \"searchContexts\" && !isEqual(previousValue, value)) {\n\t\t\tif (isEmpty(value)) return;\n\t\t\tif (value.some(context => context.searchEngine === undefined)) {\n\t\t\t\tif (aisEnabledSysProp) {\n\t\t\t\t\tif (!isEmpty(searchContextDetailsPresentInCache)) {\n\t\t\t\t\t\tdispatch(FETCH_SAC_SUCEEDED, {\n\t\t\t\t\t\t\tsearchContextDetailsPresentInCache: searchContextDetailsPresentInCache\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (state.fetchingSAC != true) {\n\t\t\t\t\t\tdispatch(FETCH_SAC_STARTED);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsetContextsWhenSearchEngineDefined(updateState, searchContexts);\n\t\t\t}\n\t\t}\n\t\tlocalStorage.setItem(\"searchContexts\", JSON.stringify(searchContexts));\n\t},\n\t[FETCH_SAC_STARTED]: effectProxy(handleSACFetchStartedEffect),\n\t[AIS_SEARCH_EXECUTED]: {\n\t\teffect: handleSearchExecutedEffect,\n\t\tstopPropagation: true\n\t},\n\t[AIS_NAVIGATION_EXECUTED]: {\n\t\teffect: handleAISItemSelectedEffect,\n\t\tstopPropagation: true\n\t},\n\t[AIS_CONTEXT_CHANGED]: {\n\t\teffect: handleContextChangedEffect,\n\t\tstopPropagation: true\n\t},\n\t[ZING_SEARCH_EXECUTED]: {\n\t\teffect: handleSearchExecutedEffect,\n\t\tstopPropagation: true\n\t},\n\t[ZING_ITEM_SELECTED]: {\n\t\teffect: handleItemSelectedEffect,\n\t\tstopPropagation: true\n\t},\n\t[ZING_CONTEXT_CHANGED]: {\n\t\teffect: handleContextChangedEffect,\n\t\tstopPropagation: true\n\t},\n\t[ZING_INPUT_REQUESTED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tPromise.resolve(import(\"sn-component-workspace-global-search\")).then(\n\t\t\t\t() => {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tzingComponentLoaded: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t},\n\t[AIS_INPUT_REQUESTED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tPromise.resolve(import(\"@devsnc/sn-search-combobox\")).then(() => {\n\t\t\t\tupdateState({\n\t\t\t\t\taisComponentLoaded: true\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t},\n\t[FETCH_SAC_SUCEEDED]: {\n\t\teffect: handleSACFetchSucceededEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_SAC_ERROR]: {\n\t\teffect: handleSACFetchErrorEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_ASSIST_SUGGESTION_CLICKED]: {\n\t\teffect: handleAssistantTriggeredEffect,\n\t\tstopPropagation: true\n\t}\n};\n","export default effect => coeffects => effect.effect(...effect.args, coeffects);\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport view from \"./view\";\nimport actionHandlers from \"./actionHandlers\";\nimport style from \"./styles.scss\";\n\n/**\n * Zing or AI Search based field for entering and executing user search queries that displays suggested queries and results.\n *\n * ```jsx\n * <sn-search-input-wrapper\n * \t\tplaceholder=\"Search\"\n *      searchContextConfigId=\"0ce0997f7320001052c7d5fdbdf6a746\"\n *      placement=\"body\"\n *      size=\"lg\"\n * \t\tglobalSearchViewConfigId=\"97a574ea53c0130084acddeeff7b12a6\"\n * \t\tsearchContexts={[\n                        {\n                            id: \"now/cwf/agent\",\n                            label: \"CSM/FSM Configurable Workspace\",\n                            context: {\n                                path: \"now/cwf/agent\",\n                                experienceName: \"CSM/FSM Configurable Workspace\"\n                            },\n                            route: \"search\",\n                            searchDataConfigId: \"c861cea2c7022010099a308dc7c26041\",\n                            searchViewConfigId: \"97a574ea53c0130084acddeeff7b12a6\"\n                        },\n                        {\n                            id: \"now/polaris/ui\",\n                            label: \"Global\",\n                            context: {\n                                path: \"now/polaris/ui\",\n                                experienceName: \"Global Search\"\n                            },\n                            route: \"search\",\n                            searchDataConfigId: \"4961e3e7871033000929717936cb0ba7\",\n                            searchViewConfigId: \"97a574ea53c0130084acddeeff7b12a6\"\n                        }\n                    ]}\n\t\tselectedSearchContext={{\n                        id: \"now/polaris/ui\",\n                        label: \"Global\",\n                        context: \"now/polaris/ui\",\n                        route: \"search\",\n                        searchDataConfigId: \"4961e3e7871033000929717936cb0ba7\",\n                        searchViewConfigId: \"97a574ea53c0130084acddeeff7b12a6\"\n                    }}\n * />\n * ```\n *\n * @seismicElement sn-search-input-wrapper\n * @summary Seismic wrapper component that renders Zing or AI Search input based on what search engine is enabled.\n */\ncreateCustomElement(\"sn-search-input-wrapper\", {\n\trenderer: { type: snabbdom },\n\tstyles: style,\n\tview,\n\tinitialState: {\n\t\tzingComponentLoaded: false,\n\t\taisComponentLoaded: false,\n\t\taisSearchContexts: [],\n\t\tzingSearchContexts: [],\n\t\tfetchingSAC: false\n\t},\n\tproperties: {\n\t\t/* Common properties */\n\t\t/**\n\t\t * Placeholder text to display in the input box before a user enters a value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/* AI Search specific properties */\n\t\t/**\n\t\t * Initial search term for the search input.\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sys ID of the search application configuration from the sys_search_context_config table.\n\t\t * This configuration provides search and autocomplete configuration metadata.\n\t\t * @type {string}\n\t\t */\n\t\tsearchContextConfigId: {\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines where the search input is rendered\n\t\t * and defines the input's visual style.\n\t\t * @type {('header'|'body')}\n\t\t */\n\t\tplacement: {\n\t\t\tdefault: \"header\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, disables autocomplete capability.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableAutocomplete: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the component is being rendered on mobile or desktop.\n\t\t * Options include:\n\t\t * - 'sm': Set for the mobile version.\n\t\t * - 'lg': Set for the desktop version.\n\t\t * @type {('sm'|'lg')}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: \"lg\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"lg\"]\n\t\t\t}\n\t\t},\n\t\t/* Zing Search specific properties */\n\t\t/**\n\t\t * Reference to a record in sys_aw_global_search_config which configures the component view.\n\t\t * @type {string}\n\t\t */\n\t\tglobalSearchViewConfigId: {\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Array of available search contexts to show in context switch dropdown.\n\t\t * @type {array}\n\t\t */\n\t\tsearchContexts: {\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Search context to select on intial render.\n\t\t * @type {object}\n\t\t */\n\t\tselectedSearchContext: {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Boolean property for AI Search being enabled.\n\t\t * @type {boolean}\n\t\t */\n\t\taiSearchEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Boolean property for enabling animations.\n\t\t * @type {boolean}\n\t\t */\n\t\tcanAnimate: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Controls the inital interaction behavior for search input, there are three accepted values;\n\t\t * 'expanded' - renders the input as expanded,\n\t\t * 'collapsed' - renders a search icon and clicking on the icon expands the input,\n\t\t * 'mobile' - renders an expanded input with a cancel button for mobile view.\n\t\t * @type {('expanded'|'collapsed'|'mobile')}\n\t\t */\n\t\twindowSize: {\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"expanded\", \"collapsed\", \"mobile\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Boolean property for AIEL being enabled.\n\t\t * @type {boolean}\n\t\t */\n\t\tisAIELEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when search executes. Payload contains search term, search application ID and currently selected search context (if configured).\n\t\t * 'searchContextConfigId' field in the payload is specific to AI Search and `globalSearchViewConfigId` is specific to Zing Search.\n\t\t * @type {{searchTerm: string, searchContextConfigId: string}}\n\t\t */\n\t\t\"SN_SEARCH_INPUT_WRAPPER#SEARCH_EXECUTED\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tsearchTerm: { type: \"string\" },\n\t\t\t\t\tsearchContextConfigId: { type: \"string\" },\n\t\t\t\t\tglobalSearchViewConfigId: { type: \"string\" },\n\t\t\t\t\tselectedSearchContext: { type: \"object\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user clicks on a navigable item.\n\t\t * Instead of routing to a search page, this action routes to a content page.\n\t\t * Payload contains information about the record clicked and currently selected search context (if configured).\n\t\t * @type {{table: string, sysId: string, url: string}}\n\t\t */\n\t\t\"SN_SEARCH_INPUT_WRAPPER#ITEM_SELECTED\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\ttable: { type: \"string\" },\n\t\t\t\t\tsysId: { type: \"string\" },\n\t\t\t\t\trecordUrl: { type: \"string\" },\n\t\t\t\t\turl: { type: \"string\" },\n\t\t\t\t\tselectedSearchContext: { type: \"object\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the search context is changed for the search input.\n\t\t * Payload contains information about the selected search context.\n\t\t * @type {{table: string, sysId: string, url: string}}\n\t\t */\n\t\t\"SN_SEARCH_INPUT_WRAPPER#CONTEXT_CHANGED\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tid: { type: \"string\" },\n\t\t\t\t\tlabel: { type: \"string\" },\n\t\t\t\t\tcontext: { type: \"object\" },\n\t\t\t\t\troute: { type: \"string\" },\n\t\t\t\t\tsearchDataConfigId: { type: \"string\" },\n\t\t\t\t\tsearchViewConfigId: { type: \"string\" }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_search_input_wrapper=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":108,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/fuzzy-search/29.5.4/index.min.js","names":["_extends","module","exports","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","__esModule","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","default","getProperty","SYS_PROPS","NAV_FILTER_ACCURACY_SCORE","maxAndIndex","array","max","index","forEach","number","idx","search","target","threshold","searchLowerCase","toLowerCase","trim","targetLowerCase","bestMatch","score","matchIndices","matrix","Array","from","indicesMatrix","searchIterator","targetIterator","slice","find","match","consecutiveScore","previousMaxAndIndex","maxWithBefore","bestCurrentScore","bestCurrentScoreTargetIndex","matches","end","push","start"],"sources":["webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///@devsnc/fuzzy-search/29.5.4/src/constants/index.js","webpack:///@devsnc/fuzzy-search/29.5.4/src/filter/hasana.js","webpack:///@devsnc/fuzzy-search/29.5.4/src/index.js"],"sourcesContent":["function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","export const SYS_PROPS = {\n\tUI: {\n\t\tNAV_FILTER_ACCURACY_SCORE: 'glide.ui.polaris.nav_filter_accuracy_score'\n\t}\n};\n","import {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '../constants';\n\nconst maxAndIndex = (array) => {\n\tlet max = 0;\n\tlet index = 0;\n\tarray.forEach((number, idx) => {\n\t\tif (number >= max) {\n\t\t\tmax = number;\n\t\t\tindex = idx;\n\t\t}\n\t});\n\treturn {max, index};\n};\n\n/**\n * Performs a fuzzy search on a target string, ranking matches based on character sequence alignment.\n *\n * @param {string} search - The search term.\n * @param {string} target - The text to be searched.\n * @param {number} [threshold=75] - The minimum score required. Defaults to the value from `glide.ui.polaris.nav_filter_accuracy_score` or 75.\n * @returns {Object|null} An object with { search, score, matches } if a match is found, otherwise null.\n */\nexport function fuzzyFilter(\n\tsearch,\n\ttarget,\n\tthreshold = getProperty(SYS_PROPS.UI.NAV_FILTER_ACCURACY_SCORE, 75)\n) {\n\tconst searchLowerCase = search?.toLowerCase().trim();\n\tconst targetLowerCase = target?.toLowerCase();\n\tif (!search || !target) return null;\n\n\tconst bestMatch = {score: 0, matchIndices: []};\n\n\t//initalize the matrix\n\tconst matrix = Array.from({length: searchLowerCase.length}, () =>\n\t\tArray.from({length: targetLowerCase.length}, () => 0)\n\t);\n\n\tconst indicesMatrix = Array.from({length: searchLowerCase.length}, () =>\n\t\tArray.from({length: targetLowerCase.length}, () => [])\n\t);\n\n\tfor (\n\t\tlet searchIterator = 0;\n\t\tsearchIterator < searchLowerCase.length;\n\t\t++searchIterator\n\t) {\n\t\tfor (\n\t\t\tlet targetIterator = 0;\n\t\t\ttargetIterator < targetLowerCase.length;\n\t\t\t++targetIterator\n\t\t) {\n\t\t\t// when there is a match for the current letter in the search term, add its score\n\t\t\tif (targetLowerCase[targetIterator] === searchLowerCase[searchIterator]) {\n\t\t\t\t// for the first array its going to be one\n\t\t\t\tif (searchIterator === 0) {\n\t\t\t\t\tmatrix[searchIterator][targetIterator] = 1;\n\t\t\t\t\tindicesMatrix[searchIterator][targetIterator] = [targetIterator];\n\t\t\t\t\tbestMatch.score = 1;\n\t\t\t\t\tbestMatch.matchIndices = [searchIterator];\n\t\t\t\t\t// else if there is a match for the letter before it, do some maths\n\t\t\t\t} else if (\n\t\t\t\t\tmatrix[searchIterator - 1]\n\t\t\t\t\t\t.slice(0, targetIterator)\n\t\t\t\t\t\t.find((match) => match)\n\t\t\t\t) {\n\t\t\t\t\tconst previousIndexScore =\n\t\t\t\t\t\tmatrix[searchIterator - 1][targetIterator - 1] || 0;\n\t\t\t\t\tconst consecutiveScore = 1 + previousIndexScore;\n\t\t\t\t\tconst previousMaxAndIndex = maxAndIndex(\n\t\t\t\t\t\tmatrix[searchIterator - 1].slice(0, targetIterator - 1)\n\t\t\t\t\t);\n\t\t\t\t\tconst maxWithBefore =\n\t\t\t\t\t\t1 / (targetIterator - previousMaxAndIndex.index) +\n\t\t\t\t\t\tpreviousMaxAndIndex.max;\n\n\t\t\t\t\t// check which score is best\n\t\t\t\t\tlet bestCurrentScore, bestCurrentScoreTargetIndex;\n\t\t\t\t\tif (consecutiveScore > maxWithBefore) {\n\t\t\t\t\t\tbestCurrentScore = consecutiveScore;\n\t\t\t\t\t\tbestCurrentScoreTargetIndex = targetIterator - 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbestCurrentScore = maxWithBefore;\n\t\t\t\t\t\tbestCurrentScoreTargetIndex = previousMaxAndIndex.index;\n\t\t\t\t\t}\n\n\t\t\t\t\tmatrix[searchIterator][targetIterator] = bestCurrentScore;\n\t\t\t\t\tindicesMatrix[searchIterator][targetIterator] = [\n\t\t\t\t\t\t...indicesMatrix[searchIterator - 1][bestCurrentScoreTargetIndex],\n\t\t\t\t\t\ttargetIterator\n\t\t\t\t\t];\n\t\t\t\t\tif (bestMatch.score < bestCurrentScore) {\n\t\t\t\t\t\tbestMatch.score = bestCurrentScore;\n\t\t\t\t\t\tbestMatch.matchIndices = [\n\t\t\t\t\t\t\t...indicesMatrix[searchIterator][targetIterator]\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (bestMatch.matchIndices.length != searchLowerCase.length) return null;\n\n\tif (bestMatch.score >= searchLowerCase.length * (threshold / 100)) {\n\t\tconst matches = [];\n\t\tbestMatch.matchIndices.forEach((idx) => {\n\t\t\t// if item already exists in matches array, check if we should add to it to continue\n\t\t\t// the consecutive match or not\n\t\t\tif (matches.length && matches[matches.length - 1].end === idx) {\n\t\t\t\tmatches[matches.length - 1] = {\n\t\t\t\t\t...matches[matches.length - 1],\n\t\t\t\t\tend: idx + 1\n\t\t\t\t};\n\t\t\t\t// when its not consecutive, add a new entry to the matches array\n\t\t\t} else {\n\t\t\t\tmatches.push({start: idx, end: idx + 1});\n\t\t\t}\n\t\t});\n\t\treturn {search, score: bestMatch.score, matches};\n\t} else return null;\n}\n","// Filtering\nimport {fuzzyFilter} from './filter';\n\nexport default fuzzyFilter;\n"],"version":3}},{"offset":{"line":118,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/unav-utils/29.5.4/index.min.js","names":["_extends","module","exports","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","__esModule","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","default","compact","isEmpty","isNil","isUndefined","reduce","includes","search","target","start","toLowerCase","indexOf","matches","end","score","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__","INCLUDES","HASANA_FILTER","SYS_PROPS","PRODUCT_NAME","AWA_WORK_ITEM_NOTIFICATIONS_ENABLED","PRODUCT_DESCRIPTION","SYSTEM_LOCALE","SYS_LOGOUT_PROMPT","TIMEZONE_CHANGER_ROLES","TRANSACTION_STATUS_MESSAGE_ACTIVE","TRANSACTION_STATUS_MESSAGE_DELAY_TIME","RESPONSIVE_GRID_LAYOUT","DEPRECATE_HOMEPAGES","POLARIS_CLIENT_CACHE_ENABLED","POLARIS_CLIENT_CACHE_TTL_SECONDS","POLARIS_DISABLED_CLIENT_CACHE_TYPES","POLARIS_IDB_CACHE_ENABLED","USER_SELECT_LANDING_PAGE","NEXT_EXPERIENCE_ALLOWED_DOMAINS","BUILD_DATE","ANALYTICS_PRIVACY_STATEMENT","ANALYTICS_RESTRICTIONS","REFERRER_POLICY","UI","THEME_BUILDER_OVERRIDE","WORKS_WITH_BRANDING_ENABLED","LANGUAGE_PICKER_ENABLED","NAV_FAVORITE_URL_PARAM_BLACKLIST","POLARIS_EXPERIENCE","POLARIS_GLOBAL_SEARCH","POLARIS_AI_SEARCH_READY","POLARIS_MENUS","NAV_COLORS","NAV_ICONS","HISTORY_RECORDING","HISTORY_URL_PARAM_BLOCKLIST","MAX_PRINT_ROWS","PRINTER_FRIENDLY_ENABLED","IMPERSONATE_BUTTON_ENABLED","NAV_FILTER_DEBOUNCE","NAV_FILTER_ACCURACY_SCORE","DIRTY_FORM_SUPPORT_ENABLED","GLOBAL_SEARCH_ROLES","POLARIS_ON_OFF_USER_PREF_ENABLED","DARK_THEMES_ENABLED","POLARIS_DISABLE_DEFER","PAGE_LOAD_TIME_OUT","ANNOUNCEMENT_BANNER_CONFIG_ID","DISABLE_ANNOUNCEMENT_BANNER","BANNER_DELAY","MESSAGE_SERVICE_POLL_INTERVAL","MESSAGE_SERVICES","MESSAGE_SERVICE_MESSAGE","MESSAGE_SERVICE_MESSAGE_KEYS","SHOW_HELP","EMBEDDED_HELP_ENABLED","HELP_ASSISTANT_ENABLED","COLLAB_CHAT_ENABLED","COLLAB_CHAT_ENABLE_MULTI_CHATS","PRESENCE_DISABLED","GUIDED_TOURS_ENABLED","CORE_UI_NOTIFICATION_PREFERENCE","POLARIS_INVISIBLE_CONTROLS_USER_PREF_ENABLED","POLARIS_KEYBOARD_TRUNCATION_USER_PREF_ENABLED","DOMAIN_REFERENCE_PICKER_ENABLED","NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOLS_USER_PREF_ENABLED","NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOL_CHROME_WEBSTORE_URL","POLARIS_LOGO_ALLOW_SCRIPTS","NEXT_EXPERIENCE_NAV_FILTER_SINGLE_CLICK_ENABLED","INSTANCE_TOOLS_DISABLED","NOTIFICATION_ENABLED","PRODUCT_FEEDBACK_FORM_ENABLED","UXF_METRICS_ENABLED","MENU_LAZY_LOADING_ENABLED","MENU_CACHED_FLUSHSTAMP_ENABLED","NOW_ASSIST_ENABLED","NOW_ASSIST_ACCESS_ROLES","NEXT_EXPERIENCE_ALLOW_MANUAL_MENU_REFRESH","KEYBOARD_SHORTCUTS_ENABLED","USE_CURRENT_EXPERIENCE_CONTEXT","KEYBOARD_SHORTCUTS_CUSTOMIZATION_ENABLED","NEXT_EXPERIENCE_DISABLE_BATCH_API_LIST","SEPARATOR","MENU_ALL","performSearch","menu","method","hasParentMatch","ignoreParentMatch","match","descriptionMatch","actionType","label","trim","description","filter","fuzzyFilter","subItems","searchedMenus","map","subMenu","filteredMenus","m","noSubMatches","highestScore","acc","countMatches","items","level","s","item","_item$match","subItemCounts","hasChildren","totalItems","isLeaf","isMatching","Boolean","isMatchingLeaf","isMatchingGroup","isMatchingTopLevelGroup","matchingLeafItems","matchingItems","matchingGroupItems","matchingTopLevelGroupItems","findFirstNavItem","navItemIndex","firstMenuItem","sortMenuItemsRecursively","menuItems","sort","b","executeFilter","_ref","searchTerm","filterMethod","skipHighlight","sortRecursively","menus","filteredSubitems","filterMenu","sortedMenu","firstFilteredNavItem","executeSuperFilter","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","getSearchAnnouncement","PREFERENCES","COMPACT","WRAP_LIST","DATE_FORMAT","COMPACT_DATE","KEYBOARD_SHORTCUTS","FIELD_TOOLTIPS","DATA_VIZ","A11Y_DATE_FORMAT","VOICE_INPUT","A11Y_UI16","SHOW_HIDDEN_CONTROLS","TRUNCATED_TEXT","AUTO_FOCUS_ALERTS","DISABLE_ANIMATION","PRESENCE_ICON","TRUNCATION_TAB_STOP","ALERT_AUTO_DISMISSAL","MAIN_MENU_PINNED_ID","CONTEXTUAL_MENU_PINNED_ID","ALL_MENU_EDITOR_REDIRECT","A11Y_SCREEN_READER","WORKSPACES_SHOW_RIBBON","WORKSPACES_SHOW_SIDEBAR","WORKSPACES_SHOW_ACTIVITY_EXPANDED","WORKSPACES_SHOW_BADGE_COUNT","WORKSPACES_SHOW_BANNERS","WORKSPACES_LAZY_LOADING","TABBED_FORMS","RELATED_LIST_LOADING","HOMEPAGE","HOMEPAGE_TITLE","NAMESPACED","THEME","THEME_VARIANT","THEME_INFODENSITY","ATF_INSPECTOR_ENABLED","ATF_INSPECTOR_SWITCH_ON","LEGACY_NOTIFICATION_MODEL","NOTIFICATION_LOCATION","FAVORITE_EDIT_POPUP_ENABLED","SUPER_FILTER_ENABLED","RECENT_CONCOURSE_PICKER_ITEMS","CONCOURSE_PICKER_MAX_RECENT_ITEMS","DOMAIN_PICKER_SHOWN","APPLICATION_PICKER_SHOWN","UPDATE_SET_SHOWN","ENCRYPTION_SHOWN","AIEX_LAUNCH_MODE","SHOW_MENU_ITEM_TOOLTIP","HIDE_MENU_ITEM_TOOLTIP","effectProxy","effect","coeffects","args","getPreferenceValue","preferences","name","_window","defaultValue","preferenceFromChrome","find","preference","window","ux_globals","userPrefs","getBooleanPreferenceValue","userPreferences","setting","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","getProperty","getBooleanProperty","propertyName","propertyValue","toString","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","isLoggedIn","userSession","uxGlobals","disableBatchApis","Set","_getProperty","split","shouldDisableBatch","url","options","has","batch","httpOptions","baseCreateHttpEffect","createAuthedOnlyHttpEffect","properties","deepSearchElement","selector","queue","document","body","top","shift","ele","querySelector","topShadow","shadowRoot","push","allSearched","querySelectorAll","i","deepSearchAllElement","result","originalSysPropValues","sysPropOverrider","setSysProp","sysProp","_window$ux_globals","_window$ux_globals$sy","sysprops","restoreAll","originalValues","keys","forEach","createMenuTooltipHandlers","eventStartHandler","eventEndHandler","dispatch","location","createMenuTooltipHoverHandlers","createMenuTooltipFocusHandlers","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__","schedule","escapeString","string","startsWith","onMouseEnterLabelItem","hint","tooltipLabel","innerText","offsetWidth","scrollWidth","dir","toLocaleLowerCase","preventDefault","stopPropagation","onMouseEnterHistoryItem","parentElementWidth","parentElement","newLabel","onMouseEnterIconItem","ariaLabel","getAttribute","dontUseAriaLabelAsTooltip","onMouseEnterHeaderItem","classList","contains","onMouseLeaveItem","elem","getElementById","_getComputedStyle","tooltip","rect","getBoundingClientRect","mouseX","clientX","mouseY","clientY","tooltipOffset","parseInt","getComputedStyle","padding","isNaN","width","height","scheduleShowTooltip","componentId","updateState","payload","hideTooltip","showTooltip","scheduleHideTooltip","path","operation","ref","content","Array","isArray","opened","shouldRender","requestIdleCallback","setTimeout","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","HighlightedLabel","text","highlight","res","_ref2","_ref3","lastEnd","substring","class","filterMatch","className"],"sources":["webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.5.4/src/filter/includes.js","webpack:///external module \"/uxasset/externals/@devsnc/fuzzy-search/29.5.4/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.5.4/src/constants/filter.js","webpack:///@devsnc/unav-utils/29.5.4/src/constants/sys/index.js","webpack:///@devsnc/unav-utils/29.5.4/src/filter/filter-menu-items.js","webpack:///@devsnc/unav-utils/29.5.4/src/filter/filter.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.5.4/src/filter/a11y.js","webpack:///@devsnc/unav-utils/29.5.4/src/constants/settings/index.js","webpack:///@devsnc/unav-utils/29.5.4/src/constants/tooltip.js","webpack:///@devsnc/unav-utils/29.5.4/src/utils/effectProxy.js","webpack:///@devsnc/unav-utils/29.5.4/src/utils/getPreferenceValue.js","webpack:///@devsnc/unav-utils/29.5.4/src/utils/getBooleanPreferenceValue.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.5.4/src/utils/getBooleanProperty.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.5.4/src/utils/httpEffectUtils.js","webpack:///@devsnc/unav-utils/29.5.4/src/utils/domUtils.js","webpack:///@devsnc/unav-utils/29.5.4/src/utils/testUtil.js","webpack:///@devsnc/unav-utils/29.5.4/src/utils/createMenuTooltipHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.5.4/src/utils/menu-tooltips.js","webpack:///@devsnc/unav-utils/29.5.4/src/utils/requestIdleCallback.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///@devsnc/unav-utils/29.5.4/src/components/highlighted-label.js"],"sourcesContent":["function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"compact\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'compact' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].compact;\n\t\t\t\t\t} else if ('compact' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.compact || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].compact;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isUndefined\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t\t} else if ('isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isUndefined || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t} });","export function includes(search, target) {\n\tconst start = target?.toLowerCase().indexOf(search?.toLowerCase());\n\tif (start < 0) return null;\n\n\treturn {\n\t\tmatches: [\n\t\t\t{\n\t\t\t\tstart,\n\t\t\t\tend: start + search.length\n\t\t\t}\n\t\t],\n\t\tsearch,\n\t\tscore: search.length\n\t};\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_fuzzy_search_29_5_4_index_jsdbx_e6bf64b5__[\"default\"][\"default\"];\n\t\t\t\t} });","// Constant\nexport const INCLUDES = 'includes';\nexport const HASANA_FILTER = 'hasana-filter';\n","export const SYS_PROPS = {\n\tPRODUCT_NAME: 'glide.product.name',\n\tAWA_WORK_ITEM_NOTIFICATIONS_ENABLED:\n\t\t'glide.awa.work_item.notifications.enabled',\n\tPRODUCT_DESCRIPTION: 'glide.product.description',\n\tSYSTEM_LOCALE: 'glide.system.locale',\n\tSYS_LOGOUT_PROMPT: 'glide.sys.logout_prompt',\n\tTIMEZONE_CHANGER_ROLES: 'glide.timezone_changer.roles',\n\tTRANSACTION_STATUS_MESSAGE_ACTIVE: 'com.glide.request_manager.active',\n\tTRANSACTION_STATUS_MESSAGE_DELAY_TIME:\n\t\t'glide.ui.transaction.long_response.time',\n\tRESPONSIVE_GRID_LAYOUT: 'glide.cms.enable.responsive_grid_layout',\n\tDEPRECATE_HOMEPAGES: 'com.glideapp.home.deprecate_homepages',\n\tPOLARIS_CLIENT_CACHE_ENABLED: 'glide.ui.polaris.client.cache.enabled',\n\tPOLARIS_CLIENT_CACHE_TTL_SECONDS: 'glide.ui.polaris.client.cache.ttl.seconds',\n\tPOLARIS_DISABLED_CLIENT_CACHE_TYPES:\n\t\t'glide.ui.polaris.disabled.client.cache.types',\n\tPOLARIS_IDB_CACHE_ENABLED: 'glide.ui.polaris.idb.cache.enabled',\n\tUSER_SELECT_LANDING_PAGE:\n\t\t'glide.next_experience.user_selected_landing_page_enabled',\n\tNEXT_EXPERIENCE_ALLOWED_DOMAINS:\n\t\t'glide.next_experience.allowed_iframe_domains',\n\tBUILD_DATE: 'glide.builddate',\n\tANALYTICS_PRIVACY_STATEMENT: 'glide.analytics.privacy.link',\n\tANALYTICS_RESTRICTIONS: 'sn_now_analytics.restricted.uxfweb',\n\tREFERRER_POLICY: 'com.glide.security.referrerpolicy',\n\tUI: {\n\t\tTHEME_BUILDER_OVERRIDE: 'glide.ui.polaris.theme_builder.override_logo',\n\t\tWORKS_WITH_BRANDING_ENABLED: 'glide.ui.branding.works_with.is_visible',\n\t\tLANGUAGE_PICKER_ENABLED: 'glide.ui.language_picker.enabled',\n\t\tNAV_FAVORITE_URL_PARAM_BLACKLIST:\n\t\t\t'glide.ui.nav.favorite.url.param_blacklist',\n\t\tPOLARIS_EXPERIENCE: 'glide.ui.polaris.experience',\n\t\tPOLARIS_GLOBAL_SEARCH: 'glide.ui.polaris.global_search',\n\t\tPOLARIS_AI_SEARCH_READY: 'glide.ui.polaris.ais_ready',\n\t\tPOLARIS_MENUS: 'glide.ui.polaris.menus',\n\t\tNAV_COLORS: 'glide.ui.nav.colors',\n\t\tNAV_ICONS: 'glide.ui.nav.icons',\n\t\tHISTORY_RECORDING: 'glide.ui.polaris.history.recording',\n\t\tHISTORY_URL_PARAM_BLOCKLIST: 'glide.ui.polaris.history.url.param_blocklist',\n\t\tMAX_PRINT_ROWS: 'glide.ui.max_print_rows',\n\t\tPRINTER_FRIENDLY_ENABLED: 'glide.ui.printer_friendly_enabled',\n\t\tIMPERSONATE_BUTTON_ENABLED: 'glide.ui.impersonate_button.enable',\n\t\tNAV_FILTER_DEBOUNCE: 'glide.ui.polaris.nav_filter_debounce',\n\t\tNAV_FILTER_ACCURACY_SCORE: 'glide.ui.polaris.nav_filter_accuracy_score',\n\t\tDIRTY_FORM_SUPPORT_ENABLED: 'glide.ui.dirty_form_support',\n\t\tGLOBAL_SEARCH_ROLES: 'glide.ui.can_search',\n\t\tPOLARIS_ON_OFF_USER_PREF_ENABLED:\n\t\t\t'glide.ui.polaris.on_off_user_pref_enabled',\n\t\tDARK_THEMES_ENABLED: 'glide.ui.polaris.dark_themes_enabled',\n\t\tPOLARIS_DISABLE_DEFER: 'glide.ui.polaris.disable_defer',\n\t\tPAGE_LOAD_TIME_OUT: 'glide.ui.polaris.page_load_timeout',\n\t\tANNOUNCEMENT_BANNER_CONFIG_ID:\n\t\t\t'glide.ui.polaris.announcement_banner_config_id',\n\t\tDISABLE_ANNOUNCEMENT_BANNER: 'glide.ui.polaris.disable_announcement_banner',\n\t\tBANNER_DELAY: 'glide.ui.polaris.announcement_banner_delay',\n\t\tMESSAGE_SERVICE_POLL_INTERVAL: 'glide.navui.message.service.poll_interval',\n\t\tMESSAGE_SERVICES: 'glide.navui.message.services',\n\t\tMESSAGE_SERVICE_MESSAGE: 'glide.navui.message.service.message_',\n\t\tMESSAGE_SERVICE_MESSAGE_KEYS: 'glide.navui.message.service.message_keys_',\n\t\tSHOW_HELP: 'glide.product.help_show',\n\t\tEMBEDDED_HELP_ENABLED: 'com.glide.embedded_help.enabled',\n\t\tHELP_ASSISTANT_ENABLED: 'com.glide.dynamic_guidance.enabled',\n\t\tCOLLAB_CHAT_ENABLED: 'com.glide.cs.collab.enabled',\n\t\tCOLLAB_CHAT_ENABLE_MULTI_CHATS: 'com.glide.cs.collab.enable_multi_chats',\n\t\tPRESENCE_DISABLED: 'glide.ui.presence.disabled',\n\t\tGUIDED_TOURS_ENABLED: 'com.snc.guided_tours.standard_ui.enable',\n\t\tCORE_UI_NOTIFICATION_PREFERENCE:\n\t\t\t'glide.ui.polaris.core.notification_preference.enabled',\n\t\tPOLARIS_INVISIBLE_CONTROLS_USER_PREF_ENABLED:\n\t\t\t'glide.ui.polaris.invisible_controls_user_pref_enabled',\n\t\tPOLARIS_KEYBOARD_TRUNCATION_USER_PREF_ENABLED:\n\t\t\t'glide.ui.polaris.keyboard_truncation_user_pref_enabled',\n\t\tDOMAIN_REFERENCE_PICKER_ENABLED: 'glide.ui.domain_reference_picker.enabled',\n\t\tNEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOLS_USER_PREF_ENABLED:\n\t\t\t'glide.ui.next_experience.seismic_developer_tool_user_pref_enabled',\n\t\tNEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOL_CHROME_WEBSTORE_URL:\n\t\t\t'glide.ui.next_experience.seismic_developer_tool_chrome_webstore_url',\n\t\tPOLARIS_LOGO_ALLOW_SCRIPTS: 'glide.ui.polaris.logo.allow_scripts',\n\t\tNEXT_EXPERIENCE_NAV_FILTER_SINGLE_CLICK_ENABLED:\n\t\t\t'glide.ui.next_experience.nav_filter.single_click_enabled',\n\t\tINSTANCE_TOOLS_DISABLED: 'glide.ui.next_experience.instance_tools_disabled',\n\t\tNOTIFICATION_ENABLED: 'glide.ui_notification.enabled',\n\t\tPRODUCT_FEEDBACK_FORM_ENABLED: 'glide.ui.product_feedback_enabled',\n\t\tUXF_METRICS_ENABLED: 'glide.uxf.lib.ux.metrics.enabled',\n\t\tMENU_LAZY_LOADING_ENABLED:\n\t\t\t'glide.ui.next_experience.menu_lazy_loading_enabled',\n\t\tMENU_CACHED_FLUSHSTAMP_ENABLED:\n\t\t\t'glide.ui.next_experience.menu_cached_flushstamp_enabled',\n\t\tNOW_ASSIST_ENABLED: 'com.glide.now_assist.enabled',\n\t\tNOW_ASSIST_ACCESS_ROLES: 'com.glide.now_assist.access_roles',\n\t\tNEXT_EXPERIENCE_ALLOW_MANUAL_MENU_REFRESH:\n\t\t\t'glide.ui.next_experience.allow_manual_menu_refresh',\n\t\tKEYBOARD_SHORTCUTS_ENABLED: 'glide.ui.keyboard.shortcuts.enabled',\n\t\tUSE_CURRENT_EXPERIENCE_CONTEXT:\n\t\t\t'glide.ui.polaris.use.selected.search.context.route',\n\t\tKEYBOARD_SHORTCUTS_CUSTOMIZATION_ENABLED:\n\t\t\t'glide.ui.keyboard.shortcuts_customization.enabled',\n\t\tNEXT_EXPERIENCE_DISABLE_BATCH_API_LIST:\n\t\t\t'glide.ui.next_experience.disable_batch_api_list'\n\t}\n};\n\nexport const SEPARATOR = 'SEPARATOR';\nexport const MENU_ALL = 'd6e462a5c3533010cbd77096e940dd8c';\n","import {compact, isEmpty} from 'lodash';\nimport {includes} from './includes';\nimport fuzzyFilter from '@devsnc/fuzzy-search';\nimport {INCLUDES} from '../constants/filter';\nimport {SEPARATOR} from '../constants/sys';\n\n/**\n *\n * 0. If search term empty-ish, return full menu\n * 1. If match, return it\n * 2. If no match,\n *   a. If parent menu (i.e. subItems exists), recurse on subItems\n *   b. If leaf (i.e. subItems doesn't exist), return null\n *\n */\nexport default function performSearch(\n\tmenu,\n\tsearch = '',\n\tmethod = INCLUDES,\n\thasParentMatch = false, // flag to signify if the current menu is a subitem to a parent that already has a match\n\tignoreParentMatch = false // option to exclude parents from being matched\n) {\n\tif (!menu) return null;\n\t// If the menu had a previous search match clear that match\n\t// We set menu.match to Highlighted label so we do not need to search twice\n\tif (!isEmpty(menu.match)) menu.match = null;\n\tif (!isEmpty(menu.descriptionMatch)) menu.descriptionMatch = null;\n\tif (menu.actionType === SEPARATOR && !menu.label) return null;\n\tif (!search.trim() || (!menu.label && !menu.description)) return menu;\n\n\tconst filter = method === INCLUDES ? includes : fuzzyFilter;\n\tconst subItems = menu.subItems || [];\n\n\tconst match = filter(search, menu.label);\n\tif (!isEmpty(menu.description))\n\t\tmenu.descriptionMatch = filter(search, menu.description || '');\n\n\tmenu.match = match;\n\n\t// If menu has no subItems (i.e., is a leaf node), bail\n\tif (isEmpty(subItems)) return menu;\n\n\tlet searchedMenus = compact(\n\t\tsubItems.map((subMenu) =>\n\t\t\tperformSearch(subMenu, search, method, !!match, ignoreParentMatch)\n\t\t)\n\t);\n\tconst filteredMenus = searchedMenus.filter((m) => !isEmpty(m.match));\n\n\t// No match but have subItems, so filter out subItems that don't match\n\tif (ignoreParentMatch || (isEmpty(match) && !hasParentMatch))\n\t\tsearchedMenus = filteredMenus;\n\n\tconst noSubMatches = filteredMenus.length === 0;\n\n\tif (noSubMatches && ignoreParentMatch) {\n\t\treturn null;\n\t}\n\n\t// If there are no sub matches but has parent match, return the full menu\n\t// else, don't return a parent menu if it doesn't have any children\n\tif (noSubMatches) return !isEmpty(match) || hasParentMatch ? menu : null;\n\n\tconst highestScore = filteredMenus.reduce((acc, m) => {\n\t\treturn acc.match.score > m.match.score ? acc : m;\n\t});\n\n\t// We are only going to sort by parent items that have the highest score\n\t// The higher the score the better. Perfect score = length of searchTerm\n\tif (isEmpty(match)) {\n\t\tmenu.match = {score: highestScore.match.score};\n\t} else if (highestScore.match.score > menu.match.score) {\n\t\tmenu.match.score = highestScore.match.score;\n\t}\n\n\treturn {\n\t\t...menu,\n\t\tsubItems: searchedMenus\n\t};\n}\n","import {compact, isEmpty, reduce} from 'lodash';\nimport filterMenu from './filter-menu-items';\n\nconst countMatches = (items = [], ignoreParentMatch = false, level = 0) => {\n\treturn reduce(\n\t\titems,\n\t\t(s, item) => {\n\t\t\tconst subItems = item.subItems || [];\n\t\t\tconst subItemCounts = countMatches(subItems, level + 1);\n\n\t\t\tconst hasChildren = subItemCounts.totalItems > 0;\n\t\t\tconst isLeaf = subItemCounts.totalItems === 0;\n\t\t\tconst isMatching = Boolean(item?.match?.matches);\n\t\t\tconst isMatchingLeaf = isLeaf && isMatching;\n\t\t\tconst isMatchingGroup = ignoreParentMatch ? hasChildren : isMatching;\n\t\t\tconst isMatchingTopLevelGroup =\n\t\t\t\tsubItemCounts.matchingLeafItems > 0 && isMatchingGroup && level === 0;\n\n\t\t\treturn {\n\t\t\t\tmatchingItems:\n\t\t\t\t\ts.matchingItems + subItemCounts.matchingItems + (isMatching ? 1 : 0),\n\n\t\t\t\ttotalItems: s.totalItems + subItemCounts.totalItems + 1,\n\n\t\t\t\tmatchingLeafItems:\n\t\t\t\t\ts.matchingLeafItems +\n\t\t\t\t\tsubItemCounts.matchingLeafItems +\n\t\t\t\t\t(isMatchingLeaf ? 1 : 0),\n\n\t\t\t\tmatchingGroupItems:\n\t\t\t\t\ts.matchingGroupItems +\n\t\t\t\t\tsubItemCounts.matchingGroupItems +\n\t\t\t\t\t(isMatchingGroup ? 1 : 0),\n\n\t\t\t\tmatchingTopLevelGroupItems:\n\t\t\t\t\ts.matchingTopLevelGroupItems +\n\t\t\t\t\tsubItemCounts.matchingTopLevelGroupItems +\n\t\t\t\t\t(isMatchingTopLevelGroup ? 1 : 0)\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tmatchingItems: 0,\n\t\t\ttotalItems: 0,\n\t\t\tmatchingLeafItems: 0,\n\t\t\tmatchingGroupItems: 0,\n\t\t\tmatchingTopLevelGroupItems: 0\n\t\t}\n\t);\n};\n\nconst findFirstNavItem = (menu = [], navItemIndex = 0) => {\n\tconst firstMenuItem = menu[navItemIndex];\n\n\tif (!firstMenuItem) return false;\n\n\tif (firstMenuItem.subItems) {\n\t\t// first item was not navigable so look in its subitems\n\t\treturn findFirstNavItem(firstMenuItem.subItems, 0);\n\t} else {\n\t\tif (firstMenuItem.match === null) {\n\t\t\t// if the first item doesnt have a match, keep moving down the list until we find one that does\n\t\t\treturn findFirstNavItem(menu, navItemIndex + 1);\n\t\t} else {\n\t\t\t// we found our first nav item so return it and be done.\n\t\t\treturn firstMenuItem;\n\t\t}\n\t}\n};\n\nconst sortMenuItemsRecursively = (menuItems) => {\n\treturn menuItems\n\t\t.map((item) => {\n\t\t\tif (item.subItems) {\n\t\t\t\titem.subItems = sortMenuItemsRecursively(item.subItems);\n\t\t\t}\n\t\t\treturn item;\n\t\t})\n\t\t.sort((a, b) => b.match.score - a.match.score);\n};\n\nexport const executeFilter = ({\n\tmenu,\n\tsearchTerm,\n\tfilterMethod,\n\tskipHighlight,\n\tsortRecursively = false,\n\tignoreParentMatch = false\n}) => {\n\tif (isEmpty(searchTerm)) return menu;\n\tconst menus = menu?.subItems || [];\n\n\tconst searchedSubitems = compact(\n\t\tmenus.map((m) =>\n\t\t\tfilterMenu(m, searchTerm, filterMethod, false, ignoreParentMatch)\n\t\t)\n\t);\n\n\t// When on a collapsible list like Domain a Domain may not be a match or a parent with subItems\n\tconst filteredSubitems = searchedSubitems.filter((m) => !isEmpty(m.match));\n\n\tconst {\n\t\tmatchingItems,\n\t\ttotalItems,\n\t\tmatchingLeafItems,\n\t\tmatchingGroupItems,\n\t\tmatchingTopLevelGroupItems\n\t} = countMatches(filteredSubitems, ignoreParentMatch);\n\n\tconst sortedMenu = sortRecursively\n\t\t? sortMenuItemsRecursively(filteredSubitems)\n\t\t: filteredSubitems.sort((a, b) => b.match.score - a.match.score);\n\n\treturn {\n\t\t...menu,\n\t\tsubItems: sortedMenu,\n\t\tmatchingItems,\n\t\tmatchingLeafItems,\n\t\tmatchingGroupItems,\n\t\tmatchingTopLevelGroupItems,\n\t\ttotalItems,\n\t\tfirstFilteredNavItem: !skipHighlight ? findFirstNavItem(sortedMenu) : null\n\t};\n};\n\nexport const executeSuperFilter = (\n\tmenu,\n\tsearchTerm,\n\tfilterMethod,\n\tskipHighlight\n) => {\n\treturn executeFilter({menu, searchTerm, filterMethod, skipHighlight});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {t} from 'sn-translate';\n\nexport const getSearchAnnouncement = (menuItems) => {\n\tconst {matchingTopLevelGroupItems, matchingLeafItems, totalItems} = menuItems;\n\n\tif (totalItems === 0) {\n\t\treturn t('No results found');\n\t}\n\n\tif (matchingLeafItems === 1 && matchingTopLevelGroupItems === 1) {\n\t\treturn t(\n\t\t\t'{0} item in {1} category found',\n\t\t\tmatchingLeafItems,\n\t\t\tmatchingTopLevelGroupItems\n\t\t);\n\t} else if (matchingLeafItems === 1 && matchingTopLevelGroupItems > 1) {\n\t\treturn t(\n\t\t\t'{0} item in {1} categories found',\n\t\t\tmatchingLeafItems,\n\t\t\tmatchingTopLevelGroupItems\n\t\t);\n\t} else if (matchingLeafItems > 1 && matchingTopLevelGroupItems === 1) {\n\t\treturn t(\n\t\t\t'{0} items in {1} category found',\n\t\t\tmatchingLeafItems,\n\t\t\tmatchingTopLevelGroupItems\n\t\t);\n\t} else {\n\t\treturn t(\n\t\t\t'{0} items in {1} categories found',\n\t\t\tmatchingLeafItems,\n\t\t\tmatchingTopLevelGroupItems\n\t\t);\n\t}\n};\n","export const PREFERENCES = {\n\tCOMPACT: 'glide.ui.compact',\n\tWRAP_LIST: 'table.wrap',\n\tDATE_FORMAT: 'glide.ui.date_format',\n\tCOMPACT_DATE: 'glide.ui.short_date_format',\n\tKEYBOARD_SHORTCUTS: 'glide.ui.keyboard.shortcuts.enabled',\n\tFIELD_TOOLTIPS: 'glide.ui.accessibility.accessible.tooltips',\n\tDATA_VIZ: 'glide.ui.report.accessibility.patterns',\n\tA11Y_DATE_FORMAT: 'glide.ui.accessibility.accessible.dateFormat',\n\tVOICE_INPUT: 'glide.ui.accessibility.voice_input',\n\tA11Y_UI16: 'glide.ui.accessibility',\n\tSHOW_HIDDEN_CONTROLS: 'glide.ui.accessibility.show_hidden_controls',\n\tTRUNCATED_TEXT: 'glide.ui.accessibility.show_truncated_text',\n\tAUTO_FOCUS_ALERTS: 'glide.ui.accessibility.alertAutoFocus',\n\tDISABLE_ANIMATION: 'glide.polaris.animation_disabled',\n\tPRESENCE_ICON: 'glide.polaris.accessibility.presence_icon',\n\tTRUNCATION_TAB_STOP: 'glide.polaris.accessibility.truncation_tab_stop',\n\tALERT_AUTO_DISMISSAL: 'glide.uxf.alert.auto_dismissal_enabled',\n\n\tMAIN_MENU_PINNED_ID: 'glide.ui.menu.main.pinned.id',\n\tCONTEXTUAL_MENU_PINNED_ID: 'glide.ui.menu.contextual.pinned.id',\n\n\tALL_MENU_EDITOR_REDIRECT: 'all.menu.editor.redirect',\n\n\tA11Y_SCREEN_READER: 'glide.ui.report.accessibility.screen_reader_table',\n\tWORKSPACES_SHOW_RIBBON: 'workspace.showRibbon',\n\tWORKSPACES_SHOW_SIDEBAR: 'workspace.showAgentAssist',\n\tWORKSPACES_SHOW_ACTIVITY_EXPANDED: 'activity.expand_by_default',\n\tWORKSPACES_SHOW_BADGE_COUNT: 'workspace.notifications.showBadgeCount',\n\tWORKSPACES_SHOW_BANNERS: 'workspace.notifications.showPopups',\n\tWORKSPACES_LAZY_LOADING: 'workspace.lazyLoading.enabled',\n\tTABBED_FORMS: 'tabbed.forms',\n\tRELATED_LIST_LOADING: 'glide.ui.related_list_timing',\n\tHOMEPAGE: 'my_home_navigation_page',\n\tHOMEPAGE_TITLE: 'glide.next_experience.homepage_title',\n\tNAMESPACED: {\n\t\tTHEME: 'theme',\n\t\tTHEME_VARIANT: 'theme.variant',\n\t\tTHEME_INFODENSITY: 'theme.infodensity'\n\t},\n\t/**\n\t * In UI16, toggling enablement also toggles the switch; however, toggling the switch (ie. header icon) does not toggle enablement.\n\t * For Polaris, there is no header icon and only the enablement toggle.\n\t */\n\tATF_INSPECTOR_ENABLED: 'glide.atf_inspector.enabled',\n\tATF_INSPECTOR_SWITCH_ON: 'glide.atf_inspector.switch.on',\n\tLEGACY_NOTIFICATION_MODEL: 'glide.notification.use_legacy_subscription_model',\n\tNOTIFICATION_LOCATION: 'glide.notification.banner_location',\n\tFAVORITE_EDIT_POPUP_ENABLED: 'glide.ui.favorites.quick_edit_enabled',\n\tSUPER_FILTER_ENABLED: 'glide.ui.menu.superFilter.enabled',\n\tRECENT_CONCOURSE_PICKER_ITEMS: 'glide.ui.concourse_picker.recent_items',\n\tCONCOURSE_PICKER_MAX_RECENT_ITEMS:\n\t\t'glide.ui.concourse_picker.max_recent_items',\n\tDOMAIN_PICKER_SHOWN: 'glide.ui.domain_picker.in_header',\n\tAPPLICATION_PICKER_SHOWN: 'glide.ui.application_picker.in_header',\n\tUPDATE_SET_SHOWN: 'glide.ui.update_set_picker.in_header',\n\tENCRYPTION_SHOWN: 'glide.ui.encryption_picker.in_header',\n\tAIEX_LAUNCH_MODE: 'com.glide.aiex.launch_mode'\n};\n","export const SHOW_MENU_ITEM_TOOLTIP = 'NAV_PANEL_CONTENT#SHOW_TOOLTIP';\nexport const HIDE_MENU_ITEM_TOOLTIP = 'NAV_PANEL_CONTENT#HIDE_TOOLTIP';\n","/* istanbul ignore file */\n\n/**\n * Taken from: https://code.devsnc.com/dev/sn-uxf-builder-middleware/blob/ci/master/src/sn-uxf-builder-middleware/helpers/effectProxy.js\n * Handy dandy proxy for helping keep effect functions mockable by sinon, example:\n *\n * export const unProxiedFetchEffect = createGraphQLEffect(someQuery, {\n *  startActionType,\n *  successActionType,\n *  errorActionType\n * })\n *\n * In actionHandlers -\n * import effectProxy from '../helpers/effectProxy'\n * ...\n * [ACTION_CONSTANT]: effectProxy(unProxiedFetchEffect)\n *\n * In tests -\n * import { unProxiedFetchEffect } from './component-file'\n * ...\n * beforeEach(() => {\n *  sandbox.stub(unProxiedFetchEffect, 'effect')\n * })\n */\nexport const effectProxy = (effect) => (coeffects) =>\n\teffect.effect(...effect.args, coeffects);\n","import isNil from 'lodash/isNil';\n\nexport function getPreferenceValue(preferences, name, defaultValue = null) {\n\t// Preferences read from now-ui.glideUserPreferences are stored in ux_globals\n\t// Check canvas chrome first bc those are kept up to date\n\t// TODO: This should all eventually come from the global as we\n\t// move our preferences out from the canvas data broker and into our now-ui\n\tconst preferenceFromChrome = preferences?.find(\n\t\t(preference) => preference.name === name\n\t);\n\n\tconst preference = preferenceFromChrome ?? {\n\t\tvalue: window?.ux_globals?.userPrefs?.[name]\n\t};\n\n\treturn isNil(preference?.value) ? defaultValue : preference.value;\n}\n","import {getPreferenceValue} from './getPreferenceValue';\nimport isNil from 'lodash/isNil';\n\nexport function getBooleanPreferenceValue(\n\tuserPreferences,\n\tpreference,\n\tdefaultValue = false\n) {\n\tconst setting = getPreferenceValue(userPreferences, preference);\n\treturn isNil(setting) ? defaultValue : setting === true || setting === 'true';\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","import {getProperty} from 'sn-uxpage-presource';\n\nexport function getBooleanProperty(propertyName, defaultValue = false) {\n\tconst propertyValue = getProperty(propertyName, defaultValue);\n\treturn (\n\t\tpropertyValue === true || propertyValue.toString().toLowerCase() === 'true'\n\t);\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import {createHttpEffect as baseCreateHttpEffect} from '@servicenow/ui-effect-http';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {isEmpty} from 'lodash';\nimport {SYS_PROPS} from '../constants';\n\nexport function isLoggedIn(userSession, uxGlobals = window?.ux_globals) {\n\treturn isEmpty(userSession)\n\t\t? uxGlobals?.isLoggedIn === 'true'\n\t\t: userSession.isLoggedIn;\n}\n\nconst disableBatchApis = new Set(\n\tgetProperty(SYS_PROPS.UI.NEXT_EXPERIENCE_DISABLE_BATCH_API_LIST, '')?.split(\n\t\t','\n\t)\n);\n\nconst shouldDisableBatch = (url, options) => {\n\treturn disableBatchApis.has(url) || !options.batch;\n};\n\nexport const createHttpEffect = (url, options) => {\n\tconst httpOptions = {\n\t\t...options,\n\t\tbatch: !shouldDisableBatch(url, options)\n\t};\n\treturn baseCreateHttpEffect(url, httpOptions);\n};\n\nexport const createAuthedOnlyHttpEffect = (url, options) => {\n\tconst {effect, args} = createHttpEffect(url, options);\n\n\treturn {\n\t\targs,\n\t\teffect: (url, options, coeffects) => {\n\t\t\tconst userSession = coeffects.properties.userSession;\n\t\t\t// Handle race where the userSession selected property isn't resolved at this point\n\t\t\t// If it is empty, it will be on initial load and eventually resolve.\n\n\t\t\tif (isLoggedIn(userSession)) {\n\t\t\t\treturn effect(url, options, coeffects);\n\t\t\t}\n\t\t}\n\t};\n};\n","export const deepSearchElement = (selector, root = document.body) => {\n\tconst queue = [root];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(selector);\n\t\tif (ele) return ele;\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n};\n\nexport const deepSearchAllElement = (selector, root = document.body) => {\n\tconst queue = [root];\n\tconst result = [];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelectorAll(selector);\n\t\tif (ele && ele.length > 0) result.push(...ele);\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n\treturn result;\n};\n","let originalSysPropValues = {};\n\nconst sysPropOverrider = {\n\tsetSysProp: (sysProp, value) => {\n\t\twindow.ux_globals = window.ux_globals ?? {sysprops: {}};\n\t\twindow.ux_globals.sysprops = window.ux_globals.sysprops ?? {};\n\n\t\toriginalSysPropValues[sysProp] = window.ux_globals.sysprops[sysProp];\n\t\twindow.ux_globals.sysprops[sysProp] = value;\n\t},\n\trestoreAll: () => {\n\t\tconst originalValues = originalSysPropValues;\n\t\tObject.keys(originalValues).forEach((key) => {\n\t\t\twindow.ux_globals.sysprops[key] = originalValues[key];\n\t\t});\n\t\toriginalSysPropValues = {};\n\t}\n};\n\nexport {sysPropOverrider};\n","/**\n * These methods handle creating the event listeners to trigger tooltip on elements in the menu\n * Some menu items can have focus and hover on the same DOM element and some don't so we have 3 methods to handle all those cases.\n */\n\n// setup event listener for both hover and focus\nexport const createMenuTooltipHandlers = (\n\teventStartHandler,\n\teventEndHandler,\n\tdispatch,\n\tlocation\n) => ({\n\t'on-focus': (e) => {\n\t\teventStartHandler(e, dispatch, location);\n\t},\n\t'on-mouseenter': (e) => {\n\t\teventStartHandler(e, dispatch, location);\n\t},\n\t'on-mouseleave': (e) => {\n\t\teventEndHandler(e, dispatch);\n\t},\n\t'on-blur': (e) => {\n\t\teventEndHandler(e, dispatch);\n\t}\n});\n\n// setup event listeners for just hover events\nexport const createMenuTooltipHoverHandlers = (\n\teventStartHandler,\n\teventEndHandler,\n\tdispatch\n) => ({\n\t'on-mouseenter': (e) => {\n\t\teventStartHandler(e, dispatch);\n\t},\n\t'on-mouseleave': (e) => {\n\t\teventEndHandler(e, dispatch);\n\t}\n});\n\n// setup event listeners for just cursor focus events\nexport const createMenuTooltipFocusHandlers = (\n\teventStartHandler,\n\teventEndHandler,\n\tdispatch\n) => ({\n\t'on-focus': (e) => {\n\t\teventStartHandler(e, dispatch);\n\t},\n\t'on-blur': (e) => {\n\t\teventEndHandler(e, dispatch);\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"schedule\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.__esModule\n\t\t\t\t\tif (cjsModule && 'schedule' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].schedule;\n\t\t\t\t\t} else if ('schedule' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.schedule || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].schedule;\n\t\t\t\t} });","import {schedule} from '@servicenow/now-tooltip';\n\nimport {\n\tSHOW_MENU_ITEM_TOOLTIP,\n\tHIDE_MENU_ITEM_TOOLTIP\n} from '../constants/tooltip';\n\nexport const escapeString = (string) => {\n\tif (!string) {\n\t\treturn string;\n\t}\n\n\treturn string.startsWith('@') ? `\\\\${string}` : string;\n};\n\n/**\n * Methods used trigger tooltip on elements in the menu\n * These methods handle both hover and focus on elements.\n * Event handlers are setup in /utils/createMenuTooltipHandlers.js\n *\n * Tooltips work by looking for specific elements inside the menu item which triggered the event.\n * These methods looks for elements with 'label', 'tooltip-label', or 'hint' in their css class names.\n *\n * \tTooltip Rules based on class name:\n *  * If 'label' is found the code will check to see if the text inside that elements overflows and will show the tooltip if it does. The element with the label class will also be the referent target for tooltip placement.\n *\n *  * If 'hint' is found the code will always show a tooltip for that element. The content of the 'hint' element will be used to populate the tooltip. The element with the 'label' class will still be used to place the tooltip.\n *\n * \t* If 'tooltip-label' is found then an icon triggered the event. In this case tooltip always shown and the element which triggered the event will be the tooltip reference element for placement.\n */\n\n// handle showing a tooltip for a text label\nexport const onMouseEnterLabelItem = (e, dispatch) => {\n\tconst label = e.target.querySelector('.label');\n\tconst hint = e.target.querySelector('span.hint');\n\tconst tooltipLabel = hint\n\t\t? escapeString(hint.innerText)\n\t\t: escapeString(label.innerText);\n\n\tif ((!label && !hint) || (label.offsetWidth >= label.scrollWidth && !hint))\n\t\treturn;\n\tdispatch(SHOW_MENU_ITEM_TOOLTIP, {\n\t\ttarget: label,\n\t\tlabel: tooltipLabel,\n\t\tlocation:\n\t\t\tdocument.dir.toLocaleLowerCase() === 'rtl'\n\t\t\t\t? ['bottom-center top-center', 'top-start bottom-end']\n\t\t\t\t: ['bottom-center top-center', 'top-end bottom-start'] // Best position so as to not overlap (ie. hide) any other icon/label items\n\t});\n\te.preventDefault();\n\te.stopPropagation();\n};\n\n// handle showing a tooltip for a text label\nexport const onMouseEnterHistoryItem = (e, dispatch) => {\n\tconst label = e.target.querySelector('.label');\n\tconst description = e.target.querySelector('.menu-item-description');\n\n\tif (!label) return;\n\n\tconst parentElementWidth = label.parentElement.offsetWidth;\n\n\tif (\n\t\tlabel.offsetWidth > parentElementWidth ||\n\t\tdescription?.offsetWidth > parentElementWidth\n\t) {\n\t\tlet newLabel = label.innerText;\n\t\tif (description) {\n\t\t\tnewLabel += ` - ${description.innerText}`;\n\t\t}\n\n\t\tdispatch(SHOW_MENU_ITEM_TOOLTIP, {\n\t\t\ttarget: label,\n\t\t\tlabel: `${newLabel}`,\n\t\t\tlocation: 'top-left'\n\t\t});\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t}\n};\n\n// handle showing a tooltip for an icon\nexport const onMouseEnterIconItem = (e, dispatch, location) => {\n\tconst label = e.target.querySelector('span.tooltip-label');\n\tconst ariaLabel = e.target.getAttribute('aria-label') || null;\n\tconst dontUseAriaLabelAsTooltip =\n\t\te.target.getAttribute('data-dont-use-aria-label-as-tooltip') || false;\n\tif (!label && !ariaLabel) return;\n\tdispatch(SHOW_MENU_ITEM_TOOLTIP, {\n\t\ttarget: e.target,\n\t\tlabel:\n\t\t\tariaLabel && !dontUseAriaLabelAsTooltip ? ariaLabel : label.innerText,\n\t\tlocation: location || 'top-center'\n\t});\n\te.preventDefault();\n\te.stopPropagation();\n};\n\n// handle showing a tooltip for a menu label in header\nexport const onMouseEnterHeaderItem = (e, dispatch) => {\n\tconst label = e.target;\n\tconst tooltipLabel = label.innerText;\n\n\tif (\n\t\t!label.classList.contains('shown') ||\n\t\tlabel.offsetWidth >= label.scrollWidth\n\t)\n\t\treturn;\n\tdispatch(SHOW_MENU_ITEM_TOOLTIP, {\n\t\ttarget: label,\n\t\tlabel: tooltipLabel,\n\t\tlocation: 'bottom-center'\n\t});\n\n\te.preventDefault();\n};\n\n// handle removing the tooltip when mouse or cursor focus leaves element\nexport const onMouseLeaveItem = (e, dispatch) => {\n\tconst elem = document.getElementById('tooltip');\n\tif (elem) {\n\t\tconst tooltip = elem.shadowRoot.querySelector('.now-tooltip');\n\t\tconst rect = tooltip.getBoundingClientRect();\n\t\tconst mouseX = e.clientX;\n\t\tconst mouseY = e.clientY;\n\n\t\tvar tooltipOffset = parseInt(getComputedStyle(tooltip)?.padding);\n\t\ttooltipOffset = isNaN(tooltipOffset) ? 0 : tooltipOffset;\n\t\tif (\n\t\t\trect.x <= mouseX &&\n\t\t\tmouseX <= rect.x + rect.width &&\n\t\t\trect.y - tooltipOffset <= mouseY &&\n\t\t\tmouseY <= rect.y + rect.height + tooltipOffset\n\t\t) {\n\t\t\t// If mouse left item to hover over tooltip, don't hide it\n\t\t\treturn;\n\t\t}\n\t}\n\n\tdispatch(HIDE_MENU_ITEM_TOOLTIP);\n\te.preventDefault();\n\te.stopPropagation();\n};\n\n/**\n * Methods used to schedule the showing/hiding of a menu's tooltip\n * This scheduling is part of the sn-tooltip component to manage it's 'open' state\n */\n\n// schedule showing the tooltip\nexport const scheduleShowTooltip = (componentId, updateState, payload) => {\n\thideTooltip(updateState);\n\tschedule(componentId, showTooltip.bind(null, updateState, payload));\n};\n\n// schedule hiding the tooltip\nexport const scheduleHideTooltip = (componentId, updateState) => {\n\tschedule(componentId, hideTooltip.bind(null, updateState));\n};\n\n/**\n * Private methods used to update the state of 'currentTooltip' for this the menu\n * Called by tooltip scheduler methods above. Never call directly.\n */\nconst showTooltip = (updateState, payload) => {\n\t// sometimes in a pinned Favorites Menu, after removing a favorite, focus will get returned the to\n\t// remove favorite button in the menu for the favorite being removed. This triggers a scheduleShowTooltip.\n\t// Then, in the time between scheduleShowTooltip and showTooltip, the element is removed from the menu. This\n\t// will cause the tooltip to layout wrong since its target element has no width so the check below prevents the tooltip from\n\t// appearing if the target element has zero width. We can not simply check if the element is null at this point\n\t// because payload.target will *always* be holding a reference to the removed DOM element since the element was still on the page at\n\t// the time scheduleShowTooltip was called.\n\tif (payload.target.offsetWidth > 0) {\n\t\tupdateState({\n\t\t\tpath: 'currentTooltip',\n\t\t\toperation: 'set',\n\t\t\tvalue: {\n\t\t\t\tref: payload.target,\n\t\t\t\tcontent: payload.label,\n\t\t\t\tlocation: Array.isArray(payload?.location)\n\t\t\t\t\t? payload?.location\n\t\t\t\t\t: [payload?.location],\n\t\t\t\topened: true\n\t\t\t},\n\t\t\tshouldRender: true\n\t\t});\n\t}\n};\n\nconst hideTooltip = (updateState) => {\n\tupdateState({\n\t\tpath: 'currentTooltip',\n\t\toperation: 'set',\n\t\tvalue: {ref: null, content: '', location: '', opened: false},\n\t\tshouldRender: true\n\t});\n};\n","/* istanbul ignore file */\n\nexport const requestIdleCallback = (...args) => {\n\treturn (window.requestIdleCallback || window.setTimeout)(...args);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t} });","import {isUndefined} from 'lodash';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {INCLUDES} from '../constants';\n\nexport function HighlightedLabel({text, matches, filterMethod, search}) {\n\t// Concourse pickers like Application scope and Update set\n\t// are always an Includes lodash search and only require basic highlighting\n\tif (isUndefined(matches)) {\n\t\treturn filterMethod === INCLUDES && search?.trim()\n\t\t\t? highlight(text, search)\n\t\t\t: text;\n\t}\n\n\tconst res = matches.reduce(\n\t\t({lastEnd, result}, {start, end}) => {\n\t\t\treturn {\n\t\t\t\tlastEnd: end,\n\t\t\t\tresult: [\n\t\t\t\t\t...result,\n\t\t\t\t\ttext.substring(lastEnd, start),\n\t\t\t\t\t<mark\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'filter-match': true\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{text.substring(start, end)}\n\t\t\t\t\t<\/mark>\n\t\t\t\t]\n\t\t\t};\n\t\t},\n\t\t{lastEnd: 0, result: []}\n\t);\n\n\tres.result = [...res.result, text.substring(res.lastEnd, text.length)];\n\treturn res.result;\n}\n\nconst highlight = (text, search) => {\n\tconst start = text.toLowerCase().indexOf(search.toLowerCase());\n\tif (start < 0) return text;\n\n\tconst filterMatch = {\n\t\tstart,\n\t\tend: start + search.length\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{text.substring(0, filterMatch.start)}\n\t\t\t<mark className=\"filter-match\">\n\t\t\t\t{text.substring(filterMatch.start, filterMatch.end)}\n\t\t\t<\/mark>\n\t\t\t{text.substring(filterMatch.end)}\n\t\t<\/Fragment>\n\t);\n};\n"],"version":3}},{"offset":{"line":134,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/sn-impersonation/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","IMPERSONATE_USER_CLICKED","USER_IMPERSONATED","USER_DESELECTED","IMPERSONATION_MODAL_DISMISSED","SEARCH_IMPERSONATE_LIST_REQUESTED","GET_IMPERSONATE_LIST_REQUESTED","GET_IMPERSONATE_SUCCEEDED","RECENT_FETCH_REQUESTED","RECENT_FETCH_SUCCEEDED","RECENT_FETCH_FAILED","USER_IMPERSONATE_SUCCEEDED","USER_IMPERSONATE_FAILED","IMPERSONATION_ENDED","START_TRACK_TIME","END_TRACK_TIME","IMPERSONATE_FETCH_TIME_PATH","getModalDimensions","_ref","recentImpersonations","totalRecentImpersonations","width","height","Impersonation","_ref2","selectedUser","searchResult","users","className","label","placeholder","items","icon","slot","RecentImpersonations","_ref3","recentsContainsTypeaheadResult","find","_ref4","UserCard","selected","user","role","illustration","heading","_ref5","avatarProps","sublabel","interaction","size","sysId","button","hideTooltip","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__","createHttpEffect","effectProxy","COMPONENT_RENDER_REQUESTED","COMPONENT_BOOTSTRAPPED","COMPONENT_PROPERTY_CHANGED","getImpersonationListEffect","method","dataParam","batch","successActionType","fetchRecentImpersonationsEffect","errorActionType","convertUser","avatar","sys_id","user_name","name","$$displayValue","userName","imageSrc","actionHandlers","effect","_ref7","dispatch","properties","endImpersonation","stopPropagation","_ref8","action","userMeta","modalOpened","state","dependenciesFetched","fetchingDependencies","updateState","_userMeta$roles","preventDefault","isImpersonating","window","localStorage","setItem","roles","includes","_ref9","payload","previousValue","_ref10","search","qualifier","finalSearchTerm","replace","searchMethod","test","hasAdminRole","getItem","data","p","count","start","sysparm_for_impersonation","table","user_display_value","user_sys_id","_ref11","interceptors","context","coeffects","path","filter","metric","time","Date","now","_ref12","_ref13","_ref14","_ref15","initialTypeaheadLoad","modifier","delay","_ref6","meta","appended","impersonateUserEffect","pathParams","removeItem","impersonatingUserId","view","impersonateDisabled","opened","customSize","variant","disabled","clickActionType","styles","nowPriority","deepCompare","schema","type","behaviors","behavior","impersonationBehavior","initialState","__TECTONIC__$devsnc_sn_impersonation"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@devsnc/sn-impersonation/src/impersonation-modal/impersonation.scss","webpack:///./src/impersonation-modal/impersonation.scss?0d1b","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-avatar/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-card/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-typeahead/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@devsnc/sn-impersonation/src/actions.js","webpack:///@devsnc/sn-impersonation/src/utils/modalUtils.js","webpack:///@devsnc/sn-impersonation/src/impersonation-modal/impersonation.view.js","webpack:///external module \"/uxasset/externals/@devsnc/unav-utils/29.5.4/index.jsdbx\"","webpack:///@devsnc/sn-impersonation/src/impersonation-modal/impersonation.effects.js","webpack:///@devsnc/sn-impersonation/src/impersonation-behavior/index.js","webpack:///@devsnc/sn-impersonation/src/impersonation-modal/index.js","webpack:///@devsnc/sn-impersonation/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-typeahead{margin-block-start:0;width:100%}now-icon.search-icon{margin-inline-end:.75rem}now-template-message-empty-state{margin-block-start:1rem}.impersonation{margin-inline:.25rem}.recent-impersonations .recent-impersonations-list .recent-impersonations-header{color:RGB(var(--now-color--primary-2,23,100,82));font-size:.75rem;font-weight:400;margin:0;margin-block-end:.75rem;margin-block-start:1.5rem;text-transform:uppercase}now-card.user-tile{margin-block-end:.5rem}.user-tile-content{align-items:center;display:flex;padding-block:.25rem}.user-tile-content>now-avatar{margin-inline-end:.5rem}.user-tile-content>.user-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-tile-content>.user-description:after{content:\\\"\\\";display:block}.user-tile-content>.user-description>.user-name{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem}.user-tile-content>.user-description>.user-title{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem}div[data-popover-target=true]{z-index:1}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./impersonation.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","export const IMPERSONATE_USER_CLICKED =\n\t'IMPERSONATION#IMPERSONATE_USER_CLICKED';\nexport const USER_IMPERSONATED = 'IMPERSONATION#USER_IMPERSONATED';\nexport const USER_DESELECTED = 'IMPERSONATION#USER_DESELECTED';\nexport const IMPERSONATION_MODAL_DISMISSED =\n\t'IMPERSONATION#IMPERSONATION_MODAL_DISMISSED';\nexport const SEARCH_IMPERSONATE_LIST_REQUESTED =\n\t'IMPERSONATION#SEARCH_IMPERSONATE_LIST_REQUESTED';\nexport const GET_IMPERSONATE_LIST_REQUESTED =\n\t'IMPERSONATION#GET_IMPERSONATE_LIST_REQUESTED';\nexport const GET_IMPERSONATE_SUCCEEDED =\n\t'IMPERSONATION#GET_IMPERSONATE_SUCCEEDED';\nexport const RECENT_FETCH_REQUESTED = 'IMPERSONATION#RECENT_FETCH_REQUESTED';\nexport const RECENT_FETCH_SUCCEEDED = 'IMPERSONATION#RECENT_FETCH_SUCCEEDED';\nexport const RECENT_FETCH_FAILED = 'IMPERSONATION#RECENT_FETCH_FAILED';\nexport const USER_IMPERSONATE_SUCCEEDED =\n\t'IMPERSONATION#USER_IMPERSONATE_SUCCEEDED';\nexport const USER_IMPERSONATE_FAILED = 'IMPERSONATION#USER_IMPERSONATE_FAILED';\nexport const IMPERSONATION_ENDED = 'IMPERSONATION#IMPERSONATION_ENDED';\n\n// Metrics\nexport const START_TRACK_TIME = 'PERFORMANCE_METRICS#START_TRACK_TIME';\nexport const END_TRACK_TIME = 'PERFORMANCE_METRICS#END_TRACK_TIME';\nexport const IMPERSONATE_FETCH_TIME_PATH =\n\t'behaviors.PERFORMANCE_METRICS_BEHAVIOR.fetchImpersonateTime';\n","export const getModalDimensions = ({recentImpersonations}) => {\n\tconst rowHeight = 66;\n\tconst modalStartingHeight = 360;\n\tconst minRowBeforeResize = 3;\n\tconst totalRecentImpersonations = recentImpersonations.length;\n\treturn totalRecentImpersonations < minRowBeforeResize\n\t\t? {}\n\t\t: {\n\t\t\t\twidth: '600px',\n\t\t\t\theight: `${modalStartingHeight +\n\t\t\t\t\t(totalRecentImpersonations - 1) * rowHeight}px`\n\t\t  };\n};\n","import '@servicenow/now-avatar';\nimport '@servicenow/now-card';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-typeahead';\nimport {t} from 'sn-translate';\n\nimport {\n\tIMPERSONATE_USER_CLICKED,\n\tIMPERSONATION_MODAL_DISMISSED\n} from '../actions';\nimport {getModalDimensions} from '../utils/modalUtils';\n\nexport default ({\n\tproperties: {modalOpened},\n\trecentImpersonations,\n\tselectedUser,\n\tsearchResult,\n\tusers\n}) => {\n\tconst impersonateDisabled = !selectedUser;\n\n\treturn (\n\t\t<now-modal\n\t\t\topened={modalOpened}\n\t\t\theader-label={t('Impersonate user')}\n\t\t\tsize=\"md\"\n\t\t\tcustomSize={getModalDimensions({recentImpersonations})}\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Impersonate user'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tdisabled: impersonateDisabled,\n\t\t\t\t\tclickActionType: IMPERSONATE_USER_CLICKED\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: IMPERSONATION_MODAL_DISMISSED\n\t\t\t\t}\n\t\t\t]}\n\t\t\tmanage-opened>\n\t\t\t<Impersonation\n\t\t\t\tusers={users}\n\t\t\t\trecentImpersonations={recentImpersonations}\n\t\t\t\tselectedUser={selectedUser}\n\t\t\t\tsearchResult={searchResult}\n\t\t\t/>\n\t\t<\/now-modal>\n\t);\n};\n\nconst Impersonation = ({\n\tselectedUser,\n\tsearchResult,\n\tusers,\n\trecentImpersonations\n}) => (\n\t<div className=\"impersonation\">\n\t\t<now-typeahead\n\t\t\tlabel={t('Select a user')}\n\t\t\tplaceholder={t('Search for a user')}\n\t\t\titems={users}>\n\t\t\t<now-icon\n\t\t\t\tclassName=\"search-icon\"\n\t\t\t\ticon=\"magnifying-glass-fill\"\n\t\t\t\tslot=\"end\"\n\t\t\t/>\n\t\t<\/now-typeahead>\n\t\t<RecentImpersonations\n\t\t\tselectedUser={selectedUser}\n\t\t\tsearchResult={searchResult}\n\t\t\tusers={recentImpersonations}\n\t\t/>\n\t<\/div>\n);\n\nconst RecentImpersonations = ({selectedUser, searchResult, users = []}) => {\n\tconst recentsContainsTypeaheadResult = users.find(\n\t\t({id}) => id === searchResult?.id\n\t);\n\n\treturn (\n\t\t<div className=\"recent-impersonations\">\n\t\t\t{searchResult && !recentsContainsTypeaheadResult ? (\n\t\t\t\t<UserCard\n\t\t\t\t\tselected={selectedUser?.id === searchResult.id}\n\t\t\t\t\tuser={searchResult}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<div\n\t\t\t\tclassName=\"recent-impersonations-list\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-labelledby=\"recent-impersonations-list-label\">\n\t\t\t\t<h3\n\t\t\t\t\tclassName=\"recent-impersonations-header\"\n\t\t\t\t\tid=\"recent-impersonations-list-label\">\n\t\t\t\t\t{t('Recent Impersonations')}\n\t\t\t\t<\/h3>\n\t\t\t\t{users.length === 0 ? (\n\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\tillustration=\"no-activities\"\n\t\t\t\t\t\theading={{}}\n\t\t\t\t\t\tcontent={t('You do not have any recent impersonations')}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{users.map((user) => (\n\t\t\t\t\t<UserCard selected={selectedUser?.id === user.id} user={user} />\n\t\t\t\t))}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst UserCard = ({selected, user: {avatarProps, label, sublabel, id}}) => (\n\t<now-card\n\t\tmanage-selected\n\t\tselected={selected}\n\t\tclassName=\"user-tile\"\n\t\tinteraction=\"select\"\n\t\tsize=\"sm\"\n\t\tappend-to-meta={{sysId: id}}\n\t\tkey={id}\n\t\tdata-name={label}\n\t\tconfig-aria={{\n\t\t\tbutton: {\n\t\t\t\t'aria-label': label\n\t\t\t}\n\t\t}}>\n\t\t<div className=\"user-tile-content\">\n\t\t\t<now-avatar size=\"md\" {...avatarProps} hideTooltip aria-hidden=\"true\" />\n\n\t\t\t<div className=\"user-description\">\n\t\t\t\t<span className=\"user-name\">{label}<\/span>\n\t\t\t\t<br />\n\t\t\t\t<span className=\"user-title\">{sublabel}<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/now-card>\n);\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createHttpEffect;\n\t\t\t\t}, [\"effectProxy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'effectProxy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].effectProxy;\n\t\t\t\t\t} else if ('effectProxy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.effectProxy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].effectProxy;\n\t\t\t\t} });","import {actionTypes} from '@servicenow/ui-core';\nimport {createHttpEffect, effectProxy} from '@devsnc/unav-utils';\nimport {\n\tIMPERSONATE_USER_CLICKED,\n\tUSER_IMPERSONATED,\n\tUSER_DESELECTED,\n\tSEARCH_IMPERSONATE_LIST_REQUESTED,\n\tGET_IMPERSONATE_LIST_REQUESTED,\n\tGET_IMPERSONATE_SUCCEEDED,\n\tRECENT_FETCH_REQUESTED,\n\tRECENT_FETCH_SUCCEEDED,\n\tRECENT_FETCH_FAILED,\n\tIMPERSONATION_MODAL_DISMISSED,\n\tIMPERSONATION_ENDED,\n\tEND_TRACK_TIME,\n\tSTART_TRACK_TIME,\n\tIMPERSONATE_FETCH_TIME_PATH\n} from '../actions';\nconst {\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\nimport {t} from 'sn-translate';\n\n// TODO: sys_prop?\nconst SEARCH_DEBOUNCE = 300;\nconst IMPERSONATE_LIST_FETCHED = 'Impersonate List Fetched';\n\nexport const getImpersonationListEffect = createHttpEffect(\n\t'/angular.do?sysparm_type=ref_list_data&sysparm_for_impersonation=true&required_fields=avatar',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tsuccessActionType: GET_IMPERSONATE_SUCCEEDED\n\t}\n);\n\nexport const fetchRecentImpersonationsEffect = createHttpEffect(\n\t'/api/now/ui/impersonate/recent',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tsuccessActionType: RECENT_FETCH_SUCCEEDED,\n\t\terrorActionType: RECENT_FETCH_FAILED\n\t}\n);\n\nconst convertUser = (user) => {\n\tconst {avatar, sys_id, user_name, name} = user;\n\treturn {\n\t\tid: sys_id,\n\t\tlabel: user.$$displayValue || name,\n\t\tsublabel: user_name,\n\t\tavatarProps: {\n\t\t\tuserName: name,\n\t\t\timageSrc: avatar && `${avatar}?t=small`\n\t\t}\n\t};\n};\n\nconst setRecentImpersonations = ({\n\tupdateState,\n\taction: {\n\t\tpayload: {result = []}\n\t}\n}) => {\n\tupdateState({\n\t\trecentImpersonations: result.map(\n\t\t\t({avatar, user_display_value, user_name, user_sys_id}) => ({\n\t\t\t\tavatarProps: {\n\t\t\t\t\tuserName: user_display_value || user_name,\n\t\t\t\t\timageSrc: avatar && `${avatar}.iix?t=small`\n\t\t\t\t},\n\t\t\t\tlabel: user_display_value || user_name,\n\t\t\t\tsublabel: user_name,\n\t\t\t\tid: user_sys_id\n\t\t\t})\n\t\t),\n\t\tdependenciesFetched: true,\n\t\tfetchingDependencies: false\n\t});\n};\n\nconst setTypeaheadUserList = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\n\tupdateState({\n\t\tusers: payload.items.filter(({user_name}) => !!user_name).map(convertUser)\n\t});\n\n\tdispatch(END_TRACK_TIME, {\n\t\tcoeffects: coeffects,\n\t\tmetric: IMPERSONATE_LIST_FETCHED,\n\t\tpath: IMPERSONATE_FETCH_TIME_PATH,\n\t\ttime: Date.now()\n\t});\n};\n\nconst setUserFromTypeahead = ({\n\taction: {\n\t\tpayload: {item}\n\t},\n\tdispatch,\n\tupdateState\n}) => {\n\tif (item.id !== 'loader') {\n\t\t// When a user either:\n\t\t//  1. Clears the field\n\t\t//  2. Starts typing after having selected a user\n\t\tif (item.id === null) {\n\t\t\treturn dispatch(USER_DESELECTED);\n\t\t}\n\n\t\tupdateState({\n\t\t\tselectedUser: item,\n\t\t\tsearchResult: item\n\t\t});\n\t}\n};\n\nconst fetchUsersFromTypeaheadInput = ({\n\taction: {\n\t\tpayload: {value}\n\t},\n\tdispatch\n}) => {\n\tdispatch(SEARCH_IMPERSONATE_LIST_REQUESTED, {search: value});\n};\n\nconst setSelectedUserFromCard = ({\n\taction: {\n\t\tpayload: {value},\n\t\tmeta: {\n\t\t\tappended: {sysId}\n\t\t}\n\t},\n\tupdateState\n}) => {\n\tupdateState({\n\t\tselectedUser: value ? {id: sysId} : null\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: ({dispatch, properties: {endImpersonation}}) => {\n\t\t\t// If the user is ending impersonation, dispatch the event\n\t\t\tif (endImpersonation) {\n\t\t\t\tdispatch(IMPERSONATION_ENDED);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties: {userMeta, modalOpened},\n\t\tstate: {dependenciesFetched, fetchingDependencies},\n\t\tupdateState\n\t}) => {\n\t\t// Only fetch dependencies if the modal is being opened\n\t\tif (modalOpened) {\n\t\t\tconst needToFetchDependencies =\n\t\t\t\t!dependenciesFetched && !fetchingDependencies;\n\n\t\t\tif (needToFetchDependencies) {\n\t\t\t\taction.preventDefault();\n\t\t\t\tupdateState({fetchingDependencies: true});\n\t\t\t\tdispatch(RECENT_FETCH_REQUESTED);\n\t\t\t}\n\n\t\t\t// Modal doesn't appear until we have the recently impersonated users\n\t\t\tif (fetchingDependencies) action.preventDefault();\n\n\t\t\tif (!userMeta.isImpersonating) {\n\t\t\t\twindow.localStorage.setItem(\n\t\t\t\t\t'originalUserHasAdminRole',\n\t\t\t\t\tuserMeta?.roles?.includes('admin')\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t}\n\t\t}) => {\n\t\t\t// If the user is ending impersonation, dispatch the event\n\t\t\tif (name === 'endImpersonation' && value && !previousValue) {\n\t\t\t\tdispatch(IMPERSONATION_ENDED);\n\t\t\t}\n\t\t}\n\t},\n\t[SEARCH_IMPERSONATE_LIST_REQUESTED]: {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {search}\n\t\t\t}\n\t\t}) => {\n\t\t\tconst qualifier =\n\t\t\t\t'active=true^locked_out=false^ORlocked_outISEMPTY^web_service_access_only=false^ORweb_service_access_onlyISEMPTY^identity_type!=ai_agent^ORidentity_type=NULL';\n\n\t\t\tconst finalSearchTerm = search?.replace(/^\\*+(.*)/, '$1') || '';\n\t\t\tconst searchMethod = /^\\*+(.*)/.test(search) ? 'CONTAINS' : 'STARTSWITH';\n\n\t\t\tconst hasAdminRole =\n\t\t\t\twindow.localStorage.getItem('originalUserHasAdminRole') === 'true';\n\n\t\t\tdispatch(GET_IMPERSONATE_LIST_REQUESTED, {\n\t\t\t\tdata: {\n\t\t\t\t\tp: `sys_user;q:name${searchMethod}${finalSearchTerm}^nameISNOTEMPTY^NQsys_id${searchMethod}${finalSearchTerm}^sys_idISNOTEMPTY^NQuser_name${searchMethod}${finalSearchTerm}^user_nameISNOTEMPTY;r:${qualifier}`,\n\t\t\t\t\tqualifier: hasAdminRole ? qualifier : `${qualifier}^roles!=admin`,\n\t\t\t\t\tcount: 20,\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tsysparm_for_impersonation: true,\n\t\t\t\t\ttable: 'sys_user'\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[RECENT_FETCH_REQUESTED]: effectProxy(fetchRecentImpersonationsEffect),\n\t[RECENT_FETCH_SUCCEEDED]: {\n\t\teffect: setRecentImpersonations,\n\t\tstopPropagation: true\n\t},\n\t[RECENT_FETCH_FAILED]: {\n\t\teffect: ({dispatch}) => {\n\t\t\tdispatch(RECENT_FETCH_SUCCEEDED, {result: []});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[GET_IMPERSONATE_LIST_REQUESTED]: {\n\t\teffect: effectProxy(getImpersonationListEffect),\n\t\tinterceptors: [\n\t\t\t(context) => {\n\t\t\t\tcontext.coeffects.dispatch(START_TRACK_TIME, {\n\t\t\t\t\tpath: IMPERSONATE_FETCH_TIME_PATH\n\t\t\t\t});\n\t\t\t\treturn context;\n\t\t\t}\n\t\t]\n\t},\n\t[GET_IMPERSONATE_SUCCEEDED]: {\n\t\teffect: setTypeaheadUserList,\n\t\tstopPropagation: true\n\t},\n\t[USER_DESELECTED]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tselectedUser: null,\n\t\t\t\tsearchResult: null\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[IMPERSONATE_USER_CLICKED]: {\n\t\teffect: ({state: {selectedUser}, dispatch}) => {\n\t\t\t//set if original impersonating user has admin role (only if user not currently impersonating another user)\n\t\t\tdispatch(USER_IMPERSONATED, {sysId: selectedUser.id});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_MODAL#OPENED_SET': {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {value}\n\t\t\t}\n\t\t}) => {\n\t\t\tif (!value) {\n\t\t\t\tdispatch(IMPERSONATION_MODAL_DISMISSED);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_TYPEAHEAD#LIST_VISIBLE': {\n\t\teffect: ({dispatch, updateState, state: {initialTypeaheadLoad}}) => {\n\t\t\t// On first load of typeahead, fetch the initial list of users\n\t\t\tif (initialTypeaheadLoad) {\n\t\t\t\tupdateState({\n\t\t\t\t\tusers: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: t('Loading Users...'),\n\t\t\t\t\t\t\ticon: 'loader-fill',\n\t\t\t\t\t\t\tid: 'loader'\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tinitialTypeaheadLoad: false\n\t\t\t\t});\n\t\t\t\tdispatch(SEARCH_IMPERSONATE_LIST_REQUESTED, {search: ''});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_TYPEAHEAD#SELECTED_ITEM_SET': {\n\t\teffect: setUserFromTypeahead,\n\t\tstopPropagation: true\n\t},\n\t'NOW_TYPEAHEAD#VALUE_SET': {\n\t\teffect: fetchUsersFromTypeaheadInput,\n\t\tmodifier: {name: 'debounce', delay: SEARCH_DEBOUNCE},\n\t\tstopPropagation: true\n\t},\n\t'NOW_CARD#SELECTED_SET': {\n\t\teffect: setSelectedUserFromCard,\n\t\tstopPropagation: true\n\t}\n};\n","import {createHttpEffect} from '@devsnc/unav-utils';\nimport {\n\tUSER_IMPERSONATED,\n\tUSER_IMPERSONATE_SUCCEEDED,\n\tUSER_IMPERSONATE_FAILED,\n\tIMPERSONATION_ENDED\n} from '../actions';\n\nexport const impersonateUserEffect = createHttpEffect(\n\t'/api/now/ui/impersonate/:sysId',\n\t{\n\t\tmethod: 'POST',\n\t\tpathParams: ['sysId'],\n\t\tbatch: false,\n\t\tsuccessActionType: USER_IMPERSONATE_SUCCEEDED,\n\t\terrorActionType: USER_IMPERSONATE_FAILED\n\t}\n);\n\nexport default {\n\tname: 'IMPERSONATION_BEHAVIOR',\n\tactionHandlers: {\n\t\t[USER_IMPERSONATED]: impersonateUserEffect,\n\t\t[IMPERSONATION_ENDED]: {\n\t\t\teffect: ({dispatch, properties: {userMeta}}) => {\n\t\t\t\t// Safety check to make this is only called when a user is being impersonated\n\t\t\t\tif (userMeta?.isImpersonating) {\n\t\t\t\t\twindow.localStorage.removeItem('originalUserHasAdminRole');\n\t\t\t\t\tdispatch(USER_IMPERSONATED, {\n\t\t\t\t\t\tsysId: userMeta?.impersonatingUserId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport view from './impersonation.view';\nimport {actionHandlers} from './impersonation.effects';\nimport styles from './impersonation.scss';\nimport impersonationBehavior from '../impersonation-behavior';\n\ncreateCustomElement('sn-impersonation', {\n\tview,\n\tactionHandlers,\n\tstyles,\n\tproperties: {\n\t\tnowPriority: {\n\t\t\tdefault: 'low'\n\t\t},\n\t\tuserMeta: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tmodalOpened: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tendImpersonation: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [{behavior: impersonationBehavior}],\n\tinitialState: {\n\t\tselectedUser: null,\n\t\tsearchResult: null,\n\t\tinitialTypeaheadLoad: true,\n\t\trecentImpersonations: [],\n\t\tusers: []\n\t}\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$devsnc_sn_impersonation=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":154,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/uxf-effect-theme-loader/26.0.8-webux.4/index.min.js","names":["_extends","module","exports","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","__esModule","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","default","installTheme","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","has","isNil","isString","async","effect","options","coeffects","successActionType","errorActionType","action","payload","dispatch","selectedVariant","selectedInfoDensity","theme","defaultTheme","defaultValue","UX_GLOBALS","window","ux_globals","console","error","getUxGlobal","activeTheme","themeOptions","message","newThemeOptions","userPreferenceInfoDensity","userPreferenceVariant","updatedTheme","args","stopPropagation"],"sources":["webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/uxf-effect-theme-loader/26.0.8-webux.4/src/themeLoaderEffect.js","webpack:///@devsnc/uxf-effect-theme-loader/26.0.8-webux.4/src/utils.js","webpack:///@devsnc/uxf-effect-theme-loader/26.0.8-webux.4/src/index.js"],"sourcesContent":["function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"installTheme\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'installTheme' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].installTheme;\n\t\t\t\t\t} else if ('installTheme' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.installTheme || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].installTheme;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t\t} else if ('isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t} });","import {installTheme} from '@devsnc/library-uxf';\nimport {getUxGlobal} from './utils.js';\nimport isString from 'lodash/isString';\n\nexport async function effect(options = {}, coeffects) {\n\tconst {successActionType, errorActionType} = options;\n\n\tconst {\n\t\taction: {payload},\n\t\tdispatch\n\t} = coeffects;\n\tconst {selectedVariant, selectedInfoDensity, theme} = payload;\n\n\tconst defaultTheme = getUxGlobal('theme');\n\tconst activeTheme = theme ?? defaultTheme;\n\n\t//If theme options are not in use, no sense in updating the preference.\n\t//Do not create the object here as themeLoader checks if the options exist.\n\tif (!activeTheme.themeOptions) {\n\t\tif (isString(errorActionType)) {\n\t\t\tdispatch(errorActionType, payload, {\n\t\t\t\tmessage:\n\t\t\t\t\t'themeOptions object is not being used, preferences cannot be updated'\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\n\tconst newThemeOptions = {\n\t\t...activeTheme.themeOptions,\n\t\tuserPreferenceInfoDensity:\n\t\t\tdefaultTheme.themeOptions.userPreferenceInfoDensity\n\t};\n\n\t//If the payload values are undefined, the user did not change the selected\n\t//variant/infodensity. However if they are empty strings, this indicates\n\t//the user changed their variant/infodensity property to be empty.\n\tif (selectedVariant !== undefined) {\n\t\tnewThemeOptions.userPreferenceVariant = selectedVariant;\n\t}\n\n\tif (selectedInfoDensity !== undefined) {\n\t\tnewThemeOptions.userPreferenceInfoDensity = selectedInfoDensity;\n\t}\n\n\tconst updatedTheme = {...activeTheme, themeOptions: newThemeOptions};\n\n\tinstallTheme(updatedTheme);\n\n\tif (isString(successActionType)) {\n\t\tdispatch(successActionType, payload);\n\t}\n}\n\nexport default function createThemeLoaderEffect(options) {\n\treturn {\n\t\teffect,\n\t\targs: [options],\n\t\tstopPropagation: true\n\t};\n}\n","import {isNil, has} from 'lodash';\n\nexport function getUxGlobal(key, defaultValue = {}) {\n\tif (!isNil(key)) {\n\t\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\n\t\tif (!has(UX_GLOBALS, [key])) UX_GLOBALS[key] = defaultValue;\n\n\t\treturn UX_GLOBALS[key];\n\t}\n\n\tconsole.error('Must provide a key to retrieve off ux_globals variable');\n}\n","import createThemeLoaderEffect from './themeLoaderEffect';\n\nexport default createThemeLoaderEffect;\n"],"version":3}},{"offset":{"line":165,"column":0},"map":{"mappings":"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","file":"externals/eventemitter3/5.0.1/index.min.js","names":["has","Object","prototype","hasOwnProperty","prefix","Events","EE","fn","context","once","this","addListener","emitter","event","TypeError","listener","evt","_events","push","_eventsCount","clearEvent","EventEmitter","create","__proto__","eventNames","events","name","names","call","slice","getOwnPropertySymbols","concat","listeners","handlers","i","l","length","ee","Array","listenerCount","emit","a1","a2","a3","a4","a5","args","len","arguments","removeListener","undefined","apply","j","on","removeAllListeners","off","prefixed","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","key","o","defineProperty","enumerable","get","obj","prop"],"sources":["webpack:///eventemitter3/5.0.1/index.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///eventemitter3/5.0.1/index.mjs"],"sourcesContent":["'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n  , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n  Events.prototype = Object.create(null);\n\n  //\n  // This hack is needed because the `__proto__` property is still inherited in\n  // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n  //\n  if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n  this.fn = fn;\n  this.context = context;\n  this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n  if (typeof fn !== 'function') {\n    throw new TypeError('The listener must be a function');\n  }\n\n  var listener = new EE(fn, context || emitter, once)\n    , evt = prefix ? prefix + event : event;\n\n  if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n  else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n  else emitter._events[evt] = [emitter._events[evt], listener];\n\n  return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n  if (--emitter._eventsCount === 0) emitter._events = new Events();\n  else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n  this._events = new Events();\n  this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n  var names = []\n    , events\n    , name;\n\n  if (this._eventsCount === 0) return names;\n\n  for (name in (events = this._events)) {\n    if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n  }\n\n  if (Object.getOwnPropertySymbols) {\n    return names.concat(Object.getOwnPropertySymbols(events));\n  }\n\n  return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n  var evt = prefix ? prefix + event : event\n    , handlers = this._events[evt];\n\n  if (!handlers) return [];\n  if (handlers.fn) return [handlers.fn];\n\n  for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n    ee[i] = handlers[i].fn;\n  }\n\n  return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n  var evt = prefix ? prefix + event : event\n    , listeners = this._events[evt];\n\n  if (!listeners) return 0;\n  if (listeners.fn) return 1;\n  return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return false;\n\n  var listeners = this._events[evt]\n    , len = arguments.length\n    , args\n    , i;\n\n  if (listeners.fn) {\n    if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n    switch (len) {\n      case 1: return listeners.fn.call(listeners.context), true;\n      case 2: return listeners.fn.call(listeners.context, a1), true;\n      case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n      case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n      case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n      case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n    }\n\n    for (i = 1, args = new Array(len -1); i < len; i++) {\n      args[i - 1] = arguments[i];\n    }\n\n    listeners.fn.apply(listeners.context, args);\n  } else {\n    var length = listeners.length\n      , j;\n\n    for (i = 0; i < length; i++) {\n      if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n      switch (len) {\n        case 1: listeners[i].fn.call(listeners[i].context); break;\n        case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n        case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n        case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n        default:\n          if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n            args[j - 1] = arguments[j];\n          }\n\n          listeners[i].fn.apply(listeners[i].context, args);\n      }\n    }\n  }\n\n  return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n  return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n  return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return this;\n  if (!fn) {\n    clearEvent(this, evt);\n    return this;\n  }\n\n  var listeners = this._events[evt];\n\n  if (listeners.fn) {\n    if (\n      listeners.fn === fn &&\n      (!once || listeners.once) &&\n      (!context || listeners.context === context)\n    ) {\n      clearEvent(this, evt);\n    }\n  } else {\n    for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n      if (\n        listeners[i].fn !== fn ||\n        (once && !listeners[i].once) ||\n        (context && listeners[i].context !== context)\n      ) {\n        events.push(listeners[i]);\n      }\n    }\n\n    //\n    // Reset the array, or remove it completely if we have no more listeners.\n    //\n    if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n    else clearEvent(this, evt);\n  }\n\n  return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n  var evt;\n\n  if (event) {\n    evt = prefix ? prefix + event : event;\n    if (this._events[evt]) clearEvent(this, evt);\n  } else {\n    this._events = new Events();\n    this._eventsCount = 0;\n  }\n\n  return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n  module.exports = EventEmitter;\n}\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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import EventEmitter from './index.js'\n\nexport { EventEmitter }\nexport default EventEmitter\n"],"version":3}},{"offset":{"line":174,"column":0},"map":{"mappings":";;;;;;;;;;;;;;;;;eAMAA,EAAOC,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA6FX,OA3FAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,IAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GA4B5B,OA1BIA,EAAK,KACPC,GAAW,cAAcE,OAAOH,EAAK,GAAI,QAGvCA,EAAK,KACPC,GAAW,UAAUE,OAAOH,EAAK,GAAI,OAGnCE,IACFD,GAAW,SAASE,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,OAG5EC,GAAWN,EAAuBK,GAE9BE,IACFD,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGNA,CACT,GAAGI,KAAK,GACV,EAGAT,EAAKU,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAG7B,IAAIC,EAAyB,CAAC,EAE9B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIhB,KAAKM,OAAQU,IAAK,CACpC,IAAIC,EAAKjB,KAAKgB,GAAG,GAEP,MAANC,IACFF,EAAuBE,IAAM,EAEjC,CAGF,IAAK,IAAIC,EAAK,EAAGA,EAAKT,EAAQH,OAAQY,IAAM,CAC1C,IAAIhB,EAAO,GAAGG,OAAOI,EAAQS,IAEzBP,GAAUI,EAAuBb,EAAK,WAIrB,IAAVW,SACc,IAAZX,EAAK,KAGdA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKW,GAOVH,IACGR,EAAK,IAGRA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKQ,GAHVR,EAAK,GAAKQ,GAOVE,IACGV,EAAK,IAGRA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKU,GAHVV,EAAK,GAAK,GAAGG,OAAOO,IAOxBd,EAAKqB,KAAKjB,GACZ,CACF,EAEOJ,CACT,C,UCnGAH,EAAOC,QAAU,SAAUY,GACzB,OAAOA,EAAE,EACX,C,6ECDIY,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,0aAA6a,KAEtd,S,6ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,8tCAAquC,KAE9wC,S,6ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,uuHAA4uH,KAErxH,S,6ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,2tGAA0uG,KAEnxG,S,6ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,ihEAAohE,KAE7jE,S,6ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,iNAAoN,KAE7P,S,gBCNQ,IAAII,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,eCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,UCNpCJ,EAAOC,QAJP,SAAgC4B,GAC9B,QAAI,IAAWA,EAAG,MAAM,IAAIC,eAAe,6DAC3C,OAAOD,CACT,EACyC7B,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,UCD9GD,EAAOC,QAHP,SAAyB8B,EAAGC,GAC1B,KAAMD,aAAaC,GAAI,MAAM,IAAIC,UAAU,oCAC7C,EACkCjC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,gBCHvG,IAAIiC,EAAgBC,EAAQ,KAC5B,SAASC,EAAkBP,EAAGQ,GAC5B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAE1B,OAAQ2B,IAAK,CACjC,IAAIC,EAAIF,EAAEC,GACVC,EAAEC,WAAaD,EAAEC,aAAc,EAAID,EAAEE,cAAe,EAAI,UAAWF,IAAMA,EAAEG,UAAW,GAAKC,OAAOC,eAAef,EAAGK,EAAcK,EAAEM,KAAMN,EAC5I,CACF,CAMAvC,EAAOC,QALP,SAAsB4B,EAAGQ,EAAGC,GAC1B,OAAOD,GAAKD,EAAkBP,EAAEiB,UAAWT,GAAIC,GAAKF,EAAkBP,EAAGS,GAAIK,OAAOC,eAAef,EAAG,YAAa,CACjHa,UAAU,IACRb,CACN,EAC+B7B,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,gBCZpG,IAAIiC,EAAgBC,EAAQ,KAS5BnC,EAAOC,QARP,SAAyB4B,EAAGQ,EAAGC,GAC7B,OAAQD,EAAIH,EAAcG,MAAOR,EAAIc,OAAOC,eAAef,EAAGQ,EAAG,CAC/DU,MAAOT,EACPE,YAAY,EACZC,cAAc,EACdC,UAAU,IACPb,EAAEQ,GAAKC,EAAGT,CACjB,EACkC7B,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,UCTvG,SAAS+C,IACP,OAAOhD,EAAOC,QAAU+C,EAAWL,OAAOM,OAASN,OAAOM,OAAOC,OAAS,SAAUlB,GAClF,IAAK,IAAIH,EAAI,EAAGA,EAAIsB,UAAUxC,OAAQkB,IAAK,CACzC,IAAIS,EAAIa,UAAUtB,GAClB,IAAK,IAAIQ,KAAKC,GAAG,CAAG,GAAEc,eAAeC,KAAKf,EAAGD,KAAOL,EAAEK,GAAKC,EAAED,GAC/D,CACA,OAAOL,CACT,EAAGhC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAAS+C,EAASM,MAAM,KAAMH,UACxG,CACAnD,EAAOC,QAAU+C,EAAUhD,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,gBCThG,IAAIsD,EAAgBpB,EAAQ,KAC5B,SAASqB,IACP,OAAOxD,EAAOC,QAAUuD,EAAO,oBAAsBC,SAAWA,QAAQC,IAAMD,QAAQC,IAAIR,OAAS,SAAUrB,EAAGS,EAAGD,GACjH,IAAIsB,EAAIJ,EAAc1B,EAAGS,GACzB,GAAIqB,EAAG,CACL,IAAI3B,EAAIW,OAAOiB,yBAAyBD,EAAGrB,GAC3C,OAAON,EAAE0B,IAAM1B,EAAE0B,IAAIL,KAAKF,UAAUxC,OAAS,EAAIkB,EAAIQ,GAAKL,EAAEe,KAC9D,CACF,EAAG/C,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAASuD,EAAKF,MAAM,KAAMH,UACpG,CACAnD,EAAOC,QAAUuD,EAAMxD,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,UCV5F,SAAS4D,EAAgBvB,GACvB,OAAOtC,EAAOC,QAAU4D,EAAkBlB,OAAOmB,eAAiBnB,OAAOoB,eAAeb,OAAS,SAAUZ,GACzG,OAAOA,EAAE0B,WAAarB,OAAOoB,eAAezB,EAC9C,EAAGtC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAAS4D,EAAgBvB,EACnG,CACAtC,EAAOC,QAAU4D,EAAiB7D,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,gBCLvG,IAAI6D,EAAiB3B,EAAQ,IAa7BnC,EAAOC,QAZP,SAAmBqC,EAAGT,GACpB,GAAI,mBAAqBA,GAAK,OAASA,EAAG,MAAM,IAAII,UAAU,sDAC9DK,EAAEQ,UAAYH,OAAOsB,OAAOpC,GAAKA,EAAEiB,UAAW,CAC5CoB,YAAa,CACXnB,MAAOT,EACPI,UAAU,EACVD,cAAc,KAEdE,OAAOC,eAAeN,EAAG,YAAa,CACxCI,UAAU,IACRb,GAAKiC,EAAexB,EAAGT,EAC7B,EAC4B7B,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,gBCbjG,IAAIkE,EAAUhC,EAAAA,KAAAA,QACViC,EAAwBjC,EAAQ,KAMpCnC,EAAOC,QALP,SAAoCqC,EAAGT,GACrC,GAAIA,IAAM,UAAYsC,EAAQtC,IAAM,mBAAqBA,GAAI,OAAOA,EACpE,QAAI,IAAWA,EAAG,MAAM,IAAII,UAAU,4DACtC,OAAOmC,EAAsB9B,EAC/B,EAC6CtC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,SCPlH,SAASoE,EAAgB/B,EAAGT,GAC1B,OAAO7B,EAAOC,QAAUoE,EAAkB1B,OAAOmB,eAAiBnB,OAAOmB,eAAeZ,OAAS,SAAUZ,EAAGT,GAC5G,OAAOS,EAAE0B,UAAYnC,EAAGS,CAC1B,EAAGtC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAASoE,EAAgB/B,EAAGT,EACtG,CACA7B,EAAOC,QAAUoE,EAAiBrE,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,gBCLvG,IAAI8D,EAAiB5B,EAAQ,KAK7BnC,EAAOC,QAJP,SAAwBqC,EAAGC,GACzB,MAAQ,CAAC,EAAEa,eAAeC,KAAKf,EAAGC,IAAM,QAAUD,EAAIyB,EAAezB,MACrE,OAAOA,CACT,EACiCtC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,gBCLtG,IAAIkE,EAAUhC,EAAAA,KAAAA,QAWdnC,EAAOC,QAVP,SAAqBqC,EAAGD,GACtB,GAAI,UAAY8B,EAAQ7B,KAAOA,EAAG,OAAOA,EACzC,IAAIT,EAAIS,EAAEgC,OAAOC,aACjB,QAAI,IAAW1C,EAAG,CAChB,IAAIhB,EAAIgB,EAAEwB,KAAKf,EAAGD,GAAK,WACvB,GAAI,UAAY8B,EAAQtD,GAAI,OAAOA,EACnC,MAAM,IAAIoB,UAAU,+CACtB,CACA,OAAQ,WAAaI,EAAImC,OAASC,QAAQnC,EAC5C,EAC8BtC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,gBCXnG,IAAIkE,EAAUhC,EAAAA,KAAAA,QACVoC,EAAcpC,EAAQ,KAK1BnC,EAAOC,QAJP,SAAuBqC,GACrB,IAAIzB,EAAI0D,EAAYjC,EAAG,UACvB,MAAO,UAAY6B,EAAQtD,GAAKA,EAAIA,EAAI,EAC1C,EACgCb,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,UCNrG,SAASkE,EAAQ5B,GAGf,OAAOvC,EAAOC,QAAUkE,EAAU,mBAAqBG,QAAU,iBAAmBA,OAAOI,SAAW,SAAUnC,GAC9G,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqB+B,QAAU/B,EAAE2B,cAAgBI,QAAU/B,IAAM+B,OAAOxB,UAAY,gBAAkBP,CACpH,EAAGvC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAASkE,EAAQ5B,EAC3F,CACAvC,EAAOC,QAAUkE,EAASnE,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,GCR3F0E,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB1D,IAAjB2D,EACH,OAAOA,EAAa7E,QAGrB,IAAID,EAAS2E,EAAyBE,GAAY,CACjDvD,GAAIuD,EAEJ5E,QAAS,CAAC,GAOX,OAHA8E,EAAoBF,GAAU7E,EAAQA,EAAOC,QAAS2E,GAG/C5E,EAAOC,OACf,CCrBA2E,EAAoB5C,EAAKhC,IACxB,IAAIgF,EAAShF,GAAUA,EAAO2B,WAC7B,IAAO3B,EAAiB,QACxB,IAAM,EAEP,OADA4E,EAAoBK,EAAED,EAAQ,CAAEjD,EAAGiD,IAC5BA,GCLRJ,EAAoBK,EAAI,CAAChF,EAASiF,KACjC,IAAI,IAAIrC,KAAOqC,EACXN,EAAoBrC,EAAE2C,EAAYrC,KAAS+B,EAAoBrC,EAAEtC,EAAS4C,IAC5EF,OAAOC,eAAe3C,EAAS4C,EAAK,CAAEL,YAAY,EAAMkB,IAAKwB,EAAWrC,MCJ3E+B,EAAoBrC,EAAI,CAAC4C,EAAKC,IAAUzC,OAAOG,UAAUM,eAAeC,KAAK8B,EAAKC,GCClFR,EAAoBvC,EAAKpC,IACH,oBAAXqE,QAA0BA,OAAOe,aAC1C1C,OAAOC,eAAe3C,EAASqE,OAAOe,YAAa,CAAEtC,MAAO,WAE7DJ,OAAOC,eAAe3C,EAAS,aAAc,CAAE8C,OAAO,K,mFCHvD,MAAM,EAFEuC,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BX,EAAoBK,EAAEM,EAAGD,GAAWC,GAE1BA,CAAE,CAAE,SAAc,KAClD,MAAMC,EAAYC,EAAoG7D,SAAW6D,EAAoG9D,WAG9N,OAAI6D,EACHC,EAA6G,QAAEC,SAIhHD,EAAoGC,UAAYD,EAA6G,SAAKA,EAA6G,QAAEC,UACtV,cAAmB,KACrB,MAAMF,EAAYC,EAAoG7D,SAAW6D,EAAoG9D,WAG9N,OAAI6D,EACHC,EAA6G,QAAEE,cAIhHF,EAAoGE,eAAiBF,EAA6G,SAAKA,EAA6G,QAAEE,eAC3V,UAAe,KACjB,MAAMH,EAAYC,EAAoG7D,SAAW6D,EAAoG9D,WAG9N,OAAI6D,EACHC,EAA6G,QAAEG,UAIhHH,EAAoGG,WAAaH,EAA6G,SAAKA,EAA6G,QAAEG,WACvV,mCAAwC,KAC1C,MAAMJ,EAAYC,EAAoG7D,SAAW6D,EAAoG9D,WAG9N,OAAI6D,EACHC,EAA6G,QAAEI,mCAIhHJ,EAAoGI,oCAAsCJ,EAA6G,SAAKA,EAA6G,QAAEI,oCAChX,QAAa,KACf,MAAML,EAAYC,EAAoG7D,SAAW6D,EAAoG9D,WACrO,OAAI6D,EACIC,EAA6G,SAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QACpdD,EACHC,EAA6G,QAAW,QAExHA,EAA6G,QAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QAAKA,KC/Cze,MAAM,EAFEH,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BX,EAAoBK,EAAEM,EAAGD,GAAWC,GAE1B,CAAE,CAAE,YAAiB,KACrD,MAAMC,EAAYM,EAAuFlE,SAAWkE,EAAuFnE,WAGpM,OAAI6D,EACHM,EAAgG,QAAEC,YAInGD,EAAuFC,aAAeD,EAAgG,SAAKA,EAAgG,QAAEC,aAClT,oBAAyB,KAC3B,MAAMP,EAAYM,EAAuFlE,SAAWkE,EAAuFnE,WAGpM,OAAI6D,EACHM,EAAgG,QAAEE,oBAInGF,EAAuFE,qBAAuBF,EAAgG,SAAKA,EAAgG,QAAEE,uB,sBCnBjU,MAAM,EAFEV,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BX,EAAoBK,EAAEM,EAAGD,GAAWC,GAE1B,CAAE,CAAE,kBAAuB,KAC3D,MAAMC,EAAYS,EAAsFrE,SAAWqE,EAAsFtE,WAGlM,OAAI6D,EACHS,EAA+F,QAAEC,kBAIlGD,EAAsFC,mBAAqBD,EAA+F,SAAKA,EAA+F,QAAEC,qBCFrT,MAAMC,EAAsBC,IAClC,MAAMC,EAAMC,SAASF,GAErB,OAAIC,EAAM,GACF,uBACGA,EAAM,GACT,wBACGA,EAAM,IACT,gBACGA,EAAM,IACT,gBACGA,EAAM,IACT,iBAEA,wBCrBT,MAAM,EAFEf,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BX,EAAoBK,EAAEM,EAAGD,GAAWC,GAE1B,CAAE,CAAE,iBAAsB,KAC1D,MAAMC,EAAYe,EAA8F3E,SAAW2E,EAA8F5E,WAGlN,OAAI6D,EACHe,EAAuG,QAAEC,iBAI1GD,EAA8FC,kBAAoBD,EAAuG,SAAKA,EAAuG,QAAEC,oBCR7UC,EAAW,0CAEJC,EAAkB,CAC9BC,OAAQ,GAAGF,WACXG,aAAc,GAAGH,iBACjBI,QAAS,GAAGJ,oBACZK,SAAU,GAAGL,aACbM,WAAY,iBACZC,YAAa,kBACbC,oBAAqB,8CAGTC,EAAc,qBAEdC,EAAqB,CACjCC,gBAAiB,GAAGF,gBACpBG,0BAA2B,GAAGH,0BAC9BI,uBAAwB,GAAGJ,uBAE3BK,iBAAkB,GAAGL,iBACrBM,2BAA4B,GAAGN,2BAC/BO,wBAAyB,GAAGP,wBAE5BQ,uBAAwB,GAAGR,uBAE3BS,oBAAqB,GAAGT,oBACxBU,8BAA+B,GAAGV,8BAClCW,2BAA4B,GAAGX,2BAE/BY,mBAAoB,GAAGZ,uBAEvBa,mBAAoB,GAAGb,oBAGXc,EAA0B,CACtCC,qBAAsB,GAAGf,wBACzBgB,qBAAsB,GAAGhB,wBACzBiB,sBAAuB,GAAGjB,yBAC1BkB,oBAAqB,GAAGlB,wBAGZmB,EAAqB,CAEjCC,sBAAuB,GAAGpB,sBAC1BqB,gCAAiC,GAAGrB,gCACpCsB,6BAA8B,GAAGtB,6BAEjCuB,uBAAwB,GAAGvB,uBAC3BwB,iCAAkC,GAAGxB,iCACrCyB,8BAA+B,GAAGzB,+BAKtB0B,EACW,uBADXA,EAEL,QAIKC,EAAiB,GAAG3B,kBAEpB4B,EAEc,mCAFdA,EAKa,iCALbA,EAQyB,4BARzBA,EAWkB,8CAXlBA,EAYoB,wDAGpBC,EAIgB,iCAJhBA,EAKiB,qCALjBA,EAMa,0BANbA,EAOe,4BAGfC,EAAe,CAC3BC,0BAA2B,GAAG/B,6BAC9BgC,gCAAiC,GAAGhC,oCAExBiC,EACL,QAGKC,EAAiC,GAAGlC,kCAGpCmC,EAA2B,CACvCC,qBAAsB,gCACtBC,oBAAqB,+BACrBC,gBAAiB,GAAGtC,sBACpBuC,cAAe,GAAGvC,qBAGNwC,EAAuB,uBAEvBC,EAAmB,GAAGzC,iBACtB0C,EAAa,UAEbC,EAA2B,GAAG3C,4BAC9B4C,GAA4B,GAAG5C,6BAI/B6C,GAAa,CACzBC,uBAAwB,GAAG9C,0BAC3B+C,sBAAuB,GAAG/C,yBAC1BgD,uBAAwB,GAAGhD,0BAC3BiD,wBAAyB,GAAGjD,2BAE5BkD,yBAA0B,GAAGlD,4BAC7BmD,uBAAwB,GAAGnD,0BAC3BoD,wBAAyB,GAAGpD,2BAC5BqD,yBAA0B,GAAGrD,6BC5HjBsD,IAAchE,EAAAA,EAAAA,kBAAiBE,EAAgBG,QAAS,CACpE4D,OAAQ,OACRC,OAAO,EACPC,QAAS,CACP,eAAgB,oBAElBC,UAAW,UAEXC,kBAAmB1D,EAAmBK,2BACtCsD,gBAAiB3D,EAAmBM,0BAGxBsD,IAAiBvE,EAAAA,EAAAA,kBAAiBE,EAAgBI,SAAU,CACxE2D,OAAQ,OACRC,OAAO,EACPC,QAAS,CACP,eAAgB,oBAElBC,UAAW,Y,yBClBL,MAAMI,GAAwB,GAAG9D,yBAC3B+D,GAAuB,GAAG/D,wBAC1BgE,GAAwB,GAAGhE,yBAC3BiE,GAAyB,GAAGjE,0BAG5BkE,GAAuB,GAAGlE,wBCTjC5G,GAAM,IAAI+K,IAGhB,SAASC,KAAgC,IAAdC,EAAOpI,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,CAAC,EACrC,GAAIoI,SAAAA,EAASjK,IAAMhB,GAAIkL,IAAID,EAAQjK,IAAK,CACvC,MAAMmK,EAAMnL,GAAIoD,IAAI6H,EAAQjK,IAC5B,GAAImK,EACH,OAAOA,CAET,CACA,MAAMA,EAAM,IAAIC,aAAaH,GAI7B,OAHIA,SAAAA,EAASjK,IACZhB,GAAIqL,IAAIJ,EAAQjK,GAAImK,GAEdA,CACR,CAGA,MAAMG,GAAc,IAAIC,QAASC,IAChCC,OAAOC,iBAAiB,cAAeF,EAAK,CAAEG,MAAM,IACpDF,OAAOC,iBAAiB,UAAWF,EAAK,CAAEG,MAAM,MAGpCC,GACLC,UACN,IAAIC,EAEJ,IACCA,EAAWd,GAAkBC,EAC9B,CAAE,MAAO1J,SACF+J,GACNQ,EAAWd,GAAkBC,EAC9B,CACA,OAAOa,GA4BF,SAASC,GAAUC,GACzB,OAAO,IAAIC,OAAOD,EAAa,KAAKE,KAAKC,UAAUC,UACpD,CAWO,SAASC,GAAiBC,EAAQC,GACnCD,GAAWE,MAAMC,QAAQH,IAC9BA,EAAOI,QAAQC,GAASA,EAAMJ,QAAUA,EACzC,CCpEA,MAAMK,GAA0B,0BAC1BC,GAAyB,yBACzBC,GAAwB,wBAI9B,IACCC,KAAM,4BACNC,eAAgB,CACf,CAACtC,IAAwB,CACxBuC,OAAQpB,UACP,MAAM,SAAEqB,EAAQ,YAAEC,EAAW,OAAEC,GAAWC,EAC1C,IAAI,IAAAC,EACH,MAAMC,EAAWC,SAASnI,cAAc,SAClCoI,EAAYD,SAASnI,cAAc,WAEnC,YAAEqI,EAAW,aAAEC,EAAY,iBAAEC,IACpB,QAAdN,EAAAF,EAAOS,eAAO,IAAAP,OAAA,EAAdA,EAAgBrC,UAAW,CAAC,EAEvB6C,EAAeJ,GAAe,GAC9BK,EAAeJ,GAAgB,GAC/BK,EAAoBJ,GAjBO,IAmB3BK,EAAsB,CAC3BC,OAAO,EACPC,kBAAkB,GAGbC,QAAejC,UAAUkC,aAAaC,gBAAgBL,GAC5DG,EAAOG,YAAY7B,QAASC,IAE3BA,EAAMjB,iBAAiB,QAAS,KAC/BwB,EAASvC,QAIX4C,EAASiB,aAAa,YAAY,GAClCjB,EAASkB,UAAYL,EAErB,MAAMM,EAAUjB,EAAUkB,WAAW,MAG/BC,EAAQC,YAAY,KACzB3B,EAASL,KACPmB,GAaHb,EAAY,CAAE2B,kBAXY,CACzBpB,YAAaI,EACbH,aAAcI,EACdH,iBAAkBI,EAClBT,WACAE,YACAW,SACAM,UACAE,QACAG,UAAU,IAGZ,CAAE,MAAOxN,GACR2L,EAASJ,GACV,IAGF,CAACD,IAAyB,CACzBI,OAASI,IACR,MAAM,MAAE2B,EAAK,SAAE9B,GAAaG,GACtB,OACLe,EAAM,YACNV,EAAW,aACXC,EAAY,SACZJ,EAAQ,UACRE,EAAS,QACTiB,EAAO,SACPK,GACGC,EAAMF,kBAGV,IAAIC,EAKJ,GACCX,GACAb,EAAS0B,WAAa,GACtB1B,EAAS2B,YAAc,GACvBR,EACC,CACDjB,EAAU0B,MAAQ5B,EAAS0B,WAAavB,EACxCD,EAAU2B,OAAS7B,EAAS2B,YAAcxB,EAC1CgB,EAAQW,UAAU9B,EAAU,EAAG,EAAGE,EAAU0B,MAAO1B,EAAU2B,QAE7D,MAAME,EAAkB7B,EACtB8B,UAAU,aAAc5B,GACxB6B,MAAM,KAAK,GACXC,OAEFvC,EAASpC,GAAsBwE,EAChC,MACCpC,EAASJ,MAIZ,CAAClC,IAAwB,CACxBqC,OAASI,IACR,MAAM,MAAE2B,EAAK,YAAE7B,GAAgBE,GACzB,OAAEe,GAAWY,EAAMF,kBAGrBV,GACH/B,GAAiB+B,EAAOsB,kBAAkB,GAI3CvC,EAAY,CACX2B,kBAAiBpM,KAAA,GACbsM,EAAMF,kBAAiB,CAC1BC,UAAU,QAKd,CAAClE,IAAyB,CACzBoC,OAASI,IACR,MAAM,MAAE2B,EAAK,YAAE7B,GAAgBE,GACzB,OAAEe,GAAWY,EAAMF,kBAGrBV,GACH/B,GAAiB+B,EAAOsB,kBAAkB,GAI3CvC,EAAY,CACX2B,kBAAiBpM,KAAA,GACbsM,EAAMF,kBAAiB,CAC1BC,UAAU,QAKd,CAACjC,IAAwB,CACxBG,OAASI,IACR,MAAM,SAAEH,GAAaG,EAErBH,EAASvC,MAGX,CAACA,IAAuB,CACvBsC,OAASI,IACR,MAAM,MAAE2B,EAAK,SAAE9B,GAAaG,GACtB,OAAEe,GAAWY,EAAMF,mBAAqB,CAAC,GACzC,WAAEa,GAAeX,EAEnBZ,GAAQA,EAAOG,YAAY7B,QAASC,GAAUA,EAAMiD,QAGpDD,GAA6C,mBAAxBA,EAAWE,UACnCF,EAAWE,SAAS,CAAC,CAAEC,KAAM,uEAAwE,GAGtG5C,EAASN,MAGX,CAACA,IAA0B,CAC1BK,OAASI,IACR,MAAM,MAAE2B,EAAK,YAAE7B,GAAgBE,GAEzB,MAAEuB,GAAUI,EAAMF,mBAAqB,CAAC,EAE1CF,GAAOmB,cAAcnB,GACzBzB,EAAY,CACX2B,kBAAmB,WCpLXkB,GACL,QADKA,GAEJ,SAKIC,GACW,wBAGlBC,GAA0B,CAC/BC,MAAO,CACN,CACCL,KAAM,wvIAuCIM,GAA4B,2rDAuCfH,gmEA8BNA,mmDAgCPI,GAA0B,CACtCC,qBAAsB,CACpB,CACDvD,KAAMkD,GACNM,YAAa,iLACbC,WAAY,CACVC,KAAM,SACNC,WAAY,CACbC,MAAO,CACLF,KAAM,SACNF,YAAa,yDAGdK,SAAU,CAAC,aAMFC,GAAa,sBAEnB,SAASC,KA+Bf,MA7BmB,CACjBC,MAAO,qHACPC,iBAAkB,CACnBC,mBAAoB,QACpBC,aAAc,CACZC,YAAa,CAAEC,oBAAqB,CAAEC,UAAW,SACjDC,aAAc,UAGfC,kBAAmB,CACpBpB,MAAO,CACL,CACDL,KAAMI,GAAwBC,MAAM,GAAGL,MAEtC,CAEQA,KAAMM,MAIfoB,MAAO,CAEFnB,IAELoB,yBAA0B,CAAC,EAC3BC,wBAAyB,CAAC,EAC1BC,kBAAmB,CAACC,OAAQ,IAI7B,CAEK,MAAMC,GACJ,CACPC,aAAc,CACb/E,KAAM,eACNgF,OAAQjB,OASEkB,GACgB,6BADhBA,GAEW,wBC/NxB,MAAM,GAFEhN,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BX,EAAoBK,EAAEM,EAAGD,GAAWC,GAE1B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAY+M,EAAsF3Q,SAAW2Q,EAAsF5Q,WACzM,OAAI6D,EACI+M,EAA+F,SAAKA,EAA+F,QAAW,QAAIA,EAA+F,QAAW,QAAIA,EAA+F,QAC5Z/M,EACH+M,EAA+F,QAAW,QAE1GA,EAA+F,QAAKA,EAA+F,QAAW,QAAIA,EAA+F,QAAW,QAAIA,EAA+F,QAAKA,KCTzajN,KAAO,IAAIC,EAAI,CAAC,EAAGX,EAAoBK,EAAEM,EAAGD,IAEf,CAAE,CAAG,G,0BCW1CU,EAAAA,EAAAA,qBAAoB,YAAa,CAChCwM,SAAU,CACTzB,KAAM0B,EAAAA,SAEPzB,WAAY,CACX0B,MAAO,CACNxB,UAAU,EACVyB,OAAQ,CACP5B,KAAM,QACN2B,MAAO,CACN3B,KAAM,SACNC,WAAY,CACX1P,GAAI,CAAEyP,KAAM,UACZ6B,OAAQ,CAAE7B,KAAM,UAChB8B,KAAM,CAAE9B,KAAM,UACdvQ,QAAS,CAAEuQ,KAAM,UACjBrD,OAAQ,CAAEqD,KAAM,eAMrB+B,OAAM,KACNC,KA/BYC,IAA+B,IAA5BhC,YAAY,MAAE0B,IAASM,EACtC,OACCrN,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,wBACdtN,EAAAA,EAAAA,eAAA,kBAAgB+M,MAAOA,EAAOQ,aAAW,QCN5C,MAAM,GAFE5N,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BX,EAAoBK,EAAEM,EAAGD,GAAWC,GAE1B,CAAE,CAAE,EAAO,KAC3C,MAAMC,EAAY2N,EAAiFvR,SAAWuR,EAAiFxR,WAGxL,OAAI6D,EACH2N,EAA0F,QAAE7Q,EAI7F6Q,EAAiF7Q,GAAK6Q,EAA0F,SAAKA,EAA0F,QAAE7Q,KCThR8Q,GAAkB,CAC9BC,iBAAiB/Q,EAAAA,GAAAA,GAAE,oBACnBgR,cAAchR,EAAAA,GAAAA,GAAE,mIAChBiR,0BAA0BjR,EAAAA,GAAAA,GAAE,SAG5BkR,cAAclR,EAAAA,GAAAA,GAAE,SAChBmR,eAAenR,EAAAA,GAAAA,GAAE,UACjBoR,gBAAgBpR,EAAAA,GAAAA,GAAE,qBAClBqR,cAAcrR,EAAAA,GAAAA,GAAE,iIAChBsR,mBAAmBtR,EAAAA,GAAAA,GAAE,8BACrBuR,0BAA0BvR,EAAAA,GAAAA,GAAE,iBAC5BwR,iCAAiCxR,EAAAA,GAAAA,GAAE,mEACnCyR,kCAAkCzR,EAAAA,GAAAA,GAAE,yBACpC0R,yCAAyC1R,EAAAA,GAAAA,GAAE,qDAC3C2R,yBAAyB3R,EAAAA,GAAAA,GAAE,gBAC3B4R,gCAAgC5R,EAAAA,GAAAA,GAAE,iEAClC6R,uBAAuB7R,EAAAA,GAAAA,GAAE,oLACzB8R,sBAAsB9R,EAAAA,GAAAA,GAAE,6EACxB+R,aAAa/R,EAAAA,GAAAA,GAAE,mHACfgS,uBAAuBhS,EAAAA,GAAAA,GAAE,sCAGzBiS,2BAA2BjS,EAAAA,GAAAA,GAAE,mHAC7BkS,sBAAsBlS,EAAAA,GAAAA,GAAE,gCACxBmS,uBAAuBnS,EAAAA,GAAAA,GAAE,oBACzBoS,0BAA0BpS,EAAAA,GAAAA,GAAE,wCAC5BqS,uBAAuBrS,EAAAA,GAAAA,GAAE,qBACzBsS,qBAAqBtS,EAAAA,GAAAA,GAAE,+FACvBuS,QAAQvS,EAAAA,GAAAA,GAAE,UACVwS,MAAMxS,EAAAA,GAAAA,GAAE,QAGRyS,sBAAsBzS,EAAAA,GAAAA,GAAE,WAGxB0S,gBAAgB1S,EAAAA,GAAAA,GAAE,sCAClB2S,qCAAqC3S,EAAAA,GAAAA,GAAE,2CACvC4S,mBAAmB5S,EAAAA,GAAAA,GAAE,qCACrB6S,kBAAkB7S,EAAAA,GAAAA,GAAE,yDACpB8S,eAAe9S,EAAAA,GAAAA,GAAE,mDACjB+S,2BAA2B/S,EAAAA,GAAAA,GAAE,qEAG7BgT,wBAAwBhT,EAAAA,GAAAA,GAAE,gCAC1BiT,iCAAiCjT,EAAAA,GAAAA,GAAE,uCACnCkT,2BAA2BlT,EAAAA,GAAAA,GAAE,iCAG7BmT,wBAAwBnT,EAAAA,GAAAA,GAAE,8EAC1BoT,kBAAkBpT,EAAAA,GAAAA,GAAE,kFACpBqT,6BAA6BrT,EAAAA,GAAAA,GAAE,8EAE/BsT,gBAAgBtT,EAAAA,GAAAA,GAAE,OAElBuT,qBAAqBvT,EAAAA,GAAAA,GAAE,sEACvBwT,iBAAiBxT,EAAAA,GAAAA,GAAE,2EAEnByT,mBAAmBzT,EAAAA,GAAAA,GAAE,gHAErB0T,qBAAqB1T,EAAAA,GAAAA,GAAE,yH,8CCzDjB,MAAM2T,GACgB,uCADhBA,GAEY,mCAFZA,GAIC,wBAJDA,GAKI,2BALJA,GAOA,uBAPAA,GASD,sBATCA,GAWa,oCAXbA,GAaa,oCAbbA,GAcc,qCAddA,GAgBgB,uCAhBhBA,GAiBW,kCAjBXA,GAkBW,kCAGXC,GAAqC,qCACrCC,GAA+B,+BAC/BC,GAAuB,uBC0NpC,MAEA,GAF6B,IAhPH,WAYzB,OAAAC,KAXA,SAAAC,IAAcC,KAAA,KAAAD,GACbjW,KAAKmW,QAAU,KACfnW,KAAKoW,MAAQ,KACbpW,KAAKqW,UAAY,IAAIrL,IACrBhL,KAAKsW,kBAAoB,KACzBtW,KAAKuW,aAAe,KACpBvW,KAAKwW,cAAe,EACpBxW,KAAKyW,oBACLzW,KAAK0W,0BACN,EAEA,EAAAlU,IAAA,oBAAAE,MAGA,WACC,IACC,MAAMiU,EAAc,+BAA+BjL,OAAOkL,SAASC,SACnE7W,KAAKmW,QAAU,IAAIW,iBAAiBH,GACpC3W,KAAKmW,QAAQxK,iBAAiB,UAAW3L,KAAK+W,cAAclU,KAAK7C,MAClE,CAAE,MAAOgX,GACRC,QAAQD,MAAM,gDAAiDA,EAChE,CACD,GAEA,CAAAxU,IAAA,gBAAAE,MAIA,SAAcwU,GACb,IACC,MAAM,KAAExG,EAAI,QAAE5C,EAAO,UAAEqJ,EAAS,MAAEf,GAAUc,EAAME,KAGlD,GAAIhB,IAAUpW,KAAKqX,WAClB,OAID,GAAI3G,IAAS4G,GAGZ,OAFAtX,KAAKuW,aAAezI,EAAQyI,kBAC5BvW,KAAKwW,aAAgBxW,KAAKuW,eAAiBvW,KAAKqX,YAKjD,MAAMhB,EAAYrW,KAAKqW,UAAUhT,IAAIqN,GACjC2F,GACHA,EAAU1J,QAAQ4K,IACjB,IACCA,EAAS,CAAE7G,OAAM5C,UAASqJ,YAAWf,SACtC,CAAE,MAAOY,GACRC,QAAQD,MAAM,+BAAgCA,EAC/C,GAGH,CAAE,MAAOA,GACRC,QAAQD,MAAM,oCAAqCA,EACpD,CACD,GAEA,CAAAxU,IAAA,YAAAE,MAKA,SAAUgO,GAAsB,IAAhB5C,EAAOhL,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,KACzB,GAAK9C,KAAKmW,QAIV,IACC,MAAMqB,EAAU,CACf9G,OACA5C,UACAqJ,UAAWM,KAAKC,MAChBtB,MAAOpW,KAAKqX,YAGbrX,KAAKmW,QAAQwB,YAAYH,EAC1B,CAAE,MAAOR,GACRC,QAAQD,MAAM,8BAA+BA,EAC9C,CACD,GAEA,CAAAxU,IAAA,cAAAE,MAKA,SAAYkV,EAAYL,GAClBvX,KAAKqW,UAAUlL,IAAIyM,IACvB5X,KAAKqW,UAAU/K,IAAIsM,EAAY,IAAIC,KAGpC7X,KAAKqW,UAAUhT,IAAIuU,GAAYE,IAAIP,EACpC,GAEA,CAAA/U,IAAA,WAAAE,MAIA,WAIC,OAHK1C,KAAKoW,QACTpW,KAAKoW,MAAQ,OAAOqB,KAAKC,SAASK,KAAKC,SAASjY,SAAS,IAAIkY,OAAO,EAAG,MAEjEjY,KAAKoW,KACb,GAEA,CAAA5T,IAAA,0BAAAE,MAGA,WAEK1C,KAAKsW,mBACR4B,aAAalY,KAAKsW,mBAInB6B,WAAW,KACVnY,KAAKoY,UAAUd,GAA8B,CAC5ClB,MAAOpW,KAAKqX,cAEX,KAGHrX,KAAKsW,kBAAoB6B,WAAW,KACnCnY,KAAKsW,kBAAoB,MACvB,IACJ,GAEA,CAAA9T,IAAA,2BAAAE,MAGA,WAEC,MAAM2V,EAAqBA,KAE1BrY,KAAKsY,2BAGN5M,OAAOC,iBAAiB,eAAgB0M,GAGxCrY,KAAKuY,qBAAuBF,CAC7B,GAEA,CAAA7V,IAAA,wBAAAE,MAGA,WACC1C,KAAKwW,cAAe,EACpBxW,KAAKuW,aAAevW,KAAKqX,WAGzBrX,KAAKoY,UAAUd,GAA0C,CACxDf,aAAcvW,KAAKuW,cAErB,GAEA,CAAA/T,IAAA,kBAAAE,MAGA,SAAgB0T,GACfpW,KAAKuW,aAAeH,EACpBpW,KAAKwW,aAAgBxW,KAAKuW,eAAiBvW,KAAKqX,UACjD,GAEA,CAAA7U,IAAA,oBAAAE,MAGA,WACC1C,KAAKwW,cAAe,EACpBxW,KAAKuW,aAAe,KAGpBvW,KAAKoY,UAAUd,GAA0C,CACxDf,aAAc,MAEhB,GAEA,CAAA/T,IAAA,qBAAAE,MAIA,WACC,OAAO1C,KAAKwW,YACb,GAEA,CAAAhU,IAAA,uBAAAE,MAIA,WACC,OAAQ1C,KAAKwW,cAAsC,OAAtBxW,KAAKuW,cAAyBvW,KAAKuW,eAAiBvW,KAAKqX,UACvF,GAEA,CAAA7U,IAAA,0BAAAE,MAGA,WACK1C,KAAKwW,cAERxW,KAAKoY,UAAUd,GAA6B,CAC3CkB,YAAaxY,KAAKqX,YAGrB,GAEA,CAAA7U,IAAA,UAAAE,MAGA,WAEK1C,KAAKsW,oBACR4B,aAAalY,KAAKsW,mBAClBtW,KAAKsW,kBAAoB,MAItBtW,KAAKuY,uBACR7M,OAAO+M,oBAAoB,eAAgBzY,KAAKuY,sBAChDvY,KAAKuY,qBAAuB,MAIzBvY,KAAKmW,UACRnW,KAAKmW,QAAQuC,QACb1Y,KAAKmW,QAAU,MAIhBnW,KAAKoW,MAAQ,KACbpW,KAAKqW,UAAUsC,QACf3Y,KAAKuW,aAAe,KACpBvW,KAAKwW,cAAe,CACrB,IAAC,CA5OwB,ICFpBoC,GAAoB,WAE1B,IAAIC,GAAgB,GAChBC,GAAuB,GAEvBC,GAAe,KACfC,GAAY,KAEZC,GAAkB,EAClBC,GAAmB,EAEnBC,GAAuB,GACvBC,GAAsB,GAEtBC,GAAkB,KAGtB,MAAMC,GAAqBA,CAACC,EAAKC,EAAKC,IAAQ1B,KAAK0B,IAAID,EAAKzB,KAAKyB,IAAIC,EAAKF,IAapEG,GAAgBvM,IAClB,MAAMwM,EAAWR,GACXS,EAAMD,EAASrZ,OAGrB4Y,GAAmBI,GAAmBJ,GAAkB,EAAGU,GAG3D,MAAMC,EAAcF,EAASG,MAAMZ,IACnCJ,GAAuBe,EACvBhB,GAAgB,GAEhBkB,GAAmB,IAqBjBC,GAAcA,CAAC7M,EAAU4C,KAC3B5C,EAASpE,EAAgCgH,IAUvCkK,GAAe9M,IACjB,MAAMyM,EAAMR,GAAoB9Y,OAKhC,GAFA2Y,GAAkBK,GAAmBL,GAAiB,EAAGW,GAErDX,GAAkB,GAAKA,GAAkBW,GAAO,KAAKzN,KAAKiN,GAAoBH,GAAkB,KAAO,KAAK9M,KAAKiN,GAAoBH,KAAmB,CACxJ,MAAMiB,EAAYd,GAAoBe,QAAQ,IAAKlB,IACnDA,IAAiC,IAAfiB,EAAmBA,EAAY,EAAIN,CACzD,CACAI,GAAY7M,EAAUiM,GAAoBU,MAAMb,MAK9CmB,GAAuBA,KACrBpB,KACAd,aAAac,IACbA,GAAY,OAUde,GAAqB,WACnBf,KACJA,GAAYb,WAAWkC,GAFMvX,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAxGX,KA2GtB,EAEMuX,GAAmBA,KAErB,GADArB,GAAY,MACPD,KAAiBD,GAAsB,OAG5C,IAAKA,GAAqBwB,WAAWzB,IAEjC,OA7CJA,GAAgBC,QAChBkB,GA2CwBjB,GA3CFF,IA+CtB,GAAIA,GAAcvY,QAAUwY,GAAqBxY,OAAQ,OAGzD,MAAMia,EAAQ1B,GAAcvY,OACtBka,EAAM1B,GAAqBqB,QAAQ,IAAKI,GAAS,GAAKzB,GAAqBxY,OAC3Ema,EAAQ3B,GAAqBgB,MAAMS,EAAOC,GAChD3B,IAAiB4B,EAEjBT,GAAYjB,GAAcF,IAE1B,IAAI6B,EAjIc,IAkId9B,GAAkBzM,KAAKsO,KAAQC,GAjIV,KAkIzBX,GAAmBW,IAqCVC,GAAoBA,IAAMtB,GAG1BuB,GAA4BA,CAACzN,EAAUW,KAChD,MAAM+M,EAAsB1W,OAAO2J,GACnCuL,GAAkB,SAClBF,GAAuB0B,EAxCGC,EAAC3N,EAAU4C,KACrCgJ,GAAe5L,EAEf,MAAM4N,EAAiBhL,EAIOgL,EAAeza,OAAS6Y,GAAqB7Y,QAC9Cya,EAAeza,OAAS4Y,KACjDA,GAAmB,GAIvB,MAAMW,EAAckB,EAAejB,MAAMZ,IAGzC,GAA2B,IAAvBW,EAAYvZ,OAEZ,YADAwY,GAAuB,IAI3B,MAAMkC,GAAmBnB,EAAYS,WAAWzB,IAGhD,GAFAC,GAAuBe,EAEnBmB,EAIA,OAFAnC,GAAgB,QAChBkB,GAAmB,GAIvBA,MAUAe,CAAsB3N,EAAUgM,KAIvB8B,GAA2BA,CAAC9N,EAAUW,KAC/C,MAAMoN,EAAqB/W,OAAO2J,GAClCuL,GAAkB,QAClBD,GAAsB8B,EAGlBhC,GAAmB,IACnBA,GAAmB,GAGvBe,GAAY9M,IAIHgO,GAAmBA,CAACC,EAAMjO,KACnC8L,GAAkBK,GAAmBL,GAAkBmC,EAAM,EAAGhC,GAAoB9Y,QACpF2Z,GAAY9M,IAGHkO,GAAWA,KACpBjB,KACAvB,GAAgB,GAChBC,GAAuB,GACvBC,GAAe,KACfI,GAAuB,GACvBE,GAAkB,KAClBJ,GAAkB,EAClBC,GAAmB,EACnBE,GAAsB,IChNbkC,GAAmB3I,IAAkC,IAAjC,MAAC1D,EAAK,OAAE5B,EAAM,YAAED,GAAYuF,EACzD,IAAK1D,EAAMW,YAA2D,mBAAtCX,EAAMW,WAAW0L,iBAC7C,OAGJ,MAAM,OAAEja,GAAWgM,EAAOS,QACpByN,EAAatM,EAAMuM,kBAGzBvM,EAAMW,WAAW0L,iBAAiB,CAC9BC,aACAla,WAGJ+L,EAAY,CACRoO,kBAAmB,QChBdC,GAAc,WAC1B,IAAIC,EAwCJ,MAAO,CAMNC,YAAWA,KACLD,IACJA,EA9CH,WACC,MAAME,EAAW,IAAI5Q,IACrB,MAAO,CAMN6Q,SAAAA,CAAU7O,EAAM8O,GACf,IAAI7O,EAAiB2O,EAASvY,IAAI2J,GAC9BC,IACHA,EAAiB,IAElBA,EAAe9L,KAAK2a,GACpBF,EAAStQ,IAAI0B,EAAMC,EACpB,EAMA8O,WAAAA,CAAY/O,GACJ4O,EAASI,OAAOhP,EACxB,EAOAiP,OAAAA,CAAQjP,EAAMc,GACbqK,WAAW,KACVyD,EAASvY,IAAI2J,GAAML,QAASmP,GAAWA,EAAQhO,KAEjD,EAEF,CAUcoO,IAELR,GAGV,CAtD2B,GCsBrBS,GAAeV,GAAWE,cAEhC,IAAIS,GAAsB,KAEnB,MAAMnP,GAAiB,CAE1B,CAACvH,EAAAA,YAAY2W,qBAAuB/O,IAAc,IAAAgP,EAC9C,MAAM,QAAE3N,EAAO,YAAEvB,EAAW,SAAED,GAAaG,EAC3C,IAAIiP,ElB3BL,SAA+B5N,EAAS6N,GAE9C,OAAO7N,GADK9I,EAAAA,EAAAA,mBAAkB2W,GAE/B,CkBwB4BC,CAAsB9N,EhB7BjD,sCgB8BO4N,EAAgBA,KAAoC,IAAlBA,GAAqE,SAA3CA,EAAcxc,WAAW2c,eAErF,MAAMC,EAAyB,QAATL,EAAG5Q,cAAM,IAAA4Q,GAAY,QAAZA,EAANA,EAAQM,kBAAU,IAAAN,GAAS,QAATA,EAAlBA,EAAoBO,eAAO,IAAAP,GAAQ,QAARA,EAA3BA,EAA6BQ,cAAM,IAAAR,GAAM,QAANA,EAAnCA,EAAqCS,YAAI,IAAAT,OAAA,EAAzCA,EAA2CU,MAC9DC,EAAmBN,IAAqBA,EAAiBO,SAAS3U,IAAoCoU,EAAiBO,SAAS3U,IAChI4U,EAAsBZ,GAAiBU,EACzCb,GAAsBA,KAClBjP,EAAS3D,IAGjB4D,EAAY,CAAE+P,wBAEVA,IACAzR,OAAOC,iBAAiBpC,EAAY6S,IACpC1Q,OAAOC,iBhBsFgB,sBgBtFuBnK,IAAM,IAAA4b,EACf,kCAA7B5b,SAAS,QAAR4b,EAAD5b,EAAG6b,cAAM,IAAAD,GAAS,QAATA,EAATA,EAAWtP,eAAO,IAAAsP,OAAA,EAAlBA,EAAoB1M,OACpBvD,EAASzD,GAAWE,0BAKhCuD,EAAS0I,IAETsG,GAAaN,UAAUnS,GAAWC,uBAAyBmE,IACvDX,EAASzD,GAAWC,uBAAwBmE,KAEhDqO,GAAaN,UAAUnS,GAAWE,sBAAuB,KACrDuD,EAASzD,GAAWE,yBAExBuS,GAAaN,UAAUnS,GAAWG,uBAAwB,KACtDsD,EAASzD,GAAWG,2BAI5B,CAACJ,IAA6B6D,IAC1B,MAAM,SAACH,GAAYG,EACnBH,EAAS3D,GACT2D,EAASxE,EAAaC,0BAA2B,CAC7C4O,QAAS,CACL9G,KAAM5H,EACNiH,KAAM9N,GAAEuT,oBACR8H,aAAa,MAKzB,CAAC9T,GAA4B8D,IACzB,MAAM,SAACH,GAAYG,EACfiQ,GAAqBC,uBACrBrQ,EAAS3E,EAAgB,CAAC,KAAQE,IAClCyE,EAASzD,GAAWE,yBAI5B,CAAClE,EAAAA,YAAY+X,wBAAyB9K,IAAgB,IAAf,SAACxF,GAASwF,EAC7CxF,EAAS4I,IACTsF,KACA3P,OAAO+M,oBAAoBlP,EAAY6S,KAG3C,CAAC1S,GAAWC,wBAAyB,CACjCuD,OAASI,IACL,MAAM,SAACH,EAAQ,YAAEC,EAAW,OAAEC,GAAUC,EACxC,GAAIiQ,GAAqBG,wBAA0BH,GAAqBC,qBAOpE,YANArQ,EAASxE,EAAaC,0BAA2B,CAC7C4O,QAAS,CACL9G,KAAM,QACNX,KAAM9N,GAAEyT,qBAKpB,MAAM,IAACiI,EAAG,eAAEC,GAAkBvQ,EAAOS,SAAW,CAAC,EAEjDV,EAAY,CACRyQ,kBAAmBD,GAAkB,MAGzChR,EAAAA,GAAAA,SAAMU,EAAW7E,EAAyC,CAACkV,IAAKA,GAAO,KAEvExQ,EAASxF,EAAwBC,qBAAsB,CAAEkW,SAAUhM,GAA0BC,aAAa/E,KAAM+Q,YAAY,IAC5HR,GAAqBS,yBAEzBC,iBAAiB,GAErB,CAACvU,GAAWE,uBAAwB,CAChCsD,OAASI,IAAc,IAAAC,EACnB,MAAM,OAACF,EAAM,SAAEF,EAAQ,MAAE8B,GAAS3B,EAClC,GAAIiQ,GAAqBG,uBACrBvQ,EAAS,iCAMb,GAHAA,EAASxF,EAAwBI,qBACjCwV,GAAqBnF,UAAUxC,IAEb,QAAlBrI,EAAIF,EAAOS,eAAO,IAAAP,GAAdA,EAAgB2Q,gBAAiB,CACjC,MAAM,gBAAEC,EAAe,SAAEnP,EAAQ,eAAEoP,EAAc,UAAEC,GAAcpP,EAEjE,IAAIqP,EAAyBH,GAAmB,EAEhD,GAAInP,GAAYoP,EAAgB,CAE5BE,GAA0BH,GAAmB,IADjB1G,KAAKC,MAAQ0G,EAE7C,CAEA,MAAMG,EAAyBF,EACzBtG,KAAKyG,OACE/G,KAAKC,MAAQ2G,GAAaC,GAA0B,IAAM,KAEjE,GAEN1R,EAAAA,GAAAA,SAAMU,EAAW7E,EAAwC,CACrDgW,SAAU3Y,EAAmByY,IAErC,GAEJN,iBAAiB,GAErB,CAACvU,GAAWG,wBAAyB,CACjCqD,OAAQwR,IAA6B,IAA5B,YAACtR,EAAW,SAAED,GAASuR,EAC5BtR,EAAY,CACR4B,UAAU,IAEd7B,EAASxF,EAAwBE,uBAErCoW,iBAAiB,GAErB,CAACvU,GAAWI,yBAA0B,CAClCoD,OAAQyR,IAA6B,IAA5B,YAACvR,EAAW,SAAED,GAASwR,EAC5BvR,EAAY,CACR4B,UAAU,EACV7O,QAAS,KAEbgN,EAASxF,EAAwBG,wBAErCmW,iBAAiB,GAGrB,CAACvU,GAAWK,0BAA2B,CACnCmD,OAASI,IACL,MAAM,SAACH,EAAQ,YAAEC,EAAW,MAAE6B,GAAS3B,EACvCH,EAAS,2BACT,MAAMkR,EAAY5G,KAAKC,MAQM,IAAAkH,GAJ7BxR,EAAY,CAACyR,oBAHe/P,YAAY,KACxCyO,GAAqBnF,UAAUxC,KAC5B,KAC+ByI,cAClCd,GAAqBnF,UAAUxC,GAA8C,CACzEyI,cAEApP,EAAM4O,qBACA,QAANe,EAAAlT,cAAM,IAAAkT,GAAkB,QAAlBA,EAANA,EAAQE,wBAAgB,IAAAF,GAAxBA,EAA0BG,YAAY,wBAAwB,MAI1E,CAACrV,GAAWO,yBAA0B,CAClCiD,OAAQ8R,IAAmB,IAAlB,YAAC5R,GAAY4R,EAClBzB,GAAqBnF,UAAUxC,IAE/BxI,EAAY,CACRgR,eAFmB3G,KAAKC,UAMpC,CAAChO,GAAWQ,0BAA2B,CACnCgD,OAAQ+R,IAA0B,IAAzB,MAAChQ,EAAK,YAAE7B,GAAY6R,EACzB,MAAM,eAACb,EAAc,gBAAED,GAAmBlP,EAC1CsO,GAAqBnF,UAAUxC,IAE/BxI,EAAY,CACRgR,eAAgB,KAChBD,gBAAiBA,GAHH1G,KAAKC,MAAQ0G,OAOvC,CAAC1U,GAAWM,wBAAyB,CACjCkD,OAAQgS,IAAuB,IAAtB,MAACjQ,EAAK,SAAE9B,GAAS+R,EACtB,MAAM,oBAACL,GAAuB5P,EAC9B9B,EAAS,4BACToQ,GAAqBnF,UAAUxC,IAC/B2H,GAAqB4B,oBACjBN,GACA7O,cAAc6O,KAI1B,CAACrW,GAAkB8E,IACf,MAAM,OAACD,EAAM,MAAE4B,GAAS3B,GAClB,KAAC8R,GAAQ/R,EAAOS,QAClBsR,IACAxS,EAAAA,GAAAA,SAAMU,EAAW7E,EAAoD,CACjE,aAAc2W,EACd,SAAYnQ,EAAM6O,YAKjC,CAAC9U,EAAyBG,iBAAkBkW,IAA0B,IAAAC,EAAAC,EAAA,IAAzB,SAAEpS,EAAQ,OAAEE,GAAQgS,EAC1D,MAAMjE,GAAO/N,SAAe,QAATiS,EAANjS,EAAQS,eAAO,IAAAwR,OAAA,EAAfA,EAAiBlE,OAAQ,EAChCjF,EAAU9I,SAAe,QAATkS,EAANlS,EAAQS,eAAO,IAAAyR,OAAA,EAAfA,EAAiBpJ,QACjC,GAAKiF,EAEL,MAAgB,UAAZjF,EACOgF,GAAiBC,EAAMjO,GAElB,WAAZgJ,EHnNwBqJ,EAACC,EAAOtS,KACxC,MAAMuS,EAAgBvG,GAAqB7Y,OAC3C4Y,GAAmBI,GAAmBJ,GAAmBuG,EAAO,EAAGC,GAE/DvS,GACAuM,GAAavM,IG+MFqS,CAAqBpE,EAAMjO,QADtC,GAMJ,CAACrG,EAAmBI,kBAAmBiD,GAEvC,CAACrD,EAAmBO,wBAAyBsY,IAA2B,IAA1B,OAACtS,EAAM,YAAED,GAAYuS,EAC/D,MAAM,WAAEpE,GAAelO,EAAOS,SAAW,CAAC,EAEtCyN,GACAnO,EAAY,CACRoO,kBAAmBD,KAK/B,CAACzU,EAAmBK,4BAA6BmU,GAEjD,CAACxU,EAAmBM,yBAA0BkU,GAG9C,CAACxU,EAAmBY,oBAAqBgD,I,yBClQtC,MAAMkV,GAAyB,+CCA9B3a,KAAO,IAAIC,EAAI,CAAC,EAAGX,EAAoBK,EAAEM,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGX,EAAoBK,EAAEM,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGX,EAAoBK,EAAEM,EAAGD,IAEf,CAAE,CAAG,IC4E1CU,EAAAA,EAAAA,qBAAoB,wBAAyB,CAC5CwM,SAAU,CAAEzB,KAAM0B,EAAAA,SAClBM,KAvEazD,IACb,MAAM,gBAAE4Q,GAAoB5Q,EAC5B,OACC3J,EAAAA,EAAAA,eAAA,aACCwa,QAAQ,EACR,eAAc7d,GAAEoR,eAChB+H,KAAK,KACL2E,iBAAiB,OACjB,iBAAgB,CACf,CACC,QAAW,UACX,MAAS9d,GAAEkR,aACX,gBJpBgC,8CIqBhC,SAAY0M,GAGb,CACC,QAAW,WACX,MAAS5d,GAAEmR,cACX,gBAAmBwM,OAIrBta,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,kBACdtN,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,0BACdtN,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,kBACdtN,EAAAA,EAAAA,eAAA,YAAOrD,GAAEqR,gBAEVhO,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,yBACdtN,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,8BAA8B3Q,GAAEsR,oBAC/CjO,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,yBACdtN,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,yBACdtN,EAAAA,EAAAA,eAAA,YAAUsN,UAAU,eAAeJ,KAAK,wBAAwB4I,KAAK,QACrE9V,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,yBACdtN,EAAAA,EAAAA,eAAA,QAAMsN,UAAU,yBAAyB3Q,GAAEuR,2BAC3ClO,EAAAA,EAAAA,eAAA,QAAMsN,UAAU,+BAA+B3Q,GAAEwR,oCAGnDnO,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,yBACdtN,EAAAA,EAAAA,eAAA,YAAUsN,UAAU,eAAeJ,KAAK,kBAAkB4I,KAAK,QAC/D9V,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,yBACdtN,EAAAA,EAAAA,eAAA,QAAMsN,UAAU,yBAAyB3Q,GAAEyR,mCAC3CpO,EAAAA,EAAAA,eAAA,QAAMsN,UAAU,+BAA+B3Q,GAAE0R,4CAGnDrO,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,yBACdtN,EAAAA,EAAAA,eAAA,YAAUsN,UAAU,eAAeJ,KAAK,uBAAuB4I,KAAK,QACpE9V,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,yBACdtN,EAAAA,EAAAA,eAAA,QAAMsN,UAAU,yBAAyB3Q,GAAE2R,0BAC3CtO,EAAAA,EAAAA,eAAA,QAAMsN,UAAU,+BAA+B3Q,GAAE4R,qCAKrDvO,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,oBACdtN,EAAAA,EAAAA,eAAA,YAAOrD,GAAE6R,yBAEVxO,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,qBACdtN,EAAAA,EAAAA,eAAA,gBAAc0a,MAAO/d,GAAE8R,wBACvBzO,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,gBACb3Q,GAAE+R,YAAY,KAAC1O,EAAAA,EAAAA,eAAA,iBAAe0a,MAAO/d,GAAEgS,sBAAuBgM,KAAK,sCAAsCC,QAAQ,YAAYC,aAAa,IAAQ,UAYzJ1N,OAAM,KACN2N,aAAc,CACbP,iBAAiB,GAElB5S,eAAgB,CACf,2BAA8B,CAC7BC,OAAQyF,IAA6B,IAA5B,YAAEvF,EAAW,OAAEC,GAAQsF,EAC/BvF,EAAY,CAAEyS,iBAAkBxS,EAAOS,QAAQpL,SAEhDub,iBAAiB,GAElB,CAAC2B,IAAyBlB,IAAkB,IAAjB,SAAEvR,GAAUuR,EACtCvR,EJ1FsC,oDI4FvC,uBAA0B,CACzBD,OAAQyR,IAAkB,IAAjB,SAAExR,GAAUwR,EACpBxR,EAASyS,KAEV3B,iBAAiB,M,wBCnGZhZ,KAAO,IAAIC,EAAI,CAAC,EAAGX,EAAoBK,EAAEM,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGX,EAAoBK,EAAEM,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGX,EAAoBK,EAAEM,EAAGD,IAEf,CAAE,CAAG,GAA1C,MCIaob,GAAkB,kBAClBC,GAAa,gBAIpBzZ,GAAc,sBAEP0Z,GAAgB,CACzBC,cAAe,GAAG3Z,kBAClB4Z,mBAAoB,GAAG5Z,uBACvB6Z,YAAa,GAAG7Z,iBCPd8Z,GAAkBA,CAACzJ,EAAO/J,KACb,WAAd+J,EAAM1U,KACT2K,EAASoT,GAAcG,cAIZzT,GAAiB,CAC7B,CAACvH,EAAAA,YAAY2W,qBAAsB1J,IAAkB,IAAjB,SAAExF,GAAUwF,EAC/CjH,OAAOC,iBAAiB,UAAYuL,GACnCyJ,GAAgBzJ,EAAO/J,KAIzB,CAACzH,EAAAA,YAAYkb,4BAA6BlC,IAKpC,IALqC,YAC1CtR,EAAW,OACXC,EAAM,SACNF,EAAQ,MACR8B,GACAyP,EACA,GAA4B,YAAxBrR,EAAOS,QAAQd,KAAoB,KAAA6T,EAAAtT,EAEtC,MAAMuT,EAAoC,QAAzBD,EAAGxT,SAAe,QAATE,EAANF,EAAQS,eAAO,IAAAP,OAAA,EAAfA,EAAiB7K,aAAK,IAAAme,EAAAA,EAAI,GACzC5R,EAAM8R,oBAAsC,KAAhBD,GAChC1T,EAAY,CAAE2T,oBAAoB,IAGnC3T,EAAY,CAAE4T,eAAgBrG,OAC9BsG,sBAAsB,KAAM,IAAAC,EAAAC,EAC3B,MAAMC,EAAYnS,SAAiB,QAAZiS,EAALjS,EAAOoS,kBAAU,IAAAH,OAAA,EAAjBA,EAAmBI,QAC/BC,EAActS,SAAmB,QAAdkS,EAALlS,EAAOuS,oBAAY,IAAAL,OAAA,EAAnBA,EAAqBG,QACzC,IAAKF,IAAcG,EAAa,OAMK,IAAAjC,EAHf8B,EAAUK,aACRF,EAAYE,cAGnCtU,EAASnE,EAAyBG,gBAAiB,CAClDiS,MAAM/N,SAAe,QAATiS,EAANjS,EAAQS,eAAO,IAAAwR,GAAO,QAAPA,EAAfA,EAAiB5c,aAAK,IAAA4c,OAAA,EAAtBA,EAAwBhf,SAAU,EACxC6V,QAASwE,QAIb,GAGD,mCAAsC,CACrCzN,OAAQyR,IAAiC,IAAhC,MAAE1P,EAAK,OAAE5B,EAAM,SAAEF,GAAUwR,EACnC,MAAM,WAAE+C,GAAerU,EAAOS,SACxB,SAAEkB,EAAQ,iBAAE2S,GAAqB1S,EAAM0B,WAC7C,OAAQ+Q,GACP,IAAK,eACWvU,EAASoT,GAAcC,cAAe,CAAC9d,OAAQsM,IAC9D,MACD,IAAK,oBACW7B,EAASoT,GAAcE,mBAAoB,CAAC/d,OAAQif,MAIhE1D,iBAAiB,GAGrB,qBAAwB,CACpB/Q,OAAQ8R,IAAgB,IAAf,SAAC7R,GAAS6R,EACf7R,EAASoT,GAAcG,cAE3BzC,iBAAiB,GAGxB,CAACvY,EAAAA,YAAY+X,wBAAyBwB,IAAkB,IAAjB,SAAE9R,GAAU8R,EAClDvT,OAAO+M,oBAAoB,UAAYvB,GACtCyJ,GAAgBzJ,EAAO/J,M,yBChFnB,MAAMyU,GAA2B,8CAC3BC,GAAsB,yCACtBC,GAAsB,yCAEtBC,GAAoBzf,OAAO0f,OAAO,CAC3CC,OAAQ,EACRC,iBAAkB,IAClBC,YAAa,IACbC,eAAgB,GAChBC,gBAAiB,IACjBC,aAAc,GACdC,iBAAkB,IAClBC,eAAgB,MAGPC,GAAiBngB,OAAO0f,OAAO,CACxC3S,OAAQ,MACRqT,aAAc,QAGZC,GAAWrgB,OAAO0f,OAAO,CAC3B,CAAEY,KAAM,EAAIC,GAAI,EAAIC,KAAM/K,KAAKgL,GAAK,IACpC,CAAEH,KAAM,EAAIC,GAAI,GAAIC,KAAM/K,KAAKgL,GAAK,KACpC,CAAEH,KAAM,EAAIC,GAAI,GAAIC,KAAM/K,KAAKgL,GAAK,KACpC,CAAEH,KAAM,EAAIC,GAAI,GAAIC,KAAM/K,KAAKgL,GAAK,KACpC,CAAEH,KAAM,EAAIC,GAAI,GAAIC,KAAM/K,KAAKgL,GAAK,KACpC,CAAEH,KAAM,EAAIC,GAAI,GAAIC,KAAM/K,KAAKgL,GAAK,KACpC,CAAEH,KAAM,EAAIC,GAAI,GAAIC,KAAM/K,KAAKgL,GAAK,KACpC,CAAEH,KAAM,EAAIC,GAAI,EAAIC,KAAM/K,KAAKgL,GAAK,KACpC,CAAEH,KAAM,EAAIC,GAAI,EAAIC,KAAM/K,KAAKgL,GAAK,OAKlCC,GAAkBA,CAACC,EAAY9L,KACjC,MAAMlV,EAAIkV,EAAY,IACtB,OAAOwL,GAAS1iB,IAAI0S,IAAwB,IAAvB,KAAEiQ,EAAI,GAAEC,EAAE,KAAEC,GAAMnQ,EAGnC,MAAO,CACHtD,OAAQ,GAFGuT,GADD7K,KAAKmL,IAAIjhB,EAAI6gB,GAAQ,GAAK,GACVD,EAAKD,GAAQK,MAGvCP,aAAc,MACdS,WAViB,4CAWjBC,WAAY,YAKlB,iBAAElB,GAAgB,YAAEC,GAAW,eAAEC,GAAc,gBAAEC,GAAe,aAAEC,GAAY,iBAAEC,GAAgB,eAAEC,IAAmBT,GAE3H,IAAIsB,GAAiB,EACjBC,GAAiB,EACjBC,GAAe,KACfC,GAAe,KAEnB,MAAMC,GAAiBtM,IAMnB,GALkBA,EAAYmM,GACdf,KACZc,IAAkBf,IAGlBe,GAAiBb,GAIjB,OAHAa,GAAiB,EACbG,IAAcA,GAAa,CAAEE,aAAc,YAC/CH,GAAe,MAInB,MAAMN,EAAalL,KAAKyB,IAAI,EAAG6J,GAAiBlB,IAC5CqB,IAAcA,GAAa,CAAEE,aAAcV,GAAgBC,EAAY9L,KAE3EoM,GAAetC,sBAAsBwC,KAa5BE,GAAuBC,IAChC,GAAIA,GAAa1B,GAAkB,CAC/BoB,GAAiBO,YAAYnM,MAE7B2L,KADeO,GAAaP,GAAiBjB,GAAiBC,KAClCuB,EAAYP,IAbvCE,KAAcA,GAAetC,sBAAsBwC,IAexD,GCnFSxW,GAAiB,CAC7B,CAACvH,EAAAA,YAAY2W,qBAAsB1J,IAAqB,IAApB,YAAEvF,GAAauF,EDuEtBvF,KAC1BoW,GAAepW,GCvEjB0W,CAAc1W,IAGf,CAAC1H,EAAAA,YAAYkb,4BAA6BlC,IAAgB,IAAf,OAAErR,GAAQqR,EACxB,cAAxBrR,EAAOS,QAAQd,MAClB2W,GAAoBtW,EAAOS,QAAQpL,OAAS,IAI9C,CAACgD,EAAAA,YAAY+X,wBAAyB,KD4E/B8F,KAAgBQ,qBAAqBR,IAAeA,GAAe,MACvEF,GAAiB,EACbG,IAAcA,GAAa,CAAEE,aAAc,OAC/CF,GAAe,OE3FbQ,GAAOvX,MAAMmW,KAAK,CAAEtiB,OAAQyhB,GAAkBE,QAAU,CAACgC,EAAGzjB,IAAMA,G,WAuBxEmF,EAAAA,EAAAA,qBAAoB,gBAAiB,CACjCwM,SAAU,CAAEzB,KAAM0B,EAAAA,SAClBgO,aAAc,CACVsD,aAAc,MAElB/S,WAAY,CACR3B,SAAU,CACNzN,SAAS,EACTsP,UAAU,GAEdqT,aAAc,CACV3iB,SAAS,EACTsP,UAAU,GAEdsT,cAAe,CACX5iB,SAAS,EACTsP,UAAU,GAEduT,UAAW,CACP7iB,QAAS,EACTsP,UAAU,IAGlB6B,KA5CSC,IAAkC,IAAjC,aAAE+Q,EAAY,WAAE/S,GAAYgC,EACtC,MAAM,SAAE3D,EAAQ,aAAEkV,EAAY,cAAEC,GAAkBxT,EAE5C0T,GAAeH,GAAgBC,KAAmBnV,EAClDsV,GAAgBtV,IAAaqV,GAAeX,EAElD,OACIpe,EAAAA,EAAAA,eAAA,OAAKsN,UAAW,eAAcyR,EAAc,iBAAmB,KAC1DL,GAAK/jB,IAAKO,GACH6jB,GACO/e,EAAAA,EAAAA,eAAA,OAAK9C,IAAKhC,EAAGoS,UAAW,yCAAyCpS,MAExE8jB,GACOhf,EAAAA,EAAAA,eAAA,OAAK9C,IAAKhC,EAAGoS,UAAU,YAAY2R,MAAOb,EAAaljB,MAE3D8E,EAAAA,EAAAA,eAAA,OAAK9C,IAAKhC,EAAGoS,UAAU,YAAY2R,MAAO9B,QA8B7DhQ,OAAM,KACNxF,eAAcA,KC1ClB,MAAMuX,GAAyD,OAAnC,QAAVC,GAAA7H,kBAAU,IAAA6H,IAAS,QAATA,GAAVA,GAAY5H,eAAO,IAAA4H,IAAQ,QAARA,GAAnBA,GAAqB3H,cAAM,IAAA2H,IAAM,QAANA,GAA3BA,GAA6B1H,YAAI,IAAA0H,QAAA,EAAjCA,GAAmCC,QAAiB,GAAKhZ,OAAOkL,SAASC,OAAS,IAAM+F,WAAWC,QAAQC,OAAOC,KAAK2H,OACnIC,GAAqB,QAAbC,GAAGhI,kBAAU,IAAAgI,IAAS,QAATA,GAAVA,GAAY/H,eAAO,IAAA+H,IAAQ,QAARA,GAAnBA,GAAqB9H,cAAM,IAAA8H,IAAM,QAANA,GAA3BA,GAA6B7H,YAAI,IAAA6H,QAAA,EAAjCA,GAAmCC,aA8DpDlf,EAAAA,EAAAA,qBAAoB,qBAAsB,CACtCwM,SAAU,CAAEzB,KAAM0B,EAAAA,SAClBgO,aAAc,CACV0E,gBAAiB,EACjB/D,oBAAoB,EACpBS,cAAcjc,EAAAA,EAAAA,aACd8b,YAAY9b,EAAAA,EAAAA,aACZ4Y,gBAAiB,EACjB4G,mBAAoB,MAExBpU,WAAY,CACRqU,gBAAiB,CACbzjB,QAAS,eACTsP,UAAU,GAEd8Q,iBAAkB,CACdpgB,SAAS,EACTsP,UAAU,GAEd1Q,QAAS,CACLoB,QAAS,GACTsP,UAAU,GAEd7B,SAAU,CACNzN,SAAS,EACTsP,UAAU,GAEdqT,aAAc,CACV3iB,SAAS,EACTsP,UAAU,GAEduT,UAAW,CACP7iB,QAAS,EACTsP,UAAU,GAEdsT,cAAe,CACX5iB,SAAS,EACTsP,UAAU,IAGlB6B,KApGSC,IAAkF,IAAjF,mBAAEoO,EAAkB,eAAEC,EAAc,WAAErQ,EAAU,WAAE0Q,EAAU,aAAEG,GAAc7O,EACtF,MAAM,gBAAEqS,EAAe,iBAAErD,EAAgB,QAAExhB,EAAO,SAAE6O,EAAQ,aAAEkV,EAAY,UAAEE,EAAS,cAAED,GAAkBxT,EACnGsU,EAAiBjW,IAAa+R,GAAuBA,GAAsB5gB,EAEjF,OACImF,EAAAA,EAAAA,eAACD,EAAAA,SAAQ,MACLC,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,+BACXtN,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,0CACXtN,EAAAA,EAAAA,eAAA,uBAAqB4f,YAAU,EAACpF,QAAQ,EACpCzQ,OAAQsS,ELtBN,IACA,GKsBFwD,YAAa,CAAE3S,KAAM6N,IACrBjF,KAAK,KACLgK,aAAcnjB,GAAEmS,sBAChB,wBAAuB,CACnBiR,2BAA2B,EAC3BC,uBL3BF,IK6BFlW,ML5BC,IK6BDmW,SAAUP,EAAiBQ,aAAW,IAEtClgB,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,qBAAqB6S,KAAK,YACrCngB,EAAAA,EAAAA,eAAA,KAAGsN,UAAU,mBACTtN,EAAAA,EAAAA,eAAA,YAAUsN,UAAW,mBAAmB5D,EAAuB,GAAZ,WAAkBwD,KAAMxD,EAAWsR,GL5B3F,0BK4BuHtR,EAAW/M,GAAEuS,OAASvS,GAAEwS,QAElJnP,EAAAA,EAAAA,eAAA,OAAKmgB,KAAK,UAAU7S,UAAU,iCACzB+O,GAAmBrc,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,wBAC/BtN,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,2BAA2B3R,GAAG,kBAAkBykB,IAAKlE,GAC/DyD,GACG3f,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,qBACS,UAAnBoO,GACK1b,EAAAA,EAAAA,eAAA,cAAY8V,KAAK,KAAKuK,SAAUnB,GAAWG,SAAUA,MACrDrf,EAAAA,EAAAA,eAAA,YAAUkN,KAAM6N,GAAiBjF,KAAK,QAGhD,MACJ9V,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,kBAAkB3R,GAAG,kBAAkBykB,IAAKrE,IAC3D/b,EAAAA,EAAAA,eAAA,SAAI0J,EAAW/M,GAAEsS,oBAAuBwM,EAAqB5gB,EAAU8B,GAAEiS,8BAIxE,MACT5O,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,sBACXtN,EAAAA,EAAAA,eAAA,uBAAqB4a,QAAQ,WAAW9E,KAAK,KAAK5I,KAAMxD,ELjD/D,YKiDsFsR,GAAY,oBAAmB,CAAEoB,WAAY,mBAC5Hpc,EAAAA,EAAAA,eAAA,uBAAqB4a,QAAQ,WAAW9E,KAAK,KAAK5I,KAAK,oBAAoBoT,WAAY,CAAE,aAAc3jB,GAAEqS,uBAAyB,oBAAmB,CAAEoN,WAAY,qBAAuBmE,SAAUlE,EAAkBmE,eAAgB7jB,GAAEqS,sBAAuByR,aAAW,KAE1QzgB,EAAAA,EAAAA,eAAA,iBAAe0J,SAAUA,EAAUkV,aAAcA,EAAcE,UAAWA,EAAWD,cAAeA,KAEpG7e,EAAAA,EAAAA,eAAA,cAAY4a,QAAQ,WAAW9E,KAAK,KAAK4E,MAAO/d,GAAEsT,eAAgBqQ,WAAY,CAAE,aAAc3jB,GAAEkS,0BAEpG7O,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,mBACXtN,EAAAA,EAAAA,eAAA,YAAOrD,GAAEoS,iCAmDrC5B,OAAM,KACNxF,eAAcA,KClHX,MAAM+Y,GAAuB,GAAGnf,wBAC1Bof,GAAwB,GAAGpf,yBAC3Bqf,GAAmB,GAAGrf,oBACtBsf,GAAmB,GAAGtf,oBACtBuf,GAAoB,GAAGvf,qBACvBwf,GAAqB,GAAGxf,sBAGxByf,GAAoB,GAAGzf,qB,mECTpC,MAAM,GAFE5B,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BX,EAAoBK,EAAEM,EAAGD,GAAWC,GAE1B,CAAE,CAAE,aAAkB,KACtD,MAAMC,EAAYohB,EAAwFhlB,SAAWglB,EAAwFjlB,WAGtM,OAAI6D,EACHohB,EAAiG,QAAEC,aAIpGD,EAAwFC,cAAgBD,EAAiG,SAAKA,EAAiG,QAAEC,cACtT,QAAa,KACf,MAAMrhB,EAAYohB,EAAwFhlB,SAAWglB,EAAwFjlB,WAC7M,OAAI6D,EACIohB,EAAiG,SAAKA,EAAiG,QAAW,QAAIA,EAAiG,QAAW,QAAIA,EAAiG,QACpaphB,EACHohB,EAAiG,QAAW,QAE5GA,EAAiG,QAAKA,EAAiG,QAAW,QAAIA,EAAiG,QAAW,QAAIA,EAAiG,QAAKA,KCmDzb,GAtDgC,WAC5B,MAAO,8MADgCzjB,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,2NAAsBA,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,sjCAmDvE,ECFA,GAjDyB2jB,IACd,05CCMEC,GAAqB,IAAI1b,IAEzB2b,GAAuBA,CAACC,EAAaC,KACjD,MAAMC,EAAS,IAAIC,KAAK,CACvB,sBAAsBH,OAAiBC,MACrC,CACFnW,KAAM,2BAGP,OAAOsW,IAAIC,gBAAgBH,IAGfI,GAAuBN,KAC9BF,GAAmBvb,IAAI9B,IAGrBqd,GAAmBrjB,IAAIgG,GAAsB8B,IAAIyb,GAG5CO,GAA2BP,IAClCF,GAAmBvb,IAAI9B,IAC3Bqd,GAAmBpb,IAAIjC,EAAsB,IAAIwO,KAElD6O,GAAmBrjB,IAAIgG,GAAsByO,IAAI8O,I,iJC9B3C,IAAMQ,GAAa,SAAAC,GACzB,SAAAD,IAAgC,IAAAE,EAAA,IAApBC,EAAUzkB,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,K,UAUF,OAVOoT,KAAA,KAAAkR,G,EAC7B,K,EAAAA,E,WAAAE,E,0EACKC,WAAaA,EAClBD,EAAKjZ,YAASvN,EACdwmB,EAAKzb,kBAAe/K,EACpBwmB,EAAKE,YAAS1mB,EACdwmB,EAAKG,WAAY,EACjBH,EAAKI,sBAAmB5mB,EACxBwmB,EAAKK,eAAY7mB,EACjBwmB,EAAKM,SAAW,KAChBN,EAAKtY,UAAW,EAAMsY,CACvB,CAAC,OAAAO,KAAAT,EAAAC,GAAArR,KAAAoR,EAAA,EAAA5kB,IAAA,QAAAE,MAED,WACI1C,KAAKqO,SACP/B,GAAiBtM,KAAKqO,OAAOG,aAAa,GAC1CxO,KAAKgP,UAAW,EAElB,GAAC,CAAAxM,IAAA,SAAAE,MAED,WACI1C,KAAKqO,SACP/B,GAAiBtM,KAAKqO,OAAOG,aAAa,GAC1CxO,KAAKgP,UAAW,EAElB,GAAC,CAAAxM,IAAA,QAAAE,MAGDoJ,iBACC,IAAKM,UAAUkC,eAAiBlC,UAAUkC,aAAawZ,aACtD,MAAM,IAAIC,MAAM,gCAEjB/nB,KAAK4nB,SAAW,IAAIpc,QAAQM,MAAOkc,EAASC,KAC3CjoB,KAAKqO,aAAejC,UAAUkC,aAAawZ,aAAa,CAACI,OAAO,IAChEloB,KAAK6L,mBAAqBA,GAAa,CAAC5K,GAAIoI,IAE5CrJ,KAAKwnB,OAASxnB,KAAK6L,aAAasc,wBAAwBnoB,KAAKqO,QAE7D,MAAM+Z,EAAuB,yBAE7B,IAAKlB,GAAoBkB,GAAuB,CAC/C,MAAMC,EAAS1B,GAAqByB,EAAsBE,YACpDtoB,KAAK6L,aAAa0c,aAAaC,UAAUH,GAC/ClB,GAAwBiB,EACzB,CACApoB,KAAK0nB,iBAAmB,IAAIe,iBAAiBzoB,KAAK6L,aAAcuc,GAChEpoB,KAAK0nB,iBAAiBgB,KAAKC,UAAY7c,UACtC,GAAG9L,KAAKgP,SACP,OAED,MAAM4Z,EAAcC,EAAGzR,KAAKA,KAAK0R,iBACjC,GAAIF,EAAa,CAChB,MAAMG,EA9DX,SAA6BC,GAI5B,IAHA,IAAIC,EAAS,GACTC,EAAQ,IAAIC,WAAWH,GACvBpP,EAAMsP,EAAME,WACP5oB,EAAI,EAAGA,EAAIoZ,EAAKpZ,IAAKyoB,GAAU9kB,OAAOklB,aAAaH,EAAM1oB,IAElE,OAAOkL,OAAO4d,KAAKL,EACpB,CAuD+BM,CAAoBX,GAC9C5oB,KAAKwpB,KAAK,OAAQT,EACnB,GAED/oB,KAAKwnB,OAAOiC,QAAQzpB,KAAK0nB,kBAEzB,MAAMgC,EAAgB,WACtB,IAAKxC,GAAoBwC,GAAgB,CACxC,MAAMC,EAAQhD,GAAqB+C,EAAeE,YAC5C5pB,KAAK6L,aAAa0c,aAAaC,UAAUmB,GAC/CxC,GAAwBuC,EACzB,CACA1pB,KAAK2nB,UAAY,IAAIc,iBAAiBzoB,KAAK6L,aAAc6d,GACzD1pB,KAAK2nB,UAAUe,KAAKC,UAAaE,IAC7B7oB,KAAKgP,UAGRhP,KAAKwpB,KAAK,SAAUX,EAAGzR,KAAKyS,SAE7B7pB,KAAKwnB,OAAOiC,QAAQzpB,KAAK2nB,WAEzB3nB,KAAKynB,WAAY,EACjBO,IACAhoB,KAAK4nB,SAAW,MAElB,GAAC,CAAAplB,IAAA,OAAAE,MAED,WACC,MAAMonB,EAAaA,KACd9pB,KAAKwnB,QAAQxnB,KAAKwnB,OAAOuC,aACzB/pB,KAAKqO,QAAQrO,KAAKqO,OAAOG,YAAY7B,QAASC,GAAUA,EAAMiD,QAElE7P,KAAKqO,YAASvN,EACdd,KAAK0nB,sBAAmB5mB,EACxBd,KAAK2nB,eAAY7mB,GAEdd,KAAK4nB,SACR5nB,KAAK4nB,SAASoC,KAAKF,GAGpBA,GACD,IAAC,CA9FwB,CAAStD,GAAAA,S,iJCO5B,IAAMyD,GAAa,SAAA5C,GACzB,SAAA4C,EAAYtb,GAAS,IAAA2Y,E,MAkBS,OAlBTpR,KAAA,KAAA+T,G,EACpB,K,EAAAA,E,WAAA3C,E,0EACK3Y,QAAUA,EACf2Y,EAAK4C,WAAa,GAClB5C,EAAK6C,WAAY,EACjB7C,EAAKC,WAAa,KAClBD,EAAK8C,WAAa,KAClB9C,EAAK+C,iBAAmB,IAAIC,aAAa,GACzChD,EAAKiD,cAAgB,EACrBjD,EAAKkD,SAAWlD,EAAK3Y,QAAQ8b,aAC7BnD,EAAKE,OAASF,EAAK3Y,QAAQ+b,qBAC3BpD,EAAKkD,SAASf,QAAQnC,EAAK3Y,QAAQgc,aACnCrD,EAAKsD,kBAAmB,EACxBtD,EAAKuD,cAAgB,KACrBvD,EAAKwD,kBAAoB,GACzBxD,EAAKyD,sBAAwB,KAC7BzD,EAAK0D,WAAa,OAClB1D,EAAK2D,SAAW3D,EAAK2D,SAASpoB,KAAIykB,GAClCA,EAAK4D,oBAAsB,EAAE5D,CAC9B,CAAC,OAAAO,KAAAoC,EAAA5C,GAAArR,KAAAiU,EAAA,EAAAznB,IAAA,aAAAE,MAEDoJ,eAAiB8a,EAAaC,EAAY/K,GACzC,IAAIqP,EAAiBzE,GAAmBrjB,IAAIrD,KAAK2O,SACjD,GAAIwc,GAAkBA,EAAevE,GAEpC,OADAuE,EAAevE,GAAahL,SAASza,KAAK2a,GACnCtQ,QAAQwc,QAAQhoB,MAGnBmrB,IACJzE,GAAmBpb,IAAItL,KAAK2O,QAAS,CAAC,GACtCwc,EAAiBzE,GAAmBrjB,IAAIrD,KAAK2O,UAG9Cwc,EAAevE,GAAe,CAAEhL,SAAU,CAACE,IAE3C,MAAM6B,EAAMgJ,GAAqBC,EAAaC,SACxC7mB,KAAK2O,QAAQ4Z,aAAaC,UAAU7K,GAC1C,MAAMyN,EAAU,IAAI3C,iBAAiBzoB,KAAK2O,QAASiY,GAGnD,OAFAuE,EAAevE,GAAayE,KAAOD,EAE5BprB,IACR,GAAC,CAAAwC,IAAA,WAAAE,MAED,SAAS+X,GACR,MAAM6Q,EAAe,IAAIhB,aAAa7P,EAAMna,OAAS,GAC/CirB,EAAW,IAAIC,SAAS/Q,EAAMuO,QAEpC,IAAK,IAAIxoB,EAAI,EAAGA,EAAIia,EAAMna,OAAS,EAAGE,IACrC,IACC,MAAMirB,EAAQF,EAASG,SAAa,EAAJlrB,GAAO,GACvC8qB,EAAa9qB,GAAKirB,EAAQ,KAC3B,CAAE,MAAOjqB,GACRyV,QAAQD,MAAMxV,EACf,CAGD,MAAMmqB,EAAY,IAAIrB,aACrBtqB,KAAKqqB,iBAAiB/pB,OAASgrB,EAAahrB,QAM7C,IAJAqrB,EAAUrgB,IAAItL,KAAKqqB,kBACnBsB,EAAUrgB,IAAIggB,EAActrB,KAAKqqB,iBAAiB/pB,QAClDN,KAAKqqB,iBAAmBsB,EAEjB3rB,KAAKqqB,iBAAiB/pB,QAAUN,KAAKoqB,YAAY,CACvD,MAAMpB,EAAShpB,KAAKqqB,iBAAiBvQ,MAAM,EAAG9Z,KAAKoqB,YACnDpqB,KAAKkqB,WAAW/oB,KAAK6nB,GACrBhpB,KAAKqqB,iBAAmBrqB,KAAKqqB,iBAAiBvQ,MAAM9Z,KAAKoqB,WAC1D,CAEKpqB,KAAKmqB,YACTnqB,KAAKmqB,WAAY,EACjBnqB,KAAKuqB,cAAgBvqB,KAAK2O,QAAQid,YAAc5rB,KAAK8qB,kBACrD9qB,KAAK6rB,qBAEP,GAAC,CAAArpB,IAAA,oBAAAE,MAED,SAAkBopB,GACjB,MAAMC,EAAc/rB,KAAK2O,QAAQqd,aAChC,EACAF,EAAUxrB,OACVN,KAAKunB,YAGN,OADAwE,EAAYE,eAAe,GAAG3gB,IAAIwgB,GAC3BC,CACR,GAAC,CAAAvpB,IAAA,qBAAAE,MAED,WAIC,GAAI1C,KAAKmqB,UAAW,CAGnB,GAFkE,KAAjDnqB,KAAKuqB,cAAgBvqB,KAAK2O,QAAQid,crCCL,KqCG7C,GADA5rB,KAAKkrB,sBACDlrB,KAAKkrB,qBrCJ2B,GqCMnC,YADAlrB,KAAKwpB,KAAKlgB,QAGDtJ,KAAKkrB,oBAAsB,GAErClrB,KAAKkrB,qBAEP,CAEA,KACClrB,KAAKkqB,WAAW5pB,OAAS,GACzBN,KAAKuqB,cAAgBvqB,KAAK2O,QAAQid,YApBP,IAqB1B,CACD,MAAME,EAAY9rB,KAAKkqB,WAAWgC,QAC5BH,EAAc/rB,KAAKmsB,kBAAkBL,GACrCtE,EAASxnB,KAAK2O,QAAQ+b,qBAEG,IAA3B1qB,KAAKkqB,WAAW5pB,SACfN,KAAK+qB,wBACR/qB,KAAK+qB,sBAAsBqB,QAAU,MAEtCpsB,KAAK+qB,sBAAwBvD,EAC7BA,EAAO4E,QAAU,KAEdpsB,KAAKkqB,WAAW5pB,QACjBN,KAAK+qB,wBAA0BvD,IAE/BxnB,KAAK+qB,sBAAwB,KAC7B/qB,KAAKqsB,cAKR7E,EAAOwB,OAAS+C,EAChBvE,EAAOiC,QAAQzpB,KAAKwqB,UAEpB,MAAM8B,EAAW5F,GAAmBrjB,IAAIrD,KAAK2O,SACzC2d,GACHhqB,OAAOiqB,OAAOD,GAAU3f,QAAQgG,IAAwB,IAAvB,KAAE0Y,EAAI,SAAEzP,GAAUjJ,EAC9C0Y,IACH7D,EAAOiC,QAAQ4B,GACfA,EAAK3C,KAAKC,UAAaE,IACtBjN,EAASjP,QAASmP,GAAYA,EAAQ9Y,KAAKqoB,EAAK3C,KAAMG,KAEvDwC,EAAK5B,QAAQzpB,KAAK2O,QAAQgc,gBAK7B,MAAMtM,EAAYtG,KAAK0B,IAAIzZ,KAAKuqB,cAAevqB,KAAK2O,QAAQid,aAC5DpE,EAAOjN,MAAM8D,GACbre,KAAKuqB,cAAgBlM,EAAY0N,EAAYS,QAC9C,CAE+B,IAA3BxsB,KAAKkqB,WAAW5pB,QAAiD,IAAjCN,KAAKqqB,iBAAiB/pB,OACrDN,KAAK4qB,kBACR5qB,KAAKmqB,WAAY,EACbnqB,KAAK6qB,gBACR7a,cAAchQ,KAAK6qB,eACnB7qB,KAAK6qB,cAAgB,OAEX7qB,KAAK6qB,gBAChB7qB,KAAK6qB,cAAgB/b,YAAY,MAE/B9O,KAAKkqB,WAAW5pB,OAAS,GACzBN,KAAKqqB,iBAAiB/pB,QAAUN,KAAKoqB,aAErCpqB,KAAK6rB,sBACJ,MAGJ1T,WACC,IAAMnY,KAAK6rB,qBACX9T,KAAK0B,IAAI,EAAqD,KAAjDzZ,KAAKuqB,cAAgBvqB,KAAK2O,QAAQid,aAAsB,IAExE,GAAC,CAAAppB,IAAA,OAAAE,MAED,WACC1C,KAAKkrB,oBAAsB,EAC3BlrB,KAAKmqB,WAAY,EACjBnqB,KAAK4qB,kBAAmB,EACxB5qB,KAAKkqB,WAAa,GAClBlqB,KAAKqqB,iBAAmB,IAAIC,aAAa,GACzCtqB,KAAKuqB,cAAgBvqB,KAAK2O,QAAQid,YAE9B5rB,KAAK6qB,gBACR7a,cAAchQ,KAAK6qB,eACnB7qB,KAAK6qB,cAAgB,MAGtB7qB,KAAKwqB,SAASiC,KAAKC,wBAClB,EACA1sB,KAAK2O,QAAQid,YAAc,IAG5BzT,WAAW,KACVnY,KAAKwqB,SAAST,aACd/pB,KAAKwqB,SAAWxqB,KAAK2O,QAAQ8b,aAC7BzqB,KAAKwqB,SAASf,QAAQzpB,KAAK2O,QAAQgc,cACjC,IACJ,GAAC,CAAAnoB,IAAA,SAAAE,MAEDoJ,iBAC4B,cAAvB9L,KAAK2O,QAAQM,aAA6BjP,KAAK2O,QAAQge,SAE3D3sB,KAAK4qB,kBAAmB,EACxB5qB,KAAKuqB,cAAgBvqB,KAAK2O,QAAQid,YAAc5rB,KAAK8qB,kBACrD9qB,KAAKwqB,SAASiC,KAAKG,eAAe,EAAG5sB,KAAK2O,QAAQid,YACnD,GAAC,CAAAppB,IAAA,WAAAE,MAED,WACC1C,KAAK4qB,kBAAmB,EACpB5qB,KAAKqqB,iBAAiB/pB,OAAS,GAClCN,KAAKkqB,WAAW/oB,KAAKnB,KAAKqqB,kBAC1BrqB,KAAKqqB,iBAAmB,IAAIC,aAAa,GACrCtqB,KAAKmqB,WAAWnqB,KAAK6rB,sBACnB7rB,KAAKgrB,YACb,IAAC,CAtNwB,CAASxE,GAAAA,cCVnC,MAAMqG,GAAsB,sBAE5B,IACC7f,KAAM,2BACNC,eAAgB,CACf,CAACmZ,IAAoB,CACpBlZ,OAASI,IACR,MAAM,MAAE2B,EAAK,SAAE9B,GAAaG,GACtB,cAAEwf,GAAkB7d,EAE1B6d,EAAcC,QACd5f,EAAS2U,MAGX,CAACuE,IAAqB,CACrBnZ,OAASI,IACR,MAAM,MAAE2B,GAAU3B,GACZ,cAAEwf,GAAkB7d,EAE1B6d,EAAcH,WAGhB,CAAC3G,IAAuB,CACvB9Y,OAASI,IACR,MAAM,SAAEH,EAAQ,YAAEC,GAAgBE,EAK5Bwf,EAAgB,IAAI1F,GAE1B0F,EAAcE,GAAG,OAASC,IACzB9f,EAASmZ,GAAmB2G,KAG7BH,EAAcE,GAAG,SAAWnD,IAC3B1c,EAASyU,GAA0B,CAAEiI,aAGtCiD,EAAcvS,QAGd,MAAM2S,EAAmB,CAAE5L,QAAS,MACpCzV,GAAa,CAAE5K,GAAI,cAAe+oB,KAAMje,IACvC,MAAMohB,EAAgB,IAAIlD,GAAcle,GACxCohB,EAAcH,GAAG1jB,EAAkB,IAAM6D,EAAS1D,KAGlD0jB,EAAcnC,WAAa,KAC1B7d,EAAS2U,KAGVoL,EAAiB5L,QAAU6L,IAG5B/f,EAAY,CACX0f,gBACAI,uBAIH,CAAChH,IAAmB,CACnBhZ,OAASI,IAAc,IAAA8f,EACtB,MAAM,OAAE/f,EAAM,MAAE4B,EAAK,SAAE9B,GAAaG,GAC9B,iBAAE4f,GAAqBje,EAEvBoe,EAAqC,QAA3BD,EAAGF,EAAiB5L,eAAO,IAAA8L,OAAA,EAAxBA,EAA0BjD,UACzC+C,EAAiB5L,SACpB4L,EAAiB5L,QAAQ2J,SAAS,IAAI9B,WAAW9b,EAAOS,UAEpDuf,GACJlgB,EAAS0U,MAIZ,CAACoE,IAAwB,CACxB/Y,OAASI,IACR,MAAM,MAAE2B,EAAK,SAAE9B,GAAaG,GACtB,iBAAE4f,GAAqBje,EAEzBie,SAAAA,EAAkB5L,SACrB4L,EAAiB5L,QAAQzR,OAE1B1C,EAAS2U,MAGX,CAACqE,IAAmB,CACnBjZ,OAASI,IACR,MAAM,MAAE2B,EAAK,SAAE9B,GAAaG,GACtB,cAAEwf,EAAa,iBAAEI,GAAqBje,EAExC6d,GACHA,EAAcjd,OAGXqd,SAAAA,EAAkB5L,SACrB4L,EAAiB5L,QAAQzR,OAE1B1C,EAAS2U,IACT3U,EAAS0f,MAGX,CAACA,IAAsB,CACtB3f,OAASI,IACR,MAAM,YAAEF,GAAgBE,EAExBF,EAAY,CACX0f,cAAe,KACfI,iBAAkB,W,8CCzGhB,MAAMnoB,GAAOA,CAACrD,EAAGqD,IACV,iBAANrD,GAAqC,iBAAZA,EAAEqD,GCjB5B,MACMuoB,GAAO,OAOdC,GAAY,oBACZC,GAAoB,GAAGD,uBACvBE,GAAiB,GAAGF,eAEbG,GAAyB,GAAGH,kBAI5BI,GAAgB,mCAChBC,GAAmB,0DAE1BC,GAAwBvtB,IAC7B,MAAMwtB,EAAU,qEACVC,EAAe,IAAI5E,WAAW7oB,GAEpC,OADAoL,OAAOsiB,OAAOC,gBAAgBF,GACvBthB,MAAMmW,KAAKmL,GAAc9tB,IAAIiuB,GAAKJ,EAAQI,EAAIJ,KAAiBvtB,KAAK,KAU5EuL,eAAeqiB,GAA0BC,GACxC,MACMhX,GADU,IAAIiX,aACCC,OAAOF,GAE5B,MAXwBxF,KACxB,MAAMM,EAAQ,IAAIC,WAAWP,GAC7B,IAAIK,EAAS,GAEb,OADAC,EAAMvc,QAAQ4hB,GAAKtF,GAAU9kB,OAAOklB,aAAakF,IAC1CjF,KAAKL,GAAQuF,QAAQ,MAAO,KAAKA,QAAQ,MAAO,KAAKA,QAAQ,MAAO,KAOpEC,OADc/iB,OAAOsiB,OAAOU,OAAOC,OAAO,UAAWvX,GAE7D,CCjCA,MAAMwX,GAAmB,WCHlB,MAAMC,GAA2B,GAAGhoB,4BAC9BioB,GAAwB,GAAGjoB,yBAC3BkoB,GAAuB,GAAGloB,wBAM1BmoB,GAA2B,GAAGnoB,4B,kRC6BpC,IAAMooB,GAA0B,SAAAC,GACtC,SAAAD,EAAY9hB,GAAU,IAAAma,E,MAkBG,OAlBHpR,KAAA,KAAA+Y,G,EACrB,K,EAAAA,E,WAAA3H,E,0EACKna,SAAWA,EAChBma,EAAKtV,OAASjB,KACduW,EAAKta,KAAO8E,GAA0BC,aAAa/E,KACnDsa,EAAK6H,gBAAiB,EACtB7H,EAAK8H,gBAAiB,EACtB9H,EAAK+H,oBAAsB,GAC3B/H,EAAKgI,qBAAuB,GAC5BhI,EAAKiI,WAAa,EAClBjI,EAAKkI,iCAAkC,EACvClI,EAAKmI,OAAS,KACdnI,EAAKoI,aAAc,EACnBpI,EAAKqI,iBAAkB,EACvBrI,EAAKsI,wBAA0B,GAC/BtI,EAAKuI,aAAe,GACpBvI,EAAKwI,kBAAoB,KACzBxI,EAAKyI,QAAU,GACfzI,EAAK0I,eAAiB,EAAE1I,CACzB,CAAC,OAAAO,KAAAoH,EAAAC,GAAAlZ,KAAAiZ,EAAA,EAAAzsB,IAAA,iCAAAE,MAED,SAA+ButB,GACzBA,GAAkC,iBAAdA,IACzBjwB,KAAK4vB,wBAA0BK,EAChC,GAAC,CAAAztB,IAAA,iBAAAE,MAED,SAAewtB,GACd,OAAgB,OAATA,GAAiBA,IAASlwB,KAAKuvB,UACvC,GAAC,CAAA/sB,IAAA,UAAAE,MAED,SAAQytB,GACP,MAAM,aAAEN,EAAY,kBAAEhS,GAAsBsS,EAE5C,IAAKN,EACJ,MAAM,IAAI9H,MAAM,gCAEjB/nB,KAAK6vB,aAAeA,EAGpB7vB,KAAK+vB,QAAU/vB,KAAK+vB,SAAW/B,OAAOoC,aAEtC,IAAIC,EAAS,IAAIC,gBAAgB,CAChCC,SAAUvwB,KAAK+vB,QACfS,cAAe9kB,OAAOkL,SAAS6Z,KAAKjC,QAAQ,sCAAuC,IACnFkC,eAAgB1wB,KAAK4vB,wBACrBe,gBAAiB9S,GAAqB,GACtC+S,oBAAqB,sBACrBC,kBAAmB,OAGpB7wB,KAAK8wB,iBAAiBjB,EAAe,IAAMQ,EAAOtwB,WACnD,GAAC,CAAAyC,IAAA,aAAAE,MAED,WACC,OAAO1C,KAAK+vB,OACb,GAAC,CAAAvtB,IAAA,iBAAAE,MAED,SAAegtB,GACd1vB,KAAK0vB,YAAcA,IAAe,CACnC,GAAC,CAAAltB,IAAA,YAAAE,MAED,WACC,OAAO1C,KAAKgS,MACb,GAAC,CAAAxP,IAAA,MAAAE,MAED,SAAIgO,EAAM8G,GACTuZ,GAAA9B,EAAA,aAAA8B,CAAA,CAAU/wB,KAAKgN,KAAM0D,EAAM8G,GAC5B,GAAC,CAAAhV,IAAA,kBAAAE,MAED,WACC,MAAO,CACNsuB,cAAe,CACdC,MAAO,CAAC,CAAEC,KAAM,OAAQ9gB,MAAO,CAAC,CAAEL,KAAM,OACxCohB,cAAc,GAGjB,GAAC,CAAA3uB,IAAA,QAAAE,MAED,WACK1C,KAAKgP,WACThP,KAAK8P,SAAS,CAAC,CAAEC,KAAM,qCAAsC,GAC7DghB,GAAA9B,EAAA,eAAA8B,CAAA,IACA/wB,KAAKmN,SAAS2hB,IAGd9uB,KAAK8vB,kBAAoBhhB,YAAY,KACpC,GAAI9O,KAAKgP,UAAYhP,KAAKoxB,IAAMpxB,KAAKoxB,GAAGC,aAAeC,UAAUC,KAChE,IACCvxB,KAAKwxB,YAAYxxB,KAAKyxB,kBACvB,CAAE,MAAOjwB,GACRwO,cAAchQ,KAAK8vB,mBACnB9vB,KAAK8vB,kBAAoB,IAC1B,GAEC,KACJ,GAAC,CAAAttB,IAAA,SAAAE,MAED,WACM1C,KAAKgP,WACVhP,KAAK0xB,0BACLX,GAAA9B,EAAA,gBAAA8B,CAAA,IACA/wB,KAAK8P,SAAS,CAAC,CAAEC,KAAM,mCAAoC,GAC5D,GAAC,CAAAvN,IAAA,YAAAE,MAED,WACC,MAAMivB,EAAO3xB,KAOb,OANA2xB,EAAKxC,gBAAiB,EACtBwC,EAAKlC,OAASzvB,KAAKoxB,GACnBO,EAAKC,QAAQ,CACZ/B,aAAc7vB,KAAK6vB,eAGb,IAAIrkB,QAAQ,CAACwc,EAASC,KAC5BjoB,KAAKypB,UACHO,KAAK,KACL2H,EAAKxC,gBAAiB,EACtBwC,EAAKvC,gBAAiB,EACtBpH,GAAQ,KAER6J,MAAOrwB,IACPmwB,EAAKxC,gBAAiB,EACtBwC,EAAKlC,OAAS,KACdxH,EAAOzmB,MAGX,GAAC,CAAAgB,IAAA,UAAAE,MACD,WACC,MAAMivB,EAAO3xB,KAGPkwB,IAASlwB,KAAKuvB,WAuDpB,OAAAwB,GAAA9B,EAAA,iBAAA8B,CAAA,CAfgBlI,IACf7oB,KAAK8xB,IAAI,UAAUjJ,EAAGnY,OAAQ,8BAAgCwf,EAAO,KAQrElwB,KAAK8xB,IAAI,cAAe,UAvCRjJ,IAEhB,GAAI8I,EAAKpC,aAAeW,EAKvB,YAJAlwB,KAAK8xB,IACJ,UAAUjJ,EAAGnY,OACb,wCAAwCwf,MAK1CyB,EAAK5H,WAAW/pB,KAAKoxB,IACrB,IAAIW,EAASlJ,EAAGkJ,QAAU,GAC1B,GAAIA,EAAOrV,cAAcQ,SAAS,SAAU,CAC3C,MAAM8U,EAAU,SACVC,EAAeF,EAAO5X,QAAQ6X,GAChCC,EAAe,IAClBF,EAASA,EAAOjY,MAAMmY,EAAeD,EAAQ1xB,OAAS,GACxD,CACAqxB,EAAKG,IACJ,UAAUjJ,EAAGnY,OACb,iBAAgBqhB,EAAS,gBAAgBA,IAAW,KAGhDJ,EAAKxC,gBAA8B,OAAZtG,EAAGqJ,MAC9BP,EAAKxkB,SAAS4hB,GAAsB,CACnCjR,SAAU6T,EAAK3kB,KACf0D,KAAMuB,MAeSnG,gBACX9L,KAAKmyB,QAAQjb,EAAME,KAAM8Y,IAnDfrH,IAChB,MAAMrR,EAAU,yBAAyBxX,KAAKoyB,OAM9C,MALAT,EAAKG,IAAI,UAAUjJ,EAAGnY,OAAQ8G,GAC9Bma,EAAKxkB,SAAS4hB,GAAsB,CACnCjR,SAAU6T,EAAK3kB,KACf0D,KAAMhI,IAED,IAAIqf,MAAMvQ,KAgDlB,GAAC,CAAAhV,IAAA,aAAAE,MAED,SAAW0uB,GACVpxB,KAAKqyB,WACLtB,GAAA9B,EAAA,oBAAA8B,CAAA,CAAiBK,GAClB,GAAC,CAAA5uB,IAAA,WAAAE,MAED,WAQC,GAPA1C,KAAK0xB,0BACL1xB,KAAKsyB,uBACLtyB,KAAKmvB,gBAAiB,EACtBnvB,KAAKovB,gBAAiB,EACtBpvB,KAAKuvB,WAAa,EAClBvvB,KAAKwvB,iCAAkC,EACvCxvB,KAAK2vB,iBAAkB,EACnB3vB,KAAKyvB,OACR,IACCzvB,KAAKyvB,OAAO/W,OACb,CAAE,MAAOlX,GAAI,CAEdxB,KAAKyvB,OAAS,KACdzvB,KAAK4vB,wBAA0B,EAChC,GAAC,CAAAptB,IAAA,UAAAE,MACDoJ,eAAcymB,GAAmB,IAAbrC,EAAIptB,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,KAC1B,MAAM0vB,QxCrND,SAAoBD,GAC1B,OAAO,IAAI/mB,QAAQ,CAACwc,EAASC,KAC5B,MAAMwK,EAAS,IAAIC,WACnBD,EAAOE,OAAS,KACf,GAAIF,EAAOpxB,OAAQ,CAClB,MAAMuxB,EAAOC,KAAKC,MAAML,EAAOpxB,QAC/B2mB,EAAQ4K,EACT,MACC3K,EAAO,SAGTwK,EAAOM,WAAWR,IAEpB,CwCwMyBS,CAAWT,GAElC,GJ1MqDxtB,GAANrD,EI0MV8wB,EJ1MwB,4BAAmE,iBAA9B9wB,EAAEuxB,wBI0MpD,CAC/C,MAAM,wBAAEA,GAA4BT,GAC9B,UAAEU,EAAS,UAAEjD,GAAcgD,GAA2B,CAAC,EAI7D,YAHIC,GAAajD,GAAkC,iBAAdA,GACpCjwB,KAAKmzB,+BAA+BlD,GAGtC,CJjN+CvuB,MImN/C,GJ1OqCA,IAAMqD,GAAKrD,EAAG,iBI0O/C0xB,CAAuBZ,GAA3B,CAMC,GALAxyB,KAAK8xB,IAAI,cAAe,iBAEpB9xB,KAAKovB,iBAAgBpvB,KAAKwvB,iCAAkC,IAG3DxvB,KAAKovB,eAAgB,CACzB,MAAM7d,EAAevR,KAAKgS,OAAOf,iBAAiBE,aAAaI,aACzD8hB,E7CjO6B,WAAyB,IAAA/W,EAAA,IAAxBoT,EAAW5sB,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,IAAAA,UAAA,GAClD,MAAMwwB,GAAkB,QAANhX,EAAA5Q,cAAM,IAAA4Q,GAAY,QAAZA,EAANA,EAAQM,kBAAU,IAAAN,GAAS,QAATA,EAAlBA,EAAoBO,eAAO,IAAAP,GAAQ,QAARA,EAA3BA,EAA6BQ,cAAM,IAAAR,GAAM,QAANA,EAAnCA,EAAqCS,YAAI,IAAAT,OAAA,EAAzCA,EAA2CgX,YAAa,GAE1E,OAAI5D,EACI,SAAS4D,gGAET,SAASA,oCAElB,C6CyNiCC,CAAwBvzB,KAAK0vB,aACpD8D,EAAW,8CAAmCjiB,qDAAgEA,gBAA2B8hB,4GAC/IrzB,KAAK8P,SAAS,CAAC,CAAEC,KAAMyjB,IACxB,CACAxzB,KAAK2vB,iBAAkB,CAExB,KAdA,CAgBA,GJtNuBjuB,IAAMqD,GAAKrD,EAAG,UIsNjC+xB,CAASjB,GAIZ,OAHAxyB,KAAK8xB,IAAI,cAAe,UACxB9xB,KAAKgwB,iBAEDhwB,KAAKgwB,eAAiB,OACzBhwB,KAAKmN,SAAS6hB,KAIfhvB,KAAKwvB,iCAAkC,OACvCxvB,KAAK0zB,YACH1J,KAAK,KACLhqB,KAAK8xB,IAAI,YAAa,6BAEtBD,MAAOrwB,IACPxB,KAAK8xB,IAAI,YAAa,uBACtB9xB,KAAKmN,SAAS4hB,GAAsB,CACnCjR,SAAU9d,KAAKgN,KACf0D,KAAMuB,GACNuF,QAAShW,EAAEgW,aJvOV,IAAoB9U,EI6OzB,IAAI1C,KAAKgP,SAET,GJnRqCtN,IAAMqD,GAAKrD,EAAG,iBImR/CiyB,CAAuBnB,GAAW,CACrC,MAAM,cAAEoB,GAAkBpB,EAC1B,GJtQ2B9wB,IAAMA,EAAEmyB,YIsQ/BC,CAAcF,GAEjB,OADA5zB,KAAK8xB,IAAI,wBAAyB,eAC9B9xB,KAAK+zB,eAAe7D,QACvBlwB,KAAK8xB,IAAI,wBAAyB,qCAInC9xB,KAAKmN,SAAS2hB,SACd9uB,KAAKsyB,wBAGN,GJnR4B5wB,IAAgC,kBAAnBA,EAAEyvB,aImRvC6C,CAAeJ,GAAgB,CAGlC,GAFA5zB,KAAK8xB,IAAI,cAAe,gBAEpB9xB,KAAK+zB,eAAe7D,IAASlwB,KAAKyvB,OAMrC,OALAzvB,KAAK8xB,IACJ,cACA,0DAED9xB,KAAKi0B,kBAGNj0B,KAAKsyB,sBACN,CAEA,GJ7RmC5wB,IAAsC,iBAA1BA,EAAEwyB,qBAA0E,iBAA/BxyB,EAAEwyB,oBAAoBnkB,KI6R9GokB,CAAuBP,GAAgB,CAEzC5zB,KAAKwvB,kCACJxvB,KAAK+zB,eAAe7D,KAErBlwB,KAAKsyB,uBACLtyB,KAAKwvB,iCAAkC,GAExC,MAAM4E,EAAoBR,EAAcM,oBAAoBnkB,KAC5D/P,KAAK8xB,IACJ,8BACAsC,GAAqBp0B,KAAK+zB,eAAe7D,GAAQ,gBAAkB,KAEpElwB,KAAKsvB,qBAAqBnuB,KAAKizB,GAG/Bp0B,KAAKmN,SACJnE,EAAyBC,qBACzBjJ,KAAKsvB,qBAAqB/uB,KAAK,IAEjC,CAEA,GJjTkCmB,IAAqC,iBAAzBA,EAAE2yB,oBAAwE,iBAA9B3yB,EAAE2yB,mBAAmBtkB,KIiT3GukB,CAAsBV,GAAgB,CAExC5zB,KAAKwvB,kCACJxvB,KAAK+zB,eAAe7D,KAErBlwB,KAAKsyB,uBACLtyB,KAAKwvB,iCAAkC,GAExC,MAAM4E,EAAoBR,EAAcS,mBAAmBtkB,KAC3D/P,KAAK8xB,IAAI,6BAA8BsC,GACvCp0B,KAAKqvB,oBAAoBluB,KAAKizB,GAG9Bp0B,KAAKmN,SACJnE,EAAyBE,oBACzBlJ,KAAKqvB,oBAAoB9uB,KAAK,IAEhC,CAEA,GJ5UyBmB,IAA6B,iBAAhBA,EAAE6yB,UI4UpCC,CAAYZ,GAAgB,CAC/B,IAAI,MAAExjB,GAAUwjB,EAAcW,UAC9B,MAAME,EAAarkB,EAAMskB,OACvBpxB,GAAMA,EAAEqxB,YAAcrxB,EAAEqxB,WAAWC,SAASta,WAAW,cAEnDua,EAAUJ,EAAWx0B,IAAKqD,IAAC,IAAAwxB,EAAA,OAAiB,QAAjBA,EAAKxxB,EAAEqxB,kBAAU,IAAAG,OAAA,EAAZA,EAAc1d,OAE9C2d,EAAa3kB,EAAMskB,OAAQpxB,IAAOmxB,EAAWvX,SAAS5Z,IAc5D,GAZAuxB,EAAQloB,QAASqoB,IAChB,GAAIA,EAAK,CACR,MAAM5d,ExC3UL,SAA6B6V,GACnC,IAAIgI,EAAeC,KAAKjI,GACpB/D,EAAQ,IAAIC,WAAW8L,EAAa30B,QACxC,IAAK,IAAIE,EAAI,EAAGA,EAAIy0B,EAAa30B,OAAQE,IACxC0oB,EAAM1oB,GAAKy0B,EAAaE,WAAW30B,GAEpC,OAAO0oB,EAAMF,MACd,CwCoUmBoM,CAAoBJ,GACjCh1B,KAAKmN,SAAS0hB,GAA0BzX,GACxCpX,KAAK8xB,IACJ,eACA,WAAW1a,EAAKgS,eACfppB,KAAK+zB,eAAe7D,GAAQ,gBAAkB,IAEjD,KAGI6E,EAAWz0B,OAAQ,OAExB8P,EAAQ2kB,EACR/0B,KAAK8xB,IAAI,iBAAkBU,EAC5B,CACD,MAAO,IJ7UkB9vB,EI6UH8vB,IJ5UQ,iBAAV9vB,GAGpBqC,GAAKrC,EAAO,aACZ+J,MAAMC,QAAQhK,EAAM2yB,SAASC,gBAC7B5yB,EAAM2yB,SAASC,cAAcC,MAAOvyB,GAnB/B,SAA4BN,GAClC,SAAKA,GAA0B,iBAAVA,IAGE,iBAAfA,EAAMsK,MAES,iBAAftK,EAAM8yB,MACE,OAAf9yB,EAAM8yB,IAER,CAU+CC,CAAmBzyB,IIuU/B,CAEhC,MAAMqyB,EAAW7C,EAAS6C,SAK1B,GAHAr1B,KAAK8xB,IAAI,kBAAmBuD,GAGvBA,EAASC,eAAiBD,EAASC,cAAch1B,OAAS,EAAI,CAElE,IAAIo1B,EAAe,KACfC,EAAe,KACfH,EAAO,KACPI,EAAa,KAQjB,GANAF,EAAeL,EAASC,cAAc,GACtCK,EAAeD,EAAa1oB,KAC5BwoB,EAAOE,EAAaF,KACpBI,EAAaF,EAAaz0B,GAGtB00B,IAAiBzlB,GACpB,IAAI,IAAA2lB,EAEH,MAAMjlB,GAAY,QAAJilB,EAAAL,SAAI,IAAAK,OAAA,EAAJA,EAAMjlB,QAAS,GAGzBA,GAASA,EAAMlB,SAElB1P,KAAKmN,SAASrG,EAAmBO,uBAAwB,CACxDkU,WAAYqa,IAGb51B,KAAKmN,SAASrG,EAAmBI,iBAAkB,CAClD4G,QAAS,CAAE8C,WAGd,CAAE,MAAOoG,GACRC,QAAQD,MAAMlG,GAAY,4BAA6BkG,EACxD,CAEF,CACD,MAAOC,QAAQ6a,IAAIhhB,GAAY,6BAA8B0hB,EApK7D,CAqKD,GAAC,CAAAhwB,IAAA,mBAAAE,MAED,SAAiB8vB,GAChB,IAAIhb,EAAU,CAAEse,aAActD,GAE9B,GAAIA,GAAYA,EAASnxB,OAAQ,CAEhC,MAAM,WAAEka,EAAU,OAAEla,GAAWmxB,EAG/B,IAAIuD,EAAmB,GACnB10B,GAAUA,EAAO20B,SAAWvpB,MAAMC,QAAQrL,EAAO20B,WAEpDD,EAAmB10B,EAAO20B,QAAQ/1B,IAAIC,GAAQA,EAAK6P,MAAQ,IAAIxP,KAAK,SAcrEiX,EAAU,CAAEse,aAVS,CACpBG,kBAAmB,CAClB,CACCzD,SAAU,CACTryB,QAAS41B,MAOd,CACA/1B,KAAKwxB,YAAYha,GACjBxX,KAAK8xB,IAAI,sBAAuBta,EACjC,GAAC,CAAAhV,IAAA,OAAAE,MAED,SAAKgO,EAAM0G,GAEV,GAAI1G,IAAST,IAAqBjQ,KAAK2vB,gBAIvC,OAAQjf,GACP,KAAKT,GACJjQ,KAAKwxB,YAAY,CAChB0E,cAAe,CACdC,YAAa,CAAC,CAAEvB,SAAU,uBAAwBxd,YAGpD,MACD,KAAKnH,GACJjQ,KAAKwxB,YAAY,CAChB0E,cAAe,CACdC,YAAa,CAAC,CAAEvB,SAAU,aAAcxd,YAG1C,MACD,QACC,MAAM,IAAI2Q,MAAM,2BAA2BrX,KAE9C,GAAC,CAAAlO,IAAA,WAAAE,MAED,SAAS0N,GAA4B,IAArB+gB,IAAYruB,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,KAAAA,UAAA,GAE3B,MAKMszB,EAAuB,CAC5BpF,cAAe,CACdC,MAAO,CAPO,CACfC,KAAM,OACN9gB,MAHDA,EAAQ3D,MAAMC,QAAQ0D,GAASA,EAAQ,CAACA,KAStC+gB,iBAIFnxB,KAAKwxB,YAAY4E,GACjBp2B,KAAK8xB,IAAI,cAAesE,EACzB,GAAC,CAAA5zB,IAAA,uBAAAE,MAED,WACC1C,KAAKqvB,oBAAsB,GAC3BrvB,KAAKsvB,qBAAuB,EAC7B,GAAC,CAAA9sB,IAAA,0BAAAE,MAED,WACK1C,KAAK8vB,oBACR9f,cAAchQ,KAAK8vB,mBACnB9vB,KAAK8vB,kBAAoB,KAE3B,GAAC,CAAAttB,IAAA,kBAAAE,MAED,WACC,GAAK1C,KAAKyvB,QACNzvB,KAAKyvB,OAAO4B,aAAeC,UAAUC,KAAM,CAC9C,IACCvxB,KAAKyvB,OAAO/W,MAAM,IAAM,gBACxB1Y,KAAK8xB,IAAI,eAAgB,uCAC1B,CAAE,MAAOtwB,GACRxB,KAAK8xB,IAAI,eAAgB,6BAA+BtwB,EAAEgW,QAC3D,CACAxX,KAAKyvB,OAAS,IACf,CACD,IAAC,CArfqC,CFhCL,WAKhC,OAAAzZ,KAJD,SAAAqgB,IAAcngB,KAAA,KAAAmgB,GACbr2B,KAAKoxB,GAAK,KACVpxB,KAAKoyB,IAAM,KACXpyB,KAAKgP,UAAW,CACjB,EAAC,EAAAxM,IAAA,mBAAAE,MACD,SAAiB0vB,GAChBpyB,KAAKoyB,IAAMA,CACZ,GAAC,CAAA5vB,IAAA,kBAAAE,MACD,YtC+DM,SAAmBsK,EAAMtK,GAAqB,IAAdwI,EAAOpI,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,CAAC,EACjD,MAAM,KACLwzB,EAAO,IAAG,OACVC,EAAS,EAAC,OACVC,GAAS,EAAI,SACbC,EAAW,UACRvrB,EAEJ,IAAIwrB,EAAe,GAAG1pB,KAAQ2pB,mBAAmBj0B,KAE7C8zB,IACHE,GAAgB,YAGbH,IACHG,GAAgB,aAAaH,KAG1BD,IACHI,GAAgB,UAAUJ,KAGvBG,IACHC,GAAgB,cAAcD,KAG/BhpB,SAASmpB,OAASF,CACnB,CsCzFEG,CAAUjI,GDqDJkI,aAAaC,QAAQrJ,ICrDmB,CAC7C4I,KAAMjwB,EAAgBO,oBACtB2vB,OAAQ,KACRC,QAAQ,EACRC,SAAU,UAEZ,GAAC,CAAAj0B,IAAA,mBAAAE,MACD,YtCoFM,SAAsBsK,GAAoB,IAAd9B,EAAOpI,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7C,MAAM,KAAEwzB,EAAO,KAAQprB,EAEvBuC,SAASmpB,OAAS,GAAG5pB,uBAA0BspB,GAChD,CsCvFEU,CAAapI,GAAkB,CAC9B0H,KAAMjwB,EAAgBO,qBAExB,GAAC,CAAApE,IAAA,UAAAE,MACD,WAKE,IAJDu0B,EAAMn0B,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,OACTo0B,EAAOp0B,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,OACVq0B,EAASr0B,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,OACZs0B,EAAOt0B,UAAAxC,OAAA,QAAAQ,IAAAgC,UAAA,GAAAA,UAAA,GAAG,OAEV,MAAM6uB,EAAO3xB,KACb,OAAO,IAAIwL,QAAQ,CAACwc,EAASC,KAC5B,IAAKjoB,KAAKoyB,IACT,MAAM,IAAIrK,MAAM,4BAEjB,MAAMsP,EAAiBngB,IACtB,IACCya,EAAK2F,mBACLL,EAAO/f,GACP8Q,GAAQ,EACT,CAAE,MAAOxmB,GACRmwB,EAAK5H,aACL9B,EAAOzmB,EACR,GAEK+1B,EAAkBrgB,IACvB,IACCya,EAAK2F,mBACLF,EAAQlgB,EACT,CAAE,MAAO1V,GACRmwB,EAAK5H,aACL9B,EAAOzmB,EACR,GAED,IACCmwB,EAAK6F,kBACL,MAAMpG,EAAK,IAAIE,UAAUtxB,KAAKoyB,KAC9BhB,EAAGzlB,iBAAiB,UAAWwrB,GAC/B/F,EAAGzlB,iBAAiB,OAAQ0rB,GAC5BjG,EAAGzlB,iBAAiB,QAASurB,GAC7B9F,EAAGzlB,iBAAiB,QAAS4rB,GAC7Bv3B,KAAKoxB,GAAKA,CACX,CAAE,MAAO5vB,GACRxB,KAAKoxB,GAAK,KACVna,QAAQD,MAAMxV,GACdymB,EAAOzmB,EAAEgW,QACV,GAEF,GAAC,CAAAhV,IAAA,aAAAE,MACD,SAAW0uB,GACV,KAAMA,GAAMpxB,KAAKoxB,KAAOA,IAAOpxB,KAAKoxB,GAAI,CAEvC,IACCpxB,KAAKoxB,GAAG1Y,OACT,CAAE,MAAOlX,GAAI,CAEb,OADAxB,KAAKoxB,GAAK,MACH,CACR,CACA,OAAO,CACR,GAAC,CAAA5uB,IAAA,cAAAE,MACD,SAAY8U,GACNxX,KAAKoxB,MAAOpxB,KAAKgP,UFIjB,SAAwBwI,GAAS,IAAAigB,EAAAC,EACvC,MAAgE,MAAzDlgB,SAAsB,QAAfigB,EAAPjgB,EAASwZ,qBAAa,IAAAyG,GAAO,QAAPA,EAAtBA,EAAwBxG,aAAK,IAAAwG,GAAK,QAALA,EAA7BA,EAAgC,UAAE,IAAAA,GAAO,QAAPA,EAAlCA,EAAoCrnB,aAAK,IAAAqnB,GAAK,QAALA,EAAzCA,EAA4C,UAAE,IAAAA,OAAA,EAA9CA,EAAgD1nB,QACP,KAAzCyH,SAAsB,QAAfkgB,EAAPlgB,EAASwZ,qBAAa,IAAA0G,OAAA,EAAtBA,EAAwBvG,aAChC,CEPqCwG,CAAengB,IFnEfzS,GEmE2CyS,EFnEnC,WEoE3CxX,KAAKoxB,GAAGwG,KAAK/E,KAAKgF,UAAUrgB,GAC7B,GAAC,CAAAhV,IAAA,QAAAE,MAED,WACC1C,KAAKgP,UAAW,CACjB,GAAC,CAAAxM,IAAA,SAAAE,MACD,WACC1C,KAAKgP,UAAW,CACjB,GAAC,CAAAxM,IAAA,MAAAE,MAED,SAAIob,EAAU5G,EAAOM,GAAU,IAAC,CA1FC,IGJlC,MAAMsgB,GAAyB,CAAC,UAAU,UAAW,aAAc,OAAQ,WAGpE,IAAMC,GAA2B,oBAAAA,IAAA7hB,KAAA,KAAA6hB,EAAA,QAAA/hB,KAAA+hB,EAAA,OAAAv1B,IAAA,SAAAE,MAGtC,SAAcs1B,EAAc7qB,GAC1B,GAAI4qB,EAA4BE,UAAUD,GACxC,OAAOD,EAA4BE,UAAUD,GAG/C,IAAItc,EACJ,GAAQsc,IACDlmB,GAA0BC,aAAa/E,KAI1C,MAAM,IAAI+a,MAAM,yBAA2BiQ,GAH3Ctc,EAAW,IAAIuT,GAA2B9hB,GAO9C,IAAK,IAAI/C,KAAU0tB,GACjB,GAAgC,mBAArBpc,EAAStR,GAClB,MAAM,IAAI2d,MAAM,GAAGiQ,gCAA2C5tB,KAKlE,OADA2tB,EAA4BE,UAAUD,GAAgBtc,EAC/CA,CACT,IAAC,CA1BqC,GA2BvCwc,KA3BYH,GAA2B,YACnB,CAAC,GC2BtB,MAAMI,GAA0B,0BAC1BC,GAAyB,yBAE/B,IAAIC,IAAkB,EAEtB,UACCrrB,KAAM,uBACNC,eAAgB,CACf,CAACtF,EAAwBC,sBAAuB,CAC/CsF,OAASI,IACR,MAAM,OAAED,EAAM,YAAED,EAAW,SAAED,GAAaG,GACpC,WAAEyQ,EAAU,SAAED,GAAazQ,EAAOS,QAIxCV,EAAY,CACXwC,WAHcmoB,GAA4Bn0B,OAAOka,EAAU3Q,GAI3D4Q,aACAD,aAGD3Q,EAAS,iCAGX,sCAA2C,CAC1CD,OAASI,IACR,MAAM,MAAE2B,EAAK,SAAE9B,GAAaG,GACtB,WAAEsC,EAAU,eAAE0oB,EAAc,gBAAEC,GAAoBtpB,EAEpDW,GAAc0oB,GACb1oB,GAAmD,mBAA9BA,EAAW4oB,gBACnC5oB,EAAW4oB,eAAeD,GAE3BprB,EAASgrB,MAETlhB,QAAQD,MAAM,kCACd7J,EAAS3E,EAAgB,CAAC,KAAQE,OAIrC,mCAAwC,CACvCwE,OAASI,IACR,MAAM,SAAEH,GAAaG,EACrBH,EAASirB,KAEVna,iBAAiB,GAElB,CAACka,IAA0B,CAC1BjrB,OAASI,IAER,MAAM,MAAE2B,EAAK,SAAE9B,EAAQ,YAAEC,GAAgBE,GACnC,WAAEyQ,EAAU,WAAEnO,EAAU,eAAE0oB,GAAmBrpB,EAEnDW,EAAWgiB,QAAQ0G,GAGnB,MAAMvI,EAAUngB,EAAW6oB,aACvB1I,GACH3iB,EAAY,CAAE2iB,YAGfngB,EAAW6Z,UAAUO,KAAKhoB,IACzBmL,EAAS6Y,IAELjI,I1C3BD/R,GAAU,WAAaA,GAAU,a0C4BnCmB,EAASxC,IAGVwC,EAASzD,GAAWK,4BAElB8nB,MAAMrwB,IACRyV,QAAQD,MAAM,gCAAiCxV,OAKlD,CAACmG,EAAwBE,sBAAuB,CAC/CqF,OAASI,IACR,MAAM,MAAE2B,EAAK,SAAE9B,GAAaG,GACtB,WAAEsC,GAAeX,EAElBW,IAELzC,EAASiZ,IACTjZ,EAAStC,IAET+E,EAAWmd,QACX5f,EAASzD,GAAWO,4BAGtB,CAACtC,EAAwBG,uBAAwB,CAChDoF,OAASI,IACR,MAAM,MAAE2B,EAAK,SAAE9B,GAAaG,GACtB,WAAEsC,GAAeX,EAElBW,IAELzC,EAASkZ,IACTlZ,EAASrC,IAET8E,EAAW+c,SACXxf,EAASzD,GAAWQ,6BAGtB,CAACoc,IAAoB,CACpBpZ,OAASI,IACR,MAAM,MAAE2B,EAAK,OAAE5B,GAAWC,GACpB,WAAEsC,GAAeX,EACnBW,GACHA,EAAWgoB,KAAK3nB,GAAkB5C,EAAOS,WAI5C,CAAC+gB,IAA2B,CAC3B3hB,OAASI,IACR,MAAM,OAAED,EAAM,SAAEF,GAAaG,EAC7BH,EAAS+Y,GAAkB7Y,EAAOS,WAIpC,CAACghB,IAAwB,CACf5hB,OAASI,IACL,MAAM,SAAEH,GAAaG,EhCtDjC8M,KgCwDYjN,EAAS8Y,MAGvB,CAAClb,IAAuB,CACvBmC,OAASI,IACR,MAAM,MAAE2B,EAAK,OAAE5B,GAAWC,GACpB,WAAEsC,GAAeX,EACnBW,GACHA,EAAWgoB,KAAK3nB,GAAmB5C,EAAOS,WAI7C,CAACnG,EAAwBI,qBAAsB,CAC9CmF,OAASI,IACR,MAAM,MAAE2B,EAAK,SAAE9B,GAAaG,GACtB,WAAEsC,GAAeX,EAEnBW,GACHA,EAAWma,aAGZ5c,EAASgZ,IACThZ,EAASvC,IACTuC,EAASirB,IACTjrB,EAASzD,GAAWM,0BAGtB,CAACglB,IAA2B,CAC3B9hB,OAAQyF,IAA+B,IAA9B,SAAExF,EAAQ,YAAEC,GAAauF,EACjCxF,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,OACNX,KAAM9N,GAAE0T,oBACR2H,aAAa,KAGfnQ,EAASxF,EAAwBI,qBACjCoF,EAASzD,GAAWE,sBAAuB,CAAEsU,iBAAiB,IAC9D9Q,EAAY,CAAEsrB,mBAAmB,MAGnC,CAAC3J,IAAuB,CACvB7hB,MAAAA,CAAOI,GACN,MAAM,OAACD,EAAM,SAAEF,GAAYG,GACrB,SAACwQ,EAAQ,KAAEpN,GAAQrD,EAAOS,QAEhC,OAAQ4C,GACP,KAAKuB,GACJ9E,EAASxF,EAAwBI,qBACjC,MACD,KAAKW,EACJyE,EAAS3E,EAAgB,CACxB4W,KAAM1W,IAEPyE,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,QACNX,KAAM9N,GAAE0S,kBAGVxH,EAASxF,EAAwBI,qBACjC,MACD,KAAKkK,GACA6L,IAAahM,GAA0BC,aAAa/E,OACvDG,EAAS3E,EAAgB,CAAC,KAAQE,IAClCyE,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,QACNX,KAAM9N,GAAEwT,oBAIXtI,EAASxF,EAAwBI,qBACjC,MACD,QACCkP,QAAQD,MAAM,+BAAgC3J,EAAOS,SACrDX,EAASxF,EAAwBI,qBAGpC,GAED,CAACqwB,IAAyB,CACzBlrB,OAASI,IACR,MAAM,MAAE2B,EAAK,YAAE7B,GAAgBE,GACzB,WAAEsC,GAAeX,EACvBopB,IAAkB,EACdzoB,GACHxC,EAAY,CACXwC,WAAY,KACZ0oB,eAAgB,KAChBva,YAAY,EACZD,SAAU,SAKd,CAAC9U,EAAyBC,sBAAuB,CAChDiE,OAASI,IACR,MAAM,SAAEH,EAAQ,OAAEE,GAAWC,EAC7BsN,GAA0BzN,EAAUE,EAAOS,WAG7C,CAAC9E,EAAyBE,qBAAsB,CAC/CgE,OAASI,IACR,MAAM,SAAEH,EAAQ,OAAEE,GAAWC,EAC7B2N,GAAyB9N,EAAUE,EAAOS,WAI5C,CAAC8T,IAA2BlD,IAAoC,IAAAnR,EAAA,IAAnC,OAAEF,EAAM,YAAED,EAAW,MAAE6B,GAAOyP,EAC1D,MAAMmL,GAAuB,QAAdtc,EAAAF,EAAOS,eAAO,IAAAP,OAAA,EAAdA,EAAgBsc,SAAU,EACzCzc,EAAY,CAAEgX,UAAWyF,IACrB5a,EAAMiV,gBACLmU,IAAmBxO,GAAU9H,GAAkBG,kBACnDmW,IAAkB,EAClB9a,GAAqBnF,UAAUxC,KACrByiB,IAAmBxO,EAAS9H,GAAkBS,iBACxD6V,IAAkB,EAClB9a,GAAqBnF,UAAUxC,OAGjC,CAACiM,IAAsBlD,IAAqB,IAApB,YAAEvR,GAAauR,EACtC0Z,IAAkB,EAClBjrB,EAAY,CAAE8W,cAAc,IAC5B3G,GAAqBnF,UAAUxC,KAEhC,CAACkM,IAAsB9C,IAAqB,IAApB,YAAE5R,GAAa4R,EACtC5R,EAAY,CAAE8W,cAAc,IAC5B3G,GAAqBnF,UAAUxC,OCxRrB+iB,IAAmBxyB,EAAAA,EAAAA,kBAAiBE,EAAgBE,aAAc,CAC9E6D,OAAQ,MACRC,OAAO,EAEPG,kBAAmB,kCACnBC,gBAAiB,iCAGLmuB,IAAoBzyB,EAAAA,EAAAA,kBAChCE,EAAgBE,aAChB,CACC6D,OAAQ,OACRC,OAAO,EACPC,QAAS,CACR,eAAgB,oBAEjBC,UAAW,UAEXC,kBAAmBxC,EAAmBK,iCACtCoC,gBAAiBzC,EAAmBM,gCAIzBuwB,IAAkB1yB,EAAAA,EAAAA,kBAAiBE,EAAgBM,YAAa,CAC5EyD,OAAQ,OACRC,OAAO,EACPC,QAAS,CACR,eAAgB,qCAEjBC,UAAW,OAEXC,kBAAmB,gCACnBC,gBAAiB,+BCfZquB,GACW,iBADXA,GAEU,gBAFVA,GAGS,eAHTA,GAIU,gBAJVA,GAKuB,6BALvBA,GAMwB,8BAK9B,IACC9rB,KAAM,0BACNC,eAAgB,CACf,4BAAiC,CAChCC,OAAQyF,IAAkB,IAAjB,SAAExF,GAAUwF,EACpBxF,EAAS,0BAEV8Q,iBAAiB,GAElB,sBAA2B0a,GAC3B,gCAAqC,CACpCzrB,OAAQwR,IAAuC,IAAtC,OAAErR,EAAM,SAAEF,EAAQ,YAAEC,GAAasR,EACzC,MAAM,OAAErd,GAAWgM,EAAOS,QAGrBzM,EAAO03B,iBAMZ3rB,EAAY,CACXmrB,iBAAiB,IAGlBprB,EAASnF,EAAmBK,iCAAkC,CAC7DhH,YAVA8L,EAAS,+BAaX8Q,iBAAiB,GAElB,6BAAkC,CACjC/Q,OAAQyR,IAAkB,IAAjB,SAAExR,GAAUwR,EACpBxR,EAAS,wBAAyB,CAAEuD,KAAMooB,MAE3C7a,iBAAiB,GAGlB,8CAAiDe,IAG3C,IAH4C,SACjD7R,EAAQ,YACRC,GACA4R,EACA5R,EAAY,CACX4rB,sBAAsB,IASvB7rB,EAASnF,EAAmBI,uBAAwB,CAAE0F,QALtC,CACfpL,OAAO,MAOT,CAACsF,EAAmBI,wBAAyBwwB,GAE7C,CAAC5wB,EAAmBK,kCAAmCyD,UAKjD,IALwD,SAC7DqB,EAAQ,OACRE,EAAM,YACND,EAAW,MACX6B,GACAgQ,EACA,MAAM,OAAE5d,GAAWgM,EAAOS,SAAW,CAAC,GAChC,kBAAE+P,GAAsB5O,GAEW,KAArC5N,aAAM,EAANA,EAAQ43B,2BAKZ7rB,EAAY,CACXkrB,eAAgB,CACfzI,aAAcxuB,EAAO+wB,KAAO,GAAG/rB,EAAgBO,sBAC/CiX,qBAEDob,yBAA0B53B,EAAO43B,2BAGlC9rB,EAAS,uBAZRA,EAAS,wBAAyB,CAAEuD,KAAMooB,MAe5C,CAAC9wB,EAAmBM,+BAAgC4W,IAAkB,IAAjB,SAAE/R,GAAU+R,EAChE/R,EAAS,wBAAyB,CACjCuD,KAAMooB,MAIR,kDAAqDzZ,IAI/C,IAJgD,YACrDjS,EAAW,MACX6B,EAAK,SACL9B,GACAkS,EACAjS,EAAY,CACX4rB,sBAAsB,IAEvB7rB,EAASzD,GAAWM,yBAErB,mBAAwB,CACvBkD,OAAQpB,UAAwB,IAAjB,SAAEqB,GAAUwS,EAC1B,MAAM,MAAE1Q,EAAK,cAAEiqB,EAAa,aAAEC,SP9F3BrtB,iBACN,IAAImD,EAAQmqB,eAAerC,QAAQtJ,IAC/B0L,EAAeC,eAAerC,QAAQvJ,IAE1C,GAAIve,GAASkqB,EACZ,MAAO,CACNlqB,QACAkqB,eACAD,oBAAqB/K,GAA0BgL,IAIjDlqB,EAASvD,OAAOsiB,OAAOoC,YAAc1kB,OAAOsiB,OAAOoC,cAAiBvC,GAAqB,IACzFsL,EAAetL,GAAqB,IAEpC,MAAMqL,QAAsB/K,GAA0BgL,GAItD,OAFAC,eAAeC,QAAQ5L,GAAgBxe,GACvCmqB,eAAeC,QAAQ7L,GAAmB2L,GACnC,CAAElqB,QAAOiqB,gBAAeC,eAChC,CO0EyDG,GAE/CC,EAEL,gCAAkBjM,gBACLqJ,mBAAmBhJ,oBAChBgJ,mBAAmB/I,aAC1B+I,mBAAmB1nB,qBACV0nB,mBAAmBuC,gCAGtC,IAAIM,EACJ,IAKCA,QAAyBC,eAAeC,OAAOC,QAAQ,CACtDvH,IAAKmH,EACLnvB,OAAQ,OAEV,CAAE,MAAO5I,GAER,YADA2L,EAAS,wBAAyB,CAAEuD,KAAMooB,IAE3C,CAEA,IAAKU,EAAiBI,GAErB,YADAzsB,EAAS,wBAAyB,CAAEuD,KAAMooB,KAG3C,MAAM,OAAEz3B,GAAWm4B,EAAiBK,MAE9B,KAAE3H,EAAMjjB,MAAO6qB,GAAkBz4B,EACvC,GAAI6wB,GAAQ4H,IAAkB7qB,EAAO,CACpC,MAAMohB,EAAS,IAAIC,gBACnBD,EAAO0J,OPzKc,aAMU,sBOoK/B1J,EAAO0J,OAAOzM,GAAM4E,GACpB7B,EAAO0J,OPzKa,YOyKKpM,IACzB0C,EAAO0J,OPzKgB,eOyKKnM,IAC5ByC,EAAO0J,OPzKiB,gBOyKKZ,GAC7B9I,EAAO0J,OPzKqB,oBOyKI,GAChC5sB,EAAS,sBAAuB,CAC/BiK,KAAMiZ,EAAOtwB,YAEf,MACCoN,EAAS,wBAAyB,CAAEuD,KAAMooB,MAG5C7a,iBAAiB,GAElB,oBAAyB4a,GACzB,8BAAmCmB,IAA0B,IAAzB,OAAE3sB,EAAM,SAAEF,GAAU6sB,EACvD,MAAM,aAAEC,GAAiB5sB,EAAOS,QP5H5B,IAA0BosB,IO6HbD,EP5HnBnD,aAAauC,QAAQ3L,GAAwBwM,GAE7Cd,eAAee,WAAW3M,IAC1B4L,eAAee,WAAW1M,IO0HxBtgB,EAAS,0CAGV,2BAAgCitB,IAAkB,IAAjB,SAAEjtB,GAAUitB,EAC5CjtB,EAAS,wBAAyB,CAAEuD,KAAMooB,MAE3C,sBAA2B,CAC1B5rB,OAAQmtB,IAA0B,IAAzB,OAAEhtB,EAAM,SAAEF,GAAUktB,EAC5B,MAAM,KAAE3pB,GAASrD,EAAOS,QAExB,OAAQ4C,GACP,KAAKooB,GACJ3rB,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,QACNX,KAAM9N,GAAEgT,0BAGV,MACD,KAAK6jB,GACJ3rB,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,QACNX,KAAM9N,GAAEkT,6BAGV,MACD,KAAK2jB,GACJ3rB,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,QACNX,KAAM9N,GAAEmT,0BAGV,MACD,KAAK0jB,GACJ3rB,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,QACNX,KAAM9N,GAAEoT,oBAGV,MACD,KAAKyjB,GACJ3rB,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,QACNX,KAAM9N,GAAEqT,+BAGV,MACD,KAAKwjB,GACJ3rB,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,QACNX,KAAM9N,GAAE+S,6BAKZ7H,EAAS,wCAGX,cAAmB,CAClBD,OAAQA,OACR+Q,iBAAiB,KCpPpB,IACCjR,KAAM,2BACNC,eAAgB,CACf,sBAA2B,CAC1BC,OAAQA,QAET,uBAA4B,CAC3BA,OAAQA,QAET,2BAAgC,CAC/BA,OAAQyF,IAAqB,IAApB,YAAEvF,GAAauF,EACvBvF,EAAY,CACX4rB,sBAAsB,EACtBT,iBAAiB,MAIpB,4BAAiC,CAChCrrB,OAAQwR,IAAqB,IAApB,YAAEtR,GAAasR,EACvBtR,EAAY,CACX4rB,sBAAsB,MAIzB,wBAA6B,CAC5B9rB,OAAQyR,IAAqB,IAApB,YAAEvR,GAAauR,EACvBvR,EAAY,CACXktB,oBAAoB,MAIvB,yBAA8B,CAC7BptB,OAAQ8R,IAAqB,IAApB,YAAE5R,GAAa4R,EACvB5R,EAAY,CACXktB,oBAAoB,EACpBtrB,UAAU,EACV2S,kBAAkB,EAClBxhB,QAAS,OAIZ,mDAAuDmN,IACtD,MAAM,OAAED,EAAM,YAAED,GAAgBE,EAChCF,EAAY,CACXjN,QAASkN,EAAOS,UAEbyP,GAAqBC,sBACxBD,GAAqBnF,UAAUxC,GAA8CvI,EAAOS,UAGtF,mCAAsC,CACrCZ,OAAQ+R,IAAsC,IAArC,YAAE7R,EAAW,MAAE6B,EAAK,SAAE9B,GAAU8R,EACxC,MAAM,SAAEjQ,GAAaC,EAErB7B,EAAY,CACX4B,UAAWA,IAGRuO,GAAqBG,uBACnB1O,EAKJuO,GAAqBnF,UACpBxC,IALD2H,GAAqBnF,UACpBxC,IAWFzI,EADG6B,EACMtF,GAAWI,wBAEXJ,GAAWG,yBAGtBoU,iBAAiB,GAElB,wCAA2C,CAC1C/Q,OAAQgS,IAA4B,IAA3B,YAAE9R,EAAW,MAAE6B,GAAOiQ,EAC9B,MAAM,iBAAEyC,GAAqB1S,EAC7B7B,EAAY,CACXuU,kBAAmBA,KAGrB1D,iBAAiB,GAElB,iCAAoC,CACnC/Q,OAAQmS,IAAsC,IAArC,SAAElS,EAAQ,YAAEC,EAAW,MAAE6B,GAAOoQ,EACxClS,EAAS,4BACTA,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,OACNX,KAAM9N,GAAE8S,iBAGV3H,EAAY,CACXsrB,mBAAmB,IAEhBnb,GAAqBG,uBACxBH,GAAqBnF,UACpBxC,GAA0C,CACpBsI,iBAAiB,IAKzC/Q,EAASzD,GAAWE,sBAAuB,CAACsU,iBAAiB,MAG/D,0CAA6C,CAC5ChR,OAAQyS,IAAqB,IAApB,YAAEvS,GAAauS,EACvBvS,EAAY,CACXsrB,mBAAmB,KAGrBza,iBAAiB,GAElB,eAAoB,CACnB/Q,OAAQ8sB,IAAqB,IAApB,YAAE5sB,GAAa4sB,EACvB5sB,EAAY,CACXktB,oBAAoB,EACpBtB,sBAAsB,EACtBT,iBAAiB,QCrIdtzB,KAAO,IAAIC,EAAI,CAAC,EAAGX,EAAoBK,EAAEM,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGX,EAAoBK,EAAEM,EAAGD,IAEf,CAAE,CAAG,G,yBCFnC,MAAMs1B,GAAgC,oBAEhCC,GAAU,CAEnB,sBAAyB,GAAGD,2BAG5B,wBAA2B,kCAC3B,+BAAkC,uBAClC,wBAA2B,mCAC3B,iCAAoC,qBACpC,+BAAkC,2BAClC,oCAAuC,yBACvC,sBAAyB,wBACzB,oBAAuB,GAAGA,0BAIjBE,GAAwC,mBACxCC,GAA0C,qBAC1CC,GAAwC,mBACxCC,GAAsC,iBACtCC,GAAkC,aAClCC,GAAqC,gBACrCC,GAAmC,cAEnCC,GAA2C,gCAC3CC,GAA6C,kCAC7CC,GAA2C,mBAC3CC,GAAyC,iBACzCC,GAAqC,wBACrCC,GAAwC,gBACxCC,GAAsC,gCAGtCC,GAAY,YACZC,GAAc,cCvBdC,IAASx5B,EAAAA,GAAAA,GAAE,mBACXy5B,IAAcz5B,EAAAA,GAAAA,GAAEs5B,IAChBI,IAAgB15B,EAAAA,GAAAA,GAAEu5B,IAClBI,IAAO35B,EAAAA,GAAAA,GAAE,QAET45B,IAAiB55B,EAAAA,GAAAA,GAAE,8BACnB65B,IAA0B75B,EAAAA,GAAAA,GAAE,mDAC5B85B,IAAuB95B,EAAAA,GAAAA,GAAE,4EACzB+5B,IAAyB/5B,EAAAA,GAAAA,GAAE,2CAC3Bg6B,IAAoBh6B,EAAAA,GAAAA,GAAE,oDAGtBi6B,IAA8Bj6B,EAAAA,GAAAA,GAAE+4B,IAChCmB,IAAgCl6B,EAAAA,GAAAA,GAAEg5B,IAClCmB,IAA8Bn6B,EAAAA,GAAAA,GAAEi5B,IAChCmB,IAA4Bp6B,EAAAA,GAAAA,GAAEk5B,IAC9BmB,IAAwBr6B,EAAAA,GAAAA,GAAEm5B,IAC1BmB,IAA2Bt6B,EAAAA,GAAAA,GAAEo5B,IAC7BmB,IAAyBv6B,EAAAA,GAAAA,GAAEq5B,ICJ3BmB,GAAsB,CAC/B,CAAEx7B,GAAIw5B,GAAuCza,MAAOkc,GAA6Bx5B,MAAOs4B,IACxF,CAAE/5B,GAAIy5B,GAAyC1a,MAAOmc,GAA+Bz5B,MAAOu4B,IAC5F,CAAEh6B,GAAI05B,GAAuC3a,MAAOoc,GAA6B15B,MAAOw4B,IACxF,CAAEj6B,GAAI25B,GAAqC5a,MAAOqc,GAA2B35B,MAAOy4B,IACpF,CAAEl6B,GAAI45B,GAAiC7a,MAAOsc,GAAuB55B,MAAO04B,IAC5E,CAAEn6B,GAAI65B,GAAoC9a,MAAOuc,GAA0B75B,MAAO24B,IAClF,CAAEp6B,GAAI85B,GAAkC/a,MAAOwc,GAAwB95B,MAAO44B,KAGrEoB,GAA0BA,KAAA,CACnC,CAACjC,KAAwC,EACzC,CAACC,KAA0C,EAC3C,CAACC,KAAwC,EACzC,CAACC,KAAsC,EACvC,CAACC,KAAkC,EACnC,CAACC,KAAqC,EACtC,CAACC,KAAmC,IAG3B4B,GAAgCC,IACzC,MAAMC,EAAgB,CAAC,EAIvB,OAHAJ,GAAoB9vB,QAAQmwB,IACxBD,EAAcC,EAASp6B,OAASk6B,EAAcE,EAAS77B,MAAO,IAE3D47B,GC7CLE,GAAqBA,KAAA,CAC1BC,aAAc,GACdC,eAAgB,GAChBL,cAAeF,KACfQ,sBAAsB,EACtBC,mBAAmB,IAGdC,GAAwBA,CAACjwB,EAAU4iB,KACpCA,GACH5iB,EAASrG,EAAmBY,mBAAoB,CAC/CoG,QAAS,CACRyiB,SAAUR,EACVsN,cAAe,kBAMNpwB,GAAiB,CAE7B,CAACvH,EAAAA,YAAY+X,wBAAyB9K,IAAmB,IAAlB,YAACvF,GAAYuF,EACnDvF,EAAY2vB,OAGb,CAACvC,GAAQ8C,yBAA0B,CAClCpwB,OAASI,IACR,MAAM,YAAEF,EAAW,OAAEC,EAAM,MAAE4B,EAAK,SAAE9B,EAAQ,WAAEwD,GAAerD,EACvD0S,EAAQ3S,EAAOS,QAAQT,OAAO2S,OAC9B,aAAEgd,EAAY,cAAEJ,GAAkB3tB,GAClC,QAAE8gB,GAAYpf,EAEpB,GAAIqP,IAAU4b,GACbxuB,EAAY2vB,WACN,GAAI/c,IAAUyb,GAAQ,CAC5B,MAAMoB,EAAgBF,GAA6BC,IACnDhwB,EAAAA,GAAAA,SAAMU,EAAW7E,EAA6C9F,KAAA,CAC7D,OAAUq6B,GACPH,IAEJO,GAAsBjwB,EAAU4iB,GAChC5iB,EAASqtB,GAAQ+C,uBACjBpwB,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,WACNX,KAAMksB,MAGR7uB,EAAY2vB,KACb,GAED9e,iBAAiB,GAGlB,CAACuc,GAAQgD,gCAAiC,CACzCtwB,OAASI,IACR,MAAM,SAAEH,EAAQ,MAAE8B,EAAK,WAAE0B,GAAerD,GAClC,qBAAE4vB,GAAyBjuB,GAC3B,QAAE8gB,GAAYpf,EACpB,GAAIusB,EAAsB,CACzB,MAAML,EAAgBF,GAA6BD,OACnD9vB,EAAAA,GAAAA,SAAMU,EAAW7E,EAA6C9F,KAAA,CAC7D,OAAU,IACPk6B,IAEJO,GAAsBjwB,EAAU4iB,GAChC5iB,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,WACNX,KAAMksB,KAGT,CACA9uB,EAASqtB,GAAQ+C,wBAElBtf,iBAAiB,GAGlB,CAACuc,GAAQiD,yBAA0B,CAClCvwB,OAASI,IAAc,IAAAowB,EACtB,MAAM,OAAErwB,EAAM,YAAED,EAAW,SAAED,GAAaG,EACpC2vB,EAAiB5vB,SAAY,QAANqwB,EAANrwB,EAAQswB,YAAI,IAAAD,GAAU,QAAVA,EAAZA,EAAcE,gBAAQ,IAAAF,OAAA,EAAtBA,EAAwBz8B,GAE3Cg8B,IAAmB1B,KAEtB3uB,EAAAA,GAAAA,SAAMU,EAAW7E,EAA6C,CAAC,GAC/D2E,EAAY,CACX6vB,iBACAE,mBAAmB,IAEpBhwB,EAASxE,EAAaC,0BAA2B,CAChD4O,QAAS,CACR9G,KAAM,WACNX,KAAMksB,MAGR9uB,EAASqtB,GAAQ+C,wBACPN,IAAmBzB,IAE7BpuB,EAAY,CACX6vB,iBACAC,sBAAsB,KAIzBjf,iBAAiB,GAGlB,CAACuc,GAAQqD,kCAAmC,CAC3C3wB,OAASI,IACR,MAAQD,QAAQ,QAAES,GAAS,YAAEV,GAAgBE,EAE7CF,EAAY,CAAE4vB,aADOlvB,EAAQgwB,YAAc,MAG5C7f,iBAAiB,GAIlB,CAACuc,GAAQuD,uBAAwB,CAChC7wB,OAASI,IAAc,IAAA0wB,EAAAzwB,EACtB,MAAM,OAAEF,EAAM,MAAE4B,EAAK,YAAE7B,GAAgBE,EACjC2wB,EAAS5wB,SAAY,QAAN2wB,EAAN3wB,EAAQswB,YAAI,IAAAK,GAAU,QAAVA,EAAZA,EAAcJ,gBAAQ,IAAAI,OAAA,EAAtBA,EAAwB/8B,GACjCi9B,EAAa7wB,SAAe,QAATE,EAANF,EAAQS,eAAO,IAAAP,OAAA,EAAfA,EAAiB7K,OAC9B,cAAEk6B,GAAkB3tB,EAC1B,GAAIgvB,EAAQ,CAMX7wB,EAAY,CAAEwvB,cALQj6B,KAAA,GAClBi6B,EAAa,CAChB,CAACqB,GAASC,KAIZ,GAEDjgB,iBAAiB,KCPnBtY,EAAAA,EAAAA,qBAAoB,cAAe,CAC/BwM,SAAU,CACNzB,KAAM0B,EAAAA,QACNM,KAnHKzD,IACT,MAAM,eAAEguB,EAAc,aAAED,EAAY,qBAAEE,EAAoB,cAAEN,GAAkB3tB,EAsG9E,OACI3J,EAAAA,EAAAA,eAAA,WAEQ43B,GA/CR53B,EAAAA,EAAAA,eAAA,aACIwa,QAAQ,EACR1E,KAAK,KACL,iBAAe,EACf,eAAc4gB,GACd,iBAAgB,CACZ,CACI,QAAW,UACX,MAASP,IAEb,CACI,QAAW,YACX,MAASG,OAIjBt2B,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,oCACXtN,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,4BACV6pB,GAAoBx8B,IAAI68B,IACrBx3B,EAAAA,EAAAA,eAAA,YACI0a,MAAO8c,EAAS9c,MAChB5E,KAAK,KACLyK,UAAyC,IAA/B+W,EAAcE,EAAS77B,IACjCk9B,gBAAgB,EAChB,iBAAgB,CACZl9B,GAAI67B,EAAS77B,SAM7BqE,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,gCACXtN,EAAAA,EAAAA,eAAA,gBACI8V,KAAK,KACLgjB,OAAO,WACPC,YAAatC,GACbnpB,UAAU,gBACVlQ,MAAOs6B,QA3FvB13B,EAAAA,EAAAA,eAAA,aACIwa,QAAQ,EACR1E,KAAK,KACL,iBAAe,EACf,eAAcygB,KAEdv2B,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,2BACXtN,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,oBACXtN,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,kBACVkpB,KAELx2B,EAAAA,EAAAA,eAAA,OAAKsN,UAAU,qBACXtN,EAAAA,EAAAA,eAAA,uBACI64B,gBAAgB,EAChBtY,SAAUoX,IAAmB1B,GAC7B3oB,UAAW2oB,GACX/oB,KAAM,cAAoC,KAAnByqB,GAAyBA,IAAmBzB,GAAe,UAAY,QAC9Ftb,QAAQ,UACR4F,eAAgB4V,GAChBtgB,KAAK,KACL,iBAAgB,CACZna,GAAIs6B,IAER3V,WAAY,CACR0Y,OAAQ,CACJ,aAAc5C,QAI1Bp2B,EAAAA,EAAAA,eAAA,uBACI64B,gBAAgB,EAChBtY,SAAUoX,IAAmBzB,GAC7B5oB,UAAW4oB,GACXhpB,KAAM,gBAAsC,KAAnByqB,GAAyBA,IAAmB1B,GAAa,UAAY,QAC9Frb,QAAQ,UACR4F,eAAgB6V,GAChBvgB,KAAK,KACL,iBAAgB,CACZna,GAAIu6B,IAER5V,WAAY,CACR0Y,OAAQ,CACJ,aAAc3C,cAsE9ClpB,OAAM,KACN9B,WAAY,CACRof,QAAS,CACLxuB,QAAS,GACTsP,UAAU,EACVyB,OAAQ,CACJ5B,KAAM,YAIlBzD,eAAc,GACdmT,aAAc,CACV6c,eAAgB,GAChBD,aAAc,GACdE,sBAAsB,EACtBN,cAAeF,QCpJvB,MAAM6B,GAAU,CACfC,QAAS,uBACTxnB,MAAO,+BACPynB,KAAM,sBACNC,SAAU,wBAGLC,GAAY,CACjB3nB,MAAO,WACPynB,KAAM,OACND,QAAS,UACTE,SAAU,YAoBX,IACC1xB,KAAM,iCACNC,eAAgB,CACf,CAACtE,EAAaC,2BAA4B,CACzCsE,OAAQyF,IAOF,IANLtF,QACCS,SAAS,QAAE0J,IAEZvI,OAAO,2BAAE2vB,GAA4B,YACrCxxB,EAAW,SACXD,GACAwF,EACA,MACM1R,EAAK,qC1DrBG8W,KAAKC,SAASjY,SAAS,IAAI+Z,MAAM,K0DsBzC+kB,EA/BOC,EAACtnB,EAASvW,KACnB,CACNA,GAAIA,EACJsR,OAAQosB,GAAUnnB,EAAQ9G,MAC1B8B,KAAM+rB,GAAQ/mB,EAAQ9G,MACtBvQ,QAAS,CACRuQ,KAAM,MACNhO,OACC4C,EAAAA,EAAAA,eAAA,aACEE,EAAAA,EAAAA,oCAAmC,SAASgS,EAAQzH,iBAIxD1C,OAAQ,CAAEqD,KAAM,aAkBGouB,CAAStnB,EAASvW,GACnCmM,EAAY,CACXwxB,2BAA4BA,EAC1B,IAAIA,EAA4BC,GAChC,CAACA,WAE0C/9B,KAAzB0W,aAAO,EAAPA,EAAS8F,cAA6B9F,EAAQ8F,cAElEnF,WACC,KACChL,EAASxE,EAAaE,gCAAiC5H,IAExDuW,EAAQgV,SAAWhV,EAAQgV,SAAW,MAIzCvO,iBAAiB,GAElB,CAACtV,EAAaE,iCAAkC,CAC/CqE,OAAQwR,IAIF,IAHLrR,QAAUS,QAAS7M,GACnBgO,OAAO,2BAAE2vB,GAA4B,YACrCxxB,GACAsR,EAIAtR,EAAY,CAAEwxB,2BAHQA,EAA2BlK,OAC/CqK,GAAiBA,EAAa99B,KAAOA,MAIxCgd,iBAAiB,GAElB,qCAAwC,CACvC/Q,OAAQyR,IAMF,IALLtR,QACCS,SAAS,KAAE5N,IAEZ+O,OAAO,2BAAE2vB,GAA4B,YACrCxxB,GACAuR,EAIAvR,EAAY,CAAEwxB,2BAHQA,EAA2BlK,OAC/C/yB,GAAMA,EAAEV,KAAOf,EAAKe,OAIvBgd,iBAAiB,GAElB,2BAA8B,CAC7B/Q,OAAQ8R,IAA6B,IAA5B,OAAE3R,EAAM,YAAED,GAAa4R,EAC/B5R,EAAY,CAAEwxB,2BAA4BvxB,EAAOS,QAAQpL,SAE1Dub,iBAAiB,KC1FpB,IAAI+gB,GAA2B,KAE/B,UACChyB,KAAM,mCACNC,eAAgB,CACf,CAAC4I,IAAqC,CACrC3I,OAASI,IACR,MAAM,YAAEF,EAAW,SAAED,GAAaG,EAGlCiQ,GAAqB0hB,YAAYrpB,GAA8CjD,IAAiB,IAAhB,QAAE7E,GAAS6E,EAC1FxF,EAAS,6BAIVoQ,GAAqB0hB,YAAYrpB,GAA0C8I,IAAiB,IAAhB,QAAE5Q,GAAS4Q,EACtF,MAAM,gBAACR,GAAmBpQ,GAAW,CAAC,EAClCyP,GAAqBC,qBACxBrQ,EAASzD,GAAWE,sBAAuB,CAACsU,gBAAiBA,IAE7D/Q,EAAS,4BAGVoQ,GAAqB4B,sBAItB5B,GAAqB0hB,YAAYrpB,GAA8B,KAC9DzI,EAAS,8BAIVoQ,GAAqB0hB,YAAYrpB,GAA+B+I,IAAe,IAAd,MAAEvI,GAAOuI,EAErEpB,GAAqBC,sBACxBrQ,EAAS2I,GAA8B,CAAEopB,gBAAiB9oB,MAK5DmH,GAAqB0hB,YAAYrpB,GAAkCoJ,IAAiB,IAAhB,QAAElR,GAASkR,EAC9E,MAAM,gBAAEkgB,EAAe,SAAElwB,EAAQ,aAAEuH,EAAY,QAAEpW,GAAY2N,GAAW,CAAC,EAGrEoxB,IAAoB3hB,GAAqBlG,aAC5CjK,EAAY,CACX4B,WACA7O,QAASA,GAAW,KAErBgN,EAAS,2BACToQ,GAAqB4hB,gBAAgB5oB,MAKvCgH,GAAqB0hB,YAAYrpB,GAA2C,KACvE2H,GAAqBC,qBACxBrQ,EAASzD,GAAWG,wBAEpBuD,EAAY,CAAE4B,UAAU,MAI1BuO,GAAqB0hB,YAAYrpB,GAA4C,KACxE2H,GAAqBC,qBACxBrQ,EAASzD,GAAWI,yBAEpBsD,EAAY,CACX4B,UAAU,EACV7O,QAAS,OAOZod,GAAqB0hB,YAAYrpB,GAA8CqJ,IAAiB,IAAhB,QAAEnR,GAASmR,EACzD,YAA7BxR,SAAS2xB,iBACZhyB,EAAY,CAAEjN,QAAS2N,MAIzByP,GAAqB0hB,YAAYrpB,GAAyC,KACxC,YAA7BnI,SAAS2xB,iBACZhyB,EAAY,CAAE+W,eAAe,MAI/B5G,GAAqB0hB,YAAYrpB,GAAyC,KACzExI,EAAY,CAAE+W,eAAe,MAK9B6a,GAA2BA,KACO,YAA7BvxB,SAAS2xB,iBAAiC7hB,GAAqBG,wBAClEH,GAAqB8hB,2BAGvB5xB,SAAS9B,iBAAiB,mBAAoBqzB,IAG9CzhB,GAAqB8hB,4BAKvB,CAACvpB,IAA+B,CAC/B5I,OAASI,IACR,MAAM,OAACD,EAAM,MAAE4B,GAAS3B,GAClB,gBAAC4xB,GAAmB7xB,EAAOS,SAAW,CAAC,EAGzCyP,GAAqBC,sBACxB0hB,GACAA,IAAoB3hB,GAAqBlG,YACzCkG,GAAqBnF,UAAUxC,GAAkC,CAChEspB,kBACA7gB,UAAWpP,EAAMoP,UACjBrP,SAAUC,EAAMD,WAAY,EAC5B7O,QAAS8O,EAAM9O,SAAW,GAC1BoW,aAAcgH,GAAqBlG,eAMvC,CAACtB,IAAuB,CACvB7I,OAAQA,KACH8xB,KACHvxB,SAASgL,oBAAoB,mBAAoBumB,IACjDA,GAA2B,MAE5BzhB,GAAqB+hB,eCzGzB35B,EAAAA,EAAAA,qBAAoB,oBAAqB,CACxCwM,SAAU,CAAEzB,KAAM0B,EAAAA,SAClBgO,aAAc,CACbjD,qBAAqB,EACrB4b,iBAAiB,EACjBC,sBAAsB,EACtBsB,oBAAoB,EACpB5B,mBAAmB,EACnBkG,2BAA4B,GAC5BvgB,UAAW,EACXrP,UAAU,EACVoP,eAAgB,KAChBD,gBAAiB,EACjBwD,kBAAkB,EAClBxhB,QAAS,GACTo4B,iBAAiB,EACjB1Z,oBAAqB,KACrBhB,kBAAmB,KACnBqG,cAAc,EACdE,UAAW,EACXD,eAAe,EACf4L,QAAS,IAEVrd,KA7CYC,IAA4M,IAA3M,oBAAEwK,EAAmB,qBAAE6b,EAAoB,mBAAEsB,EAAkB,kBAAE5B,EAAiB,2BAAEkG,EAA0B,SAAE5vB,EAAQ,iBAAE2S,EAAgB,QAAExhB,EAAO,aAAE+jB,EAAY,UAAEE,EAAS,cAAED,EAAa,QAAE4L,GAASpd,EACnN,OAAKwK,GAIJ7X,EAAAA,EAAAA,eAACD,EAAAA,SAAQ,KACPu5B,SAAAA,EAA4Bt+B,QAC5BgF,EAAAA,EAAAA,eAAA,aAAW+M,MAAOusB,EAA4B,iBAC3C,KACH5F,GACA1zB,EAAAA,EAAAA,eAAA,8BACG,KACHg1B,GACAh1B,EAAAA,EAAAA,eAAA,sBAAoB0J,SAAUA,EAAU2S,iBAAkBA,EAAkBxhB,QAASA,EAAS+jB,aAAcA,EAAcE,UAAWA,EAAWD,cAAeA,IAC5J,KACHuU,GACApzB,EAAAA,EAAAA,eAAA,eAAayqB,QAASA,IACnB,MAfE,MA4CRtd,OAAM,IACNxF,eAAc,GACdsyB,UAAW,CACV,CAAEC,SAAUtX,IACZ,CAAEsX,SAAU5vB,IACZ,CAAE4vB,SAAUC,IACZC,GACA,CAACF,SAAUG,IACX,CAACH,SAAUI,IACX,CAACJ,SAAUK,OCrEb,MAAM1jB,GAAeV,GAAWE,cAEnBmkB,GAA0B,CACtC9yB,KAAM,6BACNC,eAAgB,CACf,2CAA+C8yB,GAAW5jB,GAAaF,QAAQ,2CAA4C8jB,EAAQ1yB,OAAOS,SAC1I,0CAA8CiyB,GAAW5jB,GAAaF,QAAQ,0CAA2C8jB,EAAQ1yB,OAAOS,SACxI,2CAA+CiyB,GAAW5jB,GAAaF,QAAQ,2CAA4C8jB,EAAQ1yB,OAAOS,WCR5IpC,OAAOs0B,8BAA8BpgC,E","file":"externals/sn-help-assistant/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","e","ReferenceError","a","n","TypeError","toPropertyKey","require","_defineProperties","r","t","o","enumerable","configurable","writable","Object","defineProperty","key","prototype","value","_extends","assign","bind","arguments","hasOwnProperty","call","apply","superPropBase","_get","Reflect","get","p","getOwnPropertyDescriptor","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","create","constructor","_typeof","assertThisInitialized","_setPrototypeOf","Symbol","toPrimitive","String","Number","iterator","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","definition","obj","prop","toStringTag","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","dangerouslyCreateElementFromString","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__","getSysPropContext","getTimeRangeBucket","secondsString","sec","parseInt","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","BASE_URL","dataHandlerURLs","CONFIG","USER_CONSENT","RAG_API","FEEDBACK","OAUTH_CODE","OAUTH_TOKEN","WEB_SOCKET_ENDPOINT","BASE_ACTION","dataHandlerActions","HA_FETCH_CONFIG","HA_FETCH_CONFIG_SUCCEEDED","HA_FETCH_CONFIG_FAILED","HA_FETCH_RAG_API","HA_FETCH_RAG_API_SUCCEEDED","HA_FETCH_RAG_API_FAILED","HA_UPDATE_TOOL_CALL_ID","HA_FETCH_AUTH_TOKEN","HA_FETCH_AUTH_TOKEN_SUCCEEDED","HA_FETCH_AUTH_TOKEN_FAILED","HA_FETCH_AUTH_CODE","HA_SUBMIT_FEEDBACK","assistantServiceActions","HA_LIVE_CLIENT_START","HA_LIVE_CLIENT_PAUSE","HA_LIVE_CLIENT_RESUME","HA_LIVE_CLIENT_STOP","userConsentActions","HA_FETCH_USER_CONSENT","HA_FETCH_USER_CONSENT_SUCCEEDED","HA_FETCH_USER_CONSENT_FAILED","HA_SUBMIT_USER_CONSENT","HA_SUBMIT_USER_CONSENT_SUCCEEDED","HA_SUBMIT_USER_CONSENT_FAILED","userRoles","HA_ERROR_TRACK","TELEMETRY_METRIC","TELEMETRY_ERROR_PAYLOAD","alertActions","HA_NOTIFICATION_REQUESTED","HA_NOTIFICATION_CLEAR_REQUESTED","alertTypes","UPDATE_MODELESS_DIALOG_CONTENT","liveTranscriptionActions","OUTPUT_TRANSCRIPTION","INPUT_TRANSCRIPTION","TRIM_TRANSCRIPT","CONTENT_RESET","MIC_AUDIO_CONTEXT_ID","HA_NETWORK_ERROR","HA_OFFLINE","HA_NETWORK_ERROR_HANDLED","HA_NETWORK_ERROR_OCCURRED","HA_ACTIONS","START_DYNAMIC_GUIDANCE","STOP_DYNAMIC_GUIDANCE","PAUSE_DYNAMIC_GUIDANCE","RESUME_DYNAMIC_GUIDANCE","DYNAMIC_GUIDANCE_STARTED","DYNAMIC_GUIDANCE_ENDED","DYNAMIC_GUIDANCE_PAUSED","DYNAMIC_GUIDANCE_RESUMED","fetchRagApi","method","batch","headers","dataParam","successActionType","errorActionType","submitFeedback","HA_SCREEN_SHARE_START","HA_SCREEN_SHARE_STOP","HA_SCREEN_SHARE_PAUSE","HA_SCREEN_SHARE_RESUME","HA_SCREEN_SHARE_SEND","Map","fetchAudioContext","options","has","ctx","AudioContext","set","didInteract","Promise","res","window","addEventListener","once","audioContext","async","audioCtx","isBrowser","browserName","RegExp","test","navigator","userAgent","setTracksEnabled","tracks","enabled","Array","isArray","forEach","track","HA_SCREEN_SHARE_DESTROY","HA_SCREEN_CAPTURE_SEND","HA_SCREEN_SHARE_ERROR","name","actionHandlers","effect","dispatch","updateState","action","coeffects","_action$payload","videoEle","document","canvasEle","scaleFactor","videoQuality","captureFrequency","payload","SCALE_FACTOR","JPEG_QUALITY","CAPTURE_FREQUENCY","displayMediaOptions","video","preferCurrentTab","stream","mediaDevices","getDisplayMedia","getTracks","setAttribute","srcObject","context","getContext","timer","setInterval","screenShareConfig","isPaused","state","videoWidth","videoHeight","width","height","drawImage","imageBase64Data","toDataURL","split","trim","getVideoTracks","liveClient","stop","sendText","text","clearInterval","mediaTypes","TOOL_NAMES","systemInstructionObject","parts","knowledgeBaseInstructions","searchKnowledgeBaseTool","functionDeclarations","description","parameters","type","properties","query","required","LOG_PREFIX","createFreshGeminiConfig","model","generationConfig","responseModalities","speechConfig","voiceConfig","prebuiltVoiceConfig","voiceName","languageCode","systemInstruction","tools","outputAudioTranscription","inputAudioTranscription","sessionResumption","handle","supportedProviders","GEMINI_FLASH","config","ERRORS","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","renderer","snabbdom","items","schema","status","icon","styles","view","_ref","className","manageItems","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","translatedTexts","launcherHeading","launcherText","launcherStartButtonLabel","consentAllow","consentCancel","consentHeading","consentIntro","consentHowItWorks","consentContextAwareTitle","consentContextAwareTextSubTitle","consentNaturalConversationsTitle","consentNaturalConversationsTextSubTitle","consentTalkControlTitle","consentTalkControlTextSubTitle","consentBrowserWarning","consentCheckboxLabel","consentNote","consentTermsOfService","transcriptPlaceholderText","closeButtonAriaLabel","modelessDialogHeading","modelessDialogFooterText","transcriptButtonLabel","assistantPausedText","Paused","Live","launcherLoadingLabel","websocketError","missingWebSocketURLorEphemeralToken","fetchConfigFailed","invalidSecretKey","clientStopped","searchSourceNotConfigured","fetchUserConsentFailed","userConsentSubmittedSuccesfully","failedToSubmitUserConsent","failedToFetchOAuthCode","failedPKCEConfig","failedToGenerateAccessToken","endButtonLabel","networkErrorMessage","errorInProvider","sessionInProgress","sessionLimitReached","BROADCAST_ACTIONS","CROSS_TAB_INITIALIZE_COMMUNICATION","CROSS_TAB_HANDLE_STATE_QUERY","CROSS_TAB_DISCONNECT","_createClass","CrossTabCommunicator","_classCallCheck","channel","tabId","listeners","stateQueryTimeout","primaryTabId","isPrimaryTab","initializeChannel","setupTabClosureDetection","channelName","location","origin","BroadcastChannel","handleMessage","error","console","event","timestamp","data","getTabId","broadcastActions","listener","message","Date","now","postMessage","actionType","Set","add","Math","random","substr","clearTimeout","setTimeout","broadcast","handleBeforeUnload","handlePrimaryTabClosure","_beforeUnloadHandler","closedTabId","removeEventListener","close","clear","PAUSE_CHARS_REGEX","displayedText","latestTranscriptText","textDispatch","textTimer","inputTrimOffset","outputTrimOffset","lastOutputTranscript","lastInputTranscript","lastSpeakerType","checkForStrSlicing","val","min","max","renderOutput","fullText","len","visibleText","slice","scheduleTextReveal","pushContent","renderInput","nextSpace","indexOf","clearTranscriptTimer","wordByWordReveal","startsWith","start","end","chunk","nextDelay","getLastUpdateType","handleOutputTranscription","newOutputTranscript","onNewOutputTranscript","nextTranscript","isDiscontinuity","handleInputTranscription","newInputTranscript","trimInputLocally","size","resetAll","sendToolResponse","toolCallId","currentToolCallId","observable","instance","getInstance","handlers","subscribe","handler","unsubscribe","delete","trigger","init","messageQueue","networkErrorHandler","COMPONENT_CONNECTED","_window","propertyValue","propName","getSysPropFromContext","toLowerCase","currentUserRoles","ux_globals","session","output","user","roles","isUserHaveAccess","includes","enableHelpAssistant","_e$detail","detail","dismissable","crossTabCommunicator","isPrimaryTabActive","COMPONENT_DISCONNECTED","isSecondaryTabActive","src","conversationId","conversationIdNAP","provider","withScreen","establishAsPrimaryTab","stopPropagation","isUserInitiated","totalPausedTime","pauseTimestamp","startTime","updatedTotalPausedTime","totalActiveSessionTime","floor","Duration","_ref2","_ref3","_window2","heartbeatIntervalId","nowWindowManager","closeWindow","_ref4","_ref5","_ref6","releasePrimaryTab","TYPE","_ref7","_action$payload2","_action$payload3","trimOutputTranscript","count","currentLength","_ref8","USER_CONSENT_CANCELLED","isAgreeDisabled","opened","contentFullWidth","label","href","variant","opensWindow","initialState","AI_SPARKLE_ICON","PAUSE_ICON","MODAL_ACTIONS","PAUSE_CLICKED","TRANSCRIPT_CLICKED","END_CLICKED","handleEscapeKey","COMPONENT_PROPERTY_CHANGED","_action$payload$value","nextContent","hasReceivedContent","lastUpdateType","requestAnimationFrame","_state$contentRef","_state$containerRef","contentEl","contentRef","current","containerEl","containerRef","clientHeight","userAction","enableTranscript","UPDATE_MICROPHONE_VOLUME","AI_SPEAKING_STARTED","AI_SPEAKING_STOPPED","VOICE_WAVE_CONFIG","freeze","POINTS","VOLUME_THRESHOLD","VOLUME_CEIL","SMOOTHING_RISE","SMOOTHING_DECAY","DECAY_FACTOR","SILENCE_GRACE_MS","EXIT_THRESHOLD","IDLE_BAR_STYLE","borderRadius","MIC_BARS","from","to","freq","PI","getMicBarStyles","normVolume","sin","background","transition","smoothedVolume","lastSpeechTime","animationRAF","_updateState","animationTick","micBarStyles","processVolumeUpdate","rawVolume","performance","initVoiceWave","cancelAnimationFrame","bars","_","isAiSpeaking","isVoiceActive","micVolume","showCssWave","showUserWave","style","avatarUrl","_ux_globals","avatar","userName","_ux_globals2","displayName","sessionDuration","lastPauseTimestamp","defaultPosition","shouldShowIcon","enableDrag","headingIcon","headingLabel","enableAutoResizableHeight","autoResizableMinHeight","position","enableFocus","slot","ref","imageSrc","configAria","selected","tooltipContent","highlighted","HA_AUDIO_IO_INITIATE","HA_AUDIO_IN_PLAY_STOP","HA_AUDIO_IN_PLAY","HA_AUDIO_IO_STOP","HA_AUDIO_IO_PAUSE","HA_AUDIO_IO_RESUME","HA_AUDIO_OUT_SEND","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__","EventEmitter","VolMeterWorketFn","registeredWorklets","createWorkletFromSrc","workletName","workletSrc","script","Blob","URL","createObjectURL","isWorkletRegistered","markWorkletAsRegistered","AudioRecorder","_EventEmitter","_this","sampleRate","source","recording","recordingWorklet","vuWorklet","starting","_inherits","getUserMedia","Error","resolve","reject","audio","createMediaStreamSource","recordingWorkletName","recSrc","AudioRecordingWorkletFn","audioWorklet","addModule","AudioWorkletNode","port","onmessage","arrayBuffer","ev","int16arrayBuffer","arrayBufferString","buffer","binary","bytes","Uint8Array","byteLength","fromCharCode","btoa","arrayBufferToBase64","emit","connect","vuWorkletName","vuSrc","VolMeterWorkletFn","volume","handleStop","disconnect","then","AudioStreamer","audioQueue","isPlaying","bufferSize","processingBuffer","Float32Array","scheduledTime","gainNode","createGain","createBufferSource","destination","isStreamComplete","checkInterval","initialBufferTime","endOfQueueAudioSource","onComplete","addPCM16","glitchedBufferCount","workletsRecord","worklet","node","float32Array","dataView","DataView","int16","getInt16","newBuffer","currentTime","scheduleNextBuffer","audioData","audioBuffer","createBuffer","getChannelData","shift","createAudioBuffer","onended","complete","worklets","values","duration","gain","linearRampToValueAtTime","resume","setValueAtTime","HA_AUDIO_IO_DESTROY","audioRecorder","pause","on","base64","audioStreamerRef","audioStreamer","_audioStreamerRef$cur","wasPlaying","CODE","DG_PREFIX","PKCE_VERIFIER_KEY","PKCE_STATE_KEY","OAUTH_ACCESS_TOKEN_KEY","APP_CLIENT_ID","APP_REDIRECT_URI","generateRandomString","charset","randomValues","crypto","getRandomValues","v","pkceChallengeFromVerifier","verifier","TextEncoder","encode","b","replace","base64UrlEncode","subtle","digest","AUTH_COOKIE_NAME","HA_CLIENT_AUDIO_RESPONSE","HA_CLIENT_INTERRUPTED","HA_LIVE_CLIENT_ERROR","HA_SESSION_LIMIT_REACHED","GeminiMultimodalLiveClient","_SocketManager","isReconnecting","hasReconnected","inputTranscriptions","outputTranscriptions","activeWsId","shouldClearTranscriptionsOnNext","_oldWs","isFirstTime","isSetupComplete","sessionResumptionHandle","websocketURL","keepAliveInterval","traceId","reconnectCount","newHandle","wsId","auth","randomUUID","params","URLSearchParams","trace_id","instance_name","host","session_handle","conversation_id","solution_capability","glide_api_version","setConnectionURL","_superPropGet","clientContent","turns","role","turnComplete","ws","readyState","WebSocket","OPEN","sendMessage","_getIdleMessage","_clearKeepAliveInterval","self","setAuth","catch","log","reason","prelude","preludeIndex","code","receive","url","clearAll","_resetTranscriptions","blob","response","reader","FileReader","onload","json","JSON","parse","readAsText","blobToJSON","sessionResumptionUpdate","resumable","_updateSessionResumptionHandle","isSetupCompleteMessage","personalizedGreeting","firstName","getPersonalizedGreeting","greeting","isGoAway","reconnect","isServerContentMessage","serverContent","interrupted","isInterrupted","_isStaleSocket","isTurnComplete","_closeOldSocket","outputTranscription","hasOutputTranscription","transcriptionText","inputTranscription","hasInputTranscription","modelTurn","isModelTurn","audioParts","filter","inlineData","mimeType","base64s","_p$inlineData","otherParts","b64","binaryString","atob","charCodeAt","base64ToArrayBuffer","toolCall","functionCalls","every","args","isLiveFunctionCall","functionCall","functionName","functionId","_args","toolResponse","extractedContent","results","functionResponses","realtimeInput","mediaChunks","clientContentRequest","SocketManager","path","maxAge","secure","sameSite","cookieString","encodeURIComponent","cookie","addCookie","localStorage","getItem","removeCookie","onOpen","onClose","onMessage","onError","onOpenWrapper","cleanupAuthToken","onErrorWrapper","setupAuthCookie","_message$clientConten","_message$clientConten2","isKeepAliveMsg","send","stringify","clientInterfaceMethods","MultimodalLiveClientFactory","providerName","instances","_defineProperty","HA_LIVE_CLIENT_INITIATE","HA_LIVE_CLIENT_DESTROY","_isUserSpeaking","liveClientAuth","isFirstTimeUser","setIsFirstTime","getTraceId","showFeedbackModal","fetchUserConsent","submitUserConsent","fetchOAuthToken","errors","isUserConsented","showUserConsentModal","isSearchSourceConfigured","codeChallenge","codeVerifier","sessionStorage","setItem","fetchPKCEConfig","authUrl","redirectResponse","nowUiFramework","snHttp","request","ok","body","redirectState","append","_ref9","access_token","accessToken","removeItem","_ref0","_ref1","showModelessDialog","HA_FEEDBACK_MODAL_BASE_ACTION","ACTIONS","FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_ID","FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_ID","FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_ID","FEEDBACK_CATEGORY_TAKES_TOO_LONG_ID","FEEDBACK_CATEGORY_POOR_VOICE_ID","FEEDBACK_CATEGORY_TIMEOUT_ERROR_ID","FEEDBACK_CATEGORY_NO_RESPONSE_ID","FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL","FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL","FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL","FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL","FEEDBACK_CATEGORY_POOR_VOICE_LABEL","FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL","FEEDBACK_CATEGORY_NO_RESPONSE_LABEL","THUMBS_UP","THUMBS_DOWN","SUBMIT","t_THUMBS_UP","t_THUMBS_DOWN","BACK","FEEDBACK_LABEL","IS_GUIDANCE_USEFUL_TEXT","FEEDBACK_PLACEHOLDER","TELL_US_WHY_NOT_USEFUL","ALERT_SUCCESS_MSG","t_CATEGORY_DIDNT_UNDERSTAND","t_CATEGORY_INCORRECT_GUIDANCE","t_CATEGORY_OFFENSIVE_UNSAFE","t_CATEGORY_TAKES_TOO_LONG","t_CATEGORY_POOR_VOICE","t_CATEGORY_TIMEOUT_ERROR","t_CATEGORY_NO_RESPONSE","FEEDBACK_CATEGORIES","getDefaultSelectedPills","convertPillsToReadableFormat","selectedPills","readablePills","category","resetFeedbackState","feedbackText","feedbackThumbs","showDetailedFeedback","feedbackSubmitted","dispatchFeedbackToLog","feedback_type","FEEDBACK_ACTION_CLICKED","FEEDBACK_MODAL_CLOSED","FEEDBACK_MODAL_CLOSE_REQUESTED","FEEDBACK_BUTTON_CLICKED","_action$meta","meta","appended","FEEDBACK_REVIEW_COMMENTS_UPDATED","fieldValue","NOW_PILL_SELECTED_SET","_action$meta2","pillId","isSelected","manageSelected","resize","placeholder","button","iconMap","warning","info","positive","statusMap","helpAssistantNotifications","newAlert","getAlert","notification","_visibilityChangeHandler","addListener","requestingTabId","setPrimaryTabId","visibilityState","queryStateFromOtherTabs","destroy","behaviors","behavior","screen","helpAssistantAlertBehavior","crossTabCommunicatorBehavior","consentAuth","modal","snHelpAssistantBehavior","helpers","__TECTONIC__sn_help_assistant"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-help-assistant/src/components/presentational/ha-alerts/ha-alerts.scss","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/ha-feedback.scss","webpack:///sn-help-assistant/src/components/presentational/ha-modeless-dialog/ha-modeless-dialog.scss","webpack:///sn-help-assistant/src/components/presentational/ha-user-consent-modal/ha-user-consent-modal.scss","webpack:///sn-help-assistant/src/components/presentational/ha-voice-wave/ha-voice-wave.scss","webpack:///sn-help-assistant/src/sn-help-assistant/styles.scss","webpack:///./src/components/presentational/ha-alerts/ha-alerts.scss?6040","webpack:///./src/components/presentational/ha-feedback/ha-feedback.scss?baf8","webpack:///./src/components/presentational/ha-modeless-dialog/ha-modeless-dialog.scss?d5eb","webpack:///./src/components/presentational/ha-user-consent-modal/ha-user-consent-modal.scss?9c1a","webpack:///./src/components/presentational/ha-voice-wave/ha-voice-wave.scss?72ed","webpack:///./src/sn-help-assistant/styles.scss?cbb3","webpack:///@babel/runtime/7.25.7/helpers/assertThisInitialized.js","webpack:///@babel/runtime/7.25.7/helpers/classCallCheck.js","webpack:///@babel/runtime/7.25.7/helpers/createClass.js","webpack:///@babel/runtime/7.25.7/helpers/defineProperty.js","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/get.js","webpack:///@babel/runtime/7.25.7/helpers/getPrototypeOf.js","webpack:///@babel/runtime/7.25.7/helpers/inherits.js","webpack:///@babel/runtime/7.25.7/helpers/possibleConstructorReturn.js","webpack:///@babel/runtime/7.25.7/helpers/setPrototypeOf.js","webpack:///@babel/runtime/7.25.7/helpers/superPropBase.js","webpack:///@babel/runtime/7.25.7/helpers/toPrimitive.js","webpack:///@babel/runtime/7.25.7/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.25.7/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-ux-core/28.0.4/index.jsdbx\"","webpack:///sn-help-assistant/src/sn-help-assistant/commons/utils.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///sn-help-assistant/src/sn-help-assistant/constants.js","webpack:///sn-help-assistant/src/sn-help-assistant/actions/dataHandlers.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/screen/actionNames.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/utils.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/screen/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/constants.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///sn-help-assistant/src/components/presentational/ha-alerts/ha-alerts.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///sn-help-assistant/src/commons/i18n.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/crossTabCommunicator/crossTabConstants.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/crossTabCommunicator/crossTabCommunicator.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/google-gemini/transcript/transcriptController.js","webpack:///sn-help-assistant/src/sn-help-assistant/actions/toolResponseUtils.js","webpack:///sn-help-assistant/src/sn-help-assistant/observable.js","webpack:///sn-help-assistant/src/sn-help-assistant/actions/coreHandlers.js","webpack:///sn-help-assistant/src/components/presentational/ha-user-consent-modal/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-checkbox/index.jsdbx\"","webpack:///sn-help-assistant/src/components/presentational/ha-user-consent-modal/ha-user-consent-modal.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modeless-dialog/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-avatar/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///sn-help-assistant/src/components/presentational/ha-modeless-dialog/constants.js","webpack:///sn-help-assistant/src/components/presentational/ha-modeless-dialog/actionHandlers.js","webpack:///sn-help-assistant/src/components/presentational/ha-voice-wave/utils.js","webpack:///sn-help-assistant/src/components/presentational/ha-voice-wave/actionHandlers.js","webpack:///sn-help-assistant/src/components/presentational/ha-voice-wave/ha-voice-wave.js","webpack:///sn-help-assistant/src/components/presentational/ha-modeless-dialog/ha-modeless-dialog.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/actionNames.js","webpack:///external module \"/uxasset/externals/eventemitter3/5.0.1/index.jsdbx\"","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/worklets/audio-processing.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/worklets/vol-meter.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/audioworklet-registry.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/audio-recorder.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/audio-streamer.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/audio/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/google-gemini/gemini-multimodal-live-types.js","webpack:///sn-help-assistant/src/commons/auth/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/socket-manager.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/actionNames.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/google-gemini/gemini-multimodal-live-client.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/multimodal-live-client.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/live-client/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/consent-auth/dataHandlers.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/consent-auth/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/modals/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-textarea/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-pill/index.jsdbx\"","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/constants.js","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/i18n.js","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/utils.js","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/actionHandler.js","webpack:///sn-help-assistant/src/components/presentational/ha-feedback/ha-feedback.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/helpAssistantAlertBehavior.js","webpack:///sn-help-assistant/src/sn-help-assistant/behaviors/crossTabCommunicator/index.js","webpack:///sn-help-assistant/src/sn-help-assistant/sn-help-assistant.js","webpack:///sn-help-assistant/src/sn-help-assistant/behavior.js","webpack:///sn-help-assistant/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.ha-alerts-container{align-items:center;display:flex;flex-direction:column;justify-content:center;left:0;margin-left:auto;margin-right:auto;padding:.5rem;position:absolute;right:0;top:2.75rem;width:600px;z-index:4000}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.feedback-modal-content{align-items:flex-start;display:flex;flex-direction:column;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)}.feedback-modal-content .is-useful-text{font-size:var(--now-font-size--md1,1rem)}.feedback-modal-content .feedback-footer{align-items:center;align-self:stretch;border-top:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));display:flex;justify-content:space-between;margin-top:2.25rem;padding-top:.75rem}.feedback-modal-content .feedback-footer .feedback-buttons{display:flex;gap:.75rem}.detailed-feedback-modal-content{display:flex;flex-direction:column;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)}.detailed-feedback-modal-content .feedback-pills-container{align-self:stretch;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.detailed-feedback-modal-content .feedback-textarea-container{align-self:stretch;margin-top:.75rem}.detailed-feedback-modal-content .feedback-textarea-container .feedback-text{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.ha-modeless-dialog-overlay{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:3000}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container{height:auto;pointer-events:none;position:absolute;right:0;top:0;width:280px}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-header{align-items:center;background-color:RGB(var(--now-color_text--secondary-actionable,var(--now-color--neutral-1,246,247,247)));border-radius:.25rem;display:flex;justify-content:space-between;padding:.25rem}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-header .ha-status-text{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:var(--now-font-size--xs,.625rem);margin:0}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-header .ha-status-icon{padding-inline-end:var(--now-global-space--xs)}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-header .ha-status-icon.is-live{color:rgb(var(--now-color_presence--busy))}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container{display:flex;flex-direction:column;max-height:100%;width:100%}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content{align-items:flex-start;align-self:stretch;border-radius:.25rem;display:flex;flex:0 1 auto;flex-direction:column;gap:.75rem;height:120px;padding:.5rem .75rem .5rem .75rem}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content .ha-modeless-content-desc{color:var(--now-color--neutral-3,209,214,214);display:flex;flex-direction:column;height:75px}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content .ha-modeless-content-desc .ha-icon-container{align-items:flex-start;display:flex;margin-bottom:.25rem}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content .ha-modeless-content-desc .ha-content-text{color:var(--now-color_brand--neutral,var(--now-color--brand-0,255,255,255));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;line-height:100%;margin-top:.25rem}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-modeless-content .ha-modeless-content-desc .ha-content-text p{margin:0}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-footer-actions{align-items:center;background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;flex:0 0 auto;gap:.25rem;justify-content:space-between;padding-inline-end:.75rem;padding-bottom:.25rem;padding-inline-start:.75rem;padding-top:.25rem}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-footer-actions>:last-child{margin-left:auto}.ha-modeless-dialog-overlay .ha-modeless-dialog-position-container .ha-modeless-content-container .ha-footer-text{align-items:center;background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-top:1px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;flex:0 0 auto;font-size:var(--now-font-size--xs,.625rem);line-height:normal;padding:.25rem .75rem .25rem .75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.consent-modal{font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);gap:.5rem;padding:.5rem 1.5rem 1.5rem 1.5rem}.consent-modal .consent-modal-content{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:1rem}.consent-modal .consent-modal-content .consent-intro{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:normal;line-height:1.5}.consent-modal .consent-modal-content .consent-how-it-works{align-self:stretch;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-radius:.25rem;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.consent-modal .consent-modal-content .consent-how-it-works .consent-how-it-works-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1.25rem;line-height:1.5;text-align:center}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list{display:flex;flex-direction:row;gap:.75rem}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list .consent-feature-item{align-items:flex-start;background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-radius:.25rem;display:flex;flex:1;flex-direction:row;gap:.5rem;padding:.75rem}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list .consent-feature-item now-icon{color:RGB(var(--now-color--primary-1,30,133,109));flex-shrink:0}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list .consent-feature-item .consent-feature-text{display:flex;flex-direction:column;gap:.25rem}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list .consent-feature-item .consent-feature-text .consent-feature-title{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-weight:400;line-height:1.5}.consent-modal .consent-modal-content .consent-how-it-works .consent-feature-list .consent-feature-item .consent-feature-text .consent-feature-description,.consent-modal .consent-modal-content .consent-warning{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:normal;line-height:1.5}.consent-modal .consent-modal-content .consent-checkbox{align-items:flex-start;align-self:stretch;display:grid;gap:.5rem}.consent-modal .consent-modal-content .consent-checkbox now-checkbox{--now-checkbox--font-weight:bold}.consent-modal .consent-modal-content .consent-checkbox .consent-note{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:normal;line-height:normal}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.voice-wave{align-items:center;display:flex;flex-shrink:0;gap:1.5px;height:20px;margin-left:.125rem;margin-right:auto}.voice-wave .voice-bar{background:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));border-radius:2px;height:2px;transition:height .25s ease-out,background .3s ease-out,border-radius .25s ease-out;width:2px}.voice-wave.voice-wave--ai .voice-bar.voice-bar--ai{background:linear-gradient(0deg,#86f673,#71d5fe);border-radius:4px;transition:none}.voice-wave.voice-wave--ai .voice-bar--ai-0{animation:wave-bar-0 .55s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-1{animation:wave-bar-1 .42s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-2{animation:wave-bar-2 .65s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-3{animation:wave-bar-3 .38s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-4{animation:wave-bar-4 .5s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-5{animation:wave-bar-5 .44s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-6{animation:wave-bar-6 .6s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-7{animation:wave-bar-7 .35s ease-in-out infinite alternate}.voice-wave.voice-wave--ai .voice-bar--ai-8{animation:wave-bar-8 .52s ease-in-out infinite alternate}@keyframes wave-bar-0{0%{height:2px}to{height:6px}}@keyframes wave-bar-1{0%{height:2px}to{height:11px}}@keyframes wave-bar-2{0%{height:3px}to{height:15px}}@keyframes wave-bar-3{0%{height:2px}to{height:18px}}@keyframes wave-bar-4{0%{height:4px}to{height:20px}}@keyframes wave-bar-5{0%{height:2px}to{height:16px}}@keyframes wave-bar-6{0%{height:3px}to{height:13px}}@keyframes wave-bar-7{0%{height:2px}to{height:9px}}@keyframes wave-bar-8{0%{height:2px}to{height:5px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ha-alerts.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ha-feedback.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ha-modeless-dialog.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ha-user-consent-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ha-voice-wave.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _assertThisInitialized(e) {\n  if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\nfunction _get() {\n  return module.exports = _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n    var p = superPropBase(e, t);\n    if (p) {\n      var n = Object.getOwnPropertyDescriptor(p, t);\n      return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n    }\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _get.apply(null, arguments);\n}\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n  return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n    return t.__proto__ || Object.getPrototypeOf(t);\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n  if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n  t.prototype = Object.create(e && e.prototype, {\n    constructor: {\n      value: t,\n      writable: !0,\n      configurable: !0\n    }\n  }), Object.defineProperty(t, \"prototype\", {\n    writable: !1\n  }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n  if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n  if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n  return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n  return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n    return t.__proto__ = e, t;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nfunction _superPropBase(t, o) {\n  for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););\n  return t;\n}\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"dangerouslyCreateElementFromString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t\t} else if ('dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.dangerouslyCreateElementFromString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getSysPropContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.__esModule\n\t\t\t\t\tif (cjsModule && 'getSysPropContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].getSysPropContext;\n\t\t\t\t\t} else if ('getSysPropContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.getSysPropContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].getSysPropContext;\n\t\t\t\t} });","import { getSysPropContext } from 'sn-ux-core';\n\n//Get system property value from context\nexport function getSysPropFromContext(context, propName) {\n\tconst ctx = getSysPropContext(propName);\n\treturn context[ctx];\n}\n\n// Returns bucket range for the given session time to analyze the average session duration for Dynamic Guidance usage.\nexport const getTimeRangeBucket = (secondsString) => {\n\tconst sec = parseInt(secondsString);\n\t\n\tif (sec < 30) {\n\t\treturn 'Less than 30 seconds';\n\t} else if (sec < 60) {\n\t\treturn '30 seconds - 1 minute';\n\t} else if (sec < 180) {\n\t\treturn '1 - 3 minutes';\n\t} else if (sec < 300) {\n\t\treturn '3 - 5 minutes';\n\t} else if (sec < 600) {\n\t\treturn '5 - 10 minutes';\n\t} else {\n\t\treturn 'More than 10 minutes';\n\t}\n};\n\nexport function generateRandomId(){\n\tconst randomId = Math.random().toString(36).slice(2);\n\treturn randomId;\n}\n\nexport const hasPropertyOfType = (value, expectedType) => {\n\treturn value !== undefined && value !== null && typeof value === expectedType;\n};\n\nexport const updatePausedTime = (popupElement) => {\n\tif (!popupElement || !popupElement.lastPauseTimestamp) return;\n\t\n\tconst pausedDuration = Date.now() - popupElement.lastPauseTimestamp;\n\tpopupElement.totalPausedTime += pausedDuration;\n\tpopupElement.lastPauseTimestamp = null;\n};\n\nexport const getPersonalizedGreeting = (isFirstTime = false) => {\n\tconst firstName = window?.ux_globals?.session?.output?.user?.firstName || '';\n\t\n\tif (isFirstTime) {\n\t\treturn `Hello ${firstName}. I am the Help bot to help you learn how to use ServiceNow. What can I help you with today?`;\n\t} else {\n\t\treturn `Hello ${firstName}, What can I help you with today?`;\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","export const DYNAMIC_GUIDANCE_ENABLED_SYS_PROP =\n\t\"com.glide.dynamic_guidance.enabled\";\n\nconst BASE_URL = \"/api/sn_help_assistant/dynamic_guidance\";\n\nexport const dataHandlerURLs = {\n\tCONFIG: `${BASE_URL}/config`,\n\tUSER_CONSENT: `${BASE_URL}/user_consent`,\n\tRAG_API: `${BASE_URL}/knowledge/query`,\n\tFEEDBACK: `${BASE_URL}/feedback`,\n\tOAUTH_CODE: `/oauth_auth.do`,\n\tOAUTH_TOKEN: `/oauth_token.do`,\n\tWEB_SOCKET_ENDPOINT: `/sncapps/llmgateway/ws/v1/browser/gcp/live`\n};\n\nexport const BASE_ACTION = \"SN_HELP_ASSISTANT#\";\n\nexport const dataHandlerActions = {\n\tHA_FETCH_CONFIG: `${BASE_ACTION}FETCH_CONFIG`,\n\tHA_FETCH_CONFIG_SUCCEEDED: `${BASE_ACTION}FETCH_CONFIG_SUCCEEDED`,\n\tHA_FETCH_CONFIG_FAILED: `${BASE_ACTION}FETCH_CONFIG_FAILED`,\n\n\tHA_FETCH_RAG_API: `${BASE_ACTION}FETCH_RAG_API`,\n\tHA_FETCH_RAG_API_SUCCEEDED: `${BASE_ACTION}FETCH_RAG_API_SUCCEEDED`,\n\tHA_FETCH_RAG_API_FAILED: `${BASE_ACTION}FETCH_RAG_API_FAILED`,\n\n\tHA_UPDATE_TOOL_CALL_ID: `${BASE_ACTION}UPDATE_TOOL_CALL_ID`,\n\n\tHA_FETCH_AUTH_TOKEN: `${BASE_ACTION}FETCH_AUTH_TOKEN`,\n\tHA_FETCH_AUTH_TOKEN_SUCCEEDED: `${BASE_ACTION}FETCH_AUTH_TOKEN_SUCCEEDED`,\n\tHA_FETCH_AUTH_TOKEN_FAILED: `${BASE_ACTION}FETCH_AUTH_TOKEN_FAILED`,\n\n\tHA_FETCH_AUTH_CODE: `${BASE_ACTION}AUTH_CODE_REQUESTED`,\n\n\tHA_SUBMIT_FEEDBACK: `${BASE_ACTION}SUBMIT_FEEDBACK`\n};\n\nexport const assistantServiceActions = {\n\tHA_LIVE_CLIENT_START: `${BASE_ACTION}HA_LIVE_CLIENT_START`,\n\tHA_LIVE_CLIENT_PAUSE: `${BASE_ACTION}HA_LIVE_CLIENT_PAUSE`,\n\tHA_LIVE_CLIENT_RESUME: `${BASE_ACTION}HA_LIVE_CLIENT_RESUME`,\n\tHA_LIVE_CLIENT_STOP: `${BASE_ACTION}HA_LIVE_CLIENT_STOP`,\n};\n\nexport const userConsentActions = {\n\t// Fetch User Consent Data Handler Actions\n\tHA_FETCH_USER_CONSENT: `${BASE_ACTION}FETCH_USER_CONSENT`,\n\tHA_FETCH_USER_CONSENT_SUCCEEDED: `${BASE_ACTION}FETCH_USER_CONSENT_SUCCEEDED`,\n\tHA_FETCH_USER_CONSENT_FAILED: `${BASE_ACTION}FETCH_USER_CONSENT_FAILED`,\n\t// Update User Consent Data Handler Actions\n\tHA_SUBMIT_USER_CONSENT: `${BASE_ACTION}SUBMIT_USER_CONSENT`,\n\tHA_SUBMIT_USER_CONSENT_SUCCEEDED: `${BASE_ACTION}SUBMIT_USER_CONSENT_SUCCEEDED`,\n\tHA_SUBMIT_USER_CONSENT_FAILED: `${BASE_ACTION}SUBMIT_USER_CONSENT_FAILED`,\n};\n\nexport const HA_RESET_STATE = `${BASE_ACTION}RESET_STATE`;\n\nexport const userRoles = {\n\tDYNAMIC_GUIDANCE_USER: 'sn_dyn_guidance_user',\n\tADMIN: 'admin'\n};\n\n\nexport const HA_ERROR_TRACK = `${BASE_ACTION}HA_ERROR_TRACK`; // Dispatched by sn-help-assistant internal flows to track errors.\n\nexport const TELEMETRY_METRIC = {\n\t// Aim is to get No of accounts using Dynamic Guidance.\n\t\"DYNAMIC_GUIDANCE_START\": \"Click Start For Dynamic Guidance\",\n\n\t// Aim is to get average session duration for Dynamic Guidance usage.\n\t\"DYNAMIC_GUIDANCE_STOP\": \"Click End For Dynamic Guidance\",\n\n\t// Aim is to get connection error count for Dynamic Guidance usage.\n\t\"DYNAMIC_GUIDANCE_CONNECTION_ERROR\": \"Error In Dynamic Guidance\",\n\n\t// Aim is to get feedback distribution for the Dynamic Guidance usage.\n\t\"DYNAMIC_GUIDANCE_THUMBS_UP\": \"Click Thumbs Up Submit For Dynamic Guidance\",\n\t\"DYNAMIC_GUIDANCE_THUMBS_DOWN\": \"Click Thumbs Down Feedback Pills for Dynamic Guidance\"\n};\n\nexport const TELEMETRY_ERROR_PAYLOAD = {\n\tINVALID_SECRET_KEY: \"Invalid secret key\",\n\tMISSING_WEB_SOCKET_URL_OR_EPHEMERAL_TOKEN: \"Missing WebSocket URL or ephemeralToken\",\n\tFETCH_CONFIG_FAIL: \"Failed to fetch config from API\",\n\tCLIENT_INITIALIZATION_FAIL: \"Issue initializing live client\",\n\tWEB_SOCKET_CONNECTION_ERROR: \"Could not connect to websocket URL\",\n\tPOOR_NETWORK_CONNECTION: \"Poor network connection\",\n\tPROVIDER_CONNECTION_ERROR: \"Provider connection error\"\n};\n\nexport const alertActions = {\n\tHA_NOTIFICATION_REQUESTED: `${BASE_ACTION}HA_NOTIFICATION_REQUESTED`,\n\tHA_NOTIFICATION_CLEAR_REQUESTED: `${BASE_ACTION}HA_NOTIFICATION_CLEAR_REQUESTED`,\n};\nexport const alertTypes = {\n\tERROR: 'error'\n};\n\nexport const UPDATE_MODELESS_DIALOG_CONTENT = `${BASE_ACTION}UPDATE_MODELESS_DIALOG_CONTENT`;\n\n\nexport const liveTranscriptionActions = {\n\tOUTPUT_TRANSCRIPTION: `output_transcription_combined`,\n\tINPUT_TRANSCRIPTION: `input_transcription_combined`,\n\tTRIM_TRANSCRIPT: `${BASE_ACTION}HA_TRIM_TRANSCRIPT`,\n\tCONTENT_RESET: `${BASE_ACTION}HA_CONTENT_RESET`\n};\n\nexport const MIC_AUDIO_CONTEXT_ID = \"mic-audio-context-id\";\n\nexport const HA_NETWORK_ERROR = `${BASE_ACTION}network.error`;\nexport const HA_OFFLINE = `offline`;\n\nexport const HA_NETWORK_ERROR_HANDLED = `${BASE_ACTION}HA_NETWORK_ERROR_HANDLER`;\nexport const HA_NETWORK_ERROR_OCCURRED = `${BASE_ACTION}HA_NETWORK_ERROR_OCCURRED`;\nexport const MAX_DELAYED_BUFFER_COUNT = 10;\nexport const MAX_DELAYED_LATENCY_ALLOWED_IN_MS = -1000;\n\nexport const HA_ACTIONS = {\n\tSTART_DYNAMIC_GUIDANCE: `${BASE_ACTION}START_DYNAMIC_GUIDANCE`,\n\tSTOP_DYNAMIC_GUIDANCE: `${BASE_ACTION}STOP_DYNAMIC_GUIDANCE`,\n\tPAUSE_DYNAMIC_GUIDANCE: `${BASE_ACTION}PAUSE_DYNAMIC_GUIDANCE`,\n\tRESUME_DYNAMIC_GUIDANCE: `${BASE_ACTION}RESUME_DYNAMIC_GUIDANCE`,\n\n\tDYNAMIC_GUIDANCE_STARTED: `${BASE_ACTION}DYNAMIC_GUIDANCE_STARTED`,\n\tDYNAMIC_GUIDANCE_ENDED: `${BASE_ACTION}DYNAMIC_GUIDANCE_ENDED`,\n\tDYNAMIC_GUIDANCE_PAUSED: `${BASE_ACTION}DYNAMIC_GUIDANCE_PAUSED`,\n\tDYNAMIC_GUIDANCE_RESUMED: `${BASE_ACTION}DYNAMIC_GUIDANCE_RESUMED`\n};\n\nexport const CANVAS_GLOBAL_ERROR = \"CANVAS_GLOBAL_ERROR\";\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {dataHandlerActions, dataHandlerURLs} from '../constants';\n\nexport const fetchRagApi = createHttpEffect(dataHandlerURLs.RAG_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t  'Content-Type': 'application/json'\n\t},\n\tdataParam: 'payload',\n\n\tsuccessActionType: dataHandlerActions.HA_FETCH_RAG_API_SUCCEEDED,\n\terrorActionType: dataHandlerActions.HA_FETCH_RAG_API_FAILED\n});\n\nexport const submitFeedback = createHttpEffect(dataHandlerURLs.FEEDBACK, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t  'Content-Type': 'application/json'\n\t},\n\tdataParam: 'payload'\n});","import { BASE_ACTION } from \"../../constants\";\n\n// Handles\nexport const HA_SCREEN_SHARE_START = `${BASE_ACTION}HA_SCREEN_SHARE_START`;\nexport const HA_SCREEN_SHARE_STOP = `${BASE_ACTION}HA_SCREEN_SHARE_STOP`;\nexport const HA_SCREEN_SHARE_PAUSE = `${BASE_ACTION}HA_SCREEN_SHARE_PAUSE`;\nexport const HA_SCREEN_SHARE_RESUME = `${BASE_ACTION}HA_SCREEN_SHARE_RESUME`;\n\n// Dispatches\nexport const HA_SCREEN_SHARE_SEND = `${BASE_ACTION}HA_SCREEN_SHARE_SEND`;","const map = new Map();\n\n// Use cached context, if not present then only create new for given id.\nfunction fetchAudioContext(options = {}) {\n\tif (options?.id && map.has(options.id)) {\n\t\tconst ctx = map.get(options.id);\n\t\tif (ctx) {\n\t\t\treturn ctx;\n\t\t}\n\t}\n\tconst ctx = new AudioContext(options);\n\tif (options?.id) {\n\t\tmap.set(options.id, ctx);\n\t}\n\treturn ctx;\n};\n\n// To check if any user interaction occured\nconst didInteract = new Promise((res) => {\n\twindow.addEventListener(\"pointerdown\", res, { once: true });\n\twindow.addEventListener(\"keydown\", res, { once: true });\n});\n\nexport const audioContext = (() => {\n\treturn async (options) => {\n\t\tlet audioCtx;\n\n\t\ttry {\n\t\t\taudioCtx = fetchAudioContext(options);\n\t\t} catch (e) {\n\t\t\tawait didInteract;\n\t\t\taudioCtx = fetchAudioContext(options);\n\t\t}\n\t\treturn audioCtx;\n\t};\n})();\n\nexport function blobToJSON(blob) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => {\n\t\t\tif (reader.result) {\n\t\t\t\tconst json = JSON.parse(reader.result);\n\t\t\t\tresolve(json);\n\t\t\t} else {\n\t\t\t\treject(\"oops\");\n\t\t\t}\n\t\t};\n\t\treader.readAsText(blob);\n\t});\n}\n\nexport function base64ToArrayBuffer(base64) {\n\tvar binaryString = atob(base64);\n\tvar bytes = new Uint8Array(binaryString.length);\n\tfor (let i = 0; i < binaryString.length; i++) {\n\t\tbytes[i] = binaryString.charCodeAt(i);\n\t}\n\treturn bytes.buffer;\n}\n\nexport function isBrowser(browserName) {\n\treturn new RegExp(browserName, 'i').test(navigator.userAgent);\n}\n\n/**\n * Checks if screen sharing is supported in the current browser.\n * Supported browsers: Chrome, Firefox, Edge (Edge User Agent includes 'Chrome')\n * Not supported: Safari\n */\nexport function isScreenShareSupported() {\n\treturn isBrowser('Chrome') || isBrowser('Firefox');\n}\n\nexport function setTracksEnabled(tracks, enabled) {\n\tif (!tracks || !Array.isArray(tracks)) return;\n\ttracks.forEach(track => track.enabled = enabled);\n}\n\nexport function addCookie(name, value, options = {}) {\n\tconst {\n\t\tpath = \"/\",\n\t\tmaxAge = 0,\n\t\tsecure = true,\n\t\tsameSite = 'Strict'\n\t} = options;\n\n\tlet cookieString = `${name}=${encodeURIComponent(value)}`;\n\n\tif (secure) {\n\t\tcookieString += '; Secure';\n\t}\n\n\tif (maxAge) {\n\t\tcookieString += `; max-age=${maxAge}`;\n\t}\n\n\tif (path) {\n\t\tcookieString += `; Path=${path}`;\n\t}\n\n\tif (sameSite) {\n\t\tcookieString += `; SameSite=${sameSite}`;\n\t}\n\n\tdocument.cookie = cookieString;\n}\n\nexport function removeCookie(name, options = {}) {\n\tconst { path = \"/\" } = options;\n\n\tdocument.cookie = `${name}=; max-age=0; Path=${path}`;\n}\n","import {\n\tHA_SCREEN_SHARE_START,\n\tHA_SCREEN_SHARE_SEND,\n\tHA_SCREEN_SHARE_STOP,\n\tHA_SCREEN_SHARE_PAUSE,\n\tHA_SCREEN_SHARE_RESUME,\n} from \"./actionNames\";\nimport { setTracksEnabled } from \"../utils\";\n\nconst HA_SCREEN_SHARE_DESTROY = `HA_SCREEN_SHARE_DESTROY`;\nconst HA_SCREEN_CAPTURE_SEND = `HA_SCREEN_CAPTURE_SEND`;\nconst HA_SCREEN_SHARE_ERROR = `HA_SCREEN_SHARE_ERROR`;\n\nexport const SCREENSHOT_INTERVAL_MS = 2000;\n\nexport default {\n\tname: \"ASSISTANT_SCREEN_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[HA_SCREEN_SHARE_START]: {\n\t\t\teffect: async (coeffects) => {\n\t\t\t\tconst { dispatch, updateState, action } = coeffects;\n\t\t\t\ttry {\n\t\t\t\t\tconst videoEle = document.createElement(\"video\");\n\t\t\t\t\tconst canvasEle = document.createElement(\"canvas\");\n\n\t\t\t\t\tconst { scaleFactor, videoQuality, captureFrequency } =\n\t\t\t\t\t\taction.payload?.options || {};\n\n\t\t\t\t\tconst SCALE_FACTOR = scaleFactor || 0.5; // Adjust this value to change the scale of the video.\n\t\t\t\t\tconst JPEG_QUALITY = videoQuality || 0.4; // JPEG quality for compression. 1 is for highest quality, 0 is for lowest quality.\n\t\t\t\t\tconst CAPTURE_FREQUENCY = captureFrequency || SCREENSHOT_INTERVAL_MS; // Default to 2 seconds\n\n\t\t\t\t\tconst displayMediaOptions = {\n\t\t\t\t\t\tvideo: true,\n\t\t\t\t\t\tpreferCurrentTab: true\n\t\t\t\t\t};\n\n\t\t\t\t\tconst stream = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);\n\t\t\t\t\tstream.getTracks().forEach((track) => {\n\t\t\t\t\t\t// If user clicks \"Stop sharing\" button on the browser window, stop the track\n\t\t\t\t\t\ttrack.addEventListener(\"ended\", () => {\n\t\t\t\t\t\t\tdispatch(HA_SCREEN_SHARE_STOP);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t\tvideoEle.setAttribute(\"autoplay\", true);\n\t\t\t\t\tvideoEle.srcObject = stream;\n\n\t\t\t\t\tconst context = canvasEle.getContext(\"2d\");\n\n\t\t\t\t\t// Initialize screen sharing settings\n\t\t\t\t\tconst timer = setInterval(() => {\n\t\t\t\t\t\tdispatch(HA_SCREEN_CAPTURE_SEND);\n\t\t\t\t\t}, CAPTURE_FREQUENCY);\n\n\t\t\t\t\tconst screenShareConfig = {\n\t\t\t\t\t\tscaleFactor: SCALE_FACTOR,\n\t\t\t\t\t\tvideoQuality: JPEG_QUALITY,\n\t\t\t\t\t\tcaptureFrequency: CAPTURE_FREQUENCY,\n\t\t\t\t\t\tvideoEle,\n\t\t\t\t\t\tcanvasEle,\n\t\t\t\t\t\tstream,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\ttimer,\n\t\t\t\t\t\tisPaused: false,\n\t\t\t\t\t};\n\t\t\t\t\tupdateState({ screenShareConfig });\n\t\t\t\t} catch (e) {\n\t\t\t\t\tdispatch(HA_SCREEN_SHARE_ERROR);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_CAPTURE_SEND]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst {\n\t\t\t\t\tstream,\n\t\t\t\t\tscaleFactor,\n\t\t\t\t\tvideoQuality,\n\t\t\t\t\tvideoEle,\n\t\t\t\t\tcanvasEle,\n\t\t\t\t\tcontext,\n\t\t\t\t\tisPaused,\n\t\t\t\t} = state.screenShareConfig;\n\n\t\t\t\t// Skip capture if paused\n\t\t\t\tif (isPaused) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Capture the screen\n\t\t\t\tif (\n\t\t\t\t\tstream &&\n\t\t\t\t\tvideoEle.videoWidth > 0 &&\n\t\t\t\t\tvideoEle.videoHeight > 0 &&\n\t\t\t\t\tcontext\n\t\t\t\t) {\n\t\t\t\t\tcanvasEle.width = videoEle.videoWidth * scaleFactor;\n\t\t\t\t\tcanvasEle.height = videoEle.videoHeight * scaleFactor;\n\t\t\t\t\tcontext.drawImage(videoEle, 0, 0, canvasEle.width, canvasEle.height);\n\n\t\t\t\t\tconst imageBase64Data = canvasEle\n\t\t\t\t\t\t.toDataURL(\"image/jpeg\", videoQuality)\n\t\t\t\t\t\t.split(\",\")[1]\n\t\t\t\t\t\t.trim();\n\n\t\t\t\t\tdispatch(HA_SCREEN_SHARE_SEND, imageBase64Data);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(HA_SCREEN_SHARE_ERROR);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_SHARE_PAUSE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, updateState } = coeffects;\n\t\t\t\tconst { stream } = state.screenShareConfig;\n\n\t\t\t\t// Disable video tracks to pause screen sharing\n\t\t\t\tif (stream) {\n\t\t\t\t\tsetTracksEnabled(stream.getVideoTracks(), false);\n\t\t\t\t}\n\n\t\t\t\t// Update the paused state\n\t\t\t\tupdateState({\n\t\t\t\t\tscreenShareConfig: {\n\t\t\t\t\t\t...state.screenShareConfig,\n\t\t\t\t\t\tisPaused: true,\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_SHARE_RESUME]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, updateState } = coeffects;\n\t\t\t\tconst { stream } = state.screenShareConfig;\n\n\t\t\t\t// Enable video tracks to resume screen sharing\n\t\t\t\tif (stream) {\n\t\t\t\t\tsetTracksEnabled(stream.getVideoTracks(), true);\n\t\t\t\t}\n\n\t\t\t\t// Update the paused state\n\t\t\t\tupdateState({\n\t\t\t\t\tscreenShareConfig: {\n\t\t\t\t\t\t...state.screenShareConfig,\n\t\t\t\t\t\tisPaused: false,\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_SHARE_ERROR]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { dispatch } = coeffects;\n\t\t\t\t// Handle screen share error\n\t\t\t\tdispatch(HA_SCREEN_SHARE_STOP);\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_SHARE_STOP]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { stream } = state.screenShareConfig || {};\n\t\t\t\tconst { liveClient } = state;\n\n\t\t\t\tif (stream) stream.getTracks().forEach((track) => track.stop());\n\n\t\t\t\t// Notify LLM that screen sharing has been stopped\n\t\t\t\tif (liveClient && typeof liveClient.sendText === 'function') {\n\t\t\t\t\tliveClient.sendText([{ text: \"System notification: Screen sharing has been stopped by the user.\" }], false);\n\t\t\t\t}\n\n\t\t\t\tdispatch(HA_SCREEN_SHARE_DESTROY);\n\t\t\t},\n\t\t},\n\t\t[HA_SCREEN_SHARE_DESTROY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, updateState } = coeffects;\n\t\t\t\t// Clean up screen share resources\n\t\t\t\tconst { timer } = state.screenShareConfig || {};\n\n\t\t\t\tif (timer) clearInterval(timer);\n\t\t\t\tupdateState({\n\t\t\t\t\tscreenShareConfig: null,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","import { SCREENSHOT_INTERVAL_MS } from \"../screen/index\";\nexport const mediaTypes = {\n\tAUDIO: \"audio\",\n\tSCREEN: \"screen\",\n\tTEXT: \"text\",\n};\n\n// Tool name constants\nexport const TOOL_NAMES = {\n\tSEARCH_KNOWLEDGE_BASE: \"search_knowledge_base\"\n};\n\nconst systemInstructionObject = {\n\tparts: [\n\t\t{\n\t\t\ttext: `You are a helpful and concise help agent within a ServiceNow instance. Your primary goal is to assist users with their ServiceNow-related questions.  You are currently interacting with a user who is using the Next Experience menu.\n\nInstructions:\n\nLanguage Handling: You will receive an initial greeting in English (\"Hi ServiceNow\"), but you should respond and continue the conversation in the language configured for this session. The speech synthesis language code indicates the user's preferred language - use that language for all your responses unless the user explicitly requests a different language.\n\nStep-by-Step Guidance: When you provide instructions or guidance that involve multiple steps, you must present only one step at a time. Do not list or summarize all steps in a single response. After giving one instruction, wait for the user to acknowledge completion using responses such as \"done,\" \"ok,\" \"yes,\" \"next,\" \"continue,\" \"got it,\" or similar. When the user acknowledges, immediately proceed to the next instruction without asking reconfirmation questions like \"Have you clicked...?\" or \"Did you complete...?\". Trust the user's acknowledgment and move forward.\n\nScreen Sharing Behavior:\nYou can see the user's screen ONLY when you are actively receiving screenshot images as part of the conversation input. Screenshots are sent approximately every ${SCREENSHOT_INTERVAL_MS / 1000} seconds when screen sharing is active.\n\nIf you receive a system notification saying \"Screen sharing has been stopped by the user\", you can no longer see the user's screen.\n\nIf a user asks \"can you see my screen?\":\n- If you are currently receiving screenshot images and have not received a notification that screen sharing stopped, respond \"Yes, I can see your screen.\"\n- If you received a notification that screen sharing has stopped, or if you have not received any screenshot images, respond \"No, I cannot see your screen. I can only provide guidance through conversation.\"\n\nWhen screen sharing is active, screenshots help you understand the user's context and progress. However, always wait for the user's verbal acknowledgment (such as \"done,\" \"ok,\" \"next,\" \"continue,\" etc.) before proceeding to the next instruction.\n\nUser Acknowledgment: When the user acknowledges completion by saying words like \"done,\" \"ok,\" \"yes,\" \"continue,\" \"next,\" \"proceed,\" \"go ahead,\" \"got it,\" or similar, immediately provide the next instruction. Do not ask for reconfirmation. User acknowledgment always takes priority - even if the screenshot doesn't show the action was completed, or if screen sharing is not active, proceed when the user confirms.\n\nIf you can't understand user message, ask user to repeat it.\n\nConcise and Helpful Responses: Provide clear, concise, and helpful responses to user queries. Avoid unnecessary jargon or overly technical explanations unless specifically requested by the user.\n\nNext Experience Context: Remember that the user is currently within the Next Experience menu. Tailor your responses and suggestions accordingly.\n\nUser Interaction: After your initial greeting, await the user's first message before providing any response.\n\nAction Limitations: You cannot perform any actions on behalf of the user such as clicking buttons, filling forms, navigating pages, or modifying settings. You can only provide information, guidance, and instructions. If a user asks you to perform an action, DO NOT claim you have done it or can do it. Instead, politely explain that you cannot perform actions and offer guidance on how the user can perform the action themselves.\n\nPause/Resume Behavior: The conversation may be paused and resumed by the user. When the conversation is paused or resumed, you will receive a notification message but you should NOT respond to these notifications. Simply maintain full context of the conversation across pause/resume cycles. If the user asks about previous parts of the conversation after resuming, continue from where you left off and reference earlier discussion as needed. Do not automatically repeat previous responses unless specifically asked by the user.\n\nConfidentiality of Implementation Details: Do NOT answer questions about internal implementation, architecture, APIs, or underlying models. If asked, respond with: \"I'm not allowed to answer any of these questions.\"`,\n\t\t}\n\t],\n};\n\n// Knowledge base search instructions that will be appended to system instructions when search is enabled\nexport const knowledgeBaseInstructions = `\n----------------------------------------------\nCRITICAL — KNOWLEDGE BASE TOOL USAGE BEHAVIOR\n----------------------------------------------\n\nWHEN TO USE THE TOOL vs WHEN TO ANSWER DIRECTLY:\n\nDO NOT use the search tool for:\n- Simple greetings: \"hi\", \"hello\", \"hey\", \"good morning\", \"how are you\"\n- Acknowledgments: \"okay\", \"thanks\", \"got it\", \"thank you\", \"alright\"\n- Clarifications: \"what do you mean\", \"can you explain\", \"I don't understand\"\n- Follow-up confirmations: \"yes\", \"no\", \"continue\", \"next\", \"go on\"\n- Small talk: \"how's it going\", \"nice to meet you\"\n- Questions about YOU: \"what can you do\", \"how can you help\", \"what are your capabilities\"\n\nALWAYS use the search tool for:\n- Specific ServiceNow feature questions: \"How do I create an incident?\"\n- Technical how-to questions: \"How to configure...\"\n- Troubleshooting: \"Why isn't... working?\"\n- Product-specific questions: \"What is the workflow for...\"\n- Documentation requests: \"Show me how to...\"\n- Any question about ServiceNow functionality, processes, or features\n\n----------------------------------------------\n\nFor questions that REQUIRE the search tool, follow this sequence:\n\n1. First respond with ONE of these messages in the user's language.\n   **IMPORTANT: Randomly select a DIFFERENT phrase for each new search. Do not repeat the same phrase consecutively.**\n\n   - \"I am looking into that for you…\"\n   - \"Let me search for that information…\"\n   - \"I'll find that for you…\"\n   - \"Searching for the details…\"\n   - \"Let me check that for you…\"\n   - \"I'll look that up…\"\n   - \"Checking the knowledge base…\"\n   - \"One moment while I search…\"\n\n2. Immediately call the ${TOOL_NAMES.SEARCH_KNOWLEDGE_BASE} tool with the user's query.\n\n3. Wait for the tool response.\n\n4. Process the response:\n\nIF THE TOOL RETURNS RELEVANT RESULTS:\n   - Use the information from the tool response to construct your answer\n   - Deliver a clear, concise answer based on what the tool returned\n   - Provide the information naturally WITHOUT preambles like \"Here's what I found\"\n   - Simply provide the information naturally\n\n   IF THE TOOL RETURNS EMPTY OR INSUFFICIENT RESULTS:\n   - Use your own knowledge and intelligence to answer the question\n   - Draw upon your understanding of ServiceNow concepts, features, and best practices\n   - Provide a helpful, accurate response based on general ServiceNow knowledge\n   - Be transparent by briefly mentioning: \"I don't have specific documentation on this, but based on ServiceNow best practices...\" or \"While I couldn't find detailed documentation, generally in ServiceNow...\"\n   - Suggest they verify with official ServiceNow documentation or their administrator for instance-specific details\n   - Offer to search for related topics that might help\n\n   Example of handling empty results:\n   User: \"How do I configure custom notifications in ITSM?\"\n   Tool returns: Empty results\n   You respond: \"I don't have specific documentation on that in our knowledge base, but based on ServiceNow best practices, custom notifications in ITSM are typically configured through System Notification > Email > Notifications. You'll create a new notification record, define the trigger conditions (like when an incident is created or updated), select the recipient users or groups, and customize the email subject and body. For detailed steps specific to your instance version, I'd recommend checking the official ServiceNow documentation or consulting your ServiceNow administrator. Would you like me to search for related notification topics?\"\n\n----------------------------------------------\n\nFor questions you can answer WITHOUT the tool (greetings, small talk, questions about your capabilities):\n- Answer directly and naturally\n- DO NOT say \"I am looking into that for you…\"\n- DO NOT call the ${TOOL_NAMES.SEARCH_KNOWLEDGE_BASE} tool\n- Keep it conversational and friendly\n\nExamples:\n- User: \"Hello\" → You: \"Hello! How can I help you with ServiceNow today?\"\n- User: \"What can you do?\" → You: \"I can help you with ServiceNow questions, guide you through processes, and search our knowledge base for specific information. What would you like to know?\"\n- User: \"Thanks\" → You: \"You're welcome! Let me know if you need anything else.\"\n\n----------------------------------------------\n\nImportant rules:\n- ONLY use the search tool for actual ServiceNow questions that need documentation or knowledge base lookups\n- For greetings and casual chat, respond directly without searching\n- When the tool returns results, those are your primary source of truth\n- When the tool returns empty results or returns insufficient results, use your own knowledge to provide helpful guidance\n- Once you have information (from tool or your knowledge), deliver it directly and naturally\n- Always be transparent about whether information comes from documentation or general knowledge\n\nYour goal is to provide accurate, up-to-date information by:\n- Recognizing when to search vs when to answer directly\n- Always searching the knowledge base for ServiceNow-specific questions\n- Using tool results when available\n- Using your own intelligence when tool returns empty results or insufficient results\n- Providing clear, helpful responses regardless of the information source\n- Being transparent about the source of your information\n\n----------------------------------------------\nEND OF INSTRUCTIONS\n----------------------------------------------\n`;\n\n// Search knowledge base tool definition\nexport const searchKnowledgeBaseTool = {\n\tfunctionDeclarations: [\n\t  {\n\t\tname: TOOL_NAMES.SEARCH_KNOWLEDGE_BASE,\n\t\tdescription: \"Search the ServiceNow knowledge base for information relevant to the user's query. This tool should be used when the agent is not confident answering from built-in knowledge.\",\n\t\tparameters: {\n\t\t  type: \"object\",\n\t\t  properties: {\n\t\t\tquery: {\n\t\t\t  type: \"string\",\n\t\t\t  description: \"The search query extracted from the user's question.\"\n\t\t\t}\n\t\t  },\n\t\t  required: [\"query\"]\n\t\t}\n\t  }\n\t]\n  };\n\nexport const LOG_PREFIX = \"[SN-HELP-ASSISTANT]\";\n\nexport function createFreshGeminiConfig() {\n\t// Create a manually constructed copy of the config to avoid reference issues\n\tconst baseConfig = {\n\t  model: \"projects/now-gemini-dev/locations/us-central-1/publishers/google/models/gemini-live-2.5-flash-preview-native-audio\",\n\t  generationConfig: {\n\t\tresponseModalities: \"audio\",\n\t\tspeechConfig: {\n\t\t  voiceConfig: { prebuiltVoiceConfig: { voiceName: \"Puck\" } },\n\t\t  languageCode: \"en-US\"\n\t\t},\n\t  },\n\t  systemInstruction: {\n\t\tparts: [\n\t\t  {\n\t\t\ttext: systemInstructionObject.parts[0].text\n\t\t  },\n\t\t  {\n            // Always include knowledge base instructions\n            text: knowledgeBaseInstructions\n          }\n\t\t]\n\t  },\n\t  tools: [\n\t\t// Always include search knowledge base tool\n        searchKnowledgeBaseTool\n\t  ],\n\t  outputAudioTranscription: {},\n\t  inputAudioTranscription: {},\n\t  sessionResumption: {handle: ''}\n\t};\n\n\treturn baseConfig;\n  }\n\nexport const supportedProviders = {\n\tgoogle: {\n\t\tGEMINI_FLASH: {\n\t\t\tname: \"gemini-flash\",\n\t\t\tconfig: createFreshGeminiConfig()\n\t\t},\n\t},\n};\n\n//Greetings\nexport const GREETINGS = 'Hi ServiceNow.';\nexport const LANGUAGE_PROMPT = 'Please respond in language:';\n\nexport const ERRORS = {\n\tCLIENT_RECONNECTION_FAILED: \"CLIENT_RECONNECTION_FAILED\",\n\tSERVER_INTERNAL_ERROR: \"SERVER_INTERNAL_ERROR\",\n};\n\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-alert';\nimport styles from './ha-alerts.scss';\n\nconst view = ({ properties: { items } }) => {\n\treturn (\n\t\t<div className=\"ha-alerts-container\">\n\t\t\t<now-alert-list items={items} manageItems />\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('ha-alerts', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tproperties: {\n\t\titems: {\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: { type: 'string' },\n\t\t\t\t\t\tstatus: { type: 'string' },\n\t\t\t\t\t\ticon: { type: 'string' },\n\t\t\t\t\t\tcontent: { type: 'object' },\n\t\t\t\t\t\taction: { type: 'object' },\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\t\n\tview,\t\n});","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import { t } from \"sn-translate\";\n\nexport const translatedTexts = {\n\tlauncherHeading: t(\"Dynamic Guidance\"),\n\tlauncherText: t(\"I am the Dynamic Guidance, your voice-enabled guide, here to answer your questions and walk you through solutions in real time.\"),\n\tlauncherStartButtonLabel: t(\"Start\"),\n\n\t//ha user consent modal\n\tconsentAllow: t('Allow'),\n\tconsentCancel: t('Cancel'),\n\tconsentHeading: t('Permission needed'),\n\tconsentIntro: t('To provide real-time, on-screen guidance and voice interactions, Dynamic Guidance needs access to your screen and microphone.'),\n\tconsentHowItWorks: t('How Dynamic Guidance works'),\n\tconsentContextAwareTitle: t('Context-aware'),\n\tconsentContextAwareTextSubTitle: t('Dynamic guidance answers questions and guides you step by step.'),\n\tconsentNaturalConversationsTitle: t('Natural conversations'),\n\tconsentNaturalConversationsTextSubTitle: t('Understands interruptions, tone, and casual cues.'),\n\tconsentTalkControlTitle: t('Talk control'),\n\tconsentTalkControlTextSubTitle: t('Control what you share by pausing the conversation as needed.'),\n\tconsentBrowserWarning: t('Some browsers may require you to share your entire screen, including all tabs and your desktop. Make sure you don\\'t share any sensitive data. Safari is currently not supported.'),\n\tconsentCheckboxLabel: t('I allow screen sharing and microphone access to enable real-time support.'),\n\tconsentNote: t('Note: Dynamic guidance is powered by Google\\'s Gemini API. By using this feature, you acknowledge and accept the'),\n\tconsentTermsOfService: t('Google Gemini API Terms of Service'),\n\n\t//Modeless Dialog labels\n\ttranscriptPlaceholderText: t(\"Hello! I’m your dynamic guidance here to answer your questions and walk you through the guidance you need.\"),\n\tcloseButtonAriaLabel: t(\"Close dynamic guidance popup\"),\n\tmodelessDialogHeading: t(\"Dynamic Guidance\"),\n\tmodelessDialogFooterText: t(\"Generated by AI. Check for accuracy.\"),\n\ttranscriptButtonLabel: t(\"Toggle transcript\"),\n\tassistantPausedText: t(\"Dynamic Guidance is on hold. To continue the session, click on the “Play” button.\"),\n\tPaused: t(\"Paused\"),\n\tLive: t(\"Live\"),\n\n\t//ha launcher labels\n\tlauncherLoadingLabel: t(\"Loading\"),\n\n\t//alerts\n\twebsocketError: t(\"Could not connect to websocket URL\"),\n\tmissingWebSocketURLorEphemeralToken: t(\"Missing WebSocket URL or ephemeralToken\"),\n\tfetchConfigFailed: t(\"API failed to fetch configuration\"),\n\tinvalidSecretKey: t(\"Invalid secret key. Please contact the administrator.\"),\n\tclientStopped: t('Your screen and mic are no longer being shared.'),\n\tsearchSourceNotConfigured: t(\"No search source configured. Please contact system administrator.\"),\n\n\t// fetch user consent\n\tfetchUserConsentFailed: t(\"Failed to fetch user consent\"),\n\tuserConsentSubmittedSuccesfully: t(\"User consent submitted successfully\"),\n\tfailedToSubmitUserConsent: t(\"Failed to submit user consent\"),\n\n\t// OAuth\n\tfailedToFetchOAuthCode: t(\"Something went wrong with your sign-in. Please contact your administrator.\"),\n\tfailedPKCEConfig: t(\"Something went wrong with your sign-in. Please refresh the page and try again.\"),\n\tfailedToGenerateAccessToken: t(\"Something went wrong with your sign-in. Please contact your administrator.\"),\n\n\tendButtonLabel: t(\"End\"),\n\n\tnetworkErrorMessage: t(\"Dynamic Guidance terminated due to poor network, please try again.\"),\n\terrorInProvider: t(\"Unable to connect with provider LLM. Please contact your administrator.\"),\n\n\tsessionInProgress: t(\"A Dynamic Guidance session is already in progress. Please end the current session before starting a new one.\"),\n\n\tsessionLimitReached: t(\"Your Dynamic Guidance session has reached the 30-minute limit. Start a new session from the Help Center or ask Otto.\"),\n};\n","/**\n * Constants for cross-tab communication\n */\n\n// Cross-tab action types that should be propagated across tabs\nexport const BROADCAST_ACTIONS = {\n\tDYNAMIC_GUIDANCE_REQUESTED: 'CROSS_TAB#DYNAMIC_GUIDANCE_REQUESTED',\n\tMODELESS_DIALOG_CLOSED: 'CROSS_TAB#MODELESS_DIALOG_CLOSED',\n\n\tSTATE_QUERY: 'CROSS_TAB#STATE_QUERY',\n\tSTATE_RESPONSE: 'CROSS_TAB#STATE_RESPONSE',\n\n\tTAB_CLOSED: 'CROSS_TAB#TAB_CLOSED',\n\n\tHEARTBEAT: 'CROSS_TAB#HEARTBEAT',\n\n\tPRIMARY_TAB_ESTABLISHED: 'CROSS_TAB#PRIMARY_TAB_ESTABLISHED',\n\n\tDYNAMIC_GUIDANCE_PAUSED: 'CROSS_TAB#DYNAMIC_GUIDANCE_PAUSED',\n\tDYNAMIC_GUIDANCE_RESUMED: 'CROSS_TAB#DYNAMIC_GUIDANCE_RESUMED',\n\n\tDYNAMIC_TRANSCRIPT_UPDATED: 'CROSS_TAB#DYNAMIC_TRANSCRIPT_UPDATED',\n\tDYNAMIC_VOICE_STARTED: 'CROSS_TAB#DYNAMIC_VOICE_STARTED',\n\tDYNAMIC_VOICE_STOPPED: 'CROSS_TAB#DYNAMIC_VOICE_STOPPED'\n};\n\nexport const CROSS_TAB_INITIALIZE_COMMUNICATION = `CROSS_TAB#INITIALIZE_COMMUNICATION`;\nexport const CROSS_TAB_HANDLE_STATE_QUERY = `CROSS_TAB#HANDLE_STATE_QUERY`;\nexport const CROSS_TAB_DISCONNECT = `CROSS_TAB#DISCONNECT`;\n","/**\n * BroadcastChannel middleware for cross-tab communication\n * Handles propagation of dynamic guidance actions across browser tabs\n */\nimport {BROADCAST_ACTIONS as broadcastActions} from \"./crossTabConstants\";\n\nclass CrossTabCommunicator {\n\tconstructor() {\n\t\tthis.channel = null;\n\t\tthis.tabId = null;\n\t\tthis.listeners = new Map();\n\t\tthis.stateQueryTimeout = null;\n\t\tthis.primaryTabId = null;\n\t\tthis.isPrimaryTab = false;\n\t\tthis.initializeChannel();\n\t\tthis.setupTabClosureDetection();\n\t}\n\n\t/**\n\t * Initialize the BroadcastChannel\n\t */\n\tinitializeChannel() {\n\t\ttry {\n\t\t\tconst channelName = `sn-help-assistant-cross-tab-${window.location.origin}`;\n\t\t\tthis.channel = new BroadcastChannel(channelName);\n\t\t\tthis.channel.addEventListener('message', this.handleMessage.bind(this));\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to initialize cross-tab communication:', error);\n\t\t}\n\t}\n\n\t/**\n\t * Handle incoming messages from other tabs\n\t * @param {MessageEvent} event\n\t */\n\thandleMessage(event) {\n\t\ttry {\n\t\t\tconst { type, payload, timestamp, tabId } = event.data;\n\n\t\t\t// Ignore messages from the same tab\n\t\t\tif (tabId === this.getTabId()) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Handle primary tab establishment\n\t\t\tif (type === broadcastActions.PRIMARY_TAB_ESTABLISHED) {\n\t\t\t\tthis.primaryTabId = payload.primaryTabId;\n\t\t\t\tthis.isPrimaryTab = (this.primaryTabId === this.getTabId());\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Call registered listeners for this action type\n\t\t\tconst listeners = this.listeners.get(type);\n\t\t\tif (listeners) {\n\t\t\t\tlisteners.forEach(listener => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlistener({ type, payload, timestamp, tabId });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error in cross-tab listener:', error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Error handling cross-tab message:', error);\n\t\t}\n\t}\n\n\t/**\n\t * Broadcast an action to other tabs\n\t * @param {string} type - Action type\n\t * @param {*} payload - Action payload\n\t */\n\tbroadcast(type, payload = null) {\n\t\tif (!this.channel) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst message = {\n\t\t\t\ttype,\n\t\t\t\tpayload,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\ttabId: this.getTabId()\n\t\t\t};\n\n\t\t\tthis.channel.postMessage(message);\n\t\t} catch (error) {\n\t\t\tconsole.error('Error broadcasting message:', error);\n\t\t}\n\t}\n\n\t/**\n\t * Register a listener for specific action types\n\t * @param {string} actionType - Action type to listen for\n\t * @param {Function} listener - Callback function\n\t */\n\taddListener(actionType, listener) {\n\t\tif (!this.listeners.has(actionType)) {\n\t\t\tthis.listeners.set(actionType, new Set());\n\t\t}\n\n\t\tthis.listeners.get(actionType).add(listener);\n\t}\n\n\t/**\n\t * Get unique tab identifier\n\t * @returns {string}\n\t */\n\tgetTabId() {\n\t\tif (!this.tabId) {\n\t\t\tthis.tabId = `tab_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n\t\t}\n\t\treturn this.tabId;\n\t}\n\n\t/**\n\t * Query state from other tabs with timeout and retry mechanism\n\t */\n\tqueryStateFromOtherTabs() {\n\t\t// Clear any existing timeout\n\t\tif (this.stateQueryTimeout) {\n\t\t\tclearTimeout(this.stateQueryTimeout);\n\t\t}\n\n\t\t// Add a small delay to ensure other tabs are ready\n\t\tsetTimeout(() => {\n\t\t\tthis.broadcast(broadcastActions.STATE_QUERY, {\n\t\t\t\ttabId: this.getTabId()\n\t\t\t});\n\t\t}, 100);\n\n\t\t// Set timeout to stop waiting for responses after 5 seconds\n\t\tthis.stateQueryTimeout = setTimeout(() => {\n\t\t\tthis.stateQueryTimeout = null;\n\t\t}, 5000);\n\t}\n\n\t/**\n\t * Set up tab closure detection\n\t */\n\tsetupTabClosureDetection() {\n\t\t// Listen for beforeunload event to detect tab closure\n\t\tconst handleBeforeUnload = () => {\n\t\t\t// Handle closure based on primary tab status\n\t\t\tthis.handlePrimaryTabClosure();\n\t\t};\n\n\t\twindow.addEventListener('beforeunload', handleBeforeUnload);\n\n\t\t// Store reference for cleanup\n\t\tthis._beforeUnloadHandler = handleBeforeUnload;\n\t}\n\n\t/**\n\t * Establish this tab as the primary tab (called when dynamic guidance starts)\n\t */\n\testablishAsPrimaryTab() {\n\t\tthis.isPrimaryTab = true;\n\t\tthis.primaryTabId = this.getTabId();\n\n\t\t// Broadcast to all other tabs that this is now the primary tab\n\t\tthis.broadcast(broadcastActions.PRIMARY_TAB_ESTABLISHED, {\n\t\t\tprimaryTabId: this.primaryTabId\n\t\t});\n\t}\n\n\t/*\n\t * Set the primary tab ID\n\t */\n\tsetPrimaryTabId(tabId) {\n\t\tthis.primaryTabId = tabId;\n\t\tthis.isPrimaryTab = (this.primaryTabId === this.getTabId());\n\t}\n\n\t/**\n\t * Reset primary tab status (called when dynamic guidance ends)\n\t */\n\treleasePrimaryTab() {\n\t\tthis.isPrimaryTab = false;\n\t\tthis.primaryTabId = null;\n\n\t\t// Broadcast to all other tabs that this is no longer the primary tab\n\t\tthis.broadcast(broadcastActions.PRIMARY_TAB_ESTABLISHED, {\n\t\t\tprimaryTabId: null\n\t\t});\n\t}\n\n\t/**\n\t * Check if this tab is the primary tab\n\t * @returns {boolean}\n\t */\n\tisPrimaryTabActive() {\n\t\treturn this.isPrimaryTab;\n\t}\n\n\t/**\n\t * Check if this tab is a secondary tab\n\t * @returns {boolean}\n\t */\n\tisSecondaryTabActive() {\n\t\treturn !this.isPrimaryTab && this.primaryTabId !== null && this.primaryTabId !== this.getTabId();\n\t}\n\n\t/**\n\t * Handle primary tab closure and elect new primary if needed\n\t */\n\thandlePrimaryTabClosure() {\n\t\tif (this.isPrimaryTab) {\n\t\t\t// This is the primary tab closing, broadcast closure\n\t\t\tthis.broadcast(broadcastActions.TAB_CLOSED, {\n\t\t\t\tclosedTabId: this.getTabId()\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Clean up resources\n\t */\n\tdestroy() {\n\t\t// Clear timeout\n\t\tif (this.stateQueryTimeout) {\n\t\t\tclearTimeout(this.stateQueryTimeout);\n\t\t\tthis.stateQueryTimeout = null;\n\t\t}\n\n\t\t// Remove event listeners\n\t\tif (this._beforeUnloadHandler) {\n\t\t\twindow.removeEventListener('beforeunload', this._beforeUnloadHandler);\n\t\t\tthis._beforeUnloadHandler = null;\n\t\t}\n\n\t\t// Close channel\n\t\tif (this.channel) {\n\t\t\tthis.channel.close();\n\t\t\tthis.channel = null;\n\t\t}\n\n\t\t// Clear state\n\t\tthis.tabId = null;\n\t\tthis.listeners.clear();\n\t\tthis.primaryTabId = null;\n\t\tthis.isPrimaryTab = false;\n\t}\n}\n\n// Create singleton instance\nconst crossTabCommunicator = new CrossTabCommunicator();\n\nexport default crossTabCommunicator;\n","import { UPDATE_MODELESS_DIALOG_CONTENT, liveTranscriptionActions } from '../../../../constants';\n\nconst WORD_DELAY_MS = 350;\nconst PAUSE_EXTRA_DELAY_MS = 200;\nconst PAUSE_CHARS_REGEX = /[.,;:!?]/;\n\nlet displayedText = '';\nlet latestTranscriptText = '';\n\nlet textDispatch = null;\nlet textTimer = null;\n\nlet inputTrimOffset = 0;\nlet outputTrimOffset = 0;\n\nlet lastOutputTranscript = '';\nlet lastInputTranscript = '';\n\nlet lastSpeakerType = null; // tracks which speaker was updated last: op/ip/null\n\n// Keeps a number within the range [min, max], for safe string slicing\nconst checkForStrSlicing = (val, min, max) => Math.max(min, Math.min(max, val));\n\n// trims gemini's output chunk array and dispatches updated text\nexport const trimOutputTranscript = (count, dispatch) => {\n    const currentLength = lastOutputTranscript.length;\n    outputTrimOffset = checkForStrSlicing(outputTrimOffset + count, 0, currentLength);\n    \n    if (dispatch) {\n        renderOutput(dispatch);\n    }\n};\n\n\nconst renderOutput = (dispatch) => {\n    const fullText = lastOutputTranscript;\n    const len = fullText.length;\n    \n    // Ensure offset is within bounds\n    outputTrimOffset = checkForStrSlicing(outputTrimOffset, 0, len);\n    \n    // Get visible portion and initiate reveal\n    const visibleText = fullText.slice(outputTrimOffset);\n    latestTranscriptText = visibleText;\n    displayedText = '';\n    \n    scheduleTextReveal(0);\n};\n\n\nexport const trimCharsFromFront = (chunks, count) => {\n    if (!Array.isArray(chunks)) return '';\n    let charsToRemove = Math.max(0, count);\n\n    while (charsToRemove > 0 && chunks.length) {\n        if (chunks[0].length <= charsToRemove) {\n            charsToRemove -= chunks[0].length;\n            chunks.shift();\n        } else {\n            chunks[0] = chunks[0].slice(charsToRemove);\n            break;\n        }\n    }\n    return chunks.join('');\n};\n\n// Dispatches content update to the modeless dialog\nconst pushContent = (dispatch, text) => {\n    dispatch(UPDATE_MODELESS_DIALOG_CONTENT, text);\n};\n\n// On discontinuity, jump to the target immediately\nconst jumpToTranscriptNow = (dispatch) => {\n    displayedText = latestTranscriptText;\n    pushContent(dispatch, displayedText);\n};\n\n// function that prepares the current i/p transcript for display\nconst renderInput = (dispatch) => {\n    const len = lastInputTranscript.length;\n    \n    // Ensure offset is within bounds\n    inputTrimOffset = checkForStrSlicing(inputTrimOffset, 0, len);\n    // If offset is inside a word, move to next space\n    if (inputTrimOffset > 0 && inputTrimOffset < len && /\\S/.test(lastInputTranscript[inputTrimOffset - 1]) && /\\S/.test(lastInputTranscript[inputTrimOffset])) {\n        const nextSpace = lastInputTranscript.indexOf(' ', inputTrimOffset);\n        inputTrimOffset = nextSpace !== -1 ? nextSpace + 1 : len;\n    }\n    pushContent(dispatch, lastInputTranscript.slice(inputTrimOffset));\n};\n\n// ensures only one reveal timer runs at a time and cancels any pending animation\n// to stop the reveal animation when the transcript is reset or trimmed\nconst clearTranscriptTimer = () => {\n    if (textTimer) {\n        clearTimeout(textTimer);\n        textTimer = null;\n    }\n};\n\n// Stop any pending word-by-word reveal immediately\nexport const stopTranscriptReveal = () => {\n    clearTranscriptTimer();\n};\n\n// schedules the next step of the word-by-word reveal animation\nconst scheduleTextReveal = (delay = WORD_DELAY_MS) => {\n    if (textTimer) return;\n    textTimer = setTimeout(wordByWordReveal, delay);\n};\n\nconst wordByWordReveal = () => {\n    textTimer = null;\n    if (!textDispatch || !latestTranscriptText) return;\n\n    // If target no longer starts with displayed (after trim), jump to target\n    if (!latestTranscriptText.startsWith(displayedText)) {\n        jumpToTranscriptNow(textDispatch);\n        return;\n    }\n    // if everything is already revealed, exit\n    if (displayedText.length >= latestTranscriptText.length) return;\n\n    // Compute the next chunk word to display using space index, reveal next word with space\n    const start = displayedText.length;\n    const end = latestTranscriptText.indexOf(' ', start) + 1 || latestTranscriptText.length;\n    const chunk = latestTranscriptText.slice(start, end);\n    displayedText += chunk;\n\n    pushContent(textDispatch, displayedText);\n\n    let nextDelay = WORD_DELAY_MS;\n    if (PAUSE_CHARS_REGEX.test(chunk)) nextDelay += PAUSE_EXTRA_DELAY_MS;\n    scheduleTextReveal(nextDelay);\n};\n\nconst onNewOutputTranscript = (dispatch, text) => {\n    textDispatch = dispatch;\n\n    const nextTranscript = text;\n    \n    // Detect new conversation turn: if transcript shrinks, it's a new response\n    // Reset offset to ensure new response is fully visible\n    const isProbablyNewResponse = nextTranscript.length < lastOutputTranscript.length;\n    if (isProbablyNewResponse && nextTranscript.length < outputTrimOffset) {\n        outputTrimOffset = 0;\n    }\n    \n    // Apply offset to get visible portion\n    const visibleText = nextTranscript.slice(outputTrimOffset);\n    \n    // Wait for more content if offset hides everything\n    if (visibleText.length === 0) {\n        latestTranscriptText = '';\n        return;\n    }\n    \n    const isDiscontinuity = !visibleText.startsWith(displayedText);\n    latestTranscriptText = visibleText;\n\n    if (isDiscontinuity) {\n        // Text jumped, clear and restart reveal immediately\n        displayedText = '';\n        scheduleTextReveal(0);\n        return;\n    }\n    // Otherwise, continue smooth reveal\n    scheduleTextReveal();\n};\n\nexport const getLastUpdateType = () => lastSpeakerType;\n\n// called whenever a new o/p transcript from live api is received\nexport const handleOutputTranscription = (dispatch, payload) => {\n    const newOutputTranscript = String(payload);\n    lastSpeakerType = 'output';\n    lastOutputTranscript = newOutputTranscript;\n    onNewOutputTranscript(dispatch, lastOutputTranscript);\n};\n\n// called whenever a new i/p transcript from live api is received\nexport const handleInputTranscription = (dispatch, payload) => {\n    const newInputTranscript = String(payload);\n    lastSpeakerType = 'input';\n    lastInputTranscript = newInputTranscript;\n    \n    // Reset output offset when user speaks \n    if (outputTrimOffset > 0) {\n        outputTrimOffset = 0;\n    }\n    \n    renderInput(dispatch);\n};\n\n//Increases the input trim offset by size, triggers render function\nexport const trimInputLocally = (size, dispatch) => {\n    inputTrimOffset = checkForStrSlicing(inputTrimOffset + size, 0, lastInputTranscript.length);\n    renderInput(dispatch);\n};\n\nexport const resetAll = () => {\n    clearTranscriptTimer();\n    displayedText = '';\n    latestTranscriptText = '';\n    textDispatch = null;\n    lastOutputTranscript = '';\n    lastSpeakerType = null;\n    inputTrimOffset = 0;\n    outputTrimOffset = 0;\n    lastInputTranscript = '';\n    \n};\n\nexport default {\n    getLastUpdateType,\n    handleOutputTranscription,\n    handleInputTranscription,\n    trimInputLocally,\n    resetAll,\n};","// Helper function to send tool response to Gemini\nexport const sendToolResponse = ({state, action, updateState}) => {\n    if (!state.liveClient || typeof state.liveClient.sendToolResponse !== 'function') {\n        return;\n    }\n    \n    const { result } = action.payload;\n    const toolCallId = state.currentToolCallId;\n\n    // Let the client handle construction of the response object\n    state.liveClient.sendToolResponse({\n        toolCallId,\n        result\n    });\n\n    updateState({\n        currentToolCallId: null\n    });\n};","export const observable = (function () {\n\tlet instance;\n\n\tfunction init() {\n\t\tconst handlers = new Map();\n\t\treturn {\n\t\t\t/**\n\t\t\t * Subscribes the handler to given name\n\t\t\t * @param name\n\t\t\t * @param handler\n\t\t\t */\n\t\t\tsubscribe(name, handler) {\n\t\t\t\tlet actionHandlers = handlers.get(name);\n\t\t\t\tif(!actionHandlers)\n\t\t\t\t\tactionHandlers = [];\n\n\t\t\t\tactionHandlers.push(handler);\n\t\t\t\thandlers.set(name, actionHandlers);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Unsubscribe handlers of given name\n\t\t\t * @param name\n\t\t\t */\n\t\t\tunsubscribe(name) {\n\t\t\t\tdelete handlers.delete(name);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Triggers all handlers of given name with payload\n\t\t\t * @param name\n\t\t\t * @param payload\n\t\t\t */\n\t\t\ttrigger(name, payload) {\n\t\t\t\tsetTimeout(()=>{\n\t\t\t\t\thandlers.get(name).forEach( handler => handler(payload) );\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {\n\t\t/**\n\t\t * Use this function to load observable in your files. Makes sure there will be only one instance of\n\t\t * observable(Singleton).\n\t\t * @returns {{subscribe(*, *=): void, unsubscribe(*): void, trigger(*, *=): void}}\n\t\t */\n\t\tgetInstance () {\n\t\t\tif (!instance)\n\t\t\t\tinstance = init();\n\n\t\t\treturn instance;\n\t\t}\n\t};\n})();\n","import {actionTypes} from '@servicenow/ui-core';\nimport {getSysPropFromContext, getTimeRangeBucket} from '../commons/utils';\nimport {fetchRagApi, submitFeedback} from './dataHandlers';\nimport {TELEMETRY_METRIC, HA_ERROR_TRACK, dataHandlerActions, DYNAMIC_GUIDANCE_ENABLED_SYS_PROP, TELEMETRY_ERROR_PAYLOAD, liveTranscriptionActions, HA_NETWORK_ERROR_HANDLED, HA_NETWORK_ERROR_OCCURRED, alertTypes, HA_OFFLINE, CANVAS_GLOBAL_ERROR} from '../constants';\nimport {assistantServiceActions, alertActions, HA_ACTIONS} from '../constants';\nimport {supportedProviders} from '../behaviors/live-client/constants';\nimport track from '@devsnc/ux-metrics';\nimport { userRoles } from '../constants';\nimport '../../components/presentational/ha-alerts';\nimport { translatedTexts as t} from '../../commons/i18n';\nimport crossTabCommunicator from '../behaviors/crossTabCommunicator/crossTabCommunicator';\nimport {\n    trimOutputTranscript,\n    trimInputLocally,\n    resetAll,\n} from '../behaviors/live-client/google-gemini/transcript/transcriptController';\nimport {\n    BROADCAST_ACTIONS, CROSS_TAB_DISCONNECT,\n    CROSS_TAB_INITIALIZE_COMMUNICATION\n} from '../behaviors/crossTabCommunicator/crossTabConstants';\nimport {sendToolResponse} from './toolResponseUtils';\nimport { observable } from '../observable';\nconst messageQueue = observable.getInstance();\n\nlet networkErrorHandler = null;\n\nexport const actionHandlers = {\n\n    [actionTypes.COMPONENT_CONNECTED]: (coeffects) => {\n        const { context, updateState, dispatch } = coeffects;\n        let propertyValue = getSysPropFromContext(context, DYNAMIC_GUIDANCE_ENABLED_SYS_PROP);\n        propertyValue = propertyValue && (propertyValue === true || propertyValue.toString().toLowerCase() === 'true');\n\n        const currentUserRoles = window?.ux_globals?.session?.output?.user?.roles;\n        const isUserHaveAccess = currentUserRoles && (currentUserRoles.includes(userRoles.DYNAMIC_GUIDANCE_USER) || currentUserRoles.includes(userRoles.ADMIN));\n        const enableHelpAssistant = propertyValue && isUserHaveAccess;\n            networkErrorHandler = () => {\n                dispatch(HA_NETWORK_ERROR_HANDLED);\n            };\n\n        updateState({ enableHelpAssistant });\n\n        if (enableHelpAssistant) {\n            window.addEventListener(HA_OFFLINE, networkErrorHandler);\n            window.addEventListener(CANVAS_GLOBAL_ERROR, (e) => {\n                if (e?.detail?.payload?.type === 'AMB_EVENT_SESSION_LOGGED_OUT') {\n                    dispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE);\n                }\n            });\n        }\n\n        dispatch(CROSS_TAB_INITIALIZE_COMMUNICATION);\n\n        messageQueue.subscribe(HA_ACTIONS.START_DYNAMIC_GUIDANCE, (payload) => {\n            dispatch(HA_ACTIONS.START_DYNAMIC_GUIDANCE, payload);\n        });\n        messageQueue.subscribe(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE, () => {\n            dispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE);\n        });\n        messageQueue.subscribe(HA_ACTIONS.PAUSE_DYNAMIC_GUIDANCE, () => {\n            dispatch(HA_ACTIONS.PAUSE_DYNAMIC_GUIDANCE);\n        });\n    },\n\n    [HA_NETWORK_ERROR_OCCURRED]: (coeffects) => {\n        const {dispatch} = coeffects;\n        dispatch(HA_NETWORK_ERROR_HANDLED);\n        dispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n            message: {\n                type: alertTypes.ERROR,\n                text: t.networkErrorMessage,\n                dismissable: false\n            }\n        });\n    },\n\n    [HA_NETWORK_ERROR_HANDLED]: (coeffects) => {\n        const {dispatch} = coeffects;\n        if (crossTabCommunicator.isPrimaryTabActive()) {\n            dispatch(HA_ERROR_TRACK, {\"TYPE\": TELEMETRY_ERROR_PAYLOAD.POOR_NETWORK_CONNECTION});\n            dispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE);\n        }\n    },\n\n    [actionTypes.COMPONENT_DISCONNECTED]: ({dispatch}) => {\n        dispatch(CROSS_TAB_DISCONNECT);\n        resetAll();\n        window.removeEventListener(HA_OFFLINE, networkErrorHandler);\n    },\n\n    [HA_ACTIONS.START_DYNAMIC_GUIDANCE]: {\n        effect: (coeffects) => {\n            const {dispatch, updateState, action} = coeffects;\n            if (crossTabCommunicator.isSecondaryTabActive() || crossTabCommunicator.isPrimaryTabActive()) {\n                dispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n                    message: {\n                        type: 'error',\n                        text: t.sessionInProgress\n                    }\n                });\n                return;\n            }\n            const {src, conversationId} = action.payload || {};\n\n            updateState({\n                conversationIdNAP: conversationId || \"\"\n            });\n\n            track(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_START, {src: src || \"\"});\n\n            dispatch(assistantServiceActions.HA_LIVE_CLIENT_START, { provider: supportedProviders.google.GEMINI_FLASH.name, withScreen: true});\n            crossTabCommunicator.establishAsPrimaryTab();\n        },\n        stopPropagation: true\n    },\n    [HA_ACTIONS.STOP_DYNAMIC_GUIDANCE]: {\n        effect: (coeffects) => {\n            const {action, dispatch, state} = coeffects;\n            if (crossTabCommunicator.isSecondaryTabActive()) {\n                dispatch('HA_MODELESS_DIALOG_CLOSE');\n                return;\n            }\n            dispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.MODELESS_DIALOG_CLOSED);\n\n            if (action.payload?.isUserInitiated) {\n                const { totalPausedTime, isPaused, pauseTimestamp, startTime } = state;\n\n                let updatedTotalPausedTime = totalPausedTime || 0;\n\n                if (isPaused && pauseTimestamp) {\n                    const finalPausedDuration = Date.now() - pauseTimestamp;\n                    updatedTotalPausedTime = (totalPausedTime || 0) + finalPausedDuration;\n                }\n\n                const totalActiveSessionTime = startTime\n                    ? Math.floor(\n                            (Date.now() - startTime - (updatedTotalPausedTime || 0)) / 1000,\n                        )\n                    : 0;\n\n                track(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_STOP, {\n                    Duration: getTimeRangeBucket(totalActiveSessionTime),\n                });\n            }\n        },\n        stopPropagation: true\n    },\n    [HA_ACTIONS.PAUSE_DYNAMIC_GUIDANCE]: {\n        effect: ({updateState, dispatch}) => {\n            updateState({\n                isPaused: true\n            });\n            dispatch(assistantServiceActions.HA_LIVE_CLIENT_PAUSE);\n        },\n        stopPropagation: true\n    },\n    [HA_ACTIONS.RESUME_DYNAMIC_GUIDANCE]: {\n        effect: ({updateState, dispatch}) => {\n            updateState({\n                isPaused: false,\n                content: ''\n            });\n            dispatch(assistantServiceActions.HA_LIVE_CLIENT_RESUME);\n        },\n        stopPropagation: true\n    },\n\n    [HA_ACTIONS.DYNAMIC_GUIDANCE_STARTED]: {\n        effect: (coeffects) => {\n            const {dispatch, updateState, state} = coeffects;\n            dispatch('HA_MODELESS_DIALOG_OPEN');\n            const startTime = Date.now();\n            const heartbeatIntervalId = setInterval(() => {\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.HEARTBEAT);\n            }, 2000);\n            updateState({heartbeatIntervalId, startTime});\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_REQUESTED, {\n                startTime\n            });\n            if (state.conversationIdNAP) {\n                window?.nowWindowManager?.closeWindow('now-ai-canvas-window', true);\n            }\n        }\n    },\n    [HA_ACTIONS.DYNAMIC_GUIDANCE_PAUSED]: {\n        effect: ({updateState}) => {\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_PAUSED);\n            const pauseTimestamp = Date.now();\n            updateState({\n                pauseTimestamp\n            });\n        }\n    },\n    [HA_ACTIONS.DYNAMIC_GUIDANCE_RESUMED]: {\n        effect: ({state, updateState}) => {\n            const {pauseTimestamp, totalPausedTime} = state;\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_RESUMED);\n            const pauseTime = Date.now() - pauseTimestamp;\n            updateState({\n                pauseTimestamp: null,\n                totalPausedTime: totalPausedTime + pauseTime\n            });\n        }\n    },\n    [HA_ACTIONS.DYNAMIC_GUIDANCE_ENDED]: {\n        effect: ({state, dispatch}) => {\n            const {heartbeatIntervalId} = state;\n            dispatch('HA_MODELESS_DIALOG_CLOSE');\n            crossTabCommunicator.broadcast(BROADCAST_ACTIONS.MODELESS_DIALOG_CLOSED);\n            crossTabCommunicator.releasePrimaryTab();\n            if (heartbeatIntervalId)\n                clearInterval(heartbeatIntervalId);\n        }\n    },\n\n    [HA_ERROR_TRACK]: (coeffects) => {\n        const {action, state} = coeffects;\n        const {TYPE} = action.payload;\n        if (TYPE) {\n            track(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_CONNECTION_ERROR, {\n                \"Error Type\": TYPE,\n                \"Provider\": state.provider\n            });\n        }\n    },\n\n\t[liveTranscriptionActions.TRIM_TRANSCRIPT]: ({ dispatch, action }) => {\n        const size = action?.payload?.size || 0;\n        const channel = action?.payload?.channel; //ip/op/null\n        if (!size) return; // invalid, do nothing\n\n        if (channel === 'input') {\n            return trimInputLocally(size, dispatch);\n        }\n        if (channel === 'output') {\n            return trimOutputTranscript(size, dispatch);\n        }\n    },\n\n    // RAG API Handlers\n    [dataHandlerActions.HA_FETCH_RAG_API]: fetchRagApi,\n\n    [dataHandlerActions.HA_UPDATE_TOOL_CALL_ID]: ({action, updateState}) => {\n        const { toolCallId } = action.payload || {};\n\n        if (toolCallId) {\n            updateState({\n                currentToolCallId: toolCallId\n            });\n        }\n    },\n\n    [dataHandlerActions.HA_FETCH_RAG_API_SUCCEEDED]: sendToolResponse,\n\n    [dataHandlerActions.HA_FETCH_RAG_API_FAILED]: sendToolResponse,\n\n    // Feedback API Handlers\n    [dataHandlerActions.HA_SUBMIT_FEEDBACK]: submitFeedback\n}\n","export const USER_CONSENT_CANCELLED = 'HA_USER_CONSENT_MODAL#USER_CONSENT_CANCELLED';\nexport const USER_CONSENT_ACCEPTED = 'HA_USER_CONSENT_MODAL#USER_CONSENT_ACCEPTED';\nexport const DYNAMIC_GUIDANCE_REQUESTED = 'HA_USER_CONSENT_MODAL#GUIDANCE_REQUESTED';\nexport const USER_CONSENT_MODAL_CLOSED = 'HA_USER_CONSENT_MODAL#USER_CONSENT_MODAL_CLOSED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from \"./ha-user-consent-modal.scss\";\nimport { translatedTexts as t } from \"../../../commons/i18n\";\nimport { USER_CONSENT_CANCELLED, USER_CONSENT_ACCEPTED, USER_CONSENT_MODAL_CLOSED } from '../ha-user-consent-modal/constants';\nimport \"@servicenow/now-modal\";\nimport \"@servicenow/now-icon\";\nimport \"@servicenow/now-checkbox\";\n\nconst view = (state) => {\n\tconst { isAgreeDisabled } = state;\n\treturn (\n\t\t<now-modal\n\t\t\topened={true}\n\t\t\theader-label={t.consentHeading}\n\t\t\tsize=\"lg\"\n\t\t\tcontentFullWidth=\"true\"\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\t\"variant\": \"primary\",\n\t\t\t\t\t\"label\": t.consentAllow,\n\t\t\t\t\t\"clickActionType\": USER_CONSENT_ACCEPTED,\n\t\t\t\t\t\"disabled\": isAgreeDisabled\n\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"variant\": \"tertiary\",\n\t\t\t\t\t\"label\": t.consentCancel,\n\t\t\t\t\t\"clickActionType\": USER_CONSENT_CANCELLED\n\t\t\t\t}\n\t\t\t]}\n\t\t>\n\t\t\t<div className=\"consent-modal\">\n\t\t\t\t<div className=\"consent-modal-content\">\n\t\t\t\t\t<div className=\"consent-intro\">\n\t\t\t\t\t\t<span>{t.consentIntro}<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div className=\"consent-how-it-works\">\n\t\t\t\t\t\t<div className=\"consent-how-it-works-title\">{t.consentHowItWorks}<\/div>\n\t\t\t\t\t\t<div className=\"consent-feature-list\">\n\t\t\t\t\t\t\t<div className=\"consent-feature-item\">\n\t\t\t\t\t\t\t\t<now-icon className=\"feature-icon\" icon=\"cursor-button-outline\" size=\"lg\" />\n\t\t\t\t\t\t\t\t<div className=\"consent-feature-text\">\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-title\">{t.consentContextAwareTitle}<\/span>\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-description\">{t.consentContextAwareTextSubTitle}<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div className=\"consent-feature-item\">\n\t\t\t\t\t\t\t\t<now-icon className=\"feature-icon\" icon=\"ongoing-outline\" size=\"lg\" />\n\t\t\t\t\t\t\t\t<div className=\"consent-feature-text\">\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-title\">{t.consentNaturalConversationsTitle}<\/span>\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-description\">{t.consentNaturalConversationsTextSubTitle}<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div className=\"consent-feature-item\">\n\t\t\t\t\t\t\t\t<now-icon className=\"feature-icon\" icon=\"gear-changes-outline\" size=\"lg\" />\n\t\t\t\t\t\t\t\t<div className=\"consent-feature-text\">\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-title\">{t.consentTalkControlTitle}<\/span>\n\t\t\t\t\t\t\t\t\t<span className=\"consent-feature-description\">{t.consentTalkControlTextSubTitle}<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div className=\"consent-warning\">\n\t\t\t\t\t\t<span>{t.consentBrowserWarning}<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div className=\"consent-checkbox\">\n\t\t\t\t\t\t<now-checkbox label={t.consentCheckboxLabel} />\n\t\t\t\t\t\t<div className=\"consent-note\">\n\t\t\t\t\t\t\t{t.consentNote} <now-text-link label={t.consentTermsOfService} href=\"https://developers.google.com/terms\" variant=\"secondary\" opensWindow={true} />.\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/now-modal>\n\t);\n};\n\ncreateCustomElement(\"ha-user-consent-modal\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tinitialState: {\n\t\tisAgreeDisabled: true\n\t},\n\tactionHandlers: {\n\t\t['NOW_CHECKBOX#CHECKED_SET']: {\n\t\t\teffect: ({ updateState, action }) => {\n\t\t\t\tupdateState({ isAgreeDisabled: !action.payload.value });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[USER_CONSENT_CANCELLED]: ({ dispatch }) => {\n\t\t\tdispatch(USER_CONSENT_MODAL_CLOSED);\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({ dispatch }) => {\n\t\t\t\tdispatch(USER_CONSENT_CANCELLED)\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t}\n\t}\n});","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const MODELESS_DIALOG_CLOSED = 'HA_MODELESS_DIALOG#CLOSED';\nexport const CLOSE_MODELESS_DIALOG = \"HA_MODELESS_DIALOG#CLOSE_REQUESTED\";\nexport const MAX_HEIGHT = 220;\nexport const MIN_HEIGHT = 88;\nexport const MAX_WIDTH = 330;\nexport const TOGGLE_TRANSCRIPT = \"HA_MODELESS_DIALOG#TOGGLE_TRANSCRIPT\";\nexport const AI_SPARKLE_ICON = \"ai-sparkle-fill\";\nexport const PAUSE_ICON = \"pause-outline\";\nexport const PLAY_ICON = \"play-fill\";\nexport const RECORD_ICON = \"circle-record-outline\";\n\nconst BASE_ACTION = \"HA_MODELESS_DIALOG#\";\n\nexport const MODAL_ACTIONS = {\n    PAUSE_CLICKED: `${BASE_ACTION}PAUSE_CLICKED`,\n    TRANSCRIPT_CLICKED: `${BASE_ACTION}TRANSCRIPT_CLICKED`,\n    END_CLICKED: `${BASE_ACTION}END_CLICKED`,\n};","import { actionTypes } from \"@servicenow/ui-core\";\nimport {\n    MODAL_ACTIONS\n} from \"./constants\";\nimport {\n\tliveTranscriptionActions,\n} from \"../../../sn-help-assistant/constants\";\nimport { getLastUpdateType } from \"../../../sn-help-assistant/behaviors/live-client/google-gemini/transcript/transcriptController\";\n\nconst handleEscapeKey = (event, dispatch) => {\n\tif (event.key === \"Escape\") {\n\t\tdispatch(MODAL_ACTIONS.END_CLICKED);\n\t}\n};\n\nexport const actionHandlers = {\n\t[actionTypes.COMPONENT_CONNECTED]: ({ dispatch }) => {\n\t\twindow.addEventListener(\"keydown\", (event) =>\n\t\t\thandleEscapeKey(event, dispatch),\n\t\t);\n\t},\n\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({\n\t\tupdateState,\n\t\taction,\n\t\tdispatch,\n\t\tstate\n\t}) => {\n\t\tif (action.payload.name === \"content\") {\n\t\t\t// have received at least one non-empty content update\n\t\t\tconst nextContent = action?.payload?.value ?? \"\";\n\t\t\tif (!state.hasReceivedContent && nextContent !== \"\") {\n\t\t\t\tupdateState({ hasReceivedContent: true });\n\t\t\t}\n\t\t\t// Keep track of who spoke last to toggle avatar/icon in the view\n\t\t\tupdateState({ lastUpdateType: getLastUpdateType() });\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tconst contentEl = state?.contentRef?.current;\n\t\t\t\tconst containerEl = state?.containerRef?.current;\n\t\t\t\tif (!contentEl || !containerEl) return;\n\n\t\t\t\t// Using refs to avoid repeated querySelectors on shadowRoot\n\t\t\t\tconst contentHeight = contentEl.clientHeight;\n\t\t\t\tconst containerHeight = containerEl.clientHeight;\n\n\t\t\t\tif (contentHeight > containerHeight) {\n\t\t\t\t\tdispatch(liveTranscriptionActions.TRIM_TRANSCRIPT, {\n\t\t\t\t\t\tsize: action?.payload?.value?.length || 0 ,\n\t\t\t\t\t\tchannel: getLastUpdateType()\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\n\t[\"NOW_BUTTON_STATEFUL#SELECTED_SET\"]: {\n\t\teffect: ({ state, action, dispatch }) => {\n\t\t\tconst { userAction } = action.payload;\n\t\t\tconst { isPaused, enableTranscript } = state.properties;\n\t\t\tswitch (userAction) {\n\t\t\t\tcase \"toggle_pause\":\n                    dispatch(MODAL_ACTIONS.PAUSE_CLICKED, {value: !isPaused});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"toggle_transcript\":\n                    dispatch(MODAL_ACTIONS.TRANSCRIPT_CLICKED, {value: !enableTranscript});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n        stopPropagation: true\n\t},\n\n    ['NOW_BUTTON#CLICKED']: {\n        effect: ({dispatch}) => {\n            dispatch(MODAL_ACTIONS.END_CLICKED);\n        },\n        stopPropagation: true\n    },\n\n\t[actionTypes.COMPONENT_DISCONNECTED]: ({ dispatch }) => {\n\t\twindow.removeEventListener(\"keydown\", (event) =>\n\t\t\thandleEscapeKey(event, dispatch),\n\t\t);\n\t}\n};\n","export const UPDATE_MICROPHONE_VOLUME = 'HA_MODELESS_DIALOG#UPDATE_MICROPHONE_VOLUME';\nexport const AI_SPEAKING_STARTED = 'HA_MODELESS_DIALOG#AI_SPEAKING_STARTED';\nexport const AI_SPEAKING_STOPPED = 'HA_MODELESS_DIALOG#AI_SPEAKING_STOPPED';\n\nexport const VOICE_WAVE_CONFIG = Object.freeze({\n    POINTS: 9,\n    VOLUME_THRESHOLD: 0.08,\n    VOLUME_CEIL: 0.06,\n    SMOOTHING_RISE: 0.8,\n    SMOOTHING_DECAY: 0.08,\n    DECAY_FACTOR: 0.90,\n    SILENCE_GRACE_MS: 100,\n    EXIT_THRESHOLD: 0.01\n});\n\nexport const IDLE_BAR_STYLE = Object.freeze({\n    height: '2px',\n    borderRadius: '50%'\n});\n\nconst MIC_BARS = Object.freeze([\n    { from: 2,  to: 6,  freq: Math.PI / 0.50 },\n    { from: 2,  to: 11, freq: Math.PI / 0.38 },\n    { from: 3,  to: 15, freq: Math.PI / 0.62 },\n    { from: 2,  to: 18, freq: Math.PI / 0.42 },\n    { from: 4,  to: 20, freq: Math.PI / 0.55 },\n    { from: 2,  to: 16, freq: Math.PI / 0.45 },\n    { from: 3,  to: 13, freq: Math.PI / 0.58 },\n    { from: 2,  to: 9,  freq: Math.PI / 0.36 },\n    { from: 2,  to: 5,  freq: Math.PI / 0.48 }\n]);\n\nconst MIC_BAR_STYLE_ACTIVE = 'linear-gradient(to top, #86F673, #71D5FE)';\n\nconst getMicBarStyles = (normVolume, timestamp) => {\n    const t = timestamp / 1000;\n    return MIC_BARS.map(({ from, to, freq }) => {\n        const wave = (Math.sin(t * freq) + 1) / 2;\n        const height = from + wave * (to - from) * normVolume;\n        return {\n            height: `${height}px`,\n            borderRadius: '4px',\n            background: MIC_BAR_STYLE_ACTIVE,\n            transition: 'none'\n        };\n    });\n};\n\nconst { VOLUME_THRESHOLD, VOLUME_CEIL, SMOOTHING_RISE, SMOOTHING_DECAY, DECAY_FACTOR, SILENCE_GRACE_MS, EXIT_THRESHOLD } = VOICE_WAVE_CONFIG;\n\nlet smoothedVolume = 0;\nlet lastSpeechTime = 0;\nlet animationRAF = null;\nlet _updateState = null;\n\nconst animationTick = (timestamp) => {\n    const silenceMs = timestamp - lastSpeechTime;\n    if (silenceMs > SILENCE_GRACE_MS) {\n        smoothedVolume *= DECAY_FACTOR;\n    }\n\n    if (smoothedVolume < EXIT_THRESHOLD) {\n        smoothedVolume = 0;\n        if (_updateState) _updateState({ micBarStyles: null });\n        animationRAF = null;\n        return;\n    }\n\n    const normVolume = Math.min(1, smoothedVolume / VOLUME_CEIL);\n    if (_updateState) _updateState({ micBarStyles: getMicBarStyles(normVolume, timestamp) });\n\n    animationRAF = requestAnimationFrame(animationTick);\n};\n\nconst startAnimation = () => {\n    if (!animationRAF) animationRAF = requestAnimationFrame(animationTick);\n};\n\n\nexport const initVoiceWave = (updateState) => {\n    _updateState = updateState;\n};\n\n\nexport const processVolumeUpdate = (rawVolume) => {\n    if (rawVolume >= VOLUME_THRESHOLD) {\n        lastSpeechTime = performance.now();\n        const factor = rawVolume >= smoothedVolume ? SMOOTHING_RISE : SMOOTHING_DECAY;\n        smoothedVolume += factor * (rawVolume - smoothedVolume);\n        startAnimation();\n    }\n};\n\nexport const destroyVoiceWave = () => {\n    if (animationRAF) { cancelAnimationFrame(animationRAF); animationRAF = null; }\n    smoothedVolume = 0;\n    if (_updateState) _updateState({ micBarStyles: null });\n    _updateState = null;\n};","import { actionTypes } from \"@servicenow/ui-core\";\nimport {\n\tinitVoiceWave,\n\tprocessVolumeUpdate,\n\tdestroyVoiceWave\n} from \"./utils\";\n\nexport const actionHandlers = {\n\t[actionTypes.COMPONENT_CONNECTED]: ({ updateState }) => {\n\t\tinitVoiceWave(updateState);\n\t},\n\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({ action }) => {\n\t\tif (action.payload.name === 'micVolume') {\n\t\t\tprocessVolumeUpdate(action.payload.value || 0);\n\t\t}\n\t},\n\n\t[actionTypes.COMPONENT_DISCONNECTED]: () => {\n\t\tdestroyVoiceWave();\n\t}\n};","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from './ha-voice-wave.scss';\nimport { actionHandlers } from './actionHandlers';\nimport { IDLE_BAR_STYLE, VOICE_WAVE_CONFIG } from './utils';\n\nconst bars = Array.from({ length: VOICE_WAVE_CONFIG.POINTS }, (_, i) => i);\n\nconst view = ({ micBarStyles, properties }) => {\n    const { isPaused, isAiSpeaking, isVoiceActive } = properties;\n\n    const showCssWave = (isAiSpeaking || isVoiceActive) && !isPaused;\n    const showUserWave = !isPaused && !showCssWave && micBarStyles;\n\n    return (\n        <div className={`voice-wave ${showCssWave ? 'voice-wave--ai' : ''}`}>\n            {bars.map((i) => {\n                if (showCssWave) {\n                    return <div key={i} className={`voice-bar voice-bar--ai voice-bar--ai-${i}`} />;\n                }\n                if (showUserWave) {\n                    return <div key={i} className=\"voice-bar\" style={micBarStyles[i]} />;\n                }\n                return <div key={i} className=\"voice-bar\" style={IDLE_BAR_STYLE} />;\n            })}\n        <\/div>\n    );\n};\n\ncreateCustomElement('ha-voice-wave', {\n    renderer: { type: snabbdom },\n    initialState: {\n        micBarStyles: null\n    },\n    properties: {\n        isPaused: {\n            default: false,\n            required: false\n        },\n        isAiSpeaking: {\n            default: false,\n            required: false\n        },\n        isVoiceActive: {\n            default: false,\n            required: false\n        },\n        micVolume: {\n            default: 0,\n            required: false\n        }\n    },\n    view,\n    styles,\n    actionHandlers\n});","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment, createRef } from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from './ha-modeless-dialog.scss';\nimport '@servicenow/now-modeless-dialog';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-avatar';\nimport '@servicenow/now-button';\nimport { MAX_HEIGHT, MAX_WIDTH, MIN_HEIGHT, AI_SPARKLE_ICON, PAUSE_ICON, PLAY_ICON, RECORD_ICON } from './constants';\nimport { translatedTexts as t } from \"../../../commons/i18n\";\nimport { actionHandlers } from './actionHandlers';\nimport \"../ha-voice-wave\";\n\nconst avatarUrl = ux_globals?.session?.output?.user?.avatar == null ? \"\" : window.location.origin + \"/\" + ux_globals.session.output.user.avatar;\nconst userName = ux_globals?.session?.output?.user?.displayName;\n\nconst view = ({ hasReceivedContent, lastUpdateType, properties, contentRef, containerRef }) => {\n    const { defaultPosition, enableTranscript, content, isPaused, isAiSpeaking, micVolume, isVoiceActive } = properties;\n    const shouldShowIcon = isPaused || !hasReceivedContent || (hasReceivedContent && content);\n\n    return (\n        <Fragment>\n            <div className=\"ha-modeless-dialog-overlay\">\n                <div className=\"ha-modeless-dialog-position-container\">\n                    <now-modeless-dialog enableDrag opened={true}\n                        height={enableTranscript ? MAX_HEIGHT : MIN_HEIGHT}\n                        headingIcon={{ icon: AI_SPARKLE_ICON }} \n                        size=\"md\"\n                        headingLabel={t.modelessDialogHeading}\n                        auto-resizable-config={{\n                            enableAutoResizableHeight: true,\n                            autoResizableMinHeight: MIN_HEIGHT\n                        }}\n                        width={MAX_WIDTH}\n                        position={defaultPosition} enableFocus\n                    >\n                        <div className=\"ha-modeless-header\" slot=\"actions\">\n                            <p className=\"ha-status-text\">\n                                <now-icon className={`ha-status-icon ${!isPaused ? \"is-live\" : \"\"}`} icon={isPaused ? PAUSE_ICON : RECORD_ICON}/>{isPaused ? t.Paused : t.Live}<\/p>\n                        <\/div>\n                        <div slot=\"content\" className=\"ha-modeless-content-container\">\n                            {enableTranscript ? <div className=\"ha-modeless-content\">\n                                <div className=\"ha-modeless-content-desc\" id=\"ha-content-desc\" ref={containerRef}>\n                                    {shouldShowIcon ? (\n                                        <div className=\"ha-icon-container\">\n                                            {lastUpdateType === 'input' \n                                                ? <now-avatar size=\"sm\" imageSrc={avatarUrl} userName={userName} />\n                                                : <now-icon icon={AI_SPARKLE_ICON} size=\"lg\" />\n                                            }\n                                        <\/div>\n                                    ) : null}\n                                    <div className=\"ha-content-text\" id=\"ha-content-text\" ref={contentRef}>\n                                    <p>{isPaused ? t.assistantPausedText : (hasReceivedContent ? content : t.transcriptPlaceholderText)}<\/p>\n                                        \n                                    <\/div>\n                                <\/div>\n                            <\/div> : null}\n                            <div className='ha-footer-actions'>\n                                <now-button-stateful variant=\"tertiary\" size=\"sm\" icon={isPaused ? PLAY_ICON : PAUSE_ICON} append-to-payload={{ userAction: 'toggle_pause' }} />\n                                <now-button-stateful variant=\"tertiary\" size=\"sm\" icon=\"live-feed-outline\" configAria={{ 'aria-label': t.transcriptButtonLabel }} append-to-payload={{ userAction: 'toggle_transcript' }} selected={enableTranscript} tooltipContent={t.transcriptButtonLabel} highlighted />\n\n                                <ha-voice-wave isPaused={isPaused} isAiSpeaking={isAiSpeaking} micVolume={micVolume} isVoiceActive={isVoiceActive} />\n\n                                <now-button variant=\"tertiary\" size=\"sm\" label={t.endButtonLabel} configAria={{ 'aria-label': t.closeButtonAriaLabel }} />\n                            <\/div>\n                            <div className=\"ha-footer-text\">\n                                <span>{t.modelessDialogFooterText}<\/span>\n                            <\/div>\n                        <\/div>\n                    <\/now-modeless-dialog>\n                <\/div>\n            <\/div>\n        <\/Fragment>\n    );\n};\n\ncreateCustomElement('ha-modeless-dialog', {\n    renderer: { type: snabbdom },\n    initialState: {\n        sessionDuration: 0,\n        hasReceivedContent: false,\n        containerRef: createRef(),\n        contentRef: createRef(),\n        totalPausedTime: 0,\n        lastPauseTimestamp: null\n    },\n    properties: {\n        defaultPosition: {\n            default: 'bottom-right',\n            required: false\n        },\n        enableTranscript: {\n            default: true,\n            required: false\n        },\n        content: {\n            default: '',\n            required: false\n        },\n        isPaused: {\n            default: false,\n            required: false\n        },\n        isAiSpeaking: {\n            default: false,\n            required: false\n        },\n        micVolume: {\n            default: 0,\n            required: false\n        },\n        isVoiceActive: {\n            default: false,\n            required: false\n        }\n    },\n    view,\n    styles,\n    actionHandlers\n});\n","import { BASE_ACTION } from '../../constants';\n\n// Handles\nexport const HA_AUDIO_IO_INITIATE = `${BASE_ACTION}HA_AUDIO_IO_INITIATE`; // Initialize audio input/output\nexport const HA_AUDIO_IN_PLAY_STOP = `${BASE_ACTION}HA_AUDIO_IN_PLAY_STOP`; // Dispatch this event to stop playing audio\nexport const HA_AUDIO_IN_PLAY = `${BASE_ACTION}HA_AUDIO_IN_PLAY`; // Dispatch this event to play audio\nexport const HA_AUDIO_IO_STOP = `${BASE_ACTION}HA_AUDIO_IO_STOP`; // Stop audio input/output\nexport const HA_AUDIO_IO_PAUSE = `${BASE_ACTION}HA_AUDIO_IO_PAUSE`; // pause audio input\nexport const HA_AUDIO_IO_RESUME = `${BASE_ACTION}HA_AUDIO_IO_RESUME`; // Resume audio input\n\n// Dispatches\nexport const HA_AUDIO_OUT_SEND = `${BASE_ACTION}HA_AUDIO_OUT_SEND`; // The behavior will dispatch this event to send audio data to the client\n\n\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"EventEmitter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__.__esModule\n\t\t\t\t\tif (cjsModule && 'EventEmitter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"].EventEmitter;\n\t\t\t\t\t} else if ('EventEmitter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__.EventEmitter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"].EventEmitter;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_eventemitter3_5_0_1_index_jsdbx_df145b4a__[\"default\"][\"default\"];\n\t\t\t\t} });","/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst AudioRecordingWorkletFn = (bufferSize = 2048, targetSampleRate = 16000) => {\n    return `class AudioProcessingWorklet extends AudioWorkletProcessor {\n\n        // send and clear buffer every 2048 samples,\n        // which at 16khz is about 8 times a second\n      \tbuffer = new Int16Array(${bufferSize});\n\n      \t// current write index\n      \tbufferWriteIndex = 0;\n\n\t\t  constructor() {\n\t\t\tsuper();\n\t\t\tthis.sourceSampleRate = 48000;\n\t\t\tthis.downsampleRatio = Math.floor(this.sourceSampleRate / ${targetSampleRate});\n\t\t  }\n\n\t\t\t/**\n         * @param inputs Float32Array[][] [input#][channel#][sample#] so to access first inputs 1st channel inputs[0][0]\n         * @param outputs Float32Array[][]\n         */\n\t\t  process(inputs) {\n\t\t\tif (inputs[0].length) {\n\t\t\t  const channel0 = inputs[0][0];\n\t\t\t  this.processChunk(channel0);\n\t\t\t}\n\t\t\treturn true;\n\t\t  }\n\n\t\t  sendAndClearBuffer(){\n\t\t\tthis.port.postMessage({\n\t\t\t  event: \"chunk\",\n\t\t\t  data: {\n\t\t\t\tint16arrayBuffer: this.buffer.slice(0, this.bufferWriteIndex).buffer,\n\t\t\t  },\n\t\t\t});\n\t\t\tthis.bufferWriteIndex = 0;\n\t\t  }\n\n\t\t  processChunk(float32Array) {\n\t\t\tconst l = float32Array.length;\n\t\t\tfor (let i = 0; i < l; i += this.downsampleRatio) {\n\t\t\t  // convert float32 -1 to 1 to int16 -32768 to 32767\n\t\t\t  const int16Value = float32Array[i] * 32768;\n\t\t\t  this.buffer[this.bufferWriteIndex++] = int16Value;\n\n\t    \t\tif(this.bufferWriteIndex >= this.buffer.length) {\n\t    \t\t\tthis.sendAndClearBuffer();\n\t    \t\t}\n\t\t\t}\n\t\t}\n    }`;\n};\n\n\nexport default AudioRecordingWorkletFn;","/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst VolMeterWorketFn = () => {\n    return `class VolMeter extends AudioWorkletProcessor {\n            volume\n            updateIntervalInMS\n            nextUpdateFrame\n\n            constructor() {\n            super()\n            this.volume = 0\n            this.updateIntervalInMS = 25\n            this.nextUpdateFrame = this.updateIntervalInMS\n            this.port.onmessage = event => {\n                if (event.data.updateIntervalInMS) {\n                this.updateIntervalInMS = event.data.updateIntervalInMS\n                }\n            }\n            }\n\n            get intervalInFrames() {\n            return (this.updateIntervalInMS / 1000) * sampleRate\n            }\n\n            process(inputs) {\n            const input = inputs[0]\n\n            if (input.length > 0) {\n                const samples = input[0]\n                let sum = 0\n                let rms = 0\n\n                for (let i = 0; i < samples.length; ++i) {\n                sum += samples[i] * samples[i]\n                }\n\n                rms = Math.sqrt(sum / samples.length)\n                this.volume = Math.max(rms, this.volume * 0.7)\n\n                this.nextUpdateFrame -= samples.length\n                if (this.nextUpdateFrame < 0) {\n                this.nextUpdateFrame += this.intervalInFrames\n                this.port.postMessage({volume: this.volume})\n                }\n            }\n\n            return true\n            }\n        }`;\n};\n\nexport default VolMeterWorketFn;","/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { MIC_AUDIO_CONTEXT_ID } from \"../../constants\";\n\n/**\n * A registry to map attached worklets by their audio-context\n * any module using `audioContext.audioWorklet.addModule(` should register the worklet here\n */\n\nexport const registeredWorklets = new Map();\n\nexport const createWorkletFromSrc = (workletName, workletSrc) => {\n\tconst script = new Blob([\n\t\t`registerProcessor(\"${workletName}\", ${workletSrc})`\n\t], {\n\t\ttype: \"application/javascript\"\n\t});\n\n\treturn URL.createObjectURL(script);\n};\n\nexport const isWorkletRegistered = (workletName) => {\n\tif (!registeredWorklets.has(MIC_AUDIO_CONTEXT_ID)) {\n\t\treturn false;\n\t}\n\treturn registeredWorklets.get(MIC_AUDIO_CONTEXT_ID).has(workletName);\n};\n\nexport const markWorkletAsRegistered = (workletName) => {\n\tif (!registeredWorklets.has(MIC_AUDIO_CONTEXT_ID)) {\n\t\tregisteredWorklets.set(MIC_AUDIO_CONTEXT_ID, new Set());\n\t}\n\tregisteredWorklets.get(MIC_AUDIO_CONTEXT_ID).add(workletName);\n};\n","import EventEmitter from \"eventemitter3\";\nimport AudioRecordingWorkletFn from \"./worklets/audio-processing\";\nimport VolMeterWorkletFn from \"./worklets/vol-meter\";\nimport { createWorkletFromSrc, isWorkletRegistered, markWorkletAsRegistered } from \"./audioworklet-registry\";\nimport { audioContext, setTracksEnabled } from \"../utils\";\nimport { MIC_AUDIO_CONTEXT_ID } from \"../../constants\";\n\nfunction arrayBufferToBase64(buffer) {\n\tvar binary = \"\";\n\tvar bytes = new Uint8Array(buffer);\n\tvar len = bytes.byteLength;\n\tfor (var i = 0; i < len; i++) binary += String.fromCharCode(bytes[i]);\n\n\treturn window.btoa(binary);\n}\n\nexport class AudioRecorder extends EventEmitter {\n\tconstructor(sampleRate = 16000) {\n\t\tsuper();\n\t\tthis.sampleRate = sampleRate;\n\t\tthis.stream = undefined;\n\t\tthis.audioContext = undefined;\n\t\tthis.source = undefined;\n\t\tthis.recording = false;\n\t\tthis.recordingWorklet = undefined;\n\t\tthis.vuWorklet = undefined;\n\t\tthis.starting = null;\n\t\tthis.isPaused = false;\n\t}\n\t\n\tpause() {\n\t\tif(this.stream) {\n\t\t\tsetTracksEnabled(this.stream.getTracks(), false);\n\t\t\tthis.isPaused = true;\n\t\t}\n\t}\n\n\tresume() {\n\t\tif(this.stream) {\n\t\t\tsetTracksEnabled(this.stream.getTracks(), true);\n\t\t\tthis.isPaused = false;\n\t\t}\n\t}\n\n\t\n\tasync start() {\n\t\tif (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia)\n\t\t\tthrow new Error(\"Could not request user media\");\n\n\t\tthis.starting = new Promise(async (resolve, reject) => {\n\t\t\tthis.stream = await navigator.mediaDevices.getUserMedia({audio: true});\n\t\t\tthis.audioContext = await audioContext({id: MIC_AUDIO_CONTEXT_ID});\n\n\t\t\tthis.source = this.audioContext.createMediaStreamSource(this.stream);\n\n\t\t\tconst recordingWorkletName = \"audio-recorder-worklet\";\n\t\t\t// Register processors (recording, vumeter) only once per AudioContext\n\t\t\tif (!isWorkletRegistered(recordingWorkletName)) {\n\t\t\t\tconst recSrc = createWorkletFromSrc(recordingWorkletName, AudioRecordingWorkletFn());\n\t\t\t\tawait this.audioContext.audioWorklet.addModule(recSrc);\n\t\t\t\tmarkWorkletAsRegistered(recordingWorkletName);\n\t\t\t}\n\t\t\tthis.recordingWorklet = new AudioWorkletNode(this.audioContext, recordingWorkletName);\n\t\t\tthis.recordingWorklet.port.onmessage = async (ev) => {\n\t\t\t\tif(this.isPaused) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst arrayBuffer = ev.data.data.int16arrayBuffer;\n\t\t\t\tif (arrayBuffer) {\n\t\t\t\t\tconst arrayBufferString = arrayBufferToBase64(arrayBuffer);\n\t\t\t\t\tthis.emit(\"data\", arrayBufferString);\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.source.connect(this.recordingWorklet);\n\n\t\t\tconst vuWorkletName = \"vu-meter\";\n\t\t\tif (!isWorkletRegistered(vuWorkletName)) {\n\t\t\t\tconst vuSrc = createWorkletFromSrc(vuWorkletName, VolMeterWorkletFn());\n\t\t\t\tawait this.audioContext.audioWorklet.addModule(vuSrc);\n\t\t\t\tmarkWorkletAsRegistered(vuWorkletName);\n\t\t\t}\n\t\t\tthis.vuWorklet = new AudioWorkletNode(this.audioContext, vuWorkletName);\n\t\t\tthis.vuWorklet.port.onmessage = (ev) => {\n\t\t\t\tif(this.isPaused) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.emit(\"volume\", ev.data.volume);\n\t\t\t};\n\t\t\tthis.source.connect(this.vuWorklet);\n\n\t\t\tthis.recording = true;\n\t\t\tresolve();\n\t\t\tthis.starting = null;\n\t\t});\n\t}\n\n\tstop() {\n\t\tconst handleStop = () => {\n\t\t\tif (this.source) this.source.disconnect();\n\t\t\tif (this.stream) this.stream.getTracks().forEach((track) => track.stop());\n\n\t\t\tthis.stream = undefined;\n\t\t\tthis.recordingWorklet = undefined;\n\t\t\tthis.vuWorklet = undefined;\n\t\t};\n\t\tif (this.starting) {\n\t\t\tthis.starting.then(handleStop);\n\t\t\treturn;\n\t\t}\n\t\thandleStop();\n\t}\n}","/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from 'eventemitter3';\nimport {\n\tcreateWorkletFromSrc,\n\tregisteredWorklets,\n} from \"./audioworklet-registry\";\nimport { HA_NETWORK_ERROR, MAX_DELAYED_BUFFER_COUNT, MAX_DELAYED_LATENCY_ALLOWED_IN_MS } from '../../constants';\n\nexport class AudioStreamer extends EventEmitter {\n\tconstructor(context) {\n\t\tsuper();\n\t\tthis.context = context;\n\t\tthis.audioQueue = [];\n\t\tthis.isPlaying = false;\n\t\tthis.sampleRate = 24000;\n\t\tthis.bufferSize = 24000;\n\t\tthis.processingBuffer = new Float32Array(0);\n\t\tthis.scheduledTime = 0;\n\t\tthis.gainNode = this.context.createGain();\n\t\tthis.source = this.context.createBufferSource();\n\t\tthis.gainNode.connect(this.context.destination);\n\t\tthis.isStreamComplete = false;\n\t\tthis.checkInterval = null;\n\t\tthis.initialBufferTime = 0.1;\n\t\tthis.endOfQueueAudioSource = null;\n\t\tthis.onComplete = () => {};\n\t\tthis.addPCM16 = this.addPCM16.bind(this);\n\t\tthis.glitchedBufferCount = 0;\n\t}\n\n\tasync addWorklet(workletName, workletSrc, handler) {\n\t\tlet workletsRecord = registeredWorklets.get(this.context);\n\t\tif (workletsRecord && workletsRecord[workletName]) {\n\t\t\tworkletsRecord[workletName].handlers.push(handler);\n\t\t\treturn Promise.resolve(this);\n\t\t}\n\n\t\tif (!workletsRecord) {\n\t\t\tregisteredWorklets.set(this.context, {});\n\t\t\tworkletsRecord = registeredWorklets.get(this.context);\n\t\t}\n\n\t\tworkletsRecord[workletName] = { handlers: [handler] };\n\n\t\tconst src = createWorkletFromSrc(workletName, workletSrc);\n\t\tawait this.context.audioWorklet.addModule(src);\n\t\tconst worklet = new AudioWorkletNode(this.context, workletName);\n\t\tworkletsRecord[workletName].node = worklet;\n\n\t\treturn this;\n\t}\n\n\taddPCM16(chunk) {\n\t\tconst float32Array = new Float32Array(chunk.length / 2);\n\t\tconst dataView = new DataView(chunk.buffer);\n\n\t\tfor (let i = 0; i < chunk.length / 2; i++) {\n\t\t\ttry {\n\t\t\t\tconst int16 = dataView.getInt16(i * 2, true);\n\t\t\t\tfloat32Array[i] = int16 / 32768;\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e);\n\t\t\t}\n\t\t}\n\n\t\tconst newBuffer = new Float32Array(\n\t\t\tthis.processingBuffer.length + float32Array.length\n\t\t);\n\t\tnewBuffer.set(this.processingBuffer);\n\t\tnewBuffer.set(float32Array, this.processingBuffer.length);\n\t\tthis.processingBuffer = newBuffer;\n\n\t\twhile (this.processingBuffer.length >= this.bufferSize) {\n\t\t\tconst buffer = this.processingBuffer.slice(0, this.bufferSize);\n\t\t\tthis.audioQueue.push(buffer);\n\t\t\tthis.processingBuffer = this.processingBuffer.slice(this.bufferSize);\n\t\t}\n\n\t\tif (!this.isPlaying) {\n\t\t\tthis.isPlaying = true;\n\t\t\tthis.scheduledTime = this.context.currentTime + this.initialBufferTime;\n\t\t\tthis.scheduleNextBuffer();\n\t\t}\n\t}\n\n\tcreateAudioBuffer(audioData) {\n\t\tconst audioBuffer = this.context.createBuffer(\n\t\t\t1,\n\t\t\taudioData.length,\n\t\t\tthis.sampleRate\n\t\t);\n\t\taudioBuffer.getChannelData(0).set(audioData);\n\t\treturn audioBuffer;\n\t}\n\n\tscheduleNextBuffer() {\n\t\tconst SCHEDULE_AHEAD_TIME = 0.2;\n\n\t\t// If network goes down to cause bufferDelays, turn off dynamic guidance.\n\t\tif (this.isPlaying) {\n\t\t\tconst latency = (this.scheduledTime - this.context.currentTime) * 1000;\n\t\t\t// More than 1000ms delay of 10 continuous buffers in a sliding window will trigger network error.\n\t\t\tif (latency < MAX_DELAYED_LATENCY_ALLOWED_IN_MS) {\n\t\t\t\tthis.glitchedBufferCount++;\n\t\t\t\tif (this.glitchedBufferCount >= MAX_DELAYED_BUFFER_COUNT) {\n\t\t\t\t\tthis.emit(HA_NETWORK_ERROR);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else if (this.glitchedBufferCount > 0) {\n\t\t\t\t// Recover when back to normal network.\n\t\t\t\tthis.glitchedBufferCount--;\n\t\t\t}\n\t\t}\n\n\t\twhile (\n\t\t\tthis.audioQueue.length > 0 &&\n\t\t\tthis.scheduledTime < this.context.currentTime + SCHEDULE_AHEAD_TIME\n\t\t) {\n\t\t\tconst audioData = this.audioQueue.shift();\n\t\t\tconst audioBuffer = this.createAudioBuffer(audioData);\n\t\t\tconst source = this.context.createBufferSource();\n\n\t\t\tif (this.audioQueue.length === 0) {\n\t\t\t\tif (this.endOfQueueAudioSource)\n\t\t\t\t\tthis.endOfQueueAudioSource.onended = null;\n\n\t\t\t\tthis.endOfQueueAudioSource = source;\n\t\t\t\tsource.onended = () => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!this.audioQueue.length &&\n\t\t\t\t\t\tthis.endOfQueueAudioSource === source\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.endOfQueueAudioSource = null;\n\t\t\t\t\t\tthis.complete();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tsource.buffer = audioBuffer;\n\t\t\tsource.connect(this.gainNode);\n\n\t\t\tconst worklets = registeredWorklets.get(this.context);\n\t\t\tif (worklets) {\n\t\t\t\tObject.values(worklets).forEach(({ node, handlers }) => {\n\t\t\t\t\tif (node) {\n\t\t\t\t\t\tsource.connect(node);\n\t\t\t\t\t\tnode.port.onmessage = (ev) => {\n\t\t\t\t\t\t\thandlers.forEach((handler) => handler.call(node.port, ev));\n\t\t\t\t\t\t};\n\t\t\t\t\t\tnode.connect(this.context.destination);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst startTime = Math.max(this.scheduledTime, this.context.currentTime);\n\t\t\tsource.start(startTime);\n\t\t\tthis.scheduledTime = startTime + audioBuffer.duration;\n\t\t}\n\n\t\tif (this.audioQueue.length === 0 && this.processingBuffer.length === 0) {\n\t\t\tif (this.isStreamComplete) {\n\t\t\t\tthis.isPlaying = false;\n\t\t\t\tif (this.checkInterval) {\n\t\t\t\t\tclearInterval(this.checkInterval);\n\t\t\t\t\tthis.checkInterval = null;\n\t\t\t\t}\n\t\t\t} else if (!this.checkInterval) {\n\t\t\t\tthis.checkInterval = setInterval(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.audioQueue.length > 0 ||\n\t\t\t\t\t\tthis.processingBuffer.length >= this.bufferSize\n\t\t\t\t\t)\n\t\t\t\t\t\tthis.scheduleNextBuffer();\n\t\t\t\t}, 100);\n\t\t\t}\n\t\t} else\n\t\t\tsetTimeout(\n\t\t\t\t() => this.scheduleNextBuffer(),\n\t\t\t\tMath.max(0, (this.scheduledTime - this.context.currentTime) * 1000 - 50)\n\t\t\t);\n\t}\n\n\tstop() {\n\t\tthis.glitchedBufferCount = 0;\n\t\tthis.isPlaying = false;\n\t\tthis.isStreamComplete = true;\n\t\tthis.audioQueue = [];\n\t\tthis.processingBuffer = new Float32Array(0);\n\t\tthis.scheduledTime = this.context.currentTime;\n\n\t\tif (this.checkInterval) {\n\t\t\tclearInterval(this.checkInterval);\n\t\t\tthis.checkInterval = null;\n\t\t}\n\n\t\tthis.gainNode.gain.linearRampToValueAtTime(\n\t\t\t0,\n\t\t\tthis.context.currentTime + 0.1\n\t\t);\n\n\t\tsetTimeout(() => {\n\t\t\tthis.gainNode.disconnect();\n\t\t\tthis.gainNode = this.context.createGain();\n\t\t\tthis.gainNode.connect(this.context.destination);\n\t\t}, 200);\n\t}\n\n\tasync resume() {\n\t\tif (this.context.state === \"suspended\") await this.context.resume();\n\n\t\tthis.isStreamComplete = false;\n\t\tthis.scheduledTime = this.context.currentTime + this.initialBufferTime;\n\t\tthis.gainNode.gain.setValueAtTime(1, this.context.currentTime);\n\t}\n\n\tcomplete() {\n\t\tthis.isStreamComplete = true;\n\t\tif (this.processingBuffer.length > 0) {\n\t\t\tthis.audioQueue.push(this.processingBuffer);\n\t\t\tthis.processingBuffer = new Float32Array(0);\n\t\t\tif (this.isPlaying) this.scheduleNextBuffer();\n\t\t} else this.onComplete();\n\t}\n}\n\n// // Usage example:\n// const audioStreamer = new AudioStreamer();\n//\n// // In your streaming code:\n// function handleChunk(chunk: Uint8Array) {\n//   audioStreamer.handleChunk(chunk);\n// }\n//\n// // To start playing (call this in response to a user interaction)\n// await audioStreamer.resume();\n//\n// // To stop playing\n// // audioStreamer.stop();\n","import {\n\tHA_AUDIO_IO_INITIATE,\n\tHA_AUDIO_IN_PLAY,\n\tHA_AUDIO_IN_PLAY_STOP,\n\tHA_AUDIO_IO_STOP,\n\tHA_AUDIO_OUT_SEND, HA_AUDIO_IO_PAUSE, HA_AUDIO_IO_RESUME,\n} from \"./actionNames\";\nimport { AudioRecorder } from \"./audio-recorder\";\nimport { AudioStreamer } from \"./audio-streamer\";\nimport { audioContext } from \"../utils\";\nimport { HA_NETWORK_ERROR, HA_NETWORK_ERROR_OCCURRED } from \"../../constants\";\nimport { UPDATE_MICROPHONE_VOLUME, AI_SPEAKING_STARTED, AI_SPEAKING_STOPPED } from \"../../../components/presentational/ha-voice-wave/utils\";\n\nconst HA_AUDIO_IO_DESTROY = `HA_AUDIO_IO_DESTROY`;\n\nexport default {\n\tname: \"ASSISTANT_AUDIO_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[HA_AUDIO_IO_PAUSE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { audioRecorder } = state;\n\n\t\t\t\taudioRecorder.pause();\n\t\t\t\tdispatch(AI_SPEAKING_STOPPED);\n\t\t\t}\n\t\t},\n\t\t[HA_AUDIO_IO_RESUME]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state } = coeffects;\n\t\t\t\tconst { audioRecorder } = state;\n\n\t\t\t\taudioRecorder.resume();\n\t\t\t}\n\t\t},\n\t\t[HA_AUDIO_IO_INITIATE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { dispatch, updateState } = coeffects;\n\n\t\t\t\t// Initialize audio settings\n\n\t\t\t\t// AudioRecorder - Responsible for capturing user audio\n\t\t\t\tconst audioRecorder = new AudioRecorder();\n\n\t\t\t\taudioRecorder.on(\"data\", (base64) => {\n\t\t\t\t\tdispatch(HA_AUDIO_OUT_SEND, base64);\n\t\t\t\t});\n\n\t\t\t\taudioRecorder.on(\"volume\", (volume) => {\n\t\t\t\t\tdispatch(UPDATE_MICROPHONE_VOLUME, { volume });\n\t\t\t\t});\n\n\t\t\t\taudioRecorder.start();\n\n\t\t\t\t// AudioStreamer - Responsible for playing the audio\n\t\t\t\tconst audioStreamerRef = { current: null };\n\t\t\t\taudioContext({ id: \"audio-out\" }).then((audioCtx) => {\n\t\t\t\t\tconst audioStreamer = new AudioStreamer(audioCtx);\n\t\t\t\t\taudioStreamer.on(HA_NETWORK_ERROR, () => dispatch(HA_NETWORK_ERROR_OCCURRED));\n\n\t\t\t\t\t// Fires when the audio queue drains naturally — AI finished speaking\n\t\t\t\t\taudioStreamer.onComplete = () => {\n\t\t\t\t\t\tdispatch(AI_SPEAKING_STOPPED);\n\t\t\t\t\t};\n\n\t\t\t\t\taudioStreamerRef.current = audioStreamer;\n\t\t\t\t});\n\n\t\t\t\tupdateState({\n\t\t\t\t\taudioRecorder,\n\t\t\t\t\taudioStreamerRef,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[HA_AUDIO_IN_PLAY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { action, state, dispatch } = coeffects;\n\t\t\t\tconst { audioStreamerRef } = state;\n\n\t\t\t\tconst wasPlaying = audioStreamerRef.current?.isPlaying;\n\t\t\t\tif (audioStreamerRef.current) {\n\t\t\t\t\taudioStreamerRef.current.addPCM16(new Uint8Array(action.payload));\n\t\t\t\t}\n\t\t\t\tif (!wasPlaying) {\n\t\t\t\t\tdispatch(AI_SPEAKING_STARTED);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[HA_AUDIO_IN_PLAY_STOP]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { audioStreamerRef } = state;\n\n\t\t\t\tif (audioStreamerRef?.current) {\n\t\t\t\t\taudioStreamerRef.current.stop();\n\t\t\t\t}\n\t\t\t\tdispatch(AI_SPEAKING_STOPPED);\n\t\t\t},\n\t\t},\n\t\t[HA_AUDIO_IO_STOP]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { audioRecorder, audioStreamerRef } = state;\n\n\t\t\t\tif (audioRecorder) {\n\t\t\t\t\taudioRecorder.stop();\n\t\t\t\t}\n\n\t\t\t\tif (audioStreamerRef?.current) {\n\t\t\t\t\taudioStreamerRef.current.stop();\n\t\t\t\t}\n\t\t\t\tdispatch(AI_SPEAKING_STOPPED);\n\t\t\t\tdispatch(HA_AUDIO_IO_DESTROY);\n\t\t\t},\n\t\t},\n\t\t[HA_AUDIO_IO_DESTROY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { updateState } = coeffects;\n\t\t\t\t// Clean up audio resources\n\t\t\t\tupdateState({\n\t\t\t\t\taudioRecorder: null,\n\t\t\t\t\taudioStreamerRef: null,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const prop = (a, prop) =>\n\ttypeof a === \"object\" && typeof a[prop] === \"object\";\n\nexport const isSetupMessage = (a) => prop(a, \"setup\");\n\nexport const isClientContentMessage = (a) => prop(a, \"clientContent\");\n\nexport const isRealtimeInputMessage = (a) => prop(a, \"realtimeInput\");\n\nexport const isToolResponseMessage = (a) => prop(a, \"toolResponse\");\n\nexport const isSetupCompleteMessage = (a) => prop(a, \"setupComplete\");\n\nexport const isServerContentMessage = (a) => prop(a, \"serverContent\");\n\nexport const isToolCallMessage = (a) => prop(a, \"toolCall\");\n\nexport const isToolCallCancellation = (a) =>\n\ttypeof a === \"object\" && Array.isArray(a.ids);\n\nexport const isToolCallCancellationMessage = (a) =>\n\tprop(a, \"toolCallCancellation\") &&\n\tisToolCallCancellation(a.toolCallCancellation);\n\nexport const isModelTurn = (a) => typeof a.modelTurn === \"object\";\n\nexport const isTurnComplete = (a) => typeof a.turnComplete === \"boolean\";\n\nexport const isInterrupted = (a) => a.interrupted;\n\nexport const hasOutputTranscription = a => typeof a.outputTranscription === 'object' && typeof a.outputTranscription.text === 'string';\n\nexport const hasInputTranscription = a => typeof a.inputTranscription === 'object' && typeof a.inputTranscription.text === 'string';\n\nexport const isSessionResumptionUpdateMessage = (a) => prop(a, \"sessionResumptionUpdate\") && typeof a.sessionResumptionUpdate === \"object\";\n\nexport function isLiveFunctionCall(value) {\n\tif (!value || typeof value !== \"object\") return false;\n\n\treturn (\n\t\ttypeof value.name === \"string\" &&\n\t\t// typeof value.id === \"string\" &&\n\t\ttypeof value.args === \"object\" &&\n\t\tvalue.args !== null\n\t);\n}\n\nexport const isGoAway = (a) => prop(a, \"goAway\");\n\nexport function isToolCall(value) {\n\tif (!value || typeof value !== \"object\") return false;\n\n\treturn (\n\t\tprop(value, \"toolCall\") &&\n\t\tArray.isArray(value.toolCall.functionCalls) &&\n\t\tvalue.toolCall.functionCalls.every((call) => isLiveFunctionCall(call))\n\t);\n}\n\nexport function isLiveFunctionResponse(value) {\n\tif (!value || typeof value !== \"object\") return false;\n\n\treturn typeof value.response === \"object\" && typeof value.id === \"string\";\n}\n\nexport function isToolResponse(value) {\n\tif (!value || typeof value !== \"object\") return false;\n\n\treturn (\n\t\tArray.isArray(value.functionResponses) &&\n\t\tvalue.functionResponses.every((resp) => isLiveFunctionResponse(resp))\n\t);\n}\n\nexport function isKeepAliveMsg(message) {\n\treturn message?.clientContent?.turns?.[0]?.parts?.[0]?.text === \"\" && \n\t       message?.clientContent?.turnComplete === false;\n}\n","export const GRANT_TYPE = 'grant_type';\nexport const CODE = 'code';\nexport const CLIENT_ID = 'client_id';\nexport const REDIRECT_URI = 'redirect_uri';\nexport const CODE_VERIFIER = 'code_verifier';\nexport const ISS_INSTANCE_URL  = \"iss_instance_url\";\nexport const GRANT_TYPE_AUTH_CODE = 'authorization_code';\n\nconst DG_PREFIX = \"DYNAMIC_GUIDANCE_\"\nconst PKCE_VERIFIER_KEY = `${DG_PREFIX}PKCE_CODE_VERIFIER`;\nconst PKCE_STATE_KEY = `${DG_PREFIX}PKCE_STATE`;\n\nexport const OAUTH_ACCESS_TOKEN_KEY = `${DG_PREFIX}_ACCESS_TOKEN`;\nexport const PKCE_CODE_CHALLENGE_METHOD = 'S256';\nexport const OAUTH_AUTH_URI = `/oauth_auth.do`;\n\nexport const APP_CLIENT_ID = '1316dcd44b7a43c2b6c73e5c98b43d45';\nexport const APP_REDIRECT_URI = '/api/sn_help_assistant/dynamic_guidance/oauth/authorize';\n\nconst generateRandomString = (length) => {\n\tconst charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';\n\tconst randomValues = new Uint8Array(length);\n\twindow.crypto.getRandomValues(randomValues);\n\treturn Array.from(randomValues).map(v => charset[v % charset.length]).join('');\n};\n\nconst base64UrlEncode = (arrayBuffer) => {\n\tconst bytes = new Uint8Array(arrayBuffer);\n\tlet binary = '';\n\tbytes.forEach(b => binary += String.fromCharCode(b));\n\treturn btoa(binary).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\n};\n\nasync function pkceChallengeFromVerifier(verifier) {\n\tconst encoder = new TextEncoder();\n\tconst data = encoder.encode(verifier);\n\tconst digest = await window.crypto.subtle.digest('SHA-256', data);\n\treturn base64UrlEncode(digest);\n};\n\nexport async function fetchPKCEConfig() {\n\tlet state = sessionStorage.getItem(PKCE_STATE_KEY);\n\tlet codeVerifier = sessionStorage.getItem(PKCE_VERIFIER_KEY);\n\n\tif (state && codeVerifier) {\n\t\treturn {\n\t\t\tstate,\n\t\t\tcodeVerifier,\n\t\t\tcodeChallenge: await pkceChallengeFromVerifier(codeVerifier)\n\t\t};\n\t}\n\n\tstate = (window.crypto.randomUUID && window.crypto.randomUUID()) || generateRandomString(32);\n\tcodeVerifier = generateRandomString(64);\n\n\tconst codeChallenge = await pkceChallengeFromVerifier(codeVerifier);\n\n\tsessionStorage.setItem(PKCE_STATE_KEY, state);\n\tsessionStorage.setItem(PKCE_VERIFIER_KEY, codeVerifier);\n\treturn { state, codeChallenge, codeVerifier };\n}\n\nexport function storeAccessToken(accessToken) {\n\tlocalStorage.setItem(OAUTH_ACCESS_TOKEN_KEY, accessToken);\n\n\tsessionStorage.removeItem(PKCE_VERIFIER_KEY);\n\tsessionStorage.removeItem(PKCE_STATE_KEY);\n}\n\nexport function getAccessToken() {\n\treturn localStorage.getItem(OAUTH_ACCESS_TOKEN_KEY);\n}\n\nexport function removeAccessToken() {\n\tlocalStorage.removeItem(OAUTH_ACCESS_TOKEN_KEY);\n}\n","import { isKeepAliveMsg, isSetupMessage } from \"./google-gemini/gemini-multimodal-live-types\";\nimport {addCookie, removeCookie} from \"../utils\";\nimport {getAccessToken, removeAccessToken} from \"../../../commons/auth\";\nimport {dataHandlerURLs} from \"../../constants\";\n\nconst AUTH_COOKIE_NAME = 'auth_key';\n\nexport default class SocketManager {\n\tconstructor() {\n\t\tthis.ws = null;\n\t\tthis.url = null;\n\t\tthis.isPaused = false;\n\t}\n\tsetConnectionURL(url) {\n\t\tthis.url = url;\n\t}\n\tsetupAuthCookie() {\n\t\taddCookie(AUTH_COOKIE_NAME, getAccessToken(), {\n\t\t\tpath: dataHandlerURLs.WEB_SOCKET_ENDPOINT,\n\t\t\tmaxAge: 1800,\n\t\t\tsecure: true,\n\t\t\tsameSite: 'Strict'\n\t\t});\n\t}\n\tcleanupAuthToken() {\n\t\tremoveCookie(AUTH_COOKIE_NAME, {\n\t\t\tpath: dataHandlerURLs.WEB_SOCKET_ENDPOINT\n\t\t});\n\t}\n\tconnect(\n\t\tonOpen = () => {},\n\t\tonClose = () => {},\n\t\tonMessage = () => {},\n\t\tonError = () => {}\n\t) {\n\t\tconst self = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (!this.url)\n\t\t\t\tthrow new Error(\"WebSocket URL is not set\");\n\n\t\t\tconst onOpenWrapper = (event) => {\n\t\t\t\ttry {\n\t\t\t\t\tself.cleanupAuthToken();\n\t\t\t\t\tonOpen(event);\n\t\t\t\t\tresolve(true);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tself.disconnect();\n\t\t\t\t\treject(e);\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst onErrorWrapper = (event) => {\n\t\t\t\ttry {\n\t\t\t\t\tself.cleanupAuthToken();\n\t\t\t\t\tonError(event);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tself.disconnect();\n\t\t\t\t\treject(e);\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tself.setupAuthCookie();\n\t\t\t\tconst ws = new WebSocket(this.url);\n\t\t\t\tws.addEventListener(\"message\", onMessage);\n\t\t\t\tws.addEventListener(\"open\", onOpenWrapper);\n\t\t\t\tws.addEventListener(\"close\", onClose);\n\t\t\t\tws.addEventListener(\"error\", onErrorWrapper);\n\t\t\t\tthis.ws = ws;\n\t\t\t} catch (e) {\n\t\t\t\tthis.ws = null;\n\t\t\t\tconsole.error(e);\n\t\t\t\treject(e.message);\n\t\t\t}\n\t\t});\n\t}\n\tdisconnect(ws) {\n\t\tif ((!ws || this.ws === ws) && this.ws) {\n\t\t\t// Close current socket if still open\n\t\t\ttry {\n\t\t\t\tthis.ws.close();\n\t\t\t} catch (e) {}\n\t\t\tthis.ws = null;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tsendMessage(message) {\n\t\tif (!this.ws || (this.isPaused && !isKeepAliveMsg(message) && !isSetupMessage(message))) return;\n\t\tthis.ws.send(JSON.stringify(message));\n\t}\n\n\tpause() {\n\t\tthis.isPaused = true;\n\t}\n\tresume() {\n\t\tthis.isPaused = false;\n\t}\n\n\tlog(provider, event, message) {}\n}\n","import { BASE_ACTION } from \"../../constants\";\n\nexport const HA_CLIENT_AUDIO_RESPONSE = `${BASE_ACTION}HA_CLIENT_AUDIO_RESPONSE`; // Dispatched by the provider to send audio response to the client\nexport const HA_CLIENT_INTERRUPTED = `${BASE_ACTION}HA_CLIENT_INTERRUPTED`; // Dispatched by the provider when the client is interrupted\nexport const HA_LIVE_CLIENT_ERROR = `${BASE_ACTION}HA_LIVE_CLIENT_ERROR`; // Dispatched by the provider to indicate an error with the provider\n\nexport const HA_LIVE_CLIENT_AUTHENTICATE_SUCCESS = `${BASE_ACTION}HA_LIVE_CLIENT_AUTHENTICATE_SUCCESS`; // Dispatched by sn-help-assistant to indicate successful authentication of the live client\n\nexport const HA_LIVE_CLIENT_WEBSOCKET_CLOSED = `${BASE_ACTION}HA_LIVE_CLIENT_WEBSOCKET_CLOSED`;\n\nexport const HA_SESSION_LIMIT_REACHED = `${BASE_ACTION}HA_SESSION_LIMIT_REACHED`;","import SocketManager from \"../socket-manager\";\nimport {\n\tsupportedProviders,\n\tmediaTypes,\n\tGREETINGS,\n\tLANGUAGE_PROMPT,\n\tERRORS,\n\tLOG_PREFIX,\n\tcreateFreshGeminiConfig,\n\tTOOL_NAMES\n} from \"../constants\";\nimport { blobToJSON, base64ToArrayBuffer } from \"../../utils\";\nimport { getPersonalizedGreeting } from \"../../../commons/utils\";\nimport {\n\tisInterrupted,\n\tisModelTurn,\n\tisServerContentMessage,\n\tisSetupCompleteMessage,\n\tisTurnComplete,\n\thasOutputTranscription,\n\thasInputTranscription,\n\tisGoAway,\n\tisSessionResumptionUpdateMessage,\n\tisToolCall,\n} from \"./gemini-multimodal-live-types\";\nimport {\n\tHA_CLIENT_AUDIO_RESPONSE,\n\tHA_CLIENT_INTERRUPTED,\n\tHA_LIVE_CLIENT_ERROR,\n\tHA_SESSION_LIMIT_REACHED,\n} from \"../actionNames\";\nimport {\n\tTELEMETRY_ERROR_PAYLOAD,\n\tliveTranscriptionActions,\n\tdataHandlerActions\n} from \"../../../constants\";\nimport { removeAccessToken, getAccessToken } from \"../../../../commons/auth\";\n\n\nexport class GeminiMultimodalLiveClient extends SocketManager {\n\tconstructor(dispatch) {\n\t\tsuper();\n\t\tthis.dispatch = dispatch;\n\t\tthis.config = createFreshGeminiConfig();\n\t\tthis.name = supportedProviders.google.GEMINI_FLASH.name;\n\t\tthis.isReconnecting = false;\n\t\tthis.hasReconnected = false;\n\t\tthis.inputTranscriptions = [];\n\t\tthis.outputTranscriptions = [];\n\t\tthis.activeWsId = 0;\n\t\tthis.shouldClearTranscriptionsOnNext = false;\n\t\tthis._oldWs = null;\n\t\tthis.isFirstTime = false;\n\t\tthis.isSetupComplete = false;\n\t\tthis.sessionResumptionHandle = \"\";\n\t\tthis.websocketURL = \"\";\n\t\tthis.keepAliveInterval = null;\n\t\tthis.traceId = \"\";\n\t\tthis.reconnectCount = 0;\n\t}\n\n\t_updateSessionResumptionHandle(newHandle) {\n\t\tif (!newHandle || typeof newHandle !== \"string\") return;\n\t\tthis.sessionResumptionHandle = newHandle;\n\t}\n\n\t_isStaleSocket(wsId) {\n\t\treturn wsId !== null && wsId !== this.activeWsId;\n\t}\n\n\tsetAuth(auth) {\n\t\tconst { websocketURL, conversationIdNAP } = auth;\n\n\t\tif (!websocketURL)\n\t\t\tthrow new Error(\"Invalid auth object provided\");\n\n\t\tthis.websocketURL = websocketURL;\n\n\t\t// Reuse traceId on reconnect so telemetry stays correlated across the full session\n\t\tthis.traceId = this.traceId || crypto.randomUUID();\n\n\t\tlet params = new URLSearchParams({\n\t\t\ttrace_id: this.traceId,\n\t\t\tinstance_name: window.location.host.replace(/\\.(service-now|servicenowlab)\\.com$/, ''),\n\t\t\tsession_handle: this.sessionResumptionHandle,\n\t\t\tconversation_id: conversationIdNAP || \"\",\n\t\t\tsolution_capability: 'dynamic_guidance_v1',\n\t\t\tglide_api_version: 'v2'\n\t\t});\n\n\t\tthis.setConnectionURL(websocketURL + \"?\" + params.toString());\n\t}\n\n\tgetTraceId() {\n\t\treturn this.traceId;\n\t}\n\n\tsetIsFirstTime(isFirstTime) {\n\t\tthis.isFirstTime = isFirstTime || false;\n\t}\n\n\tgetConfig() {\n\t\treturn this.config;\n\t}\n\n\tlog(type, message) {\n\t\tsuper.log(this.name, type, message);\n\t}\n\n\t_getIdleMessage() {\n\t\treturn {\n\t\t\tclientContent: {\n\t\t\t\tturns: [{ role: \"user\", parts: [{ text: \"\" }] }],\n\t\t\t\tturnComplete: false\n\t\t\t}\n\t\t};\n\t}\n\n\tpause() {\n\t\tif (this.isPaused) return;\n\t\tthis.sendText([{ text: \"The conversation is now paused.\" }], false);\n\t\tsuper.pause();\n\t\tthis.dispatch(HA_CLIENT_INTERRUPTED);\n\n\t\t// Keep-alive: Send ping every 50 seconds to prevent 60s timeout\n\t\tthis.keepAliveInterval = setInterval(() => {\n\t\t\tif (this.isPaused && this.ws && this.ws.readyState === WebSocket.OPEN) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.sendMessage(this._getIdleMessage());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tclearInterval(this.keepAliveInterval);\n\t\t\t\t\tthis.keepAliveInterval = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}, 50000); // Ping every 50 seconds (just under 60s timeout)\n\t}\n\n\tresume() {\n\t\tif (!this.isPaused) return;\n\t\tthis._clearKeepAliveInterval();\n\t\tsuper.resume();\n\t\tthis.sendText([{ text: \"The conversation has resumed.\" }], false);\n\t}\n\n\treconnect() {\n\t\tconst self = this;\n\t\tself.isReconnecting = true;\n\t\tself._oldWs = this.ws;\n\t\tself.setAuth({\n\t\t\twebsocketURL: this.websocketURL,\n\t\t});\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.connect()\n\t\t\t\t.then(() => {\n\t\t\t\t\tself.isReconnecting = false;\n\t\t\t\t\tself.hasReconnected = true;\n\t\t\t\t\tresolve(true);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tself.isReconnecting = false;\n\t\t\t\t\tself._oldWs = null;\n\t\t\t\t\treject(e);\n\t\t\t\t});\n\t\t});\n\t}\n\tconnect() {\n\t\tconst self = this;\n\n\t\t// Assign unique ID to this WebSocket\n\t\tconst wsId = ++this.activeWsId;\n\t\tconst onError = (ev) => {\n\t\t\tconst message = `Could not connect to \"${this.url}\"`;\n\t\t\tself.log(`server.${ev.type}`, message);\n\t\t\tself.dispatch(HA_LIVE_CLIENT_ERROR, {\n\t\t\t\tprovider: self.name,\n\t\t\t\ttype: TELEMETRY_ERROR_PAYLOAD.WEB_SOCKET_CONNECTION_ERROR,\n\t\t\t});\n\t\t\tthrow new Error(message);\n\t\t};\n\t\tconst onClose = (ev) => {\n\t\t\t// Ignore close events from stale sockets\n\t\t\tif (self.activeWsId !== wsId) {\n\t\t\t\tthis.log(\n\t\t\t\t\t`server.${ev.type}`,\n\t\t\t\t\t`stale socket closed - ignored (wsId: ${wsId})`\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tself.disconnect(this.ws);\n\t\t\tlet reason = ev.reason || \"\";\n\t\t\tif (reason.toLowerCase().includes(\"error\")) {\n\t\t\t\tconst prelude = \"ERROR]\";\n\t\t\t\tconst preludeIndex = reason.indexOf(prelude);\n\t\t\t\tif (preludeIndex > 0)\n\t\t\t\t\treason = reason.slice(preludeIndex + prelude.length + 1);\n\t\t\t}\n\t\t\tself.log(\n\t\t\t\t`server.${ev.type}`,\n\t\t\t\t`disconnected ${reason ? `with reason: ${reason}` : \"\"}`\n\t\t\t);\n\n\t\t\tif (!self.isReconnecting && ev.code === 1011) {\n\t\t\t\tself.dispatch(HA_LIVE_CLIENT_ERROR, {\n\t\t\t\t\tprovider: self.name,\n\t\t\t\t\ttype: ERRORS.SERVER_INTERNAL_ERROR\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\tconst onOpen = (ev) => {\n\t\t\tthis.log(`client.${ev.type}`, \"connected to socket (wsId: \" + wsId + \")\");\n\n\t\t\tif(process.env.NODE_ENV === 'development' ) {\n\t\t\t\tconst setupMessage = {\n\t\t\t\t\tsetup: self.getConfig(),\n\t\t\t\t};\n\t\t\t\tthis.sendMessage(setupMessage);\n\t\t\t}\n\t\t\tthis.log(\"client.send\", \"setup\");\n\t\t};\n\t\tconst onMessage = async (event) => {\n\t\t\tawait this.receive(event.data, wsId);\n\t\t};\n\n\t\treturn super.connect(onOpen, onClose, onMessage, onError);\n\t}\n\n\tdisconnect(ws) {\n\t\tthis.clearAll();\n\t\tsuper.disconnect(ws);\n\t}\n\n\tclearAll() {\n\t\tthis._clearKeepAliveInterval();\n\t\tthis._resetTranscriptions();\n\t\tthis.isReconnecting = false;\n\t\tthis.hasReconnected = false;\n\t\tthis.activeWsId = 0;\n\t\tthis.shouldClearTranscriptionsOnNext = false;\n\t\tthis.isSetupComplete = false;\n\t\tif (this._oldWs) {\n\t\t\ttry {\n\t\t\t\tthis._oldWs.close();\n\t\t\t} catch (e) {}\n\t\t}\n\t\tthis._oldWs = null;\n\t\tthis.sessionResumptionHandle = \"\";\n\t}\n\tasync receive(blob, wsId = null) {\n\t\tconst response = await blobToJSON(blob);\n\n\t\tif (isSessionResumptionUpdateMessage(response)) {\n\t\t\tconst { sessionResumptionUpdate } = response;\n\t\t\tconst { resumable, newHandle } = sessionResumptionUpdate || {};\n\t\t\tif (resumable && newHandle && typeof newHandle === \"string\") {\n\t\t\t\tthis._updateSessionResumptionHandle(newHandle);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (isSetupCompleteMessage(response)) {\n\t\t\tthis.log(\"server.send\", \"setupComplete\");\n\t\t\t// If this is a reconnection, mark to clear transcriptions before next transcription\n\t\t\tif (this.hasReconnected) this.shouldClearTranscriptionsOnNext = true;\n\n\t\t\t// Only greet on a fresh session, not on a resumed one\n\t\t\tif (!this.hasReconnected) {\n\t\t\t\tconst languageCode = this.config.generationConfig.speechConfig.languageCode;\n\t\t\t\tconst personalizedGreeting = getPersonalizedGreeting(this.isFirstTime);\n\t\t\t\tconst greeting = `${GREETINGS} ${LANGUAGE_PROMPT} ${languageCode}. Translate and say this greeting to the user in ${languageCode} language: \"${personalizedGreeting}\". Keep the exact same meaning and tone. Include all parts of the message including any names mentioned.`;\n\t\t\t\tthis.sendText([{ text: greeting }]);\n\t\t\t}\n\t\t\tthis.isSetupComplete = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isGoAway(response)) {\n\t\t\tthis.log(\"server.send\", \"goAway\");\n\t\t\tthis.reconnectCount++;\n\n\t\t\tif (this.reconnectCount > 2) {\n\t\t\t\tthis.dispatch(HA_SESSION_LIMIT_REACHED);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.shouldClearTranscriptionsOnNext = false;\n\t\t\tthis.reconnect()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.log(\"reconnect\", \"Reconnection successful\");\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tthis.log(\"reconnect\", \"Reconnection failed\");\n\t\t\t\t\tthis.dispatch(HA_LIVE_CLIENT_ERROR, {\n\t\t\t\t\t\tprovider: this.name,\n\t\t\t\t\t\ttype: ERRORS.CLIENT_RECONNECTION_FAILED,\n\t\t\t\t\t\tmessage: e.message,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isPaused) return;\n\n\t\tif (isServerContentMessage(response)) {\n\t\t\tconst { serverContent } = response;\n\t\t\tif (isInterrupted(serverContent)) {\n\t\t\t\tthis.log(\"receive.serverContent\", \"interrupted\");\n\t\t\t\tif (this._isStaleSocket(wsId)) {\n\t\t\t\t\tthis.log(\"receive.serverContent\", \"interrupted ignored (old socket)\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Always handle interruption from current socket\n\t\t\t\tthis.dispatch(HA_CLIENT_INTERRUPTED);\n\t\t\t\tthis._resetTranscriptions();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (isTurnComplete(serverContent)) {\n\t\t\t\tthis.log(\"server.send\", \"turnComplete\");\n\t\t\t\t// Close old socket when it sends turnComplete\n\t\t\t\tif (this._isStaleSocket(wsId) && this._oldWs) {\n\t\t\t\t\tthis.log(\n\t\t\t\t\t\t\"server.send\",\n\t\t\t\t\t\t\"turnComplete from old socket - closing old socket\"\n\t\t\t\t\t);\n\t\t\t\t\tthis._closeOldSocket();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis._resetTranscriptions();\n\t\t\t}\n\n\t\t\tif (hasOutputTranscription(serverContent)) {\n\t\t\t\tif (\n\t\t\t\t\tthis.shouldClearTranscriptionsOnNext &&\n\t\t\t\t\t!this._isStaleSocket(wsId)\n\t\t\t\t) {\n\t\t\t\t\tthis._resetTranscriptions();\n\t\t\t\t\tthis.shouldClearTranscriptionsOnNext = false;\n\t\t\t\t}\n\t\t\t\tconst transcriptionText = serverContent.outputTranscription.text;\n\t\t\t\tthis.log(\n\t\t\t\t\t\"server.output_transcription\",\n\t\t\t\t\ttranscriptionText + (this._isStaleSocket(wsId) ? \" (old socket)\" : \"\")\n\t\t\t\t);\n\t\t\t\tthis.outputTranscriptions.push(transcriptionText);\n\n\t\t\t\t// Dispatch combined o/p transctiption\n\t\t\t\tthis.dispatch(\n\t\t\t\t\tliveTranscriptionActions.OUTPUT_TRANSCRIPTION,\n\t\t\t\t\tthis.outputTranscriptions.join(\"\")\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (hasInputTranscription(serverContent)) {\n\t\t\t\tif (\n\t\t\t\t\tthis.shouldClearTranscriptionsOnNext &&\n\t\t\t\t\t!this._isStaleSocket(wsId)\n\t\t\t\t) {\n\t\t\t\t\tthis._resetTranscriptions();\n\t\t\t\t\tthis.shouldClearTranscriptionsOnNext = false;\n\t\t\t\t}\n\t\t\t\tconst transcriptionText = serverContent.inputTranscription.text;\n\t\t\t\tthis.log(\"server.input_transcription\", transcriptionText);\n\t\t\t\tthis.inputTranscriptions.push(transcriptionText);\n\n\t\t\t\t// Dispatch combined o/p transctiption\n\t\t\t\tthis.dispatch(\n\t\t\t\t\tliveTranscriptionActions.INPUT_TRANSCRIPTION,\n\t\t\t\t\tthis.inputTranscriptions.join(\"\")\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (isModelTurn(serverContent)) {\n\t\t\t\tlet { parts } = serverContent.modelTurn;\n\t\t\t\tconst audioParts = parts.filter(\n\t\t\t\t\t(p) => p.inlineData && p.inlineData.mimeType.startsWith(\"audio/pcm\")\n\t\t\t\t);\n\t\t\t\tconst base64s = audioParts.map((p) => p.inlineData?.data);\n\n\t\t\t\tconst otherParts = parts.filter((p) => !audioParts.includes(p));\n\n\t\t\t\tbase64s.forEach((b64) => {\n\t\t\t\t\tif (b64) {\n\t\t\t\t\t\tconst data = base64ToArrayBuffer(b64);\n\t\t\t\t\t\tthis.dispatch(HA_CLIENT_AUDIO_RESPONSE, data);\n\t\t\t\t\t\tthis.log(\n\t\t\t\t\t\t\t\"server.audio\",\n\t\t\t\t\t\t\t`buffer (${data.byteLength})` +\n\t\t\t\t\t\t\t(this._isStaleSocket(wsId) ? \" (old socket)\" : \"\")\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (!otherParts.length) return;\n\n\t\t\t\tparts = otherParts;\n\t\t\t\tthis.log(\"server.content\", response);\n\t\t\t}\n\t\t} else if (isToolCall(response)) {\n\t\t\t// Handle tool calls from Gemini\n\t\t\tconst toolCall = response.toolCall;\n\t\t\t// Log the tool call\n\t\t\tthis.log(\"server.toolCall\", toolCall);\n\n\t\t\t// Check if it's a search_knowledge_base call\n\t\t\tif ((toolCall.functionCalls && toolCall.functionCalls.length > 0)) {\n\t\t\t\t// Extract function call based on format\n\t\t\t\tlet functionCall = null;\n\t\t\t\tlet functionName = null;\n\t\t\t\tlet args = null;\n\t\t\t\tlet functionId = null;\n\n\t\t\t\tfunctionCall = toolCall.functionCalls[0];\n\t\t\t\tfunctionName = functionCall.name;\n\t\t\t\targs = functionCall.args;\n\t\t\t\tfunctionId = functionCall.id;\n\n\t\t\t\t// Handle the search_knowledge_base function\n\t\t\t\tif (functionName === TOOL_NAMES.SEARCH_KNOWLEDGE_BASE) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Extract the query from the function call\n\t\t\t\t\t\tconst query = args?.query || \"\";\n\n\t\t\t\t\t\t// Automatically trigger the RAG API search with the extracted query\n\t\t\t\t\t\tif (query && query.trim()) {\n\n\t\t\t\t\t\t\tthis.dispatch(dataHandlerActions.HA_UPDATE_TOOL_CALL_ID, {\n\t\t\t\t\t\t\t\ttoolCallId: functionId\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tthis.dispatch(dataHandlerActions.HA_FETCH_RAG_API, {\n\t\t\t\t\t\t\t\tpayload: { query }\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error(LOG_PREFIX, \"Error handling tool call:\", error);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else console.log(LOG_PREFIX, \"received unmatched message\", response);\n\t}\n\n\tsendToolResponse(response) {\n\t\tlet message = { toolResponse: response };\n\n\t\tif (response && response.result) {\n\t\t\t// Extract the data\n\t\t\tconst { toolCallId, result } = response;\n\n\t\t\t// Extract only the text from each result\n\t\t\tlet extractedContent = \"\";\n\t\t\tif (result && result.results && Array.isArray(result.results)) {\n\t\t\t\t// Loop through each result and extract only the text content\n\t\t\t\textractedContent = result.results.map(item => item.text || \"\").join(\"\\n\\n\");\n\t\t\t}\n\n\t\t\t// Format the tool response for Gemini\n\t\t\tconst toolResponse = {\n\t\t\t\tfunctionResponses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tcontent: extractedContent\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t};\n\n\t\t\tmessage = { toolResponse };\n\t\t}\n\t\tthis.sendMessage(message);\n\t\tthis.log(\"client.toolResponse\", message);\n\t}\n\n\tsend(type, data) {\n\t\t// Block audio input until setup is complete\n\t\tif (type === mediaTypes.AUDIO && !this.isSetupComplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (type) {\n\t\t\tcase mediaTypes.AUDIO:\n\t\t\t\tthis.sendMessage({\n\t\t\t\t\trealtimeInput: {\n\t\t\t\t\t\tmediaChunks: [{ mimeType: \"audio/pcm;rate=16000\", data }],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase mediaTypes.SCREEN:\n\t\t\t\tthis.sendMessage({\n\t\t\t\t\trealtimeInput: {\n\t\t\t\t\t\tmediaChunks: [{ mimeType: \"image/jpeg\", data }],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported media type: ${type}`);\n\t\t}\n\t}\n\n\tsendText(parts, turnComplete = true) {\n\t\tparts = Array.isArray(parts) ? parts : [parts];\n\t\tconst content = {\n\t\t\trole: \"user\",\n\t\t\tparts,\n\t\t};\n\n\t\tconst clientContentRequest = {\n\t\t\tclientContent: {\n\t\t\t\tturns: [content],\n\t\t\t\tturnComplete,\n\t\t\t},\n\t\t};\n\n\t\tthis.sendMessage(clientContentRequest);\n\t\tthis.log(\"client.send\", clientContentRequest);\n\t}\n\n\t_resetTranscriptions() {\n\t\tthis.inputTranscriptions = [];\n\t\tthis.outputTranscriptions = [];\n\t}\n\n\t_clearKeepAliveInterval() {\n\t\tif (this.keepAliveInterval) {\n\t\t\tclearInterval(this.keepAliveInterval);\n\t\t\tthis.keepAliveInterval = null;\n\t\t}\n\t}\n\n\t_closeOldSocket() {\n\t\tif (!this._oldWs) return;\n\t\tif (this._oldWs.readyState === WebSocket.OPEN) {\n\t\t\ttry {\n\t\t\t\tthis._oldWs.close(1000, \"turnComplete\");\n\t\t\t\tthis.log(\"client.close\", \"Old socket closed after turnComplete\");\n\t\t\t} catch (e) {\n\t\t\t\tthis.log(\"client.error\", \"Error closing old socket: \" + e.message);\n\t\t\t}\n\t\t\tthis._oldWs = null;\n\t\t}\n\t}\n}\n","import { supportedProviders } from \"./constants\";\nimport { GeminiMultimodalLiveClient } from \"./google-gemini/gemini-multimodal-live-client\";\n\nconst clientInterfaceMethods = ['setAuth','connect', 'disconnect', 'send', 'receive'];\n\n\nexport class MultimodalLiveClientFactory {\n  static instances = {};\n\n  static create(providerName, dispatch) {\n    if (MultimodalLiveClientFactory.instances[providerName]) {\n      return MultimodalLiveClientFactory.instances[providerName];\n    }\n\n    let instance;\n    switch (providerName) {\n      case supportedProviders.google.GEMINI_FLASH.name:\n        instance = new GeminiMultimodalLiveClient(dispatch);\n        break;\n      default:\n        throw new Error('Unsupported provider: ' + providerName);\n    }\n\n    // Interface enforcement so every client implements the required methods\n    for (let method of clientInterfaceMethods) {\n      if (typeof instance[method] !== 'function') {\n        throw new Error(`${providerName} does not implement method: ${method}`);\n      }\n    }\n\n    MultimodalLiveClientFactory.instances[providerName] = instance;\n    return instance;\n  }\n}","import { assistantServiceActions, TELEMETRY_ERROR_PAYLOAD, alertActions, STOP_LIVE_CLIENT, liveTranscriptionActions, HA_ACTIONS } from \"../../constants\";\nimport { UPDATE_MICROPHONE_VOLUME, AI_SPEAKING_STARTED, AI_SPEAKING_STOPPED, VOICE_WAVE_CONFIG } from \"../../../components/presentational/ha-voice-wave/utils\";\nimport { handleOutputTranscription, handleInputTranscription, stopTranscriptReveal } from '../live-client/google-gemini/transcript/transcriptController';\nimport { MultimodalLiveClientFactory } from \"../live-client/multimodal-live-client\";\nimport { mediaTypes, ERRORS, supportedProviders } from \"./constants\";\nimport { translatedTexts as t } from \"../../../commons/i18n\";\nimport {\n\tHA_AUDIO_IO_INITIATE,\n\tHA_AUDIO_IN_PLAY_STOP,\n\tHA_AUDIO_IN_PLAY,\n\tHA_AUDIO_IO_STOP,\n\tHA_AUDIO_OUT_SEND,\n\tHA_AUDIO_IO_PAUSE,\n\tHA_AUDIO_IO_RESUME,\n} from \"../audio/actionNames\";\nimport {\n\tHA_SCREEN_SHARE_START,\n\tHA_SCREEN_SHARE_STOP,\n\tHA_SCREEN_SHARE_SEND,\n\tHA_SCREEN_SHARE_PAUSE,\n\tHA_SCREEN_SHARE_RESUME\n} from \"../screen/actionNames\";\nimport {\n\tHA_CLIENT_AUDIO_RESPONSE,\n\tHA_CLIENT_INTERRUPTED,\n\tHA_LIVE_CLIENT_AUTHENTICATE_SUCCESS,\n\tHA_LIVE_CLIENT_ERROR,\n\tHA_SESSION_LIMIT_REACHED,\n} from \"./actionNames\";\nimport { HA_ERROR_TRACK } from \"../../constants\";\nimport { isScreenShareSupported } from \"../utils\";\nimport crossTabCommunicator from \"../crossTabCommunicator/crossTabCommunicator\";\nimport { BROADCAST_ACTIONS } from \"../crossTabCommunicator/crossTabConstants\";\n\nconst HA_LIVE_CLIENT_INITIATE = \"HA_LIVE_CLIENT_INITIATE\";\nconst HA_LIVE_CLIENT_DESTROY = \"HA_LIVE_CLIENT_DESTROY\";\n\nlet _isUserSpeaking = false;\n\nexport default {\n\tname: \"LIVE_CLIENT_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[assistantServiceActions.HA_LIVE_CLIENT_START]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { action, updateState, dispatch } = coeffects;\n\t\t\t\tconst { withScreen, provider } = action.payload;\n\n\t\t\t\tconst client = MultimodalLiveClientFactory.create(provider, dispatch);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tliveClient: client,\n\t\t\t\t\twithScreen,\n\t\t\t\t\tprovider,\n\t\t\t\t});\n\n\t\t\t\tdispatch('TAKE_CONSENT_GET_AUTH_TOKEN');\n\t\t\t},\n\t\t},\n\t\t['TAKE_CONSENT_GET_AUTH_TOKEN_SUCCEEDED']: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { liveClient, liveClientAuth, isFirstTimeUser } = state;\n\n\t\t\t\tif (liveClient && liveClientAuth) {\n\t\t\t\t\tif (liveClient && typeof liveClient.setIsFirstTime === 'function') {\n\t\t\t\t\t\tliveClient.setIsFirstTime(isFirstTimeUser);\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(HA_LIVE_CLIENT_INITIATE);\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(\"Issue initializing live client\");\n\t\t\t\t\tdispatch(HA_ERROR_TRACK, {\"TYPE\": TELEMETRY_ERROR_PAYLOAD.CLIENT_INITIALIZATION_FAIL});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t['TAKE_CONSENT_GET_AUTH_TOKEN_FAILED']: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { dispatch } = coeffects;\n\t\t\t\tdispatch(HA_LIVE_CLIENT_DESTROY);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[HA_LIVE_CLIENT_INITIATE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\t// Initialize audio & screen\n\t\t\t\tconst { state, dispatch, updateState } = coeffects;\n\t\t\t\tconst { withScreen, liveClient, liveClientAuth } = state;\n\n\t\t\t\tliveClient.setAuth(liveClientAuth);\n\t\t\t\t\n\t\t\t\t// Store traceId in state for telemetry correlation\n\t\t\t\tconst traceId = liveClient.getTraceId();\n\t\t\t\tif (traceId) {\n\t\t\t\t\tupdateState({ traceId });\n\t\t\t\t}\n\n\t\t\t\tliveClient.connect().then(r => {\n\t\t\t\t\tdispatch(HA_AUDIO_IO_INITIATE);\n\n\t\t\t\t\tif (withScreen && isScreenShareSupported()) {\n\t\t\t\t\t\tdispatch(HA_SCREEN_SHARE_START);\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch(HA_ACTIONS.DYNAMIC_GUIDANCE_STARTED);\n\n\t\t\t\t}).catch(e => {\n\t\t\t\t\tconsole.error(\"Error connecting live client:\", e);\n\t\t\t\t\t//dispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[assistantServiceActions.HA_LIVE_CLIENT_PAUSE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\n\t\t\t\tif (!liveClient) return;\n\n\t\t\t\tdispatch(HA_AUDIO_IO_PAUSE);\n\t\t\t\tdispatch(HA_SCREEN_SHARE_PAUSE);\n\n\t\t\t\tliveClient.pause();\n\t\t\t\tdispatch(HA_ACTIONS.DYNAMIC_GUIDANCE_PAUSED);\n\t\t},\n\t\t},\n\t\t[assistantServiceActions.HA_LIVE_CLIENT_RESUME]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\n\t\t\t\tif (!liveClient) return;\n\n\t\t\t\tdispatch(HA_AUDIO_IO_RESUME);\n\t\t\t\tdispatch(HA_SCREEN_SHARE_RESUME);\n\n\t\t\t\tliveClient.resume();\n\t\t\t\tdispatch(HA_ACTIONS.DYNAMIC_GUIDANCE_RESUMED);\n\t\t},\n\t\t},\n\t\t[HA_AUDIO_OUT_SEND]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, action } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\t\t\t\tif (liveClient) {\n\t\t\t\t\tliveClient.send(mediaTypes.AUDIO, action.payload);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[HA_CLIENT_AUDIO_RESPONSE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { action, dispatch } = coeffects;\n\t\t\t\tdispatch(HA_AUDIO_IN_PLAY, action.payload);\n\t\t\t},\n\t\t},\n\n\t\t[HA_CLIENT_INTERRUPTED]: {\n            effect: (coeffects) => {\n                const { dispatch } = coeffects;\n                stopTranscriptReveal();\n                dispatch(HA_AUDIO_IN_PLAY_STOP);\n            },\n\t\t},\n\t\t[HA_SCREEN_SHARE_SEND]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, action } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\t\t\t\tif (liveClient) {\n\t\t\t\t\tliveClient.send(mediaTypes.SCREEN, action.payload);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[assistantServiceActions.HA_LIVE_CLIENT_STOP]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, dispatch } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\n\t\t\t\tif (liveClient) {\n\t\t\t\t\tliveClient.disconnect();\n\t\t\t\t}\n\n\t\t\t\tdispatch(HA_AUDIO_IO_STOP);\n\t\t\t\tdispatch(HA_SCREEN_SHARE_STOP);\n\t\t\t\tdispatch(HA_LIVE_CLIENT_DESTROY);\n\t\t\t\tdispatch(HA_ACTIONS.DYNAMIC_GUIDANCE_ENDED);\n\t\t\t},\n\t\t},\n\t\t[HA_SESSION_LIMIT_REACHED]: {\n\t\t\teffect: ({ dispatch, updateState }) => {\n\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\ttype: \"info\",\n\t\t\t\t\t\ttext: t.sessionLimitReached,\n\t\t\t\t\t\tdismissable: false,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tdispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP)\n\t\t\t\tdispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE, { isUserInitiated: true });\n\t\t\t\tupdateState({ showFeedbackModal: true });\n\t\t\t},\n\t\t},\n\t\t[HA_LIVE_CLIENT_ERROR]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {action, dispatch} = coeffects;\n\t\t\t\tconst {provider, type} = action.payload;\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase ERRORS.CLIENT_RECONNECTION_FAILED:\n\t\t\t\t\t\tdispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase TELEMETRY_ERROR_PAYLOAD.WEB_SOCKET_CONNECTION_ERROR:\n\t\t\t\t\t\tdispatch(HA_ERROR_TRACK, {\n\t\t\t\t\t\t\tTYPE: TELEMETRY_ERROR_PAYLOAD.WEB_SOCKET_CONNECTION_ERROR,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.websocketError,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ERRORS.SERVER_INTERNAL_ERROR:\n\t\t\t\t\t\tif (provider === supportedProviders.google.GEMINI_FLASH.name) {\n\t\t\t\t\t\t\tdispatch(HA_ERROR_TRACK, {\"TYPE\": TELEMETRY_ERROR_PAYLOAD.PROVIDER_CONNECTION_ERROR});\n\t\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\t\t\t\ttext: t.errorInProvider\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tconsole.error(\"Unhandled live client error:\", action.payload);\n\t\t\t\t\t\tdispatch(assistantServiceActions.HA_LIVE_CLIENT_STOP);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[HA_LIVE_CLIENT_DESTROY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { state, updateState } = coeffects;\n\t\t\t\tconst { liveClient } = state;\n\t\t\t\t_isUserSpeaking = false;\n\t\t\t\tif (liveClient) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tliveClient: null,\n\t\t\t\t\t\tliveClientAuth: null,\n\t\t\t\t\t\twithScreen: false,\n\t\t\t\t\t\tprovider: null\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[liveTranscriptionActions.OUTPUT_TRANSCRIPTION]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { dispatch, action } = coeffects;\n\t\t\t\thandleOutputTranscription(dispatch, action.payload);\n\t\t\t},\n\t\t},\n\t\t[liveTranscriptionActions.INPUT_TRANSCRIPTION]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { dispatch, action } = coeffects;\n\t\t\t\thandleInputTranscription(dispatch, action.payload);\n\t\t\t},\n\t\t},\n\t\t// Voice wave state\n\t\t[UPDATE_MICROPHONE_VOLUME]: ({ action, updateState, state }) => {\n\t\t\tconst volume = action.payload?.volume || 0;\n\t\t\tupdateState({ micVolume: volume });\n\t\t\tif (state.isAiSpeaking) return;\n\t\t\tif (!_isUserSpeaking && volume >= VOICE_WAVE_CONFIG.VOLUME_THRESHOLD) {\n\t\t\t\t_isUserSpeaking = true;\n\t\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_VOICE_STARTED);\n\t\t\t} else if (_isUserSpeaking && volume < VOICE_WAVE_CONFIG.EXIT_THRESHOLD) {\n\t\t\t\t_isUserSpeaking = false;\n\t\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_VOICE_STOPPED);\n\t\t\t}\n\t\t},\n\t\t[AI_SPEAKING_STARTED]: ({ updateState }) => {\n\t\t\t_isUserSpeaking = false;\n\t\t\tupdateState({ isAiSpeaking: true });\n\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_VOICE_STARTED);\n\t\t},\n\t\t[AI_SPEAKING_STOPPED]: ({ updateState }) => {\n\t\t\tupdateState({ isAiSpeaking: false });\n\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_VOICE_STOPPED);\n\t\t},\n\t},\n};\n","import { createHttpEffect } from \"@servicenow/ui-effect-http\";\nimport {\n\tdataHandlerURLs,\n\tuserConsentActions,\n} from \"../../constants\";\n\nexport const fetchUserConsent = createHttpEffect(dataHandlerURLs.USER_CONSENT, {\n\tmethod: \"GET\",\n\tbatch: false,\n\n\tsuccessActionType: \"HA_FETCH_USER_CONSENT_SUCCEEDED\",\n\terrorActionType: \"HA_FETCH_USER_CONSENT_FAILED\",\n});\n\nexport const submitUserConsent = createHttpEffect(\n\tdataHandlerURLs.USER_CONSENT,\n\t{\n\t\tmethod: \"POST\",\n\t\tbatch: false,\n\t\theaders: {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t},\n\t\tdataParam: \"payload\",\n\n\t\tsuccessActionType: userConsentActions.HA_SUBMIT_USER_CONSENT_SUCCEEDED,\n\t\terrorActionType: userConsentActions.HA_SUBMIT_USER_CONSENT_FAILED,\n\t},\n);\n\nexport const fetchOAuthToken = createHttpEffect(dataHandlerURLs.OAUTH_TOKEN, {\n\tmethod: \"POST\",\n\tbatch: false,\n\theaders: {\n\t\t\"Content-Type\": \"application/x-www-form-urlencoded\",\n\t},\n\tdataParam: \"data\",\n\n\tsuccessActionType: \"HA_FETCH_AUTH_TOKEN_SUCCEEDED\",\n\terrorActionType: \"HA_FETCH_AUTH_TOKEN_FAILED\",\n});\n","import {\n\tfetchUserConsent,\n\tfetchOAuthToken,\n\tsubmitUserConsent,\n} from \"./dataHandlers\";\nimport {\n\tAPP_CLIENT_ID,\n\tAPP_REDIRECT_URI,\n\tCLIENT_ID,\n\tCODE,\n\tCODE_VERIFIER,\n\tfetchPKCEConfig,\n\tGRANT_TYPE,\n\tGRANT_TYPE_AUTH_CODE,\n\tISS_INSTANCE_URL,\n\tOAUTH_AUTH_URI,\n\tPKCE_CODE_CHALLENGE_METHOD,\n\tREDIRECT_URI,\n\tstoreAccessToken,\n} from \"../../../commons/auth\";\nimport { translatedTexts as t } from \"../../../commons/i18n\";\nimport { dataHandlerURLs, userConsentActions, alertActions, HA_ACTIONS } from \"../../constants\";\n\nconst errors = {\n\tCONSENT_FAILED: \"CONSENT_FAILED\",\n\tOAUTH_FAILURE: \"OAUTH_FAILURE\",\n\tPKCE_FAILURE: \"PKCE_FAILURE\",\n\tTOKEN_FAILURE: \"TOKEN_FAILURE\",\n\tCONSENT_SUBMISSION_FAILURE: \"CONSENT_SUBMISSION_FAILURE\",\n\tNO_SEARCH_SOURCE_CONFIGURED: \"NO_SEARCH_SOURCE_CONFIGURED\",\n};\n\n// Consent -> Auth -> Token\n\nexport default {\n\tname: \"ASSISTANT_AUTH_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[\"TAKE_CONSENT_GET_AUTH_TOKEN\"]: {\n\t\t\teffect: ({ dispatch }) => {\n\t\t\t\tdispatch(\"HA_FETCH_USER_CONSENT\");\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_FETCH_USER_CONSENT\"]: fetchUserConsent,\n\t\t[\"HA_FETCH_USER_CONSENT_SUCCEEDED\"]: {\n\t\t\teffect: ({ action, dispatch, updateState }) => {\n\t\t\t\tconst { result } = action.payload;\n\n\t\t\t\t// If user has not consented, show the consent modal\n\t\t\t\tif (!result.isUserConsented) {\n\t\t\t\t\tdispatch(\"HA_USER_CONSENT_MODAL_OPEN\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Returning user - set isFirstTimeUser to false\n\t\t\t\tupdateState({\n\t\t\t\t\tisFirstTimeUser: false,\n\t\t\t\t});\n\n\t\t\t\tdispatch(userConsentActions.HA_SUBMIT_USER_CONSENT_SUCCEEDED, {\n\t\t\t\t\tresult,\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_FETCH_USER_CONSENT_FAILED\"]: {\n\t\t\teffect: ({ dispatch }) => {\n\t\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.CONSENT_FAILED });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// Handle user consent submission when user clicks Submit in the modal\n\t\t[\"HA_USER_CONSENT_MODAL#USER_CONSENT_ACCEPTED\"]: ({\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tshowUserConsentModal: false,\n\t\t\t});\n\n\t\t\t// Correctly format the payload with the \"value\" property\n\t\t\tconst payload = {\n\t\t\t\tvalue: true,\n\t\t\t};\n\n\t\t\t// Dispatch the submit consent action with proper payload\n\t\t\tdispatch(userConsentActions.HA_SUBMIT_USER_CONSENT, { payload });\n\t\t},\n\n\t\t[userConsentActions.HA_SUBMIT_USER_CONSENT]: submitUserConsent,\n\n\t\t[userConsentActions.HA_SUBMIT_USER_CONSENT_SUCCEEDED]: async ({\n\t\t\tdispatch,\n\t\t\taction,\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t}) => {\n\t\t\tconst { result } = action.payload || {};\n\t\t\tconst { conversationIdNAP } = state;\n\n\t\t\tif (result?.isSearchSourceConfigured === false) {\n\t\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.NO_SEARCH_SOURCE_CONFIGURED });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tliveClientAuth: {\n\t\t\t\t\twebsocketURL: result.url || `${dataHandlerURLs.WEB_SOCKET_ENDPOINT}`,\n\t\t\t\t\tconversationIdNAP,\n\t\t\t\t},\n\t\t\t\tisSearchSourceConfigured: result.isSearchSourceConfigured,\n\t\t\t});\n\n\t\t\tdispatch(\"HA_FETCH_AUTH_CODE\");\n\t\t},\n\n\t\t[userConsentActions.HA_SUBMIT_USER_CONSENT_FAILED]: ({ dispatch }) => {\n\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", {\n\t\t\t\ttype: errors.CONSENT_SUBMISSION_FAILURE,\n\t\t\t});\n\t\t},\n\n\t\t[\"HA_USER_CONSENT_MODAL#USER_CONSENT_MODAL_CLOSED\"]: ({\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tshowUserConsentModal: false,\n\t\t\t});\n\t\t\tdispatch(HA_ACTIONS.DYNAMIC_GUIDANCE_ENDED);\n\t\t},\n\t\t[\"HA_FETCH_AUTH_CODE\"]: {\n\t\t\teffect: async ({ dispatch }) => {\n\t\t\t\tconst { state, codeChallenge, codeVerifier } = await fetchPKCEConfig();\n\n\t\t\t\tconst authUrl =\n\t\t\t\t\tOAUTH_AUTH_URI +\n\t\t\t\t\t`?response_type=${CODE}&` +\n\t\t\t\t\t`client_id=${encodeURIComponent(APP_CLIENT_ID)}&` +\n\t\t\t\t\t`redirect_uri=${encodeURIComponent(APP_REDIRECT_URI)}&` +\n\t\t\t\t\t`state=${encodeURIComponent(state)}&` +\n\t\t\t\t\t`code_challenge=${encodeURIComponent(codeChallenge)}&` +\n\t\t\t\t\t`code_challenge_method=${PKCE_CODE_CHALLENGE_METHOD}`;\n\n\t\t\t\tlet redirectResponse;\n\t\t\t\ttry {\n\t\t\t\t\t/*\n\t\t\t\t\t\tWe cannot rely on createHttpEffect as above API calls re-direct URI internally. We cannot listen to success\n\t\t\t\t\t\thandler through createHttpEffect.\n\t\t\t\t\t*/\n\t\t\t\t\tredirectResponse = await nowUiFramework.snHttp.request({\n\t\t\t\t\t\turl: authUrl,\n\t\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\t});\n\t\t\t\t} catch (e) {\n\t\t\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.OAUTH_FAILURE });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!redirectResponse.ok) {\n\t\t\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.OAUTH_FAILURE });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { result } = redirectResponse.body;\n\n\t\t\t\tconst { code, state: redirectState } = result;\n\t\t\t\tif (code && redirectState === state) {\n\t\t\t\t\tconst params = new URLSearchParams();\n\t\t\t\t\tparams.append(GRANT_TYPE, GRANT_TYPE_AUTH_CODE);\n\t\t\t\t\tparams.append(CODE, code);\n\t\t\t\t\tparams.append(CLIENT_ID, APP_CLIENT_ID);\n\t\t\t\t\tparams.append(REDIRECT_URI, APP_REDIRECT_URI);\n\t\t\t\t\tparams.append(CODE_VERIFIER, codeVerifier);\n\t\t\t\t\tparams.append(ISS_INSTANCE_URL, true);\n\t\t\t\t\tdispatch(\"HA_FETCH_AUTH_TOKEN\", {\n\t\t\t\t\t\tdata: params.toString(),\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.PKCE_FAILURE });\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_FETCH_AUTH_TOKEN\"]: fetchOAuthToken,\n\t\t[\"HA_FETCH_AUTH_TOKEN_SUCCEEDED\"]: ({ action, dispatch }) => {\n\t\t\tconst { access_token } = action.payload;\n\t\t\tstoreAccessToken(access_token);\n\t\t\tdispatch(\"TAKE_CONSENT_GET_AUTH_TOKEN_SUCCEEDED\");\n\t\t},\n\n\t\t[\"HA_FETCH_AUTH_TOKEN_FAILED\"]: ({ dispatch }) => {\n\t\t\tdispatch(\"HA_CONSENT_AUTH_ERROR\", { type: errors.TOKEN_FAILURE });\n\t\t},\n\t\t[\"HA_CONSENT_AUTH_ERROR\"]: {\n\t\t\teffect: ({ action, dispatch }) => {\n\t\t\t\tconst { type } = action.payload;\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase errors.CONSENT_FAILED:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.fetchUserConsentFailed,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase errors.CONSENT_SUBMISSION_FAILURE:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.failedToSubmitUserConsent,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase errors.OAUTH_FAILURE:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.failedToFetchOAuthCode,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase errors.PKCE_FAILURE:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.failedPKCEConfig,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase errors.TOKEN_FAILURE:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.failedToGenerateAccessToken,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase errors.NO_SEARCH_SOURCE_CONFIGURED:\n\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\ttext: t.searchSourceNotConfigured,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdispatch(\"TAKE_CONSENT_GET_AUTH_TOKEN_FAILED\");\n\t\t\t},\n\t\t},\n\t\t[\"HA_AUTH_RESET\"]: {\n\t\t\teffect: () => {},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","// feedback modal\n// modeless dialog\n// user consent modal\n\nimport crossTabCommunicator from \"../crossTabCommunicator/crossTabCommunicator\";\nimport { BROADCAST_ACTIONS } from \"../crossTabCommunicator/crossTabConstants\";\nimport { HA_ACTIONS, alertActions, TELEMETRY_METRIC } from \"../../constants\";\nimport { translatedTexts as t } from \"../../../commons/i18n\";\n\nexport default {\n\tname: \"ASSISTANT_MODEL_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[\"HA_FEEBACK_MODAL_OPEN\"]: {\n\t\t\teffect: () => {},\n\t\t},\n\t\t[\"HA_FEEBACK_MODAL_CLOSE\"]: {\n\t\t\teffect: () => {},\n\t\t},\n\t\t[\"HA_USER_CONSENT_MODAL_OPEN\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowUserConsentModal: true,\n\t\t\t\t\tisFirstTimeUser: true,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[\"HA_USER_CONSENT_MODAL_CLOSE\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowUserConsentModal: false,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[\"HA_MODELESS_DIALOG_OPEN\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowModelessDialog: true,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[\"HA_MODELESS_DIALOG_CLOSE\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowModelessDialog: false,\n\t\t\t\t\tisPaused: false,\n\t\t\t\t\tenableTranscript: true,\n\t\t\t\t\tcontent: \"\",\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t[\"SN_HELP_ASSISTANT#UPDATE_MODELESS_DIALOG_CONTENT\"]: (coeffects) => {\n\t\t\tconst { action, updateState } = coeffects;\n\t\t\tupdateState({\n\t\t\t\tcontent: action.payload,\n\t\t\t});\n\t\t\tif (crossTabCommunicator.isPrimaryTabActive()) {\n\t\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.DYNAMIC_TRANSCRIPT_UPDATED, action.payload);\n\t\t\t}\n\t\t},\n\t\t[\"HA_MODELESS_DIALOG#PAUSE_CLICKED\"]: {\n\t\t\teffect: ({ updateState, state, dispatch }) => {\n\t\t\t\tconst { isPaused } = state;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tisPaused: !isPaused,\n\t\t\t\t});\n\n\t\t\t\tif (crossTabCommunicator.isSecondaryTabActive()) {\n\t\t\t\t\tif (!isPaused) {\n\t\t\t\t\t\tcrossTabCommunicator.broadcast(\n\t\t\t\t\t\t\tBROADCAST_ACTIONS.DYNAMIC_GUIDANCE_PAUSED,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcrossTabCommunicator.broadcast(\n\t\t\t\t\t\t\tBROADCAST_ACTIONS.DYNAMIC_GUIDANCE_RESUMED,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (isPaused) {\n\t\t\t\t\tdispatch(HA_ACTIONS.RESUME_DYNAMIC_GUIDANCE);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(HA_ACTIONS.PAUSE_DYNAMIC_GUIDANCE);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_MODELESS_DIALOG#TRANSCRIPT_CLICKED\"]: {\n\t\t\teffect: ({ updateState, state }) => {\n\t\t\t\tconst { enableTranscript } = state;\n\t\t\t\tupdateState({\n\t\t\t\t\tenableTranscript: !enableTranscript,\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_MODELESS_DIALOG#END_CLICKED\"]: {\n\t\t\teffect: ({ dispatch, updateState, state }) => {\n\t\t\t\tdispatch(\"HA_MODELESS_DIALOG_CLOSE\");\n\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\ttype: \"info\",\n\t\t\t\t\t\ttext: t.clientStopped,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tshowFeedbackModal: true,\n\t\t\t\t});\n\t\t\t\tif (crossTabCommunicator.isSecondaryTabActive()) {\n\t\t\t\t\tcrossTabCommunicator.broadcast(\n\t\t\t\t\t\tBROADCAST_ACTIONS.MODELESS_DIALOG_CLOSED, {\n                            isUserInitiated: true\n                        }\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE, {isUserInitiated: true});\n\t\t\t},\n\t\t},\n\t\t[\"HA_FEEDBACK_MODAL#FEEDBACK_MODAL_CLOSED\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowFeedbackModal: false,\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[\"HA_MODEL_RESET\"]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowModelessDialog: false,\n\t\t\t\t\tshowUserConsentModal: false,\n\t\t\t\t\tisFirstTimeUser: false,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const HA_FEEDBACK_MODAL_BASE_ACTION = 'HA_FEEDBACK_MODAL';\n\nexport const ACTIONS = {\n    // Action dispatched by feedback modal to tell parents, when its closed.\n    'FEEDBACK_MODAL_CLOSED': `${HA_FEEDBACK_MODAL_BASE_ACTION}#FEEDBACK_MODAL_CLOSED`,\n\n    // Outer component actions used by feedback modal \n    'FEEDBACK_ACTION_CLICKED': 'NOW_MODAL#FOOTER_ACTION_CLICKED',\n    'FEEDBACK_MODAL_CLOSE_REQUESTED': 'NOW_MODAL#OPENED_SET',\n    'FEEDBACK_BUTTON_CLICKED': 'NOW_BUTTON_STATEFUL#SELECTED_SET',\n    'FEEDBACK_REVIEW_COMMENTS_UPDATED': 'NOW_TEXTAREA#INPUT',\n    'FEEDBACK_ALERT_CLOSE_REQUESTED': 'NOW_ALERT#ACTION_CLICKED',\n    'FEEDBACK_ALERT_AUTO_CLOSE_REQUESTED': 'NOW_ALERT#AUTO_DISMISS',\n    'NOW_PILL_SELECTED_SET': 'NOW_PILL#SELECTED_SET',\n    'SHOW_FEEDBACK_ALERT': `${HA_FEEDBACK_MODAL_BASE_ACTION}#SHOW_FEEDBACK_ALERT`\n};\n\n// Feedback category IDs (unique identifiers)\nexport const FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_ID = \"didnt_understand\";\nexport const FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_ID = \"incorrect_guidance\";\nexport const FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_ID = \"offensive_unsafe\";\nexport const FEEDBACK_CATEGORY_TAKES_TOO_LONG_ID = \"takes_too_long\";\nexport const FEEDBACK_CATEGORY_POOR_VOICE_ID = \"poor_voice\";\nexport const FEEDBACK_CATEGORY_TIMEOUT_ERROR_ID = \"timeout_error\";\nexport const FEEDBACK_CATEGORY_NO_RESPONSE_ID = \"no_response\";\n\nexport const FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL = \"Didn't understand my question\";\nexport const FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL = \"Incorrect Instructions/Guidance\";\nexport const FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL = \"Offensive/Unsafe\";\nexport const FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL = \"Takes too long\";\nexport const FEEDBACK_CATEGORY_POOR_VOICE_LABEL = \"Poor Voice Experience\";\nexport const FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL = \"Timeout Error\";\nexport const FEEDBACK_CATEGORY_NO_RESPONSE_LABEL = \"No response received/No Voice\";\n\n\nexport const THUMBS_UP = 'Thumbs Up';\nexport const THUMBS_DOWN = 'Thumbs Down'; \n","import { t } from \"sn-translate\";\nimport {\n    FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL,\n    FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL,\n    FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL,\n    FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL,\n    FEEDBACK_CATEGORY_POOR_VOICE_LABEL,\n    FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL,\n    FEEDBACK_CATEGORY_NO_RESPONSE_LABEL,\n    THUMBS_UP,\n    THUMBS_DOWN\n} from './constants';\n\nexport const SUBMIT = t('Submit Feedback');\nexport const t_THUMBS_UP = t(THUMBS_UP);\nexport const t_THUMBS_DOWN = t(THUMBS_DOWN); \nexport const BACK = t('Back');\n\nexport const FEEDBACK_LABEL = t('Dynamic Guidance has ended');\nexport const IS_GUIDANCE_USEFUL_TEXT = t('Was the guidance useful in completing the task?');\nexport const FEEDBACK_PLACEHOLDER = t('Tell us about your experience so we can use this to improve our feature.');\nexport const TELL_US_WHY_NOT_USEFUL = t('Tell us why the guidance was not useful');\nexport const ALERT_SUCCESS_MSG = t('Thank you for submitting your valuable feedback.');\n\n// Feedback category translations\nexport const t_CATEGORY_DIDNT_UNDERSTAND = t(FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL);\nexport const t_CATEGORY_INCORRECT_GUIDANCE = t(FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL);\nexport const t_CATEGORY_OFFENSIVE_UNSAFE = t(FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL);\nexport const t_CATEGORY_TAKES_TOO_LONG = t(FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL);\nexport const t_CATEGORY_POOR_VOICE = t(FEEDBACK_CATEGORY_POOR_VOICE_LABEL);\nexport const t_CATEGORY_TIMEOUT_ERROR = t(FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL);\nexport const t_CATEGORY_NO_RESPONSE = t(FEEDBACK_CATEGORY_NO_RESPONSE_LABEL);","import {\n    FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_ID,\n    FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_ID,\n    FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_ID,\n    FEEDBACK_CATEGORY_TAKES_TOO_LONG_ID,\n    FEEDBACK_CATEGORY_POOR_VOICE_ID,\n    FEEDBACK_CATEGORY_TIMEOUT_ERROR_ID,\n    FEEDBACK_CATEGORY_NO_RESPONSE_ID,\n    FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL,\n    FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL,\n    FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL,\n    FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL,\n    FEEDBACK_CATEGORY_POOR_VOICE_LABEL,\n    FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL,\n    FEEDBACK_CATEGORY_NO_RESPONSE_LABEL\n} from './constants';\nimport {\n    t_CATEGORY_DIDNT_UNDERSTAND,\n    t_CATEGORY_INCORRECT_GUIDANCE,\n    t_CATEGORY_OFFENSIVE_UNSAFE,\n    t_CATEGORY_TAKES_TOO_LONG,\n    t_CATEGORY_POOR_VOICE,\n    t_CATEGORY_TIMEOUT_ERROR,\n    t_CATEGORY_NO_RESPONSE\n} from './i18n';\n\n// Feedback categories for pills with translations from i18n\nexport const FEEDBACK_CATEGORIES = [\n    { id: FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_ID, label: t_CATEGORY_DIDNT_UNDERSTAND, value: FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_LABEL },\n    { id: FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_ID, label: t_CATEGORY_INCORRECT_GUIDANCE, value: FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_LABEL },\n    { id: FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_ID, label: t_CATEGORY_OFFENSIVE_UNSAFE, value: FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_LABEL },\n    { id: FEEDBACK_CATEGORY_TAKES_TOO_LONG_ID, label: t_CATEGORY_TAKES_TOO_LONG, value: FEEDBACK_CATEGORY_TAKES_TOO_LONG_LABEL },\n    { id: FEEDBACK_CATEGORY_POOR_VOICE_ID, label: t_CATEGORY_POOR_VOICE, value: FEEDBACK_CATEGORY_POOR_VOICE_LABEL },\n    { id: FEEDBACK_CATEGORY_TIMEOUT_ERROR_ID, label: t_CATEGORY_TIMEOUT_ERROR, value: FEEDBACK_CATEGORY_TIMEOUT_ERROR_LABEL },\n    { id: FEEDBACK_CATEGORY_NO_RESPONSE_ID, label: t_CATEGORY_NO_RESPONSE, value: FEEDBACK_CATEGORY_NO_RESPONSE_LABEL }\n];\n\nexport const getDefaultSelectedPills = () => ({\n    [FEEDBACK_CATEGORY_DIDNT_UNDERSTAND_ID]: false,\n    [FEEDBACK_CATEGORY_INCORRECT_GUIDANCE_ID]: false,\n    [FEEDBACK_CATEGORY_OFFENSIVE_UNSAFE_ID]: false,\n    [FEEDBACK_CATEGORY_TAKES_TOO_LONG_ID]: false,\n    [FEEDBACK_CATEGORY_POOR_VOICE_ID]: false,\n    [FEEDBACK_CATEGORY_TIMEOUT_ERROR_ID]: false,\n    [FEEDBACK_CATEGORY_NO_RESPONSE_ID]: false\n});\n\nexport const convertPillsToReadableFormat = (selectedPills) => {\n    const readablePills = {};\n    FEEDBACK_CATEGORIES.forEach(category => {\n        readablePills[category.value] = selectedPills[category.id] || false;\n    });\n    return readablePills;\n};","import {actionTypes} from '@servicenow/ui-core';\nimport { ACTIONS, THUMBS_UP, THUMBS_DOWN } from './constants';\nimport { getDefaultSelectedPills, convertPillsToReadableFormat } from './utils';\nimport track from '@devsnc/ux-metrics';\nimport { TELEMETRY_METRIC, alertActions, dataHandlerActions } from '../../../sn-help-assistant/constants';\nimport { SUBMIT, BACK, ALERT_SUCCESS_MSG } from './i18n';\n\nconst resetFeedbackState = () => ({\n\tfeedbackText: \"\",\n\tfeedbackThumbs: \"\",\n\tselectedPills: getDefaultSelectedPills(),\n\tshowDetailedFeedback: false,\n\tfeedbackSubmitted: false\n});\n\nconst dispatchFeedbackToLog = (dispatch, traceId) => {\n\tif (traceId) {\n\t\tdispatch(dataHandlerActions.HA_SUBMIT_FEEDBACK, {\n\t\t\tpayload: {\n\t\t\t\ttrace_id: traceId,\n\t\t\t\tfeedback_type: 'thumbs_down'\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport const actionHandlers = {\n\n\t[actionTypes.COMPONENT_DISCONNECTED]: ({updateState}) => {\n\t\tupdateState(resetFeedbackState());\n\t},\n\n\t[ACTIONS.FEEDBACK_ACTION_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst { updateState, action, state, dispatch, properties } = coeffects;\n\t\t\tconst label = action.payload.action.label;\n\t\t\tconst { feedbackText, selectedPills } = state;\n\t\t\tconst { traceId } = properties;\n\t\t\t\n\t\t\tif (label === BACK) {\n\t\t\t\tupdateState(resetFeedbackState());\n\t\t\t} else if (label === SUBMIT) {\n\t\t\t\tconst readablePills = convertPillsToReadableFormat(selectedPills);\n\t\t\t\ttrack(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_THUMBS_DOWN, {\n\t\t\t\t\t'Review': feedbackText,\n\t\t\t\t\t...readablePills\n\t\t\t\t});\n\t\t\t\tdispatchFeedbackToLog(dispatch, traceId);\n\t\t\t\tdispatch(ACTIONS.FEEDBACK_MODAL_CLOSED);\n\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\ttype: 'positive',\n\t\t\t\t\t\ttext: ALERT_SUCCESS_MSG\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tupdateState(resetFeedbackState());\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[ACTIONS.FEEDBACK_MODAL_CLOSE_REQUESTED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst { dispatch, state, properties } = coeffects;\n\t\t\tconst { showDetailedFeedback } = state;\n\t\t\tconst { traceId } = properties;\n\t\t\tif (showDetailedFeedback) {\n\t\t\t\tconst readablePills = convertPillsToReadableFormat(getDefaultSelectedPills());\n\t\t\t\ttrack(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_THUMBS_DOWN, {\n\t\t\t\t\t'Review': \"\",\n\t\t\t\t\t...readablePills\n\t\t\t\t});\n\t\t\t\tdispatchFeedbackToLog(dispatch, traceId);\n\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\ttype: 'positive',\n\t\t\t\t\t\ttext: ALERT_SUCCESS_MSG\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch(ACTIONS.FEEDBACK_MODAL_CLOSED);\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\n\t[ACTIONS.FEEDBACK_BUTTON_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst { action, updateState, dispatch } = coeffects;\n\t\t\tconst feedbackThumbs = action?.meta?.appended?.id;\n\t\t\t\n\t\t\tif (feedbackThumbs === THUMBS_UP) {\n\t\t\t\t// For thumbs up, immediately track and show success alert\n\t\t\t\ttrack(coeffects, TELEMETRY_METRIC.DYNAMIC_GUIDANCE_THUMBS_UP, {});\n\t\t\t\tupdateState({\n\t\t\t\t\tfeedbackThumbs,\n\t\t\t\t\tfeedbackSubmitted: true\n\t\t\t\t});\n\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_REQUESTED, {\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\ttype: 'positive',\n\t\t\t\t\t\ttext: ALERT_SUCCESS_MSG\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdispatch(ACTIONS.FEEDBACK_MODAL_CLOSED);\n\t\t\t} else if (feedbackThumbs === THUMBS_DOWN) {\n\t\t\t\t// For thumbs down, show the detailed feedback modal\n\t\t\t\tupdateState({\n\t\t\t\t\tfeedbackThumbs,\n\t\t\t\t\tshowDetailedFeedback: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[ACTIONS.FEEDBACK_REVIEW_COMMENTS_UPDATED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst { action: { payload }, updateState } = coeffects;\n\t\t\tconst feedbackText = payload.fieldValue || \"\";\n\t\t\tupdateState({ feedbackText });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t\n\t// Handle pill selection\n\t[ACTIONS.NOW_PILL_SELECTED_SET]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst { action, state, updateState } = coeffects;\n\t\t\tconst pillId = action?.meta?.appended?.id;\n\t\t\tconst isSelected = action?.payload?.value;\n\t\t\tconst { selectedPills } = state;\n\t\t\tif (pillId) {\n\t\t\t\tconst newSelectedPills = {\n\t\t\t\t\t...selectedPills,\n\t\t\t\t\t[pillId]: isSelected\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tupdateState({ selectedPills: newSelectedPills });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n\n};","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-button';\nimport '@servicenow/now-pill';\nimport styles from './ha-feedback.scss';\nimport { actionHandlers } from './actionHandler';\nimport { \n    FEEDBACK_LABEL, \n    IS_GUIDANCE_USEFUL_TEXT, \n    SUBMIT, \n    FEEDBACK_PLACEHOLDER, \n    BACK, \n    TELL_US_WHY_NOT_USEFUL,\n    t_THUMBS_UP, \n    t_THUMBS_DOWN\n} from './i18n';\nimport { THUMBS_UP, THUMBS_DOWN } from './constants';\nimport { FEEDBACK_CATEGORIES, getDefaultSelectedPills } from './utils';\n\nconst view = state => {\n    const { feedbackThumbs, feedbackText, showDetailedFeedback, selectedPills } = state;\n\n    // First Modal - Thumbs Up/Down Selection\n    const InitialFeedbackModal = () => (\n        <now-modal\n            opened={true}\n            size=\"md\"\n            manage-opened={true}\n            header-label={FEEDBACK_LABEL}\n        >\n            <div className=\"feedback-modal-content\">            \n                <div className=\"feedback-footer\">\n                    <div className=\"is-useful-text\">\n                        {IS_GUIDANCE_USEFUL_TEXT}\n                    <\/div>\n                    <div className=\"feedback-buttons\">\n                        <now-button-stateful\n                            manageSelected={true}\n                            selected={feedbackThumbs === THUMBS_UP}\n                            className={THUMBS_UP}\n                            icon={\"thumbs-up-\" + ((feedbackThumbs === \"\" || feedbackThumbs === THUMBS_DOWN) ? \"outline\" : \"fill\")}\n                            variant=\"primary\"\n                            tooltipContent={t_THUMBS_UP}\n                            size=\"lg\"\n                            append-to-meta={{\n                                id: THUMBS_UP\n                            }}\n                            configAria={{\n                                button: {\n                                    'aria-label': t_THUMBS_UP\n                                }\n                            }}\n                        />\n                        <now-button-stateful\n                            manageSelected={true}\n                            selected={feedbackThumbs === THUMBS_DOWN}\n                            className={THUMBS_DOWN}\n                            icon={\"thumbs-down-\" + ((feedbackThumbs === \"\" || feedbackThumbs === THUMBS_UP) ? \"outline\" : \"fill\")}\n                            variant=\"primary\"\n                            tooltipContent={t_THUMBS_DOWN}\n                            size=\"lg\"\n                            append-to-meta={{\n                                id: THUMBS_DOWN\n                            }}\n                            configAria={{\n                                button: {\n                                    'aria-label': t_THUMBS_DOWN\n                                }\n                            }}\n                        />\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/now-modal>\n    );\n\n    // Second Modal - Feedback with Pills\n    const DetailedFeedbackModal = () => (\n        <now-modal\n            opened={true}\n            size=\"md\"\n            manage-opened={true}\n            header-label={TELL_US_WHY_NOT_USEFUL}\n            footer-actions={[\n                {\n                    \"variant\": \"primary\",\n                    \"label\": SUBMIT\n                },\n                {\n                    \"variant\": \"secondary\",\n                    \"label\": BACK\n                }\n            ]}\n        >\n            <div className=\"detailed-feedback-modal-content\">\n                <div className=\"feedback-pills-container\">\n                    {FEEDBACK_CATEGORIES.map(category => (\n                        <now-pill\n                            label={category.label}\n                            size='md'\n                            selected={selectedPills[category.id] === true}\n                            manageSelected={true}\n                            append-to-meta={{\n                                id: category.id\n                            }}\n                        />\n                    ))}\n                <\/div>\n\n                <div className=\"feedback-textarea-container\">\n                    <now-textarea\n                        size=\"md\"\n                        resize=\"vertical\"\n                        placeholder={FEEDBACK_PLACEHOLDER}\n                        className=\"feedback-text\"\n                        value={feedbackText}\n                    />\n                <\/div>\n            <\/div>\n        <\/now-modal>\n    );\n\n    return (\n        <div>\n            {\n                showDetailedFeedback ? DetailedFeedbackModal() : InitialFeedbackModal()\n            }\n        <\/div>\n    );\n};\n\ncreateCustomElement('ha-feedback', {\n    renderer: {\n        type: snabbdom,\n        view\n    },\n    styles,\n    properties: {\n        traceId: {\n            default: '',\n            required: false,\n            schema: {\n                type: 'string'\n            }\n        }\n    },\n    actionHandlers,\n    initialState: {\n        feedbackThumbs: '', // Up / Down \n        feedbackText: '', // User review comments\n        showDetailedFeedback: false, // Controls which modal to show\n        selectedPills: getDefaultSelectedPills() \n    },\n});","import {\n\talertActions\n} from '../constants';\nimport { dangerouslyCreateElementFromString } from '@servicenow/ui-renderer-snabbdom';\nimport {generateRandomId} from '../commons/utils';\nconst iconMap = {\n\twarning: 'check-circle-outline',\n\terror: 'exclamation-triangle-outline',\n\tinfo: 'info-circle-outline',\n\tpositive: 'circle-check-outline', \n};\n\nconst statusMap = {\n\terror: 'critical',\n\tinfo: 'info',\n\twarning: 'warning',\n\tpositive: 'positive'\n};\n\nconst getAlert = (message, id) => {\n\treturn {\n\t\tid: id,\n\t\tstatus: statusMap[message.type],\n\t\ticon: iconMap[message.type],\n\t\tcontent: {\n\t\t\ttype: 'jsx',\n\t\t\tvalue: (\n\t\t\t\t<span>\n\t\t\t\t\t{dangerouslyCreateElementFromString(`<span>${message.text}<\/span>`)}\n\t\t\t\t<\/span>\n\t\t\t),\n\t\t},\n\t\taction: { type: 'dismiss' },\n\t};\n};\n\nexport default {\n\tname: 'HELP_ASSISTANT_ALERTS_BEHAVIOR',\n\tactionHandlers: {\n\t\t[alertActions.HA_NOTIFICATION_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { message },\n\t\t\t\t},\n\t\t\t\tstate: { helpAssistantNotifications },\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t}) => {\n\t\t\t\tconst randomId = generateRandomId();\n\t\t\t\tconst id = `help-assistant-notification-alert-${randomId}`;\n\t\t\t\tconst newAlert = getAlert(message, id);\n\t\t\t\tupdateState({\n\t\t\t\t\thelpAssistantNotifications: helpAssistantNotifications\n\t\t\t\t\t? [...helpAssistantNotifications, newAlert]\n\t\t\t\t\t: [newAlert],\n\t\t\t\t});\n\t\t\t\tconst dismissable = (message?.dismissable !== undefined) ? message.dismissable : true;\t\n\t\t\t\tif (dismissable) {\n\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tdispatch(alertActions.HA_NOTIFICATION_CLEAR_REQUESTED, id);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmessage.duration ? message.duration : 5000\n\t\t\t\t\t);\t\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[alertActions.HA_NOTIFICATION_CLEAR_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\taction: { payload: id },\n\t\t\t\tstate: { helpAssistantNotifications },\n\t\t\t\tupdateState,\n\t\t\t}) => {\n\t\t\t\tconst filteredItems = helpAssistantNotifications.filter(\n\t\t\t\t\t(notification) => notification.id !== id\n\t\t\t\t);\n\t\t\t\tupdateState({ helpAssistantNotifications: filteredItems });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_ALERT_LIST#ITEM_ACTION_CLICKED']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { item },\n\t\t\t\t},\n\t\t\t\tstate: { helpAssistantNotifications },\n\t\t\t\tupdateState,\n\t\t\t}) => {\n\t\t\t\tconst filteredItems = helpAssistantNotifications.filter(\n\t\t\t\t\t(n) => n.id !== item.id\n\t\t\t\t);\n\t\t\t\tupdateState({ helpAssistantNotifications: filteredItems });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_ALERT_LIST#ITEMS_SET']: {\n\t\t\teffect: ({ action, updateState }) => {\n\t\t\t\tupdateState({ helpAssistantNotifications: action.payload.value });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","import {\n\tCROSS_TAB_DISCONNECT,\n\tCROSS_TAB_HANDLE_STATE_QUERY,\n\tCROSS_TAB_INITIALIZE_COMMUNICATION\n} from \"./crossTabConstants\";\nimport crossTabCommunicator from \"./crossTabCommunicator\";\nimport {BROADCAST_ACTIONS} from \"./crossTabConstants\";\nimport {assistantServiceActions, STOP_LIVE_CLIENT, HA_RESET_STATE, HA_ACTIONS} from \"../../constants\";\nimport {updatePausedTime} from \"../../commons/utils\";\n\nlet _visibilityChangeHandler = null;\n\nexport default {\n\tname: \"CROSS_TAB_COMMUNICATION_BEHAVIOR\",\n\tactionHandlers: {\n\t\t[CROSS_TAB_INITIALIZE_COMMUNICATION]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst { updateState, dispatch } = coeffects;\n\n\t\t\t\t// Listen for dynamic guidance requested from other tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_REQUESTED, ({ payload }) => {\n\t\t\t\t\tdispatch('HA_MODELESS_DIALOG_OPEN');\n\t\t\t\t});\n\n\t\t\t\t// Listen for modeless dialog closed from other tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.MODELESS_DIALOG_CLOSED, ({ payload }) => {\n\t\t\t\t\tconst {isUserInitiated} = payload || {};\n\t\t\t\t\tif (crossTabCommunicator.isPrimaryTabActive()) {\n\t\t\t\t\t\tdispatch(HA_ACTIONS.STOP_DYNAMIC_GUIDANCE, {isUserInitiated: isUserInitiated});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch('HA_MODELESS_DIALOG_CLOSE');\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcrossTabCommunicator.releasePrimaryTab();\n\t\t\t\t});\n\n\t\t\t\t// Listen for tab closure events from other tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.TAB_CLOSED, () => {\n\t\t\t\t\tdispatch('HA_MODELESS_DIALOG_CLOSE');\n\t\t\t\t});\n\n\t\t\t\t// Listen for state queries from new tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.STATE_QUERY, ({ tabId }) => {\n\t\t\t\t\t// Only respond if this is the primary tab\n\t\t\t\t\tif (crossTabCommunicator.isPrimaryTabActive()) {\n\t\t\t\t\t\tdispatch(CROSS_TAB_HANDLE_STATE_QUERY, { requestingTabId: tabId });\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Listen for state responses from existing tabs (only from primary tab)\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.STATE_RESPONSE, ({ payload }) => {\n\t\t\t\t\tconst { requestingTabId, isPaused, primaryTabId, content } = payload || {};\n\n\t\t\t\t\t// Only respond to our own state query\n\t\t\t\t\tif (requestingTabId === crossTabCommunicator.getTabId()) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tisPaused,\n\t\t\t\t\t\t\tcontent: content || ''\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch('HA_MODELESS_DIALOG_OPEN');\n\t\t\t\t\t\tcrossTabCommunicator.setPrimaryTabId(primaryTabId);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Listen for pause action from other tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_PAUSED, () => {\n\t\t\t\t\tif (crossTabCommunicator.isPrimaryTabActive()) {\n\t\t\t\t\t\tdispatch(HA_ACTIONS.PAUSE_DYNAMIC_GUIDANCE);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateState({ isPaused: true });\n\t\t\t\t\t}\t\n\t\t\t\t});\n\t\t\t\t// Listen for resume action from other tabs\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_GUIDANCE_RESUMED, () => {\n\t\t\t\t\tif (crossTabCommunicator.isPrimaryTabActive()) {\n\t\t\t\t\t\tdispatch(HA_ACTIONS.RESUME_DYNAMIC_GUIDANCE);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tisPaused: false,\n\t\t\t\t\t\t\tcontent: ''\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Listen for transcript and AI speaking state from primary tab.\n\t\t\t\t// Skip re-renders when tab is hidden — state is synced via visibilitychange below.\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_TRANSCRIPT_UPDATED, ({ payload }) => {\n\t\t\t\t\tif (document.visibilityState === 'visible') {\n\t\t\t\t\t\tupdateState({ content: payload });\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_VOICE_STARTED, () => {\n\t\t\t\t\tif (document.visibilityState === 'visible') {\n\t\t\t\t\t\tupdateState({ isVoiceActive: true });\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tcrossTabCommunicator.addListener(BROADCAST_ACTIONS.DYNAMIC_VOICE_STOPPED, () => {\n\t\t\t\t\tupdateState({ isVoiceActive: false });\n\t\t\t\t});\n\n\t\t\t\t// When secondary tab regains focus, request a fresh state snapshot from\n\t\t\t\t// the primary tab to catch up on any updates missed while hidden\n\t\t\t\t_visibilityChangeHandler = () => {\n\t\t\t\t\tif (document.visibilityState === 'visible' && crossTabCommunicator.isSecondaryTabActive()) {\n\t\t\t\t\t\tcrossTabCommunicator.queryStateFromOtherTabs();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tdocument.addEventListener('visibilitychange', _visibilityChangeHandler);\n\n\t\t\t\t// Query existing tabs for current state (for new tabs)\n\t\t\t\tcrossTabCommunicator.queryStateFromOtherTabs();\n\t\t\t}\n\t\t},\n\n\t\t// Handle state query from other tabs\n\t\t[CROSS_TAB_HANDLE_STATE_QUERY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {action, state} = coeffects;\n\t\t\t\tconst {requestingTabId} = action.payload || {};\n\n\t\t\t\t// Only respond if we are the primary tab, have a modeless dialog, and the requesting tab ID is valid\n\t\t\t\tif (crossTabCommunicator.isPrimaryTabActive() &&\n\t\t\t\t\trequestingTabId &&\n\t\t\t\t\trequestingTabId !== crossTabCommunicator.getTabId()) {\n\t\t\t\t\tcrossTabCommunicator.broadcast(BROADCAST_ACTIONS.STATE_RESPONSE, {\n\t\t\t\t\t\trequestingTabId,\n\t\t\t\t\t\tstartTime: state.startTime,\n\t\t\t\t\t\tisPaused: state.isPaused || false,\n\t\t\t\t\t\tcontent: state.content || '',\n\t\t\t\t\t\tprimaryTabId: crossTabCommunicator.getTabId()\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t[CROSS_TAB_DISCONNECT]: {\n\t\t\teffect: () => {\n\t\t\t\tif (_visibilityChangeHandler) {\n\t\t\t\t\tdocument.removeEventListener('visibilitychange', _visibilityChangeHandler);\n\t\t\t\t\t_visibilityChangeHandler = null;\n\t\t\t\t}\n\t\t\t\tcrossTabCommunicator.destroy();\n\t\t\t}\n\t\t}\n\t}\n}\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom, { Fragment } from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from \"./styles.scss\";\nimport { actionHandlers } from \"./actions/coreHandlers\";\nimport \"../components/presentational/ha-user-consent-modal\";\nimport \"../components/presentational/ha-modeless-dialog\";\nimport audio from \"./behaviors/audio\";\nimport screen from \"./behaviors/screen\";\nimport liveClient from \"./behaviors/live-client\";\nimport consentAuth from \"./behaviors/consent-auth\";\nimport modal from \"./behaviors/modals\";\nimport \"../components/presentational/ha-feedback\";\nimport helpAssistantAlertBehavior from './behaviors/helpAssistantAlertBehavior';\nimport \"../components/presentational/ha-alerts\";\nimport crossTabCommunicatorBehavior from './behaviors/crossTabCommunicator';\n\nconst view = ({ enableHelpAssistant, showUserConsentModal, showModelessDialog, showFeedbackModal, helpAssistantNotifications, isPaused, enableTranscript, content, isAiSpeaking, micVolume, isVoiceActive, traceId }) => {\n\tif (!enableHelpAssistant) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Fragment>\n\t\t\t{helpAssistantNotifications?.length ? (\n\t\t\t\t<ha-alerts items={helpAssistantNotifications} now-hoist><\/ha-alerts>\n\t\t\t) : null}\n\t\t\t{showUserConsentModal ? (\n\t\t\t\t<ha-user-consent-modal><\/ha-user-consent-modal>\n\t\t\t) : null}\n\t\t\t{showModelessDialog ? (\n\t\t\t\t<ha-modeless-dialog isPaused={isPaused} enableTranscript={enableTranscript} content={content} isAiSpeaking={isAiSpeaking} micVolume={micVolume} isVoiceActive={isVoiceActive}><\/ha-modeless-dialog>\n\t\t\t) : null}\n\t\t\t{showFeedbackModal ? (\n\t\t\t\t<ha-feedback traceId={traceId}><\/ha-feedback>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\ncreateCustomElement(\"sn-help-assistant\", {\n\trenderer: { type: snabbdom },\n\tinitialState: {\n\t\tenableHelpAssistant: true,\n\t\tisUserConsented: false,\n\t\tshowUserConsentModal: false,\n\t\tshowModelessDialog: false,\n\t\tshowFeedbackModal: false,\n\t\thelpAssistantNotifications: [],\n\t\tstartTime: 0,\n\t\tisPaused: false,\n\t\tpauseTimestamp: null,\n\t\ttotalPausedTime: 0,\n\t\tenableTranscript: true,\n\t\tcontent: '',\n\t\tisFirstTimeUser: false,\n\t\theartbeatIntervalId: null,\n\t\tconversationIdNAP: null,\n\t\tisAiSpeaking: false,\n\t\tmicVolume: 0,\n\t\tisVoiceActive: false,\n\t\ttraceId: ''\n\t},\n\tview,\n\tstyles,\n\tactionHandlers,\n\tbehaviors: [\n\t\t{ behavior: audio },\n\t\t{ behavior: liveClient },\n\t\t{ behavior: screen },\n\t\thelpAssistantAlertBehavior,\n\t\t{behavior: crossTabCommunicatorBehavior},\n\t\t{behavior: consentAuth},\n\t\t{behavior: modal}\n\n\t]\n});\n","import {observable} from './observable';\n\nconst messageQueue = observable.getInstance();\n\nexport const snHelpAssistantBehavior = {\n\tname: 'sn-help-assistant-behavior',\n\tactionHandlers: {\n\t\t['SN_HELP_ASSISTANT#START_DYNAMIC_GUIDANCE'] : helpers => messageQueue.trigger('SN_HELP_ASSISTANT#START_DYNAMIC_GUIDANCE', helpers.action.payload),\n\t\t['SN_HELP_ASSISTANT#STOP_DYNAMIC_GUIDANCE'] : helpers => messageQueue.trigger('SN_HELP_ASSISTANT#STOP_DYNAMIC_GUIDANCE', helpers.action.payload),\n\t\t['SN_HELP_ASSISTANT#PAUSE_DYNAMIC_GUIDANCE'] : helpers => messageQueue.trigger('SN_HELP_ASSISTANT#PAUSE_DYNAMIC_GUIDANCE', helpers.action.payload),\n\t}\n};\n","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_help_assistant=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":200,"column":0},"map":{"mappings":"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","file":"externals/polaris-app-shell/index.min.js","names":["OPEN_FRAME_BEHAVIOR","OPEN_FRAME_MINIMUM_MODAL_WIDTH","COMPONENT_BOOTSTRAPPED","actionTypes","greenTextColor","redTextColor","whiteTextColor","blueTextColor","observeCumulativeLayoutShift","type","createPerformanceObserver","entry","textColor","value","console","group","log","msg","sources","node","currentRect","previousRect","groupEnd","observeLongTasks","name","duration","attribution","taskEntry","observeResourceTiming","transferSize","decodedBodySize","toFixed","observePaintTiming","observeUserTiming","observeFirstInputDelay","observeLargestContentfulPaint","observeNavigationTiming","domContentLoadedTime","domContentLoadedEventEnd","domContentLoadedEventStart","observerType","callback","PerformanceObserver","supportedEntryTypes","includes","entryList","getEntries","observe","buffered","actionHandlers","effect","whenScreenMacroponentIdleDuringPageLoad","then","setTimeout","perfEntries","window","performance","timings","pagLoadDuration","domComplete","startTime","startPerformanceObservers","observerList","localStorage","getItem","LOCAL_STORAGE_KEYS","PERFORMANCE_OBSERVERS","split","observer","list","forEach","delay","processingStart","eventHandlerTime","processingEnd","durationThreshold","COMPONENT_RENDERED","deepDiffObj","base","object","Error","result","transform","key","has","isEqual","isPlainObject","forOwn","undefined","difference","_extends","old","new","changes","differenceByRef","__collect","__renderCounts","countTimeout","_ref","action","payload","previousRenderProperties","previousRenderState","meta","firstRenderOnConnect","host","localName","componentName","properties","state","renderDebugList","RENDER_DEBUG_LIST","length","propDiff","stateDiff","omit","isEmpty","props","Set","propDiffByRef","Object","keys","stateDiffByRef","print","diff","v","propName","newValue","rest","_objectWithoutPropertiesLoose","_excluded","table","mapKeys","mapValues","k","hasPropDiff","hasStateDiff","clearTimeout","SN_DRAGGABLE_CHANGED_POSITION","SN_DRAGGABLE_MAX_WINDOW_SIZE","WINDOW_OFFSET","WINDOW_MOVED_TO_PRESET","KEY_MOVEMENT_STEP_AMOUNT","shiftTo","container","newX","newY","windowSize","width","style","top","left","right","bottom","moveTo","togglePointerEvents","Array","from","children","child","pointerEvents","createResizeObserver","coeffects","boundaryElement","resizeObserver","dispatch","updateState","newObserver","ResizeObserver","debounce","document","body","offsetWidth","height","offsetHeight","removeResizeObserver","unobserve","positionCoordinates","_ref3","outerBoundaries","top_left","bottom_left","top_right","bottom_right","positionsMenuItems","id","label","t","positionsMenuItemsOmitCurrent","position","filter","_ref4","keepInBoundary","isMainMenuPinned","isContextualMenuPinned","arguments","offset","deepSearchElement","draggableRect","getBoundingClientRect","boundaryRec","boundaryRight","Math","round","innerWidth","boundaryLeft","moveToPresetPosition","_ref5","containerClassName","lockedPosition","draggableElement","parentNode","hidden","positions","_ref2","allPresetPositions","keyPressed","e","dragContainer","origLeft","offsetLeft","origTop","offsetTop","newLeft","newTop","startDrag","_e$composedPath","trigger","activeDragContainer","triggerElemFound","currentElem","composedPath","currentLoopInteration","tagName","className","button","preventDefault","offsetX","clientX","offsetY","clientY","pageX","pageY","isDragEnabled","mouseOffsetX","mouseOffsetY","endDrag","doDrag","buttons","COMPONENT_PROPERTY_CHANGED","stopPropagation","_payload$position","createCustomElement","renderer","snabbdom","view","isVisible","canDrag","createElement","class","role","styles","nowPriority","default","schema","opened","deepCompare","boundary","items","setInitialState","POLARIS_CONTEXT","experienceName","path","CLASSIC_ROUTE","FULL_CLASSIC_ROUTE","POLARIS_SITE_NAME","UNIFIED_NAVIGATION_REGISTRY_ID","DEFAULT_POLARIS_SEARCH_CONTEXT","context","route","searchDataConfigId","searchViewConfigId","USER_PREF_POLARIS_USE","USER_PREF_AIUX_USE","SYS_PROP_AIUX_EXPERIENCE","SYS_PROP_AIUX_ON_OFF_USER_PREF_ENABLED","SYS_PROP_AIUX_USER_MENU_OPEN_ON_ARRIVAL","SESSION_KEY_AIUX_OPEN_USER_MENU_ON_ARRIVAL","USER_PREF_UI6_TABS_INSIDE_POLARIS","OVERVIEW_HELP_VISITED","OVERVIEW_HELP_VISITED_AIUX","OVERVIEW_HELP_WITH_NOW_ASSIST_VISITED_V","OTTO_ONBOARDING_DISMISSED","USER_PREF_CONTINUE_LANDING_PAGE","USER_PREF_HOMEPAGE","DEFAULT_REFERRER_POLICY","PAGE_TITLE_UPDATE_REQUESTED","UN_PAGE_TITLE_UPDATE_REQUESTED","NAV_RESIZED","RECENT_IFRAME_TITLE_UPDATED","POLARIS_IFRAME_LOAD_COMPLETE","USER_PRESENCE_CHANGED","UTILITY_MENU_OVERFLOW_DATA_UPDATED","MODAL_SELECTED","NOW_BUTTON_CLICKED","NAV_ITEM_SELECTED","GLOBAL_NAVIGATION_REQUESTED","USER_PREF_UPDATED","OVERLAY_BEHAVIOR_OPENED_SET","SERVICE_NOW","HOME_PAGE","CLASSIC","LIST","MENU_ALL","MENU_HISTORY","MENU_FAVORITES","MENU_WORKSPACES","MENU_ADMIN","SYSTEM_MENUS","SYSTEM","CONFIGURABLE","OPEN","CLOSE","SCRIPT","INITIAL_EXPERIENCE_PAGE_LOADED","NOW_EXPERIENCE_PAGE_LOADED","NOW_EXPERIENCE_PAGE_SWITCHED","SEARCH","RECORD","CONTEXTUAL_MENU_TITLE","AIEL_SERVICE_AVAILABLE","BRAND_CONFIG_UPDATED","MAIN_NAV_HEIGHT","MINIMUM_NAV_PADDING","MINIMUM_LOGO_PADDING","MINIMUM_OVERFLOW_TAB_WIDTH","PX_TO_REM_CONVERSION_RATE","MAIN_TAB_MARGIN","UTILITY_BUTTON_PADDING","UTILITY_MENU_MARGIN","MAIN_LOGO_WIDTH_CACHE_KEY","SN_LOGO_DEFAULT_LIGHT","SN_LOGO_DEFAULT_DARK","SN_LOGO_THEME_ASSET","TOGGLE_MENU_OPEN","OVERFLOW_MENU_ID","CONCOURSE_PICKER_MENU_ID","CONCOURSE_PICKER_HEADER_TEXT","INSTANCE_TOOLS_MENU_ID","INSTANCE_TOOLS_HEADER_TEXT","HELP_MENU_ID","HELP_MENU_HEADER_TEXT","NOW_ASSIST_MENU_ID","NOW_ASSIST_PANEL_MENU_ID","NOW_ASSIST_MENU_HEADER_TEXT","INSTANCE_TOOLS_ID","NOTIFICATIONS_ID","NOTIFICATIONS_HEADER_TEXT","UTILITY_OVERFLOW_MENU_ID","UTILITY_OVERFLOW_MENU_HEADER_TEXT","USER_MENU_ID","USER_MENU_HEADER_TEXT","OPENFRAME_MENU_ID","OPENFRAME_MENU_HEADER_TEXT","CHAT_MENU_HEADER_TEXT","USAGE_ANALYTICS_MENU_ID","USAGE_ANALYTICS_HEADER_TEXT","REFLOW_BREAKPOINTS","MINIMUM_WIDTH","BREAKPOINT_420","BREAKPOINT_540","BREAKPOINT_1024","BREAKPOINT_ONE","BREAKPOINT_TWO","BREAKPOINT_THREE","BREAKPOINT_FOUR","SEARCH_BREAKPOINT_SMALL","SEARCH_BREAKPOINT_LARGE","HIDE_CENTER_PILL","MAIN_MENU_PIN_BREAKPOINT","CONTEXTUAL_MENU_PIN_BREAKPOINT","PREFERENCES_MODAL_BREAKPOINT","HISTORY_RECORDING","ENTRY","NONE","ALL","METRICS","NAVIGATION","PERFORMANCE","RETURN_HOME","SELECT_MENU","PIN","TOGGLE_WIDE_MENU","SELECT_MENU_ITEM","FILTER_MENU","SELECT_NOTIFICATION_MENU","SELECT_NOTIFICATION","ALERT_NEW_NOTIFICATION","CLEAR_NOTIFICATION","DISMISS_NOTIFICATION","DOMAIN_REFRESH","CREATE_FAVORITE","REMOVE_FAVORITE","SEARCH_CONTEXT_SELECTED","SEARCH_START","SEARCH_ITEM_SELECTED","SELECT_SCOPE_MENU","SELECT_SCOPE_MENU_GROUP","SELECT_SCOPE_MENU_ITEM","SELECT_USER_MENU","SELECT_USER_MENU_ITEM","SEARCH_RESULTS_ITEM_SELECTED","SELECT_PREFERENCE_TAB","SELECT_PREFERENCE_TAB_ITEM","SELECT_HELP_MENU","SELECT_CTI_MENU","SELECT_USAGE_ANALYTICS_MENU","SKIP_LINK_NAVIGATE","SKIP_LINK_SELECT","UI16_CREATE_FAVORITE","SCREEN_CONTENT_DEEP_LINK_SELECT","SELECT_COLLAB_CHAT","SELECT_NOW_ASSIST","TOGGLED_COLLAB_CHAT_SEARCH","DIRTY_FORM_MODAL","NEXT_EXPERIENCE_OFF","TOGGLE_MENU_ITEM_DROPDOWN","CLOSE_MENU","ALL_RESULTS_TOGGLE","FAVORITES_RESULTS_TOGGLE","OTHER_RESULTS_TOGGLE","SELECT_INSTANCE_TOOLS","PRODUCT_FEEDBACK","IFRAME_LOAD_COMPLETE","MENU_FETCHED","MENU_RENDERED","APPLICATION_CHANGED","CONCOURSE_DATA_FETCHED","ELEVATE_ROLES_FETCHED","HEADER_RENDERED","IMPERSONATE_LIST_FETCHED","IMPERSONATE_USER","PLUGINS_FETCHED","FAVORITE_CREATED","MENU_REFRESHED_MANUALLY","MENU_CREATE_CLICKED","MODULE_EDIT_CLICKED","APPLICATION_EDIT_CLICKED","BUTTON_ACTIONS","OPENFRAME_ICON_CLICKED","AVATAR_ICON_CLICKED","LOGOUT_CLICKED","HELP_CLICKED","BELL_CLICKED","CHAT_CLICKED","USAGE_ANALYTICS_CLICKED","NOW_ASSIST_CLICKED","PROFILE_CLICKED","IMPERSONATE_USER_CLICKED","END_IMPERSONATION_CLICKED","ELEVATE_ROLE_CLICKED","PRINTER_FRIENDLY_CLICKED","EXPERIENCE_ACTION_ITEM_CLICKED","CONCOURSE_PICKER_BUTTON_CLICKED","NOTIFICATION_TRIGGERED","NOW_UI_TOGGLE_PIN","INSTANCE_TOOLS_CLICKED","OPEN_FEEDBACK","OVERFLOW_UTIL_MENU_CLICKED","KEYBOARD_SHORTCUT_MODAL","KARUNA_TOGGLE_CLICKED","SEARCH_RENDER_STATUS_REPORTED","ICON_MAP","user","lightbulb","home","mobile","comment","mail","locked","database","book","drawer","folder","catalog","tab","cards","tree","paperclip","edit","trash","image","search","power","cog","star","dashboard","calendar","script","add","delete","help","alert","form","livefeed","hr","phone","cross","preview","unlocked","menu","check","subtract","ellipsis","link","cart","info","refresh","first","last","workspace","module","exports","cssWithMappingToString","toString","this","map","item","content","needLayer","concat","join","i","modules","media","dedupe","supports","layer","alreadyImportedModules","_k","push","url","options","String","__esModule","test","slice","hash","needQuotes","replace","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","import","importRes","y","x","__webpack_require__","d","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__","HASANA_FILTER","HighlightedLabel","INCLUDES","PREFERENCES","SEPARATOR","SYS_PROPS","createAuthedOnlyHttpEffect","createHttpEffect","createMenuTooltipFocusHandlers","createMenuTooltipHandlers","createMenuTooltipHoverHandlers","effectProxy","executeFilter","getBooleanPreferenceValue","getBooleanProperty","getPreferenceValue","onMouseEnterHeaderItem","onMouseEnterHistoryItem","onMouseEnterIconItem","onMouseEnterLabelItem","onMouseLeaveItem","requestIdleCallback","scheduleHideTooltip","scheduleShowTooltip","assign","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","createPresentationalCustomElement","declarativeOperations","whenAllComponentsIdle","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__","guid","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createRef","dangerouslyCreateElementFromString","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","capitalize","clone","cloneDeep","differenceWith","escape","every","floor","get","groupBy","intersection","isArray","isFunction","isInteger","isNil","isUndefined","kebabCase","noop","omitBy","partition","pick","random","reduce","set","size","some","sortBy","take","throttle","toNumber","toPairs","uniqBy","values","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","bind","n","r","hasOwnProperty","call","apply","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","m","getter","a","definition","o","defineProperty","enumerable","obj","prop","prototype","Symbol","toStringTag","b","baseURI","self","location","href","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__","createTooltipActionHandler","unschedule","LOGOUT_REQUESTED","LOGOUT_CONFIRMATION_YES_CLICKED","LOGOUT_CONFIRMATION_CANCEL_CLICKED","LogoutConfirmation","variant","clickActionType","BEHAVIOR_NAME","FAVORITE","FAVORITES","FAVORITE_REQUESTED","FAVORITE_GROUP_REQUESTED","FAVORITE_DELETE_REQUESTED","FAVORITE_DELETE_MULTIPLE_REQUESTED","FAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED","FAVORITE_DELETE_MODULE_REQUESTED","FAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED","FAVORITE_DELETE_GROUP_REQUESTED","FAVORITE_UPDATE_ALL_REQUESTED","FAVORITE_ENTRY_ADDED","FAVORITE_ENTRY_REMOVED","FAVORITE_CREATE_SUCCEEDED","FAVORITE_REMOVE_SUCCEEDED","FAVORITE_FAILED","FAVORITE_EDIT_SUCCEEDED","FAVORITE_CHECK_REQUESTED","FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED","FAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED","LAYOUT_ITEM_UNFAVORITED","LAYOUT_ITEM_FAVORITED","FAVORITE_POPUP_CLOSED","FAVORITE_POPUP_INFO_UPDATED","FAVORITE_POPUP_RENDERED","FAVORITE_POPUP_DESTROYED","FAVORITES_COMMUNICATED_TO_SW","SYNC_ALL_MENU_AND_TITLE","SYNC_FAVORITES_COMPLETE","FAVORITE_DELETE_MODAL_CANCEL_CLICKED","FAVORITE_DELETE_MODAL_REMOVE_CLICKED","FavoriteDeleteModal","START_DEBUGGING_CONFIRMATION_REQUESTED","START_DEBUGGING_CONFIRMATION_CLICKED","ScriptDebuggerConfirmation","DIRTY_FORM_CONFIRMATION_LEAVE_CLICKED","DIRTY_FORM_CONFIRMATION_CANCEL_CLICKED","DirtyFormConfirmation","pageTitle","formDisplayValue","pageLabel","substring","lastIndexOf","dash","trim","getPageDisplayValue","UserSessionNotification","isPinned","UserUINotification","manageItems","stackThreshold","MessageStackServiceNotification","alerts","status","icon","LEGACY_SCREEN_PRINTER_VIEW_VISIBLE","PRINTER_FRIENDLY_VERSION_REQUESTED","PRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED","PRINTER_FRIENDLY_CONFIRM_CLICKED","PRINTER_FRIENDLY_CANCEL_CLICKED","PrinterConfirmationModal","message","newForm","footerActions","GuidedToursModal","_guidedTour$disableCl","guidedToursPrompt","guidedTour","headerLabel","manageOpened","appendToMeta","disableClose","NOW_ASSIST_BEHAVIOR","NOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL","NOW_ASSIST_CHAT_MESSAGE_RECEIVED","FETCH_CONVERSATION_COUNT","FETCH_CONVERSATION_LIST","FETCH_CONVERSATION_LIST_SUCCESS","FETCH_CONVERSATION_COUNT_SUCCESS","CHECK_MULTI_CONVERSATION_ENABLED_NAP","CHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS","SYS_CS_CHANNEL_NAME_FOR_NAP","AIEL_SERVICE_UNAVAILABLE","AIEL_UNAVAILABLE_MODAL_DISMISSED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","getProperty","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__","getIcon","localizePresence","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__","TOOLTIP_ADD_TARGET","TOOLTIP_REMOVE_TARGET","tooltip","workspaceDirtyIcon","renderDirtyWorkspaceIcon","iconClass","elm","target","renderLeafIcon","color","menuStateBeforeDirty","Map","membersModified","ROLE_NAMES","STATE_PATH_PARTS_ENABLED","STATE_PATH_IS_ENABLED","ARIA_LIVE_STATE_PATH","NOTIFICATION_STATE_PATH","NOTIFICATION_UNREAD_STATE_PATH","NOTIFICATION_CURRENT_SYSID_PATH","NOTIFICATIONS_LAST_VIEWED_KEY","NOTIFICATION_OBJECT_KEYS","MESSAGE_TYPES","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__","HOME_PAGE_SELECTED","MAIN_LOGO_LOADED","HEADER_LOGO_CLICKED","HEADER_EXPERIENCE_MENU_CLICKED","SCREEN_CONTENT_LINK_ITEM_SELECTED","LOGO_IMAGE_UPDATED","fn","ignoreSpace","interactionHandlers","moreHandlers","event","defaults","isPolarisEnabled","features","featureSettingsInit","initialFeatures","userPreferences","UI","POLARIS_EXPERIENCE","isHelpEnabled","SHOW_HELP","EMBEDDED_HELP_ENABLED","isMenuEnabled","POLARIS_MENUS","isDirtyFormEnabled","DIRTY_FORM_SUPPORT_ENABLED","isPrintingEnabled","PRINTER_FRIENDLY_ENABLED","isCoreUINotificationPrefEnabled","CORE_UI_NOTIFICATION_PREFERENCE","isNotificationEnabled","NOTIFICATION_ENABLED","calculatedFeatures","getFeatureSettings","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__","domPurifyConfig","ALLOWED_TAGS","ALLOWED_ATTR","DANGEROUS_TAGS","DANGEROUS_ATTRIBUTES","hasScriptOrStyleTag","normalizeHtml","isAllowedHtml","allowScripts","dangerousTags","doc","DOMParser","parseFromString","getElementsByTagName","el","toLowerCase","hasDangerousHtmlTags","childNodes","nodeType","validateAndEscapeHtmlIfNeeded","hasNonBreakingSpace","htmlString","cleanedHtml","implementation","createHTMLDocument","fragment","createDocumentFragment","temp","innerHTML","firstChild","appendChild","isValidHtml","scriptConfig","tag","ADD_ATTR","config","DOMPurify","removeHtmlFromDescription","description","indexOfDescription","indexOf","div","KEEP_CONTENT","textContent","openHomePage","headerLogoTarget","selectedContent","logoTarget","external","JSON","stringify","params","parse","resolveUserSession","querySelector","async","getEarlyEvaluation","property","_window$__uxf_data_hy","_Object$values$find","responses","__uxf_data_hydration_registry","evaluationByPipelineId","find","macroponentSysId","responseMacroponentSysId","resolvePipelineResult","evaluationByPipeline","getLogoImage","logoContextPath","coreUILogoSrc","isThemeBuilderOverriding","logoImage","DEFAULT_LOGO","logoImageSrc","_window$ux_globals$th","_window","_themeOptions$userPre","_themeOptions$variant","_themeOptions$variant2","default_src","themeOptions","ux_globals","theme","currentThemeSysId","userPreferenceVariant","imagesFromAsset","variants","assets","category","image_obj","images","_image$properties","findImage","getLogoSource","isLogoSN","worksWithBrandingPropEnabled","WORKS_WITH_BRANDING_ENABLED","worksWithBrandingEnabled","View","_selectedContent$cont","logoRoute","logoName","PRODUCT_NAME","logoText","PRODUCT_DESCRIPTION","POLARIS_LOGO_ALLOW_SCRIPTS","THEME_BUILDER_OVERRIDE","logoEl","sanitizedLogoName","sanitizedLogoText","tabIndex","createInteractionHandlers","handleLogoInteraction","onLogoClick","onExperienceLogoClick","on-load","on-error","src","alt","parentElement","targetRef","hook-destroy","appendClearStack","isRelative","startsWith","origin","urlObject","pathname","targetUrl","decodeURIComponent","searchParams","append","encodeURIComponent","transformedUrl","getHref","shouldOpenUI16TabsInsidePolaris","_item$route","_item$route2","_item$route3","_item$route4","command","renderLabel","polarisTabClass","mainMenuState","isMenuPinned","canBePinned","primaryMenuId","secondaryMenuId","_menuItems$find","menuItems","onTabSelect","onNavigationResize","hasDirtyWorkspaces","selectedTabRef","resizeObserverCb","activeTab","altActiveTab","onOpenMenu","menuId","isDirty","ref","current","itemLabel","entries","contentRect","menuItem","_menuItem$subItems","subItems","collapseOnSingleItem","cantShowAsBrowserLink","isActive","isOverflow","getMenuItemHref","tabindex","ariaLabel","headerCreateMenuHrefHandlers","_ref6","_ref7","_ref8","_ref9","overflowMenu","subId","isWorkspaceInOverflowMenu","LINK_TYPES","USER_SETTINGS_SEND_EVENT_REQUESTED","USER_SETTINGS_MODAL_OPENED","USER_SETTINGS_UPDATE_STATE","computedStyles","getComputedStyle","documentElement","getExperienceUserMenuItems","experienceUserMenu","_userMenu$value","userMenu","experienceUserMenuItems","_i$value","afterIcon","addIconsToExperienceUserMenuItems","linkToMenuItem","order","uri","UserMenuButton","eventSource","disabled","buttonLabel","buttonRef","renderDivider","KarunaToggle","menuData","isAiuxEnabled","on-click","checked","_menuData$userMeta","_menuData$userMeta2","_menuData$userMeta3","_menuData$userMeta4","_menuData$userSession","_menuData$userMeta5","_menuData$userMeta6","_menuData$userMeta7","_menuData$contextualM","screenContentLinks","fullName","userMeta","displayName","userTitle","title","avatarPath","avatar","presence","userSession","isImpersonating","canImpersonate","printerFriendlyEnabled","impersonateButtonEnabled","IMPERSONATE_BUTTON_ENABLED","impersonationEnabled","elevatedRoles","elevateRoleEnabled","sortedExperienceUserMenuItems","_obj$value","_obj$value2","getSortedExperienceUserMenuItems","interaction","contextualMenu","instanceName","KEYBOARD_SHORTCUTS_ENABLED","renderExperienceNavItem","renderScreenContentLinks","getPropertyValue","SN_DRILLDOWN_LIST_TOGGLE","FILTER_SEARCH_UPDATED","NAV_SUB_MENU_ITEM_SELECTED","NAV_SUB_MENU_ITEM_FAVORITED","NAV_SUB_MENU_ITEM_UNFAVORITED","NAVIGATION_REQUESTED","SHOW_MENU_ITEM_TOOLTIP","HIDE_MENU_ITEM_TOOLTIP","FOCUS_FIRST_FILTERED_NAV_ITEM","CLICK_FIRST_FILTERED_NAV_ITEM","MENU_CONTENT_FOCUSED","TOGGLE_ALL_RESULTS","TOGGLE_FAVORITE_RESULTS","TOGGLE_OTHER_RESULTS","NO_TOGGLE","SN_DRILLDOWN_SET","CREATE_APP_MENU","EDIT_MENU_ITEM","drilled","updateProperties","isDrilled","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__","getFocusableNodes","handleFocusFirstNode","SN_DRILLDOWN_LIST","_menu$buttonConfig","_menu$buttonConfig2","_menu$buttonConfig3","animationsEnabled","dir","forceFocus","indicatorOn","headerText","source","focus","hint","buttonConfig","badgeCount","maxDigits","openNewMenu","behaviors","behavior","require","rtlBehavior","focusBehavior","ctrlKey","metaKey","shiftKey","actionType","SN_COLLAPSIBLE_LIST_TOGGLE","DEFAULT_ICON_SIZE","pixelSize","DEFAULT_ICON_PIXEL_SIZE","loadIcon","iconName","iconSize","svgTemplate","svgPaths","iconType","reversed","SeparatorItem","HeaderItem","_menu$match","isOpen","actions","searchTerm","filterMethod","rootMenu","parentMenu","headerIsSelectable","itemInteractionDispatchAction","showHiddenControls","headerId","selected","selectable","text","matches","match","display","renderIcon","MenuItem","isGroup","preventHighlight","_item$subItems","listSize","Leaf","_menu$subItems$findIn","_menu$subItems","_menu$subItems$length","_menu$subItems2","_rootMenu$firstFilter","_rootMenu$firstFilter2","_item$match","labelIndex","findIndex","subItem","referrerPolicy","REFERRER_POLICY","opensInNewTab","firstFilteredNavItem","createMenuHrefHandlers","picker","isSelected","A","X_FLUSHSTAMP","MENU_ENTRY_ADDED","MENU_ENTRIES_UPDATED","MENU_ENTRY_REMOVED","REPLACE_MENU_SUBITEMS","MENU_REFRESH_REQUESTED","MANUAL_MENU_REFRESH_REQUESTED","MENU_REFRESH_REQUEST_SUCCEEDED","MENU_HEADERS_UPDATE_REQUESTED","MENU_LOADED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__","createInteractionId","defineMetric","getInteractionId","getMetricTypes","mark","metricTypes","track","eventName","metadata","interactionId","chevronDownPaths","operation","shouldRender","index","deepClone","expanded","MENU_EDIT_INITIATED","SYS_APP_APPLICATION","SN_COLLAPSIBLE_LIST","beenOpened","_menu$subItems3","open","initialState","editMenuBehavior","CONCOURSE_PICKER_CLICKED","CONCOURSE_PICKER_ITEM_SELECTED","CONCOURSE_PICKER_OPEN_RECORD_CLICKED","CONCOURSE_PICKER_SEARCH_TEXT_ENTERED","CONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED","CONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED","CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED","DOMAIN_CHANGE_REQUESTED","DOMAIN_CHANGE_SUCCEEDED","DOMAIN_RESET_REQUESTED","DOMAIN_UPDATE_REQUESTED","DOMAIN_SEARCH_REQUESTED","FilterInput","onInput","onKeyDown","onFocus","onBlur","onInputClear","hasFocus","inputRef","htmlFor","placeholder","autocomplete","relatedTarget","classList","contains","input","CLOSE_MENUS","CLOSE_POPOVERS","CLOSE_MODALS","PRE_SHORTCUT_CLEANUP_REQUESTED","PRE_SHORTCUT_CLEANUP_SUCCEEDED","PRE_SHORTCUT_CLEANUP_FAILED","CLOSE_CONTEXTUAL_MENU","MAIN_MENU_PINNED","CONTEXTUAL_MENU_PINNED","TAB_PRIMARY_SELECTED","CONTEXTUAL_MENU_SELECTED","OVERFLOW_MENU_ITEMS_CHANGED","ROUTE_MAP_UPDATED","NOTIFICATION_DATA_UPDATED","MAIN_CONTENT_FOCUSED","MAIN_CONTENT_FOCUSED_REQUESTED","ALL_MENU_TOGGLED","ALL_MENU_FOCUSED","ALL_MENU_FOCUSED_REQUESTED","FAVORITES_MENU_FOCUSED_REQUESTED","HISTORY_MENU_FOCUSED_REQUESTED","WORKSPACES_MENU_FOCUSED_REQUESTED","NOTIFICATIONS_MENU_FOCUSED_REQUESTED","OPEN_FRAME_FOCUSED_REQUESTED","WINDOW_RESIZED","FEEDBACK_FORM_BUTTON_CLICKED","OPEN_UTILITY_MENU","TOGGLE_UTILITY_MENU","IMPERSONATION_OPEN_REQUESTED","HELP_MENU_FOCUSED_REQUESTED","NOW_ASSIST_PANEL_FOCUSED_REQUESTED","VOICE_INPUT_PANEL_FOCUSED_REQUESTED","MENU_FOCUSED","OPEN_LANDING_PAGE_REQUESTED","USER_MENU_FOCUSED_REQUESTED","CHAT_MENU_FOCUSED_REQUESTED","ADMIN_MENU_FOCUSED_REQUESTED","TOOLBAR_FOCUSED_REQUESTED","FAVORITE_CURRENT_PAGE_REQUESTED","FAVORITE_TOGGLE_CURRENT_PAGE","KEYBOARD_BEHAVIOR_MODAL_OPENED","EXPEREIENCE_TITLE_RESIZED","REGISTER_WINDOW_MANAGER","SN_DRILLDOWN_LIST_SOURCES","Loader","IntersectionObserver","isIntersecting","fromScrolling","_contextualMenu$heade","_contextualMenu$drill","_selectedMenu$subItem","_selectedMenu$subItem2","canAnimate","drilldownItems","selectedPicker","singlePicker","getSelectedPicker","selectedMenu","selectedItem","openRecordTarget","showCollapsibleList","createNewUpdateSet","isReferencePickerEnabled","DOMAIN_REFERENCE_PICKER_ENABLED","getSelectedMenuData","currentPickerItems","RECENT_CONCOURSE_PICKER_ITEMS","recentItems","activeIds","ids","traverseMenu","sysId","gatherActiveIds","filterInactiveRecentItems","showRecentSelections","inOverflow","drilledMenu","indicator","sideIcon","sideIconRoute","inputHasFocus","term","firstFilteredItem","hook-insert","menuItemView","highlightSelectedItem","_contextualMenu$menuD","_contextualMenu$menuD2","isHighlightedItem","itemName","TEST_USER_IMPERSONATED","IMPERSONATION_MODAL_OPENED","END_IMPERSONATION_REQUESTED","CANVAS_GLOBAL_ERROR","SCHEDULE_FOR_PAGE_LOAD","getBooleanPropertyWhenPolarisEnabled","propertyName","defaultValue","positionNavigationItems","mainLogoWidth","menuWidth","isRTL","topNavigationElement","shadowRoot","querySelectorAll","navigationChildren","topNavigationBounds","overflowTabWidth","logoNavPadding","leftOffset","totalLeft","isOverflowing","overflowMenuItems","widthConstraint","minWidth","placeNavItem","navigationItem","marginInlineEnd","_navigationItem$class","_menuItems$i","itemWidth","newItemLeft","_navigationItem$class2","_navigationItem$class3","_menuItems$i3","_menuItems$i4","_menuItems$i2","remove","setAttribute","_menuItems","_menuItems2","template","positionUtilityMenuItems","_contextualMenu$overf","utilityMenuData","utilityMenuDataWithExtraButton","contextualMenuState","useUtilityBar","INSTANCE_TOOLS_DISABLED","utilityBarVisible","includeUtilityBar","headerControls","endingHeaderZone","searchZone","utilityMenuZone","utilityMenuButtons","avatarButton","utilityMenuButtonWidth","utilityMenuFullWidth","endZoneWidth","pinnedMenuWidth","searchZoneWidth","overflowButton","buttonOverflowDifference","numberOfButtonsToHide","ceil","overflowingMenuItems","utilityMenuButtonsIndexLength","totalBadgeCount","_utilityMenuData$i","_currentMenuConfig$me","_utilityMenuData$i2","currentButton","currentMenuConfig","menuConfig","currentMenuId","menuProperties","menuType","isCurrentPinned","pinnedMenuId","_currentButton$classL","_currentMenuConfig$me2","_currentMenuConfig$me3","_currentButton$classL2","_overflowButton$class","_overflowButton$class2","overflowBadgeCount","positionHeaderItems","posUtilItems","ELEVATE_ROLES_REQUESTED","ELEVATE_ROLE_MODAL_OPENED","ELEVATE_ROLE_MODAL_DISMISSED","ELEVATE_ROLES_REFRESH_SUCCEEDED","isDeepEqual","object1","object2","objKeys1","objKeys2","value1","value2","isObjects","isObject","isFunctions","NOTIFY_REQUESTED","EXISTING_NOTIFICATIONS_SET","NOTIFICATION_OPENED","NOTIFICATIONS_CLEARED","NOTIFICATION_TOAST_CLEARED","FETCH_MORE_NOTIFICATIONS_REQUESTED","NOTIFICATION_MENU_OPENED","UNREAD_NOTIFICATIONS_COUNT_SET","FETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED","REFETCH_NOTIFICATIONS_REQUESTED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__","buildMessage","short_description","priority","buildAlertItem","userId","sys_id","fields","time_stamp","alert_sys_id","is_read","raw_time_stamp","message_type","toastItem","item_type","custom","customChanges","f","field_name","field_label","field_value","field_displayValue","infoIcon","buildCustomToastItem","assignedToMe","nextExperienceItem","newMessage","message_heading","message_icon","record_display_value","action_name","action_payload","tagline","actionName","actionPayload","buildNextExperienceItem","table_label","prefix","buildNewAssignedToastItem","updated_by","isSingleFieldChanged","buildUpdatedToastItem","local","cacheEnabled","polarisCacheEnabled","POLARIS_CLIENT_CACHE_ENABLED","disabledCache","POLARIS_DISABLED_CLIENT_CACHE_TYPES","defaultTTL","POLARIS_CLIENT_CACHE_TTL_SECONDS","language","createPrefix","createKey","i18n","bustKey","namespacedKey","ttl","ts","sessionToken","currentSession","g_ck","bustQueue","isKeyBusted","splice","setItem","Date","now","removeItem","debug","clear","enable","getTriggeredBy","triggered_by","displayValue","display_value","toUpperCase","buildAlertPayload","baseProps","tableLabel","assigned_to","previousValue","fieldLabel","decodePayload","_alert$target","_alert$sys_id","_alert$target_table","sys_created_on","target_table","moment","valueOf","error","isDuplicate","notification1","notification2","purgeOldAlerts2","alertQueue","rawAlerts","trayState","alertsToKeep","it","alertsToDelete","deleteQueue","al","alreadyProcessedAlertSet","deleteTarget","_alert$trigger","_alert$route","record_sys_id","dupeId","parsedValue","transformGraphQLAlert","_alert$route2","_alert$trigger2","getDateString","dateObj","userTimezoneOffset","Number","tzAdjustedDate","getTime","date","time","toISOString","unreadNotificationCountConditional","currentDate","sevenDaysAgo","setDate","getDate","lastViewedDate","cache","queryString","SEARCH_CONTEXT_UPDATED","SEARCH_INPUT_ONRESIZE","SEARCH_DROPDOWN_OPENED","GLOBAL_SEARCH_FOCUSED","SEARCH_ROUTE_MAP_CACHE_PREFIX","DYNAMIC_ROUTE_REQUESTED","DYNAMIC_ROUTE_SUCCEEDED","DYNAMIC_ROUTE_ERRORED","DYNAMIC_ROUTE_FETCH_REQUESTED","getExperienceSearchConfig","experienceConfigs","selectedContext","_parsedViewConfig","_parsedViewConfig2","isLoggedIn","experienceConfig","experienceLabel","searchViewConfig","routeConfigId","searchEngine","enableExactMatch","headerConfig","searchEnabled","privatePage","publicPage","userPage","parsedViewConfig","globalSearchViewConfigId","globalSearchRoute","itemSearchContext","getSelectedSearchContext","getPolarisSearchContext","polarisSearchContexts","polSearchConfig","pageProperties","global_search_configurations","globalSearchDataConfigId","buildAvailableSearchContext","selectedSearchContext","globalSearchEnabled","_selectedContent$cont2","searchContextList","globalSearchConfig","contextConfig","handleSearchReflow","polarisHeader","startingZone","endingZone","centerZone","utilMenu","searchContainer","searchExpandedBreakpoint","openURLInNewTab","externalWindow","searchContexts","searchContext","_host$shadowRoot$quer","_host$shadowRoot$quer2","typeaheadInput","comboboxInput","select","userAction","recordUrl","isExternalUrl","openInNewTab","searchRouteMap","previousContext","parsedPreviousContext","getMenuType","CONTEXT_MENU_HEADER_TYPES","TEXT","FILTER","UPDATE_UTILITY_MENU_ITEMS","UTILITY_MENU_UPDATED","START_TRACK_TIME","END_TRACK_TIME","CONCOURSE_FETCH_TIME_PATH","FETCH_PLUGINS_TIME_PATH","CREATE_FAVORITE_TIME_PATH","MENU_RENDER_TIME_PATH","FETCH_MENU_TIME_PATH","HEADER_RENDER_TIME_PATH","COMPONENT_RENDER_REQUESTED","handleExperienceNavigationClick","opensWindow","linkValue","formatURLByType","handleFirstLoad","primaryMenuLoading","pinnedTabLabels","pinnedMenuItem","innerText","pinnedUtilityButton","pinnedIcons","opacity","metric","consumeOpenUserMenuOnArrival","flagValue","sessionStorage","warn","dispatchedAction","contextualMenuType","contextualMenuHeaderText","requestUnreadCount","_properties$userMeta","unreadConditional","timeZoneOffset","condition","measureButtonPlacement","utilityMenuItemLeftPositions","buttonContainer","buttonList","menuItemLeftPositions","hiddenOverflowOffset","pinningOffset","firstButton","secondButton","secondButtonLeft","gridGap","buttonWidth","buttonLeftOffset","buttonListIndex","doHeaderReflow","shouldComponentRender","lastMenuItem","subTemplate","logoWidth","coeffect","headerNavigationElemRef","navMenuElem","previousState","newState","changedProps","didStateChange","pinnedMenu","useFirstTab","primaryMenu","hasAttribute","removeAttribute","secondaryMenu","notificationData","notifications","isFetchingUnreadCount","previous","element","_current$index","isMenuListUpdated","isSyncingFavorites","_payload$previousValu","_payload$value","oldFavorites","newFavorites","favoriteMenu","_properties$menuItems","hasWorkspaces","oldHasDirtyWorkspace","requestAnimationFrame","previousWidth","newWidth","breakPoint","showMenu","awaitPrefUpdateReload","reload","experienceMenuClick","handler","_payload$event","handleEvent","logoImg","logoBounds","logoContainer","cachedLogoWidth","_ref10","recordSysId","_ref11","_ref12","COMPONENT_DOM_TREE_READY","_ref13","_ref14","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__","deepFind","array","setParents","parents","deepResult","ENCRYPTION_PICKER_REFRESH_REQUESTED","ENCRYPTION_CHANGE_REQUESTED","registerLifecycleFn","lifecycle","runWhenIdle","post","POLARIS_DISABLE_DEFER","fns","_getProperty","timeout","PAGE_LOAD_TIME_OUT","CONCOURSE_CURRENT_DATA_REQUESTED","CONCOURSE_CURRENT_DATA_REQUEST_SUCCEEDED","CONCOURSE_DATA_LISTS_REQUESTED","CONCOURSE_DATA_LISTS_REQUEST_SUCCEEDED","CONCOURSE_REBUILD_CONFIG_REQUESTED","ENCRYPTION_PICKER_REFRESH_REQUEST_SUCCEEDED","ENCRYPTION_CHANGE_SUCCEEDED","encryptionPickerEffect","method","queryParams","successActionType","encryptionChangeEffect","dataParam","batch","cryptoModulePickerEffect","cryptoModuleChangeEffect","CRYPTO_MODULE_REFRESH_REQUESTED","CRYPTO_MODULE_CHANGE","ENCRYPTION_CONTEXT_REFRESH_REQUESTED","ENCRYPTION_CONTEXT_CHANGE","CACHE_KEY","ENCRYPTION_CONTEXT_CACHE_TYPE","CRYPTO_MODULE_CACHE_TYPE","userSettingsAccess","showEncryptionPicker","showCryptoModulePicker","availableEncryptionContexts","_meta$request","request","data","normalizedAvailableEncryptionContexts","APPLICATION_CHANGE_REQUESTED","APPLICATION_CHANGE_SUCCEEDED","APPLICATION_REFRESH_REQUESTED","APPLICATION_REFRESH_REQUEST_SUCCEEDED","UPDATE_SET_CHANGE_REQUESTED","UPDATE_SET_HTTP_REQUEST_SENT","UPDATE_SET_HTTP_REQUEST_SUCCEEDED","UPDATE_SET_HTTP_REQUEST_FAILED","UPDATE_SET_REFRESH_REQUESTED","UPDATE_SET_REFRESH_REQUEST_SUCCEEDED","getConcoursePickerConfig","currentApplication","currentApplicationLabelShort","currentApplicationLabel","currentUpdateSet","currentUpdateSetLabelShort","currentUpdateSetLabel","currentDomain","currentDomainLabelShort","currentDomainLabel","currentEncryptionContext","currentEncryptionContextLabelShort","currentEncryptionContextLabel","concoursePickerTooltip","applicationIndicator","updateSetIndicator","domainIndicator","availableApplications","availableUpdateSets","availableDomains","showApplicationPicker","showUpdateSetPicker","showDomainPicker","defaultDomain","domain","_availableEncryptionC","showConcoursePickerButton","slotted","drilldownListItems","toolIcon","updateSet","direct","concourseDataFetched","openedMenus","hasBeenOpened","directPicker","field","acc","p","menuName","menuGroup","query","selectedPickerItem","currentApp","maxSelectionLength","CONCOURSE_PICKER_MAX_RECENT_ITEMS","recentSelectionsPreference","newPickerItem","domainPickerEnabled","pickerItem","unshift","pop","updateRecentSelections","app_id","filteredList","usedSearchTerm","_executeFilter","firstItem","modifier","defaultScope","lastOpenPicker","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","dynamicRouteEffect","variableList","errorActionType","postFn","routeMap","variables","errors","_gql$data$GlideUxDyna","gql","_gql$data","GlideUxDynamicRoute_Query","dynamicRouteConfig","mappingGroups","mappingGroup","getMapping","resultMap","mappings","mapping","source_component","source_key","OPENFRAME_BEHAVIOR_CHECK_CONFIG","OPENFRAME_BEHAVIOR_OPEN_WINDOW","OPENFRAME_BEHAVIOR_SET_REF","OPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__","findTabbableNodes","eventHandlers","events","menuState","closeMenuAction","closedByKeyboard","allTabbableElements","focusedTrappedComponents","currentElementIndex","isFocusUpFromFirstEl","isFocusDownFromLastEl","handleTab","isInput","isContentEditable","_currentItem$classLis","tabbableElements","_n$classList2","currentItem","_a$classList2","itemParent","nextItem","isCollapsibleList","isRoot","_a$classList3","isCollapsed","isEndNode","isChildNode","_tabbableElements$nex2","click","_path$slice$find","currentItemContainerIndex","parent","_n$classList3","previousSibling","handleLeftRightArrows","_tabbableElements$nex","_n$classList","_a$classList","handleUpDownArrows","firstMenuItem","_n$classList4","scrollIntoView","handleHome","findLast","_n$classList5","preventScroll","handleEnd","PinButton","pinEventName","isPrimary","isWideMenu","isAllMenuEditorEnabled","currentMenuPinned","pin","favorites","doPinning","pinnedThroughUI","PopoutButton","basePanelIcon","popout","handleKeyDown","TopArrow","MenuHeader","headers","headerType","canToggleWideMenu","headerButtonsConfig","wideMenu","tooltipContent","MenuBody","COMPONENT_DISCONNECTED","moveContextualMenu","_menuContainerRef$cur","menuContainerRef","hostElement","utilityMenuButton","buttonId","_menuState$utilityBar","barMenuId","utilityBarRef","defaultMenuWidth","windowWidth","itemRect","menuUnpinnedLeft","itemLeft","itemRight","newMenuStart","menuTopElem","gridTemplateColumns","menuContainer","buttonRect","containerRight","buttonRight","halfMiddleColWidth","newRight","MoveTopArrow","handleNotificationsMenuOpen","MAX_SAFE_INTEGER","unreadCount","isActivePrimaryMenu","navElement","drilldownElement","handleMenuStateChange","_menuState$utilityBar2","isContextualMenuClosed","activeModal","componentId","isTouchDevice","CONTEXTUAL_MENU_ELEMENT","_contextualMenu$drill2","menuIndex","shouldAlwaysRender","inert","nowAvoidRender","computed","overlayBehavior","menuKeyboardNavBehavior","getElevatedRoles","_availableElevatedRol","availableElevatedRoles","activeRoles","roles","DEFAULT_CONFIG","notificationsEnabled","getCurrentRouteHeaderConfig","fieldCount","global","getSearchInputVariant","searchInputVariant","searchReflowBreakpoint","ActionButton","bare","count","AvatarButton","isElevated","elevatedRole","handleMenuOpen","createAriaLabel","UtilityButton","_payload$triggerAriaL","showBadgeCount","badgeDot","showPresence","iconElm","pinned","triggerAriaLabel","mapOverflowMenuItems","_menuItem$buttonConfi","_menuItem$buttonConfi2","menuUtilProperties","helpPanelAppContext","initialTab","fragmentProperties","hideHeader","menuContent","slotInOverflowMenu","_contextualMenu$previ","previousDrilledMenu","SUB","getClassicTable","getClassicSysId","URLSearchParams","FEEDBACK_FORM_ACTIONS","RadioButtons","question","formValues","option","rank","numOptions","sidebar","TextArea","maxlength","resize","rows","showCounter","ModalContent","hasBeenSubmitted","questions","illustration","FeedbackFormQuestions","FeedbackFormFooter","feedbackText","ModalButtons","formValueKeys","isValid","sendFeedback","isOpened","customSize","headingLevel","code","ConcoursePickerFragment","slot","ConcoursePickers","BellMenuFragment","userTimeZoneOffset","isMoreNotifications","ChatMenuFragment","isCollabChatSearchEnabled","collabChatId","menuContext","currentRecordTable","currentRecordId","HelpMenuFragment","_window$customElement","feedbackFormEnabled","isHelpPanelVisible","overflowVisible","isHelpPanelLoaded","customElements","showHelpPanel","appContext","setInitialFocusInPanel","visible","margin","NowAssistFragment","napShortcutCommand","conversationId","UsageAnalyticsFragment","_window$customElement2","applicationId","pageId","_pageName","parentRoute","pageName","_window$location","getWorkspaceUrl","isUsageAnalyticsPanelLoaded","showBorder","usePolarisHeader","UserMenuFragment","UserMenu","OverflowUtilMenuFragment","OverflowMenu","isContextualMenuActive","utilityMenuRef","isActiveSecondaryMenu","isBarOpen","uiPresenceDisabled","PRESENCE_DISABLED","UtilityMenu","_contextualMenuState$","currentRouteHeaderConfig","headerProperties","isAIELEnabled","userMenuItems","onOpenContextualMenu","utilityMenuItem","defer","_contextualMenuState$2","isHelpMenu","_menuConfig$menuPrope","hasExternallyManagedMenu","animationEnabled","additionalData","getFragmentProperties","snContextualMenu","forUtilityBar","aiSearchEnabled","POLARIS_AI_SEARCH_READY","SearchContainer","renderSearch","searchContextConfigId","placement","ExperienceTitlePill","selectedContentFavorite","favoriteSR","favoriteTooltip","tempFavoriteStarFill","hideFavoriteTooltip","titleElm","_elm$parentElement","_elm$parentElement2","fromExperienceTitle","popupRef","currentTarget","favoritePopupPayload","initialName","validateSearchPage","_selectedContent$para","_selectedContent$para2","formatSearchPageTitle","separator","getExperienceLabelAndFavoriteTooltip","bypassExperienceTitle","_window$ux_globals","isATF","SUBSCRIBE_TO_COLLAB_CHAT","INIT_COLLAB_CHAT","QUERY_UNREAD_COUNT","QUERY_UNREAD_COUNT_SUCCEEDED","COLLAB_CHAT_AMB_MESSAGE_RECEIVED","QUERY_COLLAB_RECORD","COLLAB_RECORD_QUERY_SUCCEEDED","OPEN_COLLAB_CHAT","COLLAB_MODAL_OPENED","COLLAB_MODAL_CLOSED","OPEN_COLLAB_CHAT_IN_DOCK","CREATE_COLLAB_CHAT_MUTATION_SUCCEEDED","FLOATING_CONTAINER_RESIZED","COLLAB_PANEL_OPENED","TOGGLE_SEARCH_VISIBILITY","COLLAB_CHAT_MENU_HEADER_SEND_COMMAND","CHAT_MENU_ID","COLLAB_PANEL_HEADER_TEXT","COMPONENT_DOM_READY","unsubscribeBrandingConfig","refreshUtilityMenuData","_brandingConfig$heade","isCollabChatEnabled","isUsageAnalyticsEnabled","showNowAssistMenu","openFrame","isNotificationsEnabled","unreadNotificationCount","concoursePickerConfig","openFrameConfig","wideMenus","nowAssistMenuBadgeCount","brandingConfig","assistLabel","header","voiceInputPref","VOICE_INPUT","instanceToolsIcon","isUtilityBarTrigger","windowConfigOverrides","modalOverlayClickEnabled","hostType","enableVoiceInput","unreadChatCount","menuInOverflow","helpContentIndicatorOn","_props$contextualMenu","_props$contextualMenu2","isHelpPanelPinned","showIcon","_openFrameConfig$AppO","_openFrameConfig$AppO2","_utilData$buttonConfi","_openFrameConfig$AppO3","menuHeaderText","AppOpenframe_Query","badge","utilData","iconSelected","WORKSPACES_SHOW_BADGE_COUNT","displayedCount","utilityButtonCount","menusThatUpdated","updatedUtilityMenuData","addEventListener","onServiceAvailable","_window$__AIEX_GLOBAL","__AIEX_GLOBALS__","subscribeToEvent","_brandingConfig","_unsubscribeBrandingC","unsubscribe","_routeMap$table2","workspace_global_search","_routeMap$table","useSelectedSearchContextRoute","USE_CURRENT_EXPERIENCE_CONTEXT","searchRoute","backButtonLabel","updateUrl","_parsedPreviousContex","shouldRenderWhenSet","process","unstableParse","isInboxEnabled","overflowMenuDrilldown","isFavorite","readOnly","_availableElevatedRol2","_userMeta$roles","_userMeta$elevatedRol","openFrameTagLoaded","forceMenuOpen","isLoadingMenu","defaultOpenFramePosition","openframeLockedPosition","openFramePositions","logoStyles","navigationStyles","userMenuStyles","concoursePickerStyles","_selectedSearchContex","_currentRouteHeaderCo","_openFrame$params","_openFrame$params2","_openFrame$params3","_openFrame$params4","prevSize","activeSearchContext","USE_CURRENT_EXPERIENCE_CONTEX","searchContextId","getActiveSearchContext","activeSearchTerm","locale","SYSTEM_LOCALE","NAV_FILTER_ACCURACY_SCORE","openframeBoundary","workspacesOrGlobalSearchEnabled","isWorkspaceOrGlobalSearchEnabled","workspaceSearchEnabled","isRenderingSearch","getScreenReaderContentForFavorite","isSuperFilterEnabled","SUPER_FILTER_ENABLED","isWorkspaceMenuPinned","experienceTitleConfig","Logo","isCurrentMenuLoading","shouldDefer","isLoading","isOtherMenusLoading","headerMenuItems","nowMode","showHeaderFilter","showPrimaryFilter","menuPinable","primaryMenuPinable","useSuperFilter","Navigation","windowPositionedCorrectly","configuration","maxAllowedSize","number","hasInbox","isLegacy","callPayload","customPayload","dispatches","resizeBehavior","concoursePickerBehavior","searchDynamicRoutingBehaviour","utilityMenuBehavior","searchActionsBehavior","truncationBehavior","isFavoriteGroup","favorite","isCustomFavoriteGroup","isSeparatorGroup","createTypeaheadItems","returnArray","deleteFavorite","newStateFavorites","stateFavorites","refocus","fieldValue","stateName","stateGroup","groupId","parent_group","FAVORITE_POPUP_CONTENT","autofocus","required","minlength","favoritePayload","favoriteList","FavoritePopup","UtilityBar","productDescription","isBarMenu","loadingStateCleared","NOW_EXPERIENCE_SWITCH_REQUESTED","NOW_EXPERIENCE_SWITCH_INITIATED","NOW_EXPERIENCE_SWITCHED","NOW_EXPERIENCE_PAGE_LOAD_INITIATED","MAIN_CONTENT_LOADING","updatePresence","navigator","userAgent","hasSelectedContentChanged","previousSelectedContent","currentSelectedContent","showLoadingIndicatorEffect","mainContentLoading","passiveNavigation","_action$payload","update","user_agent","ua_time","limit","SKIP_LINKS_FOCUSED_IN","SKIP_LINKS_FOCUSED_OUT","SKIP_LINK_FOCUSED","ASIDE_RESIZED","preferences","preferenceFromChrome","preference","userPrefs","STORE_NAME","db","openDB","Promise","resolve","reject","req","indexedDB","onupgradeneeded","createObjectStore","onsuccess","onerror","idbDelete","transaction","objectStore","isItemValid","idbEnabled","POLARIS_IDB_CACHE_ENABLED","idbCache","defaultTtl","pendingRemove","isEnabled","consumeBustFlag","getFromMemory","catch","getFromDB","idbGet","fromMemory","setOptions","existing","put","idbPut","createIdbCache","USER_SESSION_NOTIFICATION_REQUESTED","USER_NOTIFICATIONS_SUCCEEDED","USER_UI_NOTIFICATION_REQUESTED","ADD_HISTORY_ENTRY","HISTORY_UPDATE_REQUESTED","UPDATE_HISTORY","PUSHED_NOW_UI_HISTORY","PUSHED_NOW_UI_HISTORY_SUCCESS","PUSHED_NOW_UI_HISTORY_FAILURE","HISTORY_EVENT_FIRED_FROM_MAGELLAN","ADD_HISTORY_ENTRY_FOR_UI_PAGES","HISTORY_COMMUNICATED_TO_SW","LEGACY_FORM_MODIFIED","LEGACY_FORM_SUBMITTED","LEGACY_FORM_SUBMIT_ATTEMPTED","LEGACY_FORM_BEFOREUNLOADED","LEGACY_FORM_UNLOADED","INIT_GUIDED_TOURS","TOUR_MODAL_OPENED","TOUR_MODAL_CLOSED","TOUR_BEGIN","handleUINotification","getType","getText","getDuration","customEvents","magellanNavigator.permalink.set","relativePath","magellanNavigator.historyAdded","history","magellanNavigator:favoriteSaved","favoriteResponse","updateSelectedContentFavorite","magellanNavigator:favoriteRemoved","removedFavorites","polaris:legacy.createFavorite","form.isModified","gsft.formSubmit","back.gsftSubmit","sn:impersonate","sn:elevate_roles","sn:change_application","sn:change_update_set","setNotification","glide:ui_notification.system_event","_data$xml","xml","getAttribute","openframe_request","record.domain","collab:open_collab_chat","tour:modal_opened","tour:tour_start","buildDate","BUILD_DATE","depCSS","rel","head","tour:step_rendered","embedded_help:load_embedded_help","nowassist:open_utility_menu","_userSession","_userSession2","_userSession3","_userSession4","l","mainMenuPinnedId","MAIN_MENU_PINNED_ID","contextualMenuPinnedId","CONTEXTUAL_MENU_PINNED_ID","contextualMenuWideMenus","CONTEXTUAL_MENU_WIDE_MENUS","showHiddenControlsPref","SHOW_HIDDEN_CONTROLS","COLLAB_CHAT_ENABLED","isHelpAssistantEnabled","HELP_ASSISTANT_ENABLED","userRolesCount","previousUserRolesCount","idbMenuCache","showUtilityBarOnInitialLoad","DOMAIN_PICKER_SHOWN","APPLICATION_PICKER_SHOWN","UPDATE_SET_SHOWN","ENCRYPTION_SHOWN","isProductFeedbackEnabled","PRODUCT_FEEDBACK_FORM_ENABLED","UXF_METRICS_ENABLED","lastNowUiPageVisited","isIpSurveyEnabled","logoutConfirmationOpened","dirtyWorkspaces","recentIframeTitle","favoriteModalProps","wideMenuWidth","announceImpersonationStatus","isPinnedWindow","showUtilityBar","searchComponentLoadRequested","openChat","floatingContainerSize","showPanel","ctiRef","MAX_VALUE","helpAssistantEnabled","isHistoryEventFired","collabChatState","showCreateCollabChatModal","parentTable","parentSysId","collabChatLoaded","maxTouchPoints","msMaxTouchPoints","uiNotificationsMeta","queue","totalRowCount","currentTooltip","visibility","getNormalizedChildren","assignedNodes","flatten","nowRootNode","CLEANUP_INTERVAL_MS","getTabIdTimestamp","tabId","isFinite","getToastInitialTimeout","getToastAfterFocusTimeout","timestamp","ensureFreshNotificationEntry","alreadyNotified","tabIds","ensureNotificationEntry","sortTabIdsByPriority","feature","sort","aSegments","bSegments","aHasFeature","bHasFeature","aHasInboxOpen","bHasInboxOpen","aHasInboxAvailable","bHasInboxAvailable","aHasInboxRoute","bHasInboxRoute","LoadingIndicator","AnnouncementsBanner","isMainContentReady","DISABLE_ANNOUNCEMENT_BANNER","configId","ANNOUNCEMENT_BANNER_CONFIG_ID","SkipLinksBar","skipLinksVisible","on-focusin","on-focusout","underlined","on-focus","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","ANNOUNCE_IMPERSONATION_START_KEY","ANNOUNCE_IMPERSONATION_END_KEY","runLifecycleFns","lifecycleFns","shift","postFns","getLocationHref","getTitle","getLocationPathName","ENABLED_PLUGINS_REFRESHED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","deregisterComponent","getAllPrettifiedShortcuts","getKeyboardShortcutOverrides","handleShortcutKeyDown","onShortcutsInitialized","registerComponent","restoreDefaults","setActionState","setKeyboardShortcutOverride","FETCH_UI16_DEPENDENCIES","IFRAME_NAVIGATION_START","PAGE_LOAD_INTERACTION_TYPE","interactionType","loadStartTime","setCoreUIInteractionType","setCoreUILoadStartTime","setGlobalInteractionId","nowUiFramework","uxrInteractionId","setCoreUIInteractionId","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__","convertUrlToPayload","GJSV","DOWNLOAD_FORMATS","allowedDomains","_getProperty$split$fi","NEXT_EXPERIENCE_ALLOWED_DOMAINS","Boolean","getParsedUrl","targetParsed","protocol","safePath","getQueryString","queryObject","getRelativePath","iframeUrl","setIframeBackgroundColor","iframe","_iframe$contentWindow","iframeBackgroundColor","contentWindow","NOW","isUsingPolaris","contentDocument","backgroundColor","isSupportedExperience","_payload$context","redirectToSeismicRoute","stop","handleUrlChange","_currentValue$params","_iframeEl$style","currentValue","iframeEl","incomingUrl","currentUrl","iframeVisibility","redirect","_timestamp","setCoreUIInformation","userSettingsBuffer","getCoreUiIframe","changedPreferences","preferenceName","sendEventToFrame","frame","CustomEvent","fireToWindow","_previousValue$params","getElementById","isDelayNeeded","shouldResetUrl","normalizedUrl","format","downloadUrl","downloadFrame","normalizeDownloadUrl","initIframeLoadListeners","frameBusterRouteChangeWithoutRedirect","convertedPayload","getPageTitle","formTemplate","showIframe","dispatchEvent","Event","fireAll","isDocumentHidden","visibilityState","showPrint","__frames","gsft_main","globals","transformTitle","labelSplitArr","reverse","getHelpContext","rawContext","_rawContext$context","page","app_route","waitForAllComponentsIdle","pause","initialExperiencePageLoadedCodeExecuted","handleContextualMenuClick","restOfState","handleMenuPinningReflow","canPinMainMenu","canPinContextualMenu","wasContextualMenuPinnable","napWasDocked","nowWindowManager","getDockedWindowId","closeDock","toggleDock","resetMainPinId","resetContextualPinId","loadStyleProps","nowAssistSettings","standardMenuWidth","parseInt","napMenuWidth","newMenuWidth","aielActiveForFulfiller","setProperty","isNaN","activeContent","handleResize","onblur","isPolarisWrapper","animationsDisabled","DISABLE_ANIMATION","seismicContentLoaded","hostComponent","menuFetched","alreadyOpen","_state$headerMenuItem","isUnsaved","notificationCount","pref","_pin","isNAPMenu","isAIEX","isMenuOpen","_mapOverflowMenuItems","dispatchedActionMap","matchingOverflowMenu","menuInfo","_window$nowWindowMana","_properties$nowAssist","_window$nowWindowMana2","favList","onlyAllEntryRecording","innerHeight","handleWindowResize","CANVAS_SCREEN_LOADED","_ref16","_window$CustomEvent","frameElement","_ref17","_window2","_window3","_state$helpPanelAppCo","impersonationStatus","_ref18","__timestamp","_ref19","_ref20","requestToCloseModals","SET","productName","suffix","_selectedContent$cont3","str","token","charCode","charAt","substr","fromCharCode","setTopLevelUrl","_ref21","_iframe$contentWindow2","timing","navigationStart","endTime","loadEventEnd","loadTime","screenParams","totalUiTime","experienceId","screenRoute","_interactionId","endsWith","markCoreUIInteractionComplete","historyItem","navigator_history","_ref22","_dirtyFrame$contentWi","magellan","setNavigatingState","dirtyFrame","modifiedForm","frames","formModified","dirtyFormConfirmationPayload","_ref23","_ref24","_properties$userSessi","enabledPlugins","userRoles","_ref25","active","uxf","_ref26","_ref27","GUIDED_TOURS_ENABLED","isGtdEnabledForStandardUI","_ref28","_ref29","_focusableNodes$first","focusableNodes","firstFocusableElement","mainEl","findNodeInShadowDom","cssSelector","Node","ELEMENT_NODE","_focusableNodes$first2","_focusableNodes$first3","_ref30","_ref31","_host$shadowRoot$quer4","_m$menu2","_ref32","_ref33","isMenuAlreadyOpen","overflowSubMenu","curr","overflowMatchingSubMenuItem","_ref15","_host$shadowRoot$quer3","overflowButtonFocus","navButtonFocus","_m$menu","_ref34","_ref35","_ref36","_ref37","printerConfirmationModalProps","favoriteDeletePayload","startDebuggingConfirmationOpened","_ref38","screenKey","sourceSelectedContent","_ref39","_payload$params","_ref40","sysid","normalizeOpenframeRibbonPayload","_ref41","showFeedbackForm","_ref42","_ref43","_ref44","isNowAssistUnavailable","nowAssistUnavailableModalOpened","launchMode","_item$label","_item$id","drilldownIntoMenu","_item$buttonConfig","isSecondaryMenu","newMenuList","wmBottomToolbar","_ref45","windowManager","DEV_STUDIO_INIT","getDependencies","depHandler","setupLegacyEventHandlers","depJS","onload","fetchPolarisUI16Dependencies","isNavigating","invokeWhenShouldFocus","currentWindow","existingEvents","_window$__frames","Proxy","Reflect","OPEN_FRAME_CONFIG_REQUESTED","OPEN_FRAME_CONFIG_SUCCEEDED","OPEN_FRAME_CONFIG_ERROR","ALLOW_LIST_FOR_ROLES","OPENFRAME_STATE_PATH","OPENFRAME_ENABLED","openFrameConfigEffect","checkForOpenframeRole","openframeRef","configIcon","navIconClass","hasIcon","show","hasRole","ctiButtonRef","oldOpenframeRef","entity","_properties$selectedC","parent_table","parent_sys_id","doNotOpenForUI16","fallbackRoute","OPENFRAME_CUSTOM_EVENT","listMetadataMap","fixEncodedStateInRoute","encodedPersistedState","adaptMenuItem","canFavorite","createdTimestamp","createdTimestampOffset","timestampOffset","_str$replace","prettyTitle","isAllHistoryStrategy","shouldRecordHistory","lastPageVisited","isListTemplatePage","listDataFetched","_route$params5","listId","listParams","_route$params2","_route$params3","tinyId","isListMissingParams","isUrlDifferent","isTitleDifferent","recordListMetadata","_payload$model","listIDSelectedContent","tinyUrl","model","tinyFields","pushHistory","historyUpdateRequested","locationPathName","_route$params","isListTemplateRoute","dropParams","_route$params4","getListParams","experiencePath","recordHistory","pushHistoryFailure","isMenuStubbed","isEntryHistoryStrategy","historyRecordingType","experienceRoute","desc","getTitleAndDescription","ui_type","deepFilter","_obj$path","deepEach","MENU_LOADING_BEHAVIOR_NAME","MENU_LOADING_BEHAVIOR_STATE_PATH","LOADER_MENU_STUBBED","LOADER_MENU_UNSTUBBED","trackStartTime","effectFn","interceptors","getPolarisMenus","headerList","isEqualToId","findMenuByPath","menus","currMenu","prepend","findDuplicateItem","createFavoritedItemsSet","favoritedItems","favSubItem","flagFavorites","configurableMenuItems","favorited","flagFavouritesForConfigurableMenus","favoritedItemsSet","favoritesObject","updateHeaderMenuItems","isMenuFlushstampEnabled","MENU_CACHED_FLUSHSTAMP_ENABLED","appendOverflowItem","overflowMenuItem","syncPinnedMenuPreference","updateMenuHeaderItems","menuHeaders","pendingHistory","cachedMenu","MENU_LAZY_LOADING_ENABLED","h","cap","Infinity","currentMenu","newMenu","parentItem","addToMenu","paths","updateSubItems","subItemSkipList","updateMenuItem","fill","filteredMenu","removeFromMenu","replaceMenuSubItems","flushstamp","oldHeaderMenuItems","isMenuDataCurrent","responseHeaders","updatedFlushstamp","evaluatedDataPipeline","BACKGROUND_LOAD_MENU","stripBlacklistedParams","blacklist","FAVORITE_EDIT_MODAL_REQUESTED","FAVORITE_EDIT_MODAL_DISMISSED","FAVORITE_EDIT_MODAL_CONFIRM_CLICKED","flattenMenuItems","parentKey","_head$key","defaultColors","getColors","colors","propColors","NAV_COLORS","ex","defaultIcons","getIcons","icons","propIcons","NAV_ICONS","ARIA_LIVE_MESSAGE_ADDED","ARIA_LIVE_MESSAGE_REMOVED","mapItemsToFavorites","NAV_FAVORITE_URL_PARAM_BLACKLIST","areSimilarClassicUrls","url1","url2","customDenyList","cleanUrl1","cleanUrl2","searchParams1","fromEntries","searchParams2","hostname","areSimilarRouteObjects","route1","route2","isSameContext","isSameFields","isSameParams","isSameRoute","isSameEncodedPersistedState","resetFavoriteDeletePayload","addNestedItems","itemArray","createFavoriteByUrl","updateAllFavorites","deleteMultipleFavoritesById","deleteMultipleFavoritesByModuleId","createFavoriteById","createFavoriteByGroup","deleteFavoriteById","deleteFavoriteByModule","deleteFavoriteByApplication","getFavorite","currentPage","windowName","trimmedUrl","normalizedSelectedContent","getRoute","_f$favorites","_f$favorites2","switchingPopupPosition","openModal","addCallback","updateCallback","entryId","parentGroup","addSelectedContentFavorite","menuItemUpdateSkipList","removeSelectedContentFavorite","resultType","skipUpdate","skipAriaLive","dispatchAriaLiveMessage","favoritesRemoved","childrenRemoved","c","getFavoriteLabel","_f$label","groups","allMenuRemovedFavorites","allId","adminMenuRemovedFavorites","adminId","_flattenMenuItems","oldSelectedContentFavorite","flatFavorites","_value$params","oldPopupPayload","payloadUrl","dispatchPayload","dispatchMeta","FAVORITE_EDIT_POPUP_ENABLED","parentMenuItem","appChildrenFavorites","dispatchAction","_parentMenuItem$subIt","skipModification","flatItem","favoriteLabel","createAllMenuLabel","actionSource","_dispatchPayload$favo","needCallback","isSameId","second","flatOldFavorites","flatNewFavorites","newFavoritesToUpdate","updateTitle","_selectedContent$para3","removedFavoritesToUpdate","_selectedContent$para4","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__","IMPERSONATION_MODAL_DISMISSED","USER_IMPERSONATE_FAILED","USER_IMPERSONATE_SUCCEEDED","testImpersonateUserEffect","pathParams","storageKey","_payload$data","_payload$data2","detail","endImpersonation","impersonationOpen","ELEVATE_ROLES_SUCCEEDED","updateElevatedRoles","elevateRoleOpen","handlePrintRequest","printUrl","setupPrintInfo","_iframe$contentDocume","_iframe$contentDocume2","maxRows","MAX_PRINT_ROWS","isForm","_iframe$contentDocume3","referringUrl","forms","sys_personalize","sysparm_referring_url","isNewForm","printInfo","breakpointHitAlert","debugWindow","isPluginEnabled","plugins","plugin","updatePart","newParts","partsEnabled","isUserRole","isPropertyEnabled","getDirtyFrame","currentFrame","iframeElId","formSubmitted","isModified","checkDirty","subFrame","polarisLayoutUnloadHandler","returnValue","applicationChangeEffect","applicationRefreshEffect","_availableApplication","concourseCurrentDataRequested","concourseDataListsRequested","dispatchWhenUserSettingsAccessIsPresent","currentDataFetched","concourseListRequested","hasRequestedConcourseRebuildConfig","domainTable","isAIUXMode","currentNormalizedDomain","hierarchy","appList","domainList","updateSetList","oldUpdateSets","oldApplications","oldDomains","updateSetChangeEffect","updateSetRefreshEffect","requestedUpdateSet","requestUpdateSet","shouldCreateHTMLElement","DEV_STUDIO_OPEN_MODE_REQUESTED","DEV_STUDIO_OPEN_MODE_SUCCEEDED","getDevStudioOpenMode","devStudioOpenMode","DevStudio","initDevStudioLauncher","definitionSysId","inputValues","_output$result$","output","executionResult","getDomain","domainObj","domainChangeEffect","DOMAIN_REFERENCE_SEARCH_REQUEST_SUCCEEDED","domainSearchEffect","currentDomainResultOffset","currentDomainSearchTerm","hasMoreResults","start","finalSearchTerm","searchMethod","qualifier","sysparm_domain","sysparm_for_impersonation","executeSearch","DOMAIN_SEARCH","_payload$items$map","_payload$items","domainId","getUpdatedDomains","domains","onIframeLoad","cb","_path","_iframe$contentDocume5","readyState","onReadyStateChange","_iframe$contentDocume4","removeEventListener","PLUGINS_REFRESH_REQUESTED","PLUGINS_REFRESH_REQUEST_SUCCEEDED","refreshAvailablePlugins","enablePlugins","_host$selectedContent","_result$","getUserNotifications","getAlert","autoDismissConfig","moveUserMsgContent","totalAlerts","userNotifContainer","txnMessageContainer","messageStackContainer","userSessionNotifications","userUINotifications","_message$duration","autoDismiss","rawDuration","defaultAutoDismissConfig","enableAutoDismiss","finalAutoDismissConfig","filteredItems","notification","authNotification","newItems","accumulator","concoctedNotifications","visibleAlertIds","serviceWorkerEvents","sysProps","historyHandling","favoriteHandling","BroadcastChannel","messageChannel","MessageChannel","port1","onmessage","resolveRegistrations","serviceWorker","getRegistrations","registration","scope","postClearCacheMsg","_registration$active","postMessage","SYS_LOGOUT_PROMPT","user_sys_id","referrerScope","setTimeoutDelay","cacheableRequests","methods","_registration$active2","scopePath","_registration$active3","port2","ariaLiveMessages","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__","createAmbSubscriptionEffect","collabChatAMBChannel","messageReceivedActionType","queryUnreadCount","queryCollabRecord","subscribe","results","COLLAB_CHAT_ENABLE_MULTI_CHATS","queryConditions","collabChatSysId","messageSysId","searchExpanded","openChatPanel","private","UI_NOTIFICATIONS","SUBSCRIBE_MESSAGE_RECEIVED","SUBSCRIBE_REQUESTED","SUBSCRIBE_SUCCEEDED","SUBSCRIBE_FAILED","FETCH_EXISTING_NOTIFICATIONS_REQUESTED","FETCH_EXISTING_NOTIFICATIONS_SUCCEEDED","FETCH_EXISTING_NOTIFICATIONS_FAILED","UPDATE_EXISTING_NOTIFICATIONS_REQUESTED","QUERY_NOTIFICATION_COUNT_SUCCEEDED","QUERY_NOTIFICATION_COUNT_ERROR","WORK_ITEMS_SUBSCRIBE_REQUESTED","WORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS","WORK_ITEMS_CHANGED","WORK_ITEMS_SUBSCRIBED_FAILED","ACTIVELY_FETCH_WORK_ITEM","ACTIVELY_FETCH_WORK_ITEM_SUCCEEDED","ACTIVELY_FETCH_WORK_ITEM_FAILURE","TYPE","ambEffect","subscribeSucceededActionType","subscribeFailedActionType","typeNameIconMap","Case","Incident","Chat","normalizeInboxPayload","workItem","shortDescription","fieldsWithShortDesc","keyName","isDesktopNotification","recordType","typeName","activelyFetchWorkItem","requiredPlugins","register","userDesktopNotificationEnabled","workItemNotificationsEnabled","AWA_WORK_ITEM_NOTIFICATIONS_ENABLED","workspaceInboxNotificationsEnabled","inboxItems","isEntered","areExited","workItems","isInitialFetch","AGENT_WORKSPACE_ROUTE","NEXT_EXPERIENCE_ROUTE","WORK_ITEM_NOTIFICATION_TRIGGER","shouldShowNotification","matchesInbox","_notification$route2","_notification$trigger2","matchesInboxPattern","normalizeUINotificationPayload","notify","isRead","triggeredBy","buildAlertSubscriptionFilter","btoa","subscribeNotificationsEffect","_properties$userMeta2","changedRecordSysId","seismicRecordSysId","classicRecordSysId","rawAlert","alertPayload","updatePayload","chromeNotificationUtils","userSysId","builtAlertItem","alertItem","existingAlert","normalizedNotification","fromDeletingDuplicates","_properties$userMeta3","_properties$userMeta4","existingUINotifications","GlideRecord_Query","ui_notification_inbox","_results","_rowCount","isRefetching","filteredNotifications","newOffset","_properties$userMeta5","_properties$userMeta6","templateVarList","GlideAggregate_Query","TAB_ID","notificationChannel","isBroadcastChannelAvailable","notificationMap","cleanupIntervalId","startCleanupInterval","setInterval","util","clearInterval","notificationId","dismissAllNotificationToasts","notificationPublishers","inboxPublisher","uiNotificationsPublisher","getUrl","fireDesktopNotification","notificationPayload","_canvasToolbar","_canvasToolbar2","_canvasToolbar3","_canvasToolbar4","Notification","renotify","onclick","navType","close","currentRoute","hasInboxRoute","appRouteConfiguration","routes","canvasToolbar","isInboxToolbar","isInboxToolbarOpened","viewportInfo","currentTabKey","webNotification","notificationItem","uiNotificationBannersOn","setNotificationAsToast","getDayTitle","acctualDate","isToday","getMonth","getFullYear","today","yesterday","daysBetween","baseDate","actualDate","normalizedBaseDate","setHours","normalizedActualDate","abs","getWords","daysDiff","seconds","minutes","hours","words","hh","getHours","mm","getMinutes","enabledPublishers","publisher","pluginName","isPublisherPluginsEnabled","_coeffects$action","permission","requestPermission","desktopNotification","experience","_date","updatedNotifications","dayTitle","recency","_state$uiNotification","_state$uiNotification2","_state$uiNotification3","closeBellMenu","max","newTotalRowCount","newQueue","clearCount","registerComponentSub","setActionStateSub","_len2","args","_key2","setActionStateNowTriggerLib","KEYBOARD_SHORTCUTS","STATE_PATH_IS_LOGIN_EVALUATED","STATE_PATH_IMPERSONATE_EVALUATED","STATE_PATH_SEARCH_RENDERED","isLoginShortcutEvaluated","isImpersonationEvaluated","isSearchRendered","keyboardShortcutsModalOpened","nowTriggerLibRegistrationId","stillNeedToEvaluateImpersonation","_len","_key","registerComponentNowTriggerLib","actionMap","keyboardShortcutHandler","headerMenu","currentHeaders","menuMapping","_action$payload2","oldIsRenderingSearch","keyboardShortcutsState","shortcuts","loading","hasOverrides","cells","mode","err","shortcutSysId","shortcutName","platform","keyboardMetadata","attemptId","inputSource","suggestionSource","recommendations","UI_CONFIGURE_SCREEN_BEHAVIOR_NAME","UI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH","showScreenContentLinks","_userMeta$roles2","screenContentItemsMap","activeScreenId","behaviorState","newScreenContentItemsMap","configureItems","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__","snHelpAssistantBehavior","forwardHelpPanelActionCalled","forwardHelpPanelCalled","isHelpAssistantPluginActive","forwardHelpAction","snHelpBehavior","snHelp","forwardHelpAssistantAction","forwardHelpPanelAction","snHelpPanelBehavior","snHelpPanel","isInitiallyLoaded","helpContext","refreshRequested","_helpPanelAppContext$","lastTimestamp","hasNewContent","deferUpdate","BANNER_DELAY","MENU_LOADER","LOADER_MENU","newMainMenuState","previousMainMenuState","ALL_MENU_LOADING","MESSAGE_STACK_SERVICE_REQUESTED","MESSAGE_STACK_GET_MESSAGE","MESSAGE_STACK_MESSAGE_SUCCEEDED","getUserMessage","messageStackAlerts","MESSAGE_SERVICE_POLL_INTERVAL","_document$cookie","_messageServices$spli","cookies","cookie","messageServices","MESSAGE_SERVICES","service","showAlert","MESSAGE_SERVICE_MESSAGE","messages","messageKeys","MESSAGE_SERVICE_MESSAGE_KEYS","logout","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__","REFRESH_PREFERENCES_MAP","ATF_INSPECTOR_ROLES","DASHBOARD_ROLES","getDateTimeSelectedItem","selectedFormat","DATE_FORMAT","compact","COMPACT_DATE","timeAgo","dateBoth","isAtfInspectorEnabled","preferenceNamespace","showSeismicDevtoolsPrefPanel","isChrome","hasURL","NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOL_CHROME_WEBSTORE_URL","NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOLS_USER_PREF_ENABLED","THEME_VARIANT_CHANGED","THEME_INFODENSITY_CHANGED","THEMES_FETCHED","THEMES_FETCHED_SUCCEEDED","THEMES_FETCHED_FAILED","fetchThemes","propertiesForPrefs","findRGBValue","mapPropertiesToRGBValues","newProperties","setAvailableThemes","availableThemes","multiThemeEnabled","themes","themeObject","themesFetched","styleProperties","coreStyles","convertedStyleProperties","themeId","isDark","DARK_THEMES_ENABLED","deviceAdaptiveStyles","createThemeLoaderEffect","GET_TELEMETRY_TRACKING","GET_TELEMETRY_TRACKING_SUCCEEDED","GET_TELEMETRY_TRACKING_FAILED","UPDATE_TELEMETRY_TRACKING","getTelemetryTracking","updateTelemetryTracking","ConsentToggleState","ConsentToggleIsAllowed","telemetryToggleState","isTelemetryToggleAllowed","telemetryToggleIsAllowed","CORE_TABS","general","accessibility","notifications_general","EVENTS","eventMappings","timeago_set","date_both","shortdates_set","getSetting","omitSettings","omitMappings","getSettingsModalPath","_document$cookie$spli","settingsModalPathValue","row","replaceAll","_settingsModalPathVal","modalPath","notificationUrl","_decodedValue$split$","decodedValue","targetTab","categoryId","handleSettingsModalPath","settingOpened","_enabledPlugins$find","isAppseeActive","asideHeight","functionMap","funStartTime","PUSHED_UXF_PAGE_TO_STACK","PUSHED_UXF_PAGE_TO_STACK_SUCCESS","PUSHED_UXF_PAGE_TO_STACK_FAILURE","pushToStack","glideStackName","sysparm_uri","sysparm_nameofstack","sysparm_clear_stack","pushToStackSuccess","pushToStackFailure","handleFeedbackFormClose","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","setHelpVisited","isNowAssistEnabled","guidanceId","isHelpVisited","subscribeToNowAssistConversation","getUnreadChatCount","getUnreadConversation","checkMultiConversationEnabledForNAP","eventListeners","WeakMap","COMPONENT_CONNECTED","onServiceUnavailable","_event$detail","reason","__aielServiceAvailable","__aielServiceUnavailable","listeners","retryPending","_value$fields","_value$fields2","_value$fields3","_value$fields4","_window$__AIEX_GLOBAL2","acceptedTypes","pageContext","pageType","updatePageContext","napActive","isAIEXEnabled","gaicPluginActive","isGaicPluginActive","updatedContextualMenuState","isNowAssistEnabledForFulfiller","updateContextualMenuPinState","channelName","handleNowAssistPanelEnabled","handleAIEXEnabled","isVoiceInputEnabled","isVoiceInputActive","handleVoiceInput","napVoiceInputActive","supportsMultipleConversations","sysparm_return_only","portal","isOffglide","sysparm_deviceType","conversationCount","totalUnreadMessageCount","_experienceConfigs$ex","appNotAnalyticsRestricted","ANALYTICS_RESTRICTIONS","showUsageAnalyticsMenu","getInspectorToggledUrl","enabled","classicIdentifier","decodedHref","uriParts","getUserPrefsMap","_userMenuChildren$fin","_availableThemes$","_userMeta$dateFormat","_availableThemes$2","hasFavorites","hasAdminRole","hasApplicationsTab","showRibbonObject","userPrefName","WORKSPACES_SHOW_RIBBON","lazyLoadingObject","WORKSPACES_LAZY_LOADING","showSidebarObject","WORKSPACES_SHOW_SIDEBAR","showActivityExpandedObject","WORKSPACES_SHOW_ACTIVITY_EXPANDED","showBannersObject","WORKSPACES_SHOW_BANNERS","showBadgeCountObject","homepageTitle","homepageValue","HOMEPAGE","HOMEPAGE_TITLE","getHomepageTitle","finalLandingPageItems","DEPRECATE_HOMEPAGES","_enabledPlugins$find2","RESPONSIVE_GRID_LAYOUT","isDashboardsEnabled","analyticsPrivacyStatement","ANALYTICS_PRIVACY_STATEMENT","mediaQuery","matchMedia","highContrastEnabled","defaultTheme","themeVariantPreferenceName","NAMESPACED","THEME_VARIANT","themePreferenceName","THEME","selectedTheme","selectedVariant","isThemePrefValid","calendarFormat","dateFormat","dateTimeFormatItems","applications","subTabs","ribbonImg","imageId","metricsName","sidebarImg","activityExpandedImg","subtitle","linebreakImg","WRAP_LIST","showBannersImg","showBadgeCountImg","TABBED_FORMS","RELATED_LIST_LOADING","shouldReload","COMPACT","THEME_INFODENSITY","valueConverterMap","true","false","additionalHandler","selectedInfoDensity","FIELD_TOOLTIPS","AIEX_LAUNCH_MODE","_theme$variants","isCurrentThemeSelected","selectedThemeVariant","themeProperties","isThemeSelected","isCardClickable","a11y","A11Y_DATE_FORMAT","A11Y_SCREEN_READER","DATA_VIZ","newTab","A11Y_UI16","POLARIS_INVISIBLE_CONTROLS_USER_PREF_ENABLED","POLARIS_KEYBOARD_TRUNCATION_USER_PREF_ENABLED","TRUNCATED_TEXT","AUTO_FOCUS_ALERTS","ALERT_AUTO_DISMISSAL","LEGACY_NOTIFICATION_MODEL","NOTIFICATION_LOCATION","customContent","border","previousElementSibling","rebroadcastIframeEvents","innerIframe","subTab","debugging","clickHandler","launchScriptDebugger","ATF_INSPECTOR_ENABLED","ATF_INSPECTOR_SWITCH_ON","atfUtils","region","datetime","timezone","itemSearch","country","USER_SELECT_LANDING_PAGE","POLARIS_ON_OFF_USER_PREF_ENABLED","isUserExperienceTabEnabled","attrs","viewBox","NULL","continue","originalValue","displayIcon","user_consent","iframeElement","iframeDocument","eventRebroadcastSetup","iframeBody","shouldRebroadcastEvent","focusableElements","keyboardEvent","KeyboardEvent","updatePrefsMap","userPrefsMap","AIUX_GUIDANCE_MODAL_OPEN","aiuxGuidanceId","shouldShowAiuxGuidance","concourseFetchTime","fetchPluginsTime","createFavoriteTime","menuRenderTime","fetchMenuTime","headerRenderTime","impersonateFetchTime","totalTime","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateSubscriberBehavior","_find","guidedToursLoaded","initialMainContentReady","logoSrc","isAiuxExperience","displayTransactionStatusMessage","TRANSACTION_STATUS_MESSAGE_ACTIVE","transactionStatusMessageDelayTime","TRANSACTION_STATUS_MESSAGE_DELAY_TIME","normalizeDirtyWorkspaces","workspaceMenuIndex","_menu$route","contextPath","prev","workspaceMenu","previousWorkspaceMenu","currentNotificationSysId","alertingNotifications","main","mainDisplay","indicatorVisible","resolveLoadingDisplayValues","isFavoriteModalOpen","toggleGlobalSearch","POLARIS_GLOBAL_SEARCH","notificationLocation","helpAssistantActiveAndEnabled","ALL_MENU_EDITOR_REDIRECT","searchRoles","GLOBAL_SEARCH_ROLES","searchRolesTrimSpaces","showSearch","asideResizeObserver","floatingContainerResizeObserver","layoutHeight","nav","windowHeight","getLayoutHeight","rightOffset","isShortcutCustomizationEnabled","KEYBOARD_SHORTCUTS_CUSTOMIZATION_ENABLED","impersonationMessage","getImpersonationMessage","paddingBottom","initialTimeout","afterFocusTimeout","initialDelay","linkText","linkUrl","reset","confirmationModal","heading","requestToClose","hide","dirtyFormStyles","utilityBarStyles","onChange","newVal","prevVal","skipFetchDependencies","customEventManagerBehavior","favoritesBehavior","tooltipBehavior","menuModifierBehavior","historyBehavior","impersonationBehavior","openFrameBehavior","notificationBehavior","elevateRoleBehavior","printerFriendlyBehavior","scriptDebuggerBehavior","applicationBehavior","updateSetBehavior","encryptionBehavior","dirtyFormBehavior","devStudioInit","domainBehavior","enabledPluginsBehavior","inboxEnabledBehavior","coreUiIframeBehavior","mainContentLoadingBehavior","userNotificationBehavior","serviceWorkerBehavior","keyboardShortcutsBehavior","keyboardShortcutsModalBehavior","configureScreenBehavior","helpBehavior","ariaLiveMessagesBehavior","collabChatBehavior","mainContentReadyBehavior","messageStackServiceBehavior","menuLoadingBehavior","skipLinkBehavior","searchBehavior","logoutBehavior","userSettingsBehavior","asideBehavior","scheduleForPageLoadBehavior","guidedToursBehavior","NavigationStackBehavior","FeedbackFormBehavior","concourseFetcherBehavior","nowAssistBehavior","usageAnalyticsBehavior","performanceMetricsBehavior","themeBehavior","telemetryBehavior","userPreferenceObjectGeneratorBehavior","callbackFn","subscriberUpdateStateFn","experienceData","_experienceData$exper","aiuxGuidanceBehavior","FavoriteDelete","onToggleFavorite","starOutlinePaths","starFillPaths","loadIconSvg","editIcon","svg","canEdit","tooltipText","addGroupPropToMenus","innerMenu","isATFCustomizationsEnabled","totalItems","matchingItems","hideScroll","skipDefer","isSingleLevel","_m$subItems","subItemsSet","idx","finalSubMenu","resolveActions","Edit","Favorite","FilterResultAnnounce","getFilterResultAnnouncement","ONE_HOUR","FIFTEEN_MIN","BUCKET_SPAN_MS","findKeyInObject","targetKey","bucket","favoriteBlackList","historyBlockList","routeType","persistedState","atob","getLocale","normalizedLocale","normalizeFormat","Intl","DateTimeFormat","supportedLocalesOf","isSupportedLocal","isSameDate","MenuGroup","showMenuHeader","MenuSection","reducedMenu","accum","totalHistoryItems","numItemsSeen","labelSize","elapsedTime","timeMarker","timeLabel","_item$descriptionMatc","ariaID","descriptionMatch","AllResultsHeader","canToggle","ResultsSubheader","toggleType","FilteredResults","filteredMenuData","superFilterFavoritesOpen","superFilterOtherOpen","isSectionOpen","AllResults","fullMenuData","TreeMenu","SimpleFilteredResults","currentMenuData","favoritesMenuData","allResultsOpen","FullFilteredResults","to","val","makeConfigUrl","makeBuilderUrl","createClassicRoute","targetMapper","addNoStack","createExternalRoute","COMMAND_MAPPING","lastIndex","findFirstHighlightedNavItem","firstList","navItem","_navItem","firstInnerList","executeSuperFilter","skipHighlight","FILTER_MENU_EVENT_TRACKED","filterValue","_searchTerm","isSingleMenu","targetMenu","targetMenuState","makeNavigationFromCommand","setCanEdit","SuperFilter","favoritesMenuItems","fullMenuItems","joinMenuItems","getSuperFilterResults","forceAllResultsOpen","TEMPLATE_MAP","historyList","bucketedItems","HISTORY_URL_PARAM_BLOCKLIST","pastToday","itemCreatedDate","todayBuckets","yesterdayDate","restOfDays","resolvedLocale","month","day","Today","deduplicateBucket","createTimeBuckets","overflow","activeMenuId","isSuperFilterOpen","isInMenu","OverflowMenuHeader","pencil","NEXT_EXPERIENCE_NAV_FILTER_SINGLE_CLICK_ENABLED","canMove","loader","templateProps","Template","_host$parentElement","menuElementsList","previousMenu","nextNavigationTabElement","moveMenu","navTabElem","isContextualMenu","menuBodyOffset","findAppMenuId","appMenus","foundId","appMenu","_appMenu$subItems","findMatchingModuleRecursive","_route$context","getRouteFromMenuItem","_menuItem$route","_menuItem$route2","updatePersistedState","_item$route$external$","application","prepareFavoriteUrl","inputField","isMainMenuClosed","containerTabindex","setupIntersectionObserver","root","rootMargin","alreadyBeenOpened","teardownObserver","disconnect","getPathTag","_state$pathTag","pathTag","svgTag","createElementNS","drawTabSvgPath","tabHeight","cornerRadius","hideAnimation","navTabElemRect","_state$navTabElem","_state$navTabElemRect","ASSIGN","getNavTabElement","areaHeight","tabWidth","tabLeftOffset","leftHorizontalEndPoint","rightHorizontalEndPoint","tabSideLength","updateTabPath","superFilterAllResultsOpen","isInOverflow","isSuperFilterAllResultsOpen","isRefreshMenuSysPropEnabled","NEXT_EXPERIENCE_ALLOW_MANUAL_MENU_REFRESH","menuTabSvg","on-blur","plus","sync","hasRendered","_","menuLazyLoadingBehavior","filterBehavior","tabSvgBehavior","overflowActionHandlers","___POLARIS_VERSIONS___","version","__TECTONIC__polaris_app_shell"],"sources":["webpack:///polaris-app-shell/src/behaviors/openFrameBehavior/constants.js","webpack:///polaris-app-shell/src/behaviors/performance-debug-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/render-cause-debug-behavior.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/draggable.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/draggable.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/draggable.view.js","webpack:///polaris-app-shell/src/constants/index.js","webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/getUrl.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///polaris-app-shell/src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.scss","webpack:///polaris-app-shell/src/components/sn-feedback-form/src/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/logo/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/navigation/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/concourse-pickers/style.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/user-menu/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-layout/_sn-polaris-layout.scss","webpack:///polaris-app-shell/src/components/sn-polaris-layout/dirty-form-modal/dirty-form.scss","webpack:///polaris-app-shell/src/components/sn-polaris-layout/draggable/draggable.scss","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utility-bar/styles.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/_sn-polaris-menu.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-collapsible-list/_sn-collapsible-list.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-drilldown-list/_sn-drilldown-list.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-all/_sn-menu-template-all.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/_sn-menu-template-history.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-loader/_sn-menu-template-loader.scss","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-overflow/_sn-menu-template-overflow.scss","webpack:///./src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.scss?2540","webpack:///./src/components/sn-feedback-form/src/styles.scss?ae65","webpack:///./src/components/sn-polaris-header/logo/styles.scss?7e9d","webpack:///./src/components/sn-polaris-header/navigation/styles.scss?073e","webpack:///./src/components/sn-polaris-header/styles.scss?cf70","webpack:///./src/components/sn-polaris-header/utility-menu/sn-contextual-menu/concourse-pickers/style.scss?28de","webpack:///./src/components/sn-polaris-header/utility-menu/sn-contextual-menu/styles.scss?19b1","webpack:///./src/components/sn-polaris-header/utility-menu/sn-contextual-menu/user-menu/styles.scss?34d1","webpack:///./src/components/sn-polaris-layout/_sn-polaris-layout.scss?3540","webpack:///./src/components/sn-polaris-layout/dirty-form-modal/dirty-form.scss?eca5","webpack:///./src/components/sn-polaris-layout/draggable/draggable.scss?acb7","webpack:///./src/components/sn-polaris-layout/utility-bar/styles.scss?313e","webpack:///./src/components/sn-polaris-menu/_sn-polaris-menu.scss?3f25","webpack:///./src/components/sn-polaris-menu/sn-collapsible-list/_sn-collapsible-list.scss?371a","webpack:///./src/components/sn-polaris-menu/sn-drilldown-list/_sn-drilldown-list.scss?8038","webpack:///./src/components/sn-polaris-menu/sn-menu-template-all/_sn-menu-template-all.scss?3ac0","webpack:///./src/components/sn-polaris-menu/sn-menu-template-history/_sn-menu-template-history.scss?7020","webpack:///./src/components/sn-polaris-menu/sn-menu-template-loader/_sn-menu-template-loader.scss?fc27","webpack:///./src/components/sn-polaris-menu/sn-menu-template-overflow/_sn-menu-template-overflow.scss?6510","webpack:///external import \"/uxasset/externals/@devsnc/sn-elevate-roles/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-help-panel/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-help/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-impersonation/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-ips-seismic-lit-wrapper/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-kb-shortcuts/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-notifications-menu/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-user-preferences-modal/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@servicenow/sn-banner-announcement/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@servicenow/uxa-commons-connected/index.jsdbx\"","webpack:///external import \"/uxasset/externals/now-assist-core/index.jsdbx\"","webpack:///external import \"/uxasset/externals/polaris-app-shell/components/sn-feedback-form/index.jsdbx\"","webpack:///external import \"/uxasset/externals/polaris-app-shell/components/sn-polaris-layout/favorite-edit-modal/index.jsdbx\"","webpack:///external import \"/uxasset/externals/polaris-app-shell/components/sn-polaris-layout/transaction-status-message/index.jsdbx\"","webpack:///external import \"/uxasset/externals/sn-oe-sfs/index.jsdbx\"","webpack:///external import \"/uxasset/externals/sn-unified-notification-preferences/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/unav-utils/29.5.4/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-runtime-utils/24.0.21-uxperf-rc-page-idle-api.7/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-internal/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/objectWithoutPropertiesLoose.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/jsonp chunk loading","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/logout-behavior/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/logout-confirmation/index.js","webpack:///polaris-app-shell/src/behaviors/favorites-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/favorites-behavior/actions.js","webpack:///polaris-app-shell/src/components/favorite-delete-modal/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/script-debugger-modal/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/script-debugger-modal/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/dirty-form-modal/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/dirty-form-modal/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/dirty-form-modal/dirty-form-modal.utils.js","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-polaris-layout/user-session-notification/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/user-ui-notification/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/message-stack-service-notification/index.js","webpack:///polaris-app-shell/src/behaviors/printer-friendly-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/printer-friendly-behavior/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/printer-confirmation-modal/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/guided-tours-modal/index.js","webpack:///polaris-app-shell/src/behaviors/now-assist-behavior/constants.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/28.0.17-polaris.0/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/renderDirtyWorkspaceIcon.js","webpack:///polaris-app-shell/src/behaviors/menu-modifier-behavior/util.js","webpack:///polaris-app-shell/src/behaviors/is-inbox-enabled-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/aria-live-messages-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/28.0.17-polaris.0/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-polaris-header/actions.js","webpack:///polaris-app-shell/src/utils/createInteractionHandlers.js","webpack:///polaris-app-shell/src/utils/featureSettingsSingleton.js","webpack:///external module \"/uxasset/externals/dompurify/3.2.6/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/htmlUtils.js","webpack:///polaris-app-shell/src/utils/openHomePage.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utils/resolveUserSession.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/logo/logo.utils.js","webpack:///polaris-app-shell/src/utils/getLogoSource.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/logo/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-polaris-menu.utils.js","webpack:///polaris-app-shell/src/utils/getMenuItemHref.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/navigation/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/navigation/navigation.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/now-avatar/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-toggle/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/user-settings-behavior/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/user-menu/user-menu.utils.js","webpack:///polaris-app-shell/src/utils/navTo.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/user-menu/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-drilldown-list/sn-drilldown-list.effects.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.0.17-polaris.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.0.17-polaris.0/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-drilldown-list/sn-drilldown-list.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-drilldown-list/sn-drilldown-list.view.js","webpack:///polaris-app-shell/src/utils/createMenuHrefHandlers.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-collapsible-list/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/utils/load-icon.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-collapsible-list/sn-collapsible-list.view.js","webpack:///polaris-app-shell/src/behaviors/menu-modifier-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/menu-modifier-behavior/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-metrics/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/track.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-collapsible-list/sn-collapsible-list.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/editMenu/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/editMenu/edit-menu-behavior/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-collapsible-list/sn-collapsible-list.js","webpack:///polaris-app-shell/src/behaviors/concourse-picker-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/domain-behavior/actions.js","webpack:///polaris-app-shell/src/components/filter-input/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/actions.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-drilldown-list/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/concourse-pickers/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/concourse-pickers/concourse-pickers.utils.js","webpack:///polaris-app-shell/src/behaviors/impersonation-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/schedule-for-page-load-behavior/actions.js","webpack:///polaris-app-shell/src/utils/getBooleanPropertyWhenPolarisEnabled.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utils/position-navigation-items.js","webpack:///polaris-app-shell/src/behaviors/elevate-role-behavior/actions.js","webpack:///polaris-app-shell/src/utils/deepEquals.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/actions.js","webpack:///external module \"/uxasset/externals/moment/2.30.1/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/notification-behavior/utils/buildAlertItem.js","webpack:///polaris-app-shell/src/utils/cache.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/utils/utils.js","webpack:///external module \"/uxasset/externals/sn-search-input-wrapper/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/search-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/search-behavior/index.js","webpack:///polaris-app-shell/src/utils/menuUtils.js","webpack:///polaris-app-shell/src/behaviors/utility-menu-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/performance-metrics-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/performance-metrics-behavior/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/sn-polaris-header.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utils/link-utils.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/28.0.17-polaris.0/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/deepFind.js","webpack:///polaris-app-shell/src/behaviors/encryption-behavior/actions.js","webpack:///polaris-app-shell/src/utils/lifecycleFns.js","webpack:///polaris-app-shell/src/utils/registerLifecycleFn.js","webpack:///polaris-app-shell/src/behaviors/concourse-fetcher-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/encryption-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/application-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/update-set-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/concourse-picker-behavior/index.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/search-dynamic-routing-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/search-dynamic-routing-behavior/dynamicRoutingScript.js","webpack:///polaris-app-shell/src/behaviors/openFrameBehavior/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-overlay/28.0.17-polaris.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/library-enhanced-utils/28.0.17-polaris.0/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/menu-keyboard-nav-behavior/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/fragments/button-fragments.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/sn-contextual-menu.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/sn-contextual-menu.effect.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/sn-contextual-menu.js","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-polaris-header/sn-polaris-header.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/fragments/button-fragments.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/overflow-menu/overflow-menu.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/sn-contextual-menu/overflow-menu/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utils/selectedContentUtil.js","webpack:///external module \"/uxasset/externals/@servicenow/now-textarea/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-card/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-illustration/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-feedback-form/src/constants.js","webpack:///polaris-app-shell/src/components/sn-feedback-form/src/sn-feedback-form.view.js","webpack:///polaris-app-shell/src/components/sn-feedback-form/src/sn-feedback-form.effects.js","webpack:///polaris-app-shell/src/components/sn-feedback-form/src/sn-feedback-form.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/fragments/menu-fragments.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/utility-menu.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/utility-menu/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/search-container/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/fragments/experience-title-pill/index.js","webpack:///polaris-app-shell/src/utils/search.js","webpack:///polaris-app-shell/src/utils/getExperienceLabelAndFavoriteTooltip.js","webpack:///polaris-app-shell/src/utils/isATF.js","webpack:///polaris-app-shell/src/behaviors/collab-chat-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/utility-menu-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/search-actions-behavior/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/sn-polaris-header.js","webpack:///polaris-app-shell/src/components/sn-polaris-header/sn-polaris-header.view.js","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-input/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-select/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/isFavoriteGroup.js","webpack:///polaris-app-shell/src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.utils.js","webpack:///polaris-app-shell/src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.effects.js","webpack:///polaris-app-shell/src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.js","webpack:///polaris-app-shell/src/components/favorite-popup/sn-favorite-popup-content/sn-favorite-popup-content.view.js","webpack:///polaris-app-shell/src/components/favorite-popup/FavoritePopup.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utility-bar/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utility-bar/utility-bar.utils.js","webpack:///polaris-app-shell/src/behaviors/main-content-loading-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/skip-links-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/aside-behavior/actions.js","webpack:///polaris-app-shell/src/utils/getPreferenceValue.js","webpack:///polaris-app-shell/src/utils/idbCache.js","webpack:///polaris-app-shell/src/utils/idbMenuCache.js","webpack:///polaris-app-shell/src/behaviors/user-notification-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/history-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/history-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/dirty-form-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/guided-tours-behavior/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-polaris-layout.utils.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/util.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-polaris-layout.view.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/impersonation-behavior/constants.js","webpack:///polaris-app-shell/src/utils/runLifecycleFns.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utils/globals.js","webpack:///polaris-app-shell/src/utils/getCoreUiIframe.js","webpack:///polaris-app-shell/src/behaviors/enabled-plugins-behavior/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/custom-event-manager-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/core-ui-iframe-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/core-ui-iframe-behavior/utils.js","webpack:///external module \"/uxasset/externals/sn-ux-core/26.0.4/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/core-ui-iframe-behavior/index.js","webpack:///polaris-app-shell/src/utils/transformTitle.js","webpack:///polaris-app-shell/src/behaviors/help-behavior/getHelpContext.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utils/pause.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-polaris-layout.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utils/decodeEntities.js","webpack:///polaris-app-shell/src/utils/setConditionalFocusNavigation.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/utils/openframe.js","webpack:///polaris-app-shell/src/behaviors/dev-studio-init/actions.js","webpack:///polaris-app-shell/src/behaviors/custom-event-manager-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/openFrameBehavior/index.js","webpack:///polaris-app-shell/src/behaviors/history-behavior/index.js","webpack:///polaris-app-shell/src/utils/deepFilter.js","webpack:///polaris-app-shell/src/utils/deepEach.js","webpack:///polaris-app-shell/src/behaviors/menu-loading-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/menu-loading-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/performance-metrics-behavior/helpers.js","webpack:///polaris-app-shell/src/behaviors/menu-modifier-behavior/index.js","webpack:///polaris-app-shell/src/utils/stripBlacklistedParams.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/favorite-edit-modal/actions.js","webpack:///polaris-app-shell/src/utils/flattenMenuItems.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/fragments/color-picker/color-picker.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-layout/fragments/icon-picker/icon-picker.utils.js","webpack:///polaris-app-shell/src/behaviors/aria-live-messages-behavior/actions.js","webpack:///polaris-app-shell/src/utils/mapItemsToFavorites.js","webpack:///polaris-app-shell/src/behaviors/favorites-behavior/index.js","webpack:///external module \"/uxasset/externals/@devsnc/sn-impersonation/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/impersonation-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/elevate-role-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/printer-friendly-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/script-debugger-behavior/index.js","webpack:///polaris-app-shell/src/utils/isPluginEnabled.js","webpack:///polaris-app-shell/src/behaviors/is-inbox-enabled-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/dirty-form-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/application-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/concourse-fetcher-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/update-set-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/dev-studio-init/index.js","webpack:///polaris-app-shell/src/behaviors/domain-behavior/index.js","webpack:///polaris-app-shell/src/utils/onIframeLoad.js","webpack:///polaris-app-shell/src/behaviors/enabled-plugins-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/user-notification-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/service-worker-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/aria-live-messages-behavior/index.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-amb/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/collab-chat-behavior/dataSources.js","webpack:///polaris-app-shell/src/behaviors/collab-chat-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/publisher/actions.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/publisher/inbox.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/publisher/graphQL.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/publisher/uiNotifications.js","webpack:///polaris-app-shell/src/behaviors/notification-behavior/index.js","webpack:///polaris-app-shell/src/utils/keyboard-shortcut-wrapper.js","webpack:///polaris-app-shell/src/behaviors/keyboard-shortcuts-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/keyboard-shortcuts-modal-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/configure-screen/constants.js","webpack:///polaris-app-shell/src/behaviors/configure-screen/actions.js","webpack:///polaris-app-shell/src/behaviors/configure-screen/index.js","webpack:///external module \"/uxasset/externals/sn-help-assistant/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/help-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/main-content-ready-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/menu-loading-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/message-stack-service-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/message-stack-service-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/skip-links-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/logout-behavior/index.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-effect-theme-loader/26.0.8-webux.4/index.jsdbx\"","webpack:///polaris-app-shell/src/behaviors/user-preference-object-generator-behavior/user-preference-object-generator.utils.js","webpack:///polaris-app-shell/src/behaviors/theme-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/telemetry-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/user-settings-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/aside-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/schedule-for-page-load-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/guided-tours-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/Navigation-stack-behavior/actions.js","webpack:///polaris-app-shell/src/behaviors/Navigation-stack-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/feeback-form-behavior/index.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///polaris-app-shell/src/utils/setHelpVisited.js","webpack:///polaris-app-shell/src/behaviors/now-assist-behavior/index.js","webpack:///polaris-app-shell/src/utils/isGaicPluginActive.js","webpack:///polaris-app-shell/src/behaviors/usage-analytics-behavior/index.js","webpack:///polaris-app-shell/src/utils/atfUtils.js","webpack:///polaris-app-shell/src/behaviors/user-preference-object-generator-behavior/prefsProp.js","webpack:///polaris-app-shell/src/behaviors/user-preference-object-generator-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/aiux-guidance-behavior/constants.js","webpack:///polaris-app-shell/src/behaviors/aiux-guidance-behavior/index.js","webpack:///polaris-app-shell/src/behaviors/performance-metrics-behavior/index.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///polaris-app-shell/src/components/sn-polaris-layout/sn-polaris-layout.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/favorite-delete/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/favorite/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/editMenu/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/utils/addGroupPropToMenus.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-all/sn-menu-template-all.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/utils/getFilterResultAnnouncement.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/utils/deduplicateBucket.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/utils/getLocale.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/utils/createTimeBuckets.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-history/sn-menu-template-history.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/super-filter/fragments.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/filter/handle-navigation-command.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/filter/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/super-filter/super-filter.utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/super-filter/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-overflow/sn-menu-template-overflow.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-loader/sn-menu-template-loader.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/utils/template-map.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-menu-template-overflow/sn-menu-template-overflow.view.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/utils/handle-menu-state-change.js","webpack:///polaris-app-shell/src/utils/findAppMenuId.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-polaris-menu.effects.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/menu-lazy-loading.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/menu-tab-svg-behavior/utils.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/menu-tab-svg-behavior/constants.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/behaviors/menu-tab-svg-behavior/index.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-polaris-menu.js","webpack:///polaris-app-shell/src/components/sn-polaris-menu/sn-polaris-menu.view.js","webpack:///polaris-app-shell/src/components/sn-legacy-screen/index.js","webpack:///polaris-app-shell/src/index.js","webpack:///polaris-app-shell/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["export const OPEN_FRAME_BEHAVIOR = 'OPEN_FRAME_BEHAVIOR';\nexport const BEHAVIOR_STATE_PATH = 'behaviors.' + OPEN_FRAME_BEHAVIOR;\nexport const OPEN_FRAME_MINIMUM_MODAL_WIDTH = 320;\n","/**\n * This behavior provides a set of functions to measure the performance of a function or a page\n * using the Performance API.\n *\n * The behavior is enabled by setting the 'perfObservers' value in local storage.\n * This lets you enable specific performance observers by\n * setting a list of one or more desired observer names as the value of the 'perfObservers' storage key.\n *\n * example: localStorage.setItem('perfObservers', 'user-timing,longtask,timing')\n *\n * You can also enable all observers by setting the value to 'all'\n * example: localStorage.setItem('perfObservers', 'all')\n *\n * When changes are made to the localStorage key 'perfObservers' you must then\n * refresh the page for the observers to be created\n *\n */\n\n/* eslint-disable no-console, no-restricted-imports*/\nimport {guid} from '@servicenow/ui-internal';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {LOCAL_STORAGE_KEYS} from '../../constants';\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\nconst activeTimers = [];\nconst timerCounts = [];\nconst greenTextColor = '#33ff33';\nconst redTextColor = '#ff3333';\nconst whiteTextColor = '#ffffff';\nconst blueTextColor = '#aaaaff';\n\n/**\n * Start a timer for a given function name.\n * Returns a GUID that can be used to end the timer\n * \n *     Usage:\n        import {startTimer, endTimer} from './function-timer-behavior';\n        const someFunction = () => {\n            const timerGUID = startTimer('functionName');\n            // Your function code here //\n            endTimer(timerGUID);\n        }\n     \n    The above code will log the time taken by the function to execute in milliseconds\n    and the number of times the function was called.\n\n    The results will be output to the console in the following format:\n        [perf] functionName took 100ms and called 5 times for a total of 500ms\n    \n    Note: \n        * This module uses the window.performance.now() method to measure the time taken by a function to execute\n        * window.performance.now() is not supported in IE11\n *\n * @param {string} functionName\n * @returns {string} GUID of newly created timer\n */\nexport const startTimer = (functionName) => {\n\tconst functionGUID = guid();\n\tactiveTimers[functionGUID] = {\n\t\tname: functionName,\n\t\tstart: window.performance.now(),\n\t\tend: 0\n\t};\n\tperformance.mark(`start-${functionName}-${functionGUID}`);\n\treturn functionGUID;\n};\n\n/**\n * Function to end a timer for a given functionGUID\n *\n * @param {string} functionGUID\n * @returns {float} Time taken in milliseconds\n */\nexport const endTimer = (functionGUID) => {\n\tif (!activeTimers[functionGUID]) {\n\t\tthrow new Error('Invalid functionGUID');\n\t}\n\tconst currentFunction = activeTimers[functionGUID];\n\tconst functionName = currentFunction.name;\n\tperformance.mark(`end-${functionName}-${functionGUID}`);\n\n\tperformance.measure(\n\t\t`duration-${functionName}-${functionGUID}`,\n\t\t`start-${functionName}-${functionGUID}`,\n\t\t`end-${functionName}-${functionGUID}`\n\t);\n\tcurrentFunction.end = window.performance.now();\n\tconst diff = parseFloat(\n\t\t(currentFunction.end - currentFunction.start).toFixed(2)\n\t);\n\tcount(currentFunction.name, diff);\n\tconst observerList =\n\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.PERFORMANCE_OBSERVERS).split(',') ||\n\t\t[];\n\tif (observerList.includes('timing')) {\n\t\tconsole.log(\n\t\t\t`%c[timing] name: %c${\n\t\t\t\tcurrentFunction.name\n\t\t\t} duration: ${diff}ms callCount: ${\n\t\t\t\ttimerCounts[currentFunction.name].count\n\t\t\t} total: ${timerCounts[currentFunction.name].totalTime.toFixed(2)}ms`,\n\t\t\t`color: ${blueTextColor}`,\n\t\t\t`color: ${whiteTextColor}`\n\t\t);\n\t}\n\tdelete activeTimers[functionGUID];\n\n\treturn diff;\n};\n\n/**\n * Function used to count the number of times a function is called and the total time taken in milliseconds\n *\n * @param {string} functionName\n * @param {float} timeTaken\n */\nconst count = (functionName, timeTaken) => {\n\tif (!timerCounts[functionName]) {\n\t\ttimerCounts[functionName] = {\n\t\t\tcount: 0,\n\t\t\ttotalTime: 0\n\t\t};\n\t}\n\ttimerCounts[functionName].count++;\n\ttimerCounts[functionName].totalTime += timeTaken;\n};\n\n/**\n * Outputs the time taken for the page to load based on values from PerfromanceNavigationTiming found in window.performance.getEntries()\n */\nexport const reportPageLoadTiming = () => {\n\tsetTimeout(() => {\n\t\tconst perfEntries = window.performance.getEntries();\n\t\tconst timings = perfEntries[0];\n\t\tconst pagLoadDuration = timings.domComplete - timings.startTime;\n\t\tconsole.log(\n\t\t\t`%c[page-load] %cDomComplete in ${(pagLoadDuration / 1000).toFixed(\n\t\t\t\t2\n\t\t\t)} seconds:`,\n\t\t\t`color: ${blueTextColor}`,\n\t\t\t`color: ${whiteTextColor}`,\n\t\t\tperfEntries[0]\n\t\t);\n\t}, 5000);\n};\n\n/**\n * Creates a MutationObserver to observe when child nodes are\n * added or removed from a given element or when an attribute\n * is modified on the element.\n *\n * Browser Support: Chrome, Firefox, Safari, Edge\n *\n * MutationObserver API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver\n *\n * @param {string} elementToObserve\n */\nexport const observeMutations = (elementToObserve) => {\n\tconst observer = new MutationObserver((mutationList) => {\n\t\tfor (const mutation of mutationList) {\n\t\t\tif (mutation.type === 'childList') {\n\t\t\t\tconsole.log('[mutation] A child node has been added or removed.');\n\t\t\t} else if (mutation.type === 'attributes') {\n\t\t\t\tconst attributeName = mutation.attributeName;\n\t\t\t\tconst attributeValue = mutation.target.getAttribute(attributeName);\n\t\t\t\tconsole.log(\n\t\t\t\t\t`[mutation] The ${attributeName} attribute was modified to ${attributeValue}.`,\n\t\t\t\t\tmutation.target\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t});\n\tobserver.observe(elementToObserve, {\n\t\tattributes: true,\n\t\tchildList: true,\n\t\tsubtree: true\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe layout shifts.\n *\n * The LayoutShift interface provides insights into the\n * layout stability of web pages based on movements of the elements on the page.\n *\n * Anything with a score greater than 0.1 is considered a overly large layout shift\n * This only works in Chrome. FF and Safari have not implemented LayoutShift API yet.\n *\n * Browser Support: Chrome, Edge\n *\n * LayoutShift API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/LayoutShift\n *\n */\nexport const observeCumulativeLayoutShift = () => {\n\tconst type = 'layout-shift';\n\tconst msg = (entry) => {\n\t\treturn `[${type}] shift score ${entry.value}:`;\n\t};\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconst textColor = entry.value > 0.1 ? redTextColor : greenTextColor;\n\t\tconsole.group(`%c${type}`, `color: ${textColor}`);\n\t\tconsole.log(`%c${msg(entry)}`, `color: ${textColor}`, entry);\n\t\tif (entry.sources) {\n\t\t\tfor (const {node, currentRect, previousRect} of entry.sources)\n\t\t\t\tconsole.log(`%c[${type}] shift source:`, `color: ${textColor}`, node, {\n\t\t\t\t\tcurrentRect,\n\t\t\t\t\tpreviousRect\n\t\t\t\t});\n\t\t}\n\t\tconsole.groupEnd();\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe long tasks.\n *\n * A long task is any uninterrupted period where the main UI thread is busy for 50ms or longer.\n * This only works in Chrome. FF and Safari have not implemented PerformanceLongTaskTiming API yet.\n *\n * Browser Support: Chrome, Edge\n *\n * PerformanceLongTaskTiming API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/PerformanceLongTaskTiming\n *\n */\nexport const observeLongTasks = () => {\n\tconst type = 'longtask';\n\tconst textColor = redTextColor;\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconsole.group(`%c${type}`, `color: ${textColor}`);\n\t\tconsole.log(\n\t\t\t`%c[${type}] name: ${entry.name} duration: ${entry.duration}ms`,\n\t\t\t`color: ${textColor}`,\n\t\t\tentry\n\t\t);\n\t\tif (entry.attribution) {\n\t\t\tfor (const taskEntry of entry.attribution)\n\t\t\t\tconsole.log(\n\t\t\t\t\t`%c[${type}] task attribution:`,\n\t\t\t\t\t`color: ${textColor}`,\n\t\t\t\t\ttaskEntry\n\t\t\t\t);\n\t\t}\n\t\tconsole.groupEnd();\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe resource timing.\n * \n * Resource Timing is part of the Performance API and enables \n * retrieving and analyzing detailed network timing data \n * for the loading of an application's resources.\n * \n * Browser Support: Chrome, Firefox, Safari, Edge\n * \n * Resource Timing API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API\n \n */\nexport const observeResourceTiming = () => {\n\tconst type = 'resource';\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconst textColor = entry.duration >= 100 ? redTextColor : greenTextColor; // flag red if resource took longer than 100ms to load\n\t\tconsole.log(\n\t\t\t`%c[${type}] name: ${entry.name} cached:${\n\t\t\t\tentry.transferSize === 0 && entry.decodedBodySize > 0 ? 'true' : 'false'\n\t\t\t} duration: ${entry.duration.toFixed(2)}ms size:${(\n\t\t\t\tentry.transferSize /\n\t\t\t\t(1024 * 1024)\n\t\t\t).toFixed(2)}mb`,\n\t\t\t`color: ${textColor}`,\n\t\t\tentry\n\t\t);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe paint timing.\n *\n * The PerformancePaintTiming interface provides timing information\n * about \"paint\" (also called \"render\") operations during\n * web page construction. \"Paint\" refers to conversion\n * of the render tree to on-screen pixels.\n *\n * Browser Support: Chrome, Firefox, Safari, Edge\n *\n * Paint Timing API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/Paint_Timing_API\n *\n */\nexport const observePaintTiming = () => {\n\tconst type = 'paint';\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconsole.log(`%c[${type}]`, `color: ${blueTextColor}`, entry);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe when\n * performance.mark() and performance.measure() are called\n * and report the results.\n *\n * Example:\n * \tIf we wanted to measure how long refreshUtiltiyMenuData() took to execute we would add\n * \tthe following code to the start of function:\n * \t\tperformance.mark('refreshUtilityMenuData-start');\n *\n * \tand then add the following code to the end of the function:\n * \t\tperformance.mark('refreshUtilityMenuData-end');\n * \t\tperformance.measure('refreshUtilityMenuData', 'refreshUtilityMenuData-start', 'refreshUtilityMenuData-end');\n *\n * Browser Support: Chrome, Firefox, Safari, Edge\n *\n * User Timing API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/User_Timing_API\n *\n */\nexport const observeUserTiming = () => {\n\t// create observer for marks\n\tcreatePerformanceObserver('mark', (entry) => {\n\t\tconsole.log(`%c[mark]`, `color: ${blueTextColor}`, entry);\n\t});\n\n\t// create observer for measures\n\tlet textColor = greenTextColor;\n\tcreatePerformanceObserver('measure', (entry) => {\n\t\tif (entry.duration && entry.duration >= 5) {\n\t\t\ttextColor = redTextColor;\n\t\t} else {\n\t\t\ttextColor = greenTextColor;\n\t\t}\n\t\tconsole.log(`%c[measure]`, `color: ${textColor}`, entry);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe first input delay.\n *\n * First Input Delay measures the time from when a user first interacts\n * with a page (that is, when they click a link, tap on a button,\n * or use a custom, JavaScript-powered control) to the time when the\n * browser is actually able to begin processing event handlers in\n * response to that interaction.\n *\n * Browser Support: Chrome, Firefox, Edge\n *\n * First Input Delay API Docs:\n * https://web.dev/fid/\n */\nexport const observeFirstInputDelay = () => {\n\tconst type = 'first-input';\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconsole.log(`%c[${type}]`, `color: ${blueTextColor}`, entry);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe largest contentful paint.\n *\n * Largest Contentful Paint marks the point in the page load timeline\n * when the page's main content has likely loaded.\n * A fast LCP helps reassure the user that the page is useful.\n *\n * Browser Support: Chrome, Firefox, Edge\n *\n * Largest Contentful Paint API Docs:\n * https://web.dev/lcp/\n */\nexport const observeLargestContentfulPaint = () => {\n\tconst type = 'largest-contentful-paint';\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconsole.log(`%c[${type}]`, `color: ${blueTextColor}`, entry);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe navigation timing.\n *\n * Navigation Timing is part of the Performance API and provides\n * metrics associated with navigating from one page to another.\n *\n * Browser Support: Chrome, Firefox, Safari, Edge\n *\n * Navigation Timing API Docs:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigation_timing_API\n */\nexport const observeNavigationTiming = () => {\n\tconst type = 'navigation';\n\tcreatePerformanceObserver(type, (entry) => {\n\t\tconst domContentLoadedTime =\n\t\t\tentry.domContentLoadedEventEnd - entry.domContentLoadedEventStart;\n\t\tconsole.log(\n\t\t\t`%c[${type}] ${\n\t\t\t\tentry.name\n\t\t\t}: %cDOMContentLoaded processing time: ${domContentLoadedTime}ms`,\n\t\t\t`color: ${blueTextColor}`,\n\t\t\t`color: ${whiteTextColor}`,\n\t\t\tentry\n\t\t);\n\t});\n};\n\n/**\n * Creates PerformanceObserver to observe event timing.\n * The Event Timing API exposes timing information for certain events. \n * Certain types of events are considered, and timing information is \n * exposed when the time difference between user input and \n * paint operations that follow input processing exceeds a certain threshold.\n * \n * Browser Support: Chrome, Firefox, Edge\n * \n * Event Timing API Docs:\n * https://wicg.github.io/event-timing/\n \n */\nexport const observeEventTiming = () => {\n\tconst observer = new PerformanceObserver((list) => {\n\t\tlist.getEntries().forEach((entry) => {\n\t\t\t// Full duration\n\t\t\tconst duration = entry.duration;\n\n\t\t\t// Input delay (before processing event)\n\t\t\tconst delay = entry.processingStart - entry.startTime;\n\n\t\t\t// Synchronous event processing time\n\t\t\t// (between start and end dispatch)\n\t\t\tconst eventHandlerTime = entry.processingEnd - entry.processingStart;\n\n\t\t\tconsole.log(\n\t\t\t\t`%c[event-timing] ${\n\t\t\t\t\tentry.name\n\t\t\t\t}: %cEvent Timing: duration:${duration}ms, delay:${delay}ms, eventHandlerTime:${eventHandlerTime}ms`,\n\t\t\t\t`color: ${blueTextColor}`,\n\t\t\t\t`color: ${whiteTextColor}`,\n\t\t\t\tentry\n\t\t\t);\n\n\t\t\t// console.log(`Total duration: ${duration}`);\n\t\t\t// console.log(`Event delay: ${delay}`);\n\t\t\t// console.log(`Event handler duration: ${eventHandlerTime}`);\n\t\t});\n\t});\n\n\t// Register the observer for events\n\tobserver.observe({type: 'event', durationThreshold: 16, buffered: true});\n};\n\n/**\n * Function to initalize all performance observers\n */\nexport const observeAllPerformanceMetrics = () => {\n\tobserveCumulativeLayoutShift();\n\tobserveLongTasks();\n\tobserveResourceTiming();\n\tobservePaintTiming();\n\tobserveUserTiming();\n\tobserveFirstInputDelay();\n\tobserveLargestContentfulPaint();\n\tobserveNavigationTiming();\n};\n\n/**\n * Private factory function for creating PerformanceObservers.\n *\n * @param {string*} observerType ['paint', 'longtask', 'resource', 'element', 'first-input', 'largest-contentful-paint', 'layout-shift', 'navigation', 'mark']\n * @param {*} callback function to be called when observerType is triggered\n */\nconst createPerformanceObserver = (observerType, callback) => {\n\tif (!PerformanceObserver.supportedEntryTypes.includes(observerType)) {\n\t\tconsole.log(\n\t\t\t`[error] ${observerType} is not a supported observer type in this browser`\n\t\t);\n\t\treturn;\n\t}\n\tnew PerformanceObserver((entryList) => {\n\t\tfor (const entry of entryList.getEntries()) {\n\t\t\tcallback(entry);\n\t\t}\n\t}).observe({type: observerType, buffered: true});\n};\n\n/**\n * Private function to start all performance observers based on the list of observers stored in localStorage\n */\nconst startPerformanceObservers = () => {\n\tconst observerList =\n\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.PERFORMANCE_OBSERVERS).split(',') ||\n\t\t[];\n\n\tfor (const observer of observerList) {\n\t\tswitch (observer) {\n\t\t\tcase 'layout-shift':\n\t\t\t\tobserveCumulativeLayoutShift();\n\t\t\t\tbreak;\n\t\t\tcase 'longtask':\n\t\t\t\tobserveLongTasks();\n\t\t\t\tbreak;\n\t\t\tcase 'resource':\n\t\t\t\tobserveResourceTiming();\n\t\t\t\tbreak;\n\t\t\tcase 'paint':\n\t\t\t\tobservePaintTiming();\n\t\t\t\tbreak;\n\t\t\tcase 'user-timing':\n\t\t\t\tobserveUserTiming();\n\t\t\t\tbreak;\n\t\t\tcase 'first-input':\n\t\t\t\tobserveFirstInputDelay();\n\t\t\t\tbreak;\n\t\t\tcase 'largest-contentful-paint':\n\t\t\t\tobserveLargestContentfulPaint();\n\t\t\t\tbreak;\n\t\t\tcase 'navigation':\n\t\t\t\tobserveNavigationTiming();\n\t\t\t\tbreak;\n\t\t\tcase 'event-timing':\n\t\t\t\tobserveEventTiming();\n\t\t\t\tbreak;\n\t\t\tcase 'all':\n\t\t\t\tobserveAllPerformanceMetrics();\n\t\t\t\tbreak;\n\t\t}\n\t}\n};\n\nexport default {\n\tname: 'PERFORMANCE_OBSERVER_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: () => {\n\t\t\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\t\t\treportPageLoadTiming();\n\t\t\t\t});\n\t\t\t\tstartPerformanceObservers();\n\t\t\t}\n\t\t}\n\t}\n};\n","/* eslint-disable no-console */\n\n/* \nThis code is a debugging utility for tracking and analyzing unnecessary component renders in a UI framework. \nIt logs differences in properties and state between renders and tracks unnecessary renders.\n\nMain Functionality:\n- When a component is rendered, it checks if the component is in the debug list stored in local storage.\n- It increments the render count for the component.\n- If it's not the first render, it calculates the differences in properties and state between the previous and current render.\n- If there are no differences, it logs an unnecessary render and updates the global collections.\n- If there are differences, it logs them in a structured format using `console.table`.\n- It also sets a timeout to log the total render counts after a delay.\n\nUsage:\n1. Add the component name to the `renderDebugList` in local storage to enable debugging for that component.\n2. When the component renders, the utility will log differences in properties and state, and track unnecessary renders.\n3. Use the logs to identify and optimize unnecessary renders in your components.\n\nExample to Enable Debugging:\n1. Open the browser's developer console.\n2. Run the following command to add a component to the debug list:\n\nTo log renders for 'sn-polaris-menu' component only:\n```javascript\nlocalStorage.setItem('renderDebugList', 'sn-polaris-menu'); \n```\n\nTo log renders for 'sn-polaris-layout' and 'sn-polaris-header' components only:\n```javascript\nlocalStorage.setItem('renderDebugList', 'sn-polaris-layout,sn-polaris-header'); \n```\n\n\nTo log renders for all components:\n```javascript\nlocalStorage.setItem('renderDebugList', 'all');\n```\n```\n\n*/\n\nimport {\n\tforEach,\n\tforOwn,\n\tisEmpty,\n\tisEqual,\n\tisPlainObject,\n\thas,\n\tmapKeys,\n\tmapValues,\n\tomit,\n\ttransform\n} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {LOCAL_STORAGE_KEYS} from '../constants';\n\nconst {COMPONENT_RENDERED} = actionTypes;\n\nfunction deepDiffObj(base, object) {\n\tif (!object)\n\t\tthrow new Error(`The object compared should be an object: ${object}`);\n\tif (!base) return object;\n\tconst result = transform(object, (result, value, key) => {\n\t\tif (!has(base, key)) result[key] = value; // fix edge case: not defined to explicitly defined as undefined\n\t\tif (!isEqual(value, base[key])) {\n\t\t\tresult[key] =\n\t\t\t\tisPlainObject(value) && isPlainObject(base[key])\n\t\t\t\t\t? deepDiffObj(base[key], value)\n\t\t\t\t\t: value;\n\t\t}\n\t});\n\t// map removed fields to undefined\n\tforOwn(base, (value, key) => {\n\t\tif (!has(object, key)) result[key] = undefined;\n\t});\n\treturn result;\n}\n\nfunction difference(base, object) {\n\tfunction changes(base, object) {\n\t\treturn transform(object, function(result, value, key) {\n\t\t\tif (!isEqual(value, base[key])) {\n\t\t\t\tif (isPlainObject(value)) {\n\t\t\t\t\tresult[key] = {\n\t\t\t\t\t\told: base[key],\n\t\t\t\t\t\tnew: value,\n\t\t\t\t\t\t...deepDiffObj(base[key], value)\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tresult[key] = {\n\t\t\t\t\t\told: base[key],\n\t\t\t\t\t\tnew: value\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn changes(base, object);\n}\n\nfunction differenceByRef(base, object) {\n\tfunction changes(base, object) {\n\t\treturn transform(object, function(result, value, key) {\n\t\t\tif (value !== base[key]) {\n\t\t\t\tresult[key] = {old: base[key], new: value};\n\t\t\t}\n\t\t});\n\t}\n\treturn changes(base, object);\n}\n\nwindow.__collect = {};\nwindow.__renderCounts = {\n\t'unnecessary-renders': 0\n};\n\nlet countTimeout = null;\n\nexport default {\n\tname: 'render-cause-debug',\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]({\n\t\t\taction: {\n\t\t\t\tpayload: {previousRenderProperties, previousRenderState},\n\t\t\t\tmeta: {firstRenderOnConnect}\n\t\t\t},\n\t\t\thost: {localName: componentName},\n\t\t\tproperties,\n\t\t\tstate\n\t\t}) {\n\t\t\tconst renderDebugList =\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST).split(',') ||\n\t\t\t\t[];\n\n\t\t\tif (\n\t\t\t\trenderDebugList.length === 0 ||\n\t\t\t\t(!renderDebugList.includes(componentName) &&\n\t\t\t\t\t!renderDebugList.includes('all'))\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!window.__renderCounts[componentName]) {\n\t\t\t\twindow.__renderCounts[componentName] = 1;\n\t\t\t} else {\n\t\t\t\twindow.__renderCounts[componentName] =\n\t\t\t\t\twindow.__renderCounts[componentName] + 1;\n\t\t\t}\n\n\t\t\tif (firstRenderOnConnect) return;\n\n\t\t\tconst propDiff = difference(previousRenderProperties, properties);\n\t\t\tconst stateDiff = omit(difference(previousRenderState, state), [\n\t\t\t\t'properties'\n\t\t\t]);\n\n\t\t\tif (isEmpty(propDiff) && isEmpty(stateDiff)) {\n\t\t\t\tconsole.log('>>>>>> Unnecessary render!', componentName);\n\n\t\t\t\twindow.__renderCounts['unnecessary-renders'] =\n\t\t\t\t\twindow.__renderCounts['unnecessary-renders'] + 1;\n\n\t\t\t\tif (!window.__collect[componentName])\n\t\t\t\t\twindow.__collect[componentName] = {\n\t\t\t\t\t\tprops: new Set(),\n\t\t\t\t\t\tstate: new Set()\n\t\t\t\t\t};\n\n\t\t\t\tconst propDiffByRef = Object.keys(\n\t\t\t\t\tdifferenceByRef(previousRenderProperties, properties)\n\t\t\t\t);\n\t\t\t\tconst stateDiffByRef = Object.keys(\n\t\t\t\t\tdifferenceByRef(previousRenderState, state)\n\t\t\t\t);\n\n\t\t\t\tif (!isEmpty(propDiffByRef)) {\n\t\t\t\t\twindow.__collect[componentName].props = new Set([\n\t\t\t\t\t\t...window.__collect[componentName].props,\n\t\t\t\t\t\t...propDiffByRef\n\t\t\t\t\t]);\n\t\t\t\t\tconsole.log('>>>>>> props', propDiffByRef);\n\t\t\t\t}\n\n\t\t\t\tif (!isEmpty(stateDiffByRef)) {\n\t\t\t\t\twindow.__collect[componentName].state = new Set([\n\t\t\t\t\t\t...window.__collect[componentName].state,\n\t\t\t\t\t\t...stateDiffByRef\n\t\t\t\t\t]);\n\t\t\t\t\tconsole.log('>>>>>> state', stateDiffByRef);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction print(diff) {\n\t\t\t\tforEach(diff, (v, propName) => {\n\t\t\t\t\tconst {old, new: newValue, ...rest} = v;\n\n\t\t\t\t\tconsole.table({\n\t\t\t\t\t\t[propName]: {old, new: newValue},\n\t\t\t\t\t\t...mapKeys(\n\t\t\t\t\t\t\tmapValues(rest, (v, k) => ({\n\t\t\t\t\t\t\t\told: old?.[k],\n\t\t\t\t\t\t\t\tnew: newValue[k]\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t(v, k) => `${propName}.${k}`\n\t\t\t\t\t\t)\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconsole.groupEnd();\n\n\t\t\tconst hasPropDiff = !isEmpty(propDiff);\n\t\t\tconst hasStateDiff =\n\t\t\t\t!isEmpty(stateDiff) &&\n\t\t\t\t(Object.keys(stateDiff).length !== 1 &&\n\t\t\t\t\tObject.keys(stateDiff)[0] !== 'properties');\n\n\t\t\tif (hasPropDiff || hasStateDiff) {\n\t\t\t\tconsole.group(componentName);\n\t\t\t}\n\n\t\t\tif (hasPropDiff) {\n\t\t\t\tconsole.log('Properties diff');\n\n\t\t\t\tprint(propDiff);\n\t\t\t}\n\n\t\t\tif (hasStateDiff) {\n\t\t\t\tconsole.log('State diff');\n\t\t\t\tprint(stateDiff);\n\t\t\t}\n\n\t\t\tconsole.groupEnd();\n\n\t\t\tif (countTimeout !== null) {\n\t\t\t\tclearTimeout(countTimeout);\n\t\t\t}\n\n\t\t\tcountTimeout = setTimeout(() => {\n\t\t\t\tconsole.group('Total Component Render Counts');\n\t\t\t\tconsole.table(window.__renderCounts);\n\t\t\t\tconsole.groupEnd();\n\t\t\t}, 1000);\n\t\t}\n\t}\n};\n","export const SN_DRAGGABLE_CHANGED_POSITION = 'SN_DRAGGABLE#CHANGED_POSITION';\nexport const SN_DRAGGABLE_MAX_WINDOW_SIZE = 'SN_DRAGGABLE#MAX_WINDOW_SIZE';\n","export const WINDOW_OFFSET = 25;\nexport const WINDOW_MOVED_TO_PRESET =\n\t'DRAGGABLE_BEHAVIOR#WINDOW_MOVED_TO_PRESET';\nexport const KEY_MOVEMENT_STEP_AMOUNT = 5;\n","/* istanbul ignore file */\n// ignoring for coverage since this deals mostly with dom\nimport {t} from 'sn-translate';\nimport {\n\tWINDOW_OFFSET,\n\tWINDOW_MOVED_TO_PRESET,\n\tKEY_MOVEMENT_STEP_AMOUNT\n} from './constants';\nimport {\n\tSN_DRAGGABLE_CHANGED_POSITION,\n\tSN_DRAGGABLE_MAX_WINDOW_SIZE\n} from './actions';\nimport {deepSearchElement} from '@devsnc/unav-utils';\nimport {OPEN_FRAME_MINIMUM_MODAL_WIDTH} from '../../../behaviors/openFrameBehavior/constants';\nimport {debounce} from 'lodash';\n\nconst shiftTo = (container, newX, newY, windowSize) => {\n\tif (windowSize.width <= OPEN_FRAME_MINIMUM_MODAL_WIDTH) {\n\t\tcontainer.style.top = `0px`;\n\t\tcontainer.style.left = `0px`;\n\t} else {\n\t\tcontainer.style.top = `${newY}px`;\n\t\tcontainer.style.left = `${newX}px`;\n\t\tcontainer.style.right = 'auto';\n\t\tcontainer.style.bottom = 'auto';\n\t}\n};\n\nconst moveTo = (container, {top, right, bottom, left}) => {\n\tcontainer.style.top = top ? `${top}px` : 'auto';\n\tcontainer.style.right = right ? `${right}px` : 'auto';\n\tcontainer.style.bottom = bottom ? `${bottom}px` : 'auto';\n\tcontainer.style.left = left ? `${left}px` : 'auto';\n};\n\nconst togglePointerEvents = (container, state) => {\n\tArray.from(container.children).forEach((child) => {\n\t\tchild.style.pointerEvents = state;\n\t});\n};\n\nexport const createResizeObserver = (coeffects) => {\n\tconst {\n\t\tproperties: {boundaryElement},\n\t\tstate: {resizeObserver},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\n\tlet newObserver = resizeObserver;\n\n\t// if this is the first time the modal is opened, create a resize observer on the boundy element it needs to stay within\n\tif (!newObserver) {\n\t\t// create new resize observer\n\t\tnewObserver = new ResizeObserver(\n\t\t\tdebounce(() => {\n\t\t\t\tdispatch(SN_DRAGGABLE_MAX_WINDOW_SIZE, {\n\t\t\t\t\twidth:\n\t\t\t\t\t\tdocument.body.offsetWidth <= OPEN_FRAME_MINIMUM_MODAL_WIDTH\n\t\t\t\t\t\t\t? OPEN_FRAME_MINIMUM_MODAL_WIDTH\n\t\t\t\t\t\t\t: boundaryElement.offsetWidth - WINDOW_OFFSET * 2,\n\t\t\t\t\theight:\n\t\t\t\t\t\tdocument.body.offsetWidth <= OPEN_FRAME_MINIMUM_MODAL_WIDTH\n\t\t\t\t\t\t\t? boundaryElement.offsetHeight + 6\n\t\t\t\t\t\t\t: boundaryElement.offsetHeight - WINDOW_OFFSET * 2\n\t\t\t\t});\n\t\t\t\tdispatch('MOVE_WINDOW_TO_PRESET_POSITION');\n\t\t\t}, 100)\n\t\t);\n\n\t\t//update state with new observer so we can reuse it as needed\n\t\tupdateState({resizeObserver: newObserver});\n\t}\n\n\t// start resize observer\n\tnewObserver.observe(boundaryElement);\n};\n\nexport const removeResizeObserver = (coeffects) => {\n\tconst {\n\t\tproperties: {boundaryElement},\n\t\tstate: {resizeObserver}\n\t} = coeffects;\n\n\tif (resizeObserver) {\n\t\t// stop resize observer from observing the boundary element\n\t\tresizeObserver.unobserve(boundaryElement);\n\t}\n};\n\nexport const allPresetPositions = ({boundaryElement}) => {\n\tconst outerBoundaries = boundaryElement.getBoundingClientRect();\n\n\treturn positionCoordinates({\n\t\touterBoundaries\n\t});\n};\n\nexport const positionCoordinates = ({outerBoundaries}) => {\n\tconst left = outerBoundaries.left + WINDOW_OFFSET;\n\tconst right = WINDOW_OFFSET;\n\tconst top = outerBoundaries.top + WINDOW_OFFSET;\n\tconst bottom = WINDOW_OFFSET;\n\treturn {\n\t\ttop_left: {top, left},\n\t\tbottom_left: {bottom, left},\n\t\ttop_right: {top, right},\n\t\tbottom_right: {bottom, right}\n\t};\n};\n\nexport const positionsMenuItems = [\n\t{id: 'top_left', label: t('Place top left')},\n\t{id: 'bottom_left', label: t('Place bottom left')},\n\t{id: 'top_right', label: t('Place top right')},\n\t{id: 'bottom_right', label: t('Place bottom right')}\n];\n\nexport const positionsMenuItemsOmitCurrent = (position) => {\n\treturn positionsMenuItems.filter(({id}) => id !== position);\n};\n\nexport const keepInBoundary = (\n\tcontainer,\n\tboundaryElement,\n\tisMainMenuPinned,\n\tisContextualMenuPinned,\n\tstrict = false,\n\twindowSize\n) => {\n\tconst offset = strict ? WINDOW_OFFSET : 0;\n\n\tif (typeof container === 'string') {\n\t\tcontainer = deepSearchElement(`.${container}`);\n\t}\n\n\tif (!(container && boundaryElement)) return;\n\n\tif (windowSize.width <= OPEN_FRAME_MINIMUM_MODAL_WIDTH) {\n\t\tcontainer.style.top = `0px`;\n\t\tcontainer.style.left = `0px`;\n\t\treturn;\n\t}\n\n\tconst draggableRect = container.getBoundingClientRect();\n\tconst boundaryRec = boundaryElement.getBoundingClientRect();\n\n\t// Extending boundary for the component when either type of menu is pinned\n\tconst boundaryRight = isContextualMenuPinned\n\t\t? Math.round(window.innerWidth)\n\t\t: boundaryRec.right;\n\tconst boundaryLeft = isMainMenuPinned ? 0 : boundaryRec.left;\n\n\tif (draggableRect.top < boundaryRec.top + offset) {\n\t\tcontainer.style.top = `${boundaryRec.top + WINDOW_OFFSET}px`;\n\t\tcontainer.style.bottom = 'auto';\n\t} else if (draggableRect.bottom + offset > boundaryRec.bottom) {\n\t\tcontainer.style.bottom = `${WINDOW_OFFSET}px`;\n\t\tcontainer.style.top = 'auto';\n\t}\n\n\tif (draggableRect.right + offset > boundaryRight) {\n\t\tcontainer.style.right = `${WINDOW_OFFSET}px`;\n\t\tcontainer.style.left = 'auto';\n\t} else if (draggableRect.left < boundaryLeft + offset) {\n\t\tcontainer.style.left = `${boundaryLeft + WINDOW_OFFSET}px`;\n\t\tcontainer.style.right = 'auto';\n\t}\n};\n\nexport const moveToPresetPosition = ({\n\tcontainerClassName,\n\tboundaryElement,\n\tlockedPosition,\n\tdispatch,\n\twindowSize\n}) => {\n\tif (windowSize.width <= OPEN_FRAME_MINIMUM_MODAL_WIDTH) {\n\t\tconst draggableElement = deepSearchElement(`.${containerClassName}`);\n\t\tmoveTo(draggableElement, {top: 0, right: 0, bottom: 0, left: 0});\n\t\tdispatch(WINDOW_MOVED_TO_PRESET);\n\t} else if (lockedPosition) {\n\t\tconst draggableElement = deepSearchElement(`.${containerClassName}`);\n\t\tif (draggableElement?.parentNode && !draggableElement.parentNode.hidden) {\n\t\t\tconst positions = allPresetPositions({boundaryElement});\n\t\t\tconst position = positions[lockedPosition];\n\t\t\tmoveTo(draggableElement, position);\n\t\t\tdispatch(WINDOW_MOVED_TO_PRESET);\n\t\t}\n\t}\n};\n\nexport const keyPressed = (e, state, dispatch) => {\n\tconst {\n\t\tcontainer,\n\t\tlockedPosition,\n\t\tboundaryElement,\n\t\tisMainMenuPinned,\n\t\tisContextualMenuPinned,\n\t\twindowSize\n\t} = state.properties;\n\n\tconst dragContainer = deepSearchElement(`.${container}`);\n\tconst origLeft = dragContainer.offsetLeft;\n\tconst origTop = dragContainer.offsetTop;\n\tlet newLeft = origLeft;\n\tlet newTop = origTop;\n\n\tif (e.key === 'ArrowUp') {\n\t\tnewTop = newTop - KEY_MOVEMENT_STEP_AMOUNT;\n\t} else if (e.key === 'ArrowDown') {\n\t\tnewTop = newTop + KEY_MOVEMENT_STEP_AMOUNT;\n\t}\n\n\tif (e.key === 'ArrowLeft') {\n\t\tnewLeft = newLeft - KEY_MOVEMENT_STEP_AMOUNT;\n\t} else if (e.key === 'ArrowRight') {\n\t\tnewLeft = newLeft + KEY_MOVEMENT_STEP_AMOUNT;\n\t}\n\n\tif (origLeft !== newLeft || origTop !== newTop) {\n\t\tshiftTo(dragContainer, newLeft, newTop, windowSize);\n\t\tkeepInBoundary(\n\t\t\tdragContainer,\n\t\t\tboundaryElement,\n\t\t\tisMainMenuPinned,\n\t\t\tisContextualMenuPinned,\n\t\t\ttrue,\n\t\t\twindowSize\n\t\t);\n\t\tif (lockedPosition) dispatch(SN_DRAGGABLE_CHANGED_POSITION, {value: null});\n\t}\n};\n\nexport const startDrag = (e, state, updateState, dispatch) => {\n\tconst {\n\t\tproperties: {\n\t\t\ttrigger,\n\t\t\twindowSize,\n\t\t\tcontainer,\n\t\t\tlockedPosition,\n\t\t\tboundaryElement,\n\t\t\tisMainMenuPinned,\n\t\t\tisContextualMenuPinned\n\t\t},\n\t\tdragContainer\n\t} = state;\n\n\tlet activeDragContainer = dragContainer;\n\tif (windowSize.width <= 320) {\n\t\treturn;\n\t}\n\n\tif (!activeDragContainer) {\n\t\tactiveDragContainer = deepSearchElement(`.${container}`);\n\t}\n\n\tconst activeElement = e.composedPath()?.[0];\n\tlet triggerElemFound = false;\n\tlet currentElem = activeElement;\n\tconst maxLevelDeep = 10;\n\tlet currentLoopInteration = 0;\n\n\t// traverse up the dom tree to find the trigger element\n\twhile (\n\t\tcurrentElem &&\n\t\tcurrentLoopInteration <= maxLevelDeep &&\n\t\t!triggerElemFound\n\t) {\n\t\t// if user clicked a button in the header, dont do drag\n\t\tif (\n\t\t\tcurrentElem.tagName === 'BUTTON' ||\n\t\t\tcurrentElem.className === 'header-span'\n\t\t) {\n\t\t\tcurrentLoopInteration = maxLevelDeep;\n\t\t}\n\n\t\t// check if current element is the trigger element\n\t\tif (currentElem.className == trigger) {\n\t\t\ttriggerElemFound = true;\n\t\t}\n\n\t\t// get the next parent element\n\t\tcurrentElem = currentElem.host ? currentElem.host : currentElem.parentNode;\n\t\tcurrentLoopInteration++; // increment loop counter\n\t}\n\n\t// if user clicked the trigger element in the header, start drag\n\tif (e.button === 0 && triggerElemFound) {\n\t\te.preventDefault();\n\n\t\t// Calculate the mouse position relative to the container\n\t\tconst offsetX =\n\t\t\te.clientX - activeDragContainer.getBoundingClientRect().left;\n\t\tconst offsetY = e.clientY - activeDragContainer.getBoundingClientRect().top;\n\n\t\ttogglePointerEvents(activeDragContainer, 'none');\n\t\tshiftTo(\n\t\t\tactiveDragContainer,\n\t\t\te.pageX - offsetX,\n\t\t\te.pageY - offsetY,\n\t\t\twindowSize\n\t\t);\n\t\tkeepInBoundary(\n\t\t\tactiveDragContainer,\n\t\t\tboundaryElement,\n\t\t\tisMainMenuPinned,\n\t\t\tisContextualMenuPinned,\n\t\t\ttrue,\n\t\t\twindowSize\n\t\t);\n\n\t\tupdateState({\n\t\t\tdragContainer: activeDragContainer,\n\t\t\tisDragEnabled: true,\n\t\t\tmouseOffsetX: offsetX,\n\t\t\tmouseOffsetY: offsetY\n\t\t});\n\t\tif (lockedPosition) dispatch(SN_DRAGGABLE_CHANGED_POSITION, {value: null});\n\t}\n};\n\n// on mouse up or mouse out, end drag\nexport const endDrag = (e, state, updateState) => {\n\tconst {dragContainer} = state;\n\n\te.preventDefault();\n\n\ttogglePointerEvents(dragContainer, 'auto');\n\n\tupdateState({\n\t\tdragContainer: null,\n\t\tisDragEnabled: false,\n\t\tmouseOffsetX: 0,\n\t\tmouseOffsetY: 0\n\t});\n};\n\n// handle moving openframe window when user is dragging\nexport const doDrag = (e, state, updateState) => {\n\tconst {\n\t\tproperties: {\n\t\t\tboundaryElement,\n\t\t\tisMainMenuPinned,\n\t\t\tisContextualMenuPinned,\n\t\t\twindowSize\n\t\t},\n\t\tdragContainer,\n\t\tmouseOffsetX,\n\t\tmouseOffsetY\n\t} = state;\n\n\te.preventDefault();\n\n\tif (e.buttons === 0) {\n\t\tendDrag(e, state, updateState);\n\t\treturn;\n\t}\n\n\tshiftTo(\n\t\tdragContainer,\n\t\te.pageX - mouseOffsetX,\n\t\te.pageY - mouseOffsetY,\n\t\twindowSize\n\t);\n\tkeepInBoundary(\n\t\tdragContainer,\n\t\tboundaryElement,\n\t\tisMainMenuPinned,\n\t\tisContextualMenuPinned,\n\t\ttrue,\n\t\twindowSize\n\t);\n};\n","import {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nimport {\n\tkeepInBoundary,\n\tmoveToPresetPosition,\n\tcreateResizeObserver,\n\tremoveResizeObserver\n} from './draggable.utils';\nimport {SN_DRAGGABLE_CHANGED_POSITION} from './actions';\n\nexport const actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t},\n\t\t\tdispatch\n\t\t} = coeffects;\n\t\tif (name === 'opened' && value) {\n\t\t\tdispatch('MOVE_WINDOW_TO_PRESET_POSITION');\n\t\t\tcreateResizeObserver(coeffects);\n\t\t} else if (name === 'opened' && !value) {\n\t\t\tremoveResizeObserver(coeffects);\n\t\t}\n\t},\n\t['SN_COMPONENT_OPENFRAME#RESIZED']: {\n\t\teffect: ({dispatch}) => {\n\t\t\tdispatch('MOVE_WINDOW_TO_PRESET_POSITION');\n\t\t}\n\t},\n\t['MOVE_WINDOW_TO_PRESET_POSITION']: {\n\t\teffect: ({\n\t\t\tproperties: {\n\t\t\t\tcontainer,\n\t\t\t\tboundaryElement,\n\t\t\t\tlockedPosition,\n\t\t\t\tisMainMenuPinned,\n\t\t\t\tisContextualMenuPinned,\n\t\t\t\twindowSize\n\t\t\t},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tmoveToPresetPosition({\n\t\t\t\tcontainerClassName: container,\n\t\t\t\tboundaryElement,\n\t\t\t\tlockedPosition,\n\t\t\t\tdispatch,\n\t\t\t\twindowSize\n\t\t\t});\n\t\t\tkeepInBoundary(\n\t\t\t\tcontainer,\n\t\t\t\tboundaryElement,\n\t\t\t\tisMainMenuPinned,\n\t\t\t\tisContextualMenuPinned,\n\t\t\t\tfalse,\n\t\t\t\twindowSize\n\t\t\t);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['SN_COMPONENT_OPENFRAME#REPOSITION']: {\n\t\teffect: ({\n\t\t\taction: {payload},\n\t\t\tproperties: {container, boundaryElement, windowSize},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tconst id = payload?.position?.id;\n\t\t\tdispatch(SN_DRAGGABLE_CHANGED_POSITION, {value: id});\n\t\t\tmoveToPresetPosition({\n\t\t\t\tcontainerClassName: container,\n\t\t\t\tboundaryElement,\n\t\t\t\tlockedPosition: id,\n\t\t\t\tdispatch,\n\t\t\t\twindowSize\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './draggable.view';\nimport {actionHandlers} from './draggable.effects';\nimport styles from './draggable.scss';\n\ncreateCustomElement('sn-draggable', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tactionHandlers,\n\tstyles,\n\tproperties: {\n\t\tnowPriority: {\n\t\t\tdefault: 'low'\n\t\t},\n\t\t// Element, by class name, to be used as hit box for drag action\n\t\ttrigger: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t// Element, by class name, to be used as wrapper for draggable content\n\t\tcontainer: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisVisible: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\twidth: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\theight: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\tlockedPosition: {\n\t\t\tdefault: 'top_right',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tboundaryElement: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tisMainMenuPinned: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisContextualMenuPinned: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\twindowSize: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {\n\t\t\t\twidth: -1,\n\t\t\t\theight: -1\n\t\t\t}\n\t\t},\n\t\t// Elements can have their own bounding area\n\t\t// Follows 4-value syntax and is pixel-based\n\t\tboundary: {\n\t\t\tdefault: [0, 0, 0, 0],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'number'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tdragContainer: null,\n\t\t\tisDragEnabled: false,\n\t\t\tmouseOffsetX: 0,\n\t\t\tmouseOffsetY: 0,\n\t\t\tresizeObserver: null\n\t\t};\n\t}\n});\n","import {OPEN_FRAME_MINIMUM_MODAL_WIDTH} from '../../../behaviors/openFrameBehavior/constants';\nimport {keyPressed, startDrag, endDrag, doDrag} from './draggable.utils';\n\nexport default (state, {dispatch, updateState}) => {\n\tconst {\n\t\tproperties: {isVisible, windowSize},\n\t\tisDragEnabled\n\t} = state;\n\tconst canDrag = windowSize.width > OPEN_FRAME_MINIMUM_MODAL_WIDTH;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'draggable-container': true,\n\t\t\t\t'draggable-hide': !isVisible\n\t\t\t}}\n\t\t\trole=\"dialog\"\n\t\t\taria-modal=\"false\"\n\t\t\ton-keydown={(e) => {\n\t\t\t\tif (canDrag) {\n\t\t\t\t\tkeyPressed(e, state, dispatch);\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mousedown={(e) => {\n\t\t\t\tif (canDrag && !isDragEnabled) {\n\t\t\t\t\tstartDrag(e, state, updateState, dispatch);\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mouseup={(e) => {\n\t\t\t\tif (canDrag && isDragEnabled) {\n\t\t\t\t\tendDrag(e, state, updateState);\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mouseout={(e) => {\n\t\t\t\tif (canDrag && isDragEnabled && e.buttons === 0) {\n\t\t\t\t\tendDrag(e, state, updateState);\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mousemove={(e) => {\n\t\t\t\tif (canDrag && isDragEnabled) {\n\t\t\t\t\tdoDrag(e, state, updateState);\n\t\t\t\t}\n\t\t\t}}>\n\t\t\t<slot />\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\n\nexport {SYS_PROPS, SEPARATOR} from '@devsnc/unav-utils';\n\n//TODO: Remove hardcoded polaris route url\n//Add property on Polaris app shell\nexport const POLARIS_CONTEXT = {\n\texperienceName: 'Unified Navigation App',\n\tpath: 'now/nav/ui'\n};\nexport const CLASSIC_ROUTE = '/classic/params/target/';\nexport const FULL_CLASSIC_ROUTE = '/now/nav/ui/classic/params/target/';\nexport const POLARIS_SITE_NAME = 'now/nav/ui';\nexport const UNIFIED_NAVIGATION_REGISTRY_ID =\n\t'a84adaf4c700201072b211d4d8c260b7';\n\n//TODO: hardcoded polaris config ids should be removed once search team add logic to handle null values\n//temporary workaround to unblock story.\nexport const DEFAULT_POLARIS_SEARCH_CONTEXT = {\n\tid: 'now/nav/ui',\n\tlabel: 'Global',\n\tcontext: {\n\t\tpath: 'now/nav/ui',\n\t\texperienceName: 'Global'\n\t},\n\troute: 'search',\n\tsearchDataConfigId: 'c861cea2c7022010099a308dc7c26041',\n\tsearchViewConfigId: '0f8b85d0c7922010099a308dc7c2606a'\n};\n\n//internal global pref\nexport const USER_PREF_POLARIS_USE = 'glide.ui.polaris.use';\nexport const USER_PREF_AIUX_USE = 'aiux.use';\nexport const SYS_PROP_AIUX_EXPERIENCE = 'aiux.experience';\nexport const SYS_PROP_AIUX_ON_OFF_USER_PREF_ENABLED =\n\t'aiux.on_off_user_pref_enabled';\nexport const SYS_PROP_AIUX_USER_MENU_OPEN_ON_ARRIVAL =\n\t'aiux.user_menu_open_on_arrival.enabled';\nexport const SESSION_KEY_AIUX_OPEN_USER_MENU_ON_ARRIVAL =\n\t'aiux.openUserMenuOnArrival';\nexport const USER_PREF_UI6_TABS_INSIDE_POLARIS =\n\t'glide.ui.polaris.ui16_tabs_inside_polaris';\nexport const OVERVIEW_HELP_VISITED = 'overview_help.visited.navui';\nexport const OVERVIEW_HELP_VISITED_AIUX = 'overview_help.visited.aiux';\nexport const OVERVIEW_HELP_WITH_NOW_ASSIST_VISITED_V =\n\t'overview_help_now_assist.visited.navui.vancouver_nap';\nexport const OTTO_ONBOARDING_DISMISSED = 'otto.onboarding.dismissed';\nexport const USER_PREF_CONTINUE_LANDING_PAGE =\n\t'glide.next_experience.continue_landing_page';\nexport const USER_PREF_HOMEPAGE = 'my_home_navigation_page';\nexport const DEFAULT_REFERRER_POLICY = 'origin';\n\n// internal shared actions\nexport const PAGE_TITLE_UPDATE_REQUESTED = 'PAGE_TITLE_UPDATE_REQUESTED';\nexport const UN_PAGE_TITLE_UPDATE_REQUESTED =\n\t'UNIFIED_NAVIGATION#PAGE_TITLE_UPDATE_REQUESTED';\nexport const NAV_RESIZED = 'SN-POLARIS-HEADER#NAV_RESIZED';\nexport const RECENT_IFRAME_TITLE_UPDATED = 'RECENT_IFRAME_TITLE_UPDATED';\nexport const POLARIS_IFRAME_LOAD_COMPLETE = 'POLARIS_IFRAME_LOAD_COMPLETE';\nexport const USER_PRESENCE_CHANGED = 'USER_PRESENCE_CHANGED';\nexport const UTILITY_MENU_OVERFLOW_DATA_UPDATED =\n\t'UTILITY_MENU_OVERFLOW_DATA_UPDATED';\n\n// External components\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const GLOBAL_NAVIGATION_REQUESTED = 'GLOBAL_NAVIGATION_REQUESTED';\nexport const USER_PREF_UPDATED = 'USER_PREF_UPDATED';\nexport const OVERLAY_BEHAVIOR_OPENED_SET = 'OVERLAY_BEHAVIOR#OPENED_SET';\n\nexport const SERVICE_NOW = 'ServiceNow';\nexport const HOME_PAGE = 'Home page';\nexport const CLASSIC = 'classic';\nexport const LIST = 'LIST';\nexport const MENU_ALL = 'd6e462a5c3533010cbd77096e940dd8c';\nexport const MENU_HISTORY = 'c51543a5c3133010cbd77096e940dd43';\nexport const MENU_FAVORITES = '1b682fe1c3133010cbd77096e940dd18';\nexport const MENU_WORKSPACES = '63242b61c3133010cbd77096e940dd23';\nexport const MENU_ADMIN = 'e708a3f75372011010baddeeff7b120a';\nexport const SYSTEM_MENUS = new Set([\n\tMENU_ALL,\n\tMENU_HISTORY,\n\tMENU_FAVORITES,\n\tMENU_WORKSPACES,\n\tMENU_ADMIN\n]);\nexport const SYSTEM = 'system';\nexport const CONFIGURABLE = 'configurable';\nexport const OPEN = 'Open';\nexport const CLOSE = 'Close';\nexport const SCRIPT = 'SCRIPT';\nexport const INITIAL_EXPERIENCE_PAGE_LOADED = 'INITIAL_EXPERIENCE_PAGE_LOADED';\nexport const NOW_EXPERIENCE_PAGE_LOADED = 'NOW_EXPERIENCE_PAGE_LOADED';\nexport const NOW_EXPERIENCE_PAGE_SWITCHED = 'NOW_EXPERIENCE_PAGE_SWITCHED';\nexport const SEARCH = 'search';\nexport const RECORD = 'record';\nexport const CONTEXTUAL_MENU_TITLE = 'contextualNameTitle';\nexport const AIEL_SERVICE_AVAILABLE = 'aiel-service-available';\nexport const BRAND_CONFIG_UPDATED = 'aiel:brandingConfigUpdated';\n\nexport const MAIN_NAV_HEIGHT = 52;\nexport const MINIMUM_NAV_PADDING = 8;\nexport const MINIMUM_LOGO_PADDING = 12;\nexport const MINIMUM_OVERFLOW_TAB_WIDTH = 32;\nexport const PX_TO_REM_CONVERSION_RATE = 16;\nexport const MAIN_TAB_MARGIN = 4;\nexport const UTILITY_BUTTON_PADDING = 4;\nexport const UTILITY_MENU_MARGIN = 24;\nexport const MAIN_LOGO_WIDTH_CACHE_KEY = 'mainLogoWidth';\nexport const SN_LOGO_DEFAULT_LIGHT = 'ccbd67c4408f4110f8775ad9518199da.iix';\nexport const SN_LOGO_DEFAULT_DARK = '77eb60325f210100a9ad2572f2b477ae.iix';\nexport const SN_LOGO_THEME_ASSET = '0850a525073220105fca5d1aead30038';\nexport const TOGGLE_MENU_OPEN = 'POLARIS#TOGGLE_MENU_OPEN';\n\nexport const OVERFLOW_MENU_ID = 'nav-overflow';\nexport const CONCOURSE_PICKER_MENU_ID = 'concoursePickers';\nexport const CONCOURSE_PICKER_HEADER_TEXT = t('Scope selectors');\nexport const INSTANCE_TOOLS_MENU_ID = 'instanceTools';\nexport const INSTANCE_TOOLS_HEADER_TEXT = t('Instance tools');\nexport const HELP_MENU_ID = 'helpMenu';\nexport const HELP_MENU_HEADER_TEXT = t('Help Center');\nexport const NOW_ASSIST_MENU_ID = 'now-ai-canvas-window';\nexport const NOW_ASSIST_PANEL_MENU_ID = 'nowAssist';\nexport const NOW_ASSIST_MENU_HEADER_TEXT = t('ServiceNow Otto');\nexport const INSTANCE_TOOLS_ID = 'instance-tools';\nexport const NOTIFICATIONS_ID = 'notifications';\nexport const NOTIFICATIONS_HEADER_TEXT = t('Notifications');\nexport const UTILITY_OVERFLOW_MENU_ID = 'overflowMenu';\nexport const UTILITY_OVERFLOW_MENU_HEADER_TEXT = t('Utility Overflow');\nexport const USER_MENU_ID = 'userMenu';\nexport const USER_MENU_HEADER_TEXT = t('User');\nexport const OPENFRAME_MENU_ID = 'ctiMenu';\nexport const OPENFRAME_MENU_HEADER_TEXT = t('Phone');\nexport const CHAT_MENU_HEADER_TEXT = t('Sidebar discussions');\nexport const USAGE_ANALYTICS_MENU_ID = 'usageAnalytics';\nexport const USAGE_ANALYTICS_HEADER_TEXT = t('Usage Analytics');\n\n// page reflow break points based on page width in pixels\nexport const REFLOW_BREAKPOINTS = {\n\tMINIMUM_WIDTH: 325,\n\tBREAKPOINT_420: 420,\n\tBREAKPOINT_540: 540,\n\tBREAKPOINT_1024: 1024,\n\tBREAKPOINT_ONE: 640,\n\tBREAKPOINT_TWO: 993,\n\tBREAKPOINT_THREE: 1280,\n\tBREAKPOINT_FOUR: 1670,\n\tSEARCH_BREAKPOINT_SMALL: 50,\n\tSEARCH_BREAKPOINT_LARGE: 244,\n\tHIDE_CENTER_PILL: 530,\n\tMAIN_MENU_PIN_BREAKPOINT: 993,\n\tCONTEXTUAL_MENU_PIN_BREAKPOINT: 1220,\n\tPREFERENCES_MODAL_BREAKPOINT: 600\n};\n\nexport const HISTORY_RECORDING = {\n\tENTRY: 'ENTRY',\n\tNONE: 'NONE',\n\tALL: 'ALL'\n};\n\nexport const METRICS = {\n\tNAVIGATION: 'Navigation',\n\tPERFORMANCE: 'performance',\n\tRETURN_HOME: 'Return Home',\n\tSELECT_MENU: 'Select Menu',\n\tPIN: 'Pin Menu',\n\tTOGGLE_WIDE_MENU: 'Toggle Wide Menu',\n\tSELECT_MENU_ITEM: 'Select Menu Item',\n\tFILTER_MENU: 'Filter Menu',\n\tSELECT_NOTIFICATION_MENU: 'Select Notification Menu',\n\tSELECT_NOTIFICATION: 'Select Notification',\n\tALERT_NEW_NOTIFICATION: 'Alert New Notification',\n\tCLEAR_NOTIFICATION: 'Clear Notification',\n\tDISMISS_NOTIFICATION: 'Dismiss Notification',\n\tDOMAIN_REFRESH: 'Reset Domain',\n\tCREATE_FAVORITE: 'Create Favorite',\n\tREMOVE_FAVORITE: 'Remove Favorite',\n\tSEARCH_CONTEXT_SELECTED: 'Select Search Context',\n\tSEARCH_START: 'Search Start',\n\tSEARCH_ITEM_SELECTED: 'Search Item Selected',\n\tSELECT_SCOPE_MENU: 'Select Scope Menu',\n\tSELECT_SCOPE_MENU_GROUP: 'Select Scope Menu Group',\n\tSELECT_SCOPE_MENU_ITEM: 'Select Scope Menu Item',\n\tSELECT_USER_MENU: 'Select User Menu',\n\tSELECT_USER_MENU_ITEM: 'Select User Menu Item',\n\tSEARCH_RESULTS_ITEM_SELECTED: 'Search Results Item Selected',\n\tSELECT_PREFERENCE_TAB: 'Select Preference Tab',\n\tSELECT_PREFERENCE_TAB_ITEM: 'Select Preference Tab Item',\n\tSELECT_HELP_MENU: 'Select Help Menu',\n\tSELECT_CTI_MENU: 'Select CTI Menu',\n\tSELECT_USAGE_ANALYTICS_MENU: 'Select Usage Analytics Menu',\n\tSKIP_LINK_NAVIGATE: 'Skip Link Navigate',\n\tSKIP_LINK_SELECT: 'Skip Link Select',\n\tUI16_CREATE_FAVORITE: 'UI16 Create Favorite',\n\tSCREEN_CONTENT_DEEP_LINK_SELECT: 'Screen Content Deep Link Select',\n\tSELECT_COLLAB_CHAT: 'Select Collab Chat',\n\tSELECT_NOW_ASSIST: 'Select ServiceNow Otto',\n\tTOGGLED_COLLAB_CHAT_SEARCH: 'Toggled Collab Chat Search',\n\tDIRTY_FORM_MODAL: 'Dirty Form Modal Shown',\n\tNEXT_EXPERIENCE_OFF: 'Next Experience Turned Off',\n\tTOGGLE_MENU_ITEM_DROPDOWN: 'Toggle Menu Item Dropdown',\n\tCLOSE_MENU: 'Menus Closed',\n\tALL_RESULTS_TOGGLE: 'All Results Section Toggled',\n\tFAVORITES_RESULTS_TOGGLE: 'Favorites Results Toggled',\n\tOTHER_RESULTS_TOGGLE: 'Other Results Toggle',\n\tSELECT_INSTANCE_TOOLS: 'Select Instance Tools',\n\tPRODUCT_FEEDBACK: 'Product Feedback',\n\tIFRAME_LOAD_COMPLETE: 'IFRAME_LOAD_COMPLETE',\n\tMENU_FETCHED: 'Menu Fetched',\n\tMENU_RENDERED: 'Menu Rendered',\n\tAPPLICATION_CHANGED: 'Application Changed',\n\tCONCOURSE_DATA_FETCHED: 'Concourse Data Fetched',\n\tELEVATE_ROLES_FETCHED: 'Elevate Roles Fetched',\n\tHEADER_RENDERED: 'Header Rendered',\n\tIMPERSONATE_LIST_FETCHED: 'Impersonate List Fetched',\n\tIMPERSONATE_USER: 'Impersonate User',\n\tPLUGINS_FETCHED: 'Plugins Fetched',\n\tFAVORITE_CREATED: 'Favorite Created',\n\tMENU_REFRESHED_MANUALLY: 'Menu Refreshed Manually',\n\tMENU_CREATE_CLICKED: 'Menu Create Clicked',\n\tMODULE_EDIT_CLICKED: 'Module Edit Clicked',\n\tAPPLICATION_EDIT_CLICKED: 'Application Edit Clicked'\n};\n\nexport const BUTTON_ACTIONS = {\n\tOPENFRAME_ICON_CLICKED: 'OPENFRAME_ICON_CLICKED',\n\tAVATAR_ICON_CLICKED: 'AVATAR_ICON#CLICKED',\n\tLOGOUT_CLICKED: 'LOGOUT#CLICKED',\n\tHELP_CLICKED: 'HELP#CLICKED',\n\tBELL_CLICKED: 'BELL#CLICKED',\n\tCHAT_CLICKED: 'CHAT#CLICKED',\n\tUSAGE_ANALYTICS_CLICKED: 'USAGE_ANALYTICS#CLICKED',\n\tNOW_ASSIST_CLICKED: 'NOW_ASSIST#CLICKED',\n\tPROFILE_CLICKED: 'PROFILE#CLICKED',\n\tIMPERSONATE_USER_CLICKED: 'IMPERSONATE_USER#CLICKED',\n\tEND_IMPERSONATION_CLICKED: 'END_IMPERSONATION#CLICKED',\n\tELEVATE_ROLE_CLICKED: 'ELEVATE_ROLE#CLICKED',\n\tPRINTER_FRIENDLY_CLICKED: 'PRINTER_FRIENDLY#CLICKED',\n\tEXPERIENCE_ACTION_ITEM_CLICKED: 'EXPERIENCE_ACTION_ITEM#CLICKED',\n\tCONCOURSE_PICKER_BUTTON_CLICKED: 'CONCOURSE_PICKER_BUTTON#CLICKED',\n\tNOTIFICATION_TRIGGERED: 'NOTIFICATION_TRIGGERED',\n\tNOW_UI_TOGGLE_PIN: 'NOW-UI#TOGGLE_PIN',\n\tINSTANCE_TOOLS_CLICKED: 'INSTANCE_TOOLS#CLICKED',\n\tOPEN_FEEDBACK: 'FEEDBACK_BUTTON#CLICKED',\n\tOVERFLOW_UTIL_MENU_CLICKED: 'OVERFLOW_UTIL_MENU_CLICKED#CLICKED',\n\tKEYBOARD_SHORTCUT_MODAL: 'KEYBOARD_SHORTCUTS#CLICKED',\n\tKARUNA_TOGGLE_CLICKED: 'KARUNA_TOGGLE#CLICKED'\n};\n\nexport const SEARCH_RENDER_STATUS_REPORTED =\n\t'POLARIS#SEARCH_RENDER_STATUS_REPORTED';\n\nexport const ICON_MAP = {\n\t'article-document': 'document-outline',\n\tuser: 'user-outline',\n\t'user-group': 'user-group-outline',\n\tlightbulb: 'lightbulb-outline',\n\thome: 'home-outline',\n\tmobile: 'cellphone-outline',\n\tcomment: 'chat-outline',\n\tmail: 'envelope-outline',\n\tlocked: 'lock-outline',\n\tdatabase: 'database-outline',\n\tbook: 'book-outline',\n\tdrawer: 'harddrive-outline',\n\tfolder: 'folder-outline',\n\tcatalog: 'news-outline',\n\ttab: 'configuration-item-outline',\n\tcards: 'grid-four-outline',\n\t'tree-right': 'tree-view-short-outline',\n\ttree: 'tree-view-long-outline',\n\t'book-open': 'address-book-outline',\n\tpaperclip: 'paperclip-outline',\n\tedit: 'pencil-outline',\n\ttrash: 'trash-outline',\n\timage: 'image-outline',\n\tsearch: 'magnifying-glass-outline',\n\tpower: 'lightning-outline',\n\tcog: 'gear-outline',\n\tstar: 'star-fill',\n\t'star-empty': 'star-outline',\n\t'new-ticket': 'document-plus-outline',\n\tdashboard: 'chart-semi-donut-outline',\n\t'cart-full': 'shopping-cart-fill',\n\tview: 'circle-info-outline',\n\tlabel: 'tag-outline',\n\tfilter: 'filter-outline',\n\tcalendar: 'calendar-outline',\n\tscript: 'document-archive-outline',\n\tadd: 'plus-outline',\n\tdelete: 'minus-outline',\n\thelp: 'circle-question-outline',\n\t'check-circle': 'circle-check-outline',\n\talert: 'circle-exclamation-outline',\n\t'sort-ascending': 'sort-ascending-outline',\n\tconsole: 'monitor-outline',\n\tlist: 'list-outline',\n\tform: 'pencil-page-outline',\n\tlivefeed: 'bell-outline',\n\tkey: 'key-outline',\n\thr: 'user-transfer-outline',\n\tphone: 'phone-outline',\n\t'icon-phone': 'phone-outline',\n\tcross: 'close-outline',\n\t'vcr-down': 'caret-down-outline',\n\t'checkbox-empty': 'checkbox-unchecked-outline',\n\t'arrow-right': 'arrow-right-outline',\n\t'arrow-down': 'arrow-down-outline',\n\t'arrow-left': 'arrow-left-outline',\n\t'arrow-up': 'arrow-up-outline',\n\t'cross-circle': 'circle-close-outline',\n\tpreview: 'eye-outline',\n\t'chevron-left': 'chevron-left-outline',\n\t'chevron-right': 'chevron-right-outline',\n\tunlocked: 'unlock-outline',\n\t'sort-descending': 'sort-descending-outline',\n\tmenu: 'menu-outline',\n\tcheck: 'check-outline',\n\tsubtract: 'minus-outline',\n\tellipsis: 'ellipsis-h-outline',\n\tlink: 'link-outline',\n\t'delete-selected': 'ban-fill',\n\t'vcr-up': 'caret-up-outline',\n\t'vcr-left': 'caret-left-outline',\n\t'vcr-right': 'caret-right-outline',\n\t'arrow-left-rounded': 'circle-chevron-left-outline',\n\t'arrow-right-rounded': 'circle-chevron-right-outline',\n\t'arrow-up-rounded': 'circle-chevron-up-outline',\n\t'arrow-down-rounded': 'circle-chevron-down-outline',\n\tcart: 'shopping-cart-outline',\n\tinfo: 'circle-info-outline',\n\t'checkbox-checked': 'checkbox-checked-outline',\n\t'circle-solid': 'circle-fill',\n\t'menu-arrows': 'caret-up-down-fill',\n\trefresh: 'arrow-clockwise-outline',\n\t'step-in': 'move-item-down-outline',\n\t'step-out': 'move-item-up-outline',\n\t'step-over': 'square-share-outline',\n\tfirst: 'arrow-left-most-outline',\n\tlast: 'arrow-right-most-outline',\n\t'split-vertical': 'ellipsis-v-outline',\n\t'split-horizontal': 'ellipsis-h-outline',\n\tworkspace: 'workflow-outline'\n};\n\nexport const LOCAL_STORAGE_KEYS = {\n\tRENDER_DEBUG_LIST: 'renderDebugList',\n\tPERFORMANCE_OBSERVERS: 'perfObservers'\n};\n","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    options = {};\n  }\n\n  if (!url) {\n    return url;\n  }\n\n  url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them\n\n  if (/^['\"].*['\"]$/.test(url)) {\n    url = url.slice(1, -1);\n  }\n\n  if (options.hash) {\n    url += options.hash;\n  } // Should url be wrapped?\n  // See https://drafts.csswg.org/css-values-3/#urls\n\n\n  if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n    return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n  }\n\n  return url;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box;scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.popover-content{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:flex;flex-direction:column;height:14.6875rem;padding:.75rem;width:20rem}.popover-content.delete-popup{height:11.875rem}.remove-text{font-size:1rem;margin-block-start:1.5rem}now-button-bare{--now-button_icon--bare_tertiary--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--bare_tertiary--color--hover:var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))}now-input,now-select{--now-form-field_label--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))}now-input{--now-input--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-form-field_label--color--invalid:var(--now-color_alert--critical-1,221,133,129);--now-input--background-color:var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97));--now-input--background-color--invalid:var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97));--now-input--background-color--invalid_focus:var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97));--now-input--border-color:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-input--border-color--invalid:var(--now-color_alert--critical-1,221,133,129);--now-input_placeholder--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-input_placeholder--color--hover:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-input--background-color--hover:var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129));--now-input--background-color-alpha--hover:var(--now-opacity--most,0.8);--now-input--border-color--hover:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-input--background-color--focus:var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129))}now-select{--now-select_trigger-icon--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-select--background-color:var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97));--now-select--border-color:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-select--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-select_placeholder--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-select_placeholder--color--hover:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-select--background-color--hover:var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129));--now-select--background-color-alpha--hover:var(--now-opacity--most,0.8);--now-select--border-color--hover:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-select--background-color--focus:var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129));--now-select--background-color--opened:var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97))}.cancel,.more{--now-button--tertiary--color:var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233));--now-button--tertiary--color--active:var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233));--now-button--tertiary--color--hover:var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233));--now-button--tertiary--border-color:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-button--tertiary--border-color--hover:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-button--tertiary--border-color--active:var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156));--now-button--tertiary--background-color--hover:var(--now-color--primary-1,30,133,109);--now-button--tertiary--background-color-alpha--hover:var(--now-opacity--less,0.25);--now-button--tertiary--background-color--active:var(--now-color--primary-1,30,133,109);--now-button--tertiary--background-color-alpha--active:var(--now-opacity--mid,0.5)}.remove{--now-button--secondary-negative--color:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--color--hover:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--color--active:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--border-color:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--border-color--hover:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--border-color--active:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--background-color--hover:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--background-color--active:var(--now-color_alert--critical-1,221,133,129);--now-button--secondary-negative--background-color-alpha:0;--now-button--secondary-negative--background-color-alpha--hover:var(--now-opacity--least,0.1);--now-button--secondary-negative--background-color-alpha--active:var(--now-opacity--less,0.25)}.done{--now-button--tertiary--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--color--active:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--color--hover:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color--hover:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color--active:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--background-color--hover:var(--now-color--primary-1,30,133,109);--now-button--tertiary--background-color-alpha--hover:var(--now-opacity--less,0.25);--now-button--tertiary--background-color--active:var(--now-color--primary-1,30,133,109);--now-button--tertiary--background-color-alpha--active:var(--now-opacity--mid,0.5)}.button-row,.title-row{display:flex;justify-content:space-between}.button-row.delete-popup,.title-row.delete-popup{justify-content:flex-end}.button-row>span,.title-row>span{font-size:1.25rem}.button-row{margin-block-start:1.5rem}.end-buttons{display:flex;flex-direction:row}.end-buttons now-button:last-child{margin-inline-start:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.options{grid-gap:.5rem;display:grid;grid-auto-columns:min-content;grid-auto-flow:column;text-align:center}.feedback-form-container h2:first-child{margin:0 0 .625rem 0}.card-content,.now-card-slot,now-card{--now-card--scale-size:0;display:flex;flex-direction:column;flex-flow:nowrap;min-height:5rem;min-width:8.6875rem;position:relative}.card-content>span{margin:auto}now-icon{color:RGB(var(--now-color--primary-1,30,133,109));margin-bottom:.25rem}.check-icon{position:absolute;right:.25rem;top:.25rem}.now-card-slot.-sm{padding:0}h2{font-weight:600;margin:.9375rem 0 .625rem}h2,h3{font-size:1rem;line-height:1.1875rem}h3{color:RGB(var(--now-color--primary-1,30,133,109));font-weight:400;margin:auto .5rem}now-textarea{margin:0;width:100%}.legal-text{font-size:1rem;line-height:1.1875rem;margin-top:.75rem}.submit-complete h1{font-size:1.25rem;text-align:center}.illustration{height:22rem;margin:auto;width:22rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{height:100%}.polaris-header-logo{align-items:center;display:flex;flex-grow:0;flex-shrink:0;height:100%;overflow:hidden;padding-inline-end:1.25rem;padding-inline-start:1.5rem;position:relative}.polaris-header-logo img{color:RGB(var(--now-unified-nav_nav-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;max-height:2rem;max-width:9.375rem;opacity:1}@media(forced-colors:active){.polaris-header-logo #header-logo-image{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header-logo #header-logo-image:focus,.polaris-header-logo #header-logo-image:hover,.polaris-header-logo:focus #header-logo-image,.polaris-header-logo:hover #header-logo-image{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header-logo:hover img{opacity:var(--now-opacity--most,.8);outline:none}.polaris-header-logo:focus-visible{outline:none}.polaris-header-logo:focus-visible img{box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)))}@media only screen and (max-width:419px){.polaris-header-logo{padding-inline-end:.125rem;padding-inline-start:.75rem}}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header-logo:focus{outline:none}.polaris-header-logo:focus img{box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)))}}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.polaris-header-menu{align-items:center;display:flex;height:3.25rem}a.sn-polaris-tab{text-decoration:none}.sn-polaris-tab{align-items:center;background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_nav-menu-trigger--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border-radius:.5rem;color:RGB(var(--now-unified-nav_nav-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1rem;height:2rem;outline:solid var(--now-unified-nav_nav-menu-trigger--border-size,0) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0));padding:0 .75rem;pointer-events:all;text-transform:capitalize}.sn-polaris-tab,.sn-polaris-tab .polaris-tab-item-icon{margin-inline-end:.25rem}.sn-polaris-tab.can-animate{transition:left .25s cubic-bezier(.19,1,.22,1),color 125ms cubic-bezier(.19,1,.22,1),background-color 125ms cubic-bezier(.19,1,.22,1),border-color 125ms cubic-bezier(.19,1,.22,1)}.sn-polaris-tab.is-active{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-tab:not(.is-active).selected,.sn-polaris-tab:not(.is-active):hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active).selected .leaf-item-icon,.sn-polaris-tab:not(.is-active):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.sn-polaris-tab:not(.is-active):focus,.sn-polaris-tab:not(.is-active):focus-visible{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):focus .leaf-item-icon,.sn-polaris-tab:not(.is-active):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):focus-visible:hover,.sn-polaris-tab:not(.is-active):focus:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):focus-visible:hover .leaf-item-icon,.sn-polaris-tab:not(.is-active):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):-moz-focusring{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-tab:not(.is-active):focus{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):focus:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.sn-polaris-tab:not(.is-active):active{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):active .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media(forced-colors:active){.sn-polaris-tab:not(.is-active){background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-tab:not(.is-active):focus,.sn-polaris-tab:not(.is-active):hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-tab:not(.is-active):hover{outline:solid var(--now-unified-nav_nav-menu-trigger--border-size--hover,var(--now-unified-nav_nav-menu-trigger--border-size,0)) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color--hover,var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha--hover,var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0)))}@media(forced-colors:active){.sn-polaris-tab:not(.is-active):hover{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-tab:not(.is-active):hover:focus,.sn-polaris-tab:not(.is-active):hover:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-tab.selected{opacity:0}.sn-polaris-tab.is-hidden{display:none}.sn-polaris-tab.is-pinned,.sn-polaris-tab.is-placeholder{pointer-events:none;visibility:hidden}.sn-polaris-tab.tab-overflow{justify-content:center;padding-inline-end:.5rem;padding-inline-start:.5rem}.sn-polaris-tab.is-pinned:after{background-color:RGB(var(--now-color--primary-0,221,237,233),1);border-radius:.125rem;content:\\\"\\\";height:3px!important;left:0;top:calc(100% - 2px);width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box;scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.polaris-header-experience-title{align-items:center;background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))));border:1px solid;border-color:RGB(var(--now-unified-nav_contextual-app-pill--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:50px;color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));display:flex;height:2rem;justify-content:center;margin-inline-end:.75rem;margin-inline-start:.75rem;max-width:30vw;outline:none;overflow:hidden;padding-inline-end:1rem;padding-bottom:.5rem;padding-inline-start:1rem;padding-top:.5rem;place-self:center}@media screen and (max-width:530px){.polaris-header-experience-title{max-width:15.3125rem}}:host{display:block;height:100%;position:relative;width:100%}:host(.un-resolved) .polaris-header-menu{visibility:hidden}:host(.un-resolved) .polaris-header-experience-title{visibility:hidden}.tab-name{transition:opacity .5s cubic-bezier(0,.93,.46,1)}.utility-icon-wrapper{display:flex;max-height:1rem;position:relative}.polaris-header{display:grid;grid-template-columns:1fr min-content 1fr;height:3.25rem;position:relative;z-index:1000}.polaris-header:before{content:\\\"\\\";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.polaris-header.show-only-search{grid-template-columns:.5fr min-content .5fr}.polaris-header.polaris-enabled:before{background-color:RGB(var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32)))}.polaris-header.polaris-enabled .polaris-header-experience-title{background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))))}.polaris-header:not(.polaris-enabled) .polaris-header-experience-title,.polaris-header:not(.polaris-enabled):before{background-color:RGB(var(--now-color_brand--primary,41,62,64))}.polaris-header .starting-header-zone{display:grid;grid-template-columns:min-content 1fr;opacity:1;pointer-events:all}.polaris-header .starting-header-zone.hidden{grid-template-columns:0;opacity:0;overflow:hidden;pointer-events:none;width:.5rem}.polaris-header .ending-header-zone{display:flex;flex-direction:row;min-width:0}.polaris-header .ending-header-zone.is-contextual-menu-pinned,.polaris-header .ending-header-zone.search-open{min-width:auto}.polaris-header .center-header-zone{display:flex}.polaris-header .center-header-zone.hidden{overflow:hidden;width:0}.polaris-header.can-animate .logo-area{transition:width .25s cubic-bezier(0,.93,.46,1),border-inline-end .25s cubic-bezier(0,.93,.46,1)}.polaris-header.can-animate .pinned-contextual-area{transition:width .25s cubic-bezier(0,.93,.46,1),border-inline-start .25s cubic-bezier(0,.93,.46,1)}.polaris-header.can-animate .pinned-icon{transition:opacity .5s cubic-bezier(.19,1,.22,1)}.polaris-header.is-pinned .logo-area{border-inline-end:solid .0625rem RGBA(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)),1);width:20rem!important}.polaris-header.is-pinned:not(.is-contextual-menu-pinned){grid-template-columns:1.6fr min-content 1fr}.polaris-header.is-contextual-menu-pinned:not(.is-pinned){grid-template-columns:1fr min-content 1.5fr}.polaris-header.is-contextual-menu-pinned .polaris-header-controls{width:calc(100% - var(--pinned-contextual-menu-width))}.polaris-header.is-impersonating:after{background-color:RGB(var(--now-color_presence--busy,234,60,16));content:\\\"\\\";height:.1875rem;position:absolute;width:100%}.polaris-header .logo-area{border-inline-end:solid .0625rem RGBA(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)),0);display:flex;flex-direction:row;height:3.25rem;min-width:2.5rem;overflow:hidden;width:auto;z-index:1001}@media(forced-colors:active){.polaris-header .logo-area{border-inline-end:none}}.polaris-header .logo-area .pinned-tabs{position:relative;width:100%}.polaris-header .logo-area .pinned-tabs .dirty-workspace-icon{left:-.5rem;top:35%}.polaris-header .logo-area .pinned-tabs .dirty-workspace-icon,.polaris-header .logo-area .tab-name{color:RGB(var(--now-unified-nav_nav-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));position:absolute}.polaris-header .logo-area .tab-name{align-items:center;cursor:default;flex-grow:0;flex-shrink:0;font-size:1rem;height:3.25rem;max-width:115px;opacity:0;overflow:hidden;padding:1rem .75rem;pointer-events:none;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.polaris-header .logo-area .tab-name.shown{opacity:1;pointer-events:all}.polaris-header .logo-area .tab-name:hover:after{background-color:RGB(var(--now-unified-nav_nav-menu-trigger--background-color--pinned_hover,var(--now-unified-nav_nav-menu-trigger--background-color--pinned,var(--now-color--primary-0,221,237,233))))}.polaris-header .logo-area .tab-name:active:after{background-color:RGB(var(--now-unified-nav_nav-menu-trigger--background-color--pinned_active,var(--now-unified-nav_nav-menu-trigger--background-color--pinned,var(--now-color--primary-0,221,237,233))))}.polaris-header .logo-area .tab-name:after{background-color:RGB(var(--now-unified-nav_nav-menu-trigger--background-color--pinned,var(--now-color--primary-0,221,237,233)));border-radius:.125rem;content:\\\"\\\";height:3px!important;left:0;position:absolute;top:calc(100% - 3px);width:100%}.polaris-header .pinned-contextual-area{border-inline-start:solid .0625rem RGBA(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)),0);display:flex;flex-direction:row;flex-grow:0;height:3.25rem;min-width:0;overflow:hidden;width:0}.polaris-header .pinned-contextual-area.is-contextual-menu-pinned{border-inline-start:solid .0625rem RGBA(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)),1);width:var(--pinned-contextual-menu-width)}.polaris-header .pinned-contextual-area .pinned-icons{position:relative;width:100%}.polaris-header .pinned-contextual-area .pinned-icons .pinned-icon{align-items:center;color:RGB(var(--now-unified-nav_utility-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));display:inline-flex;flex-grow:0;flex-shrink:0;height:3.25rem;left:1rem;opacity:0;position:absolute;width:2rem}.polaris-header .pinned-contextual-area .pinned-icons .pinned-icon .contextual-zone-icon{margin:0 auto}.polaris-header .pinned-contextual-area .pinned-icons .pinned-icon:active:after,.polaris-header .pinned-contextual-area .pinned-icons .pinned-icon:hover:after{background-color:RGB(var(--now-unified-nav_utility-menu-trigger--background-color--pinned,var(--now-unified-nav_utility-menu-trigger--background-color--pinned,var(--now-color--primary-0,221,237,233))))}.polaris-header .pinned-contextual-area .pinned-icons .pinned-icon:after{background-color:RGB(var(--now-unified-nav_utility-menu-trigger--background-color--pinned,var(--now-color--primary-0,221,237,233)));border-radius:.125rem;content:\\\"\\\";height:.1875rem!important;left:0;position:absolute;top:calc(100% - 3px);width:100%;z-index:-1}.polaris-header *{box-sizing:border-box;scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.polaris-header ::-webkit-scrollbar{width:.75rem}.polaris-header ::-webkit-scrollbar-track{border-radius:.5rem}.polaris-header ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.polaris-header .utility-menu{display:flex;margin-inline-end:.75rem;margin-inline-start:.75rem}.polaris-header .utility-menu.hidden{overflow:hidden;width:0}@media only screen and (max-width:430px){.polaris-header .utility-menu{margin-inline:0}}.polaris-header .utility-menu .header-avatar-button{margin-inline-start:.75rem;position:relative;width:2rem}.polaris-header .utility-menu .header-avatar-button now-avatar{border-radius:50%;margin:auto}.polaris-header .utility-menu .header-avatar-button now-avatar.is-impersonating{border:.1875rem solid RGB(var(--now-color_presence--busy,234,60,16))}.polaris-header .utility-menu .header-avatar-button.user-menu{border-radius:4px}.polaris-header .utility-menu .header-avatar-button now-icon.avatar-status-overlay{color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)));position:absolute;top:0}:host(:not([dir=rtl])) .polaris-header .utility-menu .header-avatar-button now-icon.avatar-status-overlay,:root:not([dir=rtl]) .polaris-header .utility-menu .header-avatar-button now-icon.avatar-status-overlay{right:0}:host([dir=rtl]) .polaris-header .utility-menu .header-avatar-button now-icon.avatar-status-overlay,:root[dir=rtl] .polaris-header .utility-menu .header-avatar-button now-icon.avatar-status-overlay{left:0}.polaris-header .utility-menu .header-avatar-button:hover{opacity:var(--now-opacity--most,.8)}.polaris-header .utility-menu .header-avatar-button:focus-visible{box-shadow:0 0 0 .126rem RGB(var(--now-color--focus-2,1,119,142)),inset 0 0 0 .063rem RGB(var(--now-color--neutral-1,246,247,247));outline:none}@media only screen and (max-width:499px){.polaris-header .utility-menu .header-avatar-button{margin-inline-start:0}}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .header-avatar-button:focus{box-shadow:0 0 0 .126rem RGB(var(--now-color--focus-2,1,119,142)),inset 0 0 0 .063rem RGB(var(--now-color--neutral-1,246,247,247));outline:none}}}.polaris-header .utility-menu .user-menu-body .user-menu-icon{align-items:center;color:RGB(var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)));display:flex;margin-inline-end:.5rem}.polaris-header .utility-menu .user-menu-body .user-menu-icon.after{margin-inline-start:.5rem}.polaris-header .utility-menu .user-menu-body .user-menu-button{background-color:transparent;border:0;border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;justify-content:flex-start;margin:0;padding:.5rem;position:relative;text-decoration:none;text-underline-offset:.125rem;width:100%}.polaris-header .utility-menu .user-menu-body .user-menu-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .user-menu-body .user-menu-button.selected,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .user-menu-body .user-menu-button.selected .leaf-item-icon,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus,.polaris-header .utility-menu .user-menu-body .user-menu-button:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus .leaf-item-icon,.polaris-header .utility-menu .user-menu-body .user-menu-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus-visible:hover,.polaris-header .utility-menu .user-menu-body .user-menu-button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .user-menu-body .user-menu-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .user-menu-body .user-menu-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .user-menu-body .user-menu-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .user-menu-body .user-menu-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .user-menu-body .user-menu-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .user-menu-body .user-menu-button:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.polaris-header .utility-menu .user-menu-body .user-menu-button:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .user-menu-body .user-menu-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .user-menu-body .user-menu-button.selected,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.polaris-header .utility-menu .user-menu-body .user-menu-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}.polaris-header .utility-menu .user-menu-body .user-menu-button:focus .user-menu-label,.polaris-header .utility-menu .user-menu-body .user-menu-button:focus .user-menu-label .user-menu-icon,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover .user-menu-label,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover .user-menu-label .user-menu-icon{color:Highlight}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .user-menu-body .user-menu-button:hover .user-menu-icon,.polaris-header .utility-menu .user-menu-body .user-menu-button:hover .user-menu-label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}}.polaris-header .utility-menu .user-menu-body .user-menu-label{align-items:flex-start;display:flex;justify-content:flex-start;text-align:start;width:100%}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .user-menu-body .user-menu-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}}.polaris-header .utility-menu .user-menu-body .user-menu-header{grid-gap:.75rem;align-items:center;border-bottom:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));display:grid;flex-grow:0;grid-template-columns:4.5rem auto;padding:.5rem}.polaris-header .utility-menu .user-menu-body .user-menu-header.polaris-enabled{background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9))}.polaris-header .utility-menu .user-menu-body .user-menu-header now-avatar{border-radius:50%;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content}.polaris-header .utility-menu .user-menu-body .user-menu-header now-avatar.avatar-border{border:.1875rem solid RGB(var(--now-color_presence--busy,234,60,16))}.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info{overflow:hidden;width:100%}.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info .user-name{font-size:1.25rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info .user-additional-info{align-items:center;color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem;overflow:hidden;padding-block-start:.25rem;text-overflow:ellipsis;white-space:nowrap}.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info .user-additional-info now-icon{margin:0 .1875rem 0 0}.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info .instance-name,.polaris-header .utility-menu .user-menu-body .user-menu-header .user-menu-info .user-additional-info.user-is-impersonating{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.polaris-header .utility-menu .user-menu-body .user-menu-toggle-container{border-bottom:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));display:grid;margin:0 .5rem}.polaris-header .utility-menu .user-menu-body .user-menu-toggle-row{justify-content:space-between}.polaris-header .utility-menu .user-menu-body .user-menu-toggle-row now-toggle{flex-shrink:0;margin-inline-start:.5rem;pointer-events:none}.polaris-header .utility-menu .user-menu-body hr{background-color:RGB(var(--now-color_chrome--divider-2,118,132,133));border:none;height:.0625rem;margin:.125rem}.polaris-header .utility-menu .user-menu-body .user-menu-controls{display:grid;margin:.5rem .5rem 0 .5rem}.polaris-header .utility-menu .user-menu-body .user-menu-footer{display:grid;flex-grow:0}.polaris-header .utility-menu .user-menu-body .user-menu-footer .user-menu-logout{margin:0 .5rem 1rem .5rem}.polaris-header .utility-menu .user-menu-body .user-menu-footer .user-menu-logout.is-branded{margin:0 .5rem}.polaris-header .utility-menu .user-menu-body .user-menu-footer .user-menu-branding{--now-works-with-sn-fill-color:#fff;background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9));color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:flex;justify-content:center}.polaris-header .utility-menu .user-menu-body .user-menu-footer .user-menu-branding img{margin:.5rem 0 .5rem 0}.polaris-header .utility-menu .user-menu-body sn-collapsible-list{padding-inline-end:.75rem;padding-inline-start:.1875rem}.polaris-header .utility-menu .now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.polaris-header .utility-menu .sn-polaris-nav-header-filter{flex-grow:1;position:relative;white-space:nowrap}.polaris-header .utility-menu .sn-polaris-nav-header-filter.can-animate input.navigation-filter{transition:background-color .25s cubic-bezier(0,.93,.46,1),border-color .25s cubic-bezier(0,.93,.46,1),box-shadow .25s cubic-bezier(0,.93,.46,1),color .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-nav-header-filter.can-animate .sn-polaris-nav-header-filter{transition:color .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter{background-color:RGB(var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97)));border:.0625rem solid RGB(var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;height:2rem;line-height:2rem;outline:none;padding-inline-start:2.5rem;position:relative;width:100%}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter.has-focus,.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:focus{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--opened,var(--now-color--neutral-0,255,255,255)));border:.125rem solid RGB(var(--now-unified-nav_menu-filter--border-color--opened,var(--now-color--focus-1,77,160,176)));box-shadow:0 0 0 .25rem rgba(60,89,231,.15);color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter.has-focus::placeholder,.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:focus::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--focus,var(--now-color--neutral-18,22,27,28)))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter.has-focus:not(:placeholder-shown),.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:focus:not(:placeholder-shown){padding-inline-end:2.5rem}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter.has-focus~now-icon[icon=filter-outline],.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:focus~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--opened,var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28))))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129)));color:RGB(var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255)));opacity:var(--now-opacity--most,.8)}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{align-items:center;background-color:transparent;border:none;border-radius:50%;color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)));cursor:pointer;height:1.5rem;justify-content:center;margin-block-start:-.5rem;opacity:1;outline:none;position:absolute;top:39%;visibility:visible;width:1.5rem}:host(:not([dir=rtl])) .polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root:not([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{right:.75rem}:host([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root[dir=rtl] .polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{left:.75rem}.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:focus,.polaris-header .utility-menu .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:hover{background-color:RGB(var(--now-color--neutral-3,209,214,214));border:.0625rem solid RGB(var(--now-color--neutral-7,135,147,148))}.polaris-header .utility-menu .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))));margin-block-start:-.5rem;position:absolute;top:50%}:host(:not([dir=rtl])) .polaris-header .utility-menu .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root:not([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{left:.75rem}:host([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root[dir=rtl] .polaris-header .utility-menu .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{right:.75rem}.polaris-header .utility-menu .sn-polaris-nav-header-filter button.input-clear{border:0;display:flex;height:0;opacity:0;padding:0;transition:visibility .2s,opacity 0s linear;visibility:hidden;width:0}.polaris-header .utility-menu sn-drilldown-list{border-bottom:1px solid RGB(var(--now-color--neutral-5,172,180,181));cursor:pointer;position:relative}.polaris-header .utility-menu .concourse-pickers-body{padding:.5rem;padding-block-start:0}.polaris-header .utility-menu .concourse-pickers-body .loader{align-items:center;display:grid;height:10vh;width:100%}.polaris-header .utility-menu .concourse-pickers-body.can-animate-reverse{animation-duration:.25s;animation-name:transitionLeft}.polaris-header .utility-menu .concourse-pickers-body :host([dir=rtl]) .can-animate-reverse{animation-name:transitionRight}.polaris-header .utility-menu .concourse-pickers-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .concourse-pickers-body .concourse-picker-header{border-bottom:1px solid RGB(var(--now-color--neutral-5,172,180,181));color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:grid;font-size:1rem;grid-template-columns:1fr auto auto auto;margin-bottom:.75rem;outline:none}.polaris-header .utility-menu .concourse-pickers-body .concourse-picker-header .header-label{align-items:center;border-radius:.25rem;display:flex;overflow:hidden;padding-block-end:.25rem;padding-block-start:.25rem;padding-inline-end:.25rem}.polaris-header .utility-menu .concourse-pickers-body .concourse-picker-header .header-label span.label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.polaris-header .utility-menu .concourse-pickers-body .concourse-picker-header .header-label span.label:after{content:\\\"\\\";display:block}.polaris-header .utility-menu .concourse-pickers-body .item-container{margin-top:.75rem;max-height:calc(65vh - 6.25rem)}.polaris-header .utility-menu .concourse-pickers-body .item-container.in-overflow{max-height:calc(65vh - 9.0625rem)}@media only screen and (max-height:256px){.polaris-header .utility-menu .concourse-pickers-body .item-container{max-height:-moz-fit-content!important;max-height:fit-content!important}}.polaris-header .utility-menu .picker-item{align-items:center;background-color:rgba(var(--now-color_chrome--brand-9,25,38,38),0);border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;font-size:1rem;justify-content:space-between;margin:.25rem 0;overflow:hidden;padding:.25rem .5rem;text-decoration:none;white-space:nowrap;width:100%}.polaris-header .utility-menu .picker-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.polaris-header .utility-menu .picker-item span:after{content:\\\"\\\";display:block}.polaris-header .utility-menu .picker-item::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .picker-item.selected,.polaris-header .utility-menu .picker-item:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .picker-item.selected .leaf-item-icon,.polaris-header .utility-menu .picker-item:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.polaris-header .utility-menu .picker-item:focus,.polaris-header .utility-menu .picker-item:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .picker-item:focus .leaf-item-icon,.polaris-header .utility-menu .picker-item:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item:focus-visible:hover,.polaris-header .utility-menu .picker-item:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .picker-item:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .picker-item:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .picker-item:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .picker-item:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .picker-item:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .picker-item:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .picker-item:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.polaris-header .utility-menu .picker-item:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .picker-item:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item.selected,.polaris-header .utility-menu .picker-item:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.polaris-header .utility-menu .picker-item{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .utility-menu .picker-item:focus,.polaris-header .utility-menu .picker-item:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header .utility-menu .picker-item.selected{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));border:solid 1px RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}@media(forced-colors:active){.polaris-header .utility-menu .picker-item.selected{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.polaris-header .utility-menu .picker-item.selected:focus,.polaris-header .utility-menu .picker-item.selected:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}.polaris-header .utility-menu .picker-item.selected .label-and-description{color:SelectedItemText}}.polaris-header .utility-menu .picker-item.selected .description{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.polaris-header .utility-menu .picker-item.highlighted-item{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.polaris-header .utility-menu .picker-item.highlighted-item .label,.polaris-header .utility-menu .picker-item.highlighted-item .label>mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.polaris-header .utility-menu .picker-item .label-and-description{display:flex;flex-direction:column;max-width:90%}.polaris-header .utility-menu .picker-item .label-and-description>span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.polaris-header .utility-menu .picker-item .label-and-description>span:after{content:\\\"\\\";display:block}.polaris-header .utility-menu .picker-item .label-and-description .description{color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem}.polaris-header .utility-menu .picker-item:focus-visible mark,.polaris-header .utility-menu .picker-item:hover mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .picker-item:focus-visible .description,.polaris-header .utility-menu .picker-item:focus-visible .label-and-description,.polaris-header .utility-menu .picker-item:hover .description,.polaris-header .utility-menu .picker-item:hover .label-and-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}.polaris-header .utility-menu .picker-item:focus-visible .description .label,.polaris-header .utility-menu .picker-item:focus-visible .label-and-description .label,.polaris-header .utility-menu .picker-item:hover .description .label,.polaris-header .utility-menu .picker-item:hover .label-and-description .label{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))!important}.polaris-header .utility-menu .create-updateset-button,.polaris-header .utility-menu .go-back-button,.polaris-header .utility-menu .open-list-button,.polaris-header .utility-menu .open-record-button,.polaris-header .utility-menu .reset-default-button{align-items:center;align-self:center;border-radius:50%;cursor:pointer;display:flex;padding:.25rem}.polaris-header .utility-menu .create-updateset-button::-moz-focus-inner,.polaris-header .utility-menu .go-back-button::-moz-focus-inner,.polaris-header .utility-menu .open-list-button::-moz-focus-inner,.polaris-header .utility-menu .open-record-button::-moz-focus-inner,.polaris-header .utility-menu .reset-default-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .create-updateset-button.selected,.polaris-header .utility-menu .create-updateset-button:hover,.polaris-header .utility-menu .go-back-button.selected,.polaris-header .utility-menu .go-back-button:hover,.polaris-header .utility-menu .open-list-button.selected,.polaris-header .utility-menu .open-list-button:hover,.polaris-header .utility-menu .open-record-button.selected,.polaris-header .utility-menu .open-record-button:hover,.polaris-header .utility-menu .reset-default-button.selected,.polaris-header .utility-menu .reset-default-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .create-updateset-button.selected .leaf-item-icon,.polaris-header .utility-menu .create-updateset-button:hover .leaf-item-icon,.polaris-header .utility-menu .go-back-button.selected .leaf-item-icon,.polaris-header .utility-menu .go-back-button:hover .leaf-item-icon,.polaris-header .utility-menu .open-list-button.selected .leaf-item-icon,.polaris-header .utility-menu .open-list-button:hover .leaf-item-icon,.polaris-header .utility-menu .open-record-button.selected .leaf-item-icon,.polaris-header .utility-menu .open-record-button:hover .leaf-item-icon,.polaris-header .utility-menu .reset-default-button.selected .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.polaris-header .utility-menu .create-updateset-button:focus,.polaris-header .utility-menu .create-updateset-button:focus-visible,.polaris-header .utility-menu .go-back-button:focus,.polaris-header .utility-menu .go-back-button:focus-visible,.polaris-header .utility-menu .open-list-button:focus,.polaris-header .utility-menu .open-list-button:focus-visible,.polaris-header .utility-menu .open-record-button:focus,.polaris-header .utility-menu .open-record-button:focus-visible,.polaris-header .utility-menu .reset-default-button:focus,.polaris-header .utility-menu .reset-default-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .create-updateset-button:focus .leaf-item-icon,.polaris-header .utility-menu .create-updateset-button:focus-visible .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus-visible .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus-visible .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus-visible .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .create-updateset-button:focus-visible:hover,.polaris-header .utility-menu .create-updateset-button:focus:hover,.polaris-header .utility-menu .go-back-button:focus-visible:hover,.polaris-header .utility-menu .go-back-button:focus:hover,.polaris-header .utility-menu .open-list-button:focus-visible:hover,.polaris-header .utility-menu .open-list-button:focus:hover,.polaris-header .utility-menu .open-record-button:focus-visible:hover,.polaris-header .utility-menu .open-record-button:focus:hover,.polaris-header .utility-menu .reset-default-button:focus-visible:hover,.polaris-header .utility-menu .reset-default-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .create-updateset-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .create-updateset-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .create-updateset-button:-moz-focusring,.polaris-header .utility-menu .go-back-button:-moz-focusring,.polaris-header .utility-menu .open-list-button:-moz-focusring,.polaris-header .utility-menu .open-record-button:-moz-focusring,.polaris-header .utility-menu .reset-default-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .create-updateset-button:-moz-focusring .leaf-item-icon,.polaris-header .utility-menu .go-back-button:-moz-focusring .leaf-item-icon,.polaris-header .utility-menu .open-list-button:-moz-focusring .leaf-item-icon,.polaris-header .utility-menu .open-record-button:-moz-focusring .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .create-updateset-button:-moz-focusring:hover,.polaris-header .utility-menu .go-back-button:-moz-focusring:hover,.polaris-header .utility-menu .open-list-button:-moz-focusring:hover,.polaris-header .utility-menu .open-record-button:-moz-focusring:hover,.polaris-header .utility-menu .reset-default-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .create-updateset-button:-moz-focusring:hover .leaf-item-icon,.polaris-header .utility-menu .go-back-button:-moz-focusring:hover .leaf-item-icon,.polaris-header .utility-menu .open-list-button:-moz-focusring:hover .leaf-item-icon,.polaris-header .utility-menu .open-record-button:-moz-focusring:hover .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .create-updateset-button:focus,.polaris-header .utility-menu .go-back-button:focus,.polaris-header .utility-menu .open-list-button:focus,.polaris-header .utility-menu .open-record-button:focus,.polaris-header .utility-menu .reset-default-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .create-updateset-button:focus .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .create-updateset-button:focus:hover,.polaris-header .utility-menu .go-back-button:focus:hover,.polaris-header .utility-menu .open-list-button:focus:hover,.polaris-header .utility-menu .open-record-button:focus:hover,.polaris-header .utility-menu .reset-default-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .create-updateset-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .go-back-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .open-list-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .open-record-button:focus:hover .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.polaris-header .utility-menu .create-updateset-button:active,.polaris-header .utility-menu .go-back-button:active,.polaris-header .utility-menu .open-list-button:active,.polaris-header .utility-menu .open-record-button:active,.polaris-header .utility-menu .reset-default-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .create-updateset-button:active .leaf-item-icon,.polaris-header .utility-menu .go-back-button:active .leaf-item-icon,.polaris-header .utility-menu .open-list-button:active .leaf-item-icon,.polaris-header .utility-menu .open-record-button:active .leaf-item-icon,.polaris-header .utility-menu .reset-default-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.polaris-header .utility-menu .create-updateset-button,.polaris-header .utility-menu .go-back-button,.polaris-header .utility-menu .open-list-button,.polaris-header .utility-menu .open-record-button,.polaris-header .utility-menu .reset-default-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .utility-menu .create-updateset-button:focus,.polaris-header .utility-menu .create-updateset-button:hover,.polaris-header .utility-menu .go-back-button:focus,.polaris-header .utility-menu .go-back-button:hover,.polaris-header .utility-menu .open-list-button:focus,.polaris-header .utility-menu .open-list-button:hover,.polaris-header .utility-menu .open-record-button:focus,.polaris-header .utility-menu .open-record-button:hover,.polaris-header .utility-menu .reset-default-button:focus,.polaris-header .utility-menu .reset-default-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header .utility-menu .go-back-button{margin-inline-end:.5rem}.polaris-header .utility-menu mark{background:none;font-weight:bolder}.polaris-header .utility-menu mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .is-filtered:focus-visible .label,.polaris-header .utility-menu .is-filtered:hover .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.polaris-header .utility-menu .is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color,var(--now-color--neutral-4,191,197,198)))!important}.polaris-header .utility-menu span.tooltip-label{display:none}.polaris-header .utility-menu .recentSelections .recentSelectionsHeader{color:var(--now-color--neutral-2,228,230,231);font-size:.75rem;letter-spacing:.05rem;margin-inline-end:.5rem;margin-inline-start:.5rem;text-transform:uppercase}.polaris-header .utility-menu .recentSelections hr{background-color:RGB(var(--now-color_chrome--divider-2,118,132,133));border:none;height:.0625rem;margin:.5rem}.polaris-header .utility-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.polaris-header .utility-menu :host([hidden]){display:none}.polaris-header .utility-menu *,.polaris-header .utility-menu :after,.polaris-header .utility-menu :before{box-sizing:border-box}.polaris-header .utility-menu *{box-sizing:border-box;scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.polaris-header .utility-menu ::-webkit-scrollbar{width:.75rem}.polaris-header .utility-menu ::-webkit-scrollbar-track{border-radius:.5rem}.polaris-header .utility-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.polaris-header .utility-menu .polaris-header-experience-title{align-items:center;background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))));border:1px solid;border-color:RGB(var(--now-unified-nav_contextual-app-pill--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:50px;color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));display:flex;height:2rem;justify-content:center;margin-inline-end:.75rem;margin-inline-start:.75rem;max-width:30vw;outline:none;overflow:hidden;padding-inline-end:1rem;padding-bottom:.5rem;padding-inline-start:1rem;padding-top:.5rem;place-self:center}@media screen and (max-width:530px){.polaris-header .utility-menu .polaris-header-experience-title{max-width:15.3125rem}}.polaris-header .utility-menu .experience-title-icon.polaris-enabled{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .experience-title-icon:not(.polaris-enabled){color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))}.polaris-header .utility-menu .experience-title-favorite-button{align-items:center;border-radius:50%;color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)));cursor:pointer;display:flex;padding:.1875rem}.polaris-header .utility-menu .experience-title-favorite-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .experience-title-favorite-button.selected,.polaris-header .utility-menu .experience-title-favorite-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .experience-title-favorite-button.selected .leaf-item-icon,.polaris-header .utility-menu .experience-title-favorite-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.polaris-header .utility-menu .experience-title-favorite-button:focus,.polaris-header .utility-menu .experience-title-favorite-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .experience-title-favorite-button:focus .leaf-item-icon,.polaris-header .utility-menu .experience-title-favorite-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .experience-title-favorite-button:focus-visible:hover,.polaris-header .utility-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .experience-title-favorite-button:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .experience-title-favorite-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .experience-title-favorite-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .experience-title-favorite-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .experience-title-favorite-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .experience-title-favorite-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .experience-title-favorite-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.polaris-header .utility-menu .experience-title-favorite-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .experience-title-favorite-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.polaris-header .utility-menu .experience-title-favorite-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .utility-menu .experience-title-favorite-button:focus,.polaris-header .utility-menu .experience-title-favorite-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active)and (forced-colors:active){.polaris-header .utility-menu .experience-title-favorite-button.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.polaris-header .utility-menu .experience-title-favorite-button.is-favorite:focus,.polaris-header .utility-menu .experience-title-favorite-button.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}@media(forced-colors:active){.polaris-header .utility-menu .experience-title-favorite-buttonactive{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.polaris-header .utility-menu .experience-title-favorite-buttonactive:focus,.polaris-header .utility-menu .experience-title-favorite-buttonactive:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.polaris-header .utility-menu .experience-title{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));font-size:1rem;font-weight:700;margin-inline-end:.25rem;margin-inline-start:.5rem}@keyframes transitionLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes transitionRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}.polaris-header .utility-menu :host{display:block;height:100%;overflow:hidden}.polaris-header .utility-menu .sn-polaris-tab-content{border-radius:.25rem;display:grid;grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.polaris-header .utility-menu .sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-tab-content.-left{transform:translateX(2rem)}.polaris-header .utility-menu .sn-polaris-tab-content.-right{transform:translateX(-2rem)}.polaris-header .utility-menu .sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.polaris-header .utility-menu .overflow-pill-header{align-items:center;border-bottom:.0625rem solid RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex;flex-direction:column;padding:.125rem 0 .5rem 0}.polaris-header .utility-menu .sn-polaris-nav-header-container{align-items:center;border-bottom:.0625rem solid RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex;gap:.313rem;margin-inline-end:.75rem;margin-inline-start:.75rem;padding:.125rem 0}.polaris-header .utility-menu .sn-polaris-nav-header-container.can-animate{animation-duration:.25s;animation-name:transitionRight}.polaris-header .utility-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-container.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .polaris-header .utility-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionRight}.polaris-header .utility-menu .sn-polaris-nav-header{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;gap:.5rem;grid-template-columns:min-content 1fr;line-height:1;padding-block:.75rem;padding-inline-end:0;padding-inline-start:0}.polaris-header .utility-menu .sn-polaris-nav-header .menu-item-with-icon{align-items:center;display:flex}.polaris-header .utility-menu .sn-polaris-nav-header .menu-item-with-icon .sn-polaris-nav-header-icon{margin-inline-end:.25rem}.polaris-header .utility-menu .sn-polaris-nav-header span{font-size:1rem}.polaris-header .utility-menu .sn-polaris-nav-header.is-single{flex-grow:1;grid-template-columns:1fr}.polaris-header .utility-menu .sn-polaris-nav-header .sn-polaris-nav-header-controls{position:relative;white-space:nowrap}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled{flex-grow:1}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled now-icon{margin-inline-start:.25rem}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single){border-radius:.25rem}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.polaris-header .utility-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.polaris-header .utility-menu .sn-polaris-nav-header.nav-overflow{margin-inline-end:.75rem;margin-inline-start:.75rem}.polaris-header .utility-menu .sn-polaris-overflow-body .drilldown-items{padding-block-end:.75rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.polaris-header .utility-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-duration:.25s;animation-name:transitionLeft}.polaris-header .utility-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:calc(65vh - 2.8125rem)}.polaris-header .utility-menu .sn-polaris-overflow-body.is-drilled:not(.chat-button){overflow:auto}.polaris-header .utility-menu .sn-polaris-overflow-body.is-drilldown-list{max-height:65vh;overflow:hidden auto}:host([dir=rtl]) .polaris-header .utility-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-name:transitionRight}.polaris-header .utility-menu .sn-polaris-overflow-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-overflow-body .sn-polaris-nav-header{border-bottom:none}@media only screen and (max-height:256px){.polaris-header .utility-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:none!important}}.polaris-header .utility-menu sn-drilldown-list{border-bottom:1px solid RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)))}.polaris-header .utility-menu sn-drilldown-list:last-child{border-bottom:none}.polaris-header .utility-menu .sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.polaris-header .utility-menu .sn-polaris-nav-btn now-icon.pinned-icon{transform:rotate(-45deg)}@media(forced-colors:active){.polaris-header .utility-menu .sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.polaris-header .utility-menu .sn-polaris-nav-btn.is-pinned:focus,.polaris-header .utility-menu .sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.polaris-header .utility-menu .sn-polaris-nav-btn.is-pinned now-icon.pinned-icon{transform:rotate(-90deg)}.polaris-header .utility-menu .sn-polaris-nav-btn.is-pinned.reversed now-icon.pinned-icon{transform:rotate(0deg)}.polaris-header .utility-menu .sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .utility-menu .sn-polaris-nav-btn.selected,.polaris-header .utility-menu .sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .sn-polaris-nav-btn.selected .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.polaris-header .utility-menu .sn-polaris-nav-btn:focus,.polaris-header .utility-menu .sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-btn:focus .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .sn-polaris-nav-btn:focus-visible:hover,.polaris-header .utility-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.polaris-header .utility-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .utility-menu .sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.polaris-header .utility-menu .sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.polaris-header .utility-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.polaris-header .utility-menu .sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .utility-menu .sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.polaris-header .utility-menu .sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .utility-menu .sn-polaris-nav-btn:focus,.polaris-header .utility-menu .sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header .utility-menu .sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-nav-btn.can-animate now-icon.pinned-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.polaris-header .utility-menu .sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}.polaris-header .contextual-zone-button{align-items:center;background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:2rem;margin:0 .25rem;outline:none;position:relative;width:2rem}.polaris-header .contextual-zone-button.polaris-enabled{color:RGB(var(--now-unified-nav_utility-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.polaris-header .contextual-zone-button:not(.polaris-enabled){color:RGB(var(--now-color--neutral-4,191,197,198))}@media(forced-colors:active){.polaris-header .contextual-zone-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .contextual-zone-button:focus,.polaris-header .contextual-zone-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header .contextual-zone-button .contextual-zone-icon{margin:auto;vertical-align:inherit}.polaris-header .contextual-zone-button .utility-badge{inset-block-start:-.125rem;inset-inline-end:-.125rem;position:absolute}.polaris-header .contextual-zone-button .utility-badge-dot{background-color:RGB(var(--now-badge--secondary_info--background-color,--now-color_alert--info-0));border-color:RGB(var(--now-badge--secondary_info--border-color,--now-color_alert--info-1));border-radius:50%;height:.5rem;inset-block-start:.25rem;inset-inline-end:.25rem;position:absolute;width:.5rem}.polaris-header .contextual-zone-button .utility-presence{inset-block-end:1px;inset-inline-end:1px;position:absolute}.polaris-header .contextual-zone-button.pinned{display:none}.polaris-header .contextual-zone-button.is-placeholder{margin:0;opacity:0;pointer-events:none;visibility:hidden;width:0}.polaris-header .contextual-zone-button.tab-overflow{justify-content:center;padding-inline-end:.5rem;padding-inline-start:.5rem}.polaris-header .contextual-zone-button:not(.user-menu){outline:solid var(--now-unified-nav_nav-menu-trigger--border-size,0) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0))}.polaris-header .contextual-zone-button:not(.user-menu)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .contextual-zone-button:not(.user-menu).selected,.polaris-header .contextual-zone-button:not(.user-menu):hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-zone-button:not(.user-menu).selected .leaf-item-icon,.polaris-header .contextual-zone-button:not(.user-menu):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.polaris-header .contextual-zone-button:not(.user-menu):focus,.polaris-header .contextual-zone-button:not(.user-menu):focus-visible{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-zone-button:not(.user-menu):focus .leaf-item-icon,.polaris-header .contextual-zone-button:not(.user-menu):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-zone-button:not(.user-menu):focus-visible:hover,.polaris-header .contextual-zone-button:not(.user-menu):focus:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-zone-button:not(.user-menu):focus-visible:hover .leaf-item-icon,.polaris-header .contextual-zone-button:not(.user-menu):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-zone-button:not(.user-menu):-moz-focusring{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-zone-button:not(.user-menu):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-zone-button:not(.user-menu):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-zone-button:not(.user-menu):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .contextual-zone-button:not(.user-menu):focus{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-zone-button:not(.user-menu):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-zone-button:not(.user-menu):focus:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_utility-menu-trigger--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-zone-button:not(.user-menu):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.polaris-header .contextual-zone-button:not(.user-menu):active{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-zone-button:not(.user-menu):active .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media(forced-colors:active){.polaris-header .contextual-zone-button:not(.user-menu){background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.polaris-header .contextual-zone-button:not(.user-menu):focus,.polaris-header .contextual-zone-button:not(.user-menu):hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.polaris-header .contextual-zone-button:not(.user-menu):hover{outline:solid var(--now-unified-nav_nav-menu-trigger--border-size--hover,var(--now-unified-nav_nav-menu-trigger--border-size,0)) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color--hover,var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha--hover,var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0)))}.polaris-header .contextual-zone-button:not(.user-menu).indicator-on{border:var(--now-unified-nav_nav-menu-trigger--border-size--active,.125rem) solid RGB(var(--now-unified-nav_nav-menu-trigger--border-color--active,var(--now-color_presence--busy,234,60,16)))}.polaris-header .contextual-menu-item{align-items:center;background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),0);border-radius:1.0625rem;color:RGB(var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1rem;height:2rem;margin:0;outline:none;position:relative;text-transform:capitalize;width:2rem}:host(:not([dir=rtl])) .polaris-header .contextual-menu-item,:root:not([dir=rtl]) .polaris-header .contextual-menu-item{text-align:left}:host([dir=rtl]) .polaris-header .contextual-menu-item,:root[dir=rtl] .polaris-header .contextual-menu-item{text-align:right}.polaris-header .contextual-menu-item.action-button{--now-color_focus-ring:RGBA($now-unified-nav_utility-menu-trigger--background-color,0);--now-button--bare_secondary--background-color--hover:RGB($now-unified-nav_utility-menu-trigger--background-color--hover);border-radius:.25rem;width:auto}.polaris-header .contextual-menu-item-label{color:RGB(var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));margin-inline-start:.5rem;overflow:hidden;text-overflow:ellipsis;width:100%;width:max-content}:host(:not([dir=rtl])) .polaris-header .contextual-menu-item-label,:root:not([dir=rtl]) .polaris-header .contextual-menu-item-label{text-align:left}:host([dir=rtl]) .polaris-header .contextual-menu-item-label,:root[dir=rtl] .polaris-header .contextual-menu-item-label{text-align:right}.polaris-header .contextual-menu-item:not(.action_button)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-header .contextual-menu-item:not(.action_button).selected,.polaris-header .contextual-menu-item:not(.action_button):hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-menu-item:not(.action_button).selected .leaf-item-icon,.polaris-header .contextual-menu-item:not(.action_button):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.polaris-header .contextual-menu-item:not(.action_button):focus,.polaris-header .contextual-menu-item:not(.action_button):focus-visible{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-menu-item:not(.action_button):focus .leaf-item-icon,.polaris-header .contextual-menu-item:not(.action_button):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-menu-item:not(.action_button):focus-visible:hover,.polaris-header .contextual-menu-item:not(.action_button):focus:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-menu-item:not(.action_button):focus-visible:hover .leaf-item-icon,.polaris-header .contextual-menu-item:not(.action_button):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-menu-item:not(.action_button):-moz-focusring{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-menu-item:not(.action_button):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-menu-item:not(.action_button):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-menu-item:not(.action_button):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.polaris-header .contextual-menu-item:not(.action_button):focus{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.polaris-header .contextual-menu-item:not(.action_button):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-menu-item:not(.action_button):focus:hover{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-menu-item:not(.action_button):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.polaris-header .contextual-menu-item:not(.action_button):active{background-color:RGBA(var(--now-unified-nav_utility-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.polaris-header .contextual-menu-item:not(.action_button):active .leaf-item-icon{color:RGB(var(--now-unified-nav_utility-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.polaris-header .contextual-menu-item now-icon{color:RGB(var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.polaris-header .in-overflow-menu sn-help-panel{position:static}.polaris-header .notifications-container{--sn-notification-menu-trigger--background-color:var(--now-unified-nav_nav-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));--sn-notification-menu--notification-color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--sn-notification-menu-subitem--color:var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233));--sn-notification-menu_unread-notification-icon--color:var(--now-unified-nav_unread-notification-icon--color,104,171,218);--sn-notification-menu-trigger--background-color--hover:var(--now-unified-nav_nav-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));--sn-notification-menu-trigger--background-color--active:var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))));--sn-notification-menu-item--color:var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255));--sn-notification-menu_menu_sublabel--color:var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198));--sn-notification-menu--border-color:var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110));--sn-notification-menu-z-index:1000;--sn-notification-banner-vertical-offset:4.25rem;--sn-notification-banner-horizontal-offset:1.5rem;--sn-notification-menu_button--background-color:var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97));--sn-notification-menu_button--background-color--hover:var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));--sn-notification-menu_button--background-color--active:var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));--sn-notification-menu_button--color:var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)));--sn-notification-menu_button--color--hover:var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--sn-notification-menu_button--color--active:var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--sn-notification-menu_button--background-color-alpha--hover:var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,0.8));--sn-notification-menu_button--background-color-alpha--active:var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));--sn-notification-menu_focus-ring--color:var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142));--sn-notification-menu_focus-ring-inner--color:var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247))}.polaris-header sn-help-panel{--now-button--secondary--color:var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)));--now-button--secondary--color--active:var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--now-button--secondary--border-color:var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)));--now-button--secondary--border-color--active:var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--now-button--secondary--color--hover:var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--now-button--secondary--border-color--hover:var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));--now-button--secondary--background-color--active:var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));position:relative}.polaris-header .collab-chat-container{max-height:calc(65vh - 6.25rem)}.polaris-header .help-menu-panel.feedbackFormEnabled{height:calc(100% - 64px)}.polaris-header .help-menu-content{height:100%;min-height:20vh}.polaris-header .help-menu-footer{display:flex;height:4rem;width:100%}.polaris-header .help-menu-footer,.polaris-header .help-menu-footer now-button{background-color:RGB(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)))}.polaris-header .help-menu-footer now-button{--now-button--tertiary--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--tertiary--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--color--hover:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--color--active:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color--hover:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--border-color--active:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--tertiary--background-color--hover:var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)));color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));margin:auto}.polaris-header .sn-uxa-analytics-overlay-container{--now-form-field_label--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-heading--header-secondary--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--color--hover:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--color--active:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--border-color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--border-color--hover:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button--secondary--border-color--active:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--secondary--color:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--secondary--color--hover:var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))}.polaris-header :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.polaris-header :host([hidden]){display:none}.polaris-header *,.polaris-header :after,.polaris-header :before{box-sizing:border-box}.polaris-header .polaris-search{position:relative;white-space:nowrap}.polaris-header .polaris-search.tiny-search{max-width:320px}.polaris-header .polaris-search:not(.polaris-enabled){max-width:480px;width:100%}@media screen and (max-width:680px){.polaris-header .polaris-search{max-width:300px}}.polaris-header-controls{display:flex;grid-template-columns:auto min-content;outline:none;place-items:center end;width:100%}.polaris-header-controls.is-contextual-menu-pinned.can-animate{transition:width .25s cubic-bezier(0,.93,.46,1)}.search-container{display:flex;flex-direction:row-reverse;flex-grow:1}.utility-menu-container{flex-grow:0;flex-shrink:1}@media screen and (max-width:1480px){.polaris-header .polaris-header-experience-title{max-width:21.25rem}}@media screen and (max-width:420px){.polaris-header .logo-area .tab-name.shown{pointer-events:none;visibility:hidden}}@media screen and (max-width:1280px){.polaris-header{grid-template-columns:1fr min-content 1fr}.polaris-header.is-pinned{grid-template-columns:2fr min-content 1fr}.polaris-header.is-pinned.is-contextual-menu-pinned{grid-template-columns:1fr min-content 1fr}.polaris-header.is-contextual-menu-pinned:not(.is-pinned){grid-template-columns:1fr min-content 1.4fr}}@media screen and (max-width:1024px){.polaris-header{grid-template-columns:1fr min-content 1fr}.polaris-header .polaris-header-experience-title{max-width:13.75rem}.polaris-header.search-open{grid-template-columns:.75fr 0 1.25fr}}@media screen and (max-width:992px){.polaris-header.is-pinned{grid-template-columns:1.5fr 0 .5fr}.polaris-header.is-pinned .polaris-header-experience-title{opacity:0}.polaris-header.is-contextual-menu-pinned{grid-template-columns:1.5fr 0 .5fr}.polaris-header.is-contextual-menu-pinned .polaris-header-experience-title{opacity:0}.polaris-header.search-open{grid-template-columns:1fr 0 1fr}}@media screen and (max-width:768px){.polaris-header .polaris-header-experience-title{max-width:11.25rem}.polaris-header.search-open{grid-template-columns:.75fr 0 1.25fr}}@media screen and (max-width:640px){.polaris-header .polaris-header-experience-title{max-width:8.75rem}.polaris-header.search-open{grid-template-columns:1fr 0 1fr}}@media screen and (max-width:530px){.polaris-header{grid-template-columns:1fr 0 min-content}.polaris-header.search-open{grid-template-columns:0 0 1fr}.polaris-header-experience-title{opacity:0}}@media screen and (max-width:325px){.polaris-header.search-open{grid-template-columns:1fr 0 min-content}}.experience-title-icon.polaris-enabled{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.experience-title-icon:not(.polaris-enabled){color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))}.experience-title-favorite-button{align-items:center;border-radius:50%;color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)));cursor:pointer;display:flex;padding:.1875rem}.experience-title-favorite-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.experience-title-favorite-button.selected,.experience-title-favorite-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button.selected .leaf-item-icon,.experience-title-favorite-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.experience-title-favorite-button:focus,.experience-title-favorite-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:focus .leaf-item-icon,.experience-title-favorite-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:focus-visible:hover,.experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:focus-visible:hover .leaf-item-icon,.experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.experience-title-favorite-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.experience-title-favorite-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.experience-title-favorite-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.experience-title-favorite-button:focus,.experience-title-favorite-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active)and (forced-colors:active){.experience-title-favorite-button.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.experience-title-favorite-button.is-favorite:focus,.experience-title-favorite-button.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}@media(forced-colors:active){.experience-title-favorite-buttonactive{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.experience-title-favorite-buttonactive:focus,.experience-title-favorite-buttonactive:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.experience-title{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));font-size:1rem;font-weight:700;margin-inline-end:.25rem;margin-inline-start:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.experience-title:after{content:\\\"\\\";display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-polaris-nav-header-filter{flex-grow:1;position:relative;white-space:nowrap}.sn-polaris-nav-header-filter.can-animate input.navigation-filter{transition:background-color .25s cubic-bezier(0,.93,.46,1),border-color .25s cubic-bezier(0,.93,.46,1),box-shadow .25s cubic-bezier(0,.93,.46,1),color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-header-filter.can-animate .sn-polaris-nav-header-filter{transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-header-filter input.navigation-filter{background-color:RGB(var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97)));border:.0625rem solid RGB(var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;height:2rem;line-height:2rem;outline:none;padding-inline-start:2.5rem;position:relative;width:100%}.sn-polaris-nav-header-filter input.navigation-filter::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus,.sn-polaris-nav-header-filter input.navigation-filter:focus{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--opened,var(--now-color--neutral-0,255,255,255)));border:.125rem solid RGB(var(--now-unified-nav_menu-filter--border-color--opened,var(--now-color--focus-1,77,160,176)));box-shadow:0 0 0 .25rem rgba(60,89,231,.15);color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus::placeholder,.sn-polaris-nav-header-filter input.navigation-filter:focus::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--focus,var(--now-color--neutral-18,22,27,28)))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus:not(:placeholder-shown),.sn-polaris-nav-header-filter input.navigation-filter:focus:not(:placeholder-shown){padding-inline-end:2.5rem}.sn-polaris-nav-header-filter input.navigation-filter.has-focus~now-icon[icon=filter-outline],.sn-polaris-nav-header-filter input.navigation-filter:focus~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--opened,var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28))))}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129)));color:RGB(var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255)));opacity:var(--now-opacity--most,.8)}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{align-items:center;background-color:transparent;border:none;border-radius:50%;color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)));cursor:pointer;height:1.5rem;justify-content:center;margin-block-start:-.5rem;opacity:1;outline:none;position:absolute;top:39%;visibility:visible;width:1.5rem}:host(:not([dir=rtl])) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root:not([dir=rtl]) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{right:.75rem}:host([dir=rtl]) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root[dir=rtl] .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{left:.75rem}.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:focus,.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:hover{background-color:RGB(var(--now-color--neutral-3,209,214,214));border:.0625rem solid RGB(var(--now-color--neutral-7,135,147,148))}.sn-polaris-nav-header-filter now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))));margin-block-start:-.5rem;position:absolute;top:50%}:host(:not([dir=rtl])) .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root:not([dir=rtl]) .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{left:.75rem}:host([dir=rtl]) .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root[dir=rtl] .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{right:.75rem}.sn-polaris-nav-header-filter button.input-clear{border:0;display:flex;height:0;opacity:0;padding:0;transition:visibility .2s,opacity 0s linear;visibility:hidden;width:0}@keyframes transitionLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes transitionRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}sn-drilldown-list{border-bottom:1px solid RGB(var(--now-color--neutral-5,172,180,181));cursor:pointer;position:relative}sn-drilldown-list:last-child{border-bottom:none}.concourse-pickers-body{padding:.5rem;padding-block-start:0}.concourse-pickers-body .loader{align-items:center;display:grid;height:10vh;width:100%}.concourse-pickers-body.can-animate-reverse{animation-duration:.25s;animation-name:transitionLeft}.concourse-pickers-body :host([dir=rtl]) .can-animate-reverse{animation-name:transitionRight}.concourse-pickers-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.concourse-pickers-body .concourse-picker-header{border-bottom:1px solid RGB(var(--now-color--neutral-5,172,180,181));color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:grid;font-size:1rem;grid-template-columns:1fr auto auto auto;margin-bottom:.75rem;outline:none}.concourse-pickers-body .concourse-picker-header .header-label{align-items:center;border-radius:.25rem;display:flex;overflow:hidden;padding-block-end:.25rem;padding-block-start:.25rem;padding-inline-end:.25rem}.concourse-pickers-body .concourse-picker-header .header-label span.label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.concourse-pickers-body .concourse-picker-header .header-label span.label:after{content:\\\"\\\";display:block}.concourse-pickers-body .item-container{margin-top:.75rem;max-height:calc(65vh - 6.25rem)}.concourse-pickers-body .item-container.in-overflow{max-height:calc(65vh - 9.0625rem)}@media only screen and (max-height:256px){.concourse-pickers-body .item-container{max-height:-moz-fit-content!important;max-height:fit-content!important}}.picker-item{align-items:center;background-color:rgba(var(--now-color_chrome--brand-9,25,38,38),0);border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;font-size:1rem;justify-content:space-between;margin:.25rem 0;padding:.25rem .5rem;text-decoration:none;width:100%}.picker-item,.picker-item span{overflow:hidden;white-space:nowrap}.picker-item span{text-overflow:ellipsis}.picker-item span:after{content:\\\"\\\";display:block}.picker-item::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.picker-item.selected,.picker-item:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.picker-item.selected .leaf-item-icon,.picker-item:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.picker-item:focus,.picker-item:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.picker-item:focus .leaf-item-icon,.picker-item:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item:focus-visible:hover,.picker-item:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.picker-item:focus-visible:hover .leaf-item-icon,.picker-item:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.picker-item:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.picker-item:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.picker-item:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.picker-item:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.picker-item:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.picker-item:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.picker-item:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item.selected,.picker-item:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.picker-item{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.picker-item:focus,.picker-item:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.picker-item.selected{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));border:solid 1px RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}@media(forced-colors:active){.picker-item.selected{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.picker-item.selected:focus,.picker-item.selected:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}.picker-item.selected .label-and-description{color:SelectedItemText}}.picker-item.selected .description{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.picker-item.highlighted-item{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.picker-item.highlighted-item .label,.picker-item.highlighted-item .label>mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.picker-item .label-and-description{display:flex;flex-direction:column;max-width:90%}.picker-item .label-and-description>span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.picker-item .label-and-description>span:after{content:\\\"\\\";display:block}.picker-item .label-and-description .description{color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem}.picker-item:focus-visible mark,.picker-item:hover mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.picker-item:focus-visible .description,.picker-item:focus-visible .label-and-description,.picker-item:hover .description,.picker-item:hover .label-and-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}.picker-item:focus-visible .description .label,.picker-item:focus-visible .label-and-description .label,.picker-item:hover .description .label,.picker-item:hover .label-and-description .label{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))!important}.create-updateset-button,.go-back-button,.open-list-button,.open-record-button,.reset-default-button{align-items:center;align-self:center;border-radius:50%;cursor:pointer;display:flex;padding:.25rem}.create-updateset-button::-moz-focus-inner,.go-back-button::-moz-focus-inner,.open-list-button::-moz-focus-inner,.open-record-button::-moz-focus-inner,.reset-default-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.create-updateset-button.selected,.create-updateset-button:hover,.go-back-button.selected,.go-back-button:hover,.open-list-button.selected,.open-list-button:hover,.open-record-button.selected,.open-record-button:hover,.reset-default-button.selected,.reset-default-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.create-updateset-button.selected .leaf-item-icon,.create-updateset-button:hover .leaf-item-icon,.go-back-button.selected .leaf-item-icon,.go-back-button:hover .leaf-item-icon,.open-list-button.selected .leaf-item-icon,.open-list-button:hover .leaf-item-icon,.open-record-button.selected .leaf-item-icon,.open-record-button:hover .leaf-item-icon,.reset-default-button.selected .leaf-item-icon,.reset-default-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.create-updateset-button:focus,.create-updateset-button:focus-visible,.go-back-button:focus,.go-back-button:focus-visible,.open-list-button:focus,.open-list-button:focus-visible,.open-record-button:focus,.open-record-button:focus-visible,.reset-default-button:focus,.reset-default-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.create-updateset-button:focus .leaf-item-icon,.create-updateset-button:focus-visible .leaf-item-icon,.go-back-button:focus .leaf-item-icon,.go-back-button:focus-visible .leaf-item-icon,.open-list-button:focus .leaf-item-icon,.open-list-button:focus-visible .leaf-item-icon,.open-record-button:focus .leaf-item-icon,.open-record-button:focus-visible .leaf-item-icon,.reset-default-button:focus .leaf-item-icon,.reset-default-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.create-updateset-button:focus-visible:hover,.create-updateset-button:focus:hover,.go-back-button:focus-visible:hover,.go-back-button:focus:hover,.open-list-button:focus-visible:hover,.open-list-button:focus:hover,.open-record-button:focus-visible:hover,.open-record-button:focus:hover,.reset-default-button:focus-visible:hover,.reset-default-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.create-updateset-button:focus-visible:hover .leaf-item-icon,.create-updateset-button:focus:hover .leaf-item-icon,.go-back-button:focus-visible:hover .leaf-item-icon,.go-back-button:focus:hover .leaf-item-icon,.open-list-button:focus-visible:hover .leaf-item-icon,.open-list-button:focus:hover .leaf-item-icon,.open-record-button:focus-visible:hover .leaf-item-icon,.open-record-button:focus:hover .leaf-item-icon,.reset-default-button:focus-visible:hover .leaf-item-icon,.reset-default-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.create-updateset-button:-moz-focusring,.go-back-button:-moz-focusring,.open-list-button:-moz-focusring,.open-record-button:-moz-focusring,.reset-default-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.create-updateset-button:-moz-focusring .leaf-item-icon,.go-back-button:-moz-focusring .leaf-item-icon,.open-list-button:-moz-focusring .leaf-item-icon,.open-record-button:-moz-focusring .leaf-item-icon,.reset-default-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.create-updateset-button:-moz-focusring:hover,.go-back-button:-moz-focusring:hover,.open-list-button:-moz-focusring:hover,.open-record-button:-moz-focusring:hover,.reset-default-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.create-updateset-button:-moz-focusring:hover .leaf-item-icon,.go-back-button:-moz-focusring:hover .leaf-item-icon,.open-list-button:-moz-focusring:hover .leaf-item-icon,.open-record-button:-moz-focusring:hover .leaf-item-icon,.reset-default-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.create-updateset-button:focus,.go-back-button:focus,.open-list-button:focus,.open-record-button:focus,.reset-default-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.create-updateset-button:focus .leaf-item-icon,.go-back-button:focus .leaf-item-icon,.open-list-button:focus .leaf-item-icon,.open-record-button:focus .leaf-item-icon,.reset-default-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.create-updateset-button:focus:hover,.go-back-button:focus:hover,.open-list-button:focus:hover,.open-record-button:focus:hover,.reset-default-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.create-updateset-button:focus:hover .leaf-item-icon,.go-back-button:focus:hover .leaf-item-icon,.open-list-button:focus:hover .leaf-item-icon,.open-record-button:focus:hover .leaf-item-icon,.reset-default-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.create-updateset-button:active,.go-back-button:active,.open-list-button:active,.open-record-button:active,.reset-default-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.create-updateset-button:active .leaf-item-icon,.go-back-button:active .leaf-item-icon,.open-list-button:active .leaf-item-icon,.open-record-button:active .leaf-item-icon,.reset-default-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.create-updateset-button,.go-back-button,.open-list-button,.open-record-button,.reset-default-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.create-updateset-button:focus,.create-updateset-button:hover,.go-back-button:focus,.go-back-button:hover,.open-list-button:focus,.open-list-button:hover,.open-record-button:focus,.open-record-button:hover,.reset-default-button:focus,.reset-default-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.go-back-button{margin-inline-end:.5rem}mark{background:none;font-weight:bolder}mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.is-filtered:focus-visible .label,.is-filtered:hover .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color,var(--now-color--neutral-4,191,197,198)))!important}span.tooltip-label{display:none}.recentSelections .recentSelectionsHeader{color:var(--now-color--neutral-2,228,230,231);font-size:.75rem;letter-spacing:.05rem;margin-inline-end:.5rem;margin-inline-start:.5rem;text-transform:uppercase}.recentSelections hr{background-color:RGB(var(--now-color_chrome--divider-2,118,132,133));border:none;height:.0625rem;margin:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../../../assets/bg-wave.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-tree-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-tree-menu :host([hidden]){display:none}.sn-tree-menu *,.sn-tree-menu :after,.sn-tree-menu :before{box-sizing:border-box}.sn-tree-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-tree-menu ::-webkit-scrollbar{width:.75rem}.sn-tree-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-tree-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-tree-menu :host{display:block;height:100%}.sn-tree-menu .sn-polaris-tab-content{grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-tree-menu .sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-tree-menu .sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-tree-menu .sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-tree-menu .sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.sn-tree-menu .sn-polaris-nav-body>sn-collapsible-list{margin:0 .25rem}.sn-overflow-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-overflow-menu :host([hidden]){display:none}.sn-overflow-menu *,.sn-overflow-menu :after,.sn-overflow-menu :before{box-sizing:border-box}.sn-overflow-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-overflow-menu ::-webkit-scrollbar{width:.75rem}.sn-overflow-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-overflow-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-overflow-menu .polaris-header-experience-title{align-items:center;background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))));border:1px solid;border-color:RGB(var(--now-unified-nav_contextual-app-pill--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:50px;color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));display:flex;height:2rem;justify-content:center;margin-inline-end:.75rem;margin-inline-start:.75rem;max-width:30vw;outline:none;overflow:hidden;padding-inline-end:1rem;padding-bottom:.5rem;padding-inline-start:1rem;padding-top:.5rem;place-self:center}@media screen and (max-width:530px){.sn-overflow-menu .polaris-header-experience-title{max-width:15.3125rem}}.sn-overflow-menu .experience-title-icon.polaris-enabled{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .experience-title-icon:not(.polaris-enabled){color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))}.sn-overflow-menu .experience-title-favorite-button{align-items:center;border-radius:50%;color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)));cursor:pointer;display:flex;padding:.1875rem}.sn-overflow-menu .experience-title-favorite-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .experience-title-favorite-button.selected,.sn-overflow-menu .experience-title-favorite-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button.selected .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-overflow-menu .experience-title-favorite-button:focus,.sn-overflow-menu .experience-title-favorite-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:focus .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:focus-visible:hover,.sn-overflow-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:focus-visible:hover .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .experience-title-favorite-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-overflow-menu .experience-title-favorite-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-overflow-menu .experience-title-favorite-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-overflow-menu .experience-title-favorite-button:focus,.sn-overflow-menu .experience-title-favorite-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active)and (forced-colors:active){.sn-overflow-menu .experience-title-favorite-button.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .experience-title-favorite-button.is-favorite:focus,.sn-overflow-menu .experience-title-favorite-button.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}@media(forced-colors:active){.sn-overflow-menu .experience-title-favorite-buttonactive{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .experience-title-favorite-buttonactive:focus,.sn-overflow-menu .experience-title-favorite-buttonactive:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-overflow-menu .experience-title{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));font-size:1rem;font-weight:700;margin-inline-end:.25rem;margin-inline-start:.5rem}.sn-overflow-menu :host{display:block;height:100%;overflow:hidden}.sn-overflow-menu .sn-polaris-tab-content{border-radius:.25rem;display:grid;grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-overflow-menu .sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-overflow-menu .sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-overflow-menu .sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.sn-overflow-menu .overflow-pill-header{flex-direction:column;padding:.125rem 0 .5rem 0}.sn-overflow-menu .overflow-pill-header,.sn-overflow-menu .sn-polaris-nav-header-container{align-items:center;border-bottom:.0625rem solid RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex}.sn-overflow-menu .sn-polaris-nav-header-container{gap:.313rem;margin-inline-end:.75rem;margin-inline-start:.75rem;padding:.125rem 0}.sn-overflow-menu .sn-polaris-nav-header-container.can-animate{animation-duration:.25s;animation-name:transitionRight}.sn-overflow-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-nav-header-container.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionRight}.sn-overflow-menu .sn-polaris-nav-header{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;gap:.5rem;grid-template-columns:min-content 1fr;line-height:1;padding-block:.75rem;padding-inline-end:0;padding-inline-start:0}.sn-overflow-menu .sn-polaris-nav-header .menu-item-with-icon{align-items:center;display:flex}.sn-overflow-menu .sn-polaris-nav-header .menu-item-with-icon .sn-polaris-nav-header-icon{margin-inline-end:.25rem}.sn-overflow-menu .sn-polaris-nav-header span{font-size:1rem}.sn-overflow-menu .sn-polaris-nav-header.is-single{flex-grow:1;grid-template-columns:1fr}.sn-overflow-menu .sn-polaris-nav-header .sn-polaris-nav-header-controls{position:relative;white-space:nowrap}.sn-overflow-menu .sn-polaris-nav-header.is-drilled{flex-grow:1}.sn-overflow-menu .sn-polaris-nav-header.is-drilled now-icon{margin-inline-start:.25rem}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single){border-radius:.25rem}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.sn-overflow-menu .sn-polaris-nav-header.nav-overflow{margin-inline-end:.75rem;margin-inline-start:.75rem}.sn-overflow-menu .sn-polaris-overflow-body .drilldown-items{padding-block-end:.75rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-duration:.25s;animation-name:transitionLeft}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:calc(65vh - 2.8125rem)}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled:not(.chat-button){overflow:auto}.sn-overflow-menu .sn-polaris-overflow-body.is-drilldown-list{max-height:65vh;overflow:hidden auto}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-name:transitionRight}.sn-overflow-menu .sn-polaris-overflow-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-overflow-body .sn-polaris-nav-header{border-bottom:none}@media only screen and (max-height:256px){.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:none!important}}.sn-overflow-menu sn-drilldown-list{border-bottom:1px solid RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)))}.sn-overflow-menu sn-drilldown-list:last-child{border-bottom:none}.sn-overflow-menu .sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.sn-overflow-menu .sn-polaris-nav-btn now-icon.pinned-icon{transform:rotate(-45deg)}@media(forced-colors:active){.sn-overflow-menu .sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned:focus,.sn-overflow-menu .sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned now-icon.pinned-icon{transform:rotate(-90deg)}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned.reversed now-icon.pinned-icon{transform:rotate(0deg)}.sn-overflow-menu .sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .sn-polaris-nav-btn.selected,.sn-overflow-menu .sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn.selected .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-overflow-menu .sn-polaris-nav-btn:focus,.sn-overflow-menu .sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:focus .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:focus-visible:hover,.sn-overflow-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-overflow-menu .sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-overflow-menu .sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-overflow-menu .sn-polaris-nav-btn:focus,.sn-overflow-menu .sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-overflow-menu .sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-nav-btn.can-animate now-icon.pinned-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}@keyframes transitionLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes transitionRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}:host{--panel-max-height:65vh;outline:none}@media only screen and (max-height:256px){:host{--panel-max-height:calc(100vh - 3.25rem - 4px)}}.sn-polaris-nav-header .sn-polaris-nav-header-controls,.sn-polaris-nav-header .sn-polaris-nav-header-filter{top:-1.5rem}:host(.can-animate){transition:opacity .25s cubic-bezier(0,.93,.46,1)}:host(.can-animate) .sn-polaris-nav-body{transition:max-height .25s cubic-bezier(0,.93,.46,1),margin-top .25s cubic-bezier(0,.93,.46,1)}:host(.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-filter{transition:top .25s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate){transition:opacity .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .menu-body:before{transition:top .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .sn-polaris-nav-body{transition:max-height .5s cubic-bezier(0,.93,.46,1),margin-top .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.is-open.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-filter{transition:all .5s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-body{margin-top:2.5rem;max-height:5vh;overflow-x:hidden;overflow-y:auto;padding-block-end:.75rem;padding-block-start:.125rem;padding-inline-end:.5rem;padding-inline-start:.5rem;width:100%}.sn-polaris-nav-body:only-child{background-color:transparent}.sn-polaris-nav-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.polaris-contextual-menu{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:grid;grid-template-rows:.5rem auto 0;max-height:5vh;opacity:0;outline:none;pointer-events:none;position:absolute;right:0;top:3rem;visibility:hidden;width:20rem}.polaris-contextual-menu.is-bar-menu{top:6.25rem}.polaris-contextual-menu.userMenu.polaris-enabled{width:17.5rem}.polaris-contextual-menu.overflowMenu .contextual-menu-content{overflow:hidden}.polaris-contextual-menu.overflowMenu.undrilled:not(.wide-menu) .contextual-menu-content{width:20rem}@media only screen and (max-width:499px){.polaris-contextual-menu.overflowMenu.chat-button .contextual-menu-content{overflow:hidden auto}}.polaris-contextual-menu.wide-menu{width:31.25rem}@media only screen and (max-width:499px){.polaris-contextual-menu.wide-menu{width:20rem}}.polaris-contextual-menu.chat .contextual-menu-header .text-header-area{grid-template-columns:auto min-content min-content}.polaris-contextual-menu.chat .contextual-menu-content{overflow:hidden}.polaris-contextual-menu.reversed{left:0;right:auto}.polaris-contextual-menu.reversed .contextual-menu-top .left{border-left:0;border-radius:0 .5rem 0 0;border-right:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-top:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)))}.polaris-contextual-menu.reversed .contextual-menu-top .right{border-left:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem 0 0 0;border-right:0;border-top:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)))}.polaris-contextual-menu:before{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);bottom:0;content:\\\"\\\";left:0;position:absolute;right:0;top:.1875rem}.polaris-contextual-menu.can-animate,.polaris-contextual-menu.can-animate .contextual-menu-content,.polaris-contextual-menu.can-animate .contextual-menu-header,.polaris-contextual-menu.can-animate .contextual-menu-top .center,.polaris-contextual-menu.can-animate .contextual-menu-top .center:before,.polaris-contextual-menu.can-animate .contextual-menu-top .left,.polaris-contextual-menu.can-animate .contextual-menu-top .right{transition:all .25s cubic-bezier(0,.93,.46,1)}.polaris-contextual-menu.is-visible{max-height:var(--panel-max-height);opacity:1;pointer-events:all;visibility:visible}.polaris-contextual-menu.is-visible .contextual-menu-content,.polaris-contextual-menu.is-visible .contextual-menu-header{top:0}.polaris-contextual-menu.is-contextual-menu-pinned{grid-template-rows:0 auto 0;height:calc(100vh - 3.25rem - var(--now-unified-nav_header--border-size, 0px));margin-block-start:0;max-height:none;opacity:1;pointer-events:all;top:calc(3.25rem + var(--now-unified-nav_header--border-size, 0px))}:host(:not([dir=rtl])) .polaris-contextual-menu.is-contextual-menu-pinned,:root:not([dir=rtl]) .polaris-contextual-menu.is-contextual-menu-pinned{right:0}:host([dir=rtl]) .polaris-contextual-menu.is-contextual-menu-pinned,:root[dir=rtl] .polaris-contextual-menu.is-contextual-menu-pinned{left:0}.polaris-contextual-menu.is-contextual-menu-pinned:before{display:none}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-top{height:0}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-top .left,.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-top .right{border-radius:0;height:0}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-top .center{height:0;width:0}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-top .center:before{border-left:0;border-top:0;box-shadow:none;height:0;left:.4375rem;width:0}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-body:not(.polaris-enabled){background-color:RGB(var(var(--now-color_chrome--brand-5,41,63,64),41,63,64));border-color:RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));border-radius:var(--mv9-TtmW--kvZptZ-ZrpAW1,.125rem);border-style:solid;border-width:1px;box-shadow:0 2px .25rem 0 RGBA(var(--now-color--neutral-21,0,0,0),.25)}.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-body.polaris-enabled{background-color:RGB(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)));border-color:RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-bottom:0;border-inline-end-width:0;border-inline-start-width:.0625rem;border-radius:0;box-shadow:none;max-height:100vh}@media(forced-colors:active){.polaris-contextual-menu.is-contextual-menu-pinned .contextual-menu-body.polaris-enabled{border:.0625rem solid CanvasText}}.polaris-contextual-menu.helpMenu .contextual-menu-content{height:calc(100% - 41px - var(--aside-height))}.polaris-contextual-menu.helpMenu.can-be-pinned .contextual-menu-content{height:calc(100% - 53px - var(--aside-height))}.polaris-contextual-menu hr{background-color:RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border:none;height:.0625rem;margin:.5rem 1rem}@media(forced-colors:active){.polaris-contextual-menu hr{background-color:CanvasText}}.polaris-contextual-menu.userMenu .contextual-menu-content{top:0}.polaris-contextual-menu .contextual-menu-header{font-size:1rem;max-height:2.8125rem;position:relative;top:-1.25rem}.polaris-contextual-menu .contextual-menu-header .text-header-area{align-items:center;display:grid;grid-template-columns:auto min-content min-content min-content;padding-block-start:.25rem;padding-inline-end:.75rem;padding-inline-start:1rem}.polaris-contextual-menu .contextual-menu-header .text-header-area>button.sn-polaris-nav-btn:last-child{margin-inline-end:.75rem}.polaris-contextual-menu .contextual-menu-header .filter-header-row{display:flex;flex-direction:row;gap:.75rem;padding-block-end:.75rem;padding-block-start:.75rem;padding-inline-end:.75rem;padding-inline-start:1rem}.polaris-contextual-menu .contextual-menu-header now-icon{height:1rem;width:1rem}.polaris-contextual-menu .contextual-menu-content{overflow-y:auto;position:relative;top:1.25rem}.polaris-contextual-menu .contextual-menu-top{background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9));border-radius:.5rem .5rem 0 0;display:grid;grid-template-columns:auto 1.125rem auto;height:1rem;height:.5rem;position:relative;width:inherit}.polaris-contextual-menu .contextual-menu-top .left{border-left:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem 0 0 0;border-top:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));bottom:0;flex-grow:1;height:.5rem;position:relative}.polaris-contextual-menu .contextual-menu-top .center{flex-grow:0;height:.5rem;position:relative;width:1.125rem}.polaris-contextual-menu .contextual-menu-top .center:before{background:linear-gradient(315deg,transparent 50%,transparent 50%,RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9)) 52%,RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9)));border-left:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));content:\\\"\\\";height:.875rem;left:.125rem;position:absolute;top:-.4375rem;transform:rotate(45deg);width:.875rem}.polaris-contextual-menu .contextual-menu-top .center:before,.polaris-contextual-menu .contextual-menu-top .right{border-top:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)))}.polaris-contextual-menu .contextual-menu-top .right{border-radius:0 .5rem 0 0;border-right:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));height:.5rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.polaris-contextual-menu.polaris-enabled .contextual-menu-body:before{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:bottom;background-repeat:no-repeat;background-size:100% 30.6875rem;bottom:0;content:\\\"\\\";left:0;opacity:var(--now-unified-nav_menu--background-image-alpha,1);position:absolute;right:0;top:0}@supports(hanging-punctuation:first) and (-webkit-appearance:none){.polaris-contextual-menu.polaris-enabled .contextual-menu-body:before{background-size:100%}}}.polaris-contextual-menu .contextual-menu-body{background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9));border-bottom:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-left:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:0 0 .5rem .5rem;border-right:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:grid;grid-template-rows:auto 1fr;max-height:var(--panel-max-height);overflow:hidden;position:relative;width:inherit}@media(forced-colors:active){.polaris-contextual-menu .contextual-menu-body{background:Canvas}}.polaris-contextual-menu.helpMenu .contextual-menu-body{display:block}.polaris-contextual-menu.userMenu .contextual-menu-top .center,.polaris-contextual-menu.userMenu .contextual-menu-top .left,.polaris-contextual-menu.userMenu .contextual-menu-top .right{background-color:RGB(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)))}.polaris-contextual-menu:not(.polaris-enabled){grid-template-rows:auto 0;height:calc(100vh - 3.25rem);max-height:calc(100vh - 3.25rem);top:3.25rem}.polaris-contextual-menu:not(.polaris-enabled) .contextual-menu-top{display:none}.polaris-contextual-menu:not(.polaris-enabled) .contextual-menu-content{max-height:100vh;overflow-y:auto;position:relative;top:0;width:20rem}.polaris-contextual-menu:not(.polaris-enabled) .contextual-menu-body{background-color:RGB(var(--now-color--neutral-15,44,53,55));background-image:none;border-radius:0;border-width:0;box-shadow:0 2px .25rem 0 RGBA(var(--now-color--neutral-21,0,0,0),.25)}.polaris-contextual-menu:not(.polaris-enabled):before{display:none}.sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.sn-polaris-nav-btn now-icon.pinned-icon{transform:rotate(-45deg)}@media(forced-colors:active){.sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-polaris-nav-btn.is-pinned:focus,.sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-polaris-nav-btn.is-pinned now-icon.pinned-icon{transform:rotate(-90deg)}.sn-polaris-nav-btn.is-pinned.reversed now-icon.pinned-icon{transform:rotate(0deg)}.sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-btn.selected,.sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn.selected .leaf-item-icon,.sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon,.sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus-visible:hover,.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate now-icon.pinned-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}@media screen and (max-width:1219px){.sn-polaris-nav-btn.pin{display:none}}@media only screen and (max-height:256px){.polaris-contextual-menu.chat .contextual-menu-content{overflow:auto!important}.polaris-contextual-menu.concourse-pickers .contextual-menu-body,.polaris-contextual-menu.concoursePickers .contextual-menu-body,.polaris-contextual-menu.experience-notifications .contextual-menu-body,.polaris-contextual-menu.help-button .contextual-menu-body,.polaris-contextual-menu.helpMenu .contextual-menu-body,.polaris-contextual-menu.notifications .contextual-menu-body{overflow:auto}.polaris-contextual-menu.concourse-pickers .contextual-menu-content,.polaris-contextual-menu.concoursePickers .contextual-menu-content,.polaris-contextual-menu.experience-notifications .contextual-menu-content,.polaris-contextual-menu.help-button .contextual-menu-content,.polaris-contextual-menu.helpMenu .contextual-menu-content,.polaris-contextual-menu.notifications .contextual-menu-content{overflow-y:auto}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.user-menu-body .user-menu-icon{align-items:center;color:RGB(var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)));display:flex;margin-inline-end:.5rem}.user-menu-body .user-menu-icon.after{margin-inline-start:.5rem}.user-menu-body .user-menu-button{background-color:transparent;border:0;border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;justify-content:flex-start;margin:0;padding:.5rem;position:relative;text-decoration:none;text-underline-offset:.125rem;width:100%}.user-menu-body .user-menu-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.user-menu-body .user-menu-button.selected,.user-menu-body .user-menu-button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.user-menu-body .user-menu-button.selected .leaf-item-icon,.user-menu-body .user-menu-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.user-menu-body .user-menu-button:focus,.user-menu-body .user-menu-button:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.user-menu-body .user-menu-button:focus .leaf-item-icon,.user-menu-body .user-menu-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.user-menu-body .user-menu-button:focus-visible:hover,.user-menu-body .user-menu-button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.user-menu-body .user-menu-button:focus-visible:hover .leaf-item-icon,.user-menu-body .user-menu-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.user-menu-body .user-menu-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.user-menu-body .user-menu-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.user-menu-body .user-menu-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.user-menu-body .user-menu-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.user-menu-body .user-menu-button:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.user-menu-body .user-menu-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.user-menu-body .user-menu-button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.user-menu-body .user-menu-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.user-menu-body .user-menu-button:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.user-menu-body .user-menu-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.user-menu-body .user-menu-button.selected,.user-menu-body .user-menu-button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.user-menu-body .user-menu-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.user-menu-body .user-menu-button:focus,.user-menu-body .user-menu-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}.user-menu-body .user-menu-button:focus .user-menu-label,.user-menu-body .user-menu-button:focus .user-menu-label .user-menu-icon,.user-menu-body .user-menu-button:hover .user-menu-label,.user-menu-body .user-menu-button:hover .user-menu-label .user-menu-icon{color:Highlight}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.user-menu-body .user-menu-button:hover .user-menu-icon,.user-menu-body .user-menu-button:hover .user-menu-label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}}.user-menu-body .user-menu-label{align-items:flex-start;display:flex;justify-content:flex-start;text-align:start;width:100%}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.user-menu-body .user-menu-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}}.user-menu-body .user-menu-header{grid-gap:.75rem;align-items:center;border-bottom:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));display:grid;flex-grow:0;grid-template-columns:4.5rem auto;padding:.5rem}.user-menu-body .user-menu-header.polaris-enabled{background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9))}.user-menu-body .user-menu-header now-avatar{border-radius:50%;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content}.user-menu-body .user-menu-header now-avatar.avatar-border{border:.1875rem solid RGB(var(--now-color_presence--busy,234,60,16))}.user-menu-body .user-menu-header .user-menu-info{overflow:hidden;width:100%}.user-menu-body .user-menu-header .user-menu-info .user-name{font-size:1.25rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.user-menu-body .user-menu-header .user-menu-info .user-additional-info{align-items:center;color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem;overflow:hidden;padding-block-start:.25rem;text-overflow:ellipsis;white-space:nowrap}.user-menu-body .user-menu-header .user-menu-info .user-additional-info now-icon{margin:0 .1875rem 0 0}.user-menu-body .user-menu-header .user-menu-info .instance-name,.user-menu-body .user-menu-header .user-menu-info .user-additional-info.user-is-impersonating{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.user-menu-body .user-menu-toggle-container{border-bottom:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));display:grid;margin:0 .5rem}.user-menu-body .user-menu-toggle-row{justify-content:space-between}.user-menu-body .user-menu-toggle-row now-toggle{flex-shrink:0;margin-inline-start:.5rem;pointer-events:none}.user-menu-body hr{background-color:RGB(var(--now-color_chrome--divider-2,118,132,133));border:none;height:.0625rem;margin:.125rem}.user-menu-body .user-menu-controls{display:grid;margin:.5rem .5rem 0 .5rem}.user-menu-body .user-menu-footer{display:grid;flex-grow:0}.user-menu-body .user-menu-footer .user-menu-logout{margin:0 .5rem 1rem .5rem}.user-menu-body .user-menu-footer .user-menu-logout.is-branded{margin:0 .5rem}.user-menu-body .user-menu-footer .user-menu-branding{--now-works-with-sn-fill-color:#fff;background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9));color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:flex;justify-content:center}.user-menu-body .user-menu-footer .user-menu-branding img{margin:.5rem 0 .5rem 0}.user-menu-body sn-collapsible-list{padding-inline-end:.75rem;padding-inline-start:.1875rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{--nav-menu-width-px:320px;--nap-menu-width-px:408px;--wide-menu-width-px:500px;--pinned-contextual-menu-width:320px;--now-global-font-size--md:1rem}.ui-core{height:calc(100vh - 3.25rem)}::slotted(#gsft_main){border:0;display:block;height:100%;overflow:hidden;width:100%}.main-content-loader{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:none;height:100%;position:absolute;top:0;width:100%;z-index:-1}.main-content-loader.visible{display:block;z-index:999}.main-content-loader now-loader{position:absolute;right:50%;top:50%;transform:translateY(-50%)}.collab-chat-floating-container{bottom:0;height:0;left:0;position:absolute;right:0;z-index:999}.sn-polaris-layout{display:flex;flex-direction:column;overflow:hidden;position:relative}.sn-polaris-layout.is-atf{overflow:visible}.sn-polaris-layout .layout-aside{flex-grow:0}.sn-polaris-layout .layout-aside .skip-links-bar{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;height:0;overflow-y:hidden;padding-inline-start:1.5rem;width:100%}.sn-polaris-layout .layout-aside .skip-links-bar.visible{height:3.125rem}.sn-polaris-layout .layout-aside .skip-links-bar.can-animate{transition:all .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-layout .layout-aside .skip-links-bar .skip-link:not(:first-child){margin-left:2.5rem}.sn-polaris-layout .header-border-bar{background-color:RGB(var(--now-unified-nav_header--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));height:var(--now-unified-nav_header--border-size,0);width:100%}@media(forced-colors:active){.sn-polaris-layout .header-border-bar{border:.0625rem solid CanvasText}}.sn-polaris-layout .layout-main{display:flex;flex-direction:column;flex-grow:1;position:relative}.sn-polaris-layout .layout-main .header-bar{flex-grow:0;height:3.25rem;width:100%}.sn-polaris-layout .layout-main .content-area{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));flex-grow:1;position:relative}.sn-polaris-layout .layout-main .content-area .core-main-content,.sn-polaris-layout .layout-main .content-area .main-content{bottom:0;left:0;position:absolute;right:0;top:0}.sn-polaris-layout .layout-main .content-area .main-menu{height:100%}.sn-polaris-layout .layout-main .content-area.is-pinned:not(.reversed) .collab-chat-floating-container,.sn-polaris-layout .layout-main .content-area.is-pinned:not(.reversed) .core-main-content,.sn-polaris-layout .layout-main .content-area.is-pinned:not(.reversed) .main-content{left:20rem}.sn-polaris-layout .layout-main .content-area.is-pinned.reversed .collab-chat-floating-container,.sn-polaris-layout .layout-main .content-area.is-pinned.reversed .core-main-content,.sn-polaris-layout .layout-main .content-area.is-pinned.reversed .main-content{right:20rem}.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned:not(.reversed) .collab-chat-floating-container,.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned:not(.reversed) .core-main-content,.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned:not(.reversed) .main-content{right:var(--pinned-contextual-menu-width)}.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned.reversed .collab-chat-floating-container,.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned.reversed .core-main-content,.sn-polaris-layout .layout-main .content-area.is-contextual-menu-pinned.reversed .main-content{left:var(--pinned-contextual-menu-width)}.sn-polaris-layout .layout-main .content-area.can-animate .collab-chat-floating-container,.sn-polaris-layout .layout-main .content-area.can-animate .core-main-content,.sn-polaris-layout .layout-main .content-area.can-animate .main-content{transition:right .25s cubic-bezier(0,.93,.46,1),left .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-layout .layout-main .message-stack-container,.sn-polaris-layout .layout-main .user-notification-container,.sn-polaris-layout .layout-main .user-ui-notification-container{align-items:center;display:flex;flex-flow:column nowrap;justify-content:center;left:0;position:absolute;right:0;top:2.75rem;z-index:999}.sn-polaris-layout .layout-main .message-stack-container.is-pinned,.sn-polaris-layout .layout-main .user-notification-container.is-pinned,.sn-polaris-layout .layout-main .user-ui-notification-container.is-pinned{left:var(--pinned-contextual-menu-width)}.sn-polaris-layout .layout-main .message-stack-container.is-contextual-menu-pinned,.sn-polaris-layout .layout-main .user-notification-container.is-contextual-menu-pinned,.sn-polaris-layout .layout-main .user-ui-notification-container.is-contextual-menu-pinned{right:var(--pinned-contextual-menu-width)}.sn-polaris-layout .layout-main .message-stack-container .message-stack-contents,.sn-polaris-layout .layout-main .user-notification-container .message-stack-contents,.sn-polaris-layout .layout-main .user-ui-notification-container .message-stack-contents{position:relative;width:60%;z-index:999}.sn-polaris-layout .layout-main .message-stack-container .user-notification-contents,.sn-polaris-layout .layout-main .message-stack-container .user-ui-notification-contents,.sn-polaris-layout .layout-main .user-notification-container .user-notification-contents,.sn-polaris-layout .layout-main .user-notification-container .user-ui-notification-contents,.sn-polaris-layout .layout-main .user-ui-notification-container .user-notification-contents,.sn-polaris-layout .layout-main .user-ui-notification-container .user-ui-notification-contents{position:relative;width:calc(60% + 2rem);z-index:999}@media screen and (max-width:1440px){.sn-polaris-layout .layout-main .message-stack-container.is-pinned.is-contextual-menu-pinned .message-stack-contents,.sn-polaris-layout .layout-main .message-stack-container.is-pinned.is-contextual-menu-pinned .user-notification-contents,.sn-polaris-layout .layout-main .message-stack-container.is-pinned.is-contextual-menu-pinned .user-ui-notification-contents,.sn-polaris-layout .layout-main .user-notification-container.is-pinned.is-contextual-menu-pinned .message-stack-contents,.sn-polaris-layout .layout-main .user-notification-container.is-pinned.is-contextual-menu-pinned .user-notification-contents,.sn-polaris-layout .layout-main .user-notification-container.is-pinned.is-contextual-menu-pinned .user-ui-notification-contents,.sn-polaris-layout .layout-main .user-ui-notification-container.is-pinned.is-contextual-menu-pinned .message-stack-contents,.sn-polaris-layout .layout-main .user-ui-notification-container.is-pinned.is-contextual-menu-pinned .user-notification-contents,.sn-polaris-layout .layout-main .user-ui-notification-container.is-pinned.is-contextual-menu-pinned .user-ui-notification-contents{width:100%}}@media screen and (max-width:1024px){.sn-polaris-layout .layout-main .message-stack-container .message-stack-contents,.sn-polaris-layout .layout-main .user-notification-container .message-stack-contents,.sn-polaris-layout .layout-main .user-ui-notification-container .message-stack-contents{width:100%}}.sn-polaris-layout .layout-main .message-stack-container{top:3.75rem}.sn-polaris-layout .layout-main .message-stack-container.is-visible~.user-notification-container,.sn-polaris-layout .layout-main .message-stack-container.is-visible~.user-ui-notification-container,.sn-polaris-layout .layout-main sn-transaction-status-message.is-visible~.user-notification-container,.sn-polaris-layout .layout-main sn-transaction-status-message.is-visible~.user-ui-notification-container{top:6.25rem}.sn-polaris-layout .layout-main sn-transaction-status-message.is-visible~.message-stack-container{top:7.25rem}.sn-polaris-layout .layout-main sn-transaction-status-message.is-visible~.message-stack-container.is-visible~.user-notification-container,.sn-polaris-layout .layout-main sn-transaction-status-message.is-visible~.message-stack-container.is-visible~.user-ui-notification-container{top:9.75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.modal-container.dirty-form{height:100%;overflow:hidden}.modal-container.dirty-form .now-heading-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-family:var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-size:1.25rem;font-style:var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal));font-weight:600;margin-block:0 .75rem}.modal-container.dirty-form .subtext{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.draggable-container{position:fixed;z-index:2000}.draggable-container.draggable-hide{visibility:hidden}@media(min-width:321px){.draggable-container:hover{cursor:move}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.polaris-header-menu{align-items:center;display:flex;height:3.25rem}a.sn-polaris-tab{text-decoration:none}.sn-polaris-tab{align-items:center;background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_nav-menu-trigger--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border-radius:.5rem;color:RGB(var(--now-unified-nav_nav-menu-trigger--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1rem;height:2rem;outline:solid var(--now-unified-nav_nav-menu-trigger--border-size,0) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0));padding:0 .75rem;pointer-events:all;text-transform:capitalize}.sn-polaris-tab,.sn-polaris-tab .polaris-tab-item-icon{margin-inline-end:.25rem}.sn-polaris-tab.can-animate{transition:left .25s cubic-bezier(.19,1,.22,1),color 125ms cubic-bezier(.19,1,.22,1),background-color 125ms cubic-bezier(.19,1,.22,1),border-color 125ms cubic-bezier(.19,1,.22,1)}.sn-polaris-tab.is-active{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-tab:not(.is-active).selected,.sn-polaris-tab:not(.is-active):hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active).selected .leaf-item-icon,.sn-polaris-tab:not(.is-active):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.sn-polaris-tab:not(.is-active):focus,.sn-polaris-tab:not(.is-active):focus-visible{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):focus .leaf-item-icon,.sn-polaris-tab:not(.is-active):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):focus-visible:hover,.sn-polaris-tab:not(.is-active):focus:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):focus-visible:hover .leaf-item-icon,.sn-polaris-tab:not(.is-active):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):-moz-focusring{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-tab:not(.is-active):focus{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.sn-polaris-tab:not(.is-active):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.sn-polaris-tab:not(.is-active):focus:hover{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.sn-polaris-tab:not(.is-active):active{background-color:RGBA(var(--now-unified-nav_nav-menu-trigger--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.sn-polaris-tab:not(.is-active):active .leaf-item-icon{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media(forced-colors:active){.sn-polaris-tab:not(.is-active){background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-tab:not(.is-active):focus,.sn-polaris-tab:not(.is-active):hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-tab:not(.is-active):hover{outline:solid var(--now-unified-nav_nav-menu-trigger--border-size--hover,var(--now-unified-nav_nav-menu-trigger--border-size,0)) RGBA(var(--now-unified-nav_nav-menu-trigger--border-color--hover,var(--now-unified-nav_nav-menu-trigger--border-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_nav-menu-trigger--border-color-alpha--hover,var(--now-unified-nav_nav-menu-trigger--border-color-alpha,0)))}@media(forced-colors:active){.sn-polaris-tab:not(.is-active):hover{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-tab:not(.is-active):hover:focus,.sn-polaris-tab:not(.is-active):hover:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-tab.selected{opacity:0}.sn-polaris-tab.is-hidden{display:none}.sn-polaris-tab.is-pinned,.sn-polaris-tab.is-placeholder{pointer-events:none;visibility:hidden}.sn-polaris-tab.tab-overflow{justify-content:center;padding-inline-end:.5rem;padding-inline-start:.5rem}.sn-polaris-tab.is-pinned:after{background-color:RGB(var(--now-color--primary-0,221,237,233),1);border-radius:.125rem;content:\\\"\\\";height:3px!important;left:0;top:calc(100% - 2px);width:100%}.utility-bar{align-items:center;background-color:RGB(var(--now-color_chrome--brand-8,29,44,45));color:RGB(var(--now-color--neutral-0,255,255,255));display:flex;height:3.25rem;justify-content:space-between}.utility-bar.is-pinned:not(.reversed){margin-left:20rem}.utility-bar.is-pinned.reversed{margin-right:20rem}.utility-bar.is-contextual-menu-pinned:not(.reversed){margin-right:var(--pinned-contextual-menu-width)}.utility-bar.is-contextual-menu-pinned.reversed{margin-left:var(--pinned-contextual-menu-width)}.utility-bar .info{padding-inline-start:1.5rem}.utility-bar .info span.title{color:RGB(var(--now-color--neutral-2,228,230,231));display:block;font-size:1rem}.utility-bar .info span.description{color:RGB(var(--now-color--neutral-4,191,197,198));display:block;font-size:.75rem}.utility-bar .menus{padding-inline-end:.5rem}.utility-bar .menus .loader{align-items:center;display:grid;grid-auto-flow:column;justify-content:center;min-width:64px;width:20vw}.utility-bar .menus .loader now-loader{padding-inline-end:.5rem}.utility-bar .menus div{max-width:250px}.utility-bar .menus div .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.utility-bar .menus div .label:after{content:\\\"\\\";display:block}.utility-bar .menus div .label now-icon{vertical-align:text-bottom}.utility-bar .menus div .hint{display:none}.utility-bar.is-contextual-menu-pinned:not(.is-pinned) .menus div,.utility-bar.is-pinned:not(.is-contextual-menu-pinned) .menus div{max-width:200px}.utility-bar.is-pinned.is-contextual-menu-pinned .menus div{max-width:150px}.utility-bar .sn-polaris-tab .polaris-tab-chevron{margin-inline-start:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../assets/bg-wave.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box;scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-polaris-nav-header-filter{flex-grow:1;position:relative;white-space:nowrap}.sn-polaris-nav-header-filter.can-animate input.navigation-filter{transition:background-color .25s cubic-bezier(0,.93,.46,1),border-color .25s cubic-bezier(0,.93,.46,1),box-shadow .25s cubic-bezier(0,.93,.46,1),color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-header-filter.can-animate .sn-polaris-nav-header-filter{transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-header-filter input.navigation-filter{background-color:RGB(var(--now-unified-nav_menu-filter--background-color,var(--now-color_chrome--brand-4,77,96,97)));border:.0625rem solid RGB(var(--now-unified-nav_menu-filter--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;height:2rem;line-height:2rem;outline:none;padding-inline-start:2.5rem;position:relative;width:100%}.sn-polaris-nav-header-filter input.navigation-filter::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus,.sn-polaris-nav-header-filter input.navigation-filter:focus{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--opened,var(--now-color--neutral-0,255,255,255)));border:.125rem solid RGB(var(--now-unified-nav_menu-filter--border-color--opened,var(--now-color--focus-1,77,160,176)));box-shadow:0 0 0 .25rem rgba(60,89,231,.15);color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus::placeholder,.sn-polaris-nav-header-filter input.navigation-filter:focus::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--focus,var(--now-color--neutral-18,22,27,28)))}.sn-polaris-nav-header-filter input.navigation-filter.has-focus:not(:placeholder-shown),.sn-polaris-nav-header-filter input.navigation-filter:focus:not(:placeholder-shown){padding-inline-end:2.5rem}.sn-polaris-nav-header-filter input.navigation-filter.has-focus~now-icon[icon=filter-outline],.sn-polaris-nav-header-filter input.navigation-filter:focus~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--opened,var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28))))}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover{background-color:RGB(var(--now-unified-nav_menu-filter--background-color--hover,var(--now-color_chrome--brand-3,114,128,129)));color:RGB(var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255)));opacity:var(--now-opacity--most,.8)}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover::placeholder{color:RGB(var(--now-unified-nav_menu-filter--color--placeholder--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter:not(.has-focus):hover~now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color--hover,var(--now-unified-nav_menu-filter--color--hover,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{align-items:center;background-color:transparent;border:none;border-radius:50%;color:RGB(var(--now-unified-nav_menu-filter--color--opened,var(--now-color--neutral-18,22,27,28)));cursor:pointer;height:1.5rem;justify-content:center;margin-block-start:-.5rem;opacity:1;outline:none;position:absolute;top:39%;visibility:visible;width:1.5rem}:host(:not([dir=rtl])) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root:not([dir=rtl]) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{right:.75rem}:host([dir=rtl]) .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus,:root[dir=rtl] .sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus{left:.75rem}.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:focus,.sn-polaris-nav-header-filter input.navigation-filter:not(:placeholder-shown)~button.input-clear.container-has-focus:hover{background-color:RGB(var(--now-color--neutral-3,209,214,214));border:.0625rem solid RGB(var(--now-color--neutral-7,135,147,148))}.sn-polaris-nav-header-filter now-icon[icon=filter-outline]{color:RGB(var(--now-unified-nav_menu-filter_icon--color,var(--now-unified-nav_menu-filter--color,var(--now-color--neutral-0,255,255,255))));margin-block-start:-.5rem;position:absolute;top:50%}:host(:not([dir=rtl])) .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root:not([dir=rtl]) .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{left:.75rem}:host([dir=rtl]) .sn-polaris-nav-header-filter now-icon[icon=filter-outline],:root[dir=rtl] .sn-polaris-nav-header-filter now-icon[icon=filter-outline]{right:.75rem}.sn-polaris-nav-header-filter button.input-clear{border:0;display:flex;height:0;opacity:0;padding:0;transition:visibility .2s,opacity 0s linear;visibility:hidden;width:0}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.super-filter-container{margin-bottom:.5rem;max-height:calc(65vh - 122px - var(--aside-height));overflow:auto}.super-filter-container .no-results-text{margin:.5rem 1rem}.super-filter-container .all-results-section{border-inline-start:solid 1px RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)));height:0;margin-inline-start:1rem;overflow:hidden}.super-filter-container .all-results-section .sn-tree-menu .sn-polaris-tab-content .sn-polaris-nav-body{padding-inline:.25rem}.super-filter-container .all-results-section .super-filter-header{margin-inline-start:.25rem}.super-filter-container hr{background-color:RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)));border:0;height:1px;margin:0 .5rem .5rem .5rem}.super-filter-container .results-section{height:0;overflow:hidden}.super-filter-container .results-section.section-open{height:auto}.super-filter-container .results-section.section-open .super-filter-subheader button now-icon{transform:rotate(90deg)}.super-filter-container.all-results-open .all-results-section{height:auto}.super-filter-container.all-results-open .super-filter-header now-icon{transform:rotate(90deg)}:host(.is-pinned) .super-filter-container{max-height:calc(100vh - 122px - var(--aside-height))}.super-filter-header,.super-filter-subheader{border-radius:.25rem;color:var(--now-color--neutral-2,228,230,231);font-size:1rem;letter-spacing:.05rem;margin-inline-end:.5rem;margin-inline-start:.5rem;text-transform:uppercase}.super-filter-header button,.super-filter-header.no-interaction,.super-filter-subheader button,.super-filter-subheader.no-interaction{padding-block-end:.5rem;padding-block-start:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.super-filter-header button,.super-filter-subheader button{background-color:transparent;border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha,1));border-radius:.25rem;color:var(--now-color--neutral-2,228,230,231);color:inherit;cursor:pointer;display:grid;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;grid-template-columns:calc(100% - 16px) 16px;letter-spacing:.05rem;text-align:start;text-transform:uppercase;width:100%}.super-filter-header button::-moz-focus-inner,.super-filter-subheader button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.super-filter-header button.selected,.super-filter-header button:hover,.super-filter-subheader button.selected,.super-filter-subheader button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.super-filter-header button.selected .leaf-item-icon,.super-filter-header button:hover .leaf-item-icon,.super-filter-subheader button.selected .leaf-item-icon,.super-filter-subheader button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.super-filter-header button:focus,.super-filter-header button:focus-visible,.super-filter-subheader button:focus,.super-filter-subheader button:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.super-filter-header button:focus .leaf-item-icon,.super-filter-header button:focus-visible .leaf-item-icon,.super-filter-subheader button:focus .leaf-item-icon,.super-filter-subheader button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.super-filter-header button:focus-visible:hover,.super-filter-header button:focus:hover,.super-filter-subheader button:focus-visible:hover,.super-filter-subheader button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.super-filter-header button:focus-visible:hover .leaf-item-icon,.super-filter-header button:focus:hover .leaf-item-icon,.super-filter-subheader button:focus-visible:hover .leaf-item-icon,.super-filter-subheader button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.super-filter-header button:-moz-focusring,.super-filter-subheader button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.super-filter-header button:-moz-focusring .leaf-item-icon,.super-filter-subheader button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.super-filter-header button:-moz-focusring:hover,.super-filter-subheader button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.super-filter-header button:-moz-focusring:hover .leaf-item-icon,.super-filter-subheader button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.super-filter-header button:focus,.super-filter-subheader button:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.super-filter-header button:focus .leaf-item-icon,.super-filter-subheader button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.super-filter-header button:focus:hover,.super-filter-subheader button:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.super-filter-header button:focus:hover .leaf-item-icon,.super-filter-subheader button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.super-filter-header button:active,.super-filter-subheader button:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.super-filter-header button:active .leaf-item-icon,.super-filter-subheader button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.super-filter-header button.selected,.super-filter-header button:hover,.super-filter-subheader button.selected,.super-filter-subheader button:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.super-filter-header button:hover,.super-filter-subheader button:hover{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color--hover,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha--hover,1))}.super-filter-header now-icon,.super-filter-subheader now-icon{height:16px;transition:all .25s cubic-bezier(0,.93,.46,1);width:16px}.super-filter-subheader{margin-inline-end:.5rem;margin-inline-start:.25rem}.super-filter-subheader.section-open now-icon{transform:rotate(90deg)}.all-results-toggle{border-top:solid 1px var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133))}.all-results-toggle:hover{text-decoration:none}:host(.can-animate) .all-results-section{transition:all .25s cubic-bezier(0,.93,.46,1)}.sn-tree-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-tree-menu :host([hidden]){display:none}.sn-tree-menu *,.sn-tree-menu :after,.sn-tree-menu :before{box-sizing:border-box}.sn-tree-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-tree-menu ::-webkit-scrollbar{width:.75rem}.sn-tree-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-tree-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-tree-menu :host{display:block;height:100%}.sn-tree-menu .sn-polaris-tab-content{grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-tree-menu .sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-tree-menu .sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-tree-menu .sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-tree-menu .sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.sn-tree-menu .sn-polaris-nav-body>sn-collapsible-list{margin:0 .25rem}.sn-history-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-history-menu :host([hidden]){display:none}.sn-history-menu *,.sn-history-menu :after,.sn-history-menu :before{box-sizing:border-box}.sn-history-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-history-menu ::-webkit-scrollbar{width:.75rem}.sn-history-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-history-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-history-menu .sn-polaris-nav-list-items{list-style:none;margin:0;padding:0}.sn-history-menu .item-label{display:grid;grid-template-columns:auto 1fr;overflow:hidden}.sn-history-menu .item-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-history-menu .item-label span:after{content:\\\"\\\";display:block}.sn-history-menu a.item-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.sn-history-menu span.hint,.sn-history-menu span.tooltip-label{display:none}.sn-history-menu .sn-polaris-nav-list-item{align-items:center;cursor:pointer;font-size:1rem}.sn-history-menu .sn-polaris-nav-list-item.is-collapsible-item{display:grid;grid-template-columns:auto 1fr}.sn-history-menu .sn-polaris-nav-list-item.is-collapsible-item:before{border-inline-start:1px solid RGB(var(--now-unified-nav_menu-divider-vertical--color,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))));content:\\\"\\\";height:100%;margin-inline-start:.25rem;width:.5rem}.sn-history-menu .sn-polaris-nav-list-item.is-collapsible-item.can-animate{transition:background-color,color .25s cubic-bezier(0,.93,.46,1)}.sn-history-menu .sn-polaris-nav-list-item.is-collapsible-item.can-animate:before{transition:box-shadow .25s cubic-bezier(0,.93,.46,1)}.sn-history-menu .sn-polaris-nav-list-item.is-filtered a:hover{color:inherit}.sn-history-menu .sn-polaris-nav-list-item.can-animate{transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-history-menu .sn-polaris-nav-list-item.can-animate .menu-action{transition:background-color 125ms cubic-bezier(0,.93,.46,1)}.sn-history-menu .sn-polaris-nav-list-item:last-child{border-block-end:none}.sn-history-menu .sn-polaris-nav-list-item span{white-space:nowrap}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu .sn-polaris-nav-list-item:focus-within .label,.sn-history-menu .sn-polaris-nav-list-item:hover .label{color:RGB(var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))!important}}.sn-history-menu .sn-polaris-nav-list-item:focus-within.is-filtered mark,.sn-history-menu .sn-polaris-nav-list-item:hover.is-filtered mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu .sn-polaris-nav-list-item:focus-within.is-filtered .delete,.sn-history-menu .sn-polaris-nav-list-item:focus-within.is-filtered .edit-menu,.sn-history-menu .sn-polaris-nav-list-item:focus-within.is-filtered .label,.sn-history-menu .sn-polaris-nav-list-item:hover.is-filtered .delete,.sn-history-menu .sn-polaris-nav-list-item:hover.is-filtered .edit-menu,.sn-history-menu .sn-polaris-nav-list-item:hover.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}}.sn-history-menu .sn-polaris-nav-list-item a{background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),0);border-radius:.25rem;display:block;text-decoration:none}.sn-history-menu .sn-polaris-nav-list-item a.highlighted-item{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu .sn-polaris-nav-list-item a.highlighted-item .delete,.sn-history-menu .sn-polaris-nav-list-item a.highlighted-item .edit-menu,.sn-history-menu .sn-polaris-nav-list-item a.highlighted-item .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.sn-history-menu .sn-polaris-nav-list-item a.highlighted-item mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-history-menu .sn-polaris-nav-list-item a:hover{color:RGB(var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))}.sn-history-menu mark{background:none;font-weight:bolder}@media(forced-colors:active){.sn-history-menu mark{background-color:Mark;color:MarkText}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu .is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color,var(--now-color--neutral-4,191,197,198)))!important}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu .menu-action:focus-visible>:first-child,.sn-history-menu .menu-action:hover>:first-child{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_menu-filter-result--color)))!important}}.sn-history-menu :host{display:block}.sn-history-menu :host(.can-animate){transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-history-menu .section-header{align-items:center;display:flex;justify-content:space-between;padding:.5rem .75rem}.sn-history-menu .section-header>hr.section-divider{background-color:RGB(var(--now-unified-nav_menu-section-header-divider--color,var(--now-unified-nav_menu-section-header--background-color,var(--now-color--primary-0,221,237,233))));border:0;height:1px;margin:0;opacity:1;width:100%}.sn-history-menu .section-header>span.section-label{background-color:RGB(var(--now-unified-nav_menu-section-header--background-color,var(--now-color--primary-0,221,237,233)));border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-section-header--color,var(--now-color--primary-2,23,100,82)));font-size:.75rem;font-weight:700;padding:.25rem .5rem;text-transform:uppercase;white-space:nowrap}.sn-history-menu .section-divider{border-bottom:none;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));margin:.5rem .75rem;opacity:var(--now-opacity--mid,.5)}.sn-history-menu .section-divider:last-of-type{opacity:0}.sn-history-menu a.menu-item-link{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha,1));color:RGB(var(--now-color--primary-0,221,237,233))}.sn-history-menu a.menu-item-link::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-history-menu a.menu-item-link.selected,.sn-history-menu a.menu-item-link:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-history-menu a.menu-item-link.selected .leaf-item-icon,.sn-history-menu a.menu-item-link:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-history-menu a.menu-item-link:focus,.sn-history-menu a.menu-item-link:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-history-menu a.menu-item-link:focus .leaf-item-icon,.sn-history-menu a.menu-item-link:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu a.menu-item-link:focus-visible:hover,.sn-history-menu a.menu-item-link:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-history-menu a.menu-item-link:focus-visible:hover .leaf-item-icon,.sn-history-menu a.menu-item-link:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu a.menu-item-link:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-history-menu a.menu-item-link:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu a.menu-item-link:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-history-menu a.menu-item-link:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-history-menu a.menu-item-link:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-history-menu a.menu-item-link:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu a.menu-item-link:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-history-menu a.menu-item-link:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.sn-history-menu a.menu-item-link:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-history-menu a.menu-item-link:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-history-menu a.menu-item-link.selected,.sn-history-menu a.menu-item-link:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.sn-history-menu a.menu-item-link.highlighted-item,.sn-history-menu a.menu-item-link:focus,.sn-history-menu a.menu-item-link:hover{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color--hover,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha--hover,1));text-decoration:none}.sn-history-menu a.menu-item-link.highlighted-item .menu-item-label span.label,.sn-history-menu a.menu-item-link:focus .menu-item-label span.label,.sn-history-menu a.menu-item-link:hover .menu-item-label span.label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline)}.sn-history-menu a.menu-item-link.highlighted-item .menu-item-label span.menu-item-description,.sn-history-menu a.menu-item-link:focus .menu-item-label span.menu-item-description,.sn-history-menu a.menu-item-link:hover .menu-item-label span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}.sn-history-menu a.menu-item-link.highlighted-item span.menu-item-time-marker,.sn-history-menu a.menu-item-link:focus span.menu-item-time-marker,.sn-history-menu a.menu-item-link:hover span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-label--color--hover,var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)))))}.sn-history-menu a.menu-item-link:active .menu-item-label span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--active,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}.sn-history-menu a.menu-item-link:active span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-label--color--active,var(--now-unified-nav_menu-subitem--color--active,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)))))}.sn-history-menu .menu-item{display:flex;justify-content:space-between;overflow:hidden;padding:.25rem .5rem;position:relative}.sn-history-menu .menu-item>.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-history-menu .menu-item>.menu-item-label:after{content:\\\"\\\";display:block}.sn-history-menu .menu-item>.menu-item-label>span.label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));font-size:1rem}.sn-history-menu .menu-item>.menu-item-label>span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem}.sn-history-menu .menu-item>span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-label--color,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))));font-size:.75rem;padding-top:1px}.sn-overflow-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-overflow-menu :host([hidden]){display:none}.sn-overflow-menu *,.sn-overflow-menu :after,.sn-overflow-menu :before{box-sizing:border-box}.sn-overflow-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-overflow-menu ::-webkit-scrollbar{width:.75rem}.sn-overflow-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-overflow-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-overflow-menu .polaris-header-experience-title{align-items:center;background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))));border:1px solid;border-color:RGB(var(--now-unified-nav_contextual-app-pill--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:50px;color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));display:flex;height:2rem;justify-content:center;margin-inline-end:.75rem;margin-inline-start:.75rem;max-width:30vw;outline:none;overflow:hidden;padding-inline-end:1rem;padding-bottom:.5rem;padding-inline-start:1rem;padding-top:.5rem;place-self:center}@media screen and (max-width:530px){.sn-overflow-menu .polaris-header-experience-title{max-width:15.3125rem}}.sn-overflow-menu .experience-title-icon.polaris-enabled{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .experience-title-icon:not(.polaris-enabled){color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))}.sn-overflow-menu .experience-title-favorite-button{align-items:center;border-radius:50%;color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)));cursor:pointer;display:flex;padding:.1875rem}.sn-overflow-menu .experience-title-favorite-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .experience-title-favorite-button.selected,.sn-overflow-menu .experience-title-favorite-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button.selected .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-overflow-menu .experience-title-favorite-button:focus,.sn-overflow-menu .experience-title-favorite-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:focus .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:focus-visible:hover,.sn-overflow-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:focus-visible:hover .leaf-item-icon,.sn-overflow-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .experience-title-favorite-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .experience-title-favorite-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-overflow-menu .experience-title-favorite-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .experience-title-favorite-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-overflow-menu .experience-title-favorite-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-overflow-menu .experience-title-favorite-button:focus,.sn-overflow-menu .experience-title-favorite-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active)and (forced-colors:active){.sn-overflow-menu .experience-title-favorite-button.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .experience-title-favorite-button.is-favorite:focus,.sn-overflow-menu .experience-title-favorite-button.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}@media(forced-colors:active){.sn-overflow-menu .experience-title-favorite-buttonactive{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .experience-title-favorite-buttonactive:focus,.sn-overflow-menu .experience-title-favorite-buttonactive:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-overflow-menu .experience-title{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));font-size:1rem;font-weight:700;margin-inline-end:.25rem;margin-inline-start:.5rem}@keyframes transitionLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes transitionRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}.sn-overflow-menu :host{display:block;height:100%;overflow:hidden}.sn-overflow-menu .sn-polaris-tab-content{border-radius:.25rem;display:grid;grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-overflow-menu .sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-overflow-menu .sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-overflow-menu .sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.sn-overflow-menu .overflow-pill-header{flex-direction:column;padding:.125rem 0 .5rem 0}.sn-overflow-menu .overflow-pill-header,.sn-overflow-menu .sn-polaris-nav-header-container{align-items:center;border-bottom:.0625rem solid RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex}.sn-overflow-menu .sn-polaris-nav-header-container{gap:.313rem;margin-inline-end:.75rem;margin-inline-start:.75rem;padding:.125rem 0}.sn-overflow-menu .sn-polaris-nav-header-container.can-animate{animation-duration:.25s;animation-name:transitionRight}.sn-overflow-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-nav-header-container.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionRight}.sn-overflow-menu .sn-polaris-nav-header{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;gap:.5rem;grid-template-columns:min-content 1fr;line-height:1;padding-block:.75rem;padding-inline-end:0;padding-inline-start:0}.sn-overflow-menu .sn-polaris-nav-header .menu-item-with-icon{align-items:center;display:flex}.sn-overflow-menu .sn-polaris-nav-header .menu-item-with-icon .sn-polaris-nav-header-icon{margin-inline-end:.25rem}.sn-overflow-menu .sn-polaris-nav-header span{font-size:1rem}.sn-overflow-menu .sn-polaris-nav-header.is-single{flex-grow:1;grid-template-columns:1fr}.sn-overflow-menu .sn-polaris-nav-header .sn-polaris-nav-header-controls{position:relative;white-space:nowrap}.sn-overflow-menu .sn-polaris-nav-header.is-drilled{flex-grow:1}.sn-overflow-menu .sn-polaris-nav-header.is-drilled now-icon{margin-inline-start:.25rem}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single){border-radius:.25rem}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-overflow-menu .sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.sn-overflow-menu .sn-polaris-nav-header.nav-overflow{margin-inline-end:.75rem;margin-inline-start:.75rem}.sn-overflow-menu .sn-polaris-overflow-body .drilldown-items{padding-block-end:.75rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-duration:.25s;animation-name:transitionLeft}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:calc(65vh - 2.8125rem)}.sn-overflow-menu .sn-polaris-overflow-body.is-drilled:not(.chat-button){overflow:auto}.sn-overflow-menu .sn-polaris-overflow-body.is-drilldown-list{max-height:65vh;overflow:hidden auto}:host([dir=rtl]) .sn-overflow-menu .sn-polaris-overflow-body.is-drilled.can-animate{animation-name:transitionRight}.sn-overflow-menu .sn-polaris-overflow-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-overflow-body .sn-polaris-nav-header{border-bottom:none}@media only screen and (max-height:256px){.sn-overflow-menu .sn-polaris-overflow-body.is-drilled.is-utility{max-height:none!important}}.sn-overflow-menu sn-drilldown-list{border-bottom:1px solid RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)))}.sn-overflow-menu sn-drilldown-list:last-child{border-bottom:none}.sn-overflow-menu .sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.sn-overflow-menu .sn-polaris-nav-btn now-icon.pinned-icon{transform:rotate(-45deg)}@media(forced-colors:active){.sn-overflow-menu .sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned:focus,.sn-overflow-menu .sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned now-icon.pinned-icon{transform:rotate(-90deg)}.sn-overflow-menu .sn-polaris-nav-btn.is-pinned.reversed now-icon.pinned-icon{transform:rotate(0deg)}.sn-overflow-menu .sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-overflow-menu .sn-polaris-nav-btn.selected,.sn-overflow-menu .sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn.selected .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-overflow-menu .sn-polaris-nav-btn:focus,.sn-overflow-menu .sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:focus .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:focus-visible:hover,.sn-overflow-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-overflow-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-overflow-menu .sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-overflow-menu .sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-overflow-menu .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-overflow-menu .sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-overflow-menu .sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-overflow-menu .sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-overflow-menu .sn-polaris-nav-btn:focus,.sn-overflow-menu .sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-overflow-menu .sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-nav-btn.can-animate now-icon.pinned-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.sn-overflow-menu .sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}.sn-loader-menu :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.sn-loader-menu :host([hidden]){display:none}.sn-loader-menu *,.sn-loader-menu :after,.sn-loader-menu :before{box-sizing:border-box}.sn-loader-menu *{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}.sn-loader-menu ::-webkit-scrollbar{width:.75rem}.sn-loader-menu ::-webkit-scrollbar-track{border-radius:.5rem}.sn-loader-menu ::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-loader-menu :host{display:block;height:100%}.sn-loader-menu now-loader{height:65vh;padding-top:100%}:host{--nav-border-radius:0.5rem;--nav-tab-grid-center-width:0;--nav-tab-grid-left-corner-width:0.5rem;--nav-tab-grid-left-spacing:auto;opacity:0;pointer-events:none;position:absolute}:host .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host .sn-polaris-nav-header .sn-polaris-nav-header-filter{top:-1.5rem}sn-collapsible-list{display:block;min-height:2rem}:host(.is-open){opacity:1;pointer-events:all}:host(.is-open) .sn-polaris-nav-body{margin-top:0;max-height:65vh;position:relative}:host(.is-open) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.is-open) .sn-polaris-nav-header .sn-polaris-nav-header-filter{top:0}:host(.is-open) .grid-container svg{height:3.25rem}:host(.can-animate){transition:opacity .25s cubic-bezier(0,.93,.46,1)}:host(.can-animate) .sn-polaris-nav-body{transition:max-height .25s cubic-bezier(0,.93,.46,1),margin-top .25s cubic-bezier(0,.93,.46,1)}:host(.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-filter{transition:top .25s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate){transition:opacity .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .menu-body:before{transition:top .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .sn-polaris-nav-body{transition:max-height .5s cubic-bezier(0,.93,.46,1),margin-top .5s cubic-bezier(0,.93,.46,1)}:host(.is-open.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.is-open.can-animate) .sn-polaris-nav-header .sn-polaris-nav-header-filter{transition:all .5s cubic-bezier(0,.93,.46,1)}:host(.is-pinned){height:100%;margin-block-start:0;max-height:none;opacity:1}:host(.is-pinned) .menu-body{bottom:0;min-height:calc(100vh - var(--aside-height) - var(--now-unified-nav_header--border-size, 0px));top:var(--now-unified-nav_header--border-size,0)}:host(.is-pinned) .menu-body:before{-webkit-backdrop-filter:none;backdrop-filter:none;top:3.25rem}:host(.is-pinned) .sn-polaris-nav{background-color:RGB(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)));border-bottom:0;border-inline-end-width:.0625rem;border-inline-start-width:0;border-radius:0;box-shadow:none;height:100%;transform:translateX(0)!important;width:20rem}@media(forced-colors:active){:host(.is-pinned) .sn-polaris-nav{border:.0625rem solid CanvasText}}:host(.is-pinned) .sn-polaris-nav-header .sn-polaris-nav-header-controls,:host(.is-pinned) .sn-polaris-nav-header .sn-polaris-nav-header-filter{top:0}:host(.is-pinned) .sn-polaris-nav-body{border-radius:0;height:100%;margin-top:0;max-height:calc(100vh - 122px - var(--aside-height));width:100%}.menu-body{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:grid;grid-template-rows:3.25rem auto 0;margin-inline-end:.125rem;min-height:3.25rem;outline:none;position:absolute;top:0;visibility:hidden;width:20rem}.menu-body.is-visible{visibility:visible}.menu-body:before{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);bottom:0;content:\\\"\\\";left:.125rem;position:absolute;right:.0625rem;top:3.125rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav:before{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:bottom;background-repeat:no-repeat;bottom:0;content:\\\"\\\";left:0;opacity:var(--now-unified-nav_menu--background-image-alpha,1);pointer-events:none;position:absolute;right:0;top:0}}.sn-polaris-nav{background-color:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9));border-bottom:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-left:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:0 0 .5rem .5rem;border-right:solid .0625rem RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));contain:layout;height:100%;position:relative;width:20rem}@media(forced-colors:active){.sn-polaris-nav{background-color:Canvas}}.sn-polaris-nav.can-animate{transition:background-color .5s cubic-bezier(.19,1,.22,1)}.sn-polaris-nav .item-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.sn-polaris-nav:focus{outline:none}.sn-polaris-nav.is-atf.is-atf{width:100vw}.sn-polaris-nav.is-atf.is-atf .sn-polaris-nav-body{max-height:none;overflow:visible;width:100%}.sn-polaris-nav-body{margin-top:2.5rem;max-height:5vh;overflow-x:hidden;overflow-y:auto;padding-block-end:.75rem;padding-block-start:.125rem;padding-inline-end:.5rem;padding-inline-start:.5rem;width:100%}.sn-polaris-nav-body:only-child{background-color:transparent}.sn-polaris-nav-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.hide-scroll{max-height:inherit!important;overflow:visible}.sn-polaris-nav-header{align-items:center;border-radius:.25rem .25rem 0 0;display:flex;gap:.75rem;justify-items:center;padding-block-end:.75rem;padding-block-start:.75rem;padding-inline-end:.75rem;padding-inline-start:1rem}.sn-polaris-nav-header .sn-polaris-nav-header-controls{position:relative;white-space:nowrap}.sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)),var(--now-unified-nav_button--background-color-alpha,0));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-btn.selected,.sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn.selected .leaf-item-icon,.sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon,.sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus-visible:hover,.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate now-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.three-button{height:1.5rem;width:1.5rem}.sn-polaris-nav-header-controls .sn-polaris-nav-btn{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-header-controls .sn-polaris-nav-btn.selected,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn.selected .leaf-item-icon,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus .leaf-item-icon,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus-visible:hover,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-polaris-nav-header-controls .sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-nav-header-controls .sn-polaris-nav-btn:focus,.sn-polaris-nav-header-controls .sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-nav-header-controls.hide{left:-99999px;position:absolute;top:-99999px}.sn-polaris-nav-header-controls.sync.refreshing>button{cursor:not-allowed}.sn-polaris-nav-header-controls.sync.refreshing now-icon{opacity:var(--now-opacity--less,.25)}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.selected,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.selected .leaf-item-icon,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus .leaf-item-icon,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus-visible:hover,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:focus,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn now-icon{transform:rotate(-45deg)}@media(forced-colors:active){.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.is-pinned:focus,.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.is-pinned now-icon{transform:rotate(0deg)}.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn.is-pinned.reversed now-icon{transform:rotate(-90deg)}.menu-tab-container{overflow:hidden;pointer-events:none}@media screen and (max-width:992px){.sn-polaris-nav-header-controls.pin .sn-polaris-nav-btn{display:none}}.grid-container{height:3.25rem;overflow:hidden;pointer-events:none;position:relative;top:0}.grid-container svg{bottom:0;height:0;position:absolute;width:20rem}.grid-container svg.can-animate{transition:height .5s cubic-bezier(0,.93,.46,1)}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.grid-container svg path{fill:RGBA(var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)),var(--now-unified-nav_menu--background-color-alpha,.9));stroke:RGB(var(--now-unified-nav_menu--border-color,var(--now-color_chrome--divider-3,92,109,110)));stroke-width:.0625rem}.grid-container svg path.can-animate{transition:.5s cubic-bezier(0,.93,.46,1)}}@media(forced-colors:active){.grid-container svg path{fill:Canvas;stroke:CanvasText;stroke-width:.0625rem}.grid-container svg path.can-animate{transition:.5s cubic-bezier(0,.93,.46,1)}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-polaris-nav-list-items{list-style:none;margin:0;padding:0}.item-label{display:grid;grid-template-columns:auto 1fr;overflow:hidden}.item-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-label span:after{content:\\\"\\\";display:block}a.item-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}span.hint,span.tooltip-label{display:none}.sn-polaris-nav-list-item{align-items:center;cursor:pointer;font-size:1rem}.sn-polaris-nav-list-item.is-collapsible-item{display:grid;grid-template-columns:auto 1fr}.sn-polaris-nav-list-item.is-collapsible-item:before{border-inline-start:1px solid RGB(var(--now-unified-nav_menu-divider-vertical--color,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))));content:\\\"\\\";height:100%;margin-inline-start:.25rem;width:.5rem}.sn-polaris-nav-list-item.is-collapsible-item.can-animate{transition:background-color,color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.is-collapsible-item.can-animate:before{transition:box-shadow .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.is-filtered a:hover{color:inherit}.sn-polaris-nav-list-item.can-animate{transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.can-animate .menu-action{transition:background-color 125ms cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item:last-child{border-block-end:none}.sn-polaris-nav-list-item span{white-space:nowrap}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item:focus-within .label,.sn-polaris-nav-list-item:hover .label{color:RGB(var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))!important}}.sn-polaris-nav-list-item:focus-within.is-filtered mark,.sn-polaris-nav-list-item:hover.is-filtered mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item:focus-within.is-filtered .delete,.sn-polaris-nav-list-item:focus-within.is-filtered .edit-menu,.sn-polaris-nav-list-item:focus-within.is-filtered .label,.sn-polaris-nav-list-item:hover.is-filtered .delete,.sn-polaris-nav-list-item:hover.is-filtered .edit-menu,.sn-polaris-nav-list-item:hover.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}}.sn-polaris-nav-list-item a{background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),0);border-radius:.25rem;display:block;text-decoration:none}.sn-polaris-nav-list-item a.highlighted-item{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item a.highlighted-item .delete,.sn-polaris-nav-list-item a.highlighted-item .edit-menu,.sn-polaris-nav-list-item a.highlighted-item .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.sn-polaris-nav-list-item a.highlighted-item mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-polaris-nav-list-item a:hover{color:RGB(var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))}mark{background:none;font-weight:bolder}@media(forced-colors:active){mark{background-color:Mark;color:MarkText}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color,var(--now-color--neutral-4,191,197,198)))!important}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.menu-action:focus-visible>:first-child,.menu-action:hover>:first-child{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_menu-filter-result--color)))!important}}:host{display:block}.chevron,.edit,.star{fill:currentColor;fill-rule:evenodd;stroke:none;stroke-width:1px}.menu-action-interaction-state::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.menu-action-interaction-state.selected,.menu-action-interaction-state:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.menu-action-interaction-state.selected .leaf-item-icon,.menu-action-interaction-state:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.menu-action-interaction-state:focus,.menu-action-interaction-state:focus-visible{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.menu-action-interaction-state:focus .leaf-item-icon,.menu-action-interaction-state:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.menu-action-interaction-state:focus-visible:hover,.menu-action-interaction-state:focus:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.menu-action-interaction-state:focus-visible:hover .leaf-item-icon,.menu-action-interaction-state:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.menu-action-interaction-state:-moz-focusring{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.menu-action-interaction-state:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.menu-action-interaction-state:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.menu-action-interaction-state:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.menu-action-interaction-state:focus{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.menu-action-interaction-state:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.menu-action-interaction-state:focus:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.menu-action-interaction-state:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.menu-action-interaction-state:active{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.menu-action-interaction-state:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.menu-action{align-items:center;background:none;background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:none;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:flex;font:inherit;height:1.5rem;justify-content:center;opacity:0;outline:none;padding:0;position:relative;width:1px}.menu-action now-icon{display:none}@media(forced-colors:active){.menu-action{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.menu-action:focus,.menu-action:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.menu-action.is-favorite,.menu-action:focus,.menu-action:hover{opacity:1;width:1.5rem}.menu-action.is-favorite now-icon,.menu-action:focus now-icon,.menu-action:hover now-icon{display:inline-block}.menu-action.favorite{color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.menu-action.favorite.selected,.menu-action.favorite:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite.selected .leaf-item-icon,.menu-action.favorite:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))!important}}.menu-action.favorite:focus,.menu-action.favorite:focus-visible{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)));outline:none}.menu-action.favorite:focus .leaf-item-icon,.menu-action.favorite:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)))!important}.menu-action.favorite:focus-visible:hover,.menu-action.favorite:focus:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite:focus-visible:hover .leaf-item-icon,.menu-action.favorite:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))!important}.menu-action.favorite:-moz-focusring{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)));outline:none}.menu-action.favorite:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)))!important}.menu-action.favorite:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.menu-action.favorite:focus{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)));outline:none}.menu-action.favorite:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)))!important}.menu-action.favorite:focus:hover{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--hover,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--hover,var(--now-color_grouped--yellow-1,245,224,155)))!important}}}.menu-action.favorite:active{background-color:RGBA(var(--now-unified-nav_favorite-icon--background-color--active,var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)))}.menu-action.favorite:active .leaf-item-icon{color:RGB(var(--now-unified-nav_favorite-icon--color--active,var(--now-color_grouped--yellow-1,245,224,155)))!important}@media(forced-colors:active){.menu-action.favorite{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.menu-action.favorite:focus,.menu-action.favorite:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}.menu-action.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.menu-action.is-favorite:focus,.menu-action.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}now-icon.leaf-item-icon{align-self:center;margin-inline-end:.25rem}.snf-collapsible-list{display:block}.snf-collapsible-list,.snf-collapsible-list-header{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));font-size:1rem}.snf-collapsible-list-header{align-items:center;background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),0);border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha,1));border-radius:var(--now-unified-nav_menu-item--border-radius,.25rem);cursor:pointer;display:grid;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);grid-template-columns:1fr auto;min-height:2rem;padding:.25rem 0 .25rem .25rem;position:relative;text-align:left;-webkit-user-select:none;user-select:none;width:100%}.snf-collapsible-list-header.reversed{text-align:right}.snf-collapsible-list-header::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.snf-collapsible-list-header.selected,.snf-collapsible-list-header:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header.selected .leaf-item-icon,.snf-collapsible-list-header:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.snf-collapsible-list-header:focus,.snf-collapsible-list-header:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.snf-collapsible-list-header:focus .leaf-item-icon,.snf-collapsible-list-header:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.snf-collapsible-list-header:focus-visible:hover,.snf-collapsible-list-header:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header:focus-visible:hover .leaf-item-icon,.snf-collapsible-list-header:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.snf-collapsible-list-header:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.snf-collapsible-list-header:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.snf-collapsible-list-header:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.snf-collapsible-list-header:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.snf-collapsible-list-header:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.snf-collapsible-list-header:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.snf-collapsible-list-header:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.snf-collapsible-list-header.selected,.snf-collapsible-list-header:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.snf-collapsible-list-header{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.snf-collapsible-list-header:focus,.snf-collapsible-list-header:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}.snf-collapsible-list-header[aria-expanded=true] .chevron-container{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.snf-collapsible-list-header[aria-expanded=true] .chevron-container:focus,.snf-collapsible-list-header[aria-expanded=true] .chevron-container:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.snf-collapsible-list-header:focus-within,.snf-collapsible-list-header:hover{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color--hover,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha--hover,1))}.snf-collapsible-list-header:focus-within .item-label,.snf-collapsible-list-header:hover .item-label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.snf-collapsible-list-header:focus-within.is-filtered mark,.snf-collapsible-list-header:hover.is-filtered mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.snf-collapsible-list-header:focus-within.is-filtered .label,.snf-collapsible-list-header:hover.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}}@media(forced-colors:active){.snf-collapsible-list-header:focus-within,.snf-collapsible-list-header:hover{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.snf-collapsible-list-header:focus-within:focus,.snf-collapsible-list-header:focus-within:hover,.snf-collapsible-list-header:hover:focus,.snf-collapsible-list-header:hover:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active){.snf-collapsible-list-header:focus .item-label,.snf-collapsible-list-header:focus .item-label .label,.snf-collapsible-list-header:hover .item-label,.snf-collapsible-list-header:hover .item-label .label{background:HighlightText;border:1px solid Highlight;color:Highlight}}.snf-collapsible-list-header .chevron-container{align-items:center;align-self:center;border:.0625rem solid transparent;color:RGB(var(--now-unified-nav_menu-item_icon--color,var(--now-color--neutral-0,255,255,255)));display:flex;justify-content:center;margin-inline-end:.5rem;vertical-align:middle}@media(forced-colors:active){.snf-collapsible-list-header .chevron-container[aria-expanded=true]{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.snf-collapsible-list-header .chevron-container[aria-expanded=true]:focus,.snf-collapsible-list-header .chevron-container[aria-expanded=true]:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.snf-collapsible-list-header .chevron-container.selectable{border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.snf-collapsible-list-header .chevron-container.selectable::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.snf-collapsible-list-header .chevron-container.selectable.selected,.snf-collapsible-list-header .chevron-container.selectable:hover{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.snf-collapsible-list-header .chevron-container.selectable.selected .leaf-item-icon,.snf-collapsible-list-header .chevron-container.selectable:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}.snf-collapsible-list-header .chevron-container.selectable:focus,.snf-collapsible-list-header .chevron-container.selectable:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.snf-collapsible-list-header .chevron-container.selectable:focus .leaf-item-icon,.snf-collapsible-list-header .chevron-container.selectable:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.snf-collapsible-list-header .chevron-container.selectable:focus-visible:hover,.snf-collapsible-list-header .chevron-container.selectable:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.snf-collapsible-list-header .chevron-container.selectable:focus-visible:hover .leaf-item-icon,.snf-collapsible-list-header .chevron-container.selectable:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.snf-collapsible-list-header .chevron-container.selectable:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.snf-collapsible-list-header .chevron-container.selectable:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.snf-collapsible-list-header .chevron-container.selectable:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.snf-collapsible-list-header .chevron-container.selectable:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.snf-collapsible-list-header .chevron-container.selectable:focus{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))));outline:none}.snf-collapsible-list-header .chevron-container.selectable:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}.snf-collapsible-list-header .chevron-container.selectable:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--hover,var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.snf-collapsible-list-header .chevron-container.selectable:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--hover,var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}}}.snf-collapsible-list-header .chevron-container.selectable:active{background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color--active,var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97)))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))}.snf-collapsible-list-header .chevron-container.selectable:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-button-iconic--color--active,var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))))!important}@media(forced-colors:active){.snf-collapsible-list-header .chevron-container.selectable{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.snf-collapsible-list-header .chevron-container.selectable:focus,.snf-collapsible-list-header .chevron-container.selectable:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.snf-collapsible-list-header .chevron-container.selectable:focus,.snf-collapsible-list-header .chevron-container.selectable:hover{border:solid .0625rem RGB(var(--now-color_chrome--divider-0,169,178,179));outline:none}@media(forced-colors:active){.snf-collapsible-list-header .chevron-container.selectable:focus,.snf-collapsible-list-header .chevron-container.selectable:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.snf-collapsible-list-header.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1)}.snf-collapsible-list-header.can-animate .chevron{transition:transform .25s cubic-bezier(0,.93,.46,1)}.snf-collapsible-list-header.is-collapsed .chevron{transform:rotate(90deg)}.snf-collapsible-list-header.is-collapsed .chevron:not(.reversed){transform:rotate(-90deg)}.snf-collapsible-list-header.selected-item{background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),var(--now-opacity--most,.8));border:solid 1px RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.item-label:focus,.item-label:focus-visible{background-color:transparent;box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));outline:none}.menu-item-header:focus-within,.menu-item-header:hover{background-color:RGB(var(--now-unified-nav_menu-item--background-color--hover))}.menu-item-header:focus-within .menu-action,.menu-item-header:hover .menu-action{opacity:1;width:1.5rem}.menu-item-header:focus-within .menu-action now-icon,.menu-item-header:hover .menu-action now-icon{display:inline-block}.menu-item-header:focus-within .chevron,.menu-item-header:focus-within .label,.menu-item-header:hover .chevron,.menu-item-header:hover .label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.menu-item-header.hover .label{text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.menu-item-header .disabled{opacity:.25}.menu-item-header .chevron{fill:currentColor}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.menu-item-header:focus .menu-action{opacity:1;width:1.5rem}.menu-item-header:focus .menu-action now-icon{display:inline-block}.menu-item-header:focus .item-label,.menu-item-header:focus .label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}}}.menu-item-row{border:solid var(--now-unified-nav_menu-subitem--border-size,var(--now-unified-nav_menu-item--border-size,0)) RGBA(var(--now-unified-nav_menu-subitem--border-color,var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)))),var(--now-unified-nav_menu-subitem--border-color-alpha,var(--now-unified-nav_menu-item--border-color-alpha,1)));border-radius:var(--now-unified-nav_menu-subitem--border-radius,0);display:flex;position:relative}.menu-item-row:focus-within{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)))}.menu-item-row:focus-within .menu-action{opacity:1;width:1.5rem}.menu-item-row:focus-within .menu-action now-icon{display:inline-block}.menu-item-row:hover{border:solid var(--now-unified-nav_menu-subitem--border-size,var(--now-unified-nav_menu-item--border-size,0)) RGBA(var(--now-unified-nav_menu-subitem--border-color--hover,var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64)))),var(--now-unified-nav_menu-subitem--border-color-alpha--hover,var(--now-unified-nav_menu-item--border-color-alpha--hover,1)))}.menu-item-row:hover .menu-action{opacity:1;width:1.5rem}.menu-item-row:hover .menu-action now-icon{display:inline-block}.menu-item-row:hover a{text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.menu-item-row:hover a{color:RGB(var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))}}.menu-item-row:hover>.outline{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)))}.menu-item-row a.item-label{background-color:transparent;flex-grow:1}.menu-item-row a.item-label:focus,.menu-item-row a.item-label:focus-visible{background-color:transparent;box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));outline:none}.menu-item-row>.outline{border-radius:.25rem;height:100%;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:-1}.menu-item-row.highlighted-menu-item-row>.outline{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)))}.menu-item-row a.item-label:-moz-focusring~.outline{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));outline:none}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.menu-item-row a.item-label:focus~.outline,.menu-item-row.highlighted-menu-item-row>.outline,.menu-item-row:hover>.outline{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)))}.menu-item-row a.item-label:focus~.outline{box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));outline:none}}}span.menu-action-container{grid-gap:.25rem;align-items:center;display:grid;flex-shrink:0;grid-template:\\\"1fr 1fr\\\";inset-inline-end:0;overflow:visible;padding-inline-end:.25rem;padding-inline-start:.25rem;vertical-align:middle}span.menu-action-container:focus-within .menu-action{width:1.5rem}span.menu-action-container:focus-within .menu-action now-icon{display:inline-block}span.menu-action-container now-icon.checkmark{align-items:center;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:flex;justify-content:center}.show-hidden-controls .menu-action{opacity:1;width:1.5rem}.show-hidden-controls .menu-action now-icon{display:inline-block}span.is-favorite{opacity:1;width:1.5rem}span.is-favorite now-icon{display:inline-block}.snf-collapsible-list-items{list-style:none;margin:0;max-height:6250rem;opacity:1;padding:0 0 0 .5rem;-webkit-user-select:none;user-select:none}.snf-collapsible-list-items,.snf-collapsible-list-items a{color:RGB(var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)))}@media(forced-colors:active){.snf-collapsible-list-items a{color:LinkText}.snf-collapsible-list-items a:visited{color:VisitedText}.snf-collapsible-list-items a:active{color:ActiveText}}.snf-collapsible-list-items.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1),opacity .25s cubic-bezier(0,.93,.46,1),visibility .25s cubic-bezier(0,.93,.46,1)}.snf-collapsible-list-items:focus{outline:none}.snf-collapsible-list-items.is-collapsed{max-height:0;opacity:0;overflow:hidden;padding-block-end:0;padding-block-start:0;visibility:hidden}.snf-collapsible-section-divider{background-color:RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)));border:none;height:.0625rem;margin:.5rem;opacity:var(--now-opacity--mid,.5)}@media(forced-colors:active){.snf-collapsible-section-divider{background-color:CanvasText}}a.item-label{align-items:center;border-radius:.25rem;display:grid;grid-template-columns:1fr auto;height:2rem;padding-inline-start:.5rem}a.item-label .item-icon{display:flex}a.item-label.selected-item{background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),var(--now-opacity--most,.8));border:solid 1px RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}.purple{color:RGB(var(--now-color_grouped--purple-2,181,155,209))}.purple-light{color:RGB(var(--now-color_grouped--purple-1,207,190,225))}.purple-lighter{color:RGB(var(--now-color_grouped--purple-0,233,225,241))}.blue,.normal{color:RGB(var(--now-color_grouped--blue-2,120,176,204))}.blue-light{color:RGB(var(--now-color_grouped--blue-1,167,204,222))}.blue-lighter{color:RGB(var(--now-color_grouped--blue-0,215,231,240))}.cyan{color:RGB(var(--now-color_grouped--teal-2,104,174,163))}.cyan-light{color:RGB(var(--now-color_grouped--teal-1,157,202,195))}.cyan-lighter{color:RGB(var(--now-color_grouped--teal-0,210,231,227))}.aqua,.aquamarine{color:RGB(var(--now-color_grouped--teal-2,104,174,163))}.aqua-light{color:RGB(var(--now-color_grouped--teal-1,157,202,195))}.aqua-lighter{color:RGB(var(--now-color_grouped--teal-0,210,231,227))}.green{color:RGB(var(--now-color_grouped--green-2,147,170,125))}.green-light{color:RGB(var(--now-color_grouped--green-1,185,200,171))}.green-lighter{color:RGB(var(--now-color_grouped--green-0,223,230,216))}.yellow{color:RGB(var(--now-color_grouped--yellow-2,240,207,101))}.yellow-light{color:RGB(var(--now-color_grouped--yellow-1,245,224,155))}.yellow-lighter{color:RGB(var(--now-color_grouped--yellow-0,251,241,209))}.orange{color:RGB(var(--now-color_grouped--orange-2,215,129,106))}.orange-light{color:RGB(var(--now-color_grouped--orange-1,229,173,158))}.orange-lighter{color:RGB(var(--now-color_grouped--orange-0,243,217,210))}.burnt-orange{color:RGB(var(--now-color_grouped--orange-3,183,110,90))}.red{color:RGB(var(--now-color_grouped--pink-2,203,121,143))}.red-light{color:RGB(var(--now-color_grouped--pink-1,221,168,182))}.red-lighter{color:RGB(var(--now-color_grouped--pink-0,239,215,221))}.pink{color:RGB(var(--now-color_grouped--magenta-3,173,103,164))}.pink-light{color:RGB(var(--now-color_grouped--magenta-1,221,168,215))}.pink-lighter{color:RGB(var(--now-color_grouped--magenta-0,239,215,236))}.fuschia{color:RGB(var(--now-color_grouped--magenta-2,203,121,193))}.white{color:RGB(var(--now-color--neutral-0,255,255,255))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{display:block}:host(.can-animate){transition:background-color .25s cubic-bezier(0,.93,.46,1)}.sn-drilldown-list{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));display:block;font-size:1rem}.sn-drilldown-list .sn-drilldown-list-header{margin:.25rem 0}.sn-drilldown-list-header{grid-row-gap:.25rem;align-items:center;border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:grid;grid-template-columns:1fr min-content min-content;outline:none;padding:.5rem;-webkit-user-select:none;user-select:none;width:100%}.sn-drilldown-list-header .sn-drilldown-list-icon{margin-inline-end:.25rem}.sn-drilldown-list-header.can-animate,.sn-drilldown-list-header.can-animate now-icon{transition:background-color .25s cubic-bezier(0,.93,.46,1)}.sn-drilldown-list-header::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-drilldown-list-header.selected,.sn-drilldown-list-header:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-drilldown-list-header.selected .leaf-item-icon,.sn-drilldown-list-header:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-drilldown-list-header:focus,.sn-drilldown-list-header:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-drilldown-list-header:focus .leaf-item-icon,.sn-drilldown-list-header:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-drilldown-list-header:focus-visible:hover,.sn-drilldown-list-header:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-drilldown-list-header:focus-visible:hover .leaf-item-icon,.sn-drilldown-list-header:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-drilldown-list-header:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-drilldown-list-header:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-drilldown-list-header:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-drilldown-list-header:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-drilldown-list-header:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-drilldown-list-header:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-drilldown-list-header:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-drilldown-list-header:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.sn-drilldown-list-header:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-drilldown-list-header:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-drilldown-list-header.selected,.sn-drilldown-list-header:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:active){.sn-drilldown-list-header{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-drilldown-list-header:focus,.sn-drilldown-list-header:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-drilldown-list-header:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,.8)));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}span.label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}span.label:after{content:\\\"\\\";display:block}span.label.is-dirty{align-items:center;display:flex}span.hint{display:none}.indicator{background-color:RGB(var(--now-color_presence--busy,234,60,16));border:.0625rem solid RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));border-radius:50%;display:block;height:.5rem;height:.625rem;margin-inline:.5rem;width:.625rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{display:block;height:100%}.sn-polaris-tab-content{grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.sn-polaris-nav-body>sn-collapsible-list{margin:0 .25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.sn-polaris-nav-list-items{list-style:none;margin:0;padding:0}.item-label{display:grid;grid-template-columns:auto 1fr;overflow:hidden}.item-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-label span:after{content:\\\"\\\";display:block}a.item-label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)))}span.hint,span.tooltip-label{display:none}.sn-polaris-nav-list-item{align-items:center;cursor:pointer;font-size:1rem}.sn-polaris-nav-list-item.is-collapsible-item{display:grid;grid-template-columns:auto 1fr}.sn-polaris-nav-list-item.is-collapsible-item:before{border-inline-start:1px solid RGB(var(--now-unified-nav_menu-divider-vertical--color,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))));content:\\\"\\\";height:100%;margin-inline-start:.25rem;width:.5rem}.sn-polaris-nav-list-item.is-collapsible-item.can-animate{transition:background-color,color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.is-collapsible-item.can-animate:before{transition:box-shadow .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.is-filtered a:hover{color:inherit}.sn-polaris-nav-list-item.can-animate{transition:color .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item.can-animate .menu-action{transition:background-color 125ms cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-list-item:last-child{border-block-end:none}.sn-polaris-nav-list-item span{white-space:nowrap}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item:focus-within .label,.sn-polaris-nav-list-item:hover .label{color:RGB(var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))!important}}.sn-polaris-nav-list-item:focus-within.is-filtered mark,.sn-polaris-nav-list-item:hover.is-filtered mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item:focus-within.is-filtered .delete,.sn-polaris-nav-list-item:focus-within.is-filtered .edit-menu,.sn-polaris-nav-list-item:focus-within.is-filtered .label,.sn-polaris-nav-list-item:hover.is-filtered .delete,.sn-polaris-nav-list-item:hover.is-filtered .edit-menu,.sn-polaris-nav-list-item:hover.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}}.sn-polaris-nav-list-item a{background-color:RGBA(var(--now-color_chrome--brand-9,25,38,38),0);border-radius:.25rem;display:block;text-decoration:none}.sn-polaris-nav-list-item a.highlighted-item{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-list-item a.highlighted-item .delete,.sn-polaris-nav-list-item a.highlighted-item .edit-menu,.sn-polaris-nav-list-item a.highlighted-item .label{color:RGB(var(--now-unified-nav_menu-filter-result--color--hover,var(--now-color--neutral-4,191,197,198)))!important}.sn-polaris-nav-list-item a.highlighted-item mark{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-polaris-nav-list-item a:hover{color:RGB(var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))))}mark{background:none;font-weight:bolder}@media(forced-colors:active){mark{background-color:Mark;color:MarkText}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){mark.filter-match{color:RGB(var(--now-unified-nav_menu-filter-result-mark--color,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.is-filtered .label{color:RGB(var(--now-unified-nav_menu-filter-result--color,var(--now-color--neutral-4,191,197,198)))!important}}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.menu-action:focus-visible>:first-child,.menu-action:hover>:first-child{color:RGB(var(--now-unified-nav_nav-menu-trigger--color--active,var(--now-unified-nav_menu-filter-result--color)))!important}}:host{display:block}:host(.can-animate){transition:color .25s cubic-bezier(0,.93,.46,1)}.section-header{align-items:center;display:flex;justify-content:space-between;padding:.5rem .75rem}.section-header>hr.section-divider{background-color:RGB(var(--now-unified-nav_menu-section-header-divider--color,var(--now-unified-nav_menu-section-header--background-color,var(--now-color--primary-0,221,237,233))));border:0;height:1px;margin:0;opacity:1;width:100%}.section-header>span.section-label{background-color:RGB(var(--now-unified-nav_menu-section-header--background-color,var(--now-color--primary-0,221,237,233)));border-radius:.25rem;color:RGB(var(--now-unified-nav_menu-section-header--color,var(--now-color--primary-2,23,100,82)));font-size:.75rem;font-weight:700;padding:.25rem .5rem;text-transform:uppercase;white-space:nowrap}.section-divider{border-bottom:none;color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));margin:.5rem .75rem;opacity:var(--now-opacity--mid,.5)}.section-divider:last-of-type{opacity:0}a.menu-item-link{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha,1));color:RGB(var(--now-color--primary-0,221,237,233))}a.menu-item-link::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){a.menu-item-link.selected,a.menu-item-link:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}a.menu-item-link.selected .leaf-item-icon,a.menu-item-link:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}a.menu-item-link:focus,a.menu-item-link:focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}a.menu-item-link:focus .leaf-item-icon,a.menu-item-link:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}a.menu-item-link:focus-visible:hover,a.menu-item-link:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}a.menu-item-link:focus-visible:hover .leaf-item-icon,a.menu-item-link:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}a.menu-item-link:-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}a.menu-item-link:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}a.menu-item-link:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}a.menu-item-link:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){a.menu-item-link:focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}a.menu-item-link:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}a.menu-item-link:focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}a.menu-item-link:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}a.menu-item-link:active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}a.menu-item-link:active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}a.menu-item-link.selected,a.menu-item-link:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}a.menu-item-link.highlighted-item,a.menu-item-link:focus,a.menu-item-link:hover{border:solid var(--now-unified-nav_menu-item--border-size,0) RGBA(var(--now-unified-nav_menu-item--border-color--hover,var(--now-unified-nav_menu--background-color,var(--now-color_chrome--brand-5,41,63,64))),var(--now-unified-nav_menu-item--border-color-alpha--hover,1));text-decoration:none}a.menu-item-link.highlighted-item .menu-item-label span.label,a.menu-item-link:focus .menu-item-label span.label,a.menu-item-link:hover .menu-item-label span.label{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline)}a.menu-item-link.highlighted-item .menu-item-label span.menu-item-description,a.menu-item-link:focus .menu-item-label span.menu-item-description,a.menu-item-link:hover .menu-item-label span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--hover,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}a.menu-item-link.highlighted-item span.menu-item-time-marker,a.menu-item-link:focus span.menu-item-time-marker,a.menu-item-link:hover span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-label--color--hover,var(--now-unified-nav_menu-subitem--color--hover,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)))))}a.menu-item-link:active .menu-item-label span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color--active,var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198))))}a.menu-item-link:active span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-label--color--active,var(--now-unified-nav_menu-subitem--color--active,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233)))))}.menu-item{display:flex;justify-content:space-between;overflow:hidden;padding:.25rem .5rem;position:relative}.menu-item>.menu-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item>.menu-item-label:after{content:\\\"\\\";display:block}.menu-item>.menu-item-label>span.label{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));font-size:1rem}.menu-item>.menu-item-label>span.menu-item-description{color:RGB(var(--now-unified-nav_menu-sublabel--color,var(--now-color--neutral-4,191,197,198)));font-size:.75rem}.menu-item>span.menu-item-time-marker{color:RGB(var(--now-unified-nav_menu-label--color,var(--now-unified-nav_menu-subitem--color,var(--now-color--primary-0,221,237,233))));font-size:.75rem;padding-top:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}:host{display:block;height:100%}now-loader{height:65vh;padding-top:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}*{scrollbar-color:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110))) transparent;scrollbar-width:auto}::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{border-radius:.5rem}::-webkit-scrollbar-thumb{background:RGB(var(--now-unified-nav_menu-scrollbar--color,var(--now-color_chrome--divider-3,92,109,110)));border-radius:.5rem}.polaris-header-experience-title{align-items:center;background-color:RGB(var(--now-unified-nav_contextual-app-pill--background-color,var(--now-unified-nav_header--background-color,var(--now-color_chrome--brand-10,21,32,32))));border:1px solid;border-color:RGB(var(--now-unified-nav_contextual-app-pill--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:50px;color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));display:flex;height:2rem;justify-content:center;margin-inline-end:.75rem;margin-inline-start:.75rem;max-width:30vw;outline:none;overflow:hidden;padding-inline-end:1rem;padding-bottom:.5rem;padding-inline-start:1rem;padding-top:.5rem;place-self:center}@media screen and (max-width:530px){.polaris-header-experience-title{max-width:15.3125rem}}.experience-title-icon.polaris-enabled{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))))}.experience-title-icon:not(.polaris-enabled){color:RGB(var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))}.experience-title-favorite-button{align-items:center;border-radius:50%;color:RGB(var(--now-unified-nav_favorite-icon--color,var(--now-color_grouped--yellow-1,245,224,155)));cursor:pointer;display:flex;padding:.1875rem}.experience-title-favorite-button::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.experience-title-favorite-button.selected,.experience-title-favorite-button:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button.selected .leaf-item-icon,.experience-title-favorite-button:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.experience-title-favorite-button:focus,.experience-title-favorite-button:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:focus .leaf-item-icon,.experience-title-favorite-button:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:focus-visible:hover,.experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:focus-visible:hover .leaf-item-icon,.experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.experience-title-favorite-button:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.experience-title-favorite-button:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.experience-title-favorite-button:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.experience-title-favorite-button:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.experience-title-favorite-button:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.experience-title-favorite-button{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.experience-title-favorite-button:focus,.experience-title-favorite-button:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}@media(forced-colors:active)and (forced-colors:active){.experience-title-favorite-button.is-favorite{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.experience-title-favorite-button.is-favorite:focus,.experience-title-favorite-button.is-favorite:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}@media(forced-colors:active){.experience-title-favorite-buttonactive{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.experience-title-favorite-buttonactive:focus,.experience-title-favorite-buttonactive:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.experience-title{color:RGB(var(--now-unified-nav_contextual-app-pill--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255))));font-size:1rem;font-weight:700;margin-inline-end:.25rem;margin-inline-start:.5rem}@keyframes transitionLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes transitionRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}:host{display:block;height:100%;overflow:hidden}.sn-polaris-tab-content{border-radius:.25rem;display:grid;grid-area:content;grid-template-rows:min-content 1fr;height:0;opacity:0;overflow:hidden}.sn-polaris-tab-content.can-animate{transition:opacity .25s cubic-bezier(0,.93,.46,1),transform .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-tab-content.-left{transform:translateX(2rem)}.sn-polaris-tab-content.-right{transform:translateX(-2rem)}.sn-polaris-tab-content.is-visible{height:100%;opacity:1;transform:translateX(0)}.overflow-pill-header{flex-direction:column;padding:.125rem 0 .5rem 0}.overflow-pill-header,.sn-polaris-nav-header-container{align-items:center;border-bottom:.0625rem solid RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex}.sn-polaris-nav-header-container{gap:.313rem;margin-inline-end:.75rem;margin-inline-start:.75rem;padding:.125rem 0}.sn-polaris-nav-header-container.can-animate{animation-duration:.25s;animation-name:transitionRight}.sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-polaris-nav-header-container.can-animate{animation-name:transitionLeft}:host([dir=rtl]) .sn-polaris-nav-header-container.is-drilled.can-animate{animation-name:transitionRight}.sn-polaris-nav-header{color:RGB(var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;display:flex;gap:.5rem;grid-template-columns:min-content 1fr;line-height:1;padding-block:.75rem;padding-inline-end:0;padding-inline-start:0}.sn-polaris-nav-header .menu-item-with-icon{align-items:center;display:flex}.sn-polaris-nav-header .menu-item-with-icon .sn-polaris-nav-header-icon{margin-inline-end:.25rem}.sn-polaris-nav-header span{font-size:1rem}.sn-polaris-nav-header.is-single{flex-grow:1;grid-template-columns:1fr}.sn-polaris-nav-header .sn-polaris-nav-header-controls{position:relative;white-space:nowrap}.sn-polaris-nav-header.is-drilled{flex-grow:1}.sn-polaris-nav-header.is-drilled now-icon{margin-inline-start:.25rem}.sn-polaris-nav-header.is-drilled:not(.is-single){border-radius:.25rem}.sn-polaris-nav-header.is-drilled:not(.is-single)::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header.is-drilled:not(.is-single).selected .leaf-item-icon,.sn-polaris-nav-header.is-drilled:not(.is-single):hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}.sn-polaris-nav-header.is-drilled:not(.is-single):focus,.sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon,.sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover,.sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header.is-drilled:not(.is-single):focus-visible:hover .leaf-item-icon,.sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header.is-drilled:not(.is-single):-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-header.is-drilled:not(.is-single):focus{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))));outline:none}.sn-polaris-nav-header.is-drilled:not(.is-single):focus .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header.is-drilled:not(.is-single):focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--hover,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}}}.sn-polaris-nav-header.is-drilled:not(.is-single):active{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--active,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))}.sn-polaris-nav-header.is-drilled:not(.is-single):active .leaf-item-icon{color:RGB(var(--now-unified-nav_menu-item--color--active,var(--now-unified-nav_menu-item--color,var(--now-color--neutral-0,255,255,255))))!important}.sn-polaris-nav-header.is-drilled:not(.is-single).selected,.sn-polaris-nav-header.is-drilled:not(.is-single):hover{background-color:RGBA(var(--now-unified-nav_menu-item--background-color--hover,var(--now-color_chrome--brand-9,25,38,38)),var(--now-unified-nav_menu-item--background-color-alpha--hover,var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8))));text-decoration:var(--now-unified-nav_menu-item--text-decoration--hover,underline);text-underline-offset:.125rem}.sn-polaris-nav-header.nav-overflow{margin-inline-end:.75rem;margin-inline-start:.75rem}.sn-polaris-overflow-body .drilldown-items{padding-block-end:.75rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.sn-polaris-overflow-body.is-drilled.can-animate{animation-duration:.25s;animation-name:transitionLeft}.sn-polaris-overflow-body.is-drilled.is-utility{max-height:calc(65vh - 2.8125rem)}.sn-polaris-overflow-body.is-drilled:not(.chat-button){overflow:auto}.sn-polaris-overflow-body.is-drilldown-list{max-height:65vh;overflow:hidden auto}:host([dir=rtl]) .sn-polaris-overflow-body.is-drilled.can-animate{animation-name:transitionRight}.sn-polaris-overflow-body.can-animate{transition:max-height .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-overflow-body .sn-polaris-nav-header{border-bottom:none}@media only screen and (max-height:256px){.sn-polaris-overflow-body.is-drilled.is-utility{max-height:none!important}}sn-drilldown-list{border-bottom:1px solid RGB(var(--now-unified-nav_menu-divider-horizontal--color,var(--now-color_chrome--divider-2,118,132,133)))}sn-drilldown-list:last-child{border-bottom:none}.sn-polaris-nav-btn{align-items:center;background-color:RGBA(var(--now-unified-nav_menu-button-iconic--background-color,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-button-iconic--background-color-alpha,var(--now-unified-nav_button--background-color-alpha,0)));border:0;border-radius:50%;color:RGB(var(--now-unified-nav_menu-button-iconic--color,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));cursor:pointer;display:inline-flex;height:2rem;justify-content:center;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:2rem}.sn-polaris-nav-btn now-icon.pinned-icon{transform:rotate(-45deg)}@media(forced-colors:active){.sn-polaris-nav-btn.is-pinned{background:SelectedItem;border:1px solid ButtonBorder;border-radius:.25rem;color:SelectedItemText}.sn-polaris-nav-btn.is-pinned:focus,.sn-polaris-nav-btn.is-pinned:hover{background:SelectedItem;border:1px solid Highlight;color:SelectedItemText}}.sn-polaris-nav-btn.is-pinned now-icon.pinned-icon{transform:rotate(-90deg)}.sn-polaris-nav-btn.is-pinned.reversed now-icon.pinned-icon{transform:rotate(0deg)}.sn-polaris-nav-btn::-moz-focus-inner{border-style:none}@media(forced-colors:none),not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){.sn-polaris-nav-btn.selected,.sn-polaris-nav-btn:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn.selected .leaf-item-icon,.sn-polaris-nav-btn:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:focus-visible{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon,.sn-polaris-nav-btn:focus-visible .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus-visible:hover,.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus-visible:hover .leaf-item-icon,.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:-moz-focusring .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:-moz-focusring:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:-moz-focusring:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports(-webkit-appearance:none){.sn-polaris-nav-btn:focus{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));box-shadow:0 0 0 .126rem RGB(var(--now-unified-nav_focus-ring--color,var(--now-color--focus-2,1,119,142))),inset 0 0 0 .063rem RGB(var(--now-unified-nav_focus-ring-inner--color,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))));outline:none}.sn-polaris-nav-btn:focus .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}.sn-polaris-nav-btn:focus:hover{background-color:RGBA(var(--now-unified-nav_button--background-color--hover,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_button--background-color-alpha--hover,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:focus:hover .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--hover,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}}}.sn-polaris-nav-btn:active{background-color:RGBA(var(--now-unified-nav_button--background-color--active,var(--now-unified-nav_button--background-color,var(--now-color_chrome--brand-4,77,96,97))),var(--now-unified-nav_menu-item--background-color-alpha--active,var(--now-opacity--most,.8)));color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))}.sn-polaris-nav-btn:active .leaf-item-icon{color:RGB(var(--now-unified-nav_button--color--active,var(--now-unified-nav_button--color,var(--now-unified-nav_header--color,var(--now-color--neutral-0,255,255,255)))))!important}@media(forced-colors:active){.sn-polaris-nav-btn{background:ButtonFace;border:1px solid ButtonBorder;border-radius:.25rem;color:ButtonText;forced-color-adjust:none}.sn-polaris-nav-btn:focus,.sn-polaris-nav-btn:hover{background:HighlightText;border:1px solid Highlight;color:Highlight}}.sn-polaris-nav-btn.can-animate{transition:background-color .25s cubic-bezier(0,.93,.46,1),border .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate now-icon.pinned-icon{transition:transform .25s cubic-bezier(0,.93,.46,1)}.sn-polaris-nav-btn.can-animate:before{transition:opacity .25s cubic-bezier(0,.93,.46,1)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-favorite-popup-content.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-polaris-layout.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dirty-form.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./draggable.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-polaris-menu.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-collapsible-list.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-drilldown-list.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-menu-template-all.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-menu-template-history.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-menu-template-loader.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-menu-template-overflow.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","module.exports = import(\"/uxasset/externals/@devsnc/sn-elevate-roles/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-help-panel/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-help/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-impersonation/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-ips-seismic-lit-wrapper/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-kb-shortcuts/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-notifications-menu/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-user-preferences-modal/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@servicenow/sn-banner-announcement/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@servicenow/uxa-commons-connected/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/now-assist-core/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/polaris-app-shell/components/sn-feedback-form/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/polaris-app-shell/components/sn-polaris-layout/favorite-edit-modal/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/polaris-app-shell/components/sn-polaris-layout/transaction-status-message/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/sn-oe-sfs/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/sn-unified-notification-preferences/index.jsdbx\");;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"HASANA_FILTER\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'HASANA_FILTER' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].HASANA_FILTER;\n\t\t\t\t\t} else if ('HASANA_FILTER' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.HASANA_FILTER || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].HASANA_FILTER;\n\t\t\t\t}, [\"HighlightedLabel\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'HighlightedLabel' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].HighlightedLabel;\n\t\t\t\t\t} else if ('HighlightedLabel' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.HighlightedLabel || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].HighlightedLabel;\n\t\t\t\t}, [\"INCLUDES\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'INCLUDES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].INCLUDES;\n\t\t\t\t\t} else if ('INCLUDES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.INCLUDES || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].INCLUDES;\n\t\t\t\t}, [\"MENU_ALL\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'MENU_ALL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].MENU_ALL;\n\t\t\t\t\t} else if ('MENU_ALL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.MENU_ALL || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].MENU_ALL;\n\t\t\t\t}, [\"PREFERENCES\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'PREFERENCES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].PREFERENCES;\n\t\t\t\t\t} else if ('PREFERENCES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.PREFERENCES || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].PREFERENCES;\n\t\t\t\t}, [\"SEPARATOR\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'SEPARATOR' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].SEPARATOR;\n\t\t\t\t\t} else if ('SEPARATOR' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.SEPARATOR || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].SEPARATOR;\n\t\t\t\t}, [\"SYS_PROPS\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'SYS_PROPS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].SYS_PROPS;\n\t\t\t\t\t} else if ('SYS_PROPS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.SYS_PROPS || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].SYS_PROPS;\n\t\t\t\t}, [\"createAuthedOnlyHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'createAuthedOnlyHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createAuthedOnlyHttpEffect;\n\t\t\t\t\t} else if ('createAuthedOnlyHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.createAuthedOnlyHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createAuthedOnlyHttpEffect;\n\t\t\t\t}, [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createHttpEffect;\n\t\t\t\t}, [\"createMenuTooltipFocusHandlers\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'createMenuTooltipFocusHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createMenuTooltipFocusHandlers;\n\t\t\t\t\t} else if ('createMenuTooltipFocusHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.createMenuTooltipFocusHandlers || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createMenuTooltipFocusHandlers;\n\t\t\t\t}, [\"createMenuTooltipHandlers\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'createMenuTooltipHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createMenuTooltipHandlers;\n\t\t\t\t\t} else if ('createMenuTooltipHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.createMenuTooltipHandlers || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createMenuTooltipHandlers;\n\t\t\t\t}, [\"createMenuTooltipHoverHandlers\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'createMenuTooltipHoverHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createMenuTooltipHoverHandlers;\n\t\t\t\t\t} else if ('createMenuTooltipHoverHandlers' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.createMenuTooltipHoverHandlers || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].createMenuTooltipHoverHandlers;\n\t\t\t\t}, [\"deepSearchElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].deepSearchElement;\n\t\t\t\t\t} else if ('deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.deepSearchElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].deepSearchElement;\n\t\t\t\t}, [\"effectProxy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'effectProxy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].effectProxy;\n\t\t\t\t\t} else if ('effectProxy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.effectProxy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].effectProxy;\n\t\t\t\t}, [\"executeFilter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'executeFilter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].executeFilter;\n\t\t\t\t\t} else if ('executeFilter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.executeFilter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].executeFilter;\n\t\t\t\t}, [\"getBooleanPreferenceValue\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'getBooleanPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].getBooleanPreferenceValue;\n\t\t\t\t\t} else if ('getBooleanPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.getBooleanPreferenceValue || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].getBooleanPreferenceValue;\n\t\t\t\t}, [\"getBooleanProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'getBooleanProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].getBooleanProperty;\n\t\t\t\t\t} else if ('getBooleanProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.getBooleanProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].getBooleanProperty;\n\t\t\t\t}, [\"getPreferenceValue\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'getPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].getPreferenceValue;\n\t\t\t\t\t} else if ('getPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.getPreferenceValue || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].getPreferenceValue;\n\t\t\t\t}, [\"onMouseEnterHeaderItem\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'onMouseEnterHeaderItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].onMouseEnterHeaderItem;\n\t\t\t\t\t} else if ('onMouseEnterHeaderItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.onMouseEnterHeaderItem || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].onMouseEnterHeaderItem;\n\t\t\t\t}, [\"onMouseEnterHistoryItem\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'onMouseEnterHistoryItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].onMouseEnterHistoryItem;\n\t\t\t\t\t} else if ('onMouseEnterHistoryItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.onMouseEnterHistoryItem || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].onMouseEnterHistoryItem;\n\t\t\t\t}, [\"onMouseEnterIconItem\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'onMouseEnterIconItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].onMouseEnterIconItem;\n\t\t\t\t\t} else if ('onMouseEnterIconItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.onMouseEnterIconItem || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].onMouseEnterIconItem;\n\t\t\t\t}, [\"onMouseEnterLabelItem\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'onMouseEnterLabelItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].onMouseEnterLabelItem;\n\t\t\t\t\t} else if ('onMouseEnterLabelItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.onMouseEnterLabelItem || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].onMouseEnterLabelItem;\n\t\t\t\t}, [\"onMouseLeaveItem\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'onMouseLeaveItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].onMouseLeaveItem;\n\t\t\t\t\t} else if ('onMouseLeaveItem' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.onMouseLeaveItem || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].onMouseLeaveItem;\n\t\t\t\t}, [\"requestIdleCallback\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'requestIdleCallback' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].requestIdleCallback;\n\t\t\t\t\t} else if ('requestIdleCallback' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.requestIdleCallback || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].requestIdleCallback;\n\t\t\t\t}, [\"scheduleHideTooltip\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'scheduleHideTooltip' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].scheduleHideTooltip;\n\t\t\t\t\t} else if ('scheduleHideTooltip' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.scheduleHideTooltip || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].scheduleHideTooltip;\n\t\t\t\t}, [\"scheduleShowTooltip\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.__esModule\n\t\t\t\t\tif (cjsModule && 'scheduleShowTooltip' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].scheduleShowTooltip;\n\t\t\t\t\t} else if ('scheduleShowTooltip' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__.scheduleShowTooltip || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_5_4_index_jsdbx_4d4b481b__[\"default\"].scheduleShowTooltip;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"whenScreenMacroponentIdleDuringPageLoad\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.__esModule\n\t\t\t\t\tif (cjsModule && 'whenScreenMacroponentIdleDuringPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleDuringPageLoad;\n\t\t\t\t\t} else if ('whenScreenMacroponentIdleDuringPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.whenScreenMacroponentIdleDuringPageLoad || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleDuringPageLoad;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"createPresentationalCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createPresentationalCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createPresentationalCustomElement;\n\t\t\t\t\t} else if ('createPresentationalCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createPresentationalCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createPresentationalCustomElement;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t}, [\"whenAllComponentsIdle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'whenAllComponentsIdle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].whenAllComponentsIdle;\n\t\t\t\t\t} else if ('whenAllComponentsIdle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.whenAllComponentsIdle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].whenAllComponentsIdle;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"guid\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.__esModule\n\t\t\t\t\tif (cjsModule && 'guid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"].guid;\n\t\t\t\t\t} else if ('guid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.guid || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"].guid;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"dangerouslyCreateElementFromString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t\t} else if ('dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.dangerouslyCreateElementFromString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"capitalize\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'capitalize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].capitalize;\n\t\t\t\t\t} else if ('capitalize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.capitalize || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].capitalize;\n\t\t\t\t}, [\"clone\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'clone' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clone;\n\t\t\t\t\t} else if ('clone' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.clone || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clone;\n\t\t\t\t}, [\"cloneDeep\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t\t} else if ('cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.cloneDeep || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"differenceWith\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'differenceWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].differenceWith;\n\t\t\t\t\t} else if ('differenceWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.differenceWith || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].differenceWith;\n\t\t\t\t}, [\"escape\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'escape' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].escape;\n\t\t\t\t\t} else if ('escape' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.escape || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].escape;\n\t\t\t\t}, [\"every\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'every' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].every;\n\t\t\t\t\t} else if ('every' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.every || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].every;\n\t\t\t\t}, [\"floor\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'floor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].floor;\n\t\t\t\t\t} else if ('floor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.floor || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].floor;\n\t\t\t\t}, [\"forEach\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t\t} else if ('forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forEach || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t}, [\"forOwn\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t\t} else if ('forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forOwn || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"groupBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'groupBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].groupBy;\n\t\t\t\t\t} else if ('groupBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.groupBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].groupBy;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"intersection\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'intersection' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].intersection;\n\t\t\t\t\t} else if ('intersection' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.intersection || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].intersection;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isInteger\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isInteger' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isInteger;\n\t\t\t\t\t} else if ('isInteger' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isInteger || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isInteger;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isPlainObject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isPlainObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isPlainObject;\n\t\t\t\t\t} else if ('isPlainObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isPlainObject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isPlainObject;\n\t\t\t\t}, [\"isUndefined\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t\t} else if ('isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isUndefined || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t}, [\"kebabCase\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'kebabCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].kebabCase;\n\t\t\t\t\t} else if ('kebabCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.kebabCase || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].kebabCase;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"mapKeys\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'mapKeys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapKeys;\n\t\t\t\t\t} else if ('mapKeys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.mapKeys || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapKeys;\n\t\t\t\t}, [\"mapValues\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t\t} else if ('mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.mapValues || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"omitBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omitBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omitBy;\n\t\t\t\t\t} else if ('omitBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omitBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omitBy;\n\t\t\t\t}, [\"partition\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'partition' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].partition;\n\t\t\t\t\t} else if ('partition' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.partition || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].partition;\n\t\t\t\t}, [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t}, [\"random\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'random' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].random;\n\t\t\t\t\t} else if ('random' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.random || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].random;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"size\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t\t} else if ('size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.size || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t}, [\"some\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t\t} else if ('some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.some || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t}, [\"sortBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'sortBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sortBy;\n\t\t\t\t\t} else if ('sortBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.sortBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sortBy;\n\t\t\t\t}, [\"take\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t\t} else if ('take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.take || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t}, [\"throttle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t\t} else if ('throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.throttle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t}, [\"toNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t\t} else if ('toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t}, [\"toPairs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toPairs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toPairs;\n\t\t\t\t\t} else if ('toPairs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toPairs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toPairs;\n\t\t\t\t}, [\"transform\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'transform' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].transform;\n\t\t\t\t\t} else if ('transform' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.transform || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].transform;\n\t\t\t\t}, [\"uniqBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t\t} else if ('uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t}, [\"values\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'values' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].values;\n\t\t\t\t\t} else if ('values' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.values || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].values;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst importRes = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });\nif (importRes.default && importRes.__esModule) {\n\tmodule.exports = importRes.default;\n\tif (!importRes.default.default)\n\t\tObject.assign(module.exports, {default: importRes.default});\n} else {\n\tmodule.exports = importRes;\n}","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (e.includes(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](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 = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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__.b = document.baseURI || self.location.href;\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\t792: 0\n};\n\n// no chunk on demand loading\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// no jsonp function","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createTooltipActionHandler\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.__esModule\n\t\t\t\t\tif (cjsModule && 'createTooltipActionHandler' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].createTooltipActionHandler;\n\t\t\t\t\t} else if ('createTooltipActionHandler' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.createTooltipActionHandler || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].createTooltipActionHandler;\n\t\t\t\t}, [\"unschedule\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.__esModule\n\t\t\t\t\tif (cjsModule && 'unschedule' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].unschedule;\n\t\t\t\t\t} else if ('unschedule' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__.unschedule || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_tooltip_index_jsdbx_acb3e1f9__[\"default\"].unschedule;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const LOGOUT_REQUESTED = 'LOGOUT#REQUESTED';\nexport const LOGOUT_CONFIRMATION_YES_CLICKED =\n\t'LOGOUT_CONFIRMATION#YES_CLICKED';\nexport const LOGOUT_CONFIRMATION_CANCEL_CLICKED =\n\t'LOGOUT_CONFIRMATION#CANCEL_CLICKED';\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {\n\tLOGOUT_CONFIRMATION_CANCEL_CLICKED,\n\tLOGOUT_CONFIRMATION_YES_CLICKED\n} from '../../../behaviors/logout-behavior/actions';\n\nexport const LogoutConfirmation = () => {\n\treturn (\n\t\t<now-modal\n\t\t\tnow-priority={'low'}\n\t\t\tclassName=\"logout-confirmation\"\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'logout-confirmation'\n\t\t\t}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\theader-label={t('Are you sure you want to log out?')}\n\t\t\tcontent={t(\n\t\t\t\t\"This will end your current session, and you'll need to log in again.\"\n\t\t\t)}\n\t\t\tsize=\"sm\"\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Log out'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: LOGOUT_CONFIRMATION_YES_CLICKED\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: LOGOUT_CONFIRMATION_CANCEL_CLICKED\n\t\t\t\t}\n\t\t\t]}\n\t\t/>\n\t);\n};\n","export const BEHAVIOR_NAME = 'FAVORITES_BEHAVIOR';\n\nexport const FAVORITE = 'favorite';\nexport const FAVORITES = 'favorites';\n","import {BEHAVIOR_NAME} from './constants';\n\nexport const FAVORITE_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_REQUESTED`;\nexport const FAVORITE_GROUP_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_GROUP_REQUESTED`;\nexport const FAVORITE_DELETE_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_DELETE_REQUESTED`;\nexport const FAVORITE_DELETE_MULTIPLE_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_DELETE_MULTIPLE_REQUESTED`;\nexport const FAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED`;\nexport const FAVORITE_DELETE_MODULE_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_DELETE_MODULE_REQUESTED`;\nexport const FAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED =\n\t'FAVORITE_DELETE_CONFIRMATION#REMOVE_CLICKED';\nexport const FAVORITE_DELETE_GROUP_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_DELETE_GROUP_REQUESTED`;\nexport const FAVORITE_UPDATE_ALL_REQUESTED = `${BEHAVIOR_NAME}#UPDATE_ALL_FAVORITES_REQUESTED`;\nexport const FAVORITE_ENTRY_ADDED = `${BEHAVIOR_NAME}#FAVORITE_ENTRY_ADDED`;\nexport const FAVORITE_ENTRY_REMOVED = `${BEHAVIOR_NAME}#FAVORITE_ENTRY_REMOVED`;\nexport const FAVORITE_CREATE_SUCCEEDED = `${BEHAVIOR_NAME}#FAVORITE_CREATE_SUCCEEDED`;\nexport const FAVORITE_REMOVE_SUCCEEDED = `${BEHAVIOR_NAME}#FAVORITE_REMOVE_SUCCEEDED`;\nexport const FAVORITE_FAILED = `${BEHAVIOR_NAME}#FAVORITE_FAILED`;\nexport const FAVORITE_EDIT_SUCCEEDED = `${BEHAVIOR_NAME}#FAVORITE_EDIT_SUCCEEDED`;\nexport const FAVORITE_CHECK_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_CHECK_REQUESTED`;\nexport const FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED = `${BEHAVIOR_NAME}#EXPERIENCE_TITLE_STAR_CLICKED`;\nexport const FAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED = `${BEHAVIOR_NAME}#FAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED`;\nexport const LAYOUT_ITEM_UNFAVORITED = 'LAYOUT#ITEM_UNFAVORITED';\nexport const LAYOUT_ITEM_FAVORITED = 'LAYOUT#ITEM_FAVORITED';\nexport const FAVORITE_POPUP_CLOSED = `${BEHAVIOR_NAME}#FAVORITE_POPUP_CLOSED`;\nexport const FAVORITE_POPUP_INFO_UPDATED = `${BEHAVIOR_NAME}#FAVORITE_POPUP_INFO_UPDATED`;\nexport const FAVORITE_POPUP_RENDERED = `${BEHAVIOR_NAME}#FAVORITE_POPUP_RENDERED`;\nexport const FAVORITE_POPUP_DESTROYED = `${BEHAVIOR_NAME}#FAVORITE_POPUP_DESTROYED`;\nexport const FAVORITES_COMMUNICATED_TO_SW = `${BEHAVIOR_NAME}#COMMUNICATED_TO_SW`;\nexport const SYNC_ALL_MENU_AND_TITLE = `${BEHAVIOR_NAME}#SYNC_ALL_MENU_AND_TITLE`;\nexport const SYNC_FAVORITES_COMPLETE = `${BEHAVIOR_NAME}#SYNC_FAVORITES_COMPLETE`;\nexport const FAVORITE_DELETE_MODAL_CANCEL_CLICKED = `${BEHAVIOR_NAME}#MODAL_CANCEL_CLICKED`;\nexport const FAVORITE_DELETE_MODAL_REMOVE_CLICKED = `${BEHAVIOR_NAME}#MODAL_REMOVE_CLICKED`;\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {\n\tFAVORITE_DELETE_MODAL_CANCEL_CLICKED,\n\tFAVORITE_DELETE_MODAL_REMOVE_CLICKED\n} from '../../behaviors/favorites-behavior/actions';\n\nexport const FavoriteDeleteModal = () => {\n\treturn (\n\t\t<now-modal\n\t\t\tnow-priority={'low'}\n\t\t\tclassName=\"favorite-delete-modal\"\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'favorite-delete'\n\t\t\t}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\theader-label={t('Remove favorite')}\n\t\t\tcontent={t(\n\t\t\t\t'You are about to remove this item from your favorite menu. Are you sure you want to remove it?'\n\t\t\t)}\n\t\t\tsize=\"sm\"\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Remove'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: FAVORITE_DELETE_MODAL_REMOVE_CLICKED\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: FAVORITE_DELETE_MODAL_CANCEL_CLICKED\n\t\t\t\t}\n\t\t\t]}\n\t\t/>\n\t);\n};\n","export const START_DEBUGGING_CONFIRMATION_REQUESTED =\n\t'START_DEBUGGING#CONFIRMATION_REQUESTED';\nexport const START_DEBUGGING_CONFIRMATION_CLICKED =\n\t'START_DEBUGGING#CONFIRMATION_CLICKED';\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {START_DEBUGGING_CONFIRMATION_CLICKED} from './actions';\n\nexport const ScriptDebuggerConfirmation = () => {\n\treturn (\n\t\t<now-modal\n\t\t\tclassName=\"script-debugger-confirmation\"\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'script-debugger-confirmation'\n\t\t\t}}\n\t\t\topened\n\t\t\tnow-priority={'low'}\n\t\t\tmanage-opened\n\t\t\theader-label={t('ServiceNow Script Debugger')}\n\t\t\tcontent={t('Transaction paused at breakpoint.')}\n\t\t\tsize=\"sm\"\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Start Debugging'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: START_DEBUGGING_CONFIRMATION_CLICKED\n\t\t\t\t}\n\t\t\t]}\n\t\t/>\n\t);\n};\n","export const DIRTY_FORM_CONFIRMATION_LEAVE_CLICKED =\n\t'DIRTY_FORM_CONFIRMATION#LEAVE_CLICKED';\nexport const DIRTY_FORM_CONFIRMATION_CANCEL_CLICKED =\n\t'DIRTY_FORM_CONFIRMATION#CANCEL_CLICKED';\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {\n\tDIRTY_FORM_CONFIRMATION_LEAVE_CLICKED,\n\tDIRTY_FORM_CONFIRMATION_CANCEL_CLICKED\n} from './actions';\nimport {getPageDisplayValue} from './dirty-form-modal.utils';\n\nexport const DirtyFormConfirmation = ({pageTitle}) => {\n\tconst formDisplayValue = getPageDisplayValue(pageTitle?.label || '');\n\treturn (\n\t\t<now-modal\n\t\t\tnow-priority={'low'}\n\t\t\tclassName=\"dirty-form-confirmation\"\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'dirty-form-confirmation'\n\t\t\t}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\tsize=\"sm\"\n\t\t\theader-label={t('Leave page')}\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Leave'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: DIRTY_FORM_CONFIRMATION_LEAVE_CLICKED\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: DIRTY_FORM_CONFIRMATION_CANCEL_CLICKED\n\t\t\t\t}\n\t\t\t]}>\n\t\t\t<div className=\"modal-container dirty-form\">\n\t\t\t\t<div className=\"now-heading-title\">\n\t\t\t\t\t{t(\n\t\t\t\t\t\t`Do you want to save changes to {0} before leaving this page?`,\n\t\t\t\t\t\tformDisplayValue\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t\t<div className=\"subtext\">\n\t\t\t\t\t{t('Your changes will be lost if you leave now.')}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/now-modal>\n\t);\n};\n\nexport {default as dirtyFormStyles} from './dirty-form.scss';\n","export const getPageDisplayValue = (pageLabel = '') => {\n\tconst dash = '- ';\n\treturn pageLabel.substring(pageLabel.lastIndexOf(dash) + dash.length).trim();\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-alert';\n\nexport const UserSessionNotification = ({\n\titems,\n\tisPinned,\n\tisContextualMenuPinned\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'user-notification-container': true,\n\t\t\t\t'is-visible': true,\n\t\t\t\t'is-pinned': isPinned,\n\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned\n\t\t\t}}>\n\t\t\t<div className=\"user-notification-contents\">\n\t\t\t\t<now-alert-list\n\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\tid={'session-notifications'}\n\t\t\t\t\tclass={{'user-notification-alert': true}}\n\t\t\t\t\titems={items}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-alert';\n\nexport const UserUINotification = ({\n\titems,\n\tisPinned,\n\tisContextualMenuPinned\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'user-ui-notification-container': true,\n\t\t\t\t'is-visible': true,\n\t\t\t\t'is-pinned': isPinned,\n\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned\n\t\t\t}}>\n\t\t\t<div className=\"user-ui-notification-contents\">\n\t\t\t\t<now-alert-list\n\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\tid={'ui-notifications'}\n\t\t\t\t\tclass={{'user-ui-notification-alert': true}}\n\t\t\t\t\titems={items}\n\t\t\t\t\tmanageItems\n\t\t\t\t\tstackThreshold={100}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-alert';\n\nexport const MessageStackServiceNotification = ({\n\talerts,\n\tisPinned,\n\tisContextualMenuPinned\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'message-stack-container': true,\n\t\t\t\t'is-visible': true,\n\t\t\t\t'is-pinned': isPinned,\n\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned\n\t\t\t}}>\n\t\t\t{alerts.map((a) => {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"message-stack-contents\">\n\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\tid={a.id}\n\t\t\t\t\t\t\tclass={{'message-stack-alert': true}}\n\t\t\t\t\t\t\tcontent={a.content}\n\t\t\t\t\t\t\tstatus={a.status}\n\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n};\n","export const BEHAVIOR_NAME = 'PRINTER_FRIENDLY_BEHAVIOR';\n","import {BEHAVIOR_NAME} from './constants';\n\nexport const LEGACY_SCREEN_PRINTER_VIEW_VISIBLE = `${BEHAVIOR_NAME}#LEGACY_SCREEN_ROW_COUNT_CHANGED`;\nexport const PRINTER_FRIENDLY_VERSION_REQUESTED = `${BEHAVIOR_NAME}#PRINTER_FRIENDLY_VERSION_REQUESTED`;\nexport const PRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED = `${BEHAVIOR_NAME}#PRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED`;\nexport const PRINTER_FRIENDLY_CONFIRM_CLICKED = `${BEHAVIOR_NAME}#PRINTER_FRIENDLY_CONFIRM_CLICKED`;\nexport const PRINTER_FRIENDLY_CANCEL_CLICKED = `${BEHAVIOR_NAME}#PRINTER_FRIENDLY_CANCEL_CLICKED`;\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {\n\tPRINTER_FRIENDLY_CONFIRM_CLICKED,\n\tPRINTER_FRIENDLY_CANCEL_CLICKED\n} from '../../../behaviors/printer-friendly-behavior/actions';\n\nexport const PrinterConfirmationModal = ({message, newForm}) => {\n\tconst content = newForm\n\t\t? t('Save your new record before printing.')\n\t\t: message ||\n\t\t  t('Printing large lists may affect system performance. Continue?');\n\tconst footerActions = newForm\n\t\t? [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('OK'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: PRINTER_FRIENDLY_CANCEL_CLICKED\n\t\t\t\t}\n\t\t  ]\n\t\t: [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Continue'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: PRINTER_FRIENDLY_CONFIRM_CLICKED\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: PRINTER_FRIENDLY_CANCEL_CLICKED\n\t\t\t\t}\n\t\t  ];\n\n\treturn (\n\t\t<now-modal\n\t\t\tnow-priority={'low'}\n\t\t\tclassName=\"print-confirm-modal\"\n\t\t\tappend-to-payload={{\n\t\t\t\tid: 'print-confirm-modal'\n\t\t\t}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\theader-label={t('Printer friendly version')}\n\t\t\tsize=\"sm\"\n\t\t\tcontent={content}\n\t\t\tfooter-actions={footerActions}\n\t\t/>\n\t);\n};\n","import '@servicenow/now-modal';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\n\nexport const GuidedToursModal = ({guidedToursPrompt, guidedTour}) => {\n\tconst headerLabel = guidedTour?.headerLabel || null;\n\tconst content = guidedTour?.content || null;\n\tconst footerActions = guidedTour?.footerActions || null;\n\n\tif (!headerLabel || !content || !footerActions) guidedToursPrompt = false;\n\n\treturn guidedToursPrompt ? (\n\t\t<now-modal\n\t\t\tnow-priority={'low'}\n\t\t\topened\n\t\t\tmanageOpened\n\t\t\theader-label={headerLabel}\n\t\t\tsize={guidedTour.size || 'md'}\n\t\t\tfooter-actions={footerActions}\n\t\t\tappend-to-meta={guidedTour.appendToMeta}\n\t\t\tdisableClose={guidedTour.disableClose ?? true}>\n\t\t\t{dangerouslyCreateElementFromString(`<div>${content}<\/div>`)}\n\t\t<\/now-modal>\n\t) : null;\n};\n","export const NOW_ASSIST_BEHAVIOR = 'NOW_ASSIST_BEHAVIOR';\nexport const NOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL = `${NOW_ASSIST_BEHAVIOR}#SUBSCRIBE_TO_AMB_CHANNEL`;\nexport const NOW_ASSIST_CHAT_MESSAGE_RECEIVED =\n\t'NOW_ASSIST_CHAT_MESSAGE_RECEIVED';\nexport const FETCH_CONVERSATION_COUNT = 'FETCH_CONVERSATION_COUNT';\nexport const FETCH_CONVERSATION_LIST = 'FETCH_CONVERSATION_LIST';\nexport const FETCH_CONVERSATION_LIST_SUCCESS =\n\t'FETCH_CONVERSATION_LIST_SUCCESS';\nexport const FETCH_CONVERSATION_COUNT_SUCCESS =\n\t'FETCH_CONVERSATION_COUNT_SUCCESS';\nexport const CHECK_MULTI_CONVERSATION_ENABLED_NAP =\n\t'CHECK_MULTI_CONVERSATION_ENABLED_NAP';\nexport const CHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS =\n\t'CHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS';\nexport const SYS_CS_CHANNEL_NAME_FOR_NAP = 'ServiceNow Otto Panel';\nexport const UNIFIED_NAV_UX_APP_ID = 'c86a62e2c7022010099a308dc7c26022';\nexport const AIEL_SERVICE_UNAVAILABLE = 'AIEL_SERVICE_UNAVAILABLE';\nexport const AIEL_UNAVAILABLE_MODAL_DISMISSED =\n\t'AIEL_UNAVAILABLE_MODAL_DISMISSED';\nexport const AIEL_SERVICE_AVAILABLE = 'AIEL_SERVICE_AVAILABLE';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getIcon\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.__esModule\n\t\t\t\t\tif (cjsModule && 'getIcon' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"].getIcon;\n\t\t\t\t\t} else if ('getIcon' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.getIcon || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"].getIcon;\n\t\t\t\t}, [\"localizePresence\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.__esModule\n\t\t\t\t\tif (cjsModule && 'localizePresence' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"].localizePresence;\n\t\t\t\t\t} else if ('localizePresence' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__.localizePresence || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_icon_index_jsdbx_b46bff48__[\"default\"].localizePresence;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"TOOLTIP_ADD_TARGET\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_ADD_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"].TOOLTIP_ADD_TARGET;\n\t\t\t\t\t} else if ('TOOLTIP_ADD_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__.TOOLTIP_ADD_TARGET || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"].TOOLTIP_ADD_TARGET;\n\t\t\t\t}, [\"TOOLTIP_REMOVE_TARGET\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_REMOVE_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"].TOOLTIP_REMOVE_TARGET;\n\t\t\t\t\t} else if ('TOOLTIP_REMOVE_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__.TOOLTIP_REMOVE_TARGET || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"].TOOLTIP_REMOVE_TARGET;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_17_polaris_0_index_jsdbx_b69008d8__[\"default\"][\"default\"];\n\t\t\t\t} });","import '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport {t} from 'sn-translate';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\n\n// tooltip label to be displayed\nconst tooltip = (label) => {\n\treturn t('You have unsaved changes in {0}', label);\n};\n\n// name of icon to use for dirty workspace icon\nexport const workspaceDirtyIcon = 'dirty-indicator-fill';\n\n// render icon & tooltip. used in header and renderLeafIcon\nexport const renderDirtyWorkspaceIcon = (\n\tlabel,\n\tdispatch,\n\ticonClass = 'dirty-workspace-icon'\n) => {\n\treturn (\n\t\t<now-icon\n\t\t\tclassName={iconClass}\n\t\t\ticon={workspaceDirtyIcon}\n\t\t\tdata-tooltip={tooltip(label)}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t}}\n\t\t\thook-destroy={({elm}) => {\n\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t}}\n\t\t\tsize=\"sm\"\n\t\t/>\n\t);\n};\n\n// render dirty workspace icon for menus\nexport const renderLeafIcon = (icon, item, iconClass, dispatch) => {\n\tif (icon === workspaceDirtyIcon) {\n\t\treturn renderDirtyWorkspaceIcon(item.label, dispatch, iconClass);\n\t} else {\n\t\treturn (\n\t\t\t<now-icon class={{[iconClass]: true, [item.color]: true}} icon={icon} />\n\t\t);\n\t}\n};\n","import {t} from 'sn-translate';\nimport {pick, get} from 'lodash';\nimport {MENU_WORKSPACES} from '../../constants';\nimport {workspaceDirtyIcon} from '../../utils/renderDirtyWorkspaceIcon';\nconst menuStateBeforeDirty = new Map();\nconst membersModified = ['icon', 'ariaLabel', 'tooltip', 'isDirty'];\n\n/* I want to create a copy of menuItems here but when I do the alignment of the pop over menus is messed up.\n ** I think this object gets manipulated in multiple places in the code and it requires keeping the reference\n ** to the object\n */\nexport const normalizeDirtyWorkspaces = (menuItems, dirtyWorkspaces) => {\n\tif (!Array.isArray(menuItems)) return menuItems;\n\tconst workspaceMenuIndex = menuItems.findIndex(\n\t\t(menu) => menu.id === MENU_WORKSPACES\n\t);\n\tif (workspaceMenuIndex === -1) return menuItems;\n\tmenuItems[workspaceMenuIndex].subItems = (\n\t\tmenuItems[workspaceMenuIndex].subItems || []\n\t).map((menu) => {\n\t\tconst contextPath = menu?.route?.context?.path;\n\t\tconst label = menu?.label;\n\t\tif (dirtyWorkspaces.includes(contextPath)) {\n\t\t\t// if new menu is dirty but it wasn't dirty before we save the old state to use to return it back to normal\n\t\t\tif (!menu.isDirty)\n\t\t\t\tmenuStateBeforeDirty.set(menu.id, pick(menu, membersModified));\n\t\t\treturn {\n\t\t\t\t...menu,\n\t\t\t\ticon: workspaceDirtyIcon,\n\t\t\t\tariaLabel: t('{0}, You have unsaved changes', label),\n\t\t\t\ttooltip: t('You have unsaved changes in {0}', label),\n\t\t\t\tisDirty: true\n\t\t\t};\n\t\t} else {\n\t\t\tif (menu.isDirty) {\n\t\t\t\t// if new menu is not dirty but it used to be we return it back to the state it started at\n\t\t\t\tconst newMenu = {\n\t\t\t\t\t...menu,\n\t\t\t\t\t// remove the items we added\n\t\t\t\t\t...membersModified.reduce(\n\t\t\t\t\t\t(prev, key) => ({...prev, [key]: undefined}),\n\t\t\t\t\t\t{}\n\t\t\t\t\t),\n\t\t\t\t\t// add the items we removed back\n\t\t\t\t\t...menuStateBeforeDirty.get(menu.id)\n\t\t\t\t};\n\t\t\t\treturn newMenu;\n\t\t\t} else {\n\t\t\t\treturn menu;\n\t\t\t}\n\t\t}\n\t});\n\tconst workspaceMenu = menuItems[workspaceMenuIndex];\n\tif (workspaceMenu && dirtyWorkspaces.length > 0) {\n\t\tif (!workspaceMenu.isDirty)\n\t\t\tmenuStateBeforeDirty.set(\n\t\t\t\tworkspaceMenu.id,\n\t\t\t\tpick(workspaceMenu, membersModified)\n\t\t\t);\n\t\tworkspaceMenu.icon = workspaceDirtyIcon;\n\t\tworkspaceMenu.tooltip = t('You have unsaved changes in Workspaces');\n\t\tworkspaceMenu.ariaLabel = t(\n\t\t\t'{0}, You have unsaved changes',\n\t\t\tworkspaceMenu.label\n\t\t);\n\t\tworkspaceMenu.isDirty = true;\n\t} else {\n\t\t// Workspace menu was dirty but isn't anymore\n\t\tif (workspaceMenu.isDirty) {\n\t\t\tconst previousWorkspaceMenu = menuStateBeforeDirty.get(workspaceMenu.id);\n\t\t\t// Return the workspace menu to how we found it before we made it dirty\n\t\t\tmembersModified.forEach((key) => {\n\t\t\t\tworkspaceMenu[key] = get(previousWorkspaceMenu, key, undefined);\n\t\t\t});\n\t\t}\n\t}\n\treturn menuItems;\n};\n","export const PLUGIN_NAME = 'com.glide.interaction.awa';\nexport const ROLE_NAMES = ['awa_agent', 'awa_admin', 'admin', 'awa_manager'];\nexport const BEHAVIOR_NAME = 'IS_INBOX_ENABLED_BEHAVIOR';\nexport const SYS_PROP_AWA = 'glide.awa.enabled';\nexport const STATE_PATH_PARTS_ENABLED =\n\t'behaviors.' + BEHAVIOR_NAME + '.partsEnabled';\nexport const STATE_PATH_IS_ENABLED =\n\t'behaviors.' + BEHAVIOR_NAME + '.isEnabled';\n","export const BEHAVIOR_NAME = 'ARIA_LIVE_MESSAGES_BEHAVIOR';\nexport const ARIA_LIVE_STATE_PATH = `behaviors.${BEHAVIOR_NAME}.ariaLiveMessages`;\n","export const BEHAVIOR_NAME = 'NOTIFICATIONS_BEHAVIOR';\nexport const NOTIFICATION_STATE_PATH = `behaviors.${BEHAVIOR_NAME}.notifications`;\nexport const NOTIFICATION_UNREAD_STATE_PATH = `behaviors.${BEHAVIOR_NAME}.unreadCount`;\nexport const NOTIFICATION_CURRENT_SYSID_PATH = `behaviors.${BEHAVIOR_NAME}.currentNotificationSysId`;\nexport const TOAST_INITIAL_TIMEOUT = 10000;\nexport const TOAST_AFTER_FOCUS_TIMEOUT = 3000;\n\nexport const PREFERENCES = {\n\tINBOX_DESKTOP_NOTIFICATION: 'workspace.notifications.inbox.desktop',\n\tINBOX_AUDIO_NOTIFICATION: 'workspace.notifications.inbox.audio',\n\tIGNORE_NOTIFICATION: 'glide.ui.polaris.ignore.notification',\n\tWORKSPACE_NOTIFICATIONS_INBOX_WORKSPACE:\n\t\t'workspace.notifications.inbox.workspace'\n};\n\nexport const NOTIFICATIONS_LAST_VIEWED_KEY = 'sn.notifications.lastViewed';\n\nexport const NOTIFICATION_OBJECT_KEYS = [\n\t'message',\n\t'title',\n\t'icon',\n\t'sysId',\n\t'url',\n\t'timestamp',\n\t'source',\n\t'id',\n\t'type',\n\t'table',\n\t'target',\n\t'sysId',\n\t'recordSysId',\n\t'triggeredBy',\n\t'recordType'\n];\n\nexport const MESSAGE_TYPES = {\n\tNEXT_CUSTOM: 'nextExperienceNotification'\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_17_polaris_0_index_jsdbx_ea364b09__[\"default\"][\"default\"];\n\t\t\t\t} });","export const HOME_PAGE_SELECTED = 'HOME_PAGE#SELECTED';\nexport const MAIN_LOGO_LOADED = 'MAIN_LOGO#LOADED';\nexport const HEADER_LOGO_CLICKED = 'HEADER_LOGO#CLICKED';\nexport const HEADER_EXPERIENCE_MENU_CLICKED = 'HEADER_EXPERIENCE_MENU#CLICKED';\nexport const SCREEN_CONTENT_LINK_ITEM_SELECTED =\n\t'SCREEN_CONTENT_LINK#ITEM_SELECTED';\nexport const LOGO_IMAGE_UPDATED = 'LOGO_IMAGE#UPDATED';\n","/**\n * Creates an object that handles click/enter/space common functionality\n */\nexport default (fn, ignoreSpace = false, moreEvents = []) => {\n\tconst interactionHandlers = {\n\t\t'on-click': fn,\n\t\t'on-keydown': (e) => {\n\t\t\tif (e.key === ' ') {\n\t\t\t\te.preventDefault();\n\t\t\t\tif (!ignoreSpace) {\n\t\t\t\t\tfn(e);\n\t\t\t\t}\n\t\t\t} else if (e.key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\tfn(e);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst moreHandlers = moreEvents.reduce((target, event) => {\n\t\ttarget[event] = fn;\n\t\treturn target;\n\t}, {});\n\n\treturn {...interactionHandlers, ...moreHandlers};\n};\n","import {\n\tgetBooleanPreferenceValue,\n\tgetBooleanProperty\n} from '@devsnc/unav-utils';\nimport {SYS_PROPS, USER_PREF_POLARIS_USE} from '../constants';\n\nexport const defaults = {\n\tisPolarisEnabled: true\n};\n\nlet features = defaults;\n\nconst calculatedFeatures = (userPreferences) => {\n\tconst isPolarisEnabled =\n\t\tgetBooleanProperty(SYS_PROPS.UI.POLARIS_EXPERIENCE, false) &&\n\t\tgetBooleanPreferenceValue(userPreferences, USER_PREF_POLARIS_USE, true);\n\treturn {\n\t\tisPolarisEnabled,\n\t\tisHelpEnabled:\n\t\t\tgetBooleanProperty(SYS_PROPS.UI.SHOW_HELP, false) ||\n\t\t\tgetBooleanProperty(SYS_PROPS.UI.EMBEDDED_HELP_ENABLED, false),\n\t\tisMenuEnabled:\n\t\t\tisPolarisEnabled && getBooleanProperty(SYS_PROPS.UI.POLARIS_MENUS, false),\n\t\tisDirtyFormEnabled: getBooleanProperty(\n\t\t\tSYS_PROPS.UI.DIRTY_FORM_SUPPORT_ENABLED\n\t\t),\n\t\tisPrintingEnabled: getBooleanProperty(\n\t\t\tSYS_PROPS.UI.PRINTER_FRIENDLY_ENABLED,\n\t\t\ttrue\n\t\t),\n\t\tisCoreUINotificationPrefEnabled: getBooleanProperty(\n\t\t\tSYS_PROPS.UI.CORE_UI_NOTIFICATION_PREFERENCE,\n\t\t\ttrue\n\t\t),\n\t\tisNotificationEnabled: getBooleanProperty(\n\t\t\tSYS_PROPS.UI.NOTIFICATION_ENABLED,\n\t\t\ttrue\n\t\t)\n\t};\n};\n\nexport const featureSettingsInit = (\n\tinitialFeatures = {},\n\tuserPreferences = []\n) => {\n\tfeatures = {\n\t\t...calculatedFeatures(userPreferences),\n\t\t...initialFeatures\n\t};\n};\n\nexport const featureSettingsToDefault = () => {\n\tfeatures = defaults;\n};\n\nexport const getFeatureSettings = () => features;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"];\n\t\t\t\t} });","import {escape} from 'lodash';\nimport DOMPurify from 'dompurify';\n\n// Base DOMPurify configuration\nconst domPurifyConfig = {\n\tALLOWED_TAGS: [\n\t\t'p',\n\t\t'br',\n\t\t'b',\n\t\t'i',\n\t\t'em',\n\t\t'strong',\n\t\t'a',\n\t\t'ul',\n\t\t'ol',\n\t\t'li',\n\t\t'div',\n\t\t'span',\n\t\t'style',\n\t\t'button',\n\t\t'img'\n\t],\n\tALLOWED_ATTR: ['href', 'target', 'rel', 'class', 'style', 'src', 'alt'],\n\tDANGEROUS_TAGS: ['iframe', 'embed', 'object', 'script'],\n\tDANGEROUS_ATTRIBUTES: [\n\t\t'onload',\n\t\t'onerror',\n\t\t'onclick',\n\t\t'onmouseover',\n\t\t'onmouseout',\n\t\t'allowscriptaccess'\n\t]\n};\n\n/**\n * Determine if input string contains potentially executable HTML tags\n * by checking if it contains child elements\n * @param value\n * @returns {boolean} true / false whether string contains HTML tags\n */\nexport const hasDangerousHtmlTags = (value) => {\n\tconst doc = new DOMParser().parseFromString(value, 'text/html');\n\tconst elements = Array.from(doc.body.getElementsByTagName('*'));\n\treturn (\n\t\telements.some((el) =>\n\t\t\tdomPurifyConfig.DANGEROUS_TAGS.includes(el.tagName.toLowerCase())\n\t\t) || /<\\s*(script|iframe|embed|object)[\\s>]/i.test(value)\n\t);\n};\n\nexport const hasScriptOrStyleTag = (value) => {\n\tconst STYLE = /<(script|style)[^>]*>[\\s\\S]*<\\/\\1>/;\n\treturn STYLE.test(value);\n};\n\n/**\n * Removes all characters which may/may not be sanitized differently\n * when setting it to the div to the inner HTML\n * so that only structural HTML differences can be compared.\n * @param value\n * @returns {string} sanitized html string\n */\nconst normalizeHtml = (value) => {\n\treturn value\n\t\t.replace(/\"/g, '')\n\t\t.replace(/'/g, '')\n\t\t.replace(/<\/g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/=/g, '')\n\t\t.replace(/\\//g, '')\n\t\t.replace(/&/g, '')\n\t\t.replace(/\\u00A0/g, 'nbsp;')\n\t\t.trim();\n};\n\n/**\n * Removes all ampersands and escaped sequences before setting the inner HTML\n * since they are treated differently\n * element text.\n * @param value\n * @returns {string} sanitized html string\n */\nconst cleanHtml = (value) => {\n\tconst ESCAPED_HTML_SEQUENCES = /&(?:\\w{0,6}|#\\d{0,6}|#x[\\da-fA-F]{0,6});/g;\n\n\treturn value.replace(ESCAPED_HTML_SEQUENCES, '').replace(/&/g, '');\n};\n\n/**\n * Determines if the input is a valid HTML\n * by comparing HTML structure between user HTML and the output of setting the inner div\n * @param input\n * @returns {boolean}\n */\nexport const isValidHtml = (htmlString) => {\n\t//structure check\n\tconst cleanedHtml = cleanHtml(htmlString);\n\n\tconst doc = document.implementation.createHTMLDocument();\n\tconst fragment = doc.createDocumentFragment();\n\tconst temp = doc.createElement('div');\n\ttemp.innerHTML = cleanedHtml;\n\n\tif (normalizeHtml(temp.innerHTML) === normalizeHtml(cleanedHtml)) {\n\t\t// Move all nodes to the fragment\n\t\twhile (temp.firstChild) {\n\t\t\tfragment.appendChild(temp.firstChild);\n\t\t}\n\t\treturn fragment.children.length > 0 || htmlString.trim() === '';\n\t}\n\treturn false;\n};\n\n/**\n * Determine if input string is safe HTML\n * by checking if it contains child elements\n * @param value\n * @param allowScripts\n * @returns {boolean} true / false whether string contains HTML\n */\nexport const isAllowedHtml = (value, allowScripts) => {\n\tconst dangerousTags = hasDangerousHtmlTags(value);\n\n\tif (!allowScripts && dangerousTags) return false;\n\n\tconst doc = new DOMParser().parseFromString(value, 'text/html');\n\n\treturn (\n\t\tArray.from(doc.body.childNodes).some((node) => node.nodeType === 1) ||\n\t\thasScriptOrStyleTag(value) ||\n\t\tdangerousTags\n\t);\n};\n\n/**\n * Checks if element contains a child element to determine whether it is HTML\n * Compares HTML structure between user HTML and the output of setting the inner div\n * returns the HTML string on success\n * returns an escaped non-renderable HTML string on failure / when value is not HTML\n * @param value\n * @param allowScripts\n * @returns {string} sanitized HTML / escaped non-renderable HTML\n */\nexport const validateAndEscapeHtmlIfNeeded = (value, allowScripts) => {\n\tif (isAllowedHtml(value, allowScripts)) {\n\t\tconst hasNonBreakingSpace = /\\u00A0/.test(value);\n\n\t\tif (!isValidHtml(value)) return escape(value);\n\n\t\tif ((allowScripts && hasScriptOrStyleTag(value)) || hasNonBreakingSpace)\n\t\t\treturn value;\n\n\t\tconst scriptConfig = {\n\t\t\t...domPurifyConfig,\n\t\t\tDANGEROUS_TAGS: domPurifyConfig.DANGEROUS_TAGS.filter(\n\t\t\t\t(tag) => tag !== 'script'\n\t\t\t),\n\t\t\tADD_ATTR: ['onclick', 'onload', 'onerror', 'onmouseover', 'onmouseout']\n\t\t};\n\n\t\tconst config = allowScripts ? scriptConfig : {...domPurifyConfig};\n\n\t\treturn DOMPurify.sanitize(value, config);\n\t}\n\treturn escape(value);\n};\n\n/**\n * Removes all HTML tags from string\n * Corrects the spacing due to HTML in the string\n * @param  {string} value - The input string potentially containing HTML\n * @param  {string} description - The description to find in the string\n * @returns {string} The cleaned string without HTML\n */\nexport const removeHtmlFromDescription = (value, description) => {\n\tif (description) {\n\t\tconst indexOfDescription = value.indexOf(description);\n\t\tif (indexOfDescription !== -1) {\n\t\t\tvalue =\n\t\t\t\tvalue.substring(0, indexOfDescription) +\n\t\t\t\t' ' +\n\t\t\t\tvalue.substring(indexOfDescription);\n\t\t}\n\t}\n\n\tconst div = document.createElement('div');\n\n\tdiv.innerHTML = DOMPurify.sanitize(value, {\n\t\tALLOWED_TAGS: [],\n\t\tKEEP_CONTENT: true\n\t});\n\n\treturn div.textContent ? div.textContent.trim() : '';\n};\n","import {POLARIS_CONTEXT} from '../constants/index.js';\nimport {get} from 'lodash';\nconst NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\n\nexport const openHomePage = ({headerLogoTarget, selectedContent, dispatch}) => {\n\tconst logoTarget = get(headerLogoTarget, 'GlideHeaderLogo_Query.getLogoURL', {\n\t\texternal: false,\n\t\ttarget: 'gsft_main',\n\t\turl: JSON.stringify({\n\t\t\tcontext: {\n\t\t\t\texperienceName: 'Unified Navigation App',\n\t\t\t\tpath: 'now/nav/ui'\n\t\t\t},\n\t\t\troute: 'home'\n\t\t}),\n\t\ttype: 'uxf'\n\t});\n\n\tswitch (logoTarget.target) {\n\t\tcase '_top':\n\t\t\twindow.location.href = logoTarget.url;\n\t\t\tbreak;\n\t\tcase 'gsft_main':\n\t\t\tif (logoTarget.type === 'classic') {\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\troute: 'classic',\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttarget: logoTarget.url\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst context = JSON.parse(logoTarget.url);\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, context);\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t{\n\t\t\t\tconst {context} = selectedContent;\n\t\t\t\tconst external = {\n\t\t\t\t\turl: logoTarget.url,\n\t\t\t\t\ttarget: logoTarget.target\n\t\t\t\t};\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {context, external});\n\t\t\t}\n\t\t\tbreak;\n\t}\n};\n","import {get} from 'lodash';\n\nexport function resolveUserSession() {\n\t// If the new format doesn't work, rely on the old.\n\treturn (\n\t\tget(\n\t\t\t// Ok to hardcode b/c it's the sysid of our app-shell macroponent\n\t\t\tdocument.querySelector('macroponent-f51912f4c700201072b211d4d8c26010'),\n\t\t\t['userSessionInfo', 'output']\n\t\t) ||\n\t\tget(\n\t\t\tdocument.querySelector('macroponent-f51912f4c700201072b211d4d8c26010'),\n\t\t\t[\n\t\t\t\t'userSessionInfo',\n\t\t\t\t'sessionGQL->session',\n\t\t\t\t'1',\n\t\t\t\t'executionResult',\n\t\t\t\t'output'\n\t\t\t]\n\t\t) ||\n\t\t{}\n\t);\n}\n\nexport async function getEarlyEvaluation(property) {\n\tconst {responses = {}} = window.__uxf_data_hydration_registry ?? {};\n\n\tconst {evaluationByPipelineId} =\n\t\tObject.values(responses).find(\n\t\t\t({macroponentSysId: responseMacroponentSysId}) =>\n\t\t\t\tresponseMacroponentSysId === 'f51912f4c700201072b211d4d8c26010'\n\t\t) ?? {};\n\n\treturn evaluationByPipelineId[property];\n}\n\nexport function resolvePipelineResult(evaluationByPipeline) {\n\t// If the new format doesn't work, rely on the old.\n\treturn (\n\t\tget(\n\t\t\t// Ok to hardcode b/c it's the sysid of our app-shell macroponent\n\t\t\tevaluationByPipeline[0],\n\t\t\t['executionResult', 'output', 'result']\n\t\t) || {}\n\t);\n}\n","import {isEmpty, get} from 'lodash';\nimport {openHomePage} from '../../../utils/openHomePage';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {\n\tHEADER_EXPERIENCE_MENU_CLICKED,\n\tHEADER_LOGO_CLICKED,\n\tLOGO_IMAGE_UPDATED\n} from '../actions';\nimport getLogoSource from '../../../utils/getLogoSource';\nimport DEFAULT_LOGO from '../../../assets/now-polaris.svg';\nimport {\n\tgetEarlyEvaluation,\n\tresolvePipelineResult\n} from '../../sn-polaris-layout/utils/resolveUserSession';\nimport {\n\tSN_LOGO_DEFAULT_DARK,\n\tSN_LOGO_DEFAULT_LIGHT,\n\tSN_LOGO_THEME_ASSET,\n\tSYS_PROPS\n} from '../../../constants';\n\nexport const onExperienceLogoClick = (logoRoute, selectedContent, dispatch) => {\n\tif (!isEmpty(logoRoute))\n\t\tdispatch(HEADER_EXPERIENCE_MENU_CLICKED, {target: logoRoute});\n\telse {\n\t\t// let UXF page processor decides the home page for selected experience\n\t\twindow.location.href = selectedContent.context.path;\n\t}\n};\n\nexport const onLogoClick = (headerLogoTarget, selectedContent, dispatch) => {\n\topenHomePage({headerLogoTarget, selectedContent, dispatch});\n\tdispatch(HEADER_LOGO_CLICKED);\n};\n\nexport const getLogoImage = ({\n\tlogoContextPath,\n\tcoreUILogoSrc,\n\tisPolarisEnabled,\n\tisThemeBuilderOverriding,\n\tdispatch,\n\tupdateState\n}) => {\n\tlet logoImage = DEFAULT_LOGO;\n\tif (logoContextPath) {\n\t\tif (isPolarisEnabled && !isThemeBuilderOverriding) {\n\t\t\tif (coreUILogoSrc) logoImage = coreUILogoSrc;\n\t\t\telse {\n\t\t\t\tgetEarlyEvaluation('polaris_app_shell_header_company_logo').then(\n\t\t\t\t\t(result) => {\n\t\t\t\t\t\tconst logoImageSrc = resolvePipelineResult(result);\n\t\t\t\t\t\tlogoImage = get(logoImageSrc, 'imgSrc');\n\t\t\t\t\t\tdispatch(LOGO_IMAGE_UPDATED, {logoImage});\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t} else\n\t\t\tlogoImage =\n\t\t\t\tgetLogoSource(coreUILogoSrc, 'header_logo', logoContextPath) ||\n\t\t\t\tDEFAULT_LOGO;\n\t}\n\n\t// Maintain whether we should show the 'works with' user menu branding based on:\n\t// 1. Whether we are showing the SN logo\n\t// 2. Whether the works with branding prop is turned on\n\tconst isLogoSN =\n\t\tlogoImage === DEFAULT_LOGO ||\n\t\tlogoImage === SN_LOGO_DEFAULT_LIGHT ||\n\t\tlogoImage === SN_LOGO_DEFAULT_DARK ||\n\t\tlogoImage.includes(SN_LOGO_THEME_ASSET);\n\tconst worksWithBrandingPropEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.WORKS_WITH_BRANDING_ENABLED,\n\t\ttrue\n\t);\n\tupdateState({\n\t\tworksWithBrandingEnabled: !isLogoSN && worksWithBrandingPropEnabled\n\t});\n\n\treturn logoImage;\n};\n","import {get} from 'lodash';\n\n/**\n * Looks for header logo by position identifier within sys_ux_theme assets.\n * If none specified, use default_src.\n * Currently this is used by canvas-header and footer, default_src represents\n * the logoSource propertyfor each of those components.\n *\n * @param {string} default_src\n * @param {string} position\n * @returns {string}\n */\nexport default function getLogoSource(default_src = '', position = '') {\n\tconst themeOptions = window?.ux_globals?.theme?.themeOptions ?? {};\n\tconst currentThemeSysId = themeOptions.userPreferenceVariant ?? '';\n\n\t// get theme sys_id from preference or default to existing\n\tconst imagesFromAsset =\n\t\tthemeOptions?.variants?.[currentThemeSysId]?.assets?.filter(\n\t\t\t(a) => a.category === 'image'\n\t\t) ?? get(window, 'ux_globals.theme.images', {});\n\n\tconst image_obj = findImage(Object.values(imagesFromAsset), position);\n\tconst image_uri = get(image_obj, 'uri', null);\n\treturn image_uri || default_src;\n}\n\nfunction findImage(images, position) {\n\treturn images.find((image) => image?.properties?.position === position);\n}\n","import {t} from 'sn-translate';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\nimport {MAIN_LOGO_LOADED} from '../actions';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {HOME_PAGE, POLARIS_CONTEXT, SYS_PROPS} from '../../../constants';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {getFeatureSettings} from '../../../utils/featureSettingsSingleton';\nimport {validateAndEscapeHtmlIfNeeded} from '../../../utils/htmlUtils';\nimport {getLogoImage, onExperienceLogoClick, onLogoClick} from './logo.utils';\n\nexport const View = ({\n\tselectedContent,\n\theaderLogoTarget,\n\tlogoRoute,\n\tdispatch,\n\tupdateState,\n\tcoreUILogoSrc\n}) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\tconst logoName = getProperty(SYS_PROPS.PRODUCT_NAME) || '';\n\tconst logoText = getProperty(SYS_PROPS.PRODUCT_DESCRIPTION) || HOME_PAGE;\n\tconst allowScripts =\n\t\tgetProperty(SYS_PROPS.UI.POLARIS_LOGO_ALLOW_SCRIPTS) || false;\n\n\tconst logoContextPath = isPolarisEnabled\n\t\t? POLARIS_CONTEXT.path\n\t\t: selectedContent?.context?.path;\n\n\tif (!logoContextPath || coreUILogoSrc === '') return;\n\n\tconst isThemeBuilderOverriding = getBooleanProperty(\n\t\tSYS_PROPS.UI.THEME_BUILDER_OVERRIDE,\n\t\tfalse\n\t);\n\n\tconst logoImage = getLogoImage({\n\t\tlogoContextPath,\n\t\tcoreUILogoSrc,\n\t\tisPolarisEnabled,\n\t\tisThemeBuilderOverriding,\n\t\tdispatch,\n\t\tupdateState\n\t});\n\n\tconst handleLogoInteraction = () => {\n\t\tisPolarisEnabled\n\t\t\t? onLogoClick(headerLogoTarget, selectedContent, dispatch)\n\t\t\t: onExperienceLogoClick(logoRoute, selectedContent, dispatch);\n\t};\n\n\tlet logoEl = null;\n\tconst sanitizedLogoName = validateAndEscapeHtmlIfNeeded(\n\t\tlogoName,\n\t\tallowScripts\n\t);\n\tconst sanitizedLogoText = validateAndEscapeHtmlIfNeeded(\n\t\tlogoText,\n\t\tallowScripts\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"polaris-header-logo\"\n\t\t\taria-describedby=\"logo-tooltip\"\n\t\t\trole=\"button\"\n\t\t\taria-label={\n\t\t\t\tlogoName ? t('My {0} landing page', logoName) : t('My landing page')\n\t\t\t}\n\t\t\ttabIndex=\"0\"\n\t\t\tid=\"header-logo-link\"\n\t\t\t{...createInteractionHandlers(handleLogoInteraction)}>\n\t\t\t<img\n\t\t\t\tid=\"header-logo-image\"\n\t\t\t\ton-load={() => dispatch(MAIN_LOGO_LOADED)}\n\t\t\t\ton-error={() => dispatch(MAIN_LOGO_LOADED)}\n\t\t\t\tsrc={logoImage}\n\t\t\t\talt={\n\t\t\t\t\tlogoName\n\t\t\t\t\t\t? `${sanitizedLogoName} ${sanitizedLogoText}`\n\t\t\t\t\t\t: sanitizedLogoText\n\t\t\t\t}\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\tlogoEl = elm;\n\t\t\t\t\telm.parentElement.children[1].targetRef = logoEl;\n\t\t\t\t}}\n\t\t\t\thook-destroy={() => (logoEl = null)}\n\t\t\t/>\n\t\t\t<now-tooltip\n\t\t\t\tnow-priority={'low'}\n\t\t\t\tid=\"logo-tooltip\"\n\t\t\t\tposition={['bottom-center top-center', 'bottom-start top-start']}>\n\t\t\t\t<div id=\"header-logo-tooltip\">\n\t\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t\t`<div>${sanitizedLogoName}<\/div>`\n\t\t\t\t\t)}\n\t\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t\t`<div>${sanitizedLogoText}<\/div>`\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/now-tooltip>\n\t\t<\/div>\n\t);\n};\n\nexport {default as styles} from './styles.scss';\n","import {isEmpty, get} from 'lodash';\nimport {\n\tFULL_CLASSIC_ROUTE,\n\tLIST,\n\tMENU_WORKSPACES,\n\tPOLARIS_CONTEXT\n} from '../../constants';\n\nexport const getRouteFromMenuItem = (menuItem, menuType) => {\n\tconst {context = POLARIS_CONTEXT} = menuItem.route;\n\n\tif (menuType === MENU_WORKSPACES && context !== POLARIS_CONTEXT) {\n\t\treturn {context};\n\t}\n\n\tif (menuItem.type === LIST) {\n\t\tif (menuItem.route?.params?.target)\n\t\t\tmenuItem.route.params.target = appendClearStack(\n\t\t\t\tmenuItem.route.params.target\n\t\t\t);\n\t\telse if (menuItem.route?.external?.url)\n\t\t\tmenuItem.route.external.url = appendClearStack(\n\t\t\t\tmenuItem.route.external.url\n\t\t\t);\n\t}\n\n\treturn (({\n\t\troute,\n\t\tfields,\n\t\tparams,\n\t\texternal,\n\t\ttitle,\n\t\tparent,\n\t\tencodedPersistedState\n\t}) => ({\n\t\troute,\n\t\tfields,\n\t\tparams,\n\t\tcontext,\n\t\texternal,\n\t\tparent,\n\t\ttitle,\n\t\tencodedPersistedState\n\t}))(menuItem.route);\n};\n\nexport const prepareFavoriteUrl = (menuItem) => {\n\tconst url = get(menuItem, 'route.params.target', null);\n\tif (!isEmpty(menuItem.subItems)) {\n\t\treturn {\n\t\t\tapplication: menuItem.id,\n\t\t\ttitle: menuItem.label\n\t\t};\n\t}\n\n\treturn {\n\t\tid: menuItem.id,\n\t\ttitle: menuItem.label,\n\t\turl: url\n\t};\n};\n\nexport const appendClearStack = (url) => {\n\t// if the url is relative, return only relative\n\tconst isRelative = !url.startsWith(window.location.origin);\n\tconst urlObject = new URL(url, window.location.origin);\n\n\tconst path = urlObject.pathname;\n\n\t// handle nested case where the link is loaded in iframe\n\tif (path.startsWith(FULL_CLASSIC_ROUTE)) {\n\t\tconst target = path.substring(FULL_CLASSIC_ROUTE.length);\n\n\t\tconst targetUrl = new URL(\n\t\t\tdecodeURIComponent(target),\n\t\t\twindow.location.origin\n\t\t);\n\t\ttargetUrl.searchParams.append('sysparm_clear_stack', 'true');\n\n\t\turlObject.pathname =\n\t\t\tFULL_CLASSIC_ROUTE +\n\t\t\tencodeURIComponent(\n\t\t\t\ttargetUrl.toString().replace(window.location.origin + '/', '')\n\t\t\t);\n\t} else {\n\t\turlObject.searchParams.append('sysparm_clear_stack', 'true');\n\t}\n\n\tconst transformedUrl = urlObject.toString();\n\n\treturn isRelative\n\t\t? transformedUrl.replace(window.location.origin + '/', '')\n\t\t: transformedUrl;\n};\n","import {appendClearStack} from '../components/sn-polaris-menu/sn-polaris-menu.utils';\nimport {LIST, POLARIS_CONTEXT} from '../constants';\n\nexport default function getHref(item, shouldOpenUI16TabsInsidePolaris) {\n\t// 3 cases:\n\t// Workspace                             : item.route.url\n\t// External (i.e. external tab specified): item.route.external.url\n\t// Standard                              : item.route.params.target\n\n\tlet href =\n\t\titem?.command ||\n\t\titem?.route?.url ||\n\t\titem?.route?.context?.path ||\n\t\titem?.route?.external?.url;\n\tif (href) {\n\t\tif (item.type === LIST) return appendClearStack(href);\n\t\treturn href;\n\t}\n\n\tif (item?.route?.params?.target) {\n\t\thref = shouldOpenUI16TabsInsidePolaris\n\t\t\t? `${POLARIS_CONTEXT.path}/${\n\t\t\t\t\titem.route.route\n\t\t\t  }/params/target/${encodeURIComponent(item.route.params.target)}`\n\t\t\t: item.route.params.target;\n\t}\n\n\tif (item.type === LIST) return appendClearStack(href);\n\n\treturn href;\n}\n","import {throttle} from 'lodash';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\n\nimport {t} from 'sn-translate';\nimport {\n\tMENU_WORKSPACES,\n\tNAV_ITEM_SELECTED,\n\tOVERFLOW_MENU_ID\n} from '../../../constants';\n\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport getMenuItemHref from '../../../utils/getMenuItemHref';\nimport {getFeatureSettings} from '../../../utils/featureSettingsSingleton';\nimport {renderDirtyWorkspaceIcon} from '../../../utils/renderDirtyWorkspaceIcon';\nimport {isWorkspaceInOverflowMenu} from './navigation.utils';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\n\nfunction renderLabel(item) {\n\t// A menu item can have an icon & a label, however the overflow menu item only has an icon (no label)\n\t// Always display the label if the item has one, otherwise display the icon\n\treturn item.label\n\t\t? item.label\n\t\t: item.icon && <now-icon icon={item.icon} size=\"md\" />;\n}\n\nconst headerCreateMenuHrefHandlers = (item, fn) => {\n\treturn createInteractionHandlers((e) => {\n\t\tif (item.cantShowAsBrowserLink) fn(e);\n\t});\n};\n\nconst polarisTabClass = (item, mainMenuState) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\n\treturn {\n\t\t'sn-polaris-tab': true,\n\t\t'polaris-enabled': isPolarisEnabled,\n\t\t'is-pinned':\n\t\t\tmainMenuState.isMenuPinned &&\n\t\t\tmainMenuState.canBePinned &&\n\t\t\tmainMenuState.primaryMenuId === item.id,\n\t\t'is-active':\n\t\t\tmainMenuState.primaryMenuId === item.id ||\n\t\t\tmainMenuState.secondaryMenuId === item.id\n\t\t\t\t? true\n\t\t\t\t: false,\n\t\t'tab-overflow': item.id === OVERFLOW_MENU_ID ? true : false\n\t};\n};\n\nexport const View = ({\n\tmainMenuState,\n\tmenuItems = [],\n\tonTabSelect = () => null,\n\tonNavigationResize = () => null,\n\tdispatch = () => null,\n\tshouldOpenUI16TabsInsidePolaris,\n\thasDirtyWorkspaces\n}) => {\n\tconst selectedTabRef = createRef();\n\tconst resizeObserverCb = throttle(onNavigationResize, 200);\n\tlet resizeObserver;\n\tconst activeTab = mainMenuState.primaryMenuId;\n\tconst altActiveTab = mainMenuState.secondaryMenuId;\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\n\tconst onOpenMenu = (item) => (e) => {\n\t\te.stopPropagation();\n\t\tif (item?.route) {\n\t\t\tdispatch(NAV_ITEM_SELECTED, item.route);\n\t\t} else {\n\t\t\tonTabSelect({\n\t\t\t\tmenuId: item.id,\n\t\t\t\tlabel: item.label,\n\t\t\t\tisDirty: item.isDirty,\n\t\t\t\tref: selectedTabRef.current.parentElement\n\t\t\t});\n\t\t}\n\t};\n\n\tconst itemLabel = menuItems.find((item) => item.id === MENU_WORKSPACES)\n\t\t?.label;\n\n\treturn (\n\t\t<div\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tresizeObserver = new ResizeObserver((entries) => {\n\t\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\t\tif (entry.contentRect.width) resizeObserverCb(entry);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tresizeObserver.observe(elm);\n\t\t\t}}\n\t\t\thook-destroy={({elm}) => {\n\t\t\t\tif (resizeObserver) resizeObserver.unobserve(elm);\n\n\t\t\t\tresizeObserver = null;\n\t\t\t}}\n\t\t\trole=\"menu\"\n\t\t\tclassName=\"sn-polaris-navigation polaris-header-menu\">\n\t\t\t{menuItems?.map((menuItem) => {\n\t\t\t\t// If the menu is collapseOnSingleItem and only has 1 subItem, then grab that item to display\n\t\t\t\tconst item =\n\t\t\t\t\tmenuItem.subItems?.length === 1 && menuItem.collapseOnSingleItem\n\t\t\t\t\t\t? // If you show a normal browser link dirty workspaces get nuked on click and confirm\n\t\t\t\t\t\t  {\n\t\t\t\t\t\t\t\t...menuItem.subItems[0],\n\t\t\t\t\t\t\t\tcantShowAsBrowserLink: menuItem.id !== 'workspace'\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: menuItem;\n\n\t\t\t\tconst isActive =\n\t\t\t\t\tactiveTab === menuItem.id || altActiveTab === menuItem.id;\n\n\t\t\t\tif (!item.isOverflow) {\n\t\t\t\t\tconst href = getMenuItemHref(item, shouldOpenUI16TabsInsidePolaris);\n\n\t\t\t\t\tif (href) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclass={polarisTabClass(item, mainMenuState)}\n\t\t\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\taria-haspopup=\"false\"\n\t\t\t\t\t\t\t\tkey={item.label}\n\t\t\t\t\t\t\t\tref={selectedTabRef}\n\t\t\t\t\t\t\t\taria-label={item.ariaLabel || renderLabel(item)}\n\t\t\t\t\t\t\t\thref={href}\n\t\t\t\t\t\t\t\ttarget=\"_self\"\n\t\t\t\t\t\t\t\t{...headerCreateMenuHrefHandlers(item, (e) => {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, item.route);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tdata-tooltip={item?.tooltip}\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (item?.tooltip) {\n\t\t\t\t\t\t\t\t\t\trequestIdleCallback(() =>\n\t\t\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (item?.tooltip) {\n\t\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{item.icon ? (\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclass={{'polaris-tab-item-icon': true}}\n\t\t\t\t\t\t\t\t\t\ticon={item.icon}\n\t\t\t\t\t\t\t\t\t\tsize={hasDirtyWorkspaces ? 'sm' : 'md'}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{renderLabel(item)}\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tid={item.id}\n\t\t\t\t\t\t\t\tclass={polarisTabClass(item, mainMenuState)}\n\t\t\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\taria-expanded={isActive ? 'true' : 'false'}\n\t\t\t\t\t\t\t\taria-label={item.ariaLabel || renderLabel(item)}\n\t\t\t\t\t\t\t\tkey={item.label}\n\t\t\t\t\t\t\t\tref={selectedTabRef}\n\t\t\t\t\t\t\t\t{...createInteractionHandlers(onOpenMenu(item))}\n\t\t\t\t\t\t\t\tdata-tooltip={item.tooltip}\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (item.tooltip) {\n\t\t\t\t\t\t\t\t\t\trequestIdleCallback(() =>\n\t\t\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (item.tooltip) {\n\t\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{item.icon ? (\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclass={{'polaris-tab-item-icon': true}}\n\t\t\t\t\t\t\t\t\t\ticon={item.icon}\n\t\t\t\t\t\t\t\t\t\tsize={hasDirtyWorkspaces ? 'sm' : 'md'}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{renderLabel(item)}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})}\n\n\t\t\t{/* DEF0292153: only display the nav-overflow menu button if glide.ui.polaris.experience=true */}\n\t\t\t{!isPolarisEnabled ? null : (\n\t\t\t\t<div\n\t\t\t\t\tid=\"nav-overflow\"\n\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-label={t('More menus')}\n\t\t\t\t\taria-expanded={activeTab === OVERFLOW_MENU_ID ? 'true' : 'false'}\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\tkey=\"overflow\"\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-polaris-tab': true,\n\t\t\t\t\t\t'is-placeholder': true\n\t\t\t\t\t}}\n\t\t\t\t\t{...createInteractionHandlers(\n\t\t\t\t\t\tonOpenMenu({id: OVERFLOW_MENU_ID, label: 'Overflow'})\n\t\t\t\t\t)}\n\t\t\t\t\tdata-tooltip={t('Main Menus')}\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\trequestIdleCallback(() =>\n\t\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm})\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t}}>\n\t\t\t\t\t{hasDirtyWorkspaces && isWorkspaceInOverflowMenu(menuItems)\n\t\t\t\t\t\t? renderDirtyWorkspaceIcon(itemLabel, dispatch)\n\t\t\t\t\t\t: null}\n\t\t\t\t\t<now-icon icon=\"ellipsis-v-outline\" size=\"md\" />\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nexport {default as styles} from './styles.scss';\n","import {MENU_WORKSPACES, OVERFLOW_MENU_ID} from '../../../constants';\n\nexport const isWorkspaceInOverflowMenu = (menuItems) => {\n\tconst overflowMenu = menuItems?.find((item) => item.id === OVERFLOW_MENU_ID);\n\tif (overflowMenu) {\n\t\t// overflow is the workspaces menu\n\t\tif (overflowMenu?.subId === MENU_WORKSPACES) return true;\n\t\t// overflow menu has workspaces menu inside of it\n\t\tif (overflowMenu?.subItems.find((item) => item.id === MENU_WORKSPACES))\n\t\t\treturn true;\n\t}\n\treturn false;\n};\n","export const PREFERENCES = {\n\tUSER_CAN_LOGOUT: 'user.can.logout',\n\tKEYBOARD_SHORTCUTS: 'glide.ui.keyboard.shortcuts.enabled'\n};\n\n// Link types\nexport const LINK_TYPES = {\n\tEMAIL_LINK_TYPE: 'email',\n\tPHONE_LINK_TYPE: 'phone',\n\tROUTE_LINK_TYPE: 'route',\n\tMODAL_LINK_TYPE: 'modal',\n\tEXTERNAL_LINK_TYPE: 'external',\n\tACTION_LINK_TYPE: 'action',\n\tVIEWPORT_MODAL_TYPE: 'viewportModal'\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const USER_SETTINGS_SEND_EVENT_REQUESTED =\n\t'USER_SETTINGS#SEND_EVENT_REQUESTED';\nexport const USER_SETTINGS_MODAL_OPENED = 'USER_SETTINGS#MODAL_OPENED';\nexport const USER_SETTINGS_UPDATE_STATE = 'USER_SETTINGS#UPDATE_STATE';\n","import {sortBy} from 'lodash';\nimport {LINK_TYPES} from '../../../constants';\nimport navTo from '../../../../../utils/navTo';\n\nconst computedStyles = getComputedStyle(document.documentElement);\n\n/**\n * Add a default icon if one hasn't been provided and if the item is an external link add the 'opens externally' icon\n */\nexport const addIconsToExperienceUserMenuItems = (experienceUserMenuItems) => {\n\tif (!experienceUserMenuItems) return experienceUserMenuItems;\n\n\treturn experienceUserMenuItems.map((i) => {\n\t\tconst icon = i.icon || 'window-outline';\n\t\tconst afterIcon =\n\t\t\ti.value?.type === LINK_TYPES.EXTERNAL_LINK_TYPE\n\t\t\t\t? 'open-link-right-outline'\n\t\t\t\t: null;\n\t\treturn {\n\t\t\t...i,\n\t\t\ticon: icon,\n\t\t\tafterIcon: afterIcon\n\t\t};\n\t});\n};\n\nexport const getExperienceUserMenuItems = (experienceUserMenu) => {\n\tconst userMenu = experienceUserMenu?.find(\n\t\t(menu) => menu.label === 'UserMenu'\n\t);\n\n\tconst experienceUserMenuItems =\n\t\taddIconsToExperienceUserMenuItems(userMenu?.value?.children) || [];\n\n\treturn sortBy(experienceUserMenuItems, ['position']);\n};\n\n/**\n * Converts the incoming screen content link into a unified menu item for display in the sn-collapsible-list\n * @param {Object} link screen content link with label, order, and url\n * @returns {Object} unified menu item\n */\nexport const linkToMenuItem = (link) => {\n\treturn {\n\t\tid: `screen-content-link-${link.order}`,\n\t\tlabel: link.label,\n\t\torder: link.order,\n\t\troute: {\n\t\t\texternal: {\n\t\t\t\turl: navTo(link.url)\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport const getSortedExperienceUserMenuItems = (experienceUserMenuItems) => {\n\t// We're handling specific types further down.\n\t// In the future, filtering out \"menu\" might be an issue if it has children that aren't a \"toggle\" type but that doesn't seem to be a common use case currently.\n\treturn getExperienceUserMenuItems(experienceUserMenuItems).filter((obj) => {\n\t\treturn (\n\t\t\t['navigation', 'divider'].includes(obj.type) &&\n\t\t\t(obj.value?.value?.href?.indexOf('/logout.do') === -1 ||\n\t\t\t\t!obj.value?.value?.href)\n\t\t);\n\t});\n};\n\nexport const getWorksWithBrandingSvg = () => {\n\tconst fillColor =\n\t\tcomputedStyles.getPropertyValue('--now-unified-nav_menu-item--color') ||\n\t\t'16, 23, 26';\n\treturn `data:image/svg+xml,\n\t\t<svg width=\"148\" height=\"14\" viewBox=\"0 0 148 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<style> \n\t\t\t\tpath {\n\t\t\t\t\tfill:rgb(${fillColor});\n\t\t\t\t}\n\t\t\t<\/style>\n\t\t\t<path d=\"M54.8455 4.24634H56.0328V7.46739C56.2602 7.1895 56.5718 6.94107 56.9676 6.72213C57.3634 6.50318 57.8055 6.39371 58.2939 6.39371C58.9423 6.39371 59.4644 6.5916 59.8602 6.98739C60.256 7.37476 60.4539 7.93897 60.4539 8.68002V12.8358H59.2665V8.99581C59.2665 7.9516 58.8455 7.4295 58.0034 7.4295C57.6834 7.4295 57.3676 7.52213 57.056 7.70739C56.7528 7.88423 56.5044 8.12844 56.3107 8.44002C56.1255 8.74318 56.0328 9.0716 56.0328 9.42528V12.8358H54.8455V4.24634Z\" />\n\t\t\t<path d=\"M52.6907 13C52.3959 13 52.118 12.9242 51.857 12.7726C51.5959 12.6126 51.3854 12.4021 51.2254 12.141C51.0738 11.88 50.998 11.6021 50.998 11.3074V5.05472L52.1854 4.35999V6.55788H53.4738V7.63156H52.1854V11.0295C52.1854 11.6021 52.4507 11.8884 52.9812 11.8884C53.1412 11.8884 53.3223 11.8674 53.5244 11.8252V12.9368C53.3559 12.9621 53.2086 12.9789 53.0823 12.9874C52.9644 12.9958 52.8338 13 52.6907 13Z\" />\n\t\t\t<path d=\"M49.2593 6.5579V12.8358H48.072V6.5579H49.2593ZM48.653 5.49685C48.4425 5.49685 48.2572 5.42106 48.0972 5.26948C47.9457 5.10948 47.8699 4.92422 47.8699 4.71369C47.8699 4.48633 47.9457 4.29685 48.0972 4.14527C48.2488 3.98527 48.4341 3.90527 48.653 3.90527C48.872 3.90527 49.0572 3.98527 49.2088 4.14527C49.3688 4.29685 49.4488 4.48633 49.4488 4.71369C49.4488 4.93264 49.3688 5.1179 49.2088 5.26948C49.0572 5.42106 48.872 5.49685 48.653 5.49685Z\" />\n\t\t\t<path d=\"M38.5027 6.55786H39.7406L40.7764 11.4715L41.888 6.55786H43.429L44.6164 11.4589L45.6016 6.55786H46.8395L45.3616 12.8358H43.909L42.6585 7.75786L41.4711 12.8358H40.0437L38.5027 6.55786Z\" />\n\t\t\t<path d=\"M32.5264 13C32.0127 13 31.5369 12.9116 31.099 12.7347C30.6695 12.5579 30.3116 12.3474 30.0253 12.1032C29.739 11.8505 29.5411 11.6232 29.4316 11.421L30.4548 10.7516C30.5306 10.9116 30.6653 11.0842 30.859 11.2695C31.0611 11.4463 31.3095 11.6021 31.6043 11.7368C31.899 11.8716 32.219 11.9389 32.5643 11.9389C32.9516 11.9389 33.259 11.8589 33.4864 11.6989C33.7137 11.5305 33.8274 11.3116 33.8274 11.0421C33.8274 10.84 33.7432 10.6842 33.5748 10.5747C33.4064 10.4653 33.1327 10.3684 32.7537 10.2842L31.7811 10.0821C31.1916 9.95578 30.7032 9.74104 30.3159 9.43789C29.9369 9.12631 29.7474 8.70526 29.7474 8.17473C29.7474 7.87157 29.8443 7.58526 30.038 7.31578C30.2401 7.03789 30.518 6.81473 30.8716 6.64631C31.2253 6.47789 31.6295 6.39368 32.0843 6.39368C32.5559 6.39368 32.9853 6.46526 33.3727 6.60841C33.7601 6.74315 34.0759 6.89894 34.3201 7.07578C34.5643 7.2442 34.7369 7.39157 34.838 7.51789L33.9411 8.33894C33.7811 8.11999 33.5201 7.91368 33.158 7.71999C32.8043 7.52631 32.4295 7.42947 32.0337 7.42947C31.7222 7.42947 31.4653 7.50526 31.2632 7.65683C31.0611 7.79999 30.9601 7.97262 30.9601 8.17473C30.9601 8.55368 31.238 8.8021 31.7937 8.91999L33.2843 9.22315C33.798 9.33262 34.219 9.53052 34.5474 9.81683C34.8758 10.1032 35.0401 10.5032 35.0401 11.0168C35.0401 11.3789 34.9222 11.7116 34.6864 12.0147C34.459 12.3179 34.1516 12.5579 33.7643 12.7347C33.3853 12.9116 32.9727 13 32.5264 13Z\" />\n\t\t\t<path d=\"M23.8845 4.24634H25.0719V9.27371L27.6614 6.55792H29.3414L26.3856 9.46318L29.215 12.8358H27.6487L25.0719 9.65265V12.8358H23.8845V4.24634Z\" />\n\t\t\t<path d=\"M19.6423 6.55789H20.8297V7.56842C21.0571 7.23999 21.3434 6.96631 21.6886 6.74736C22.0423 6.51999 22.396 6.40631 22.7497 6.40631V7.60631C22.6486 7.58947 22.5686 7.58105 22.5097 7.58105C22.2486 7.58105 21.9876 7.64842 21.7265 7.78315C21.4655 7.91789 21.2508 8.11157 21.0823 8.36421C20.9139 8.61684 20.8297 8.91157 20.8297 9.24842V12.8358H19.6423V6.55789Z\" />\n\t\t\t<path d=\"M15.1503 13C14.6029 13 14.0892 12.8526 13.6092 12.5579C13.1292 12.2547 12.7461 11.8505 12.4597 11.3453C12.1734 10.8316 12.0303 10.28 12.0303 9.69052C12.0303 9.05894 12.1692 8.49473 12.4471 7.99789C12.7334 7.49262 13.1166 7.10105 13.5966 6.82315C14.0766 6.53683 14.5945 6.39368 15.1503 6.39368C15.7061 6.39368 16.224 6.53683 16.704 6.82315C17.184 7.10105 17.5629 7.49262 17.8408 7.99789C18.1271 8.49473 18.2703 9.05894 18.2703 9.69052C18.2703 10.28 18.1271 10.8316 17.8408 11.3453C17.5545 11.8505 17.1713 12.2547 16.6913 12.5579C16.2113 12.8526 15.6976 13 15.1503 13ZM15.1503 11.9389C15.5292 11.9389 15.8619 11.8379 16.1482 11.6358C16.4429 11.4337 16.6661 11.1642 16.8176 10.8274C16.9776 10.4821 17.0576 10.1032 17.0576 9.69052C17.0576 9.27789 16.9776 8.90315 16.8176 8.56631C16.6661 8.22105 16.4429 7.95157 16.1482 7.75789C15.8619 7.55578 15.5292 7.45473 15.1503 7.45473C14.7713 7.45473 14.4345 7.55578 14.1397 7.75789C13.8534 7.95157 13.6303 8.22105 13.4703 8.56631C13.3187 8.90315 13.2429 9.27789 13.2429 9.69052C13.2429 10.1032 13.3187 10.4821 13.4703 10.8274C13.6303 11.1642 13.8534 11.4337 14.1397 11.6358C14.4345 11.8379 14.7713 11.9389 15.1503 11.9389Z\" />\n\t\t\t<path d=\"M2.21738 4.24634L3.73317 11.5979L5.35001 4.24634H7.25738L8.86159 11.5853L10.2637 4.24634H11.5521L9.7079 12.8358H8.0658L6.29738 5.19371L4.52896 12.8358H2.89948L0.928955 4.24634H2.21738Z\" />\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M65.0022 10.3694C65.6317 10.8882 66.4305 11.1702 67.2543 11.1644C67.8465 11.1644 68.3063 10.8829 68.3063 10.4835C68.3063 9.27385 64.3281 9.72271 64.3281 7.11704C64.3281 5.57646 65.8516 4.61407 67.4764 4.61407C68.4622 4.61485 69.4263 4.89643 70.2506 5.42431L69.218 6.9839C68.7679 6.65041 68.2241 6.45928 67.6595 6.43614C67.0517 6.43614 66.5413 6.66818 66.5413 7.08281C66.5413 8.12888 70.5194 7.71425 70.5194 10.5063C70.5194 12.0279 68.9609 12.9941 67.2543 12.9941C66.0651 12.9828 64.9099 12.6047 63.9541 11.9138L65.0022 10.3694Z\" />\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M78.8188 8.72609C78.8188 6.48559 77.2096 4.61407 74.9224 4.61407C72.4872 4.61407 70.9287 6.56928 70.9287 8.79836C70.9287 11.3203 72.7717 12.9827 75.2147 12.9827C75.8496 12.9909 76.479 12.8662 77.0604 12.6168C77.6418 12.3675 78.1617 11.9993 78.585 11.5372L77.3616 10.3275C77.0995 10.6104 76.7813 10.8386 76.4264 10.9981C76.0715 11.1576 75.6871 11.2452 75.2965 11.2557C74.7489 11.2718 74.2155 11.0844 73.804 10.7314C73.3925 10.3783 73.1335 9.88595 73.0795 9.35373H78.7681C78.8045 9.14646 78.8215 8.93637 78.8188 8.72609ZM73.1847 7.7637C73.2638 7.3653 73.4832 7.00648 73.8049 6.74943C74.1265 6.49237 74.5302 6.35328 74.9458 6.35626C75.3461 6.35627 75.7325 6.49951 76.0319 6.75886C76.3313 7.01822 76.5229 7.37571 76.5706 7.7637H73.1847Z\" />\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M84.1926 4.69779C83.3398 4.68994 82.5116 4.97696 81.8548 5.50802V4.77767H79.7585V12.8229H81.96V7.66483C82.1966 7.36564 82.4983 7.1214 82.8432 6.94973C83.1882 6.77805 83.5679 6.6832 83.9549 6.67201C84.2556 6.65623 84.5565 6.70023 84.8394 6.80134V4.75104C84.6257 4.71576 84.4093 4.69795 84.1926 4.69779Z\" />\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M90.0832 9.68848L92.3353 4.77765H94.6185L90.8469 12.8229H89.3234L85.5479 4.77765H87.8311L90.0832 9.68848Z\" />\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M96.4697 1.00034C96.7473 1.00633 97.0168 1.09215 97.2447 1.24705C97.4725 1.40196 97.6484 1.61905 97.7504 1.87113C97.8524 2.12322 97.8759 2.39908 97.818 2.66416C97.7601 2.92924 97.6234 3.17174 97.4249 3.36129C97.2265 3.55083 96.9752 3.67899 96.7025 3.72971C96.4297 3.78042 96.1478 3.75143 95.8918 3.64637C95.6359 3.54131 95.4174 3.36486 95.2638 3.13912C95.1101 2.91338 95.0281 2.64839 95.0281 2.37735C95.028 2.19393 95.0655 2.01235 95.1383 1.84326C95.2112 1.67418 95.3179 1.52101 95.4522 1.39273C95.5864 1.26446 95.7456 1.16367 95.9204 1.09629C96.0951 1.02891 96.2819 0.996283 96.4697 1.00034Z\" />\n\t\t\t<path d=\"M97.5679 4.77765H95.3665V12.8229H97.5679V4.77765Z\" />\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M106.666 11.1834C106.249 11.7644 105.69 12.2342 105.039 12.5499C104.389 12.8655 103.667 13.0169 102.941 12.9903C101.805 12.9903 100.714 12.5494 99.9106 11.7647C99.1068 10.98 98.6553 9.91573 98.6553 8.80599C98.6553 7.69625 99.1068 6.63196 99.9106 5.84725C100.714 5.06254 101.805 4.6217 102.941 4.6217C103.604 4.6169 104.259 4.75926 104.857 5.03802C105.455 5.31678 105.981 5.72463 106.393 6.23075L104.835 7.57352C104.618 7.28006 104.334 7.04019 104.005 6.87309C103.676 6.70599 103.312 6.61628 102.941 6.61114C102.646 6.60952 102.353 6.6658 102.081 6.77663C101.808 6.88746 101.561 7.05059 101.355 7.25635C101.148 7.46211 100.986 7.7063 100.877 7.97445C100.769 8.2426 100.717 8.52925 100.724 8.8174C100.714 9.1097 100.766 9.40085 100.877 9.6726C100.988 9.94434 101.155 10.1908 101.368 10.3965C101.581 10.6023 101.835 10.7628 102.114 10.8681C102.394 10.9734 102.693 11.0212 102.992 11.0084C103.381 10.9977 103.761 10.8952 104.1 10.7097C104.439 10.5242 104.728 10.2613 104.94 9.94336L106.666 11.1834Z\" />\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M114.657 11.5448C114.235 12.007 113.716 12.3753 113.135 12.6247C112.554 12.8741 111.925 12.9988 111.291 12.9903C108.836 12.9903 107.005 11.3318 107.005 8.80599C107.005 6.5655 108.563 4.6217 111.003 4.6217C113.27 4.6217 114.875 6.49322 114.875 8.73372C114.877 8.9402 114.861 9.14643 114.825 9.34995H109.124C109.177 9.88287 109.435 10.3763 109.847 10.7297C110.259 11.0831 110.793 11.2698 111.341 11.2519C111.732 11.241 112.116 11.1532 112.471 10.9937C112.826 10.8342 113.144 10.6063 113.407 10.3238L114.657 11.5448ZM112.612 7.76372C112.563 7.37606 112.371 7.01904 112.072 6.75984C111.773 6.50064 111.387 6.35712 110.987 6.35628C110.571 6.3533 110.168 6.49239 109.846 6.74945C109.524 7.00651 109.305 7.36532 109.226 7.76372H112.612Z\" />\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M115.736 12.823V4.7777H117.852V5.42437C118.509 4.89417 119.337 4.60727 120.189 4.61413C120.732 4.61213 121.268 4.72701 121.76 4.95057C122.251 5.17413 122.686 5.50086 123.034 5.90746C123.575 6.53891 123.879 7.34914 123.879 8.72615V12.823H121.678V8.56258C121.678 7.76376 121.491 7.34914 121.187 7.04102C121.019 6.89153 120.822 6.77593 120.608 6.70086C120.394 6.62579 120.167 6.59273 119.94 6.60357C119.553 6.61468 119.172 6.70989 118.827 6.88227C118.482 7.05466 118.181 7.2999 117.945 7.6002V12.823H115.736Z\" />\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M129.526 4.62171C128.562 4.62075 127.619 4.90248 126.82 5.43045C126.021 5.95841 125.403 6.70831 125.045 7.58311C124.687 8.45791 124.607 9.41734 124.814 10.3373C125.021 11.2572 125.506 12.0953 126.207 12.743C126.371 12.8962 126.587 12.9868 126.814 12.9987C127.041 13.0106 127.265 12.9428 127.446 12.8077C128.039 12.3755 128.759 12.142 129.499 12.142C130.239 12.142 130.959 12.3755 131.552 12.8077C131.734 12.9439 131.961 13.0115 132.19 12.9983C132.419 12.985 132.635 12.8917 132.799 12.7354C133.494 12.0899 133.976 11.2566 134.183 10.3422C134.39 9.42786 134.313 8.474 133.961 7.60271C133.61 6.73142 133 5.98232 132.21 5.45127C131.42 4.92022 130.485 4.63138 129.526 4.62171ZM129.499 11.6741C129.022 11.6756 128.556 11.5389 128.158 11.2811C127.761 11.0234 127.451 10.6563 127.268 10.2265C127.085 9.7966 127.037 9.3233 127.129 8.86658C127.222 8.40986 127.451 7.99029 127.789 7.66107C128.126 7.33184 128.556 7.10779 129.023 7.01733C129.491 6.92687 129.976 6.97406 130.416 7.15293C130.857 7.3318 131.233 7.63429 131.497 8.02204C131.761 8.40979 131.901 8.86535 131.899 9.33094C131.908 9.64093 131.852 9.94938 131.734 10.2375C131.616 10.5255 131.44 10.7872 131.215 11.0065C130.991 11.2258 130.723 11.3981 130.428 11.5129C130.133 11.6276 129.817 11.6825 129.499 11.6741Z\" />\n\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M138.651 12.8229H137.014L133.745 4.77765H135.943L137.735 9.37656L139.492 4.77765H141.328L143.069 9.37656L144.877 4.77765H147.071L143.806 12.8229H142.165L140.408 8.243L138.651 12.8229Z\" />\n\t\t<\/svg>\n\t`;\n};\n","export default (uri) => {\n\t// not encoded\n\tif (decodeURIComponent(uri) === uri) uri = encodeURIComponent(uri);\n\n\t// uri needs to encoded, otherwise a query param in the uri may be stripped off\n\treturn `nav_to.do?uri=${uri}`;\n};\n","import {isEmpty, sortBy} from 'lodash';\nimport {\n\tgetBooleanPreferenceValue,\n\tgetBooleanProperty,\n\tonMouseEnterLabelItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHoverHandlers\n} from '@devsnc/unav-utils';\nimport {PREFERENCES} from '../../../constants';\nimport {\n\tBUTTON_ACTIONS,\n\tNOW_BUTTON_CLICKED,\n\tSYS_PROPS,\n\tSYS_PROP_AIUX_EXPERIENCE,\n\tSYS_PROP_AIUX_ON_OFF_USER_PREF_ENABLED,\n\tUSER_PREF_AIUX_USE\n} from '../../../../../constants';\nimport {t} from 'sn-translate';\nimport {createRef, Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-avatar';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-toggle';\n\nimport {USER_SETTINGS_MODAL_OPENED} from '../../../../../behaviors/user-settings-behavior/actions';\nimport {SCREEN_CONTENT_LINK_ITEM_SELECTED} from '../../../actions';\nimport {getFeatureSettings} from '../../../../../utils/featureSettingsSingleton';\nimport {\n\tgetSortedExperienceUserMenuItems,\n\tgetWorksWithBrandingSvg,\n\tlinkToMenuItem\n} from './user-menu.utils';\n\n/**\n * Generic JSX to handle rendering the user menu buttons\n *\n * @param {*} {label, icon, eventSource, isVisible}\n * @returns {NowButton}\n */\nconst UserMenuButton = ({\n\tid = '',\n\tlabel,\n\ticon,\n\tafterIcon,\n\teventSource,\n\tdisabled = false,\n\ttarget,\n\tdispatch\n}) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\tconst buttonLabel = t(label);\n\tconst buttonRef = target || createRef();\n\treturn (\n\t\t<button\n\t\t\tdisabled={disabled}\n\t\t\tclassName={`user-menu-button ${id} keyboard-navigatable`}\n\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}\n\t\t\taria-label={buttonLabel}\n\t\t\tref={buttonRef}\n\t\t\ton-click={(event) => {\n\t\t\t\tdispatch(NOW_BUTTON_CLICKED, {\n\t\t\t\t\tevent,\n\t\t\t\t\teventSource: eventSource,\n\t\t\t\t\ttarget: buttonRef\n\t\t\t\t});\n\t\t\t}}\n\t\t\tdata-id={id}>\n\t\t\t<div\n\t\t\t\tclassName=\"user-menu-label\"\n\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}>\n\t\t\t\t{icon ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\tclassName=\"user-menu-icon\"\n\t\t\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{buttonLabel}\n\t\t\t\t{afterIcon ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={afterIcon}\n\t\t\t\t\t\tclassName=\"user-menu-icon after\"\n\t\t\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/button>\n\t);\n};\n\nconst renderDivider = (label) => {\n\treturn !label ? <hr aria-hidden=\"true\" /> : {label};\n};\n\nconst renderExperienceNavItem = (item, dispatch) => {\n\tconst {label, icon, afterIcon} = item;\n\n\treturn (\n\t\t<UserMenuButton\n\t\t\tid=\"experience-button\"\n\t\t\tlabel={label}\n\t\t\ticon={icon}\n\t\t\tafterIcon={afterIcon}\n\t\t\teventSource={BUTTON_ACTIONS.EXPERIENCE_ACTION_ITEM_CLICKED}\n\t\t\ttarget={item.value}\n\t\t\tdispatch={dispatch}\n\t\t/>\n\t);\n};\n\n/**\n * Renders out a sn-collapsible-list component with the screen content links\n * @param {any[]} screenContentLinks the list of\n * @returns {JSX.Element}\n */\nconst renderScreenContentLinks = (screenContentLinks) => {\n\tconst menu = {\n\t\tid: 'screen-content-links',\n\t\tlabel: t('Configure page'),\n\t\tsubItems: sortBy(screenContentLinks.map(linkToMenuItem), ['order'])\n\t};\n\n\treturn (\n\t\t<sn-collapsible-list\n\t\t\tid=\"screen-content-links\"\n\t\t\tmenu={menu}\n\t\t\titem-interaction-dispatch-action={SCREEN_CONTENT_LINK_ITEM_SELECTED}\n\t\t/>\n\t);\n};\n\nconst KarunaToggle = ({menuData, dispatch}) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\tconst showToggle =\n\t\tgetBooleanProperty(SYS_PROP_AIUX_ON_OFF_USER_PREF_ENABLED, false) &&\n\t\tgetBooleanProperty(SYS_PROP_AIUX_EXPERIENCE, false) &&\n\t\tisPolarisEnabled;\n\n\tif (!showToggle) return null;\n\n\tconst isAiuxEnabled = getBooleanPreferenceValue(\n\t\tmenuData.userPreferences,\n\t\tUSER_PREF_AIUX_USE,\n\t\ttrue\n\t);\n\n\treturn (\n\t\t<div className=\"user-menu-toggle-container\">\n\t\t\t<button\n\t\t\t\tclassName=\"user-menu-button user-menu-toggle-row keyboard-navigatable\"\n\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}\n\t\t\t\trole=\"switch\"\n\t\t\t\taria-checked={String(isAiuxEnabled)}\n\t\t\t\taria-label={t('Try new experience')}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(NOW_BUTTON_CLICKED, {\n\t\t\t\t\t\teventSource: BUTTON_ACTIONS.KARUNA_TOGGLE_CLICKED,\n\t\t\t\t\t\tvalue: !isAiuxEnabled\n\t\t\t\t\t});\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"user-menu-label\"\n\t\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}\n\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\tclassName=\"user-menu-icon\"\n\t\t\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}\n\t\t\t\t\t/>\n\t\t\t\t\t{t('Try new experience')}\n\t\t\t\t<\/div>\n\t\t\t\t<now-toggle checked={isAiuxEnabled} tabindex=\"-1\" size=\"sm\" />\n\t\t\t<\/button>\n\t\t<\/div>\n\t);\n};\n\nexport const View = ({\n\tmenuData,\n\texperienceUserMenuItems = [],\n\tscreenContentLinks,\n\tworksWithBrandingEnabled,\n\tdispatch\n}) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\tconst fullName =\n\t\tmenuData?.userMeta?.displayName ||\n\t\tmenuData?.userMeta?.fullName ||\n\t\tt('Unknown User');\n\tconst userTitle = menuData?.userMeta?.title || '';\n\tconst avatarPath = menuData?.userMeta?.avatar || '';\n\tconst presence = menuData?.userSession?.presence || '';\n\tconst isImpersonating = menuData?.userMeta?.isImpersonating || false;\n\tconst canImpersonate = menuData?.userMeta?.canImpersonate || false;\n\tconst printerFriendlyEnabled = menuData?.printerFriendlyEnabled;\n\n\t// TODO: Remove when we move the \"isEnabled\" resolving\n\t// up a layer\n\tconst impersonateButtonEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.IMPERSONATE_BUTTON_ENABLED,\n\t\ttrue\n\t);\n\tconst impersonationEnabled =\n\t\tisPolarisEnabled && impersonateButtonEnabled && canImpersonate;\n\n\tconst elevatedRoles = menuData?.elevatedRoles || [];\n\n\tconst elevateRoleEnabled =\n\t\tisPolarisEnabled &&\n\t\t!isImpersonating &&\n\t\tmenuData?.userMeta?.elevatedRoles?.length > 0;\n\n\tconst sortedExperienceUserMenuItems = getSortedExperienceUserMenuItems(\n\t\texperienceUserMenuItems\n\t);\n\n\treturn (\n\t\t<div className=\"user-menu-body\">\n\t\t\t<div\n\t\t\t\tclassName=\"user-menu-header\"\n\t\t\t\tclass={{'polaris-enabled': isPolarisEnabled}}>\n\t\t\t\t<now-avatar\n\t\t\t\t\tclass={{'avatar-border': isImpersonating}}\n\t\t\t\t\timage-src={avatarPath}\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\tuser-name={fullName}\n\t\t\t\t\tpresence={isImpersonating ? undefined : presence}\n\t\t\t\t\tinteraction=\"button\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"user-menu-info\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t{...createMenuTooltipHoverHandlers(\n\t\t\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t<div className=\"user-name label\">{fullName}<\/div>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<div className=\"user-role user-additional-info\">{userTitle}<\/div>\n\t\t\t\t\t{isImpersonating ? (\n\t\t\t\t\t\t<div className=\"user-is-impersonating user-additional-info\">\n\t\t\t\t\t\t\t<now-icon icon=\"eye-fill\" size=\"sm\" /> {t('Impersonating User')}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{elevatedRoles.length > 0 ? (\n\t\t\t\t\t\t<div className=\"user-is-impersonating user-additional-info\">\n\t\t\t\t\t\t\t<now-icon icon=\"circle-arrow-up-fill\" size=\"sm\" />{' '}\n\t\t\t\t\t\t\t{elevatedRoles.length > 1\n\t\t\t\t\t\t\t\t? t('Elevated roles ({0})', elevatedRoles.length)\n\t\t\t\t\t\t\t\t: elevatedRoles[0]}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{!isEmpty(menuData?.contextualMenu?.instanceName) ? (\n\t\t\t\t\t\t<div className=\"instance-name user-additional-info\">\n\t\t\t\t\t\t\t<now-icon icon=\"serverbox-outline\" size=\"sm\" />\n\t\t\t\t\t\t\t{menuData.contextualMenu.instanceName}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<KarunaToggle menuData={menuData} dispatch={dispatch} />\n\n\t\t\t<div className=\"user-menu-controls\">\n\t\t\t\t{isPolarisEnabled ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"profile\"\n\t\t\t\t\t\tlabel={t('Profile')}\n\t\t\t\t\t\ticon=\"user-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.PROFILE_CLICKED}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t<UserMenuButton\n\t\t\t\t\tid=\"preferences\"\n\t\t\t\t\tlabel={t('Preferences')}\n\t\t\t\t\ticon=\"gear-outline\"\n\t\t\t\t\teventSource={USER_SETTINGS_MODAL_OPENED}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t/>\n\n\t\t\t\t{isPolarisEnabled &&\n\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.KEYBOARD_SHORTCUTS_ENABLED, true) &&\n\t\t\t\tgetBooleanPreferenceValue(\n\t\t\t\t\tmenuData.userPreferences,\n\t\t\t\t\tPREFERENCES.KEYBOARD_SHORTCUTS\n\t\t\t\t) ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"keyboard-shortcut-modal\"\n\t\t\t\t\t\tlabel={t('Keyboard shortcuts')}\n\t\t\t\t\t\ticon=\"keyboard-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.KEYBOARD_SHORTCUT_MODAL}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{(isPolarisEnabled && isImpersonating) ||\n\t\t\t\timpersonationEnabled ||\n\t\t\t\televateRoleEnabled\n\t\t\t\t\t? renderDivider()\n\t\t\t\t\t: null}\n\n\t\t\t\t{isImpersonating ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"unimpersonate\"\n\t\t\t\t\t\tlabel={t('End impersonation')}\n\t\t\t\t\t\ticon=\"eye-slash-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.END_IMPERSONATION_CLICKED}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{impersonationEnabled ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"impersonateUser\"\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisImpersonating\n\t\t\t\t\t\t\t\t? t('Impersonate another user')\n\t\t\t\t\t\t\t\t: t('Impersonate user')\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon=\"eye-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.IMPERSONATE_USER_CLICKED}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{elevateRoleEnabled ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"elevateRole\"\n\t\t\t\t\t\tlabel={t('Elevate role')}\n\t\t\t\t\t\ticon=\"arrow-up-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.ELEVATE_ROLE_CLICKED}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{printerFriendlyEnabled ? (\n\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\tid=\"printerFriendly\"\n\t\t\t\t\t\tlabel={t('Printer friendly version')}\n\t\t\t\t\t\ticon=\"printer-outline\"\n\t\t\t\t\t\teventSource={BUTTON_ACTIONS.PRINTER_FRIENDLY_CLICKED}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{!isEmpty(sortedExperienceUserMenuItems) ? renderDivider() : null}\n\n\t\t\t\t{sortedExperienceUserMenuItems.map((item) => {\n\t\t\t\t\tconst {type, value} = item;\n\n\t\t\t\t\tswitch (type) {\n\t\t\t\t\t\tcase 'navigation':\n\t\t\t\t\t\t\treturn renderExperienceNavItem(item, dispatch);\n\t\t\t\t\t\tcase 'divider':\n\t\t\t\t\t\t\treturn renderDivider(value.label);\n\t\t\t\t\t}\n\t\t\t\t})}\n\n\t\t\t\t{!isEmpty(screenContentLinks)\n\t\t\t\t\t? renderScreenContentLinks(screenContentLinks)\n\t\t\t\t\t: null}\n\t\t\t<\/div>\n\n\t\t\t<div className=\"user-menu-footer\">\n\t\t\t\t{getBooleanPreferenceValue(\n\t\t\t\t\tmenuData.userPreferences,\n\t\t\t\t\tPREFERENCES.USER_CAN_LOGOUT,\n\t\t\t\t\ttrue\n\t\t\t\t) ? (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'user-menu-logout': true,\n\t\t\t\t\t\t\t\t'is-branded': worksWithBrandingEnabled\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{renderDivider()}\n\t\t\t\t\t\t\t<UserMenuButton\n\t\t\t\t\t\t\t\tid=\"logout\"\n\t\t\t\t\t\t\t\tlabel={t('Log out')}\n\t\t\t\t\t\t\t\ticon=\"square-arrow-left-outline\"\n\t\t\t\t\t\t\t\teventSource={BUTTON_ACTIONS.LOGOUT_CLICKED}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{worksWithBrandingEnabled ? (\n\t\t\t\t\t\t\t<div className=\"user-menu-branding\">\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\tsrc={getWorksWithBrandingSvg()}\n\t\t\t\t\t\t\t\t\talt=\"Works with ServiceNow\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport {default as styles} from './styles.scss';\n","export const SN_DRILLDOWN_LIST_TOGGLE = 'SN_DRILLDOWN_LIST#TOGGLE';\nexport const FILTER_SEARCH_UPDATED = 'NAV_PANEL_CONTENT#FILTER_SEARCH_UPDATED';\nexport const NAV_SUB_MENU_ITEM_SELECTED = 'NAV_SUB_MENU_ITEM#SELECTED';\nexport const NAV_SUB_MENU_ITEM_FAVORITED = 'NAV_SUB_MENU_ITEM#FAVORITED';\nexport const NAV_SUB_MENU_ITEM_UNFAVORITED = 'NAV_SUB_MENU_ITEM#UNFAVORITED';\nexport const NAVIGATION_REQUESTED = 'NAV_PANEL_CONTENT#NAVIGATION_REQUESTED';\nexport const SHOW_MENU_ITEM_TOOLTIP = 'NAV_PANEL_CONTENT#SHOW_TOOLTIP';\nexport const HIDE_MENU_ITEM_TOOLTIP = 'NAV_PANEL_CONTENT#HIDE_TOOLTIP';\nexport const FOCUS_FIRST_FILTERED_NAV_ITEM =\n\t'NAV_PANEL_CONTENT#FOCUS_FIRST_FILTERED_NAV_ITEM';\nexport const CLICK_FIRST_FILTERED_NAV_ITEM =\n\t'NAV_PANEL_CONTENT#CLICK_FIRST_FILTERED_NAV_ITEM';\nexport const MENU_CONTENT_FOCUSED = 'MENU_CONTENT#FOCUSED';\nexport const TOGGLE_ALL_RESULTS = 'NAV_PANEL_CONTENT#TOGGLE_ALL_RESULTS';\nexport const TOGGLE_FAVORITE_RESULTS =\n\t'NAV_PANEL_CONTENT#TOGGLE_FAVORITE_RESULTS';\nexport const TOGGLE_OTHER_RESULTS = 'NAV_PANEL_CONTENT#TOGGLE_OTHER_RESULTS';\nexport const NO_TOGGLE = 'NAV_PANEL_CONTENT#NO_TOGGLE';\nexport const SN_DRILLDOWN_SET = 'SN_DRILLDOWN_LIST#SET';\nexport const CREATE_APP_MENU = 'NAV_PANEL_CONTENT#CREATE_APP_MENU';\nexport const EDIT_MENU_ITEM = 'NAV_PANEL_CONTENT#EDIT_MENU_ITEM';\n","import {SN_DRILLDOWN_LIST_TOGGLE} from '../actions';\n\nexport const actionHandlers = {\n\t[SN_DRILLDOWN_LIST_TOGGLE]: ({properties: {drilled}, updateProperties}) => {\n\t\tupdateProperties({\n\t\t\tisDrilled: !drilled\n\t\t});\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_17_polaris_0_index_jsdbx_bb5f9f35__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"];\n\t\t\t\t}, [\"getFocusableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"].getFocusableNodes;\n\t\t\t\t\t} else if ('getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__.getFocusableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"].getFocusableNodes;\n\t\t\t\t}, [\"handleFocusFirstNode\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__.__esModule\n\t\t\t\t\tif (cjsModule && 'handleFocusFirstNode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"].handleFocusFirstNode;\n\t\t\t\t\t} else if ('handleFocusFirstNode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__.handleFocusFirstNode || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_17_polaris_0_index_jsdbx_15ffe83f__[\"default\"].handleFocusFirstNode;\n\t\t\t\t} });","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './_sn-drilldown-list.scss';\nimport view from './sn-drilldown-list.view';\nimport {actionHandlers} from './sn-drilldown-list.effects';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {LOCAL_STORAGE_KEYS} from '../../../constants';\n\nconst SN_DRILLDOWN_LIST = 'sn-drilldown-list';\ncreateCustomElement(SN_DRILLDOWN_LIST, {\n\tview,\n\tproperties: {\n\t\tnowPriority: {\n\t\t\tdefault: 'low'\n\t\t},\n\t\tmenu: {\n\t\t\tdefault: null\n\t\t},\n\t\theaderText: {\n\t\t\tdefault: null\n\t\t},\n\t\tforceFocus: {\n\t\t\tdefault: false\n\t\t},\n\t\tanimationsEnabled: {\n\t\t\tdefault: true\n\t\t},\n\t\tindicatorOn: {\n\t\t\tdefault: false\n\t\t},\n\t\tsource: {\n\t\t\tdefault: null\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: SN_DRILLDOWN_LIST}\n\t\t},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: focusBehavior}\n\t]\n});\n\nexport default SN_DRILLDOWN_LIST;\n","import '@servicenow/now-icon';\n\nimport {NAV_SUB_MENU_ITEM_SELECTED, SN_DRILLDOWN_LIST_TOGGLE} from '../actions';\n\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {\n\tonMouseEnterLabelItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {renderLeafIcon} from '../../../utils/renderDirtyWorkspaceIcon';\n\nexport default (state, dispatch) => {\n\tconst {\n\t\tproperties: {\n\t\t\tisDrilled,\n\t\t\tmenu,\n\t\t\tanimationsEnabled,\n\t\t\tdir,\n\t\t\tforceFocus,\n\t\t\tindicatorOn,\n\t\t\theaderText,\n\t\t\tsource\n\t\t}\n\t} = state;\n\n\treturn menu.subItems ? (\n\t\t<div className=\"sn-drilldown-list\" role=\"menuitem\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-drilldown-list-header': true,\n\t\t\t\t\t'keyboard-navigatable': true,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-expanded=\"false\"\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\tif (forceFocus) {\n\t\t\t\t\t\telm.focus();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\t{...createInteractionHandlers(() => {\n\t\t\t\t\tdispatch(SN_DRILLDOWN_LIST_TOGGLE, {\n\t\t\t\t\t\titem: menu,\n\t\t\t\t\t\theaderText,\n\t\t\t\t\t\tdrilled: !isDrilled,\n\t\t\t\t\t\tsource: source\n\t\t\t\t\t});\n\t\t\t\t})}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tlabel: true,\n\t\t\t\t\t\t'is-dirty': !!menu.icon\n\t\t\t\t\t}}>\n\t\t\t\t\t{/* {menu.icon ? (\n\t\t\t\t\t\t<now-icon icon={menu.icon} className=\"sn-drilldown-list-icon\" />\n\t\t\t\t\t) : null} */}\n\t\t\t\t\t{menu.icon\n\t\t\t\t\t\t? renderLeafIcon(\n\t\t\t\t\t\t\t\tmenu.icon,\n\t\t\t\t\t\t\t\tmenu,\n\t\t\t\t\t\t\t\t'sn-drilldown-list-icon',\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: null}\n\n\t\t\t\t\t{menu.label}\n\t\t\t\t<\/span>\n\t\t\t\t{menu.hint ? <span className=\"hint\">{menu.hint}<\/span> : null}\n\t\t\t\t{indicatorOn ? <div className=\"indicator\" /> : null}\n\t\t\t\t{menu?.buttonConfig?.badgeCount ? (\n\t\t\t\t\t<now-badge\n\t\t\t\t\t\tround\n\t\t\t\t\t\tmaxDigits=\"3\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvalue={menu?.buttonConfig?.badgeCount}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tstatus=\"info\"\n\t\t\t\t\t\tclassName=\"utility-badge\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{!menu?.buttonConfig?.openNewMenu ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={`chevron-${dir === 'rtl' ? 'left' : 'right'}-outline`}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t) : (\n\t\t<div className=\"sn-drilldown-list\" role=\"menuitem\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-drilldown-list-header': true,\n\t\t\t\t\t'keyboard-navigatable': true,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\t{...createInteractionHandlers(() => {\n\t\t\t\t\tdispatch(NAV_SUB_MENU_ITEM_SELECTED, {\n\t\t\t\t\t\titem: menu\n\t\t\t\t\t});\n\t\t\t\t})}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}>\n\t\t\t\t<span className=\"label\">\n\t\t\t\t\t{/* {menu.icon ? (\n\t\t\t\t\t\t<now-icon icon={menu.icon} className=\"sn-drilldown-list-icon\" />\n\t\t\t\t\t) : null} */}\n\t\t\t\t\t{menu.icon\n\t\t\t\t\t\t? renderLeafIcon(\n\t\t\t\t\t\t\t\tmenu.icon,\n\t\t\t\t\t\t\t\tmenu,\n\t\t\t\t\t\t\t\t'sn-drilldown-list-icon',\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: null}\n\t\t\t\t\t{menu.label}\n\t\t\t\t<\/span>\n\t\t\t\t{menu.hint ? <span className=\"hint\">{menu.hint}<\/span> : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import createInteractionHandlers from './createInteractionHandlers';\nimport {SCRIPT} from '../constants';\n\nexport default (item, fn) => {\n\treturn createInteractionHandlers((e) => {\n\t\t// Let the browser open the link in a new tab or window, or if the item is a script\n\t\t// This applies to non external links. External links can still be handled by UXR and will\n\t\t// open in a new tab regardless of using CMD/CTRL.\n\t\tif (\n\t\t\t!item?.route?.external &&\n\t\t\t(e.ctrlKey || e.metaKey || e.shiftKey || item?.actionType === SCRIPT)\n\t\t)\n\t\t\treturn;\n\t\tfn(e);\n\t});\n};\n","export const SN_COLLAPSIBLE_LIST_TOGGLE = 'SN_COLLAPSIBLE_LIST#TOGGLE';\n","import {getIcon} from '@servicenow/now-icon';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\n\nconst ICON_SIZES = {\n\tsm: {pixelSize: 12},\n\tmd: {pixelSize: 16},\n\tlg: {pixelSize: 24},\n\txl: {pixelSize: 32}\n};\n\nconst DEFAULT_ICON_SIZE = ICON_SIZES.md;\nconst DEFAULT_ICON_PIXEL_SIZE = DEFAULT_ICON_SIZE.pixelSize;\n\nexport default async function loadIcon(\n\ticonName,\n\ticonSize = DEFAULT_ICON_PIXEL_SIZE\n) {\n\treturn getIcon(`${iconName}${iconSize}`);\n}\n\n// ignoring for coverage since it's mapping to an actual element\n/* istanbul ignore next */\nexport function svgTemplate(svgPaths, className, iconType, dir = 'ltr') {\n\tif (!svgPaths) return null;\n\n\treturn (\n\t\t<svg\n\t\t\tclass={{\n\t\t\t\t'now-icon': true,\n\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t[className]: true\n\t\t\t}}\n\t\t\tstyle={{\n\t\t\t\twidth: `${DEFAULT_ICON_SIZE.pixelSize}px`,\n\t\t\t\theight: `${DEFAULT_ICON_SIZE.pixelSize}px`\n\t\t\t}}\n\t\t\ticon={iconType}\n\t\t\taria-hidden=\"true\"\n\t\t\tattr-viewBox={`0 0 ${DEFAULT_ICON_SIZE.pixelSize} ${\n\t\t\t\tDEFAULT_ICON_SIZE.pixelSize\n\t\t\t}`}>\n\t\t\t<g>\n\t\t\t\t{svgPaths && svgPaths.startsWith('<')\n\t\t\t\t\t? dangerouslyCreateElementFromString(`<g>${svgPaths}<\/g>`).children\n\t\t\t\t\t: null}\n\t\t\t<\/g>\n\t\t<\/svg>\n\t);\n}\n","import '@servicenow/now-icon';\nimport isEmpty from 'lodash/isEmpty';\nimport {getProperty} from 'sn-uxpage-presource';\n\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {\n\tcreateMenuTooltipFocusHandlers,\n\tcreateMenuTooltipHoverHandlers,\n\tonMouseEnterLabelItem,\n\tonMouseLeaveItem,\n\tHighlightedLabel\n} from '@devsnc/unav-utils';\nimport createMenuHrefHandlers from '../../../utils/createMenuHrefHandlers';\n\nimport {SN_COLLAPSIBLE_LIST_TOGGLE} from './actions';\nimport {\n\tICON_MAP,\n\tMENU_FAVORITES,\n\tSEPARATOR,\n\tSYS_PROPS,\n\tDEFAULT_REFERRER_POLICY,\n\tSCRIPT\n} from '../../../constants';\n\nimport getMenuItemHref from '../../../utils/getMenuItemHref';\n\nimport {svgTemplate} from '../utils/load-icon';\nimport {t} from 'sn-translate';\nimport {renderLeafIcon} from '../../../utils/renderDirtyWorkspaceIcon';\n\nconst SeparatorItem = () => (\n\t<hr className=\"snf-collapsible-section-divider\" aria-hidden=\"true\" />\n);\n\nconst HeaderItem = ({\n\tisOpen,\n\tactions,\n\tdir,\n\tanimationsEnabled,\n\tmenu,\n\ttabIndex,\n\tdispatch,\n\tsearchTerm,\n\tfilterMethod,\n\trootMenu,\n\tparentMenu,\n\theaderIsSelectable,\n\titemInteractionDispatchAction,\n\tshowHiddenControls,\n\tsvgPaths,\n\theaderId\n}) => (\n\t// eslint-disable-next-line jsx-a11y/role-supports-aria-props\n\t<span\n\t\tclass={{\n\t\t\t'snf-collapsible-list-header': true,\n\t\t\t'menu-item-header': true,\n\t\t\t'is-collapsed': !isOpen,\n\t\t\treversed: dir === 'rtl',\n\t\t\t'can-animate': animationsEnabled,\n\t\t\t'selected-item': menu.selected,\n\t\t\t'is-filtered': searchTerm !== ''\n\t\t}}\n\t\tdata-id={menu.id}\n\t\t{...createMenuTooltipFocusHandlers(\n\t\t\tonMouseEnterLabelItem,\n\t\t\tonMouseLeaveItem,\n\t\t\tdispatch\n\t\t)}\n\t\t{...createInteractionHandlers(() => {\n\t\t\tif (headerIsSelectable && !menu.selected && !menu.disabled) {\n\t\t\t\tdispatch(itemInteractionDispatchAction, {\n\t\t\t\t\titem: menu,\n\t\t\t\t\trootMenu\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(SN_COLLAPSIBLE_LIST_TOGGLE);\n\t\t\t}\n\t\t})}>\n\t\t<div\n\t\t\trole={'button'}\n\t\t\taria-labelledby={headerId}\n\t\t\taria-expanded={isOpen ? 'true' : 'false'}\n\t\t\taria-haspopup\n\t\t\taria-disabled={menu.disabled}\n\t\t\ttabindex={tabIndex}\n\t\t\tclassName=\"item-label keyboard-navigatable snf-collapsible-list-header-button\"\n\t\t\t{...createMenuTooltipHoverHandlers(\n\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\tonMouseLeaveItem,\n\t\t\t\tdispatch\n\t\t\t)}>\n\t\t\t<span\n\t\t\t\tclass={{\n\t\t\t\t\t'chevron-container': true,\n\t\t\t\t\tselectable: headerIsSelectable\n\t\t\t\t}}\n\t\t\t\ttabIndex={headerIsSelectable && !menu.disabled ? tabIndex : -1}\n\t\t\t\t{...(headerIsSelectable\n\t\t\t\t\t? createInteractionHandlers((e) => {\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\tdispatch(SN_COLLAPSIBLE_LIST_TOGGLE);\n\t\t\t\t\t  })\n\t\t\t\t\t: null)}>\n\t\t\t\t{svgTemplate(svgPaths, 'chevron', 'chevron', dir)}\n\t\t\t<\/span>\n\t\t\t<span\n\t\t\t\tid={headerId}\n\t\t\t\tclass={{label: true, disabled: menu.disabled}}\n\t\t\t\trole=\"heading\"\n\t\t\t\taria-level=\"2\">\n\t\t\t\t{searchTerm ? (\n\t\t\t\t\t<HighlightedLabel\n\t\t\t\t\t\ttext={menu.label}\n\t\t\t\t\t\tmatches={menu.match?.matches}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\tmenu.label\n\t\t\t\t)}\n\t\t\t<\/span>\n\t\t\t{menu.hint ? (\n\t\t\t\t<span className=\"hint\" style={{display: 'none'}}>\n\t\t\t\t\t{menu.hint}\n\t\t\t\t<\/span>\n\t\t\t) : null}\n\t\t<\/div>\n\t\t{renderIcon(\n\t\t\trootMenu,\n\t\t\tparentMenu || menu,\n\t\t\tmenu,\n\t\t\tdispatch,\n\t\t\ttrue,\n\t\t\tmenu.selected,\n\t\t\tactions,\n\t\t\tshowHiddenControls\n\t\t)}\n\t<\/span>\n);\n\n/**\n * <MenuItem>\n * \t\t<CollapsibleList | Separator | Leaf>\n */\nconst MenuItem = ({\n\trootMenu,\n\tmenu,\n\titem,\n\tisOpen,\n\ttabIndex,\n\tdir,\n\tdispatch,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\titemInteractionDispatchAction,\n\theaderIsSelectable,\n\tanimationsEnabled,\n\tactions,\n\tisGroup,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\tif (!isEmpty(item.subItems) || isGroup) {\n\t\treturn (\n\t\t\t<sn-collapsible-list\n\t\t\t\tclass={{\n\t\t\t\t\t'nested-item': true\n\t\t\t\t}}\n\t\t\t\tnow-priority={isOpen ? 'medium' : 'low'}\n\t\t\t\tactions={actions}\n\t\t\t\trootMenu={rootMenu}\n\t\t\t\tmenu={item}\n\t\t\t\tdir={dir}\n\t\t\t\tisOpen={isOpen}\n\t\t\t\tparentMenu={menu}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\tisGroup={isGroup}\n\t\t\t\titemInteractionDispatchAction={itemInteractionDispatchAction}\n\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\theaderIsSelectable={headerIsSelectable}\n\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\tlistSize={item?.subItems?.length}\n\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (item.actionType === SEPARATOR && !item.label) {\n\t\treturn !searchTerm ? <SeparatorItem /> : null;\n\t}\n\n\treturn (\n\t\t<Leaf\n\t\t\tdispatch={dispatch}\n\t\t\titem={item}\n\t\t\tmenu={menu}\n\t\t\trootMenu={rootMenu}\n\t\t\tisOpen={isOpen}\n\t\t\ttabIndex={tabIndex}\n\t\t\tsearchTerm={searchTerm}\n\t\t\tfilterMethod={filterMethod}\n\t\t\titemInteractionDispatchAction={itemInteractionDispatchAction}\n\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\tactions={actions}\n\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\tpreventHighlight={preventHighlight}\n\t\t/>\n\t);\n};\n\nconst Leaf = ({\n\tdispatch,\n\titem,\n\tisOpen,\n\ttabIndex,\n\tmenu,\n\trootMenu,\n\tsearchTerm,\n\tfilterMethod,\n\titemInteractionDispatchAction,\n\tshouldOpenUI16TabsInsidePolaris,\n\tactions,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\tconst href = getMenuItemHref(item, shouldOpenUI16TabsInsidePolaris);\n\tconst icon =\n\t\trootMenu?.id === MENU_FAVORITES ? ICON_MAP[item.icon] : item?.icon;\n\tconst labelIndex =\n\t\tmenu?.subItems?.findIndex(\n\t\t\t(subItem) => subItem.label === (item?.label || '')\n\t\t) ?? -1; // Provide a default value for labelIndex if menu.subItems is undefined\n\tconst ariaLabel =\n\t\t`${item?.ariaLabel || item?.label} ` +\n\t\tt('{0} of {1}', `${labelIndex + 1}`, `${menu?.subItems?.length ?? 0}`);\n\tconst referrerPolicy = getProperty(\n\t\tSYS_PROPS.REFERRER_POLICY,\n\t\tDEFAULT_REFERRER_POLICY\n\t);\n\tconst opensInNewTab = item?.route?.external || item?.actionType === SCRIPT;\n\n\treturn (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'menu-item-row': true,\n\t\t\t\t'highlighted-menu-item-row':\n\t\t\t\t\t!!item.id &&\n\t\t\t\t\titem.id === rootMenu?.firstFilteredNavItem?.id &&\n\t\t\t\t\t!preventHighlight\n\t\t\t}}\n\t\t\taria-labelledby={item.id}\n\t\t\tdata-id={`${item.id}-parent`}>\n\t\t\t{/*eslint-disable-next-line jsx-a11y/role-supports-aria-props*/}\n\t\t\t<a\n\t\t\t\tclass={{\n\t\t\t\t\t'nested-item': true,\n\t\t\t\t\t'item-label': true,\n\t\t\t\t\t'keyboard-navigatable': true,\n\t\t\t\t\t'selected-item': item.selected,\n\t\t\t\t\t'highlighted-item':\n\t\t\t\t\t\t!!item.id &&\n\t\t\t\t\t\titem.id === rootMenu?.firstFilteredNavItem?.id &&\n\t\t\t\t\t\t!preventHighlight\n\t\t\t\t}}\n\t\t\t\tdata-id={item.id}\n\t\t\t\tid={item.id}\n\t\t\t\thref={href || null}\n\t\t\t\treferrerPolicy={referrerPolicy}\n\t\t\t\taria-label={\n\t\t\t\t\topensInNewTab ? t('{0} (opens in a new tab)', ariaLabel) : ariaLabel\n\t\t\t\t}\n\t\t\t\ttabindex={tabIndex}\n\t\t\t\ttarget={href ? '_self' : null}\n\t\t\t\t{...createMenuTooltipFocusHandlers(\n\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}\n\t\t\t\t{...createMenuHrefHandlers(item, (e) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tif (!item.selected) {\n\t\t\t\t\t\tdispatch(itemInteractionDispatchAction, {\n\t\t\t\t\t\t\tpicker: rootMenu,\n\t\t\t\t\t\t\titem\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})}>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"item-icon\"\n\t\t\t\t\t{...createMenuTooltipHoverHandlers(\n\t\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t)}>\n\t\t\t\t\t{icon ? renderLeafIcon(icon, item, 'leaf-item-icon', dispatch) : null}\n\t\t\t\t\t<span className=\"label\">\n\t\t\t\t\t\t{searchTerm ? (\n\t\t\t\t\t\t\t<HighlightedLabel\n\t\t\t\t\t\t\t\ttext={item.label}\n\t\t\t\t\t\t\t\tmatches={item.match?.matches}\n\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\titem.label\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t{item.hint ? <span className=\"hint\">{item.hint}<\/span> : null}\n\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t\t{renderIcon(\n\t\t\t\trootMenu,\n\t\t\t\tmenu,\n\t\t\t\titem,\n\t\t\t\tdispatch,\n\t\t\t\tisOpen,\n\t\t\t\titem.selected,\n\t\t\t\tactions,\n\t\t\t\tshowHiddenControls\n\t\t\t)}\n\t\t\t<span className=\"outline\" aria-hidden=\"true\">\n\t\t\t\t&nbsp;\n\t\t\t<\/span>\n\t\t<\/span>\n\t);\n};\n\nconst renderIcon = (\n\trootMenu,\n\tmenu,\n\titem,\n\tdispatch,\n\tisOpen,\n\tisSelected,\n\tactions = [],\n\tshowHiddenControls\n) => {\n\tif (isSelected) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclass={{\n\t\t\t\t\t'menu-action-container': true,\n\t\t\t\t\t'show-hidden-controls': showHiddenControls\n\t\t\t\t}}>\n\t\t\t\t<now-icon className=\"checkmark-icon\" icon=\"check-outline\" />\n\t\t\t<\/span>\n\t\t);\n\t}\n\n\tif (!actions?.length) return null;\n\n\treturn (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'menu-action-container': true,\n\t\t\t\t'show-hidden-controls': showHiddenControls\n\t\t\t}}>\n\t\t\t{actions.map((A) => (\n\t\t\t\t<A\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\titem={item}\n\t\t\t\t\trootMenu={rootMenu}\n\t\t\t\t\tmenu={menu}\n\t\t\t\t\tisOpen={isOpen}\n\t\t\t\t/>\n\t\t\t))}\n\t\t<\/span>\n\t);\n};\n\nexport default (\n\t{\n\t\tproperties: {\n\t\t\tisOpen,\n\t\t\tactions,\n\t\t\ttabIndex,\n\t\t\trootMenu,\n\t\t\tmenu,\n\t\t\tdir,\n\t\t\tanimationsEnabled,\n\t\t\tparentMenu,\n\t\t\tsearchTerm,\n\t\t\tfilterMethod,\n\t\t\tshouldOpenUI16TabsInsidePolaris,\n\t\t\titemInteractionDispatchAction,\n\t\t\theaderIsSelectable,\n\t\t\tisGroup,\n\t\t\tshowHiddenControls,\n\t\t\tpreventHighlight\n\t\t},\n\t\tbeenOpened,\n\t\tsvgPaths\n\t},\n\tdispatch\n) => {\n\tconst headerId = `${menu.id}-header`;\n\treturn !isEmpty(menu.subItems) || isGroup ? (\n\t\t<div\n\t\t\tclassName=\"snf-collapsible-list\"\n\t\t\trole=\"group\"\n\t\t\taria-labelledby={headerId}>\n\t\t\t<HeaderItem\n\t\t\t\tisOpen={isOpen}\n\t\t\t\tdir={dir}\n\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\tmenu={menu}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\trootMenu={rootMenu}\n\t\t\t\theaderIsSelectable={headerIsSelectable}\n\t\t\t\titemInteractionDispatchAction={itemInteractionDispatchAction}\n\t\t\t\tparentMenu={parentMenu}\n\t\t\t\tactions={actions}\n\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\tsvgPaths={svgPaths}\n\t\t\t\theaderId={headerId}\n\t\t\t/>\n\t\t\t<div className=\"snf-collapsible-list-holder\">\n\t\t\t\t<ul\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'snf-collapsible-list-items': true,\n\t\t\t\t\t\t'is-collapsed': !isOpen,\n\t\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t\t}}\n\t\t\t\t\tdata-id={`${menu.id}-rows`}\n\t\t\t\t\taria-labelledby={headerId}>\n\t\t\t\t\t{isOpen || beenOpened\n\t\t\t\t\t\t? (menu.subItems || []).map((item, index) => (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-list-item': true,\n\t\t\t\t\t\t\t\t\t\t'is-collapsible-item': true,\n\t\t\t\t\t\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t\t\t\t\t\t'is-filtered': searchTerm !== ''\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tdata-id={`${item.id}-row`}\n\t\t\t\t\t\t\t\t\taria-setsize={index + 1}\n\t\t\t\t\t\t\t\t\taria-posinset={menu?.subItems?.length}>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t\t\t\t\trootMenu={rootMenu}\n\t\t\t\t\t\t\t\t\t\tmenu={menu}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tactions={actions}\n\t\t\t\t\t\t\t\t\t\tisOpen={isOpen ? item.open || !isEmpty(searchTerm) : isOpen}\n\t\t\t\t\t\t\t\t\t\ttabIndex={isOpen ? 0 : -1}\n\t\t\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\t\titemInteractionDispatchAction={\n\t\t\t\t\t\t\t\t\t\t\titemInteractionDispatchAction\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisGroup={item.isGroup}\n\t\t\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={\n\t\t\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\theaderIsSelectable={headerIsSelectable}\n\t\t\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t  ))\n\t\t\t\t\t\t: null}\n\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t) : (\n\t\t<ul className=\"sn-polaris-nav-list-items\" role=\"presentation\">\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-list-item': true,\n\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t'is-filtered': searchTerm !== ''\n\t\t\t\t}}\n\t\t\t\trole=\"presentation\">\n\t\t\t\t<Leaf\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\trootMenu={rootMenu}\n\t\t\t\t\tmenu={rootMenu}\n\t\t\t\t\titem={menu}\n\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\tisOpen\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\titemInteractionDispatchAction={itemInteractionDispatchAction}\n\t\t\t\t\tactions={actions}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t<\/li>\n\t\t<\/ul>\n\t);\n};\n","export const BEHAVIOR_NAME = 'MENU_MODIFIER';\nexport const X_FLUSHSTAMP = 'x-flushstamp';\nexport const X_MENU_DATA_CURRENT = 'x-menu-data-current';\n","import {BEHAVIOR_NAME} from './constants';\n\nexport const MENU_ENTRY_ADDED = `${BEHAVIOR_NAME}#MENU_ENTRY_ADDED`;\nexport const MENU_ENTRIES_UPDATED = `${BEHAVIOR_NAME}#MENU_ENTRIES_UPDATED`;\nexport const MENU_ENTRY_REMOVED = `${BEHAVIOR_NAME}#MENU_ENTRY_REMOVED`;\nexport const REPLACE_MENU_SUBITEMS = `${BEHAVIOR_NAME}#REPLACE_MENU_SUBITEMS`;\nexport const MENU_REFRESH_REQUESTED = `${BEHAVIOR_NAME}#MENU_REFRESH_REQUESTED`;\nexport const MANUAL_MENU_REFRESH_REQUESTED = `${BEHAVIOR_NAME}#MANUAL_MENU_REFRESH_REQUESTED`;\nexport const MENU_REFRESH_REQUEST_SUCCEEDED = `${BEHAVIOR_NAME}#MENU_REFRESH_REQUEST_SUCCEEDED`;\n\nexport const MENU_HEADERS_UPDATE_REQUESTED = `${BEHAVIOR_NAME}#MENU_HEADERS_UPDATE_REQUESTED`;\nexport const MENU_LOADED = `${BEHAVIOR_NAME}#MENU_LOADED`;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t\t} else if ('createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.createInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t}, [\"defineMetric\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t\t} else if ('defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.defineMetric || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t}, [\"getInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t\t} else if ('getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t}, [\"getMetricTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getMetricTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getMetricTypes;\n\t\t\t\t\t} else if ('getMetricTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getMetricTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getMetricTypes;\n\t\t\t\t}, [\"mark\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t\t} else if ('mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.mark || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t} });","import {METRICS} from '../constants';\nimport {\n\tmark,\n\tdefineMetric,\n\tgetMetricTypes,\n\tgetInteractionId\n} from '@servicenow/ui-metrics';\n\nconst metricTypes = getMetricTypes();\nfor (const k in METRICS) {\n\tif (!metricTypes[METRICS[k]]) defineMetric(METRICS[k], 5);\n}\n\nexport default function track(\n\tcoeffects,\n\teventName,\n\tmetadata = {},\n\ttype = 'usage'\n) {\n\tconst {\n\t\thost,\n\t\taction: {meta = {}}\n\t} = coeffects;\n\tconst interactionId = getInteractionId(meta) || '';\n\tmark(host, interactionId, eventName, metadata, type);\n}\n\nexport function sendFeedback(coeffects, eventName, metadata = {}) {\n\ttrack(coeffects, eventName, metadata, 'all');\n}\n","import {SN_COLLAPSIBLE_LIST_TOGGLE} from './actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {MENU_ENTRIES_UPDATED} from '../../../behaviors/menu-modifier-behavior/actions';\nimport {\n\tMENU_ALL,\n\tSEPARATOR,\n\tUSER_PREF_UPDATED,\n\tMETRICS\n} from '../../../constants';\nimport {isNil} from 'lodash';\nimport track from '../../../utils/track';\nimport loadIcon from '../utils/load-icon';\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {updateState} = coeffects;\n\t\t\tloadIcon('chevronDownOutline').then((chevronDownPaths) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'svgPaths',\n\t\t\t\t\tvalue: chevronDownPaths,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t},\n\t[SN_COLLAPSIBLE_LIST_TOGGLE]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {rootMenu, menu, isOpen},\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\n\t\t\tif (rootMenu) {\n\t\t\t\tconst name =\n\t\t\t\t\trootMenu?.id === MENU_ALL\n\t\t\t\t\t\t? menu?.actionType === SEPARATOR\n\t\t\t\t\t\t\t? `collapse.section.${menu.id}`\n\t\t\t\t\t\t\t: `menu.${menu.id}.expanded`\n\t\t\t\t\t\t: `favorite.${menu.id}.expanded`;\n\n\t\t\t\tconst value = menu?.actionType === SEPARATOR ? isOpen : !isOpen;\n\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\tname,\n\t\t\t\t\tvalue\n\t\t\t\t});\n\n\t\t\t\t// if root menu has an index, then we are in overflow and should not update menu entries otherwise the menu will disappear\n\t\t\t\tif (isNil(rootMenu.index)) {\n\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\tentries: [menu.id],\n\t\t\t\t\t\tmenuId: rootMenu.id,\n\t\t\t\t\t\tkey: 'open',\n\t\t\t\t\t\tvalue: !isOpen,\n\t\t\t\t\t\tdeepClone: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttrack(coeffects, METRICS.TOGGLE_MENU_ITEM_DROPDOWN, {expanded: !isOpen});\n\n\t\t\tupdateProperties({\n\t\t\t\tisOpen: !isOpen\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: 'beenOpened',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({\n\t\t\tupdateProperties,\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t}\n\t\t}) => {\n\t\t\tif (name === 'searchTerm' && value !== '') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisOpen: true\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'beenOpened',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","export const BEHAVIOR_NAME = 'EDIT_MENU_BEHAVIOR';\n\n//action\nexport const MENU_EDIT_INITIATED = 'MENU#EDIT_INITIATED';\n\nexport const SYS_APP_APPLICATION = 'sys_app_application';\nexport const SYS_APP_MODULE = 'sys_app_module';\n","import {\n\tBEHAVIOR_NAME,\n\tMENU_EDIT_INITIATED,\n\tSYS_APP_APPLICATION,\n\tSYS_APP_MODULE\n} from '../constants';\nimport {MENU_ALL} from '../../../../constants';\nimport {EDIT_MENU_ITEM} from '../../actions';\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t[MENU_EDIT_INITIATED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {rootMenu, item}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tconst table =\n\t\t\t\t\trootMenu.id === MENU_ALL && item.subItems\n\t\t\t\t\t\t? SYS_APP_APPLICATION\n\t\t\t\t\t\t: SYS_APP_MODULE;\n\n\t\t\t\tdispatch(EDIT_MENU_ITEM, {item, table, rootMenu});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './_sn-collapsible-list.scss';\nimport view from './sn-collapsible-list.view';\nimport {actionHandlers} from './sn-collapsible-list.effects';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport editMenuBehavior from '../editMenu/edit-menu-behavior';\nimport {NAV_SUB_MENU_ITEM_SELECTED} from '../actions';\nimport {LOCAL_STORAGE_KEYS} from '../../../constants';\n\nconst SN_COLLAPSIBLE_LIST = 'sn-collapsible-list';\ncreateCustomElement(SN_COLLAPSIBLE_LIST, {\n\tview,\n\tproperties: {\n\t\tisOpen: {\n\t\t\tdefault: false\n\t\t},\n\t\tactions: {\n\t\t\tschema: {type: 'array'},\n\t\t\tdeepCompare: true,\n\t\t\tdefault: []\n\t\t},\n\t\ttabIndex: {\n\t\t\tdefault: 0\n\t\t},\n\t\trootMenu: {\n\t\t\tdefault: null\n\t\t},\n\t\tmenu: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: null\n\t\t},\n\t\tanimationsEnabled: {\n\t\t\tdefault: true\n\t\t},\n\t\tparentMenu: {\n\t\t\tdefault: null\n\t\t},\n\t\tsearchTerm: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\tfilterMethod: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\tshouldOpenUI16TabsInsidePolaris: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\theaderIsSelectable: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\titemInteractionDispatchAction: {\n\t\t\tdefault: NAV_SUB_MENU_ITEM_SELECTED,\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\tisGroup: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tshowHiddenControls: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tpreventHighlight: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t}\n\t},\n\tinitialState: {\n\t\tbeenOpened: false,\n\t\tsvgPaths: null\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: SN_COLLAPSIBLE_LIST}\n\t\t},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: editMenuBehavior},\n\t\t{behavior: focusBehavior}\n\t],\n\tstyles\n});\n\nexport default SN_COLLAPSIBLE_LIST;\n","export const CONCOURSE_PICKER_CLICKED = 'POLARIS#CONCOURSE_PICKER_CLICKED';\nexport const CONCOURSE_PICKER_ITEM_SELECTED = 'CONCOURSE_PICKER#ITEM_SELECTED';\nexport const CONCOURSE_PICKER_OPEN_RECORD_CLICKED =\n\t'CONCOURSE_PICKER#OPEN_RECORD_CLICKED';\nexport const CONCOURSE_PICKER_SEARCH_TEXT_ENTERED =\n\t'CONCOURSE_PICKER#SEARCH_TEXT_ENTERED';\nexport const CONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED =\n\t'CONCOURSE_PICKER#SEARCH_INPUT_FOCUS_CHANGED';\nexport const CONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED =\n\t'CONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED';\nexport const CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED =\n\t'CONCOURSE_PICKER#DRILLDOWN_BUTTON_CLICKED';\n","export const DOMAIN_CHANGE_REQUESTED = 'DOMAIN#CHANGE_REQUESTED';\nexport const DOMAIN_CHANGE_SUCCEEDED = 'DOMAIN#CHANGE_SUCCEEDED';\nexport const DOMAIN_RESET_REQUESTED = 'DOMAIN#RESET_REQUESTED';\nexport const DOMAIN_UPDATE_REQUESTED = 'DOMAIN_UPDATE_REQUESTED';\nexport const DOMAIN_SEARCH_REQUESTED = 'DOMAIN#SEARCH_REQUESTED';\n","import {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\nimport noop from 'lodash/noop';\n\nimport '@servicenow/now-icon';\n\nimport {\n\tcreateMenuTooltipHandlers,\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem\n} from '@devsnc/unav-utils';\nimport createInteractionHandlers from '../../utils/createInteractionHandlers';\n\nexport function FilterInput({\n\tanimationsEnabled = false,\n\tonInput = noop,\n\tonKeyDown = noop,\n\tonFocus = noop,\n\tonBlur = noop,\n\tonInputClear = noop,\n\thasFocus,\n\tdispatch,\n\tmenu\n}) {\n\tconst inputRef = createRef();\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-polaris-nav-header-filter': true,\n\t\t\t\t'can-animate': animationsEnabled\n\t\t\t}}>\n\t\t\t<label htmlFor=\"filter\" className=\"now-a11y-label\">\n\t\t\t\t{t('Enter search term to filter {0} menu', menu.label)}\n\t\t\t<\/label>\n\t\t\t<input\n\t\t\t\tid=\"filter\"\n\t\t\t\tref={inputRef}\n\t\t\t\tclass={{\n\t\t\t\t\t'navigation-filter': true,\n\t\t\t\t\t'keyboard-navigatable': true,\n\t\t\t\t\t'has-focus': hasFocus\n\t\t\t\t}}\n\t\t\t\ttype=\"text\"\n\t\t\t\tplaceholder={t('Filter')}\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\ton-input={onInput}\n\t\t\t\ton-keydown={onKeyDown}\n\t\t\t\ton-focus={onFocus}\n\t\t\t\ton-blur={(e) => {\n\t\t\t\t\t// We're not really blurring away from the input\n\t\t\t\t\t// if we're focusing on the clear button\n\t\t\t\t\t// DEF0221475:\n\t\t\t\t\t// safari on iOS doesn't treat <button> as something that can be focused and so e.relatedTarget will always be null even when focus goes to the clear input <button>.\n\t\t\t\t\t// In that case we don't want to call onBlur because it break clearing the filter (in safari).\n\t\t\t\t\tif (\n\t\t\t\t\t\te.relatedTarget !== null &&\n\t\t\t\t\t\t!e.relatedTarget.classList.contains('input-clear')\n\t\t\t\t\t) {\n\t\t\t\t\t\tonBlur(e);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tdata-id={`filter-input-${menu.id}`}\n\t\t\t/>\n\t\t\t<now-icon icon=\"filter-outline\" size=\"md\" />\n\t\t\t<button\n\t\t\t\tid={`filter-input-button-${menu.id}`}\n\t\t\t\tclass={{\n\t\t\t\t\t'input-clear': true,\n\t\t\t\t\t'container-has-focus': hasFocus\n\t\t\t\t}}\n\t\t\t\t{...createInteractionHandlers(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tconst input = inputRef.current;\n\t\t\t\t\t\tinput.value = '';\n\t\t\t\t\t\tinput.focus();\n\n\t\t\t\t\t\tonInputClear();\n\t\t\t\t\t},\n\t\t\t\t\tfalse,\n\t\t\t\t\t['on-mousedown']\n\t\t\t\t)}\n\t\t\t\ton-blur={onBlur}\n\t\t\t\taria-label={t('Clear filter')}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}>\n\t\t\t\t<now-icon icon=\"circle-close-outline\" size=\"md\" />\n\t\t\t<\/button>\n\t\t<\/div>\n\t);\n}\n","export const CLOSE_MENUS = 'POLARIS#CLOSE_MENUS';\nexport const CLOSE_POPOVERS = 'POLARIS#CLOSE_POPOVERS';\nexport const CLOSE_MODALS = 'POLARIS#CLOSE_MODALS';\nexport const PRE_SHORTCUT_CLEANUP_REQUESTED =\n\t'POLARIS#PRE_SHORTCUT_CLEANUP_REQUESTED';\nexport const PRE_SHORTCUT_CLEANUP_SUCCEEDED =\n\t'POLARIS#PRE_SHORTCUT_CLEANUP_SUCCEEDED';\nexport const PRE_SHORTCUT_CLEANUP_FAILED =\n\t'POLARIS#PRE_SHORTCUT_CLEANUP_FAILED';\nexport const CLOSE_CONTEXTUAL_MENU = 'POLARIS#CLOSE_CONTEXTUAL_MENU';\nexport const MAIN_MENU_PINNED = 'MAIN_MENU#PINNED';\nexport const CONTEXTUAL_MENU_PINNED = 'CONTEXTUAL_MENU#PINNED';\nexport const TAB_PRIMARY_SELECTED = 'TAB_PRIMARY#SELECTED';\nexport const CONTEXTUAL_MENU_SELECTED = 'CONTEXTUAL_MENU#SELECTED';\nexport const TOOL_MENU_SELECTED = 'TOOL_MENU#SELECTED';\nexport const MENU_PIN_STATE_CHANGED = 'MENU_PIN#STATE_CHANGE';\nexport const OVERFLOW_MENU_ITEMS_CHANGED = 'OVERFLOW_MENU#ITEMS_CHANGED';\nexport const ROUTE_MAP_UPDATED = 'ROUTE_MAP_UPDATED';\nexport const NOTIFICATION_DATA_UPDATED = 'NOTIFICATION_DATA_UPDATED';\nexport const MAIN_CONTENT_FOCUSED = 'POLARIS#MAIN_CONTENT_FOCUSED';\nexport const MAIN_CONTENT_FOCUSED_REQUESTED =\n\t'POLARIS#MAIN_CONTENT_FOCUSED_REQUESTED';\nexport const ALL_MENU_TOGGLED = 'POLARIS#ALL_MENU_TOGGLED';\nexport const ALL_MENU_FOCUSED = 'POLARIS#ALL_MENU_FOCUSED';\nexport const ALL_MENU_FOCUSED_REQUESTED = 'POLARIS#ALL_MENU_FOCUSED_REQUESTED';\nexport const FAVORITES_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#FAVORITES_MENU_FOCUSED_REQUESTED';\nexport const HISTORY_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#HISTORY_MENU_FOCUSED_REQUESTED';\nexport const WORKSPACES_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#WORKSPACES_MENU_FOCUSED_REQUESTED';\nexport const NOTIFICATIONS_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#NOTIFICATIONS_MENU_FOCUSED_REQUESTED';\nexport const OPEN_FRAME_FOCUSED_REQUESTED =\n\t'POLARIS#OPEN_FRAME_FOCUSED_REQUESTED';\nexport const WINDOW_RESIZED = 'WINDOW_RESIZED';\nexport const FEEDBACK_FORM_BUTTON_CLICKED = 'FEEDBACK_FORM_BUTTON_CLICKED';\nexport const OPEN_UTILITY_MENU = 'OPEN_UTILITY_MENU';\nexport const TOGGLE_UTILITY_MENU = 'TOGGLE_UTILITY_MENU';\nexport const APPLICATION_PICKER_FOCUSED = 'POLARIS#APPLICATION_PICKER_FOCUSED';\nexport const DOMAIN_PICKER_FOCUSED = 'POLARIS#DOMAIN_PICKER_FOCUSED';\nexport const UPDATE_SET_PICKER_FOCUSED = 'POLARIS#UPDATE_SET_PICKER_FOCUSED';\nexport const IMPERSONATION_OPEN_REQUESTED =\n\t'POLARIS#IMPERSONATION_OPEN_REQUESTED';\nexport const HELP_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#HELP_MENU_FOCUSED_REQUESTED';\nexport const NOW_ASSIST_PANEL_FOCUSED_REQUESTED =\n\t'POLARIS#NOW_ASSIST_PANEL_FOCUSED_REQUESTED';\nexport const VOICE_INPUT_PANEL_FOCUSED_REQUESTED =\n\t'POLARIS#VOICE_INPUT_PANEL_FOCUSED_REQUESTED';\nexport const MENU_FOCUSED = 'POLARIS#MENU_FOCUSED';\nexport const OPEN_LANDING_PAGE_REQUESTED =\n\t'POLARIS#OPEN_LANDING_PAGE_REQUESTED';\nexport const USER_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#USER_MENU_FOCUSED_REQUESTED';\nexport const CHAT_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#CHAT_MENU_FOCUSED_REQUESTED';\nexport const ADMIN_MENU_FOCUSED_REQUESTED =\n\t'POLARIS#ADMIN_MENU_FOCUSED_REQUESTED';\nexport const TOOLBAR_FOCUSED_REQUESTED = 'POLARIS#TOOLBAR_FOCUSED_REQUESTED';\nexport const FAVORITE_CURRENT_PAGE_REQUESTED =\n\t'POLARIS#FAVORITE_CURRENT_PAGE_REQUESTED';\nexport const FAVORITE_TOGGLE_CURRENT_PAGE =\n\t'POLARIS#FAVORITE_TOGGLE_CURRENT_PAGE';\nexport const KEYBOARD_BEHAVIOR_MODAL_OPENED =\n\t'KEYBOARD_SHORTCUTS_BEHAVIOR#MODAL_OPENED';\nexport const EXPEREIENCE_TITLE_RESIZED = 'EXPEREIENCE_TITLE_RESIZED';\nexport const TOGGLE_WIDE_MENU = 'POLARIS#TOGGLE_WIDE_MENU';\nexport const REGISTER_WINDOW_MANAGER = 'POLARIS#REGISTER_WINDOW_MANAGER';\n","export const SN_DRILLDOWN_LIST_SOURCES = {\n\tCOUNCOURSE_PICKER: 'concoursePicker',\n\tMAIN_OVERFLOW_MENU: 'mainOverflowMenu',\n\tUTILITY_OVERFLOW_MENU: 'utilityOverflowMenu'\n};\n","import {debounce, get, isEmpty, kebabCase} from 'lodash';\nimport '../../../../sn-polaris-menu/sn-drilldown-list';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-loader';\nimport '../../../../sn-polaris-menu/sn-collapsible-list';\nimport createInteractionHandlers from '../../../../../utils/createInteractionHandlers';\nimport {\n\tCONCOURSE_PICKER_ITEM_SELECTED,\n\tCONCOURSE_PICKER_OPEN_RECORD_CLICKED,\n\tCONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED,\n\tCONCOURSE_PICKER_SEARCH_TEXT_ENTERED,\n\tCONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED\n} from '../../.././../../behaviors/concourse-picker-behavior/actions';\nimport {\n\tDOMAIN_RESET_REQUESTED,\n\tDOMAIN_SEARCH_REQUESTED\n} from '../../../../../behaviors/domain-behavior/actions';\nimport {t} from 'sn-translate';\n\nimport {FilterInput} from '../../../../filter-input';\nimport {\n\tINCLUDES,\n\tHighlightedLabel,\n\tgetBooleanProperty,\n\tgetPreferenceValue,\n\tPREFERENCES,\n\tonMouseEnterLabelItem,\n\tonMouseLeaveItem,\n\tonMouseEnterIconItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../../../sn-polaris-layout/actions';\nimport {NAV_ITEM_SELECTED, SYS_PROPS} from '../../../../../constants';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {SN_DRILLDOWN_LIST_SOURCES} from '../../../../sn-polaris-menu/sn-drilldown-list/constants';\nimport {\n\tgetSelectedMenuData,\n\tgetSelectedPicker,\n\tfilterInactiveRecentItems\n} from './concourse-pickers.utils';\n\nconst Loader = ({dispatch}) => (\n\t<div\n\t\thook-insert={({elm}) => {\n\t\t\tconst observer = new IntersectionObserver((entries) => {\n\t\t\t\tentries.forEach((entry) => {\n\t\t\t\t\tif (entry.isIntersecting)\n\t\t\t\t\t\tdispatch(DOMAIN_SEARCH_REQUESTED, {\n\t\t\t\t\t\t\tfromScrolling: true\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tobserver.observe(elm);\n\t\t}}\n\t\tstyle={{height: '1px'}}\n\t/>\n);\n\nexport const View = ({\n\tcontextualMenu,\n\treversed,\n\tdispatch,\n\tcanAnimate,\n\tuserPreferences\n}) => {\n\tconst drilldownItems = get(contextualMenu, 'menuData.drilldownListItems', []);\n\tconst searchTerm = get(contextualMenu, 'menuData.searchTerm', '');\n\tconst headerText = contextualMenu?.headerText ?? '';\n\n\tconst {selectedPicker, singlePicker} = getSelectedPicker({\n\t\tcontextualMenu,\n\t\tdrilldownItems\n\t});\n\n\tconst {\n\t\tselectedMenu,\n\t\tselectedItem,\n\t\topenRecordTarget,\n\t\tshowCollapsibleList,\n\t\tcreateNewUpdateSet\n\t} = getSelectedMenuData({selectedPicker, contextualMenu, drilldownItems});\n\n\t// get data for all recently selected picker items from user pref. stored as a stringified JSON object\n\tconst recentSelectionsPreference = JSON.parse(\n\t\tgetPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.RECENT_CONCOURSE_PICKER_ITEMS,\n\t\t\t'{}'\n\t\t)\n\t);\n\t// get recently selected items data for current picker\n\tlet currentPickerItems = recentSelectionsPreference[(selectedMenu?.id)];\n\n\t// if current picker is update-set, we need to get recent selections for currently selection application\n\tif (selectedPicker && selectedPicker === 'update-set' && currentPickerItems) {\n\t\tconst selectedApp = get(contextualMenu, 'menuData.currentApplication', '');\n\t\tcurrentPickerItems = currentPickerItems[selectedApp];\n\t}\n\n\t// trim inactive recent items from the list\n\tcurrentPickerItems = filterInactiveRecentItems(\n\t\tselectedMenu,\n\t\tcurrentPickerItems\n\t);\n\n\t// boolean to let us hide the recently selection items section from the UI\n\tconst showRecentSelections =\n\t\tcurrentPickerItems && currentPickerItems.length > 0 && searchTerm === '';\n\tconst inOverflow = contextualMenu.drilledMenu?.id === 'concourse-pickers';\n\n\tswitch (selectedPicker) {\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'concourse-pickers-body': true,\n\t\t\t\t\t\t'can-animate': canAnimate\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"menu\"\n\t\t\t\t\taria-label={headerText}>\n\t\t\t\t\t{drilldownItems.length === 0 ? (\n\t\t\t\t\t\t<div className=\"loader\">\n\t\t\t\t\t\t\t<now-loader />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{drilldownItems.map((item) => (\n\t\t\t\t\t\t<sn-drilldown-list\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t[item.id]: true,\n\t\t\t\t\t\t\t\t'can-animate': canAnimate\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tforce-focus={\n\t\t\t\t\t\t\t\tget(\n\t\t\t\t\t\t\t\t\tcontextualMenu,\n\t\t\t\t\t\t\t\t\t'menuData.lastOpenPicker',\n\t\t\t\t\t\t\t\t\tinOverflow ? '' : 'application'\n\t\t\t\t\t\t\t\t) === item.id\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tid: 'concoursePickers',\n\t\t\t\t\t\t\t\tsource: SN_DRILLDOWN_LIST_SOURCES.COUNCOURSE_PICKER\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tmenu={item}\n\t\t\t\t\t\t\theaderText={headerText}\n\t\t\t\t\t\t\tanimations-enabled={canAnimate}\n\t\t\t\t\t\t\tindicator-on={item.indicator === true}\n\t\t\t\t\t\t\tdata-id={`pickers-list-${item.id}`}\n\t\t\t\t\t\t\tsource={SN_DRILLDOWN_LIST_SOURCES.COUNCOURSE_PICKER}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t<\/div>\n\t\t\t);\n\t\tcase 'application':\n\t\tcase 'update-set':\n\t\tcase 'domain':\n\t\tcase 'encryption-contexts':\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'concourse-pickers-body': true,\n\t\t\t\t\t\t'can-animate-reverse': canAnimate === true && !singlePicker\n\t\t\t\t\t}}>\n\t\t\t\t\t<div className=\"concourse-picker-header\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"header-label\"\n\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t{!singlePicker ? (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"go-back-button\"\n\t\t\t\t\t\t\t\t\taria-labelledby={`go_back_button`}\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\t\telm.focus();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\t\t\t\t\tif (!singlePicker) {\n\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclassName=\"chevron\"\n\t\t\t\t\t\t\t\t\t\ticon={`chevron-${reversed ? 'right' : 'left'}-outline`}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span id=\"go_back_button\" className=\"tooltip-label\">\n\t\t\t\t\t\t\t\t\t\t{t('Back to pickers')}\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<span className=\"label\">{selectedMenu?.label}<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{selectedMenu?.sideIcon ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"open-list-button\"\n\t\t\t\t\t\t\t\taria-labelledby={`open_list_button`}\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{...createInteractionHandlers(() => {\n\t\t\t\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, selectedMenu.sideIconRoute);\n\t\t\t\t\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t<now-icon icon={selectedMenu.sideIcon} />\n\t\t\t\t\t\t\t\t<span id=\"open_list_button\" className=\"tooltip-label\">\n\t\t\t\t\t\t\t\t\t{t('Open list')}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{openRecordTarget ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"open-record-button\"\n\t\t\t\t\t\t\t\taria-labelledby={`open_record_button`}\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (singlePicker) {\n\t\t\t\t\t\t\t\t\t\telm.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_OPEN_RECORD_CLICKED, {\n\t\t\t\t\t\t\t\t\t\ttarget: openRecordTarget\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t<now-icon icon=\"document-template-outline\" />\n\t\t\t\t\t\t\t\t<span id=\"open_record_button\" className=\"tooltip-label\">\n\t\t\t\t\t\t\t\t\t{t('Open record')}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t) : get(contextualMenu, 'menuData.domainIndicator', false) ||\n\t\t\t\t\t\t  getBooleanProperty(\n\t\t\t\t\t\t\t\tSYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED\n\t\t\t\t\t\t  ) ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"reset-default-button\"\n\t\t\t\t\t\t\t\taria-labelledby={`reset_default_button`}\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (singlePicker) {\n\t\t\t\t\t\t\t\t\t\telm.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tdispatch(DOMAIN_RESET_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\tpicker: 'domain',\n\t\t\t\t\t\t\t\t\t\titem: {\n\t\t\t\t\t\t\t\t\t\t\tid: get(\n\t\t\t\t\t\t\t\t\t\t\t\tcontextualMenu,\n\t\t\t\t\t\t\t\t\t\t\t\t'menuData.defaultDomain',\n\t\t\t\t\t\t\t\t\t\t\t\t'global'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t<now-icon icon=\"arrow-counterclockwise-outline\" />\n\t\t\t\t\t\t\t\t<span id=\"reset_default_button\" className=\"tooltip-label\">\n\t\t\t\t\t\t\t\t\t{t('Reset to default')}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{createNewUpdateSet ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"create-updateset-button\"\n\t\t\t\t\t\t\t\taria-labelledby={`create_updateset_button`}\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_OPEN_RECORD_CLICKED, {\n\t\t\t\t\t\t\t\t\t\ttarget: createNewUpdateSet\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t<now-icon icon={'plus-outline'} />\n\t\t\t\t\t\t\t\t<span id=\"create_updateset_button\" className=\"tooltip-label\">\n\t\t\t\t\t\t\t\t\t{t('Create new update set')}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<FilterInput\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tanimationsEnabled={canAnimate}\n\t\t\t\t\t\thasFocus={contextualMenu.inputHasFocus}\n\t\t\t\t\t\tmenu={selectedMenu}\n\t\t\t\t\t\tonFocus={() =>\n\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED, {\n\t\t\t\t\t\t\t\tfocus: true\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED, {\n\t\t\t\t\t\t\t\tfocus: false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonInput={debounce(\n\t\t\t\t\t\t\t(event, target) => {\n\t\t\t\t\t\t\t\tconst term = target.elm.value;\n\n\t\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_SEARCH_TEXT_ENTERED, {\n\t\t\t\t\t\t\t\t\tpicker: selectedPicker,\n\t\t\t\t\t\t\t\t\tsearchTerm: term\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tselectedPicker === 'domain' &&\n\t\t\t\t\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED)\n\t\t\t\t\t\t\t\t? 500\n\t\t\t\t\t\t\t\t: 0\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonInputClear={() =>\n\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_SEARCH_TEXT_ENTERED, {\n\t\t\t\t\t\t\t\tpicker: selectedPicker,\n\t\t\t\t\t\t\t\tsearchTerm: ''\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\tif (e.key === 'Enter') {\n\t\t\t\t\t\t\t\tif (contextualMenu.menuData.firstFilteredItem) {\n\t\t\t\t\t\t\t\t\tdispatch(CONCOURSE_PICKER_ITEM_SELECTED, {\n\t\t\t\t\t\t\t\t\t\tpicker: selectedPicker,\n\t\t\t\t\t\t\t\t\t\titem: contextualMenu.menuData.firstFilteredItem\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t}\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<div\n\t\t\t\t\t\thook-insert={() => {\n\t\t\t\t\t\t\t// When the domain_reference_picker.enabled is true,\n\t\t\t\t\t\t\t// the domain data is only fetched when the domain picker is opened\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tselectedPicker === 'domain' &&\n\t\t\t\t\t\t\t\tgetBooleanProperty(\n\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tisEmpty(selectedMenu.subItems)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tdispatch(DOMAIN_SEARCH_REQUESTED, {search: ''});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'in-overflow': inOverflow,\n\t\t\t\t\t\t\t'item-container': true\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole=\"listbox\">\n\t\t\t\t\t\t{showRecentSelections ? (\n\t\t\t\t\t\t\t<div className=\"recentSelections\">\n\t\t\t\t\t\t\t\t<div className=\"recentSelectionsHeader\">\n\t\t\t\t\t\t\t\t\t{t('Recent Selections')}\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"recentSelectionsList\"\n\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\taria-label={t('Recent Selections List')}>\n\t\t\t\t\t\t\t\t\t{currentPickerItems.map((item) =>\n\t\t\t\t\t\t\t\t\t\tmenuItemView({\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t\t\t\t\t\tselectedPicker,\n\t\t\t\t\t\t\t\t\t\t\tcontextualMenu,\n\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t\t\t\t\thighlightSelectedItem: true\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\taria-label={`${selectedMenu?.label.substring(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tselectedMenu?.label.indexOf(':')\n\t\t\t\t\t\t\t)} List`}>\n\t\t\t\t\t\t\t{showCollapsibleList ? (\n\t\t\t\t\t\t\t\tselectedMenu.subItems.map((m) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<sn-collapsible-list\n\t\t\t\t\t\t\t\t\t\t\tis-open\n\t\t\t\t\t\t\t\t\t\t\trootMenu=\"domain\"\n\t\t\t\t\t\t\t\t\t\t\tmenu={m}\n\t\t\t\t\t\t\t\t\t\t\tanimations-enabled={canAnimate}\n\t\t\t\t\t\t\t\t\t\t\tsearch-term={searchTerm}\n\t\t\t\t\t\t\t\t\t\t\tfilter-method={INCLUDES}\n\t\t\t\t\t\t\t\t\t\t\theader-is-selectable\n\t\t\t\t\t\t\t\t\t\t\titem-interaction-dispatch-action={\n\t\t\t\t\t\t\t\t\t\t\t\tCONCOURSE_PICKER_ITEM_SELECTED\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t{selectedMenu.subItems?.map((item) =>\n\t\t\t\t\t\t\t\t\t\tmenuItemView({\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t\t\t\t\t\tselectedPicker,\n\t\t\t\t\t\t\t\t\t\t\tcontextualMenu,\n\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t\t\t\t\thighlightSelectedItem: !showRecentSelections\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{selectedMenu.subItems?.length &&\n\t\t\t\t\t\t\t\t\tselectedPicker === 'domain' ? (\n\t\t\t\t\t\t\t\t\t\t<Loader dispatch={dispatch} />\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t);\n\t}\n};\n\nconst menuItemView = ({\n\titem,\n\tselectedItem,\n\tselectedPicker,\n\tcontextualMenu,\n\tdispatch,\n\tsearchTerm,\n\thighlightSelectedItem\n}) => {\n\tconst isSelected =\n\t\t(item.sysId === selectedItem || item.id === selectedItem) &&\n\t\thighlightSelectedItem;\n\tconst isHighlightedItem =\n\t\t(item.sysId &&\n\t\t\tcontextualMenu.menuData.firstFilteredItem?.sysId === item.sysId) ||\n\t\t(item.id && contextualMenu.menuData.firstFilteredItem?.id === item.id);\n\tlet itemName = item.name || item.label;\n\tif (item.path) {\n\t\titemName = item.path.replace(' -> ', '/') + '/' + item.name;\n\t}\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'picker-item': true,\n\t\t\t\tselected: isSelected,\n\t\t\t\t[`name-${kebabCase(item.name)}`]: true,\n\t\t\t\t[`id-${item.sysId || item.id}`]: true,\n\t\t\t\t'keyboard-navigatable': true,\n\t\t\t\t'is-filtered': searchTerm !== '',\n\t\t\t\t'highlighted-item': isHighlightedItem\n\t\t\t}}\n\t\t\trole=\"option\"\n\t\t\taria-selected={isSelected ? 'true' : 'false'}\n\t\t\ttabIndex=\"0\"\n\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\tonMouseLeaveItem,\n\t\t\t\tdispatch\n\t\t\t)}\n\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\t\t\t\tif (!isSelected) {\n\t\t\t\t\tdispatch(CONCOURSE_PICKER_ITEM_SELECTED, {\n\t\t\t\t\t\tpicker: selectedPicker,\n\t\t\t\t\t\titem\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})}>\n\t\t\t<div className=\"label-and-description\">\n\t\t\t\t<span className=\"label\">\n\t\t\t\t\t{searchTerm ? (\n\t\t\t\t\t\t<HighlightedLabel\n\t\t\t\t\t\t\ttext={itemName}\n\t\t\t\t\t\t\tsearch={searchTerm}\n\t\t\t\t\t\t\tmatches={item.match?.matches}\n\t\t\t\t\t\t\tfilterMethod={INCLUDES}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\titemName\n\t\t\t\t\t)}\n\t\t\t\t<\/span>\n\t\t\t\t{item.description ? (\n\t\t\t\t\t<span className=\"description\">{item.description}<\/span>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t\t{isSelected ? <now-icon icon=\"check-outline\" /> : null}\n\t\t<\/div>\n\t);\n};\n\nexport {default as styles} from './style.scss';\n","import {get} from 'lodash';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {SYS_PROPS} from '../../../../../constants';\n\nexport const getSelectedPicker = ({contextualMenu, drilldownItems}) => {\n\tlet singlePicker, selectedPicker;\n\tif (get(contextualMenu, 'menuData.directPicker')) {\n\t\tsinglePicker = true;\n\t\tselectedPicker = get(contextualMenu, 'menuData.selectedPicker');\n\t} else if (drilldownItems.length === 1) {\n\t\tsinglePicker = true;\n\t\tselectedPicker = drilldownItems[0].id;\n\t} else {\n\t\tselectedPicker = get(contextualMenu, 'menuData.selectedPicker');\n\t}\n\treturn {selectedPicker, singlePicker};\n};\n\nexport const getSelectedMenuData = ({\n\tselectedPicker,\n\tdrilldownItems,\n\tcontextualMenu\n}) => {\n\tif (!selectedPicker) return {};\n\n\tlet openRecordTarget, createNewUpdateSet, selectedItem, showCollapsibleList;\n\n\tconst selectedMenu = drilldownItems.find(({id}) => id === selectedPicker);\n\tif (selectedPicker === 'application') {\n\t\tselectedItem = get(contextualMenu, 'menuData.currentApplication.sysId', '');\n\t\topenRecordTarget = `sys_scope.do?sys_id=${selectedItem}`;\n\t} else if (selectedPicker === 'update-set') {\n\t\tselectedItem = get(contextualMenu, 'menuData.currentUpdateSet.sysId', '');\n\t\topenRecordTarget = `sys_update_set.do?sys_id=${selectedItem}`;\n\t\tcreateNewUpdateSet = `sys_update_set.do`;\n\t} else if (selectedPicker === 'domain') {\n\t\tconst isReferencePickerEnabled = getBooleanProperty(\n\t\t\tSYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED,\n\t\t\tfalse\n\t\t);\n\t\tselectedItem = get(\n\t\t\tcontextualMenu,\n\t\t\tisReferencePickerEnabled\n\t\t\t\t? 'menuData.currentDomain.id'\n\t\t\t\t: 'menuData.currentDomain.label',\n\t\t\t''\n\t\t);\n\t\tshowCollapsibleList = !isReferencePickerEnabled;\n\t} else if (selectedPicker === 'encryption-contexts') {\n\t\tselectedItem = get(contextualMenu, 'menuData.currentEncryptionContext', '');\n\t}\n\n\treturn {\n\t\tselectedMenu,\n\t\topenRecordTarget,\n\t\tcreateNewUpdateSet,\n\t\tselectedItem,\n\t\tshowCollapsibleList\n\t};\n};\n\nexport const filterInactiveRecentItems = (\n\tselectedMenu = {},\n\trecentItems = []\n) => {\n\tconst gatherActiveIds = (menu) => {\n\t\tconst ids = new Set();\n\n\t\tconst traverseMenu = (item) => {\n\t\t\tif (item.id || item.sysId) ids.add(item.id || item.sysId);\n\t\t\tif (item.subItems && item.subItems.length > 0) {\n\t\t\t\titem.subItems.forEach((subItem) => traverseMenu(subItem));\n\t\t\t}\n\t\t};\n\n\t\ttraverseMenu(menu);\n\t\treturn ids;\n\t};\n\n\tconst activeIds = gatherActiveIds(selectedMenu);\n\n\treturn recentItems.filter((item) => activeIds.has(item.id || item.sysId));\n};\n","export const TEST_USER_IMPERSONATED =\n\t'POLARIS_IMPERSONATION#TEST_USER_IMPERSONATED';\nexport const IMPERSONATION_MODAL_OPENED =\n\t'POLARIS_IMPERSONATION#IMPERSONATION_MODAL_OPENED';\nexport const END_IMPERSONATION_REQUESTED =\n\t'POLARIS_IMPERSONATION#END_IMPERSONATION_REQUESTED';\nexport const CANVAS_GLOBAL_ERROR = 'CANVAS_GLOBAL_ERROR';\n","export const SCHEDULE_FOR_PAGE_LOAD = 'SCHEDULE_FOR_PAGE_LOAD';\n","import {getFeatureSettings} from './featureSettingsSingleton';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\n\nexport default function getBooleanPropertyWhenPolarisEnabled(\n\tpropertyName,\n\tdefaultValue = false\n) {\n\tconst isPolarisEnabled = getFeatureSettings().isPolarisEnabled;\n\n\treturn isPolarisEnabled && getBooleanProperty(propertyName, defaultValue);\n}\n","/* istanbul ignore file */\n// ignoring for coverage since this deals mostly with dom\nimport {\n\tCLOSE_CONTEXTUAL_MENU,\n\tCLOSE_MENUS,\n\tOVERFLOW_MENU_ITEMS_CHANGED\n} from '../../sn-polaris-layout/actions';\n\nimport {\n\tMINIMUM_NAV_PADDING,\n\tMINIMUM_LOGO_PADDING,\n\tMINIMUM_OVERFLOW_TAB_WIDTH,\n\tMAIN_TAB_MARGIN,\n\tUTILITY_MENU_OVERFLOW_DATA_UPDATED,\n\tUTILITY_MENU_MARGIN,\n\tUTILITY_BUTTON_PADDING,\n\tSYS_PROPS,\n\tREFLOW_BREAKPOINTS,\n\tUTILITY_OVERFLOW_MENU_ID\n} from '../../../constants';\nimport getBooleanPropertyWhenPolarisEnabled from '../../../utils/getBooleanPropertyWhenPolarisEnabled';\nimport {getFeatureSettings} from '../../../utils/featureSettingsSingleton';\n\n/**\n * Set the proper transformX for each tab item inside the top navigation\n * All nav menu items need to have a fixed transformX in order to animate properly for menu pinning\n * without this the browser does not know where to start animating from and so elements will just jump from one place to the next.\n * @param {*} state\n */\nexport function positionNavigationItems({host, state, dispatch}) {\n\tconst {\n\t\tproperties: {\n\t\t\tmainMenuState,\n\t\t\tmainLogoWidth,\n\t\t\tmenuItems,\n\t\t\tanimationsEnabled,\n\t\t\tmenuWidth,\n\t\t\tisPolarisEnabled\n\t\t}\n\t} = state;\n\tconst isRTL = document.dir === 'rtl';\n\tconst topNavigationElement = host.shadowRoot.querySelectorAll(\n\t\t'div.polaris-header-menu'\n\t)[0];\n\n\tif (\n\t\t!topNavigationElement ||\n\t\t(!menuWidth && mainMenuState.isMenuPinned && mainMenuState.canBePinned)\n\t) {\n\t\treturn;\n\t}\n\n\tconst navigationChildren = topNavigationElement.children;\n\tconst topNavigationBounds = {\n\t\twidth: topNavigationElement.offsetWidth,\n\t\tx: topNavigationElement.offsetLeft\n\t};\n\t// const menuWidth = menuWidth;\n\tconst overflowTabWidth = MINIMUM_OVERFLOW_TAB_WIDTH;\n\tconst logoNavPadding = MINIMUM_LOGO_PADDING;\n\tconst leftOffset =\n\t\tmainMenuState.isMenuPinned && mainMenuState.canBePinned\n\t\t\t? menuWidth + logoNavPadding\n\t\t\t: mainLogoWidth;\n\tlet totalLeft = 0;\n\tlet isOverflowing = false;\n\tconst overflowMenuItems = [];\n\n\t// if there are 2 menu items or less, then there is nothing to do here so move on.\n\tif (navigationChildren.length > 1) {\n\t\tconst widthConstraint = MINIMUM_NAV_PADDING;\n\n\t\t// account for the overflow element\n\t\tconst navigationContainer = host.shadowRoot.querySelector(\n\t\t\t'div.sn-polaris-navigation.polaris-header-menu'\n\t\t);\n\t\tnavigationContainer.style.minWidth = `${widthConstraint +\n\t\t\tnavigationChildren[navigationChildren.length - 1].offsetWidth}px`;\n\t}\n\n\t// util for updating the location of a nav menu item on the screen\n\tconst placeNavItem = (navigationItem, location, isRTL) => {\n\t\tif (mainLogoWidth === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (navigationItem.style.position !== 'absolute') {\n\t\t\tnavigationItem.style.position = 'absolute';\n\t\t\tnavigationItem.style.marginInlineEnd = 0;\n\t\t}\n\n\t\tif (isRTL) {\n\t\t\tif (navigationItem.style.right !== `${location}px`) {\n\t\t\t\tnavigationItem.style.right = `${location}px`;\n\t\t\t}\n\t\t} else {\n\t\t\tif (navigationItem.style.left !== `${location}px`) {\n\t\t\t\tnavigationItem.style.left = `${location}px`;\n\t\t\t}\n\t\t}\n\t};\n\n\t// for each item in the top navigation\n\tfor (let i = 0; i < navigationChildren.length; i++) {\n\t\tconst navigationItem = navigationChildren[i]; // get the current navigation item\n\n\t\t// Make sure the item is ours.  Custom scripting, third-party libraries, or browser extensions can manipulate the DOM and add nodes (eg. SN's own Guided Tours).\n\t\tif (!navigationItem.classList?.contains('sn-polaris-tab')) continue;\n\n\t\tconst itemWidth = navigationItem.offsetWidth + MAIN_TAB_MARGIN; // get width of nav item\n\t\tlet newItemLeft =\n\t\t\tmainMenuState.isMenuPinned && mainMenuState.canBePinned\n\t\t\t\t? menuWidth\n\t\t\t\t: mainLogoWidth; // used to compute where each item left will be\n\n\t\tif (\n\t\t\tmainMenuState.isMenuPinned &&\n\t\t\tmainMenuState.canBePinned &&\n\t\t\tmenuItems?.[i]?.id === mainMenuState.primaryMenuId\n\t\t) {\n\t\t\t// handle placing the pinned tab (if any pinned)\n\t\t\t// navigationItem.className = 'sn-polaris-tab is-pinned';\n\t\t\tnavigationItem.classList?.add('is-pinned');\n\t\t\tplaceNavItem(navigationItem, newItemLeft, isRTL);\n\t\t} else {\n\t\t\t//compute and place where the current nav item should be\n\t\t\tnewItemLeft = leftOffset + totalLeft;\n\t\t\tif (\n\t\t\t\tnavigationItem.classList &&\n\t\t\t\tnavigationItem.classList.contains('is-pinned')\n\t\t\t) {\n\t\t\t\tnavigationItem.classList.remove('is-pinned');\n\t\t\t}\n\t\t\tplaceNavItem(navigationItem, newItemLeft, isRTL);\n\n\t\t\t// this value used by moveMenu so the menu knows the final position of a tab after transitioning from a pinned state\n\t\t\tnavigationItem.setAttribute('unpinnedLeft', newItemLeft);\n\n\t\t\t// check for overflowing navigation menu items and enable overflow menu when needed\n\t\t\tif (\n\t\t\t\t((!isRTL &&\n\t\t\t\t\tnewItemLeft + itemWidth + overflowTabWidth >\n\t\t\t\t\t\ttopNavigationBounds.x + topNavigationBounds.width) ||\n\t\t\t\t\t(isRTL &&\n\t\t\t\t\t\tnewItemLeft + itemWidth + overflowTabWidth >\n\t\t\t\t\t\t\ttopNavigationBounds.width + mainLogoWidth)) &&\n\t\t\t\tnavigationItem.id !== 'nav-overflow'\n\t\t\t) {\n\t\t\t\t// this item is in overflow so hide it\n\t\t\t\tnavigationItem.className = 'sn-polaris-tab is-placeholder';\n\t\t\t\tisOverflowing = true;\n\t\t\t\tmenuItems[i].index = i;\n\t\t\t\toverflowMenuItems.push(menuItems?.[i]);\n\t\t\t\t// if the opened menu is going into overflow, close it\n\t\t\t\tif (\n\t\t\t\t\t(mainMenuState.isMenuPinned &&\n\t\t\t\t\t\tmainMenuState.canBePinned &&\n\t\t\t\t\t\tmainMenuState.secondaryMenuId == menuItems?.[i]?.id) ||\n\t\t\t\t\t(!(mainMenuState.isMenuPinned && mainMenuState.canBePinned) &&\n\t\t\t\t\t\tmainMenuState.primaryMenuId === menuItems?.[i].id)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\t}\n\t\t\t} else if (navigationItem.id === 'nav-overflow') {\n\t\t\t\t// the overflow tab element is always last in the loop because its always last in the DOM\n\t\t\t\t// so by this point we know if any menu items are in overflow and can enable the overflow menu when needed\n\t\t\t\tif (isOverflowing) {\n\t\t\t\t\t// menu is overflowing so enable overflow menu tab\n\t\t\t\t\tnavigationItem.className = 'sn-polaris-tab tab-overflow';\n\t\t\t\t} else {\n\t\t\t\t\t// if the overflow menu is open close it since we are not in overflow anymore\n\t\t\t\t\tif (\n\t\t\t\t\t\tmainMenuState.primaryMenuId ===\n\t\t\t\t\t\t\tmenuItems?.[navigationChildren.length - 1]?.id ||\n\t\t\t\t\t\tmainMenuState.secondaryMenuId ===\n\t\t\t\t\t\t\tmenuItems?.[navigationChildren.length - 1]?.id\n\t\t\t\t\t) {\n\t\t\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\t\t}\n\t\t\t\t\tnavigationItem.className =\n\t\t\t\t\t\t'sn-polaris-tab tab-overflow is-placeholder';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// normal tab state so just display it and update totalLeft for placing the next nav item\n\t\t\t\tnavigationItem.className = 'sn-polaris-tab';\n\t\t\t\ttotalLeft = totalLeft + itemWidth;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tanimationsEnabled &&\n\t\t\t\tnavigationItem.className?.indexOf('animate') === -1\n\t\t\t) {\n\t\t\t\tnavigationItem.className += ' can-animate';\n\t\t\t}\n\t\t\tif (\n\t\t\t\tmenuItems?.[i]?.id === mainMenuState.primaryMenuId ||\n\t\t\t\tmenuItems?.[i]?.id === mainMenuState.secondaryMenuId\n\t\t\t) {\n\t\t\t\tnavigationItem.className += ' is-active';\n\t\t\t} else if (\n\t\t\t\tnavigationItem.classList &&\n\t\t\t\tnavigationItem.classList.contains('is-active')\n\t\t\t) {\n\t\t\t\tnavigationItem.classList.remove('is-active');\n\t\t\t}\n\t\t}\n\t\tif (isPolarisEnabled) {\n\t\t\tnavigationItem.classList.add('polaris-enabled');\n\t\t}\n\t}\n\tif (overflowMenuItems.length === 1) {\n\t\tdispatch(OVERFLOW_MENU_ITEMS_CHANGED, {\n\t\t\t// the additional data here is needed so that overflow menu can tell the difference between itself and the menus inside it\n\t\t\tid: overflowMenuItems[0].id\n\t\t\t\t? overflowMenuItems[0].id\n\t\t\t\t: overflowMenuItems.id,\n\t\t\tindex: overflowMenuItems[0].index\n\t\t\t\t? overflowMenuItems[0].index\n\t\t\t\t: overflowMenuItems.index,\n\t\t\ticon: overflowMenuItems[0].icon\n\t\t\t\t? overflowMenuItems[0].icon\n\t\t\t\t: overflowMenuItems.icon,\n\t\t\ttemplate: overflowMenuItems[0].template\n\t\t\t\t? overflowMenuItems[0].template\n\t\t\t\t: overflowMenuItems.template,\n\t\t\tlabel: overflowMenuItems[0].label\n\t\t\t\t? overflowMenuItems[0].label\n\t\t\t\t: overflowMenuItems.label,\n\t\t\toverflowMenuItems: overflowMenuItems[0].subItems\n\t\t\t\t? overflowMenuItems[0].subItems\n\t\t\t\t: overflowMenuItems\n\t\t});\n\t} else {\n\t\tdispatch(OVERFLOW_MENU_ITEMS_CHANGED, {\n\t\t\tid: overflowMenuItems.id,\n\t\t\tindex: overflowMenuItems.index,\n\t\t\ttemplate: overflowMenuItems.template,\n\t\t\toverflowMenuItems: overflowMenuItems\n\t\t});\n\t}\n}\n\nexport function positionUtilityMenuItems({host, state, dispatch}) {\n\tconst {\n\t\tproperties: {\n\t\t\tutilityMenuData: utilityMenuDataWithExtraButton,\n\t\t\tcontextualMenuState,\n\t\t\twindowSize,\n\t\t\tcontextualMenu\n\t\t}\n\t} = state;\n\n\tif (!getFeatureSettings().isPolarisEnabled) return;\n\n\tconst useUtilityBar = !getBooleanPropertyWhenPolarisEnabled(\n\t\tSYS_PROPS.UI.INSTANCE_TOOLS_DISABLED,\n\t\ttrue\n\t);\n\n\tconst utilityBarVisible =\n\t\twindowSize && windowSize.width > REFLOW_BREAKPOINTS.BREAKPOINT_420;\n\tconst includeUtilityBar = useUtilityBar && utilityBarVisible;\n\n\tconst utilityMenuData =\n\t\tutilityMenuDataWithExtraButton?.filter(\n\t\t\t({buttonConfig: {id}}) =>\n\t\t\t\t!(includeUtilityBar && id === 'concourse-pickers')\n\t\t) || [];\n\n\tconst headerControls = host.shadowRoot.querySelector(\n\t\t'.polaris-header-controls'\n\t);\n\n\tconst endingHeaderZone = host.shadowRoot.querySelector('.ending-header-zone');\n\tconst searchZone = headerControls?.querySelector('.polaris-search');\n\tconst utilityMenuZone = headerControls.querySelector('.utility-menu');\n\tconst utilityMenuButtons = utilityMenuZone.querySelectorAll(\n\t\t'.contextual-zone-button'\n\t);\n\tconst avatarButton = headerControls.querySelector('.header-avatar-button');\n\tconst utilityMenuButtonWidth =\n\t\t(avatarButton?.offsetWidth || 0) + UTILITY_BUTTON_PADDING;\n\tconst utilityMenuFullWidth =\n\t\t(utilityMenuData?.length || 0) * utilityMenuButtonWidth +\n\t\t(avatarButton?.offsetWidth || 0) +\n\t\tUTILITY_MENU_MARGIN -\n\t\tMAIN_TAB_MARGIN;\n\n\tconst isContextualMenuPinned =\n\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned;\n\t// Ensure reflow is not rendered with width too small when pinning/unpinning menu\n\tconst endZoneWidth = isContextualMenuPinned\n\t\t? (endingHeaderZone?.offsetWidth || 0) - contextualMenuState.pinnedMenuWidth\n\t\t: endingHeaderZone?.offsetWidth || 0;\n\tconst searchZoneRect = searchZone?.getBoundingClientRect() || {width: 0};\n\tconst searchZoneWidth = searchZoneRect.width || 0;\n\tconst isOverflowing = endZoneWidth < utilityMenuFullWidth + searchZoneWidth;\n\tconst overflowButton = utilityMenuZone.querySelector(\n\t\t'.utility-overflow-menu'\n\t);\n\n\tconst buttonOverflowDifference =\n\t\tutilityMenuFullWidth + searchZoneWidth - endZoneWidth;\n\tconst numberOfButtonsToHide = isOverflowing\n\t\t? Math.ceil(buttonOverflowDifference / utilityMenuButtonWidth) + 1\n\t\t: 0;\n\n\tconst overflowingMenuItems = [];\n\t// This length removes one for avatar, one for overflow icon and one off error\n\tconst utilityMenuButtonsIndexLength = utilityMenuButtons?.length - 3 || 0;\n\tlet totalBadgeCount = 0;\n\n\tfor (let i = utilityMenuButtonsIndexLength; i >= 0; i--) {\n\t\tconst currentButton = utilityMenuButtons[i];\n\t\tconst currentMenuConfig = utilityMenuData[i]?.menuConfig || {};\n\t\tconst currentMenuId = currentMenuConfig?.menuProperties?.menuType || null;\n\t\tconst badgeCount = utilityMenuData[i]?.buttonConfig?.badgeCount || 0;\n\t\tconst isCurrentPinned =\n\t\t\tcontextualMenuState.canBePinned &&\n\t\t\tcurrentMenuId === contextualMenuState.pinnedMenuId;\n\n\t\tif (utilityMenuButtonsIndexLength - i < numberOfButtonsToHide) {\n\t\t\tcurrentButton.classList?.add('is-placeholder');\n\t\t\tif (currentMenuId !== 'overflowMenu' && !isCurrentPinned) {\n\t\t\t\toverflowingMenuItems.push({\n\t\t\t\t\t...utilityMenuData[i],\n\t\t\t\t\toverflowMenuItems: null\n\t\t\t\t});\n\t\t\t\ttotalBadgeCount += badgeCount;\n\t\t\t\t// Close menu that just went into overflow\n\t\t\t\tif (\n\t\t\t\t\t(contextualMenuState.isMenuPinned &&\n\t\t\t\t\t\tcontextualMenuState.canBePinned &&\n\t\t\t\t\t\tcontextualMenuState.secondaryMenuId ==\n\t\t\t\t\t\t\tcurrentMenuConfig?.menuProperties?.menuType) ||\n\t\t\t\t\t(!(\n\t\t\t\t\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned\n\t\t\t\t\t) &&\n\t\t\t\t\t\tcontextualMenuState.primaryMenuId ===\n\t\t\t\t\t\t\tcurrentMenuConfig?.menuProperties?.menuType)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tcurrentButton.classList?.remove('is-placeholder');\n\t\t}\n\t}\n\n\tif (isOverflowing) {\n\t\toverflowButton?.classList?.remove('is-placeholder');\n\t} else {\n\t\toverflowButton?.classList?.add('is-placeholder');\n\n\t\tif (contextualMenuState.primaryMenuId === UTILITY_OVERFLOW_MENU_ID) {\n\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t}\n\t}\n\tif (\n\t\t(contextualMenu.overflowMenuItems?.length || 0) !==\n\t\t\toverflowingMenuItems.length ||\n\t\tcontextualMenu.overflowBadgeCount !== totalBadgeCount ||\n\t\tcontextualMenu.utilityBarVisible !== utilityBarVisible\n\t) {\n\t\tdispatch(UTILITY_MENU_OVERFLOW_DATA_UPDATED, {\n\t\t\toverflowingMenuItems,\n\t\t\ttotalBadgeCount,\n\t\t\tutilityBarVisible\n\t\t});\n\t}\n}\n\nexport function positionHeaderItems(\n\tcontext,\n\tposNavItems = positionNavigationItems,\n\tposUtilItems = positionUtilityMenuItems\n) {\n\tposNavItems(context);\n\tposUtilItems(context);\n}\n","export const ELEVATE_ROLES_REQUESTED = 'ELEVATE_ROLE#ELEVATE_ROLES_REQUESTED';\nexport const ELEVATE_ROLE_MODAL_OPENED =\n\t'ELEVATE_ROLE#ELEVATE_ROLE_MODAL_OPENED';\nexport const ELEVATE_ROLE_MODAL_DISMISSED =\n\t'ELEVATE_ROLE#ELEVATE_ROLE_MODAL_DISMISSED';\nexport const ELEVATE_ROLES_REFRESH_REQUESTED =\n\t'ELEVATE_ROLE#ELEVATE_ROLES_REFRESH_REQUESTED';\nexport const ELEVATE_ROLES_REFRESH_SUCCEEDED =\n\t'ELEVATE_ROLE#ELEVATE_ROLES_REFRESH_SUCCEEDED';\n","/*\n    do a deep compare of 2 objects while ignoring any values that are functions because 2 like functions will never match\n*/\nexport const isDeepEqual = (object1, object2) => {\n\tconst objKeys1 = Object.keys(object1);\n\tconst objKeys2 = Object.keys(object2);\n\n\tif (objKeys1.length !== objKeys2.length) return false;\n\n\tfor (var key of objKeys1) {\n\t\tconst value1 = object1[key];\n\t\tconst value2 = object2[key];\n\n\t\tconst isObjects = isObject(value1) && isObject(value2);\n\t\tconst isFunctions = isFunction(value1) && isFunction(value2);\n\n\t\tif (\n\t\t\t(isObjects && !isDeepEqual(value1, value2)) ||\n\t\t\t(!isObjects && !isFunctions && value1 !== value2)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nconst isObject = (object) => {\n\treturn object != null && typeof object === 'object';\n};\n\nconst isFunction = (object) => {\n\treturn object != null && typeof object === 'function';\n};\n","export const NOTIFY_REQUESTED = 'LAYOUT#NOTIFY_REQUESTED';\nexport const EXISTING_NOTIFICATIONS_SET =\n\t'NOTIFICATION_BEHAVIOR#EXISTING_NOTIFICATIONS_SET';\n\nexport const NOTIFICATION_OPENED = 'NOTIFICATION_MENU#NOTIFICATION_OPENED';\nexport const NOTIFICATIONS_CLEARED = 'NOTIFICATION_MENU#NOTIFICATIONS_CLEARED';\nexport const NOTIFICATION_TOAST_CLEARED =\n\t'NOTIFICATION_MENU#NOTIFICATION_TOAST_CLEARED';\n\nexport const FETCH_MORE_NOTIFICATIONS_REQUESTED =\n\t'NOTIFICATION_MENU#MORE_NOTIFICATIONS_REQUESTED';\nexport const NOTIFICATION_MENU_OPENED =\n\t'NOTIFICATION_BEHAVIOR#NOTIFICATION_MENU_OPENED';\n\nexport const NOTIFICATION_MOUSE_ENTERED = 'NOTIFICATION_MENU#MOUSE_ENTERED';\nexport const NOTIFICATION_MOUSE_LEFT = 'NOTIFICATION_MENU#MOUSE_LEFT';\nexport const NOTIFICATION_FOCUSED = 'NOTIFICATION_MENU#FOCUS';\nexport const NOTIFICATION_BLURRED = 'NOTIFICATION_MENU#BLUR';\nexport const UNREAD_NOTIFICATIONS_COUNT_SET =\n\t'NOTIFICATION_BEHAVIOR#UNREAD_NOTIFICATIONS_COUNT_SET';\nexport const FETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED =\n\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_FETCH_UNREAD_COUNT_REQUESTED';\nexport const REFETCH_NOTIFICATIONS_REQUESTED =\n\t'NOTIFICATION_MENU#REFETCH_NOTIFICATIONS_REQUESTED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"];\n\t\t\t\t} });","import {t} from 'sn-translate';\nimport {MESSAGE_TYPES} from '../constants';\n\nfunction buildMessage(short_description, priority) {\n\tconst content = short_description || t('Short Description field is empty');\n\n\treturn `${priority} • ${content}`;\n}\n\nfunction buildNewAssignedToastItem(payload) {\n\tconst {\n\t\trecord_display_value,\n\t\tshort_description,\n\t\tpriority,\n\t\ttable_label\n\t} = payload;\n\n\tconst prefix = record_display_value || table_label;\n\n\treturn {\n\t\ttagline: record_display_value,\n\t\ttitle: t('{0} is assigned to you', prefix),\n\t\tmessage: buildMessage(short_description, priority),\n\t\tinfoIcon: 'user-plus-outline'\n\t};\n}\n\nfunction buildNextExperienceItem({\n\tmessage,\n\tmessage_heading,\n\tmessage_icon,\n\tpriority,\n\trecord_display_value,\n\tshort_description,\n\taction_name,\n\taction_payload\n}) {\n\tlet title;\n\tif (message_heading) {\n\t\ttitle = message_heading;\n\t} else if (record_display_value) {\n\t\ttitle = t('{0} has been updated', record_display_value);\n\t} else {\n\t\treturn null;\n\t}\n\n\tlet newMessage;\n\tif (message) {\n\t\tnewMessage = message;\n\t} else if (short_description) {\n\t\tnewMessage = buildMessage(short_description, priority);\n\t} else {\n\t\tnewMessage = '';\n\t}\n\treturn {\n\t\ttagline: record_display_value,\n\t\ttitle: title,\n\t\tmessage: newMessage,\n\t\tinfoIcon: message_icon || 'change-outline',\n\t\tactionName: action_name,\n\t\tactionPayload: action_payload\n\t};\n}\n\nfunction buildCustomToastItem(payload, customChanges) {\n\tconst {priority} = payload;\n\tconst title = {\n\t\tprefix: customChanges.field_label,\n\t\tverb: customChanges.field_value,\n\t\tsuffix: ''\n\t};\n\n\treturn {\n\t\ttitle: `${title.prefix} ${title.verb} ${title.suffix}`,\n\t\tmessage: `${priority} ${customChanges.field_displayValue}`,\n\t\tinfoIcon: 'change-outline'\n\t};\n}\n\nfunction buildUpdatedToastItem(payload) {\n\tconst {\n\t\trecord_display_value,\n\t\tshort_description,\n\t\tpriority,\n\t\ttable_label,\n\t\tupdated_by,\n\t\tfields\n\t} = payload;\n\n\tconst isSingleFieldChanged = fields.length === 1;\n\n\tconst prefix = isSingleFieldChanged\n\t\t? fields[0].field_label\n\t\t: record_display_value || table_label;\n\n\tconst title = updated_by\n\t\t? t('{0} updated by {1}', prefix, updated_by)\n\t\t: t('{0} has been updated', prefix);\n\n\tconst message = buildMessage(short_description, priority);\n\n\treturn {\n\t\ttagline: record_display_value,\n\t\ttitle,\n\t\tmessage: isSingleFieldChanged\n\t\t\t? `${record_display_value || table_label} • ${message}`\n\t\t\t: message,\n\t\tinfoIcon: 'change-outline'\n\t};\n}\n\nexport function buildAlertItem(payload, userId) {\n\tconst {\n\t\ttable,\n\t\tsys_id,\n\t\tfields,\n\t\ttime_stamp,\n\t\talert_sys_id,\n\t\tis_read,\n\t\traw_time_stamp,\n\t\tmessage_type,\n\t\troute,\n\t\ttrigger\n\t} = payload;\n\n\tconst toastItem = {\n\t\titem_type: 'notification',\n\t\ttable,\n\t\tsys_id,\n\t\talert_sys_id,\n\t\tmessage_type,\n\t\ttime_stamp,\n\t\traw_time_stamp,\n\t\tis_read,\n\t\troute,\n\t\ttrigger,\n\t\tcustom: false //this field is used to NOT purge notifications for the same record if we have customChanges in the payload.\n\t};\n\t//build custom alert if 'custom' is passed into the payload for ui_inbox_notification insert.\n\tconst customChanges = fields.find((f) => f.field_name === 'custom');\n\tif (customChanges)\n\t\treturn {\n\t\t\t...toastItem,\n\t\t\t...buildCustomToastItem(payload, customChanges),\n\t\t\tcustom: true\n\t\t};\n\n\tconst assignedToMe = fields.find(\n\t\t(f) => f.field_name === 'assigned_to' && f.field_value === userId\n\t);\n\n\tif (message_type === MESSAGE_TYPES.NEXT_CUSTOM) {\n\t\tconst nextExperienceItem = buildNextExperienceItem(payload);\n\t\tif (!nextExperienceItem) return null;\n\t\treturn {\n\t\t\t...toastItem,\n\t\t\t...nextExperienceItem\n\t\t};\n\t}\n\n\treturn assignedToMe\n\t\t? {...toastItem, ...buildNewAssignedToastItem(payload)}\n\t\t: {...toastItem, ...buildUpdatedToastItem(payload)};\n}\n","import {getBooleanProperty} from '@devsnc/unav-utils';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '../constants';\n\nlet local = {};\nlet cacheEnabled = true;\n\nlet polarisCacheEnabled =\n\tcacheEnabled &&\n\tgetBooleanProperty(SYS_PROPS.POLARIS_CLIENT_CACHE_ENABLED, true);\n\nconst disabledCache = getProperty(\n\tSYS_PROPS.POLARIS_DISABLED_CLIENT_CACHE_TYPES,\n\t''\n).split(',');\n\nconst defaultTTL =\n\tgetProperty(SYS_PROPS.POLARIS_CLIENT_CACHE_TTL_SECONDS, 300) * 1000;\n\nlet userId;\nlet language;\n\nconst createPrefix = () => `sn.polaris.${userId}`;\nconst createKey = (key, i18n) =>\n\ti18n ? `${createPrefix()}.${key}.${language}` : `${createPrefix()}.${key}`;\n\nexport const setUserId = (id) => (userId = id);\nexport const setLanguage = (l) => (language = l);\nexport const getLanguage = () => language;\nexport const getUserId = () => userId;\n\nexport const bustKey = 'sn.polaris.cacheBust';\n\nconst cache = {\n\tget(key, options = {}) {\n\t\tif (!polarisCacheEnabled || disabledCache.includes(key)) return;\n\n\t\tconst {i18n = true} = options;\n\t\tconst namespacedKey = createKey(key, i18n);\n\t\tconst item =\n\t\t\tlocal[namespacedKey] || window.localStorage.getItem(namespacedKey);\n\n\t\tif (item) {\n\t\t\tconst {value, ttl, ts, sessionToken = ''} =\n\t\t\t\ttypeof item === 'string' ? JSON.parse(item) : item;\n\n\t\t\tconst currentSession = sessionToken === window.g_ck;\n\t\t\tconst bustQueue = JSON.parse(\n\t\t\t\twindow.localStorage.getItem(bustKey) || '[]'\n\t\t\t);\n\t\t\tconst isKeyBusted = bustQueue?.indexOf(key);\n\n\t\t\tif (isKeyBusted > -1) {\n\t\t\t\tbustQueue.splice(isKeyBusted, 1);\n\t\t\t\twindow.localStorage.setItem(bustKey, JSON.stringify(bustQueue));\n\t\t\t}\n\n\t\t\tif ((Date.now() - ts < ttl || currentSession) && isKeyBusted < 0) {\n\t\t\t\tlocal[namespacedKey] = {\n\t\t\t\t\tvalue,\n\t\t\t\t\tttl,\n\t\t\t\t\tts,\n\t\t\t\t\t...(currentSession ? {sessionToken: window.g_ck} : null)\n\t\t\t\t};\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tdelete local[namespacedKey];\n\t\t\twindow.localStorage.removeItem(namespacedKey);\n\t\t}\n\n\t\treturn undefined;\n\t},\n\tset(key, value, options = {}) {\n\t\tif (!polarisCacheEnabled || disabledCache.includes(key)) return;\n\n\t\tconst {ttl = defaultTTL, i18n = true, currentSession = false} = options;\n\t\tconst item = {\n\t\t\tvalue,\n\t\t\tttl,\n\t\t\tts: Date.now(),\n\t\t\t...(currentSession ? {sessionToken: window.g_ck} : null)\n\t\t};\n\t\tconst namespacedKey = createKey(key, i18n);\n\t\ttry {\n\t\t\twindow.localStorage.setItem(namespacedKey, JSON.stringify(item));\n\t\t\tlocal[namespacedKey] = item;\n\t\t} catch (e) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.debug(`Quota exceeded when adding key ${namespacedKey}`);\n\t\t}\n\t},\n\tremove(key, options = {}) {\n\t\tif (!polarisCacheEnabled || disabledCache.includes(key)) return;\n\n\t\tconst {i18n = true} = options;\n\t\tconst namespacedKey = createKey(key, i18n);\n\n\t\tdelete local[namespacedKey];\n\t\twindow.localStorage.removeItem(namespacedKey);\n\t},\n\tclear() {\n\t\tfor (const key in window.localStorage) {\n\t\t\tif (key.startsWith(createPrefix())) window.localStorage.removeItem(key);\n\t\t}\n\t\tlocal = {};\n\t},\n\tenable(enable = true) {\n\t\tcacheEnabled = enable;\n\t\tpolarisCacheEnabled =\n\t\t\tcacheEnabled &&\n\t\t\tgetBooleanProperty(SYS_PROPS.POLARIS_CLIENT_CACHE_ENABLED, true);\n\t}\n};\n\nexport default cache;\n","import {get, has} from 'lodash';\nimport moment from 'moment';\nimport {buildAlertItem} from './buildAlertItem';\nimport {NOTIFICATIONS_LAST_VIEWED_KEY} from '../constants';\nimport cache from '../../../utils/cache';\n\nconst ALERT_STATUS_READ = 'read';\n\nfunction getTriggeredBy(triggered_by) {\n\tconst {displayValue, display_value, value} = triggered_by; // graphql and amb format is different\n\tif (!displayValue && !display_value && value)\n\t\treturn value[0].toUpperCase() + value.slice(1);\n\telse return displayValue || display_value;\n}\n\nfunction buildAlertPayload(baseProps, tableLabel, changes) {\n\tconst {assigned_to = {}, priority = {}, short_description = {}} = changes;\n\tconst fields = Object.keys(changes).reduce((result, key) => {\n\t\tconst change = changes[key];\n\n\t\tif (change) {\n\t\t\tconst {value, previousValue} = changes[key];\n\t\t\tif (value !== previousValue) {\n\t\t\t\tconst {displayValue, fieldLabel} = changes[key];\n\t\t\t\tresult = result.concat({\n\t\t\t\t\tfield_name: key,\n\t\t\t\t\tfield_label: fieldLabel,\n\t\t\t\t\tfield_value: value,\n\t\t\t\t\tfield_displayValue: displayValue\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, []);\n\n\treturn {\n\t\t...baseProps,\n\t\ttable_label: tableLabel,\n\t\tshort_description:\n\t\t\t(short_description && short_description.displayValue) || '',\n\t\tfields,\n\t\tpriority: (priority && priority.displayValue) || '',\n\t\tassigned_to: assigned_to || ''\n\t};\n}\n\nfunction decodePayload(alert) {\n\tlet payload = null;\n\ttry {\n\t\tconst {\n\t\t\tdisplayValue = '',\n\t\t\ttableLabel = '',\n\t\t\tchanges = {},\n\t\t\tmessage_type,\n\t\t\tmessage,\n\t\t\tmessage_icon,\n\t\t\tmessage_heading,\n\t\t\taction_name,\n\t\t\taction_payload,\n\t\t\troute,\n\t\t\ttrigger\n\t\t} = JSON.parse(alert.payload.value);\n\n\t\t// `value` is UTC time. Intresting enough the display value is not UTC time but we don't use that here\n\t\tconst raw_time_stamp = alert.sys_created_on.value;\n\n\t\tconst baseProps = {\n\t\t\talert_sys_id: alert.sys_id.value,\n\t\t\tis_read: alert.status.value === ALERT_STATUS_READ,\n\t\t\tmessage,\n\t\t\tmessage_heading,\n\t\t\tmessage_icon,\n\t\t\tmessage_type,\n\t\t\taction_name,\n\t\t\taction_payload,\n\t\t\traw_time_stamp,\n\t\t\troute,\n\t\t\ttrigger,\n\t\t\trecord_display_value: displayValue,\n\t\t\tsys_id: alert?.target?.value || alert?.sys_id?.value,\n\t\t\ttable: alert?.target_table?.value,\n\t\t\t/* We read this in as UTC time. From UTC time it's easier to derive other needed timezones\n\t\t\t * whether that be users machine timezone or glide settings timezone.\n\t\t\t */\n\t\t\ttime_stamp: moment.utc(raw_time_stamp).valueOf(),\n\t\t\tupdated_by: getTriggeredBy(alert.triggered_by)\n\t\t};\n\n\t\tpayload = {baseProps, tableLabel, changes};\n\t} catch (e) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('invalid notification payload');\n\t\tpayload = null;\n\t}\n\treturn payload;\n}\n\nfunction transformGraphQLAlert(alert) {\n\tif (!alert.payload) return null;\n\tconst payload = decodePayload(alert);\n\tif (!payload) return null;\n\n\tconst {baseProps, tableLabel, changes} = payload;\n\treturn buildAlertPayload(baseProps, tableLabel, changes);\n}\n\n// Take record watcher format and transform to client side format.\nexport function getTransformedAlert(alert) {\n\tconst payload = decodePayload(alert);\n\tif (!payload) return null;\n\n\tconst {baseProps, tableLabel, changes} = payload;\n\tbaseProps.route = alert.route;\n\tbaseProps.trigger = alert.trigger;\n\tconst updatePayload = {...baseProps, status: 'liveUpdated'};\n\n\treturn {\n\t\talertPayload: buildAlertPayload(baseProps, tableLabel, changes),\n\t\tupdatePayload\n\t};\n}\n\nexport function isDuplicate(notification1, notification2) {\n\treturn (\n\t\tnotification1.sys_id === notification2.sys_id &&\n\t\tnotification1.route === notification2.route &&\n\t\tnotification1.trigger === notification2.trigger\n\t);\n}\n\nexport function purgeOldAlerts(alertQueue, alertItem, trayState) {\n\tlet alertsToKeep = alertQueue.filter(\n\t\t(it) => it.item_type === 'notification' && !isDuplicate(it, alertItem)\n\t);\n\n\tif (alertItem.custom) {\n\t\t//if alert is custom, DO NOT filter out alerts pointing to same records\n\t\talertsToKeep = alertQueue;\n\t}\n\n\tconst alertsToDelete = trayState.deleteQueue.slice(); //[alertPayload]\n\n\tconst existingAlert = alertQueue.find((it) => isDuplicate(it, alertItem));\n\tif (existingAlert && !alertItem.custom)\n\t\talertsToDelete.push(existingAlert.alert_sys_id);\n\n\talertsToKeep.unshift(alertItem);\n\n\treturn {\n\t\talertsToKeep,\n\t\talertsToDelete\n\t};\n}\n\nexport function purgeOldAlerts2(\n\talertQueue,\n\trawAlerts,\n\ttrayState,\n\tuserId,\n\ttarget = 'target.value'\n) {\n\t// initial loading/scrolling\n\tconst alertsToKeep = alertQueue.filter(\n\t\t\t(it) => it.item_type === 'notification'\n\t\t),\n\t\talertsToDelete = trayState.deleteQueue.slice(); // [alert_sys_ids_to_delete]\n\tconst set = new Set(alertQueue.map((al) => al.sys_id));\n\t// Used to find duplicates within all the alerts we are currently looking into\n\tconst alreadyProcessedAlertSet = new Set();\n\tconst deleteTarget =\n\t\ttarget === 'target.value' ? 'sys_id.value' : 'alert_sys_id'; // initial or item arrived\n\n\trawAlerts.forEach((alert) => {\n\t\tconst record_sys_id = get(alert, target, '');\n\t\tconst dupeId =\n\t\t\trecord_sys_id + '|' + alert?.trigger?.value + '|' + alert?.route?.value;\n\n\t\t//if payload has 'custom' field, build notification even if record id is the same\n\t\tconst {\n\t\t\tpayload: {value}\n\t\t} = alert;\n\t\tconst parsedValue = value ? JSON.parse(value) : '';\n\t\tlet customChanges = false;\n\t\tif (has(parsedValue, ['changes', 'custom'])) {\n\t\t\tcustomChanges = true;\n\t\t}\n\n\t\tif (\n\t\t\t(customChanges || !set.has(record_sys_id)) &&\n\t\t\t!alreadyProcessedAlertSet.has(dupeId)\n\t\t) {\n\t\t\talreadyProcessedAlertSet.add(dupeId);\n\t\t\tconst payload = transformGraphQLAlert(alert);\n\t\t\tif (payload) {\n\t\t\t\tconst item = {\n\t\t\t\t\t...buildAlertItem(payload, userId),\n\t\t\t\t\troute: alert?.route?.value,\n\t\t\t\t\ttrigger: alert?.trigger?.value\n\t\t\t\t};\n\t\t\t\tif (item) {\n\t\t\t\t\talertsToKeep.push(item);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst alert_sys_id = get(alert, deleteTarget, '');\n\t\t\talertsToDelete.push(alert_sys_id);\n\t\t}\n\t});\n\n\treturn {\n\t\talertsToKeep,\n\t\talertsToDelete\n\t};\n}\n\nexport const getDateString = (dateObj, userTimezoneOffset) => {\n\t// toISOString() returns something like 2023-03-07T03:36:06.118Z in UTC time\n\t// subtract the offset to get a 'local' result from toISOString() because\n\t// gs.dateGenerate expects local time\n\t// split it into the date & time to pass to gs.dateGenerate\n\t// resulting in javascript:gs.dateGenerate('2023-03-06', '19:36:06')\n\t// which will return a happy date string for all, '2023-03-07 11:36:06'\n\tif (!Number.isInteger(userTimezoneOffset)) userTimezoneOffset = 0;\n\n\tconst tzAdjustedDate = new Date(dateObj.getTime() + userTimezoneOffset);\n\tconst [date, time] = tzAdjustedDate.toISOString().split('T');\n\n\treturn `javascript:gs.dateGenerate('${date}', '${time.split('.')[0]}')`;\n};\n\nexport const unreadNotificationCountConditional = (\n\tsysId,\n\tuserTimezoneOffset\n) => {\n\tconst currentDate = new Date();\n\tconst sevenDaysAgo = new Date(new Date().setDate(currentDate.getDate() - 7));\n\tconst lastViewedDate = new Date(cache.get(NOTIFICATIONS_LAST_VIEWED_KEY));\n\tlet queryString = `recipient=${sysId}^status=new^ORDERBYDESCsys_created_on`;\n\n\tif (lastViewedDate && lastViewedDate.valueOf() > sevenDaysAgo.valueOf()) {\n\t\tqueryString += `^sys_created_on>=${getDateString(\n\t\t\tlastViewedDate,\n\t\t\tuserTimezoneOffset\n\t\t)}`;\n\t} else {\n\t\tqueryString += `^sys_created_on>=${getDateString(\n\t\t\tsevenDaysAgo,\n\t\t\tuserTimezoneOffset\n\t\t)}`;\n\t}\n\treturn queryString;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const SEARCH_CONTEXT_UPDATED = 'SEARCH_CONTEXT_UPDATED';\nexport const SEARCH_INPUT_ONRESIZE = 'SEARCH_COMPONENT#ONRESIZE';\nexport const SEARCH_DROPDOWN_OPENED = 'NOW_DROPDOWN#LIST_VISIBLE';\nexport const GLOBAL_SEARCH_FOCUSED = 'POLARIS#GLOBAL_SEARCH_FOCUSED';\n\n//dynamic-routing-actions\nexport const SEARCH_ROUTE_MAP_CACHE_PREFIX = 'searchRouteMap';\nexport const DYNAMIC_ROUTE_REQUESTED = 'DYNAMIC_ROUTE_REQUESTED';\nexport const DYNAMIC_ROUTE_SUCCEEDED = 'DYNAMIC_ROUTE_SUCCEEDED';\nexport const DYNAMIC_ROUTE_ERRORED = 'DYNAMIC_ROUTE_ERRORED';\nexport const DYNAMIC_ROUTE_FETCH_REQUESTED = 'DYNAMIC_ROUTE_FETCH_REQUESTED';\n","import 'sn-search-input-wrapper';\nimport track from '../../utils/track';\nimport cache from '../../utils/cache';\nimport {get, isEmpty, isEqual} from 'lodash';\nimport {\n\tSEARCH_CONTEXT_UPDATED,\n\tSEARCH_DROPDOWN_OPENED,\n\tGLOBAL_SEARCH_FOCUSED\n} from './actions';\nimport {\n\tCLASSIC,\n\tSEARCH,\n\tPOLARIS_CONTEXT,\n\tPOLARIS_SITE_NAME,\n\tNAV_ITEM_SELECTED,\n\tREFLOW_BREAKPOINTS,\n\tMETRICS,\n\tDEFAULT_POLARIS_SEARCH_CONTEXT\n} from '../../constants';\nimport {HOME_PAGE_SELECTED} from '../../components/sn-polaris-header/actions';\nimport {\n\tCLOSE_MENUS,\n\tCLOSE_CONTEXTUAL_MENU\n} from '../../components/sn-polaris-layout/actions';\nimport {resolveUserSession} from '../../components/sn-polaris-layout/utils/resolveUserSession';\n\nexport const getExperienceSearchConfig = (\n\texperienceConfigs,\n\tselectedContext,\n\tisLoggedIn = null\n) => {\n\tif (isLoggedIn === null) isLoggedIn = resolveUserSession().isLoggedIn;\n\n\tconst path = selectedContext?.path || '';\n\tconst experienceConfig = get(experienceConfigs, path, {});\n\tconst experienceLabel =\n\t\tpath === POLARIS_SITE_NAME ? 'Global' : experienceConfig.experienceName;\n\tconst searchDataConfigId = get(\n\t\texperienceConfig,\n\t\t'pageProperties.globalSearchDataConfigId',\n\t\tnull\n\t);\n\tconst searchViewConfig = get(\n\t\texperienceConfig,\n\t\t'pageProperties.global_search_configurations',\n\t\tnull\n\t);\n\n\tconst routeConfigId = get(\n\t\texperienceConfig,\n\t\t'pageProperties.routeConfigId',\n\t\tnull\n\t);\n\n\tconst searchEngine = get(experienceConfig, 'pageProperties.searchEngine');\n\n\tconst enableExactMatch = get(\n\t\texperienceConfig,\n\t\t'pageProperties.enableExactMatch'\n\t);\n\n\tconst headerConfig = get(\n\t\texperienceConfig,\n\t\t'pageProperties.chrome_header',\n\t\t{}\n\t);\n\n\tlet searchEnabled = false;\n\ttry {\n\t\tconst config = !isEmpty(headerConfig) ? JSON.parse(headerConfig) : null;\n\t\tif (config) {\n\t\t\tconst {privatePage = {}, publicPage = {}} = config;\n\t\t\tconst userPage = isLoggedIn ? privatePage : publicPage;\n\t\t\tsearchEnabled = userPage?.searchEnabled;\n\t\t}\n\t} catch {\n\t\t//Business rule on page properties table should handle invalid json\n\t\t/* eslint-disable no-console */\n\t\tconsole.log('error parsing header view config');\n\t}\n\n\tif (!searchDataConfigId || !searchViewConfig) return null;\n\n\tlet parsedViewConfig = {\n\t\tglobalSearchViewConfigId: '',\n\t\tglobalSearchRoute: SEARCH\n\t};\n\ttry {\n\t\tparsedViewConfig = JSON.parse(searchViewConfig);\n\t} catch {\n\t\t//Business rule on page properties table should handle invalid json\n\t\t/* eslint-disable no-console */\n\t\tconsole.log('error parsing search view config');\n\t}\n\tconst searchViewConfigId = parsedViewConfig?.globalSearchViewConfigId;\n\tconst searchRoute = parsedViewConfig?.globalSearchRoute;\n\tconst itemSearchContext = {\n\t\tid: path,\n\t\tlabel: experienceLabel,\n\t\tcontext: selectedContext,\n\t\troute: searchRoute,\n\t\tsearchDataConfigId,\n\t\tsearchViewConfigId,\n\t\trouteConfigId,\n\t\tsearchEnabled\n\t};\n\n\tif (enableExactMatch && searchEngine) {\n\t\titemSearchContext.enableExactMatch = enableExactMatch;\n\t\titemSearchContext.searchEngine = searchEngine;\n\t}\n\n\treturn itemSearchContext;\n};\n\nexport const getSelectedSearchContext = ({\n\tselectedContent,\n\texperienceConfigs,\n\tisLoggedIn\n}) => {\n\tif (isEmpty(selectedContent)) return {};\n\tconst selectedContext = selectedContent?.context || POLARIS_CONTEXT;\n\tconst context =\n\t\tgetExperienceSearchConfig(experienceConfigs, selectedContext, isLoggedIn) ||\n\t\tgetPolarisSearchContext(experienceConfigs);\n\n\treturn context;\n};\n\nexport const getPolarisSearchContext = (polarisSearchContexts) => {\n\tconst polSearchConfig = polarisSearchContexts?.[POLARIS_CONTEXT.path];\n\n\tif (!polSearchConfig) return DEFAULT_POLARIS_SEARCH_CONTEXT;\n\n\tlet parsedViewConfig = {\n\t\tglobalSearchViewConfigId: '',\n\t\tglobalSearchRoute: SEARCH\n\t};\n\n\ttry {\n\t\tparsedViewConfig = JSON.parse(\n\t\t\tpolSearchConfig.pageProperties.global_search_configurations\n\t\t);\n\t} catch {\n\t\t//Business rule on page properties table should handle invalid json\n\t\t/* eslint-disable no-console */\n\t\tconsole.log('error parsing polaris search view config');\n\t}\n\n\treturn {\n\t\t...DEFAULT_POLARIS_SEARCH_CONTEXT,\n\t\tsearchDataConfigId: polSearchConfig.pageProperties.globalSearchDataConfigId,\n\t\tsearchViewConfigId: parsedViewConfig.globalSearchViewConfigId\n\t};\n};\n\nexport const buildAvailableSearchContext = ({\n\tproperties: {\n\t\tisPolarisEnabled,\n\t\tselectedContent,\n\t\tselectedSearchContext,\n\t\tuserSession: {isLoggedIn},\n\t\tglobalSearchEnabled,\n\t\tpolarisSearchContexts\n\t},\n\tdispatch\n}) => {\n\tif (isEmpty(selectedContent)) return [];\n\tlet experienceConfigs;\n\n\tif (isPolarisEnabled) {\n\t\texperienceConfigs = {\n\t\t\t...polarisSearchContexts\n\t\t};\n\t} else if (selectedContent) {\n\t\texperienceConfigs = {\n\t\t\t[selectedContent?.context?.path]: {\n\t\t\t\texperienceName: selectedContent?.context?.experienceName,\n\t\t\t\tpageProperties: window?.ux_globals?.pageProperties\n\t\t\t}\n\t\t};\n\t}\n\n\tif (!experienceConfigs) return;\n\n\tconst searchContextList = [];\n\tif (\n\t\t(isEmpty(selectedSearchContext) && !isEmpty(experienceConfigs)) ||\n\t\t(!isEmpty(experienceConfigs) &&\n\t\t\t(selectedContent?.route !== SEARCH &&\n\t\t\t\t!isEqual(selectedContent?.context, selectedSearchContext?.context)))\n\t) {\n\t\tconst context = getSelectedSearchContext({\n\t\t\tselectedContent,\n\t\t\texperienceConfigs,\n\t\t\tisLoggedIn\n\t\t});\n\n\t\tif (context) dispatch(SEARCH_CONTEXT_UPDATED, context);\n\t}\n\t//if Polaris is disabled, there won't be any menu (meaning no other contexts)\n\tif (isPolarisEnabled) {\n\t\t// if Polaris is enabled and there are workspace search contexts then Global should show up in drop down,\n\t\t// else by default its global search context and no dropdown would be available\n\t\tif (globalSearchEnabled) {\n\t\t\tconst globalSearchConfig = getExperienceSearchConfig(\n\t\t\t\tpolarisSearchContexts,\n\t\t\t\tPOLARIS_CONTEXT,\n\t\t\t\tisLoggedIn\n\t\t\t);\n\n\t\t\tif (globalSearchConfig) searchContextList.push(globalSearchConfig);\n\t\t}\n\n\t\tfor (const path in polarisSearchContexts) {\n\t\t\t// global is already passed above, so we can skip and just look at remaining contexts\n\t\t\tif (path !== POLARIS_CONTEXT.path) {\n\t\t\t\tconst contextConfig = getExperienceSearchConfig(\n\t\t\t\t\texperienceConfigs,\n\t\t\t\t\t{path},\n\t\t\t\t\tisLoggedIn\n\t\t\t\t);\n\t\t\t\tif (contextConfig) searchContextList.push(contextConfig);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn searchContextList;\n};\n\n/**\n * Handles showing and hiding things in the header\n * when the search input field has focus and is expanded\n * and the window is not large enough to fit everything\n *\n * @param {object} coeffects\n * @returns\n */\nexport const handleSearchReflow = (coeffects) => {\n\tconst {\n\t\thost,\n\t\tproperties: {windowSize, isPolarisEnabled}\n\t} = coeffects;\n\tif (!isPolarisEnabled) return;\n\n\tconst polarisHeader = host.shadowRoot.querySelector('.polaris-header');\n\tconst startingZone = host.shadowRoot.querySelector('.starting-header-zone');\n\tconst endingZone = host.shadowRoot.querySelector('.ending-header-zone');\n\tconst centerZone = host.shadowRoot.querySelector('.center-header-zone');\n\tconst utilMenu = host.shadowRoot.querySelector('.utility-menu');\n\tconst searchContainer = host.shadowRoot.querySelector('.polaris-search');\n\tlet searchExpandedBreakpoint = 1000; // set to large number to start with, this prevents triggering a reflow on large screens\n\n\t// figure out which breakpoint to use to change the search input size/style when its expanded\n\tif (\n\t\twindowSize.width < REFLOW_BREAKPOINTS.BREAKPOINT_FOUR &&\n\t\twindowSize.width >= REFLOW_BREAKPOINTS.BREAKPOINT_ONE\n\t) {\n\t\tsearchExpandedBreakpoint = REFLOW_BREAKPOINTS.SEARCH_BREAKPOINT_LARGE;\n\t} else if (windowSize.width < REFLOW_BREAKPOINTS.BREAKPOINT_ONE) {\n\t\tsearchExpandedBreakpoint = REFLOW_BREAKPOINTS.SEARCH_BREAKPOINT_SMALL;\n\t}\n\n\t// handle hiding things in the header if search has focus and is expanded\n\tif (searchContainer?.offsetWidth > searchExpandedBreakpoint) {\n\t\t// search input is expanded and the window is small enough that we need to hide things,\n\t\t// so update items in the header to accomidate the input field it as needed\n\t\tendingZone?.classList.add('search-open');\n\n\t\t// always add search-open class reguardless of window size\n\t\tpolarisHeader?.classList.add('search-open');\n\n\t\t// window is small enough that things need to be hidden\n\t\tif (windowSize.width <= REFLOW_BREAKPOINTS.BREAKPOINT_THREE) {\n\t\t\t// hide center pill\n\t\t\tif (!centerZone?.classList.contains('hidden')) {\n\t\t\t\tcenterZone?.classList.add('hidden');\n\t\t\t}\n\n\t\t\tif (windowSize.width < REFLOW_BREAKPOINTS.BREAKPOINT_ONE) {\n\t\t\t\tsearchContainer?.classList.add('tiny-search');\n\n\t\t\t\tif (!utilMenu?.classList.contains('hidden')) {\n\t\t\t\t\tutilMenu?.classList.add('hidden');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if window is under 540 hide everything in the header except search\n\t\t\tif (windowSize.width < REFLOW_BREAKPOINTS.BREAKPOINT_540) {\n\t\t\t\tif (!startingZone?.classList.contains('hidden')) {\n\t\t\t\t\tstartingZone?.classList.add('hidden');\n\t\t\t\t}\n\t\t\t\tsearchContainer?.classList.add('tiny-search');\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// window is large enough to fit everything so just make sure nothing is hidden.\n\t\tcenterZone?.classList.remove('hidden');\n\t\tutilMenu?.classList.remove('hidden');\n\t\tstartingZone?.classList.remove('hidden');\n\t\tsearchContainer?.classList.remove('tiny-search');\n\t\tpolarisHeader?.classList.remove('search-open');\n\t\tendingZone?.classList.remove('search-open');\n\t}\n};\n\nexport const openURLInNewTab = (url) => {\n\t// We do not want to target the window since search results can be different,\n\t// targeting will only wipe out any other results opened, default is _blank to specify new tab\n\tconst externalWindow = window.open(url);\n\tif (externalWindow) externalWindow.focus();\n};\n\nexport default {\n\tname: 'SEARCH_BEHAVIOR',\n\tinitialState: {\n\t\tsearchContexts: [],\n\t\tselectedSearchContext: {}\n\t},\n\tactionHandlers: {\n\t\t[SEARCH_CONTEXT_UPDATED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tupdateState,\n\t\t\t\t\taction: {payload},\n\t\t\t\t\tstate: {selectedSearchContext}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tif (!isEqual(selectedSearchContext, payload)) {\n\t\t\t\t\tupdateState({selectedSearchContext: payload, shouldRender: false});\n\t\t\t\t\ttrack(coeffects, METRICS.SEARCH_CONTEXT_SELECTED, {\n\t\t\t\t\t\tsearchContext: payload.label\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GLOBAL_SEARCH_FOCUSED]: {\n\t\t\teffect: ({host}) => {\n\t\t\t\t// Two different types of inputs depending on Ai Search or Zing\n\t\t\t\t// Need to submit feature enhancement to search wrapper to have them add a handler\n\t\t\t\tconst typeaheadInput = host.shadowRoot\n\t\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t\t?.shadowRoot.querySelector('sn-search-input-wrapper')\n\t\t\t\t\t?.shadowRoot.querySelector(\n\t\t\t\t\t\t'sn-component-workspace-global-search-typeahead'\n\t\t\t\t\t)\n\t\t\t\t\t?.shadowRoot.querySelector('input');\n\n\t\t\t\tconst comboboxInput = host.shadowRoot\n\t\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t\t?.shadowRoot.querySelector('sn-search-input-wrapper')\n\t\t\t\t\t?.shadowRoot.querySelector('sn-search-combobox')\n\t\t\t\t\t?.shadowRoot.querySelector('sn-search-combobox-desktop')\n\t\t\t\t\t?.shadowRoot.querySelector('input');\n\n\t\t\t\tif (typeaheadInput) {\n\t\t\t\t\ttypeaheadInput.select();\n\t\t\t\t} else if (comboboxInput) {\n\t\t\t\t\tcomboboxInput.select();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SEARCH_DROPDOWN_OPENED]: {\n\t\t\teffect: ({dispatch, action: {payload}}) => {\n\t\t\t\tif (payload.userAction === 'tourlist-dropdown') return;\n\n\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t}\n\t\t},\n\t\t['SN_SEARCH_RESULT_WRAPPER#ZING_RESULT_CLICKED']: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\tsysId,\n\t\t\t\t\t\t\trecordUrl,\n\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\tisExternalUrl,\n\t\t\t\t\t\t\tselectedSearchContext,\n\t\t\t\t\t\t\topenInNewTab,\n\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmeta: {event}\n\t\t\t\t\t},\n\t\t\t\t\tstate: {searchRouteMap},\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\n\t\t\t\tif (source) return;\n\t\t\t\tconst context = selectedSearchContext\n\t\t\t\t\t? {path: selectedSearchContext}\n\t\t\t\t\t: POLARIS_CONTEXT;\n\n\t\t\t\tconst url = recordUrl || `${table}.do?sys_id=${sysId}`;\n\t\t\t\tif (isExternalUrl) {\n\t\t\t\t\topenURLInNewTab(url);\n\t\t\t\t} else if (context.path === POLARIS_SITE_NAME) {\n\t\t\t\t\tif (openInNewTab) {\n\t\t\t\t\t\topenURLInNewTab(url);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\ttarget: url\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} else {\n\t\t\t\t\t// need to redispatch action with updated payload from workspace search results component\n\t\t\t\t\t// as action handler is bound to the script at the component level.\n\t\t\t\t\t// updated payload will have selectedSearchContext and roureConfigID used for dynamic routing\n\t\t\t\t\tevent\n\t\t\t\t\t\t?.composedPath()[0]\n\t\t\t\t\t\t.dispatch('SN_SEARCH_RESULT_WRAPPER#ZING_RESULT_CLICKED', {\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\tsysId,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tsearchRouteMap,\n\t\t\t\t\t\t\tsource: 'sn-polaris-layout',\n\t\t\t\t\t\t\topenInNewTab,\n\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\ttrack(coeffects, METRICS.SEARCH_RESULTS_ITEM_SELECTED, {table, sysId});\n\t\t\t}\n\t\t},\n\t\t['SN_SEARCH_RESULT_WRAPPER#BACK_CLICKED']: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tconst previousContext = cache.get('searchPreviousContext');\n\n\t\t\t\tif (previousContext) {\n\t\t\t\t\tconst parsedPreviousContext = JSON.parse(previousContext);\n\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, parsedPreviousContext);\n\t\t\t\t} else {\n\t\t\t\t\t// Should not get here since cache entry is retained with the session\n\t\t\t\t\tdispatch(HOME_PAGE_SELECTED);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {\n\tCONFIGURABLE,\n\tMENU_ALL,\n\tMENU_FAVORITES,\n\tMENU_HISTORY,\n\tMENU_WORKSPACES,\n\tSYSTEM\n} from '../constants';\n\nexport default function getMenuType(sysId = '') {\n\tif (!sysId) return;\n\n\tconst isSystemMenu =\n\t\tsysId === MENU_ALL ||\n\t\tsysId === MENU_HISTORY ||\n\t\tsysId === MENU_FAVORITES ||\n\t\tsysId === MENU_WORKSPACES;\n\n\treturn isSystemMenu ? SYSTEM : CONFIGURABLE;\n}\n\nexport function isMenuListUpdated(previous = [], current = []) {\n\tif (previous === null || previous.length !== current.length) return true;\n\n\tconst isUpdated = previous.some(\n\t\t(element, index) => element.label !== current[index]?.label\n\t);\n\treturn isUpdated;\n}\n","export const CONTEXT_MENU_HEADER_TYPES = {\n\tTEXT: 'text',\n\tFILTER: 'filter',\n\tNONE: 'none'\n};\nexport const UPDATE_UTILITY_MENU_ITEMS = 'UPDATE_UTILITY_MENU_ITEMS';\nexport const UTILITY_MENU_UPDATED =\n\t'POLARIS_UTILITY_MENU_BEHAVIOR#UTILITY_MENU_UPDATED';\n","export const START_TRACK_TIME = 'PERFORMANCE_METRICS#START_TRACK_TIME';\nexport const END_TRACK_TIME = 'PERFORMANCE_METRICS#END_TRACK_TIME';\n","export const BEHAVIOR_NAME = 'PERFORMANCE_METRICS_BEHAVIOR';\nexport const CONCOURSE_FETCH_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.concourseFetchTime`;\nexport const FETCH_PLUGINS_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.fetchPluginsTime`;\nexport const CREATE_FAVORITE_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.createFavoriteTime`;\nexport const MENU_RENDER_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.menuRenderTime`;\nexport const FETCH_MENU_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.fetchMenuTime`;\nexport const HEADER_RENDER_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.headerRenderTime`;\nexport const IMPERSONATE_FETCH_TIME_PATH = `behaviors.${BEHAVIOR_NAME}.fetchImpersonateTime`;\n","import track from '../../utils/track';\nimport {\n\tMODAL_SELECTED,\n\tNAV_ITEM_SELECTED,\n\tNOW_BUTTON_CLICKED,\n\tPOLARIS_CONTEXT,\n\tNAV_RESIZED,\n\tBUTTON_ACTIONS,\n\tUN_PAGE_TITLE_UPDATE_REQUESTED,\n\tCLASSIC,\n\tMETRICS,\n\tMENU_WORKSPACES,\n\tMENU_ALL,\n\tMAIN_LOGO_WIDTH_CACHE_KEY,\n\tMENU_FAVORITES,\n\tREFLOW_BREAKPOINTS,\n\tUSER_PREF_UPDATED,\n\tUSER_PREF_AIUX_USE,\n\tSYS_PROP_AIUX_USER_MENU_OPEN_ON_ARRIVAL,\n\tSESSION_KEY_AIUX_OPEN_USER_MENU_ON_ARRIVAL,\n\tUSER_MENU_ID,\n\tUSER_MENU_HEADER_TEXT\n} from '../../constants';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {t} from 'sn-translate';\nimport {LINK_TYPES} from './constants';\nimport {\n\tCLOSE_MENUS,\n\tCLOSE_CONTEXTUAL_MENU,\n\tCONTEXTUAL_MENU_SELECTED,\n\tOVERFLOW_MENU_ITEMS_CHANGED,\n\tNOTIFICATION_DATA_UPDATED,\n\tFEEDBACK_FORM_BUTTON_CLICKED,\n\tEXPEREIENCE_TITLE_RESIZED\n} from '../sn-polaris-layout/actions';\nimport {\n\tEND_IMPERSONATION_REQUESTED,\n\tIMPERSONATION_MODAL_OPENED\n} from '../../behaviors/impersonation-behavior/actions';\nimport {SN_DRAGGABLE_CHANGED_POSITION} from '../sn-polaris-layout/draggable/actions';\nimport {\n\tHOME_PAGE_SELECTED,\n\tHEADER_EXPERIENCE_MENU_CLICKED,\n\tHEADER_LOGO_CLICKED,\n\tMAIN_LOGO_LOADED,\n\tLOGO_IMAGE_UPDATED\n} from './actions';\nimport {LOGOUT_REQUESTED} from '../../behaviors/logout-behavior/actions';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../../behaviors/schedule-for-page-load-behavior/actions';\nimport {PRINTER_FRIENDLY_VERSION_REQUESTED} from '../../behaviors/printer-friendly-behavior/actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {positionHeaderItems} from './utils/position-navigation-items';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDER_REQUESTED\n} = actionTypes;\nimport {ELEVATE_ROLE_MODAL_OPENED} from '../../behaviors/elevate-role-behavior/actions';\nimport {formatURLByType} from './utils/link-utils';\nimport {get, isEqual, isNil, debounce} from 'lodash';\nimport {isDeepEqual} from '../../utils/deepEquals';\nimport {\n\tNOTIFICATIONS_CLEARED,\n\tNOTIFICATION_OPENED,\n\tFETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED\n} from '../../behaviors/notification-behavior/actions';\nimport {unreadNotificationCountConditional} from '../../behaviors/notification-behavior/utils/utils';\nimport {\n\thandleSearchReflow,\n\tbuildAvailableSearchContext\n} from '../../behaviors/search-behavior';\nimport {isMenuListUpdated} from '../../utils/menuUtils';\nimport cache from '../../utils/cache';\nimport {UPDATE_UTILITY_MENU_ITEMS} from '../../behaviors/utility-menu-behavior/actions';\nimport {\n\tFAVORITES_COMMUNICATED_TO_SW,\n\tSYNC_FAVORITES_COMPLETE\n} from '../../behaviors/favorites-behavior/actions';\nimport {SEARCH_INPUT_ONRESIZE} from '../../behaviors/search-behavior/actions';\nimport {positionsMenuItemsOmitCurrent} from '../sn-polaris-layout/draggable/draggable.utils';\nimport {\n\tEND_TRACK_TIME,\n\tSTART_TRACK_TIME\n} from '../../behaviors/performance-metrics-behavior/actions';\nimport {HEADER_RENDER_TIME_PATH} from '../../behaviors/performance-metrics-behavior/constants';\n\nconst handleExperienceNavigationClick = ({\n\taction: {payload},\n\tstate: {\n\t\tproperties: {selectedContent}\n\t},\n\tdispatch\n}) => {\n\tconst {context} = selectedContent;\n\tconst {value, type} = payload.target;\n\n\tswitch (type) {\n\t\tcase LINK_TYPES.EXTERNAL_LINK_TYPE:\n\t\t\t{\n\t\t\t\tconst {\n\t\t\t\t\topensWindow,\n\t\t\t\t\tvalue: {href, target}\n\t\t\t\t} = payload.target;\n\t\t\t\tif (!opensWindow) window.location.href = href;\n\t\t\t\telse {\n\t\t\t\t\tconst external = {\n\t\t\t\t\t\turl: href,\n\t\t\t\t\t\ttarget\n\t\t\t\t\t};\n\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {context, external});\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase LINK_TYPES.EMAIL_LINK_TYPE:\n\t\tcase LINK_TYPES.PHONE_LINK_TYPE:\n\t\t\t{\n\t\t\t\tconst url = formatURLByType(value, type);\n\t\t\t\tconst external = {\n\t\t\t\t\turl\n\t\t\t\t};\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {context, external});\n\t\t\t}\n\t\t\tbreak;\n\t\tcase LINK_TYPES.MODAL_LINK_TYPE:\n\t\t\tdispatch(MODAL_SELECTED, value);\n\t\t\tbreak;\n\t\tcase LINK_TYPES.ROUTE_LINK_TYPE:\n\t\tdefault:\n\t\t\tdispatch(NAV_ITEM_SELECTED, {context, ...value});\n\t\t\tbreak;\n\t}\n\tdispatch(CLOSE_CONTEXTUAL_MENU);\n};\n\nconst handleFirstLoad = (coeffects) => {\n\tconst {host, properties, dispatch} = coeffects;\n\tconst {mainMenuState, contextualMenuState, menuItems} = properties;\n\n\t// sometimes first load can get called before the menuItems are loaded\n\t// when that happens, skip trying to populate label and wait for menuItems\n\tif (\n\t\t(!menuItems ||\n\t\t\tmenuItems.length === 0 ||\n\t\t\tmenuItems[0].id === 'menuLoader' ||\n\t\t\tmainMenuState.primaryMenuLoading) &&\n\t\tmainMenuState.isMenuPinned\n\t) {\n\t\treturn;\n\t}\n\n\tif (mainMenuState.isMenuPinned) {\n\t\tconst pinnedTabLabels = host.shadowRoot.querySelectorAll('.tab-name');\n\t\tconst pinnedMenuItem = menuItems.find(\n\t\t\t(item) => item && item.id === mainMenuState.primaryMenuId\n\t\t);\n\t\tif (pinnedMenuItem) {\n\t\t\tpinnedTabLabels[0].innerText = pinnedMenuItem.label;\n\t\t\tpinnedTabLabels[0].className = 'tab-name  shown';\n\t\t}\n\t}\n\n\tif (contextualMenuState.isMenuPinned) {\n\t\tconst pinnedUtilityButton = host.shadowRoot.querySelector(\n\t\t\t'.contextual-zone-button.pinned'\n\t\t);\n\t\tif (isNil(pinnedUtilityButton)) return;\n\t\tconst icon = pinnedUtilityButton.querySelector('now-icon');\n\t\tif (icon) {\n\t\t\tconst pinnedIcons = host.shadowRoot.querySelectorAll('.pinned-icon');\n\n\t\t\tpinnedIcons[0].innerHTML = `<now-icon class=\"contextual-zone-icon\" icon='${\n\t\t\t\ticon.icon\n\t\t\t}' />`;\n\t\t\tpinnedIcons[0].style.opacity = 1;\n\t\t}\n\t}\n\n\tdispatch(END_TRACK_TIME, {\n\t\tcoeffects: coeffects,\n\t\tmetric: METRICS.HEADER_RENDERED,\n\t\tpath: HEADER_RENDER_TIME_PATH\n\t});\n\n\tconsumeOpenUserMenuOnArrival(dispatch);\n};\n\nconst consumeOpenUserMenuOnArrival = (dispatch) => {\n\tlet flagValue = null;\n\ttry {\n\t\tflagValue = window.sessionStorage.getItem(\n\t\t\tSESSION_KEY_AIUX_OPEN_USER_MENU_ON_ARRIVAL\n\t\t);\n\t\t// Always clear so a stale value can never replay on a later navigation.\n\t\twindow.sessionStorage.removeItem(\n\t\t\tSESSION_KEY_AIUX_OPEN_USER_MENU_ON_ARRIVAL\n\t\t);\n\t} catch (e) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t'[polaris-app-shell] sessionStorage read failed for ' +\n\t\t\t\tSESSION_KEY_AIUX_OPEN_USER_MENU_ON_ARRIVAL,\n\t\t\te\n\t\t);\n\t\treturn;\n\t}\n\n\tif (\n\t\tflagValue === 'true' &&\n\t\tgetBooleanProperty(SYS_PROP_AIUX_USER_MENU_OPEN_ON_ARRIVAL, false)\n\t) {\n\t\t// Defer so layout effects/state are settled before the menu-open dispatch.\n\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\taction: () => {\n\t\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\t\tmenuId: USER_MENU_ID,\n\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.AVATAR_ICON_CLICKED\n\t\t\t\t});\n\t\t\t\tdispatch(BUTTON_ACTIONS.AVATAR_ICON_CLICKED, {\n\t\t\t\t\tcontextualMenuType: USER_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: USER_MENU_HEADER_TEXT\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst requestUnreadCount = debounce((properties, dispatch) => {\n\tconst sysId = properties.userMeta?.sys_id || '';\n\tconst unreadConditional = unreadNotificationCountConditional(\n\t\tsysId,\n\t\tproperties.userMeta.timeZoneOffset\n\t);\n\tdispatch(FETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED, {\n\t\tcondition: unreadConditional\n\t});\n}, 200);\n\nconst measureButtonPlacement = (coeffects) => {\n\tconst {\n\t\thost,\n\t\tproperties: {\n\t\t\tcontextualMenuState,\n\t\t\tutilityMenuData,\n\t\t\tutilityMenuItemLeftPositions\n\t\t},\n\t\tupdateProperties\n\t} = coeffects;\n\tconst buttonContainer = host.shadowRoot.querySelector('.utility-menu'); //utilityMenuRef.current;\n\tconst buttonList = buttonContainer?.querySelectorAll(\n\t\t'.contextual-zone-button'\n\t);\n\tconst pinnedIcons = host.shadowRoot.querySelector('.pinned-icons');\n\n\tconst menuItemLeftPositions = {};\n\n\tlet hiddenOverflowOffset = 0;\n\tlet pinningOffset = document.dir === 'rtl' ? 1 : -1;\n\n\tif (contextualMenuState.isMenuPinned && contextualMenuState.canBePinned) {\n\t\tif (document.dir === 'rtl') {\n\t\t\tpinningOffset = contextualMenuState.pinnedMenuWidth + 4;\n\t\t} else {\n\t\t\tpinningOffset =\n\t\t\t\tdocument.body.offsetWidth -\n\t\t\t\t((buttonContainer?.offsetLeft || 0) +\n\t\t\t\t\t(buttonContainer?.offsetWidth || 0)) -\n\t\t\t\t9;\n\t\t}\n\t}\n\n\t// first button is always avatar button and has a different size+padding from the rest of the buttons\n\tconst firstButton = buttonList[buttonList.length - 1];\n\n\t//if no first button was found then there were likely no buttons at all\n\tif (!firstButton) return;\n\n\tmenuItemLeftPositions.userMenu =\n\t\tdocument.dir === 'rtl'\n\t\t\t? firstButton.offsetLeft - pinningOffset - pinnedIcons.offsetWidth\n\t\t\t: firstButton.offsetLeft + pinningOffset + pinnedIcons.offsetWidth;\n\n\t//grab whatever the second button is to use for finding button dimensions.\n\tconst secondButton = buttonList[buttonList.length - 2];\n\n\tif (firstButton && secondButton) {\n\t\tconst secondButtonLeft =\n\t\t\tdocument.dir === 'rtl'\n\t\t\t\t? secondButton.offsetLeft - pinnedIcons.offsetWidth\n\t\t\t\t: secondButton.offsetLeft + pinnedIcons.offsetWidth;\n\n\t\tconst gridGap = 8; // space between buttons\n\t\tconst buttonWidth = firstButton.offsetWidth;\n\n\t\tif (secondButton.classList.contains('is-placeholder')) {\n\t\t\thiddenOverflowOffset = document.dir === 'rtl' ? buttonWidth + 4 : 4;\n\t\t}\n\t\t// used to compute left offset of each button\n\t\tlet buttonLeftOffset =\n\t\t\tdocument.dir === 'rtl'\n\t\t\t\t? secondButtonLeft - pinningOffset - hiddenOverflowOffset\n\t\t\t\t: secondButtonLeft + pinningOffset + hiddenOverflowOffset;\n\t\tlet buttonListIndex = buttonList.length - 2;\n\n\t\t// compute the left offset of each utility button other than the avatar button\n\t\tfor (let i = utilityMenuData.length - 1; i >= 0; i--) {\n\t\t\tif (\n\t\t\t\tbuttonListIndex >= 0 &&\n\t\t\t\tbuttonList[buttonListIndex].classList.contains(\n\t\t\t\t\tutilityMenuData[i].buttonConfig.id\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (\n\t\t\t\t\t!buttonList[buttonListIndex].classList.contains('is-placeholder') ||\n\t\t\t\t\tbuttonList[buttonListIndex].classList.contains(\n\t\t\t\t\t\t'utility-overflow-menu'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tmenuItemLeftPositions[\n\t\t\t\t\t\tutilityMenuData[i].menuConfig.menuProperties.menuType\n\t\t\t\t\t] = buttonLeftOffset;\n\t\t\t\t\tbuttonLeftOffset =\n\t\t\t\t\t\tdocument.dir === 'rtl'\n\t\t\t\t\t\t\t? buttonLeftOffset + buttonWidth\n\t\t\t\t\t\t\t: buttonLeftOffset - buttonWidth;\n\n\t\t\t\t\tif (i !== 0) {\n\t\t\t\t\t\tbuttonLeftOffset =\n\t\t\t\t\t\t\tdocument.dir === 'rtl'\n\t\t\t\t\t\t\t\t? buttonLeftOffset + gridGap\n\t\t\t\t\t\t\t\t: buttonLeftOffset - gridGap;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Save the next position in the case the item gets unpinned\n\t\t\t\t\tmenuItemLeftPositions[\n\t\t\t\t\t\tutilityMenuData[i].menuConfig.menuProperties.menuType\n\t\t\t\t\t] = buttonLeftOffset;\n\t\t\t\t}\n\t\t\t\tbuttonListIndex--;\n\t\t\t}\n\t\t}\n\t}\n\t// the number of utility buttons can change after page load, so use this to only update measurements when the number of buttons changes.\n\t// we also use this to force a re-measurement such as on window resize by setting button count to 0\n\n\tif (!isDeepEqual(utilityMenuItemLeftPositions, menuItemLeftPositions)) {\n\t\tupdateProperties({\n\t\t\tutilityMenuItemLeftPositions: menuItemLeftPositions\n\t\t});\n\t}\n};\n\nconst doHeaderReflow = (coeffects) => {\n\thandleSearchReflow(coeffects);\n\tpositionHeaderItems(coeffects);\n\tmeasureButtonPlacement(coeffects);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_RENDER_REQUESTED]({\n\t\taction: {\n\t\t\tmeta: {firstRenderOnConnect},\n\t\t\tpayload: {previousRenderProperties},\n\t\t\tpreventDefault\n\t\t},\n\t\tproperties: {shouldComponentRender, utilityMenuData, pageTitle},\n\t\tdispatch\n\t}) {\n\t\t// Allow the first render + any following renders after the flag gets set\n\t\tif (\n\t\t\tfirstRenderOnConnect ||\n\t\t\tshouldComponentRender ||\n\t\t\tpreviousRenderProperties.utilityMenuData !== utilityMenuData ||\n\t\t\tpreviousRenderProperties.pageTitle !== pageTitle\n\t\t) {\n\t\t\tdispatch(START_TRACK_TIME, {\n\t\t\t\tpath: HEADER_RENDER_TIME_PATH\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tpreventDefault();\n\t},\n\t[OVERFLOW_MENU_ITEMS_CHANGED]: {\n\t\teffect: ({action: {payload}, properties}) => {\n\t\t\tconst menuItems = properties.menuItems;\n\t\t\tconst lastMenuItem = menuItems ? menuItems[menuItems.length - 1] : null;\n\n\t\t\tif (lastMenuItem?.isOverflow) {\n\t\t\t\tlastMenuItem.subId = payload.id || '';\n\t\t\t\tlastMenuItem.index = payload.index || '';\n\t\t\t\tlastMenuItem.label = payload.label || '';\n\t\t\t\tlastMenuItem.icon = payload.icon;\n\t\t\t\tlastMenuItem.subTemplate = payload.template || MENU_ALL;\n\t\t\t\tlastMenuItem.subItems = payload.overflowMenuItems;\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: ({properties, updateProperties}) => {\n\t\t\tconst logoWidth = cache.get(MAIN_LOGO_WIDTH_CACHE_KEY);\n\n\t\t\tif (logoWidth && logoWidth !== properties.mainLogoWidth) {\n\t\t\t\tupdateProperties({mainLogoWidth: logoWidth});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: (coeffect) => {\n\t\t\tconst {\n\t\t\t\tstate,\n\t\t\t\tupdateProperties,\n\t\t\t\tproperties,\n\t\t\t\thost,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\taction: {payload}\n\t\t\t} = coeffect;\n\t\t\tif (!state.headerNavigationElemRef) {\n\t\t\t\tconst navMenuElem = host.shadowRoot.querySelector(\n\t\t\t\t\t'.sn-polaris-navigation'\n\t\t\t\t);\n\n\t\t\t\tif (navMenuElem) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'headerNavigationElemRef',\n\t\t\t\t\t\tvalue: navMenuElem,\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tswitch (payload.name) {\n\t\t\t\tcase 'printerFriendlyEnabled':\n\t\t\t\t\tif (properties.contextualMenu.menuType === 'userMenu') {\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t\t...properties.contextualMenu,\n\t\t\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t\t\t...properties.contextualMenu.menuData,\n\t\t\t\t\t\t\t\t\tprinterFriendlyEnabled: payload.value\n\t\t\t\t\t\t\t\t}\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\tbreak;\n\t\t\t\tcase 'unreadNotificationCount':\n\t\t\t\tcase 'openFrame':\n\t\t\t\tcase 'concoursePickerConfig':\n\t\t\t\t\t// make sure we update the utlity menu since pickerConfig changed\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tdispatch(UPDATE_UTILITY_MENU_ITEMS);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'mainMenuState': {\n\t\t\t\t\tconst pinnedTabLabels = host.shadowRoot.querySelectorAll('.tab-name');\n\t\t\t\t\tif (!pinnedTabLabels) {\n\t\t\t\t\t\treturn; // if pinned tab elements were not found, return and move on\n\t\t\t\t\t}\n\n\t\t\t\t\tconst previousState = payload.previousValue;\n\t\t\t\t\tconst newState = payload.value;\n\t\t\t\t\tconst changedProps = [];\n\t\t\t\t\tlet didStateChange = false;\n\n\t\t\t\t\t// compare states to see what changed\n\t\t\t\t\tfor (const property in newState) {\n\t\t\t\t\t\tif (newState[property] !== previousState[property]) {\n\t\t\t\t\t\t\tdidStateChange = true;\n\t\t\t\t\t\t\tchangedProps.push(property);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// handle pin state change if it changed\n\t\t\t\t\tif (\n\t\t\t\t\t\tdidStateChange &&\n\t\t\t\t\t\t(changedProps.includes('pinnedMenuId') ||\n\t\t\t\t\t\t\tchangedProps.includes('isMenuPinned'))\n\t\t\t\t\t) {\n\t\t\t\t\t\t// no pinned menu so reset pinned tabs classnames\n\t\t\t\t\t\tif (!newState.isMenuPinned) {\n\t\t\t\t\t\t\tpinnedTabLabels[0].className = 'tab-name';\n\t\t\t\t\t\t\tpinnedTabLabels[1].className = 'tab-name';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tnewState.pinnedMenuId === null ||\n\t\t\t\t\t\t\t\tpreviousState.pinnedMenuId === 'menuLoader'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// get our menu data\n\t\t\t\t\t\t\tconst pinnedMenu = properties.menuItems.find(\n\t\t\t\t\t\t\t\t(item) => item.id === newState.pinnedMenuId\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// It's possible that the pinned menu isn't in the menuItems yet\n\t\t\t\t\t\t\tif (!pinnedMenu || pinnedMenu.id === 'menuLoader') return;\n\n\t\t\t\t\t\t\t// decide which tab to use\n\t\t\t\t\t\t\tconst useFirstTab = !pinnedTabLabels[0].classList.contains(\n\t\t\t\t\t\t\t\t'shown'\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// handle cross fading between tabs\n\t\t\t\t\t\t\tif (pinnedMenu && pinnedMenu.label) {\n\t\t\t\t\t\t\t\tpinnedTabLabels[useFirstTab ? 0 : 1].innerText =\n\t\t\t\t\t\t\t\t\tpinnedMenu.label;\n\t\t\t\t\t\t\t\tpinnedTabLabels[0].className = `tab-name ${\n\t\t\t\t\t\t\t\t\tuseFirstTab ? 'shown' : ''\n\t\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t\t\tpinnedTabLabels[1].className = `tab-name ${\n\t\t\t\t\t\t\t\t\t!useFirstTab ? 'shown' : ''\n\t\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'contextualMenuState': {\n\t\t\t\t\tconst {value, previousValue} = payload;\n\n\t\t\t\t\tif (value.primaryMenuId !== null || value.secondaryMenuId !== null) {\n\t\t\t\t\t\tconst primaryMenu = host.shadowRoot.querySelector(\n\t\t\t\t\t\t\t`sn-contextual-menu#${value.primaryMenuId}`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (primaryMenu && primaryMenu.hasAttribute('defer')) {\n\t\t\t\t\t\t\tprimaryMenu.removeAttribute('defer');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst secondaryMenu = host.shadowRoot.querySelector(\n\t\t\t\t\t\t\t`sn-contextual-menu#${value.secondaryMenuId}`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (secondaryMenu && secondaryMenu.hasAttribute('defer')) {\n\t\t\t\t\t\t\tsecondaryMenu.removeAttribute('defer');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tvalue.isMenuPinned &&\n\t\t\t\t\t\tvalue.pinnedMenuId !== previousValue.pinnedMenuId\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst pinnedUtilityButton = host.shadowRoot.querySelector(\n\t\t\t\t\t\t\t'.contextual-zone-button.pinned'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (isNil(pinnedUtilityButton)) return;\n\t\t\t\t\t\tconst icon = pinnedUtilityButton.querySelector('now-icon');\n\t\t\t\t\t\tif (icon) {\n\t\t\t\t\t\t\tconst pinnedIcons = host.shadowRoot.querySelectorAll(\n\t\t\t\t\t\t\t\t'.pinned-icon'\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (pinnedIcons[0].innerHTML === '') {\n\t\t\t\t\t\t\t\tpinnedIcons[0].innerHTML = `<now-icon class=\"contextual-zone-icon\" icon='${\n\t\t\t\t\t\t\t\t\ticon.icon\n\t\t\t\t\t\t\t\t}' />`;\n\t\t\t\t\t\t\t\tpinnedIcons[0].style.opacity = 1;\n\t\t\t\t\t\t\t\tpinnedIcons[1].innerHTML = '';\n\t\t\t\t\t\t\t\tpinnedIcons[1].style.opacity = 0;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tpinnedIcons[1].innerHTML = `<now-icon class=\"contextual-zone-icon\" icon='${\n\t\t\t\t\t\t\t\t\ticon.icon\n\t\t\t\t\t\t\t\t}' />`;\n\t\t\t\t\t\t\t\tpinnedIcons[1].style.opacity = 1;\n\t\t\t\t\t\t\t\tpinnedIcons[0].innerHTML = '';\n\t\t\t\t\t\t\t\tpinnedIcons[0].style.opacity = 0;\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\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'notifications': {\n\t\t\t\t\t// Really need a better way of keeping contextual menu stuff up to date\n\n\t\t\t\t\tif (isEqual(payload.previousValue, payload.value)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch(NOTIFICATION_DATA_UPDATED, {\n\t\t\t\t\t\tnotificationData: properties.notifications\n\t\t\t\t\t});\n\n\t\t\t\t\tif (!properties.isFetchingUnreadCount) {\n\t\t\t\t\t\trequestUnreadCount(properties, dispatch);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'menuItems': {\n\t\t\t\t\tif (isMenuListUpdated(payload.previousValue, payload.value)) {\n\t\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (properties.isSyncingFavorites) {\n\t\t\t\t\t\tdispatch(SYNC_FAVORITES_COMPLETE);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst oldFavorites = payload.previousValue?.find(\n\t\t\t\t\t\t\t({id}) => id === MENU_FAVORITES\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst newFavorites = payload.value?.find(\n\t\t\t\t\t\t\t({id}) => id === MENU_FAVORITES\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!isEqual(oldFavorites, newFavorites)) {\n\t\t\t\t\t\t\tdispatch(FAVORITES_COMMUNICATED_TO_SW, {\n\t\t\t\t\t\t\t\tfavoriteMenu: newFavorites\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}\n\n\t\t\t\t// eslint-disable-next-line no-fallthrough\n\t\t\t\tcase 'headerConfig': {\n\t\t\t\t\tconst searchContexts = buildAvailableSearchContext({\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t});\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\thasWorkspaces: !!properties.menuItems?.find(\n\t\t\t\t\t\t\t({id}) => id === MENU_WORKSPACES\n\t\t\t\t\t\t),\n\t\t\t\t\t\tsearchContexts\n\t\t\t\t\t});\n\n\t\t\t\t\thandleFirstLoad(coeffect);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'polarisSearchContexts':\n\t\t\t\tcase 'selectedContent':\n\t\t\t\tcase 'globalSearchEnabled': {\n\t\t\t\t\tif (\n\t\t\t\t\t\tisEqual(payload.previousValue, payload.value) ||\n\t\t\t\t\t\t!properties.isPolarisEnabled\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tsearchContexts: buildAvailableSearchContext({\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'hasDirtyWorkspaces': {\n\t\t\t\t\tconst oldHasDirtyWorkspace = get(\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t'hasDirtyWorkspace',\n\t\t\t\t\t\tnull\n\t\t\t\t\t);\n\t\t\t\t\tif (payload.value !== oldHasDirtyWorkspace) {\n\t\t\t\t\t\t// Need to recalulate the tab positioning because the size of the tab changed from the dirty workspace icon\n\t\t\t\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'windowSize': {\n\t\t\t\t\tconst previousWidth = payload.previousValue.width;\n\t\t\t\t\tconst newWidth = properties.windowSize.width;\n\t\t\t\t\tconst breakPoint = REFLOW_BREAKPOINTS.BREAKPOINT_420;\n\t\t\t\t\tif (\n\t\t\t\t\t\t(newWidth < breakPoint && previousWidth > breakPoint) ||\n\t\t\t\t\t\t(newWidth >= breakPoint && previousWidth < breakPoint)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// to prevent rendering issue during reflow\n\t\t\t\t\t\tdispatch(MAIN_LOGO_LOADED);\n\t\t\t\t\t}\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tif (properties.contextualMenu.showMenu) {\n\t\t\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'pageTitle':\n\t\t\t\tcase 'utilityMenuData': {\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'headerMenuItems':\n\t\t\t\tcase 'mainLogoWidth': {\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'helpPanelAppContext':\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tdispatch(UPDATE_UTILITY_MENU_ITEMS);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'wideMenus':\n\t\t\t\t\tdispatch(UPDATE_UTILITY_MENU_ITEMS);\n\t\t\t\t\tpositionHeaderItems(coeffect);\n\t\t\t\t\tmeasureButtonPlacement(coeffect);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'userPreferences':\n\t\t\t\t\tif (state.awaitPrefUpdateReload) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NAV_RESIZED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {dispatch, state} = coeffects;\n\t\t\tconst {mainMenuState, menuItems} = state.properties;\n\t\t\tif (\n\t\t\t\tmenuItems?.length &&\n\t\t\t\t(mainMenuState.primaryMenuId === menuItems[menuItems.length - 1].id ||\n\t\t\t\t\tmainMenuState.secondaryMenuId === menuItems[menuItems.length - 1].id)\n\t\t\t) {\n\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t}\n\t\t\thandleSearchReflow(coeffects);\n\t\t\tpositionHeaderItems(coeffects);\n\t\t\tmeasureButtonPlacement(coeffects);\n\t\t},\n\t\tstopPropagation: false\n\t},\n\t[EXPEREIENCE_TITLE_RESIZED]: {\n\t\teffect: doHeaderReflow,\n\t\tstopPropagation: true\n\t},\n\t[SEARCH_INPUT_ONRESIZE]: {\n\t\teffect: doHeaderReflow,\n\t\tstopPropagation: true\n\t},\n\t[HOME_PAGE_SELECTED]: ({dispatch}) => {\n\t\tdispatch(UN_PAGE_TITLE_UPDATE_REQUESTED, {\n\t\t\tlabel: t('Home'),\n\t\t\ttype: 'seismic'\n\t\t});\n\t\tdispatch(NAV_ITEM_SELECTED, {route: 'home', context: POLARIS_CONTEXT});\n\t\t//should be in state\n\t\tdispatch(CLOSE_MENUS);\n\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t},\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\thost: {baseURI}\n\t\t\t} = coeffects;\n\t\t\tconst payload = action.payload;\n\n\t\t\tconst experienceMenuClick = () => {\n\t\t\t\thandleExperienceNavigationClick({\n\t\t\t\t\taction,\n\t\t\t\t\tstate,\n\t\t\t\t\tdispatch\n\t\t\t\t});\n\t\t\t};\n\t\t\tfunction handleEvent(eventSource) {\n\t\t\t\tconst HEADER_ACTIONS = {\n\t\t\t\t\t[BUTTON_ACTIONS.LOGOUT_CLICKED]: () => {\n\t\t\t\t\t\tdispatch(LOGOUT_REQUESTED);\n\t\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {name: 'Log Out'});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.PRINTER_FRIENDLY_CLICKED]: () => {\n\t\t\t\t\t\tdispatch(PRINTER_FRIENDLY_VERSION_REQUESTED);\n\t\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\t\t\tname: 'Printer Friendly Version'\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.IMPERSONATE_USER_CLICKED]: () => {\n\t\t\t\t\t\tdispatch(IMPERSONATION_MODAL_OPENED);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\t\t\tname: 'Impersonate User'\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.END_IMPERSONATION_CLICKED]: () => {\n\t\t\t\t\t\tdispatch(END_IMPERSONATION_REQUESTED);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\t\t\tname: 'End User Impersonation'\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.ELEVATE_ROLE_CLICKED]: () => {\n\t\t\t\t\t\tdispatch(ELEVATE_ROLE_MODAL_OPENED);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\t\t\tname: 'Elevate Role'\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.PROFILE_CLICKED]: () => {\n\t\t\t\t\t\t// If the Button was clicked with cmd key open in new tab\n\t\t\t\t\t\tif (payload?.event?.metaKey) {\n\t\t\t\t\t\t\twindow.open(\n\t\t\t\t\t\t\t\tbaseURI +\n\t\t\t\t\t\t\t\t\t'sys_user.do?sys_id=' +\n\t\t\t\t\t\t\t\t\tproperties.userMeta.sys_id +\n\t\t\t\t\t\t\t\t\t'&sysparm_view=ess',\n\t\t\t\t\t\t\t\t'profile'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\ttarget:\n\t\t\t\t\t\t\t\t\t\t'sys_user.do?sys_id=' +\n\t\t\t\t\t\t\t\t\t\tproperties.userMeta.sys_id +\n\t\t\t\t\t\t\t\t\t\t'&sysparm_view=ess'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {name: 'Profile'});\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.EXPERIENCE_ACTION_ITEM_CLICKED]: experienceMenuClick,\n\t\t\t\t\t[BUTTON_ACTIONS.OPEN_FEEDBACK]: () => {\n\t\t\t\t\t\tdispatch(FEEDBACK_FORM_BUTTON_CLICKED);\n\t\t\t\t\t},\n\t\t\t\t\t[BUTTON_ACTIONS.KARUNA_TOGGLE_CLICKED]: () => {\n\t\t\t\t\t\tconst newValue = payload.value;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnewValue &&\n\t\t\t\t\t\t\tgetBooleanProperty(SYS_PROP_AIUX_USER_MENU_OPEN_ON_ARRIVAL, false)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\twindow.sessionStorage.setItem(\n\t\t\t\t\t\t\t\t\tSESSION_KEY_AIUX_OPEN_USER_MENU_ON_ARRIVAL,\n\t\t\t\t\t\t\t\t\t'true'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t// Safari private mode etc. — fall through; redirect still happens.\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\t\t'[polaris-app-shell] sessionStorage write failed for ' +\n\t\t\t\t\t\t\t\t\t\tSESSION_KEY_AIUX_OPEN_USER_MENU_ON_ARRIVAL,\n\t\t\t\t\t\t\t\t\te\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\t\t\tname: USER_PREF_AIUX_USE,\n\t\t\t\t\t\t\tvalue: newValue\n\t\t\t\t\t\t});\n\t\t\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\t\t\tname: 'Try new experience',\n\t\t\t\t\t\t\tvalue: newValue\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcoeffects.updateState({\n\t\t\t\t\t\t\tpath: 'awaitPrefUpdateReload',\n\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// Fallback in case userPreferences property update never arrives\n\t\t\t\t\t\tsetTimeout(() => window.location.reload(), 3000);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst handler = HEADER_ACTIONS[eventSource];\n\n\t\t\t\t// Handle it here or dispatch the source as an action to be handled in some parent\n\t\t\t\tif (handler || eventSource) {\n\t\t\t\t\thandler ? handler() : dispatch(eventSource);\n\t\t\t\t}\n\t\t\t}\n\t\t\thandleEvent(payload.eventSource);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[MAIN_LOGO_LOADED]: {\n\t\teffect: ({host, properties, updateProperties}) => {\n\t\t\t// Defer measurement to the next animation frame to avoid a race\n\t\t\t// condition where the image on-load event fires synchronously from\n\t\t\t// the browser cache before\n\t\t\t// snabbdom has finished patching the DOM.\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tconst logoImg = host.shadowRoot.querySelectorAll(\n\t\t\t\t\t'div.polaris-header-logo'\n\t\t\t\t)[0];\n\t\t\t\tif (!logoImg) return;\n\t\t\t\tconst logoBounds = logoImg.getBoundingClientRect();\n\t\t\t\tconst logoContainer = host.shadowRoot.querySelectorAll('.logo-area')[0];\n\t\t\t\tif (!logoContainer) return;\n\t\t\t\tconst logoWidth = logoBounds.width === 0 ? 40 : logoBounds.width;\n\t\t\t\tlogoContainer.style.width = `${logoWidth}px`;\n\t\t\t\tlogoContainer.className += ' can-animate';\n\n\t\t\t\tconst cachedLogoWidth = cache.get(MAIN_LOGO_WIDTH_CACHE_KEY);\n\t\t\t\tif (\n\t\t\t\t\tlogoWidth !== properties.mainLogoWidth ||\n\t\t\t\t\tlogoWidth !== cachedLogoWidth\n\t\t\t\t) {\n\t\t\t\t\tcache.set(MAIN_LOGO_WIDTH_CACHE_KEY, logoWidth);\n\t\t\t\t\tupdateProperties({mainLogoWidth: logoWidth});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: false\n\t},\n\t'NOW_CARD#SELECTED_SET': {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {from, sysId, table, recordSysId}\n\t\t\t},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tif (from !== 'notifications') return;\n\n\t\t\tdispatch(NOTIFICATION_OPENED, {\n\t\t\t\tsysId,\n\t\t\t\ttable,\n\t\t\t\trecordSysId\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_DRAGGABLE_CHANGED_POSITION]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {value}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'openframeLockedPosition',\n\t\t\t\t\tvalue: value,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'openFramePositions',\n\t\t\t\t\tvalue: positionsMenuItemsOmitCurrent(value),\n\t\t\t\t\toperation: 'set'\n\t\t\t\t}\n\t\t\t]);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_CARD_HEADER#ACTION_CLICKED': {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {action, items}\n\t\t\t},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tif (action.id !== 'clear') return;\n\n\t\t\tdispatch(NOTIFICATIONS_CLEARED, {items});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[HEADER_LOGO_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\ttrack(coeffects, METRICS.RETURN_HOME, {name: 'Header Logo'});\n\t\t}\n\t},\n\t[HEADER_EXPERIENCE_MENU_CLICKED]: handleExperienceNavigationClick,\n\t[actionTypes.COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleFirstLoad,\n\t\tstopPropagation: true\n\t},\n\t['openframe_hidden']: {\n\t\teffect: ({host}) => {\n\t\t\t// openframe is the only util menu which is not wrapped by the contextual-menu component\n\t\t\t// so it cant use focusBehavior to handle focus after the CTI diaolog is closed.\n\t\t\t// This means we need to manually set focus back to the CTI button.\n\t\t\thost.shadowRoot\n\t\t\t\t.querySelector('.contextual-zone-button.polaris-enabled.cti')\n\t\t\t\t?.focus();\n\t\t}\n\t},\n\t[LOGO_IMAGE_UPDATED]: {\n\t\teffect: ({updateProperties, action}) => {\n\t\t\tupdateProperties({coreUILogoSrc: action.payload.logoImage});\n\t\t}\n\t}\n};\n","import get from 'lodash/get';\nimport {LINK_TYPES} from '../constants';\n\nexport const formatURLByType = (linkValue = {}, type) => {\n\tconst url = get(linkValue, 'href', '');\n\tswitch (type) {\n\t\tcase LINK_TYPES.EMAIL_LINK_TYPE:\n\t\t\treturn 'mailto:' + url;\n\t\tcase LINK_TYPES.PHONE_LINK_TYPE:\n\t\t\treturn 'tel:' + url;\n\t\tdefault:\n\t\t\treturn url;\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_17_polaris_0_index_jsdbx_1b347bb9__[\"default\"][\"default\"];\n\t\t\t\t} });","export default function deepFind(\n\tarray,\n\tpath,\n\tsearch,\n\tsetParents = false,\n\tparents = []\n) {\n\tif (!Array.isArray(array)) array = [array];\n\n\tfor (const object of array) {\n\t\tif (search(object)) return setParents ? {...object, parents} : object;\n\n\t\tif (object[path]) {\n\t\t\tconst deepResult = deepFind(object[path], path, search, setParents, [\n\t\t\t\t...parents,\n\t\t\t\tobject\n\t\t\t]);\n\n\t\t\tif (deepResult) return deepResult;\n\t\t}\n\t}\n\n\treturn null;\n}\n","export const ENCRYPTION_PICKER_REFRESH_REQUESTED =\n\t'ENCRYPTION_PICKER#REFRESH_REQUESTED';\n\nexport const ENCRYPTION_CHANGE_REQUESTED = 'ENCRYPTION#CHANGE_REQUESTED';\n","const lifecycleFns = {};\nexport default lifecycleFns;\n","import fns from './lifecycleFns';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {getBooleanProperty, requestIdleCallback} from '@devsnc/unav-utils';\nimport {SYS_PROPS} from '../constants';\n\nexport default function registerLifecycleFn(\n\tfn,\n\tlifecycle,\n\toptions = {runWhenIdle: true, post: false}\n) {\n\tconst {runWhenIdle = true, post = false} = options;\n\n\tif (post) lifecycle = `POST_${lifecycle}`;\n\n\tif (\n\t\tprocess.env.NODE_ENV === 'test' ||\n\t\tprocess.env.NODE_ENV === 'development' ||\n\t\tgetBooleanProperty(SYS_PROPS.UI.POLARIS_DISABLE_DEFER, false)\n\t)\n\t\treturn fn();\n\n\tfns[lifecycle] = fns[lifecycle] || [];\n\tfns[lifecycle].push(\n\t\trunWhenIdle\n\t\t\t? () =>\n\t\t\t\t\trequestIdleCallback(fn, {\n\t\t\t\t\t\ttimeout: getProperty(SYS_PROPS.UI.PAGE_LOAD_TIME_OUT) ?? 1000\n\t\t\t\t\t})\n\t\t\t: fn\n\t);\n}\n","export const CONCOURSE_CURRENT_DATA_REQUESTED =\n\t'CONCOURSE_FETCHER#CURRENT_DATA_REQUESTED';\nexport const CONCOURSE_CURRENT_DATA_REQUEST_SUCCEEDED =\n\t'CONCOURSE_FETCHER#CURRENT_DATA_REQUEST_SUCCEEDED';\nexport const CONCOURSE_DATA_LISTS_REQUESTED =\n\t'CONCOURSE_FETCHER#DATA_LISTS_REQUESTED';\nexport const CONCOURSE_DATA_LISTS_REQUEST_SUCCEEDED =\n\t'CONCOURSE_FETCHER#DATA_LISTS_REQUEST_SUCCEEDED';\nexport const CONCOURSE_REBUILD_CONFIG_REQUESTED =\n\t'CONCOURSE_FETCHER#REBUILD_CONFIG_REQUESTED';\n","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tENCRYPTION_CHANGE_REQUESTED,\n\tENCRYPTION_PICKER_REFRESH_REQUESTED\n} from './actions';\nimport registerLifecycleFn from '../../utils/registerLifecycleFn';\nimport {INITIAL_EXPERIENCE_PAGE_LOADED} from '../../constants';\nimport cache from '../../utils/cache';\nimport {createHttpEffect, createAuthedOnlyHttpEffect} from '@devsnc/unav-utils';\nimport {CONCOURSE_REBUILD_CONFIG_REQUESTED} from '../concourse-fetcher-behavior/actions';\n\nconst ENCRYPTION_PICKER_REFRESH_REQUEST_SUCCEEDED =\n\t'ENCRYPTION_PICKER#REFRESH_REQUEST_SUCCEEDED';\nconst ENCRYPTION_CHANGE_SUCCEEDED = 'ENCRYPTION#CHANGE_SUCCEEDED';\n\nconst encryptionPickerEffect = createAuthedOnlyHttpEffect(\n\t'/api/now/ui/concoursepicker/encryption',\n\t{\n\t\tmethod: 'GET',\n\t\tqueryParams: ['cache'],\n\t\tsuccessActionType: ENCRYPTION_PICKER_REFRESH_REQUEST_SUCCEEDED\n\t}\n);\n\nconst encryptionChangeEffect = createHttpEffect(\n\t'/api/now/ui/concoursepicker/encryption',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: ENCRYPTION_CHANGE_SUCCEEDED\n\t}\n);\n\nconst cryptoModulePickerEffect = createAuthedOnlyHttpEffect(\n\t'/api/now/ui/concoursepicker/cryptoModule',\n\t{\n\t\tmethod: 'GET',\n\t\tqueryParams: ['cache'],\n\t\tsuccessActionType: ENCRYPTION_PICKER_REFRESH_REQUEST_SUCCEEDED\n\t}\n);\n\nconst cryptoModuleChangeEffect = createHttpEffect(\n\t'/api/now/ui/concoursepicker/cryptoModule',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: ENCRYPTION_CHANGE_SUCCEEDED\n\t}\n);\n\n// internal actions for swapping between the two\nconst CRYPTO_MODULE_REFRESH_REQUESTED = 'CRYPTO_MODULE_REFRESH_REQUESTED';\nconst CRYPTO_MODULE_CHANGE = 'CRYPTO_MODULE_CHANGE';\nconst ENCRYPTION_CONTEXT_REFRESH_REQUESTED =\n\t'ENCRYPTION_CONTEXT_REFRESH_REQUESTED';\nconst ENCRYPTION_CONTEXT_CHANGE = 'ENCRYPTION_CONTEXT_CHANGE';\n\nconst CACHE_KEY = 'availableEncryptionContexts';\nexport const ENCRYPTION_CONTEXT_CACHE_TYPE = 'encryption-context';\nexport const CRYPTO_MODULE_CACHE_TYPE = 'crypto-module';\n\nexport default {\n\tname: 'ENCRYPTION_BEHAVIOR',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction: {\n\t\t\t\tpayload: {name}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tproperties: {userSettingsAccess},\n\t\t\tupdateState\n\t\t}) {\n\t\t\tif (name !== 'userSettingsAccess') return;\n\n\t\t\tif (\n\t\t\t\tuserSettingsAccess?.showEncryptionPicker ||\n\t\t\t\tuserSettingsAccess?.showCryptoModulePicker\n\t\t\t) {\n\t\t\t\tregisterLifecycleFn(() => {\n\t\t\t\t\tconst availableEncryptionContexts = cache.get(CACHE_KEY);\n\t\t\t\t\tconst type = userSettingsAccess?.showEncryptionPicker\n\t\t\t\t\t\t? ENCRYPTION_CONTEXT_CACHE_TYPE\n\t\t\t\t\t\t: CRYPTO_MODULE_CACHE_TYPE;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tavailableEncryptionContexts &&\n\t\t\t\t\t\tavailableEncryptionContexts.type === type\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({availableEncryptionContexts});\n\t\t\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t\t\t} else dispatch(ENCRYPTION_PICKER_REFRESH_REQUESTED);\n\t\t\t\t}, INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t\t} else {\n\t\t\t\tupdateState({availableEncryptionContexts: {}});\n\t\t\t\tcache.remove(CACHE_KEY);\n\t\t\t}\n\t\t},\n\t\t[ENCRYPTION_CHANGE_REQUESTED]({\n\t\t\taction: {payload},\n\t\t\tdispatch,\n\t\t\tproperties: {userSettingsAccess}\n\t\t}) {\n\t\t\tif (userSettingsAccess?.showEncryptionPicker) {\n\t\t\t\tdispatch(ENCRYPTION_CONTEXT_CHANGE, payload);\n\t\t\t} else if (userSettingsAccess?.showCryptoModulePicker) {\n\t\t\t\tdispatch(CRYPTO_MODULE_CHANGE, payload);\n\t\t\t}\n\t\t},\n\t\t[ENCRYPTION_CONTEXT_CHANGE]: encryptionChangeEffect,\n\t\t[CRYPTO_MODULE_CHANGE]: cryptoModuleChangeEffect,\n\t\t[ENCRYPTION_CHANGE_SUCCEEDED]({dispatch, updateState, action: {meta}}) {\n\t\t\tcache.remove(CACHE_KEY);\n\t\t\tupdateState({\n\t\t\t\tpath: 'availableEncryptionContexts.current',\n\t\t\t\tvalue: meta.request?.data.id,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t},\n\t\t[ENCRYPTION_PICKER_REFRESH_REQUESTED]({\n\t\t\tdispatch,\n\t\t\tproperties: {userSettingsAccess}\n\t\t}) {\n\t\t\tif (userSettingsAccess?.showEncryptionPicker) {\n\t\t\t\tdispatch(ENCRYPTION_CONTEXT_REFRESH_REQUESTED, {cache: Date.now()});\n\t\t\t} else if (userSettingsAccess?.showCryptoModulePicker) {\n\t\t\t\tdispatch(CRYPTO_MODULE_REFRESH_REQUESTED, {cache: Date.now()});\n\t\t\t}\n\t\t},\n\t\t[ENCRYPTION_CONTEXT_REFRESH_REQUESTED]: encryptionPickerEffect,\n\t\t[CRYPTO_MODULE_REFRESH_REQUESTED]: cryptoModulePickerEffect,\n\t\t[ENCRYPTION_PICKER_REFRESH_REQUEST_SUCCEEDED]({\n\t\t\taction: {\n\t\t\t\tpayload: {result: availableEncryptionContexts}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tproperties: {userSettingsAccess},\n\t\t\tupdateState\n\t\t}) {\n\t\t\tconst normalizedAvailableEncryptionContexts = {\n\t\t\t\t...availableEncryptionContexts,\n\t\t\t\tlist: availableEncryptionContexts.list.map((e) => ({\n\t\t\t\t\t...e,\n\t\t\t\t\tsysId: e.value,\n\t\t\t\t\tname: e.label\n\t\t\t\t})),\n\t\t\t\ttype: userSettingsAccess?.showEncryptionPicker\n\t\t\t\t\t? ENCRYPTION_CONTEXT_CACHE_TYPE\n\t\t\t\t\t: CRYPTO_MODULE_CACHE_TYPE\n\t\t\t};\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'availableEncryptionContexts',\n\t\t\t\t\tvalue: normalizedAvailableEncryptionContexts,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\n\t\t\tcache.set(CACHE_KEY, normalizedAvailableEncryptionContexts);\n\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t}\n\t},\n\tinitialState: {\n\t\tavailableEncryptionContexts: {}\n\t}\n};\n","export const APPLICATION_CHANGE_REQUESTED = 'APPLICATION#CHANGE_REQUESTED';\nexport const APPLICATION_CHANGE_SUCCEEDED = 'APPLICATION#CHANGE_SUCCEEDED';\nexport const APPLICATION_REFRESH_REQUESTED = 'APPLICATION#REFRESH_REQUESTED';\nexport const APPLICATION_REFRESH_REQUEST_SUCCEEDED =\n\t'APPLICATION#REFRESH_REQUEST_SUCCEEDED';\n","export const UPDATE_SET_CHANGE_REQUESTED = 'UPDATE_SET#CHANGE_REQUESTED';\nexport const UPDATE_SET_HTTP_REQUEST_SENT = 'UPDATE_SET#HTTP_REQUEST_SENT';\nexport const UPDATE_SET_HTTP_REQUEST_SUCCEEDED =\n\t'UPDATE_SET#HTTP_REQUEST_SUCCEEDED';\nexport const UPDATE_SET_HTTP_REQUEST_FAILED = 'UPDATE_SET#HTTP_REQUEST_FAILED';\nexport const UPDATE_SET_REFRESH_REQUESTED = 'UPDATE_SET#REFRESH_REQUESTED';\nexport const UPDATE_SET_REFRESH_REQUEST_SUCCEEDED =\n\t'UPDATE_SET#REFRESH_REQUEST_SUCCEEDED';\n","import {t} from 'sn-translate';\nimport track from '../../utils/track';\nimport deepFind from '../../utils/deepFind';\nimport {get, isEmpty} from 'lodash';\nimport {\n\tCONCOURSE_PICKER_CLICKED,\n\tCONCOURSE_PICKER_ITEM_SELECTED,\n\tCONCOURSE_PICKER_OPEN_RECORD_CLICKED,\n\tCONCOURSE_PICKER_SEARCH_TEXT_ENTERED,\n\tCONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED,\n\tCONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED,\n\tCONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED\n} from './actions';\nimport {\n\tCLASSIC,\n\tMETRICS,\n\tNAV_ITEM_SELECTED,\n\tPOLARIS_CONTEXT,\n\tSYS_PROPS,\n\tUSER_PREF_UPDATED,\n\tCONCOURSE_PICKER_MENU_ID\n} from '../../constants';\nimport {\n\texecuteFilter,\n\tgetBooleanProperty,\n\tgetPreferenceValue,\n\tPREFERENCES\n} from '@devsnc/unav-utils';\nimport {ENCRYPTION_CONTEXT_CACHE_TYPE} from '../encryption-behavior';\nimport {\n\tDOMAIN_CHANGE_REQUESTED,\n\tDOMAIN_SEARCH_REQUESTED\n} from '../../behaviors/domain-behavior/actions';\nimport {ENCRYPTION_CHANGE_REQUESTED} from '../../behaviors/encryption-behavior/actions';\nimport {APPLICATION_CHANGE_REQUESTED} from '../../behaviors/application-behavior/actions';\nimport {UPDATE_SET_CHANGE_REQUESTED} from '../../behaviors/update-set-behavior/actions';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../components/sn-polaris-layout/actions';\nimport {CONCOURSE_DATA_LISTS_REQUESTED} from '../concourse-fetcher-behavior/actions';\n\nexport const getConcoursePickerConfig = ({\n\tavailableApplications,\n\tavailableUpdateSets,\n\tavailableDomains,\n\tavailableEncryptionContexts,\n\tuserMeta,\n\tuserSettingsAccess\n}) => {\n\tlet currentApplication,\n\t\tcurrentApplicationLabelShort,\n\t\tcurrentApplicationLabel,\n\t\tcurrentUpdateSet,\n\t\tcurrentUpdateSetLabelShort,\n\t\tcurrentUpdateSetLabel,\n\t\tcurrentDomain,\n\t\tcurrentDomainLabelShort,\n\t\tcurrentDomainLabel,\n\t\tcurrentEncryptionContext,\n\t\tcurrentEncryptionContextLabelShort,\n\t\tcurrentEncryptionContextLabel,\n\t\tconcoursePickerTooltip,\n\t\tapplicationIndicator,\n\t\tupdateSetIndicator,\n\t\tdomainIndicator;\n\n\tconst showApplicationPicker = !isEmpty(availableApplications);\n\tconst showUpdateSetPicker = !isEmpty(availableUpdateSets);\n\tconst showDomainPicker = !isEmpty(availableDomains);\n\tconst defaultDomain = userMeta?.domain || 'global';\n\n\tconst showEncryptionPicker = !isEmpty(availableEncryptionContexts?.list);\n\n\tif (showApplicationPicker) {\n\t\tcurrentApplication = get(availableApplications, 'current', 'global');\n\t\tapplicationIndicator = currentApplication.sysId !== 'global';\n\t\tcurrentApplicationLabelShort = currentApplication.name;\n\t\tcurrentApplicationLabel = `${t(\n\t\t\t'Application scope: {0}',\n\t\t\tcurrentApplicationLabelShort\n\t\t)}`;\n\t}\n\tif (showUpdateSetPicker) {\n\t\tcurrentUpdateSet = get(availableUpdateSets, 'current', {});\n\t\tupdateSetIndicator = !/Default \\[.*]/.test(currentUpdateSet.name);\n\t\tcurrentUpdateSetLabelShort = currentUpdateSet.name;\n\t\tcurrentUpdateSetLabel = t('Update set: {0}', currentUpdateSetLabelShort);\n\t}\n\tif (showDomainPicker) {\n\t\tcurrentDomain = get(availableDomains, 'current', {});\n\t\tdomainIndicator = currentDomain.id !== defaultDomain;\n\t\tcurrentDomainLabelShort = currentDomain.label;\n\t\tcurrentDomainLabel = t('Domain scope: {0}', currentDomainLabelShort);\n\t}\n\n\tif (showEncryptionPicker) {\n\t\tcurrentEncryptionContext = get(availableEncryptionContexts, 'current');\n\t\tcurrentEncryptionContextLabelShort = availableEncryptionContexts.list.find(\n\t\t\t({value}) => value === availableEncryptionContexts.current\n\t\t)?.label;\n\t\tcurrentEncryptionContextLabel =\n\t\t\tavailableEncryptionContexts.type === ENCRYPTION_CONTEXT_CACHE_TYPE\n\t\t\t\t? t('Encryption context: {0}', currentEncryptionContextLabelShort)\n\t\t\t\t: t('Crypto module: {0}', currentEncryptionContextLabelShort);\n\t}\n\n\tconst showConcoursePickerButton =\n\t\tuserSettingsAccess?.showApplicationPicker ||\n\t\tuserSettingsAccess?.showUpdateSetPicker ||\n\t\tuserSettingsAccess?.showDomainPicker ||\n\t\tuserSettingsAccess?.showEncryptionPicker ||\n\t\tuserSettingsAccess?.showCryptoModulePicker;\n\n\tif (showConcoursePickerButton) {\n\t\tconcoursePickerTooltip = {\n\t\t\tslotted: true,\n\t\t\tvalue: (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: 'max-content',\n\t\t\t\t\t\t'max-width': '100%'\n\t\t\t\t\t}}>\n\t\t\t\t\t{showDomainPicker ? <div> {currentDomainLabel} <\/div> : null}\n\t\t\t\t\t{showApplicationPicker ? (\n\t\t\t\t\t\t<div> {currentApplicationLabel} <\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{showUpdateSetPicker ? <div> {currentUpdateSetLabel} <\/div> : null}\n\t\t\t\t\t{showEncryptionPicker ? (\n\t\t\t\t\t\t<div> {currentEncryptionContextLabel} <\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t)\n\t\t};\n\t}\n\treturn {\n\t\tshowConcoursePickerButton,\n\t\tconcoursePickerTooltip,\n\t\tavailableApplications,\n\t\tavailableUpdateSets,\n\t\tavailableDomains,\n\t\tavailableEncryptionContexts,\n\t\tcurrentApplication,\n\t\tcurrentUpdateSet,\n\t\tcurrentDomain,\n\t\tdefaultDomain,\n\t\tcurrentEncryptionContext,\n\t\tapplicationIndicator,\n\t\tupdateSetIndicator,\n\t\tdomainIndicator,\n\t\tdrilldownListItems: [\n\t\t\tshowDomainPicker\n\t\t\t\t? {\n\t\t\t\t\t\tid: 'domain',\n\t\t\t\t\t\tlabel: currentDomainLabel,\n\t\t\t\t\t\tcurrent: currentDomainLabelShort,\n\t\t\t\t\t\tsubItems: availableDomains.list,\n\t\t\t\t\t\tindicator: domainIndicator,\n\t\t\t\t\t\ttoolIcon: 'clone-outline'\n\t\t\t\t  }\n\t\t\t\t: {},\n\t\t\tshowApplicationPicker\n\t\t\t\t? {\n\t\t\t\t\t\tid: 'application',\n\t\t\t\t\t\tlabel: currentApplicationLabel,\n\t\t\t\t\t\tcurrent: currentApplicationLabelShort,\n\t\t\t\t\t\tsubItems: availableApplications.list,\n\t\t\t\t\t\tindicator: applicationIndicator,\n\t\t\t\t\t\tsideIcon: 'list-outline',\n\t\t\t\t\t\tsideIconRoute: {\n\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\tparams: {target: 'sys_scope_list.do'}\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttoolIcon: 'globe-outline'\n\t\t\t\t  }\n\t\t\t\t: {},\n\t\t\tshowUpdateSetPicker\n\t\t\t\t? {\n\t\t\t\t\t\tid: 'update-set',\n\t\t\t\t\t\tlabel: currentUpdateSetLabel,\n\t\t\t\t\t\tcurrent: currentUpdateSetLabelShort,\n\t\t\t\t\t\tsubItems: availableUpdateSets.updateSet,\n\t\t\t\t\t\tindicator: updateSetIndicator,\n\t\t\t\t\t\tsideIcon: 'list-outline',\n\t\t\t\t\t\tsideIconRoute: {\n\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\tparams: {target: 'sys_update_set_list.do'}\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttoolIcon: 'grid-three-outline'\n\t\t\t\t  }\n\t\t\t\t: {},\n\t\t\tshowEncryptionPicker\n\t\t\t\t? {\n\t\t\t\t\t\tid: 'encryption-contexts',\n\t\t\t\t\t\tlabel: currentEncryptionContextLabel,\n\t\t\t\t\t\tcurrent: currentEncryptionContextLabelShort,\n\t\t\t\t\t\tsubItems: availableEncryptionContexts.list,\n\t\t\t\t\t\ttoolIcon: 'lock-outline'\n\t\t\t\t  }\n\t\t\t\t: {}\n\t\t].filter((item) => !isEmpty(item))\n\t};\n};\n\n/**\n * Used to update the RECENT_CONCOURSE_PICKER_ITEMS user preference with a selected picker item from a scope picker. Called when the user selects an item in any given picker.\n * @param {*} selectedPickerItem\n */\nconst updateRecentSelections = (selectedPickerItem) => {\n\tconst {dispatch, userPreferences, currentApp, path} = selectedPickerItem;\n\t// get max length of recent items list for any given picker from user prefs\n\tconst maxSelectionLength = JSON.parse(\n\t\tgetPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.CONCOURSE_PICKER_MAX_RECENT_ITEMS,\n\t\t\t0\n\t\t)\n\t);\n\t// get data for all recently selected picker items from user pref. stored as a stringified JSON object\n\tconst recentSelectionsPreference = JSON.parse(\n\t\tgetPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.RECENT_CONCOURSE_PICKER_ITEMS,\n\t\t\t'{}'\n\t\t)\n\t);\n\t// get recently selected items data for current picker\n\tlet currentPickerItems =\n\t\trecentSelectionsPreference[selectedPickerItem.menuId] || [];\n\tlet newPickerItem = {}; // placeholder for newly selected picker item\n\n\t// if we are dealing with an update set, make sure we grab the right update set from c\n\tif (selectedPickerItem.menuId === 'update-set') {\n\t\tcurrentPickerItems = currentPickerItems[currentApp];\n\t}\n\n\t// get value of sys prop which defines if domain picker is enabled\n\tconst domainPickerEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED\n\t);\n\n\t// define new picker item entry which will get appended to the recent selections list\n\tif (\n\t\tselectedPickerItem.field === 'id' ||\n\t\t(domainPickerEnabled && selectedPickerItem.menuId === 'domain')\n\t) {\n\t\tnewPickerItem = {\n\t\t\tname: selectedPickerItem.name,\n\t\t\tid: selectedPickerItem.value,\n\t\t\tpath\n\t\t};\n\t} else {\n\t\tnewPickerItem = {\n\t\t\tname: selectedPickerItem.name,\n\t\t\tsysId: selectedPickerItem.value,\n\t\t\tpath\n\t\t};\n\t}\n\n\t// update recent selected item data for current picker with newItemSelection\n\tif (!currentPickerItems) {\n\t\t// if selected picker had no recently selected items, create new array of items.\n\t\tcurrentPickerItems = [newPickerItem];\n\t} else {\n\t\t// filter out any duplicates of the newItemSelection from current list of recent items before we add our new item to the recent items list\n\t\tif (\n\t\t\tselectedPickerItem.field === 'id' ||\n\t\t\t(domainPickerEnabled && selectedPickerItem.menuId === 'domain')\n\t\t) {\n\t\t\tcurrentPickerItems = currentPickerItems.filter(\n\t\t\t\t(pickerItem) => pickerItem.id !== selectedPickerItem.value\n\t\t\t);\n\t\t} else {\n\t\t\tcurrentPickerItems = currentPickerItems.filter(\n\t\t\t\t(pickerItem) => pickerItem.sysId !== selectedPickerItem.value\n\t\t\t);\n\t\t}\n\n\t\t// put newItemSelection at the start of the recently selected items list\n\t\tcurrentPickerItems.unshift(newPickerItem);\n\t}\n\n\t// trim recent items list so its less than or equal to maxSelectionLength\n\twhile (currentPickerItems.length > maxSelectionLength) {\n\t\tcurrentPickerItems.pop();\n\t}\n\n\t// update main recent items dataset with updated currentPickerItems list\n\tif (selectedPickerItem.menuId === 'update-set') {\n\t\tif (!recentSelectionsPreference[selectedPickerItem.menuId]) {\n\t\t\trecentSelectionsPreference[selectedPickerItem.menuId] = {};\n\t\t}\n\n\t\t// recent items for the 'update set' picker are stored by selected application\n\t\trecentSelectionsPreference[selectedPickerItem.menuId][\n\t\t\tcurrentApp\n\t\t] = currentPickerItems;\n\t} else {\n\t\t// update recent items list for selected picker\n\t\trecentSelectionsPreference[selectedPickerItem.menuId] = currentPickerItems;\n\t}\n\n\t// update user pref with updated recently selected items data\n\tdispatch(USER_PREF_UPDATED, {\n\t\tname: PREFERENCES.RECENT_CONCOURSE_PICKER_ITEMS,\n\t\tvalue: JSON.stringify(recentSelectionsPreference)\n\t});\n};\n\nexport default {\n\tname: 'COUNCOURSE_PICKER_BEHAVIOR',\n\tactionHandlers: {\n\t\t[CONCOURSE_PICKER_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {type, direct = false}\n\t\t\t\t},\n\t\t\t\tproperties: {userMeta, userSettingsAccess},\n\t\t\t\tstate: {\n\t\t\t\t\tcontextualMenu,\n\t\t\t\t\tcontextualMenuState,\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\tavailableEncryptionContexts,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tconcourseDataFetched\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (type === 'application' && !userSettingsAccess.showApplicationPicker)\n\t\t\t\t\treturn;\n\t\t\t\tif (type === 'update-set' && !userSettingsAccess.showUpdateSetPicker)\n\t\t\t\t\treturn;\n\t\t\t\tif (type === 'domain' && !userSettingsAccess.showDomainPicker) return;\n\n\t\t\t\tif (!concourseDataFetched) {\n\t\t\t\t\tdispatch(CONCOURSE_DATA_LISTS_REQUESTED);\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tconcourseDataFetched: true\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst openedMenus = contextualMenuState.hasBeenOpened;\n\t\t\t\tif (openedMenus.indexOf(CONCOURSE_PICKER_MENU_ID) === -1) {\n\t\t\t\t\topenedMenus.push(CONCOURSE_PICKER_MENU_ID);\n\t\t\t\t}\n\n\t\t\t\t// Toggle menu respective to whether it is currently open\n\t\t\t\tif (\n\t\t\t\t\tcontextualMenu.menuType !== CONCOURSE_PICKER_MENU_ID ||\n\t\t\t\t\ttype !== contextualMenu.menuData?.selectedPicker\n\t\t\t\t) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\tmenuType: CONCOURSE_PICKER_MENU_ID,\n\t\t\t\t\t\t\tshowMenu: true,\n\t\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t\tdirectPicker: direct,\n\t\t\t\t\t\t\t\tselectedPicker: type,\n\t\t\t\t\t\t\t\t...getConcoursePickerConfig({\n\t\t\t\t\t\t\t\t\tavailableApplications,\n\t\t\t\t\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\t\t\t\t\tavailableDomains,\n\t\t\t\t\t\t\t\t\tavailableEncryptionContexts,\n\t\t\t\t\t\t\t\t\tuserMeta,\n\t\t\t\t\t\t\t\t\tuserSettingsAccess\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\t\thasBeenOpened: openedMenus,\n\t\t\t\t\t\t\tprimaryMenuId: contextualMenuState.isMenuPinned\n\t\t\t\t\t\t\t\t? contextualMenuState.primaryMenuId\n\t\t\t\t\t\t\t\t: CONCOURSE_PICKER_MENU_ID,\n\t\t\t\t\t\t\tsecondaryMenuId: contextualMenuState.isMenuPinned\n\t\t\t\t\t\t\t\t? CONCOURSE_PICKER_MENU_ID\n\t\t\t\t\t\t\t\t: contextualMenuState.secondaryMenuId\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_OPEN_RECORD_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {target}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttarget\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_ITEM_SELECTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tdispatch,\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\theaderText,\n\t\t\t\t\t\t\tmenuData: {drilldownListItems, searchTerm, currentApplication}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tuserPreferences\n\t\t\t\t\t},\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tpicker,\n\t\t\t\t\t\t\titem: {name, label, sysId, id},\n\t\t\t\t\t\t\trootMenu\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst menuId = picker || rootMenu;\n\t\t\t\tconst menu = drilldownListItems.find((m) => m.id === menuId);\n\t\t\t\tconst field = !isEmpty(sysId) ? 'sysId' : 'id';\n\t\t\t\tconst value = !isEmpty(sysId) ? sysId : id;\n\t\t\t\tconst menuItem =\n\t\t\t\t\tdeepFind(menu, 'subItems', (m) => m[field] === value, true) || [];\n\n\t\t\t\tconst parents = menuItem?.parents;\n\t\t\t\tconst path =\n\t\t\t\t\tparents?.length > 1\n\t\t\t\t\t\t? parents.reduce(\n\t\t\t\t\t\t\t\t(acc, p, i) => (i > 1 ? acc + ' -> ' + p.label : p.label),\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t  ) + ` -> ${name || label}`\n\t\t\t\t\t\t: name || label;\n\t\t\t\tconst metadata = {\n\t\t\t\t\tmenuName: headerText,\n\t\t\t\t\tmenuGroup: menuId,\n\t\t\t\t\tname: !isEmpty(name) ? name : label,\n\t\t\t\t\tfilter: !isEmpty(searchTerm),\n\t\t\t\t\tquery: searchTerm ? searchTerm : '',\n\t\t\t\t\tpath\n\t\t\t\t};\n\n\t\t\t\ttrack(coeffects, METRICS.SELECT_SCOPE_MENU_ITEM, metadata);\n\n\t\t\t\tupdateRecentSelections({\n\t\t\t\t\tcurrentApplication,\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tmenuId,\n\t\t\t\t\tfield,\n\t\t\t\t\tvalue,\n\t\t\t\t\tname: !isEmpty(name) ? name : label,\n\t\t\t\t\tpath: parents?.length === 1 ? '' : path\n\t\t\t\t});\n\n\t\t\t\tif (menuId === 'application') {\n\t\t\t\t\tdispatch(APPLICATION_CHANGE_REQUESTED, {data: {app_id: sysId}});\n\t\t\t\t} else if (menuId === 'update-set') {\n\t\t\t\t\tdispatch(UPDATE_SET_CHANGE_REQUESTED, {data: {name, sysId}});\n\t\t\t\t} else if (menuId === 'domain') {\n\t\t\t\t\tdispatch(DOMAIN_CHANGE_REQUESTED, {data: {value: id}});\n\t\t\t\t} else if (menuId === 'encryption-contexts') {\n\t\t\t\t\tdispatch(ENCRYPTION_CHANGE_REQUESTED, {data: {id: sysId}});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_SEARCH_TEXT_ENTERED]: {\n\t\t\teffect: ({\n\t\t\t\tproperties: {contextualMenu},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {picker, searchTerm}\n\t\t\t\t},\n\t\t\t\tupdateProperties,\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tconst {menuData, headerText} = contextualMenu;\n\t\t\t\tconst {\n\t\t\t\t\tdrilldownListItems,\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tavailableEncryptionContexts\n\t\t\t\t} = menuData;\n\t\t\t\tlet filteredList;\n\t\t\t\tconst usedSearchTerm = (searchTerm?.length < 2 ? '' : searchTerm || '')\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.trim();\n\n\t\t\t\tdispatch(CONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED, {\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tmenuName: headerText,\n\t\t\t\t\t\tfilter: usedSearchTerm ? 'Yes' : 'No',\n\t\t\t\t\t\tquery: usedSearchTerm ? usedSearchTerm : undefined\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (picker === 'application') {\n\t\t\t\t\tfilteredList = availableApplications?.list.filter(({name}) =>\n\t\t\t\t\t\tname\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.includes(usedSearchTerm)\n\t\t\t\t\t);\n\t\t\t\t} else if (picker === 'update-set') {\n\t\t\t\t\tfilteredList = availableUpdateSets?.updateSet.filter(({name}) =>\n\t\t\t\t\t\tname\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.includes(usedSearchTerm)\n\t\t\t\t\t);\n\t\t\t\t} else if (picker === 'domain') {\n\t\t\t\t\t// Handle the domain reference picker special case\n\t\t\t\t\tif (\n\t\t\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED)\n\t\t\t\t\t) {\n\t\t\t\t\t\tdispatch(DOMAIN_SEARCH_REQUESTED, {\n\t\t\t\t\t\t\tsearch: searchTerm\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tfilteredList = executeFilter({\n\t\t\t\t\t\tmenu: {subItems: availableDomains.list},\n\t\t\t\t\t\tsearchTerm: usedSearchTerm\n\t\t\t\t\t})?.subItems;\n\t\t\t\t} else if (picker === 'encryption-contexts') {\n\t\t\t\t\tfilteredList = availableEncryptionContexts?.list.filter(({name}) =>\n\t\t\t\t\t\tname\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.includes(usedSearchTerm)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst firstItem = usedSearchTerm !== '' ? filteredList[0] : null;\n\n\t\t\t\tupdateProperties({\n\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t...menuData,\n\t\t\t\t\t\t\tsearchTerm: usedSearchTerm,\n\t\t\t\t\t\t\tfirstFilteredItem: firstItem,\n\t\t\t\t\t\t\tdrilldownListItems: drilldownListItems.map((item) =>\n\t\t\t\t\t\t\t\titem.id === picker ? {...item, subItems: filteredList} : item\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});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_SEARCH_INPUT_FOCUS_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {focus}\n\t\t\t\t},\n\t\t\t\tproperties: {contextualMenu},\n\t\t\t\tupdateProperties\n\t\t\t}) => {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\tinputHasFocus: focus\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_SEARCH_FILTER_MENU_EVENT_TRACKED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {metadata}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\ttrack(coeffects, METRICS.FILTER_MENU, metadata);\n\t\t\t},\n\t\t\tmodifier: {name: 'debounce', delay: 1000},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate: {contextualMenu},\n\t\t\t\t\taction: {payload}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst item = payload?.item;\n\n\t\t\t\tif (item?.id) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\tmenuData: {...contextualMenu.menuData, selectedPicker: item.id}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tconst metadata = {\n\t\t\t\t\t\tmenuName: contextualMenu?.headerText ?? '',\n\t\t\t\t\t\tmenuGroup: item.id,\n\t\t\t\t\t\tdefaultScope: !item.indicator\n\t\t\t\t\t};\n\t\t\t\t\ttrack(coeffects, METRICS.SELECT_SCOPE_MENU_GROUP, metadata);\n\t\t\t\t} else {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t\t...contextualMenu.menuData,\n\t\t\t\t\t\t\t\tselectedPicker: null,\n\t\t\t\t\t\t\t\tlastOpenPicker: contextualMenu.menuData.selectedPicker\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}\n\t\t\t}\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {getConfig} from './dynamicRoutingScript';\nimport cache from '../../utils/cache';\nimport {ROUTE_MAP_UPDATED} from '../../components/sn-polaris-layout/actions';\nimport {\n\tDYNAMIC_ROUTE_FETCH_REQUESTED,\n\tDYNAMIC_ROUTE_REQUESTED,\n\tDYNAMIC_ROUTE_SUCCEEDED,\n\tDYNAMIC_ROUTE_ERRORED,\n\tSEARCH_ROUTE_MAP_CACHE_PREFIX\n} from '../search-behavior/actions';\n\nconst query = `\nquery ($routeConfigId: String) {\n\tGlideUxDynamicRoute_Query {\n\t  dynamicRouteConfig(routeConfigId: $routeConfigId) {\n\t\tname,\n\t\tsys_id,\n\t\tmappingGroups {\n\t\t  table,\n\t\t  mappings {\n\t\t\tsource_key,\n\t\t\tpayload\n\t\t  }\n\t\t}\n\t  }\n\t}\n  }\n`;\n\nconst dynamicRouteEffect = createGraphQLEffect(query, {\n\tvariableList: ['routeConfigId'],\n\tsuccessActionType: DYNAMIC_ROUTE_SUCCEEDED,\n\terrorActionType: DYNAMIC_ROUTE_ERRORED\n});\n\nexport default {\n\tname: 'DYNAMIC_ROUTE_BEHAVIOR',\n\tactionHandlers: {\n\t\t[DYNAMIC_ROUTE_REQUESTED]: {\n\t\t\teffect: ({action, dispatch, properties}) => {\n\t\t\t\tconst {routeConfigId, postFn} = action.payload;\n\n\t\t\t\tif (!properties.isPolarisEnabled || !routeConfigId) {\n\t\t\t\t\tif (postFn) postFn({});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst routeMap = cache.get(\n\t\t\t\t\tSEARCH_ROUTE_MAP_CACHE_PREFIX + routeConfigId\n\t\t\t\t);\n\t\t\t\tif (routeMap) dispatch(ROUTE_MAP_UPDATED, routeMap);\n\t\t\t\telse dispatch(DYNAMIC_ROUTE_FETCH_REQUESTED, {routeConfigId}, {postFn});\n\t\t\t}\n\t\t},\n\t\t[DYNAMIC_ROUTE_FETCH_REQUESTED]: dynamicRouteEffect,\n\t\t[DYNAMIC_ROUTE_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload,\n\t\t\t\t\tmeta: {postFn, options}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tlet routeMap = {};\n\t\t\t\tconst {routeConfigId} = options.variables;\n\n\t\t\t\ttry {\n\t\t\t\t\tif (payload.errors.length > 0) routeMap = {};\n\t\t\t\t\telse {\n\t\t\t\t\t\trouteMap = getConfig(payload);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (routeMap) {\n\t\t\t\t\t\tcache.set(SEARCH_ROUTE_MAP_CACHE_PREFIX + routeConfigId, routeMap, {\n\t\t\t\t\t\t\tcurrentSession: true\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(ROUTE_MAP_UPDATED, routeMap);\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tcache.set(SEARCH_ROUTE_MAP_CACHE_PREFIX + routeConfigId, routeMap, {\n\t\t\t\t\t\tcurrentSession: true\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(ROUTE_MAP_UPDATED, {});\n\t\t\t\t}\n\n\t\t\t\tif (postFn) postFn(routeMap);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[DYNAMIC_ROUTE_ERRORED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tmeta: {postFn}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tdispatch(ROUTE_MAP_UPDATED, {});\n\t\t\t\tif (postFn) postFn({});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","// Get the route maps from the associated route config\nconst getMapping = (mappingGroup, resultMap) => {\n\tvar mappings = mappingGroup.mappings;\n\tvar table = mappingGroup.table;\n\n\t// there has to be a table (null value for default) and a payload to map to.\n\tif (!table || !mappings) return '';\n\n\tmappings.forEach(function(mapping) {\n\t\tvar map = {};\n\t\tvar source_component = mapping.source_key;\n\n\t\t// If there is a table value passed in, build a map object that has the table's name as key,\n\t\t// and payload under it.\n\t\tmap[source_component] = {\n\t\t\tpayload: mapping.payload\n\t\t};\n\t\t// Now add the table map, or default payload to the source_component (matches elementId in event)\n\t\t// object.\n\t\t// If the elementId object already exists, add to it to support multiple table definitions; otherwise create it.\n\t\tif (resultMap[table])\n\t\t\tresultMap[table][source_component] = map[source_component];\n\t\telse resultMap[table] = map;\n\t});\n\treturn resultMap;\n};\n\n// Get the route configs from the associated query\nexport const getConfig = (gql) => {\n\tvar result = {};\n\tvar mappingGroups =\n\t\tgql?.data?.GlideUxDynamicRoute_Query?.dynamicRouteConfig?.mappingGroups ??\n\t\t[];\n\t// Handle multiple config records if there are any passed in.\n\tmappingGroups.forEach(function(mappingGroup) {\n\t\tresult = getMapping(mappingGroup, result);\n\t});\n\treturn result;\n};\n","export const OPENFRAME_BEHAVIOR_CHECK_CONFIG =\n\t'OPENFRAME_BEHAVIOR#CHECK_CONFIG';\nexport const OPENFRAME_BEHAVIOR_OPEN_WINDOW = 'OPENFRAME_BEHAVIOR#OPEN_WINDOW';\nexport const OPENFRAME_BEHAVIOR_SET_REF = 'OPENFRAME_BEHAVIOR#SET_REF';\nexport const OPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD =\n\t'OPENFRAME_BEHAVIOR#OPEN_WINDOW_FROM_KEYBOARD';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_overlay_28_0_17_polaris_0_index_jsdbx_9e54dee3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"findTabbableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__.__esModule\n\t\t\t\t\tif (cjsModule && 'findTabbableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"].findTabbableNodes;\n\t\t\t\t\t} else if ('findTabbableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__.findTabbableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_17_polaris_0_index_jsdbx_f9bb5c28__[\"default\"].findTabbableNodes;\n\t\t\t\t} });","import {findTabbableNodes} from '@servicenow/library-enhanced-utils';\nimport {CLOSE_MENUS} from '../../components/sn-polaris-layout/actions';\n\nconst handleTab = ({\n\tallTabbableElements,\n\tpath,\n\tevent,\n\tcloseMenuAction,\n\tdispatch\n}) => {\n\tconst target = path[0];\n\n\t// List of components that, if opened by a contextual menu, should trap focus\n\tconst focusedTrappedComponents = [\n\t\t'NOW-MODAL',\n\t\t'NOW-POPOVER-PANEL',\n\t\t'NOW-MODELESS-DIALOG'\n\t];\n\n\t// Checking if path contains any of the focusedTrappedComponents\n\tconst focusTrappedTab = path.some((node) =>\n\t\tfocusedTrappedComponents.includes(node.tagName)\n\t);\n\n\tif (!focusTrappedTab) {\n\t\tconst currentElementIndex = allTabbableElements.indexOf(target);\n\n\t\tconst isFocusUpFromFirstEl = currentElementIndex === 0 && event.shiftKey;\n\t\tconst isFocusDownFromLastEl =\n\t\t\tcurrentElementIndex === allTabbableElements.length - 1 && !event.shiftKey;\n\n\t\tif (isFocusUpFromFirstEl || isFocusDownFromLastEl) {\n\t\t\tevent.preventDefault();\n\n\t\t\tdispatch(closeMenuAction, {\n\t\t\t\tclosedByKeyboard: true\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleUpDownArrows = ({allTabbableElements, path, event}) => {\n\tevent.preventDefault();\n\n\t// Find only the tabbable elements that we care about\n\t// This is relatively fast enough to run each time rather than\n\t// having to cache the list + handle updating whenever\n\t// some menu below gets expanded/collapsed or a menu item\n\t// gets undeferred\n\tconst tabbableElements = allTabbableElements.filter((n) =>\n\t\tn.classList?.contains('keyboard-navigatable')\n\t);\n\n\tconst currentItem = path.find((a) =>\n\t\ta.classList?.contains('keyboard-navigatable')\n\t);\n\n\tconst currentElementIndex = tabbableElements.indexOf(currentItem);\n\n\tlet nextItem = tabbableElements[0];\n\n\tif (currentElementIndex > -1) {\n\t\tnextItem =\n\t\t\tevent.key === 'ArrowDown'\n\t\t\t\t? currentElementIndex + 1\n\t\t\t\t: currentElementIndex - 1;\n\t}\n\n\ttabbableElements[nextItem]?.focus();\n};\n\nconst handleLeftRightArrows = ({allTabbableElements, path, event}) => {\n\tevent.preventDefault();\n\n\tconst tabbableElements = allTabbableElements.filter((n) =>\n\t\tn.classList?.contains('keyboard-navigatable')\n\t);\n\n\tconst currentItem = path.find((a) =>\n\t\ta.classList?.contains('keyboard-navigatable')\n\t);\n\n\tconst itemParent = currentItem.parentNode;\n\tlet nextItem = tabbableElements[0];\n\n\tconst currentElementIndex = tabbableElements.indexOf(currentItem);\n\tif (currentElementIndex > -1) {\n\t\tnextItem =\n\t\t\tevent.key === 'ArrowRight'\n\t\t\t\t? currentElementIndex + 1\n\t\t\t\t: currentElementIndex - 1;\n\t}\n\n\tconst isCollapsibleList = currentItem.classList?.contains(\n\t\t'snf-collapsible-list-header-button'\n\t);\n\n\t// if the path only has one occurence of snf-collapsible-list, then this item must be at the highest level of collapsible list (not nested)\n\tconst isRoot =\n\t\tpath.filter((a) => a.classList?.contains('snf-collapsible-list')).length ===\n\t\t\t1 && isCollapsibleList; // nodes without any parents\n\tconst isCollapsed = itemParent.classList.contains('is-collapsed');\n\tconst isEndNode = !isCollapsibleList; // nodes without any children\n\tconst isChildNode = !isRoot;\n\n\tif (event.key === 'ArrowRight' && !isEndNode) {\n\t\tif (isCollapsed) {\n\t\t\t// open the collapsed list + do not change focus\n\t\t\titemParent.click();\n\t\t} else {\n\t\t\t// move focus to first child node\n\t\t\ttabbableElements[nextItem]?.focus();\n\t\t}\n\t} else if (event.key === 'ArrowLeft') {\n\t\tif (!isCollapsed) {\n\t\t\t// collapse the node if it is open\n\t\t\titemParent.click();\n\t\t}\n\t\t// if node is child, and is also either end or closed, move focus to parent\n\t\tif (isChildNode && (isEndNode || isCollapsed)) {\n\t\t\tconst currentItemContainerIndex = path.indexOf(itemParent);\n\t\t\tconst parent = path\n\t\t\t\t.slice(currentItemContainerIndex)\n\t\t\t\t.find((n) => n.classList?.contains('snf-collapsible-list-holder'))\n\t\t\t\t?.previousSibling?.firstChild;\n\t\t\tparent?.focus();\n\t\t}\n\t}\n};\n\nconst handleHome = ({allTabbableElements, event}) => {\n\tevent.preventDefault();\n\n\tallTabbableElements[0].focus();\n\n\tconst firstMenuItem = allTabbableElements.find(\n\t\t(n) => n.classList?.contains('keyboard-navigatable') && n.id !== 'filter'\n\t);\n\tfirstMenuItem?.scrollIntoView({behavior: 'smooth'});\n};\n\nconst handleEnd = ({allTabbableElements, event}) => {\n\tevent.preventDefault();\n\tconst lastMenuItem = allTabbableElements.findLast((n) =>\n\t\tn.classList?.contains('keyboard-navigatable')\n\t);\n\tlastMenuItem?.focus({preventScroll: true});\n\tallTabbableElements[allTabbableElements.length - 1].scrollIntoView({\n\t\tbehavior: 'smooth'\n\t});\n};\n\nexport const keyboardNavigationEffect = ({\n\taction: {\n\t\tpayload: {event, host}\n\t},\n\tstate: {\n\t\tproperties: {\n\t\t\tmenuState: {pinnedMenuId},\n\t\t\tmenuProperties,\n\t\t\tmenu\n\t\t},\n\t\tcloseMenuAction\n\t},\n\tdispatch\n}) => {\n\t// We're only handling up/down/tab/left/right\n\tif (\n\t\t![\n\t\t\t'ArrowDown',\n\t\t\t'ArrowUp',\n\t\t\t'ArrowLeft',\n\t\t\t'ArrowRight',\n\t\t\t'Tab',\n\t\t\t'Escape',\n\t\t\t'Home',\n\t\t\t'End'\n\t\t].includes(event.key)\n\t)\n\t\treturn;\n\n\tconst menuId = menuProperties ? menuProperties.menuType : menu.id;\n\n\tif (event.key === 'Escape' && menuId !== pinnedMenuId)\n\t\tdispatch(CLOSE_MENUS, {closedByKeyboard: true});\n\n\tconst allTabbableElements = findTabbableNodes(host);\n\n\tconst path = event.composedPath() || [];\n\n\tif (event.key === 'Tab' && menuId !== pinnedMenuId) {\n\t\thandleTab({\n\t\t\tallTabbableElements,\n\t\t\tpath,\n\t\t\tevent,\n\t\t\tcloseMenuAction,\n\t\t\tdispatch\n\t\t});\n\t}\n\n\t// when input or textarea is the target, let default behavior occur\n\tconst target = path[0];\n\tconst isInput =\n\t\ttarget?.tagName === 'INPUT' ||\n\t\ttarget?.tagName === 'TEXTAREA' ||\n\t\ttarget?.isContentEditable;\n\n\tif (event.key.includes('Arrow')) {\n\t\tif (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {\n\t\t\tif (!isInput) {\n\t\t\t\thandleLeftRightArrows({\n\t\t\t\t\tallTabbableElements,\n\t\t\t\t\tpath,\n\t\t\t\t\tevent\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\thandleUpDownArrows({\n\t\t\t\tallTabbableElements,\n\t\t\t\tpath,\n\t\t\t\tevent\n\t\t\t});\n\t\t}\n\t}\n\n\tif (event.key === 'Home' && !isInput) {\n\t\thandleHome({allTabbableElements, event});\n\t}\n\n\tif (event.key === 'End' && !isInput) {\n\t\thandleEnd({allTabbableElements, event});\n\t}\n};\n\nexport default {\n\tname: 'MENU_KEYBOARD_NAV',\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: keyboardNavigationEffect\n\t\t}\n\t]\n};\n","import '@servicenow/now-icon';\nimport {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {isEmpty} from 'lodash';\n\nimport {\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {MENU_FAVORITES} from '../../../constants';\nimport {TOGGLE_WIDE_MENU} from '../../sn-polaris-layout/actions';\nimport {SHOW_MENU_ITEM_TOOLTIP} from '../actions';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\n\nexport const PinButton = ({\n\tmenu,\n\tmenuState,\n\tpinEventName,\n\tisPrimary,\n\tisWideMenu,\n\tdir,\n\tanimationsEnabled,\n\tdispatch,\n\tisAllMenuEditorEnabled\n}) => {\n\tconst currentMenuPinned = menuState.pinnedMenuId === menu?.id && isPrimary;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<button\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\tpin: true,\n\t\t\t\t\t'is-pinned': currentMenuPinned,\n\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\tfavorites: menu?.id === MENU_FAVORITES && !isEmpty(menu?.subItems),\n\t\t\t\t\t'three-button': isAllMenuEditorEnabled === true\n\t\t\t\t}}\n\t\t\t\taria-label={\n\t\t\t\t\tcurrentMenuPinned\n\t\t\t\t\t\t? t('Unpin {0} menu', menu.label)\n\t\t\t\t\t\t: t('Pin {0} menu', menu.label)\n\t\t\t\t}\n\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\tdispatch(pinEventName, {\n\t\t\t\t\t\tisPrimary: isPrimary,\n\t\t\t\t\t\tisWideMenu: isWideMenu || false,\n\t\t\t\t\t\tprimaryMenuId: menuState.primaryMenuId,\n\t\t\t\t\t\tsecondaryMenuId: menuState.secondaryMenuId,\n\t\t\t\t\t\tdoPinning: currentMenuPinned ? false : true\n\t\t\t\t\t});\n\n\t\t\t\t\tdispatch(SHOW_MENU_ITEM_TOOLTIP, {\n\t\t\t\t\t\ttarget: e.target,\n\t\t\t\t\t\tlabel: !currentMenuPinned\n\t\t\t\t\t\t\t? t('Unpin {0} menu', menu.label)\n\t\t\t\t\t\t\t: t('Pin {0} menu', menu.label),\n\t\t\t\t\t\tlocation: 'bottom-center'\n\t\t\t\t\t});\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t})}\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\tif (menuState.pinnedThroughUI && currentMenuPinned) elm.focus();\n\t\t\t\t}}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch,\n\t\t\t\t\t'bottom-center'\n\t\t\t\t)}>\n\t\t\t\t<now-icon\n\t\t\t\t\tkey=\"pinIcon\"\n\t\t\t\t\tclassName=\"pinned-icon\"\n\t\t\t\t\ticon={currentMenuPinned ? 'thumbtack-fill' : 'thumbtack-outline'}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t/>\n\t\t\t<\/button>\n\t\t\t<span className=\"now-a11y-label\">\n\t\t\t\t{currentMenuPinned ? (\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'The {0} menu is pinned to the side of the browser window.',\n\t\t\t\t\t\t\tmenu.label\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/span>\n\t\t\t\t) : (\n\t\t\t\t\t<span />\n\t\t\t\t)}\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const PopoutButton = ({menu, dir, dispatch, isWideMenu}) => {\n\tconst basePanelIcon =\n\t\tdir === 'rtl' ? 'panel-display-left' : 'panel-display-right';\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\tpopout: true\n\t\t\t}}>\n\t\t\t<button\n\t\t\t\tid=\"wideMenuToggleButton\"\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\treversed: dir === 'rtl'\n\t\t\t\t}}\n\t\t\t\taria-label={\n\t\t\t\t\tisWideMenu\n\t\t\t\t\t\t? t('Narrow {0} menu', menu.label)\n\t\t\t\t\t\t: t('Widen {0} menu', menu.label)\n\t\t\t\t}\n\t\t\t\ton-click={() =>\n\t\t\t\t\tdispatch(TOGGLE_WIDE_MENU, {\n\t\t\t\t\t\tmenu\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}>\n\t\t\t\t{isWideMenu ? (\n\t\t\t\t\t<now-icon icon={`${basePanelIcon}-collapse-outline`} size=\"md\" />\n\t\t\t\t) : (\n\t\t\t\t\t<now-icon icon={`${basePanelIcon}-expand-outline`} size=\"md\" />\n\t\t\t\t)}\n\t\t\t<\/button>\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-icon';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\nimport {CONTEXTUAL_MENU_PINNED} from '../../../sn-polaris-layout/actions';\nimport {CONTEXT_MENU_HEADER_TYPES} from '../../../../behaviors/utility-menu-behavior/actions';\nimport {\n\tPinButton,\n\tPopoutButton\n} from '../../../sn-polaris-menu/fragments/button-fragments';\nimport createInteractionHandlers from '../../../../utils/createInteractionHandlers';\nimport {NOTIFICATIONS_LAST_VIEWED_KEY} from '../../../../behaviors/notification-behavior/constants';\nimport cache from '../../../../utils/cache';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\n\n/**\n * host key press handler used to listen for RSC key to close menu\n *\n * @param {*} dispatch\n */\nconst handleKeyDown = (dispatch, closeMenuAction) => (e) => {\n\tif (e.key === 'Escape') {\n\t\tdispatch(closeMenuAction, {\n\t\t\tclosedByKeyboard: true\n\t\t});\n\t}\n};\n\n/**\n * Draws the little arrow on top of the menu\n */\nconst TopArrow = () => {\n\treturn (\n\t\t<div className=\"contextual-menu-top\">\n\t\t\t<div className=\"left\" />\n\t\t\t<div className=\"center\" />\n\t\t\t<div className=\"right\" />\n\t\t<\/div>\n\t);\n};\n\n/**\n * Draw the header of the contextual menu based on CONTEXT_MENU_HEADER_TYPES\n */\nconst MenuHeader = ({\n\tmenuProperties,\n\tmenuState,\n\tisPrimary,\n\tdispatch,\n\tanimationsEnabled,\n\tdir\n}) => {\n\tconst headers = [];\n\tconst {\n\t\theaderType = CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\tcanBePinned = false,\n\t\tcanToggleWideMenu = false,\n\t\theaderButtonsConfig = []\n\t} = menuProperties;\n\tconst isWideMenu = menuProperties.wideMenu || false;\n\t// define text header markup\n\theaders[CONTEXT_MENU_HEADER_TYPES.TEXT] = (\n\t\t<div className=\"contextual-menu-header\">\n\t\t\t<div className=\"text-header-area\" aria-live=\"assertive\">\n\t\t\t\t<slot name=\"header-text\" />\n\t\t\t\t{headerButtonsConfig.map(\n\t\t\t\t\t({icon, id, action, payload, label, tooltipContent}) => (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\t\t[id]: true\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-label={label}\n\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\trequestIdleCallback(() =>\n\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t{...createInteractionHandlers(() => dispatch(action, payload))}\n\t\t\t\t\t\t\tdata-id={`contextual-menu-header-${id}`}\n\t\t\t\t\t\t\tdata-tooltip={tooltipContent}\n\t\t\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<now-icon icon={icon} size=\"md\" />\n\t\t\t\t\t\t<\/button>\n\t\t\t\t\t)\n\t\t\t\t)}\n\t\t\t\t{canToggleWideMenu ? (\n\t\t\t\t\t<PopoutButton\n\t\t\t\t\t\tmenu={{\n\t\t\t\t\t\t\tlabel: menuProperties.label,\n\t\t\t\t\t\t\tid: menuProperties.menuType\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tisWideMenu={isWideMenu}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{canBePinned ? (\n\t\t\t\t\t<PinButton\n\t\t\t\t\t\tmenu={{\n\t\t\t\t\t\t\tlabel: menuProperties.label,\n\t\t\t\t\t\t\tid: menuProperties.menuType\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tmenuState={menuState}\n\t\t\t\t\t\tpinEventName={CONTEXTUAL_MENU_PINNED}\n\t\t\t\t\t\tisPrimary={isPrimary}\n\t\t\t\t\t\tisWideMenu={isWideMenu}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t\t<hr aria-hidden=\"true\" />\n\t\t<\/div>\n\t);\n\n\t// define empty header markup (or lack of markup)\n\theaders[CONTEXT_MENU_HEADER_TYPES.NONE] = '';\n\n\treturn headers[headerType];\n};\n\n/**\n * Draw menu body and slot where menu content will be slotted into\n */\nconst MenuBody = () => {\n\treturn (\n\t\t<div className=\"contextual-menu-content\">\n\t\t\t<slot name=\"menu-content\" />\n\t\t<\/div>\n\t);\n};\n\n/**\n * Draw full Contextual Menu\n */\nexport default (\n\t{\n\t\tproperties: {\n\t\t\treversed,\n\t\t\topened,\n\t\t\tisPolarisEnabled,\n\t\t\tisPrimary,\n\t\t\tmenuProperties,\n\t\t\tmenuState,\n\t\t\tcontextualMenu,\n\t\t\tmenuIndex,\n\t\t\tanimationsEnabled,\n\t\t\tdir,\n\t\t\tshouldAlwaysRender\n\t\t},\n\t\tcloseMenuAction\n\t},\n\t{dispatch}\n) => {\n\tif (!opened && !shouldAlwaysRender) return null;\n\n\tif (\n\t\tmenuState.primaryMenuId === 'notifications' ||\n\t\tmenuState.secondaryMenuId === 'notifications'\n\t) {\n\t\tcache.set(NOTIFICATIONS_LAST_VIEWED_KEY, new Date().toString(), {\n\t\t\tttl: Number.MAX_SAFE_INTEGER\n\t\t});\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"polaris-contextual-menu\"\n\t\t\taria-label={`${menuProperties.label}`}\n\t\t\tinert={!opened}\n\t\t\ton-keydown={handleKeyDown(dispatch, closeMenuAction)}\n\t\t\tclass={{\n\t\t\t\t[menuProperties?.menuType]: menuProperties?.menuType,\n\t\t\t\t[contextualMenu?.drilledMenu?.id || 'undrilled']: true,\n\t\t\t\t'wide-menu':\n\t\t\t\t\t(menuProperties?.wideMenu &&\n\t\t\t\t\t\tmenuProperties?.menuType !== 'overflowMenu') ||\n\t\t\t\t\t(menuProperties?.menuType === 'overflowMenu' &&\n\t\t\t\t\t\tcontextualMenu?.drilledMenu?.menuConfig?.menuProperties?.wideMenu),\n\t\t\t\treversed: reversed,\n\t\t\t\t'is-contextual-menu-pinned':\n\t\t\t\t\tmenuState.isMenuPinned &&\n\t\t\t\t\tmenuState.canBePinned &&\n\t\t\t\t\tisPolarisEnabled &&\n\t\t\t\t\tmenuState.pinnedMenuId === menuProperties?.menuType,\n\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t'can-be-pinned': menuState.canBePinned,\n\t\t\t\t'is-visible': opened,\n\t\t\t\t'polaris-enabled': isPolarisEnabled,\n\t\t\t\t'keyboard-navigatable': opened\n\t\t\t}}>\n\t\t\t{/* top curves and arrow */}\n\t\t\t<TopArrow />\n\n\t\t\t{/* menu body (Everything between the top arrow and bottom corners) */}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'contextual-menu-body': true,\n\t\t\t\t\t'polaris-enabled': isPolarisEnabled,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}>\n\t\t\t\t<MenuHeader\n\t\t\t\t\tisPrimary={isPrimary}\n\t\t\t\t\tmenuProperties={menuProperties}\n\t\t\t\t\tmenuState={menuState}\n\t\t\t\t\tmenuIndex={menuIndex}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t/>\n\n\t\t\t\t<MenuBody />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {unschedule} from '@servicenow/now-tooltip';\nimport {isNil} from 'lodash';\nimport {handleFocusFirstNode} from '@servicenow/behavior-focus';\n\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_DISCONNECTED} = actionTypes;\n\nimport {\n\tMETRICS,\n\tNAV_ITEM_SELECTED,\n\tOVERLAY_BEHAVIOR_OPENED_SET,\n\tBUTTON_ACTIONS,\n\tUTILITY_OVERFLOW_MENU_ID,\n\tPOLARIS_CONTEXT,\n\tCLASSIC\n} from '../../../../constants';\nimport {SCREEN_CONTENT_LINK_ITEM_SELECTED} from '../../actions';\nimport track from '../../../../utils/track';\nimport {NOTIFICATIONS_LAST_VIEWED_KEY} from '../../../../behaviors/notification-behavior/constants';\nimport {UNREAD_NOTIFICATIONS_COUNT_SET} from '../../../../behaviors/notification-behavior/actions';\nimport {\n\tCONTEXTUAL_MENU_PINNED,\n\tCLOSE_CONTEXTUAL_MENU\n} from '../../../sn-polaris-layout/actions';\nimport cache from '../../../../utils/cache';\n\nconst MoveTopArrow = ({host, properties, utilityMenuButton}) => {\n\tif (isNil(utilityMenuButton)) {\n\t\treturn;\n\t}\n\n\tconst menuTopElem = host.shadowRoot.querySelectorAll(\n\t\t'.contextual-menu-top'\n\t)[0];\n\n\tif (\n\t\tproperties.menuState.isMenuPinned &&\n\t\tproperties.menuState.canBePinned &&\n\t\tproperties.menuProperties.menuType === properties.menuState.primaryMenuId\n\t) {\n\t\tmenuTopElem.style.gridTemplateColumns = 'auto auto auto';\n\t} else {\n\t\tconst selfRef = host.shadowRoot.querySelectorAll(\n\t\t\t'.contextual-menu-body'\n\t\t)[0];\n\t\tconst menuContainer = selfRef.getBoundingClientRect();\n\t\tconst buttonRect = {\n\t\t\twidth: utilityMenuButton.offsetWidth,\n\t\t\tx:\n\t\t\t\tproperties.isPrimary && !properties.menuState.barMenuId\n\t\t\t\t\t? properties.menuUnpinnedLeft\n\t\t\t\t\t: utilityMenuButton.offsetLeft\n\t\t};\n\t\tconst containerRight = menuContainer.x + menuContainer.width;\n\t\tconst buttonRight = buttonRect.x + buttonRect.width;\n\n\t\tif (properties.menuState.barMenuId) {\n\t\t\tconst halfMiddleColWidth = 9;\n\t\t\tconst newRight = properties.reversed\n\t\t\t\t? buttonRect.x -\n\t\t\t\t  menuContainer.x +\n\t\t\t\t  buttonRect.width / 2 -\n\t\t\t\t  halfMiddleColWidth\n\t\t\t\t: containerRight -\n\t\t\t\t  buttonRight +\n\t\t\t\t  buttonRect.width / 2 -\n\t\t\t\t  halfMiddleColWidth;\n\t\t\tmenuTopElem.style.gridTemplateColumns = `auto 1.125rem ${newRight}px`;\n\t\t} else {\n\t\t\tconst newRight = containerRight - buttonRight + 6;\n\n\t\t\tmenuTopElem.style.gridTemplateColumns = properties.reversed\n\t\t\t\t? `${newRight}px 1.125rem auto`\n\t\t\t\t: `auto 1.125rem ${newRight}px`;\n\t\t}\n\t}\n};\n\nconst moveContextualMenu = (host, state, canAnimate) => {\n\tconst {properties} = state;\n\tconst {menuContainerRef, menuState, menuProperties, isPrimary} = properties;\n\n\t// if no menus are visible, return early and be done.\n\tif (menuState.primaryMenuId === null && menuState.secondaryMenuId === null)\n\t\treturn;\n\n\tconst pinnedMenuLeftMargin = 12; // margin between pinned menu and unpinned menu. This matches the margin in the header for the top nav and is needed for aligning the menu properly to the nav tabs.\n\tconst isRTL = document.dir === 'rtl';\n\tconst hostElement = host.shadowRoot.querySelector(\n\t\t'div.polaris-contextual-menu'\n\t);\n\n\tif (!hostElement) return;\n\n\tlet utilityMenuButton = menuContainerRef.current?.querySelector(\n\t\t`.${menuProperties.buttonId}`\n\t);\n\n\t// Anchor contextual menu to the utility bar if the menu lives there.\n\tif (menuState.barMenuId) {\n\t\tutilityMenuButton = menuState.utilityBarRef.current?.querySelector(\n\t\t\t`#utility-bar-${menuState.barMenuId}`\n\t\t);\n\t}\n\n\tconst defaultMenuWidth = menuState.pinnedMenuWidth;\n\tconst windowWidth = document.body.offsetWidth;\n\n\t// toggle animations on/off as needed\n\tif (canAnimate && !hostElement?.classList.contains('can-animate')) {\n\t\thostElement?.classList.add('can-animate');\n\t} else if (!canAnimate && hostElement?.classList.contains('can-animate')) {\n\t\thostElement?.classList.remove('can-animate');\n\t}\n\n\t// if this the pinned menu, set menu location and be done\n\tif (isPrimary && menuState.isMenuPinned && menuState.canBePinned) {\n\t\tif (isRTL) {\n\t\t\thostElement.style.left = '0px';\n\t\t} else {\n\t\t\thostElement.style.right = '0px';\n\t\t}\n\t\treturn;\n\t}\n\n\tif (utilityMenuButton) {\n\t\t// find dimension of the menu item in the top navigation which this menu and it's tab must align themselves up with\n\t\tconst itemRect = {\n\t\t\twidth: utilityMenuButton.offsetWidth,\n\t\t\tx:\n\t\t\t\tisPrimary && !menuState.barMenuId\n\t\t\t\t\t? properties.menuUnpinnedLeft\n\t\t\t\t\t: utilityMenuButton.offsetLeft\n\t\t};\n\t\tconst itemWidth = Math.floor(itemRect.width);\n\t\tconst itemLeft = itemRect.x;\n\t\tconst itemRight = itemRect.x + itemRect.width;\n\t\tlet newMenuStart = 0;\n\n\t\tif (isRTL) {\n\t\t\tnewMenuStart = itemLeft - defaultMenuWidth / 2 + itemWidth / 2;\n\t\t} else {\n\t\t\tnewMenuStart =\n\t\t\t\twindowWidth - defaultMenuWidth / 2 - (itemRight - itemWidth / 2);\n\t\t}\n\n\t\t// if the menu is going to be offscreen, bring it back in\n\t\tif (isPrimary && newMenuStart < 0) {\n\t\t\tnewMenuStart = 0;\n\t\t} else if (!isPrimary && newMenuStart < defaultMenuWidth) {\n\t\t\tnewMenuStart = defaultMenuWidth + pinnedMenuLeftMargin;\n\t\t}\n\n\t\t// move menu body to new location\n\t\tif (isRTL) {\n\t\t\thostElement.style.left = `${newMenuStart}px`;\n\t\t} else {\n\t\t\thostElement.style.right = `${newMenuStart}px`;\n\t\t}\n\n\t\tif (menuState.barMenuId) {\n\t\t\thostElement?.classList.add('is-bar-menu');\n\t\t}\n\t}\n\n\tMoveTopArrow({host, properties, utilityMenuButton});\n};\n\nconst handleMenuStateChange = (host, state, properties) => {\n\tconst {menuState, isPolarisEnabled} = properties;\n\tconst navElement = host.shadowRoot.querySelector(\n\t\t'div.polaris-contextual-menu'\n\t);\n\n\tif (!navElement) return; // means that menu has never been opened so there is no content to place yet\n\n\tconst animationsEnabled = navElement.classList.contains('can-animate');\n\n\t// if current menu is one of the open menus, update its visual state\n\tif (\n\t\tmenuState.primaryMenuId === properties.menuProperties.menuType ||\n\t\tmenuState.secondaryMenuId === properties.menuProperties.menuType\n\t) {\n\t\tif (isPolarisEnabled) {\n\t\t\tmoveContextualMenu(host, state, false);\n\t\t}\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tif (animationsEnabled && isPolarisEnabled) {\n\t\t\t\tnavElement.classList.add('can-animate');\n\t\t\t}\n\t\t\tnavElement.classList.add('is-visible');\n\t\t});\n\t} else {\n\t\tnavElement.classList.remove('is-visible');\n\t}\n};\n\nconst handleNotificationsMenuOpen = (dispatch) => {\n\tcache.set(NOTIFICATIONS_LAST_VIEWED_KEY, new Date().toString(), {\n\t\tttl: Number.MAX_SAFE_INTEGER\n\t});\n\tdispatch(UNREAD_NOTIFICATIONS_COUNT_SET, {\n\t\tunreadCount: 0\n\t});\n};\n\nconst handlePropertyChange = (coeffects) => {\n\tconst {host, state, action, properties, dispatch} = coeffects;\n\tconst {menuContainerRef, menuProperties, menuState} = properties;\n\tconst {name, value} = action.payload;\n\n\tswitch (name) {\n\t\tcase 'menuUnpinnedLeft':\n\t\tcase 'menuProperties':\n\t\tcase 'menuState': {\n\t\t\thandleMenuStateChange(host, state, properties);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'opened': {\n\t\t\tif (value) {\n\t\t\t\tif (\n\t\t\t\t\tmenuState.primaryMenuId === 'notifications' ||\n\t\t\t\t\tmenuState.secondaryMenuId === 'notifications'\n\t\t\t\t) {\n\t\t\t\t\thandleNotificationsMenuOpen(dispatch);\n\t\t\t\t}\n\n\t\t\t\tdispatch('CONTEXTUAL_MENU_CONTENT_FOCUSED');\n\t\t\t} else {\n\t\t\t\tconst utilityMenuButton = menuState.barMenuId\n\t\t\t\t\t? menuState.utilityBarRef.current?.querySelector(\n\t\t\t\t\t\t\t`#utility-bar-${menuState.barMenuId}`\n\t\t\t\t\t  )\n\t\t\t\t\t: menuContainerRef.current.querySelector(\n\t\t\t\t\t\t\t`.${menuProperties.buttonId}`\n\t\t\t\t\t  );\n\t\t\t\tconst isContextualMenuClosed =\n\t\t\t\t\t(!menuState.isMenuPinned && menuState.primaryMenuId === null) ||\n\t\t\t\t\t(menuState.isMenuPinned &&\n\t\t\t\t\t\tmenuState.canBePinned &&\n\t\t\t\t\t\tmenuState.secondaryMenuId === null);\n\t\t\t\tif (utilityMenuButton && isContextualMenuClosed) {\n\t\t\t\t\tif (menuState.closedByKeyboard) {\n\t\t\t\t\t\tutilityMenuButton.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nconst handleFirstLoad = (coeffects) => {\n\tconst {host, properties, state, dispatch} = coeffects;\n\tconst {menuState, menuProperties, isPolarisEnabled} = properties;\n\tconst isActivePrimaryMenu =\n\t\tmenuState.primaryMenuId === menuProperties.menuType;\n\tconst isMenuPinned = menuState.isMenuPinned && isActivePrimaryMenu;\n\tconst isOverflow = menuState.primaryMenuId === UTILITY_OVERFLOW_MENU_ID;\n\n\tif (isMenuPinned && menuProperties.menuType !== 'userMenu') {\n\t\tconst navElement = host.shadowRoot.querySelector(\n\t\t\t'div.polaris-contextual-menu'\n\t\t);\n\t\tnavElement.classList.remove('can-animate');\n\t\tnavElement.classList.add('is-visible');\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tnavElement.classList.add('can-animate');\n\t\t});\n\t}\n\tif (isPolarisEnabled) {\n\t\tmoveContextualMenu(host, state, false);\n\t}\n\n\tif (properties.opened) {\n\t\tif (isOverflow) {\n\t\t\tconst drilldownElement = host.querySelector('sn-drilldown-list');\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tdrilldownElement?.focus();\n\t\t\t});\n\t\t} else if (menuState.pinnedMenuId !== menuProperties.menuType) {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tdispatch('CONTEXTUAL_MENU_CONTENT_FOCUSED');\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\tmenuState.primaryMenuId === 'notifications' ||\n\t\t\tmenuState.secondaryMenuId === 'notifications'\n\t\t) {\n\t\t\thandleNotificationsMenuOpen(dispatch);\n\t\t}\n\t}\n};\n\nexport const actionHandlers = {\n\t[actionTypes.COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleFirstLoad,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChange,\n\t\tstopPropagation: true\n\t},\n\t[OVERLAY_BEHAVIOR_OPENED_SET]: {\n\t\teffect: ({\n\t\t\tproperties: {menuState, isPrimary, activeModal},\n\t\t\tstate: {closeMenuAction},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tif (\n\t\t\t\t!activeModal &&\n\t\t\t\t(!(menuState.isMenuPinned && menuState.canBePinned) ||\n\t\t\t\t\t(menuState.isMenuPinned && menuState.canBePinned && !isPrimary))\n\t\t\t)\n\t\t\t\tdispatch(closeMenuAction);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_DISCONNECTED]: ({action}) => {\n\t\tconst componentId = action.meta.id;\n\t\tunschedule(componentId);\n\t},\n\t[SCREEN_CONTENT_LINK_ITEM_SELECTED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tdispatch,\n\t\t\t\taction: {payload}\n\t\t\t} = coeffects;\n\t\t\tdispatch(NAV_ITEM_SELECTED, payload.item.route);\n\t\t\ttrack(coeffects, METRICS.SCREEN_CONTENT_DEEP_LINK_SELECT, {\n\t\t\t\tlink: payload.item.label\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.NOW_UI_TOGGLE_PIN]: {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\tproperties: {menuState, isPrimary},\n\t\t\taction: {\n\t\t\t\tpayload: {pin}\n\t\t\t}\n\t\t}) => {\n\t\t\tdispatch(CONTEXTUAL_MENU_PINNED, {\n\t\t\t\tisPrimary,\n\t\t\t\tprimaryMenuId: menuState.primaryMenuId,\n\t\t\t\tsecondaryMenuId: menuState.secondaryMenuId,\n\t\t\t\tdoPinning: pin\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['CONTEXTUAL_MENU_CONTENT_FOCUSED']: {\n\t\teffect: ({host, properties: {isTouchDevice}}) => {\n\t\t\tif (!isTouchDevice) {\n\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\tif (input) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\thandleFocusFirstNode(host);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_AVATAR#CLICKED']: {\n\t\teffect: ({dispatch, properties}) => {\n\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\troute: CLASSIC,\n\t\t\t\tparams: {\n\t\t\t\t\ttarget:\n\t\t\t\t\t\t'sys_user.do?sys_id=' +\n\t\t\t\t\t\tproperties.contextualMenu.menuData.userMeta.sys_id +\n\t\t\t\t\t\t'&sysparm_view=ess'\n\t\t\t\t}\n\t\t\t});\n\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport overlayBehavior from '@servicenow/behavior-overlay';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nimport menuKeyboardNavBehavior from '../../../../behaviors/menu-keyboard-nav-behavior';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../../sn-polaris-layout/actions';\n\nimport styles from './styles.scss';\nimport view from './sn-contextual-menu.view';\nimport {actionHandlers} from './sn-contextual-menu.effect';\nimport {getFeatureSettings} from '../../../../utils/featureSettingsSingleton';\nimport {LOCAL_STORAGE_KEYS} from '../../../../constants';\n\nconst CONTEXTUAL_MENU_ELEMENT = 'sn-contextual-menu';\n\ncreateCustomElement(CONTEXTUAL_MENU_ELEMENT, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tnowPriority: {\n\t\t\tdefault: 'low'\n\t\t},\n\t\tnowAvoidRender: {default: true},\n\t\tanimationsEnabled: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\treversed: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\topened: {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\tmenuContainerRef: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdeepCompare: true,\n\t\t\tdefault: null\n\t\t},\n\t\tmenuProperties: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdeepCompare: true,\n\t\t\tdefault: null\n\t\t},\n\t\tisPrimary: {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\tisPolarisEnabled: {\n\t\t\tcomputed: () => getFeatureSettings().isPolarisEnabled,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\texperienceUserMenu: {\n\t\t\tschema: {type: 'array'},\n\t\t\tdefault: null\n\t\t},\n\t\tmenuIndex: {\n\t\t\tschema: {type: 'number'},\n\t\t\tdefault: -1\n\t\t},\n\t\tmenuState: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {\n\t\t\t\tisMenuPinned: false,\n\t\t\t\tprimaryMenuId: null,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t\tpinnedMenuId: null,\n\t\t\t\tcanBePinned: true,\n\t\t\t\tclosedByKeyboard: false,\n\t\t\t\tdrilledMenu: null,\n\t\t\t\tcanToggleWideMenu: false\n\t\t\t}\n\t\t},\n\t\tmenuWidth: {\n\t\t\tschema: {type: 'number'},\n\t\t\tdefault: 0\n\t\t},\n\t\tmenuUnpinnedLeft: {\n\t\t\tschema: {type: 'number'},\n\t\t\tdefault: 0\n\t\t},\n\t\tcontextualMenu: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {}\n\t\t},\n\t\tactiveModal: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tshouldAlwaysRender: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\twindowSize: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {\n\t\t\t\twidth: -1,\n\t\t\t\theight: -1\n\t\t\t},\n\t\t\tshouldRender: false\n\t\t}\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tcloseMenuAction: CLOSE_CONTEXTUAL_MENU\n\t\t};\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: CONTEXTUAL_MENU_ELEMENT}\n\t\t},\n\t\t{behavior: overlayBehavior},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: focusBehavior},\n\t\t{behavior: menuKeyboardNavBehavior}\n\t],\n\tactionHandlers: {\n\t\t...actionHandlers\n\t},\n\tstyles\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {t} from 'sn-translate';\nimport {intersection, get, size, isEmpty} from 'lodash';\nimport {localizePresence} from '@servicenow/now-icon';\nimport {\n\tMENU_WORKSPACES,\n\tREFLOW_BREAKPOINTS,\n\tSEARCH,\n\tSYS_PROPS\n} from '../../constants';\nimport {positionsMenuItemsOmitCurrent} from '../sn-polaris-layout/draggable/draggable.utils';\nimport {\n\tbuildAvailableSearchContext,\n\tgetPolarisSearchContext\n} from '../../behaviors/search-behavior';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\n\nexport const getElevatedRoles = ({availableElevatedRoles}) => {\n\treturn intersection(\n\t\tavailableElevatedRoles.activeRoles,\n\t\tavailableElevatedRoles.roles?.map(({name}) => name)\n\t);\n};\n\nexport const DEFAULT_CONFIG = {\n\tprivatePage: {searchEnabled: false, notificationsEnabled: false},\n\tpublicPage: {searchEnabled: false, notificationsEnabled: false}\n};\n\nexport const getCurrentRouteHeaderConfig = ({\n\tselectedContent,\n\theaderConfig\n}) => {\n\tif (isEmpty(selectedContent) || isEmpty(headerConfig)) return {};\n\n\tconst config = get(headerConfig, 'chrome_header', {});\n\tconst fieldCount = size(selectedContent.fields);\n\tconst routeKey = selectedContent.route\n\t\t? `${selectedContent.route}~${fieldCount}`\n\t\t: 'global';\n\n\tconst result = config[routeKey] || config.global;\n\treturn result || DEFAULT_CONFIG;\n};\n\nexport const setInitialState = ({host, properties}) => {\n\tconst {menuItems} = properties;\n\tconst hasWorkspaces = Array.isArray(menuItems)\n\t\t? !!menuItems.find(({id}) => id === MENU_WORKSPACES)\n\t\t: false;\n\tconst defaultOpenFramePosition = 'top_right';\n\treturn {\n\t\topenframeLockedPosition: defaultOpenFramePosition,\n\t\topenFramePositions: positionsMenuItemsOmitCurrent(defaultOpenFramePosition),\n\t\theaderNavigationElemRef: null,\n\t\tsearchContexts: buildAvailableSearchContext({\n\t\t\tproperties,\n\t\t\tdispatch: host.dispatch\n\t\t}),\n\t\thasWorkspaces,\n\t\tworksWithBrandingEnabled: false\n\t};\n};\n\nexport const getScreenReaderContentForFavorite = (\n\tselectedContentFavorite,\n\tfavoriteTooltip\n) => {\n\tif (selectedContentFavorite) {\n\t\treturn t('{0} added to favorites list', favoriteTooltip);\n\t} else {\n\t\treturn t('Create favorite for {0}', favoriteTooltip);\n\t}\n};\n\nexport const getActiveSearchContext = ({\n\tselectedContent,\n\tsearchContexts,\n\tisPolarisEnabled,\n\tselectedSearchContext,\n\tpolarisSearchContexts\n}) => {\n\tif (\n\t\tselectedContent?.route === SEARCH &&\n\t\tisPolarisEnabled &&\n\t\t!getBooleanProperty(SYS_PROPS.UI.USE_CURRENT_EXPERIENCE_CONTEX)\n\t) {\n\t\tif (!selectedContent || isEmpty(searchContexts)) return {};\n\t\tconst searchContextId = selectedContent.params?.searchContext;\n\t\tif (!searchContextId) return {};\n\n\t\treturn (\n\t\t\tsearchContexts?.find(\n\t\t\t\t(searchContext) => searchContext.id === searchContextId\n\t\t\t) || getPolarisSearchContext(polarisSearchContexts)\n\t\t);\n\t} else {\n\t\treturn selectedSearchContext || {};\n\t}\n};\n\nexport const isWorkspaceOrGlobalSearchEnabled = ({\n\tisPolarisEnabled,\n\tglobalSearchEnabled,\n\tsearchContexts\n}) => {\n\treturn isPolarisEnabled && !globalSearchEnabled && !isEmpty(searchContexts)\n\t\t? searchContexts.some((searchContext) => !!searchContext)\n\t\t: globalSearchEnabled;\n};\n\nexport const getSearchInputVariant = ({\n\tisMainMenuPinned,\n\tisContextualMenuPinned,\n\twindowSize\n}) => {\n\tlet searchInputVariant = 'expanded'; // default search input to showing input field\n\tlet searchReflowBreakpoint = REFLOW_BREAKPOINTS.BREAKPOINT_1024;\n\n\t// figure out the best search reflow breakpoint to turn search into an icon\n\tif (\n\t\t(isMainMenuPinned && !isContextualMenuPinned) ||\n\t\t(!isMainMenuPinned && isContextualMenuPinned)\n\t) {\n\t\tsearchReflowBreakpoint = REFLOW_BREAKPOINTS.BREAKPOINT_THREE;\n\t} else if (isMainMenuPinned && isContextualMenuPinned) {\n\t\tsearchReflowBreakpoint = REFLOW_BREAKPOINTS.BREAKPOINT_FOUR;\n\t}\n\n\t// figure out which style of search to show, input or icon\n\tif (windowSize.width <= searchReflowBreakpoint) {\n\t\tsearchInputVariant = 'mobile';\n\t}\n\n\treturn searchInputVariant;\n};\n\nexport const createAriaLabel = ({fullName, presence, elevatedRole}) => {\n\t// Create aria-label {name}: roles, presence\n\tconst localizedPresence = localizePresence(presence);\n\tconst description = [elevatedRole, localizedPresence]\n\t\t.filter((a) => !!a)\n\t\t.join(', ');\n\treturn t('${0}: ${1}', fullName, description);\n};\n","import '@servicenow/now-avatar';\nimport '@servicenow/now-badge';\nimport '@servicenow/now-button';\nimport '@servicenow/now-tooltip';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\n\nimport createInteractionHandlers from '../../../../utils/createInteractionHandlers';\nimport {BUTTON_ACTIONS} from '../../../../constants';\nimport {getFeatureSettings} from '../../../../utils/featureSettingsSingleton';\nimport {createAriaLabel} from '../../sn-polaris-header.utils';\n\n/**\n * jsx to render the experiences contextual utilities button\n */\nexport const ActionButton = ({action}) => {\n\treturn (\n\t\t<now-button\n\t\t\tbare\n\t\t\ttype=\"button\"\n\t\t\tsize=\"md\"\n\t\t\tappend-to-payload={{\n\t\t\t\teventSource: BUTTON_ACTIONS.EXPERIENCE_ACTION_ITEM_CLICKED,\n\t\t\t\ttarget: action.value\n\t\t\t}}\n\t\t\tclassName=\"contextual-menu-item action-button\"\n\t\t\ttitle={action.label}>\n\t\t\t<now-icon icon={action.icon} />\n\t\t\t<span className=\"contextual-menu-item-label\">{action.label}<\/span>\n\t\t\t{action.alert && action.alert.count > 0 ? (\n\t\t\t\t<now-badge\n\t\t\t\t\tround\n\t\t\t\t\tmaxDigits=\"3\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tstatus=\"critical\"\n\t\t\t\t\tvalue={action.alert.count}\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tclassName=\"utility-badge\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/now-button>\n\t);\n};\n\n/**\n * jsx to render the main avatar button\n *\n * @param {*} {avatarPath, userName}\n * @returns {*}\n */\nexport const AvatarButton = ({\n\tid,\n\tavatarPath,\n\tfullName,\n\tpresence,\n\tisImpersonating,\n\tisElevated,\n\topened,\n\televatedRole,\n\thandleMenuOpen,\n\tdispatch\n}) => {\n\tconst ariaLabel = createAriaLabel({fullName, presence, elevatedRole});\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={0}\n\t\t\tclass={{\n\t\t\t\t'contextual-zone-button': true,\n\t\t\t\t[id]: true\n\t\t\t}}\n\t\t\tclassName=\"header-avatar-button\"\n\t\t\taria-label={ariaLabel}\n\t\t\taria-expanded={opened ? 'true' : 'false'}\n\t\t\tbare\n\t\t\tsize=\"sm\"\n\t\t\trole=\"button\"\n\t\t\t{...createInteractionHandlers(handleMenuOpen)}\n\t\t\tdata-id={id}\n\t\t\tdata-tooltip={ariaLabel}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\trequestIdleCallback(() => dispatch(TOOLTIP_ADD_TARGET, {target: elm}));\n\t\t\t}}\n\t\t\thook-destroy={({elm}) => {\n\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t}}>\n\t\t\t<now-avatar\n\t\t\t\thide-tooltip\n\t\t\t\tclass={{\n\t\t\t\t\t'is-impersonating': isImpersonating || isElevated\n\t\t\t\t}}\n\t\t\t\timage-src={avatarPath}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tuser-name={fullName}\n\t\t\t\tpresence={presence}\n\t\t\t/>\n\t\t\t{isImpersonating ? (\n\t\t\t\t<now-icon className=\"avatar-status-overlay\" icon=\"eye-fill\" size=\"sm\" />\n\t\t\t) : null}\n\t\t\t{isElevated ? (\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"avatar-status-overlay\"\n\t\t\t\t\ticon=\"circle-arrow-up-fill\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n\n/**\n * jsx to render utility buttons\n *\n * @param {*} {\n * \ticon,\n * \tlabel,\n * \tsize = 'md',\n * \ttooltipContent,\n * \teventSource\n * }\n */\nexport const UtilityButton = ({\n\ticon,\n\tid,\n\ttooltipContent = {},\n\tpayload = {},\n\tindicatorOn = false,\n\topened = false,\n\tshowBadgeCount = true,\n\tbadgeCount = 0,\n\tbadgeDot = false,\n\tselected = false,\n\tpresence = {showPresence: false},\n\thandleMenuOpen = () => {},\n\tisPinned = false\n}) => {\n\tconst {isPolarisEnabled} = getFeatureSettings();\n\tlet iconElm = null;\n\treturn (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'contextual-zone-button': true,\n\t\t\t\t'indicator-on': indicatorOn,\n\t\t\t\t'polaris-enabled': isPolarisEnabled,\n\t\t\t\t[id]: true,\n\t\t\t\tpinned: isPinned,\n\t\t\t\tselected: selected\n\t\t\t}}\n\t\t\taria-label={`${payload?.triggerAriaLabel ??\n\t\t\t\tpayload?.contextualMenuHeaderText}`}\n\t\t\taria-describedby={`contextual_zone_${id}_button`}\n\t\t\taria-expanded={opened ? 'true' : 'false'}\n\t\t\trole=\"button\"\n\t\t\t{...createInteractionHandlers(handleMenuOpen)}\n\t\t\ttab-index={!isPinned ? 0 : -1}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\ticonElm = elm;\n\t\t\t\telm.children[1].targetRef = iconElm;\n\t\t\t}}\n\t\t\tdata-id={id}>\n\t\t\t<now-icon\n\t\t\t\tkey={id}\n\t\t\t\tclassName=\"contextual-zone-icon\"\n\t\t\t\ticon={icon}\n\t\t\t\tsize={isPolarisEnabled ? 'md' : 'lg'}\n\t\t\t/>\n\n\t\t\t{showBadgeCount && badgeCount > 0 ? (\n\t\t\t\t<now-badge\n\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\tround\n\t\t\t\t\tmaxDigits=\"3\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvalue={badgeCount}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tstatus=\"info\"\n\t\t\t\t\tclassName=\"utility-badge\"\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t{presence.showPresence ? (\n\t\t\t\t<now-icon-presence\n\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\tkey={id}\n\t\t\t\t\tclassName=\"utility-presence\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tpresence={presence.status}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t{badgeDot ? <i className=\"utility-badge-dot\" /> : null}\n\n\t\t\t<now-tooltip\n\t\t\t\tnow-priority={'low'}\n\t\t\t\tid={`${id}-tooltip`}\n\t\t\t\tcontent={tooltipContent?.slotted ? null : tooltipContent?.value}>\n\t\t\t\t{tooltipContent?.slotted ? tooltipContent?.value : null}\n\t\t\t<\/now-tooltip>\n\t\t<\/span>\n\t);\n};\n","import {SYS_PROPS} from '../../../../../constants';\nimport getBooleanPropertyWhenPolarisEnabled from '../../../../../utils/getBooleanPropertyWhenPolarisEnabled';\n\nexport function mapOverflowMenuItems(contextualMenu) {\n\tconst useUtilityBar = !getBooleanPropertyWhenPolarisEnabled(\n\t\tSYS_PROPS.UI.INSTANCE_TOOLS_DISABLED,\n\t\ttrue\n\t);\n\tconst {utilityBarVisible, overflowMenuItems = []} = contextualMenu || {};\n\tconst includeUtilityBar = useUtilityBar && utilityBarVisible;\n\n\treturn overflowMenuItems.reduce((items, menuItem, index) => {\n\t\tif (\n\t\t\t(includeUtilityBar && menuItem.buttonConfig.id === 'concourse-pickers') ||\n\t\t\t(!includeUtilityBar && menuItem.buttonConfig.id === 'instance-tools')\n\t\t) {\n\t\t\treturn items;\n\t\t}\n\n\t\titems.push({\n\t\t\tid: menuItem.buttonConfig.id,\n\t\t\ticon: menuItem.buttonConfig.icon,\n\t\t\tindex: index,\n\t\t\tlabel: menuItem.buttonConfig.payload.contextualMenuHeaderText,\n\t\t\tsubItems: [],\n\t\t\tbadgeCount: menuItem.buttonConfig?.badgeCount || 0,\n\t\t\tindicatorOn: menuItem.buttonConfig?.indicatorOn || false,\n\t\t\tbuttonConfig: menuItem.buttonConfig,\n\t\t\tmenuConfig: menuItem.menuConfig\n\t\t});\n\n\t\treturn items;\n\t}, []);\n}\n","import '@servicenow/now-avatar';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\n\nimport '../../../../sn-polaris-menu/sn-drilldown-list';\nimport {SN_DRILLDOWN_LIST_SOURCES} from '../../../../sn-polaris-menu/sn-drilldown-list/constants';\nimport {SN_DRILLDOWN_LIST_TOGGLE} from '../../../../sn-polaris-menu/actions';\nimport {NOTIFICATIONS_ID} from '../../../../../constants';\nimport {t} from 'sn-translate';\nimport createInteractionHandlers from '../../../../../utils/createInteractionHandlers';\nimport {kebabCase} from 'lodash';\nimport {\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {USER_SETTINGS_MODAL_OPENED} from '../../../../../behaviors/user-settings-behavior/actions';\nimport {mapOverflowMenuItems} from './overflow-menu.utils';\n\n/**\n * Generic JSX to handle rendering the user menu buttons\n *\n * @param {*} {label, icon, eventSource, isVisible}\n * @returns {NowButton}\n */\n\nexport const View = ({\n\tdispatch,\n\tcontextualMenu,\n\tmenuUtilProperties,\n\tcanAnimate,\n\thelpPanelAppContext,\n\tdir\n}) => {\n\tconst ContextualOverflowMenuHeader = (drilledMenu) => (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-polaris-nav-header-container': true,\n\t\t\t\t'is-drilled': true,\n\t\t\t\t'can-animate': canAnimate\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-header': true,\n\t\t\t\t\t'is-drilled': true,\n\t\t\t\t\t'can-animate': canAnimate,\n\t\t\t\t\t'overflow-back-button': true\n\t\t\t\t}}\n\t\t\t\ttabIndex={0}\n\t\t\t\trole=\"button\"\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\telm.focus();\n\t\t\t\t}}\n\t\t\t\taria-label={t('Back to menus')}\n\t\t\t\t{...createInteractionHandlers(() => {\n\t\t\t\t\tdispatch(SN_DRILLDOWN_LIST_TOGGLE, {\n\t\t\t\t\t\tdrilled: false,\n\t\t\t\t\t\titem: drilledMenu,\n\t\t\t\t\t\tsource: SN_DRILLDOWN_LIST_SOURCES.UTILITY_OVERFLOW_MENU\n\t\t\t\t\t});\n\t\t\t\t})}>\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={`chevron-${dir === 'rtl' ? 'right' : 'left'}-outline`}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t/>\n\t\t\t\t<span className=\"menu-item-with-icon\">\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-polaris-nav-header-icon': true,\n\t\t\t\t\t\t\t[drilledMenu?.color]: !!drilledMenu?.color\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon={drilledMenu?.icon}\n\t\t\t\t\t/>\n\t\t\t\t\t{drilledMenu?.label}\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t{drilledMenu.id === 'experience-notifications' ? (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-polaris-nav-header-controls': true\n\t\t\t\t\t}}>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\treversed: dir === 'rtl'\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-label={t('Open notification preferences')}\n\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\tdispatch(USER_SETTINGS_MODAL_OPENED, {\n\t\t\t\t\t\t\t\tinitialTab: NOTIFICATIONS_ID\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t<now-icon icon=\"gear-outline\" size=\"md\" />\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n\n\tconst slotInOverflowMenu = (props) => {\n\t\tconst fragmentProperties = {\n\t\t\thideHeader: true,\n\t\t\tcontextualMenu,\n\t\t\thelpPanelAppContext: helpPanelAppContext || null,\n\t\t\tmenuUtilProperties\n\t\t};\n\n\t\treturn props?.menuConfig.menuContent(fragmentProperties);\n\t};\n\n\tconst overflowMenuItems = mapOverflowMenuItems(contextualMenu);\n\n\tconst isDrilled = contextualMenu?.drilledMenu !== null;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'utility-menu-overflow-body': true,\n\t\t\t\t'can-animate': canAnimate\n\t\t\t}}\n\t\t\trole=\"menu\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-overflow-menu': true,\n\t\t\t\t\t'can-animate': canAnimate\n\t\t\t\t}}>\n\t\t\t\t{isDrilled ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{ContextualOverflowMenuHeader(contextualMenu?.drilledMenu)}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'sn-polaris-overflow-body': true,\n\t\t\t\t\t\t\t\t'can-animate': canAnimate,\n\t\t\t\t\t\t\t\t'is-drilled': true,\n\t\t\t\t\t\t\t\t'is-utility': true,\n\t\t\t\t\t\t\t\t[contextualMenu?.drilledMenu?.id]: true\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{slotInOverflowMenu(contextualMenu?.drilledMenu)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t{!isDrilled ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-polaris-overflow-body': true,\n\t\t\t\t\t\t\t'can-animate': canAnimate,\n\t\t\t\t\t\t\t'is-drilldown-list': true\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<div className=\"drilldown-items\">\n\t\t\t\t\t\t\t{overflowMenuItems.map((menu) => (\n\t\t\t\t\t\t\t\t<sn-drilldown-list\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t[`name-${kebabCase(menu.label)}`]: true,\n\t\t\t\t\t\t\t\t\t\t'overflow-item': true\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tmenu={menu}\n\t\t\t\t\t\t\t\t\tdata-id={`overflow-list-${menu.id}`}\n\t\t\t\t\t\t\t\t\tforceFocus={\n\t\t\t\t\t\t\t\t\t\tmenu?.id === contextualMenu.previousDrilledMenu?.id\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsource={SN_DRILLDOWN_LIST_SOURCES.UTILITY_OVERFLOW_MENU}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import get from 'lodash/get';\n\nconst RECORD = 'record';\nconst SUB = 'sub';\n\nexport const getClassicTable = (selectedContent) => {\n\tif (get(selectedContent, 'route') === 'classic') {\n\t\tconst target = get(selectedContent, 'params.target', '').split('.do');\n\t\treturn target[0] || null;\n\t}\n\treturn null;\n};\n\nexport const getClassicSysId = (selectedContent) => {\n\tif (get(selectedContent, 'route') === 'classic') {\n\t\tconst target = get(selectedContent, 'params.target', '').split('?');\n\t\tconst query = target[1];\n\t\tif (!query) return null;\n\t\treturn new URLSearchParams(query).get('sys_id');\n\t}\n\treturn null;\n};\n\nexport const getWorkspaceUrl = (selectedContent) => {\n\tconst {route, fields, parent} = selectedContent ?? {};\n\tconst table = fields?.table;\n\tconst parentRoute = parent?.route;\n\n\tlet pageName;\n\n\tif (route || parentRoute) {\n\t\tif (route === RECORD) {\n\t\t\tconst href = typeof window !== 'undefined' ? window.location?.href : '';\n\t\t\tif (href) {\n\t\t\t\tconst isSubRecord = href.includes(`/${SUB}/record/`);\n\t\t\t\tpageName = `${isSubRecord ? `${SUB}-record` : `${RECORD}`}-${table}`;\n\t\t\t}\n\t\t} else {\n\t\t\tconst prefix = parentRoute ? `${SUB}-` : '';\n\t\t\tconst suffix = table ? `-${table}` : '';\n\t\t\tpageName = `${prefix}${route}${suffix}`;\n\t\t}\n\t}\n\n\t// Fallback to selectedContent.route if pageName not resolved\n\treturn pageName ?? route;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const SN_FEEDBACK_FORM = 'sn-feedback-form';\n\nexport const FEEDBACK_FORM_ACTIONS = {\n\tOPEN: 'FEEDBACK_FORM_ACTION#OPEN',\n\tCLOSE: 'FEEDBACK_FORM_ACTION#CLOSE',\n\tCANCEL: 'FEEDBACK_FORM_ACTION#CANCEL',\n\tSUBMIT: 'FEEDBACK_FORM_ACTION#SUBMIT',\n\tCARD_CLICKED: 'FEEDBACK_FORM_ACTION#CARD_CLICKED'\n};\n\nexport const FEEDBACK_FORM_SUBMIT_REQUESTED = 'FEEDBACK_FORM_SUBMIT_REQUESTED';\nexport const FEEDBACK_SUBMITTED_SUCCESS = 'FEEDBACK_SUBMITTED_SUCCESS';\nexport const FEEDBACK_SUBMITTED_FAILED = 'FEEDBACK_SUBMITTED_FAILED';\n\nexport const FEEDBACK_MAX_VALUE_LENGTH = 250;\n","import '@servicenow/now-modal';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-card';\nimport '@servicenow/now-illustration';\nimport {\n\tdangerouslyCreateElementFromString,\n\tFragment\n} from '@servicenow/ui-renderer-snabbdom';\n\nimport {t} from 'sn-translate';\nimport {FEEDBACK_FORM_ACTIONS, FEEDBACK_MAX_VALUE_LENGTH} from './constants';\n\n/**\n * render each question of the feedback form based on state.questions\n */\nconst FeedbackFormQuestions = (questions, formValues, dispatch) => {\n\treturn questions.map((question) => {\n\t\treturn question.type === 'radio'\n\t\t\t? RadioButtons(question, formValues, dispatch)\n\t\t\t: TextArea(question);\n\t});\n};\n\n/**\n * render row of now-cards which act as radio buttons for a given question\n */\nconst RadioButtons = (question, formValues, dispatch) => {\n\treturn (\n\t\t<div\n\t\t\trole=\"group\"\n\t\t\taria-labelledby={`${question.id}.label`}\n\t\t\tid={`${question.id}.group`}>\n\t\t\t<h2 id={`${question.id}.label`}>{question.label}<\/h2>\n\t\t\t<div className=\"options\">\n\t\t\t\t{question.options.map((option, index) => {\n\t\t\t\t\tconst currentQuestionSelection = formValues[question.id] || null;\n\t\t\t\t\tconst isSelected = currentQuestionSelection === option.rank;\n\t\t\t\t\tconst numOptions = question.options.length;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-card\n\t\t\t\t\t\t\tid={option.id}\n\t\t\t\t\t\t\tvalue={option.rank}\n\t\t\t\t\t\t\tmanage-selected\n\t\t\t\t\t\t\tinteraction=\"select\"\n\t\t\t\t\t\t\thide-shadow\n\t\t\t\t\t\t\tselected={isSelected}\n\t\t\t\t\t\t\tsidebar={{color: 'positive', variant: 'none'}}\n\t\t\t\t\t\t\t// need for chrome + VO to announce the label of the card\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t'aria-label': t(\n\t\t\t\t\t\t\t\t\t\t'{0}, {1} of {2}',\n\t\t\t\t\t\t\t\t\t\toption.label,\n\t\t\t\t\t\t\t\t\t\tindex + 1,\n\t\t\t\t\t\t\t\t\t\tnumOptions\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ton-click={(event) => {\n\t\t\t\t\t\t\t\tdispatch(FEEDBACK_FORM_ACTIONS.CARD_CLICKED, {\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\toption,\n\t\t\t\t\t\t\t\t\tquestion\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{isSelected ? (\n\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\ticon=\"circle-check-fill\"\n\t\t\t\t\t\t\t\t\tclassName=\"check-icon\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t\t<div className=\"card-content\">\n\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t<now-icon icon={option.icon} size=\"lg\" />\n\t\t\t\t\t\t\t\t\t{/* JAWS likes to pick this up along with the button label */}\n\t\t\t\t\t\t\t\t\t<h3 aria-hidden=\"true\">{option.label}<\/h3>\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/now-card>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * render now-textarea for a given feedback question\n */\nconst TextArea = (question) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<h2 id={`${question.id}.label`}>{question.label}<\/h2>\n\t\t\t<now-textarea\n\t\t\t\tid={question.id}\n\t\t\t\tname={question.id}\n\t\t\t\tmaxlength={FEEDBACK_MAX_VALUE_LENGTH}\n\t\t\t\tresize=\"both\"\n\t\t\t\trows=\"1\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tshowCounter\n\t\t\t\tconfig-aria={{\n\t\t\t\t\t'aria-label': question.label\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * render the text shown at the bottom of the feedback form\n */\nconst FeedbackFormFooter = () => {\n\tconst feedbackText = t(\n\t\t'Providing feedback to ServiceNow is voluntary, and should not include any information that identifies, or could be used to identify you. If you participate, your feedback will be processed in accordance with our <a href=\"https://www.servicenow.com/company/trust/privacy.html\" target=\"_blank\">Privacy Policy<\/a>, if applicable. This feedback is not a request for support. ServiceNow may use your feedback to improve our product.'\n\t);\n\treturn (\n\t\t<Fragment>\n\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t`<div class=\"legal-text\">${feedbackText}<\/div>`\n\t\t\t)}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * render content of feedback form\n */\nconst ModalContent = (state, dispatch) => {\n\tconst {hasBeenSubmitted, questions, formValues} = state;\n\tif (!hasBeenSubmitted) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{FeedbackFormQuestions(questions, formValues, dispatch)}\n\t\t\t\t{FeedbackFormFooter()}\n\t\t\t<\/Fragment>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<div className=\"submit-complete\">\n\t\t\t\t<div className=\"illustration\">\n\t\t\t\t\t<now-illustration size=\"lg\" illustration=\"completed-tasks\" />\n\t\t\t\t<\/div>\n\t\t\t\t<h1>{t('Thank you for your feedback.')}<\/h1>\n\t\t\t<\/div>\n\t\t);\n\t}\n};\n\n/**\n * render buttons on the bottom of the modal based on state of form\n */\nconst ModalButtons = (state) => {\n\tconst {hasBeenSubmitted} = state;\n\tif (!hasBeenSubmitted) {\n\t\treturn [\n\t\t\t{\n\t\t\t\tlabel: t('Submit'),\n\t\t\t\tvariant: 'primary',\n\t\t\t\tclickActionType: FEEDBACK_FORM_ACTIONS.SUBMIT\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t('Cancel'),\n\t\t\t\tvariant: 'secondary',\n\t\t\t\tclickActionType: FEEDBACK_FORM_ACTIONS.CANCEL\n\t\t\t}\n\t\t];\n\t} else {\n\t\treturn [\n\t\t\t{\n\t\t\t\tlabel: t('Close'),\n\t\t\t\tvariant: 'primary',\n\t\t\t\tclickActionType: FEEDBACK_FORM_ACTIONS.CLOSE\n\t\t\t}\n\t\t];\n\t}\n};\n\n/**\n * render main feedback modal\n */\nexport default (state, dispatch) => {\n\tconst {\n\t\tproperties: {isOpened}\n\t} = state;\n\tif (!isOpened) return null;\n\treturn (\n\t\t<now-modal\n\t\t\tnow-priority={'low'}\n\t\t\topened={isOpened}\n\t\t\tid=\"feedback-modal\"\n\t\t\tmanageOpened\n\t\t\tsize=\"custom\"\n\t\t\tcustomSize={{width: '815px', height: '775px'}}\n\t\t\theader-label={t('Provide Feedback to ServiceNow')}\n\t\t\tfooter-actions={ModalButtons(state)}\n\t\t\theadingLevel=\"1\">\n\t\t\t<div className=\"feedback-form-container\">\n\t\t\t\t{ModalContent(state, dispatch)}\n\t\t\t<\/div>\n\t\t<\/now-modal>\n\t);\n};\n","import {METRICS} from '../../../constants';\nimport {sendFeedback} from '../../../utils/track';\nimport {FEEDBACK_FORM_ACTIONS, FEEDBACK_MAX_VALUE_LENGTH} from './constants';\n\nconst handleCardSelection = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tstate: {formValues},\n\t\tupdateState\n\t} = coeffects;\n\tconst {question, option} = payload;\n\n\tupdateState({\n\t\tformValues: {\n\t\t\t...formValues,\n\t\t\t[question.id]: option.rank\n\t\t}\n\t});\n};\n\nconst handleFormValueChange = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: {formValues = {}},\n\t\taction: {payload}\n\t} = coeffects;\n\n\tif (payload.value === '' && formValues[payload.name] !== undefined) {\n\t\t// if user cleared text from a previously answered question, remove that response from formValues\n\t\tdelete formValues[payload.name];\n\t\tupdateState({\n\t\t\tformValues: formValues\n\t\t});\n\t} else if (payload.value !== '') {\n\t\t// user answered a question so include that into formValues\n\t\tupdateState({\n\t\t\tformValues: {\n\t\t\t\t...formValues,\n\t\t\t\t[payload.name]: payload.value\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst handleFeedbackFormCancel = ({dispatch}) => {\n\tdispatch(FEEDBACK_FORM_ACTIONS.CLOSE);\n};\n\nconst handleFeedbackFormSubmit = (coeffects) => {\n\tconst {\n\t\tstate: {formValues},\n\t\tupdateState\n\t} = coeffects;\n\n\tif (formValues && Object.keys(formValues).length > 0) {\n\t\tconst formValueKeys = Object.keys(formValues);\n\t\tlet isValid = true;\n\n\t\tformValueKeys.map((key) => {\n\t\t\tconst fieldValue = formValues[key];\n\n\t\t\tif (fieldValue.length > FEEDBACK_MAX_VALUE_LENGTH) {\n\t\t\t\tisValid = false;\n\t\t\t}\n\t\t});\n\n\t\tif (isValid) {\n\t\t\tformValueKeys.map((key) => {\n\t\t\t\tif (formValues[key] !== '') {\n\t\t\t\t\tconst payload = {\n\t\t\t\t\t\t[key]: formValues[key],\n\t\t\t\t\t\tv: 1\n\t\t\t\t\t};\n\t\t\t\t\tsendFeedback(coeffects, METRICS.PRODUCT_FEEDBACK, payload);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\thasBeenSubmitted: true\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const actionHandlers = {\n\t[FEEDBACK_FORM_ACTIONS.CARD_CLICKED]: {\n\t\teffect: handleCardSelection,\n\t\tstopPropagation: true\n\t},\n\t[FEEDBACK_FORM_ACTIONS.CANCEL]: {\n\t\teffect: handleFeedbackFormCancel,\n\t\tstopPropagation: true\n\t},\n\t[FEEDBACK_FORM_ACTIONS.SUBMIT]: {\n\t\teffect: handleFeedbackFormSubmit,\n\t\tstopPropagation: true\n\t},\n\t['NOW_TEXTAREA#VALUE_SET']: {\n\t\teffect: handleFormValueChange,\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\nimport styles from './styles.scss';\nimport view from './sn-feedback-form.view';\n\nimport {SN_FEEDBACK_FORM} from './constants';\nimport {actionHandlers} from './sn-feedback-form.effects';\n\ncreateCustomElement(SN_FEEDBACK_FORM, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tisOpened: true,\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tformValues: {},\n\t\t\thasBeenSubmitted: false,\n\t\t\tquestions: [\n\t\t\t\t{\n\t\t\t\t\tid: 'q1',\n\t\t\t\t\ttype: 'radio',\n\t\t\t\t\tlabel: t('How satisfied are you with this product experience?'),\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'extremely-dissatisfied',\n\t\t\t\t\t\t\tlabel: t('Extremely Dissatisfied'),\n\t\t\t\t\t\t\trank: 5,\n\t\t\t\t\t\t\ticon: 'emoji-negative-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'somewhat-dissatisfied',\n\t\t\t\t\t\t\tlabel: t('Somewhat Dissatisfied'),\n\t\t\t\t\t\t\trank: 4,\n\t\t\t\t\t\t\ticon: 'emoji-slightly-negative-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'neither',\n\t\t\t\t\t\t\tlabel: t('Neither Satisfied or Dissatisfied'),\n\t\t\t\t\t\t\trank: 3,\n\t\t\t\t\t\t\ticon: 'emoji-neutral-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'somewhat-satisfied',\n\t\t\t\t\t\t\tlabel: t('Somewhat Satisfied'),\n\t\t\t\t\t\t\trank: 2,\n\t\t\t\t\t\t\ticon: 'emoji-smile-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'extremely-satisfied',\n\t\t\t\t\t\t\tlabel: t('Extremely Satisfied'),\n\t\t\t\t\t\t\trank: 1,\n\t\t\t\t\t\t\ticon: 'emoji-positive-outline'\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'q2',\n\t\t\t\t\ttype: 'radio',\n\t\t\t\t\tlabel: t('Were you able to complete your goal?'),\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'not-at-all',\n\t\t\t\t\t\t\tlabel: t({code: 'unified-nav', message: 'Not at all'}),\n\t\t\t\t\t\t\trank: 1,\n\t\t\t\t\t\t\ticon: 'emoji-negative-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'partially',\n\t\t\t\t\t\t\tlabel: t('Partially'),\n\t\t\t\t\t\t\trank: 2,\n\t\t\t\t\t\t\ticon: 'emoji-neutral-outline'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'completely',\n\t\t\t\t\t\t\tlabel: t({code: 'unified-nav', message: 'Completely'}),\n\t\t\t\t\t\t\trank: 3,\n\t\t\t\t\t\t\ticon: 'emoji-positive-outline'\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'q3',\n\t\t\t\t\ttype: 'textarea',\n\t\t\t\t\tlabel: t('What part of the experience is your feedback regarding?')\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'q4',\n\t\t\t\t\ttype: 'textarea',\n\t\t\t\t\tlabel: t('What can we do to improve your experience?')\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t},\n\tactionHandlers: actionHandlers,\n\tstyles\n});\n","import {View as ConcoursePickers} from '../sn-contextual-menu/concourse-pickers';\nimport {View as UserMenu} from '../sn-contextual-menu/user-menu';\nimport {View as OverflowMenu} from '../sn-contextual-menu/overflow-menu';\n\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {isNil, get} from 'lodash';\nimport {t} from 'sn-translate';\nimport {getFeatureSettings} from '../../../../utils/featureSettingsSingleton';\nimport {\n\tgetClassicSysId,\n\tgetClassicTable,\n\tgetWorkspaceUrl\n} from '../../utils/selectedContentUtil';\nimport '@servicenow/now-button';\nimport '@servicenow/now-loader';\nimport {FEEDBACK_FORM_ACTIONS} from '../../../sn-feedback-form';\nimport '../../../sn-polaris-menu/sn-drilldown-list';\nimport {CLASSIC} from '../../../../constants';\n\nexport const ConcoursePickerFragment = ({\n\tcontextualMenu,\n\treversed,\n\tdispatch,\n\tcanAnimate,\n\tuserPreferences\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<span slot=\"header-text\" />\n\t\t\t<span slot=\"menu-content\">\n\t\t\t\t<ConcoursePickers\n\t\t\t\t\tcontextualMenu={contextualMenu}\n\t\t\t\t\treversed={reversed}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tcanAnimate={canAnimate}\n\t\t\t\t\tuserPreferences={userPreferences}\n\t\t\t\t/>\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const BellMenuFragment = ({\n\tnotificationData,\n\tuserTimeZoneOffset,\n\tisMoreNotifications,\n\thideHeader\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{!hideHeader ? (\n\t\t\t\t<span slot=\"header-text\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t{t('Notifications')}\n\t\t\t\t<\/span>\n\t\t\t) : null}\n\t\t\t<span slot=\"menu-content\">\n\t\t\t\t<div className=\"notifications-container\">\n\t\t\t\t\t{import('@devsnc/sn-notifications-menu') && (\n\t\t\t\t\t\t<sn-notifications-menu\n\t\t\t\t\t\t\tuserTimeZoneOffset={userTimeZoneOffset}\n\t\t\t\t\t\t\tisMoreNotifications={isMoreNotifications}\n\t\t\t\t\t\t\titems={!isNil(notificationData) ? notificationData : []}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const ChatMenuFragment = ({\n\tisCollabChatSearchEnabled,\n\tcommand,\n\tcollabChatId,\n\tmenuUtilProperties,\n\tuser,\n\tselectedContent,\n\tmenuType,\n\tmenuContext\n}) => {\n\tconst table =\n\t\tget(selectedContent, 'fields.table', null) ||\n\t\tgetClassicTable(selectedContent);\n\tconst sysId =\n\t\tget(selectedContent, 'fields.sysId', null) ||\n\t\tgetClassicSysId(selectedContent);\n\treturn (\n\t\timport('sn-oe-sfs') && (\n\t\t\t<Fragment>\n\t\t\t\t<span slot=\"header-text\" />\n\t\t\t\t<span slot=\"menu-content\" className=\"collab-chat-container\">\n\t\t\t\t\t<sn-collab-chat-util-menu\n\t\t\t\t\t\tisCollabChatSearchEnabled={isCollabChatSearchEnabled}\n\t\t\t\t\t\tcommand={command}\n\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\tcollabChatId={collabChatId}\n\t\t\t\t\t\tuser={user}\n\t\t\t\t\t\tcurrentRecordTable={table}\n\t\t\t\t\t\tcurrentRecordId={sysId}\n\t\t\t\t\t\tmenuType={menuType}\n\t\t\t\t\t\t{...menuContext}\n\t\t\t\t\t/>\n\t\t\t\t<\/span>\n\t\t\t<\/Fragment>\n\t\t)\n\t);\n};\n\nexport const HelpMenuFragment = ({\n\thelpPanelAppContext,\n\tisContextualMenuPinned,\n\tfeedbackFormEnabled,\n\tisHelpPanelVisible,\n\thideHeader,\n\toverflowVisible,\n\tmenuContext\n}) => {\n\tconst isHelpPanelLoaded = window.customElements?.get('sn-help-panel');\n\n\tconst FeedbackFooter = () => {\n\t\treturn (\n\t\t\t<div className=\"help-menu-footer\">\n\t\t\t\t<now-button\n\t\t\t\t\tid=\"feedbackButton\"\n\t\t\t\t\tlabel={t('Provide Feedback')}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\ticon=\"form-outline\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': t('Provide Feedback')\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\teventSource: FEEDBACK_FORM_ACTIONS.OPEN\n\t\t\t\t\t}}\n\t\t\t\t\ttooltip-content={t('Provide feedback to ServiceNow')}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{!hideHeader ? (\n\t\t\t\t<span slot=\"header-text\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t{t('Help Center')}\n\t\t\t\t<\/span>\n\t\t\t) : null}\n\t\t\t<span slot=\"menu-content\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'help-menu-panel': true,\n\t\t\t\t\t\tisContextualMenuPinned: isContextualMenuPinned,\n\t\t\t\t\t\tfeedbackFormEnabled: feedbackFormEnabled\n\t\t\t\t\t}}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'help-menu-content': true,\n\t\t\t\t\t\t\t'in-overflow-menu': overflowVisible\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<sn-help-panel\n\t\t\t\t\t\t\tisPolarisEnabled={getFeatureSettings().isPolarisEnabled}\n\t\t\t\t\t\t\topened={helpPanelAppContext.showHelpPanel}\n\t\t\t\t\t\t\tapp-context={helpPanelAppContext.appContext}\n\t\t\t\t\t\t\ttop={45}\n\t\t\t\t\t\t\tsetInitialFocusInPanel={false}\n\t\t\t\t\t\t\tvisible={isHelpPanelVisible}\n\t\t\t\t\t\t\tnow-mode={isHelpPanelVisible ? '' : 'suspend'}\n\t\t\t\t\t\t\tpinned={isContextualMenuPinned}\n\t\t\t\t\t\t\t{...menuContext}>\n\t\t\t\t\t\t\t{!isHelpPanelLoaded && helpPanelAppContext.showHelpPanel && (\n\t\t\t\t\t\t\t\t<now-loader\n\t\t\t\t\t\t\t\t\tlabel=\"\"\n\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\taction=\"\"\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tmargin: '1rem 0rem'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/sn-help-panel>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t{feedbackFormEnabled ? FeedbackFooter() : null}\n\t\t\t\t<\/div>\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const NowAssistFragment = ({\n\tselectedContent,\n\tisContextualMenuPinned,\n\tmenuUtilProperties,\n\tmenuContext,\n\tnapShortcutCommand,\n\tconversationId\n}) => {\n\treturn (\n\t\timport('now-assist-core') && (\n\t\t\t<Fragment>\n\t\t\t\t<span slot=\"header-text\" />\n\t\t\t\t<span slot=\"menu-content\">\n\t\t\t\t\t<sn-component-assist-panel\n\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\tcomponent-id=\"gaia-chat-client\"\n\t\t\t\t\t\tisContextualMenuPinned={isContextualMenuPinned}\n\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\tnapShortcutCommand={napShortcutCommand}\n\t\t\t\t\t\t{...menuContext}\n\t\t\t\t\t\tconversationId={conversationId}\n\t\t\t\t\t/>\n\t\t\t\t<\/span>\n\t\t\t<\/Fragment>\n\t\t)\n\t);\n};\n\nexport const UsageAnalyticsFragment = ({\n\tselectedContent,\n\tapplicationId,\n\tmenuUtilProperties\n}) => {\n\tconst pageId =\n\t\tselectedContent?.route === CLASSIC\n\t\t\t? getClassicTable(selectedContent)\n\t\t\t: getWorkspaceUrl(selectedContent);\n\n\tconst isUsageAnalyticsPanelLoaded = window.customElements?.get(\n\t\t'sn-uxa-analytics-overlay'\n\t);\n\n\treturn (\n\t\timport('@servicenow/uxa-commons-connected') && (\n\t\t\t<Fragment>\n\t\t\t\t<span slot=\"header-text\" />\n\t\t\t\t<span\n\t\t\t\t\tslot=\"menu-content\"\n\t\t\t\t\tclassName=\"sn-uxa-analytics-overlay-container\">\n\t\t\t\t\t<sn-uxa-analytics-overlay\n\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\tapplicationId={applicationId}\n\t\t\t\t\t\tpageId={pageId}\n\t\t\t\t\t\tshowBorder={false}\n\t\t\t\t\t\tusePolarisHeader>\n\t\t\t\t\t\t{!isUsageAnalyticsPanelLoaded && (\n\t\t\t\t\t\t\t<now-loader\n\t\t\t\t\t\t\t\tid=\"uxaAnalyticsLoader\"\n\t\t\t\t\t\t\t\tlabel=\"\"\n\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\taction=\"\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tmargin: '1rem 0'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/sn-uxa-analytics-overlay>\n\t\t\t\t<\/span>\n\t\t\t<\/Fragment>\n\t\t)\n\t);\n};\n\nexport const UserMenuFragment = ({\n\tcontextualMenu,\n\texperienceUserMenuItems,\n\tscreenContentLinks,\n\tworksWithBrandingEnabled,\n\tdispatch\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<span slot=\"header-text\" />\n\t\t\t<span slot=\"menu-content\">\n\t\t\t\t<UserMenu\n\t\t\t\t\tmenuData={contextualMenu}\n\t\t\t\t\texperienceUserMenuItems={experienceUserMenuItems}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tscreenContentLinks={screenContentLinks}\n\t\t\t\t\tworksWithBrandingEnabled={worksWithBrandingEnabled}\n\t\t\t\t/>\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n\nexport const OverflowUtilMenuFragment = ({\n\tdispatch,\n\tcontextualMenu,\n\tmenuUtilProperties,\n\tcanAnimate,\n\thelpPanelAppContext,\n\tdir\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<span slot=\"header-text\" />\n\t\t\t<span slot=\"menu-content\">\n\t\t\t\t<OverflowMenu\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tcontextualMenu={contextualMenu}\n\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\tcanAnimate={canAnimate}\n\t\t\t\t\thelpPanelAppContext={helpPanelAppContext}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t<\/span>\n\t\t<\/Fragment>\n\t);\n};\n","import {UTILITY_OVERFLOW_MENU_ID} from '../../../constants';\n\nexport const isContextualMenuActive = ({\n\tcontextualMenuState,\n\tmenuId,\n\tbuttonConfig,\n\tutilityMenuRef\n}) => {\n\tconst isActivePrimaryMenu = contextualMenuState.primaryMenuId === menuId;\n\n\tconst isActiveSecondaryMenu = contextualMenuState.secondaryMenuId === menuId;\n\n\tlet isActive;\n\tif (menuId === 'ctiMenu') {\n\t\tisActive = buttonConfig.selected;\n\t\tbuttonConfig.payload.menuContainerRef = utilityMenuRef;\n\t} else if (menuId === 'instanceTools') {\n\t\tisActive = contextualMenuState.isBarOpen;\n\t} else {\n\t\tisActive =\n\t\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned\n\t\t\t\t? isActivePrimaryMenu || isActiveSecondaryMenu\n\t\t\t\t: isActivePrimaryMenu;\n\t}\n\n\treturn isActive;\n};\n\nexport const getFragmentProperties = ({\n\tcontextualMenuState,\n\tmenuId,\n\tcanAnimate,\n\tbuttonConfig,\n\tmenuConfig,\n\tcontextualMenu\n}) => {\n\tconst isPrimary =\n\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned\n\t\t\t? contextualMenuState.primaryMenuId === menuId\n\t\t\t: true;\n\tconst animationsEnabled =\n\t\tcanAnimate && buttonConfig.id !== 'concourse-pickers';\n\n\tconst isExternalMenu = menuConfig?.menuProperties?.hasExternallyManagedMenu;\n\n\treturn isExternalMenu || menuId === UTILITY_OVERFLOW_MENU_ID\n\t\t? {\n\t\t\t\tcontextualMenu,\n\t\t\t\tmenuUtilProperties: {\n\t\t\t\t\tpinned:\n\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\tcontextualMenuState.canBePinned &&\n\t\t\t\t\t\tcontextualMenuState.primaryMenuId === menuId,\n\t\t\t\t\treversed: menuConfig.reversed,\n\t\t\t\t\tmenuProperties: menuConfig.menuProperties,\n\t\t\t\t\tmenuState: contextualMenuState,\n\t\t\t\t\tisPrimary: isPrimary,\n\t\t\t\t\tanimationEnabled: animationsEnabled,\n\t\t\t\t\tnotificationData: contextualMenu.notificationData\n\t\t\t\t},\n\t\t\t\tadditionalData: contextualMenuState.additionalData\n\t\t  }\n\t\t: {contextualMenu};\n};\n","import {\n\tBUTTON_ACTIONS,\n\tSYS_PROPS,\n\tUSER_MENU_ID,\n\tUSER_MENU_HEADER_TEXT,\n\tNOW_ASSIST_MENU_ID\n} from '../../../constants';\nimport {t} from 'sn-translate';\nimport {createRef, Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport './sn-contextual-menu';\nimport {get} from 'lodash';\nimport {\n\tCLOSE_MENUS,\n\tCONTEXTUAL_MENU_SELECTED\n} from '../../sn-polaris-layout/actions';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\n\nimport {\n\tActionButton,\n\tAvatarButton,\n\tUtilityButton\n} from './fragments/button-fragments';\nimport {UserMenuFragment} from './fragments/menu-fragments';\nimport {\n\tgetFragmentProperties,\n\tisContextualMenuActive\n} from './utility-menu.utils';\n\nconst uiPresenceDisabled = getBooleanProperty(\n\tSYS_PROPS.UI.PRESENCE_DISABLED,\n\tfalse\n);\n\n/**\n * Main Contextual Utilities Zone View\n * @param {*} param0\n */\nexport const UtilityMenu = ({\n\tcurrentRouteHeaderConfig = {},\n\tisLoggedIn = false,\n\treversed,\n\tcanAnimate,\n\tmenuWidth,\n\tcontextualMenu,\n\tcontextualMenuState,\n\theaderProperties,\n\tavatar,\n\tisImpersonating,\n\tisElevated,\n\televatedRoles,\n\tdispatch,\n\tscreenContentLinks,\n\tactiveModal,\n\tutilityMenuData,\n\tutilityMenuItemLeftPositions,\n\tuserMeta,\n\tfeedbackFormEnabled,\n\twindowSize,\n\tisAIELEnabled,\n\tworksWithBrandingEnabled\n}) => {\n\tconst {privatePage = {}, publicPage = {}} = currentRouteHeaderConfig;\n\tconst userPage = isLoggedIn ? privatePage : publicPage;\n\tconst userMenuItems = get(userPage, 'globalTools.primaryItems', []);\n\tconst elevatedRole = elevatedRoles.length > 0 ? elevatedRoles[0] : '';\n\n\tconst actions = isLoggedIn\n\t\t? get(userPage, 'globalTools.secondaryItems', [])\n\t\t: get(userPage, 'actionButtons', []);\n\n\tconst utilityMenuRef = createRef(); // div which holds all the utility buttons\n\n\t/**\n\t *\n\t * @param {Number} menuIndex - the index is based on its place within the utilityMenuData array\n\t * @param {*} buttonConfig - object which describes the properties of the button that was clicked\n\t */\n\tconst onOpenContextualMenu = (menuId, buttonConfig) => (e) => {\n\t\te.stopPropagation();\n\t\tconst {dispatchedAction, payload} = buttonConfig;\n\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\tmenuId,\n\t\t\tbuttonConfig,\n\t\t\tdispatchedAction\n\t\t});\n\t\tdispatch(CLOSE_MENUS);\n\t\tdispatch(dispatchedAction, payload);\n\t};\n\n\t/**\n\t * render zone 4  - search field, action menu, utilities menu, user avatar & user menu\n\t */\n\n\treturn (\n\t\t<div\n\t\t\tref={utilityMenuRef}\n\t\t\tclassName=\"utility-menu\"\n\t\t\tclass={{\n\t\t\t\t'can-animate': canAnimate\n\t\t\t}}>\n\t\t\t{/* render action buttons */}\n\t\t\t{actions\n\t\t\t\t? actions.map((action) => <ActionButton action={action} />)\n\t\t\t\t: null}\n\n\t\t\t{/* Loop over utilityMenuData to render utility buttons and related contextual menus */}\n\t\t\t{utilityMenuData.map((utilityMenuItem) => {\n\t\t\t\tconst buttonConfig = utilityMenuItem.buttonConfig;\n\t\t\t\tconst menuConfig = utilityMenuItem.menuConfig;\n\t\t\t\tconst menuId = menuConfig.menuProperties.menuType;\n\n\t\t\t\tconst handleMenuOpen = onOpenContextualMenu(\n\t\t\t\t\tcontextualMenuState.primaryMenuId === menuId ||\n\t\t\t\t\t\tcontextualMenuState.secondaryMenuId === menuId\n\t\t\t\t\t\t? null\n\t\t\t\t\t\t: menuId,\n\t\t\t\t\tbuttonConfig\n\t\t\t\t);\n\n\t\t\t\t// Customers should never be using this.\n\t\t\t\tif (\n\t\t\t\t\tgetBooleanProperty(\n\t\t\t\t\t\t'glide.ui.polaris.disable_utility_badging',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) === true\n\t\t\t\t) {\n\t\t\t\t\tbuttonConfig.indicatorOn = false;\n\t\t\t\t\tbuttonConfig.showBadgeCount = false;\n\t\t\t\t\tbuttonConfig.badgeCount = 0;\n\t\t\t\t\tbuttonConfig.badgeDot = 0;\n\t\t\t\t\tbuttonConfig.presence = {showPresence: false};\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{/* render utility button */}\n\t\t\t\t\t\t{!buttonConfig.hidden ? (\n\t\t\t\t\t\t\t<UtilityButton\n\t\t\t\t\t\t\t\ticon={buttonConfig.icon}\n\t\t\t\t\t\t\t\tid={buttonConfig.id}\n\t\t\t\t\t\t\t\topened={isContextualMenuActive({\n\t\t\t\t\t\t\t\t\tcontextualMenuState,\n\t\t\t\t\t\t\t\t\tbuttonConfig,\n\t\t\t\t\t\t\t\t\tmenuId,\n\t\t\t\t\t\t\t\t\tutilityMenuRef\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\ttooltipContent={buttonConfig.tooltipContent}\n\t\t\t\t\t\t\t\tpayload={buttonConfig.payload}\n\t\t\t\t\t\t\t\thandleMenuOpen={handleMenuOpen}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tindicatorOn={buttonConfig.indicatorOn}\n\t\t\t\t\t\t\t\tisPinned={\n\t\t\t\t\t\t\t\t\tcontextualMenuState.pinnedMenuId === menuId &&\n\t\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowBadgeCount={buttonConfig.showBadgeCount}\n\t\t\t\t\t\t\t\tbadgeCount={buttonConfig.badgeCount || 0}\n\t\t\t\t\t\t\t\tbadgeDot={buttonConfig.badgeDot || 0}\n\t\t\t\t\t\t\t\tpresence={buttonConfig.presence}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t{/* user menu toggle & avatar button */}\n\t\t\t{isLoggedIn ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<AvatarButton\n\t\t\t\t\t\tavatarPath={avatar.avatarPath}\n\t\t\t\t\t\tfullName={avatar.fullName}\n\t\t\t\t\t\tpresence={uiPresenceDisabled ? '' : avatar.presence || 'available'} // avatar.presence is not populated by UXR yet so default to available for now so avatar presence dot and tooltip are correct\n\t\t\t\t\t\tisImpersonating={isImpersonating}\n\t\t\t\t\t\tisElevated={isElevated}\n\t\t\t\t\t\topened={\n\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId === USER_MENU_ID ||\n\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId === USER_MENU_ID\n\t\t\t\t\t\t}\n\t\t\t\t\t\televatedRole={elevatedRole}\n\t\t\t\t\t\tid={'user-menu'}\n\t\t\t\t\t\ttooltipContent={{value: 'Show user menu'}}\n\t\t\t\t\t\tpayload={{\n\t\t\t\t\t\t\tcontextualMenuType: USER_MENU_ID\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thandleMenuOpen={onOpenContextualMenu(\n\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId === USER_MENU_ID ||\n\t\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId === USER_MENU_ID\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: USER_MENU_ID,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\t\tid: 'user-menu',\n\t\t\t\t\t\t\t\ttooltipContent: t('Show user menu'),\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\tcontextualMenuType: USER_MENU_ID,\n\t\t\t\t\t\t\t\t\tcontextualMenuHeaderText: USER_MENU_HEADER_TEXT\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.AVATAR_ICON_CLICKED\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t\t{/* user context menu */}\n\t\t\t\t\t<sn-contextual-menu\n\t\t\t\t\t\tnow-mode={\n\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId !== USER_MENU_ID &&\n\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId !== USER_MENU_ID\n\t\t\t\t\t\t\t\t? 'suspend'\n\t\t\t\t\t\t\t\t: 'active'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\tid=\"userMenu\"\n\t\t\t\t\t\tcontextualMenu={{menuData: {userMeta: userMeta}}}\n\t\t\t\t\t\tmenuContainerRef={utilityMenuRef}\n\t\t\t\t\t\tdefer={\n\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId !== USER_MENU_ID &&\n\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId !== USER_MENU_ID\n\t\t\t\t\t\t}\n\t\t\t\t\t\topened={\n\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId === USER_MENU_ID ||\n\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId === USER_MENU_ID\n\t\t\t\t\t\t}\n\t\t\t\t\t\treversed={reversed}\n\t\t\t\t\t\tmenuState={contextualMenuState}\n\t\t\t\t\t\tanimationsEnabled={canAnimate}\n\t\t\t\t\t\tmenuIndex={utilityMenuData.length}\n\t\t\t\t\t\tisPrimary={\n\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned\n\t\t\t\t\t\t\t\t? contextualMenuState.primaryMenuId === USER_MENU_ID\n\t\t\t\t\t\t\t\t: true\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmenuProperties={{\n\t\t\t\t\t\t\tmenuType: USER_MENU_ID,\n\t\t\t\t\t\t\tbuttonId: 'user-menu'\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tmenuWidth={menuWidth}\n\t\t\t\t\t\tmenuUnpinnedLeft={utilityMenuItemLeftPositions.userMenu}\n\t\t\t\t\t\tactiveModal={activeModal}\n\t\t\t\t\t\twindowSize={windowSize}>\n\t\t\t\t\t\t{contextualMenuState.hasBeenOpened?.indexOf(USER_MENU_ID) > -1 ||\n\t\t\t\t\t\tcontextualMenuState.primaryMenuId === USER_MENU_ID ||\n\t\t\t\t\t\tcontextualMenuState.secondaryMenuId === USER_MENU_ID ? (\n\t\t\t\t\t\t\t// todo: remove this outer span as the fragment already has it\n\t\t\t\t\t\t\t<span slot=\"menu-content\">\n\t\t\t\t\t\t\t\t<UserMenuFragment\n\t\t\t\t\t\t\t\t\tcontextualMenu={headerProperties}\n\t\t\t\t\t\t\t\t\texperienceUserMenuItems={userMenuItems || []}\n\t\t\t\t\t\t\t\t\tscreenContentLinks={screenContentLinks}\n\t\t\t\t\t\t\t\t\tworksWithBrandingEnabled={worksWithBrandingEnabled}\n\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/sn-contextual-menu>\n\t\t\t\t<\/Fragment>\n\t\t\t) : null}\n\n\t\t\t{utilityMenuData.map((utilityMenuItem, i) => {\n\t\t\t\tconst buttonConfig = utilityMenuItem.buttonConfig;\n\t\t\t\tconst menuConfig = utilityMenuItem.menuConfig;\n\t\t\t\tconst menuId = menuConfig.menuProperties.menuType;\n\n\t\t\t\tconst isActive = isContextualMenuActive({\n\t\t\t\t\tcontextualMenuState,\n\t\t\t\t\tbuttonConfig,\n\t\t\t\t\tmenuId,\n\t\t\t\t\tutilityMenuRef\n\t\t\t\t});\n\t\t\t\tconst menuUnpinnedLeft = utilityMenuItemLeftPositions[menuId];\n\n\t\t\t\tconst isHelpMenu = menuConfig.menuProperties.menuType === 'helpMenu';\n\t\t\t\tconst fragmentProperties = getFragmentProperties({\n\t\t\t\t\tcontextualMenuState,\n\t\t\t\t\tmenuId,\n\t\t\t\t\tcanAnimate,\n\t\t\t\t\tbuttonConfig,\n\t\t\t\t\tmenuConfig,\n\t\t\t\t\tcontextualMenu\n\t\t\t\t});\n\n\t\t\t\tconst snContextualMenu =\n\t\t\t\t\tmenuConfig.menuProperties.menuType !== null &&\n\t\t\t\t\tmenuConfig.menuProperties.menuType !== 'ctiMenu' &&\n\t\t\t\t\t(menuConfig.menuProperties.menuType !== NOW_ASSIST_MENU_ID ||\n\t\t\t\t\t\t!isAIELEnabled) &&\n\t\t\t\t\t!menuConfig.forUtilityBar ? (\n\t\t\t\t\t\t<sn-contextual-menu\n\t\t\t\t\t\t\tnow-mode={!(isHelpMenu || isActive) ? 'suspend' : 'active'}\n\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\tshould-always-render={isHelpMenu}\n\t\t\t\t\t\t\tdefer={!(isHelpMenu || isActive)}\n\t\t\t\t\t\t\tkey={`id-${menuConfig.menuProperties.menuType}`}\n\t\t\t\t\t\t\tid={menuConfig.menuProperties.menuType}\n\t\t\t\t\t\t\tcontextualMenu={contextualMenu}\n\t\t\t\t\t\t\tmenuIndex={i}\n\t\t\t\t\t\t\tmenuContainerRef={utilityMenuRef}\n\t\t\t\t\t\t\topened={isActive}\n\t\t\t\t\t\t\treversed={menuConfig.reversed}\n\t\t\t\t\t\t\tanimationsEnabled={\n\t\t\t\t\t\t\t\tcanAnimate && buttonConfig.id !== 'concourse-pickers'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisPrimary={\n\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t\t\t\t? contextualMenuState.primaryMenuId === menuId\n\t\t\t\t\t\t\t\t\t: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmenuProperties={menuConfig.menuProperties}\n\t\t\t\t\t\t\tmenuState={contextualMenuState}\n\t\t\t\t\t\t\tmenuWidth={menuWidth}\n\t\t\t\t\t\t\tmenuUnpinnedLeft={menuUnpinnedLeft}\n\t\t\t\t\t\t\tfeedbackFormEnabled={feedbackFormEnabled}\n\t\t\t\t\t\t\tactiveModal={activeModal}\n\t\t\t\t\t\t\twindowSize={windowSize}>\n\t\t\t\t\t\t\t{contextualMenuState.hasBeenOpened?.indexOf(menuId) > -1 ||\n\t\t\t\t\t\t\tisActive ||\n\t\t\t\t\t\t\tisHelpMenu\n\t\t\t\t\t\t\t\t? menuConfig.menuContent(\n\t\t\t\t\t\t\t\t\t\tfragmentProperties,\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState\n\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t<\/sn-contextual-menu>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t);\n\n\t\t\t\treturn menuConfig.forUtilityBar ? '' : snContextualMenu;\n\t\t\t})}\n\t\t<\/div>\n\t);\n};\n","import {SYS_PROPS} from '../../../constants';\nimport {SEARCH_INPUT_ONRESIZE} from '../../../behaviors/search-behavior/actions';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\n\nconst aiSearchEnabled = getBooleanProperty(\n\tSYS_PROPS.UI.POLARIS_AI_SEARCH_READY,\n\tfalse\n);\n\nexport const SearchContainer = ({\n\trenderSearch,\n\tselectedSearchContext,\n\tsearchTerm,\n\tsearchContexts,\n\tcanAnimate,\n\tisPolarisEnabled,\n\tdispatch,\n\tsearchInputVariant,\n\tisAIELEnabled\n}) => {\n\tconst resizeObserver = new ResizeObserver(() => {\n\t\tdispatch(SEARCH_INPUT_ONRESIZE);\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclass={{'polaris-search': true, 'polaris-enabled': isPolarisEnabled}}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tresizeObserver.observe(elm);\n\t\t\t}}>\n\t\t\t{renderSearch ? (\n\t\t\t\t<sn-search-input-wrapper\n\t\t\t\t\tglobalSearchViewConfigId={\n\t\t\t\t\t\tselectedSearchContext?.searchViewConfigId || ''\n\t\t\t\t\t}\n\t\t\t\t\tsearchContextConfigId={\n\t\t\t\t\t\tselectedSearchContext?.searchDataConfigId || ''\n\t\t\t\t\t}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tplacement=\"header\"\n\t\t\t\t\tplaceholder=\"\"\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\tsearchContexts={searchContexts}\n\t\t\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\t\t\tcanAnimate={canAnimate}\n\t\t\t\t\taiSearchEnabled={aiSearchEnabled}\n\t\t\t\t\twindowSize={searchInputVariant}\n\t\t\t\t\tisAIELEnabled={isAIELEnabled}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport {\n\tLAYOUT_ITEM_UNFAVORITED,\n\tFAVORITE_EXPERIENCE_TITLE_STAR_CLICKED\n} from '../../../../behaviors/favorites-behavior/actions';\nimport createInteractionHandlers from '../../../../utils/createInteractionHandlers';\nimport {EXPEREIENCE_TITLE_RESIZED} from '../../actions';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\n\nexport const ExperienceTitlePill = ({\n\tpageLabel,\n\tisPolarisEnabled,\n\tselectedContentFavorite,\n\tfavoriteSR,\n\tfavoriteTooltip,\n\ttempFavoriteStarFill,\n\thideFavoriteTooltip,\n\tdispatch\n}) => {\n\tlet titleElm = null;\n\n\tconst resizeObserver = new ResizeObserver(() => {\n\t\tdispatch(EXPEREIENCE_TITLE_RESIZED);\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"polaris-header-experience-title\"\n\t\t\thook-destroy={() => (titleElm = null)}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tresizeObserver.observe(elm);\n\t\t\t}}\n\t\t\taria-description={pageLabel}>\n\t\t\t<span\n\t\t\t\tclassName=\"experience-title\"\n\t\t\t\tdata-tooltip={pageLabel}\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\ttitleElm = elm;\n\t\t\t\t\tif (\n\t\t\t\t\t\telm.parentElement?.children[2] &&\n\t\t\t\t\t\telm.parentElement?.children[2].targetRef\n\t\t\t\t\t) {\n\t\t\t\t\t\telm.parentElement.children[2].targetRef = titleElm;\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t\t}}\n\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t}}\n\t\t\t\tdata-truncation>\n\t\t\t\t{pageLabel}\n\t\t\t<\/span>\n\t\t\t{isPolarisEnabled ? (\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'experience-title-favorite-button': true,\n\t\t\t\t\t\t'is-favorite': selectedContentFavorite\n\t\t\t\t\t}}\n\t\t\t\t\taria-describedby=\"experience_title_favorite_button\"\n\t\t\t\t\taria-label={favoriteSR}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\t// prevent setting focus when clicking\n\t\t\t\t\ton-mousedown={(e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t}}\n\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tselectedContentFavorite\n\t\t\t\t\t\t\t? dispatch(LAYOUT_ITEM_UNFAVORITED, {\n\t\t\t\t\t\t\t\t\titem: selectedContentFavorite,\n\t\t\t\t\t\t\t\t\tfromExperienceTitle: true,\n\t\t\t\t\t\t\t\t\tpopupRef: e.currentTarget,\n\t\t\t\t\t\t\t\t\tpositions: [{target: 'bottom-center', content: 'top-center'}]\n\t\t\t\t\t\t\t  })\n\t\t\t\t\t\t\t: dispatch(FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED, {\n\t\t\t\t\t\t\t\t\ttitle: favoriteTooltip,\n\t\t\t\t\t\t\t\t\tfavoritePopupPayload: {\n\t\t\t\t\t\t\t\t\t\tinitialName: favoriteTooltip,\n\t\t\t\t\t\t\t\t\t\tfromExperienceTitle: true,\n\t\t\t\t\t\t\t\t\t\tpopupRef: e.currentTarget\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t  });\n\t\t\t\t\t})}\n\t\t\t\t\ttab-index=\"0\"\n\t\t\t\t\t// If there is no data-tooltip attribute, the tooltip\n\t\t\t\t\t// will not be shown as it does not have any content\n\t\t\t\t\t{...(!hideFavoriteTooltip\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t'data-tooltip': t(\n\t\t\t\t\t\t\t\t\tselectedContentFavorite\n\t\t\t\t\t\t\t\t\t\t? 'Remove favorite for {0}'\n\t\t\t\t\t\t\t\t\t\t: 'Create favorite for {0}',\n\t\t\t\t\t\t\t\t\tfavoriteTooltip\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {})}\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t}}>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tkey=\"mainFavIcon\"\n\t\t\t\t\t\tclassName=\"experience-title-favorite-icon\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tselectedContentFavorite || tempFavoriteStarFill\n\t\t\t\t\t\t\t\t? 'star-fill'\n\t\t\t\t\t\t\t\t: 'star-outline'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t/>\n\t\t\t\t<\/span>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\nimport {POLARIS_CONTEXT, SEARCH, POLARIS_SITE_NAME} from '../constants';\nimport {getExperienceSearchConfig} from '../behaviors/search-behavior';\n\nexport const validateSearchPage = (selectedContent) => {\n\treturn (\n\t\tselectedContent.route === SEARCH &&\n\t\tselectedContent.params?.searchTerm &&\n\t\tselectedContent.params?.searchContext\n\t);\n};\n\n// Page title should use a \"pipe\"; navigation pill and favorite should use hyphen.\nexport const formatSearchPageTitle = (\n\tselectedContent,\n\tseparator = '-',\n\tlocation = null,\n\tpolarisSearchContexts\n) => {\n\tconst selectedContext =\n\t\t{path: selectedContent.params.searchContext} || POLARIS_CONTEXT;\n\tconst context = getExperienceSearchConfig(\n\t\tpolarisSearchContexts,\n\t\tselectedContext\n\t);\n\n\tlet title = t(\n\t\t{\n\t\t\tcode: 'unified-nav',\n\t\t\tmessage: 'Search Results {separator} {searchTerm}'\n\t\t},\n\t\t{\n\t\t\tseparator,\n\t\t\tsearchTerm: selectedContent.params.searchTerm\n\t\t}\n\t);\n\n\t// Non-global searches (eg. not within a workspace) should just show the scope in the pill (ie. no \"search\" labeling).\n\tif (context?.id !== POLARIS_SITE_NAME && context?.label) {\n\t\ttitle += ` ${separator} ${context.label}`;\n\n\t\tif (location === 'pill') title = `${context.label}`;\n\t}\n\n\treturn title;\n};\n","import {CLASSIC, POLARIS_SITE_NAME, POLARIS_CONTEXT} from '../constants';\nimport {validateSearchPage, formatSearchPageTitle} from './search';\nimport {t} from 'sn-translate';\n\nexport const getExperienceLabelAndFavoriteTooltip = (\n\tselectedContent,\n\tpageTitle,\n\tpolarisSearchContexts,\n\tbypassExperienceTitle\n) => {\n\tif (\n\t\tselectedContent &&\n\t\tselectedContent.route === CLASSIC &&\n\t\tpageTitle?.label\n\t) {\n\t\tconst pageLabel = pageTitle.label;\n\t\treturn {pageLabel, favoriteTooltip: pageLabel};\n\t}\n\n\tlet pageLabel = window.document.title;\n\tlet favoriteTooltip = window.document.title;\n\t// if selectedContent is defined and has an experienceName and title, use those for page title\n\tif (selectedContent?.context?.experienceName) {\n\t\tpageLabel =\n\t\t\tselectedContent.context.path === POLARIS_SITE_NAME ||\n\t\t\tbypassExperienceTitle\n\t\t\t\t? pageTitle?.label || selectedContent.title\n\t\t\t\t: selectedContent.context.experienceName; // new pageLabel starts with experience name\n\n\t\tif (\n\t\t\tselectedContent.context.path === POLARIS_SITE_NAME &&\n\t\t\tvalidateSearchPage(selectedContent)\n\t\t) {\n\t\t\tpageLabel = formatSearchPageTitle(\n\t\t\t\tselectedContent,\n\t\t\t\t'-',\n\t\t\t\t'pill',\n\t\t\t\tpolarisSearchContexts\n\t\t\t);\n\t\t}\n\n\t\tfavoriteTooltip = selectedContent.context.experienceName;\n\t\tif (favoriteTooltip === POLARIS_CONTEXT.experienceName) {\n\t\t\tfavoriteTooltip = t('Home');\n\t\t}\n\n\t\t// append label if it exists\n\t\tif (selectedContent.title) {\n\t\t\tfavoriteTooltip = `${selectedContent.title} - ${favoriteTooltip}`;\n\t\t}\n\t}\n\n\tif (!pageLabel) {\n\t\tpageLabel = window.document.title;\n\t\tfavoriteTooltip = window.document.title;\n\t}\n\n\treturn {pageLabel, favoriteTooltip};\n};\n","export default () => window.ux_globals?.pageProperties?.isATF === true;\n","import {t} from 'sn-translate';\n\nexport const SUBSCRIBE_TO_COLLAB_CHAT = 'SUBSCRIBE_TO_COLLAB_CHAT';\nexport const COLLAB_CHAT_BEHAVIOR = 'COLLAB_CHAT_BEHAVIOR';\nexport const INIT_COLLAB_CHAT = 'INIT_COLLAB_CHAT';\nexport const QUERY_UNREAD_COUNT = 'QUERY_UNREAD_COUNT';\nexport const QUERY_UNREAD_COUNT_SUCCEEDED = 'QUERY_UNREAD_COUNT_SUCCEEDED';\nexport const COLLAB_CHAT_AMB_MESSAGE_RECEIVED =\n\t'COLLAB_CHAT_AMB_MESSAGE_RECEIVED';\nexport const QUERY_COLLAB_RECORD = 'QUERY_COLLAB_RECORD';\nexport const COLLAB_RECORD_QUERY_SUCCEEDED = 'COLLAB_RECORD_QUERY_SUCCEEDED';\nexport const OPEN_COLLAB_CHAT = 'RECORD#OPEN_COLLAB_CHAT';\nexport const COLLAB_MODAL_OPENED =\n\t'SN_COLLAB_CREATE_CHAT_MODAL#COLLAB_MODAL_OPENED';\nexport const COLLAB_MODAL_CLOSED =\n\t'SN_COLLAB_CREATE_CHAT_MODAL#COLLAB_MODAL_CLOSED';\nexport const OPEN_COLLAB_CHAT_IN_DOCK =\n\t'SN_COLLAB_CHAT_LIST#OPEN_COLLAB_CHAT_IN_DOCK';\nexport const CREATE_COLLAB_CHAT_MUTATION_SUCCEEDED =\n\t'SN_COLLAB_CREATE_CHAT_MODAL#CREATE_COLLAB_CHAT_MUTATION_SUCCEEDED';\nexport const FLOATING_CONTAINER_RESIZED =\n\t'SN_COLLAB_CHAT#FLOATING_CONTAINER_RESIZED';\nexport const COLLAB_PANEL_OPENED = 'SN_COLLAB_CHAT#COLLAB_PANEL_OPENED';\nexport const TOGGLE_SEARCH_VISIBILITY =\n\t'COLLAB_CHAT_MENU_HEADER#TOGGLE_SEARCH_VISIBILITY';\nexport const COLLAB_CHAT_MENU_HEADER_SEND_COMMAND =\n\t'COLLAB_CHAT_MENU_HEADER#SEND_COMMAND';\nexport const CHAT_MENU_ID = 'chat';\nexport const COLLAB_PANEL_HEADER_TEXT = t('Chat');\n","import {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {cloneDeep} from 'lodash';\nimport {\n\tBUTTON_ACTIONS,\n\tSYS_PROPS,\n\tCONCOURSE_PICKER_MENU_ID,\n\tCONCOURSE_PICKER_HEADER_TEXT,\n\tINSTANCE_TOOLS_ID,\n\tNOTIFICATIONS_ID,\n\tNOTIFICATIONS_HEADER_TEXT,\n\tUTILITY_OVERFLOW_MENU_ID,\n\tINSTANCE_TOOLS_HEADER_TEXT,\n\tNOW_ASSIST_MENU_ID,\n\tNOW_ASSIST_MENU_HEADER_TEXT,\n\tHELP_MENU_ID,\n\tHELP_MENU_HEADER_TEXT,\n\tINSTANCE_TOOLS_MENU_ID,\n\tOPENFRAME_MENU_ID,\n\tOPENFRAME_MENU_HEADER_TEXT,\n\tUTILITY_OVERFLOW_MENU_HEADER_TEXT,\n\tCHAT_MENU_HEADER_TEXT,\n\tUSAGE_ANALYTICS_MENU_ID,\n\tUSAGE_ANALYTICS_HEADER_TEXT,\n\tAIEL_SERVICE_AVAILABLE,\n\tBRAND_CONFIG_UPDATED\n} from '../../constants';\nimport {USER_SETTINGS_MODAL_OPENED} from '../user-settings-behavior/actions';\nimport {\n\tCONTEXT_MENU_HEADER_TYPES,\n\tUPDATE_UTILITY_MENU_ITEMS,\n\tUTILITY_MENU_UPDATED\n} from './actions';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport {getBooleanPreferenceValue, PREFERENCES} from '@devsnc/unav-utils';\nimport {isDeepEqual} from '../../utils/deepEquals';\n\nimport {\n\tConcoursePickerFragment,\n\tBellMenuFragment,\n\tChatMenuFragment,\n\tHelpMenuFragment,\n\tOverflowUtilMenuFragment,\n\tUsageAnalyticsFragment,\n\tNowAssistFragment\n} from '../../components/sn-polaris-header/utility-menu/fragments/menu-fragments';\nimport getBooleanPropertyWhenPolarisEnabled from '../../utils/getBooleanPropertyWhenPolarisEnabled';\nimport {CHAT_MENU_ID} from '../collab-chat-behavior/constants';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nlet unsubscribeBrandingConfig = null;\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tproperties: {contextualMenuState, utilityMenuData},\n\t\tupdateProperties\n\t} = coeffects;\n\n\tconst name = payload.name;\n\tswitch (name) {\n\t\tcase 'nowAssistMenuBadgeCount':\n\t\t\tif (\n\t\t\t\tcontextualMenuState.primaryMenuId !== NOW_ASSIST_MENU_ID &&\n\t\t\t\tcontextualMenuState.secondaryMenuId !== NOW_ASSIST_MENU_ID &&\n\t\t\t\tpayload.previousValue != payload.value\n\t\t\t) {\n\t\t\t\tconst updatedUtilityMenuData = cloneDeep(utilityMenuData);\n\t\t\t\tupdatedUtilityMenuData.forEach((item) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\titem.buttonConfig &&\n\t\t\t\t\t\titem.buttonConfig.id === 'now-assist-button'\n\t\t\t\t\t) {\n\t\t\t\t\t\titem.buttonConfig.badgeCount = payload.value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tupdateProperties({\n\t\t\t\t\tutilityMenuData: updatedUtilityMenuData\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'dir':\n\t\tcase 'contextualMenu':\n\t\tcase 'contextualMenuState':\n\t\tcase 'animationsEnabled':\n\t\tcase 'isCollabChatEnabled':\n\t\tcase 'isUsageAnalyticsEnabled':\n\t\tcase 'showNowAssistMenu':\n\t\tcase 'userMeta':\n\t\tcase 'helpPanelAppContext':\n\t\tcase 'openFrame':\n\t\tcase 'isNotificationsEnabled':\n\t\tcase 'unreadNotificationCount':\n\t\tcase 'userPreferences':\n\t\tcase 'userSession':\n\t\tcase 'utilityMenuData':\n\t\tcase 'selectedContent':\n\t\tcase 'applicationId':\n\t\tcase 'feedbackFormEnabled':\n\t\tcase 'concoursePickerConfig':\n\t\tcase 'openFrameConfig':\n\t\tcase 'napShortcutCommand':\n\t\tcase 'wideMenus':\n\t\t\trefreshUtilityMenuData(coeffects);\n\t\t\tbreak;\n\t}\n};\n\nconst handleDomReady = (coeffects) => {\n\tconst {updateState} = coeffects;\n\trefreshUtilityMenuData(coeffects);\n\tconst onServiceAvailable = () => {\n\t\tlet brandingConfig = {};\n\t\tif (window?.__AIEX_GLOBALS__) {\n\t\t\tunsubscribeBrandingConfig = window.__AIEX_GLOBALS__?.subscribeToEvent(\n\t\t\t\tBRAND_CONFIG_UPDATED,\n\t\t\t\t(data) => {\n\t\t\t\t\tbrandingConfig = data.brandingConfig;\n\t\t\t\t\tif (brandingConfig?.header) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tbrandingConfig: brandingConfig\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t};\n\twindow.addEventListener(AIEL_SERVICE_AVAILABLE, onServiceAvailable);\n};\n\n/**\n * create an array of items to describe what should appear in the utility menu.\n * Each item in the array represents both the utility button and its contextual menu.\n * This array does not include the user menu because its too different from the others.\n */\nconst refreshUtilityMenuData = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tdir,\n\t\t\tcontextualMenu,\n\t\t\tcontextualMenuState,\n\t\t\tanimationsEnabled,\n\t\t\tisCollabChatEnabled,\n\t\t\tisUsageAnalyticsEnabled,\n\t\t\tshowNowAssistMenu,\n\t\t\tuserMeta,\n\t\t\thelpPanelAppContext,\n\t\t\topenFrame,\n\t\t\tisNotificationsEnabled,\n\t\t\tunreadNotificationCount,\n\t\t\tuserPreferences,\n\t\t\tuserSession,\n\t\t\tutilityMenuData,\n\t\t\tselectedContent,\n\t\t\tapplicationId,\n\t\t\tfeedbackFormEnabled,\n\t\t\tconcoursePickerConfig,\n\t\t\topenFrameConfig,\n\t\t\twideMenus,\n\t\t\tisAIELEnabled,\n\t\t\tnowAssistMenuBadgeCount,\n\t\t\tnapShortcutCommand\n\t\t},\n\t\tstate: {brandingConfig},\n\t\tdispatch,\n\t\tupdateProperties\n\t} = coeffects;\n\tconst assistLabel = brandingConfig?.header ?? 'ServiceNow Otto';\n\tconst {isPolarisEnabled, isHelpEnabled} = getFeatureSettings();\n\tconst userTimeZoneOffset = userMeta?.timeZoneOffset;\n\tconst voiceInputPref = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.VOICE_INPUT,\n\t\tfalse\n\t);\n\n\tconst menuData = [];\n\tconst reversed = dir === 'rtl';\n\n\tconst instanceToolsIcon = contextualMenuState.isBarOpen\n\t\t? 'wrench-pencil-fill'\n\t\t: 'wrench-pencil-outline';\n\n\tif (isPolarisEnabled) {\n\t\t// add scope picker button\n\t\tif (concoursePickerConfig.showConcoursePickerButton) {\n\t\t\tconst useUtilityBar = !getBooleanPropertyWhenPolarisEnabled(\n\t\t\t\tSYS_PROPS.UI.INSTANCE_TOOLS_DISABLED,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\tif (useUtilityBar) {\n\t\t\t\tmenuData.push({\n\t\t\t\t\tcontextualMenu: contextualMenu,\n\t\t\t\t\tbuttonConfig: {\n\t\t\t\t\t\thidden: !contextualMenu.utilityBarVisible,\n\t\t\t\t\t\tisUtilityBarTrigger: true,\n\t\t\t\t\t\ticon: instanceToolsIcon,\n\t\t\t\t\t\tid: INSTANCE_TOOLS_ID,\n\t\t\t\t\t\ttooltipContent: {value: t('Show instance tools')},\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tcontextualMenuType: INSTANCE_TOOLS_MENU_ID,\n\t\t\t\t\t\t\tcontextualMenuHeaderText: INSTANCE_TOOLS_HEADER_TEXT\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.INSTANCE_TOOLS_CLICKED,\n\t\t\t\t\t\tindicatorOn:\n\t\t\t\t\t\t\t!contextualMenuState.isBarOpen &&\n\t\t\t\t\t\t\t(concoursePickerConfig.applicationIndicator ||\n\t\t\t\t\t\t\t\tconcoursePickerConfig.updateSetIndicator ||\n\t\t\t\t\t\t\t\tconcoursePickerConfig.domainIndicator),\n\t\t\t\t\t\topenNewMenu: true\n\t\t\t\t\t},\n\t\t\t\t\tmenuConfig: {\n\t\t\t\t\t\tforUtilityBar: true,\n\t\t\t\t\t\topened: contextualMenu.menuType === INSTANCE_TOOLS_MENU_ID,\n\t\t\t\t\t\treversed: reversed,\n\t\t\t\t\t\tmenuContent: () => {\n\t\t\t\t\t\t\t// If we expand usage of the utility bar in the future, we should move bar content here (or at least the non-menu content).\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmenuProperties: {\n\t\t\t\t\t\t\tmenuType: INSTANCE_TOOLS_MENU_ID,\n\t\t\t\t\t\t\tbuttonId: INSTANCE_TOOLS_ID,\n\t\t\t\t\t\t\tcanBePinned: false,\n\t\t\t\t\t\t\tcanToggleWideMenu: false\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tmenuData.push({\n\t\t\t\tcontextualMenu: contextualMenu,\n\t\t\t\tbuttonConfig: {\n\t\t\t\t\thidden: useUtilityBar && contextualMenu.utilityBarVisible,\n\t\t\t\t\ticon: useUtilityBar ? 'wrench-pencil-outline' : 'globe-outline',\n\t\t\t\t\tid: 'concourse-pickers',\n\t\t\t\t\ttooltipContent: useUtilityBar\n\t\t\t\t\t\t? {value: t('Show instance tools')}\n\t\t\t\t\t\t: concoursePickerConfig.concoursePickerTooltip,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tcontextualMenuType: CONCOURSE_PICKER_MENU_ID,\n\t\t\t\t\t\tcontextualMenuHeaderText: useUtilityBar\n\t\t\t\t\t\t\t? INSTANCE_TOOLS_HEADER_TEXT\n\t\t\t\t\t\t\t: CONCOURSE_PICKER_HEADER_TEXT\n\t\t\t\t\t},\n\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.CONCOURSE_PICKER_BUTTON_CLICKED,\n\t\t\t\t\tindicatorOn:\n\t\t\t\t\t\tconcoursePickerConfig.applicationIndicator ||\n\t\t\t\t\t\tconcoursePickerConfig.updateSetIndicator ||\n\t\t\t\t\t\tconcoursePickerConfig.domainIndicator\n\t\t\t\t},\n\t\t\t\tmenuConfig: {\n\t\t\t\t\topened: contextualMenu.menuType === CONCOURSE_PICKER_MENU_ID,\n\t\t\t\t\treversed: reversed,\n\t\t\t\t\t// contextualMenu is outdated when menu is in overflow, so we have to pass props version\n\t\t\t\t\tmenuContent: (props) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ConcoursePickerFragment\n\t\t\t\t\t\t\t\treversed={reversed}\n\t\t\t\t\t\t\t\tcanAnimate={animationsEnabled}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tuserPreferences={userPreferences}\n\t\t\t\t\t\t\t\tcontextualMenu={props?.contextualMenu}\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\tmenuProperties: {\n\t\t\t\t\t\tmenuType: CONCOURSE_PICKER_MENU_ID,\n\t\t\t\t\t\tbuttonId: 'concourse-pickers',\n\t\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\t\tlabel: useUtilityBar\n\t\t\t\t\t\t\t? INSTANCE_TOOLS_HEADER_TEXT\n\t\t\t\t\t\t\t: CONCOURSE_PICKER_HEADER_TEXT\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tif (showNowAssistMenu) {\n\t\tmenuData.push({\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'ai-sparkle-outline',\n\t\t\t\tid: 'now-assist-button',\n\t\t\t\ttooltipContent: {value: t(assistLabel)},\n\t\t\t\tpayload: {\n\t\t\t\t\tnapShortcutCommand,\n\t\t\t\t\tcontextualMenuType: NOW_ASSIST_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: NOW_ASSIST_MENU_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel: assistLabel,\n\t\t\t\t\twindowConfigOverrides: {\n\t\t\t\t\t\tmodalOverlayClickEnabled: true\n\t\t\t\t\t},\n\t\t\t\t\thostType: 'unified-navigation',\n\t\t\t\t\t...(isAIELEnabled && {enableVoiceInput: voiceInputPref})\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.NOW_ASSIST_CLICKED,\n\t\t\t\topenNewMenu: isAIELEnabled,\n\t\t\t\t...(contextualMenuState.primaryMenuId !== NOW_ASSIST_MENU_ID &&\n\t\t\t\t\tcontextualMenuState.secondaryMenuId !== NOW_ASSIST_MENU_ID && {\n\t\t\t\t\t\tbadgeCount: nowAssistMenuBadgeCount\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === NOW_ASSIST_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: isAIELEnabled\n\t\t\t\t\t? () => {}\n\t\t\t\t\t: ({menuUtilProperties, contextualMenu, additionalData}) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<NowAssistFragment\n\t\t\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\t\t\tisContextualMenuPinned={\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned &&\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState.pinnedMenuId === NOW_ASSIST_MENU_ID\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\t\t\t\tmenuContext={contextualMenu.menuContext}\n\t\t\t\t\t\t\t\t\tnapShortcutCommand={napShortcutCommand}\n\t\t\t\t\t\t\t\t\tconversationId={\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState?.additionalData?.conversationId ||\n\t\t\t\t\t\t\t\t\t\tadditionalData?.conversationId\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t  },\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: NOW_ASSIST_MENU_ID,\n\t\t\t\t\tbuttonId: 'now-assist-button',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\tcanBePinned: isAIELEnabled ? false : contextualMenuState.canBePinned,\n\t\t\t\t\tlabel: NOW_ASSIST_MENU_HEADER_TEXT,\n\t\t\t\t\twideMenu: wideMenus?.includes(NOW_ASSIST_MENU_ID) || false,\n\t\t\t\t\tcanToggleWideMenu: false,\n\t\t\t\t\thasExternallyManagedMenu: isAIELEnabled ? false : true\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t// add chat button\n\tif (userSession.isLoggedIn && isCollabChatEnabled) {\n\t\tconst triggerAriaLabel = !contextualMenu.unreadChatCount\n\t\t\t? t('Sidebar discussions')\n\t\t\t: t('Sidebar discussions, {0} unread', contextualMenu.unreadChatCount);\n\n\t\tmenuData.push({\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'ongoing-outline',\n\t\t\t\tid: 'chat-button',\n\t\t\t\ttooltipContent: {value: t('Sidebar discussions')},\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: CHAT_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: CHAT_MENU_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.CHAT_CLICKED,\n\t\t\t\tbadgeCount: contextualMenu.unreadChatCount || 0\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === CHAT_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: ({menuUtilProperties, contextualMenu}) => {\n\t\t\t\t\t// Determine whether the chat menu is in overflow\n\t\t\t\t\tconst menuInOverflow =\n\t\t\t\t\t\tcontextualMenu.drilledMenu?.id === 'chat-button'\n\t\t\t\t\t\t\t? UTILITY_OVERFLOW_MENU_ID\n\t\t\t\t\t\t\t: '';\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ChatMenuFragment\n\t\t\t\t\t\t\tisCollabChatSearchEnabled={\n\t\t\t\t\t\t\t\tcontextualMenuState.isCollabChatSearchEnabled\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcommand={contextualMenuState.command}\n\t\t\t\t\t\t\tcollabChatId={contextualMenu.collabChatId}\n\t\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\t\tuser={userMeta}\n\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\tmenuType={menuInOverflow}\n\t\t\t\t\t\t\tmenuContext={contextualMenu.menuContext}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: CHAT_MENU_ID,\n\t\t\t\t\tbuttonId: 'chat-button',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\tcanBePinned:\n\t\t\t\t\t\tcontextualMenuState.canBePinned &&\n\t\t\t\t\t\t!contextualMenuState.isCollabChatSearchEnabled,\n\t\t\t\t\tlabel: CHAT_MENU_HEADER_TEXT,\n\t\t\t\t\twideMenu: true,\n\t\t\t\t\thasExternallyManagedMenu: true,\n\t\t\t\t\tcanToggleWideMenu: false\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t// add usage analytics button\n\tif (isUsageAnalyticsEnabled) {\n\t\tmenuData.push({\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'appsee-outline',\n\t\t\t\tid: 'usage-analytics-button',\n\t\t\t\ttooltipContent: {value: t('Usage Analytics')},\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: USAGE_ANALYTICS_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: USAGE_ANALYTICS_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel: t('Usage Analytics')\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.USAGE_ANALYTICS_CLICKED\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === USAGE_ANALYTICS_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: ({menuUtilProperties}) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<UsageAnalyticsFragment\n\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\tapplicationId={applicationId}\n\t\t\t\t\t\t\tmenuUtilProperties={menuUtilProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: USAGE_ANALYTICS_MENU_ID,\n\t\t\t\t\tbuttonId: 'usage-analytics-button',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\tcanBePinned: contextualMenuState.canBePinned,\n\t\t\t\t\tlabel: USAGE_ANALYTICS_HEADER_TEXT,\n\t\t\t\t\twideMenu: true,\n\t\t\t\t\thasExternallyManagedMenu: true,\n\t\t\t\t\tcanToggleWideMenu: false\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t// add help button\n\tif (isPolarisEnabled && userSession.isLoggedIn && isHelpEnabled) {\n\t\tconst triggerAriaLabel = t('Show help');\n\n\t\tmenuData.push({\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'circle-question-outline',\n\t\t\t\tid: 'help-button',\n\t\t\t\ttooltipContent: {value: t('Show help')},\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: HELP_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: HELP_MENU_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.HELP_CLICKED,\n\t\t\t\tbadgeDot: contextualMenu.helpContentIndicatorOn\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === HELP_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: (props, menuState) => {\n\t\t\t\t\tconst overflowVisible =\n\t\t\t\t\t\tprops?.contextualMenu?.drilledMenu?.id === 'help-button';\n\t\t\t\t\tconst isHelpPanelPinned =\n\t\t\t\t\t\tmenuState?.isMenuPinned &&\n\t\t\t\t\t\tmenuState?.canBePinned &&\n\t\t\t\t\t\tisPolarisEnabled &&\n\t\t\t\t\t\tmenuState?.primaryMenuId === HELP_MENU_ID;\n\t\t\t\t\tconst isHelpPanelVisible =\n\t\t\t\t\t\tcontextualMenu.menuType === HELP_MENU_ID ||\n\t\t\t\t\t\tisHelpPanelPinned ||\n\t\t\t\t\t\toverflowVisible;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<HelpMenuFragment\n\t\t\t\t\t\t\thelpPanelAppContext={helpPanelAppContext}\n\t\t\t\t\t\t\thideHeader={props?.hideHeader}\n\t\t\t\t\t\t\tfeedbackFormEnabled={feedbackFormEnabled}\n\t\t\t\t\t\t\tisHelpPanelVisible={isHelpPanelVisible}\n\t\t\t\t\t\t\tisContextualMenuPinned={isHelpPanelPinned}\n\t\t\t\t\t\t\toverflowVisible={overflowVisible}\n\t\t\t\t\t\t\tmenuContext={props?.contextualMenu?.menuContext}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: HELP_MENU_ID,\n\t\t\t\t\tbuttonId: 'help-button',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.TEXT,\n\t\t\t\t\tcanBePinned: contextualMenuState.canBePinned,\n\t\t\t\t\tsearchEnabled: false,\n\t\t\t\t\tlabel: HELP_MENU_HEADER_TEXT,\n\t\t\t\t\twideMenu: wideMenus?.includes(HELP_MENU_ID) || false,\n\t\t\t\t\tcanToggleWideMenu: false\n\t\t\t\t},\n\t\t\t\thelpPanelAppContext\n\t\t\t}\n\t\t});\n\t}\n\n\t// add cti button\n\tif (openFrame?.showIcon) {\n\t\tconst menuHeaderText =\n\t\t\topenFrameConfig.AppOpenframe_Query?.config?.title ||\n\t\t\tOPENFRAME_MENU_HEADER_TEXT;\n\t\tconst triggerAriaLabel = !openFrame.badge\n\t\t\t? t(menuHeaderText)\n\t\t\t: t('{0}, {1} active calls', menuHeaderText, openFrame.badge);\n\t\tconst utilData = utilityMenuData.find(\n\t\t\t(data) => data.buttonConfig.id === 'cti'\n\t\t);\n\t\tmenuData.push({\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: openFrame.icon || 'phone-outline',\n\t\t\t\tid: openFrame.id || 'cti',\n\t\t\t\ttooltipContent: {\n\t\t\t\t\tvalue:\n\t\t\t\t\t\topenFrame.tooltip ||\n\t\t\t\t\t\topenFrameConfig.AppOpenframe_Query?.config?.title ||\n\t\t\t\t\t\tt('Phone')\n\t\t\t\t},\n\t\t\t\tselected: openFrame.iconSelected,\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: OPENFRAME_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: menuHeaderText,\n\t\t\t\t\tmenuContainerRef: utilData?.buttonConfig?.payload?.menuContainerRef,\n\t\t\t\t\ttriggerAriaLabel\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.OPENFRAME_ICON_CLICKED,\n\t\t\t\tpresence: {\n\t\t\t\t\tshowPresence: !!openFrame?.status,\n\t\t\t\t\tstatus: openFrame?.status\n\t\t\t\t},\n\t\t\t\topenNewMenu: true,\n\t\t\t\tshowBadgeCount: openFrame.badge,\n\t\t\t\tbadgeCount: openFrame.badge\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === OPENFRAME_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: () => {},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: OPENFRAME_MENU_ID,\n\t\t\t\t\tbuttonId: 'cti',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\tcanBePinned: false,\n\t\t\t\t\tcanToggleWideMenu: false,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\topenFrameConfig.AppOpenframe_Query?.config?.title ||\n\t\t\t\t\t\tOPENFRAME_MENU_HEADER_TEXT\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t// add notifications button\n\tif (isNotificationsEnabled) {\n\t\tconst showBadgeCount = getBooleanPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT,\n\t\t\ttrue\n\t\t);\n\n\t\tconst badgeCount = unreadNotificationCount || 0;\n\t\tlet displayedCount = badgeCount;\n\t\tif (\n\t\t\tcontextualMenuState.primaryMenuId === NOTIFICATIONS_ID ||\n\t\t\tcontextualMenuState.secondaryMenuId === NOTIFICATIONS_ID ||\n\t\t\t(contextualMenuState.primaryMenuId === UTILITY_OVERFLOW_MENU_ID &&\n\t\t\t\tcontextualMenu.drilledMenu?.id === 'experience-notifications')\n\t\t) {\n\t\t\tdisplayedCount = 0;\n\t\t}\n\n\t\tconst triggerAriaLabel =\n\t\t\tdisplayedCount === 0\n\t\t\t\t? t({code: 'unified-nav', message: 'Show notifications'})\n\t\t\t\t: displayedCount === 1\n\t\t\t\t? t('Show 1 notification')\n\t\t\t\t: t('Show {0} notifications', displayedCount);\n\n\t\tmenuData.push({\n\t\t\tcontextualMenu: contextualMenu,\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'bell-outline',\n\t\t\t\tid: 'experience-notifications',\n\t\t\t\ttooltipContent: {\n\t\t\t\t\tvalue: t({code: 'unified-nav', message: 'Show notifications'})\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: NOTIFICATIONS_ID,\n\t\t\t\t\tcontextualMenuHeaderText: NOTIFICATIONS_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.NOTIFICATION_TRIGGERED,\n\t\t\t\tbadgeCount: displayedCount,\n\t\t\t\tshowBadgeCount\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === NOTIFICATIONS_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: (props) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BellMenuFragment\n\t\t\t\t\t\t\tuserTimeZoneOffset={userTimeZoneOffset}\n\t\t\t\t\t\t\tisMoreNotifications={badgeCount > 0}\n\t\t\t\t\t\t\tnotificationData={props?.contextualMenu.notificationData}\n\t\t\t\t\t\t\thideHeader={props?.hideHeader}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: NOTIFICATIONS_ID,\n\t\t\t\t\tbuttonId: 'experience-notifications',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.TEXT,\n\t\t\t\t\tlabel: NOTIFICATIONS_HEADER_TEXT,\n\t\t\t\t\tcanBePinned: contextualMenuState.canBePinned,\n\t\t\t\t\tcanToggleWideMenu: false,\n\t\t\t\t\twideMenu: wideMenus?.includes(NOTIFICATIONS_ID) || false,\n\t\t\t\t\theaderButtonsConfig: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ticon: 'gear-outline',\n\t\t\t\t\t\t\tid: 'preferences',\n\t\t\t\t\t\t\taction: USER_SETTINGS_MODAL_OPENED,\n\t\t\t\t\t\t\tpayload: {initialTab: NOTIFICATIONS_ID},\n\t\t\t\t\t\t\tlabel: t('Open notification preferences'),\n\t\t\t\t\t\t\ttooltipContent: t('Open notification preferences')\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/*\n\t * Be careful changing any if statements here because `sn-polaris-header` only knows to\n\t * re-render sometimes because of the `contextualMenu` below here and the fact that notificaitons.\n\t * are copied here.\n\t */\n\t// add overflow button\n\tif (isPolarisEnabled && menuData.length) {\n\t\tconst triggerAriaLabel = !contextualMenu.overflowBadgeCount\n\t\t\t? t('Overflow Menus')\n\t\t\t: contextualMenu.overflowBadgeCount === 1\n\t\t\t? t('Overflow Menus, 1 item')\n\t\t\t: t('Overflow Menus, {0} items', contextualMenu.overflowBadgeCount);\n\t\tmenuData.push({\n\t\t\tcontextualMenu: contextualMenu,\n\t\t\tbuttonConfig: {\n\t\t\t\ticon: 'ellipsis-v-outline',\n\t\t\t\tid: 'utility-overflow-menu',\n\t\t\t\ttooltipContent: {value: t('Overflow Menus')},\n\t\t\t\tpayload: {\n\t\t\t\t\tcontextualMenuType: UTILITY_OVERFLOW_MENU_ID,\n\t\t\t\t\tcontextualMenuHeaderText: UTILITY_OVERFLOW_MENU_HEADER_TEXT,\n\t\t\t\t\ttriggerAriaLabel\n\t\t\t\t},\n\t\t\t\tdispatchedAction: BUTTON_ACTIONS.OVERFLOW_UTIL_MENU_CLICKED,\n\t\t\t\tbadgeCount: contextualMenu.overflowBadgeCount,\n\t\t\t\tshowBadgeCount: true\n\t\t\t},\n\t\t\tmenuConfig: {\n\t\t\t\topened: contextualMenu.menuType === UTILITY_OVERFLOW_MENU_ID,\n\t\t\t\treversed: reversed,\n\t\t\t\tmenuContent: (props) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<OverflowUtilMenuFragment\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tcontextualMenu={props?.contextualMenu}\n\t\t\t\t\t\t\tcanAnimate={animationsEnabled}\n\t\t\t\t\t\t\thelpPanelAppContext={helpPanelAppContext}\n\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t\tmenuUtilProperties={props?.menuUtilProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmenuProperties: {\n\t\t\t\t\tmenuType: UTILITY_OVERFLOW_MENU_ID,\n\t\t\t\t\tbuttonId: 'utility-overflow-menu',\n\t\t\t\t\theaderType: CONTEXT_MENU_HEADER_TYPES.NONE,\n\t\t\t\t\tcanBePinned: false,\n\t\t\t\t\tcanToggleWideMenu: false,\n\t\t\t\t\tsearchEnabled: false,\n\t\t\t\t\tlabel: t('Overflow Menus')\n\t\t\t\t},\n\t\t\t\thelpPanelAppContext\n\t\t\t}\n\t\t});\n\t}\n\n\tif (!isDeepEqual(utilityMenuData, menuData)) {\n\t\tupdateProperties({\n\t\t\tutilityMenuData: menuData,\n\t\t\tutilityButtonCount: menuData.length\n\t\t});\n\t\tdispatch(UTILITY_MENU_UPDATED, {\n\t\t\tmenusThatUpdated: menuData.map(({buttonConfig}) => {\n\t\t\t\treturn (buttonConfig && buttonConfig?.id) || null;\n\t\t\t})\n\t\t});\n\t}\n};\n\nexport default {\n\tname: 'UTILITY_MENU_BEHAVIOR',\n\tproperties: {\n\t\tutilityMenuData: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\t\tutilityMenuItemLeftPositions: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tdeepCompare: true\n\t\t},\n\t\tutilityButtonCount: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\twideMenus: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: handlePropertyChanged,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_DOM_READY]: {\n\t\t\teffect: handleDomReady,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect: () => {\n\t\t\t\tif (unsubscribeBrandingConfig) {\n\t\t\t\t\tunsubscribeBrandingConfig?.unsubscribe();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[UPDATE_UTILITY_MENU_ITEMS]: {\n\t\t\teffect: refreshUtilityMenuData,\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import cache from '../../utils/cache';\nimport track from '../../utils/track';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {\n\tCLASSIC,\n\tMETRICS,\n\tNAV_ITEM_SELECTED,\n\tPOLARIS_CONTEXT,\n\tPOLARIS_SITE_NAME,\n\tRECORD,\n\tSEARCH,\n\tSYS_PROPS\n} from '../../constants';\nimport {getExperienceLabelAndFavoriteTooltip} from '../../utils/getExperienceLabelAndFavoriteTooltip';\nimport {\n\tSEARCH_CONTEXT_UPDATED,\n\tDYNAMIC_ROUTE_REQUESTED\n} from '../search-behavior/actions';\nimport {openURLInNewTab} from '../search-behavior';\n\nexport default {\n\tname: 'SEARCH_ACTIONS_BEHAVIOR',\n\tactionHandlers: {\n\t\t['SN_SEARCH_INPUT_WRAPPER#ITEM_SELECTED']: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\tsysId,\n\t\t\t\t\t\trecordUrl,\n\t\t\t\t\t\tisExternalUrl,\n\t\t\t\t\t\tselectedSearchContext,\n\t\t\t\t\t\ttitle\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\tconst context = selectedSearchContext?.context || POLARIS_CONTEXT;\n\t\t\tif (isExternalUrl) {\n\t\t\t\topenURLInNewTab(recordUrl);\n\t\t\t} else if (context.path === POLARIS_SITE_NAME) {\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext,\n\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttarget: recordUrl || `${table}.do?sys_id=${sysId}`\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst useSearchDynamicRouting = getBooleanProperty(\n\t\t\t\t\t'glide.ui.polaris.search_dynamic_routing.enabled',\n\t\t\t\t\ttrue\n\t\t\t\t);\n\n\t\t\t\tif (!useSearchDynamicRouting) {\n\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\troute: RECORD,\n\t\t\t\t\t\tfields: {table, sysId},\n\t\t\t\t\t\ttitle\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// If we are in a different configurable workspace lookup UXR routing logic\n\t\t\t\t\t// TODO: STRY53758190 find a way to process the payloads from sys_ux_dynamic_route_mapping\n\t\t\t\t\t// by triggering the recordRoutesMapping sys_ux_client_script_include\n\t\t\t\t\tconst routeMap = cache.get(\n\t\t\t\t\t\t`searchRouteMap${selectedSearchContext.routeConfigId}`\n\t\t\t\t\t);\n\n\t\t\t\t\tif (!routeMap) {\n\t\t\t\t\t\tconst {routeConfigId} = selectedSearchContext;\n\n\t\t\t\t\t\t// Wish there was a cleaner way of doing this, but we need to wait for the routeMap to be updated before we can navigate\n\t\t\t\t\t\tdispatch(DYNAMIC_ROUTE_REQUESTED, {\n\t\t\t\t\t\t\trouteConfigId,\n\t\t\t\t\t\t\tpostFn: (routeMap) => {\n\t\t\t\t\t\t\t\tconst route =\n\t\t\t\t\t\t\t\t\trouteMap?.[table]?.workspace_global_search?.payload;\n\t\t\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\troute: route ? JSON.parse(route).route : RECORD,\n\t\t\t\t\t\t\t\t\tfields: {table, sysId},\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst route = routeMap?.[table]?.workspace_global_search?.payload;\n\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\troute: route ? JSON.parse(route).route : RECORD,\n\t\t\t\t\t\t\tfields: {table, sysId},\n\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttrack(coeffects, METRICS.SEARCH_ITEM_SELECTED, {table, sysId});\n\t\t},\n\t\t['SN_SEARCH_INPUT_WRAPPER#SEARCH_EXECUTED']: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tdispatch,\n\t\t\t\taction: {payload},\n\t\t\t\tproperties: {\n\t\t\t\t\tpageTitle,\n\t\t\t\t\tisPolarisEnabled,\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tpolarisSearchContexts\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\tconst {selectedSearchContext = {}, searchTerm = ''} = payload;\n\t\t\tconst useSelectedSearchContextRoute = getBooleanProperty(\n\t\t\t\tSYS_PROPS.UI.USE_CURRENT_EXPERIENCE_CONTEXT\n\t\t\t);\n\t\t\tconst context =\n\t\t\t\t(!isPolarisEnabled && selectedSearchContext) ||\n\t\t\t\tuseSelectedSearchContextRoute\n\t\t\t\t\t? selectedSearchContext.context\n\t\t\t\t\t: POLARIS_CONTEXT;\n\n\t\t\t// if Polaris is enabled, use polaris search result page for all the contexts\n\t\t\tconst searchRoute =\n\t\t\t\tisPolarisEnabled && !useSelectedSearchContextRoute\n\t\t\t\t\t? SEARCH\n\t\t\t\t\t: selectedSearchContext.route;\n\n\t\t\tconst {\n\t\t\t\tsearchViewConfigId,\n\t\t\t\tsearchDataConfigId,\n\t\t\t\tid,\n\t\t\t\trouteConfigId\n\t\t\t} = selectedSearchContext;\n\n\t\t\tconst {pageLabel} = getExperienceLabelAndFavoriteTooltip(\n\t\t\t\tselectedContent,\n\t\t\t\tpageTitle,\n\t\t\t\tpolarisSearchContexts\n\t\t\t);\n\t\t\tlet backButtonLabel = null;\n\n\t\t\tif (selectedContent.route !== SEARCH) {\n\t\t\t\tconst {context} = selectedContent;\n\n\t\t\t\tbackButtonLabel = pageLabel || context.experienceName;\n\t\t\t\tconst title = backButtonLabel;\n\t\t\t\tcache.set(\n\t\t\t\t\t'searchPreviousContext',\n\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t...selectedContent,\n\t\t\t\t\t\tupdateUrl: true,\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tbackButtonLabel\n\t\t\t\t\t}),\n\t\t\t\t\t{currentSession: true}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!backButtonLabel) {\n\t\t\t\tconst previousContext = cache.get('searchPreviousContext');\n\t\t\t\tif (previousContext) {\n\t\t\t\t\tconst parsedPreviousContext = JSON.parse(previousContext);\n\t\t\t\t\tbackButtonLabel =\n\t\t\t\t\t\tparsedPreviousContext?.backButtonLabel ||\n\t\t\t\t\t\tparsedPreviousContext?.context?.experienceName;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\tcontext,\n\t\t\t\troute: searchRoute,\n\t\t\t\tfields: {\n\t\t\t\t\tglobalSearchViewConfigId: searchViewConfigId\n\t\t\t\t},\n\t\t\t\tparams: {\n\t\t\t\t\tglobalSearchDataConfigId: searchDataConfigId,\n\t\t\t\t\tsearchTerm,\n\t\t\t\t\tsearchContext: id,\n\t\t\t\t\tbackButtonLabel\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdispatch(DYNAMIC_ROUTE_REQUESTED, {routeConfigId});\n\t\t\tdispatch(SEARCH_CONTEXT_UPDATED, selectedSearchContext);\n\t\t\ttrack(coeffects, METRICS.SEARCH_START, {\n\t\t\t\tquery: searchTerm,\n\t\t\t\tsearchContext: selectedSearchContext.label\n\t\t\t});\n\t\t}\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport styles from './styles.scss';\nimport {styles as logoStyles} from './logo';\nimport {styles as navigationStyles} from './navigation';\nimport {styles as userMenuStyles} from './utility-menu/sn-contextual-menu/user-menu/';\nimport {styles as concoursePickerStyles} from './utility-menu/sn-contextual-menu/concourse-pickers';\nimport DEFAULT_LOGO from '../../assets/now-polaris.svg';\n\nimport {actionHandlers} from './sn-polaris-header.effects';\nimport {HOME_PAGE, LOCAL_STORAGE_KEYS} from '../../constants';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport concoursePickerBehavior from '../../behaviors/concourse-picker-behavior';\nimport searchDynamicRoutingBehaviour from '../../behaviors/search-dynamic-routing-behavior';\nimport {createTooltipActionHandler} from '@servicenow/now-tooltip';\nimport view from './sn-polaris-header.view';\nimport {CLOSE_POPOVERS} from '../sn-polaris-layout/actions';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport utilityMenuBehavior from '../../behaviors/utility-menu-behavior';\nimport searchActionsBehavior from '../../behaviors/search-actions-behavior';\nimport {\n\tgetCurrentRouteHeaderConfig,\n\tgetElevatedRoles,\n\tsetInitialState\n} from './sn-polaris-header.utils';\n\ncreateCustomElement('sn-polaris-header', {\n\tproperties: {\n\t\tnowAvoidRender: {default: true},\n\t\tshouldComponentRender: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: process.env.NODE_ENV === 'development',\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tpageTitle: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {\n\t\t\t\tlabel: HOME_PAGE,\n\t\t\t\ttype: 'seismic'\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\theaderConfig: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tuserPreferences: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tunstableParse: true\n\t\t},\n\t\tuserMeta: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tisInboxEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\thasDirtyWorkspaces: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\toverflowMenuDrilldown: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tmenuItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpriority: {\n\t\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t\t},\n\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisFavorite: {\n\t\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubItems: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tpriority: {\n\t\t\t\t\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tisFavorite: {\n\t\t\t\t\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\troute: {\n\t\t\t\t\t\t\t\t\t\ttype: 'object'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\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}\n\t\t\t},\n\t\t\tunstableParse: true\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: null\n\t\t},\n\t\tmainLogoWidth: {\n\t\t\tdefault: 0\n\t\t},\n\t\tmenuWidth: {\n\t\t\tdefault: 0\n\t\t},\n\t\tanimationsEnabled: {\n\t\t\tdefault: true,\n\t\t\tshouldRender: false\n\t\t},\n\t\tcurrentRouteHeaderConfig: {\n\t\t\tcomputed: ({properties: {selectedContent, headerConfig}}) => {\n\t\t\t\treturn getCurrentRouteHeaderConfig({selectedContent, headerConfig});\n\t\t\t},\n\t\t\tdeepCompare: true,\n\t\t\treadOnly: true,\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tuserSession: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tprinterFriendlyEnabled: {\n\t\t\tdefault: false\n\t\t},\n\t\tavailableElevatedRoles: {\n\t\t\tdefault: {\n\t\t\t\tactiveRoles: [],\n\t\t\t\troles: []\n\t\t\t},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tboundaryElement: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: null,\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\televatedRoles: {\n\t\t\tdeepCompare: true,\n\t\t\tcomputed({properties: {userMeta, availableElevatedRoles}}) {\n\t\t\t\tif (\n\t\t\t\t\tavailableElevatedRoles.roles?.length === 0 &&\n\t\t\t\t\tavailableElevatedRoles.activeRoles?.length === 0\n\t\t\t\t) {\n\t\t\t\t\tconst activeRoles = userMeta?.roles ?? [];\n\t\t\t\t\tconst roles = (userMeta?.elevatedRoles ?? []).map((role) => ({\n\t\t\t\t\t\tname: role,\n\t\t\t\t\t\tdescription: ''\n\t\t\t\t\t}));\n\t\t\t\t\treturn getElevatedRoles({\n\t\t\t\t\t\tavailableElevatedRoles: {activeRoles, roles}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn getElevatedRoles({availableElevatedRoles});\n\t\t\t}\n\t\t},\n\t\tmainMenuState: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tcontextualMenu: {\n\t\t\t/*\n\t\t\t * This reduces renders but keep in mind if the user updates stuff like dismissing\n\t\t\t * a few notifications we only happen to render because of calculations from the\n\t\t\t * overflow menu and concourse menu that for some reason adds a copy of the notification\n\t\t\t * list in `utility-menu-behavior` for the property `utilityMenuData` and trigger the\n\t\t\t * rerender.\n\t\t\t *\n\t\t\t * TODO (tech debt): Make sure we re-render for the right reasons and not because a lucky\n\t\t\t * copy happened in a unrelated menu.\n\t\t\t */\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tcontextualMenuState: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tselectedContentFavorite: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: null\n\t\t},\n\t\tisPolarisEnabled: {\n\t\t\tcomputed: () => getFeatureSettings().isPolarisEnabled,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tisNotificationsEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisCollabChatEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisUsageAnalyticsEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tshowNowAssistMenu: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tnapShortcutCommand: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tnowAssistMenuBadgeCount: {\n\t\t\tdefault: 0,\n\t\t\tschema: {type: 'number'}\n\t\t},\n\t\tavailableApplications: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tavailableDomains: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tavailableUpdateSets: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tavailableEncryptionContexts: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tselectedSearchContext: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tglobalSearchEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\theaderLogoTarget: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tnotifications: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\t\topenFrame: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tdeepCompare: true\n\t\t},\n\t\topenFrameConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\topenFrameTagLoaded: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tforceMenuOpen: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tactiveModal: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tscreenContentLinks: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\torder: {type: 'number'},\n\t\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\t\turl: {type: 'string'}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thelpPanelAppContext: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\twindowSize: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {\n\t\t\t\twidth: -1,\n\t\t\t\theight: -1\n\t\t\t}\n\t\t},\n\t\tisFetchingUnreadCount: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tunreadNotificationCount: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\tcoreUILogoSrc: {\n\t\t\tdefault: DEFAULT_LOGO,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tisTouchDevice: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\ttempFavoriteStarFill: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\thideFavoriteTooltip: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisSyncingFavorites: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tshowHiddenControls: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tfeedbackFormEnabled: {\n\t\t\tdefault: true\n\t\t},\n\t\tuserSettingsAccess: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tisLoadingMenu: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tconcoursePickerConfig: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tpolarisSearchContexts: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t},\n\t\tapplicationId: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\tbypassExperienceTitle: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tisAIELEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tisAllMenuEditorEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t}\n\t},\n\tsetInitialState({host, properties}) {\n\t\treturn setInitialState({host, properties});\n\t},\n\tstyles: `\n\t\t${styles}\n\t\t${logoStyles}\n\t\t${navigationStyles}\n\t\t${userMenuStyles}\n\t\t${concoursePickerStyles}\n\t`,\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tdispatches: {NAV_ITEM_SELECTED: {}},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t...createTooltipActionHandler\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: 'sn-polaris-header'}\n\t\t},\n\t\t{behavior: resizeBehavior},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: concoursePickerBehavior},\n\t\t{behavior: searchDynamicRoutingBehaviour},\n\t\t{behavior: utilityMenuBehavior},\n\t\t{behavior: searchActionsBehavior},\n\t\t{behavior: truncationBehavior}\n\t],\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) {\n\t\t\t\tdispatch(CLOSE_POPOVERS, event);\n\t\t\t},\n\t\t\ttarget: document.body\n\t\t}\n\t]\n});\n","import {getProperty} from 'sn-uxpage-presource';\nimport {get} from 'lodash';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport {SEARCH_CONTEXT_UPDATED} from '../../behaviors/search-behavior/actions';\n\nimport {\n\tNAV_RESIZED,\n\tSYS_PROPS,\n\tUSER_PREF_UI6_TABS_INSIDE_POLARIS,\n\tMAIN_NAV_HEIGHT,\n\tSEARCH,\n\tPOLARIS_SITE_NAME,\n\tMENU_ALL,\n\tMENU_WORKSPACES,\n\tREFLOW_BREAKPOINTS,\n\tOVERFLOW_MENU_ID,\n\tSEARCH_RENDER_STATUS_REPORTED\n} from '../../constants';\nimport {TAB_PRIMARY_SELECTED} from '../sn-polaris-layout/actions';\nimport {t} from 'sn-translate';\nimport {View as Logo} from './logo';\nimport {View as Navigation} from './navigation';\nimport '../sn-polaris-layout/draggable';\nimport {\n\tgetBooleanPreferenceValue,\n\tHASANA_FILTER,\n\tINCLUDES,\n\tPREFERENCES,\n\tonMouseEnterHeaderItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHoverHandlers\n} from '@devsnc/unav-utils';\n\nimport {OPENFRAME_BEHAVIOR_SET_REF} from '../../behaviors/openFrameBehavior/actions';\nimport {UtilityMenu} from './utility-menu';\nimport {SearchContainer} from './search-container/';\nimport {renderDirtyWorkspaceIcon} from '../../utils/renderDirtyWorkspaceIcon';\nimport {ExperienceTitlePill} from '../sn-polaris-layout/fragments/experience-title-pill';\nimport {getExperienceLabelAndFavoriteTooltip} from '../../utils/getExperienceLabelAndFavoriteTooltip';\nimport {\n\tgetActiveSearchContext,\n\tgetScreenReaderContentForFavorite,\n\tgetSearchInputVariant,\n\tisWorkspaceOrGlobalSearchEnabled\n} from './sn-polaris-header.utils';\nimport {OPEN_FRAME_MINIMUM_MODAL_WIDTH} from '../../behaviors/openFrameBehavior/constants';\nimport isATF from '../../utils/isATF';\n\nexport default (state, {dispatch, updateState}) => {\n\tconst {\n\t\tsearchContexts,\n\t\theaderNavigationElemRef,\n\t\topenframeLockedPosition,\n\t\topenFramePositions,\n\t\tworksWithBrandingEnabled\n\t} = state;\n\tconst {\n\t\tcurrentRouteHeaderConfig,\n\t\tpageTitle,\n\t\tmenuItems,\n\t\toverflowMenuDrilldown,\n\t\tselectedContent,\n\t\tuserPreferences,\n\t\tuserMeta,\n\t\tuserSession,\n\t\tdir,\n\t\tmainLogoWidth,\n\t\tmenuWidth,\n\t\tanimationsEnabled,\n\t\tboundaryElement,\n\t\televatedRoles,\n\t\tmainMenuState,\n\t\tcontextualMenu,\n\t\tcontextualMenuState,\n\t\tselectedContentFavorite,\n\t\tisPolarisEnabled,\n\t\tisInboxEnabled,\n\t\thasDirtyWorkspaces,\n\t\theaderLogoTarget,\n\t\tselectedSearchContext,\n\t\tglobalSearchEnabled,\n\t\topenFrameConfig,\n\t\topenFrame,\n\t\topenFrameTagLoaded,\n\t\tforceMenuOpen,\n\t\tactiveModal,\n\t\tscreenContentLinks,\n\t\twindowSize,\n\t\tcoreUILogoSrc,\n\t\tisTouchDevice,\n\t\tutilityMenuData,\n\t\tutilityButtonCount,\n\t\tutilityMenuItemLeftPositions,\n\t\ttempFavoriteStarFill,\n\t\thideFavoriteTooltip,\n\t\tshowHiddenControls,\n\t\tfeedbackFormEnabled,\n\t\tisLoadingMenu,\n\t\tunreadNotificationCount,\n\t\tpolarisSearchContexts,\n\t\tbypassExperienceTitle,\n\t\twideMenus,\n\t\tisAIELEnabled,\n\t\tisAllMenuEditorEnabled\n\t} = state.properties;\n\n\tlet prevSize = 0;\n\tconst onNavigationResize = (entry) => {\n\t\tif (\n\t\t\tprevSize - entry.contentRect.width > 5 ||\n\t\t\tprevSize - entry.contentRect.width < -5\n\t\t) {\n\t\t\tprevSize = entry.contentRect.width;\n\t\t\tdispatch(NAV_RESIZED, {\n\t\t\t\twidth: entry.contentRect.width\n\t\t\t});\n\t\t}\n\t};\n\n\tconst activeSearchContext = getActiveSearchContext({\n\t\tselectedContent,\n\t\tsearchContexts,\n\t\tisPolarisEnabled,\n\t\tselectedSearchContext,\n\t\tpolarisSearchContexts\n\t});\n\n\tconst activeSearchTerm =\n\t\tselectedContent?.route === SEARCH ? selectedContent.params?.searchTerm : '';\n\n\tconst {pageLabel, favoriteTooltip} = getExperienceLabelAndFavoriteTooltip(\n\t\tselectedContent,\n\t\tpageTitle,\n\t\tpolarisSearchContexts,\n\t\tbypassExperienceTitle\n\t);\n\n\tconst shouldOpenUI16TabsInsidePolaris = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tUSER_PREF_UI6_TABS_INSIDE_POLARIS,\n\t\tfalse\n\t);\n\n\tconst locale = userMeta.language || getProperty(SYS_PROPS.SYSTEM_LOCALE);\n\tconst filterMethod =\n\t\tgetProperty(SYS_PROPS.UI.NAV_FILTER_ACCURACY_SCORE, 75) == 100\n\t\t\t? INCLUDES\n\t\t\t: HASANA_FILTER;\n\tconst openframeBoundary = [MAIN_NAV_HEIGHT, 0, 0, 0];\n\n\tconst workspacesOrGlobalSearchEnabled = isWorkspaceOrGlobalSearchEnabled({\n\t\tisPolarisEnabled,\n\t\tglobalSearchEnabled,\n\t\tsearchContexts\n\t});\n\n\tif (\n\t\tworkspacesOrGlobalSearchEnabled &&\n\t\t!globalSearchEnabled &&\n\t\tselectedSearchContext?.context?.path === POLARIS_SITE_NAME\n\t) {\n\t\tdispatch(SEARCH_CONTEXT_UPDATED, searchContexts?.[0]);\n\t}\n\tconst {privatePage = {}, publicPage = {}} = currentRouteHeaderConfig;\n\tconst userPage = userSession.isLoggedIn ? privatePage : publicPage;\n\tconst {searchEnabled: workspaceSearchEnabled = false} = userPage;\n\n\tconst isRenderingSearch =\n\t\tworkspacesOrGlobalSearchEnabled || workspaceSearchEnabled;\n\tdispatch(SEARCH_RENDER_STATUS_REPORTED, {isRenderingSearch});\n\n\tconst favoriteSR = getScreenReaderContentForFavorite(\n\t\tselectedContentFavorite,\n\t\tfavoriteTooltip\n\t);\n\n\tconst isSuperFilterEnabled = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.SUPER_FILTER_ENABLED,\n\t\ttrue\n\t);\n\n\tconst isMainMenuPinned =\n\t\tmainMenuState.isMenuPinned && mainMenuState.canBePinned;\n\tconst isContextualMenuPinned =\n\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned;\n\n\tconst isWorkspaceMenuPinned =\n\t\tisMainMenuPinned && mainMenuState.primaryMenuId === MENU_WORKSPACES;\n\n\tconst experienceTitleConfig =\n\t\twindowSize.width < REFLOW_BREAKPOINTS.HIDE_CENTER_PILL\n\t\t\t? {\n\t\t\t\t\tpageLabel,\n\t\t\t\t\tisPolarisEnabled,\n\t\t\t\t\tselectedContentFavorite,\n\t\t\t\t\tfavoriteSR,\n\t\t\t\t\tfavoriteTooltip,\n\t\t\t\t\ttempFavoriteStarFill,\n\t\t\t\t\twindowSize\n\t\t\t  }\n\t\t\t: {};\n\n\treturn (\n\t\t<nav\n\t\t\tclass={{\n\t\t\t\t'polaris-layout': true\n\t\t\t}}\n\t\t\taria-label={t('Primary')}>\n\t\t\t<div\n\t\t\t\tclassName=\"polaris-header\"\n\t\t\t\tclass={{\n\t\t\t\t\t'is-pinned': isMainMenuPinned,\n\t\t\t\t\t'is-contextual-menu-pinned':\n\t\t\t\t\t\tcontextualMenuState.isMenuPinned && contextualMenuState.canBePinned,\n\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t'is-impersonating':\n\t\t\t\t\t\tuserMeta.isImpersonating || elevatedRoles.length > 0,\n\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t'polaris-enabled': isPolarisEnabled\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'starting-header-zone': true,\n\t\t\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned,\n\t\t\t\t\t\t'is-pinned': isMainMenuPinned\n\t\t\t\t\t}}\n\t\t\t\t\tdata-id=\"header-starting\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{'logo-area': true, 'polaris-on': isPolarisEnabled}}\n\t\t\t\t\t\tstyle={{width: mainLogoWidth === 0 ? 'auto' : mainLogoWidth}}>\n\t\t\t\t\t\t<Logo\n\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\theaderLogoTarget={headerLogoTarget}\n\t\t\t\t\t\t\tlogoRoute={currentRouteHeaderConfig?.publicPage?.logoRoute || {}}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\t\tcoreUILogoSrc={coreUILogoSrc}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"pinned-tabs\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"tab-name primary\"\n\t\t\t\t\t\t\t\t{...createMenuTooltipHoverHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterHeaderItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"tab-name secondary\"\n\t\t\t\t\t\t\t\t{...createMenuTooltipHoverHandlers(\n\t\t\t\t\t\t\t\t\tonMouseEnterHeaderItem,\n\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{hasDirtyWorkspaces && isWorkspaceMenuPinned\n\t\t\t\t\t\t\t\t? renderDirtyWorkspaceIcon('Workspaces', dispatch)\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t{menuItems?.map((menuItem, i) => {\n\t\t\t\t\t\t// Primary: pinned menu or active unpinned menu\n\t\t\t\t\t\t// Secondary: active alt unpinned menu or none\n\n\t\t\t\t\t\tconst isActivePrimaryMenu =\n\t\t\t\t\t\t\tmainMenuState.primaryMenuId === menuItem.id;\n\t\t\t\t\t\tconst isActiveSecondaryMenu =\n\t\t\t\t\t\t\tmainMenuState.secondaryMenuId === menuItem.id;\n\n\t\t\t\t\t\tconst isActive = mainMenuState.isMenuPinned\n\t\t\t\t\t\t\t? isActivePrimaryMenu || isActiveSecondaryMenu\n\t\t\t\t\t\t\t: isActivePrimaryMenu;\n\n\t\t\t\t\t\t// `isPinned` is whether _some_ menu is pinned\n\t\t\t\t\t\t// So the menu is pinned if ^ and it's the active primary menu\n\t\t\t\t\t\tconst isMenuPinned = isMainMenuPinned && isActivePrimaryMenu;\n\n\t\t\t\t\t\tlet ariaLabel =\n\t\t\t\t\t\t\tisMainMenuPinned && mainMenuState.primaryMenuId === menuItem.id\n\t\t\t\t\t\t\t\t? t('Pinned {0} menu', menuItem.label)\n\t\t\t\t\t\t\t\t: t('Unpinned {0} menu', menuItem.label);\n\n\t\t\t\t\t\tlet drilledMenu = null;\n\t\t\t\t\t\tif (menuItem.id === OVERFLOW_MENU_ID) {\n\t\t\t\t\t\t\tariaLabel = t('More menus');\n\t\t\t\t\t\t\tdrilledMenu = overflowMenuDrilldown;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst isCurrentMenuLoading =\n\t\t\t\t\t\t\tisLoadingMenu && !menuItem?.subItems?.length;\n\n\t\t\t\t\t\tconst shouldDefer = !(isActive || isMenuPinned || !isATF());\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<sn-polaris-menu\n\t\t\t\t\t\t\t\tisLoading={isCurrentMenuLoading}\n\t\t\t\t\t\t\t\tisOtherMenusLoading={isLoadingMenu}\n\t\t\t\t\t\t\t\trole=\"navigation\"\n\t\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t\t\taria-owns={menuItem.id}\n\t\t\t\t\t\t\t\tkey={menuItem.id}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'is-main-menu': isActive || isMenuPinned,\n\t\t\t\t\t\t\t\t\t'is-pinned': isMenuPinned,\n\t\t\t\t\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t// If not pinned, ignore secondary menu entirely\n\t\t\t\t\t\t\t\t// If pinned, only the activeTab menu is primary\n\t\t\t\t\t\t\t\t//\t\t \t  rest are not.\n\t\t\t\t\t\t\t\tmenuState={mainMenuState}\n\t\t\t\t\t\t\t\tisPrimary={\n\t\t\t\t\t\t\t\t\tisMainMenuPinned\n\t\t\t\t\t\t\t\t\t\t? mainMenuState.primaryMenuId === menuItem.id\n\t\t\t\t\t\t\t\t\t\t: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\theaderNavigationElemRef={headerNavigationElemRef}\n\t\t\t\t\t\t\t\theaderMenuItems={menuItems}\n\t\t\t\t\t\t\t\tmenu={menuItem}\n\t\t\t\t\t\t\t\tdrilledMenu={drilledMenu}\n\t\t\t\t\t\t\t\tmenuIndex={i}\n\t\t\t\t\t\t\t\tmenuWidth={menuWidth}\n\t\t\t\t\t\t\t\topened={isActive}\n\t\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\t\tnowMode={shouldDefer ? 'suspend' : 'active'}\n\t\t\t\t\t\t\t\tnow-priority={shouldDefer ? 'low' : 'medium'}\n\t\t\t\t\t\t\t\tmainLogoWidth={mainLogoWidth}\n\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\tshowHeaderFilter={mainMenuState.showPrimaryFilter}\n\t\t\t\t\t\t\t\tmenuPinable={mainMenuState.primaryMenuPinable}\n\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={\n\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tforce-menu-open={forceMenuOpen}\n\t\t\t\t\t\t\t\tisTouchDevice={isTouchDevice}\n\t\t\t\t\t\t\t\tuseSuperFilter={\n\t\t\t\t\t\t\t\t\tmenuItem.id === MENU_ALL ||\n\t\t\t\t\t\t\t\t\t(menuItem.id !== MENU_ALL && isSuperFilterEnabled)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t\tisAllMenuEditorEnabled={isAllMenuEditorEnabled}\n\t\t\t\t\t\t\t\t{...experienceTitleConfig}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\n\t\t\t\t\t<Navigation\n\t\t\t\t\t\tmainMenuState={mainMenuState}\n\t\t\t\t\t\tmenuItems={menuItems}\n\t\t\t\t\t\theaderNavigationElemRef={headerNavigationElemRef}\n\t\t\t\t\t\tmainLogoWidth={mainLogoWidth}\n\t\t\t\t\t\thasDirtyWorkspaces={hasDirtyWorkspaces}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tonTabSelect={(tab) => dispatch(TAB_PRIMARY_SELECTED, tab)}\n\t\t\t\t\t\tonNavigationResize={onNavigationResize}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div className=\"center-header-zone\" data-id=\"header-center\">\n\t\t\t\t\t{pageLabel &&\n\t\t\t\t\twindowSize.width > REFLOW_BREAKPOINTS.HIDE_CENTER_PILL ? (\n\t\t\t\t\t\t<ExperienceTitlePill\n\t\t\t\t\t\t\tpageLabel={pageLabel}\n\t\t\t\t\t\t\tisPolarisEnabled={isPolarisEnabled}\n\t\t\t\t\t\t\tselectedContentFavorite={selectedContentFavorite}\n\t\t\t\t\t\t\tfavoriteSR={favoriteSR}\n\t\t\t\t\t\t\tfavoriteTooltip={favoriteTooltip}\n\t\t\t\t\t\t\ttempFavoriteStarFill={tempFavoriteStarFill}\n\t\t\t\t\t\t\thideFavoriteTooltip={hideFavoriteTooltip}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'ending-header-zone': true,\n\t\t\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned,\n\t\t\t\t\t\t'is-pinned': isMainMenuPinned\n\t\t\t\t\t}}\n\t\t\t\t\tdata-id=\"header-ending\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"polaris-header-controls\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t\t\t'is-contextual-menu-pinned':\n\t\t\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<div className=\"search-container\">\n\t\t\t\t\t\t\t{/* search input field */}\n\t\t\t\t\t\t\t<SearchContainer\n\t\t\t\t\t\t\t\trenderSearch={isRenderingSearch}\n\t\t\t\t\t\t\t\tselectedSearchContext={activeSearchContext}\n\t\t\t\t\t\t\t\tsearchTerm={activeSearchTerm}\n\t\t\t\t\t\t\t\tsearchContexts={searchContexts}\n\t\t\t\t\t\t\t\tcanAnimate={animationsEnabled}\n\t\t\t\t\t\t\t\tisPolarisEnabled={isPolarisEnabled}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tsearchInputVariant={getSearchInputVariant({\n\t\t\t\t\t\t\t\t\tisMainMenuPinned,\n\t\t\t\t\t\t\t\t\tisContextualMenuPinned,\n\t\t\t\t\t\t\t\t\twindowSize\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tisAIELEnabled={isAIELEnabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div className=\"utility-menu-container\">\n\t\t\t\t\t\t\t{/* utility menu */}\n\t\t\t\t\t\t\t<UtilityMenu\n\t\t\t\t\t\t\t\tcurrentRouteHeaderConfig={currentRouteHeaderConfig}\n\t\t\t\t\t\t\t\tisLoggedIn={userSession.isLoggedIn}\n\t\t\t\t\t\t\t\treversed={dir === 'rtl'}\n\t\t\t\t\t\t\t\tcanAnimate={animationsEnabled}\n\t\t\t\t\t\t\t\tmenuWidth={menuWidth}\n\t\t\t\t\t\t\t\tcontextualMenu={contextualMenu}\n\t\t\t\t\t\t\t\tcontextualMenuState={contextualMenuState}\n\t\t\t\t\t\t\t\tavatar={{\n\t\t\t\t\t\t\t\t\tfullName: get(userMeta, 'fullName', t('Unknown User')),\n\t\t\t\t\t\t\t\t\tavatarPath: get(userMeta, 'avatar', ''),\n\t\t\t\t\t\t\t\t\tpresence: userSession.presence\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tisImpersonating={userMeta.isImpersonating}\n\t\t\t\t\t\t\t\tisElevated={elevatedRoles.length > 0}\n\t\t\t\t\t\t\t\televatedRoles={elevatedRoles}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\theaderProperties={state.properties}\n\t\t\t\t\t\t\t\tscreenContentLinks={screenContentLinks}\n\t\t\t\t\t\t\t\tactiveModal={activeModal}\n\t\t\t\t\t\t\t\tutilityMenuData={utilityMenuData}\n\t\t\t\t\t\t\t\tutilityButtonCount={utilityButtonCount}\n\t\t\t\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\t\t\t\tutilityMenuItemLeftPositions={utilityMenuItemLeftPositions}\n\t\t\t\t\t\t\t\tuserMeta={userMeta}\n\t\t\t\t\t\t\t\tfeedbackFormEnabled={feedbackFormEnabled}\n\t\t\t\t\t\t\t\tunreadNotificationCount={unreadNotificationCount}\n\t\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t\t\tuserPreferences={userPreferences}\n\t\t\t\t\t\t\t\twideMenus={wideMenus}\n\t\t\t\t\t\t\t\tisAIELEnabled={isAIELEnabled}\n\t\t\t\t\t\t\t\tworksWithBrandingEnabled={worksWithBrandingEnabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"pinned-contextual-area\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<div className=\"pinned-icons\">\n\t\t\t\t\t\t\t<div className=\"pinned-icon primary\" />\n\t\t\t\t\t\t\t<div className=\"pinned-icon secondary\" />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t{openFrameTagLoaded && import('../sn-polaris-layout/draggable') ? (\n\t\t\t\t\t<sn-draggable\n\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\ttrigger=\"sn-openframe-nheader\"\n\t\t\t\t\t\tisVisible={openFrame?.windowPositionedCorrectly}\n\t\t\t\t\t\tcontainer=\"sn-openframe-mainFrame\"\n\t\t\t\t\t\tboundaryElement={boundaryElement}\n\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\tdispatch(OPENFRAME_BEHAVIOR_SET_REF, {element: elm});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\twidth={openFrameConfig?.AppOpenframe_Query?.config?.width || 0}\n\t\t\t\t\t\tlockedPosition={openframeLockedPosition}\n\t\t\t\t\t\theight={openFrameConfig?.AppOpenframe_Query?.config?.height || 0}\n\t\t\t\t\t\topened={openFrame?.iconSelected}\n\t\t\t\t\t\tisMainMenuPinned={isMainMenuPinned}\n\t\t\t\t\t\tisContextualMenuPinned={isContextualMenuPinned}\n\t\t\t\t\t\tboundary={openframeBoundary}\n\t\t\t\t\t\twindowSize={windowSize}>\n\t\t\t\t\t\t{openFrameConfig?.AppOpenframe_Query ? (\n\t\t\t\t\t\t\t<sn-openframe-uxb\n\t\t\t\t\t\t\t\tuser={userMeta}\n\t\t\t\t\t\t\t\tuserSession={userSession}\n\t\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\t\tconfiguration={openFrameConfig?.AppOpenframe_Query || ''}\n\t\t\t\t\t\t\t\tpositions={\n\t\t\t\t\t\t\t\t\twindowSize.width <= OPEN_FRAME_MINIMUM_MODAL_WIDTH\n\t\t\t\t\t\t\t\t\t\t? []\n\t\t\t\t\t\t\t\t\t\t: openFramePositions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmaxAllowedSize={openFrame?.maxAllowedSize}\n\t\t\t\t\t\t\t\topened={openFrame?.iconSelected}\n\t\t\t\t\t\t\t\tnumber={openFrame?.params?.number || ''}\n\t\t\t\t\t\t\t\thasInbox={isInboxEnabled}\n\t\t\t\t\t\t\t\tsysId={openFrame?.params?.sysId || ''}\n\t\t\t\t\t\t\t\ttable={openFrame?.params?.table || ''}\n\t\t\t\t\t\t\t\tsource={openFrame?.params?.source || ''}\n\t\t\t\t\t\t\t\tisLegacy={false}\n\t\t\t\t\t\t\t\tcallPayload={openFrame?.callPayload || null}\n\t\t\t\t\t\t\t\tcustomPayload={openFrame?.customPayload || null}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/sn-draggable>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/nav>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {isEmpty} from 'lodash';\nimport {SEPARATOR} from '../constants';\n\n// A favorite menu item is a group if it has no moduleId and no route.\n// Separators do not have route but do have a moduleId, and there are\n// some OOB favorites that are just URLs with no moduleId, so both\n// need to be satisfied to categorize as a favorite group. It cannot be\n// applicationId anymore because favorite groups that are not associated with\n// applications do not have one, but are still considered groups.\nexport const isFavoriteGroup = (favorite) =>\n\tfavorite &&\n\tisEmpty(favorite.moduleId) &&\n\tisEmpty(favorite.route) &&\n\tfavorite.actionType !== SEPARATOR &&\n\t!favorite.separator;\n\n// Difference between a favorite group and custom favorite group is that\n// custom favorite groups dont have an applicationId.\nexport const isCustomFavoriteGroup = (favorite) =>\n\tisFavoriteGroup(favorite) && isEmpty(favorite.applicationId);\n\nexport const isSeparatorGroup = (menu) =>\n\tmenu.actionType === SEPARATOR && !!menu.label;\n","// grabbing only custom groups to add to the typeahead for location\nimport {isCustomFavoriteGroup} from '../../../utils/isFavoriteGroup';\nimport isEmpty from 'lodash/isEmpty';\n\n// since thats the only type of group we can add favorites to\nexport const createTypeaheadItems = (\n\tfavoriteList = [],\n\treturnArray = [],\n\tprefix = ''\n) => {\n\tfavoriteList.forEach((favorite) => {\n\t\tif (isCustomFavoriteGroup(favorite)) {\n\t\t\tconst label = prefix ? `${prefix} ${favorite.label}` : favorite.label;\n\t\t\treturnArray.push({id: favorite.id, label});\n\t\t\tif (!isEmpty(favorite.subItems)) {\n\t\t\t\tcreateTypeaheadItems(favorite.subItems, returnArray, `${prefix} --`);\n\t\t\t}\n\t\t}\n\t});\n\treturn returnArray;\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {t} from 'sn-translate';\nimport {\n\tFAVORITE_POPUP_CLOSED,\n\tFAVORITE_POPUP_INFO_UPDATED\n} from '../../../behaviors/favorites-behavior/actions';\nimport {createTypeaheadItems} from './sn-favorite-popup-content.utils';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({\n\t\t\tproperties: {deleteFavorite},\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t}\n\t\t}) => {\n\t\t\tif (name === 'favoriteList' && !deleteFavorite) {\n\t\t\t\tconst newStateFavorites = createTypeaheadItems(value?.subItems);\n\t\t\t\tnewStateFavorites.unshift({\n\t\t\t\t\tid: 'null-id',\n\t\t\t\t\tlabel: t('Top level (default)')\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tstateFavorites: newStateFavorites\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t['NOW_BUTTON_BARE#CLICKED']: {\n\t\teffect: ({dispatch}) => {\n\t\t\tdispatch(FAVORITE_POPUP_CLOSED, {refocus: true});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_BUTTON#CLICKED']: {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {id}\n\t\t\t}\n\t\t}) => {\n\t\t\tdispatch(FAVORITE_POPUP_CLOSED, {\n\t\t\t\tid,\n\t\t\t\trefocus: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_INPUT#INPUT']: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {fieldValue: stateName}\n\t\t\t}\n\t\t}) => {\n\t\t\tdispatch(FAVORITE_POPUP_INFO_UPDATED, {title: stateName});\n\t\t\tupdateState({\n\t\t\t\tstateName\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_SELECT#SELECTED_ITEM_SET']: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {value: stateGroup}\n\t\t\t}\n\t\t}) => {\n\t\t\t// null-id is the id of the top level group (since it needs)\n\t\t\t// to be a selection but is technically an empty group id\n\t\t\tconst group = stateGroup?.replace('null-id', '');\n\t\t\tdispatch(FAVORITE_POPUP_INFO_UPDATED, {\n\t\t\t\tgroupId: group,\n\t\t\t\tparent_group: group\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tstateGroup\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './sn-favorite-popup-content.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\nimport view from './sn-favorite-popup-content.view';\nimport {actionHandlers} from './sn-favorite-popup-content.effects';\nimport {t} from 'sn-translate';\nimport {createTypeaheadItems} from './sn-favorite-popup-content.utils';\nconst FAVORITE_POPUP_CONTENT = 'sn-favorite-popup-content';\n\ncreateCustomElement(FAVORITE_POPUP_CONTENT, {\n\tview,\n\tproperties: {\n\t\tnowPriority: {\n\t\t\tdefault: 'low'\n\t\t},\n\t\tinitialName: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tfavoritePayload: {\n\t\t\tdefault: null\n\t\t},\n\t\tfavoriteList: {\n\t\t\tdefault: {}\n\t\t},\n\t\tdeleteFavorite: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tsetInitialState({properties}) {\n\t\tconst {initialName, favoriteList, deleteFavorite} = properties;\n\t\tif (!deleteFavorite) {\n\t\t\tconst stateFavorites = createTypeaheadItems(favoriteList?.subItems);\n\t\t\tstateFavorites.unshift({id: 'null-id', label: t('Top level (default)')});\n\t\t\treturn {\n\t\t\t\tstateName: initialName,\n\t\t\t\tstateGroup: 'null-id',\n\t\t\t\tstateFavorites\n\t\t\t};\n\t\t}\n\t},\n\tbehaviors: [{behavior: rtlBehavior}],\n\tactions: {},\n\tactionHandlers,\n\tstyles: `\n\t${styles}\n\t`\n});\n\nexport default FAVORITE_POPUP_CONTENT;\n","import {t} from 'sn-translate';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-input';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport '@servicenow/now-select';\nimport '@servicenow/now-tooltip';\nimport capitalize from 'lodash/capitalize';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\n\nexport default (\n\t{stateName, stateGroup, stateFavorites, properties: {deleteFavorite}},\n\t{dispatch}\n) => {\n\treturn !deleteFavorite ? (\n\t\t<div className=\"popover-content\" slot=\"content\">\n\t\t\t<div className=\"title-row\">\n\t\t\t\t<span>{t('Favorite added')}<\/span>\n\t\t\t\t<now-button-bare\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\trole: 'button',\n\t\t\t\t\t\t'aria-label': t('Close dialog')\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{id: 'close'}}\n\t\t\t\t\thide-block-padding\n\t\t\t\t\ticon-start=\"close-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdata-tooltip={t('Close dialog')}\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<now-input\n\t\t\t\tautofocus\n\t\t\t\trequired\n\t\t\t\tlabel={t('Name')}\n\t\t\t\tname=\"name\"\n\t\t\t\tvalue={stateName}\n\t\t\t\tmanage-value\n\t\t\t\tminlength={1}\n\t\t\t/>\n\t\t\t<now-select\n\t\t\t\tlabel={t('Location')}\n\t\t\t\tsearch=\"contains\"\n\t\t\t\tselected-item={stateGroup}\n\t\t\t\titems={stateFavorites}\n\t\t\t/>\n\t\t\t<div className=\"button-row\">\n\t\t\t\t<div className=\"start-button\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"more\"\n\t\t\t\t\t\tappend-to-payload={{id: 'more'}}\n\t\t\t\t\t\tlabel={capitalize(t('More'))}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tdisabled={!stateName}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t<div className=\"end-buttons\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"remove\"\n\t\t\t\t\t\tappend-to-payload={{id: 'remove'}}\n\t\t\t\t\t\tlabel={t('Remove')}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"secondary-negative\"\n\t\t\t\t\t/>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"done\"\n\t\t\t\t\t\tappend-to-payload={{id: 'done'}}\n\t\t\t\t\t\tlabel={t('Done')}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tdisabled={!stateName}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t) : (\n\t\t<div className=\"popover-content delete-popup\" slot=\"content\">\n\t\t\t<div className=\"title-row\">\n\t\t\t\t<span>{t('Remove favorite')}<\/span>\n\t\t\t\t<now-button-bare\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\trole: 'button',\n\t\t\t\t\t\t'aria-label': t('Close popup')\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{id: 'close'}}\n\t\t\t\t\thide-block-padding\n\t\t\t\t\ticon-start=\"close-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdata-tooltip={t('Close dialog')}\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div className=\"remove-text\">\n\t\t\t\t{t(\n\t\t\t\t\t'You are about to remove this item from your favorite menu. Are you sure you want to remove it?'\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t<div className=\"button-row delete-popup\">\n\t\t\t\t<div className=\"end-buttons\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"cancel\"\n\t\t\t\t\t\tappend-to-payload={{id: 'cancel'}}\n\t\t\t\t\t\tlabel={t('Cancel')}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tconfig-aria={{'aria-label': t('Cancel')}}\n\t\t\t\t\t/>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"remove\"\n\t\t\t\t\t\tappend-to-payload={{id: 'delete'}}\n\t\t\t\t\t\tlabel={t('Remove')}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"secondary-negative\"\n\t\t\t\t\t\tconfig-aria={{'aria-label': t('Remove')}}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-popover';\nimport './sn-favorite-popup-content';\nimport {t} from 'sn-translate';\nimport {\n\tFAVORITE_POPUP_RENDERED,\n\tFAVORITE_POPUP_DESTROYED\n} from '../../behaviors/favorites-behavior/actions';\n\nexport const FavoritePopup = ({\n\tpopupRef,\n\tinitialName,\n\tfavoritePayload,\n\tpositions = [{target: 'bottom-center', content: 'top-center'}],\n\tfavoriteList = [],\n\tdispatch,\n\tdeleteFavorite\n}) => {\n\treturn (\n\t\t<now-popover\n\t\t\tnow-priority={'low'}\n\t\t\thook-insert={() => {\n\t\t\t\tdispatch(FAVORITE_POPUP_RENDERED);\n\t\t\t}}\n\t\t\thook-destroy={() => {\n\t\t\t\tdispatch(FAVORITE_POPUP_DESTROYED);\n\t\t\t}}\n\t\t\tid=\"favorite-popover\"\n\t\t\tappend-to-payload={{id: 'favorite-popover', deleteFavorite}}\n\t\t\topened\n\t\t\tmanage-opened\n\t\t\tconfig-aria={{\n\t\t\t\t'aria-label': deleteFavorite\n\t\t\t\t\t? t('Remove favorite')\n\t\t\t\t\t: t('Favorite added')\n\t\t\t}}\n\t\t\tposition-target={popupRef}\n\t\t\tpositions={positions}>\n\t\t\t<sn-favorite-popup-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tinitialName={initialName}\n\t\t\t\tfavoritePayload={favoritePayload}\n\t\t\t\tfavoriteList={favoriteList}\n\t\t\t\tdeleteFavorite={deleteFavorite}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n","import {\n\tonMouseEnterLabelItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {t} from 'sn-translate';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {HOME_PAGE, SYS_PROPS} from '../../../constants';\nimport '@servicenow/now-loader';\n\nimport {\n\tdangerouslyCreateElementFromString,\n\tcreateRef\n} from '@servicenow/ui-renderer-snabbdom';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {handleMenuOpen} from './utility-bar.utils';\n\nexport const UtilityBar = ({\n\tisMainMenuPinned = false,\n\tisContextualMenuPinned = false,\n\tanimationsEnabled = false,\n\treversed = false,\n\tdispatch,\n\tconcoursePickerConfig\n}) => {\n\tconst productDescription =\n\t\tgetProperty(SYS_PROPS.PRODUCT_DESCRIPTION) || HOME_PAGE;\n\tconst utilityBarRef = createRef();\n\n\treturn (\n\t\t<div\n\t\t\tref={utilityBarRef}\n\t\t\tclass={{\n\t\t\t\t'utility-bar': true,\n\t\t\t\t'is-pinned': isMainMenuPinned,\n\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned,\n\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\treversed: reversed\n\t\t\t}}>\n\t\t\t<div className=\"info\">\n\t\t\t\t<span className=\"title\">{t('Instance tools')}<\/span>\n\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t`<span class=\"description\">${productDescription}<\/span>`\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t<div className=\"menus\">\n\t\t\t\t{concoursePickerConfig?.drilldownListItems.length === 0 ? (\n\t\t\t\t\t<div className=\"loader\">\n\t\t\t\t\t\t<now-loader /> {t('Loading Menu...')}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t{concoursePickerConfig?.drilldownListItems.map((item) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={`utility-bar-${item.id}`}\n\t\t\t\t\t\t\tclassName=\"sn-polaris-tab\"\n\t\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\taria-label={item.label}\n\t\t\t\t\t\t\tkey={item.label}\n\t\t\t\t\t\t\t{...createInteractionHandlers(\n\t\t\t\t\t\t\t\thandleMenuOpen(\n\t\t\t\t\t\t\t\t\titem.id,\n\t\t\t\t\t\t\t\t\titem.indicatorOn,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tutilityBarRef\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\tonMouseEnterLabelItem,\n\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t<span className=\"label\">\n\t\t\t\t\t\t\t\t{item.toolIcon ? (\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclass={{'polaris-tab-item-icon': true}}\n\t\t\t\t\t\t\t\t\t\ticon={item.toolIcon}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{item.current}\n\t\t\t\t\t\t\t\t{item.indicatorOn ? <div className=\"indicator\" /> : null}\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span className=\"hint\">{item.label}<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport {default as styles} from './styles.scss';\n","import {\n\tCLOSE_MENUS,\n\tCONTEXTUAL_MENU_SELECTED\n} from '../../sn-polaris-layout/actions';\nimport {CONCOURSE_PICKER_CLICKED} from '../../../behaviors/concourse-picker-behavior/actions';\n\nexport const handleMenuOpen = (\n\tmenuId,\n\tindicatorOn,\n\tdispatch,\n\tutilityBarRef\n) => (e) => {\n\te.stopPropagation();\n\n\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\tmenuId: 'concoursePickers',\n\t\tbuttonConfig: {indicatorOn},\n\t\tisBarMenu: true,\n\t\tbarMenuId: menuId,\n\t\tutilityBarRef\n\t});\n\tdispatch(CONCOURSE_PICKER_CLICKED, {type: menuId, direct: true});\n\tdispatch(CLOSE_MENUS);\n};\n","/* eslint-disable no-console */\nimport {isEqual, pick} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {\n\tCLASSIC,\n\tUSER_PRESENCE_CHANGED,\n\tNOW_EXPERIENCE_PAGE_SWITCHED,\n\tSYS_PROPS\n} from '../../constants';\nimport {\n\tcreateAuthedOnlyHttpEffect,\n\tgetBooleanProperty\n} from '@devsnc/unav-utils';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\n\nlet loadingStateCleared = false;\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst NOW_EXPERIENCE_PAGE_LOADED = 'NOW_EXPERIENCE_PAGE_LOADED';\nconst NOW_EXPERIENCE_SWITCH_REQUESTED = 'NOW_EXPERIENCE_SWITCH_REQUESTED';\nconst NOW_EXPERIENCE_SWITCH_INITIATED = 'NOW_EXPERIENCE_SWITCH_INITIATED';\nconst NOW_EXPERIENCE_SWITCHED = 'NOW_EXPERIENCE_SWITCHED';\nconst NOW_EXPERIENCE_PAGE_LOAD_INITIATED = 'NOW_EXPERIENCE_PAGE_LOAD_INITIATED';\nconst MAIN_CONTENT_LOADING = 'mainContentLoading';\n\nconst updatePresence = createAuthedOnlyHttpEffect('/api/now/ui/presence', {\n\tmethod: 'POST',\n\theaders: {'User-Agent': navigator.userAgent},\n\tdataParam: 'data',\n\tsuccessActionType: ''\n});\n\nexport const hasSelectedContentChanged = (\n\tpreviousSelectedContent,\n\tcurrentSelectedContent\n) => {\n\tconst properties = ['route', 'context', 'params', 'fields'];\n\treturn isEqual(\n\t\tpick(previousSelectedContent, properties),\n\t\tpick(currentSelectedContent, properties)\n\t);\n};\n\nexport const setLoadingStateCleared = (val) => {\n\tloadingStateCleared = val;\n};\n\nexport const resolveLoadingDisplayValues = (\n\tactiveContent,\n\tmainContentLoading\n) => ({\n\tindicatorVisible: mainContentLoading,\n\tmain:\n\t\tactiveContent?.route !== CLASSIC && !mainContentLoading ? 'block' : 'none'\n});\n\nconst showLoadingIndicatorEffect = ({\n\tupdateState,\n\tstate: {mainContentLoading},\n\taction: {\n\t\tpayload: {route, passiveNavigation}\n\t}\n}) => {\n\t// Opening a background tab\n\tif (passiveNavigation === true) return;\n\n\tif (loadingStateCleared) {\n\t\tloadingStateCleared = false;\n\t\treturn;\n\t}\n\n\t// core-ui-iframe behavior controls the loading indicator for classic routes\n\tif (mainContentLoading || route === CLASSIC) return;\n\n\tupdateState({\n\t\tpath: MAIN_CONTENT_LOADING,\n\t\tvalue: true,\n\t\toperation: 'set'\n\t});\n};\n\nexport default {\n\tname: 'MAIN_CONTENT_LOADING',\n\tactionHandlers: {\n\t\t[NOW_EXPERIENCE_SWITCH_REQUESTED]: {\n\t\t\teffect: showLoadingIndicatorEffect\n\t\t},\n\t\t[NOW_EXPERIENCE_SWITCH_INITIATED]: {\n\t\t\teffect: showLoadingIndicatorEffect\n\t\t},\n\t\t[NOW_EXPERIENCE_PAGE_LOAD_INITIATED]: {\n\t\t\teffect: showLoadingIndicatorEffect\n\t\t},\n\t\t[NOW_EXPERIENCE_SWITCHED]: {\n\t\t\teffect({updateState}) {\n\t\t\t\tloadingStateCleared = true;\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[NOW_EXPERIENCE_PAGE_SWITCHED]: {\n\t\t\teffect({action, updateState}) {\n\t\t\t\tconst update = [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'activeContent',\n\t\t\t\t\t\tvalue: action.payload,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\t// The iframe load event does this for classic routes\n\t\t\t\tif (action?.payload?.route !== CLASSIC) {\n\t\t\t\t\tloadingStateCleared = true;\n\t\t\t\t\tupdate.push({\n\t\t\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tupdateState(update);\n\t\t\t}\n\t\t},\n\t\t[NOW_EXPERIENCE_PAGE_LOADED]: {\n\t\t\teffect({\n\t\t\t\tproperties: {\n\t\t\t\t\tselectedContent: {route}\n\t\t\t\t},\n\t\t\t\tdispatch,\n\t\t\t\tupdateState\n\t\t\t}) {\n\t\t\t\tconst data = {\n\t\t\t\t\tuser_agent: navigator.userAgent,\n\t\t\t\t\tua_time: new Date().toISOString(),\n\t\t\t\t\thref: window.location.href,\n\t\t\t\t\tpathname: window.location.pathname,\n\t\t\t\t\tsearch: window.location.search,\n\t\t\t\t\tpath: window.location.pathname + window.location.search\n\t\t\t\t};\n\n\t\t\t\tif (!getBooleanProperty(SYS_PROPS.UI.PRESENCE_DISABLED, false)) {\n\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\tdispatch(USER_PRESENCE_CHANGED, {data});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// The iframe load event does this for classic routes\n\t\t\t\tif (route !== CLASSIC) {\n\t\t\t\t\tloadingStateCleared = true;\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) {\n\t\t\t\tif (name === 'selectedContent') {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!previousValue ||\n\t\t\t\t\t\t!hasSelectedContentChanged(previousValue, value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'activeContent',\n\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[USER_PRESENCE_CHANGED]: {\n\t\t\t...updatePresence,\n\t\t\tmodifier: {name: 'throttle', limit: 3000}\n\t\t}\n\t}\n};\n","export const SKIP_LINKS_FOCUSED_IN = 'SKIP_LINKS#FOCUSED_IN';\nexport const SKIP_LINKS_FOCUSED_OUT = 'SKIP_LINKS#FOCUSED_OUT';\nexport const SKIP_LINK_FOCUSED = 'SKIP_LINK#FOCUSED';\n","export const ASIDE_RESIZED = 'ASIDE_RESIZED';\n","import isNil from 'lodash/isNil';\n\nexport default function getPreferenceValue(\n\tpreferences,\n\tname,\n\tdefaultValue = null\n) {\n\t// Preferences read from now-ui.glideUserPreferences are stored in ux_globals\n\t// Check canvas chrome first bc those are kept up to date\n\t// TODO: This should all eventually come from the global as we\n\t// move our preferences out from the canvas data broker and into our now-ui\n\tconst preferenceFromChrome = preferences?.find(\n\t\t(preference) => preference.name === name\n\t);\n\n\tconst preference = preferenceFromChrome ?? {\n\t\tvalue: window?.ux_globals?.userPrefs?.[name]\n\t};\n\n\treturn isNil(preference?.value) ? defaultValue : preference.value;\n}\n","import {getUserId, getLanguage} from './cache';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '../constants';\n\nconst DB_NAME = 'sn.polaris.cache';\nconst STORE_NAME = 'cache';\nconst DB_VERSION = 1;\n\n// Single IDB connection shared across all cache instances.\nlet db = null;\n\nfunction openDB() {\n\tif (db) return Promise.resolve(db);\n\treturn new Promise((resolve, reject) => {\n\t\tconst req = indexedDB.open(DB_NAME, DB_VERSION);\n\t\treq.onupgradeneeded = (e) => {\n\t\t\te.target.result.createObjectStore(STORE_NAME);\n\t\t};\n\t\treq.onsuccess = (e) => {\n\t\t\tdb = e.target.result;\n\t\t\tresolve(db);\n\t\t};\n\t\treq.onerror = (e) => reject(e.target.error);\n\t});\n}\n\nfunction idbGet(key) {\n\treturn openDB().then(\n\t\t(database) =>\n\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\tconst tx = database.transaction(STORE_NAME, 'readonly');\n\t\t\t\tconst req = tx.objectStore(STORE_NAME).get(key);\n\t\t\t\treq.onsuccess = () => resolve(req.result);\n\t\t\t\treq.onerror = (e) => reject(e.target.error);\n\t\t\t})\n\t);\n}\n\nfunction idbPut(key, item) {\n\treturn openDB().then(\n\t\t(database) =>\n\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\tconst tx = database.transaction(STORE_NAME, 'readwrite');\n\t\t\t\tconst req = tx.objectStore(STORE_NAME).put(item, key);\n\t\t\t\treq.onsuccess = () => resolve();\n\t\t\t\treq.onerror = (e) => reject(e.target.error);\n\t\t\t})\n\t);\n}\n\nfunction idbDelete(key) {\n\treturn openDB().then(\n\t\t(database) =>\n\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\tconst tx = database.transaction(STORE_NAME, 'readwrite');\n\t\t\t\tconst req = tx.objectStore(STORE_NAME).delete(key);\n\t\t\t\treq.onsuccess = () => resolve();\n\t\t\t\treq.onerror = (e) => reject(e.target.error);\n\t\t\t})\n\t);\n}\n\nconst isItemValid = ({ttl, ts}) => Date.now() - ts < ttl;\n\n/**\n * Creates an IndexedDB-backed cache instance for a single named type.\n *\n * Each instance has its own IDB key namespace, in-memory layer, pendingRemove Set,\n * and cross-reload bust flag in localStorage. The underlying IDB connection and store\n * are shared across all instances created from this factory.\n *\n * @param {string} name — cache type name, used in the IDB key and bust-flag key\n * @param {Object} [options]\n * @param {number} [options.defaultTtl] — default TTL in ms (overridable per set() call)\n */\nexport function createIdbCache(name, options = {}) {\n\tconst {defaultTtl = 24 * 60 * 60 * 1000} = options;\n\n\t// Per-instance state.\n\tconst local = {};\n\tconst pendingRemove = new Set();\n\tconst bustKey = `sn.polaris.idbCacheBust.${name}`;\n\n\tconst createKey = () => `sn.polaris.${getUserId()}.${name}.${getLanguage()}`;\n\n\tconst isEnabled = () =>\n\t\tgetBooleanProperty(SYS_PROPS.POLARIS_CLIENT_CACHE_ENABLED, true) &&\n\t\tgetBooleanProperty(SYS_PROPS.POLARIS_IDB_CACHE_ENABLED, false) &&\n\t\t!getProperty(SYS_PROPS.POLARIS_DISABLED_CLIENT_CACHE_TYPES, '')\n\t\t\t.split(',')\n\t\t\t.includes(name);\n\n\tconst consumeBustFlag = () => {\n\t\tif (!window.localStorage.getItem(bustKey)) return false;\n\t\twindow.localStorage.removeItem(bustKey);\n\t\treturn true;\n\t};\n\n\t// Synchronous read from in-memory layer.\n\t// Returns the cached value — safe to call in effects and interceptors that can't await.\n\t// No IDB access: storing a reference means no memory is duplicated vs caller state.\n\tfunction getFromMemory() {\n\t\tif (!isEnabled()) return undefined;\n\t\tconst key = createKey();\n\t\tconst item = local[key];\n\t\tif (!item || !isItemValid(item)) {\n\t\t\tdelete local[key];\n\t\t\treturn undefined;\n\t\t}\n\t\tif (consumeBustFlag()) {\n\t\t\tdelete local[key];\n\t\t\tidbDelete(key).catch(() => {});\n\t\t\treturn undefined;\n\t\t}\n\t\treturn item.value;\n\t}\n\n\t// Async read from IDB — only needed on cold start.\n\t// Populates in-memory layer so subsequent getFromMemory() calls are instant.\n\tasync function getFromDB() {\n\t\tif (!isEnabled()) return undefined;\n\t\ttry {\n\t\t\tconst key = createKey();\n\t\t\tif (pendingRemove.has(key)) return undefined;\n\t\t\tif (consumeBustFlag()) {\n\t\t\t\tidbDelete(key).catch(() => {});\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst item = await idbGet(key);\n\t\t\tif (!item || !isItemValid(item)) {\n\t\t\t\tif (item) idbDelete(key).catch(() => {});\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tlocal[key] = item;\n\t\t\treturn item.value;\n\t\t} catch (e) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\treturn {\n\t\tgetFromMemory,\n\n\t\t// Unified async read. Tries memory first (instant), falls back to IDB on cold start.\n\t\t// Use this when the caller can await; use getFromMemory() in synchronous contexts.\n\t\tasync get() {\n\t\t\tconst fromMemory = getFromMemory();\n\t\t\tif (fromMemory !== undefined) return fromMemory;\n\t\t\treturn getFromDB();\n\t\t},\n\n\t\t// Write — updates memory synchronously (callers never wait), persists to IDB async.\n\t\tset(value, setOptions = {}) {\n\t\t\tif (!isEnabled()) return;\n\t\t\tconst {ttl = defaultTtl} = setOptions;\n\t\t\tconst key = createKey();\n\t\t\t// Skip when called with the same value reference (e.g., warm-reload cache-hit path\n\t\t\t// calls updateHeaderMenuItems with the value just read from cache, which calls\n\t\t\t// set() again). Avoids a redundant structured-clone on every reload for large payloads.\n\t\t\tconst existing = local[key];\n\t\t\tif (existing && existing.value === value) return;\n\t\t\tpendingRemove.delete(key);\n\t\t\twindow.localStorage.removeItem(bustKey);\n\t\t\tconst item = {value, ttl, ts: Date.now()};\n\t\t\tlocal[key] = item;\n\t\t\t// Defer the IDB write so the structured-clone happens after the current render task,\n\t\t\t// not on the critical path. Important for large payloads (e.g. 5K+ menu items).\n\t\t\tsetTimeout(() => idbPut(key, item).catch(() => {}), 0);\n\t\t},\n\n\t\tremove() {\n\t\t\tconst key = createKey();\n\t\t\tdelete local[key];\n\t\t\tpendingRemove.add(key);\n\t\t\twindow.localStorage.setItem(bustKey, '1');\n\t\t\treturn idbDelete(key).catch(() => {});\n\t\t}\n\t};\n}\n","import {getBooleanProperty} from '@devsnc/unav-utils';\nimport {SYS_PROPS} from '../constants';\nimport cache from './cache';\nimport {createIdbCache} from './idbCache';\n\n// Kill-switch: when POLARIS_IDB_CACHE_ENABLED is false, fall back to the legacy\n// localStorage cache for headerMenuItems. Lets ops disable IDB without redeploying\n// if the new path causes issues in production.\nconst idbEnabled = () =>\n\tgetBooleanProperty(SYS_PROPS.POLARIS_IDB_CACHE_ENABLED, false);\n\nconst idbCache = createIdbCache('headerMenuItems');\n\nconst idbMenuCache = {\n\tgetFromMemory() {\n\t\tif (idbEnabled()) return idbCache.getFromMemory();\n\t\treturn cache.get('headerMenuItems');\n\t},\n\tasync get() {\n\t\tif (idbEnabled()) return idbCache.get();\n\t\treturn cache.get('headerMenuItems');\n\t},\n\tset(value, options) {\n\t\tif (idbEnabled()) return idbCache.set(value, options);\n\t\tcache.set('headerMenuItems', value, options);\n\t},\n\tremove() {\n\t\tif (idbEnabled()) return idbCache.remove();\n\t\tcache.remove('headerMenuItems');\n\t\treturn Promise.resolve();\n\t}\n};\n\nexport default idbMenuCache;\n","export const USER_SESSION_NOTIFICATION_REQUESTED =\n\t'USER_SESSION#NOTIFICATION_REQUESTED';\nexport const USER_NOTIFICATIONS_SUCCEEDED = 'USER_NOTIFICATIONS#SUCCEEDED';\nexport const USER_UI_NOTIFICATION_REQUESTED = 'USER_UI#NOTIFICATION_REQUESTED';\nexport const USER_UI_NOTIFICATION_CLEARED = 'USER_UI#NOTIFICATION_CLEARED';\n","export const BEHAVIOR_NAME = 'SN_POLARIS_APPSHELL_ROOT#';\n","import {BEHAVIOR_NAME} from './constants';\nexport const ADD_HISTORY_ENTRY = `${BEHAVIOR_NAME}ADD_HISTORY_ENTRY`;\nexport const HISTORY_UPDATE_REQUESTED = 'HISTORY_UPDATE_REQUESTED';\nexport const UPDATE_HISTORY = 'UPDATE_HISTORY';\nexport const PUSHED_NOW_UI_HISTORY = 'PUSHED_NOW_UI_HISTORY';\nexport const PUSHED_NOW_UI_HISTORY_SUCCESS = 'PUSHED_NOW_UI_HISTORY_SUCCESS';\nexport const PUSHED_NOW_UI_HISTORY_FAILURE = 'PUSHED_NOW_UI_HISTORY_FAILURE';\nexport const HISTORY_EVENT_FIRED_FROM_MAGELLAN =\n\t'HISTORY_EVENT_FIRED_FROM_MAGELLAN';\nexport const ADD_HISTORY_ENTRY_FOR_UI_PAGES = 'ADD_HISTORY_ENTRY_FOR_UI_PAGES';\nexport const HISTORY_COMMUNICATED_TO_SW = 'HISTORY_COMMUNICATED_TO_SW';\n","export const LEGACY_FORM_MODIFIED = 'LEGACY_FORM#MODIFIED';\nexport const LEGACY_FORM_SUBMITTED = 'LEGACY_FORM#SUBMITTED';\nexport const LEGACY_FORM_SUBMIT_ATTEMPTED = 'LEGACY_FORM#SUBMIT_ATTEMPTED';\nexport const LEGACY_FORM_BEFOREUNLOADED = 'LEGACY_FORM#BEFOREUNLOADED';\nexport const LEGACY_FORM_UNLOADED = 'LEGACY_FORM#UNLOADED';\n","export const INIT_GUIDED_TOURS = 'INIT_GUIDED_TOURS';\nexport const TOUR_MODAL_OPENED = 'TOUR#MODAL_OPENED';\nexport const TOUR_MODAL_CLOSED = 'TOUR#MODAL_CLOSED';\nexport const TOUR_BEGIN = 'TOUR#BEGIN';\n","import {getProperty} from 'sn-uxpage-presource';\nimport {t} from 'sn-translate';\nimport {get, isNil, isEmpty, isEqual, intersection, debounce} from 'lodash';\nimport {\n\tgetBooleanPreferenceValue,\n\tgetBooleanProperty,\n\tgetPreferenceValue,\n\tPREFERENCES\n} from '@devsnc/unav-utils';\nimport cache, {setUserId, setLanguage} from '../../utils/cache';\nimport idbMenuCache from '../../utils/idbMenuCache';\nimport {\n\tMENU_ALL,\n\tNAV_ITEM_SELECTED,\n\tPOLARIS_CONTEXT,\n\tRECENT_IFRAME_TITLE_UPDATED,\n\tUN_PAGE_TITLE_UPDATE_REQUESTED,\n\tSYS_PROPS,\n\tREFLOW_BREAKPOINTS,\n\tMAIN_NAV_HEIGHT,\n\tNOW_ASSIST_MENU_ID\n} from '../../constants';\nimport {OPEN_COLLAB_CHAT} from '../../behaviors/collab-chat-behavior/constants';\nimport {USER_UI_NOTIFICATION_REQUESTED} from '../../behaviors/user-notification-behavior/actions';\nimport {USER_SETTINGS_MODAL_OPENED} from '../../behaviors/user-settings-behavior/actions';\nimport {\n\tADD_HISTORY_ENTRY,\n\tHISTORY_EVENT_FIRED_FROM_MAGELLAN\n} from '../../behaviors/history-behavior/actions';\nimport {\n\tFAVORITE_ENTRY_ADDED,\n\tFAVORITE_REMOVE_SUCCEEDED,\n\tFAVORITE_EXPERIENCE_TITLE_STAR_CLICKED\n} from '../../behaviors/favorites-behavior/actions';\nimport {TEST_USER_IMPERSONATED} from '../../behaviors/impersonation-behavior/actions';\nimport {ELEVATE_ROLES_REQUESTED} from '../../behaviors/elevate-role-behavior/actions';\nimport {\n\tLEGACY_FORM_MODIFIED,\n\tLEGACY_FORM_SUBMITTED,\n\tLEGACY_FORM_SUBMIT_ATTEMPTED\n} from '../../behaviors/dirty-form-behavior/actions';\nimport {\n\tAPPLICATION_CHANGE_REQUESTED,\n\tAPPLICATION_REFRESH_REQUESTED\n} from '../../behaviors/application-behavior/actions';\nimport {\n\tUPDATE_SET_CHANGE_REQUESTED,\n\tUPDATE_SET_REFRESH_REQUESTED\n} from '../../behaviors/update-set-behavior/actions';\nimport {MENU_REFRESH_REQUESTED} from '../../behaviors/menu-modifier-behavior/actions';\nimport {DOMAIN_UPDATE_REQUESTED} from '../../behaviors/domain-behavior/actions';\nimport {\n\tTOUR_MODAL_OPENED,\n\tTOUR_MODAL_CLOSED\n} from '../../behaviors/guided-tours-behavior/constants';\n\nimport isATF from '../../utils/isATF';\nimport {resolveUserSession} from './utils/resolveUserSession';\nimport {getSelectedSearchContext} from '../../behaviors/search-behavior';\nimport {\n\tfeatureSettingsInit,\n\tgetFeatureSettings\n} from '../../utils/featureSettingsSingleton';\nimport getBooleanPropertyWhenPolarisEnabled from '../../utils/getBooleanPropertyWhenPolarisEnabled';\nimport {OPEN_UTILITY_MENU} from './actions';\nimport {declarativeOperations} from '@servicenow/ui-core';\n\nexport const handleUINotification = (dispatch, data) => {\n\tdispatch(USER_UI_NOTIFICATION_REQUESTED, {\n\t\tmessage: {\n\t\t\ttype: data.type || data.getType(),\n\t\t\ttext: data.text || data.getText(),\n\t\t\tduration: data.duration || data.getDuration()\n\t\t}\n\t});\n};\n\nexport const customEvents = {\n\t'magellanNavigator.permalink.set': (dispatch, data) => {\n\t\tconst {title, relativePath} = data;\n\n\t\tdispatch(UN_PAGE_TITLE_UPDATE_REQUESTED, {\n\t\t\tlabel: title,\n\t\t\turl: relativePath\n\t\t});\n\n\t\tdispatch(RECENT_IFRAME_TITLE_UPDATED, {\n\t\t\tlabel: title\n\t\t});\n\t},\n\t'magellanNavigator.historyAdded': (dispatch, data) => {\n\t\t//update the state to check history event triggered.\n\t\tdispatch(HISTORY_EVENT_FIRED_FROM_MAGELLAN);\n\t\tdispatch(ADD_HISTORY_ENTRY, data.history);\n\t},\n\t'magellanNavigator:favoriteSaved': (dispatch, data) => {\n\t\tdispatch(FAVORITE_ENTRY_ADDED, {\n\t\t\tfavoriteResponse: data,\n\t\t\tupdateSelectedContentFavorite: true\n\t\t});\n\t},\n\t'magellanNavigator:favoriteRemoved': (dispatch, data) => {\n\t\tdispatch(\n\t\t\tFAVORITE_REMOVE_SUCCEEDED,\n\t\t\t{},\n\t\t\t{\n\t\t\t\tremovedFavorites: [{id: data}]\n\t\t\t}\n\t\t);\n\t},\n\t'polaris:legacy.createFavorite': (dispatch, data) => {\n\t\tsetTimeout(() => {\n\t\t\tdispatch(FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED, {\n\t\t\t\t...data,\n\t\t\t\tfavoritePopupPayload: {\n\t\t\t\t\tinitialName: data.title,\n\t\t\t\t\tfromExperienceTitle: true\n\t\t\t\t}\n\t\t\t});\n\t\t}, 50);\n\t},\n\t'form.isModified': (dispatch, data) => {\n\t\tdispatch(LEGACY_FORM_MODIFIED, data);\n\t},\n\t'gsft.formSubmit': (dispatch, data) => {\n\t\tdispatch(LEGACY_FORM_SUBMITTED, data);\n\t},\n\t'glideform.submit_attempted': (dispatch) => {\n\t\tdispatch(LEGACY_FORM_SUBMIT_ATTEMPTED);\n\t},\n\t'back.gsftSubmit': (dispatch, data) => {\n\t\tdispatch(LEGACY_FORM_SUBMITTED, data);\n\t},\n\t'glide:form_submitted': (dispatch) => {\n\t\tdispatch(LEGACY_FORM_SUBMIT_ATTEMPTED);\n\t},\n\t'sn:impersonate': (dispatch, data) => {\n\t\tdispatch(TEST_USER_IMPERSONATED, {sysId: data});\n\t},\n\t'sn:elevate_roles': (dispatch, data) => {\n\t\tdispatch(ELEVATE_ROLES_REQUESTED, {\n\t\t\tdata: {\n\t\t\t\troles: data\n\t\t\t}\n\t\t});\n\t},\n\t'sn:change_application': (dispatch, data) => {\n\t\tdispatch(APPLICATION_CHANGE_REQUESTED, {data: {app_id: data}});\n\t},\n\t'sn:change_update_set': (dispatch, data) => {\n\t\tdispatch(UPDATE_SET_CHANGE_REQUESTED, {data: {sysId: data}});\n\t},\n\t'sn:refresh_update_set': (dispatch) => {\n\t\tdispatch(UPDATE_SET_REFRESH_REQUESTED);\n\t},\n\t'sn:refresh_application_picker': (dispatch) => {\n\t\tdispatch(APPLICATION_REFRESH_REQUESTED);\n\t},\n\t'glide:ui_notification.application_change': (dispatch) => {\n\t\tdispatch(APPLICATION_REFRESH_REQUESTED);\n\t},\n\t'glide:ui_notification.update_set_change': debounce((dispatch) => {\n\t\tdispatch(UPDATE_SET_REFRESH_REQUESTED, {}, {setNotification: true});\n\t}, 100),\n\t'glide:ui_notification.error': handleUINotification,\n\t'glide:ui_notification.info': handleUINotification,\n\t'glide:ui_notification.system': handleUINotification,\n\t'glide:ui_notification_preferences': (dispatch) => {\n\t\tdispatch(NAV_ITEM_SELECTED, {route: 'home', context: POLARIS_CONTEXT});\n\t\tdispatch(USER_SETTINGS_MODAL_OPENED, {\n\t\t\tinitialTab: 'notifications'\n\t\t});\n\t},\n\t'navigator.refresh': (dispatch) => {\n\t\tdispatch(MENU_REFRESH_REQUESTED);\n\t},\n\t'glide:ui_notification.system_event': (dispatch, data) => {\n\t\tif (data?.xml?.getAttribute('data-attr-event') === 'refresh_nav') {\n\t\t\tdispatch(MENU_REFRESH_REQUESTED);\n\t\t}\n\t},\n\topenframe_request: (dispatch, data) => {\n\t\tdispatch('RECORD#OPEN_CALL', {\n\t\t\tparams: {\n\t\t\t\tsource: 'form_field_ui16'\n\t\t\t},\n\t\t\tcallPayload: data\n\t\t});\n\t},\n\t'record.domain': (dispatch, data) => {\n\t\tdispatch(DOMAIN_UPDATE_REQUESTED, data);\n\t},\n\t'collab:open_collab_chat': (dispatch, data) => {\n\t\tdispatch(OPEN_COLLAB_CHAT, {fields: data.payload});\n\t},\n\t'tour:modal_opened': (dispatch, data) => {\n\t\tdispatch(TOUR_MODAL_OPENED, data);\n\t},\n\t'tour:modal_closed': (dispatch) => {\n\t\tdispatch(TOUR_MODAL_CLOSED);\n\t},\n\t'tour:tour_start': (dispatch, data) => {\n\t\tif (document.querySelectorAll('#tours-css').length === 0) {\n\t\t\tconst buildDate = getProperty(SYS_PROPS.BUILD_DATE);\n\n\t\t\tconst depCSS = document.createElement('link');\n\t\t\tdepCSS.id = 'tours-css';\n\t\t\tdepCSS.href = `/polaris-guided-tours-dependency.css?v=${buildDate}`;\n\t\t\tdepCSS.rel = 'stylesheet';\n\t\t\tdocument.head.appendChild(depCSS);\n\t\t}\n\n\t\tdispatch('SN_HELP_PANEL#TOUR_STARTED', data);\n\t},\n\t'tour:tour_end': (dispatch) => {\n\t\tdispatch('SN_HELP_PANEL#TOUR_ENDED');\n\t},\n\t'tour:step_rendered': (dispatch, data) => {\n\t\tdispatch('SN_HELP_PANEL#TOUR_STEP_RENDERED', data);\n\t},\n\t'embedded_help:load_embedded_help': (dispatch, data) => {\n\t\tdispatch('SN_HELP_PANEL#OPEN_DOCUMENT', data);\n\t},\n\t'nowassist:open_utility_menu': (dispatch, data) => {\n\t\tdispatch(OPEN_UTILITY_MENU, {\n\t\t\tid: data?.id || NOW_ASSIST_MENU_ID,\n\t\t\tpin: data?.pin || false,\n\t\t\tadditionalData: data?.additionalData\n\t\t});\n\t}\n};\n\nexport const setInitialState = ({\n\tselectedContent,\n\tuserMeta,\n\tuserPreferences,\n\tuserSession\n}) => {\n\tconst {sys_id} = userMeta;\n\n\t// Need to grab the existing preferences from the macroponent in case the userPrefs\n\t// that are grabbed from the canvas layout are not updated in time for the setInitialState call\n\tif (\n\t\t!getBooleanProperty('glide.uxf.js_server.onDemand', true) ||\n\t\tisEmpty(userPreferences)\n\t) {\n\t\tuserSession = resolveUserSession();\n\t\tuserPreferences = get(userSession, ['user', 'preferences']) || [];\n\t}\n\n\tsetLanguage(userSession?.user?.language);\n\tsetUserId(sys_id || userSession?.user?.sys_id);\n\tfeatureSettingsInit({}, userPreferences);\n\n\tconst windowWidth = Math.round(window.innerWidth);\n\n\tlet mainMenuPinnedId = getFeatureSettings().isMenuEnabled\n\t\t? getPreferenceValue(userPreferences, PREFERENCES.MAIN_MENU_PINNED_ID)\n\t\t: null;\n\n\t// Get contextual menu pinned ID from preferences\n\tlet contextualMenuPinnedId = getFeatureSettings().isMenuEnabled\n\t\t? getPreferenceValue(userPreferences, PREFERENCES.CONTEXTUAL_MENU_PINNED_ID)\n\t\t: null;\n\n\tlet contextualMenuWideMenus = getFeatureSettings().isMenuEnabled\n\t\t? getPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.CONTEXTUAL_MENU_WIDE_MENUS,\n\t\t\t\t[]\n\t\t  )\n\t\t: [];\n\n\tif (mainMenuPinnedId === 'null' || mainMenuPinnedId === '') {\n\t\tmainMenuPinnedId = null;\n\t}\n\n\tif (contextualMenuPinnedId === 'null' || contextualMenuPinnedId === '') {\n\t\tcontextualMenuPinnedId = null;\n\t}\n\n\t// Don't set Now Assist menu initially - wait for nowAssistSettings validation\n\tif (contextualMenuPinnedId === NOW_ASSIST_MENU_ID) {\n\t\tcontextualMenuPinnedId = null;\n\t}\n\n\t// contextualMenuWideMenus will likely be a string so parse it back into an array\n\tif (typeof contextualMenuWideMenus === 'string') {\n\t\tcontextualMenuWideMenus = JSON.parse(contextualMenuWideMenus);\n\t}\n\n\tconst showHiddenControlsPref = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.SHOW_HIDDEN_CONTROLS,\n\t\tfalse\n\t);\n\n\t// pin the all menu when ATF page is loading this\n\tif (isATF()) {\n\t\tmainMenuPinnedId = MENU_ALL;\n\t}\n\n\tconst isCollabChatEnabled =\n\t\tgetBooleanProperty(SYS_PROPS.UI.COLLAB_CHAT_ENABLED, false) &&\n\t\tgetFeatureSettings().isPolarisEnabled;\n\n\tconst isHelpAssistantEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.HELP_ASSISTANT_ENABLED,\n\t\tfalse\n\t);\n\n\t// Invalidate menu cache when role count changes; IDB hydration happens in COMPONENT_BOOTSTRAPPED\n\tconst userRolesCount = userSession?.user?.roles?.length;\n\tconst previousUserRolesCount = cache.get('userRolesCount');\n\tif (userRolesCount && !isEqual(previousUserRolesCount, userRolesCount)) {\n\t\tcache.set('userRolesCount', userRolesCount, {\n\t\t\tttl: Number.MAX_SAFE_INTEGER\n\t\t});\n\t\tcache.remove('flushstamp');\n\t\tidbMenuCache.remove();\n\t}\n\n\tconst isTouchDevice = () => {\n\t\treturn (\n\t\t\t'ontouchstart' in window ||\n\t\t\tnavigator.maxTouchPoints > 0 ||\n\t\t\tnavigator.msMaxTouchPoints > 0\n\t\t);\n\t};\n\n\tconst selectedSearchContext = getSelectedSearchContext({\n\t\tselectedContent,\n\t\tisLoggedIn: userSession?.isLoggedIn\n\t});\n\n\t// On initial loading, check if any picker preference is truthy.\n\tconst showUtilityBarOnInitialLoad =\n\t\t!getBooleanPropertyWhenPolarisEnabled(\n\t\t\tSYS_PROPS.UI.INSTANCE_TOOLS_DISABLED,\n\t\t\ttrue\n\t\t) &&\n\t\t(getBooleanPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.DOMAIN_PICKER_SHOWN,\n\t\t\tfalse\n\t\t) ||\n\t\t\tgetBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.APPLICATION_PICKER_SHOWN,\n\t\t\t\tfalse\n\t\t\t) ||\n\t\t\tgetBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.UPDATE_SET_SHOWN,\n\t\t\t\tfalse\n\t\t\t) ||\n\t\t\tgetBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.ENCRYPTION_SHOWN,\n\t\t\t\tfalse\n\t\t\t));\n\n\tconst isProductFeedbackEnabled =\n\t\tgetBooleanProperty(SYS_PROPS.UI.PRODUCT_FEEDBACK_FORM_ENABLED, true) &&\n\t\tgetBooleanProperty(SYS_PROPS.UI.UXF_METRICS_ENABLED, true) &&\n\t\tgetFeatureSettings().isPolarisEnabled;\n\n\treturn {\n\t\tshouldComponentRender: process.env.NODE_ENV === 'development',\n\t\tlastNowUiPageVisited: '',\n\t\tisNotificationsEnabled:\n\t\t\tgetFeatureSettings().isNotificationEnabled &&\n\t\t\tuserSession &&\n\t\t\tuserSession.isLoggedIn,\n\t\tisCollabChatEnabled,\n\t\tisIpSurveyEnabled: false,\n\t\tisUsageAnalyticsEnabled: false,\n\t\tlogoutConfirmationOpened: false,\n\t\tpageTitle: null,\n\t\tdirtyWorkspaces: [],\n\t\trecentIframeTitle: null,\n\t\tanimationsEnabled: true,\n\t\tfavoriteModalProps: null,\n\t\tmenuWidth: 0,\n\t\twideMenuWidth: 0,\n\t\tannounceImpersonationStatus: null,\n\t\tmainMenuState: {\n\t\t\tisMenuPinned: !isNil(mainMenuPinnedId),\n\t\t\tprimaryMenuId: mainMenuPinnedId,\n\t\t\tsecondaryMenuId: null,\n\t\t\tpinnedMenuId: !isNil(mainMenuPinnedId) ? mainMenuPinnedId : null,\n\t\t\tcanBePinned: windowWidth >= REFLOW_BREAKPOINTS.MAIN_MENU_PIN_BREAKPOINT,\n\t\t\tclosedByKeyboard: false,\n\t\t\tisPinnedWindow: false\n\t\t},\n\t\tshowUtilityBar: showUtilityBarOnInitialLoad,\n\t\tcontextualMenuState: {\n\t\t\tisMenuPinned: !isNil(contextualMenuPinnedId),\n\t\t\tprimaryMenuId: contextualMenuPinnedId,\n\t\t\tsecondaryMenuId: null,\n\t\t\tpinnedMenuId: !isNil(contextualMenuPinnedId)\n\t\t\t\t? contextualMenuPinnedId\n\t\t\t\t: null,\n\t\t\tcanBePinned:\n\t\t\t\twindowWidth >= REFLOW_BREAKPOINTS.CONTEXTUAL_MENU_PIN_BREAKPOINT,\n\t\t\tclosedByKeyboard: false,\n\t\t\tpinnedMenuWidth: 0,\n\t\t\tisCollabChatSearchEnabled: false,\n\t\t\tcommand: null,\n\t\t\thasBeenOpened: [],\n\t\t\tisBarOpen: showUtilityBarOnInitialLoad,\n\t\t\tutilityBarVisible: true,\n\t\t\tisPinnedWindow: false\n\t\t},\n\t\tcontextualMenu: {\n\t\t\tshowMenu: false,\n\t\t\tmenuType: null,\n\t\t\tbuttonRef: null, // Not being used anywhere; can we remove?\n\t\t\tmenuData: null,\n\t\t\tnotificationData: [],\n\t\t\tinstanceName: null,\n\t\t\tdrilledMenu: null,\n\t\t\tpreviousDrilledMenu: null,\n\t\t\toverflowMenuItems: [],\n\t\t\toverflowBadgeCount: 0,\n\t\t\tutilityBarVisible: true\n\t\t},\n\t\tnowAssistMenuBadgeCount: 0,\n\t\tsearchComponentLoadRequested: false,\n\t\tavailableDomains: {},\n\t\theaderMenuItems: undefined,\n\t\toverflowMenuDrilldown: null,\n\t\topenChat: {},\n\t\tfloatingContainerSize: 0,\n\t\topenFrameTagLoaded: false,\n\t\topenFrameConfig: {},\n\t\topenFrame: {\n\t\t\tshowIcon: false,\n\t\t\tshowPanel: false,\n\t\t\tid: 'cti',\n\t\t\ticon: 'phone-outline',\n\t\t\ticonSelected: false,\n\t\t\tstatus: null,\n\t\t\tbadge: 0,\n\t\t\tctiRef: null,\n\t\t\tmaxAllowedSize: {\n\t\t\t\twidth: Number.MAX_VALUE,\n\t\t\t\theight: Number.MAX_VALUE\n\t\t\t}\n\t\t},\n\t\tmainContentLoading: true,\n\t\tactiveModal: '',\n\t\thelpPanelAppContext: {\n\t\t\tappContext: null,\n\t\t\tshowHelpPanel: contextualMenuPinnedId === 'helpMenu' ? true : false\n\t\t},\n\t\thelpAssistantEnabled: isHelpAssistantEnabled,\n\t\tsearchRouteMap: null,\n\t\tisHistoryEventFired: null,\n\t\tisFetchingUnreadCount: false,\n\t\tcollabChatState: {\n\t\t\tshowCreateCollabChatModal: false,\n\t\t\tparentTable: null,\n\t\t\tparentSysId: null,\n\t\t\tcollabChatLoaded: false,\n\t\t\tconfig: {}\n\t\t},\n\t\tisTouchDevice: isTouchDevice(),\n\t\tuiNotificationsMeta: {\n\t\t\tqueue: [],\n\t\t\tdeleteQueue: [],\n\t\t\toffset: 0,\n\t\t\ttotalRowCount: 0\n\t\t},\n\t\tshowHiddenControls: showHiddenControlsPref,\n\t\tselectedSearchContext,\n\t\tfeedbackFormEnabled: isProductFeedbackEnabled,\n\t\tcurrentTooltip: {ref: null, content: '', opened: false, location: []},\n\t\tnapShortcutCommand: {},\n\t\twideMenus: contextualMenuWideMenus\n\t};\n};\n\nexport const getImpersonationMessage = ({\n\tisMainContentReady,\n\tannounceImpersonationStatus,\n\tuserMeta\n}) => {\n\tif (!isMainContentReady && !userMeta?.fullName) {\n\t\treturn null;\n\t}\n\n\tlet impersonationMessage = null;\n\tif (announceImpersonationStatus === 'start') {\n\t\timpersonationMessage = t('Impersonating user {0}', userMeta.fullName);\n\t} else if (announceImpersonationStatus === 'end') {\n\t\timpersonationMessage = t('Impersonation ended');\n\t}\n\n\treturn impersonationMessage;\n};\n\nexport const showSearch = (userRoles) => {\n\tconst searchRoles =\n\t\tgetProperty(SYS_PROPS.UI.GLOBAL_SEARCH_ROLES)?.toLowerCase() || '';\n\tif (isEmpty(searchRoles)) {\n\t\treturn true;\n\t}\n\tconst searchRolesTrimSpaces = searchRoles.split(',').map((str) => str.trim());\n\treturn intersection(userRoles, searchRolesTrimSpaces).length > 0;\n};\n\nexport const getLayoutHeight = ({windowSize, asideHeight}, nav = navigator) => {\n\tlet layoutHeight;\n\n\t// safari does not redraw divs with 100vh properly on window resize (DEF0305700) so we need to update the div with a fixed height on resize\n\t// this ends up causing firefox to sometimes add an extra pixel to the div due to fractional pixels which causes an extra scrollbar to\n\t// be added to the page with a scroll of 1px (DEF0357796).\n\t// Due to this we want to make sure we only update safari with fixed heights and use 100vh for everything else.\n\tlet windowHeight = '100vh';\n\tif (\n\t\tnav.userAgent.indexOf('Safari') > -1 &&\n\t\tnav.userAgent.indexOf('Chrome') === -1\n\t) {\n\t\twindowHeight = windowSize?.height + 'px' || '100vh';\n\t}\n\n\tif (windowSize && windowSize.width <= REFLOW_BREAKPOINTS.MINIMUM_WIDTH) {\n\t\tlayoutHeight = `calc(100vh + ${MAIN_NAV_HEIGHT}px + ${asideHeight}px)`;\n\t} else {\n\t\tlayoutHeight = windowHeight;\n\t}\n\n\treturn layoutHeight;\n};\n\n/**\n * Callback function to handle dirty state behavior by tracking which experience paths have unsaved changes.\n * Updates the state with a list of dirty workspaces when the dirty state changes.\n *\n * @param {Object} params - The parameters object\n * @param {Function} params.subscriberUpdateStateFn - Function to update the state\n * @param {Object} params.experienceData - Object containing experience data keyed by experience path\n * @param {string} params.experienceData[experiencePath].path - The path of the experience\n * @param {boolean} params.experienceData[experiencePath].isDirty - Whether the experience has unsaved changes\n * @param {string} params.experienceData[experiencePath].name - The name of the experience\n *\n * @example\n * // experienceData format:\n * {\n *   \"now/cwf/agent\": { path: \"now/cwf/agent\", isDirty: true, name: \"CSM\" },\n *   \"now/sow\": { path: \"now/sow\", isDirty: false, name: \"SOW\" }\n * }\n *\n * @returns {void}\n */\nexport function dirtyFormBehaviorCallback(params) {\n\tconst {subscriberUpdateStateFn, experienceData} = params;\n\n\tif (isNil(experienceData)) return;\n\n\tsubscriberUpdateStateFn(() => {\n\t\tconst newDirtyWorkspaces = Object.keys(experienceData).filter(\n\t\t\t(experiencePath) => experienceData[experiencePath]?.isDirty\n\t\t);\n\n\t\treturn {\n\t\t\tpath: 'dirtyWorkspaces',\n\t\t\tvalue: newDirtyWorkspaces,\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tshouldRender: true\n\t\t};\n\t});\n}\n\nconst isVisible = (element) => {\n\tlet style = element.style;\n\tif (style.visibility !== 'hidden' && style.display !== 'none') {\n\t\tstyle = window.getComputedStyle(element);\n\t\treturn style.visibility !== 'hidden' && style.display !== 'none';\n\t}\n\treturn false;\n};\n\nconst getNormalizedChildren = (node) => {\n\tlet children;\n\tif (node.localName === 'slot') {\n\t\tchildren = node.assignedNodes({flatten: true});\n\t} else {\n\t\t// Use shadow root if possible, will check for distributed nodes.\n\t\tchildren = (node.nowRootNode || node.shadowRoot || node).children;\n\t}\n\treturn children ? Array.prototype.slice.call(children) : [];\n};\n\nexport const findNodeInShadowDom = (node, cssSelector) => {\n\tlet queue = [node];\n\n\twhile (queue.length) {\n\t\tconst el = queue.shift();\n\t\t// If not an element or not visible, no need to explore children.\n\t\tif (el.nodeType !== Node.ELEMENT_NODE || !isVisible(el)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (el.matches(cssSelector)) {\n\t\t\treturn el;\n\t\t}\n\t\tconst children = getNormalizedChildren(el);\n\t\tqueue = [...children, ...queue];\n\t}\n};\n","import {TOAST_INITIAL_TIMEOUT, TOAST_AFTER_FOCUS_TIMEOUT} from './constants';\n\nconst getToastInitialTimeout = () => TOAST_INITIAL_TIMEOUT;\nconst getToastAfterFocusTimeout = () => TOAST_AFTER_FOCUS_TIMEOUT;\n\n/**\n * Sorts tab IDs to determine notification priority.\n * Prioritizes tabs with the specified feature first, then sorts by newest tab ID first.\n * @param {string[]} tabIds - Array of tab IDs to sort\n * @param {string} feature - The feature name to prioritize (e.g., 'inbox')\n * @returns {string[]} Sorted array of tab IDs\n */\nconst CLEANUP_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes\n\n/**\n * Removes entries from the notification map whose timestamp is 5+ minutes old.\n * @param {Map} map - The notification map to clean up\n */\nconst cleanupExpiredEntries = (map) => {\n\tconst now = Date.now();\n\tfor (const [key, value] of map) {\n\t\tif (now - value.timestamp >= CLEANUP_INTERVAL_MS) {\n\t\t\tmap.delete(key);\n\t\t}\n\t}\n};\n\n/**\n * Ensures the entry for `id` is ready for a fresh coordination round.\n * If no entry exists, or the existing entry's previous round has already\n * completed (`alreadyNotified` is true), the entry is (re)initialized.\n * Otherwise the in-progress entry is left untouched.\n *\n * Resetting on `alreadyNotified === true` is what allows a recurring\n * notification with the same id (e.g. a chat reappearing after the previous\n * one timed out) to fire again instead of being silently suppressed by\n * leftover state from the prior round.\n *\n * @param {Map} map - The notification map\n * @param {string} id - The notification id\n * @returns {boolean} true if a new/reset entry was written, false if the\n *                    existing in-progress entry was kept\n */\nconst ensureFreshNotificationEntry = (map, id) => {\n\tconst existing = map.get(id);\n\tif (existing && !existing.alreadyNotified) return false;\n\tmap.set(id, {\n\t\ttabIds: [],\n\t\talreadyNotified: false,\n\t\ttimestamp: Date.now()\n\t});\n\treturn true;\n};\n\nconst getTabIdTimestamp = (tabId) => {\n\tconst prefix = tabId.split('---', 1)[0];\n\tconst ts = Number(prefix.split('-')[0]);\n\treturn Number.isFinite(ts) ? ts : 0;\n};\n\n/**\n * Ensures an entry for `id` exists without ever resetting it.\n * Unlike `ensureFreshNotificationEntry`, this never clears a prior round's\n * `alreadyNotified` flag, so an existing \"already shown\" record survives.\n *\n * Used for the load-time (initial fetch) coordination path: a newly opened\n * window must join coordination to learn whether a peer already showed the\n * notification, but it must NOT wipe a peer's memory that it was shown -\n * otherwise the newly opened window re-pops a notification for a work item\n * that is already assigned and was already announced elsewhere.\n *\n * @param {Map} map - The notification map\n * @param {string} id - The notification id\n * @returns {boolean} true if a new entry was created, false if one already existed\n */\nconst ensureNotificationEntry = (map, id) => {\n\tif (map.has(id)) return false;\n\tmap.set(id, {\n\t\ttabIds: [],\n\t\talreadyNotified: false,\n\t\ttimestamp: Date.now()\n\t});\n\treturn true;\n};\n\nconst sortTabIdsByPriority = (tabIds, feature) => {\n\treturn [...tabIds].sort((a, b) => {\n\t\tconst aSegments = a.split('---');\n\t\tconst bSegments = b.split('---');\n\n\t\tconst aHasFeature = aSegments.includes(feature);\n\t\tconst bHasFeature = bSegments.includes(feature);\n\n\t\t// If one has the feature and the other doesn't, feature comes first\n\t\tif (aHasFeature && !bHasFeature) return -1;\n\t\tif (!aHasFeature && bHasFeature) return 1;\n\n\t\t// If one has inbox open and the other doesnt, open comes first\n\t\tconst aHasInboxOpen = aSegments.includes('open');\n\t\tconst bHasInboxOpen = bSegments.includes('open');\n\n\t\tif (aHasInboxOpen && !bHasInboxOpen) return -1;\n\t\tif (!aHasInboxOpen && bHasInboxOpen) return 1;\n\n\t\t// If one has inbox available and the other doesnt, available comes first\n\t\tconst aHasInboxAvailable = aSegments.includes('available');\n\t\tconst bHasInboxAvailable = bSegments.includes('available');\n\n\t\tif (aHasInboxAvailable && !bHasInboxAvailable) return -1;\n\t\tif (!aHasInboxAvailable && bHasInboxAvailable) return 1;\n\n\t\t// If toolbar isnt inbox but the experience has an inbox route\n\t\tconst aHasInboxRoute = aSegments.includes('hasInboxRoute');\n\t\tconst bHasInboxRoute = bSegments.includes('hasInboxRoute');\n\n\t\tif (aHasInboxRoute && !bHasInboxRoute) return -1;\n\t\tif (!aHasInboxRoute && bHasInboxRoute) return 1;\n\n\t\t// If both have the feature or both don't, sort by newest TAB_ID first\n\t\treturn getTabIdTimestamp(b) - getTabIdTimestamp(a);\n\t});\n};\n\nexport default {\n\tCLEANUP_INTERVAL_MS,\n\tgetToastInitialTimeout,\n\tgetToastAfterFocusTimeout,\n\tcleanupExpiredEntries,\n\tensureFreshNotificationEntry,\n\tensureNotificationEntry,\n\tsortTabIdsByPriority\n};\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {get, isEmpty} from 'lodash';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-tooltip';\nimport {LogoutConfirmation} from './logout-confirmation';\nimport {FavoriteDeleteModal} from '../favorite-delete-modal';\nimport {ScriptDebuggerConfirmation} from './script-debugger-modal';\nimport {DirtyFormConfirmation} from './dirty-form-modal';\nimport {UserSessionNotification} from './user-session-notification';\nimport {UserUINotification} from './user-ui-notification';\nimport {MessageStackServiceNotification} from './message-stack-service-notification';\nimport {PrinterConfirmationModal} from './printer-confirmation-modal';\nimport {GuidedToursModal} from './guided-tours-modal';\nimport {AIEL_UNAVAILABLE_MODAL_DISMISSED} from '../../behaviors/now-assist-behavior/constants';\nimport '@servicenow/now-modal';\nimport {\n\tCLASSIC,\n\tSYS_PROPS,\n\tMENU_FAVORITES,\n\tREFLOW_BREAKPOINTS\n} from '../../constants';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {getBooleanProperty, PREFERENCES} from '@devsnc/unav-utils';\nimport {normalizeDirtyWorkspaces} from '../../behaviors/menu-modifier-behavior/util';\nimport {STATE_PATH_IS_ENABLED} from '../../behaviors/is-inbox-enabled-behavior/constants';\nimport {ARIA_LIVE_STATE_PATH} from '../../behaviors/aria-live-messages-behavior/constants';\n\nimport {\n\tNOTIFICATION_CURRENT_SYSID_PATH,\n\tNOTIFICATION_STATE_PATH,\n\tNOTIFICATION_UNREAD_STATE_PATH\n} from '../../behaviors/notification-behavior/constants';\nimport '../sn-polaris-header';\nimport {FavoritePopup} from '../favorite-popup/FavoritePopup';\nimport {UtilityBar} from './utility-bar';\n\nimport isATF from '../../utils/isATF';\nimport {resolveLoadingDisplayValues} from '../../behaviors/main-content-loading-behavior';\nimport {t} from 'sn-translate';\nimport {\n\tSKIP_LINK_FOCUSED,\n\tSKIP_LINKS_FOCUSED_IN,\n\tSKIP_LINKS_FOCUSED_OUT\n} from '../../behaviors/skip-links-behavior/actions';\nimport {ASIDE_RESIZED} from '../../behaviors/aside-behavior/actions';\nimport getPreferenceValue from '../../utils/getPreferenceValue';\nimport {FLOATING_CONTAINER_RESIZED} from '../../behaviors/collab-chat-behavior/constants';\nimport {\n\tgetImpersonationMessage,\n\tgetLayoutHeight,\n\tshowSearch\n} from './sn-polaris-layout.utils';\nimport util from '../../behaviors/notification-behavior/util';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\n\nlet boundaryElement;\n\nconst LoadingIndicator = ({visible}) => (\n\t<div\n\t\tclass={{\n\t\t\t'main-content-loader': true,\n\t\t\tvisible\n\t\t}}>\n\t\t<now-loader label=\"\" size=\"lg\" action=\"\" />\n\t<\/div>\n);\n\nconst AnnouncementsBanner = ({isMainContentReady}) => {\n\treturn !getProperty(SYS_PROPS.UI.DISABLE_ANNOUNCEMENT_BANNER) &&\n\t\tisMainContentReady &&\n\t\timport('@servicenow/sn-banner-announcement') ? (\n\t\t<sn-banner-announcement-list\n\t\t\tconfigId={\n\t\t\t\tgetProperty(SYS_PROPS.UI.ANNOUNCEMENT_BANNER_CONFIG_ID) ||\n\t\t\t\t'36aefd8153223010f296ddeeff7b12e9'\n\t\t\t}\n\t\t/>\n\t) : null;\n};\n\nconst SkipLinksBar = ({\n\tskipLinksVisible,\n\tdispatch,\n\topenFrameConfig,\n\topenFrame\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'skip-links-bar': true,\n\t\t\t\tvisible: skipLinksVisible,\n\t\t\t\t'can-animate': true\n\t\t\t}}\n\t\t\trole=\"navigation\"\n\t\t\taria-label={t('Global skip links')}\n\t\t\ton-focusin={() => dispatch(SKIP_LINKS_FOCUSED_IN)}\n\t\t\ton-focusout={() => dispatch(SKIP_LINKS_FOCUSED_OUT)}>\n\t\t\t<now-text-link\n\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\tclassName=\"skip-link\"\n\t\t\t\tlabel={t('Skip to main content')}\n\t\t\t\tunderlined\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tlink: {'aria-label': t('Skip to main content')}\n\t\t\t\t}}\n\t\t\t\tappend-to-payload={{link: 'main-content'}}\n\t\t\t\ton-focus={() => dispatch(SKIP_LINK_FOCUSED, {link: 'main-content'})}\n\t\t\t/>\n\t\t\t<now-text-link\n\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\tclassName=\"skip-link\"\n\t\t\t\tlabel={t('Open accessibility preferences')}\n\t\t\t\tunderlined\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tlink: {'aria-label': t('Open accessibility preferences')}\n\t\t\t\t}}\n\t\t\t\tappend-to-payload={{link: 'a11y'}}\n\t\t\t\ton-focus={() => dispatch(SKIP_LINK_FOCUSED, {link: 'a11y'})}\n\t\t\t/>\n\t\t\t{openFrame?.showIcon ? (\n\t\t\t\t<now-text-link\n\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\tclassName=\"skip-link\"\n\t\t\t\t\tlabel={\n\t\t\t\t\t\topenFrameConfig?.AppOpenframe_Query?.config?.title || t('Phone')\n\t\t\t\t\t}\n\t\t\t\t\tunderlined\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tlink: {\n\t\t\t\t\t\t\t'aria-label':\n\t\t\t\t\t\t\t\topenFrameConfig?.AppOpenframe_Query?.config?.title || t('Phone')\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{link: 'openframe'}}\n\t\t\t\t\ton-focus={() => dispatch(SKIP_LINK_FOCUSED, {link: 'openframe'})}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n\nexport default (\n\t{\n\t\tfavoriteDeletePayload,\n\t\tlogoutConfirmationOpened,\n\t\tnowAssistUnavailableModalOpened,\n\t\tuserSessionNotifications,\n\t\tuserUINotifications,\n\t\tmessageStackAlerts,\n\t\tstartDebuggingConfirmationOpened,\n\t\tdirtyFormConfirmationPayload,\n\t\tprinterConfirmationModalProps,\n\t\tpageTitle,\n\t\tannounceImpersonationStatus,\n\t\trequestToCloseModals,\n\t\tenabledPlugins,\n\t\tproperties: {\n\t\t\theaderLogoTarget,\n\t\t\theaderConfig,\n\t\t\tuserPreferences,\n\t\t\tselectedContent,\n\t\t\tuserMeta,\n\t\t\tdir,\n\t\t\tfeatures: {isPolarisEnabled, isPrintingEnabled, isMenuEnabled},\n\t\t\tuserSession,\n\t\t\twindowSize,\n\t\t\tuserSettingsAccess,\n\t\t\tcoreUILogoSrc,\n\t\t\tpolarisSearchContexts,\n\t\t\tnowAssistSettings,\n\t\t\twmBottomToolbar\n\t\t},\n\t\tanimationsEnabled,\n\t\tfavoriteModalProps,\n\t\tshowPrint,\n\t\tguidedToursPrompt,\n\t\tguidedTour,\n\t\timpersonationOpen,\n\t\tendImpersonation,\n\t\televateRoleOpen,\n\t\tmenuWidth,\n\t\tmainMenuState,\n\t\tcontextualMenu,\n\t\tcontextualMenuState,\n\t\tselectedContentFavorite,\n\t\tselectedSearchContext,\n\t\tisNotificationsEnabled,\n\t\tavailableDomains,\n\t\theaderMenuItems,\n\t\toverflowMenuDrilldown,\n\t\tavailableApplications,\n\t\tdirtyWorkspaces,\n\t\tavailableUpdateSets,\n\t\tavailableEncryptionContexts,\n\t\tisCollabChatEnabled,\n\t\tisIpSurveyEnabled,\n\t\tisUsageAnalyticsEnabled,\n\t\tapplicationId,\n\t\tnapShortcutCommand,\n\t\topenChat,\n\t\tfloatingContainerSize,\n\t\topenFrame,\n\t\topenFrameTagLoaded,\n\t\topenFrameConfig,\n\t\tavailableElevatedRoles,\n\t\tmainContentLoading,\n\t\tguidedToursLoaded,\n\t\tseismicContentLoaded,\n\t\tactiveContent,\n\t\tactiveModal,\n\t\tsettingOpened,\n\t\tskipLinksVisible,\n\t\tscreenContentLinks,\n\t\thelpPanelAppContext,\n\t\thelpAssistantEnabled,\n\t\tinitialMainContentReady,\n\t\tisFetchingUnreadCount,\n\t\tcollabChatState,\n\t\tkeyboardShortcutsState,\n\t\tshouldComponentRender,\n\t\tisTouchDevice,\n\t\tfavoritePopupPayload,\n\t\tpopupRef,\n\t\ttempFavoriteStarFill,\n\t\tisSyncingFavorites,\n\t\tshowHiddenControls,\n\t\tshowUtilityBar,\n\t\tfeedbackFormEnabled,\n\t\tshowFeedbackForm,\n\t\tisLoadingMenu,\n\t\tcurrentTooltip,\n\t\tasideHeight,\n\t\tconcoursePickerConfig,\n\t\tkeyboardShortcutsModalOpened,\n\t\tnowAssistMenuBadgeCount,\n\t\tbypassExperienceTitle,\n\t\twideMenus,\n\t\tuserPrefsMap,\n\t\t...restOfState\n\t},\n\t{dispatch}\n) => {\n\tconst logoSrc = get(coreUILogoSrc, 'imgSrc', null);\n\t// window.isAIUXMode is set by UXF when aiuxMode=true query param is present\n\tconst isAiuxExperience = !!window.isAIUXMode;\n\tconst isMainMenuPinned =\n\t\t!isAiuxExperience &&\n\t\tmainMenuState.isMenuPinned &&\n\t\tmainMenuState.canBePinned;\n\tconst isContextualMenuPinned =\n\t\t!isAiuxExperience &&\n\t\tcontextualMenuState.isMenuPinned &&\n\t\tcontextualMenuState.canBePinned;\n\tconst displayTransactionStatusMessage = getBooleanProperty(\n\t\tSYS_PROPS.TRANSACTION_STATUS_MESSAGE_ACTIVE,\n\t\tfalse\n\t);\n\n\tconst transactionStatusMessageDelayTime =\n\t\tgetProperty(SYS_PROPS.TRANSACTION_STATUS_MESSAGE_DELAY_TIME, 15) * 1000;\n\n\tconst printerFriendlyEnabled =\n\t\tselectedContent?.route === CLASSIC && isPrintingEnabled && showPrint;\n\n\tconst menuItems = isMenuEnabled\n\t\t? normalizeDirtyWorkspaces(headerMenuItems, dirtyWorkspaces)\n\t\t: [];\n\tconst notifications = get(restOfState, NOTIFICATION_STATE_PATH, []);\n\tconst unreadNotificationCount = get(\n\t\trestOfState,\n\t\tNOTIFICATION_UNREAD_STATE_PATH,\n\t\t0\n\t);\n\tconst currentNotificationSysId = get(\n\t\trestOfState,\n\t\tNOTIFICATION_CURRENT_SYSID_PATH,\n\t\t'none'\n\t);\n\tconst alertingNotifications = notifications.filter(\n\t\t({sysId}) => sysId === currentNotificationSysId\n\t);\n\tconst {main: mainDisplay, indicatorVisible} = resolveLoadingDisplayValues(\n\t\tactiveContent,\n\t\tmainContentLoading\n\t);\n\tconst isFavoriteModalOpen = !isEmpty(favoriteModalProps);\n\n\tconst toggleGlobalSearch = getBooleanProperty(\n\t\tSYS_PROPS.UI.POLARIS_GLOBAL_SEARCH,\n\t\ttrue\n\t);\n\n\tconst notificationLocation = getPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.NOTIFICATION_LOCATION,\n\t\t'top-end'\n\t);\n\n\tconst helpAssistantActiveAndEnabled =\n\t\thelpAssistantEnabled &&\n\t\tuserMeta.roles?.indexOf('sn_dyn_guidance_user') > -1 &&\n\t\t(enabledPlugins ?? []).find(\n\t\t\t(plugin) =>\n\t\t\t\tplugin?.id === 'com.sn_help_assistant' && plugin?.active === true\n\t\t);\n\n\tconst isAllMenuEditorEnabled =\n\t\t(enabledPlugins ?? []).find((plugin) => plugin?.id === 'sn_ne_menu_editor')\n\t\t\t?.active === true &&\n\t\tgetPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.ALL_MENU_EDITOR_REDIRECT,\n\t\t\ttrue\n\t\t);\n\n\tconst globalSearchEnabled =\n\t\tisPolarisEnabled && showSearch(userMeta.roles) && toggleGlobalSearch;\n\n\tconst ariaLiveMessages = get(restOfState, ARIA_LIVE_STATE_PATH, []);\n\n\tlet asideResizeObserver;\n\tlet floatingContainerResizeObserver;\n\tconst layoutHeight = getLayoutHeight({windowSize, asideHeight});\n\n\tconst reversed = dir === 'rtl';\n\tconst rightOffset =\n\t\t!reversed && isContextualMenuPinned\n\t\t\t? contextualMenuState.pinnedMenuWidth\n\t\t\t: reversed && isMainMenuPinned\n\t\t\t? menuWidth\n\t\t\t: 0;\n\tconst leftOffset =\n\t\treversed && isContextualMenuPinned\n\t\t\t? contextualMenuState.pinnedMenuWidth\n\t\t\t: !reversed && isMainMenuPinned\n\t\t\t? menuWidth\n\t\t\t: 0;\n\n\tconst isShortcutCustomizationEnabled =\n\t\tgetBooleanProperty(\n\t\t\tSYS_PROPS.UI.KEYBOARD_SHORTCUTS_CUSTOMIZATION_ENABLED,\n\t\t\ttrue\n\t\t) &&\n\t\tuserMeta?.sys_id &&\n\t\tuserMeta.sys_id.length === 32;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-relevant=\"all\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t\tclassName=\"now-a11y-label\">\n\t\t\t\t{getImpersonationMessage({\n\t\t\t\t\tisMainContentReady: initialMainContentReady,\n\t\t\t\t\tannounceImpersonationStatus,\n\t\t\t\t\tuserMeta\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\theight: `${layoutHeight}`,\n\t\t\t\t\tpaddingBottom: wmBottomToolbar.isOpen ? wmBottomToolbar.height : '0px'\n\t\t\t\t}}\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-layout': true,\n\t\t\t\t\t'is-atf': isATF(),\n\t\t\t\t\t'polaris-enabled': isPolarisEnabled\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"layout-aside\"\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tasideResizeObserver = new ResizeObserver((elm) => {\n\t\t\t\t\t\t\tdispatch(ASIDE_RESIZED, elm);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tasideResizeObserver.observe(elm);\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\tif (asideResizeObserver) asideResizeObserver.unobserve(elm);\n\n\t\t\t\t\t\tasideResizeObserver = null;\n\t\t\t\t\t}}>\n\t\t\t\t\t<SkipLinksBar\n\t\t\t\t\t\tskipLinksVisible={skipLinksVisible}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\topenFrameConfig={openFrameConfig}\n\t\t\t\t\t\topenFrame={openFrame}\n\t\t\t\t\t/>\n\t\t\t\t\t{!isAiuxExperience ? (\n\t\t\t\t\t\t<AnnouncementsBanner isMainContentReady={initialMainContentReady} />\n\t\t\t\t\t) : null}\n\t\t\t\t\t<div aria-live=\"polite\" aria-atomic=\"true\" className=\"now-a11y-label\">\n\t\t\t\t\t\t{ariaLiveMessages?.length > 0\n\t\t\t\t\t\t\t? ariaLiveMessages.map((m) => <div>{m}<\/div>)\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div className=\"layout-main\">\n\t\t\t\t\t{(window === window.top || isPolarisEnabled) && !isAiuxExperience ? (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div className=\"header-bar\">\n\t\t\t\t\t\t\t\t<sn-polaris-header\n\t\t\t\t\t\t\t\t\tis-loading-menu={isLoadingMenu}\n\t\t\t\t\t\t\t\t\tshould-component-render={shouldComponentRender}\n\t\t\t\t\t\t\t\t\tis-notifications-enabled={isNotificationsEnabled}\n\t\t\t\t\t\t\t\t\tis-collab-chat-enabled={isCollabChatEnabled}\n\t\t\t\t\t\t\t\t\tis-usage-analytics-enabled={isUsageAnalyticsEnabled}\n\t\t\t\t\t\t\t\t\tapplication-id={applicationId}\n\t\t\t\t\t\t\t\t\tshow-now-assist-menu={\n\t\t\t\t\t\t\t\t\t\tgetFeatureSettings().isPolarisEnabled &&\n\t\t\t\t\t\t\t\t\t\tnowAssistSettings?.napActive\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisAIELEnabled={\n\t\t\t\t\t\t\t\t\t\tgetFeatureSettings().isPolarisEnabled &&\n\t\t\t\t\t\t\t\t\t\tnowAssistSettings?.aielActiveForFulfiller\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tnapShortcutCommand={napShortcutCommand}\n\t\t\t\t\t\t\t\t\tpage-title={pageTitle}\n\t\t\t\t\t\t\t\t\tmenuItems={menuItems}\n\t\t\t\t\t\t\t\t\theaderMenuItems={headerMenuItems}\n\t\t\t\t\t\t\t\t\toverflowMenuDrilldown={overflowMenuDrilldown}\n\t\t\t\t\t\t\t\t\tuser-preferences={userPreferences}\n\t\t\t\t\t\t\t\t\tselected-content={selectedContent}\n\t\t\t\t\t\t\t\t\tuser-meta={userMeta}\n\t\t\t\t\t\t\t\t\tuser-session={userSession}\n\t\t\t\t\t\t\t\t\tmenu-width={menuWidth}\n\t\t\t\t\t\t\t\t\tmain-menu-state={mainMenuState}\n\t\t\t\t\t\t\t\t\tanimations-enabled={animationsEnabled}\n\t\t\t\t\t\t\t\t\theader-config={headerConfig}\n\t\t\t\t\t\t\t\t\tprinter-friendly-enabled={printerFriendlyEnabled}\n\t\t\t\t\t\t\t\t\tavailable-elevated-roles={availableElevatedRoles}\n\t\t\t\t\t\t\t\t\tcontextual-menu={contextualMenu}\n\t\t\t\t\t\t\t\t\tcontextual-menu-state={contextualMenuState}\n\t\t\t\t\t\t\t\t\tisInboxEnabled={get(\n\t\t\t\t\t\t\t\t\t\trestOfState,\n\t\t\t\t\t\t\t\t\t\tSTATE_PATH_IS_ENABLED,\n\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\thasDirtyWorkspaces={dirtyWorkspaces.length > 0}\n\t\t\t\t\t\t\t\t\tselected-content-favorite={selectedContentFavorite}\n\t\t\t\t\t\t\t\t\tavailable-encryption-contexts={availableEncryptionContexts}\n\t\t\t\t\t\t\t\t\tavailable-update-sets={availableUpdateSets}\n\t\t\t\t\t\t\t\t\tavailable-applications={availableApplications}\n\t\t\t\t\t\t\t\t\theader-logo-target={headerLogoTarget}\n\t\t\t\t\t\t\t\t\tselected-search-context={selectedSearchContext}\n\t\t\t\t\t\t\t\t\tglobal-search-enabled={globalSearchEnabled}\n\t\t\t\t\t\t\t\t\tnotifications={notifications}\n\t\t\t\t\t\t\t\t\tavailable-domains={availableDomains}\n\t\t\t\t\t\t\t\t\topen-frame-tag-loaded={openFrameTagLoaded}\n\t\t\t\t\t\t\t\t\topen-frame-config={openFrameConfig}\n\t\t\t\t\t\t\t\t\topen-frame={openFrame}\n\t\t\t\t\t\t\t\t\tnowAssistMenuBadgeCount={nowAssistMenuBadgeCount}\n\t\t\t\t\t\t\t\t\t// need to keep the menu open when the popup is open, otherwise\n\t\t\t\t\t\t\t\t\t// interacting with the popup will close everything\n\t\t\t\t\t\t\t\t\tforce-menu-open={\n\t\t\t\t\t\t\t\t\t\tisFavoriteModalOpen ||\n\t\t\t\t\t\t\t\t\t\t(favoriteDeletePayload &&\n\t\t\t\t\t\t\t\t\t\t\t(!favoriteDeletePayload?.fromExperienceTitle ||\n\t\t\t\t\t\t\t\t\t\t\t\twindowSize?.width <\n\t\t\t\t\t\t\t\t\t\t\t\t\tREFLOW_BREAKPOINTS.HIDE_CENTER_PILL)) ||\n\t\t\t\t\t\t\t\t\t\t(favoritePopupPayload &&\n\t\t\t\t\t\t\t\t\t\t\t!favoritePopupPayload?.fromExperienceTitle)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tactive-modal={activeModal}\n\t\t\t\t\t\t\t\t\tboundary-element={boundaryElement}\n\t\t\t\t\t\t\t\t\tscreen-content-links={screenContentLinks}\n\t\t\t\t\t\t\t\t\thelpPanelAppContext={helpPanelAppContext}\n\t\t\t\t\t\t\t\t\twindow-size={windowSize}\n\t\t\t\t\t\t\t\t\tisFetchingUnreadCount={isFetchingUnreadCount}\n\t\t\t\t\t\t\t\t\tunreadNotificationCount={unreadNotificationCount}\n\t\t\t\t\t\t\t\t\tcoreUILogoSrc={logoSrc}\n\t\t\t\t\t\t\t\t\tisTouchDevice={isTouchDevice}\n\t\t\t\t\t\t\t\t\t// temporarily fill the header star until the favorite is created\n\t\t\t\t\t\t\t\t\ttempFavoriteStarFill={tempFavoriteStarFill}\n\t\t\t\t\t\t\t\t\thideFavoriteTooltip={\n\t\t\t\t\t\t\t\t\t\ttempFavoriteStarFill || !isEmpty(favoriteDeletePayload)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisSyncingFavorites={isSyncingFavorites}\n\t\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t\t\tfeedbackFormEnabled={feedbackFormEnabled}\n\t\t\t\t\t\t\t\t\tuserSettingsAccess={userSettingsAccess}\n\t\t\t\t\t\t\t\t\tconcoursePickerConfig={concoursePickerConfig}\n\t\t\t\t\t\t\t\t\tpolarisSearchContexts={polarisSearchContexts}\n\t\t\t\t\t\t\t\t\tbypassExperienceTitle={bypassExperienceTitle}\n\t\t\t\t\t\t\t\t\twideMenus={wideMenus}\n\t\t\t\t\t\t\t\t\tisAllMenuEditorEnabled={isAllMenuEditorEnabled}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div className=\"header-border-bar\" />\n\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{!isAiuxExperience &&\n\t\t\t\t\tisPolarisEnabled &&\n\t\t\t\t\tshowUtilityBar &&\n\t\t\t\t\tcontextualMenu.utilityBarVisible ? (\n\t\t\t\t\t\t<UtilityBar\n\t\t\t\t\t\t\tisMainMenuPinned={isMainMenuPinned}\n\t\t\t\t\t\t\tisContextualMenuPinned={isContextualMenuPinned}\n\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\treversed={dir === 'rtl'}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tconcoursePickerConfig={concoursePickerConfig}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{!isAiuxExperience && alertingNotifications?.length > 0\n\t\t\t\t\t\t? import('@devsnc/sn-notifications-menu') && (\n\t\t\t\t\t\t\t\t<sn-notification-toast\n\t\t\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\t\t\talertingNotifications={notifications}\n\t\t\t\t\t\t\t\t\tcurrentNotificationSysId={currentNotificationSysId}\n\t\t\t\t\t\t\t\t\tnotificationLocation={notificationLocation}\n\t\t\t\t\t\t\t\t\tinitialTimeout={util.getToastInitialTimeout()}\n\t\t\t\t\t\t\t\t\tafterFocusTimeout={util.getToastAfterFocusTimeout()}\n\t\t\t\t\t\t\t\t\trightOffset={rightOffset}\n\t\t\t\t\t\t\t\t\tleftOffset={leftOffset}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: null}\n\t\t\t\t\t{!isAiuxExperience && displayTransactionStatusMessage ? (\n\t\t\t\t\t\t<sn-transaction-status-message\n\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'is-pinned': isMainMenuPinned,\n\t\t\t\t\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tinitialDelay={transactionStatusMessageDelayTime}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{!isAiuxExperience && messageStackAlerts?.length > 0 ? (\n\t\t\t\t\t\t<MessageStackServiceNotification\n\t\t\t\t\t\t\talerts={messageStackAlerts}\n\t\t\t\t\t\t\tisPinned={isMainMenuPinned}\n\t\t\t\t\t\t\tisContextualMenuPinned={isContextualMenuPinned}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{!isAiuxExperience && userUINotifications?.length > 0 ? (\n\t\t\t\t\t\t<UserUINotification\n\t\t\t\t\t\t\titems={userUINotifications}\n\t\t\t\t\t\t\tisPinned={isMainMenuPinned}\n\t\t\t\t\t\t\tisContextualMenuPinned={isContextualMenuPinned}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{!isAiuxExperience && userSessionNotifications?.length > 0 ? (\n\t\t\t\t\t\t<UserSessionNotification\n\t\t\t\t\t\t\titems={userSessionNotifications}\n\t\t\t\t\t\t\tisPinned={isMainMenuPinned}\n\t\t\t\t\t\t\tisContextualMenuPinned={isContextualMenuPinned}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{!isAiuxExperience ? <sn-help /> : null}\n\t\t\t\t\t{!isAiuxExperience && helpAssistantActiveAndEnabled ? (\n\t\t\t\t\t\t<sn-help-assistant />\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{favoritePopupPayload?.open ||\n\t\t\t\t\t(favoriteDeletePayload &&\n\t\t\t\t\t\twindowSize?.width >= REFLOW_BREAKPOINTS.HIDE_CENTER_PILL) ? (\n\t\t\t\t\t\t<FavoritePopup\n\t\t\t\t\t\t\tdeleteFavorite={!isEmpty(favoriteDeletePayload)}\n\t\t\t\t\t\t\tpopupRef={popupRef}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t{...favoritePopupPayload}\n\t\t\t\t\t\t\t{...favoriteDeletePayload}\n\t\t\t\t\t\t\tfavoritePayload={favoritePopupPayload}\n\t\t\t\t\t\t\tfavoriteList={headerMenuItems.find(\n\t\t\t\t\t\t\t\t({id}) => id === MENU_FAVORITES\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{favoriteDeletePayload &&\n\t\t\t\t\twindowSize?.width < REFLOW_BREAKPOINTS.HIDE_CENTER_PILL ? (\n\t\t\t\t\t\t<FavoriteDeleteModal />\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{!isAiuxExperience && keyboardShortcutsModalOpened\n\t\t\t\t\t\t? // eslint-disable-next-line import/no-unresolved\n\t\t\t\t\t\t  import('@devsnc/sn-kb-shortcuts') && (\n\t\t\t\t\t\t\t\t<sn-keyboard-shortcuts-modal\n\t\t\t\t\t\t\t\t\tshortcuts={keyboardShortcutsState?.shortcuts}\n\t\t\t\t\t\t\t\t\tloading={keyboardShortcutsState?.loading}\n\t\t\t\t\t\t\t\t\terrors={keyboardShortcutsState?.errors}\n\t\t\t\t\t\t\t\t\tconfig={{\n\t\t\t\t\t\t\t\t\t\ttitle: {\n\t\t\t\t\t\t\t\t\t\t\tdefault: t('Keyboard shortcuts'),\n\t\t\t\t\t\t\t\t\t\t\tedit: t('Remap keyboard shortcuts')\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\thelp: {\n\t\t\t\t\t\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\t\t\t\t\t\tlinkText: t('Keyboard shortcut help'),\n\t\t\t\t\t\t\t\t\t\t\tlinkUrl:\n\t\t\t\t\t\t\t\t\t\t\t\t'/api/now/v1/context_doc_url/next-experience-keyboard-shortcuts'\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\treset: {\n\t\t\t\t\t\t\t\t\t\t\tenabled: keyboardShortcutsState?.hasOverrides,\n\t\t\t\t\t\t\t\t\t\t\tconfirmationModal: {\n\t\t\t\t\t\t\t\t\t\t\t\theading: t('Confirmation'),\n\t\t\t\t\t\t\t\t\t\t\t\tbody: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Are you sure to want to restore all the keyboard shortcut defaults? Pressing the Yes button will remove ALL remapped keyboard shortcuts and restore them to their original values.'\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tedit: {\n\t\t\t\t\t\t\t\t\t\t\tenabled: isShortcutCustomizationEnabled,\n\t\t\t\t\t\t\t\t\t\t\tlinkText: t('Remap keyboard shortcuts')\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: null}\n\n\t\t\t\t\t{!isAiuxExperience &&\n\t\t\t\t\tsettingOpened &&\n\t\t\t\t\timport('@devsnc/sn-user-preferences-modal') ? (\n\t\t\t\t\t\t<sn-user-preferences-modal\n\t\t\t\t\t\t\tclassName={animationsEnabled ? 'can-animate' : ''}\n\t\t\t\t\t\t\tsearchEnabled={isPolarisEnabled}\n\t\t\t\t\t\t\tuser-preferences-map={userPrefsMap}\n\t\t\t\t\t\t\tinitial-tab={settingOpened}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"content-area\"\n\t\t\t\t\t\tkey=\"content-area\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'is-pinned': isMainMenuPinned,\n\t\t\t\t\t\t\t'is-contextual-menu-pinned': isContextualMenuPinned,\n\t\t\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t\t\treversed: dir === 'rtl'\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{logoutConfirmationOpened ? <LogoutConfirmation /> : null}\n\t\t\t\t\t\t{nowAssistUnavailableModalOpened ? (\n\t\t\t\t\t\t\t<now-modal\n\t\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\t\tclassName=\"now-assist-unavailable\"\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tid: 'now-assist-unavailable'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\topened\n\t\t\t\t\t\t\t\tmanage-opened\n\t\t\t\t\t\t\t\theader-label={t('Now Assist is unavailable')}\n\t\t\t\t\t\t\t\tcontent={t(\n\t\t\t\t\t\t\t\t\t'The service is temporarily down. Please try again later or contact your administrator.'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tfooter-actions={[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: t('Try again'),\n\t\t\t\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t\t\t\t\tclickActionType: AIEL_UNAVAILABLE_MODAL_DISMISSED\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{startDebuggingConfirmationOpened ? (\n\t\t\t\t\t\t\t<ScriptDebuggerConfirmation />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{!isEmpty(dirtyFormConfirmationPayload) ? (\n\t\t\t\t\t\t\t<DirtyFormConfirmation pageTitle={pageTitle} />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{printerConfirmationModalProps?.opened ? (\n\t\t\t\t\t\t\t<PrinterConfirmationModal {...printerConfirmationModalProps} />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{(guidedToursLoaded || guidedToursPrompt) && (\n\t\t\t\t\t\t\t<GuidedToursModal\n\t\t\t\t\t\t\t\tguidedToursPrompt={guidedToursPrompt}\n\t\t\t\t\t\t\t\tguidedTour={guidedTour}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!isEmpty(favoriteModalProps)\n\t\t\t\t\t\t\t? import('./favorite-edit-modal') && (\n\t\t\t\t\t\t\t\t\t<sn-favorite-edit-modal\n\t\t\t\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\t\t\t\t{...favoriteModalProps}\n\t\t\t\t\t\t\t\t\t\trequestToClose={requestToCloseModals}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{impersonationOpen || endImpersonation\n\t\t\t\t\t\t\t? import('@devsnc/sn-impersonation') && (\n\t\t\t\t\t\t\t\t\t<sn-impersonation\n\t\t\t\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\t\t\t\tuser-meta={userMeta}\n\t\t\t\t\t\t\t\t\t\tmodal-opened={impersonationOpen}\n\t\t\t\t\t\t\t\t\t\tend-impersonation={endImpersonation}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{elevateRoleOpen\n\t\t\t\t\t\t\t? import('@devsnc/sn-elevate-roles') && (\n\t\t\t\t\t\t\t\t\t<sn-elevate-roles\n\t\t\t\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\t\t\t\tavailable-elevated-roles={availableElevatedRoles?.roles}\n\t\t\t\t\t\t\t\t\t\troles={availableElevatedRoles?.activeRoles}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{!isAiuxExperience && feedbackFormEnabled && showFeedbackForm\n\t\t\t\t\t\t\t? import('../sn-feedback-form') && (\n\t\t\t\t\t\t\t\t\t<sn-feedback-form\n\t\t\t\t\t\t\t\t\t\tisOpened={showFeedbackForm}\n\t\t\t\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{isCollabChatEnabled &&\n\t\t\t\t\t\t(!mainContentLoading || collabChatState.collabChatLoaded) ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey=\"collab-chat\"\n\t\t\t\t\t\t\t\tclassName=\"collab-chat-floating-container\"\n\t\t\t\t\t\t\t\tdata-state={collabChatState.collabChatLoaded}\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tfloatingContainerResizeObserver = new ResizeObserver(\n\t\t\t\t\t\t\t\t\t\t(elm) => {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(FLOATING_CONTAINER_RESIZED, elm);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tfloatingContainerResizeObserver.observe(elm);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (floatingContainerResizeObserver)\n\t\t\t\t\t\t\t\t\t\tfloatingContainerResizeObserver.unobserve(elm);\n\n\t\t\t\t\t\t\t\t\tfloatingContainerResizeObserver = null;\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<sn-collab-floating-container\n\t\t\t\t\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\t\t\t\t\topenChat={openChat}\n\t\t\t\t\t\t\t\t\tuser={userSession}\n\t\t\t\t\t\t\t\t\twidth={floatingContainerSize}\n\t\t\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole={mainDisplay === 'none' ? 'main' : undefined}\n\t\t\t\t\t\t\tclassName=\"core-main-content\"\n\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\tboundaryElement = elm;\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<LoadingIndicator visible={indicatorVisible} />\n\t\t\t\t\t\t\t<slot name=\"core-ui\" className=\"core-ui\" />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div className=\"main-content\" style={{display: mainDisplay}}>\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{seismicContentLoaded && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\t\t\tid=\"loaded_indicator\"\n\t\t\t\t\t\t\t\tkey=\"loaded_indicator\"\n\t\t\t\t\t\t\t\tstyle={{display: 'none'}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t\t{/* generic tooltip component */}\n\t\t\t\t<now-tooltip\n\t\t\t\t\tid=\"tooltip\"\n\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\topened={currentTooltip?.opened || false}\n\t\t\t\t\ttarget-ref={currentTooltip?.ref || null}\n\t\t\t\t\tcontent={currentTooltip?.content || ''}\n\t\t\t\t\tdelay={{show: 0, hide: 0}}\n\t\t\t\t\tposition={currentTooltip?.location || undefined}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t{isCollabChatEnabled && collabChatState.showCreateCollabChatModal ? (\n\t\t\t\t<sn-collab-create-chat-modal\n\t\t\t\t\tnow-priority={'low'}\n\t\t\t\t\ttable={collabChatState.parentTable}\n\t\t\t\t\tsys-id={collabChatState.parentSysId}\n\t\t\t\t\tconfig={collabChatState.config}\n\t\t\t\t\tselected-content={selectedContent}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{isIpSurveyEnabled ? (\n\t\t\t\t<sn-ips-seismic-lit-wrapper\n\t\t\t\t\tcontext={{\n\t\t\t\t\t\tuserMeta,\n\t\t\t\t\t\tuserSession\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"];\n\t\t\t\t} });","export const ANNOUNCE_IMPERSONATION_START_KEY =\n\t'sn.impersonation.announceStart';\nexport const ANNOUNCE_IMPERSONATION_END_KEY = 'sn.impersonation.announceEnd';\n","import lifecycleFns from './lifecycleFns';\n\nexport default function runLifecycleFns(lifecycle) {\n\tconst fns = lifecycleFns[lifecycle] || [];\n\tlet fn;\n\twhile ((fn = fns.shift())) fn();\n\n\tconst postFns = lifecycleFns[`POST_${lifecycle}`] || [];\n\twhile ((fn = postFns.shift())) fn();\n}\n","const getLocationHref = () => {\n\treturn window.location.href;\n};\n\nconst getLocationPathName = () => {\n\treturn window.location.pathname;\n};\n\nconst getTitle = () => {\n\treturn window.document.title;\n};\n\nexport default {\n\tgetLocationHref,\n\tgetTitle,\n\tgetLocationPathName\n};\n","/* istanbul ignore file */\nexport default (host) => host.querySelector('iframe[slot=\"core-ui\"]');\n","export const ENABLED_PLUGINS_REFRESHED = 'ENABLED_PLUGINS#REFRESHED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"deregisterComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t\t} else if ('deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.deregisterComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t}, [\"getAllPrettifiedShortcuts\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'getAllPrettifiedShortcuts' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].getAllPrettifiedShortcuts;\n\t\t\t\t\t} else if ('getAllPrettifiedShortcuts' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.getAllPrettifiedShortcuts || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].getAllPrettifiedShortcuts;\n\t\t\t\t}, [\"getKeyboardShortcutOverrides\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'getKeyboardShortcutOverrides' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].getKeyboardShortcutOverrides;\n\t\t\t\t\t} else if ('getKeyboardShortcutOverrides' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.getKeyboardShortcutOverrides || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].getKeyboardShortcutOverrides;\n\t\t\t\t}, [\"handleShortcutKeyDown\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'handleShortcutKeyDown' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].handleShortcutKeyDown;\n\t\t\t\t\t} else if ('handleShortcutKeyDown' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.handleShortcutKeyDown || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].handleShortcutKeyDown;\n\t\t\t\t}, [\"onShortcutsInitialized\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'onShortcutsInitialized' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].onShortcutsInitialized;\n\t\t\t\t\t} else if ('onShortcutsInitialized' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.onShortcutsInitialized || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].onShortcutsInitialized;\n\t\t\t\t}, [\"registerComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t\t} else if ('registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.registerComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t}, [\"restoreDefaults\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'restoreDefaults' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].restoreDefaults;\n\t\t\t\t\t} else if ('restoreDefaults' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.restoreDefaults || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].restoreDefaults;\n\t\t\t\t}, [\"setActionState\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t\t} else if ('setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.setActionState || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t}, [\"setKeyboardShortcutOverride\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'setKeyboardShortcutOverride' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setKeyboardShortcutOverride;\n\t\t\t\t\t} else if ('setKeyboardShortcutOverride' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.setKeyboardShortcutOverride || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setKeyboardShortcutOverride;\n\t\t\t\t} });","export const FETCH_UI16_DEPENDENCIES = 'FETCH_UI16_DEPENDENCIES';\n","export const IFRAME_NAVIGATION_START = 'IFRAME_NAVIGATION_START';\n","import {createInteractionId} from '@servicenow/ui-metrics';\n\nconst PAGE_LOAD_INTERACTION_TYPE = 'PAGE_LOAD';\nconst NAVIGATION_INTERACTION_TYPE = 'NAVIGATION';\nconst CORE_UI_CONTEXT_PATH = '/now/nav/ui/classic/';\n\nlet interactionType = PAGE_LOAD_INTERACTION_TYPE;\nlet loadStartTime = 0;\nlet interactionId = '';\n\nconst setCoreUIInteractionType = (type) => {\n\tinteractionType = type;\n};\n\nconst getCoreUIInteractionType = () => {\n\treturn interactionType;\n};\n\nconst setCoreUILoadStartTime = (time) => {\n\tloadStartTime = time;\n};\n\nconst getCoreUiIframeLoadStartTime = () => {\n\treturn loadStartTime;\n};\n\nconst setGlobalInteractionId = (interactionId) => {\n\tif (window.nowUiFramework)\n\t\twindow.nowUiFramework.uxrInteractionId = interactionId;\n};\n\nconst setCoreUIInteractionId = () => {\n\tif (interactionType === PAGE_LOAD_INTERACTION_TYPE) {\n\t\tinteractionId =\n\t\t\twindow?.nowUiFramework?.uxrInteractionId || createInteractionId();\n\t} else {\n\t\tinteractionId = createInteractionId();\n\t}\n\tsetGlobalInteractionId(interactionId);\n};\n\nconst markCoreUIInteractionComplete = () => {\n\tinteractionId =\n\t\tinteractionId && !interactionId?.endsWith('-idle')\n\t\t\t? interactionId + '-idle'\n\t\t\t: interactionId;\n\tsetGlobalInteractionId(interactionId);\n};\n\nconst getCoreUIInteractionId = () => {\n\treturn interactionId || '';\n};\n\nexport {\n\tPAGE_LOAD_INTERACTION_TYPE,\n\tNAVIGATION_INTERACTION_TYPE,\n\tCORE_UI_CONTEXT_PATH,\n\tsetCoreUIInteractionType,\n\tgetCoreUIInteractionType,\n\tsetCoreUILoadStartTime,\n\tgetCoreUiIframeLoadStartTime,\n\tsetCoreUIInteractionId,\n\tmarkCoreUIInteractionComplete,\n\tgetCoreUIInteractionId\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"convertUrlToPayload\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__.__esModule\n\t\t\t\t\tif (cjsModule && 'convertUrlToPayload' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"].convertUrlToPayload;\n\t\t\t\t\t} else if ('convertUrlToPayload' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__.convertUrlToPayload || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_4_index_jsdbx_923ac62c__[\"default\"].convertUrlToPayload;\n\t\t\t\t} });","import {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {handleShortcutKeyDown} from '@servicenow/now-trigger-library';\nimport {isEmpty, forEach} from 'lodash';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {\n\tCLASSIC,\n\tUN_PAGE_TITLE_UPDATE_REQUESTED,\n\tRECENT_IFRAME_TITLE_UPDATED,\n\tPOLARIS_CONTEXT,\n\tCLASSIC_ROUTE,\n\tSYS_PROPS,\n\tPOLARIS_IFRAME_LOAD_COMPLETE\n} from '../../constants';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\nimport {LEGACY_SCREEN_PRINTER_VIEW_VISIBLE} from '../printer-friendly-behavior/actions';\nimport {\n\tLEGACY_FORM_UNLOADED,\n\tLEGACY_FORM_BEFOREUNLOADED\n} from '../dirty-form-behavior/actions';\nimport {USER_SESSION_NOTIFICATION_REQUESTED} from '../user-notification-behavior/actions';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport {ADD_HISTORY_ENTRY_FOR_UI_PAGES} from '../history-behavior/actions';\nimport {FAVORITE_POPUP_CLOSED} from '../favorites-behavior/actions';\nimport {FETCH_UI16_DEPENDENCIES} from '../custom-event-manager-behavior/actions';\nimport {IFRAME_NAVIGATION_START} from './actions';\nimport globals from '../../components/sn-polaris-layout/utils/globals';\nimport {\n\tCORE_UI_CONTEXT_PATH,\n\tNAVIGATION_INTERACTION_TYPE,\n\tPAGE_LOAD_INTERACTION_TYPE,\n\tgetCoreUIInteractionType,\n\tgetCoreUiIframeLoadStartTime,\n\tsetCoreUIInteractionId,\n\tsetCoreUIInteractionType,\n\tsetCoreUILoadStartTime\n} from './utils';\nimport {convertUrlToPayload} from 'sn-ux-core';\n\n// Set the glide js version b/c some platform code uses this to\n// determine if a frame is glide\nwindow.GJSV = 3.0;\n\nconst MAIN_CONTENT_LOADING = 'mainContentLoading';\n\nconst DOWNLOAD_FORMATS = ['CSV', 'EXCEL', 'PDF', 'XLS', 'XLSX'];\n\n// STRY58753051: if the url is a download url, remove that param after download has started to\n// show the list being downloaded and place back in iframe\nexport const normalizeDownloadUrl = (iframe) => {\n\tlet shouldResetUrl = false;\n\tconst normalizedUrl = new URL(iframe?.src);\n\tif (normalizedUrl) {\n\t\tDOWNLOAD_FORMATS.forEach((format) => {\n\t\t\tif (normalizedUrl?.searchParams.has(format)) {\n\t\t\t\tshouldResetUrl = true;\n\t\t\t\tnormalizedUrl?.searchParams.delete(format);\n\t\t\t}\n\t\t});\n\t\tif (shouldResetUrl) {\n\t\t\tconst downloadUrl = iframe.src;\n\t\t\tconst downloadFrame = document.createElement('iframe');\n\t\t\tdownloadFrame.style.width = '0px';\n\t\t\tdownloadFrame.style.height = '0px';\n\t\t\tdownloadFrame.style.display = 'none';\n\t\t\tdownloadFrame.setAttribute('aria-hidden', 'true'); // Hide from screen readers\n\t\t\tdownloadFrame.setAttribute('tabindex', '-1'); // Prevent focus\n\t\t\tdownloadFrame.src = downloadUrl;\n\t\t\tdocument.body.appendChild(downloadFrame);\n\t\t\tiframe.src = normalizedUrl.toString();\n\t\t}\n\t}\n};\n\n// DEF0421364: Prevent embedding external urls in iframe unless they are declared in the allowed\n// domains sysprop\nconst allowedDomains =\n\tgetProperty(SYS_PROPS.NEXT_EXPERIENCE_ALLOWED_DOMAINS, '')\n\t\t?.split(',')\n\t\t.filter(Boolean) ?? [];\n\nconst getParsedUrl = (target) => {\n\tif (!target || typeof target !== 'string') {\n\t\treturn '';\n\t}\n\n\ttry {\n\t\tconst targetParsed = new URL(target, window.location.origin);\n\n\t\t// Check the parsed protocol, not the raw string. The WHATWG URL parser\n\t\t// strips leading C0 control chars/spaces and embedded tab/LF/CR from the\n\t\t// scheme before setting .protocol, so this check is bypass-proof.\n\t\tconst DANGEROUS_PROTOCOLS = ['javascript:', 'data:', 'vbscript:'];\n\t\tif (DANGEROUS_PROTOCOLS.includes(targetParsed.protocol)) {\n\t\t\tconsole.error(\n\t\t\t\t'Dangerous protocol detected:',\n\t\t\t\ttargetParsed.protocol,\n\t\t\t\t'in URL:',\n\t\t\t\ttarget\n\t\t\t);\n\t\t\treturn '/';\n\t\t}\n\n\t\t// Check if the host is in the allowlist; empty host never matches\n\t\tconst isAllowedHost =\n\t\t\ttargetParsed.host !== '' &&\n\t\t\t[window.location.host, ...allowedDomains].includes(targetParsed.host);\n\n\t\tif (isAllowedHost) {\n\t\t\treturn target;\n\t\t}\n\n\t\t// For non-allowed hosts, sanitize and validate the pathname\n\t\tlet safePath = targetParsed.pathname\n\t\t\t.replace(/\\\\/g, '/')\n\t\t\t.replace(/\\/+/g, '/');\n\n\t\tif (!safePath.startsWith('/')) {\n\t\t\tsafePath = '/' + safePath;\n\t\t}\n\n\t\t// Additional safety check: reject if still contains suspicious patterns\n\t\tif (safePath.match(/^\\/\\/|^\\\\\\\\|javascript:|data:|vbscript:/i)) {\n\t\t\tconsole.error('URL contains suspicious pattern:', safePath);\n\t\t\treturn '/';\n\t\t}\n\n\t\tconst finalUrl = new URL(safePath, window.location.origin);\n\n\t\tif (finalUrl.origin !== window.location.origin) {\n\t\t\tconsole.error('URL validation failed - origin mismatch');\n\t\t\treturn '/';\n\t\t}\n\n\t\treturn safePath;\n\t} catch (error) {\n\t\tconsole.error('Error parsing URL:', target, error);\n\t\treturn '/';\n\t}\n};\n\nconst getQueryString = (queryObject) => {\n\tif (isEmpty(queryObject)) return '';\n\tlet queryString = '?';\n\tconst queries = Object.keys(queryObject).map(\n\t\t(key) => `${key}=${queryObject[key]}`\n\t);\n\tqueryString += queries.join('&');\n\treturn queryString;\n};\n\nconst getRelativePath = (url) => {\n\tconst iframeUrl = url instanceof URL ? url : new URL(url, location.origin);\n\n\tconst {pathname, search, hash} = iframeUrl;\n\n\treturn `${pathname.substring(1)}${search}${hash}`;\n};\n\nexport const setTopLevelUrl = (url, dispatch) => {\n\tconst relativePath = getRelativePath(url);\n\tdispatch('CONTENT_UPDATED', {\n\t\tparams: {\n\t\t\ttarget: relativePath\n\t\t},\n\t\tredirect: true\n\t});\n};\n\nconst sendEventToFrame = (frame, eventName, value) =>\n\twindow.CustomEvent.fireToWindow(frame.contentWindow, eventName, value);\n\nconst setIframeBackgroundColor = (iframe) => {\n\tconst isIframeThemed = iframe.contentWindow?.NOW?.isUsingPolaris;\n\tlet iframeBackgroundColor = 'white'; // DEF0238123: unthemed pages without a background color are unusable without a white background (stats.do, sys.scripts.do, cache.do, etc...)\n\tif (isIframeThemed === true) {\n\t\t// Get the background color of the themed page\n\t\tiframeBackgroundColor = getComputedStyle(iframe.contentDocument.body)\n\t\t\t.backgroundColor;\n\t}\n\tiframe.style.backgroundColor = iframeBackgroundColor;\n};\n\n// Check if given route is an app that's supported by unified nav\n// Any route that is not in experienceConfigs gets opened in a new\n// window when NAV_ITEM_SELECTED is called with it\nexport function isSupportedExperience(\n\tpayload,\n\texperienceConfigs = window?.ux_globals?.experienceConfigs || {}\n) {\n\tif (!payload?.route || !experienceConfigs) return false;\n\n\treturn !!experienceConfigs[(payload?.context?.path)];\n}\n\nconst redirectToSeismicRoute = (payload, iframe, dispatch) => {\n\tconst isSupported = isSupportedExperience(payload);\n\tif (!isSupported) return false;\n\tiframe.contentWindow.stop();\n\tdispatch('NAV_ITEM_SELECTED', payload);\n\treturn true;\n};\n\nconst initIframeLoadListeners = (iframe, dispatch, updateState) => {\n\twindow.frameBusterRouteChangeWithoutRedirect = (payload) => {\n\t\tif (payload && !payload.route) {\n\t\t\treturn convertUrlToPayload(payload)\n\t\t\t\t.then((convertedPayload) =>\n\t\t\t\t\tredirectToSeismicRoute(convertedPayload, iframe, dispatch)\n\t\t\t\t)\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error('Error converting URL to payload:', error);\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t} else {\n\t\t\treturn Promise.resolve(redirectToSeismicRoute(payload, iframe, dispatch));\n\t\t}\n\t};\n\n\tconst getPageTitle = () => {\n\t\tconst formTemplate = iframe.contentDocument.body.getAttribute(\n\t\t\t'data-formname'\n\t\t);\n\n\t\tdispatch(UN_PAGE_TITLE_UPDATE_REQUESTED, {\n\t\t\tlabel: iframe.contentDocument.title,\n\t\t\ttype: formTemplate,\n\t\t\turl: iframe.contentDocument.location.href\n\t\t});\n\n\t\tdispatch(RECENT_IFRAME_TITLE_UPDATED, {\n\t\t\tlabel: iframe.contentDocument.title\n\t\t});\n\t};\n\n\tiframe.contentWindow.addEventListener('DOMContentLoaded', () => {\n\t\tgetPageTitle();\n\t});\n\n\tiframe.addEventListener('load', () => {\n\t\tconst showIframe = () => {\n\t\t\tupdateState({\n\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: true\n\t\t\t});\n\t\t\tiframe.style.visibility = 'visible';\n\t\t};\n\n\t\tif (iframe && iframe.contentWindow) {\n\t\t\ttry {\n\t\t\t\tif (iframe.contentWindow.location.href === 'about:blank') return;\n\t\t\t} catch (e) {\n\t\t\t\tshowIframe();\n\t\t\t}\n\t\t}\n\n\t\tshowIframe();\n\n\t\tif (!iframe.contentDocument.body)\n\t\t\t// Maybe we're loading an image or pdf?\n\t\t\treturn;\n\n\t\tsetIframeBackgroundColor(iframe);\n\n\t\tgetPageTitle();\n\n\t\tsetTimeout(() => {\n\t\t\tdispatch(ADD_HISTORY_ENTRY_FOR_UI_PAGES);\n\t\t}, 1200);\n\n\t\tiframe.contentDocument.addEventListener('click', () => {\n\t\t\tdocument.dispatchEvent(new Event('click'));\n\t\t\t// Clicking on iframe doesn't trigger now-popover's built in OPENED_SET\n\t\t\t// so we have to close it manually\n\t\t\tdispatch(FAVORITE_POPUP_CLOSED);\n\t\t});\n\n\t\tiframe.contentWindow.addEventListener('beforeunload', (event) => {\n\t\t\tdispatch(IFRAME_NAVIGATION_START, {\n\t\t\t\ttime: performance.now()\n\t\t\t});\n\t\t\tdispatch(LEGACY_FORM_BEFOREUNLOADED, {event});\n\t\t});\n\n\t\tiframe.contentWindow.addEventListener('unload', () => {\n\t\t\tdispatch(LEGACY_FORM_UNLOADED);\n\t\t});\n\n\t\tif (window.CustomEvent.fireAll)\n\t\t\twindow.CustomEvent.fireAll('polaris:iframe.loaded');\n\n\t\tdispatch(POLARIS_IFRAME_LOAD_COMPLETE, {\n\t\t\tstartTime: getCoreUiIframeLoadStartTime() || 0,\n\t\t\tinteractionType: getCoreUIInteractionType(),\n\t\t\trelativePath: getRelativePath(iframe.contentDocument.location.href),\n\t\t\tlabel: iframe.contentDocument.title,\n\t\t\tisDocumentHidden: document.visibilityState === 'hidden'\n\t\t});\n\n\t\tif (getFeatureSettings().isPrintingEnabled) {\n\t\t\tdispatch(LEGACY_SCREEN_PRINTER_VIEW_VISIBLE, {showPrint: true});\n\t\t\tiframe.contentWindow.addEventListener('unload', () => {\n\t\t\t\tdispatch(LEGACY_SCREEN_PRINTER_VIEW_VISIBLE, {showPrint: false});\n\t\t\t});\n\t\t}\n\n\t\tiframe.contentWindow.addEventListener('keydown', handleShortcutKeyDown);\n\t});\n};\n\nexport const initAddingFrameToWindow = (iframe) => {\n\twindow.__frames.push(iframe.contentWindow);\n\twindow.gsft_main = iframe.contentWindow;\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\thost,\n\t\taction: {\n\t\t\tpayload: {name, value: currentValue, previousValue}\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate\n\t} = coeffects;\n\n\t// See USER_SETTINGS_SEND_EVENT_REQUESTED handler in user-settings-behavior/index.js\n\tif (name === 'userPreferences' && state.userSettingsBuffer) {\n\t\tconst iframe = getCoreUiIframe(host);\n\t\tif (!iframe) return;\n\n\t\tconst changedPreferences = state.userSettingsBuffer;\n\t\tforEach(changedPreferences, ({value}, preferenceName) => {\n\t\t\tsendEventToFrame(iframe, preferenceName, value);\n\t\t});\n\n\t\tupdateState({\n\t\t\tpath: 'userSettingsBuffer',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\n\t\tiframe.contentWindow.addEventListener('beforeunload', () => {\n\t\t\t// if the theme changed while they were on a themed page this will prevent a weird flash when the user navigates to a different page\n\t\t\tsetIframeBackgroundColor(iframe);\n\t\t});\n\t}\n\n\tif (name === 'selectedContent') {\n\t\tconst iframeEl = getCoreUiIframe(host);\n\t\tif (iframeEl && currentValue?.route === CLASSIC) {\n\t\t\t// initial value of iframeEl.contentWindow.location.href is about:blank\n\t\t\t// so it doesn't match currentValue.params.target upon initial page load\n\t\t\t// this is causing a double load of the iframe; checking if value\n\t\t\t// begins with http in case there are other unknown intermediary state values\n\t\t\t// in other browsers\n\t\t\tlet href = '';\n\t\t\ttry {\n\t\t\t\thref = iframeEl?.contentWindow.location.href;\n\t\t\t} catch {\n\t\t\t\t//when a URL with 'X-Frame-Options' set to 'sameorigin' which belongs to differnt domain\n\t\t\t\t//is opened in an iFrame, security exception is thrown, on navigating to different page via click from nav menu.\n\t\t\t\t//where when we can't read URL from the Location object\n\t\t\t\thref = iframeEl?.baseURI + previousValue?.params?.target;\n\t\t\t}\n\t\t\tif (!href.startsWith('http')) return;\n\t\t\t// handle case where the initial property set triggers the property changed & causes\n\t\t\t// a double load of the page\n\t\t\tif (isEmpty(previousValue)) return;\n\n\t\t\thandleUrlChange({\n\t\t\t\tcurrentValue,\n\t\t\t\tpreviousValue,\n\t\t\t\tiframeEl,\n\t\t\t\tupdateState,\n\t\t\t\thref\n\t\t\t});\n\n\t\t\t// Call the SessionNotificationService to check for any GlideSession Messages\n\t\t\trequestIdleCallback(() => dispatch(USER_SESSION_NOTIFICATION_REQUESTED));\n\t\t} else {\n\t\t\t// destroy iframe so attached scripts won't keep running in the background\n\t\t\tif (iframeEl) iframeEl.remove();\n\t\t}\n\t}\n};\n\nexport const handleUrlChange = ({\n\tcurrentValue,\n\tpreviousValue,\n\tiframeEl,\n\tupdateState,\n\thref\n}) => {\n\tconst target = currentValue?.params?.target || '';\n\tconst incomingUrl = getParsedUrl(\n\t\ttarget + getQueryString(currentValue?.queryString)\n\t);\n\tconst currentUrl = getRelativePath(href);\n\tconst iframeVisibility = iframeEl?.style?.visibility;\n\n\t// If it's marked a redirect, when we call CONTENT_UPDATED w/ redirect: true, don't update\n\t// If the url changed, update\n\t// If the url is the same but the timestamp is different (click same menu item twice), update\n\tif (\n\t\t!currentValue.redirect &&\n\t\t(incomingUrl !== currentUrl ||\n\t\t\tcurrentValue._timestamp !== previousValue._timestamp)\n\t) {\n\t\ttry {\n\t\t\tiframeEl.contentWindow.location.replace(incomingUrl);\n\t\t} catch {\n\t\t\t//security exception case: when we can't read URL from the Location object\n\t\t\t//form the complete URL with incomingURL and replace in window location\n\t\t\tconst url =\n\t\t\t\t`${iframeEl?.baseURI}${POLARIS_CONTEXT.path}${CLASSIC_ROUTE}` +\n\t\t\t\tencodeURIComponent(incomingUrl);\n\t\t\twindow.location.replace(url);\n\t\t}\n\n\t\t// Don't show the loading spinner when navigating between classic routes\n\t\tif (currentValue?.route === CLASSIC && previousValue?.route !== CLASSIC) {\n\t\t\tupdateState({\n\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: true\n\t\t\t});\n\t\t}\n\t}\n\t// using the browser back/forward button can change the experience while the iframe is still loaded in the background\n\telse if (incomingUrl === currentUrl && iframeVisibility === 'hidden') {\n\t\tiframeEl.style.visibility = 'visible';\n\t}\n};\n\nconst onComponentRendered = (coeffects) => {\n\tconst {\n\t\thost,\n\t\tproperties: {selectedContent},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\tif (!isEmpty(selectedContent)) {\n\t\tconst {params, route, queryString: queryObject} = selectedContent;\n\n\t\tif (route === CLASSIC) {\n\t\t\tif (!getCoreUiIframe(host)) {\n\t\t\t\tif (!document.getElementById('polaris-ui16-dependencies')) {\n\t\t\t\t\tdispatch(FETCH_UI16_DEPENDENCIES, {isDelayNeeded: false});\n\t\t\t\t}\n\t\t\t\tconst target = params?.target || '';\n\t\t\t\tconst iframeEl = document.createElement('iframe');\n\t\t\t\tiframeEl.title = t('Main Content');\n\t\t\t\tiframeEl.id = 'gsft_main';\n\t\t\t\tiframeEl.name = 'gsft_main';\n\t\t\t\t// DEF0346911: Prevent XSS (ie. primarily through \"javascript:\" and \"data:\" entry) but we don't want to mess with the URI decoding/encoding that already happens upstream/downstream\n\t\t\t\tiframeEl.src = getParsedUrl(target + getQueryString(queryObject));\n\t\t\t\tnormalizeDownloadUrl(iframeEl);\n\t\t\t\tiframeEl.slot = 'core-ui';\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: MAIN_CONTENT_LOADING,\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t});\n\n\t\t\t\thost.appendChild(iframeEl);\n\t\t\t\tinitIframeLoadListeners(iframeEl, dispatch, updateState, coeffects);\n\t\t\t\tinitAddingFrameToWindow(iframeEl);\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst setCoreUIInformation = (loadStartTime, interactionType) => {\n\tsetCoreUILoadStartTime(loadStartTime);\n\tsetCoreUIInteractionType(interactionType);\n\tsetCoreUIInteractionId();\n};\n\nconst onComponentBootStrapped = ({dispatch}) => {\n\tif (globals.getLocationPathName().startsWith(CORE_UI_CONTEXT_PATH)) {\n\t\tsetCoreUIInformation(0, PAGE_LOAD_INTERACTION_TYPE);\n\t}\n\n\twindow.addEventListener('popstate', () => {\n\t\tdispatch(IFRAME_NAVIGATION_START, {\n\t\t\ttime: performance.now()\n\t\t});\n\t});\n};\nconst onIframeNavigationStart = ({action: {payload}}) => {\n\tsetCoreUIInformation(payload.time, NAVIGATION_INTERACTION_TYPE);\n};\n\nexport default {\n\tname: 'CORE_UI_IFRAME',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t\t[actionTypes.COMPONENT_RENDERED]: onComponentRendered,\n\t\t[actionTypes.COMPONENT_BOOTSTRAPPED]: onComponentBootStrapped,\n\t\t[IFRAME_NAVIGATION_START]: onIframeNavigationStart\n\t}\n};\n\nexport {getParsedUrl, allowedDomains};\n","import {SERVICE_NOW} from '../constants';\n\nexport default function transformTitle(pageLabel = '', logoName = SERVICE_NOW) {\n\tconst labelSplitArr = pageLabel?.replace('| ' + logoName, '').split('|');\n\n\t// nothing ws split so just return pageLabel\n\tif (!labelSplitArr) return pageLabel;\n\n\tif (labelSplitArr.length > 1) {\n\t\tconst recordTitle = labelSplitArr.slice(0, -1).join('|');\n\t\tconst prefix = labelSplitArr.slice(-1)[0].trim();\n\t\tconst labelArr = [recordTitle, prefix];\n\t\tconst transformedTitle = labelArr\n\t\t\t.reverse()\n\t\t\t.join(' - ')\n\t\t\t.trim();\n\t\treturn transformedTitle;\n\t} else {\n\t\treturn labelSplitArr.toString().trim();\n\t}\n}\n","export default function getHelpContext(rawContext) {\n\tlet context = null;\n\n\tif (!rawContext) return context;\n\n\tif (rawContext.route === 'classic') {\n\t\tcontext = {\n\t\t\ttype: 'classic',\n\t\t\tpage: rawContext.params.target\n\t\t};\n\t} else {\n\t\tcontext = {\n\t\t\ttype: 'custom',\n\t\t\tpage: rawContext.route,\n\t\t\tapp_route: rawContext.context?.path || '',\n\t\t\tparams: {...rawContext.fields, ...rawContext.params}\n\t\t};\n\t}\n\n\treturn context;\n}\n","import {whenAllComponentsIdle} from '@servicenow/ui-core';\nconst pause = (duration) =>\n\tnew Promise((resolve) => {\n\t\tsetTimeout(() => resolve(), duration);\n\t});\nexport default async function waitForAllComponentsIdle(duration) {\n\tawait whenAllComponentsIdle();\n\tawait pause(duration);\n\tawait whenAllComponentsIdle();\n}\n","import uxf from '@devsnc/library-uxf';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\nimport {t} from 'sn-translate';\nimport {getFocusableNodes} from '@servicenow/behavior-focus';\nimport {get, isEmpty, debounce, intersection} from 'lodash';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {\n\tgetBooleanProperty,\n\tgetBooleanPreferenceValue,\n\tgetPreferenceValue,\n\tPREFERENCES,\n\trequestIdleCallback,\n\tscheduleHideTooltip,\n\tscheduleShowTooltip\n} from '@devsnc/unav-utils';\nimport {actionTypes, declarativeOperations} from '@servicenow/ui-core';\nimport {\n\tSN_DRAGGABLE_MAX_WINDOW_SIZE,\n\tSN_DRAGGABLE_CHANGED_POSITION\n} from './draggable/actions';\nimport {\n\tANNOUNCE_IMPERSONATION_START_KEY,\n\tANNOUNCE_IMPERSONATION_END_KEY\n} from '../../behaviors/impersonation-behavior/constants';\n\nimport runLifecycleFns from '../../utils/runLifecycleFns';\nimport setConditionalFocusNavigation from '../../utils/setConditionalFocusNavigation';\nimport track from '../../utils/track';\nimport {validateSearchPage, formatSearchPageTitle} from '../../utils/search';\nimport {\n\tINITIAL_EXPERIENCE_PAGE_LOADED,\n\tMETRICS,\n\tNAV_ITEM_SELECTED,\n\tNOW_EXPERIENCE_PAGE_LOADED,\n\tPAGE_TITLE_UPDATE_REQUESTED,\n\tUN_PAGE_TITLE_UPDATE_REQUESTED,\n\tRECENT_IFRAME_TITLE_UPDATED,\n\tPOLARIS_IFRAME_LOAD_COMPLETE,\n\tPOLARIS_SITE_NAME,\n\tSERVICE_NOW,\n\tSYS_PROPS,\n\tUSER_PREF_UPDATED,\n\tREFLOW_BREAKPOINTS,\n\tBUTTON_ACTIONS,\n\tUSER_PRESENCE_CHANGED,\n\tPX_TO_REM_CONVERSION_RATE,\n\tMENU_FAVORITES,\n\tMENU_ALL,\n\tOVERFLOW_MENU_ID,\n\tTOGGLE_MENU_OPEN,\n\tOPEN,\n\tCLOSE,\n\tCLASSIC,\n\tUSER_MENU_ID,\n\tUTILITY_MENU_OVERFLOW_DATA_UPDATED,\n\tUTILITY_OVERFLOW_MENU_ID,\n\tUNIFIED_NAVIGATION_REGISTRY_ID,\n\tPOLARIS_CONTEXT,\n\tHELP_MENU_HEADER_TEXT,\n\tNOTIFICATIONS_HEADER_TEXT,\n\tHELP_MENU_ID,\n\tNOTIFICATIONS_ID,\n\tOPENFRAME_MENU_ID,\n\tCONCOURSE_PICKER_MENU_ID,\n\tNOW_ASSIST_MENU_ID,\n\tNOW_ASSIST_PANEL_MENU_ID,\n\tOPENFRAME_MENU_HEADER_TEXT,\n\tCONCOURSE_PICKER_HEADER_TEXT,\n\tUSER_MENU_HEADER_TEXT,\n\tNOW_ASSIST_MENU_HEADER_TEXT,\n\tINSTANCE_TOOLS_MENU_ID,\n\tCHAT_MENU_HEADER_TEXT,\n\tUSAGE_ANALYTICS_MENU_ID,\n\tUSAGE_ANALYTICS_HEADER_TEXT\n} from '../../constants';\nimport {\n\tALL_MENU_FOCUSED,\n\tALL_MENU_TOGGLED,\n\tCLOSE_CONTEXTUAL_MENU,\n\tCLOSE_MENUS,\n\tCONTEXTUAL_MENU_PINNED,\n\tCONTEXTUAL_MENU_SELECTED,\n\tMAIN_CONTENT_FOCUSED,\n\tMAIN_MENU_PINNED,\n\tMENU_FOCUSED,\n\tNOTIFICATION_DATA_UPDATED,\n\tTAB_PRIMARY_SELECTED,\n\tWINDOW_RESIZED,\n\tROUTE_MAP_UPDATED,\n\tCLOSE_POPOVERS,\n\tCLOSE_MODALS,\n\tFEEDBACK_FORM_BUTTON_CLICKED,\n\tOPEN_UTILITY_MENU,\n\tTOGGLE_UTILITY_MENU,\n\tFAVORITE_TOGGLE_CURRENT_PAGE,\n\tKEYBOARD_BEHAVIOR_MODAL_OPENED,\n\tTOGGLE_WIDE_MENU,\n\tPRE_SHORTCUT_CLEANUP_SUCCEEDED,\n\tREGISTER_WINDOW_MANAGER\n} from './actions';\nimport {\n\tFAVORITE_CHECK_REQUESTED,\n\tLAYOUT_ITEM_UNFAVORITED,\n\tFAVORITE_EXPERIENCE_TITLE_STAR_CLICKED\n} from '../../behaviors/favorites-behavior/actions';\nimport {\n\tHISTORY_UPDATE_REQUESTED,\n\tPUSHED_NOW_UI_HISTORY,\n\tADD_HISTORY_ENTRY_FOR_UI_PAGES\n} from '../../behaviors/history-behavior/actions';\nimport {USER_SETTINGS_MODAL_OPENED} from '../../behaviors/user-settings-behavior/actions';\nimport {\n\tCHAT_MENU_ID,\n\tINIT_COLLAB_CHAT\n} from '../../behaviors/collab-chat-behavior/constants';\nimport {INIT_GUIDED_TOURS} from '../../behaviors/guided-tours-behavior/constants';\n\n// `globals` not destructured so it can be mocked in tests\nimport globals from './utils/globals';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\n\nimport {normalizeOpenframeRibbonPayload} from './utils/openframe';\nimport {ENABLED_PLUGINS_REFRESHED} from '../../behaviors/enabled-plugins-behavior/actions';\nimport {setTopLevelUrl} from '../../behaviors/core-ui-iframe-behavior';\nimport transformTitle from '../../utils/transformTitle';\nimport {\n\tOPENFRAME_BEHAVIOR_CHECK_CONFIG,\n\tOPENFRAME_BEHAVIOR_OPEN_WINDOW\n} from '../../behaviors/openFrameBehavior/actions';\nimport getMenuType from '../../utils/menuUtils';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../../behaviors/schedule-for-page-load-behavior/actions';\nimport decodeEntities from './utils/decodeEntities';\nimport {FEEDBACK_FORM_ACTIONS} from '../sn-feedback-form';\nimport {MENU_REFRESH_REQUESTED} from '../../behaviors/menu-modifier-behavior/actions';\nimport {\n\tHIDE_MENU_ITEM_TOOLTIP,\n\tSHOW_MENU_ITEM_TOOLTIP,\n\tSN_DRILLDOWN_LIST_TOGGLE,\n\tSN_DRILLDOWN_SET\n} from '../sn-polaris-menu/actions';\nimport {CONCOURSE_DATA_LISTS_REQUESTED} from '../../behaviors/concourse-fetcher-behavior/actions';\nimport {NOTIFICATION_MENU_OPENED} from '../../behaviors/notification-behavior/actions';\nimport {\n\tNOTIFICATION_STATE_PATH,\n\tNOTIFICATIONS_LAST_VIEWED_KEY\n} from '../../behaviors/notification-behavior/constants';\nimport {SN_DRILLDOWN_LIST_SOURCES} from '../sn-polaris-menu/sn-drilldown-list/constants';\nimport {CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED} from '../../behaviors/concourse-picker-behavior/actions';\nimport {positionHeaderItems} from '../sn-polaris-header/utils/position-navigation-items';\nimport {getExperienceLabelAndFavoriteTooltip} from '../../utils/getExperienceLabelAndFavoriteTooltip';\nimport getHelpContext from '../../behaviors/help-behavior/getHelpContext';\nimport {removeHtmlFromDescription} from '../../utils/htmlUtils';\nimport {mapOverflowMenuItems} from '../sn-polaris-header/utility-menu/sn-contextual-menu/overflow-menu/overflow-menu.utils';\nimport cache from '../../utils/cache';\nimport waitForAllComponentsIdle from './utils/pause';\nimport {\n\tmarkCoreUIInteractionComplete,\n\tgetCoreUIInteractionId\n} from '../../behaviors/core-ui-iframe-behavior/utils';\nimport {hasSelectedContentChanged} from '../../behaviors/main-content-loading-behavior';\nimport {findNodeInShadowDom} from './sn-polaris-layout.utils';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DOM_TREE_READY\n} = actionTypes;\n\nlet initialExperiencePageLoadedCodeExecuted = false;\n\n/**\n * Handle click event from buttons in contextual utilities zone\n * @param {*} param0\n */\nfunction handleContextualMenuClick({\n\taction: {\n\t\tpayload: {contextualMenuType, contextualMenuHeaderText, ref, context}\n\t},\n\tstate: {\n\t\tconcourseDataFetched,\n\t\tcontextualMenu,\n\t\tshowPrint,\n\t\tavailableElevatedRoles = {},\n\t\tconcoursePickerConfig,\n\t\t...restOfState\n\t},\n\tproperties: {\n\t\tselectedContent,\n\t\tuserMeta,\n\t\tuserSession,\n\t\tuserPreferences,\n\t\tfeatures: {isPrintingEnabled}\n\t},\n\tdispatch,\n\tupdateState\n}) {\n\t// contextualMenuType should always have a value\n\tif (!contextualMenuType) {\n\t\treturn;\n\t}\n\n\tconst printerFriendlyEnabled =\n\t\tselectedContent?.route === CLASSIC && isPrintingEnabled && showPrint;\n\n\tconst notifications = get(restOfState, NOTIFICATION_STATE_PATH, []);\n\n\tconst elevatedRoles = intersection(\n\t\tavailableElevatedRoles.activeRoles,\n\t\tavailableElevatedRoles.roles?.map(({name}) => name)\n\t);\n\n\t// menu clicked and isn't open so open it *or* the menu is open and another menu button was clicked\n\tif (\n\t\tcontextualMenu.menuType === null ||\n\t\t(contextualMenu.menuType !== null &&\n\t\t\tcontextualMenuType !== contextualMenu.menuType)\n\t) {\n\t\tlet menuData = {};\n\n\t\t// collect any data the menu will need to render\n\t\tswitch (contextualMenuType) {\n\t\t\tcase 'userMenu':\n\t\t\t\tmenuData = {\n\t\t\t\t\tuserMeta,\n\t\t\t\t\tuserSession,\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\tprinterFriendlyEnabled,\n\t\t\t\t\tavailableElevatedRoles: availableElevatedRoles || {},\n\t\t\t\t\televatedRoles: elevatedRoles || []\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'overflowMenu':\n\t\t\tcase 'concoursePickers':\n\t\t\tcase 'instanceTools':\n\t\t\t\tmenuData = concoursePickerConfig;\n\t\t\t\tif (!concourseDataFetched) {\n\t\t\t\t\tdispatch(CONCOURSE_DATA_LISTS_REQUESTED);\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tconcourseDataFetched: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'notifications':\n\t\t\t\tdispatch(NOTIFICATION_MENU_OPENED);\n\t\t\t\tmenuData = notifications;\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// update Contextual Menu state\n\t\tupdateState({\n\t\t\tcontextualMenu: {\n\t\t\t\t...contextualMenu,\n\t\t\t\tshowMenu: true,\n\t\t\t\tmenuType: contextualMenuType,\n\t\t\t\theaderText: contextualMenuHeaderText,\n\t\t\t\tbuttonRef: ref,\n\t\t\t\tmenuData: menuData,\n\t\t\t\tmenuContext: context,\n\t\t\t\thelpContentIndicatorOn:\n\t\t\t\t\tcontextualMenuType === 'helpMenu'\n\t\t\t\t\t\t? 0\n\t\t\t\t\t\t: contextualMenu.helpContentIndicatorOn,\n\t\t\t\tunreadChatCount: contextualMenu.unreadChatCount\n\t\t\t}\n\t\t});\n\t} else {\n\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t}\n}\n\nconst layoutPropertyChangedEffect = ({\n\taction,\n\tdispatch,\n\tupdateState,\n\tstate\n}) => {\n\tconst {\n\t\tpayload: {name, value}\n\t} = action;\n\tconst {headerMenuItems} = state;\n\n\tif (name == 'windowSize') {\n\t\thandleMenuPinningReflow({state, updateState});\n\t}\n\tif (name === 'selectedContent') {\n\t\tif (value !== null && value.route) {\n\t\t\tconst favList =\n\t\t\t\theaderMenuItems?.filter(({id}) => id === MENU_FAVORITES) || null;\n\n\t\t\tif (favList !== null) {\n\t\t\t\tdispatch(FAVORITE_CHECK_REQUESTED, {\n\t\t\t\t\tvalue,\n\t\t\t\t\tfavoriteList: favList\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tdispatch(HISTORY_UPDATE_REQUESTED, {onlyAllEntryRecording: true});\n\t}\n};\n\nexport const favoriteToggleCurrentPage = ({\n\tdispatch,\n\tstate: {pageTitle, selectedContentFavorite, polarisSearchContexts},\n\tproperties: {selectedContent}\n}) => {\n\tif (selectedContentFavorite) {\n\t\tdispatch(LAYOUT_ITEM_UNFAVORITED, {\n\t\t\titem: selectedContentFavorite,\n\t\t\tfromExperienceTitle: true,\n\t\t\tpositions: [{target: 'bottom-center', content: 'top-center'}]\n\t\t});\n\t} else {\n\t\tconst {favoriteTooltip} = getExperienceLabelAndFavoriteTooltip(\n\t\t\tselectedContent,\n\t\t\tpageTitle,\n\t\t\tpolarisSearchContexts\n\t\t);\n\t\tdispatch(FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED, {\n\t\t\ttitle: favoriteTooltip,\n\t\t\tfavoritePopupPayload: {\n\t\t\t\tinitialName: favoriteTooltip,\n\t\t\t\tfromExperienceTitle: true\n\t\t\t}\n\t\t});\n\t}\n};\n\n/**\n * Handle when the user clicks the pin button on the main menu\n * @param {*} param0\n */\nconst handleMainMenuPin = (coeffects) => {\n\tconst {action, updateState, state, dispatch} = coeffects;\n\tconst {properties} = state;\n\tconst {\n\t\tprimaryMenuId,\n\t\tsecondaryMenuId,\n\t\tdoPinning,\n\t\tisPrimary,\n\t\tisPinnedWindow = false\n\t} = action.payload;\n\n\tconst {headerMenuItems} = state;\n\n\tlet label = '';\n\tlet menuType = '';\n\n\tif (state.mainMenuState.isPinnedWindow) {\n\t\twindow.nowWindowManager.closeDock('left', secondaryMenuId);\n\t}\n\n\tif (isPrimary) {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...state.mainMenuState,\n\t\t\t\tisMenuPinned: doPinning,\n\t\t\t\tprimaryMenuId:\n\t\t\t\t\tsecondaryMenuId !== null ? secondaryMenuId : primaryMenuId,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t\tpinnedMenuId: doPinning ? primaryMenuId : null,\n\t\t\t\tcanBePinned:\n\t\t\t\t\tproperties.windowSize.width >= REFLOW_BREAKPOINTS.BREAKPOINT_ONE,\n\t\t\t\tisPinnedWindow: isPinnedWindow && doPinning\n\t\t\t}\n\t\t});\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: PREFERENCES.MAIN_MENU_PINNED_ID,\n\t\t\tvalue: doPinning ? primaryMenuId : 'null'\n\t\t});\n\n\t\tconst menuItem = headerMenuItems.find((item) => item.id === primaryMenuId);\n\t\tlabel = menuItem?.label || primaryMenuId;\n\t\tmenuType = getMenuType(primaryMenuId);\n\t} else {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...state.mainMenuState,\n\t\t\t\tisMenuPinned: true,\n\t\t\t\tprimaryMenuId: secondaryMenuId,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t\tpinnedMenuId: secondaryMenuId,\n\t\t\t\tcanBePinned:\n\t\t\t\t\tproperties.windowSize.width >= REFLOW_BREAKPOINTS.BREAKPOINT_ONE\n\t\t\t}\n\t\t});\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: PREFERENCES.MAIN_MENU_PINNED_ID,\n\t\t\tvalue: secondaryMenuId\n\t\t});\n\n\t\tconst menuItem = headerMenuItems.find(\n\t\t\t(item) => item.id === secondaryMenuId\n\t\t);\n\t\tlabel = menuItem?.label || secondaryMenuId;\n\t\tmenuType = getMenuType(secondaryMenuId);\n\t}\n\n\twindow.nowWindowManager?.dispatch('POLARIS_MENU_PINNED', {\n\t\ttype: 'mainMenu',\n\t\tmenuId: isPrimary ? primaryMenuId : secondaryMenuId,\n\t\tpinned: doPinning\n\t});\n\n\ttrack(coeffects, METRICS.PIN, {\n\t\taction: !isPrimary || doPinning ? 'Pin' : 'Unpin',\n\t\tmenuName: label,\n\t\tmenuType\n\t});\n};\n\n/**\n * Handle when the user clicks the pin button on the contextual menu\n * @param {*} param0\n */\nconst handleContextualMenuPin = (coeffects) => {\n\tconst {action, state, properties, updateState, dispatch, host} = coeffects;\n\tconst {\n\t\tprimaryMenuId = state.contextualMenuState.primaryMenuId,\n\t\tsecondaryMenuId = state.contextualMenuState.secondaryMenuId,\n\t\tdoPinning,\n\t\tisPrimary,\n\t\tisBarMenu = false,\n\t\tbarMenuId,\n\t\tisWideMenu,\n\t\tisPinnedWindow = false\n\t} = action.payload;\n\n\tlet label = '';\n\n\tconst isAIEX =\n\t\t(isPrimary ? primaryMenuId : secondaryMenuId) === NOW_ASSIST_MENU_ID &&\n\t\tproperties.nowAssistSettings?.aielActiveForFulfiller;\n\n\tif (doPinning && isWideMenu) {\n\t\thost.style.setProperty(\n\t\t\t'--pinned-contextual-menu-width',\n\t\t\t`${state.wideMenuWidth / PX_TO_REM_CONVERSION_RATE}rem`\n\t\t);\n\t} else if (isAIEX) {\n\t\thost.style.setProperty(\n\t\t\t'--pinned-contextual-menu-width',\n\t\t\t`${state.napMenuWidth / PX_TO_REM_CONVERSION_RATE}rem`\n\t\t);\n\t} else {\n\t\thost.style.setProperty(\n\t\t\t'--pinned-contextual-menu-width',\n\t\t\t`${state.menuWidth / PX_TO_REM_CONVERSION_RATE}rem`\n\t\t);\n\t}\n\n\tfunction getPinnedMenuWidth() {\n\t\tif (isAIEX) {\n\t\t\treturn state.napMenuWidth;\n\t\t} else if (isWideMenu) {\n\t\t\treturn state.wideMenuWidth;\n\t\t} else {\n\t\t\treturn state.menuWidth;\n\t\t}\n\t}\n\n\tif (state.contextualMenuState.isPinnedWindow && !isPinnedWindow) {\n\t\twindow.nowWindowManager.closeDock('right', secondaryMenuId);\n\t}\n\n\tif (isPrimary) {\n\t\tlet pinnedMenuWidth = state.menuWidth;\n\t\tif (doPinning) {\n\t\t\tif (isAIEX) {\n\t\t\t\tpinnedMenuWidth = state.napMenuWidth;\n\t\t\t} else if (isWideMenu) {\n\t\t\t\tpinnedMenuWidth = state.wideMenuWidth;\n\t\t\t}\n\t\t}\n\t\tupdateState({\n\t\t\tcontextualMenuState: {\n\t\t\t\t...state.contextualMenuState,\n\t\t\t\tisMenuPinned: doPinning,\n\t\t\t\tprimaryMenuId:\n\t\t\t\t\tsecondaryMenuId !== null ? secondaryMenuId : primaryMenuId,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t\tpinnedThroughUI: true,\n\t\t\t\tpinnedMenuId: doPinning ? primaryMenuId : null,\n\t\t\t\tpinnedMenuWidth,\n\t\t\t\tbarMenuId: isBarMenu ? barMenuId : null,\n\t\t\t\tisPinnedWindow: isPinnedWindow && doPinning\n\t\t\t}\n\t\t});\n\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: PREFERENCES.CONTEXTUAL_MENU_PINNED_ID,\n\t\t\tvalue: doPinning ? primaryMenuId : 'null'\n\t\t});\n\n\t\tlabel = primaryMenuId;\n\t} else {\n\t\tupdateState({\n\t\t\tcontextualMenuState: {\n\t\t\t\t...state.contextualMenuState,\n\t\t\t\tisMenuPinned: true,\n\t\t\t\tprimaryMenuId: secondaryMenuId,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t\tpinnedThroughUI: true,\n\t\t\t\tpinnedMenuId: secondaryMenuId,\n\t\t\t\tpinnedMenuWidth: getPinnedMenuWidth(),\n\t\t\t\tisPinnedWindow: false\n\t\t\t}\n\t\t});\n\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: PREFERENCES.CONTEXTUAL_MENU_PINNED_ID,\n\t\t\tvalue: secondaryMenuId\n\t\t});\n\t\tlabel = secondaryMenuId;\n\t}\n\n\twindow.nowWindowManager?.dispatch('POLARIS_MENU_PINNED', {\n\t\ttype: 'contextualMenu',\n\t\tmenuId: isPrimary ? primaryMenuId : secondaryMenuId,\n\t\tpinned: doPinning\n\t});\n\n\ttrack(coeffects, METRICS.PIN, {\n\t\taction: !isPrimary || doPinning ? 'Pin' : 'Unpin',\n\t\tmenuName: label\n\t});\n};\n\n/**\n * Handles automatically pinning and unpinned the menus based on the window size.\n * Called on window resize and needed so that menus can be unpinned when there is no\n * enough space for one or more pinned menus.\n *\n * @param {object} coeffects\n */\nconst handleMenuPinningReflow = (coeffects) => {\n\tconst {state, updateState} = coeffects;\n\tconst {properties} = state;\n\tconst newWidth = properties.windowSize.width;\n\n\tif (newWidth <= REFLOW_BREAKPOINTS.BREAKPOINT_ONE) {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...state.mainMenuState,\n\t\t\t\tprimaryMenuId: -1,\n\t\t\t\tsecondaryMenuId: -1,\n\t\t\t\tcanBePinned: false\n\t\t\t},\n\t\t\tcontextualMenuState: {\n\t\t\t\t...state.contextualMenuState,\n\t\t\t\tprimaryMenuId: -1,\n\t\t\t\tsecondaryMenuId: -1,\n\t\t\t\tcanBePinned: false\n\t\t\t}\n\t\t});\n\t\treturn;\n\t}\n\n\tconst canPinMainMenu =\n\t\tnewWidth >= REFLOW_BREAKPOINTS.MAIN_MENU_PIN_BREAKPOINT;\n\tconst canPinContextualMenu =\n\t\tnewWidth >= REFLOW_BREAKPOINTS.CONTEXTUAL_MENU_PIN_BREAKPOINT;\n\n\tconst wasContextualMenuPinnable = state.contextualMenuState.canBePinned;\n\n\t// Handle NAP panel docking/undocking when contextual menu breakpoint is crossed\n\tlet napWasDocked = state.contextualMenuState.napWasDocked;\n\n\tif (wasContextualMenuPinnable && !canPinContextualMenu) {\n\t\tconst rightDockId = window.nowWindowManager.getDockedWindowId('right');\n\t\tconst isNAPDocked = rightDockId === NOW_ASSIST_MENU_ID;\n\n\t\tif (isNAPDocked) {\n\t\t\tnapWasDocked = true;\n\t\t\twindow.nowWindowManager.closeDock(\n\t\t\t\t'right',\n\t\t\t\tstate.contextualMenuState.secondaryMenuId\n\t\t\t);\n\t\t}\n\t}\n\n\t// If contextual menu wasn't pinnable but now is, re-dock NAP window if it was docked before\n\tif (!wasContextualMenuPinnable && canPinContextualMenu) {\n\t\tconst rightDockId = window.nowWindowManager.getDockedWindowId('right');\n\t\tconst isNAPDocked = rightDockId === NOW_ASSIST_MENU_ID;\n\n\t\t// Only re-dock if it was auto-undocked before AND NAP is not already docked\n\t\tif (!isNAPDocked && napWasDocked) {\n\t\t\twindow.nowWindowManager.toggleDock(NOW_ASSIST_MENU_ID, 'right');\n\t\t\tnapWasDocked = false;\n\t\t}\n\t}\n\n\tconst resetMainPinId =\n\t\tcanPinMainMenu &&\n\t\tstate.mainMenuState.pinnedMenuId !== state.mainMenuState.primaryMenuId;\n\tconst resetContextualPinId =\n\t\tcanPinContextualMenu &&\n\t\tstate.contextualMenuState.pinnedMenuId !==\n\t\t\tstate.contextualMenuState.primaryMenuId;\n\n\tupdateState({\n\t\tmainMenuState: {\n\t\t\t...state.mainMenuState,\n\t\t\tprimaryMenuId: resetMainPinId\n\t\t\t\t? state.mainMenuState.pinnedMenuId\n\t\t\t\t: state.mainMenuState.primaryMenuId,\n\t\t\tsecondaryMenuId: resetMainPinId\n\t\t\t\t? null\n\t\t\t\t: state.mainMenuState.secondaryMenuId,\n\t\t\tcanBePinned: canPinMainMenu\n\t\t},\n\t\tcontextualMenuState: {\n\t\t\t...state.contextualMenuState,\n\t\t\tprimaryMenuId: resetContextualPinId\n\t\t\t\t? state.contextualMenuState.pinnedMenuId\n\t\t\t\t: state.contextualMenuState.primaryMenuId,\n\t\t\tsecondaryMenuId: resetContextualPinId\n\t\t\t\t? null\n\t\t\t\t: state.contextualMenuState.secondaryMenuId,\n\t\t\tcanBePinned: canPinContextualMenu,\n\t\t\tnapWasDocked: napWasDocked\n\t\t}\n\t});\n};\n\nconst handleWindowResize = ({updateProperties}) => {\n\tconst newWidth = Math.round(window.innerWidth);\n\tconst newHeight = Math.round(window.innerHeight);\n\n\tupdateProperties({\n\t\twindowSize: {\n\t\t\twidth: newWidth,\n\t\t\theight: newHeight\n\t\t}\n\t});\n};\n\nconst handleTabSelection = (coeffects) => {\n\tlet {\n\t\taction: {\n\t\t\tpayload: {menuId, label, isDirty}\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\n\tif (state.isLoadingMenu && !state.menuFetched) {\n\t\tdispatch(MENU_REFRESH_REQUESTED);\n\n\t\tupdateState({\n\t\t\tpath: 'menuFetched',\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\t}\n\n\tdispatch(CLOSE_POPOVERS);\n\tconst alreadyOpen =\n\t\tstate.mainMenuState.primaryMenuId === menuId ||\n\t\tstate.mainMenuState.secondaryMenuId === menuId;\n\tconst menuType = menuId !== OVERFLOW_MENU_ID ? getMenuType(menuId) : '';\n\n\tif (alreadyOpen) menuId = null;\n\n\tif (!label) {\n\t\tlabel = state.headerMenuItems.find(({id}) => id === menuId)?.label;\n\t}\n\n\tconst metadata = {\n\t\taction: menuId !== null ? OPEN : CLOSE,\n\t\tmenuName: label,\n\t\tmenuType\n\t};\n\tif (isDirty) metadata.isUnsaved = true;\n\n\ttrack(coeffects, METRICS.SELECT_MENU, metadata);\n\tif (state.mainMenuState.isMenuPinned && state.mainMenuState.canBePinned) {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...state.mainMenuState,\n\t\t\t\tsecondaryMenuId: menuId,\n\t\t\t\tclosedByKeyboard: false\n\t\t\t}\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...state.mainMenuState,\n\t\t\t\tprimaryMenuId: menuId,\n\t\t\t\tclosedByKeyboard: false\n\t\t\t}\n\t\t});\n\t}\n\tdispatch(CLOSE_CONTEXTUAL_MENU);\n};\n\nconst handleContextualMenuSelection = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tmenuId,\n\t\t\t\tbuttonConfig,\n\t\t\t\tdispatchedAction,\n\t\t\t\tisBarMenu = false,\n\t\t\t\topenNewMenu = false,\n\t\t\t\tbarMenuId,\n\t\t\t\tutilityBarRef,\n\t\t\t\tadditionalData\n\t\t\t}\n\t\t},\n\t\tstate: {\n\t\t\tuiNotificationsMeta,\n\t\t\tcontextualMenu,\n\t\t\tcontextualMenuState,\n\t\t\thelpPanelAppContext,\n\t\t\tshowUtilityBar\n\t\t},\n\t\tproperties: {selectedContent},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\tconst indicatorOn = buttonConfig?.indicatorOn;\n\tconst isUtilityBarTrigger =\n\t\tbuttonConfig?.isUtilityBarTrigger || menuId === INSTANCE_TOOLS_MENU_ID;\n\n\tdispatch(CLOSE_POPOVERS);\n\n\tconst isOpen = menuId !== null;\n\tconst metadata = {\n\t\taction: isOpen ? 'Open' : 'Close'\n\t};\n\n\tlet metric;\n\tswitch (dispatchedAction) {\n\t\tcase BUTTON_ACTIONS.CONCOURSE_PICKER_BUTTON_CLICKED:\n\t\t\tmetric = METRICS.SELECT_SCOPE_MENU;\n\t\t\tif (isOpen) {\n\t\t\t\tmetadata.defaultScope = !indicatorOn;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.NOTIFICATION_TRIGGERED:\n\t\t\tmetric = METRICS.SELECT_NOTIFICATION_MENU;\n\t\t\tif (isOpen && uiNotificationsMeta) {\n\t\t\t\tmetadata.notificationCount = uiNotificationsMeta.totalRowCount;\n\t\t\t\tmetadata.badge = uiNotificationsMeta.totalRowCount > 0;\n\t\t\t\tmetadata.badgeCount = uiNotificationsMeta.totalRowCount;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.HELP_CLICKED:\n\t\t\tmetric = METRICS.SELECT_HELP_MENU;\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.OPENFRAME_ICON_CLICKED:\n\t\t\tmetric = METRICS.SELECT_CTI_MENU;\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.CHAT_CLICKED:\n\t\t\tmetric = METRICS.SELECT_COLLAB_CHAT;\n\t\t\tmetadata.unreadChatCount = contextualMenu.unreadChatCount;\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.NOW_ASSIST_CLICKED:\n\t\t\tmetric = METRICS.SELECT_NOW_ASSIST;\n\t\t\tmetadata.route = selectedContent.route;\n\t\t\tmetadata.experienceName = selectedContent?.context?.experienceName;\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.INSTANCE_TOOLS_CLICKED:\n\t\t\tupdateState({\n\t\t\t\tshowUtilityBar: !showUtilityBar\n\t\t\t});\n\n\t\t\t// Toggle preferences for all pickers\n\t\t\t[\n\t\t\t\tPREFERENCES.DOMAIN_PICKER_SHOWN,\n\t\t\t\tPREFERENCES.APPLICATION_PICKER_SHOWN,\n\t\t\t\tPREFERENCES.UPDATE_SET_SHOWN,\n\t\t\t\tPREFERENCES.ENCRYPTION_SHOWN\n\t\t\t].forEach((pref) => {\n\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\tname: pref,\n\t\t\t\t\tvalue: !showUtilityBar\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tmetric = METRICS.SELECT_INSTANCE_TOOLS;\n\t\t\tbreak;\n\t\tcase BUTTON_ACTIONS.USAGE_ANALYTICS_CLICKED:\n\t\t\tmetric = METRICS.SELECT_USAGE_ANALYTICS_MENU;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tmetric = METRICS.SELECT_USER_MENU;\n\t}\n\n\ttrack(coeffects, metric, metadata);\n\n\tif (dispatchedAction === BUTTON_ACTIONS.HELP_CLICKED) {\n\t\tupdateState({\n\t\t\thelpPanelAppContext: {\n\t\t\t\t...helpPanelAppContext,\n\t\t\t\tshowHelpPanel: true\n\t\t\t}\n\t\t});\n\t}\n\n\tconst openedMenus = contextualMenuState.hasBeenOpened;\n\n\tif (isOpen && contextualMenuState.hasBeenOpened.indexOf(menuId) === -1) {\n\t\topenedMenus.push(menuId);\n\t}\n\n\tconst isBarOpen = isUtilityBarTrigger ? !showUtilityBar : showUtilityBar;\n\n\tif (buttonConfig?.openNewMenu || openNewMenu) {\n\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t}\n\n\tif (contextualMenuState.isMenuPinned && contextualMenuState.canBePinned) {\n\t\tupdateState({\n\t\t\tcontextualMenuState: {\n\t\t\t\t...contextualMenuState,\n\t\t\t\tadditionalData,\n\t\t\t\tsecondaryMenuId:\n\t\t\t\t\tcontextualMenuState.secondaryMenuId === menuId ? null : menuId,\n\t\t\t\tclosedByKeyboard: false,\n\t\t\t\thasBeenOpened: openedMenus,\n\t\t\t\tisBarOpen,\n\t\t\t\tbarMenuId: isBarMenu ? barMenuId : null,\n\t\t\t\tutilityBarRef: isBarMenu ? utilityBarRef : null\n\t\t\t}\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tcontextualMenuState: {\n\t\t\t\t...contextualMenuState,\n\t\t\t\tadditionalData,\n\t\t\t\tprimaryMenuId:\n\t\t\t\t\tcontextualMenuState.primaryMenuId === menuId ? null : menuId,\n\t\t\t\tclosedByKeyboard: false,\n\t\t\t\thasBeenOpened: openedMenus,\n\t\t\t\tisBarOpen,\n\t\t\t\tbarMenuId: isBarMenu ? barMenuId : null,\n\t\t\t\tutilityBarRef: isBarMenu ? utilityBarRef : null\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst handleOpenUtilityMenu = ({\n\taction: {\n\t\tpayload: {id: menuId, pin, context, additionalData = {}}\n\t},\n\tdispatch,\n\tproperties: {nowAssistSettings},\n\tstate\n}) => {\n\tif (menuId === NOW_ASSIST_PANEL_MENU_ID) {\n\t\tmenuId = NOW_ASSIST_MENU_ID;\n\t}\n\n\tfunction isOpen(menuId) {\n\t\treturn (\n\t\t\tstate.contextualMenuState.primaryMenuId === menuId ||\n\t\t\tstate.contextualMenuState.secondaryMenuId === menuId\n\t\t);\n\t}\n\n\tconst isNAPMenu = menuId === NOW_ASSIST_MENU_ID;\n\tconst isAIEX = isNAPMenu && nowAssistSettings?.aielActiveForFulfiller;\n\tconst isMenuOpen = isOpen(menuId);\n\n\t// default to false for all menus other than aiex\n\tpin = pin ?? (isAIEX ? true : false);\n\n\t// No-op if menu is already open — this is explicitly for \"opening\"\n\t// Allow special case for now-assist to receive conversation id update when pinned\n\tif (isMenuOpen && !isNAPMenu) return;\n\n\tif (!isMenuOpen || isNAPMenu) {\n\t\tconst dispatchedActionMap = {\n\t\t\t[HELP_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.HELP_CLICKED,\n\t\t\t\theaderText: HELP_MENU_HEADER_TEXT\n\t\t\t},\n\t\t\t[CHAT_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.CHAT_CLICKED,\n\t\t\t\theaderText: CHAT_MENU_HEADER_TEXT\n\t\t\t},\n\t\t\t[NOTIFICATIONS_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.NOTIFICATION_TRIGGERED,\n\t\t\t\theaderText: NOTIFICATIONS_HEADER_TEXT\n\t\t\t},\n\t\t\t[OPENFRAME_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.OPENFRAME_ICON_CLICKED,\n\t\t\t\theaderText: OPENFRAME_MENU_HEADER_TEXT\n\t\t\t},\n\t\t\t[CONCOURSE_PICKER_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.CONCOURSE_PICKER_BUTTON_CLICKED,\n\t\t\t\theaderText: CONCOURSE_PICKER_HEADER_TEXT\n\t\t\t},\n\t\t\t[USER_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.AVATAR_ICON_CLICKED,\n\t\t\t\theaderText: USER_MENU_HEADER_TEXT\n\t\t\t},\n\t\t\t[NOW_ASSIST_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.NOW_ASSIST_CLICKED,\n\t\t\t\theaderText: NOW_ASSIST_MENU_HEADER_TEXT\n\t\t\t},\n\t\t\t[USAGE_ANALYTICS_MENU_ID]: {\n\t\t\t\taction: BUTTON_ACTIONS.USAGE_ANALYTICS_CLICKED,\n\t\t\t\theaderText: USAGE_ANALYTICS_HEADER_TEXT\n\t\t\t}\n\t\t};\n\n\t\tconst matchingOverflowMenu = mapOverflowMenuItems(\n\t\t\tstate.contextualMenu\n\t\t)?.find(({menuConfig}) => menuConfig.menuProperties.menuType === menuId);\n\n\t\tif (matchingOverflowMenu) {\n\t\t\t// If the menu is in overflow, go through flow of opening the overflow\n\t\t\t// menu and then drilling into the specific menu\n\t\t\tconst dispatchedAction = BUTTON_ACTIONS.OVERFLOW_UTIL_MENU_CLICKED;\n\n\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\tmenuId: UTILITY_OVERFLOW_MENU_ID,\n\t\t\t\tdispatchedAction\n\t\t\t});\n\t\t\tdispatch(CLOSE_MENUS);\n\t\t\tdispatch(dispatchedAction, {\n\t\t\t\tcontextualMenuType: UTILITY_OVERFLOW_MENU_ID,\n\t\t\t\tcontext\n\t\t\t});\n\n\t\t\t// needed to wait for the above dispatches to get the overflow menu rendering\n\t\t\tsetTimeout(() => {\n\t\t\t\tdispatch(SN_DRILLDOWN_LIST_TOGGLE, {\n\t\t\t\t\titem: matchingOverflowMenu,\n\t\t\t\t\tdrilled: true,\n\t\t\t\t\tsource: SN_DRILLDOWN_LIST_SOURCES.UTILITY_OVERFLOW_MENU\n\t\t\t\t});\n\t\t\t});\n\t\t} else {\n\t\t\tconst menuInfo = dispatchedActionMap[menuId];\n\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\tmenuId,\n\t\t\t\tdispatchedAction: menuInfo.action,\n\t\t\t\topenNewMenu: menuInfo.openNewMenu,\n\t\t\t\tadditionalData\n\t\t\t});\n\t\t\tdispatch(CLOSE_MENUS);\n\t\t\tdispatch(menuInfo.action, {\n\t\t\t\tcontextualMenuType: menuId,\n\t\t\t\tcontextualMenuHeaderText: menuInfo.headerText,\n\t\t\t\tcontext,\n\t\t\t\tpin,\n\t\t\t\tadditionalData\n\t\t\t});\n\t\t}\n\t}\n\n\tif (state.contextualMenuState.isMenuPinned !== pin) {\n\t\tconst {contextualMenuState} = state;\n\n\t\tif (isAIEX) {\n\t\t\twindow.nowWindowManager.toggleDock(\n\t\t\t\tNOW_ASSIST_MENU_ID,\n\t\t\t\tdocument.dir === 'rtl' ? 'left' : 'right'\n\t\t\t);\n\t\t}\n\n\t\tdispatch(CONTEXTUAL_MENU_PINNED, {\n\t\t\tprimaryMenuId: menuId,\n\t\t\tsecondaryMenuId: null,\n\t\t\tdoPinning: pin,\n\t\t\tisPrimary: contextualMenuState.isMenuPinned\n\t\t\t\t? contextualMenuState.primaryMenuId === USER_MENU_ID\n\t\t\t\t: true,\n\t\t\tisWideMenu: ['chat', 'usageAnalytics'].includes(menuId) // this needs to be centralized\n\t\t});\n\t}\n};\n\nconst handleToggleUtilityMenu = ({\n\taction: {\n\t\tpayload: {menuId}\n\t},\n\tdispatch,\n\tstate: {contextualMenuState, contextualMenu}\n}) => {\n\tif (\n\t\tcontextualMenuState.primaryMenuId === menuId ||\n\t\tcontextualMenuState.secondaryMenuId === menuId ||\n\t\tcontextualMenu.drilledMenu?.menuConfig?.menuProperties?.menuType === menuId\n\t) {\n\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t} else {\n\t\tdispatch(OPEN_UTILITY_MENU, {id: menuId});\n\t}\n};\n\nexport function updateContextualMenuPinState(\n\tstate,\n\tproperties,\n\tupdateState,\n\tnowAssistSettings = {}\n) {\n\tconst {contextualMenuState} = state;\n\tconst isNowAssistEnabled = nowAssistSettings?.napActive;\n\tconst isNowAssistEnabledForFulfiller =\n\t\tnowAssistSettings?.aielActiveForFulfiller;\n\n\tlet contextualMenuPinnedId = getFeatureSettings().isMenuEnabled\n\t\t? getPreferenceValue(\n\t\t\t\tproperties.userPreferences,\n\t\t\t\tPREFERENCES.CONTEXTUAL_MENU_PINNED_ID\n\t\t  )\n\t\t: null;\n\n\tif (contextualMenuPinnedId === 'null' || contextualMenuPinnedId === '') {\n\t\tcontextualMenuPinnedId = null;\n\t}\n\n\tlet updatedContextualMenuState = {...contextualMenuState};\n\n\t// Handle Now Assist menu - set primaryMenuId and pinnedMenuId when enabled\n\tif (contextualMenuPinnedId === NOW_ASSIST_MENU_ID) {\n\t\tif (isNowAssistEnabled && isNowAssistEnabledForFulfiller) {\n\t\t\t// Now Assist is enabled - set the menu IDs\n\t\t\tupdatedContextualMenuState = {\n\t\t\t\t...updatedContextualMenuState,\n\t\t\t\tisMenuPinned: true,\n\t\t\t\tprimaryMenuId: NOW_ASSIST_MENU_ID,\n\t\t\t\tpinnedMenuId: NOW_ASSIST_MENU_ID\n\t\t\t};\n\t\t} else {\n\t\t\t// Now Assist is disabled - ensure it's not pinned\n\t\t\tupdatedContextualMenuState = {\n\t\t\t\t...updatedContextualMenuState,\n\t\t\t\tisMenuPinned: false,\n\t\t\t\tprimaryMenuId: null,\n\t\t\t\tpinnedMenuId: null\n\t\t\t};\n\t\t}\n\t}\n\n\tupdateState({\n\t\tcontextualMenuState: updatedContextualMenuState\n\t});\n\n\treturn updatedContextualMenuState;\n}\n\nfunction loadStyleProps(state, properties, updateState, host) {\n\tconst {\n\t\tcontextualMenuState: {primaryMenuId, isMenuPinned, canBePinned},\n\t\twideMenus\n\t} = state;\n\tconst {nowAssistSettings} = properties;\n\tconst standardMenuWidth = parseInt(\n\t\tgetComputedStyle(host)\n\t\t\t.getPropertyValue('--nav-menu-width-px')\n\t\t\t.replace('px', '')\n\t);\n\tconst wideMenuWidth = parseInt(\n\t\tgetComputedStyle(host)\n\t\t\t.getPropertyValue('--wide-menu-width-px')\n\t\t\t.replace('px', '')\n\t);\n\tconst napMenuWidth = parseInt(\n\t\tgetComputedStyle(host)\n\t\t\t.getPropertyValue('--nap-menu-width-px')\n\t\t\t.replace('px', '')\n\t);\n\tlet newMenuWidth = standardMenuWidth;\n\tif (\n\t\tprimaryMenuId === 'chat' ||\n\t\tprimaryMenuId === 'usageAnalytics' ||\n\t\t(isMenuPinned && canBePinned && wideMenus.includes(primaryMenuId))\n\t) {\n\t\tnewMenuWidth = wideMenuWidth;\n\t}\n\n\tif (\n\t\tprimaryMenuId === NOW_ASSIST_MENU_ID &&\n\t\tnowAssistSettings?.aielActiveForFulfiller\n\t) {\n\t\tnewMenuWidth = napMenuWidth;\n\t}\n\n\thost.style.setProperty(\n\t\t'--pinned-contextual-menu-width',\n\t\t`${newMenuWidth / PX_TO_REM_CONVERSION_RATE}rem`\n\t);\n\n\tif (isNaN(standardMenuWidth) || isNaN(wideMenuWidth)) {\n\t\treturn false;\n\t}\n\n\tupdateState({\n\t\tmenuWidth: standardMenuWidth,\n\t\twideMenuWidth: wideMenuWidth,\n\t\tnapMenuWidth: napMenuWidth,\n\t\tcontextualMenuState: {\n\t\t\t...state.contextualMenuState,\n\t\t\tpinnedMenuWidth: newMenuWidth\n\t\t},\n\t\thelpPanelAppContext: {\n\t\t\t...state.helpPanelAppContext,\n\t\t\tappContext: getHelpContext(state.activeContent)\n\t\t}\n\t});\n}\n\nexport function componentBootstrap({\n\tupdateState,\n\tdispatch,\n\tproperties,\n\tstate,\n\thost\n}) {\n\tconsole.debug('polaris app shell loaded'); // eslint-disable-line no-console\n\tconst route = get(properties, 'selectedContent', {});\n\n\tif (!isEmpty(route)) {\n\t\tdispatch(HISTORY_UPDATE_REQUESTED, {route});\n\n\t\tupdateState({\n\t\t\tpath: 'lastPageVisited',\n\t\t\toperation: 'set',\n\t\t\tvalue: {url: globals.getLocationPathName(), title: route?.title},\n\t\t\tshouldRender: false\n\t\t});\n\t}\n\n\tconst instanceName = getProperty(SYS_PROPS.PRODUCT_NAME, SERVICE_NOW);\n\tupdateState({\n\t\tcontextualMenu: {\n\t\t\t...state.contextualMenu,\n\t\t\tinstanceName: instanceName\n\t\t}\n\t});\n\n\tif (host) loadStyleProps(state, properties, updateState, host);\n\n\tconst handleResize = debounce(() => {\n\t\t// need to trigger event on resize so we get updated state values during resize\n\t\tdispatch(WINDOW_RESIZED);\n\t}, 100);\n\n\twindow.addEventListener('resize', handleResize);\n\thandleResize();\n\n\twindow.onblur = () => {\n\t\tdispatch(CLOSE_MENUS);\n\t};\n\n\tif (window?.NOW) {\n\t\twindow.NOW.isPolarisWrapper = 'true';\n\t}\n\n\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\taction: () => {\n\t\t\timport('./transaction-status-message');\n\t\t\tconst animationsDisabled = getBooleanPreferenceValue(\n\t\t\t\tstate.userPreferences,\n\t\t\t\tPREFERENCES.DISABLE_ANIMATION\n\t\t\t);\n\n\t\t\tupdateState({\n\t\t\t\tshouldComponentRender: true,\n\t\t\t\tseismicContentLoaded: true,\n\t\t\t\tanimationsEnabled: !animationsDisabled\n\t\t\t});\n\t\t\tdispatch('NOW_AI_CANVAS_FRAMEWORK_LAUNCH_WINDOW_MANAGER', {\n\t\t\t\thostComponent: host\n\t\t\t});\n\t\t}\n\t});\n\n\t// The below setTimeout call allows slow loading pages to start fetching data for\n\t// any behaviors which are already loaded after the timeout period but only when\n\t// `initialExperiencePageLoadedCodeExecuted` is still false.\n\t// If `initialExperiencePageLoadedCodeExecuted` is still false after the timeout\n\t// then the page is running slow and `NOW_EXPERIENCE_PAGE_LOADED`\n\t// has NOT been triggered yet, otherwise it would be true.\n\t// We don't update `initialExperiencePageLoadedCodeExecuted` to true here because\n\t// if the page is loading slow there might be behaviors which load after time timeout\n\t// and we want to be sure their lifecycle functions get still get called\n\t// once `NOW_EXPERIENCE_PAGE_LOADED` is finally triggered. Otherwise things like\n\t// the domain picker will not load. See DEF0245099.\n\tsetTimeout(() => {\n\t\tif (!initialExperiencePageLoadedCodeExecuted) {\n\t\t\trunLifecycleFns(INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t}\n\t}, getProperty(SYS_PROPS.UI.PAGE_LOAD_TIME_OUT) || 1000);\n}\n\nfunction nowExperienceSwitched({dispatch, action}) {\n\tconst route = action.payload;\n\tdispatch(HISTORY_UPDATE_REQUESTED, {route});\n}\n\nfunction menuFocus({action, dispatch, host, state: {mainMenuState}}) {\n\tconst {menuName, label} = action.payload;\n\tif (\n\t\tmainMenuState.primaryMenuId === menuName ||\n\t\tmainMenuState.secondaryMenuId === menuName\n\t) {\n\t\tArray.from(\n\t\t\thost.shadowRoot\n\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t?.shadowRoot.querySelectorAll('sn-polaris-menu') || []\n\t\t)\n\t\t\t.find((m) => m.menu?.id === menuName)\n\t\t\t.focus();\n\t} else {\n\t\tdispatch(TAB_PRIMARY_SELECTED, {\n\t\t\tmenuId: menuName,\n\t\t\tlabel\n\t\t});\n\t}\n}\n\nfunction navButtonFocus({action, host}) {\n\tconst {menuId} = action.payload;\n\n\tArray.from(\n\t\thost.shadowRoot\n\t\t\t.querySelector('sn-polaris-header')\n\t\t\t?.shadowRoot.querySelectorAll('.sn-polaris-tab') || []\n\t)\n\t\t.find((m) => m.id === menuId)\n\t\t.focus();\n}\n\nfunction overflowButtonFocus({host}) {\n\thost.shadowRoot\n\t\t.querySelector('sn-polaris-header')\n\t\t?.shadowRoot.querySelector('.tab-overflow')\n\t\t?.focus();\n}\n\nfunction drilldownIntoMenu(coeffects) {\n\tconst {\n\t\taction: {payload},\n\t\tupdateState\n\t} = coeffects;\n\n\tconst {drilled, item} = payload ?? {};\n\n\tupdateState({\n\t\toverflowMenuDrilldown: drilled ? item : null\n\t});\n\n\tconst metadata = {\n\t\taction: drilled ? OPEN : CLOSE,\n\t\tmenuName: item?.label ?? '',\n\t\tmenuId: item?.id ?? '',\n\t\tmenuType: getMenuType(item?.id)\n\t};\n\ttrack(coeffects, METRICS.SELECT_MENU, metadata);\n}\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: componentBootstrap,\n\t['NOW_EXPERIENCE_SWITCHED']: nowExperienceSwitched,\n\t[TAB_PRIMARY_SELECTED]: handleTabSelection,\n\t[CONTEXTUAL_MENU_SELECTED]: handleContextualMenuSelection,\n\t[OPEN_UTILITY_MENU]: handleOpenUtilityMenu,\n\t[TOGGLE_UTILITY_MENU]: handleToggleUtilityMenu,\n\t[MAIN_MENU_PINNED]: handleMainMenuPin,\n\t[CONTEXTUAL_MENU_PINNED]: handleContextualMenuPin,\n\t[COMPONENT_PROPERTY_CHANGED]: layoutPropertyChangedEffect,\n\t[WINDOW_RESIZED]: {\n\t\teffect: (coeffects) => {\n\t\t\thandleWindowResize(coeffects);\n\t\t\tcoeffects.dispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\tCANVAS_SCREEN_LOADED: ({state: {activeContent}, updateState}) => {\n\t\t// don't double fire for iframed pages\n\t\tif (activeContent?.route === 'classic') {\n\t\t\tupdateState({\n\t\t\t\tshouldComponentRender: true,\n\t\t\t\tseismicContentLoaded: false\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\t// Firing legacy event for tests that depend on knowing when the page is loaded\n\t\trequestIdleCallback(() => {\n\t\t\tif (window.CustomEvent?.fireAll) {\n\t\t\t\twindow.CustomEvent.fireAll('page_loaded_fully', {\n\t\t\t\t\tframeElement: {id: 'gsft_main'}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tshouldComponentRender: true,\n\t\t\t\tseismicContentLoaded: true\n\t\t\t});\n\t\t});\n\t},\n\t[COMPONENT_DOM_TREE_READY]: {\n\t\teffect: ({state, properties, updateState, dispatch, host}) => {\n\t\t\tlet impersonationStatus;\n\t\t\tif (window?.localStorage?.getItem(ANNOUNCE_IMPERSONATION_START_KEY)) {\n\t\t\t\twindow.localStorage.removeItem(ANNOUNCE_IMPERSONATION_START_KEY);\n\n\t\t\t\timpersonationStatus = 'start';\n\t\t\t} else if (\n\t\t\t\twindow?.localStorage?.getItem(ANNOUNCE_IMPERSONATION_END_KEY)\n\t\t\t) {\n\t\t\t\twindow.localStorage.removeItem(ANNOUNCE_IMPERSONATION_END_KEY);\n\n\t\t\t\timpersonationStatus = 'end';\n\t\t\t}\n\n\t\t\tif (impersonationStatus) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tupdateState({announceImpersonationStatus: impersonationStatus});\n\t\t\t\t}, 1000);\n\t\t\t}\n\n\t\t\tif (state.menuWidth === 0 || state.wideMenuWidth === 0) {\n\t\t\t\tloadStyleProps(state, properties, updateState, host);\n\t\t\t}\n\n\t\t\t// Request help content if the panel is shown by default (eg. pinned)\n\t\t\tif (state.helpPanelAppContext?.showHelpPanel) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tdispatch('SN_HELP_PANEL#SHOW_REQUESTED', state.helpPanelAppContext);\n\t\t\t\t}, 900);\n\t\t\t}\n\t\t}\n\t},\n\t[CLOSE_MENUS]: (coeffects) => {\n\t\tconst {\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\taction: {payload}\n\t\t} = coeffects;\n\t\tconst closedByKeyboard = payload?.closedByKeyboard || false;\n\t\tupdateState({overflowMenuDrilldown: null});\n\n\t\tif (state.mainMenuState.isMenuPinned && state.mainMenuState.canBePinned) {\n\t\t\tupdateState({\n\t\t\t\tmainMenuState: {\n\t\t\t\t\t...state.mainMenuState,\n\t\t\t\t\tclosedByKeyboard: closedByKeyboard,\n\t\t\t\t\tsecondaryMenuId: null\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// `track` only if a menu is actually open so we don't spam events.\n\t\t\tif (state.mainMenuState.secondaryMenuId)\n\t\t\t\ttrack(coeffects, METRICS.CLOSE_MENU);\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tmainMenuState: {\n\t\t\t\t\t...state.mainMenuState,\n\t\t\t\t\tclosedByKeyboard: closedByKeyboard,\n\t\t\t\t\tprimaryMenuId: null,\n\t\t\t\t\tsecondaryMenuId: null\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tstate.mainMenuState.primaryMenuId ||\n\t\t\t\tstate.mainMenuState.secondaryMenuId\n\t\t\t)\n\t\t\t\ttrack(coeffects, METRICS.CLOSE_MENU);\n\t\t}\n\t},\n\t[CLOSE_CONTEXTUAL_MENU]: {\n\t\teffect: ({state, updateState, action: {payload}}) => {\n\t\t\tconst closedByKeyboard = payload?.closedByKeyboard || false;\n\t\t\tupdateState({\n\t\t\t\tcontextualMenu: {\n\t\t\t\t\t...state.contextualMenu,\n\t\t\t\t\tshowMenu: false,\n\t\t\t\t\tmenuType: null,\n\t\t\t\t\tdrilledMenu: null,\n\t\t\t\t\theaderText: null,\n\t\t\t\t\tbuttonRef: null,\n\t\t\t\t\tmenuData: null,\n\t\t\t\t\t__timestamp: Date.now()\n\t\t\t\t},\n\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t...state.contextualMenuState,\n\t\t\t\t\tprimaryMenuId:\n\t\t\t\t\t\tstate.contextualMenuState.isMenuPinned &&\n\t\t\t\t\t\tstate.contextualMenuState.canBePinned\n\t\t\t\t\t\t\t? state.contextualMenuState.primaryMenuId\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\tsecondaryMenuId: null,\n\t\t\t\t\tclosedByKeyboard: closedByKeyboard\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[CLOSE_POPOVERS]: {\n\t\teffect: ({action: {payload}}) => {\n\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\twindow.CustomEvent.fireAll('body_clicked', payload);\n\t\t}\n\t},\n\t[CLOSE_MODALS]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\tstate: {favoriteModalProps},\n\t\t\taction: {payload}\n\t\t}) => {\n\t\t\t// Closes out the following modals within their respective behavior's code:\n\t\t\t// - Keyboard shortcuts\n\t\t\t// - Impersonation\n\t\t\t// - Elevate role\n\t\t\t// - Feedback form\n\t\t\t// - Preferences\n\t\t\t// - Dirty form confirmation\n\t\t\t// - Printer confirmation\n\t\t\t// - Guided tours prompt\n\n\t\t\t// The favorite edit modal is a special case since it can contain unsaved changes.\n\t\t\t// We request to close the modal so that the user can decide if they want to leave and execute the shortcut\n\t\t\t// If other modals need this check, they can be added here\n\t\t\tif (!isEmpty(favoriteModalProps)) {\n\t\t\t\tupdateState({\n\t\t\t\t\trequestToCloseModals: payload\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_SUCCEEDED, payload);\n\t\t\t}\n\t\t}\n\t},\n\t[NOTIFICATION_DATA_UPDATED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {action, updateState} = coeffects;\n\t\t\tconst {notificationData} = action.payload;\n\t\t\tupdateState({\n\t\t\t\tpath: 'contextualMenu.notificationData',\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tvalue: notificationData\n\t\t\t});\n\t\t\t// Update badge count in overflow\n\t\t\tpositionHeaderItems(coeffects);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[UN_PAGE_TITLE_UPDATE_REQUESTED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tstate: {recentIframeTitle},\n\t\t\t\tproperties: {selectedContent, polarisSearchContexts}\n\t\t\t} = coeffects;\n\n\t\t\tlet title = payload?.label;\n\t\t\tconst bypassExperienceTitle = payload?.bypassExperienceTitle || false;\n\n\t\t\tif (\n\t\t\t\tselectedContent?.context?.path === POLARIS_SITE_NAME &&\n\t\t\t\tisEmpty(title)\n\t\t\t) {\n\t\t\t\ttitle =\n\t\t\t\t\tselectedContent.route === 'home' ? t('Home') : recentIframeTitle;\n\t\t\t}\n\n\t\t\tconst productName = getProperty(SYS_PROPS.PRODUCT_NAME) || SERVICE_NOW;\n\t\t\tconst productDescription =\n\t\t\t\tgetProperty(SYS_PROPS.PRODUCT_DESCRIPTION) || '';\n\t\t\tconst suffix = ` | ${productName}`;\n\n\t\t\tif (title) {\n\t\t\t\ttitle = decodeEntities(title);\n\n\t\t\t\tif (validateSearchPage(selectedContent)) {\n\t\t\t\t\ttitle = formatSearchPageTitle(\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\t'|',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tpolarisSearchContexts\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (title.includes(productDescription)) {\n\t\t\t\t\ttitle = removeHtmlFromDescription(title, productDescription);\n\t\t\t\t}\n\n\t\t\t\tif (!title.includes(suffix) && title.trim() !== productName)\n\t\t\t\t\ttitle += suffix;\n\n\t\t\t\t// Ask UXF to change the title only when we are in unified nav experience and not a workspace\n\t\t\t\tif (\n\t\t\t\t\twindow.document.title !== title &&\n\t\t\t\t\t(selectedContent?.context?.path === POLARIS_CONTEXT.path ||\n\t\t\t\t\t\tbypassExperienceTitle)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(PAGE_TITLE_UPDATE_REQUESTED, {\n\t\t\t\t\t\tlabel: title,\n\t\t\t\t\t\turl: window.document.title\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\ttitle = transformTitle(title);\n\t\t\t\tupdateState({\n\t\t\t\t\tpageTitle: {label: title},\n\t\t\t\t\tbypassExperienceTitle: bypassExperienceTitle\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst url = payload?.url;\n\t\t\tif (url) {\n\t\t\t\tsetTopLevelUrl(url, dispatch);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[RECENT_IFRAME_TITLE_UPDATED]: {\n\t\teffect: ({updateState, action: {payload}}) => {\n\t\t\tconst productDescription =\n\t\t\t\tgetProperty(SYS_PROPS.PRODUCT_DESCRIPTION) || '';\n\t\t\tif (payload.label.includes(productDescription)) {\n\t\t\t\tconst label = removeHtmlFromDescription(\n\t\t\t\t\tpayload.label,\n\t\t\t\t\tproductDescription\n\t\t\t\t);\n\t\t\t\tupdateState({recentIframeTitle: label});\n\t\t\t} else {\n\t\t\t\tupdateState({recentIframeTitle: payload.label});\n\t\t\t}\n\t\t}\n\t},\n\t[POLARIS_IFRAME_LOAD_COMPLETE]: {\n\t\teffect: async (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\taction: {payload}\n\t\t\t} = coeffects;\n\t\t\tconst iframe = getCoreUiIframe(host);\n\t\t\tconst startTime =\n\t\t\t\tiframe?.contentWindow?.performance?.timing.navigationStart || 0;\n\t\t\t//waiting for 75 milliseconds to ensure that all components idle.\n\t\t\tawait waitForAllComponentsIdle(75);\n\t\t\tconst endTime =\n\t\t\t\tiframe?.contentWindow?.performance?.timing.loadEventEnd || 0;\n\t\t\tconst loadTime = performance.now() - payload.startTime;\n\t\t\tconst totalUiTime = endTime - startTime;\n\t\t\tif (totalUiTime > 0) {\n\t\t\t\tconst {label, interactionType, isDocumentHidden} = payload;\n\t\t\t\ttrack(\n\t\t\t\t\tcoeffects,\n\t\t\t\t\tMETRICS.IFRAME_LOAD_COMPLETE,\n\t\t\t\t\t{\n\t\t\t\t\t\tscreenParams: {\n\t\t\t\t\t\t\ttarget: payload.relativePath\n\t\t\t\t\t\t},\n\t\t\t\t\t\turl: window.parent\n\t\t\t\t\t\t\t? window.parent.location.href\n\t\t\t\t\t\t\t: iframe.contentDocument.location.href,\n\t\t\t\t\t\tstartTime,\n\t\t\t\t\t\tendTime,\n\t\t\t\t\t\ttotalUiTime: loadTime,\n\t\t\t\t\t\texperienceName: POLARIS_CONTEXT.experienceName,\n\t\t\t\t\t\texperienceId: UNIFIED_NAVIGATION_REGISTRY_ID,\n\t\t\t\t\t\tpageTitle: label,\n\t\t\t\t\t\tscreenRoute: CLASSIC,\n\t\t\t\t\t\ttype: interactionType,\n\t\t\t\t\t\tisDocumentHidden,\n\t\t\t\t\t\tuxrInteractionId: getCoreUIInteractionId()\n\t\t\t\t\t},\n\t\t\t\t\tMETRICS.PERFORMANCE\n\t\t\t\t);\n\t\t\t\tmarkCoreUIInteractionComplete();\n\t\t\t}\n\t\t}\n\t},\n\n\t[ADD_HISTORY_ENTRY_FOR_UI_PAGES]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tstate: {\n\t\t\t\t\tisHistoryEventFired,\n\t\t\t\t\tpageTitle,\n\t\t\t\t\trecentIframeTitle,\n\t\t\t\t\tproperties: {selectedContent, userMeta}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\t/* In some corner cases, while handling the dashboards, some iFrames with loading\n               indicators are captured in page title change, below excludeHistory list maintains the list of\n               iframe pages not to be tracked in history. \n            */\n\t\t\tconst excludeHistory = ['Loading your home...'];\n\t\t\tif (\n\t\t\t\texcludeHistory.indexOf(recentIframeTitle) !== -1 ||\n\t\t\t\tpageTitle?.type === 'home'\n\t\t\t)\n\t\t\t\treturn;\n\t\t\t//if the magellian event is fired, dont add the history event, which will create a duplicate entry\n\t\t\tif (isHistoryEventFired) {\n\t\t\t\tupdateState({isHistoryEventFired: null});\n\t\t\t} else if (!get(userMeta, 'isReadOnlyMaintUser', false)) {\n\t\t\t\t// ADD new history entry.\n\t\t\t\tconst logoName = getProperty(SYS_PROPS.PRODUCT_NAME) || SERVICE_NOW;\n\t\t\t\t// if title doesnt exists we show the center pill label.\n\t\t\t\tconst title = transformTitle(\n\t\t\t\t\trecentIframeTitle || pageTitle?.label,\n\t\t\t\t\tlogoName\n\t\t\t\t);\n\t\t\t\tdispatch(\n\t\t\t\t\tPUSHED_NOW_UI_HISTORY,\n\t\t\t\t\t{\n\t\t\t\t\t\thistoryItem: {\n\t\t\t\t\t\t\tnavigator_history: {\n\t\t\t\t\t\t\t\turl: selectedContent?.params?.target,\n\t\t\t\t\t\t\t\ttitle\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{route: selectedContent}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NAV_ITEM_SELECTED]: {\n\t\teffect: ({state, action, updateState, dispatch, properties}) => {\n\t\t\tsetConditionalFocusNavigation();\n\t\t\tconst data = {\n\t\t\t\tuser_agent: navigator.userAgent,\n\t\t\t\tua_time: new Date().toISOString(),\n\t\t\t\thref: window.location.href,\n\t\t\t\tpathname: window.location.pathname,\n\t\t\t\tsearch: window.location.search,\n\t\t\t\tpath: window.location.pathname + window.location.search\n\t\t\t};\n\n\t\t\tif (!getBooleanProperty(SYS_PROPS.UI.PRESENCE_DISABLED, false)) {\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tdispatch(USER_PRESENCE_CHANGED, {data});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// no need to check dirty status on current form if target url will open in new tab\n\t\t\tif (action?.payload?.external) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dirtyFrame =\n\t\t\t\tstate?.modifiedForm && state?.modifiedForm !== 'gsft_main'\n\t\t\t\t\t? top.frames[0].document.getElementById(state?.modifiedForm)\n\t\t\t\t\t: true;\n\t\t\tif (\n\t\t\t\tstate?.formModified &&\n\t\t\t\tdirtyFrame &&\n\t\t\t\tdirtyFrame?.contentWindow?.location?.href !== 'about:blank' &&\n\t\t\t\tproperties.features.isDirtyFormEnabled\n\t\t\t) {\n\t\t\t\taction.stopPropagation();\n\t\t\t\tupdateState({\n\t\t\t\t\tdirtyFormConfirmationPayload: action.payload\n\t\t\t\t});\n\t\t\t}\n\t\t\t//resetting the state before magellian history event occured.\n\t\t\tupdateState({isHistoryEventFired: null});\n\t\t}\n\t},\n\t[ROUTE_MAP_UPDATED]: {\n\t\teffect: ({updateState, action: {payload}}) => {\n\t\t\tupdateState({\n\t\t\t\tsearchRouteMap: payload,\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_EXPERIENCE_PAGE_LOADED]: {\n\t\teffect: () => {\n\t\t\tif (!initialExperiencePageLoadedCodeExecuted) {\n\t\t\t\trunLifecycleFns(INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t\t\tinitialExperiencePageLoadedCodeExecuted = true;\n\t\t\t}\n\t\t}\n\t},\n\t[ENABLED_PLUGINS_REFRESHED]: {\n\t\teffect: ({action, state, updateState, properties, dispatch}) => {\n\t\t\tconst {enabledPlugins} = action.payload;\n\n\t\t\tif (!enabledPlugins) return;\n\n\t\t\tconst userRoles = properties?.userSession?.user?.roles || [];\n\n\t\t\tconst isOpenFrameEnabled =\n\t\t\t\t(enabledPlugins.find(({id}) => id === 'com.sn_openframe') || {})\n\t\t\t\t\t.active === true;\n\t\t\tif (isOpenFrameEnabled) {\n\t\t\t\tdispatch(OPENFRAME_BEHAVIOR_CHECK_CONFIG, {enabledPlugins, userRoles});\n\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tuxf.getComponentsByTagNames(['sn-openframe-uxb']).then(() => {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\topenFrameTagLoaded: true\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});\n\t\t\t}\n\n\t\t\t// Initialize Collab Chat (ie. subscriptions, state)\n\t\t\t// Only if the server plugin is enabled and the system property is truthy (set by store plugin and can be unset by customer)\n\t\t\tconst isCollabChatEnabled =\n\t\t\t\t(enabledPlugins.find(({id}) => id === 'com.glide.cs.collab') || {})\n\t\t\t\t\t.active === true &&\n\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.COLLAB_CHAT_ENABLED, false) &&\n\t\t\t\tproperties.features.isPolarisEnabled;\n\n\t\t\tif (isCollabChatEnabled) {\n\t\t\t\tdispatch(INIT_COLLAB_CHAT);\n\t\t\t}\n\n\t\t\tconst isGuidedToursEnabled =\n\t\t\t\t(enabledPlugins.find(({id}) => id === 'com.glide.guided_tours') || {})\n\t\t\t\t\t.active === true &&\n\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.GUIDED_TOURS_ENABLED, false) &&\n\t\t\t\tproperties.features.isPolarisEnabled;\n\n\t\t\tif (isGuidedToursEnabled) {\n\t\t\t\tif (window.NOW) window.NOW.isGtdEnabledForStandardUI = true;\n\t\t\t\tif (\n\t\t\t\t\tdocument.getElementById('polaris-ui16-dependencies') &&\n\t\t\t\t\t!document.getElementById('polaris-guided-tours-dependency')\n\t\t\t\t)\n\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\tdispatch(INIT_GUIDED_TOURS);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst isIpSurveyEnabled =\n\t\t\t\t(enabledPlugins.find(({id}) => id === 'com.sn_ip_survey') || {})\n\t\t\t\t\t.active === true;\n\n\t\t\tif (isIpSurveyEnabled && !state.isIpSurveyEnabled) {\n\t\t\t\tupdateState({isIpSurveyEnabled: true});\n\t\t\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\t\t\timport('@devsnc/sn-ips-seismic-lit-wrapper');\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[MAIN_CONTENT_FOCUSED]: {\n\t\teffect: ({\n\t\t\thost,\n\t\t\tstate: {activeContent},\n\t\t\taction: {\n\t\t\t\tpayload: {from}\n\t\t\t}\n\t\t}) => {\n\t\t\tif (activeContent?.route === 'classic') {\n\t\t\t\tconst iframe = getCoreUiIframe(host);\n\n\t\t\t\tif (iframe) {\n\t\t\t\t\tconst focusableNodes = getFocusableNodes(iframe.contentDocument.body);\n\t\t\t\t\tfocusableNodes?.firstFocusableElement?.focus();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (from === 'skip-link') {\n\t\t\t\t\tconst mainEl = findNodeInShadowDom(\n\t\t\t\t\t\thost.shadowRoot.querySelector('.content-area'),\n\t\t\t\t\t\t'main'\n\t\t\t\t\t);\n\t\t\t\t\tif (mainEl) {\n\t\t\t\t\t\tconst focusableNodes = getFocusableNodes(mainEl);\n\t\t\t\t\t\tfocusableNodes?.firstFocusableElement?.focus();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst focusableNodes = getFocusableNodes(\n\t\t\t\t\t\thost.shadowRoot.querySelector('.content-area')\n\t\t\t\t\t);\n\t\t\t\t\tfocusableNodes?.firstFocusableElement?.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[ALL_MENU_TOGGLED]: {\n\t\teffect: ({dispatch, state: {mainMenuState}, updateState}) => {\n\t\t\tif (mainMenuState.primaryMenuId === MENU_ALL) {\n\t\t\t\tupdateState({\n\t\t\t\t\tmainMenuState: {\n\t\t\t\t\t\t...mainMenuState,\n\t\t\t\t\t\tisMenuPinned: false,\n\t\t\t\t\t\tprimaryMenuId: null\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(TAB_PRIMARY_SELECTED, {\n\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\tlabel: 'All'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[ALL_MENU_FOCUSED]: {\n\t\teffect: ({dispatch, host, state: {mainMenuState}}) => {\n\t\t\t// If all menu open (primary or secondary), just focus\n\t\t\t// Else, just open\n\n\t\t\tif (\n\t\t\t\tmainMenuState.primaryMenuId === MENU_ALL ||\n\t\t\t\tmainMenuState.secondaryMenuId === MENU_ALL\n\t\t\t) {\n\t\t\t\tArray.from(\n\t\t\t\t\thost.shadowRoot\n\t\t\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t\t\t?.shadowRoot.querySelectorAll('sn-polaris-menu') || []\n\t\t\t\t)\n\t\t\t\t\t.find((m) => m.menu?.id === MENU_ALL)\n\t\t\t\t\t.focus();\n\t\t\t} else {\n\t\t\t\tdispatch(TAB_PRIMARY_SELECTED, {\n\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\tlabel: 'All'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_DRILLDOWN_SET]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {menu}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\toverflowMenuDrilldown: menu\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[FAVORITE_TOGGLE_CURRENT_PAGE]: {\n\t\teffect: favoriteToggleCurrentPage\n\t},\n\t[TOGGLE_MENU_OPEN]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload},\n\t\t\t\tdispatch,\n\t\t\t\tstate: {headerMenuItems, mainMenuState, overflowMenuDrilldown = {}}\n\t\t\t} = coeffects;\n\n\t\t\tconst menuId = payload?.menuId;\n\t\t\tconst overflowMenu =\n\t\t\t\theaderMenuItems.find(({id}) => id === OVERFLOW_MENU_ID) || {};\n\t\t\tconst isMenuAlreadyOpen =\n\t\t\t\tmainMenuState.primaryMenuId === menuId || // Normal menu already open\n\t\t\t\t(mainMenuState.primaryMenuId === OVERFLOW_MENU_ID &&\n\t\t\t\t\toverflowMenu.subId === menuId) || // Solo nav-overflow is already open\n\t\t\t\t(overflowMenuDrilldown && overflowMenuDrilldown.id === menuId); // Open drilldown menu is open\n\t\t\tconst isPinned =\n\t\t\t\tmainMenuState.primaryMenuId === menuId && mainMenuState.isMenuPinned;\n\n\t\t\tconst overflowMatchingSubMenuItem = (menuId) => {\n\t\t\t\tif (!headerMenuItems || !menuId) return null;\n\n\t\t\t\tconst matches = overflowMenu?.subItems.reduce((acc, curr) => {\n\t\t\t\t\treturn acc || (curr.id === menuId ? curr : null);\n\t\t\t\t}, null);\n\n\t\t\t\treturn matches;\n\t\t\t};\n\t\t\tconst overflowSubMenu = overflowMatchingSubMenuItem(menuId);\n\n\t\t\tif (isMenuAlreadyOpen && !isPinned) {\n\t\t\t\tif (overflowSubMenu?.id === menuId || overflowMenu?.subId === menuId) {\n\t\t\t\t\toverflowButtonFocus(coeffects);\n\t\t\t\t} else {\n\t\t\t\t\tnavButtonFocus(coeffects);\n\t\t\t\t}\n\t\t\t\treturn dispatch(CLOSE_MENUS);\n\t\t\t}\n\n\t\t\tif (overflowMenu.subId === menuId) {\n\t\t\t\t// Overflow is acting as the menu\n\t\t\t\tdispatch(MENU_FOCUSED, {\n\t\t\t\t\tmenuName: OVERFLOW_MENU_ID\n\t\t\t\t});\n\t\t\t} else if (overflowSubMenu) {\n\t\t\t\t// Overflow menu is a sub menu\n\t\t\t\tdispatch(MENU_FOCUSED, {\n\t\t\t\t\tmenuName: OVERFLOW_MENU_ID\n\t\t\t\t});\n\t\t\t\tdispatch(SN_DRILLDOWN_LIST_TOGGLE, {\n\t\t\t\t\tdrilled: true,\n\t\t\t\t\titem: overflowSubMenu,\n\t\t\t\t\tsource: SN_DRILLDOWN_LIST_SOURCES.MAIN_OVERFLOW_MENU\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Normal menu open\n\t\t\t\tdispatch(MENU_FOCUSED, {\n\t\t\t\t\tmenuName: menuId\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[MENU_FOCUSED]: {\n\t\teffect: menuFocus,\n\t\tstopPropagation: true\n\t},\n\t[SN_DRAGGABLE_MAX_WINDOW_SIZE]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {width, height}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tpath: 'openFrame.maxAllowedSize',\n\t\t\t\tvalue: {width, height},\n\t\t\t\toperation: 'merge'\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_DRAGGABLE_CHANGED_POSITION]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {value}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateState({openframeLockedPosition: value});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['SET_ACTIVE_MODAL']: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {id}\n\t\t\t},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tactiveModal: id\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_MODAL#OPENED_SET']: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {id, value}\n\t\t\t},\n\t\t\tupdateState,\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tif (id === 'logout-confirmation' && !value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tlogoutConfirmationOpened: false\n\t\t\t\t});\n\t\t\t} else if (id === 'script-debugger-confirmation' && !value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tstartDebuggingConfirmationOpened: false\n\t\t\t\t});\n\t\t\t} else if (id === 'print-confirm-modal') {\n\t\t\t\tupdateState({\n\t\t\t\t\tprinterConfirmationModalProps: null\n\t\t\t\t});\n\t\t\t} else if (id === 'favorite-delete') {\n\t\t\t\tupdateState({\n\t\t\t\t\tfavoriteDeletePayload: null\n\t\t\t\t});\n\t\t\t} else if (id === 'keyboard-shortcuts-modal') {\n\t\t\t\tdispatch(KEYBOARD_BEHAVIOR_MODAL_OPENED);\n\t\t\t}\n\t\t}\n\t},\n\t['NOW_TEXT_LINK#CLICKED']: {\n\t\teffect: async (coeffects) => {\n\t\t\tconst {action, dispatch} = coeffects;\n\t\t\tconst link = action.payload.link;\n\n\t\t\tif (link === 'main-content') {\n\t\t\t\tdispatch(MAIN_CONTENT_FOCUSED, {from: 'skip-link'});\n\t\t\t} else if (link === 'a11y') {\n\t\t\t\tdispatch(USER_SETTINGS_MODAL_OPENED, {initialTab: 'accessibility'});\n\t\t\t} else if (link === 'openframe') {\n\t\t\t\tdispatch(OPENFRAME_BEHAVIOR_OPEN_WINDOW, {isOpen: true});\n\t\t\t}\n\n\t\t\ttrack(coeffects, METRICS.SKIP_LINK_SELECT, {\n\t\t\t\tname: link\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['SCREEN_STATUS_CHANGED']: {\n\t\teffect: ({action: {payload}, properties: {selectedContent}, dispatch}) => {\n\t\t\t// Ensure that we are in the same experience and have the same selected content as when this event was triggered before updating the title\n\t\t\tif (\n\t\t\t\tpayload?.title &&\n\t\t\t\tpayload?.screenKey !== 'classic' &&\n\t\t\t\t(!payload?.sourceSelectedContent ||\n\t\t\t\t\thasSelectedContentChanged(\n\t\t\t\t\t\tpayload?.sourceSelectedContent,\n\t\t\t\t\t\tselectedContent\n\t\t\t\t\t))\n\t\t\t) {\n\t\t\t\tdispatch(UN_PAGE_TITLE_UPDATE_REQUESTED, {label: payload.title});\n\t\t\t}\n\t\t}\n\t},\n\t['RECORD#OPEN_CALL']: {\n\t\teffect: ({action: {payload}, updateState}) => {\n\t\t\t// Add a timestamp to source if it doesn't exist.\n\t\t\t// If this is not done consecutive calls will be ignored by openframe\n\t\t\tlet source = payload?.params?.source;\n\t\t\tif (source) {\n\t\t\t\tsource = source + Date.now();\n\t\t\t}\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'openFrame',\n\t\t\t\t\tvalue: payload,\n\t\t\t\t\toperation: 'merge'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'openFrame.params.source',\n\t\t\t\t\tvalue: source,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t},\n\t['SN_FORM_DATA_CONNECTED#OPEN_PHONE']: ({action: {payload}, dispatch}) => {\n\t\tdispatch('RECORD#OPEN_CALL', normalizeOpenframeRibbonPayload(payload));\n\t},\n\t[FEEDBACK_FORM_BUTTON_CLICKED]: {\n\t\teffect: ({updateState, dispatch}) => {\n\t\t\tdispatch(FEEDBACK_FORM_ACTIONS.OPEN);\n\t\t\tupdateState({\n\t\t\t\tshowFeedbackForm: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SHOW_MENU_ITEM_TOOLTIP]: {\n\t\teffect: ({action, updateState}) => {\n\t\t\tconst componentId = action.meta.id;\n\t\t\tscheduleShowTooltip(componentId, updateState, action.payload);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[HIDE_MENU_ITEM_TOOLTIP]: {\n\t\teffect: ({action, updateState}) => {\n\t\t\tconst componentId = action.meta.id;\n\t\t\tscheduleHideTooltip(componentId, updateState);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[UTILITY_MENU_OVERFLOW_DATA_UPDATED]: {\n\t\teffect: ({action, updateState}) => {\n\t\t\tconst {\n\t\t\t\toverflowingMenuItems,\n\t\t\t\ttotalBadgeCount,\n\t\t\t\tutilityBarVisible\n\t\t\t} = action.payload;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'contextualMenu.overflowMenuItems',\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tvalue: overflowingMenuItems\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'contextualMenu.overflowBadgeCount',\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tvalue: totalBadgeCount\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'contextualMenu.utilityBarVisible',\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tvalue: utilityBarVisible\n\t\t\t\t}\n\t\t\t]);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.AVATAR_ICON_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.HELP_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.CHAT_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.USAGE_ANALYTICS_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.BELL_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.CONCOURSE_PICKER_BUTTON_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.NOW_ASSIST_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tdispatch,\n\t\t\t\tproperties: {nowAssistSettings, userPreferences},\n\t\t\t\tstate: {napShortcutCommand, isNowAssistUnavailable},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {pin = true, additionalData}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\n\t\t\tif (getFeatureSettings().isPolarisEnabled) {\n\t\t\t\tif (nowAssistSettings?.aielActiveForFulfiller) {\n\t\t\t\t\t// If AIEL service is unavailable, show the unavailable modal instead\n\t\t\t\t\tif (isNowAssistUnavailable) {\n\t\t\t\t\t\tcoeffects.updateState({nowAssistUnavailableModalOpened: true});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst enableVoiceInput = getBooleanPreferenceValue(\n\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\tPREFERENCES.VOICE_INPUT,\n\t\t\t\t\t\tfalse\n\t\t\t\t\t);\n\t\t\t\t\tdispatch('AI_ENGAGEMENT_LAUNCH_EXPERIENCE', {\n\t\t\t\t\t\tlaunchMode: pin ? 'docked' : 'floating',\n\t\t\t\t\t\tnapShortcutCommand,\n\t\t\t\t\t\tconversationId: additionalData?.conversationId,\n\t\t\t\t\t\thostType: 'unified-navigation',\n\t\t\t\t\t\tenableVoiceInput,\n\t\t\t\t\t\twindowConfigOverrides: {\n\t\t\t\t\t\t\tmodalOverlayClickEnabled: true\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\thandleContextualMenuClick(coeffects);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.NOTIFICATION_TRIGGERED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.INSTANCE_TOOLS_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[BUTTON_ACTIONS.OVERFLOW_UTIL_MENU_CLICKED]: {\n\t\teffect: handleContextualMenuClick,\n\t\tstopPropagation: true\n\t},\n\t[SN_DRILLDOWN_LIST_TOGGLE]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\taction: {payload},\n\t\t\t\tstate: {contextualMenu, helpPanelAppContext}\n\t\t\t} = coeffects;\n\t\t\tconst {item, source, value} = payload;\n\t\t\tswitch (source) {\n\t\t\t\tcase SN_DRILLDOWN_LIST_SOURCES.MAIN_OVERFLOW_MENU: {\n\t\t\t\t\tdrilldownIntoMenu(coeffects);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase SN_DRILLDOWN_LIST_SOURCES.COUNCOURSE_PICKER: {\n\t\t\t\t\tdispatch(CONCOURSE_PICKER_DRILLDOWN_BUTTON_CLICKED, {item});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase SN_DRILLDOWN_LIST_SOURCES.UTILITY_OVERFLOW_MENU: {\n\t\t\t\t\tconst openNewMenu = item?.buttonConfig?.openNewMenu;\n\n\t\t\t\t\tif (item?.id === 'help-button') {\n\t\t\t\t\t\tdispatch('SN_HELP_PANEL#REFRESH_REQUESTED', {\n\t\t\t\t\t\t\tappContext: {...getHelpContext(value), timestamp: Date.now()}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (helpPanelAppContext?.showHelpPanel) {\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tdispatch('SN_HELP_PANEL#SHOW_REQUESTED', helpPanelAppContext);\n\t\t\t\t\t\t\t}, 900);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (item?.id === 'experience-notifications') {\n\t\t\t\t\t\tcache.set(NOTIFICATIONS_LAST_VIEWED_KEY, new Date().toString(), {\n\t\t\t\t\t\t\tttl: Number.MAX_SAFE_INTEGER\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (openNewMenu) {\n\t\t\t\t\t\tconst {buttonConfig} = item;\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tdispatchedAction,\n\t\t\t\t\t\t\tpayload: {contextualMenuType, contextualMenuHeaderText}\n\t\t\t\t\t\t} = buttonConfig || {};\n\n\t\t\t\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\t\t\t\tcontextualMenuType,\n\t\t\t\t\t\t\tbuttonConfig,\n\t\t\t\t\t\t\tlabel: contextualMenuHeaderText,\n\t\t\t\t\t\t\tdispatchedAction\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(dispatchedAction, buttonConfig.payload);\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\t\tpreviousDrilledMenu: item,\n\t\t\t\t\t\t\t\tdrilledMenu: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (contextualMenu.drilledMenu === null) {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\t\t\tdrilledMenu: item\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\t\t\tdrilledMenu: null,\n\t\t\t\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t\t\t\t...contextualMenu.menuData,\n\t\t\t\t\t\t\t\t\t\tselectedPicker: null,\n\t\t\t\t\t\t\t\t\t\tlastOpenPicker: null\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tpreviousDrilledMenu: contextualMenu?.drilledMenu\n\t\t\t\t\t\t\t\t}\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\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[TOGGLE_WIDE_MENU]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {menu}\n\t\t\t\t},\n\t\t\t\tstate,\n\t\t\t\thost,\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\n\t\t\tconst {wideMenus, menuWidth, wideMenuWidth, contextualMenuState} = state;\n\t\t\tlet newMenuWidth = menuWidth;\n\t\t\tconst isSecondaryMenu = menu.id === contextualMenuState.secondaryMenuId;\n\n\t\t\tlet newMenuList = [];\n\t\t\tif (wideMenus?.includes(menu.id)) {\n\t\t\t\tnewMenuList = wideMenus.filter((id) => {\n\t\t\t\t\treturn menu.id !== id;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewMenuList = wideMenus.concat([menu.id]);\n\t\t\t\tnewMenuWidth = wideMenuWidth;\n\t\t\t}\n\n\t\t\tif (!isSecondaryMenu) {\n\t\t\t\thost.style.setProperty(\n\t\t\t\t\t'--pinned-contextual-menu-width',\n\t\t\t\t\t`${newMenuWidth / PX_TO_REM_CONVERSION_RATE}rem`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\twideMenus: newMenuList,\n\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t...state.contextualMenuState,\n\t\t\t\t\tpinnedMenuWidth: !isSecondaryMenu\n\t\t\t\t\t\t? newMenuWidth\n\t\t\t\t\t\t: contextualMenuState.pinnedMenuWidth\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\tname: PREFERENCES.CONTEXTUAL_MENU_WIDE_MENUS,\n\t\t\t\tvalue: JSON.stringify(newMenuList)\n\t\t\t});\n\n\t\t\ttrack(coeffects, METRICS.TOGGLE_WIDE_MENU, {\n\t\t\t\taction: newMenuWidth === wideMenuWidth ? 'Widen' : 'Narrow',\n\t\t\t\tmenuName: menu.id\n\t\t\t});\n\t\t},\n\t\tstopPropagation: false\n\t},\n\t['WM_BOTTOM_TOOLBAR_VISIBILITY_CHANGED']: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateProperties,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {isOpen, height}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\n\t\t\tupdateProperties({\n\t\t\t\twmBottomToolbar: {\n\t\t\t\t\tisOpen,\n\t\t\t\t\theight\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\t[REGISTER_WINDOW_MANAGER]: {\n\t\teffect: ({action, updateProperties, state}) => {\n\t\t\tconst {windowManager} = action.payload;\n\n\t\t\tif (state.mainMenuState.isMenuPinned) {\n\t\t\t\twindowManager?.dispatch('POLARIS_MENU_PINNED', {\n\t\t\t\t\ttype: 'mainMenu',\n\t\t\t\t\tmenuId: state.mainMenuState.primaryMenuId,\n\t\t\t\t\tpinned: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tif (state.contextualMenuState.isMenuPinned) {\n\t\t\t\t\twindowManager?.dispatch('POLARIS_MENU_PINNED', {\n\t\t\t\t\t\ttype: 'contextualMenu',\n\t\t\t\t\t\tmenuId: state.contextualMenuState.primaryMenuId,\n\t\t\t\t\t\tpinned: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tupdateProperties({\n\t\t\t\twindowManager\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\nexport {actionHandlers};\n","/**\n * Decodes coded sets of a string to its corresponding character symbols\n * e.g \"&#40;\" becomes \"(\"\n */\nexport default function decodeEntities(str) {\n\tif (!str || !str.length) {\n\t\treturn '';\n\t}\n\n\t/**\n\t * /& - Starts with '&'\n\t * #? - Could have '#'\n\t * [\\w\\d] - Any sequence of words or digits\n\t * ;? - Could end with ';'\n\t *\n\t * e.g: &#40;\n\t */\n\treturn str.replace(/&(#?[\\w\\d]+);?/g, function(match, token) {\n\t\t// Consider tokens only starting with '#'\n\t\tif (token.charAt(0) === '#') {\n\t\t\tvar charCode;\n\n\t\t\t// If the token starts with 'x', parse token as hexadecimal else consider decimal.\n\t\t\tif (token.charAt(1) === 'x') {\n\t\t\t\tcharCode = parseInt(token.substr(2).toLowerCase(), 16);\n\t\t\t} else {\n\t\t\t\tcharCode = parseInt(token.substr(1));\n\t\t\t}\n\n\t\t\t// Character code must be a number and should lie between the valid range\n\t\t\tif (!isNaN(charCode) && charCode >= -32768 && charCode <= 65535) {\n\t\t\t\t// convert code to corresponding character symbol\n\t\t\t\treturn String.fromCharCode(charCode) || match;\n\t\t\t}\n\t\t}\n\n\t\treturn match;\n\t});\n}\n","import {get} from 'lodash';\n\nexport default function setConditionalFocusNavigation() {\n\tif (get(window.top, 'NOW.magellan.setNavigatingState', null)) {\n\t\twindow.top.NOW.magellan.setNavigatingState(true);\n\t}\n}\n","export const normalizeOpenframeRibbonPayload = ({\n\tnumber,\n\tsysid: sysId,\n\ttable\n}) => {\n\tif (number) {\n\t\treturn {\n\t\t\troute: 'cti',\n\t\t\tfields: {opened: true},\n\t\t\ticonSelected: true,\n\t\t\tparams: {\n\t\t\t\tnumber,\n\t\t\t\tsysId,\n\t\t\t\ttable,\n\t\t\t\tsource: `form_field`\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {};\n};\n","export const DEV_STUDIO_INIT = 'DEV_STUDIO#INIT';\n","import {actionTypes} from '@servicenow/ui-core';\nimport {forEach, get, toNumber, some} from 'lodash';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\n\nimport {INIT_GUIDED_TOURS} from '../guided-tours-behavior/constants';\nimport {FETCH_UI16_DEPENDENCIES} from './actions';\nimport {DEV_STUDIO_INIT} from '../dev-studio-init/actions';\n\nconst getDependencies = (customEvents, dispatch) => {\n\tif (document.getElementById('polaris-ui16-dependencies')) return;\n\tconst depHandler = () => {\n\t\tsetupLegacyEventHandlers(customEvents, dispatch);\n\t\tdispatch(INIT_GUIDED_TOURS);\n\t\tdispatch(DEV_STUDIO_INIT);\n\t};\n\n\tconst depJS = document.createElement('script');\n\tdepJS.id = 'polaris-ui16-dependencies';\n\tdepJS.src = '/polaris-ui16-dependencies.js';\n\tdepJS.onload = depHandler;\n\tdepJS.onerror = depHandler;\n\tdocument.head.appendChild(depJS);\n};\n\nconst fetchPolarisUI16Dependencies = ({\n\taction: {\n\t\tpayload: {\n\t\t\toptions: {customEvents},\n\t\t\tisDelayNeeded = true\n\t\t}\n\t},\n\tdispatch\n}) => {\n\tif (!document.getElementById('polaris-ui16-dependencies')) {\n\t\tif (isDelayNeeded)\n\t\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\t\tgetDependencies(customEvents, dispatch);\n\t\t\t});\n\t\telse {\n\t\t\tgetDependencies(customEvents, dispatch);\n\t\t}\n\t} else setupLegacyEventHandlers(customEvents, dispatch); // This will add the new events to the window object.\n};\n/**\n * Background:\n * What is this trying to solve?\n * \t- window.frames doesn't pick up iframes that are within a shadow-root\n * \t- you cannot manually push entries to `window.frames`\n * \t- you cannot override window (thankfully) with a proxy\n *\n * window.frames === window normally, so we can set a proxy on .frames and\n * change CustomEventManager to loop over window.frames rather than window\n * since they are the same reference.\n *\n * Since we can't push to window.frames, keep a fake window.__frames around\n * that the iframe component will push its iframe window reference to\n */\nwindow.__frames = window.__frames ?? [];\nwindow.frames = new Proxy(window.frames, {\n\tget(target, prop) {\n\t\t// Let's only handle the primary looping-over-iframes case for now\n\t\tif (prop === 'length' || !isNaN(toNumber(prop)))\n\t\t\treturn window.__frames[prop];\n\n\t\t// eslint-disable-next-line prefer-rest-params\n\t\treturn Reflect.get(...arguments);\n\t}\n});\n\nfunction setupLegacyEventHandlers(customEvents, dispatch) {\n\tif (window.CustomEvent && !window.CustomEvent.observe) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('CustomEventManager extension not loaded');\n\t\treturn;\n\t}\n\n\tif (!get(window.top, 'NOW.magellan.setNavigatingState', null)) {\n\t\twindow.top.NOW = top.NOW || {};\n\t\twindow.top.NOW.magellan = top.NOW.magellan || {\n\t\t\tisNavigating: false,\n\t\t\tsetNavigatingState: function(state) {\n\t\t\t\tthis.isNavigating = state;\n\t\t\t},\n\t\t\tinvokeWhenShouldFocus: function(currentWindow, onFocus) {\n\t\t\t\tif (this.isNavigating || currentWindow.self === currentWindow.top) {\n\t\t\t\t\tonFocus();\n\t\t\t\t\tthis.isNavigating = false;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tforEach(customEvents, (handler, eventName) => {\n\t\tconst existingEvents = get(window.CustomEvent, ['events', eventName], []);\n\t\tconst handlerExists = some(existingEvents, (e) => e === handler);\n\n\t\tif (!handlerExists)\n\t\t\twindow.CustomEvent.observe(eventName, handler.bind(handler, dispatch));\n\t});\n}\n\nexport default {\n\tname: 'CUSTOM_EVENT_MANAGER_SETUP_BEHAVIOR',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_DOM_READY]: fetchPolarisUI16Dependencies,\n\t\t[FETCH_UI16_DEPENDENCIES]: fetchPolarisUI16Dependencies\n\t}\n};\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {\n\tOPENFRAME_BEHAVIOR_CHECK_CONFIG,\n\tOPENFRAME_BEHAVIOR_OPEN_WINDOW,\n\tOPENFRAME_BEHAVIOR_SET_REF,\n\tOPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD\n} from './actions';\n\nimport {OPEN_FRAME_BEHAVIOR} from './constants';\n\nimport {\n\tNAV_ITEM_SELECTED,\n\tBUTTON_ACTIONS,\n\tCLASSIC,\n\tRECORD,\n\tPOLARIS_CONTEXT,\n\tGLOBAL_NAVIGATION_REQUESTED,\n\tICON_MAP\n} from '../../constants';\n\nimport {isEmpty, has, get, some} from 'lodash';\nimport {WINDOW_MOVED_TO_PRESET} from '../../components/sn-polaris-layout/draggable/constants';\nimport {effectProxy} from '@devsnc/unav-utils';\n\nconst OPEN_FRAME_CONFIG_REQUESTED = 'OPEN_FRAME_BEHAVIOR#CONFIG_REQUESTED';\nexport const OPEN_FRAME_CONFIG_SUCCEEDED =\n\t'OPEN_FRAME_BEHAVIOR#CONFIG_SUCCEEDED';\nconst OPEN_FRAME_CONFIG_ERROR = 'OPEN_FRAME_BEHAVIOR#CONFIG_ERROR';\nconst ALLOW_LIST_FOR_ROLES = ['sn_openframe_user', 'admin'];\nconst OPENFRAME_STATE_PATH = 'behaviors.OPEN_FRAME_BEHAVIOR';\nexport const OPENFRAME_ENABLED = 'OPEN_FRAME_BEHAVIOR#OPENFRAME_ENABLED';\n\nconst query = `\n{\n    AppOpenframe_Query {\n      showFrame\n      config {\n        title\n        subTitle\n        configuration\n        height\n        width\n        navIconClass\n        titleIcon\n        collapsedViewEnabled\n        iframeAllow\n        showPresenceIndicator\n        url {\n          authority\n          fragment\n          host\n          path\n          port\n          query\n          scheme\n          schemeSpecificPart\n          userInfo\n          isAbsolute\n          isOpaque\n          stringValue\n        }\n      }\n    }\n  }\n`;\n\nexport const openFrameConfigEffect = createGraphQLEffect(query, {\n\tsuccessActionType: OPEN_FRAME_CONFIG_SUCCEEDED,\n\terrorActionType: OPEN_FRAME_CONFIG_ERROR\n});\n\nconst checkForOpenframeRole = (roles) => {\n\treturn roles.some((role) => ALLOW_LIST_FOR_ROLES.includes(role));\n};\n\nexport default {\n\tname: OPEN_FRAME_BEHAVIOR,\n\tinitialState: {\n\t\topenframeRef: null\n\t},\n\tactionHandlers: {\n\t\t[OPENFRAME_BEHAVIOR_CHECK_CONFIG]: {\n\t\t\teffect: ({action, dispatch}) => {\n\t\t\t\tconst {enabledPlugins, userRoles} = action.payload;\n\n\t\t\t\tconst isPluginEnabled = some(\n\t\t\t\t\tenabledPlugins,\n\t\t\t\t\t({id}) => id === 'com.sn_openframe'\n\t\t\t\t);\n\n\t\t\t\tif (isPluginEnabled && checkForOpenframeRole(userRoles)) {\n\t\t\t\t\tdispatch(OPEN_FRAME_CONFIG_REQUESTED);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[OPEN_FRAME_CONFIG_REQUESTED]: effectProxy(openFrameConfigEffect),\n\t\t[OPEN_FRAME_CONFIG_ERROR]: {\n\t\t\teffect: () => {\n\t\t\t\tconsole.error('openframe request for configuration failed');\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[OPEN_FRAME_CONFIG_SUCCEEDED]: {\n\t\t\teffect: ({action: {payload}, updateState, dispatch}) => {\n\t\t\t\tlet openFrameConfig;\n\n\t\t\t\tif (payload.errors.length > 0) {\n\t\t\t\t\topenFrameConfig = {};\n\t\t\t\t} else {\n\t\t\t\t\topenFrameConfig = payload.data;\n\t\t\t\t\topenFrameConfig.AppOpenframe_Query.position = 'parent-draggable';\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'openFrameConfig',\n\t\t\t\t\tvalue: openFrameConfig,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\n\t\t\t\tconst configIcon = openFrameConfig.AppOpenframe_Query.config?.url\n\t\t\t\t\t? openFrameConfig.AppOpenframe_Query.config?.navIconClass\n\t\t\t\t\t: null;\n\t\t\t\tconst hasIcon = !isEmpty(configIcon) && !isEmpty(ICON_MAP[configIcon]);\n\n\t\t\t\tif (hasIcon)\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'openFrame',\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\tshowIcon: hasIcon,\n\t\t\t\t\t\t\ticon: ICON_MAP[configIcon]\n\t\t\t\t\t\t},\n\t\t\t\t\t\toperation: 'merge',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t});\n\t\t\t\tif (hasIcon) {\n\t\t\t\t\tdispatch(OPENFRAME_ENABLED);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WINDOW_MOVED_TO_PRESET]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'openFrame.windowPositionedCorrectly',\n\t\t\t\t\tvalue: true\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['PRIME_NAV_SOURCE_CHANGED']: {\n\t\t\teffect: ({\n\t\t\t\tproperties,\n\t\t\t\taction: {payload},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tstate: {openFrame}\n\t\t\t}) => {\n\t\t\t\tconst {id, status, badge, select = false, show = false} = payload;\n\t\t\t\tif (id === 'cti') {\n\t\t\t\t\tif (!isEmpty(status)) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: 'openFrame.status',\n\t\t\t\t\t\t\tvalue: status\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (\n\t\t\t\t\t\thas(payload, 'badge') &&\n\t\t\t\t\t\t!isEmpty(badge) &&\n\t\t\t\t\t\thas(badge, 'count')\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: 'openFrame.badge',\n\t\t\t\t\t\t\tvalue: badge.count\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (has(payload, 'select')) {\n\t\t\t\t\t\tif (!select && !isEmpty(openFrame.ctiRef)) {\n\t\t\t\t\t\t\topenFrame.ctiRef.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: 'openFrame.iconSelected',\n\t\t\t\t\t\t\tvalue: select\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch('POLARIS#OPEN_OPENFRAME_WINDOW', {isOpen: select});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst hasRole = checkForOpenframeRole(properties?.userMeta?.roles);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\topenFrame.icon !== payload.icon ||\n\t\t\t\t\t\t\topenFrame.select !== payload.select\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\tpath: 'openFrame',\n\t\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\t\tshowIcon: show && hasRole,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\ticon: payload.icon,\n\t\t\t\t\t\t\t\t\ticonSelected: select,\n\t\t\t\t\t\t\t\t\tstatus\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toperation: 'merge'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (show && hasRole) {\n\t\t\t\t\t\t\t\tdispatch(OPENFRAME_ENABLED);\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}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[BUTTON_ACTIONS.OPENFRAME_ICON_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {menuContainerRef}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tconst {iconSelected = false, id} = state.openFrame || {};\n\t\t\t\tconst ctiButtonRef = menuContainerRef.current.querySelector(`.${id}`);\n\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'openFrame',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\t...state.openFrame,\n\t\t\t\t\t\tctiRef: ctiButtonRef,\n\t\t\t\t\t\ticonSelected: !iconSelected\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[OPENFRAME_BEHAVIOR_SET_REF]: {\n\t\t\teffect: ({action: {payload}, updateState, state}) => {\n\t\t\t\tconst oldOpenframeRef = get(\n\t\t\t\t\tstate,\n\t\t\t\t\tOPENFRAME_STATE_PATH + '.openframeRef'\n\t\t\t\t);\n\t\t\t\tconst {element} = payload;\n\t\t\t\tif (!oldOpenframeRef) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: OPENFRAME_STATE_PATH + '.openframeRef',\n\t\t\t\t\t\tvalue: element,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_COMPONENT_OPENFRAME#OPEN_CUSTOM_URL']: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tproperties: {selectedContent},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tconst context = selectedContent?.context || POLARIS_CONTEXT;\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext,\n\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttarget: payload?.url\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['SN_COMPONENT_OPENFRAME#OPEN_LIST']: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tproperties: {selectedContent},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tconst {entity, query = ''} = payload;\n\t\t\t\tconst context = selectedContent?.context || POLARIS_CONTEXT;\n\t\t\t\tif (entity) {\n\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\ttarget: `${entity}_list.do?sysparm_query=${query}`\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[OPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD]: {\n\t\t\teffect: ({dispatch, state}) => {\n\t\t\t\tconst iconSelected = state.openFrame.iconSelected;\n\n\t\t\t\tdispatch(OPENFRAME_BEHAVIOR_OPEN_WINDOW, {\n\t\t\t\t\tisOpen: !iconSelected\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[OPENFRAME_BEHAVIOR_OPEN_WINDOW]: {\n\t\t\teffect: ({action: {payload}, updateState, state}) => {\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'openFrame',\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\ticonSelected: payload.isOpen,\n\t\t\t\t\t\t\tfields: {opened: payload.isOpen}\n\t\t\t\t\t\t},\n\t\t\t\t\t\toperation: 'merge'\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tconst oldOpenframeRef = get(\n\t\t\t\t\tstate,\n\t\t\t\t\tOPENFRAME_STATE_PATH + '.openframeRef'\n\t\t\t\t);\n\t\t\t\tif (oldOpenframeRef) {\n\t\t\t\t\toldOpenframeRef.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_OPENFRAME_UXB#RECORD_OPENED']: {\n\t\t\teffect: ({action: {payload}, dispatch, properties}) => {\n\t\t\t\tconst {\n\t\t\t\t\ttable,\n\t\t\t\t\tsys_id,\n\t\t\t\t\tparent_table,\n\t\t\t\t\tparent_sys_id,\n\t\t\t\t\tparams,\n\t\t\t\t\tdoNotOpenForUI16\n\t\t\t\t} = payload;\n\t\t\t\tconst query = get(params, 'query', '');\n\n\t\t\t\tconst fields = {\n\t\t\t\t\ttable,\n\t\t\t\t\tsysId: sys_id,\n\t\t\t\t\ttarget: `${table}.do?sys_id=${sys_id}`,\n\t\t\t\t\t...(query && query.length > 0 && {query})\n\t\t\t\t};\n\t\t\t\tconst parent = {\n\t\t\t\t\tfeature: RECORD,\n\t\t\t\t\tfields: {\n\t\t\t\t\t\ttable: parent_table,\n\t\t\t\t\t\tsysId: parent_sys_id\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tif (\n\t\t\t\t\t!(\n\t\t\t\t\t\tdoNotOpenForUI16 && properties?.selectedContent?.route === 'classic'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(GLOBAL_NAVIGATION_REQUESTED, {\n\t\t\t\t\t\tfeature: RECORD,\n\t\t\t\t\t\tfields,\n\t\t\t\t\t\t...(parent_table !== table && parent_sys_id !== sys_id && {parent}),\n\t\t\t\t\t\tfallbackRoute: {\n\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\ttarget: `${table}.do?sys_id=${sys_id}&sysparm_query=${query}`\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}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\tOPENFRAME_CUSTOM_EVENT: {\n\t\t\teffect({action: {payload}, updateState}) {\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'openFrame.customPayload',\n\t\t\t\t\tvalue: {...payload, _timestamp: Date.now()}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {getProperty} from 'sn-uxpage-presource';\nimport {isEmpty, get} from 'lodash';\nimport {MENU_ENTRY_ADDED} from '../menu-modifier-behavior/actions';\nimport {\n\tADD_HISTORY_ENTRY,\n\tHISTORY_UPDATE_REQUESTED,\n\tUPDATE_HISTORY,\n\tPUSHED_NOW_UI_HISTORY,\n\tPUSHED_NOW_UI_HISTORY_FAILURE,\n\tPUSHED_NOW_UI_HISTORY_SUCCESS,\n\tHISTORY_EVENT_FIRED_FROM_MAGELLAN,\n\tHISTORY_COMMUNICATED_TO_SW\n} from './actions';\nimport {\n\tCLASSIC,\n\tPOLARIS_SITE_NAME,\n\tHISTORY_RECORDING,\n\tSYS_PROPS,\n\tMENU_HISTORY,\n\tUSER_PREF_UPDATED,\n\tUSER_PREF_CONTINUE_LANDING_PAGE,\n\tUSER_PREF_HOMEPAGE\n} from '../../constants';\nimport {BEHAVIOR_NAME} from './constants';\nimport globals from '../../components/sn-polaris-layout/utils/globals';\nimport {\n\tcreateAuthedOnlyHttpEffect,\n\tgetBooleanPreferenceValue\n} from '@devsnc/unav-utils';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\n\n/*\n{\n\t\"history\": {\n\t  \"id\": \"41c065da076420105fca5d1aead30051\",\n\t  \"createdString\": \"2020-11-19 22:41:16\",\n\t  \"prettyTitle\": \"Guided Setup\",\n\t  \"timestampOffset\": 1605853576000,\n\t  \"url\": \"/com.glideapp.servicecatalog_category_view.do?v=1&sysparm_parent=fc000d749f10120066dabde8132e7091&sysparm_catalog=0b22fd2ad7021100b9a5c7400e610319&sysparm_catalog_view=catalog_Admin_Home&polaris_legacy=true\",\n\t  \"timestamp\": 1605854476000,\n\t  \"title\": \"Guided Setup\"\n\t}\n  }\n  */\n\nexport const listMetadataMap = {};\n\nconst getTitleAndDescription = ({\n\ttable,\n\texperienceName,\n\tquery,\n\tdesc,\n\troute,\n\tisListTemplatePage\n}) =>\n\tisListTemplatePage\n\t\t? {title: table, description: query}\n\t\t: route?.route === 'record'\n\t\t? {title: desc, description: experienceName}\n\t\t: {title: experienceName, description: desc};\n\nexport const fixEncodedStateInRoute = (\n\troute,\n\turl = window.location.pathname\n) => {\n\tconst encodedStateRegex = /__state__\\/([^/]+)/;\n\tconst match = url.match(encodedStateRegex);\n\tif (!match) return route;\n\treturn {...route, encodedPersistedState: decodeURIComponent(match[1])};\n};\n\nconst decodeHtml = (str) => {\n\treturn str?.replace(/&lt;/g, '<')?.replace(/&gt;/g, '>');\n};\n\nconst adaptMenuItem = (historyItem) => {\n\tconst route = historyItem.route || {\n\t\tparams: {\n\t\t\ttarget: historyItem.url\n\t\t},\n\t\troute: CLASSIC\n\t};\n\n\treturn {\n\t\tcanFavorite: false,\n\t\tcreatedTimestamp: historyItem.timestamp,\n\t\tcreatedTimestampOffset: historyItem.timestampOffset,\n\t\tdescription: decodeHtml(historyItem.description),\n\t\tid: historyItem.id,\n\t\tlabel: historyItem.prettyTitle || historyItem.title,\n\t\troute\n\t};\n};\n\nconst isAllHistoryStrategy = () => {\n\tconst historyRecordingType = getProperty(SYS_PROPS.UI.HISTORY_RECORDING, '');\n\treturn (\n\t\thistoryRecordingType.toLowerCase() === HISTORY_RECORDING.ALL.toLowerCase()\n\t);\n};\n\nconst isEntryHistoryStrategy = () => {\n\tconst historyRecordingType = getProperty(SYS_PROPS.UI.HISTORY_RECORDING, '');\n\treturn (\n\t\thistoryRecordingType.toLowerCase() ===\n\t\t\tHISTORY_RECORDING.ENTRY.toLowerCase() || historyRecordingType === ''\n\t);\n};\n\n// Presence of list id indicates that the page is a list template page\nexport const isListTemplateRoute = (route) =>\n\troute?.route === 'list' || !isEmpty(route?.params?.listId);\n\nexport const isListMissingParams = (route) => {\n\treturn (\n\t\tisEmpty(route?.params?.listId) &&\n\t\tisEmpty(route?.params?.tinyId) &&\n\t\tisEmpty(route?.encodedPersistedState)\n\t);\n};\n\nconst getListParams = (route) => {\n\tconst listId = route?.params?.listId;\n\tconst listParams = listMetadataMap[listId];\n\tif (listParams) {\n\t\treturn listParams;\n\t}\n};\n\nexport const shouldRecordHistory = (\n\troute,\n\tlastPageVisited,\n\tcurrentUrl,\n\tisListTemplatePage,\n\tlistDataFetched\n) => {\n\tif (isListTemplatePage) {\n\t\tif (!listDataFetched) return false;\n\t\tconst listId = route?.params?.listId;\n\t\tconst listParams = listMetadataMap[listId];\n\n\t\tif (isEmpty(listParams) || !listParams.table) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// List template page should have either tinyId or encodedPersistedState\n\t\tif (isListMissingParams(route)) return false;\n\t}\n\n\tif (!isEmpty(route)) {\n\t\tconst isUrlDifferent = lastPageVisited?.url !== currentUrl;\n\n\t\tlet isTitleDifferent = false;\n\n\t\tif (!isUrlDifferent && !route.route === 'list') {\n\t\t\tisTitleDifferent = lastPageVisited?.title !== route?.title;\n\t\t}\n\n\t\treturn isUrlDifferent || isTitleDifferent;\n\t}\n};\n\nconst recordListMetadata = ({payload, selectedContent, dispatch}) => {\n\tconst {listId: listIDSelectedContent} = selectedContent?.params || {};\n\tconst encodedPersistedState = selectedContent?.encodedPersistedState;\n\tconst {tinyUrl, listId, table, query} =\n\t\tpayload?.model?.tinyFields || payload || {};\n\n\tif (listId && table) {\n\t\tlistMetadataMap[listId] = {\n\t\t\ttinyId: tinyUrl,\n\t\t\ttable,\n\t\t\tquery,\n\t\t\tencodedPersistedState\n\t\t};\n\t}\n\n\tif (!listIDSelectedContent || listIDSelectedContent === listId) {\n\t\tdispatch(HISTORY_UPDATE_REQUESTED, {listDataFetched: true});\n\t}\n};\n\nconst dropParams = (url = '', isListTemplatePage) =>\n\tisListTemplatePage ? url : url.replace(/\\/params.*$/i, '');\n\nexport const pushHistory = createAuthedOnlyHttpEffect('/api/now/ui/history', {\n\tmethod: 'POST',\n\tbatch: false,\n\tdataParam: 'historyItem',\n\tsuccessActionType: PUSHED_NOW_UI_HISTORY_SUCCESS,\n\terrorActionType: PUSHED_NOW_UI_HISTORY_FAILURE\n});\n\nconst pushHistorySuccess = (coeffects) => {\n\tconst {action, dispatch} = coeffects;\n\tconst payload = action.payload;\n\tconst {route} = action.meta;\n\tconst historyItem = get(payload, 'result.navigatorHistory', {});\n\tif (historyItem) {\n\t\tdispatch(HISTORY_COMMUNICATED_TO_SW, {\n\t\t\t...historyItem,\n\t\t\troute\n\t\t});\n\t\tdispatch(ADD_HISTORY_ENTRY, {\n\t\t\t...historyItem,\n\t\t\troute\n\t\t});\n\t}\n};\n\nconst pushHistoryFailure = () => {\n\tconsole.error('Error while trying to saving history');\n};\n\nfunction recordHistory({\n\troute,\n\tdispatch,\n\tuserPreferences,\n\tcurrentUrl,\n\ttable,\n\tquery,\n\tisListTemplatePage\n}) {\n\tconst experiencePath = get(route, 'context.path');\n\tif (experiencePath && experiencePath !== POLARIS_SITE_NAME) {\n\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\taction: () => {\n\t\t\t\tdispatch(UPDATE_HISTORY, {\n\t\t\t\t\troute: fixEncodedStateInRoute(route),\n\t\t\t\t\tcurrentUrl,\n\t\t\t\t\ttable,\n\t\t\t\t\tquery,\n\t\t\t\t\tisListTemplatePage\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif (\n\t\t\tgetBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tUSER_PREF_CONTINUE_LANDING_PAGE\n\t\t\t)\n\t\t) {\n\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\tname: USER_PREF_HOMEPAGE,\n\t\t\t\tvalue: isAllHistoryStrategy()\n\t\t\t\t\t? globals.getLocationPathName\n\t\t\t\t\t: experiencePath\n\t\t\t});\n\t\t}\n\t}\n}\n\nexport const historyUpdateRequested = ({\n\tupdateState,\n\tpayload,\n\tselectedContent,\n\tlastPageVisited,\n\tdispatch,\n\tuserPreferences,\n\tlocationPathName\n}) => {\n\tconst route = isEmpty(payload?.route) ? selectedContent : payload.route;\n\tconst isListTemplatePage = isListTemplateRoute(route);\n\tconst listDataFetched = payload?.listDataFetched;\n\tconst currentUrl = dropParams(locationPathName, isListTemplatePage);\n\tif (\n\t\tshouldRecordHistory(\n\t\t\troute,\n\t\t\tlastPageVisited,\n\t\t\tcurrentUrl,\n\t\t\tisListTemplatePage,\n\t\t\tlistDataFetched\n\t\t)\n\t) {\n\t\tconst {table, query} = getListParams(route) || {};\n\t\trecordHistory({\n\t\t\troute,\n\t\t\tdispatch,\n\t\t\tuserPreferences,\n\t\t\tcurrentUrl,\n\t\t\ttable,\n\t\t\tquery,\n\t\t\tisListTemplatePage\n\t\t});\n\n\t\tupdateState({\n\t\t\tpath: 'lastPageVisited',\n\t\t\toperation: 'set',\n\t\t\tvalue: {url: currentUrl, title: route?.title},\n\t\t\tshouldRender: false\n\t\t});\n\t}\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t[PUSHED_NOW_UI_HISTORY]: pushHistory,\n\t\t[PUSHED_NOW_UI_HISTORY_SUCCESS]: pushHistorySuccess,\n\t\t[PUSHED_NOW_UI_HISTORY_FAILURE]: pushHistoryFailure,\n\t\t[ADD_HISTORY_ENTRY]: ({\n\t\t\tdispatch,\n\t\t\taction: {payload},\n\t\t\tproperties: {userPreferences},\n\t\t\tstate: {isMenuStubbed}\n\t\t}) => {\n\t\t\tif (\n\t\t\t\tgetBooleanPreferenceValue(\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\tUSER_PREF_CONTINUE_LANDING_PAGE\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\tname: USER_PREF_HOMEPAGE,\n\t\t\t\t\tvalue: payload.url\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch(MENU_ENTRY_ADDED, {\n\t\t\t\tmenuId: MENU_HISTORY,\n\t\t\t\tentry: adaptMenuItem(payload),\n\t\t\t\taction: 'prepend',\n\t\t\t\t// history menu has own deduping logic\n\t\t\t\tdedupe: false,\n\t\t\t\tisMenuStubbed\n\t\t\t});\n\t\t},\n\t\t['NOW_RECORD_LIST_CONNECTED#DATA_FETCH_SUCCEEDED']: {\n\t\t\teffect({\n\t\t\t\taction: {payload},\n\t\t\t\tdispatch,\n\t\t\t\tstate: {\n\t\t\t\t\tproperties: {selectedContent}\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\trecordListMetadata({selectedContent, dispatch, payload});\n\t\t\t}\n\t\t},\n\t\t['LIST_CTRL#DATA_FETCH_SUCCEEDED']: {\n\t\t\teffect({\n\t\t\t\taction: {payload},\n\t\t\t\tdispatch,\n\t\t\t\tstate: {\n\t\t\t\t\tproperties: {selectedContent}\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\trecordListMetadata({selectedContent, dispatch, payload});\n\t\t\t}\n\t\t},\n\t\t[HISTORY_UPDATE_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tstate: {\n\t\t\t\t\tlastPageVisited,\n\t\t\t\t\tproperties: {selectedContent, userPreferences}\n\t\t\t\t},\n\t\t\t\taction: {payload}\n\t\t\t}) => {\n\t\t\t\tif (\n\t\t\t\t\tisAllHistoryStrategy() ||\n\t\t\t\t\t(isEntryHistoryStrategy() && !payload?.onlyAllEntryRecording)\n\t\t\t\t) {\n\t\t\t\t\tconst locationPathName = globals.getLocationPathName();\n\t\t\t\t\thistoryUpdateRequested({\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\tlastPageVisited,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\tlocationPathName\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[HISTORY_EVENT_FIRED_FROM_MAGELLAN]: ({updateState}) => {\n\t\t\tupdateState({isHistoryEventFired: true});\n\t\t},\n\t\t[UPDATE_HISTORY]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {route, currentUrl, table, query, isListTemplatePage}\n\t\t\t\t},\n\t\t\t\tstate: {pageTitle},\n\t\t\t\tproperties: {userMeta}\n\t\t\t}) => {\n\t\t\t\tif (!get(userMeta, 'isReadOnlyMaintUser', false)) {\n\t\t\t\t\tconst experienceName = get(route, 'context.experienceName');\n\t\t\t\t\tconst experienceRoute = {context: route?.context};\n\t\t\t\t\tconst desc = route?.title || pageTitle?.label || '';\n\t\t\t\t\tconst experiencePath = get(route, 'context.path');\n\n\t\t\t\t\tconst {title, description} = getTitleAndDescription({\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\texperienceName,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tdesc,\n\t\t\t\t\t\tisListTemplatePage,\n\t\t\t\t\t\troute\n\t\t\t\t\t});\n\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tPUSHED_NOW_UI_HISTORY,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thistoryItem: {\n\t\t\t\t\t\t\t\tnavigator_history: {\n\t\t\t\t\t\t\t\t\ttitle: title,\n\t\t\t\t\t\t\t\t\turl: isAllHistoryStrategy() ? currentUrl : experiencePath,\n\t\t\t\t\t\t\t\t\tui_type: 'polaris',\n\t\t\t\t\t\t\t\t\tdescription: isAllHistoryStrategy() ? description : '',\n\t\t\t\t\t\t\t\t\troute: isListTemplatePage ? 'list' : ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\troute: isAllHistoryStrategy() ? route : experienceRoute\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","export default function deepFilter(array, path, fn) {\n\tif (!Array.isArray(array)) array = [array];\n\n\treturn array.reduce((result, obj) => {\n\t\tconst children = deepFilter(obj[path] || [], path, fn);\n\n\t\tif (fn(obj))\n\t\t\tresult.push(\n\t\t\t\tObject.assign({}, obj, obj[path]?.length && {[path]: children})\n\t\t\t);\n\n\t\treturn result;\n\t}, []);\n}\n","export default function deepEach(array, path, fn) {\n\tif (!Array.isArray(array)) array = [array];\n\n\tfor (const object of array) {\n\t\tfn(object);\n\n\t\tif (object[path]) {\n\t\t\tdeepEach(object[path], path, fn);\n\t\t}\n\t}\n}\n","export const MENU_LOADING_BEHAVIOR_NAME = 'MENU_LOADING_BEHAVIOR';\n","import {MENU_LOADING_BEHAVIOR_NAME} from './constants';\n\nexport const MENU_LOADING_BEHAVIOR_STATE_PATH = `behaviors[${MENU_LOADING_BEHAVIOR_NAME}]`;\nexport const LOADER_MENU_STUBBED = 'MENU_LOADING_BEHAVIOR#LOADER_MENU_STUBBED';\nexport const LOADER_MENU_UNSTUBBED =\n\t'MENU_LOADING_BEHAVIOR#LOADER_MENU_UNSTUBBED';\n","import {START_TRACK_TIME} from './actions';\nimport {effectProxy} from '@devsnc/unav-utils';\n\nexport function trackStartTime(effectFn, path) {\n\treturn {\n\t\teffect: effectProxy(effectFn),\n\t\tinterceptors: [\n\t\t\t(context) => {\n\t\t\t\tcontext.coeffects.dispatch(START_TRACK_TIME, {path});\n\t\t\t\treturn context;\n\t\t\t}\n\t\t]\n\t};\n}\n","import {isArray, take, cloneDeep, isEmpty, get} from 'lodash';\nimport {\n\tMENU_ENTRY_ADDED,\n\tMENU_ENTRIES_UPDATED,\n\tMENU_ENTRY_REMOVED,\n\tREPLACE_MENU_SUBITEMS,\n\tMENU_REFRESH_REQUESTED,\n\tMENU_REFRESH_REQUEST_SUCCEEDED,\n\tMANUAL_MENU_REFRESH_REQUESTED,\n\tMENU_HEADERS_UPDATE_REQUESTED,\n\tMENU_LOADED\n} from './actions';\n\nimport deepFind from '../../utils/deepFind';\nimport deepFilter from '../../utils/deepFilter';\nimport deepEach from '../../utils/deepEach';\nimport {\n\teffectProxy,\n\tcreateAuthedOnlyHttpEffect,\n\tgetBooleanProperty,\n\tPREFERENCES\n} from '@devsnc/unav-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport cache from '../../utils/cache';\nimport idbMenuCache from '../../utils/idbMenuCache';\nimport registerLifecycleFn from '../../utils/registerLifecycleFn';\nimport {\n\tINITIAL_EXPERIENCE_PAGE_LOADED,\n\tMENU_FAVORITES,\n\tMETRICS,\n\tSYS_PROPS,\n\tSYSTEM_MENUS,\n\tUSER_PREF_UPDATED\n} from '../../constants';\nimport {HISTORY_UPDATE_REQUESTED} from '../history-behavior/actions';\nimport {\n\tresolveUserSession,\n\tresolvePipelineResult,\n\tgetEarlyEvaluation\n} from '../../components/sn-polaris-layout/utils/resolveUserSession';\nimport getPreferenceValue from '../../utils/getPreferenceValue';\nimport {\n\tLOADER_MENU_STUBBED,\n\tLOADER_MENU_UNSTUBBED\n} from '../menu-loading-behavior/actions';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\nimport {X_FLUSHSTAMP, X_MENU_DATA_CURRENT} from './constants';\nimport {\n\tSTART_TRACK_TIME,\n\tEND_TRACK_TIME\n} from '../performance-metrics-behavior/actions';\nimport {\n\tFETCH_MENU_TIME_PATH,\n\tMENU_RENDER_TIME_PATH\n} from '../performance-metrics-behavior/constants';\nimport {trackStartTime} from '../performance-metrics-behavior/helpers';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY\n} = actionTypes;\n\nexport const getPolarisMenus = createAuthedOnlyHttpEffect(\n\t'/api/now/ui/polaris/menu',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['id'],\n\t\theaderList: [X_FLUSHSTAMP],\n\t\tsuccessActionType: MENU_REFRESH_REQUEST_SUCCEEDED\n\t}\n);\n\nconst isEqualTo = (field) => (value) => (obj) => obj[field] === value;\nconst isEqualToId = isEqualTo('id');\n\nexport function findMenuByPath(menus, path = []) {\n\treturn path.reduce((currMenu, p) => {\n\t\t// since not a fully recursive structure – top level menu is not nested under subItems\n\t\t// but really _is_ subItems – check here\n\t\tconst subItems = isArray(currMenu) ? currMenu : currMenu.subItems;\n\t\treturn subItems.find(isEqualToId(p));\n\t}, menus);\n}\n\nconst prepend = (items = [], entry) => [entry, ...items];\nconst append = (items = [], entry) => [...items, entry];\n\nexport const findDuplicateItem = (menu, id) => {\n\tif (menu.id === id) {\n\t\treturn menu;\n\t} else if (menu.subItems) {\n\t\tfor (let i = 0; i < menu.subItems.length; ++i) {\n\t\t\tconst result = findDuplicateItem(menu.subItems[i], id);\n\t\t\tif (result) return result;\n\t\t}\n\t}\n\treturn null;\n};\n\nexport function addToMenu({\n\tcurrentMenu,\n\taction,\n\tpath,\n\tentry,\n\tcap = Infinity,\n\tdedupe = true,\n\tparent\n}) {\n\t// deep clone to create new reference for everything in tree\n\tconst newMenu = cloneDeep(currentMenu);\n\tconst menu = findMenuByPath(newMenu, path);\n\n\tif (!menu) {\n\t\treturn newMenu;\n\t}\n\n\tif (dedupe) {\n\t\t// Verify the entry does not already exist in the menu before adding a duplicate\n\t\tconst item = findDuplicateItem(menu, entry.id);\n\t\tif (item) {\n\t\t\tObject.assign(item, entry);\n\t\t\treturn newMenu;\n\t\t}\n\t}\n\n\tconst fn = action === 'prepend' ? prepend : append;\n\n\t// This is responsible for adding a menu item as a child of another menu item\n\t// which is needed functionality to add favorites to custom groups upon creation\n\tif (parent) {\n\t\tconst parentItem = findDuplicateItem(menu, parent);\n\t\tif (parentItem) {\n\t\t\tparentItem.subItems = take(fn(parentItem.subItems, entry), cap);\n\t\t\treturn newMenu;\n\t\t}\n\t}\n\n\tmenu.subItems = take(fn(menu.subItems, entry), cap);\n\treturn newMenu;\n}\n\nexport function updateMenuItem({\n\tcurrentMenu,\n\tpaths,\n\tentries,\n\tkey,\n\tvalue,\n\tupdateSubItems = false,\n\tdeepClone = true,\n\tsubItemSkipList = []\n}) {\n\t// deep clone to create new reference for everything in tree\n\tconst newMenu = deepClone ? cloneDeep(currentMenu) : [...currentMenu];\n\tfor (let i = 0; i < entries.length; ++i) {\n\t\tconst menu = findMenuByPath(newMenu, paths[i]);\n\t\tconst menuItem =\n\t\t\tdeepFind(menu, 'subItems', (m) => m.id === entries[i]) || [];\n\n\t\tif (isEmpty(menuItem) || subItemSkipList.find((id) => id === menuItem.id))\n\t\t\tcontinue;\n\t\tmenuItem[key] = value;\n\t\tif (menuItem?.subItems && updateSubItems) {\n\t\t\t// Update all the subItems\n\t\t\tdeepEach(menuItem.subItems, 'subItems', (f) => {\n\t\t\t\tif (f.subItems) return;\n\t\t\t\telse if (subItemSkipList.find((id) => id === f.id)) return;\n\t\t\t\tf[key] = value;\n\t\t\t});\n\t\t}\n\t}\n\treturn newMenu;\n}\n\nexport function removeFromMenu({currentMenu, paths, entries}) {\n\t// deep clone to create new reference for everything in tree\n\tconst newMenu = cloneDeep(currentMenu);\n\tfor (let index = 0; index < entries.length; ++index) {\n\t\tconst menu = findMenuByPath(newMenu, paths[index]);\n\t\tconst filteredMenu =\n\t\t\tdeepFilter(\n\t\t\t\tmenu,\n\t\t\t\t'subItems',\n\t\t\t\t(i) =>\n\t\t\t\t\ti.applicationId !== entries[index].id &&\n\t\t\t\t\ti.moduleId !== entries[index].id &&\n\t\t\t\t\ti.id !== entries[index].id\n\t\t\t)[0] || [];\n\n\t\tmenu.subItems = filteredMenu.subItems;\n\t}\n\treturn newMenu;\n}\n\nexport const replaceMenuSubItems = ({currentMenu, menuId, subItems}) => {\n\tconst newMenu = cloneDeep(currentMenu);\n\tconst menuIndex = newMenu.findIndex(({id}) => menuId === id);\n\tnewMenu[menuIndex].subItems = subItems;\n\n\treturn newMenu;\n};\n\nfunction createFavoritedItemsSet(favorites, favoritedItems) {\n\tif (!favorites) return;\n\tfavoritedItems.add(\n\t\tfavorites.applicationId || favorites.moduleId || favorites.id\n\t);\n\tif (favorites.subItems) {\n\t\tfavorites.subItems.forEach((favSubItem) => {\n\t\t\tcreateFavoritedItemsSet(favSubItem, favoritedItems);\n\t\t});\n\t}\n}\n\nconst flagFavorites = (configurableMenuItems, favoritedItems) => {\n\tif (!configurableMenuItems) return;\n\tconfigurableMenuItems.favorited = favoritedItems.has(\n\t\tconfigurableMenuItems.id\n\t);\n\tif (configurableMenuItems.subItems) {\n\t\tconfigurableMenuItems.subItems.forEach((item) => {\n\t\t\tflagFavorites(item, favoritedItems);\n\t\t});\n\t}\n};\n\nconst flagFavouritesForConfigurableMenus = (headerMenuItems) => {\n\tlet favoritedItemsSet;\n\n\tlet favoritesObject = null;\n\tfor (const menuItem of headerMenuItems) {\n\t\tif (menuItem.id === MENU_FAVORITES) {\n\t\t\tfavoritesObject = menuItem;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\theaderMenuItems.forEach((menuItem) => {\n\t\tif (!SYSTEM_MENUS.has(menuItem.id)) {\n\t\t\tif (!favoritedItemsSet) {\n\t\t\t\tfavoritedItemsSet = new Set();\n\t\t\t\tcreateFavoritedItemsSet(favoritesObject, favoritedItemsSet);\n\t\t\t}\n\t\t\tflagFavorites(menuItem, favoritedItemsSet);\n\t\t}\n\t});\n};\n\nconst updateHeaderMenuItems = (\n\tupdateState,\n\theaderMenuItems,\n\tcallback = () => {}\n) => {\n\tflagFavouritesForConfigurableMenus(headerMenuItems);\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'headerMenuItems',\n\t\t\tvalue: headerMenuItems,\n\t\t\toperation: 'set'\n\t\t},\n\t\t{\n\t\t\tpath: 'isLoadingMenu',\n\t\t\tvalue: false,\n\t\t\toperation: 'set'\n\t\t}\n\t]);\n\n\tconst isMenuFlushstampEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.MENU_CACHED_FLUSHSTAMP_ENABLED,\n\t\ttrue\n\t);\n\n\t// set for a whole day\n\tidbMenuCache.set(\n\t\theaderMenuItems,\n\t\tisMenuFlushstampEnabled ? {ttl: 24 * 60 * 60 * 1000} : undefined\n\t);\n\tcallback();\n};\n\n/**\n *\tAppends extra data item to headerMenuItems data\n *  This extra item tells the menu how to handle the overflow menu item\n *\n * @param {*} menuItems\n */\nconst appendOverflowItem = (menuItems) => {\n\tif (isEmpty(menuItems)) return menuItems;\n\n\t// don't add duplicate overflow\n\tif (menuItems[menuItems.length - 1]?.id === 'nav-overflow') return menuItems;\n\n\tconst overflowMenuItem = {\n\t\tisOverflow: true,\n\t\tid: 'nav-overflow',\n\t\torder: Number.MAX_SAFE_INTEGER,\n\t\tcanFavorite: false,\n\t\ttemplate: 'overflow',\n\t\tsubItems: []\n\t};\n\tmenuItems.push(overflowMenuItem);\n\treturn menuItems;\n};\n\nconst syncPinnedMenuPreference = (\n\tuserSession,\n\tuserPreferences,\n\theaderMenuItems,\n\tmainMenuState,\n\tupdateState,\n\tdispatch\n) => {\n\tif (isEmpty(userPreferences)) {\n\t\tuserSession = resolveUserSession();\n\t\tuserPreferences = get(userSession, ['user', 'preferences']) || [];\n\t}\n\tconst pinnedMenuId = getPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.MAIN_MENU_PINNED_ID\n\t);\n\n\t// only update if current user preference is set & invalid, not if it's falsey\n\tif (\n\t\tpinnedMenuId &&\n\t\tpinnedMenuId != 'null' &&\n\t\t!headerMenuItems.find((item) => item.id === pinnedMenuId)\n\t) {\n\t\tupdateState({\n\t\t\tmainMenuState: {\n\t\t\t\t...mainMenuState,\n\t\t\t\tisMenuPinned: false,\n\t\t\t\tpinnedMenuId: null\n\t\t\t}\n\t\t});\n\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: PREFERENCES.MAIN_MENU_PINNED_ID,\n\t\t\tvalue: 'null'\n\t\t});\n\t}\n};\n\nconst updateMenuHeaderItems = (\n\tmenuHeaders,\n\tupdateState,\n\tdispatch,\n\tstate,\n\tproperties\n) => {\n\tconst {mainMenuState, isMenuStubbed, headerMenuItems} = state;\n\tconst {userPreferences, userSession} = properties;\n\t// Append the overflow menu to the menu items received from the backend\n\tmenuHeaders = appendOverflowItem(menuHeaders);\n\n\tif (!isMenuStubbed) {\n\t\tsyncPinnedMenuPreference(\n\t\t\tuserSession,\n\t\t\tuserPreferences,\n\t\t\tmenuHeaders,\n\t\t\tmainMenuState,\n\t\t\tupdateState,\n\t\t\tdispatch\n\t\t);\n\t}\n\n\tif (!headerMenuItems) {\n\t\tupdateState({\n\t\t\tpath: 'headerMenuItems',\n\t\t\tvalue: menuHeaders,\n\t\t\toperation: 'set'\n\t\t});\n\t}\n\n\tdispatch(MENU_LOADED);\n\n\t// Fetch rest of the menus in the background\n\t// Need to build in cancellation when user triggers their own menu fetch with click\n\n\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\taction: () => {\n\t\t\tdispatch('BACKGROUND_LOAD_MENU');\n\t\t}\n\t});\n};\n\nlet pendingHistory = [];\n\nexport default {\n\tname: 'MENU_MODIFIER_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: async ({\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tstate: {headerMenuItems},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (properties.features.isMenuEnabled) {\n\t\t\t\t\tconst cachedMenu = headerMenuItems || (await idbMenuCache.get());\n\n\t\t\t\t\tif (cachedMenu) {\n\t\t\t\t\t\tupdateHeaderMenuItems(updateState, cachedMenu, () => {\n\t\t\t\t\t\t\tdispatch(HISTORY_UPDATE_REQUESTED);\n\t\t\t\t\t\t\tdispatch(LOADER_MENU_UNSTUBBED);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(MENU_LOADED);\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!getBooleanProperty(\n\t\t\t\t\t\t\t\tSYS_PROPS.UI.MENU_CACHED_FLUSHSTAMP_ENABLED,\n\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet userPreferences = properties.userPreferences;\n\t\t\t\t\tif (isEmpty(userPreferences)) {\n\t\t\t\t\t\tconst userSession = resolveUserSession();\n\t\t\t\t\t\tuserPreferences = get(userSession, ['user', 'preferences']) || [];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t!getBooleanProperty(SYS_PROPS.UI.MENU_LAZY_LOADING_ENABLED, true)\n\t\t\t\t\t) {\n\t\t\t\t\t\tregisterLifecycleFn(() => {\n\t\t\t\t\t\t\t// if disabled, grab the full menu\n\t\t\t\t\t\t\tdispatch(MENU_REFRESH_REQUESTED);\n\t\t\t\t\t\t}, INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst pinnedMenuId = getPreferenceValue(\n\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\tPREFERENCES.MAIN_MENU_PINNED_ID\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (pinnedMenuId && pinnedMenuId != 'null') {\n\t\t\t\t\t\t\tif (cachedMenu) {\n\t\t\t\t\t\t\t\t// If we're pinned but have the data already, just background request the full menu data\n\t\t\t\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\t\t\t\tdispatch('BACKGROUND_LOAD_MENU');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdispatch(MENU_REFRESH_REQUESTED, {id: pinnedMenuId});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdispatch(MENU_HEADERS_UPDATE_REQUESTED);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tisLoadingMenu: !cachedMenu\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDER_REQUESTED]({\n\t\t\taction: {\n\t\t\t\tpayload: {previousRenderState}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tstate\n\t\t}) {\n\t\t\tdispatch(START_TRACK_TIME, {\n\t\t\t\tpath: MENU_RENDER_TIME_PATH\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tpreviousRenderState.isMenuStubbed === true &&\n\t\t\t\tstate.isMenuStubbed === false\n\t\t\t) {\n\t\t\t\t// now that menu is resolved, go through any pending\n\t\t\t\t// history and add those\n\t\t\t\tpendingHistory.forEach((h) =>\n\t\t\t\t\tdispatch(MENU_ENTRY_ADDED, {...h, isMenuStubbed: false})\n\t\t\t\t);\n\t\t\t\tpendingHistory = [];\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {dispatch} = coeffects;\n\n\t\t\t\tdispatch(END_TRACK_TIME, {\n\t\t\t\t\tcoeffects: coeffects,\n\t\t\t\t\tmetric: METRICS.MENU_RENDERED,\n\t\t\t\t\tpath: MENU_RENDER_TIME_PATH\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[MENU_ENTRY_ADDED]: ({\n\t\t\tupdateState,\n\t\t\tstate: {headerMenuItems, isLoadingMenu},\n\t\t\taction: {\n\t\t\t\tpayload,\n\t\t\t\tpayload: {\n\t\t\t\t\tmenuId,\n\t\t\t\t\tentry,\n\t\t\t\t\tcap = Infinity,\n\t\t\t\t\tpath = [],\n\t\t\t\t\taction,\n\t\t\t\t\tdedupe = true,\n\t\t\t\t\tparent,\n\t\t\t\t\tcallback,\n\t\t\t\t\tisMenuStubbed\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\t// What's a good way of adding/removing an entry without\n\t\t\t// just passing in the entire new menu?\n\t\t\t// Each menu could be deeply nested + needs to be able\n\t\t\t// to handle favoriting a group (lvl1) and a subitem (lvl2)\n\t\t\t// maybe just make this SET_MENU_ENTRY rather than ADD,\n\t\t\t// and have utilities to make constructing a new menu with\n\t\t\t// updated items easier. This way each handler can hold its\n\t\t\t// own logic on _how_ to update\n\t\t\t//\n\t\t\t// orrrr, pass a function that takes in menuItems that returns the\n\t\t\t// new menuItem + where to put it. (where-to-put-it) seems like\n\t\t\t// a hard thing to represent... maybe a lodash path?\n\t\t\t//\n\t\t\t// operations\n\t\t\t// set attr `all.subItems[3].subItems[2].favoriteId = ...`\n\t\t\t// replace `all.subItems[3].subItems[2]` ...\n\t\t\t// push `all.subItems[3].subItems` ...\n\t\t\t//\n\t\t\t//\n\t\t\t//\n\t\t\t// (1) find the menu\n\t\t\t// (2) insert entry into (1)\n\t\t\t// (3) update the state\n\n\t\t\tif (isMenuStubbed || isLoadingMenu) {\n\t\t\t\t// If the menu is stubbed and items are still being fetched\n\t\t\t\t// there isn't a history menu to prepend to. Queue them up\n\t\t\t\t// to be handled later when the menu is unstubbed\n\t\t\t\tpendingHistory = [...pendingHistory, payload];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menu = addToMenu({\n\t\t\t\tcurrentMenu: headerMenuItems,\n\t\t\t\tentry,\n\t\t\t\tcap,\n\t\t\t\tpath: [menuId, ...path],\n\t\t\t\taction,\n\t\t\t\tdedupe,\n\t\t\t\tparent\n\t\t\t});\n\n\t\t\tif (callback) {\n\t\t\t\tcallback(menu, entry);\n\t\t\t}\n\n\t\t\tupdateHeaderMenuItems(updateState, menu);\n\t\t},\n\t\t[MENU_ENTRIES_UPDATED]: ({\n\t\t\tupdateState,\n\t\t\tstate: {headerMenuItems},\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tmenuId,\n\t\t\t\t\tentries,\n\t\t\t\t\tpaths,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tupdateSubItems,\n\t\t\t\t\tdeepClone,\n\t\t\t\t\tsubItemSkipList,\n\t\t\t\t\tcallback\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateHeaderMenuItems(\n\t\t\t\tupdateState,\n\t\t\t\tupdateMenuItem({\n\t\t\t\t\tcurrentMenu: headerMenuItems,\n\t\t\t\t\tpaths: (paths || new Array(entries.length).fill([])).map((path) => [\n\t\t\t\t\t\tmenuId,\n\t\t\t\t\t\t...path\n\t\t\t\t\t]),\n\t\t\t\t\tentries,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tupdateSubItems,\n\t\t\t\t\tdeepClone,\n\t\t\t\t\tsubItemSkipList\n\t\t\t\t}),\n\t\t\t\tcallback\n\t\t\t);\n\t\t},\n\t\t[MENU_ENTRY_REMOVED]: ({\n\t\t\tupdateState,\n\t\t\tstate: {headerMenuItems},\n\t\t\taction: {\n\t\t\t\tpayload: {menuId, entries, paths}\n\t\t\t}\n\t\t}) => {\n\t\t\tupdateHeaderMenuItems(\n\t\t\t\tupdateState,\n\t\t\t\tremoveFromMenu({\n\t\t\t\t\tcurrentMenu: headerMenuItems,\n\t\t\t\t\tpaths: (paths || new Array(entries.length).fill([])).map((path) => [\n\t\t\t\t\t\tmenuId,\n\t\t\t\t\t\t...path\n\t\t\t\t\t]),\n\t\t\t\t\tentries\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t[REPLACE_MENU_SUBITEMS]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {menuId, subItems}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tstate: {headerMenuItems}\n\t\t\t}) => {\n\t\t\t\tupdateHeaderMenuItems(\n\t\t\t\t\tupdateState,\n\t\t\t\t\treplaceMenuSubItems({\n\t\t\t\t\t\tcurrentMenu: headerMenuItems,\n\t\t\t\t\t\tmenuId,\n\t\t\t\t\t\tsubItems\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[MENU_REFRESH_REQUESTED]: {\n\t\t\teffect: effectProxy(getPolarisMenus),\n\t\t\tinterceptors: [\n\t\t\t\t(context) => {\n\t\t\t\t\tcontext.coeffects.dispatch(START_TRACK_TIME, {\n\t\t\t\t\t\tpath: FETCH_MENU_TIME_PATH\n\t\t\t\t\t});\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t!getBooleanProperty(\n\t\t\t\t\t\t\tSYS_PROPS.UI.MENU_CACHED_FLUSHSTAMP_ENABLED,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t\treturn context;\n\n\t\t\t\t\t// If we don't have any menu items locally, clear the flushstamp to force menu data to be returned\n\t\t\t\t\tconst flushstamp =\n\t\t\t\t\t\t!isEmpty(context.coeffects.state.headerMenuItems) &&\n\t\t\t\t\t\tidbMenuCache.getFromMemory() &&\n\t\t\t\t\t\tcache.get('flushstamp');\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\tcoeffects: {\n\t\t\t\t\t\t\t...context.coeffects,\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t...context.coeffects.action,\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t...context.coeffects.action.payload,\n\t\t\t\t\t\t\t\t\t[X_FLUSHSTAMP]: flushstamp\n\t\t\t\t\t\t\t\t}\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}\n\t\t\t]\n\t\t},\n\t\t[MANUAL_MENU_REFRESH_REQUESTED]: trackStartTime(\n\t\t\tgetPolarisMenus,\n\t\t\tFETCH_MENU_TIME_PATH\n\t\t),\n\t\t[MENU_REFRESH_REQUEST_SUCCEEDED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tlet {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tdispatch,\n\t\t\t\t\thost,\n\t\t\t\t\tstate: {\n\t\t\t\t\t\theaderMenuItems: oldHeaderMenuItems,\n\t\t\t\t\t\tmainMenuState,\n\t\t\t\t\t\tisMenuStubbed\n\t\t\t\t\t},\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {result: headerMenuItems},\n\t\t\t\t\t\tmeta\n\t\t\t\t\t},\n\t\t\t\t\tproperties: {userPreferences, userSession}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tlet isMenuDataCurrent = false;\n\n\t\t\t\tif (\n\t\t\t\t\tgetBooleanProperty(SYS_PROPS.UI.MENU_CACHED_FLUSHSTAMP_ENABLED, true)\n\t\t\t\t) {\n\t\t\t\t\tconst responseHeaders = meta?.responseHeaders || {};\n\t\t\t\t\tisMenuDataCurrent = responseHeaders[X_MENU_DATA_CURRENT] == 'true';\n\n\t\t\t\t\tif (isMenuDataCurrent) {\n\t\t\t\t\t\theaderMenuItems = idbMenuCache.getFromMemory();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst updatedFlushstamp = responseHeaders['x-flushstamp'];\n\n\t\t\t\t\t\tif (updatedFlushstamp) {\n\t\t\t\t\t\t\tcache.set('flushstamp', updatedFlushstamp, {\n\t\t\t\t\t\t\t\tttl: 24 * 60 * 60 * 1000\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}\n\n\t\t\t\t// Append the overflow menu to the menu items received from the backend\n\t\t\t\theaderMenuItems = appendOverflowItem(headerMenuItems);\n\n\t\t\t\tif (!isMenuStubbed) {\n\t\t\t\t\tsyncPinnedMenuPreference(\n\t\t\t\t\t\tuserSession,\n\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\theaderMenuItems,\n\t\t\t\t\t\tmainMenuState,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (meta?.request?.params?.id && !isMenuDataCurrent) {\n\t\t\t\t\tupdateState({headerMenuItems});\n\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\tdispatch('BACKGROUND_LOAD_MENU');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!isMenuDataCurrent) {\n\t\t\t\t\tupdateHeaderMenuItems(updateState, headerMenuItems, () => {\n\t\t\t\t\t\tif (isEmpty(oldHeaderMenuItems)) {\n\t\t\t\t\t\t\tdispatch(HISTORY_UPDATE_REQUESTED);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdispatch(MENU_LOADED);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst refresh = host.shadowRoot.querySelector('#refresh-menu');\n\t\t\t\tif (refresh) {\n\t\t\t\t\trefresh.classList.add('refreshing');\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\trefresh.classList.remove('refreshing');\n\t\t\t\t\t}, 5000);\n\t\t\t\t}\n\n\t\t\t\tdispatch(END_TRACK_TIME, {\n\t\t\t\t\tcoeffects: coeffects,\n\t\t\t\t\tmetric: METRICS.MENU_FETCHED,\n\t\t\t\t\tpath: FETCH_MENU_TIME_PATH\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[MENU_HEADERS_UPDATE_REQUESTED]: {\n\t\t\teffect: ({updateState, dispatch, state, properties}) => {\n\t\t\t\tlet {menuHeaders} = properties;\n\t\t\t\tif (!menuHeaders) {\n\t\t\t\t\t//Shell data brokers will be sent back asynchronously\n\t\t\t\t\tgetEarlyEvaluation('polaris_app_shell_menu_headers').then(\n\t\t\t\t\t\t(evaluatedDataPipeline) => {\n\t\t\t\t\t\t\tmenuHeaders = resolvePipelineResult(evaluatedDataPipeline);\n\t\t\t\t\t\t\tupdateMenuHeaderItems(\n\t\t\t\t\t\t\t\tmenuHeaders,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tproperties\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} else\n\t\t\t\t\tupdateMenuHeaderItems(\n\t\t\t\t\t\tmenuHeaders,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tproperties\n\t\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tBACKGROUND_LOAD_MENU: {\n\t\t\teffect: ({dispatch, state, updateState}) => {\n\t\t\t\tif (!state.menuFetched) {\n\t\t\t\t\tdispatch(MENU_REFRESH_REQUESTED);\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'menuFetched',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[LOADER_MENU_STUBBED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tisMenuStubbed: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[LOADER_MENU_UNSTUBBED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tstate: {headerMenuItems, mainMenuState},\n\t\t\t\tproperties: {userPreferences, userSession}\n\t\t\t}) => {\n\t\t\t\tsyncPinnedMenuPreference(\n\t\t\t\t\tuserSession,\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\theaderMenuItems,\n\t\t\t\t\tmainMenuState,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tisMenuStubbed: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import {isEmpty} from 'lodash';\nexport default function stripBlacklistedParams(target, blacklist = []) {\n\tblacklist = [...blacklist, 'sysparm_use_polaris'];\n\tconst url = new URL(target, window.location);\n\n\t// strip the blacklisted query params and then return that\n\tblacklist.forEach((i) => url.searchParams.delete(i));\n\turl.searchParams.forEach((value, key) => {\n\t\tif (isEmpty(value)) {\n\t\t\turl.searchParams.delete(key);\n\t\t}\n\t});\n\n\treturn url.href;\n}\n","export const INTERNAL_CONFIRM_CLICKED = 'INTERNAL#CONFIRM_CLICKED';\nexport const INTERNAL_CUSTOM_GROUP_REQUESTED =\n\t'INTERNAL#CUSTOM_GROUP_REQUESTED';\nexport const FAVORITE_EDIT_MODAL_REQUESTED = 'FAVORITE_EDIT_MODAL#REQUESTED';\nexport const FAVORITE_EDIT_MODAL_DISMISSED = 'FAVORITE_EDIT_MODAL#DISMISSED';\nexport const FAVORITE_EDIT_MODAL_CONFIRM_CLICKED =\n\t'FAVORITE_EDIT_MODAL#CONFIRM';\nexport const INTERNAL_CANCEL_REQUESTED = 'INTERNAL#CANCEL_REQUESTED';\nexport const INTERNAL_FINAL_CANCEL_ABORTED = 'INTERNAL#FINAL_CANCEL_ABORTED';\nexport const INTERNAL_SCROLL_TO_NEW_CUSTOM_GROUP =\n\t'INTERNAL#SCROLL_TO_NEW_CUSTOM_GROUP';\nexport const INTERNAL_SCROLL_TO_SELECTED_ITEM =\n\t'INTERNAL#SCROLL_TO_SELECTED_ITEM';\n","import {uniqBy} from 'lodash';\n\nexport default function flattenMenuItems(\n\thead,\n\treturnArray = [],\n\tkey = 'subItems',\n\tparentKey = ['id'],\n\tparent\n) {\n\tif (head) {\n\t\treturnArray.push({parent, ...head});\n\t\thead[key]?.forEach((item) =>\n\t\t\tflattenMenuItems(\n\t\t\t\titem,\n\t\t\t\treturnArray,\n\t\t\t\tkey,\n\t\t\t\tparentKey,\n\t\t\t\thead[parentKey.find((key) => !!head[key])]\n\t\t\t)\n\t\t);\n\t}\n\treturn uniqBy(returnArray, 'id');\n}\n","import {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '@devsnc/unav-utils';\n\nexport const defaultColors = [\n\t'purple',\n\t'blue',\n\t'cyan',\n\t'aquamarine',\n\t'green',\n\t'yellow',\n\t'orange',\n\t'burnt-orange',\n\t'red',\n\t'pink',\n\t'fuschia',\n\t'white'\n];\n\nexport const getColors = (\n\tpropColors = getProperty(SYS_PROPS.UI.NAV_COLORS)\n) => {\n\tlet colors;\n\ttry {\n\t\tcolors = JSON.parse(propColors);\n\t} catch (ex) {\n\t\tcolors = defaultColors;\n\t}\n\treturn colors;\n};\n","import {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '../../../../constants';\n\nexport const defaultIcons = [\n\t'article-document',\n\t'user',\n\t'user-group',\n\t'lightbulb',\n\t'home',\n\t'mobile',\n\t'comment',\n\t'mail',\n\t'locked',\n\t'database',\n\t'book',\n\t'drawer',\n\t'folder',\n\t'catalog',\n\t'tab',\n\t'cards',\n\t'tree-right',\n\t'tree',\n\t'book-open',\n\t'paperclip',\n\t'edit',\n\t'trash',\n\t'image',\n\t'search',\n\t'power',\n\t'cog',\n\t'star',\n\t'star-empty',\n\t'new-ticket',\n\t'dashboard',\n\t'cart-full',\n\t'view',\n\t'label',\n\t'filter',\n\t'calendar',\n\t'script',\n\t'add',\n\t'delete',\n\t'help',\n\t'check-circle',\n\t'alert',\n\t'sort-ascending',\n\t'console',\n\t'list',\n\t'form',\n\t'livefeed',\n\t'key',\n\t'hr'\n];\n\nexport const getIcons = (propIcons = getProperty(SYS_PROPS.UI.NAV_ICONS)) => {\n\tlet icons;\n\ttry {\n\t\ticons = JSON.parse(propIcons);\n\t} catch (ex) {\n\t\ticons = defaultIcons;\n\t}\n\treturn icons;\n};\n","import {BEHAVIOR_NAME} from './constants';\n\nexport const ARIA_LIVE_MESSAGE_ADDED = `${BEHAVIOR_NAME}#MESSAGE_ADDED`;\nexport const ARIA_LIVE_MESSAGE_REMOVED = `${BEHAVIOR_NAME}#MESSAGE_REMOVED`;\n","import {isEmpty, get} from 'lodash';\nimport {isFavoriteGroup} from './isFavoriteGroup';\nimport {SEPARATOR} from '../constants';\n\nexport const mapItemsToFavorites = (subItems, parent = null) => {\n\treturn subItems.map(\n\t\t({\n\t\t\tcolor,\n\t\t\ticon,\n\t\t\tid,\n\t\t\topen,\n\t\t\torder,\n\t\t\tlabel: title,\n\t\t\tsubItems: favorites,\n\t\t\tmoduleId,\n\t\t\tapplicationId,\n\t\t\troute,\n\t\t\tactionType\n\t\t}) => ({\n\t\t\tcolor,\n\t\t\ticon,\n\t\t\tid,\n\t\t\topen,\n\t\t\torder,\n\t\t\ttitle,\n\t\t\tfavorites: isEmpty(favorites)\n\t\t\t\t? []\n\t\t\t\t: mapItemsToFavorites(\n\t\t\t\t\t\tfavorites,\n\t\t\t\t\t\tisFavoriteGroup({moduleId, route, actionType}) ? id : null\n\t\t\t\t  ),\n\t\t\t...(parent\n\t\t\t\t? isFavoriteGroup({moduleId, route, actionType})\n\t\t\t\t\t? {parent_group: parent}\n\t\t\t\t\t: {groupId: parent}\n\t\t\t\t: {}),\n\t\t\t...(isFavoriteGroup({moduleId, route, actionType})\n\t\t\t\t? {applicationId, group: true}\n\t\t\t\t: {module: moduleId, group: false}),\n\t\t\t...(actionType === SEPARATOR ? {separator: true} : {separator: false}),\n\t\t\t...(get(route, 'params.target') ? {url: route.params.target} : {})\n\t\t})\n\t);\n};\n","import track from '../../utils/track';\nimport {validateSearchPage, formatSearchPageTitle} from '../../utils/search';\nimport {\n\tcreateHttpEffect,\n\tgetBooleanPreferenceValue,\n\teffectProxy,\n\tPREFERENCES\n} from '@devsnc/unav-utils';\nimport {\n\tget,\n\tisEmpty,\n\tisFunction,\n\tomitBy,\n\tisEqual,\n\trandom,\n\tuniqBy,\n\tdifferenceWith\n} from 'lodash';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {t} from 'sn-translate';\nimport stripBlacklistedParams from '../../utils/stripBlacklistedParams';\n\nimport {BEHAVIOR_NAME, FAVORITE, FAVORITES} from './constants';\nimport {\n\tFAVORITE_ENTRY_ADDED,\n\tFAVORITE_ENTRY_REMOVED,\n\tFAVORITE_REQUESTED,\n\tFAVORITE_GROUP_REQUESTED,\n\tFAVORITE_DELETE_REQUESTED,\n\tFAVORITE_DELETE_MODULE_REQUESTED,\n\tFAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED,\n\tFAVORITE_DELETE_GROUP_REQUESTED,\n\tFAVORITE_CREATE_SUCCEEDED,\n\tFAVORITE_REMOVE_SUCCEEDED,\n\tFAVORITE_FAILED,\n\tFAVORITE_EDIT_SUCCEEDED,\n\tFAVORITE_UPDATE_ALL_REQUESTED,\n\tFAVORITE_DELETE_MULTIPLE_REQUESTED,\n\tFAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED,\n\tFAVORITE_CHECK_REQUESTED,\n\tFAVORITE_EXPERIENCE_TITLE_STAR_CLICKED,\n\tFAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED,\n\tLAYOUT_ITEM_FAVORITED,\n\tLAYOUT_ITEM_UNFAVORITED,\n\tFAVORITE_POPUP_CLOSED,\n\tFAVORITE_POPUP_INFO_UPDATED,\n\tFAVORITE_POPUP_RENDERED,\n\tFAVORITE_POPUP_DESTROYED,\n\tSYNC_ALL_MENU_AND_TITLE,\n\tSYNC_FAVORITES_COMPLETE,\n\tFAVORITE_DELETE_MODAL_CANCEL_CLICKED,\n\tFAVORITE_DELETE_MODAL_REMOVE_CLICKED\n} from './actions';\nimport {\n\tFAVORITE_EDIT_MODAL_REQUESTED,\n\tFAVORITE_EDIT_MODAL_DISMISSED,\n\tFAVORITE_EDIT_MODAL_CONFIRM_CLICKED\n} from '../../components/sn-polaris-layout/favorite-edit-modal/actions';\nimport {\n\tMENU_ENTRY_ADDED,\n\tMENU_ENTRIES_UPDATED,\n\tMENU_ENTRY_REMOVED,\n\tREPLACE_MENU_SUBITEMS\n} from '../menu-modifier-behavior/actions';\nimport {\n\tCLASSIC,\n\tSYS_PROPS,\n\tMETRICS,\n\tSEPARATOR,\n\tCONTEXTUAL_MENU_TITLE,\n\tSCRIPT,\n\tMENU_ALL,\n\tMENU_FAVORITES,\n\tREFLOW_BREAKPOINTS,\n\tMENU_ADMIN\n} from '../../constants';\nimport flattenMenuItems from '../../utils/flattenMenuItems';\nimport {getColors} from '../../components/sn-polaris-layout/fragments/color-picker/color-picker.utils';\nimport {getIcons} from '../../components/sn-polaris-layout/fragments/icon-picker/icon-picker.utils';\nimport {ARIA_LIVE_MESSAGE_ADDED} from '../aria-live-messages-behavior/actions';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\nimport {mapItemsToFavorites} from '../../utils/mapItemsToFavorites';\nimport {\n\tisFavoriteGroup,\n\tisCustomFavoriteGroup\n} from '../../utils/isFavoriteGroup';\nimport {PRE_SHORTCUT_CLEANUP_SUCCEEDED} from '../../components/sn-polaris-layout/actions';\nimport {END_TRACK_TIME} from '../performance-metrics-behavior/actions';\nimport {CREATE_FAVORITE_TIME_PATH} from '../performance-metrics-behavior/constants';\nimport {trackStartTime} from '../performance-metrics-behavior/helpers';\nimport {fixEncodedStateInRoute} from '../history-behavior';\n\nlet blacklist, colors, icons;\ntry {\n\tblacklist =\n\t\tJSON.parse(getProperty(SYS_PROPS.UI.NAV_FAVORITE_URL_PARAM_BLACKLIST)) ||\n\t\t[];\n\tcolors = JSON.parse(getProperty(SYS_PROPS.UI.NAV_COLORS));\n\ticons = JSON.parse(getProperty(SYS_PROPS.UI.NAV_ICONS));\n} catch {\n\tblacklist = [];\n\tcolors = ['purple'];\n\ticons = ['list'];\n}\n\n// Creates a favorite label for a module favorite similar to that created prior\n// to the popup\nconst createAllMenuLabel = (item, parentMenuItem) => {\n\tif (parentMenuItem && parentMenuItem.label !== item.label) {\n\t\treturn `${parentMenuItem.label} - ${item.label}`;\n\t}\n\treturn item.label;\n};\n\nexport const areSimilarClassicUrls = (\n\turl1,\n\turl2,\n\tcustomDenyList = blacklist\n) => {\n\tif (!url1 || !url2) return false;\n\tconst cleanUrl1 = new URL(\n\t\tstripBlacklistedParams(url1.replace(/^\\//g, ''), customDenyList)\n\t);\n\tconst cleanUrl2 = new URL(\n\t\tstripBlacklistedParams(url2.replace(/^\\//g, ''), customDenyList)\n\t);\n\tconst searchParams1 = Object.fromEntries(cleanUrl1.searchParams);\n\tconst searchParams2 = Object.fromEntries(cleanUrl2.searchParams);\n\treturn (\n\t\tcleanUrl1.hostname === cleanUrl2.hostname &&\n\t\tcleanUrl1.pathname === cleanUrl2.pathname &&\n\t\tisEqual(searchParams1, searchParams2)\n\t);\n};\n\nconst areSimilarRouteObjects = (route1, route2) => {\n\tif (isEmpty(route1) || isEmpty(route2)) return false;\n\n\tconst isSameContext =\n\t\t(isEmpty(route1.context) && isEmpty(route2.context)) ||\n\t\tisEqual(get(route1, 'context', {}), get(route2, 'context', {}));\n\n\tconst isSameFields =\n\t\t(isEmpty(route1.fields) && isEmpty(route2.fields)) ||\n\t\tisEqual(\n\t\t\tomitBy(get(route1, 'fields', {}), isEmpty),\n\t\t\tomitBy(get(route2, 'fields', {}), isEmpty)\n\t\t);\n\n\tconst isSameParams =\n\t\t(isEmpty(route1.params) && isEmpty(route2.params)) ||\n\t\tisEqual(\n\t\t\tomitBy(get(route1, 'params', {}), isEmpty),\n\t\t\tomitBy(get(route2, 'params', {}), isEmpty)\n\t\t);\n\n\tconst isSameRoute =\n\t\t(isEmpty(route1.route) && isEmpty(route2.route)) ||\n\t\tisEqual(get(route1, 'route', ''), get(route2, 'route', ''));\n\n\tconst isSameEncodedPersistedState =\n\t\t(isEmpty(route1.encodedPersistedState) &&\n\t\t\tisEmpty(route2.encodedPersistedState)) ||\n\t\tisEqual(\n\t\t\tget(route1, 'encodedPersistedState', ''),\n\t\t\tget(route2, 'encodedPersistedState', '')\n\t\t);\n\n\treturn (\n\t\tisSameContext &&\n\t\tisSameFields &&\n\t\tisSameParams &&\n\t\tisSameRoute &&\n\t\tisSameEncodedPersistedState\n\t);\n};\n\n/**\n * Construct messages for aria-live region\n * Removed a single app favorite:\n * \tRemoved <app label> and <num_sub_items> children from favorites\n * Removed a single module favorite (no children):\n * Removed <module label> from favorites\n * Removed <num of apps + > from favorites\n */\nconst dispatchAriaLiveMessage = (removedFavorites, dispatch) => {\n\tif (isEmpty(removedFavorites)) return;\n\n\tconst favoritesRemoved = new Set();\n\tconst childrenRemoved = new Set();\n\n\tremovedFavorites.forEach((favorite) => {\n\t\tconst [parent, ...children] = flattenMenuItems(\n\t\t\tfavorite.favorite || favorite\n\t\t);\n\t\tif (!isEmpty(children)) {\n\t\t\tchildren.forEach((c) => childrenRemoved.add(c));\n\t\t}\n\n\t\t// sometimes removedFavorites will contain the app removed and its subitems as a single list\n\t\tif (!childrenRemoved.has(parent)) favoritesRemoved.add(parent);\n\t});\n\n\tconst getFavoriteLabel = (f) => f.label ?? f.favorite.label;\n\n\t// build aria-live message\n\tlet message = '';\n\n\t// a single app removed (children items implicitly removed too)\n\tif (favoritesRemoved.size === 1 && childrenRemoved.size > 0)\n\t\tmessage = t(\n\t\t\t'Removed {0} and {1} sub items from favorites',\n\t\t\tgetFavoriteLabel(removedFavorites[0]),\n\t\t\tchildrenRemoved.size\n\t\t);\n\t// a single module removed\n\telse if (favoritesRemoved.size === 1 && childrenRemoved.size === 0)\n\t\tmessage = t(\n\t\t\t'Removed {0} from favorites',\n\t\t\tgetFavoriteLabel(removedFavorites[0])\n\t\t);\n\t// multiple single modules removed\n\telse if (favoritesRemoved.size > 1 && childrenRemoved.size === 0)\n\t\tmessage = t('Removed {0} items from favorites', favoritesRemoved.size);\n\t// multiple apps removed (also includes mix of apps and single modules)\n\telse if (favoritesRemoved.size > 1 && childrenRemoved.size > 0)\n\t\tmessage = t(\n\t\t\t'Removed {0} items and {1} sub items from favorites',\n\t\t\tfavoritesRemoved.size,\n\t\t\tchildrenRemoved.size\n\t\t);\n\n\tif (message) dispatch(ARIA_LIVE_MESSAGE_ADDED, {message});\n};\n\nexport const getRoute = (\n\tselectedContent,\n\turl = '',\n\tcurrentPage,\n\ttype,\n\twindowName\n) => {\n\tconst trimmedUrl = url.trim();\n\tconst normalizedSelectedContent = fixEncodedStateInRoute(\n\t\tselectedContent,\n\t\ttrimmedUrl\n\t);\n\t// Classic route object\n\tif (selectedContent?.route === CLASSIC || !currentPage) {\n\t\t// External link has been favorited\n\t\tif (windowName) {\n\t\t\treturn {route: {external: {url: trimmedUrl, target: windowName}}};\n\t\t}\n\t\t// Script type module has been favorited\n\t\telse if (type === 'NOT_FOUND' && trimmedUrl.indexOf('javascript') === 0) {\n\t\t\treturn {actionType: SCRIPT, command: trimmedUrl};\n\t\t}\n\t\t// regular navigation module has been favorited\n\t\telse {\n\t\t\treturn {route: {params: {target: url}, route: CLASSIC}};\n\t\t}\n\t}\n\t// Workspaces route object\n\telse {\n\t\treturn {\n\t\t\troute: {\n\t\t\t\tcontext: selectedContent.context,\n\t\t\t\troute: selectedContent.route,\n\t\t\t\tfields: selectedContent.fields || {},\n\t\t\t\tparams: omitBy(selectedContent.params, isEmpty),\n\t\t\t\tencodedPersistedState: normalizedSelectedContent.encodedPersistedState\n\t\t\t}\n\t\t};\n\t}\n};\n\nconst resetFavoriteDeletePayload = ({updateState}) => {\n\tupdateState({\n\t\tfavoriteDeletePayload: null\n\t});\n};\n\nconst addNestedItems = (item, itemArray) => {\n\titemArray.push(item);\n\titem?.subItems?.forEach((subItem) => {\n\t\taddNestedItems(subItem, itemArray);\n\t});\n};\n\nconst createFavoriteByUrl = createHttpEffect('/api/now/ui/favorite', {\n\tmethod: 'POST',\n\tdataParam: FAVORITE,\n\tbatch: false,\n\tsuccessActionType: FAVORITE_CREATE_SUCCEEDED,\n\terrorActionType: FAVORITE_FAILED\n});\n\nexport const updateAllFavorites = createHttpEffect(\n\t'/api/now/ui/favorite/multiple',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: FAVORITES,\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_EDIT_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nexport const deleteMultipleFavoritesById = createHttpEffect(\n\t'/api/now/ui/favorite/multiple',\n\t{\n\t\tmethod: 'DELETE',\n\t\tqueryParams: ['ids', 'groups'],\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_REMOVE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nconst deleteMultipleFavoritesByModuleId = createHttpEffect(\n\t'/api/now/ui/favorite/modules',\n\t{\n\t\tmethod: 'DELETE',\n\t\tqueryParams: ['ids'],\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_REMOVE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nexport const createFavoriteById = createHttpEffect(\n\t'/api/now/ui/favorite/module',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: FAVORITE,\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_CREATE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nexport const createFavoriteByGroup = createHttpEffect(\n\t'/api/now/ui/favorite/application',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: FAVORITE,\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_CREATE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nexport const deleteFavoriteById = createHttpEffect('/api/now/ui/favorite', {\n\tmethod: 'DELETE',\n\tqueryParams: ['id', 'group'],\n\tbatch: false,\n\tsuccessActionType: FAVORITE_REMOVE_SUCCEEDED,\n\terrorActionType: FAVORITE_FAILED\n});\n\nexport const deleteFavoriteByModule = createHttpEffect(\n\t'/api/now/ui/favorite/module',\n\t{\n\t\tmethod: 'DELETE',\n\t\tqueryParams: ['id'],\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_REMOVE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nexport const deleteFavoriteByApplication = createHttpEffect(\n\t'/api/now/ui/favorite/application',\n\t{\n\t\tmethod: 'DELETE',\n\t\tqueryParams: ['id'],\n\t\tbatch: false,\n\t\tsuccessActionType: FAVORITE_REMOVE_SUCCEEDED,\n\t\terrorActionType: FAVORITE_FAILED\n\t}\n);\n\nconst getFavorite = (\n\tfavoriteResponse,\n\tdispatch,\n\tselectedContent,\n\tcurrentPage\n) => {\n\tconst favorite = {\n\t\tid: favoriteResponse.id,\n\t\tlabel: favoriteResponse.title,\n\t\ticon: favoriteResponse.icon,\n\t\topen: favoriteResponse.open,\n\t\tcolor: favoriteResponse.color,\n\t\t...(favoriteResponse.separator ? {actionType: SEPARATOR} : {}),\n\t\t...(isEmpty(favoriteResponse.url)\n\t\t\t? {}\n\t\t\t: getRoute(\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tfavoriteResponse.url,\n\t\t\t\t\tcurrentPage,\n\t\t\t\t\tfavoriteResponse.type,\n\t\t\t\t\tfavoriteResponse.windowName\n\t\t\t  )),\n\t\t...(isEmpty(favoriteResponse.applicationId)\n\t\t\t? {}\n\t\t\t: {applicationId: favoriteResponse.applicationId}),\n\t\t...(isEmpty(favoriteResponse.module)\n\t\t\t? {}\n\t\t\t: {moduleId: favoriteResponse.module})\n\t};\n\n\tif (!favoriteResponse.group) return favorite;\n\n\tconst subItems = [];\n\tfavoriteResponse.favorites.forEach((f) => {\n\t\tif (f.separator) {\n\t\t\tconst separator = getFavorite(f, dispatch);\n\t\t\tseparator.subItems = [];\n\t\t\tif (separator.label) {\n\t\t\t\tf.favorites?.forEach((item) =>\n\t\t\t\t\tseparator.subItems.push(getFavorite(item, dispatch))\n\t\t\t\t);\n\t\t\t\tsubItems.push(separator);\n\t\t\t} else {\n\t\t\t\tsubItems.push(separator);\n\t\t\t\tf.favorites?.forEach((item) =>\n\t\t\t\t\tsubItems.push(getFavorite(item, dispatch))\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tsubItems.push(getFavorite(f, dispatch));\n\t\t}\n\t});\n\n\tfavorite.subItems = subItems;\n\treturn favorite;\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tselectedContentFavorite: null,\n\t\tfavoriteDeletePayload: null,\n\t\tfavoritePopupPayload: null,\n\t\tpopupRef: null,\n\t\tswitchingPopupPosition: false,\n\t\ttempFavoriteStarFill: false,\n\t\tisSyncingFavorites: false\n\t},\n\tactionHandlers: {\n\t\t[FAVORITE_ENTRY_ADDED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tstate: {selectedContentFavorite},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tfavoriteResponse,\n\t\t\t\t\t\tupdateSelectedContentFavorite,\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\tcurrentPage,\n\t\t\t\t\t\topenModal\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\tlet addCallback;\n\t\t\tconst menuItem = favoriteResponse.group\n\t\t\t\t? favoriteResponse.applicationId\n\t\t\t\t: favoriteResponse.module;\n\n\t\t\t// we need to add favorites to the favorite menu after we have updated the all\n\t\t\t// menu successfully. This is because the calls to MENU_ENTRY_ADDED and MENU_ENTRY_UPDATED\n\t\t\t// get in a race condition where one of them updates the ALL menu and the other updates the\n\t\t\t// FAVORITES menu, but they do not wait for each other's updates so one change gets overwritten.\n\t\t\t// With the callback, we guarantee that both updates occur correctly.\n\t\t\tconst updateCallback = () => {\n\t\t\t\tconst entry = getFavorite(\n\t\t\t\t\tfavoriteResponse,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tcurrentPage\n\t\t\t\t);\n\n\t\t\t\tif (openModal) {\n\t\t\t\t\taddCallback = (menu, entry) =>\n\t\t\t\t\t\tdispatch(FAVORITE_EDIT_MODAL_REQUESTED, {\n\t\t\t\t\t\t\tmenu: menu.find(({id}) => id === MENU_FAVORITES),\n\t\t\t\t\t\t\tentryId: entry.id\n\t\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// adding the favorite menu item in the favorite menu\n\t\t\t\tdispatch(MENU_ENTRY_ADDED, {\n\t\t\t\t\tentry,\n\t\t\t\t\tmenuId: MENU_FAVORITES,\n\t\t\t\t\taction: 'append',\n\t\t\t\t\tparent: favoriteResponse.groupId || favoriteResponse.parentGroup,\n\t\t\t\t\tcallback: addCallback\n\t\t\t\t});\n\t\t\t};\n\n\t\t\t// adding the star in the all menu if the item exists in the all menu\n\t\t\tif (menuItem) {\n\t\t\t\t// Update ALL menu\n\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\tentries: [menuItem],\n\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\tcallback: updateCallback\n\t\t\t\t});\n\t\t\t\t// Update ADMIN menu\n\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\tentries: [menuItem],\n\t\t\t\t\tmenuId: MENU_ADMIN, // Make sure MENU_ADMIN is imported from your constants\n\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\tcallback: updateCallback\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateCallback();\n\t\t\t}\n\n\t\t\t// this is if we are favoriting from the star in experience title or context menu\n\t\t\tif (updateSelectedContentFavorite) {\n\t\t\t\tupdateState({\n\t\t\t\t\tselectedContentFavorite: getFavorite(favoriteResponse),\n\t\t\t\t\ttempFavoriteStarFill: false\n\t\t\t\t});\n\t\t\t\t// this is when we favorite from the all menu and we need to find out if we should star the current page\n\t\t\t} else if (!selectedContentFavorite) {\n\t\t\t\tlet addSelectedContentFavorite;\n\n\t\t\t\t// if the favorited item is a group/application, we flatten the response and try to find a similar url\n\t\t\t\t// to the current url you are on\n\t\t\t\tif (favoriteResponse.group) {\n\t\t\t\t\taddSelectedContentFavorite = (\n\t\t\t\t\t\tflattenMenuItems(favoriteResponse, [], FAVORITES) || [\n\t\t\t\t\t\t\tfavoriteResponse\n\t\t\t\t\t\t]\n\t\t\t\t\t).find(({url}) =>\n\t\t\t\t\t\tareSimilarClassicUrls(url, selectedContent?.params?.target)\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t// if its just a module, then we find out if the module is the same as the current page user is on,\n\t\t\t\t\t// if it is similar to current page then we set the variable to the favorite response\n\t\t\t\t\tconst similarClassicUrls = areSimilarClassicUrls(\n\t\t\t\t\t\tfavoriteResponse.url,\n\t\t\t\t\t\tselectedContent?.params?.target\n\t\t\t\t\t);\n\t\t\t\t\tif (similarClassicUrls) {\n\t\t\t\t\t\taddSelectedContentFavorite = favoriteResponse;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (addSelectedContentFavorite) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tselectedContentFavorite: getFavorite(addSelectedContentFavorite)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// When a VTB or Knowledge article is favorited we need them to add their star\n\t\t\tconst iframe = getCoreUiIframe(host);\n\n\t\t\tif (iframe) {\n\t\t\t\tif (window.CustomEvent.fireToWindow)\n\t\t\t\t\twindow.CustomEvent.fireToWindow(\n\t\t\t\t\t\tiframe.contentWindow,\n\t\t\t\t\t\t'magellanNavigator:favoriteSaved',\n\t\t\t\t\t\tfavoriteResponse\n\t\t\t\t\t);\n\t\t\t}\n\n\t\t\tdispatch(END_TRACK_TIME, {\n\t\t\t\tcoeffects: coeffects,\n\t\t\t\tmetric: METRICS.FAVORITE_CREATED,\n\t\t\t\tpath: CREATE_FAVORITE_TIME_PATH\n\t\t\t});\n\t\t},\n\t\t[FAVORITE_ENTRY_REMOVED]: ({\n\t\t\thost,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate: {selectedContentFavorite},\n\t\t\taction: {\n\t\t\t\tpayload: {removedFavorites, fromExperienceTitle, menuItemUpdateSkipList}\n\t\t\t}\n\t\t}) => {\n\t\t\tconst entries = removedFavorites?.map(\n\t\t\t\t(favorite) => favorite.moduleId || favorite.applicationId || favorite.id\n\t\t\t);\n\n\t\t\t// updating the all menu items by removing the stars\n\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\tentries,\n\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\tkey: 'favorited',\n\t\t\t\tvalue: false,\n\t\t\t\tupdateSubItems: true,\n\t\t\t\tsubItemSkipList: menuItemUpdateSkipList\n\t\t\t});\n\n\t\t\t// updating the all menu items by removing the stars\n\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\tentries,\n\t\t\t\tmenuId: MENU_ADMIN,\n\t\t\t\tkey: 'favorited',\n\t\t\t\tvalue: false,\n\t\t\t\tupdateSubItems: true,\n\t\t\t\tsubItemSkipList: menuItemUpdateSkipList\n\t\t\t});\n\n\t\t\t// removing the favorite items from the favorite menu\n\t\t\tdispatch(MENU_ENTRY_REMOVED, {\n\t\t\t\tentries: removedFavorites,\n\t\t\t\tmenuId: MENU_FAVORITES\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\t!menuItemUpdateSkipList?.find(\n\t\t\t\t\t(id) => id === selectedContentFavorite?.moduleId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// finding out if we need to remove the star from experience title depending on what\n\t\t\t\t// favorites have been removed\n\t\t\t\tconst removeSelectedContentFavorite = flattenMenuItems({\n\t\t\t\t\tsubItems: removedFavorites\n\t\t\t\t}).find(\n\t\t\t\t\t({id, moduleId}) =>\n\t\t\t\t\t\tid &&\n\t\t\t\t\t\t(id === selectedContentFavorite?.id ||\n\t\t\t\t\t\t\tid === selectedContentFavorite?.moduleId ||\n\t\t\t\t\t\t\t(moduleId && moduleId === selectedContentFavorite?.moduleId))\n\t\t\t\t);\n\n\t\t\t\t//updating experience title star if we are removing from the experience title\n\t\t\t\t// or if the current page matches a favorite item that was removed\n\t\t\t\tif (fromExperienceTitle || removeSelectedContentFavorite) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tselectedContentFavorite: null\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// When a VTB or Knowledge article is unfavorited we need them to remove their star\n\t\t\t\tconst iframe = getCoreUiIframe(host);\n\n\t\t\t\tif (iframe) {\n\t\t\t\t\tif (window.CustomEvent.fireToWindow)\n\t\t\t\t\t\twindow.CustomEvent.fireToWindow(\n\t\t\t\t\t\t\tiframe.contentWindow,\n\t\t\t\t\t\t\t'magellanNavigator:favoriteRemoved',\n\t\t\t\t\t\t\tselectedContentFavorite.id\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[FAVORITE_REQUESTED]: trackStartTime(\n\t\t\tcreateFavoriteById,\n\t\t\tCREATE_FAVORITE_TIME_PATH\n\t\t),\n\t\t[FAVORITE_GROUP_REQUESTED]: trackStartTime(\n\t\t\tcreateFavoriteByGroup,\n\t\t\tCREATE_FAVORITE_TIME_PATH\n\t\t),\n\t\t[FAVORITE_DELETE_REQUESTED]: effectProxy(deleteFavoriteById),\n\t\t[FAVORITE_DELETE_MULTIPLE_REQUESTED]: effectProxy(\n\t\t\tdeleteMultipleFavoritesById\n\t\t),\n\t\t[FAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED]: deleteMultipleFavoritesByModuleId,\n\t\t[FAVORITE_DELETE_MODULE_REQUESTED]: effectProxy(deleteFavoriteByModule),\n\t\t[FAVORITE_DELETE_GROUP_REQUESTED]: effectProxy(deleteFavoriteByApplication),\n\t\t[FAVORITE_UPDATE_ALL_REQUESTED]: effectProxy(updateAllFavorites),\n\t\t[FAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED]: trackStartTime(\n\t\t\tcreateFavoriteByUrl,\n\t\t\tCREATE_FAVORITE_TIME_PATH\n\t\t),\n\t\t[FAVORITE_CREATE_SUCCEEDED]: ({\n\t\t\tdispatch,\n\t\t\tstate: {favoritePopupPayload, switchingPopupPosition},\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload,\n\t\t\t\tmeta: {\n\t\t\t\t\tresultType,\n\t\t\t\t\tupdateSelectedContentFavorite,\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tcurrentPage,\n\t\t\t\t\topenModal\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\t// if user is switching popups by clicking one star then clicking another star\n\t\t\t// while the popup is open for the initial star, we should not remove the favoritePopupPayload\n\t\t\t// as it has changed to hold the new data and has a new location.\n\t\t\tif (switchingPopupPosition) {\n\t\t\t\tupdateState({\n\t\t\t\t\tswitchingPopupPosition: false\n\t\t\t\t});\n\t\t\t\t// we close the popup after we confirm that the user has created the favorite successfully\n\t\t\t\t// and get rid of the metadata\n\t\t\t} else if (!isEmpty(favoritePopupPayload)) {\n\t\t\t\tupdateState({\n\t\t\t\t\tfavoritePopupPayload: null\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdispatch(FAVORITE_ENTRY_ADDED, {\n\t\t\t\tfavoriteResponse: get(payload, resultType),\n\t\t\t\tupdateSelectedContentFavorite,\n\t\t\t\tselectedContent,\n\t\t\t\tcurrentPage,\n\t\t\t\topenModal\n\t\t\t});\n\t\t},\n\t\t[FAVORITE_REMOVE_SUCCEEDED]: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tmeta: {\n\t\t\t\t\tskipUpdate,\n\t\t\t\t\tskipAriaLive,\n\t\t\t\t\tremovedFavorites,\n\t\t\t\t\tcallback,\n\t\t\t\t\tfromExperienceTitle,\n\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\t// sometimes, we know that this isnt the last request to go through, in that\n\t\t\t// case we should skip the update as another request will take care of it.\n\t\t\tif (!skipUpdate) {\n\t\t\t\tdispatch(FAVORITE_ENTRY_REMOVED, {\n\t\t\t\t\tremovedFavorites,\n\t\t\t\t\tfromExperienceTitle,\n\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (isFunction(callback)) {\n\t\t\t\tcallback();\n\t\t\t}\n\n\t\t\tif (!skipAriaLive) {\n\t\t\t\tdispatchAriaLiveMessage(removedFavorites, dispatch);\n\t\t\t}\n\t\t},\n\t\t[FAVORITE_EDIT_MODAL_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {menu, entryId}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tfavoriteModalProps: {\n\t\t\t\t\t\tmenu,\n\t\t\t\t\t\tcolors: getColors(),\n\t\t\t\t\t\ticons: getIcons(),\n\t\t\t\t\t\tentryId\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_EDIT_MODAL_DISMISSED]: {\n\t\t\teffect: ({updateState, dispatch, state: {requestToCloseModals}}) => {\n\t\t\t\tif (!isEmpty(requestToCloseModals)) {\n\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_SUCCEEDED, requestToCloseModals);\n\t\t\t\t\tupdateState({requestToCloseModals: null});\n\t\t\t\t}\n\t\t\t\tupdateState({\n\t\t\t\t\tfavoriteModalProps: null\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_EDIT_MODAL_CONFIRM_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tmenuItems: subItems,\n\t\t\t\t\t\tremovedFavorites,\n\t\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tdispatch(FAVORITE_EDIT_MODAL_DISMISSED);\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tFAVORITE_UPDATE_ALL_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfavorites: {favorites: mapItemsToFavorites(subItems)}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tremovedFavorites,\n\t\t\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tif (isEmpty(removedFavorites)) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tFAVORITE_DELETE_MULTIPLE_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tids: removedFavorites.map(({id}) => id).join(','),\n\t\t\t\t\t\t\tgroups: removedFavorites.map(({group}) => group).join(',')\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tremovedFavorites,\n\t\t\t\t\t\t\tskipUpdate: true,\n\t\t\t\t\t\t\tcallback\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_EDIT_SUCCEEDED]: ({\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate: {selectedContentFavorite},\n\t\t\tproperties: {selectedContent},\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tresult: {list}\n\t\t\t\t},\n\t\t\t\tmeta: {removedFavorites, menuItemUpdateSkipList}\n\t\t\t}\n\t\t}) => {\n\t\t\tdispatch(REPLACE_MENU_SUBITEMS, {\n\t\t\t\tmenuId: MENU_FAVORITES,\n\t\t\t\tsubItems: list.map((item) =>\n\t\t\t\t\tgetFavorite(item, dispatch, selectedContent)\n\t\t\t\t)\n\t\t\t});\n\n\t\t\t// if some entries are removed from the favorite editing modal\n\t\t\tif (!isEmpty(removedFavorites)) {\n\t\t\t\tconst allMenuRemovedFavorites = removedFavorites\n\t\t\t\t\t.filter(({allId}) => allId)\n\t\t\t\t\t.map(({allId}) => allId);\n\t\t\t\tconst adminMenuRemovedFavorites = removedFavorites\n\t\t\t\t\t.filter(({adminId}) => adminId)\n\t\t\t\t\t.map(({adminId}) => adminId);\n\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\tentries: allMenuRemovedFavorites,\n\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\tsubItemSkipList: menuItemUpdateSkipList\n\t\t\t\t});\n\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\tentries: adminMenuRemovedFavorites,\n\t\t\t\t\tmenuId: MENU_ADMIN,\n\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\tsubItemSkipList: menuItemUpdateSkipList\n\t\t\t\t});\n\n\t\t\t\tif (\n\t\t\t\t\t!menuItemUpdateSkipList.find(\n\t\t\t\t\t\t(id) => id === selectedContentFavorite?.moduleId\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\t// if an item we removed is a page that we are currently on, we need to remove the star\n\t\t\t\t\t// from the experience title\n\t\t\t\t\tconst removeSelectedContentFavorite = removedFavorites.find(\n\t\t\t\t\t\t({favorite}) => {\n\t\t\t\t\t\t\treturn flattenMenuItems(favorite)?.find(\n\t\t\t\t\t\t\t\t({id, moduleId}) =>\n\t\t\t\t\t\t\t\t\tid === selectedContentFavorite?.id ||\n\t\t\t\t\t\t\t\t\t(moduleId && moduleId === selectedContentFavorite?.moduleId)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\tif (removeSelectedContentFavorite) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tselectedContentFavorite: null\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[FAVORITE_CHECK_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate: {selectedContentFavorite: oldSelectedContentFavorite},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {value, favoriteList}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tlet selectedContentFavorite;\n\t\t\t\tconst flatFavorites = flattenMenuItems(favoriteList[0]);\n\t\t\t\tif (value?.route === CLASSIC) {\n\t\t\t\t\tselectedContentFavorite = flatFavorites.find(({route}) =>\n\t\t\t\t\t\tareSimilarClassicUrls(route?.params?.target, value?.params?.target)\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tselectedContentFavorite = flatFavorites.find(({route}) =>\n\t\t\t\t\t\tareSimilarRouteObjects(route, value)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(selectedContentFavorite && !oldSelectedContentFavorite) ||\n\t\t\t\t\t(!selectedContentFavorite && oldSelectedContentFavorite) ||\n\t\t\t\t\t(selectedContentFavorite &&\n\t\t\t\t\t\toldSelectedContentFavorite &&\n\t\t\t\t\t\t!isEqual(selectedContentFavorite, oldSelectedContentFavorite))\n\t\t\t\t) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tselectedContentFavorite\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_EXPERIENCE_TITLE_STAR_CLICKED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tlet {\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate: {favoritePopupPayload: oldPopupPayload, favoriteDeletePayload},\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\twindowSize,\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\tpolarisSearchContexts,\n\t\t\t\t\t\tuserMeta: {preferences}\n\t\t\t\t\t},\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {title, favoritePopupPayload, url: payloadUrl}\n\t\t\t\t\t},\n\t\t\t\t\thost\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst url =\n\t\t\t\t\tpayloadUrl ||\n\t\t\t\t\t(selectedContent?.route === CLASSIC\n\t\t\t\t\t\t? selectedContent.params.target\n\t\t\t\t\t\t: window.location.pathname.substring(1));\n\n\t\t\t\tif (validateSearchPage(selectedContent)) {\n\t\t\t\t\ttitle = formatSearchPageTitle(\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\t'-',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tpolarisSearchContexts\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst dispatchPayload = {\n\t\t\t\t\tfavorite: {\n\t\t\t\t\t\tcolor: colors ? colors[random(0, colors.length - 1)] : 'purple',\n\t\t\t\t\t\ticon: icons ? icons[random(0, icons.length - 1)] : 'list',\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\turl,\n\t\t\t\t\t\t...(selectedContent?.route === CLASSIC ? {} : {ui_type: 'polaris'})\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst dispatchMeta = {\n\t\t\t\t\tresultType: 'result.favorite',\n\t\t\t\t\tupdateSelectedContentFavorite: true,\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tcurrentPage: true\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\t!getBooleanPreferenceValue(\n\t\t\t\t\t\tpreferences,\n\t\t\t\t\t\tPREFERENCES.FAVORITE_EDIT_POPUP_ENABLED,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) ||\n\t\t\t\t\twindowSize?.width < REFLOW_BREAKPOINTS.HIDE_CENTER_PILL\n\t\t\t\t) {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tFAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED,\n\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\tdispatchMeta\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tfavoritePopupPayload: {\n\t\t\t\t\t\t\t// this sets the default ref when user favorites the page from the UI16 list contextual menu\n\t\t\t\t\t\t\tpopupRef: host.shadowRoot\n\t\t\t\t\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t\t\t\t\t.shadowRoot.querySelector('.experience-title-favorite-button'),\n\t\t\t\t\t\t\t...favoritePopupPayload,\n\t\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\t\tdispatchMeta,\n\t\t\t\t\t\t\topen: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\tswitchingPopupPosition:\n\t\t\t\t\t\t\t!isEmpty(oldPopupPayload) || !isEmpty(favoriteDeletePayload),\n\t\t\t\t\t\ttempFavoriteStarFill: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tdispatch,\n\t\t\t\t\tstate: {\n\t\t\t\t\t\tfavoriteDeletePayload: {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\trootMenu,\n\t\t\t\t\t\t\tfromExperienceTitle,\n\t\t\t\t\t\t\tparentMenuItem = {}\n\t\t\t\t\t\t},\n\t\t\t\t\t\theaderMenuItems\n\t\t\t\t\t},\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\n\t\t\t\tlet removedFavorites = [item];\n\t\t\t\tlet appChildrenFavorites = [];\n\t\t\t\tconst menuItemUpdateSkipList = [];\n\t\t\t\tconst favoritesList = headerMenuItems.find(\n\t\t\t\t\t({id}) => id === MENU_FAVORITES\n\t\t\t\t);\n\t\t\t\tconst flatFavorites = flattenMenuItems(favoritesList);\n\t\t\t\tconst dispatchAction =\n\t\t\t\t\t!rootMenu || rootMenu === MENU_FAVORITES\n\t\t\t\t\t\t? FAVORITE_DELETE_REQUESTED\n\t\t\t\t\t\t: !isEmpty(item.subItems)\n\t\t\t\t\t\t? FAVORITE_DELETE_GROUP_REQUESTED\n\t\t\t\t\t\t: FAVORITE_DELETE_MODULE_REQUESTED;\n\n\t\t\t\tif (dispatchAction === FAVORITE_DELETE_REQUESTED) {\n\t\t\t\t\t// delete parent separator or app if item deleted is last subItem\n\t\t\t\t\tif (\n\t\t\t\t\t\tparentMenuItem.id !== rootMenu &&\n\t\t\t\t\t\t!isEmpty(parentMenuItem.subItems) &&\n\t\t\t\t\t\t!isCustomFavoriteGroup(parentMenuItem) &&\n\t\t\t\t\t\tparentMenuItem.subItems.length < 2\n\t\t\t\t\t) {\n\t\t\t\t\t\tremovedFavorites.push(parentMenuItem);\n\t\t\t\t\t}\n\n\t\t\t\t\t// needed when separator is deleted to delete all the modules inside\n\t\t\t\t\tif (\n\t\t\t\t\t\tdispatchAction === FAVORITE_DELETE_REQUESTED &&\n\t\t\t\t\t\t!isEmpty(item.subItems) &&\n\t\t\t\t\t\t!isEmpty(item.moduleId)\n\t\t\t\t\t) {\n\t\t\t\t\t\titem.subItems.forEach((subItem) =>\n\t\t\t\t\t\t\taddNestedItems(subItem, removedFavorites)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// when a user removes a favorite group from the favorite menu, and one of the modules\n\t\t\t\t\t// is favorited separately, we want to keep the star of that favorite item in the all menu\n\t\t\t\t\tremovedFavorites.forEach((favorite) => {\n\t\t\t\t\t\tconst flatItem = flattenMenuItems(favorite, [], 'subItems', [\n\t\t\t\t\t\t\t'applicationId',\n\t\t\t\t\t\t\t'moduleId'\n\t\t\t\t\t\t]);\n\t\t\t\t\t\tflatItem.forEach((subItem) => {\n\t\t\t\t\t\t\tif (subItem.moduleId) {\n\t\t\t\t\t\t\t\tconst skipModification = flatFavorites?.find(\n\t\t\t\t\t\t\t\t\t({moduleId, id}) =>\n\t\t\t\t\t\t\t\t\t\tmoduleId &&\n\t\t\t\t\t\t\t\t\t\tmoduleId === subItem.moduleId &&\n\t\t\t\t\t\t\t\t\t\tid !== subItem.id\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (skipModification) {\n\t\t\t\t\t\t\t\t\tif (fromExperienceTitle) {\n\t\t\t\t\t\t\t\t\t\tremovedFavorites.push(skipModification);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tmenuItemUpdateSkipList.push(skipModification.moduleId);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else if (!subItem.parent) {\n\t\t\t\t\t\t\t\t\tremovedFavorites.push(subItem);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (!subItem.moduleId) {\n\t\t\t\t\t\t\t\tremovedFavorites.push(subItem);\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} else {\n\t\t\t\t\t// delete separator favorite from all menu if all its children are deleted\n\t\t\t\t\tif (\n\t\t\t\t\t\tparentMenuItem.id !== rootMenu &&\n\t\t\t\t\t\tparentMenuItem.actionType === SEPARATOR &&\n\t\t\t\t\t\tparentMenuItem?.subItems?.filter(\n\t\t\t\t\t\t\t({favorited, actionType}) => favorited || actionType === SEPARATOR\n\t\t\t\t\t\t).length < 2\n\t\t\t\t\t) {\n\t\t\t\t\t\tremovedFavorites.push(parentMenuItem);\n\t\t\t\t\t}\n\n\t\t\t\t\t// handles the case of when user deletes an app that has a module favorited\n\t\t\t\t\t// outside of the app. Backend removes that favorite as well, so we need to find it\n\t\t\t\t\t// and remove it from the client side\n\t\t\t\t\tif (dispatchAction === FAVORITE_DELETE_GROUP_REQUESTED) {\n\t\t\t\t\t\tconst flatItem = flattenMenuItems(item, [], 'subItems', [\n\t\t\t\t\t\t\t'applicationId',\n\t\t\t\t\t\t\t'moduleId'\n\t\t\t\t\t\t]);\n\t\t\t\t\t\tflatFavorites.forEach((favorite) => {\n\t\t\t\t\t\t\tif (favorite.moduleId) {\n\t\t\t\t\t\t\t\tconst child = flatItem.find(\n\t\t\t\t\t\t\t\t\t({id}) => id && id === favorite.moduleId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (child) {\n\t\t\t\t\t\t\t\t\tappChildrenFavorites.push(child);\n\t\t\t\t\t\t\t\t}\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}\n\n\t\t\t\tremovedFavorites = uniqBy(removedFavorites, 'id');\n\t\t\t\tappChildrenFavorites = uniqBy(appChildrenFavorites, 'id');\n\t\t\t\tif (removedFavorites.length === 1 || isCustomFavoriteGroup(item)) {\n\t\t\t\t\t// add the app children favorites to the removedFavorites after knowing that we are removing an app\n\t\t\t\t\t// this will take remove the individual favorite items that are also children of the app favorite\n\t\t\t\t\t// from the favorites menu\n\t\t\t\t\tremovedFavorites = uniqBy(\n\t\t\t\t\t\t[...removedFavorites, ...appChildrenFavorites],\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tdispatchAction,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t...(dispatchAction === FAVORITE_DELETE_REQUESTED\n\t\t\t\t\t\t\t\t? {group: isFavoriteGroup(item)}\n\t\t\t\t\t\t\t\t: {})\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tremovedFavorites,\n\t\t\t\t\t\t\tfromExperienceTitle,\n\t\t\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tif (dispatchAction === FAVORITE_DELETE_REQUESTED) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tFAVORITE_DELETE_MULTIPLE_REQUESTED,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tids: removedFavorites.map(({id}) => id).join(','),\n\t\t\t\t\t\t\t\tgroups: removedFavorites\n\t\t\t\t\t\t\t\t\t.map((item) => isFavoriteGroup(item))\n\t\t\t\t\t\t\t\t\t.join(',')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tremovedFavorites,\n\t\t\t\t\t\t\t\tmenuItemUpdateSkipList\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tFAVORITE_DELETE_MULTIPLE_MODULES_REQUESTED,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tids: removedFavorites.map(({id}) => id).join(',')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tremovedFavorites\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}\n\n\t\t\t\tresetFavoriteDeletePayload({updateState});\n\t\t\t\ttrack(coeffects, METRICS.REMOVE_FAVORITE, {\n\t\t\t\t\tmenuName: fromExperienceTitle\n\t\t\t\t\t\t? CONTEXTUAL_MENU_TITLE\n\t\t\t\t\t\t: parentMenuItem?.label,\n\t\t\t\t\tname: item.label,\n\t\t\t\t\tfilter: undefined,\n\t\t\t\t\tquery: undefined\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LAYOUT_ITEM_FAVORITED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tstate: {favoritePopupPayload, favoriteDeletePayload},\n\t\t\t\tproperties: {\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tuserMeta: {preferences},\n\t\t\t\t\twindowSize\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tconst dispatchAction = payload.item.subItems\n\t\t\t\t\t? FAVORITE_GROUP_REQUESTED\n\t\t\t\t\t: FAVORITE_REQUESTED;\n\t\t\t\tconst resultType =\n\t\t\t\t\tdispatchAction === FAVORITE_GROUP_REQUESTED\n\t\t\t\t\t\t? 'result.group'\n\t\t\t\t\t\t: 'result.favorite';\n\n\t\t\t\tconst favoriteLabel = createAllMenuLabel(\n\t\t\t\t\tpayload.item,\n\t\t\t\t\tpayload.parentMenuItem\n\t\t\t\t);\n\t\t\t\tconst dispatchPayload = {\n\t\t\t\t\tfavorite: {...payload.favorite, title: favoriteLabel}\n\t\t\t\t};\n\t\t\t\tconst dispatchMeta = {\n\t\t\t\t\trootMenu: payload.rootMenu,\n\t\t\t\t\tmenu: payload.menu,\n\t\t\t\t\tfavorite: payload.item,\n\t\t\t\t\tresultType,\n\t\t\t\t\tselectedContent\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\t!getBooleanPreferenceValue(\n\t\t\t\t\t\tpreferences,\n\t\t\t\t\t\tPREFERENCES.FAVORITE_EDIT_POPUP_ENABLED,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) ||\n\t\t\t\t\twindowSize?.width < REFLOW_BREAKPOINTS.HIDE_CENTER_PILL\n\t\t\t\t) {\n\t\t\t\t\tdispatch(dispatchAction, dispatchPayload, dispatchMeta);\n\t\t\t\t} else {\n\t\t\t\t\tconst callback = () => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfavoritePopupPayload: {\n\t\t\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t\t\topen: true,\n\t\t\t\t\t\t\t\tinitialName: favoriteLabel,\n\t\t\t\t\t\t\t\tdispatchAction,\n\t\t\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\t\t\tdispatchMeta,\n\t\t\t\t\t\t\t\tpositions: [\n\t\t\t\t\t\t\t\t\t{target: 'center-end', content: 'center-start'},\n\t\t\t\t\t\t\t\t\t{target: 'bottom-center', content: 'top-center'},\n\t\t\t\t\t\t\t\t\t{target: 'top-center', content: 'bottom-center'}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tswitchingPopupPosition:\n\t\t\t\t\t\t\t\t!isEmpty(favoritePopupPayload) ||\n\t\t\t\t\t\t\t\t!isEmpty(favoriteDeletePayload)\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\n\t\t\t\t\t// creates a fake star when user clicks and the popup appears,\n\t\t\t\t\t// the callback will open the popup but the popup needs to be open after\n\t\t\t\t\t// the star is filled as the target needs to still be displayed for the popup\n\t\t\t\t\t// to appear correctly. If a user clicks on the star and hovers away, then the\n\t\t\t\t\t// empty star will disappear and popup will not have a displayed target\n\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\tentries: [payload.item.id],\n\t\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\t\tcallback\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\tentries: [payload.item.id],\n\t\t\t\t\t\tmenuId: MENU_ADMIN,\n\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\t\tcallback\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LAYOUT_ITEM_UNFAVORITED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tupdateState,\n\t\t\t\tstate: {switchingPopupPosition},\n\t\t\t\thost\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\t...(switchingPopupPosition ? {switchingPopupPosition: false} : {}),\n\t\t\t\t\tfavoriteDeletePayload: {\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t...(payload.fromExperienceTitle && !payload.popupRef\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tpopupRef: host.shadowRoot\n\t\t\t\t\t\t\t\t\t\t.querySelector('sn-polaris-header')\n\t\t\t\t\t\t\t\t\t\t.shadowRoot.querySelector(\n\t\t\t\t\t\t\t\t\t\t\t'.experience-title-favorite-button'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t...(!payload.fromExperienceTitle\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tpositions: [\n\t\t\t\t\t\t\t\t\t\t{target: 'center-end', content: 'center-start'},\n\t\t\t\t\t\t\t\t\t\t{target: 'bottom-center', content: 'top-center'},\n\t\t\t\t\t\t\t\t\t\t{target: 'top-center', content: 'bottom-center'}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t: {})\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['NOW_POPOVER#OPENED_SET']: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {value, id, actionSource}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (id === 'favorite-popover' && value === false) {\n\t\t\t\t\tdispatch(FAVORITE_POPUP_CLOSED, {\n\t\t\t\t\t\trefocus:\n\t\t\t\t\t\t\tactionSource === 'tab-press' || actionSource === 'escape-press'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_POPUP_INFO_UPDATED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate: {favoritePopupPayload},\n\t\t\t\taction: {payload}\n\t\t\t}) => {\n\t\t\t\t// updates the payload when user changes name or location of favorite\n\t\t\t\tupdateState({\n\t\t\t\t\tfavoritePopupPayload: {\n\t\t\t\t\t\t...favoritePopupPayload,\n\t\t\t\t\t\tdispatchPayload: {\n\t\t\t\t\t\t\tfavorite: {\n\t\t\t\t\t\t\t\t...favoritePopupPayload.dispatchPayload.favorite,\n\t\t\t\t\t\t\t\t...payload\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});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_POPUP_CLOSED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate: {favoritePopupPayload, popupRef, favoriteDeletePayload},\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {id, refocus}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tif (favoriteDeletePayload) {\n\t\t\t\t\tif (!id || id === 'cancel') {\n\t\t\t\t\t\tresetFavoriteDeletePayload({updateState});\n\t\t\t\t\t} else if (id === 'delete') {\n\t\t\t\t\t\tdispatch(FAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED);\n\t\t\t\t\t}\n\t\t\t\t} else if (favoritePopupPayload) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\tdispatchMeta,\n\t\t\t\t\t\tdispatchAction\n\t\t\t\t\t} = favoritePopupPayload;\n\t\t\t\t\t// if the button clicked is not 'Remove', we create the favorite\n\t\t\t\t\t// and close the popup\n\t\t\t\t\tif (id !== 'remove' && dispatchPayload.favorite?.title) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tdispatchAction || FAVORITE_EXPERIENCE_TITLE_CREATE_REQUESTED,\n\t\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\t\t{...dispatchMeta, openModal: id === 'more'}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (!favoritePopupPayload.dispatchAction) {\n\t\t\t\t\t\t\ttrack(coeffects, METRICS.CREATE_FAVORITE, {\n\t\t\t\t\t\t\t\tmenuName: CONTEXTUAL_MENU_TITLE,\n\t\t\t\t\t\t\t\tname: dispatchPayload.title,\n\t\t\t\t\t\t\t\tfilter: undefined,\n\t\t\t\t\t\t\t\tquery: undefined\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfavoritePopupPayload: {...favoritePopupPayload, open: false}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// if the button is remove, we remove the star that was added and\n\t\t\t\t\t\t// dont dispatch anything to create a favorite\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfavoritePopupPayload: null,\n\t\t\t\t\t\t\ttempFavoriteStarFill: false\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// this removes the fake star from the all menu\n\t\t\t\t\t\tif (!favoritePopupPayload.fromExperienceTitle) {\n\t\t\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\t\t\tentries: [favoritePopupPayload.item.id],\n\t\t\t\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\t\tupdateSubItems: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\t\t\tentries: [favoritePopupPayload.item.id],\n\t\t\t\t\t\t\t\tmenuId: MENU_ADMIN,\n\t\t\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\t\tupdateSubItems: true\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}\n\n\t\t\t\t// if user closes using keyboard and not click,\n\t\t\t\t// we need to restore focus to the element that opened the\n\t\t\t\t// popup\n\t\t\t\tif (refocus) {\n\t\t\t\t\t(\n\t\t\t\t\t\tfavoritePopupPayload?.popupRef ||\n\t\t\t\t\t\tfavoriteDeletePayload?.popupRef ||\n\t\t\t\t\t\tpopupRef\n\t\t\t\t\t).focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_POPUP_RENDERED]: {\n\t\t\teffect: () => {\n\t\t\t\tconst body = window.document.body;\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--old-popover-background-color',\n\t\t\t\t\tbody.style.getPropertyValue('--now-popover--background-color')\n\t\t\t\t);\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--now-popover--background-color',\n\t\t\t\t\t'var(--now-unified-nav_menu--background-color)'\n\t\t\t\t);\n\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--old-popover-border-color',\n\t\t\t\t\tbody.style.getPropertyValue('--now-popover--border-color')\n\t\t\t\t);\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--now-popover--border-color',\n\t\t\t\t\t'var(--now-unified-nav_menu--border-color)'\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_POPUP_DESTROYED]: {\n\t\t\teffect: () => {\n\t\t\t\tconst body = window.document.body;\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--now-popover--background-color',\n\t\t\t\t\tbody.style.getPropertyValue('--old-popover-background-color')\n\t\t\t\t);\n\n\t\t\t\tbody.style.setProperty(\n\t\t\t\t\t'--now-popover--border-color',\n\t\t\t\t\tbody.style.getPropertyValue('--old-popover-border-color')\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SYNC_ALL_MENU_AND_TITLE]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tproperties: {selectedContent},\n\t\t\t\tstate: {headerMenuItems, selectedContentFavorite},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {favoriteMenu, callback}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tisSyncingFavorites: true\n\t\t\t\t});\n\n\t\t\t\tlet needCallback = true;\n\t\t\t\t// check if any items have an id we dont recognize\n\t\t\t\tconst isSameId = (first, second) => first.id === second.id;\n\n\t\t\t\tconst flatOldFavorites = flattenMenuItems(\n\t\t\t\t\theaderMenuItems?.find(({id}) => id === MENU_FAVORITES)\n\t\t\t\t);\n\t\t\t\tconst flatNewFavorites = flattenMenuItems(favoriteMenu);\n\n\t\t\t\t// any newly added favorites to be added across tabs\n\t\t\t\tconst newFavorites = differenceWith(\n\t\t\t\t\tflatNewFavorites,\n\t\t\t\t\tflatOldFavorites,\n\t\t\t\t\tisSameId\n\t\t\t\t);\n\n\t\t\t\t// any removed favorites to be removed across tabs\n\t\t\t\tconst removedFavorites = differenceWith(\n\t\t\t\t\tflatOldFavorites,\n\t\t\t\t\tflatNewFavorites,\n\t\t\t\t\tisSameId\n\t\t\t\t);\n\n\t\t\t\tif (!isEmpty(newFavorites)) {\n\t\t\t\t\tconst newFavoritesToUpdate = newFavorites\n\t\t\t\t\t\t.map(({applicationId, moduleId}) => applicationId || moduleId)\n\t\t\t\t\t\t.filter((item) => !!item);\n\n\t\t\t\t\t// checks if the star in the title needs to be filled\n\t\t\t\t\tconst updateTitle = newFavorites.find((item) =>\n\t\t\t\t\t\tareSimilarClassicUrls(\n\t\t\t\t\t\t\titem?.route?.params?.target,\n\t\t\t\t\t\t\tselectedContent?.params?.target\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tif (updateTitle) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tselectedContentFavorite: updateTitle\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t// updates star in all menu\n\t\t\t\t\tif (!isEmpty(newFavoritesToUpdate)) {\n\t\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\t\tentries: newFavoritesToUpdate,\n\t\t\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\t\t\tcallback\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\t\tentries: newFavoritesToUpdate,\n\t\t\t\t\t\t\tmenuId: MENU_ADMIN,\n\t\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\t\t\tcallback\n\t\t\t\t\t\t});\n\t\t\t\t\t\tneedCallback = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!isEmpty(removedFavorites)) {\n\t\t\t\t\tconst menuItemUpdateSkipList = [];\n\t\t\t\t\tconst removedFavoritesToUpdate = removedFavorites\n\t\t\t\t\t\t.map(({applicationId, moduleId}) => applicationId || moduleId)\n\t\t\t\t\t\t.filter((item) => !!item);\n\n\t\t\t\t\t// check which removed favorites have duplicates so we keep the star in the all menu\n\t\t\t\t\tremovedFavorites.forEach((subItem) => {\n\t\t\t\t\t\tif (subItem.moduleId) {\n\t\t\t\t\t\t\tconst skipModification = flatNewFavorites?.find(\n\t\t\t\t\t\t\t\t({moduleId, id}) =>\n\t\t\t\t\t\t\t\t\tmoduleId && moduleId === subItem.moduleId && id !== subItem.id\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (skipModification) {\n\t\t\t\t\t\t\t\tmenuItemUpdateSkipList.push(skipModification.moduleId);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\t// remove the favorite star in the title if applicable\n\t\t\t\t\tif (\n\t\t\t\t\t\t!isEmpty(selectedContentFavorite) &&\n\t\t\t\t\t\t!flatNewFavorites.find(\n\t\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t\tareSimilarClassicUrls(\n\t\t\t\t\t\t\t\t\titem?.route?.params?.target,\n\t\t\t\t\t\t\t\t\tselectedContent?.params?.target\n\t\t\t\t\t\t\t\t) || areSimilarRouteObjects(item.route, selectedContent)\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tselectedContentFavorite: null\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t// update all menu favorite stars\n\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\tentries: removedFavoritesToUpdate,\n\t\t\t\t\t\tmenuId: MENU_ALL,\n\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\t\tsubItemSkipList: menuItemUpdateSkipList,\n\t\t\t\t\t\tcallback\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(MENU_ENTRIES_UPDATED, {\n\t\t\t\t\t\tentries: removedFavoritesToUpdate,\n\t\t\t\t\t\tmenuId: MENU_ADMIN,\n\t\t\t\t\t\tkey: 'favorited',\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\tupdateSubItems: true,\n\t\t\t\t\t\tsubItemSkipList: menuItemUpdateSkipList,\n\t\t\t\t\t\tcallback\n\t\t\t\t\t});\n\n\t\t\t\t\tneedCallback = false;\n\t\t\t\t}\n\n\t\t\t\t// needed when items arent removed or added, just editted/rearranged\n\t\t\t\tif (needCallback) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SYNC_FAVORITES_COMPLETE]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tisSyncingFavorites: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_DELETE_MODAL_CANCEL_CLICKED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tresetFavoriteDeletePayload({updateState});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FAVORITE_DELETE_MODAL_REMOVE_CLICKED]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(FAVORITE_DELETE_CONFIRMATION_REMOVE_CLICKED);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"IMPERSONATION_MODAL_DISMISSED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'IMPERSONATION_MODAL_DISMISSED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].IMPERSONATION_MODAL_DISMISSED;\n\t\t\t\t\t} else if ('IMPERSONATION_MODAL_DISMISSED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.IMPERSONATION_MODAL_DISMISSED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].IMPERSONATION_MODAL_DISMISSED;\n\t\t\t\t}, [\"USER_IMPERSONATE_FAILED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'USER_IMPERSONATE_FAILED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].USER_IMPERSONATE_FAILED;\n\t\t\t\t\t} else if ('USER_IMPERSONATE_FAILED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.USER_IMPERSONATE_FAILED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].USER_IMPERSONATE_FAILED;\n\t\t\t\t}, [\"USER_IMPERSONATE_SUCCEEDED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'USER_IMPERSONATE_SUCCEEDED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].USER_IMPERSONATE_SUCCEEDED;\n\t\t\t\t\t} else if ('USER_IMPERSONATE_SUCCEEDED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__.USER_IMPERSONATE_SUCCEEDED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_impersonation_index_jsdbx_7ece09a0__[\"default\"].USER_IMPERSONATE_SUCCEEDED;\n\t\t\t\t} });","import {createHttpEffect} from '@devsnc/unav-utils';\n\nimport cache from '../../utils/cache.js';\nimport idbMenuCache from '../../utils/idbMenuCache';\nimport {t} from 'sn-translate';\nimport {\n\tIMPERSONATION_MODAL_DISMISSED,\n\tUSER_IMPERSONATE_SUCCEEDED,\n\tUSER_IMPERSONATE_FAILED\n} from '@devsnc/sn-impersonation';\nimport {\n\tEND_IMPERSONATION_REQUESTED,\n\tIMPERSONATION_MODAL_OPENED,\n\tCANVAS_GLOBAL_ERROR,\n\tTEST_USER_IMPERSONATED\n} from './actions';\nimport {\n\tANNOUNCE_IMPERSONATION_START_KEY,\n\tANNOUNCE_IMPERSONATION_END_KEY\n} from './constants';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions.js';\n\nexport const testImpersonateUserEffect = createHttpEffect(\n\t'/api/now/ui/impersonate/:sysId',\n\t{\n\t\tmethod: 'POST',\n\t\tpathParams: ['sysId'],\n\t\tbatch: false,\n\t\tsuccessActionType: USER_IMPERSONATE_SUCCEEDED,\n\t\terrorActionType: USER_IMPERSONATE_FAILED\n\t}\n);\n\nexport default {\n\tname: 'POLARIS_IMPERSONATION_BEHAVIOR',\n\tactionHandlers: {\n\t\t[TEST_USER_IMPERSONATED]: testImpersonateUserEffect,\n\t\t[USER_IMPERSONATE_SUCCEEDED]: {\n\t\t\teffect: async ({action: {payload}}) => {\n\t\t\t\tconst storageKey =\n\t\t\t\t\tpayload.result.user === 'null'\n\t\t\t\t\t\t? ANNOUNCE_IMPERSONATION_START_KEY\n\t\t\t\t\t\t: ANNOUNCE_IMPERSONATION_END_KEY;\n\n\t\t\t\tcache.clear();\n\t\t\t\tawait idbMenuCache.remove();\n\t\t\t\twindow.localStorage.setItem(storageKey, true);\n\t\t\t\twindow.location.replace(window.location.origin);\n\t\t\t}\n\t\t},\n\t\t[USER_IMPERSONATE_FAILED]: {\n\t\t\teffect: ({dispatch, action: {payload}}) => {\n\t\t\t\tdispatch(CANVAS_GLOBAL_ERROR, {\n\t\t\t\t\ttype: CANVAS_GLOBAL_ERROR,\n\t\t\t\t\theaderLabel: payload?.data?.error?.message || t('Cannot impersonate'),\n\t\t\t\t\tcontent:\n\t\t\t\t\t\tpayload?.data?.error?.detail ||\n\t\t\t\t\t\tt('The user you selected could not be impersonated.')\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[END_IMPERSONATION_REQUESTED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({endImpersonation: true});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[IMPERSONATION_MODAL_OPENED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\timpersonationOpen: true,\n\t\t\t\t\tactiveModal: 'impersonation'\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[IMPERSONATION_MODAL_DISMISSED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\timpersonationOpen: false,\n\t\t\t\t\tactiveModal: ''\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(IMPERSONATION_MODAL_DISMISSED);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createHttpEffect} from '@devsnc/unav-utils';\nimport {\n\tELEVATE_ROLE_MODAL_OPENED,\n\tELEVATE_ROLE_MODAL_DISMISSED,\n\tELEVATE_ROLES_REQUESTED,\n\tELEVATE_ROLES_REFRESH_SUCCEEDED\n} from './actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport cache from '../../utils/cache';\nimport idbMenuCache from '../../utils/idbMenuCache';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\nconst ELEVATE_ROLES_SUCCEEDED = 'ELEVATE_ROLES#ELEVATE_ROLES_SUCCEEDED';\nconst ELEVATE_ROLES_FAILED = 'ELEVATE_ROLES#ELEVATE_ROLES_FAILED';\n\nconst updateElevatedRoles = createHttpEffect('/api/now/ui/impersonate/role', {\n\tmethod: 'POST',\n\tdataParam: 'data',\n\tbatch: false,\n\tsuccessActionType: ELEVATE_ROLES_SUCCEEDED,\n\terrorActionType: ELEVATE_ROLES_FAILED\n});\n\nexport default {\n\tname: 'ELEVATE_ROLE_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tconst availableElevatedRoles = cache.get('availableElevatedRoles');\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'availableElevatedRoles',\n\t\t\t\t\tvalue: availableElevatedRoles,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[ELEVATE_ROLES_SUCCEEDED]: {\n\t\t\teffect: async () => {\n\t\t\t\t// need to refetch once roles are elevated\n\t\t\t\tcache.clear();\n\t\t\t\tawait idbMenuCache.remove();\n\t\t\t\twindow.location.reload();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ELEVATE_ROLE_MODAL_OPENED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\televateRoleOpen: true,\n\t\t\t\t\tactiveModal: 'elevateRole'\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ELEVATE_ROLE_MODAL_DISMISSED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\televateRoleOpen: false,\n\t\t\t\t\tactiveModal: ''\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ELEVATE_ROLES_REFRESH_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result: availableElevatedRoles}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'availableElevatedRoles',\n\t\t\t\t\tvalue: availableElevatedRoles,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t});\n\t\t\t\tcache.set('availableElevatedRoles', availableElevatedRoles);\n\t\t\t}\n\t\t},\n\t\t// this is a duplicate handler of one that exists in sn-elevate-roles/src/elevate-roles.effects\n\t\t// it has no effect but is needed here for testing purposes\n\t\t[ELEVATE_ROLES_REQUESTED]: updateElevatedRoles,\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(ELEVATE_ROLE_MODAL_DISMISSED);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {BEHAVIOR_NAME} from './constants';\nimport {t} from 'sn-translate';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '@devsnc/unav-utils';\nimport {\n\tLEGACY_SCREEN_PRINTER_VIEW_VISIBLE,\n\tPRINTER_FRIENDLY_CANCEL_CLICKED,\n\tPRINTER_FRIENDLY_CONFIRM_CLICKED,\n\tPRINTER_FRIENDLY_VERSION_REQUESTED,\n\tPRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED\n} from './actions';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\n\nconst handlePrintRequest = (printUrl) => {\n\tif (printUrl) {\n\t\twindow.open(printUrl, 'Printer_friendly_format');\n\t}\n};\n\nconst printUrlDecode = (href) => {\n\tif (!href) return null;\n\thref = href.replace(/%40/g, '@');\n\thref = href.replace(/@99@/g, '&');\n\thref = href.replace(/@88@/g, '@99@');\n\thref = href.replace(/@77@/g, '@88@');\n\thref = href.replace(/@66@/g, '@77@');\n\treturn href;\n};\n\nconst isNewForm = (referringUrl) => {\n\treturn (\n\t\treferringUrl.indexOf('?sys_id=-1') > -1 ||\n\t\t(referringUrl.indexOf('sys_id') === -1 &&\n\t\t\treferringUrl.indexOf('sysparm_tiny') === -1)\n\t);\n};\n\n// Logic refactored from https://code.devsnc.com/dev/glide/blob/master/glide/plugins/com.glide.ui.concourse/ui.html/scripts/concourse/directive.printerFriendly.js\nconst setupPrintInfo = (iframe, formTemplate) => {\n\tlet newForm;\n\tconst maxRows = getProperty(SYS_PROPS.UI.MAX_PRINT_ROWS) || '999999999';\n\tconst isForm = formTemplate?.indexOf('form') > -1;\n\tconst rows = iframe.contentDocument\n\t\t.querySelector(\"[id$='total_rows']\")\n\t\t?.innerText?.replace(/,/g, '');\n\tlet printUrl = iframe.contentDocument.querySelector('#printURL')?.value;\n\tif (!printUrl) {\n\t\tconst referringUrl =\n\t\t\tiframe.contentDocument.forms.sys_personalize?.sysparm_referring_url\n\t\t\t\t?.value;\n\t\tif (referringUrl) {\n\t\t\tif (isForm && isNewForm(referringUrl)) {\n\t\t\t\tnewForm = true;\n\t\t\t}\n\t\t\tprintUrl = referringUrl;\n\t\t} else {\n\t\t\tprintUrl = iframe.contentWindow.location.href;\n\t\t}\n\t}\n\n\tif (printUrl.indexOf('?') < 0) {\n\t\tprintUrl += '?';\n\t} else {\n\t\tprintUrl += '&';\n\t}\n\n\tprintUrl = printUrlDecode(printUrl);\n\tprintUrl = new URL(printUrl, window.location.origin);\n\tprintUrl.searchParams.delete('partial_page');\n\tprintUrl.searchParams.set('sysparm_stack', 'no');\n\tprintUrl.searchParams.set('sysparm_force_row_count', maxRows);\n\tprintUrl.searchParams.set('sysparm_media', 'print');\n\treturn {\n\t\trows: parseInt(formTemplate?.indexOf('list') > 0 ? rows : '0', 10),\n\t\tprintUrl: printUrl.toString(),\n\t\tnewForm,\n\t\tmaxRows: parseInt(maxRows, 10)\n\t};\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tshowPrint: false,\n\t\tprinterConfirmationModalProps: null\n\t},\n\tactionHandlers: {\n\t\t[LEGACY_SCREEN_PRINTER_VIEW_VISIBLE]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {showPrint}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'showPrint',\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tvalue: showPrint,\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PRINTER_FRIENDLY_VERSION_REQUESTED]: {\n\t\t\teffect: ({dispatch, host}) => {\n\t\t\t\tconst iframe = getCoreUiIframe(host);\n\t\t\t\tconst formTemplate = iframe.contentDocument.body.getAttribute(\n\t\t\t\t\t'data-formname'\n\t\t\t\t);\n\t\t\t\tdispatch(PRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED, {\n\t\t\t\t\tprintInfo: setupPrintInfo(iframe, formTemplate)\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PRINTER_FRIENDLY_VERSION_REQUEST_FULFILLED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tprintInfo: {rows, printUrl, newForm, maxRows}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tlet opened;\n\t\t\t\tlet message = '';\n\t\t\t\tif (newForm) {\n\t\t\t\t\topened = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (rows > maxRows) {\n\t\t\t\t\t\topened = true;\n\t\t\t\t\t\tmessage += t('Printing is limited to {0} rows. Continue?', maxRows);\n\t\t\t\t\t} else if (rows > 5000) {\n\t\t\t\t\t\topened = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (opened) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tprinterConfirmationModalProps: {\n\t\t\t\t\t\t\topened,\n\t\t\t\t\t\t\tnewForm,\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tprintUrl\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\thandlePrintRequest(printUrl);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PRINTER_FRIENDLY_CANCEL_CLICKED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tprinterConfirmationModalProps: null\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PRINTER_FRIENDLY_CONFIRM_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate: {\n\t\t\t\t\tprinterConfirmationModalProps: {printUrl}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\thandlePrintRequest(printUrl);\n\t\t\t\tupdateState({\n\t\t\t\t\tprinterConfirmationModalProps: null\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(PRINTER_FRIENDLY_CANCEL_CLICKED);\n\t\t\t}\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {id}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (id === 'print-confirm-modal') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tprinterConfirmationModalProps: null\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {get} from 'lodash';\nimport {\n\tSTART_DEBUGGING_CONFIRMATION_REQUESTED,\n\tSTART_DEBUGGING_CONFIRMATION_CLICKED\n} from '../../components/sn-polaris-layout/script-debugger-modal/actions';\n\nfunction setupScriptDebuggerHandler({dispatch}) {\n\tif (!get(window.top, 'breakpointHitAlert', null)) {\n\t\twindow.top.breakpointHitAlert = (show) => {\n\t\t\tif (!show) return;\n\n\t\t\tdispatch(START_DEBUGGING_CONFIRMATION_REQUESTED);\n\t\t};\n\t}\n}\n\nexport default {\n\tname: 'SCRIPT_DEBUGGER_SETUP_BEHAVIOR',\n\tinitialState: {\n\t\tstartDebuggingConfirmationOpened: false\n\t},\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_DOM_READY]: setupScriptDebuggerHandler,\n\t\t[START_DEBUGGING_CONFIRMATION_REQUESTED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tstartDebuggingConfirmationOpened: true\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[START_DEBUGGING_CONFIRMATION_CLICKED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tconst debugWindow = window.open('', 'sn_ScriptDebugger');\n\t\t\t\tif (debugWindow) debugWindow.focus();\n\t\t\t\tupdateState({\n\t\t\t\t\tstartDebuggingConfirmationOpened: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {id, value}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (id === 'script-debugger-confirmation' && !value) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tstartDebuggingConfirmationOpened: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","export default function isPluginEnabled(plugins, id) {\n\tconst plugin = plugins.find((plugin) => plugin.id === id) || {};\n\treturn plugin.active;\n}\n","import {ENABLED_PLUGINS_REFRESHED} from '../enabled-plugins-behavior/actions';\nimport isPluginEnabled from '../../utils/isPluginEnabled';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_DOM_TREE_READY} = actionTypes;\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {some, get, values, every} from 'lodash';\nimport {\n\tPLUGIN_NAME,\n\tROLE_NAMES,\n\tBEHAVIOR_NAME,\n\tSYS_PROP_AWA,\n\tSTATE_PATH_PARTS_ENABLED,\n\tSTATE_PATH_IS_ENABLED\n} from './constants';\n\nconst updatePart = ({updateState, state}, changes) => {\n\tupdateState({\n\t\tpath: STATE_PATH_PARTS_ENABLED,\n\t\tvalue: changes,\n\t\toperation: 'merge'\n\t});\n\tconst old = get(state, STATE_PATH_PARTS_ENABLED);\n\tconst newParts = {\n\t\t...old,\n\t\t...changes\n\t};\n\tupdateState({\n\t\tpath: STATE_PATH_IS_ENABLED,\n\t\tvalue: every(values(newParts)),\n\t\toperation: 'set'\n\t});\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tisEnabled: false,\n\t\tpartsEnabled: {\n\t\t\tisUserRole: false,\n\t\t\tisPluginEnabled: false,\n\t\t\tisPropertyEnabled: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect: ({updateState, state}) => {\n\t\t\t\tupdatePart(\n\t\t\t\t\t{updateState, state},\n\t\t\t\t\t{\n\t\t\t\t\t\tisPropertyEnabled: getBooleanProperty(SYS_PROP_AWA, false)\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (name === 'userSession') {\n\t\t\t\t\tconst roles = properties?.userSession?.user?.roles || [];\n\t\t\t\t\tupdatePart(\n\t\t\t\t\t\t{updateState, state},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisUserRole: some(ROLE_NAMES, (role) => roles.includes(role))\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ENABLED_PLUGINS_REFRESHED]: {\n\t\t\teffect: ({updateState, state, action}) => {\n\t\t\t\tconst {enabledPlugins} = action.payload;\n\t\t\t\tupdatePart(\n\t\t\t\t\t{updateState, state},\n\t\t\t\t\t{\n\t\t\t\t\t\tisPluginEnabled: isPluginEnabled(enabledPlugins || [], PLUGIN_NAME)\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {t} from 'sn-translate';\nimport {METRICS, NAV_ITEM_SELECTED} from '../../constants';\nimport {\n\tLEGACY_FORM_MODIFIED,\n\tLEGACY_FORM_SUBMITTED,\n\tLEGACY_FORM_UNLOADED,\n\tLEGACY_FORM_SUBMIT_ATTEMPTED,\n\tLEGACY_FORM_BEFOREUNLOADED\n} from './actions';\nimport {\n\tDIRTY_FORM_CONFIRMATION_LEAVE_CLICKED,\n\tDIRTY_FORM_CONFIRMATION_CANCEL_CLICKED\n} from '../../components/sn-polaris-layout/dirty-form-modal/actions';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport track from '../../utils/track';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\n\nconst checkDirtyForm = (coeffects) => {\n\tconst {state, action, dispatch, updateState} = coeffects;\n\tconst {payload} = action;\n\tconst checkDirty = payload?.iframeElId\n\t\t? state?.modifiedForm === payload?.iframeElId\n\t\t: true;\n\t// Menu navigation clicked, Check formModified\n\tif (\n\t\tstate?.formModified &&\n\t\tcheckDirty &&\n\t\tgetFeatureSettings().isDirtyFormEnabled\n\t) {\n\t\taction.stopPropagation();\n\t\ttrack(coeffects, METRICS.DIRTY_FORM_MODAL);\n\t\tupdateState({\n\t\t\tdirtyFormConfirmationPayload: payload\n\t\t});\n\t} else {\n\t\tif (payload?.params) {\n\t\t\tif (payload?.iframeElId !== 'gsft_main' && payload?.href) {\n\t\t\t\tconst dirtyFrame = getDirtyFrame(\n\t\t\t\t\tframes.gsft_main.document.getElementsByTagName('iframe'),\n\t\t\t\t\tpayload?.iframeElId\n\t\t\t\t);\n\t\t\t\tdirtyFrame.contentWindow.location.href = payload?.href;\n\t\t\t} else if (payload?.subFrame) {\n\t\t\t\tpayload.subFrame.document.location.href = payload.params.target;\n\t\t\t} else {\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, payload);\n\t\t\t}\n\t\t} else {\n\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\twindow.CustomEvent.fireAll('polaris:legacy.formSubmit');\n\t\t}\n\t}\n};\n\nconst getDirtyFrame = (currentFrame, iframeElId) => {\n\tif (currentFrame.length > 0) {\n\t\tfor (let i = 0; i < currentFrame.length; i++) {\n\t\t\tif (currentFrame.item(i).id === iframeElId) return currentFrame.item(i);\n\n\t\t\tconst subFrame = currentFrame\n\t\t\t\t.item(i)\n\t\t\t\t.contentWindow.document.getElementsByTagName('iframe');\n\t\t\tif (!subFrame) return null;\n\n\t\t\tconst f = getDirtyFrame(\n\t\t\t\tcurrentFrame\n\t\t\t\t\t.item(i)\n\t\t\t\t\t.contentWindow.document.getElementsByTagName('iframe'),\n\t\t\t\tiframeElId\n\t\t\t);\n\t\t\tif (f?.id === iframeElId) return f;\n\t\t}\n\t}\n\n\treturn null;\n};\n\nconst polarisLayoutUnloadHandler = (state, event) => {\n\tevent.preventDefault();\n\tevent.returnValue = t(\n\t\t'Changes have been made. Continuing will discard the changes.'\n\t); // Gecko + IE\n\treturn event.returnValue; // Safari, Chrome, and other WebKit-derived browsers\n};\n\nexport default {\n\tname: 'DIRTY_FORM_BEHAVIOR',\n\tinitialState: {\n\t\tformModified: false,\n\t\tformSubmitted: false,\n\t\tdirtyFormConfirmationPayload: null\n\t},\n\tactionHandlers: {\n\t\t[LEGACY_FORM_MODIFIED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {isModified, iframeElId}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\t// DEF0385637: Do not update the state if from a scripted modal iframe\n\t\t\t\tif (iframeElId === 'sn-scripted-modal-iframe-content') return;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tformModified: isModified,\n\t\t\t\t\tmodifiedForm: iframeElId\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[LEGACY_FORM_SUBMITTED]: checkDirtyForm,\n\t\t[LEGACY_FORM_SUBMIT_ATTEMPTED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tmodifiedForm: null,\n\t\t\t\t\tformModified: false,\n\t\t\t\t\tformSubmitted: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[LEGACY_FORM_BEFOREUNLOADED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event}\n\t\t\t\t},\n\t\t\t\tstate\n\t\t\t}) => {\n\t\t\t\tif (\n\t\t\t\t\tstate.formSubmitted ||\n\t\t\t\t\t!state.formModified ||\n\t\t\t\t\t!getFeatureSettings().isDirtyFormEnabled\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\tpolarisLayoutUnloadHandler(state, event);\n\t\t\t}\n\t\t},\n\t\t[LEGACY_FORM_UNLOADED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tmodifiedForm: null,\n\t\t\t\t\tformModified: false,\n\t\t\t\t\tformSubmitted: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[DIRTY_FORM_CONFIRMATION_LEAVE_CLICKED]: {\n\t\t\teffect: ({\n\t\t\t\tstate: {dirtyFormConfirmationPayload},\n\t\t\t\tdispatch,\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\t\twindow.CustomEvent.fireAll('polaris:legacy.formModified', false);\n\n\t\t\t\t// First check the iframe to see if a link was clicked in there via the\n\t\t\t\t// back button, or UI Action\n\t\t\t\tif (\n\t\t\t\t\tdirtyFormConfirmationPayload?.iframeElId !== 'gsft_main' &&\n\t\t\t\t\tdirtyFormConfirmationPayload?.href\n\t\t\t\t) {\n\t\t\t\t\tconst dirtyFrame = getDirtyFrame(\n\t\t\t\t\t\tframes.gsft_main.document.getElementsByTagName('iframe'),\n\t\t\t\t\t\tdirtyFormConfirmationPayload?.iframeElId\n\t\t\t\t\t);\n\t\t\t\t\tdirtyFrame.contentWindow.location.href =\n\t\t\t\t\t\tdirtyFormConfirmationPayload?.href;\n\t\t\t\t\t// Check for context that would come if user used the Header menu items for navigation\n\t\t\t\t\t// via All, Favorites, History, Workflow, etc. and params if on a form and navigating via\n\t\t\t\t\t// a reference tear off\n\t\t\t\t} else if (dirtyFormConfirmationPayload?.subFrame) {\n\t\t\t\t\tdirtyFormConfirmationPayload.subFrame.document.location.href =\n\t\t\t\t\t\tdirtyFormConfirmationPayload.params.target;\n\t\t\t\t} else if (\n\t\t\t\t\tdirtyFormConfirmationPayload?.context ||\n\t\t\t\t\tdirtyFormConfirmationPayload?.params\n\t\t\t\t) {\n\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, dirtyFormConfirmationPayload);\n\t\t\t\t\t// Else submit the form and clear the flag as a result of the browser back button\n\t\t\t\t} else {\n\t\t\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\t\t\twindow.CustomEvent.fireAll('polaris:legacy.formSubmit');\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tformModified: false,\n\t\t\t\t\tdirtyFormConfirmationPayload: null\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[DIRTY_FORM_CONFIRMATION_CANCEL_CLICKED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tdirtyFormConfirmationPayload: null\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(DIRTY_FORM_CONFIRMATION_CANCEL_CLICKED);\n\t\t\t}\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tdirtyFormConfirmationPayload: null\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createHttpEffect, effectProxy} from '@devsnc/unav-utils';\nimport {\n\tAPPLICATION_CHANGE_REQUESTED,\n\tAPPLICATION_CHANGE_SUCCEEDED,\n\tAPPLICATION_REFRESH_REQUESTED,\n\tAPPLICATION_REFRESH_REQUEST_SUCCEEDED\n} from './actions.js';\n\nimport idbMenuCache from '../../utils/idbMenuCache';\nimport {CONCOURSE_REBUILD_CONFIG_REQUESTED} from '../concourse-fetcher-behavior/actions.js';\n\nconst applicationChangeEffect = createHttpEffect(\n\t'/api/now/ui/concoursepicker/application',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: APPLICATION_CHANGE_SUCCEEDED\n\t}\n);\n\nexport const applicationRefreshEffect = createHttpEffect(\n\t'/api/now/ui/concoursepicker/application',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tsuccessActionType: APPLICATION_REFRESH_REQUEST_SUCCEEDED\n\t}\n);\n\nexport default {\n\tname: 'APPLICATION_BEHAVIOR',\n\tactionHandlers: {\n\t\t[APPLICATION_CHANGE_REQUESTED]: applicationChangeEffect,\n\t\t[APPLICATION_REFRESH_REQUESTED]: effectProxy(applicationRefreshEffect),\n\t\t[APPLICATION_CHANGE_SUCCEEDED]: {\n\t\t\teffect: async () => {\n\t\t\t\tawait idbMenuCache.remove();\n\t\t\t\twindow.location.reload();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[APPLICATION_REFRESH_REQUEST_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result: availableApplications}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'availableApplications',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\t...availableApplications,\n\t\t\t\t\t\tcurrent: {\n\t\t\t\t\t\t\tsysId: availableApplications.current,\n\t\t\t\t\t\t\tname: availableApplications.list.find(\n\t\t\t\t\t\t\t\t({sysId}) => sysId === availableApplications.current\n\t\t\t\t\t\t\t)?.name\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createHttpEffect, effectProxy} from '@devsnc/unav-utils';\nimport {\n\tCONCOURSE_CURRENT_DATA_REQUESTED,\n\tCONCOURSE_CURRENT_DATA_REQUEST_SUCCEEDED,\n\tCONCOURSE_DATA_LISTS_REQUESTED,\n\tCONCOURSE_DATA_LISTS_REQUEST_SUCCEEDED,\n\tCONCOURSE_REBUILD_CONFIG_REQUESTED\n} from './actions';\n\nimport {actionTypes} from '@servicenow/ui-core';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\nimport {getConcoursePickerConfig} from '../concourse-picker-behavior/index';\nimport {\n\tCONCOURSE_PICKER_MENU_ID,\n\tMETRICS,\n\tUTILITY_OVERFLOW_MENU_ID\n} from '../../constants';\n\nconst {COMPONENT_DOM_READY, COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nimport {END_TRACK_TIME} from '../performance-metrics-behavior/actions';\nimport {CONCOURSE_FETCH_TIME_PATH} from '../performance-metrics-behavior/constants';\nimport {trackStartTime} from '../performance-metrics-behavior/helpers';\n\nexport const concourseCurrentDataRequested = createHttpEffect(\n\t'/api/now/ui/concoursepicker/current',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tsuccessActionType: CONCOURSE_CURRENT_DATA_REQUEST_SUCCEEDED\n\t}\n);\n\nexport const concourseDataListsRequested = createHttpEffect(\n\t'/api/now/ui/concoursepicker/concourselist',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tsuccessActionType: CONCOURSE_DATA_LISTS_REQUEST_SUCCEEDED\n\t}\n);\n\nfunction dispatchWhenUserSettingsAccessIsPresent(\n\tdispatch,\n\tupdateState,\n\tuserSettingsAccess\n) {\n\tif (\n\t\tuserSettingsAccess?.showApplicationPicker ||\n\t\tuserSettingsAccess?.showUpdateSetPicker ||\n\t\tuserSettingsAccess?.showDomainPicker\n\t) {\n\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\taction: () => {\n\t\t\t\tdispatch(CONCOURSE_CURRENT_DATA_REQUESTED);\n\t\t\t}\n\t\t});\n\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\tupdateState({\n\t\t\tpath: 'hasRequestedConcourseRebuildConfig',\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\t}\n}\n\nexport default {\n\tname: 'CONCOURSE_FETCHER_BEHAVIOR',\n\tinitialState: {\n\t\tcurrentDataFetched: false,\n\t\tconcourseListRequested: false,\n\t\tconcourseDataFetched: false,\n\t\thasRequestedConcourseRebuildConfig: false,\n\t\tdomainTable: 'domain'\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: {\n\t\t\teffect: ({\n\t\t\t\tproperties: {userSettingsAccess},\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tstate: {hasRequestedConcourseRebuildConfig}\n\t\t\t}) => {\n\t\t\t\tif (window.isAIUXMode) return;\n\t\t\t\t// prevent duplicating the dispatch if it has been dispatched in COMPONENT_PROPERTY_CHANGED handler\n\t\t\t\tif (!hasRequestedConcourseRebuildConfig) {\n\t\t\t\t\tdispatchWhenUserSettingsAccessIsPresent(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tuserSettingsAccess\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tproperties: {userSettingsAccess},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (window.isAIUXMode) return;\n\t\t\t\tif (name !== 'userSettingsAccess') return;\n\t\t\t\tdispatchWhenUserSettingsAccessIsPresent(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tuserSettingsAccess\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[CONCOURSE_CURRENT_DATA_REQUESTED]: trackStartTime(\n\t\t\tconcourseCurrentDataRequested,\n\t\t\tCONCOURSE_FETCH_TIME_PATH\n\t\t),\n\t\t[CONCOURSE_DATA_LISTS_REQUESTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate: {currentDataFetched}\n\t\t\t\t} = coeffects;\n\t\t\t\tif (!currentDataFetched) {\n\t\t\t\t\tupdateState({concourseListRequested: true});\n\t\t\t\t} else {\n\t\t\t\t\treturn effectProxy(concourseDataListsRequested)(coeffects);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONCOURSE_CURRENT_DATA_REQUEST_SUCCEEDED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tresult: {currentDomain, currentUpdateSet, currentApplication}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tproperties: {userSettingsAccess},\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate: {concourseListRequested},\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst currentNormalizedDomain = {\n\t\t\t\t\tid: currentDomain.value,\n\t\t\t\t\tlabel: currentDomain.label.split('/').pop(),\n\t\t\t\t\thierarchy: currentDomain.label.split('/'),\n\t\t\t\t\tselected: true\n\t\t\t\t};\n\n\t\t\t\tconst availableApplications = userSettingsAccess?.showApplicationPicker\n\t\t\t\t\t? {current: currentApplication, list: [currentApplication]}\n\t\t\t\t\t: {};\n\t\t\t\tconst availableDomains = userSettingsAccess?.showDomainPicker\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcurrent: currentNormalizedDomain,\n\t\t\t\t\t\t\tlist: []\n\t\t\t\t\t  }\n\t\t\t\t\t: {};\n\t\t\t\tconst availableUpdateSets = userSettingsAccess?.showUpdateSetPicker\n\t\t\t\t\t? {current: currentUpdateSet, updateSet: [currentUpdateSet]}\n\t\t\t\t\t: {};\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcurrentDataFetched: true,\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tavailableUpdateSets\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t\tif (concourseListRequested) {\n\t\t\t\t\tdispatch(CONCOURSE_DATA_LISTS_REQUESTED);\n\t\t\t\t}\n\n\t\t\t\tdispatch(END_TRACK_TIME, {\n\t\t\t\t\tcoeffects: coeffects,\n\t\t\t\t\tmetric: METRICS.CONCOURSE_DATA_FETCHED,\n\t\t\t\t\tpath: CONCOURSE_FETCH_TIME_PATH\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[CONCOURSE_DATA_LISTS_REQUEST_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tproperties: {userSettingsAccess},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\tavailableApplications: appList,\n\t\t\t\t\t\t\tavailableDomains: domainList,\n\t\t\t\t\t\t\tavailableUpdateSets: updateSetList,\n\t\t\t\t\t\t\tdomainTable\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tstate: {\n\t\t\t\t\tavailableUpdateSets: oldUpdateSets,\n\t\t\t\t\tavailableApplications: oldApplications,\n\t\t\t\t\tavailableDomains: oldDomains\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tconst availableApplications = userSettingsAccess?.showApplicationPicker\n\t\t\t\t\t? {...oldApplications, list: appList}\n\t\t\t\t\t: oldApplications;\n\t\t\t\tconst availableDomains = userSettingsAccess?.showDomainPicker\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...oldDomains,\n\t\t\t\t\t\t\t...(domainList && domainList.length ? {list: domainList} : {})\n\t\t\t\t\t  }\n\t\t\t\t\t: oldDomains;\n\t\t\t\tconst availableUpdateSets = userSettingsAccess?.showUpdateSetPicker\n\t\t\t\t\t? {...oldUpdateSets, updateSet: updateSetList}\n\t\t\t\t\t: oldUpdateSets;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tdomainTable\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t}\n\t\t},\n\t\t[CONCOURSE_REBUILD_CONFIG_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\tstate: {\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\tavailableEncryptionContexts,\n\t\t\t\t\tcontextualMenu\n\t\t\t\t},\n\t\t\t\tproperties: {userMeta, userSettingsAccess},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst concoursePickerConfig = getConcoursePickerConfig({\n\t\t\t\t\tavailableApplications,\n\t\t\t\t\tavailableDomains,\n\t\t\t\t\tavailableEncryptionContexts,\n\t\t\t\t\tavailableUpdateSets,\n\t\t\t\t\tuserMeta,\n\t\t\t\t\tuserSettingsAccess\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tconcoursePickerConfig,\n\t\t\t\t\tcontextualMenu:\n\t\t\t\t\t\tcontextualMenu?.menuType === CONCOURSE_PICKER_MENU_ID ||\n\t\t\t\t\t\tcontextualMenu?.menuType === UTILITY_OVERFLOW_MENU_ID\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\t\t\tmenuData: {\n\t\t\t\t\t\t\t\t\t\t...(contextualMenu.menuData || {}),\n\t\t\t\t\t\t\t\t\t\t...concoursePickerConfig\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t: contextualMenu\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {set, clone} from 'lodash';\nimport {t} from 'sn-translate';\nimport {\n\tUPDATE_SET_CHANGE_REQUESTED,\n\tUPDATE_SET_HTTP_REQUEST_SENT,\n\tUPDATE_SET_HTTP_REQUEST_SUCCEEDED,\n\tUPDATE_SET_HTTP_REQUEST_FAILED,\n\tUPDATE_SET_REFRESH_REQUESTED,\n\tUPDATE_SET_REFRESH_REQUEST_SUCCEEDED\n} from './actions.js';\nimport {effectProxy, createAuthedOnlyHttpEffect} from '@devsnc/unav-utils';\nimport {CONCOURSE_REBUILD_CONFIG_REQUESTED} from '../concourse-fetcher-behavior/actions.js';\nimport {USER_UI_NOTIFICATION_REQUESTED} from '../user-notification-behavior/actions.js';\n\nexport const updateSetChangeEffect = createAuthedOnlyHttpEffect(\n\t'/api/now/ui/concoursepicker/updateset',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: UPDATE_SET_HTTP_REQUEST_SUCCEEDED,\n\t\terrorActionType: UPDATE_SET_HTTP_REQUEST_FAILED\n\t}\n);\n\nexport const updateSetRefreshEffect = createAuthedOnlyHttpEffect(\n\t'/api/now/ui/concoursepicker/updateset',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tsuccessActionType: UPDATE_SET_REFRESH_REQUEST_SUCCEEDED,\n\t\terrorActionType: UPDATE_SET_HTTP_REQUEST_FAILED\n\t}\n);\n\nexport default {\n\tname: 'UPDATE_SET_BEHAVIOR',\n\tinitialState: {\n\t\trequestedUpdateSet: null\n\t},\n\tactionHandlers: {\n\t\t[UPDATE_SET_HTTP_REQUEST_SENT]: effectProxy(updateSetChangeEffect),\n\t\t[UPDATE_SET_REFRESH_REQUESTED]: effectProxy(updateSetRefreshEffect),\n\t\t[UPDATE_SET_CHANGE_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {data}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\trequestUpdateSet: data\n\t\t\t\t});\n\t\t\t\tdispatch(UPDATE_SET_HTTP_REQUEST_SENT, {data});\n\t\t\t}\n\t\t},\n\t\t[UPDATE_SET_HTTP_REQUEST_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tstate: {availableUpdateSets, requestUpdateSet: value},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst newAvailableUpdateSets = set(\n\t\t\t\t\tclone(availableUpdateSets),\n\t\t\t\t\t'current',\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tavailableUpdateSets: newAvailableUpdateSets\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t}\n\t\t},\n\t\t[UPDATE_SET_REFRESH_REQUEST_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result: availableUpdateSets},\n\t\t\t\t\tmeta: {setNotification}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (setNotification) {\n\t\t\t\t\tdispatch(USER_UI_NOTIFICATION_REQUESTED, {\n\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\ttype: 'system',\n\t\t\t\t\t\t\ttext: t(\n\t\t\t\t\t\t\t\t'Your current update set has been changed to {0}',\n\t\t\t\t\t\t\t\tavailableUpdateSets.current.name\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tshouldCreateHTMLElement: false // prevent user from injecting html into alert\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'availableUpdateSets',\n\t\t\t\t\tvalue: availableUpdateSets,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createHttpEffect} from '@devsnc/unav-utils';\nimport cache from '../../utils/cache';\nimport {DEV_STUDIO_INIT} from './actions';\n\nconst DEV_STUDIO_OPEN_MODE_REQUESTED = 'DEV_STUDIO_OPEN_MODE#REQUESTED';\nconst DEV_STUDIO_OPEN_MODE_SUCCEEDED = 'DEV_STUDIO_OPEN_MODE#SUCCEEDED';\n\nconst getDevStudioOpenMode = createHttpEffect('/api/now/uxf/databroker/exec', {\n\tmethod: 'POST',\n\tdataParam: 'payload',\n\tbatch: true,\n\tsuccessActionType: DEV_STUDIO_OPEN_MODE_SUCCEEDED\n});\n\nexport default {\n\tname: 'DEV_STUDIO_INIT',\n\tactionHandlers: {\n\t\t[DEV_STUDIO_INIT]({properties, dispatch}) {\n\t\t\tif (properties.features.isPolarisEnabled) {\n\t\t\t\tconst devStudioOpenMode = cache.get('devStudioOpenMode');\n\t\t\t\tif (devStudioOpenMode !== undefined) {\n\t\t\t\t\tif (window.DevStudio || !window.initDevStudioLauncher) return;\n\n\t\t\t\t\twindow.DevStudio = window.initDevStudioLauncher(\n\t\t\t\t\t\twindow,\n\t\t\t\t\t\tdevStudioOpenMode\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DEV_STUDIO_OPEN_MODE_REQUESTED, {\n\t\t\t\t\t\tpayload: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'TRANSFORM',\n\t\t\t\t\t\t\t\tdefinitionSysId: '50855f17076320105fca5d1aead30036',\n\t\t\t\t\t\t\t\tinputValues: {\n\t\t\t\t\t\t\t\t\tplugins: {\n\t\t\t\t\t\t\t\t\t\ttype: 'JSON_LITERAL',\n\t\t\t\t\t\t\t\t\t\tvalue: '{\"preference\": \"ide.open_mode\"}'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\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}\n\t\t\t}\n\t\t},\n\t\t[DEV_STUDIO_OPEN_MODE_REQUESTED]: getDevStudioOpenMode,\n\t\t[DEV_STUDIO_OPEN_MODE_SUCCEEDED]: {\n\t\t\teffect: ({action: {payload: output}}) => {\n\t\t\t\tif (window.DevStudio || !window.initDevStudioLauncher) return;\n\n\t\t\t\tconst devStudioOpenMode =\n\t\t\t\t\toutput?.result[0]?.executionResult?.output?.value;\n\n\t\t\t\twindow.DevStudio = window.initDevStudioLauncher(\n\t\t\t\t\twindow,\n\t\t\t\t\tdevStudioOpenMode\n\t\t\t\t);\n\n\t\t\t\tcache.set('devStudioOpenMode', devStudioOpenMode);\n\t\t\t}\n\t\t}\n\t}\n};\n","import track from '../../utils/track';\nimport {\n\tDOMAIN_CHANGE_REQUESTED,\n\tDOMAIN_CHANGE_SUCCEEDED,\n\tDOMAIN_RESET_REQUESTED,\n\tDOMAIN_UPDATE_REQUESTED,\n\tDOMAIN_SEARCH_REQUESTED\n} from './actions.js';\nimport idbMenuCache from '../../utils/idbMenuCache';\nimport {METRICS, SYS_PROPS} from '../../constants';\nimport {isEmpty} from 'lodash';\nimport {getBooleanProperty, createHttpEffect} from '@devsnc/unav-utils';\nimport {CONCOURSE_REBUILD_CONFIG_REQUESTED} from '../concourse-fetcher-behavior/actions';\n\nconst NUM_DOMAIN_PER_SEARCH = 20;\n\nconst getUpdatedDomains = (id, domains) => {\n\tconst current = getDomain(domains.list, id, domains.current);\n\treturn {\n\t\tcurrent,\n\t\tlist: domains.list\n\t};\n};\n\nconst getDomain = (domainList, id, current) => {\n\tfor (let i = 0; i < domainList.length; i++) {\n\t\tconst domainObj = domainList[i];\n\t\tif (domainObj.id === id) {\n\t\t\tdomainObj.selected = true;\n\t\t\tcurrent = domainObj;\n\t\t} else if (domainObj.selected) domainObj.selected = false;\n\n\t\tcurrent = getDomain(domainObj.subItems, id, current);\n\t}\n\treturn current;\n};\n\nconst domainChangeEffect = createHttpEffect(\n\t'/api/now/ui/concoursepicker/domain',\n\t{\n\t\tmethod: 'PUT',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: DOMAIN_CHANGE_SUCCEEDED\n\t}\n);\n\nconst DOMAIN_REFERENCE_SEARCH_REQUEST_SUCCEEDED =\n\t'DOMAIN_REFERENCE_SEARCH_REQUEST_SUCCEEDED';\nconst domainSearchEffect = createHttpEffect(\n\t'/angular.do?sysparm_type=ref_list_data',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: ['data'],\n\t\tbatch: false,\n\t\tsuccessActionType: DOMAIN_REFERENCE_SEARCH_REQUEST_SUCCEEDED\n\t}\n);\n\nexport default {\n\tname: 'DOMAIN_BEHAVIOR',\n\tactionHandlers: {\n\t\t[DOMAIN_SEARCH_REQUESTED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: {search = '', fromScrolling = false}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tstate: {\n\t\t\t\tcurrentDomainResultOffset = 0,\n\t\t\t\tcurrentDomainSearchTerm = '',\n\t\t\t\thasMoreResults = true,\n\t\t\t\tdomainTable = 'domain'\n\t\t\t},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\t// If we're scrolling & we've determined no more results, don't do anything\n\t\t\tif (fromScrolling && !hasMoreResults) return;\n\n\t\t\t// If scrolling, get the next page\n\t\t\t// If search changes (not from scroll), reset current offset\n\t\t\tconst start = fromScrolling ? currentDomainResultOffset : 0;\n\n\t\t\tconst executeSearch = (search) => {\n\t\t\t\tconst finalSearchTerm = search?.replace(/^\\*+(.*)/, '$1') || '';\n\t\t\t\tconst searchMethod = /^\\*+(.*)/.test(search)\n\t\t\t\t\t? 'CONTAINS'\n\t\t\t\t\t: 'STARTSWITH';\n\n\t\t\t\tdispatch('DOMAIN_SEARCH', {\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcount: NUM_DOMAIN_PER_SEARCH,\n\t\t\t\t\t\tp: `${domainTable};q:name${searchMethod}${finalSearchTerm}^nameISNOTEMPTY;r:active=true`,\n\t\t\t\t\t\tqualifier: 'active=true',\n\t\t\t\t\t\tstart,\n\t\t\t\t\t\tsysparm_domain: 'picker',\n\t\t\t\t\t\tsysparm_for_impersonation: false,\n\t\t\t\t\t\ttable: domainTable\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tlet searchTerm = currentDomainSearchTerm;\n\t\t\tif (!fromScrolling) {\n\t\t\t\t// reset the state if the search term has ended\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'availableDomains.list',\n\t\t\t\t\t\tvalue: [],\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'currentDomainResultOffset',\n\t\t\t\t\t\tvalue: 0,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'currentDomainSearchTerm',\n\t\t\t\t\t\tvalue: search,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\n\t\t\t\tsearchTerm = search;\n\t\t\t}\n\n\t\t\texecuteSearch(searchTerm);\n\t\t},\n\t\tDOMAIN_SEARCH: domainSearchEffect,\n\t\t[DOMAIN_REFERENCE_SEARCH_REQUEST_SUCCEEDED]({\n\t\t\tdispatch,\n\t\t\taction: {payload},\n\t\t\tstate: {currentDomainResultOffset = 0},\n\t\t\tupdateState\n\t\t}) {\n\t\t\tconst items =\n\t\t\t\tpayload?.items?.map((i) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsysId: i.sys_id,\n\t\t\t\t\t\tid: i.sys_id,\n\t\t\t\t\t\tname: i.name\n\t\t\t\t\t};\n\t\t\t\t}) ?? [];\n\n\t\t\t// keep track of current offset\n\t\t\tconst numResults = items.length + currentDomainResultOffset;\n\t\t\t// if the number of domains in the most response is < the amount\n\t\t\t// requested, then there are no more results\n\t\t\tconst hasMoreResults = items.length === NUM_DOMAIN_PER_SEARCH;\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'availableDomains.list',\n\t\t\t\t\tvalue: items,\n\t\t\t\t\toperation: 'concat'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'currentDomainResultOffset',\n\t\t\t\t\tvalue: numResults,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'hasMoreResults',\n\t\t\t\t\tvalue: hasMoreResults,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t}\n\t\t\t]);\n\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t},\n\n\t\t[DOMAIN_UPDATE_REQUESTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t\tstate: {availableDomains},\n\t\t\t\t\tupdateState,\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\t\t\t\tconst domainId = !isEmpty(payload.domainId)\n\t\t\t\t\t? payload.domainId\n\t\t\t\t\t: 'global';\n\t\t\t\tconst updateDomains = getUpdatedDomains(domainId, availableDomains);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'availableDomains',\n\t\t\t\t\tvalue: updateDomains,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t});\n\t\t\t\tdispatch(CONCOURSE_REBUILD_CONFIG_REQUESTED);\n\t\t\t}\n\t\t},\n\t\t[DOMAIN_CHANGE_REQUESTED]: domainChangeEffect,\n\t\t[DOMAIN_RESET_REQUESTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\titem: {id}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\t\t\t\ttrack(coeffects, METRICS.DOMAIN_REFRESH, {\n\t\t\t\t\tmenuGroup: 'Domain',\n\t\t\t\t\tdefaultDomain: id\n\t\t\t\t});\n\t\t\t\tconst referencePickerEnabled = getBooleanProperty(\n\t\t\t\t\tSYS_PROPS.UI.DOMAIN_REFERENCE_PICKER_ENABLED\n\t\t\t\t);\n\n\t\t\t\tif (referencePickerEnabled) {\n\t\t\t\t\tdispatch(DOMAIN_CHANGE_REQUESTED);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DOMAIN_CHANGE_REQUESTED, {data: {value: id}});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[DOMAIN_CHANGE_SUCCEEDED]: {\n\t\t\teffect: async () => {\n\t\t\t\tawait idbMenuCache.remove();\n\t\t\t\twindow.location.reload();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","/* istanbul ignore file */\n// ignoring for coverage since this deals mostly with dom\nimport {isSupportedExperience} from '../behaviors/core-ui-iframe-behavior';\n\nexport default function onIframeLoad(iframe, cb) {\n\tif (!iframe) return cb();\n\tif (\n\t\tiframe?.contentDocument?.readyState === 'complete' ||\n\t\tiframe?.contentDocument?.readyState === 'uninitialized'\n\t)\n\t\treturn cb();\n\tlet path = iframe?.contentDocument?.location?.pathname;\n\n\tif (path?.startsWith('/')) {\n\t\tpath = path.substring(1);\n\t}\n\n\tif (\n\t\tisSupportedExperience({\n\t\t\tcontext: {path}\n\t\t})\n\t)\n\t\treturn cb();\n\n\tconst onReadyStateChange = () => {\n\t\tif (iframe?.contentDocument?.readyState === 'complete') {\n\t\t\tcb();\n\t\t\tiframe.removeEventListener('readystatechange', onReadyStateChange);\n\t\t}\n\t};\n\n\tiframe?.contentDocument?.addEventListener(\n\t\t'readystatechange',\n\t\tonReadyStateChange\n\t);\n}\n","import {createHttpEffect} from '@devsnc/unav-utils';\nimport {ENABLED_PLUGINS_REFRESHED} from './actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\nimport registerLifecycleFn from '../../utils/registerLifecycleFn';\nimport cache from '../../utils/cache';\nimport onIframeLoad from '../../utils/onIframeLoad';\nimport {\n\tINITIAL_EXPERIENCE_PAGE_LOADED,\n\tCLASSIC,\n\tMETRICS\n} from '../../constants';\nimport {END_TRACK_TIME} from '../performance-metrics-behavior/actions';\nimport {FETCH_PLUGINS_TIME_PATH} from '../performance-metrics-behavior/constants';\nimport {trackStartTime} from '../performance-metrics-behavior/helpers';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\nexport const PLUGINS_REFRESH_REQUESTED = 'PLUGINS#REFRESH_REQUESTED';\nexport const PLUGINS_REFRESH_REQUEST_SUCCEEDED =\n\t'PLUGINS#REFRESH_REQUEST_SUCCEEDED';\n\nexport const refreshAvailablePlugins = createHttpEffect(\n\t'/api/now/uxf/databroker/exec',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'payload',\n\t\tbatch: true,\n\t\tsuccessActionType: PLUGINS_REFRESH_REQUEST_SUCCEEDED\n\t}\n);\n\nconst enablePlugins = (dispatch, updateState) => {\n\tconst enabledPlugins = cache.get('enabledPlugins');\n\tif (enabledPlugins) {\n\t\tupdateState({enabledPlugins});\n\t\tdispatch(ENABLED_PLUGINS_REFRESHED, {\n\t\t\tenabledPlugins: enabledPlugins\n\t\t});\n\t} else {\n\t\tdispatch(PLUGINS_REFRESH_REQUESTED, {\n\t\t\tpayload: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'TRANSFORM',\n\t\t\t\t\tdefinitionSysId: '0f5459db40422010f8774d1a29c70a10',\n\t\t\t\t\tinputValues: {\n\t\t\t\t\t\tplugins: {\n\t\t\t\t\t\t\ttype: 'JSON_LITERAL',\n\t\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t\t'[\"com.glide.i18n\", \"com.sn_components_omnichannel_interaction\", \"com.glide.interaction.awa\", \"com.sn_openframe\", \"com.glideapp.dashboards\", \"com.snc.pa\", \"com.glide.cs.collab\", \"com.glide.guided_tours\", \"com.sn_help_assistant\", \"com.glide.appsee\", \"com.servicenow_uxa_dashboard\", \"sn_ne_menu_editor\", \"com.sn_ip_survey\", \"sn_generative_ai\"]'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t}\n};\n\nexport default {\n\tname: 'ENABLED_PLUGINS_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({dispatch, updateState, host}) => {\n\t\t\t\tregisterLifecycleFn(() => {\n\t\t\t\t\tif (host?.selectedContent?.route === CLASSIC)\n\t\t\t\t\t\tonIframeLoad(getCoreUiIframe(host), () =>\n\t\t\t\t\t\t\tenablePlugins(dispatch, updateState)\n\t\t\t\t\t\t);\n\t\t\t\t\telse enablePlugins(dispatch, updateState);\n\t\t\t\t}, INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t\t}\n\t\t},\n\t\t[PLUGINS_REFRESH_REQUESTED]: trackStartTime(\n\t\t\trefreshAvailablePlugins,\n\t\t\tFETCH_PLUGINS_TIME_PATH\n\t\t),\n\t\t[PLUGINS_REFRESH_REQUEST_SUCCEEDED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {result}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst enabledPlugins = result[0]?.executionResult?.output;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'enabledPlugins',\n\t\t\t\t\tvalue: enabledPlugins,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t\tcache.set('enabledPlugins', enabledPlugins);\n\n\t\t\t\tdispatch(ENABLED_PLUGINS_REFRESHED, {\n\t\t\t\t\tenabledPlugins: enabledPlugins\n\t\t\t\t});\n\n\t\t\t\tdispatch(END_TRACK_TIME, {\n\t\t\t\t\tcoeffects: coeffects,\n\t\t\t\t\tmetric: METRICS.PLUGINS_FETCHED,\n\t\t\t\t\tpath: FETCH_PLUGINS_TIME_PATH\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import isEmpty from 'lodash/isEmpty';\nimport {createHttpEffect} from '@devsnc/unav-utils';\n// eslint-disable-next-line no-restricted-imports\nimport {guid} from '@servicenow/ui-internal';\nimport {\n\tUSER_UI_NOTIFICATION_REQUESTED,\n\tUSER_SESSION_NOTIFICATION_REQUESTED,\n\tUSER_NOTIFICATIONS_SUCCEEDED\n} from './actions';\n\n//  Grab any Session Notifications that may be waiting on the server\nconst getUserNotifications = createHttpEffect('/api/now/session/notification', {\n\tmethod: 'GET',\n\tbatch: false,\n\tsuccessActionType: USER_NOTIFICATIONS_SUCCEEDED\n});\n\nconst getAlert = (\n\tmessage,\n\tid,\n\tshouldCreateHTMLElement = true,\n\tautoDismissConfig = {}\n) => {\n\treturn {\n\t\tid: id,\n\t\tstatus:\n\t\t\tmessage.type === 'error'\n\t\t\t\t? 'critical'\n\t\t\t\t: message.type === 'system' || message.type === 'access'\n\t\t\t\t? 'info'\n\t\t\t\t: message.type === 'auth'\n\t\t\t\t? 'warning'\n\t\t\t\t: message.type,\n\t\ticon:\n\t\t\tmessage.type === 'warning'\n\t\t\t\t? 'check-circle-outline'\n\t\t\t\t: message.type === 'error'\n\t\t\t\t? 'exclamation-triangle-outline'\n\t\t\t\t: message.type === 'auth'\n\t\t\t\t? 'exclamation-triangle-outline'\n\t\t\t\t: 'info-circle-outline',\n\t\tcontent: {\n\t\t\ttype: shouldCreateHTMLElement ? 'html' : 'string',\n\t\t\tvalue: message.text\n\t\t},\n\t\taction: {type: 'dismiss'},\n\t\tautoDismissConfig: autoDismissConfig\n\t};\n};\n\nconst moveUserMsgContent = (host, totalAlerts) => {\n\tconst userNotifContainer = host.shadowRoot.querySelector(\n\t\t'.user-notification-container.is-visible'\n\t);\n\tif (!userNotifContainer) return;\n\n\tconst txnMessageContainer = host.shadowRoot.querySelector(\n\t\t'.sn-transaction-status-message.is-visible'\n\t);\n\tconst messageStackContainer = host.shadowRoot.querySelector(\n\t\t'.message-stack-container.is-visible'\n\t);\n\tlet position = totalAlerts * 60 + 58;\n\tif (txnMessageContainer) {\n\t\tposition += 40;\n\t}\n\n\tif (messageStackContainer) {\n\t\tposition += 40;\n\t}\n\n\tif (txnMessageContainer && messageStackContainer) {\n\t\tposition += 16;\n\t}\n\tuserNotifContainer.style.top = position + 'px';\n};\n\nexport default {\n\tname: 'USER_NOTIFICATION_BEHAVIOR',\n\tinitialState: {\n\t\tuserSessionNotifications: [],\n\t\tuserUINotifications: []\n\t},\n\tactionHandlers: {\n\t\t[USER_UI_NOTIFICATION_REQUESTED]: {\n\t\t\teffect: ({\n\t\t\t\thost,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tmessage,\n\t\t\t\t\t\tshouldCreateHTMLElement,\n\t\t\t\t\t\tautoDismiss = true,\n\t\t\t\t\t\tautoDismissConfig = {}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstate: {userUINotifications},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst id = `user-ui-notification-alert-${guid()}`;\n\n\t\t\t\tconst HDS_MIN_DURATION = 3000;\n\t\t\t\tconst rawDuration = message?.duration ?? 10000;\n\t\t\t\tconst defaultAutoDismissConfig = {\n\t\t\t\t\tenableAutoDismiss: autoDismiss,\n\t\t\t\t\tduration:\n\t\t\t\t\t\ttypeof rawDuration === 'number' && rawDuration < HDS_MIN_DURATION\n\t\t\t\t\t\t\t? HDS_MIN_DURATION\n\t\t\t\t\t\t\t: rawDuration\n\t\t\t\t};\n\n\t\t\t\tconst finalAutoDismissConfig = isEmpty(autoDismissConfig)\n\t\t\t\t\t? defaultAutoDismissConfig\n\t\t\t\t\t: {...defaultAutoDismissConfig, ...autoDismissConfig};\n\n\t\t\t\tconst newMessage = getAlert(\n\t\t\t\t\tmessage,\n\t\t\t\t\tid,\n\t\t\t\t\tshouldCreateHTMLElement,\n\t\t\t\t\tfinalAutoDismissConfig\n\t\t\t\t);\n\t\t\t\tconst totalAlerts = userUINotifications\n\t\t\t\t\t? userUINotifications.length + 1\n\t\t\t\t\t: 1;\n\t\t\t\tif (host) moveUserMsgContent(host, totalAlerts);\n\t\t\t\tupdateState({\n\t\t\t\t\tuserUINotifications: userUINotifications\n\t\t\t\t\t\t? [...userUINotifications, newMessage]\n\t\t\t\t\t\t: [newMessage]\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[USER_SESSION_NOTIFICATION_REQUESTED]: getUserNotifications,\n\t\t[USER_NOTIFICATIONS_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\thost,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result}\n\t\t\t\t},\n\t\t\t\tstate: {userSessionNotifications, userUINotifications},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (result.length < 1) return;\n\t\t\t\tconst filteredItems = result.filter(\n\t\t\t\t\t(notification) =>\n\t\t\t\t\t\t!isEmpty(notification.text) && notification.type !== 'nav'\n\t\t\t\t);\n\t\t\t\tlet authNotification = null;\n\t\t\t\tconst newItems = filteredItems.reduce((accumulator, r) => {\n\t\t\t\t\tconst id = `user-notification-alert-${guid()}`;\n\t\t\t\t\tif (r.type === 'auth') {\n\t\t\t\t\t\t// if authNotification already captured, we can ignore subsequent auth notifications\n\t\t\t\t\t\tif (!authNotification) {\n\t\t\t\t\t\t\t// grab the first notification of auth type\n\t\t\t\t\t\t\tauthNotification = getAlert(r, id);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\taccumulator.push(getAlert(r, id));\n\t\t\t\t\t}\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}, []);\n\n\t\t\t\tif (userUINotifications?.length) {\n\t\t\t\t\tmoveUserMsgContent(host, userUINotifications.length);\n\t\t\t\t}\n\n\t\t\t\t// Concocting auth notifications (if present) with all other type of notifications\n\t\t\t\tconst concoctedNotifications = authNotification\n\t\t\t\t\t? [...newItems, authNotification]\n\t\t\t\t\t: newItems;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tuserSessionNotifications: userSessionNotifications\n\t\t\t\t\t\t? [...userSessionNotifications, ...concoctedNotifications]\n\t\t\t\t\t\t: concoctedNotifications\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['NOW_ALERT_LIST#ITEMS_SET']: {\n\t\t\teffect: ({host, action, state: {userUINotifications}, updateState}) => {\n\t\t\t\tconst {payload} = action;\n\t\t\t\tconst {value} = payload;\n\n\t\t\t\tconst visibleAlertIds = new Set(value.map((item) => item.id));\n\t\t\t\tconst filteredItems = userUINotifications.filter((notification) =>\n\t\t\t\t\tvisibleAlertIds.has(notification.id)\n\t\t\t\t);\n\t\t\t\tmoveUserMsgContent(host, filteredItems.length);\n\t\t\t\tupdateState({userUINotifications: filteredItems});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['NOW_ALERT_LIST#ITEM_ACTION_CLICKED']: {\n\t\t\teffect: ({\n\t\t\t\thost,\n\t\t\t\taction,\n\t\t\t\tstate: {userSessionNotifications, userUINotifications},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst {payload} = action;\n\t\t\t\tconst {item} = payload;\n\t\t\t\tif (item.id.indexOf('user-notification-alert') === 0) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tuserSessionNotifications: userSessionNotifications.filter(\n\t\t\t\t\t\t\t(n) => n.id !== item.id\n\t\t\t\t\t\t)\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst filteredItems = userUINotifications.filter(\n\t\t\t\t\t\t(n) => n.id !== item.id\n\t\t\t\t\t);\n\t\t\t\t\tmoveUserMsgContent(host, filteredItems.length);\n\t\t\t\t\tupdateState({userUINotifications: filteredItems});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import {getProperty} from 'sn-uxpage-presource';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {\n\tLOGOUT_CONFIRMATION_YES_CLICKED,\n\tLOGOUT_REQUESTED\n} from '../../behaviors/logout-behavior/actions';\nimport {\n\tADD_HISTORY_ENTRY,\n\tHISTORY_COMMUNICATED_TO_SW\n} from '../history-behavior/actions';\nimport {SYS_PROPS, USER_PREF_UPDATED, MENU_FAVORITES} from '../../constants';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {get} from 'lodash';\nimport {REPLACE_MENU_SUBITEMS} from '../menu-modifier-behavior/actions';\nimport {\n\tFAVORITES_COMMUNICATED_TO_SW,\n\tSYNC_ALL_MENU_AND_TITLE\n} from '../favorites-behavior/actions';\nimport {USER_IMPERSONATE_SUCCEEDED} from '@devsnc/sn-impersonation';\n\nconst NOW_SCOPE = '/now';\nconst X_SCOPE = '/x';\n\nconst serviceWorkerEvents = {\n\tconfigureServiceWorker: 'POLARIS_CONFIGURE_SW',\n\tclearServiceWorkerCache: 'POLARIS_CLEAR_SW_CACHE',\n\treloadPage: 'POLARIS_RELOAD_PAGE',\n\tmsgChannelInitPort: 'POLARIS_MSG_CHANNEL_INIT_PORT',\n\tcreateHistoryItem: 'POLARIS_HISTORY_ITEMS',\n\tupdateFavoriteItems: 'POLARIS_FAVORITE_ITEMS_UPDATE'\n};\n\nconst sysProps = {\n\tconfig: 'glide.ui.polaris.service_worker_cache_config'\n};\n\nlet history, favorites, historyHandling, favoriteHandling;\n\nif ('BroadcastChannel' in self) {\n\tconst channel = new BroadcastChannel('polaris-mcp-sw');\n\tchannel.addEventListener('message', (event) => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log('Received Message from SW: ', event.data);\n\t\tif (event.data.type === serviceWorkerEvents.reloadPage) {\n\t\t\tconst shouldReload = get(event.data.payload, 'shouldReload', false);\n\t\t\tif (shouldReload) {\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t}\n\t});\n}\n\nconst messageChannel = new MessageChannel();\n// Listen to the response\nmessageChannel.port1.onmessage = (event) => {\n\t// eslint-disable-next-line no-console\n\tconsole.log('Received Message from SW on the Message Channel: ', event.data);\n\tif (event.data && event.data.type === serviceWorkerEvents.reloadPage) {\n\t\tconst shouldReload = get(event.data.payload, 'shouldReload', false);\n\t\tif (shouldReload) {\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n};\n\nconst resolveRegistrations = async () => {\n\tif (!navigator.serviceWorker) return [];\n\n\treturn (await navigator.serviceWorker.getRegistrations()).filter(\n\t\t(registration) =>\n\t\t\twindow.location.pathname.startsWith(new URL(registration.scope).pathname)\n\t);\n};\n\nconst postClearCacheMsg = async () => {\n\t(await resolveRegistrations()).forEach((registration) => {\n\t\tregistration.active?.postMessage({\n\t\t\ttype: serviceWorkerEvents.clearServiceWorkerCache\n\t\t});\n\t});\n};\n\nexport default {\n\tname: 'POLARIS_SERVICE_WORKER',\n\tactionHandlers: {\n\t\t[LOGOUT_REQUESTED]: {\n\t\t\teffect: () => {\n\t\t\t\tif (!getBooleanProperty(SYS_PROPS.SYS_LOGOUT_PROMPT))\n\t\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t[LOGOUT_CONFIRMATION_YES_CLICKED]: {\n\t\t\teffect: () => {\n\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tif (name === 'userSession' && !value.isLoggedIn) postClearCacheMsg();\n\t\t\t\tif (\n\t\t\t\t\tname === 'userMeta' &&\n\t\t\t\t\tObject.keys(previousValue || {}).length === 0 &&\n\t\t\t\t\tvalue?.sys_id\n\t\t\t\t) {\n\t\t\t\t\thistoryHandling = (event) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.data.user_sys_id === value.sys_id &&\n\t\t\t\t\t\t\tevent.data.type === serviceWorkerEvents.createHistoryItem\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tdispatch(ADD_HISTORY_ENTRY, {\n\t\t\t\t\t\t\t\t...event.data.payload,\n\t\t\t\t\t\t\t\tproperties: event.data.properties\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tfavoriteHandling = (event) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.data.user_sys_id === value.sys_id &&\n\t\t\t\t\t\t\tevent.data.type === serviceWorkerEvents.updateFavoriteItems\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst callback = () =>\n\t\t\t\t\t\t\t\tdispatch(REPLACE_MENU_SUBITEMS, {\n\t\t\t\t\t\t\t\t\tmenuId: MENU_FAVORITES,\n\t\t\t\t\t\t\t\t\tsubItems: event.data.favoriteMenu.subItems\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tdispatch(SYNC_ALL_MENU_AND_TITLE, {\n\t\t\t\t\t\t\t\tfavoriteMenu: event.data.favoriteMenu,\n\t\t\t\t\t\t\t\tcallback\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\thistory = new BroadcastChannel('historySync');\n\t\t\t\t\thistory.addEventListener('message', historyHandling);\n\n\t\t\t\t\tfavorites = new BroadcastChannel('favoritesSync');\n\t\t\t\t\tfavorites.addEventListener('message', favoriteHandling);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[actionTypes.COMPONENT_RENDER_REQUESTED]: {\n\t\t\teffect: async () => {\n\t\t\t\tconst config = JSON.parse(getProperty(sysProps.config)) || {\n\t\t\t\t\treferrerScope: '/now/',\n\t\t\t\t\tcacheEnabled: true,\n\t\t\t\t\tsetTimeoutDelay: 5000,\n\t\t\t\t\tcacheableRequests: {\n\t\t\t\t\t\t'/api/now/uxframework/macroponent_drivers': {\n\t\t\t\t\t\t\tmethods: ['POST'],\n\t\t\t\t\t\t\tttl: 300000\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'/api/now/uxframework/component_drivers': {\n\t\t\t\t\t\t\tmethods: ['POST'],\n\t\t\t\t\t\t\tttl: 300000\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\t(await resolveRegistrations()).forEach((registration) => {\n\t\t\t\t\tregistration.active?.postMessage({\n\t\t\t\t\t\ttype: serviceWorkerEvents.configureServiceWorker,\n\t\t\t\t\t\tpayload: config\n\t\t\t\t\t});\n\t\t\t\t\tconst scopePath = new URL(registration.scope).pathname;\n\t\t\t\t\tif (scopePath === NOW_SCOPE || scopePath === X_SCOPE) {\n\t\t\t\t\t\tregistration.active?.postMessage(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: serviceWorkerEvents.msgChannelInitPort,\n\t\t\t\t\t\t\t\tpayload: {}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[messageChannel.port2]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[USER_PREF_UPDATED]: {\n\t\t\teffect: async () => {\n\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t[USER_IMPERSONATE_SUCCEEDED]: {\n\t\t\teffect: async () => {\n\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t['USER_PREFERENCES#UPDATE_LANGUAGE_SUCCEEDED']: {\n\t\t\teffect: async () => {\n\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t['USER_PREFERENCES#UPDATE_TIMEZONE_SUCCEEDED']: {\n\t\t\teffect: async () => {\n\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t['USER_PREFERENCES#UPDATE_COUNTRY_SUCCEEDED']: {\n\t\t\teffect: async () => {\n\t\t\t\tpostClearCacheMsg();\n\t\t\t}\n\t\t},\n\t\t[HISTORY_COMMUNICATED_TO_SW]: {\n\t\t\teffect: async ({action: {payload}, properties}) => {\n\t\t\t\thistory.postMessage({\n\t\t\t\t\ttype: serviceWorkerEvents.createHistoryItem,\n\t\t\t\t\tuser_sys_id: properties.userMeta.sys_id,\n\t\t\t\t\tpayload\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[FAVORITES_COMMUNICATED_TO_SW]: {\n\t\t\teffect: async ({\n\t\t\t\tproperties,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {favoriteMenu}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (favorites) {\n\t\t\t\t\tfavorites.postMessage({\n\t\t\t\t\t\ttype: serviceWorkerEvents.updateFavoriteItems,\n\t\t\t\t\t\tuser_sys_id: properties.userMeta.sys_id,\n\t\t\t\t\t\tfavoriteMenu\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {ARIA_LIVE_MESSAGE_ADDED, ARIA_LIVE_MESSAGE_REMOVED} from './actions';\nimport {ARIA_LIVE_STATE_PATH, BEHAVIOR_NAME} from './constants';\n\nconst handleAriaLiveMessageAdded = ({\n\tupdateState,\n\taction: {\n\t\tpayload: {message}\n\t},\n\tdispatch\n}) => {\n\tupdateState({\n\t\tpath: ARIA_LIVE_STATE_PATH,\n\t\tvalue: message,\n\t\toperation: 'push',\n\t\tshouldRender: true\n\t});\n\n\t// auto clear out aria-live message\n\tsetTimeout(() => {\n\t\tdispatch(ARIA_LIVE_MESSAGE_REMOVED);\n\t}, 1000);\n};\n\nconst handleAriaLiveMessageRemoved = ({updateState}) => {\n\tupdateState({\n\t\tpath: ARIA_LIVE_STATE_PATH,\n\t\tvalue: [],\n\t\toperation: 'set',\n\t\tshouldRender: true\n\t});\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tariaLiveMessages: []\n\t},\n\tactionHandlers: {\n\t\t[ARIA_LIVE_MESSAGE_ADDED]: {\n\t\t\teffect: handleAriaLiveMessageAdded,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ARIA_LIVE_MESSAGE_REMOVED]: {\n\t\t\teffect: handleAriaLiveMessageRemoved,\n\t\t\tmodifier: {name: 'debounce', delay: 500},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createAmbSubscriptionEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.__esModule\n\t\t\t\t\tif (cjsModule && 'createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t\t} else if ('createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.createAmbSubscriptionEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t} });","import {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {\n\tQUERY_UNREAD_COUNT_SUCCEEDED,\n\tCOLLAB_CHAT_AMB_MESSAGE_RECEIVED,\n\tCOLLAB_RECORD_QUERY_SUCCEEDED\n} from './constants';\n\nexport const collabChatAMBChannel = createAmbSubscriptionEffect(\n\t'/collabchat/user/:userId',\n\t{\n\t\tmessageReceivedActionType: COLLAB_CHAT_AMB_MESSAGE_RECEIVED\n\t}\n);\n\nexport const queryUnreadCount = createGraphQLEffect(\n\t`\n\tquery {\n\t\tGlideCollabChat_Query {\n\t\t\tgetUnreadConversationCount\n\t\t}\n\t}\n\t`,\n\t{\n\t\tsuccessActionType: QUERY_UNREAD_COUNT_SUCCEEDED\n\t}\n);\n\nexport const queryCollabRecord = createGraphQLEffect(\n\t`query ($queryConditions: String!) {\n\t\tGlideRecord_Query {\n\t\t  sys_cs_collab_record(queryConditions: $queryConditions) {\n\t\t\t_results {\n\t\t\t  table {\n\t\t\t\tvalue\n\t\t\t  }\n\t\t\t  document {\n\t\t\t\tvalue\n\t\t\t  }\n\t\t\t  collab_chat {\n\t\t\t\tvalue\n\t\t\t  }\n\t\t\t}\n\t\t  }\n\t\t}\n\t  }\n\t  `,\n\t{\n\t\tvariableList: ['queryConditions'],\n\t\tsuccessActionType: COLLAB_RECORD_QUERY_SUCCEEDED\n\t}\n);\n","import {\n\tqueryUnreadCount,\n\tcollabChatAMBChannel,\n\tqueryCollabRecord\n} from './dataSources';\nimport {\n\tCOLLAB_CHAT_BEHAVIOR,\n\tCOLLAB_CHAT_AMB_MESSAGE_RECEIVED,\n\tSUBSCRIBE_TO_COLLAB_CHAT,\n\tINIT_COLLAB_CHAT,\n\tQUERY_UNREAD_COUNT,\n\tQUERY_UNREAD_COUNT_SUCCEEDED,\n\tQUERY_COLLAB_RECORD,\n\tCOLLAB_RECORD_QUERY_SUCCEEDED,\n\tOPEN_COLLAB_CHAT,\n\tOPEN_COLLAB_CHAT_IN_DOCK,\n\tCREATE_COLLAB_CHAT_MUTATION_SUCCEEDED,\n\tCOLLAB_MODAL_OPENED,\n\tCOLLAB_MODAL_CLOSED,\n\tFLOATING_CONTAINER_RESIZED,\n\tCOLLAB_PANEL_OPENED,\n\tTOGGLE_SEARCH_VISIBILITY,\n\tCOLLAB_CHAT_MENU_HEADER_SEND_COMMAND,\n\tCHAT_MENU_ID,\n\tCOLLAB_PANEL_HEADER_TEXT\n} from './constants';\nimport {METRICS, SYS_PROPS} from '../../constants';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../components/sn-polaris-layout/actions';\nimport get from 'lodash/get';\nimport isInteger from 'lodash/isInteger';\nimport track from '../../utils/track';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\n\nconst initCollabChat = ({\n\tdispatch,\n\tstate,\n\tupdateState,\n\tproperties: {userMeta}\n}) => {\n\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\timport('sn-oe-sfs');\n\t\tdispatch(SUBSCRIBE_TO_COLLAB_CHAT, {\n\t\t\tuserId: get(userMeta, 'sys_id', '0'),\n\t\t\tsubscribe: true\n\t\t});\n\t\tdispatch(QUERY_UNREAD_COUNT);\n\t\tupdateState({\n\t\t\tcollabChatState: {\n\t\t\t\t...state.collabChatState,\n\t\t\t\tcollabChatLoaded: true\n\t\t\t}\n\t\t});\n\t});\n};\n\n/**\n * Use value returned from AMB to update the unread count\n */\nconst handleAMBMessage = ({action, updateState}) => {\n\tconst count = get(action, 'payload.data.count');\n\n\tif (isInteger(count) && count > -1) {\n\t\tupdateState(({state}) => {\n\t\t\treturn {\n\t\t\t\tcontextualMenu: {\n\t\t\t\t\t...state.contextualMenu,\n\t\t\t\t\tunreadChatCount: count\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n};\n\n/**\n * Use value returned from GraphQL to update the unread count\n */\nconst handleUnreadCount = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tstate: {contextualMenu},\n\t\tupdateState\n\t} = coeffects;\n\tconst count = get(\n\t\taction,\n\t\t'payload.data.GlideCollabChat_Query.getUnreadConversationCount'\n\t);\n\n\tif (isInteger(count) && count > -1) {\n\t\tupdateState({\n\t\t\tcontextualMenu: {\n\t\t\t\t...contextualMenu,\n\t\t\t\tunreadChatCount: count\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst handlerCollabQuery = ({action, dispatch, state}) => {\n\tconst results = get(\n\t\taction,\n\t\t'payload.data.GlideRecord_Query.sys_cs_collab_record._results'\n\t);\n\n\tconst isMultiChatEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.COLLAB_CHAT_ENABLE_MULTI_CHATS,\n\t\tfalse\n\t);\n\n\tif (isMultiChatEnabled || !results || results.length == 0) {\n\t\tdispatch(COLLAB_MODAL_OPENED, {\n\t\t\tparentTable: state.parentTable,\n\t\t\tparentSysId: state.parentSysId,\n\t\t\tconfig: state.config\n\t\t});\n\t} else {\n\t\tconst collabChatId = get(results[0], 'collab_chat.value');\n\t\tif (collabChatId) {\n\t\t\tdispatch(OPEN_COLLAB_CHAT_IN_DOCK, {\n\t\t\t\tid: collabChatId\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleOpenDockedChat = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\tupdateState({\n\t\topenChat: {\n\t\t\tcollabChatSysId: payload.id,\n\t\t\tmessageSysId: payload.messageSysId || null,\n\t\t\tpayload,\n\t\t\ttimestamp: Date.now()\n\t\t}\n\t});\n\tdispatch(CLOSE_CONTEXTUAL_MENU);\n};\n\nconst handleOpenNewDockedChat = (coeffects) => {\n\tconst {action, updateState} = coeffects;\n\tconst collabChatSysId = get(\n\t\taction,\n\t\t'payload.data.GlideCollabChat_Mutation.createChat.sysId'\n\t);\n\twindow.requestAnimationFrame(() => {\n\t\tupdateState({\n\t\t\topenChat: {\n\t\t\t\tcollabChatSysId: collabChatSysId,\n\t\t\t\ttimestamp: Date.now()\n\t\t\t}\n\t\t});\n\t});\n};\n\nexport default {\n\tname: COLLAB_CHAT_BEHAVIOR,\n\tinitialState: {\n\t\tparentTable: null,\n\t\tparentSysId: null,\n\t\tconfig: {}\n\t},\n\tactionHandlers: {\n\t\t[INIT_COLLAB_CHAT]: {\n\t\t\teffect: initCollabChat,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SUBSCRIBE_TO_COLLAB_CHAT]: collabChatAMBChannel,\n\t\t[COLLAB_CHAT_AMB_MESSAGE_RECEIVED]: {\n\t\t\teffect: handleAMBMessage,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[QUERY_UNREAD_COUNT]: queryUnreadCount,\n\t\t[QUERY_UNREAD_COUNT_SUCCEEDED]: {\n\t\t\teffect: handleUnreadCount,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[QUERY_COLLAB_RECORD]: queryCollabRecord,\n\t\t[COLLAB_RECORD_QUERY_SUCCEEDED]: {\n\t\t\teffect: handlerCollabQuery,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[OPEN_COLLAB_CHAT]: {\n\t\t\teffect: ({action, dispatch, updateState}) => {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tfields: {parentSysId, parentTable, config, collabChatId}\n\t\t\t\t\t}\n\t\t\t\t} = action;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tparentTable,\n\t\t\t\t\tparentSysId,\n\t\t\t\t\tconfig\n\t\t\t\t});\n\n\t\t\t\tif (collabChatId) {\n\t\t\t\t\tdispatch(OPEN_COLLAB_CHAT_IN_DOCK, {\n\t\t\t\t\t\tid: collabChatId\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(QUERY_COLLAB_RECORD, {\n\t\t\t\t\t\tqueryConditions: `table=${parentTable}^document=${parentSysId}`\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[OPEN_COLLAB_CHAT_IN_DOCK]: {\n\t\t\teffect: handleOpenDockedChat,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CREATE_COLLAB_CHAT_MUTATION_SUCCEEDED]: {\n\t\t\teffect: handleOpenNewDockedChat,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[TOGGLE_SEARCH_VISIBILITY]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {contextualMenuState},\n\t\t\t\t\taction: {payload},\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\tisCollabChatSearchEnabled: payload\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\ttrack(coeffects, METRICS.TOGGLED_COLLAB_CHAT_SEARCH, {\n\t\t\t\t\tsearchExpanded: payload\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COLLAB_MODAL_OPENED]: {\n\t\t\teffect: ({action: {payload}, updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tcollabChatState: {\n\t\t\t\t\t\tshowCreateCollabChatModal: true,\n\t\t\t\t\t\tparentTable: payload.parentTable,\n\t\t\t\t\t\tparentSysId: payload.parentSysId,\n\t\t\t\t\t\tconfig: payload.config\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COLLAB_MODAL_CLOSED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {openChatPanel, collabChatId}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tcollabChatState: {\n\t\t\t\t\t\tshowCreateCollabChatModal: false,\n\t\t\t\t\t\tparentTable: null,\n\t\t\t\t\t\tparentSysId: null,\n\t\t\t\t\t\tconfig: {}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (openChatPanel && collabChatId) {\n\t\t\t\t\tdispatch(OPEN_COLLAB_CHAT_IN_DOCK, {\n\t\t\t\t\t\tcollabChatId: collabChatId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COLLAB_PANEL_OPENED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate: {contextualMenu, contextualMenuState},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {collabChatId}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\tshowMenu: true,\n\t\t\t\t\t\tmenuType: CHAT_MENU_ID,\n\t\t\t\t\t\theaderText: COLLAB_PANEL_HEADER_TEXT,\n\t\t\t\t\t\tcollabChatId: collabChatId\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\tprimaryMenuId: CHAT_MENU_ID\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FLOATING_CONTAINER_RESIZED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\t\t\t\tupdateState({\n\t\t\t\t\tfloatingContainerSize: payload[0].contentRect.width\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COLLAB_CHAT_MENU_HEADER_SEND_COMMAND]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {contextualMenuState},\n\t\t\t\t\taction: {payload},\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\tcommand: payload\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tactions: {\n\t\t[QUERY_UNREAD_COUNT]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[QUERY_COLLAB_RECORD]: {\n\t\t\tprivate: true\n\t\t}\n\t}\n};\n","export const INBOX = {\n\tWORK_ITEMS_SUBSCRIBE_REQUESTED:\n\t\t'NOTIFICATION_PROVIDER_INBOX_WORK_ITEMS_SUBSCRIBE_REQUESTED',\n\tWORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS:\n\t\t'NOTIFICATION_PROVIDER_INBOX_WORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS',\n\tWORK_ITEMS_SUBSCRIBED_FAILED:\n\t\t'NOTIFICATION_PROVIDER_INBOX_WORK_ITEMS_SUBSCRIBE_REQUESTED_FAILED',\n\tWORK_ITEMS_CHANGED: 'NOTIFICATION_PROVIDER_INBOX_WORK_ITEMS_CHANGED',\n\tACTIVELY_FETCH_WORK_ITEM:\n\t\t'NOTIFICATION_PROVIDER_INBOX_ACTIVELY_FETCH_WORK_ITEM',\n\tACTIVELY_FETCH_WORK_ITEM_SUCCEEDED:\n\t\t'NOTIFICATION_PROVIDER_INBOX_ACTIVELY_FETCH_WORK_ITEM_SUCCEEDED',\n\tACTIVELY_FETCH_WORK_ITEM_FAILURE:\n\t\t'NOTIFICATION_PROVIDER_INBOX_ACTIVELY_FETCH_WORK_ITEM_FAILURE'\n};\n\nexport const UI_NOTIFICATIONS = {\n\tSUBSCRIBE_MESSAGE_RECEIVED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_SUBSCRIBE_MESSAGE_RECEIVED',\n\tSUBSCRIBE_REQUESTED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_SUBSCRIBE_REQUESTED',\n\tSUBSCRIBE_SUCCEEDED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_SUBSCRIBE_SUCCEEDED',\n\tSUBSCRIBE_FAILED: 'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_SUBSCRIBE_FAILED',\n\tFETCH_EXISTING_NOTIFICATIONS_REQUESTED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_FETCH_EXISTING_REQUESTED',\n\tFETCH_EXISTING_NOTIFICATIONS_SUCCEEDED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_FETCH_EXISTING_SUCCEEDED',\n\tFETCH_EXISTING_NOTIFICATIONS_FAILED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_FETCH_EXISTING_FAILED',\n\tUPDATE_EXISTING_NOTIFICATIONS_REQUESTED:\n\t\t'NOTIFICATION_PROVIDER_UI_NOTIFICATIONS_UPDATE_EXISTING_NOTIFICATIONS_REQUESTED',\n\tQUERY_NOTIFICATION_COUNT_SUCCEEDED: 'QUERY_ALERT_COUNT_SUCCEEDED',\n\tQUERY_NOTIFICATION_COUNT_ERROR: 'QUERY_ALERT_COUNT_ERROR'\n};\n","import {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {t} from 'sn-translate';\nimport {get} from 'lodash';\nimport {NOTIFY_REQUESTED, REFETCH_NOTIFICATIONS_REQUESTED} from '../actions';\nimport {INBOX} from './actions';\nconst {\n\tWORK_ITEMS_SUBSCRIBE_REQUESTED,\n\tWORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS,\n\tWORK_ITEMS_CHANGED,\n\tWORK_ITEMS_SUBSCRIBED_FAILED,\n\tACTIVELY_FETCH_WORK_ITEM,\n\tACTIVELY_FETCH_WORK_ITEM_SUCCEEDED,\n\tACTIVELY_FETCH_WORK_ITEM_FAILURE\n} = INBOX;\nimport {PREFERENCES} from '../constants';\nimport {FETCH_WORK_ITEM_QUERY} from './graphQL';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../../schedule-for-page-load-behavior/actions';\n\nconst TYPE = 'inbox';\n\nimport {\n\tgetBooleanPreferenceValue,\n\tgetBooleanProperty,\n\tSYS_PROPS\n} from '@devsnc/unav-utils';\nconst WORK_ITEM_CHANNEL_PATH = '/awa/work_item/:userId';\nconst GRAPHQL_WORK_ITEMS_PATH = 'data.GlideInboxAWA_Query.inboxItem.results';\n\nconst ambEffect = createAmbSubscriptionEffect(WORK_ITEM_CHANNEL_PATH, {\n\tsubscribeSucceededActionType: WORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS,\n\tsubscribeFailedActionType: WORK_ITEMS_SUBSCRIBED_FAILED,\n\tmessageReceivedActionType: WORK_ITEMS_CHANGED\n});\n\nconst typeNameIconMap = {\n\tCase: 'user-plus-outline',\n\tIncident: 'user-plus-outline',\n\t'Walk-up': 'user-plus-outline',\n\tChat: 'chat-outline',\n\tdefault: 'user-plus-outline'\n};\n\nexport const normalizeInboxPayload = (workItem, userPreferences) => {\n\tlet shortDescription;\n\tconst fieldsWithShortDesc = get(workItem, 'fieldValues', []).filter(\n\t\t(item) => item.keyName === 'short_description'\n\t);\n\tif (fieldsWithShortDesc.length > 0) {\n\t\tshortDescription = fieldsWithShortDesc[0].value;\n\t} else {\n\t\tshortDescription = get(workItem, 'serviceChannel.shortDescription');\n\t}\n\n\tconst isDesktopNotification = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.INBOX_DESKTOP_NOTIFICATION\n\t);\n\tconst id =\n\t\tget(workItem, 'documentDisplayValue') ||\n\t\tget(workItem, 'workItem.document_sys_id');\n\treturn {\n\t\tid,\n\t\ttitle: t('New {0}', get(workItem, 'typeName')),\n\t\tmessage: `${id}: ${shortDescription}`,\n\t\trecordType: get(workItem, 'workItem.document_table'),\n\t\ticon: typeNameIconMap[workItem.typeName] || typeNameIconMap.default,\n\t\ttimestamp: get(workItem, 'workItem.created_on'),\n\t\tisDesktopNotification: isDesktopNotification\n\t};\n};\n\nexport const activelyFetchWorkItem = createGraphQLEffect(\n\tFETCH_WORK_ITEM_QUERY,\n\t{\n\t\tsuccessActionType: ACTIVELY_FETCH_WORK_ITEM_SUCCEEDED,\n\t\terrorActionType: ACTIVELY_FETCH_WORK_ITEM_FAILURE\n\t}\n);\n\nexport default {\n\ttype: TYPE,\n\trequiredPlugins: ['com.sn_components_omnichannel_interaction'],\n\tregister: (coeffect) => {\n\t\tconst {properties, dispatch} = coeffect;\n\t\tconst sysId = get(properties, 'userMeta.sys_id', '');\n\t\tconst userPreferences = get(properties, 'userPreferences');\n\t\tconst userDesktopNotificationEnabled = getBooleanPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.INBOX_DESKTOP_NOTIFICATION\n\t\t);\n\n\t\tconst workItemNotificationsEnabled = getBooleanProperty(\n\t\t\tSYS_PROPS.AWA_WORK_ITEM_NOTIFICATIONS_ENABLED,\n\t\t\tfalse\n\t\t);\n\t\tconst workspaceInboxNotificationsEnabled = getBooleanPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.WORKSPACE_NOTIFICATIONS_INBOX_WORKSPACE\n\t\t);\n\n\t\tif (\n\t\t\tsysId &&\n\t\t\t(userDesktopNotificationEnabled ||\n\t\t\t\t(workItemNotificationsEnabled && workspaceInboxNotificationsEnabled))\n\t\t) {\n\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\taction: () => {\n\t\t\t\t\tdispatch(WORK_ITEMS_SUBSCRIBE_REQUESTED, {\n\t\t\t\t\t\tsubscribe: true,\n\t\t\t\t\t\tuserId: sysId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[WORK_ITEMS_SUBSCRIBE_REQUESTED]: ambEffect,\n\t\t[WORK_ITEMS_SUBSCRIBE_REQUESTED_SUCCESS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(ACTIVELY_FETCH_WORK_ITEM);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WORK_ITEMS_SUBSCRIBED_FAILED]: {\n\t\t\teffect: () => {\n\t\t\t\tconsole.error('Failure to connect to amb channel for notifications');\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WORK_ITEMS_CHANGED]: {\n\t\t\teffect: ({action, dispatch, properties: {userPreferences}}) => {\n\t\t\t\tconst data = get(action.payload, 'data', {});\n\t\t\t\tconst inboxItems = get(data, 'inboxItems', []);\n\t\t\t\tconst userDesktopNotificationEnabled = getBooleanPreferenceValue(\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\tPREFERENCES.INBOX_DESKTOP_NOTIFICATION\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\tinboxItems.length > 0 &&\n\t\t\t\t\tdata.isEntered &&\n\t\t\t\t\tuserDesktopNotificationEnabled\n\t\t\t\t) {\n\t\t\t\t\tconst workItem = inboxItems[0];\n\t\t\t\t\tdispatch(NOTIFY_REQUESTED, {\n\t\t\t\t\t\t...normalizeInboxPayload(workItem, userPreferences),\n\t\t\t\t\t\tfeature: 'inbox',\n\t\t\t\t\t\ttype: TYPE\n\t\t\t\t\t});\n\t\t\t\t} else if (data.areExited) {\n\t\t\t\t\tdispatch(REFETCH_NOTIFICATIONS_REQUESTED);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ACTIVELY_FETCH_WORK_ITEM]: activelyFetchWorkItem,\n\t\t[ACTIVELY_FETCH_WORK_ITEM_SUCCEEDED]: {\n\t\t\teffect: ({action, dispatch, properties: {userPreferences}}) => {\n\t\t\t\tconst workItems = get(action.payload, GRAPHQL_WORK_ITEMS_PATH, []);\n\t\t\t\tif (workItems.length > 0) {\n\t\t\t\t\t/*\n\t\t\t\t\t * We only care about the first item here because any other\n\t\t\t\t\t * notifications would have already been handled\n\t\t\t\t\t */\n\t\t\t\t\tconst workItem = workItems[0];\n\t\t\t\t\tdispatch(NOTIFY_REQUESTED, {\n\t\t\t\t\t\t...normalizeInboxPayload(workItem, userPreferences),\n\t\t\t\t\t\ttype: TYPE,\n\t\t\t\t\t\tfeature: 'inbox',\n\t\t\t\t\t\t// This fires once on load for an already-assigned work item.\n\t\t\t\t\t\t// Flag it so multi-tab coordination defers to any tab that\n\t\t\t\t\t\t// already showed this notification instead of re-popping it.\n\t\t\t\t\t\tisInitialFetch: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ACTIVELY_FETCH_WORK_ITEM_FAILURE]: {\n\t\t\teffect: () => {\n\t\t\t\tconsole.error('Error fetching existing work items');\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","export const FETCH_WORK_ITEM_QUERY = `\nquery {\n\tGlideInboxAWA_Query {\n\t\tinboxItem {\n\t\t\tworkItemRefetchTime\n\t\t\tworkItemFetchStrategy\n\t\t\tmaxWorkItemFetchAttempts\n\t\t\tserverTime\n\t\t\tresults{\n\t\t\t\tassignmentRule{\n\t\t\t\t\tpresenceAfterTimeout\n\t\t\t\t\tsysID\n\t\t\t\t\treassignOnTimeOut\n\t\t\t\t\tnumericTimeout\n\t\t\t\t}\n\t\t\t\tserviceChannel{\n\t\t\t\t\tworkItemCondition\n\t\t\t\t\tsysID\n\t\t\t\t\tassignToField\n\t\t\t\t\tactive\n\t\t\t\t\tshortDescription\n\t\t\t\t\tupdatedOn\n\t\t\t\t\ttype\n\t\t\t\t\tworkItemTable\n\t\t\t\t\tassignmentGroupField\n\t\t\t\t\tname\n\t\t\t\t\torder\n\t\t\t\t\tinboxAlertAudioName\n\t\t\t\t\tmessageAlertAudioName\n\t\t\t\t}\n\t\t\t\tworkItem{\n\t\t\t\t\tdocument_sys_id\n\t\t\t\t\tupdated_on\n\t\t\t\t\tdismissed\n\t\t\t\t\tactive\n\t\t\t\t\tqueue_sys_id\n\t\t\t\t\tdisplay_name\n\t\t\t\t\tsys_id\n\t\t\t\t\tassigned_to_display_value\n\t\t\t\t\toffered_on\n\t\t\t\t\tcreated_on\n\t\t\t\t\tallocated_by_display_value\n\t\t\t\t\tdocument_table\n\t\t\t\t\tstate\n\t\t\t\t\tallocated_by\n\t\t\t\t\tassigned_to\n\t\t\t\t}\n\t\t\t\tdocumentDisplayValue\n\t\t\t\tchannelSysID\n\t\t\t\ttypeName\n\t\t\t\tcanReadDocument\n\t\t\t\tfieldValues{\n\t\t\t\t\tkeyName\n\t\t\t\t\tvalue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n`;\n\nexport const FETCH_EXISTING_NOTIFICATIONS_QUERY = `\n\tquery($condition: String, $offset: Int, $limit: Int) {\n\t  GlideRecord_Query {\n\t\tui_notification_inbox(queryConditions: $condition, pagination: {limit: $limit, offset: $offset}) {\n\t\t  _rowCount\n\t\t  _results {\n\t\t\tsys_id {\n\t\t\t  value\n\t\t\t}\n\t\t\tsys_created_on {\n\t\t\t  value\n\t\t\t}\n\t\t\tpayload {\n\t\t\t  value\n\t\t\t}\n\t\t\ttarget_table{\n\t\t\t  value\n\t\t\t}\n\t\t\ttarget {\n\t\t\t  value\n\t\t\t}\n\t\t\ttrigger {\n\t\t\t  value\n\t\t\t}\n\t\t\ttriggered_by {\n\t\t\t  value\n\t\t\t  displayValue\n\t\t\t}\n\t\t\tstatus {\n\t\t\t\tvalue\n\t\t\t}\n\t\t\troute {\n\t\t\t\tvalue\n\t\t\t}\n\t\t  }\n\t\t}\n\t  }\n\t}\n`;\n\n/**\n * Batch update for alerts.\n *\n * Each batched request must be aliased with a unique variable name currently. Hence the \"update_{{sys_id}}: \" portion\n * below.\n * @type {string}\n */\nexport const UPDATE_EXISTING_NOTIFICATIONS_QUERY = `\n\tmutation {\n\t\tGlideRecord_Mutation {\n\t\t\t{{#items}}\n\t\t\t\tupdate_{{sysId}}: update_ui_notification_inbox(sys_id: \"{{sysId}}\", status: \"{{status}}\") {\n\t\t\t\t\tsys_id {\n\t\t\t\t\t  value\n\t\t\t\t\t}\n\t\t\t\t\tsys_created_on {\n\t\t\t\t\t  value\n\t\t\t\t\t}\n\t\t\t\t\tpayload {\n\t\t\t\t\t  value\n\t\t\t\t\t}\n\t\t\t\t\ttarget_table{\n\t\t\t\t\t  value\n\t\t\t\t\t}\n\t\t\t\t\ttarget {\n\t\t\t\t\t  value\n\t\t\t\t\t}\n\t\t\t\t\ttriggered_by {\n\t\t\t\t\t  value\n\t\t\t\t\t  displayValue\n\t\t\t\t\t}\n\t\t\t\t\tstatus {\n\t\t\t\t\t\tvalue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t{{/items}}\n\t\t}\n\t}\n`;\n\nexport const FETCH_NOTIFICATION_COUNT_QUERY = `query($condition: String) {\n\tGlideAggregate_Query(tableName: \"ui_notification_inbox\", queryConditions: $condition) {\n\t\tcount\n\t}\n}\n`;\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {get} from 'lodash';\n\nimport {UI_NOTIFICATIONS} from './actions';\nimport {\n\tFETCH_EXISTING_NOTIFICATIONS_QUERY,\n\tUPDATE_EXISTING_NOTIFICATIONS_QUERY,\n\tFETCH_NOTIFICATION_COUNT_QUERY\n} from './graphQL';\nimport {\n\tEXISTING_NOTIFICATIONS_SET,\n\tFETCH_MORE_NOTIFICATIONS_REQUESTED,\n\tREFETCH_NOTIFICATIONS_REQUESTED,\n\tNOTIFICATIONS_CLEARED,\n\tNOTIFY_REQUESTED,\n\tUNREAD_NOTIFICATIONS_COUNT_SET,\n\tFETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED\n} from '../actions';\n\nimport * as chromeNotificationUtils from '../utils/utils';\nimport {buildAlertItem} from '../utils/buildAlertItem';\nimport {getBooleanPreferenceValue} from '@devsnc/unav-utils';\nimport {getClassicSysId} from '../../../components/sn-polaris-header/utils/selectedContentUtil';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../../schedule-for-page-load-behavior/actions';\nimport {PREFERENCES} from '../constants';\n\nconst {\n\tSUBSCRIBE_MESSAGE_RECEIVED,\n\tSUBSCRIBE_REQUESTED,\n\tSUBSCRIBE_SUCCEEDED,\n\tSUBSCRIBE_FAILED,\n\tFETCH_EXISTING_NOTIFICATIONS_REQUESTED,\n\tFETCH_EXISTING_NOTIFICATIONS_SUCCEEDED,\n\tFETCH_EXISTING_NOTIFICATIONS_FAILED,\n\tUPDATE_EXISTING_NOTIFICATIONS_REQUESTED,\n\n\tQUERY_NOTIFICATION_COUNT_SUCCEEDED,\n\tQUERY_NOTIFICATION_COUNT_ERROR\n} = UI_NOTIFICATIONS;\n\nconst PAGE_SIZE = 20;\nconst AGENT_WORKSPACE_ROUTE = 'cb1af195872023002941b53046cb0b4e';\nconst NEXT_EXPERIENCE_ROUTE = 'bccd1214533201107cd3ddeeff7b1289';\n// Mirror of WorkItemResponder backend constants\nconst WORK_ITEM_NOTIFICATION_TRIGGER = '2f3dd6d0533201107cd3ddeeff7b120a';\n\n/**\n * Determines if a notification is an inbox (Agent Workspace work item) notification\n * @param {Object} notification - The notification object\n * @param {string|Object} notification.route - Route value (either direct string or {value: string})\n * @param {string|Object} notification.trigger - Trigger value (either direct string or {value: string})\n * @param {string|Object} notification.payload - Payload containing action_payload.feature\n * @returns {boolean} True if this is an inbox notification\n */\nexport const isInboxNotification = (notification) => {\n\tif (!notification) {\n\t\treturn false;\n\t}\n\n\t// Handle both nested .value properties and direct string properties\n\tconst route = notification.route?.value || notification.route;\n\tconst trigger = notification.trigger?.value || notification.trigger;\n\n\t// Early return if route or trigger don't match\n\tif (\n\t\troute !== AGENT_WORKSPACE_ROUTE ||\n\t\ttrigger !== WORK_ITEM_NOTIFICATION_TRIGGER\n\t) {\n\t\treturn false;\n\t}\n\n\t// Route and trigger match - now verify the payload has the inbox feature\n\ttry {\n\t\t// Handle three cases:\n\t\t// 1. payload.value (string or object) - server response format\n\t\t// 2. payload (string) - direct string\n\t\t// 3. payload (object) - direct object\n\t\tconst payloadValue = notification.payload?.value ?? notification.payload;\n\n\t\tif (!payloadValue) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet parsedPayload;\n\t\tif (typeof payloadValue === 'string') {\n\t\t\tparsedPayload = JSON.parse(payloadValue);\n\t\t} else {\n\t\t\tparsedPayload = payloadValue;\n\t\t}\n\n\t\t// Must have action_payload.feature === 'inbox'\n\t\tconst feature = parsedPayload?.action_payload?.feature;\n\t\treturn feature === 'inbox';\n\t} catch (error) {\n\t\t// If JSON parsing fails, not a valid inbox notification\n\t\treturn false;\n\t}\n};\n\n/**\n * Checks if notification matches inbox route/trigger pattern (for filtering purposes)\n * More lenient than isInboxNotification - doesn't validate payload structure\n * @param {Object} notification - The notification object\n * @returns {boolean} True if matches inbox route+trigger pattern\n */\nconst matchesInboxPattern = (notification) => {\n\tif (!notification) {\n\t\treturn false;\n\t}\n\tconst route = notification.route?.value || notification.route;\n\tconst trigger = notification.trigger?.value || notification.trigger;\n\treturn (\n\t\troute === AGENT_WORKSPACE_ROUTE &&\n\t\ttrigger === WORK_ITEM_NOTIFICATION_TRIGGER\n\t);\n};\n\n/**\n * Determines if a notification should be shown based on user preferences\n * @param {Object} notification - The notification object\n * @param {Array} userPreferences - Array of user preference objects\n * @returns {boolean} True if the notification should be shown\n */\nexport const shouldShowNotification = (notification, userPreferences) => {\n\tif (!notification) {\n\t\treturn false;\n\t}\n\n\t// Use pattern matching for filtering (more lenient - route+trigger only)\n\t// This catches all potential inbox notifications even if payload is malformed\n\tconst matchesInbox = matchesInboxPattern(notification);\n\tif (!matchesInbox) {\n\t\treturn true; // Always show non-inbox notifications\n\t}\n\n\t// For inbox-pattern notifications, check the preference\n\tconst workspaceInboxNotificationsEnabled = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.WORKSPACE_NOTIFICATIONS_INBOX_WORKSPACE\n\t);\n\treturn workspaceInboxNotificationsEnabled;\n};\n\nconst normalizeUINotificationPayload = (notification) => {\n\tconst {\n\t\ttitle,\n\t\tmessage,\n\t\tactionName,\n\t\tactionPayload,\n\t\tinfoIcon: icon,\n\t\ttable,\n\t\tsys_id: recordSysId,\n\t\ttagline,\n\t\ttime_stamp: timestamp,\n\t\troute,\n\t\ttrigger,\n\t\tnotify\n\t} = notification;\n\n\treturn {\n\t\tisRead: notification.is_read,\n\t\t// TODO: Remove if we want inbox in bell menu later\n\t\tsource: 'ui_notifications',\n\t\tsysId:\n\t\t\tnotification.alert_sys_id /* || notification.route?.value; //TODO: Fix when remapping amb data*/,\n\t\ttarget: recordSysId,\n\t\trecordSysId,\n\t\ttable,\n\t\ttimestamp,\n\t\ttriggeredBy: notification.triggered_by,\n\n\t\tnotify,\n\t\t// Needed by NotificationToast\n\t\t// tagline is the record display value, which is the id in notification toast... ???\n\t\tid: tagline || recordSysId || '',\n\t\trecordType: table,\n\t\ttitle,\n\t\tmessage,\n\t\tactionName,\n\t\tactionPayload,\n\t\troute,\n\t\ttrigger,\n\t\ticon\n\t};\n};\n\nconst buildAlertSubscriptionFilter = (sysId) => {\n\tconst filter = `recipient=${sysId}^route=${NEXT_EXPERIENCE_ROUTE}^ORroute=${AGENT_WORKSPACE_ROUTE}^status=new`;\n\treturn btoa(filter).replace(/=/g, '-');\n};\n\nconst subscribeNotificationsEffect = createAmbSubscriptionEffect(\n\t'/rw/default/:table/:filter',\n\t{\n\t\tsubscribeSucceededActionType: SUBSCRIBE_SUCCEEDED,\n\t\tsubscribeFailedActionType: SUBSCRIBE_FAILED,\n\t\tmessageReceivedActionType: SUBSCRIBE_MESSAGE_RECEIVED\n\t}\n);\n\nexport default {\n\ttype: 'uiNotifications',\n\trequiredPlugins: [],\n\tregister: ({dispatch, properties}) => {\n\t\tif (!properties.userSession?.isLoggedIn) return;\n\n\t\tconst sysId = properties.userMeta?.sys_id || '';\n\t\tdispatch(SUBSCRIBE_REQUESTED, {\n\t\t\ttable: 'ui_notification_inbox',\n\t\t\tfilter: buildAlertSubscriptionFilter(sysId),\n\t\t\tsubscribe: true\n\t\t});\n\t},\n\tactionHandlers: {\n\t\t[SUBSCRIBE_REQUESTED]: subscribeNotificationsEffect,\n\t\t[SUBSCRIBE_MESSAGE_RECEIVED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tstate: {uiNotificationsMeta = {}},\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst missingPayload = !get(payload, 'data.record.payload', false);\n\t\t\t\tif (missingPayload) return;\n\t\t\t\tconst changedRecordSysId = get(payload, 'data.record.target.value');\n\t\t\t\tconst route = get(payload, 'data.record.route.value');\n\t\t\t\tconst trigger = get(payload, 'data.record.trigger.value');\n\t\t\t\tconst seismicRecordSysId = get(\n\t\t\t\t\tproperties,\n\t\t\t\t\t'selectedContent.fields.sysId'\n\t\t\t\t);\n\t\t\t\tconst classicRecordSysId = getClassicSysId(properties.selectedContent);\n\t\t\t\t/*\n\t\t\t\t *  If the user is currently on the Seismic or classic page for the record that the\n\t\t\t\t *  notification is regarding then ignore the notification\n\t\t\t\t */\n\t\t\t\tif (seismicRecordSysId && seismicRecordSysId === changedRecordSysId)\n\t\t\t\t\treturn;\n\t\t\t\t// same for classic\n\t\t\t\tif (classicRecordSysId && classicRecordSysId === changedRecordSysId)\n\t\t\t\t\treturn;\n\n\t\t\t\tconst rawAlert = {\n\t\t\t\t\t...get(payload, 'data.record', {}),\n\t\t\t\t\tsys_id: {\n\t\t\t\t\t\tvalue: get(payload, 'data.sys_id', {})\n\t\t\t\t\t},\n\t\t\t\t\troute,\n\t\t\t\t\ttrigger\n\t\t\t\t};\n\n\t\t\t\tif (get(rawAlert, 'status.value') === 'deleted') return;\n\n\t\t\t\t// Agent Workspace (inbox) notifications are created by the backend only when\n\t\t\t\t// AWA_WORK_ITEM_NOTIFICATIONS_ENABLED is true. On the frontend we additionally\n\t\t\t\t// gate display on WORKSPACE_NOTIFICATIONS_INBOX_WORKSPACE — mirroring the\n\t\t\t\t// backend's isNotificationsEnabled() && isInboxChannel guard.\n\t\t\t\tif (!shouldShowNotification(rawAlert, properties.userPreferences))\n\t\t\t\t\treturn;\n\n\t\t\t\tconst {alertPayload} = chromeNotificationUtils.getTransformedAlert(\n\t\t\t\t\trawAlert\n\t\t\t\t);\n\n\t\t\t\tconst uiNotificationBannersOn = getBooleanPreferenceValue(\n\t\t\t\t\tproperties.userPreferences,\n\t\t\t\t\t'workspace.notifications.showPopups'\n\t\t\t\t);\n\n\t\t\t\tconst notify = uiNotificationBannersOn;\n\n\t\t\t\tconst userSysId = properties.userMeta?.sys_id || '';\n\t\t\t\tconst builtAlertItem = buildAlertItem(alertPayload, userSysId);\n\t\t\t\tif (builtAlertItem === null) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\"Couldn't build a notification. It was likely malformed or missing data.\"\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst alertItem = {...builtAlertItem, notify};\n\n\t\t\t\tconst {\n\t\t\t\t\tdeleteQueue = [],\n\t\t\t\t\tqueue = [],\n\t\t\t\t\toffset = 0,\n\t\t\t\t\ttotalRowCount = 0\n\t\t\t\t} = uiNotificationsMeta;\n\n\t\t\t\t// When isRefetching, pass an empty starting queue so purgeOldAlerts2\n\t\t\t\t// builds the result purely from server data — deleted items are excluded.\n\t\t\t\t// For normal pagination, pass the existing queue so items are merged.\n\t\t\t\t// TODO: Known edge case — if a new AMB notification arrives after\n\t\t\t\t// isRefetching is set but before this fetch completes, the new item\n\t\t\t\t// will be written to queue via SUBSCRIBE_MESSAGE_RECEIVED, then\n\t\t\t\t// overwritten here because we start from []. A future fix could track\n\t\t\t\t// notifications that arrived during the refetch window and re-merge them.\n\t\t\t\tconst {\n\t\t\t\t\talertsToKeep,\n\t\t\t\t\talertsToDelete\n\t\t\t\t} = chromeNotificationUtils.purgeOldAlerts(queue, alertItem, {\n\t\t\t\t\tdeleteQueue\n\t\t\t\t});\n\n\t\t\t\tconst normalizedNotification = normalizeUINotificationPayload(\n\t\t\t\t\talertItem,\n\t\t\t\t\tuserSysId\n\t\t\t\t);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'uiNotificationsMeta',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tqueue: alertsToKeep,\n\t\t\t\t\t\tdeleteQueue: alertsToDelete,\n\t\t\t\t\t\toffset: offset + 1,\n\t\t\t\t\t\ttotalRowCount: totalRowCount + 1\n\t\t\t\t\t},\n\t\t\t\t\toperation: 'assign'\n\t\t\t\t});\n\n\t\t\t\t// Delete any duplicates\n\t\t\t\tif (alertsToDelete.length) {\n\t\t\t\t\tdispatch(NOTIFICATIONS_CLEARED, {\n\t\t\t\t\t\titems: alertsToDelete.map((sysId) => ({sysId})),\n\t\t\t\t\t\tfromDeletingDuplicates: true\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tdispatch(NOTIFY_REQUESTED, {\n\t\t\t\t\t...normalizedNotification,\n\t\t\t\t\tisDesktopNotification: false\n\t\t\t\t});\n\n\t\t\t\tdispatch(EXISTING_NOTIFICATIONS_SET, {\n\t\t\t\t\tnotifications: alertsToKeep.map((n) =>\n\t\t\t\t\t\tnormalizeUINotificationPayload(n, userSysId)\n\t\t\t\t\t)\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SUBSCRIBE_SUCCEEDED]: {\n\t\t\teffect: ({dispatch, properties}) => {\n\t\t\t\tconst sysId = properties.userMeta?.sys_id || '';\n\t\t\t\tconst condition = `recipient=${sysId}^sys_created_on>=javascript:gs.beginningOfLast7Days()^route=${NEXT_EXPERIENCE_ROUTE}^ORroute=${AGENT_WORKSPACE_ROUTE}^status!=deleted^ORDERBYDESCsys_created_on`;\n\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tdispatch(FETCH_EXISTING_NOTIFICATIONS_REQUESTED, {\n\t\t\t\t\t\t\tcondition,\n\t\t\t\t\t\t\tlimit: PAGE_SIZE,\n\t\t\t\t\t\t\toffset: 0\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SUBSCRIBE_FAILED]: {\n\t\t\teffect: () => {\n\t\t\t\tconsole.error('Error: Subscribing to UI Notifications');\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FETCH_EXISTING_NOTIFICATIONS_REQUESTED]: createGraphQLEffect(\n\t\t\tFETCH_EXISTING_NOTIFICATIONS_QUERY,\n\t\t\t{\n\t\t\t\tvariableList: ['condition', 'limit', 'offset'],\n\t\t\t\tsuccessActionType: FETCH_EXISTING_NOTIFICATIONS_SUCCEEDED,\n\t\t\t\terrorActionType: FETCH_EXISTING_NOTIFICATIONS_FAILED\n\t\t\t}\n\t\t),\n\t\t[FETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED]: createGraphQLEffect(\n\t\t\tFETCH_NOTIFICATION_COUNT_QUERY,\n\t\t\t{\n\t\t\t\tvariableList: ['condition'],\n\t\t\t\tsuccessActionType: QUERY_NOTIFICATION_COUNT_SUCCEEDED,\n\t\t\t\terrorActionType: QUERY_NOTIFICATION_COUNT_ERROR\n\t\t\t}\n\t\t),\n\t\t[FETCH_EXISTING_NOTIFICATIONS_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tstate: {uiNotificationsMeta = {}, isFetchingUnreadCount},\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst existingUINotifications =\n\t\t\t\t\tpayload?.data?.GlideRecord_Query?.ui_notification_inbox?._results ||\n\t\t\t\t\t[];\n\n\t\t\t\tconst totalRowCount =\n\t\t\t\t\tpayload?.data?.GlideRecord_Query?.ui_notification_inbox?._rowCount ||\n\t\t\t\t\t0;\n\n\t\t\t\tconst {\n\t\t\t\t\tdeleteQueue = [],\n\t\t\t\t\tqueue = [],\n\t\t\t\t\toffset = 0,\n\t\t\t\t\tisRefetching = false\n\t\t\t\t} = uiNotificationsMeta;\n\n\t\t\t\tconst userSysId = properties.userMeta?.sys_id || '';\n\n\t\t\t\tconst filteredNotifications = existingUINotifications.filter(\n\t\t\t\t\t(notification) =>\n\t\t\t\t\t\tshouldShowNotification(notification, properties.userPreferences)\n\t\t\t\t);\n\n\t\t\t\tconst newOffset = offset + filteredNotifications.length;\n\n\t\t\t\t// When isRefetching, pass an empty starting queue so purgeOldAlerts2\n\t\t\t\t// builds the result purely from server data — deleted items are excluded.\n\t\t\t\t// For normal pagination, pass the existing queue so items are merged.\n\t\t\t\t// TODO: Known edge case — if a new AMB notification arrives after\n\t\t\t\t// isRefetching is set but before this fetch completes, the new item\n\t\t\t\t// will be written to queue via SUBSCRIBE_MESSAGE_RECEIVED, then\n\t\t\t\t// overwritten here because we start from []. A future fix could track\n\t\t\t\t// notifications that arrived during the refetch window and re-merge them.\n\t\t\t\tconst {\n\t\t\t\t\talertsToKeep,\n\t\t\t\t\talertsToDelete\n\t\t\t\t} = chromeNotificationUtils.purgeOldAlerts2(\n\t\t\t\t\tisRefetching ? [] : queue,\n\t\t\t\t\tfilteredNotifications,\n\t\t\t\t\t{deleteQueue},\n\t\t\t\t\tuserSysId\n\t\t\t\t);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tuiNotificationsMeta: {\n\t\t\t\t\t\tqueue: alertsToKeep,\n\t\t\t\t\t\tdeleteQueue: alertsToDelete,\n\t\t\t\t\t\toffset: newOffset,\n\t\t\t\t\t\ttotalRowCount,\n\t\t\t\t\t\tisRefetching: false\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Delete any duplicates\n\t\t\t\tif (alertsToDelete.length) {\n\t\t\t\t\tdispatch(NOTIFICATIONS_CLEARED, {\n\t\t\t\t\t\titems: alertsToDelete.map((sysId) => ({sysId})),\n\t\t\t\t\t\tfromDeletingDuplicates: true\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tdispatch(EXISTING_NOTIFICATIONS_SET, {\n\t\t\t\t\tnotifications: alertsToKeep.map((n) =>\n\t\t\t\t\t\tnormalizeUINotificationPayload(n, userSysId)\n\t\t\t\t\t)\n\t\t\t\t});\n\n\t\t\t\tif (!isFetchingUnreadCount) {\n\t\t\t\t\tconst unreadConditional = chromeNotificationUtils.unreadNotificationCountConditional(\n\t\t\t\t\t\tuserSysId,\n\t\t\t\t\t\tproperties.userMeta.timeZoneOffset\n\t\t\t\t\t);\n\t\t\t\t\tdispatch(FETCH_UNREAD_NOTIFICATIONS_COUNT_REQUESTED, {\n\t\t\t\t\t\tcondition: unreadConditional\n\t\t\t\t\t});\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tisFetchingUnreadCount: true,\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FETCH_MORE_NOTIFICATIONS_REQUESTED]: ({\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate: {uiNotificationsMeta = {}}\n\t\t}) => {\n\t\t\tconst {offset, totalRowCount} = uiNotificationsMeta;\n\n\t\t\t// don't request if we're at the current limit\n\t\t\tif (offset >= totalRowCount) return;\n\n\t\t\tconst sysId = properties.userMeta?.sys_id || '';\n\t\t\tconst condition = `recipient=${sysId}^sys_created_on>=javascript:gs.beginningOfLast7Days()^route=${NEXT_EXPERIENCE_ROUTE}^ORroute=${AGENT_WORKSPACE_ROUTE}^status!=deleted^ORDERBYDESCsys_created_on`;\n\n\t\t\tdispatch(FETCH_EXISTING_NOTIFICATIONS_REQUESTED, {\n\t\t\t\tcondition,\n\t\t\t\tlimit: PAGE_SIZE,\n\t\t\t\toffset\n\t\t\t});\n\t\t},\n\t\t[REFETCH_NOTIFICATIONS_REQUESTED]: ({\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t\tproperties\n\t\t}) => {\n\t\t\t// Set isRefetching flag instead of clearing the queue immediately.\n\t\t\t// This preserves existing notifications in the UI during the fetch.\n\t\t\t// FETCH_EXISTING_NOTIFICATIONS_SUCCEEDED checks this flag and passes an\n\t\t\t// empty starting queue to purgeOldAlerts2, so deleted items are excluded\n\t\t\t// from the result without wiping the queue before the response arrives.\n\t\t\tupdateState({\n\t\t\t\tuiNotificationsMeta: {\n\t\t\t\t\t...state.uiNotificationsMeta,\n\t\t\t\t\tisRefetching: true,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\ttotalRowCount: 0\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst sysId = properties.userMeta?.sys_id || '';\n\t\t\tconst condition = `recipient=${sysId}^sys_created_on>=javascript:gs.beginningOfLast7Days()^route=${NEXT_EXPERIENCE_ROUTE}^ORroute=${AGENT_WORKSPACE_ROUTE}^status!=deleted^ORDERBYDESCsys_created_on`;\n\n\t\t\tdispatch(FETCH_EXISTING_NOTIFICATIONS_REQUESTED, {\n\t\t\t\tcondition,\n\t\t\t\tlimit: PAGE_SIZE,\n\t\t\t\toffset: 0\n\t\t\t});\n\t\t},\n\t\t[UPDATE_EXISTING_NOTIFICATIONS_REQUESTED]: createGraphQLEffect(\n\t\t\tUPDATE_EXISTING_NOTIFICATIONS_QUERY,\n\t\t\t{\n\t\t\t\ttemplateVarList: ['items']\n\t\t\t}\n\t\t),\n\t\t[QUERY_NOTIFICATION_COUNT_SUCCEEDED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {action, dispatch, updateState} = coeffects;\n\t\t\t\tconst totalRowCount =\n\t\t\t\t\taction.payload.data.GlideAggregate_Query[0].count || 0;\n\t\t\t\tdispatch(UNREAD_NOTIFICATIONS_COUNT_SET, {\n\t\t\t\t\tunreadCount: totalRowCount\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tisFetchingUnreadCount: false,\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[QUERY_NOTIFICATION_COUNT_ERROR]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {updateState} = coeffects;\n\t\t\t\tupdateState({\n\t\t\t\t\tisFetchingUnreadCount: false,\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {t} from 'sn-translate';\nimport track from '../../utils/track';\n\nimport {getBooleanPreferenceValue} from '@devsnc/unav-utils';\nimport {\n\tEXISTING_NOTIFICATIONS_SET,\n\tNOTIFICATIONS_CLEARED,\n\tNOTIFICATION_OPENED,\n\tNOTIFY_REQUESTED,\n\tNOTIFICATION_MENU_OPENED,\n\tUNREAD_NOTIFICATIONS_COUNT_SET,\n\tNOTIFICATION_TOAST_CLEARED\n} from './actions';\nimport inboxPublisher from './publisher/inbox';\nimport uiNotificationsPublisher from './publisher/uiNotifications';\nimport util from './util';\nimport {pick, get, differenceWith} from 'lodash';\nimport {\n\tBEHAVIOR_NAME,\n\tNOTIFICATION_STATE_PATH,\n\tNOTIFICATION_CURRENT_SYSID_PATH,\n\tNOTIFICATION_OBJECT_KEYS,\n\tNOTIFICATION_UNREAD_STATE_PATH\n} from './constants';\nimport isPluginEnabled from '../../utils/isPluginEnabled';\nimport {\n\tCLASSIC,\n\tPOLARIS_CONTEXT,\n\tMETRICS,\n\tGLOBAL_NAVIGATION_REQUESTED,\n\tRECORD\n} from '../../constants';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../components/sn-polaris-layout/actions';\n\nimport {UI_NOTIFICATIONS} from './publisher/actions';\nimport {ENABLED_PLUGINS_REFRESHED} from '../enabled-plugins-behavior/actions';\n\nconst {UPDATE_EXISTING_NOTIFICATIONS_REQUESTED} = UI_NOTIFICATIONS;\n\n// Generate unique tab ID for multi-tab notification coordination\nconst TAB_ID = `${Date.now()}-${Math.floor(Math.random() * 1000)}`;\n\n// BroadcastChannel for cross-tab communication\nlet notificationChannel = null;\nlet isBroadcastChannelAvailable = false;\n\ntry {\n\tnotificationChannel = new BroadcastChannel('desktop-notifications');\n\tisBroadcastChannelAvailable = true;\n} catch (error) {\n\t// eslint-disable-next-line no-console\n\tconsole.warn(\n\t\t'BroadcastChannel not available, falling back to direct notifications:',\n\t\terror\n\t);\n}\n\n// File-level coordination state\n// Map structure: notificationId -> { tabIds: [], alreadyNotified: false, timestamp: number }\nconst notificationMap = new Map();\n\nlet cleanupIntervalId = null;\n\nfunction startCleanupInterval() {\n\tif (cleanupIntervalId !== null) return;\n\tcleanupIntervalId = setInterval(() => {\n\t\tutil.cleanupExpiredEntries(notificationMap);\n\t\tif (notificationMap.size === 0) {\n\t\t\tclearInterval(cleanupIntervalId);\n\t\t\tcleanupIntervalId = null;\n\t\t}\n\t}, util.CLEANUP_INTERVAL_MS);\n}\n\n// Set up listener for tab candidates at module level to avoid race conditions\nif (isBroadcastChannelAvailable) {\n\tnotificationChannel.addEventListener('message', (event) => {\n\t\tconst {type, tabId, notificationId, isInitialFetch} = event.data;\n\n\t\tif (type === 'tab-candidate') {\n\t\t\tif (isInitialFetch) {\n\t\t\t\t// A newly opened tab is asking, on load, whether this notification\n\t\t\t\t// was already shown. Do NOT reset our state: if we already handled\n\t\t\t\t// this id, tell the newcomer so it defers instead of re-popping a\n\t\t\t\t// notification for an already-assigned work item.\n\t\t\t\tif (util.ensureNotificationEntry(notificationMap, notificationId)) {\n\t\t\t\t\tstartCleanupInterval();\n\t\t\t\t}\n\t\t\t\tif (notificationMap.get(notificationId).alreadyNotified) {\n\t\t\t\t\tnotificationChannel.postMessage({\n\t\t\t\t\t\ttype: 'notification-handled',\n\t\t\t\t\t\tnotificationId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tutil.ensureFreshNotificationEntry(notificationMap, notificationId)\n\t\t\t) {\n\t\t\t\tstartCleanupInterval();\n\t\t\t}\n\t\t\t// Only add the tabId if it's not already in the list (prevents duplicates from same tab)\n\t\t\tconst tabIds = notificationMap.get(notificationId).tabIds;\n\t\t\tif (!tabIds.includes(tabId)) {\n\t\t\t\ttabIds.push(tabId);\n\t\t\t}\n\t\t} else if (type === 'notification-handled') {\n\t\t\t// Mark that this notification has already been handled by a tab\n\t\t\tif (notificationMap.has(notificationId)) {\n\t\t\t\tnotificationMap.get(notificationId).alreadyNotified = true;\n\t\t\t}\n\t\t}\n\t});\n}\n\nconst setNotificationAsToast = (coeffect, notificationItem) => {\n\tconst {updateState} = coeffect;\n\tupdateState({\n\t\tpath: NOTIFICATION_CURRENT_SYSID_PATH,\n\t\tvalue: notificationItem.sysId,\n\t\toperation: 'set'\n\t});\n};\n\nconst dismissAllNotificationToasts = ({updateState}) => {\n\tupdateState([\n\t\t{\n\t\t\toperation: 'set',\n\t\t\tpath: NOTIFICATION_CURRENT_SYSID_PATH,\n\t\t\tvalue: null\n\t\t}\n\t]);\n};\n\nconst notificationPublishers = [inboxPublisher, uiNotificationsPublisher];\n\n// TODO: Point to classic route until we figure out routing to different\n// \t\t experiences / workspace\nconst getUrl = (table, sysId) => `${table}.do?sys_id=${sysId}`;\n\nfunction isPublisherPluginsEnabled(enabledPlugins, publisher) {\n\treturn publisher.requiredPlugins.every((pluginName) =>\n\t\tisPluginEnabled(enabledPlugins, pluginName)\n\t);\n}\n\nfunction desktopNotification(notificationPayload, dispatch, selectedContent) {\n\tif (Notification.permission === 'granted') {\n\t\tfireDesktopNotification(notificationPayload, dispatch, selectedContent);\n\t\t// Ask to turn on notification if turned off already\n\t} else if (Notification.permission !== 'denied') {\n\t\tNotification.requestPermission().then((result) => {\n\t\t\tif (result === 'granted') {\n\t\t\t\tfireDesktopNotification(notificationPayload, dispatch, selectedContent);\n\t\t\t}\n\t\t});\n\t}\n}\n\n// Right now we only support inbox for desktop notifications\nfunction fireDesktopNotification(\n\tnotificationPayload,\n\tdispatch,\n\tselectedContent\n) {\n\tlet {message, id, feature, isInitialFetch} = notificationPayload;\n\n\tid = id || 'sn-desktop-notification';\n\n\t// If BroadcastChannel is not available, fire notification directly without coordination\n\tif (!isBroadcastChannelAvailable) {\n\t\tconst notification = new Notification(message, {\n\t\t\ttag: id,\n\t\t\ticon: '/favicon.ico',\n\t\t\trenotify: true\n\t\t});\n\n\t\tnotification.onclick = function() {\n\t\t\twindow.focus();\n\t\t\tdispatch(GLOBAL_NAVIGATION_REQUESTED, {\n\t\t\t\tnavType: 'EXPERIENCE_ONLY',\n\t\t\t\tfeature\n\t\t\t});\n\n\t\t\tnotification.close();\n\t\t};\n\t\treturn;\n\t}\n\n\tconst currentRoute = selectedContent?.route\n\t\t? `---${selectedContent?.route}`\n\t\t: '';\n\tconst path = selectedContent?.context?.path;\n\tconst hasInboxRoute = window.ux_globals?.experienceConfigs?.[path]\n\t\t?.appRouteConfiguration?.routes?.['inbox']\n\t\t? '---hasInboxRoute'\n\t\t: '';\n\tlet canvasToolbar;\n\ttry {\n\t\tcanvasToolbar =\n\t\t\tJSON.parse(\n\t\t\t\tsessionStorage.getItem(\n\t\t\t\t\tObject.keys(sessionStorage).find((k) =>\n\t\t\t\t\t\tk.includes('CANVAS_TOOLBAR_SESSION_STORAGE')\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t) || {};\n\t} catch {\n\t\tcanvasToolbar = {};\n\t}\n\tconst isInboxToolbar =\n\t\tcanvasToolbar?.id === 'inbox' && canvasToolbar?.presence?.status\n\t\t\t? `---${canvasToolbar?.presence?.status}`\n\t\t\t: '';\n\tconst isInboxToolbarOpened =\n\t\tisInboxToolbar && canvasToolbar?.viewportInfo?.fields?.opened\n\t\t\t? '---open'\n\t\t\t: '';\n\n\t// key will contain:\n\t// TAB_ID: indicator of latest opened tab\n\t// currentRoute: the route the tab is on, to check for the route being 'inbox'\n\t// hasInboxRoute: checks if the current tab is on an experience that has an inbox route\n\t// isInboxToolbar: if the toolbar is inbox, will either be offline, busy, available etc\n\t// isInboxToolbarOpened: shows if the inbox toolbar is opened\n\tconst currentTabKey = `${TAB_ID}${currentRoute}${hasInboxRoute}${isInboxToolbar}${isInboxToolbarOpened}`;\n\n\t// A load-time (initial fetch) notification must not reset a round that has\n\t// already completed - either in this tab or, via the broadcast below, in a\n\t// peer tab - otherwise opening a new window re-pops a notification for an\n\t// already-assigned work item. A live work-item arrival still resets so a\n\t// recurring assignment fires again (DEF0836566).\n\tconst ensured = isInitialFetch\n\t\t? util.ensureNotificationEntry(notificationMap, id)\n\t\t: util.ensureFreshNotificationEntry(notificationMap, id);\n\tif (ensured) {\n\t\tstartCleanupInterval();\n\t}\n\n\t// Add this tab to the candidates\n\tconst tabIds = notificationMap.get(id).tabIds;\n\tif (!tabIds.includes(currentTabKey)) {\n\t\ttabIds.push(currentTabKey);\n\t}\n\n\t// Broadcast this tab's candidacy\n\tnotificationChannel.postMessage({\n\t\ttype: 'tab-candidate',\n\t\ttabId: currentTabKey,\n\t\tnotificationId: id,\n\t\tisInitialFetch\n\t});\n\n\t// Wait to collect responses from all tabs\n\tsetTimeout(() => {\n\t\tconst notificationData = notificationMap.get(id);\n\n\t\t// If another tab already handled this notification, don't fire\n\t\tif (!notificationData || notificationData.alreadyNotified) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine winner (prioritize inbox tabs, then newest tab ID)\n\t\tconst sortedTabIds = util.sortTabIdsByPriority(\n\t\t\tnotificationData.tabIds,\n\t\t\tfeature\n\t\t);\n\t\tconst winnerTabId = sortedTabIds[0];\n\n\t\t// Only fire notification if this tab is the winner\n\t\tif (winnerTabId === currentTabKey) {\n\t\t\t// Mark as handled and broadcast to other tabs\n\t\t\tnotificationData.alreadyNotified = true;\n\t\t\tnotificationChannel.postMessage({\n\t\t\t\ttype: 'notification-handled',\n\t\t\t\tnotificationId: id\n\t\t\t});\n\n\t\t\tconst notification = new Notification(message, {\n\t\t\t\ttag: id,\n\t\t\t\ticon: '/favicon.ico',\n\t\t\t\trenotify: true\n\t\t\t});\n\n\t\t\tnotification.onclick = function() {\n\t\t\t\twindow.focus();\n\t\t\t\tdispatch(GLOBAL_NAVIGATION_REQUESTED, {\n\t\t\t\t\tnavType: 'EXPERIENCE_ONLY',\n\t\t\t\t\tfeature\n\t\t\t\t});\n\n\t\t\t\tnotification.close();\n\t\t\t};\n\t\t}\n\t}, 500);\n}\n\nfunction webNotification({\n\taction,\n\tupdateState,\n\tdispatch,\n\tproperties: {userPreferences}\n}) {\n\tconst notificationItem = pick(action.payload, NOTIFICATION_OBJECT_KEYS);\n\n\tconst uiNotificationBannersOn = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\t'workspace.notifications.showPopups',\n\t\ttrue\n\t);\n\tconst isUiNotification = notificationItem.source === 'ui_notifications';\n\tconst notify = !isUiNotification || uiNotificationBannersOn;\n\n\tif (notify) {\n\t\tsetNotificationAsToast({updateState, dispatch}, notificationItem);\n\t}\n}\n\nconst getDayTitle = (acctualDate) => {\n\tconst isToday = (a, b = new Date()) =>\n\t\ta.getDate() === b.getDate() &&\n\t\ta.getMonth() === b.getMonth() &&\n\t\ta.getFullYear() === b.getFullYear();\n\n\tconst today = new Date();\n\tconst yesterday = isToday(\n\t\tacctualDate,\n\t\tnew Date(today.setDate(today.getDate() - 1))\n\t);\n\treturn isToday(acctualDate) ? 'Today' : yesterday ? 'Yesterday' : 'Older';\n};\n\nconst daysBetween = (baseDate, actualDate) => {\n\tconst normalizedBaseDate = new Date(baseDate.getTime());\n\tnormalizedBaseDate.setHours(0, 0, 0);\n\tconst normalizedActualDate = new Date(actualDate.getTime());\n\tnormalizedActualDate.setHours(0, 0, 0);\n\n\tconst DAY = 24 * 60 * 60 * 1000;\n\tconst diff = normalizedBaseDate.getTime() - normalizedActualDate.getTime();\n\treturn (diff >= 0 || -1) * Math.round(Math.abs(diff / DAY));\n};\n\nconst getTime = (date) => {\n\tlet hh = date.getHours(),\n\t\tmm = date.getMinutes();\n\tlet suffix = 'AM';\n\tif (hh > 12) {\n\t\thh -= 12;\n\t\tsuffix = 'PM';\n\t}\n\tif (mm < 10) {\n\t\tmm = `0${mm}`;\n\t}\n\treturn `${hh}:${mm} ${suffix}`;\n};\n\nconst getWords = (date, daysDiff) => {\n\tconst baseDate = new Date(Date.now());\n\tconst diffMills = baseDate - date;\n\n\tconst seconds = diffMills / 1000;\n\tconst minutes = seconds / 60;\n\tconst hours = minutes / 60;\n\n\tlet words = '';\n\tif (daysDiff === 0) {\n\t\tif (seconds < 60) words = t('just now');\n\t\telse if (minutes < 60) words = t('{0}m ago', Math.floor(minutes));\n\t\telse if (hours < 24) words = t('{0}h ago', Math.floor(hours));\n\t} else if (daysDiff === 1) {\n\t\twords = getTime(date);\n\t} else if (daysDiff > 1 && daysDiff <= 7) {\n\t\twords = t('{0}d ago', daysDiff);\n\t} else {\n\t\twords = 'Older than 7 days'; // Shouldn't see this\n\t}\n\n\treturn words;\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tnotifications: [],\n\t\tunreadCount: 0\n\t},\n\tactionHandlers: {\n\t\t[ENABLED_PLUGINS_REFRESHED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {action, state} = coeffects;\n\n\t\t\t\tif (window.isAIUXMode) return;\n\t\t\t\tif (!state.isNotificationsEnabled) return;\n\n\t\t\t\tconst {enabledPlugins} = action.payload;\n\n\t\t\t\tif (!enabledPlugins) return;\n\n\t\t\t\tconst enabledPublishers = notificationPublishers.filter((publisher) =>\n\t\t\t\t\tisPublisherPluginsEnabled(enabledPlugins, publisher)\n\t\t\t\t);\n\n\t\t\t\tenabledPublishers.forEach((publisher) => publisher.register(coeffects));\n\t\t\t}\n\t\t},\n\t\t[NOTIFICATION_TOAST_CLEARED]: {\n\t\t\teffect: dismissAllNotificationToasts,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t/* Expected Payload\n\t\t\t{ title, message, url, icon, notified }\n\t\t*/\n\t\t[NOTIFY_REQUESTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tproperties: {selectedContent},\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\t\t\t\tconst payload = coeffects?.action?.payload;\n\t\t\t\tif (payload?.isDesktopNotification) {\n\t\t\t\t\tdesktopNotification(payload, dispatch, selectedContent);\n\t\t\t\t} else if (payload?.type !== 'inbox') {\n\t\t\t\t\twebNotification(coeffects);\n\t\t\t\t}\n\n\t\t\t\tconst context = selectedContent?.context || POLARIS_CONTEXT;\n\t\t\t\tconst metadata = {\n\t\t\t\t\ttitle: payload.title,\n\t\t\t\t\tsysId: payload.sysId,\n\t\t\t\t\texperience: context.experienceName\n\t\t\t\t};\n\t\t\t\ttrack(coeffects, METRICS.ALERT_NEW_NOTIFICATION, metadata);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[EXISTING_NOTIFICATIONS_SET]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {notifications}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: NOTIFICATION_STATE_PATH,\n\t\t\t\t\tvalue: notifications,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOTIFICATION_OPENED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\t// 1. open url or fire notification action\n\t\t\t\t// 2. set notification as read\n\t\t\t\t// 3. close notifications\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {sysId, recordSysId, table, actionName, actionPayload}\n\t\t\t\t\t},\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties: {selectedContent},\n\t\t\t\t\tdispatch\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst context = selectedContent?.context || POLARIS_CONTEXT;\n\t\t\t\t// context will get updated by UXR routing logic action GLOBAL_NAVIGATION_REQUESTED\n\n\t\t\t\tif (actionName) {\n\t\t\t\t\t// -- Fire Notiifcaitons Action\n\t\t\t\t\tdispatch(actionName, actionPayload);\n\t\t\t\t} else {\n\t\t\t\t\t// -- Open url\n\t\t\t\t\tdispatch(GLOBAL_NAVIGATION_REQUESTED, {\n\t\t\t\t\t\tfeature: RECORD,\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\tsysId: recordSysId,\n\t\t\t\t\t\t\ttarget: getUrl(table, recordSysId)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfallbackRoute: {\n\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\ttarget: getUrl(table, recordSysId)\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}\n\n\t\t\t\tconst notifications = get(state, NOTIFICATION_STATE_PATH);\n\t\t\t\tconst notification = notifications.find((n) => n.sysId === sysId);\n\t\t\t\tconst timestamp = notification.timestamp;\n\t\t\t\tconst _date = new Date(timestamp);\n\t\t\t\tconst baseDate = new Date(Date.now());\n\t\t\t\tconst daysDiff = daysBetween(baseDate, _date);\n\n\t\t\t\tconst updatedNotifications = notifications.map((n) =>\n\t\t\t\t\tn.sysId === sysId ? {...n, isRead: true} : n\n\t\t\t\t);\n\n\t\t\t\tconst metadata = {\n\t\t\t\t\trank: notifications.findIndex((n) => n.sysId === sysId) + 1,\n\t\t\t\t\tstatus: notification.isRead ? 'Read' : 'Unread',\n\t\t\t\t\tdayTitle: getDayTitle(_date),\n\t\t\t\t\ttitle: notification.title,\n\t\t\t\t\trecency: getWords(_date, daysDiff),\n\t\t\t\t\texperience: context.experienceName,\n\t\t\t\t\tsysId: sysId\n\t\t\t\t};\n\t\t\t\ttrack(coeffects, METRICS.SELECT_NOTIFICATION, metadata);\n\n\t\t\t\tdispatch(UPDATE_EXISTING_NOTIFICATIONS_REQUESTED, {\n\t\t\t\t\titems: [{sysId, status: 'read'}]\n\t\t\t\t});\n\n\t\t\t\tdispatch(EXISTING_NOTIFICATIONS_SET, {\n\t\t\t\t\tnotifications: updatedNotifications\n\t\t\t\t});\n\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\tdispatch(NOTIFICATION_TOAST_CLEARED);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[UNREAD_NOTIFICATIONS_COUNT_SET]: {\n\t\t\teffect: ({action, updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: NOTIFICATION_UNREAD_STATE_PATH,\n\t\t\t\t\tvalue: action.payload.unreadCount,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOTIFICATIONS_CLEARED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\titems,\n\t\t\t\t\t\t\tcloseBellMenu = false,\n\t\t\t\t\t\t\tfromDeletingDuplicates = false\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\t\t\t\tif (!items.length) return;\n\n\t\t\t\tconst notifications = get(state, NOTIFICATION_STATE_PATH);\n\t\t\t\tdispatch(UPDATE_EXISTING_NOTIFICATIONS_REQUESTED, {\n\t\t\t\t\titems: items.map(({sysId}) => ({sysId, status: 'deleted'}))\n\t\t\t\t});\n\n\t\t\t\t// Deleting duplicates handles setting this on their own\n\t\t\t\tif (!fromDeletingDuplicates) {\n\t\t\t\t\tconst updatedNotifications = differenceWith(\n\t\t\t\t\t\tnotifications,\n\t\t\t\t\t\titems,\n\t\t\t\t\t\t(a, b) => a.sysId === b.sysId\n\t\t\t\t\t);\n\n\t\t\t\t\tdispatch(EXISTING_NOTIFICATIONS_SET, {\n\t\t\t\t\t\tnotifications: updatedNotifications\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst newOffset = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\t(state.uiNotificationsMeta?.offset || 0) - items.length\n\t\t\t\t);\n\n\t\t\t\tconst newTotalRowCount = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\t(state.uiNotificationsMeta?.totalRowCount || 0) - items.length\n\t\t\t\t);\n\t\t\t\tdismissAllNotificationToasts({updateState, properties, dispatch});\n\n\t\t\t\t// TODO: refactor to have like, one source of truth\n\t\t\t\tconst newQueue = differenceWith(\n\t\t\t\t\tstate.uiNotificationsMeta?.queue,\n\t\t\t\t\titems,\n\t\t\t\t\t(a, b) => a.alert_sys_id === b.sysId\n\t\t\t\t);\n\n\t\t\t\tlet metadata = {};\n\t\t\t\tif (items.length === 1) {\n\t\t\t\t\tconst notification = notifications.find(\n\t\t\t\t\t\t(n) => n.sysId === items[0].sysId\n\t\t\t\t\t);\n\t\t\t\t\tif (notification && notification.length > 0) {\n\t\t\t\t\t\tconst timestamp = notification.timestamp;\n\t\t\t\t\t\tconst _date = new Date(timestamp);\n\t\t\t\t\t\tconst baseDate = new Date(Date.now());\n\t\t\t\t\t\tconst daysDiff = daysBetween(baseDate, _date);\n\n\t\t\t\t\t\tmetadata = {\n\t\t\t\t\t\t\trank:\n\t\t\t\t\t\t\t\tnotifications.findIndex((n) => n.sysId === notification.sysId) +\n\t\t\t\t\t\t\t\t1,\n\t\t\t\t\t\t\tstatus: notification.isRead,\n\t\t\t\t\t\t\tdayTitle: getDayTitle(_date),\n\t\t\t\t\t\t\ttitle: notification.title,\n\t\t\t\t\t\t\trecency: getWords(_date, daysDiff),\n\t\t\t\t\t\t\texperience: properties?.selectedContent?.context?.experienceName,\n\t\t\t\t\t\t\tsysId: notification.sysId\n\t\t\t\t\t\t};\n\t\t\t\t\t\ttrack(coeffects, METRICS.DISMISS_NOTIFICATION, metadata);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst timestamp = notifications[0].timestamp;\n\t\t\t\t\tconst _date = new Date(timestamp);\n\t\t\t\t\tmetadata = {\n\t\t\t\t\t\tdayTitle: getDayTitle(_date),\n\t\t\t\t\t\tclearCount: items.length\n\t\t\t\t\t};\n\t\t\t\t\ttrack(coeffects, METRICS.CLEAR_NOTIFICATION, metadata);\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'uiNotificationsMeta',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tqueue: newQueue,\n\t\t\t\t\t\toffset: newOffset,\n\t\t\t\t\t\ttotalRowCount: newTotalRowCount\n\t\t\t\t\t},\n\t\t\t\t\toperation: 'assign'\n\t\t\t\t});\n\n\t\t\t\tif (closeBellMenu) dispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOTIFICATION_MENU_OPENED]: {\n\t\t\teffect: dismissAllNotificationToasts,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t// When we get multiple providers we can filter actionHandlers\n\t\t...inboxPublisher.actionHandlers,\n\t\t...uiNotificationsPublisher.actionHandlers\n\t}\n};\n","/* istanbul ignore file */\n\nimport {\n\tregisterComponent as registerComponentNowTriggerLib,\n\tsetActionState as setActionStateNowTriggerLib\n} from '@servicenow/now-trigger-library';\n\nlet registerComponentSub = [];\nlet setActionStateSub = [];\n\nexport const handleRegisterComponent = (fn) => {\n\tregisterComponentSub.push(fn);\n};\n\nexport const handleSetActionState = (fn) => {\n\tsetActionStateSub.push(fn);\n};\n\nexport const resetAllFunctionsToDefault = () => {\n\tregisterComponentSub = [registerComponentNowTriggerLib];\n\tsetActionStateSub = [setActionStateNowTriggerLib];\n};\n\nexport function registerComponent(...args) {\n\t// Register the component with the trigger library\n\tconst nowTriggerLibRegistrationId = registerComponentNowTriggerLib(...args);\n\n\t// Call other registering functions (used for testing purposes)\n\tfor (let i = 0; i < registerComponentSub.length; i++) {\n\t\tregisterComponentSub[i].apply(null, args);\n\t}\n\n\treturn nowTriggerLibRegistrationId;\n}\n\nexport function setActionState(...args) {\n\t// Set the action state with the trigger library\n\tsetActionStateNowTriggerLib(...args);\n\n\t// Call other setActionState functions (used for testing purposes)\n\tfor (let i = 0; i < setActionStateSub.length; i++) {\n\t\tsetActionStateSub[i].apply(null, args);\n\t}\n}\n","import {actionTypes, declarativeOperations} from '@servicenow/ui-core';\nconst {SET} = declarativeOperations;\nimport get from 'lodash/get';\nimport {\n\tMENU_ALL,\n\tBUTTON_ACTIONS,\n\tMENU_FAVORITES,\n\tMENU_HISTORY,\n\tMENU_WORKSPACES,\n\tMENU_ADMIN,\n\tSYS_PROPS,\n\tTOGGLE_MENU_OPEN,\n\tCONCOURSE_PICKER_MENU_ID,\n\tHELP_MENU_ID,\n\tNOW_ASSIST_MENU_ID,\n\tINSTANCE_TOOLS_ID,\n\tNOTIFICATIONS_ID,\n\tUSER_MENU_ID,\n\tSEARCH_RENDER_STATUS_REPORTED,\n\tINSTANCE_TOOLS_MENU_ID\n} from '../../constants';\nimport {\n\tALL_MENU_FOCUSED_REQUESTED,\n\tIMPERSONATION_OPEN_REQUESTED,\n\tMAIN_CONTENT_FOCUSED,\n\tMAIN_CONTENT_FOCUSED_REQUESTED,\n\tCONTEXTUAL_MENU_SELECTED,\n\tHELP_MENU_FOCUSED_REQUESTED,\n\tNOW_ASSIST_PANEL_FOCUSED_REQUESTED,\n\tVOICE_INPUT_PANEL_FOCUSED_REQUESTED,\n\tOPEN_FRAME_FOCUSED_REQUESTED,\n\tOPEN_LANDING_PAGE_REQUESTED,\n\tFAVORITES_MENU_FOCUSED_REQUESTED,\n\tHISTORY_MENU_FOCUSED_REQUESTED,\n\tWORKSPACES_MENU_FOCUSED_REQUESTED,\n\tNOTIFICATIONS_MENU_FOCUSED_REQUESTED,\n\tUSER_MENU_FOCUSED_REQUESTED,\n\tCHAT_MENU_FOCUSED_REQUESTED,\n\tADMIN_MENU_FOCUSED_REQUESTED,\n\tTOOLBAR_FOCUSED_REQUESTED,\n\tFAVORITE_CURRENT_PAGE_REQUESTED,\n\tCLOSE_MENUS,\n\tCLOSE_CONTEXTUAL_MENU,\n\tCLOSE_MODALS,\n\tFAVORITE_TOGGLE_CURRENT_PAGE,\n\tKEYBOARD_BEHAVIOR_MODAL_OPENED,\n\tPRE_SHORTCUT_CLEANUP_REQUESTED,\n\tPRE_SHORTCUT_CLEANUP_SUCCEEDED,\n\tPRE_SHORTCUT_CLEANUP_FAILED,\n\tTOGGLE_UTILITY_MENU\n} from '../../components/sn-polaris-layout/actions';\nimport {GLOBAL_SEARCH_FOCUSED} from '../../behaviors/search-behavior/actions';\nimport {openHomePage} from '../../utils/openHomePage';\nimport {IMPERSONATION_MODAL_OPENED} from '../impersonation-behavior/actions';\nimport {IMPERSONATION_MODAL_DISMISSED} from '@devsnc/sn-impersonation';\nimport {UTILITY_MENU_UPDATED} from '../utility-menu-behavior/actions';\nimport {\n\tregisterComponent,\n\tsetActionState\n} from '../../utils/keyboard-shortcut-wrapper';\nimport {deregisterComponent} from '@servicenow/now-trigger-library';\nimport {getBooleanPreferenceValue, PREFERENCES} from '@devsnc/unav-utils';\nimport {CHAT_MENU_ID} from '../collab-chat-behavior/constants';\nimport {MENU_LOADED} from '../menu-modifier-behavior/actions';\nimport {OPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD} from '../openFrameBehavior/actions';\nimport {OPENFRAME_ENABLED} from '../openFrameBehavior';\nimport getBooleanPropertyWhenPolarisEnabled from '../../utils/getBooleanPropertyWhenPolarisEnabled';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\nconst KEYBOARD_SHORTCUTS = 'KEYBOARD_SHORTCUTS';\nexport const STATE_PATH_IS_LOGIN_EVALUATED =\n\t'behaviors.' + KEYBOARD_SHORTCUTS + '.isLoginShortcutEvaluated';\nexport const STATE_PATH_IMPERSONATE_EVALUATED =\n\t'behaviors.' + KEYBOARD_SHORTCUTS + '.isImpersonationEvaluated';\nexport const STATE_PATH_SEARCH_RENDERED =\n\t'behaviors.' + KEYBOARD_SHORTCUTS + '.isSearchRendered';\n\nexport default {\n\tname: KEYBOARD_SHORTCUTS,\n\tsetInitialState: () => ({\n\t\tbehaviors: {\n\t\t\t[KEYBOARD_SHORTCUTS]: {\n\t\t\t\tisLoginShortcutEvaluated: false,\n\t\t\t\tisImpersonationEvaluated: false,\n\t\t\t\tisSearchRendered: false\n\t\t\t}\n\t\t},\n\t\tkeyboardShortcutsModalOpened: false,\n\t\trequestToCloseModals: null,\n\t\tnowTriggerLibRegistrationId: null\n\t}),\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\t\tconst {action, host, updateState, state} = coeffects;\n\t\t\tconst {name, value} = action.payload;\n\n\t\t\tconst stillNeedToEvaluate = !get(state, STATE_PATH_IS_LOGIN_EVALUATED);\n\t\t\tif (stillNeedToEvaluate && name === 'userSession' && value.isLoggedIn) {\n\t\t\t\tsetActionState(host?.componentId, USER_MENU_FOCUSED_REQUESTED, true);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: STATE_PATH_IS_LOGIN_EVALUATED,\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: SET\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst stillNeedToEvaluateImpersonation = !get(\n\t\t\t\tstate,\n\t\t\t\tSTATE_PATH_IMPERSONATE_EVALUATED\n\t\t\t);\n\t\t\tif (\n\t\t\t\tstillNeedToEvaluateImpersonation &&\n\t\t\t\tname === 'userMeta' &&\n\t\t\t\tvalue?.canImpersonate\n\t\t\t) {\n\t\t\t\tsetActionState(host?.componentId, IMPERSONATION_OPEN_REQUESTED, true);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: STATE_PATH_IMPERSONATE_EVALUATED,\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: SET\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {userPreferences, userSession, features},\n\t\t\t\tupdateState,\n\t\t\t\thost,\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\tconst keyboardShortcutsEnabled = getBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.KEYBOARD_SHORTCUTS,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\tif (keyboardShortcutsEnabled) {\n\t\t\t\tconst nowTriggerLibRegistrationId = registerComponent(host, {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tactionMap: {\n\t\t\t\t\t\t[KEYBOARD_BEHAVIOR_MODAL_OPENED]: ({\n\t\t\t\t\t\t\tstate: {keyboardShortcutsModalOpened}\n\t\t\t\t\t\t}) => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tif (!keyboardShortcutsModalOpened) {\n\t\t\t\t\t\t\t\t\t\tdispatch(KEYBOARD_BEHAVIOR_MODAL_OPENED);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[GLOBAL_SEARCH_FOCUSED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(GLOBAL_SEARCH_FOCUSED);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[ALL_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_MENU_OPEN, {\n\t\t\t\t\t\t\t\t\t\tmenuId: MENU_ALL\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaderMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[ADMIN_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_MENU_OPEN, {\n\t\t\t\t\t\t\t\t\t\tmenuId: MENU_ADMIN\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaderMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[FAVORITES_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_MENU_OPEN, {\n\t\t\t\t\t\t\t\t\t\tmenuId: MENU_FAVORITES\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaderMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[HISTORY_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_MENU_OPEN, {\n\t\t\t\t\t\t\t\t\t\tmenuId: MENU_HISTORY\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaderMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[WORKSPACES_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_MENU_OPEN, {\n\t\t\t\t\t\t\t\t\t\tmenuId: MENU_WORKSPACES\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theaderMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[IMPERSONATION_OPEN_REQUESTED]: ({state: {impersonationOpen}}) => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tif (!impersonationOpen) {\n\t\t\t\t\t\t\t\t\t\tdispatch(IMPERSONATION_MODAL_OPENED);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tdispatch(IMPERSONATION_MODAL_DISMISSED);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[MAIN_CONTENT_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(MAIN_CONTENT_FOCUSED);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[HELP_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\tmenuId: HELP_MENU_ID\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[OPEN_FRAME_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(OPENFRAME_BEHAVIOR_OPEN_WINDOW_FROM_KEYBOARD);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[NOW_ASSIST_PANEL_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\t\tnapShortcutCommand: {\n\t\t\t\t\t\t\t\t\t\t\tcommand: 'NOW_ASSIST_PANEL_SELECTED',\n\t\t\t\t\t\t\t\t\t\t\ttimestamp: Date.now()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\tmenuId: NOW_ASSIST_MENU_ID\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[VOICE_INPUT_PANEL_FOCUSED_REQUESTED]: ({\n\t\t\t\t\t\t\tstate: {contextualMenuState}\n\t\t\t\t\t\t}) => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\t\tnapShortcutCommand: {\n\t\t\t\t\t\t\t\t\t\t\tcommand: 'VOICE_INPUT_SELECTED',\n\t\t\t\t\t\t\t\t\t\t\ttimestamp: Date.now()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState.primaryMenuId !== NOW_ASSIST_MENU_ID &&\n\t\t\t\t\t\t\t\t\t\tcontextualMenuState.secondaryMenuId !== NOW_ASSIST_MENU_ID\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\t\tmenuId: NOW_ASSIST_MENU_ID\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[TOOLBAR_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tconst useUtilityBar = !getBooleanPropertyWhenPolarisEnabled(\n\t\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.INSTANCE_TOOLS_DISABLED,\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tif (useUtilityBar) {\n\t\t\t\t\t\t\t\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\t\t\t\t\t\t\t\tmenuId: INSTANCE_TOOLS_MENU_ID,\n\t\t\t\t\t\t\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.INSTANCE_TOOLS_CLICKED\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\t\tmenuId: CONCOURSE_PICKER_MENU_ID\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[NOTIFICATIONS_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\tmenuId: NOTIFICATIONS_ID\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[USER_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(CONTEXTUAL_MENU_SELECTED, {\n\t\t\t\t\t\t\t\t\t\tmenuId: USER_MENU_ID,\n\t\t\t\t\t\t\t\t\t\tdispatchedAction: BUTTON_ACTIONS.AVATAR_ICON_CLICKED\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[CHAT_MENU_FOCUSED_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(TOGGLE_UTILITY_MENU, {\n\t\t\t\t\t\t\t\t\t\tmenuId: CHAT_MENU_ID\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontextualMenu: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[FAVORITE_CURRENT_PAGE_REQUESTED]: () => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\tdispatch(FAVORITE_TOGGLE_CURRENT_PAGE);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[OPEN_LANDING_PAGE_REQUESTED]: ({\n\t\t\t\t\t\t\tproperties: {selectedContent, headerLogoTarget}\n\t\t\t\t\t\t}) => {\n\t\t\t\t\t\t\tdispatch(PRE_SHORTCUT_CLEANUP_REQUESTED, {\n\t\t\t\t\t\t\t\tkeyboardShortcutHandler: () => {\n\t\t\t\t\t\t\t\t\topenHomePage({\n\t\t\t\t\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\t\t\t\t\theaderLogoTarget,\n\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\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});\n\t\t\t\tconst defaultToFalse = [\n\t\t\t\t\tALL_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tFAVORITES_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tHISTORY_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tWORKSPACES_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tADMIN_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tTOOLBAR_FOCUSED_REQUESTED,\n\t\t\t\t\tCHAT_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tNOTIFICATIONS_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tUSER_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tFAVORITE_CURRENT_PAGE_REQUESTED,\n\t\t\t\t\tIMPERSONATION_OPEN_REQUESTED,\n\t\t\t\t\tGLOBAL_SEARCH_FOCUSED,\n\t\t\t\t\tHELP_MENU_FOCUSED_REQUESTED,\n\t\t\t\t\tOPEN_FRAME_FOCUSED_REQUESTED,\n\t\t\t\t\tNOW_ASSIST_PANEL_FOCUSED_REQUESTED,\n\t\t\t\t\tVOICE_INPUT_PANEL_FOCUSED_REQUESTED\n\t\t\t\t];\n\t\t\t\tdefaultToFalse.forEach((key) =>\n\t\t\t\t\tsetActionState(host?.componentId, key, false)\n\t\t\t\t);\n\n\t\t\t\tif (userSession?.isLoggedIn)\n\t\t\t\t\tsetActionState(host?.componentId, USER_MENU_FOCUSED_REQUESTED, true);\n\n\t\t\t\tif (features?.isPolarisEnabled)\n\t\t\t\t\tsetActionState(\n\t\t\t\t\t\thost?.componentId,\n\t\t\t\t\t\tFAVORITE_CURRENT_PAGE_REQUESTED,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\n\t\t\t\tupdateState({nowTriggerLibRegistrationId});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateState,\n\t\t\t\tstate: {nowTriggerLibRegistrationId}\n\t\t\t} = coeffects;\n\n\t\t\tif (nowTriggerLibRegistrationId && deregisterComponent) {\n\t\t\t\tderegisterComponent(nowTriggerLibRegistrationId);\n\t\t\t\tupdateState({nowTriggerLibRegistrationId: null});\n\t\t\t}\n\t\t},\n\t\t[PRE_SHORTCUT_CLEANUP_REQUESTED]: {\n\t\t\teffect: ({dispatch, action: {payload}}) => {\n\t\t\t\tdispatch(CLOSE_MODALS, payload);\n\t\t\t}\n\t\t},\n\t\t[PRE_SHORTCUT_CLEANUP_SUCCEEDED]: {\n\t\t\teffect: ({dispatch, action: {payload}}) => {\n\t\t\t\t// Clean-up actions\n\t\t\t\tif (!payload?.headerMenu) {\n\t\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\t}\n\t\t\t\tif (!payload?.contextualMenu) {\n\t\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t\t}\n\t\t\t\tpayload?.keyboardShortcutHandler();\n\t\t\t}\n\t\t},\n\t\t[PRE_SHORTCUT_CLEANUP_FAILED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({requestToCloseModals: null});\n\t\t\t}\n\t\t},\n\t\t[MENU_LOADED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\tstate: {headerMenuItems}\n\t\t\t} = coeffects;\n\t\t\tconst currentHeaders = headerMenuItems\n\t\t\t\t? headerMenuItems.map(({id}) => id)\n\t\t\t\t: [];\n\t\t\tconst menuMapping = {\n\t\t\t\t[MENU_ALL]: ALL_MENU_FOCUSED_REQUESTED,\n\t\t\t\t[MENU_FAVORITES]: FAVORITES_MENU_FOCUSED_REQUESTED,\n\t\t\t\t[MENU_HISTORY]: HISTORY_MENU_FOCUSED_REQUESTED,\n\t\t\t\t[MENU_WORKSPACES]: WORKSPACES_MENU_FOCUSED_REQUESTED,\n\t\t\t\t[MENU_ADMIN]: ADMIN_MENU_FOCUSED_REQUESTED\n\t\t\t};\n\t\t\tcurrentHeaders.forEach((id) => {\n\t\t\t\tif (menuMapping[id])\n\t\t\t\t\tsetActionState(host?.componentId, menuMapping[id], true);\n\t\t\t});\n\t\t},\n\t\t[UTILITY_MENU_UPDATED]: ({action, host}) => {\n\t\t\tconst menusThatUpdated = action?.payload?.menusThatUpdated;\n\t\t\tconst menuMapping = {\n\t\t\t\t'chat-button': CHAT_MENU_FOCUSED_REQUESTED,\n\t\t\t\t'experience-notifications': NOTIFICATIONS_MENU_FOCUSED_REQUESTED,\n\t\t\t\t'help-button': HELP_MENU_FOCUSED_REQUESTED,\n\t\t\t\t[INSTANCE_TOOLS_ID]: TOOLBAR_FOCUSED_REQUESTED\n\t\t\t};\n\t\t\tmenusThatUpdated.forEach((id) => {\n\t\t\t\tid = id === 'concourse-pickers' ? INSTANCE_TOOLS_ID : id;\n\t\t\t\tif (menuMapping[id])\n\t\t\t\t\tsetActionState(host?.componentId, menuMapping[id], true);\n\t\t\t});\n\t\t},\n\t\t[SEARCH_RENDER_STATUS_REPORTED]: ({action, host, updateState, state}) => {\n\t\t\tconst oldIsRenderingSearch = get(state, STATE_PATH_SEARCH_RENDERED);\n\t\t\tconst isRenderingSearch = action?.payload?.isRenderingSearch;\n\t\t\tif (isRenderingSearch !== oldIsRenderingSearch) {\n\t\t\t\tsetActionState(\n\t\t\t\t\thost?.componentId,\n\t\t\t\t\tGLOBAL_SEARCH_FOCUSED,\n\t\t\t\t\tisRenderingSearch\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tpath: STATE_PATH_SEARCH_RENDERED,\n\t\t\t\tvalue: isRenderingSearch,\n\t\t\t\toperation: SET\n\t\t\t});\n\t\t},\n\t\t[BUTTON_ACTIONS.KEYBOARD_SHORTCUT_MODAL]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(KEYBOARD_BEHAVIOR_MODAL_OPENED);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[KEYBOARD_BEHAVIOR_MODAL_OPENED]: {\n\t\t\teffect: ({updateState, state: {keyboardShortcutsModalOpened}}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tkeyboardShortcutsModalOpened: !keyboardShortcutsModalOpened,\n\t\t\t\t\tactiveModal: !keyboardShortcutsModalOpened\n\t\t\t\t\t\t? 'keyboardShortcutsModal'\n\t\t\t\t\t\t: ''\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[OPENFRAME_ENABLED]: {\n\t\t\teffect: ({host}) => {\n\t\t\t\tsetActionState(host?.componentId, OPEN_FRAME_FOCUSED_REQUESTED, true);\n\t\t\t}\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch, state: {keyboardShortcutsModalOpened}}) => {\n\t\t\t\tif (keyboardShortcutsModalOpened) {\n\t\t\t\t\tdispatch(KEYBOARD_BEHAVIOR_MODAL_OPENED);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import {\n\tgetAllPrettifiedShortcuts,\n\tgetKeyboardShortcutOverrides,\n\tonShortcutsInitialized,\n\trestoreDefaults,\n\tsetKeyboardShortcutOverride\n} from '@servicenow/now-trigger-library';\nimport {t} from 'sn-translate';\n\nexport default {\n\tname: 'KEYBOARD_SHORTCUTS_MODAL',\n\tsetInitialState: () => ({\n\t\tkeyboardShortcutsState: {\n\t\t\tshortcuts: [],\n\t\t\tloading: true,\n\t\t\thasOverrides: false,\n\t\t\terrors: {\n\t\t\t\theader: {\n\t\t\t\t\ttitle: '',\n\t\t\t\t\tcontent: ''\n\t\t\t\t},\n\t\t\t\tcells: {}\n\t\t\t}\n\t\t}\n\t}),\n\tactionHandlers: {\n\t\t['SN_KB_SHORTCUTS#RESET_DEFAULT']: {\n\t\t\teffect: ({updateState, dispatch}) => {\n\t\t\t\trestoreDefaults()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tdispatch('SN_KB_SHORTCUTS#REQUEST_SHORTCUTS', {mode: 'edit'});\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'keyboardShortcutsState',\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\terrors: {\n\t\t\t\t\t\t\t\t\theader: {\n\t\t\t\t\t\t\t\t\t\ttitle: t('Could not reset keyboard shortcuts to default'),\n\t\t\t\t\t\t\t\t\t\tcontent: err?.message || err?.detail\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toperation: 'merge'\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['SN_KB_SHORTCUTS#REQUEST_SHORTCUTS']: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tonShortcutsInitialized()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'keyboardShortcutsState',\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\tshortcuts: getAllPrettifiedShortcuts(),\n\t\t\t\t\t\t\t\thasOverrides: [...getKeyboardShortcutOverrides()].length > 0,\n\t\t\t\t\t\t\t\terrors: {\n\t\t\t\t\t\t\t\t\theader: {\n\t\t\t\t\t\t\t\t\t\ttitle: '',\n\t\t\t\t\t\t\t\t\t\tcontent: ''\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tcells: {}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tloading: false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'keyboardShortcutsState',\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\terrors: {\n\t\t\t\t\t\t\t\t\theader: {\n\t\t\t\t\t\t\t\t\t\ttitle: t('Could not get keyboard shortcuts'),\n\t\t\t\t\t\t\t\t\t\tcontent: err?.message || err?.detail || ''\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tloading: false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toperation: 'merge'\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['SN_KB_SHORTCUTS#EDIT_SHORTCUT']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tshortcutSysId,\n\t\t\t\t\t\tshortcutName,\n\t\t\t\t\t\tplatform,\n\t\t\t\t\t\tkeyboardMetadata,\n\t\t\t\t\t\tattemptId = '',\n\t\t\t\t\t\tinputSource,\n\t\t\t\t\t\tsuggestionSource\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thost,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tsetKeyboardShortcutOverride({\n\t\t\t\t\tshortcutSysId,\n\t\t\t\t\tshortcutName,\n\t\t\t\t\tplatform,\n\t\t\t\t\tkeyboardMetadata,\n\t\t\t\t\tinputSource,\n\t\t\t\t\tsuggestionSource,\n\t\t\t\t\thost\n\t\t\t\t})\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tdispatch('SN_KB_SHORTCUTS#REQUEST_SHORTCUTS', {mode: 'edit'});\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'keyboardShortcutsState',\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\terrors: {\n\t\t\t\t\t\t\t\t\tcells: {}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toperation: 'merge'\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'keyboardShortcutsState',\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\terrors: {\n\t\t\t\t\t\t\t\t\tcells: {\n\t\t\t\t\t\t\t\t\t\t[attemptId]: {\n\t\t\t\t\t\t\t\t\t\t\tmessage: err?.message,\n\t\t\t\t\t\t\t\t\t\t\trecommendations: err?.recommendations || []\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toperation: 'merge'\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","export const UI_CONFIGURE_SCREEN_BEHAVIOR_NAME = 'CONFIGURE_SCREEN_BEHAVIOR';\n","import {UI_CONFIGURE_SCREEN_BEHAVIOR_NAME} from './constants';\n\nexport const UI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH = `behaviors[${UI_CONFIGURE_SCREEN_BEHAVIOR_NAME}]`;\n","import get from 'lodash/get';\nimport isNil from 'lodash/isNil';\n\nimport {UI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH} from './actions';\nimport {UI_CONFIGURE_SCREEN_BEHAVIOR_NAME} from './constants';\n\nconst showScreenContentLinks = (userMeta = {}) => {\n\treturn (\n\t\tuserMeta.roles?.indexOf('admin') > -1 ||\n\t\tuserMeta.roles?.indexOf('workspace_admin') > -1\n\t);\n};\n\nconst handleActiveScreenRendered = (coeffects) => {\n\tif (!showScreenContentLinks(coeffects.properties.userMeta)) return;\n\tconst {activeScreenId} = coeffects.action.payload;\n\tif (!activeScreenId) return;\n\n\tconst behaviorState = get(\n\t\tcoeffects.state,\n\t\tUI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH,\n\t\t{}\n\t);\n\tconst configureItems = get(\n\t\tbehaviorState,\n\t\t`screenContentItemsMap.${activeScreenId}`,\n\t\t[]\n\t);\n\n\tcoeffects.updateState(() => ({\n\t\tpath: 'screenContentLinks',\n\t\tvalue: [...configureItems],\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t}));\n\n\tcoeffects.updateState({\n\t\tpath: UI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH,\n\t\tvalue: {activeScreenId: activeScreenId},\n\t\toperation: 'assign',\n\t\tshouldRender: false\n\t});\n};\n\nconst handleIncomingConfigureItems = (coeffects) => {\n\tif (!showScreenContentLinks(coeffects.properties.userMeta)) return;\n\tconst {items} = coeffects.action.payload;\n\n\tconst behaviorState = get(\n\t\tcoeffects.state,\n\t\tUI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH,\n\t\t{}\n\t);\n\tconst activeScreenId = get(behaviorState, 'activeScreenId');\n\n\tif (isNil(activeScreenId)) return;\n\n\tcoeffects.updateState(() => ({\n\t\tpath: 'screenContentLinks',\n\t\tvalue: [...items],\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t}));\n\n\tconst {screenContentItemsMap} = behaviorState;\n\tconst newScreenContentItemsMap = {\n\t\t...screenContentItemsMap,\n\t\t[activeScreenId]: [...items]\n\t};\n\n\tcoeffects.updateState({\n\t\tpath: UI_CONFIGURE_SCREEN_BEHAVIOR_STATE_PATH,\n\t\tvalue: {\n\t\t\tscreenContentItemsMap: newScreenContentItemsMap\n\t\t},\n\t\toperation: 'assign',\n\t\tshouldRender: false\n\t});\n};\n\nexport default {\n\tname: UI_CONFIGURE_SCREEN_BEHAVIOR_NAME,\n\tinitialState: {\n\t\tscreenContentItemsMap: {},\n\t\tactiveScreenId: null,\n\t\tscreenContentLinks: []\n\t},\n\tactionHandlers: {\n\t\t['CONTENT_ITEMS_SELECTED']: handleIncomingConfigureItems,\n\t\t['ACTIVE_SCREEN_RENDERED']: handleActiveScreenRendered\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"snHelpAssistantBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__.__esModule\n\t\t\t\t\tif (cjsModule && 'snHelpAssistantBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"].snHelpAssistantBehavior;\n\t\t\t\t\t} else if ('snHelpAssistantBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__.snHelpAssistantBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_help_assistant_index_jsdbx_234edef5__[\"default\"].snHelpAssistantBehavior;\n\t\t\t\t} });","import {isEmpty} from 'lodash';\nimport {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {snHelpAssistantBehavior} from 'sn-help-assistant';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\nimport {CLOSE_CONTEXTUAL_MENU} from '../../components/sn-polaris-layout/actions';\nimport {HELP_MENU_ID} from '../../constants';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\nimport getHelpContext from './getHelpContext';\nimport {USER_UI_NOTIFICATION_REQUESTED} from '../user-notification-behavior/actions';\nimport {ENABLED_PLUGINS_REFRESHED} from '../enabled-plugins-behavior/actions';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\n/*\n\tdefer the loading of help until it is actually requested. on the\n\tfirst call we need to wait until the sn-help(-panel) element has\n\tbeen upgraded before re-dispatching the actions else the help\n\tcode will throw because the help behaviors assume a sn-help(-panel)\n\tinstance exists.\n\n\tlocally default doesn't exist; on an instance only default exists;\n\tthis is the reason for\n\tconst {snHelpBehavior, default: snHelp} = await import('@devsnc/sn-help');\n*/\n\nconst manualDispatchDelay = 250;\nlet forwardHelpPanelActionCalled = false;\nlet forwardHelpPanelCalled = false;\nlet isHelpAssistantPluginActive = false;\n\nconst forwardHelpAction = async (coeffects) => {\n\tconst {snHelpBehavior, default: snHelp} = await import('@devsnc/sn-help');\n\tconst behavior = snHelpBehavior || snHelp.snHelpBehavior;\n\tif (forwardHelpPanelCalled)\n\t\treturn behavior.actionHandlers[coeffects.action.type](coeffects);\n\n\trequestIdleCallback(() => {\n\t\tbehavior.actionHandlers[coeffects.action.type](coeffects);\n\t\tforwardHelpPanelCalled = true;\n\t});\n};\n\nconst forwardHelpAssistantAction = async (coeffects) => {\n\tconst {state, dispatch} = coeffects;\n\tconst {helpAssistantEnabled} = state;\n\tif (!isHelpAssistantPluginActive) return;\n\tif (!helpAssistantEnabled) {\n\t\tif (coeffects.action.type === 'SN_HELP_ASSISTANT#START_DYNAMIC_GUIDANCE') {\n\t\t\tdispatch(USER_UI_NOTIFICATION_REQUESTED, {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: 'system',\n\t\t\t\t\ttext: t(\n\t\t\t\t\t\t'Dynamic Guidance is unavailable at this time. Ask your admin to check if the skill is active before trying again.'\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tshouldCreateHTMLElement: false\n\t\t\t});\n\t\t} else return;\n\t\treturn;\n\t}\n\tconst behavior = snHelpAssistantBehavior;\n\tbehavior && behavior.actionHandlers[coeffects.action.type](coeffects);\n};\n\nconst forwardHelpPanelAction = async (coeffects) => {\n\tconst {\n\t\tsnHelpPanelBehavior,\n\t\tdefault: snHelpPanel\n\t} = await import('@devsnc/sn-help-panel');\n\tconst behavior = snHelpPanelBehavior || snHelpPanel.snHelpPanelBehavior;\n\tif (forwardHelpPanelActionCalled)\n\t\treturn behavior.actionHandlers[coeffects.action.type](coeffects);\n\n\trequestIdleCallback(() => {\n\t\t// On first call, if manually dispatched and not from menu click\n\t\tif (!coeffects.state.helpPanelAppContext.showHelpPanel) {\n\t\t\tcoeffects.updateState({\n\t\t\t\thelpPanelAppContext: {\n\t\t\t\t\t...coeffects.state.helpPanelAppContext,\n\t\t\t\t\tshowHelpPanel: true\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tbehavior.actionHandlers[coeffects.action.type](coeffects);\n\t\t\t\tforwardHelpPanelActionCalled = true;\n\t\t\t}, manualDispatchDelay);\n\t\t} else {\n\t\t\tbehavior.actionHandlers[coeffects.action.type](coeffects);\n\t\t\tforwardHelpPanelActionCalled = true;\n\t\t}\n\t});\n};\n\nconst appContextUpdated = ({\n\taction: {\n\t\tpayload: {appContext, refreshRequested}\n\t},\n\tupdateState,\n\tstate: {helpPanelAppContext},\n\tdispatch\n}) => {\n\tif (refreshRequested) {\n\t\tdispatch('SN_HELP_PANEL#REFRESH_REQUESTED', {\n\t\t\tappContext\n\t\t});\n\t}\n\n\tconst lastTimestamp = helpPanelAppContext?.appContext?.timestamp;\n\tif (lastTimestamp && appContext.timestamp < lastTimestamp) {\n\t\treturn;\n\t}\n\n\tupdateState({\n\t\tpath: 'helpPanelAppContext.appContext',\n\t\tvalue: appContext,\n\t\toperation: 'set',\n\t\tshouldRender: !!helpPanelAppContext?.showHelpPanel\n\t});\n};\n\nconst handleComponentPropertyChanged = ({action, dispatch}) => {\n\tconst {\n\t\tpayload: {name, value, previousValue}\n\t} = action;\n\n\tif (name === 'selectedContent') {\n\t\tif (value !== null && value.route) {\n\t\t\tconst helpContext = {\n\t\t\t\t...getHelpContext(value),\n\t\t\t\ttimestamp: Date.now()\n\t\t\t};\n\n\t\t\t// Schedule sn-help-panel load when selectedContent\n\t\t\t// is initially set\n\t\t\tif (isEmpty(previousValue)) {\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\timport('@devsnc/sn-help-panel').then(() => {\n\t\t\t\t\t\t\tdispatch('SN_HELP_PANEL#APP_CONTEXT_UPDATED', {\n\t\t\t\t\t\t\t\tappContext: helpContext,\n\t\t\t\t\t\t\t\trefreshRequested: true\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\tdelay: 2000\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tdispatch('SN_HELP_PANEL#APP_CONTEXT_UPDATED', {\n\t\t\t\t\t\t\tappContext: helpContext\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst updateHelpAssistantPluginStatus = ({action}) => {\n\tconst {enabledPlugins} = action.payload;\n\tisHelpAssistantPluginActive = (enabledPlugins ?? []).find(\n\t\t(plugin) =>\n\t\t\tplugin?.id === 'com.sn_help_assistant' && plugin?.active === true\n\t)\n\t\t? true\n\t\t: false;\n\treturn;\n};\n\nlet isInitiallyLoaded = false;\n\nexport default {\n\tname: 'HELP_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t\t'SN_HELP#GUIDANCE_START_REQUESTED': forwardHelpAction,\n\t\t'SN_HELP#GUIDANCE_STOP_REQUESTED': forwardHelpAction,\n\t\t'SN_HELP#ADD_NODE_REQUESTED': forwardHelpAction,\n\t\t'SN_HELP#REMOVE_NODE_REQUESTED': forwardHelpAction,\n\t\t'SN_HELP#CLEAR_NODES_REQUESTED': forwardHelpAction,\n\t\t'SN_HELP_PANEL#SHOW_REQUESTED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#HIDE_REQUESTED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#OPEN_DOCUMENT': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#TOUR_STARTED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#TOUR_ENDED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#TOUR_STEP_RENDERED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#REFRESH_REQUESTED': forwardHelpPanelAction,\n\t\t'SN_HELP_PANEL#APP_CONTEXT_UPDATED': appContextUpdated,\n\t\t// To Help Assistant\n\t\t'SN_HELP_ASSISTANT#START_DYNAMIC_GUIDANCE': forwardHelpAssistantAction,\n\t\t'SN_HELP_ASSISTANT#STOP_DYNAMIC_GUIDANCE': forwardHelpAssistantAction,\n\t\t'SN_HELP_ASSISTANT#PAUSE_DYNAMIC_GUIDANCE': forwardHelpAssistantAction,\n\t\t// From Help Assistant\n\t\t'SN_HELP_ASSISTANT#DYNAMIC_GUIDANCE_STARTED': forwardHelpPanelAction,\n\t\t'SN_HELP_ASSISTANT#DYNAMIC_GUIDANCE_ENDED': forwardHelpPanelAction,\n\t\t'SN_HELP_ASSISTANT#DYNAMIC_GUIDANCE_PAUSED': forwardHelpPanelAction,\n\n\t\t[ENABLED_PLUGINS_REFRESHED]: updateHelpAssistantPluginStatus,\n\n\t\t['SN_HELP_PANEL#SHOWN']: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tstate: {contextualMenu, contextualMenuState, helpPanelAppContext}\n\t\t\t}) => {\n\t\t\t\t// only show panel after the initial loading is done\n\t\t\t\tif (!isInitiallyLoaded && !helpPanelAppContext?.showHelpPanel) {\n\t\t\t\t\tisInitiallyLoaded = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (contextualMenu.menuType !== 'overflowMenu') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\t\tshowMenu: true,\n\t\t\t\t\t\t\tmenuType: 'helpMenu',\n\t\t\t\t\t\t\theaderText: t('Help Center'),\n\t\t\t\t\t\t\t// buttonRef: ref,\n\t\t\t\t\t\t\tmenuData: {},\n\t\t\t\t\t\t\thelpContentIndicatorOn: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\thelpPanelAppContext: {\n\t\t\t\t\t\t\t...helpPanelAppContext,\n\t\t\t\t\t\t\tshowHelpPanel: true\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tcontextualMenuState.isMenuPinned &&\n\t\t\t\t\t\tcontextualMenuState.canBePinned\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\t\t\tsecondaryMenuId: HELP_MENU_ID\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tcontextualMenuState: {\n\t\t\t\t\t\t\t\t...contextualMenuState,\n\t\t\t\t\t\t\t\tprimaryMenuId: HELP_MENU_ID\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}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_HELP_PANEL#HIDDEN']: {\n\t\t\teffect: ({dispatch, updateState, state: {helpPanelAppContext}}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\thelpPanelAppContext: {\n\t\t\t\t\t\t...helpPanelAppContext,\n\t\t\t\t\t\tshowHelpPanel: false\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tdispatch(CLOSE_CONTEXTUAL_MENU);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_HELP_PANEL#CONTENT_FETCHED']: {\n\t\t\teffect: ({state: {contextualMenu}, updateState, action: {payload}}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextualMenu: {\n\t\t\t\t\t\t...contextualMenu,\n\t\t\t\t\t\thelpContentIndicatorOn: payload.hasNewContent\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_HELP_PANEL#MODAL_OPENED']: {\n\t\t\teffect: ({dispatch, action: {payload}}) => {\n\t\t\t\tdispatch('SET_ACTIVE_MODAL', {id: payload.id});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_HELP_PANEL#MODAL_CLOSED']: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch('SET_ACTIVE_MODAL', {id: ''});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {\n\tCLASSIC,\n\tINITIAL_EXPERIENCE_PAGE_LOADED,\n\tSYS_PROPS\n} from '../../constants';\nimport {actionTypes} from '@servicenow/ui-core';\nimport registerLifecycleFn from '../../utils/registerLifecycleFn';\nimport onIframeLoad from '../../utils/onIframeLoad';\nimport getCoreUiIframe from '../../utils/getCoreUiIframe';\nimport {requestIdleCallback} from '@devsnc/unav-utils';\nimport {getProperty} from 'sn-uxpage-presource';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\nconst update = {\n\tpath: 'initialMainContentReady',\n\tvalue: true,\n\toperation: 'set'\n};\nconst deferUpdate = (updateState, update) =>\n\tsetTimeout(\n\t\t() =>\n\t\t\trequestIdleCallback(() => {\n\t\t\t\tupdateState(update);\n\t\t\t}),\n\t\tgetProperty(SYS_PROPS.UI.BANNER_DELAY) || 5000\n\t);\n\nexport default {\n\tname: 'MAIN_CONTENT_READY',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({host, updateState}) {\n\t\t\t\tregisterLifecycleFn(() => {\n\t\t\t\t\tif (host?.selectedContent?.route === CLASSIC) {\n\t\t\t\t\t\treturn onIframeLoad(getCoreUiIframe(host), () => {\n\t\t\t\t\t\t\tdeferUpdate(updateState, update);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tdeferUpdate(updateState, update);\n\t\t\t\t}, INITIAL_EXPERIENCE_PAGE_LOADED);\n\t\t\t}\n\t\t}\n\t}\n};\n","/**\n * Behavior that causes a loading menu with a spinner to show if a menu is pinned but the menu is not loaded yet\n * during initial loading of the app shell. This is not intended to handle cases where the menu is refreshing after\n * initial load, as the new menu will just swap out the old menu in that case.\n */\nimport {actionTypes} from '@servicenow/ui-core';\nimport {isEmpty, get} from 'lodash';\nimport {\n\tMANUAL_MENU_REFRESH_REQUESTED,\n\tMENU_REFRESH_REQUEST_SUCCEEDED\n} from '../menu-modifier-behavior/actions';\nimport {MENU_LOADING_BEHAVIOR_NAME} from './constants';\nimport {\n\tLOADER_MENU_STUBBED,\n\tLOADER_MENU_UNSTUBBED,\n\tMENU_LOADING_BEHAVIOR_STATE_PATH\n} from './actions';\nimport {MENU_ALL} from '@devsnc/unav-utils';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\nconst MENU_LOADER = 'menuLoader';\nconst LOADER_MENU = [\n\t{\n\t\tid: MENU_LOADER,\n\t\ttemplate: 'loader'\n\t}\n];\n\nexport default {\n\tname: MENU_LOADING_BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({state: {mainMenuState, headerMenuItems}, updateState, dispatch}) {\n\t\t\t\t// Stub blank/loader menu when pinned and menu isn't loaded yet\n\t\t\t\tif (\n\t\t\t\t\tmainMenuState.isMenuPinned &&\n\t\t\t\t\tmainMenuState.canBePinned &&\n\t\t\t\t\tisEmpty(headerMenuItems)\n\t\t\t\t) {\n\t\t\t\t\tconst newMainMenuState = {\n\t\t\t\t\t\t...mainMenuState,\n\t\t\t\t\t\tpinnedMenuId: MENU_LOADER,\n\t\t\t\t\t\tprimaryMenuId: MENU_LOADER,\n\t\t\t\t\t\tprimaryMenuLoading: true,\n\t\t\t\t\t\tshowPrimaryFilter: false,\n\t\t\t\t\t\tprimaryMenuPinable: false\n\t\t\t\t\t};\n\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'headerMenuItems',\n\t\t\t\t\t\t\tvalue: LOADER_MENU,\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: MENU_LOADING_BEHAVIOR_STATE_PATH,\n\t\t\t\t\t\t\tvalue: {previousMainMenuState: mainMenuState},\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'mainMenuState',\n\t\t\t\t\t\t\tvalue: newMainMenuState,\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\n\t\t\t\t\tdispatch(LOADER_MENU_STUBBED);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[MANUAL_MENU_REFRESH_REQUESTED]: {\n\t\t\teffect({state: {mainMenuState, headerMenuItems}, updateState, dispatch}) {\n\t\t\t\tconst ALL_MENU_LOADING = [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: MENU_ALL,\n\t\t\t\t\t\tlabel: 'All',\n\t\t\t\t\t\torder: 1,\n\t\t\t\t\t\ttemplate: 'loader'\n\t\t\t\t\t},\n\t\t\t\t\t...headerMenuItems.slice(1)\n\t\t\t\t];\n\n\t\t\t\tconst newMainMenuState = {\n\t\t\t\t\t...mainMenuState,\n\t\t\t\t\tprimaryMenuId: MENU_ALL,\n\t\t\t\t\tprimaryMenuLoading: true,\n\t\t\t\t\tshowPrimaryFilter: true\n\t\t\t\t};\n\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'headerMenuItems',\n\t\t\t\t\t\tvalue: ALL_MENU_LOADING,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: MENU_LOADING_BEHAVIOR_STATE_PATH,\n\t\t\t\t\t\tvalue: {previousMainMenuState: mainMenuState},\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'mainMenuState',\n\t\t\t\t\t\tvalue: newMainMenuState,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t}\n\t\t\t\t]);\n\n\t\t\t\tdispatch(LOADER_MENU_STUBBED);\n\t\t\t}\n\t\t},\n\t\t[MENU_REFRESH_REQUEST_SUCCEEDED]: {\n\t\t\teffect({state, updateState, dispatch}) {\n\t\t\t\tconst previousMainMenuState = get(\n\t\t\t\t\tstate,\n\t\t\t\t\t`${MENU_LOADING_BEHAVIOR_STATE_PATH}.previousMainMenuState`\n\t\t\t\t);\n\t\t\t\tif (previousMainMenuState) {\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: MENU_LOADING_BEHAVIOR_STATE_PATH,\n\t\t\t\t\t\t\tvalue: {previousMainMenuState: null},\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'mainMenuState',\n\t\t\t\t\t\t\tvalue: previousMainMenuState,\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\n\t\t\t\t\tdispatch(LOADER_MENU_UNSTUBBED);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","export const MESSAGE_STACK_SERVICE_REQUESTED =\n\t'MESSAGE_STACK#SERVICE_REQUESTED';\nexport const MESSAGE_STACK_GET_MESSAGE = 'MESSAGE_STACK#GET_MESSAGE';\nexport const MESSAGE_STACK_MESSAGE_SUCCEEDED =\n\t'MESSAGE_STACK#MESSAGE_SUCCEEDED';\n","import {t} from 'sn-translate';\nimport {isUndefined} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {createHttpEffect} from '@devsnc/unav-utils';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\n\nimport {SYS_PROPS} from '../../constants';\nimport {\n\tMESSAGE_STACK_SERVICE_REQUESTED,\n\tMESSAGE_STACK_GET_MESSAGE,\n\tMESSAGE_STACK_MESSAGE_SUCCEEDED\n} from './actions';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst getUserMessage = createHttpEffect('/angular.do?sysparm_type=message', {\n\tmethod: 'POST',\n\tdataParam: ['key'],\n\tbatch: false,\n\tsuccessActionType: MESSAGE_STACK_MESSAGE_SUCCEEDED\n});\n\nexport default {\n\tname: 'MESSAGE_STACK_SERVICE_BEHAVIOR',\n\tinitialState: {\n\t\tmessageStackAlerts: []\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\t// If the nav is in an `ATF` testing iframe don't show the message\n\t\t\t\tif (window?.frameElement?.id === 'testFrame') return;\n\n\t\t\t\tsetInterval(() => {\n\t\t\t\t\tdispatch(MESSAGE_STACK_SERVICE_REQUESTED);\n\t\t\t\t}, getProperty(SYS_PROPS.UI.MESSAGE_SERVICE_POLL_INTERVAL, 4500));\n\t\t\t}\n\t\t},\n\t\t[MESSAGE_STACK_SERVICE_REQUESTED]: {\n\t\t\teffect: ({state: {messageStackAlerts = []}, updateState, dispatch}) => {\n\t\t\t\tconst cookies = document.cookie?.split(';');\n\t\t\t\tconst messageServices = getProperty(SYS_PROPS.UI.MESSAGE_SERVICES);\n\t\t\t\tmessageServices?.split(',')?.forEach((service) => {\n\t\t\t\t\tconst cookie = cookies.find((c) => c.trim().indexOf(service) === 0);\n\t\t\t\t\tconst showAlert = messageStackAlerts.find((m) => m.id === service);\n\t\t\t\t\t// If showAlert is not underfied AND we no longer have a cookie\n\t\t\t\t\t// Close the alert and remove the message from showAlert list\n\t\t\t\t\tif (isUndefined(cookie) && !isUndefined(showAlert)) {\n\t\t\t\t\t\tmessageStackAlerts = messageStackAlerts.filter(\n\t\t\t\t\t\t\t(m) => m.id !== service\n\t\t\t\t\t\t);\n\t\t\t\t\t\tupdateState({messageStackAlerts});\n\t\t\t\t\t}\n\n\t\t\t\t\t// If we have a cookie AND showAlert is undefined\n\t\t\t\t\t// Show the alert and add message to showAlert list till the cookie is removed\n\t\t\t\t\tif (!isUndefined(cookie) && isUndefined(showAlert)) {\n\t\t\t\t\t\tconst text = getProperty(\n\t\t\t\t\t\t\tSYS_PROPS.UI.MESSAGE_SERVICE_MESSAGE + service\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tMESSAGE_STACK_GET_MESSAGE,\n\t\t\t\t\t\t\t{key: {messages: [text]}},\n\t\t\t\t\t\t\t{service, text}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MESSAGE_STACK_GET_MESSAGE]: getUserMessage,\n\t\t[MESSAGE_STACK_MESSAGE_SUCCEEDED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {messageStackAlerts = []},\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {messages},\n\t\t\t\t\t\tmeta: {service, text}\n\t\t\t\t\t},\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\t\t\t\tconst messageKeys = getProperty(\n\t\t\t\t\tSYS_PROPS.UI.MESSAGE_SERVICE_MESSAGE_KEYS + (service || '')\n\t\t\t\t)?.split(',');\n\t\t\t\tconst message = messages?.[text] ? messages[text] : text;\n\t\t\t\tconst alert = messageKeys?.length\n\t\t\t\t\t? t(message, ...messageKeys)\n\t\t\t\t\t: t(message);\n\t\t\t\tupdateState({\n\t\t\t\t\tmessageStackAlerts: [\n\t\t\t\t\t\t...messageStackAlerts,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: service,\n\t\t\t\t\t\t\tstatus: 'warning',\n\t\t\t\t\t\t\ticon: 'exclamation-circle-outline',\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'jsx',\n\t\t\t\t\t\t\t\tvalue: (\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t\t\t\t\t\t\t`<span>${alert}<\/span>`\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t)\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});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import track from '../../utils/track';\n\nimport {\n\tSKIP_LINKS_FOCUSED_OUT,\n\tSKIP_LINKS_FOCUSED_IN,\n\tSKIP_LINK_FOCUSED\n} from './actions';\nimport {METRICS} from '../../constants';\n\nexport default {\n\tname: 'SKIP_LINKS_BEHAVIOR',\n\tactionHandlers: {\n\t\t[SKIP_LINKS_FOCUSED_IN]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tskipLinksVisible: true\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SKIP_LINKS_FOCUSED_OUT]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tskipLinksVisible: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SKIP_LINK_FOCUSED]: {\n\t\t\teffect: async (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload}\n\t\t\t\t} = coeffects;\n\t\t\t\ttrack(coeffects, METRICS.SKIP_LINK_NAVIGATE, {\n\t\t\t\t\tname: payload.link\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {default as cache} from '../../utils/cache';\nimport {getBooleanProperty} from '@devsnc/unav-utils';\nimport {SYS_PROPS} from '../../constants';\nimport {\n\tLOGOUT_REQUESTED,\n\tLOGOUT_CONFIRMATION_CANCEL_CLICKED,\n\tLOGOUT_CONFIRMATION_YES_CLICKED\n} from './actions';\n\nconst logout = () => {\n\tcache.remove('searchPreviousContext'); //remove previous search context when user logs out\n\tcache.remove('availableElevatedRoles');\n\twindow.localStorage.removeItem('originalUserHasAdminRole');\n\twindow.location.href = '/logout.do';\n};\n\nexport default {\n\tname: 'LOGOUT_BEHAVIOR',\n\tactionHandlers: {\n\t\t[LOGOUT_REQUESTED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tif (getBooleanProperty(SYS_PROPS.SYS_LOGOUT_PROMPT)) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tlogoutConfirmationOpened: true\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tlogout();\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LOGOUT_CONFIRMATION_CANCEL_CLICKED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tlogoutConfirmationOpened: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LOGOUT_CONFIRMATION_YES_CLICKED]: {\n\t\t\teffect: logout,\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {id, value}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (id === 'logout-confirmation' && !value) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tlogoutConfirmationOpened: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_theme_loader_26_0_8_webux_4_index_jsdbx_eb2a2efa__[\"default\"][\"default\"];\n\t\t\t\t} });","import {getProperty} from 'sn-uxpage-presource';\nimport {t} from 'sn-translate';\nimport intersection from 'lodash/intersection';\nimport get from 'lodash/get';\nimport {USER_PREF_CONTINUE_LANDING_PAGE} from '../../constants';\n\nimport {\n\tSYS_PROPS,\n\tPREFERENCES,\n\tgetBooleanProperty,\n\tgetBooleanPreferenceValue,\n\tgetPreferenceValue\n} from '@devsnc/unav-utils';\n\nexport const REFRESH_PREFERENCES_MAP =\n\t'PREFERENCE_OBJECT_GENERATOR#REFRESH_PREFERENCES_MAP';\n\nexport const ATF_INSPECTOR_ROLES = [\n\t'admin',\n\t'atf_test_designer',\n\t'atf_test_admin'\n];\n\nexport const DASHBOARD_ROLES = ['pa_viewer', 'pa_contributor', 'admin'];\n\nexport const getDateTimeSelectedItem = (userPreferences) => {\n\tconst selectedFormat = getPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.DATE_FORMAT\n\t);\n\n\tconst compact = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.COMPACT_DATE\n\t);\n\n\tconst value = selectedFormat\n\t\t? selectedFormat\n\t\t\t\t.replace(/\\s+/g, '')\n\t\t\t\t.replace(/(.*)(shortDate|shortDates)(:true|:false)(.*)/g, '$1$4')\n\t\t\t\t.replace(/([,{])(dateBoth|timeAgo)(:)/g, '$1\"$2\"$3')\n\t\t: '{\"timeAgo\":false,\"dateBoth\":false}';\n\n\tlet parsedValue;\n\ttry {\n\t\tparsedValue = JSON.parse(value);\n\t} catch {\n\t\tparsedValue = {timeAgo: false, dateBoth: false};\n\t}\n\n\treturn compact && !parsedValue.timeAgo ? `${value}/compact` : value;\n};\n\nexport const getHomepageTitle = (userPreferences) => {\n\tconst homepageValue = getPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.HOMEPAGE,\n\t\t''\n\t);\n\n\tconst homepageContinueLastExit = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tUSER_PREF_CONTINUE_LANDING_PAGE,\n\t\tfalse\n\t);\n\n\tlet homepageTitle = homepageContinueLastExit\n\t\t? t('Continue where I last left off')\n\t\t: '';\n\n\tif (!homepageTitle) {\n\t\tif (homepageValue === '') {\n\t\t\thomepageTitle = t('Default');\n\t\t} else if (homepageValue === 'default') {\n\t\t\thomepageTitle = t('Homepages');\n\t\t} else if (homepageValue === '$pa_dashboard.do') {\n\t\t\thomepageTitle = t('Dashboards');\n\t\t} else {\n\t\t\thomepageTitle = getPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.HOMEPAGE_TITLE,\n\t\t\t\t''\n\t\t\t);\n\t\t}\n\t}\n\n\treturn homepageTitle;\n};\n\n/* istanbul ignore next */\nexport const getSeismicDevtoolChromeWebstoreURL = () => {\n\treturn getProperty(\n\t\tSYS_PROPS.UI.NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOL_CHROME_WEBSTORE_URL,\n\t\t''\n\t);\n};\n\nexport const isAtfInspectorEnabled = ({userRoles}) => {\n\treturn intersection(userRoles, ATF_INSPECTOR_ROLES).length > 0;\n};\n\nexport const isDashboardsEnabled = ({enabledPlugins = [], userRoles}) => {\n\tconst isCanvasActive =\n\t\tenabledPlugins.find(({id}) => id === 'com.glideapp.dashboards')?.active &&\n\t\tgetBooleanProperty(SYS_PROPS.RESPONSIVE_GRID_LAYOUT, true);\n\treturn (\n\t\tisCanvasActive ||\n\t\t(enabledPlugins.find(({id}) => id === 'com.snc.pa')?.active &&\n\t\t\tintersection(userRoles, DASHBOARD_ROLES).length > 0)\n\t);\n};\n\nexport const isUserExperienceTabEnabled = ({\n\tisAppseeActive,\n\tisTelemetryToggleAllowed\n}) => {\n\treturn (\n\t\tgetBooleanProperty(SYS_PROPS.USER_SELECT_LANDING_PAGE, false) ||\n\t\tgetBooleanProperty(SYS_PROPS.UI.POLARIS_ON_OFF_USER_PREF_ENABLED, false) ||\n\t\t(isAppseeActive && isTelemetryToggleAllowed)\n\t);\n};\n\n/* istanbul ignore next */\nexport const preferenceNamespace = () => {\n\treturn get(\n\t\twindow,\n\t\t'ux_globals.theme.themeOptions.userPreferenceNamespace',\n\t\t'glide.ui.polaris.'\n\t);\n};\n\nexport const showSeismicDevtoolsPrefPanel = (\n\tuserAgent = window.navigator.userAgent\n) => {\n\t// Show only for chrome browser\n\tconst isChrome = /Chrome/.test(userAgent);\n\tconst hasURL = getProperty(\n\t\tSYS_PROPS.UI.NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOL_CHROME_WEBSTORE_URL\n\t);\n\treturn (\n\t\tisChrome &&\n\t\thasURL &&\n\t\tgetBooleanProperty(\n\t\t\tSYS_PROPS.UI.NEXT_EXPERIENCE_SEISMIC_DEVELOPER_TOOLS_USER_PREF_ENABLED,\n\t\t\tfalse\n\t\t)\n\t);\n};\n","import {t} from 'sn-translate';\nimport {isEmpty, map} from 'lodash';\nimport {\n\tcreateHttpEffect,\n\teffectProxy,\n\tgetBooleanProperty\n} from '@devsnc/unav-utils';\nimport createThemeLoaderEffect from '@devsnc/uxf-effect-theme-loader';\nimport {SYS_PROPS} from '../../constants';\nimport {REFRESH_PREFERENCES_MAP} from '../user-preference-object-generator-behavior/user-preference-object-generator.utils';\n\nexport const THEME_VARIANT_CHANGED = 'THEME#VARIANT_CHANGED';\nexport const THEME_INFODENSITY_CHANGED = 'THEME#INFODENSITY_CHANGED';\nexport const THEMES_FETCHED = 'THEME_BEHAVIOR#THEMES_FETCHED';\nexport const THEMES_FETCHED_SUCCEEDED =\n\t'THEME_BEHAVIOR#THEMES_FETCHED_SUCCEEDED';\nconst THEMES_FETCHED_FAILED = 'THEME_BEHAVIOR#THEMES_FETCHED_FAILED';\n\nexport const fetchThemes = createHttpEffect(\n\t'/api/now/uxframework/themes/experience/:sys_id',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tpathParams: ['sys_id'],\n\t\tsuccessActionType: THEMES_FETCHED_SUCCEEDED,\n\t\terrorActionType: THEMES_FETCHED_FAILED\n\t}\n);\n\nconst propertiesForPrefs = [\n\t'--now-color_background--secondary',\n\t'--now-color--secondary-3',\n\t'--now-color--primary-2',\n\t'--now-unified-nav_header--background-color',\n\t'--now-color_chrome--brand-10',\n\t'--now-unified-nav_nav-menu-trigger--color',\n\t'--now-unified-nav_button--color',\n\t'--now-color--neutral-0',\n\t'--now-color_background--primary',\n\t'--now-color_border--tertiary',\n\t'--now-color_text--primary',\n\t'--now-color_text--secondary',\n\t'--now-button--primary--background-color',\n\t'--now-text-link--primary--color'\n];\n\nexport const findRGBValue = (name, properties) => {\n\tlet temp = name;\n\tif (propertiesForPrefs.indexOf(name) > -1) {\n\t\twhile (properties[temp] && !/^.+,.+,.+$/.test(properties[temp])) {\n\t\t\ttemp = properties[temp];\n\t\t\tif (temp === properties[temp]) return null;\n\t\t}\n\t\treturn properties[temp];\n\t} else return null;\n};\n\nconst mapPropertiesToRGBValues = (properties) => {\n\tconst newProperties = {};\n\tfor (const property in properties) {\n\t\tconst value = findRGBValue(property, properties);\n\t\tif (value) newProperties[property] = value;\n\t}\n\n\treturn newProperties;\n};\n\nconst setAvailableThemes = (theme = {}, updateState) => {\n\tconst availableThemes = [];\n\tconst {multiThemeEnabled, themes} = theme;\n\n\tif (!themes) return;\n\n\tthemes.forEach((theme) => {\n\t\tconst themeObject = theme.themeOptions;\n\n\t\tif (!themeObject) {\n\t\t\tupdateState({\n\t\t\t\tavailableThemes,\n\t\t\t\tthemesFetched: true,\n\t\t\t\tmultiThemeEnabled\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst styleProperties = themeObject.coreStyles.reduce(\n\t\t\t(acc, style) => ({\n\t\t\t\t...acc,\n\t\t\t\t...style.properties\n\t\t\t}),\n\t\t\t{}\n\t\t);\n\n\t\tconst convertedStyleProperties = mapPropertiesToRGBValues(styleProperties);\n\n\t\tavailableThemes.push({\n\t\t\tname: themeObject.name || t('Default'),\n\t\t\tsys_id: themeObject.themeId || '',\n\t\t\tproperties: convertedStyleProperties,\n\t\t\ttheme,\n\t\t\tvariants: [\n\t\t\t\t{\n\t\t\t\t\tname: t('Default'),\n\t\t\t\t\tsys_id: '',\n\t\t\t\t\tisDark: false,\n\t\t\t\t\tproperties: convertedStyleProperties\n\t\t\t\t},\n\t\t\t\t...map(themeObject.variants, ({properties, isDark, name}, sys_id) => ({\n\t\t\t\t\tname,\n\t\t\t\t\tsys_id,\n\t\t\t\t\tisDark,\n\t\t\t\t\tproperties: mapPropertiesToRGBValues({\n\t\t\t\t\t\t...styleProperties,\n\t\t\t\t\t\t...properties\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t].filter((variant) =>\n\t\t\t\t!getBooleanProperty(SYS_PROPS.UI.DARK_THEMES_ENABLED)\n\t\t\t\t\t? !variant.isDark\n\t\t\t\t\t: true\n\t\t\t),\n\t\t\tdeviceAdaptiveStyles: themeObject?.deviceAdaptiveStyles\n\t\t});\n\t});\n\n\tupdateState({\n\t\tavailableThemes,\n\t\tthemesFetched: true,\n\t\tmultiThemeEnabled\n\t});\n};\n\nexport default {\n\tname: 'THEMES_BEHAVIOR',\n\tinitialState: {\n\t\tthemesFetched: false\n\t},\n\tactionHandlers: {\n\t\t[THEMES_FETCHED]: effectProxy(fetchThemes),\n\t\t[THEME_VARIANT_CHANGED]: createThemeLoaderEffect(),\n\t\t[THEME_INFODENSITY_CHANGED]: createThemeLoaderEffect(),\n\n\t\t[THEMES_FETCHED_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tconst theme = !isEmpty(result) ? result : window.ux_globals.theme;\n\n\t\t\t\tsetAvailableThemes(theme, updateState);\n\t\t\t\tdispatch(REFRESH_PREFERENCES_MAP);\n\t\t\t}\n\t\t},\n\t\t[THEMES_FETCHED_FAILED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tsetAvailableThemes(window.ux_globals.theme, updateState);\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createHttpEffect, effectProxy} from '@devsnc/unav-utils';\nimport {REFRESH_PREFERENCES_MAP} from '../user-preference-object-generator-behavior/user-preference-object-generator.utils';\n\nexport const GET_TELEMETRY_TRACKING =\n\t'TELEMETRY_BEHAVIOR#GET_TELEMETRY_TRACKING';\nexport const GET_TELEMETRY_TRACKING_SUCCEEDED =\n\t'TELEMETRY_BEHAVIOR#GET_TELEMETRY_TRACKING_SUCCEEDED';\nconst GET_TELEMETRY_TRACKING_FAILED =\n\t'TELEMETRY_BEHAVIOR#GET_TELEMETRY_TRACKING_FAILED';\n\nexport const UPDATE_TELEMETRY_TRACKING =\n\t'TELEMETRY_BEHAVIOR#UPDATE_TELEMETRY_TRACKING';\n\nexport const getTelemetryTracking = createHttpEffect('/api/now/consent/get', {\n\tmethod: 'GET',\n\tbatch: true,\n\tsuccessActionType: GET_TELEMETRY_TRACKING_SUCCEEDED,\n\terrorActionType: GET_TELEMETRY_TRACKING_FAILED\n});\n\nexport const updateTelemetryTracking = createHttpEffect(\n\t'/api/now/consent/update',\n\t{\n\t\tmethod: 'POST',\n\t\tbatch: true,\n\t\tdataParam: 'payload',\n\t\tsuccessActionType: ''\n\t}\n);\n\nexport default {\n\tname: 'TELEMETRY_BEHAVIOR',\n\tactionHandlers: {\n\t\t[GET_TELEMETRY_TRACKING]: effectProxy(getTelemetryTracking),\n\t\t[GET_TELEMETRY_TRACKING_SUCCEEDED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result}\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tconst {ConsentToggleState, ConsentToggleIsAllowed} = result;\n\t\t\t\tupdateState({\n\t\t\t\t\ttelemetryToggleState: ConsentToggleState,\n\t\t\t\t\tisTelemetryToggleAllowed: ConsentToggleIsAllowed\n\t\t\t\t});\n\t\t\t\tdispatch(REFRESH_PREFERENCES_MAP);\n\t\t\t}\n\t\t},\n\t\t[GET_TELEMETRY_TRACKING_FAILED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\ttelemetryToggleState: false,\n\t\t\t\t\ttelemetryToggleIsAllowed: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[UPDATE_TELEMETRY_TRACKING]: effectProxy(updateTelemetryTracking)\n\t}\n};\n","import {omit} from 'lodash';\nimport track from '../../utils/track';\nimport cache from '../../utils/cache';\nimport {\n\tUSER_SETTINGS_SEND_EVENT_REQUESTED,\n\tUSER_SETTINGS_MODAL_OPENED,\n\tUSER_SETTINGS_UPDATE_STATE\n} from './actions';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_DOM_TREE_READY, COMPONENT_PROPERTY_CHANGED} = actionTypes;\nimport {METRICS, NAV_ITEM_SELECTED} from '../../constants';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\nimport {THEMES_FETCHED} from '../theme-behavior';\nimport {GET_TELEMETRY_TRACKING} from '../telemetry-behavior';\nimport {REFRESH_PREFERENCES_MAP} from '../user-preference-object-generator-behavior/user-preference-object-generator.utils';\n\nexport const CORE_TABS = {\n\tgeneral: 'display',\n\tform: 'display',\n\tlist: 'display',\n\ttheme: 'theme',\n\taccessibility: 'a11y',\n\tnotifications_general: 'notifications'\n};\n\nexport const EVENTS = {\n\tCOMPACT: 'compact',\n\tWRAP_LIST: 'table_wrap',\n\tDATE_FORMAT: 'cc_dateformat_set',\n\tCOMPACT_DATE: 'cc_dateformat_compact_set',\n\tKEYBOARD_SHORTCUTS: 'application_navigator_keyboard_shortcuts_updated',\n\tTABBED_FORMS: 'tabbed'\n};\n\nconst eventMappings = {\n\t// https://code.devsnc.com/dev/glide/blob/1750772b8084a22800adf70a5616303ea743ef69/glide/plugins/com.glide.ui.concourse/ui.html/scripts/concourse/dateTimeFormat.js#L8-L13\n\t// Handle expanding dateformat to its respective event + value\n\t[EVENTS.DATE_FORMAT]: (value) => {\n\t\tlet preferences;\n\n\t\ttry {\n\t\t\tpreferences = typeof value === 'string' ? JSON.parse(value) : value;\n\t\t} catch (ex) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (preferences.dateBoth === false)\n\t\t\treturn {\n\t\t\t\ttimeago_set: {\n\t\t\t\t\tvalue: preferences.timeAgo\n\t\t\t\t}\n\t\t\t};\n\t\telse\n\t\t\treturn {\n\t\t\t\tdate_both: {\n\t\t\t\t\tvalue: true\n\t\t\t\t}\n\t\t\t};\n\t},\n\t[EVENTS.COMPACT_DATE]: (value) => {\n\t\treturn {\n\t\t\tshortdates_set: {\n\t\t\t\tvalue\n\t\t\t}\n\t\t};\n\t}\n};\n\nconst getSetting = ({event, value}) => {\n\tconst mapping = eventMappings[event];\n\treturn mapping ? mapping(value) : {[event]: {value}};\n};\n\nconst omitSettings = ({userSettingsBuffer, event, value}) => {\n\tconst mapping = omitMappings[event];\n\treturn mapping\n\t\t? omit(userSettingsBuffer, mapping(value))\n\t\t: userSettingsBuffer;\n};\n\nconst omitMappings = {\n\t[EVENTS.DATE_FORMAT]: (value) => {\n\t\tlet preferences;\n\n\t\ttry {\n\t\t\tpreferences = typeof value === 'string' ? JSON.parse(value) : value;\n\t\t} catch (ex) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn preferences.dateBoth ? ['timeago_set'] : ['date_both'];\n\t}\n};\n\nconst userSettingEventsEffect = ({action, updateState, state}) => {\n\tconst {\n\t\tpayload: {event, value}\n\t} = action;\n\tconst userSettingsBuffer = state.userSettingsBuffer || {};\n\t// The userSettingsBuffer is flushed and the preferences are fired into the iframe after the userPreferences property changes\n\t// which indicates that the database has been updated with the latest preference values.\n\t// e.g. { ['compact']: { value: true } }\n\tupdateState({\n\t\tpath: 'userSettingsBuffer',\n\t\tvalue: {\n\t\t\t...omitSettings({userSettingsBuffer, event, value}),\n\t\t\t...getSetting({userSettingsBuffer, event, value})\n\t\t},\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n\nexport const deleteCookie = () => {\n\t// Need to set localStorage variable because there's delay in cookie deletion causing double rendering of page.\n\tcache.set('sysparm_modal_path', 'expired', {ttl: 7000});\n\tdocument.cookie =\n\t\t'sysparm_modal_path=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; // delete cookie\n};\n\nconst getSettingsModalPath = () => {\n\tif (cache.get('sysparm_modal_path') === 'expired') {\n\t\tcache.remove('sysparm_modal_path');\n\t\tdocument.cookie =\n\t\t\t'sysparm_modal_path=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; // delete cookie\n\t\treturn null;\n\t}\n\n\t/** sysparm_modal_path will be in below format\n\t * 'sysparm_modal_path=settings.forms',\n\t * 'sysparm_modal_path=\"settings.notifications_general.notifications_category?category=cbc6836273e0230080b29ca9faf6a7ac\"'\n\t */\n\tconst settingsModalPathValue = document.cookie\n\t\t.split('; ')\n\t\t.find((row) => row.startsWith('sysparm_modal_path='))\n\t\t?.replaceAll('\"', '');\n\n\tif (settingsModalPathValue) {\n\t\tconst paths = settingsModalPathValue.split('=')[1]?.split('.');\n\t\tlet modalPath = null;\n\t\tif (paths?.[0] === 'settings') {\n\t\t\tif (\n\t\t\t\tpaths.length === 3 &&\n\t\t\t\t!getFeatureSettings().isCoreUINotificationPrefEnabled\n\t\t\t) {\n\t\t\t\tconst targetPath = paths.length === 3 ? paths[2] : '';\n\t\t\t\tif (targetPath) {\n\t\t\t\t\tconst decodedValue = decodeURIComponent(settingsModalPathValue);\n\t\t\t\t\tconst targetTab = decodedValue?.split('?')[1]?.split('=');\n\t\t\t\t\tconst params = {};\n\t\t\t\t\tif (targetTab[0] === 'category') params.categoryId = targetTab[1];\n\t\t\t\t\telse if (targetTab[0] === 'notification')\n\t\t\t\t\t\tparams.notificationId = targetTab[1];\n\n\t\t\t\t\tmodalPath = {params};\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst tab = CORE_TABS[paths[1]];\n\t\t\t\tmodalPath =\n\t\t\t\t\ttab === 'notifications'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tinitialTab: tab,\n\t\t\t\t\t\t\t\tnotificationUrl: `/np.do?${settingsModalPathValue}&sysparm_use_modal=true&sysparm_nostack=true`\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {initialTab: tab};\n\t\t\t}\n\t\t}\n\t\tdeleteCookie();\n\t\treturn modalPath;\n\t}\n\treturn null;\n};\n\nconst handleSettingsModalPath = ({dispatch}) => {\n\tconst modalPath = getSettingsModalPath();\n\tif (modalPath) {\n\t\tif (modalPath.params) {\n\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\tcontext: {path: 'now/platform-notifications'},\n\t\t\t\troute: 'platform-notifications',\n\t\t\t\tparams: modalPath.params\n\t\t\t});\n\t\t} else dispatch(USER_SETTINGS_MODAL_OPENED, modalPath);\n\t}\n};\n\nexport default {\n\tname: 'USER_SETTINGS_BEHAVIOR',\n\tinitialState: {\n\t\tsettingOpened: null,\n\t\tnotificationUrl: '/np.do?sysparm_nostack=true'\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect: handleSettingsModalPath\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (name === 'selectedContent') {\n\t\t\t\t\thandleSettingsModalPath({dispatch});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[USER_SETTINGS_SEND_EVENT_REQUESTED]: userSettingEventsEffect,\n\t\t[USER_SETTINGS_MODAL_OPENED]: {\n\t\t\teffect: async (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tupdateState,\n\t\t\t\t\taction,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tstate: {themesFetched, enabledPlugins},\n\t\t\t\t\tproperties: {features: isPolarisEnabled}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst settingOpened = action.payload?.initialTab || 'display';\n\t\t\t\tupdateState({\n\t\t\t\t\tsettingOpened,\n\t\t\t\t\tnotificationUrl: action.payload.notificationUrl\n\t\t\t\t});\n\t\t\t\tdispatch(REFRESH_PREFERENCES_MAP);\n\t\t\t\tdispatch('SET_ACTIVE_MODAL', {id: 'settingsModal'});\n\t\t\t\ttrack(coeffects, METRICS.SELECT_USER_MENU_ITEM, {\n\t\t\t\t\tname: 'Preferences'\n\t\t\t\t});\n\n\t\t\t\tconst isAppseeActive = enabledPlugins?.find(\n\t\t\t\t\t({id}) => id === 'com.glide.appsee'\n\t\t\t\t)?.active;\n\n\t\t\t\tif (isPolarisEnabled && !themesFetched) {\n\t\t\t\t\tdispatch(THEMES_FETCHED, {\n\t\t\t\t\t\tsys_id: 'a84adaf4c700201072b211d4d8c260b7'\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (isAppseeActive) {\n\t\t\t\t\tdispatch(GET_TELEMETRY_TRACKING);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['SN_USER_PREFERENCES#MODAL_CLOSED']: {\n\t\t\teffect: ({updateState, dispatch}) => {\n\t\t\t\tif (getFeatureSettings().isCoreUINotificationPrefEnabled) {\n\t\t\t\t\tdocument.cookie =\n\t\t\t\t\t\t'sysparm_modal_path=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; // delete cookie\n\t\t\t\t}\n\t\t\t\tupdateState({\n\t\t\t\t\tsettingOpened: null,\n\t\t\t\t\tnotificationUrl: 'np.do'\n\t\t\t\t});\n\t\t\t\tdispatch('SET_ACTIVE_MODAL', {id: ''});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch('SN_USER_PREFERENCES#MODAL_CLOSED');\n\t\t\t}\n\t\t},\n\t\t[USER_SETTINGS_UPDATE_STATE]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {path, value}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath,\n\t\t\t\t\tvalue\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {ASIDE_RESIZED} from './actions';\nimport {PX_TO_REM_CONVERSION_RATE} from '../../constants';\n\nexport default {\n\tname: 'ASIDE_BEHAVIOR',\n\tinitialState: {\n\t\tasideHeight: 0\n\t},\n\tactionHandlers: {\n\t\t[ASIDE_RESIZED]: {\n\t\t\teffect: ({host, updateState, action: {payload}}) => {\n\t\t\t\thost.style.setProperty(\n\t\t\t\t\t'--aside-height',\n\t\t\t\t\t`${payload[0].contentRect.height / PX_TO_REM_CONVERSION_RATE}rem`\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tasideHeight: payload[0].contentRect.height\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {isFunction} from 'lodash';\nimport {SCHEDULE_FOR_PAGE_LOAD} from './actions';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {CLASSIC} from '../../constants';\nconst functionMap = new Map();\nexport default {\n\tname: 'SCHEDULE_FOR_PAGE_LOAD',\n\tactionHandlers: {\n\t\t[SCHEDULE_FOR_PAGE_LOAD]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {action: fn}\n\t\t\t\t},\n\t\t\t\tproperties: {selectedContent}\n\t\t\t}) => {\n\t\t\t\tconst route = selectedContent?.route || null;\n\t\t\t\tconst startTime = new Date();\n\t\t\t\tfunctionMap.set(fn, startTime);\n\t\t\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\t\t\t// hacky - once promise is resolved on direct loads, on click through it stays resolved\n\t\t\t\t\t// Check if `whenScreenMacroponentIdleDuringPageLoad` is already resolved\n\t\t\t\t\tconst funStartTime = functionMap.get(fn);\n\t\t\t\t\tconst endTime = new Date();\n\t\t\t\t\tif (\n\t\t\t\t\t\tendTime - funStartTime < 10 ||\n\t\t\t\t\t\troute === CLASSIC ||\n\t\t\t\t\t\troute === null\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Add a timeout to execute the function if the Promise is already resolved\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tisFunction(fn) && fn();\n\t\t\t\t\t\t}, getProperty('glide.next_experience.mock_page_load_timeout', 4000));\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Wait for the Promise to resolve and then execute the function\n\t\t\t\t\t\tisFunction(fn) && fn();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {\n\tINIT_GUIDED_TOURS,\n\tTOUR_MODAL_OPENED,\n\tTOUR_MODAL_CLOSED,\n\tTOUR_BEGIN\n} from './constants';\nimport {SYS_PROPS} from '../../constants';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\n\nexport default {\n\tname: 'GUIDED_TOURS_BEHAVIOR',\n\tactionHandlers: {\n\t\t[INIT_GUIDED_TOURS]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tif (!document.getElementById('polaris-ui16-dependencies')) return;\n\t\t\t\tconst buildDate = getProperty(SYS_PROPS.BUILD_DATE);\n\n\t\t\t\tif (window.NOW && window.NOW.isGtdEnabledForStandardUI) {\n\t\t\t\t\tconst depJS = document.createElement('script');\n\t\t\t\t\tdepJS.src = `/polaris-guided-tours-dependency.js?v=${buildDate}`;\n\t\t\t\t\tdepJS.id = 'polaris-guided-tours-dependency';\n\t\t\t\t\tdocument.head.appendChild(depJS);\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'guidedToursLoaded',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\n\t\t\t\t\t// Triggered only for Guided Tour Designer as it renders Next Experience in a child frame (ie. tours are not played back).\n\t\t\t\t\tif (\n\t\t\t\t\t\twindow.top !== window.self &&\n\t\t\t\t\t\tdocument.querySelectorAll('#tours-css').length === 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst depCSS = document.createElement('link');\n\t\t\t\t\t\tdepCSS.id = 'tours-css';\n\t\t\t\t\t\tdepCSS.href = `/polaris-guided-tours-dependency.css?v=${buildDate}`;\n\t\t\t\t\t\tdepCSS.rel = 'stylesheet';\n\t\t\t\t\t\tdocument.head.appendChild(depCSS);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[TOUR_MODAL_OPENED]: {\n\t\t\teffect: ({updateState, action: {payload}}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tguidedToursPrompt: true,\n\t\t\t\t\tguidedTour: payload\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[TOUR_MODAL_CLOSED]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tguidedToursPrompt: false,\n\t\t\t\t\tguidedTour: null\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[TOUR_BEGIN]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tguidedToursPrompt: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(TOUR_MODAL_CLOSED);\n\t\t\t}\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({dispatch, action}) => {\n\t\t\t\tdispatch(TOUR_MODAL_CLOSED);\n\n\t\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\t\tCustomEvent.fireAll('tour:modal_closed', action);\n\t\t\t}\n\t\t},\n\t\t['NOW_MODAL#FOOTER_ACTION_CLICKED']: {\n\t\t\teffect: ({dispatch, action}) => {\n\t\t\t\tdispatch(TOUR_MODAL_CLOSED);\n\n\t\t\t\tif (window.CustomEvent.fireAll)\n\t\t\t\t\tCustomEvent.fireAll('tour:modal_footer_action_clicked', action);\n\t\t\t}\n\t\t}\n\t}\n};\n","export const PUSHED_UXF_PAGE_TO_STACK = 'PUSHED_UXF_PAGE_TO_STACK';\nexport const PUSHED_UXF_PAGE_TO_STACK_SUCCESS =\n\t'PUSHED_UXF_PAGE_TO_STACK_SUCCESS';\nexport const PUSHED_UXF_PAGE_TO_STACK_FAILURE =\n\t'PUSHED_UXF_PAGE_TO_STACK_FAILURE';\n","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tPUSHED_UXF_PAGE_TO_STACK,\n\tPUSHED_UXF_PAGE_TO_STACK_FAILURE,\n\tPUSHED_UXF_PAGE_TO_STACK_SUCCESS\n} from './actions';\nimport {CLASSIC} from '../../constants';\nimport {isEqual} from 'lodash';\nimport {createAuthedOnlyHttpEffect} from '@devsnc/unav-utils';\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\n\nexport const pushToStack = createAuthedOnlyHttpEffect('/api/now/ui/stack', {\n\tmethod: 'PUT',\n\tbatch: false,\n\tqueryParams: ['sysparm_uri', 'sysparm_nameofstack'],\n\tdata: 'data',\n\tsuccessActionType: PUSHED_UXF_PAGE_TO_STACK_SUCCESS,\n\terrorActionType: PUSHED_UXF_PAGE_TO_STACK_FAILURE\n});\n\nconst pushToStackSuccess = () => {\n\t//\tconsole.info('uri addedto stack');\n};\n\nconst pushToStackFailure = () => {\n\tconsole.error('Error while trying to push to stack');\n};\n\nexport default {\n\tname: 'NAVIGATION_STACK_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction: {\n\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t},\n\t\t\tdispatch\n\t\t}) {\n\t\t\tif (name === 'selectedContent') {\n\t\t\t\tif (\n\t\t\t\t\tvalue &&\n\t\t\t\t\tvalue.route !== CLASSIC &&\n\t\t\t\t\t(!isEqual(previousValue?.context, value.context) ||\n\t\t\t\t\t\t!isEqual(previousValue?.route, value.route) ||\n\t\t\t\t\t\t!isEqual(previousValue?.fields, value.fields))\n\t\t\t\t) {\n\t\t\t\t\tconst currentUrl = window.location.pathname;\n\t\t\t\t\tconst glideStackName = value?.params?.glideStackName;\n\t\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\tdispatch(PUSHED_UXF_PAGE_TO_STACK, {\n\t\t\t\t\t\t\t\tsysparm_uri: currentUrl,\n\t\t\t\t\t\t\t\tsysparm_nameofstack: glideStackName\n\t\t\t\t\t\t\t\t\t? glideStackName\n\t\t\t\t\t\t\t\t\t: 'default',\n\t\t\t\t\t\t\t\tsysparm_clear_stack: true\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}\n\t\t\t}\n\t\t},\n\t\t[PUSHED_UXF_PAGE_TO_STACK]: pushToStack,\n\t\t[PUSHED_UXF_PAGE_TO_STACK_SUCCESS]: pushToStackSuccess,\n\t\t[PUSHED_UXF_PAGE_TO_STACK_FAILURE]: pushToStackFailure\n\t}\n};\n","import {FEEDBACK_FORM_ACTIONS} from '../../components/sn-feedback-form';\nimport {CLOSE_MODALS} from '../../components/sn-polaris-layout/actions';\n\nconst handleFeedbackFormOpen = (coeffects) => {\n\tconst {updateState, dispatch} = coeffects;\n\tdispatch('SET_ACTIVE_MODAL', {id: 'feedback-modal'});\n\tupdateState({\n\t\tshowFeedbackForm: true\n\t});\n};\n\nconst handleFeedbackFormClose = (coeffects) => {\n\tconst {updateState, dispatch} = coeffects;\n\tdispatch('SET_ACTIVE_MODAL', {id: ''});\n\tupdateState({\n\t\tshowFeedbackForm: false\n\t});\n};\n\nexport default {\n\tname: 'FEEDBACK_FORM_BEHAVIOR',\n\tinitialState: {\n\t\tshowFeedbackForm: false\n\t},\n\tactionHandlers: {\n\t\t[FEEDBACK_FORM_ACTIONS.OPEN]: {\n\t\t\teffect: handleFeedbackFormOpen,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FEEDBACK_FORM_ACTIONS.CLOSE]: {\n\t\t\teffect: handleFeedbackFormClose,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLOSE_MODALS]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch(FEEDBACK_FORM_ACTIONS.CLOSE);\n\t\t\t}\n\t\t},\n\t\t'NOW_MODAL#OPENED_SET': {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {value}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tif (!value) {\n\t\t\t\t\thandleFeedbackFormClose(coeffects);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import {\n\tOVERVIEW_HELP_VISITED,\n\tOVERVIEW_HELP_WITH_NOW_ASSIST_VISITED_V,\n\tOTTO_ONBOARDING_DISMISSED,\n\tUSER_PREF_UPDATED\n} from '../constants';\nimport {getBooleanPreferenceValue} from '@devsnc/unav-utils';\n\nexport const defaultGuidance = '70e8b5fbc31a3010b6cb4b46dd40dd57';\nexport const guidanceWithNowAssist = 'ca7201f243022110096aa4f8f9b8f287';\nexport const ottoGuidance = 'a5c0b9ed1867633c5ca5d97d72297b12';\n\nconst isHelpVisited = (userPreferences, isNowAssistEnabled) => {\n\tconst preference = isNowAssistEnabled\n\t\t? OVERVIEW_HELP_WITH_NOW_ASSIST_VISITED_V\n\t\t: OVERVIEW_HELP_VISITED;\n\n\treturn getBooleanPreferenceValue(userPreferences, preference);\n};\n\nexport default function setHelpVisited(\n\tdispatch,\n\tisNowAssistEnabled,\n\tuserPreferences,\n\tisGaicPluginActive = false\n) {\n\t// The Otto welcome is a standalone one-step guidance gated only on the\n\t// GAIC plugin, tracked by its own preference. It is dispatched before the\n\t// main onboarding tour so it appears first, and its separate gate lets it\n\t// show even for users who have already completed the main tour.\n\tif (\n\t\tisGaicPluginActive &&\n\t\t!getBooleanPreferenceValue(userPreferences, OTTO_ONBOARDING_DISMISSED)\n\t) {\n\t\tdispatch('SN_HELP#GUIDANCE_START_REQUESTED', {\n\t\t\tguidanceId: ottoGuidance\n\t\t});\n\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: OTTO_ONBOARDING_DISMISSED,\n\t\t\tvalue: true\n\t\t});\n\t}\n\n\tif (!isHelpVisited(userPreferences, isNowAssistEnabled)) {\n\t\t// Dispatch guidance if polaris is on, this is the logged in users first time experience\n\t\tdispatch('SN_HELP#GUIDANCE_START_REQUESTED', {\n\t\t\tguidanceId: isNowAssistEnabled ? guidanceWithNowAssist : defaultGuidance\n\t\t});\n\n\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\tname: OVERVIEW_HELP_VISITED,\n\t\t\tvalue: true\n\t\t});\n\n\t\tif (isNowAssistEnabled) {\n\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\tname: OVERVIEW_HELP_WITH_NOW_ASSIST_VISITED_V,\n\t\t\t\tvalue: true\n\t\t\t});\n\t\t}\n\t}\n}\n","import {actionTypes} from '@servicenow/ui-core';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport setHelpVisited from '../../utils/setHelpVisited';\nimport isGaicPluginActive from '../../utils/isGaicPluginActive';\nimport {setActionState} from '../../utils/keyboard-shortcut-wrapper';\nimport {\n\tNOW_ASSIST_PANEL_FOCUSED_REQUESTED,\n\tVOICE_INPUT_PANEL_FOCUSED_REQUESTED\n} from '../../components/sn-polaris-layout/actions';\nimport {updateContextualMenuPinState} from '../../components/sn-polaris-layout/sn-polaris-layout.effects';\nimport {getBooleanPreferenceValue, PREFERENCES} from '@devsnc/unav-utils';\nimport {\n\tNOW_ASSIST_BEHAVIOR,\n\tNOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL,\n\tNOW_ASSIST_CHAT_MESSAGE_RECEIVED,\n\tFETCH_CONVERSATION_LIST,\n\tFETCH_CONVERSATION_LIST_SUCCESS,\n\tCHECK_MULTI_CONVERSATION_ENABLED_NAP,\n\tCHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS,\n\tSYS_CS_CHANNEL_NAME_FOR_NAP,\n\tUNIFIED_NAV_UX_APP_ID,\n\tFETCH_CONVERSATION_COUNT_SUCCESS,\n\tFETCH_CONVERSATION_COUNT,\n\tAIEL_SERVICE_UNAVAILABLE,\n\tAIEL_UNAVAILABLE_MODAL_DISMISSED,\n\tAIEL_SERVICE_AVAILABLE\n} from './constants';\nimport {CLASSIC, NOW_ASSIST_MENU_ID} from '../../constants';\nimport {ENABLED_PLUGINS_REFRESHED} from '../enabled-plugins-behavior/actions';\n\nconst subscribeToNowAssistConversation = createAmbSubscriptionEffect(\n\t'/nap/unread/message/count/:userSysId',\n\t{\n\t\tmessageReceivedActionType: NOW_ASSIST_CHAT_MESSAGE_RECEIVED\n\t}\n);\n\nconst getUnreadChatCount = createHttpEffect(\n\t'api/now/v1/cs/consumerAccount/unreadConversationCount',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['sysparm_return_only', 'sysparm_deviceType'],\n\t\tsuccessActionType: FETCH_CONVERSATION_COUNT_SUCCESS\n\t}\n);\n\nconst getUnreadConversation = createHttpEffect(\n\t'api/now/v1/cs/consumerAccount/unreadConversation',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['sysparm_return_only', 'portal', 'isOffglide'],\n\t\tsuccessActionType: FETCH_CONVERSATION_LIST_SUCCESS\n\t}\n);\n\nconst checkMultiConversationEnabledForNAP = createHttpEffect(\n\t'api/now/v1/cs/console/channel',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['channelName'],\n\t\tsuccessActionType: CHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS\n\t}\n);\n\nconst handleNowAssistPanelEnabled = ({\n\thost,\n\tisNowAssistEnabled = false,\n\tdispatch,\n\tuserPreferences,\n\tgaicPluginActive = false\n}) => {\n\tsetActionState(\n\t\thost?.componentId,\n\t\tNOW_ASSIST_PANEL_FOCUSED_REQUESTED,\n\t\tisNowAssistEnabled\n\t);\n\n\tif (isNowAssistEnabled) {\n\t\tdispatch(CHECK_MULTI_CONVERSATION_ENABLED_NAP, {\n\t\t\tchannelName: SYS_CS_CHANNEL_NAME_FOR_NAP\n\t\t});\n\t}\n\n\tsetHelpVisited(\n\t\tdispatch,\n\t\tisNowAssistEnabled,\n\t\tuserPreferences,\n\t\tgaicPluginActive\n\t);\n};\n\nconst handleAIEXEnabled = ({\n\tisAIEXEnabled = false,\n\tcontextualMenuState,\n\tnapShortcutCommand,\n\tdispatch,\n\tisNowAssistUnavailable,\n\tenableVoiceInput = false\n}) => {\n\tif (isAIEXEnabled && !isNowAssistUnavailable) {\n\t\t// Check if AIEL is contextual menu pinned\n\t\tconst isContextualMenuPinned =\n\t\t\tcontextualMenuState.pinnedMenuId === NOW_ASSIST_MENU_ID ||\n\t\t\tcontextualMenuState.pinnedMenuId === 'nowAssist';\n\n\t\tif (isContextualMenuPinned) {\n\t\t\t// Open AIEL if it is pinned\n\t\t\tdispatch('AI_ENGAGEMENT_LAUNCH_EXPERIENCE', {\n\t\t\t\tnapShortcutCommand,\n\t\t\t\tconversationId: contextualMenuState?.additionalData?.conversationId,\n\t\t\t\thostType: 'unified-navigation',\n\t\t\t\tenableVoiceInput,\n\t\t\t\twindowConfigOverrides: {\n\t\t\t\t\tmodalOverlayClickEnabled: true\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleVoiceInput = ({\n\tuserPreferences,\n\thost,\n\tisVoiceInputEnabled = false\n}) => {\n\tconst voiceInputPref = getBooleanPreferenceValue(\n\t\tuserPreferences,\n\t\tPREFERENCES.VOICE_INPUT,\n\t\tfalse\n\t);\n\n\tconst isVoiceInputActive = voiceInputPref && isVoiceInputEnabled;\n\n\tsetActionState(\n\t\thost?.componentId,\n\t\tVOICE_INPUT_PANEL_FOCUSED_REQUESTED,\n\t\tisVoiceInputActive\n\t);\n};\n\nconst eventListeners = new WeakMap();\n\nexport default {\n\tname: NOW_ASSIST_BEHAVIOR,\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_CONNECTED]({dispatch, host}) {\n\t\t\tconst onServiceUnavailable = (event) => {\n\t\t\t\tdispatch(AIEL_SERVICE_UNAVAILABLE, {\n\t\t\t\t\treason: event.detail?.reason\n\t\t\t\t});\n\t\t\t};\n\t\t\tconst onServiceAvailable = () => {\n\t\t\t\tdispatch(AIEL_SERVICE_AVAILABLE);\n\t\t\t};\n\n\t\t\teventListeners.set(host, {\n\t\t\t\tonServiceUnavailable,\n\t\t\t\tonServiceAvailable\n\t\t\t});\n\n\t\t\twindow.addEventListener('aiel-service-unavailable', onServiceUnavailable);\n\t\t\twindow.addEventListener('aiel-service-available', onServiceAvailable);\n\n\t\t\t// Handle case where AIEL already resolved before this listener was registered\n\t\t\tif (window.__aielServiceAvailable) {\n\t\t\t\tdispatch(AIEL_SERVICE_AVAILABLE);\n\t\t\t} else if (window.__aielServiceUnavailable) {\n\t\t\t\tif (window.__aielServiceUnavailable.reason !== 'loading') {\n\t\t\t\t\tdispatch(AIEL_SERVICE_UNAVAILABLE, {\n\t\t\t\t\t\treason: window.__aielServiceUnavailable.reason\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[actionTypes.COMPONENT_DISCONNECTED]({host}) {\n\t\t\tconst listeners = eventListeners.get(host);\n\t\t\tif (listeners) {\n\t\t\t\tconst {onServiceUnavailable, onServiceAvailable} = listeners;\n\t\t\t\tif (onServiceUnavailable) {\n\t\t\t\t\twindow.removeEventListener(\n\t\t\t\t\t\t'aiel-service-unavailable',\n\t\t\t\t\t\tonServiceUnavailable\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (onServiceAvailable) {\n\t\t\t\t\twindow.removeEventListener(\n\t\t\t\t\t\t'aiel-service-available',\n\t\t\t\t\t\tonServiceAvailable\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\teventListeners.delete(host);\n\t\t\t}\n\t\t},\n\t\t[AIEL_SERVICE_AVAILABLE]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tsessionStorage.removeItem('aiel-retry-pending');\n\t\t\t\tupdateState({\n\t\t\t\t\tisNowAssistUnavailable: false\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[AIEL_SERVICE_UNAVAILABLE]: {\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tconst retryPending =\n\t\t\t\t\tsessionStorage.getItem('aiel-retry-pending') === 'true';\n\t\t\t\tsessionStorage.removeItem('aiel-retry-pending');\n\t\t\t\tupdateState({\n\t\t\t\t\tisNowAssistUnavailable: true,\n\t\t\t\t\t...(retryPending ? {nowAssistUnavailableModalOpened: true} : {})\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[AIEL_UNAVAILABLE_MODAL_DISMISSED]: {\n\t\t\teffect: () => {\n\t\t\t\tsessionStorage.setItem('aiel-retry-pending', 'true');\n\t\t\t\tdelete window.__aielServiceUnavailable;\n\t\t\t\twindow.location.reload();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {id, value}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tif (id === 'now-assist-unavailable' && !value) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tnowAssistUnavailableModalOpened: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t},\n\t\t\thost,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t\tstate\n\t\t}) {\n\t\t\tconst {userPreferences} = properties;\n\t\t\tconst {contextualMenuState, napShortcutCommand, enabledPlugins} = state;\n\t\t\tif (!getFeatureSettings().isPolarisEnabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (window.__AIEX_GLOBALS__) {\n\t\t\t\t// Check for non-core-UI selected content changes\n\t\t\t\tif (name === 'selectedContent' && value?.route !== CLASSIC) {\n\t\t\t\t\tconst acceptedTypes = ['record', 'list', 'home', 'search'];\n\n\t\t\t\t\tconst pageContext = {\n\t\t\t\t\t\t...(value.fields?.table && {table: value.fields?.table}),\n\t\t\t\t\t\t...(value.fields?.sysId && {sysId: value.fields?.sysId}),\n\t\t\t\t\t\ttype: acceptedTypes.includes(value.route) ? value.route : 'other',\n\t\t\t\t\t\troute: value.route,\n\t\t\t\t\t\texperienceName: 'workspace',\n\t\t\t\t\t\tpageType: 'UXF'\n\t\t\t\t\t};\n\n\t\t\t\t\twindow.__AIEX_GLOBALS__.updatePageContext?.(pageContext);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (name === 'nowAssistSettings') {\n\t\t\t\tconst isNowAssistEnabled = value?.napActive;\n\t\t\t\tconst isAIEXEnabled = value?.aielActiveForFulfiller;\n\t\t\t\tconst gaicPluginActive = isGaicPluginActive(enabledPlugins);\n\n\t\t\t\t// Mark service as unavailable when AIEL assets haven't loaded yet (ai_native_chat experience)\n\t\t\t\t// Only applies when __aielServiceUnavailable is set by sn-uxr-base\n\t\t\t\tif (\n\t\t\t\t\tisAIEXEnabled &&\n\t\t\t\t\t!window.__aielServiceAvailable &&\n\t\t\t\t\twindow.__aielServiceUnavailable\n\t\t\t\t) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tisNowAssistUnavailable: true\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Update contextualMenuState based on nowAssistSettings and get the updated state\n\t\t\t\tconst updatedContextualMenuState = updateContextualMenuPinState(\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tvalue\n\t\t\t\t);\n\n\t\t\t\thandleNowAssistPanelEnabled({\n\t\t\t\t\thost,\n\t\t\t\t\tisNowAssistEnabled,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\tgaicPluginActive\n\t\t\t\t});\n\n\t\t\t\thandleAIEXEnabled({\n\t\t\t\t\tisAIEXEnabled,\n\t\t\t\t\tcontextualMenuState:\n\t\t\t\t\t\tupdatedContextualMenuState || contextualMenuState,\n\t\t\t\t\tnapShortcutCommand,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tisNowAssistUnavailable:\n\t\t\t\t\t\t!window.__aielServiceAvailable && window.__aielServiceUnavailable,\n\t\t\t\t\tenableVoiceInput: getBooleanPreferenceValue(\n\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\tPREFERENCES.VOICE_INPUT,\n\t\t\t\t\t\tfalse\n\t\t\t\t\t)\n\t\t\t\t});\n\n\t\t\t\tif (isNowAssistEnabled) {\n\t\t\t\t\tdispatch(CHECK_MULTI_CONVERSATION_ENABLED_NAP, {\n\t\t\t\t\t\tchannelName: SYS_CS_CHANNEL_NAME_FOR_NAP\n\t\t\t\t\t});\n\t\t\t\t\tdispatch('NOW_AI_CANVAS_FRAMEWORK_LAUNCH_WINDOW_MANAGER', {\n\t\t\t\t\t\thostComponent: host\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tsetHelpVisited(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tisNowAssistEnabled,\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\tgaicPluginActive\n\t\t\t\t);\n\n\t\t\t\thandleVoiceInput({\n\t\t\t\t\tuserPreferences,\n\t\t\t\t\thost,\n\t\t\t\t\tisVoiceInputEnabled: value?.napVoiceInputActive\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[CHECK_MULTI_CONVERSATION_ENABLED_NAP]: checkMultiConversationEnabledForNAP,\n\t\t[NOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL]: subscribeToNowAssistConversation,\n\t\t[CHECK_MULTI_CONVERSATION_ENABLED_FOR_NAP_SUCCESS]: {\n\t\t\teffect: ({\n\t\t\t\tproperties: {userSession, nowAssistSettings},\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tsupportsMultipleConversations: supportsMultipleConversations\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (nowAssistSettings?.aielActiveForFulfiller) {\n\t\t\t\t\tdispatch(NOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL, {\n\t\t\t\t\t\tsubscribe: true,\n\t\t\t\t\t\tuserSysId: userSession.user.sys_id\n\t\t\t\t\t});\n\n\t\t\t\t\tdispatch(FETCH_CONVERSATION_LIST, {\n\t\t\t\t\t\tsysparm_return_only: 'count',\n\t\t\t\t\t\tportal: UNIFIED_NAV_UX_APP_ID,\n\t\t\t\t\t\t...(window.__aielServiceAvailable && {isOffglide: true})\n\t\t\t\t\t});\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (supportsMultipleConversations) {\n\t\t\t\t\tdispatch(NOW_ASSIST_SUBSCRIBE_TO_AMB_CHANNEL, {\n\t\t\t\t\t\tsubscribe: true,\n\t\t\t\t\t\tuserSysId: userSession.user.sys_id\n\t\t\t\t\t});\n\n\t\t\t\t\tdispatch(FETCH_CONVERSATION_COUNT, {\n\t\t\t\t\t\tsysparm_return_only: 'count',\n\t\t\t\t\t\tsysparm_deviceType: 'nowassistpanel'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ENABLED_PLUGINS_REFRESHED]: {\n\t\t\teffect: () => {\n\t\t\t\tif (window.isAIUXMode) return;\n\t\t\t}\n\t\t},\n\t\t[FETCH_CONVERSATION_LIST]: getUnreadConversation,\n\t\t[FETCH_CONVERSATION_COUNT]: getUnreadChatCount,\n\t\t[NOW_ASSIST_CHAT_MESSAGE_RECEIVED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {data}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tnowAssistMenuBadgeCount: Number(data?.conversationCount) || 0\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[FETCH_CONVERSATION_COUNT_SUCCESS]: {\n\t\t\teffect: ({updateState, action}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tnowAssistMenuBadgeCount: action.payload\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[FETCH_CONVERSATION_LIST_SUCCESS]: {\n\t\t\teffect: ({updateState, action}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tnowAssistMenuBadgeCount: action.payload?.totalUnreadMessageCount\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import isPluginEnabled from './isPluginEnabled';\n\n// GAIC (Generative AI Controller) plugin id. Its active state gates the\n// Otto welcome guidance.\nexport const GAIC_PLUGIN_ID = 'sn_generative_ai';\n\nexport default function isGaicPluginActive(enabledPlugins) {\n\treturn isPluginEnabled(enabledPlugins ?? [], GAIC_PLUGIN_ID) === true;\n}\n","import {isEmpty} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {SYS_PROPS} from '../../constants';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nexport default {\n\tname: 'USAGE_ANALYTICS_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: ({\n\t\t\t\tupdateState,\n\t\t\t\tproperties: {userSettingsAccess, selectedContent},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {name}\n\t\t\t\t}\n\t\t\t}) => {\n\t\t\t\tif (name !== 'userSettingsAccess' && name !== 'selectedContent') return;\n\n\t\t\t\tif (!isEmpty(selectedContent)) {\n\t\t\t\t\tconst experiencePath = selectedContent.context?.path;\n\t\t\t\t\tconst experienceConfigs = window?.ux_globals?.experienceConfigs;\n\t\t\t\t\tconst applicationId =\n\t\t\t\t\t\texperienceConfigs?.[experiencePath]?.experienceId;\n\t\t\t\t\tconst restrictedApplications = getProperty(\n\t\t\t\t\t\tSYS_PROPS.ANALYTICS_RESTRICTIONS,\n\t\t\t\t\t\t''\n\t\t\t\t\t)?.split(',');\n\n\t\t\t\t\t// Ensure the current application id is not restricted from analytics\n\t\t\t\t\tconst appNotAnalyticsRestricted = !restrictedApplications.includes(\n\t\t\t\t\t\tapplicationId\n\t\t\t\t\t);\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tisUsageAnalyticsEnabled:\n\t\t\t\t\t\t\tuserSettingsAccess?.showUsageAnalyticsMenu &&\n\t\t\t\t\t\t\tappNotAnalyticsRestricted,\n\t\t\t\t\t\tapplicationId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","const atfUtils = {\n\tgetInspectorToggledUrl(href, enabled = null) {\n\t\tconst classicIdentifier = '/params/target/';\n\t\tconst decodedHref = decodeURIComponent(href);\n\n\t\tif (\n\t\t\t(decodedHref.indexOf('$atf_page_inspector.do') > -1 && enabled) ||\n\t\t\t(decodedHref.indexOf('$atf_page_inspector.do') < 0 && !enabled)\n\t\t) {\n\t\t\treturn href;\n\t\t} else if (decodedHref.indexOf('$atf_page_inspector.do') < 0) {\n\t\t\tconst uriParts = href.split(classicIdentifier);\n\n\t\t\treturn (\n\t\t\t\turiParts[0] +\n\t\t\t\tclassicIdentifier +\n\t\t\t\tencodeURIComponent(\n\t\t\t\t\t'$atf_page_inspector.do?sysparm_stack=no&sysparm_url='\n\t\t\t\t) +\n\t\t\t\tencodeURIComponent(uriParts[1])\n\t\t\t);\n\t\t} else {\n\t\t\tconst uriParts = decodedHref.split('sysparm_url=');\n\n\t\t\treturn (\n\t\t\t\thref.split(classicIdentifier)[0] +\n\t\t\t\tclassicIdentifier +\n\t\t\t\turiParts[1].split('&')[0] // Trim off any non-original parameters\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport default atfUtils;\n","import {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {findTabbableNodes} from '@servicenow/library-enhanced-utils';\nimport '@servicenow/now-loader';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {\n\tgetBooleanPreferenceValue,\n\tPREFERENCES,\n\tgetPreferenceValue,\n\tSYS_PROPS,\n\tgetBooleanProperty\n} from '@devsnc/unav-utils';\nimport tabbedFormImg from '@servicenow/now-illustration/src/assets/tile-icons/related-list.svg';\nimport linebreakImg from '@servicenow/now-illustration/src/assets/tile-icons/line-break.svg';\nimport spacingImg from '@servicenow/now-illustration/src/assets/tile-icons/compact-mode.svg';\nimport formTooltipsImg from '@servicenow/now-illustration/src/assets/tile-icons/form-circle-info.svg';\nimport topNavImg from '@servicenow/now-illustration/src/assets/tile-icons/window-open.svg';\nimport keyboardShortcuts from '@servicenow/now-illustration/src/assets/tile-icons/keyboard-shortcut.svg';\nimport dataViz from '@servicenow/now-illustration/src/assets/tile-icons/chart-pie.svg';\nimport removeMotion from '@servicenow/now-illustration/src/assets/tile-icons/motion.svg';\nimport a11yUI16 from '@servicenow/now-illustration/src/assets/tile-icons/tab-stops.svg';\nimport screenReader from '@servicenow/now-illustration/src/assets/tile-icons/table-data.svg';\nimport timeFormatImg from '@servicenow/now-illustration/src/assets/tile-icons/date-picker.svg';\nimport keyboardTruncation from '@servicenow/now-illustration/src/assets/tile-icons/truncated-text.svg';\nimport atfInspectorIcon from '@servicenow/now-illustration/src/assets/tile-icons/automated-test-framework.svg';\nimport scriptDebuggerIcon from '@servicenow/now-illustration/src/assets/tile-icons/code-bug.svg';\nimport seismicDebuggerIcon from '@servicenow/now-illustration/src/assets/tile-icons/bug-open.svg';\nimport displayIcon from '@servicenow/now-illustration/src/assets/tile-icons/monitor.svg';\nimport analyticsIcon from '@servicenow/now-illustration/src/assets/tile-icons/kpi-chart.svg';\nimport ribbonImg from '@servicenow/now-illustration/src/assets/tile-icons/ribbon.svg';\nimport sidebarImg from '@servicenow/now-illustration/src/assets/tile-icons/side-panel.svg';\nimport showBannersImg from '@servicenow/now-illustration/src/assets/tile-icons/show-banner.svg';\nimport showBadgeCountImg from '@servicenow/now-illustration/src/assets/tile-icons/bell-notification.svg';\nimport {\n\tgetDateTimeSelectedItem,\n\tgetHomepageTitle,\n\tgetSeismicDevtoolChromeWebstoreURL,\n\tisAtfInspectorEnabled,\n\tisDashboardsEnabled,\n\tisUserExperienceTabEnabled,\n\tpreferenceNamespace,\n\tshowSeismicDevtoolsPrefPanel\n} from './user-preference-object-generator.utils';\nimport {\n\tCLASSIC,\n\tSYS_PROP_AIUX_EXPERIENCE,\n\tSYS_PROP_AIUX_ON_OFF_USER_PREF_ENABLED,\n\tUSER_PREF_CONTINUE_LANDING_PAGE,\n\tUSER_PREF_AIUX_USE,\n\tUSER_PREF_POLARIS_USE,\n\tUSER_PREF_UI6_TABS_INSIDE_POLARIS,\n\tUSER_PREF_UPDATED\n} from '../../constants';\nimport get from 'lodash/get';\n\n// Needs to grab from now-illustration asset library once DEF0582926 resolved\nimport invisibleControls from './resources/tileicon-preferences-show-hidden-controls.svg';\nimport voiceInput from './resources/tileicon-preferences-voice-input.svg';\nimport activityExpandedImg from './resources/tileicon-preferences-activity-expanded.svg';\nimport favoritePopupIcon from './resources/tileicon-preferences-favorites-popover.svg';\nimport superFilter from './resources/tileicon-preferences-superfilter.svg';\nimport autoFocusAlertsImg from './resources/tileicon-preferences-auto-focus.svg';\nimport autoDismissAlertsImg from './resources/tileicon-preferences-auto-dismiss.svg';\nimport lazyLoadingImg from './resources/tileicon-preferences-lazy-loading.svg';\nimport idbMenuCache from '../../utils/idbMenuCache';\nimport {UPDATE_TELEMETRY_TRACKING} from '../telemetry-behavior';\nimport {USER_SETTINGS_UPDATE_STATE} from '../user-settings-behavior/actions';\nimport {\n\tTHEME_VARIANT_CHANGED,\n\tTHEME_INFODENSITY_CHANGED\n} from '../theme-behavior';\nimport {EVENTS} from '../user-settings-behavior';\nimport atfUtils from '../../utils/atfUtils';\n\nexport const getUserPrefsMap = ({\n\tuserPreferences,\n\thasFavorites,\n\tavailableThemes = [],\n\tcurrentRouteHeaderConfig,\n\thasAdminRole,\n\tisAppseeActive,\n\tisTelemetryToggleAllowed,\n\tisVoiceInputEnabled,\n\tisNowAssistEnabled,\n\tenabledPlugins,\n\tisPolarisEnabled,\n\ttelemetryToggleState,\n\tmultiThemeEnabled,\n\tnotificationUrl = '/np.do?sysparm_nostack=true',\n\thasWorkspaces,\n\tdispatch,\n\tuserMeta,\n\tselectedContent,\n\tpageTitle\n}) => {\n\tconst dir = document.dir;\n\n\t// WORKSPACE DATA\n\tconst hasApplicationsTab = get(\n\t\tcurrentRouteHeaderConfig,\n\t\t'privatePage.userPrefsEnabled',\n\t\tfalse\n\t);\n\n\tconst userMenuChildren = get(\n\t\tcurrentRouteHeaderConfig,\n\t\t'privatePage.globalTools.primaryItems[0].value.children',\n\t\t[]\n\t);\n\n\tconst preferences = userMenuChildren.find(({type}) => type === 'menu')?.value\n\t\t?.children;\n\n\tconst showRibbonObject = preferences?.find(\n\t\t({value}) => value?.userPrefName === PREFERENCES.WORKSPACES_SHOW_RIBBON\n\t);\n\n\tconst lazyLoadingObject = preferences?.find(\n\t\t({value}) => value?.userPrefName === PREFERENCES.WORKSPACES_LAZY_LOADING\n\t);\n\n\tconst showSidebarObject = preferences?.find(\n\t\t({value}) => value?.userPrefName === PREFERENCES.WORKSPACES_SHOW_SIDEBAR\n\t);\n\n\tconst showActivityExpandedObject = preferences?.find(\n\t\t({value}) =>\n\t\t\tvalue?.userPrefName === PREFERENCES.WORKSPACES_SHOW_ACTIVITY_EXPANDED\n\t);\n\n\tconst showBannersObject = preferences?.find(\n\t\t({value}) => value?.userPrefName === PREFERENCES.WORKSPACES_SHOW_BANNERS\n\t);\n\n\tconst showBadgeCountObject = preferences?.find(\n\t\t({value}) => value?.userPrefName === PREFERENCES.WORKSPACES_SHOW_BADGE_COUNT\n\t);\n\n\t// USER EXPERIENCE DATA\n\tconst homepageTitle = getHomepageTitle(userPreferences);\n\n\tlet finalLandingPageItems = [\n\t\t{\n\t\t\tid: 'NULL',\n\t\t\tlabel: t('Use the default')\n\t\t},\n\t\t{\n\t\t\tid: 'default',\n\t\t\tlabel: t('Use Homepages')\n\t\t},\n\t\t{\n\t\t\tid: '$pa_dashboard.do',\n\t\t\tlabel: t('Use Dashboards')\n\t\t},\n\t\t{\n\t\t\tid: 'current',\n\t\t\tlabel: t(\"Use the page I'm on now\")\n\t\t},\n\t\t{\n\t\t\tid: 'continue',\n\t\t\tlabel: t('Continue where I last left off')\n\t\t}\n\t];\n\n\tif (getBooleanProperty(SYS_PROPS.DEPRECATE_HOMEPAGES, true)) {\n\t\tfinalLandingPageItems = finalLandingPageItems.filter(\n\t\t\t({id}) => id !== 'default'\n\t\t);\n\t}\n\n\tif (!isDashboardsEnabled({userRoles: userMeta?.roles, enabledPlugins})) {\n\t\tfinalLandingPageItems = finalLandingPageItems.filter(\n\t\t\t({id}) => id !== '$pa_dashboard.do'\n\t\t);\n\t}\n\n\tconst analyticsPrivacyStatement = getProperty(\n\t\tSYS_PROPS.ANALYTICS_PRIVACY_STATEMENT,\n\t\t''\n\t);\n\n\t// THEMING DATA\n\tconst mediaQuery = window.matchMedia('(forced-colors: active)');\n\tconst highContrastEnabled = !mediaQuery || mediaQuery.matches;\n\tconst defaultTheme = availableThemes?.[0]?.sys_id || '';\n\tconst themeVariantPreferenceName =\n\t\tpreferenceNamespace() + PREFERENCES.NAMESPACED.THEME_VARIANT;\n\n\tconst themePreferenceName =\n\t\tpreferenceNamespace() + PREFERENCES.NAMESPACED.THEME;\n\n\tconst selectedTheme = getPreferenceValue(\n\t\tuserPreferences,\n\t\tthemePreferenceName,\n\t\t''\n\t);\n\n\tconst selectedVariant = getPreferenceValue(\n\t\tuserPreferences,\n\t\tthemeVariantPreferenceName,\n\t\t''\n\t);\n\tconst isThemePrefValid = !!availableThemes.find(\n\t\t({sys_id}) => sys_id === selectedTheme\n\t);\n\n\t// REGION DATA\n\n\tconst calendarFormat = userMeta.dateFormat?.toUpperCase() || 'YYYY-MM-DD';\n\tconst dateTimeFormatItems = [\n\t\t{\n\t\t\tid: '{\"timeAgo\":false,\"dateBoth\":true}',\n\t\t\tlabel: t('{0} 09:00:01 5 min ago', calendarFormat)\n\t\t},\n\t\t{\n\t\t\tid: '{\"timeAgo\":false,\"dateBoth\":true}/compact',\n\t\t\tlabel: t('{0} 09:00 5 min ago', calendarFormat)\n\t\t},\n\t\t{\n\t\t\tid: '{\"timeAgo\":false,\"dateBoth\":false}',\n\t\t\tlabel: t('{0} 09:00:01', calendarFormat)\n\t\t},\n\t\t{\n\t\t\tid: '{\"timeAgo\":false,\"dateBoth\":false}/compact',\n\t\t\tlabel: t('{0} 09:00', calendarFormat)\n\t\t},\n\t\t{\n\t\t\tid: '{\"timeAgo\":true,\"dateBoth\":false}',\n\t\t\tlabel: t('5 min ago')\n\t\t}\n\t];\n\n\treturn !isPolarisEnabled && hasApplicationsTab\n\t\t? {\n\t\t\t\tapplications: {\n\t\t\t\t\ttitle: t('Workspace'),\n\t\t\t\t\ticon: 'windows-outline',\n\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: t('Display'),\n\t\t\t\t\t\t\tid: 'display',\n\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t'show-ribbon': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\ttitle: t('Show the ribbon'),\n\t\t\t\t\t\t\t\t\timage: ribbonImg,\n\t\t\t\t\t\t\t\t\timageId: 'ribbon-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_RIBBON,\n\t\t\t\t\t\t\t\t\t\tget(showRibbonObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show the ribbon',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_RIBBON\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'show-sidebar': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: sidebarImg,\n\t\t\t\t\t\t\t\t\timageId: 'side-panel-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Show the sidebar'),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_SIDEBAR,\n\t\t\t\t\t\t\t\t\t\tget(showSidebarObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show the sidebar',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_SIDEBAR\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'show-activity-expanded': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: activityExpandedImg,\n\t\t\t\t\t\t\t\t\timageId: 'activity-expanded-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Expand activity stream items by default'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Toggle this option to automatically expand all activities in activity stream.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_ACTIVITY_EXPANDED,\n\t\t\t\t\t\t\t\t\t\tget(showActivityExpandedObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Expand activity stream items by default',\n\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_ACTIVITY_EXPANDED\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'wrap-list': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: linebreakImg,\n\t\t\t\t\t\t\t\t\timageId: 'line-break-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WRAP_LIST\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Put line breaks in lists'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WRAP_LIST,\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Put line breaks in lists'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: t('Notifications'),\n\t\t\t\t\t\t\tid: 'notifications',\n\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t'show-banners': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\ttitle: t('Show banners'),\n\t\t\t\t\t\t\t\t\timage: showBannersImg,\n\t\t\t\t\t\t\t\t\timageId: 'show-banners-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BANNERS,\n\t\t\t\t\t\t\t\t\t\tget(showBannersObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show banners',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_BANNERS\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'show-badge-count': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\ttitle: t('Show badge count'),\n\t\t\t\t\t\t\t\t\timage: showBadgeCountImg,\n\t\t\t\t\t\t\t\t\timageId: 'show-badges-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT,\n\t\t\t\t\t\t\t\t\t\tget(showBadgeCountObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show badge count',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_BADGE_COUNT\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\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}\n\t\t  }\n\t\t: {\n\t\t\t\tdisplay: {\n\t\t\t\t\ttitle: t('Display'),\n\t\t\t\t\ticon: 'monitor-outline',\n\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t'tabbed-form': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: tabbedFormImg,\n\t\t\t\t\t\t\t\t\timageId: 'show-related-list-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.TABBED_FORMS\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t'Organize form sections and related lists into tabs in classic forms'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tevent: EVENTS.TABBED_FORMS,\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.TABBED_FORMS,\n\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t'Organize form sections and related lists into tabs in classic forms'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'related-list-loading': {\n\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\t{id: 'default', label: t('With the form')},\n\t\t\t\t\t\t\t\t\t\t{id: 'deferred', label: t('After the form loads')},\n\t\t\t\t\t\t\t\t\t\t{id: 'ondemand', label: t('On demand')}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tselectedItem: getPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.RELATED_LIST_LOADING,\n\t\t\t\t\t\t\t\t\t\t'default'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Load related lists in classic forms'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.RELATED_LIST_LOADING,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true,\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Load related lists in classic forms'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'wrap-list': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: linebreakImg,\n\t\t\t\t\t\t\t\t\timageId: 'line-break-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.WRAP_LIST\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Put line breaks in lists'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tevent: EVENTS.WRAP_LIST,\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WRAP_LIST,\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Put line breaks in lists'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcompact: {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: spacingImg,\n\t\t\t\t\t\t\t\t\timageId: 'compact-mode-polaris',\n\t\t\t\t\t\t\t\t\tchecked:\n\t\t\t\t\t\t\t\t\t\tgetBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.COMPACT\n\t\t\t\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\t\t\tgetPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\tpreferenceNamespace() +\n\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NAMESPACED.THEME_INFODENSITY,\n\t\t\t\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t\t\t\t) === 'compact',\n\t\t\t\t\t\t\t\t\ttitle: t('Use compact spacing mode'),\n\t\t\t\t\t\t\t\t\tpayload: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.COMPACT,\n\t\t\t\t\t\t\t\t\t\t\tevent: EVENTS.COMPACT,\n\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Use compact spacing mode'\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\tpreferenceNamespace() +\n\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NAMESPACED.THEME_INFODENSITY,\n\t\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\t\ttrue: 'compact',\n\t\t\t\t\t\t\t\t\t\t\t\tfalse: 'default'\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(THEME_INFODENSITY_CHANGED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedInfoDensity: value\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'field-tooltips': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: formTooltipsImg,\n\t\t\t\t\t\t\t\t\timageId: 'form-help-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.FIELD_TOOLTIPS\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Show help tips on forms'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show help tips on forms',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.FIELD_TOOLTIPS,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'top-navigation-for-tab': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: topNavImg,\n\t\t\t\t\t\t\t\t\timageId: 'new-window-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tUSER_PREF_UI6_TABS_INSIDE_POLARIS\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t('Always show top navigation'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'When opening a new browser tab or window from the menu, the top navigation persists so you can continue to access your menus.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Always show top navigation',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: USER_PREF_UI6_TABS_INSIDE_POLARIS\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...(hasFavorites && window.innerWidth >= 530\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'favorites-popover': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: favoritePopupIcon,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'favorites-popover-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.FAVORITE_EDIT_POPUP_ENABLED,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show ability to quick edit favorites'),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show ability to quick edit favorites',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.FAVORITE_EDIT_POPUP_ENABLED\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t'enable-super-filter': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: superFilter,\n\t\t\t\t\t\t\t\t\timageId: 'superfilter-polaris',\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.SUPER_FILTER_ENABLED,\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t'Show results from other menus when filtering menu items'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\"This setting refers to the menus listed within the navigation. Within the Unified Navigation, you have the ability to display only the items listed in each menu or display some or all of the menus all in one view. The 'All' menu will show all items from every menu even if you set filtering preferences. Your list of menus may differ from the default list based on any customizations made by your admin.\"\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t'Show results from other menus when filtering menu items',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.SUPER_FILTER_ENABLED\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...(isNowAssistEnabled\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'aiex-launch-mode-list': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{id: 'docked', label: t('Docked')},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{id: 'floating', label: t('Floating')},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{id: 'modal', label: t('Modal')}\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\tselectedItem: getPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.AIEX_LAUNCH_MODE ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'com.glide.aiex.launch_mode'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Now Assist Launch Mode'),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t//TODO: Remove hardcoded property name once the unav-utils version issue on WM is resolved.\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.AIEX_LAUNCH_MODE ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'com.glide.aiex.launch_mode',\n\t\t\t\t\t\t\t\t\t\t\t\t\tshouldReload: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Now Assist Launch Mode'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {})\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},\n\t\t\t\t...(availableThemes.length > 1 ||\n\t\t\t\tavailableThemes?.[0]?.variants.length > 1\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttheme: {\n\t\t\t\t\t\t\t\ttitle: t('Theme'),\n\t\t\t\t\t\t\t\tsubtitle: highContrastEnabled\n\t\t\t\t\t\t\t\t\t? t(\n\t\t\t\t\t\t\t\t\t\t\t'Theme preference settings are disabled when high contrast mode is turned on.'\n\t\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\ticon: 'palette-outline',\n\t\t\t\t\t\t\t\tenabled: !highContrastEnabled,\n\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpreferences: availableThemes.reduce((acc, theme) => {\n\t\t\t\t\t\t\t\t\t\t\tconst isCurrentThemeSelected =\n\t\t\t\t\t\t\t\t\t\t\t\t!selectedTheme || !isThemePrefValid\n\t\t\t\t\t\t\t\t\t\t\t\t\t? theme.sys_id === defaultTheme\n\t\t\t\t\t\t\t\t\t\t\t\t\t: theme.sys_id === selectedTheme;\n\n\t\t\t\t\t\t\t\t\t\t\t//If a theme is selected, we want to find which variant is selected\n\t\t\t\t\t\t\t\t\t\t\tconst selectedThemeVariant = isCurrentThemeSelected\n\t\t\t\t\t\t\t\t\t\t\t\t? theme.variants?.find(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t({sys_id}) => sys_id === selectedVariant\n\t\t\t\t\t\t\t\t\t\t\t\t  ) || theme.variants[0]\n\t\t\t\t\t\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t\t\t\t\t\t\tacc[theme.sys_id] = {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'theme',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: theme.name,\n\t\t\t\t\t\t\t\t\t\t\t\tthemeProperties: theme.properties,\n\t\t\t\t\t\t\t\t\t\t\t\tisThemeSelected: isCurrentThemeSelected,\n\t\t\t\t\t\t\t\t\t\t\t\tselectedVariant: selectedThemeVariant,\n\t\t\t\t\t\t\t\t\t\t\t\ttheme,\n\t\t\t\t\t\t\t\t\t\t\t\tvariants: theme.variants,\n\t\t\t\t\t\t\t\t\t\t\t\tisCardClickable: multiThemeEnabled,\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: multiThemeEnabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: theme.name,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: theme.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent: themePreferenceName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: themePreferenceName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: themeVariantPreferenceName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent: themeVariantPreferenceName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(THEME_VARIANT_CHANGED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedVariant: value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttheme: theme.theme\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t  ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: themeVariantPreferenceName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent: themeVariantPreferenceName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(THEME_VARIANT_CHANGED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedVariant: value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t  ]\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t\t\t}, {})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t  }\n\t\t\t\t\t: {}),\n\t\t\t\ta11y: {\n\t\t\t\t\ttitle: t('Accessibility'),\n\t\t\t\t\ticon: 'accessibility-outline',\n\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t'date-time-labels': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: timeFormatImg,\n\t\t\t\t\t\t\t\t\timageId: 'date-picker-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Show date and time formats on forms'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Date/time format shows in field name so that format is still available when the field is in focus.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.A11Y_DATE_FORMAT\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show date and time formats on forms',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.A11Y_DATE_FORMAT,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'screen-reader': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: screenReader,\n\t\t\t\t\t\t\t\t\timageId: 'enable-table-data-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Enable data table for charts and graphs'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Shows a table with chart and graph data for easier screen reader access.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.A11Y_SCREEN_READER\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Enable data table for charts and graphs',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.A11Y_SCREEN_READER,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'data-viz': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: dataViz,\n\t\t\t\t\t\t\t\t\timageId: 'simplify-chart-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Replace colors with patterns in charts and graphs'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Adjusts charts and graphs to display with a pattern such as stripes or dashed lines instead of just a color.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.DATA_VIZ\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t'Replace colors with patterns in charts and graphs',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.DATA_VIZ,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'remove-motion': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: removeMotion,\n\t\t\t\t\t\t\t\t\timageId: 'animation-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Reduce motion'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Reduces animations to prevent triggering vestibular issues such as migraines, dizziness, or headaches.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.DISABLE_ANIMATION\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Reduce motion',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.DISABLE_ANIMATION,\n\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_SETTINGS_UPDATE_STATE, {\n\t\t\t\t\t\t\t\t\t\t\t\tpath: 'animationsEnabled',\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: value != true\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.KEYBOARD_SHORTCUTS_ENABLED,\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'keyboard-shortcuts': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: keyboardShortcuts,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'keyboard-shortcut-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Enable keyboard shortcuts'),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'These shortcuts let you start a global search, skip to the main screen content, and more.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.KEYBOARD_SHORTCUTS\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tlink: {\n\t\t\t\t\t\t\t\t\t\t\t\t\turl:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'/api/now/v1/context_doc_url/next-experience-keyboard-shortcuts',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Keyboard shortcut help'),\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTab: true\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Enable keyboard shortcuts',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.KEYBOARD_SHORTCUTS,\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent: EVENTS.KEYBOARD_SHORTCUTS,\n\t\t\t\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t'classic-a11y': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: a11yUI16,\n\t\t\t\t\t\t\t\t\timageId: 'tab-stops-polaris',\n\t\t\t\t\t\t\t\t\ttitle: t('Enable accessibility in classic'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Extend keyboard navigation and allow more tab stops in classic UI so you can tab to icons and buttons in lists, form fields, and cards. It also presents additional info on forms.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.A11Y_UI16\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Enable accessibility in classic',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.A11Y_UI16,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.POLARIS_INVISIBLE_CONTROLS_USER_PREF_ENABLED,\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'invisible-controls': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: invisibleControls,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'show-hidden-controls-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show all buttons without the need to hover'),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Displays all buttons, eliminating the need to hover, for easier access.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.SHOW_HIDDEN_CONTROLS\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Show all buttons without the need to hover',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.SHOW_HIDDEN_CONTROLS,\n\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_SETTINGS_UPDATE_STATE, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpath: 'showHiddenControls',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: value == true\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}); // prefs can be string\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.POLARIS_KEYBOARD_TRUNCATION_USER_PREF_ENABLED,\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'keyboard-truncation': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: keyboardTruncation,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'tooltip-stops-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Enable keyboard focus on text that displays a tooltip'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Enhance keyboard navigation to encompass elements like truncated text and asterisks on required fields, which display tooltips on mouse hover but are non-interactive when clicked. This ensures all users can access essential information regardless of how they navigate.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.TRUNCATED_TEXT\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Enable keyboard focus on text that displays a tooltip',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.TRUNCATED_TEXT\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t...(isVoiceInputEnabled\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t'voice-input': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: voiceInput,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'voice-input',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Enable voice input for the ServiceNow Otto panel'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Activate voice input to speak commands and interact with ServiceNow Otto Panel using your voice.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.VOICE_INPUT\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Enable voice input for the ServiceNow Otto panel',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.VOICE_INPUT,\n\t\t\t\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t'auto-focus-alerts': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: autoFocusAlertsImg,\n\t\t\t\t\t\t\t\t\timageId: 'auto-focus-alerts',\n\t\t\t\t\t\t\t\t\ttitle: t('Enable auto-focus on page alerts'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'When a page alert appears, focus will automatically move to the alert.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.AUTO_FOCUS_ALERTS,\n\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Enable auto-focus on page alerts',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.AUTO_FOCUS_ALERTS\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t'keep-alerts': {\n\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\timage: autoDismissAlertsImg,\n\t\t\t\t\t\t\t\t\timageId: 'keep-alerts',\n\t\t\t\t\t\t\t\t\ttitle: t('Do not auto-dismiss page alerts'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Page alerts may disappear after a certain amount of time when preference is turned off. When preference is turned on, page alerts will not dismiss.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tchecked: !getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\tPREFERENCES.ALERT_AUTO_DISMISSAL,\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Do not auto-dismiss page alerts',\n\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.ALERT_AUTO_DISMISSAL,\n\t\t\t\t\t\t\t\t\t\tshouldReload: true,\n\t\t\t\t\t\t\t\t\t\t// This is a workaround for the fact that the value is inverted in the backend\n\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\tfalse: true,\n\t\t\t\t\t\t\t\t\t\t\ttrue: false\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\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},\n\t\t\t\t...(getBooleanProperty(SYS_PROPS.UI.NOTIFICATION_ENABLED, true) &&\n\t\t\t\t(hasWorkspaces ||\n\t\t\t\t\t!getBooleanProperty(PREFERENCES.LEGACY_NOTIFICATION_MODEL, false))\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tnotifications: {\n\t\t\t\t\t\t\t\ttitle: t('Notifications'),\n\t\t\t\t\t\t\t\ticon: 'bell-outline',\n\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\tPREFERENCES.LEGACY_NOTIFICATION_MODEL,\n\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'show-banners': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: showBannersImg,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'show-banners-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show banners'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BANNERS,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show banners',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BANNERS\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'show-badge-count': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show badge count'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: showBadgeCountImg,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'show-badges-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show badge count',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'notification-location': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Notification toast banner location'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Top left'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'top-left'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Top right'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'top-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Bottom left'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'bottom-left'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Bottom right'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'bottom-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem: getPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NOTIFICATION_LOCATION,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Notification toast banner location',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NOTIFICATION_LOCATION\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'ui16',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('General'),\n\t\t\t\t\t\t\t\t\t\t\t\t\tcustomContent: () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t!getBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.CORE_UI_NOTIFICATION_PREFERENCE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\timport('sn-unified-notification-preferences') ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<sn-unified-navigation-preferences />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<now-loader\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttop: '50%',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tleft: '50%'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theight: '26rem',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'padding-inline': '24px'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Notifications\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"sn_frame\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={notificationUrl}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telm.addEventListener('load', () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telm.previousElementSibling.remove();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telm.style.visibility = 'visible';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thook-update={({elm}) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trebroadcastIframeEvents(elm);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst innerIframes = elm.contentWindow.document.querySelectorAll(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'iframe'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerIframes.forEach((innerIframe) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trebroadcastIframeEvents(innerIframe);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\thasWorkspaces\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'applications',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Next Experience'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'show-banners': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: showBannersImg,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'show-banners-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show banners'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BANNERS,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show banners',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BANNERS\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'show-badge-count': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show badge count'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: showBadgeCountImg,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'show-badges-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show badge count',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_BADGE_COUNT\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'notification-location': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Notification toast banner location'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Top left'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'top-left'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Top right'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'top-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Bottom left'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'bottom-left'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Bottom right'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'bottom-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem: getPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NOTIFICATION_LOCATION,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'top-right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Notification toast banner location',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.NOTIFICATION_LOCATION\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t\t\t\t].filter((subTab) => subTab)\n\t\t\t\t\t\t\t\t\t  })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t  }\n\t\t\t\t\t: {}),\n\t\t\t\t...(hasApplicationsTab\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tapplications: {\n\t\t\t\t\t\t\t\ttitle: t('Workspace'),\n\t\t\t\t\t\t\t\ticon: 'windows-outline',\n\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t\t\t\t'show-ribbon': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show the ribbon'),\n\t\t\t\t\t\t\t\t\t\t\t\timage: ribbonImg,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'ribbon-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_RIBBON,\n\t\t\t\t\t\t\t\t\t\t\t\t\tget(showRibbonObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show the ribbon',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_RIBBON\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'show-sidebar': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: sidebarImg,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'side-panel-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Show the sidebar'),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_SIDEBAR,\n\t\t\t\t\t\t\t\t\t\t\t\t\tget(showSidebarObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Show the sidebar',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_SHOW_SIDEBAR\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'show-activity-expanded': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: activityExpandedImg,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'activity-expanded-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Expand activity stream items by default'),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Toggle this option to automatically expand all activities in activity stream.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_ACTIVITY_EXPANDED,\n\t\t\t\t\t\t\t\t\t\t\t\t\tget(showActivityExpandedObject, 'value.value', false)\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Expand activity stream items by default',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_SHOW_ACTIVITY_EXPANDED\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'lazy-loading': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\timage: lazyLoadingImg,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'lazy-loading-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Lazy load workspace pages'),\n\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Lazy loading improves page performance by loading content dynamically as needed. You can disable it if you prefer all content to load immediately.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.WORKSPACES_LAZY_LOADING,\n\t\t\t\t\t\t\t\t\t\t\t\t\tget(lazyLoadingObject, 'value.value', true)\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Lazy load workspace pages',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.WORKSPACES_LAZY_LOADING\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t  }\n\t\t\t\t\t: {}),\n\t\t\t\t...(hasAdminRole\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tdebugging: {\n\t\t\t\t\t\t\t\ttitle: t('Debugging'),\n\t\t\t\t\t\t\t\ticon: 'bug-search-outline',\n\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t\t\t\t'script-debugger': {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'action',\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Script Debugger'),\n\t\t\t\t\t\t\t\t\t\t\t\timage: scriptDebuggerIcon,\n\t\t\t\t\t\t\t\t\t\t\t\timageId: 'script-debugger-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\tclickHandler: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\twindow.top.launchScriptDebugger();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t...(isAtfInspectorEnabled({userRoles: userMeta?.roles})\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'atf-inspector': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: atfInspectorIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'automated-test-framework-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Automated Test Framework Page Inspector'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Helps you identify and test components for custom UI pages'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.ATF_INSPECTOR_ENABLED\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Automated Test Framework Page Inspector',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.ATF_INSPECTOR_ENABLED\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPREFERENCES.ATF_INSPECTOR_SWITCH_ON,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: async (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tawait idbMenuCache.remove();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.location.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tatfUtils.getInspectorToggledUrl(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, 300);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(showSeismicDevtoolsPrefPanel()\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'seismic-devtools': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'action',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: seismicDebuggerIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'seismic-debugger-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Next Experience Developer Tools'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclickHandler: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.open(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetSeismicDevtoolChromeWebstoreURL(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t  }\n\t\t\t\t\t: {}),\n\t\t\t\tregion: {\n\t\t\t\t\ttitle: t('Language & Region'),\n\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\tdatetime: {\n\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\titems: dateTimeFormatItems,\n\t\t\t\t\t\t\t\t\tselectedItem: getDateTimeSelectedItem(userPreferences),\n\t\t\t\t\t\t\t\t\ttitle: t('Date and time format'),\n\t\t\t\t\t\t\t\t\tsubtitle: t(\n\t\t\t\t\t\t\t\t\t\t'Option \"YYYY-MM-DD 09:00 5 min ago\" and \"YYYY-MM-DD 09:00\" will omit the current year'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpayload: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Date and time format',\n\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.DATE_FORMAT,\n\t\t\t\t\t\t\t\t\t\t\tevent: EVENTS.DATE_FORMAT,\n\t\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":true}/compact':\n\t\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":true}',\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":false}/compact':\n\t\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":false}'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.COMPACT_DATE,\n\t\t\t\t\t\t\t\t\t\t\tevent: EVENTS.COMPACT_DATE,\n\t\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":true}': false,\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":true}/compact': true,\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":false}': false,\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":false,\"dateBoth\":false}/compact': true,\n\t\t\t\t\t\t\t\t\t\t\t\t'{\"timeAgo\":true,\"dateBoth\":false}': false\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttimezone: {\n\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\titemSearch: 'contains',\n\t\t\t\t\t\t\t\t\ttitle: t('Timezone'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Timezone'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tlanguage: {\n\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\titemSearch: 'contains',\n\t\t\t\t\t\t\t\t\ttitle: t('Language'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Language'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcountry: {\n\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\titemSearch: 'contains',\n\t\t\t\t\t\t\t\t\ttitle: t('Country'),\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tmetricsName: 'Country'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\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},\n\t\t\t\t...(isUserExperienceTabEnabled({\n\t\t\t\t\tisAppseeActive,\n\t\t\t\t\tisTelemetryToggleAllowed\n\t\t\t\t})\n\t\t\t\t\t? {\n\t\t\t\t\t\t\texperience: {\n\t\t\t\t\t\t\t\ttitle: t('User Experience'),\n\t\t\t\t\t\t\t\ticon: () => (\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\treversed: dir === 'rtl'\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tattrs={{\n\t\t\t\t\t\t\t\t\t\t\twidth: '16',\n\t\t\t\t\t\t\t\t\t\t\theight: '16',\n\t\t\t\t\t\t\t\t\t\t\tfill: 'currentColor',\n\t\t\t\t\t\t\t\t\t\t\tviewBox: '0 0 16 16'\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\tattrs={{\n\t\t\t\t\t\t\t\t\t\t\t\tfill: 'currentColor',\n\t\t\t\t\t\t\t\t\t\t\t\td:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'M2 6.5a4.5 4.5 0 1 1 8.966 .556 l .939 .470 a5.5 5.5 0 1 0 -5.576 4.472 l -.255 -1.018 A4.5 4.5 0 0 1 2 6.5 Z'\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\tattrs={{\n\t\t\t\t\t\t\t\t\t\t\t\tfill: 'currentColor',\n\t\t\t\t\t\t\t\t\t\t\t\td:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'M10 6.5 v .073 l -1.04 -.520 a2.5 2.5 0 1 0 -3.43 2.752 l .282 1.127 A3.501 3.501 0 1 1 10 6.5 Z'\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\tattrs={{\n\t\t\t\t\t\t\t\t\t\t\t\tfill: 'currentColor',\n\t\t\t\t\t\t\t\t\t\t\t\td:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'M6.724 6.053 a.5 .5 0 0 0 -.71 .568 l 2 8 a.5 .5 0 0 0 .902 .156 l 1.893 -2.839 3.812 -.953 a.5 .5 0 0 0 .103 -.932 l -8 -4 Z m1.987 7.23 -1.462 -5.85 5.819 2.91 -2.69 .672 a.5 .5 0 0 0 -.294 .208 l -1.373 2.06 Z'\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<\/svg>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tsubTabs: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpreferences: {\n\t\t\t\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\t\tSYS_PROPS.USER_SELECT_LANDING_PAGE,\n\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thome: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems: finalLandingPageItems,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Current start page: {0}',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thomepageTitle\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Home',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: PREFERENCES.HOMEPAGE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshouldReload: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNULL: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrent:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedContent?.route === CLASSIC\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? selectedContent.params.target\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: window.location.pathname,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontinue:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedContent?.route === CLASSIC\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? selectedContent.params.target\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: window.location.pathname\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value, originalValue) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue === '' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue === '$pa_dashboard.do' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue === 'default'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: USER_PREF_CONTINUE_LANDING_PAGE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else if (originalValue === 'current') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: USER_PREF_CONTINUE_LANDING_PAGE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: PREFERENCES.HOMEPAGE_TITLE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: pageTitle.label\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else if (originalValue === 'continue') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: USER_PREF_CONTINUE_LANDING_PAGE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: true\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\t\tSYS_PROPS.UI.POLARIS_ON_OFF_USER_PREF_ENABLED,\n\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t) && isPolarisEnabled\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'enable-polaris': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: displayIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'display-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Turn off Next Experience'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Turn off Next Experience',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: USER_PREF_POLARIS_USE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshouldReload: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalueConverterMap: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue: false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.open(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`/navpage.do?sysparm_userpref_${USER_PREF_POLARIS_USE}=false`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'_self'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(getBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\t\tSYS_PROP_AIUX_ON_OFF_USER_PREF_ENABLED,\n\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t\tgetBooleanProperty(SYS_PROP_AIUX_EXPERIENCE, false) &&\n\t\t\t\t\t\t\t\t\t\t\tisPolarisEnabled\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'enable-aiux': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: displayIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'display-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Turn on AIUX'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: getBooleanPreferenceValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserPreferences,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tUSER_PREF_AIUX_USE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Turn on AIUX',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreferenceName: USER_PREF_AIUX_USE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshouldReload: true\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isAppseeActive && isTelemetryToggleAllowed\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'enable-analytics': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: t('Enable Analytics'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timage: analyticsIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timageId: 'enable-analytics-polaris',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: telemetryToggleState,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetricsName: 'Enable Analytics',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalHandler: (value) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(UPDATE_TELEMETRY_TRACKING, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser_consent: value ? 'Y' : 'N'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...(analyticsPrivacyStatement !== ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlink: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\turl: analyticsPrivacyStatement,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: t('Privacy Statement'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTab: true\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: {})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t\t: {})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t  }\n\t\t\t\t\t: {})\n\t\t  };\n};\n\nconst rebroadcastIframeEvents = (iframeElement) => {\n\tconst iframeDocument = iframeElement.contentWindow.document;\n\n\tif (!iframeDocument.eventRebroadcastSetup) {\n\t\tiframeDocument.eventRebroadcastSetup = true;\n\n\t\tconst iframeBody = iframeDocument.body;\n\n\t\tiframeBody.addEventListener('keydown', (event) => {\n\t\t\tlet shouldRebroadcastEvent = false;\n\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tshouldRebroadcastEvent = true;\n\t\t\t}\n\n\t\t\tif (event.key === 'Tab') {\n\t\t\t\tconst focusableElements = findTabbableNodes(iframeBody);\n\t\t\t\tconst path = event.composedPath() || [];\n\t\t\t\tconst indexOfCurrent = focusableElements.indexOf(path[0]);\n\n\t\t\t\tif (\n\t\t\t\t\tindexOfCurrent === focusableElements.length - 1 &&\n\t\t\t\t\t!event.shiftKey\n\t\t\t\t) {\n\t\t\t\t\tshouldRebroadcastEvent = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (shouldRebroadcastEvent) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst keyboardEvent = new KeyboardEvent(event.type, event);\n\t\t\t\tiframeElement.dispatchEvent(keyboardEvent);\n\t\t\t}\n\t\t});\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {getUserPrefsMap} from './prefsProp';\nimport {MENU_FAVORITES, MENU_WORKSPACES} from '../../constants';\nimport {REFRESH_PREFERENCES_MAP} from './user-preference-object-generator.utils';\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\nimport {getCurrentRouteHeaderConfig} from '../../components/sn-polaris-header/sn-polaris-header.utils';\n\nconst updatePrefsMap = (coeffects) => {\n\tconst {state, properties, dispatch, updateState} = coeffects;\n\tconst {\n\t\tuserPreferences,\n\t\theaderConfig,\n\t\tuserMeta,\n\t\tfeatures: {isPolarisEnabled},\n\t\tselectedContent,\n\t\tnowAssistSettings\n\t} = properties;\n\tconst {\n\t\tenabledPlugins,\n\t\tisNowAssistEnabled,\n\t\theaderMenuItems,\n\t\tavailableThemes,\n\t\tisTelemetryToggleAllowed,\n\t\ttelemetryToggleState,\n\t\tmultiThemeEnabled,\n\t\tnotificationUrl,\n\t\tpageTitle\n\t} = state;\n\tconst hasFavorites = !!headerMenuItems?.find(({id}) => id === MENU_FAVORITES);\n\tconst currentRouteHeaderConfig = getCurrentRouteHeaderConfig({\n\t\tselectedContent,\n\t\theaderConfig\n\t});\n\tconst hasAdminRole = userMeta?.roles?.includes('admin');\n\tconst isAppseeActive = enabledPlugins?.find(\n\t\t({id}) => id === 'com.glide.appsee'\n\t)?.active;\n\tconst hasWorkspaces = Array.isArray(headerMenuItems)\n\t\t? !!headerMenuItems?.find(({id}) => id === MENU_WORKSPACES)\n\t\t: false;\n\tupdateState({\n\t\tuserPrefsMap: getUserPrefsMap({\n\t\t\tuserPreferences,\n\t\t\thasFavorites,\n\t\t\tavailableThemes,\n\t\t\tcurrentRouteHeaderConfig,\n\t\t\thasAdminRole,\n\t\t\tisAppseeActive,\n\t\t\tisTelemetryToggleAllowed,\n\t\t\tisVoiceInputEnabled: nowAssistSettings?.napVoiceInputActive,\n\t\t\tisNowAssistEnabled,\n\t\t\tenabledPlugins,\n\t\t\tisPolarisEnabled,\n\t\t\ttelemetryToggleState,\n\t\t\tmultiThemeEnabled,\n\t\t\tnotificationUrl,\n\t\t\thasWorkspaces,\n\t\t\tdispatch,\n\t\t\tuserMeta,\n\t\t\tselectedContent,\n\t\t\tpageTitle\n\t\t})\n\t});\n};\n\nexport default {\n\tname: 'PREFERENCE_OBJECT_GENERATOR',\n\tactionHandlers: {\n\t\t[REFRESH_PREFERENCES_MAP]: {\n\t\t\teffect: updatePrefsMap,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {name}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tif (name === 'userPreferences') updatePrefsMap(coeffects);\n\t\t\t}\n\t\t}\n\t}\n};\n","export const AIUX_GUIDANCE_MODAL_OPEN = 'AIUX_GUIDANCE#MODAL_OPEN';\n","import {\n\tgetBooleanPreferenceValue,\n\tgetBooleanProperty\n} from '@devsnc/unav-utils';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport {ENABLED_PLUGINS_REFRESHED} from '../enabled-plugins-behavior/actions';\nimport {SCHEDULE_FOR_PAGE_LOAD} from '../schedule-for-page-load-behavior/actions';\nimport {\n\tOVERVIEW_HELP_VISITED,\n\tOVERVIEW_HELP_VISITED_AIUX,\n\tUSER_PREF_AIUX_USE,\n\tUSER_PREF_UPDATED\n} from '../../constants';\nimport {AIUX_GUIDANCE_MODAL_OPEN} from './constants';\n\nexport const aiuxGuidanceId = 'b3d7a2f1e4c6089196bb5a9fa0c94a23';\n\nconst shouldShowAiuxGuidance = (userPreferences) =>\n\tgetBooleanProperty('aiux.experience', false) &&\n\tgetBooleanPreferenceValue(userPreferences, OVERVIEW_HELP_VISITED) &&\n\t!getBooleanPreferenceValue(userPreferences, OVERVIEW_HELP_VISITED_AIUX);\n\nexport default {\n\tname: 'AIUX_GUIDANCE_BEHAVIOR',\n\tactionHandlers: {\n\t\t[ENABLED_PLUGINS_REFRESHED]: {\n\t\t\teffect: ({properties: {userPreferences}, dispatch}) => {\n\t\t\t\tif (!getFeatureSettings().isPolarisEnabled) return;\n\t\t\t\tif (!shouldShowAiuxGuidance(userPreferences)) return;\n\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tdispatch(AIUX_GUIDANCE_MODAL_OPEN);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[USER_PREF_UPDATED]: {\n\t\t\teffect: ({\n\t\t\t\taction: {payload},\n\t\t\t\tproperties: {userPreferences},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tif (payload.name !== OVERVIEW_HELP_VISITED || payload.value !== true)\n\t\t\t\t\treturn;\n\t\t\t\tif (!getFeatureSettings().isPolarisEnabled) return;\n\t\t\t\tif (!getBooleanProperty('aiux.experience', false)) return;\n\t\t\t\tif (\n\t\t\t\t\tgetBooleanPreferenceValue(userPreferences, OVERVIEW_HELP_VISITED_AIUX)\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\tdispatch(SCHEDULE_FOR_PAGE_LOAD, {\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tdispatch(AIUX_GUIDANCE_MODAL_OPEN);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[AIUX_GUIDANCE_MODAL_OPEN]: {\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\tdispatch('SN_HELP#GUIDANCE_START_REQUESTED', {\n\t\t\t\t\tguidanceId: aiuxGuidanceId\n\t\t\t\t});\n\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\tname: OVERVIEW_HELP_VISITED_AIUX,\n\t\t\t\t\tvalue: true\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'SN_HELP#GUIDANCE_ENDED': {\n\t\t\teffect: ({action: {payload}, dispatch}) => {\n\t\t\t\tif (payload?.guidanceId !== aiuxGuidanceId) return;\n\t\t\t\tdispatch(USER_PREF_UPDATED, {\n\t\t\t\t\tname: USER_PREF_AIUX_USE,\n\t\t\t\t\tvalue: true\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => window.location.reload(), 500);\n\t\t\t}\n\t\t}\n\t}\n};\n","import track from '../../utils/track';\nimport {START_TRACK_TIME, END_TRACK_TIME} from './actions';\nimport {get} from 'lodash';\n\nexport default {\n\tname: 'PERFORMANCE_METRICS_BEHAVIOR',\n\tinitialState: {\n\t\tconcourseFetchTime: undefined,\n\t\tfetchPluginsTime: undefined,\n\t\tcreateFavoriteTime: undefined,\n\t\tmenuRenderTime: undefined,\n\t\tfetchMenuTime: undefined,\n\t\theaderRenderTime: undefined,\n\t\timpersonateFetchTime: undefined\n\t},\n\tactionHandlers: {\n\t\t[START_TRACK_TIME]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {path}\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: path,\n\t\t\t\t\tvalue: Date.now(),\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[END_TRACK_TIME]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {coeffects, metric, path}\n\t\t\t\t},\n\t\t\t\tstate,\n\t\t\t\tupdateState\n\t\t\t}) => {\n\t\t\t\tconst startTime = get(state, path, undefined);\n\t\t\t\tif (startTime) {\n\t\t\t\t\ttrack(\n\t\t\t\t\t\tcoeffects,\n\t\t\t\t\t\tmetric,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttotalTime: Date.now() - startTime\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'performance'\n\t\t\t\t\t);\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: path,\n\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateSubscriberBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t\t} else if ('dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateSubscriberBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t} });","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tLOCAL_STORAGE_KEYS,\n\tUN_PAGE_TITLE_UPDATE_REQUESTED\n} from '../../constants';\n\nimport styles from './_sn-polaris-layout.scss';\nimport view from './sn-polaris-layout.view';\nimport {actionHandlers} from './sn-polaris-layout.effects';\n\nimport customEventManagerBehavior from '../../behaviors/custom-event-manager-behavior';\nimport openFrameBehavior from '../../behaviors/openFrameBehavior';\nimport historyBehavior from '../../behaviors/history-behavior';\nimport menuModifierBehavior from '../../behaviors/menu-modifier-behavior';\nimport favoritesBehavior from '../../behaviors/favorites-behavior';\nimport impersonationBehavior from '../../behaviors/impersonation-behavior';\nimport elevateRoleBehavior from '../../behaviors/elevate-role-behavior';\nimport printerFriendlyBehavior from '../../behaviors/printer-friendly-behavior';\nimport scriptDebuggerBehavior from '../../behaviors/script-debugger-behavior';\nimport inboxEnabledBehavior from '../../behaviors/is-inbox-enabled-behavior';\nimport dirtyFormBehavior from '../../behaviors/dirty-form-behavior';\nimport applicationBehavior from '../../behaviors/application-behavior';\nimport concourseFetcherBehavior from '../../behaviors/concourse-fetcher-behavior';\nimport updateSetBehavior from '../../behaviors/update-set-behavior';\nimport devStudioInit from '../../behaviors/dev-studio-init';\nimport domainBehavior from '../../behaviors/domain-behavior';\nimport enabledPluginsBehavior from '../../behaviors/enabled-plugins-behavior';\nimport coreUiIframeBehavior from '../../behaviors/core-ui-iframe-behavior';\nimport mainContentLoadingBehavior from '../../behaviors/main-content-loading-behavior';\nimport userNotificationBehavior from '../../behaviors/user-notification-behavior';\nimport serviceWorkerBehavior from '../../behaviors/service-worker-behavior';\nimport ariaLiveMessagesBehavior from '../../behaviors/aria-live-messages-behavior';\nimport collabChatBehavior from '../../behaviors/collab-chat-behavior';\nimport {dirtyFormStyles} from './dirty-form-modal';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport notificationBehavior from '../../behaviors/notification-behavior';\nimport keyboardShortcutsBehavior from '../../behaviors/keyboard-shortcuts-behavior';\nimport keyboardShortcutsModalBehavior from '../../behaviors/keyboard-shortcuts-modal-behavior';\nimport configureScreenBehavior from '../../behaviors/configure-screen';\nimport helpBehavior from '../../behaviors/help-behavior';\nimport encryptionBehavior from '../../behaviors/encryption-behavior';\nimport mainContentReadyBehavior from '../../behaviors/main-content-ready-behavior';\nimport menuLoadingBehavior from '../../behaviors/menu-loading-behavior';\nimport messageStackServiceBehavior from '../../behaviors/message-stack-service-behavior';\nimport skipLinkBehavior from '../../behaviors/skip-links-behavior';\nimport searchBehavior from '../../behaviors/search-behavior';\nimport logoutBehavior from '../../behaviors/logout-behavior';\nimport userSettingsBehavior from '../../behaviors/user-settings-behavior';\nimport concoursePickerBehavior from '../../behaviors/concourse-picker-behavior';\nimport asideBehavior from '../../behaviors/aside-behavior';\nimport {getFeatureSettings} from '../../utils/featureSettingsSingleton';\nimport scheduleForPageLoadBehavior from '../../behaviors/schedule-for-page-load-behavior';\nimport guidedToursBehavior from '../../behaviors/guided-tours-behavior';\nimport NavigationStackBehavior from '../../behaviors/Navigation-stack-behavior';\nimport FeedbackFormBehavior from '../../behaviors/feeback-form-behavior';\nimport nowAssistBehavior from '../../behaviors/now-assist-behavior';\nimport usageAnalyticsBehavior from '../../behaviors/usage-analytics-behavior';\nimport themeBehavior from '../../behaviors/theme-behavior';\nimport telemetryBehavior from '../../behaviors/telemetry-behavior';\nimport userPreferenceObjectGeneratorBehavior from '../../behaviors/user-preference-object-generator-behavior';\nimport aiuxGuidanceBehavior from '../../behaviors/aiux-guidance-behavior';\n\nimport {styles as utilityBarStyles} from './utility-bar';\nimport {\n\tcustomEvents,\n\tdirtyFormBehaviorCallback,\n\tsetInitialState\n} from './sn-polaris-layout.utils';\nimport performanceMetricsBehavior from '../../behaviors/performance-metrics-behavior';\nimport {dirtyStateSubscriberBehavior} from '@devsnc/uxf-shared-behaviors';\n\ncreateCustomElement('sn-polaris-layout', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: view\n\t},\n\tstyles: `\n\t\t${styles}\n\t\t${dirtyFormStyles}\n\t\t${utilityBarStyles}\n\t`,\n\tproperties: {\n\t\tnowAvoidRender: {default: true},\n\t\tselectedContent: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tonChange(newVal, prevVal, dispatch) {\n\t\t\t\tif (newVal)\n\t\t\t\t\tdispatch(UN_PAGE_TITLE_UPDATE_REQUESTED, {label: newVal?.title});\n\t\t\t}\n\t\t},\n\t\theaderConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tdeepCompare: true\n\t\t},\n\t\tcoreUILogoSrc: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\theaderLogoTarget: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tuserPreferences: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tunstableParse: true\n\t\t},\n\t\tuserMeta: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t\tselectable: true\n\t\t},\n\t\tuserSession: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t\tselectable: true\n\t\t},\n\t\topened: {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\tskipFetchDependencies: {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\tuserSettingsAccess: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {}\n\t\t},\n\t\twindowSize: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {\n\t\t\t\twidth: Math.round(window.innerWidth),\n\t\t\t\theight: Math.round(window.innerHeight)\n\t\t\t}\n\t\t},\n\t\tpolarisSearchContexts: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {}\n\t\t},\n\n\t\tfeatures: {\n\t\t\tcomputed: () => getFeatureSettings(),\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tisPolarisEnabled: {type: 'boolean'},\n\t\t\t\t\tisPrintingEnabled: {type: 'boolean'},\n\t\t\t\t\tisMenuEnabled: {type: 'boolean'},\n\t\t\t\t\tisDirtyFormEnabled: {type: 'boolean'},\n\t\t\t\t\tisCoreUINotificationPrefEnabled: {type: 'boolean'}\n\t\t\t\t},\n\t\t\t\trequired: ['isPolarisEnabled', 'isPrintingEnabled', 'isMenuEnabled']\n\t\t\t}\n\t\t},\n\t\tmenuHeaders: {\n\t\t\tschema: 'object'\n\t\t},\n\t\twindowManager: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tshouldRenderWhenSet: false\n\t\t},\n\t\tnowAssistSettings: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tdefault: {}\n\t\t},\n\t\twmBottomToolbar: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tsetInitialState({\n\t\tproperties: {selectedContent, userMeta, userPreferences, userSession}\n\t}) {\n\t\treturn setInitialState({\n\t\t\tselectedContent,\n\t\t\tuserMeta,\n\t\t\tuserPreferences,\n\t\t\tuserSession\n\t\t});\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\t// Uncomment to debug render issues\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: 'sn-polaris-layout'}\n\t\t},\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.PERFORMANCE_OBSERVERS) !== null\n\t\t\t\t\t? require('../../behaviors/performance-debug-behavior').default\n\t\t\t\t\t: null\n\t\t},\n\t\t{\n\t\t\tbehavior: customEventManagerBehavior,\n\t\t\toptions: {\n\t\t\t\tcustomEvents\n\t\t\t}\n\t\t},\n\t\t{behavior: favoritesBehavior},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: tooltipBehavior},\n\t\t{behavior: menuModifierBehavior},\n\t\t{behavior: historyBehavior},\n\t\t{behavior: impersonationBehavior},\n\t\t{behavior: openFrameBehavior},\n\t\t{behavior: notificationBehavior},\n\t\t{behavior: elevateRoleBehavior},\n\t\t{behavior: printerFriendlyBehavior},\n\t\t{behavior: scriptDebuggerBehavior},\n\t\t{behavior: applicationBehavior},\n\t\t{behavior: updateSetBehavior},\n\t\t{behavior: encryptionBehavior},\n\t\t{behavior: dirtyFormBehavior},\n\t\t{behavior: devStudioInit},\n\t\t{behavior: domainBehavior},\n\t\t{behavior: enabledPluginsBehavior},\n\t\t{behavior: inboxEnabledBehavior},\n\t\t{behavior: coreUiIframeBehavior},\n\t\t{behavior: mainContentLoadingBehavior},\n\t\t{behavior: userNotificationBehavior},\n\t\t{behavior: serviceWorkerBehavior},\n\t\t{behavior: keyboardShortcutsBehavior},\n\t\t{behavior: keyboardShortcutsModalBehavior},\n\t\t{behavior: configureScreenBehavior},\n\t\t{behavior: helpBehavior},\n\t\t{behavior: ariaLiveMessagesBehavior},\n\t\t{behavior: collabChatBehavior},\n\n\t\t{behavior: mainContentReadyBehavior},\n\t\t{behavior: messageStackServiceBehavior},\n\t\t{behavior: menuLoadingBehavior},\n\t\t{behavior: skipLinkBehavior},\n\t\t{behavior: searchBehavior},\n\t\t{behavior: logoutBehavior},\n\t\t{behavior: userSettingsBehavior},\n\t\t{behavior: concoursePickerBehavior},\n\t\t{behavior: asideBehavior},\n\t\t{behavior: scheduleForPageLoadBehavior},\n\t\t{behavior: guidedToursBehavior},\n\t\t{behavior: NavigationStackBehavior},\n\t\t{behavior: FeedbackFormBehavior},\n\t\t{behavior: concourseFetcherBehavior},\n\t\t{behavior: nowAssistBehavior},\n\t\t{behavior: usageAnalyticsBehavior},\n\t\t{behavior: performanceMetricsBehavior},\n\t\t{behavior: themeBehavior},\n\t\t{behavior: telemetryBehavior},\n\t\t{behavior: userPreferenceObjectGeneratorBehavior},\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: dirtyFormBehaviorCallback\n\t\t\t}\n\t\t},\n\t\t{behavior: aiuxGuidanceBehavior}\n\t]\n});\n","import {t} from 'sn-translate';\nimport '@servicenow/now-icon';\n\nimport {NAV_SUB_MENU_ITEM_UNFAVORITED} from '../actions';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\n\nexport const FavoriteDelete = ({\n\tdispatch,\n\titem,\n\trootMenu,\n\tmenu,\n\tisOpen = true\n}) => {\n\tconst onToggleFavorite = (rootMenu, menu, item, popupRef) => {\n\t\tdispatch(NAV_SUB_MENU_ITEM_UNFAVORITED, {\n\t\t\trootMenu: rootMenu.id,\n\t\t\tmenu: menu.id,\n\t\t\titem,\n\t\t\tparentMenuItem: menu,\n\t\t\tpopupRef\n\t\t});\n\t};\n\n\treturn (\n\t\t<div>\n\t\t\t<button\n\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\tonToggleFavorite(rootMenu, menu, item, e.currentTarget);\n\t\t\t\t})}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}\n\t\t\t\tclass={{\n\t\t\t\t\t'menu-action': true,\n\t\t\t\t\t'menu-action-interaction-state': true,\n\t\t\t\t\t'favorite-delete': true\n\t\t\t\t}}\n\t\t\t\ttype=\"button\"\n\t\t\t\taria-label={t('Remove {0} from favorites', item.label)}\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\ttabindex={isOpen ? '0' : '-1'}>\n\t\t\t\t<now-icon className=\"delete\" icon=\"close-outline\" size=\"md\" />\n\t\t\t\t<span className=\"tooltip-label\">{t('Remove From Favorites')}<\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\nimport '@servicenow/now-icon';\n\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\n\nimport {\n\tNAV_SUB_MENU_ITEM_FAVORITED,\n\tNAV_SUB_MENU_ITEM_UNFAVORITED\n} from '../actions';\nimport loadIcon, {svgTemplate} from '../utils/load-icon';\n\nlet starOutlinePaths, starFillPaths;\n\nexport async function loadIconSvg() {\n\tstarOutlinePaths = await loadIcon('starOutline');\n\tstarFillPaths = await loadIcon('starFill');\n\treturn;\n}\n\nloadIconSvg();\n\nexport const View = ({dispatch, item, rootMenu, menu, isOpen = true}) => {\n\tif (!item.canFavorite) return null;\n\n\tconst isFavorite = item.favorited;\n\n\tconst onToggleFavorite = (rootMenu, menu, item, popupRef) => {\n\t\tconst dispatchAction = isFavorite\n\t\t\t? NAV_SUB_MENU_ITEM_UNFAVORITED\n\t\t\t: NAV_SUB_MENU_ITEM_FAVORITED;\n\t\tdispatch(dispatchAction, {\n\t\t\trootMenu: rootMenu.id,\n\t\t\tmenu: menu.id,\n\t\t\titem,\n\t\t\tparentMenuItem: menu,\n\t\t\tpopupRef\n\t\t});\n\t};\n\n\tconst icon = item.favorited\n\t\t? svgTemplate(starFillPaths, 'star', 'star-fill')\n\t\t: svgTemplate(starOutlinePaths, 'star', 'star-outline');\n\n\treturn (\n\t\t<button\n\t\t\tclass={{\n\t\t\t\t'menu-action': true,\n\t\t\t\tfavorite: true,\n\t\t\t\t'is-favorite': item.favorited,\n\t\t\t\t'menu-action-interaction-state': true\n\t\t\t}}\n\t\t\taria-label={\n\t\t\t\tisFavorite\n\t\t\t\t\t? t('Remove {0} from favorites', item.label)\n\t\t\t\t\t: t('Add {0} to favorites', item.label)\n\t\t\t}\n\t\t\ttabindex={isOpen ? '0' : '-1'}\n\t\t\ttype=\"button\"\n\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\tonMouseEnterIconItem,\n\t\t\t\tonMouseLeaveItem,\n\t\t\t\tdispatch\n\t\t\t)}\n\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\n\t\t\t\tonToggleFavorite(rootMenu, menu, item, e.currentTarget);\n\t\t\t})}>\n\t\t\t{icon}\n\t\t<\/button>\n\t);\n};\n","import {t} from 'sn-translate';\nimport '@servicenow/now-icon';\n\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {MENU_EDIT_INITIATED} from './constants';\nimport {SEPARATOR} from '../../../constants';\nimport {\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport loadIcon, {svgTemplate} from '../utils/load-icon';\n\nlet editIcon;\n\nexport async function loadIconSvg() {\n\tconst svg = await loadIcon('pencilPageOutline');\n\teditIcon = svgTemplate(svg, 'edit', 'edit');\n\treturn;\n}\n\nloadIconSvg();\n\nexport const View = ({dispatch, rootMenu, item, isOpen}) => {\n\tif (!(rootMenu.canEdit || item.canEdit) || item.actionType === SEPARATOR)\n\t\treturn null;\n\n\tconst ariaLabel = item.subItems\n\t\t? t('Edit Application {0}', item.label)\n\t\t: t('Edit Module {0}', item.label);\n\n\tconst tooltipText = item.subItems ? t('Edit Application') : t('Edit Module');\n\n\treturn (\n\t\t<button\n\t\t\tclass={{\n\t\t\t\t'menu-action': true,\n\t\t\t\t'edit-menu': true,\n\t\t\t\t'menu-action-interaction-state': true\n\t\t\t}}\n\t\t\taria-label={ariaLabel}\n\t\t\tdata-dontUseAriaLabelAsTooltip\n\t\t\ttabIndex={isOpen ? 0 : -1}\n\t\t\ttype=\"button\"\n\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\tonMouseEnterIconItem,\n\t\t\t\tonMouseLeaveItem,\n\t\t\t\tdispatch\n\t\t\t)}\n\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\t\t\t\tdispatch(MENU_EDIT_INITIATED, {rootMenu, item});\n\t\t\t})}>\n\t\t\t{editIcon}\n\t\t\t<span id=\"edit-menu-label\" className=\"tooltip-label\">\n\t\t\t\t{tooltipText}\n\t\t\t<\/span>\n\t\t<\/button>\n\t);\n};\n","import {isEmpty} from 'lodash';\nimport {\n\tisFavoriteGroup,\n\tisSeparatorGroup\n} from '../../../utils/isFavoriteGroup';\n\nexport const addGroupPropToMenus = (menu) => {\n\tmenu = {...menu, isGroup: isFavoriteGroup(menu) || isSeparatorGroup(menu)};\n\tif (!isEmpty(menu.subItems)) {\n\t\tmenu.subItems = [\n\t\t\t...menu.subItems.map((innerMenu) => addGroupPropToMenus(innerMenu))\n\t\t];\n\t}\n\treturn menu;\n};\n","import {some} from 'lodash';\n\nimport isATF from '../../../utils/isATF';\nimport {FavoriteDelete} from '../favorite-delete';\nimport {View as Favorite} from '../favorite';\nimport {View as Edit} from '../editMenu';\nimport '../sn-collapsible-list';\nimport {\n\tMENU_ALL,\n\tMENU_FAVORITES,\n\tMENU_HISTORY,\n\tMENU_WORKSPACES\n} from '../../../constants';\nimport {addGroupPropToMenus} from '../utils/addGroupPropToMenus';\nimport {getFilterResultAnnouncement} from '../utils/getFilterResultAnnouncement';\n\nconst isATFCustomizationsEnabled = isATF();\n\nexport default ({\n\tmenu,\n\tpinned,\n\tsearchTerm,\n\tfilterMethod,\n\ttotalItems,\n\tmatchingItems,\n\tanimationsEnabled,\n\tshouldOpenUI16TabsInsidePolaris,\n\thideScroll,\n\tskipDefer = false,\n\tshowHiddenControls,\n\tisOtherMenusLoading,\n\tpreventHighlight\n}) => {\n\tconst isSingleLevel = !some(menu.subItems, (m) => m.subItems?.length);\n\tconst subItemsSet = new Set();\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-tree-menu': true,\n\t\t\t\t'sn-polaris-nav-content': true,\n\t\t\t\t'is-pinned': pinned\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-tab-content': true,\n\t\t\t\t\t'-left': true,\n\t\t\t\t\t'is-visible': true,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-polaris-nav-body': true,\n\t\t\t\t\t\t'hide-scroll': hideScroll ? true : false\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"list\">\n\t\t\t\t\t{menu && menu.subItems\n\t\t\t\t\t\t? menu.subItems.map((m, idx) => {\n\t\t\t\t\t\t\t\tlet finalSubMenu = m;\n\n\t\t\t\t\t\t\t\tif (menu?.id === MENU_FAVORITES) {\n\t\t\t\t\t\t\t\t\tfinalSubMenu = addGroupPropToMenus(m);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Skip rendering if menu.subItems contains duplicates\n\t\t\t\t\t\t\t\tif (subItemsSet.has(finalSubMenu.id)) return null;\n\n\t\t\t\t\t\t\t\tsubItemsSet.add(finalSubMenu.id);\n\n\t\t\t\t\t\t\t\tconst isOpen =\n\t\t\t\t\t\t\t\t\tm.open || !!searchTerm || isATFCustomizationsEnabled;\n\n\t\t\t\t\t\t\t\tconst resolveActions = () => {\n\t\t\t\t\t\t\t\t\tif (isOtherMenusLoading) return [];\n\n\t\t\t\t\t\t\t\t\tswitch (menu?.id) {\n\t\t\t\t\t\t\t\t\t\tcase MENU_FAVORITES:\n\t\t\t\t\t\t\t\t\t\t\tfinalSubMenu = addGroupPropToMenus(m);\n\t\t\t\t\t\t\t\t\t\t\treturn [FavoriteDelete];\n\t\t\t\t\t\t\t\t\t\tcase MENU_ALL:\n\t\t\t\t\t\t\t\t\t\t\treturn [Edit, Favorite];\n\t\t\t\t\t\t\t\t\t\tcase MENU_HISTORY:\n\t\t\t\t\t\t\t\t\t\tcase MENU_WORKSPACES:\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\t\treturn [Favorite];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tconst shouldDefer =\n\t\t\t\t\t\t\t\t\t!isATFCustomizationsEnabled &&\n\t\t\t\t\t\t\t\t\t!skipDefer &&\n\t\t\t\t\t\t\t\t\tidx !== menu.subItems.length - 1;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<sn-collapsible-list\n\t\t\t\t\t\t\t\t\t\trole=\"listitem\"\n\t\t\t\t\t\t\t\t\t\t// last item shouldnt be defered for keyboard nav to be able to focus the last tree element\n\t\t\t\t\t\t\t\t\t\tnow-mode={shouldDefer ? 'suspend' : 'active'}\n\t\t\t\t\t\t\t\t\t\tnow-priority={shouldDefer ? 'low' : 'active'}\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t'is-pinned': pinned\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t// expand if we have a search term\n\t\t\t\t\t\t\t\t\t\tis-open={isOpen}\n\t\t\t\t\t\t\t\t\t\trootMenu={menu}\n\t\t\t\t\t\t\t\t\t\tmenu={finalSubMenu}\n\t\t\t\t\t\t\t\t\t\tisGroup={finalSubMenu.isGroup}\n\t\t\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={\n\t\t\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tactions={resolveActions()}\n\t\t\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t  })\n\t\t\t\t\t\t: null}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<FilterResultAnnounce\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\ttotalItems={totalItems}\n\t\t\t\tmatchingItems={matchingItems}\n\t\t\t\tisSingleLevel={isSingleLevel}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nconst FilterResultAnnounce = ({\n\tsearchTerm,\n\ttotalItems,\n\tmatchingItems,\n\tisSingleLevel\n}) => {\n\tif (!searchTerm) return null;\n\n\tconst message = getFilterResultAnnouncement({\n\t\tsearchTerm,\n\t\ttotalItems,\n\t\tmatchingItems,\n\t\tisSingleLevel\n\t});\n\n\treturn (\n\t\t<div aria-live=\"polite\" className=\"now-a11y-label\">\n\t\t\t{message}\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\n\nexport const getFilterResultAnnouncement = ({\n\tsearchTerm,\n\ttotalItems,\n\tmatchingItems,\n\tisSingleLevel\n}) => {\n\tlet message;\n\tif (isSingleLevel) {\n\t\tmessage =\n\t\t\tmatchingItems === 1\n\t\t\t\t? t('1 item contains \"{0}\"', searchTerm)\n\t\t\t\t: t('{0} items contain \"{1}\"', matchingItems, searchTerm);\n\t} else {\n\t\t// 1 item is singular, 0 or more than 1 is plural\n\t\tif (totalItems === 1) {\n\t\t\tif (matchingItems === 1) {\n\t\t\t\tmessage = t(\n\t\t\t\t\t'Showing {0} item, {1} item contains \"{2}\"',\n\t\t\t\t\ttotalItems,\n\t\t\t\t\tmatchingItems,\n\t\t\t\t\tsearchTerm\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmessage = t(\n\t\t\t\t\t'Showing {0} item, {1} items contain \"{2}\"',\n\t\t\t\t\ttotalItems,\n\t\t\t\t\tmatchingItems,\n\t\t\t\t\tsearchTerm\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tif (matchingItems === 1) {\n\t\t\t\tmessage = t(\n\t\t\t\t\t'Showing {0} items, {1} item contains \"{2}\"',\n\t\t\t\t\ttotalItems,\n\t\t\t\t\tmatchingItems,\n\t\t\t\t\tsearchTerm\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmessage = t(\n\t\t\t\t\t'Showing {0} items, {1} items contain \"{2}\"',\n\t\t\t\t\ttotalItems,\n\t\t\t\t\tmatchingItems,\n\t\t\t\t\tsearchTerm\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn message;\n};\n","export const ONE_MIN = 60 * 1000;\nexport const FIFTEEN_MIN = 15 * ONE_MIN;\nexport const THIRTY_MIN = 30 * ONE_MIN;\nexport const ONE_HOUR = FIFTEEN_MIN * 4;\nexport const ONE_DAY = ONE_HOUR * 24;\nexport const BUCKET_SPAN_MS = THIRTY_MIN;\nexport const BUCKET_SPAN = 30;\n","import {mapValues, uniqBy, get, omit, sortBy, toPairs} from 'lodash';\nimport stripBlacklistedParams from '../../../../utils/stripBlacklistedParams';\n\nconst findKeyInObject = (obj, targetKey) => {\n\tfor (const key in obj) {\n\t\tif (key === targetKey) {\n\t\t\treturn obj[key]; // Found the key, return its value\n\t\t}\n\n\t\tif (typeof obj[key] === 'object' && obj[key] !== null) {\n\t\t\t// If the value is an object (and not null), recurse into it\n\t\t\tconst result = findKeyInObject(obj[key], targetKey);\n\t\t\tif (result !== undefined) {\n\t\t\t\t// If the key was found in a nested object\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\treturn undefined; // Key not found\n};\n\nexport default function(bucket, favoriteBlackList = [], historyBlockList = []) {\n\treturn mapValues(bucket, (items) =>\n\t\tuniqBy(items, (item) => {\n\t\t\tlet query;\n\t\t\tconst route = get(item, 'route');\n\t\t\tconst routeType = get(route, 'route', '');\n\t\t\tif (routeType === 'classic') {\n\t\t\t\tconst target = get(route, 'params.target', {});\n\t\t\t\treturn stripBlacklistedParams(target, favoriteBlackList);\n\t\t\t} else {\n\t\t\t\tconst context = JSON.stringify(\n\t\t\t\t\tsortBy(toPairs(get(route, 'context', {})), (prop) => prop[0])\n\t\t\t\t);\n\t\t\t\tconst fields = JSON.stringify(\n\t\t\t\t\tsortBy(toPairs(get(route, 'fields', {})), (prop) => prop[0])\n\t\t\t\t);\n\t\t\t\tconst params = JSON.stringify(\n\t\t\t\t\tsortBy(\n\t\t\t\t\t\ttoPairs(omit(get(route, 'params', {}), historyBlockList)),\n\t\t\t\t\t\t(prop) => prop[0]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tif (route?.encodedPersistedState) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst persistedState = JSON.parse(\n\t\t\t\t\t\t\tatob(\n\t\t\t\t\t\t\t\troute.encodedPersistedState.slice(\n\t\t\t\t\t\t\t\t\troute.encodedPersistedState.indexOf('~') + 1\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tquery = findKeyInObject(persistedState, 'query');\n\t\t\t\t\t} catch {\n\t\t\t\t\t\tquery = '';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn context + fields + params + routeType + query;\n\t\t\t}\n\t\t})\n\t);\n}\n","const isSupportedLocal = (locale) => {\n\tlet length;\n\ttry {\n\t\tlength = Intl.DateTimeFormat.supportedLocalesOf([locale]).length;\n\t} catch (err) {\n\t\treturn false;\n\t}\n\treturn length > 0;\n};\n\nfunction normalizeFormat(locale) {\n\t// handle glide weirdness with locales\n\tswitch (locale) {\n\t\tcase 'pb':\n\t\t\treturn 'pt-BR';\n\t\tcase 'fq':\n\t\t\treturn 'fr-CA';\n\t\tcase 'zt':\n\t\t\treturn 'zh-Hant';\n\t\tcase 'xl':\n\t\t\treturn 'en';\n\t\tdefault:\n\t\t\t// glide.system.locale '.' separates, like 'en.US' rather than standard 'en-US'\n\t\t\treturn locale ? locale.replace(/[._]/, '-') : window.navigator.language;\n\t}\n}\n\nexport default function getLocale(locale) {\n\tconst normalizedLocale = normalizeFormat(locale);\n\treturn isSupportedLocal(normalizedLocale)\n\t\t? normalizedLocale\n\t\t: window.navigator.language;\n}\n","import {floor, groupBy, partition} from 'lodash';\nimport {t} from 'sn-translate';\nimport {getProperty} from 'sn-uxpage-presource';\n\nimport {BUCKET_SPAN_MS, BUCKET_SPAN, ONE_HOUR} from '../constants';\nimport deduplicateBucket from './deduplicateBucket';\nimport getLocale from './getLocale';\nimport {SYS_PROPS} from '../../../../constants';\n\nconst isSameDate = (a, b) =>\n\ta.getDate() === b.getDate() &&\n\ta.getMonth() === b.getMonth() &&\n\ta.getFullYear() === b.getFullYear();\n\nexport default function createTimeBuckets(\n\tmenuItems,\n\tcurrentDate = new Date(),\n\tlocale = 'en-US'\n) {\n\t/*\n    [0, 1hr]: group by 30min\n    [1hr, 24hr]: group by hour\n    [24hr, Infinity]: group by day\n\n    today:\n        recent:[],\n        30min: [],\n        1hour: [],\n        2hour: [],\n        3hour: [],\n        ...,\n    yesterday: [],\n    DATE_STRING (MM DD YYY): [],\n    DATE_STRING (MM DD YYY): [],\n    ...\n\n    Partition -> [Today, ...Not Today]\n        Today -> [1hr, >1hr]\n            1hr  -> Bucket by 30min\n            >1hr -> Bucket by 1hr\n        Not Today -> Bucket by day\n\t*/\n\tlet blacklist, historyBlockList;\n\ttry {\n\t\tblacklist =\n\t\t\tJSON.parse(getProperty(SYS_PROPS.UI.NAV_FAVORITE_URL_PARAM_BLACKLIST)) ||\n\t\t\t[];\n\t\thistoryBlockList =\n\t\t\tJSON.parse(getProperty(SYS_PROPS.UI.HISTORY_URL_PARAM_BLOCKLIST)) || [];\n\t} catch {\n\t\tblacklist = [];\n\t\thistoryBlockList = [];\n\t}\n\n\tconst [today, pastToday] = partition(menuItems, (m) => {\n\t\tconst itemCreatedDate = new Date(m.createdTimestamp);\n\t\treturn isSameDate(currentDate, itemCreatedDate);\n\t});\n\n\tconst todayBuckets = groupBy(today, (m) => {\n\t\tconst elapsedTime = currentDate.getTime() - m.createdTimestamp;\n\n\t\t// how many 30 minute buckets can fit into the elapsed time === the bucket it belongs to\n\t\tconst bucket = floor(elapsedTime / BUCKET_SPAN_MS) * BUCKET_SPAN;\n\n\t\tif (bucket >= 60) {\n\t\t\t// if > 1hr, place in hour buckets\n\t\t\tconst bucket = floor(elapsedTime / ONE_HOUR);\n\t\t\treturn bucket === 1 ? t('{0} hr ago', bucket) : t('{0} hrs ago', bucket);\n\t\t}\n\n\t\tif (bucket === 0) return '';\n\n\t\treturn t('{0} min ago', bucket);\n\t});\n\n\tconst [yesterday, rest] = partition(pastToday, (m) => {\n\t\tconst itemCreatedDate = new Date(m.createdTimestamp);\n\t\tconst yesterdayDate = new Date(currentDate);\n\t\tyesterdayDate.setDate(yesterdayDate.getDate() - 1);\n\n\t\treturn isSameDate(yesterdayDate, itemCreatedDate);\n\t});\n\n\tconst restOfDays = groupBy(rest, (m) => {\n\t\tconst resolvedLocale = getLocale(locale);\n\n\t\treturn new Intl.DateTimeFormat(resolvedLocale, {\n\t\t\tmonth: 'long',\n\t\t\tday: 'numeric'\n\t\t}).format(new Date(m.createdTimestamp));\n\t});\n\n\treturn {\n\t\tToday: deduplicateBucket(todayBuckets, blacklist, historyBlockList),\n\t\t[t('Yesterday')]: yesterday,\n\t\t...restOfDays\n\t};\n}\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {floor, isArray, map, reduce} from 'lodash';\n// eslint-disable-next-line no-restricted-imports\nimport {guid} from '@servicenow/ui-internal';\nimport {BUCKET_SPAN, BUCKET_SPAN_MS} from './constants';\nimport createTimeBuckets from './utils/createTimeBuckets';\nimport {t} from 'sn-translate';\n\nimport {\n\tonMouseEnterHistoryItem,\n\tonMouseLeaveItem,\n\tHighlightedLabel,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport getMenuItemHref from '../../../utils/getMenuItemHref';\nimport createMenuHrefHandlers from '../../../utils/createMenuHrefHandlers';\n\nexport default function HistoryTemplate({\n\tmenu,\n\tpinned,\n\tcurrentDate = new Date(),\n\tlocale,\n\tanimationsEnabled,\n\tdispatch,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\thideScroll,\n\tpreventHighlight\n}) {\n\t// {Today: {0: [], 15: []}, Yesterday: [], ...rest: []}\n\tconst bucketedItems = createTimeBuckets(\n\t\tmenu.subItems || [],\n\t\tcurrentDate,\n\t\tlocale\n\t);\n\n\tconst matchingItems = reduce(\n\t\tbucketedItems,\n\t\t(acc, values) => {\n\t\t\tif (isArray(values)) return acc + values.length;\n\t\t\treturn acc + reduce(values, (acc, v) => acc + v.length, 0);\n\t\t},\n\t\t0\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-history-menu': true,\n\t\t\t\t'sn-polaris-nav-body': true,\n\t\t\t\t'hide-scroll': hideScroll\n\t\t\t}}>\n\t\t\t{map(bucketedItems, (values, label) => (\n\t\t\t\t<MenuGroup\n\t\t\t\t\tmenu={values}\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tpinned={pinned}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tfirstFilteredNavItem={menu.firstFilteredNavItem || null}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t<FilterResultAnnounce\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tmatchingItems={matchingItems}\n\t\t\t/>\n\t\t<\/div>\n\t);\n}\n\nconst MenuGroup = ({\n\tlabel,\n\tmenu,\n\tpinned,\n\tdispatch,\n\tanimationsEnabled,\n\tcurrentDate,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tfirstFilteredNavItem,\n\tpreventHighlight\n}) => {\n\t// This happens to cover both the array & object cases :)\n\tif (Object.keys(menu).length === 0) return null;\n\n\t// Only show the menu header for days past Today\n\tconst showMenuHeader = label !== 'Today';\n\tconst headerId = showMenuHeader ? guid() : null;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'is-pinned': pinned\n\t\t\t}}\n\t\t\t{...showMenuHeader && {\n\t\t\t\trole: 'group',\n\t\t\t\t'aria-labelledby': headerId\n\t\t\t}}>\n\t\t\t{showMenuHeader ? (\n\t\t\t\t<div className=\"section-header\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"section-label\"\n\t\t\t\t\t\tid={headerId}\n\t\t\t\t\t\trole=\"heading\"\n\t\t\t\t\t\taria-level=\"2\">\n\t\t\t\t\t\t{label}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<hr className=\"section-divider\" />\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t<ul className=\"sn-polaris-nav-list-items\" aria-labelledby={headerId}>\n\t\t\t\t<MenuSection\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tmenu={menu}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tfirstFilteredNavItem={firstFilteredNavItem}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t<\/ul>\n\t\t<\/div>\n\t);\n};\n\nconst MenuSection = ({\n\tdispatch,\n\tmenu,\n\tanimationsEnabled,\n\tcurrentDate,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tfirstFilteredNavItem,\n\tpreventHighlight\n}) => {\n\tconst reducedMenu = reduce(\n\t\tmenu,\n\t\t(accum, item) => {\n\t\t\treturn accum.concat(item);\n\t\t},\n\t\t[]\n\t);\n\tconst totalHistoryItems = isArray(menu) ? menu.length : reducedMenu.length;\n\tlet numItemsSeen = 0;\n\n\treturn isArray(menu)\n\t\t? menu.map((item, index) => {\n\t\t\t\treturn (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\titem={item}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\tfirstFilteredNavItem={firstFilteredNavItem}\n\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t\tlabelSize={totalHistoryItems}\n\t\t\t\t\t\tlabelIndex={index + 1}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t  })\n\t\t: map(menu, (items, label) => {\n\t\t\t\treturn items.map((item, index) => {\n\t\t\t\t\tconst elapsedTime = currentDate.getTime() - item.createdTimestamp;\n\t\t\t\t\t// Don't want to show \"0 min ago\"\n\t\t\t\t\tconst timeMarker = Math.max(\n\t\t\t\t\t\t1,\n\t\t\t\t\t\tfloor((elapsedTime / BUCKET_SPAN_MS) * BUCKET_SPAN)\n\t\t\t\t\t);\n\n\t\t\t\t\t// // Show time label for:\n\t\t\t\t\t// //   - Anything within past 30 min, OR\n\t\t\t\t\t// //\t - The first item\n\t\t\t\t\tconst timeLabel =\n\t\t\t\t\t\tlabel === ''\n\t\t\t\t\t\t\t? t('{0} min ago', timeMarker)\n\t\t\t\t\t\t\t: index === 0\n\t\t\t\t\t\t\t? label\n\t\t\t\t\t\t\t: '';\n\n\t\t\t\t\tnumItemsSeen += 1;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\ttimeLabel={timeLabel}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\t\tfirstFilteredNavItem={firstFilteredNavItem}\n\t\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t\t\tlabelSize={totalHistoryItems}\n\t\t\t\t\t\t\tlabelIndex={numItemsSeen}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t  });\n};\n\nexport const MenuItem = ({\n\titem,\n\ttimeLabel,\n\tdispatch,\n\tanimationsEnabled,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tfirstFilteredNavItem,\n\tpreventHighlight,\n\tlabelSize,\n\tlabelIndex\n}) => {\n\tconst href = getMenuItemHref(item, shouldOpenUI16TabsInsidePolaris);\n\tconst ariaID = guid();\n\tconst ariaLabel = `${item?.label} ${labelIndex} of ${labelSize}`;\n\n\treturn (\n\t\t<li\n\t\t\tclass={{\n\t\t\t\t'sn-polaris-nav-list-item': true,\n\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t'is-filtered': searchTerm !== ''\n\t\t\t}}>\n\t\t\t<a\n\t\t\t\tclassName=\"menu-item-link keyboard-navigatable\"\n\t\t\t\tclass={{\n\t\t\t\t\t'highlighted-item':\n\t\t\t\t\t\titem.id === firstFilteredNavItem?.id && !preventHighlight\n\t\t\t\t}}\n\t\t\t\thref={href || null}\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-describedby={`menu-item-description-${ariaID} menu-item-time-marker-${ariaID}`}\n\t\t\t\ttarget={href ? '_self' : null}\n\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\tonMouseEnterHistoryItem,\n\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\tdispatch\n\t\t\t\t)}\n\t\t\t\t{...createMenuHrefHandlers(item, (e) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tdispatch('NAV_SUB_MENU_ITEM#SELECTED', {\n\t\t\t\t\t\titem\n\t\t\t\t\t});\n\t\t\t\t})}>\n\t\t\t\t<div className=\"menu-item\">\n\t\t\t\t\t<div className=\"menu-item-label\">\n\t\t\t\t\t\t<span className=\"label\">\n\t\t\t\t\t\t\t{searchTerm ? (\n\t\t\t\t\t\t\t\t<HighlightedLabel\n\t\t\t\t\t\t\t\t\ttext={item.label}\n\t\t\t\t\t\t\t\t\tmatches={item.match?.matches}\n\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\titem.label\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t{item.description ? (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"menu-item-description\"\n\t\t\t\t\t\t\t\t\tid={`menu-item-description-${ariaID}`}>\n\t\t\t\t\t\t\t\t\t{searchTerm ? (\n\t\t\t\t\t\t\t\t\t\t<HighlightedLabel\n\t\t\t\t\t\t\t\t\t\t\ttext={item.description}\n\t\t\t\t\t\t\t\t\t\t\tmatches={item.descriptionMatch?.matches}\n\t\t\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\titem.description\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\t\t\t\t\t{timeLabel ? (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"menu-item-time-marker\"\n\t\t\t\t\t\t\tid={`menu-item-time-marker-${ariaID}`}\n\t\t\t\t\t\t\taria-label={t('last visited {0}', timeLabel)}>\n\t\t\t\t\t\t\t{timeLabel}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/a>\n\t\t<\/li>\n\t);\n};\n\nconst FilterResultAnnounce = ({searchTerm, matchingItems}) => {\n\tif (!searchTerm) return null;\n\n\tconst message =\n\t\tmatchingItems === 1\n\t\t\t? t('1 item contains \"{0}\"', searchTerm)\n\t\t\t: t('{0} items contain \"{1}\"', matchingItems, searchTerm);\n\n\treturn (\n\t\t<div aria-live=\"polite\" className=\"now-a11y-label\">\n\t\t\t{message}\n\t\t<\/div>\n\t);\n};\n","import {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {MENU_ALL, MENU_FAVORITES} from '../../../constants';\nimport {View as TreeMenu} from '../sn-menu-template-all';\nimport {MenuBody} from '../utils/template-map';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {\n\tTOGGLE_ALL_RESULTS,\n\tTOGGLE_FAVORITE_RESULTS,\n\tTOGGLE_OTHER_RESULTS,\n\tNO_TOGGLE\n} from '../actions';\n\n/* render the 'All Results' header  */\nconst AllResultsHeader = ({dispatch, canToggle = true}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'super-filter-header': true,\n\t\t\t\t'all-results-toggle': true,\n\t\t\t\t'no-interaction': !canToggle\n\t\t\t}}>\n\t\t\t{canToggle ? (\n\t\t\t\t<button\n\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tdispatch(TOGGLE_ALL_RESULTS);\n\t\t\t\t\t})}\n\t\t\t\t\ttabIndex={0}>\n\t\t\t\t\t{t('All Results')}\n\n\t\t\t\t\t<now-icon icon=\"chevron-right-fill\" size=\"md\" />\n\t\t\t\t<\/button>\n\t\t\t) : (\n\t\t\t\tt('All Results')\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nconst ResultsSubheader = ({dispatch, label, toggleType, isOpen}) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'super-filter-subheader': toggleType !== NO_TOGGLE,\n\t\t\t\t'super-filter-header': toggleType === NO_TOGGLE,\n\t\t\t\t'no-interaction': toggleType === NO_TOGGLE,\n\t\t\t\t'section-open': isOpen\n\t\t\t}}>\n\t\t\t{toggleType !== NO_TOGGLE ? (\n\t\t\t\t<button\n\t\t\t\t\t{...createInteractionHandlers((e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tdispatch(toggleType);\n\t\t\t\t\t})}\n\t\t\t\t\ttabIndex={0}>\n\t\t\t\t\t{t(label)}\n\n\t\t\t\t\t<now-icon icon=\"chevron-right-fill\" size=\"md\" />\n\t\t\t\t<\/button>\n\t\t\t) : (\n\t\t\t\tt(label)\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/* render filtered menu section using the menu templates */\nexport const FilteredResults = ({\n\tid,\n\tlabel,\n\tfilteredMenuData,\n\tanimationsEnabled,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tdispatch,\n\ttoggleType,\n\tsuperFilterFavoritesOpen,\n\tsuperFilterOtherOpen,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\tconst isSectionOpen =\n\t\ttoggleType === NO_TOGGLE ||\n\t\t(toggleType === TOGGLE_OTHER_RESULTS && superFilterOtherOpen) ||\n\t\t(toggleType == TOGGLE_FAVORITE_RESULTS && superFilterFavoritesOpen);\n\treturn (\n\t\t<Fragment>\n\t\t\t<ResultsSubheader\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tlabel={label}\n\t\t\t\ttoggleType={toggleType}\n\t\t\t\tisOpen={isSectionOpen}\n\t\t\t/>\n\t\t\t{filteredMenuData.matchingItems === 0 ? (\n\t\t\t\t<div\n\t\t\t\t\tid={id}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'no-results-text': true,\n\t\t\t\t\t\t'results-section': true,\n\t\t\t\t\t\t'section-open': isSectionOpen\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('No Results')}\n\t\t\t\t<\/div>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tid={id}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'results-section': true,\n\t\t\t\t\t\t'section-open': isSectionOpen\n\t\t\t\t\t}}>\n\t\t\t\t\t<MenuBody\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tmenu={filteredMenuData}\n\t\t\t\t\t\tmatchingItems={filteredMenuData.matchingItems}\n\t\t\t\t\t\ttotalItems={filteredMenuData.totalItems}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\thideScroll\n\t\t\t\t\t\tskipDefer\n\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t<\/Fragment>\n\t);\n};\n\n/* render 'All Results' filtered menu section using the All Menu Tempalte */\nexport const AllResults = ({\n\topen,\n\tfullMenuData,\n\tanimationsEnabled,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\tif (fullMenuData.matchingItems === 0) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'no-results-text': true,\n\t\t\t\t\t'results-section': true,\n\t\t\t\t\t'section-open': true\n\t\t\t\t}}>\n\t\t\t\t{t('No Results')}\n\t\t\t<\/div>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<TreeMenu\n\t\t\t\topen={open}\n\t\t\t\tmenu={fullMenuData}\n\t\t\t\tmatchingItems={fullMenuData.matchingItems}\n\t\t\t\ttotalItems={fullMenuData.totalItems}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\thideScroll\n\t\t\t\tskipDefer\n\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t/>\n\t\t);\n\t}\n};\n\n/* \n    Render simple layout showing filtered results which includes just 'all results' header, favorites and all results section \n    This layout is used for All and Favorites menus\n*/\nexport const SimpleFilteredResults = ({\n\tmenu,\n\tcurrentMenuData,\n\tfavoritesMenuData,\n\tfullMenuData,\n\tanimationsEnabled,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tallResultsOpen,\n\tdispatch,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{/* Filtered results from current menu */}\n\t\t\t{menu.id !== MENU_ALL && menu.id !== MENU_FAVORITES ? (\n\t\t\t\t<FilteredResults\n\t\t\t\t\tid=\"currentResults\"\n\t\t\t\t\tlabel={t('{0} Results', menu.label)}\n\t\t\t\t\tfilteredMenuData={currentMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\ttoggleType={NO_TOGGLE}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t{/* Filtered results for Favorites Section */}\n\t\t\t<FilteredResults\n\t\t\t\tid=\"favoriteResults\"\n\t\t\t\tlabel={'Favorites'}\n\t\t\t\tfilteredMenuData={favoritesMenuData}\n\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\ttoggleType={NO_TOGGLE}\n\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t/>\n\n\t\t\t{/* All filtered menu items section */}\n\t\t\t<hr />\n\t\t\t<AllResultsHeader dispatch={dispatch} canToggle={menu.id !== MENU_ALL} />\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'all-results-section': true,\n\t\t\t\t\t'section-open': allResultsOpen,\n\t\t\t\t\t'results-section': true\n\t\t\t\t}}>\n\t\t\t\t<AllResults\n\t\t\t\t\topen={allResultsOpen}\n\t\t\t\t\tfullMenuData={fullMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n\n/*\n    Render extended filter results which include current filtered menu, all results header followed by favorites filtered results and finally all results section\n    This is used for any menu other the All and Favories\n*/\nexport const FullFilteredResults = ({\n\tmenu,\n\tcurrentMenuData,\n\tfavoritesMenuData,\n\tfullMenuData,\n\tanimationsEnabled,\n\tsearchTerm,\n\tfilterMethod,\n\tshouldOpenUI16TabsInsidePolaris,\n\tallResultsOpen,\n\tdispatch,\n\tsuperFilterFavoritesOpen,\n\tsuperFilterOtherOpen,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{/* Filtered results from current menu */}\n\t\t\t{menu.id !== MENU_ALL && menu.id !== MENU_FAVORITES ? (\n\t\t\t\t<FilteredResults\n\t\t\t\t\tid=\"currentResults\"\n\t\t\t\t\tlabel={t('{0} Results', menu.label)}\n\t\t\t\t\tfilteredMenuData={currentMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\ttoggleType={NO_TOGGLE}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t{/* All filtered menu items section */}\n\t\t\t<hr />\n\t\t\t<AllResultsHeader dispatch={dispatch} canToggle={menu.id !== MENU_ALL} />\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'all-results-section': true,\n\t\t\t\t\t'all-results-open': !allResultsOpen\n\t\t\t\t}}>\n\t\t\t\t{/* Filtered results for Favorites Section */}\n\t\t\t\t<FilteredResults\n\t\t\t\t\tid=\"favoriteResults\"\n\t\t\t\t\tlabel={'Favorites'}\n\t\t\t\t\tfilteredMenuData={favoritesMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\ttoggleType={TOGGLE_FAVORITE_RESULTS}\n\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\n\t\t\t\t<ResultsSubheader\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tlabel=\"Other\"\n\t\t\t\t\ttoggleType={TOGGLE_OTHER_RESULTS}\n\t\t\t\t\tisOpen={superFilterOtherOpen}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tid=\"otherResults\"\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'results-section': true,\n\t\t\t\t\t\t'section-open': superFilterOtherOpen\n\t\t\t\t\t}}>\n\t\t\t\t\t<AllResults\n\t\t\t\t\t\topen={allResultsOpen}\n\t\t\t\t\t\tfullMenuData={fullMenuData}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\tallResultsOpen={allResultsOpen}\n\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n","import {IFRAME_NAVIGATION_START} from '../../../../behaviors/core-ui-iframe-behavior/actions';\nimport {\n\tCLASSIC,\n\tNAV_ITEM_SELECTED,\n\tPOLARIS_CONTEXT\n} from '../../../../constants';\nimport {CLOSE_MENUS} from '../../../sn-polaris-layout/actions';\nimport {CLICK_FIRST_FILTERED_NAV_ITEM} from '../../actions';\n\nconst replace = (from, to) => (val) => val.replace(from, to);\nconst makeConfigUrl = (from, to) => (val) => {\n\tval = replace(from, to)(val);\n\tconst url = new URL('/personalize_all.do', window.location);\n\turl.searchParams.set('sysparm_rules_table', val);\n\turl.searchParams.set('sysparm_rules_label', val);\n\n\treturn `${url.pathname.substring(1)}${url.search}`;\n};\n\nconst makeBuilderUrl = (from, to) => (val) => {\n\tval = replace(from, to)(val);\n\n\tconst PAGEMAPPING = {\n\t\t'.builder': 'fields',\n\t\t'.BUILDER': 'fields',\n\t\t'.view': 'views',\n\t\t'.VIEW': 'views',\n\t\t'.flow': 'flows',\n\t\t'.FLOW': 'flows',\n\t\t'.sheet': 'tables',\n\t\t'.SHEET': 'tables'\n\t};\n\tconst url = new URL(\n\t\t`/now/build/form/main/params/table/${val}/view/Default view/page/${\n\t\t\tPAGEMAPPING[from]\n\t\t}`,\n\t\twindow.location.origin\n\t);\n\treturn url.toString().substring(window.location.origin.length + 1);\n};\n\nconst createClassicRoute = (targetMapper = (v) => v) => (value) => ({\n\troute: 'classic',\n\tparams: {\n\t\ttarget: addNoStack(targetMapper(value).toLowerCase())\n\t},\n\tcontext: POLARIS_CONTEXT\n});\n\nconst createExternalRoute = (targetMapper = (v) => v) => (value) => ({\n\texternal: {\n\t\turl: addNoStack(targetMapper(value).toLowerCase())\n\t}\n});\n\nconst COMMAND_MAPPING = {\n\t'.form': createClassicRoute(replace('.form', '.do?sys_id=-1')),\n\t'.FORM': createExternalRoute(replace('.FORM', '.do?sys_id=-1')),\n\t'.filter': createClassicRoute(\n\t\treplace('.filter', '_list.do?sysparm_filter_only=true')\n\t),\n\t'.FILTER': createExternalRoute(\n\t\treplace('.FILTER', '_list.do?sysparm_filter_only=true')\n\t),\n\t'.list': createClassicRoute(replace('.list', '_list.do')),\n\t'.LIST': createExternalRoute(replace('.LIST', '_list.do')),\n\t'.config': createClassicRoute(makeConfigUrl('.config', '')),\n\t'.CONFIG': createExternalRoute(makeConfigUrl('.CONFIG', '')),\n\t'.DO': createExternalRoute(replace('.DO', '.do?sys_id=-1')),\n\t'.do': createClassicRoute(replace('.do', '.do?sys_id=-1')),\n\t'.builder': createClassicRoute(makeBuilderUrl('.builder', '')),\n\t'.BUILDER': createExternalRoute(makeBuilderUrl('.BUILDER', '')),\n\t'.view': createClassicRoute(makeBuilderUrl('.view', '')),\n\t'.VIEW': createExternalRoute(makeBuilderUrl('.VIEW', '')),\n\t'.flow': createClassicRoute(makeBuilderUrl('.flow', '')),\n\t'.FLOW': createExternalRoute(makeBuilderUrl('.FLOW', '')),\n\t'.sheet': createClassicRoute(makeBuilderUrl('.sheet', '')),\n\t'.SHEET': createExternalRoute(makeBuilderUrl('.SHEET', ''))\n};\n\n// Clear the stack when navigating via shortcut\nconst addNoStack = (url) => {\n\tif (url.indexOf('?') == -1) return url + '?sysparm_clear_stack=true';\n\telse if (\n\t\turl.search(\n\t\t\t/sysparm_nostack|sysparm_nameofstack|sysparm_clear_stack|sysparm_stack|sysparm_stack0/\n\t\t) == -1\n\t) {\n\t\treturn url + '&sysparm_clear_stack=true';\n\t} else if (url.indexOf('?sys_id') != -1) {\n\t\tconst lastIndex = url.lastIndexOf('?');\n\t\treturn url.slice(0, lastIndex) + '&' + url.slice(lastIndex + 1);\n\t}\n\n\treturn url;\n};\n\nexport const makeNavigationFromCommand = (value) => {\n\t// Use URL to help parsing commands with query params, e.g. incident.do?sys_id=...\n\tconst url = new URL(value, 'http://test');\n\t// pathname is the command without query params\n\t// so for incident.do?sys_id=.., it'd be 'incident.do'\n\tconst searchTerm = url.pathname.substring(1);\n\n\tconst command = searchTerm.substring(searchTerm.lastIndexOf('.'));\n\tconst handler = COMMAND_MAPPING[command];\n\n\tif (!handler) return false;\n\n\tconst target = `${searchTerm.trim()}${url.search.trim()}`;\n\treturn handler(target);\n};\n\nexport default ({\n\taction: {\n\t\tpayload: {searchTerm, filteredMenu}\n\t},\n\tdispatch,\n\thost,\n\tproperties: {menu},\n\tupdateState\n}) => {\n\tlet navItem = {};\n\n\tif (filteredMenu.matchingItems && filteredMenu.matchingItems > 0) {\n\t\tdispatch(CLICK_FIRST_FILTERED_NAV_ITEM);\n\t} else {\n\t\tnavItem = makeNavigationFromCommand(searchTerm);\n\n\t\tif (!navItem) return;\n\t\tif (navItem.route === CLASSIC) {\n\t\t\tdispatch(IFRAME_NAVIGATION_START, {\n\t\t\t\ttime: performance.now()\n\t\t\t});\n\t\t}\n\n\t\tconst input = host.shadowRoot.querySelector('input.navigation-filter');\n\t\tif (input) input.value = '';\n\n\t\tdispatch(NAV_ITEM_SELECTED, navItem);\n\t\tdispatch(CLOSE_MENUS);\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'searchTerm',\n\t\t\t\tvalue: '',\n\t\t\t\toperation: 'set'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'filteredMenu',\n\t\t\t\tvalue: menu,\n\t\t\t\toperation: 'set'\n\t\t\t}\n\t\t]);\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {executeFilter} from '@devsnc/unav-utils';\nimport {METRICS} from '../../../../constants';\n\nimport {\n\tFILTER_SEARCH_UPDATED,\n\tNAVIGATION_REQUESTED,\n\tFOCUS_FIRST_FILTERED_NAV_ITEM,\n\tCLICK_FIRST_FILTERED_NAV_ITEM,\n\tSN_DRILLDOWN_SET\n} from '../../actions';\nimport {CLOSE_MENUS} from '../../../sn-polaris-layout/actions';\n\nimport track from '../../../../utils/track';\nimport handleNavigation from './handle-navigation-command';\nimport getMenuType from '../../../../utils/menuUtils';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst findFirstHighlightedNavItem = (coeffects) => {\n\tconst {\n\t\thost,\n\t\tstate: {properties}\n\t} = coeffects;\n\tconst {menu} = properties;\n\tlet firstList = null;\n\tlet navItem = null;\n\tif (menu.template === 'historyList') {\n\t\tfirstList = host.shadowRoot.querySelectorAll('.sn-history-menu')[0];\n\t\tnavItem = firstList.querySelector('.highlighted-item');\n\t\tif (!navItem) {\n\t\t\tnavItem = firstList.querySelector('.menu-item-link');\n\t\t}\n\t} else {\n\t\tfirstList = host.shadowRoot.querySelectorAll('sn-collapsible-list')[0];\n\t\tnavItem = firstList.shadowRoot.querySelector('.highlighted-item');\n\t\tif (!navItem) {\n\t\t\tconst firstInnerList = firstList.shadowRoot.querySelectorAll(\n\t\t\t\t'sn-collapsible-list'\n\t\t\t)[0];\n\t\t\tnavItem = firstInnerList?.shadowRoot.querySelector('.highlighted-item');\n\t\t}\n\t\t// if the menu item has a collapsed parent, we cant nav down to it with a keyboard. So\n\t\t// we'll just nav down to first item in the menu\n\t\tif (\n\t\t\tnavItem?.parentElement?.parentElement?.classList.contains('is-collapsed')\n\t\t) {\n\t\t\tnavItem = null;\n\t\t}\n\t}\n\n\treturn navItem;\n};\n\nexport const executeSuperFilter = (\n\tmenu,\n\tsearchTerm,\n\tfilterMethod,\n\tskipHighlight\n) => {\n\treturn executeFilter({menu, searchTerm, filterMethod, skipHighlight});\n};\n\nconst handleMenuFiltering = (coeffects) => {\n\tlet {\n\t\taction: {\n\t\t\tpayload: {searchTerm}\n\t\t},\n\t\tdispatch,\n\t\tproperties: {menu, filterMethod, drilledMenu},\n\t\tstate,\n\t\tupdateState\n\t} = coeffects;\n\n\t// Only start filtering with 2 chars\n\tif (searchTerm?.trim().length === 1) {\n\t\tif (state.searchTerm) {\n\t\t\tsearchTerm = '';\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tconst isSingleMenu = !menu?.subItems?.some((i) => !!i.template);\n\n\tconst targetMenu =\n\t\tmenu.template === 'overflow' && !isSingleMenu\n\t\t\t? menu.subItems.find(({id}) => id === drilledMenu.id)\n\t\t\t: menu;\n\tconst targetMenuState = drilledMenu ? 'drilledMenu' : 'filteredMenu';\n\n\tif (targetMenu.id) {\n\t\tconst metadata = {\n\t\t\tmenuName: targetMenu.label,\n\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\tmenuType: getMenuType(targetMenu.id)\n\t\t};\n\n\t\tdispatch(FILTER_MENU_EVENT_TRACKED, {metadata});\n\t}\n\n\tconst filteredMenu = executeFilter({\n\t\tmenu: targetMenu,\n\t\tsearchTerm,\n\t\tfilterMethod\n\t});\n\n\tif (targetMenuState === 'drilledMenu') {\n\t\tdispatch(SN_DRILLDOWN_SET, {menu: filteredMenu});\n\t}\n\n\tupdateState({\n\t\tsearchTerm,\n\t\t[targetMenuState]: filteredMenu\n\t});\n};\n\nconst FILTER_MENU_EVENT_TRACKED = 'FILTER_BEHAVIOR#FILTER_MENU_EVENT_TRACKED';\nconst trackFilterMenuEvent = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {metadata}\n\t\t}\n\t} = coeffects;\n\n\ttrack(coeffects, METRICS.FILTER_MENU, metadata);\n};\n\nexport default {\n\tname: 'NAV_FILTER_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t},\n\t\t\tproperties: {filterMethod},\n\t\t\tstate: {searchTerm},\n\t\t\tupdateState\n\t\t}) {\n\t\t\tif (name === 'menu') {\n\t\t\t\tconst filterValue = executeFilter({\n\t\t\t\t\tmenu: value,\n\t\t\t\t\tsearchTerm,\n\t\t\t\t\tfilterMethod\n\t\t\t\t});\n\t\t\t\tif (filterValue !== null) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tfilteredMenu: filterValue\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[FILTER_SEARCH_UPDATED]: {\n\t\t\teffect: handleMenuFiltering,\n\t\t\tmodifier: {name: 'debounce', delay: 200},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NAVIGATION_REQUESTED]: {\n\t\t\teffect: handleNavigation,\n\t\t\tmodifier: {name: 'debounce', delay: 200},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FILTER_MENU_EVENT_TRACKED]: {\n\t\t\teffect: trackFilterMenuEvent,\n\t\t\tmodifier: {name: 'debounce', delay: 1000},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FOCUS_FIRST_FILTERED_NAV_ITEM]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {host, state, updateState} = coeffects;\n\n\t\t\t\tconst targetMenuState = state.drilledMenu\n\t\t\t\t\t? 'drilledMenu'\n\t\t\t\t\t: 'filteredMenu';\n\n\t\t\t\tconst navItem = findFirstHighlightedNavItem(coeffects);\n\n\t\t\t\tif (navItem) {\n\t\t\t\t\tnavItem.focus();\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\t[targetMenuState]: {\n\t\t\t\t\t\t\t...state[targetMenuState],\n\t\t\t\t\t\t\tfirstFilteredNavItem: null\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// if a highlighted nav item was not found, just jump to the first list item instead\n\t\t\t\t\tconst firstList = host.shadowRoot.querySelector(\n\t\t\t\t\t\t'sn-collapsible-list'\n\t\t\t\t\t);\n\t\t\t\t\tfirstList.shadowRoot\n\t\t\t\t\t\t.querySelector('.snf-collapsible-list-header-button')\n\t\t\t\t\t\t.focus();\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\t[targetMenuState]: {\n\t\t\t\t\t\t\t...state[targetMenuState],\n\t\t\t\t\t\t\tfirstFilteredNavItem: null\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: false\n\t\t},\n\t\t[CLICK_FIRST_FILTERED_NAV_ITEM]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst navItem = findFirstHighlightedNavItem(coeffects);\n\t\t\t\tconst {dispatch} = coeffects;\n\n\t\t\t\tif (navItem) {\n\t\t\t\t\tnavItem.click();\n\t\t\t\t\tdispatch(CLOSE_MENUS);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: false\n\t\t}\n\t}\n};\n","// canEdit is passed to the function based on whether the top level menu\n// has edit functionality for its subItems. Then it returns a function that sets\n// the same value of canEdit on the subItems of the menu and recurses through the\n\nimport {MENU_ALL, MENU_FAVORITES, MENU_HISTORY} from '../../../constants';\nimport {executeSuperFilter} from '../behaviors/filter';\nimport {t} from 'sn-translate';\n\n// subItems of subItems until all menu items have `canEdit` to match the top level menu\nexport const setCanEdit = (canEdit) => (menu) => ({\n\t...menu,\n\tcanEdit,\n\t...(menu.subItems?.length > 0\n\t\t? {subItems: menu.subItems.map(setCanEdit(canEdit))}\n\t\t: {})\n});\n\nexport const getSuperFilterResults = ({\n\theaderMenuItems,\n\tfilterMethod,\n\tsearchTerm,\n\tmenu\n}) => {\n\t// collect favorites menu data from headerMenuItems\n\tconst favoritesMenuItems = headerMenuItems.find(\n\t\t(menuItem) => menuItem.id === MENU_FAVORITES\n\t);\n\t// collect menu data for all menus other then favs and history from headerMenuItems\n\tconst fullMenuItems = headerMenuItems.filter(\n\t\t({id}) =>\n\t\t\tid !== MENU_FAVORITES && id !== MENU_HISTORY && id !== 'nav-overflow'\n\t);\n\tlet joinMenuItems = []; // placeholder array to join subitems from fullMenuItems\n\n\t// create joined array of subitems from each menu in fullMenuItems\n\t// DEF0651735: Skip empty subItems so that open and loaded menu is still searchable\n\tfullMenuItems.forEach((menu) => {\n\t\tif (menu.subItems?.length) {\n\t\t\tjoinMenuItems = joinMenuItems.concat(\n\t\t\t\tmenu.subItems.map(setCanEdit(menu.canEdit))\n\t\t\t);\n\t\t}\n\t});\n\n\t// create menu data for filtered current menu section\n\tconst currentMenuData = executeSuperFilter(\n\t\t{\n\t\t\tid: menu.id,\n\t\t\tsubItems: menu.subItems,\n\t\t\ttemplate: menu.template,\n\t\t\tisGroup: true\n\t\t},\n\t\tsearchTerm,\n\t\tfilterMethod\n\t);\n\n\t// create menu data for filtered favorites section\n\tconst favoritesMenuData = executeSuperFilter(\n\t\t{\n\t\t\tid: MENU_FAVORITES,\n\t\t\tsubItems: favoritesMenuItems?.subItems,\n\t\t\ttemplate: 'tree',\n\t\t\tisGroup: true\n\t\t},\n\t\tsearchTerm,\n\t\tfilterMethod,\n\t\tcurrentMenuData.matchingItems > 0 &&\n\t\t\tmenu.id !== MENU_ALL &&\n\t\t\tmenu.id !== MENU_FAVORITES\n\t);\n\n\t// create menu data for all filtered results secton\n\tconst fullMenuData = executeSuperFilter(\n\t\t{\n\t\t\tid: MENU_ALL,\n\t\t\tlabel: t('All Results'),\n\t\t\tsubItems: joinMenuItems,\n\t\t\ttemplate: 'tree',\n\t\t\topen: menu.id === MENU_ALL\n\t\t},\n\t\tsearchTerm,\n\t\tfilterMethod,\n\t\tcurrentMenuData.matchingItems > 0 && favoritesMenuData.matchingItems > 0\n\t);\n\n\treturn {fullMenuData, favoritesMenuData, currentMenuData};\n};\n","import {MENU_ALL, MENU_FAVORITES} from '../../../constants';\nimport {SimpleFilteredResults, FullFilteredResults} from './fragments';\nimport {getSuperFilterResults} from './super-filter.utils';\n\n/**\n *\n * Simple View to handle displaying extended menu filter results which can include the current menu\n * as well as items from other menus suchs as Favorites.\n *\n */\nexport const SuperFilter = ({\n\tdispatch,\n\tmenu,\n\tsearchTerm,\n\tfilterMethod,\n\theaderMenuItems = [],\n\tallResultsOpen,\n\tanimationsEnabled,\n\tshouldOpenUI16TabsInsidePolaris,\n\tsuperFilterFavoritesOpen,\n\tsuperFilterOtherOpen,\n\tshowHiddenControls,\n\tpreventHighlight\n}) => {\n\tconst {\n\t\tfullMenuData,\n\t\tfavoritesMenuData,\n\t\tcurrentMenuData\n\t} = getSuperFilterResults({headerMenuItems, searchTerm, filterMethod, menu});\n\n\t/* if there are no results in the favorites section, then automatically show all results */\n\tconst forceAllResultsOpen =\n\t\t(menu.id === MENU_ALL || menu.id === MENU_FAVORITES) &&\n\t\t(favoritesMenuData && favoritesMenuData.matchingItems === 0);\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'super-filter-container': true,\n\t\t\t\t'all-results-open': allResultsOpen || forceAllResultsOpen\n\t\t\t}}>\n\t\t\t{menu.id === MENU_ALL || menu.id === MENU_FAVORITES ? (\n\t\t\t\t<SimpleFilteredResults\n\t\t\t\t\tmenu={menu}\n\t\t\t\t\tcurrentMenuData={currentMenuData}\n\t\t\t\t\tfavoritesMenuData={favoritesMenuData}\n\t\t\t\t\tfullMenuData={fullMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tallResultsOpen={\n\t\t\t\t\t\tmenu.id === MENU_ALL || allResultsOpen || forceAllResultsOpen\n\t\t\t\t\t}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<FullFilteredResults\n\t\t\t\t\tmenu={menu}\n\t\t\t\t\tcurrentMenuData={currentMenuData}\n\t\t\t\t\tfavoritesMenuData={favoritesMenuData}\n\t\t\t\t\tfullMenuData={fullMenuData}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\tallResultsOpen={menu.id === MENU_ALL || allResultsOpen}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import {SN_DRILLDOWN_LIST_TOGGLE} from '../actions';\n\nexport const actionHandlers = {\n\t[SN_DRILLDOWN_LIST_TOGGLE]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {updateState} = coeffects;\n\n\t\t\tupdateState({\n\t\t\t\tsearchTerm: ''\n\t\t\t});\n\t\t}\n\t}\n};\n","import '@servicenow/now-loader';\n\nexport default () => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-loader-menu': true\n\t\t\t}}>\n\t\t\t<now-loader />\n\t\t<\/div>\n\t);\n};\n","import {View as TreeMenu} from '../sn-menu-template-all';\nimport {View as HistoryMenu} from '../sn-menu-template-history';\nimport {View as OverflowMenu} from '../sn-menu-template-overflow';\nimport {View as LoaderMenu} from '../sn-menu-template-loader';\n\nexport const TEMPLATE_MAP = {\n\ttree: TreeMenu,\n\thistoryList: HistoryMenu,\n\toverflow: OverflowMenu,\n\tloader: LoaderMenu\n};\n\nexport const resolveTemplate = (template) => TEMPLATE_MAP[template] || TreeMenu;\n\n/**\n * Render the proper menu based off of the template\n */\nexport const MenuBody = (props) => {\n\tif (!props.menu) return null;\n\n\tconst templateProps = {\n\t\t...props,\n\t\tmenu: {...props.menu}\n\t};\n\n\tconst Template = props.isLoading\n\t\t? TEMPLATE_MAP.loader\n\t\t: resolveTemplate(templateProps.menu.template);\n\n\treturn <Template {...templateProps} />;\n};\n","import '@servicenow/now-icon';\nimport '../sn-drilldown-list';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tFILTER_SEARCH_UPDATED,\n\tNAVIGATION_REQUESTED,\n\tSN_DRILLDOWN_LIST_TOGGLE,\n\tFOCUS_FIRST_FILTERED_NAV_ITEM\n} from '../actions';\n\nimport {MAIN_MENU_PINNED} from '../../sn-polaris-layout/actions';\nimport {FAVORITE_EDIT_MODAL_REQUESTED} from '../../sn-polaris-layout/favorite-edit-modal/actions';\n\nimport {t} from 'sn-translate';\nimport {FilterInput} from '../../filter-input';\nimport {PinButton} from '../fragments/button-fragments';\nimport {MenuBody} from '../utils/template-map';\nimport {isNil} from 'lodash';\nimport createInteractionHandlers from '../../../utils/createInteractionHandlers';\nimport {SuperFilter} from '../super-filter';\nimport {\n\tgetBooleanProperty,\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {\n\tMENU_FAVORITES,\n\tMENU_ALL,\n\tSYS_PROPS,\n\tREFLOW_BREAKPOINTS\n} from '../../../constants';\nimport {renderLeafIcon} from '../../../utils/renderDirtyWorkspaceIcon';\nimport {ExperienceTitlePill} from '../../sn-polaris-layout/fragments/experience-title-pill';\nimport {SN_DRILLDOWN_LIST_SOURCES} from '../sn-drilldown-list/constants';\n\nexport default ({\n\tanimationsEnabled,\n\tdrilledMenu,\n\tdir,\n\tdispatch,\n\tinputHasFocus,\n\tmenu,\n\tobserver,\n\tsearchTerm,\n\tupdateState,\n\tmenuState = {},\n\tisPrimary,\n\tfilterMethod,\n\tuseSuperFilter,\n\theaderMenuItems,\n\tallResultsOpen,\n\tsuperFilterFavoritesOpen,\n\tsuperFilterOtherOpen,\n\tshouldOpenUI16TabsInsidePolaris,\n\tshowHiddenControls,\n\tpageLabel,\n\tisPolarisEnabled,\n\tselectedContentFavorite,\n\tfavoriteSR,\n\tfavoriteTooltip,\n\ttempFavoriteStarFill,\n\twindowSize\n}) => {\n\tconst isSingleMenu = !menu?.subItems?.some((i) => !!i.template);\n\tconst activeMenuId = !isNil(drilledMenu) ? drilledMenu.id : menu.subId;\n\tconst isSuperFilterOpen = searchTerm?.length >= 2 && useSuperFilter;\n\n\tconst OverflowMenuHeader = () => (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-polaris-nav-header-container': true,\n\t\t\t\t'is-drilled': drilledMenu ? true : false,\n\t\t\t\t'can-animate': animationsEnabled\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-header': true,\n\t\t\t\t\t'is-drilled': drilledMenu ? true : false,\n\t\t\t\t\t'is-single': isSingleMenu,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}\n\t\t\t\ttabIndex={isDrilled ? 0 : -1}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={t('Back to menus')}\n\t\t\t\t{...createInteractionHandlers(() => {\n\t\t\t\t\tdispatch(SN_DRILLDOWN_LIST_TOGGLE, {\n\t\t\t\t\t\tdrilled: false,\n\t\t\t\t\t\tsource: SN_DRILLDOWN_LIST_SOURCES.MAIN_OVERFLOW_MENU,\n\t\t\t\t\t\titem: drilledMenu\n\t\t\t\t\t});\n\t\t\t\t})}>\n\t\t\t\t{drilledMenu ? (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon={`chevron-${dir === 'rtl' ? 'right' : 'left'}-outline`}\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"menu-item-with-icon\">\n\t\t\t\t\t\t\t{drilledMenu.icon\n\t\t\t\t\t\t\t\t? renderLeafIcon(\n\t\t\t\t\t\t\t\t\t\tdrilledMenu.icon,\n\t\t\t\t\t\t\t\t\t\tdrilledMenu,\n\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-icon',\n\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t{drilledMenu.label}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t) : null}\n\t\t\t\t{isSingleMenu ? (\n\t\t\t\t\t<span className=\"menu-item-with-icon\">\n\t\t\t\t\t\t{menu.icon\n\t\t\t\t\t\t\t? renderLeafIcon(\n\t\t\t\t\t\t\t\t\tmenu.icon,\n\t\t\t\t\t\t\t\t\tmenu,\n\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-icon',\n\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t{menu?.label}\n\t\t\t\t\t<\/span>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\n\t\t\t{!isNil(drilledMenu) && drilledMenu.id === MENU_FAVORITES ? (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\t\tpencil: true\n\t\t\t\t\t}}>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t\t\tfavorites: drilledMenu.id === MENU_FAVORITES\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-label={t('Edit your favorites')}\n\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\tdispatch(FAVORITE_EDIT_MODAL_REQUESTED, {\n\t\t\t\t\t\t\t\tmenu: drilledMenu\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t<now-icon icon=\"pencil-page-outline\" size=\"md\" />\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\tpin: true\n\t\t\t\t}}>\n\t\t\t\t<PinButton\n\t\t\t\t\tmenu={menu}\n\t\t\t\t\tmenuState={{\n\t\t\t\t\t\tisPrimary,\n\t\t\t\t\t\t// TODO: fix overflow pinning\n\t\t\t\t\t\tprimaryMenuId: isPrimary ? activeMenuId : menuState.primaryMenuId,\n\t\t\t\t\t\tsecondaryMenuId: !isPrimary\n\t\t\t\t\t\t\t? activeMenuId\n\t\t\t\t\t\t\t: menuState.secondaryMenuId,\n\n\t\t\t\t\t\tdoPinning: true\n\t\t\t\t\t}}\n\t\t\t\t\tpinEventName={MAIN_MENU_PINNED}\n\t\t\t\t\tisPrimary={isPrimary}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tisWideMenu={false}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n\n\tconst {matchingItems} = drilledMenu || {};\n\tconst isDrilled = drilledMenu || isSingleMenu;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-overflow-menu': true\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-tab-content': true,\n\t\t\t\t\t'-left': true,\n\t\t\t\t\t'is-visible': true,\n\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t}}>\n\t\t\t\t{!isDrilled &&\n\t\t\t\twindowSize.width !== -1 &&\n\t\t\t\twindowSize.width < REFLOW_BREAKPOINTS.HIDE_CENTER_PILL ? (\n\t\t\t\t\t<div className=\"overflow-pill-header\">\n\t\t\t\t\t\t<ExperienceTitlePill\n\t\t\t\t\t\t\tpageLabel={pageLabel}\n\t\t\t\t\t\t\tisPolarisEnabled={isPolarisEnabled}\n\t\t\t\t\t\t\tselectedContentFavorite={selectedContentFavorite}\n\t\t\t\t\t\t\tfavoriteSR={favoriteSR}\n\t\t\t\t\t\t\tfavoriteTooltip={favoriteTooltip}\n\t\t\t\t\t\t\ttempFavoriteStarFill={tempFavoriteStarFill}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tisInMenu\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t{isDrilled ? <OverflowMenuHeader /> : <div />}\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-polaris-overflow-body': true,\n\t\t\t\t\t\t'is-drilled': isDrilled,\n\t\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t\t'is-drilldown-list': !isDrilled\n\t\t\t\t\t}}>\n\t\t\t\t\t{isDrilled ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'sn-polaris-nav-header': true,\n\t\t\t\t\t\t\t\t[menu.id]: true,\n\t\t\t\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdata-id={`menu-header-${menu.id}`}>\n\t\t\t\t\t\t\t<FilterInput\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\thasFocus={inputHasFocus}\n\t\t\t\t\t\t\t\tmenu={isSingleMenu ? menu : drilledMenu}\n\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tgetBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\tSYS_PROPS.UI\n\t\t\t\t\t\t\t\t\t\t\t\t.NEXT_EXPERIENCE_NAV_FILTER_SINGLE_CLICK_ENABLED\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tevent.target.select();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tupdateState({inputHasFocus: true});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonBlur={() => updateState({inputHasFocus: false})}\n\t\t\t\t\t\t\t\tonInput={(e) => {\n\t\t\t\t\t\t\t\t\tconst searchTerm = e.composedPath()[0].value;\n\t\t\t\t\t\t\t\t\tdispatch(FILTER_SEARCH_UPDATED, {\n\t\t\t\t\t\t\t\t\t\tsearchTerm\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\tswitch (e.key) {\n\t\t\t\t\t\t\t\t\t\tcase 'Enter':\n\t\t\t\t\t\t\t\t\t\t\tdispatch(NAVIGATION_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\t\t\tsearchTerm: e.composedPath()[0].value,\n\t\t\t\t\t\t\t\t\t\t\t\tfilteredMenu: isSingleMenu ? menu : drilledMenu\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\t\t\t\t\t\t\tif (matchingItems && matchingItems > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(FOCUS_FIRST_FILTERED_NAV_ITEM);\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonInputClear={() => {\n\t\t\t\t\t\t\t\t\tdispatch(FILTER_SEARCH_UPDATED, {searchTerm: ''});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{drilledMenu ? (\n\t\t\t\t\t\tisSuperFilterOpen ? (\n\t\t\t\t\t\t\t<SuperFilter\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tmenu={drilledMenu}\n\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\theaderMenuItems={headerMenuItems}\n\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={\n\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallResultsOpen={allResultsOpen || drilledMenu.id === MENU_ALL}\n\t\t\t\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<MenuBody\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tmenu={drilledMenu}\n\t\t\t\t\t\t\t\tmatchingItems={drilledMenu.matchingItems}\n\t\t\t\t\t\t\t\ttotalItems={drilledMenu.totalItems}\n\t\t\t\t\t\t\t\tcanMove={false}\n\t\t\t\t\t\t\t\tobserver={observer}\n\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : menu?.subItems ? (\n\t\t\t\t\t\tisSingleMenu ? (\n\t\t\t\t\t\t\tisSuperFilterOpen ? (\n\t\t\t\t\t\t\t\t<SuperFilter\n\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\tmenu={{\n\t\t\t\t\t\t\t\t\t\t...menu,\n\t\t\t\t\t\t\t\t\t\tid: menu.subId,\n\t\t\t\t\t\t\t\t\t\ttemplate: menu.subTemplate\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t\theaderMenuItems={headerMenuItems}\n\t\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={\n\t\t\t\t\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tallResultsOpen={allResultsOpen}\n\t\t\t\t\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<MenuBody\n\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\tmenu={{\n\t\t\t\t\t\t\t\t\t\t...menu,\n\t\t\t\t\t\t\t\t\t\tid: menu.subId,\n\t\t\t\t\t\t\t\t\t\ttemplate: menu.subTemplate\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tmatchingItems={menu.matchingItems}\n\t\t\t\t\t\t\t\t\ttotalItems={menu.totalItems}\n\t\t\t\t\t\t\t\t\tcanMove={false}\n\t\t\t\t\t\t\t\t\tobserver={observer}\n\t\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"drilldown-items\">\n\t\t\t\t\t\t\t\t{menu.subItems.map((item) => (\n\t\t\t\t\t\t\t\t\t<sn-drilldown-list\n\t\t\t\t\t\t\t\t\t\tmenu={item}\n\t\t\t\t\t\t\t\t\t\tsource={SN_DRILLDOWN_LIST_SOURCES.MAIN_OVERFLOW_MENU}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","/* istanbul ignore file */\n// ignoring for coverage since this deals mostly with dom\n/**\n * Called when the headerNavigationElemRef property changes.\n * Handles updating the correct sn-polaris-menu components based on the state of menuMenuState.\n * If there was a menu open already when this is called, that is considered the 'previous menu' and this will handle closing it out properly too.\n * 'Previous menu' also gets used to setup the slide into place menu animations.\n * All sn-polaris-menu components on the page will have its 'handleMenuStateChange' method called but only the 'active menu' (the menu the user can see) will  make the actual updates to the page.\n * @param {*} state state of menu component\n * @param {*} host\n * @param {*} propName\n * @param {*} previousValue\n */\nexport default function handleMenuStateChange(\n\tstate,\n\thost,\n\tpropName,\n\tpreviousValue\n) {\n\tconst {\n\t\tproperties: {\n\t\t\tmenu,\n\t\t\tmenuState,\n\t\t\theaderNavigationElemRef,\n\t\t\tisPrimary,\n\t\t\tanimationsEnabled\n\t\t}\n\t} = state;\n\n\tconst menuElementsList = host.parentElement?.querySelectorAll(\n\t\t'sn-polaris-menu'\n\t);\n\n\tconst previousMenu = menuElementsList?.[previousValue] || null;\n\n\t// close menu after second tab click\n\tif (menuState.primaryMenuId === null && previousMenu) {\n\t\thost?.classList.remove('is-open');\n\t\treturn;\n\t}\n\tif (!headerNavigationElemRef || !headerNavigationElemRef.querySelector)\n\t\treturn;\n\n\t// only update the active menu(s)\n\tif (\n\t\tmenu.id === menuState.primaryMenuId ||\n\t\tmenu.id === menuState.secondaryMenuId\n\t) {\n\t\tswitch (propName) {\n\t\t\tcase 'firstLoad':\n\t\t\tcase 'headerNavigationElemRef':\n\t\t\tcase 'menuState': {\n\t\t\t\tif (propName === 'firstLoad') {\n\t\t\t\t\tconst nextNavigationTabElement = headerNavigationElemRef.querySelector(\n\t\t\t\t\t\t`[id='${menu.id}']`\n\t\t\t\t\t);\n\t\t\t\t\tmoveMenu(host, state, nextNavigationTabElement, animationsEnabled);\n\t\t\t\t}\n\n\t\t\t\tconst nextNavigationTabElement = headerNavigationElemRef.querySelector(\n\t\t\t\t\t`[id='${\n\t\t\t\t\t\tisPrimary ? menuState.primaryMenuId : menuState.secondaryMenuId\n\t\t\t\t\t}']`\n\t\t\t\t);\n\t\t\t\tif (previousMenu) {\n\t\t\t\t\tpreviousMenu?.classList.remove('is-open');\n\t\t\t\t}\n\t\t\t\thost?.classList.add('is-open');\n\t\t\t\t// trigger animation\n\t\t\t\tmoveMenu(host, state, nextNavigationTabElement, animationsEnabled);\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} else {\n\t\thost?.classList.remove('is-open');\n\t}\n}\n\n/**\n * Handles moving the main or alt menu so that its centered properly under the active tab in the top navigation.\n * This handles offsetting the visible tab in cases where the menu can not be centered because the tab is near the edge of the page.\n * In those cases we put the menu on the edge of the screen and change the grid template of tab 'grid container' so the tab offsets properly to appear\n * under the selected tab in the top navigation. This will also handle cases where the menu's tab needs to sit right or left flush with the menu body.\n * @param {*} host the sn-polaris-menu element this effect is running in\n * @param {*} state state of host\n * @param {*} navTabElem the element in the top navigation which this menu should align itself to\n * @param {*} canAnimate boolean to toggle if this call will animate or not. Mostly used to quick place menus in the background\n */\nexport const moveMenu = (\n\thost,\n\tstate,\n\tnavTabElem,\n\tcanAnimate,\n\tisContextualMenu = true\n) => {\n\tconst {menuState, menuWidth, isPrimary} = state.properties;\n\n\tconst pinnedMenuLeftMargin = 12; // margin between pinned menu and unpinned menu. This matches the margin in the header for the top nav and is needed for aligning the menu properly to the nav tabs.\n\tconst isRTL = document.dir === 'rtl';\n\tconst hostElement = isContextualMenu\n\t\t? host.shadowRoot.querySelector('nav')\n\t\t: host;\n\n\tif (navTabElem) {\n\t\t// toggle animations on/off as needed\n\t\tif (canAnimate && !hostElement?.classList.contains('can-animate')) {\n\t\t\thostElement?.classList.add('can-animate');\n\t\t} else if (!canAnimate && hostElement?.classList.contains('can-animate')) {\n\t\t\thostElement?.classList.remove('can-animate');\n\t\t}\n\n\t\t// if this the pinned menu, set menu location and be done\n\t\tif (isPrimary && (menuState.isMenuPinned && menuState.canBePinned)) {\n\t\t\tif (isRTL) {\n\t\t\t\thostElement.style.right = `0px`;\n\t\t\t} else {\n\t\t\t\thostElement.style.left = `0px`;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// if this is not a pinned menu, figure out what size and location this menu's tab needs to be\n\t\tconst newMenuWidth = menuWidth + (isPrimary ? 0 : pinnedMenuLeftMargin);\n\t\tconst menuBodyOffset = newMenuWidth / 2;\n\n\t\t// find dimension of the menu item in the top navigation which this menu and it's tab must align themselves up with\n\t\tconst itemRect = {\n\t\t\twidth: navTabElem.offsetWidth,\n\t\t\tx: navTabElem.offsetLeft\n\t\t};\n\t\tconst itemWidth = Math.floor(itemRect.width);\n\t\tconst itemLeft = navTabElem.getAttribute('unpinnedLeft') || itemRect.x;\n\n\t\t// find new location for the menu body\n\t\tlet newMenuStart = itemLeft - menuBodyOffset + itemWidth / 2;\n\n\t\t// if the menu is going to be offscreen, bring it back in and offset menu tab\n\t\tif (newMenuStart < 0) {\n\t\t\tnewMenuStart = 0;\n\t\t} else if (!isPrimary && newMenuStart < newMenuWidth) {\n\t\t\t// if this is a secondary menu and its overlapping the pinned menu, bring it back and offset the menu tab\n\t\t\tnewMenuStart = newMenuWidth;\n\t\t} else if (\n\t\t\tisPrimary &&\n\t\t\tnewMenuStart + newMenuWidth >= document.body.offsetWidth\n\t\t) {\n\t\t\tnewMenuStart = 0;\n\t\t}\n\n\t\t// At this point we are done computing where the menu and tab locations will need to be.\n\t\t// Now do the actual updates on the menu(s)\n\t\t// move menu body to new location\n\t\tif (isRTL) {\n\t\t\thostElement.style.right = `${newMenuStart}px`;\n\t\t} else {\n\t\t\thostElement.style.left = `${newMenuStart}px`;\n\t\t}\n\t}\n};\n","export const findAppMenuId = (appMenus, moduleId) => {\n\treturn appMenus.reduce((foundId, appMenu) => {\n\t\tif (foundId) {\n\t\t\treturn foundId;\n\t\t}\n\t\tconst hasModule = appMenu.subItems?.some(\n\t\t\t(module) =>\n\t\t\t\tmodule.id === moduleId ||\n\t\t\t\tfindMatchingModuleRecursive(module.subItems || [], moduleId)\n\t\t);\n\n\t\treturn hasModule ? appMenu.id : foundId;\n\t}, null);\n};\n\nconst findMatchingModuleRecursive = (menuItems, moduleId) =>\n\tmenuItems?.some(\n\t\t(module) =>\n\t\t\tmodule.id === moduleId ||\n\t\t\tfindMatchingModuleRecursive(module.subItems || [], moduleId)\n\t);\n","import {actionTypes} from '@servicenow/ui-core';\n\nimport {get, isEmpty} from 'lodash';\nimport deepFind from '../../utils/deepFind';\n\nimport {\n\tNAV_ITEM_SELECTED,\n\tMETRICS,\n\tOVERLAY_BEHAVIOR_OPENED_SET,\n\tMENU_ALL,\n\tMENU_WORKSPACES,\n\tPAGE_TITLE_UPDATE_REQUESTED,\n\tCLASSIC,\n\tPOLARIS_CONTEXT\n} from '../../constants';\n\nimport {\n\tNAV_SUB_MENU_ITEM_SELECTED,\n\tNAV_SUB_MENU_ITEM_UNFAVORITED,\n\tNAV_SUB_MENU_ITEM_FAVORITED,\n\tMENU_CONTENT_FOCUSED,\n\tTOGGLE_ALL_RESULTS,\n\tTOGGLE_FAVORITE_RESULTS,\n\tTOGGLE_OTHER_RESULTS,\n\tSN_DRILLDOWN_SET,\n\tCREATE_APP_MENU,\n\tEDIT_MENU_ITEM\n} from './actions';\n\nimport {\n\tLAYOUT_ITEM_FAVORITED,\n\tLAYOUT_ITEM_UNFAVORITED\n} from '../../behaviors/favorites-behavior/actions';\n\nimport {unschedule} from '@servicenow/now-tooltip';\n\nimport track from '../../utils/track';\n\nimport handleMenuStateChange from './utils/handle-menu-state-change';\nimport {MAIN_LOGO_LOADED} from '../sn-polaris-header/actions';\nimport getMenuType from '../../utils/menuUtils';\n\nimport {handleFocusFirstNode} from '@servicenow/behavior-focus';\nimport {CLOSE_MENUS, MAIN_MENU_PINNED} from '../sn-polaris-layout/actions';\nimport {MANUAL_MENU_REFRESH_REQUESTED} from '../../behaviors/menu-modifier-behavior/actions';\nimport getMenuItemHref from '../../utils/getMenuItemHref';\nimport {\n\tgetRouteFromMenuItem,\n\tprepareFavoriteUrl\n} from './sn-polaris-menu.utils';\nimport {IFRAME_NAVIGATION_START} from '../../behaviors/core-ui-iframe-behavior/actions';\nimport {SYS_APP_APPLICATION} from './editMenu/constants';\nimport {findAppMenuId} from '../../utils/findAppMenuId';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_DOM_READY\n} = actionTypes;\n\nexport const actionHandlers = {\n\t[NAV_SUB_MENU_ITEM_SELECTED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: {item}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tproperties: {menu},\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tif (item.route?.route == CLASSIC) {\n\t\t\tdispatch(IFRAME_NAVIGATION_START, {\n\t\t\t\ttime: performance.now()\n\t\t\t});\n\t\t}\n\n\t\tupdateState({preventHighlight: true});\n\t\t// we still use experienceConfigs from the window because there are supported\n\t\t// experiences that are not workspaces.\n\t\tconst experienceConfigs = get(window, 'ux_globals.experienceConfigs', {});\n\n\t\tconst route = getRouteFromMenuItem(item, menu?.id);\n\t\tif (menu?.id === MENU_WORKSPACES) {\n\t\t\tdispatch(PAGE_TITLE_UPDATE_REQUESTED, {label: ''});\n\t\t}\n\t\tconst {searchTerm, closeMenuAction} = state;\n\n\t\tconst menuItem =\n\t\t\tdeepFind(menu, 'subItems', (m) => m.id === item.id, true) || [];\n\n\t\tconst parent = menuItem?.parents;\n\t\tconst path =\n\t\t\tparent?.length > 1\n\t\t\t\t? parent.reduce(\n\t\t\t\t\t\t(acc, p, i) => (i > 1 ? acc + ' -> ' + p.label : p.label),\n\t\t\t\t\t\t''\n\t\t\t\t  ) +\n\t\t\t\t  ' -> ' +\n\t\t\t\t  item.label\n\t\t\t\t: item.label;\n\n\t\tconst metadata = {\n\t\t\tmenuName: menu.label,\n\t\t\tname: path,\n\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\tmenuType: getMenuType(menu.id)\n\t\t};\n\t\tif (item.isDirty) metadata.isUnsaved = true;\n\n\t\ttrack(coeffects, METRICS.SELECT_MENU_ITEM, metadata);\n\t\tif (\n\t\t\t!isEmpty(experienceConfigs) &&\n\t\t\texperienceConfigs[(route?.context?.path)]\n\t\t) {\n\t\t\tdispatch(NAV_ITEM_SELECTED, route, {updatePersistedState: true});\n\t\t} else {\n\t\t\tconst url = getMenuItemHref(item, true);\n\t\t\tconst target = item.route?.external?.target ?? '_blank';\n\t\t\twindow.open(url, target).focus();\n\t\t}\n\t\tdispatch(closeMenuAction);\n\t},\n\t[NAV_SUB_MENU_ITEM_FAVORITED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {payload},\n\t\t\tdispatch,\n\t\t\tstate: {searchTerm},\n\t\t\tproperties\n\t\t} = coeffects;\n\n\t\tconst favorite = prepareFavoriteUrl(payload.item);\n\t\tif (!favorite) return;\n\n\t\tconst metadata = {\n\t\t\tmenuName: properties.menu.label,\n\t\t\tname: payload.item.label,\n\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\tmenuType: getMenuType(properties.menu.id)\n\t\t};\n\n\t\ttrack(coeffects, METRICS.CREATE_FAVORITE, metadata);\n\t\tdispatch(LAYOUT_ITEM_FAVORITED, {\n\t\t\t...payload,\n\t\t\tfavorite\n\t\t});\n\t},\n\t[NAV_SUB_MENU_ITEM_UNFAVORITED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {payload},\n\t\t\tdispatch\n\t\t} = coeffects;\n\n\t\tdispatch(LAYOUT_ITEM_UNFAVORITED, payload);\n\t},\n\t[OVERLAY_BEHAVIOR_OPENED_SET]: ({\n\t\tproperties: {menuState, isPrimary, forceMenuOpen},\n\t\tstate: {closeMenuAction},\n\t\tdispatch\n\t}) => {\n\t\tif (\n\t\t\t!forceMenuOpen &&\n\t\t\t(!(menuState.isMenuPinned && menuState.canBePinned) ||\n\t\t\t\t(menuState.isMenuPinned && menuState.canBePinned && !isPrimary))\n\t\t)\n\t\t\tdispatch(closeMenuAction);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({\n\t\tstate,\n\t\thost,\n\t\taction: {\n\t\t\tpayload: {name, value, previousValue}\n\t\t},\n\t\tdispatch,\n\t\tproperties: {\n\t\t\topened,\n\t\t\theaderNavigationElemRef,\n\t\t\tmenu,\n\t\t\tmenuState,\n\t\t\theaderMenuItems,\n\t\t\tdrilledMenu\n\t\t},\n\t\tupdateState\n\t}) {\n\t\tswitch (name) {\n\t\t\tcase 'headerNavigationElemRef':\n\t\t\tcase 'menuState':\n\t\t\t\thandleMenuStateChange(state, host, name, previousValue);\n\t\t\t\tbreak;\n\t\t\tcase 'menu':\n\t\t\t\tif (value.id !== previousValue.id && opened) {\n\t\t\t\t\t// focus again when the menu changes\n\t\t\t\t\thost.focus();\n\t\t\t\t}\n\t\t\t\tif (drilledMenu) {\n\t\t\t\t\tdispatch(SN_DRILLDOWN_SET, {\n\t\t\t\t\t\tmenu: headerMenuItems.find(({id}) => id === drilledMenu.id)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'drilledMenu':\n\t\t\t\tif (value && isEmpty(previousValue)) {\n\t\t\t\t\twindow.requestIdleCallback(() => {\n\t\t\t\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t\t\t\tdispatch(MENU_CONTENT_FOCUSED);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'opened':\n\t\t\t\tif (value) {\n\t\t\t\t\t// Host is not always available straight away then property is changed hence this need to be delayed\n\t\t\t\t\tsetTimeout(() => host.focus(), 100);\n\t\t\t\t} else {\n\t\t\t\t\t// reset overflow menu state on close\n\t\t\t\t\tif (menu.id === 'nav-overflow') {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfilteredMenu: menu,\n\t\t\t\t\t\t\tsearchTerm: ''\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst inputField = host.shadowRoot.querySelector(\n\t\t\t\t\t\t\t'.navigation-filter'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (inputField) {\n\t\t\t\t\t\t\tinputField.value = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst nextNavigationTabElement = headerNavigationElemRef.querySelector(\n\t\t\t\t\t\t`[id='${menu.id}']`\n\t\t\t\t\t);\n\t\t\t\t\tconst isMainMenuClosed =\n\t\t\t\t\t\t(!menuState.isMenuPinned && menuState.primaryMenuId === null) ||\n\t\t\t\t\t\t(menuState.isMenuPinned &&\n\t\t\t\t\t\t\tmenuState.canBePinned &&\n\t\t\t\t\t\t\tmenuState.secondaryMenuId === null);\n\n\t\t\t\t\t// if there are no other menus open, return focus to parent button of menu being closed.\n\t\t\t\t\tif (nextNavigationTabElement && isMainMenuClosed) {\n\t\t\t\t\t\t// menu is closing which means container needs to become focusable again\n\t\t\t\t\t\tupdateState({containerTabindex: 0});\n\t\t\t\t\t\tif (menuState.closedByKeyboard) {\n\t\t\t\t\t\t\tnextNavigationTabElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// put all list items in suspend mode when menu is closed\n\t\t\t\t\tconst listItems = host.shadowRoot.querySelectorAll(\n\t\t\t\t\t\t'sn-collapsible-list'\n\t\t\t\t\t);\n\t\t\t\t\tlistItems.forEach((item) => {\n\t\t\t\t\t\tif (item.nowMode !== 'detach') {\n\t\t\t\t\t\t\titem.nowMode = 'suspend';\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},\n\t[COMPONENT_DISCONNECTED]: ({action}) => {\n\t\tconst componentId = action.meta.id;\n\t\tunschedule(componentId);\n\t},\n\t[COMPONENT_DOM_READY]: {\n\t\teffect: ({state, host}) => {\n\t\t\thandleMenuStateChange(state, host, 'firstLoad', -1);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[MAIN_LOGO_LOADED]: {\n\t\teffect: ({state, host}) => {\n\t\t\thandleMenuStateChange(state, host, 'firstLoad', -1);\n\t\t},\n\t\tstopPropagation: false\n\t},\n\t[MAIN_MENU_PINNED]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {doPinning}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tproperties: {isTouchDevice}\n\t\t}) => {\n\t\t\tif (isTouchDevice) {\n\t\t\t\tupdateState({containerTabindex: doPinning ? 0 : -1});\n\t\t\t}\n\t\t\tif (!isTouchDevice && doPinning) {\n\t\t\t\tdispatch(MENU_CONTENT_FOCUSED);\n\t\t\t}\n\t\t}\n\t},\n\t[MENU_CONTENT_FOCUSED]: {\n\t\teffect: ({host, properties: {isTouchDevice}}) => {\n\t\t\tif (!isTouchDevice) {\n\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\tif (input) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\thandleFocusFirstNode(host);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[MANUAL_MENU_REFRESH_REQUESTED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst host = coeffects.host;\n\t\t\tconst refresh = host.shadowRoot.querySelector('#refresh-menu');\n\n\t\t\tif (refresh) {\n\t\t\t\trefresh.classList.add('refreshing');\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\trefresh.classList.remove('refreshing');\n\t\t\t\t}, 5000);\n\n\t\t\t\ttrack(coeffects, METRICS.MENU_REFRESHED_MANUALLY);\n\t\t\t}\n\t\t}\n\t},\n\t[TOGGLE_ALL_RESULTS]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {menu},\n\t\t\t\tstate: {allResultsOpen, searchTerm},\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\t\t\tif (menu.id !== MENU_ALL) {\n\t\t\t\tupdateState({\n\t\t\t\t\tallResultsOpen: !allResultsOpen\n\t\t\t\t});\n\n\t\t\t\tconst metadata = {\n\t\t\t\t\tmenuName: menu.label !== '' ? menu.label : menu.id,\n\t\t\t\t\tname: 'Filter All Results Toggle',\n\t\t\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\t\t\tmenuType: getMenuType(menu.id)\n\t\t\t\t};\n\n\t\t\t\ttrack(coeffects, METRICS.ALL_RESULTS_TOGGLE, metadata);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[TOGGLE_FAVORITE_RESULTS]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {menu},\n\t\t\t\tstate: {superFilterFavoritesOpen, searchTerm},\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\t\t\tupdateState({\n\t\t\t\tsuperFilterFavoritesOpen: !superFilterFavoritesOpen\n\t\t\t});\n\n\t\t\tconst metadata = {\n\t\t\t\tmenuName: menu.label !== '' ? menu.label : menu.id,\n\t\t\t\tname: 'Filter Favorite Results Toggle',\n\t\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\t\tmenuType: getMenuType(menu.id)\n\t\t\t};\n\n\t\t\ttrack(coeffects, METRICS.FAVORITES_RESULTS_TOGGLE, metadata);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[TOGGLE_OTHER_RESULTS]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {menu},\n\t\t\t\tstate: {superFilterOtherOpen, searchTerm},\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\t\t\tupdateState({\n\t\t\t\tsuperFilterOtherOpen: !superFilterOtherOpen\n\t\t\t});\n\n\t\t\tconst metadata = {\n\t\t\t\tmenuName: menu.label !== '' ? menu.label : menu.id,\n\t\t\t\tname: 'Filter Other Results Toggle',\n\t\t\t\tfilter: searchTerm ? 'Yes' : 'No',\n\t\t\t\tquery: searchTerm ? searchTerm : undefined,\n\t\t\t\tmenuType: getMenuType(menu.id)\n\t\t\t};\n\n\t\t\ttrack(coeffects, METRICS.OTHER_RESULTS_TOGGLE, metadata);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[EDIT_MENU_ITEM]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {action, properties, dispatch} = coeffects;\n\t\t\tconst {isAllMenuEditorEnabled} = properties;\n\t\t\tconst {item, table, rootMenu} = action.payload;\n\n\t\t\tif (isAllMenuEditorEnabled) {\n\t\t\t\tconst params =\n\t\t\t\t\ttable === SYS_APP_APPLICATION\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tapplication: item.id,\n\t\t\t\t\t\t\t\tmodule: null\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tapplication: findAppMenuId(rootMenu.subItems, item.id),\n\t\t\t\t\t\t\t\tmodule: item.id\n\t\t\t\t\t\t  };\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\tpath: 'now/all-menu-editor',\n\t\t\t\t\t\texperienceName: 'All Menu Editor'\n\t\t\t\t\t},\n\t\t\t\t\troute: 'edit',\n\t\t\t\t\tparams\n\t\t\t\t});\n\t\t\t\tconst metricEvent =\n\t\t\t\t\ttable === SYS_APP_APPLICATION\n\t\t\t\t\t\t? METRICS.APPLICATION_EDIT_CLICKED\n\t\t\t\t\t\t: METRICS.MODULE_EDIT_CLICKED;\n\t\t\t\tconst metricPayload = {\n\t\t\t\t\tapplication:\n\t\t\t\t\t\ttable === SYS_APP_APPLICATION\n\t\t\t\t\t\t\t? item.id\n\t\t\t\t\t\t\t: findAppMenuId(rootMenu.subItems, item.id),\n\t\t\t\t\tmodule: table === SYS_APP_APPLICATION ? undefined : item.id\n\t\t\t\t};\n\t\t\t\ttrack(coeffects, metricEvent, metricPayload);\n\t\t\t} else {\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttarget: `${table}.do?sys_id=${item.id}`\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch(CLOSE_MENUS);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[CREATE_APP_MENU]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {dispatch} = coeffects;\n\n\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\tcontext: {\n\t\t\t\t\tpath: 'now/all-menu-editor',\n\t\t\t\t\texperienceName: 'All Menu Editor'\n\t\t\t\t},\n\t\t\t\troute: 'create',\n\t\t\t\tparams: {application: null}\n\t\t\t});\n\n\t\t\tdispatch(CLOSE_MENUS);\n\n\t\t\ttrack(coeffects, METRICS.MENU_CREATE_CLICKED, {});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {isNil} from 'lodash';\n\nconst {\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nconst setupIntersectionObserver = ({host, updateState}) => {\n\tconst menuItemHeight = 32;\n\tconst additionalItemsToRender = 2;\n\n\tconst observer = new IntersectionObserver(\n\t\t(entries) => {\n\t\t\tentries.forEach((entry) => {\n\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\tentry.target.nowMode = 'active';\n\t\t\t\t} else {\n\t\t\t\t\tentry.target.nowMode = 'suspend';\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t{\n\t\t\troot: host.shadowRoot.querySelector('.sn-polaris-nav'),\n\t\t\trootMargin: `${menuItemHeight * additionalItemsToRender}px 0px`\n\t\t}\n\t);\n\n\t// handle any that have already been rendered\n\thost.shadowRoot\n\t\t.querySelectorAll('sn-collapsible-list')\n\t\t?.forEach((elm) => observer.observe(elm));\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'observer',\n\t\t\tvalue: observer,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t},\n\t\t{\n\t\t\tpath: 'alreadyBeenOpened',\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t}\n\t]);\n};\n\nexport default {\n\tname: 'MENU_LAZY_LOADING_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_RENDER_REQUESTED]({\n\t\t\taction,\n\t\t\tproperties: {opened},\n\t\t\tstate: {alreadyBeenOpened}\n\t\t}) {\n\t\t\tif (!alreadyBeenOpened && !opened) action.preventDefault();\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]({\n\t\t\tproperties: {opened},\n\t\t\thost,\n\t\t\tstate: {observer},\n\t\t\tupdateState\n\t\t}) {\n\t\t\t// If menu initially open, setup\n\t\t\tif (opened && isNil(observer))\n\t\t\t\tsetupIntersectionObserver({host, updateState});\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction: {\n\t\t\t\tpayload: {name, value}\n\t\t\t},\n\t\t\thost,\n\t\t\tstate: {observer},\n\t\t\tproperties: {opened},\n\t\t\tupdateState\n\t\t}) {\n\t\t\t// helper method to setup intersection observers on current menu items\n\t\t\t// interesection observers are used to delay rendering menu items until they\n\t\t\t// appear within the visible part of the menu\n\t\t\tconst setupObserver = () => {\n\t\t\t\tif (!isNil(observer)) {\n\t\t\t\t\tteardownObserver();\n\t\t\t\t}\n\t\t\t\tif (opened) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetupIntersectionObserver({host, updateState});\n\t\t\t\t\t}, 100);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// helper method to remove intersection observers from menu items\n\t\t\t// used when the menu items are removed from the dom.\n\t\t\tconst teardownObserver = () => {\n\t\t\t\tif (!isNil(observer)) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'observer',\n\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (\n\t\t\t\tname === 'opened' ||\n\t\t\t\t(name === 'drilledMenu' ||\n\t\t\t\t\tname === 'superFilterAllResultsOpen' ||\n\t\t\t\t\tname === 'menu')\n\t\t\t) {\n\t\t\t\tif (value || name === 'superFilterAllResultsOpen' || name === 'menu') {\n\t\t\t\t\tsetupObserver();\n\t\t\t\t} else {\n\t\t\t\t\tteardownObserver();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tsetInitialState({properties: {opened}}) {\n\t\treturn {\n\t\t\tobserver: null,\n\t\t\talreadyBeenOpened: opened\n\t\t};\n\t}\n};\n","import {PINNED_MENU_LEFT_MARGIN, TAB_HEIGHT, CORNER_RADIUS} from './constants';\nimport {declarativeOperations} from '@servicenow/ui-core';\n\n/**\n * Entry point to draw/redraw the top tab for a given menu\n *\n * @param {Object} coeffects\n */\nexport const updateTabPath = (coeffects) => {\n\tconst {\n\t\tproperties: {opened, menu, menuState}\n\t} = coeffects;\n\n\tconst pathTag = getPathTag(coeffects);\n\n\tif (pathTag) {\n\t\tif (\n\t\t\topened &&\n\t\t\t(!menuState.isMenuPinned ||\n\t\t\t\t(menuState.isMenuPinned && !menuState.canBePinned) ||\n\t\t\t\t(menuState.isMenuPinned && menuState.primaryMenuId !== menu.id))\n\t\t) {\n\t\t\tdrawTabSvgPath(pathTag, TAB_HEIGHT, CORNER_RADIUS, coeffects, false);\n\t\t} else {\n\t\t\tdrawTabSvgPath(pathTag, 0, 0, coeffects, true);\n\t\t}\n\t}\n};\n\n/**\n * Returns the parent tab in the main menu navigation for the current menu\n * If the element has not been cached yet, this will fetch it and cache it first.\n *\n * @param {Object} coeffects\n * @returns {Object} returns object containing nav tab element and nav dimensions used to find tab placement\n */\nexport const getNavTabElement = (coeffects) => {\n\tconst {state, properties, updateState} = coeffects;\n\tconst {menu, headerNavigationElemRef} = properties;\n\n\tlet navTabElem = state.navTabElem?.value;\n\tlet navTabElemRect = state.navTabElemRect?.value;\n\n\t// grab and cache the element in the main nav which goes with this menu\n\tif (headerNavigationElemRef && (!navTabElem || !navTabElemRect)) {\n\t\tnavTabElem = headerNavigationElemRef.querySelector(`[id='${menu.id}']`);\n\n\t\tnavTabElemRect = {\n\t\t\twidth: navTabElem.offsetWidth,\n\t\t\theight: navTabElem.parentElement.offsetHeight,\n\t\t\tx: navTabElem.offsetLeft\n\t\t};\n\n\t\tupdateState({\n\t\t\tpath: 'navTabElem',\n\t\t\tvalue: navTabElem,\n\t\t\tshouldRender: false,\n\t\t\toperation: declarativeOperations.ASSIGN\n\t\t});\n\t\tupdateState({\n\t\t\tpath: 'navTabElemRect',\n\t\t\tvalue: navTabElemRect,\n\t\t\tshouldRender: false,\n\t\t\toperation: declarativeOperations.ASSIGN\n\t\t});\n\t}\n\n\treturn {\n\t\tnavTabElem: navTabElem,\n\t\tnavTabElemRect: navTabElemRect\n\t};\n};\n\n/**\n * Returns the svg path tag that draws the menu's top tab\n * This will create and cache the path tag and append it to the menu's svg\n * if the element has not been created/cached yet.\n * @param {Object} coeffects\n * @returns {Element} svg path tag element\n */\nexport const getPathTag = (coeffects) => {\n\tconst {state, updateState, host} = coeffects;\n\n\t// grab and cache the path element inside the svg element for this menu\n\tlet pathTag = state.pathTag?.value;\n\tif (!pathTag) {\n\t\tconst svgTag = host.shadowRoot.querySelector('#tabSvg');\n\t\tif (!svgTag) {\n\t\t\treturn null;\n\t\t}\n\t\tpathTag = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n\t\tsvgTag.appendChild(pathTag);\n\t\tdrawTabSvgPath(pathTag, 0, 0, coeffects, true);\n\n\t\tupdateState({\n\t\t\tpath: 'pathTag',\n\t\t\tvalue: pathTag,\n\t\t\tshouldRender: false\n\t\t});\n\t}\n\n\treturn pathTag;\n};\n\n/**\n * This does the math to figure out where the menu and its tab are on the page\n * and then updates the svg path to draw the tab in the right place. This also\n * handles if the tab is flush to the side of the menu and when document direction is flipped\n *\n * @param {*} pathTag - svg path tag that draw the tab path itself\n * @param {*} tabHeight - height of the tab\n * @param {*} cornerRadius - corner radius of the menu corners\n * @param {*} coeffects\n * @return {*}\n */\nconst drawTabSvgPath = (\n\tpathTag,\n\ttabHeight,\n\tcornerRadius,\n\tcoeffects,\n\thideAnimation\n) => {\n\tconst {properties} = coeffects;\n\tconst {navTabElem, navTabElemRect} = getNavTabElement(coeffects);\n\n\tif (!navTabElem || !navTabElemRect) return;\n\n\t/* \n        do some math to figure out the tab placement \n    */\n\n\tconst areaHeight = navTabElemRect.height;\n\n\t// if this is not a pinned menu, figure out what size and location this menu's tab needs to be\n\tconst newMenuWidth =\n\t\tproperties.menuWidth + (properties.isPrimary ? 0 : PINNED_MENU_LEFT_MARGIN);\n\tconst menuBodyOffset = newMenuWidth / 2;\n\n\t// find dimension of the menu item in the top navigation which this menu and it's tab must align themselves up with\n\tconst tabWidth = Math.floor(navTabElemRect.width);\n\tconst tabLeft = navTabElem.getAttribute('unpinnedLeft') || navTabElemRect.x;\n\n\t// find new location for the menu body\n\tconst newMenuStart = tabLeft - menuBodyOffset + tabWidth / 2;\n\n\t// find offset to use to make sure this menu's tab aligns correctly with its top nav item in the header\n\tlet tabLeftOffset = menuBodyOffset - tabWidth / 2;\n\n\t// if the menu is going to be offscreen, recompute tab offset based on that\n\tif (\n\t\tnewMenuStart < 0 ||\n\t\t(properties.isPrimary &&\n\t\t\tnewMenuStart + newMenuWidth >= document.body.offsetWidth)\n\t) {\n\t\ttabLeftOffset = tabLeftOffset - newMenuStart * -1;\n\t} else if (!properties.isPrimary && newMenuStart < newMenuWidth) {\n\t\t// if this is a secondary menu and its overlapping the pinned menu, bring it back and offset the menu tab\n\t\ttabLeftOffset = tabLeftOffset - (newMenuStart - newMenuWidth) * -1;\n\t}\n\n\t// do some math to figure out the end points of various lines\n\tconst leftHorizontalEndPoint = tabLeftOffset - cornerRadius * 2;\n\tconst rightHorizontalEndPoint =\n\t\tproperties.menuWidth -\n\t\tcornerRadius -\n\t\t(cornerRadius * 3 + tabWidth + leftHorizontalEndPoint);\n\tconst tabSideLength = tabHeight - cornerRadius;\n\n\t/* \n        Update the svg path with the new points based on the math above in order to draw the tab correctly.\n        The path is drawn starting from the lower left corner and moves to the right. Each point is positioned \n        relative to the previous point to make the math easier. To handle RTL we just flip 'leftHorizontalEndPoint'\n        and 'rightHorizontalEndPoint'. The path must have the same number of points in it regardless of its state\n        (open, closed, flush) in order for the path animations to work properly.\n    */\n\n\tif (hideAnimation && pathTag.classList.contains('can-animate')) {\n\t\tpathTag.classList.remove('can-animate');\n\t}\n\n\t// draw the tab path starting at the lower left corner\n\tlet path = `M0.5,${areaHeight + 0.5} `; // starting point in lower left corner\n\n\t//draw left side\n\tif (tabLeftOffset < cornerRadius * 2 && properties.dir === 'ltr') {\n\t\tpath += `a0,0 1 0,1 0,0 `; // first curve\n\t\tpath += `l0,0 0,${cornerRadius * -2} `; // first horizontal line for flush tab\n\t\tpath += `a0,0 1 0,0 0,0 `; // lower left corner of tab\n\t} else {\n\t\tpath += `a${cornerRadius},${cornerRadius} 1 0,1 ${cornerRadius},${cornerRadius *\n\t\t\t-1} `; // first curve\n\t\tpath += `l0,0 ${\n\t\t\tproperties.dir === 'rtl'\n\t\t\t\t? rightHorizontalEndPoint\n\t\t\t\t: leftHorizontalEndPoint\n\t\t},0 `; // first horizontal line\n\t\tpath += `a${cornerRadius},${cornerRadius} 1 0,0 ${cornerRadius},${cornerRadius *\n\t\t\t-1} `; // lower left corner of tab\n\t}\n\n\t// draw tab itself\n\tpath += `l0,0 0,${tabSideLength * -1} `; // tab left vertical border\n\tpath += `a${cornerRadius},${cornerRadius} 1 0,1 ${cornerRadius},${cornerRadius *\n\t\t-1} `; // tab top left corner\n\tpath += `l0,0 ${Math.floor(tabWidth - cornerRadius * 2 - 1)},0 `; // tab top border\n\tpath += `a${cornerRadius},${cornerRadius} 1 0,1 ${cornerRadius},${cornerRadius} `; // tab top right corner\n\tpath += `l0,0 0,${tabSideLength} `; // tab right vertical border\n\n\t// draw right side\n\tif (tabLeftOffset < cornerRadius * 2 && properties.dir === 'rtl') {\n\t\tpath += `a0,0 1 0,1 0,0 `; // tab bottom right corner\n\t\tpath += `l0,0 0,${cornerRadius * 2} `; // tab right horizontal line\n\t\tpath += `a0,0 1 0,0 0,0 `; // lower left corner of tab\n\t} else {\n\t\tpath += `a${cornerRadius},${cornerRadius} 1 0,0 ${cornerRadius},${cornerRadius} `; // tab bottom right corner\n\t\tpath += `l0,0 ${\n\t\t\tproperties.dir === 'rtl'\n\t\t\t\t? leftHorizontalEndPoint\n\t\t\t\t: rightHorizontalEndPoint\n\t\t},0 `; // tab right horizontal line\n\t\tpath += `a${cornerRadius},${cornerRadius} 1 0,1 ${cornerRadius},${cornerRadius} `; // final right corner\n\t}\n\n\t// update path tag with updated path point data\n\tpathTag.setAttribute('d', `${path} Z`);\n\n\tif (\n\t\thideAnimation &&\n\t\tpathTag.parentElement.classList.contains('can-animate')\n\t) {\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tpathTag.classList.add('can-animate');\n\t\t});\n\t}\n};\n","export const PINNED_MENU_LEFT_MARGIN = 12;\nexport const TAB_HEIGHT = 26;\nexport const CORNER_RADIUS = 8;\n","import {actionTypes} from '@servicenow/ui-core';\nimport {updateTabPath} from './utils';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\n/**\n * Behavior to handle drawing the top tab for a menu\n * see ./utils.js for specifics of how this works.\n */\n\nexport default {\n\tname: 'MENU_TAB_SVG_BEHAVIOR',\n\tinitialState: {\n\t\tpathTag: null,\n\t\tnavTabElem: null,\n\t\tnavTabElemRect: null\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {name}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tswitch (name) {\n\t\t\t\t\tcase 'menuState':\n\t\t\t\t\tcase 'headerNavigationElemRef':\n\t\t\t\t\t\tupdateTabPath(coeffects);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport menuKeyboardNavBehavior from '../../behaviors/menu-keyboard-nav-behavior';\nimport {CLOSE_MENUS} from '../sn-polaris-layout/actions';\n\nimport styles from './_sn-polaris-menu.scss';\nimport view from './sn-polaris-menu.view';\n\nimport {actionHandlers as overflowActionHandlers} from './sn-menu-template-overflow';\n\nimport {actionHandlers} from './sn-polaris-menu.effects';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport overlayBehavior from '@servicenow/behavior-overlay';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport menuLazyLoadingBehavior from './behaviors/menu-lazy-loading';\nimport filterBehavior from './behaviors/filter';\nimport {INCLUDES} from '@devsnc/unav-utils';\nimport tabSvgBehavior from './behaviors/menu-tab-svg-behavior';\n\nimport {createTooltipActionHandler} from '@servicenow/now-tooltip';\nimport {MENU_CONTENT_FOCUSED} from './actions';\nimport {LOCAL_STORAGE_KEYS, MENU_ALL} from '../../constants';\n\ncreateCustomElement('sn-polaris-menu', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tmenu: {\n\t\t\tdefault: {}\n\t\t},\n\t\tdrilledMenu: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: null\n\t\t},\n\t\tisPinned: {\n\t\t\tdefault: false\n\t\t},\n\t\tisPrimary: {\n\t\t\tdefault: false\n\t\t},\n\t\tmenuState: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true\n\t\t},\n\t\theaderNavigationElemRef: {\n\t\t\tdefault: null\n\t\t},\n\t\tshowHeaderFilter: {\n\t\t\tdefault: true\n\t\t},\n\t\theaderMenuItems: {\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true\n\t\t},\n\t\tmenuPinable: {\n\t\t\tdefault: true\n\t\t},\n\t\tfilterMethod: {\n\t\t\tschema: {type: 'string'},\n\t\t\tdefault: INCLUDES\n\t\t},\n\t\tlocale: {\n\t\t\tdefault: 'en-US'\n\t\t},\n\t\tmainLogoWidth: {\n\t\t\tdefault: 0\n\t\t},\n\t\tmenuWidth: {\n\t\t\tdefault: 0\n\t\t},\n\t\t// only used to stub for testing / examples\n\t\tcurrentDate: {},\n\t\tanimationsEnabled: {\n\t\t\tdefault: true,\n\t\t\tshouldRender: false\n\t\t},\n\t\topened: {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault: false,\n\t\t\tshouldRender: false\n\t\t},\n\t\tmenuIndex: {\n\t\t\tdefault: -1\n\t\t},\n\t\tshouldOpenUI16TabsInsidePolaris: {\n\t\t\tdefault: false\n\t\t},\n\t\tforceMenuOpen: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisTouchDevice: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tuserPreferences: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tuseSuperFilter: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tshouldRender: false\n\t\t},\n\t\tsuperFilterAllResultsOpen: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tshowHiddenControls: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisOtherMenusLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\tpageLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tisPolarisEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisAllMenuEditorEnabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tselectedContentFavorite: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tfavoriteSR: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tfavoriteTooltip: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\ttempFavoriteStarFill: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\twindowSize: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {type: 'object'},\n\t\t\tdefault: {\n\t\t\t\twidth: -1,\n\t\t\t\theight: -1\n\t\t\t}\n\t\t}\n\t},\n\tsetInitialState({properties: {menu, menuState}}) {\n\t\treturn {\n\t\t\tsearchTerm: '',\n\t\t\tfilteredMenu: menu,\n\t\t\tdrilledMenu: null,\n\t\t\thasRendered: false,\n\t\t\tcloseMenuAction: CLOSE_MENUS,\n\t\t\tcontainerTabindex: menu.id === menuState.pinnedMenuId ? -1 : 0,\n\t\t\tclosedByKeyboard: false,\n\t\t\tallResultsOpen: menu.id === MENU_ALL,\n\t\t\tsuperFilterFavoritesOpen: true,\n\t\t\tsuperFilterOtherOpen: true,\n\t\t\tpreventHighlight: false\n\t\t};\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior:\n\t\t\t\tlocalStorage.getItem(LOCAL_STORAGE_KEYS.RENDER_DEBUG_LIST) !== null\n\t\t\t\t\t? require('../../behaviors/render-cause-debug-behavior').default\n\t\t\t\t\t: null,\n\t\t\toptions: {componentName: 'sn-polaris-menu'}\n\t\t},\n\t\t{behavior: rtlBehavior},\n\t\t{behavior: overlayBehavior},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (_, dispatch) => dispatch(MENU_CONTENT_FOCUSED)\n\t\t\t}\n\t\t},\n\t\t{behavior: menuLazyLoadingBehavior},\n\t\t{behavior: filterBehavior},\n\t\t{behavior: menuKeyboardNavBehavior},\n\t\t{behavior: tabSvgBehavior}\n\t],\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t...overflowActionHandlers,\n\t\t...createTooltipActionHandler\n\t},\n\tstyles\n});\n","import '@servicenow/now-icon';\nimport {t} from 'sn-translate';\nimport {isEmpty} from 'lodash';\n\nimport {\n\tFILTER_SEARCH_UPDATED,\n\tNAVIGATION_REQUESTED,\n\tFOCUS_FIRST_FILTERED_NAV_ITEM,\n\tCREATE_APP_MENU\n} from './actions';\nimport {MAIN_MENU_PINNED} from '../sn-polaris-layout/actions';\nimport {FAVORITE_EDIT_MODAL_REQUESTED} from '../sn-polaris-layout/favorite-edit-modal/actions';\n\nimport isATF from '../../utils/isATF';\nimport {FilterInput} from '../filter-input';\nimport {PinButton} from './fragments/button-fragments';\n\nimport {MenuBody} from './utils/template-map';\nimport {MENU_ALL, MENU_FAVORITES, SYS_PROPS} from '../../constants';\n\nimport {SuperFilter} from './super-filter';\nimport {\n\tgetBooleanProperty,\n\tonMouseEnterIconItem,\n\tonMouseLeaveItem,\n\tcreateMenuTooltipHandlers\n} from '@devsnc/unav-utils';\nimport {MANUAL_MENU_REFRESH_REQUESTED} from '../../behaviors/menu-modifier-behavior/actions';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\nexport default (\n\t{\n\t\tproperties,\n\t\tfilteredMenu,\n\t\tsearchTerm,\n\t\tobserver,\n\t\tinputHasFocus,\n\t\tcontainerTabindex,\n\t\tallResultsOpen,\n\t\tsuperFilterFavoritesOpen,\n\t\tsuperFilterOtherOpen,\n\t\tpreventHighlight\n\t},\n\t{dispatch, updateState, updateProperties}\n) => {\n\tconst {\n\t\topened,\n\t\tmenuState,\n\t\tisPrimary,\n\t\tdir,\n\t\tlocale,\n\t\tcurrentDate,\n\t\tanimationsEnabled,\n\t\tmenu,\n\t\tfilterMethod,\n\t\tshouldOpenUI16TabsInsidePolaris,\n\t\tshowHeaderFilter,\n\t\tdrilledMenu,\n\t\tmenuPinable,\n\t\tisTouchDevice,\n\t\theaderMenuItems,\n\t\tuseSuperFilter,\n\t\tsuperFilterAllResultsOpen,\n\t\tshowHiddenControls,\n\t\tisLoading,\n\t\tisOtherMenusLoading,\n\t\tisAllMenuEditorEnabled,\n\t\tpageLabel,\n\t\tisPolarisEnabled,\n\t\tselectedContentFavorite,\n\t\tfavoriteSR,\n\t\tfavoriteTooltip,\n\t\ttempFavoriteStarFill,\n\t\twindowSize\n\t} = properties;\n\n\tconst isInOverflow = filteredMenu?.template === 'overflow';\n\n\tconst {matchingItems, totalItems} = drilledMenu || filteredMenu || {};\n\tconst isSingleMenu = !menu?.subItems?.some((i) => !!i.template);\n\tconst isSuperFilterAllResultsOpen = searchTerm.length >= 2 && useSuperFilter;\n\n\tif (superFilterAllResultsOpen !== isSuperFilterAllResultsOpen) {\n\t\tupdateProperties({\n\t\t\tsuperFilterAllResultsOpen: isSuperFilterAllResultsOpen\n\t\t});\n\t}\n\n\tconst isRefreshMenuSysPropEnabled = getBooleanProperty(\n\t\tSYS_PROPS.UI.NEXT_EXPERIENCE_ALLOW_MANUAL_MENU_REFRESH,\n\t\ttrue\n\t);\n\n\treturn (\n\t\t<nav\n\t\t\tclassName=\"menu-body\"\n\t\t\tclass={{\n\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t'is-visible': opened\n\t\t\t}}>\n\t\t\t{/* menu tab container */}\n\t\t\t<div className=\"menu-tab-container\">\n\t\t\t\t<div className=\"grid-container\" id=\"tabContainer\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\tmenuTabSvg: true,\n\t\t\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tid=\"tabSvg\"\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t{/* menu content container */}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-polaris-nav': true,\n\t\t\t\t\t[menu.id]: true,\n\t\t\t\t\t'is-in-overflow': isInOverflow,\n\t\t\t\t\t'can-animate': animationsEnabled,\n\t\t\t\t\t'is-atf': isATF()\n\t\t\t\t}}\n\t\t\t\taria-label={t('{0} menu', menu.label)}\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\ttabIndex={isTouchDevice ? containerTabindex : -1}\n\t\t\t\ton-blur={() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tmenu.id !== menuState.pinnedMenuId &&\n\t\t\t\t\t\t(!isInOverflow || isSingleMenu)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// we no longer need container focusable past initial menu opening\n\t\t\t\t\t\tupdateState({containerTabindex: -1});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tdata-id={`menu-${menu.id}`}>\n\t\t\t\t{!isInOverflow ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-polaris-nav-header': true,\n\t\t\t\t\t\t\t[menu.id]: true,\n\t\t\t\t\t\t\t'can-animate': animationsEnabled\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdata-id={`menu-header-${menu.id}`}>\n\t\t\t\t\t\t{showHeaderFilter ? (\n\t\t\t\t\t\t\t<FilterInput\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\thasFocus={inputHasFocus}\n\t\t\t\t\t\t\t\tmenu={menu}\n\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tgetBooleanProperty(\n\t\t\t\t\t\t\t\t\t\t\tSYS_PROPS.UI\n\t\t\t\t\t\t\t\t\t\t\t\t.NEXT_EXPERIENCE_NAV_FILTER_SINGLE_CLICK_ENABLED\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tevent.target.select();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tupdateState({inputHasFocus: true});\n\t\t\t\t\t\t\t\t\tupdateState({preventHighlight: false});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonBlur={() => updateState({inputHasFocus: false})}\n\t\t\t\t\t\t\t\tonInput={(e) => {\n\t\t\t\t\t\t\t\t\tconst searchTerm = e.composedPath()[0].value;\n\t\t\t\t\t\t\t\t\tdispatch(FILTER_SEARCH_UPDATED, {\n\t\t\t\t\t\t\t\t\t\tsearchTerm\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\tswitch (e.key) {\n\t\t\t\t\t\t\t\t\t\tcase 'Enter':\n\t\t\t\t\t\t\t\t\t\t\tdispatch(NAVIGATION_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\t\t\tsearchTerm: e.composedPath()[0].value,\n\t\t\t\t\t\t\t\t\t\t\t\tfilteredMenu\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\t\t\t\t\t\t\tif (matchingItems && matchingItems > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(FOCUS_FIRST_FILTERED_NAV_ITEM);\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonInputClear={() => {\n\t\t\t\t\t\t\t\t\tdispatch(FILTER_SEARCH_UPDATED, {searchTerm: ''});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{menu.id === MENU_FAVORITES &&\n\t\t\t\t\t\t!isEmpty(menu.subItems) &&\n\t\t\t\t\t\t!isOtherMenusLoading ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\t\t\t\t\tpencil: true\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t\t\t\t\t\tfavorites: menu.id === MENU_FAVORITES\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\taria-label={t('Edit your favorites')}\n\t\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\t\tdispatch(FAVORITE_EDIT_MODAL_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\t\tmenu\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t\t<now-icon icon=\"pencil-page-outline\" size=\"md\" />\n\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{menu.id === MENU_ALL && isRefreshMenuSysPropEnabled ? (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{isAllMenuEditorEnabled === true && menu.canEdit ? (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\t\t\t\t\t\t\tplus: true\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tid={'create-menu'}>\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\t\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t\t\t\t\t\t\t\t'three-button': true\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\taria-label={t('Create menu')}\n\t\t\t\t\t\t\t\t\t\t\ton-click={() => dispatch(CREATE_APP_MENU)}\n\t\t\t\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t\t\t\t<now-icon icon=\"plus-outline\" size=\"md\" />\n\t\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\t\t\t\t\t\tsync: true\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tid={'refresh-menu'}>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t'sn-polaris-nav-btn': true,\n\t\t\t\t\t\t\t\t\t\t\treversed: dir === 'rtl',\n\t\t\t\t\t\t\t\t\t\t\t'three-button': isAllMenuEditorEnabled === true\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\taria-label={t('Refresh menu items')}\n\t\t\t\t\t\t\t\t\t\ton-click={() => dispatch(MANUAL_MENU_REFRESH_REQUESTED)}\n\t\t\t\t\t\t\t\t\t\t{...createMenuTooltipHandlers(\n\t\t\t\t\t\t\t\t\t\t\tonMouseEnterIconItem,\n\t\t\t\t\t\t\t\t\t\t\tonMouseLeaveItem,\n\t\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t\t\t<now-icon icon=\"sync-outline\" size=\"md\" />\n\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{menuPinable ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'sn-polaris-nav-header-controls': true,\n\t\t\t\t\t\t\t\t\tpin: true\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-live=\"assertive\">\n\t\t\t\t\t\t\t\t<PinButton\n\t\t\t\t\t\t\t\t\tmenu={menu}\n\t\t\t\t\t\t\t\t\tmenuState={menuState}\n\t\t\t\t\t\t\t\t\tpinEventName={MAIN_MENU_PINNED}\n\t\t\t\t\t\t\t\t\tisPrimary={isPrimary}\n\t\t\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\tisWideMenu={false}\n\t\t\t\t\t\t\t\t\tisAllMenuEditorEnabled={isAllMenuEditorEnabled}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\n\t\t\t\t{/* if there is no search term, show standard menu content */}\n\t\t\t\t{!isSuperFilterAllResultsOpen ||\n\t\t\t\t(searchTerm.length >= 2 && !useSuperFilter) ||\n\t\t\t\tmenu.id === 'nav-overflow' ? (\n\t\t\t\t\t<MenuBody\n\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\tisOtherMenusLoading={isOtherMenusLoading}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tmenu={filteredMenu}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\tmatchingItems={matchingItems}\n\t\t\t\t\t\ttotalItems={totalItems}\n\t\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tdrilledMenu={drilledMenu}\n\t\t\t\t\t\tobserver={observer}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\tinputHasFocus={inputHasFocus}\n\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\tmenuState={menuState}\n\t\t\t\t\t\tisPrimary={isPrimary}\n\t\t\t\t\t\tisTouchDevice={isTouchDevice}\n\t\t\t\t\t\tuseSuperFilter={useSuperFilter}\n\t\t\t\t\t\theaderMenuItems={headerMenuItems}\n\t\t\t\t\t\tallResultsOpen={allResultsOpen}\n\t\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t\tpageLabel={pageLabel}\n\t\t\t\t\t\tisPolarisEnabled={isPolarisEnabled}\n\t\t\t\t\t\tselectedContentFavorite={selectedContentFavorite}\n\t\t\t\t\t\tfavoriteSR={favoriteSR}\n\t\t\t\t\t\tfavoriteTooltip={favoriteTooltip}\n\t\t\t\t\t\ttempFavoriteStarFill={tempFavoriteStarFill}\n\t\t\t\t\t\twindowSize={windowSize}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{/* is there is a valid search term, show the super filter */}\n\t\t\t\t{isSuperFilterAllResultsOpen && menu.id !== 'nav-overflow' ? (\n\t\t\t\t\t<SuperFilter\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tmenu={menu}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\tfilterMethod={filterMethod}\n\t\t\t\t\t\theaderMenuItems={headerMenuItems}\n\t\t\t\t\t\tanimationsEnabled={animationsEnabled}\n\t\t\t\t\t\tshouldOpenUI16TabsInsidePolaris={shouldOpenUI16TabsInsidePolaris}\n\t\t\t\t\t\tallResultsOpen={allResultsOpen}\n\t\t\t\t\t\tsuperFilterFavoritesOpen={superFilterFavoritesOpen}\n\t\t\t\t\t\tsuperFilterOtherOpen={superFilterOtherOpen}\n\t\t\t\t\t\tshowHiddenControls={showHiddenControls}\n\t\t\t\t\t\tpreventHighlight={preventHighlight}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/nav>\n\t);\n};\n","import {createPresentationalCustomElement} from '@servicenow/ui-core';\n\ncreatePresentationalCustomElement('sn-legacy-screen', {\n\tview: () => null\n});\n","/* eslint-disable no-console */\nimport {version} from '../package.json';\nif (!window.___POLARIS_VERSIONS___) {\n\twindow.___POLARIS_VERSIONS___ = {};\n}\nwindow.___POLARIS_VERSIONS___['polaris-app-shell'] = version;\n\nconsole.debug('polaris app shell loading version: ' + version);\n\nimport './components/sn-polaris-layout';\nimport './components/sn-polaris-header';\nimport './components/sn-polaris-menu';\nimport './components/sn-legacy-screen';\n","import * as exports from '../index.js';\nwindow.__TECTONIC__polaris_app_shell=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":286,"column":0},"map":{"mappings":"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","file":"externals/sn-canvas-chrome/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","indexOf","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","createRef","snabbdom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__","createCustomElement","properties","containerProps","schema","type","renderer","view","state","className","style","styles","snCanvasContentStyles","behaviors","rtlBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","positions","top","left","right","bottom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","clamp","debounce","each","filter","find","findIndex","findKey","forEach","forOwn","has","includes","isEmpty","isEqual","isNil","keys","omit","set","COMPONENT_CONNECTED","COMPONENT_PROPERTY_CHANGED","actionTypes","opened","manageable","position","hasCloseIcon","heading","beforeClose","snCanvasCornerDialog","_ref","dispatch","hidden","absolutePositions","_includes","_keys","background","name","icon","size","label","level","variant","hasNoMargin","bare","evt","_handleClose","Promise","resolve","then","res","stopPropagation","snCanvasCornerDialogStyles","dispatches","actionHandlers","effect","_ref2","host","_isEmpty","parentElement","_ref3","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__","CONSTANTS","SN_CANVAS_ERROR_TAGNAME","SESSION_EXPIRED_HEADER_LABEL","AMB_SESSION_LOGOUT_PROP","ACTION_TYPES","NOW_MODAL_OPENED_SET","NOW_MODAL_FOOTER_ACTION_CLICKED","ARIA_LIVE_TRIGGER_TEXT","uiCore","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__","calculateNewScreenStatusPayloads","deepSearchAllElement","deepSearchElement","getLandingPath","getUnifiedCacheInstance","interopContextRegex","isKarunaMode","notifyToolbarButtonChange","registerChromeStateManager","renderSkipBehavior","setCanCreateParentScreen","setCanCreateSubScreen","setPageTitle","unregisterChromeStateManager","updateScreenCreationStatus","updateCallback","oldNode","newNode","applyOverlayStyles","_window","overlayStyle","window","ux_globals","sysprops","seismicHoist","el","sourceElement","tagName","toLowerCase","selector","target","document","body","observer","MutationObserver","mutationList","disconnect","observe","shadowRoot","childList","subtree","waitForEl","nowModalOverlay","backgroundValue","opacityValue","styleStr","split","trim","backgroundProperty","property","startsWith","opacityProperty","opacity","extractStyleValues","backgroundColor","catch","console","log","warn","COMPONENT_DISCONNECTED","ARIA_LIVE_REGION_UPDATE_REQUESTED","updateState","path","operation","declarativeOperations","SET","shouldRender","action","payload","open","errorConfig","headerLabel","message","formatAriaMessage","replace","errorMessage","replaceContent","triggers","_ref4","footerAction","loginModal","btnClickFn","footerActions","deepCompare","unstableParse","nowHoist","manageOpened","hook-update","oldVnode","vnode","initialState","actionNames","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__","getFocusableNodes","errorMsgConfig","getRequiredErrMsgs","msg","status","translatedTexts","username","currentPassword","newPassword","confirmNewPassword","submit","pwdMatchFailMsg","login","password","continue","userId","logInWith","fieldName","userNameReqMsg","pwdReqMsg","newPwdReqMsg","cnfNewPwdReqMsg","userIdReqMsg","currentPwdReqMsg","signInWithSSO","changePassword","orSignInWith","loginWithUsernameNPassword","loginWithSSO","forgotPassword","loading","rememberMe","mfaSetupHeading","mfaValidateHeading","logoAltText","language","langTooltip","loginButton","loginFormLabel","handleValidations","_properties$loginConf","_properties$loginConf2","_actionPayload$userNa","_actionPayload$passwo","userNameInfo","transactionId","loginConfig","actionPayload","userNameValue","userName","passwordValue","hasUserName","hasPassword","request","data","errMsg","translated","invalid","isLoading","messages","_payload$action","updateProperties","showLogin","_ref5","_action$payload$field","fieldValue","_ref6","_action$payload$field2","_ref7","_action$payload$field3","_ref8","_action$payload$field4","snCanvasLogin","showESignatureModal","_reopenKey","_lastReopenKey","role","msgConfig","renderAlert","onSubmit","preventDefault","form","usernameInput","querySelector","passwordInput","renderUsernameInput","usernameErrorId","autofocus","autocomplete","disabled","width","renderPasswordInput","passwordErrorId","required","Boolean","disableUnmask","renderLoader","updatedFooterActions","elementRef","String","selectable","eventHandlers","events","event","tabbableNodes","focus","handleFocus","error","COMPONENT_DOM_READY","messageListener","iframeRef","private","src","params","disableSandbox","setRef","ref","_renderHeader","title","sandbox","addEventListener","showModal","onMessage","messageHandler","removeEventListener","iFrameRef","contentWindow","postMessage","location","origin","sendInitMessage","contentDocument","documentElement","height","scrollHeight","once","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","uxfViewportBehavior","activeItem","active","onDragStart","currentTarget","xOffset","yOffset","initialX","touches","clientX","initialY","clientY","onDragEnd","currentX","currentY","onDrag","setTranslate","xPos","yPos","elNode","transform","DOCUMENT_EVENTS","effectHandlers","bindDraggableEvents","targetRef","parentTargetRef","dockingEnabled","eventType","unbindDraggableEvents","clearStyles","coeffects","previousValue","childNodes","node","removeProperty","draggableEffect","draggableBehavior","Docking","on-click","onClickHandler","expand","snCanvasSidebar","class","snCanvasSidebarStyles","NOW_POPOVER_OPENED_SET","NOW_BUTTON_BARE_CLICKED","NOW_CONFIRM_MODAL_CLEAR","NAV_ITEM_SELECTED","MODAL_SELECTED","TABS_LIST_ARIA_LABEL","CLOSE_TAB_MENU_ITEM","CLOSE_OTHER_TABS_MENU_ITEM","CLOSE_ALL_TABS_MENU_ITEM","TAB_JUST_CLOSED","REOPEN_CLOSED_TAB","CLOSED_TABS_CHANGED","SELECTED_WORKSPACE_TAB_FOCUS","SELECTED_PAGE_TAB_FOCUS","CLOSE_SELECTED_WORKSPACE_TAB","TAB_NEW_MESSAGE","TAB_NEW_MESSAGES","MAIN_TAB_CLICKED","MAIN_TAB_CLOSE_CLICKED","MAIN_TAB_NEW_ALERT_CLEARED","MAIN_TAB_NEW_ALERT_CLEARED_OK","SUB_TAB_CLOSE_CLICKED","TABS_SCREEN_CONTENT_CHANGED","TABS_SCREEN_CONTENT_BATCH_CHANGED","TABS_CLOSE_REQUESTED","TABS_CLOSE_CONFIRMED","TABS_CLOSE_CANCELLED","TABS_SELECTED_CONTENT_CHANGED","DRILLDOWN_BACK_CLICKED","SCREEN_CLOSED_CONFIRMED","SCREEN_CLOSED_CANCELLED","PRIMARY_TAB_PROP_CHANGED","SELECT_TAB","FULL_SEARCH_TAB_TITLE","KNOWLEDGE_TAB_TITLE","OPEN_OR_FOCUS_TAB_REDUCER","INIT_OR_UPDATE_TABS_REDUCER","LIVE_UPDATE_TABS_REDUCER","LIVE_UPDATE_TABS_BATCHED_REDUCER","CLOSE_ONE_DRILLDOWN_REDUCER","UPDATE_PRIMARY_TAB_REDUCER","TAB_DETAILS_TITLE","TAB_LOADING","SCREEN_STATUS_ACTION_CLOSED","SCREEN_STATUS_ACTION_CLOSE_IF_CLEAN","TOOLBAR_RESIZED","TOOLBAR_OVERFLOW_BUTTON_LABEL","CANVAS_NEW_TAB_MARK","CUSTOM_DOUBLE_CLICK","MARKS","CLICK_L1_MENU","CLOSE_TAB","CLICK_TAB_MENU_ITEM","NEW_TAB","EXCEED_MAX_TABS","TOOLBAR_BUTTON_CLICKED","TOOLBAR_ACTIVE_BUTTON_SET","TOOLBAR_ACTIVE_BUTTON_UPDATED","TOOLBAR_OVERFLOW_MENU_FOCUS","TOOLBAR_OVERFLOW_MENU_INDEX_CHANGED","TOOLBAR_OVERFLOW_TAB_KEY_PRESSED","TABS_REARRANGED","DND_OPERATION","freeze","none","dragStart","dragOver","dragEnd","drop","keyup","keyDown","completed","waitingForAnimationCompletion","doubleClickDragStart","doubleClickDragOver","doubleClickDragEnd","USER_META_KEYS","SYS_ID","FIRST_NAME","LAST_NAME","FULL_NAME","ROLES","AVATAR","INITIALS","TIME_ZONE","TIME_FORMAT","LANGUAGE","TIME_ZONE_OFFSET","SN_CANVAS_SIDEPANEL_TOGGLE_OPENED","UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS","FLOATING_TAB_BASE_STYLES","display","alignItems","borderRadius","fontSize","zIndex","pointerEvents","lineHeight","paddingRight","boxShadow","outline","boxSizing","PRIMARY_TITLE_STYLES","SECONDARY_TITLE_STYLES","TITLE_OVERFLOW_STYLES","TITLE_CONTAINER_STYLES","FLOATING_TAB_CONTENT_STYLES","DIRTY_INDICATOR_STYLES","PRIMARY_ICON_STYLES","SECONDARY_ICON_STYLES","RESOLVE_STAGED_NOTIFICATIONS","SIZE_MAP","ACTIVE_DRAG_EVENTS","DRAG_TERMINATION_EVENTS","backdrop","canClose","isTitleClickable","SnCanvasSidepanel","mouseDownInside","isDragging","onMouseUpBackdrop","setTimeout","onMouseDownPanel","onMouseMovePanel","cursor","snCanvasSidepanelStyles","slots","cssText","behavior","focusBehavior","options","trap","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__","TOOLTIP_HIDE","TOOLTIP_SHOW","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__","klona","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__","a11yPreferences","getUserPrefContext","LEFT","BOTTOM","TOP","RIGHT","AUTO","valToPx","val","transformSecondaryContent","secondaryContent","Array","isArray","fieldLabel","displayValue","props","sortedSegments","showTopDivider","segment","segmentIndex","_segment$lifecycle","_segment$blocks","lifecycle","removeOnActivation","blocks","block","blockIndex","_renderTextBlock","maxLines","sizeClassMap","small","medium","large","_renderLabelValuePairBlock","transformedBlockContent","items","tooltipPositions","buildVisibleAndOverflowList","tabList","totalWidth","selectedTabId","visibleList","selectedTabIdx","tab_id","selectedTab","isSelectedPrimaryTab","isPrimaryTab","maxTabWidth","maxTabWidthL1Item","standardTabSpace","L1ItemTabSpace","count","tabWidth","overflowList","newTabSpace","Math","floor","max","minTabWidth","newTabList","slice","lastVisibleIdx","splice","it","itemType","itemOrder","isDetailsTab","minWidth","maxWidth","getTabStyle","tabOrder","_getChildElement","parent","childTag","childElementCount","from","children","insertTooltipEl","nowTooltip","appendChild","removeTooltipEl","HTMLElement","removeChild","popoverListener","handlePopoverInsert","elm","detail","button","firstElementChild","popoverContent","lastElementChild","removeAttribute","setAttribute","resetEvent","CustomEvent","bubbles","reset","dispatchEvent","_popoverHandler","handlePopoverDestroy","isRtl","dir","handleRtlFn","ltrDir","rtlDir","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","dropEffect","Keys","ArrowLeft","ArrowRight","getDragStateFromElement","dragElm","hostId","getAttribute","tabsData","tabId","parentTabId","movingStartTabIndex","tabData","dragState","isRTL","posInfo","targetIndex","parentRect","startIndex","prevPositions","Map","DragEvent","dropTime","keyDownCounter","isDoubleClickActive","parentLi","getBoundingClientRect","toJSON","posX","index","boundingRect","itemInfo","abs","setTabsContainerPointerEvents","_coeffects$host","tabsContainer","handleDragStart","composed","customComposedPath","composedPath","HTMLAnchorElement","classList","contains","dndState","rect","floatingTabElement","originalTab","floatingTab","titleHTML","getTitleText","element","textContent","primaryTitle","secondaryTitle","hasPresenceIndicator","hasIcon","hasSecondaryIcon","presenceHtml","getHtmlForElement","iconHtml","color","secondaryIconHtml","getFloatingTabTitle","innerHTML","dynamicStyles","applyFloatingTabStyles","createCleanFloatingTab","initialClientX","initialClientY","initialTabLeft","initialTabTop","dataTransfer","effectAllowed","slidItems","newTargetIndex","prevStatus","prevTargetIndex","prevPosInfo","currentPosInfoMap","itemWidth","draggingItemWidth","draggingItemOffsetX","keyframeOptions","duration","fill","directionMultiplier","offsetToBeShifted","async","applyAnimation","tabInfo","offset","animation","animate","composite","getKeyframes","finished","cancel","li","currentTabInfo","handleDragOver","hostIndex","minimumLeft","offsetX","prevItemInfo","isInvalidDrop","handleDrop","paths","runningAnimations","triggerEvent","startTab","track","previousPosition","newPosition","actionType","KeyboardEvent","tabsLevel","Date","now","getAnimations","isResolved","all","wrapperSelector","iconSelector","defaultStyles","_originalTab$querySel","styleUpdater","clone","cloneNode","outerHTML","_move","next","currentId","containerElm","focusedElmIndex","toBeFocusedIndex","_moveLeft","_moveRight","shouldRenderVisualIndicators","parseInt","fn","eventProps","showTooltip","handleTooltipShow","hideTooltip","handleTooltipHide","showTabPreviewTimer","tab","tabType","isSelected","isHighlighted","dndStatus","isShowHiddenControlsEnabled","draggingTabId","focusTabId","tooltipPosition","parentTitle","table","hasUpdate","iconStatus","isDirty","tooltipPreview","tooltipSegments","highlightedValue","isWider","TAB_DESCRIPTION_ID","shouldRenderTabPreview","tabRef","tabPreviewRef","shouldRenderSecondaryLabel","classname","isCurrentlyDragging","tmpClassList","_buildClassName","mouseEnterListener","escapeKeyListener","mouseEnterHandler","containerStyle","tabPreviewContainer","tabPreview","add","applyStyles","rule","handleTabPreviewEsc","mouseLeaveHandler","mouseLeaveListener","remove","showTabCloseBtn","closeBtn","current","hideTabCloseBtn","_clearPopoverTimers","clearTimeout","_showFormPreview","tooltip","placement","targetRect","tooltipRect","horizontalCenterOffset","verticalCenterOffset","targetLeft","targetTop","OFFSET","tooltipLeft","tooltipTop","innerHeight","innerWidth","getCenterPositioning","_hideFormPreview","Event","_moveNext","_movePrevious","_onKeyUp","keyCode","onKeyUp","ctrlKey","shiftKey","_onClose","onCloseTab","tabTitle","unreadCount","Number","formatUnreadMessageCount","titlePart","ariaLabel","isDraggable","tabIndex","buildEventHandlersForTooltip","delay","draggable","onClickTab","_onMouseEnter","_onMouseLeave","on-focusin","on-focusout","_renderStatusIndicator","configIconAria","configAria","_renderIcon","_renderSecondaryTitle","_renderHighlightedValue","showIcon","_renderCloseBtn","hideButtonClassName","on-mouseenter","chromeTabsUtils","on-mouseleave","_insertTooltipEl","_renderTabPreview","transformedSecondaryContent","segments","sort","b","order","tabDescription","_segments$flatMap","parts","flatMap","seg","_seg$blocks$map","_seg$blocks","buildTabDescription","CanvasTabSegments","FLYOUT_MENU_ITEM_CLICKED","menuItems","onItemClick","hidePopover","selectedMenuItem","menuItem","transformedItems","flyoutItems","constrain","CanvasOverflowItem","isNodeFocused","styleClass","closeBtn_tooltip","_onItemClick","_onItemClose","onItemClose","elmRef","onNodeFocus","TabOverflow","optionItems","highlightIndex","OptionItem","usingKeyboard","_className","buttonClassName","liClassName","buttonAttrs","ControlMenu","m","COMPONENT_RENDERED","hoistHost","meta","_properties$menuItems","currentIndex","itemLength","_handler","_highlightIndex","onNewTab","nowPopover","triggerEl","_action$payload","newMenu","handleMouseMove","shouldRenderWhenSet","snCanvasTabsMenuEventHandlers","snCanvasTabsMenuActionHandlers","activeElement","onArrowUp","newIndex","onArrowDown","handleKeyPressed","_coeffects$action","handler","tabs","nextHighlightIndex","tabOverflowMenuEventHandlers","tabindex","slot","tabOverflowMenuActionHandlers","overflowDisabled","tabsMaxOpen","stopperPrompt","tabsToCloseQueue","parentTabTitle","focusedTabIndex","onShowModal","closedTabsMenu","showInteractionLoader","visibleAndOverflowList","tabsMaxWidth","_transformedMenuItems","closeMenu","activeTab","isPivotActive","isDetailsTabTheOnlyOtherTab","closeMenuItems","_meatBallPopOverRef","_newMenuPopOverRef","_hidePopover","_onClickTab","_propagateTabFocusUpdate","dispatchFn","_onClickMenuItem","idx","onMenuClose","closeMenuLabel","closeMenuAriaLabel","disableTrigger","closeMenuTooltipContent","overflowClassNames","badgeCount","hasOverflowUpdate","overflowButtonId","_getAriaOwns","_visibleList","_selectedTabId","_focusedTabIndex","CanvasTab","renderTabOverflow","numVisibleTabs","overflowLabel","overflowPopover","updateVisibleList","overflowTab","visibleListLastIndex","overflowTabIndex","_renderNewMenu","buttonId","tooltipContent","_renderMenuPopover","_elm","_renderTabOpenAlert","openDialog","warningMessage","buttonTitle","clickActionType","firstTabInQueue","skipConfirmation","dirtyModalId","showCustomConfirmation","confirmationStatus","showCustomWarning","hasWarning","warningModalId","screenNowId","_renderTabCloseConfirmation","_closeMenuItems","refit","defer","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__","uiInteractionBehavior","uiInteractionActions","uiInteractionUtils","UI_INTERACTION_LOAD_STARTED","UI_INTERACTION_LOAD_SUCCEEDED","UI_INTERACTION_LOAD_FAILED","UI_INTERACTION_START_REQUESTED","clickTimer","lastClickTime","_funcs","runFuncs","values","GlobalResizeListener","runImmediately","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__","defineMetric","getInteractionId","mark","tabsConfig","valid_max_tabs_min","valid_max_tabs_max","non_records","constants","getMaxTabLimit","tabsConfigProperty","_tabsConfigProperty$m","_tabsConfigProperty$m2","mainLimit","maxMainTabLimit","subLimit","maxTotalSubTabLimit","getMaxHistoryTabLimit","isInteger","maxHistoryTabLimit","PRIMARY_TAB_MAP","CONTEXTUAL_TAB_MAP","TAB_TITLE_CACHE_BY_SCREEN","initTabConfig","tabConfig","primaryRoute","createPrimaryTabMap","contextual","config","createContextualTabMap","getPrimaryTabMap","generateContentKey","fields","route","interopContext","reduce","hash","isDependent","expKey","getContentKey","_selectedContent","selectedContent","uid","multiInstField","generateL2TabKey","l2Key","l1Key","contextualRouteSelected","maxTabsPrompt","buttonAction","propagateFlag","flag","flagValue","parentTab","some","applyToAllTabs","objToApply","filterFn","flagsArr","newTabsData","entries","subTabId","subTab","getTabById","getAllContentKeys","contentKeys","traverse","shouldUpdateTabData","preTabsData","nextTabsData","experienceId","reachedTabLimit","nextActiveTab","reached","preTabList","nextTabList","preMainTabCount","countMainTabs","nextMainTabCount","preSubTabCount","countSubTabs","nextSubTabCount","totalTabCount","isReachingTabsLimit","getSelectedTab","subTabs","updateSelectedTabs","tabReducer","root","currNode","applyToSelectedTabs","clearUpdateFlag","getNavItemSelectedPayload","navItemSelectedPayload","drillDowns","drillDownPayload","drillDownsArr","rest","_objectWithoutPropertiesLoose","_excluded","j","getActiveLeafTabId","_buildContentKeySet","contentKeySet","Set","contentKey","drilldown","_buildRemovedTabs","removedTabIds","_tab","isMainTab","withNoSubTabs","isCloseable","isLeafSubTab","isLeafTab","annotation","annotateRemovedSubTab","parentKey","currentTab","findParentKey","getRemovedTabs","_tabsData","_newTabsData","oldTabIds","newTabIds","_results","unshift","findRemovedTabIds","oldContentKeySet","newContentKeySet","removedContentKeys","removedTabs","getPrimaryTab","filterSelectedContent","_excluded2","tabResolutionStrategyMap","ACTIVE_OR_FIRST_SESSION_TAB","getTabToDelete","screenKey","tabToDelete","matchScreenContentWithActivityLeaf","tabValue","matchScreenContent","canCloseTab","hasDirtyTabInHierarchy","_currentTab","_currentTab2","_currentTab$isDetails","_currentTab3","_currentTab4","_currentTab5","_currentTab6","_currentTab7","_currentTab8","TAB_CLOSE_NAMES","getTabHierarchy","types","trackClosedTabs","closedFromMenu","_selectedContent$fiel","_selectedContent$fiel2","_selectedContent$fiel3","_selectedContent$fiel4","record","sysId","trackTabClick","_selectedContent$fiel5","_selectedContent$fiel6","_selectedContent$fiel7","_selectedContent$fiel8","tab_ids","trackEvent","numOfTabs","_menuItem$routeInfo$f","_menuItem$routeInfo","_menuItem$routeInfo$r","_menuItem$routeInfo2","routeInfo","match","toUpperCase","tabsOpened","trackTopNav","trackMaxTabsReached","snCanvasTabsEventHandlers","anchor","isTabMoveKey","doKeyboardAction","stopImmediatePropagation","tabsDragUtils","modifiers","COMPONENT_TREE_RENDERED","COMPONENT_RENDER_REQUESTED","initFlyoutMenu","constructClosedTabs","tabKeys","closedTabs","flyoutMenu","getClosedTabs","subTabKeys","tabsLifeCycleHandlers","nowId","clientWidth","_previousValue$root","_value$currentRootTab","_previousValue$curren","showSubTabsHideAnimation","hasRootTabChanged","currentRootTabId","hasSubTabChanged","_properties$closedTab","closedTabsData","_tabsData$root","tabsActionHandlers","maxIndex","_ref9","canvasTabs","_tabsData$dndState$pa","tabListChanged","newTabMenu","menuConf","handleDelayedClick","singleClickAction","singleClickPayload","timeSinceLastClick","mouseEvent","MouseEvent","_onDblClickTab","_onCloseTab","_onCloseTabHandler","_onClickSubTabs","_onCloseSubTab","_onClickCloseMenuItem","_onClickNewMenuItem","interactionInfo","_routeInfo","_onShowModal","modalID","screenRef","getComponentById","modalId","_renderBackButton","iconStart","_getDrillDowns","showHiddenControls","GLIDE_UI_ACCESSIBILITY_SHOW_HIDDEN_CONTROLS","canvasTabBars","depth","_type","_tabsData$currSelecte","_state$context","currTabList","currSelectedTabId","selectedPrimaryTabId","isSubTabs","hideDetailsTab","CanvasTabBar","context","shift","_renderTabBars","header","tooltipBehavior","truncationBehavior","getTab","isParentDirtyAfterChildClose","tabToClose","siblingTab","parentHasWarningAfterChildClose","updateParentTabOnChildUpdate","childTab","updateParentTabOnChildClose","childTabToClose","newSelectedTabId","childContentKeys","shouldCloseParent","closeTabById","updateParent","updatedTabsData","childTabId","getTabsToCloseQueue","tabFilter","queueItem","getSessionStorageKey","getTime","getStorageKeyChatOnPageMap","getStorageKeyClosedTabs","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__","getProperty","initState","isSubTabKey","createTabEntry","selectedTabKey","divideTabsIntoL1AndL2","tabIds","l1Tabs","l2Tabs","acc","parentContentKey","isDetailTab","l1TabsGroup","closedL2TabsWithoutParent","removeL2Tabs","numTabsToRemove","keysToRemove","removeL1Tabs","removeExcessTabs","limit","min","_closedTabs$key","numL1Keys","removeExcessTabsFromInput","tabsGroup","l1Keys","numTabsToAdd","isL1Closed","l1KeysToRemove","removeExcessTabsFromExistingTabs","l1TabIds","l1TabId","newSize","filterDuplicates","existingList","newKeys","newKeysSet","filteredList","processClosedTabGroup","l2TabIds","updates","l2Keys","l2TabId","l2Tab","reverse","processClosedTabGroups","update","rootTabList","createContentPayload","encodedPersistedState","createSelectedContentPayload","purgeSubTabFromClosedTabs","newSubKeys","openedKeys","updatedParentTab","LOCAL_STORAGE","SESSION_STORAGE","storageNamespace","nextTabId","getNextTabId","getStorageType","storedTabsData","getItem","JSON","parse","getStoredTabs","storageType","storedtabsData","_storedtabsData","saveTabs","_window$ux_globals","session","output","user","setItem","preProcessSelectedContent","_rootContent","drillDown","_contextualRouteSelected","contextualRoute","_primaryRouteSelected","primaryTabMap","primaryRouteSelected","getInitPrimaryTabData","primaryTab","sortedTabData","fromEntries","getPrimaryTabByOrder","viewportInfo","getTabDefinition","getTabPayload","selectedContentStack","tabNode","_excluded3","pop","locateTabs","cachedTabTitle","reducerTypeMap","passiveNavigation","transformedPayload","generators","_properties$tabConfig","storedTabContent","tabUtils","primaryTabData","tabConfigPrimaryRoute","_tab$id","setPrimaryTab","reduceTabs","initTabs","primaryTabId","newSelectedContent","newTabsDataClone","selectedParentTab","filteredSegments","liveUpdateTabs","curr","_excluded4","newContent","restPrimaryTab","_excluded6","primaryTabPropData","primaryTabContent","rootSelectedTabId","tabsDataNew","reduceTabsData","reducer_type","reducer","uxrEnableDebug","caller","doVerify","verified","errors","verifyTab","verifyTabs","debug","verifyTabsPrivate","saveNewTabsData","topTabId","topTabContentKey","tabsObj","screenParams","hasError","clearSegments","tooltipPreviewWithoutSegments","prevTabsData","closeTabs","deletedTabsIds","inbound","newContentKey","_excluded5","captured","isInterop","tabsRequiringContentUpdate","_length","_contentKeys","_fields","oldContentKeyValue","updateContentKeys","nonDetailsObj","setTabTitleCacheByScreen","screenId","isTooltipPreviewEmpty","hasTooltipSegments","hasClearSegments","getTabByContentKey","mergedSegments","existingSegments","newSegments","idsToClear","existingSegmentMap","newSegment","mergeTooltipSegments","childTabIndex","saveChatOnPageMapToStorage","chatOnPageMap","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","keyboardShortcutBehavior","setActionState","setActionStateForShortcut","tabsDataEffectWrapper","tabsDataCopy","storedTabsContent","_payload","skipNextScreenActivation","stopper","selectedContentCurrent","redirect","allowAdditionalTabs","allowInitialTabs","selectedContentForInitialTabs","initContent","propertyUpdates","sessionClosedTabsData","results","_results$removedTabs","_results$removedTabs2","closedTabInfo","closedMainTabs","closedSubTabs","hasOwn","getClosedTabInfo","screenKeys","closedNavigationIds","closedIdsInfo","selectedContentNew","addedTabKeys","selectedContentKey","addedTabIds","updatedClosedTabs","purgeKeysFromClosedTabs","_updatedClosedTabs$ke","openSubTabs","subKeysSet","openedSubTabKeys","subtabId","subtab","delete","updatedRootTabList","tabKey","tabCloseClickedEffect","tabFilterAll","tabFilterOther","ignoreDirty","activityKeys","mainTabCloseConfirmedEffect","newtabsToCloseQueue","mainTabCloseCancelledEffect","mainTabNewAlertClearedEffect","loadTabConfigFromCache","tabConfigFromProps","tabElements","querySelectorAll","modalClosedEffect","actionTabsDataEffectMap","_implicitTabResolution","_tabResolutionStrategy","_tabId","reducerPayload","_state$behaviors$keyb","_state$behaviors","registeredComponentId","componentRegistrationAcknowledgementId","reducedTabsData","activeTabContent","experienceName","currTabsData","screenUpdates","pendingConfirmation","componentId","_","closedTabIds","processClosedTabs","filteredL1TabsGroup","filteredClosedL2TabsWithoutParent","subKey","extractKeys","subTabContent","getInitReopenSubTabData","_content$drillDowns","subKeys","l1SelectedContent","selectedContents","parentTabContent","selectedSubTabIndex","subTabContents","detailsTabContent","subContent","getInitReopenTabData","tabsDataActionHandlers","tabEffect","args","rootActionHandlers","tabsUnloadHandler","stringify","saveClosedTabs","previousTabConfig","updatedClosedTabsData","handleTabConfigPropChange","handleSelectedContentPropChange","prevSelectedContent","handleChangedScreenContentPropChange","previousChangedScreenContent","changedScreenContent","new_items","all_items","isScreenKeyUpdated","shouldAddInbound","handleScreenCloseConfirmationChange","screenCloseConfirmation","handlePrimaryTabPropChange","handleActiveRecords","activeParentId","activeRecords","_selectedTab$selected","selectedContentFields","chatOnPageMapKey","canBeActiveRecord","activeRecord","hasChatOnPage","checkHasHoistContentData","screensToCloseQueue","tabsToClose","screen","handleScreensToCloseQueueChange","shouldUpdate","sys_id","storedChatOnPageMap","getChatOnPageMapFromStorage","isMainSessionTab","tabsDataBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateSubscriberBehavior","getDirtyStateManager","_window2","uxf","dirtyStateManager","Error","callbackFn","screenStatusChangedActionPayload","subscriberUpdatePropertiesFn","ROOT_TAB_KEY","leafTabs","currentScreenDirtyState","isScreenDirty","leafTab","actionMap","rootId","traverseTabs","deeper","_host$querySelectorAl","_host$querySelectorAl2","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__","filterAriaAttributes","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__","createAmbSubscriptionEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","RECORD_WATCHER","SUBSCRIBE_STARTED","SUBSCRIBED","SUBSCRIBE_FAILED","UNSUBSCRIBED","ITEM_CHANGED","SUBSCRIPTION_CHANGED","AGGREGATE_COUNT","FETCH","STARTED","SUCCEEDED","FAILED","handleBadgeCountFetch","variableList","startActionType","successActionType","errorActionType","handleRecordWatcher","subscribeStartedActionType","subscribeSucceededActionType","subscribeFailedActionType","unsubscribeSucceededActionType","messageReceivedActionType","_getSubscriptionArgs","subscribe","btoa","handleBadgeCountFetchSuccess","badge","_get","handleBadgeCountFetchFailure","handleItemChanged","countUpdate","onConnect","_has","configurations","onDisconnect","COMPONENT_BOOTSTRAPPED","badgeCountEffect","badgeCountBehavior","actions","SUBSCRIBED_STARTED","SUBSCRIBED_FAILED","presence","table_name","presenceEffect","presenceBehavior","getAriaRole","group","availability","isOverflow","snCanvasToolbarButton","ariaPressedCheckedOrSelected","selected","buttonClickedId","checkToolbarFocus","round","_renderBadge","_renderPresence","snCanvasToolbarButtonStyles","SN_CANVAS_TOOLBAR_BUTTON_CLICKED","_host$shadowRoot","buttonToClick","click","_host$shadowRoot2","overflowItems","horizontal","topOverflowItems","bottomOverflowItems","overflowItemsInBothGroups","snCanvasToolbarOverflowMenuStyles","isOpen","snCanvasToolbarOverflow","hideTail","snCanvasToolbarOverflowStyles","SN_CANVAS_TOOLBAR_OVERFLOW_ITEM_CLICKED","overflow","focusOnOverflowButton","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__","getButtonElementRef","toolbarButtonRef","getToolbarButtonRefByIndex","getToolbarButtons","toolbarButtonGroupEls","toolbarButtonEls","grpEl","btn","getActiveToolbarButton","setButtonSelectionByRoute","buttons","_find","preserveViewportOpened","lastActiveButton","getLastActiveButton","loadViewport","toolbarButtons","isViewportWithRoute","getResolvedProperties","toolbarButtonsLastIndex","currentToolbarButtonIndex","activeToolbarButton","_findKey","toolbarButton","getActiveToolbarButtonIndex","currentToolbarButton","currentButtonElm","arrowA","arrowZ","nextToolbarButton","isOverflowCurrentElm","resetViewportSelection","_filter","_findIndex","newToolbarButtons","reinitialize","setActiveButton","activeButton","activeRoute","buttonRoute","restRoute","updateToolbarButtonsWithActiveBtn","_getToolbarButtonByRoute","resetSizeAndViewportInfo","isRoute","getStorageKey","registerToolbarRouteLabels","titles","buttonObj","getStoredToolbarButtons","storedToolbarButtons","storedUserId","_storedToolbarButtons","CLICK_TOOLBAR_BUTTON_SHORTCUT","FOCUS_TOOLBAR_BUTTON_SHORTCUT","handleToolbarButtonClicked","toggledButtons","isViewport","buttonIndex","newToggledButtons","isViewportEmptyPageLoaded","viewportEmptyPageLoaded","handleActiveButtonSet","handleActiveButtonUpdated","handleComponentConnected","handleComponentDisconnected","toolbarObserverRef","unobserve","nowRootNode","handlePropertyChanged","saveToolbarButtons","handleComponentTreeRendered","actionKey","condition","COMPONENT_ERROR_THROWN","snCanvasToolbarEffect","firstRenderOnConnect","toolbarResizeObserver","ResizeObserver","entry","contentRect","parentSize","FIRST_PANEL_FOCUSED","renderButton","show","roles","operator","enum","plugin","viewportElementId","snCanvasToolbar","toolbarButtonsTop","toolbarButtonsBottom","visibleButtons","overflowButtons","measureButtons","toolbarSize","toolbarLength","visibleButtonCount","activeButtonOverflowIndex","updateVisibleButtons","activeButtonIndex","displacedButton","renderOverflow","snCanvasToolbarStyles","resizeBehavior","timer","wait","keyBindingBehavior","keyBindings","onKeyPress","handlers","_host$shadowRoot3","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__","UCM_DIALOG_CLOSED","UCM_HEADING","FOOTER_ACTIONS","alert","consentValue","confirm","ucmActionHandlers","ucmConfig","template","DOMPurify","setTargetRef","hook-destroy","getFieldValueFromViewportInfo","field","getFieldsFromViewportRoutes","viewportRoutes","newFields","viewportRouteConfig","rc","routeType","f","viewportOpened","getParamsFromViewportRoutes","newParams","_forOwn","_forEach","p","sessionStorageKey","currentActiveButton","preload","loadViewportWithFieldsAndParams","parentNode","ShadowRoot","expShellId","handleComponentDOMReady","includesFieldsParams","handleComponentPropertyChanged","onIsExperienceActiveChange","maxTabLimit","onMaxTabLimitChange","onActiveParentIdChange","onActiveRecordsChange","onViewportRoutesChange","snCanvasViewportEffect","isExperienceActive","snCanvasViewport","snCanvasViewportStyles","IS_LOGGED_IN","gLoggedIn","DESTINATION_URL","destinationUrl","initPath","landingPath","USER_META_REQUEST","USER_META_REQUEST_STARTED","USER_META_REQUEST_SUCCEEDED","USER_META_REQUEST_FAILED","VIEWPORT_SELECTED","PRIME_NAV_SOURCE_CHANGED","handlePropertyChange","toolbarButtonsConfig","handleButtonUpdate","select","hasUpdates","updateButtonIcon","updateButtonPresenceStatus","updateButtonBadgeCount","setButtonSelection","setButtonVisibility","handleViewportSelection","handlePrimaryTabUpdate","chromeStateEffect","userMeta","getUserMetaFromUxGlobal","UX_GLOBALS","sessionUserInfo","userKey","mapUserMeta","loginRedirectUrl","isLoggedIn","__TECTONIC__sn_canvas_chrome"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-flyout-menu/_style.scss","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-tabs-menu/_style.scss","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/tab-overflow/_tabOverflowStyles.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-content/_sn-canvas-content.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-corner-dialog/_sn-canvas-corner-dialog.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-iframe/_sn-canvas-iframe.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/sn-canvas-login.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidebar/_sn-canvas-sidebar.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidepanel/_sn-canvas-sidepanel.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabs/_sn-canvas-tabs.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/_sn-canvas-toolbar-button.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/_sn-canvas-toolbar.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow-menu.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow.scss","webpack:///sn-canvas-chrome/src/components/sn-canvas-viewport/_sn-canvas-viewport.scss","webpack:///./src/components/internal/canvas-tabbar/subcomponents/sn-canvas-flyout-menu/_style.scss?6ac8","webpack:///./src/components/internal/canvas-tabbar/subcomponents/sn-canvas-tabs-menu/_style.scss?a58a","webpack:///./src/components/internal/canvas-tabbar/subcomponents/tab-overflow/_tabOverflowStyles.scss?869b","webpack:///./src/components/sn-canvas-content/_sn-canvas-content.scss?2608","webpack:///./src/components/sn-canvas-corner-dialog/_sn-canvas-corner-dialog.scss?56e4","webpack:///./src/components/sn-canvas-iframe/_sn-canvas-iframe.scss?f7a9","webpack:///./src/components/sn-canvas-login/sn-canvas-login.scss?d746","webpack:///./src/components/sn-canvas-sidebar/_sn-canvas-sidebar.scss?2d2d","webpack:///./src/components/sn-canvas-sidepanel/_sn-canvas-sidepanel.scss?6e1a","webpack:///./src/components/sn-canvas-tabs/_sn-canvas-tabs.scss?8aec","webpack:///./src/components/sn-canvas-toolbar/_sn-canvas-toolbar-button.scss?624a","webpack:///./src/components/sn-canvas-toolbar/_sn-canvas-toolbar.scss?b3dc","webpack:///./src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow-menu.scss?c819","webpack:///./src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow.scss?1b0e","webpack:///./src/components/sn-canvas-viewport/_sn-canvas-viewport.scss?906c","webpack:///@babel/runtime/7.28.3/helpers/extends.js","webpack:///@babel/runtime/7.28.3/helpers/objectWithoutPropertiesLoose.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.0.24/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-content/sn-canvas-content.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-heading/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-corner-dialog/positions.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-corner-dialog/absolutePositions.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-corner-dialog/sn-canvas-corner-dialog.js","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.0/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-error/constants.js","webpack:///external module \"/uxasset/externals/sn-canvas-common/29.2.17/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-error/sn-canvas-error-helpers.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-error/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-error/sn-canvas-error.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.0.24/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/utils.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/i18n.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/actionHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/now-input/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/sn-canvas-login.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-iframe/constants/index.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-iframe/sn-canvas-iframe.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///sn-canvas-chrome/src/behaviors/draggable/onDrag.js","webpack:///sn-canvas-chrome/src/behaviors/draggable/setTranslate.js","webpack:///sn-canvas-chrome/src/behaviors/draggable/draggableEffect.js","webpack:///sn-canvas-chrome/src/behaviors/draggable/clearTranslate.js","webpack:///sn-canvas-chrome/src/behaviors/draggable/draggableBehavior.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidebar/sn-canvas-sidebar.view.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidebar/sn-canvas-sidebar.js","webpack:///sn-canvas-chrome/src/constants/constants.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidepanel/utils.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidepanel/sn-canvas-sidepanel.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-sidepanel/positions.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/28.0.24/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/28.0.24/index.jsdbx\"","webpack:///external module \"/uxasset/externals/klona/2.0.6/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-ux-core/28.0.4/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-highlighted-value/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/canvas-tab/canvas-tab-preview.util.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/canvas-tab/canvasTabSegments.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/utils/utils.js","webpack:///sn-canvas-chrome/src/utils/rtl.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/utils/tabsDragUtils.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/utils/canvasTab-helpers.js","webpack:///sn-canvas-chrome/src/utils/getEventbindingsForTooltips.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/canvas-tab/canvasTab.js","webpack:///external module \"/uxasset/externals/@servicenow/now-flyout-menu/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-flyout-menu/constants.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-flyout-menu/sn-canvas-flyout-menu.effects.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-flyout-menu/sn-canvas-flyout-menu.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/tab-overflow/canvasOverflowItem.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/tab-overflow/tabOverflow.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/option-item/optionItem.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/control-menu/controlMenu.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-tabs-menu/sn-canvas-tabs-menu.actions.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-tabs-menu/sn-canvas-tabs-menu.events.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/sn-canvas-tabs-menu/sn-canvas-tabs-menu.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/tab-overflow/tab-overflow-menu.effects.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/tab-overflow/utils/utils.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/tab-overflow/tab-overflow-menu.eventHandlers.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/subcomponents/tab-overflow/index.js","webpack:///sn-canvas-chrome/src/components/internal/canvas-tabbar/canvasTabBar.js","webpack:///external module \"/uxasset/externals/@devsnc/behavior-ui-interaction/index.jsdbx\"","webpack:///sn-canvas-chrome/src/utils/behavior-ui-interaction-fallback.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabs/sn-canvas-tabs.view.js","webpack:///sn-canvas-chrome/src/utils/global-resize-listener.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-metrics/index.jsdbx\"","webpack:///sn-canvas-chrome/src/constants/canvas_config.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/utils/tabsData.config.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/utils/tabsData.utils.js","webpack:///sn-canvas-chrome/src/utils/marks.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabs/sn-canvas-tabs.eventHandlers.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabs/sn-canvas-tabs.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.closeTabs.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/utils/browser.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/26.0.0/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.reopenTabs.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.storage.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.generators.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.reducers.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/utilityPanel.storage.js","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsData.effects.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/utils/utilityPanel.utils.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/behaviors/tabsDataBehavior.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/utils/dirtyStateHandler.utils.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/sn-canvas-tabsdata.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-tabsdata/helpers/dirtyStateHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/28.0.24/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/library-enhanced-utils/28.0.24/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-amb/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///sn-canvas-chrome/src/behaviors/badge-count/badgeCountEffect.js","webpack:///sn-canvas-chrome/src/behaviors/badge-count/badgeCountBehavior.js","webpack:///sn-canvas-chrome/src/behaviors/presence/presenceEffect.js","webpack:///sn-canvas-chrome/src/behaviors/presence/presenceBehavior.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/sn-canvas-toolbar-button.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow-menu.js","webpack:///external module \"/uxasset/externals/@servicenow/now-rich-text/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/overflow/sn-canvas-toolbar-overflow.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-key-binding/28.0.24/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/utils/elements.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/utils/helpers.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/utils/storage.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/snCanvasToolbarEffect.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/sn-canvas-toolbar.effects.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/sn-canvas-toolbar.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/schemas/toolbar-buttons-schema.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-toolbar/schemas/router-schema.js","webpack:///external module \"/uxasset/externals/dompurify/3.3.1/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-ucm/sn-canvas-ucm.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-viewport/utils/index.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-viewport/loadViewportUtils.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-viewport/snCanvasViewportEffect.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-viewport/sn-canvas-viewport.js","webpack:///sn-canvas-chrome/src/state-managers/utils.js","webpack:///sn-canvas-chrome/src/state-managers/chromeStateEffect.js","webpack:///sn-canvas-chrome/src/state-managers/sn-canvas-chrome-state.js","webpack:///sn-canvas-chrome/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}now-flyout-menu-list{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));width:14.5rem}@media(max-width:767px){now-flyout-menu-list{width:11.25rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-canvas-tabs-menu{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color--primary-1,30,133,109));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;height:auto;list-style:none;z-index:z(\\\"popover\\\")}.sn-canvas-tabs-menu:focus{outline:none}.sn-canvas-tabs-menu-list{list-style:none;margin:0;padding:0;width:100%}.sn-canvas-tabs-menu-list:focus{outline:none}.sn-canvas-tabs-menu-list.-nested{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-top:1px solid RGB(var(--now-color--neutral-5,172,180,181))}.sn-canvas-tabs-menu-list-item{align-items:center;display:flex;font-size:1rem;height:2rem;overflow:hidden;position:relative}.sn-canvas-tabs-menu-list-item.is-disabled{opacity:var(--now-opacity--mid,.5)}.sn-canvas-tabs-menu-list-item-button{align-items:center;background:transparent;border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;font-size:inherit;height:100%;outline:none;padding:0 .5rem 0 1rem;position:relative;width:100%}:host(:not([dir=rtl])) .sn-canvas-tabs-menu-list-item-button,:root:not([dir=rtl]) .sn-canvas-tabs-menu-list-item-button{text-align:left}:host([dir=rtl]) .sn-canvas-tabs-menu-list-item-button,:root[dir=rtl] .sn-canvas-tabs-menu-list-item-button{text-align:right}.sn-canvas-tabs-menu.--keyboard-mode .sn-canvas-tabs-menu-list-item-button{pointer-events:none}.sn-canvas-tabs-menu-list-item-button.is-active,.sn-canvas-tabs-menu-list-item-button:focus,.sn-canvas-tabs-menu:not(.--keyboard-mode) .sn-canvas-tabs-menu-list-item-button:hover{background:RGB(var(--now-color--primary-0,221,237,233));box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.sn-canvas-tabs-menu-list-item-button>label{cursor:pointer}.sn-canvas-tabs-menu-text{align-items:center;display:inline;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}@media(forced-colors:active){.sn-canvas-tabs-menu-list{border-color:highlight;border-width:1px}.sn-canvas-tabs-menu-list-item-button{background-color:canvas;color:canvastext}.sn-canvas-tabs-menu.--keyboard-mode .sn-canvas-tabs-menu-list-item-button{pointer-events:none}.sn-canvas-tabs-menu-list-item-button.is-active,.sn-canvas-tabs-menu-list-item-button:focus,.sn-canvas-tabs-menu:not(.--keyboard-mode) .sn-canvas-tabs-menu-list-item-button:hover{background-color:highlight;color:highlighttext}.sn-canvas-tabs-menu-list-item-button.is-active span.sn-canvas-tabs-menu-text,.sn-canvas-tabs-menu-list-item-button:focus span.sn-canvas-tabs-menu-text,.sn-canvas-tabs-menu:not(.--keyboard-mode) .sn-canvas-tabs-menu-list-item-button:hover span.sn-canvas-tabs-menu-text{forced-color-adjust:none}.sn-canvas-tabs-menu-list-item.is-disabled,.sn-canvas-tabs-menu-list-item.is-disabled:hover{background-color:canvas;color:graytext}.sn-canvas-tabs-menu-list-item.is-disabled span.sn-canvas-tabs-menu-text,.sn-canvas-tabs-menu-list-item.is-disabled:hover span.sn-canvas-tabs-menu-text{forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-chrome-popover-items{display:inline-block;margin:auto 0;position:relative}.sn-chrome-popover-items.is-open .sn-chrome-popover{display:block;visibility:visible}.sn-chrome-popover-content{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color--primary-1,30,133,109));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;height:auto;list-style:none;width:14.5rem;z-index:z(\\\"popover\\\")}.sn-chrome-popover-content:first-of-type .sn-chrome-popover-content-list:not(:empty){border-bottom:1px solid RGB(var(--now-color--neutral-5,172,180,181))}.sn-chrome-popover-content:focus{outline:none}.sn-chrome-popover-content-text{align-items:center;display:inline;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}.sn-chrome-popover-content-list{list-style:none;margin:0;padding:0;width:100%}.sn-chrome-popover-content-list:focus{outline:none}.sn-chrome-popover-content-list.-nested{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-top:1px solid RGB(var(--now-color--neutral-5,172,180,181))}.sn-chrome-popover-content-list-item{align-items:center;background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;font-size:1rem;height:2rem;overflow:hidden;position:relative}.sn-chrome-popover-content-list-item.has-update:after{background:RGB(var(--now-color_alert--info-2,14,120,196));bottom:0;content:\\\"\\\";left:0;top:0;width:.25rem}.sn-chrome-popover-content-list-item-button{align-items:center;background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;font-size:inherit;height:100%;letter-spacing:inherit;outline:none;padding:0 1.5rem 0 1rem;position:relative;width:100%}:host(:not([dir=rtl])) .sn-chrome-popover-content-list-item-button,:root:not([dir=rtl]) .sn-chrome-popover-content-list-item-button{text-align:left}:host([dir=rtl]) .sn-chrome-popover-content-list-item-button,:root[dir=rtl] .sn-chrome-popover-content-list-item-button{text-align:right}.sn-chrome-popover-content-list-item-button.is-disabled{cursor:not-allowed;opacity:var(--now-opacity--mid,.5);pointer-events:none}.sn-chrome-popover-content-list-item-button.is-focus,.sn-chrome-popover-content-list-item-button.is-hover,.sn-chrome-popover-content-list-item-button:focus,.sn-chrome-popover-content-list-item-button:hover{background:RGB(var(--now-color--primary-0,221,237,233));box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.sn-chrome-popover-section .sn-chrome-popover-content-list-item-button{padding:0 .75rem}:host(:not([dir=rtl])) .sn-chrome-popover-section .sn-chrome-popover-content-list-item-button>now-icon,:root:not([dir=rtl]) .sn-chrome-popover-section .sn-chrome-popover-content-list-item-button>now-icon{margin-right:.5rem}:host([dir=rtl]) .sn-chrome-popover-section .sn-chrome-popover-content-list-item-button>now-icon,:root[dir=rtl] .sn-chrome-popover-section .sn-chrome-popover-content-list-item-button>now-icon{margin-left:.5rem}.has-update .sn-chrome-popover-content-list-item-button{background:RGBA(var(--now-color_alert--info-0,195,221,240),var(--now-opacity--mid,.5))}.has-update .sn-chrome-popover-content-list-item-button.is-hover,.has-update .sn-chrome-popover-content-list-item-button:hover{background:RGBA(var(--now-color_alert--info-1,104,171,218),var(--now-opacity--mid,.5))}.has-update .sn-chrome-popover-content-list-item-button.is-focus,.has-update .sn-chrome-popover-content-list-item-button:focus{background:RGB(var(--now-color--primary-0,221,237,233))}:host(:not([dir=rtl])) .sn-chrome-popover-section.-indented .sn-chrome-popover-content-list-item-button,:root:not([dir=rtl]) .sn-chrome-popover-section.-indented .sn-chrome-popover-content-list-item-button{padding-left:3.25rem}:host([dir=rtl]) .sn-chrome-popover-section.-indented .sn-chrome-popover-content-list-item-button,:root[dir=rtl] .sn-chrome-popover-section.-indented .sn-chrome-popover-content-list-item-button{padding-right:3.25rem}.sn-chrome-popover-content-list-item-button>label{cursor:pointer}.sn-chrome-popover-content-list-item-button>now-icon{flex:0 0 auto}:host(:not([dir=rtl])) .sn-chrome-popover-content-list-item-button>now-icon,:root:not([dir=rtl]) .sn-chrome-popover-content-list-item-button>now-icon{margin-left:.5rem}:host([dir=rtl]) .sn-chrome-popover-content-list-item-button>now-icon,:root[dir=rtl] .sn-chrome-popover-content-list-item-button>now-icon{margin-right:.5rem}.sn-chrome-popover-content-list-item-close{background:transparent;border:none;cursor:pointer;margin-top:-.3125rem;padding:0;position:absolute;top:42%;width:.75rem;z-index:1}.sn-chrome-popover-content-list-item-close::-moz-focus-inner{border-style:none}.sn-chrome-popover-content-list-item-close:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-popover-content-list-item-close:focus-visible{outline:1px solid highlight}}:host(:not([dir=rtl])) .sn-chrome-popover-content-list-item-close,:root:not([dir=rtl]) .sn-chrome-popover-content-list-item-close{right:.5rem}:host([dir=rtl]) .sn-chrome-popover-content-list-item-close,:root[dir=rtl] .sn-chrome-popover-content-list-item-close{left:.5rem}.sn-chrome-popover-content-list-item-close.is-hover,.sn-chrome-popover-content-list-item-close:hover{color:RGB(var(--now-color--primary-1,30,133,109))}@media(forced-colors:active){.sn-chrome-popover-content-list{border-color:highlight;border-width:1px}.sn-chrome-popover-content-list-item-button{background-color:canvas;color:canvastext}.sn-chrome-popover-content-list-item-button:focus,.sn-chrome-popover-content-list-item-button:hover{background-color:highlight;color:highlighttext}.sn-chrome-popover-content-list-item-button:focus span.sn-chrome-popover-content-text,.sn-chrome-popover-content-list-item-button:hover span.sn-chrome-popover-content-text{forced-color-adjust:none}.sn-chrome-popover-content-list-item-button[disabled],.sn-chrome-popover-content-list-item-button[disabled]:hover{color:graytext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-canvas-content{background-color:var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255));color:var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-style:normal;font-variant:normal;height:100%;letter-spacing:inherit;line-height:1.25;margin:0;margin-block-start:0;position:relative;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-spacing:inherit}:host(:not([dir=rtl])) .sn-canvas-content,:root:not([dir=rtl]) .sn-canvas-content{text-align:left}:host([dir=rtl]) .sn-canvas-content,:root[dir=rtl] .sn-canvas-content{text-align:right}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-canvas-corner-dialog{background:var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255));border:1px solid RGB(var(--now-color--neutral-4,191,197,198));border-radius:.25rem;box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));font-style:normal;font-variant:normal;letter-spacing:inherit;min-width:21.875rem;padding:1.5rem;position:absolute;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-spacing:inherit;z-index:4001}:host(:not([dir=rtl])) .sn-canvas-corner-dialog,:root:not([dir=rtl]) .sn-canvas-corner-dialog{text-align:left}:host([dir=rtl]) .sn-canvas-corner-dialog,:root[dir=rtl] .sn-canvas-corner-dialog{text-align:right}.sn-canvas-corner-dialog .sn-canvas-corner-dialog-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.sn-canvas-corner-dialog .sn-canvas-corner-dialog-header .header{align-items:center;display:flex;justify-items:center}.sn-canvas-corner-dialog .sn-canvas-corner-dialog-content{overflow-y:auto}.sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer{margin-top:1.5rem}.sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer .sn-canvas-corner-dialog-footer-button{align-items:center;display:flex;justify-content:flex-end;justify-items:center}:host(:not([dir=rtl])) .sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer .sn-canvas-corner-dialog-button:last-of-type,:root:not([dir=rtl]) .sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer .sn-canvas-corner-dialog-button:last-of-type{margin-left:.25rem}:host([dir=rtl]) .sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer .sn-canvas-corner-dialog-button:last-of-type,:root[dir=rtl] .sn-canvas-corner-dialog .sn-canvas-corner-dialog-footer .sn-canvas-corner-dialog-button:last-of-type{margin-right:.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host .sn-canvas-iframe{height:100%}:host .sn-canvas-iframe>iframe{border:none;height:100%;min-height:350px;overflow-x:hidden;overflow-y:auto;resize:both;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-modal-content-wrapper{position:relative;width:100%}.now-modal-content-wrapper.now-has-overlay{opacity:.5;pointer-events:none}.now-modal-content-wrapper .now-loader-container{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:4001}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.sn-canvas-sidebar{background-color:var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255));border:1px solid RGB(var(--now-color--neutral-13,58,71,72));border-top:none;box-sizing:border-box;height:100vh;width:15rem}.sn-canvas-sidebar.expand{height:100%;width:100%}.sn-canvas-sidebar.-hidden{height:0;visibility:hidden;width:0}.sn-canvas-sidebar.-undocked{background-color:var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255));box-shadow:-.125rem .125rem .25rem 0 RGBA(var(--now-color--neutral-21,0,0,0),.5);height:28.125rem;left:17.25rem;position:absolute;top:15.375rem;width:20.1875rem;z-index:4001}.sn-canvas-sidebar.-undocked .sn-canvas-sidebar-header{cursor:move}.sn-canvas-sidebar.-undocked .sn-canvas-sidebar-content{height:362px}.sn-canvas-sidebar .sn-canvas-sidebar-header{align-items:center;display:flex;height:2.875rem;justify-content:space-between;justify-items:center;padding:1.0625rem .875rem .625rem 1rem}.sn-canvas-sidebar .sn-canvas-sidebar-header .sn-canvas-sidebar-header-title{color:RGB(var(--now-color--neutral-13,58,71,72));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.25}.sn-canvas-sidebar .sn-canvas-sidebar-header .close-icon{cursor:pointer}.sn-canvas-sidebar .sn-canvas-sidebar-content{height:100%;margin:0;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{margin:0;padding:0}.sn-canvas-sidepanel{bottom:0;letter-spacing:normal;position:fixed;top:0;word-spacing:normal;z-index:3000}:host(:not([dir=rtl])) .sn-canvas-sidepanel,:root:not([dir=rtl]) .sn-canvas-sidepanel{right:0}:host([dir=rtl]) .sn-canvas-sidepanel,:root[dir=rtl] .sn-canvas-sidepanel{left:0}:host(:not([dir=rtl])) .sn-canvas-sidepanel,:root:not([dir=rtl]) .sn-canvas-sidepanel{left:0}:host([dir=rtl]) .sn-canvas-sidepanel,:root[dir=rtl] .sn-canvas-sidepanel{right:0}:host(:not([dir=rtl])) .sn-canvas-sidepanel,:root:not([dir=rtl]) .sn-canvas-sidepanel{text-align:left}:host([dir=rtl]) .sn-canvas-sidepanel,:root[dir=rtl] .sn-canvas-sidepanel{text-align:right}.sn-canvas-sidepanel:before{content:\\\"\\\";display:block;height:100%;position:relative;top:0;width:100%}:host(:not([dir=rtl])) .sn-canvas-sidepanel:before,:root:not([dir=rtl]) .sn-canvas-sidepanel:before{left:0}:host([dir=rtl]) .sn-canvas-sidepanel:before,:root[dir=rtl] .sn-canvas-sidepanel:before{right:0}.sn-canvas-sidepanel.-backdrop:before{background-color:RGBA(var(--now-window_overlay--background-color,var(--now-color--neutral-21,0,0,0)),.16)}.sn-canvas-sidepanel-overlay{background-color:RGB(var(--now-navigation-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));height:100vh;overflow:auto;padding:1.5rem;position:absolute}.sn-canvas-sidepanel-overlay.-top{height:23.4375rem;max-height:80%;top:0;width:100vw}:host(:not([dir=rtl])) .sn-canvas-sidepanel-overlay.-top,:root:not([dir=rtl]) .sn-canvas-sidepanel-overlay.-top{left:0}:host([dir=rtl]) .sn-canvas-sidepanel-overlay.-top,:root[dir=rtl] .sn-canvas-sidepanel-overlay.-top{right:0}.sn-canvas-sidepanel-overlay.-bottom{bottom:0;height:23.4375rem;max-height:80%;width:100vw}:host(:not([dir=rtl])) .sn-canvas-sidepanel-overlay.-bottom,:root:not([dir=rtl]) .sn-canvas-sidepanel-overlay.-bottom{left:0}:host([dir=rtl]) .sn-canvas-sidepanel-overlay.-bottom,:root[dir=rtl] .sn-canvas-sidepanel-overlay.-bottom{right:0}.sn-canvas-sidepanel-overlay.-left{height:100vh;max-width:80%;top:0;width:23.4375rem}:host(:not([dir=rtl])) .sn-canvas-sidepanel-overlay.-left,:root:not([dir=rtl]) .sn-canvas-sidepanel-overlay.-left{left:0}:host([dir=rtl]) .sn-canvas-sidepanel-overlay.-left,:root[dir=rtl] .sn-canvas-sidepanel-overlay.-left{right:0}.sn-canvas-sidepanel-overlay.-right{height:100vh;max-width:80%;top:0;width:23.4375rem}:host(:not([dir=rtl])) .sn-canvas-sidepanel-overlay.-right,:root:not([dir=rtl]) .sn-canvas-sidepanel-overlay.-right{right:0}:host([dir=rtl]) .sn-canvas-sidepanel-overlay.-right,:root[dir=rtl] .sn-canvas-sidepanel-overlay.-right{left:0}.sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-overlay-panel{height:100%}.sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header{align-items:center;display:flex;height:4.0625rem;justify-content:space-between}:host(:not([dir=rtl])) .sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header .sn-canvas-sidepanel-oph-icon,:root:not([dir=rtl]) .sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header .sn-canvas-sidepanel-oph-icon{margin-right:1rem}:host([dir=rtl]) .sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header .sn-canvas-sidepanel-oph-icon,:root[dir=rtl] .sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header .sn-canvas-sidepanel-oph-icon{margin-left:1rem}.sn-canvas-sidepanel-overlay .sn-canvas-sidepanel-op-header .sn-canvas-sidepanel-oph-title{color:RGB(var(--now-display-type--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:1rem;margin:0;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-chrome-one-tab-container{padding-left:var(--now-chrome-one-tab-left-padding,0);position:relative}.sn-chrome-one-tab-container:first-child .sn-chrome-one-tab:not(.-default){border-start-start-radius:var(--now-navigation-page_tabs--primary--border-start-start-radius,.25rem)}.sn-chrome-one-tab-container::-moz-focus-inner{border-style:none}.sn-chrome-one-tab-container:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-one-tab-container:focus-visible{outline:1px solid highlight}}:host(:not([dir=rtl])) .sn-chrome-one-tab-container,:root:not([dir=rtl]) .sn-chrome-one-tab-container{text-align:left}:host([dir=rtl]) .sn-chrome-one-tab-container,:root[dir=rtl] .sn-chrome-one-tab-container{text-align:right}.sn-chrome-one-tab{align-items:center;background:RGB(var(--now-navigation-page_tabs--primary--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))));border:none;border-start-end-radius:var(--now-navigation-page_tabs--primary--border-start-end-radius,.25rem);border-start-start-radius:var(--now-navigation-page_tabs--primary--border-start-start-radius,.25rem);color:RGB(var(--now-chrome-one-tab--color,var(--now-navigation--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;flex:0 0 auto;font-size:1rem;height:2.25rem;justify-content:center;margin:0;position:relative;-webkit-user-select:none;user-select:none;width:calc(100% + 1px)}.sn-chrome-one-tab.-default{height:2.25rem}.sn-chrome-one-tab.is-primary{padding:0 1.75rem 0 1rem}.sn-chrome-one-tab.is-primary .has-presence{display:none}.sn-chrome-one-tab.is-wider.is-selected{border-right:RGB(var(--now-color--neutral-3,209,214,214)) 1px solid}.sn-chrome-one-tab:before{background:RGB(var(--now-chrome-one-tab--before--background-color,var(--now-color--secondary-1,1,119,142)));content:\\\"\\\";height:1.25rem;margin-block-start:-.625rem;position:absolute;top:50%;width:.0625rem;z-index:1}:host(:not([dir=rtl])) .sn-chrome-one-tab:before,:root:not([dir=rtl]) .sn-chrome-one-tab:before{right:-.0625rem}:host([dir=rtl]) .sn-chrome-one-tab:before,:root[dir=rtl] .sn-chrome-one-tab:before{left:-.0625rem}.sn-chrome-one-tab.is-hover,.sn-chrome-one-tab:hover{background:RGB(var(--now-chrome-one-tab--hover--background-color,var(--now-color--primary-0,221,237,233)));color:RGB(var(--now-chrome-one-tab--hover--color,var(--now-navigation--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-chrome-one-tab:hover:before{display:none}.sn-chrome-one-tab.is-selected{border-start-end-radius:var(--now-navigation-page_tabs--primary--border-start-end-radius,.25rem);border-start-start-radius:var(--now-navigation-page_tabs--primary--border-start-start-radius,.25rem)}.sn-chrome-one-tab.is-selected.-default:after{background:RGB(var(--now-chrome-one-tab--is-selected--after--background-color,var(--now-navigation-page_tabs--primary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));bottom:-.0625rem;content:\\\"\\\";height:.0625rem;left:0;position:absolute;right:0}.sn-chrome-one-tab.is-selected:before{display:none}.sn-chrome-one-tab-content{align-items:center;display:inline-flex;flex:1 1 auto;overflow:hidden;position:relative}.sn-chrome-one-tab-content:not(.sn-chrome-one-tab-content.has-icon,.sn-chrome-one-tab-content.has-presence){-webkit-mask-image:linear-gradient(to right,RGB(var(--now-navigation-page_tabs--primary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))) 70%,transparent 94%);mask-image:linear-gradient(to right,RGB(var(--now-navigation-page_tabs--primary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))) 70%,transparent 94%)}.sn-chrome-one-tab-content.has-icon,.sn-chrome-one-tab-content.has-presence{flex:0 0 auto;padding-left:0;padding-right:0}:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-icon,:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-presence,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-icon,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-presence{margin-right:.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content.has-icon,:host([dir=rtl]) .sn-chrome-one-tab-content.has-presence,:root[dir=rtl] .sn-chrome-one-tab-content.has-icon,:root[dir=rtl] .sn-chrome-one-tab-content.has-presence{margin-left:.25rem}.sn-chrome-one-tab-content.has-presence .sn-presence-dot{color:var(--now-navigation--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:inline-flex;flex:0 0 auto;position:relative}.sn-chrome-one-tab-content.has-presence .sn-presence-dot.is-hidden{opacity:0}:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-presence .sn-presence-dot,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-presence .sn-presence-dot{left:.020625rem}:host([dir=rtl]) .sn-chrome-one-tab-content.has-presence .sn-presence-dot,:root[dir=rtl] .sn-chrome-one-tab-content.has-presence .sn-presence-dot{right:.020625rem}:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-presence,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-presence{margin-left:-.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content.has-presence,:root[dir=rtl] .sn-chrome-one-tab-content.has-presence{margin-right:-.25rem}:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-presence,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-presence{padding-left:.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content.has-presence,:root[dir=rtl] .sn-chrome-one-tab-content.has-presence{padding-right:.25rem}.sn-chrome-one-tab-content.has-secondary-label{align-items:unset;display:flex;flex-flow:column wrap}.sn-chrome-one-tab-content.has-secondary-label :not(:last-child){margin-right:.25rem}.sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-label{top:2px}.sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-secondary-label{word-wrap:normal;display:inline-block;font-size:.75rem;max-width:100%;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}:host(:not([dir=rtl])) .sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-secondary-label,:root:not([dir=rtl]) .sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-secondary-label{left:-.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-secondary-label,:root[dir=rtl] .sn-chrome-one-tab-content.has-secondary-label .sn-chrome-one-tab-secondary-label{right:-.25rem}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-active{color:RGB(var(--now-chrome-one-tab--sn-canvas-tab-icon--is-positive--color,var(--now-color--secondary-1,1,119,142)))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-critical{color:RGB(var(--now-color_alert--critical-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-high{color:RGB(var(--now-color_alert--high-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-warning{color:RGB(var(--now-color_alert--warning-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-moderate{color:RGB(var(--now-color_alert--moderate-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-positive{color:RGB(var(--now-color_alert--positive-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-info{color:RGB(var(--now-color_alert--info-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-low{color:RGB(var(--now-color_alert--low-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-magenta{color:RGB(var(--now-color_grouped--magenta-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-pink{color:RGB(var(--now-color_grouped--pink-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-orange{color:RGB(var(--now-color_grouped--orange-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-yellow{color:RGB(var(--now-color_grouped--yellow-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-brown{color:RGB(var(--now-color_grouped--brown-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-green{color:RGB(var(--now-color_grouped--green-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-green-yellow{color:RGB(var(--now-color_grouped--green-yellow-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-blue{color:RGB(var(--now-color_grouped--blue-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-gray{color:RGB(var(--now-color_grouped--gray-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-teal{color:RGB(var(--now-color_grouped--teal-4))}.sn-chrome-one-tab-content .sn-canvas-tab-icon.is-purple{color:RGB(var(--now-color_grouped--purple-4))}.sn-chrome-one-tab-content .sn-chrome-one-tab-label{word-wrap:normal;display:inline-block;max-width:100%;overflow:hidden;position:relative;text-overflow:ellipsis;text-overflow:clip;white-space:nowrap}:host(:not([dir=rtl])) .sn-chrome-one-tab-content .sn-chrome-one-tab-label,:root:not([dir=rtl]) .sn-chrome-one-tab-content .sn-chrome-one-tab-label{left:-.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content .sn-chrome-one-tab-label,:root[dir=rtl] .sn-chrome-one-tab-content .sn-chrome-one-tab-label{right:-.25rem}:host(:not([dir=rtl])) .sn-chrome-one-tab-content,:root:not([dir=rtl]) .sn-chrome-one-tab-content{padding-left:.25rem}:host([dir=rtl]) .sn-chrome-one-tab-content,:root[dir=rtl] .sn-chrome-one-tab-content{padding-right:.25rem}.sn-chrome-one-tab-close{background:transparent;border:none;color:RGB(var(--now-chrome-one-tab--close--color,var(--now-navigation--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));cursor:pointer;margin-top:-.5rem;padding:0;position:absolute;top:50%;z-index:2}.sn-chrome-one-tab-close.is-hover,.sn-chrome-one-tab-close:hover{color:RGB(var(--now-chrome-one-tab--close--hover--color,var(--now-color--primary-1,30,133,109)))}:host(:not([dir=rtl])) .sn-chrome-one-tab-close,:root:not([dir=rtl]) .sn-chrome-one-tab-close{right:.75rem}:host([dir=rtl]) .sn-chrome-one-tab-close,:root[dir=rtl] .sn-chrome-one-tab-close{left:.75rem}.sn-chrome-one-tab-close::-moz-focus-inner{border-style:none}.sn-chrome-one-tab-close:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-one-tab-close:focus-visible{outline:1px solid highlight}}.sn-chrome-one-tab-highlighted-value{border:none;padding:0;position:absolute;top:8px;z-index:2}:host(:not([dir=rtl])) .sn-chrome-one-tab-highlighted-value,:root:not([dir=rtl]) .sn-chrome-one-tab-highlighted-value{right:2rem}:host([dir=rtl]) .sn-chrome-one-tab-highlighted-value,:root[dir=rtl] .sn-chrome-one-tab-highlighted-value{left:2rem}.sn-chrome-one-tab.is-master-detail{background:RGB(var(--now-chrome-one-tab--is-master-detail--color,var(--now-navigation--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-chrome-one-tab.is-master-detail[aria-selected=true]{border-bottom:1px solid RGB(var(--now-chrome-one-tab--is-master-detail--aria-selected--border-bottom-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-chrome-one-tab.-default{border:1px solid transparent;border-bottom:0}.sn-chrome-one-tab.-default:hover{border-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)))}.sn-chrome-one-tab.-default.is-selected{border-color:RGB(var(--now-navigation-page_tabs--secondary--border-color--selected,var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148))));border-width:var(--now-navigation-page_tabs--secondary--border-width--selected,1px)}.sn-canvas-sub-tabs-container .sn-chrome-one-tab{background:RGB(var(--now-navigation-page_tabs--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}.sn-chrome-one-tab.-overflow{border:none;border-radius:0;height:2rem;margin:.25rem;width:2rem}.sn-chrome-one-tab.-overflow:hover{background:RGBA(var(--now-color--secondary-2,1,89,107),.25);color:RGB(var(--now-color--secondary-2,1,89,107))}.sn-chrome-one-tab.is-hover,.sn-chrome-one-tab:hover{background:RGB(var(--now-navigation-page_tabs--primary--background-color--hover,var(--now-color--primary-0,221,237,233)));z-index:1}.sn-canvas-sub-tabs-container .sn-chrome-one-tab.is-hover,.sn-canvas-sub-tabs-container .sn-chrome-one-tab:hover{background:RGB(var(--now-navigation-page_tabs--secondary--background-color--hover,var(--now-color--primary-0,221,237,233)))}.sn-chrome-one-tab.is-selected{background:RGB(var(--now-navigation-page_tabs--primary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));z-index:2}.sn-canvas-sub-tabs-container .sn-chrome-one-tab.is-selected{background:RGB(var(--now-navigation-page_tabs--secondary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.sn-chrome-one-tab.has-children{background:RGB(var(--now-navigation-page_tabs--primary_parent--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}.sn-chrome-one-tab+.sn-chrome-one-tab-close{z-index:10}.sn-chrome-one-tab.is-updated{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color--secondary-0,217,235,238)) inset}.sn-chrome-one-tab.is-updated:before{background:RGB(var(--now-color--secondary-1,1,119,142));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-updated.is-hover,.sn-chrome-one-tab.is-updated:hover{box-shadow:1px 1px 100px RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-critical{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--critical-0)) inset}.sn-chrome-one-tab.is-critical:before{background:RGB(var(--now-color_alert--critical-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-critical.is-hover,.sn-chrome-one-tab.is-critical:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--critical-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-high{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--high-0)) inset}.sn-chrome-one-tab.is-high:before{background:RGB(var(--now-color_alert--high-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-high.is-hover,.sn-chrome-one-tab.is-high:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--high-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-warning{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--warning-0)) inset}.sn-chrome-one-tab.is-warning:before{background:RGB(var(--now-color_alert--warning-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-warning.is-hover,.sn-chrome-one-tab.is-warning:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--warning-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-moderate{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--moderate-0)) inset}.sn-chrome-one-tab.is-moderate:before{background:RGB(var(--now-color_alert--moderate-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-moderate.is-hover,.sn-chrome-one-tab.is-moderate:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--moderate-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-positive{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--positive-0)) inset}.sn-chrome-one-tab.is-positive:before{background:RGB(var(--now-color_alert--positive-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-positive.is-hover,.sn-chrome-one-tab.is-positive:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--positive-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-info{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--info-0)) inset}.sn-chrome-one-tab.is-info:before{background:RGB(var(--now-color_alert--info-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-info.is-hover,.sn-chrome-one-tab.is-info:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--info-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-low{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--low-0)) inset}.sn-chrome-one-tab.is-low:before{background:RGB(var(--now-color_alert--low-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-low.is-hover,.sn-chrome-one-tab.is-low:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--low-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-magenta{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--magenta-0)) inset}.sn-chrome-one-tab.is-magenta:before{background:RGB(var(--now-color_grouped--magenta-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-magenta.is-hover,.sn-chrome-one-tab.is-magenta:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--magenta-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-pink{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--pink-0)) inset}.sn-chrome-one-tab.is-pink:before{background:RGB(var(--now-color_grouped--pink-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-pink.is-hover,.sn-chrome-one-tab.is-pink:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--pink-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-orange{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--orange-0)) inset}.sn-chrome-one-tab.is-orange:before{background:RGB(var(--now-color_grouped--orange-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-orange.is-hover,.sn-chrome-one-tab.is-orange:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--orange-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-yellow{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--yellow-0)) inset}.sn-chrome-one-tab.is-yellow:before{background:RGB(var(--now-color_grouped--yellow-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-yellow.is-hover,.sn-chrome-one-tab.is-yellow:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--yellow-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-brown{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--brown-0)) inset}.sn-chrome-one-tab.is-brown:before{background:RGB(var(--now-color_grouped--brown-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-brown.is-hover,.sn-chrome-one-tab.is-brown:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--brown-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-green{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--green-0)) inset}.sn-chrome-one-tab.is-green:before{background:RGB(var(--now-color_grouped--green-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-green.is-hover,.sn-chrome-one-tab.is-green:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--green-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-green-yellow{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--green-yellow-0)) inset}.sn-chrome-one-tab.is-green-yellow:before{background:RGB(var(--now-color_grouped--green-yellow-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-green-yellow.is-hover,.sn-chrome-one-tab.is-green-yellow:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--green-yellow-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-blue{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--blue-0)) inset}.sn-chrome-one-tab.is-blue:before{background:RGB(var(--now-color_grouped--blue-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-blue.is-hover,.sn-chrome-one-tab.is-blue:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--blue-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-gray{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--gray-0)) inset}.sn-chrome-one-tab.is-gray:before{background:RGB(var(--now-color_grouped--gray-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-gray.is-hover,.sn-chrome-one-tab.is-gray:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--gray-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-teal{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--teal-0)) inset}.sn-chrome-one-tab.is-teal:before{background:RGB(var(--now-color_grouped--teal-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-teal.is-hover,.sn-chrome-one-tab.is-teal:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--teal-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-purple{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--purple-0)) inset}.sn-chrome-one-tab.is-purple:before{background:RGB(var(--now-color_grouped--purple-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-one-tab.is-purple.is-hover,.sn-chrome-one-tab.is-purple:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--purple-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-one-tab.is-disabled{cursor:default;opacity:var(--now-opacity--mid,.5);pointer-events:none}.sn-chrome-one-tab>now-badge{position:absolute;right:-1px;top:-5px}.sn-chrome-one-tab::-moz-focus-inner{border-style:none}.sn-chrome-one-tab:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-one-tab:focus-visible{outline:1px solid highlight}}:host(:not([dir=rtl])) .sn-chrome-one-tab,:root:not([dir=rtl]) .sn-chrome-one-tab{padding-left:.25rem}:host([dir=rtl]) .sn-chrome-one-tab,:root[dir=rtl] .sn-chrome-one-tab{padding-right:.25rem}:host(:not([dir=rtl])) .sn-chrome-one-tab,:root:not([dir=rtl]) .sn-chrome-one-tab{padding-right:1.75rem}:host([dir=rtl]) .sn-chrome-one-tab,:root[dir=rtl] .sn-chrome-one-tab{padding-left:1.75rem}:host(:not([dir=rtl])) .sn-chrome-one-tab-container:has(.sn-chrome-one-tab-highlighted-value) .sn-chrome-one-tab,:root:not([dir=rtl]) .sn-chrome-one-tab-container:has(.sn-chrome-one-tab-highlighted-value) .sn-chrome-one-tab{padding-right:3.5rem}:host([dir=rtl]) .sn-chrome-one-tab-container:has(.sn-chrome-one-tab-highlighted-value) .sn-chrome-one-tab,:root[dir=rtl] .sn-chrome-one-tab-container:has(.sn-chrome-one-tab-highlighted-value) .sn-chrome-one-tab{padding-left:3.5rem}.sn-chrome-tab-preview-container{margin:auto 0;overflow-wrap:anywhere;z-index:4000}.sn-chrome-tab-preview-container.is-open .sn-chrome-tab-preview{display:block;visibility:visible}.sn-chrome-tab-preview{background:RGB(var(--now-chrome-tab-preview--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid RGB(var(--now-chrome-tab-preview--border-color,var(--now-color--primary-1,30,133,109)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;font-size:.75rem;height:auto;list-style:none;margin-top:.25rem;position:absolute;right:0;visibility:hidden;width:14.5rem;z-index:4000}.sn-chrome-tab-preview.hoverEnabled{position:fixed;position:-ms-device-fixed}.sn-chrome-tab-preview:focus{outline:none}.sn-chrome-tab-preview-body{display:block}.sn-chrome-tab-preview-body:focus{outline:none}.sn-card{border:none;padding:.75rem .75rem}.sn-card .sn-card--title--name--truncated{line-height:1rem;margin-right:-1em;max-height:2rem;max-width:12.5rem;overflow:hidden;padding-right:1em;position:relative;word-break:break-word}.sn-card .sn-card--title--name--truncated:before{bottom:0;content:\\\"...\\\";position:absolute;right:0}.sn-card .sn-card--title--name--truncated:after{background:RGB(var(--now-chrome-tab-preview--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));content:\\\"\\\";height:1em;margin-top:.2em;position:absolute;right:0;width:1em}.sn-card .sn-card--table--content{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.sn-card--title{color:RGB(var(--now-sn-card--title--color,var(--now-navigation--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))));display:block;font-size:1rem;font-weight:600;line-height:1rem;margin:.5rem 0 0;max-height:2rem;overflow:hidden;position:relative;width:100%}.sn-card--title.is-first-child,.sn-card--title.is-only-child,.sn-card--title:first-child,.sn-card--title:only-child{margin:0}.sn-card--title h5{margin-block-end:0;margin-block-start:0}.sn-card--title span{word-wrap:normal;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-card--row{color:RGB(var(--now-sn-card--row--color,var(--now-navigation--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))));display:flex;flex-wrap:wrap;margin:.5rem 0 0;position:relative;width:100%}.sn-card--row.mod-nowrap{flex-wrap:nowrap}.sn-card--row.is-first-child,.sn-card--row:first-child{margin-top:0}.sn-card table{border-collapse:collapse;max-width:100%}.sn-card td{vertical-align:top}.sn-card td:first-of-type{padding:0 .5rem .25rem 0;white-space:nowrap}.sn-card tr:last-of-type td{padding-bottom:0}.sn-card--segments{margin-top:.5rem}.sn-card--segment-divider,.sn-card--segments-divider{background-color:rgb(var(--now-color--neutral-3,209,214,214));height:1px;margin:.5rem auto;width:100%}.sn-card--segments-divider{margin-top:0}.sn-card--segment{margin-bottom:.5rem}.sn-card--segment:last-child{margin-bottom:0}.sn-card--segment--blocks{display:flex;flex-direction:column;gap:.25rem}.sn-tooltip-text-block{word-wrap:break-word;line-height:1.4}.sn-tooltip-text-block.sn-text-sm{font-size:.75rem}.sn-tooltip-text-block.sn-text-base{font-size:1rem}.sn-tooltip-text-block.sn-text-lg{font-size:1.25rem;font-weight:600}@media(forced-colors:active){.sn-chrome-one-tab-container{border-style:solid;border-width:1px}.sn-chrome-one-tab{border-radius:0;width:100%}.sn-chrome-one-tab:before{display:none}.sn-chrome-one-tab:active{background-color:buttonface;color:buttontext}.sn-chrome-one-tab.is-selected:focus,.sn-chrome-one-tab.is-selected:hover,.sn-chrome-one-tab.is-updated:focus,.sn-chrome-one-tab.is-updated:hover,.sn-chrome-one-tab:focus,.sn-chrome-one-tab:hover{background-color:highlighttext;border-color:highlight;color:highlight}.sn-chrome-one-tab.is-selected:focus .sn-chrome-one-tab-label,.sn-chrome-one-tab.is-selected:hover .sn-chrome-one-tab-label,.sn-chrome-one-tab.is-updated:focus .sn-chrome-one-tab-label,.sn-chrome-one-tab.is-updated:hover .sn-chrome-one-tab-label,.sn-chrome-one-tab:focus .sn-chrome-one-tab-label,.sn-chrome-one-tab:hover .sn-chrome-one-tab-label{forced-color-adjust:none}.sn-chrome-one-tab.-default{border:none}.sn-chrome-one-tab.is-selected{background-color:selecteditem;color:selecteditemtext}.sn-chrome-one-tab.is-selected .sn-chrome-one-tab-label{forced-color-adjust:none}.sn-chrome-one-tab.is-updated{background-color:selecteditem;border-color:highlight;color:selecteditemtext}.sn-chrome-one-tab.is-updated .sn-chrome-one-tab-label{forced-color-adjust:none}.sn-chrome-one-tab-content.has-presence.sn-presence-dot.is-unsaved{border-color:highlight}.sn-chrome-one-tab-close{background-color:buttonface;color:buttontext}.sn-chrome-one-tab-close:focus,.sn-chrome-one-tab-close:hover{background-color:highlighttext;border-color:highlight;color:highlight;opacity:1}.sn-chrome-one-tab.is-master-detail{border-bottom-color:highlight}}.hide{display:none!important}.move-cursor{cursor:move!important}.no-drop-cursor{cursor:no-drop!important}.voiceover-region{height:0;overflow:hidden;position:absolute;width:0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.draggable-container:before{background:RGB(var(--now-chrome-one-tab--before--background-color,var(--now-color--secondary-1,1,119,142)));content:\\\"\\\";height:1.25rem;margin-block-start:-.625rem;position:absolute;top:50%;width:.0625rem}:host(:not([dir=rtl])) .draggable-container:before,:root:not([dir=rtl]) .draggable-container:before{right:-.0625rem}:host([dir=rtl]) .draggable-container:before,:root[dir=rtl] .draggable-container:before{left:-.0625rem}.sn-tooltip-text-block{-webkit-line-clamp:var(--max-lines,1);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.sn-chrome-tabs{background:RGB(var(--now-navigation-page_tabs_container--primary--background-color,var(--now-navigation-page_tabs--primary--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));display:inline-flex;padding-block-start:.25rem;position:relative;width:100%}.sn-chrome-tabs-dropdown-container .sn-chrome-popover-container{display:inline}.sn-chrome-tabs.-default{background:RGB(var(--now-navigation-page_tabs_container--secondary--background-color,var(--now-navigation-page_tabs--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))));border-bottom:1px solid RGB(var(--now-navigation-page_tabs--secondary--border-color--selected,var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148))));padding-block-start:.25rem;padding-inline-start:.75rem}.sn-chrome-tabs-content{align-items:flex-end;display:inline-flex;flex:1 1 auto;position:relative}.sn-chrome-tabs-content:last-of-type{flex:0 0 auto}.sn-chrome-tabs-group{display:inline-flex;flex:0 0 auto;list-style:none;margin:0;max-width:100%;padding:0;position:relative}.sn-chrome-tabs.chromeTabs.-primary{border-start-start-radius:var(--now-navigation-page_tabs_container--primary--border-start-start-radius,.5rem)}.sn-chrome-tabs-loader-overlay{background-color:RGBA(var(--now-color--neutral-21,0,0,0),var(--now-opacity--mid,.5));bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:4001}.sn-chrome-tabs-btn,.sn-chrome-tabs-loader-overlay{align-items:center;display:flex;justify-content:center}.sn-chrome-tabs-btn{background:RGB(var(--now-navigation-page_tabs--primary--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))));border:none;border-start-end-radius:var(--now-navigation-page_tabs--primary--border-start-end-radius,.25rem);border-start-start-radius:var(--now-navigation-page_tabs--primary--border-start-start-radius,.25rem);color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;flex:0 0 auto;font-size:1rem;height:2.25rem;margin-left:.0625rem;position:relative;width:2.5rem}.sn-chrome-tabs-btn.-default{border:1px solid transparent;border-bottom:0}.sn-chrome-tabs-btn.-default:hover{border-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)))}.sn-chrome-tabs-btn.-default.is-selected{border-color:RGB(var(--now-navigation-page_tabs--secondary--border-color--selected,var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148))));border-width:var(--now-navigation-page_tabs--secondary--border-width--selected,1px)}.sn-canvas-sub-tabs-container .sn-chrome-tabs-btn{background:RGB(var(--now-navigation-page_tabs--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}.sn-chrome-tabs-btn.-overflow{border:none;margin:.25rem}.sn-chrome-tabs-btn.-overflow:hover{background:RGBA(var(--now-color--secondary-2,1,89,107),.25);color:RGB(var(--now-color--secondary-2,1,89,107))}.sn-chrome-tabs-btn.is-hover,.sn-chrome-tabs-btn:hover{background:RGB(var(--now-navigation-page_tabs--primary--background-color--hover,var(--now-color--primary-0,221,237,233)));z-index:1}.sn-canvas-sub-tabs-container .sn-chrome-tabs-btn.is-hover,.sn-canvas-sub-tabs-container .sn-chrome-tabs-btn:hover{background:RGB(var(--now-navigation-page_tabs--secondary--background-color--hover,var(--now-color--primary-0,221,237,233)))}.sn-chrome-tabs-btn.is-selected{background:RGB(var(--now-navigation-page_tabs--primary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));z-index:2}.sn-canvas-sub-tabs-container .sn-chrome-tabs-btn.is-selected{background:RGB(var(--now-navigation-page_tabs--secondary--background-color--selected,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.sn-chrome-tabs-btn.has-children{background:RGB(var(--now-navigation-page_tabs--primary_parent--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}.sn-chrome-tabs-btn+.sn-chrome-one-tab-close{z-index:10}.sn-chrome-tabs-btn.is-updated{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color--secondary-0,217,235,238)) inset}.sn-chrome-tabs-btn.is-updated:before{background:RGB(var(--now-color--secondary-1,1,119,142));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-updated.is-hover,.sn-chrome-tabs-btn.is-updated:hover{box-shadow:1px 1px 100px RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-critical{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--critical-0)) inset}.sn-chrome-tabs-btn.is-critical:before{background:RGB(var(--now-color_alert--critical-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-critical.is-hover,.sn-chrome-tabs-btn.is-critical:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--critical-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-high{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--high-0)) inset}.sn-chrome-tabs-btn.is-high:before{background:RGB(var(--now-color_alert--high-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-high.is-hover,.sn-chrome-tabs-btn.is-high:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--high-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-warning{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--warning-0)) inset}.sn-chrome-tabs-btn.is-warning:before{background:RGB(var(--now-color_alert--warning-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-warning.is-hover,.sn-chrome-tabs-btn.is-warning:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--warning-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-moderate{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--moderate-0)) inset}.sn-chrome-tabs-btn.is-moderate:before{background:RGB(var(--now-color_alert--moderate-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-moderate.is-hover,.sn-chrome-tabs-btn.is-moderate:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--moderate-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-positive{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--positive-0)) inset}.sn-chrome-tabs-btn.is-positive:before{background:RGB(var(--now-color_alert--positive-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-positive.is-hover,.sn-chrome-tabs-btn.is-positive:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--positive-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-info{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--info-0)) inset}.sn-chrome-tabs-btn.is-info:before{background:RGB(var(--now-color_alert--info-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-info.is-hover,.sn-chrome-tabs-btn.is-info:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--info-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-low{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_alert--low-0)) inset}.sn-chrome-tabs-btn.is-low:before{background:RGB(var(--now-color_alert--low-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-low.is-hover,.sn-chrome-tabs-btn.is-low:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_alert--low-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-magenta{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--magenta-0)) inset}.sn-chrome-tabs-btn.is-magenta:before{background:RGB(var(--now-color_grouped--magenta-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-magenta.is-hover,.sn-chrome-tabs-btn.is-magenta:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--magenta-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-pink{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--pink-0)) inset}.sn-chrome-tabs-btn.is-pink:before{background:RGB(var(--now-color_grouped--pink-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-pink.is-hover,.sn-chrome-tabs-btn.is-pink:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--pink-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-orange{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--orange-0)) inset}.sn-chrome-tabs-btn.is-orange:before{background:RGB(var(--now-color_grouped--orange-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-orange.is-hover,.sn-chrome-tabs-btn.is-orange:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--orange-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-yellow{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--yellow-0)) inset}.sn-chrome-tabs-btn.is-yellow:before{background:RGB(var(--now-color_grouped--yellow-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-yellow.is-hover,.sn-chrome-tabs-btn.is-yellow:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--yellow-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-brown{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--brown-0)) inset}.sn-chrome-tabs-btn.is-brown:before{background:RGB(var(--now-color_grouped--brown-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-brown.is-hover,.sn-chrome-tabs-btn.is-brown:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--brown-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-green{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--green-0)) inset}.sn-chrome-tabs-btn.is-green:before{background:RGB(var(--now-color_grouped--green-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-green.is-hover,.sn-chrome-tabs-btn.is-green:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--green-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-green-yellow{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--green-yellow-0)) inset}.sn-chrome-tabs-btn.is-green-yellow:before{background:RGB(var(--now-color_grouped--green-yellow-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-green-yellow.is-hover,.sn-chrome-tabs-btn.is-green-yellow:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--green-yellow-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-blue{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--blue-0)) inset}.sn-chrome-tabs-btn.is-blue:before{background:RGB(var(--now-color_grouped--blue-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-blue.is-hover,.sn-chrome-tabs-btn.is-blue:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--blue-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-gray{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--gray-0)) inset}.sn-chrome-tabs-btn.is-gray:before{background:RGB(var(--now-color_grouped--gray-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-gray.is-hover,.sn-chrome-tabs-btn.is-gray:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--gray-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-teal{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--teal-0)) inset}.sn-chrome-tabs-btn.is-teal:before{background:RGB(var(--now-color_grouped--teal-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-teal.is-hover,.sn-chrome-tabs-btn.is-teal:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--teal-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-purple{border-color:transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-shadow:1px 1px 100px RGB(var(--now-color_grouped--purple-0)) inset}.sn-chrome-tabs-btn.is-purple:before{background:RGB(var(--now-color_grouped--purple-4));border-top-left-radius:16px;border-top-right-radius:16px;content:\\\"\\\";display:block;height:4px;left:0;margin-block-start:0;position:absolute;right:0;top:0;width:100%}.sn-chrome-tabs-btn.is-purple.is-hover,.sn-chrome-tabs-btn.is-purple:hover{box-shadow:1px 1px 100px RGBA(var(--now-color_grouped--purple-4),var(--now-opacity--mid,.5)) inset}.sn-chrome-tabs-btn.is-disabled{cursor:default;opacity:var(--now-opacity--mid,.5);pointer-events:none}.sn-chrome-tabs-btn>now-badge{position:absolute;right:-1px;top:-5px}.sn-chrome-tabs-btn::-moz-focus-inner{border-style:none}.sn-chrome-tabs-btn:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-tabs-btn:focus-visible{outline:1px solid highlight}}.sn-chrome-tabs-btn:hover{background:RGB(var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142)))}.sn-chrome-tabs-btn--overflow{padding:0 1rem;width:auto}.sn-chrome-tabs-btn--overflow:before{background:RGB(var(--now-chrome-one-tab--before--background-color,var(--now-color--secondary-1,1,119,142)));content:\\\"\\\";height:1.25rem;margin-block-start:-.625rem;position:absolute;top:50%;width:.0625rem;z-index:1}:host(:not([dir=rtl])) .sn-chrome-tabs-btn--overflow:before,:root:not([dir=rtl]) .sn-chrome-tabs-btn--overflow:before{right:-.0625rem}:host([dir=rtl]) .sn-chrome-tabs-btn--overflow:before,:root[dir=rtl] .sn-chrome-tabs-btn--overflow:before{left:-.0625rem}.sn-chrome-tabs-btn__inner{padding:0 4px 0}.sn-chrome-tabs-btn.-default.is-disabled,.sn-chrome-tabs.-default .sn-chrome-tabs-btn.is-disabled{border-color:transparent}.sn-chrome-tabs-btn.-default:not(.is-updated,.is-critical,.is-high,.is-warning,.is-moderate,.is-positive,.is-info .is-low .is-magenta .is-pink .is-orange .is-yellow .is-brown .is-green .is-green-yellow .is-blue .is-gray .is-teal .is-purple){background:transparent;border-color:transparent}.sn-chrome-tabs-btn.-default:not(.is-updated,.is-critical,.is-high,.is-warning,.is-moderate,.is-positive,.is-info .is-low .is-magenta .is-pink .is-orange .is-yellow .is-brown .is-green .is-green-yellow .is-blue .is-gray .is-teal .is-purple).is-hover,.sn-chrome-tabs-btn.-default:not(.is-updated,.is-critical,.is-high,.is-warning,.is-moderate,.is-positive,.is-info .is-low .is-magenta .is-pink .is-orange .is-yellow .is-brown .is-green .is-green-yellow .is-blue .is-gray .is-teal .is-purple):hover{background:RGB(var(--now-chrome-tabs--btn--default--background-color,var(--now-color--secondary-2,1,89,107)),.25);border-color:RGB(var(--now-chrome-tabs--btn--default--border-color,var(--now-color--secondary-2,1,89,107)))}.sn-chrome-tabs-btn.-default::-moz-focus-inner{border-style:none}.sn-chrome-tabs-btn.-default:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-chrome-tabs-btn.-default:focus-visible{outline:1px solid highlight}}.sn-chrome-tabs-btn.-overflow{border-radius:0;height:2rem;margin:.125rem;width:2rem}.sn-chrome-tabs-btn.chromeTabs.-primary{border-start-start-radius:var(--now-navigation-page_tabs_container--primary--border-start-start-radius,.5rem)}.sn-chrome-tabs-btn:hover{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}@media(forced-colors:active){.sn-chrome-tabs-btn,.sn-chrome-tabs-btn.-overflow{background-color:buttonface;border-style:solid;border-width:1px;color:buttontext}.sn-chrome-tabs-btn.-overflow:focus,.sn-chrome-tabs-btn.-overflow:hover,.sn-chrome-tabs-btn:focus,.sn-chrome-tabs-btn:hover{background-color:highlighttext;border-color:highlight;color:highlight}.sn-chrome-tabs-btn.-overflow.is-disabled,.sn-chrome-tabs-btn.is-disabled{background-color:buttonface;border-color:graytext;color:graytext;opacity:1}}:host{background:RGB(var(--now-navigation-page_tabs_container--primary--background-color,var(--now-navigation-page_tabs--primary--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));display:flex;flex-direction:column;position:relative}.sn-canvas-tabs-container{background-color:RGB(var(--now-navigation-page_tabs_container--primary--background-color,var(--now-navigation-page_tabs--primary--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-start-end-radius:var(--now-navigation-page_tabs_container--primary--border-start-end-radius,0);border-start-start-radius:var(--now-navigation-page_tabs_container--primary--border-start-start-radius,.5rem);position:relative;width:100%}.sn-canvas-sub-tabs-container{width:100%}.sn-canvas-sub-tabs-container.subTabsHideAnimation{transition:margin-top .3s ease-out}.sn-canvas-sub-tabs-container.hideDetailsTab{margin-block-start:var(--canvas-sub-tabs--margin-block-start,-41px)}.sn-primary-back-button{padding-block-end:.25rem;padding-block-start:.25rem;padding-inline-end:calc(.25rem + 1rem*var(--now-button--scale-size-inline, 1));padding-inline-start:calc(.25rem + 1rem*var(--now-button--scale-size-inline, 1))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-canvas-toolbar-button-container{height:3rem;padding:.25rem;width:3rem}.sn-canvas-toolbar-button{align-items:center;background-color:transparent;border:1px solid transparent;border-radius:50%;color:RGB(var(--now-canvas-toolbar-button--color,var(--now-color--neutral-4,191,197,198)));cursor:pointer;display:flex;height:2.5rem;justify-content:center;margin:0;padding:0 .5rem;position:relative;width:2.5rem}.sn-canvas-toolbar-button::-moz-focus-inner{border-style:none}.sn-canvas-toolbar-button:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-canvas-toolbar-button:focus-visible{outline:1px solid highlight}}.sn-canvas-toolbar-button:hover{background-color:RGBA(var(--now-canvas-toolbar-button--background-color--hover,var(--now-color_chrome--brand-10,21,32,32)),var(--now-canvas-toolbar-button--opacity--hover,var(--now-opacity--mid,.5)))}.sn-canvas-toolbar-button:active{background-color:RGBA(var(--now-canvas-toolbar-button--background-color--active,var(--now-color_chrome--brand-10,21,32,32)))}.sn-canvas-toolbar-button.is-selected{border:1px solid RGB(var(--now-canvas-toolbar-button--border-color--active,var(--now-color_chrome--brand-0,223,226,226)));color:RGB(var(--now-canvas-toolbar-button--color--focus,var(--now-color--neutral-0,255,255,255)))}.sn-canvas-toolbar-button.is-selected,.sn-canvas-toolbar-button:focus{background-color:RGB(var(--now-canvas-toolbar-button--background-color--active,var(--now-color_chrome--brand-10,21,32,32)))}.sn-canvas-toolbar-button:focus{border-color:RGB(var(--now-canvas-toolbar-button--background-color--active,var(--now-color_chrome--brand-10,21,32,32)))}.sn-canvas-toolbar-button:focus::-moz-focus-inner{border-style:none}.sn-canvas-toolbar-button:focus:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-canvas-toolbar-button:focus:focus-visible{outline:1px solid highlight}}.sn-canvas-toolbar-button .-badge-count{position:absolute;top:.25rem}:host(:not([dir=rtl])) .sn-canvas-toolbar-button .-badge-count,:root:not([dir=rtl]) .sn-canvas-toolbar-button .-badge-count{right:.25rem}:host([dir=rtl]) .sn-canvas-toolbar-button .-badge-count,:root[dir=rtl] .sn-canvas-toolbar-button .-badge-count{left:.25rem}.sn-canvas-toolbar-button .-presence-indicator{position:absolute;top:.25rem}:host(:not([dir=rtl])) .sn-canvas-toolbar-button .-presence-indicator,:root:not([dir=rtl]) .sn-canvas-toolbar-button .-presence-indicator{left:.25rem}:host([dir=rtl]) .sn-canvas-toolbar-button .-presence-indicator,:root[dir=rtl] .sn-canvas-toolbar-button .-presence-indicator{right:.25rem}.sn-canvas-toolbar-button .-rotateY180{transform:rotateY(180deg)}@media(forced-colors:active){.sn-canvas-toolbar-button{background-color:ButtonFace;border:1px solid ButtonBorder;color:ButtonText}.sn-canvas-toolbar-button:focus,.sn-canvas-toolbar-button:hover{background-color:HighlightText;border:1px solid;color:Highlight}.sn-canvas-toolbar-button.is-selected{background-color:SelectedItem;border:1px solid SelectedItemText;color:SelectedItemText}.sn-canvas-toolbar-button.is-selected:focus,.sn-canvas-toolbar-button.is-selected:hover{border-color:Highlight}}.sn-canvas-toolbar-overflow-menu-container{height:100%;width:100%}.sn-canvas-toolbar-overflow-item{align-items:center;background-color:transparent;border:none;color:#151920;cursor:pointer;display:flex;font-size:1rem;height:2rem;justify-content:flex-start;margin:0;padding:0 1rem;position:relative;width:100%}.sn-canvas-toolbar-overflow-item::-moz-focus-inner{border-style:none}.sn-canvas-toolbar-overflow-item:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-canvas-toolbar-overflow-item:focus-visible{outline:1px solid highlight}}.sn-canvas-toolbar-overflow-item.isHighlighted,.sn-canvas-toolbar-overflow-item:hover{background-color:var(--now-canvas-toolbar-overflow-menu-background-color--hover,rgba(209,210,238,.5))}.sn-canvas-toolbar-overflow-item.isHighlighted{-webkit-appearance:none;border-width:1px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;outline:0}.sn-canvas-toolbar-overflow-item.is-selected{background-color:var(--now-canvas-toolbar-overflow-item--background-color--active,#4f52bd);color:RGB(var(--now-canvas-toolbar-overflow-item--color--active,var(--now-color--neutral-0,255,255,255)))}.sn-canvas-toolbar-overflow-item .-badge-count{position:absolute;top:.25rem}:host(:not([dir=rtl])) .sn-canvas-toolbar-overflow-item .-badge-count,:root:not([dir=rtl]) .sn-canvas-toolbar-overflow-item .-badge-count{right:.25rem}:host([dir=rtl]) .sn-canvas-toolbar-overflow-item .-badge-count,:root[dir=rtl] .sn-canvas-toolbar-overflow-item .-badge-count{left:.25rem}.sn-canvas-toolbar-overflow-item .-presence-indicator{position:absolute;top:.25rem}:host(:not([dir=rtl])) .sn-canvas-toolbar-overflow-item .-presence-indicator,:root:not([dir=rtl]) .sn-canvas-toolbar-overflow-item .-presence-indicator{left:.25rem}:host([dir=rtl]) .sn-canvas-toolbar-overflow-item .-presence-indicator,:root[dir=rtl] .sn-canvas-toolbar-overflow-item .-presence-indicator{right:.25rem}.sn-canvas-toolbar-overflow-item .-rotateY180{transform:rotateY(180deg)}.sn-canvas-toolbar-overflow-item .overflow-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-canvas-toolbar-overflow-item now-icon{margin-inline-end:.125rem}@media(forced-colors:active){.sn-canvas-toolbar-overflow-item{background-color:ButtonFace;border:1px solid ButtonBorder;color:ButtonText}.sn-canvas-toolbar-overflow-item:focus,.sn-canvas-toolbar-overflow-item:hover{background-color:HighlightText;border:1px solid;color:Highlight}.sn-canvas-toolbar-overflow-item.is-selected{background-color:SelectedItem;border:1px solid SelectedItemText;color:SelectedItemText}.sn-canvas-toolbar-overflow-item.is-selected:focus,.sn-canvas-toolbar-overflow-item.is-selected:hover{border-color:Highlight}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}:host{display:block;height:100%;overflow:hidden;width:100%}.sn-canvas-toolbar{background:linear-gradient(180deg,RGB(var(--now-toolbar-nav--background-color-start,var(--now-color--neutral-15,44,53,55))) var(--now-toolbar-nav--background-color-start-position,35%),RGB(var(--now-toolbar-nav--background-color-end,var(--now-color--neutral-15,44,53,55))) 100%);background:linear-gradient(180deg,RGB(var(--now-toolbar-nav--background-color-start,var(--now-color--neutral-15,44,53,55))) var(--now-toolbar-nav--background-color-start-position,35%),RGB(var(--now-toolbar-nav--background-color-middle,var(--now-color--neutral-15,44,53,55))) var(--now-toolbar-nav--background-color-middle-position,85%),RGB(var(--now-toolbar-nav--background-color-end,var(--now-color--neutral-15,44,53,55))) 100%);display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:100%;padding:0 0 1rem;width:var(--now-canvas-toolbar--width,3rem);z-index:1000}:host(:not([dir=rtl])) .sn-canvas-toolbar,:root:not([dir=rtl]) .sn-canvas-toolbar{text-align:left}:host([dir=rtl]) .sn-canvas-toolbar,:root[dir=rtl] .sn-canvas-toolbar{text-align:right}.sn-canvas-toolbar .sn-canvas-toolbar-group-list-item{padding:2rem}.sn-canvas-toolbar .sn-canvas-toolbar-group.-top{align-self:start}.sn-canvas-toolbar .sn-canvas-toolbar-group.-bottom{align-self:end}.sn-canvas-toolbar.horizontal{background:linear-gradient(90deg,RGB(var(--now-toolbar-nav--background-color-start,var(--now-color--neutral-15,44,53,55))) var(--now-toolbar-nav--background-color-start-position,35%),RGB(var(--now-toolbar-nav--background-color-end,var(--now-color--neutral-15,44,53,55))) 100%);grid-template-columns:1fr 1fr;grid-template-rows:1fr;height:var(--now-canvas-toolbar--width,3rem);width:100%}.sn-canvas-toolbar.horizontal .sn-canvas-toolbar-group{display:flex}.sn-canvas-toolbar.horizontal .sn-canvas-toolbar-group.-bottom{grid-column:2;grid-row:1;justify-content:flex-end}.sn-canvas-toolbar .sn-cavnas-toolbar-overflow-popover.horizontal{grid-column:2;grid-row:1;justify-self:end}@media(forced-colors:active){.sn-canvas-toolbar{background-color:Canvas;border:1px solid;color:CanvasText}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}hr{border:0;border-top:1px solid RGB(var(--now-menu-list_divider--secondary--color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));display:block;height:1px;margin:0;padding:0}.sn-canvas-overflow-menu-container.horizontal{margin-left:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.sn-canvas-toolbar-overflow-container{display:block;height:3rem;padding:.25rem;width:3rem}.sn-canvas-toolbar-overflow-button{align-items:center;background-color:transparent;border:none;border-radius:50%;color:RGB(var(--now-canvas-toolbar-button--color,var(--now-color--neutral-4,191,197,198)));cursor:pointer;display:flex;height:3rem;height:2.5rem;justify-content:center;margin:0;padding:.25rem;padding:0 .5rem;position:relative;width:3rem;width:2.5rem}.sn-canvas-toolbar-overflow-button::-moz-focus-inner{border-style:none}.sn-canvas-toolbar-overflow-button:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-canvas-toolbar-overflow-button:focus-visible{outline:1px solid highlight}}.sn-canvas-toolbar-overflow-button:hover{background-color:RGBA(var(--now-canvas-toolbar-button--background-color--hover,var(--now-color_chrome--brand-10,21,32,32)),var(--now-canvas-toolbar-button--opacity--hover,var(--now-opacity--mid,.5)))}.sn-canvas-toolbar-overflow-button:active{background-color:RGBA(var(--now-canvas-toolbar-button--background-color--active,var(--now-color_chrome--brand-10,21,32,32)))}.sn-canvas-toolbar-overflow-button:focus{border:1px solid RGB(var(--now-canvas-toolbar-button--border-color--active,var(--now-color_chrome--brand-0,223,226,226)));border-radius:50%;box-shadow:none}.sn-canvas-toolbar-overflow-button.is-selected{background-color:RGB(var(--now-canvas-toolbar-button--background-color--active,var(--now-color_chrome--brand-10,21,32,32)));border:1px solid RGB(var(--now-canvas-toolbar-button--border-color--active,var(--now-color_chrome--brand-0,223,226,226)));color:RGB(var(--now-canvas-toolbar-button--color--focus,var(--now-color--neutral-0,255,255,255)))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-viewport{height:100%;position:relative;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_tabOverflowStyles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-content.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-corner-dialog.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-iframe.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-canvas-login.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-sidebar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-sidepanel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-tabs.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-toolbar-button.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-toolbar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-canvas-toolbar-overflow-menu.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-canvas-toolbar-overflow.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-viewport.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (-1 !== e.indexOf(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t}, [\"snabbdom\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t\t} else if ('snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.snabbdom || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_24_index_jsdbx_16853cb5__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport snCanvasContentStyles from './_sn-canvas-content.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\n// eslint-disable-next-line no-unused-vars\nconst snCanvasContent = (state) => {\n\tconst { containerProps } = state.properties;\n\treturn (\n\t\t<section className=\"sn-canvas-content\" style={containerProps}>\n\t\t\t<slot />\n\t\t<\/section>\n\t);\n};\n\ncreateCustomElement('sn-canvas-content', {\n\tproperties: {\n\t\t/**\n\t\t * Property to set the styles for the content\n\t\t * @type {object} Style for container element\n\t\t */\n\t\tcontainerProps: { default: {}, schema: { type: 'object' } }\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasContent\n\t},\n\tstyles: snCanvasContentStyles,\n\tbehaviors: [rtlBehavior]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export default {\n\tTOP: 'top',\n\tTOP_LEFT: 'top-left',\n\tTOP_RIGHT: 'top-right',\n\tBOTTOM: 'bottom',\n\tBOTTOM_LEFT: 'bottom-left',\n\tBOTTOM_RIGHT: 'bottom-right',\n\tLEFT: 'left',\n\tRIGHT: 'right'\n};\n","import positions from './positions';\n\nexport default {\n\t[positions.TOP_LEFT]: {\n\t\ttop: '50px',\n\t\tleft: '50px'\n\t},\n\t[positions.TOP_RIGHT]: {\n\t\ttop: '50px',\n\t\tright: '50px'\n\t},\n\t[positions.BOTTOM_LEFT]: {\n\t\tbottom: '50px',\n\t\tleft: '50px'\n\t},\n\t[positions.BOTTOM_RIGHT]: {\n\t\tbottom: '50px',\n\t\tright: '50px'\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"clamp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'clamp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clamp;\n\t\t\t\t\t} else if ('clamp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.clamp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clamp;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"each\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'each' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].each;\n\t\t\t\t\t} else if ('each' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.each || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].each;\n\t\t\t\t}, [\"filter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t\t} else if ('filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.filter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"findIndex\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t\t} else if ('findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findIndex || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t}, [\"findKey\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findKey;\n\t\t\t\t\t} else if ('findKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findKey || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findKey;\n\t\t\t\t}, [\"forEach\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t\t} else if ('forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forEach || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t}, [\"forOwn\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t\t} else if ('forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forOwn || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"includes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'includes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].includes;\n\t\t\t\t\t} else if ('includes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.includes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].includes;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"keys\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t\t} else if ('keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.keys || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t} });","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport snCanvasCornerDialogStyles from './_sn-canvas-corner-dialog.scss';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport positions from './positions';\nimport absolutePositions from './absolutePositions';\nimport {\n\tincludes as _includes,\n\tkeys as _keys,\n\tisEmpty as _isEmpty\n} from 'lodash';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst _handleClose = (state, dispatch) => {\n\tlet { beforeClose } = state.properties;\n\tif (beforeClose && typeof beforeClose === 'function') {\n\t\tlet callbackFn = new Promise((resolve) => {\n\t\t\treturn resolve(beforeClose());\n\t\t});\n\t\tcallbackFn.then((res) => {\n\t\t\tres\n\t\t\t\t? dispatch('SN_CANVAS_CORNER_DIALOG#TOGGLE_OPENED', { opened: false })\n\t\t\t\t: null;\n\t\t});\n\t} else {\n\t\tdispatch('SN_CANVAS_CORNER_DIALOG#TOGGLE_OPENED', { opened: false });\n\t}\n};\n\nconst snCanvasCornerDialog = (state, { dispatch }) => {\n\tconst {\n\t\topened,\n\t\tposition,\n\t\tcontainerProps,\n\t\thasCloseIcon,\n\t\theading\n\t} = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"sn-canvas-corner-dialog\"\n\t\t\thidden={!opened}\n\t\t\tstyle={{\n\t\t\t\t...containerProps,\n\t\t\t\t...absolutePositions[\n\t\t\t\t\t_includes(_keys(absolutePositions), position)\n\t\t\t\t\t\t? position\n\t\t\t\t\t\t: positions.BOTTOM_RIGHT\n\t\t\t\t],\n\t\t\t\tbackground: '#ffffff'\n\t\t\t}}>\n\t\t\t<header className=\"sn-canvas-corner-dialog-header\">\n\t\t\t\t<slot name=\"header\">\n\t\t\t\t\t<div className=\"header\">\n\t\t\t\t\t\t<now-icon icon=\"lightbulb-outline\" size=\"md\" />\n\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\tlabel={heading}\n\t\t\t\t\t\t\tlevel=\"3\"\n\t\t\t\t\t\t\tvariant=\"header-secondary\"\n\t\t\t\t\t\t\thasNoMargin\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/slot>\n\t\t\t\t{hasCloseIcon ? (\n\t\t\t\t\t<div className=\"sn-canvas-corner-dialog-close-icon\">\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\ticon-name=\"close-outline\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': t('Close') }}\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\ton-click={(evt) => {\n\t\t\t\t\t\t\t\t_handleClose(state, dispatch);\n\t\t\t\t\t\t\t\tevt.stopPropagation();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/header>\n\t\t\t<div className=\"sn-canvas-corner-dialog-content\">\n\t\t\t\t<slot name=\"content\">\n\t\t\t\t\t<span>content goes here..<\/span>\n\t\t\t\t<\/slot>\n\t\t\t<\/div>\n\t\t\t<footer className=\"sn-canvas-corner-dialog-footer\">\n\t\t\t\t<slot name=\"footer\">\n\t\t\t\t\t<span>footer goes here..<\/span>\n\t\t\t\t<\/slot>\n\t\t\t<\/footer>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Corner dialog aims at UI needs to display content at the configured corners of the viewport.\n *\n * @seismicElement sn-canvas-corner-dialog\n * @summary A corner dialog component to display visual announcements at the corners of the viewport\n */\ncreateCustomElement('sn-canvas-corner-dialog', {\n\tproperties: {\n\t\t/**\n\t\t * Property opened sets the state of the corner dialog\n\t\t * @type {Boolean} set state on corner dialog\n\t\t */\n\t\topened: { default: false, manageable: true },\n\t\t/**\n\t\t * Property position to set the position of the corner dialog\n\t\t * @type {('top-left'|'top-right'|'bottom-left'|'bottom-right')} Position - Possible values are:\n\t\t * \t- top-left,\n\t\t *  - top-right,\n\t\t *  - bottom-left,\n\t\t *  - bottom-right\n\t\t */\n\t\tposition: { default: positions.TOP_RIGHT, manageable: true },\n\t\t/**\n\t\t * Property to set the styles for the corner dialog container\n\t\t * @type {string} Style for container element\n\t\t */\n\t\tcontainerProps: { default: null },\n\t\t/**\n\t\t * Property sets the close icon to dismiss the corner dialog.\n\t\t * @type {string} Icon in the header of corner dialog\n\t\t */\n\t\thasCloseIcon: { default: true },\n\t\t/**\n\t\t * Property sets the heading for the corner dialog if not sent as slot.\n\t\t * @type {string} Heading in the header of corner dialog\n\t\t */\n\t\theading: { default: 'Guided Action' },\n\t\t/**\n\t\t * Property sets a callback function to handle before corner dialog is closed.\n\t\t * @type {function} beforeClose A callback function called when user tries to close corner dialog\n\t\t */\n\t\tbeforeClose: { default: null }\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasCornerDialog\n\t},\n\tstyles: snCanvasCornerDialogStyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the corner dialog is opened/closed.\n\t\t * @type {{}}\n\t\t */\n\t\t'SN_CANVAS_CORNER_DIALOG#TOGGLE_OPENED': {}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: {\n\t\t\teffect({ host }) {\n\t\t\t\tif (!_isEmpty(host)) {\n\t\t\t\t\thost.parentElement.style.position = 'relative';\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect({ state, dispatch }) {\n\t\t\t\tif (state.properties.opened) {\n\t\t\t\t\tdispatch('SN_CANVAS_CORNER_DIALOG#TOGGLE_OPENED', { opened: true });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t} });","import * as uiCore from '@servicenow/ui-core';\nimport { get } from '@devsnc/snowdash';\n\nexport const CONSTANTS = {\n\t/* Seismic element tag name */\n\tSN_CANVAS_ERROR_TAGNAME: 'sn-canvas-error',\n\tSESSION_EXPIRED_HEADER_LABEL: 'Session Expired (401)',\n\tAMB_SESSION_LOGOUT_PROP: 'glide.amb.session.logout.overlay.style',\n\n\t/* action types */\n\tACTION_TYPES: {\n\t\tNOW_MODAL_OPENED_SET: 'NOW_MODAL#OPENED_SET',\n\t\tNOW_MODAL_FOOTER_ACTION_CLICKED: 'NOW_MODAL#FOOTER_ACTION_CLICKED',\n\t},\n};\n\nexport const ARIA_LIVE_TRIGGER_TEXT = get(\n\tuiCore,\n\t'ariaLiveRegionTriggers.ARIA_LIVE_TRIGGER_TEXT',\n\t'text',\n);\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"calculateNewScreenStatusPayloads\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'calculateNewScreenStatusPayloads' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].calculateNewScreenStatusPayloads;\n\t\t\t\t\t} else if ('calculateNewScreenStatusPayloads' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.calculateNewScreenStatusPayloads || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].calculateNewScreenStatusPayloads;\n\t\t\t\t}, [\"deepSearchAllElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchAllElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].deepSearchAllElement;\n\t\t\t\t\t} else if ('deepSearchAllElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.deepSearchAllElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].deepSearchAllElement;\n\t\t\t\t}, [\"deepSearchElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].deepSearchElement;\n\t\t\t\t\t} else if ('deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.deepSearchElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].deepSearchElement;\n\t\t\t\t}, [\"getLandingPath\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getLandingPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getLandingPath;\n\t\t\t\t\t} else if ('getLandingPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getLandingPath || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getLandingPath;\n\t\t\t\t}, [\"getUnifiedCacheInstance\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUnifiedCacheInstance' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getUnifiedCacheInstance;\n\t\t\t\t\t} else if ('getUnifiedCacheInstance' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getUnifiedCacheInstance || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getUnifiedCacheInstance;\n\t\t\t\t}, [\"interopContextRegex\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'interopContextRegex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].interopContextRegex;\n\t\t\t\t\t} else if ('interopContextRegex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.interopContextRegex || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].interopContextRegex;\n\t\t\t\t}, [\"isKarunaMode\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'isKarunaMode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].isKarunaMode;\n\t\t\t\t\t} else if ('isKarunaMode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.isKarunaMode || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].isKarunaMode;\n\t\t\t\t}, [\"notifyToolbarButtonChange\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'notifyToolbarButtonChange' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].notifyToolbarButtonChange;\n\t\t\t\t\t} else if ('notifyToolbarButtonChange' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.notifyToolbarButtonChange || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].notifyToolbarButtonChange;\n\t\t\t\t}, [\"registerChromeStateManager\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerChromeStateManager' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].registerChromeStateManager;\n\t\t\t\t\t} else if ('registerChromeStateManager' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.registerChromeStateManager || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].registerChromeStateManager;\n\t\t\t\t}, [\"renderSkipBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].renderSkipBehavior;\n\t\t\t\t\t} else if ('renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.renderSkipBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].renderSkipBehavior;\n\t\t\t\t}, [\"setCanCreateParentScreen\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'setCanCreateParentScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setCanCreateParentScreen;\n\t\t\t\t\t} else if ('setCanCreateParentScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.setCanCreateParentScreen || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setCanCreateParentScreen;\n\t\t\t\t}, [\"setCanCreateSubScreen\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'setCanCreateSubScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setCanCreateSubScreen;\n\t\t\t\t\t} else if ('setCanCreateSubScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.setCanCreateSubScreen || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setCanCreateSubScreen;\n\t\t\t\t}, [\"setPageTitle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'setPageTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setPageTitle;\n\t\t\t\t\t} else if ('setPageTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.setPageTitle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setPageTitle;\n\t\t\t\t}, [\"unregisterChromeStateManager\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'unregisterChromeStateManager' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].unregisterChromeStateManager;\n\t\t\t\t\t} else if ('unregisterChromeStateManager' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.unregisterChromeStateManager || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].unregisterChromeStateManager;\n\t\t\t\t}, [\"updateScreenCreationStatus\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'updateScreenCreationStatus' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].updateScreenCreationStatus;\n\t\t\t\t\t} else if ('updateScreenCreationStatus' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.updateScreenCreationStatus || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].updateScreenCreationStatus;\n\t\t\t\t} });","import { deepSearchElement, deepSearchAllElement } from 'sn-canvas-common';\nimport { CONSTANTS } from './constants';\n\nconst { AMB_SESSION_LOGOUT_PROP } = CONSTANTS;\n\nexport const _execBtnActionFn = (btnClickFn) => {\n\ttypeof btnClickFn === typeof (() => {}) ? btnClickFn() : null;\n};\n\n/**\n *\n * @param {HTMLElement} selector - element you want to wait for\n * @param {HTMLElement} [target=document.body] - element that will be observed for changes\n * @returns {Promise}\n */\nexport const waitForEl = (selector, target = document.body) => {\n\treturn new Promise((resolve) => {\n\t\tconst el = deepSearchElement(selector, target);\n\t\t// if element being waited for is already present\n\t\tif (el) {\n\t\t\tresolve(el);\n\t\t}\n\t\tconst observer = new MutationObserver((mutationList, observer) => {\n\t\t\tconst el = deepSearchElement(selector, target);\n\t\t\tif (el) {\n\t\t\t\tobserver.disconnect();\n\t\t\t\tresolve(el);\n\t\t\t}\n\t\t});\n\t\tobserver.observe(target.shadowRoot, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t});\n\t});\n};\n\n/**\n * Updates the overlay styling based on the provided old and new nodes.\n *\n * @param {Object} oldNode - The old node object.\n * @param {Object} newNode - The new node object.\n * @param {Boolean} applyOverlayStyles - determines if the overlay styles should be applied\n * @returns {void}\n */\nexport const updateCallback = (oldNode, newNode, applyOverlayStyles) => {\n\tconst overlayStyle =\n\t\twindow?.ux_globals?.sysprops?.[AMB_SESSION_LOGOUT_PROP] || '';\n\t// Only apply the styles when the prop exists and the modal is configured for it.\n\tif (overlayStyle && applyOverlayStyles) {\n\t\t// There might be more than one element so need to find the `now-modal` one\n\t\tconst seismicHoist = deepSearchAllElement('seismic-hoist').filter(\n\t\t\t(el) => el.sourceElement.tagName.toLowerCase() === 'now-modal',\n\t\t)[0];\n\n\t\tif (seismicHoist) {\n\t\t\t// nned to wait for the hoist to complete\n\t\t\twaitForEl('.now-modal-overlay', seismicHoist)\n\t\t\t\t.then((nowModalOverlay) => {\n\t\t\t\t\tconst [backgroundValue, opacityValue] =\n\t\t\t\t\t\textractStyleValues(overlayStyle);\n\t\t\t\t\tif (backgroundValue) {\n\t\t\t\t\t\tnowModalOverlay.style.backgroundColor = backgroundValue;\n\t\t\t\t\t}\n\t\t\t\t\tif (opacityValue) {\n\t\t\t\t\t\tnowModalOverlay.style.opacity = opacityValue;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log('**** Mutation Error: ****', e);\n\t\t\t\t});\n\t\t}\n\t} else {\n\t\tconsole.warn(\n\t\t\t`System property '${AMB_SESSION_LOGOUT_PROP}' could not be found.`,\n\t\t);\n\t}\n};\n\nexport function extractStyleValues(styleStr) {\n\tconst properties = styleStr.split(';').map((item) => item.trim());\n\n\t// Extract and validate properties\n\tconst backgroundProperty = properties.find((property) =>\n\t\tproperty.startsWith('background'),\n\t);\n\tconst opacityProperty = properties.find((property) =>\n\t\tproperty.startsWith('opacity'),\n\t);\n\n\t// Extract values\n\tconst background = backgroundProperty\n\t\t? backgroundProperty.split(':')[1].trim()\n\t\t: undefined;\n\tconst opacity = opacityProperty\n\t\t? opacityProperty.split(':')[1].trim()\n\t\t: undefined;\n\n\treturn [background, opacity];\n}\n\n/**\n * Formats the aria message for the modal.\n * @param {string} headerLabel modal header label\n * @param {string} content modal content\n * @returns {string}\n */\nexport const formatAriaMessage = (headerLabel, content) => {\n\tconst message = [headerLabel, content].join('. ').replace(/\\.\\.\\s/g, '. ');\n\treturn message;\n};\n","import { actionTypes, declarativeOperations } from '@servicenow/ui-core';\nimport { CONSTANTS, ARIA_LIVE_TRIGGER_TEXT } from './constants';\nimport { _execBtnActionFn, formatAriaMessage } from './sn-canvas-error-helpers';\n\nconst { NOW_MODAL_FOOTER_ACTION_CLICKED, NOW_MODAL_OPENED_SET } =\n\tCONSTANTS.ACTION_TYPES;\nconst {\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_DISCONNECTED]: ({ updateState }) => {\n\t\tupdateState({\n\t\t\tpath: 'errorMessage',\n\t\t\tvalue: '',\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tshouldRender: false,\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tproperties,\n\t\tstate,\n\t\tdispatch,\n\t\tupdateState,\n\t}) => {\n\t\tconst { payload } = action;\n\t\tconst {\n\t\t\topen,\n\t\t\terrorConfig: { headerLabel, content },\n\t\t} = properties;\n\t\tif (\n\t\t\topen &&\n\t\t\t(payload.name === 'errorConfig' || payload.name === 'open')\n\t\t) {\n\t\t\tconst message = formatAriaMessage(headerLabel, content);\n\t\t\tif (message !== state.errorMessage) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'errorMessage',\n\t\t\t\t\tvalue: message,\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\tmessage,\n\t\t\t\t\ttype: 'polite',\n\t\t\t\t\treplaceContent: true,\n\t\t\t\t\ttriggers: ARIA_LIVE_TRIGGER_TEXT,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[NOW_MODAL_OPENED_SET]: ({\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t}) => {\n\t\tif (!value) dispatch('CANVAS_HIDE_ERROR_MODAL', { errorConfig: {} });\n\t},\n\t[NOW_MODAL_FOOTER_ACTION_CLICKED]: ({\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties,\n\t}) => {\n\t\tconst {\n\t\t\tfooterAction: { action },\n\t\t} = payload;\n\t\tconst { loginModal } = properties;\n\t\t_execBtnActionFn(action(dispatch, loginModal));\n\t\tdispatch('CANVAS_HIDE_ERROR_MODAL', { errorConfig: {} });\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { CONSTANTS } from './constants';\nimport { actionHandlers } from './actions';\nimport { updateCallback } from './sn-canvas-error-helpers';\nimport '@servicenow/now-modal';\nconst { SN_CANVAS_ERROR_TAGNAME } = CONSTANTS;\n\n/** @seismicView sn-canvas-error */\nexport const snCanvasError = (state) => {\n\tconst { open, errorConfig } = state.properties;\n\tconst {\n\t\theaderLabel = '',\n\t\tcontent = '',\n\t\tfooterActions = [],\n\t\tapplyOverlayStyles = false,\n\t} = errorConfig;\n\n\treturn (\n\t\t<now-modal\n\t\t\tsize=\"sm\"\n\t\t\topened={open}\n\t\t\tnowHoist={open}\n\t\t\tmanageOpened\n\t\t\theader-label={headerLabel}\n\t\t\tcontent={content}\n\t\t\tfooter-actions={footerActions}\n\t\t\thook-update={(oldVnode, vnode) => {\n\t\t\t\tupdateCallback(oldVnode, vnode, applyOverlayStyles);\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * Canvas error represents custom modal component that displays the\n * error message and actions.\n *\n * ```jsx\n * <sn-canvas-error errorConfig={errorConfig} open={true} />\n * ```\n *\n * @seismicElement sn-canvas-error\n * @summary Canvas error defines the error modal.\n *\n **/\ncreateCustomElement(SN_CANVAS_ERROR_TAGNAME, {\n\tproperties: {\n\t\t/**\n\t\t * Property to set the error modal configuration - header label, content, footer actions etc.\n\t\t * @type {Object} errorConfig - Canvas error modal configuration\n\t\t * @default [{}]\n\t\t */\n\t\terrorConfig: {\n\t\t\tdefault: {\n\t\t\t\theaderLabel: '',\n\t\t\t\tcontent: '',\n\t\t\t\tfooterActions: [],\n\t\t\t\tapplyOverlayStyles: false,\n\t\t\t},\n\t\t\tdeepCompare: true,\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Property to set the card's primary title\n\t\t * @type {boolean} [open=false] open - Error modal display state\n\t\t * @default [false]\n\t\t */\n\t\topen: { default: false },\n\t\tloginModal: {\n\t\t\tdefault: {},\n\t\t\tunstableParse: true,\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasError,\n\t},\n\tactionHandlers,\n\tinitialState: {\n\t\terrorMessage: '',\n\t},\n});\n","export const actionNames = {\n\t/**\n\t * Dispatched when user clicks login button\n\t **/\n\tLOGIN_CLICKED: 'SNL_LOCAL_LOGIN#LOGIN_CLICKED',\n\t/**\n\t * Dispatched when user name is updated\n\t **/\n\tUSERNAME_CHANGED: 'SNL_LOCAL_LOGIN#USERNAME_CHANGED',\n\t/**\n\t * Dispatched when enter key is pressed\n\t **/\n\tENTER_KEY_PRESSED: 'SNL_LOCAL_LOGIN#ENTER_KEY_PRESSED',\n\n\tCANVAS_LOGIN_MODAL_CANCELLED: 'CANVAS_LOGIN_MODAL_CANCELLED',\n\tNOW_BUTTON_CLICKED: 'NOW_BUTTON#CLICKED',\n\tNOW_ALERT_ACTION_CLICKED: 'NOW_ALERT#ACTION_CLICKED',\n\tNOW_MODAL_OPENED_SET: 'NOW_MODAL#OPENED_SET',\n\tNOW_INPUT_PASSWORD_INVALID_SET: 'NOW_INPUT_PASSWORD#INVALID_SET',\n\tNOW_INPUT_INVALID_SET: 'NOW_INPUT#INVALID_SET',\n\tLOGIN_MODAL_UI_STATE: 'LOGIN_MODAL_UI_STATE',\n};\n\nexport const dataHandlerConstants = {\n\tLOGIN_USER_SUCCEEDED: `LOGIN_USER_SUCCEEDED`,\n\tLOGIN_USER_FAILED: `LOGIN_USER_FAILED`,\n};\n\nexport const LOGIN_USER_ACTION_TAKEN = `LOGIN_USER_ACTION_TAKEN`;\nexport const LOGIN_SUCCEEDED = `LOGIN_SUCCEEDED`;\nexport const CANVAS_LOGIN_USER = 'CANVAS#LOGIN_USER';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"];\n\t\t\t\t}, [\"getFocusableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"].getFocusableNodes;\n\t\t\t\t\t} else if ('getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.getFocusableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"].getFocusableNodes;\n\t\t\t\t} });","import {getFocusableNodes} from '@servicenow/behavior-focus';\n\nconst errorMsgConfig = ({\n\ttype: 'critical',\n\ticon: 'circle-exclamation-outline'\n});\n\nexport const getRequiredErrMsgs = msg => ({\n\tstatus: errorMsgConfig.type,\n\tcontent: msg,\n\ticon: errorMsgConfig.icon\n});\n\nexport const handleFocus = host => {\n\tconst {tabbableNodes} = getFocusableNodes(host);\n\tconst {length} = tabbableNodes;\n\tif(!length)\n\t\treturn ;\n\ttabbableNodes[length-1].focus();\n};\n\n\n","import {t} from 'sn-translate';\n\nexport const translatedTexts = {\n\tusername: t('User name'),\n\tcurrentPassword: t('Current Password'),\n\tnewPassword: t('New Password'),\n\tconfirmNewPassword: t('Confirm New Password'),\n\tsubmit: t('Submit'),\n\tpwdMatchFailMsg: t('The passwords do not match'),\n\tlogin: t('Log In'),\n\tpassword: t('Password'),\n\tcontinue: t('Continue'),\n\tuserId: t('User ID'),\n\ticon: t('icon'),\n\tlogInWith: fieldName => t('Log in with {0}', fieldName),\n\tuserNameReqMsg: t('User name is mandatory'),\n\tpwdReqMsg: t('Password is mandatory'),\n\tnewPwdReqMsg: t('New Password is mandatory'),\n\tcnfNewPwdReqMsg: t('Confirm New Password is mandatory'),\n\tuserIdReqMsg: fieldName => t('{0} is mandatory', fieldName),\n\tcurrentPwdReqMsg: t('Current Password is mandatory'),\n\tsignInWithSSO: t('Sign in with SSO'),\n\tchangePassword: t('Change Password'),\n\torSignInWith: t('Or sign in with'),\n\tloginWithUsernameNPassword: t('Login with user name & password'),\n\tloginWithSSO: t('Login with SSO'),\n\tforgotPassword: t('Forgot Password'),\n\tloading: t('Loading...'),\n\trememberMe: t('Remember me'),\n\tmfaSetupHeading: t('Enable multi-factor authentication (MFA)'),\n\tmfaValidateHeading: t('Multi-Factor Authentication'),\n\tlogoAltText: t('Company logo'),\n\tlanguage: t('Language'),\n\tlangTooltip: t('Please select a language from the dropdown'),\n\tloginButton: t('Login'),\n\tloginFormLabel: t('Login Form'),\n};","import { actionNames, CANVAS_LOGIN_USER } from './constants';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { getRequiredErrMsgs } from './utils';\nimport { translatedTexts as translated } from './i18n';\n\n\nconst handleValidations = ({action, state, dispatch, updateState, properties}) => {\t\n\tconst {value} = state.userNameInfo;\n\tconst {password} = state;\n\tconst transactionId = properties.loginConfig?.transactionId ?? '';\n\tconst actionPayload = action?.payload || {};\n\tconst userNameValue = actionPayload.userName ?? value;\n\tconst passwordValue = actionPayload.password ?? password.value;\n\tconst payload = {\n\t\tuserName: userNameValue,\n\t\tpassword: passwordValue,\n\t\ttransactionId,\n\t};\n\n\tconst hasUserName = !!userNameValue;\n\tconst hasPassword = !!passwordValue;\n\t\n\tif(userNameValue && passwordValue) {\n\t\tconst request = {\n\t\t\tdata: {\n\t\t\t\tusername: payload.userName,\n\t\t\t\tpassword: payload.password,\n\t\t\t\ttransactionId,\n\t\t\t\ttype: 'password',\n\t\t\t},\n\t\t};\n\n\t\tupdateState({\n\t\t\tuserNameInfo: {\n\t\t\t\t...state.userNameInfo,\n\t\t\t\tvalue: userNameValue,\n\t\t\t\terrMsg: userNameValue ? [] : [getRequiredErrMsgs(translated.userNameReqMsg)],\n\t\t\t\tinvalid: !userNameValue\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\t...state.password,\n\t\t\t\tvalue: passwordValue,\n\t\t\t\terrMsg: passwordValue ? [] : [getRequiredErrMsgs(translated.pwdReqMsg)],\n\t\t\t\tinvalid: !passwordValue,\n\t\t\t}\n\t\t});\n\t\t\n\t\tdispatch(actionNames.LOGIN_MODAL_UI_STATE, {\n\t\t\tisLoading: true,\n\t\t\tmessages: [],\n\t\t});\n\t\tdispatch(CANVAS_LOGIN_USER, request);\n\t} else {\n\t\tconsole.warn(\n\t\t\t'[handleValidations] Validation failed, not dispatching login',\n\t\t\t{ hasUserName, hasPassword },\n\t\t);\n\t}\n};\n\nexport const actionHandlers = {\n\t[actionNames.NOW_BUTTON_CLICKED]: handleValidations,\n\t[actionNames.LOGIN_CLICKED]: handleValidations,\n\t[actionNames.NOW_ALERT_ACTION_CLICKED]: ({ action, dispatch }) => {\n\t\tconst { payload } = action;\n\t\tif (payload.action?.type === 'dismiss')\n\t\t\tdispatch(actionNames.LOGIN_MODAL_UI_STATE, { messages: [] });\n\t},\n\t[actionTypes.COMPONENT_CONNECTED]({state, properties, updateState}){\n\t\tupdateState({\n\t\t\tuserNameInfo:{\n\t\t\t\t...state.userNameInfo,\n\t\t\t\tvalue: properties.userName,\n\t\t\t},\n\t\t});\n\t},\n\n\t// Standard handler for modal open/close event with logging and guard\n\t[actionNames.NOW_MODAL_OPENED_SET]({ action, updateProperties, updateState, state, dispatch }) {\n\t\t// Only update on close, to avoid race with programmatic open\n\t\tif (action.payload.value === false) {\n\t\t\t// Update all properties at once\n\t\t\tupdateProperties({ \n\t\t\t\tshowLogin: false,\n\t\t\t\tisLoading: false,\n\t\t\t\tmessages: [],\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tuserNameInfo: {\n\t\t\t\t\t...state.userNameInfo,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\terrMsg: [],\n\t\t\t\t\tinvalid: false\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\t...state.password,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\terrMsg: [],\n\t\t\t\t\tinvalid: false\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\t// Dispatch an action to notify that the user manually closed/cancelled the modal\n\t\t\t// This allows the effect handler to reject the promise if needed\n\t\t\tdispatch(actionNames.CANVAS_LOGIN_MODAL_CANCELLED);\n\t\t}\n\t},\n\n\t/**\n    * Executes when enter key pressed,\n    **/\n\t[actionNames.ENTER_KEY_PRESSED]: handleValidations,\n\n\t['NOW_INPUT#INPUT']: ({action, updateState, state}) => {\n\t\tconst fieldValue = action.payload.fieldValue ?? state.userNameInfo.value;\n\t\tupdateState({\n\t\t\tuserNameInfo: {\n\t\t\t\t...state.userNameInfo,\n\t\t\t\tvalue: fieldValue\n\t\t\t}\n\t\t});\n\t},\n\n\t['NOW_INPUT_PASSWORD#INPUT']: ({action, updateState, state}) => {\n\t\tconst fieldValue = action.payload.fieldValue ?? state.password.value;\n\t\tupdateState({\n\t\t\tpassword: {\n\t\t\t\t...state.password,\n\t\t\t\tvalue: fieldValue\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n\t * Update validation state AND value for password field.\n\t * This fires on blur and includes both validation state and current field value.\n\t **/\n\t[actionNames.NOW_INPUT_PASSWORD_INVALID_SET]: ({action, updateState, state}) => {\n\t\tconst fieldValue = action.payload.fieldValue ?? state.password.value;\n\t\tupdateState({\n\t\t\tpassword: {\n\t\t\t\tvalue: fieldValue,\n\t\t\t\terrMsg: action.payload.value\n\t\t\t\t\t? [getRequiredErrMsgs(translated.pwdReqMsg)]\n\t\t\t\t\t: [],\n\t\t\t\tinvalid: action.payload.value,\n\t\t\t},\n\t\t});\n\t},\n\n\t/**\n\t * Update validation state AND value for username field.\n\t * This fires on blur and includes both validation state and current field value.\n\t **/\n\t[actionNames.NOW_INPUT_INVALID_SET]: ({action, updateState, state}) => {\n\t\tconst fieldValue = action.payload.fieldValue ?? state.userNameInfo.value;\n\t\tupdateState({\n\t\t\tuserNameInfo: {\n\t\t\t\tvalue: fieldValue,\n\t\t\t\terrMsg: action.payload.value\n\t\t\t\t\t? [getRequiredErrMsgs(translated.userNameReqMsg)]\n\t\t\t\t\t: [],\n\t\t\t\tinvalid: action.payload.value,\n\t\t\t},\n\t\t});\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { actionNames } from './constants';\nimport { actionHandlers } from './actionHandlers';\nimport styles from './sn-canvas-login.scss';\nimport { handleFocus } from './utils';\nimport { translatedTexts as t } from './i18n';\n\nimport '@servicenow/now-input';\nimport '@servicenow/now-button';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-alert';\nimport '@servicenow/now-modal';\n\n/**\n * Renders alert messages\n * @param {Array} messages - Array of message config objects\n * @returns {Array|undefined} - Array of alert elements or undefined if no messages\n */\nconst renderAlert = (messages) => {\n\tif (!messages || !messages.length) return;\n\n\treturn messages.map((msgConfig) => (\n\t\t<now-alert\n\t\t\tstatus={msgConfig.status}\n\t\t\ticon={msgConfig.icon}\n\t\t\tcontent={msgConfig.content}\n\t\t\taction={msgConfig.action}\n\t\t\tid={msgConfig.action.id}\n\t\t/>\n\t));\n};\n\n/**\n * Renders the loader component\n * @param {boolean} showLoader - Whether to show the loader\n * @param {string} className - Optional CSS class name\n * @returns {Object|null} - Loader element or null\n */\nconst renderLoader = (showLoader, className) =>\n\tshowLoader ? (\n\t\t<now-loader label={t.loading} size=\"lg\" className={className} />\n\t) : null;\n\n/**\n * Renders username input field\n * @param {Object} userNameInfo - Username field state\n * @param {string} userName - Default username if any\n * @param {boolean} isLoading - Whether form is in loading state\n * @returns {Object} - Username input component\n */\nconst renderUsernameInput = (userNameInfo, userName, isLoading) => {\n\tconst usernameErrorId = userNameInfo.invalid ? 'username-error' : undefined;\n\treturn (\n\t\t<div className=\"now-m-bottom--md\">\n\t\t\t<now-input\n\t\t\t\tid=\"username-input\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t.username}\n\t\t\t\tvalue={userNameInfo.value || ''}\n\t\t\t\tmessages={userNameInfo.errMsg}\n\t\t\t\tinvalid={userNameInfo.invalid}\n\t\t\t\tautofocus={!userName}\n\t\t\t\tautocomplete=\"new-username\"\n\t\t\t\taria-invalid={userNameInfo.invalid}\n\t\t\t\taria-describedby={usernameErrorId}\n\t\t\t\tdisabled={isLoading}\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: '100%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders password input field\n * @param {Object} password - Password field state\n * @param {string} userName - Username for determining autofocus\n * @param {boolean} isLoading - Whether form is in loading state\n * @returns {Object} - Password input component\n */\nconst renderPasswordInput = (password, userName, isLoading) => {\n\tconst passwordErrorId = password.invalid ? 'password-error' : undefined;\n\treturn (\n\t\t<div className=\"now-m-bottom--md\">\n\t\t\t<now-input-password\n\t\t\t\tid=\"password-input\"\n\t\t\t\tlabel={t.password}\n\t\t\t\tvalue={password.value || ''}\n\t\t\t\trequired\n\t\t\t\tmessages={password.errMsg}\n\t\t\t\tinvalid={password.invalid}\n\t\t\t\tautofocus={Boolean(userName)}\n\t\t\t\tdisableUnmask\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\taria-invalid={password.invalid}\n\t\t\t\taria-describedby={passwordErrorId}\n\t\t\t\tdisabled={isLoading}\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: '100%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Main view function for the login component\n * @param {Object} state - Component state\n * @param {Object} options - Options including dispatch function\n * @returns {Object} - Component view\n */\nexport const snCanvasLogin = (state, { dispatch, updateState }) => {\n\tconst { userNameInfo = {}, password = {} } = state;\n\tconst {\n\t\tloginConfig = {},\n\t\tuserName = '',\n\t\tshowLogin,\n\t\tisLoading = false,\n\t\tmessages = [],\n\t\tshowESignatureModal = false, // Default to false to improve DOM cleanliness\n\t} = state.properties;\n\n\tconst { headerLabel = '', footerActions = [], _reopenKey } = loginConfig;\n\n\t// Skip rendering entirely if modal shouldn't be in DOM\n\tif (!showESignatureModal) {\n\t\treturn null;\n\t}\n\n\t// Reset validation state and input values when modal reopens (detected by _reopenKey change)\n\t// This implements self-managing validation and ensures clean state on each open\n\t// Only reset if _reopenKey exists AND it's different from the last one we saw\n\tif (_reopenKey && _reopenKey !== state._lastReopenKey) {\n\t\tconsole.warn('[sn-canvas-login] Modal reopened, resetting state', {\n\t\t\t_reopenKey,\n\t\t\t_lastReopenKey: state._lastReopenKey,\n\t\t});\n\t\tupdateState({\n\t\t\tuserNameInfo: {\n\t\t\t\tinvalid: false,\n\t\t\t\terrMsg: [],\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\tinvalid: false,\n\t\t\t\terrMsg: [],\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\t_lastReopenKey: _reopenKey, // Track in state to prevent loop\n\t\t});\n\t}\n\n\t/**\n\t * Handle form submission\n\t * @param {Event} e - Form submission event\n\t */\n\tconst handleFormSubmit = (e) => {\n\t\te.preventDefault();\n\n\t\t// Prevent submission when already loading\n\t\tif (isLoading) return;\n\n\t\t// Read values directly from DOM elements\n\t\tconst form = e.target;\n\t\tconst usernameInput = form.querySelector('#username-input');\n\t\tconst passwordInput = form.querySelector('#password-input');\n\n\t\tdispatch(actionNames.LOGIN_CLICKED, {\n\t\t\tuserName: usernameInput?.value || userName || '',\n\t\t\tpassword: passwordInput?.value || '',\n\t\t});\n\t};\n\n\tconst content = (\n\t\t<div\n\t\t\tclassName={`now-modal-content-wrapper ${isLoading ? 'now-has-overlay' : ''}`}\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby=\"login-modal-title\"\n\t\t>\n\t\t\t{/* Loader component */}\n\t\t\t{renderLoader(isLoading, 'now-loader-container')}\n\n\t\t\t<div>\n\t\t\t\t{/* Alert messages */}\n\t\t\t\t{renderAlert(messages)}\n\n\t\t\t\t{/* Login form */}\n\t\t\t\t<form\n\t\t\t\t\tonSubmit={handleFormSubmit}\n\t\t\t\t\tid=\"login-form\"\n\t\t\t\t\taria-label={t.loginFormLabel || 'Login form'}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"now-vertical-layout\">\n\t\t\t\t\t\t{/* Username field */}\n\t\t\t\t\t\t{renderUsernameInput(userNameInfo, userName, isLoading)}\n\n\t\t\t\t\t\t{/* Password field */}\n\t\t\t\t\t\t{renderPasswordInput(password, userName, isLoading)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/form>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n\n\t// Map footer actions to include disabled state based on isLoading\n\tconst updatedFooterActions = footerActions.map((action) => ({\n\t\t...action,\n\t\tdisabled: isLoading || action.disabled,\n\t}));\n\n\treturn (\n\t\t<now-modal\n\t\t\tsize=\"md\"\n\t\t\topened={showLogin}\n\t\t\tnowHoist={showLogin}\n\t\t\tmanageOpened\n\t\t\theader-label={headerLabel}\n\t\t\tid=\"login-modal-title\"\n\t\t\tcontent={content}\n\t\t\tfooter-actions={updatedFooterActions}\n\t\t/>\n\t);\n};\n\n/**\n * local-login allows login with username password.\n **/\ncreateCustomElement('sn-canvas-login', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasLogin,\n\t},\n\tstyles,\n\tinitialState: {\n\t\tpassword: {\n\t\t\tinvalid: false,\n\t\t\terrMsg: [],\n\t\t\tvalue: '',\n\t\t},\n\t\tuserNameInfo: {\n\t\t\tinvalid: false,\n\t\t\terrMsg: [],\n\t\t\tvalue: '',\n\t\t},\n\t\t_lastReopenKey: null,\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Pass userName as property if you want to login with particular userName\n\t\t * @type String\n\t\t **/\n\t\telementRef: { default: null },\n\t\tuserName: {\n\t\t\tdefault: '',\n\t\t\trequired: false,\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * Property to set the error modal configuration - header label, content, footer actions etc.\n\t\t * @type {Object} errorConfig - Canvas error modal configuration\n\t\t * @default [{}]\n\t\t */\n\t\tloginConfig: { selectable: true, default: {} },\n\t\t/**\n\t\t * Property to set the card's primary title\n\t\t * @type {boolean} [open=false] open - Error modal display state\n\t\t * @default [false]\n\t\t */\n\t\tshowLogin: { selectable: true, default: false },\n\t\t/**\n\t\t * Property to indicate loading state for the login process\n\t\t * @type {boolean} [isLoading=false] isLoading - Whether login is in progress\n\t\t * @default [false]\n\t\t */\n\t\tisLoading: { selectable: true, default: false },\n\t\t/**\n\t\t * Property to show alert messages in the login modal\n\t\t * @type {Array} messages - Array of message configs for alerts\n\t\t * @default []\n\t\t */\n\t\tmessages: { selectable: true, default: [] },\n\t\t/**\n\t\t * Property to control whether the e-signature modal should be rendered in DOM\n\t\t * @type {boolean} [showESignatureModal=false] - Whether to show e-signature modal in DOM\n\t\t * @default [false] - Default to false to improve DOM cleanliness\n\t\t */\n\t\tshowESignatureModal: { selectable: true, default: false },\n\t},\n\tactionHandlers,\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect({ host, action, dispatch, properties }) {\n\t\t\t\tconst { event } = action.payload;\n\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Focus the submit button for better accessibility\n\t\t\t\t\t\thandleFocus(host);\n\n\t\t\t\t\t\t// Prevent action if already loading\n\t\t\t\t\t\tif (!properties.isLoading) {\n\t\t\t\t\t\t\tdispatch(actionNames.ENTER_KEY_PRESSED);\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error handling Enter key press', error);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// Handle Escape key to allow keyboard users to close modal\n\t\t\tevents: ['keydown'],\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tconst { event } = action.payload;\n\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\tdispatch('NOW_MODAL#OPENED_SET', { value: false });\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when user clicked login button or pressed Enter key.\n\t\t * @param {Object} payload - Login credentials\n\t\t * @param {string} payload.userName - Value of username field\n\t\t * @param {string} payload.password - Value of password field\n\t\t * @returns {void}\n\t\t */\n\t\t[actionNames.LOGIN_CLICKED]() {},\n\n\t\t/**\n\t\t * Dispatched when user cancels login by closing modal\n\t\t * @returns {void}\n\t\t */\n\t\t[actionNames.CANVAS_LOGIN_MODAL_CANCELLED]() {},\n\t},\n});\n","export const CANVAS_IFRAME_MODAL_MESSAGE_TYPE =\n\t'CANVAS_IFRAME_MODAL_MESSAGE_TYPE';\nexport const CANVAS_IFRAME_CLOSED = 'SN_CANVAS_IFRAME#CLOSED';\nexport const CANVAS_IFRAME_OUTBOUND_ACTION_CANCELED =\n\t'CANVAS_IFRAME_OUTBOUND_ACTION_CANCELED';\nexport const CANVAS_IFRAME_OUTBOUND_ACTION_CONFIRMED =\n\t'CANVAS_IFRAME_OUTBOUND_ACTION_CONFIRMED';\nexport const CANVAS_IFRAME_INIT = 'CANVAS_IFRAME_INIT';\nexport const CANVAS_IFRAME_CONTENT = 'CANVAS_IFRAME_CONTENT';\n\nexport const IFRAME_REF = 'iframeRef';\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_sn-canvas-iframe.scss';\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nimport {\n\tCANVAS_IFRAME_CLOSED,\n\tCANVAS_IFRAME_CONTENT,\n\tIFRAME_REF\n} from './constants';\n\n/**\n * API that handles communication from iframe, dispatches MODAL_SELECTED, SN_CANVAS_IFRAME#CLOSED actions\n * @param {*} e , standar postMessage payload\n */\nconst onMessage = (e) => {\n\tconst { type, action, params = {} } = e.data || {};\n\n\tif (CANVAS_IFRAME_CONTENT === type) {\n\t\te.dispatch('MODAL_SELECTED', { showModal: false });\n\t\te.dispatch(CANVAS_IFRAME_CLOSED, {\n\t\t\taction,\n\t\t\tparams\n\t\t});\n\t}\n};\n\nlet messageListener;\n\nconst messageHandler = (dispatch) => {\n\treturn (e) => {\n\t\tonMessage({ data: e.data, dispatch });\n\t}\n};\n\nconst sendInitMessage = (iFrameRef, params = {}) => {\n\tif (!iFrameRef) return;\n\n\tlet data = {\n\t\ttype: 'CAVAS_IFRAME_MODAL_INIT',\n\t\tparams\n\t};\n\tiFrameRef.contentWindow.postMessage(data, location.origin);\n};\n\nconst setIframeHeight = (iframeRef) => {\n\tif (\n\t\tiframeRef &&\n\t\tiframeRef.contentDocument &&\n\t\tiframeRef.contentDocument.documentElement\n\t)\n\t\tiframeRef.style.height =\n\t\t\tiframeRef.contentDocument.documentElement.scrollHeight + 'px';\n};\n\nconst view = (state, { updateProperties }) => {\n\tconst {\n\t\tsrc,\n\t\theaderLabel,\n\t\tiframeRef,\n\t\tdisableSandbox = false\n\t} = state.properties;\n\tconst includeIframe = !!src;\n\tif (!includeIframe) return null;\n\n\tconst setRef = (ref) => {\n\t\tif (iframeRef) return;\n\t\tupdateProperties({ iframeRef: ref });\n\t};\n\n\tconst _renderHeader = () => {\n\t\tif (!headerLabel || headerLabel.length === 0) return null;\n\t\treturn <h1>{headerLabel}<\/h1>;\n\t};\n\n\treturn disableSandbox === true ? (\n\t\t<div className=\"sn-canvas-iframe\">\n\t\t\t{_renderHeader()}\n\t\t\t<iframe\n\t\t\t\tref={setRef}\n\t\t\t\tsrc={src}\n\t\t\t\ttitle={headerLabel}\n\t\t\t\tsandbox=\"allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts allow-downloads\"\n\t\t\t/>\n\t\t<\/div>\n\t) : (\n\t\t<div className=\"sn-canvas-iframe\">\n\t\t\t{_renderHeader()}\n\t\t\t<iframe\n\t\t\t\tref={setRef}\n\t\t\t\tsrc={src}\n\t\t\t\ttitle={headerLabel}\n\t\t\t\tsandbox=\"allow-scripts\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\n/**\n * A canvas component that provides ability to pass in header title and src url to create a content with iframe\n * . A use case of this component is it is used in OOB modal so the actual content will be displayed on modal\n * ```jsx\n * \t<sn-canvas-iframe header-title=\"My Header\" src=\"https://myhost/sample.html\" height=\"400px\" />\n * ```\n *  @seismicElement sn-canvas-iframe\n *  @summary - A component to group tilte , iframe together\n */\ncreateCustomElement('sn-canvas-iframe', {\n\tproperties: {\n\t\tiframeRef: {\n\t\t\tprivate: true,\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * Property to configure the canvas iframe title.\n\t\t *\n\t\t * A title for your iframe\n\t\t * @type {string}\n\t\t */\n\t\theaderLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Property to configure the canvas iframe src or url.\n\t\t *\n\t\t * A src (url) for your iframe content\n\t\t * @type {string}\n\t\t */\n\t\tsrc: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Initial data to iframe content\n\t\t */\n\t\tparams: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Optional. disable-sandbox, a boolean property to toggle sandbox restrictions.\n\t\t */\n\t\tdisableSandbox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: view\n\t},\n\tstyles,\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({ dispatch, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\twindow.addEventListener('message', messageListener = messageHandler(dispatch));\n\t\t},\n\n\t\t[COMPONENT_DISCONNECTED]: ({ dispatch, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\twindow.removeEventListener('message', messageListener);\n\t\t\tmessageListener = null;\n\t\t},\n\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: { payload },\n\t\t\tproperties: { params }\n\t\t}) => {\n\t\t\tif (payload.name === IFRAME_REF) {\n\t\t\t\tif (!payload.value) return;\n\t\t\t\tpayload.value.addEventListener('load', () => {\n\t\t\t\t\tsendInitMessage(payload.value, params);\n\t\t\t\t\tsetIframeHeight(payload.value);\n\t\t\t\t}, {once: true});\n\t\t\t}\n\t\t}\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"uxfViewportBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t\t} else if ('uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.uxfViewportBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t} });","import { setTranslate } from './setTranslate';\n\nlet activeItem = null;\nlet active = false;\n\nconst onDragStart = (e) => {\n\t// determine event object\n\tif (!e) {\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tlet e = window.event;\n\t}\n\tif (e.preventDefault) e.preventDefault();\n\n\tif (e.target !== e.currentTarget) {\n\t\tactive = true;\n\n\t\t// this is the item we are interacting with\n\t\tactiveItem = e.target;\n\n\t\tif (activeItem !== null) {\n\t\t\tif (!activeItem.xOffset) {\n\t\t\t\tactiveItem.xOffset = 0;\n\t\t\t}\n\n\t\t\tif (!activeItem.yOffset) {\n\t\t\t\tactiveItem.yOffset = 0;\n\t\t\t}\n\n\t\t\tif (e.type === 'touchstart') {\n\t\t\t\tactiveItem.initialX = e.touches[0].clientX - activeItem.xOffset;\n\t\t\t\tactiveItem.initialY = e.touches[0].clientY - activeItem.yOffset;\n\t\t\t} else {\n\t\t\t\tactiveItem.initialX = e.clientX - activeItem.xOffset;\n\t\t\t\tactiveItem.initialY = e.clientY - activeItem.yOffset;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nconst onDragEnd = () => {\n\tif (activeItem !== null) {\n\t\tactiveItem.initialX = activeItem.currentX;\n\t\tactiveItem.initialY = activeItem.currentY;\n\t}\n\n\tactive = false;\n\tactiveItem = null;\n\treturn false;\n};\n\nconst onDrag = (e) => {\n\tif (active) {\n\t\tif (e.type === 'touchmove') {\n\t\t\te.preventDefault();\n\n\t\t\tactiveItem.currentX = e.touches[0].clientX - activeItem.initialX;\n\t\t\tactiveItem.currentY = e.touches[0].clientY - activeItem.initialY;\n\t\t} else {\n\t\t\tactiveItem.currentX = e.clientX - activeItem.initialX;\n\t\t\tactiveItem.currentY = e.clientY - activeItem.initialY;\n\t\t}\n\n\t\tactiveItem.xOffset = activeItem.currentX;\n\t\tactiveItem.yOffset = activeItem.currentY;\n\n\t\tsetTranslate(activeItem.currentX, activeItem.currentY, activeItem);\n\t}\n};\n\nconst getActiveItem = () => activeItem;\nconst getActive = () => active;\n\nexport { onDragStart, onDragEnd, onDrag, getActiveItem, getActive };\n","const setTranslate = (xPos, yPos, el) => {\n\t// -undocked class is added to the floating items\n\t// that support dock /un-dock\n\tconst elNode = el.shadowRoot.querySelector('.-undocked');\n\tif (elNode) {\n\t\telNode.style.transform =\n\t\t\t'translate3d(' + xPos + 'px, ' + yPos + 'px, 0)';\n\t}\n};\n\nexport { setTranslate };\n","import { onDrag, onDragStart, onDragEnd } from './onDrag';\nimport { clearTranslate } from './clearTranslate';\n\nexport const DOCUMENT_EVENTS = [\n\t'mousemove',\n\t'mousedown',\n\t'mouseup',\n\t'touchmove',\n\t'touchstart',\n\t'touchend',\n];\n\nconst bindDraggableEvents = ({ host, state, updateState }) => {\n\tconst targetRef = host;\n\tconst parentTargetRef = host.parentElement;\n\tconst { dockingEnabled } = state.properties;\n\n\tif (dockingEnabled && targetRef && parentTargetRef) {\n\t\tDOCUMENT_EVENTS.forEach((eventType) => {\n\t\t\tif (eventType === 'touchstart' || eventType === 'mousedown') {\n\t\t\t\tparentTargetRef.addEventListener(eventType, onDragStart, false);\n\t\t\t} else if (eventType === 'touchend' || eventType === 'mouseup') {\n\t\t\t\tparentTargetRef.addEventListener(eventType, onDragEnd, false);\n\t\t\t} else if (eventType === 'touchmove' || eventType === 'mousemove') {\n\t\t\t\tparentTargetRef.addEventListener(eventType, onDrag, false);\n\t\t\t}\n\t\t});\n\t}\n\n\tupdateState({ targetRef: host, parentTargetRef: host.parentElement });\n};\n\nconst unbindDraggableEvents = ({ host, state }) => {\n\tconst targetRef = host;\n\tconst parentTargetRef = host.parentElement;\n\tconst { dockingEnabled } = state.properties;\n\n\tif (dockingEnabled && targetRef && parentTargetRef) {\n\t\tDOCUMENT_EVENTS.forEach((eventType) => {\n\t\t\tif (eventType === 'touchstart' || eventType === 'mousedown') {\n\t\t\t\tparentTargetRef.removeEventListener(\n\t\t\t\t\teventType,\n\t\t\t\t\tonDragStart,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t} else if (eventType === 'touchend' || eventType === 'mouseup') {\n\t\t\t\tparentTargetRef.removeEventListener(\n\t\t\t\t\teventType,\n\t\t\t\t\tonDragEnd,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t} else if (eventType === 'touchmove' || eventType === 'mousemove') {\n\t\t\t\tparentTargetRef.removeEventListener(eventType, onDrag, false);\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst clearStyles = (coeffects) => {\n\tconst {\n\t\thost,\n\t\taction: { payload },\n\t} = coeffects;\n\tconst { name, previousValue, value } = payload;\n\tif (name === 'status' && previousValue !== value && value === 'DOCKED') {\n\t\tclearTranslate(host);\n\t}\n};\n\nconst effectHandlers = {\n\tbindDraggableEvents,\n\tunbindDraggableEvents,\n\tclearStyles,\n};\n\nexport default {\n\teffectHandlers,\n};\n","const clearTranslate = (el) => {\n\tif (el && el.shadowRoot && el.shadowRoot.childNodes) {\n\t\tel.shadowRoot.childNodes.forEach((node) => {\n\t\t\tnode.style.removeProperty('transform');\n\t\t});\n\t}\n};\n\nexport { clearTranslate };\n","import { actionTypes } from '@servicenow/ui-core';\nimport draggableEffect from './draggableEffect';\n\nconst {\n\tbindDraggableEvents,\n\tunbindDraggableEvents,\n\tclearStyles\n} = draggableEffect.effectHandlers;\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nexport const draggableBehavior = {\n\tname: 'draggableBehavior',\n\tinitialState: {\n\t\ttargetRef: null,\n\t\tparentTargetRef: null\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: bindDraggableEvents,\n\t\t[COMPONENT_DISCONNECTED]: unbindDraggableEvents,\n\t\t[COMPONENT_PROPERTY_CHANGED]: clearStyles\n\t}\n};\n","import { isEmpty as _isEmpty } from 'lodash';\n\nconst Docking = ({ dockingEnabled, status, updateProperties }) => {\n\treturn dockingEnabled ? (\n\t\tstatus === 'DOCKED' ? (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"close-icon\"\n\t\t\t\ticon=\"clone-outline\"\n\t\t\t\tsize=\"md\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tonClickHandler(dockingEnabled, status, updateProperties);\n\t\t\t\t}}\n\t\t\t/>\n\t\t) : (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"close-icon\"\n\t\t\t\ticon=\"close-outline\"\n\t\t\t\tsize=\"md\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tonClickHandler(dockingEnabled, status, updateProperties);\n\t\t\t\t}}\n\t\t\t/>\n\t\t)\n\t) : null;\n};\n\nexport const snCanvasSidebar = (state, { updateProperties }) => {\n\tconst {\n\t\topened,\n\t\theading,\n\t\tstatus,\n\t\tdockingEnabled,\n\t\tcontainerProps,\n\t\texpand,\n\t} = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-canvas-sidebar': true,\n\t\t\t\texpand: expand,\n\t\t\t\t'-undocked': status === 'UN_DOCKED',\n\t\t\t\t'-hidden': !opened,\n\t\t\t}}\n\t\t\tstyle={{ ...containerProps }}\n\t\t>\n\t\t\t{!dockingEnabled && _isEmpty(heading) ? null : (\n\t\t\t\t<header className=\"sn-canvas-sidebar-header\">\n\t\t\t\t\t<slot name=\"heading\">\n\t\t\t\t\t\t<h1 className=\"sn-canvas-sidebar-header-title\">\n\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t<\/h1>\n\t\t\t\t\t\t<Docking\n\t\t\t\t\t\t\tdockingEnabled={dockingEnabled}\n\t\t\t\t\t\t\tstatus={status}\n\t\t\t\t\t\t\tupdateProperties={updateProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/slot>\n\t\t\t\t<\/header>\n\t\t\t)}\n\t\t\t<div className=\"sn-canvas-sidebar-content\">\n\t\t\t\t<slot name=\"content\" />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport function onDockingContainerClickHandler(\n\tdockingEnabled,\n\tstatus,\n\tupdateProperties,\n) {\n\tif (dockingEnabled && status === 'DOCKED') {\n\t\tupdateProperties({ status: 'UN_DOCKED' });\n\t} else {\n\t\tupdateProperties({ status: 'DOCKED' });\n\t}\n}\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport snCanvasSidebarStyles from './_sn-canvas-sidebar.scss';\nimport '@servicenow/now-icon';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport { draggableBehavior } from '../../behaviors/draggable/draggableBehavior';\nimport { snCanvasSidebar } from './sn-canvas-sidebar.view';\n\ncreateCustomElement('sn-canvas-sidebar', {\n\tproperties: {\n\t\theading: { default: '' },\n\t\topened: { default: false, manageable: true },\n\t\tcontainerProps: { default: {} },\n\t\tdockingEnabled: { default: false },\n\t\tstatus: { default: 'DOCKED' },\n\t\texpand: { default: false },\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasSidebar,\n\t},\n\tstyles: snCanvasSidebarStyles,\n\tbehaviors: [uxfViewportBehavior, draggableBehavior],\n});\n","import { t } from 'sn-translate';\n\n//components\nexport const SN_CANVAS_TABS_DATA = 'sn-canvas-tabs-data';\n\n// Actions dispatched from NDS\nexport const NOW_DROPDOWN_ITEM_CLICKED = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const NOW_NAVIGATION_ITEM_CLICKED = 'NOW_NAVIGATION_ITEM#CLICKED';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_CONFIRM_MODAL_CLEAR = 'NOW_CONFIRM_MODAL#CLEAR';\n\n// Global actions\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const SESSION_LOGGED_OUT = 'SESSION_LOGGED_OUT';\nexport const VIEWPORT_MODAL_SELECTED = 'MACROPONENT_VIEWPORT_LOAD_REQUESTED';\nexport const SCREEN_TITLES_REGISTRATION_REQUESTED =\n\t'SCREEN_TITLES_REGISTRATION_REQUESTED';\n\n// Link types\nexport const EMAIL_LINK_TYPE = 'email';\nexport const PHONE_LINK_TYPE = 'phone';\nexport const ROUTE_LINK_TYPE = 'route';\nexport const MODAL_LINK_TYPE = 'modal';\nexport const EXTERNAL_LINK_TYPE = 'external';\nexport const ACTION_LINK_TYPE = 'action';\nexport const LOGOUT_LINK_TYPE = 'logout';\nexport const VIEWPORT_MODAL_TYPE = 'viewportModal';\n// Component actions\nexport const PUBLIC_ACTION_BUTTON_CLICKED =\n\t'CANVAS_PUBLIC_ACTION_BUTTON#CLICKED';\n\n// Defaults\nexport const DEFAULT_LOGOUT_ROUTE = 'logout.do';\n// Keyboard constants\nexport const ENTER_KEY_CODE = 13;\n\nexport const HOME_KEY = 'Home';\nexport const ARROW_UP_KEY = 'ArrowUp';\nexport const ARROW_RIGHT_KEY = 'ArrowRight';\nexport const ARROW_DOWN_KEY = 'ArrowDown';\nexport const ARROW_LEFT_KEY = 'ArrowLeft';\nexport const END_KEY = 'End';\nexport const ESCAPE_KEY = 'Escape';\nexport const TAB_KEY = 'Tab';\nexport const ENTER_KEY = 'Enter';\nexport const SPACE_KEY = ' ';\n\n//Tab Constants\nexport const LOAD_TABS_DATA = 'LOAD_TABS_DATA';\nexport const TABS_DATA_UPDATED = 'TABS_DATA_UPDATED';\nexport const TABS_INIT_PROPS_BEHAVIOR = 'TABS_INIT_PROPS_BEHAVIOR';\nexport const TABS_ROOT_BEHAVIOR = 'TABS_ROOT_BEHAVIOR';\nexport const TABS_LIST_ARIA_LABEL = t('Tab List');\nexport const CLOSE_TAB_MENU_ITEM = 'CLOSE_TAB_MENU_ITEM';\nexport const CLOSE_OTHER_TABS_MENU_ITEM = 'CLOSE_OTHER_TABS_MENU_ITEM';\nexport const CLOSE_ALL_TABS_MENU_ITEM = 'CLOSE_ALL_TABS_MENU_ITEM';\nexport const TAB_JUST_CLOSED = 'TAB_JUST_CLOSED';\nexport const REOPEN_CLOSED_TAB = 'REOPEN_CLOSED_TAB';\nexport const CLOSED_TABS_CHANGED = 'CLOSED_TABS_CHANGED';\nexport const CHAT_ITEM_TYPE = 'CHAT_ITEM_TYPE';\nexport const SELECTED_WORKSPACE_TAB_FOCUS = 'SELECTED_WORKSPACE_TAB_FOCUS';\nexport const SELECTED_PAGE_TAB_FOCUS = 'SELECTED_PAGE_TAB_FOCUS';\nexport const CLOSE_SELECTED_WORKSPACE_TAB = 'CLOSE_SELECTED_WORKSPACE_TAB';\nexport const TAB_NEW_MESSAGE = t('new message');\nexport const TAB_NEW_MESSAGES = t('new messages');\n\n// Modal Buttons\nexport const EDS_MODAL_CANCEL_BTN = {\n\tvariant: 'secondary',\n\tlabel: t('Cancel'),\n};\n\nexport const EDS_MODAL_CONFIRM_BTN = {\n\tvariant: 'primary',\n\tlabel: t('OK'),\n};\n\n// Tab actions\nexport const WORKSPACE_TAB_ACTIVATED = 'WORKSPACE_TAB_ACTIVATED';\nexport const CONTENT_UPDATED = 'CONTENT_UPDATED';\nexport const MAIN_TAB_CLICKED = 'MAIN_TAB_CLICKED';\nexport const MASTER_DETAIL_TOGGLED = 'MASTER_DETAIL_TOGGLED';\nexport const MAIN_TAB_CLOSE_CLICKED = 'MAIN_TAB_CLOSE_CLICKED';\nexport const MAIN_TAB_NEW_CLICKED = 'MAIN_TAB_NEW_CLICKED';\nexport const MAIN_TAB_NEW_ALERT_CLEARED = 'MAIN_TAB_NEW_ALERT_CLEARED';\nexport const MAIN_TAB_NEW_ALERT_CLEARED_OK = 'NOW_MODAL#FOOTER_ACTION_CLICKED';\nexport const SUB_TAB_CLOSE_CLICKED = 'SUB_TAB_CLOSE_CLICKED';\nexport const TABS_SCREEN_CONTENT_CHANGED = 'TABS_SCREEN_CONTENT_CHANGED';\nexport const TABS_SCREEN_CONTENT_BATCH_CHANGED =\n\t'TABS_SCREEN_CONTENT_BATCH_CHANGED';\nexport const TABS_CLOSE_REQUESTED = 'TABS_CLOSE_REQUESTED';\nexport const TABS_CLOSE_CONFIRMED = 'TABS_CLOSE_CONFIRMED';\nexport const TABS_CLOSE_CANCELLED = 'TABS_CLOSE_CANCELLED';\nexport const TABS_SELECTED_CONTENT_CHANGED = 'TABS_SELECTED_CONTENT_CHANGED';\nexport const DRILLDOWN_BACK_CLICKED = 'DRILLDOWN_BACK_CLICKED';\nexport const SCREEN_CLOSED_CONFIRMED = 'SCREEN_CLOSED_CONFIRMED';\nexport const SCREEN_CLOSED_CANCELLED = 'SCREEN_CLOSED_CANCELLED';\nexport const PRIMARY_TAB_PROP_CHANGED = 'PRIMARY_TAB_PROP_CHANGED';\nexport const NAVIGATION_CLOSED = 'NAVIGATION_CLOSED';\nexport const VIEWPORT_SELECTED = 'VIEWPORT_SELECTED';\n\n// Mediated action types\nexport const ITEM_SELECTED = 'ITEM_SELECTED';\nexport const SELECT_TAB = 'SELECT_TAB';\nexport const CONTEXTUAL_RECORD_ITEM_TYPE = 'contextual_record';\nexport const TWO_LAYER_TYPE = 'TWO_LAYER_TYPE'; //[RECORD_ITEM_TYPE, NEW_RECORD_ITEM_TYPE, CHAT_ITEM_TYPE]// Error mediated action types\nexport const MAIN_TAB_ONLY_TYPE = 'MAIN_TAB_ONLY_TYPE';\n\n//KEY COMMANDS\nexport const MOVE_UP = 'MOVE_UP';\nexport const TAB = 'TAB';\nexport const MOVE_DOWN = 'MOVE_DOWN';\nexport const EXECUTE = 'EXECUTE';\nexport const CLICK = 'CLICK';\n\n// Tab Item Types\nexport const RECORD_ITEM_TYPE = 'record';\nexport const FULL_SEARCH_ITEM_TYPE = 'full-search';\nexport const KNOWLEDGE_ITEM_TYPE = 'knowledge';\nexport const NON_RECORD_ITEM_TYPE = 'non_record';\nexport const FULL_LIST_ITEM_TYPE = 'list';\nexport const NEW_RECORD_ITEM_TYPE = 'new_record';\n\nexport const FULL_SEARCH_TAB_TITLE = t('WS:Search Results');\nexport const KNOWLEDGE_TAB_TITLE = t('Knowledge Articles');\n\nexport const PROPERTIES_SET = 'PROPERTIES_SET';\nexport const ACTIVITY_LOG_UPDATED = 'ACTIVITY_LOG_UPDATED';\n\n// Tab Reducers\nexport const OPEN_OR_FOCUS_TAB_REDUCER = 'OPEN_OR_FOCUS_TAB_REDUCER';\nexport const INIT_OR_UPDATE_TABS_REDUCER = 'INIT_OR_UPDATE_TABS_REDUCER';\nexport const LIVE_UPDATE_TABS_REDUCER = 'LIVE_UPDATE_TABS_REDUCER';\nexport const LIVE_UPDATE_TABS_BATCHED_REDUCER =\n\t'LIVE_UPDATE_TABS_BATCHED_REDUCER';\nexport const INIT_TABS_REDUCER = 'INIT_TABS_REDUCER';\nexport const CHAINED_REDUCER = 'CHAINED_REDUCER';\nexport const CLOSE_ONE_DRILLDOWN_REDUCER = 'CLOSE_ONE_DRILLDOWN_REDUCER';\nexport const UPDATE_PRIMARY_TAB_REDUCER = 'UPDATE_PRIMARY_TAB_REDUCER';\n\n//ICONS\nexport const ICON_CHAT_FILL = 'chat-fill';\nexport const ICON_CHAT_OUTLINE = 'chat-outline';\nexport const ICON_PHONE_FILL = 'phone-fill';\nexport const ICON_PHONE_OUTLINE = 'phone-outline';\nexport const ICON_GROUP_FILL = 'group-fill';\nexport const ICON_GROUP_OUTLINE = 'group-outline';\nexport const ICON_LIST_OUTLINE = 'list-outline';\n\n// Special table handling\nexport const INTERACTION_TABLE = 'interaction';\n\n// Messages\nexport const TAB_DETAILS_TITLE = 'Details';\nexport const TAB_LOADING = 'Loading...';\n\n// min width for canvas tab to show visual indicators\nexport const MIN_WIDTH_TO_HIDE_VISUAL_INDICATOR = 144;\n\n// Other constants\nexport const DEFAULT_MULTI_INST_FIELD = 'sys_id';\n\nexport const SCREEN_STATUS_ACTION_CLOSED = 'closed';\nexport const SCREEN_STATUS_ACTION_CLOSE_IF_CLEAN = 'attempt_close_if_clean';\nexport const SCREEN_STATUS_ACTION_INSERTED = 'inserted';\nexport const TOOLBAR_BUTTON_HEIGHT = 48; //pixels\nexport const TOOLBAR_BUTTON_WIDTH = 48; //pixels\nexport const TOOLBAR_BUTTON_IS_SELECTED_PROP = 'isSelected';\nexport const TOOLBAR_DEBOUNCE_RATE = 200;\nexport const TOOLBAR_RESIZED = 'TOOLBAR_RESIZED';\nexport const TOOLBAR_OVERFLOW_BUTTON_LABEL = t('Additional navigation options');\nexport const DOUBLE_CLICK_THRESHOLD = 300;\n\n// NOW Actions\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\nexport const CANVAS_NEW_TAB_MARK = 'CANVAS_NEW_TAB_MARK';\nexport const CUSTOM_DOUBLE_CLICK = 'CUSTOM_DOUBLE_CLICK';\nexport const MARKS = {\n\tCLICK_L1_MENU: 'Click L1 Menu',\n\tCLOSE_TAB: 'Close Tab',\n\tCLICK_TAB_MENU_ITEM: 'Click Tab Menu Item',\n\tNEW_TAB: 'New Tab',\n\tEXCEED_MAX_TABS: 'Exceed Max Tabs',\n\tSELECT_TAB: 'Select Tab',\n};\nexport const ACTION_TYPES = {\n\tTOOLBAR_BUTTON_CLICKED: 'SN_CANVAS_TOOLBAR_BUTTON#CLICKED',\n\tTOOLBAR_ACTIVE_BUTTON_SET: 'SN_CANVAS_TOOLBAR#ACTIVE_BUTTON_SET',\n\tTOOLBAR_ACTIVE_BUTTON_UPDATED: 'SN_CANVAS_TOOLBAR#ACTIVE_BUTTON_UPDATED',\n\tTOOLBAR_OVERFLOW_MENU_FOCUS: 'SN_CANVAS_TOOLBAR#FOCUS_OVERFLOW_MENU',\n\tTOOLBAR_OVERFLOW_MENU_INDEX_CHANGED:\n\t\t'SN_CANVAS_TOOLBAR#FOCUS_OVERFLOW_MENU_INDEX_CHANGED',\n\tTOOLBAR_OVERFLOW_TAB_KEY_PRESSED: 'TOOLBAR_OVERFLOW_TAB_KEY_PRESSED',\n};\nexport const TABS_REARRANGED = 'SN_CANVAS_TABS#TABS_REARRANGED';\nexport const DND_OPERATION = Object.freeze({\n\tnone: 'none',\n\tdragStart: 'dragstart',\n\tdragOver: 'dragover',\n\tdragEnd: 'dragend',\n\tdrop: 'drop',\n\tkeyup: 'keyup',\n\tkeyDown: 'keydown',\n\tcompleted: 'completed',\n\twaitingForAnimationCompletion: 'waitingForAnimationCompletion',\n\tdoubleClickDragStart: 'doubleClickDragStart',\n\tdoubleClickDragOver: 'doubleClickDragOver',\n\tdoubleClickDragEnd: 'doubleClickDragEnd',\n});\n\nexport const USER_META_KEYS = Object.freeze({\n\tSYS_ID: 'sys_id',\n\tFIRST_NAME: 'firstName',\n\tLAST_NAME: 'lastName',\n\tFULL_NAME: 'fullName',\n\tROLES: 'roles',\n\tAVATAR: 'avatar',\n\tINITIALS: 'initials',\n\tTIME_ZONE: 'timeZone',\n\tTIME_FORMAT: 'timeFormat',\n\tLANGUAGE: 'language',\n\tTIME_ZONE_OFFSET: 'timeZoneOffset',\n});\n\nexport const SN_CANVAS_SIDEPANEL_TOGGLE_OPENED =\n\t'SN_CANVAS_SIDEPANEL#TOGGLE_OPENED';\n\nexport const UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS =\n\t'UXR_INTERNAL#UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS';\n\nexport const FLOATING_TAB_BASE_STYLES = {\n\tposition: 'fixed',\n\tdisplay: 'flex',\n\talignItems: 'center',\n\tbackgroundColor: '#ffffff',\n\tborderRadius: '8px 8px 0 0',\n\tfontSize: '16px',\n\tzIndex: 9999,\n\tpointerEvents: 'none',\n\topacity: 0.9,\n\tlineHeight: '16px',\n\tpaddingRight: '1.75rem',\n\tboxShadow:\n\t\t'inset 0 0 0 .125rem RGB(var(--now-color_focus-ring, var(--now-color--secondary-1, 1, 119, 142))), ' +\n\t\t'inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow, var(--now-color_background--primary, var(--now-color--neutral-0, 255, 255, 255))))',\n\toutline: 'none',\n\tboxSizing: 'border-box',\n};\n\nexport const PRIMARY_TITLE_STYLES = `\n  font-size: 16px;\n`;\n\nexport const SECONDARY_TITLE_STYLES = `\n  font-size: 12px;\n  text-overflow:ellipsis;\n`;\n\nexport const TITLE_OVERFLOW_STYLES = `\n  overflow: hidden;\n  white-space: nowrap;\n`;\n\nexport const TITLE_CONTAINER_STYLES = `\n\tdisplay:flex; \n\tflex-direction:column; \n\toverflow: hidden;\n`;\n\nexport const FLOATING_TAB_CONTENT_STYLES = `\n\tdisplay: flex; \n\talign-items: center;\n\tpadding: 0.25rem 0.5rem;\n\toverflow: hidden;\n\tmask-image: linear-gradient(to right, RGB(var(--now-navigation-page_tabs--primary--background-color--selected, var(--now-color_background--primary, var(--now-color--neutral-0, 255, 255, 255)))) 70%, transparent 94%);\n`;\n\nexport const DIRTY_INDICATOR_STYLES = `\n\tmargin-left: -0.25rem; \n\tmargin-right: 0.25rem; \n\tmin-width:1rem\n`;\n\nexport const PRIMARY_ICON_STYLES = `\n\tmargin-right: 0.25rem; \n\tpadding-right: 0; \n`;\n\nexport const SECONDARY_ICON_STYLES = `\n\tpadding-right: 0; \n`;\n\nexport const RESOLVE_STAGED_NOTIFICATIONS =\n\t'SN_CANVAS_LAYOUT#RESOLVE_STAGED_NOTIFICATIONS';\nexport const NOW_UXF_PAGE_ADD_NOTIFICATIONS = 'NOW_UXF_PAGE#ADD_NOTIFICATIONS';\nexport const SCREEN_CLOSE_STATUS_CANCELLED = 'cancelled';\nexport const SCREEN_CLOSE_STATUS_CONFIRMED = 'confirmed';\n\nexport const SIZE_MAP = {\n\t'.sn-chrome-one-tab-secondary-label': 'sm',\n\t'.sn-chrome-one-tab-content.has-presence': 'sm',\n\t'.sn-chrome-one-tab-content.has-icon': 'md',\n};\n\nexport const MOUSE_LEAVE = 'mouseleave';\n\nexport const ACTIVE_DRAG_EVENTS = [\n\tDND_OPERATION.doubleClickDragStart,\n\tDND_OPERATION.doubleClickDragOver,\n\tDND_OPERATION.dragStart,\n\tDND_OPERATION.dragOver,\n];\n\nexport const DRAG_TERMINATION_EVENTS = [\n\tDND_OPERATION.drop,\n\tDND_OPERATION.dragEnd,\n\tDND_OPERATION.doubleClickDragEnd,\n\tDND_OPERATION.completed,\n];\n","import { SN_CANVAS_SIDEPANEL_TOGGLE_OPENED } from '../../constants/constants';\n\nconst _handleClose = (state, dispatch) => {\n\tlet { beforeClose } = state.properties;\n\tif (beforeClose && typeof beforeClose === 'function') {\n\t\tlet callbackFn = new Promise((resolve) => {\n\t\t\treturn resolve(beforeClose());\n\t\t});\n\t\tcallbackFn.then((res) => {\n\t\t\tres\n\t\t\t\t? dispatch(SN_CANVAS_SIDEPANEL_TOGGLE_OPENED, {\n\t\t\t\t\t\topened: false,\n\t\t\t\t\t})\n\t\t\t\t: null;\n\t\t});\n\t} else {\n\t\tdispatch(SN_CANVAS_SIDEPANEL_TOGGLE_OPENED, { opened: false });\n\t}\n};\n\nexport { _handleClose };\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport snCanvasSidepanelStyles from './_sn-canvas-sidepanel.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-button';\nimport { _handleClose } from './utils';\nimport { POSITIONS } from './positions';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst SnCanvasSidepanel = (state, { dispatch }) => {\n\tconst {\n\t\topened,\n\t\tbackdrop,\n\t\tposition,\n\t\tcontainerProps,\n\t\tcanClose,\n\t\theading,\n\t\tisTitleClickable,\n\t} = state.properties;\n\n\t// Flags to track dragging state\n\tlet mouseDownInside = false;\n\tlet isDragging = false;\n\n\t// Handler for mouse down inside panel\n\tconst onMouseDownPanel = () => {\n\t\tmouseDownInside = true;\n\t\tisDragging = false;\n\t};\n\n\t// Handler for mouse move inside panel\n\tconst onMouseMovePanel = () => {\n\t\tif (mouseDownInside) {\n\t\t\tisDragging = true;\n\t\t}\n\t};\n\n\t// Handler for mouse up on backdrop\n\tconst onMouseUpBackdrop = () => {\n\t\tsetTimeout(() => {\n\t\t\tmouseDownInside = false;\n\t\t\tisDragging = false;\n\t\t}, 0);\n\t};\n\n\t// Backdrop click handler to close panel conditionally\n\tconst onClickBackdrop = (evt) => {\n\t\tif (isDragging) {\n\t\t\tevt.stopPropagation();\n\t\t\treturn;\n\t\t}\n\t\t_handleClose(state, dispatch);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\trole=\"dialog\"\n\t\t\tclass={{ 'sn-canvas-sidepanel': true, '-backdrop': backdrop }}\n\t\t\thidden={!opened}\n\t\t\ton-click={onClickBackdrop}\n\t\t\ton-mouseup={onMouseUpBackdrop}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={\n\t\t\t\t\t'sn-canvas-sidepanel-overlay -' + position.toLowerCase()\n\t\t\t\t}\n\t\t\t\tstyle={containerProps}\n\t\t\t\ton-click={(evt) => evt.stopPropagation()}\n\t\t\t\ton-mousedown={onMouseDownPanel}\n\t\t\t\ton-mousemove={onMouseMovePanel}\n\t\t\t>\n\t\t\t\t<div className=\"sn-canvas-sidepanel-overlay-panel\">\n\t\t\t\t\t{heading ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"sn-canvas-sidepanel-op-header\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tcursor: isTitleClickable ? 'pointer' : 'auto',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tif (isTitleClickable)\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t'SN_CANVAS_SIDEPANEL#TITLE_CLICKED',\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"sn-canvas-sidepanel-oph-title\">\n\t\t\t\t\t\t\t\t<slot name=\"title\">\n\t\t\t\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\t\t\t\tlabel={heading}\n\t\t\t\t\t\t\t\t\t\tlevel=\"1\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"header-secondary\"\n\t\t\t\t\t\t\t\t\t\thasNoMargin\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/slot>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t{canClose ? (\n\t\t\t\t\t\t\t\t<div className=\"sn-canvas-sidepanel-oph-icon\">\n\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\ticon-name=\"close-outline\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': t('Close'),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\ton-click={(evt) => {\n\t\t\t\t\t\t\t\t\t\t\t_handleClose(state, dispatch);\n\t\t\t\t\t\t\t\t\t\t\tevt.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n *\n * ## Overview\n * The sidepanel component is a panel overlaying the screen on the right side.\n * It is used to show more details about a specific object in context. A sidepanel is often triggered by clicking a button\n * or icon that dispatches the action to toggle the visibility.\n *\n * ## Use cases\n * - Showing a sidepanel menu for mobile responsiveness.\n * - Showing detailed information about a transaction (such as items in a cart).\n * - Showing a list of notifications in a notifications tray (sidepanel).\n *\n * Sidepanel aims at UI needs to display workspace notification tray, portal mobile menu panel, and it could also be used\n * for contextual overlay panel across the viewport sides.\n *\n * @seismicElement sn-canvas-panel\n * @summary A panel component to display workspace notifications, portal menus and other contextual overlay on the viewport\n */\ncreateCustomElement('sn-canvas-sidepanel', {\n\tproperties: {\n\t\t/**\n\t\t * Property opened sets the state of the panel\n\t\t * @type {boolean} set state on side panel\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tmanageable: true,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Property backdrop sets the background opacity for the region outside the sidepanel\n\t\t * @type {boolean} set the backdrop to enable background opacity for the region outside the sidepanel\n\t\t */\n\t\tbackdrop: { default: true, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Property position to set the position of the panel\n\t\t * @type {string} Position - Possible values - TOP,  LEFT, BOTTOM, RIGHT\n\t\t */\n\t\tposition: { default: POSITIONS.RIGHT, schema: { type: 'string' } },\n\t\t/**\n\t\t * Property to set the styles for the panel container\n\t\t * @type {object} Style for container element\n\t\t */\n\t\tcontainerProps: { default: {}, schema: { type: 'object' } },\n\t\t/**\n\t\t * Property sets the icon of the panel header.\n\t\t * @type {boolean} Icon in the header of the panel\n\t\t */\n\t\tcanClose: { default: true, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Property sets the title of the panel content if title is not sent as slot.\n\t\t * @type {string} Title in the header of panel\n\t\t */\n\t\theading: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Property sets a callback function to handle before panel is closed.\n\t\t * @type {function} beforeClose A callback function called when user tries to close the panel\n\t\t */\n\t\tbeforeClose: { default: null },\n\t\t/**\n\t\t * If this property is true, header will be clickable.\n\t\t * @type {Boolean} True if header should be clickable\n\t\t */\n\t\tisTitleClickable: { default: false, schema: { type: 'boolean' } },\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: SnCanvasSidepanel,\n\t},\n\tstyles: snCanvasSidepanelStyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the side panel is opened/closed.\n\t\t * @type {{opened: false}}\n\t\t */\n\t\t'SN_CANVAS_SIDEPANEL#TOGGLE_OPENED': {},\n\t\t/**\n\t\t * Dispatched when the panel title is clicked.\n\t\t * @type {{}}\n\t\t */\n\t\t'SN_CANVAS_SIDEPANEL#TITLE_CLICKED': {},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Sidepanel title appears in this named slot. A title can be clickable, and\n\t\t * dispatches `SN_CANVAS_SIDEPANEL#TITLE_CLICKED` action when clicked.\n\t\t */\n\t\ttitle: {},\n\t\t/**\n\t\t * Content placed in this named slot that appears inside of the sidepanel. It takes care of enabling\n\t\t * the vertical scrollbar for large content.\n\t\t */\n\t\tcontent: {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect({ state, dispatch }) {\n\t\t\t\tconst { opened } = state.properties;\n\t\t\t\tif (opened) {\n\t\t\t\t\tdispatch('SN_CANVAS_SIDEPANEL#TOGGLE_OPENED', {\n\t\t\t\t\t\topened: true,\n\t\t\t\t\t});\n\t\t\t\t\t// To avoid parent scrollbar while the panel is shown.\n\t\t\t\t\t//  panel may have vertical scrollbar for overflowing content\n\t\t\t\t\tdocument.body.style.cssText = 'height:100vh !important';\n\t\t\t\t} else {\n\t\t\t\t\t//reset back the height to enable back the parent scrollbar\n\t\t\t\t\tdocument.body.style.cssText = 'height:auto !important';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{ behavior: rtlBehavior },\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: { trap: true },\n\t\t},\n\t],\n});\n","export const POSITIONS = {\n\tTOP: 'TOP',\n\tBOTTOM: 'BOTTOM',\n\tLEFT: 'LEFT',\n\tRIGHT: 'RIGHT'\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_28_0_24_index_jsdbx_d9829f0d__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"TOOLTIP_HIDE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_HIDE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"].TOOLTIP_HIDE;\n\t\t\t\t\t} else if ('TOOLTIP_HIDE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.TOOLTIP_HIDE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"].TOOLTIP_HIDE;\n\t\t\t\t}, [\"TOOLTIP_SHOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_SHOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"].TOOLTIP_SHOW;\n\t\t\t\t\t} else if ('TOOLTIP_SHOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.TOOLTIP_SHOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"].TOOLTIP_SHOW;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_28_0_24_index_jsdbx_d9f918a3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"klona\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.__esModule\n\t\t\t\t\tif (cjsModule && 'klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t\t} else if ('klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.klona || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"a11yPreferences\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.__esModule\n\t\t\t\t\tif (cjsModule && 'a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].a11yPreferences;\n\t\t\t\t\t} else if ('a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.a11yPreferences || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].a11yPreferences;\n\t\t\t\t}, [\"getUserPrefContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].getUserPrefContext;\n\t\t\t\t\t} else if ('getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.getUserPrefContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].getUserPrefContext;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","const LEFT = 'left';\nconst BOTTOM = 'bottom';\nconst TOP = 'top';\nconst RIGHT = 'right';\nconst AUTO = 'auto';\n\nconst valToPx = (val) => `${val}px`;\n\nexport function getCenterPositioning(\n\ttarget,\n\ttooltip,\n\toffset = 5,\n\tplacement = BOTTOM,\n) {\n\tif (!target || !tooltip) return;\n\n\tconst targetRect = target.getBoundingClientRect();\n\tconst tooltipRect = tooltip.getBoundingClientRect();\n\n\tlet horizontalCenterOffset = (targetRect.width - tooltipRect.width) / 2;\n\tlet verticalCenterOffset = (targetRect.height - tooltipRect.height) / 2;\n\tlet targetLeft = targetRect.left;\n\tlet targetTop = targetRect.top;\n\tconst OFFSET = offset;\n\n\tlet tooltipLeft, tooltipTop;\n\n\tswitch (placement || TOP) {\n\t\tcase TOP:\n\t\t\ttooltipLeft = valToPx(targetLeft + horizontalCenterOffset);\n\t\t\ttooltipTop = valToPx(targetTop - tooltipRect.height - OFFSET);\n\t\t\tbreak;\n\t\tcase BOTTOM:\n\t\t\ttooltipTop = valToPx(targetRect.bottom + OFFSET);\n\t\t\ttooltipLeft = valToPx(targetLeft + horizontalCenterOffset);\n\t\t\tbreak;\n\t\tcase RIGHT:\n\t\t\ttooltipLeft = valToPx(targetLeft + targetRect.width + OFFSET);\n\t\t\ttooltipTop = valToPx(targetTop + verticalCenterOffset);\n\t\t\tbreak;\n\t\tcase LEFT:\n\t\t\ttooltipLeft = valToPx(targetLeft - tooltipRect.width - OFFSET);\n\t\t\ttooltipTop = valToPx(targetTop + verticalCenterOffset);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tlet top = tooltipTop;\n\tlet left = tooltipLeft;\n\tlet right = AUTO;\n\tlet bottom;\n\n\t//reposition tooltip if it doesn't fit in the viewport.\n\t//this reposition does not work for all cases right now. It will only check for the opposite case to be true.\n\tif (placement === TOP && targetRect.top <= tooltipRect.height + OFFSET) {\n\t\ttop = valToPx(targetRect.bottom + OFFSET);\n\t\tbottom = AUTO;\n\t}\n\n\tif (\n\t\tplacement === BOTTOM &&\n\t\twindow.innerHeight - targetRect.bottom <= tooltipRect.height + OFFSET\n\t) {\n\t\ttop = valToPx(targetTop - tooltipRect.height - OFFSET);\n\t\tbottom = AUTO;\n\t}\n\n\tif (placement === LEFT && targetRect.left <= tooltipRect.width + OFFSET) {\n\t\tleft = valToPx(targetLeft + targetRect.width + OFFSET);\n\t\tright = AUTO;\n\t}\n\n\tif (\n\t\tplacement === RIGHT &&\n\t\ttargetRect.right - window.innerWidth <= tooltipRect.width + OFFSET\n\t) {\n\t\tleft = valToPx(targetLeft - tooltipRect.width - OFFSET);\n\t\tright = AUTO;\n\t}\n\n\treturn {\n\t\ttop,\n\t\tleft,\n\t\tright,\n\t\tbottom,\n\t};\n}\n\n/**\n * Takes raw secondary content data and transforms it into a format suitable for rendering in 'now-label-value-tabbed' component.\n * @param {Object} secondaryContent\n * @returns {Array} Transformed secondary content as an array of objects with 'label' and 'value' properties.\n */\nexport function transformSecondaryContent(secondaryContent) {\n\tif (!Array.isArray(secondaryContent)) {\n\t\treturn [];\n\t}\n\treturn secondaryContent.map(({ fieldLabel, displayValue }) => ({\n\t\tlabel: fieldLabel,\n\t\tvalue: displayValue,\n\t}));\n}\n\n/**\n * Sorts segments by their order property (ascending)\n * @param {Array} segments - Array of segment objects\n * @returns {Array} Sorted segments\n */\nexport function sortSegmentsByOrder(segments) {\n\tif (!Array.isArray(segments)) {\n\t\treturn [];\n\t}\n\treturn segments.sort((a, b) => (a.order || 0) - (b.order || 0));\n}\n\n/**\n * Builds a screen reader-friendly description of tab content by aggregating primary title, secondary content, and segments.\n * @param {string} primaryTitle - The primary title of the tab\n * @param {Array} secondaryContent - Array of secondary content items with label and value properties\n * @param {Array} segments - Array of segment objects containing blocks with display values\n * @returns {string|null} A period-separated string of all content, or null if no content exists\n */\nexport function buildTabDescription(primaryTitle, secondaryContent, segments) {\n\tconst parts = [\n\t\tprimaryTitle,\n\t\t...(secondaryContent?.length > 0\n\t\t\t? secondaryContent.map((i) => `${i.label}: ${i.value}`)\n\t\t\t: []),\n\t\t...(segments?.flatMap(\n\t\t\t(seg) =>\n\t\t\t\tseg.blocks?.map((b) =>\n\t\t\t\t\tb.type === 'text'\n\t\t\t\t\t\t? b.displayValue\n\t\t\t\t\t\t: `${b.fieldLabel}: ${b.displayValue}`,\n\t\t\t\t) ?? [],\n\t\t) ?? []),\n\t].filter(Boolean);\n\n\treturn parts.length > 0 ? parts.join('. ') : null;\n}\n","import { transformSecondaryContent } from './canvas-tab-preview.util';\n\nconst _renderTextBlock = (block, blockIndex) => {\n\tconst { displayValue, maxLines = 1, size = 'medium' } = block;\n\tconst sizeClassMap = {\n\t\tsmall: 'sn-text-sm',\n\t\tmedium: 'sn-text-base',\n\t\tlarge: 'sn-text-lg',\n\t};\n\tconst className = `sn-tooltip-text-block ${sizeClassMap[size] || sizeClassMap.medium}`;\n\tconst style = {\n\t\t'--max-lines': maxLines,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tkey={`text-block-${blockIndex}`}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{displayValue}\n\t\t<\/div>\n\t);\n};\n\nconst _renderLabelValuePairBlock = (block, blockIndex) => {\n\tconst transformedBlockContent = transformSecondaryContent([\n\t\t{\n\t\t\tfieldLabel: block.fieldLabel,\n\t\t\tdisplayValue: block.displayValue,\n\t\t},\n\t]);\n\n\treturn (\n\t\t<div\n\t\t\tkey={`label-value-${blockIndex}`}\n\t\t\tclassName=\"sn-tooltip-label-value-block\"\n\t\t>\n\t\t\t<now-label-value-tabbed items={transformedBlockContent} size=\"sm\" />\n\t\t<\/div>\n\t);\n};\n\nexport default (props) => {\n\tconst { sortedSegments, showTopDivider } = props;\n\n\tif (!sortedSegments?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"sn-card--segments\">\n\t\t\t{/* Dividing line at the top of segments - only show if showTopDivider is true */}\n\t\t\t{showTopDivider && (\n\t\t\t\t<div className=\"sn-card--segments-divider\"><\/div>\n\t\t\t)}\n\t\t\t{sortedSegments.map((segment, segmentIndex) => {\n\t\t\t\treturn (\n\t\t\t\t\t<div key={`segment-wrapper-${segmentIndex}`}>\n\t\t\t\t\t\t{/* Dividing line between segments (not for first segment) */}\n\t\t\t\t\t\t{segmentIndex > 0 && (\n\t\t\t\t\t\t\t<div className=\"sn-card--segment-divider\"><\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`sn-card--segment sn-card--segment--${segment.id || 'default'}`}\n\t\t\t\t\t\t\tdata-segmentid={segment.id}\n\t\t\t\t\t\t\t{...(segment.lifecycle?.removeOnActivation && {\n\t\t\t\t\t\t\t\t'data-removeonactivation': true,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"sn-card--segment--blocks\">\n\t\t\t\t\t\t\t\t{segment.blocks?.map((block, blockIndex) => {\n\t\t\t\t\t\t\t\t\tif (block.type === 'text') {\n\t\t\t\t\t\t\t\t\t\treturn _renderTextBlock(\n\t\t\t\t\t\t\t\t\t\t\tblock,\n\t\t\t\t\t\t\t\t\t\t\tblockIndex,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t\tblock.fieldLabel &&\n\t\t\t\t\t\t\t\t\t\tblock.displayValue\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn _renderLabelValuePairBlock(\n\t\t\t\t\t\t\t\t\t\t\tblock,\n\t\t\t\t\t\t\t\t\t\t\tblockIndex,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n};\n","'use strict';\nimport {\n\tCLOSE_TAB_MENU_ITEM,\n\tCLOSE_OTHER_TABS_MENU_ITEM,\n\tCLOSE_ALL_TABS_MENU_ITEM,\n\tNOW_POPOVER_OPENED_SET,\n} from '../../../../constants/constants';\n\nexport function getOverflowDisabled(tabList) {\n\tconst { length } = tabList;\n\treturn length == 0 || (length === 1 && !tabList[0].canClose);\n}\n\nexport const tooltipPositions = [\n\t[\n\t\t'bottom-center top-center',\n\t\t'top-center bottom-center',\n\t\t'center-end center-start',\n\t\t'center-start center-end',\n\t\t'top-end top-start',\n\t\t'bottom-end bottom-start',\n\t\t'top-start top-end',\n\t\t'bottom-start bottom-end',\n\t],\n];\n\nexport function transformCloseMenuItems(closeMenu, tabList, selectedTabId) {\n\tconst activeTab = tabList.find((t) => t.tab_id === selectedTabId) || {};\n\tconst length = tabList.length;\n\tlet isPivotActive = !!(activeTab && !activeTab.canClose);\n\tlet isDetailsTabTheOnlyOtherTab =\n\t\tlength === 2 && activeTab && activeTab.canClose && !tabList[0].canClose; // the only other tab is the details tab\n\treturn closeMenu.items.map((it) => {\n\t\tlet disabled = false;\n\t\tswitch (it.name) {\n\t\t\tcase CLOSE_TAB_MENU_ITEM:\n\t\t\t\tdisabled = length === 0 || !activeTab || isPivotActive;\n\t\t\t\tbreak;\n\t\t\tcase CLOSE_OTHER_TABS_MENU_ITEM:\n\t\t\t\tdisabled =\n\t\t\t\t\tlength <= 1 || !activeTab || isDetailsTabTheOnlyOtherTab;\n\t\t\t\tbreak;\n\t\t\tcase CLOSE_ALL_TABS_MENU_ITEM:\n\t\t\t\tdisabled = length <= 1;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn { ...it, itemType: 'menu', disabled };\n\t});\n}\n\nexport function buildOverflowStyle(\n\ttype,\n\toverflowDisabled,\n\tbadgeCount,\n\thasOverflowUpdate,\n) {\n\tlet overflowClassNames = 'sn-chrome-tabs-btn -overflow';\n\n\tif (overflowDisabled) overflowClassNames += ' is-disabled';\n\telse {\n\t\toverflowClassNames += type === 'default' ? ' -default' : ' -close';\n\n\t\tif (badgeCount > 0)\n\t\t\toverflowClassNames +=\n\t\t\t\t' has-badge ' +\n\t\t\t\t(hasOverflowUpdate ? 'is-updated' : 'is-activated');\n\t}\n\n\treturn overflowClassNames;\n}\n\nexport function buildVisibleAndOverflowList(\n\ttabList,\n\ttotalWidth,\n\tselectedTabId,\n) {\n\ttotalWidth -= 20; // this gives us a little extra room in our calculations\n\tlet visibleList = [];\n\tif (tabList.length === 0) return visibleList;\n\n\tlet length = tabList.length;\n\n\tconst selectedTabIdx = tabList.findIndex((t) => t.tab_id == selectedTabId);\n\tconst selectedTab = tabList[selectedTabIdx];\n\tconst isSelectedPrimaryTab = selectedTab.isPrimaryTab;\n\n\t/* note that the code below is filled with magic numbers.\n\t * These were carried forward from legacy workspace tab code, and are not configurable.\n\t * The value 280 was added to handle the case when the L1 tab is at its max width,\n\t * as is the case when inbox is selected.  It was selected because empirically it works well,\n\t * not from any specific math for handling the totalWidth space.\n\t * This logic relies on tabList[0].size being set in this case, an not in any other case, which is fragile.\n\t */\n\tconst gap = 4, // right margin space among tabs\n\t\tminTabWidth = 88,\n\t\tmaxTabWidth = 180,\n\t\tmaxTabWidthL1Item = tabList[0].size ? 280 : 240,\n\t\tminTabWidthL1Item = 110;\n\n\tconst standardTabSpace = maxTabWidth + gap,\n\t\tL1ItemTabSpace = maxTabWidthL1Item + gap,\n\t\tminTabSpace = minTabWidth + gap,\n\t\t// mustHaveSpace = L1ItemTabSpace + standardTabSpace,    // no longer used\n\t\tuncompressedTabSpace = standardTabSpace * (length - 1) + L1ItemTabSpace;\n\n\tlet tabWidth = maxTabWidth,\n\t\toverflowList = [];\n\tvisibleList = tabList;\n\n\tlet count;\n\t// We don't have enough room and must compress tab width\n\tif (uncompressedTabSpace > totalWidth) {\n\t\t// Without shrinking the module tab or the active tab (if present), figure out how much space for each of\n\t\t// the remaining tabs\n\t\tlet newTabSpace = isSelectedPrimaryTab\n\t\t\t? (totalWidth - L1ItemTabSpace) / (length - 1)\n\t\t\t: (totalWidth - (L1ItemTabSpace + standardTabSpace)) / (length - 2);\n\n\t\tnewTabSpace = Math.floor(newTabSpace); // newTabSpace is an int, so round up\n\t\t// Ensure this isn't lower than our minimum\n\t\tnewTabSpace = Math.max(minTabSpace, newTabSpace);\n\n\t\t// Figure out how many tabs we can fit in the available area using this width\n\t\tcount = isSelectedPrimaryTab\n\t\t\t? Math.floor((totalWidth - L1ItemTabSpace) / newTabSpace) + 1\n\t\t\t: Math.floor(\n\t\t\t\t\t(totalWidth - (L1ItemTabSpace + standardTabSpace)) /\n\t\t\t\t\t\tnewTabSpace,\n\t\t\t\t) + 2;\n\n\t\ttabWidth = newTabSpace - gap;\n\t}\n\n\t// Calculate the space required for all tabs at the current width\n\tconst spaceRequired = isSelectedPrimaryTab\n\t\t? L1ItemTabSpace + (tabWidth + gap) * (length - 1)\n\t\t: L1ItemTabSpace + standardTabSpace + (tabWidth + gap) * (length - 2);\n\n\t// We don't have enough space for all of the tabs and need to collapse some\n\tif (spaceRequired > totalWidth) {\n\t\tlet newTabList = tabList.slice(0);\n\n\t\tlet lastVisibleIdx = count - 1;\n\t\tif (count >= -1 && count <= 0) {\n\t\t\tlastVisibleIdx = 0;\n\t\t} else if (count < -1) {\n\t\t\tlastVisibleIdx = -1;\n\t\t}\n\n\t\t// If the selected tab is further to the right of the last tab we have room for, move it to the last visible position\n\t\tif (selectedTabIdx > lastVisibleIdx) {\n\t\t\tnewTabList.splice(selectedTabIdx, 1); // delete the activeTab from newTabList\n\t\t\tnewTabList.splice(lastVisibleIdx, 0, selectedTab); // insert activeTab at lastVisibleIdx\n\t\t}\n\n\t\tvisibleList = newTabList.slice(0, lastVisibleIdx + 1);\n\t\toverflowList = newTabList\n\t\t\t.slice(lastVisibleIdx + 1)\n\t\t\t.map((it, i) => ({ ...it, itemType: 'tab', itemOrder: i }));\n\t}\n\n\tvisibleList = visibleList.map((t, i) => {\n\t\tconst style = getTabStyle(t);\n\t\treturn { ...t, style, tabOrder: i };\n\t});\n\n\tfunction getTabStyle(t) {\n\t\tif (t.isDetailsTab) return { width: `${maxTabWidth}px` };\n\n\t\tif (t.isPrimaryTab)\n\t\t\treturn {\n\t\t\t\tminWidth: `${minTabWidthL1Item}px`,\n\t\t\t\tmaxWidth: `${maxTabWidthL1Item}px`,\n\t\t\t};\n\n\t\tif (t.tab_id === selectedTabId) return { width: `${maxTabWidth}px` };\n\n\t\treturn { width: `${tabWidth}px` };\n\t}\n\n\treturn { visibleList: visibleList, overflowList };\n}\n\nconst _getChildElement = (parent, childTag) => {\n\tif (!parent || parent.childElementCount === 0) return undefined;\n\n\treturn Array.from(parent.children).find((e) => e && e.tagName === childTag);\n};\n\nexport const insertTooltipEl = (node, content, predicate = () => true) => {\n\tif (!node || !content) return;\n\n\tif (predicate.call(null) === false) return;\n\n\tconst nowTooltip = document.createElement('now-tooltip');\n\tnowTooltip.targetRef = node;\n\tnowTooltip.content = content;\n\tnowTooltip.position = [\n\t\t'bottom-center top-center',\n\t\t'top-center bottom-center',\n\t\t'center-end center-start',\n\t\t'center-start center-end',\n\t\t'top-end top-start',\n\t\t'bottom-end bottom-start',\n\t\t'top-start top-end',\n\t\t'bottom-start bottom-end',\n\t];\n\n\tconst toolTip = _getChildElement(node, 'NOW-TOOLTIP');\n\tif (toolTip) return;\n\n\tnode.appendChild(nowTooltip);\n};\n\nexport const removeTooltipEl = (node) => {\n\tif (!node) return;\n\tconst isHtmlElm = node instanceof HTMLElement;\n\tif (!isHtmlElm) return;\n\n\tlet nowTooltip = _getChildElement(node, 'NOW-TOOLTIP');\n\tif (!nowTooltip) return;\n\n\tnode.removeChild(nowTooltip);\n};\n\nlet popoverListener;\n\nconst _popoverHandler = (elm) => {\n\treturn ({\n\t\tdetail: {\n\t\t\tpayload: { value },\n\t\t},\n\t}) => {\n\t\telm.opened = value;\n\t\tconst button = elm.firstElementChild;\n\t\tconst popoverContent = elm.lastElementChild;\n\t\tif (popoverContent) popoverContent.removeAttribute('defer');\n\t\tif (button) {\n\t\t\tbutton.setAttribute('aria-expanded', value);\n\t\t}\n\n\t\t// Reset menu to keyboard mode when closing\n\t\tif (\n\t\t\t!value &&\n\t\t\tpopoverContent &&\n\t\t\tpopoverContent.tagName === 'SN-CANVAS-TABS-MENU'\n\t\t) {\n\t\t\t// On close, Menu doesn't unmount, so manually reset state\n\t\t\tconst resetEvent = new CustomEvent(\n\t\t\t\t'SN_CANVAS_TABS_MENU#MENU_RESET',\n\t\t\t\t{\n\t\t\t\t\tbubbles: false,\n\t\t\t\t\tdetail: { reset: true },\n\t\t\t\t},\n\t\t\t);\n\t\t\tpopoverContent.dispatchEvent(resetEvent);\n\t\t}\n\t};\n};\n\nexport const handlePopoverInsert = ({ elm }) => {\n\tif (!elm) {\n\t\treturn;\n\t}\n\telm.addEventListener(\n\t\tNOW_POPOVER_OPENED_SET,\n\t\t(popoverListener = _popoverHandler(elm)),\n\t);\n};\n\nexport const handlePopoverDestroy = ({ elm }) => {\n\tif (!elm) {\n\t\treturn;\n\t}\n\telm.removeEventListener(NOW_POPOVER_OPENED_SET, popoverListener);\n\tpopoverListener = null;\n};\n","export const isRtl = (dir) => dir === 'rtl';\n\nexport const handleRtlFn = (ltrDir, rtlDir, dir) => {\n\tif (!isRtl(dir)) {\n\t\treturn ltrDir;\n\t} else {\n\t\treturn rtlDir;\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","import { isRtl } from '../../../../utils/rtl';\nimport {\n\tTABS_REARRANGED,\n\tDND_OPERATION,\n\tFLOATING_TAB_BASE_STYLES,\n\tPRIMARY_TITLE_STYLES,\n\tSECONDARY_TITLE_STYLES,\n\tFLOATING_TAB_CONTENT_STYLES,\n\tDIRTY_INDICATOR_STYLES,\n\tTITLE_OVERFLOW_STYLES,\n\tTITLE_CONTAINER_STYLES,\n\tPRIMARY_ICON_STYLES,\n\tSECONDARY_ICON_STYLES,\n\tSIZE_MAP,\n} from '../../../../constants/constants';\nimport { t } from 'sn-translate';\nimport track from '@devsnc/ux-metrics';\nimport { actionTypes } from '@servicenow/ui-core';\nconst { ARIA_LIVE_REGION_UPDATE_REQUESTED } = actionTypes;\n\n/**\n * @typedef {{id: string, left: number, right: number}} TabInfo\n * @typedef {{canClose: boolean,\n * isPrimaryTab: boolean,\n * tabList: Array<string>,\n * parentTabId: string,\n * tab_id: string,\n * title: string,\n * tabList: Array<string>}} TabData\n * @typedef {{\n * posInfo: Array<TabInfo>,\n * targetIndex: number\n * parentRect: {left: number, right: number},\n * startIndex: number,\n * parentElement: HTMLUListElement,\n * prevPositions: Map<string, number>,\n * isRTL: boolean,\n * hostId: string,\n * tabId: string,\n * parentTabId: string,\n * tabList: Array<string>,\n * movingStartTabIndex: number,\n * status: string,\n * dropTime: number,\n * keyDownCounter: number,\n * isDoubleClickActive: boolean,\n * floatingTabElement?: HTMLElement,\n * initialClientX?: number | null,\n * initialClientY?: number | null,\n * initialTabLeft?: number | null,\n * initialTabTop?: number | null\n * }} TabDragState\n **/\nconst dropEffect = 'move';\nconst Keys = Object.freeze({\n\tArrowLeft: 'ArrowLeft',\n\tArrowRight: 'ArrowRight',\n});\n\n/**\n * @param {HTMLAnchorElement} dragElm\n */\nexport function getDragStateFromElement(coeffects, dragElm) {\n\t/**\n\t * @type {{event: DragEvent | KeyboardEvent | MouseEvent}}\n\t */\n\tconst {\n\t\thost,\n\t\tproperties: props,\n\t\taction: {\n\t\t\tpayload: { event: e },\n\t\t},\n\t} = coeffects;\n\tconst hostId = host.getAttribute('now-id');\n\t/**\n\t * @type {{tabsData: Record<string, TabData>}}\n\t */\n\tconst { tabsData } = props;\n\tconst tabId = dragElm.id;\n\tconst parentTabId = tabsData[tabId].parentTabId;\n\tconst tabList = tabsData[parentTabId].tabList;\n\tlet movingStartTabIndex = tabList.findIndex((tabId) => {\n\t\tconst tabData = tabsData[tabId];\n\t\treturn tabData.canClose || tabData.isPrimaryTab === false;\n\t});\n\t/**\n\t * @type {HTMLUListElement}\n\t */\n\tconst parentElement = dragElm.parentElement.parentElement;\n\n\t/**\n\t * @type {TabDragState}\n\t */\n\tconst dragState = {\n\t\tisRTL: isRtl(props.dir),\n\t\tposInfo: [],\n\t\ttargetIndex: -1,\n\t\tparentRect: { left: 0, right: 0 },\n\t\tparentElement,\n\t\tstartIndex: 0,\n\t\tprevPositions: new Map(),\n\t\thostId,\n\t\ttabId,\n\t\tparentTabId,\n\t\ttabList,\n\t\tmovingStartTabIndex,\n\t\tstatus:\n\t\t\te instanceof DragEvent\n\t\t\t\t? DND_OPERATION.dragStart\n\t\t\t\t: DND_OPERATION.keyDown,\n\t\tdropTime: 0,\n\t\tkeyDownCounter: 1,\n\t\tisDoubleClickActive: false,\n\t};\n\tconst parentLi = dragElm.parentElement;\n\tconst parentRect = parentElement.getBoundingClientRect();\n\tdragState.parentRect = parentRect.toJSON();\n\tlet posX = 0;\n\tconst posInfo = Array.from(parentElement.children).map((item, index) => {\n\t\tdragState.prevPositions.set(item.id, 0);\n\t\tconst boundingRect = item.getBoundingClientRect();\n\t\t/**\n\t\t * @type {TabInfo}\n\t\t */\n\t\tconst itemInfo = {\n\t\t\tid: item.id,\n\t\t\tleft: posX,\n\t\t\tright: 0,\n\t\t};\n\t\tposX += Math.abs(boundingRect.right - boundingRect.left);\n\t\titemInfo.right = posX;\n\t\tif (parentLi === item)\n\t\t\tdragState.startIndex = dragState.targetIndex = index;\n\t\treturn itemInfo;\n\t});\n\tdragState.posInfo = posInfo;\n\treturn dragState;\n}\n\n/**\n * Sets the pointer-events style on the tabs container.\n * @param {object} coeffects The coeffects object.\n * @param {string} style The pointer-events value to set ('none' or 'auto').\n */\nexport function setTabsContainerPointerEvents(coeffects, style) {\n\tconst tabsContainer = coeffects.host?.shadowRoot?.querySelector(\n\t\t'.sn-canvas-tabs-container, .sn-canvas-sub-tabs-container',\n\t);\n\n\tif (tabsContainer) {\n\t\ttabsContainer.style.pointerEvents = style;\n\t}\n}\n\nexport function handleDragStart(coeffects, type) {\n\tconst { action, updateState } = coeffects;\n\t/**\n\t * @type {{event: DragEvent}}\n\t */\n\tconst { event } = action.payload;\n\tif (!event.composed && !event.customComposedPath) return;\n\t/**\n\t * @type {Array<Element>}\n\t */\n\tconst nodes =\n\t\tevent.customComposedPath ||\n\t\t(event.composedPath ? event.composedPath() : []);\n\t/**\n\t * @type {HTMLAnchorElement}\n\t */\n\tconst dragElm = nodes.find((node) => {\n\t\treturn (\n\t\t\tnode instanceof HTMLAnchorElement &&\n\t\t\tnode.classList.contains('sn-chrome-one-tab')\n\t\t);\n\t});\n\tif (!dragElm || dragElm.getAttribute('draggable') === 'false') return;\n\tconst dndState = getDragStateFromElement(coeffects, dragElm);\n\n\tif (type === DND_OPERATION.doubleClickDragStart) {\n\t\tsetTabsContainerPointerEvents(coeffects, 'none');\n\t\tconst rect = dragElm.getBoundingClientRect();\n\t\t//Initialize dndState for double-click drag\n\t\tdndState.status = DND_OPERATION.doubleClickDragStart;\n\t\tdndState.isDoubleClickActive = true;\n\t\tdndState.floatingTabElement = createCleanFloatingTab(dragElm, rect);\n\t\tdndState.initialClientX = event.clientX;\n\t\tdndState.initialClientY = event.clientY;\n\t\tdndState.initialTabLeft = rect.left;\n\t\tdndState.initialTabTop = rect.top;\n\t\tdocument.body.appendChild(dndState.floatingTabElement);\n\t}\n\tupdateState({ dndState });\n\tif (event instanceof DragEvent) {\n\t\tevent.dataTransfer.effectAllowed = 'move';\n\t\tevent.dataTransfer.dropEffect = dropEffect;\n\t}\n}\n/**\n *\n * @param {number} posX\n * @returns {Array<Keyframe>}\n */\nexport function getKeyframes(posX) {\n\treturn [{ composite: 'replace', transform: `translateX(${posX}px)` }];\n}\n/**\n *\n * @param {TabDragState} dndState\n * @param {number} prevIndex\n * @param {number} newTargetIndex\n * @returns\n */\nexport function slidItems(dndState, newTargetIndex) {\n\tconst {\n\t\tisRTL,\n\t\tparentElement,\n\t\tposInfo,\n\t\tstartIndex,\n\t\tprevPositions: prevStatus,\n\t\ttargetIndex: prevTargetIndex,\n\t} = dndState;\n\tif (prevTargetIndex === newTargetIndex) return;\n\tconst prevPosInfo = { ...posInfo[prevTargetIndex] };\n\tif (prevTargetIndex < newTargetIndex) {\n\t\tposInfo.splice(newTargetIndex + 1, 0, { ...prevPosInfo });\n\t\tposInfo.splice(prevTargetIndex, 1);\n\t} else {\n\t\tposInfo.splice(prevTargetIndex, 1);\n\t\tposInfo.splice(newTargetIndex, 0, { ...prevPosInfo });\n\t}\n\tposInfo[newTargetIndex] = prevPosInfo;\n\tlet posX = 0;\n\t/**\n\t * @type {Map<string, TabInfo>}\n\t */\n\tlet currentPosInfoMap = new Map();\n\tposInfo.forEach((item) => {\n\t\tconst itemWidth = item.right - item.left;\n\t\titem.left = posX;\n\t\tposX += itemWidth;\n\t\titem.right = posX;\n\t\tcurrentPosInfoMap.set(item.id, item);\n\t});\n\tdndState.targetIndex = newTargetIndex;\n\tconst { targetIndex } = dndState;\n\tconst draggingItemWidth =\n\t\tposInfo[targetIndex].right - posInfo[targetIndex].left;\n\n\tlet draggingItemOffsetX = 0;\n\n\tconst keyframeOptions = {\n\t\tduration: 100,\n\t\tfill: 'both',\n\t};\n\tlet directionMultiplier = targetIndex - startIndex > 0 ? -1 : 1;\n\tif (isRTL) directionMultiplier = directionMultiplier * -1;\n\tconst offsetToBeShifted = draggingItemWidth * directionMultiplier;\n\t/**\n\t * @param {TabInfo} tabInfo\n\t * @param {HTMLElement} elm\n\t * @param {number} offset\n\t */\n\tasync function applyAnimation(tabInfo, elm, offset) {\n\t\tif (prevStatus.get(tabInfo.id) === offset) return;\n\t\tprevStatus.set(tabInfo.id, offset);\n\t\ttry {\n\t\t\tconst animation = elm.animate(\n\t\t\t\tgetKeyframes(offset),\n\t\t\t\tkeyframeOptions,\n\t\t\t);\n\t\t\tawait animation.finished;\n\t\t\telm.style.transform = `translateX(${offset}px)`;\n\t\t\tanimation.cancel();\n\t\t} catch (error) {\n\t\t\tconsole.error('error occured while applying animation', error);\n\t\t}\n\t}\n\tfor (let i = 0; i < parentElement.children.length; i++) {\n\t\tif (i === startIndex) continue;\n\t\t/**\n\t\t * @type {HTMLLIElement}\n\t\t */\n\t\tconst li = parentElement.children[i];\n\t\tconst id = li.id;\n\t\tconst currentTabInfo = currentPosInfoMap.get(id);\n\t\tlet itemWidth = 0;\n\t\tif (currentTabInfo)\n\t\t\titemWidth = Math.abs(currentTabInfo.right - currentTabInfo.left);\n\t\tif (targetIndex === startIndex) {\n\t\t\tapplyAnimation(currentTabInfo, li, 0);\n\t\t} else {\n\t\t\tif (\n\t\t\t\t(i >= targetIndex && i <= startIndex) ||\n\t\t\t\t(i >= startIndex && i <= targetIndex)\n\t\t\t) {\n\t\t\t\tdraggingItemOffsetX += itemWidth;\n\t\t\t\tapplyAnimation(currentTabInfo, li, offsetToBeShifted);\n\t\t\t} else applyAnimation(currentTabInfo, li, 0);\n\t\t}\n\t}\n\tapplyAnimation(\n\t\tposInfo[newTargetIndex],\n\t\tparentElement.children[startIndex],\n\t\tdraggingItemOffsetX * directionMultiplier * -1,\n\t);\n}\n/**\n *\n * @param {TabDragState} dragState\n * @param {DragEvent} e\n * @param {Function} updateState\n */\nexport function handleDragOver(coeffects, type) {\n\t/**\n\t * @type {{updateState: Function, host, state, action: {payload: {event: DragEvent}}}}\n\t */\n\tconst { host, state, action, updateState } = coeffects;\n\tconst e = action.payload.event;\n\t/**\n\t * @type {TabDragState}\n\t */\n\tconst dndState = state.dndState;\n\tif (!dndState) return;\n\t/**\n\t * @type {Array<HTMLElement>}\n\t */\n\tconst paths = e.composedPath();\n\tconst hostIndex = paths.findIndex((item) => item === host);\n\te.preventDefault();\n\tconst {\n\t\tisRTL,\n\t\tmovingStartTabIndex,\n\t\tposInfo,\n\t\ttargetIndex: prevTargetIndex,\n\t} = dndState;\n\n\tif (\n\t\ttype === DND_OPERATION.doubleClickDragOver &&\n\t\tdndState?.isDoubleClickActive &&\n\t\tdndState?.floatingTabElement\n\t) {\n\t\t// Move the floating tab with the mouse\n\t\tdndState.floatingTabElement.style.left = `${dndState.initialTabLeft + (e.clientX - dndState.initialClientX)}px`;\n\t\tdndState.floatingTabElement.style.top = `${dndState.initialTabTop + (e.clientY - dndState.initialClientY)}px`;\n\t}\n\tlet minimumLeft = 0;\n\tif (movingStartTabIndex === -1) minimumLeft = 0;\n\telse if (movingStartTabIndex === 0) minimumLeft = posInfo[1].left;\n\telse minimumLeft = posInfo[movingStartTabIndex].left;\n\tlet offsetX = e.clientX - dndState.parentRect.left;\n\tif (isRTL)\n\t\toffsetX =\n\t\t\tdndState.parentRect.right - dndState.parentRect.left - offsetX;\n\tconst prevItemInfo = { ...dndState.posInfo[dndState.targetIndex] };\n\tif (offsetX >= prevItemInfo.left && offsetX <= prevItemInfo.right) return;\n\tlet newTargetIndex = -1;\n\tif (offsetX >= posInfo[posInfo.length - 1].right)\n\t\tnewTargetIndex = posInfo.length - 1;\n\telse if (offsetX <= minimumLeft) newTargetIndex = movingStartTabIndex;\n\telse {\n\t\tnewTargetIndex = posInfo.findIndex((item, index) => {\n\t\t\tconst { left, right } = item;\n\t\t\tconst width = Math.abs(right - left);\n\t\t\tif (offsetX >= left && offsetX <= right) {\n\t\t\t\tif (\n\t\t\t\t\tprevTargetIndex + 1 === index &&\n\t\t\t\t\toffsetX >= left &&\n\t\t\t\t\toffsetX <= left + width / 2\n\t\t\t\t)\n\t\t\t\t\treturn false;\n\t\t\t\tif (\n\t\t\t\t\tprevTargetIndex - 1 === index &&\n\t\t\t\t\toffsetX >= left + width / 2 &&\n\t\t\t\t\toffsetX <= right\n\t\t\t\t)\n\t\t\t\t\treturn false;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\tif (newTargetIndex === -1) return;\n\t\tslidItems(dndState, newTargetIndex);\n\t\tif (dndState.status !== type)\n\t\t\tupdateState({\n\t\t\t\tdndState: { ...dndState, status: type },\n\t\t\t});\n\t}\n\n\tconst isInvalidDrop = hostIndex === -1 || offsetX <= minimumLeft;\n\n\tif (type === DND_OPERATION.dragOver) {\n\t\te.dataTransfer.dropEffect = isInvalidDrop ? 'none' : dropEffect;\n\t}\n\n\tdocument.body.style.cursor = isInvalidDrop ? 'no-drop' : 'default';\n}\n\nexport async function handleDrop(coeffects, type) {\n\t/**\n\t * @type {{host: HTMLElement, updateState: Function, action: { payload: {event: DragEvent}}}}\n\t */\n\tconst { updateState, state, action, dispatch, host, properties } =\n\t\tcoeffects;\n\t/**\n\t * @type {{event: DragEvent}}\n\t */\n\tconst { event } = action.payload;\n\tif (event instanceof DragEvent) event.dataTransfer.dropEffect = 'none';\n\tif (!state.dndState) return;\n\tevent.preventDefault();\n\tdocument.body.style.cursor = 'default';\n\tconst paths = event.composedPath();\n\t/**\n\t * @type {{dndState: TabDragState}}\n\t */\n\tconst { dndState } = state;\n\n\t// Update status immediately so bailout logic can detect drop completion\n\tupdateState({ dndState: { ...dndState, status: type } });\n\tconst index = paths.findIndex((elm) => elm === host);\n\n\tconst {\n\t\tparentElement,\n\t\tparentTabId,\n\t\ttabId,\n\t\tstartIndex,\n\t\ttargetIndex,\n\t\ttabList,\n\t} = dndState;\n\tlet runningAnimations = [];\n\tArray.from(parentElement.children).forEach((elm) => {\n\t\trunningAnimations.push(\n\t\t\telm.getAnimations().map((item) => item.finished),\n\t\t);\n\t});\n\tif (\n\t\ttype === DND_OPERATION.doubleClickDragEnd &&\n\t\tdndState?.floatingTabElement\n\t) {\n\t\tsetTabsContainerPointerEvents(coeffects, 'auto');\n\t\tdocument.body.removeChild(dndState.floatingTabElement);\n\t}\n\tfunction triggerEvent() {\n\t\tif (\n\t\t\t(event.type === 'drop' ||\n\t\t\t\tevent.type === 'keyup' ||\n\t\t\t\tevent.type === 'mouseup') &&\n\t\t\tindex >= 0\n\t\t) {\n\t\t\tif (startIndex !== targetIndex) {\n\t\t\t\tlet newTabList = [...tabList];\n\t\t\t\tconst startTab = newTabList[startIndex];\n\t\t\t\tif (startIndex < targetIndex) {\n\t\t\t\t\tnewTabList.splice(targetIndex + 1, 0, startTab);\n\t\t\t\t\tnewTabList.splice(startIndex, 1);\n\t\t\t\t} else {\n\t\t\t\t\tnewTabList.splice(startIndex, 1);\n\t\t\t\t\tnewTabList.splice(targetIndex, 0, startTab);\n\t\t\t\t}\n\t\t\t\ttrack(coeffects, 'Reorder Tabs', {\n\t\t\t\t\tname: properties.tabsData[dndState.tabId].title,\n\t\t\t\t\tcount: dndState.posInfo.length,\n\t\t\t\t\tpreviousPosition: startIndex,\n\t\t\t\t\tnewPosition: targetIndex,\n\t\t\t\t\tactionType:\n\t\t\t\t\t\tevent instanceof KeyboardEvent ? 'keyboard' : 'mouse',\n\t\t\t\t\ttabsLevel: properties.tabsLevel,\n\t\t\t\t});\n\t\t\t\tdispatch(TABS_REARRANGED, { tabId, parentTabId, newTabList });\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tupdateState({\n\t\t\tdndState: { ...dndState, status: DND_OPERATION.completed },\n\t\t\tdropTime: Date.now(),\n\t\t});\n\t}\n\tlet isResolved = false;\n\tsetTimeout(() => {\n\t\tif (isResolved) return;\n\t\ttriggerEvent();\n\t}, 150);\n\tif (runningAnimations.length > 0) await Promise.all(runningAnimations);\n\tif (isResolved) return;\n\tisResolved = true;\n\ttriggerEvent();\n}\nexport function handleDragEffect(coeffects) {\n\t/**\n\t * @type {{state: {dndState: TabDragState}, action: {payload: {event: DragEvent}}}}\n\t */\n\tconst {\n\t\tstate: { dndState },\n\t\taction: {\n\t\t\tpayload: { event },\n\t\t},\n\t} = coeffects;\n\tif (!dndState) return;\n\tevent.preventDefault();\n\tif (event.type === 'dragenter') {\n\t\tevent.dataTransfer.dropEffect = dropEffect;\n\t\tdocument.body.style.cursor = 'default';\n\t} else {\n\t\tdocument.body.style.cursor = 'no-drop';\n\t\tevent.dataTransfer.dropEffect = 'none';\n\t}\n}\n\nexport function handleKeyboardInput(coeffects) {\n\t/**\n\t * @type {{host: HTMLElement, dispatch: Function, state: {dndState: TabDragState}, updateState: Function, action: {payload: {event: KeyboardEvent}}}}\n\t */\n\tlet {\n\t\tstate,\n\t\tproperties: props,\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { event: e },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\t/**\n\t * @type {Array<HTMLElement>}\n\t */\n\tconst paths = e.composedPath();\n\tlet dndState = state.dndState;\n\tconst anchor = paths.find(\n\t\t(item) =>\n\t\t\titem instanceof HTMLAnchorElement &&\n\t\t\titem.getAttribute('draggable') === 'true',\n\t);\n\tif (!anchor) return;\n\tconst isTabMoveKey =\n\t\te.ctrlKey &&\n\t\te.shiftKey &&\n\t\t(e.key === Keys.ArrowRight || e.key === Keys.ArrowLeft);\n\tif (isTabMoveKey) {\n\t\te.stopImmediatePropagation();\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t}\n\t/**\n\t *\n\t * @param {TabDragState} dndState\n\t * @returns\n\t */\n\tfunction doKeyboardAction(dndState) {\n\t\tlet targetIndex = dndState.targetIndex;\n\t\tif (e.key === Keys.ArrowRight) targetIndex++;\n\t\telse if (e.key === Keys.ArrowLeft) targetIndex--;\n\t\telse return;\n\t\tif (\n\t\t\ttargetIndex >= dndState.posInfo.length ||\n\t\t\ttargetIndex < dndState.movingStartTabIndex\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\t// text to send to the aria-live region to let screen readers know there was a content change\n\t\tlet message = '';\n\t\t/**\n\t\t * @type {TabData}\n\t\t */\n\t\tconst tabData = props.tabsData[dndState.tabId];\n\n\t\tif (dndState.startIndex === targetIndex) {\n\t\t\tmessage = t(\n\t\t\t\t`Tab {0} is moved back to it's original position`,\n\t\t\t\ttabData.title,\n\t\t\t);\n\t\t} else {\n\t\t\tmessage = t(\n\t\t\t\t`Tab {0} position changed from {1} of {2} to {3} of {4}`,\n\t\t\t\ttabData.title,\n\t\t\t\tdndState.startIndex,\n\t\t\t\tdndState.posInfo.length,\n\t\t\t\ttargetIndex,\n\t\t\t\tdndState.posInfo.length,\n\t\t\t);\n\t\t}\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage,\n\t\t\ttype: 'polite',\n\t\t});\n\t\tslidItems(dndState, targetIndex);\n\t\tdndState = {\n\t\t\t...dndState,\n\t\t\tstatus: DND_OPERATION.keyDown,\n\t\t\tkeyDownCounter:\n\t\t\t\te.type === 'keydown' ? ++dndState.keyDownCounter : 0,\n\t\t};\n\t\tupdateState({ dndState });\n\t}\n\n\tif (isTabMoveKey) {\n\t\tif (e.type === 'keydown') {\n\t\t\tif (dndState) {\n\t\t\t\tif (\n\t\t\t\t\tdndState.status ===\n\t\t\t\t\t\tDND_OPERATION.waitingForAnimationCompletion ||\n\t\t\t\t\tdndState.status === DND_OPERATION.completed\n\t\t\t\t)\n\t\t\t\t\treturn;\n\t\t\t\tif (dndState.keyDownCounter >= 1) doKeyboardAction(dndState);\n\t\t\t\telse\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tdndState: { ...dndState, keyDownCounter: 1 },\n\t\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdndState = getDragStateFromElement(coeffects, anchor);\n\t\t\tupdateState({ dndState });\n\t\t} else if (dndState && dndState.keyDownCounter <= 1)\n\t\t\tdoKeyboardAction(dndState);\n\t} else if (dndState) {\n\t\tupdateState({\n\t\t\tdndState: {\n\t\t\t\t...dndState,\n\t\t\t\tstatus: DND_OPERATION.waitingForAnimationCompletion,\n\t\t\t},\n\t\t});\n\t\thandleDrop(coeffects, e.type);\n\t}\n}\n\n/**\n * Builds an HTML string for a wrapped element inside `originalTab`.\n *\n * @param {HTMLElement} originalTab - The original tab element.\n * @param {string} wrapperSelector - The selector for the wrapper element.\n * @param {string} iconSelector - The selector for the inner icon element.\n * @param {string} defaultStyles - The default inline styles to apply.\n * @param {Function} [styleUpdater] - A function to apply custom styles.\n * @returns {string} The HTML string for the element.\n */\nfunction getHtmlForElement(\n\toriginalTab,\n\twrapperSelector,\n\ticonSelector,\n\tdefaultStyles,\n\tstyleUpdater = () => {},\n) {\n\tconst icon = originalTab\n\t\t.querySelector(wrapperSelector)\n\t\t?.querySelector(iconSelector);\n\n\tif (!icon || icon.classList.contains('is-hidden')) {\n\t\treturn `<span style=\"${defaultStyles}\"><\/span>`;\n\t}\n\n\tconst clone = icon.cloneNode(true);\n\tstyleUpdater(clone);\n\n\tconst size = SIZE_MAP[wrapperSelector];\n\tif (size) {\n\t\tclone.setAttribute('size', size);\n\t}\n\treturn `<span style=\"${defaultStyles}\">${clone.outerHTML}<\/span>`;\n}\n\nexport function getFloatingTabTitle(originalTab) {\n\tconst getTitleText = (selector) => {\n\t\tconst element = originalTab.querySelector(selector);\n\t\treturn element?.textContent.trim() || '';\n\t};\n\n\tconst primaryTitle = getTitleText(\n\t\t'.sn-chrome-one-tab-content .sn-chrome-one-tab-label',\n\t);\n\tconst secondaryTitle = getTitleText(\n\t\t'.sn-chrome-one-tab-secondary-label > span',\n\t);\n\tconst hasPresenceIndicator = originalTab.querySelector(\n\t\t'.sn-chrome-one-tab-content.has-presence',\n\t);\n\tconst hasIcon = originalTab.querySelector(\n\t\t'.sn-chrome-one-tab-content.has-icon',\n\t);\n\tconst hasSecondaryIcon = originalTab.querySelector(\n\t\t'.sn-chrome-one-tab-secondary-label now-icon',\n\t);\n\n\tconst presenceHtml = hasPresenceIndicator\n\t\t? getHtmlForElement(\n\t\t\t\toriginalTab,\n\t\t\t\t'.sn-chrome-one-tab-content.has-presence',\n\t\t\t\t'now-icon',\n\t\t\t\tDIRTY_INDICATOR_STYLES,\n\t\t\t)\n\t\t: '';\n\n\tconst iconHtml = hasIcon\n\t\t? getHtmlForElement(\n\t\t\t\toriginalTab,\n\t\t\t\t'.sn-chrome-one-tab-content.has-icon',\n\t\t\t\t'now-icon',\n\t\t\t\tPRIMARY_ICON_STYLES,\n\t\t\t\t(icon) => {\n\t\t\t\t\ticon.style.color =\n\t\t\t\t\t\t'RGB(var(--now-chrome-one-tab--sn-canvas-tab-icon--is-positive--color, var(--now-color--secondary-1, 1, 119, 142)))';\n\t\t\t\t},\n\t\t\t)\n\t\t: '';\n\n\tconst secondaryIconHtml = hasSecondaryIcon\n\t\t? getHtmlForElement(\n\t\t\t\toriginalTab,\n\t\t\t\t'.sn-chrome-one-tab-secondary-label',\n\t\t\t\t'now-icon',\n\t\t\t\tSECONDARY_ICON_STYLES,\n\t\t\t)\n\t\t: '';\n\n\tconst titlesHtml = `\n\t\t<div style=\"${TITLE_CONTAINER_STYLES}\">\n\t\t\t<div style=\"${PRIMARY_TITLE_STYLES} ${TITLE_OVERFLOW_STYLES}\">\n\t\t\t\t${primaryTitle}\n\t\t\t<\/div>\n\t\t\t${\n\t\t\t\tsecondaryTitle\n\t\t\t\t\t? `<div style=\"${SECONDARY_TITLE_STYLES} ${TITLE_OVERFLOW_STYLES}\">\n\t\t\t\t\t${secondaryIconHtml}\n\t\t\t\t\t${secondaryTitle}\n\t\t\t\t<\/div>`\n\t\t\t\t\t: ''\n\t\t\t}\n\t\t<\/div>\n\t`;\n\n\treturn `\n\t\t<div style=\"${FLOATING_TAB_CONTENT_STYLES}\">\n\t\t\t${presenceHtml}\n\t\t\t${iconHtml}\n\t\t\t${titlesHtml}\n\t\t<\/div>\n\t`;\n}\n\n/**\n * Applies CSS styles to the floating tab element.\n * @param {HTMLElement} floatingTab - The floating tab element.\n * @param {DOMRect} rect - The bounding rectangle of the original tab.\n */\nexport function applyFloatingTabStyles(floatingTab, rect) {\n\tconst dynamicStyles = {\n\t\tleft: `${rect.left}px`,\n\t\ttop: `${rect.top}px`,\n\t\twidth: `${rect.width}px`,\n\t\theight: `${rect.height}px`,\n\t};\n\tObject.assign(floatingTab.style, FLOATING_TAB_BASE_STYLES, dynamicStyles);\n}\n\n/**\n * Creates a clean, floating tab element for double-click dragging.\n * @param {HTMLElement} originalTab - The original tab anchor element.\n * @param {DOMRect} rect - The bounding rectangle of the original tab.\n * @returns {HTMLElement} The new floating tab element.\n */\nexport function createCleanFloatingTab(originalTab, rect) {\n\tconst floatingTab = document.createElement('div');\n\tconst titleHTML = getFloatingTabTitle(originalTab);\n\n\tfloatingTab.innerHTML = titleHTML;\n\tapplyFloatingTabStyles(floatingTab, rect);\n\treturn floatingTab;\n}\n","import { isEmpty } from 'lodash';\nimport {\n\tDND_OPERATION,\n\tMIN_WIDTH_TO_HIDE_VISUAL_INDICATOR,\n\tTAB_NEW_MESSAGE,\n\tTAB_NEW_MESSAGES,\n} from '../../../../constants/constants';\n\nconst _buildClassName = (\n\tisSelected,\n\ttype,\n\tdisabled,\n\thasUpdate,\n\tcolor,\n\tisWider,\n\tisPrimaryTab = false,\n\ttabList,\n\tisCurrentlyDragging = false,\n\tdraggingTabId = '',\n\tdndStatus = DND_OPERATION.completed,\n\tcanClose = false,\n) => {\n\ttype = type === 'primary' ? 'meta' : type;\n\tlet tmpClassList = ['sn-chrome-one-tab', `-${type}`];\n\tif (isSelected) tmpClassList.push('is-selected');\n\tif (disabled) tmpClassList.push('is-disabled');\n\tif (hasUpdate) tmpClassList.push('is-updated');\n\telse if (color) tmpClassList.push(`is-${color}`);\n\tif (isWider) tmpClassList.push('is-wider');\n\tif (isPrimaryTab) tmpClassList.push('is-primary');\n\tif (tabList.length > 1 && isSelected) tmpClassList.push('has-children');\n\tif (\n\t\tdndStatus !== DND_OPERATION.completed &&\n\t\tdndStatus !== DND_OPERATION.waitingForAnimationCompletion\n\t) {\n\t\tif (isCurrentlyDragging && dndStatus !== DND_OPERATION.keyDown)\n\t\t\ttmpClassList.push('hide');\n\t\tif (draggingTabId.length > 0 && dndStatus !== DND_OPERATION.keyDown) {\n\t\t\tif (canClose) tmpClassList.push('move-cursor');\n\t\t\telse tmpClassList.push('no-drop-cursor');\n\t\t}\n\t} else {\n\t\tif (draggingTabId.length > 0) {\n\t\t\tif (canClose) tmpClassList.push('move-cursor');\n\t\t\telse tmpClassList.push('no-drop-cursor');\n\t\t}\n\t\tif (draggingTabId.length === 0 && canClose)\n\t\t\ttmpClassList.push('move-cursor');\n\t}\n\treturn tmpClassList.join(' ');\n};\n\nconst _move = (elm) => (next) => {\n\tif (!elm) return;\n\tlet currentId = elm.id;\n\tif (!currentId) {\n\t\tcurrentId = elm.parentElement && elm.parentElement.firstElementChild.id;\n\t}\n\tconst containerElm = elm.parentElement && elm.parentElement.parentElement;\n\tif (!containerElm) return;\n\tconst children = Array.from(containerElm.children || []);\n\tconst focusedElmIndex = children.findIndex(\n\t\t(e) => e.firstElementChild && e.firstElementChild.id === currentId,\n\t);\n\tif (focusedElmIndex === -1) return;\n\tconst toBeFocusedIndex = next(focusedElmIndex, children.length);\n\tif (toBeFocusedIndex < 0 || toBeFocusedIndex >= children.length) return;\n\tif (!children[toBeFocusedIndex].firstElementChild) return;\n\tchildren[toBeFocusedIndex].firstElementChild.focus();\n};\n\nconst _moveLeft = (elm) =>\n\t_move(elm)((index, length) =>\n\t\tindex === 0 ? length - 1 : (index - 1) % length,\n\t);\nconst _moveRight = (elm) => _move(elm)((index, length) => (index + 1) % length);\n\nconst shouldRenderVisualIndicators = (style) =>\n\t!(\n\t\tstyle.width &&\n\t\tparseInt(style.width) <= MIN_WIDTH_TO_HIDE_VISUAL_INDICATOR\n\t);\n\nconst formatUnreadMessageCount = (highlightedValue) => {\n\tif (isEmpty(highlightedValue) || isEmpty(highlightedValue.label)) {\n\t\treturn '';\n\t}\n\n\tconst count = Number(highlightedValue.label);\n\tif (count < 1) {\n\t\treturn '';\n\t}\n\tconst message = count === 1 ? TAB_NEW_MESSAGE : TAB_NEW_MESSAGES;\n\treturn `, ${count} ${message}`;\n};\n\nexport {\n\t_buildClassName,\n\t_move,\n\t_moveLeft,\n\t_moveRight,\n\tshouldRenderVisualIndicators,\n\tformatUnreadMessageCount,\n};\n","import { TOOLTIP_SHOW, TOOLTIP_HIDE } from '@servicenow/behavior-tooltip';\n\nconst handleTooltipShow = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_SHOW, { target: event.target });\n};\n\nconst handleTooltipHide = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_HIDE, { target: event.target });\n};\n\nfunction buildEventHandlersForTooltip(dispatch, fn) {\n\tconst eventProps = {};\n\tconst showTooltip = handleTooltipShow(dispatch);\n\tconst hideTooltip = handleTooltipHide(dispatch);\n\teventProps['on-mouseenter'] = (e) => {\n\t\tfn ? fn(e, dispatch) : showTooltip(e);\n\t};\n\teventProps['on-focusin'] = (e) => {\n\t\tfn ? fn(e, dispatch) : showTooltip(e);\n\t};\n\teventProps['on-mouseleave'] = (e) => {\n\t\tfn ? fn(e, dispatch) : hideTooltip(e);\n\t};\n\teventProps['on-focusout'] = (e) => {\n\t\tfn ? fn(e, dispatch) : hideTooltip(e);\n\t};\n\treturn eventProps;\n}\n\nexport { handleTooltipHide, handleTooltipShow, buildEventHandlersForTooltip };\nexport default buildEventHandlersForTooltip;\n","/* eslint-disable jsx-a11y/anchor-is-valid */\n// nds-scanner-disable-file native-element, inline-styles\n\nimport '@servicenow/now-icon';\nimport '@servicenow/now-badge';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-highlighted-value';\n\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n\tgetCenterPositioning,\n\ttransformSecondaryContent,\n\tsortSegmentsByOrder,\n\tbuildTabDescription,\n} from './canvas-tab-preview.util';\nimport CanvasTabSegments from './canvasTabSegments';\nimport * as chromeTabsUtils from '../../utils';\nimport { handleRtlFn } from '../../../../../utils/rtl';\nimport {\n\tDND_OPERATION,\n\tMOUSE_LEAVE,\n\tTAB_LOADING,\n} from '../../../../../constants/constants';\nimport { tooltipPositions } from '../../utils';\nimport { TOOLTIP_HIDE, TOOLTIP_SHOW } from '@servicenow/behavior-tooltip';\nimport {\n\t_buildClassName,\n\t_moveLeft,\n\t_moveRight,\n\tshouldRenderVisualIndicators,\n\tformatUnreadMessageCount,\n} from '../../utils/canvasTab-helpers';\nimport buildEventHandlersForTooltip from '../../../../../utils/getEventbindingsForTooltips';\n\nlet showTabPreviewTimer;\n\nexport default (props) => {\n\t/**\n\t * @type {{draggingTabId: string, dndStatus: string}}\n\t */\n\tconst {\n\t\ttab,\n\t\ttabType,\n\t\tisSelected,\n\t\tisHighlighted,\n\t\tdropTime = 0,\n\t\tdndStatus = '',\n\t\tdispatch,\n\t\tisShowHiddenControlsEnabled,\n\t} = props;\n\tlet { draggingTabId = '' } = props;\n\tlet focusTabId = '';\n\tif (dndStatus === DND_OPERATION.completed) {\n\t\tfocusTabId = draggingTabId;\n\t\tdraggingTabId = '';\n\t}\n\tconst {\n\t\ttab_id,\n\t\tstyle,\n\t\ttooltipPosition,\n\t\ttitle,\n\t\tlabel: parentTitle,\n\t\ttable,\n\t\tdisabled,\n\t\thasUpdate,\n\t\ticonStatus,\n\t\tcanClose = true,\n\t\ticon,\n\t\tisDirty,\n\t\ttooltipPreview = {},\n\t\ttooltipSegments = [],\n\t\tsize,\n\t\ttabList,\n\t\tisPrimaryTab,\n\t\tcolor,\n\t\thighlightedValue,\n\t\tsecondaryTitle,\n\t} = tab;\n\n\tconst isWider = size ? true : false;\n\tconst TAB_DESCRIPTION_ID = `${tab_id}-tabbed`;\n\n\tconst { primaryTitle, secondaryContent } = tooltipPreview;\n\n\tconst shouldRenderTabPreview =\n\t\t!isEmpty(tooltipPreview) || !isEmpty(tooltipSegments);\n\n\tconst tabRef = createRef();\n\tconst tabPreviewRef = createRef();\n\n\tconst shouldRenderSecondaryLabel =\n\t\tshouldRenderVisualIndicators(style) &&\n\t\t!(isEmpty(secondaryTitle) || isEmpty(secondaryTitle.label));\n\n\tlet classname = _buildClassName(\n\t\tisSelected,\n\t\ttabType,\n\t\tdisabled,\n\t\thasUpdate,\n\t\tcolor,\n\t\tisWider,\n\t\ttab.isPrimaryTab,\n\t\ttabList,\n\t\ttab_id === draggingTabId,\n\t\tdraggingTabId,\n\t\tdndStatus,\n\t\tcanClose,\n\t);\n\n\t/**\n\t * Add event listeners to the chrome tab container. This is so we do not need to create a new seismic component,\n\t * and handle styles related events in a functional component.\n\t *\n\t * @param {HTMLElement} elm\n\t */\n\tconst applyStyles = (element, styles) => {\n\t\tfor (let rule in styles) {\n\t\t\telement.style[rule] = styles[rule];\n\t\t}\n\t};\n\n\tlet mouseEnterListener;\n\t// Store reference to the escape key listener so it can be removed later\n\tlet escapeKeyListener;\n\n\t/**\n\t * Handles the escape key press to close the tab preview popover.\n\t * When the Escape key is pressed while the tab preview is open, this function\n\t * triggers the mouse leave handler to close the preview and clean up event listeners.\n\t *\n\t * @param {KeyboardEvent} evt - The keyboard event object from the keyup listener\n\t * @param {HTMLElement} elm - The tab element containing the preview to be closed\n\t */\n\tconst handleTabPreviewEsc = (evt, elm) => {\n\t\tif (evt.key === 'Escape') {\n\t\t\tmouseLeaveHandler(elm)();\n\t\t}\n\t};\n\n\tconst mouseEnterHandler = (elm) => {\n\t\treturn ({ detail }) => {\n\t\t\tconst { containerStyle } = detail;\n\t\t\t// Tightly coupled with the dom structure of _renderTabPreview\n\n\t\t\tlet tabPreviewContainer = elm.querySelector(\n\t\t\t\t'.sn-chrome-tab-preview-container',\n\t\t\t);\n\t\t\tlet tabPreview = elm.querySelector('.sn-chrome-tab-preview ');\n\t\t\tif (tabPreviewContainer && tabPreview) {\n\t\t\t\ttabPreviewContainer.classList.add('is-open');\n\t\t\t\tapplyStyles(tabPreview, containerStyle);\n\t\t\t\tconsole.log(elm);\n\n\t\t\t\t// Remove any existing escape key listener before adding a new one\n\t\t\t\tif (escapeKeyListener) {\n\t\t\t\t\tdocument.removeEventListener('keyup', escapeKeyListener);\n\t\t\t\t}\n\n\t\t\t\t// Add keyup listener to allow closing the preview with Escape key\n\t\t\t\tescapeKeyListener = (evt) => {\n\t\t\t\t\thandleTabPreviewEsc(evt, elm);\n\t\t\t\t};\n\t\t\t\tdocument.addEventListener('keyup', escapeKeyListener, {\n\t\t\t\t\tonce: true,\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t};\n\n\tlet mouseLeaveListener;\n\tconst mouseLeaveHandler = (elm) => {\n\t\treturn () => {\n\t\t\t// Tightly coupled with the dom structure of _renderTabPreview\n\t\t\tlet tabPreviewContainer = elm.querySelector(\n\t\t\t\t'.sn-chrome-tab-preview-container',\n\t\t\t);\n\t\t\tif (tabPreviewContainer) {\n\t\t\t\ttabPreviewContainer.classList.remove('is-open');\n\t\t\t\t// Remove the escape key listener when the preview is closed\n\t\t\t\t// Access escapeKeyListener directly from the outer scope at execution time\n\t\t\t\tif (escapeKeyListener) {\n\t\t\t\t\tdocument.removeEventListener('keyup', escapeKeyListener);\n\t\t\t\t\tescapeKeyListener = null;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t};\n\n\tconst showTabCloseBtn = (tabRef) => {\n\t\tconst closeBtn = tabRef.current.querySelector(\n\t\t\t'.sn-chrome-one-tab-close',\n\t\t);\n\t\tif (isShowHiddenControlsEnabled === 'true' || !closeBtn) {\n\t\t\treturn;\n\t\t}\n\t\tcloseBtn.setAttribute('tabindex', '0');\n\t\tcloseBtn.classList.remove('now-a11y-label');\n\t};\n\n\tconst hideTabCloseBtn = (tabRef) => {\n\t\tconst closeBtn = tabRef.current.querySelector(\n\t\t\t'.sn-chrome-one-tab-close',\n\t\t);\n\t\t/**\n\t\t * this function returns early if:\n\t\t * - the user chose to show hidden controls\n\t\t * - no close button was fouind\n\t\t * - tab has focus because the close button shouldn't be hidden when the tab has focus\n\t\t */\n\t\tif (\n\t\t\tisShowHiddenControlsEnabled === 'true' ||\n\t\t\t!closeBtn ||\n\t\t\ttabRef.current.classList.contains('hasFocus')\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tcloseBtn.setAttribute('tabindex', '-1');\n\t\tcloseBtn.classList.add('now-a11y-label');\n\t};\n\n\tconst addEventListener = (elm) => {\n\t\tif (!elm) return;\n\n\t\tmouseEnterListener = mouseEnterHandler(elm);\n\t\telm.addEventListener('CANVAS_TAB#MOUSE_ENTER', mouseEnterListener);\n\n\t\tmouseLeaveListener = mouseLeaveHandler(elm);\n\t\telm.addEventListener('CANVAS_TAB#MOUSE_LEAVE', mouseLeaveListener);\n\t\t/**\n\t\t * The focus and blur events don't bubble up. The focusin/focusout events do, but\n\t\t * not all browsers have full support. So adding event listeners are added. This is needed\n\t\t * to handle the situation when a tab has focus and a user mousees in and out of the tab.\n\t\t * The close icon should still be visible because the tab has focus still.\n\t\t */\n\t\telm.addEventListener('focusin', () => {\n\t\t\ttabRef.current.classList.add('hasFocus');\n\t\t\tshowTabCloseBtn(tabRef);\n\t\t});\n\t\telm.addEventListener('focusout', () => {\n\t\t\ttabRef.current.classList.remove('hasFocus');\n\t\t\thideTabCloseBtn(tabRef);\n\t\t});\n\t};\n\n\tconst removeEventListener = (elm) => {\n\t\tif (!elm) {\n\t\t\treturn;\n\t\t}\n\n\t\telm.removeEventListener('CANVAS_TAB#MOUSE_ENTER', mouseEnterListener);\n\t\telm.removeEventListener('CANVAS_TAB#MOUSE_LEAVE', mouseLeaveListener);\n\t\tmouseEnterListener = null;\n\t\tmouseLeaveListener = null;\n\t};\n\n\tconst _clearPopoverTimers = () => {\n\t\tif (showTabPreviewTimer) clearTimeout(showTabPreviewTimer);\n\t};\n\n\tconst _showFormPreview = () => {\n\t\t_clearPopoverTimers();\n\n\t\tif (!isSelected) {\n\t\t\tconst containerStyle = getCenterPositioning(\n\t\t\t\ttabRef.current,\n\t\t\t\ttabPreviewRef.current,\n\t\t\t);\n\t\t\tconst event = new CustomEvent('CANVAS_TAB#MOUSE_ENTER', {\n\t\t\t\tdetail: { containerStyle },\n\t\t\t});\n\n\t\t\tshowTabPreviewTimer = setTimeout(() => {\n\t\t\t\ttabRef.current.dispatchEvent(event);\n\t\t\t}, 100);\n\t\t}\n\t};\n\n\tconst _hideFormPreview = () => {\n\t\t_clearPopoverTimers();\n\t\tconst event = new Event('CANVAS_TAB#MOUSE_LEAVE');\n\t\ttabRef.current.dispatchEvent(event);\n\t};\n\n\tconst _onMouseEnter = () => {\n\t\t// snapdom is assuming  drag n drop event is mouse enter event.\n\t\t// give sometime so that preview panel will not appear after dnd.\n\t\tif (dropTime === 0 || Date.now() - dropTime > 1000) {\n\t\t\t_showFormPreview();\n\t\t}\n\t};\n\n\tconst _onMouseLeave = () => {\n\t\t_hideFormPreview();\n\t};\n\n\tconst _onClick = (e) => {\n\t\tconst { index, tab } = props;\n\t\t_hideFormPreview();\n\t\tprops.onClickTab(tab.tab_id, index, e);\n\t};\n\n\tconst _moveNext = handleRtlFn(_moveRight, _moveLeft, props.dir);\n\tconst _movePrevious = handleRtlFn(_moveLeft, _moveRight, props.dir);\n\n\tconst _onKeyUp = (e) => {\n\t\tswitch (e.keyCode) {\n\t\t\tcase 13: // enter\n\t\t\tcase 32: // space\n\t\t\t\tprops.onKeyUp(props.tab.tab_id, e);\n\t\t\t\tbreak;\n\t\t\tcase 37: // left arrow\n\t\t\t\tif (!(e.ctrlKey && e.shiftKey) && Date.now() - dropTime > 1000)\n\t\t\t\t\t_movePrevious(e.target);\n\t\t\t\tbreak;\n\t\t\tcase 39: // right arrow\n\t\t\t\tif (!(e.ctrlKey && e.shiftKey) && Date.now() - dropTime > 1000)\n\t\t\t\t\t_moveNext(e.target);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tconst _onClose = (e) => {\n\t\te.stopPropagation();\n\t\tconst { tab, onCloseTab } = props;\n\t\tonCloseTab(tab.tab_id, e);\n\t};\n\n\tconst _insertTooltipEl = (el, content) => {\n\t\tif (shouldRenderTabPreview || isSelected) return;\n\t\tchromeTabsUtils.insertTooltipEl(el, content);\n\t};\n\n\tconst _renderStatusIndicator = () => {\n\t\tconst configIconAria = {\n\t\t\ticon: {\n\t\t\t\t'aria-label': t('Dirty State Indicator for {0}', tabTitle),\n\t\t\t\t'aria-hidden': !isDirty, // if isDirty is false, we want to hide the icon from screen readers\n\t\t\t},\n\t\t};\n\t\treturn (\n\t\t\t<div className=\"sn-chrome-one-tab-content has-presence\">\n\t\t\t\t<now-icon\n\t\t\t\t\tcomponent-id={tab_id + '__presence-dot'}\n\t\t\t\t\ticon=\"presence-fill\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tconfigAria={configIconAria}\n\t\t\t\t\tclassName={\n\t\t\t\t\t\t'sn-presence-dot' + (isDirty ? '' : ' is-hidden')\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst _renderIcon = () => {\n\t\tif (!icon) return;\n\n\t\tconst status =\n\t\t\ticonStatus === 'active'\n\t\t\t\t? `is-active`\n\t\t\t\t: isEmpty(iconStatus)\n\t\t\t\t\t? ''\n\t\t\t\t\t: `is-${iconStatus}`;\n\n\t\treturn (\n\t\t\t<div className={'sn-chrome-one-tab-content has-icon'}>\n\t\t\t\t<now-icon\n\t\t\t\t\tcomponent-id={tab_id + '__session-type'}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tclassName={`sn-canvas-tab-icon ${status}`}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst _renderCloseBtn = (tab_id, title, tabIndex) => {\n\t\tconst tooltip = t('Close Tab {0}', title);\n\t\tconst hideButtonClassName =\n\t\t\tisShowHiddenControlsEnabled === 'true' ? '' : 'now-a11y-label';\n\t\treturn (\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={`sn-chrome-one-tab-close ${hideButtonClassName}`}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\taria-label={tooltip}\n\t\t\t\ton-click={_onClose}\n\t\t\t\ton-keyup={(e) =>\n\t\t\t\t\te.keyCode == 13 || e.keyCode == 32\n\t\t\t\t\t\t? _onClose(e)\n\t\t\t\t\t\t: _onKeyUp(e)\n\t\t\t\t}\n\t\t\t\ton-mouseenter={() =>\n\t\t\t\t\tchromeTabsUtils.removeTooltipEl(tabRef && tabRef.current)\n\t\t\t\t}\n\t\t\t\ton-mouseleave={() =>\n\t\t\t\t\t_insertTooltipEl(tabRef && tabRef.current, title)\n\t\t\t\t}\n\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\tdata-tooltipposition={tooltipPositions}\n\t\t\t\t{...buildEventHandlersForTooltip(dispatch)}\n\t\t\t>\n\t\t\t\t<now-icon\n\t\t\t\t\tcomponent-id={'close-tab-' + tab_id}\n\t\t\t\t\ticon=\"close-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/button>\n\t\t);\n\t};\n\n\tconst _renderHighlightedValue = () => {\n\t\tif (isEmpty(highlightedValue) || isEmpty(highlightedValue.label))\n\t\t\treturn;\n\n\t\tconst { label, color, variant, icon, showIcon } = highlightedValue;\n\n\t\treturn (\n\t\t\t<div className=\"sn-chrome-one-tab-highlighted-value\">\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tcolor={color}\n\t\t\t\t\tvariant={variant}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tshow-icon={showIcon}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst _renderSecondaryTitle = () => {\n\t\tconst { label, icon = '' } = secondaryTitle;\n\n\t\treturn (\n\t\t\t<div className=\"sn-chrome-one-tab-secondary-label\">\n\t\t\t\t{!isEmpty(icon) && <now-icon size=\"sm\" icon={icon} />}\n\t\t\t\t<span data-truncation>{label}<\/span>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst _renderTabPreview = () => {\n\t\tif (!shouldRenderTabPreview) return null;\n\n\t\tconst transformedSecondaryContent =\n\t\t\ttransformSecondaryContent(secondaryContent);\n\t\tconst sortedSegments = sortSegmentsByOrder(tooltipSegments || []);\n\t\tconst tabDescription = buildTabDescription(\n\t\t\tprimaryTitle,\n\t\t\ttransformedSecondaryContent,\n\t\t\tsortedSegments,\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"sn-chrome-tab-preview-container\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"sn-chrome-tab-preview has-card hoverEnabled\"\n\t\t\t\t\tref={tabPreviewRef}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"sn-chrome-tab-preview-body\">\n\t\t\t\t\t\t<div className=\"sn-card\">\n\t\t\t\t\t\t\t{primaryTitle ? (\n\t\t\t\t\t\t\t\t<div className=\"sn-card--row\">\n\t\t\t\t\t\t\t\t\t<div className=\"sn-card--title\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"sn-card--title--name\">\n\t\t\t\t\t\t\t\t\t\t\t<h5 className=\"sn-card--title--name--truncated\">\n\t\t\t\t\t\t\t\t\t\t\t\t{primaryTitle}\n\t\t\t\t\t\t\t\t\t\t\t<\/h5>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t{transformedSecondaryContent?.length > 0 ? (\n\t\t\t\t\t\t\t\t<now-label-value-tabbed\n\t\t\t\t\t\t\t\t\titems={transformedSecondaryContent}\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<CanvasTabSegments\n\t\t\t\t\t\t\t\tsortedSegments={sortedSegments}\n\t\t\t\t\t\t\t\tshowTopDivider={\n\t\t\t\t\t\t\t\t\t!!(\n\t\t\t\t\t\t\t\t\t\tprimaryTitle ||\n\t\t\t\t\t\t\t\t\t\ttransformedSecondaryContent?.length > 0\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{tabDescription && (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tid={TAB_DESCRIPTION_ID}\n\t\t\t\t\t\t\t\t\tclassName=\"visually-hidden\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{tabDescription}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst tabTitle = title || (table ? t(TAB_LOADING) : '');\n\tconst unreadCount = formatUnreadMessageCount(highlightedValue);\n\tconst titlePart = `${tabTitle}${parentTitle ? ` - ${parentTitle}` : ''}`;\n\tconst hasTitle = !isEmpty(titlePart.trim());\n\tconst ariaLabel = hasTitle ? `${titlePart}${unreadCount}` : '';\n\tconst isDraggable = !isPrimaryTab || canClose;\n\tconst tabIndex = isSelected ? '0' : '-1';\n\treturn (\n\t\t<li\n\t\t\tid={`li_${tab_id}`}\n\t\t\tclass={{\n\t\t\t\t'sn-chrome-one-tab-container': true,\n\t\t\t\t'draggable-container':\n\t\t\t\t\ttab_id === draggingTabId &&\n\t\t\t\t\tdndStatus !== DND_OPERATION.keyDown,\n\t\t\t}}\n\t\t\tstyle={style}\n\t\t\trole=\"presentation\"\n\t\t\tdata-tooltip={title}\n\t\t\tdata-tooltipposition={tooltipPosition}\n\t\t\t{...buildEventHandlersForTooltip(dispatch, (e) => {\n\t\t\t\tconst elm = e.target;\n\t\t\t\tif (e.type === MOUSE_LEAVE) {\n\t\t\t\t\thideTabCloseBtn(tabRef);\n\t\t\t\t\tdispatch(TOOLTIP_HIDE, { target: elm, delay: 500 });\n\t\t\t\t} else {\n\t\t\t\t\tshowTabCloseBtn(tabRef);\n\t\t\t\t\tdispatch(TOOLTIP_SHOW, { target: elm });\n\t\t\t\t}\n\t\t\t})}\n\t\t\thook-update={({ elm }) => {\n\t\t\t\tif (\n\t\t\t\t\tdndStatus === DND_OPERATION.completed &&\n\t\t\t\t\telm.style.transform.length > 0\n\t\t\t\t)\n\t\t\t\t\telm.style.removeProperty('transform');\n\t\t\t}}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\taddEventListener(elm);\n\t\t\t\tif (shouldRenderTabPreview || isSelected) return;\n\t\t\t}}\n\t\t\thook-destroy={({ elm }) => {\n\t\t\t\tremoveEventListener(elm);\n\t\t\t}}\n\t\t\tref={tabRef}\n\t\t>\n\t\t\t<a\n\t\t\t\tdraggable={isDraggable ? 'true' : 'false'}\n\t\t\t\trole=\"tab\"\n\t\t\t\taria-grabbed={\n\t\t\t\t\tisDraggable\n\t\t\t\t\t\t? tab_id === draggingTabId\n\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t: 'false'\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\taria-selected={isSelected ? 'true' : 'false'}\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-describedby={\n\t\t\t\t\tshouldRenderTabPreview && !isSelected\n\t\t\t\t\t\t? TAB_DESCRIPTION_ID\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\thook-insert={({ elm }) => elm && isHighlighted && elm.focus()}\n\t\t\t\thook-update={({ elm }) => {\n\t\t\t\t\tif (focusTabId === tab_id) elm.focus();\n\t\t\t\t}}\n\t\t\t\tid={tab_id}\n\t\t\t\tclassName={classname}\n\t\t\t\tstyle={size ? { width: size } : {}}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\ton-click={_onClick}\n\t\t\t\ton-keyup={_onKeyUp}\n\t\t\t\ton-mouseenter={_onMouseEnter}\n\t\t\t\ton-mouseleave={_onMouseLeave}\n\t\t\t\ton-focusin={() => _showFormPreview()}\n\t\t\t\ton-focusout={() => _hideFormPreview()}\n\t\t\t>\n\t\t\t\t{_renderStatusIndicator()}\n\t\t\t\t{_renderIcon()}\n\t\t\t\t<div\n\t\t\t\t\tclassName={`sn-chrome-one-tab-content ${\n\t\t\t\t\t\tshouldRenderSecondaryLabel && 'has-secondary-label'\n\t\t\t\t\t}`}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"sn-chrome-one-tab-label\" data-truncation>\n\t\t\t\t\t\t{tabTitle}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t{shouldRenderSecondaryLabel\n\t\t\t\t\t\t? _renderSecondaryTitle()\n\t\t\t\t\t\t: null}\n\t\t\t\t<\/div>\n\t\t\t<\/a>\n\t\t\t{shouldRenderVisualIndicators(style)\n\t\t\t\t? _renderHighlightedValue()\n\t\t\t\t: null}\n\t\t\t{canClose &&\n\t\t\t(draggingTabId !== tab_id ||\n\t\t\t\t(draggingTabId.length > 0 &&\n\t\t\t\t\tdndStatus === DND_OPERATION.keyDown))\n\t\t\t\t? _renderCloseBtn(tab_id, title, tabIndex)\n\t\t\t\t: null}\n\t\t\t{!draggingTabId ? _renderTabPreview() : null}\n\t\t<\/li>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const FLYOUT_MENU_ITEM_CLICKED = 'NOW_FLYOUT_MENU_LIST#ITEM_CLICKED';\n","import { FLYOUT_MENU_ITEM_CLICKED } from './constants';\n\nconst actionHandlers = {\n    [FLYOUT_MENU_ITEM_CLICKED]: ({\n        action,\n        properties,\n        dispatch,\n    }) => {\n        const { item } = action.payload;\n        const { menuItems, onItemClick, hidePopover } = properties;\n\n        const selectedMenuItem = menuItems.find(\n            (menuItem) => menuItem.name === item.id,\n        );\n\n        if (selectedMenuItem && onItemClick) {\n            onItemClick(selectedMenuItem);\n        } else {\n            hidePopover();\n            dispatch('REOPEN_CLOSED_TAB', {\n                id: item.id\n            });\n        }\n    },\n};\n\n\nexport default actionHandlers;\n","import '@servicenow/now-flyout-menu';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport styles from './_style.scss';\nimport actionHandlers from './sn-canvas-flyout-menu.effects';\n\nconst CanvasFlyoutMenu = (state) => {\n    const props = state.properties;\n    const { menuItems } = props;\n\n    const transformedItems = menuItems.map((item) => {\n        return {\n            id: item.name || item.id,\n            label: item.displayValue || item.label,\n            disabled: item.disabled,\n            ...((!item.disabled && item.flyoutItems) && { \n                flyoutItems: item.flyoutItems\n            }),\n        };\n    });\n\n    return (\n            <now-flyout-menu-list\n                items={transformedItems}\n                size=\"md\"\n                opened\n                constrain={{ width: 'target' }}\n            />\n    );\n};\n\ncreateCustomElement('sn-canvas-flyout-menu', {\n    view: CanvasFlyoutMenu,\n    styles,\n    properties: {\n        menuItems: { default: [], deepCompare: true },\n        onItemClick: { default: () => {} },\n        hidePopover: {default: () => {} }\n    },\n    actionHandlers,\n});\n\n","import { t } from 'sn-translate';\nimport '@servicenow/now-icon';\n\nexport const CanvasOverflowItem = (props) => {\n\tconst { tab, hasUpdate, isHighlighted, isNodeFocused } = props;\n\tconst { tab_id, title } = tab;\n\tconst styleClass =\n\t\t'sn-chrome-popover-content-list-item ' +\n\t\t(hasUpdate ? 'has-update' : '');\n\tconst closeBtn_tooltip = t('Close Tab');\n\n\tconst _onItemClick = (e) => {\n\t\tconst { tab, onItemClick } = props;\n\t\tonItemClick(tab, e);\n\t};\n\n\tconst _onItemClose = (e) => {\n\t\te.stopPropagation();\n\t\tconst { tab, onItemClose } = props;\n\t\tonItemClose(tab, e);\n\t};\n\n\tconst _onItemKeyUp = (e) => {\n\t\tif (e.keyCode !== 13 /*enter*/ && e.keyCode !== 32 /*space*/) return;\n\t\t_onItemClick(e);\n\t};\n\n\tconst _onKeyUp = (e) => {\n\t\tif (e.keyCode === 9) {\n\t\t\t//tab\n\t\t\tconst { index, onNodeFocus } = props;\n\t\t\tonNodeFocus(index);\n\t\t} else if (e.keyCode === 13 /*enter*/ || e.keyCode === 32 /*space*/)\n\t\t\t_onItemClose(e);\n\n\t\tif (elmRef) elmRef.setAttribute('tabindex', '-1');\n\t};\n\tlet elmRef = null;\n\treturn (\n\t\t<li className={styleClass} role=\"presentation\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={`sn-chrome-popover-content-list-item-button`}\n\t\t\t\ton-click={_onItemClick}\n\t\t\t\ton-keyup={_onItemKeyUp}\n\t\t\t\trole=\"menuitem\"\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\tref={(elm) => (elmRef = elm)}\n\t\t\t\thook-update={({ elm }) => {\n\t\t\t\t\tif (!elm) return;\n\t\t\t\t\tif (isHighlighted && !isNodeFocused) {\n\t\t\t\t\t\telm.focus();\n\t\t\t\t\t\telm.setAttribute('tabindex', '0');\n\t\t\t\t\t} else {\n\t\t\t\t\t\telm.setAttribute('tabindex', '-1');\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<span className=\"sn-chrome-popover-content-text\">{title}<\/span>\n\t\t\t<\/button>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName=\"overflow-close-btn sn-chrome-popover-content-list-item-close\"\n\t\t\t\taria-label={closeBtn_tooltip}\n\t\t\t\ttooltip={closeBtn_tooltip}\n\t\t\t\ton-click={_onItemClose}\n\t\t\t\ton-keyup={_onKeyUp}\n\t\t\t>\n\t\t\t\t<now-icon\n\t\t\t\t\tcomponent-id={'overflow-close-tab-' + tab_id}\n\t\t\t\t\ticon=\"circle-close-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/button>\n\t\t\t{/* <sn-component-tooltip /> */}\n\t\t<\/li>\n\t);\n};\n","import { CanvasOverflowItem } from './canvasOverflowItem';\n\nconst TabOverflow = (props) => {\n\tconst {\n\t\toptionItems,\n\t\thighlightIndex,\n\t\tonItemClick,\n\t\tonItemClose,\n\t\tonNodeFocus,\n\t\tisNodeFocused\n\t} = props;\n\treturn (\n\t\t<ul className=\"sn-chrome-popover-content-list\" role=\"presentation\">\n\t\t\t{optionItems.map((item, i) => {\n\t\t\t\treturn (\n\t\t\t\t\t<CanvasOverflowItem\n\t\t\t\t\t\tkey={item.tab_id}\n\t\t\t\t\t\ttab={item}\n\t\t\t\t\t\tisHighlighted={highlightIndex === i}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\tisNodeFocused={isNodeFocused}\n\t\t\t\t\t\tonItemClick={onItemClick}\n\t\t\t\t\t\tonItemClose={onItemClose}\n\t\t\t\t\t\tonNodeFocus={onNodeFocus}\n\t\t\t\t\t\thasUpdate={item.hasUpdate}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/ul>\n\t);\n};\n\nexport { TabOverflow };\n","const OptionItem = (props) => {\n\tconst { index, item, isHighlighted, usingKeyboard, _className } = props;\n\tconst { disabled, displayValue } = item;\n\tconst buttonClassName = `${_className}-list-item-button${isHighlighted && usingKeyboard ? ' is-active' : ''}`;\n\tconst liClassName = `${_className}-list-item${disabled ? ' is-disabled' : ''}`;\n\n\tconst onItemClick = (e) => {\n\t\tconst { item, index } = props;\n\t\tprops.onItemClick(item, index, e);\n\t};\n\n\tconst onKeyUp = (e) => {\n\t\tif (e.keyCode !== 32 /*space*/) return;\n\t\tonItemClick(e);\n\t};\n\n\t// Compute conditional attributes based on disabled state\n\tconst buttonAttrs = disabled\n\t\t? { 'aria-disabled': 'true', disabled: true }\n\t\t: { 'on-click': onItemClick, 'on-keyup': onKeyUp };\n\n\treturn (\n\t\t<li className={liClassName} role=\"presentation\">\n\t\t\t<button\n\t\t\t\tid={index + '-' + (usingKeyboard ? 'kbd' : 'mouse')}\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={buttonClassName}\n\t\t\t\trole=\"menuitem\"\n\t\t\t\ttabIndex={disabled || !isHighlighted ? '-1' : '0'}\n\t\t\t\t{...buttonAttrs}\n\t\t\t>\n\t\t\t\t<span className={_className + '-text'}>{displayValue}<\/span>\n\t\t\t<\/button>\n\t\t<\/li>\n\t);\n};\n\nexport { OptionItem };\n","import { OptionItem } from '../../subcomponents';\nconst ControlMenu = (props) => {\n\tconst { id, optionItems, highlightIndex, onItemClick, usingKeyboard } =\n\t\tprops;\n\tconst _className = props._className\n\t\t? props._className\n\t\t: 'sn-chrome-popover-content';\n\n\treturn (\n\t\t<ul id={id} className={_className + '-list'} role=\"presentation\">\n\t\t\t{optionItems.map((m, i) => {\n\t\t\t\tlet baseKey =\n\t\t\t\t\tm.itemType === 'tab' ? m.tab_id : m.name || m.title;\n\t\t\t\tconst key = `${baseKey}-${usingKeyboard ? 'kbd' : 'mouse'}`;\n\t\t\t\tconst isHighlighted = highlightIndex === i;\n\t\t\t\treturn (\n\t\t\t\t\t<OptionItem\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\titem={m}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\tisHighlighted={isHighlighted}\n\t\t\t\t\t\tusingKeyboard={usingKeyboard}\n\t\t\t\t\t\tonItemClick={onItemClick}\n\t\t\t\t\t\t_className={_className}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/ul>\n\t);\n};\n\nexport { ControlMenu };\n","import { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_RENDERED } = actionTypes;\n\nconst actionHandlers = {\n\t[COMPONENT_RENDERED]: ({ action, updateState, properties, state }) => {\n\t\tconst { hoistHost } = action.meta;\n\t\tif (!hoistHost) return;\n\n\t\t// Only initialize if still at initial/reset value\n\t\tif (state.highlightIndex !== -1) return;\n\n\t\tif (state.usingKeyboard) {\n\t\t\tconst newHighlightIndex =\n\t\t\t\tproperties.menuItems?.length === 0 ? -1 : 0;\n\t\t\tupdateState({ highlightIndex: newHighlightIndex });\n\t\t}\n\t},\n};\n\nexport default actionHandlers;\n","import { NOW_POPOVER_OPENED_SET } from '../../../../../constants/constants';\n\nexport const eventHandlers = [\n\t{\n\t\tevents: ['keydown'],\n\t\teffect({ action, properties, state, updateState, host }) {\n\t\t\tconst event = action.payload.event;\n\t\t\tconst keyCode = event.keyCode;\n\t\t\tconst currentIndex = state.highlightIndex;\n\t\t\tconst itemLength = (properties.menuItems || []).length;\n\n\t\t\tif (itemLength === 0) return;\n\n\t\t\t// Only handle arrow keys, Enter, Space, and Tab\n\t\t\tconst isRelevantKey =\n\t\t\t\tkeyCode === 38 || // ArrowUp\n\t\t\t\tkeyCode === 40 || // ArrowDown\n\t\t\t\tkeyCode === 13 || // Enter\n\t\t\t\tkeyCode === 32 || // Space\n\t\t\t\tkeyCode === 9; // Tab\n\n\t\t\tif (!isRelevantKey) return;\n\n\t\t\taction.preventDefault();\n\t\t\taction.stopPropagation();\n\n\t\t\tconst _handler = () => {\n\t\t\t\tlet _highlightIndex = currentIndex;\n\t\t\t\tswitch (keyCode) {\n\t\t\t\t\tcase 38: //ArrowUp\n\t\t\t\t\t\tif (currentIndex <= 0) {\n\t\t\t\t\t\t\t_highlightIndex = itemLength - 1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_highlightIndex = (currentIndex - 1) % itemLength;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 40: //ArrowDown\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcurrentIndex === -1 ||\n\t\t\t\t\t\t\tcurrentIndex === itemLength - 1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t_highlightIndex = 0;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_highlightIndex = (currentIndex + 1) % itemLength;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 13: //Enter\n\t\t\t\t\tcase 32: //Space\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcurrentIndex >= 0 &&\n\t\t\t\t\t\t\tproperties.menuItems[currentIndex] &&\n\t\t\t\t\t\t\t!properties.menuItems[currentIndex].disabled\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tproperties.onNewTab(\n\t\t\t\t\t\t\t\tproperties.menuItems[currentIndex],\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 9: //tab\n\t\t\t\t\t\t_highlightIndex = -1;\n\t\t\t\t\t\t//Create a scope so linter is happy\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst nowPopover = host.parentElement;\n\t\t\t\t\t\t\tif (!nowPopover) return;\n\t\t\t\t\t\t\tconst triggerEl =\n\t\t\t\t\t\t\t\tnowPopover.querySelector('[slot=trigger]');\n\t\t\t\t\t\t\tif (triggerEl) {\n\t\t\t\t\t\t\t\tnowPopover.opened = false;\n\t\t\t\t\t\t\t\t// Dispatch native DOM event for aria-expanded update in canvasTabBar\n\t\t\t\t\t\t\t\tnowPopover.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent(NOW_POPOVER_OPENED_SET, {\n\t\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\ttriggerEl.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t// Set keyboard mode flag for arrow keys\n\t\t\t\tconst isArrowKey = keyCode === 38 || keyCode === 40;\n\t\t\t\tupdateState({\n\t\t\t\t\thighlightIndex: _highlightIndex,\n\t\t\t\t\tusingKeyboard: isArrowKey ? true : state.usingKeyboard,\n\t\t\t\t});\n\t\t\t};\n\t\t\t_handler();\n\t\t},\n\t},\n\t{\n\t\tevents: ['keydown'],\n\t\teffect({ action }) {\n\t\t\tif (action?.payload?.event?.keyCode === 9) {\n\t\t\t\t// Prevent Tab from scrolling down in overflow\n\t\t\t\taction.preventDefault();\n\t\t\t}\n\t\t},\n\t},\n\t{\n\t\tevents: ['SN_CANVAS_TABS_MENU#MENU_RESET'],\n\t\teffect({ updateState }) {\n\t\t\t// Reset to keyboard mode when popover closes\n\t\t\tupdateState({\n\t\t\t\thighlightIndex: -1,\n\t\t\t\tusingKeyboard: true,\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true,\n\t},\n];\nexport default eventHandlers;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { ControlMenu } from '../control-menu/controlMenu';\nimport styles from './_style.scss';\nimport snCanvasTabsMenuActionHandlers from './sn-canvas-tabs-menu.actions';\nimport snCanvasTabsMenuEventHandlers from './sn-canvas-tabs-menu.events';\n\nconst newMenu = (state, { updateState }) => {\n\tconst { properties: props, highlightIndex, usingKeyboard } = state;\n\tif (!props.menuItems) return;\n\tconst menuItems = props.menuItems.map((m) => {\n\t\treturn { ...m, title: m.label, displayValue: m.label };\n\t});\n\n\tconst handleMouseMove = () => {\n\t\t// Switch to mouse mode on any mouse movement\n\t\tif (usingKeyboard) {\n\t\t\tupdateState({ usingKeyboard: false, highlightIndex: -1 });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`sn-canvas-tabs-menu${usingKeyboard ? ' --keyboard-mode' : ''}`}\n\t\t\trole=\"menu\"\n\t\t\ttabIndex=\"0\"\n\t\t\ton-mousemove={handleMouseMove}\n\t\t\ton-mouseenter={handleMouseMove}\n\t\t>\n\t\t\t<ControlMenu\n\t\t\t\tkey={`menu-${usingKeyboard ? 'kbd' : 'mouse'}`}\n\t\t\t\toptionItems={menuItems}\n\t\t\t\tonItemClick={props.onNewTab}\n\t\t\t\thighlightIndex={highlightIndex}\n\t\t\t\tusingKeyboard={usingKeyboard}\n\t\t\t\t_className=\"sn-canvas-tabs-menu\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-canvas-tabs-menu', {\n\tview: newMenu,\n\tinitialState: {\n\t\thighlightIndex: -1,\n\t\tusingKeyboard: true,\n\t},\n\tproperties: {\n\t\tmenuItems: {\n\t\t\tdefault: [],\n\t\t},\n\t\tonNewTab: {\n\t\t\tdefault: () => {},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t},\n\tstyles,\n\teventHandlers: snCanvasTabsMenuEventHandlers,\n\tactionHandlers: { ...snCanvasTabsMenuActionHandlers },\n});\n","import { actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_RENDERED } = actionTypes;\n\nconst actionHandlers = {\n\t[COMPONENT_RENDERED]: ({ action, updateState }) => {\n\t\tconst { hoistHost } = action.meta;\n\t\tif (!hoistHost) return;\n\t\tconst activeElm = hoistHost.shadowRoot.activeElement;\n\t\tif (activeElm) return;\n\t\tupdateState({ highlightIndex: -1 });\n\t},\n};\nexport default actionHandlers;\n","export const onArrowUp = (currentIndex, optionItems) => {\n\tlet newIndex = -1;\n\tif (currentIndex <= 0) {\n\t\tnewIndex = optionItems.length - 1;\n\t} else {\n\t\tnewIndex = (currentIndex - 1) % optionItems.length;\n\t}\n\n\treturn newIndex;\n};\n\nexport const onArrowDown = (currentIndex, optionItems) => {\n\tlet newIndex = 0;\n\tif (currentIndex === -1 && optionItems.length > 1) {\n\t\tnewIndex = 0;\n\t} else {\n\t\tnewIndex = (currentIndex + 1) % optionItems.length;\n\t}\n\n\treturn newIndex;\n};\n\nconst _handleKeyPressed = (coeffects) => {\n\tlet handler = undefined;\n\tswitch (coeffects?.action?.payload?.event?.keyCode) {\n\t\tcase 38: //ArrowUp\n\t\t\thandler = onArrowUp;\n\t\t\tbreak;\n\t\tcase 40: //ArrowDown\n\t\t\thandler = onArrowDown;\n\t\t\tbreak;\n\t\tcase 13: //Enter\n\t\tcase 32: //Space\n\t\t\tbreak;\n\t\tcase 9: // Tab\n\t\t\t//No action, in order to allow tabbing to the overflow-close-btn element\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\tif (handler) {\n\t\tconst { highlightIndex } = coeffects.state;\n\t\tconst { tabs = [] } = coeffects.properties;\n\t\tconst nextHighlightIndex = handler(highlightIndex, tabs);\n\t\tcoeffects.updateState({\n\t\t\thighlightIndex: nextHighlightIndex,\n\t\t\tisNodeFocused: false,\n\t\t});\n\t}\n};\n\nexport const handleKeyPressed = _handleKeyPressed;\n","import { handleKeyPressed } from './utils';\n\nexport const tabOverflowMenuEventHandlers = [\n\t{\n\t\tevents: ['keydown'],\n\t\teffect(coeffects) {\n\t\t\thandleKeyPressed(coeffects);\n\t\t},\n\t},\n];\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-icon';\nimport styles from './_tabOverflowStyles.scss';\nimport {\n\thandlePopoverInsert,\n\thandlePopoverDestroy,\n\ttooltipPositions,\n} from '../../utils';\nimport tabOverflowMenuActionHandlers from './tab-overflow-menu.effects';\nimport { tabOverflowMenuEventHandlers } from './tab-overflow-menu.eventHandlers';\nimport { TabOverflow } from './tabOverflow';\nimport buildEventHandlersForTooltip from '../../../../../utils/getEventbindingsForTooltips';\n\n/**\n * Render the compoent that holds the overflow tabs\n *\n * @param {Array<Object>} tabs - an array of tab objects\n * @param {number} numVisibleTabs - the number of visible tabs\n * @param {function} dispatch - the dispatch function for the component\n * @param {function} onItemClick - the function to call when a menu item is clicked\n * @param {function} onCloseTab - the function to call when a tab is closed\n * @return {JSX.Element} - the rendered component\n */\nconst renderTabOverflow = (\n\ttabs,\n\tnumVisibleTabs,\n\tdispatch,\n\tonItemClick,\n\tonCloseTab,\n) => {\n\tconst overflowLabel = t('Overflow Tabs');\n\tlet overflowPopover;\n\treturn (\n\t\t<now-popover\n\t\t\thide-tail\n\t\t\tpositions={[\n\t\t\t\t{ target: 'bottom-start', content: 'top-start' },\n\t\t\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t\t]}\n\t\t\tmanage-opened\n\t\t\tref={(elm) => (overflowPopover = elm)}\n\t\t\thook-insert={handlePopoverInsert}\n\t\t\thook-destroy={handlePopoverDestroy}\n\t\t>\n\t\t\t<button\n\t\t\t\tslot=\"trigger\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName=\"sn-chrome-tabs-btn sn-chrome-tabs-btn--overflow\"\n\t\t\t\tid=\"chrome-tab-overflow-button\"\n\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\taria-expanded=\"false\"\n\t\t\t\taria-label={overflowLabel}\n\t\t\t\tdata-tooltip={overflowLabel}\n\t\t\t\tdata-tooltipposition={tooltipPositions}\n\t\t\t\t{...buildEventHandlersForTooltip(dispatch)}\n\t\t\t>\n\t\t\t\t<span className=\"sn-chrome-tabs-btn__inner\">\n\t\t\t\t\tMore ({tabs.length})\n\t\t\t\t<\/span>\n\t\t\t\t<now-icon icon=\"chevron-down-outline\" />\n\t\t\t<\/button>\n\t\t\t<tab-overflow-menu\n\t\t\t\ttabs={tabs}\n\t\t\t\tonItemClick={(tab, e) => {\n\t\t\t\t\toverflowPopover.opened = false;\n\t\t\t\t\tonItemClick(tab, numVisibleTabs, e);\n\t\t\t\t}}\n\t\t\t\tonItemClose={(tab) => {\n\t\t\t\t\t//As the focus shifts to next opened tab in tab bar, close the overflow popover\n\t\t\t\t\toverflowPopover.opened = false;\n\t\t\t\t\tonCloseTab(tab.tab_id);\n\t\t\t\t}}\n\t\t\t\tslot=\"content\"\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n\nconst view = (state, { updateState }) => {\n\tconst { onItemClick, onItemClose, tabs } = state.properties;\n\tconst { highlightIndex, isNodeFocused } = state;\n\n\tconst onNodeFocus = (index) => {\n\t\tif (index >= 0 && index < tabs.length)\n\t\t\tupdateState({\n\t\t\t\thighlightIndex: index,\n\t\t\t\tisNodeFocused: true,\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<div className=\"sn-chrome-popover-content\" tabindex=\"0\" role=\"menu\">\n\t\t\t<TabOverflow\n\t\t\t\tslot=\"content\"\n\t\t\t\toptionItems={tabs}\n\t\t\t\thighlightIndex={highlightIndex}\n\t\t\t\tonItemClick={onItemClick}\n\t\t\t\tonItemClose={onItemClose}\n\t\t\t\tonNodeFocus={onNodeFocus}\n\t\t\t\tisNodeFocused={isNodeFocused}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('tab-overflow-menu', {\n\tview,\n\tstyles,\n\tinitialState: {\n\t\thighlightIndex: -1,\n\t\tisNodeFocused: false,\n\t},\n\tproperties: {\n\t\ttabs: {\n\t\t\tdefault: [],\n\t\t},\n\t\tonItemClick: { default: () => {} },\n\t\tonItemClose: { default: () => {} },\n\t},\n\tactionHandlers: { ...tabOverflowMenuActionHandlers },\n\teventHandlers: tabOverflowMenuEventHandlers,\n});\n\nexport { renderTabOverflow };\n","// nds-scanner-disable-file native-element\n\nimport '@servicenow/now-icon';\nimport '@servicenow/now-badge';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-modal';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-loader';\n\nimport CanvasTab from './subcomponents/canvas-tab';\nimport * as chromeTabsUtils from './utils';\nimport './subcomponents/sn-canvas-flyout-menu';\nimport './subcomponents/sn-canvas-tabs-menu';\nimport { renderTabOverflow } from './subcomponents/tab-overflow';\nimport {\n\tMAIN_TAB_NEW_ALERT_CLEARED,\n\tTABS_CLOSE_CONFIRMED,\n\tTABS_CLOSE_CANCELLED,\n\tDND_OPERATION,\n\tTABS_LIST_ARIA_LABEL,\n\tTABS_REARRANGED,\n} from '../../../constants/constants';\nimport {\n\ttooltipPositions,\n\thandlePopoverDestroy,\n\thandlePopoverInsert,\n} from './utils';\nimport buildEventHandlersForTooltip from '../../../utils/getEventbindingsForTooltips';\n\n/* schema : {\n\tdispatchFn: function, // Seismic dispatch function\n\tlevel: 0, //1 //2\n\tfocusedTabIndex: -1,\n\tselectedTabId: {},\n\tparentTabId: {},\n\ttabList: [],\n\ttype: {},\n\tnewMenu: {},\n\tcloseMenu: {},\n\tonNewTab: {},\n\tonClickTab: {},\n\tonCloseTab: {},\n\tonMenuClose: {},\n\ttabsMaxWidth: {}\n}*/\nexport default (props) => {\n\tlet showOverflowMenu = false;\n\tlet overflowDisabled = chromeTabsUtils.getOverflowDisabled(props.tabList);\n\tlet hasOverflowUpdate = false;\n\tlet badgeCount = 0;\n\t/**\n\t * @type {{dndState: import('./utils').TabDragState}}\n\t */\n\tconst {\n\t\ttabsMaxOpen,\n\t\tstopperPrompt,\n\t\ttabsToCloseQueue,\n\t\ttabList,\n\t\tparentTabId,\n\t\tparentTabTitle,\n\t\ttype,\n\t\tonCloseTab,\n\t\tselectedTabId,\n\t\tonClickTab,\n\t\tnewMenu,\n\t\tonNewTab,\n\t\tfocusedTabIndex,\n\t\tonShowModal,\n\t\tdir,\n\t\tdndState,\n\t\tdropTime = 0,\n\t\tclosedTabsMenu,\n\t\tisShowHiddenControlsEnabled,\n\t\tshowInteractionLoader\n\t} = props;\n\tconst { tabId: draggingTabId = '', status = DND_OPERATION.completed } =\n\t\tdndState ? dndState : {};\n\tconst visibleAndOverflowList = chromeTabsUtils.buildVisibleAndOverflowList(\n\t\ttabList,\n\t\tprops.tabsMaxWidth,\n\t\tselectedTabId,\n\t);\n\t/**\n\t * @type {{visibleList: Array<{canClose:boolean, contentKey: string,\n\t * icon: string, tab_id: string, isPrimaryTab: boolean, style: Record<string, any>}>}}\n\t */\n\tconst { visibleList, overflowList } = visibleAndOverflowList;\n\tconst _transformedMenuItems = chromeTabsUtils.transformCloseMenuItems(\n\t\tprops.closeMenu,\n\t\ttabList,\n\t\tselectedTabId,\n\t);\n\tconst closeMenuItems = _transformedMenuItems.concat(closedTabsMenu);\n\n\tlet _meatBallPopOverRef = undefined,\n\t\t_newMenuPopOverRef = undefined;\n\tconst _hidePopover = (type) => {\n\t\tif (type === 'newMenu') {\n\t\t\tif (!_newMenuPopOverRef) return;\n\t\t\t_newMenuPopOverRef.opened = false;\n\t\t} else {\n\t\t\tif (!_meatBallPopOverRef) return;\n\t\t\t_meatBallPopOverRef.opened = false;\n\t\t}\n\t};\n\n\tconst _propagateTabFocusUpdate = (level, tabIndex) => {\n\t\tprops.dispatchFn('CANVAS_TAB_BAR#FOCUSED_TAB_SET', {\n\t\t\ttabIndex,\n\t\t\tlevel,\n\t\t});\n\t};\n\n\tconst _onClickTab = (tab_id, index, e) => {\n\t\tonClickTab(tab_id, e);\n\t\t_propagateTabFocusUpdate(props.level, index);\n\t\t_hidePopover();\n\t};\n\n\tconst _onClickMenuItem = (menuItem, idx, e) => {\n\t\t_hidePopover();\n\t\tconst { onMenuClose, onClickTab } = props;\n\t\tif (menuItem.itemType === 'menu') {\n\t\t\tonMenuClose({\n\t\t\t\toperation: menuItem.name,\n\t\t\t\tselectedTabId,\n\t\t\t\ttype: props.type,\n\t\t\t\tid: menuItem.id,\n\t\t\t});\n\t\t} else {\n\t\t\tconst { tab_id } = menuItem;\n\t\t\tonClickTab(tab_id, e);\n\t\t}\n\t};\n\n\tconst _onNewTab = (menuItem) => {\n\t\tonNewTab(menuItem);\n\t\t_hidePopover('newMenu');\n\t};\n\n\tconst _renderMenuPopover = (menuItems, onNewTab) => {\n\t\tconst tooltipContent = t('Add');\n\t\tconst ariaLabel = tooltipContent;\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\thide-tail\n\t\t\t\tpositions={[{ target: 'bottom-start', content: 'top-start' }]}\n\t\t\t\tmanage-opened\n\t\t\t\tref={(_elm) => (_newMenuPopOverRef = _elm)}\n\t\t\t\thook-insert={handlePopoverInsert}\n\t\t\t\thook-destroy={handlePopoverDestroy}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName=\"sn-chrome-tabs-btn\"\n\t\t\t\t\tid=\"chrome-add-new-button\"\n\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\tdata-tooltip={tooltipContent}\n\t\t\t\t\tdata-tooltipposition={tooltipPositions}\n\t\t\t\t\t{...buildEventHandlersForTooltip(props.dispatchFn)}\n\t\t\t\t>\n\t\t\t\t\t<now-icon icon=\"plus-outline\" />\n\t\t\t\t<\/button>\n\t\t\t\t<sn-canvas-tabs-menu\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\tmenuItems={menuItems}\n\t\t\t\t\tonNewTab={onNewTab}\n\t\t\t\t/>\n\t\t\t<\/now-popover>\n\t\t);\n\t};\n\n\tconst _renderNewMenu = (newMenu, onNewTab, type) => {\n\t\tif (!newMenu || !Array.isArray(newMenu) || newMenu.length === 0)\n\t\t\treturn null;\n\t\tif (type !== 'primary') return null;\n\n\t\tlet classname = 'sn-chrome-tabs-btn';\n\t\tconst buttonId = 'chrome-add-new-button';\n\t\tconst tooltipContent = t('Add {0}', newMenu[0].label);\n\t\tconst ariaLabel = tooltipContent;\n\t\tif (newMenu.length > 1) return _renderMenuPopover(newMenu, onNewTab);\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={classname}\n\t\t\t\ton-click={() => onNewTab(newMenu[0])}\n\t\t\t\tid={buttonId}\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\thook-insert={({ elm }) =>\n\t\t\t\t\tchromeTabsUtils.insertTooltipEl(elm, tooltipContent)\n\t\t\t\t}\n\t\t\t\thook-destroy={({ elm }) => chromeTabsUtils.removeTooltipEl(elm)}\n\t\t\t>\n\t\t\t\t<now-icon component-id={buttonId} icon=\"plus-outline\" />\n\t\t\t<\/button>\n\t\t);\n\t};\n\n\t/** renderer for modal used when the user requests a new tab that goes beyond configured limit */\n\tconst _renderTabOpenAlert = (tabsMaxOpen, stopperPrompt) => {\n\t\tconst openDialog = stopperPrompt && stopperPrompt.request == true;\n\t\tif (!openDialog) return null;\n\n\t\tconst title = stopperPrompt\n\t\t\t? stopperPrompt.title\n\t\t\t: t('Max Tab Reached');\n\t\tconst warningMessage = stopperPrompt\n\t\t\t? stopperPrompt.message\n\t\t\t: t(\n\t\t\t\t\t'You have reached the max number of tabs you can have open at one time. Close tabs in order to open more.',\n\t\t\t\t);\n\t\tconst buttonTitle = stopperPrompt\n\t\t\t? stopperPrompt.buttonTitle\n\t\t\t: t('Dismiss');\n\t\treturn (\n\t\t\t<now-modal\n\t\t\t\topened={openDialog}\n\t\t\t\tsize=\"sm\"\n\t\t\t\theader-label={title}\n\t\t\t\tcontent={warningMessage}\n\t\t\t\tmanageOpened\n\t\t\t\tfooter-actions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tlabel: buttonTitle,\n\t\t\t\t\t\tclickActionType: MAIN_TAB_NEW_ALERT_CLEARED,\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t/>\n\t\t);\n\t};\n\n\t/** renderer for modal used when a user requests to close a dirty tab */\n\tconst _renderTabCloseConfirmation = (tabsToCloseQueue) => {\n\t\tlet openDialog = false;\n\n\t\tif (\n\t\t\ttabsToCloseQueue &&\n\t\t\ttabsToCloseQueue.tabList &&\n\t\t\ttabsToCloseQueue.tabList[0]\n\t\t) {\n\t\t\tconst firstTabInQueue = tabsToCloseQueue.tabList[0];\n\t\t\t// check if we need to suppress the dirty dialog\n\t\t\tif (firstTabInQueue.skipConfirmation === true) return;\n\n\t\t\topenDialog =\n\t\t\t\tfirstTabInQueue.isDirty && !firstTabInQueue.dirtyModalId;\n\n\t\t\tconst showCustomConfirmation =\n\t\t\t\tfirstTabInQueue.isDirty &&\n\t\t\t\tfirstTabInQueue.dirtyModalId &&\n\t\t\t\tfirstTabInQueue.confirmationStatus === 'pending';\n\t\t\tconst showCustomWarning =\n\t\t\t\tfirstTabInQueue.hasWarning &&\n\t\t\t\tfirstTabInQueue.warningModalId &&\n\t\t\t\tfirstTabInQueue.confirmationStatus === 'pending';\n\n\t\t\tif (showCustomConfirmation) {\n\t\t\t\tonShowModal(\n\t\t\t\t\tfirstTabInQueue.dirtyModalId,\n\t\t\t\t\ttrue,\n\t\t\t\t\tfirstTabInQueue.screenNowId,\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t} else if (!openDialog && showCustomWarning) {\n\t\t\t\tonShowModal(\n\t\t\t\t\tfirstTabInQueue.warningModalId,\n\t\t\t\t\ttrue,\n\t\t\t\t\tfirstTabInQueue.screenNowId,\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (!openDialog) return null;\n\n\t\tconst title = t('Close Tab');\n\t\tconst warningMessage = t(\n\t\t\t'Closing this tab will cause your changes to be lost. Do you want to continue?',\n\t\t);\n\t\treturn (\n\t\t\t<now-modal\n\t\t\t\topened={openDialog}\n\t\t\t\tsize=\"sm\"\n\t\t\t\theader-label={title}\n\t\t\t\tcontent={warningMessage}\n\t\t\t\tmanageOpened\n\t\t\t\tfooter-actions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tlabel: t('Continue'),\n\t\t\t\t\t\ttooltipContent: t('Continue'),\n\t\t\t\t\t\tclickActionType: TABS_CLOSE_CONFIRMED,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\t\ttooltipContent: t('Cancel'),\n\t\t\t\t\t\tclickActionType: TABS_CLOSE_CANCELLED,\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst closeMenuLabel = t('More Options');\n\tconst closeMenuAriaLabel =\n\t\tparentTabTitle !== null\n\t\t\t? t('More options for tabs related to {0}', parentTabTitle)\n\t\t\t: closeMenuLabel;\n\n\tconst disableTrigger = overflowDisabled && closedTabsMenu.disabled;\n\tconst closeMenuTooltipContent = disableTrigger ? null : closeMenuLabel;\n\n\tconst overflowClassNames = chromeTabsUtils.buildOverflowStyle(\n\t\ttype,\n\t\tdisableTrigger,\n\t\tbadgeCount,\n\t\thasOverflowUpdate,\n\t);\n\tconst overflowButtonId = `ellipsis-h ${type}`;\n\n\tconst _renderCloseMenu = (_closeMenuItems) => (\n\t\t<now-popover\n\t\t\thide-tail\n\t\t\tpositions={[\n\t\t\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t\t\t{ target: 'bottom-center', content: 'top-end' },\n\t\t\t\t{ target: 'bottom-start', content: 'top-end' },\n\t\t\t]}\n\t\t\tmanage-opened\n\t\t\tref={(_elm) => (_meatBallPopOverRef = _elm)}\n\t\t\thook-insert={handlePopoverInsert}\n\t\t\thook-update={({ elm }) => {\n\t\t\t\tsetTimeout(() => elm && elm.refit(), 200);\n\t\t\t}}\n\t\t\thook-destroy={handlePopoverDestroy}\n\t\t>\n\t\t\t<button\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tdisabled={disableTrigger}\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={overflowClassNames}\n\t\t\t\tid={overflowButtonId}\n\t\t\t\taria-label={closeMenuAriaLabel}\n\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\taria-expanded=\"false\"\n\t\t\t\taria-controls={showOverflowMenu ? 'popover-body-2' : null}\n\t\t\t\tdata-tooltip={closeMenuTooltipContent}\n\t\t\t\tdata-tooltipposition={tooltipPositions}\n\t\t\t\t{...buildEventHandlersForTooltip(props.dispatchFn)}\n\t\t\t>\n\t\t\t\t<now-icon\n\t\t\t\t\tcomponent-id={overflowButtonId}\n\t\t\t\t\ticon={'ellipsis-h-fill'}\n\t\t\t\t/>\n\t\t\t<\/button>\n\t\t\t<sn-canvas-flyout-menu\n\t\t\t\tslot=\"content\"\n\t\t\t\tmenuItems={_closeMenuItems}\n\t\t\t\tonItemClick={_onClickMenuItem}\n\t\t\t\thidePopover={_hidePopover}\n\t\t\t\tdefer\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n\n\tconst _getAriaOwns = (_visibleList) => {\n\t\treturn _visibleList.map((t) => t.tab_id).join(' ');\n\t};\n\n\tconst _renderTabs = (\n\t\t_visibleList,\n\t\t_type,\n\t\t_selectedTabId,\n\t\t_focusedTabIndex,\n\t) => (\n\t\t<ul\n\t\t\trole=\"tablist\"\n\t\t\tclassName=\"sn-chrome-tabs-group\"\n\t\t\taria-label={TABS_LIST_ARIA_LABEL}\n\t\t\taria-owns={_getAriaOwns(_visibleList)}\n\t\t>\n\t\t\t{_visibleList.map((t, i) => {\n\t\t\t\tconst { tab_id } = t;\n\t\t\t\tconst key = parentTabId ? `${parentTabId}_${tab_id}` : tab_id;\n\t\t\t\tconst isHighlighted =\n\t\t\t\t\t_focusedTabIndex === i ||\n\t\t\t\t\t(_focusedTabIndex == -1\n\t\t\t\t\t\t? tab_id === _selectedTabId\n\t\t\t\t\t\t: false);\n\t\t\t\treturn (\n\t\t\t\t\t<CanvasTab\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\tcomponent-id={tab_id}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\ttab={t}\n\t\t\t\t\t\ttabType={type}\n\t\t\t\t\t\tisSelected={tab_id === _selectedTabId}\n\t\t\t\t\t\tisHighlighted={isHighlighted}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tonCloseTab={onCloseTab}\n\t\t\t\t\t\tonClickTab={_onClickTab}\n\t\t\t\t\t\tonKeyUp={onClickTab}\n\t\t\t\t\t\tdraggingTabId={draggingTabId}\n\t\t\t\t\t\tdropTime={dropTime}\n\t\t\t\t\t\tdndStatus={status}\n\t\t\t\t\t\tdispatch={props.dispatchFn}\n\t\t\t\t\t\tisShowHiddenControlsEnabled={\n\t\t\t\t\t\t\tisShowHiddenControlsEnabled\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/ul>\n\t);\n\n\t/**\n\t * Update the visible list and overflow list when a tab is moved\n\t * from the visible list to the overflow list\n\t * @param {Object} overflowTab - tab that is being moved\n\t * @param {Number} index - index of the tab in the overflow list\n\t * @param {Object} evt - event that triggered the move\n\t */\n\tconst updateVisibleList = (overflowTab, index, evt) => {\n\t\tconst visibleListLastIndex = visibleList.length - 1;\n\n\t\tconst overflowTabIndex = overflowList.findIndex(\n\t\t\t(tab) => tab.tab_id === overflowTab.tab_id,\n\t\t);\n\n\t\t[visibleList[visibleListLastIndex], overflowList[overflowTabIndex]] = [\n\t\t\toverflowTab,\n\t\t\tvisibleList[visibleListLastIndex],\n\t\t];\n\n\t\t// couldn't find the tab that is being moved\n\t\tif (overflowTabIndex === -1) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newTabsData = [...visibleList, ...overflowList];\n\t\tconst newTabList = newTabsData.map((tab) => tab.tab_id);\n\n\t\tprops.dispatchFn(TABS_REARRANGED, {\n\t\t\tparentTabId: 'root',\n\t\t\tnewTabList,\n\t\t});\n\t\t_onClickTab(overflowTab.tab_id, index, evt);\n\t};\n\n\treturn (\n\t\t<div className={'sn-chrome-tabs chromeTabs -' + type}>\n\t\t\t<div className=\"sn-chrome-tabs-content tab-list\">\n\t\t\t\t{_renderTabs(visibleList, type, selectedTabId, focusedTabIndex)}\n\t\t\t\t{overflowList.length > 0 &&\n\t\t\t\t\trenderTabOverflow(\n\t\t\t\t\t\toverflowList,\n\t\t\t\t\t\tvisibleList.length - 1,\n\t\t\t\t\t\tprops.dispatchFn,\n\t\t\t\t\t\tupdateVisibleList,\n\t\t\t\t\t\tonCloseTab,\n\t\t\t\t\t)}\n\t\t\t\t{_renderNewMenu(newMenu, _onNewTab, type)}\n\t\t\t\t{_renderTabOpenAlert(tabsMaxOpen, stopperPrompt)}\n\t\t\t\t{_renderTabCloseConfirmation(tabsToCloseQueue)}\n\t\t\t<\/div>\n\t\t\t<div className=\"sn-chrome-tabs-content close-option\">\n\t\t\t\t{_renderCloseMenu(closeMenuItems)}\n\t\t\t<\/div>\n\t\t\t{showInteractionLoader && (\n\t\t\t\t<now-loader\n\t\t\t\t\tclassName=\"sn-chrome-tabs-loader-overlay\"\n\t\t\t\t\tlabel={t('Loading...')}\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__;","/* DEF0780743 : In the partial upgrade scenario, it's possible that the plugin, @devsnc/behavior-ui-interaction is not installed.\nTo safely handle this scenario, we will use fallback actions and behavior. */\nimport * as uiInteractionUtils from '@devsnc/behavior-ui-interaction';\n\nlet uiInteractionBehavior;\nlet uiInteractionActions;\n\nif (\n\tuiInteractionUtils?.uiInteractionBehavior &&\n\tuiInteractionUtils?.uiInteractionActions\n) {\n\t({ uiInteractionBehavior, uiInteractionActions } = uiInteractionUtils);\n} else {\n\tconsole.warn(\n\t\t'[sn-canvas-tabs] @devsnc/behavior-ui-interaction not available. UI interactions will fail to work properly.',\n\t);\n\n\tuiInteractionBehavior = {};\n\tuiInteractionActions = {\n\t\tUI_INTERACTION_LOAD_STARTED: '__FALLBACK_UI_INTERACTION#LOAD_STARTED',\n\t\tUI_INTERACTION_LOAD_SUCCEEDED:\n\t\t\t'__FALLBACK_UI_INTERACTION#LOAD_SUCCEEDED',\n\t\tUI_INTERACTION_LOAD_FAILED: '__FALLBACK_UI_INTERACTION#LOAD_FAILED',\n\t\tUI_INTERACTION_START_REQUESTED:\n\t\t\t'__FALLBACK_UI_INTERACTION#START_REQUESTED',\n\t};\n}\n\nexport { uiInteractionBehavior, uiInteractionActions };\n","import { t } from 'sn-translate';\nimport '@servicenow/now-button';\nimport { a11yPreferences, getUserPrefContext } from 'sn-ux-core';\nimport CanvasTabBar from '../internal/canvas-tabbar';\nimport { getComponentById } from '@servicenow/ui-core';\nimport {\n\tMAIN_TAB_CLICKED,\n\tMAIN_TAB_CLOSE_CLICKED,\n\tNAV_ITEM_SELECTED,\n\tCLOSE_TAB_MENU_ITEM,\n\tSELECT_TAB,\n\tSUB_TAB_CLOSE_CLICKED,\n\tMODAL_SELECTED,\n\tCANVAS_NEW_TAB_MARK,\n\tREOPEN_CLOSED_TAB,\n\tDND_OPERATION,\n\tDOUBLE_CLICK_THRESHOLD,\n\tCUSTOM_DOUBLE_CLICK,\n\tACTIVE_DRAG_EVENTS,\n\tDRAG_TERMINATION_EVENTS,\n} from '../../constants/constants';\nimport { uiInteractionActions } from '../../utils/behavior-ui-interaction-fallback';\n\nlet clickTimer = null;\nlet lastClickTime = 0;\n\nexport const canvasTabs = (state, { dispatch, updateState }) => {\n\tconst {\n\t\ttabsLevel,\n\t\ttabsData,\n\t\ttabsToCloseQueue,\n\t\tstopperPrompt,\n\t\ttabConfig = {},\n\t\tdir,\n\t} = state.properties;\n\tconst { closedTabsMenu } = state;\n\t/**\n\t * @type {{dndState: import('../internal/canvas-tabbar/utils').TabDragState}}\n\t */\n\tconst { dndState, showSubTabsHideAnimation } = state;\n\tlet dropTime = state.dropTime || 0;\n\n\tif (dndState) {\n\t\tconst tabListChanged =\n\t\t\ttabsData[dndState.parentTabId]?.tabList !== dndState.tabList;\n\t\tconst isDragging = ACTIVE_DRAG_EVENTS.includes(dndState.status);\n\t\tconst dragCompleted = DRAG_TERMINATION_EVENTS.includes(dndState.status);\n\t\t// Don't bailout if tabList changes during active drag (viewport loading)\n\t\t// Only bailout if: drag completed OR tabList changed when drag is not active\n\t\tconst shouldBailout = dragCompleted || (tabListChanged && !isDragging);\n\n\t\t// tabList changed. bailout all dnd logic. this can happen\n\t\t// 1. because of \"TABS_REARRANGED\" event\n\t\t// 2. user has done the dnd operation.\n\t\tif (shouldBailout) {\n\t\t\tupdateState({ dndState: null, dropTime: Date.now() });\n\t\t\tstate.dndState = { ...dndState, status: DND_OPERATION.completed };\n\t\t\tdropTime = Date.now();\n\t\t}\n\t}\n\tif (!tabsData || !tabConfig) return null;\n\n\tconst { newTabMenu: newMenu } = tabConfig;\n\n\tconst { closeMenu } = state.menuConf;\n\n\tconst _onDblClickTab = (event) => {\n\t\tif (!event) return;\n\n\t\tconst mouseEvent = new MouseEvent('dblclick', {\n\t\t\tclientX: event.clientX,\n\t\t\tclientY: event.clientY,\n\t\t});\n\n\t\t// Preserve the original composedPath for downstream logic\n\t\tmouseEvent.customComposedPath = event.composedPath();\n\t\tdispatch(CUSTOM_DOUBLE_CLICK, { event: mouseEvent });\n\t};\n\n\tconst handleDelayedClick = (\n\t\tevent,\n\t\tsingleClickAction,\n\t\tsingleClickPayload,\n\t) => {\n\t\tconst now = Date.now();\n\t\tconst timeSinceLastClick = now - lastClickTime;\n\t\tlastClickTime = now;\n\n\t\tif (timeSinceLastClick <= DOUBLE_CLICK_THRESHOLD) {\n\t\t\tif (clickTimer) {\n\t\t\t\tclearTimeout(clickTimer);\n\t\t\t\tclickTimer = null;\n\t\t\t}\n\t\t\t_onDblClickTab(event);\n\t\t} else {\n\t\t\tclickTimer = setTimeout(() => {\n\t\t\t\tdispatch(singleClickAction, singleClickPayload);\n\t\t\t}, DOUBLE_CLICK_THRESHOLD);\n\t\t}\n\t};\n\n\tconst _onClickTab = (tab_id, event) => {\n\t\thandleDelayedClick(event, MAIN_TAB_CLICKED, { tab_id });\n\t};\n\n\t/** onCloseHandler sets a timeout to dispatch MAIN_TAB_CLOSE_CLICKED.\n\t *  this async processing allows content to handle internal events\n\t *  use case where this matters:  user typing into a text field in a record, where the\n\t *  dirty state is only propagated up to tabs when the text field loses focus\n\t */\n\tconst _onCloseTab = (tab_id) => {\n\t\tconst _onCloseTabHandler = () => {\n\t\t\tdispatch(MAIN_TAB_CLOSE_CLICKED, {\n\t\t\t\toperation: CLOSE_TAB_MENU_ITEM,\n\t\t\t\ttab_id,\n\t\t\t});\n\t\t};\n\t\twindow.setTimeout(_onCloseTabHandler, 100);\n\t};\n\n\tconst _onClickSubTabs = (tab_id, event) => {\n\t\thandleDelayedClick(event, SELECT_TAB, { tab_ids: [...[], tab_id] });\n\t};\n\n\tconst _onCloseSubTab = (tab_id) => {\n\t\tconst _onCloseTabHandler = () => {\n\t\t\tdispatch(SUB_TAB_CLOSE_CLICKED, {\n\t\t\t\ttab_id,\n\t\t\t});\n\t\t};\n\t\twindow.setTimeout(_onCloseTabHandler, 100);\n\t};\n\n\tconst _onClickCloseMenuItem = ({ operation, selectedTabId, type, id }) => {\n\t\tif (operation === REOPEN_CLOSED_TAB) {\n\t\t\tdispatch(REOPEN_CLOSED_TAB, { id });\n\t\t\treturn;\n\t\t}\n\n\t\tif (type === 'primary') {\n\t\t\tdispatch(MAIN_TAB_CLOSE_CLICKED, {\n\t\t\t\toperation,\n\t\t\t\ttab_id: selectedTabId,\n\t\t\t\tclosedFromMenu: true,\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(SUB_TAB_CLOSE_CLICKED, {\n\t\t\t\toperation,\n\t\t\t\ttab_id: selectedTabId,\n\t\t\t\tclosedFromMenu: true,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst _onClickNewMenuItem = (menuItem) => {\n\t\tconst { routeInfo, interactionInfo = null } = menuItem;\n\t\tif (routeInfo) {\n\t\t\tlet _routeInfo = { ...routeInfo };\n\t\t\tdispatch(CANVAS_NEW_TAB_MARK, { menuItem, tabsData });\n\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t..._routeInfo,\n\t\t\t\ttitle: menuItem.title,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (interactionInfo) {\n\t\t\tdispatch(uiInteractionActions.UI_INTERACTION_START_REQUESTED, {\n\t\t\t\t...interactionInfo,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst _onShowModal = (modalID, showModal, screenNowId) => {\n\t\tconst screenRef = getComponentById(screenNowId);\n\t\tdispatch(MODAL_SELECTED, {\n\t\t\tmodalId: modalID,\n\t\t\tshowModal: showModal,\n\t\t\tscreenRef: screenRef,\n\t\t});\n\t};\n\n\tconst _renderBackButton = (drillDowns) => {\n\t\treturn drillDowns && drillDowns.length > 0 ? (\n\t\t\t<now-button-bare\n\t\t\t\tclassName=\"sn-primary-back-button\"\n\t\t\t\ticonStart=\"arrow-left-outline\"\n\t\t\t\tlabel={t('Back')}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tappend-to-payload={{ drillDowns }}\n\t\t\t/>\n\t\t) : null;\n\t};\n\n\tconst _getDrillDowns = (tabsData, tabId) => {\n\t\treturn tabsData[tabId] && tabsData[tabId].selectedContent\n\t\t\t? tabsData[tabId].selectedContent.drillDowns\n\t\t\t: null;\n\t};\n\n\tconst _renderTabBars = (tabsData) => {\n\t\tif (!tabsData) return;\n\t\tconst showHiddenControls = getUserPrefContext(\n\t\t\ta11yPreferences.GLIDE_UI_ACCESSIBILITY_SHOW_HIDDEN_CONTROLS,\n\t\t);\n\n\t\tlet canvasTabBars = [];\n\n\t\tlet currNode = tabsData.root;\n\t\tlet depth = 0;\n\n\t\tlet _type = 'primary';\n\t\tlet _className = 'sn-canvas-tabs-container';\n\t\tlet onClickTab = _onClickTab;\n\t\tlet onCloseTab = _onCloseTab;\n\n\t\twhile (currNode) {\n\t\t\tlet currTabList = currNode.tabList.map(\n\t\t\t\t(tab_id) => tabsData[tab_id],\n\t\t\t);\n\t\t\tlet currSelectedTabId = currNode.selectedTabId;\n\n\t\t\tif (\n\t\t\t\tcurrSelectedTabId == '-1' ||\n\t\t\t\t!currTabList ||\n\t\t\t\tcurrTabList.length == 0\n\t\t\t)\n\t\t\t\tbreak;\n\n\t\t\tif (depth > 0) {\n\t\t\t\t_type = 'default';\n\t\t\t\t_className = 'sn-canvas-sub-tabs-container';\n\t\t\t\tonClickTab = _onClickSubTabs;\n\t\t\t\tonCloseTab = _onCloseSubTab;\n\t\t\t}\n\n\t\t\tconst drillDowns = _getDrillDowns(tabsData, currSelectedTabId);\n\t\t\tconst selectedPrimaryTabId = tabsData.root.selectedTabId;\n\t\t\tconst subTabs = Object.values(tabsData).filter(\n\t\t\t\t(tab) => tab.parentTabId === selectedPrimaryTabId,\n\t\t\t);\n\t\t\tconst isSubTabs = tabsLevel === 2 || tabsLevel === '2';\n\t\t\tconst hideDetailsTab =\n\t\t\t\tisSubTabs && subTabs.length === 1 && subTabs[0].isDetailsTab;\n\t\t\tif (isSubTabs && hideDetailsTab) {\n\t\t\t\t/*\n\t\t\t\t * When there are subTabs and the only one sub tab is a details tab,\n\t\t\t\t * we can break the loop and not render the details tab.\n\t\t\t\t */\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst parentTabId = tabsData[currSelectedTabId]?.parentTabId;\n\t\t\tconst parentTabTitle =\n\t\t\t\tparentTabId !== 'root' ? tabsData[parentTabId].title : null;\n\n\t\t\tcanvasTabBars.push(\n\t\t\t\t<nav\n\t\t\t\t\tclassName={`${_className} ${showSubTabsHideAnimation && 'subTabsHideAnimation'}`}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\ttabsLevel == 1 || tabsLevel == '1'\n\t\t\t\t\t\t\t? t('Tabs')\n\t\t\t\t\t\t\t: t('Sub Tabs')\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<CanvasTabBar\n\t\t\t\t\t\tlevel={depth + 1}\n\t\t\t\t\t\tfocusedTabIndex={state.focusedTabIndex[depth + 1]}\n\t\t\t\t\t\tdispatchFn={dispatch}\n\t\t\t\t\t\ttype={_type}\n\t\t\t\t\t\ttabsMaxWidth={state.maxWidth}\n\t\t\t\t\t\ttabsMaxOpen={state.tabsMaxOpen}\n\t\t\t\t\t\tstopperPrompt={stopperPrompt}\n\t\t\t\t\t\ttabsToCloseQueue={tabsToCloseQueue}\n\t\t\t\t\t\tselectedTabId={currSelectedTabId}\n\t\t\t\t\t\ttabList={currTabList}\n\t\t\t\t\t\tnewMenu={newMenu}\n\t\t\t\t\t\tcloseMenu={closeMenu}\n\t\t\t\t\t\tclosedTabsMenu={closedTabsMenu}\n\t\t\t\t\t\tonClickTab={onClickTab}\n\t\t\t\t\t\tonCloseTab={onCloseTab}\n\t\t\t\t\t\tonNewTab={_onClickNewMenuItem}\n\t\t\t\t\t\tonMenuClose={_onClickCloseMenuItem}\n\t\t\t\t\t\tonShowModal={_onShowModal}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tdndState={state.dndState}\n\t\t\t\t\t\tdropTime={dropTime}\n\t\t\t\t\t\tparentTabTitle={parentTabTitle}\n\t\t\t\t\t\tisShowHiddenControlsEnabled={\n\t\t\t\t\t\t\tstate.context?.[showHiddenControls]\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshowInteractionLoader={state.showInteractionLoader}\n\t\t\t\t\t/>\n\t\t\t\t\t{_renderBackButton(drillDowns)}\n\t\t\t\t<\/nav>,\n\t\t\t);\n\t\t\tif (tabsLevel == 1 || tabsLevel == '1') break;\n\n\t\t\tcurrNode = tabsData[currSelectedTabId];\n\t\t\tdepth++;\n\t\t}\n\t\tif (tabsLevel == 2 || tabsLevel == '2') canvasTabBars.shift();\n\n\t\treturn canvasTabBars;\n\t};\n\n\treturn _renderTabBars(tabsData);\n};\n","import isEmpty from 'lodash/isEmpty';\nimport debounce from 'lodash/debounce';\n\nlet _funcs = {};\n\nconst runFuncs = debounce(() => {\n\tObject.values(_funcs).forEach((fn) => fn());\n}, 500);\n\nexport const GlobalResizeListener = {\n\tadd(id, fn, runImmediately) {\n\t\tif (runImmediately) {\n\t\t\tfn();\n\t\t}\n\t\tif (window && isEmpty(_funcs)) {\n\t\t\twindow.addEventListener('resize', runFuncs);\n\t\t}\n\t\t_funcs[id] = fn;\n\t},\n\tremove(id) {\n\t\tdelete _funcs[id];\n\t\tif (isEmpty(_funcs)) {\n\t\t\twindow.removeEventListener('resize', runFuncs);\n\t\t}\n\t},\n};\n\nexport const getFuncs = () => _funcs;\n\nObject.freeze(GlobalResizeListener);\nexport default GlobalResizeListener;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"defineMetric\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t\t} else if ('defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.defineMetric || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t}, [\"getInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t\t} else if ('getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t}, [\"mark\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t\t} else if ('mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.mark || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t} });","import { t } from 'sn-translate';\nimport * as constants from './constants';\nexport const tabsConfig = {\n\tvalid_max_tabs_min: 1,\n\tvalid_max_tabs_max: 100,\n\tnon_records: [\n\t\t{\n\t\t\ttype: constants.FULL_SEARCH_ITEM_TYPE,\n\t\t\ttitle: constants.FULL_SEARCH_TAB_TITLE,\n\t\t},\n\t\t{\n\t\t\ttype: constants.KNOWLEDGE_ITEM_TYPE,\n\t\t\ttitle: constants.KNOWLEDGE_TAB_TITLE,\n\t\t},\n\t],\n};\n\nexport const menuConfig = {\n\tcloseMenu: {\n\t\theader: null,\n\t\titems: [\n\t\t\t{\n\t\t\t\tname: constants.CLOSE_TAB_MENU_ITEM,\n\t\t\t\tdisplayValue: t('Close Tab'),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: constants.CLOSE_OTHER_TABS_MENU_ITEM,\n\t\t\t\tdisplayValue: t('Close Other Tabs'),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: constants.CLOSE_ALL_TABS_MENU_ITEM,\n\t\t\t\tdisplayValue: t('Close All Tabs'),\n\t\t\t},\n\t\t],\n\t},\n\tmainPlus: {\n\t\theader: { name: 'new', displayValue: t('New...') },\n\t\titems: [],\n\t},\n};\n","import clamp from 'lodash/clamp';\nimport { tabsConfig } from '../../../constants/canvas_config';\n\nexport function getMaxTabLimit(tabsConfigProperty) {\n\tconst { valid_max_tabs_min, valid_max_tabs_max } = tabsConfig;\n\n\tconst defaultMaxMainTabLimit = 10;\n\tlet mainLimit =\n\t\ttabsConfigProperty?.maxMainTabLimit ?? defaultMaxMainTabLimit;\n\tmainLimit = clamp(mainLimit, valid_max_tabs_min, valid_max_tabs_max);\n\n\tconst defaultMaxSubTabLimit = 30;\n\tlet subLimit =\n\t\ttabsConfigProperty?.maxTotalSubTabLimit ?? defaultMaxSubTabLimit;\n\tsubLimit = clamp(subLimit, mainLimit, valid_max_tabs_max);\n\n\treturn {\n\t\tmainLimit,\n\t\tsubLimit,\n\t};\n}\n\nexport function getMaxHistoryTabLimit(tabsConfigProperty) {\n\tlet historyLimit = Number.isInteger(tabsConfigProperty?.maxHistoryTabLimit)\n\t\t? tabsConfigProperty.maxHistoryTabLimit\n\t\t: 10;\n\n\treturn historyLimit;\n}\n","import { get, isEmpty, omit } from 'lodash';\nimport { klona } from 'klona';\nimport { t } from 'sn-translate';\nimport * as constants from '../../../constants/constants';\n\nimport { getMaxTabLimit } from './tabsData.config';\nimport {\n\tsetCanCreateParentScreen,\n\tsetCanCreateSubScreen,\n\tinteropContextRegex,\n} from 'sn-canvas-common';\n\nlet PRIMARY_TAB_MAP;\nlet CONTEXTUAL_TAB_MAP;\n\nconst TAB_TITLE_CACHE_BY_SCREEN = {};\n\nexport function initTabConfig(tabConfig) {\n\tif (!tabConfig) return;\n\tcreatePrimaryTabMap(tabConfig);\n\tcreateContextualTabMap(tabConfig);\n}\n\nexport function createPrimaryTabMap(tabConfig) {\n\tPRIMARY_TAB_MAP = tabConfig.primaryRoute || {};\n\n\treturn PRIMARY_TAB_MAP;\n}\n\nexport function createContextualTabMap(tabConfig) {\n\tCONTEXTUAL_TAB_MAP = {};\n\tif (tabConfig && tabConfig.contextual) {\n\t\ttabConfig.contextual.forEach((config) => {\n\t\t\tCONTEXTUAL_TAB_MAP[config] = config;\n\t\t});\n\t}\n\treturn CONTEXTUAL_TAB_MAP;\n}\n\nexport const getPrimaryTabMap = () => PRIMARY_TAB_MAP;\nexport const getContextualTabMap = () => CONTEXTUAL_TAB_MAP;\n\nexport const generateContentKey = (fields, route, interopContext) => {\n\tif (!fields) fields = {};\n\tlet key = Object.keys(fields)\n\t\t.sort()\n\t\t.reduce((hash, key) => `${hash}~${key}~${fields[key]}`, route);\n\tif (interopContext?.isDependent) {\n\t\tkey += `::${interopContext?.expKey}::`;\n\t}\n\treturn key;\n};\n\n/**\n * Finds a tab by its contentKey\n * @param {Object} tabsData - The tabs data object\n * @param {string} contentKey - The content key to search for\n * @returns {Object|undefined} The tab object if found, undefined otherwise\n */\nexport const getTabByContentKey = (tabsData, contentKey) => {\n\tif (!tabsData || !contentKey) return undefined;\n\treturn Object.values(tabsData).find(\n\t\t(tab) => tab?.contentKey === contentKey,\n\t);\n};\n\nexport const recoverContentFromKey = (key) => {\n\tif (!key) return;\n\n\tlet interopContext;\n\tconst keyWithoutInteropContext = key.replace(\n\t\tinteropContextRegex,\n\t\t(match, captured) => {\n\t\t\tinteropContext = {\n\t\t\t\texpKey: captured,\n\t\t\t\tisDependent: true,\n\t\t\t\tisInterop: true,\n\t\t\t};\n\t\t\treturn '';\n\t\t},\n\t);\n\n\tconst parts = keyWithoutInteropContext.split('~');\n\n\tconst route = parts[0];\n\tlet fields = {};\n\tfor (let i = 1; i < parts.length - 1; i = i + 2) {\n\t\tlet j = i + 1;\n\t\tfields[parts[i]] = parts[j];\n\t}\n\treturn { route, fields, ...(interopContext ? { interopContext } : {}) };\n};\n\nexport function getContentKey(_selectedContent) {\n\tconst selectedContent = klona(_selectedContent);\n\tlet { route, fields, uid, multiInstField, interopContext } =\n\t\tselectedContent;\n\tif (!fields) fields = {};\n\n\tif (multiInstField && fields[multiInstField]) {\n\t\tconst parts = fields[multiInstField].split('_uid_');\n\t\tfields[multiInstField] = parts[0];\n\t\tif (parts.length > 1) uid = parts[1];\n\t}\n\n\tlet key = generateContentKey(fields, route, interopContext);\n\tif (uid) {\n\t\tkey = `${key}${uid}`;\n\t}\n\n\treturn key;\n}\n\n/**\n * Generates a unique key for a level 2 tab based on both the tab's own content and its parent tab\n * @param {Object} tabSelectedContent - The selected content of the L2 tab\n * @param {Object} parentTabSelectedContent - The selected content of the parent L1 tab\n * @returns {string} A unique key combining L2 tab info and parent tab info seperated by '#'\n */\nexport const generateL2TabKey = (l2Key, l1Key) => `${l2Key}#${l1Key}`;\n\nexport function primaryRouteSelected(payload) {\n\tconst primaryTabMap = getPrimaryTabMap();\n\tconst { route } = payload;\n\treturn primaryTabMap[route];\n}\n\nexport function contextualRouteSelected(payload) {\n\tif (!payload) return;\n\tconst contextualTabMap = getContextualTabMap();\n\treturn contextualTabMap[payload.route];\n}\n\nexport const setTabTitleCacheByScreen = (screenId, title) =>\n\t(TAB_TITLE_CACHE_BY_SCREEN[screenId] = title);\n\nexport const getTabTitleCachedByScreen = (screenId) =>\n\tTAB_TITLE_CACHE_BY_SCREEN[screenId];\n\nconst maxTabsPrompt = {\n\ttitle: t('Max Tab Reached'),\n\tmessage: t(\n\t\t'You have reached max number of tabs you can have open at one time. Close tabs in order to open more.',\n\t),\n\tbuttonTitle: t('Dismiss'),\n\tbuttonAction: () => {},\n};\n\nexport function getSiblings(tabsData, tab) {\n\tconst { parentTabId } = tab;\n\tlet siblings = [];\n\tif (parentTabId) {\n\t\tconst parentTab = tabsData[parentTabId];\n\t\tconst chilren = parentTab.tabList;\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconst [tab_id, ...restChildren] = chilren;\n\t\tif (restChildren && restChildren.length > 0) {\n\t\t\tsiblings = restChildren.map((tabId) => tabsData[tabId]);\n\t\t}\n\t}\n\treturn siblings;\n}\n\n/**\n * Propagates the flag/field changes from the leaf node to the root node\n * while aggregating the field value at every level.\n *\n * @param {Object} tabsData - Contains the tabsdata.\n * @param {Object} tab - Leaf node.\n * @param {string} flag - Field that needs to be updated.\n * @param {any} flagValue - Field value that is used to propagate change.\n * @returns {Object} tabsData - Tabs data with udpated flag/field values.\n */\nexport function propagateFlag(tabsData, tab, flag, flagValue) {\n\tlet { parentTabId } = tab;\n\tlet value = flagValue;\n\twhile (parentTabId) {\n\t\tconst parentTab = tabsData[parentTabId];\n\t\tif (value === true) {\n\t\t\tif (parentTab[flag] === true) break;\n\t\t\telse parentTab[flag] = value;\n\t\t} else if (value === false) {\n\t\t\tparentTab[flag] = parentTab.tabList.some(\n\t\t\t\t(t) => tabsData[t][flag] === true,\n\t\t\t);\n\t\t}\n\t\tparentTabId = parentTab.parentTabId;\n\t\tvalue = parentTab[flag];\n\t}\n\treturn tabsData;\n}\n//passing no filterFn will apply obj to all tabs\nexport function applyToAllTabs(\n\ttabsData,\n\tobjToApply = {},\n\tfilterFn = () => true,\n) {\n\tconst flagsArr = ['isDirty', 'hasError', 'hasUpdate', 'hasWarning'];\n\tconst newTabsData = { ...tabsData };\n\tfor (let [tabId, tab] of Object.entries(newTabsData)) {\n\t\tif (!filterFn || (filterFn && filterFn(tab))) {\n\t\t\tnewTabsData[tabId] = { ...tab, ...objToApply };\n\n\t\t\t/**\n\t\t\t * If the title is being updated check if the tab is a parent tab.\n\t\t\t * If so then update the subtabs to get the new parent tab title for\n\t\t\t * a11y needs.\n\t\t\t */\n\t\t\tif ('tabList' in tab && 'title' in objToApply) {\n\t\t\t\tconst subTabIds = tab.tabList;\n\t\t\t\tsubTabIds.forEach((subTabId) => {\n\t\t\t\t\tconst subTab = newTabsData[subTabId];\n\t\t\t\t\tif (subTab) {\n\t\t\t\t\t\tsubTab.label = objToApply.title;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tflagsArr.forEach((flag) => {\n\t\t\t\tif (\n\t\t\t\t\t// eslint-disable-next-line no-prototype-builtins\n\t\t\t\t\tobjToApply.hasOwnProperty(flag) &&\n\t\t\t\t\ttab[flag] !== objToApply[flag]\n\t\t\t\t) {\n\t\t\t\t\tpropagateFlag(\n\t\t\t\t\t\tnewTabsData,\n\t\t\t\t\t\tnewTabsData[tabId],\n\t\t\t\t\t\tflag,\n\t\t\t\t\t\tobjToApply[flag],\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn newTabsData;\n}\n\nexport function getTabById(tabList, tab_id) {\n\treturn tabList ? tabList.find((t) => t.tab_id === tab_id) : null;\n}\n\nexport function getTabIndexById(tabList, tabId) {\n\treturn tabList.findIndex((t) => t.tab_id === tabId);\n}\n\nexport function isDetailTab(tab, parentTab) {\n\tconst { contentKey } = tab;\n\tconst { contentKey: parentContentKey } = parentTab;\n\n\treturn contentKey === parentContentKey;\n}\n\nexport function getAllContentKeys(tabsData) {\n\tconst contentKeys = [];\n\tfunction traverse(node) {\n\t\tif (node && typeof node === 'object') {\n\t\t\tfor (const key in node) {\n\t\t\t\tif (key === 'contentKey') {\n\t\t\t\t\tif (contentKeys.indexOf(node[key]) === -1) {\n\t\t\t\t\t\tcontentKeys.push(node[key]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttraverse(node[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\ttraverse(tabsData);\n\treturn contentKeys;\n}\n\n/**\n *  determine if the user has reached the allowed limit of tabs\n *\n * @param {Object} param0\n * @param {Object} param0.preTabsData\n * @param {Object} param0.nextTabsData\n * @param {Object} param0.nextActiveTab\n * @param {Object} param0.tabsConfig\n * @returns {boolean}\n */\nexport function isReachingTabsLimit({\n\tpreTabsData,\n\tnextTabsData,\n\tnextActiveTab,\n\ttabsConfig,\n\texperienceId,\n}) {\n\tlet reached = false;\n\n\t// Override tab limit if active tab says so\n\tif (get(nextActiveTab, 'additional_data.overrideTabLimit', false)) {\n\t\treturn reached;\n\t}\n\n\tif (!tabsConfig) {\n\t\treturn reached;\n\t}\n\n\tconst preTabList = preTabsData ? Object.values(preTabsData) : null;\n\tconst nextTabList = Object.values(nextTabsData);\n\n\tconst { mainLimit, subLimit } = getMaxTabLimit(tabsConfig);\n\tconst preMainTabCount = countMainTabs(preTabList);\n\tconst nextMainTabCount = countMainTabs(nextTabList);\n\n\t// Only check main tab limit if tabs are being added\n\tif (preTabsData && nextMainTabCount > preMainTabCount) {\n\t\treached = nextMainTabCount > mainLimit;\n\t}\n\n\t// Disable main tab creation when at or exceeding the limit\n\tif (nextMainTabCount >= mainLimit)\n\t\tsetCanCreateParentScreen(\n\t\t\texperienceId,\n\t\t\tgetAllContentKeys(nextTabsData),\n\t\t\tfalse,\n\t\t);\n\n\tif (!reached) {\n\t\tconst preSubTabCount = countSubTabs(preTabList);\n\t\tconst nextSubTabCount = countSubTabs(nextTabList);\n\t\tconst totalTabCount = nextSubTabCount + nextMainTabCount;\n\n\t\t// Only check sub tab limit if tabs are being added (main or sub)\n\t\tif (\n\t\t\tpreTabsData &&\n\t\t\t(nextMainTabCount > preMainTabCount ||\n\t\t\t\tnextSubTabCount > preSubTabCount)\n\t\t) {\n\t\t\t// add the main tab count to the sub tab count to get the total tab count\n\t\t\treached = totalTabCount > subLimit;\n\t\t}\n\n\t\tif (totalTabCount >= subLimit)\n\t\t\tsetCanCreateSubScreen(\n\t\t\t\texperienceId,\n\t\t\t\tgetAllContentKeys(nextTabsData),\n\t\t\t\tfalse,\n\t\t\t);\n\t}\n\treturn reached;\n}\n\n/**\n * returns a tabStopper object if nextTabsData includes some condition that should prevent it from being accepted\n *  currently, the only condition is too many open tabs, which includes separate limits for main tabs and sub-tabs.\n *  This is set up to allow some versatility with the stopper object that gets returned, but currently there is only one.\n *  It would make sense, for exampke, to have different stopper objects for the main tab limit and th sub tab limit.\n *\n * @param {Object} preTabsData\n * @param {Object} nextTabsData\n * @param {Object} tabsConfig\n * @returns {Object}\n */\nexport function shouldUpdateTabData(\n\tpreTabsData,\n\tnextTabsData,\n\ttabsConfig,\n\texperienceId,\n) {\n\tif (!nextTabsData) return null; // if there is no new data to comapre against, return null\n\tconst nextActiveTab = getSelectedTab(nextTabsData);\n\tlet stopperPrompt = null;\n\tconst reachedTabLimit = isReachingTabsLimit({\n\t\tpreTabsData,\n\t\tnextTabsData,\n\t\tnextActiveTab,\n\t\ttabsConfig,\n\t\texperienceId,\n\t});\n\tif (reachedTabLimit) {\n\t\tstopperPrompt = maxTabsPrompt;\n\t}\n\n\treturn stopperPrompt;\n}\n\n/**\n * Counts the number of main tabs\n *\n * @param {Object[]} tabList list of tabs\n * @returns {number}\n */\nexport function countMainTabs(tabList) {\n\tif (isEmpty(tabList)) return 0;\n\t// a main tab has a parent tab of root and is not a primary tab\n\treturn tabList.filter((x) => {\n\t\treturn x.parentTabId === 'root' && !x.isPrimaryTab;\n\t}).length;\n}\n\n/**\n * Counts the total number of subtabs\n *\n * @param {Object[]} tabList list of tabs\n * @returns {number}\n */\nexport function countSubTabs(tabList) {\n\tif (isEmpty(tabList)) return 0;\n\tconst subTabs = tabList.filter((x) => {\n\t\treturn x.parentTabId && x.parentTabId !== 'root' && x.canClose;\n\t});\n\treturn subTabs.length;\n}\n\n/**\n * Finds the deepest selected tab in the tab hierarchy that can be closed.\n * Starting from the root's selected tab, traverses down through selectedTabId\n * references until it finds the deepest closable tab.\n *\n * @param {Object} tabsData - The tabs data structure containing all tab information\n * @returns {Object|null} Object containing tab_id and parentTabId if a closable tab is found, null otherwise\n *\n * @example\n * const tabsData = {\n *   root: { selectedTabId: 'tab_1' },\n *   tab_1: { selectedTabId: 'tab_2', canClose: true, parentTabId: 'root' },\n *   tab_2: { selectedTabId: '-1', canClose: true, parentTabId: 'tab_1' }\n * };\n * const selectedTab = findDeepestSelectedTab(tabsData);\n * // Returns { tab_id: 'tab_2', parentTabId: 'tab_1' }\n */\nexport function findDeepestSelectedTab(tabsData) {\n\tconst rootId = tabsData?.root?.selectedTabId;\n\tif (!rootId) return null;\n\n\tconst traverseTabs = (tabId) => {\n\t\tconst tab = tabsData[tabId];\n\t\tif (!tab) return null;\n\n\t\tconst { selectedTabId, parentTabId, canClose } = tab;\n\n\t\t// Prevent invalid IDs\n\t\tif (selectedTabId !== '-1' && selectedTabId !== tabId) {\n\t\t\tconst deeper = traverseTabs(selectedTabId);\n\t\t\tif (deeper) return deeper;\n\t\t}\n\n\t\t// Only return this tab if it can be closed\n\t\treturn canClose === true ? { tabId, parentTabId } : null;\n\t};\n\n\treturn traverseTabs(rootId);\n}\n\nexport function getSelectedTab(tabsData) {\n\tconst { tabList, selectedTabId } = tabsData;\n\treturn getTabById(tabList, selectedTabId);\n}\n\nexport function clearUpdateFlag(tab) {\n\t// No update flag to clear\n\tif (!tab.hasUpdate) return tab;\n\n\t// If no children, clear flag\n\tconst { tabList = [] } = tab;\n\tif (tabList.length === 0) return { ...tab, hasUpdate: false };\n\n\t// If a child tab has an update, don't clear flag\n\tif (tabList.some((t) => t.hasUpdate)) return tab;\n\n\t// Clear flag\n\treturn { ...tab, hasUpdate: false };\n}\n\nexport function updateSelectedTabs(tabsData) {\n\tif (!tabsData || !Object.keys(tabsData).length) return; // pre-condition, no work to do if tabsData is null or empty object\n\tconst clearupdateFlagReducer = (t) => clearUpdateFlag(t);\n\n\treturn applyToSelectedTabs(tabsData, clearupdateFlagReducer);\n}\n\n/**\n * Helper function applies a function to every selected tab of the tree, mutating the parent as necessary\n * @param tab\n * @param fn\n * @returns {*}\n */\nexport function applyToSelectedTabs(tabsData, tabReducer) {\n\tlet newTabsData = { ...tabsData };\n\tconst root = tabsData.root;\n\tlet { selectedTabId } = root;\n\n\twhile (selectedTabId != '-1') {\n\t\tconst currNode = tabsData[selectedTabId];\n\t\tnewTabsData[selectedTabId] = tabReducer(newTabsData[selectedTabId]);\n\t\tselectedTabId = currNode.selectedTabId;\n\t}\n\n\treturn newTabsData;\n}\n\nexport function getNavItemSelectedPayload(tabsData) {\n\tif (!tabsData) return;\n\tlet navItemSelectedPayload;\n\tconst root = tabsData.root;\n\tlet { selectedTabId } = root;\n\n\tlet i = 0;\n\twhile (selectedTabId != '-1') {\n\t\tconst currNode = tabsData[selectedTabId];\n\t\tconst { selectedContent, isDetailsTab } = currNode;\n\n\t\t// adding title field in navItemSelectedPayload for dynamicly changing the browser tab title\n\t\tlet { title } = currNode;\n\t\tif (isDetailsTab) {\n\t\t\ttitle = tabsData[currNode.parentTabId].title;\n\t\t}\n\n\t\tif (!navItemSelectedPayload) {\n\t\t\tif (isDetailsTab !== true)\n\t\t\t\tnavItemSelectedPayload = { ...selectedContent, title };\n\t\t} else {\n\t\t\tif (isDetailsTab === true) {\n\t\t\t\tnavItemSelectedPayload = { ...selectedContent, title };\n\t\t\t} else {\n\t\t\t\tnavItemSelectedPayload = {\n\t\t\t\t\t...selectedContent,\n\t\t\t\t\ttitle,\n\t\t\t\t\tparent: { ...navItemSelectedPayload },\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tselectedTabId = currNode.selectedTabId;\n\t\ti++;\n\t}\n\n\tif (i == 1 && navItemSelectedPayload.drillDowns) {\n\t\tlet drillDownPayload;\n\t\tlet { drillDowns: drillDownsArr, ...rest } = navItemSelectedPayload;\n\t\tfor (let j = drillDownsArr.length - 1; j >= 0; j--) {\n\t\t\tdrillDownPayload = {\n\t\t\t\t...drillDownsArr[j],\n\t\t\t\t...(drillDownPayload && { parent: { ...drillDownPayload } }),\n\t\t\t};\n\t\t}\n\t\tif (drillDownPayload) {\n\t\t\tnavItemSelectedPayload = {\n\t\t\t\t...drillDownPayload,\n\t\t\t\tparent: { ...rest },\n\t\t\t};\n\t\t}\n\t}\n\n\treturn navItemSelectedPayload;\n}\n\nexport function getDescendantTabIds(tabsData, tabId) {\n\tif (!tabsData || !tabsData[tabId]) return [];\n\tconst descendants = [];\n\tlet i = 0;\n\twhile ((descendants.length == 0 && i == 0) || i < descendants.length) {\n\t\tconst id = i == 0 ? tabId : descendants[i];\n\t\tconst tab = tabsData[id];\n\t\tdescendants.push(...tab.tabList);\n\t\ti++;\n\t}\n\treturn descendants;\n}\n\nexport function getAllLeafNodes(tabsData) {\n\treturn Object.values(tabsData).filter((tab) => tab.tabList.length === 0);\n}\n\nexport function getActiveLeafTabId(tabsData) {\n\tlet currNode = tabsData.root;\n\tlet { selectedTabId } = currNode;\n\twhile (selectedTabId != '-1') {\n\t\tcurrNode = tabsData[selectedTabId];\n\t\tselectedTabId = currNode.selectedTabId;\n\t}\n\tif (currNode && currNode.tab_id !== 'root') {\n\t\treturn currNode.selectedContent.isDetailsTab\n\t\t\t? currNode.parentTabId\n\t\t\t: currNode.tab_id;\n\t}\n\treturn null;\n}\n\nexport function clearAllFlags(tabsData) {\n\tlet newTabsData = {};\n\tconst flagsArr = ['isDirty', 'hasError', 'hasUpdate', 'hasWarning'];\n\tfor (let [tabId, tab] of Object.entries(tabsData)) {\n\t\tnewTabsData[tabId] = omit(tab, flagsArr);\n\t}\n\treturn newTabsData;\n}\n\nexport function getActiveSessionTab(tabsData) {\n\tif (!tabsData) return null;\n\tlet { selectedTabId } = tabsData.root;\n\tif (selectedTabId) return tabsData[selectedTabId];\n\treturn null;\n}\n\nexport function _buildContentKeySet(tabsData) {\n\tconst contentKeySet = new Set();\n\tObject.values(tabsData).forEach((tab) => {\n\t\tconst { contentKey, selectedContent } = tab;\n\t\tif (tab.isPrimaryTab !== true) contentKeySet.add(contentKey);\n\n\t\t//check drilldowns\n\t\tconst { drillDowns } = selectedContent || {};\n\t\tif (drillDowns && Array.isArray(drillDowns)) {\n\t\t\tdrillDowns.forEach((drilldown) => {\n\t\t\t\tconst { route, fields, interopContext } = drilldown;\n\t\t\t\tconst key = generateContentKey(fields, route, interopContext);\n\t\t\t\tcontentKeySet.add(key);\n\t\t\t});\n\t\t}\n\t});\n\treturn contentKeySet;\n}\n\nexport function findRemovedTabIds(oldTabIds = [], newTabIds = []) {\n\tconst set = new Set(),\n\t\t_results = [];\n\tif (oldTabIds.length - newTabIds.length < 0) return _results;\n\tnewTabIds.forEach((index) => set.add(index));\n\toldTabIds.forEach((index) => {\n\t\tif (!set.has(index)) _results.unshift(index);\n\t});\n\treturn _results;\n}\n\nconst findParentKey = (tabs = [], tabId) => {\n\tif (!tabId || tabId.length === 0) return;\n\tconst currentTab = tabs[tabId];\n\twhile (currentTab.parentTabId) {\n\t\tif (currentTab.parentTabId === 'root') return currentTab.contentKey;\n\t}\n};\n\nconst annotateRemovedSubTab = (tab = {}) => {\n\tconst _tab = { ...tab };\n\tconst isPrimaryTab = tab.isPrimaryTab;\n\tconst isMainTab = tab.parentTabId === 'root';\n\tconst withNoSubTabs = tab.tabList && tab.tabList.length === 0;\n\tconst isCloseable = tab.canClose;\n\tconst primaryOrMainTab = isPrimaryTab || isMainTab;\n\tconst isLeafSubTab = !primaryOrMainTab && withNoSubTabs && isCloseable;\n\tif (isLeafSubTab)\n\t\treturn {\n\t\t\t..._tab,\n\t\t\tisLeafTab: isLeafSubTab,\n\t\t\tannotation: { operation: 'closed' },\n\t\t};\n\treturn _tab;\n};\n\nexport const _buildRemovedTabs = (tabsData, removedTabIds) => {\n\treturn removedTabIds\n\t\t.map((tabId) => ({ ...tabsData[tabId] }))\n\t\t.map((t) => annotateRemovedSubTab(t))\n\t\t.map((t) => {\n\t\t\tif (t.isLeafTab) {\n\t\t\t\tconst parentKey = findParentKey(tabsData, t.parentTabId);\n\t\t\t\tif (parentKey)\n\t\t\t\t\treturn { ...t, annotation: { ...t.annotation, parentKey } };\n\t\t\t\treturn t;\n\t\t\t}\n\t\t\treturn t;\n\t\t})\n\t\t.map((t) => ({ [t.contentKey]: { ...t } }));\n};\n\nexport function getRemovedTabs(tabsData, newTabsData) {\n\tlet _tabsData = tabsData || {};\n\tlet _newTabsData = newTabsData || {};\n\tif (Object.keys(_tabsData).length < Object.keys(_newTabsData).length) {\n\t\treturn;\n\t}\n\tconst removedTabIds = findRemovedTabIds(\n\t\tObject.keys(_tabsData),\n\t\tObject.keys(_newTabsData),\n\t);\n\n\t//check if any existing tab is pointing to same contentKey/screen\n\tconst oldContentKeySet = _buildContentKeySet(_tabsData);\n\tconst newContentKeySet = _buildContentKeySet(_newTabsData);\n\tconst removedContentKeys = new Set();\n\tfor (let contentKey of oldContentKeySet) {\n\t\tif (!newContentKeySet.has(contentKey)) {\n\t\t\tremovedContentKeys.add(contentKey);\n\t\t}\n\t}\n\n\tconst removedTabs = _buildRemovedTabs(_tabsData, removedTabIds);\n\n\treturn {\n\t\tremovedContentKeys: [...removedContentKeys],\n\t\tremovedTabs: [...removedTabs],\n\t};\n}\n\n/** Helper function to retreive the contentKeys of the tabs that are just added\n * In case of passive navigation, selectedContent will still be the previous selected content,\n * so we need to diff the tabsData to find the added tabs\n *\n * @param {*} tabsData - previous tabs data object\n * @param {*} newTabsData - new tabs data object\n * @param {*} selectedContentNew - current selected content object, for direct navigation scenario\n * @returns {Set<string>} set of contentKeys of the tabs that are just added\n */\nexport function getAddedTabKeys(\n\ttabsData = {},\n\tnewTabsData = {},\n\tselectedContentNew,\n) {\n\tconst addedTabKeys = new Set();\n\tif (selectedContentNew) {\n\t\tconst selectedContentKey = getContentKey(\n\t\t\tisEmpty(selectedContentNew.parent)\n\t\t\t\t? selectedContentNew\n\t\t\t\t: selectedContentNew.parent,\n\t\t);\n\t\tif (selectedContentKey) addedTabKeys.add(selectedContentKey);\n\t}\n\n\tif (Object.keys(newTabsData).length < Object.keys(tabsData).length) {\n\t\treturn addedTabKeys;\n\t}\n\n\tconst oldTabIds = new Set(Object.keys(tabsData));\n\tconst addedTabIds = Object.keys(newTabsData).filter(\n\t\t(tabId) => !oldTabIds.has(tabId),\n\t);\n\n\tfor (const tabId of addedTabIds) {\n\t\tconst tab = newTabsData[tabId];\n\t\tif (tab?.contentKey && tab.parentTabId === 'root') {\n\t\t\taddedTabKeys.add(tab.contentKey);\n\t\t}\n\t}\n\treturn addedTabKeys;\n}\n\nexport function getPrimaryTab(tabsData) {\n\t// eslint-disable-next-line no-unused-vars\n\tfor (let [tabId, tab] of Object.entries(tabsData)) {\n\t\tif (tab && tab.isPrimaryTab === true && tab.parentTabId === 'root')\n\t\t\treturn tab;\n\t}\n}\n\nexport function getViewPortInfo(tabsData) {\n\tconst {\n\t\troot: { selectedTabId },\n\t} = tabsData;\n\tconst primaryTab = getPrimaryTab(tabsData);\n\tif (selectedTabId && primaryTab && selectedTabId === primaryTab.tab_id) {\n\t\treturn primaryTab.viewportInfo;\n\t}\n}\n\nexport function filterSelectedContent(selectedContent) {\n\tif (!selectedContent) return;\n\tconst {\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t__uxfCompositionElId,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t_timestamp,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tupdateUrl,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tredirect,\n\t\t...rest\n\t} = selectedContent;\n\treturn rest;\n}\n\nexport function locateTabs(tabsData, selectedContent) {\n\tlet tabNode = tabsData.root;\n\tconst selectedContentStack = [];\n\tlet _selectedContent = { ...selectedContent };\n\twhile (_selectedContent) {\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconst { parent, ...content } = _selectedContent;\n\t\tselectedContentStack.push(content);\n\t\t_selectedContent = _selectedContent.parent;\n\t}\n\tconst tabs = [];\n\twhile (selectedContentStack.length > 0 && tabNode) {\n\t\tconst content = selectedContentStack.pop();\n\t\tconst contentKey = getContentKey(content);\n\t\tconst { childContentKeys } = tabNode;\n\t\tif (childContentKeys && childContentKeys[contentKey]) {\n\t\t\tconst tabId = childContentKeys[contentKey];\n\t\t\tconst tab = {\n\t\t\t\t...tabsData[tabId],\n\t\t\t\tselectedContent: {\n\t\t\t\t\t...tabsData[tabId].selectedContent,\n\t\t\t\t\t...content,\n\t\t\t\t},\n\t\t\t};\n\t\t\ttabs.push(tab);\n\t\t} else {\n\t\t\tif (!content.isDetailsTab) {\n\t\t\t\tselectedContentStack.push(content);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\ttabNode = tabsData[childContentKeys[contentKey]];\n\t}\n\n\treturn { selectedContentStack, tabs };\n}\n\nexport function primaryTabContentUpdate(payload, tabsData) {\n\tconst { primaryTabPropData } = payload;\n\tconst primaryTab = getPrimaryTab(tabsData);\n\tconst { contentKey, selectedContent } = primaryTab;\n\tconst { viewportInfo, routeInfo, title, icon, id } = primaryTabPropData;\n\n\tif (!isEmpty(viewportInfo)) {\n\t\t// viewportInfo\n\t\treturn {\n\t\t\tselectedTabId: get(tabsData, 'root.tabList')[0],\n\t\t\tcontentKey: get(routeInfo, 'route'),\n\t\t\tselectedContent: {\n\t\t\t\tid,\n\t\t\t\ticon,\n\t\t\t\tlabel: title,\n\t\t\t\troute: get(routeInfo, 'route'),\n\t\t\t\tfields: get(routeInfo, 'fields', {}),\n\t\t\t\tparams: get(routeInfo, 'params', {}),\n\t\t\t},\n\t\t};\n\t} else {\n\t\t// no viewports involved\n\t\treturn {\n\t\t\trootSelectedTabId: get(tabsData, 'root.tabList')[0],\n\t\t\tcontentKey,\n\t\t\tselectedContent,\n\t\t};\n\t}\n}\n\nexport const tabResolutionStrategyMap = {\n\tACTIVE_OR_FIRST_SESSION_TAB: (tabsData) => {\n\t\tlet _tab = tabsData[tabsData.root.selectedTabId];\n\t\tif (!_tab) return;\n\t\tif (_tab.isPrimaryTab) {\n\t\t\t_tab = tabsData.root.tabList\n\t\t\t\t.map((t) => tabsData[t])\n\t\t\t\t.find((t) => t.isPrimaryTab !== true);\n\t\t}\n\t\treturn _tab ? _tab.tab_id : undefined;\n\t},\n};\n\n/**\n * Function to get the correct tab data with the lowest order value.\n * Solves issue when postgres database instance data not sorted.\n * @param primaryTabMap object with tab objects of chrome tab data\n * @returns the primary tab object with the lowest order value\n */\nexport const getPrimaryTabByOrder = (primaryTabMap) => {\n\tconst sortedTabData = Object.fromEntries(\n\t\tObject.entries(primaryTabMap).sort((a, b) => a[1].order - b[1].order),\n\t);\n\treturn sortedTabData[Object.keys(sortedTabData)[0]];\n};\n\n/**\n * Helper function used to find any matching tab to delete by matching screenKey values.\n * @param {Object} tabsData - The object containing all open Parent and Child tabs\n * @param {string} screenKey - The screen to close from the payload.screenKey\n * @returns {Object} tabData object to delete\n */\nconst matchScreenContent = (tabsData, screenKey) => {\n\treturn Object.values(tabsData).find((tabValue) => {\n\t\treturn tabValue.contentKey === screenKey && !!tabValue.canClose;\n\t});\n};\n\n/**\n * Helper function to consider active leaf tab to close for screen closed event.\n * @param {Object} tabsData - The object containing all open Parent and Child tabs\n * @param {string} screenKey - The screen to close from the payload.screenKey\n * @returns {Object} tabData object to delete\n */\nconst matchScreenContentWithActivityLeaf = (tabsData, screenKey) => {\n\treturn Object.values(tabsData).find((tabValue) => {\n\t\treturn (\n\t\t\ttabValue.contentKey === screenKey &&\n\t\t\t!!tabValue.canClose &&\n\t\t\tgetActiveLeafTabId(tabsData) === tabValue.tab_id\n\t\t);\n\t});\n};\n\n/**\n * Function created to find the correct tab to delete if the payload.status = 'closed'.\n * The process for the function takes into account when there are parent tabs and n+ leaf tabs.\n * If the process doesn't find any leaf tabs then the process attempts to match any tab from the tabsData object\n * to the screenKey.  This handles both edge cases for DEF0296545 and DEF0375971.\n * @param {Object} tabsData - The object containing all open Parent and Child tabs\n * @param {string} screenKey - The screen to close from the payload.screenKey\n * @returns {Object} tabData object to delete\n */\nexport const getTabToDelete = (tabsData, screenKey) => {\n\tlet tabToDelete;\n\ttabToDelete = matchScreenContentWithActivityLeaf(tabsData, screenKey);\n\n\tif (!tabToDelete)\n\t\t//only do below if no leaf tabs are found\n\t\ttabToDelete = matchScreenContent(tabsData, screenKey);\n\n\treturn tabToDelete;\n};\n\nexport const _getTabMaps = () => {\n\treturn { PRIMARY_TAB_MAP, CONTEXTUAL_TAB_MAP };\n};\n\n/**\n * Determines whether the current tab or any of its parent tabs is dirty.\n *\n * @param {string} screenKey - The unique key identifying the current screen or tab.\n * @param {Object} tabsData -\n *        An object containing tab data indexed by tab ID. Each tab can have a `contentKey`, `isDirty` state,\n *        a flag indicating if it is a details tab (`isDetailsTab`), and a `parentTabId`.\n *\n * @returns {boolean} - Returns `true` if the current tab or any of its parent tabs is dirty; otherwise, returns `false`.\n */\nexport const hasDirtyTabInHierarchy = (screenKey, tabsData) => {\n\tlet currentTab = Object.values(tabsData).find(\n\t\t(tab) => tab.contentKey === screenKey,\n\t);\n\n\t// If the current tab is dirty, return it's dirty state irrespective of it's a details tab or not\n\tif (currentTab?.isDirty) return currentTab?.isDirty;\n\n\t// If the current tab is not a details tab, return its dirty state\n\tif (!(currentTab?.isDetailsTab ?? false)) {\n\t\treturn currentTab?.isDirty || false;\n\t}\n\n\t// If the current tab is a details tab, traverse up the parent tabs to find if any parent tab is dirty\n\twhile (!currentTab?.isDirty && currentTab?.parentTabId !== 'root') {\n\t\tcurrentTab = tabsData[currentTab.parentTabId];\n\t\tif (currentTab?.isDirty) return currentTab?.isDirty;\n\t}\n\n\t// If no parent tab is dirty, return false\n\treturn false;\n};\n\n/**\n * Determines whether a tab can be closed based on its status and dirty state.\n *\n * @param {string} status - The current status of the screen. Should be one of the defined screen status constants.\n * @param {string} screenKey - The unique key identifying the current screen or tab.\n * @param {Object} tabsData -\n *        An object containing tab data indexed by tab ID. Each tab may include a `contentKey`, dirty state (`isDirty`),\n *        whether it's a details tab (`isDetailsTab`), and its `parentTabId`.\n *\n * @returns {boolean} - Returns `true` if the tab can be closed, either unconditionally or conditionally with no dirty state; otherwise, `false`.\n */\nexport const canCloseTab = (status, screenKey, tabsData) =>\n\tstatus === constants.SCREEN_STATUS_ACTION_CLOSED ||\n\t(status === constants.SCREEN_STATUS_ACTION_CLOSE_IF_CLEAN &&\n\t\t!hasDirtyTabInHierarchy(screenKey, tabsData));\n\n/**\n * Filters out tooltip segments that have removeOnActivation set to true.\n * This function is used when a tab is activated to remove segments that should\n * be cleared when the tab becomes active.\n *\n * @param {Array} segments - Array of tooltip segments to filter\n * @returns {Array} - Array of segments with removeOnActivation segments removed\n */\nexport const filterSegmentsOnActivation = (segments) => {\n\tif (segments === undefined || segments === null) {\n\t\treturn segments;\n\t}\n\n\tif (!Array.isArray(segments) || segments.length === 0) {\n\t\treturn segments;\n\t}\n\n\treturn segments.filter((segment) => {\n\t\tconst removeOnActivation = segment?.lifecycle?.removeOnActivation;\n\t\treturn removeOnActivation !== true;\n\t});\n};\n","import { defineMetric, mark, getInteractionId } from '@servicenow/ui-metrics';\nimport {\n\tACTION_TYPES,\n\tCANVAS_NEW_TAB_MARK,\n\tCLOSE_ALL_TABS_MENU_ITEM,\n\tCLOSE_OTHER_TABS_MENU_ITEM,\n\tCLOSE_TAB_MENU_ITEM,\n\tMAIN_TAB_CLICKED,\n\tMAIN_TAB_CLOSE_CLICKED,\n\tMARKS,\n\tSELECT_TAB,\n\tSUB_TAB_CLOSE_CLICKED,\n} from '../constants/constants';\nimport { countMainTabs } from '../components/sn-canvas-tabsdata/utils/tabsData.utils';\n\nconst { TOOLBAR_BUTTON_CLICKED } = ACTION_TYPES;\n\nconst TAB_CLOSE_NAMES = {\n\t[CLOSE_ALL_TABS_MENU_ITEM]: 'Close All Tabs',\n\t[CLOSE_OTHER_TABS_MENU_ITEM]: 'Close Other Tabs',\n\t[CLOSE_TAB_MENU_ITEM]: 'Close Tab',\n};\n\nconst getTabHierarchy = (tabId, tabsData) => {\n\tconst types = {\n\t\tPARENT: 'Parent',\n\t\tCHILD: 'Child',\n\t};\n\treturn tabsData[tabId].parentTabId === 'root' ? types.PARENT : types.CHILD;\n};\n\n// define custom marks\nObject.values(MARKS).forEach((mark) => {\n\tdefineMetric(mark, 4);\n});\n\nexport const trackClosedTabs = (tabsData, coeffects) => {\n\tconst {\n\t\thost,\n\t\taction,\n\t\tproperties: { selectedContent },\n\t} = coeffects;\n\tconst {\n\t\tpayload: { closedFromMenu, operation, tab_id },\n\t} = action;\n\t// determine if Parent or Child tab\n\tconst type = getTabHierarchy(tab_id, tabsData);\n\t// title is empty for some tabs when looking at selectedContent\n\t// so use the tabsData with selectedContent as a fallback\n\tconst label =\n\t\ttab_id in tabsData ? tabsData[tab_id].title : selectedContent.title;\n\tif (closedFromMenu) {\n\t\tmark(\n\t\t\thost,\n\t\t\tgetInteractionId(action.meta),\n\t\t\tMARKS.CLICK_TAB_MENU_ITEM,\n\t\t\t{\n\t\t\t\tname: TAB_CLOSE_NAMES[operation],\n\t\t\t\ttype,\n\t\t\t},\n\t\t\t'usage',\n\t\t);\n\t} else {\n\t\tconst record = selectedContent?.fields?.table ?? '';\n\t\tconst sysId = selectedContent?.fields?.sysId ?? '';\n\t\t// emit marks when closing a tab by clicking the \"X\"\n\t\tmark(\n\t\t\thost,\n\t\t\tgetInteractionId(action.meta),\n\t\t\tMARKS.CLOSE_TAB,\n\t\t\t{\n\t\t\t\troute: selectedContent.route,\n\t\t\t\tlabel,\n\t\t\t\trecord,\n\t\t\t\tsysId,\n\t\t\t\ttype,\n\t\t\t},\n\t\t\t'usage',\n\t\t);\n\t}\n};\n\nexport const trackNewTab = (coeffects) => {\n\tconst { host, action } = coeffects;\n\tconst {\n\t\tpayload: { menuItem, tabsData },\n\t} = action;\n\tconst numOfTabs = tabsData ? countMainTabs(Object.values(tabsData)) : null;\n\tif (menuItem) {\n\t\tconst table = menuItem.routeInfo?.fields?.table ?? '';\n\t\tconst route = menuItem.routeInfo?.route ?? '';\n\t\tconst name =\n\t\t\tmenuItem.title ||\n\t\t\t`New ${table.replace(/\\w/, (match) => match.toUpperCase())}`;\n\t\tmark(\n\t\t\thost,\n\t\t\tgetInteractionId(action.meta),\n\t\t\tMARKS.NEW_TAB,\n\t\t\t{\n\t\t\t\tname,\n\t\t\t\troute,\n\t\t\t\trecord: table,\n\t\t\t\ttabsOpened: numOfTabs - 1, // don't count the 1st tab since it can't be closed\n\t\t\t},\n\t\t\t'usage',\n\t\t);\n\t}\n};\n\nexport const trackTopNav = (button, host, action) => {\n\tmark(\n\t\thost,\n\t\tgetInteractionId(action.meta),\n\t\tMARKS.CLICK_L1_MENU,\n\t\t{\n\t\t\tname: button.label,\n\t\t},\n\t\t'usage',\n\t);\n};\n\nexport const trackMaxTabsReached = (tabsData, coeffects) => {\n\tconst { host, action } = coeffects;\n\tconst numOfTabs = tabsData ? countMainTabs(Object.values(tabsData)) : null;\n\tmark(\n\t\thost,\n\t\tgetInteractionId(action.meta),\n\t\tMARKS.EXCEED_MAX_TABS,\n\t\t{\n\t\t\ttabsOpened: numOfTabs - 1, // don't count the 1st tab since it can't be closed\n\t\t},\n\t\t'usage',\n\t);\n};\n\nexport const trackTabClick = (tabsData, coeffects) => {\n\tconst { host, action } = coeffects;\n\tconst { payload, type } = action;\n\t// child tabs have their id inside an array `tab_ids`\n\tlet tabId = type === SELECT_TAB ? payload.tab_ids[0] : payload.tab_id;\n\n\t// only continue of the tab_id is found and it's not \"root\" tab\n\tif (!(tabId in tabsData) || tabId === 'tab_0') {\n\t\treturn false;\n\t}\n\tconst tabType = getTabHierarchy(tabId, tabsData);\n\tconst { selectedContent } = tabsData[tabId];\n\tconst record = selectedContent?.fields?.table ?? '';\n\tconst sysId = selectedContent?.fields?.sysId ?? '';\n\tmark(\n\t\thost,\n\t\tgetInteractionId(action.meta),\n\t\tMARKS.SELECT_TAB,\n\t\t{\n\t\t\tlabel: selectedContent.title,\n\t\t\tname: tabsData[tabId].title,\n\t\t\ttype: tabType,\n\t\t\troute: selectedContent.route,\n\t\t\trecord,\n\t\t\tsysId,\n\t\t},\n\t\t'usage',\n\t);\n};\n\nconst trackEvent = {\n\t[MAIN_TAB_CLOSE_CLICKED]: trackClosedTabs,\n\t[SUB_TAB_CLOSE_CLICKED]: trackClosedTabs,\n\t[CANVAS_NEW_TAB_MARK]: trackNewTab,\n\t[TOOLBAR_BUTTON_CLICKED]: trackTopNav,\n\t[MARKS.EXCEED_MAX_TABS]: trackMaxTabsReached,\n\t[MAIN_TAB_CLICKED]: trackTabClick,\n\t[SELECT_TAB]: trackTabClick,\n};\n\nexport { trackEvent };\n","import * as tabsDragUtils from './../internal/canvas-tabbar/utils';\nimport { DND_OPERATION } from '../../constants/constants';\n\nexport const snCanvasTabsEventHandlers = [\n\t{\n\t\tevents: ['keydown', 'keyup'],\n\t\teffect(coeffects) {\n\t\t\ttabsDragUtils.handleKeyboardInput(coeffects);\n\t\t},\n\t\tmodifiers: {\n\t\t\tname: 'debounce',\n\t\t\tdelay: 100,\n\t\t},\n\t},\n\t{\n\t\tevents: ['dragover'],\n\t\teffect(coeffects) {\n\t\t\ttabsDragUtils.handleDragOver(coeffects, DND_OPERATION.dragOver);\n\t\t},\n\t\ttarget: document,\n\t},\n\t{\n\t\tevents: ['dragstart'],\n\t\teffect(coeffects) {\n\t\t\ttabsDragUtils.handleDragStart(coeffects, DND_OPERATION.dragStart);\n\t\t},\n\t},\n\t{\n\t\tevents: ['dragend', 'drop'],\n\t\teffect(coeffects) {\n\t\t\tconst op =\n\t\t\t\tcoeffects.action.payload.event === 'drop'\n\t\t\t\t\t? DND_OPERATION.drop\n\t\t\t\t\t: DND_OPERATION.dragEnd;\n\t\t\ttabsDragUtils.handleDrop(coeffects, op);\n\t\t},\n\t\ttarget: document,\n\t},\n\t{\n\t\tevents: ['dragenter', 'dragleave'],\n\t\teffect(coeffects) {\n\t\t\ttabsDragUtils.handleDragEffect(coeffects);\n\t\t},\n\t},\n\t{\n\t\tevents: ['mousemove'],\n\t\teffect(coeffects) {\n\t\t\t// Only handle mousemove if a double-click drag is active\n\t\t\tif (\n\t\t\t\tcoeffects.state.dndState &&\n\t\t\t\tcoeffects.state.dndState.isDoubleClickActive\n\t\t\t) {\n\t\t\t\ttabsDragUtils.handleDragOver(\n\t\t\t\t\tcoeffects,\n\t\t\t\t\tDND_OPERATION.doubleClickDragOver,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\ttarget: document,\n\t},\n\t{\n\t\tevents: ['mouseup'],\n\t\teffect(coeffects) {\n\t\t\t// Only handle mouseup if a double-click drag is active\n\t\t\tif (\n\t\t\t\tcoeffects.state.dndState &&\n\t\t\t\tcoeffects.state.dndState.isDoubleClickActive\n\t\t\t) {\n\t\t\t\ttabsDragUtils.handleDrop(\n\t\t\t\t\tcoeffects,\n\t\t\t\t\tDND_OPERATION.doubleClickDragEnd,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\ttarget: document,\n\t},\n];\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport { t } from 'sn-translate';\nimport { klona } from 'klona';\nimport styles from './_sn-canvas-tabs.scss';\nimport { canvasTabs } from './sn-canvas-tabs.view';\nimport GlobalResizeListener from '../../utils/global-resize-listener';\nimport { trackEvent } from '../../utils/marks';\nimport {\n\tCANVAS_NEW_TAB_MARK,\n\tCUSTOM_DOUBLE_CLICK,\n\tREOPEN_CLOSED_TAB,\n} from '../../constants/constants';\nimport * as tabsDragUtils from './../internal/canvas-tabbar/utils';\nimport { DND_OPERATION } from '../../constants/constants';\nimport { snCanvasTabsEventHandlers } from './sn-canvas-tabs.eventHandlers';\nimport {\n\tuiInteractionBehavior,\n\tuiInteractionActions,\n} from '../../utils/behavior-ui-interaction-fallback';\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\nconst initFlyoutMenu = {\n\tid: REOPEN_CLOSED_TAB,\n\tlabel: t('Reopen Last Tab'),\n\tdisabled: true,\n\tflyoutItems: [\n\t\t{\n\t\t\tid: 'recently_closed_tabs',\n\t\t\tlabel: t('Recently Closed Tabs'),\n\t\t\tchildren: [],\n\t\t},\n\t],\n};\n\nconst constructClosedTabs = (tabKeys, closedTabs) => {\n\tconst flyoutMenu = klona(initFlyoutMenu);\n\tflyoutMenu.disabled = tabKeys.length === 0;\n\tflyoutMenu.flyoutItems[0].children = tabKeys.map((key) => {\n\t\treturn {\n\t\t\tlabel: closedTabs[key].content.title,\n\t\t\tid: key,\n\t\t};\n\t});\n\treturn flyoutMenu;\n};\n\nconst getClosedTabs = (tabsData, selectedTabId, closedTabs, tabsLevel) => {\n\tif (!closedTabs || !tabsData) return initFlyoutMenu;\n\t// using loose equality intentionally as tabsLevel can be string\n\tif (tabsLevel == 1) {\n\t\treturn constructClosedTabs(closedTabs.root.tabList, closedTabs);\n\t} else if (tabsLevel == 2) {\n\t\tconst tabId =\n\t\t\ttabsData[selectedTabId].parentTabId === 'root'\n\t\t\t\t? selectedTabId\n\t\t\t\t: tabsData[selectedTabId].parentTabId;\n\t\tconst key = tabsData[tabId].contentKey;\n\n\t\tif (!closedTabs[key]) return initFlyoutMenu;\n\n\t\tconst subTabKeys = closedTabs[key].tabList;\n\n\t\treturn constructClosedTabs(subTabKeys, closedTabs);\n\t}\n};\n\nexport const tabsLifeCycleHandlers = {\n\t[COMPONENT_DOM_READY]: ({ host, updateState }) => {\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tGlobalResizeListener.add(nowId, () => {\n\t\t\tupdateState({ maxWidth: host.clientWidth });\n\t\t});\n\t},\n\t[COMPONENT_RENDER_REQUESTED]({ action, properties: { tabsData } }) {\n\t\tif (!tabsData) {\n\t\t\taction.preventDefault();\n\t\t}\n\t},\n\t[COMPONENT_TREE_RENDERED]: ({ host, updateState }) => {\n\t\t// this is to update initial state to proper width\n\t\t// we should ignore zero width as it is not a valid value\n\t\t// @see DEF0676079\n\t\tif (host.clientWidth) {\n\t\t\tupdateState({ maxWidth: host.clientWidth });\n\t\t}\n\t},\n\t[COMPONENT_DISCONNECTED]: ({ host }) => {\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tGlobalResizeListener.remove(nowId);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: { payload },\n\t\tupdateState,\n\t\tproperties,\n\t}) => {\n\t\tconst { name, previousValue, value } = payload;\n\t\tif (name === 'tabsData') {\n\t\t\tconst showSubTabsHideAnimation =\n\t\t\t\tpreviousValue !== null &&\n\t\t\t\tvalue.root.selectedTabId === previousValue.root.selectedTabId;\n\t\t\tupdateState({\n\t\t\t\tshowSubTabsHideAnimation,\n\t\t\t});\n\n\t\t\t// Check if selected tab has changed, either at root level or subtab level\n\t\t\tconst hasRootTabChanged =\n\t\t\t\tvalue.root.selectedTabId !== previousValue?.root?.selectedTabId;\n\n\t\t\t// Only check subtab if previous data exists and root tab id is valid\n\t\t\tconst currentRootTabId = value.root.selectedTabId;\n\t\t\tconst hasSubTabChanged =\n\t\t\t\tpreviousValue &&\n\t\t\t\tvalue[currentRootTabId]?.selectedTabId !==\n\t\t\t\t\tpreviousValue[currentRootTabId]?.selectedTabId;\n\n\t\t\tif (hasRootTabChanged || hasSubTabChanged) {\n\t\t\t\tconst closedTabsMenu = getClosedTabs(\n\t\t\t\t\tvalue,\n\t\t\t\t\tvalue.root.selectedTabId,\n\t\t\t\t\tproperties.closedTabsData?.closedTabs,\n\t\t\t\t\tproperties.tabsLevel,\n\t\t\t\t);\n\t\t\t\tupdateState({ closedTabsMenu });\n\t\t\t}\n\t\t} else if (name === 'closedTabsData') {\n\t\t\tconst { tabsData, tabsLevel } = properties;\n\t\t\tconst closedTabsMenu = getClosedTabs(\n\t\t\t\ttabsData,\n\t\t\t\ttabsData?.root?.selectedTabId,\n\t\t\t\tvalue?.closedTabs,\n\t\t\t\ttabsLevel,\n\t\t\t);\n\t\t\tupdateState({ closedTabsMenu });\n\t\t}\n\t},\n};\n\nexport const tabsActionHandlers = {\n\t'CANVAS_TAB_BAR#FOCUSED_TAB_SET': ({\n\t\taction: { payload },\n\t\tupdateState,\n\t\tstate,\n\t}) => {\n\t\tconst { focusedTabIndex } = state;\n\t\tconst { level, tabIndex } = payload;\n\n\t\tlet startIndex = level + 1;\n\t\tconst maxIndex = Object.entries(focusedTabIndex).length;\n\t\tlet _focusedTabIndex = { [level]: tabIndex };\n\t\twhile (startIndex <= maxIndex) {\n\t\t\t_focusedTabIndex[startIndex] = -1;\n\t\t\tstartIndex = startIndex + 1;\n\t\t}\n\t\tconst newFocusedTabIndex = {\n\t\t\t...state.focusedTabIndex,\n\t\t\t..._focusedTabIndex,\n\t\t};\n\t\tupdateState({ focusedTabIndex: newFocusedTabIndex });\n\t},\n\t[CANVAS_NEW_TAB_MARK]: (coeffects) => {\n\t\ttrackEvent[CANVAS_NEW_TAB_MARK](coeffects);\n\t},\n\t[CUSTOM_DOUBLE_CLICK]: (coeffects) => {\n\t\ttabsDragUtils.handleDragStart(\n\t\t\tcoeffects,\n\t\t\tDND_OPERATION.doubleClickDragStart,\n\t\t);\n\t},\n\t[uiInteractionActions.UI_INTERACTION_LOAD_STARTED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({ showInteractionLoader: true });\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[uiInteractionActions.UI_INTERACTION_LOAD_SUCCEEDED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({ showInteractionLoader: false });\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[uiInteractionActions.UI_INTERACTION_LOAD_FAILED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({ showInteractionLoader: false });\n\t\t},\n\t\tstopPropagation: true,\n\t},\n};\n\n/**\n * `sn-canvas-tabs` is a navigational component  that provides flexibility to switch between\n * pages/screens opened in a session in a single page app.\n *\n * There are 3 types of tabs\n *\n * ## Primary\n * An application can have only one Primary tab rendered at any point and it is always the first\n * tab if exists. Primary tab switches between `primaryRoutes` defined in `primaryTab` property.\n *\n * ## Contextual\n * Contextual tabs are dynamically generated two-level tab set which can hold **sub tabs**.\n * The routes must be defined as `contextual` in `tabConfig` property. **DrillDowns** and\n * **DeepLinking** is not possible in Contextual tabs.\n *\n * ## Main Only\n * A tab which is not `primary` and not `contextual` is rendered as main only tab that is one-level\n * tab dynamically generated and can not hold sub tabs.\n *\n * See the [README](https://code.devsnc.com/dev/sn-canvas-chrome/blob/master/src/components/sn-canvas-tabs/README.md)\n * for complete usage.\n *\n * @seismicElement sn-canvas-tabs\n */\ncreateCustomElement('sn-canvas-tabs', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: canvasTabs,\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * This is used to determine which level the tabs will be rendered in.\n\t\t * Numbering is not zero based so the top level is 1.\n\t\t * @type {number}\n\t\t */\n\t\ttabsLevel: {\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Configuration information for all tabs across all tab bars.\n\t\t * The config drives how to render tabs and new menu items\n\t\t * @type {object}\n\t\t */\n\t\ttabConfig: {\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * This holds all the information for the individual and nested tabs.\n\t\t * See https://code.devsnc.com/dev/sn-canvas-chrome/blob/master/example/tabs/data.json#L74 for\n\t\t * an example of the structure.\n\t\t * @type {object}\n\t\t */\n\t\ttabsData: {\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Holds a list of tabs that are closed.\n\t\t * @type {object}\n\t\t */\n\t\tclosedTabsData: {\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Holds a list of tabs that are to be closed sorted right to left with the deeper tabs first.\n\t\t * @type {object}\n\t\t */\n\t\ttabsToCloseQueue: {\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Object used to block a request to open a new tab.  Includes the information to display to the user.\n\t\t * @type {object}\n\t\t */\n\t\tstopperPrompt: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tinitialState: {\n\t\t//Give tabs full window width minus the width of toolbar, host.clientWidth will override it later.\n\t\tmaxWidth: window.innerWidth - 48,\n\t\ttabsMaxOpen: 3,\n\t\tmenuConf: {\n\t\t\tcloseMenu: {\n\t\t\t\theader: null,\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'CLOSE_TAB_MENU_ITEM',\n\t\t\t\t\t\tdisplayValue: t('Close Tab'),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'CLOSE_OTHER_TABS_MENU_ITEM',\n\t\t\t\t\t\tdisplayValue: t('Close Other Tabs'),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'CLOSE_ALL_TABS_MENU_ITEM',\n\t\t\t\t\t\tdisplayValue: t('Close All Tabs'),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\tfocusedTabIndex: {\n\t\t\t1: -1, //level 1: focusedTabIndex -1\n\t\t\t2: -1,\n\t\t},\n\t\tdndState: null,\n\t\tdropTime: 0,\n\t\tshowSubTabsHideAnimation: true,\n\t\tclosedTabsMenu: initFlyoutMenu,\n\t\tshowInteractionLoader: false,\n\t},\n\tactionHandlers: {\n\t\t...tabsLifeCycleHandlers,\n\t\t...tabsActionHandlers,\n\t},\n\teventHandlers: snCanvasTabsEventHandlers,\n\tbehaviors: [\n\t\ttooltipBehavior,\n\t\trtlBehavior,\n\t\ttruncationBehavior,\n\t\tuiInteractionBehavior,\n\t],\n});\n\nconst exportsForTesting = {\n\tinitFlyoutMenu,\n};\n\nexport { exportsForTesting };\n","/*  MODULE NOTES\n *  This code was originally part of Workspace, and has been adapted to sn-canvas-chrome.\n *  All functionality related to closing tabs is in this module.\n *  Tab closing is opinionated, and follows these rules:\n *  1. Upon close, all child tabs are closed, and state is propagated up the ancenstor chain\n *  2. The user is asked to verify the close operation if this tab or any of its children are dirty.\n *     a) The user is prompted individually for each dirty child.\n *     b) The tabs are closed one at a time, independently.\n *     c) The first \"cancel\" on a dirty tab cancels all remaining close operations.\n *  3. If the tab being closed is the currently selected tab in its sub-tree, then a sibling tab is assigned\n *     as the selected tab according to this simple algorithm:\n *       a. select the next tab, if there is one\n *       b. else select the previous tab\n *  4. If the last child tab within a parent is closed, and the parent's canClose is true, then close the parent as well.\n */\n\n/** given a tab_id, return the tab object from the tabsData structure */\nfunction getTab(tabsData, tab_id) {\n\tconst tabList = Object.values(tabsData);\n\treturn tabList.find((tab) => tab.tab_id === tab_id);\n}\n\n/** return true if parentTab should be closed based on its current state */\nfunction shouldCloseParent(parentTab) {\n\treturn parentTab.tabList.length === 0 && parentTab.canClose;\n}\n\n/** recompute the dirty state of a parent tab assumint that tabToClose has been deleted */\nfunction isParentDirtyAfterChildClose(tabsData, tabToClose) {\n\tlet parentTab = getTab(tabsData, tabToClose.parentTabId);\n\tif (parentTab) {\n\t\tlet i;\n\t\tfor (i = 0; i < parentTab.tabList.length; i++) {\n\t\t\tconst siblingTab = getTab(tabsData, parentTab.tabList[i]);\n\t\t\tif (siblingTab.tab_id != tabToClose.tab_id) {\n\t\t\t\tif (siblingTab && siblingTab.isDirty) return true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n/** recompute the dirty state of a parent tab assumint that tabToClose has been deleted */\nfunction parentHasWarningAfterChildClose(tabsData, tabToClose) {\n\tlet parentTab = getTab(tabsData, tabToClose.parentTabId);\n\tif (parentTab) {\n\t\tlet i;\n\t\tfor (i = 0; i < parentTab.tabList.length; i++) {\n\t\t\tconst siblingTab = getTab(tabsData, parentTab.tabList[i]);\n\t\t\tif (siblingTab.tab_id != tabToClose.tab_id) {\n\t\t\t\tif (siblingTab && siblingTab.hasWarning) return true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n/** update the grandParent of a tab that is being closed\n *  every ancestor of the child tab being closed potentially needs to be updated\n *  1. if the child tab was the selected tab, then the new selectedTabId needs to popagate up\n *  2. the dirty state of each ancestor needs to be recomputed\n */\nfunction updateParentTabOnChildUpdate(\n\ttabsData,\n\tchildTab,\n\tselectedTabId,\n\tisDirty,\n\thasWarning,\n) {\n\tif (childTab && childTab.parentTabId) {\n\t\tlet parentTab = getTab(tabsData, childTab.parentTabId);\n\t\tif (parentTab) {\n\t\t\tparentTab.isDirty =\n\t\t\t\tisDirty || isParentDirtyAfterChildClose(tabsData, childTab);\n\t\t\tparentTab.hasWarning =\n\t\t\t\thasWarning ||\n\t\t\t\tparentHasWarningAfterChildClose(tabsData, childTab);\n\t\t\tupdateParentTabOnChildUpdate(\n\t\t\t\ttabsData,\n\t\t\t\tparentTab,\n\t\t\t\tparentTab.tab_id,\n\t\t\t\tparentTab.isDirty,\n\t\t\t\tparentTab.hasWarning,\n\t\t\t);\n\t\t}\n\t}\n}\n\n/* update the parent of a tab that is being closed\n *   1. update the parent's recomputed state, bubbling this change up to ancestors\n *   2. remove childTabToClose from parentTab's tablist and childContentKeys\n *   3. if the parent tab is now empty and is allowed to be closed, then close it as well\n */\nfunction updateParentTabOnChildClose(tabsData, parentTab, childTabToClose) {\n\tlet index = parentTab.tabList.findIndex(\n\t\t(t) => t === childTabToClose.tab_id,\n\t);\n\tif (index === -1) return; // illegal call, childTabToClose is not a child of parentTab\n\n\tparentTab.isDirty = isParentDirtyAfterChildClose(tabsData, childTabToClose);\n\tparentTab.hasWarning = parentHasWarningAfterChildClose(\n\t\ttabsData,\n\t\tchildTabToClose,\n\t);\n\tlet newSelectedTabId = '-1';\n\tif (parentTab.selectedTabId === childTabToClose.tab_id) {\n\t\t// if the childTabToClose was selected, then pick a new selection\n\t\tif (parentTab.tabList.length > index + 1) {\n\t\t\tnewSelectedTabId = parentTab.tabList[index + 1];\n\t\t} else if (index > 0) {\n\t\t\tnewSelectedTabId = parentTab.tabList[index - 1];\n\t\t}\n\t\tparentTab.selectedTabId = newSelectedTabId;\n\t}\n\t// pass the new state up the ancestor chain\n\tupdateParentTabOnChildUpdate(\n\t\ttabsData,\n\t\tparentTab,\n\t\tnewSelectedTabId,\n\t\tparentTab.isDirty,\n\t\tparentTab.hasWarning,\n\t);\n\n\t// remove the child tab from all data structures in the parent that reference it\n\tif (parentTab.childContentKeys[childTabToClose.contentKey]) {\n\t\tdelete parentTab.childContentKeys[childTabToClose.contentKey];\n\t}\n\tparentTab.tabList.splice(index, 1);\n\n\t// once the parent has been updated, see if it should also be closed\n\tif (shouldCloseParent(parentTab)) {\n\t\tcloseTabById(tabsData, parentTab.tab_id, true);\n\t}\n}\n\n/** close tab_id, which will delete the tab from tabsData and clean up all references\n *  1. close tab_id's children\n *  2. adjust parent tab and all ancestor tabs\n *  3. remove tab_id from tabsData\n */\nexport function closeTabById(tabsData, tab_id, updateParent) {\n\tlet updatedTabsData = tabsData;\n\tlet tabToDelete = getTab(tabsData, tab_id);\n\tif (!tabToDelete) return updatedTabsData;\n\n\t// close the children of this tab recursively, depth-first\n\ttabToDelete.tabList.forEach(function (childTabId) {\n\t\tupdatedTabsData = closeTabById(updatedTabsData, childTabId, false);\n\t\tdelete updatedTabsData[childTabId];\n\t});\n\n\t// adjust the parent of this tab\n\tif (updateParent) {\n\t\tif (tabToDelete.parentTabId && tabToDelete.parentTabId != '-1') {\n\t\t\tupdateParentTabOnChildClose(\n\t\t\t\ttabsData,\n\t\t\t\tupdatedTabsData[tabToDelete.parentTabId],\n\t\t\t\ttabToDelete,\n\t\t\t);\n\t\t}\n\t}\n\n\t// delete this tab.  Must be done after parent has been updated so parent can select an appropriate selectedTabId\n\tdelete updatedTabsData[tabToDelete.tab_id];\n\n\t// return the updated tabsData\n\treturn updatedTabsData;\n}\n\n/**\n * Returns a list of deleted tab IDs based on whether the tabId is L1 or L2\n *\n * @param {Object} prevTabsData - Previous state of the tabs data structure\n * @param {string} tabId - ID of the tab closed\n * @returns {Array<string>} List of deleted tab IDs\n */\nexport function getDeletedTabIds(prevTabsData, tabId) {\n\tif (!prevTabsData) return [];\n\tconst isL1Tab = prevTabsData.root.tabList.includes(tabId);\n\t// parent tab is closed, so all sub-tabs are closed\n\tif (isL1Tab) {\n\t\treturn [...prevTabsData[tabId].tabList];\n\t}\n\treturn [tabId]; // only the sub-tab is closed\n}\n\n/** return a list of tabs to be closed, depth first, right to left order */\nexport function getTabsToCloseQueue(\n\ttabsData,\n\toperation,\n\ttab_id,\n\ttabsToCloseQueue,\n\ttabFilter,\n) {\n\tif (!tabsData[tab_id] || !tabsData[tab_id].tabList) return tabsToCloseQueue; // pre-condition\n\tif (tabFilter && !tabFilter(tabsData[tab_id])) return tabsToCloseQueue; // no data to process\n\n\tif (!tabsToCloseQueue.tabList) tabsToCloseQueue.tabList = []; // initialize the output struct\n\t// process child tabs first\n\tlet i = tabsData[tab_id].tabList.length - 1;\n\tfor (; i >= 0; i--) {\n\t\ttabsToCloseQueue = getTabsToCloseQueue(\n\t\t\ttabsData,\n\t\t\toperation,\n\t\t\ttabsData[tab_id].tabList[i],\n\t\t\ttabsToCloseQueue,\n\t\t\tnull,\n\t\t);\n\t}\n\t// add this tab to the queue\n\tconst isDirty = tabsData[tab_id].isDirty ? tabsData[tab_id].isDirty : false;\n\tconst hasWarning = tabsData[tab_id].hasWarning\n\t\t? tabsData[tab_id].hasWarning\n\t\t: false;\n\tlet confirmationStatus = '';\n\tif (isDirty || hasWarning) confirmationStatus = 'pending';\n\tconst queueItem = {\n\t\ttab_id: tab_id,\n\t\tisDirty: isDirty,\n\t\tconfirmationStatus: confirmationStatus,\n\t\tdirtyModalId: tabsData[tab_id].dirtyModalId,\n\t\thasWarning: hasWarning,\n\t\twarningModalId: tabsData[tab_id].warningModalId,\n\t\tscreenNowId: tabsData[tab_id].screenNowId,\n\t\tcontentKey: tabsData[tab_id].contentKey,\n\t};\n\ttabsToCloseQueue.tabList.push(queueItem);\n\treturn tabsToCloseQueue;\n}\n","export const getSessionStorageKey = (experienceId) =>\n\texperienceId\n\t\t? `canvasSessionTabsData_${experienceId}`\n\t\t: `canvasSessionTabsData_${new Date().getTime()}`; //make it almost impossible to use sessionStorage without experienceId\n\nexport const getStorageKeyChatOnPageMap = (experienceId) => {\n\treturn experienceId\n\t\t? `canvasSessionChatOnPageMap_${experienceId}`\n\t\t: `canvasSessionChatOnPageMap_${new Date().getTime()}`;\n};\n\nexport const getStorageKeyClosedTabs = (experienceId) =>\n\t`canvasSessionClosedTabsData_${experienceId}`;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t} });","import { isDetailTab, generateL2TabKey } from '../utils/tabsData.utils';\nimport { klona } from 'klona';\nimport { getMaxHistoryTabLimit } from '../utils/tabsData.config';\n\n/*\nclosedTabsData: {\n\tuserId: \"\",\n\texperienceId: \"\",\n\tclosedTabs: {\n\t\troot: {\n\t\t\ttabList: [l1Key1, l1Key2],  // List of L1 tabs\n\t\t},\n\t\tl1Key1: {\n\t\t\tcontent: {},                 // route payload aka selectedContent\n\t\t\ttabList: [l2Key1, l2Key2],   // List of L2 tabs for this L1\n\t\t\tselectedTabKey: l2Key1,      // Selected L2 tab\n\t\t},\n\t\tl1Key2: {\n\t\t\tcontent: {},\n\t\t\ttabList: [l2Key3],\n\t\t\tselectedTabKey: null,\n\t\t},\n\t\tl2Key1: {\n\t\t\tcontent: {},\n\t\t\ttabList: [],\n\t\t\tselectedTabKey: null,\n\t\t}\n\t}\n}\n*/\n\nconst initState = {\n\troot: {\n\t\ttabList: [],\n\t},\n};\n\n/**\n * Setting a maximum hard-limit so that users cannot set arbitrarily high number and cause session-storage overflow\n */\nconst HARD_LIMIT = 25;\n\n/**\n * Determines if a key represents a sub-tab (L2 tab) based on key format\n * @param {string} key - The key to check\n * @returns {boolean} True if the key is for a sub-tab, false otherwise\n */\nconst isSubTabKey = (key) => key.includes('#');\n\n/**\n * Extracts the sub-tab key and parent key from a combined key\n * @param {string} key - The combined key to extract from (format: subKey#parentKey)\n * @returns {Object} An object with subKey and parentKey properties, or empty object if not a sub-tab key\n */\nconst extractKeys = (key) => {\n\tif (!isSubTabKey(key)) return {};\n\tconst [subKey, parentKey] = key.split('#');\n\treturn { subKey, parentKey };\n};\n\n/**\n * Creates or updates a tab entry in the closedTabs\n * @param {Object} tab - The tab object containing selectedContent and title\n * @param {Object} options - Additional options\n * @returns {Object} The new entry object\n */\nconst createTabEntry = (tab, options = {}) => {\n\tconst { tabList = [], selectedTabKey = null } = options;\n\tconst selectedContent = klona(tab.selectedContent);\n\tselectedContent.title = tab.title;\n\n\treturn {\n\t\tcontent: selectedContent,\n\t\ttabList,\n\t\tselectedTabKey,\n\t};\n};\n\n/**\n * Divides tabs into L1 and L2 groups based on their relationships\n * @param {Object} tabsData - The tabs data object containing all tabs\n * @param {Array<string>} tabIds - Array of tab IDs to divide\n * @returns {Object} Object with tabs with L1:L2 grouping and closed L2 tabs without parent\n */\nconst divideTabsIntoL1AndL2 = (tabsData, tabIds) => {\n\tconst { l1Tabs, l2Tabs } = tabIds.reduce(\n\t\t(acc, tabId) => {\n\t\t\tconst parentTabId = tabsData[tabId].parentTabId;\n\t\t\tif (isDetailTab(tabsData[tabId], tabsData[parentTabId])) {\n\t\t\t\tacc.l1Tabs.add(parentTabId);\n\t\t\t} else if (parentTabId === 'root') {\n\t\t\t\tacc.l1Tabs.add(tabId);\n\t\t\t} else {\n\t\t\t\tacc.l2Tabs.add(tabId);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{ l1Tabs: new Set(), l2Tabs: new Set() }, // sets do maintain insertion order\n\t);\n\n\t// Group L2 tabs by their L1 parent\n\tconst l1TabsGroup = [...l1Tabs].reduce((acc, tabId) => {\n\t\tacc[tabId] = [];\n\t\treturn acc;\n\t}, {});\n\n\tconst closedL2TabsWithoutParent = {};\n\n\t[...l2Tabs].forEach((tabId) => {\n\t\tconst parentTabId = tabsData[tabId].parentTabId;\n\t\tif (l1TabsGroup[parentTabId]) {\n\t\t\tl1TabsGroup[parentTabId].push(tabId);\n\t\t} else {\n\t\t\tclosedL2TabsWithoutParent[parentTabId] =\n\t\t\t\tclosedL2TabsWithoutParent[parentTabId] || [];\n\t\t\tclosedL2TabsWithoutParent[parentTabId].push(tabId);\n\t\t}\n\t});\n\n\treturn { l1TabsGroup, closedL2TabsWithoutParent };\n};\n\nconst removeL2Tabs = (closedTabs, l1Key, numTabsToRemove) => {\n\tconst tabList = [...closedTabs[l1Key].tabList];\n\tconst keysToRemove = tabList.splice(-numTabsToRemove);\n\tclosedTabs[l1Key] = {\n\t\t...closedTabs[l1Key],\n\t\ttabList,\n\t};\n\tkeysToRemove.forEach((key) => {\n\t\tdelete closedTabs[key];\n\t});\n};\n\nconst removeL1Tabs = (closedTabs, numTabsToRemove) => {\n\tconst tabList = [...closedTabs.root.tabList];\n\tconst keysToRemove = tabList.splice(-numTabsToRemove);\n\tclosedTabs.root = {\n\t\t...closedTabs.root,\n\t\ttabList,\n\t};\n\tkeysToRemove.forEach((key) => {\n\t\t// Only remove L1 tabs that have no L2 tabs, preserve those with L2 tabs\n\t\tif (closedTabs[key].tabList.length === 0) {\n\t\t\tdelete closedTabs[key];\n\t\t}\n\t});\n};\n\n/**\n * Removes all the excess tabs(both L1 and L2 tabs) from the closedTabs\n * @param {Object} closedTabs - The closedTabs object from closedTabsData\n * @param {Object} tabConfig - The tabConfig object containing maxHistoryTabLimit\n */\nconst removeExcessTabs = (closedTabs, tabConfig) => {\n\tconst limit = Math.min(getMaxHistoryTabLimit(tabConfig), HARD_LIMIT);\n\n\tif (limit <= 0) return initState;\n\n\tconst allKeys = Object.keys(closedTabs).filter((key) => key !== 'root');\n\tallKeys.forEach((key) => {\n\t\tconst tabList = closedTabs[key]?.tabList;\n\t\tif (tabList?.length > limit) {\n\t\t\tremoveL2Tabs(closedTabs, key, tabList.length - limit);\n\t\t}\n\t});\n\n\tconst numL1Keys = closedTabs.root.tabList.length;\n\tif (numL1Keys > limit) {\n\t\tremoveL1Tabs(closedTabs, numL1Keys - limit);\n\t}\n\n\treturn { ...closedTabs };\n};\n\n/**\n * Removes excess L1 tabs (including its L2 tabs) from the input\n * @param {Object} tabsGroup - Map of L1 tab IDs to arrays of their L2 tab IDs\n * @param {number} limit - The maximum number of L1 tabs allowed\n * @param {Object} options - Options object containing isL1Closed property\n * @returns {Object} New tabsGroup object with excess L1 tabs removed\n */\nconst removeExcessTabsFromInput = (tabsGroup, limit, options) => {\n\tconst l1Keys = Object.keys(tabsGroup);\n\tl1Keys.forEach((l1Key) => {\n\t\tlet numTabsToAdd = tabsGroup[l1Key].length;\n\t\tif (numTabsToAdd > limit)\n\t\t\ttabsGroup[l1Key] = tabsGroup[l1Key].slice(numTabsToAdd - limit);\n\t});\n\n\tif (options.isL1Closed) {\n\t\tif (l1Keys.length > limit) {\n\t\t\tconst l1KeysToRemove = l1Keys.slice(0, l1Keys.length - limit);\n\t\t\tfor (const key of l1KeysToRemove) {\n\t\t\t\tdelete tabsGroup[key];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn tabsGroup;\n};\n\n/**\n * Removes excess L1 tabs from the state\n * @param {Object} closedTabs - The current closedTabs object from closedTabsData\n * @param {Object} tabsData - The tabs data object containing all tabs\n * @param {Object} l1TabsGroup - Map of L1 tab IDs to arrays of their L2 tab IDs\n * @param {number} limit - The maximum number of tabs allowed\n * @param {Object} options - Options object containing isL1Closed property\n * @returns {Object} New closedTabs object with excess L1 tabs removed\n */\nconst removeExcessTabsFromExistingTabs = (\n\tclosedTabs,\n\ttabsData,\n\ttabsGroup,\n\tlimit,\n\toptions,\n) => {\n\tconst l1TabIds = Object.keys(tabsGroup);\n\n\t// remove excess l2Keys\n\tl1TabIds.forEach((l1TabId) => {\n\t\tconst l1Key = tabsData[l1TabId].contentKey;\n\t\tconst currentCount = closedTabs[l1Key]\n\t\t\t? closedTabs[l1Key].tabList.length\n\t\t\t: 0;\n\t\tconst newSize = currentCount + tabsGroup[l1TabId].length;\n\t\tif (newSize > limit) {\n\t\t\tremoveL2Tabs(closedTabs, l1Key, newSize - limit);\n\t\t}\n\t});\n\n\t// remove excess L1 Keys only if the tabsGroup contains closed L1 Tabs\n\tif (options.isL1Closed) {\n\t\tconst currentCount = closedTabs.root.tabList.length;\n\t\tconst newSize = currentCount + l1TabIds.length;\n\t\tif (newSize > limit) {\n\t\t\tconst numTabsToRemove = newSize - limit;\n\t\t\tremoveL1Tabs(closedTabs, numTabsToRemove);\n\t\t}\n\t}\n\n\treturn closedTabs;\n};\n\n/**\n * DEF0784660: Filters out duplicate keys from an existing list and prepends new keys\n * @param {Array<string>} existingList - The existing list of keys\n * @param {Array<string>} newKeys - The new keys to be prepended\n * @returns {Array<string>} New list with duplicates removed and newKeys at the front\n */\nconst filterDuplicates = (existingList, newKeys) => {\n\tconst newKeysSet = new Set(newKeys);\n\tconst filteredList = existingList.filter((key) => !newKeysSet.has(key));\n\treturn [...newKeys, ...filteredList];\n};\n\n/**\n * Processes a closed L1 tab with its child tabs, updating closedTabs object\n * @param {Object} closedTabs - The closedTabs object from closedTabsData\n * @param {Object} tabsData - The tabs data object containing all tabs\n * @param {string} l1TabId - The ID of the L1 tab being processed\n * @param {Array<string>} l2TabIds - Array of L2 tab IDs associated with this L1\n * @param {Object} options - Options object containing isL1Closed property\n * @returns {Object} new changes to closedTabs object\n */\nconst processClosedTabGroup = (\n\tclosedTabs,\n\ttabsData,\n\tl1TabId,\n\tl2TabIds,\n\toptions,\n) => {\n\tconst tab = tabsData[l1TabId];\n\n\tconst updates = {};\n\tconst l2Keys = [];\n\t// Process all child tabs\n\tfor (const l2TabId of l2TabIds) {\n\t\tconst l2Tab = tabsData[l2TabId];\n\t\tconst l2Key = generateL2TabKey(l2Tab.contentKey, tab.contentKey);\n\t\t// Create the L2 tab entry\n\t\tupdates[l2Key] = createTabEntry(l2Tab);\n\t\tl2Keys.push(l2Key);\n\t}\n\n\tlet selectedTabKey = null;\n\n\t// Process selected tab ID if there is one\n\tif (tab.selectedTabId && l2TabIds.includes(tab.selectedTabId)) {\n\t\tselectedTabKey = generateL2TabKey(\n\t\t\ttabsData[tab.selectedTabId].contentKey,\n\t\t\ttab.contentKey,\n\t\t);\n\t}\n\tconst parentKey = tab.contentKey;\n\n\tif (options.isL1Closed) {\n\t\tupdates[parentKey] = createTabEntry(tab, { selectedTabKey });\n\t\tupdates[parentKey].tabList = l2Keys.reverse();\n\t\t// cleanup previous L2 keys for the parent tab\n\t\tif (closedTabs[parentKey]) {\n\t\t\tconst prevL2Keys = closedTabs[parentKey].tabList;\n\t\t\tprevL2Keys.forEach((key) => {\n\t\t\t\tdelete closedTabs[key];\n\t\t\t});\n\t\t}\n\t} else {\n\t\tupdates[parentKey] = closedTabs[parentKey] || createTabEntry(tab);\n\t\tupdates[parentKey].tabList = filterDuplicates(\n\t\t\tupdates[parentKey].tabList,\n\t\t\tl2Keys.reverse(),\n\t\t);\n\t}\n\n\treturn updates;\n};\n\n/**\n * Process L1 tabs grouped with their L2 children, updating closedTabs object\n * @param {Object} closedTabs - The closedTabs object from closedTabsData\n * @param {Object} tabsData - The tabs data object containing all tabs\n * @param {Object} l1TabsGroup - Map of L1 tab IDs to arrays of their L2 tab IDs\n * @returns {Object} Updated closedTabs object\n */\nconst processClosedTabGroups = (closedTabs, tabsData, l1TabsGroup, options) => {\n\tlet updates = {};\n\tObject.entries(l1TabsGroup).forEach(([l1TabId, l2TabIds]) => {\n\t\tconst update = processClosedTabGroup(\n\t\t\tclosedTabs,\n\t\t\ttabsData,\n\t\t\tl1TabId,\n\t\t\tl2TabIds,\n\t\t\toptions,\n\t\t);\n\t\tupdates = { ...updates, ...update };\n\t});\n\n\tlet rootTabList = closedTabs.root.tabList;\n\tif (options.isL1Closed) {\n\t\tconst l1Keys = Object.keys(l1TabsGroup)\n\t\t\t.reverse()\n\t\t\t.map((id) => tabsData[id].contentKey);\n\t\trootTabList = filterDuplicates(closedTabs.root.tabList, l1Keys);\n\t}\n\n\treturn {\n\t\t...closedTabs,\n\t\t...updates,\n\t\troot: {\n\t\t\t...closedTabs.root,\n\t\t\ttabList: rootTabList,\n\t\t},\n\t};\n};\n\n/**\n * Processes multiple closed tabs, updating closedTabs object to track them\n * @param {Object} closedTabs - The closedTabs object from closedTabsData\n * @param {Object} tabsData - The tabs data object containing all tabs\n * @param {Array<string>} tabIds - Array of tab IDs that were closed\n * @returns {Object} Updated closedTabs object\n */\nconst processClosedTabs = (closedTabs, tabsData, tabIds, tabConfig) => {\n\t// Return early if no tabs to process\n\tif (!tabIds || tabIds.length === 0) return closedTabs;\n\n\t// Get the maximum history limit\n\tconst limit = Math.min(getMaxHistoryTabLimit(tabConfig), HARD_LIMIT);\n\n\t// If the limit is 0 or negative, reset `closedTabs` and don't process any tabs\n\tif (limit <= 0) {\n\t\tif (closedTabs.root.tabList.length > 0) {\n\t\t\tclosedTabs = initState;\n\t\t}\n\t\treturn closedTabs;\n\t}\n\n\tconst { l1TabsGroup, closedL2TabsWithoutParent } = divideTabsIntoL1AndL2(\n\t\ttabsData,\n\t\ttabIds,\n\t);\n\n\tconst filteredL1TabsGroup = removeExcessTabsFromInput(l1TabsGroup, limit, {\n\t\tisL1Closed: true,\n\t});\n\tconst filteredClosedL2TabsWithoutParent = removeExcessTabsFromInput(\n\t\tclosedL2TabsWithoutParent,\n\t\tlimit,\n\t\t{ isL1Closed: false },\n\t);\n\n\tclosedTabs = removeExcessTabsFromExistingTabs(\n\t\tclosedTabs,\n\t\ttabsData,\n\t\tfilteredL1TabsGroup,\n\t\tlimit,\n\t\t{ isL1Closed: true },\n\t);\n\tclosedTabs = removeExcessTabsFromExistingTabs(\n\t\tclosedTabs,\n\t\ttabsData,\n\t\tfilteredClosedL2TabsWithoutParent,\n\t\tlimit,\n\t\t{ isL1Closed: false },\n\t);\n\n\t// Process L2 tabs closed without parent first\n\tif (Object.keys(filteredClosedL2TabsWithoutParent).length > 0) {\n\t\tclosedTabs = processClosedTabGroups(\n\t\t\tclosedTabs,\n\t\t\ttabsData,\n\t\t\tfilteredClosedL2TabsWithoutParent,\n\t\t\t{ isL1Closed: false },\n\t\t);\n\t}\n\n\t// Then process L1 tabs with their children\n\tif (Object.keys(filteredL1TabsGroup).length > 0) {\n\t\tclosedTabs = processClosedTabGroups(\n\t\t\tclosedTabs,\n\t\t\ttabsData,\n\t\t\tfilteredL1TabsGroup,\n\t\t\t{ isL1Closed: true },\n\t\t);\n\t}\n\n\treturn closedTabs;\n};\n\n/**\n * Creates a content payload from a tab content object\n * @param {Object} content - The content object from which to create the payload\n * @returns {Object} A formatted payload object with appropriate fields\n */\nconst createContentPayload = (content) => {\n\treturn {\n\t\ttitle: content.title,\n\t\t...(content.context && { context: { ...content.context } }),\n\t\troute: content.route,\n\t\tfields: { ...content.fields },\n\t\tencodedPersistedState: content.encodedPersistedState,\n\t\t...(content.params && { params: { ...content.params } }),\n\t\t...(content.multiInstField && {\n\t\t\tmultiInstField: content.multiInstField,\n\t\t}),\n\t\t...(content.uid && { uid: content.uid }),\n\t\t...(content.interopContext && {\n\t\t\tinteropContext: content.interopContext,\n\t\t}),\n\t};\n};\n\n/**\n * Creates a selectedContent payload from closedTabs based on the key\n * @param {Object} closedTabs - The closedTabs object from closedTabsData\n * @param {string} key - The key for the tab (either L1 or L2)\n * @param {string} [parentKey] - The parent key for L2 tabs, if applicable\n * @returns {Object} A selectedContent payload object with appropriate fields\n */\nconst createSelectedContentPayload = (closedTabs, key, parentKey) => {\n\tif (!closedTabs || !closedTabs[key]) {\n\t\treturn null;\n\t}\n\n\tconst { content } = closedTabs[key];\n\n\t// Create the main payload\n\tconst payload = createContentPayload(content);\n\n\t// For L2 tabs, we need to extract the parent info\n\tif (parentKey) {\n\t\tif (closedTabs[parentKey]) {\n\t\t\t// Add parent info to the payload\n\t\t\tpayload.parent = createContentPayload(\n\t\t\t\tclosedTabs[parentKey].content,\n\t\t\t);\n\t\t}\n\t}\n\n\treturn payload;\n};\n\n/**\n * Removes sub-tab keys from closedTabs\n * @param {Object} closedTabs - The closedTabs object from closedTabsData\n * @param {Set<string>} newSubKeys - The sub-tab keys to remove\n * @param {Set<string>} openedKeys - The opened sub-tab keys\n * @param {string} parentKey - The parent key these sub-tabs belong to\n * @returns {Object} Updated closedTabs object\n */\nconst purgeSubTabFromClosedTabs = (\n\tclosedTabs,\n\tnewSubKeys,\n\topenedKeys,\n\tparentKey,\n) => {\n\tconst updatedParentTab = {\n\t\t...closedTabs[parentKey],\n\t\ttabList: [...newSubKeys],\n\t};\n\topenedKeys.forEach((key) => delete closedTabs[key]);\n\tclosedTabs[parentKey] = updatedParentTab;\n\n\treturn closedTabs;\n};\n\n/**\n * Purges keys from closedTabs based on tabsData\n * @param {Object} closedTabs - The closedTabs object from closedTabsData\n * @param {Set<string>} keys - Set of keys to purge\n * @param {Object} tabsData - The tabs data object containing all tabs\n * @returns {Object} Updated closedTabs object with purged keys\n */\nconst purgeKeysFromClosedTabs = (closedTabs, keys, tabsData) => {\n\tif (!keys || keys.size === 0 || !closedTabs) return closedTabs;\n\n\tlet updatedClosedTabs = { ...closedTabs };\n\n\tfor (const key of keys) {\n\t\tif (!updatedClosedTabs[key]) continue;\n\n\t\t// Find the tab ID that corresponds to this key\n\t\tconst parentTabId = tabsData.root.tabList.find((tabId) => {\n\t\t\treturn tabsData[tabId].contentKey === key;\n\t\t});\n\n\t\tif (parentTabId) {\n\t\t\tconst openSubTabs = tabsData[parentTabId].tabList || [];\n\t\t\tconst subKeysSet = new Set(updatedClosedTabs[key]?.tabList || []);\n\n\t\t\t// if closed sub tabs are not empty and open sub tabs are more than 1 (exclude details tab)\n\t\t\tif (subKeysSet.size > 0 && openSubTabs.length > 1) {\n\t\t\t\tconst openedSubTabKeys = new Set();\n\t\t\t\topenSubTabs.forEach((subtabId) => {\n\t\t\t\t\tconst subtab = tabsData[subtabId];\n\t\t\t\t\tif (subtab && !subtab.isDetailTab) {\n\t\t\t\t\t\tconst l2Key = generateL2TabKey(\n\t\t\t\t\t\t\tsubtab.contentKey,\n\t\t\t\t\t\t\ttabsData[parentTabId].contentKey,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (subKeysSet.has(l2Key)) {\n\t\t\t\t\t\t\tsubKeysSet.delete(l2Key);\n\t\t\t\t\t\t\topenedSubTabKeys.add(l2Key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tupdatedClosedTabs = purgeSubTabFromClosedTabs(\n\t\t\t\t\tupdatedClosedTabs,\n\t\t\t\t\tsubKeysSet,\n\t\t\t\t\topenedSubTabKeys,\n\t\t\t\t\tkey,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (subKeysSet.size === 0) {\n\t\t\t\tdelete updatedClosedTabs[key];\n\t\t\t}\n\t\t}\n\t}\n\n\tconst updatedRootTabList = updatedClosedTabs.root.tabList.filter(\n\t\t(tabKey) => !keys.has(tabKey),\n\t);\n\n\treturn {\n\t\t...updatedClosedTabs,\n\t\troot: {\n\t\t\t...updatedClosedTabs.root,\n\t\t\ttabList: updatedRootTabList,\n\t\t},\n\t};\n};\n\nexport {\n\tprocessClosedTabs,\n\tpurgeKeysFromClosedTabs,\n\tcreateContentPayload,\n\tcreateSelectedContentPayload,\n\textractKeys,\n\tremoveExcessTabs,\n};\n\nexport const exportsForTesting = {\n\tisSubTabKey,\n\tcreateTabEntry,\n\tdivideTabsIntoL1AndL2,\n\tprocessClosedTabGroup,\n\tprocessClosedTabGroups,\n\tremoveExcessTabsFromInput,\n\tremoveExcessTabsFromExistingTabs,\n};\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nimport {\n\tgetSessionStorageKey,\n\tgetStorageKeyClosedTabs,\n} from '../utils/browser';\nimport { getProperty } from 'sn-uxpage-presource';\nimport { removeExcessTabs } from './tabsData.reopenTabs';\n\nexport const LOCAL_STORAGE = 'localStorage';\nexport const SESSION_STORAGE = 'sessionStorage';\n\nexport const storageNamespace = {\n\t[LOCAL_STORAGE]: 'CANVAS_SESSION_TABS_LOCAL_STORAGE',\n\t[SESSION_STORAGE]: 'CANVAS_SESSION_TABS_SESSION_STORAGE',\n};\n\nlet nextTabId = 0; // Math.round(Math.random() * 1000);\n\nexport function getNextTabId() {\n\treturn 'tab_' + nextTabId++;\n}\n\nexport function shouldUseLocalStorage() {\n\treturn (\n\t\tgetProperty('glide.ui.restore.previous.session.tabs.v2', 'true') ===\n\t\t'true'\n\t);\n}\n\nexport function getStorageType() {\n\treturn shouldUseLocalStorage() ? LOCAL_STORAGE : SESSION_STORAGE;\n}\n\nexport async function getClosedTabs(userId, experienceId, tabConfig) {\n\tif (!experienceId) return;\n\tlet closedTabsData = {\n\t\tuserId,\n\t\texperienceId,\n\t\tclosedTabs: {\n\t\t\troot: {\n\t\t\t\ttabList: [],\n\t\t\t},\n\t\t},\n\t};\n\t// try-catch for session storage support.\n\ttry {\n\t\tlet storedTabsData = await getUnifiedCacheInstance(\n\t\t\tSESSION_STORAGE,\n\t\t\tstorageNamespace[SESSION_STORAGE],\n\t\t).getItem(getStorageKeyClosedTabs(experienceId));\n\t\tif (!storedTabsData) return closedTabsData;\n\n\t\tstoredTabsData = JSON.parse(storedTabsData);\n\t\tif (\n\t\t\tstoredTabsData.userId === userId &&\n\t\t\tstoredTabsData.experienceId === experienceId\n\t\t) {\n\t\t\tstoredTabsData.closedTabs = removeExcessTabs(\n\t\t\t\tstoredTabsData.closedTabs,\n\t\t\t\ttabConfig,\n\t\t\t);\n\t\t\tclosedTabsData = storedTabsData;\n\t\t}\n\t} catch (e) {\n\t\t//Error reading Closed Tabs\n\t}\n\treturn closedTabsData;\n}\n\nexport async function getStoredTabs(userId, experienceId) {\n\tif (!experienceId) return;\n\t//let tabsData = getInitialTabsData();\n\tlet tabsData, tabConfig, language;\n\t// try-catch for session storage support.\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tconst storedtabsData = await getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).getItem(getSessionStorageKey(experienceId));\n\t\tif (\n\t\t\tstoredtabsData &&\n\t\t\tstoredtabsData.userId === userId &&\n\t\t\tstoredtabsData.experienceId === experienceId &&\n\t\t\tstoredtabsData.root &&\n\t\t\tArray.isArray(storedtabsData.root.tabList) &&\n\t\t\tstoredtabsData.root.tabList.length\n\t\t) {\n\t\t\t({\n\t\t\t\tuserId,\n\t\t\t\tnextTabId,\n\t\t\t\texperienceId,\n\t\t\t\ttabConfig,\n\t\t\t\tlanguage,\n\t\t\t\t...tabsData\n\t\t\t} = storedtabsData);\n\t\t\t//move suspend logic here\n\t\t}\n\t\t//window.sessionStorage.removeItem(getSessionStorageKey());\n\t} catch (e) {\n\t\t//Error reading Stored Tabs\n\t}\n\tif (!tabsData && !tabConfig) return;\n\n\treturn { tabsData, tabConfig, language };\n}\n\nexport async function saveTabs(tabsData, tabConfig, userId, experienceId) {\n\tif (!experienceId) return;\n\tconst language = window.ux_globals?.session?.output?.user?.language;\n\t// try-catch for session storage support. Just do nothing if unavailable.\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tawait getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).setItem(getSessionStorageKey(experienceId), {\n\t\t\tnextTabId,\n\t\t\tuserId,\n\t\t\texperienceId,\n\t\t\ttabConfig,\n\t\t\tlanguage,\n\t\t\t...tabsData,\n\t\t});\n\t} catch (e) {\n\t\treturn;\n\t}\n}\n\nexport async function saveClosedTabs(closedTabsData, experienceId) {\n\tif (!experienceId) return;\n\ttry {\n\t\tawait getUnifiedCacheInstance(\n\t\t\tSESSION_STORAGE,\n\t\t\tstorageNamespace[SESSION_STORAGE],\n\t\t).setItem(\n\t\t\tgetStorageKeyClosedTabs(experienceId),\n\t\t\tJSON.stringify(closedTabsData),\n\t\t);\n\t} catch (e) {\n\t\treturn;\n\t}\n}\n\n/**\n * Saves the new tab data if it is not null and has keys.\n *\n * @param {Object} newTabsData - The new tab data to be saved.\n * @param {Object} properties - The properties object containing userId and experienceId.\n * @returns {Promise<void>} - A promise that resolves when the save operation is complete.\n */\nexport async function saveNewTabsData(newTabsData, properties) {\n\tif (newTabsData && Object.keys(newTabsData).length > 0) {\n\t\tawait saveTabs(\n\t\t\tnewTabsData,\n\t\t\tproperties.tabConfig,\n\t\t\tproperties.userId,\n\t\t\tproperties.experienceId,\n\t\t);\n\t}\n}\n\n//suspend tabs feature\n\nexport async function clearTabs(experienceId) {\n\tif (!experienceId) return;\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tawait getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).removeItem(getSessionStorageKey(experienceId));\n\t} catch (e) {\n\t\t// Session storage not supported.\n\t}\n}\n","import { isEmpty } from 'lodash';\nimport { klona } from 'klona';\nimport { t } from 'sn-translate';\nimport {\n\tgetPrimaryTabMap,\n\tgetContentKey,\n\tgetTabTitleCachedByScreen,\n\tcontextualRouteSelected,\n\tprimaryRouteSelected,\n\tlocateTabs,\n\tgetPrimaryTabByOrder,\n} from '../utils/tabsData.utils';\n\nimport { getNextTabId } from './tabsData.storage';\nimport { TAB_DETAILS_TITLE, TAB_LOADING } from '../../../constants/constants';\n\n//Process selectedContent\n\nexport function preProcessSelectedContent(selectedContent) {\n\tlet _rootContent = { ...selectedContent };\n\tlet drillDowns = [];\n\twhile (_rootContent && _rootContent.parent) {\n\t\tlet { parent, ...drillDown } = _rootContent;\n\t\tdrillDowns.push(drillDown);\n\t\t_rootContent = parent;\n\t}\n\n\tconst _contextualRouteSelected = contextualRouteSelected(_rootContent);\n\n\tif (_contextualRouteSelected)\n\t\treturn {\n\t\t\tselectedContent,\n\t\t\tcontextualRoute: _contextualRouteSelected,\n\t\t\ttabType: 'CONTEXTUAL',\n\t\t};\n\n\tconst _primaryRouteSelected = primaryRouteSelected(_rootContent);\n\n\tif (drillDowns.length > 1) {\n\t\tdrillDowns.reverse();\n\t}\n\tconst _selectedContent = {\n\t\t..._rootContent,\n\t\t...(drillDowns.length > 0 && { drillDowns }),\n\t};\n\n\tif (_primaryRouteSelected)\n\t\treturn {\n\t\t\tselectedContent: _selectedContent,\n\t\t\tprimaryRoute: _primaryRouteSelected,\n\t\t\ttabType: 'PRIMARY',\n\t\t};\n\n\treturn { selectedContent: _selectedContent, tabType: 'MAIN_ONLY' };\n}\n\n//generate tabsData root object\nexport function generateTabsDataRoot() {\n\treturn {\n\t\troot: {\n\t\t\ttab_id: 'root',\n\t\t\tparentTabId: null,\n\t\t\tselectedTabId: '-1',\n\t\t\tchildContentKeys: {},\n\t\t\ttabList: [],\n\t\t},\n\t};\n}\n\nexport function getInitPrimaryTabData({ selectedContent, primaryRoute }) {\n\tconst primaryTabMap = getPrimaryTabMap();\n\tif (Object.keys(primaryTabMap).length === 0) return;\n\tconst primaryTab = primaryRoute\n\t\t? primaryRoute\n\t\t: !isEmpty(primaryTabMap)\n\t\t\t? getPrimaryTabByOrder(primaryTabMap)\n\t\t\t: null;\n\tif (primaryTab) {\n\t\tconst content = primaryRoute ? selectedContent : primaryTab.routeInfo;\n\n\t\tconst { label, icon } = primaryTab;\n\t\tconst options = {\n\t\t\tcanClose: false,\n\t\t\tisPrimaryTab: true,\n\t\t\tsize: null,\n\t\t\tviewportInfo: null,\n\t\t};\n\t\treturn getTabDefinition({\n\t\t\tselectedContent: { ...content, label, icon },\n\t\t\toptions,\n\t\t});\n\t}\n}\n\n/**\n * Generates tab payloads for initializing sub-tabs for re-open scenario\n * @param {Object} tabsData - Current tabs data\n * @param {Object} parentTabContent - Parent tab content\n * @param {Number} selectedSubTabIndex - Index of the selected sub-tab\n * @param {Array<Object>} subTabContents - Array of L2 tab contents\n * @returns {Object} Updated tabsData\n */\nexport function getInitReopenTabData({\n\ttabsData,\n\tparentTabContent,\n\tselectedSubTabIndex,\n\tsubTabContents = [],\n}) {\n\tif (!parentTabContent) {\n\t\treturn tabsData;\n\t}\n\n\tconst parentTab = getTabDefinition({\n\t\ttabId: getNextTabId(),\n\t\tselectedContent: parentTabContent,\n\t\toptions: { canClose: true },\n\t});\n\n\tconst root = klona(tabsData.root);\n\troot.tabList.push(parentTab.tab_id);\n\troot.childContentKeys[parentTab.contentKey] = parentTab.tab_id;\n\troot.selectedTabId = parentTab.tab_id;\n\n\tif (!contextualRouteSelected(parentTabContent)) {\n\t\treturn {\n\t\t\t...tabsData,\n\t\t\troot,\n\t\t\t[parentTab.tab_id]: parentTab,\n\t\t};\n\t}\n\n\tconst detailsTabContent = klona(parentTabContent);\n\tdetailsTabContent.isDetailsTab = true;\n\tdetailsTabContent.title = t(TAB_DETAILS_TITLE);\n\tsubTabContents.unshift(detailsTabContent);\n\n\tconst subTabs = subTabContents.map((subContent) => {\n\t\tconst subTabId = getNextTabId();\n\t\tconst subTab = getTabDefinition({\n\t\t\ttabId: subTabId,\n\t\t\tselectedContent: subContent,\n\t\t\toptions: { canClose: true },\n\t\t});\n\t\tsubTab.parentTabId = parentTab.tab_id;\n\t\treturn subTab;\n\t});\n\n\tparentTab.tabList = subTabs.map((subTab) => subTab.tab_id);\n\tparentTab.selectedTabId = subTabs[selectedSubTabIndex + 1].tab_id; // increment, since detailsTab is the first tab\n\tparentTab.childContentKeys = {\n\t\t...parentTab.childContentKeys,\n\t\t...subTabs.reduce((acc, subTab) => {\n\t\t\tacc[subTab.contentKey] = subTab.tab_id;\n\t\t\treturn acc;\n\t\t}, {}),\n\t};\n\n\treturn {\n\t\t...tabsData,\n\t\troot,\n\t\t[parentTab.tab_id]: parentTab,\n\t\t...subTabs.reduce((acc, subTab) => {\n\t\t\tacc[subTab.tab_id] = subTab;\n\t\t\treturn acc;\n\t\t}, {}),\n\t};\n}\n\n/**\n * Generates tab payloads for initializing sub-tabs for re-open scenario\n * @param {Object} tabsData - Current tabs data\n * @param {String} parentKey - Key of the parent tab\n * @param {Object} subTabContent - Sub-tab content\n * @returns {Object} Updated tabsData\n */\nexport function getInitReopenSubTabData({\n\ttabsData,\n\tparentKey,\n\tsubTabContent,\n}) {\n\tconst parentTabId = tabsData.root.tabList.find(\n\t\t(tab) => tabsData[tab].contentKey === parentKey,\n\t);\n\tif (!parentTabId) return tabsData;\n\n\tconst parentTab = klona(tabsData[parentTabId]);\n\n\tconst subTabId = getNextTabId();\n\tconst subTab = getTabDefinition({\n\t\ttabId: subTabId,\n\t\tselectedContent: subTabContent,\n\t\toptions: { canClose: true },\n\t});\n\tsubTab.parentTabId = parentTabId;\n\n\tparentTab.tabList.push(subTab.tab_id);\n\tparentTab.childContentKeys[subTab.contentKey] = subTab.tab_id;\n\tparentTab.selectedTabId = subTab.tab_id;\n\n\treturn {\n\t\t...tabsData,\n\t\t[parentTabId]: parentTab,\n\t\t[subTab.tab_id]: subTab,\n\t};\n}\n\nexport function getTabPayload(tabsData, payload) {\n\tconst { selectedContent, tabType } = payload;\n\tlet _selectedContent = { ...selectedContent };\n\n\tif (tabType === 'CONTEXTUAL' && payload.contextualRoute) {\n\t\tif (!_selectedContent.parent) {\n\t\t\t_selectedContent = {\n\t\t\t\t..._selectedContent,\n\t\t\t\tisDetailsTab: true,\n\t\t\t\tparent: _selectedContent,\n\t\t\t};\n\t\t}\n\t}\n\tlet { selectedContentStack, tabs } = locateTabs(tabsData, _selectedContent);\n\n\twhile (selectedContentStack.length > 0) {\n\t\t//create tabs for content that are not located\n\t\tconst tabId = getNextTabId();\n\t\tconst content = selectedContentStack.pop();\n\t\tconst tab = getTabDefinition({ tabId, selectedContent: content });\n\t\ttabs.push(tab);\n\t}\n\n\tlet i = 0;\n\twhile (tabs.length > 0 && i < tabs.length - 1) {\n\t\t//manage parent and child relations in payload\n\t\tconst tab = tabs[i];\n\t\tconst subTab = tabs[i + 1];\n\t\tif (i == 0) tab.parentTabId = 'root';\n\t\ttab.selectedTabId = subTab.tab_id;\n\t\ttab.childContentKeys = {\n\t\t\t...tab.childContentKeys,\n\t\t\t[subTab.contentKey]: subTab.tab_id,\n\t\t};\n\t\tif (tab.tabList && tab.tabList.indexOf(subTab.tab_id) === -1)\n\t\t\ttab.tabList.push(subTab.tab_id);\n\t\tsubTab.parentTabId = tab.tab_id;\n\t\ti++;\n\t}\n\treturn tabs;\n}\n\n//generate tab definition\nexport function getTabDefinition({ tabId, selectedContent, options = {} }) {\n\tif (!tabId) tabId = getNextTabId();\n\tconst { isDetailsTab = false, ...rest } = selectedContent;\n\tconst { canClose, isPrimaryTab = false, size, viewportInfo } = options;\n\tconst { label, title, icon } = rest;\n\tconst contentKey = getContentKey(rest);\n\tconst cachedTabTitle = getTabTitleCachedByScreen(contentKey);\n\n\tconst tab = {\n\t\ttab_id: tabId,\n\t\ttitle: isDetailsTab\n\t\t\t? t(TAB_DETAILS_TITLE)\n\t\t\t: label || title || cachedTabTitle || t(TAB_LOADING),\n\t\ticon,\n\t\tselectedTabId: '-1',\n\t\tparentTabId: 'root',\n\t\tselectedContent: rest,\n\t\tcontentKey,\n\t\tcanClose: canClose === false ? canClose : !isDetailsTab,\n\t\t...(isPrimaryTab && { isPrimaryTab }),\n\t\t...(isDetailsTab && { isDetailsTab }),\n\t\t...(size && { size: null }),\n\t\t...(viewportInfo && { viewportInfo: null }),\n\t\ttabList: [],\n\t};\n\n\treturn tab;\n}\n","import { isEmpty, isNil } from 'lodash';\nimport { klona } from 'klona';\nimport * as tabUtils from '../utils/tabsData.utils';\nimport * as constants from '../../../constants/constants';\nimport * as generators from './tabsData.generators';\nimport { getStoredTabs, saveNewTabsData } from './tabsData.storage';\nimport * as closeTabs from './tabsData.closeTabs';\n\n/**\n * Merges new tooltip segments with existing ones, using segment id as the unique identifier\n * @param {Array} existingSegments - Current segments in the tab\n * @param {Array} newSegments - New segments to merge in\n * @param {Array|string} clearSegments - Segment ids to clear before merging\n * @returns {Array} Merged segments array\n */\nexport function mergeTooltipSegments(\n\texistingSegments = [],\n\tnewSegments = [],\n\tclearSegments = null,\n) {\n\tif (!Array.isArray(existingSegments)) existingSegments = [];\n\tif (!Array.isArray(newSegments)) newSegments = [];\n\n\t// Convert clearSegments to Set for efficient lookup\n\tconst idsToClear = clearSegments\n\t\t? new Set(\n\t\t\t\tArray.isArray(clearSegments) ? clearSegments : [clearSegments],\n\t\t\t)\n\t\t: new Set();\n\n\t// Create a map of existing segments by id for efficient lookup\n\tconst existingSegmentMap = new Map();\n\texistingSegments.forEach((segment) => {\n\t\tif (segment?.id && !idsToClear.has(segment.id)) {\n\t\t\texistingSegmentMap.set(segment.id, segment);\n\t\t}\n\t});\n\n\t// Update existing segments or add new ones\n\tnewSegments.forEach((newSegment) => {\n\t\tif (newSegment?.id) {\n\t\t\texistingSegmentMap.set(newSegment.id, { ...newSegment });\n\t\t}\n\t});\n\n\t// Convert back to array and maintain order\n\treturn Array.from(existingSegmentMap.values());\n}\n\nconst reducerTypeMap = {\n\t[constants.INIT_OR_UPDATE_TABS_REDUCER]: initOrUpdateTabs,\n\t[constants.OPEN_OR_FOCUS_TAB_REDUCER]: openOrFocusTabs,\n\t[constants.LIVE_UPDATE_TABS_REDUCER]: liveUpdateTabs,\n\t[constants.LIVE_UPDATE_TABS_BATCHED_REDUCER]: liveUpdateTabsBatched,\n\t[constants.CLOSE_ONE_DRILLDOWN_REDUCER]: closeOneDrillDown,\n\t[constants.UPDATE_PRIMARY_TAB_REDUCER]: updatePrimaryTab,\n};\n\n/**\n * Generic reducer function uses type prop to determine tab reducer\n * @param tabsData\n * @param payload\n * @returns {*}\n */\nexport async function reduceTabsData(\n\treducer_type,\n\ttabsData,\n\tpayload,\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) {\n\tif (!payload) return tabsData;\n\tconst reducer = reducerTypeMap[reducer_type];\n\tif (reducer) {\n\t\tconst { uxrEnableDebug } = properties;\n\t\tconst newTabsData = await reducer(\n\t\t\ttabsData,\n\t\t\tpayload,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\t\tverifyTabsPrivate(newTabsData, reducer_type, uxrEnableDebug);\n\t\tawait saveNewTabsData(newTabsData, properties);\n\t\treturn newTabsData;\n\t}\n\n\treturn tabsData;\n}\n\nexport function setPrimaryTab(tabsData, primaryTabData, passiveNavigation) {\n\tconst newTabsData = tabsData;\n\tconst { tab_id, contentKey = {} } = primaryTabData;\n\tlet primaryTabId;\n\tif (\n\t\ttabsData &&\n\t\ttabsData.root &&\n\t\ttabsData.root.tabList &&\n\t\ttabsData.root.tabList.length > 0\n\t) {\n\t\tprimaryTabId = tabsData.root.tabList[0];\n\t\tif (\n\t\t\tprimaryTabId &&\n\t\t\ttabsData[primaryTabId] &&\n\t\t\ttabsData[primaryTabId].isPrimaryTab !== true\n\t\t) {\n\t\t\tprimaryTabId = null;\n\t\t}\n\t}\n\tprimaryTabId = primaryTabId || tab_id;\n\tif (primaryTabId) {\n\t\tnewTabsData[primaryTabId] = primaryTabData;\n\t\tnewTabsData[primaryTabId].tab_id = primaryTabId;\n\t}\n\n\tnewTabsData.root.tabList[0] = primaryTabId;\n\tnewTabsData.root.childContentKeys[contentKey] = primaryTabId;\n\tif (!passiveNavigation) newTabsData.root.selectedTabId = primaryTabId;\n\n\treturn newTabsData;\n}\n\nexport function reduceTabs(tabsData, tabs = [], passiveNavigation) {\n\tif (!tabs || !tabs.length > 0) return tabsData;\n\n\tconst { tab_id: topTabId, contentKey: topTabContentKey = {} } = tabs[0];\n\n\tconst tabsObj = tabs.reduce((obj, t) => {\n\t\tobj[t.tab_id] = t;\n\t\treturn obj;\n\t}, {});\n\n\tlet newTabsData = Object.assign({}, tabsData, tabsObj);\n\tif (!passiveNavigation) newTabsData.root.selectedTabId = topTabId;\n\n\tif (\n\t\tnewTabsData.root.tabList &&\n\t\tnewTabsData.root.tabList.indexOf(topTabId) === -1\n\t)\n\t\tnewTabsData.root.tabList.push(topTabId);\n\n\tnewTabsData.root.childContentKeys[topTabContentKey] = topTabId;\n\n\treturn newTabsData;\n}\n\nexport async function initTabs(tabsData, payload, properties) {\n\tconst { userId, experienceId } = properties;\n\tconst storedTabContent = await getStoredTabs(userId, experienceId);\n\tlet storedTabsData = storedTabContent?.tabsData;\n\tif (storedTabsData) storedTabsData = tabUtils.clearAllFlags(storedTabsData);\n\tconst { selectedContent, tabType, primaryRoute, contextualRoute } = payload;\n\n\tconst primaryTabData = generators.getInitPrimaryTabData(payload);\n\n\t// update storedTabsData title based on tabConfig. DEF0503403\n\tif (storedTabsData && properties?.tabConfig?.primaryRoute) {\n\t\tconst tabConfigPrimaryRoute = properties.tabConfig.primaryRoute;\n\t\tfor (const tabId in storedTabsData) {\n\t\t\tconst tab = storedTabsData[tabId];\n\t\t\tconst key = tab.id ?? tab.contentKey;\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(tabConfigPrimaryRoute, key)\n\t\t\t) {\n\t\t\t\t// Replace the title with the corresponding label from tabConfig\n\t\t\t\ttab.title = tabConfigPrimaryRoute[key].label;\n\t\t\t}\n\t\t}\n\t}\n\n\tlet newTabsData = storedTabsData\n\t\t? storedTabsData\n\t\t: generators.generateTabsDataRoot();\n\n\tif (\n\t\t(!storedTabsData && primaryTabData) ||\n\t\t(storedTabsData && tabType === 'PRIMARY' && primaryRoute)\n\t)\n\t\tnewTabsData = setPrimaryTab(newTabsData, primaryTabData);\n\n\t// DEF0850233: only create a content tab when there is a concrete screen to\n\t// open (selectedContent.route). An EXPERIENCE_ONLY navigation (e.g. clicking a\n\t// desktop notification to return to the workspace) arrives with a routeless\n\t// selectedContent ({ context, options }); creating a tab for it spawns an orphan\n\t// \"Loading...\" session tab that never resolves. We still return the restored\n\t// tabs so the tab bar renders.\n\tif (tabType !== 'PRIMARY' && !primaryRoute && selectedContent?.route) {\n\t\t//create details tab if launched directly in contextual route\n\t\tif (contextualRoute && selectedContent.parent) {\n\t\t\tconst _payload = Object.assign({}, payload, {\n\t\t\t\tselectedContent: Object.assign(\n\t\t\t\t\t{},\n\t\t\t\t\tpayload.selectedContent.parent,\n\t\t\t\t),\n\t\t\t});\n\t\t\tconst detailsTab = generators.getTabPayload(newTabsData, _payload);\n\t\t\tnewTabsData = reduceTabs(newTabsData, detailsTab);\n\t\t}\n\n\t\tconst tabs = generators.getTabPayload(newTabsData, payload);\n\t\tnewTabsData = reduceTabs(newTabsData, tabs);\n\t}\n\n\treturn newTabsData;\n}\n\nexport async function initOrUpdateTabs(tabsData, payload, properties) {\n\tconst { passiveNavigation = false, ...restPayload } = payload;\n\tconst transformedPayload =\n\t\tgenerators.preProcessSelectedContent(restPayload);\n\tif (!tabsData)\n\t\treturn await initTabs(tabsData, transformedPayload, properties);\n\n\tlet newTabsData = Object.assign({}, tabsData);\n\n\tconst { selectedContent, tabType, contextualRoute } = transformedPayload;\n\n\t// DEF0850233: a routeless navigation (e.g. an EXPERIENCE_ONLY request from\n\t// clicking a desktop notification) has no concrete screen to open. Leave the\n\t// existing tabs untouched rather than creating an orphan \"Loading...\" tab that\n\t// never resolves.\n\tif (tabType !== 'PRIMARY' && !selectedContent?.route) {\n\t\treturn newTabsData;\n\t}\n\n\tif (tabType === 'PRIMARY' && transformedPayload.primaryRoute) {\n\t\tconst primaryTabId = newTabsData.root.tabList[0];\n\t\tconst { label, icon } = transformedPayload.primaryRoute;\n\t\tconst options = {\n\t\t\tcanClose: false,\n\t\t\tisPrimaryTab: true,\n\t\t\tsize: null,\n\t\t\tviewportInfo: null,\n\t\t};\n\t\tconst newSelectedContent = selectedContent;\n\t\tnewSelectedContent.label = label;\n\t\tnewSelectedContent.icon = icon;\n\t\tconst primaryTabData = generators.getTabDefinition({\n\t\t\ttabId: primaryTabId,\n\t\t\tselectedContent: newSelectedContent,\n\t\t\toptions,\n\t\t});\n\t\tnewTabsData = setPrimaryTab(\n\t\t\tnewTabsData,\n\t\t\tprimaryTabData,\n\t\t\tpassiveNavigation,\n\t\t);\n\t} else {\n\t\tlet newTabsDataClone = klona(newTabsData);\n\t\t// test for the case where the \"details\" default subtab does not exist, and create it if necessary\n\t\tif (contextualRoute && selectedContent && selectedContent.parent) {\n\t\t\tconst parentContentKey = tabUtils.getContentKey(\n\t\t\t\tselectedContent.parent,\n\t\t\t);\n\t\t\tconst parentTabId =\n\t\t\t\tnewTabsDataClone.root.childContentKeys[parentContentKey];\n\t\t\tconst detailsTabId = newTabsDataClone[parentTabId]\n\t\t\t\t? newTabsDataClone[parentTabId].childContentKeys[\n\t\t\t\t\t\tparentContentKey\n\t\t\t\t\t]\n\t\t\t\t: null;\n\t\t\tif (detailsTabId == null) {\n\t\t\t\tconst _payload = {\n\t\t\t\t\t...transformedPayload,\n\t\t\t\t\tselectedContent: {\n\t\t\t\t\t\t...transformedPayload.selectedContent.parent,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tconst detailsTab = generators.getTabPayload(\n\t\t\t\t\tnewTabsDataClone,\n\t\t\t\t\t_payload,\n\t\t\t\t);\n\t\t\t\tnewTabsDataClone = reduceTabs(newTabsDataClone, detailsTab);\n\t\t\t}\n\t\t}\n\n\t\tconst tabs = generators.getTabPayload(\n\t\t\tnewTabsDataClone,\n\t\t\ttransformedPayload,\n\t\t);\n\t\tnewTabsData = reduceTabs(newTabsDataClone, tabs, passiveNavigation);\n\t}\n\n\treturn newTabsData;\n}\n\nexport function openOrFocusTabs(tabsData, payload) {\n\tlet { tab_id } = payload;\n\tlet newTabsData = tabsData;\n\tif (!tab_id || !newTabsData[tab_id]) return;\n\n\tlet tabId = tabUtils.getActiveLeafTabId(newTabsData);\n\n\tif (tabId && tabId === tab_id) {\n\t\t//clear drilldowns if active main tab is clicked again\n\t\tif (\n\t\t\tnewTabsData[tabId] &&\n\t\t\tnewTabsData[tabId].selectedContent.drillDowns\n\t\t) {\n\t\t\tconst selectedContent = newTabsData[tabId].selectedContent;\n\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\tconst { drillDowns, ...rest } = selectedContent;\n\t\t\tnewTabsData[tabId].selectedContent = rest;\n\t\t\treturn newTabsData;\n\t\t}\n\t\treturn;\n\t}\n\n\t//check if an active tab is clicked\n\tconst selectedTab = newTabsData[tab_id];\n\tconst selectedParentTab =\n\t\tselectedTab && selectedTab.parentTabId\n\t\t\t? newTabsData[selectedTab.parentTabId]\n\t\t\t: null;\n\tconst activeTabId = selectedParentTab\n\t\t? selectedParentTab.selectedTabId\n\t\t: null;\n\tif (activeTabId === tab_id) {\n\t\treturn;\n\t}\n\n\t// Remove tooltip segments with removeOnActivation: true when tab is activated\n\tif (selectedTab && selectedTab.tooltipSegments) {\n\t\tconst filteredSegments = tabUtils.filterSegmentsOnActivation(\n\t\t\tselectedTab.tooltipSegments,\n\t\t);\n\t\tif (filteredSegments.length !== selectedTab.tooltipSegments.length) {\n\t\t\tnewTabsData[tab_id] = {\n\t\t\t\t...selectedTab,\n\t\t\t\ttooltipSegments: filteredSegments,\n\t\t\t};\n\t\t}\n\t}\n\n\twhile (tab_id != null) {\n\t\tconst currTab = newTabsData[tab_id];\n\t\tconst parentTabId = currTab.parentTabId;\n\t\tif (parentTabId == null) break;\n\t\tconst parent = newTabsData[parentTabId];\n\t\tparent.selectedTabId = tab_id;\n\t\tnewTabsData[parentTabId] = parent;\n\t\ttab_id = parentTabId;\n\t}\n\n\treturn newTabsData;\n}\n\n/**\n * Applies multiple live tab updates sequentially.\n * Iterates over an array of payloads and calls `liveUpdateTabs()` for each,\n * returning the final `tabsData` after all updates are applied.\n * @param {Object} tabsData - Current tabs data state.\n * @param {Array<Object>} payload - Array of live update payloads.\n * @param {Object} properties - Behavior/properties context.\n * @param {Function} dispatch - Dispatch function for side effects.\n * @param {Function} updateProperties - Callback to update properties.\n * @returns {Object} Updated tabs data after applying all payloads.\n */\nfunction liveUpdateTabsBatched(\n\ttabsData,\n\tpayload,\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) {\n\tif (!Array.isArray(payload) || payload.length === 0) return tabsData;\n\tlet curr = tabsData;\n\tfor (const item of payload) {\n\t\tcurr = liveUpdateTabs(\n\t\t\tcurr,\n\t\t\titem,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\t}\n\treturn curr;\n}\n\n/**\n * Applies a single live update to `tabsData` for a given screen/content key.\n * Handles title/icon/color/highlighted values, messages, warnings/errors,\n * and tooltip preview. Tooltip segments are merged by segment id and any\n * requested segment ids in `clearSegments` are cleared before merging.\n * May close tabs or queue close requests based on `status`.\n * @param {Object} tabsData - Current tabs data state.\n * @param {Object} payload - Update payload (e.g. screenKey, screenParams, title, icon, message, status, tooltipPreview).\n * @param {Object} properties - Behavior/properties context.\n * @param {Function} dispatch - Dispatch function for side effects.\n * @param {Function} updateProperties - Callback to update external properties.\n * @returns {Object} New tabs data with updates applied.\n */\nfunction liveUpdateTabs(\n\ttabsData,\n\tpayload,\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) {\n\tconst {\n\t\tscreenParams,\n\t\tscreenKey,\n\t\ttitle,\n\t\tmessage,\n\t\thasError,\n\t\thasUpdate,\n\t\tdirtyModalId,\n\t\tstatus,\n\t\thasWarning,\n\t\twarningMessage,\n\t\twarningModalId,\n\t\tcolor,\n\t\thighlightedValue,\n\t\tclearStyles = false,\n\t\tsecondaryTitle,\n\t\tscreenNowId,\n\t} = payload;\n\n\tconst tooltipPreview = isNil(payload.tooltipPreview)\n\t\t? {}\n\t\t: payload.tooltipPreview;\n\n\t// Extract segments and clearSegments from tooltipPreview to handle them separately\n\t// Ensure we always have valid objects to work with\n\tconst {\n\t\tsegments: tooltipSegments = [],\n\t\tclearSegments = [],\n\t\t...tooltipPreviewWithoutSegments\n\t} = tooltipPreview || {};\n\n\tif (!screenKey) return tabsData;\n\n\tlet { icon } = payload;\n\n\t// Check if the tab can be closed unconditionally or conditionally based on the dirty state of the current tab.\n\tif (tabUtils.canCloseTab(status, screenKey, tabsData)) {\n\t\tconst tabToDelete = tabUtils.getTabToDelete(tabsData, screenKey);\n\t\tif (!tabToDelete) {\n\t\t\tconsole.warn(\n\t\t\t\t`Tab to close not found or primary tab cannot be closed for screenKey: ${screenKey}`,\n\t\t\t);\n\t\t\treturn tabsData;\n\t\t} else {\n\t\t\tconst prevTabsData = klona(tabsData);\n\t\t\tconst newTabsData = closeTabs.closeTabById(\n\t\t\t\ttabsData,\n\t\t\t\ttabToDelete.tab_id,\n\t\t\t\ttrue,\n\t\t\t);\n\t\t\tconst deletedTabsIds = closeTabs.getDeletedTabIds(\n\t\t\t\tprevTabsData,\n\t\t\t\ttabToDelete.tab_id,\n\t\t\t);\n\t\t\tdeletedTabsIds.reverse();\n\t\t\tdispatch(constants.CLOSED_TABS_CHANGED, {\n\t\t\t\tprevTabsData,\n\t\t\t\tclosedTabs: deletedTabsIds,\n\t\t\t});\n\t\t\treturn newTabsData;\n\t\t}\n\t} else if (status === constants.SCREEN_STATUS_ACTION_CLOSE_IF_CLEAN) {\n\t\tconst tabToDelete = tabUtils.getTabToDelete(tabsData, screenKey);\n\t\tupdateProperties(() => {\n\t\t\tlet tabsToCloseQueue = {};\n\t\t\ttabsToCloseQueue = closeTabs.getTabsToCloseQueue(\n\t\t\t\ttabsData,\n\t\t\t\tconstants.CLOSE_TAB_MENU_ITEM,\n\t\t\t\ttabToDelete.tab_id,\n\t\t\t\ttabsToCloseQueue,\n\t\t\t\tnull,\n\t\t\t);\n\t\t\tdispatch(constants.TABS_CLOSE_REQUESTED, {\n\t\t\t\tinbound: true,\n\t\t\t\toperation: constants.CLOSE_TAB_MENU_ITEM,\n\t\t\t\ttabId: tabToDelete.tab_id,\n\t\t\t\toptions: {},\n\t\t\t});\n\t\t\treturn {\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'tabsToCloseQueue',\n\t\t\t\tvalue: tabsToCloseQueue,\n\t\t\t};\n\t\t});\n\t\treturn tabsData;\n\t}\n\n\tlet { newTabsData, newContentKey: contentKey } = screenParams\n\t\t? updateContentKeys({\n\t\t\t\ttabsData: tabsData,\n\t\t\t\tpayload: Object.assign({}, screenParams, { screenKey }),\n\t\t\t})\n\t\t: { newTabsData: tabsData, newContentKey: screenKey };\n\n\tlet iconStatus;\n\tif (icon !== null && typeof icon === 'object') {\n\t\tconst { name, status } = icon; //status: active  = icon in green color. More status, color mappings to follow.\n\t\ticon = name;\n\t\ticonStatus = status;\n\t}\n\n\tlet nonDetailsObj = {};\n\tif (title) nonDetailsObj.title = title;\n\tif (icon) {\n\t\tnonDetailsObj.icon = icon;\n\t\tnonDetailsObj.iconStatus = iconStatus;\n\t}\n\tif (color) nonDetailsObj.color = color;\n\tif (!isEmpty(highlightedValue))\n\t\tnonDetailsObj.highlightedValue = highlightedValue;\n\tif (!isEmpty(secondaryTitle)) nonDetailsObj.secondaryTitle = secondaryTitle;\n\tif (clearStyles) {\n\t\tnonDetailsObj.iconStatus = 'default';\n\t\tnonDetailsObj.color = 'default';\n\t\tnonDetailsObj.highlightedValue = { label: '' };\n\t\tnonDetailsObj.secondaryTitle = { label: '' };\n\t}\n\n\tif (!isEmpty(nonDetailsObj)) {\n\t\tconst ignoreDetailsFilterFn = (tab) =>\n\t\t\ttab.contentKey === contentKey && !tab.isDetailsTab;\n\t\tnewTabsData = tabUtils.applyToAllTabs(\n\t\t\tnewTabsData,\n\t\t\tnonDetailsObj,\n\t\t\tignoreDetailsFilterFn,\n\t\t);\n\t\tif (title) tabUtils.setTabTitleCacheByScreen(contentKey, title);\n\t}\n\n\tconst isTooltipPreviewEmpty =\n\t\tisEmpty(tooltipPreviewWithoutSegments?.primaryTitle) &&\n\t\tisEmpty(tooltipPreviewWithoutSegments?.secondaryContent);\n\n\tconst hasTooltipSegments = tooltipSegments.length > 0;\n\tconst hasClearSegments = clearSegments.length > 0;\n\n\t/**\n\t * NOTE: (STRY59837322) As a part of Dirty State Management\n\t * Epic(EPIC1111724) we do not want to rely on drilled down\n\t * properties and instead want them to use DSM. Tabsdata\n\t * handles its dirty state through the\n\t * dirtyStateSubscriberBehavior(). Hence we do not have\n\t * to resolve the dirty state of the tabsdata in the reducer.\n\t * This is why objToApply does not have isDirty property.\n\t */\n\n\tconst objToApply = {};\n\tif (message) objToApply.message = message;\n\tif (!isTooltipPreviewEmpty)\n\t\tobjToApply.tooltipPreview = tooltipPreviewWithoutSegments;\n\n\tif (hasTooltipSegments || hasClearSegments) {\n\t\t// Handle tooltip segments with merging strategy or clearing\n\t\t// Always preserve existing segments when updating tooltip preview\n\t\tconst currentTab = tabUtils.getTabByContentKey(tabsData, contentKey);\n\t\tconst existingSegments = currentTab?.tooltipSegments || [];\n\n\t\t// Merge new segments with existing ones, clearing specified types if needed\n\t\tconst mergedSegments = mergeTooltipSegments(\n\t\t\texistingSegments,\n\t\t\ttooltipSegments,\n\t\t\tclearSegments,\n\t\t);\n\t\tobjToApply.tooltipSegments = mergedSegments;\n\t}\n\tif (hasError === true || hasError === false) objToApply.hasError = hasError;\n\tif (hasUpdate === true || hasUpdate === false)\n\t\tobjToApply.hasUpdate = hasUpdate;\n\tif (dirtyModalId) objToApply.dirtyModalId = dirtyModalId;\n\tif (hasWarning === true || hasWarning === false)\n\t\tobjToApply.hasWarning = hasWarning;\n\tif (warningMessage) objToApply.warningMessage = warningMessage;\n\tif (warningModalId) objToApply.warningModalId = warningModalId;\n\tif (screenNowId) objToApply.screenNowId = screenNowId;\n\n\tif (!isEmpty(objToApply)) {\n\t\tconst filterFn = (tab) => tab.contentKey === contentKey;\n\t\tnewTabsData = tabUtils.applyToAllTabs(\n\t\t\tnewTabsData,\n\t\t\tobjToApply,\n\t\t\tfilterFn,\n\t\t);\n\t}\n\treturn newTabsData;\n}\n\n/**\n * resolve overall dirty state for content from the cached dirty state of all components contained within the content\n */\nexport function resolveDirtyState(\n\ttabsData,\n\tcontentKey,\n\tcomponentId,\n\tisDirty,\n\tdirtyModalId,\n) {\n\t// find the leaf tab\n\tlet leafTab;\n\tconst allTabs = Object.values(tabsData);\n\tlet i = 0;\n\tfor (; i < allTabs.length; i++) {\n\t\tif (\n\t\t\tallTabs[i].contentKey === contentKey &&\n\t\t\tallTabs[i].tabList.length == 0\n\t\t) {\n\t\t\tleafTab = allTabs[i];\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (leafTab) {\n\t\t// if we have not yet seen this component, create an entry for it\n\t\tif (!leafTab.componentList) {\n\t\t\tleafTab.componentList = [];\n\t\t}\n\t\tconst componentForId = (entry) => entry.componentId === componentId;\n\t\tlet componentEntry = leafTab.componentList.some(componentForId);\n\t\tif (!componentEntry) {\n\t\t\tcomponentEntry = {\n\t\t\t\tcomponentId: componentId,\n\t\t\t\tisDirty: isDirty,\n\t\t\t\tdirtyModalId: dirtyModalId,\n\t\t\t};\n\t\t\tleafTab.componentList.push(componentEntry);\n\t\t}\n\n\t\t// set the properties for this entry\n\t\tleafTab.componentList.forEach((entry) => {\n\t\t\tif (entry.componentId === componentId) {\n\t\t\t\tentry.isDirty = isDirty;\n\t\t\t\tentry.dirtyModalId = dirtyModalId;\n\t\t\t}\n\t\t});\n\n\t\t// return the resolved dirty state accounting for all components\n\t\tconst isDirtyEntry = (entry) => entry.isDirty === true;\n\t\treturn leafTab.componentList.some(isDirtyEntry);\n\t} else {\n\t\t// default to the dirty state that was passed in\n\t\treturn isDirty;\n\t}\n}\n\nexport function closeOneDrillDown(tabsData) {\n\tlet newTabsData = tabsData;\n\t//const {contentKey, drillDowns} = payload;\n\n\tlet tabId = tabUtils.getActiveLeafTabId(newTabsData);\n\n\tif (tabId) {\n\t\tconst { selectedContent } = tabsData[tabId];\n\t\tlet { drillDowns, ...rest } = selectedContent;\n\n\t\tif (!drillDowns) return newTabsData;\n\n\t\tif (drillDowns.length > 0) drillDowns.pop();\n\n\t\tconst newContent = Object.assign(\n\t\t\t{},\n\t\t\trest,\n\t\t\tdrillDowns.length === 0 && { drillDowns },\n\t\t);\n\n\t\tnewTabsData[tabId].selectedContent = newContent;\n\t}\n\n\treturn newTabsData;\n}\n\nexport function updateContentKeys({\n\ttabsData,\n\tpayload: { screenKey, ...screenParams },\n}) {\n\tconst content = tabUtils.recoverContentFromKey(screenKey);\n\tconst newContentKey = tabUtils.generateContentKey(\n\t\tObject.assign({}, content.fields, screenParams),\n\t\tcontent.route,\n\t\tcontent.interopContext,\n\t);\n\tlet _tabsData = {};\n\n\tconst tabsRequiringContentUpdate = Object.keys(tabsData).filter(\n\t\t(t) =>\n\t\t\ttabsData[t].contentKey === screenKey && tabsData[t].selectedContent,\n\t);\n\n\tconst _length = tabsRequiringContentUpdate.length;\n\tif (!_length === 0) return tabsData;\n\tlet currentTab = tabsData[tabsRequiringContentUpdate[_length - 1]];\n\twhile (currentTab) {\n\t\tlet _contentKeys = currentTab.childContentKeys\n\t\t\t? currentTab.childContentKeys\n\t\t\t: {};\n\t\tlet _selectedContent;\n\t\tif (tabsRequiringContentUpdate.includes(currentTab.tab_id)) {\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(currentTab, 'contentKey')\n\t\t\t) {\n\t\t\t\tcurrentTab.contentKey = newContentKey;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\tcurrentTab,\n\t\t\t\t\t'selectedContent',\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tlet selectedContent = currentTab.selectedContent;\n\t\t\t\tlet _fields = selectedContent.fields;\n\n\t\t\t\tif (selectedContent.multiInstField) {\n\t\t\t\t\t_fields[selectedContent.multiInstField] =\n\t\t\t\t\t\tscreenParams[selectedContent.multiInstField];\n\t\t\t\t} else {\n\t\t\t\t\t_fields = Object.assign({}, _fields, screenParams);\n\t\t\t\t}\n\n\t\t\t\tdelete selectedContent['multiInstField'];\n\t\t\t\tdelete selectedContent['uid'];\n\n\t\t\t\t_selectedContent = Object.assign({}, selectedContent, {\n\t\t\t\t\tfields: _fields,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tlet _currentTab = currentTab;\n\t\tif (_contentKeys) {\n\t\t\tconst oldContentKeyValue = _contentKeys[screenKey];\n\t\t\tdelete _contentKeys[screenKey];\n\t\t\t_contentKeys[newContentKey] = oldContentKeyValue;\n\t\t\t_currentTab.childContentKeys = _contentKeys;\n\t\t}\n\n\t\tif (_selectedContent) _currentTab.selectedContent = _selectedContent;\n\n\t\t_tabsData[currentTab.tab_id] = _currentTab;\n\t\tcurrentTab = currentTab.parentTabId\n\t\t\t? tabsData[currentTab.parentTabId]\n\t\t\t: null;\n\t}\n\n\tconst newTabsData = Object.assign({}, tabsData, _tabsData);\n\treturn { newTabsData, newContentKey };\n}\n\nexport function updatePrimaryTab(tabsData, payload) {\n\tif (!tabsData || !payload) return;\n\n\tconst primaryTab = tabUtils.getPrimaryTab(tabsData);\n\n\tif (!primaryTab) return;\n\t// eslint-disable-next-line no-unused-vars\n\tconst { contentKey, selectedContent, ...restPrimaryTab } = primaryTab;\n\n\tconst { primaryTabPropData } = payload;\n\tconst primaryTabContent = tabUtils.primaryTabContentUpdate(\n\t\tpayload,\n\t\ttabsData,\n\t);\n\n\tif (isEmpty(primaryTabPropData) || isEmpty(primaryTabContent)) return;\n\n\tconst tabsDataNew = tabsData;\n\ttabsDataNew[primaryTab.tab_id] = Object.assign(\n\t\t{},\n\t\trestPrimaryTab,\n\t\tprimaryTabPropData,\n\t\t{ contentKey: primaryTabContent.contentKey },\n\t\t{ selectedContent: primaryTabContent.selectedContent },\n\t);\n\treturn tabsDataNew;\n}\n\nfunction verifyTabsPrivate(tabsData, caller, doVerify) {\n\tconst verified = verifyTabs(tabsData, doVerify);\n\tif (verified.result === false) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.debug('verifyTabs failed from ' + caller, verified, tabsData);\n\t}\n\treturn verified;\n}\n\n/* verify that the tabsData structure is correct and consistent.\n * returns an object with property \"result\" set to true if everything is ok.\n * \"result\" will be set to false if there are any errors,\n * and the \"errors\" array will include descriptions of what is wrong.\n */\nexport function verifyTabs(tabsData, doVerify) {\n\tlet verified = { result: true, errors: [] };\n\tif (!doVerify) return verified;\n\tif (!tabsData) return verified;\n\n\tif (!tabsData.root) {\n\t\tverified.result = false;\n\t\tverified.errors.push('missing root element');\n\t\treturn verified;\n\t}\n\tconst tabList = Object.values(tabsData);\n\tfor (let tabIndex = 0; tabIndex < tabList.length; tabIndex++) {\n\t\tconst parentTab = tabList[tabIndex];\n\t\tverifyTab(parentTab, tabList, verified);\n\t}\n\treturn verified;\n}\n\nfunction verifyTab(tab, tabList, verified) {\n\t// verify that selected tab in parent is set to a child\n\tif (tab.selectedTabId && tab.selectedTabId != '-1') {\n\t\tif (!tab.tabList.includes(tab.selectedTabId)) {\n\t\t\tverified.result = false;\n\t\t\tverified.errors.push(\n\t\t\t\t'bad selectedTabId ' + tab.tab_id + ' / ' + tab.selectedTabId,\n\t\t\t);\n\t\t}\n\t}\n\t// check for circular references.\n\t// 1. parentId cannot also be a child\n\tif (tab.tabList.includes(tab.parentTabId)) {\n\t\tverified.result = false;\n\t\tverified.errors.push('circular ref parent/child ' + tab.tab_id);\n\t}\n\t// 2. self cannot also be a child of itself\n\tif (tab.tabList.includes(tab.tab_id)) {\n\t\tverified.result = false;\n\t\tverified.errors.push('circular ref self/child ' + tab.tab_id);\n\t}\n\t// 3. self cannot be its own parent\n\tif (tab.parentTabId === tab.tab_id) {\n\t\tverified.result = false;\n\t\tverified.errors.push('circular ref self/parent ' + tab.tab_id);\n\t}\n\n\t// verify parent/child relationship\n\tfor (\n\t\tlet childTabIndex = 0;\n\t\tchildTabIndex < tab.tabList.length;\n\t\tchildTabIndex++\n\t) {\n\t\tconst childTabId = tab.tabList[childTabIndex];\n\t\tconst childTab = tabUtils.getTabById(tabList, childTabId);\n\t\tif (childTab.parentTabId !== tab.tab_id) {\n\t\t\tverified.result = false;\n\t\t\tverified.errors.push(\n\t\t\t\t'mismatch parent/child ' + tab.tab_id + ' > ' + childTab.tab_id,\n\t\t\t);\n\t\t}\n\t\tif (tab.childContentKeys[childTab.contentKey] != childTab.tab_id) {\n\t\t\tverified.result = false;\n\t\t\tverified.errors.push(\n\t\t\t\t'bad childContentKeys entry ' +\n\t\t\t\t\ttab.tab_id +\n\t\t\t\t\t' > ' +\n\t\t\t\t\tchildTab.tab_id +\n\t\t\t\t\t' / ' +\n\t\t\t\t\ttab.childContentKeys[childTab.contentKey],\n\t\t\t);\n\t\t}\n\t}\n}\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\nimport { getStorageKeyChatOnPageMap } from '../utils/browser';\n\nimport { storageNamespace, getStorageType } from './tabsData.storage';\n\nexport async function getChatOnPageMapFromStorage(userId, experienceId) {\n\tif (!experienceId) return;\n\tlet chatOnPageMap = {};\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tconst storedChatOnPageMap = await getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).getItem(getStorageKeyChatOnPageMap(experienceId));\n\t\tif (\n\t\t\tstoredChatOnPageMap &&\n\t\t\tstoredChatOnPageMap.userId === userId &&\n\t\t\tstoredChatOnPageMap.experienceId === experienceId &&\n\t\t\ttypeof storedChatOnPageMap.chatOnPageMap === 'object'\n\t\t) {\n\t\t\tchatOnPageMap = storedChatOnPageMap.chatOnPageMap;\n\t\t}\n\t} catch (e) {\n\t\tconsole.error('Error reading Hoisted Content Map from storage:', e);\n\t}\n\treturn chatOnPageMap;\n}\n\nexport async function saveChatOnPageMapToStorage(\n\tchatOnPageMap,\n\tuserId,\n\texperienceId,\n) {\n\tif (!experienceId) return;\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tawait getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).setItem(getStorageKeyChatOnPageMap(experienceId), {\n\t\t\tchatOnPageMap,\n\t\t\tuserId,\n\t\t\texperienceId,\n\t\t});\n\t} catch (e) {\n\t\tconsole.error('Error saving Hoisted Content Map to storage:', e);\n\t}\n}\n\nexport async function clearChatOnPageMapStorage(experienceId) {\n\tif (!experienceId) return;\n\ttry {\n\t\tconst storageType = getStorageType();\n\t\tawait getUnifiedCacheInstance(\n\t\t\tstorageType,\n\t\t\tstorageNamespace[storageType],\n\t\t).removeItem(getStorageKeyChatOnPageMap(experienceId));\n\t} catch (e) {\n\t\tconsole.error('Error clearing Hoisted Content Map from storage:', e);\n\t}\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"keyboardShortcutBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'keyboardShortcutBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].keyboardShortcutBehavior;\n\t\t\t\t\t} else if ('keyboardShortcutBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.keyboardShortcutBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].keyboardShortcutBehavior;\n\t\t\t\t}, [\"setActionState\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t\t} else if ('setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.setActionState || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t}, [\"setActionStateForShortcut\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActionStateForShortcut' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionStateForShortcut;\n\t\t\t\t\t} else if ('setActionStateForShortcut' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.setActionStateForShortcut || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionStateForShortcut;\n\t\t\t\t} });","import { isEqual, get, set, has, each, isEmpty } from 'lodash';\nimport { klona } from 'klona';\nimport { actionTypes } from '@servicenow/ui-core';\nimport * as closeTabs from './tabsData.closeTabs';\nimport * as tabUtils from '../utils/tabsData.utils';\nimport { reduceTabsData } from './tabsData.reducers';\nimport {\n\tgetStoredTabs,\n\tsaveTabs,\n\tsaveClosedTabs,\n\tgetClosedTabs,\n} from './tabsData.storage';\nimport { saveChatOnPageMapToStorage } from './utilityPanel.storage';\nimport * as constants from '../../../constants/constants';\nimport { trackEvent } from '../../../utils/marks';\nimport {\n\tdeepSearchElement,\n\tcalculateNewScreenStatusPayloads,\n} from 'sn-canvas-common';\nimport { setActionState } from '@servicenow/now-trigger-library';\nimport {\n\tSELECTED_PAGE_TAB_FOCUS,\n\tUPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS,\n} from '../../../constants/constants';\nimport { setPageTitle, updateScreenCreationStatus } from 'sn-canvas-common';\nimport {\n\tupdateHoistedContentForActiveRecords,\n\tcheckHasHoistContentData,\n} from '../utils/utilityPanel.utils';\nimport {\n\textractKeys,\n\tprocessClosedTabs,\n\tpurgeKeysFromClosedTabs,\n\tcreateContentPayload,\n\tcreateSelectedContentPayload,\n\tremoveExcessTabs,\n} from './tabsData.reopenTabs';\nimport {\n\tgetInitReopenTabData,\n\tgetInitReopenSubTabData,\n} from './tabsData.generators';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nfunction createTabsDataEffect(tabEffect) {\n\treturn {\n\t\teffect: tabsDataEffectWrapper,\n\t\targs: [tabEffect],\n\t};\n}\n\n/**\n * return true if the requested additional tab is legal\n * the checks that are done are for the max # of tab limits - primary tabs as well as subtabs\n * side effects: sets stopperPrompt property if limit exceeded\n */\nexport function allowAdditionalTabs(\n\ttabsDataCopy,\n\ttabsDataNew,\n\tdispatch,\n\tupdateProperties,\n\ttabsConfig,\n\texperienceId,\n) {\n\tconst stopper = tabUtils.shouldUpdateTabData(\n\t\ttabsDataCopy,\n\t\ttabsDataNew,\n\t\ttabsConfig,\n\t\texperienceId,\n\t);\n\tif (stopper) {\n\t\tstopper.request = true;\n\t\tupdateProperties({ stopperPrompt: stopper }); //this tells an ancestor element to show whatever UI it wants to\n\t\tconst selectedContentCurrent =\n\t\t\ttabUtils.getNavItemSelectedPayload(tabsDataCopy);\n\t\tif (selectedContentCurrent) {\n\t\t\tselectedContentCurrent.redirect = true;\n\t\t\tdispatch(constants.NAV_ITEM_SELECTED, selectedContentCurrent);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n/**\n * return true if the requested initial tab is legal\n * the checks that are done are for the max # of tab limits - primary tabs as well as subtabs\n * side effects: sets stopperPrompt property if limit exceeded\n */\nfunction allowInitialTabs(tabsDataCopy, tabsDataNew, tabsConfig, experienceId) {\n\tconst stopper = tabUtils.shouldUpdateTabData(\n\t\ttabsDataCopy,\n\t\ttabsDataNew,\n\t\ttabsConfig,\n\t\texperienceId,\n\t);\n\tif (stopper) {\n\t\tstopper.request = true;\n\t\treturn stopper;\n\t}\n\treturn null;\n}\n\n// if we were asked to display a new tab during init phase, but doing so would violate the max tab limit,\n// then we use the primary tab as the default selected content\nfunction selectedContentForInitialTabs(tabsDataNew) {\n\tconst tabList = Object.values(tabsDataNew);\n\treturn tabList[1].selectedContent;\n}\n\nexport function getClosedTabInfo(results) {\n\tlet closedTabInfo = {\n\t\tclosedMainTabs: [],\n\t\tclosedSubTabs: [],\n\t};\n\tresults?.removedTabs\n\t\t?.filter((item) => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\tif (keys.length === 0) return false;\n\n\t\t\treturn Object.hasOwn(item[keys[0]], 'annotation');\n\t\t})\n\t\t.map((item) => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\treturn item[keys[0]];\n\t\t})\n\t\t.forEach((item) => {\n\t\t\tclosedTabInfo.closedSubTabs.push(item.contentKey);\n\t\t});\n\n\tresults?.removedTabs\n\t\t?.filter((item) => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\tif (keys.length === 0) return false;\n\t\t\treturn item[keys[0]]['parentTabId'] === 'root';\n\t\t})\n\t\t.map((item) => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\treturn item[keys[0]];\n\t\t})\n\t\t.forEach((item) => {\n\t\t\tclosedTabInfo.closedMainTabs.push(item.contentKey);\n\t\t});\n\treturn closedTabInfo;\n}\n/**\n * Wraps all tab data effects with before and after behavior\n * @param effect\n * @param coeffects\n */\nexport async function tabsDataEffectWrapper(effect, coeffects) {\n\tconst {\n\t\taction: { payload, type },\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateProperties,\n\t} = coeffects;\n\tconst { tabsData, userId, experienceId } = properties;\n\tlet tabsDataCopy = klona(tabsData);\n\t/* DEF0650055 - In the case of direct load at the tab limit, we must restore the tabsData from session store. I am creating an extra variable below and not reusing \n\t   tabsDataCopy because tabsDataCopy is used to determine a particular state in direct load vs non direct load below, if I use the same variable it will be impossible to tell\n\t   if we are coming from direct load or not. The await getStoredTabs call below will only execute when tabsData is null, and that only happens in the direct load case. This will not\n\t   have much impact on performance.\n\t*/\n\tlet storedTabsData;\n\tif (!tabsData) {\n\t\tconst storedTabsContent = await getStoredTabs(userId, experienceId);\n\t\tstoredTabsData = storedTabsContent?.tabsData;\n\t}\n\tlet tabsDataNew = await effect(tabsDataCopy, payload, coeffects);\n\n\tlet _payload = payload;\n\tif (Array.isArray(payload) && payload.length > 0)\n\t\t_payload = payload[payload.length - 1];\n\tconst { passiveNavigation, inbound, skipNextScreenActivation } = _payload;\n\n\tif (!tabsDataNew) return;\n\t// If the event is a trackable event, emit an AppSee mark\n\tif (type in trackEvent) {\n\t\ttrackEvent[type](tabsDataNew, coeffects);\n\t}\n\tif (tabsDataCopy) {\n\t\tif (\n\t\t\t!allowAdditionalTabs(\n\t\t\t\ttabsDataCopy,\n\t\t\t\ttabsDataNew,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t\tproperties.tabConfig,\n\t\t\t\tproperties.experienceId,\n\t\t\t)\n\t\t) {\n\t\t\ttrackEvent[constants.MARKS.EXCEED_MAX_TABS](\n\t\t\t\ttabsDataCopy,\n\t\t\t\tcoeffects,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t} else {\n\t\tconst stopper = allowInitialTabs(\n\t\t\ttabsDataCopy,\n\t\t\ttabsDataNew,\n\t\t\tproperties.tabConfig,\n\t\t\tproperties.experienceId,\n\t\t);\n\t\tif (stopper) {\n\t\t\tupdateProperties({\n\t\t\t\ttabsData: storedTabsData,\n\t\t\t\tstopperPrompt: stopper,\n\t\t\t}); //this tells an ancestor element to show whatever UI it wants to\n\n\t\t\tconst selectedContent = selectedContentForInitialTabs(\n\t\t\t\ttabsDataNew,\n\t\t\t\tdispatch,\n\t\t\t);\n\t\t\ttabsDataNew = await initContent(\n\t\t\t\tstoredTabsData,\n\t\t\t\tselectedContent,\n\t\t\t\tcoeffects,\n\t\t\t);\n\n\t\t\t// NAV_ITEM_SELECTED is required to set the URL correctly\n\t\t\tconst selectedContentCurrent =\n\t\t\t\ttabUtils.getNavItemSelectedPayload(tabsDataNew);\n\t\t\tif (selectedContentCurrent) {\n\t\t\t\tselectedContentCurrent.redirect = true;\n\t\t\t\tdispatch(constants.NAV_ITEM_SELECTED, selectedContentCurrent);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t}\n\n\ttabsDataNew = tabUtils.updateSelectedTabs(tabsDataNew);\n\n\tconst propertyUpdates = { tabsData: tabsDataNew };\n\n\tif (!properties.closedTabsData.experienceId) {\n\t\tconst sessionClosedTabsData = await getClosedTabs(\n\t\t\tproperties.userId,\n\t\t\tproperties.experienceId,\n\t\t\tproperties.tabConfig,\n\t\t);\n\t\tif (sessionClosedTabsData?.experienceId) {\n\t\t\tpropertyUpdates.closedTabsData = sessionClosedTabsData;\n\t\t}\n\t}\n\n\tupdateProperties(propertyUpdates);\n\n\tconst results = tabUtils.getRemovedTabs(tabsData, tabsDataNew);\n\tif (\n\t\tresults &&\n\t\tresults.removedContentKeys &&\n\t\tresults.removedContentKeys.length > 0\n\t) {\n\t\tupdateScreenCreationStatus(\n\t\t\tproperties.experienceId,\n\t\t\tgetClosedTabInfo(results),\n\t\t);\n\t\tdispatch(constants.RESOLVE_STAGED_NOTIFICATIONS, {\n\t\t\tstatus: constants.SCREEN_CLOSE_STATUS_CONFIRMED,\n\t\t\tscreenKeys: results.removedContentKeys,\n\t\t});\n\t\tdispatch(constants.NAVIGATION_CLOSED, {\n\t\t\tclosedNavigationIds: [...results.removedContentKeys],\n\t\t\tclosedIdsInfo: [...results.removedTabs],\n\t\t});\n\t}\n\n\tlet selectedContentNew = tabUtils.getNavItemSelectedPayload(tabsDataNew);\n\n\tconst addedTabKeys = tabUtils.getAddedTabKeys(\n\t\ttabsData ?? {},\n\t\ttabsDataNew,\n\t\tselectedContentNew,\n\t);\n\n\tif (addedTabKeys.size > 0) {\n\tupdateProperties(({ properties: { closedTabsData } }) => {\n\t\tconst updatedClosedTabs = purgeKeysFromClosedTabs(\n\t\t\tclosedTabsData.closedTabs,\n\t\t\t\taddedTabKeys,\n\t\t\ttabsDataNew,\n\t\t);\n\t\treturn {\n\t\t\toperation: 'set',\n\t\t\tpath: 'closedTabsData',\n\t\t\tvalue: { ...closedTabsData, closedTabs: updatedClosedTabs },\n\t\t};\n\t});\n\t}\n\n\tif (\n\t\t!selectedContentNew ||\n\t\tpassiveNavigation === true ||\n\t\tinbound === true ||\n\t\tskipNextScreenActivation === true ||\n\t\tisEqual(tabsData, tabsDataNew)\n\t)\n\t\treturn;\n\n\tdispatch(constants.NAV_ITEM_SELECTED, selectedContentNew);\n}\n\n/** close main tab invoked from menu (close one, close other, close all) */\nexport function mainTabCloseClickedEffect(tabsData, payload, coeffects) {\n\tconst { tab_id } = payload;\n\tif (!tab_id) return tabsData;\n\tconst selectedTab = tabsData[tab_id];\n\tconst tabList =\n\t\tselectedTab &&\n\t\tselectedTab.parentTabId &&\n\t\ttabsData[selectedTab.parentTabId]\n\t\t\t? tabsData[selectedTab.parentTabId].tabList\n\t\t\t: null;\n\tif (!tabList) return tabsData;\n\tfunction tabFilter(tab) {\n\t\treturn tab.canClose;\n\t}\n\treturn tabCloseClickedEffect(\n\t\ttabsData,\n\t\tpayload,\n\t\tcoeffects,\n\t\ttabList,\n\t\ttabFilter,\n\t\ttabFilter,\n\t);\n}\n\n/** close sub tab invoked from menu (close one, close other, close all)  */\nfunction subTabCloseClickedEffect(tabsData, payload, coeffects) {\n\tconst { tab_id } = payload;\n\tconst selectedTab = tabsData[tab_id];\n\tconst tabList = tabsData[selectedTab.parentTabId].tabList;\n\tfunction tabFilterAll() {\n\t\treturn true;\n\t}\n\tfunction tabFilterOther(tab) {\n\t\treturn !(tab.canClose === false);\n\t}\n\treturn tabCloseClickedEffect(\n\t\ttabsData,\n\t\tpayload,\n\t\tcoeffects,\n\t\ttabList,\n\t\ttabFilterAll,\n\t\ttabFilterOther,\n\t);\n}\n\n/** implementation of close behavior, common for main and sub tabs */\nexport function tabCloseClickedEffect(\n\ttabsData,\n\tpayload,\n\tcoeffects,\n\ttabList,\n\ttabFilterAll,\n\ttabFilterOther,\n) {\n\t// Let tabsDataWrapper know that no new nav item selected should happen\n\tset(coeffects, 'action.payload.inbound', true);\n\tconst { operation, tab_id, ignoreDirty = false } = payload;\n\tconst { dispatch, updateProperties } = coeffects;\n\tlet tabsDataCopy = klona(tabsData);\n\n\tupdateProperties(({ properties }) => {\n\t\tconst { tabsData } = properties;\n\t\t// build the list of tabs to be closed\n\t\t// note that we close then right to left, so we iterate through tabList backwards\n\t\tlet tabsToCloseQueue = {};\n\t\tif (operation === constants.CLOSE_ALL_TABS_MENU_ITEM) {\n\t\t\tlet i = tabList.length - 1;\n\t\t\tfor (; i >= 0; i--) {\n\t\t\t\ttabsToCloseQueue = closeTabs.getTabsToCloseQueue(\n\t\t\t\t\ttabsData,\n\t\t\t\t\toperation,\n\t\t\t\t\ttabsData[tabList[i]].tab_id,\n\t\t\t\t\ttabsToCloseQueue,\n\t\t\t\t\ttabFilterAll,\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (operation === constants.CLOSE_OTHER_TABS_MENU_ITEM) {\n\t\t\tlet i = tabList.length - 1,\n\t\t\t\tactivityKeys = [];\n\t\t\tfor (; i >= 0; i--) {\n\t\t\t\tif (tabsData[tabList[i]].tab_id != tab_id) {\n\t\t\t\t\tconst _tab = tabsData[tabList[i]];\n\t\t\t\t\tactivityKeys.push({ key: _tab.contentKey });\n\t\t\t\t\ttabsToCloseQueue = closeTabs.getTabsToCloseQueue(\n\t\t\t\t\t\ttabsData,\n\t\t\t\t\t\toperation,\n\t\t\t\t\t\ttabsData[tabList[i]].tab_id,\n\t\t\t\t\t\ttabsToCloseQueue,\n\t\t\t\t\t\ttabFilterOther,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// close selected tab\n\t\t\tif (tabsData[tab_id].canClose) {\n\t\t\t\ttabsToCloseQueue = closeTabs.getTabsToCloseQueue(\n\t\t\t\t\ttabsData,\n\t\t\t\t\toperation,\n\t\t\t\t\ttab_id,\n\t\t\t\t\ttabsToCloseQueue,\n\t\t\t\t\tnull,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// stash the queue of tabs to be closed in state, and dispatch the message to process that queue\n\t\tif (tabsToCloseQueue.tabList) {\n\t\t\tif (ignoreDirty) {\n\t\t\t\t// set this here to supress the dialog\n\t\t\t\ttabsToCloseQueue.tabList[0].skipConfirmation = true;\n\t\t\t\ttabsToCloseQueue.tabList[0].confirmationStatus = 'confirmed';\n\t\t\t}\n\t\t\tdispatch(constants.TABS_CLOSE_REQUESTED, {\n\t\t\t\t...payload,\n\t\t\t\tinbound:\n\t\t\t\t\tignoreDirty === true\n\t\t\t\t\t\t? false\n\t\t\t\t\t\t: tabsData[tabUtils.getActiveLeafTabId(tabsData)]\n\t\t\t\t\t\t\t\t.isDirty === true,\n\t\t\t});\n\t\t\ttabsDataCopy = tabsData;\n\t\t\treturn {\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'tabsToCloseQueue',\n\t\t\t\tvalue: tabsToCloseQueue,\n\t\t\t};\n\t\t}\n\t\ttabsDataCopy = tabsData;\n\t\treturn {};\n\t});\n\n\treturn tabsDataCopy;\n}\n\n/** current tab in close queue required confirmation, and confirmation was granted.\n *  change the state of the queue entry for that tab to 'confirmed' and continue processing the queue\n */\nexport function mainTabCloseConfirmedEffect(tabsData, _payload, coeffects) {\n\tconst { properties, dispatch, updateProperties } = coeffects;\n\n\tlet tabsToCloseQueue = properties.tabsToCloseQueue;\n\tif (\n\t\ttabsToCloseQueue &&\n\t\ttabsToCloseQueue.tabList &&\n\t\ttabsToCloseQueue.tabList.length > 0\n\t) {\n\t\tlet newtabsToCloseQueue = klona(tabsToCloseQueue);\n\t\tnewtabsToCloseQueue.tabList[0].confirmationStatus = 'confirmed';\n\t\tupdateProperties({ tabsToCloseQueue: newtabsToCloseQueue });\n\t\tdispatch(constants.TABS_CLOSE_REQUESTED, tabsData);\n\t\tconst modalId =\n\t\t\ttabsToCloseQueue.tabList[0].dirtyModalId ||\n\t\t\ttabsToCloseQueue.tabList[0].warningModalId;\n\t\tif (modalId) {\n\t\t\tdispatch(constants.MODAL_SELECTED, {\n\t\t\t\tmodalId,\n\t\t\t\tshowModal: false,\n\t\t\t});\n\t\t\tdispatch(constants.NOW_CONFIRM_MODAL_CLEAR);\n\t\t}\n\t}\n\treturn tabsData;\n}\n\n/** current tab in close queue required confirmation, and confirmation was denied.\n *  change the state of the queue entry for that tab to 'cancelled' and continue processing the queue\n *  we have to verify that we're in the middle of a close operation here, because we have to handle\n *  modal dialog dismissed events, and it might not be the tab close dialog (NOW_MODAL#OPENED_SET)\n */\nexport function mainTabCloseCancelledEffect(tabsData, _payload, coeffects) {\n\tconst { properties, dispatch, updateProperties } = coeffects;\n\tlet tabsToCloseQueue = properties.tabsToCloseQueue;\n\tif (\n\t\ttabsToCloseQueue &&\n\t\ttabsToCloseQueue.tabList &&\n\t\ttabsToCloseQueue.tabList.length > 0\n\t) {\n\t\tlet newtabsToCloseQueue = klona(tabsToCloseQueue);\n\t\tnewtabsToCloseQueue.tabList[0].confirmationStatus = 'cancelled';\n\n\t\tdispatch(constants.RESOLVE_STAGED_NOTIFICATIONS, {\n\t\t\tstatus: constants.SCREEN_CLOSE_STATUS_CANCELLED,\n\t\t\tscreenKeys: [newtabsToCloseQueue.tabList[0].contentKey],\n\t\t});\n\n\t\tupdateProperties({ tabsToCloseQueue: newtabsToCloseQueue });\n\t\tdispatch(constants.TABS_CLOSE_REQUESTED, {\n\t\t\t..._payload,\n\t\t\tinbound: true,\n\t\t});\n\t\tconst modalId =\n\t\t\ttabsToCloseQueue.tabList[0].dirtyModalId ||\n\t\t\ttabsToCloseQueue.tabList[0].warningModalId;\n\t\tif (modalId) {\n\t\t\tdispatch(constants.MODAL_SELECTED, {\n\t\t\t\tmodalId,\n\t\t\t\tshowModal: false,\n\t\t\t});\n\t\t\tdispatch(constants.NOW_CONFIRM_MODAL_CLEAR);\n\t\t}\n\t}\n\treturn tabsData;\n}\n\n/** process the queue of tabs that are pending close */\nexport function tabCloseRequestedEffect(tabsData, _payload, coeffects) {\n\tconst { properties, updateProperties, dispatch } = coeffects;\n\tlet pendingConfirmation = false;\n\tlet tabsToCloseQueue = properties.tabsToCloseQueue;\n\tconst closedTabs = [];\n\tconst prevTabsData = klona(tabsData);\n\n\tif (tabsToCloseQueue.tabList) {\n\t\tlet i;\n\t\tfor (i = 0; i < tabsToCloseQueue.tabList.length; i++) {\n\t\t\tif (!tabsData[tabsToCloseQueue.tabList[i].tab_id])\n\t\t\t\t// already deleted\n\t\t\t\tcontinue;\n\n\t\t\tif (\n\t\t\t\t!tabsToCloseQueue.tabList[i].isDirty &&\n\t\t\t\t!tabsToCloseQueue.tabList[i].hasWarning\n\t\t\t) {\n\t\t\t\t// close clean tab\n\t\t\t\ttabsData = closeTabs.closeTabById(\n\t\t\t\t\ttabsData,\n\t\t\t\t\ttabsToCloseQueue.tabList[i].tab_id,\n\t\t\t\t\ttrue,\n\t\t\t\t);\n\t\t\t\tclosedTabs.push(tabsToCloseQueue.tabList[i].tab_id);\n\t\t\t} else if (\n\t\t\t\ttabsToCloseQueue.tabList[i].confirmationStatus === 'confirmed'\n\t\t\t) {\n\t\t\t\t// we already asked for confirmation, and we were told to force-close this tab\n\t\t\t\ttabsData = closeTabs.closeTabById(\n\t\t\t\t\ttabsData,\n\t\t\t\t\ttabsToCloseQueue.tabList[i].tab_id,\n\t\t\t\t\ttrue,\n\t\t\t\t);\n\t\t\t\tclosedTabs.push(tabsToCloseQueue.tabList[i].tab_id);\n\t\t\t\t// if the content had a custom modal, tell it to close itself\n\t\t\t\tconst modalId =\n\t\t\t\t\ttabsToCloseQueue.tabList[i].dirtyModalId ||\n\t\t\t\t\ttabsToCloseQueue.tabList[i].warningModalId;\n\t\t\t\tif (modalId) {\n\t\t\t\t\tdispatch(constants.MODAL_SELECTED, {\n\t\t\t\t\t\tmodalId,\n\t\t\t\t\t\tshowModal: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\ttabsToCloseQueue.tabList[i].confirmationStatus === 'cancelled'\n\t\t\t) {\n\t\t\t\t// we were told to stop processing this close operation\n\t\t\t\t// set state by removing all remaining tabs in the queue, and break\n\t\t\t\tupdateProperties({ tabsToCloseQueue: {} });\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// tab is dirty but we haven't yet asked to close it, so set up state to do so and break\n\t\t\t\tlet newtabsToCloseQueue = klona(tabsToCloseQueue);\n\t\t\t\tnewtabsToCloseQueue.tabList.splice(0, i);\n\t\t\t\tnewtabsToCloseQueue.tabList[0].confirmationStatus = 'pending';\n\t\t\t\tupdateProperties({ tabsToCloseQueue: newtabsToCloseQueue });\n\t\t\t\tpendingConfirmation = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// if there are no more tabs to close, reset the state\n\t\tif (!pendingConfirmation) updateProperties({ tabsToCloseQueue: {} });\n\n\t\tdispatch(constants.TAB_JUST_CLOSED, tabsData);\n\t}\n\n\tif (closedTabs.length > 0) {\n\t\tdispatch(constants.CLOSED_TABS_CHANGED, {\n\t\t\tprevTabsData,\n\t\t\tclosedTabs,\n\t\t});\n\t}\n\n\treturn tabsData;\n}\n\n//Handle focus on tab just closed\nfunction tabJustClosedEffect(payload) {\n\tconst selectedTab = deepSearchElement(`#${payload.root.selectedTabId}`);\n\tselectedTab.focus();\n}\n\nfunction mainTabNewAlertClearedEffect(tabsData, payload, coeffects) {\n\tconst { updateProperties } = coeffects;\n\tupdateProperties({ stopperPrompt: {} });\n\treturn tabsData;\n}\n\nasync function mainTabClickedEffect(tabsData, payload, coeffects) {\n\tconst { tab_id } = payload;\n\tconst { dispatch, properties } = coeffects;\n\t//const tabPayload = generators.getSelectTabPayload([tab_id]);\n\tconst tab = tabsData[tab_id];\n\tif (\n\t\ttab &&\n\t\ttab.isPrimaryTab === true &&\n\t\ttab.parentTabId === 'root' &&\n\t\ttab.viewportInfo\n\t) {\n\t\tdispatch(constants.VIEWPORT_SELECTED, {\n\t\t\tid: tab.id,\n\t\t\tviewportInfo: {\n\t\t\t\t...tab.viewportInfo,\n\t\t\t\tfields: { opened: !tab.viewportInfo.fields.opened },\n\t\t\t},\n\t\t});\n\t\treturn;\n\t}\n\treturn await reduceTabsData(\n\t\tconstants.OPEN_OR_FOCUS_TAB_REDUCER,\n\t\ttabsData,\n\t\tpayload,\n\t\tproperties,\n\t);\n}\n\nasync function selectTabEffect(tabsData, payload, coeffects) {\n\tlet {\n\t\ttab_ids = [],\n\t\t_implicitTabResolution = false,\n\t\t_tabResolutionStrategy = 'ACTIVE_OR_FIRST_SESSION_TAB',\n\t} = payload;\n\n\tconst { properties } = coeffects;\n\n\tif (tab_ids.length === 0 && _implicitTabResolution === true) {\n\t\tconst _tabId =\n\t\t\ttabUtils.tabResolutionStrategyMap[_tabResolutionStrategy](tabsData);\n\t\tif (_tabId === undefined || _tabId === null) return;\n\t\ttab_ids = tab_ids.concat(_tabId);\n\t}\n\tconst reducerPayload = { tab_id: tab_ids[0] };\n\treturn await reduceTabsData(\n\t\tconstants.OPEN_OR_FOCUS_TAB_REDUCER,\n\t\ttabsData,\n\t\treducerPayload,\n\t\tproperties,\n\t);\n}\n\nconst drillDownBackClickedEffect = async (tabsData, payload, coeffects) => {\n\tconst { properties } = coeffects;\n\treturn await reduceTabsData(\n\t\tconstants.CLOSE_ONE_DRILLDOWN_REDUCER,\n\t\ttabsData,\n\t\tpayload,\n\t\tproperties,\n\t);\n};\n\n//Property change effects\nconst screenContentChangedEffect = async (tabsData, payload, coeffects) => {\n\tconst { properties, dispatch, updateProperties } = coeffects;\n\tlet currTabsData = tabsData;\n\tfor (const item of payload) {\n\t\tcurrTabsData = await reduceTabsData(\n\t\t\tconstants.LIVE_UPDATE_TABS_REDUCER,\n\t\t\tcurrTabsData,\n\t\t\titem,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\t}\n\treturn currTabsData;\n};\n\nconst screenContentBatchChangedEffect = async (\n\ttabsData,\n\tpayload,\n\tcoeffects,\n) => {\n\tconst { properties, dispatch, updateProperties } = coeffects;\n\tconst items = Array.isArray(payload.screenUpdates)\n\t\t? payload.screenUpdates\n\t\t: [];\n\tif (items.length === 0) return tabsData;\n\n\tpayload.inbound = true;\n\t// Route through a single reducer call that batches items and reuses liveUpdateTabs logic\n\tconst updated = await reduceTabsData(\n\t\tconstants.LIVE_UPDATE_TABS_BATCHED_REDUCER,\n\t\ttabsData,\n\t\titems,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateProperties,\n\t);\n\treturn updated;\n};\n\nconst initContent = async (tabsData, payload, coeffects) => {\n\tconst { properties } = coeffects;\n\treturn await reduceTabsData(\n\t\tconstants.INIT_OR_UPDATE_TABS_REDUCER,\n\t\ttabsData,\n\t\tpayload,\n\t\tproperties,\n\t);\n};\n\nconst selectedContentChangedEffect = async (tabsData, payload, coeffects) => {\n\tconst { properties, state } = coeffects;\n\tconst registeredComponentId =\n\t\tstate.behaviors?.keyboardShortcutBehavior\n\t\t\t?.componentRegistrationAcknowledgementId ?? '';\n\tconst reducedTabsData = await reduceTabsData(\n\t\tconstants.INIT_OR_UPDATE_TABS_REDUCER,\n\t\ttabsData,\n\t\tpayload,\n\t\tproperties,\n\t);\n\n\t// DEF0577913- Title Update Fix\n\tif (!payload?.title) {\n\t\tconst activeTabContent =\n\t\t\ttabUtils.getNavItemSelectedPayload(reducedTabsData) || {};\n\t\tconst experienceName = get(\n\t\t\tactiveTabContent,\n\t\t\t'context.experienceName',\n\t\t\t'',\n\t\t);\n\t\tif (\n\t\t\tactiveTabContent?.route !== 'classic' &&\n\t\t\t!activeTabContent?.passiveNavigation\n\t\t) {\n\t\t\tsetPageTitle('', activeTabContent?.title, experienceName);\n\t\t}\n\t}\n\n\tif (reducedTabsData?.root) {\n\t\tconst { selectedTabId } = reducedTabsData.root;\n\t\tconst selectedTab = reducedTabsData[selectedTabId];\n\n\t\tsetActionState(\n\t\t\tregisteredComponentId,\n\t\t\tSELECTED_PAGE_TAB_FOCUS,\n\t\t\tselectedTab.tabList.length > 1,\n\t\t);\n\t}\n\n\treturn reducedTabsData;\n};\n\nconst primaryTabPropChangedEffect = async (tabsData, payload, coeffects) => {\n\tconst { properties } = coeffects;\n\tset(coeffects, 'action.payload.inbound', true);\n\treturn await reduceTabsData(\n\t\tconstants.UPDATE_PRIMARY_TAB_REDUCER,\n\t\ttabsData,\n\t\tpayload,\n\t\tproperties,\n\t);\n};\n\n//Property Change actions\nexport const handleTabConfigPropChange = async (\n\ttabConfig,\n\tpreviousTabConfig,\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tif (!tabConfig || typeof tabConfig === 'string') return;\n\ttabUtils.initTabConfig(tabConfig);\n\tconst { selectedContent } = properties;\n\tif (selectedContent) {\n\t\tconst rest = tabUtils.filterSelectedContent(selectedContent);\n\t\tdispatch(constants.TABS_SELECTED_CONTENT_CHANGED, {\n\t\t\t...rest,\n\t\t\tinbound: true,\n\t\t});\n\t}\n\t// tab limit is updated, remove the excess tabs(if any) accordingly\n\tif (tabConfig.maxHistoryTabLimit < previousTabConfig?.maxHistoryTabLimit) {\n\t\tupdateProperties(\n\t\t\tasync ({\n\t\t\t\tproperties: { closedTabsData, userId, experienceId },\n\t\t\t}) => {\n\t\t\t\tlet updatedClosedTabsData = closedTabsData;\n\t\t\t\t// If closedTabsData is not available, get it from session storage, which also removes excess tabs\n\t\t\t\tif (!closedTabsData.experienceId) {\n\t\t\t\t\tconst sessionClosedTabsData = await getClosedTabs(\n\t\t\t\t\t\tuserId,\n\t\t\t\t\t\texperienceId,\n\t\t\t\t\t\ttabConfig,\n\t\t\t\t\t);\n\t\t\t\t\tif (sessionClosedTabsData?.experienceId) {\n\t\t\t\t\t\tupdatedClosedTabsData = sessionClosedTabsData;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tupdatedClosedTabsData.closedTabs = removeExcessTabs(\n\t\t\t\t\t\tupdatedClosedTabsData.closedTabs,\n\t\t\t\t\t\ttabConfig,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'closedTabsData',\n\t\t\t\t\tvalue: { ...updatedClosedTabsData },\n\t\t\t\t};\n\t\t\t},\n\t\t);\n\t}\n};\n\nexport const handleSelectedContentPropChange = (\n\tvalue,\n\tpreviousValue,\n\tproperties,\n\tdispatch,\n) => {\n\tif (!value || typeof value === 'string') return;\n\tconst { tabConfig, tabsData } = properties;\n\tconst selectedContent = tabUtils.filterSelectedContent(value);\n\tif (!tabConfig || !selectedContent || !selectedContent.route) return null;\n\tif (tabConfig && !tabsData) tabUtils.initTabConfig(tabConfig);\n\tconst prevSelectedContent = tabUtils.filterSelectedContent(previousValue);\n\tif (!isEqual(selectedContent, prevSelectedContent))\n\t\tdispatch(constants.TABS_SELECTED_CONTENT_CHANGED, {\n\t\t\t...selectedContent,\n\t\t\tinbound: true,\n\t\t});\n};\n\nconst handleChangedScreenContentPropChange = (\n\tpreviousChangedScreenContent,\n\tchangedScreenContent,\n\tdispatch,\n) => {\n\tconst new_items = calculateNewScreenStatusPayloads(\n\t\tpreviousChangedScreenContent,\n\t\tchangedScreenContent,\n\t);\n\n\tnew_items.forEach((item, idx, all_items) => {\n\t\tconst { status, isScreenKeyUpdated = false } = item;\n\n\t\tconst shouldAddInbound =\n\t\t\t(status !== constants.SCREEN_STATUS_ACTION_CLOSED &&\n\t\t\t\tstatus !== constants.SCREEN_STATUS_ACTION_CLOSE_IF_CLEAN &&\n\t\t\t\tisScreenKeyUpdated === false) ||\n\t\t\t(status === constants.SCREEN_STATUS_ACTION_INSERTED &&\n\t\t\t\tisScreenKeyUpdated === true);\n\n\t\tall_items[idx] = {\n\t\t\t...item,\n\t\t\t...(shouldAddInbound && { inbound: true }),\n\t\t};\n\t});\n\tdispatch(constants.TABS_SCREEN_CONTENT_CHANGED, new_items);\n};\n\nexport const handleScreenCloseConfirmationChange = (\n\tscreenCloseConfirmation,\n\tdispatch,\n) => {\n\tif (screenCloseConfirmation === 'true')\n\t\tdispatch(constants.SCREEN_CLOSED_CONFIRMED, { inbound: true });\n\telse if (screenCloseConfirmation === 'false')\n\t\tdispatch(constants.SCREEN_CLOSED_CANCELLED, { inbound: true });\n};\n\nconst handlePrimaryTabPropChange = (primaryTabPropData, dispatch) => {\n\tif (!primaryTabPropData) return;\n\tdispatch(constants.PRIMARY_TAB_PROP_CHANGED, {\n\t\tprimaryTabPropData,\n\t\tinbound: true,\n\t});\n};\n\n/**\n * Updates the tabsData properties activeRecords and activeParentId\n *\n * Determines activeParentId and activeRecords from tabsData and chatOnPageMap props.\n * Chat Team hooks into activeRecords.hasChatOnPage to determine whether to hide\n * or show Agent Chat on a record.\n *\n * @param {Object} tabsData - The current tabs data structure.\n * @param {Function} updateProperties - Function to update component properties.\n * @param {Object} properties - Additional properties, including chatOnPageMap.\n */\nexport const handleActiveRecords = (tabsData, updateProperties, properties) => {\n\tconst chatOnPageMap =\n\t\tproperties && properties.chatOnPageMap ? properties.chatOnPageMap : {};\n\n\tlet activeParentId = '-1';\n\tlet tabList = [];\n\tlet activeRecords = [];\n\n\tif (has(tabsData, 'root')) {\n\t\tconst selectedTabId = get(tabsData, 'root.selectedTabId');\n\t\tconst selectedTab = tabsData[selectedTabId];\n\t\tconst selectedContentFields = selectedTab?.selectedContent?.fields;\n\n\t\tif (selectedTabId !== 'tab_0') {\n\t\t\tactiveParentId = get(\n\t\t\t\tselectedTab,\n\t\t\t\t'selectedContent.fields.sysId',\n\t\t\t\t'-1',\n\t\t\t);\n\t\t}\n\n\t\tconst table = get(selectedTab, 'selectedContent.fields.table', '-1');\n\t\tconst chatOnPageMapKey = `${table}~${activeParentId}`;\n\n\t\t//Criteria to be active record and to be a page with chat enabled\n\t\tconst canBeActiveRecord =\n\t\t\tselectedContentFields?.table && selectedContentFields?.sysId;\n\n\t\t/* DEF0675071: Prevent Handling Active Records until chatOnPageMap is available.\n\t\t * If chatOnPageMap is not available for the selected page, do not update\n\t\t * activeRecords and activeParentId. The Chat Shell eagerly reads these properties\n\t\t * from the tabsData on load, and does not have a property handler for tabsData updated.\n\t\t * Thus, we need to ensure these two properties are set correctly.\n\t\t */\n\t\tif (!chatOnPageMap[chatOnPageMapKey] && canBeActiveRecord) {\n\t\t\treturn;\n\t\t}\n\n\t\ttabList = get(tabsData, 'root.tabList', []);\n\t\teach(tabList, (tabId) => {\n\t\t\tconst tab = tabsData[tabId];\n\t\t\tif (!get(tab, 'isPrimaryTab', false)) {\n\t\t\t\tlet activeRecord = get(tab, 'selectedContent.fields', {});\n\t\t\t\tactiveRecord = klona(activeRecord);\n\n\t\t\t\tif (!isEmpty(activeRecord)) {\n\t\t\t\t\tactiveRecord.hasChatOnPage = false;\n\t\t\t\t\tcheckHasHoistContentData(chatOnPageMap, activeRecord);\n\t\t\t\t}\n\n\t\t\t\tif (!isEmpty(activeRecord)) {\n\t\t\t\t\tactiveRecords.push(activeRecord);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tupdateProperties({\n\t\tactiveParentId,\n\t\tactiveRecords,\n\t});\n};\n\nconst handleScreensToCloseQueueChange = (\n\tscreensToCloseQueue = [],\n\t{ tabsData },\n\tdispatch,\n\tupdateProperties,\n) => {\n\tif (!Array.isArray(screensToCloseQueue) || screensToCloseQueue.length === 0)\n\t\treturn;\n\tconst tabsToClose = screensToCloseQueue.map((screen) => ({\n\t\ttab_id: tabsData.root.childContentKeys[screen.screenKey],\n\t\tignoreDirty: screen.ignoreDirty || false,\n\t}));\n\n\tif (tabsToClose.length === 0) return;\n\t// TODO: we need a batch close, revisit it.\n\ttabsToClose.forEach((tab) =>\n\t\tdispatch(constants.MAIN_TAB_CLOSE_CLICKED, {\n\t\t\ttab_id: tab.tab_id,\n\t\t\toperation: constants.CLOSE_TAB_MENU_ITEM,\n\t\t\tignoreDirty: tab.ignoreDirty,\n\t\t}),\n\t);\n\n\tupdateProperties({\n\t\tscreensToCloseQueue: [],\n\t});\n};\n\nexport const loadTabConfigFromCache = async (coeffects) => {\n\tconst {\n\t\tproperties: { userId, experienceId, tabConfig: tabConfigFromProps },\n\t\thost,\n\t\tupdateProperties,\n\t} = coeffects;\n\tif (!isEmpty(tabConfigFromProps)) return;\n\tif (!userId || !experienceId) return;\n\tconst storedTabsContent = await getStoredTabs(userId, experienceId);\n\tconst language = window.ux_globals?.session?.output?.user?.language;\n\tif (language !== storedTabsContent?.language) return;\n\n\tlet tabConfig = storedTabsContent?.tabConfig;\n\tif (tabConfig) {\n\t\tupdateProperties({\n\t\t\ttabConfig,\n\t\t});\n\t\tconst tabElements = host.querySelectorAll('sn-canvas-tabs');\n\t\tfor (let i = 0; i < tabElements.length; i++) {\n\t\t\tif (!tabElements[i].tabConfig) tabElements[i].tabConfig = tabConfig;\n\t\t}\n\t}\n};\n\n// eslint-disable-next-line no-unused-vars\nconst tabsPropertyChangedEffect = async ({\n\thost,\n\taction,\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n}) => {\n\tconst { name, value, previousValue } = action.payload;\n\n\tswitch (name) {\n\t\tcase 'tabConfig':\n\t\t\thandleTabConfigPropChange(\n\t\t\t\tvalue,\n\t\t\t\tpreviousValue,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t\tbreak;\n\n\t\tcase 'selectedContent':\n\t\t\thandleSelectedContentPropChange(\n\t\t\t\tvalue,\n\t\t\t\tpreviousValue,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t);\n\t\t\tbreak;\n\n\t\tcase 'changedScreenContent':\n\t\t\thandleChangedScreenContentPropChange(\n\t\t\t\tpreviousValue,\n\t\t\t\tvalue,\n\t\t\t\tdispatch,\n\t\t\t);\n\t\t\tbreak;\n\n\t\tcase 'screenCloseConfirmation':\n\t\t\thandleScreenCloseConfirmationChange(value, dispatch);\n\t\t\tbreak;\n\n\t\tcase 'primaryTab':\n\t\t\thandlePrimaryTabPropChange(value, dispatch);\n\t\t\tbreak;\n\n\t\tcase 'tabsData':\n\t\t\thandleActiveRecords(value, updateProperties, properties);\n\t\t\tbreak;\n\n\t\tcase 'screensToCloseQueue':\n\t\t\thandleScreensToCloseQueueChange(\n\t\t\t\tvalue,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'experienceId':\n\t\t\tawait loadTabConfigFromCache({\n\t\t\t\thost,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'userId':\n\t\t\tawait loadTabConfigFromCache({\n\t\t\t\thost,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t});\n\t\t\tbreak;\n\t}\n};\n\n/** handle generic modal dialog close message, which comes from the \"x\" close icon.\n *  if 'NOW_MODAL#OPENED_SET' reaches this code for a modal that doesn't belong to us,\n *  then it results in a no-op.\n */\nfunction modalClosedEffect(tabsData, payload, coeffects) {\n\tmainTabCloseCancelledEffect(tabsData, payload, coeffects);\n\tmainTabNewAlertClearedEffect(tabsData, payload, coeffects);\n}\n\nfunction modalSelectedEffect(tabsData, payload, coeffects) {\n\tconst { host } = coeffects;\n\tconst componentId = get(coeffects, 'action.meta.id');\n\n\tif (componentId !== host.componentId && payload.showModal === false)\n\t\tmodalClosedEffect(tabsData, payload, coeffects);\n}\n\nasync function tabsDataConnectedEffect(coeffects) {\n\tconst { host } = coeffects;\n\tawait loadTabConfigFromCache(coeffects);\n\tconst tabsUnloadHandler = async () => {\n\t\tif (host && host.getProperty) {\n\t\t\tconst tabsData = host.getProperty('tabsData');\n\t\t\tconst tabConfig = host.getProperty('tabConfig');\n\t\t\tconst experienceId = host.getProperty('experienceId');\n\t\t\tconst userId = host.getProperty('userId');\n\t\t\tawait saveTabs(tabsData, tabConfig, userId, experienceId);\n\t\t\tawait saveClosedTabs(\n\t\t\t\thost.getProperty('closedTabsData'),\n\t\t\t\texperienceId,\n\t\t\t);\n\t\t\tconst chatOnPageMap = host.getProperty('chatOnPageMap');\n\t\t\tawait saveChatOnPageMapToStorage(\n\t\t\t\tchatOnPageMap,\n\t\t\t\tuserId,\n\t\t\t\texperienceId,\n\t\t\t);\n\t\t}\n\t\twindow.removeEventListener('beforeunload', tabsUnloadHandler);\n\t};\n\twindow.addEventListener('beforeunload', tabsUnloadHandler);\n}\n\nexport async function tabsDataDisconnectedEffect(coeffects) {\n\tconst {\n\t\thost,\n\t\tproperties: { userId },\n\t} = coeffects;\n\n\tif (host && host.getProperty) {\n\t\tconst tabsData = host.getProperty('tabsData');\n\t\tconst tabConfig = host.getProperty('tabConfig');\n\t\tconst experienceId = host.getProperty('experienceId');\n\t\tawait saveTabs(tabsData, tabConfig, userId, experienceId);\n\t\tconst chatOnPageMap = host.getProperty('chatOnPageMap');\n\t\tawait saveChatOnPageMapToStorage(chatOnPageMap, userId, experienceId);\n\t}\n}\n\nfunction reopenClosedTabEffect(tabsData, payload, coeffects) {\n\tconst {\n\t\tproperties: {\n\t\t\tclosedTabsData: { closedTabs },\n\t\t},\n\t} = coeffects;\n\tconst { id } = payload;\n\tconst { parentKey } = extractKeys(id);\n\n\t// if parentKey is not present, it means it is a L1 tab\n\tif (!parentKey) {\n\t\tconst l1Key = id;\n\t\tconst { selectedTabKey, tabList: subKeys, content } = closedTabs[l1Key];\n\t\tconst l1SelectedContent = createSelectedContentPayload(\n\t\t\tclosedTabs,\n\t\t\tl1Key,\n\t\t);\n\t\tif (content.drillDowns?.length > 0) {\n\t\t\tl1SelectedContent.drillDowns = content.drillDowns.map((drillDown) =>\n\t\t\t\tcreateContentPayload(drillDown),\n\t\t\t);\n\t\t}\n\n\t\tconst selectedContents = subKeys.map((key) => {\n\t\t\treturn createSelectedContentPayload(closedTabs, key, l1Key);\n\t\t});\n\t\tconst selectedSubTabIndex = subKeys.findIndex(\n\t\t\t(key) => key === selectedTabKey,\n\t\t);\n\n\t\treturn getInitReopenTabData({\n\t\t\ttabsData,\n\t\t\tparentTabContent: l1SelectedContent,\n\t\t\tselectedSubTabIndex,\n\t\t\tsubTabContents: selectedContents,\n\t\t});\n\t} else {\n\t\t// Opening a L2 tab\n\t\tconst selectedContent = createSelectedContentPayload(\n\t\t\tclosedTabs,\n\t\t\tid,\n\t\t\tparentKey,\n\t\t);\n\n\t\treturn getInitReopenSubTabData({\n\t\t\ttabsData,\n\t\t\tparentKey,\n\t\t\tsubTabContent: selectedContent,\n\t\t});\n\t}\n}\n\nfunction closedTabsChangedEffect(_, payload, coeffects) {\n\tconst { updateProperties } = coeffects;\n\tconst { prevTabsData, closedTabs: closedTabIds } = payload;\n\tupdateProperties(({ properties: { closedTabsData, tabConfig } }) => {\n\t\t// Process the tabs with history limits applied\n\t\tconst updatedClosedTabs = processClosedTabs(\n\t\t\tclosedTabsData.closedTabs,\n\t\t\tprevTabsData,\n\t\t\tclosedTabIds,\n\t\t\ttabConfig,\n\t\t);\n\n\t\treturn {\n\t\t\toperation: 'set',\n\t\t\tpath: 'closedTabsData',\n\t\t\tvalue: { ...closedTabsData, closedTabs: updatedClosedTabs },\n\t\t};\n\t});\n}\n\nconst actionTabsDataEffectMap = {\n\t[constants.MAIN_TAB_CLOSE_CLICKED]: mainTabCloseClickedEffect,\n\t[constants.MAIN_TAB_NEW_ALERT_CLEARED]: mainTabNewAlertClearedEffect,\n\t[constants.MAIN_TAB_NEW_ALERT_CLEARED_OK]: mainTabNewAlertClearedEffect,\n\t[constants.MAIN_TAB_CLICKED]: mainTabClickedEffect,\n\t[constants.SUB_TAB_CLOSE_CLICKED]: subTabCloseClickedEffect,\n\t[constants.SELECT_TAB]: selectTabEffect,\n\t[constants.TABS_SELECTED_CONTENT_CHANGED]: selectedContentChangedEffect,\n\t[constants.TABS_SCREEN_CONTENT_CHANGED]: screenContentChangedEffect,\n\t[constants.TABS_SCREEN_CONTENT_BATCH_CHANGED]:\n\t\tscreenContentBatchChangedEffect,\n\t[constants.TABS_CLOSE_REQUESTED]: tabCloseRequestedEffect,\n\t[constants.TABS_CLOSE_CONFIRMED]: mainTabCloseConfirmedEffect,\n\t[constants.TABS_CLOSE_CANCELLED]: mainTabCloseCancelledEffect,\n\t[constants.NOW_MODAL_OPENED_SET]: modalClosedEffect, // this is the generic msg from close icon on modal\n\t[constants.DRILLDOWN_BACK_CLICKED]: drillDownBackClickedEffect,\n\t[constants.SCREEN_CLOSED_CONFIRMED]: mainTabCloseConfirmedEffect,\n\t[constants.SCREEN_CLOSED_CANCELLED]: mainTabCloseCancelledEffect,\n\t[constants.PRIMARY_TAB_PROP_CHANGED]: primaryTabPropChangedEffect,\n\t[constants.MODAL_SELECTED]: modalSelectedEffect,\n\t[constants.TAB_JUST_CLOSED]: tabJustClosedEffect,\n\t[constants.CLOSED_TABS_CHANGED]: closedTabsChangedEffect,\n\t[constants.REOPEN_CLOSED_TAB]: reopenClosedTabEffect,\n};\n\nconst tabsDataActionHandlers = Object.keys(actionTabsDataEffectMap).reduce(\n\t(result, key) => {\n\t\treturn {\n\t\t\t...result,\n\t\t\t[key]: createTabsDataEffect(actionTabsDataEffectMap[key]),\n\t\t};\n\t},\n\t{},\n);\n\nexport const rootActionHandlers = {\n\t...tabsDataActionHandlers,\n\t[COMPONENT_CONNECTED]: tabsDataConnectedEffect,\n\t[COMPONENT_DISCONNECTED]: tabsDataDisconnectedEffect,\n\t[COMPONENT_PROPERTY_CHANGED]: tabsPropertyChangedEffect,\n\t[UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS]:\n\t\tupdateHoistedContentForActiveRecords,\n\t[constants.TABS_REARRANGED]: ({ updateProperties, properties, action }) => {\n\t\tconst { parentTabId, newTabList } = action.payload;\n\t\tconst tabsData = { ...properties.tabsData };\n\t\ttabsData[parentTabId].tabList = newTabList;\n\t\tupdateProperties({ tabsData });\n\t},\n\t[constants.NOW_BUTTON_BARE_CLICKED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: { payload },\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\t\t\tif (payload.drillDowns)\n\t\t\t\tdispatch(constants.DRILLDOWN_BACK_CLICKED, payload);\n\t\t},\n\t\tstopPropagation: true,\n\t},\n};\n","import { getChatOnPageMapFromStorage } from '../behaviors/utilityPanel.storage';\nimport { isEmpty } from 'lodash';\n\nexport const updateHoistedContentForActiveRecords = async (coeffects) => {\n\tconst { updateProperties, properties, action } = coeffects;\n\tconst { payload } = action;\n\tlet { chatOnPageMap } = properties;\n\tlet shouldUpdate = false;\n\tconst experienceId = payload.experienceId;\n\tconst userId = window.ux_globals?.session?.output?.user?.sys_id;\n\t//if chatOnPageMap is empty, get it from storage\n\tif (isEmpty(chatOnPageMap)) {\n\t\tconst storedChatOnPageMap = await getChatOnPageMapFromStorage(\n\t\t\tuserId,\n\t\t\texperienceId,\n\t\t);\n\t\tif (!!storedChatOnPageMap && typeof storedChatOnPageMap === 'object') {\n\t\t\tchatOnPageMap = storedChatOnPageMap;\n\t\t\tshouldUpdate = true;\n\t\t}\n\t}\n\t//skip if payload is a duplicate\n\tif (\n\t\tpayload.table !== undefined &&\n\t\tpayload.sysId !== undefined &&\n\t\tpayload.isMainSessionTab === true &&\n\t\t(chatOnPageMap[`${payload.table}~${payload.sysId}`] === undefined ||\n\t\t\tchatOnPageMap[`${payload.table}~${payload.sysId}`].hasChatOnPage !==\n\t\t\t\tpayload.hasChatOnPage)\n\t) {\n\t\tchatOnPageMap[`${payload.table}~${payload.sysId}`] = { ...payload };\n\t\tshouldUpdate = true;\n\t}\n\tif (shouldUpdate) {\n\t\tupdateProperties({ chatOnPageMap });\n\t}\n};\n\nexport const checkHasHoistContentData = (chatOnPageMap, activeRecord) => {\n\tif (!!chatOnPageMap && !!activeRecord) {\n\t\tfor (let key in chatOnPageMap) {\n\t\t\tlet { sysId, table, hasChatOnPage } = chatOnPageMap[key];\n\t\t\tif (activeRecord.sysId === sysId && activeRecord.table === table) {\n\t\t\t\tactiveRecord.hasChatOnPage = hasChatOnPage;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n","import { rootActionHandlers } from './tabsData.effects';\n\nexport const tabsDataBehavior = {\n\tname: 'tabsDataBehavior',\n\tproperties: {\n\t\tprimaryTab: {\n\t\t\tdefault: null,\n\t\t},\n\t\ttabConfig: {\n\t\t\tdefault: null,\n\t\t},\n\t\ttabsData: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t},\n\t\ttabsToCloseQueue: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t},\n\t\tstopperPrompt: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t},\n\t\tchangedScreenContent: {\n\t\t\tdefault: null,\n\t\t},\n\t\tscreenCloseConfirmation: {\n\t\t\tdefault: null,\n\t\t},\n\t\tuserId: {\n\t\t\tdefault: window?.ux_globals?.session?.output?.user?.sys_id,\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tuxrEnableDebug: {\n\t\t\tdefault: false,\n\t\t},\n\t\tactiveParentId: {\n\t\t\tdefault: '',\n\t\t\tselectable: true,\n\t\t},\n\t\tactiveRecords: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t\tselectable: false,\n\t\t},\n\t\tscreensToCloseQueue: {\n\t\t\tdefault: [],\n\t\t\tselectable: false,\n\t\t},\n\t\tchatOnPageMap: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t},\n\t\tclosedTabsData: {\n\t\t\tdefault: {\n\t\t\t\tuserId: null,\n\t\t\t\texperienceId: null,\n\t\t\t\tclosedTabs: {\n\t\t\t\t\troot: {\n\t\t\t\t\t\ttabList: [],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tselectable: true,\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t...rootActionHandlers,\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateSubscriberBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t\t} else if ('dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateSubscriberBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t} });","/**\n * For Dirty State Manager API see uxf-monorepo/library-uxf/src/dirtyStateManager/index.js\n * @returns Returns the global instance of the dirtyStateManager.\n */\nexport const getDirtyStateManager = () => {\n\tif (!window?.uxf?.dirtyStateManager) {\n\t\tthrow new Error(\n\t\t\t'DirtyStateManager not found on window. ' +\n\t\t\t\t'Make sure the library-uxf dirtyStateManager is initialized.',\n\t\t);\n\t}\n\treturn window?.uxf?.dirtyStateManager;\n};\n\n/**\n * Retrieves the page macroponent component ID from the given action chain.\n *\n * Iterates through the component IDs in reverse order and returns the\n * page macroponent component ID if found.\n *\n * @param {string[]} componentIdsInActionChain - An array of component IDs representing the action chain.\n * @returns {string|null} - Returns the latest macroponent component ID if found, otherwise `null`.\n */\nexport const getLatestCapturedMacroponentComponentId = (\n\tcomponentIdsInActionChain,\n) => {\n\t/**\n\t * The action chain looks like this:\n\t * [source-component, ..., page-macroponent, ..., main, ...,tabsData]\n\t * We get the action chain from the tabsData to the source element.\n\t */\n\tfor (let i = componentIdsInActionChain.length - 1; i >= 0; i--) {\n\t\tconst componentId = componentIdsInActionChain[i];\n\t\tif (getDirtyStateManager().isRegisteredMacroponent(componentId)) {\n\t\t\treturn componentId;\n\t\t}\n\t}\n\treturn null;\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { renderSkipBehavior } from 'sn-canvas-common';\nimport { tabsDataBehavior } from './behaviors/tabsDataBehavior';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\nimport { keyboardShortcutBehavior } from '@servicenow/now-trigger-library';\nimport { onDirtyStateChange } from './helpers/dirtyStateHandlers';\nimport {\n\tCLOSE_SELECTED_WORKSPACE_TAB,\n\tSELECTED_WORKSPACE_TAB_FOCUS,\n\tSELECTED_PAGE_TAB_FOCUS,\n} from '../../constants/constants';\nimport * as tabUtils from './utils/tabsData.utils';\nimport * as constants from '../../constants/constants';\n\ncreateCustomElement('sn-canvas-tabsdata', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: () => <slot />,\n\t},\n\tbehaviors: [\n\t\ttabsDataBehavior,\n\t\trenderSkipBehavior,\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: onDirtyStateChange,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: keyboardShortcutBehavior,\n\t\t\toptions: {\n\t\t\t\tactionMap: {\n\t\t\t\t\t[CLOSE_SELECTED_WORKSPACE_TAB]: ({\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tproperties: { tabsData },\n\t\t\t\t\t}) => {\n\t\t\t\t\t\tif (!tabsData) return;\n\n\t\t\t\t\t\tconst selectedTab =\n\t\t\t\t\t\t\ttabUtils.findDeepestSelectedTab(tabsData);\n\t\t\t\t\t\tif (!selectedTab) return;\n\n\t\t\t\t\t\thost.dispatch(constants.MAIN_TAB_CLOSE_CLICKED, {\n\t\t\t\t\t\t\ttab_id: selectedTab.tabId,\n\t\t\t\t\t\t\toperation: constants.CLOSE_TAB_MENU_ITEM,\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t[SELECTED_WORKSPACE_TAB_FOCUS]: {\n\t\t\t\t\t\taction: ({ host }) => {\n\t\t\t\t\t\t\thost.querySelectorAll('sn-canvas-tabs')[0]\n\t\t\t\t\t\t\t\t?.shadowRoot.querySelector(\n\t\t\t\t\t\t\t\t\t'[role=\"tab\"].is-selected',\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.focus();\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t[SELECTED_PAGE_TAB_FOCUS]: {\n\t\t\t\t\t\taction: ({ host }) => {\n\t\t\t\t\t\t\thost.querySelectorAll('sn-canvas-tabs')[1]\n\t\t\t\t\t\t\t\t?.shadowRoot.querySelector(\n\t\t\t\t\t\t\t\t\t'[role=\"tab\"].is-selected',\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.focus();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tactive: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n});\n","import { isEmpty, isNil } from '@devsnc/snowdash';\nimport { declarativeOperations } from '@servicenow/ui-core';\nimport { klona } from 'klona';\nimport { propagateFlag } from '../utils/tabsData.utils';\nimport { getDirtyStateManager } from '../utils/dirtyStateHandler.utils';\n\n/**\n * Callback method to update `tabsData` with aggregated \"isDirty\"\n * value for the tabsdata level.\n *\n * @param {DirtyStateSubscriberCallbackParams} params -\n * @see uxf-monorepo/library-uxf/src/factory/dirtyStateManager/dirtyStateManager.js\n */\nexport const onDirtyStateChange = (params) => {\n\tconst {\n\t\tisDirty,\n\t\tscreenStatusChangedActionPayload: { screenKey },\n\t\tsubscriberUpdatePropertiesFn,\n\t} = params;\n\n\tif (isNil(screenKey)) {\n\t\treturn;\n\t}\n\n\tsubscriberUpdatePropertiesFn(({ properties }) => {\n\t\tconst { tabsData } = properties;\n\t\tconst ROOT_TAB_KEY = 'root';\n\n\t\t// Update the aggregated dirty state from DSM at root.\n\t\tif (isNil(tabsData[ROOT_TAB_KEY])) {\n\t\t\treturn properties;\n\t\t}\n\t\ttabsData[ROOT_TAB_KEY].isDirty = isDirty;\n\n\t\t// Identify the leaf nodes\n\t\tconst leafTabs = Object.values(tabsData).filter(\n\t\t\t(t) => t?.contentKey === screenKey && isEmpty(t?.tabList),\n\t\t);\n\n\t\tif (isEmpty(leafTabs)) {\n\t\t\treturn properties;\n\t\t}\n\n\t\t/**\n\t\t * Update the aggregated dirty state to the leaf nodes.\n\t\t * This is based on the aggregated dirty state of the screen from DSM.\n\t\t */\n\t\tconst currentScreenDirtyState =\n\t\t\tgetDirtyStateManager().isScreenDirty(screenKey);\n\t\tif (currentScreenDirtyState === null) {\n\t\t\treturn properties;\n\t\t}\n\n\t\tlet updatedTabsData = tabsData;\n\n\t\tleafTabs.forEach((leafTab) => {\n\t\t\t/**\n\t\t\t * Propagate the changes from leaf node to the root node.\n\t\t\t * This ensures that the tabs from the leaf layer to the\n\t\t\t * root layer gets the correct consolidated value.\n\t\t\t */\n\t\t\tleafTab.isDirty = currentScreenDirtyState;\n\t\t\tupdatedTabsData = propagateFlag(\n\t\t\t\tupdatedTabsData,\n\t\t\t\tleafTab,\n\t\t\t\t'isDirty',\n\t\t\t\tcurrentScreenDirtyState,\n\t\t\t);\n\t\t});\n\n\t\treturn {\n\t\t\tpath: 'tabsData',\n\t\t\tvalue: klona(updatedTabsData),\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tshouldUpdate: true,\n\t\t};\n\t});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_28_0_24_index_jsdbx_263494ce__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"filterAriaAttributes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.__esModule\n\t\t\t\t\tif (cjsModule && 'filterAriaAttributes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"].filterAriaAttributes;\n\t\t\t\t\t} else if ('filterAriaAttributes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.filterAriaAttributes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"].filterAriaAttributes;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createAmbSubscriptionEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.__esModule\n\t\t\t\t\tif (cjsModule && 'createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t\t} else if ('createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.createAmbSubscriptionEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { createAmbSubscriptionEffect } from '@servicenow/ui-effect-amb';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { get as _get, has as _has, isEmpty as _isEmpty } from 'lodash';\n\nconst ACTION_TYPES = {\n\tRECORD_WATCHER: {\n\t\tSUBSCRIBE_STARTED: 'RECORD_WATCHER_SUBSCRIBE_STARTED',\n\t\tSUBSCRIBED: 'RECORD_WATCHER_SUBSCRIBED',\n\t\tSUBSCRIBE_FAILED: 'RECORD_WATCHER_SUBSCRIBE_FAILED',\n\t\tUNSUBSCRIBED: 'RECORD_WATCHER_UNSUBSCRIBED',\n\t\tITEM_CHANGED: 'RECORD_WATCHER_ITEM_CHANGED',\n\t\tSUBSCRIPTION_CHANGED: 'RECORD_WATCHER_SUBSCRIPTION_CHANGED',\n\t},\n\tAGGREGATE_COUNT: {\n\t\tFETCH: 'AGGREGATE_COUNT_FETCH',\n\t\tSTARTED: 'AGGREGATE_COUNT_STARTED',\n\t\tSUCCEEDED: 'AGGREGATE_COUNT_SUCCEEDED',\n\t\tFAILED: 'AGGREGATE_COUNT_FAILED',\n\t},\n};\n\nconst AGGREGATE_COUNT_GQL = `query($table: String!, $filter: String!) {\n    GlideAggregate_Query(tableName: $table, queryConditions: $filter) {\n      count\n    }\n  }`;\n\nconst handleBadgeCountFetch = createGraphQLEffect(AGGREGATE_COUNT_GQL, {\n\tvariableList: ['table', 'filter'],\n\tstartActionType: ACTION_TYPES.AGGREGATE_COUNT.STARTED,\n\tsuccessActionType: ACTION_TYPES.AGGREGATE_COUNT.SUCCEEDED,\n\terrorActionType: ACTION_TYPES.AGGREGATE_COUNT.FAILED,\n});\n\nconst handleBadgeCountFetchSuccess = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n}) => {\n\tconst { badge } = properties;\n\tconst count = _get(action, 'payload.data.GlideAggregate_Query[0].count', 0);\n\tupdateProperties({ badge: { ...badge, count } });\n};\n\nconst handleBadgeCountFetchFailure = ({ properties, updateProperties }) => {\n\tconst { badge } = properties;\n\tconst { table, filter } = badge;\n\t// eslint-disable-next-line no-console\n\tconsole.error(\n\t\t`Failed to fetch aggregate counts with for table, ${table} with filter, ${filter}`,\n\t);\n\tupdateProperties({ badge: { ...badge, count: 0 } });\n};\n\nconst handleRecordWatcher = createAmbSubscriptionEffect(\n\t'/rw/default/:table/:filter',\n\t{\n\t\tsubscribeStartedActionType:\n\t\t\tACTION_TYPES.RECORD_WATCHER.SUBSCRIBE_STARTED,\n\t\tsubscribeSucceededActionType: ACTION_TYPES.RECORD_WATCHER.SUBSCRIBED,\n\t\tsubscribeFailedActionType: ACTION_TYPES.RECORD_WATCHER.SUBSCRIBE_FAILED,\n\t\tunsubscribeSucceededActionType:\n\t\t\tACTION_TYPES.RECORD_WATCHER.UNSUBSCRIBED,\n\t\tmessageReceivedActionType: ACTION_TYPES.RECORD_WATCHER.ITEM_CHANGED,\n\t},\n);\n\nconst handleItemChanged = ({ action, properties, updateProperties }) => {\n\tconst countUpdate = _get(action, 'payload.data.count', '').split('');\n\tconst { badge } = properties;\n\tif (countUpdate[0] === '+') {\n\t\tupdateProperties({\n\t\t\tbadge: { ...badge, count: badge.count + parseInt(countUpdate[1]) },\n\t\t});\n\t} else if (countUpdate[0] === '-') {\n\t\tupdateProperties({\n\t\t\tbadge: { ...badge, count: badge.count - parseInt(countUpdate[1]) },\n\t\t});\n\t}\n};\n\nconst _getSubscriptionArgs = (table, filter, subscribe) => ({\n\tsubscribe,\n\ttable,\n\tfilter: btoa(filter).replace(/=/g, '-'),\n});\n\nconst onConnect = ({ properties, dispatch }) => {\n\tconst { badge } = properties;\n\tif (!_isEmpty(badge) && _has(badge, 'configurations')) {\n\t\tconst { configurations, type } = badge;\n\t\tswitch (type) {\n\t\t\tcase 'record': {\n\t\t\t\tconst { table, filter } = configurations;\n\t\t\t\tif (table && filter) {\n\t\t\t\t\t// Fetch initial data\n\t\t\t\t\tdispatch(ACTION_TYPES.AGGREGATE_COUNT.FETCH, {\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\tfilter,\n\t\t\t\t\t});\n\n\t\t\t\t\t// Subscribe to changes\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tACTION_TYPES.RECORD_WATCHER.SUBSCRIPTION_CHANGED,\n\t\t\t\t\t\t_getSubscriptionArgs(table, filter, true),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst onDisconnect = ({ properties, dispatch }) => {\n\tconst { badge } = properties;\n\n\tif (!_isEmpty(badge) && _has(badge, 'configurations')) {\n\t\tconst { table, filter } = badge.configurations;\n\t\tif (table && filter) {\n\t\t\t// unsubscribe to changes\n\t\t\tdispatch(\n\t\t\t\tACTION_TYPES.RECORD_WATCHER.SUBSCRIPTION_CHANGED,\n\t\t\t\t_getSubscriptionArgs(table, filter, false),\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst effectHandlers = {\n\thandleBadgeCountFetch,\n\thandleBadgeCountFetchSuccess,\n\thandleBadgeCountFetchFailure,\n\thandleRecordWatcher,\n\thandleItemChanged,\n\tonConnect,\n\tonDisconnect,\n};\n\nexport {\n\thandleBadgeCountFetchSuccess,\n\thandleBadgeCountFetchFailure,\n\thandleItemChanged,\n\tonConnect,\n\tonDisconnect,\n\tACTION_TYPES,\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport badgeCountEffect from './badgeCountEffect';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst { RECORD_WATCHER, AGGREGATE_COUNT } = badgeCountEffect.ACTION_TYPES;\n\nconst {\n\thandleBadgeCountFetch,\n\thandleBadgeCountFetchSuccess,\n\thandleBadgeCountFetchFailure,\n\thandleRecordWatcher,\n\thandleItemChanged,\n\tonConnect,\n\tonDisconnect\n} = badgeCountEffect.effectHandlers;\n\nexport const badgeCountBehavior = {\n\tname: 'BADGE_COUNT_BEHAVIOR',\n\tproperties: {\n\t\t/**\n\t\t * Defines the badge information.\n\t\t * @type {object}\n\t\t *\n\t\t * {\n\t\t *    count: 2,\n\t\t *    configurations: {\n\t\t *      table: \"task\"\n\t\t *      filter: \"assigned_to=46c6f9efa9fe198101ddf5eed9adf6e7\"\n\t\t *    },\n\t\t *    type: \"record\"\n\t\t * }\n\t\t */\n\t\tbadge: { schema: { type: 'object' } }\n\t},\n\tactions: {\n\t\t[AGGREGATE_COUNT.FETCH]: { private: true },\n\t\t[AGGREGATE_COUNT.STARTED]: { private: true },\n\t\t[AGGREGATE_COUNT.SUCCEEDED]: { private: true },\n\t\t[AGGREGATE_COUNT.FAILED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIBED_STARTED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIBED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIBED_FAILED]: { private: true },\n\t\t[RECORD_WATCHER.UNSUBSCRIBED]: { private: true },\n\t\t[RECORD_WATCHER.ITEM_CHANGED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIPTION_CHANGED]: { private: true }\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: onConnect,\n\t\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\t\t[AGGREGATE_COUNT.FETCH]: handleBadgeCountFetch,\n\t\t[AGGREGATE_COUNT.SUCCEEDED]: handleBadgeCountFetchSuccess,\n\t\t[AGGREGATE_COUNT.FAILED]: handleBadgeCountFetchFailure,\n\t\t[RECORD_WATCHER.SUBSCRIPTION_CHANGED]: handleRecordWatcher,\n\t\t[RECORD_WATCHER.ITEM_CHANGED]: handleItemChanged\n\t}\n};\n","import { createAmbSubscriptionEffect } from '@servicenow/ui-effect-amb';\nimport { get as _get, has as _has, isEmpty as _isEmpty } from 'lodash';\n\nconst ACTION_TYPES = {\n\tRECORD_WATCHER: {\n\t\tSUBSCRIBE_STARTED: 'RECORD_WATCHER_SUBSCRIBE_STARTED',\n\t\tSUBSCRIBED: 'RECORD_WATCHER_SUBSCRIBED',\n\t\tSUBSCRIBE_FAILED: 'RECORD_WATCHER_SUBSCRIBE_FAILED',\n\t\tUNSUBSCRIBED: 'RECORD_WATCHER_UNSUBSCRIBED',\n\t\tITEM_CHANGED: 'RECORD_WATCHER_ITEM_CHANGED',\n\t\tSUBSCRIPTION_CHANGED: 'RECORD_WATCHER_SUBSCRIPTION_CHANGED'\n\t}\n};\n\nconst handleRecordWatcher = createAmbSubscriptionEffect(\n\t'/rw/default/:table/:filter',\n\t{\n\t\tsubscribeStartedActionType: ACTION_TYPES.RECORD_WATCHER.SUBSCRIBE_STARTED,\n\t\tsubscribeSucceededActionType: ACTION_TYPES.RECORD_WATCHER.SUBSCRIBED,\n\t\tsubscribeFailedActionType: ACTION_TYPES.RECORD_WATCHER.SUBSCRIBE_FAILED,\n\t\tunsubscribeSucceededActionType: ACTION_TYPES.RECORD_WATCHER.UNSUBSCRIBED,\n\t\tmessageReceivedActionType: ACTION_TYPES.RECORD_WATCHER.ITEM_CHANGED\n\t}\n);\n\nconst handleItemChanged = ({ action, properties, updateProperties }) => {\n\tconst { configurations } = properties.presence;\n\tconst { table_name, record } = _get(action, 'payload.data');\n\ttable_name === configurations.table\n\t\t? updateProperties({\n\t\t\t\tpresence: {\n\t\t\t\t\t...properties.presence,\n\t\t\t\t\tstatus: _get(record, 'status.value')\n\t\t\t\t}\n\t\t  })\n\t\t: null;\n};\n\nconst _getSubscriptionArgs = (table, filter, subscribe) => ({\n\tsubscribe,\n\ttable,\n\tfilter: btoa(filter).replace(/=/g, '-')\n});\n\nconst onConnect = ({ properties, dispatch }) => {\n\tconst { presence } = properties;\n\tif (!_isEmpty(presence) && _has(presence, 'configurations')) {\n\t\tconst { configurations, type } = presence;\n\t\tswitch (type) {\n\t\t\tcase 'record': {\n\t\t\t\tconst { table, filter } = configurations;\n\t\t\t\tif (table && filter) {\n\t\t\t\t\t// Subscribe to changes\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tACTION_TYPES.RECORD_WATCHER.SUBSCRIPTION_CHANGED,\n\t\t\t\t\t\t_getSubscriptionArgs(table, filter, true)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst onDisconnect = ({ properties, dispatch }) => {\n\tconst { presence } = properties;\n\n\tif (!_isEmpty(presence) && _has(presence, 'configurations')) {\n\t\tconst { table, filter } = presence.configurations;\n\t\tif (table && filter) {\n\t\t\t// unsubscribe to changes\n\t\t\tdispatch(\n\t\t\t\tACTION_TYPES.RECORD_WATCHER.SUBSCRIPTION_CHANGED,\n\t\t\t\t_getSubscriptionArgs(table, filter, false)\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst effectHandlers = {\n\thandleRecordWatcher,\n\thandleItemChanged,\n\tonConnect,\n\tonDisconnect\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport presenceEffect from './presenceEffect';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst { RECORD_WATCHER } = presenceEffect.ACTION_TYPES;\n\nconst {\n\thandleRecordWatcher,\n\thandleItemChanged,\n\tonConnect,\n\tonDisconnect\n} = presenceEffect.effectHandlers;\n\nexport const presenceBehavior = {\n\tname: 'PRESENCE_BEHAVIOR',\n\tproperties: {\n\t\t/**\n\t\t * Presence of the user, displayed with an indicator icon in the corner of the toolbar button.\n\t\t * @type {object}\n\t\t *\n\t\t * {\n\t\t *    status: \"available\",\n\t\t *    configurations: {\n\t\t *      table: \"sys_user_presence\"\n\t\t *      filter: \"user_available=true^user=6816f79cc0a8016401c5a33be04be441\"\n\t\t *    },\n\t\t *    type: \"record\"\n\t\t * }\n\t\t */\n\t\tpresence: { schema: { type: 'object' } }\n\t},\n\tactions: {\n\t\t[RECORD_WATCHER.SUBSCRIBED_STARTED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIBED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIBED_FAILED]: { private: true },\n\t\t[RECORD_WATCHER.UNSUBSCRIBED]: { private: true },\n\t\t[RECORD_WATCHER.ITEM_CHANGED]: { private: true },\n\t\t[RECORD_WATCHER.SUBSCRIPTION_CHANGED]: { private: true }\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: onConnect,\n\t\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\t\t[RECORD_WATCHER.SUBSCRIPTION_CHANGED]: handleRecordWatcher,\n\t\t[RECORD_WATCHER.ITEM_CHANGED]: handleItemChanged\n\t}\n};\n","// nds-scanner-disable-file native-element\n\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { filterAriaAttributes } from '@servicenow/library-enhanced-utils';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-button';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-badge';\nimport snCanvasToolbarButtonStyles from './_sn-canvas-toolbar-button.scss';\nimport { badgeCountBehavior } from '../../behaviors/badge-count';\nimport { presenceBehavior } from '../../behaviors/presence';\nimport { isEmpty as _isEmpty, get as _get } from 'lodash';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport buildEventHandlersForTooltip from '../../utils/getEventbindingsForTooltips';\n\nconst { COMPONENT_DOM_READY } = actionTypes;\n\nconst SN_CANVAS_TOOLBAR_BUTTON_CLICKED = 'SN_CANVAS_TOOLBAR_BUTTON#CLICKED';\n\nconst _renderIcon = (icon, isOverflow) => {\n\treturn icon ? (\n\t\t<now-icon\n\t\t\ticon={icon}\n\t\t\tsize={isOverflow ? 'md' : 'lg'}\n\t\t\taria-hidden=\"true\"\n\t\t/>\n\t) : undefined;\n};\n\nconst _renderBadge = (badge) => {\n\treturn !_isEmpty(badge) && !!badge.count ? (\n\t\t<now-badge\n\t\t\tclass={{ '-badge-count': true }}\n\t\t\tround\n\t\t\tsize=\"sm\"\n\t\t\tstatus=\"info\"\n\t\t\tvalue={badge.count}\n\t\t\taria-label={t('badge counter ' + badge.count)}\n\t\t\tvariant=\"secondary\"\n\t\t/>\n\t) : undefined;\n};\n\nconst _renderPresence = (status) => {\n\treturn status ? (\n\t\t<now-icon-presence\n\t\t\tclass={{ '-presence-indicator': true }}\n\t\t\tsize=\"sm\"\n\t\t\tpresence={status}\n\t\t\taria-hidden=\"true\"\n\t\t\tshow-pattern=\"true\"\n\t\t/>\n\t) : undefined;\n};\n\nexport const getAriaRole = (group) => {\n\tif (group === 'top') return 'tab';\n\telse return undefined;\n};\n\nexport const ariaPressedCheckedOrSelected = (selected, group) => {\n\tif (group === 'top')\n\t\treturn { ['aria-selected']: selected ? 'true' : 'false' };\n\telse return undefined;\n};\n\nexport const checkToolbarFocus = () => {\n\tlet activeElement = document.activeElement;\n\tif (\n\t\t(activeElement && activeElement.tagName === 'SEISMIC-HOIST') ||\n\t\tactiveElement.tagName === 'SN-CANVAS-TOOLBAR'\n\t)\n\t\treturn true;\n\twhile (\n\t\tactiveElement &&\n\t\tactiveElement.shadowRoot &&\n\t\tactiveElement.shadowRoot.activeElement\n\t) {\n\t\tif (\n\t\t\tactiveElement.tagName === 'SEISMIC-HOIST' ||\n\t\t\tactiveElement.tagName === 'SN-CANVAS-TOOLBAR'\n\t\t)\n\t\t\treturn true;\n\t\tactiveElement = activeElement.shadowRoot.activeElement;\n\t}\n\treturn false;\n};\n\nconst snCanvasToolbarButton = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tid,\n\t\tlabel,\n\t\ticon,\n\t\tbadge,\n\t\tpresence,\n\t\tisSelected,\n\t\tgroup,\n\t\tisOverflow,\n\t\tisHighlighted,\n\t} = state.properties;\n\tconst status = _get(presence, 'status', '');\n\tconst configAria = { button: { 'aria-label': label } };\n\tconst tooltipContent = label;\n\n\tconst onButtonClicked = (evt) => {\n\t\tevt.preventDefault();\n\t\tconst {\n\t\t\tid,\n\t\t\tisSelected,\n\t\t\tselectedContent,\n\t\t\trouteInfo,\n\t\t\tviewportInfo,\n\t\t\tgroup,\n\t\t} = state.properties;\n\t\tconst isViewport = _isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n\n\t\t// set the button selection for toggle buttons for viewports e.g. cti call\n\t\tisViewport ? updateProperties({ isSelected: !isSelected }) : null;\n\n\t\tdispatch(SN_CANVAS_TOOLBAR_BUTTON_CLICKED, {\n\t\t\tbuttonClickedId: id,\n\t\t\trouteInfo: selectedContent || routeInfo,\n\t\t\tviewportInfo: viewportInfo,\n\t\t\tgroup: group,\n\t\t});\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={\n\t\t\t\tisOverflow\n\t\t\t\t\t? 'sn-canvas-toolbar-overflow-item-container'\n\t\t\t\t\t: 'sn-canvas-toolbar-button-container'\n\t\t\t}\n\t\t>\n\t\t\t<button\n\t\t\t\tid={`${id.toLowerCase()}-btn`}\n\t\t\t\ttype=\"button\"\n\t\t\t\tvalue={label}\n\t\t\t\tclass={\n\t\t\t\t\tisOverflow\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t'sn-canvas-toolbar-overflow-item': true,\n\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t'sn-canvas-toolbar-button': true,\n\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttabIndex={isSelected ? '0' : '-1'}\n\t\t\t\trole={getAriaRole(group)}\n\t\t\t\t{...ariaPressedCheckedOrSelected(isSelected, group)}\n\t\t\t\t{...filterAriaAttributes(configAria, 'button')}\n\t\t\t\ton-click={onButtonClicked}\n\t\t\t\tdata-tooltip={isOverflow ? null : tooltipContent}\n\t\t\t\t{...buildEventHandlersForTooltip(dispatch)}\n\t\t\t\thook-update={({ elm }) => {\n\t\t\t\t\tif (!elm) return;\n\t\t\t\t\tif (isHighlighted) {\n\t\t\t\t\t\tif (checkToolbarFocus()) elm.focus();\n\t\t\t\t\t\telm.setAttribute('tabindex', '0');\n\t\t\t\t\t} else {\n\t\t\t\t\t\telm.setAttribute('tabindex', '-1');\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{_renderIcon(icon, isOverflow)}\n\t\t\t\t{_renderBadge(badge)}\n\t\t\t\t{_renderPresence(status)}\n\t\t\t\t{isOverflow ? (\n\t\t\t\t\t<span className=\"overflow-item-label\">{label}<\/span>\n\t\t\t\t) : null}\n\t\t\t<\/button>\n\t\t<\/div>\n\t);\n};\n/*\n * A toolbar button component that appears on the toolbar.\n *\n * *button configuration*\n * ```json\n *\n * {\n * \t\t\"id\": \"home\",\n *  \t\"label\": \"Home\",\n *  \t\"icon\": \"home-outline\",\n *  \t\"viewportInfo\": {},\n *  \t\"routeInfo\": {\n *    \t\"route\": \"home\"\n *  \t},\n *  \t\"group\": \"top\",\n *  \t\"badge\": {},\n *  \t\"presence\": {},\n *  \t\"availability\": {}\n * }\n *\n * ```\n * @seismicElement sn-canvas-toolbar-button\n * @summary A toolbar button that appears on the toolbar that refers to a resource. The target resource must be an\n * internal page of current application.\n */\ncreateCustomElement('sn-canvas-toolbar-button', {\n\tproperties: {\n\t\t/**\n\t\t * Properties to configure the canvas toolbar button.\n\t\t *\n\t\t * Defines the button id.\n\t\t * @type {string}\n\t\t */\n\t\tid: { required: true, schema: { type: 'string' } },\n\t\t/**\n\t\t * Defines the button value.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { required: true, schema: { type: 'string' } },\n\t\t/**\n\t\t * Defines the icon displayed.\n\t\t * @type {string}\n\t\t */\n\t\ticon: { required: true, schema: { type: 'string' } },\n\t\t/**\n\t\t * Defines the viewport information.\n\t\t * @type {object}\n\t\t */\n\t\tviewportInfo: { schema: { type: 'object' } },\n\t\t/**\n\t\t * Defines the badge information.\n\t\t * @type {object}\n\t\t */\n\t\tbadge: { schema: { type: 'object' } },\n\t\t/**\n\t\t * Presence of the user, displayed with an indicator icon in the corner of the toolbar button.\n\t\t * @type {object}\n\t\t */\n\t\tpresence: { schema: { type: 'object' } },\n\t\t/**\n\t\t * Indicates the selected state of the button.\n\t\t * Maps to `aria-checked` for a radio button\n\t\t * @type {boolean}\n\t\t */\n\t\tisSelected: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Defines the route information.\n\t\t * @type {object}\n\t\t */\n\t\trouteInfo: { schema: { type: 'object' } },\n\t\t/**\n\t\t * Defines the button availability criteria based on user roles, plugin activation.\n\t\t * @type {object}\n\t\t */\n\t\tavailability: { schema: { type: 'object' } },\n\t\t/**\n\t\t * Defines the button placement group - top vs bottom.\n\t\t * @type {string}\n\t\t */\n\t\tgroup: { required: true, schema: { type: 'string' } },\n\t\tselectedContent: { default: null, schema: { type: 'object' } },\n\t\t/**\n\t\t * Inidicates if the toolbar-button is an overflow item or not\n\t\t */\n\t\tisOverflow: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Indicates if the toolbar button in the overflow menu is highlighted or not\n\t\t */\n\t\tisHighlighted: { default: false, schema: { type: 'boolean' } },\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasToolbarButton,\n\t},\n\tstyles: snCanvasToolbarButtonStyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a link points to an internal application page.\n\t\t * @type {{value: true, buttonClicked: targetRef, routeInfo: {}}}\n\t\t */\n\t\tSN_CANVAS_TOOLBAR_BUTTON_CLICKED: {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({ host, properties, updateState }) => {\n\t\t\tconst { isOverflow } = properties;\n\t\t\tconst targetRef = isOverflow\n\t\t\t\t? host.shadowRoot.querySelector(\n\t\t\t\t\t\t'.sn-canvas-toolbar-overflow-item',\n\t\t\t\t\t)\n\t\t\t\t: host.shadowRoot.querySelector('.sn-canvas-toolbar-button');\n\t\t\tupdateState({ targetRef });\n\n\t\t\tconst buttonToClick = host?.shadowRoot?.querySelector('button');\n\n\t\t\thost.click = () => {\n\t\t\t\tbuttonToClick.click();\n\t\t\t};\n\t\t},\n\t},\n\tbehaviors: [\n\t\ttooltipBehavior,\n\t\tbadgeCountBehavior,\n\t\tpresenceBehavior,\n\t\trtlBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\thost?.shadowRoot?.querySelector('button')?.focus();\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport snCanvasToolbarOverflowMenuStyles from './sn-canvas-toolbar-overflow-menu.scss';\nimport { ACTION_TYPES } from '../../../constants/constants';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst {\n\tTOOLBAR_OVERFLOW_MENU_FOCUS,\n\tTOOLBAR_OVERFLOW_MENU_INDEX_CHANGED,\n\tTOOLBAR_OVERFLOW_TAB_KEY_PRESSED,\n} = ACTION_TYPES;\nconst snCanvasToolbarOverflowMenu = (state) => {\n\tconst { highlightIndex, properties } = state;\n\tconst { overflowItems, horizontal } = properties;\n\tconst topOverflowItems = overflowItems.filter((b) => b.group === 'top');\n\tconst bottomOverflowItems = overflowItems.filter(\n\t\t(b) => b.group === 'bottom',\n\t);\n\tconst overflowItemsInBothGroups =\n\t\ttopOverflowItems.length > 0 && bottomOverflowItems.length > 0;\n\treturn (\n\t\t<div\n\t\t\tclassName={`sn-canvas-overflow-menu-container ${\n\t\t\t\thorizontal ? 'horizontal' : ''\n\t\t\t}`}\n\t\t>\n\t\t\t<div className=\"sn-canvas-overflow-menu-top\" role=\"tablist\">\n\t\t\t\t{topOverflowItems.map((button, i) => (\n\t\t\t\t\t<sn-canvas-toolbar-button\n\t\t\t\t\t\t{...button}\n\t\t\t\t\t\tisHighlighted={highlightIndex === i}\n\t\t\t\t\t\tisOverflow\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t<\/div>\n\t\t\t{overflowItemsInBothGroups ? <hr /> : null}\n\t\t\t<div className=\"sn-canvas-overflow-bottom\">\n\t\t\t\t{bottomOverflowItems.map((button, i) => (\n\t\t\t\t\t<sn-canvas-toolbar-button\n\t\t\t\t\t\t{...button}\n\t\t\t\t\t\tisHighlighted={\n\t\t\t\t\t\t\thighlightIndex === i + topOverflowItems.length\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisOverflow\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-canvas-toolbar-overflow-menu', {\n\tproperties: {\n\t\t/**\n\t\t * An array of `ToolbarButton` items each w/ the config for each\n\t\t * overflow button\n\t\t * @type {(Object.<ToolbarButtons>)}\n\t\t */\n\t\toverflowItems: [],\n\t\t/*\n\t\t * Whether or not the overflow menu is open\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\thorizontal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\thighlightIndex: -1,\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasToolbarOverflowMenu,\n\t},\n\tstyles: snCanvasToolbarOverflowMenuStyles,\n\tdispatches: {},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({ dispatch, action }) => {\n\t\t\tconst { name } = action.payload;\n\t\t\tif (name === 'opened' && action.payload.value === true) {\n\t\t\t\tdispatch(TOOLBAR_OVERFLOW_MENU_FOCUS);\n\t\t\t}\n\t\t},\n\t\t[TOOLBAR_OVERFLOW_MENU_FOCUS]: ({ updateState, action, state }) => {\n\t\t\tupdateState({ highlightIndex: 0 });\n\t\t},\n\t\t[TOOLBAR_OVERFLOW_MENU_INDEX_CHANGED]: ({\n\t\t\tupdateState,\n\t\t\taction,\n\t\t\tstate,\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\tconst { keyCode } = action.payload;\n\t\t\tlet { highlightIndex, properties } = state;\n\t\t\tlet { overflowItems } = properties;\n\n\t\t\tif (keyCode === 9) {\n\t\t\t\tdispatch(TOOLBAR_OVERFLOW_TAB_KEY_PRESSED);\n\t\t\t}\n\n\t\t\tif (keyCode === 38) {\n\t\t\t\tif (highlightIndex == 0)\n\t\t\t\t\thighlightIndex = overflowItems.length - 1;\n\t\t\t\telse highlightIndex -= 1;\n\t\t\t} else if (keyCode === 40) {\n\t\t\t\tif (highlightIndex == overflowItems.length - 1)\n\t\t\t\t\thighlightIndex = 0;\n\t\t\t\telse highlightIndex += 1;\n\t\t\t}\n\t\t\tupdateState({ highlightIndex });\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keyup'],\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\taction.preventDefault();\n\t\t\t\tconst { keyCode } = action.payload.event;\n\t\t\t\tif (keyCode === 38 || keyCode === 40 || keyCode === 9) {\n\t\t\t\t\tdispatch(TOOLBAR_OVERFLOW_MENU_INDEX_CHANGED, {\n\t\t\t\t\t\tkeyCode: keyCode,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tbehaviors: [],\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport { isEmpty as _isEmpty } from 'lodash';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../sn-canvas-toolbar-button';\nimport './sn-canvas-toolbar-overflow-menu';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-rich-text';\nimport { deepSearchElement } from 'sn-canvas-common';\nimport snCanvasToolbarOverflowStyles from './sn-canvas-toolbar-overflow.scss';\nimport {\n\tACTION_TYPES,\n\tNOW_POPOVER_OPENED_SET,\n\tTOOLBAR_OVERFLOW_BUTTON_LABEL,\n} from '../../../constants/constants';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport buildEventHandlersForTooltip from '../../../utils/getEventbindingsForTooltips';\n\nconst { TOOLBAR_BUTTON_CLICKED, TOOLBAR_OVERFLOW_TAB_KEY_PRESSED } =\n\tACTION_TYPES;\n\nconst snCanvasToolbarOverflow = (state, { dispatch }) => {\n\tconst { overflowItems, horizontal, isOpen } = state.properties;\n\treturn (\n\t\t<now-popover\n\t\t\tclassName=\"sn-canvas-toolbar-overflow-container\"\n\t\t\tpositions={\n\t\t\t\thorizontal\n\t\t\t\t\t? [{ target: 'bottom-center', content: 'top-end' }]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t{ target: 'bottom-center', content: 'top-start' },\n\t\t\t\t\t\t\t{ target: 'center-end', content: 'bottom-start' },\n\t\t\t\t\t\t]\n\t\t\t}\n\t\t\tmanageOpened\n\t\t\topened={isOpen}\n\t\t\thideTail\n\t\t>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tclassName=\"sn-canvas-toolbar-overflow-button\"\n\t\t\t\taria-label={`${TOOLBAR_OVERFLOW_BUTTON_LABEL}`}\n\t\t\t\tdata-tooltip={`${TOOLBAR_OVERFLOW_BUTTON_LABEL}`}\n\t\t\t\tvalue={`${TOOLBAR_OVERFLOW_BUTTON_LABEL}`}\n\t\t\t\t{...buildEventHandlersForTooltip(dispatch)}\n\t\t\t>\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"sn-canvas-toolbar-overflow-button\"\n\t\t\t\t\ticon=\"ellipsis-h-fill\"\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t<\/button>\n\t\t\t<sn-canvas-toolbar-overflow-menu\n\t\t\t\tslot=\"content\"\n\t\t\t\toverflowItems={overflowItems}\n\t\t\t\topened={isOpen}\n\t\t\t\thorizontal={horizontal ? horizontal : false}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\nconst focusOnOverflowButton = (host) => {\n\tconst overflow = deepSearchElement('sn-canvas-toolbar-overflow', host);\n\tif (overflow) {\n\t\tconst popover = overflow.shadowRoot.querySelector('now-popover');\n\t\tpopover.querySelector('button').focus();\n\t}\n};\n\ncreateCustomElement('sn-canvas-toolbar-overflow', {\n\tproperties: {\n\t\t/**\n\t\t * An array of `ToolbarButton` item each w/ the config for each\n\t\t * overflow button\n\t\t * @type {(Object.<ToolbarButtons>)}\n\t\t */\n\t\toverflowItems: [],\n\t\thorizontal: {\n\t\t\tdefault: false,\n\t\t},\n\t\tisOpen: {\n\t\t\tdefault: false,\n\t\t},\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasToolbarOverflow,\n\t},\n\tstyles: snCanvasToolbarOverflowStyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a link points to an internal application page.\n\t\t * @type {{value: true, buttonClicked: targetRef, routeInfo: {}}}\n\t\t */\n\t\tSN_CANVAS_TOOLBAR_OVERFLOW_ITEM_CLICKED: {},\n\t},\n\tactionHandlers: {\n\t\t[TOOLBAR_BUTTON_CLICKED]: ({ action, updateProperties }) => {\n\t\t\tconst { routeInfo } = action.payload;\n\t\t\tif (!_isEmpty(routeInfo)) {\n\t\t\t\tupdateProperties({ isOpen: false });\n\t\t\t}\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: ({ state, updateProperties }) => {\n\t\t\tconst { isOpen } = state.properties;\n\t\t\tupdateProperties({ isOpen: !isOpen });\n\t\t},\n\t\t[TOOLBAR_OVERFLOW_TAB_KEY_PRESSED]: ({ state, updateProperties }) => {\n\t\t\tconst { isOpen } = state.properties;\n\t\t\tupdateProperties({ isOpen: !isOpen });\n\t\t\tfocusOnOverflowButton();\n\t\t},\n\t},\n\tbehaviors: [tooltipBehavior],\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_28_0_24_index_jsdbx_73f57dc8__[\"default\"][\"default\"];\n\t\t\t\t} });","import {\n\tfindKey as _findKey,\n\tfind as _find,\n\tisEmpty as _isEmpty,\n} from 'lodash';\n\nexport const getButtonElementRef = (toolbarButtonRef) => {\n\treturn toolbarButtonRef.shadowRoot.querySelector('button');\n};\n\nexport const getToolbarButtonRefByIndex = (host, index) => {\n\tconst toolbarButtons = getToolbarButtons(host);\n\n\treturn toolbarButtons[index];\n};\n\nexport const getToolbarButtonFromEventPath = (path) => {\n\treturn _find(path, (elem) => elem.localName === 'sn-canvas-toolbar-button');\n};\n\nexport const getToolbarButtons = (host) => {\n\tconst toolbarButtonGroupEls = host.shadowRoot.querySelectorAll(\n\t\t'.sn-canvas-toolbar .sn-canvas-toolbar-group',\n\t);\n\tlet toolbarButtonEls = [];\n\n\tif (!_isEmpty([...toolbarButtonGroupEls])) {\n\t\t[...toolbarButtonGroupEls].forEach((grpEl) => {\n\t\t\tconst buttons = grpEl.querySelectorAll('sn-canvas-toolbar-button');\n\t\t\t[...buttons].forEach((btn) => {\n\t\t\t\ttoolbarButtonEls.push(btn);\n\t\t\t});\n\t\t});\n\t}\n\n\treturn toolbarButtonEls;\n};\n\nexport const getActiveToolbarButton = (host) => {\n\treturn host.shadowRoot.activeElement;\n};\n\nexport const getActiveToolbarButtonIndex = (host) => {\n\tconst toolbarButtons = getToolbarButtons(host);\n\tconst activeToolbarButton = getActiveToolbarButton(host);\n\n\treturn parseInt(\n\t\t_findKey(\n\t\t\ttoolbarButtons,\n\t\t\t(toolbarButton) => activeToolbarButton === toolbarButton,\n\t\t),\n\t\t10,\n\t);\n};\n\nexport const getToolbarButtonIndex = (host, toolbarButtonRef) => {\n\tconst toolbarButtons = getToolbarButtons(host);\n\n\treturn parseInt(\n\t\t_findKey(\n\t\t\ttoolbarButtons,\n\t\t\t(toolbarButton) => toolbarButtonRef === toolbarButton,\n\t\t),\n\t\t10,\n\t);\n};\n\nexport const getNextToolbarButton = (host) => {\n\tconst currentActiveToolbarButton = getActiveToolbarButton(host);\n\n\treturn currentActiveToolbarButton.nextElementSibling;\n};\n\nexport const getToolbarButtonsData = (host) => {\n\treturn host.toolbarButtons;\n};\n","import {\n\tforEach as _forEach,\n\tfind as _find,\n\tisEmpty as _isEmpty,\n\tfilter as _filter,\n\tget as _get,\n\tfindIndex as _findIndex,\n\thas as _has,\n} from 'lodash';\n\nimport {\n\tgetActiveToolbarButtonIndex,\n\tgetActiveToolbarButton,\n\tgetButtonElementRef,\n\tgetToolbarButtonRefByIndex,\n\tgetToolbarButtons,\n} from './elements';\nimport { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nimport { SCREEN_TITLES_REGISTRATION_REQUESTED } from '../../../constants/constants';\n\nimport { deepSearchElement } from 'sn-canvas-common';\n\n/**\n * setButtonSelectionByRoute\n * @param buttons\n * @param route\n */\nexport const setButtonSelectionByRoute = (buttons, route) => {\n\tconst button = _find(buttons, (b) => _get(b, 'routeInfo.route') === route);\n\tif (!_isEmpty(button)) {\n\t\tbutton.isSelected = true;\n\t}\n\treturn button;\n};\n\n/**\n * updateToolbarButtonsWithActiveBtn\n * @param toolbarButtons\n * @param button\n * @param experienceId\n * @param updateProperties\n */\nexport const updateToolbarButtonsWithActiveBtn = async (\n\ttoolbarButtons,\n\tbutton,\n\tactiveRoute,\n\texperienceId,\n\tupdateProperties,\n) => {\n\tlet newToolbarButtons = [...toolbarButtons];\n\t// button found and set it's isSelected flag to true,\n\t// update teh activeButton state.\n\tif (!_isEmpty(button)) {\n\t\t// find button, replace and update properties\n\n\t\tconst route =\n\t\t\t_get(activeRoute, 'parent.route') || _get(activeRoute, 'route');\n\t\tconst buttonRoute = _get(button, 'routeInfo.route');\n\t\t// eslint-disable-next-line\n\t\tconst { updateUrl, passiveNavigation, ...restRoute } =\n\t\t\tactiveRoute || {};\n\t\tconst index = _findIndex(newToolbarButtons, (b) => b.id === button.id);\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\t...(route &&\n\t\t\t\tbuttonRoute &&\n\t\t\t\troute === buttonRoute && { selectedContent: { ...restRoute } }),\n\t\t});\n\t\tupdateProperties({ toolbarButtons: newToolbarButtons });\n\t} else {\n\t\tbutton = newToolbarButtons[0];\n\t\tif (!_isEmpty(button)) {\n\t\t\tbutton.isSelected = true;\n\t\t}\n\t\tnewToolbarButtons.splice(0, 1, {\n\t\t\t...button,\n\t\t});\n\t\tupdateProperties({ toolbarButtons: newToolbarButtons });\n\n\t\t// set to teh session storage\n\t\tif (experienceId) {\n\t\t\tawait getUnifiedCacheInstance(\n\t\t\t\t'sessionStorage',\n\t\t\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t\t\t).setItem(getSessionStorageKey(experienceId), button);\n\t\t}\n\t}\n};\n\n/**\n * preserveViewportOpened: In order to preserve the collapsed or expand, we need\n * to get the opened value from the last active viewport button.\n * @param viewportInfo\n * @param experienceId\n * @returns {boolean}\n */\nexport const preserveViewportOpened = async (viewportInfo, experienceId) => {\n\tconst route = _get(viewportInfo, 'route');\n\tconst lastActiveButton = await getLastActiveButton(experienceId);\n\tlet opened = false;\n\tif (route === _get(lastActiveButton, 'viewportInfo.route')) {\n\t\topened = _get(lastActiveButton, 'viewportInfo.fields.opened');\n\t}\n\treturn opened;\n};\n\n/**\n * loadViewport\n * @param activeRecords\n * @param toolbarButtons\n * @param button\n * @param experienceId\n * @param dispatch\n * @param operation\n */\nexport const loadViewport = async (\n\tactiveRecords,\n\ttoolbarButtons,\n\tbutton,\n\texperienceId,\n\tdispatch,\n\toperation = 'TOGGLE_VIEWPORT_OPENED',\n) => {\n\tconst { id, label, viewportInfo, routeInfo, group } = button;\n\tconst isViewportWithRoute = !_isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n\tconst {\n\t\tfields: { opened },\n\t} = viewportInfo;\n\n\tif (operation === 'PRESERVE_VIEWPORT_OPENED' && isViewportWithRoute) {\n\t\t// only applicable for viewport with routes information where onload of records,\n\t\t// we need to preserve the viewport opened value if the button with viewport routes\n\t\t// is already selected\n\t\tdispatch('VIEWPORT_SELECTED', {\n\t\t\tid,\n\t\t\tlabel,\n\t\t\tgroup,\n\t\t\trouteInfo,\n\t\t\tviewportInfo: {\n\t\t\t\t...viewportInfo,\n\t\t\t\tfields: {\n\t\t\t\t\topened: await preserveViewportOpened(\n\t\t\t\t\t\tviewportInfo,\n\t\t\t\t\t\texperienceId,\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t} else if (operation === 'TOGGLE_VIEWPORT_OPENED') {\n\t\t// when toolbar button with viewport is clicked, toggle the viewport opened value\n\t\tdispatch('VIEWPORT_SELECTED', {\n\t\t\tid,\n\t\t\tlabel,\n\t\t\tgroup,\n\t\t\trouteInfo,\n\t\t\tviewportInfo: {\n\t\t\t\t...viewportInfo,\n\t\t\t\tfields: { opened: !opened },\n\t\t\t},\n\t\t});\n\t}\n};\n\n/**\n * getRouteFromButtonData\n * @param toolbarButtons\n * @param label\n * @returns {*}\n */\nexport const getRouteFromButtonData = (toolbarButtons, label) => {\n\tconst { routeInfo } =\n\t\t_find(toolbarButtons, (button) => button.label === label) || {};\n\treturn routeInfo;\n};\n\n/**\n * handleKeyPressed\n * @param host\n * @param event\n */\nexport const handleKeyPressed = (host, event) => {\n\tconst { horizontal } = host.getResolvedProperties();\n\tconst toolbarButtons = getToolbarButtons(host);\n\tconst toolbarButtonFirstIndex = 0;\n\tconst toolbarButtonsLastIndex = toolbarButtons.length - 1;\n\tconst currentToolbarButtonIndex = getActiveToolbarButtonIndex(host);\n\tconst currentToolbarButton = getActiveToolbarButton(host);\n\tconst currentButtonElm = getButtonElementRef(currentToolbarButton);\n\n\tconst arrowA = horizontal ? 37 : 38; //arrowLeft, arrowUp\n\tconst arrowZ = horizontal ? 39 : 40; //arrowRight, arrowDown\n\tconst tab = 9;\n\n\tlet nextToolbarButton = null;\n\tswitch (event.keyCode) {\n\t\tcase arrowA: {\n\t\t\t// ArrowUp\n\t\t\tevent.preventDefault();\n\t\t\tif (currentToolbarButtonIndex === toolbarButtonFirstIndex) {\n\t\t\t\tnextToolbarButton = getToolbarButtonRefByIndex(\n\t\t\t\t\thost,\n\t\t\t\t\ttoolbarButtonsLastIndex,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tnextToolbarButton = getToolbarButtonRefByIndex(\n\t\t\t\t\thost,\n\t\t\t\t\tcurrentToolbarButtonIndex - 1,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (nextToolbarButton) {\n\t\t\t\tgetButtonElementRef(nextToolbarButton).focus();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase arrowZ: {\n\t\t\t// ArrowDown\n\t\t\tevent.preventDefault();\n\t\t\tif (currentToolbarButtonIndex < toolbarButtonsLastIndex) {\n\t\t\t\tnextToolbarButton = getToolbarButtonRefByIndex(\n\t\t\t\t\thost,\n\t\t\t\t\tcurrentToolbarButtonIndex + 1,\n\t\t\t\t);\n\t\t\t} else if (currentToolbarButtonIndex === toolbarButtonsLastIndex) {\n\t\t\t\tnextToolbarButton = getToolbarButtonRefByIndex(\n\t\t\t\t\thost,\n\t\t\t\t\ttoolbarButtonFirstIndex,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (nextToolbarButton) {\n\t\t\t\tgetButtonElementRef(nextToolbarButton).focus();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase tab: {\n\t\t\tconst overflow = deepSearchElement(\n\t\t\t\t'sn-canvas-toolbar-overflow',\n\t\t\t\thost,\n\t\t\t);\n\t\t\tconst isOverflowCurrentElm =\n\t\t\t\toverflow.shadowRoot.activeElement === currentButtonElm;\n\t\t\tif (overflow && !isOverflowCurrentElm && !event.shiftKey) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst popover =\n\t\t\t\t\toverflow.shadowRoot.querySelector('now-popover');\n\t\t\t\tpopover.querySelector('button').focus();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 32:\n\t\t/* Space */ case 13: /* Enter */ {\n\t\t\tevent.preventDefault();\n\t\t\tcurrentButtonElm.click();\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\t// do not block other keys\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\n/**\n * resetViewportSelection\n * @param toolbarButtons\n * @param dispatch\n * @param updateProperties\n */\nexport const resetViewportSelection = (\n\ttoolbarButtons,\n\tbutton,\n\tdispatch,\n\tupdateProperties,\n) => {\n\t// collect all viewport toolbar buttons from top group\n\tconst buttons = _filter(\n\t\ttoolbarButtons,\n\t\t(b) =>\n\t\t\tb.group === 'top' &&\n\t\t\t!_isEmpty(b.viewportInfo) &&\n\t\t\tb.id !== button.id,\n\t);\n\n\t// reset all of the viewport visibility elements\n\tbuttons.map((b) => {\n\t\tconst { id } = b;\n\t\tconst {\n\t\t\tfields: { opened },\n\t\t} = b.viewportInfo;\n\t\tconst index = _findIndex(toolbarButtons, { id });\n\n\t\tif (opened && index > -1) {\n\t\t\t// reset the viewportInfo.fields.opened\n\t\t\tlet newToolbarButtons = [...toolbarButtons];\n\n\t\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t\t...b,\n\t\t\t\tviewportInfo: {\n\t\t\t\t\t...b.viewportInfo,\n\t\t\t\t\tfields: { opened: false },\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tupdateProperties({ toolbarButtons: newToolbarButtons });\n\t\t\tdispatch('VIEWPORT_SELECTED', {\n\t\t\t\tid,\n\t\t\t\tviewportInfo: {\n\t\t\t\t\t...b.viewportInfo,\n\t\t\t\t\tfields: { opened: !opened },\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tdispatch('UXF_VIEWPORT#RENDER_BY_ID', {\n\t\t\t\t...b.viewportInfo,\n\t\t\t\tfields: { opened: !opened },\n\t\t\t\treinitialize: true,\n\t\t\t});\n\t\t}\n\t});\n};\n\n/**\n * setActiveButton\n * @param activeButton\n * @param toolbarButtons\n * @param activeRoute\n * @param activeRecords\n * @param experienceId\n * @param updateProperties\n * @param updateState\n */\nexport const setActiveButton = async (\n\tactiveButton,\n\ttoolbarButtons,\n\tactiveRoute,\n\tactiveRecords,\n\texperienceId,\n\tdispatch,\n\tupdateProperties,\n\tupdateState,\n) => {\n\tif (_isEmpty(toolbarButtons)) return;\n\n\tlet button, route;\n\n\t// check activeRoute match to button definition\n\tif (!_isEmpty(activeRoute)) {\n\t\tconst activeRouteHasRoute =\n\t\t\t!_isEmpty(_get(activeRoute, 'parent.route')) ||\n\t\t\t!_isEmpty(_get(activeRoute, 'route'));\n\n\t\tif (activeRouteHasRoute) {\n\t\t\troute =\n\t\t\t\t_get(activeRoute, 'parent.route') || _get(activeRoute, 'route');\n\t\t\tbutton = setButtonSelectionByRoute(toolbarButtons, route);\n\t\t}\n\t}\n\n\t// activeRoute doesn't match to button definition, look for the\n\t// last active button from the session storage\n\tif (_isEmpty(button)) {\n\t\tconst lastActiveButton = await getUnifiedCacheInstance(\n\t\t\t'sessionStorage',\n\t\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t\t).getItem(getSessionStorageKey(experienceId));\n\n\t\tif (!_isEmpty(lastActiveButton)) {\n\t\t\tconst lastActiveButtonRouteInfo = !_isEmpty(\n\t\t\t\t_get(lastActiveButton, 'routeInfo'),\n\t\t\t);\n\t\t\tif (lastActiveButtonRouteInfo) {\n\t\t\t\troute = _get(lastActiveButton, 'routeInfo.route');\n\t\t\t\tbutton = setButtonSelectionByRoute(toolbarButtons, route);\n\t\t\t}\n\t\t} else {\n\t\t\tbutton = _isEmpty(activeButton)\n\t\t\t\t? { ...toolbarButtons[0] }\n\t\t\t\t: activeButton;\n\t\t\tbutton.isSelected = true;\n\t\t}\n\t}\n\n\t// button found but not in session storage or different than the one in session storage\n\tif (!_isEmpty(button)) {\n\t\tconst lastActiveButton = await getLastActiveButton(experienceId);\n\t\tif (_isEmpty(lastActiveButton) || lastActiveButton.id !== button.id) {\n\t\t\tif (experienceId) {\n\t\t\t\tawait getUnifiedCacheInstance(\n\t\t\t\t\t'sessionStorage',\n\t\t\t\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t\t\t\t).setItem(getSessionStorageKey(experienceId), button);\n\t\t\t}\n\t\t}\n\t}\n\n\t// resolved the active button to toolbar button definitions, with\n\t// isSelected flag to true\n\tawait updateToolbarButtonsWithActiveBtn(\n\t\ttoolbarButtons,\n\t\tbutton,\n\t\tactiveRoute,\n\t\texperienceId,\n\t\tupdateProperties,\n\t);\n\n\t// updating the activeButton state\n\tupdateState({ activeButton: button });\n\n\t// load the viewport for the button if exists\n\tif (\n\t\t!_isEmpty(button) &&\n\t\t_has(button, 'viewportInfo') &&\n\t\t!_isEmpty(button.viewportInfo)\n\t) {\n\t\tloadViewport(\n\t\t\tactiveRecords,\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\texperienceId,\n\t\t\tdispatch,\n\t\t\t'PRESERVE_VIEWPORT_OPENED',\n\t\t);\n\t}\n};\n\nexport const getLastActiveButton = async (experienceId) => {\n\treturn await getUnifiedCacheInstance(\n\t\t'sessionStorage',\n\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t).getItem(getSessionStorageKey(experienceId));\n};\n\n/**\n * _getToolbarButtonByRoute\n * @param routeInfo\n * @param toolbarButtons\n * @returns {null|*}\n * @private\n */\nexport const _getToolbarButtonByRoute = (routeInfo, toolbarButtons) => {\n\tif (_isEmpty(toolbarButtons) || _isEmpty(routeInfo)) {\n\t\treturn null;\n\t}\n\treturn _find(\n\t\ttoolbarButtons,\n\t\t(b) => _get(b, 'routeInfo.route') === routeInfo.route,\n\t);\n};\n\n/**\n * isRoute\n * @param activeRoute\n * @param toolbarButtons\n * @returns {boolean}\n */\nexport const isRoute = (activeRoute, toolbarButtons) => {\n\tconst { routeInfo, viewportInfo } = _getToolbarButtonByRoute(\n\t\tactiveRoute,\n\t\ttoolbarButtons,\n\t);\n\treturn !_isEmpty(routeInfo) && _isEmpty(viewportInfo);\n};\n\n/**\n * isViewport\n * @param activeRoute\n * @param toolbarButtons\n * @returns {boolean}\n */\nexport const isViewport = (activeRoute, toolbarButtons) => {\n\tconst { routeInfo, viewportInfo } = _getToolbarButtonByRoute(\n\t\tactiveRoute,\n\t\ttoolbarButtons,\n\t);\n\treturn _isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n};\n\n/**\n * isViewportWithRoute\n * @param activeRoute\n * @param toolbarButtons\n * @returns {boolean}\n */\nexport const isViewportWithRoute = (activeRoute, toolbarButtons) => {\n\tconst { routeInfo, viewportInfo } = _getToolbarButtonByRoute(\n\t\tactiveRoute,\n\t\ttoolbarButtons,\n\t);\n\treturn !_isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n};\n\n/**\n * resetSizeAndViewportInfo\n * @param activeRoute\n * @param toolbarButtons\n */\nexport const resetSizeAndViewportInfo = (\n\tactiveRoute,\n\ttoolbarButtons,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst button = _getToolbarButtonByRoute(activeRoute, toolbarButtons);\n\n\tif (!_isEmpty(button) && isRoute(activeRoute, toolbarButtons)) {\n\t\t// reset viewport selection\n\t\tresetViewportSelection(\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\n\t\t// update the primary tab\n\t\tdispatch('PRIMARY_TAB_UPDATED', {\n\t\t\tbutton: { ...button, size: null, viewportInfo: null },\n\t\t});\n\t}\n};\n\n/**\n * isViewportEmptyPageLoaded\n * @param lastActiveButton\n * @parm viewportInfo\n * @returns {boolean}\n */\nexport const isViewportEmptyPageLoaded = (lastActiveButton, viewportInfo) => {\n\tlet viewportEmptyPageLoaded = false;\n\tif (!_isEmpty(lastActiveButton) && !_isEmpty(viewportInfo)) {\n\t\tconst currentViewportRoute = _get(viewportInfo, 'route');\n\t\tviewportEmptyPageLoaded =\n\t\t\tcurrentViewportRoute.indexOf(\n\t\t\t\t_get(lastActiveButton, 'routeInfo.route'),\n\t\t\t) !== -1;\n\t}\n\treturn viewportEmptyPageLoaded;\n};\n\n/**\n * getSessionStorageKey\n  @parm experienceId\n * @returns {string}\n */\nexport const getSessionStorageKey = (experienceId) =>\n\texperienceId\n\t\t? `canvasToolbar_${experienceId}`\n\t\t: `canvasToolbar_${new Date().getTime()}`;\n\nexport const getStorageKey = (experienceId) =>\n\texperienceId\n\t\t? `canvasToolbarButtons_${experienceId}`\n\t\t: `canvasToolbarButtons_${new Date().getTime()}`;\n\nexport const generateContentKey = (fields, route) => {\n\tif (!fields) fields = {};\n\treturn Object.keys(fields)\n\t\t.sort()\n\t\t.reduce((hash, key) => `${hash}~${key}~${fields[key]}`, route);\n};\n\nexport const registerToolbarRouteLabels = ({ properties, dispatch }) => {\n\tconst { toolbarButtons } = properties;\n\tconst titles = {};\n\tfor (const buttonObj of toolbarButtons) {\n\t\tconst { routeInfo, label } = buttonObj;\n\t\tif (!_isEmpty(routeInfo)) {\n\t\t\tconst { route, fields = {} } = routeInfo;\n\t\t\tif (!route) return;\n\t\t\tconst key = generateContentKey(fields, route);\n\t\t\ttitles[key] = label;\n\t\t}\n\t}\n\tif (!_isEmpty(titles))\n\t\tdispatch(SCREEN_TITLES_REGISTRATION_REQUESTED, titles);\n};\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\nimport { getStorageKey } from './helpers';\n\nconst storageType = 'localStorage';\nconst storageNamespace = 'CANVAS_TOOLBAR_BUTTONS_LOCAL_STORAGE';\n\nexport const getStoredToolbarButtons = async (userId, experienceId) => {\n\tif (!experienceId) return;\n\tconst storedToolbarButtons = await getUnifiedCacheInstance(\n\t\tstorageType,\n\t\tstorageNamespace,\n\t).getItem(getStorageKey(experienceId));\n\n\tif (storedToolbarButtons) {\n\t\tconst { userId: storedUserId, toolbarButtons: _storedToolbarButtons } =\n\t\t\tstoredToolbarButtons;\n\t\tif (userId === storedUserId && _storedToolbarButtons) {\n\t\t\treturn _storedToolbarButtons;\n\t\t}\n\t}\n};\n\nexport const saveToolbarButtons = async (\n\ttoolbarButtons,\n\tuserId,\n\texperienceId,\n) => {\n\tif (!experienceId) return;\n\ttry {\n\t\tawait getUnifiedCacheInstance(storageType, storageNamespace).setItem(\n\t\t\tgetStorageKey(experienceId),\n\t\t\t{\n\t\t\t\tuserId,\n\t\t\t\ttoolbarButtons,\n\t\t\t},\n\t\t);\n\t} catch (e) {\n\t\tconsole.error('Error saving toolbar buttons to storage:', e);\n\t}\n};\n","import { isEmpty as _isEmpty } from 'lodash';\nimport { trackEvent } from '../../utils/marks';\nimport { getUnifiedCacheInstance } from 'sn-canvas-common';\nimport { setActionStateForShortcut } from '@servicenow/now-trigger-library';\n\nimport {\n\tresetViewportSelection,\n\tgetSessionStorageKey,\n\tsetActiveButton,\n\tresetSizeAndViewportInfo,\n\tisViewportEmptyPageLoaded,\n\tloadViewport,\n\tregisterToolbarRouteLabels,\n} from './utils/helpers';\nimport { getStoredToolbarButtons, saveToolbarButtons } from './utils/storage';\nimport { ACTION_TYPES } from '../../constants/constants';\n\nexport const CLICK_TOOLBAR_BUTTON_SHORTCUT = 'CLICK_TOOLBAR_BUTTON_SHORTCUT';\nexport const FOCUS_TOOLBAR_BUTTON_SHORTCUT = 'FOCUS_TOOLBAR_BUTTON_SHORTCUT';\nconst handleToolbarButtonClicked = async ({\n\thost,\n\taction,\n\tdispatch,\n\tstate,\n\tupdateProperties,\n\tupdateState,\n}) => {\n\tconst { buttonClickedId, viewportInfo, routeInfo } = action.payload;\n\tconst { toolbarButtons, activeRecords, experienceId } = state.properties;\n\tconst { activeButton, toggledButtons } = state;\n\tconst isRoute = !_isEmpty(routeInfo) && _isEmpty(viewportInfo);\n\tconst isViewport = _isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n\tconst isViewportWithRoute = !_isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n\tconst buttonIndex = toolbarButtons.findIndex(\n\t\t(button) => button.id === buttonClickedId,\n\t);\n\tconst button = toolbarButtons[buttonIndex];\n\n\t// The title should be derived from the button config\n\tconst title = button.label || routeInfo.route;\n\n\t// Buttons in toolbar configured for navigational purposes will have routeInfo in their payload\n\t// otherwise, it's a toggle switch that simply dispatches to indicate that toolbar's button got selected\n\n\t//clear the previous selection and set the clicked button as selected.  Store it as state.route\n\tif (isRoute || isViewportWithRoute) {\n\t\tif (experienceId) {\n\t\t\tawait getUnifiedCacheInstance(\n\t\t\t\t'sessionStorage',\n\t\t\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t\t\t).setItem(getSessionStorageKey(experienceId), button);\n\t\t}\n\t\tdispatch('SN_CANVAS_TOOLBAR#ACTIVE_BUTTON_UPDATED', { button });\n\t\ttrackEvent[ACTION_TYPES.TOOLBAR_BUTTON_CLICKED](button, host, action);\n\t}\n\n\tif (isRoute) {\n\t\t// For all of toolbar button with viewport that behaves as a toggle needs to turn off\n\t\t// and enable that's are the part of route\n\t\t// should this be determined from button configuration/\n\t\tresetViewportSelection(\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\n\t\t// navigate to route\n\t\t// if routeInfo.title field is empty, adding title\n\t\t_isEmpty(routeInfo.title)\n\t\t\t? dispatch('NAV_ITEM_SELECTED', { ...routeInfo, title })\n\t\t\t: dispatch('NAV_ITEM_SELECTED', routeInfo);\n\n\t\t// update the primary tab\n\t\tdispatch('PRIMARY_TAB_UPDATED', {\n\t\t\tbutton: { ...button, size: null, viewportInfo: null },\n\t\t});\n\t} else if (isViewport) {\n\t\t// load the viewport\n\t\tloadViewport(\n\t\t\tactiveRecords,\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\texperienceId,\n\t\t\tdispatch,\n\t\t);\n\t\t//Update state of toolbar to save the button thats was toggled\n\t\tconst newToggledButtons = { ...toggledButtons };\n\t\tnewToggledButtons[buttonClickedId] =\n\t\t\t!newToggledButtons[buttonClickedId];\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: 'toggledButtons',\n\t\t\tvalue: newToggledButtons,\n\t\t\tshouldRender: true,\n\t\t});\n\t} else if (isViewportWithRoute) {\n\t\t// For all of toolbar button with viewport that behaves as a toggle needs to turn off\n\t\tresetViewportSelection(\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\n\t\t//load the viewport\n\t\tloadViewport(\n\t\t\tactiveRecords,\n\t\t\ttoolbarButtons,\n\t\t\tbutton,\n\t\t\texperienceId,\n\t\t\tdispatch,\n\t\t);\n\n\t\t// when there are no active tabs, navigate to empty page route\n\t\t// currently we have inbox & ongoing only for top group\n\t\tif (\n\t\t\t_isEmpty(activeRecords) &&\n\t\t\t!isViewportEmptyPageLoaded(activeButton, viewportInfo)\n\t\t) {\n\t\t\t_isEmpty(routeInfo.title)\n\t\t\t\t? dispatch('NAV_ITEM_SELECTED', { ...routeInfo, title })\n\t\t\t\t: dispatch('NAV_ITEM_SELECTED', routeInfo);\n\t\t} else if (!_isEmpty(activeRecords)) {\n\t\t\t// resolve to the first tab implicitly\n\t\t\tdispatch('SELECT_TAB', {\n\t\t\t\ttab_ids: [],\n\t\t\t\t_implicitTabResolution: true,\n\t\t\t});\n\t\t}\n\t}\n};\n\n/**\n * handleActiveButtonSet\n * @param activeButton\n * @param toolbarButtons\n * @param activeRoute\n * @param updateProperties\n * @param updateState\n * @param dispatch\n */\nconst handleActiveButtonSet = async ({\n\tstate: {\n\t\tactiveButton,\n\t\tproperties: { toolbarButtons, activeRecords, experienceId },\n\t},\n\taction: {\n\t\tpayload: { activeRoute },\n\t},\n\tupdateProperties,\n\tupdateState,\n\tdispatch,\n}) => {\n\tawait setActiveButton(\n\t\tactiveButton,\n\t\ttoolbarButtons,\n\t\tactiveRoute,\n\t\tactiveRecords,\n\t\texperienceId,\n\t\tdispatch,\n\t\tupdateProperties,\n\t\tupdateState,\n\t);\n};\n\n/**\n * handleActiveButtonUpdated\n * @param payload\n * @param updateState\n */\nconst handleActiveButtonUpdated = ({ action: { payload }, updateState }) => {\n\tupdateState({ activeButton: payload.button });\n};\n\n/**\n * handlePropertyChanged\n * @param state\n * @param action\n * @param dispatch\n * @param updateProperties\n */\nconst handlePropertyChanged = async (coeffects) => {\n\tconst { state, action, dispatch, updateProperties } = coeffects;\n\tconst { name, value, previousValue } = action.payload;\n\tconst {\n\t\tactiveButton,\n\t\tproperties: { toolbarButtons, activeRecords, userId, experienceId },\n\t} = state;\n\tconst { id, viewportInfo, routeInfo, group } = activeButton;\n\tconst isViewportWithRoute = !_isEmpty(routeInfo) && !_isEmpty(viewportInfo);\n\n\tif (\n\t\t(name === 'experienceId' || name === 'userId') &&\n\t\texperienceId &&\n\t\tuserId &&\n\t\t_isEmpty(toolbarButtons)\n\t) {\n\t\tconst storedToolbarButtons = await getStoredToolbarButtons(\n\t\t\tuserId,\n\t\t\texperienceId,\n\t\t);\n\t\tif (storedToolbarButtons) {\n\t\t\tupdateProperties({ toolbarButtons: storedToolbarButtons });\n\t\t}\n\t}\n\n\tif (name === 'toolbarButtons' && !_isEmpty(toolbarButtons)) {\n\t\tregisterToolbarRouteLabels(coeffects);\n\t\tawait saveToolbarButtons(toolbarButtons, userId, experienceId);\n\t}\n\n\tif (\n\t\tname === 'activeRecords' &&\n\t\t!_isEmpty(id) &&\n\t\tisViewportWithRoute &&\n\t\tgroup === 'top' &&\n\t\t!_isEmpty(previousValue) &&\n\t\t_isEmpty(value)\n\t) {\n\t\t// when there are no active tabs, navigate to empty page route\n\t\t// currently we have inbox & ongoing only for top group\n\t\tdispatch('NAV_ITEM_SELECTED', routeInfo);\n\t}\n\n\tif (\n\t\tname === 'activeRoute' &&\n\t\ttypeof value === 'object' &&\n\t\t!_isEmpty(value) &&\n\t\t!_isEmpty(toolbarButtons) &&\n\t\tArray.isArray(activeRecords)\n\t) {\n\t\t// handle browser back & forward to resolve the\n\t\t//  - active button and\n\t\t//  - reset the primary tab size\n\t\tconst { passiveNavigation } = value;\n\t\tif (passiveNavigation === true) return;\n\n\t\t// reset the primary tab size\n\t\tresetSizeAndViewportInfo(\n\t\t\tvalue,\n\t\t\ttoolbarButtons,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\n\t\t// set the active button for the toolbar\n\t\tdispatch(ACTION_TYPES.TOOLBAR_ACTIVE_BUTTON_SET, {\n\t\t\tactiveRoute: value,\n\t\t});\n\t}\n};\n\nconst handleComponentTreeRendered = ({ state, properties }) => {\n\tconst { toolbarButtons = [] } = properties;\n\tconst registeredComponentId =\n\t\tstate.behaviors?.keyboardShortcutBehavior\n\t\t\t?.componentRegistrationAcknowledgementId ?? '';\n\n\t// Set active if a button has a shortcut mapped to it for focus & click\n\tif (registeredComponentId) {\n\t\tfor (let button of toolbarButtons) {\n\t\t\tsetActionStateForShortcut(registeredComponentId, true, {\n\t\t\t\tactionKey: CLICK_TOOLBAR_BUTTON_SHORTCUT,\n\t\t\t\tcondition: { id: button?.id },\n\t\t\t});\n\t\t\tsetActionStateForShortcut(registeredComponentId, true, {\n\t\t\t\tactionKey: FOCUS_TOOLBAR_BUTTON_SHORTCUT,\n\t\t\t\tcondition: { id: button?.id },\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleComponentConnected = async (coeffects) => {\n\tregisterToolbarRouteLabels(coeffects);\n\tconst { properties, updateProperties } = coeffects;\n\tconst { experienceId, userId } = properties;\n\tif (!userId || !experienceId) return;\n\tconst storedToolbarButtons = await getStoredToolbarButtons(\n\t\tuserId,\n\t\texperienceId,\n\t);\n\tif (storedToolbarButtons) {\n\t\tupdateProperties({ toolbarButtons: storedToolbarButtons });\n\t}\n};\n\nconst handleComponentDisconnected = (coeffects, toolbarObserverRef) => {\n\tconst { host } = coeffects;\n\ttoolbarObserverRef.unobserve(host.nowRootNode.host);\n};\n\n/**\n *\n * @type {{\n *\t handleActiveButtonUpdated:  handleActiveButtonUpdated,\n *\t handleToolbarButtonClicked: handleToolbarButtonClicked,\n *\t handleActiveButtonSet: handleActiveButtonSet,\n *\t handleActiveButtonViewportLoaded: handleActiveButtonViewportLoaded\n * }}\n */\nconst effectHandlers = {\n\thandleToolbarButtonClicked,\n\thandleActiveButtonSet,\n\thandleActiveButtonUpdated,\n\thandleComponentConnected,\n\thandleComponentDisconnected,\n\thandlePropertyChanged,\n\thandleComponentTreeRendered,\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport snCanvasToolbarEffect from './snCanvasToolbarEffect';\nimport { debounce } from 'lodash';\n\nimport {\n\tACTION_TYPES,\n\tTOOLBAR_RESIZED,\n\tTOOLBAR_DEBOUNCE_RATE,\n} from '../../constants/constants';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst {\n\thandleToolbarButtonClicked,\n\thandleActiveButtonSet,\n\thandleActiveButtonUpdated,\n\thandleComponentConnected,\n\thandleComponentDisconnected,\n\thandlePropertyChanged,\n\thandleComponentTreeRendered,\n} = snCanvasToolbarEffect.effectHandlers;\n\nconst {\n\tTOOLBAR_ACTIVE_BUTTON_SET,\n\tTOOLBAR_BUTTON_CLICKED,\n\tTOOLBAR_ACTIVE_BUTTON_UPDATED,\n} = ACTION_TYPES;\n\n//Reference to the resizeObserver so we can unobserve the toolbar on disconnect\nlet toolbarObserverRef;\n\nexport const actionHandlers = {\n\t[COMPONENT_CONNECTED]: handleComponentConnected,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t[COMPONENT_TREE_RENDERED]: handleComponentTreeRendered,\n\t[COMPONENT_RENDER_REQUESTED]: ({ action, host, dispatch }) => {\n\t\tconst { meta } = action;\n\t\tif (meta.firstRenderOnConnect) {\n\t\t\tconst toolbarResizeObserver = new ResizeObserver(\n\t\t\t\tdebounce((entries) => {\n\t\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\t\tconst size = {\n\t\t\t\t\t\t\twidth: entry.contentRect.width,\n\t\t\t\t\t\t\theight: entry.contentRect.height,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tdispatch(TOOLBAR_RESIZED, { size });\n\t\t\t\t\t}\n\t\t\t\t}, TOOLBAR_DEBOUNCE_RATE),\n\t\t\t);\n\t\t\ttoolbarResizeObserver.observe(host.nowRootNode.host);\n\t\t\ttoolbarObserverRef = toolbarResizeObserver;\n\t\t}\n\t},\n\t[COMPONENT_ERROR_THROWN]: ({ action }) => {\n\t\tconsole.error('An error occured in sn-canvas-toolbar', action);\n\t},\n\t[COMPONENT_DISCONNECTED]: (coeffects) => {\n\t\thandleComponentDisconnected(coeffects, toolbarObserverRef);\n\t},\n\t[TOOLBAR_ACTIVE_BUTTON_SET]: {\n\t\teffect: handleActiveButtonSet,\n\t\tstopPropagation: true,\n\t},\n\t[TOOLBAR_BUTTON_CLICKED]: {\n\t\teffect: handleToolbarButtonClicked,\n\t\tstopPropagation: true,\n\t},\n\t[TOOLBAR_ACTIVE_BUTTON_UPDATED]: {\n\t\teffect: handleActiveButtonUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[TOOLBAR_RESIZED]: ({ action: { payload }, updateState }) => {\n\t\tupdateState({ parentSize: payload.size });\n\t},\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line import/named\nimport { snabbdom } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport './sn-canvas-toolbar-button';\nimport './overflow/sn-canvas-toolbar-overflow';\nimport snCanvasToolbarStyles from './_sn-canvas-toolbar.scss';\nimport keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { handleKeyPressed } from './utils/helpers';\nimport { isEmpty as _isEmpty } from 'lodash';\nimport { toolbarButtonsSchema } from './schemas/toolbar-buttons-schema';\nimport { routerSchema } from './schemas/router-schema';\nimport {\n\tACTION_TYPES,\n\tTOOLBAR_BUTTON_HEIGHT,\n\tTOOLBAR_BUTTON_WIDTH,\n} from '../../constants/constants';\nimport { actionHandlers } from './sn-canvas-toolbar.effects';\nimport { keyboardShortcutBehavior } from '@servicenow/now-trigger-library';\nimport {\n\tCLICK_TOOLBAR_BUTTON_SHORTCUT,\n\tFOCUS_TOOLBAR_BUTTON_SHORTCUT,\n} from './snCanvasToolbarEffect';\n\nconst { TOOLBAR_ACTIVE_BUTTON_SET } = ACTION_TYPES;\nconst FIRST_PANEL_FOCUSED = 'FIRST_PANEL_FOCUSED';\n\n/**\n * Measure toolbar buttons and split them into visible and overflow buttons based on\n * the provided criteria.\n *\n * @param {Array} toolbarButtons - An array of toolbar buttons to measure.\n * @param {number} toolbarSize - The size of the toolbar as given by resize behavior\n * @param {boolean} horizontal - A flag indicating whether the toolbar is in horizontal mode.\n * @returns {Object} An object containing visibleButtons and overflowButtons arrays.\n */\nexport const measureButtons = (toolbarButtons, toolbarSize, horizontal) => {\n\tconst toolbarLength = horizontal ? toolbarSize.width : toolbarSize.height;\n\tconst buttonLength = horizontal\n\t\t? TOOLBAR_BUTTON_WIDTH\n\t\t: TOOLBAR_BUTTON_HEIGHT;\n\n\tif (!toolbarButtons || toolbarButtons.length === 0) {\n\t\treturn { visibleButtons: [], overflowButtons: [] };\n\t}\n\tconst totalButtonLength = buttonLength * toolbarButtons.length;\n\tif (totalButtonLength <= toolbarLength) {\n\t\treturn { visibleButtons: toolbarButtons, overflowButtons: [] };\n\t}\n\tconst visibleButtonCount = Math.floor(toolbarLength / buttonLength) - 1;\n\tconst visibleButtons = toolbarButtons.slice(0, visibleButtonCount);\n\tconst overflowButtons = toolbarButtons.slice(visibleButtonCount);\n\treturn { visibleButtons, overflowButtons };\n};\n\n/**\n * Updates the last element of the visibleButtons to be the active button that\n * is currently in the overflow menu. The displaced item is put into the overflow\n * menu. Its guarenteed that the activeButton is in the overflow menu\n *\n * @param {Array} overflowButtons - An array of toolbar buttons in the overflow menu\n * @param {Array} visibleButtons - An array of toolbar buttons that are visible on the toolbar\n * @param {Object} activeButton - An index for the currently active button in overflowButtons\n */\nexport const updateVisibleButtons = (\n\tvisibleButtons,\n\toverflowButtons,\n\tactiveButtonIndex,\n) => {\n\tif (activeButtonIndex < 0 || activeButtonIndex >= overflowButtons.length)\n\t\treturn;\n\n\tconst displacedButton = visibleButtons.pop();\n\tif (displacedButton.isSelected) displacedButton.isSelected = false;\n\tconst activeButton = overflowButtons[activeButtonIndex];\n\n\tvisibleButtons.push(activeButton);\n\toverflowButtons.splice(activeButtonIndex, 1, displacedButton);\n};\n\n/**\n * Renders a custom canvas toolbar button based on the provided button object.\n *\n * @param {Object} button - The button object containing configuration for the toolbar button.\t*\n * @param {Object} activeButton - Currently active button object. Assumes 'id' property is present.\t*\n * @returns {JSX.Element|null} The JSX element representing the canvas toolbar button.\n * Returns null if the button should not be shown or if the group is neither 'top' nor 'bottom'.\n */\nconst renderButton = (button, activeButton, toggledButtons) => {\n\tconst { show = true, group } = button;\n\tif (!show || (group !== 'top' && group !== 'bottom')) {\n\t\treturn null;\n\t}\n\n\t//Select the active button and all toggle buttons which have been toggled\n\tconst selected =\n\t\tactiveButton.id === button.id || toggledButtons[button.id] === true;\n\treturn (\n\t\t<sn-canvas-toolbar-button\n\t\t\t{...button}\n\t\t\tisHighlighted={selected}\n\t\t\tisSelected={selected}\n\t\t/>\n\t);\n};\n\nconst renderOverflow = (overflowButtons, horizontal) => {\n\tif (!overflowButtons.length) return;\n\treturn (\n\t\t<sn-canvas-toolbar-overflow\n\t\t\toverflow-items={overflowButtons}\n\t\t\thorizontal={horizontal}\n\t\t\tclassName=\"sn-canvas-toolbar-overflow\"\n\t\t/>\n\t);\n};\n\n/**\n * snCanvasToolbar: View function\n * @param state\n * @param dispatch\n * @returns {JSX.Element|null}\n */\nexport const snCanvasToolbar = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: { toolbarButtons, activeRoute, activeRecords, horizontal },\n\t\tactiveButton,\n\t\tparentSize,\n\t\ttoggledButtons,\n\t} = state;\n\n\tlet toolbarButtonsTop, toolbarButtonsBottom;\n\tlet visibleButtons = [],\n\t\toverflowButtons = [];\n\n\tif (!_isEmpty(toolbarButtons) && !_isEmpty(parentSize)) {\n\t\tconst result = measureButtons(toolbarButtons, parentSize, horizontal);\n\t\tvisibleButtons = result.visibleButtons;\n\t\toverflowButtons = result.overflowButtons;\n\t}\n\n\tif (\n\t\t_isEmpty(activeButton) &&\n\t\t!_isEmpty(activeRoute) &&\n\t\t!_isEmpty(toolbarButtons) &&\n\t\ttypeof activeRoute === 'object' &&\n\t\tArray.isArray(activeRecords)\n\t) {\n\t\tdispatch(TOOLBAR_ACTIVE_BUTTON_SET, { activeRoute });\n\t}\n\t//STRY55513368 - Reflow at 400% zoom with overflow menu\n\tif (overflowButtons.length > 0) {\n\t\tlet activeButtonOverflowIndex = overflowButtons.findIndex(\n\t\t\t(button) => button.id === activeButton.id,\n\t\t);\n\t\tif (activeButtonOverflowIndex >= 0) {\n\t\t\tupdateVisibleButtons(\n\t\t\t\tvisibleButtons,\n\t\t\t\toverflowButtons,\n\t\t\t\tactiveButtonOverflowIndex,\n\t\t\t);\n\t\t}\n\t\ttoolbarButtonsTop = visibleButtons.map((b) =>\n\t\t\trenderButton(b, activeButton, toggledButtons),\n\t\t);\n\t\ttoolbarButtonsBottom = [];\n\n\t\t//Update overflowButtons w/ the toggle state\n\t\toverflowButtons.forEach((button) => {\n\t\t\t// eslint-disable-next-line no-prototype-builtins\n\t\t\tif (toggledButtons.hasOwnProperty(button.id))\n\t\t\t\tbutton.isSelected = toggledButtons[button.id];\n\t\t\telse button.isSelected = activeButton.id === button.id;\n\t\t});\n\t} else {\n\t\t//No overflow buttons, regular rendering\n\t\ttoolbarButtonsTop = toolbarButtons\n\t\t\t.filter((b) => b.group === 'top')\n\t\t\t.map((b) => renderButton(b, activeButton, toggledButtons));\n\t\ttoolbarButtonsBottom = toolbarButtons\n\t\t\t.filter((b) => b.group === 'bottom')\n\t\t\t.map((b) => renderButton(b, activeButton, toggledButtons));\n\t}\n\n\treturn !_isEmpty(toolbarButtons) && !_isEmpty(activeButton) ? (\n\t\t<nav\n\t\t\tclassName={`sn-canvas-toolbar ${horizontal ? 'horizontal' : ''}`}\n\t\t\taria-label={t('Main Workspace')}\n\t\t>\n\t\t\t<div className=\"sn-canvas-toolbar-group -top\" role=\"tablist\">\n\t\t\t\t{toolbarButtonsTop}\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName={`sn-cavnas-toolbar-overflow-popover ${\n\t\t\t\t\thorizontal ? 'horizontal' : ''\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{renderOverflow(overflowButtons, horizontal)}\n\t\t\t<\/div>\n\t\t\t<div className=\"sn-canvas-toolbar-group -bottom\">\n\t\t\t\t{toolbarButtonsBottom}\n\t\t\t<\/div>\n\t\t<\/nav>\n\t) : null;\n};\n\n/**\n * A canvas toolbar that groups buttons to reference to a workspace module resource. There are\n * two button groups:\n *  - **top**: One appears at the top are radio group toolbar buttons. Only one button could be set selected at a time.\n *  - **bottom**: One appears at the bottom are toggle buttons.\n *\n *\n *\n * ```jsx\n * [\n * {\n *    \"id\": \"home\",\n *    \"label\": \"Home\",\n *    \"icon\": \"home-outline\",\n *    \"viewportInfo\": {},\n *    \"routeInfo\": {\n *      \"route\": \"home\"\n *    },\n *    \"group\": \"top\",\n *    \"badge\": {},\n *    \"presence\": {},\n *    \"availability\": {}\n *  },\n * {\n *    \"id\": \"list\",\n *    \"label\": \"List\",\n *    \"icon\": \"list-outline\",\n *    \"viewportInfo\": {},\n *    \"routeInfo\": {\n *      \"route\": \"list\"\n *    },\n *    \"group\": \"top\",\n *    \"badge\":{},\n *    \"presence\": {},\n *    \"availability\": {}\n *  },\n * {\n *    \"id\": \"inbox\",\n *    \"label\": \"Inbox\",\n *    \"icon\": \"inbox-outline\",\n *    \"routeInfo\": {},\n *    \"viewportInfo\": {\n *      \"route\": \"inbox\",\n *      \"fields\": {\n *        \"opened\": false\n *      },\n *      \"viewportElementId\": \"wsSidebar\"\n *    },\n *    \"group\": \"top\",\n *    \"badge\": {\n *      \"count\": 0\n *    },\n *    \"presence\": {\n *      \"status\": \"\"\n *    },\n *    \"availability\": {\n *      \"roles\": [\"awa_agent\",\"awa_admin\",\"admin\"],\n *      \"plugin\": \"com.glide.interaction.awa\"\n *    }\n *  },\n * {\n *    \"id\": \"call\",\n *    \"label\": \"Call\",\n *    \"icon\": \"phone-outline\",\n *    \"routeInfo\": {},\n *    \"viewportInfo\": {\n *      \"route\": \"cti\",\n *      \"fields\": {\n *        \"opened\": false\n *      },\n *      \"viewportElementId\": \"wsCornerDialog\"\n *    },\n *    \"group\": \"bottom\",\n *    \"badge\":{},\n *    \"presence\": {},\n *    \"availability\": {}\n *  }\n * ]\n *\n *  <sn-canvas-toolbar toolbarButtons={buttons} />\n *\n * ```\n *\n * @seismicElement sn-canvas-toolbar\n * @summary A vertical toolbar that provide an interactive reference to a resource. The target resource must be an\n * internal page of current application.\n */\n\ncreateCustomElement('sn-canvas-toolbar', {\n\tproperties: {\n\t\t/**\n\t\t * Properties to configure the canvas toolbar buttons.\n\t\t *\n\t\t *\n\t\t * Toolbar buttons provides a way to interaction and load the workspace canvas modules.\n\t\t * All button clicks dispatches to NAV_ITEM_SELECTED to navigate to an internal page or screen\n\t\t *\n\t\t * An array of `ToolbarButton` item.\n\t\t * @type {(Object.<ToolbarButtons>)}\n\t\t */\n\t\ttoolbarButtons: {\n\t\t\tdefault: [],\n\t\t\tschema: toolbarButtonsSchema,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\t/**\n\t\t * Defines the active route information.\n\t\t * An object of `Router`. See here for more information\n\t\t * [sn-canvas-router](https://code.devsnc.com/dev/sn-canvas-core#canvas-router)\n\t\t *@type {(Object.<Router>)}\n\t\t */\n\t\tactiveRoute: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: routerSchema },\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\t/**\n\t\t * Represents the sysId of current selected session tab\n\t\t * @type {(string)}\n\t\t */\n\t\tactiveParentId: { default: '-1', schema: { type: 'string' } },\n\t\t/**\n\t\t * Represents the array of the active session tab <table: '', sysId: ''>\n\t\t * When there are no session tabs, it's value is empty array []\n\t\t *\n\t\t * @type {Array.<{table: string, sysId: string}>}\n\t\t */\n\t\tactiveRecords: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t\tdeepCompare: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tuserId: {\n\t\t\tdefault: window?.ux_globals?.session?.output?.user?.sys_id,\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Property determining if the toolbar should reflow or not\n\t\t * @type {boolean}\n\t\t */\n\t\thorizontal: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t},\n\tinitialState: {\n\t\tactiveButton: {},\n\t\tparentSize: {},\n\t\ttoggledButtons: {},\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasToolbar,\n\t},\n\tstyles: snCanvasToolbarStyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the toolbar button is selected.\n\t\t * @type {{}}\n\t\t */\n\t\t'SN_CANVAS_TOOLBAR#BUTTON_SELECTED': {},\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\t{ behavior: rtlBehavior },\n\t\t{ behavior: focusBehavior },\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: { timer: { type: 'debounce', wait: 200 } },\n\t\t},\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tonKeyPress: [\n\t\t\t\t\t\t'ArrowUp',\n\t\t\t\t\t\t'ArrowDown',\n\t\t\t\t\t\t'ArrowLeft',\n\t\t\t\t\t\t'ArrowRight',\n\t\t\t\t\t\t'Tab',\n\t\t\t\t\t\t' ',\n\t\t\t\t\t\t'Enter',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonKeyPress: (host, event, dispatch) =>\n\t\t\t\t\t\thandleKeyPressed(host, event, dispatch),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: keyboardShortcutBehavior,\n\t\t\toptions: {\n\t\t\t\tactionMap: {\n\t\t\t\t\t[FIRST_PANEL_FOCUSED]: {\n\t\t\t\t\t\taction: ({ host }) => {\n\t\t\t\t\t\t\thost?.shadowRoot\n\t\t\t\t\t\t\t\t?.querySelector('sn-canvas-toolbar-button')\n\t\t\t\t\t\t\t\t?.focus();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tactive: true,\n\t\t\t\t\t},\n\t\t\t\t\t[CLICK_TOOLBAR_BUTTON_SHORTCUT]: {\n\t\t\t\t\t\taction: ({ host, payload }) => {\n\t\t\t\t\t\t\thost?.shadowRoot\n\t\t\t\t\t\t\t\t?.querySelector(`#${payload?.id}`)\n\t\t\t\t\t\t\t\t?.click();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tactive: false,\n\t\t\t\t\t},\n\t\t\t\t\t[FOCUS_TOOLBAR_BUTTON_SHORTCUT]: {\n\t\t\t\t\t\taction: ({ host, payload }) => {\n\t\t\t\t\t\t\thost?.shadowRoot\n\t\t\t\t\t\t\t\t?.querySelector(`#${payload?.id}`)\n\t\t\t\t\t\t\t\t?.focus();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tactive: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n});\n","export const toolbarButtonsSchema = {\n\ttype: 'array',\n\tbuttons: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tid: { type: 'string' },\n\t\t\tlabel: { type: 'string' },\n\t\t\ticon: { type: 'string' },\n\t\t\tbadge: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcount: { type: 'string' },\n\t\t\t\t\tconfigurations: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\t\t\tfilter: { type: 'string' },\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\ttype: { type: 'string' },\n\t\t\t\t},\n\t\t\t},\n\t\t\tpresence: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstatus: { type: 'string' },\n\t\t\t\t\tconfigurations: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\t\t\tfilter: { type: 'string' },\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\ttype: { type: 'string' },\n\t\t\t\t},\n\t\t\t},\n\t\t\tavailability: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\troles: {\n\t\t\t\t\t\ttype: ['array', 'object'],\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\toperator: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: ['and', 'or'],\n\t\t\t\t\t\t\t\tdefault: 'and',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvalues: { type: 'array' },\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tplugin: {\n\t\t\t\t\t\ttype: ['string', 'object'],\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\toperator: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: ['and', 'or'],\n\t\t\t\t\t\t\t\tdefault: 'and',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvalues: { type: 'array' },\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\trouteInfo: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\troute: { type: 'string' },\n\t\t\t\t\tfields: { type: 'object' },\n\t\t\t\t\tparams: { type: 'object' },\n\t\t\t\t},\n\t\t\t},\n\t\t\tviewportInfo: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\troute: { type: 'string' },\n\t\t\t\t\tfields: { type: 'object' },\n\t\t\t\t\tviewportElementId: { type: 'string' },\n\t\t\t\t},\n\t\t\t},\n\t\t\tgroup: { type: 'string' },\n\t\t},\n\t},\n};\n","export const routerSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\troute: { type: 'string' },\n\t\tfields: { type: 'object' },\n\t\tparams: { type: 'object' }\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_3_1_index_jsdbx_f4fbba91__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-modal';\nimport { t } from 'sn-translate';\nimport DOMPurify from 'dompurify';\n\nconst UCM_DIALOG_CLOSED = 'UXR_UCM_DIALOG_CLOSED';\nconst UCM_HEADING = t('Enable Analytics');\nconst FOOTER_ACTIONS = {\n\talert: [\n\t\t{\n\t\t\tvariant: 'primary',\n\t\t\tlabel: t('Agree'),\n\t\t\tconsentValue: 'AGREE',\n\t\t},\n\t],\n\tconfirm: [\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: t('Yes'),\n\t\t\tconsentValue: 'YES',\n\t\t},\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: t('No'),\n\t\t\tconsentValue: 'NO',\n\t\t},\n\t],\n};\n\nexport const ucmActionHandlers = {\n\t'NOW_MODAL#OPENED_SET': ({\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t}) => {\n\t\tif (!value) {\n\t\t\tdispatch(UCM_DIALOG_CLOSED, { result: '' });\n\t\t}\n\t},\n\t'NOW_MODAL#FOOTER_ACTION_CLICKED': ({ action: { payload }, dispatch }) => {\n\t\tdispatch(UCM_DIALOG_CLOSED, {\n\t\t\tresult: payload.action?.consentValue,\n\t\t});\n\t},\n};\n\nexport const snCanvasUcm = (state) => {\n\tconst { open, ucmConfig = {} } = state.properties;\n\tif (!ucmConfig || Object.keys(ucmConfig).length === 0) return;\n\tconst { content = '', type } = ucmConfig;\n\tconst template = document.createElement('template');\n\ttemplate.innerHTML = DOMPurify.sanitize(content);\n\n\tvar setTargetRef = (elm) => {\n\t\tif (!elm) return;\n\t\telm.appendChild(template.content);\n\t};\n\n\treturn (\n\t\t<now-modal\n\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\tsize=\"md\"\n\t\t\topened={open}\n\t\t\tmanageOpened\n\t\t\theader-label={UCM_HEADING}\n\t\t\tfooter-actions={type ? FOOTER_ACTIONS[type.toLowerCase()] : []}\n\t\t/>\n\t);\n};\n\ncreateCustomElement('sn-canvas-ucm', {\n\tproperties: {\n\t\tucmConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontent: { type: 'string' },\n\t\t\t\t\ttype: { enum: ['confirm', 'alert'] },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\topen: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t},\n\tview: snCanvasUcm,\n\tactionHandlers: ucmActionHandlers,\n});\n","import { forEach as _forEach, forOwn as _forOwn, get as _get } from 'lodash';\nimport { getUnifiedCacheInstance } from 'sn-canvas-common';\n\n/**\n * getFieldValueFromViewportInfo\n * @param viewportInfo\n * @param field\n * @return {*}\n */\nexport const getFieldValueFromViewportInfo = (viewportInfo, field) => {\n\tconst { fields } = viewportInfo;\n\treturn fields[field];\n};\n\n/**\n * getFieldsFromViewportRoutes\n * @param viewportRoutes\n * @param properties\n * @return {{}}\n */\nexport const getFieldsFromViewportRoutes = async (viewportRoutes, properties) => {\n\tconst {\n\t\toptions: {viewportInfo}\n\t} = properties;\n\tlet newFields = {};\n\tconst keys = Object.keys(viewportRoutes);\n\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst route = keys[i];\n\t\tif (viewportRoutes.hasOwnProperty(route)) {\n\t\t\tconst viewportRouteConfig = viewportRoutes[route];\n\t\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\t\tconst fields = _get(\n\t\t\t\t\tviewportRouteConfig.find((rc) => rc.routeType === route),\n\t\t\t\t\t'fields'\n\t\t\t\t);\n\t\t\t\tnewFields = {};\n\t\t\t\tfor (const f of fields) {\n\t\t\t\t\tif (f === 'opened') {\n\t\t\t\t\t\tnewFields[f] = await viewportOpened(viewportInfo, properties);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewFields[f] = !properties[f]\n\t\t\t\t\t\t\t? getFieldValueFromViewportInfo(viewportInfo, f)\n\t\t\t\t\t\t\t: properties[f];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newFields;\n};\n\n/**\n * getParamsFromViewportRoutes\n * @param viewportRoutes\n * @param properties\n * @return {{}}\n */\nexport const getParamsFromViewportRoutes = (viewportRoutes, properties) => {\n\tconst {\n\t\toptions: { viewportInfo }\n\t} = properties;\n\tlet newParams = {};\n\t_forOwn(viewportRoutes, (viewportRouteConfig, route) => {\n\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\tconst params = _get(\n\t\t\t\tviewportRouteConfig.find((rc) => rc.routeType === route),\n\t\t\t\t'optionalParameters'\n\t\t\t);\n\t\t\tnewParams = {};\n\t\t\t_forEach(params, (p) => {\n\t\t\t\tnewParams[p] = properties[p];\n\t\t\t});\n\t\t}\n\t});\n\n\treturn newParams;\n};\n\n/**\n * getFields\n * @param viewportRoutes\n * @param viewportInfo\n * @return {[]}\n */\nexport const getFields = (viewportRoutes, viewportInfo) => {\n\tlet fields = [];\n\t_forOwn(viewportRoutes, (viewportRouteConfig, route) => {\n\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\tfields = _get(\n\t\t\t\tviewportRouteConfig.find((rc) => rc.routeType === route),\n\t\t\t\t'fields',\n\t\t\t\t[]\n\t\t\t);\n\t\t}\n\t});\n\treturn fields;\n};\n\n/**\n * getParams\n * @param viewportRoutes\n * @param viewportInfo\n * @return {[]}\n */\nexport const getParams = (viewportRoutes, viewportInfo) => {\n\tlet params = [];\n\t_forOwn(viewportRoutes, (viewportRouteConfig, route) => {\n\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\tparams = _get(\n\t\t\t\tviewportRouteConfig.find((rc) => rc.routeType === route),\n\t\t\t\t'optionalParameters',\n\t\t\t\t[]\n\t\t\t);\n\t\t}\n\t});\n\treturn params;\n};\n\n/**\n *\n * @return {*}\n */\nconst currentRoute = async () => {\n\tconst activeButton = await getUnifiedCacheInstance('sessionStorage', 'CANVAS_TOOLBAR_SESSION_STORAGE')\n\t\t.getItem('canvasToolbar');\n\treturn _get(activeButton, 'routeInfo.route', '');\n};\n\n/**\n * skipPreload\n * @param viewportInfo\n * @return {boolean}\n */\nexport const skipPreload = async (viewportInfo) => {\n\tconst route = await currentRoute();\n\treturn _get(viewportInfo, 'route', '').indexOf(route) !== -1;\n};\n\n/**\n * viewportOpened\n * @param viewportInfo\n * @returns {boolean}\n */\nconst viewportOpened = async (viewportInfo, properties) => {\n\tconst { experienceId } = properties;\n\tconst sessionStorageKey = experienceId\n\t\t? `canvasToolbar_${experienceId}`\n\t\t: 'canvasToolbar';\n\n\tconst currentActiveButton = await getUnifiedCacheInstance('sessionStorage', 'CANVAS_TOOLBAR_SESSION_STORAGE')\n\t\t.getItem(sessionStorageKey);\n\n\tconst route = _get(viewportInfo, 'route');\n\tlet opened = false;\n\tif (route === _get(currentActiveButton, 'viewportInfo.route')) {\n\t\topened = _get(currentActiveButton, 'viewportInfo.fields.opened');\n\t}\n\treturn opened;\n};\n","import { get as _get, forOwn as _forOwn } from 'lodash';\nimport {\n\tgetFieldsFromViewportRoutes,\n\tgetParamsFromViewportRoutes,\n} from './utils';\n\n/**\n * loadViewport\n * @param viewportRoutes\n * @param viewportInfo\n * @param dispatch\n * @param updateProperties\n */\nexport const loadViewport = (\n\tviewportRoutes,\n\tviewportInfo,\n\tdispatch,\n\tupdateProperties,\n) => {\n\t_forOwn(viewportRoutes, (viewportRouteConfig, route) => {\n\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\tdispatch('UXF_VIEWPORT#RENDER_BY_ID', {\n\t\t\t\t...viewportInfo,\n\t\t\t\treinitialize: true,\n\t\t\t});\n\n\t\t\t// turn off preload, to stop re-firing on component prop change\n\t\t\tupdateProperties({ preload: false });\n\t\t}\n\t});\n};\n\n/**\n * loadViewportWithFieldsAndParams\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const loadViewportWithFieldsAndParams = async (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tviewportRoutes,\n\t\toptions: { viewportInfo },\n\t} = properties;\n\n\tconst keys = Object.keys(viewportRoutes);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst route = keys[i];\n\t\tif (viewportRoutes.hasOwnProperty(route)) {\n\t\t\tif (route === _get(viewportInfo, 'route')) {\n\t\t\t\tdispatch('UXF_VIEWPORT#RENDER_BY_ID', {\n\t\t\t\t\t...viewportInfo,\n\t\t\t\t\tfields: {\n\t\t\t\t\t\t...(await getFieldsFromViewportRoutes(\n\t\t\t\t\t\t\tviewportRoutes,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t)),\n\t\t\t\t\t},\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t...getParamsFromViewportRoutes(\n\t\t\t\t\t\t\tviewportRoutes,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\treinitialize: true,\n\t\t\t\t});\n\n\t\t\t\t// turn off preload, to stop re-firing on component prop change\n\t\t\t\tupdateProperties({ preload: false });\n\t\t\t}\n\t\t}\n\t}\n};","import { isEmpty as _isEmpty, get as _get } from 'lodash';\nimport {\n\tloadViewport,\n\tloadViewportWithFieldsAndParams,\n} from './loadViewportUtils';\n\n/**\n * handleComponentDOMReady\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const handleComponentDOMReady = async ({\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n}) => {\n\tconst {\n\t\tpreload,\n\t\tviewportRoutes,\n\t\toptions,\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\tconst { viewportInfo } = options;\n\tconst viewportElementId = _get(viewportInfo, 'viewportElementId');\n\n\tif (!preload || _isEmpty(viewportRoutes) || _isEmpty(viewportElementId)) {\n\t\treturn;\n\t}\n\n\t/**\n\t * preload viewports - Preload viewports that don't require any fields & params\n\t * e.g. Ongoing sidebar, and CTI use cases\n\t **/\n\tif (!includesFieldsParams) {\n\t\tloadViewport(viewportRoutes, viewportInfo, dispatch, updateProperties);\n\t} else if (viewportElementId !== 'wsChatShell') {\n\t\t/**\n\t\t * preload viewports - Preload viewports that require fields or params\n\t\t * e.g. Inbox sidebar.\n\t\t * Notes:\n\t\t *   1) This is necessary for the inbox sidebar to load with params. See DEF0528020.\n\t\t *   2) We also want to avoid loading wsChatShell. See DEF0531681.\n\t\t *      Loading wsChatShell here is unnecessary, and has caused WPT performance degradation.\n\t\t */\n\t\tawait loadViewportWithFieldsAndParams(\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\t}\n};\n\n/**\n * viewportRoutes change\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const onViewportRoutesChange = (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tpreload,\n\t\tviewportRoutes,\n\t\toptions,\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\tconst { viewportInfo } = options;\n\t/**\n\t * preload viewports - Preload viewports that don't require any fields & params\n\t * e.g. Ongoing sidebar, and CTI use cases\n\t **/\n\tif (\n\t\tpreload &&\n\t\t!includesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\tloadViewport(viewportRoutes, viewportInfo, dispatch, updateProperties);\n\t}\n};\n\n/**\n * onMaxTabLimitChange\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const onMaxTabLimitChange = async (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tpreload,\n\t\tactiveRecords,\n\t\tmaxTabLimit,\n\t\tviewportRoutes,\n\t\toptions: { viewportInfo },\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\n\tif (\n\t\tpreload &&\n\t\tincludesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\t// preload viewports, that require maxTabLimit & activeRecords e.g. inbox viewport\n\t\tif (maxTabLimit && Array.isArray(activeRecords)) {\n\t\t\tawait loadViewportWithFieldsAndParams(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t}\n};\n\n/**\n * onIsExperienceActiveChange\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const onIsExperienceActiveChange = async (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tpreload,\n\t\tviewportRoutes,\n\t\toptions: { viewportInfo },\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\n\tif (\n\t\t!preload &&\n\t\tincludesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\tawait loadViewportWithFieldsAndParams(\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t);\n\t}\n};\n\n/**\n * onActiveParentIdChange\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const onActiveParentIdChange = async (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tpreload,\n\t\tactiveParentId,\n\t\tactiveRecords,\n\t\tviewportRoutes,\n\t\toptions,\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\n\tconst { viewportInfo } = options;\n\n\t// update viewports on activeParentId change\n\tif (\n\t\t!preload &&\n\t\tincludesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\tif (!_isEmpty(activeParentId) && Array.isArray(activeRecords)) {\n\t\t\tawait loadViewportWithFieldsAndParams(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t}\n};\n\n/**\n * onActiveRecordsChange\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nconst onActiveRecordsChange = async (\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst {\n\t\tpreload,\n\t\tactiveParentId,\n\t\tactiveRecords,\n\t\tmaxTabLimit,\n\t\tviewportRoutes,\n\t\toptions: { viewportInfo },\n\t\tincludesFieldsParams = false,\n\t} = properties;\n\n\tif (\n\t\tpreload &&\n\t\tincludesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\t// preload agent chat shell\n\t\tif (!_isEmpty(activeParentId) && Array.isArray(activeRecords)) {\n\t\t\tawait loadViewportWithFieldsAndParams(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t}\n\n\t// update viewports on activeRecords change\n\tif (\n\t\t!preload &&\n\t\tincludesFieldsParams &&\n\t\t!_isEmpty(_get(viewportInfo, 'viewportElementId')) &&\n\t\t!_isEmpty(viewportRoutes)\n\t) {\n\t\tif (maxTabLimit) {\n\t\t\tawait loadViewportWithFieldsAndParams(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\n\t\tif (!_isEmpty(activeParentId)) {\n\t\t\tawait loadViewportWithFieldsAndParams(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t}\n};\n\n/**\n * handleComponentPropertyChanged\n * @param action\n * @param properties\n * @param dispatch\n * @param updateProperties\n */\nexport const handleComponentPropertyChanged = async ({\n\taction,\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n}) => {\n\tconst { name } = action.payload;\n\tswitch (name) {\n\t\tcase 'isExperienceActive':\n\t\t\tawait onIsExperienceActiveChange(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'maxTabLimit':\n\t\t\tawait onMaxTabLimitChange(properties, dispatch, updateProperties);\n\t\t\tbreak;\n\t\tcase 'activeParentId':\n\t\t\tawait onActiveParentIdChange(\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'activeRecords':\n\t\t\tawait onActiveRecordsChange(properties, dispatch, updateProperties);\n\t\t\tbreak;\n\t\tcase 'viewportRoutes':\n\t\t\t// adding break to avoid case falling through\n\t\t\tonViewportRoutesChange(properties, dispatch, updateProperties);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport const handleComponentConnected = ({ host }) => {\n\tlet current = host;\n\twhile (current && current.tagName !== 'SN-CANVAS-EXPERIENCE-SHELL') {\n\t\tcurrent =\n\t\t\tcurrent.parentNode instanceof ShadowRoot\n\t\t\t\t? current.parentNode.host\n\t\t\t\t: current.parentElement;\n\t\tif (!current || current.tagName === 'BODY') break;\n\t}\n\tif (current && current.tagName === 'SN-CANVAS-EXPERIENCE-SHELL') {\n\t\tconst expShellId = current.getAttribute('component-id');\n\t\thost['experienceId'] = `@${expShellId}/experienceId`;\n\t\thost['isExperienceActive'] = `@${expShellId}/isExperienceActive`;\n\t}\n};\n\nconst effectHandlers = {\n\thandleComponentConnected,\n\thandleComponentDOMReady,\n\thandleComponentPropertyChanged,\n};\n\nexport default {\n\teffectHandlers,\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport snCanvasViewportEffect from './snCanvasViewportEffect';\nimport snCanvasViewportStyles from './_sn-canvas-viewport.scss';\nimport { renderSkipBehavior } from 'sn-canvas-common';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DOM_READY, COMPONENT_PROPERTY_CHANGED } =\n\tactionTypes;\n\nconst {\n\thandleComponentConnected,\n\thandleComponentDOMReady,\n\thandleComponentPropertyChanged,\n} = snCanvasViewportEffect.effectHandlers;\n\nexport const snCanvasViewport = () => {\n\treturn (\n\t\t<div className=\"sn-canvas-viewport\">\n\t\t\t<slot name=\"viewport\" />\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-canvas-viewport', {\n\tproperties: {\n\t\tpreload: { default: false, schema: { type: 'boolean' } },\n\t\tincludesFieldsParams: { default: false, schema: { type: 'boolean' } },\n\t\toptions: { default: {}, schema: { type: 'object' } },\n\t\tactiveParentId: { default: '-1', schema: { type: 'string' } },\n\t\tactiveRecords: { default: null, schema: { type: 'array' } },\n\t\tmaxTabLimit: { default: 0, schema: { type: 'number' } },\n\t\texperienceId: { default: '' },\n\t\tisExperienceActive: { default: true, selectable: true },\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasViewport,\n\t},\n\tstyles: snCanvasViewportStyles,\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: handleComponentConnected,\n\t\t[COMPONENT_DOM_READY]: handleComponentDOMReady,\n\t\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t},\n\tbehaviors: [uxfViewportBehavior, renderSkipBehavior],\n});\n","import { get } from 'lodash';\nimport { USER_META_KEYS } from '../constants/constants';\nimport { getLandingPath } from 'sn-canvas-common';\n\nexport const updateButtonPresenceStatus = (\n\tbutton,\n\tindex,\n\tstatus,\n\tupdateProperties\n) => {\n\n\tupdateProperties(({ properties }) => {\n    const { toolbarButtons } = properties;\n\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\tpresence: { status: status }\n\t\t});\n\n\t\treturn {\n        path: 'toolbarButtons',\n        value: newToolbarButtons,\n    };\n\t});\n};\n\n\nexport const updateButtonBadgeCount = (\n\tbutton,\n\tindex,\n\tbadge,\n\tupdateProperties\n) => {\n\n\tupdateProperties(({ properties }) => {\n    const { toolbarButtons } = properties;\n\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\tbadge\n\t\t});\n\n\t\treturn {\n        path: 'toolbarButtons',\n        value: newToolbarButtons,\n    };\n\t});\n};\n\n\nexport const updateButtonIcon = (\n\tbutton,\n\tindex,\n\ticon,\n\tupdateProperties\n) => {\n\n\tupdateProperties(({ properties }) => {\n  \tconst { toolbarButtons } = properties;\n\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\ticon\n\t\t});\n\n\t\treturn {\n        path: 'toolbarButtons',\n        value: newToolbarButtons,\n    };\n\t});\n};\n\n\nexport const setButtonSelection = (\n\tbutton,\n\tindex,\n\tselect,\n\tupdateProperties\n) => {\n\n\tupdateProperties(({ properties }) => {\n  \tconst { toolbarButtons } = properties;\n\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\tisSelected: select\n\t\t});\n\n\t\treturn {\n        path: 'toolbarButtons',\n        value: newToolbarButtons,\n    };\n\t});\n};\n\n\nexport const setButtonVisibility = (\n\tbutton,\n\tindex,\n\tshow,\n\tupdateProperties\n) => {\n\n\tupdateProperties(({ properties }) => {\n\t\tconst { toolbarButtons } = properties;\n\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, {\n\t\t\t...button,\n\t\t\tshow\n\t\t});\n\n\t\treturn {\n        path: 'toolbarButtons',\n        value: newToolbarButtons,\n    };\n\t});\n};\n\n\nexport const IS_LOGGED_IN = (() => {\n\tconst gLoggedIn = get(window, 'ux_globals.isLoggedIn', false);\n\treturn (\n\t\tgLoggedIn === true ||\n\t\t(typeof gLoggedIn === 'string' && gLoggedIn.toLowerCase() === 'true')\n\t);\n})();\n\nexport const DESTINATION_URL = (() => {\n\tlet destinationUrl = get(window, 'ux_globals.loginRedirectUrl', null);\n\n\tif (!destinationUrl) {\n\t\tconst initPath = get(\n\t\t\twindow,\n\t\t\t'ux_globals.siteName',\n\t\t\tnull\n\t\t);\n\t\tconst landingPath = getLandingPath(initPath);\n\t\tdestinationUrl = initPath && landingPath\n\t\t\t? `/${initPath}/${landingPath}`\n\t\t\t: '';\n\t}\n\treturn destinationUrl;\n})();\n\nexport const mapUserMeta = (sessionUserInfo = {}) => {\n\tif (sessionUserInfo === null || Object.entries(sessionUserInfo).length === 0) return {};\n\n\tlet userMeta = {};\n\tfor (let userKey in sessionUserInfo) {\n\t\tif (Object.values(USER_META_KEYS).includes(userKey)) {\n\t\t\tuserMeta[userKey] = sessionUserInfo[userKey];\n\t\t}\n\t}\n\treturn userMeta;\n}\n","import {\n\tfind as _find,\n\tfindIndex as _findIndex,\n\tget as _get,\n\tisEmpty as _isEmpty,\n\thas as _has,\n} from 'lodash';\nimport { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nimport {\n\tupdateButtonPresenceStatus,\n\tupdateButtonBadgeCount,\n\tsetButtonSelection,\n\tsetButtonVisibility,\n\tupdateButtonIcon,\n\tmapUserMeta,\n} from './utils';\n\nimport { notifyToolbarButtonChange } from 'sn-canvas-common';\n\nconst ACTION_TYPES = {\n\t/* user meta actions */\n\tUSER_META_REQUEST: 'USER_META_REQUEST',\n\tUSER_META_REQUEST_STARTED: 'USER_META_REQUEST_STARTED',\n\tUSER_META_REQUEST_SUCCEEDED: 'USER_META_REQUEST_SUCCEEDED',\n\tUSER_META_REQUEST_FAILED: 'USER_META_REQUEST_FAILED',\n\n\t// viewport actions\n\tVIEWPORT_SELECTED: 'VIEWPORT_SELECTED',\n\tPRIME_NAV_SOURCE_CHANGED: 'PRIME_NAV_SOURCE_CHANGED', // action from sn-inbox\n};\n\nexport const handleButtonUpdate = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tupdateProperties,\n\t\tstate: {\n\t\t\tproperties: { toolbarButtons, experienceId },\n\t\t},\n\t} = coeffects;\n\n\tlet { id, status, badge, select = false, show = true, icon = '' } = payload;\n\tlet button, index;\n\n\tif (!_isEmpty(id)) {\n\t\tid = _get(payload, 'id');\n\t\tbutton = _find(toolbarButtons, (b) => b.id === id);\n\t\tindex = _findIndex(toolbarButtons, { id });\n\n\t\tif (!_isEmpty(button) && index !== -1) {\n\t\t\tlet hasUpdates = false;\n\t\t\tif (_has(payload, 'icon') && !_isEmpty(icon)) {\n\t\t\t\tupdateButtonIcon(button, index, icon, updateProperties);\n\t\t\t\thasUpdates = true;\n\t\t\t}\n\n\t\t\tif (_has(payload, 'status') && !_isEmpty(status)) {\n\t\t\t\tupdateButtonPresenceStatus(\n\t\t\t\t\tbutton,\n\t\t\t\t\tindex,\n\t\t\t\t\tstatus,\n\t\t\t\t\tupdateProperties,\n\t\t\t\t);\n\t\t\t\thasUpdates = true;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t_has(payload, 'badge') &&\n\t\t\t\t!_isEmpty(badge) &&\n\t\t\t\t_has(badge, 'count')\n\t\t\t) {\n\t\t\t\tupdateButtonBadgeCount(button, index, badge, updateProperties);\n\t\t\t\thasUpdates = true;\n\t\t\t}\n\n\t\t\tif (_has(payload, 'select')) {\n\t\t\t\tsetButtonSelection(button, index, select, updateProperties);\n\t\t\t\thasUpdates = true;\n\t\t\t}\n\n\t\t\tif (_has(payload, 'show')) {\n\t\t\t\tsetButtonVisibility(button, index, show, updateProperties);\n\t\t\t\thasUpdates = true;\n\t\t\t}\n\n\t\t\t//notify karunashell about the toolbar button change\n\t\t\tif (hasUpdates) {\n\t\t\t\tnotifyToolbarButtonChange({\n\t\t\t\t\t...payload,\n\t\t\t\t\texperienceId,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const handlePropertyChange = ({ properties, updateProperties }) => {\n\tconst { toolbarButtonsConfig, toolbarButtons } = properties;\n\n\tif (!_isEmpty(toolbarButtonsConfig) && _isEmpty(toolbarButtons)) {\n\t\tupdateProperties({ toolbarButtons: toolbarButtonsConfig });\n\t}\n};\n\nexport const handleViewportSelection = async (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { id, viewportInfo },\n\t\t},\n\t\tupdateProperties,\n\t\tstate: {\n\t\t\tproperties: { toolbarButtons, experienceId },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst button = _find(toolbarButtons, (b) => b.id === id);\n\tconst index = _findIndex(toolbarButtons, { id });\n\n\tif (!_isEmpty(button) && index > -1) {\n\t\tlet newToolbarButtons = [...toolbarButtons];\n\t\tnewToolbarButtons.splice(index, 1, { ...button, viewportInfo });\n\t\tupdateProperties({ toolbarButtons: newToolbarButtons });\n\n\t\t// update primary tab only for top group of toolbar buttons that controls the viewports\n\t\tif (button.group === 'top') {\n\t\t\tdispatch('PRIMARY_TAB_UPDATED', {\n\t\t\t\tbutton: { ...button, viewportInfo, size: '240px' },\n\t\t\t});\n\t\t\tconst sessionStorageKey = experienceId\n\t\t\t\t? `canvasToolbar_${experienceId}`\n\t\t\t\t: 'canvasToolbar';\n\t\t\t//update the toolbar button to session\n\t\t\tawait getUnifiedCacheInstance(\n\t\t\t\t'sessionStorage',\n\t\t\t\t'CANVAS_TOOLBAR_SESSION_STORAGE',\n\t\t\t).setItem(sessionStorageKey, {\n\t\t\t\t...button,\n\t\t\t\tviewportInfo,\n\t\t\t});\n\t\t}\n\t}\n\tdispatch('UXF_VIEWPORT#RENDER_BY_ID', {\n\t\t...viewportInfo,\n\t\treinitialize: true,\n\t});\n};\n\nexport const handlePrimaryTabUpdate = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tbutton: { id, label, icon, routeInfo, viewportInfo, size },\n\t\t\t},\n\t\t},\n\t\tupdateProperties,\n\t} = coeffects;\n\n\tupdateProperties({\n\t\tprimaryTab: {\n\t\t\tid,\n\t\t\ttitle: label,\n\t\t\ticon,\n\t\t\trouteInfo,\n\t\t\tviewportInfo,\n\t\t\tsize,\n\t\t},\n\t});\n};\n\nconst effectHandlers = {\n\thandlePropertyChange,\n\thandleButtonUpdate,\n\thandleViewportSelection,\n\thandlePrimaryTabUpdate,\n};\n\n/**\n * Function created to retrieve the userMeta data from ux_globals instead of making additional GQL.\n * @returns {Object}\n */\nexport const getUserMetaFromUxGlobal = () => {\n\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\tif (!_has(UX_GLOBALS, ['session'])) UX_GLOBALS['session'] = {};\n\tconst sessionUserInfo = _get(UX_GLOBALS['session'], ['output', 'user'], {});\n\n\treturn mapUserMeta(sessionUserInfo);\n};\n\nexport default {\n\tACTION_TYPES,\n\teffectHandlers,\n};\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {\n\trenderSkipBehavior,\n\tisKarunaMode,\n\tregisterChromeStateManager,\n\tunregisterChromeStateManager,\n} from 'sn-canvas-common';\nimport chromeStateEffect, {\n\tgetUserMetaFromUxGlobal,\n} from './chromeStateEffect';\nimport { IS_LOGGED_IN, DESTINATION_URL } from './utils';\nimport { isEmpty as _isEmpty } from 'lodash';\n\nconst { PRIME_NAV_SOURCE_CHANGED, VIEWPORT_SELECTED } =\n\tchromeStateEffect.ACTION_TYPES;\n\nconst {\n\thandleButtonUpdate,\n\thandlePropertyChange,\n\thandleViewportSelection,\n\thandlePrimaryTabUpdate,\n} = chromeStateEffect.effectHandlers;\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\ncreateCustomElement('sn-canvas-chrome-state', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: () => <slot />,\n\t},\n\tproperties: {\n\t\tprimaryTab: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t\tselectable: true,\n\t\t},\n\t\ttoolbarButtonsConfig: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t\tselectable: false,\n\t\t},\n\t\ttoolbarButtons: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t\tselectable: true,\n\t\t},\n\t\tuserMeta: {\n\t\t\tdefault: getUserMetaFromUxGlobal(),\n\t\t\tschema: { type: 'object' },\n\t\t\tselectable: true,\n\t\t},\n\t\tloginRedirectUrl: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t\tselectable: true,\n\t\t},\n\t\tisLoggedIn: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t\tselectable: true,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({ updateProperties, properties, host }) => {\n\t\t\tupdateProperties({\n\t\t\t\tloginRedirectUrl: DESTINATION_URL,\n\t\t\t\tisLoggedIn: IS_LOGGED_IN,\n\t\t\t});\n\t\t\tif (isKarunaMode()) {\n\t\t\t\tregisterChromeStateManager(properties.experienceId, host);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_CONNECTED]: ({ properties, updateProperties }) => {\n\t\t\tconst { toolbarButtonsConfig, toolbarButtons } = properties;\n\t\t\tif (!_isEmpty(toolbarButtonsConfig) && _isEmpty(toolbarButtons)) {\n\t\t\t\tupdateProperties({ toolbarButtons: toolbarButtonsConfig });\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChange,\n\t\t[VIEWPORT_SELECTED]: handleViewportSelection,\n\t\t['PRIMARY_TAB_UPDATED']: handlePrimaryTabUpdate,\n\t\t[PRIME_NAV_SOURCE_CHANGED]: handleButtonUpdate,\n\t\t[COMPONENT_DISCONNECTED]: ({ properties }) => {\n\t\t\tunregisterChromeStateManager(properties.experienceId);\n\t\t},\n\t},\n\tbehaviors: [renderSkipBehavior],\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_canvas_chrome=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":334,"column":0},"map":{"mappings":"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","file":"externals/sn-canvas-core-addon/29.2.17/index.min.js","names":["module","exports","a","n","TypeError","__esModule","toPropertyKey","require","_defineProperties","e","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","key","prototype","value","_extends","assign","bind","arguments","hasOwnProperty","call","apply","indexOf","_typeof","Symbol","toPrimitive","i","String","Number","iterator","constructor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","d","definition","get","obj","prop","CANVAS_SESSION_BEHAVIOR","AMB_STATUS_BEHAVIOR","NAV_ITEM_SELECTED","CONTENT_UPDATED","MODAL_SELECTED","EXPERIENCE_LOAD_REQUESTED","SESSION_LOGGED_OUT","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","default","difference","has","isEmpty","isEqual","isFunction","isNil","set","throttle","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__","PERSIST_STATE_CONSTANTS","deepSearchElement","getScreenKey","isKarunaMode","setUpLoginHandler","canvasRootBehavior","name","properties","rootSelectedNavItem","selectable","shouldRenderWhenSet","rootContentUpdated","modalContent","actionHandlers","_ref","action","updateProperties","host","payload","meta","nativeEvent","restPayload","_objectWithoutPropertiesLoose","_excluded","metaKeyPressed","url","external","window","open","target","startsWith","isExternalURL","currTime","performance","now","screenKey","updatePersistedState","encodedPersistedState","persistedStateUpdates","persistedState","timestamp","isFromKaruna","passiveNavigation","updateUrl","_timestamp","_ref2","isOpen","closeAll","_ref3","_action$payload","modalId","sourceEl","showModal","displayOptions","screenRef","rest","_excluded2","currentScreen","elementRef","source","path","event","composedPath","screenArray","filter","p","tagName","_action$meta","id","selector","str","match","hoistedSource","hoistHost","_e","getAttribute","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","declarativeOperations","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","CONSTANTS","SN_CANVAS_ERROR_TAGNAME","CANVAS_ERROR_BEHAVIOR","ACTION_TYPES","NOW_MODAL_OPENED_SET","NOW_MODAL_FOOTER_ACTION_CLICKED","API","TOUCH_SESSION_URL","ERROR_MODAL_CONSTANTS","DEFAULT","ONLINE","OFFLINE","SESSION_EXPIRED","SESSION_EXTENDED","SESSION_TIMEOUT","CLOSE","REFRESH","LOGIN","EXTEND_SESSION","OK","handleLogin","dispatch","loginModal","fields","document","location","reload","createModalConfigFactory","headerLabel","content","footerActions","onClose","hasActions","applyOverlayStyles","token","resetAuthToken","new_g_ck","g_ck","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__","_client","WeakMap","AmbClientProxy","_createClass","_classCallCheck","_defineProperty","_classPrivateFieldInitSpec","_classPrivateFieldGet","this","amb","actionType","client","handlerIdMap","eventKey","replace","eventName","getEvents","Error","subscribeToEvent","handlerId","unsubscribeFromEvent","keys","unsubscribeFromAction","ambClientProxy","freeze","autoRedirectLogout","isWindowOverride","autoRedirect","toString","toLowerCase","AMB_STATUS_SET","AMB_EVENT_SESSION_LOGGED_IN","AMB_EVENT_SESSION_LOGGED_OUT","AMB_EVENT_SESSION_INVALIDATED","AMB_META_CONNECT_MESSAGE_RECEIVED","CANVAS_GLOBAL_ERROR","CANVAS_HIDE_ERROR_MODAL","effectHandlers","handleSessionLoggedIn","state","behaviorState","behaviors","isAuthTokenActive","isSessionLoggedIn","showError","errorConfig","handleSessionLoggedOut","coeffects","canvasSession","sessionLoggedIn","isLoggedIn","isShowTimeoutModalOverride","noTimeoutModal","type","handleSessionInvalidated","forgetMe","handleAmbMetaConnectMessageReceived","_canvasSession$proper","_canvasSession$proper2","updateState","ambSessionLogoutValue","ambSessionLogout","message","ext","_isEmpty","getWindowOverrideValue","ssoShowModal","ssoShowModalOverride","ssoShowModals","_canvasSession$proper3","_canvasSession$proper4","_canvasSession$proper5","_canvasSession$proper6","ambStatusBehaviorState","isActiveSessionExpiringShown","activeSessionTimeleft","activeSessionTimeRemainingInSeconds","parseInt","operation","sessionTimeleft","sessionTimeleftInSeconds","showErrorProp","errorConfigProp","getResolvedProperties","setAMBStatus","updatedSession","onConnect","dispatchOnEvent","isGckValid","getChannel","subscribe","onDisconnect","unsubscribeFromActions","ambStatusEffect","handleLogoutRedirect","errorModalConfig","variant","label","modal","ACTIVE_SESSION_EXPIRING","CANVAS_SHOW_ERROR_MODAL","CANVAS_SESSION_EXTENDED","showCanvasErrorModalEffect","hideCanvasErrorModalEffect","handleCanvasGlobalErrorEffect","data","_has","error","detail","trim","console","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","canvasErrorEffect","COMPONENT_CONNECTED","COMPONENT_DISCONNECTED","canvasErrorBehavior","method","batch","loginConstants","CANVAS_LOGIN_BEHAVIOR","LOGIN_USER_ACTION_TAKEN","LOGIN_SUCCEEDED","ESIGNATURE_REAUTH_ROUTE","ESIGNATURE_REPLAY_ROUTE","CANVAS_LOGIN_USER","messageTypes","SSO_LOGIN_METHODS","FETCH_LOGIN_REDIRECT_URL","FETCH_LOGIN_REDIRECT_URL_FAILED","FETCH_LOGIN_REDIRECT_URL_SUCCESS","LOGIN_MODAL_UI_STATE","CANVAS_LOGIN_MODAL_CANCELLED","SHOW_E_SIGNATURE_MODAL","HIDE_E_SIGNATURE_MODAL","getAlertMsgConfig","msgType","alertConfig","status","icon","getAlertStatusNIcon","Math","random","hideCanvasLoginModal","effect","loginConfig","showLogin","_reopenKey","Date","bubbles","composed","showCanvasLoginModal","isLoading","messages","CANVAS_SHOW_LOGIN_MODAL","CANVAS_HIDE_LOGIN_MODAL","CANVAS_LOGIN_AUTHENTICATE_USER","HTTP_EFFECT_E_SIGNATURE_REQUIRED","CANVAS_LOGIN_USER_SUCCEEDED","CANVAS_LOGIN_USER_FAILED","loginUserSucceeded","_state$properties","_window$reauthPopupWi","resolve","reject","reauthPopupWindow","response","result","transactionId","loginUserFailed","_action$payload2","_window$reauthPopupWi2","errorMessage","_action$payload3","includes","alertMessage","handleLoginModalCancelled","_ref4","_state$properties2","canvasLoginEffect","windowHeight","windowWidth","loginURL","esignOW","evaluateRedirect","msg","close","onReauthenticationComplete","authenticate","openEsignatureWindow","callback","win","closed","href","focus","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__","XMLParser","canvasLoginBehavior","showESignatureModal","_ref5","_ref6","propsToUpdate","dataParam","headers","successActionType","errorActionType","_json$xml","json","ignoreAttributes","parseAttributeValue","attributeNamePrefix","ignoreDeclaration","parse","processSuccessResponse","_window","popup_window_height","popup_window_width","NOW","esigWin","logoutFirst","logoutURL","xml","handleCanvasLoginUserSSO","eventHandlers","events","async","_ref7","originalResolve","originalReject","_window$ux_globals","ux_globals","loginMethod","formBody","URLSearchParams","sysparm_scope","sysparm_processor","sysparm_name","initiateESignature","capture","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__","createInteractionId","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__","canvasAppshellRootBehavior","activeExperience","Client","OS","WINDOWS","MACINTOSH","IOS","ANDROID","_getOS","_getMobileOS","userAgent","navigator","regExpPlatform","matches","regExpAppleDevices","version","_getDesktopOS","platform","regExpVersion","uaResult","_setOS","os","parseFloat","BROWSER","INTERNET_EXPLORER","EDGE","FIREFOX","CHROME","SAFARI","_calcBrowser","ua","browserMatch","exec","browser","_setBrowser","_getBrowser","regExpMobile","mozilla","RegExp","$1","mobile","test","webkit","webkitVersion","regExpWebkitVersion","chromeMatch","firefoxMatch","androidMatch","isMobile","exp","isStandalone","standalone","parts","fullscreen","webview","phantomJS","msie","trident","edge","edg","edga","edgios","b","_setSupport","support","touch","maxTouchPoints","DocumentTouch","supportTouch","SYSTEMTYPE","TABLET","PHONE","DESKTOP","COMBI","_getSystem","isTabletDetected","_isTablet","windows","chrome","android","densityFactor","devicePixelRatio","min","screen","width","height","isAndroidPhone","isWin8Upwards","system","tablet","phone","windows_phone","desktop","combi","_setSystem","getTimeZoneName","timeZoneName","toLocaleString","split","pop","getLanguage","lang","_setLanguage","_htmlEle","getElementsByTagName","language","getDir","dir","_setDir","getGreeting","testValue","getHours","currentHour","COMPONENT_DOM_READY","canvasClientBehavior","clientInfo","schema","greeting","canvasSessionSchema","awaEnabled","sessionTimeout","trackingEnabled","user","avatar","canImpersonate","country","countryCallingCode","dateFormat","dateTimeFormat","domain","encryptionContexts","firstName","fullName","impersonatingUserId","initials","isImpersonating","lastName","preferences","definitions","userPreference","presence","roles","sys_id","timeFormat","timeZone","timeZoneOffset","title","username","userPrefs","getDefaultUserPrefsFromPageProps","property","entries","prefName","prefDefaultValue","mergePreferences","defaultPreferences","preferenceMap","map","prefObj","prefValue","computeUserPrefs","sessionUserPrefs","activeExperiencePath","canvasBehavior","experiencePath","experienceUserPrefDefaults","computedUserPrefs","resolvedPrefs","resolveNullUserPrefs","mergeSessionDbAndLibCompPrefs","sessionDbPrefs","libComponentPrefs","sessionDbPrefsKeys","pref","libComponentPrefsKeys","newUserPrefs","getExperienceConfigUserPrefDefaults","UX_GLOBALS","experienceConfigs","experienceDefaultUserPrefs","experienceId","pageProperties","chrome_header","propObj","JSON","defaultUserPrefs","mergeDefaultUserPrefsFromUXGlobals","experienceConfigUserPrefDefaults","getSessionFromUxGlobalEffect","sessionInfo","updatedUserPreferences","getSysPropsFromUxGlobalEffect","CANVAS_USER_PREFERENCE_UPDATE_REQUEST_SUCCEEDED","CANVAS_USER_PREFERENCE_UPDATE_REQUEST_FAILED","CANVAS_USER_PREFERENCE_UPDATE_REQUEST","CANVAS_USER_PREFERENCES_UPDATE_REQUEST","CANVAS_USER_PREFERENCES_UPDATE_REQUEST_SUCCEEDED","CANVAS_USER_PREFERENCES_UPDATE_REQUEST_FAILED","CANVAS_USER_PREFERENCE_UPDATED","COMPONENT_BOOTSTRAPPED","COMPONENT_PROPERTY_CHANGED","CANVAS_USER_PREFERENCE_UPDATE","USER_PREF_SOURCE_UPDATED","CANVAS_EXPERIENCE_LOADED","CANVAS_EXPERIENCE_SWITCHED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__","convertUrlToPayload","setSysProps","setUserPrefs","updateUserPreferenceEffect","variableList","updateUserPreferencesEffect","updatePreferenceEffect","experienceLoadedOrSwitchedEffect","updateContext","payloadExperiencePath","shouldRender","sessionPreferences","sysPropsData","session","errors","updatedPreference","isExistingPreference","preference","stopPropagation","defaultEventRegistry","Map","sessionExtensionEffect","eventRegistry","coeffect","forEach","body","addEventListener","createDisconnectEffect","removeEventListener","removeEventListeners","registerEventListeners","createEffectForEvents","leading","trailing","sessionData","lastUiActivitySysProp","canvasSessionBehavior","deepCompare","initialState","sessionUpdateEffects","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__","createAmbSubscriptionEffect","RECORD_PRESENCE_COLUMN","createAmbPresenceSubscription","subscribeStartedActionType","subscribeSucceededActionType","subscribeFailedActionType","unsubscribeSucceededActionType","messageReceivedActionType","table","btoa","handleSubscriptionError","warn","updatedValue","update","userPresenceBehavior","userPresenceUpdateEffect","actions","private","BROWSER_STATUS","HTTP_ERROR_OCCURRED","onlinelistener","offlinelistener","onHttpErrorOccurred","evt","onlineHandler","offlineHandler","canvasLayoutEffect","canvasLayoutErrorBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__","klona","ACTION_CREATE_TINY_URL","ACTION_TINY_URL_CREATED","ACTION_TINY_URL_CREATE_FAILED","ACTION_RESOLVE_TINY_URL","ACTION_TINY_URL_RESOLVED","ACTION_TINY_URL_RESOLVE_FAILED","getUrlPersistedStateWithMetadata","persistedStateForUrl","encoding","isTiny","metadata","push","join","deserializePersistedState","persistedStateFromUrl","decodedPersistedState","base64Str","binaryString","atob","byteArray","Uint8Array","from","char","charCodeAt","jsonString","TextDecoder","decode","decodeFromBase64","serializePersistedState","serializedPersistedState","stringify","TextEncoder","encode","fromCharCode","encodeToBase64","tinyIdStatePersistenceCache","putResolvedTinyPersistedStateToCache","tinyId","serialzedPersistedState","ACTION_PERSIST_STATE_INTERNAL","ACTION_PERSIST_STATE_INIT_INTERNAL","ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL","SINK_URL","SYMBOL_MARK_TINY_URL_REQUESTED","validPersistenceSinks","handleEmptyPersistedStateFromRouter","rawPersistedStateFromUrl","persistedStateForRouter","previousPersistedState","handleNonEmptyPersistedStateFromRouter","resolvedTinyIdFromUxGlobals","resolvedTinyPersistedState","getResolvedTinyPersistedStateFromCache","SET","statePersistenceMeta","deserializedPersistedState","handlePersistStateFromRouter","handlerFunction","shouldUpdate","handleTinyUrlCreationFailed","statePersistenceBehavior","persistedStateForMain","persistTo","persistedStateForScreen","newEncodedPersistedStateForScreen","encodeURIComponent","queuedEntry","queuedState","queuedTimestamp","_payload$result","tinyPersistedState","pathParams","_tinyUrlResponse$resu","tinyUrlResponse","__state__","origin","isFromLinkGrabber","reloadFromPlugin","incomingUrl","URL","selectedContent","getSelectedContent","err","navigateWithContext","internalNavPluginBehavior","navigateToIncomingUrl","sessionPing","getSessionPing","toMilliseconds","seconds","lowerBound","upperBound","extendUISessionEffect","isEmbeddableFlow","getSessionExtensionUrl","sessionExtensionBehavior","embeddablesSessionBehavior"],"sources":["webpack:///@babel/runtime/7.28.3/helpers/classCallCheck.js","webpack:///@babel/runtime/7.28.3/helpers/createClass.js","webpack:///@babel/runtime/7.28.3/helpers/defineProperty.js","webpack:///@babel/runtime/7.28.3/helpers/extends.js","webpack:///@babel/runtime/7.28.3/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.28.3/helpers/toPrimitive.js","webpack:///@babel/runtime/7.28.3/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.28.3/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///sn-canvas-core-addon/29.2.17/src/constants/constants.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-canvas-common/29.2.17/index.jsdbx\"","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-root/canvasRoot.actions.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-root/canvasRoot.behavior.js","webpack:///sn-canvas-core-addon/29.2.17/src/utils/isLegacySelector.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-error/constants.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-error/utils.js","webpack:///sn-canvas-core-addon/29.2.17/src/ambStatusBehavior/getAuthToken.js","webpack:///external module \"/uxasset/externals/amb-client-js/index.jsdbx\"","webpack:///sn-canvas-core-addon/29.2.17/src/ambStatusBehavior/ambClientProxy.js","webpack:///sn-canvas-core-addon/29.2.17/src/utils/autoRedirectLogout.js","webpack:///sn-canvas-core-addon/29.2.17/src/ambStatusBehavior/ambStatusEffect.js","webpack:///sn-canvas-core-addon/29.2.17/src/utils/showModalsOverride.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-error/errorModalConfig.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-error/canvasErrorEffect.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-error/canvasErrorBehavior.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-login/constants.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-login/utils.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-login/canvasLoginEffect.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-login/eSignatureUtils.js","webpack:///external module \"/uxasset/externals/fast-xml-parser/4.0.6/index.jsdbx\"","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-login/canvasLoginBehavior.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-metrics/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.0/index.jsdbx\"","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-appshell-root/canvasAppshellRoot.behavior.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-appshell-root/canvasAppShellRoot.actions.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-client/utils/client.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-client/utils/greeting.js","webpack:///sn-canvas-core-addon/29.2.17/src/sn-canvas-client/sn-canvas-client.behavior.js","webpack:///sn-canvas-core-addon/29.2.17/src/canvasSessionBehavior/schemas/index.js","webpack:///sn-canvas-core-addon/29.2.17/src/canvasSessionBehavior/effects/utils.js","webpack:///sn-canvas-core-addon/29.2.17/src/canvasSessionBehavior/effects/bootstrapEffect.js","webpack:///sn-canvas-core-addon/29.2.17/src/canvasSessionBehavior/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-ux-core/28.0.4/index.jsdbx\"","webpack:///sn-canvas-core-addon/29.2.17/src/canvasSessionBehavior/effects/sessionUpdateEffect.js","webpack:///sn-canvas-core-addon/29.2.17/src/canvasSessionBehavior/effects/lastUIActivityEffect.js","webpack:///sn-canvas-core-addon/29.2.17/src/canvasSessionBehavior/sn-canvas-session.behavior.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-amb/index.jsdbx\"","webpack:///sn-canvas-core-addon/29.2.17/src/userPresenceBehavior/constants.js","webpack:///sn-canvas-core-addon/29.2.17/src/userPresenceBehavior/userPresenceEffect.js","webpack:///sn-canvas-core-addon/29.2.17/src/userPresenceBehavior/userPresenceBehavior.js","webpack:///sn-canvas-core-addon/29.2.17/src/ambStatusBehavior/ambStatusBehavior.js","webpack:///sn-canvas-core-addon/29.2.17/src/canvasLayoutErrorBehavior/canvasLayoutEffect.js","webpack:///sn-canvas-core-addon/29.2.17/src/canvasLayoutErrorBehavior/canvasLayoutErrorBehavior.js","webpack:///external module \"/uxasset/externals/klona/2.0.6/index.jsdbx\"","webpack:///sn-canvas-core-addon/29.2.17/src/statePersistenceBehavior/constants.js","webpack:///sn-canvas-core-addon/29.2.17/src/statePersistenceBehavior/utils.js","webpack:///sn-canvas-core-addon/29.2.17/src/statePersistenceBehavior/statePersistence.actions.js","webpack:///sn-canvas-core-addon/29.2.17/src/statePersistenceBehavior/statePersistence.behavior.js","webpack:///sn-canvas-core-addon/29.2.17/src/internalNavPluginBehavior/navigateToIncomingUrl.js","webpack:///sn-canvas-core-addon/29.2.17/src/internalNavPluginBehavior/internalNavPlugin.actions.js","webpack:///sn-canvas-core-addon/29.2.17/src/internalNavPluginBehavior/internalNavPlugin.behavior.js","webpack:///sn-canvas-core-addon/29.2.17/src/utils/get-session-ping.js","webpack:///sn-canvas-core-addon/29.2.17/src/sessionExtensionBehavior/sessionExtension.behavior.js","webpack:///sn-canvas-core-addon/29.2.17/src/embeddablesSessionBehavior/embeddablesSession.behavior.js"],"sourcesContent":["function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (-1 !== e.indexOf(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","//Behaviors\nexport const CANVAS_ROOT_BEHAVIOR = 'CANVAS_ROOT_BEHAVIOR';\nexport const CANVAS_APPSHELL_ROOT_BEHAVIOR = 'CANVAS_APPSHELL_ROOT_BEHAVIOR';\nexport const CANVAS_CLIENT_BEHAVIOR = 'CANVAS_CLIENT_BEHAVIOR';\nexport const CANVAS_SESSION_BEHAVIOR = 'CANVAS_SESSION_BEHAVIOR';\nexport const AMB_STATUS_BEHAVIOR = 'AMB_STATUS_BEHAVIOR';\nexport const USER_PRESENCE_BEHAVIOR = 'USER_PRESENCE_BEHAVIOR';\nexport const INTERNAL_NAV_PLUGIN_BEHAVIOR = 'INTERNAL_NAV_PLUGIN_BEHAVIOR';\n\n// Actions\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const CONTENT_UPDATED = 'CONTENT_UPDATED';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const VIEWPORT_MODAL_SELECTED = 'MACROPONENT_VIEWPORT_LOAD_REQUESTED';\n\nexport const EXPERIENCE_LOAD_REQUESTED = 'CANVAS_EXPERIENCE_LOAD_REQUESTED';\n\nexport const SESSION_LOGGED_OUT = 'SESSION_LOGGED_OUT';\n\nexport const SN_CANVAS_SCREEN = 'SN-CANVAS-SCREEN';\n\n// Session Ping\n// Default session ping is 60 seconds.\nexport const DEFAULT_SESSION_PING = 60;\nexport const MIN_SESSION_PING = 30;\nexport const MAX_SESSION_PING = 1800;\n// Default glide.ui.session_timeout is 30 minutes\nexport const DEFAULT_SESSION_TIMEOUT = 30;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"difference\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t\t} else if ('difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.difference || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"throttle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t\t} else if ('throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.throttle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].throttle;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"PERSIST_STATE_CONSTANTS\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'PERSIST_STATE_CONSTANTS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].PERSIST_STATE_CONSTANTS;\n\t\t\t\t\t} else if ('PERSIST_STATE_CONSTANTS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.PERSIST_STATE_CONSTANTS || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].PERSIST_STATE_CONSTANTS;\n\t\t\t\t}, [\"deepSearchElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].deepSearchElement;\n\t\t\t\t\t} else if ('deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.deepSearchElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].deepSearchElement;\n\t\t\t\t}, [\"getScreenKey\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getScreenKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getScreenKey;\n\t\t\t\t\t} else if ('getScreenKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getScreenKey || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getScreenKey;\n\t\t\t\t}, [\"isKarunaMode\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'isKarunaMode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].isKarunaMode;\n\t\t\t\t\t} else if ('isKarunaMode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.isKarunaMode || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].isKarunaMode;\n\t\t\t\t}, [\"setUpLoginHandler\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'setUpLoginHandler' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setUpLoginHandler;\n\t\t\t\t\t} else if ('setUpLoginHandler' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.setUpLoginHandler || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setUpLoginHandler;\n\t\t\t\t} });","import { get, has, isEmpty, set } from 'lodash';\nimport {\n\tNAV_ITEM_SELECTED,\n\tCONTENT_UPDATED,\n\tMODAL_SELECTED,\n\tSN_CANVAS_SCREEN,\n} from '../constants/constants';\n\nimport { getScreenKey, deepSearchElement } from 'sn-canvas-common';\nimport { isLegacySelector } from '../utils/isLegacySelector';\n\nfunction isExternalURL(url) {\n\treturn !isEmpty(url) && url.startsWith('http');\n}\n\nfunction handleNavItemSelected({ action, updateProperties, host }) {\n\tconst { payload, meta } = action;\n\t// eslint-disable-next-line no-unused-vars\n\tconst { nativeEvent = {}, isFromKaruna, ...restPayload } = payload;\n\tconst metaKeyPressed =\n\t\tget(nativeEvent, 'metaKey', false) ||\n\t\tget(nativeEvent, 'ctrlKey', false);\n\n\tif (has(payload, ['external', 'url'])) {\n\t\tconst url = payload.external.url;\n\t\twindow.open(\n\t\t\turl,\n\t\t\tpayload.external.target || '_blank',\n\t\t\tisExternalURL(url) ? 'noreferrer' : null,\n\t\t);\n\t\treturn;\n\t}\n\tconst currTime = window.performance.now();\n\tset(window, ['uxf_timing', 'most_recent_user_nav'], currTime);\n\n\tconst screenKey = getScreenKey(restPayload);\n\tif (meta?.updatePersistedState !== true) {\n\t\trestPayload.encodedPersistedState = null;\n\t} else {\n\t\t// DEF0773483: The persistedState for each screenKey is saved on the host and subsequently utilized in statePersistence.actions.js\n\t\thost.persistedStateUpdates = {\n\t\t\t...host?.persistedStateUpdates,\n\t\t\t[screenKey]: {\n\t\t\t\tpersistedState: restPayload.encodedPersistedState,\n\t\t\t\ttimestamp: currTime,\n\t\t\t},\n\t\t};\n\t}\n\n\tupdateProperties({\n\t\trootSelectedNavItem: {\n\t\t\t...restPayload,\n\t\t\t...(meta && meta.isFromKaruna === true && { isFromKaruna: true }),\n\t\t\t...((metaKeyPressed || restPayload.passiveNavigation === true) && {\n\t\t\t\tpassiveNavigation: true,\n\t\t\t\tupdateUrl: false,\n\t\t\t}),\n\t\t\t_timestamp: currTime,\n\t\t},\n\t});\n}\n\nfunction handleContentUpdated({ action, updateProperties }) {\n\tupdateProperties({\n\t\trootContentUpdated: action.payload,\n\t\tmodalContent: { isOpen: false, closeAll: true },\n\t});\n}\n\nconst handleModalSelected = ({ action, updateProperties }) => {\n\tconst {\n\t\tmodalId: sourceEl,\n\t\tshowModal: isOpen,\n\t\tdisplayOptions,\n\t\tscreenRef,\n\t\t...rest\n\t} = action.payload;\n\tlet { elementRef: source } = action.meta;\n\n\t// corresponding screenRef is passed when sn-canvas-tabs dispatches MODAL_SELECTED\n\tif (!source && screenRef) {\n\t\tsource = deepSearchElement(sourceEl, screenRef);\n\t}\n\tlet currentScreen;\n\tif (sourceEl && !source) {\n\t\tconst path = action.meta.event.composedPath();\n\t\tconst screenArray = path?.filter((p) => p.tagName === SN_CANVAS_SCREEN); //find the canvas screen element\n\t\tif (screenArray && screenArray.length > 0) {\n\t\t\tcurrentScreen = screenArray[0];\n\t\t}\n\n\t\t/*  Currently, modal elements are queried using the CSS endsWith selector ([id$=\"modalId\"]). This picks\n\t\tthe first matched modal in the dom tree, this leads to incorrect modal selection when the dom has multiple macroponents\n\t\twith same sys Id, which internally has modals with same elementID */\n\t\ttry {\n\t\t\tif (action.meta.id) {\n\t\t\t\tlet selector = isLegacySelector(sourceEl)\n\t\t\t\t\t? `[component-id^='${action.meta.id}']${sourceEl}`\n\t\t\t\t\t: sourceEl; // updating the selector with startsWith component-id of the trigger component\n\t\t\t\tsource = currentScreen\n\t\t\t\t\t? deepSearchElement(selector, currentScreen)\n\t\t\t\t\t: undefined; // searches with updated selector in the current screen only\n\t\t\t\tif (!source) {\n\t\t\t\t\tsource = deepSearchElement(selector); // searches with updated selector on entire dom\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!source && currentScreen) {\n\t\t\t\tsource = deepSearchElement(sourceEl, currentScreen); // fallback to search with selector on current screen\n\t\t\t}\n\n\t\t\tconst hoistedSource = action?.meta?.hoistHost;\n\t\t\tif (!source && hoistedSource) {\n\t\t\t\t//attempt to get the value from the hoisted element, should be a utility panel case\n\t\t\t\tsource = deepSearchElement(sourceEl, hoistedSource);\n\t\t\t}\n\n\t\t\t// fallback to search with selector on entire dom\n\t\t\tif (!source) source = deepSearchElement(sourceEl);\n\t\t} catch (_e) {\n\t\t\t//set source when selector fails to validate in worst case.\n\t\t\tsource = undefined;\n\t\t}\n\t}\n\n\tconst modalId = source ? source.getAttribute('component-id') : undefined;\n\tupdateProperties({\n\t\tmodalContent: {\n\t\t\t...rest,\n\t\t\tsource,\n\t\t\tmodalId,\n\t\t\tisOpen,\n\t\t\tdisplayOptions,\n\t\t},\n\t});\n};\n\nexport default {\n\t[NAV_ITEM_SELECTED]: handleNavItemSelected,\n\t[CONTENT_UPDATED]: handleContentUpdated,\n\t[MODAL_SELECTED]: handleModalSelected,\n};\n","import { CANVAS_ROOT_BEHAVIOR } from '../constants/constants';\nimport actions from './canvasRoot.actions';\n\nexport const canvasRootBehavior = {\n\tname: CANVAS_ROOT_BEHAVIOR,\n\tproperties: {\n\t\trootSelectedNavItem: {\n\t\t\tselectable: true,\n\t\t\tdefault: null,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\trootContentUpdated: {\n\t\t\tselectable: true,\n\t\t\tdefault: null,\n\t\t},\n\t\tmodalContent: {\n\t\t\tselectable: true,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tactionHandlers: actions,\n};\n","export function isLegacySelector(str) {\n    const match =\n        str && str.match(/^\\[\\s*component-id\\s*\\$=\\s*(['\"]?)([\\w- ]+)\\1\\s*\\]$/);\n    if (!match) {\n        return false;\n    }\n\n    return true;\n}","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","export const CONSTANTS = {\n\t/* Seismic element tag name */\n\tSN_CANVAS_ERROR_TAGNAME: 'sn-canvas-error',\n\n\t/* Seismic behavior name */\n\tCANVAS_ERROR_BEHAVIOR: 'CANVAS_ERROR_BEHAVIOR',\n\t/* action types */\n\tACTION_TYPES: {\n\t\tNOW_MODAL_OPENED_SET: 'NOW_MODAL#OPENED_SET',\n\t\tNOW_MODAL_FOOTER_ACTION_CLICKED: 'NOW_MODAL#FOOTER_ACTION_CLICKED',\n\t},\n\n\t/* APIs */\n\tAPI: {\n\t\tTOUCH_SESSION_URL: '/api/now/uisession/touch-session',\n\t},\n};\n\nexport const ERROR_MODAL_CONSTANTS = {\n\tHEADERS: {\n\t\tDEFAULT: 'Canvas Error',\n\t\tONLINE: 'Connection Restored',\n\t\tOFFLINE: 'Connection Lost',\n\t\tSESSION_EXPIRED: 'Session Expired (401)',\n\t\tSESSION_LOGGED_OUT: 'Your session has expired.',\n\t\tSESSION_EXTENDED: 'Extend your session.',\n\t\tSESSION_TIMEOUT: 'Session Timeout',\n\t},\n\tCONTENTS: {\n\t\tDEFAULT: 'An error has occurred. Please refresh or contact support.',\n\t\tONLINE: 'Your browser is back online.',\n\t\tOFFLINE:\n\t\t\t'Your browser has gone offline. Please check your network connection.',\n\t\tSESSION_EXPIRED: 'Your login session has expired. Please login again.',\n\t\tSESSION_EXTENDED:\n\t\t\t'Your current session will expire soon. Click extend to continue with your current session.',\n\t\tSESSION_TIMEOUT:\n\t\t\t'Your session will time out soon. Be sure to save your work.',\n\t},\n\tACTIONS: {\n\t\tCLOSE: 'Close',\n\t\tREFRESH: 'Refresh',\n\t\tLOGIN: 'Login',\n\t\tEXTEND_SESSION: 'Extend session',\n\t\tOK: 'Ok',\n\t},\n};\n","import { has } from 'lodash';\nimport { VIEWPORT_MODAL_SELECTED } from '../constants/constants';\nimport {messageTypes} from './constants';\n\n/**!\n * @method handleLogin\n * @param dispatch\n * @param loginModal\n */\nexport const handleLogin = (dispatch, loginModal) => {\n\tif (has(loginModal, 'viewportElementId') && has(loginModal, 'route')) {\n\t\tdispatch(VIEWPORT_MODAL_SELECTED, { ...loginModal, fields: {} });\n\t} else {\n\t\twindow.document.location.reload();\n\t}\n};\n\n/**\n * Generates a configuration object for errorModalConfig\n * @param {string} headerLabel Modal title (required).\n * @param {string} content Modal content (required).\n * @param {Array} [footerActions=[]] Footer action buttons.\n * @param {Function} [onClose=null] Close callback.\n * @param {boolean} [hasActions=footerActions.length > 0] If modal has action.\n * @param {boolean} [applyOverlayStyles=false] If apply overlay styles.\n * @returns {Object} Modal configuration.\n */\nexport const createModalConfigFactory = ({\n\theaderLabel,\n\tcontent,\n\tfooterActions = [],\n\tonClose = null,\n\thasActions = footerActions.length > 0,\n\tapplyOverlayStyles = false,\n}) => {\n\treturn {\n\t\theaderLabel,\n\t\tcontent,\n\t\tfooterActions,\n\t\tonClose,\n\t\thasActions,\n\t\tapplyOverlayStyles,\n\t};\n};\n","const token = {};\n\nexport default token;\n\n/**\n * Updates the user auth token header and  window.g_ck global. This will enable support for logging back in\n * after getting logged out\n *\n * @method resetAuthToken\n * @param new_g_ck\n */\nexport const resetAuthToken = new_g_ck => {\n\twindow.g_ck = token['X-UserToken'] = new_g_ck;\n};\n\n// Initially set the token to window.g_ck.\nresetAuthToken(window.g_ck);\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_amb_client_js_index_jsdbx_ea5cc17a__[\"default\"][\"default\"];\n\t\t\t\t} });","import amb from 'amb-client-js';\n\n/**\n * A context-specific alias to mimic ambEventEffect until this issue is resolved:\n * https://code.devsnc.com/dev/sn-seismic/issues/446\n */\nclass AmbClientProxy {\n\thandlerIdMap = {};\n\t#client;\n\tget client() {\n\t\t// During embeddables script initialization, sn_embeddable_core/amb-proxy provides a dummy proxy\n\t\t// The actual client becomes available only after sn_embeddable_core.init finishes\n\t\tif (!this.#client) this.#client = amb.getClient();\n\t\treturn this.#client;\n\t}\n\tdispatchOnEvent(actionType, dispatch) {\n\t\tconst { client, handlerIdMap } = this;\n\n\t\tconst eventKey = actionType.replace(/^AMB_EVENT_/, '');\n\t\tconst { [eventKey]: eventName } = client.getEvents();\n\n\t\tif (!eventName) {\n\t\t\tthrow new Error(\n\t\t\t\t`[ambClientProxy] No amb event found for '${actionType}'`,\n\t\t\t);\n\t\t}\n\n\t\tif (actionType in handlerIdMap) {\n\t\t\treturn;\n\t\t}\n\n\t\thandlerIdMap[actionType] = client.subscribeToEvent(eventName, () => {\n\t\t\tdispatch(actionType);\n\t\t});\n\t}\n\n\tunsubscribeFromAction(actionType) {\n\t\tconst {\n\t\t\tclient,\n\t\t\thandlerIdMap,\n\t\t\thandlerIdMap: { [actionType]: handlerId },\n\t\t} = this;\n\n\t\tclient.unsubscribeFromEvent(handlerId);\n\t\tdelete handlerIdMap[actionType];\n\t}\n\n\tunsubscribeFromActions() {\n\t\tconst actionTypes = Object.keys(this.handlerIdMap);\n\n\t\tfor (const actionType of actionTypes) {\n\t\t\tthis.unsubscribeFromAction(actionType);\n\t\t}\n\t}\n}\n\n// eslint-disable-next-line\nconst ambClientProxy =\n\tprocess.env.NODE_ENV !== 'development' && new AmbClientProxy();\n\nexport default Object.freeze(ambClientProxy);\n","import { get } from 'lodash';\n\n/**\n * This is to handle when a person is logged out but the platform is configured to suppress\n * login modal. If the modal should be hidden the page is refreshed and the\n * session_timeout.do page handles the redirect.\n * @returns boolean\n */\nconst autoRedirectLogout = (isWindowOverride) => {\n\tif(isWindowOverride) {\n\t\treturn false; //don't do the autoRedirectLogout logic if window override is true\n\t}\n\n\tconst autoRedirect = get(\n\t\twindow,\n\t\t'ux_globals.sysprops[\"glide.ui.session.auto_redirect\"]',\n\t\tfalse,\n\t);\n\tif (\n\t\tautoRedirect === true ||\n\t\tautoRedirect.toString().toLowerCase() === 'true'\n\t) {\n\t\twindow.location.reload();\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport { autoRedirectLogout };\n","import { isEmpty as _isEmpty, get } from 'lodash';\nimport { resetAuthToken } from './getAuthToken';\nimport ambClientProxy from './ambClientProxy';\nimport {\n\tSESSION_LOGGED_OUT,\n\tAMB_STATUS_BEHAVIOR,\n} from '../constants/constants';\nimport { autoRedirectLogout } from '../utils/autoRedirectLogout';\nimport { ssoShowModalOverride } from '../utils/showModalsOverride';\nimport { isKarunaMode } from 'sn-canvas-common';\n\n/**\n * amb, canvas error & canvas error modal effect action types\n *\n * @type {{\n * \tAMB_STATUS_SET: string,\n * \tAMB_EVENT_SESSION_LOGGED_IN: string,\n * \tAMB_EVENT_SESSION_LOGGED_OUT: string,\n * \tAMB_EVENT_SESSION_INVALIDATED: string,\n *  AMB_META_CONNECT_MESSAGE_RECEIVED: string,\n * \tCANVAS_GLOBAL_ERROR: string,\n * \tCANVAS_HIDE_ERROR_MODAL: string,\n * \t}}\n */\nconst ACTION_TYPES = {\n\t/*-- amb actions --*/\n\tAMB_STATUS_SET: 'AMB_STATUS_BEHAVIOR#SET_STATUS',\n\tAMB_EVENT_SESSION_LOGGED_IN: 'AMB_EVENT_SESSION_LOGGED_IN',\n\tAMB_EVENT_SESSION_LOGGED_OUT: 'AMB_EVENT_SESSION_LOGGED_OUT',\n\tAMB_EVENT_SESSION_INVALIDATED: 'AMB_EVENT_SESSION_INVALIDATED',\n\tAMB_META_CONNECT_MESSAGE_RECEIVED: 'AMB_META_CONNECT_MESSAGE_RECEIVED',\n\n\t/*-- canvas global error actions --*/\n\tCANVAS_GLOBAL_ERROR: 'CANVAS_GLOBAL_ERROR',\n\n\t/*-- canvas error modal actions --*/\n\tCANVAS_HIDE_ERROR_MODAL: 'CANVAS_HIDE_ERROR_MODAL',\n};\n\n/**\n * Handler if Session is SSO/Remember me case, default is false\n * @type {boolean}\n */\nlet isWindowOverride = false;\n\n/**\n * Function to determine if the user session is SSO or Remember me.  When the user has a valid session and is a\n * Remember_me or SSO enabled the additional property 'glide.amb.login.window.override' is added to the meta/connect\n * message.  When this property is true the users should not be shown the session extend modal and page should not\n * autoRedirect/refresh.  Instead, the user should be taken to the configured login page or modal.\n * @param{Object} ext - object from the amb meta/connect message\n * @returns {boolean}\n */\nexport const getWindowOverrideValue = (ext) => {\n\tif (\n\t\t!_isEmpty(ext) &&\n\t\text['glide.amb.login.window.override'] !== undefined\n\t) {\n\t\t//only if 'glide.amb.login.window.override' is present should we check the value\n\t\treturn (\n\t\t\text['glide.amb.login.window.override'] === true ||\n\t\t\text['glide.amb.login.window.override'] === 'true'\n\t\t);\n\t}\n\treturn false;\n};\n\n/**\n * Need to retrieve the value glide.ui.session.no.timeout.modal from the window object.\n * when value is true then the timeout modal will not be shown overriding the default behavior.\n * @returns {boolean}\n */\nexport const isShowTimeoutModalOverride = () => {\n\tconst noTimeoutModal = get(\n\t\twindow,\n\t\t'ux_globals.sysprops[\"glide.ui.session.no.timeout.modal\"]',\n\t\tfalse,\n\t);\n\n\treturn noTimeoutModal === true || noTimeoutModal === 'true';\n};\n\n/**\n * Handler for Session Logged In\n *\n * @method handleSessionLoggedIn\n * @param state\n * @param action\n * @param dispatch\n */\nexport const handleSessionLoggedIn = ({ state, action, dispatch }) => {\n\t// Intended to be called after being logged in via the login modal\n\tconst behaviorState = state.behaviors[AMB_STATUS_BEHAVIOR];\n\tconst payload = {\n\t\tisAuthTokenActive: behaviorState.isAuthTokenActive,\n\t\tisSessionLoggedIn: true,\n\t};\n\tconst { token } = action.payload || {};\n\n\t// Making this check ensures that the canvas error modal stays open long enough to retrieve the new g_ck.\n\tif (!behaviorState.isAuthTokenActive && typeof token === 'string') {\n\t\tresetAuthToken(token);\n\t\tpayload.isAuthTokenActive = true;\n\n\t\t// Doing this because we can't seem to re-establish a valid connection once it's lost.\n\t\t// So, we'll just ignore invalidated messages after the first one fires\n\t\tambClientProxy.unsubscribeFromAction(\n\t\t\tACTION_TYPES.AMB_EVENT_SESSION_INVALIDATED,\n\t\t);\n\t}\n\tdispatch(ACTION_TYPES.AMB_STATUS_SET, payload);\n\tdispatch(ACTION_TYPES.CANVAS_HIDE_ERROR_MODAL, {\n\t\tshowError: false,\n\t\terrorConfig: {},\n\t});\n};\n\n/**\n * Handler for Session Logged Out\n *\n * @method handleSessionLoggedOut\n * @param coeffects\n */\nexport const handleSessionLoggedOut = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties: { canvasSession },\n\t} = coeffects;\n\n\tconst { sessionLoggedIn = false, isLoggedIn = false } = canvasSession;\n\n\tif (sessionLoggedIn && isLoggedIn) {\n\t\tdispatch(SESSION_LOGGED_OUT, {});\n\n\t\t// check if the session timeout modal should be hidden\n\t\tif (autoRedirectLogout(isWindowOverride)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tdispatch(ACTION_TYPES.AMB_STATUS_SET, {\n\t\t\tisAuthTokenActive: false,\n\t\t\tisSessionLoggedIn: false,\n\t\t});\n\n\t\tif (isShowTimeoutModalOverride()) return false; //don't show the modal if the override is true\n\n\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, {\n\t\t\t...payload,\n\t\t\ttype: ACTION_TYPES.AMB_EVENT_SESSION_LOGGED_OUT,\n\t\t\tisAuthTokenActive: false,\n\t\t\tisSessionLoggedIn: false,\n\t\t});\n\t}\n};\n\n/**\n * Handler for Session Invalidated\n * @method handleSessionInvalidated\n * @param coeffects\n */\nexport const handleSessionInvalidated = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties: { canvasSession },\n\t} = coeffects;\n\n\tconst { sessionLoggedIn = false, isLoggedIn = false } = canvasSession;\n\tconst forgetMe = get(canvasSession, 'properties.forgetMe.value');\n\n\tif (sessionLoggedIn && isLoggedIn && forgetMe !== 'false') {\n\t\tdispatch(SESSION_LOGGED_OUT, {});\n\n\t\t// check if the session timeout modal should be hidden\n\t\tif (autoRedirectLogout(isWindowOverride)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tdispatch(ACTION_TYPES.AMB_STATUS_SET, {\n\t\t\tisAuthTokenActive: false,\n\t\t\tisSessionLoggedIn: false,\n\t\t});\n\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, {\n\t\t\t...payload,\n\t\t\ttype: ACTION_TYPES.AMB_EVENT_SESSION_INVALIDATED,\n\t\t\tisAuthTokenActive: false,\n\t\t\tisSessionLoggedIn: false,\n\t\t});\n\t}\n};\n\nexport const setAMBStatus = ({\n\tstate,\n\tproperties: { canvasSession },\n\taction,\n\tupdateState,\n\tupdateProperties,\n}) => {\n\tconst { isAuthTokenActive, isSessionLoggedIn } = action.payload || {};\n\tconst sessionLoggedIn = isAuthTokenActive && isSessionLoggedIn;\n\n\tif (canvasSession.sessionLoggedIn !== sessionLoggedIn) {\n\t\tconst updatedSession = {\n\t\t\t...canvasSession,\n\t\t\tsessionLoggedIn,\n\t\t\tisLoggedIn: sessionLoggedIn,\n\t\t};\n\n\t\tupdateProperties(() => ({\n\t\t\tpath: 'canvasSession',\n\t\t\tvalue: updatedSession,\n\t\t\toperation: 'assign',\n\t\t}));\n\t}\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: `behaviors[${AMB_STATUS_BEHAVIOR}]`,\n\t\tvalue: {\n\t\t\t...state.behaviors[AMB_STATUS_BEHAVIOR],\n\t\t\tisAuthTokenActive,\n\t\t\tisSessionLoggedIn,\n\t\t},\n\t});\n};\n\nexport const handleAmbMetaConnectMessageReceived = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tproperties: { canvasSession },\n\t\tdispatch,\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst ambSessionLogoutValue =\n\t\tcanvasSession?.properties?.ambSessionLogout ?? 'true';\n\tconst isAmbSessionLogout =\n\t\tambSessionLogoutValue === 'true' || ambSessionLogoutValue === true; //coerce value to boolean\n\tif (!isAmbSessionLogout) {\n\t\t//touch session alive when value is false\n\t\tdispatch('CANVAS_SESSION_EXTENDED');\n\t\treturn;\n\t}\n\n\tif (isKarunaMode()) {\n\t\treturn;\n\t}\n\n\tconst { message } = action.payload;\n\tconst { ext } = message;\n\tisWindowOverride = getWindowOverrideValue(ext); //set the window override value\n\tconst ssoShowModal = ssoShowModalOverride();\n\n\tif (\n\t\t!_isEmpty(ext) &&\n\t\text['glide.session.status'] === 'session.logged.in' &&\n\t\t(!isWindowOverride || ssoShowModal) //only show the session extension when the window override is false\n\t) {\n\t\t// Active session management\n\t\tconst ambStatusBehaviorState = state.behaviors[AMB_STATUS_BEHAVIOR];\n\t\tif (ambStatusBehaviorState.isActiveSessionExpiringShown) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst activeSessionTimeleft =\n\t\t\tcanvasSession?.properties?.activeSessionTimeleft?.value ?? 0;\n\n\t\tif (activeSessionTimeleft) {\n\t\t\tconst activeSessionTimeRemainingInSeconds =\n\t\t\t\text['glide.active.session.time.remaining.in.seconds'];\n\t\t\tif (\n\t\t\t\tactiveSessionTimeRemainingInSeconds !== undefined &&\n\t\t\t\tparseInt(activeSessionTimeRemainingInSeconds, 10) <=\n\t\t\t\t\tparseInt(activeSessionTimeleft, 10) * 60\n\t\t\t) {\n\t\t\t\t// Active session left time is less than 2 min, display session end message.\n\t\t\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, {\n\t\t\t\t\ttype: 'ACTIVE_SESSION_EXPIRING',\n\t\t\t\t});\n\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: `behaviors[${AMB_STATUS_BEHAVIOR}]`,\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\t...ambStatusBehaviorState,\n\t\t\t\t\t\tisActiveSessionExpiringShown: true,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Inactive session management\n\t\tconst sessionTimeleft =\n\t\t\tcanvasSession?.properties?.sessionTimeleft?.value ?? 0;\n\n\t\tif (sessionTimeleft) {\n\t\t\tconst sessionTimeleftInSeconds = parseInt(sessionTimeleft, 10) * 60;\n\t\t\tconst inactiveSessionTimeRemainingInSeconds = parseInt(\n\t\t\t\text['glide.session.time.remaining.in.seconds'],\n\t\t\t\t10,\n\t\t\t);\n\t\t\tif (\n\t\t\t\tinactiveSessionTimeRemainingInSeconds <=\n\t\t\t\tsessionTimeleftInSeconds\n\t\t\t) {\n\t\t\t\t//On 2 minutes left, display the session extension\n\t\t\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, {\n\t\t\t\t\ttype: 'SESSION_EXTENDED',\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst {\n\t\t\t\t\tshowError: showErrorProp,\n\t\t\t\t\terrorConfig: errorConfigProp,\n\t\t\t\t} = host.getResolvedProperties();\n\t\t\t\tif (showErrorProp === true && !_isEmpty(errorConfigProp)) {\n\t\t\t\t\tdispatch(ACTION_TYPES.CANVAS_HIDE_ERROR_MODAL, {\n\t\t\t\t\t\tshowError: false,\n\t\t\t\t\t\terrorConfig: {},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * @method onConnect\n * @param coeffects\n */\nexport const onConnect = (coeffects) => {\n\tconst {\n\t\tstate,\n\t\tdispatch,\n\t\tproperties: { canvasSession },\n\t\tupdateState,\n\t\tupdateProperties,\n\t} = coeffects;\n\n\tconst isLoggedIn = get(canvasSession, 'isLoggedIn', false);\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: `behaviors[${AMB_STATUS_BEHAVIOR}]`,\n\t\tvalue: {\n\t\t\t...state.behaviors[AMB_STATUS_BEHAVIOR],\n\t\t\tisSessionLoggedIn: isLoggedIn,\n\t\t},\n\t});\n\n\tconst updatedSession = {\n\t\t...canvasSession,\n\t\tsessionLoggedIn: isLoggedIn,\n\t};\n\n\tupdateProperties(() => ({\n\t\tpath: 'canvasSession',\n\t\tvalue: updatedSession,\n\t\toperation: 'assign',\n\t}));\n\n\tif (ambClientProxy) {\n\t\tambClientProxy.dispatchOnEvent(\n\t\t\tACTION_TYPES.AMB_EVENT_SESSION_LOGGED_IN,\n\t\t\tdispatch,\n\t\t);\n\t\tambClientProxy.dispatchOnEvent(\n\t\t\tACTION_TYPES.AMB_EVENT_SESSION_LOGGED_OUT,\n\t\t\tdispatch,\n\t\t);\n\t\tambClientProxy.dispatchOnEvent(\n\t\t\tACTION_TYPES.AMB_EVENT_SESSION_INVALIDATED,\n\t\t\tdispatch,\n\t\t);\n\n\t\tconst isGckValid = typeof window.g_ck === 'string';\n\t\tdispatch(ACTION_TYPES.AMB_STATUS_SET, {\n\t\t\tisAuthTokenActive: isGckValid,\n\t\t\tisSessionLoggedIn: isLoggedIn,\n\t\t});\n\n\t\tambClientProxy.client\n\t\t\t.getChannel('/meta/connect')\n\t\t\t.subscribe((message) => {\n\t\t\t\tdispatch(ACTION_TYPES.AMB_META_CONNECT_MESSAGE_RECEIVED, {\n\t\t\t\t\tmessage,\n\t\t\t\t});\n\t\t\t});\n\t}\n};\n\n/**\n * @method onDisconnect\n */\nexport const onDisconnect = () => {\n\tif (ambClientProxy) {\n\t\tambClientProxy.unsubscribeFromActions();\n\t}\n};\n\nconst effectHandlers = {\n\thandleSessionLoggedIn,\n\thandleSessionLoggedOut,\n\thandleSessionInvalidated,\n\thandleAmbMetaConnectMessageReceived,\n\tsetAMBStatus,\n\tonConnect,\n\tonDisconnect,\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n};\n","import { get } from 'lodash';\n\n/**\n *   Due to the nature of the SSO/Remember me case, UXR may want to show the time left/out modals\n *   even if the user has an SSO/Remember me session.  This is controlled by the 'glide.ui.session.show_modals.override' property\n *   If this property is true, we should show the modals even if the user is SSO/Remember me. If it is false, we should not show the modals and fallback to the window override logic.\n * @returns {boolean}\n */\nconst ssoShowModalOverride = () => {\n\t//using lodash get due to issue with snowdash get can't parse the path\n\tconst ssoShowModals = get(\n\t\twindow,\n\t\t'ux_globals.sysprops[\"glide.ui.session.show_modals.override\"]',\n\t\tfalse,\n\t);\n\treturn (\n\t\tssoShowModals === true || String(ssoShowModals).toLowerCase() === 'true'\n\t);\n};\n\nexport { ssoShowModalOverride };\n","import { t } from 'sn-translate';\nimport { handleLogin, createModalConfigFactory } from './utils';\nimport ambStatusEffect from '../ambStatusBehavior/ambStatusEffect';\nimport { ERROR_MODAL_CONSTANTS } from './constants';\n\nconst { AMB_EVENT_SESSION_LOGGED_OUT, AMB_EVENT_SESSION_INVALIDATED } =\n\tambStatusEffect.ACTION_TYPES;\n\n/**\n * Ensures that the uesr's session is terminated and the user is redirected to the login page.\n * Executed by the `onClose` handler of some errorModalConfig objects.\n * @param {Object} coeffects the coeffects object\n * @param {Function} coeffects.dispatch\n */\nexport const handleLogoutRedirect = ({ dispatch }) => {\n\tdispatch(AMB_EVENT_SESSION_INVALIDATED);\n\tdispatch(AMB_EVENT_SESSION_LOGGED_OUT);\n\twindow.location.reload();\n};\n\nexport const errorModalConfig = {\n\tDEFAULT: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.DEFAULT),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.DEFAULT),\n\t}),\n\n\tONLINE: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.ONLINE),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.ONLINE),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.CLOSE),\n\t\t\t\taction: () => () => {},\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: 'secondary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.REFRESH),\n\t\t\t\taction: () => () => window.document.location.reload(),\n\t\t\t},\n\t\t],\n\t}),\n\n\tOFFLINE: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.OFFLINE),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.OFFLINE),\n\t}),\n\n\t401: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.SESSION_EXPIRED),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.SESSION_EXPIRED),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.LOGIN),\n\t\t\t\taction: (dispatch, modal) => () => handleLogin(dispatch, modal),\n\t\t\t},\n\t\t],\n\t\tonClose: handleLogoutRedirect,\n\t\tapplyOverlayStyles: true,\n\t}),\n\n\tAMB_EVENT_SESSION_INVALIDATED: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.SESSION_EXPIRED),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.SESSION_EXPIRED),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.LOGIN),\n\t\t\t\taction: (dispatch, modal) => () => handleLogin(dispatch, modal),\n\t\t\t},\n\t\t],\n\t\tonClose: handleLogoutRedirect,\n\t\tapplyOverlayStyles: true,\n\t}),\n\n\tAMB_EVENT_SESSION_LOGGED_OUT: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.SESSION_LOGGED_OUT),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.SESSION_EXPIRED),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.LOGIN),\n\t\t\t\taction: (dispatch, modal) => () => handleLogin(dispatch, modal),\n\t\t\t},\n\t\t],\n\t\tonClose: handleLogoutRedirect,\n\t\tapplyOverlayStyles: true,\n\t}),\n\n\tSESSION_EXTENDED: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.SESSION_EXTENDED),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.SESSION_EXTENDED),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.EXTEND_SESSION),\n\t\t\t\taction: (dispatch) => () => dispatch('CANVAS_SESSION_EXTENDED'),\n\t\t\t},\n\t\t],\n\t}),\n\n\tACTIVE_SESSION_EXPIRING: createModalConfigFactory({\n\t\theaderLabel: t(ERROR_MODAL_CONSTANTS.HEADERS.SESSION_TIMEOUT),\n\t\tcontent: t(ERROR_MODAL_CONSTANTS.CONTENTS.SESSION_TIMEOUT),\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: t(ERROR_MODAL_CONSTANTS.ACTIONS.OK),\n\t\t\t\taction: () => () => {},\n\t\t\t},\n\t\t],\n\t}),\n};\n","import { errorModalConfig } from './errorModalConfig';\nimport { has as _has, isFunction, get } from 'lodash';\nimport { autoRedirectLogout } from '../utils/autoRedirectLogout';\nimport { t } from 'sn-translate';\n\n/**\n * canvas error action types\n *\n * @type {\n *   {\n *      CANVAS_GLOBAL_ERROR: string,\n *      CANVAS_SHOW_ERROR_MODAL: string,\n *      CANVAS_HIDE_ERROR_MODAL: string,\n *   }\n * }\n * @const\n */\nconst ACTION_TYPES = {\n\t/* canvas actions */\n\tCANVAS_GLOBAL_ERROR: 'CANVAS_GLOBAL_ERROR',\n\tCANVAS_SHOW_ERROR_MODAL: 'CANVAS_SHOW_ERROR_MODAL',\n\tCANVAS_HIDE_ERROR_MODAL: 'CANVAS_HIDE_ERROR_MODAL',\n\tCANVAS_SESSION_EXTENDED: 'CANVAS_SESSION_EXTENDED',\n};\n\n/**\n * Hides the canvas error modal by updating the canvas error properties.\n *\n * @param {Object} coeffects - The coeffects object.\n * @param {Object} coeffects.action - The action object.\n * @param {Object} coeffects.action.payload - The payload object.\n * @param {Object} coeffects.action.payload.errorConfig - The error configuration.\n * @param {Function} coeffects.updateProperties - Function to update properties.\n * @param {Object} coeffects.properties - The properties object.\n */\nexport const hideCanvasErrorModalEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { errorConfig },\n\t\t},\n\t\tupdateProperties,\n\t\tproperties,\n\t} = coeffects;\n\tupdateProperties({ showError: false, errorConfig });\n\tconst onClose = get(properties, 'errorConfig.onClose');\n\tif (onClose && isFunction(onClose)) {\n\t\tonClose(coeffects);\n\t}\n};\n\n/**\n * Shows the canvas error modal by updating the canvas error properties.\n *\n * @param {Object} params - The parameters object.\n * @param {Object} params.action - The action object.\n * @param {Object} params.action.payload - The payload object.\n * @param {Object} params.action.payload.errorConfig - The error configuration.\n * @param {Function} params.updateProperties - Function to update properties.\n */\nexport const showCanvasErrorModalEffect = ({ action, updateProperties }) => {\n\tconst { errorConfig } = action.payload;\n\tupdateProperties({ showError: true, errorConfig });\n};\n\n/**\n * Handles the canvas global error by updating the canvas error properties.\n * Updating the showError property determines the visibility of the error modal.\n * \n * @param {Object} params - The parameters object.\n * @param {Object} params.action - The action object.\n * @param {Object} params.action.payload - The payload object.\n * @param {string} params.action.payload.type - The error type.\n * @param {Object} params.action.payload.data - The error data.\n * @param {Function} params.updateProperties - Function to update properties.\n * @returns {boolean} - Returns false modal is not shown. Returns true if modal is shown.\n\n */\nexport const handleCanvasGlobalErrorEffect = ({ action, updateProperties }) => {\n\tconst { type, data } = action.payload;\n\tif (!type || type === 403) return false;\n\tif (type == 401 && autoRedirectLogout()) return false;\n\tlet errorConfig = {};\n\tif (_has(errorModalConfig, type)) {\n\t\tlet content = data?.error && t(data.error.detail || data.error.message);\n\t\tcontent = content && content.trim() ? { content } : {};\n\t\terrorConfig = {\n\t\t\t...errorModalConfig.DEFAULT,\n\t\t\t...errorModalConfig[type],\n\t\t\t...content,\n\t\t};\n\t} else if (type === ACTION_TYPES.CANVAS_GLOBAL_ERROR) {\n\t\terrorConfig = { ...action.payload };\n\t} else {\n\t\tconsole.error(action?.payload);\n\t\treturn false;\n\t}\n\tupdateProperties({ showError: true, errorConfig });\n\treturn true;\n};\n\nconst effectHandlers = {\n\tshowCanvasErrorModalEffect,\n\thideCanvasErrorModalEffect,\n\thandleCanvasGlobalErrorEffect,\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import { actionTypes } from '@servicenow/ui-core';\nimport canvasErrorEffect from './canvasErrorEffect';\nimport { CONSTANTS } from './constants';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\n\nconst { TOUCH_SESSION_URL } = CONSTANTS.API;\n\nconst { CANVAS_ERROR_BEHAVIOR } = CONSTANTS;\n\nconst {\n\tCANVAS_GLOBAL_ERROR,\n\tCANVAS_HIDE_ERROR_MODAL,\n\tCANVAS_SHOW_ERROR_MODAL,\n\tCANVAS_SESSION_EXTENDED,\n} = canvasErrorEffect.ACTION_TYPES;\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst {\n\tshowCanvasErrorModalEffect,\n\thideCanvasErrorModalEffect,\n\thandleCanvasGlobalErrorEffect,\n} = canvasErrorEffect.effectHandlers;\n\n/**\n * ## Canvas Error Behavior\n * This behavior adds error handling capabilities and helps components\n * to intercept HTTP, AMB and other catastrophic errors messages to a modal.\n * It dynamically appends `<sn-canvas-error />` modal component to the associated component.\n *\n *\n * **Register behavior**\n *\n * Import the behavior at the top of your component JS file and register it\n * in your component behaviors list:\n *\n * ```js\n * import canvasErrorBehavior from './snCanvasErrorBehavior';\n *\n * createCustomElement('sn-canvas-layout', {\n *   ...\n *   behaviors: [canvasErrorBehavior]\n * });\n * ```\n *\n *\n * ## Error Types\n * ### GraphQL and REST Datasource Errors\n * The component will only intercept GraphQL and REST datasource errors that contain an HTTP status code\n * matching one of the properties defined in `errorModalConfig.js`, e.g. `401`, `500`, etc.\n *\n * A modal is displayed with the details defined in that file. Any missing\n * properties are replaced with those defined in the `default` error within the same file.\n *\n * HTTP result `403` is treated as a special case.  No modal is displayed for 403.\n * Instead, a message is displayed in the browser error console.\n *\n * ### AMB Events\n * The component will only intercept AMB Events matching one of the properties\n * defined in `errorModalConfig.js`, that begin with the prefix `AMB_EVENT_` e.g. `AMB_EVENT_SESSION_INVALIDATED`\n *\n * A modal is displayed with the details defined in that file. Any missing\n * properties are replaced with those defined in the `DEFAULT` error within the same file.\n *\n * ### Offline / Online Browser Changes\n * When the browser goes offline and online, the corresponding modal details defined in\n * `errorModalConfig.js` are used.\n *\n * ### Manual `CANVAS_GLOBAL_ERROR` dispatches\n * To trigger canvas global errors explicitly, you can dispatch a `CANVAS_GLOBAL_ERROR` action with a payload\n * corresponding to below object\n *\n * ```js\n  dispatch(\n    'CANVAS_GLOBAL_ERROR', \n    {\n        type: 'CANVAS_GLOBAL_ERROR',\n        headerLabel: payload.data.error.message || t('Cannot impersonate'),\n        content: payload.data.error.detail || t('The user you selected could not be impersonated.')\n        footerActions: [{ variant: 'primary', label: t('Say Hello'), action: () => alert('Hello') }],\n        hasActions: true\n    }\n  );\n * ```\n *\n * @seismicBehavior canvasErrorBehavior\n * @summary Canvas error handling mechanism to display errors to a modal component.\n */\nexport const canvasErrorBehavior = {\n\tname: CANVAS_ERROR_BEHAVIOR,\n\tproperties: {\n\t\telementRef: { default: null },\n\t\tshowError: { selectable: true, default: false },\n\t\terrorConfig: { selectable: true, default: {} },\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({ action: { payload }, updateProperties }) => {\n\t\t\tconst { host } = payload;\n\t\t\tupdateProperties({ elementRef: host });\n\t\t},\n\n\t\t[COMPONENT_DISCONNECTED]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ elementRef: null });\n\t\t},\n\n\t\t/* canvas global error action handlers */\n\t\t[CANVAS_GLOBAL_ERROR]: handleCanvasGlobalErrorEffect,\n\t\t[CANVAS_SHOW_ERROR_MODAL]: showCanvasErrorModalEffect,\n\t\t[CANVAS_HIDE_ERROR_MODAL]: hideCanvasErrorModalEffect,\n\t\t[CANVAS_SESSION_EXTENDED]: () =>\n\t\t\tcreateHttpEffect(TOUCH_SESSION_URL, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbatch: false,\n\t\t\t}),\n\t},\n};\n","export const loginConstants = {\n\tCANVAS_LOGIN_BEHAVIOR: 'CANVAS_LOGIN_BEHAVIOR',\n\tLOGIN_USER_ACTION_TAKEN: `LOGIN_USER_ACTION_TAKEN`,\n\tLOGIN_SUCCEEDED: 'LOGIN_SUCCEEDED',\n\tESIGNATURE_REAUTH_ROUTE: '/api/now/e_signature_approvals/login',\n\tESIGNATURE_REPLAY_ROUTE: '/api/now/e_signature_approvals/replay',\n\tCANVAS_LOGIN_USER: 'CANVAS#LOGIN_USER'\n};\n\nexport const messageTypes = {\n\tERROR: 'ERROR',\n\tINFO: 'INFO',\n};\n\nexport const SSO_LOGIN_METHODS = ['saml', 'oidc', 'multisso'];\n\nexport const FETCH_LOGIN_REDIRECT_URL = 'FETCH_LOGIN_REDIRECT_URL';\n\nexport const FETCH_LOGIN_REDIRECT_URL_FAILED =\n\t'FETCH_LOGIN_REDIRECT_URL_FAILED';\n\nexport const FETCH_LOGIN_REDIRECT_URL_SUCCESS =\n\t'FETCH_LOGIN_REDIRECT_URL_SUCCESS';\n\nexport const ESIG_LOGIN_CLICKED = 'ESIG_LOGIN_CLICKED';\n\nexport const SN_HTTP_REQUEST_E_SIGNATURE_REQUIRED_EVENT =\n\t'SN_HTTP_REQUEST_E_SIGNATURE_REQUIRED_EVENT';\n\nexport const LOGIN_MODAL_UI_STATE = 'LOGIN_MODAL_UI_STATE';\n\nexport const CANVAS_LOGIN_MODAL_CANCELLED = 'CANVAS_LOGIN_MODAL_CANCELLED';\n\nexport const SHOW_E_SIGNATURE_MODAL = 'SHOW_E_SIGNATURE_MODAL';\nexport const HIDE_E_SIGNATURE_MODAL = 'HIDE_E_SIGNATURE_MODAL';\n","import { messageTypes } from './constants';\n\n/**\n * Returns status required to show alert message based on message status code\n * @param msgStatusCode\n * @returns {string}\n */\nconst getAlertStatusNIcon = (msgType) => {\n\tlet status, icon;\n\n\tswitch (msgType) {\n\t\tcase messageTypes.ERROR:\n\t\t\tstatus = 'critical';\n\t\t\ticon = 'circle-close-outline';\n\t\t\tbreak;\n\t\tcase messageTypes.INFO:\n\t\tdefault:\n\t\t\tstatus = 'info';\n\t\t\ticon = 'bell-outline';\n\t\t\tbreak;\n\t}\n\n\treturn {\n\t\tstatus,\n\t\ticon,\n\t};\n};\n\n/**\n * Returns a single alert message config object\n * @param message\n * @param msgType\n * @param id\n * @returns {{icon: string, action: {type: string}, id: string, content: *, status: string}}\n */\nexport const getAlertMsgConfig = (message, msgType, id) => {\n\tconst alertConfig = getAlertStatusNIcon(msgType);\n\treturn {\n\t\tstatus: alertConfig.status,\n\t\ticon: alertConfig.icon,\n\t\tcontent: message,\n\t\taction: {\n\t\t\ttype: 'dismiss',\n\t\t\tid: id || `now-login-alert-${parseInt(Math.random() * 100)}`,\n\t\t},\n\t};\n};\n\n","import { getAlertMsgConfig } from './utils';\nimport { messageTypes } from './constants';\nimport { t } from 'sn-translate';\n\n/**\n * canvas error action types\n * @typedef {Object} ActionTypes\n * @property {string} CANVAS_SHOW_LOGIN_MODAL\n * @property {string} CANVAS_HIDE_LOGIN_MODAL\n * @property {string} CANVAS_LOGIN_AUTHENTICATE_USER\n */\nconst ACTION_TYPES = {\n\tCANVAS_SHOW_LOGIN_MODAL: 'CANVAS_SHOW_LOGIN_MODAL',\n\tCANVAS_HIDE_LOGIN_MODAL: 'CANVAS_HIDE_LOGIN_MODAL',\n\tCANVAS_LOGIN_AUTHENTICATE_USER: 'CANVAS_LOGIN_AUTHENTICATE_USER',\n\tHTTP_EFFECT_E_SIGNATURE_REQUIRED: 'HTTP_EFFECT_E_SIGNATURE_REQUIRED',\n\tCANVAS_LOGIN_USER: 'CANVAS#LOGIN_USER',\n\tCANVAS_LOGIN_USER_SUCCEEDED: 'CANVAS#LOGIN_USER_SUCCEEDED',\n\tCANVAS_LOGIN_USER_FAILED: 'CANVAS#LOGIN_USER_FAILED',\n};\n\nconst effectHandlers = {\n\thideCanvasLoginModal: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { loginConfig = {} },\n\t\t\t\t},\n\t\t\t\tupdateProperties,\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\t\t\t\n\t\t\t// Update properties for this component\n\t\t\tupdateProperties({\n\t\t\t\tshowLogin: false,\n\t\t\t\tloginConfig: { ...loginConfig, _reopenKey: Date.now() },\n\t\t\t});\n\t\t\t\n\t\t\t// Notify parent components that e-signature is cancelled/completed\n\t\t\tdispatch('E_SIGNATURE_CANCELLED', {}, { bubbles: true, composed: true });\n\t\t},\n\t},\n\tshowCanvasLoginModal: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { loginConfig },\n\t\t\t},\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\t// DOM management is handled by the appshell listening for SN_HTTP_REQUEST_E_SIGNATURE_REQUIRED_EVENT\n\t\t\t\n\t\t\t// Update properties for this component\n\t\t\tupdateProperties({\n\t\t\t\tshowLogin: true,\n\t\t\t\tisLoading: false,\n\t\t\t\tmessages: [],\n\t\t\t\tloginConfig: { ...loginConfig, _reopenKey: Date.now() },\n\t\t\t});\n\t\t},\n\t},\n};\n\nexport const loginUserSucceeded = ({\n\taction,\n\tstate,\n\tupdateProperties,\n\tdispatch\n}) => {\n\tconst status = action.meta?.status;\n\tconst loginConfig = state?.properties?.loginConfig || {};\n\t// For SSO flow, callbacks may be stored in window.reauthPopupWindow instead of loginConfig\n\tlet { resolve, reject } = loginConfig;\n\tif (!resolve && window.reauthPopupWindow?.resolve) {\n\t\tresolve = window.reauthPopupWindow.resolve;\n\t\treject = window.reauthPopupWindow.reject;\n\t}\n\tconst response = action.payload?.result || {};\n\tif (status !== 200) {\n\t\treturn;\n\t}\n\t\n\t// Update component properties\n\t// Note: Validation state is automatically cleared when modal reopens\n\t// via the SHOW_E_SIGNATURE_MODAL handler in the login component\n\tupdateProperties({\n\t\tshowLogin: false,\n\t\tloginConfig: { ...loginConfig, _reopenKey: Date.now() },\n\t\tisLoading: false,\n\t\tmessages: [],\n\t});\n\n\t// Modal cleanup is handled by the appshell listening for modal close events\n\n\tif (resolve) {\n\t\tconst data = {\n\t\t\tdata: {\n\t\t\t\tresult: response?.result || {}\n\t\t\t}\n\t\t};\n\t\tresolve(data);\n\t\t// Clean up SSO callbacks after use\n\t\tif (window.reauthPopupWindow) {\n\t\t\tdelete window.reauthPopupWindow.transactionId;\n\t\t\tdelete window.reauthPopupWindow.resolve;\n\t\t\tdelete window.reauthPopupWindow.reject;\n\t\t}\n\t}\n};\n\nexport const loginUserFailed = ({ action, updateProperties, state, dispatch }) => {\n\tlet errorMessage = '';\n\tif (action.payload?.data?.error?.message) {\n\t\terrorMessage = action.payload.data.error.message;\n\t} else {\n\t\terrorMessage = action?.payload?.message || t('Authentication failed');\n\t}\n\tconst message = errorMessage.includes('execution time exceeded') ? t('Transaction timeout. Please try again.') : errorMessage;\n\tconst alertMessage = getAlertMsgConfig(\n\t\tmessage,\n\t\tmessageTypes.ERROR,\n\t\t'now-login-1',\n\t);\n\n\t// For SSO flow, reject the promise since there's no modal to show the error\n\tif (window.reauthPopupWindow?.reject) {\n\t\tconst reject = window.reauthPopupWindow.reject;\n\t\treject({\n\t\t\tresponse: {\n\t\t\t\tdata: {\n\t\t\t\t\terror: {\n\t\t\t\t\t\tmessage: errorMessage,\n\t\t\t\t\t\tstatus: 'failure'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t// Clean up SSO callbacks after use\n\t\tdelete window.reauthPopupWindow.transactionId;\n\t\tdelete window.reauthPopupWindow.resolve;\n\t\tdelete window.reauthPopupWindow.reject;\n\t\treturn;\n\t}\n\n\t// Update component properties (for password flow with modal)\n\tupdateProperties({\n\t\tisLoading: false,\n\t\tmessages: [\n\t\t\talertMessage,\n\t\t],\n\t});\n\t\n\t// Modal cleanup is handled by the appshell listening for modal close events\n};\n\n\nexport const handleLoginModalCancelled = ({ state, dispatch }) => {\n\ttry {\n\t\tconst loginConfig = state?.properties?.loginConfig || {};\n\t\tconst { reject } = loginConfig;\n\n\t\t// Modal cleanup is handled by the appshell listening for modal close events\n\t\t// Note: Validation state is automatically cleared when modal reopens\n\t\t// via the SHOW_E_SIGNATURE_MODAL handler in the login component\n\t\t\n\t\tif (reject) {\n\t\t\treject({\n\t\t\t\tresponse: {\n\t\t\t\t\tdata: {\n\t\t\t\t\t\terror: {\n\t\t\t\t\t\t\tmessage: t('User cancelled e-signature'),\n\t\t\t\t\t\t\tstatus: \"failure\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} catch (error) {\n\t\tconsole.error('Error in handling login modal cancelled', error);\n\t}\n\treturn {};\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n\tloginUserSucceeded,\n\tloginUserFailed,\n\thandleLoginModalCancelled,\n};\n","import canvasLoginEffect from './canvasLoginEffect';\nimport { t } from 'sn-translate';\n\nconst { CANVAS_SHOW_LOGIN_MODAL } = canvasLoginEffect.ACTION_TYPES;\n\nimport {\n\tSSO_LOGIN_METHODS,\n\tFETCH_LOGIN_REDIRECT_URL,\n\tESIG_LOGIN_CLICKED,\n} from './constants';\n\nwindow.reauthPopupWindow = {\n\twindowHeight: null,\n\twindowWidth: null,\n\tloginURL: null,\n\tesignOW: null,\n};\n\nwindow.evaluateRedirect = msg => {\n\tif (window.reauthPopupWindow.esignOW) {\n\t\twindow.reauthPopupWindow.esignOW.close();\n\t}\n\tif (msg === 'oidc login complete' || msg === 'saml2 login complete') {\n\t\twindow.onReauthenticationComplete(msg);\n\t}\n};\n\nwindow.authenticate = () => {\n\tif (window.reauthPopupWindow.loginURL) {\n\t\topenEsignatureWindow(window.reauthPopupWindow.loginURL);\n\t}\n};\n\nwindow.onReauthenticationComplete = msg => {\n\t// Handle the callback\n\twindow.reauthPopupWindow.callback(msg);\n\t\n\t// If there's a dispatch method available, notify that e-signature is completed\n\tif (window.reauthPopupWindow.dispatch) {\n\t\twindow.reauthPopupWindow.dispatch('E_SIGNATURE_COMPLETED', {});\n\t}\n};\n\nexport const processSuccessResponse = (data, callback, dispatch) => {\n\twindow.reauthPopupWindow.windowHeight = data.popup_window_height;\n\twindow.reauthPopupWindow.windowWidth = data.popup_window_width;\n\twindow.reauthPopupWindow.loginURL = data.loginURL;\n\twindow.reauthPopupWindow.callback = callback;\n\twindow.reauthPopupWindow.dispatch = dispatch; // Store dispatch for later use\n\t\n\tif (window?.NOW?.esigWin) {\n\t\twindow.reauthPopupWindow.esignOW = window.NOW.esigWin;\n\t}\n\tif (data.logoutFirst === 'true') {\n\t\topenEsignatureWindow(data.logoutURL);\n\t} else {\n\t\twindow.authenticate();\n\t}\n}\n\nconst openEsignatureWindow = (url) => {\n\tconst win = window.reauthPopupWindow.esignOW;\n\tif (win && !win.closed) {\n\t\twin.location.href = url;\n\t\tif (typeof win.focus === 'function') win.focus();\n\t} else {\n\t\twindow.reauthPopupWindow.esignOW = window.open(\n\t\t\turl,\n\t\t\t'esignatureAuthentication',\n\t\t\t`height=${window.reauthPopupWindow.windowHeight},width=${window.reauthPopupWindow.windowWidth},top=100,left=100,toolbar=0,location=0,menubar=0`,\n\t\t);\n\t\tif (\n\t\t\twindow.reauthPopupWindow.esignOW &&\n\t\t\ttypeof window.reauthPopupWindow.esignOW.focus === 'function'\n\t\t) {\n\t\t\twindow.reauthPopupWindow.esignOW.focus();\n\t\t}\n\t}\n}\n\nexport const initiateESignature = ({ dispatch, action: { payload }, host }) => {\n\tconst {\n\t\ttransactionId = '',\n\t\tresolve,\n\t\treject\n\t} = payload;\n\ttry {\n\t\t// Note: DOM management happens in response to SN_HTTP_REQUEST_E_SIGNATURE_REQUIRED_EVENT\n\t\t// which is dispatched before this function is called\n\n\t\tconst isSSOEnabled = SSO_LOGIN_METHODS.includes(\n\t\t\twindow.ux_globals?.loginMethod,\n\t\t);\n\t\tif (isSSOEnabled) {\n\t\t\t// Store transactionId, resolve and reject callbacks for SSO flow\n\t\t\twindow.reauthPopupWindow = window.reauthPopupWindow || {};\n\t\t\twindow.reauthPopupWindow.transactionId = transactionId;\n\t\t\twindow.reauthPopupWindow.resolve = resolve;\n\t\t\twindow.reauthPopupWindow.reject = reject;\n\t\t\t\n\t\t\tconst formParamsJson = {\n\t\t\t\tsysparm_scope: 'global',\n\t\t\t\tsysparm_processor: 'ESignatureAuthUtils',\n\t\t\t\tsysparm_name: 'fetchAuthDetails',\n\t\t\t};\n\t\t\tconst formBody = new URLSearchParams(formParamsJson).toString();\n\t\t\tdispatch(FETCH_LOGIN_REDIRECT_URL, {\n\t\t\t\tdata: formBody,\n\t\t\t});\n\t\t} else {\n\t\t\tconst loginConfig = {\n\t\t\t\theaderLabel: t('Approver Authentication'),\n\t\t\t\ttransactionId,\n\t\t\t\tresolve,\n\t\t\t\treject,\n\t\t\t\tfooterActions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tlabel: t('Authenticate'),\n\t\t\t\t\t\taction: (transactionId) => {\n\t\t\t\t\t\t\tdispatch(ESIG_LOGIN_CLICKED, {\n\t\t\t\t\t\t\t\ttransactionId,\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],\n\t\t\t};\n\t\t\tdispatch(CANVAS_SHOW_LOGIN_MODAL, { loginConfig });\n\t\t}\n\t} catch (error) {\n\t\t// Modal cleanup happens via event handlers in the appshell\n\t\tthrow error;\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"XMLParser\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__.__esModule\n\t\t\t\t\tif (cjsModule && 'XMLParser' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"].XMLParser;\n\t\t\t\t\t} else if ('XMLParser' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__.XMLParser || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_0_6_index_jsdbx_00afc3d1__[\"default\"].XMLParser;\n\t\t\t\t} });","import { actionTypes } from '@servicenow/ui-core';\nimport canvasLoginEffect from './canvasLoginEffect';\nimport { processSuccessResponse } from './eSignatureUtils.js';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { loginConstants, FETCH_LOGIN_REDIRECT_URL, FETCH_LOGIN_REDIRECT_URL_SUCCESS, FETCH_LOGIN_REDIRECT_URL_FAILED, SN_HTTP_REQUEST_E_SIGNATURE_REQUIRED_EVENT, LOGIN_MODAL_UI_STATE, CANVAS_LOGIN_MODAL_CANCELLED, SHOW_E_SIGNATURE_MODAL, HIDE_E_SIGNATURE_MODAL } from './constants';\nimport { initiateESignature } from './eSignatureUtils.js';\nimport { setUpLoginHandler } from 'sn-canvas-common';\nimport { XMLParser } from 'fast-xml-parser';\n\nconst handleCanvasLoginUserSSO = (transactionId, dispatch) => () => {\n\tdispatch(CANVAS_LOGIN_USER, {\n\t\tdata: {\n\t\t\ttransactionId,\n\t\t\ttype: 'sso'\n\t\t}\n\t});\n};\n\nconst {\n\tCANVAS_LOGIN_BEHAVIOR,\n\tESIGNATURE_REPLAY_ROUTE\n} = loginConstants;\n\nconst {\n\tCANVAS_SHOW_LOGIN_MODAL,\n\tCANVAS_HIDE_LOGIN_MODAL,\n\tCANVAS_LOGIN_USER,\n\tCANVAS_LOGIN_USER_SUCCEEDED,\n\tCANVAS_LOGIN_USER_FAILED,\n} = canvasLoginEffect.ACTION_TYPES;\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\nconst { hideCanvasLoginModal, showCanvasLoginModal } =\n\tcanvasLoginEffect.effectHandlers;\n\nexport const canvasLoginBehavior = {\n\tname: CANVAS_LOGIN_BEHAVIOR,\n\tproperties: {\n\t\telementRef: { default: null },\n\t\tshowLogin: { selectable: true, default: false },\n\t\tloginConfig: { selectable: true, default: {} },\n\t\tisLoading: { selectable: true, default: false },\n\t\tmessages: { selectable: true, default: [] },\n\t\tshowESignatureModal: { selectable: true, default: false }, // Controls DOM presence of modal\n\t},\n\tactionHandlers: {\n\t\t// Action handlers for modal visibility\n\t\t[SHOW_E_SIGNATURE_MODAL]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ showESignatureModal: true });\n\t\t},\n\t\t[HIDE_E_SIGNATURE_MODAL]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ showESignatureModal: false });\n\t\t},\n\t\t\n\t\t[COMPONENT_CONNECTED]: ({ action: { payload }, updateProperties }) => {\n\t\t\tconst { host } = payload;\n\t\t\t\n\t\t\t// Explicitly ensure modal is hidden on component connection\n\t\t\tupdateProperties({ \n\t\t\t\telementRef: host,\n\t\t\t\tshowESignatureModal: false \n\t\t\t});\n\t\t},\n\n\t\t[COMPONENT_DISCONNECTED]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ elementRef: null });\n\t\t},\n\n\t\t[CANVAS_SHOW_LOGIN_MODAL]: showCanvasLoginModal,\n\t\t[CANVAS_HIDE_LOGIN_MODAL]: hideCanvasLoginModal,\n\n\t\t// Handle modal cancellation by user\n\t\t[CANVAS_LOGIN_MODAL_CANCELLED]: ({ state, dispatch, updateProperties }) => {\n\t\t// Let the layout know to hide the modal\n\t\tdispatch(HIDE_E_SIGNATURE_MODAL);\n\t\t// Call the original handler\n\t\treturn canvasLoginEffect.handleLoginModalCancelled({ state, dispatch });\n\t},\n\n\t\t// Unified handler for modal UI state\n\t\t[LOGIN_MODAL_UI_STATE]: ({ action, updateProperties }) => {\n\t\t\tconst { isLoading, messages } = action.payload;\n\t\t\tconst propsToUpdate = {};\n\t\t\tif (typeof isLoading !== 'undefined') propsToUpdate.isLoading = isLoading;\n\t\t\tif (typeof messages !== 'undefined') propsToUpdate.messages = messages;\n\t\t\tupdateProperties(propsToUpdate);\n\t\t},\n\t\t// when user enters username/password and clicks login this handler is invoked.\n\t\t[CANVAS_LOGIN_USER]: createHttpEffect(ESIGNATURE_REPLAY_ROUTE, {\n\t\t\tmethod: 'POST',\n\t\t\tbatch: false,\n\t\t\tdataParam: ['data'],\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json'\n\t\t\t},\n\t\t\tsuccessActionType: canvasLoginEffect.ACTION_TYPES.CANVAS_LOGIN_USER_SUCCEEDED,\n\t\t\terrorActionType: canvasLoginEffect.ACTION_TYPES.CANVAS_LOGIN_USER_FAILED\n\t\t}),\n\t\t[CANVAS_LOGIN_USER_SUCCEEDED]: canvasLoginEffect.loginUserSucceeded,\n\t\t[CANVAS_LOGIN_USER_FAILED]: canvasLoginEffect.loginUserFailed,\n\t\t[FETCH_LOGIN_REDIRECT_URL]: createHttpEffect('/xmlhttp.do', {\n\t\t\tmethod: 'POST',\n\t\t\tdataParam: ['data'],\n\t\t\theaders: {\n\t\t\t\t'Content-Type':\n\t\t\t\t\t'application/x-www-form-urlencoded; charset=UTF-8',\n\t\t\t},\n\t\t\tbatch: false,\n\t\t\tsuccessActionType: FETCH_LOGIN_REDIRECT_URL_SUCCESS,\n\t\t\terrorActionType: FETCH_LOGIN_REDIRECT_URL_FAILED,\n\t\t}),\n\t\t[FETCH_LOGIN_REDIRECT_URL_SUCCESS]: (response) => {\n\t\t\tconst { action = {}, dispatch } = response;\n\t\t\tconst { payload = {} } = action;\n\t\t\t// Use the transactionId stored in window.reauthPopupWindow instead of response headers\n\t\t\tconst transactionId = window.reauthPopupWindow?.transactionId || '';\n\t\t\tconst parser = new XMLParser({\n\t\t\t\tignoreAttributes: false,\n\t\t\t\tparseAttributeValue: true,\n\t\t\t\tattributeNamePrefix: '',\n\t\t\t\tignoreDeclaration: true,\n\t\t\t});\n\t\t\tconst json = parser.parse(payload);\n\t\t\treturn processSuccessResponse(\n\t\t\t\tjson?.xml?.result || {},\n\t\t\t\thandleCanvasLoginUserSSO(transactionId, dispatch),\n\t\t\t\tdispatch  // Pass the dispatch function to processSuccessResponse\n\t\t\t);\n\t\t},\n\t\t[FETCH_LOGIN_REDIRECT_URL_FAILED]: canvasLoginEffect.loginUserFailed\n\t},\n\teventHandlers: [{\n\t\tevents: [SN_HTTP_REQUEST_E_SIGNATURE_REQUIRED_EVENT],\n\t\teffect: async ({\n\t\t\taction: {\n\t\t\t\tpayload\n\t\t\t},\n\t\t\thost,\n\t\t\tdispatch\n\t\t}) => {\t\t\t\n\t\t\tlet transactionId;\n\t\t\tlet resolve;\n\t\t\tlet reject;\n\n\t\t\tif (\n\t\t\t\tpayload &&\n\t\t\t\tpayload.event &&\n\t\t\t\tpayload.event.detail\n\t\t\t) {\n\t\t\t\tconst { detail } = payload.event;\n\t\t\t\ttransactionId = detail.transactionId;\t\t\t\n\t\t\t\t// Wrap original callbacks to handle DOM management\n\t\t\t\tconst originalResolve = detail.resolve;\n\t\t\t\tconst originalReject = detail.reject;\n\n\t\t\t\t// Create wrapped resolve function that will hide the modal\n\t\t\t\tresolve = (result) => {\n\t\t\t\t\tdispatch(HIDE_E_SIGNATURE_MODAL);\n\t\t\t\t\toriginalResolve(result);\n\t\t\t\t};\n\n\t\t\t\t// Create wrapped reject function that will hide the modal\n\t\t\t\treject = (error) => {\n\t\t\t\t\tdispatch(HIDE_E_SIGNATURE_MODAL);\n\t\t\t\t\toriginalReject(error);\n\t\t\t\t};\n\t\t\t}\n\t\t\t\n\t\t\t// Let the layout know to show the modal\n\t\t\tdispatch(SHOW_E_SIGNATURE_MODAL);\n\t\t\t\n\t\t\t// Relink the modal to ensure property binding works\n\t\t\tsetUpLoginHandler(host);\n\t\t\tinitiateESignature({ dispatch, action: { payload: { transactionId, resolve, reject } }, host });\n\t\t},\n\t\ttarget: document,\n\t\tcapture: true\n\t}]\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t\t} else if ('createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.createInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].set;\n\t\t\t\t} });","import { CANVAS_APPSHELL_ROOT_BEHAVIOR } from '../constants/constants';\nimport actions from './canvasAppShellRoot.actions';\n\nexport const canvasAppshellRootBehavior = {\n\tname: CANVAS_APPSHELL_ROOT_BEHAVIOR,\n\tproperties: {\n\t\tactiveExperience: {\n\t\t\tselectable: true,\n\t\t\tdefault: null\n\t\t}\n\t},\n\tactionHandlers: actions\n};\n","import { createInteractionId } from '@servicenow/ui-metrics';\nimport { EXPERIENCE_LOAD_REQUESTED } from '../constants/constants';\nimport { set } from '@devsnc/snowdash';\n\nconst experienceLoadRequestedEffect = ({\n\taction: { payload },\n\tupdateProperties,\n}) => {\n\tconst { path } = payload;\n\tconst currTime = window.performance.now();\n\t// @DEF0609882: New interaction id was not getting created when a experience is loaded for the first time\n\tset(window, ['nowUiFramework', 'uxrInteractionId'], createInteractionId());\n\tset(window, 'ux_globals.snCanvasScreen', null);\n\tset(window, ['uxf_timing', 'most_recent_user_nav'], currTime);\n\tupdateProperties({ activeExperience: { path, _timestamp: currTime } });\n};\n\nexport default {\n\t[EXPERIENCE_LOAD_REQUESTED]: experienceLoadRequestedEffect,\n};\n","/* eslint-disable no-useless-escape */\n/**\n * Client Information Detection API: Provides information about the used browser / device and cross platform support\n * for certain events like media queries, orientation change or resizing.\n *\n * This API is independent of any library and dynamically depending on the capabilities of the browser or device.\n *\n * @namespace\n * @name Client\n */\nconst Client = {};\n\n/**------------------------- OS Detection ---------------------------**/\n/**\n * Contains information about the operating system of the Client system.\n * @name Client.os\n */\n\n/**\n * Enumeration containing the names of known operating systems.\n * @name Client.os.OS\n */\n\n/**\n * The name of the operating system.\n * @name Client.os.name\n * @type String\n */\n\n/**\n * The version of the operating system as <code>float<\/code>. Might be <code>-1<\/code> if no version can be determined.\n * @name Client.os.version\n * @type float\n */\n\n/**\n * If this flag is set to <code>true<\/code>, a Windows operating system is used.\n * @name Client.os.windows\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, a Mac operating system is used.\n * @name Client.os.macintosh\n * @type boolean\n */\n\n/*\n * If this flag is set to <code>true<\/code>, an iOS operating system is used.\n * @name Client.os.ios\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, an Android operating system is used.\n * @name Client.os.android\n * @type boolean\n */\n\n/*\n * Windows operating system name.\n * @see Client.os.name\n * @name Client.os.OS.WINDOWS\n */\n\n/**\n * MAC operating system name.\n * @see Client.os.name\n * @name Client.os.OS.MACINTOSH\n */\n\n/**\n * iOS operating system name.\n * @see Client.os.name\n * @name Client.os.OS.IOS\n */\n\n/**\n * Android operating system name.\n * @see Client.os.name\n * @name Client.os.OS.ANDROID\n */\n\nconst OS = {\n\tWINDOWS: 'win',\n\tMACINTOSH: 'mac',\n\tIOS: 'iOS',\n\tANDROID: 'Android'\n};\n\nexport const _getMobileOS = () => {\n\tconst userAgent = navigator.userAgent;\n\tlet regExpPlatform, // regular expression for platform\n\t\tmatches;\n\n\t// iOS, Android\n\tregExpPlatform = /\\(([a-zA-Z ]+);\\s(?:[U]?[;]?)([\\D]+)((?:[\\d._]*))(?:.*[\\)][^\\d]*)([\\d.]*)\\s/;\n\tmatches = userAgent.match(regExpPlatform);\n\n\tif (matches) {\n\t\tlet regExpAppleDevices = /iPhone|iPad|iPod/;\n\n\t\tif (matches[0].match(regExpAppleDevices)) {\n\t\t\tmatches[3] = matches[3].replace(/_/g, '.');\n\n\t\t\treturn {\n\t\t\t\tname: OS.IOS,\n\t\t\t\tversion: matches[3]\n\t\t\t};\n\t\t}\n\n\t\tif (matches[2].match(/Android/)) {\n\t\t\tmatches[2] = matches[2].replace(/\\s/g, '');\n\t\t\treturn {\n\t\t\t\tname: OS.ANDROID,\n\t\t\t\tversion: matches[3]\n\t\t\t};\n\t\t}\n\t}\n\n\t// Firefox on Android\n\tregExpPlatform = /\\((Android)[\\s]?([\\d][.\\d]*)?;.*Firefox\\/[\\d][.\\d]*/;\n\tmatches = userAgent.match(regExpPlatform);\n\tif (matches) {\n\t\treturn {\n\t\t\tname: OS.ANDROID,\n\t\t\tversion: matches.length === 3 ? matches[2] : ''\n\t\t};\n\t}\n};\n\nexport const _getDesktopOS = () => {\n\tconst platform = navigator.platform;\n\tif (platform.indexOf('Win') !== -1) {\n\t\tconst regExpVersion = /Windows NT (\\d+).(\\d)/i; // userAgent since windows 10: Windows NT 10[...]\n\t\tconst uaResult = navigator.userAgent.match(regExpVersion);\n\t\treturn {\n\t\t\tname: OS.WINDOWS,\n\t\t\tversion: uaResult[1]\n\t\t};\n\t}\n\n\tif (platform.indexOf('Mac') !== -1) {\n\t\treturn {\n\t\t\tname: OS.MACINTOSH,\n\t\t\tversion: ''\n\t\t};\n\t}\n\n\treturn null;\n};\n\nconst _getOS = () => {\n\treturn _getMobileOS() || _getDesktopOS();\n};\n\nconst _setOS = () => {\n\tif (Client.os) {\n\t\treturn;\n\t}\n\n\tClient.os = _getOS() || {};\n\tClient.os.OS = OS;\n\tClient.os.version = Client.os.version ? parseFloat(Client.os.version) : -1;\n\n\tif (Client.os.name) {\n\t\tfor (let name in OS) {\n\t\t\tif (OS[name] === Client.os.name) {\n\t\t\t\tClient.os[name.toLowerCase()] = true;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst getOS = () => {\n\tif (!Client.os) {\n\t\t_setOS();\n\t}\n\n\treturn Client.os;\n};\n\nconst isAndroid = () => {\n\tif (!Client.os) {\n\t\t_setOS();\n\t}\n\n\treturn !!Client.os.android;\n};\n\n/**------------------------- Browser Detection ---------------------------**/\n/**\n * Contains information about the used browser.\n * @name Client.browser\n */\n\n/**\n * Enumeration containing the names of known browsers.\n * @name Client.browser.BROWSER\n *\n * The name of the browser.\n * @name Client.browser.name\n * @type String\n */\n\n/**\n * The version of the browser as <code>float<\/code>. Might be <code>-1<\/code> if no version can be determined.\n * @name Client.browser.version\n * @type float\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the mobile variant of the browser is used or\n * a tablet or phone device is detected. This information might not be available for all browsers.\n * @name Client.browser.mobile\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Microsoft Edge browser is used.\n * @name Client.browser.edge\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Mozilla Firefox browser is used.\n * @name Client.browser.firefox\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Google Chrome browser is used.\n * @name Client.browser.chrome\n * @type boolean\n *\n * If this flag is set to <code>true<\/code>, the Apple Safari browser is used.\n *\n * <b>Note:<\/b>\n * This flag is also <code>true<\/code> when the standalone (fullscreen) mode or webview is used on iOS devices.\n * Please also note the flags {@link Client.browser.fullscreen} and {@link Client.browser.webview}.\n *\n * @name Client.browser.safari\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, a browser featuring a Webkit engine is used.\n *\n * <b>Note:<\/b>\n * This flag is also <code>true<\/code> when the used browser was based on the Webkit engine, but\n * uses another rendering engine in the meantime. For example the Chrome browser started from version 28 and above\n * uses the Blink rendering engine.\n *\n * @name Client.browser.webkit\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Safari browser runs in standalone fullscreen mode on iOS.\n *\n * <b>Note:<\/b> This flag is only available if the Safari browser was detected. Furthermore, if this mode is detected,\n * technically not a standard Safari is used. There might be slight differences in behavior and detection, e.g.\n * the availability of {@link Client.browser.version}.\n *\n * @name Client.browser.fullscreen\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Safari browser runs in webview mode on iOS.\n *\n * <b>Note:<\/b> This flag is only available if the Safari browser was detected. Furthermore, if this mode is detected,\n * technically not a standard Safari is used. There might be slight differences in behavior and detection, e.g.\n * the availability of {@link Client.browser.version}.\n *\n * @name Client.browser.webview\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the Phantom JS browser is used.\n * @name Client.browser.phantomJS\n * @type boolean\n */\n\n/**\n * The version of the used Webkit engine, if available.\n * @name Client.browser.webkitVersion\n * @type String\n */\n\n/**\n * If this flag is set to <code>true<\/code>, a browser featuring a Mozilla engine is used.\n * @name Client.browser.mozilla\n * @type boolean\n */\n\n/**\n * Internet Explorer browser name.\n * @name Client.browser.BROWSER.INTERNET_EXPLORER\n */\n\n/**\n * Edge browser name.\n * @name Client.browser.BROWSER.EDGE\n */\n\n/**\n * Firefox browser name.\n * @name Client.browser.BROWSER.FIREFOX\n */\n\n/**\n * Chrome browser name.\n * @name Client.browser.BROWSER.CHROME\n */\n\n/**\n * Safari browser name.\n * @name Client.browser.BROWSER.SAFARI\n */\n\n/**\n * Android stock browser name.\n * @name Client.browser.BROWSER.ANDROID\n */\nconst BROWSER = {\n\tINTERNET_EXPLORER: 'IE',\n\tEDGE: 'EDGE',\n\tFIREFOX: 'FIREFOX',\n\tCHROME: 'CHROME',\n\tSAFARI: 'SAFARI',\n\tANDROID: 'ANDROID'\n};\n\n/*!\n * Taken from jQuery JavaScript Library v1.7.1\n * http://jquery.com/\n *\n * Copyright 2011, John Resig\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n */\nexport const _calcBrowser = () => {\n\tconst ua = navigator.userAgent.toLowerCase();\n\n\tconst regExpWebkit = /(webkit)[ \\/]([\\w.]+)/;\n\tconst regExpMSIE = /(msie) ([\\w.]+)/;\n\tconst regExpMSIE11 = /(trident)\\/[\\w.]+;.*rv:([\\w.]+)/;\n\tconst regExpEdge = /(edge|edga|edgios|edg)[ \\/]([\\w.]+)/;\n\tconst regExpMozilla = /(mozilla)(?:.*? rv:([\\w.]+))?/;\n\n\t// WinPhone IE11 and MS Edge userAgents contain \"WebKit\" and \"Mozilla\" and therefore must be checked first\n\tconst browserMatch =\n\t\tregExpEdge.exec(ua) ||\n\t\tregExpMSIE11.exec(ua) ||\n\t\tregExpWebkit.exec(ua) ||\n\t\tregExpMSIE.exec(ua) ||\n\t\t(ua.indexOf('compatible') < 0 && regExpMozilla.exec(ua)) ||\n\t\t[];\n\n\tconst result = {\n\t\tbrowser: browserMatch[1] || '',\n\t\tversion: browserMatch[2] || '0'\n\t};\n\tresult[result.browser] = true;\n\treturn result;\n};\n\nexport const _getBrowser = () => {\n\tconst browser = _calcBrowser();\n\tconst navigator = window.navigator;\n\tconst ua = navigator.userAgent;\n\n\t// jQuery checks for user agent strings. We differentiate between browsers\n\tlet regExpMobile;\n\tlet result;\n\n\t// Mozilla\n\tif (browser.mozilla) {\n\t\tregExpMobile = /Mobile/;\n\t\tif (ua.match(/Firefox\\/(\\d+\\.\\d+)/)) {\n\t\t\tlet version = parseFloat(RegExp.$1);\n\t\t\tresult = {\n\t\t\t\tname: BROWSER.FIREFOX,\n\t\t\t\tversion: version,\n\t\t\t\tmozilla: true,\n\t\t\t\tmobile: regExpMobile.test(ua)\n\t\t\t};\n\t\t} else {\n\t\t\t// unknown mozilla browser\n\t\t\tresult = {\n\t\t\t\tmobile: regExpMobile.test(ua),\n\t\t\t\tmozilla: true,\n\t\t\t\tversion: -1\n\t\t\t};\n\t\t}\n\t} else if (browser.webkit) {\n\t\t// webkit version is needed for calculation if the mobile android device is a tablet (calculation of other mobile devices work without)\n\t\tlet regExpWebkitVersion = ua.toLowerCase().match(/webkit[\\/]([\\d.]+)/);\n\t\tlet webkitVersion;\n\t\tif (regExpWebkitVersion) {\n\t\t\twebkitVersion = regExpWebkitVersion[1];\n\t\t}\n\t\tregExpMobile = /Mobile/;\n\t\tlet chromeMatch = ua.match(/(Chrome|CriOS)\\/(\\d+\\.\\d+).\\d+/);\n\t\tlet firefoxMatch = ua.match(/FxiOS\\/(\\d+\\.\\d+)/);\n\t\tlet androidMatch = ua.match(/Android .+ Version\\/(\\d+\\.\\d+)/);\n\n\t\tif (chromeMatch || firefoxMatch || androidMatch) {\n\t\t\tlet name, version, isMobile;\n\n\t\t\tif (chromeMatch) {\n\t\t\t\tname = BROWSER.CHROME;\n\t\t\t\tisMobile = regExpMobile.test(ua);\n\t\t\t\tversion = parseFloat(chromeMatch[2]);\n\t\t\t} else if (firefoxMatch) {\n\t\t\t\tname = BROWSER.FIREFOX;\n\t\t\t\tisMobile = true;\n\t\t\t\tversion = parseFloat(firefoxMatch[1]);\n\t\t\t} else if (androidMatch) {\n\t\t\t\tname = BROWSER.ANDROID;\n\t\t\t\tisMobile = regExpMobile.test(ua);\n\t\t\t\tversion = parseFloat(androidMatch[1]);\n\t\t\t}\n\n\t\t\tresult = {\n\t\t\t\tname: name,\n\t\t\t\tmobile: isMobile,\n\t\t\t\tversion: version,\n\t\t\t\twebkit: true,\n\t\t\t\twebkitVersion: webkitVersion\n\t\t\t};\n\t\t} else {\n\t\t\t// Safari might have an issue with ua.match(...); thus changing\n\t\t\tlet exp = /(Version|PhantomJS)\\/(\\d+\\.\\d+).*Safari/;\n\t\t\tlet isStandalone = navigator.standalone;\n\t\t\tif (exp.test(ua)) {\n\t\t\t\tlet parts = exp.exec(ua);\n\t\t\t\tlet version = parseFloat(parts[2]);\n\t\t\t\tresult = {\n\t\t\t\t\tname: BROWSER.SAFARI,\n\t\t\t\t\tfullscreen: false,\n\t\t\t\t\twebview: false,\n\t\t\t\t\tversion: version,\n\t\t\t\t\tmobile: regExpMobile.test(ua),\n\t\t\t\t\twebkit: true,\n\t\t\t\t\twebkitVersion: webkitVersion,\n\t\t\t\t\tphantomJS: parts[1] === 'PhantomJS'\n\t\t\t\t};\n\t\t\t} else if (\n\t\t\t\t/iPhone|iPad|iPod/.test(ua) &&\n\t\t\t\t!/CriOS/.test(ua) &&\n\t\t\t\t!/FxiOS/.test(ua) &&\n\t\t\t\t(isStandalone === true || isStandalone === false)\n\t\t\t) {\n\t\t\t\t//WebView or Standalone mode on iOS\n\t\t\t\tresult = {\n\t\t\t\t\tname: BROWSER.SAFARI,\n\t\t\t\t\tversion: -1,\n\t\t\t\t\tfullscreen: isStandalone,\n\t\t\t\t\twebview: !isStandalone,\n\t\t\t\t\tmobile: regExpMobile.test(ua),\n\t\t\t\t\twebkit: true,\n\t\t\t\t\twebkitVersion: webkitVersion\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// other webkit based browser\n\t\t\t\tresult = {\n\t\t\t\t\tmobile: regExpMobile.test(ua),\n\t\t\t\t\twebkit: true,\n\t\t\t\t\twebkitVersion: webkitVersion,\n\t\t\t\t\tversion: -1\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t} else if (browser.msie || browser.trident) {\n\t\tlet version = parseFloat(browser.version);\n\n\t\tresult = {\n\t\t\tname: BROWSER.INTERNET_EXPLORER,\n\t\t\tversion: version,\n\t\t\tmsie: true,\n\t\t\tmobile: false\n\t\t};\n\t} else if (browser.edge || browser.edg || browser.edga || browser.edgios) {\n\t\tlet version = parseFloat(browser.version);\n\t\tresult = {\n\t\t\tname: BROWSER.EDGE,\n\t\t\tversion: version,\n\t\t\tedge: true\n\t\t};\n\t} else {\n\t\tresult = {\n\t\t\tname: '',\n\t\t\tversion: '',\n\t\t\tmobile: false\n\t\t};\n\t}\n\n\treturn result;\n};\n\nconst _setBrowser = () => {\n\tClient.browser = _getBrowser();\n\tClient.browser.BROWSER = BROWSER;\n\n\tif (Client.browser.name) {\n\t\tfor (let b in BROWSER) {\n\t\t\tif (BROWSER[b] === Client.browser.name) {\n\t\t\t\tClient.browser[b.toLowerCase()] = true;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst getBrowser = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn Client.browser;\n};\n\nexport const isIE = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn !!Client.browser.msie;\n};\n\nexport const isEdge = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn !!Client.browser.edge;\n};\n\nexport const isChrome = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn !!Client.browser.chrome;\n};\n\nexport const isFF = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn !!Client.browser.firefox;\n};\n\nexport const isSafari = () => {\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\treturn !!Client.browser.safari;\n};\n\n/**------------------------- Touch Support Detection ---------------------------**/\n\nconst _setSupport = () => {\n\tif (Client.support) {\n\t\treturn;\n\t}\n\n\tif (!Client.browser) {\n\t\t_setBrowser();\n\t}\n\n\tClient.support = {};\n\tClient.support.touch = !!(\n\t\t'ontouchstart' in window ||\n\t\tnavigator.maxTouchPoints > 0 ||\n\t\t(window.DocumentTouch && document instanceof window.DocumentTouch)\n\t);\n};\n\nconst supportTouch = () => {\n\tif (!Client.support) {\n\t\t_setSupport();\n\t}\n\n\treturn !!Client.support.touch;\n};\n\n/**------------------------- System Detection ---------------------------**/\n/**\n * Provides a basic categorization of the used device based on various indicators.\n *\n * <b>Note:<\/b> Depending on the capabilities of the device it is also possible that multiple flags\n * are set to <code>true<\/code>.\n *\n * @namespace\n * @name Client.system\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the device is recognized as a tablet.\n *\n * <b>Note:<\/b> This flag is also true for some browsers on desktop devices running on Windows 8 or higher.\n * Also see the documentation for {@link Client.system.combi} devices.\n * You can use the following logic to ensure that the current device is a tablet device:\n *\n * <pre>\n * if(Client.system.tablet && !Client.system.desktop){\n *\t...tablet related commands...\n * }\n * <\/pre>\n *\n * @name Client.system.tablet\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the device is recognized as a phone.\n *\n * @name Client.system.phone\n * @type boolean\n */\n\n/**\n * If this flag is set to <code>true<\/code>, the device is recognized as a desktop system.\n *\n * @name Client.system.desktop\n * @type boolean\n */\n\n/**\n * Indicates if the device is recognized as a combination of a desktop system and tablet.\n *\n * <b>Note:<\/b> This property is mainly for Microsoft Windows 8 (and following) devices where the\n * mouse and touch event may be supported natively by the browser being used. This property is\n * set to <code>true<\/code> only when both mouse and touch event are natively supported.\n *\n * @name Client.system.combi\n * @type boolean\n */\n\n/**\n * @name Client.system.SYSTEMTYPE\n * Enumeration containing the names of known types of the devices.\n */\nconst SYSTEMTYPE = {\n\tTABLET: 'tablet',\n\tPHONE: 'phone',\n\tDESKTOP: 'desktop',\n\tCOMBI: 'combi' //devices where the mouse and touch event may be supported natively by the browser\n};\n\nconst _isTablet = () => {\n\tconst ua = navigator.userAgent;\n\tif (Client.os.name === Client.os.OS.IOS) {\n\t\treturn /ipad/i.test(ua);\n\t} else {\n\t\t//in real mobile device\n\t\tif (supportTouch()) {\n\t\t\tif (Client.os.windows && Client.os.version >= 8) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tClient.browser.chrome &&\n\t\t\t\tClient.os.android &&\n\t\t\t\tClient.os.version >= 4.4\n\t\t\t) {\n\t\t\t\treturn !/Mobile Safari\\/[.0-9]+/.test(ua);\n\t\t\t} else {\n\t\t\t\tlet densityFactor = window.devicePixelRatio\n\t\t\t\t\t? window.devicePixelRatio\n\t\t\t\t\t: 1;\n\t\t\t\tif (\n\t\t\t\t\tClient.os.android &&\n\t\t\t\t\tClient.browser.webkit &&\n\t\t\t\t\tparseFloat(Client.browser.webkitVersion) > 537.1\n\t\t\t\t) {\n\t\t\t\t\tdensityFactor = 1;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tMath.min(\n\t\t\t\t\t\twindow.screen.width / densityFactor,\n\t\t\t\t\t\twindow.screen.height / densityFactor\n\t\t\t\t\t) >= 600\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// This simple android phone detection can be used here because this is the mobile emulation mode in desktop browser\n\t\t\tconst isAndroidPhone = /(?=android)(?=.*mobile)/i.test(ua);\n\t\t\t// in desktop browser, it's detected as tablet when\n\t\t\t// 1. Windows 8 device with a touch screen where \"Touch\" is contained in the userAgent\n\t\t\t// 2. Android emulation and it's not an Android phone\n\t\t\treturn (\n\t\t\t\t(Client.browser.msie && ua.indexOf('Touch') !== -1) ||\n\t\t\t\t(Client.os.android && !isAndroidPhone)\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst _getSystem = () => {\n\tconst isTabletDetected = _isTablet();\n\tconst isWin8Upwards = Client.os.windows && Client.os.version >= 8;\n\n\tconst system = {};\n\tsystem.tablet = !!(\n\t\t(Client.support.touch || isWin8Upwards) &&\n\t\tisTabletDetected\n\t);\n\tsystem.phone = !!(\n\t\tClient.os.windows_phone ||\n\t\t(Client.support.touch && !isTabletDetected)\n\t);\n\tsystem.desktop = !!((!system.tablet && !system.phone) || isWin8Upwards);\n\tsystem.combi = system.desktop && system.tablet;\n\tsystem.SYSTEMTYPE = SYSTEMTYPE;\n\n\treturn system;\n};\n\nconst _setSystem = () => {\n\t_setSupport();\n\t_setOS();\n\n\tClient.system = {};\n\tClient.system = _getSystem();\n\tif (Client.system.tablet || Client.system.phone) {\n\t\tClient.browser.mobile = true;\n\t}\n};\n\nconst getSystem = () => {\n\tif (!Client.system) {\n\t\t_setSystem();\n\t}\n\n\treturn Client.system;\n};\n\nexport const isDesktop = () => {\n\tif (!Client.system) {\n\t\t_setSystem();\n\t}\n\n\treturn Client.system.desktop;\n};\n\nexport const isTablet = () => {\n\tif (!Client.system) {\n\t\t_setSystem();\n\t}\n\n\treturn Client.system.tablet;\n};\n\nexport const isPhone = () => {\n\tif (!Client.system) {\n\t\t_setSystem();\n\t}\n\n\treturn Client.system.phone;\n};\n\nexport const isMobile = () => {\n\tif (!Client.system) {\n\t\t_setSystem();\n\t}\n\n\treturn Client.browser.mobile;\n};\n\nconst _setTimeZoneName = () => {\n\tif (Client.timeZoneName) {\n\t\treturn;\n\t}\n\n\tClient.timeZoneName = new Date()\n\t\t.toLocaleString('en', {timeZoneName: 'short'})\n\t\t.split(' ')\n\t\t.pop();\n};\n\nconst getTimeZoneName = () => {\n\tif (!Client.timeZoneName) {\n\t\t_setTimeZoneName();\n\t}\n\n\treturn Client.timeZoneName;\n};\n\nconst _setLanguage = () => {\n\tif (Client.lang) {\n\t\treturn;\n\t}\n\n\tconst _htmlEle = document.getElementsByTagName('html')[0];\n\tClient.lang = _htmlEle.getAttribute('lang') || window.navigator.language;\n};\n\nconst getLanguage = () => {\n\tif (!Client.lang) {\n\t\t_setLanguage();\n\t}\n\n\treturn Client.lang;\n};\n\nconst _setDir = () => {\n\tif (Client.dir) {\n\t\treturn;\n\t}\n\n\tconst _htmlEle = document.getElementsByTagName('html')[0];\n\tClient.dir = _htmlEle.getAttribute('dir');\n};\n\nconst getDir = () => {\n\tif (!Client.dir) {\n\t\t_setDir();\n\t}\n\n\treturn Client.dir;\n};\n\n(() => {\n\tgetOS();\n\tgetSystem();\n\tgetBrowser();\n\tsupportTouch();\n\tgetDir();\n\tgetLanguage();\n\tgetTimeZoneName();\n})();\n\nObject.freeze(Client);\nexport default Client;\n","const getGreeting = (testValue) => {\n\tif (testValue) {\n\t\tconsole.error(`${testValue}.${testValue.getHours()}`);\n\t}\n\tconst currentHour = testValue\n\t\t? testValue.getHours()\n\t\t: new Date().getHours();\n\treturn currentHour >= 4 && currentHour < 12 // after 4:00AM and before 12:00PM\n\t\t? 'Good morning,'\n\t\t: currentHour >= 12 && currentHour <= 17 // after 12:00PM and before 6:00pm\n\t\t\t? 'Good afternoon,'\n\t\t\t: currentHour > 17 || currentHour < 4 // after 5:59pm or before 4:00AM (to accommodate night owls)\n\t\t\t\t? 'Good evening,' // if for some reason the calculation didn't work\n\t\t\t\t: 'Welcome,';\n};\n\nconst greeting = getGreeting();\n\nexport default greeting;\n\nexport const exportOnlyForTesting = {\n\tgetGreeting,\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport clientInfo from './utils/client';\nimport greeting from './utils/greeting';\nimport { CANVAS_CLIENT_BEHAVIOR } from '../constants/constants';\n\nconst { COMPONENT_DOM_READY } = actionTypes;\n\nexport const canvasClientBehavior = {\n\tname: CANVAS_CLIENT_BEHAVIOR,\n\tproperties: {\n\t\tclientInfo: { default: {}, schema: { type: 'object' }, selectable: true }\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ clientInfo: { ...clientInfo, greeting } });\n\t\t}\n\t}\n};\n","const sessionPropertiesSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tawaEnabled: { type: 'boolean' },\n\t\tforgetMe: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tvalue: { type: 'string' }, // boolean value in string format (e.g., \"true\").\n\t\t\t},\n\t\t},\n\t\tsessionTimeleft: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tvalue: { type: 'string' }, // numeric value in string format (e.g. \"2\").\n\t\t\t},\n\t\t},\n\t\tsessionTimeout: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tvalue: { type: 'string' }, // numeric value in string format (e.g. \"30\").\n\t\t\t},\n\t\t},\n\t\ttrackingEnabled: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tvalue: { type: 'string' }, // boolean value in string format (e.g. \"true\").\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst userPreferencesSchema = {\n\tdefinitions: {\n\t\tuserPreference: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tname: { type: 'string' }, // prefName\n\t\t\t\tvalue: { type: 'string' }, // prefName\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst userSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tavatar: {},\n\t\tcanImpersonate: { type: 'boolean' },\n\t\tcountry: {},\n\t\tcountryCallingCode: { type: 'string' },\n\t\tdateFormat: { type: 'string' },\n\t\tdateTimeFormat: { type: 'string' },\n\t\tdomain: { type: 'string' },\n\t\tencryptionContexts: { type: 'array' },\n\t\tfirstName: { type: 'string' },\n\t\tfullName: { type: 'string' },\n\t\timpersonatingUserId: {},\n\t\tinitials: { type: 'string' },\n\t\tisImpersonating: { type: 'boolean' },\n\t\tlanguage: { type: 'string' },\n\t\tlastName: { type: 'string' },\n\t\tpreferences: {\n\t\t\t// array of user preference objects (e.g. [{name: 'pref1', value: 'pref1Value1',...}])\n\t\t\ttype: 'array',\n\t\t\tproperties: userPreferencesSchema,\n\t\t},\n\t\tpresence: {},\n\t\troles: { type: 'array' },\n\t\tsys_id: { type: 'string' },\n\t\ttimeFormat: { type: 'string' },\n\t\ttimeZone: { type: 'string' },\n\t\ttimeZoneOffset: { type: 'number' },\n\t\ttitle: {},\n\t\tusername: { type: 'string' },\n\t\tloginMethod: { type: 'string' }\n\t}\n};\n\nexport const canvasSessionSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tisLoggedIn: { type: 'boolean' },\n\t\tsessionLoggedIn: { type: 'boolean' },\n\t\tproperties: sessionPropertiesSchema,\n\t\tuser: userSchema,\n\t\tuserPrefs: { type: 'object' }, // user.preferences formatted as a map. {prefName: prefValue}\n\t},\n};\n","import { CANVAS_SESSION_BEHAVIOR } from '../../constants/constants';\n\nimport { difference, get, has, isEmpty, isEqual, isNil, set } from 'lodash';\n\nconst _META = '_meta';\nconst _PATH = '_path';\nconst _VALUE = '_value';\nconst _DEFAULT = '_default';\nconst _TYPE = '_type';\n\n/***\n * Iterate through a property (from ux_globals.experienceConfigs) and filter out\n * items that are user preference declarations in the chrome_header property.\n */\nexport const getDefaultUserPrefsFromPageProps = (property, userPrefs = {}) => {\n\tif (isEmpty(property) || typeof property !== 'object') return userPrefs;\n\tfor (const [key, value] of Object.entries(property)) {\n\t\tif (value && typeof value === 'object') {\n\t\t\tif (key === _META && value[_TYPE] === 'userPreferences') {\n\t\t\t\tconst path = get(value, `${_PATH}`, null);\n\t\t\t\tconst prefName = get(value, `${_VALUE}.${path}`, null);\n\t\t\t\tconst prefDefaultValue = get(value, `${_DEFAULT}.${path}`);\n\t\t\t\tif (prefName) userPrefs[prefName] = prefDefaultValue;\n\t\t\t} else {\n\t\t\t\tgetDefaultUserPrefsFromPageProps(value, userPrefs);\n\t\t\t}\n\t\t}\n\t}\n\treturn userPrefs;\n};\n\nexport const mergePreferences = (preferences, defaultPreferences) => {\n\tlet preferenceMap = { ...defaultPreferences };\n\tpreferences.map((prefObj) => {\n\t\tif (has(prefObj, 'name')) {\n\t\t\tconst prefName = get(prefObj, 'name');\n\t\t\tconst prefValue = get(prefObj, 'value');\n\t\t\tif (!has(preferenceMap, prefName)) {\n\t\t\t\tpreferenceMap[prefName] = prefValue;\n\t\t\t} else {\n\t\t\t\tif (!isNil(prefValue) && !isEqual(prefValue, 'null'))\n\t\t\t\t\tpreferenceMap[prefName] = prefValue;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn preferenceMap;\n};\n\n/***\n * In case when a preference from session property is null,\n * there is no meaning to update that corresponding session userPrefs to be null.\n * Only non-null updates should be considered.\n */\nexport const resolveNullUserPrefs = (userPrefs = {}, sessionUserPrefs = {}) => {\n\tconst resolvedPrefs = { ...userPrefs };\n\tfor (const name in resolvedPrefs) {\n\t\tif (\n\t\t\tresolvedPrefs[name] === null &&\n\t\t\tObject.prototype.hasOwnProperty.call(sessionUserPrefs, name)\n\t\t) {\n\t\t\tresolvedPrefs[name] = sessionUserPrefs[name];\n\t\t}\n\t}\n\treturn resolvedPrefs;\n};\n\n/***\n * When Session property changes, update the userPrefs property userPrefs should\n * be a computed property, but because there are potential performance issues\n * with a computed property(DEF0187366), we are manually doing it whenever\n * session property is updated.\n */\nexport const computeUserPrefs = (\n\tpreferences = [],\n\tstate = {},\n\tsessionUserPrefs = {},\n\tactiveExperiencePath = null,\n) => {\n\tconst canvasBehavior = get(state, [\n\t\t'behaviors',\n\t\t`${CANVAS_SESSION_BEHAVIOR}`,\n\t]);\n\tconst experiencePath =\n\t\tactiveExperiencePath != null\n\t\t\t? activeExperiencePath\n\t\t\t: get(canvasBehavior, 'activeExperiencePath', null);\n\tconst experienceUserPrefDefaults = get(\n\t\tcanvasBehavior,\n\t\t'experienceUserPrefDefaults',\n\t\t{},\n\t);\n\tconst defaultPreferences = get(\n\t\texperienceUserPrefDefaults,\n\t\texperiencePath,\n\t\t{},\n\t);\n\n\tconst mergedUserPrefs = mergePreferences(preferences, defaultPreferences);\n\n\t// Some preferences may not be found from the sys_user_preference table and are assigned null.\n\t// Updating non-null preferences with null may cause unnecessary property updates.\n\t// This may trigger forms fetch, and may ultimately let us be in a situation that forms render\n\t// inconsistent form views. (DEF0591783)\n\tconst computedUserPrefs = resolveNullUserPrefs(\n\t\tmergedUserPrefs,\n\t\tsessionUserPrefs,\n\t);\n\treturn computedUserPrefs;\n};\n\n/***\n * Takes the SessionGraphQL user.preference array of objects and checks if there\n * are any preferences listed in sys_ux_lib_component records (ux_globals.userPrefs)\n * that are not accounted for in user.preferences.  If so, merge the missing\n * user prefs into a single array of objects.\n */\nexport const mergeSessionDbAndLibCompPrefs = (\n\tsessionDbPrefs,\n\tlibComponentPrefs,\n) => {\n\tif (!libComponentPrefs)\n\t\tlibComponentPrefs = get(window, 'ux_globals.userPrefs', {});\n\n\tconst sessionDbPrefsKeys = sessionDbPrefs.map((pref) => get(pref, 'name'));\n\tconst libComponentPrefsKeys = Object.keys(libComponentPrefs);\n\n\t// Compute which [if any] user preferences are in userPrefs but not in session.user.preferences\n\tconst deltaPrefs = difference(libComponentPrefsKeys, sessionDbPrefsKeys);\n\n\t// transform window.ux_globals.userPrefs' map {prefName: prefValue} to\n\t// session.user.preferences' array [{name: prefName, value: prefValue}] (backwards compatibility)\n\tconst newUserPrefs = deltaPrefs.map((prefName) => {\n\t\treturn { name: prefName, value: get(libComponentPrefs, prefName) };\n\t});\n\n\treturn [...sessionDbPrefs, ...newUserPrefs];\n};\n\nexport const getExperienceConfigUserPrefDefaults = () => {\n\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\tconst experienceConfigs = get(UX_GLOBALS, 'experienceConfigs', {});\n\n\tlet experienceDefaultUserPrefs = {};\n\tfor (const [experienceId, value] of Object.entries(experienceConfigs)) {\n\t\tif (\n\t\t\tvalue &&\n\t\t\tvalue.pageProperties &&\n\t\t\tvalue.pageProperties.chrome_header\n\t\t) {\n\t\t\tlet propObj = {};\n\t\t\ttry {\n\t\t\t\tpropObj = JSON.parse(value.pageProperties.chrome_header);\n\t\t\t} catch (e) {\n\t\t\t\t//Invalid json string\n\t\t\t}\n\t\t\tif (!isEmpty(propObj)) {\n\t\t\t\tconst defaultUserPrefs =\n\t\t\t\t\tgetDefaultUserPrefsFromPageProps(propObj);\n\t\t\t\tif (!isEmpty(defaultUserPrefs))\n\t\t\t\t\tset(\n\t\t\t\t\t\texperienceDefaultUserPrefs,\n\t\t\t\t\t\texperienceId,\n\t\t\t\t\t\tdefaultUserPrefs,\n\t\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\treturn experienceDefaultUserPrefs;\n};\n\nexport const mergeDefaultUserPrefsFromUXGlobals = (preferences) => {\n\tconst experienceConfigUserPrefDefaults =\n\t\tgetExperienceConfigUserPrefDefaults();\n\tconst experiencePath = get(window.ux_globals, 'siteName', '');\n\tconst defaultPreferences = get(\n\t\texperienceConfigUserPrefDefaults,\n\t\texperiencePath,\n\t\t{},\n\t);\n\treturn mergePreferences(preferences, defaultPreferences);\n};\n","import {\n\tmergeDefaultUserPrefsFromUXGlobals,\n\tmergeSessionDbAndLibCompPrefs,\n} from './utils';\n\nimport { get, has, set } from 'lodash';\n\n/**\n * Fetches initial session information from ux_globals when component is created.\n * The result of this function will be the value of the session property.\n */\nexport const getSessionFromUxGlobalEffect = () => {\n\t// Reads SessionGraphQL data resource output\n\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\tif (!has(UX_GLOBALS, ['session'])) UX_GLOBALS['session'] = {};\n\tlet sessionInfo = get(UX_GLOBALS['session'], ['output'], {});\n\n\t// After starting with SessionGraphQL DB output check if there are any user\n\t// preferences in the Required User Prefs of sys_ux_lib_component records\n\t// (stored in ux_globals.userPrefs) that are not in the DB output.  If so,\n\t// merge those extra user prefs into canvasSession\n\n\tlet sessionDbPrefs = get(sessionInfo, 'user.preferences', []);\n\tconst updatedUserPreferences =\n\t\tmergeSessionDbAndLibCompPrefs(sessionDbPrefs);\n\tset(sessionInfo, 'user.preferences', updatedUserPreferences);\n\n\t// Computer the object format of the user preferences array for easy lookup\n\tset(\n\t\tsessionInfo,\n\t\t'userPrefs',\n\t\tmergeDefaultUserPrefsFromUXGlobals(updatedUserPreferences),\n\t);\n\n\treturn sessionInfo;\n};\n\nexport const getSysPropsFromUxGlobalEffect = () => {\n\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\tif (!has(UX_GLOBALS, ['sysprops'])) UX_GLOBALS['sysprops'] = {};\n\treturn get(UX_GLOBALS, 'sysprops', {});\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\n// preference update\nexport const CANVAS_USER_PREFERENCE_UPDATE_REQUEST_SUCCEEDED =\n\t'SN_CANVAS#USER_PREFERENCE_UPDATE_REQUEST_SUCCEEDED';\nexport const CANVAS_USER_PREFERENCE_UPDATE_REQUEST_FAILED =\n\t'SN_CANVAS#USER_PREFERENCE_UPDATE_REQUEST_FAILED';\nexport const CANVAS_USER_PREFERENCE_UPDATE_REQUEST =\n\t'CANVAS_USER_PREFERENCE_UPDATE_REQUEST';\n\n//multiple preference update\nexport const CANVAS_USER_PREFERENCES_UPDATE_REQUEST =\n\t'CANVAS_USER_PREFERENCES_UPDATE_REQUEST';\nexport const CANVAS_USER_PREFERENCES_UPDATE_REQUEST_SUCCEEDED =\n\t'SN_CANVAS#USER_PREFERENCES_UPDATE_REQUEST_SUCCEEDED';\nexport const CANVAS_USER_PREFERENCES_UPDATE_REQUEST_FAILED =\n\t'SN_CANVAS#USER_PREFERENCES_UPDATE_REQUEST_FAILED';\n\n// Seismic lifecycle action types\nexport const COMPONENT_BOOTSTRAPPED = actionTypes.COMPONENT_BOOTSTRAPPED;\nexport const COMPONENT_CONNECTED = actionTypes.COMPONENT_CONNECTED;\nexport const COMPONENT_PROPERTY_CHANGED =\n\tactionTypes.COMPONENT_PROPERTY_CHANGED;\n\n// Preference update\nexport const CANVAS_USER_PREFERENCE_UPDATED = 'USER_PREF_UPDATED';\nexport const CANVAS_USER_PREFERENCE_UPDATE = 'SN_CANVAS#USER_PREFERENCE_UPDATE';\nexport const USER_PREF_SOURCE_UPDATED = 'UXR_INTERNAL#USER_PREF_SOURCE_UPDATED';\n\nexport const CANVAS_EXPERIENCE_LOADED = 'CANVAS_EXPERIENCE_LOADED';\nexport const CANVAS_EXPERIENCE_SWITCHED = 'CANVAS_EXPERIENCE_SWITCHED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"convertUrlToPayload\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.__esModule\n\t\t\t\t\tif (cjsModule && 'convertUrlToPayload' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].convertUrlToPayload;\n\t\t\t\t\t} else if ('convertUrlToPayload' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.convertUrlToPayload || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].convertUrlToPayload;\n\t\t\t\t}, [\"setSysProps\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.__esModule\n\t\t\t\t\tif (cjsModule && 'setSysProps' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].setSysProps;\n\t\t\t\t\t} else if ('setSysProps' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.setSysProps || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].setSysProps;\n\t\t\t\t}, [\"setUserPrefs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.__esModule\n\t\t\t\t\tif (cjsModule && 'setUserPrefs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].setUserPrefs;\n\t\t\t\t\t} else if ('setUserPrefs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__.setUserPrefs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_28_0_4_index_jsdbx_ea3f32be__[\"default\"].setUserPrefs;\n\t\t\t\t} });","import { computeUserPrefs, mergeSessionDbAndLibCompPrefs } from './utils';\nimport { CANVAS_SESSION_BEHAVIOR } from '../../constants/constants';\nimport * as ACTION_TYPES from '../constants';\nimport { getSysPropsFromUxGlobalEffect } from './bootstrapEffect';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { setSysProps, setUserPrefs } from 'sn-ux-core';\nimport { get, isEqual, isNil } from 'lodash';\n\nconst USER_PREFERENCE_UPDATE_GQL_QUERY = `\nmutation($name: String!, $value: String!) {\n\tnow {\n\t\tuserPreference {\n\t\t  updateUserPreference(name: $name, value: $value) {\n\t\t\tname\n\t\t\tvalue\n\t\t  }\n\t\t}\n\t}\n}\n`;\n\nconst USER_PREFERENCES_UPDATE_GQL_QUERY = `\nmutation($preferences: [GlideDomain_PreferenceArgument!]!) {\n  GlideDomain_Mutation {\n    user {\n      setPreferences(preferences: $preferences) {\n        name\n        value\n      }\n    }\n  }\n}\n`;\n\n/**\n * GraphQL's mutation for updating a user preference\n */\nconst updateUserPreferenceEffect = createGraphQLEffect(\n\tUSER_PREFERENCE_UPDATE_GQL_QUERY,\n\t{\n\t\tsuccessActionType:\n\t\t\tACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST_SUCCEEDED,\n\t\terrorActionType:\n\t\t\tACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST_FAILED,\n\t\tvariableList: ['name', 'value'],\n\t},\n);\n\nconst updateUserPreferencesEffect = createGraphQLEffect(\n\tUSER_PREFERENCES_UPDATE_GQL_QUERY,\n\t{\n\t\tsuccessActionType:\n\t\t\tACTION_TYPES.CANVAS_USER_PREFERENCES_UPDATE_REQUEST_SUCCEEDED,\n\t\terrorActionType:\n\t\t\tACTION_TYPES.CANVAS_USER_PREFERENCES_UPDATE_REQUEST_FAILED,\n\t\tvariableList: ['preferences'],\n\t},\n);\n\n/**\n * On a successful update of a user preference, reflect that change on the\n * `session.user.preferences` property.\n * @param {coeffects}\n */\nconst updateUserPreferenceRequestSucceeded = (coeffects) => {\n\tconst {\n\t\tstate,\n\t\tproperties,\n\t\tupdateProperties,\n\t\tupdateContext,\n\t\taction: { payload },\n\t} = coeffects;\n\tconst { errors = [] } = payload;\n\tconst { canvasSession } = properties;\n\n\tif (errors.length) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(\n\t\t\t'now.userPreference.updateUserPreference returned errors: ',\n\t\t\terrors,\n\t\t);\n\t\treturn;\n\t}\n\n\tconst updatedPreference = get(\n\t\tpayload,\n\t\t'data.now.userPreference.updateUserPreference',\n\t);\n\tconst preferences = get(properties, 'canvasSession.user.preferences', []);\n\n\tlet isExistingPreference = false;\n\n\tlet updatedUserPreferences = preferences.map((preference) => {\n\t\tif (preference.name === updatedPreference.name) {\n\t\t\tisExistingPreference = true;\n\t\t\treturn updatedPreference;\n\t\t}\n\t\treturn preference;\n\t});\n\n\t// If we've never seen this preference before, add it to our list\n\t// this means that the preference map above did not make any updates.\n\tif (!isExistingPreference)\n\t\tupdatedUserPreferences = [...updatedUserPreferences, updatedPreference];\n\n\tconst newUserPrefs = computeUserPrefs(updatedUserPreferences, state);\n\tconst updatedSession = {\n\t\t...canvasSession,\n\t\tuser: {\n\t\t\t...canvasSession.user,\n\t\t\tpreferences: updatedUserPreferences,\n\t\t},\n\t\tuserPrefs: { ...newUserPrefs },\n\t};\n\n\tupdateProperties(() => ({\n\t\tpath: 'canvasSession',\n\t\tvalue: updatedSession,\n\t\toperation: 'assign',\n\t\tshouldRender: false,\n\t}));\n\n\tsetUserPrefs(newUserPrefs, updateContext);\n\tconst sysPropsData = getSysPropsFromUxGlobalEffect();\n\tsetSysProps(sysPropsData, updateContext);\n};\n\n/**\n * Error handler for un-successful user preference update.\n * @param {coeffects}\n */\nconst updateUserPreferenceRequestFailed = ({ action }) => {\n\t// eslint-disable-next-line no-console\n\tconsole.error(\n\t\t'now.userPreference.updateUserPreference failed: ',\n\t\taction.payload.message,\n\t);\n};\n\n/**\n * When sn-canvas-appshell-root indicates that a new experience has been loaded\n * or switched, this function will respond to the readUserPrefSource property\n * change and look at window.ux_globals.userPref. if there are any new preferences\n * that are not present in session.user.preferences, this function will update\n * session.user.preferences to include these new preferences.\n * @param {coeffects}\n */\nconst updateUserPrefsFromUxGlobalsEffect = ({\n\tstate,\n\tproperties,\n\tupdateProperties,\n\tupdateContext,\n}) => {\n\t// Get the list of preference names that session property currently holds.(Session Databroker)\n\tlet session = get(properties, 'canvasSession', {});\n\tlet sessionDbPrefs = get(session, 'user.preferences', []);\n\tconst sessionUserPrefs = get(session, 'userPrefs', {});\n\n\t// If any preferences in sys_ux_lib_component that are not part of canvasSession\n\t// merge them in here.\n\tconst updatedUserPreferences =\n\t\tmergeSessionDbAndLibCompPrefs(sessionDbPrefs);\n\tconst userPrefs = computeUserPrefs(\n\t\tupdatedUserPreferences,\n\t\tstate,\n\t\tsessionUserPrefs,\n\t);\n\tconst updatedSession = {\n\t\t...session,\n\t\tuser: {\n\t\t\t...session.user,\n\t\t\tpreferences: updatedUserPreferences,\n\t\t},\n\t\tuserPrefs,\n\t};\n\n\tupdateProperties(() => ({\n\t\tpath: 'canvasSession',\n\t\tvalue: updatedSession,\n\t\toperation: 'assign',\n\t\tshouldRender: false,\n\t}));\n\n\tsetUserPrefs(userPrefs, updateContext);\n\tconst sysPropsData = getSysPropsFromUxGlobalEffect();\n\tsetSysProps(sysPropsData, updateContext);\n};\n\nconst updatePreferenceEffect = ({ action: { payload }, dispatch }) => {\n\tconst { name, value } = payload;\n\tif (isNil(name) || isNil(value)) return;\n\tdispatch(ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST, {\n\t\tname,\n\t\tvalue,\n\t});\n};\n\n/**\n * When an experience is loaded or switched we need to store the experience's\n * path in our state.activeExperiencePath. Additionally, we should re-compute\n * userPrefs to make sure we apply the correct default user preferences.\n *\n * @param {coeffects}\n */\nconst experienceLoadedOrSwitchedEffect = ({\n\taction: { payload },\n\tproperties,\n\tstate,\n\tupdateState,\n\tupdateProperties,\n\tupdateContext,\n}) => {\n\tconst payloadExperiencePath = get(\n\t\tpayload,\n\t\t['selectedContent', 'context', 'path'],\n\t\tnull,\n\t);\n\tconst activeExperiencePath = get(state, [\n\t\t'behaviors',\n\t\t`${CANVAS_SESSION_BEHAVIOR}`,\n\t\t'activeExperiencePath',\n\t]);\n\n\tif (\n\t\tisNil(payloadExperiencePath) ||\n\t\tisEqual(payloadExperiencePath, activeExperiencePath)\n\t)\n\t\treturn;\n\n\tupdateState({\n\t\tpath: `behaviors[${CANVAS_SESSION_BEHAVIOR}]`,\n\t\tvalue: {\n\t\t\tactiveExperiencePath: payloadExperiencePath,\n\t\t},\n\t\toperation: 'assign',\n\t\tshouldRender: false,\n\t});\n\n\tconst sessionPreferences = get(\n\t\tproperties,\n\t\t['canvasSession', 'user', 'preferences'],\n\t\t[],\n\t);\n\tconst sessionUserPrefs = get(\n\t\tproperties,\n\t\t['canvasSession', 'userPrefs'],\n\t\t{},\n\t);\n\t// state is not yet updated, and so state.activeExperiencePath is stale,\n\t// therefore, we explicitly pass payloadExperiencePath,\n\t// so that userPrefs is computed based on the latest experience path.\n\tconst computedUserPrefs = computeUserPrefs(\n\t\tsessionPreferences,\n\t\tstate,\n\t\tsessionUserPrefs,\n\t\tpayloadExperiencePath,\n\t);\n\n\tupdateProperties(() => ({\n\t\tpath: 'canvasSession.userPrefs',\n\t\tvalue: computedUserPrefs,\n\t\toperation: 'assign',\n\t\tshouldRender: false,\n\t}));\n\n\tsetUserPrefs(computedUserPrefs, updateContext);\n\tconst sysPropsData = getSysPropsFromUxGlobalEffect();\n\tsetSysProps(sysPropsData, updateContext);\n};\n\nexport const actionHandlers = {\n\t[ACTION_TYPES.CANVAS_EXPERIENCE_LOADED]: {\n\t\teffect: experienceLoadedOrSwitchedEffect,\n\t},\n\t[ACTION_TYPES.CANVAS_EXPERIENCE_SWITCHED]: {\n\t\teffect: experienceLoadedOrSwitchedEffect,\n\t},\n\t[ACTION_TYPES.USER_PREF_SOURCE_UPDATED]: {\n\t\teffect: updateUserPrefsFromUxGlobalsEffect,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATED]: {\n\t\teffect: updatePreferenceEffect,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE]: {\n\t\teffect: updatePreferenceEffect,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST]:\n\t\tupdateUserPreferenceEffect,\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST_SUCCEEDED]: {\n\t\teffect: updateUserPreferenceRequestSucceeded,\n\t\tstopPropagation: true,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCE_UPDATE_REQUEST_FAILED]: {\n\t\teffect: updateUserPreferenceRequestFailed,\n\t\tstopPropagation: true,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCES_UPDATE_REQUEST]:\n\t\tupdateUserPreferencesEffect,\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCES_UPDATE_REQUEST_SUCCEEDED]: {\n\t\teffect: () => {},\n\t\tstopPropagation: true,\n\t},\n\t[ACTION_TYPES.CANVAS_USER_PREFERENCES_UPDATE_REQUEST_FAILED]: {\n\t\teffect: ({ action: { payload } }) => {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'GlideDomain_Mutation.user.setPreferences failed: ',\n\t\t\t\tpayload.message,\n\t\t\t);\n\t\t},\n\t\tstopPropagation: true,\n\t},\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { throttle } from 'lodash';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\nconst LAS_UI_ACTION_UPDATE_INTERVAL = 30000;\nlet defaultEventRegistry = new Map();\n\nexport function sessionExtensionEffect(\n\tevents,\n\teffect,\n\teventRegistry = defaultEventRegistry,\n) {\n\treturn (coeffect) => {\n\t\tevents.forEach((event) => {\n\t\t\teventRegistry.set(event, (event) => effect(coeffect, event));\n\t\t\tdocument.body.addEventListener(\n\t\t\t\tevent,\n\t\t\t\teventRegistry.get(event),\n\t\t\t\ttrue,\n\t\t\t);\n\t\t});\n\t};\n}\n\nexport function createDisconnectEffect({\n\tevents,\n\teventRegistry = defaultEventRegistry,\n}) {\n\treturn () => {\n\t\tevents.forEach((event) => {\n\t\t\tif (eventRegistry.has(event))\n\t\t\t\tdocument.body.removeEventListener(\n\t\t\t\t\tevent,\n\t\t\t\t\teventRegistry.get(event),\n\t\t\t\t\ttrue,\n\t\t\t\t);\n\t\t});\n\t};\n}\n\nexport function createEffectForEvents({\n\tevents,\n\teffect,\n\teventRegistry = defaultEventRegistry,\n}) {\n\treturn {\n\t\tremoveEventListeners: createDisconnectEffect({ events, eventRegistry }),\n\t\tregisterEventListeners: sessionExtensionEffect(\n\t\t\tevents,\n\t\t\teffect,\n\t\t\teventRegistry,\n\t\t),\n\t};\n}\n\nexport const { removeEventListeners, registerEventListeners } =\n\tcreateEffectForEvents({\n\t\tevents: ['click', 'keyup', 'contextmenu'],\n\t\teffect: throttle(\n\t\t\t(coeffect) => {\n\t\t\t\tconst { updateProperties } = coeffect;\n\t\t\t\tupdateProperties(() => ({\n\t\t\t\t\tpath: 'canvasSession.lastUiActivity',\n\t\t\t\t\tvalue: Date.now(),\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t}));\n\t\t\t},\n\t\t\tLAS_UI_ACTION_UPDATE_INTERVAL,\n\t\t\t{ leading: true, trailing: false },\n\t\t),\n\t});\n\nexport const actionHandlers = {\n\t[COMPONENT_CONNECTED]: {\n\t\teffect: registerEventListeners,\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect: removeEventListeners,\n\t},\n};\n","import { CANVAS_SESSION_BEHAVIOR } from '../constants/constants';\nimport { canvasSessionSchema } from './schemas';\nimport {\n\tgetSessionFromUxGlobalEffect,\n\tgetSysPropsFromUxGlobalEffect,\n} from './effects/bootstrapEffect';\nimport { actionHandlers as sessionUpdateEffects } from './effects/sessionUpdateEffect';\nimport { getExperienceConfigUserPrefDefaults } from './effects/utils';\nimport { setUserPrefs, setSysProps } from 'sn-ux-core';\nimport { get } from 'lodash';\nimport { actionHandlers } from './effects/lastUIActivityEffect';\n\nconst sessionData = getSessionFromUxGlobalEffect();\n\nconst { userPrefs } = sessionData;\nsetUserPrefs(userPrefs);\n\nconst sysPropsData = getSysPropsFromUxGlobalEffect();\nsetSysProps(sysPropsData);\nconst lastUiActivitySysProp = get(\n\tsysPropsData,\n\t'glide.ui.uxr.last_ui_activity',\n);\n\nexport const canvasSessionBehavior = {\n\tname: CANVAS_SESSION_BEHAVIOR,\n\tproperties: {\n\t\tcanvasSession: {\n\t\t\tdefault: sessionData,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t\tschema: canvasSessionSchema,\n\t\t},\n\t},\n\tinitialState: {\n\t\texperienceUserPrefDefaults: getExperienceConfigUserPrefDefaults(),\n\t\tactiveExperiencePath: get(window.ux_globals, 'siteName', ''),\n\t},\n\tactionHandlers: {\n\t\t...sessionUpdateEffects,\n\t\t...(lastUiActivitySysProp === 'true' ? actionHandlers : {}),\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createAmbSubscriptionEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.__esModule\n\t\t\t\t\tif (cjsModule && 'createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t\t} else if ('createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.createAmbSubscriptionEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t} });","import { actionTypes } from '@servicenow/ui-core';\n\nexport const ACTION_TYPES = {\n\tCOMPONENT_CONNECTED: actionTypes.COMPONENT_CONNECTED,\n\tUSER_PRESENCE_SUBSCRIPTION_CHANGED: 'USER_PRESENCE_SUBSCRIPTION_CHANGED',\n\tUSER_PRESENCE_SUBSCRIPTION_SUCCEED: 'RECORD_WATCHER_SUBSCRIBED',\n\tUSER_PRESENCE_SUBSCRIPTION_FAILED: 'RECORD_WATCHER_SUBSCRIBE_FAILED',\n\tUSER_PRESENCE_UPDATED: 'RECORD_WATCHER_ITEM_CHANGED'\n};\n\nexport const AMB_EVENT_TYPES = {\n\tsubscribeStartedActionType: 'RECORD_WATCHER_SUBSCRIBE_STARTED',\n\tsubscribeSucceededActionType: 'RECORD_WATCHER_SUBSCRIBED',\n\tsubscribeFailedActionType: 'RECORD_WATCHER_SUBSCRIBE_FAILED',\n\tunsubscribeSucceededActionType: 'RECORD_WATCHER_UNSUBSCRIBED',\n\tmessageReceivedActionType: 'RECORD_WATCHER_ITEM_CHANGED'\n};\n\nexport const RECORD_PRESENCE_COLUMN = 'user_available';\nexport const RECORD_PRESENCE_TABLE_NAME = 'sys_user_presence';\n","import { createAmbSubscriptionEffect } from '@servicenow/ui-effect-amb';\nimport { get } from 'lodash';\nimport {\n\tAMB_EVENT_TYPES,\n\tACTION_TYPES,\n\tRECORD_PRESENCE_COLUMN,\n\tRECORD_PRESENCE_TABLE_NAME\n} from './constants';\n\nconst createAmbPresenceSubscription = createAmbSubscriptionEffect(\n\t'/rw/default/:table/:filter',\n\t{\n\t\t...AMB_EVENT_TYPES\n\t}\n);\n\nconst handleSubscriptionError = () => {\n\t// eslint-disable-next-line no-console\n\tconsole.warn('User presence subscription failed, current user role might not have User Presence subscription');\n};\n\nconst updatePresence = coeffects => {\n\tconst { action, updateProperties } = coeffects;\n\tconst updatedValue = get(\n\t\taction,\n\t\t`payload.data.record.[${RECORD_PRESENCE_COLUMN}].value`,\n\t\tnull\n\t);\n\n\tif (updatedValue) {\n\t\tconst update = updatedValue === 'true';\n\t\tupdateProperties(() => ({\n\t\t\tpath: `canvasSession.user.presence.${RECORD_PRESENCE_COLUMN}`,\n\t\t\toperation: 'assign',\n\t\t\tvalue: update,\n\t\t\tshouldRender: false\n\t\t}));\n\t}\n};\n\nexport const actionHandlers = {\n\t[ACTION_TYPES.COMPONENT_CONNECTED]: {\n\t\teffect: ({ dispatch, properties }) => {\n\t\t\tdispatch(ACTION_TYPES.USER_PRESENCE_SUBSCRIPTION_CHANGED, {\n\t\t\t\ttable: RECORD_PRESENCE_TABLE_NAME,\n\t\t\t\t/** filter is the string `user=<user's sys_id>` in base64 encoding with '=' replaced with '-'\n\t\t\t\ti.e.: dXNlcj02ODE2Zjc5Y2MwYTgwMTY0MDFjNWEzM2JlMDRiZTQ0MQ-- **/\n\t\t\t\tfilter: btoa(\n\t\t\t\t\t`user=${get(properties, 'canvasSession.user.sys_id', '')}`\n\t\t\t\t).replace(/=/g, '-'),\n\t\t\t\tsubscribe: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[ACTION_TYPES.USER_PRESENCE_SUBSCRIPTION_CHANGED]: createAmbPresenceSubscription,\n\t[ACTION_TYPES.USER_PRESENCE_SUBSCRIPTION_FAILED]: handleSubscriptionError,\n\t[ACTION_TYPES.USER_PRESENCE_UPDATED]: updatePresence\n};\n","import { USER_PRESENCE_BEHAVIOR } from '../constants/constants';\nimport { actionHandlers as userPresenceUpdateEffect } from './userPresenceEffect';\n\nexport const userPresenceBehavior = {\n\tname: USER_PRESENCE_BEHAVIOR,\n\tactionHandlers: {\n\t\t...userPresenceUpdateEffect\n\t}\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport ambStatusEffect from './ambStatusEffect';\nimport { AMB_STATUS_BEHAVIOR } from '../constants/constants';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst {\n\tAMB_STATUS_SET,\n\tAMB_EVENT_SESSION_LOGGED_IN,\n\tAMB_EVENT_SESSION_LOGGED_OUT,\n\tAMB_EVENT_SESSION_INVALIDATED,\n\tAMB_META_CONNECT_MESSAGE_RECEIVED\n} = ambStatusEffect.ACTION_TYPES;\n\nconst {\n\thandleSessionLoggedIn,\n\thandleSessionLoggedOut,\n\thandleSessionInvalidated,\n\tsetAMBStatus,\n\tonConnect,\n\tonDisconnect,\n\thandleAmbMetaConnectMessageReceived\n} = ambStatusEffect.effectHandlers;\n\n/**\n * ambStatusBehavior encapsulates functionality described by the effect-amb documentation:\n * https://code.devsnc.com/dev/sn-seismic/blob/master/packages/effects/effect-amb/api.md#createambeventeffect\n */\nconst ambStatusBehavior = {\n\tname: AMB_STATUS_BEHAVIOR,\n\n\tinitialState: {\n\t\tisSessionLoggedIn: false,\n\t\tisAuthTokenActive: false,\n\t\tisActiveSessionExpiringShown: false\n\t},\n\tactions: {\n\t\t[AMB_STATUS_SET]: { private: true }\n\t},\n\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: onConnect,\n\t\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\t\t[AMB_EVENT_SESSION_LOGGED_IN]: handleSessionLoggedIn,\n\t\t[AMB_EVENT_SESSION_LOGGED_OUT]: handleSessionLoggedOut,\n\t\t[AMB_EVENT_SESSION_INVALIDATED]: handleSessionInvalidated,\n\t\t[AMB_STATUS_SET]: setAMBStatus,\n\t\t[AMB_META_CONNECT_MESSAGE_RECEIVED]: handleAmbMetaConnectMessageReceived,\n\t}\n};\n\nexport default ambStatusBehavior;\n","import { isKarunaMode } from 'sn-canvas-common';\n\nconst BROWSER_STATUS = { ONLINE: 'ONLINE', OFFLINE: 'OFFLINE' };\n\nconst ACTION_TYPES = {\n\tHTTP_ERROR_OCCURRED: 'HTTP_ERROR_OCCURRED',\n\tCANVAS_GLOBAL_ERROR: 'CANVAS_GLOBAL_ERROR',\n\tCANVAS_HIDE_ERROR_MODAL: 'CANVAS_HIDE_ERROR_MODAL',\n};\n\n/**\n * onHttpErrorOccurred\n * @param action\n * @param dispatch\n */\nexport const onHttpErrorOccurred = ({ action, dispatch }) => {\n\tconst { payload } = action;\n\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, {\n\t\t...payload,\n\t\ttype: payload.status,\n\t});\n};\n\n/**\n * onlineHandler\n * @param e\n * @param dispatch\n */\nlet onlinelistener;\nexport const onlineHandler = (dispatch) => {\n\treturn (e) => {\n\t\tconst payload = { type: BROWSER_STATUS.ONLINE, evt: e };\n\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, payload);\n\t};\n};\n\n/**\n * offlineHandler\n * @param e\n * @param dispatch\n */\nlet offlinelistener;\nexport const offlineHandler = (dispatch) => {\n\treturn (e) => {\n\t\tconst payload = { type: BROWSER_STATUS.OFFLINE, evt: e };\n\t\tdispatch(ACTION_TYPES.CANVAS_GLOBAL_ERROR, payload);\n\t};\n};\n\n/**\n * onConnect\n * @param dispatch\n */\n\nexport const onConnect = ({ dispatch }) => {\n\tif (isKarunaMode()) return;\n\twindow.addEventListener(\n\t\t'online',\n\t\t(onlinelistener = onlineHandler(dispatch)),\n\t);\n\twindow.addEventListener(\n\t\t'offline',\n\t\t(offlinelistener = offlineHandler(dispatch)),\n\t);\n};\n\n/**\n * onDisconnect\n * @param dispatch\n */\n\nexport const onDisconnect = () => {\n\twindow.removeEventListener('online', onlinelistener);\n\twindow.removeEventListener('offline', offlinelistener);\n\tonlinelistener = null;\n\tofflinelistener = null;\n};\n\nconst effectHandlers = {\n\tonHttpErrorOccurred: onHttpErrorOccurred,\n\tonConnect: onConnect,\n\tonDisconnect: onDisconnect,\n};\n\nexport default {\n\teffectHandlers,\n\tACTION_TYPES,\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport canvasLayoutEffect from './canvasLayoutEffect';\n\nconst { HTTP_ERROR_OCCURRED } = canvasLayoutEffect.ACTION_TYPES;\n\nconst {\n\tonConnect,\n\tonDisconnect,\n\tonHttpErrorOccurred\n} = canvasLayoutEffect.effectHandlers;\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\n\nexport const canvasLayoutErrorBehavior = {\n\tname: 'CANVAS_LAYOUT_ERROR',\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: onConnect,\n\t\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\n\t\t/* http errors */\n\t\t[HTTP_ERROR_OCCURRED]: onHttpErrorOccurred\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"klona\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.__esModule\n\t\t\t\t\tif (cjsModule && 'klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t\t} else if ('klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.klona || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t} });","export const ACTION_CREATE_TINY_URL = 'CREATE_TINY_URL#PERSISTED_STATE';\nexport const ACTION_TINY_URL_CREATED = 'TINY_URL_CREATED#PERSISTED_STATE';\nexport const ACTION_TINY_URL_CREATE_FAILED =\n\t'TINY_URL_CREATE_FAILED#PERSISTED_STATE';\n\nexport const ACTION_RESOLVE_TINY_URL = 'RESOLVE_TINY_URL#PERSISTED_STATE';\nexport const ACTION_TINY_URL_RESOLVED = 'TINY_URL_RESOLVED#PERSISTED_STATE';\nexport const ACTION_TINY_URL_RESOLVE_FAILED =\n\t'TINY_URL_RESOLVE_FAILED#PERSISTED_STATE';\n","import { isEmpty, isNil } from '@devsnc/snowdash';\n\nexport function decodeFromBase64(base64Str) {\n\t// Decode a base64 string to a JS object\n\tconst binaryString = atob(base64Str);\n\tconst byteArray = Uint8Array.from(binaryString, (char) =>\n\t\tchar.charCodeAt(0),\n\t);\n\tconst jsonString = new TextDecoder().decode(byteArray);\n\treturn JSON.parse(jsonString);\n}\n\nexport function encodeToBase64(obj) {\n\t// Encode a JS object to a base64 string\n\tconst jsonString = JSON.stringify(obj);\n\tconst byteArray = new TextEncoder().encode(jsonString);\n\tconst binaryString = String.fromCharCode.apply(null, byteArray);\n\treturn btoa(binaryString);\n}\n\nexport const getUrlPersistedStateWithMetadata = (\n\tpersistedStateForUrl,\n\tencoding,\n\tisTiny,\n) => {\n\tconst metadata = [encoding];\n\tif (isTiny) metadata.push('tiny');\n\n\treturn `${metadata.join('-')}~${persistedStateForUrl}`;\n};\n\nconst ENCODING_B64 = 'b64';\nexport const defaultEncoding = ENCODING_B64;\n\nexport const deserializePersistedState = (persistedState, encoding) => {\n\tlet persistedStateFromUrl;\n\ttry {\n\t\tlet decodedPersistedState = persistedState;\n\t\tif (encoding === ENCODING_B64) {\n\t\t\tpersistedStateFromUrl = decodeFromBase64(persistedState);\n\t\t} else {\n\t\t\tpersistedStateFromUrl = JSON.parse(decodedPersistedState);\n\t\t}\n\t} catch (e) {\n\t\tconsole.error('Failed to parse persisted state', e);\n\t}\n\treturn persistedStateFromUrl;\n};\n\nexport const serializePersistedState = (persistedState) => {\n\tif (isEmpty(persistedState)) return;\n\n\tlet serializedPersistedState;\n\ttry {\n\t\tserializedPersistedState = encodeToBase64(persistedState);\n\t} catch (e) {\n\t\tconsole.error(\n\t\t\t'Failed to serialize persisted state: ',\n\t\t\tpersistedState,\n\t\t\te,\n\t\t);\n\t}\n\treturn serializedPersistedState;\n};\n\nexport let tinyIdStatePersistenceCache = new Map();\nexport const getResolvedTinyPersistedStateFromCache = (tinyId) => {\n\tif (tinyIdStatePersistenceCache.has(tinyId)) {\n\t\treturn tinyIdStatePersistenceCache.get(tinyId);\n\t}\n\n\tconst resolvedTinyIdFromUxGlobals =\n\t\twindow?.ux_globals?.resolvedTinyPersistedState?.[tinyId];\n\tif (!isNil(resolvedTinyIdFromUxGlobals)) {\n\t\tputResolvedTinyPersistedStateToCache(\n\t\t\ttinyId,\n\t\t\tresolvedTinyIdFromUxGlobals,\n\t\t);\n\t\treturn resolvedTinyIdFromUxGlobals;\n\t}\n\n\treturn null;\n};\n\nexport const putResolvedTinyPersistedStateToCache = (\n\ttinyId,\n\tserialzedPersistedState,\n) => {\n\ttinyIdStatePersistenceCache.set(tinyId, serialzedPersistedState);\n};\n","import { get, isEmpty, isNil, set } from '@devsnc/snowdash';\nimport { declarativeOperations } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\n\nimport { klona } from 'klona';\n\nimport { PERSIST_STATE_CONSTANTS } from 'sn-canvas-common';\nimport {\n\tACTION_CREATE_TINY_URL,\n\tACTION_RESOLVE_TINY_URL,\n\tACTION_TINY_URL_CREATED,\n\tACTION_TINY_URL_CREATE_FAILED,\n\tACTION_TINY_URL_RESOLVED,\n\tACTION_TINY_URL_RESOLVE_FAILED,\n} from './constants';\nimport {\n\tdefaultEncoding,\n\tdeserializePersistedState,\n\tgetResolvedTinyPersistedStateFromCache,\n\tgetUrlPersistedStateWithMetadata,\n\tputResolvedTinyPersistedStateToCache,\n\tserializePersistedState,\n} from './utils';\n\nconst {\n\tACTION_PERSIST_STATE_INTERNAL,\n\tACTION_PERSIST_STATE_INIT_INTERNAL,\n\tACTION_PERSIST_STATE_URL_CHANGED_INTERNAL,\n\tSINK_URL,\n\tSYMBOL_MARK_TINY_URL_REQUESTED,\n} = PERSIST_STATE_CONSTANTS;\n\nconst validPersistenceSinks = [SINK_URL];\nconst handlePersistState = ({ action, dispatch, updateProperties }) => {\n\taction.stopPropagation();\n\n\tconst {\n\t\tpayload: { screenKey, path, value, persistTo },\n\t} = action;\n\tif (isEmpty(screenKey)) {\n\t\tconsole.warn(`Empty screenKey for PERSIST_STATE`);\n\t\treturn;\n\t}\n\tif (isEmpty(path)) {\n\t\tconsole.warn(`Empty path for PERSIST_STATE`);\n\t\treturn;\n\t}\n\tif (!validPersistenceSinks.includes(persistTo)) {\n\t\tconsole.warn(`Unsupported persistence sink: ${persistTo}`);\n\t\treturn;\n\t}\n\n\tupdateProperties(() => ({\n\t\tpath: `persistedState.${persistTo}.${screenKey}.${path.join('.')}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue,\n\t}));\n\tif (persistTo === SINK_URL) {\n\t\tupdateProperties(({ properties }) => {\n\t\t\tconst { persistedState } = properties;\n\n\t\t\t/* check if new persistedState would require tinyUrl serialization */\n\t\t\tconst persistedStateForScreen = klona(\n\t\t\t\tget(persistedState, [persistTo, screenKey], {}),\n\t\t\t);\n\t\t\tset(persistedStateForScreen, path, value);\n\t\t\tconst serializedPersistedState = serializePersistedState(\n\t\t\t\tpersistedStateForScreen,\n\t\t\t);\n\t\t\tconst newEncodedPersistedStateForScreen = encodeURIComponent(\n\t\t\t\tserializedPersistedState,\n\t\t\t);\n\t\t\tconst needsTiny = newEncodedPersistedStateForScreen.length > 1024; // arbitrary limit\n\n\t\t\tlet update = {};\n\t\t\tif (needsTiny) {\n\t\t\t\tdispatch(\n\t\t\t\t\tACTION_CREATE_TINY_URL,\n\t\t\t\t\t{\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\turl: `?__state__=${newEncodedPersistedStateForScreen}`, // tinyurl service expects queryparams\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tstatePersistenceMeta: {\n\t\t\t\t\t\t\tscreenKey,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tpersistTo,\n\t\t\t\t\t\t\tencoding: defaultEncoding,\n\t\t\t\t\t\t\tserializedPersistedState,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// no tinyUrl needed, just updateProperties.\n\t\t\t\t// When screen notifies of a change in persistedState, we update persistedState and persistedStateForRouter.\n\t\t\t\tupdate = {\n\t\t\t\t\tpath: `persistedStateForRouter.${screenKey}`,\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tvalue: getUrlPersistedStateWithMetadata(\n\t\t\t\t\t\tserializedPersistedState,\n\t\t\t\t\t\tdefaultEncoding,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn update;\n\t\t});\n\t}\n};\n\nconst handleEmptyPersistedStateFromRouter = (\n\trawPersistedStateFromUrl,\n\tscreenKey,\n\tproperties,\n) => {\n\tconst { persistedStateForRouter: previousPersistedState } = properties;\n\tif (\n\t\t!isEmpty(previousPersistedState?.[screenKey]) &&\n\t\tisEmpty(rawPersistedStateFromUrl)\n\t) {\n\t\t// back button. going from url-with-persistedState to url-without-persistedState\n\t\treturn [true, null, null];\n\t}\n\treturn [false];\n};\n\nconst handleNonEmptyPersistedStateFromRouter = (\n\trawPersistedStateFromUrl = '',\n\tscreenKey,\n\tproperties,\n\tdispatch,\n\tupdateProperties,\n) => {\n\tconst [metadata, persistedState] = rawPersistedStateFromUrl.split('~');\n\tconst [encoding, isTiny] = metadata.split('-');\n\n\tlet serializedPersistedState;\n\tif (isTiny) {\n\t\tserializedPersistedState =\n\t\t\tgetResolvedTinyPersistedStateFromCache(persistedState);\n\t\tif (isNil(serializedPersistedState)) {\n\t\t\tupdateProperties(() => ({\n\t\t\t\tpath: `persistedStateForMain.${screenKey}`,\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tvalue: { [SYMBOL_MARK_TINY_URL_REQUESTED]: true },\n\t\t\t}));\n\n\t\t\t// persistedState is tiny but resolved value is not present in uxGlobals.\n\t\t\t// this is likely a url change resulting from back button.\n\t\t\tdispatch(\n\t\t\t\tACTION_RESOLVE_TINY_URL,\n\t\t\t\t{\n\t\t\t\t\ttinyId: persistedState,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tstatePersistenceMeta: {\n\t\t\t\t\t\tscreenKey,\n\t\t\t\t\t\trawPersistedStateFromUrl,\n\t\t\t\t\t\tencoding,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t} else {\n\t\tserializedPersistedState = persistedState;\n\t}\n\n\tif (isEmpty(serializedPersistedState)) {\n\t\treturn [false];\n\t}\n\tconst deserializedPersistedState = deserializePersistedState(\n\t\tserializedPersistedState,\n\t\tencoding,\n\t);\n\tif (isEmpty(deserializedPersistedState)) {\n\t\treturn [false];\n\t}\n\n\treturn [true, serializedPersistedState, deserializedPersistedState];\n};\n\nconst handlePersistStateFromRouter = (coeffects) => {\n\tconst {\n\t\tproperties,\n\t\tupdateProperties,\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tscreenKey,\n\t\t\t\tencodedPersistedState: rawPersistedStateFromUrl,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\tif (isEmpty(screenKey)) return;\n\n\tconst handlerFunction = isEmpty(rawPersistedStateFromUrl)\n\t\t? handleEmptyPersistedStateFromRouter\n\t\t: handleNonEmptyPersistedStateFromRouter;\n\n\tconst [shouldUpdate, , deserializedPersistedState] = handlerFunction(\n\t\trawPersistedStateFromUrl,\n\t\tscreenKey,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateProperties,\n\t);\n\n\tif (!shouldUpdate) {\n\t\treturn;\n\t}\n\n\t// When router notifies of a change in persistedState, we update persistedState, persistedStateForRouter and persistedStateForMain\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForRouter.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: rawPersistedStateFromUrl,\n\t}));\n\tupdateProperties(() => ({\n\t\tpath: `persistedState.${SINK_URL}.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: deserializedPersistedState,\n\t}));\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForMain.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: deserializedPersistedState,\n\t}));\n};\n\nconst handleTinyUrlCreated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload,\n\t\t\tmeta: {\n\t\t\t\tstatePersistenceMeta: {\n\t\t\t\t\tscreenKey,\n\t\t\t\t\tpath,\n\t\t\t\t\tvalue,\n\t\t\t\t\tpersistTo,\n\t\t\t\t\tencoding,\n\t\t\t\t\tserializedPersistedState,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tupdateProperties,\n\t} = coeffects;\n\tconst tinyPersistedState = payload?.result?.split(/\\?sysparm_tiny=/)?.[1]; // parse tinyUrl Key from /api/now/tinyurl response\n\tif (isEmpty(tinyPersistedState)) {\n\t\thandleTinyUrlCreationFailed();\n\t\treturn;\n\t}\n\tputResolvedTinyPersistedStateToCache(\n\t\ttinyPersistedState,\n\t\tserializedPersistedState,\n\t);\n\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForRouter.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: getUrlPersistedStateWithMetadata(\n\t\t\ttinyPersistedState,\n\t\t\tencoding,\n\t\t\ttrue,\n\t\t),\n\t}));\n\tupdateProperties(() => ({\n\t\tpath: `persistedState.${persistTo}.${screenKey}.${path.join('.')}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue,\n\t}));\n};\n\nconst handleTinyUrlCreationFailed = () => {\n\tconsole.warn(\n\t\t'Failed to create tinyUrl for large persistedState. URL updates to persistedState ignored.',\n\t);\n};\n\nconst handleTinyUrlResolved = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: tinyUrlResponse,\n\t\t\tmeta: {\n\t\t\t\tstatePersistenceMeta: {\n\t\t\t\t\tscreenKey,\n\t\t\t\t\trawPersistedStateFromUrl,\n\t\t\t\t\tencoding,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tupdateProperties,\n\t} = coeffects;\n\tconst serializedPersistedState = tinyUrlResponse?.result?.__state__;\n\tconst persistedState = deserializePersistedState(\n\t\tserializedPersistedState,\n\t\tencoding,\n\t);\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForRouter.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: rawPersistedStateFromUrl,\n\t}));\n\tupdateProperties(() => ({\n\t\tpath: `persistedState.${SINK_URL}.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: persistedState,\n\t}));\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForMain.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: { [SYMBOL_MARK_TINY_URL_REQUESTED]: false, ...persistedState },\n\t}));\n};\n\nconst handleTinyUrlResolvedFailed = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tmeta: {\n\t\t\t\tstatePersistenceMeta: { screenKey },\n\t\t\t},\n\t\t},\n\t\tupdateProperties,\n\t} = coeffects;\n\n\tupdateProperties(() => ({\n\t\tpath: `persistedStateForMain.${screenKey}`,\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: { [SYMBOL_MARK_TINY_URL_REQUESTED]: false },\n\t}));\n\n\tconsole.warn('Failed to resolve persistedState from tinyUrl');\n};\n\nconst handlePersistStateFromNav = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { screenKey, encodedPersistedState, timestamp },\n\t\t},\n\t\thost,\n\t} = coeffects;\n\n\t// DEF0773483: Only process & clear if there's a queued entry that matches.\n\t// The persistedStateUpdates map is populated by canvasRoot.actions.js (handleNavItemSelected)\n\t// and consumed here to ensure state persistence is honored during navigation.\n\tconst persistedStateUpdates = host?.persistedStateUpdates;\n\tif (!persistedStateUpdates || !(screenKey in persistedStateUpdates)) {\n\t\treturn;\n\t}\n\n\tconst queuedEntry = persistedStateUpdates[screenKey];\n\tif (!queuedEntry) {\n\t\treturn;\n\t}\n\n\tconst { persistedState: queuedState, timestamp: queuedTimestamp } =\n\t\tqueuedEntry;\n\n\t// Match by timestamp (primary) to ensure we're processing the correct navigation event.\n\t// Also verify encodedPersistedState matches to avoid stale/mismatched state.\n\tconst isTimestampMatch = timestamp === queuedTimestamp;\n\tconst isStateMatch = encodedPersistedState === queuedState;\n\n\tif (isTimestampMatch && isStateMatch) {\n\t\thandlePersistStateFromRouter(coeffects);\n\t\tdelete host.persistedStateUpdates[screenKey];\n\t}\n};\n\nexport default {\n\t[ACTION_PERSIST_STATE_INTERNAL]: handlePersistState,\n\t[ACTION_PERSIST_STATE_INIT_INTERNAL]: handlePersistStateFromRouter,\n\t[ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL]: handlePersistStateFromNav,\n\n\t[ACTION_CREATE_TINY_URL]: createHttpEffect('/api/now/tinyurl', {\n\t\t// platform's tinyurl service\n\t\tmethod: 'POST',\n\t\tsuccessActionType: ACTION_TINY_URL_CREATED,\n\t\terrorActionType: ACTION_TINY_URL_CREATE_FAILED,\n\t\tbatch: false,\n\t\tdataParam: ['data'],\n\t}),\n\t[ACTION_TINY_URL_CREATED]: handleTinyUrlCreated,\n\t[ACTION_TINY_URL_CREATE_FAILED]: handleTinyUrlCreationFailed,\n\n\t[ACTION_RESOLVE_TINY_URL]: createHttpEffect('/api/now/tinyurl/:tinyId', {\n\t\tmethod: 'GET',\n\t\tsuccessActionType: ACTION_TINY_URL_RESOLVED,\n\t\terrorActionType: ACTION_TINY_URL_RESOLVE_FAILED,\n\t\tbatch: false,\n\t\tpathParams: ['tinyId'],\n\t}),\n\t[ACTION_TINY_URL_RESOLVED]: handleTinyUrlResolved,\n\t[ACTION_TINY_URL_RESOLVE_FAILED]: handleTinyUrlResolvedFailed,\n};\n","import actions from './statePersistence.actions';\n\nexport const statePersistenceBehavior = {\n\tname: 'statePersistence',\n\tproperties: {\n\t\tpersistedState: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tpersistedStateForRouter: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tpersistedStateForMain: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t},\n\tactionHandlers: actions,\n};\n","import { convertUrlToPayload } from 'sn-ux-core';\nimport { NAV_ITEM_SELECTED } from '../constants/constants';\n\nconst getSelectedContent = async (url) => {\n\tconst incomingContent = await convertUrlToPayload(url);\n\treturn incomingContent;\n};\n\nasync function navigateToIncomingUrl(e, dispatch) {\n\tconst target = '_self';\n\t// HANDLE THE EVENT ONLY IN CASE THE MESSAGE IS COMING FROM THE SAME ORIGIN\n\tif (e.origin !== location.origin) {\n\t\treturn;\n\t}\n\n\tconst { data } = e;\n\tif (!data) {\n\t\treturn;\n\t}\n\tconst {\n\t\turl = '',\n\t\tisFromLinkGrabber = false,\n\t\treloadFromPlugin = false,\n\t} = data;\n\t// HANDLE THE EVENT ONLY IN CASE THE MESSAGE IS COMING FROM OUR PLUGIN\n\tif (!isFromLinkGrabber || !url) {\n\t\treturn;\n\t}\n\n\tconst incomingUrl = new URL(url);\n\t// DO NOT ALLOW USERS TO NAVIGATE TO EXTERNAL SITES\n\tif (location.origin !== incomingUrl.origin) {\n\t\treturn;\n\t}\n\ttry {\n\t\tif (reloadFromPlugin || !dispatch) {\n\t\t\twindow.open(url, target);\n\t\t\treturn;\n\t\t}\n\t\tconst selectedContent = await getSelectedContent(url);\n\t\tselectedContent.isFromLinkGrabber = isFromLinkGrabber;\n\t\tdispatch(NAV_ITEM_SELECTED, selectedContent, {\n\t\t\tupdatePersistedState: true,\n\t\t});\n\t} catch (err) {\n\t\twindow.open(url, target);\n\t\tconsole.error(\n\t\t\t'Error while trying to dispatch navPayload, Reloading the page::',\n\t\t\terr,\n\t\t);\n\t}\n}\n\nexport default navigateToIncomingUrl;\n","import {actionTypes} from '@servicenow/ui-core';\nimport navigateToIncomingUrl from './navigateToIncomingUrl';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nlet navigateWithContext;\nexport default {\n\t[COMPONENT_CONNECTED]: (coeffects) => {\n\t\tnavigateWithContext = (e) => navigateToIncomingUrl(e, coeffects.dispatch);\n\t\twindow.addEventListener('message', navigateWithContext);\n\t},\n\t[COMPONENT_DISCONNECTED]: () => {\n\t\twindow.removeEventListener('message', navigateWithContext);\n\t}\n};\n","import { INTERNAL_NAV_PLUGIN_BEHAVIOR } from '../constants/constants';\nimport actions from './internalNavPlugin.actions';\n\n// This behavior is added to open links in the existing chrome tab, as a support for browser plugin/extension\nexport const internalNavPluginBehavior = {\n\tname: INTERNAL_NAV_PLUGIN_BEHAVIOR,\n\tactionHandlers: actions,\n};\n","import {\n\tDEFAULT_SESSION_PING,\n\tDEFAULT_SESSION_TIMEOUT,\n\tMIN_SESSION_PING,\n\tMAX_SESSION_PING,\n} from '../constants/constants';\nimport { get } from 'lodash';\n\nlet sessionPing = null;\n\n/**\n * Reset the cached sessionPing value, e.g. for testing purposes\n */\nexport const resetSessionPing = () => (sessionPing = null);\n\n/**\n * Get the page property `uxr_session_ping` which is represented in seconds.\n * If the property isn't set then value will be set to `DEFAULT_SESSION_PING`\n * The session ping must be between 30 seconds and the lower of glide.ui.session_timeout\n * and `DEFAULT_SESSION_PING`\n * A value of `0` is considered `off`.\n * All values are converted to milliseconds.\n *\n * @returns {number} sessionPing\n */\nexport const getSessionPing = () => {\n\tif (sessionPing) {\n\t\treturn sessionPing;\n\t}\n\tconst toMilliseconds = (seconds) => seconds * 1000;\n\tif (get(window, 'ux_globals.isEmbeddableFlow', false)) {\n\t\tsessionPing = toMilliseconds(DEFAULT_SESSION_PING);\n\t\treturn sessionPing;\n\t}\n\tconst sessionTimeout =\n\t\tget(\n\t\t\twindow,\n\t\t\t'ux_globals.sysprops[\"glide.ui.session_timeout\"]',\n\t\t\tDEFAULT_SESSION_TIMEOUT,\n\t\t) * 60;\n\tconst lowerBound = toMilliseconds(MIN_SESSION_PING);\n\tconst upperBound = toMilliseconds(\n\t\tMath.min(sessionTimeout, MAX_SESSION_PING),\n\t);\n\tsessionPing = toMilliseconds(\n\t\tget(\n\t\t\twindow,\n\t\t\t'ux_globals.pageProperties.uxr_session_ping',\n\t\t\tDEFAULT_SESSION_PING,\n\t\t),\n\t);\n\n\tif (\n\t\t(sessionPing > 0 && sessionPing < lowerBound) ||\n\t\tsessionPing >= upperBound\n\t) {\n\t\tsessionPing = toMilliseconds(DEFAULT_SESSION_PING);\n\t}\n\n\treturn sessionPing;\n};\n","import throttle from 'lodash/throttle';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { getSessionPing } from '../utils/get-session-ping';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED } = actionTypes;\n\nlet defaultEventRegistry = new Map();\n\nexport const ACTION_TYPES = {\n\tEXTEND_UI_SESSION_REQUESTED: 'EXTEND_UI_SESSION_REQUESTED',\n\tEXTEND_UI_SESSION_SUCCESS: 'EXTEND_UI_SESSION_SUCCESS',\n\tEXTEND_UI_SESSION_FAILED: 'EXTEND_UI_SESSION_FAILED',\n\tSHOULD_EXTEND_UI_SESSION: 'SHOULD_EXTEND_UI_SESSION',\n};\n\nconst EMBEDDABLES_TOUCH_SESSION = '/api/now/uxframework/touch-session';\nconst TOUCH_SESSION = '/api/now/uisession/touch-session';\n\nconst getSessionExtensionUrl = () =>\n\twindow.ux_globals?.isEmbeddableFlow\n\t\t? EMBEDDABLES_TOUCH_SESSION\n\t\t: TOUCH_SESSION;\n\nconst extendUISessionEffect = createHttpEffect(getSessionExtensionUrl(), {\n\tmethod: 'POST',\n\tsuccessActionType: ACTION_TYPES.EXTEND_UI_SESSION_SUCCESS,\n\terrorActionType: ACTION_TYPES.EXTEND_UI_SESSION_FAILED,\n});\n\nexport function sessionExtensionEffect(\n\tevents,\n\teffect,\n\teventRegistry = defaultEventRegistry,\n) {\n\treturn (coeffect) => {\n\t\tevents.forEach((event) => {\n\t\t\teventRegistry.set(event, (event) => effect(coeffect, event));\n\t\t\tdocument.body.addEventListener(\n\t\t\t\tevent,\n\t\t\t\teventRegistry.get(event),\n\t\t\t\ttrue,\n\t\t\t);\n\t\t});\n\t};\n}\n\nexport function createDisconnectEffect({\n\tevents,\n\teventRegistry = defaultEventRegistry,\n}) {\n\treturn () => {\n\t\tevents.forEach((event) => {\n\t\t\tif (eventRegistry.has(event))\n\t\t\t\tdocument.body.removeEventListener(\n\t\t\t\t\tevent,\n\t\t\t\t\teventRegistry.get(event),\n\t\t\t\t\ttrue,\n\t\t\t\t);\n\t\t});\n\t};\n}\n\nexport function createEffectForEvents({\n\tevents,\n\teffect,\n\teventRegistry = defaultEventRegistry,\n}) {\n\treturn {\n\t\tremoveEventListeners: createDisconnectEffect({ events, eventRegistry }),\n\t\tregisterEventListeners: sessionExtensionEffect(\n\t\t\tevents,\n\t\t\teffect,\n\t\t\teventRegistry,\n\t\t),\n\t};\n}\n\nexport const { removeEventListeners, registerEventListeners } =\n\tcreateEffectForEvents({\n\t\tevents: ['click', 'keyup', 'contextmenu'],\n\t\teffect: throttle(\n\t\t\t(coeffect) => {\n\t\t\t\tconst { dispatch } = coeffect;\n\t\t\t\tdispatch(ACTION_TYPES.SHOULD_EXTEND_UI_SESSION, {});\n\t\t\t},\n\t\t\tgetSessionPing(),\n\t\t\t{ leading: true, trailing: false },\n\t\t),\n\t});\n\nexport const checkLoggedInStateEffect = (coeffects) => {\n\tconst { dispatch, host } = coeffects;\n\tconst { canvasSession } = host.getResolvedProperties();\n\tif (canvasSession.isLoggedIn) {\n\t\tdispatch(ACTION_TYPES.EXTEND_UI_SESSION_REQUESTED, {});\n\t}\n};\n\n/**\n * Shareable behavior to keep the user's session alive periodically.\n * On left mouse click, right mouse click, and keyboard press, it will send a POST request to the server to keep\n * the session alive.\n * The POST request is throttled so that it doesn't flood the server.\n * Throttling time can be configured by the `uxr_session_ping` UX Page Property.\n * Valid values for that property are 30 - 1800 ( in seconds ), or 0.\n * Setting the value to 0 will turn this feature off.\n */\nexport const sessionExtensionBehavior = {\n\tname: 'SESSION_EXTENSION',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: registerEventListeners,\n\t\t[COMPONENT_DISCONNECTED]: removeEventListeners,\n\t\t[ACTION_TYPES.SHOULD_EXTEND_UI_SESSION]: checkLoggedInStateEffect,\n\t\t[ACTION_TYPES.EXTEND_UI_SESSION_REQUESTED]: extendUISessionEffect,\n\t},\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport ambClientProxy from '../ambStatusBehavior/ambClientProxy';\nimport { getSessionFromUxGlobalEffect } from '../canvasSessionBehavior/effects/bootstrapEffect';\nimport ambStatusEffect from '../ambStatusBehavior/ambStatusEffect';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\nconst {\n\tAMB_EVENT_SESSION_LOGGED_OUT,\n\tAMB_EVENT_SESSION_INVALIDATED,\n\tAMB_EVENT_SESSION_LOGGED_IN,\n} = ambStatusEffect.ACTION_TYPES;\n\nconst EMBEDDABLES_SESSION_BEHAVIOR = 'EMBEDDABLES_SESSION_BEHAVIOR';\nconst EMBEDDABLES_SESSION_LOGGED_OUT = 'EMBEDDABLES_SESSION_LOGGED_OUT';\n\nconst onConnect = ({ dispatch, updateProperties }) => {\n\tambClientProxy.dispatchOnEvent(AMB_EVENT_SESSION_LOGGED_OUT, dispatch);\n\tambClientProxy.dispatchOnEvent(AMB_EVENT_SESSION_INVALIDATED, dispatch);\n\tambClientProxy.dispatchOnEvent(AMB_EVENT_SESSION_LOGGED_IN, dispatch);\n\tupdateProperties({\n\t\tcanvasSession: getSessionFromUxGlobalEffect(),\n\t});\n};\n\nconst onDisconnect = () => {\n\tambClientProxy.unsubscribeFromActions();\n};\n\nconst handleSessionLoggedOut = ({ updateProperties, dispatch, properties }) => {\n\tconst { canvasSession } = properties;\n\tif (canvasSession.isLoggedIn) {\n\t\tlet updatedCanvasSession = {\n\t\t\t...canvasSession,\n\t\t\tisLoggedIn: false,\n\t\t};\n\t\tupdateProperties({\n\t\t\tcanvasSession: updatedCanvasSession,\n\t\t});\n\t\tdispatch(EMBEDDABLES_SESSION_LOGGED_OUT);\n\t}\n};\n\nconst handleSessionLoggedIn = ({ updateProperties, properties }) => {\n\tconst { canvasSession } = properties;\n\tif (!canvasSession.isLoggedIn) {\n\t\tlet updatedCanvasSession = {\n\t\t\t...canvasSession,\n\t\t\tisLoggedIn: true,\n\t\t};\n\t\tupdateProperties({\n\t\t\tcanvasSession: updatedCanvasSession,\n\t\t});\n\t}\n};\n\nexport const embeddablesSessionBehavior = {\n\tname: EMBEDDABLES_SESSION_BEHAVIOR,\n\tproperties: {\n\t\tcanvasSession: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdeepCompare: true,\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: onConnect,\n\t\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\t\t[AMB_EVENT_SESSION_LOGGED_OUT]: handleSessionLoggedOut,\n\t\t[AMB_EVENT_SESSION_INVALIDATED]: handleSessionLoggedOut,\n\t\t[AMB_EVENT_SESSION_LOGGED_IN]: handleSessionLoggedIn,\n\t},\n};\n"],"version":3}},{"offset":{"line":356,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/sn-window-manager/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","CREATE_WINDOW","CLOSE_WINDOW","OPEN_WINDOW","OPEN_DEBUG_WINDOW","BROADCAST_MESSAGE","RELAY_MESSAGE","FOCUS_WINDOW","SET_HEADER_BUTTONS","CHECK_WINDOW_LOCATIONS","TOGGLE_DOCK","TOGGLE_MODAL_STATE","TOGGLE_MINIMIZE_STATE","CLOSE_DOCK","UPDATE_BODY_CLASS_NAMES","SCREEN_CHANGED","SET_DIRTY_STATE","SET_WINDOW_PROPERTIES","SN_WINDOW_DIALOG_CLOSE_CONFIRMED","UPDATE_BOTTOM_TOOLBAR_ELEMENTS","TOGGLE_OVERFLOW_POPOVER","SET_OVERFLOW_BUTTON_REF","SN_WINDOW_DIALOG_CLOSE_CANCELED","UPDATE_MINIMIZED_TARGET_POSITION","FOCUS_BOTTOM_TOOLBAR_REQUESTED","WM_CREATE_WINDOW","WM_CLOSE_WINDOW","WM_OPEN_WINDOW","WM_CLOSE_DOCK","WM_TOGGLE_DOCK","WM_TOGGLE_MODAL","WM_TOGGLE_MINIMIZED","WM_RELAY_MESSAGE","WM_FOCUS_WINDOW","WM_SET_HEADER_BUTTONS","WM_SET_DIRTY_STATE","WM_SET_WINDOW_PROPERTIES","UXF_CREATE_MODELESS_WINDOW","UXF_SHOW_MODELESS_WINDOW","UXF_CLOSE_MODELESS_WINDOW","UXF_MINIMIZE_MODELESS_WINDOW","UXF_DIRTY_MODELESS_WINDOW","UXF_UPDATE_MODELESS_WINDOW","UXF_SELECT_MODELESS_WINDOW","UXF_WM_SCREEN_SELECTED","UXF_CLOSE_MODELESS_WINDOW_ON_STAGE","UXF_FOCUS_WINDOW","UXF_CLOSE_DOCK","UXF_TOGGLE_DOCK","UXF_TOGGLE_MODAL","UXF_TOGGLE_MINIMIZED","UXF_CLOSE_WINDOW","UXF_OPEN_WINDOW","UXF_WINDOW_FOCUSED","AIEL_NAVIGATION_REQUESTED","GLOBAL_NAVIGATION_REQUESTED","NAV_ITEM_SELECTED","SIDEBAR_UNREAD_MESSAGE","SET_SIDEBAR_CHAT_PRIVATE","clampDialogPosition","_ref","dialogLocation","dialogSize","left","top","normalizeDialogLocation","width","height","viewportWidth","window","innerWidth","viewportHeight","innerHeight","clampedWidth","Math","min","clampedHeight","maxLeft","maxTop","newLeft","max","newTop","right","bottom","isWindowInBounds","normalizedDialogLocation","windowLocationValid","windowLocationInBounds","coordinateSystem","isDeepEqual","object1","object2","objKeys1","keys","objKeys2","value1","value2","isObjects","isObject","isFunctions","isFunction","object","deepSearchElement","selector","queue","document","body","shift","ele","querySelector","topShadow","shadowRoot","allSearched","querySelectorAll","keepInBoundary","container","boundaryElement","toolBar","draggableRect","getBoundingClientRect","boundaryRec","style","classList","contains","toolBarRect","shiftTo","newX","newY","createHDSBoundsPayload","bounds","mouseEvent","fullscreen","payload","positions","mouse","X","floor","clientX","Y","clientY","offset","dimensions","dispatchModelessDialogAction","contentElement","windowConfig","actionName","isFullscreen","dispatch","_dialogLocation$left","_dialogLocation$top","constructedBounds","defaultButtonVariant","touchEnhancedButtonSize","determineUseTouchEnhancedButtons","coeffects","_coeffects$properties","_coeffects$properties2","properties","browserDimensions","CustomHeaderButtonIconic","_button$properties","_button$properties2","_button$properties3","_button$properties4","_button$properties5","_button$properties8","button","ButtonComponent","type","element","size","bare","icon","variant","tooltipContent","label","configAria","on-click","_button$properties6","_button$properties7","onClick","action","appendToPayload","CloseButton","_ref2","useTouchEnhancedButtons","dispatchedEvent","isUXFWindow","tooltipLabel","closeButtonTooltip","headingLabel","closeIcon","buttonAction","stopPropagation","closeToElement","forceUpdate","matchCoordinateSystemToClosingLocation","closedFromButton","OpenButton","LeftDockButton","_ref4","windowsState","showHorizontalDockOptions","isRTL","dir","isDocked","buttonId","buttonIcon","dockTooltip","dockConfig","dockRightIcon","class","dockLocation","preventDefault","RightDockButton","_ref5","ToggleModalButton","_ref6","isModal","MinimizeWindowButton","_ref7","minimizedWindows","includes","DragButton","_ref8","state","updateState","isDragModeEnabled","KEY_MOVEMENT_STEP_AMOUNT","setTargetRef","ref","setTimeout","targetRef","_ref9","elm","hook-destroy","className","on-blur","enabled","SN_WINDOW_OPENED","SN_WINDOW_CLOSED","SN_WINDOW_CREATED","SN_WINDOW_MINIMIZED","SN_WINDOW_CHECK_LOCATION","SN_WINDOW_START_DRAG","SN_WINDOW_END_DRAG","SN_WINDOW_KEY_PRESSED","SN_WINDOW_SET_DIRTY_STATE","SN_WINDOW_SET_WINDOW_SIZE","SN_WINDOW_SET_DOCKED_WINDOW_SIZE","SN_WINDOW_SET_WINDOW_PROPERTIES","NOW_MODELESS_DIALOG_CONTENT_VISIBLE","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","getComponentsByTagNames","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__","PREFERENCES","getBooleanPreferenceValue","getPreferenceValue","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__","debounce","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__","getFocusableNodes","PORTAL_TYPES","normalizeDialogSize","_convertValue","_convertValue2","convertValue","dimension","endsWith","percentage","parseFloat","browserSize","round","sanitizeHtmlString","str","replace","match","token","charAt","charCode","parseInt","substr","toLowerCase","isNaN","String","fromCharCode","amp","lt","gt","quot","apos","nbsp","decodeEntities","DOMPurify","ALLOWED_TAGS","trim","createBrowserWindowMutationObserver","updateProperties","modalWindow","mutationObs","ResizeObserver","mutationsList","handleBrowserWindowMutations","mutation","_mutation$contentRect","_mutation$contentRect2","contentRect","observe","browserWindowMutationObserver","completeDockToggle","newLeftDockId","newRightDockId","newBottomDockId","dockSide","windowsList","currentWindow","find","isWindowDocked","modalWindows","filter","windowId","leftDockId","rightDockId","bottomDockId","secondaryMenuId","handleStateChangeCallback","stateChangeCallback","handleOpenWindow","newProperties","contentElementProperties","forEach","component","isOpen","activeWindowId","dispatchEventToContentElement","isAnimating","newWindowList","isMinimized","windowStartingState","stateWhenClosed","indexOf","handleToggleMinimize","forceMinimize","overrideConfig","currWindow","canMinimize","currMinimizedWidows","newActiveWindowId","splice","existingPositions","minimizedTargetPositions","newWindowsState","isRestoring","dispatchEventToWindow","name","existingPositionValues","values","finalWindowsState","fromEntries","wId","index","sort","b","position","clampedPosition","_currWindow$component","windowBounds","_currWindow$component2","isFullscreenView","handleDialogCloseCancelled","closingWindowId","showCloseConfirmDialog","event","_currentWindow$compon6","extraPayload","console","info","screenKey","instanceId","experienceId","componentId","uxrComponentId","eventPayload","COMPONENT_DOM_TREE_READY","COMPONENT_PROPERTY_CHANGED","COMPONENT_RENDERED","setAnimationClass","host","disabled","_host$classList","_host$classList2","add","remove","animationTimeouts","WeakMap","isFullScreen","fullscreenViewConfig","widthThreshold","modalThresholds","standardThresholds","heightThreshold","computeStyleObj","_windowConfig$autoRes","_properties$windowCon","_properties$windowCon2","autoResizeEnabled","autoResizableConfig","enableAutoResizableHeight","styleObj","autoResizableMinHeight","autoResizableMaxHeight","borderRadius","isLeft","isRight","isBottom","dockedWindowSize","closeToTop","_windowConfig$closeTo","_windowConfig$closeTo2","_windowConfig$closeTo3","_windowConfig$closeTo4","_windowConfig$closeTo5","_windowConfig$closeTo6","_windowConfig$closeTo7","_windowConfig$closeTo8","_windowConfig$closeTo9","_windowConfig$closeTo0","_windowConfig$closeTo1","_windowConfig$closeTo10","topCoordinate","bottomCoordinate","leftCoordinate","rightCoordinate","closingLocation","transformOrigin","_properties$windowsSt","_properties$windowsSt2","_properties$windowsSt3","target","positionsCleared","targetTopRightX","targetTopRightY","verticalOffset","modalLeft","modalTop","_windowConfig$autoRes2","_windowConfig$autoRes3","_windowConfig$autoRes4","_windowConfig$autoRes5","transform","modalWidth","mWidth","modalSize","mHeight","dim","total","px","css","widthPx","widthCss","heightPx","heightCss","updateShadowRootStyling","_icon","_icon$shadowRoot","header","_button$shadowRoot","removeChild","nowIconShadowRoot","existingStyle","styling","innerHTML","appendChild","handleSetHeaderButtons","headerButtons","handleSetWindowSize","_windowConfig$autoRes6","newDialogSize","requestAnimationFrame","updateButtonFocus","focusButtonId","_getFocusableNodes","isActive","headerElement","buttons","tabbableNodes","blur","_host$shadowRoot","_nativeButton$animate","buttonToFocus","nativeButton","focus","focusVisible","animate","duration","finished","then","_buttons$","actionHandlers","hasModalEventListenerSet","modalElement","parentNode","modalOverlayClickEnabled","canMaximize","addEventListener","operation","path","shouldRender","animationsDisabled","contentTagName","slottedHeading","slottedContent","slottedFooter","slottedActions","headingElements","createDocumentFragment","elem","contentElements","footerElements","actionsElements","tagName","portalType","isFloating","_properties$windowCon3","parentElement","contentSlot","_slottedContent","prepend","error","warn","footerSlot","hasAttribute","removeAttribute","headerSlot","actionsSlot","resizeEnabled","canDrag","startingState","fitContent","footer","headerHeight","offsetHeight","footerHeight","bottomToolbarHeight","bottomToolbarComponent","_properties$bottomToo","toolbar","availableHeight","dialogHeight","dialogWidth","margin","iframeElement","pointerEvents","resizableConfig","enableResizable","remMulitplier","getComputedStyle","getPropertyValue","setProperty","_getFocusableNodes2","previousValue","nextWindowsState","_previousValue$minimi","_value$minimizedTarge","_prevTargetPos$top","_newTargetPos$top","_prevTargetPos$left","_newTargetPos$left","_prevTargetPos$width","_newTargetPos$width","_prevTargetPos$height","_newTargetPos$height","_nextWindowsState$min","_properties$windowsLi","prevTargetPos","newTargetPos","targetPositionInitiallySet","targetPositionChanged","getDockKey","_Object$keys$find","prevDockKey","newDockKey","dockTargetChange","isOpeningOrClosing","isOpening","modalTransition","animationTimeoutDuration","hasMinimizeTarget","isMinimizing","willAnimate","newState","currentState","dispatchEventToContent","hasFocus","hasModalTransition","newStyleObj","finalStyleObj","skipImmediateResizeUpdate","resizableConfigUpdate","canResize","lastState","opened","pinnedHeaderHeight","w","existingTimeout","clearTimeout","delete","set","modelessDialog","wrapper","wrapperBounds","_ref3","screenInfo","matchesCurrentLocationFormat","locationIsDifferent","newLocation","newSize","isLeftDocked","isRightDocked","isBottomDocked","effect","maxWidth","isDirty","newHeadingLabel","title","dialogTitle","modelessDialogControllerId","sourceElementId","compositionId","meta","_properties$contentEl","_properties$contentEl2","eventHandlers","events","maxWindowSizePercentage","_properties$dialogSiz","_properties$dialogSiz2","widthPercent","heightPercent","dialogElement","newMaxWidth","newMaxHeight","_properties$dialogSiz3","_properties$dialogSiz4","lastChild","resizableMaxWidth","resizableMaxHeight","ButtonsPanel","_fullscreenViewConfig","_fullscreenViewConfig2","fullScreenBreakpoint","dockLeft","dockRight","canToggleModal","canDock","canClose","isPersistent","DockedWindow","_windowConfig$headerI","targetHeaderSlot","targetActionsSlot","targetContentSlot","targetFooterSlot","slot","hideHeadingDivider","headerIcon","isMessageUnread","isChatPrivate","color","handleModalMutations","dialogContainer","attributeName","handleModalResize","dialogTop","offsetTop","windowHeight","offsetWidth","finalRect","finalToolbarRect","isHidden","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__","endDrag","removeEventListener","dragHandler","isDragging","mouseOffsetX","mouseOffsetY","initialState","dragHandleElement","dragContainerElement","__mousedownListener__","__keydownListener__","dragHandle","dragContainer","nonDragElements","isDraggable","_element$tagName","startsWith","some","nonDragTag","_element$tagName2","nonDragRole","_element$role","role","keydownListener","keyEvent","mousedownListener","startDrag","tooltip","containerBounds","resetWindowSize","offsetX","offsetY","_button$shadowRoot2","pageX","pageY","onMouseUp","handleModelessMousedown","_action$payload","handleModelessMouseup","keyPressed","bottomToolBar","origLeft","offsetLeft","origTop","isShift","shiftKey","view","_properties$windowCon4","mutationObserver","resizeObserver","leftDockOpen","rightDockOpen","transitionClass","navRef","onCurrentScreen","isGlobalWindow","_nowWindowManager$scr","_window$ux_globals","_nowWindowManager$scr2","_window$ux_globals2","currentScreenKey","nowWindowManager","ux_globals","snCanvasScreen","screenId","currentExperienceId","hidden","docked","modal","floating","minimized","active","closed","useFlexContentLayout","dialog","createMutationObserver","disconnect","MutationObserver","resizeObs","attributes","_properties$mutationO","_properties$resizeObs","styles","schema","shouldRenderWhenSet","isSmallScreen","availablePanels","computed","resizableMinWidth","resizableMinHeight","context","enum","setInitialState","behaviors","behavior","rtlBehavior","focusBehavior","options","trap","modalBehavior","limit","watchPropertyName","dragBehavior","resizableBehavior","resizeTarget","getResizableConfig","POLARIS_CONTEXT","experienceName","defaultWindowOptions","renderer","snabbdom","buttonSize","showTopButtons","route","params","menuId","buttonConfig","contextualMenuType","contextualMenuHeaderText","dispatchedAction","modelessProps","enableDrag","manageOpened","opts","minimizedTitle","category","eventInfo","elementId","hideOthers","singleInstance","contentRef","src","resolvedProps","COMPONENT_CONNECTED","command","checked","viewCount","PROPERTY_CHANGED","newButtons","MIN_BUTTON_WIDTH","createResult","zone1Windows","zone2Windows","zone1VisibleCount","zone2VisibleCount","zone1OverflowCount","zone2OverflowCount","calculatedButtonWidth","bothZonesHaveOverflow","halfOfVisibleButtons","visible1","slice","visible2","overflowCount1","overflowCount2","overflowWindows1","overflowWindows2","showDivider","buttonWidth","useBalancedSizing","computeZones","zone3Width","zone1ButtonCount","zone2ButtonCount","zone3TotalSpace","availableWidth","totalButtonCount","optimalButtonWidth","spaceForButtons","maxVisibleButtons","allocateSlots","halfOfSlots","targetSlotsPerZone","zone1Gap","zone2Gap","remainingSlots","leftoverSlots","totalVisibleButtons","isTruncated","labelSpan","scrollWidth","clientWidth","handleTooltipCheck","closest","truncated","closePopoverOnTabOut","zoneId","actionSource","appended","createItemKeydownHandler","itemIndex","totalItemCount","isShiftTab","isFirstItem","isLastItem","isOnCloseButton","handleArrowKeyNavigation","currentElement","currentTarget","items","Array","from","currentIndex","_items$nextIndex","isArrowDown","totalItems","windows","isGlobal","windowType","windowCount","ariaLabel","renderWindowItem","subtitle","hasIcon","tabIndex","hidePadding","updateButtonPosition","el","windowIdOrWindows","overflow","targetButton","rect","rectData","ZoneOverflowButton","count","openedOverflowZone","vnode","buttonRef","hook-update","oldVnode","MinimizedButtonView","_windowConfig$headerI2","_windowConfig$headerI3","_windowConfig$compone","_windowConfig$headerI4","headingLabelText","hasHeaderIcon","subtext","prevToolbarOpen","COMPONENT_DISCONNECTED","measureZone3Width","hoistTargetElem","resizeUpdateZone3Width","childNodes","child","visibility","display","filterMinimizedWindows","minimizedWindowList","globalMinimizedWindows","scopedMinimizedWindows","mainToolbarElement","observer","isCurrentSelectedScreen","_window$nowWindowMana","_child$sourceElement","_child$sourceElement2","sourceElement","activeHoistedContent","isSlottedElemVisible","nodeType","Node","ELEMENT_NODE","computedStyle","hasSlottedContent","childList","_zone3MutationObserver","__windowManagerConfig","zoneThreeHoistTarget","hoistedElements","hasHoistedElement","elemHoistInfo","overflowButtonRefs","zoneFromPopover","isConnected","newWindowId","newButton","_properties$browserDi","_properties$browserDi2","_properties$zone3Widt","bottomDockOpen","isToolbarOpen","_tabbableElements$nex","currentItem","composedPath","tabbableElements","nextIndex","balanced","zone1","empty","zone2","pinDropDownView","showPadding","hideCaret","hideLabel","align","COMPONENT_BOOTSTRAPPED","pinningDropDown","customHeaderButtons","url","detail","open","newStyleSheet","dynamicStyleSheet","styleEl","head","sheet","createStyleSheet","insertRule","cssRules","windowManager","createWindow","openWindow","closeWindow","forceDestroy","closeDock","dock","toggleDock","toggleModal","forceEnableModal","toggleMinimized","relayMessage","message","debugWindow","focusWindow","getContentElement","setHeaderButtons","buttonsData","doesWindowExist","setContentProperties","props","setWindowProperties","setWindowSize","dockedMode","newDockedWindowSize","handleScreenChanged","setDirtyState","dirtyState","updateUserPreferences","userPreferences","DISABLE_ANIMATION","closeAllWindows","getDockedWindowId","userPrefs","coerceBoolean","val","_err","isArray","pref","p","isLoaded","handleComponentConnected","handleToggleLeftDock","handleToggleRightDock","handleToggleBottomDock","_currentWindow$compon3","_currentWindow$compon4","_currentWindow$compon5","_payload$content4","_payload$content5","_newWindowConfig$star","_newWindowConfig$star2","_newWindowConfig$star3","_payload$content$comp","existingWindowConfig","newWindowConfig","newWindowDataConfig","_payload$closeIcon","_payload$dockConfig$d","_payload$dockConfig","_payload$dockConfig$d2","_payload$dockConfig2","_payload$dockConfig$d3","_payload$dockConfig3","_payload$dockConfig$d4","_payload$dockConfig4","_payload$dockConfig$d5","_payload$dockConfig5","_payload$fullscreenVi","_payload$fullscreenVi2","_payload$fullscreenVi3","_payload$fullscreenVi4","_payload$headerIcon","_payload$headerIcon2","_payload$dialogLocati","_payload$dialogLocati2","_payload$dialogLocati3","_payload$dialogLocati4","_payload$dialogLocati5","_payload$dialogLocati6","_payload$dialogLocati7","_payload$dialogLocati8","_payload$modalSize","_payload$modalSize2","_payload$content","_payload$content2","_payload$resizableCon","_payload$resizableCon2","_payload$content3","_payload$autoResizabl","c","random","JSON","parse","dockBottom","dockLeftIcon","reopenAsFloatingWindow","confirmClose","confirmCloseMessage","bottomDockHeight","updateDialogLocationBottomDock","normalizedLocation","areWindowsOverlapping","window1","window2","normalizedWindow1","normalizedWindow2","windowsAreOpen","windowsAreInSameLocation","initialPosition","newWindowsList","startLeft","startTop","isOccupied","clampedLeft","clampedTop","findAvailableDialogPosition","nowWindow","_currentWindow$compon","_currentWindow$compon2","newMinimizedWindows","newModalWindows","windowComponent","_windowComponent$shad","wasConfirmed","undockedWindowId","undockedWindow","doPinning","isPrimary","primaryMenuId","isPinnedWindow","mainMenuPinnedId","MAIN_MENU_PINNED_ID","bottomToolbar","sanitizedProperties","propertyValue","_state$properties$win","prevPositions","updatedPositions","isUnread","isPrivate","_windowsState$minimiz","_windowsState$minimiz2","_bottomToolbarCompone","_focusableNodes$tabba","_focusableNodes$tabba2","minimizedCount","replaceContent","focusableNodes","firstButton","maxRetries","Promise","resolve","attempts","attemptFocus","_error","focusElementWithRetry","focusSuccess","pinned","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","deregisterComponent","registerComponent","setActionState","nowTriggerLibRegistrationId","KEYBOARD_SHORTCUTS","actionMap","source","headerLabel","footerActions","clickActionType","deepCompare","calculatedStyle","unifiedNavComponent","keyboardShortcutsBehavior","__TECTONIC__$servicenow_sn_window_manager"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/sn-overflow-popover/sn-overflow-popover.scss","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/styles.scss","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/fragments/debug-styles.scss","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/styles.scss","webpack:///@servicenow/sn-window-manager/src/sn-window/styles.scss","webpack:///./src/sn-window-manager/bottomToolbar/sn-overflow-popover/sn-overflow-popover.scss?fa83","webpack:///./src/sn-window-manager/bottomToolbar/styles.scss?d78e","webpack:///./src/sn-window-manager/fragments/debug-styles.scss?a7bc","webpack:///./src/sn-window-manager/styles.scss?52e6","webpack:///./src/sn-window/styles.scss?e331","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/utilities/actions.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/utilities/helpers.js","webpack:///@servicenow/sn-window-manager/src/sn-window/behaviors/utils/helpers.js","webpack:///@servicenow/sn-window-manager/src/sn-window/fragments/buttons.js","webpack:///@servicenow/sn-window-manager/src/sn-window/behaviors/utils/keyboard-events.js","webpack:///@servicenow/sn-window-manager/src/sn-window/actions.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/unav-utils/29.0.1-polaris.19/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/dompurify/3.2.6/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/27.0.2/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/utilities/constants.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/utilities/index.js","webpack:///@servicenow/sn-window-manager/src/sn-window/sn-window.effects.js","webpack:///@servicenow/sn-window-manager/src/sn-window/fragments/buttonPanel.js","webpack:///@servicenow/sn-window-manager/src/sn-window/fragments/dockedWindow.js","webpack:///@servicenow/sn-window-manager/src/sn-window/sn-window.view.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/27.3.4/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-modal/27.0.2/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resizable/27.0.2/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window/behaviors/utils/mouse-events.js","webpack:///@servicenow/sn-window-manager/src/sn-window/behaviors/drag-behavior.js","webpack:///@servicenow/sn-window-manager/src/sn-window/sn-window.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/fragments/debug-panel.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/bottomToolbar.utils.js","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/sn-overflow-popover/sn-overflow-popover.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/bottomToolbar.view.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/bottomToolbar.effects.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/bottomToolbar/bottomToolbar.js","webpack:///external module \"/uxasset/externals/@servicenow/now-dropdown/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/example/header-button-example.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/sn-window-manager.view.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/sn-window-manager.effects.js","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/behaviors/keyboard-shortcuts-behavior.js","webpack:///@servicenow/sn-window-manager/src/sn-window-manager/sn-window-manager.js","webpack:///@servicenow/sn-window-manager/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-block-end--xxs{margin-block-end:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-inline--xxs{margin-inline-end:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-inline-end--xxs{margin-inline-end:calc(.125rem*var(--na-ss-rem-multiplier))}.now-m-block--xs{margin-block-end:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-block-end--xs{margin-block-end:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-inline--xs{margin-inline-end:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-inline-end--xs{margin-inline-end:calc(.25rem*var(--na-ss-rem-multiplier))}.now-m-block--sm{margin-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:calc(.5rem*var(--na-ss-rem-multiplier))}.now-m-block-end--sm{margin-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-m-inline--sm{margin-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:calc(.5rem*var(--na-ss-rem-multiplier))}.now-m-inline-end--sm{margin-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-block--sm{padding-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-block-end--sm{padding-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-inline--sm{padding-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:calc(.5rem*var(--na-ss-rem-multiplier))}.now-p-inline-end--sm{padding-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.sn-overflow-popover{background-color:RGB(var(--now-popover--background-color,var(--now-color--neutral-0,255,255,255)));border-radius:6px;color:RGB(var(--now-menu-contextual_container_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;flex-direction:column;max-width:250px;overflow:hidden}.sn-overflow-popover-header{align-items:center;background-color:RGB(var(--now-color_background--secondary,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));border-bottom:1px solid RGB(var(--now-menu-contextual_container--primary--border-color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-color_text--tertiary,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:flex;font-size:12px;font-weight:400;min-height:24px;padding:4px 16px}.sn-overflow-popover-list{max-height:300px;overflow-y:auto;padding:calc(.25rem*var(--na-ss-rem-multiplier)) 0}.sn-overflow-popover-item{align-items:center;background-color:RGB(var(--now-popover--background-color,var(--now-color--neutral-0,255,255,255)));border-bottom:1px solid RGB(var(--now-menu-contextual_container--primary--border-color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-menu-contextual_container_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));cursor:pointer;display:flex;gap:8px;min-height:32px;outline:none;padding:8px 16px 8px 16px}.sn-overflow-popover-item:focus,.sn-overflow-popover-item:hover{background-color:RGB(var(--sn-overflow-popover-item--background-color--hover,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));color:RGB(var(--now-menu-contextual_container_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-overflow-popover-item:focus{box-shadow:inset 0 0 0 2px RGB(var(--now-color_border--primary,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-overflow-popover-item:last-child{border-bottom:none}.sn-overflow-popover-item-icon{flex-shrink:0;height:16px;width:16px}.sn-overflow-popover-item-icon,.sn-overflow-popover-item:hover .sn-overflow-popover-item-icon{color:RGB(var(--now-color_text--primary,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-overflow-popover-item-content{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.sn-overflow-popover-item-title{color:RGB(var(--now-color_text--primary,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:16px}.sn-overflow-popover-item-subtitle,.sn-overflow-popover-item-title{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-overflow-popover-item-subtitle{color:RGB(var(--sn-overflow-popover-item-subtitle--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:calc(.75rem*var(--na-ss-rem-multiplier))}.sn-overflow-popover-item-close{align-items:center;display:flex;flex-shrink:0;justify-content:center}@media(forced-colors:active){.sn-overflow-popover{border-color:highlight}.sn-overflow-popover-header{border-bottom-color:highlight}.sn-overflow-popover-header,.sn-overflow-popover-item:hover{background-color:highlight;color:highlighttext}.sn-overflow-popover-item:hover .sn-overflow-popover-item-icon{color:highlighttext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-window-manager-toolbar{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-radius:20px 20px 0 0;bottom:0;box-shadow:0 -2px 4px rgba(0,0,0,.1);display:flex;flex-direction:row;height:0;left:0;overflow:hidden;pointer-events:all;position:absolute;right:0;transition:left .15s ease-in-out,right .15s ease-in-out,height .15s ease-in-out;z-index:100}.sn-window-manager-toolbar.opened{border-radius:20px 20px 0 0;border-top:solid 1px RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));height:56px}.sn-window-manager-toolbar.is-rtl{direction:rtl}.sn-window-manager-toolbar .toolbar-zone{align-items:center;display:flex}.sn-window-manager-toolbar .toolbar-zone.zone3{align-content:center;flex:0 0 auto;flex-direction:column;flex-wrap:wrap;justify-content:center;margin-inline-end:calc(.75rem*var(--na-ss-rem-multiplier));margin-inline-start:auto;max-width:calc(100% - 153px - 2rem*var(--na-ss-rem-multiplier));min-width:0}.sn-window-manager-toolbar .toolbar-zone.zone3 now-loader{display:none}.sn-window-manager-toolbar .toolbar-zone.zone1,.sn-window-manager-toolbar .toolbar-zone.zone2{align-items:stretch;display:flex;flex:0 1 auto;gap:0;margin:0;max-width:100%;min-width:0;overflow:hidden;padding:0}.sn-window-manager-toolbar .toolbar-zone.zone1.empty,.sn-window-manager-toolbar .toolbar-zone.zone2.empty{flex:0 0 0}.sn-window-manager-toolbar .toolbar-zone.zone1.balanced,.sn-window-manager-toolbar .toolbar-zone.zone2.balanced{flex:1 1 0}.sn-window-manager-toolbar .toolbar-zone.zone1 .window-button:not(.overflow),.sn-window-manager-toolbar .toolbar-zone.zone2 .window-button:not(.overflow){flex:1 1 0;max-width:180px;min-width:0;transition:width .3s ease-in-out;width:100%}.sn-window-manager-toolbar .toolbar-zone.zone1 .window-button:not(.overflow) button,.sn-window-manager-toolbar .toolbar-zone.zone2 .window-button:not(.overflow) button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-window-manager-toolbar .toolbar-zone.zone1 .window-button:not(.overflow) .button-content,.sn-window-manager-toolbar .toolbar-zone.zone2 .window-button:not(.overflow) .button-content{overflow:hidden;width:100%}.sn-window-manager-toolbar .toolbar-zone.zone1 .window-button:not(.overflow) .button-label,.sn-window-manager-toolbar .toolbar-zone.zone2 .window-button:not(.overflow) .button-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-window-manager-toolbar .toolbar-zone.zone1 .window-button.overflow,.sn-window-manager-toolbar .toolbar-zone.zone2 .window-button.overflow{flex:0 0 auto;max-width:60px;transition:none}.sn-window-manager-toolbar .zone-divider{align-self:center;background-color:RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)));flex:0 0 auto;height:32px;margin:auto calc(.75rem*var(--na-ss-rem-multiplier));width:1px}.sn-window-manager-toolbar .zone1:last-child{margin-inline-end:0}.sn-window-manager-toolbar .minimization-zone{align-items:stretch;display:flex;flex:0 0 auto;flex-direction:row;gap:0;justify-content:flex-start;margin-inline-end:calc(1rem*var(--na-ss-rem-multiplier));margin-inline-start:calc(1rem*var(--na-ss-rem-multiplier));max-width:calc(100% - var(--zone3-width, 0px) - 64px);min-width:0;overflow:hidden;white-space:nowrap;width:auto}.sn-window-manager-toolbar .minimization-zone.balanced .zone1.balanced,.sn-window-manager-toolbar .minimization-zone.balanced .zone2.balanced{flex:1 1 0}@media(max-width:768px){.sn-window-manager-toolbar{z-index:3020}.sn-window-manager-toolbar .window-button:not(.overflow){min-width:120px}}@media(max-width:480px){.sn-window-manager-toolbar .window-button:not(.overflow){min-width:100px}}@media(max-width:320px){.sn-window-manager-toolbar{flex-direction:row;justify-content:space-between}.sn-window-manager-toolbar .toolbar-zone.zone3{flex:0 0 auto;margin-inline-end:calc(.75rem*var(--na-ss-rem-multiplier));margin-inline-start:auto;order:3}.sn-window-manager-toolbar .minimization-zone{align-items:center;flex:0 0 auto;flex-direction:row;gap:0;max-width:none;order:1}.sn-window-manager-toolbar .minimization-zone .zone1,.sn-window-manager-toolbar .minimization-zone .zone2{flex:0 0 auto}.sn-window-manager-toolbar .minimization-zone .zone1 .window-button:not(.overflow),.sn-window-manager-toolbar .minimization-zone .zone2 .window-button:not(.overflow){display:none}.sn-window-manager-toolbar .minimization-zone .zone1 .window-button.overflow,.sn-window-manager-toolbar .minimization-zone .zone2 .window-button.overflow{display:flex}.sn-window-manager-toolbar .minimization-zone .zone-divider{display:block;margin:auto calc(.75rem*var(--na-ss-rem-multiplier))}}.sn-window-manager-toolbar.left-dock-open{left:var(--left-dock-width)}.sn-window-manager-toolbar.right-dock-open{right:var(--right-dock-width)}.sn-window-manager-toolbar.bottom-dock-open{bottom:var(--bottom-dock-height)}.sn-window-manager-toolbar .window-button{--now-button_icon--primary--color:RGB($now-color--text-primary);--now-button-iconic--bare_primary--color:RGB($now-color--text-primary);flex:0 0 auto;height:40px;margin:calc(.5rem*var(--na-ss-rem-multiplier)) calc(.75rem*var(--na-ss-rem-multiplier)) calc(.5rem*var(--na-ss-rem-multiplier)) 0;overflow:hidden;width:180px}.sn-window-manager-toolbar .window-button button{border:0;border-radius:var(--now-actionable--border-radius,0);color:var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28));cursor:pointer;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-weight:var(--now-actionable--font-weight,normal);height:40px;margin:0;max-width:100%;overflow:hidden;padding:0;padding-inline-end:calc(1rem*var(--na-ss-rem-multiplier));padding-inline-start:calc(1rem*var(--na-ss-rem-multiplier));text-align:start;width:100%}.sn-window-manager-toolbar .window-button button .button-icons{display:grid;gap:calc(.25rem*var(--na-ss-rem-multiplier));grid-auto-columns:calc(1rem*var(--na-ss-rem-multiplier));grid-auto-flow:column}.sn-window-manager-toolbar .window-button button .button-content{align-items:center;display:grid;grid-template-columns:min-content 1fr min-content;justify-content:start}.sn-window-manager-toolbar .window-button button .label-text{font-size:14px;font-style:normal;font-weight:600;line-height:16px}.sn-window-manager-toolbar .window-button button .label-text,.sn-window-manager-toolbar .window-button button .subtext{overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap}.sn-window-manager-toolbar .window-button button .label-text.has-icon,.sn-window-manager-toolbar .window-button button .subtext.has-icon{padding-inline-start:calc(.5rem*var(--na-ss-rem-multiplier))}.sn-window-manager-toolbar .window-button button .button-label{overflow:hidden}.sn-window-manager-toolbar .window-button button .subtext{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:12px;font-weight:400;line-height:14px}.sn-window-manager-toolbar .window-button button .window-close-button{padding-inline-start:calc(.25rem*var(--na-ss-rem-multiplier))}.sn-window-manager-toolbar .window-button button:hover{box-shadow:0 calc(.125rem*var(--na-ss-rem-multiplier)) calc(.25rem*var(--na-ss-rem-multiplier)) 0 RGB(56,56,56,var(--now-opacity--less,.25))}.sn-window-manager-toolbar .window-button button:focus::-moz-focus-inner{border-style:none}.sn-window-manager-toolbar .window-button button:focus:focus{box-shadow:inset 0 0 0 calc(.125rem*var(--na-ss-rem-multiplier)) RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 calc(.1875rem*var(--na-ss-rem-multiplier)) RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-window-manager-toolbar .window-button button:focus:focus{outline:1px solid highlight}}.sn-window-manager-toolbar .window-button button.-primary{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))}.sn-window-manager-toolbar .window-button button.-primary:hover{background-color:RGB(var(--now-color_surface--brand-3,200,223,214))}.sn-window-manager-toolbar .window-button button.-primary:active{background-color:RGB(var(--now-color_surface--brand-4,183,212,201))}.sn-window-manager-toolbar .window-button button.-secondary{background-color:RGB(var(--now-color_surface--neutral-3,232,234,234))}.sn-window-manager-toolbar .window-button button.-tertiary{background-color:RGB(var(--now-button--tertiary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-button--tertiary--background-color-alpha,0));border-color:RGB(var(--now-button--tertiary--border-color,var(--now-color--neutral-7,135,147,148)),var(--now-button--tertiary--border-color-alpha,1));border-end-end-radius:var(--now-button--tertiary--border-end-end-radius,var(--now-button--tertiary--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))));border-end-start-radius:var(--now-button--tertiary--border-end-start-radius,var(--now-button--tertiary--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))));border-start-end-radius:var(--now-button--tertiary--border-start-end-radius,var(--now-button--tertiary--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))));border-start-start-radius:var(--now-button--tertiary--border-start-start-radius,var(--now-button--tertiary--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button--tertiary--border-width,var(--now-button--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))),var(--now-button--tertiary--color-alpha,1))}.sn-window-manager-toolbar .window-button button.-tertiary .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color,var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-window-manager-toolbar .window-button button.-tertiary:not(.is-disabled):hover{background-color:RGB(var(--now-button--tertiary--background-color--hover,var(--now-color--neutral-2,228,230,231)),var(--now-button--tertiary--background-color-alpha--hover,1));border-color:RGB(var(--now-button--tertiary--border-color--hover,var(--now-button--tertiary--border-color,var(--now-color--neutral-7,135,147,148))),var(--now-button--tertiary--border-color-alpha--hover,var(--now-button--tertiary--border-color-alpha,1)));color:RGB(var(--now-button--tertiary--color--hover,var(--now-color--secondary-2,1,89,107)),var(--now-button--tertiary--color-alpha--hover,var(--now-button--tertiary--color-alpha,1)))}.sn-window-manager-toolbar .window-button button.-tertiary:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color--hover,var(--now-button--tertiary--color--hover,var(--now-color--secondary-2,1,89,107))))}.sn-window-manager-toolbar .window-button button.-tertiary:not(.is-disabled):active{background-color:RGB(var(--now-button--tertiary--background-color--active,var(--now-color--neutral-5,172,180,181)),var(--now-button--tertiary--background-color-alpha--active,1));border-color:RGB(var(--now-button--tertiary--border-color--active,var(--now-button--tertiary--border-color,var(--now-color--neutral-7,135,147,148))),var(--now-button--tertiary--border-color-alpha--active,var(--now-button--tertiary--border-color-alpha,1)));color:RGB(var(--now-button--tertiary--color--active,var(--now-color--secondary-3,1,60,71)),var(--now-button--tertiary--color-alpha--active,var(--now-button--tertiary--color-alpha,1)))}.sn-window-manager-toolbar .window-button button.-tertiary:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color--active,var(--now-button--tertiary--color--active,var(--now-color--secondary-3,1,60,71))))}.sn-window-manager-toolbar .window-button button.-tertiary.is-disabled{opacity:var(--now-button--tertiary--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.sn-window-manager-toolbar .window-button.overflow{flex:0 0 auto;margin-inline-end:0;min-width:48px;position:relative;width:auto;z-index:1}.sn-window-manager-toolbar .window-button.overflow button{align-items:center;display:flex;justify-content:center;min-width:48px;padding-inline-end:calc(.75rem*var(--na-ss-rem-multiplier));padding-inline-start:calc(.75rem*var(--na-ss-rem-multiplier));text-align:center;width:auto}.sn-window-manager-toolbar .window-button.overflow button .button-content,.sn-window-manager-toolbar .window-button.overflow button .button-label{align-items:center;display:flex;justify-content:center;width:100%}.sn-window-manager-toolbar .window-button.overflow button .button-label .label-text{text-align:center}.sn-window-manager-toolbar .window-button:last-child{margin-inline-end:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--now-color_text--primary:#000}.debug-panel{background-color:#fff;background:radial-gradient(circle at top,#fff,#bbb);color:#000;display:flex;flex-direction:column;height:100%}.debug-panel h1,.debug-panel h2,.debug-panel h3{margin:0;padding:0 0 0 10px}.debug-panel .button-panel{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;margin:0 0 10px 0}.debug-panel.side-docked .debug-controls{height:235px}.debug-panel .debug-controls{flex-grow:0;height:227px;overflow:hidden;overflow:auto;transition:height .15s ease-in-out}.debug-panel .debug-controls.hidden{height:0}.debug-panel .debug-windows-list{contain:strict;flex-grow:1}.debug-panel .debug-windows-list .window-list{display:grid;height:calc(100% - 24px);overflow:auto}.debug-panel .debug-windows-list .window-list ul{background-color:hsla(0,0%,100%,.5);border-radius:3px;margin:10px auto;padding:0 5px;width:75%}.debug-panel .debug-windows-list .window-list ul li:nth-child(2n){background-color:#d3d3d3}.debug-panel .debug-windows-list .window-list ul li{align-items:center;display:grid;grid-template-columns:auto min-content}.debug-panel .debug-windows-list .window-list ul li:hover{background-color:hsla(0,0%,100%,.8)}.debug-panel .debug-windows-list .window-list ul li .window-button-panel{--now-button_icon--primary--color:0,0,0;display:flex;flex-direction:row}.debug-panel.bottom-docked{display:grid;grid-template-columns:30% auto;transition:all .15s ease-in-out}.debug-panel.bottom-docked h3{text-align:center}.debug-panel.bottom-docked .button-panel{justify-content:center}.debug-panel.bottom-docked.hide-buttons{grid-template-columns:0 auto}.debug-panel.bottom-docked .debug-controls,.debug-panel.bottom-docked .debug-controls.hidden{height:267px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--na-ss-rem-multiplier:var(--classicsponlydonotuse--rem-multipy,1);--standard-dock-width:calc(20rem*var(--na-ss-rem-multiplier));--standard-dock-height:calc(20rem*var(--na-ss-rem-multiplier));--left-dock-width:var(--standard-dock-width);--right-dock-width:var(--standard-dock-width);--bottom-dock-height:var(--standard-dock-height);height:100vh;pointer-events:none;width:100%}:host now-modal{pointer-events:all}div[id*=modal]{background-color:RGB(var(--now-color--neutral-21,0,0,0),.5);height:100vh;left:0;opacity:0;pointer-events:all;position:fixed;top:0;transition:opacity .25s ease-in-out;width:100vw;z-index:3999}div[id*=modal].modal-visible{opacity:1}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--now-toggle_label--color:RGB($sn-window_header_label--primary--color);--standard-dock-width:calc(20rem*var(--na-ss-rem-multiplier));--standard-dock-height:calc(20rem*var(--na-ss-rem-multiplier));--left-dock-width:var(--standard-dock-width);--right-dock-width:var(--standard-dock-width);--bottom-dock-height:var(--standard-dock-height);--transition-timing:250ms;--transition-timing-slow:500ms;--transition-timing-fast:50ms;--transition-timing-delay:150ms;--transition-curve:cubic-bezier(0.4,0,1,1);--transition-curve-y:cubic-bezier(0,0,0.6,1);--transition-curve-y-negative:cubic-bezier(1,0.2,1,1);--transition-curve-shift:cubic-bezier(0.85,0,0.14,1);pointer-events:all}:host .now-button-iconic.is-bare.-primary{padding:10px}.window-button-panel{align-items:center;display:flex;flex-direction:row;justify-content:space-between}now-toggle{color:RGB(var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255)))}:host(.disable-animation) .sn-window-wrapper{transition:none!important}.docked-window{-webkit-user-select:text;user-select:text}.docked-window .header{align-items:center;background-color:RGB(var(--sn-window_header--primary--background-color,var(--now-color_chrome--brand-10,21,32,32)));color:RGB(var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255)));display:grid;grid-template-columns:auto max-content max-content;padding:0 calc(1rem*var(--na-ss-rem-multiplier))}.docked-window .header .heading-label{display:inline;line-height:normal;vertical-align:middle}.docked-window .header .heading-label.-sm{font-size:calc(.75rem*var(--na-ss-rem-multiplier));font-weight:400}.docked-window .header .heading-label.-md{font-size:calc(1rem*var(--na-ss-rem-multiplier));font-weight:600}.docked-window .header.primary{--now-button_icon--primary--color:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--primary--color--hover:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--primary--color--active:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button--bare_primary--background-color--hover:var(--sn-window-header_button--primary--background--color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-button--bare_primary--background-color--active:var(--sn-window-header_button--primary--background--color--active,var(--now-color_chrome--brand-4,77,96,97));--now-button--bare_primary--background-color-alpha--hover:1;--now-button--bare_primary--background-color-alpha--active:1;--now-dropdown_icon--secondary--color:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown_icon--secondary--color--hover:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown_icon--secondary--color--active:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown--secondary--border-width:0;--now-dropdown--secondary--background-color--hover:var(--sn-window-header_button--primary--background--color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-dropdown--secondary--background-color--active:var(--sn-window-header_button--primary--background--color--active,var(--now-color_chrome--brand-4,77,96,97));--now-dropdown--secondary--background-color-alpha--hover:1;--now-dropdown--secondary--background-color-alpha--active:1;--now-button-iconic--bare_tertiary--color:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button-iconic--bare_tertiary--color--hover:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button-iconic--bare_tertiary--color--active:var(--sn-window_header_label--primary--color,var(--now-color--neutral-0,255,255,255));--now-button-iconic--bare_tertiary--background-color--hover:var(--sn-window-header_button--primary--background--color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-button-iconic--bare_tertiary--background-color--active:var(--sn-window-header_button--primary--background--color--active,var(--now-color_chrome--brand-4,77,96,97));--now-button-iconic--bare_tertiary--background-color-alpha--hover:1;--now-button-iconic--bare_tertiary--background-color-alpha--active:1}.docked-window .header.initial{--now-button_icon--primary--color:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-button_icon--primary--color--hover:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-button_icon--primary--color--active:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown_icon--secondary--color:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown_icon--secondary--color--hover:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown_icon--secondary--color--active:var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown--secondary--border-width:0;--now-dropdown--secondary--background-color--hover:var(--now-modeless-dialog_actions--initial--background-color--hover,var(--now-color--neutral-15,44,53,55));--now-dropdown--secondary--background-color--active:var(--now-modeless-dialog_actions--initial--background-color--active,var(--now-color--neutral-15,44,53,55));--now-dropdown--secondary--background-color-alpha--hover:0.1;--now-dropdown--secondary--background-color-alpha--active:0.1;--now-button--bare_primary--background-color-alpha--hover:0.1;--now-button--bare_primary--background-color-alpha--active:0.1;--now-button--bare_primary--background-color--hover:var(--now-modeless-dialog_actions--initial--background-color--hover,var(--now-color--neutral-15,44,53,55));--now-button--bare_primary--background-color--active:var(--now-modeless-dialog_actions--initial--background-color--active,var(--now-color--neutral-15,44,53,55));background-color:RGB(var(--sn-window_header--initial--background-color,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--sn-window_header_label--initial--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.docked-window .header.initial:not(.hide-divider){border-bottom:solid 1px RGB(var(--now-modeless-dialog--border-color,var(--now-color--neutral-3,209,214,214)))}.docked-window .header.secondary{--now-button_icon--primary--color:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--primary--color--hover:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-button_icon--primary--color--active:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown_icon--secondary--color:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown_icon--secondary--color--hover:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown_icon--secondary--color--active:var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255));--now-dropdown--secondary--border-width:0;--now-dropdown--secondary--background-color--hover:var(--sn-window-header_button--secondary--background--color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-dropdown--secondary--background-color--active:var(--sn-window-header_button--secondary--background--color--active,var(--now-color_chrome--brand-4,77,96,97));--now-dropdown--secondary--background-color-alpha--hover:1;--now-dropdown--secondary--background-color-alpha--active:1;--now-button--bare_primary--background-color--hover:var(--sn-window-header_button--secondary--background--color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-button--bare_primary--background-color--active:var(--sn-window-header_button--secondary--background--color--active,var(--now-color_chrome--brand-4,77,96,97));--now-button--bare_primary--background-color-alpha--hover:1;--now-button--bare_primary--background-color-alpha--active:1;background-color:RGB(var(--sn-window_header--secondary--background-color,var(--now-color_chrome--brand-5,41,63,64)));color:RGB(var(--sn-window_header_label--secondary--color,var(--now-color--neutral-0,255,255,255)))}.docked-window .header.aiex{--now-button_icon--primary--color:var(--sn-window_header_button--aiex--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));--now-button--bare_primary--color:var(--sn-window_header_button--aiex--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));--now-button_icon--primary--color--hover:var(--sn-window_header_button--aiex--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));--now-button_icon--primary--color--active:var(--sn-window_header_button--aiex--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));background-color:transparent;color:rgb(var(--sn-window_header_label--aiex--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.docked-window .header.aiex now-icon{color:rgb(var(--sn-window_header_icon--aiex--color,var(--now-color--secondary-1,1,119,142)))}.docked-window .header.aiex .heading-label{font-weight:700}.docked-window .header .now-animation-container{display:flex;gap:calc(.5rem*var(--na-ss-rem-multiplier))}.docked-window .header now-animation{block-size:calc(2rem*var(--na-ss-rem-multiplier));inline-size:calc(2rem*var(--na-ss-rem-multiplier))}.docked-window{display:flex;flex-direction:column;height:100%}.docked-window .header{flex-grow:0;height:52px}.docked-window div[slot=content]{background-color:RGBA(var(--now-modeless-dialog--background-color,var(--now-color--neutral-0,255,255,255)),1);flex-grow:1;height:calc(100% - 52px);overflow:auto}.docked-window div[slot=content]>:not(debug-panel,sn-collab-chat,sn-engagement-experience,sn-ai-engagement-experience){display:block}.docked-window div[slot=footer]{--now-toggle_label--color:initial;background-color:RGBA(var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),1)}.docked-window div[slot=footer]>*{display:block}.docked-window .heading-container{align-items:center}.docked-window .heading-container now-icon{padding-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}.docked-window .heading-container now-icon.unread-indicator{color:#00b5ff;transform:scale(.5)}.docked-window .heading-container .privacy-indicator{margin:0 calc(.5rem*var(--na-ss-rem-multiplier))}.floating,.modal{box-shadow:0 calc(1rem*var(--na-ss-rem-multiplier)) calc(1.5rem*var(--na-ss-rem-multiplier)) 0 RGB(56,56,56,var(--now-opacity--less,.25))}.floating .header,.modal .header{border-radius:var(--now-window--border-radius,calc(.25rem*var(--na-ss-rem-multiplier)*var(--na-ss-rem-multiplier, 1))) var(--now-window--border-radius,calc(.25rem*var(--na-ss-rem-multiplier)*var(--na-ss-rem-multiplier, 1))) 0 0}.sn-window-wrapper{background-color:RGBA(var(--now-modeless-dialog--background-color,var(--now-color--neutral-0,255,255,255)),1);border:RGB(var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))) solid 1px;display:flex;flex-direction:column;opacity:1;position:fixed;z-index:2000}.sn-window-wrapper,.sn-window-wrapper:not(.is-animating){transition:transform var(--transition-timing) var(--transition-curve),opacity var(--transition-timing) var(--transition-curve)}.sn-window-wrapper.fit-content{height:auto!important;max-height:calc(100vh - 40px);max-width:calc(100vw - 40px);min-height:200px;min-width:320px;overflow:visible;width:auto!important}.sn-window-wrapper.fit-content .docked-window{display:inline-block;height:auto!important;overflow:visible;width:auto!important}.sn-window-wrapper.fit-content .docked-window [slot=content]{display:block;height:auto!important;max-width:100%;overflow:visible;width:auto!important}.sn-window-wrapper.fit-content .docked-window [slot=content]>*{max-width:100%;width:auto!important}.sn-window-wrapper.auto-resize .docked-window{display:contents}.sn-window-wrapper.auto-resize .docked-window [slot=content]{display:flex;flex-grow:1;flex-shrink:1;min-block-size:0}.sn-window-wrapper.use-flex .docked-window{display:contents}.sn-window-wrapper.use-flex .docked-window div[slot=content]{display:flex}.sn-window-wrapper.is-animating{transition:border-radius var(--transition-timing) var(--transition-curve),bottom var(--transition-timing) var(--transition-curve),height var(--transition-timing) var(--transition-curve),left var(--transition-timing) var(--transition-curve),opacity var(--transition-timing-fast) var(--transition-curve) var(--transition-timing-delay),right var(--transition-timing) var(--transition-curve),top var(--transition-timing) var(--transition-curve),transform var(--transition-timing) var(--transition-curve),width var(--transition-timing) var(--transition-curve)}.sn-window-wrapper .header{flex-grow:0;height:var(--sn-window-header-height,52px);line-height:52px}.sn-window-wrapper .header .heading-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-window-wrapper .header .heading-label{vertical-align:middle}.sn-window-wrapper.can-drag .header{cursor:move}.sn-window-wrapper.active{opacity:1;z-index:2002}.sn-window-wrapper.active now-modeless-dialog{--now-opacity--less:0.25}.sn-window-wrapper.closed{transform:scale(.000001)}.sn-window-wrapper.minimized{transform:scale(.25)}.sn-window-wrapper.hidden{visibility:hidden}.sn-window-wrapper.closed,.sn-window-wrapper.minimized{opacity:0;pointer-events:none;transform-origin:top right!important}.sn-window-wrapper.close-to-top{transform:scale(.000001);transform-origin:top left}.sn-window-wrapper.transition-docked-to-docked,.sn-window-wrapper.transition-docked-to-floating,.sn-window-wrapper.transition-docked-to-modal,.sn-window-wrapper.transition-floating-to-docked,.sn-window-wrapper.transition-floating-to-modal,.sn-window-wrapper.transition-modal-to-docked,.sn-window-wrapper.transition-modal-to-floating{transition:border-radius var(--transition-timing-slow) var(--transition-curve-shift),bottom var(--transition-timing-slow) var(--transition-curve-shift),height var(--transition-timing-slow) var(--transition-curve-shift),left var(--transition-timing-slow) var(--transition-curve-shift),opacity var(--transition-timing) var(--transition-curve-shift),right var(--transition-timing-slow) var(--transition-curve-shift),top var(--transition-timing-slow) var(--transition-curve-shift),transform var(--transition-timing-slow) var(--transition-curve-shift),width var(--transition-timing-slow) var(--transition-curve-shift)}.sn-window-wrapper.transition-minimized-to-floating{transition:border-radius var(--transition-timing) var(--transition-curve),bottom var(--transition-timing) var(--transition-curve),height var(--transition-timing) var(--transition-curve),left var(--transition-timing) var(--transition-curve),opacity var(--transition-timing-fast) var(--transition-curve) .2s,right var(--transition-timing) var(--transition-curve),top var(--transition-timing) var(--transition-curve-y-negative),transform var(--transition-timing) var(--transition-curve),width var(--transition-timing) var(--transition-curve)}.sn-window-wrapper.close-to-top,.sn-window-wrapper.transition-floating-to-minimized,.sn-window-wrapper.transition-modal-to-minimized{transition:border-radius var(--transition-timing) var(--transition-curve),bottom var(--transition-timing) var(--transition-curve),height var(--transition-timing) var(--transition-curve),left var(--transition-timing) var(--transition-curve),opacity var(--transition-timing-fast) var(--transition-curve) var(--transition-timing-delay),right var(--transition-timing) var(--transition-curve),top var(--transition-timing) var(--transition-curve-y),transform var(--transition-timing) var(--transition-curve),width var(--transition-timing) var(--transition-curve)}.sn-window-wrapper.transition-floating-to-modal,.sn-window-wrapper.transition-modal-to-floating{transform-origin:center center!important}.sn-window-wrapper.transition-floating-to-minimized,.sn-window-wrapper.transition-minimized-to-docked,.sn-window-wrapper.transition-minimized-to-floating,.sn-window-wrapper.transition-minimized-to-modal,.sn-window-wrapper.transition-modal-to-minimized{transform-origin:top right!important}.sn-window-wrapper.floating{background-color:RGBA(var(--now-modeless-dialog--background-color,var(--now-color--neutral-0,255,255,255)),0)}.sn-window-wrapper.floating,.sn-window-wrapper.modal{border-radius:var(--now-window--border-radius,calc(.25rem*var(--na-ss-rem-multiplier)));overflow:hidden}.sn-window-wrapper.modal{background-color:RGBA(var(--now-modeless-dialog--background-color,var(--now-color--neutral-0,255,255,255)),1);border:solid 1px RGB(var(--now-modeless-dialog--border-color,var(--now-color--neutral-3,209,214,214)));z-index:3999!important}.sn-window-wrapper.docked-right{border-width:0 0 0 1px}.sn-window-wrapper.docked-left{border-width:0 1px 0 0}.sn-window-wrapper.docked-bottom{border-width:1px 0 0 0}.sn-window-wrapper.docked-bottom.left-dock-open{left:320px;width:calc(100% - 320px)}.sn-window-wrapper.docked-bottom.right-dock-open{right:320px;width:calc(100% - 320px)}.sn-window-wrapper.docked-bottom.left-dock-open.right-dock-open{width:calc(100% - 640px)}.sn-window-wrapper.fullscreen-view{border-radius:0;bottom:0;left:0;position:fixed;right:0;top:0}.sn-window-wrapper.aiex{border-left:1px solid rgb(var(--sn-window--aiex--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));container-type:inline-size}.sn-window-wrapper.aiex div[slot=content]{background:transparent}.sn-window-wrapper.aiex .docked-window{background:linear-gradient(180deg,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.8) 0,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.25) 50%,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.1) 100%),rgb(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}@container (min-width: 820px){.sn-window-wrapper.aiex .docked-window{background:linear-gradient(110deg,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.65) .36%,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.5) 50.18%,rgba(var(--sn-window--aiex--background-color,var(--now-color_surface--brand-1,236,244,241)),.25) 100%),rgb(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))!important}}.sn-window-wrapper.aiex.floating,.sn-window-wrapper.aiex.modal{border:1px solid rgb(var(--sn-window--aiex--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-radius:var(--sn-window--aiex--border-radius,calc(.75rem*var(--na-ss-rem-multiplier)));box-shadow:0 12px 24px 0 rgba(var(--sn-window--aiex--shadow-color,56,56,56),.25)}.accessibility-drag-button{block-size:1px;inline-size:1px;opacity:0;overflow:hidden}.accessibility-drag-button:focus{block-size:auto;inline-size:auto;opacity:1;overflow:initial}.sn-window-manager-modal-overlay{background-color:RGB(var(--now-color--neutral-21,0,0,0),.5);height:100vh;left:0;pointer-events:all;position:fixed;top:0;width:100vw;z-index:3999}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-overflow-popover.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./debug-styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","// private events called from within window manager\nexport const CREATE_WINDOW = 'PRIVATE#CREATE_WINDOW';\nexport const CLOSE_WINDOW = 'PRIVATE#CLOSE_WINDOW';\nexport const OPEN_WINDOW = 'PRIVATE#OPEN_WINDOW';\nexport const OPEN_DEBUG_WINDOW = 'PRIVATE#OPEN_DEBUG_WINDOW';\nexport const BROADCAST_MESSAGE = 'PRIVATE#BROADCAST_MESSAGE';\nexport const RELAY_MESSAGE = 'PRIVATE#RELAY_MESSAGE';\nexport const FOCUS_WINDOW = 'PRIVATE#FOCUS_WINDOW';\nexport const SET_HEADER_BUTTONS = 'PRIVATE#SET_HEADER_BUTTONS';\nexport const CHECK_WINDOW_LOCATIONS = 'PRIVATE#CHECK_WINDOW_LOCATIONS';\nexport const TOGGLE_DOCK = 'PRIVATE#TOGGLE_DOCK_STATE';\nexport const TOGGLE_MODAL_STATE = 'PRIVATE#TOGGLE_MODAL_STATE';\nexport const TOGGLE_MINIMIZE_STATE = 'PRIVATE#TOGGLE_MINIMIZE_STATE';\nexport const CLOSE_DOCK = 'PRIVATE#CLOSE_DOCK';\nexport const UPDATE_BODY_CLASS_NAMES = 'PRIVATE#UPDATE_BODY_CLASS_NAMES';\nexport const SCREEN_CHANGED = 'PRIVATE#SCREEN_CHANGED';\nexport const SET_DIRTY_STATE = 'PRIVATE#SET_DIRTY_STATE';\nexport const SET_WINDOW_PROPERTIES = 'PRIVATE#SET_WINDOW_PROPERTIES';\nexport const SN_WINDOW_DIALOG_CLOSE_CONFIRMED =\n\t'PRIVATE#SN_WINDOW_DIALOG_CLOSE_CONFIRMED';\nexport const UPDATE_BOTTOM_TOOLBAR_ELEMENTS =\n\t'PRIVATE#UPDATE_BOTTOM_TOOLBAR_ELEMENTS';\nexport const TOGGLE_OVERFLOW_POPOVER = 'PRIVATE#TOGGLE_OVERFLOW_POPOVER';\nexport const SET_OVERFLOW_BUTTON_REF = 'PRIVATE#SET_OVERFLOW_BUTTON_REF';\nexport const SN_WINDOW_DIALOG_CLOSE_CANCELED =\n\t'PRIVATE#SN_WINDOW_DIALOG_CLOSE_CANCELED';\nexport const UPDATE_MINIMIZED_TARGET_POSITION =\n\t'PRIVATE#UPDATE_MINIMIZED_TARGET_POSITION';\nexport const FOCUS_BOTTOM_TOOLBAR_REQUESTED =\n\t'PRIVATE#FOCUS_BOTTOM_TOOLBAR_REQUESTED';\n\n// generic publicly available events\nexport const WM_CREATE_WINDOW = 'SN_WINDOW_MANAGER#CREATE_WINDOW';\nexport const WM_CLOSE_WINDOW = 'SN_WINDOW_MANAGER#CLOSE_WINDOW';\nexport const WM_OPEN_WINDOW = 'SN_WINDOW_MANAGER#OPEN_WINDOW';\nexport const WM_CLOSE_DOCK = 'SN_WINDOW_MANAGER#CLOSE_DOCK';\nexport const WM_TOGGLE_DOCK = 'SN_WINDOW_MANAGER#TOGGLE_DOCK';\nexport const WM_TOGGLE_MODAL = 'SN_WINDOW_MANAGER#TOGGLE_MODAL';\nexport const WM_TOGGLE_MINIMIZED = 'SN_WINDOW_MANAGER#TOGGLE_MINIMIZED';\nexport const WM_RELAY_MESSAGE = 'SN_WINDOW_MANAGER#RELAY_MESSAGE';\nexport const WM_FOCUS_WINDOW = 'SN_WINDOW_MANAGER#FOCUS_WINDOW';\nexport const WM_SET_HEADER_BUTTONS = 'SN_WINDOW_MANAGER#SET_HEADER_BUTTONS';\nexport const WM_SET_DIRTY_STATE = 'SN_WINDOW_MANAGER#SET_DIRTY_STATE';\nexport const WM_SET_WINDOW_PROPERTIES =\n\t'SN_WINDOW_MANAGER#SET_WINDOW_PROPERTIES';\n\n// UIB<>UXF specific events\nexport const UXF_CREATE_MODELESS_WINDOW = 'UXF#CREATE_MODELESS_WINDOW';\nexport const UXF_SHOW_MODELESS_WINDOW = 'UXF#SHOW_MODELESS_WINDOW';\nexport const UXF_CLOSE_MODELESS_WINDOW = 'UXF#CLOSE_MODELESS_WINDOW';\nexport const UXF_MINIMIZE_MODELESS_WINDOW = 'UXF#MINIMIZE_MODELESS_WINDOW';\nexport const UXF_DIRTY_MODELESS_WINDOW = 'UXF#DIRTY_MODELESS_WINDOW';\nexport const UXF_UPDATE_MODELESS_WINDOW = 'UXF#UPDATE_MODELESS_WINDOW';\nexport const UXF_SELECT_MODELESS_WINDOW = 'UXF#SELECT_MODELESS_WINDOW';\nexport const UXF_WM_SCREEN_SELECTED = 'UXF#WM_SCREEN_SELECTED';\nexport const UXF_CLOSE_MODELESS_WINDOW_ON_STAGE =\n\t'UXF#CLOSE_MODELESS_WINDOW_ON_STAGE';\n\n// header button events sent from within a UIB or workspace page\nexport const UXF_FOCUS_WINDOW = 'UXF#FOCUS_WINDOW';\nexport const UXF_CLOSE_DOCK = 'UXF#CLOSE_DOCK';\nexport const UXF_TOGGLE_DOCK = 'UXF#TOGGLE_DOCK';\nexport const UXF_TOGGLE_MODAL = 'UXF#TOGGLE_MODAL_STATE';\nexport const UXF_TOGGLE_MINIMIZED = 'UXF#TOGGLE_MINIMIZED_STATE';\nexport const UXF_CLOSE_WINDOW = 'UXF#CLOSE_WINDOW';\nexport const UXF_OPEN_WINDOW = 'UXF#OPEN_WINDOW';\nexport const UXF_WINDOW_FOCUSED = 'UXF#WINDOW_FOCUSED';\n\n// AI Engagement actions\nexport const AIEL_NAVIGATION_REQUESTED = 'AIEL_NAVIGATION_REQUESTED';\nexport const GLOBAL_NAVIGATION_REQUESTED = 'GLOBAL_NAVIGATION_REQUESTED';\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\n\n// Sidebar specific events\nexport const SIDEBAR_UNREAD_MESSAGE = 'SIDEBAR#UNREAD_MESSAGE';\nexport const SET_SIDEBAR_CHAT_PRIVATE = 'SIDEBAR#CHAT_PRIVATE';\n","export const clampDialogPosition = ({dialogLocation, dialogSize}) => {\n\tconst {left, top} = normalizeDialogLocation(dialogLocation, dialogSize);\n\tconst {width, height} = dialogSize;\n\n\t// Get viewport dimensions\n\tconst viewportWidth = window.innerWidth;\n\tconst viewportHeight = window.innerHeight;\n\n\t// Always resize to fit available space when needed\n\tconst clampedWidth = Math.min(width, viewportWidth);\n\tconst clampedHeight = Math.min(height, viewportHeight);\n\n\t// Calculate the maximum valid positions\n\tconst maxLeft = viewportWidth - clampedWidth;\n\tconst maxTop = viewportHeight - clampedHeight;\n\n\t// Ensure the dialog stays in bounds\n\tconst newLeft = Math.max(0, Math.min(left, maxLeft));\n\tconst newTop = Math.max(0, Math.min(top, maxTop));\n\n\treturn {\n\t\tleft: newLeft,\n\t\tright: viewportWidth - newLeft - clampedWidth,\n\t\ttop: newTop,\n\t\tbottom: viewportHeight - newTop - clampedHeight,\n\t\twidth: clampedWidth,\n\t\theight: clampedHeight,\n\t};\n};\n\n// Check if the window is in bounds\nexport const isWindowInBounds = (\n\tdialogSize,\n\tdialogLocation,\n\tviewportWidth,\n\tviewportHeight,\n) => {\n\tconst normalizedDialogLocation = normalizeDialogLocation(\n\t\tdialogLocation,\n\t\tdialogSize,\n\t);\n\n\tconst windowLocationValid =\n\t\tnormalizedDialogLocation.left >= 0 && normalizedDialogLocation.top >= 0;\n\tconst windowLocationInBounds =\n\t\tnormalizedDialogLocation.left + dialogSize.width <= viewportWidth &&\n\t\tnormalizedDialogLocation.top + dialogSize.height <= viewportHeight;\n\n\treturn windowLocationValid && windowLocationInBounds;\n};\n\n// Normalize the windows location so we don't have to worry about comparing different coordinate types for different windows\nexport const normalizeDialogLocation = (\n\tdialogLocation,\n\tdialogSize,\n\tcoordinateSystem = 'TL',\n) => {\n\tconst {top, left, bottom, right} = dialogLocation;\n\tconst {width, height} = dialogSize;\n\n\tswitch (coordinateSystem) {\n\t\tcase 'TL':\n\t\t\treturn {\n\t\t\t\t...(top !== undefined\n\t\t\t\t\t? {top}\n\t\t\t\t\t: {top: window.innerHeight - bottom - height}),\n\t\t\t\t...(left !== undefined\n\t\t\t\t\t? {left}\n\t\t\t\t\t: {left: window.innerWidth - right - width}),\n\t\t\t};\n\t\tcase 'BR':\n\t\t\treturn {\n\t\t\t\t...(bottom !== undefined\n\t\t\t\t\t? {bottom}\n\t\t\t\t\t: {bottom: window.innerHeight - top - height}),\n\t\t\t\t...(right !== undefined\n\t\t\t\t\t? {right}\n\t\t\t\t\t: {right: window.innerWidth - left - width}),\n\t\t\t};\n\t\tdefault:\n\t\t\treturn dialogLocation;\n\t}\n};\n\n// Check if two windows are overlapping\nexport const areWindowsOverlapping = (window1, window2) => {\n\t// Normalize the windows locations to use top/left\n\tconst normalizedWindow1 = normalizeDialogLocation(\n\t\twindow1.dialogLocation,\n\t\twindow1.dialogSize,\n\t);\n\tconst normalizedWindow2 = normalizeDialogLocation(\n\t\twindow2.dialogLocation,\n\t\twindow2.dialogSize,\n\t);\n\n\t// Check if both windows are open and their normalized positions are the same\n\tconst windowsAreOpen = window1.isOpen === true && window2.isOpen === true;\n\tconst windowsAreInSameLocation =\n\t\tnormalizedWindow1.left === normalizedWindow2.left &&\n\t\tnormalizedWindow1.top === normalizedWindow2.top;\n\n\treturn windowsAreOpen && windowsAreInSameLocation;\n};\n\nexport function findAvailableDialogPosition(\n\tinitialPosition,\n\twindowsList,\n\tdialogSize,\n\tbottomDockHeight = 0,\n\tnewWindowConfig = {},\n) {\n\tlet {top, left} = normalizeDialogLocation(initialPosition, dialogSize);\n\tconst {width, height} = dialogSize;\n\tconst offset = 52;\n\tconst maxLeft = window.innerWidth - width;\n\tconst maxTop = window.innerHeight - height - bottomDockHeight;\n\tconst newWindowsList = [...windowsList, newWindowConfig];\n\n\t//Start positions in case of wrap around\n\tlet startLeft = 0,\n\t\tstartTop = 0;\n\n\tlet isOccupied = true;\n\n\twhile (isOccupied) {\n\t\tconst clampedLeft = Math.max(0, Math.min(left, maxLeft));\n\t\tconst clampedTop = Math.max(0, Math.min(top, maxTop));\n\n\t\tisOccupied = newWindowsList.some(\n\t\t\t(window) =>\n\t\t\t\twindow.isOpen &&\n\t\t\t\twindow.dialogLocation.left === clampedLeft &&\n\t\t\t\twindow.dialogLocation.top === clampedTop,\n\t\t);\n\n\t\tif (!isOccupied) {\n\t\t\treturn {top: clampedTop, left: clampedLeft};\n\t\t}\n\n\t\tleft += offset;\n\t\ttop += offset;\n\n\t\t// Wrap around if bounds exceeded\n\t\tif (left > maxLeft && startLeft + offset <= maxLeft) {\n\t\t\tstartLeft += offset;\n\t\t\tleft = startLeft;\n\t\t}\n\n\t\tif (top > maxTop && startTop + offset <= maxTop) {\n\t\t\tstartTop += offset;\n\t\t\ttop = startTop;\n\t\t}\n\t}\n\treturn {\n\t\ttop: Math.max(0, Math.min(initialPosition.top, maxTop)),\n\t\tleft: Math.max(0, Math.min(initialPosition.left, maxLeft)),\n\t};\n}\n\n/**\n * Adjusts the dialog location of a window to account for the bottom dock height.\n * @param {Object} newWindowConfig - The window configuration object.\n * @param {number} bottomDockHeight - The height of the bottom dock, the div offsetHeight.\n * @returns {Object} The normalized adjusted dialog location: top & bottom.\n */\nexport const updateDialogLocationBottomDock = (\n\tnewWindowConfig,\n\tbottomDockHeight,\n) => {\n\tconst dialogHeight = newWindowConfig.autoResizableConfig\n\t\t.enableAutoResizableHeight\n\t\t? newWindowConfig.autoResizableConfig.autoResizableMinHeight\n\t\t: newWindowConfig.dialogSize.height;\n\n\tnewWindowConfig.dialogSize.height = dialogHeight;\n\n\tconst normalizedLocation = normalizeDialogLocation(\n\t\tnewWindowConfig.dialogLocation,\n\t\tnewWindowConfig.dialogSize,\n\t);\n\n\tif (\n\t\twindow.innerHeight -\n\t\t\tnormalizedLocation.top -\n\t\t\tnewWindowConfig.dialogSize.height <\n\t\tbottomDockHeight\n\t) {\n\t\tif (newWindowConfig.autoResizableConfig.enableAutoResizableHeight) {\n\t\t\treturn {\n\t\t\t\t...newWindowConfig.dialogLocation,\n\t\t\t\tbottom: newWindowConfig.offset[0] + bottomDockHeight,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\t...normalizedLocation,\n\t\t\t\ttop:\n\t\t\t\t\twindow.innerHeight -\n\t\t\t\t\tnewWindowConfig.dialogSize.height -\n\t\t\t\t\tnewWindowConfig.offset[0] -\n\t\t\t\t\tbottomDockHeight,\n\t\t\t};\n\t\t}\n\t} else {\n\t\treturn newWindowConfig.dialogLocation;\n\t}\n};\n\n/**\n * Focus an element with retry using requestAnimationFrame\n * Useful when element may not be immediately ready for focus\n * @param {HTMLElement} element - Element to focus\n * @param {number} maxRetries - Maximum number of retry attempts\n * @returns {Promise<boolean>} True if focus succeeded, false otherwise\n */\nexport const focusElementWithRetry = (element, maxRetries = 3) =>\n\tnew Promise((resolve) => {\n\t\tif (!element) {\n\t\t\tresolve(false);\n\t\t\treturn;\n\t\t}\n\n\t\tlet attempts = 0;\n\n\t\tconst attemptFocus = () => {\n\t\t\tattempts++;\n\n\t\t\ttry {\n\t\t\t\telement.focus();\n\t\t\t\t// If focus() doesn't throw, assume success\n\t\t\t\tresolve(true);\n\t\t\t} catch (_error) {\n\t\t\t\t// Retry if we haven't exceeded max attempts\n\t\t\t\tif (attempts < maxRetries) {\n\t\t\t\t\trequestAnimationFrame(attemptFocus);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\trequestAnimationFrame(attemptFocus);\n\t});\n\nexport const isDeepEqual = (object1, object2) => {\n\tconst objKeys1 = Object.keys(object1);\n\tconst objKeys2 = Object.keys(object2);\n\n\tif (objKeys1.length !== objKeys2.length) {\n\t\treturn false;\n\t}\n\n\tfor (const key of objKeys1) {\n\t\tconst value1 = object1[key];\n\t\tconst value2 = object2[key];\n\n\t\tconst isObjects = isObject(value1) && isObject(value2);\n\t\tconst isFunctions = isFunction(value1) && isFunction(value2);\n\n\t\tif (\n\t\t\t(isObjects && !isDeepEqual(value1, value2)) ||\n\t\t\t(!isObjects && !isFunctions && value1 !== value2)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nconst isObject = (object) => object != null && typeof object === 'object';\n\nconst isFunction = (object) => object != null && typeof object === 'function';\n","import {normalizeDialogLocation} from '../../../sn-window-manager/utilities/helpers';\n\nexport const deepSearchElement = (selector, root = document.body) => {\n\tconst queue = [root];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(selector);\n\t\tif (ele) {\n\t\t\treturn ele;\n\t\t}\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) {\n\t\t\tqueue.push(topShadow);\n\t\t}\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) {\n\t\t\t\tqueue.push(allSearched[i].shadowRoot);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const keepInBoundary = (\n\tcontainer,\n\tboundaryElement,\n\ttoolBar,\n\tdialogLocation,\n\tstrict = false,\n) => {\n\tconst WINDOW_OFFSET = 0;\n\tconst offset = strict ? WINDOW_OFFSET : 0;\n\tconst minSpacing = 0;\n\tconst {top, left} = dialogLocation;\n\n\tif (typeof container === 'string') {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tcontainer = deepSearchElement(`.${container}`);\n\t}\n\n\tif (!(container && boundaryElement)) {\n\t\treturn;\n\t}\n\n\tconst draggableRect = container.getBoundingClientRect();\n\tconst boundaryRec = boundaryElement.getBoundingClientRect();\n\n\t// Check against top of viewport\n\tif (draggableRect.top < boundaryRec.top + offset) {\n\t\tif (top) {\n\t\t\tcontainer.style.top = `${boundaryRec.top + WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.bottom = 'auto';\n\t\t} else {\n\t\t\tcontainer.style.bottom = `${window.innerHeight - draggableRect.height - (boundaryRec.top + WINDOW_OFFSET)}px`;\n\t\t\tcontainer.style.top = 'auto';\n\t\t}\n\t}\n\t// If bottomtoolbar is open, check against its top boundary\n\telse if (toolBar && toolBar.classList.contains('opened')) {\n\t\tconst toolBarRect = toolBar.getBoundingClientRect();\n\t\tif (draggableRect.bottom > toolBarRect.top) {\n\t\t\tconst newTop = toolBarRect.top - draggableRect.height - minSpacing;\n\t\t\tif (top) {\n\t\t\t\tcontainer.style.top = `${newTop}px`;\n\t\t\t\tcontainer.style.bottom = 'auto';\n\t\t\t} else {\n\t\t\t\tcontainer.style.bottom = `${window.innerHeight - draggableRect.height - newTop}px`;\n\t\t\t\tcontainer.style.top = 'auto';\n\t\t\t}\n\t\t}\n\t}\n\t// Otherwise, check against the bottom of the viewport\n\telse if (draggableRect.bottom + offset > boundaryRec.bottom) {\n\t\tif (top) {\n\t\t\tcontainer.style.top = `${window.innerHeight - draggableRect.height - WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.bottom = 'auto';\n\t\t} else {\n\t\t\tcontainer.style.bottom = `${WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.top = 'auto';\n\t\t}\n\t}\n\n\tif (draggableRect.right + offset > boundaryRec.right) {\n\t\tif (left) {\n\t\t\tcontainer.style.left = `${window.innerWidth - draggableRect.width - WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.right = 'auto';\n\t\t} else {\n\t\t\tcontainer.style.right = `${WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.left = 'auto';\n\t\t}\n\t} else if (draggableRect.left < boundaryRec.left + offset) {\n\t\tif (left) {\n\t\t\tcontainer.style.left = `${boundaryRec.left + WINDOW_OFFSET}px`;\n\t\t\tcontainer.style.right = 'auto';\n\t\t} else {\n\t\t\tcontainer.style.right = `${window.innerWidth - draggableRect.width - (boundaryRec.left + WINDOW_OFFSET)}px`;\n\t\t\tcontainer.style.left = 'auto';\n\t\t}\n\t}\n};\n\nexport const shiftTo = (\n\tcontainer,\n\tnewX,\n\tnewY,\n\tdialogSize,\n\tdialogLocation,\n\ttoolBar,\n) => {\n\tconst {width, height} = dialogSize;\n\tconst {top, left} = dialogLocation;\n\n\tif (top) {\n\t\tcontainer.style.top = `${newY}px`;\n\t\tcontainer.style.bottom = 'auto';\n\t} else {\n\t\tcontainer.style.bottom = `${window.innerHeight - height - newY}px`;\n\t\tcontainer.style.top = 'auto';\n\t}\n\tif (left) {\n\t\tcontainer.style.left = `${newX}px`;\n\t\tcontainer.style.right = 'auto';\n\t} else {\n\t\tcontainer.style.right = `${window.innerWidth - width - newX}px`;\n\t\tcontainer.style.left = 'auto';\n\t}\n\n\tkeepInBoundary(container, document.body, toolBar, dialogLocation);\n};\n\nexport const resetWindowSize = (container) => {\n\tconst containerBounds = container.getBoundingClientRect();\n\n\tcontainer.style.width = `${containerBounds.width}px`;\n\tcontainer.style.height = `${containerBounds.height}px`;\n};\n\nexport function matchCoordinateSystemToClosingLocation(coeffects) {\n\tconst {\n\t\tproperties: {\n\t\t\tdialogSize,\n\t\t\tdialogLocation,\n\t\t\twindowConfig: {closeToElement},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t...normalizeDialogLocation(\n\t\t\tdialogLocation,\n\t\t\tdialogSize,\n\t\t\tcloseToElement?.bottom !== undefined ? 'BR' : 'TL',\n\t\t),\n\t\tforceUpdate: true,\n\t});\n}\n\nexport const createHDSBoundsPayload = (\n\tbounds,\n\tmouseEvent = undefined,\n\tfullscreen = undefined,\n) => {\n\tconst payload = {\n\t\tpositions: {\n\t\t\tmouse: {\n\t\t\t\tX: mouseEvent\n\t\t\t\t\t? Math.floor(mouseEvent.clientX)\n\t\t\t\t\t: Math.floor(bounds.left + bounds.width / 2),\n\t\t\t\tY: mouseEvent\n\t\t\t\t\t? Math.floor(mouseEvent.clientY)\n\t\t\t\t\t: Math.floor(bounds.top + bounds.height / 2),\n\t\t\t},\n\t\t\toffset: {\n\t\t\t\tleft: Math.floor(bounds.left),\n\t\t\t\ttop: Math.floor(bounds.top),\n\t\t\t},\n\t\t},\n\t\tdimensions: {\n\t\t\twidth: Math.floor(bounds.width),\n\t\t\theight: Math.floor(bounds.height),\n\t\t},\n\t};\n\tif (fullscreen !== undefined) {\n\t\tpayload.fullscreen = fullscreen;\n\t}\n\treturn payload;\n};\n\nexport const dispatchModelessDialogAction = ({\n\tcontentElement,\n\twindowConfig,\n\tactionName,\n\tpayload,\n\tbounds,\n\tdialogSize,\n\tdialogLocation,\n\tmouseEvent,\n\tisFullscreen,\n}) => {\n\tif (!contentElement?.dispatch) {\n\t\treturn;\n\t}\n\n\tif (bounds) {\n\t\tcontentElement.dispatch(\n\t\t\tactionName,\n\t\t\tcreateHDSBoundsPayload(bounds, mouseEvent, isFullscreen),\n\t\t);\n\t} else if (dialogSize && dialogLocation) {\n\t\tconst constructedBounds = {\n\t\t\tleft:\n\t\t\t\tdialogLocation.left ??\n\t\t\t\twindow.innerWidth - dialogLocation.right - dialogSize.width,\n\t\t\ttop:\n\t\t\t\tdialogLocation.top ??\n\t\t\t\twindow.innerHeight - dialogLocation.bottom - dialogSize.height,\n\t\t\twidth: dialogSize.width,\n\t\t\theight: dialogSize.height,\n\t\t};\n\t\tcontentElement.dispatch(\n\t\t\tactionName,\n\t\t\tcreateHDSBoundsPayload(constructedBounds, mouseEvent, isFullscreen),\n\t\t);\n\t} else {\n\t\tcontentElement.dispatch(actionName, payload);\n\t}\n};\n","import {Fragment, createRef} from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\nimport {\n\tCLOSE_WINDOW,\n\tOPEN_WINDOW,\n\tTOGGLE_MINIMIZE_STATE,\n\tTOGGLE_MODAL_STATE,\n\tTOGGLE_DOCK,\n\tUXF_TOGGLE_DOCK,\n\tUXF_TOGGLE_MODAL,\n\tUXF_TOGGLE_MINIMIZED,\n\tUXF_CLOSE_WINDOW,\n\tUXF_OPEN_WINDOW,\n} from '../../sn-window-manager/utilities/actions';\nimport {matchCoordinateSystemToClosingLocation} from '../behaviors/utils/helpers';\nimport {KEY_MOVEMENT_STEP_AMOUNT, KEY_MOVEMENT_STEP_MULTIPLIER} from '../behaviors/utils/keyboard-events';\n\n\nconst defaultButtonVariant = 'primary';\nconst touchEnhancedButtonSize = 'lg';\n\n// Only screens smaller than 421px will use touch enhanced buttons\nconst determineUseTouchEnhancedButtons = (coeffects) =>\n\tcoeffects?.properties?.browserDimensions?.width !== 0 &&\n\tcoeffects?.properties?.browserDimensions?.width < 421;\n\nexport const CustomHeaderButtonIconic = ({button, dispatch, coeffects}) => {\n\tlet ButtonComponent = null;\n\n\tif (button.type === 'element') {\n\t\treturn button.element;\n\t}\n\n\tswitch (button.type) {\n\t\tcase 'icon':\n\t\t\tButtonComponent = 'now-button-iconic';\n\t\t\tbreak;\n\t\tcase 'button':\n\t\t\tButtonComponent = 'now-button';\n\t\t\tbreak;\n\t\tcase 'toggle':\n\t\t\tButtonComponent = 'now-toggle';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tButtonComponent = button.type;\n\t}\n\n\treturn (\n\t\t<ButtonComponent\n\t\t\t{...button.properties}\n\t\t\tkey={button.id || null}\n\t\t\thide-padding\n\t\t\tsize={\n\t\t\t\tbutton.properties?.size ||\n\t\t\t\t(determineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: coeffects.windowConfig.size)\n\t\t\t}\n\t\t\tbare\n\t\t\ticon={button.properties?.icon}\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={button.properties?.tooltipContent || button.label}\n\t\t\tconfigAria={\n\t\t\t\tbutton.properties?.configAria || {\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': button.properties?.tooltipContent || button.label,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t\ton-click={() => {\n\t\t\t\tif (button.properties?.onClick) {\n\t\t\t\t\tbutton.properties?.onClick(button);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(button.action, button);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tappend-to-payload={button.properties?.appendToPayload || null}\n\t\t/>\n\t);\n};\n\nexport const CloseButton = ({coeffects}) => {\n\tconst {windowConfig, dispatch, useTouchEnhancedButtons} = coeffects;\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_CLOSE_WINDOW\n\t\t: CLOSE_WINDOW;\n\n\tconst tooltipLabel = windowConfig.closeButtonTooltip\n\t\t? windowConfig.closeButtonTooltip\n\t\t: t('Close {0}', windowConfig.headingLabel);\n\n\treturn (\n\t\t<now-button\n\t\t\tid=\"close-window\"\n\t\t\thide-padding\n\t\t\ticon={windowConfig?.closeIcon}\n\t\t\tsize={\n\t\t\t\tuseTouchEnhancedButtons ? touchEnhancedButtonSize : windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={tooltipLabel}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t},\n\t\t\t}}\n\t\t\tappend-to-payload={{\n\t\t\t\tbuttonAction: windowConfig.isUXFWindow ? 'close_window' : 'close',\n\t\t\t\twindowConfig,\n\t\t\t}}\n\t\t\ton-click={(e) => {\n\t\t\t\t// if this is a UXF window we need to listen for now_button click event in launcherBehavior\n\t\t\t\t// so we can pass along the meta info to the close window action\n\t\t\t\te.stopPropagation();\n\t\t\t\tif (!windowConfig.isUXFWindow) {\n\t\t\t\t\tmatchCoordinateSystemToClosingLocation(coeffects);\n\t\t\t\t\tdispatch(dispatchedEvent, {windowConfig, closedFromButton: true});\n\t\t\t\t}\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const OpenButton = (coeffects) => {\n\tconst {windowConfig, dispatch, useTouchEnhancedButtons} = coeffects;\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_OPEN_WINDOW\n\t\t: OPEN_WINDOW;\n\n\tconst tooltipLabel = t('Open {0}', windowConfig.headingLabel);\n\n\treturn (\n\t\t<now-button\n\t\t\tid=\"open-window\"\n\t\t\thide-padding\n\t\t\ticon=\"plus-outline\"\n\t\t\tsize={\n\t\t\t\tuseTouchEnhancedButtons ? touchEnhancedButtonSize : windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={tooltipLabel}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(dispatchedEvent, {windowConfig});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const BottomDockButton = ({coeffects}) => {\n\tconst {windowConfig, windowsState, dispatch} = coeffects;\n\tlet buttonId, buttonIcon, tooltipLabel;\n\n\tif (windowsState?.bottomDockId === windowConfig?.id) {\n\t\tbuttonId = 'undock';\n\t\tbuttonIcon = 'panel-display-popout-outline';\n\t\ttooltipLabel = t('Undock {0}', windowConfig.headingLabel);\n\t} else {\n\t\tbuttonId = 'bottom-dock';\n\t\tbuttonIcon = 'panel-display-bottom-outline';\n\t\ttooltipLabel = t('Dock {0} To Bottom', windowConfig.headingLabel);\n\t}\n\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_TOGGLE_DOCK\n\t\t: TOGGLE_DOCK;\n\n\treturn (\n\t\t<now-button\n\t\t\tid={buttonId}\n\t\t\thide-padding\n\t\t\ticon={buttonIcon}\n\t\t\tsize={\n\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={tooltipLabel}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(dispatchedEvent, {windowConfig, dockLocation: 'bottom'});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const LeftDockButton = ({coeffects}) => {\n\tconst {\n\t\twindowConfig,\n\t\twindowsState,\n\t\tdispatch,\n\t\tproperties: {showHorizontalDockOptions},\n\t} = coeffects;\n\tconst isRTL = document.dir === 'rtl';\n\tconst isDocked =\n\t\twindowsState?.[isRTL ? 'rightDockId' : 'leftDockId'] === windowConfig?.id;\n\n\tlet buttonId, buttonIcon, dockTooltip;\n\n\tif (isDocked) {\n\t\tbuttonId = 'undock';\n\t\tbuttonIcon = `${windowConfig.dockConfig.dockRightIcon}-fill`;\n\t\tdockTooltip = t('Unpin {0}', windowConfig.headingLabel);\n\t} else {\n\t\tbuttonIcon = `${windowConfig.dockConfig.dockRightIcon}-outline`;\n\n\t\t// If we don't have multiple dock options, just specify that we are pinning\n\t\tif (!showHorizontalDockOptions) {\n\t\t\tbuttonId = 'pin';\n\t\t\tdockTooltip = t('Pin {0}', windowConfig.headingLabel);\n\t\t} else {\n\t\t\t// Case on which side we are pinning to based on RTL\n\t\t\tif (isRTL) {\n\t\t\t\tbuttonId = 'right-dock';\n\t\t\t\tdockTooltip = t('Pin {0} right', windowConfig.headingLabel);\n\t\t\t} else {\n\t\t\t\tbuttonId = 'left-dock';\n\t\t\t\tdockTooltip = t('Pin {0} left', windowConfig.headingLabel);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_TOGGLE_DOCK\n\t\t: TOGGLE_DOCK;\n\n\treturn (\n\t\t<now-button\n\t\t\tclass={{\n\t\t\t\t'singular-dock-button': !showHorizontalDockOptions && !isDocked,\n\t\t\t\t'left-dock-button':\n\t\t\t\t\t(!showHorizontalDockOptions && isDocked) || showHorizontalDockOptions,\n\t\t\t}}\n\t\t\tid={buttonId}\n\t\t\thide-padding\n\t\t\ticon={buttonIcon}\n\t\t\tsize={\n\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={dockTooltip}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': dockTooltip,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={(e) => {\n\t\t\t\tdispatch(dispatchedEvent, {\n\t\t\t\t\twindowConfig,\n\t\t\t\t\tdockLocation: isRTL ? 'right' : 'left',\n\t\t\t\t});\n\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const RightDockButton = ({coeffects}) => {\n\tconst {\n\t\twindowConfig,\n\t\twindowsState,\n\t\tdispatch,\n\t\tproperties: {showHorizontalDockOptions},\n\t} = coeffects;\n\tconst isRTL = document.dir === 'rtl';\n\tconst isDocked =\n\t\twindowsState[isRTL ? 'leftDockId' : 'rightDockId'] === windowConfig?.id;\n\n\tlet buttonId, buttonIcon, dockTooltip;\n\n\tif (isDocked) {\n\t\tbuttonId = 'undock';\n\t\tbuttonIcon = `${windowConfig.dockConfig.dockRightIcon}-fill`;\n\t\tdockTooltip = t('Unpin {0}', windowConfig.headingLabel);\n\t} else {\n\t\tbuttonIcon = `${windowConfig.dockConfig.dockRightIcon}-outline`;\n\n\t\t// If we don't have multiple dock options, just specify that we are pinning\n\t\tif (!showHorizontalDockOptions) {\n\t\t\tbuttonId = 'pin';\n\t\t\tdockTooltip = t('Pin {0}', windowConfig.headingLabel);\n\t\t} else {\n\t\t\t// Case on which side we are pinning to based on RTL\n\t\t\tif (isRTL) {\n\t\t\t\tbuttonId = 'left-dock';\n\t\t\t\tdockTooltip = t('Pin {0} left', windowConfig.headingLabel);\n\t\t\t} else {\n\t\t\t\tbuttonId = 'right-dock';\n\t\t\t\tdockTooltip = t('Pin {0} right', windowConfig.headingLabel);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_TOGGLE_DOCK\n\t\t: TOGGLE_DOCK;\n\n\treturn (\n\t\t<now-button\n\t\t\tclass={{\n\t\t\t\t'singular-dock-button': !showHorizontalDockOptions && !isDocked,\n\t\t\t\t'right-dock-button':\n\t\t\t\t\t(!showHorizontalDockOptions && isDocked) || showHorizontalDockOptions,\n\t\t\t}}\n\t\t\tid={buttonId}\n\t\t\thide-padding\n\t\t\ticon={buttonIcon}\n\t\t\tsize={\n\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={dockTooltip}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': dockTooltip,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={(e) => {\n\t\t\t\tdispatch(dispatchedEvent, {\n\t\t\t\t\twindowConfig,\n\t\t\t\t\tdockLocation: isRTL ? 'left' : 'right',\n\t\t\t\t});\n\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const ToggleModalButton = ({coeffects}) => {\n\tconst {windowConfig, properties, dispatch} = coeffects;\n\tlet buttonId, buttonIcon, tooltipLabel;\n\n\tif (properties?.isModal) {\n\t\tbuttonId = 'leave-modal';\n\t\tbuttonIcon = 'collapse-outline';\n\t\ttooltipLabel = t('Leave Modal');\n\t} else {\n\t\tbuttonId = 'enter-modal';\n\t\tbuttonIcon = 'expand-outline';\n\t\ttooltipLabel = t('Enter Modal');\n\t}\n\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_TOGGLE_MODAL\n\t\t: TOGGLE_MODAL_STATE;\n\n\treturn (\n\t\t<now-button\n\t\t\tid={buttonId}\n\t\t\thide-padding\n\t\t\ticon={buttonIcon}\n\t\t\tsize={\n\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={tooltipLabel}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(dispatchedEvent, {windowConfig});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const MinimizeWindowButton = ({coeffects}) => {\n\tconst {windowConfig, windowsState, dispatch} = coeffects;\n\tconst currMinimizedWidows = windowsState.minimizedWindows || [];\n\tconst isMinimized = currMinimizedWidows.includes(windowConfig.id);\n\n\tlet buttonId, buttonIcon, tooltipLabel;\n\tif (isMinimized) {\n\t\tbuttonId = 'maximize';\n\t\tbuttonIcon = 'maximize-outline';\n\t\ttooltipLabel = t('Restore {0}', windowConfig.headingLabel);\n\t} else {\n\t\tbuttonId = 'minimize';\n\t\tbuttonIcon = 'minimize-outline';\n\t\ttooltipLabel = t('Minimize {0}', windowConfig.headingLabel);\n\t}\n\n\tconst dispatchedEvent = windowConfig.isUXFWindow\n\t\t? UXF_TOGGLE_MINIMIZED\n\t\t: TOGGLE_MINIMIZE_STATE;\n\n\treturn (\n\t\t<now-button\n\t\t\tid={buttonId}\n\t\t\thide-padding\n\t\t\ticon={buttonIcon}\n\t\t\tsize={\n\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t: windowConfig.size\n\t\t\t}\n\t\t\tbare\n\t\t\tvariant={defaultButtonVariant}\n\t\t\ttooltip-content={tooltipLabel}\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(dispatchedEvent, {windowConfig});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const DragButton = ({coeffects}) => {\n\tconst {windowConfig, dispatch, state, updateState} = coeffects;\n\n\tconst buttonIcon = 'grid-vertical-outline';\n\n\tconst tooltipContent = state?.isDragModeEnabled\n\t\t? t('Use arrow keys to move by {0} pixels. Hold SHIFT to move by {1} pixels.', KEY_MOVEMENT_STEP_AMOUNT, KEY_MOVEMENT_STEP_AMOUNT * KEY_MOVEMENT_STEP_MULTIPLIER)\n\t\t: t('Press SPACE to enable dragging.');\n\n\tconst setTargetRef = (ref) => setTimeout(() => updateState({targetRef: ref}));\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-button\n\t\t\t\tid=\"drag-button\"\n\t\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\tclassName=\"accessibility-drag-button\"\n\t\t\t\thide-padding\n\t\t\t\ticon={buttonIcon}\n\t\t\t\tsize={\n\t\t\t\t\tdetermineUseTouchEnhancedButtons(coeffects)\n\t\t\t\t\t\t? touchEnhancedButtonSize\n\t\t\t\t\t\t: windowConfig.size\n\t\t\t\t}\n\t\t\t\tbare\n\t\t\t\tvariant={defaultButtonVariant}\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': tooltipContent,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch('TOGGLE_DRAG_MODE');\n\t\t\t\t}}\n\t\t\t\ton-blur={() => {\n\t\t\t\t\tdispatch('TOGGLE_DRAG_MODE', {enabled: false});\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{state?.targetRef ? (\n\t\t\t\t<now-tooltip target-ref={state.targetRef} content={tooltipContent} />\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n","import {shiftTo} from './helpers';\nexport const KEY_MOVEMENT_STEP_AMOUNT = 5;\nexport const KEY_MOVEMENT_STEP_MULTIPLIER = 10;\n\nexport const keyPressed = (e, state, dispatch, bottomToolBar) => {\n\tconst {dragContainerElement} = state;\n\n\tconst origLeft = dragContainerElement.offsetLeft;\n\tconst origTop = dragContainerElement.offsetTop;\n\tlet newLeft = origLeft;\n\tlet newTop = origTop;\n\n\tconst isShift = e.shiftKey;\n\n\tif (e.key === 'ArrowUp') {\n\t\tnewTop =\n\t\t\tnewTop -\n\t\t\t(isShift ? KEY_MOVEMENT_STEP_AMOUNT * KEY_MOVEMENT_STEP_MULTIPLIER : KEY_MOVEMENT_STEP_AMOUNT);\n\t} else if (e.key === 'ArrowDown') {\n\t\tnewTop =\n\t\t\tnewTop +\n\t\t\t(isShift ? KEY_MOVEMENT_STEP_AMOUNT * KEY_MOVEMENT_STEP_MULTIPLIER : KEY_MOVEMENT_STEP_AMOUNT);\n\t}\n\n\tif (e.key === 'ArrowLeft') {\n\t\tnewLeft =\n\t\t\tnewLeft -\n\t\t\t(isShift ? KEY_MOVEMENT_STEP_AMOUNT * KEY_MOVEMENT_STEP_MULTIPLIER : KEY_MOVEMENT_STEP_AMOUNT);\n\t} else if (e.key === 'ArrowRight') {\n\t\tnewLeft =\n\t\t\tnewLeft +\n\t\t\t(isShift ? KEY_MOVEMENT_STEP_AMOUNT * KEY_MOVEMENT_STEP_MULTIPLIER : KEY_MOVEMENT_STEP_AMOUNT);\n\t} else if (e.key === 'Escape') {\n\t\tdispatch('TOGGLE_DRAG_MODE', {enabled: false});\n\t\treturn;\n\t}\n\n\tif (origLeft !== newLeft || origTop !== newTop) {\n\t\tshiftTo(\n\t\t\tdragContainerElement,\n\t\t\tnewLeft,\n\t\t\tnewTop,\n\t\t\tstate.properties.dialogSize,\n\t\t\tstate.properties.dialogLocation,\n\t\t\tbottomToolBar,\n\t\t);\n\t}\n};\n","// standard actions for the SN_WINDOW\nexport const SN_WINDOW_OPENED = 'SN_WINDOW#WINDOW_OPENED';\nexport const SN_WINDOW_CLOSED = 'SN_WINDOW#WINDOW_CLOSED';\nexport const SN_WINDOW_CREATED = 'SN_WINDOW#WINDOW_CREATED';\nexport const SN_WINDOW_FOCUSED = 'SN_WINDOW#WINDOW_FOCUSED';\nexport const SN_WINDOW_MODALIZED = 'SN_WINDOW#WINDOW_MODALIZED';\nexport const SN_WINDOW_DOCKED = 'SN_WINDOW#WINDOW_DOCKED';\nexport const SN_WINDOW_MINIMIZED = 'SN_WINDOW#WINDOW_MINIMIZED';\nexport const SN_WINDOW_CHECK_LOCATION = 'SN_WINDOW#CHECK_LOCATION';\nexport const SN_WINDOW_START_DRAG = 'SN_WINDOW#START_DRAG';\nexport const SN_WINDOW_END_DRAG = 'SN_WINDOW#END_DRAG';\nexport const SN_WINDOW_KEY_PRESSED = 'SN_WINDOW#KEY_PRESSED';\nexport const SN_WINDOW_SET_DIRTY_STATE = 'SN_WINDOW#SET_DIRTY_STATE';\nexport const SN_WINDOW_DIRTY_STATE_SET = 'SN_WINDOW#DIRTY_STATE_SET';\nexport const SN_WINDOW_SET_WINDOW_SIZE = 'SN_WINDOW#SET_WINDOW_SIZE';\nexport const SN_WINDOW_SET_DOCKED_WINDOW_SIZE =\n\t'SN_WINDOW#SET_DOCKED_WINDOW_SIZE';\nexport const SN_WINDOW_SET_WINDOW_PROPERTIES =\n\t'SN_WINDOW#SET_WINDOW_PROPERTIES';\n\n// HDS: Modeless Dialog Action Constants for backwards compatability\nexport const NOW_MODELESS_DIALOG_MOUSEDOWN = 'NOW_MODELESS_DIALOG#MOUSEDOWN';\nexport const NOW_MODELESS_DIALOG_MOUSEUP = 'NOW_MODELESS_DIALOG#MOUSEUP';\nexport const NOW_MODELESS_DIALOG_OPENED_SET = 'NOW_MODELESS_DIALOG#OPENED_SET';\nexport const NOW_MODELESS_DIALOG_CLOSE = 'NOW_MODELESS_DIALOG#CLOSE';\nexport const NOW_MODELESS_DIALOG_MAXIMIZE = 'NOW_MODELESS_DIALOG#MAXIMIZE';\nexport const NOW_MODELESS_DIALOG_MINIMIZE = 'NOW_MODELESS_DIALOG#MINIMIZE';\nexport const NOW_MODELESS_DIALOG_RESIZABLE_END =\n\t'NOW_MODELESS_DIALOG#RESIZABLE_END';\nexport const NOW_MODELESS_DIALOG_CONTENT_VISIBLE =\n\t'NOW_MODELESS_DIALOG#CONTENT_VISIBLE';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getComponentsByTagNames\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t\t} else if ('getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getComponentsByTagNames || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"PREFERENCES\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.__esModule\n\t\t\t\t\tif (cjsModule && 'PREFERENCES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"].PREFERENCES;\n\t\t\t\t\t} else if ('PREFERENCES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.PREFERENCES || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"].PREFERENCES;\n\t\t\t\t}, [\"getBooleanPreferenceValue\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.__esModule\n\t\t\t\t\tif (cjsModule && 'getBooleanPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"].getBooleanPreferenceValue;\n\t\t\t\t\t} else if ('getBooleanPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.getBooleanPreferenceValue || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"].getBooleanPreferenceValue;\n\t\t\t\t}, [\"getPreferenceValue\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.__esModule\n\t\t\t\t\tif (cjsModule && 'getPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"].getPreferenceValue;\n\t\t\t\t\t} else if ('getPreferenceValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__.getPreferenceValue || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_unav_utils_29_0_1_polaris_19_index_jsdbx_68df7250__[\"default\"].getPreferenceValue;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"].debounce;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"];\n\t\t\t\t}, [\"getFocusableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"].getFocusableNodes;\n\t\t\t\t\t} else if ('getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__.getFocusableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_27_0_2_index_jsdbx_a69e6d00__[\"default\"].getFocusableNodes;\n\t\t\t\t} });","export const PORTAL_TYPES = {\n\tUNIFIED_NAVIGATION: 'unified-navigation',\n\tSERVICE_PORTAL: 'service-portal',\n\tEXAMPLE_APP: 'example-app',\n};\n","/* eslint-disable no-console */\nimport {getComponentsByTagNames} from '@devsnc/library-uxf';\nimport {\n\tgetBooleanPreferenceValue,\n\tgetPreferenceValue,\n\tPREFERENCES,\n} from '@devsnc/unav-utils';\nimport {debounce} from '@devsnc/snowdash';\nimport DOMPurify from 'dompurify';\n\nimport {\n\tCLOSE_WINDOW,\n\tCREATE_WINDOW,\n\tOPEN_DEBUG_WINDOW,\n\tOPEN_WINDOW,\n\tRELAY_MESSAGE,\n\tBROADCAST_MESSAGE,\n\tTOGGLE_MODAL_STATE,\n\tCLOSE_DOCK,\n\tTOGGLE_DOCK,\n\tUPDATE_BODY_CLASS_NAMES,\n\tCHECK_WINDOW_LOCATIONS,\n\tSET_HEADER_BUTTONS,\n\tTOGGLE_MINIMIZE_STATE,\n\tSCREEN_CHANGED,\n\tSET_DIRTY_STATE,\n\tFOCUS_WINDOW,\n\tSET_WINDOW_PROPERTIES,\n\tUPDATE_BOTTOM_TOOLBAR_ELEMENTS,\n} from './actions';\n\nimport {\n\tareWindowsOverlapping,\n\tclampDialogPosition,\n\tfindAvailableDialogPosition,\n\tisWindowInBounds,\n\tupdateDialogLocationBottomDock,\n\tfocusElementWithRetry,\n\tisDeepEqual,\n} from './helpers';\nimport {getFocusableNodes} from '@servicenow/behavior-focus';\n\nimport {PORTAL_TYPES} from './constants';\nimport {\n\tSN_WINDOW_CHECK_LOCATION,\n\tSN_WINDOW_CLOSED,\n\tSN_WINDOW_MINIMIZED,\n\tSN_WINDOW_OPENED,\n\tNOW_MODELESS_DIALOG_MOUSEDOWN,\n\tNOW_MODELESS_DIALOG_MOUSEUP,\n\tNOW_MODELESS_DIALOG_OPENED_SET,\n\tNOW_MODELESS_DIALOG_CLOSE,\n\tNOW_MODELESS_DIALOG_MAXIMIZE,\n\tNOW_MODELESS_DIALOG_MINIMIZE,\n} from '../../sn-window/actions';\nimport {dispatchModelessDialogAction} from '../../sn-window/behaviors/utils/helpers';\n\nfunction createGuid() {\n\treturn 'xxxxxxxx'.replace(/[xy]/g, function (c) {\n\t\tconst r = (Math.random() * 16) | 0,\n\t\t\tv = c === 'x' ? r : (r & 0x3) | 0x8;\n\t\treturn v.toString(16);\n\t});\n}\n\nconst ensureArray = (value) =>\n\tArray.isArray(value)\n\t\t? value\n\t\t: typeof value === 'string'\n\t\t\t? JSON.parse(value)\n\t\t\t: (value ?? [0, 0]);\n\nconst normalizeDialogSize = (dialogSize) => {\n\tif (!dialogSize) {\n\t\treturn {width: 320, height: 480};\n\t}\n\n\tconst convertValue = (value, dimension) => {\n\t\t// Convert percentage values to pixels based on browser window size\n\t\tif (typeof value === 'string' && value.endsWith('%')) {\n\t\t\tconst percentage = parseFloat(value) / 100;\n\t\t\tconst browserSize =\n\t\t\t\tdimension === 'width' ? window.innerWidth : window.innerHeight;\n\t\t\treturn Math.round(browserSize * percentage);\n\t\t}\n\t\treturn value;\n\t};\n\n\treturn {\n\t\twidth: convertValue(dialogSize.width, 'width') ?? 320,\n\t\theight: convertValue(dialogSize.height, 'height') ?? 480,\n\t};\n};\n// DOMPurify to strip HTML, then decode entities, replace BBCode tags\nconst sanitizeHtmlString = (str) => {\n\tconst sanitized = DOMPurify.sanitize(str, {ALLOWED_TAGS: []});\n\treturn decodeEntities(sanitized)\n\t\t.replace(/\\[\\/?\\w+]/g, '')\n\t\t.trim();\n};\n\n//Copied from polaris-app-shell\nfunction decodeEntities(str) {\n\tif (!str || !str.length) {\n\t\treturn '';\n\t}\n\treturn str.replace(/&(#?[\\w\\d]+);?/g, function (match, token) {\n\t\t// Consider tokens only starting with '#'\n\t\tif (token.charAt(0) === '#') {\n\t\t\tlet charCode;\n\n\t\t\t// If the token starts with 'x', parse token as hexadecimal else consider decimal.\n\t\t\tif (token.charAt(1) === 'x') {\n\t\t\t\tcharCode = parseInt(token.substr(2).toLowerCase(), 16);\n\t\t\t} else {\n\t\t\t\tcharCode = parseInt(token.substr(1));\n\t\t\t}\n\n\t\t\t// Character code must be a number and should lie between the valid range\n\t\t\tif (!isNaN(charCode) && charCode >= -32768 && charCode <= 65535) {\n\t\t\t\t// convert code to corresponding character symbol\n\t\t\t\treturn String.fromCharCode(charCode) || match;\n\t\t\t}\n\t\t}\n\n\t\t// Decode common named entities\n\t\tconst namedEntities = {\n\t\t\tamp: '&',\n\t\t\tlt: '<',\n\t\t\tgt: '>',\n\t\t\tquot: '\"',\n\t\t\tapos: \"'\",\n\t\t\tnbsp: ' ',\n\t\t};\n\t\treturn namedEntities[token] || match;\n\t});\n}\n\nconst newWindowDataConfig = (payload, portalType) => ({\n\tid: payload.id || createGuid(),\n\theadingLabel: payload.title ? sanitizeHtmlString(payload.title) : '',\n\tpinnedHeaderHeight: payload.pinnedHeaderHeight || '52px',\n\tisUXFWindow: payload.isUXFWindow || false,\n\tisOpen: payload.isOpen !== undefined ? payload.isOpen : true,\n\tposition: payload.position || 'centered',\n\tcanDrag: payload.canDrag !== undefined ? payload.canDrag : true,\n\tcanResize: payload.canResize !== undefined ? payload.canResize : true,\n\tcanMinimize:\n\t\tportalType === PORTAL_TYPES.SERVICE_PORTAL\n\t\t\t? false\n\t\t\t: payload.canMinimize !== undefined\n\t\t\t\t? payload.canMinimize\n\t\t\t\t: false,\n\tcanMaximize: payload.canMaximize !== undefined ? payload.canMaximize : false,\n\tcanClose: payload.canClose !== undefined ? payload.canClose : true,\n\tcloseIcon: payload?.closeIcon ?? 'close-outline',\n\tcloseToTop: payload.closeToTop !== undefined ? payload.closeToTop : false,\n\tcloseToElement:\n\t\tpayload.closeToElement !== undefined ? payload.closeToElement : null,\n\tcanDock: payload.canDock !== undefined ? payload.canDock : false,\n\tstartingState: payload.startingState || 'floating',\n\tisGlobalWindow:\n\t\tpayload.isGlobalWindow !== undefined ? payload.isGlobalWindow : true,\n\tscreenKey: payload.screenKey || null,\n\tinstanceId: payload.instanceId || null,\n\texperienceId: payload.experienceId || null,\n\tuxrComponentId: payload.componentId || null,\n\tcategory: payload.category || null,\n\tminimizedTitle: payload.minimizedTitle\n\t\t? sanitizeHtmlString(payload.minimizedTitle)\n\t\t: '',\n\tmodelessDialogControllerId: payload.modelessDialogControllerId || null,\n\toffset: ensureArray(payload.offset || [0, 0]),\n\tdockConfig: {\n\t\tdockRight: payload.dockConfig?.dockRight ?? true,\n\t\tdockLeft: payload.dockConfig?.dockLeft ?? true,\n\t\tdockBottom: payload.dockConfig?.dockBottom ?? false,\n\t\tdockRightIcon: payload.dockConfig?.dockRightIcon ?? 'thumbtack',\n\t\tdockLeftIcon: payload.dockConfig?.dockLeftIcon ?? 'thumbtack',\n\t},\n\tcanToggleModal:\n\t\tpayload.canToggleModal !== undefined ? payload.canToggleModal : false,\n\tfullscreenViewConfig: {\n\t\tmodalThresholds: {\n\t\t\twidth: payload.fullscreenViewConfig?.modalThresholds?.width || 641,\n\t\t\theight: payload.fullscreenViewConfig?.modalThresholds?.height || -1,\n\t\t},\n\t\tstandardThresholds: {\n\t\t\twidth: payload.fullscreenViewConfig?.standardThresholds?.width || 421,\n\t\t\theight: payload.fullscreenViewConfig?.standardThresholds?.height || 650,\n\t\t},\n\t},\n\tisPersistent: payload.isPersistent || false,\n\theaderButtons: payload.headerButtons || [],\n\tisModal: payload.isModal || payload.startingState === 'modal' || false,\n\theaderIcon: {\n\t\ticon: payload.headerIcon?.icon || null,\n\t\tsize: payload.headerIcon?.size || 'lg',\n\t},\n\tdialogSize: normalizeDialogSize(payload.dialogSize),\n\tdialogLocation: {\n\t\ttop: payload.dialogLocation?.top ?? -1,\n\t\tbottom: payload.dialogLocation?.bottom ?? -1,\n\t\tleft: payload.dialogLocation?.left ?? -1,\n\t\tright: payload.dialogLocation?.right ?? -1,\n\t},\n\tdockedWindowSize: payload.dockedWindowSize || 320,\n\tmodalSize: {\n\t\twidth: payload.modalSize?.width || '95%',\n\t\theight: payload.modalSize?.height || '85%',\n\t},\n\tcontent: {\n\t\tcomponent: payload.content?.component || null,\n\t\tproperties: payload.content?.properties || null,\n\t},\n\tresizableConfig: payload.resizableConfig || {\n\t\tenableResizable: payload.canResize !== undefined ? payload.canResize : true,\n\t\tresizableMinWidth: 320,\n\t\tresizableMinHeight: 280,\n\t\tresizableMaxWidth: payload.resizableConfig?.resizableMaxWidth || null,\n\t\tresizableMaxHeight: payload.resizableConfig?.resizableMaxHeight || null,\n\t\tcontext: 'float',\n\t},\n\t// Store percentage values separately (not in resizableConfig) for browser resize calculations\n\tmaxWindowSizePercentage: payload.maxWindowSizePercentage || null,\n\tautoResizableConfig: payload.autoResizableConfig || {\n\t\tenableAutoResizableHeight: false,\n\t},\n\tvariant: payload.variant || 'secondary',\n\tfitContent:\n\t\t(payload.content?.component !== null && payload.fitContent) || false,\n\tsize: payload.size || 'md',\n\tconfigAria: payload.configAria || {},\n\tstateChangeCallback: payload.stateChangeCallback || null,\n\tmodalOverlayClickEnabled: payload.modalOverlayClickEnabled || false,\n\treopenAsFloatingWindow: payload.reopenAsFloatingWindow || false,\n\tcloseButtonTooltip: payload.closeButtonTooltip || null,\n\tconfirmClose: payload.confirmClose || false,\n\tconfirmCloseMessage: payload.confirmCloseMessage || null,\n\thideHeadingDivider: payload.hideHeadingDivider || false,\n\tuseFlexContentLayout:\n\t\tpayload.autoResizableConfig?.enableAutoResizableHeight ||\n\t\tpayload.useFlexContentLayout\n\t\t\t? true\n\t\t\t: false,\n});\n\nexport function createStyleSheet(coeffects) {\n\tconst {\n\t\tproperties: {dynamicStyleSheet},\n\t\tupdateProperties,\n\t} = coeffects;\n\n\tif (dynamicStyleSheet !== null) {\n\t\treturn dynamicStyleSheet;\n\t}\n\n\tconst styleEl = document.createElement('style');\n\tstyleEl.id = 'sn-window-manager-styles';\n\n\t// Append <style> element to <head>\n\tdocument.head.appendChild(styleEl);\n\n\t// Grab style element's sheet\n\tconst newStyleSheet = styleEl.sheet;\n\tupdateProperties({\n\t\tdynamicStyleSheet: newStyleSheet,\n\t});\n\n\treturn newStyleSheet;\n}\n\n// ---------- Mutation Observer for the entire browser window ----------\nconst handleBrowserWindowMutations = (\n\tmutationsList,\n\tupdateProperties,\n\tdispatch,\n) => {\n\tfor (const mutation of mutationsList) {\n\t\tconst browserDimensions = {width: 0, height: 0};\n\t\tif (mutation.contentRect?.width !== undefined) {\n\t\t\tbrowserDimensions.width = parseInt(mutation.contentRect.width);\n\t\t}\n\t\tif (mutation.contentRect?.height !== undefined) {\n\t\t\tbrowserDimensions.height = parseInt(mutation.contentRect.height);\n\t\t}\n\t\tupdateProperties({browserDimensions});\n\t}\n\tdispatch(CHECK_WINDOW_LOCATIONS);\n};\n\nconst createBrowserWindowMutationObserver = (updateProperties, dispatch) => {\n\tconst modalWindow = document.querySelector('body');\n\n\tconst mutationObs = new ResizeObserver(\n\t\tdebounce((mutationsList) => {\n\t\t\thandleBrowserWindowMutations(mutationsList, updateProperties, dispatch);\n\t\t}, 10),\n\t);\n\tmutationObs.observe(modalWindow);\n\tupdateProperties({browserWindowMutationObserver: mutationObs});\n};\n\nexport const componentBootstrap = (coeffects) => {\n\tconst {dispatch, properties, state, host, updateProperties} = coeffects;\n\n\t// setup and include any CSS needed for the page to be able to support docking\n\tconst newStyleSheet = createStyleSheet(coeffects);\n\n\tswitch (properties.portalType) {\n\t\tcase PORTAL_TYPES.SERVICE_PORTAL:\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'body > .sp-page-root { transition: padding-right 150ms ease-in-out, padding-left 150ms ease-in-out, padding-bottom 150ms ease-in-out; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockLeft > .sp-page-root { padding-left: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockRight > .sp-page-root { padding-right: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockBottom > .sp-page-root { padding-bottom: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\n\t\t\tbreak;\n\n\t\tcase PORTAL_TYPES.UNIFIED_NAVIGATION:\n\t\t\t// if (properties.unifiedNavComponent) {\n\t\t\tconsole.info('notify unified nav of window manager');\n\t\t\tdispatch('POLARIS#REGISTER_WINDOW_MANAGER', {\n\t\t\t\twindowManager: host,\n\t\t\t});\n\t\t\t// }\n\t\t\tbreak;\n\n\t\tcase PORTAL_TYPES.EXAMPLE_APP:\n\t\t\thost.style.setProperty('--now-canvas-ai-border-color--primary', 'black');\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'body { transition: padding-inline-start 200ms cubic-bezier(0.4, 0, 0.5, 1) 300ms, padding-inline-end 200ms cubic-bezier(0.4, 0, 0.5, 1) 300ms; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockLeft { padding-left: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockRight { padding-right: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\t\t\tnewStyleSheet.insertRule(\n\t\t\t\t'.dockBottom { padding-bottom: 320px; }',\n\t\t\t\tnewStyleSheet.cssRules.length,\n\t\t\t);\n\n\t\t\tbreak;\n\t}\n\n\t// setup window commands for the sn-window-manager\n\twindow.nowWindowManager = host;\n\twindow.nowWindowManager.createWindow = (windowConfig) => {\n\t\tdispatch(CREATE_WINDOW, windowConfig);\n\t};\n\twindow.nowWindowManager.openWindow = (windowId, props = null) => {\n\t\tdispatch(OPEN_WINDOW, {\n\t\t\twindowConfig: {id: windowId},\n\t\t\tnewProperties: props,\n\t\t});\n\t};\n\twindow.nowWindowManager.closeWindow = (\n\t\twindowId,\n\t\tforceDestroy = false,\n\t\tmeta,\n\t) => {\n\t\tdispatch(CLOSE_WINDOW, {windowConfig: {id: windowId}, forceDestroy, meta});\n\t};\n\twindow.nowWindowManager.closeDock = (dockLocation, secondaryMenuId) => {\n\t\tdispatch(CLOSE_DOCK, {\n\t\t\tdock: dockLocation,\n\t\t\tsecondaryMenuId,\n\t\t});\n\t};\n\twindow.nowWindowManager.toggleDock = (windowId, dockLocation) => {\n\t\tdispatch(TOGGLE_DOCK, {windowConfig: {id: windowId}, dockLocation});\n\t};\n\twindow.nowWindowManager.toggleModal = (\n\t\twindowId,\n\t\tforceEnableModal = false,\n\t) => {\n\t\tdispatch(TOGGLE_MODAL_STATE, {\n\t\t\twindowConfig: {id: windowId},\n\t\t\tforceEnableModal,\n\t\t});\n\t};\n\twindow.nowWindowManager.toggleMinimized = (\n\t\twindowId,\n\t\tforceMinimize = false,\n\t) => {\n\t\tdispatch(TOGGLE_MINIMIZE_STATE, {\n\t\t\twindowConfig: {id: windowId},\n\t\t\tforceMinimize,\n\t\t});\n\t};\n\twindow.nowWindowManager.relayMessage = (message) => {\n\t\tdispatch(RELAY_MESSAGE, message);\n\t};\n\twindow.nowWindowManager.debugWindow = () => {\n\t\tdispatch(OPEN_DEBUG_WINDOW);\n\t};\n\twindow.nowWindowManager.focusWindow = (windowId) => {\n\t\tdispatch(FOCUS_WINDOW, {\n\t\t\twindowConfig: {id: windowId},\n\t\t});\n\t};\n\twindow.nowWindowManager.getContentElement = (windowId) => {\n\t\tconst currentWindow = window.nowWindowManager.windowsList.find(\n\t\t\t(window) => window.id === windowId,\n\t\t);\n\n\t\tif (currentWindow) {\n\t\t\treturn currentWindow.component.contentElement;\n\t\t}\n\t\treturn null;\n\t};\n\n\twindow.nowWindowManager.setHeaderButtons = (windowId, buttonsData) => {\n\t\tconst currentWindow = window.nowWindowManager.windowsList.find(\n\t\t\t(window) => window.id === windowId,\n\t\t);\n\t\tif (currentWindow) {\n\t\t\tdispatchEventToWindow(\n\t\t\t\twindow.nowWindowManager.windowsList,\n\t\t\t\tcurrentWindow.id,\n\t\t\t\tSET_HEADER_BUTTONS,\n\t\t\t\t{\n\t\t\t\t\theaderButtons: buttonsData,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\twindow.nowWindowManager.doesWindowExist = (windowId) => {\n\t\tconst currentWindow = window.nowWindowManager.windowsList.find(\n\t\t\t(window) => window.id === windowId,\n\t\t);\n\t\treturn currentWindow !== undefined && currentWindow !== null;\n\t};\n\n\twindow.nowWindowManager.setContentProperties = (windowId, props) => {\n\t\tconst currentWindow = window.nowWindowManager.windowsList.find(\n\t\t\t(window) => window.id === windowId,\n\t\t);\n\n\t\tObject.keys(props).forEach((key) => {\n\t\t\tcurrentWindow.component.contentElement[key] = props[key];\n\t\t});\n\t};\n\n\twindow.nowWindowManager.setWindowProperties = (windowId, props) => {\n\t\tdispatch(SET_WINDOW_PROPERTIES, {windowId, newProperties: props});\n\t};\n\n\twindow.nowWindowManager.setWindowSize = (windowId, size, dockedMode) => {\n\t\tconst windowsList = window.nowWindowManager.windowsList;\n\t\tconst currentWindow = window.nowWindowManager.windowsList.find(\n\t\t\t(window) => window.id === windowId,\n\t\t);\n\n\t\tif (currentWindow) {\n\t\t\t// Only allow docked window size to be set in service portal\n\t\t\tif (dockedMode) {\n\t\t\t\tif (\n\t\t\t\t\twindow.nowWindowManager.portalType === PORTAL_TYPES.SERVICE_PORTAL\n\t\t\t\t) {\n\t\t\t\t\tconst newDockedWindowSize = {\n\t\t\t\t\t\tsize:\n\t\t\t\t\t\t\tsize.width ||\n\t\t\t\t\t\t\tsize.height ||\n\t\t\t\t\t\t\tcurrentWindow.component.dockedWindowSize,\n\t\t\t\t\t};\n\t\t\t\t\tdispatchEventToWindow(\n\t\t\t\t\t\twindowsList,\n\t\t\t\t\t\tcurrentWindow.id,\n\t\t\t\t\t\t'SN_WINDOW#SET_DOCKED_WINDOW_SIZE',\n\t\t\t\t\t\tnewDockedWindowSize,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst newDialogSize = {\n\t\t\t\t\twidth: size.width || currentWindow.component.dialogSize.width,\n\t\t\t\t\theight: size.height || currentWindow.component.dialogSize.height,\n\t\t\t\t};\n\t\t\t\tdispatchEventToWindow(\n\t\t\t\t\twindowsList,\n\t\t\t\t\tcurrentWindow.id,\n\t\t\t\t\t'SN_WINDOW#SET_WINDOW_SIZE',\n\t\t\t\t\tnewDialogSize,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\twindow.nowWindowManager.handleScreenChanged = (payload) => {\n\t\tdispatch(SCREEN_CHANGED, payload);\n\t};\n\n\twindow.nowWindowManager.setDirtyState = (windowId, dirtyState) => {\n\t\tdispatch(SET_DIRTY_STATE, {id: windowId, dirtyState});\n\t};\n\n\twindow.nowWindowManager.updateUserPreferences = (name, value) => {\n\t\tupdateProperties({\n\t\t\tuserPreferences: {\n\t\t\t\t...state.properties.userPreferences,\n\t\t\t\t[name]: value,\n\t\t\t},\n\t\t});\n\t\tif (name === PREFERENCES.DISABLE_ANIMATION) {\n\t\t\tupdateProperties({animationsDisabled: value});\n\t\t}\n\t};\n\n\twindow.nowWindowManager.closeAllWindows = (forceDestroy = false) => {\n\t\tconst windowsToClose = [...window.nowWindowManager.windowsList];\n\t\twindowsToClose.forEach((windowConfig) => {\n\t\t\twindow.nowWindowManager.closeWindow(windowConfig.id, forceDestroy);\n\t\t});\n\t};\n\n\twindow.nowWindowManager.getDockedWindowId = (dockLocation) => {\n\t\tconst windowsState = window.nowWindowManager.windowsState;\n\n\t\tlet result;\n\t\tswitch (dockLocation) {\n\t\t\tcase 'left':\n\t\t\t\tresult = windowsState.leftDockId;\n\t\t\t\tbreak;\n\t\t\tcase 'right':\n\t\t\t\tresult = windowsState.rightDockId;\n\t\t\t\tbreak;\n\t\t\tcase 'bottom':\n\t\t\t\tresult = windowsState.bottomDockId;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tresult = null;\n\t\t}\n\t\treturn result;\n\t};\n\n\tconst userPrefs = window.ux_globals?.userPrefs || {};\n\tupdateProperties({\n\t\tuserPreferences: userPrefs,\n\t});\n\n\tconst coerceBoolean = (val) => {\n\t\tif (typeof val === 'boolean') {\n\t\t\treturn val;\n\t\t}\n\t\tif (typeof val === 'string') {\n\t\t\treturn val.toLowerCase() === 'true' || val === '1';\n\t\t}\n\t\tif (typeof val === 'number') {\n\t\t\treturn val === 1;\n\t\t}\n\t\treturn false;\n\t};\n\n\tlet animationsDisabled = false;\n\ttry {\n\t\tanimationsDisabled = getBooleanPreferenceValue(\n\t\t\tuserPrefs,\n\t\t\tPREFERENCES.DISABLE_ANIMATION,\n\t\t);\n\t} catch (_err) {\n\t\tif (Array.isArray(userPrefs)) {\n\t\t\tconst pref = userPrefs.find(\n\t\t\t\t(p) => p?.name === PREFERENCES.DISABLE_ANIMATION,\n\t\t\t);\n\t\t\tanimationsDisabled = coerceBoolean(pref?.value);\n\t\t} else if (userPrefs && typeof userPrefs === 'object') {\n\t\t\tanimationsDisabled = coerceBoolean(\n\t\t\t\tuserPrefs?.[PREFERENCES.DISABLE_ANIMATION],\n\t\t\t);\n\t\t}\n\t}\n\tupdateProperties({animationsDisabled});\n\n\tcreateBrowserWindowMutationObserver(updateProperties, dispatch);\n\tif (window.ux_globals?.__windowManagerConfig) {\n\t\twindow.ux_globals.__windowManagerConfig.isLoaded = true;\n\t}\n\n\tconsole.info('sn-window-manager - started', {properties, state});\n};\n\nexport const handlePropertyChange = ({action, state}) => {\n\tconst {\n\t\tpayload: {name, value},\n\t} = action;\n\n\tif (\n\t\tname === 'browserDimensions' ||\n\t\tname === 'windowsState' ||\n\t\tname === 'windowsList' ||\n\t\tname === 'portalType' ||\n\t\tname === 'animationsDisabled' ||\n\t\tname === 'screenInfo'\n\t) {\n\t\tstate.properties.windowsList.map((currentWindow) => {\n\t\t\tdispatchEventToWindow(\n\t\t\t\tstate.properties.windowsList,\n\t\t\t\tcurrentWindow.id,\n\t\t\t\t'PROPERTY_CHANGED',\n\t\t\t\t{name, value},\n\t\t\t);\n\t\t});\n\t}\n};\n\nexport const handleDomTreeReady = (coeffects) => {\n\tconst {state, host, dispatch, updateProperties} = coeffects;\n\tconst {properties} = state;\n\n\t// if we are in the example app, open the debug window by default\n\tif (properties.portalType === PORTAL_TYPES.EXAMPLE_APP) {\n\t\tdispatch(OPEN_DEBUG_WINDOW);\n\t}\n\n\tconst bottomToolBar = host.shadowRoot.querySelector(\n\t\t'sn-window-manager-bottom-toolbar',\n\t);\n\tupdateProperties({\n\t\tbottomToolbarComponent: bottomToolBar,\n\t});\n};\n\nexport const handleComponentConnected = () => {\n\t// console.info('sn-window-manager - Component connected');\n};\n\nconst completeDockToggle = (\n\tnewLeftDockId,\n\tnewRightDockId,\n\tnewBottomDockId,\n\tdockSide,\n\tcoeffects,\n\tpayload,\n) => {\n\tconst {updateProperties, state, dispatch} = coeffects;\n\tconst {properties} = state;\n\tconst {windowsState, windowsList} = properties;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === payload.windowConfig.id,\n\t);\n\n\tconst isWindowDocked =\n\t\tnewLeftDockId === payload.windowConfig.id ||\n\t\tnewRightDockId === payload.windowConfig.id ||\n\t\tnewBottomDockId === payload.windowConfig.id;\n\n\tlet modalWindows = windowsState.modalWindows || [];\n\tif (windowsState.modalWindows.includes(payload.windowConfig.id)) {\n\t\tmodalWindows = windowsState.modalWindows.filter(\n\t\t\t(windowId) => windowId !== payload.windowConfig.id,\n\t\t);\n\t\tconst currentWindow = windowsList.find(\n\t\t\t(window) => window.id === payload.windowConfig.id,\n\t\t);\n\t\tcurrentWindow.isModal = false;\n\t}\n\n\tupdateProperties({\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tleftDockId: newLeftDockId,\n\t\t\trightDockId: newRightDockId,\n\t\t\tbottomDockId: newBottomDockId,\n\t\t\tmodalWindows: modalWindows,\n\t\t},\n\t});\n\tdispatch(UPDATE_BODY_CLASS_NAMES, {secondaryMenuId: payload.secondaryMenuId});\n\thandleStateChangeCallback(\n\t\tcurrentWindow,\n\t\tisWindowDocked ? 'docked-' + dockSide : 'floating',\n\t);\n};\n\nexport const handleToggleLeftDock = (coeffects) => {\n\tconst {state, action} = coeffects;\n\tconst {properties} = state;\n\tconst {payload} = action;\n\n\tconst newLeftDockId =\n\t\tproperties.windowsState.leftDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: payload.windowConfig.id;\n\tconst newRightDockId =\n\t\tproperties.windowsState.rightDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: properties.windowsState.rightDockId;\n\tconst newBottomDockId =\n\t\tproperties.windowsState.bottomDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: properties.windowsState.bottomDockId;\n\n\tcompleteDockToggle(\n\t\tnewLeftDockId,\n\t\tnewRightDockId,\n\t\tnewBottomDockId,\n\t\t'left',\n\t\tcoeffects,\n\t\tpayload,\n\t);\n};\n\nexport const handleToggleRightDock = (coeffects) => {\n\tconst {state, action} = coeffects;\n\tconst {properties} = state;\n\tconst {windowsState} = properties;\n\tconst {payload} = action;\n\n\tconst newLeftDockId =\n\t\twindowsState.leftDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: windowsState.leftDockId;\n\tconst newRightDockId =\n\t\twindowsState.rightDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: payload.windowConfig.id;\n\tconst newBottomDockId =\n\t\twindowsState.bottomDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: windowsState.bottomDockId;\n\n\tcompleteDockToggle(\n\t\tnewLeftDockId,\n\t\tnewRightDockId,\n\t\tnewBottomDockId,\n\t\t'right',\n\t\tcoeffects,\n\t\tpayload,\n\t);\n};\n\nexport const handleToggleBottomDock = (coeffects) => {\n\tconst {state, action} = coeffects;\n\tconst {properties} = state;\n\tconst {payload} = action;\n\n\tconst newLeftDockId =\n\t\tproperties.windowsState.leftDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: properties.windowsState.leftDockId;\n\tconst newRightDockId =\n\t\tproperties.windowsState.rightDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: properties.windowsState.rightDockId;\n\tconst newBottomDockId =\n\t\tproperties.windowsState.bottomDockId === payload.windowConfig.id\n\t\t\t? null\n\t\t\t: payload.windowConfig.id;\n\n\tcompleteDockToggle(\n\t\tnewLeftDockId,\n\t\tnewRightDockId,\n\t\tnewBottomDockId,\n\t\t'bottom',\n\t\tcoeffects,\n\t\tpayload,\n\t);\n};\n\nexport const handleToggleDock = (coeffects) => {\n\tconst {action, properties} = coeffects;\n\tconst {windowsList} = properties;\n\tconst {\n\t\tpayload: {dockLocation, windowConfig, overrideConfig = false},\n\t} = action;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === windowConfig.id,\n\t);\n\n\t// Ensure the config doesn't prevent docking (unless overrideConfig is true)\n\tif (!currentWindow || (!currentWindow.canDock && !overrideConfig)) {\n\t\treturn;\n\t}\n\n\tif (dockLocation === 'left') {\n\t\thandleToggleLeftDock(coeffects);\n\t} else if (dockLocation === 'right') {\n\t\thandleToggleRightDock(coeffects);\n\t} else if (dockLocation === 'bottom') {\n\t\thandleToggleBottomDock(coeffects);\n\t}\n};\n\nexport const handleCloseDock = (coeffects) => {\n\tconst {action, updateProperties, state, dispatch} = coeffects;\n\tconst {payload} = action;\n\tconst {properties} = state;\n\tlet newLeftDockId = properties.windowsState.leftDockId;\n\tlet newRightDockId = properties.windowsState.rightDockId;\n\tlet newBottomDockId = properties.windowsState.bottomDockId;\n\tlet undockedWindowId;\n\n\t// Close the window that was docked to the side specified\n\tif (payload.dock === 'left') {\n\t\tundockedWindowId = newLeftDockId;\n\t\tnewLeftDockId = null;\n\t} else if (payload.dock === 'right') {\n\t\tundockedWindowId = newRightDockId;\n\t\tnewRightDockId = null;\n\t} else if (payload.dock === 'bottom') {\n\t\tundockedWindowId = newBottomDockId;\n\t\tnewBottomDockId = null;\n\t}\n\n\tupdateProperties({\n\t\twindowsState: {\n\t\t\t...properties.windowsState,\n\t\t\tleftDockId: newLeftDockId,\n\t\t\trightDockId: newRightDockId,\n\t\t\tbottomDockId: newBottomDockId,\n\t\t},\n\t});\n\tdispatch(UPDATE_BODY_CLASS_NAMES, {secondaryMenuId: payload.secondaryMenuId});\n\t// Get window that was undocked\n\tif (undockedWindowId !== null) {\n\t\tconst undockedWindow = properties.windowsList.find(\n\t\t\t(window) => window.id === undockedWindowId,\n\t\t);\n\t\thandleStateChangeCallback(undockedWindow, 'floating');\n\t}\n};\n\nexport const updateBodyClassName = (coeffects) => {\n\tconst {\n\t\tstate,\n\t\taction: {payload},\n\t\tdispatch,\n\t} = coeffects;\n\tconst {properties} = state;\n\tconst {windowsState, userPreferences} = properties;\n\tconst {leftDockId, rightDockId, bottomDockId} = windowsState;\n\n\t// closing left dock\n\tif (document.body.classList.contains('dockLeft') && leftDockId === null) {\n\t\tdocument.body.classList.remove('dockLeft');\n\t\tif (!payload.secondaryMenuId) {\n\t\t\tdispatch(\n\t\t\t\tdocument.dir === 'rtl' ? 'CONTEXTUAL_MENU#PINNED' : 'MAIN_MENU#PINNED',\n\t\t\t\t{\n\t\t\t\t\tdoPinning: false,\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t\tprimaryMenuId: null,\n\t\t\t\t\tisPinnedWindow: true,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n\t// closing right dock\n\tif (document.body.classList.contains('dockRight') && rightDockId === null) {\n\t\tdocument.body.classList.remove('dockRight');\n\t\tif (!payload.secondaryMenuId) {\n\t\t\tdispatch('CONTEXTUAL_MENU#PINNED', {\n\t\t\t\tdoPinning: false,\n\t\t\t\tisPrimary: true,\n\t\t\t\tprimaryMenuId: null,\n\t\t\t\tisPinnedWindow: true,\n\t\t\t});\n\t\t}\n\t}\n\t// closing bottom dock\n\tif (document.body.classList.contains('dockBottom') && bottomDockId === null) {\n\t\tdocument.body.classList.remove('dockBottom');\n\t}\n\n\t// opening left dock\n\tif (!document.body.classList.contains('dockLeft') && leftDockId !== null) {\n\t\t// Get user's pinned menu preference\n\t\tlet mainMenuPinnedId = getPreferenceValue(\n\t\t\tuserPreferences,\n\t\t\tPREFERENCES.MAIN_MENU_PINNED_ID,\n\t\t);\n\t\tif (mainMenuPinnedId === 'null' || mainMenuPinnedId === '') {\n\t\t\tmainMenuPinnedId = null;\n\t\t}\n\n\t\tdocument.body.classList.add('dockLeft');\n\t\tdispatch(\n\t\t\tdocument.dir === 'rtl' ? 'CONTEXTUAL_MENU#PINNED' : 'MAIN_MENU#PINNED',\n\t\t\t{\n\t\t\t\tdoPinning: true,\n\t\t\t\tisPrimary: true,\n\t\t\t\tprimaryMenuId: mainMenuPinnedId,\n\t\t\t\tisPinnedWindow: true,\n\t\t\t\tsecondaryMenuId: null,\n\t\t\t},\n\t\t);\n\t}\n\t// opening right dock\n\tif (!document.body.classList.contains('dockRight') && rightDockId !== null) {\n\t\tdocument.body.classList.add('dockRight');\n\t\tdispatch('CONTEXTUAL_MENU#PINNED', {\n\t\t\tdoPinning: true,\n\t\t\tisPrimary: true,\n\t\t\tprimaryMenuId: rightDockId,\n\t\t\tisPinnedWindow: true,\n\t\t});\n\t}\n\t// opening bottom dock\n\tif (\n\t\t!document.body.classList.contains('dockBottom') &&\n\t\tbottomDockId !== null\n\t) {\n\t\tdocument.body.classList.add('dockBottom');\n\t}\n};\n\nexport const handleStateChangeCallback = (windowConfig, state) => {\n\tif (windowConfig.stateChangeCallback) {\n\t\twindowConfig.stateChangeCallback({state});\n\t}\n};\n\nexport const handleCreateWindow = (coeffects) => {\n\tconst {updateProperties, state, action, host, dispatch} = coeffects;\n\tconst {\n\t\twindowsList,\n\t\twindowsState,\n\t\tportalType,\n\t\tbrowserDimensions,\n\t\tbottomToolbarComponent,\n\t} = state.properties;\n\tconst {payload} = action;\n\n\tconst existingWindowConfig = windowsList.find(\n\t\t(currentWindow) => currentWindow.id === payload.id,\n\t);\n\n\tif (existingWindowConfig) {\n\t\tcoeffects.action.payload.windowConfig = existingWindowConfig;\n\n\t\t// DEF0722407: if a window has been created with isOpen set to false\n\t\t// and createWindow gets called again for that same window, do not open it.\n\t\t// we need to check the incoming payload and not existingWindowConfig because isOpen\n\t\t// could change in existingWindowConfig after it has been created\n\t\tif (coeffects.action.payload.windowConfig.isOpen !== false) {\n\t\t\t// eslint-disable-next-line no-use-before-define\n\t\t\thandleOpenWindow(coeffects);\n\t\t}\n\t\treturn;\n\t}\n\n\tif (\n\t\tpayload.content?.component &&\n\t\ttypeof payload.content?.component === 'string'\n\t) {\n\t\tgetComponentsByTagNames([payload.content.component]);\n\t}\n\n\tconst newWindowConfig = newWindowDataConfig(payload, portalType);\n\n\tconsole.info('New Window Config', {newWindowConfig, payload});\n\n\t// determine window position if the user has opted to define position and offset instead of dialogLocation\n\n\t// Case where the y value is not specified\n\tif (\n\t\tnewWindowConfig.dialogLocation.top === -1 &&\n\t\tnewWindowConfig.dialogLocation.bottom === -1\n\t) {\n\t\tif (newWindowConfig.position === 'centered') {\n\t\t\tnewWindowConfig.dialogLocation.top =\n\t\t\t\t(window.innerHeight - newWindowConfig.dialogSize.height) / 2;\n\t\t} else if (\n\t\t\tnewWindowConfig.position === 'top-right' ||\n\t\t\tnewWindowConfig.position === 'top-left'\n\t\t) {\n\t\t\tnewWindowConfig.dialogLocation.top = newWindowConfig.offset[1];\n\t\t} else if (\n\t\t\tnewWindowConfig.position === 'bottom-right' ||\n\t\t\tnewWindowConfig.position === 'bottom-left'\n\t\t) {\n\t\t\tnewWindowConfig.dialogLocation.bottom = newWindowConfig.offset[1];\n\t\t}\n\t}\n\n\t// Case where the x value is not specified\n\tif (\n\t\tnewWindowConfig.dialogLocation.left === -1 &&\n\t\tnewWindowConfig.dialogLocation.right === -1\n\t) {\n\t\tif (newWindowConfig.position === 'centered') {\n\t\t\tnewWindowConfig.dialogLocation.left =\n\t\t\t\t(window.innerWidth - newWindowConfig.dialogSize.width) / 2;\n\t\t} else if (\n\t\t\tnewWindowConfig.position === 'top-left' ||\n\t\t\tnewWindowConfig.position === 'bottom-left'\n\t\t) {\n\t\t\tnewWindowConfig.dialogLocation.left = newWindowConfig.offset[0];\n\t\t} else if (\n\t\t\tnewWindowConfig.position === 'top-right' ||\n\t\t\tnewWindowConfig.position === 'bottom-right'\n\t\t) {\n\t\t\tnewWindowConfig.dialogLocation.right = newWindowConfig.offset[0];\n\t\t}\n\t}\n\n\t// Only keep the coordinate system that is being used\n\tnewWindowConfig.dialogLocation = {\n\t\t...(newWindowConfig.dialogLocation.top !== -1\n\t\t\t? {top: newWindowConfig.dialogLocation.top}\n\t\t\t: {bottom: newWindowConfig.dialogLocation.bottom}),\n\t\t...(newWindowConfig.dialogLocation.left !== -1\n\t\t\t? {left: newWindowConfig.dialogLocation.left}\n\t\t\t: {right: newWindowConfig.dialogLocation.right}),\n\t};\n\n\t//get the current sn-window-manager-toolbar height\n\tconst {offsetHeight: bottomDockHeight} =\n\t\tbottomToolbarComponent.shadowRoot.querySelector(\n\t\t\t'.sn-window-manager-toolbar',\n\t\t);\n\t//adjust window location and normalize the coordinates for offset\n\tnewWindowConfig.dialogLocation = updateDialogLocationBottomDock(\n\t\tnewWindowConfig,\n\t\tbottomDockHeight,\n\t);\n\n\t// Offset window if it's overlapping with another window\n\tconst isAnyWindowOverlapping = windowsList.find((window) =>\n\t\tareWindowsOverlapping(window, newWindowConfig),\n\t);\n\tif (isAnyWindowOverlapping) {\n\t\tnewWindowConfig.dialogLocation = findAvailableDialogPosition(\n\t\t\tnewWindowConfig.dialogLocation,\n\t\t\twindowsList,\n\t\t\tnewWindowConfig.dialogSize,\n\t\t\tbottomDockHeight,\n\t\t\tnewWindowConfig,\n\t\t);\n\t}\n\n\t// Position it top left to allow for proper fit-content calculation\n\tif (newWindowConfig.fitContent) {\n\t\tnewWindowConfig.dialogLocation = {top: 0, left: 0};\n\t}\n\n\t// create new sn-window element\n\tconst nowWindow = document.createElement('sn-window');\n\tnowWindow.animationsDisabled = state.properties.animationsDisabled;\n\tnowWindow.id = `window-${newWindowConfig.id}`;\n\tnowWindow.windowConfig = newWindowConfig;\n\tnowWindow.windowsList = windowsList;\n\tnowWindow.windowsState = windowsState;\n\tnowWindow.dialogSize = newWindowConfig.dialogSize;\n\tnowWindow.dialogLocation = newWindowConfig.dialogLocation;\n\tnowWindow.dockedWindowSize = newWindowConfig.dockedWindowSize;\n\tnowWindow.modalSize = newWindowConfig.modalSize;\n\tnowWindow.portalType = portalType || PORTAL_TYPES.UNIFIED_NAVIGATION;\n\tnowWindow.isModal = newWindowConfig.isModal;\n\tnowWindow.isDocked = newWindowConfig.startingState?.indexOf('docked') >= 0;\n\tnowWindow.isFloating =\n\t\tnewWindowConfig.startingState?.indexOf('floating') >= 0;\n\tnowWindow.canResize = newWindowConfig.canResize;\n\tnowWindow.resizableConfig = newWindowConfig.resizableConfig;\n\tnowWindow.maxWindowSizePercentage = newWindowConfig.maxWindowSizePercentage;\n\tnowWindow.fullscreenViewConfig = newWindowConfig.fullscreenViewConfig;\n\tnowWindow.browserDimensions = browserDimensions;\n\tnowWindow.bottomToolbarComponent = bottomToolbarComponent;\n\tnowWindow.configAria = newWindowConfig.configAria;\n\tnowWindow.isHidden = newWindowConfig.fitContent;\n\tnowWindow.isDirty = false;\n\tnowWindow.isOpen = newWindowConfig.isOpen;\n\n\tnewWindowConfig.component = nowWindow;\n\n\tconst modalWindows = windowsState.modalWindows || [];\n\n\tif (newWindowConfig.startingState === 'modal') {\n\t\t// nowWindow.resizableConfig.enableResizable = false;\n\t\tmodalWindows.push(newWindowConfig.id);\n\t}\n\n\tif (newWindowConfig.startingState?.indexOf('docked') >= 0) {\n\t\t// nowWindow.resizableConfig.enableResizable = false;\n\t\tif (newWindowConfig.startingState === 'docked-left') {\n\t\t\twindowsState.leftDockId = newWindowConfig.id;\n\t\t}\n\t\tif (newWindowConfig.startingState === 'docked-right') {\n\t\t\twindowsState.rightDockId = newWindowConfig.id;\n\t\t}\n\t\tif (newWindowConfig.startingState === 'docked-bottom') {\n\t\t\twindowsState.bottomDockId = newWindowConfig.id;\n\t\t}\n\n\t\tdispatch(UPDATE_BODY_CLASS_NAMES);\n\t}\n\n\t// call state change callback\n\thandleStateChangeCallback(\n\t\tnewWindowConfig,\n\t\t!newWindowConfig.isOpen ? 'closed' : newWindowConfig.startingState,\n\t);\n\n\t// append the new window to host element\n\tif (\n\t\tpayload.content.component.elm?.tagName === 'NOW-UXF-PAGE-SIMPLE-CONTAINER'\n\t) {\n\t\tpayload.content.component.elm.appendChild(nowWindow);\n\t} else {\n\t\thost.shadowRoot.appendChild(nowWindow);\n\t}\n\n\t//if uxf window and hideOthers is enabled, minimize other windows\n\tif (newWindowConfig.isUXFWindow && payload.hideOthers) {\n\t\tfor (const window of windowsList) {\n\t\t\tif (window.id !== newWindowConfig.id) {\n\t\t\t\thandleToggleMinimize({\n\t\t\t\t\t...coeffects,\n\t\t\t\t\taction: {\n\t\t\t\t\t\t...coeffects.action,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\twindowConfig: {id: window.id},\n\t\t\t\t\t\t\tforceMinimize: true,\n\t\t\t\t\t\t\toverrideConfig: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tupdateProperties({\n\t\twindowsList: [...windowsList, newWindowConfig],\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tactiveWindowId: newWindowConfig.id,\n\t\t\tmodalWindows: modalWindows,\n\t\t},\n\t});\n};\n\nexport const handleCloseWindow = (coeffects) => {\n\tconst {updateProperties, state, action, dispatch} = coeffects;\n\tconst {windowsList, windowsState, showCloseConfirmDialog} = state.properties;\n\tconst {\n\t\tpayload: {\n\t\t\twindowConfig,\n\t\t\tforceDestroy = false,\n\t\t\toverrideConfig = false,\n\t\t\tclosedFromButton = false,\n\t\t},\n\t} = action;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === windowConfig.id,\n\t);\n\n\tconst reopenAsFloatingWindow = currentWindow?.reopenAsFloatingWindow || false;\n\n\t// Ensure the config doesn't prevent closing (unless overrideConfig is true)\n\tif (\n\t\t!currentWindow ||\n\t\t(!currentWindow.canClose && !overrideConfig && !forceDestroy)\n\t) {\n\t\treturn;\n\t}\n\n\tconsole.info('Closing Window', {\n\t\tshowCloseConfirmDialog,\n\t\tcurrentWindow,\n\t\tpayload: action.payload,\n\t});\n\n\tif (\n\t\t(!forceDestroy && currentWindow.component.isDirty) ||\n\t\twindowConfig.confirmClose\n\t) {\n\t\tupdateProperties({\n\t\t\tshowCloseConfirmDialog: true,\n\t\t\tclosingWindowId: currentWindow.id,\n\t\t\tconfirmCloseMessage: windowConfig.confirmCloseMessage || null,\n\t\t});\n\t\tif (currentWindow.component.isDirty) {\n\t\t\tdispatchEventToWindow(\n\t\t\t\twindowsList,\n\t\t\t\tcurrentWindow.id,\n\t\t\t\t'SN_WINDOW#CLOSE_REQUESTED',\n\t\t\t\t{\n\t\t\t\t\tmeta: action.payload.meta,\n\t\t\t\t\twindowId: currentWindow.id,\n\t\t\t\t\tscreenKey: currentWindow.screenKey,\n\t\t\t\t\tinstanceId: currentWindow.instanceId,\n\t\t\t\t\texperienceId: currentWindow.experienceId,\n\t\t\t\t\tcomponentId: currentWindow.uxrComponentId,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t\treturn;\n\t}\n\n\tconst nowWindow = currentWindow.component;\n\tconst isPersistent = currentWindow.isPersistent || false;\n\n\tlet newWindowsList = null;\n\tlet newMinimizedWindows = windowsState.minimizedWindows || [];\n\tlet newModalWindows = windowsState.modalWindows || [];\n\tconst activeWindowId = windowsState.activeWindowId || null;\n\n\t// let the window's content element know that the window is being closed before we close it\n\tif (showCloseConfirmDialog) {\n\t\tdispatchEventToWindow(\n\t\t\twindowsList,\n\t\t\tcurrentWindow.id,\n\t\t\t'SN_WINDOW#CLOSE_CONFIRMED',\n\t\t\t{\n\t\t\t\twindowId: currentWindow.id,\n\t\t\t\tscreenKey: currentWindow.screenKey,\n\t\t\t\tinstanceId: currentWindow.instanceId,\n\t\t\t\texperienceId: currentWindow.experienceId,\n\t\t\t\tcomponentId: currentWindow.uxrComponentId,\n\t\t\t},\n\t\t);\n\t}\n\n\t// HDS legacy: Dispatch NOW_MODELESS_DIALOG events\n\tconst windowComponent = currentWindow.component;\n\tconst contentElement = currentWindow.component?.contentElement;\n\tconst isFullscreen = currentWindow.component.isFullscreenView ?? false;\n\n\tdispatchModelessDialogAction({\n\t\tcontentElement,\n\t\twindowConfig: currentWindow.windowConfig,\n\t\tactionName: NOW_MODELESS_DIALOG_OPENED_SET,\n\t\tpayload: {value: false},\n\t});\n\n\t// DEF0802061: dont disaptch this event if the window is already closed as it will trigger ai-notebook-explorer to close a dialog which should not get closed\n\tif (currentWindow.isOpen) {\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tconst windowBounds = windowComponent?.shadowRoot\n\t\t\t\t?.querySelector('.sn-window-wrapper')\n\t\t\t\t?.getBoundingClientRect();\n\t\t\tif (windowBounds) {\n\t\t\t\tdispatchModelessDialogAction({\n\t\t\t\t\tcontentElement,\n\t\t\t\t\twindowConfig: currentWindow.windowConfig,\n\t\t\t\t\tactionName: NOW_MODELESS_DIALOG_CLOSE,\n\t\t\t\t\tbounds: windowBounds,\n\t\t\t\t\tisFullscreen,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\twindow.requestAnimationFrame(() => {\n\t\tdispatchEventToContentElement(currentWindow, SN_WINDOW_CLOSED, {\n\t\t\twasConfirmed: showCloseConfirmDialog,\n\t\t\tclosedFromButton,\n\t\t});\n\t});\n\n\t// If the window is persistent AND we aren't forcing a destroy, then just close the window\n\tif (isPersistent && !forceDestroy) {\n\t\tcurrentWindow.isOpen = false;\n\t\tcurrentWindow.component.isOpen = false;\n\n\t\t// remove old entry from windowsList and add the updated entry\n\t\tnewWindowsList = windowsList.filter(\n\t\t\t(window) => window.id !== currentWindow.id,\n\t\t);\n\t\tnewWindowsList.push(currentWindow);\n\t\tnewMinimizedWindows = windowsState.minimizedWindows.filter(\n\t\t\t(window) => window !== currentWindow.id,\n\t\t);\n\t} else {\n\t\tcurrentWindow.isOpen = false;\n\t\tcurrentWindow.component.isOpen = false;\n\n\t\tnewWindowsList = windowsList.filter(\n\t\t\t(window) => window.id !== currentWindow.id,\n\t\t);\n\t\tnewMinimizedWindows = windowsState.minimizedWindows.filter(\n\t\t\t(window) => window !== currentWindow.id,\n\t\t);\n\t\tnewModalWindows = windowsState.modalWindows.filter(\n\t\t\t(window) => window !== currentWindow.id,\n\t\t);\n\n\t\tsetTimeout(() => {\n\t\t\tnowWindow.remove();\n\t\t}, 30);\n\t}\n\n\tif (windowsState.leftDockId === currentWindow.id) {\n\t\twindowsState.leftDockId = null;\n\t\tcurrentWindow.component.stateWhenClosed = 'docked-left';\n\t}\n\tif (windowsState.rightDockId === currentWindow.id) {\n\t\twindowsState.rightDockId = null;\n\t\tcurrentWindow.component.stateWhenClosed = 'docked-right';\n\t}\n\tif (windowsState.bottomDockId === currentWindow.id) {\n\t\twindowsState.bottomDockId = null;\n\t\tcurrentWindow.component.stateWhenClosed = 'docked-bottom';\n\t}\n\tif (currentWindow.component.isModal) {\n\t\tcurrentWindow.component.stateWhenClosed = 'modal';\n\t}\n\tif (reopenAsFloatingWindow || currentWindow.component.isFloating) {\n\t\tcurrentWindow.component.stateWhenClosed = 'floating';\n\t}\n\n\tupdateProperties({\n\t\tshowCloseConfirmDialog: false,\n\t\tclosingWindowId: null,\n\t\twindowsList: newWindowsList,\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tminimizedWindows: newMinimizedWindows,\n\t\t\tmodalWindows: newModalWindows,\n\t\t\t...(reopenAsFloatingWindow && {\n\t\t\t\tmodalWindows: newModalWindows.filter(\n\t\t\t\t\t(window) => window !== currentWindow.id,\n\t\t\t\t),\n\t\t\t}),\n\t\t\tactiveWindowId:\n\t\t\t\tactiveWindowId === currentWindow.id ? null : activeWindowId,\n\t\t},\n\t});\n\n\twindow.requestAnimationFrame(() => {\n\t\tdispatch(UPDATE_BODY_CLASS_NAMES);\n\t});\n\n\thandleStateChangeCallback(currentWindow, 'closed');\n};\n\nexport const handleOpenWindow = (coeffects) => {\n\tconst {updateProperties, state, action, dispatch} = coeffects;\n\tconst {windowsList, windowsState} = state.properties;\n\tconst {payload} = action;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === payload.windowConfig.id,\n\t);\n\n\tif (!currentWindow) {\n\t\treturn;\n\t}\n\n\tif (payload.newProperties) {\n\t\t// interate over the contentElementData and set the properties on the contentElement component\n\t\tconst contentElementProperties = payload.newProperties || null;\n\t\tif (contentElementProperties) {\n\t\t\tObject.keys(contentElementProperties).forEach((key) => {\n\t\t\t\tcurrentWindow.component.contentElement[key] =\n\t\t\t\t\tcontentElementProperties[key];\n\t\t\t});\n\t\t}\n\t}\n\n\tif (currentWindow.isOpen) {\n\t\t// Window is already open, just bring it to front\n\t\tupdateProperties({\n\t\t\twindowsState: {\n\t\t\t\t...windowsState,\n\t\t\t\tactiveWindowId: currentWindow.id,\n\t\t\t},\n\t\t});\n\n\t\tdispatchEventToContentElement(currentWindow, SN_WINDOW_OPENED);\n\t\treturn;\n\t}\n\n\tcurrentWindow.isOpen = true;\n\t// Animate it early to beat any race condition\n\tcurrentWindow.component.isAnimating = true;\n\tcurrentWindow.component.isOpen = true;\n\n\tconst newWindowList = windowsList.filter(\n\t\t(window) => window.id !== currentWindow.id,\n\t);\n\tnewWindowList.push(currentWindow);\n\n\tconst isMinimized = windowsState.minimizedWindows.includes(currentWindow.id);\n\tlet minimizedWindows = windowsState.minimizedWindows || [];\n\tif (isMinimized) {\n\t\tminimizedWindows = windowsState.minimizedWindows.filter(\n\t\t\t(windowId) => windowId !== currentWindow.id,\n\t\t);\n\t}\n\n\tconst windowStartingState = currentWindow.component.stateWhenClosed;\n\tif (windowStartingState !== '') {\n\t\tif (windowStartingState.indexOf('docked') >= 0) {\n\t\t\tif (windowStartingState === 'docked-left') {\n\t\t\t\twindowsState.leftDockId = currentWindow.id;\n\t\t\t}\n\t\t\tif (windowStartingState === 'docked-right') {\n\t\t\t\twindowsState.rightDockId = currentWindow.id;\n\t\t\t}\n\t\t\tif (windowStartingState === 'docked-bottom') {\n\t\t\t\twindowsState.bottomDockId = currentWindow.id;\n\t\t\t}\n\t\t\tcurrentWindow.component.isDocked = true;\n\t\t}\n\n\t\tcurrentWindow.component.stateWhenClosed = '';\n\t\tdispatch(UPDATE_BODY_CLASS_NAMES);\n\t\thandleStateChangeCallback(currentWindow, windowStartingState);\n\t}\n\n\tupdateProperties({\n\t\twindowsList: newWindowList,\n\t\twindowsState: {\n\t\t\t...state.properties.windowsState,\n\t\t\tactiveWindowId: currentWindow.id,\n\t\t\tminimizedWindows: minimizedWindows,\n\t\t},\n\t});\n\n\tdispatchEventToContentElement(currentWindow, SN_WINDOW_OPENED);\n};\n\nexport const handleModalToggle = (coeffects) => {\n\tconst {updateProperties, state, action, dispatch} = coeffects;\n\tconst {\n\t\tproperties: {windowsState, windowsList},\n\t} = state;\n\tconst {\n\t\tpayload: {windowConfig, forceEnableModal = false, overrideConfig = false},\n\t} = action;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === windowConfig.id,\n\t);\n\n\t// Check if config doesn't prevent modal toggling (unless overrideConfig is true)\n\tif (\n\t\t!currentWindow ||\n\t\t(!(currentWindow.canToggleModal || currentWindow.canMaximize) &&\n\t\t\t!overrideConfig)\n\t) {\n\t\treturn;\n\t}\n\n\tlet modalWindows = windowsState.modalWindows || [];\n\n\tlet isModal;\n\n\tif (windowsState.modalWindows.includes(currentWindow.id)) {\n\t\t// When the window is already modal, we only want to remove it if the user isn't forcing modal mode\n\t\tif (!forceEnableModal) {\n\t\t\tmodalWindows = windowsState.modalWindows.filter(\n\t\t\t\t(windowId) => windowId !== currentWindow.id,\n\t\t\t);\n\t\t\tisModal = false;\n\t\t}\n\t} else {\n\t\tmodalWindows.push(currentWindow.id);\n\t\tisModal = true;\n\t}\n\n\tupdateProperties({\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tmodalWindows: modalWindows,\n\t\t\tactiveWindowId: currentWindow.id,\n\t\t\tleftDockId:\n\t\t\t\twindowsState.leftDockId === currentWindow.id\n\t\t\t\t\t? null\n\t\t\t\t\t: windowsState.leftDockId,\n\t\t\trightDockId:\n\t\t\t\twindowsState.rightDockId === currentWindow.id\n\t\t\t\t\t? null\n\t\t\t\t\t: windowsState.rightDockId,\n\t\t\tbottomDockId:\n\t\t\t\twindowsState.bottomDockId === currentWindow.id\n\t\t\t\t\t? null\n\t\t\t\t\t: windowsState.bottomDockId,\n\t\t},\n\t});\n\tdispatch(UPDATE_BODY_CLASS_NAMES);\n\thandleStateChangeCallback(currentWindow, isModal ? 'modal' : 'floating');\n\t// HDS legacy: Toggle between full-screen view (floating) and modal view\n\tconst isFullscreen = isModal;\n\tdispatchModelessDialogAction({\n\t\tcontentElement: currentWindow?.component?.contentElement,\n\t\twindowConfig: currentWindow.windowConfig,\n\t\tactionName: NOW_MODELESS_DIALOG_MAXIMIZE,\n\t\tdialogSize: currentWindow?.component?.dialogSize,\n\t\tdialogLocation: currentWindow?.component?.dialogLocation,\n\t\tisFullscreen,\n\t});\n};\n\nexport const handleModelessMousedown = (coeffects) => {\n\tconst {action, state} = coeffects;\n\tconst {payload} = action;\n\tconst {properties} = state;\n\n\tif (properties.windowConfig.canDrag) {\n\t\tdispatchModelessDialogAction({\n\t\t\tcontentElement: properties.contentElement,\n\t\t\twindowConfig: properties.windowConfig,\n\t\t\tactionName: NOW_MODELESS_DIALOG_MOUSEDOWN,\n\t\t\tdialogSize: properties.dialogSize,\n\t\t\tdialogLocation: properties.dialogLocation,\n\t\t\tmouseEvent: payload.mouseEvent,\n\t\t});\n\t}\n};\n\nexport const handleModelessMouseup = (coeffects) => {\n\tconst {action, state} = coeffects;\n\tconst {properties} = state;\n\n\tdispatchModelessDialogAction({\n\t\tcontentElement: properties.contentElement,\n\t\twindowConfig: properties.windowConfig,\n\t\tactionName: NOW_MODELESS_DIALOG_MOUSEUP,\n\t\tdialogSize: properties.dialogSize,\n\t\tdialogLocation: properties.dialogLocation,\n\t\tmouseEvent: action.payload?.mouseEvent,\n\t});\n};\n\nexport const handleSetWindowActive = (coeffects) => {\n\tconst {updateProperties, state, action} = coeffects;\n\tconst {windowsState} = state.properties;\n\tconst {payload} = action;\n\n\tconst currentWindow = state.properties.windowsList.find(\n\t\t(window) => window.id === payload.windowConfig.id,\n\t);\n\n\t// Focus the window\n\tcurrentWindow.component.focus();\n\n\tif (\n\t\twindowsState.activeWindowId === payload.windowConfig.id ||\n\t\t!currentWindow\n\t) {\n\t\treturn;\n\t}\n\n\tupdateProperties({\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tactiveWindowId: payload.windowConfig.id,\n\t\t},\n\t});\n\t// dispatchEventToContentElement(currentWindow, SN_WINDOW_FOCUSED);\n};\n\nexport const handleToggleMinimize = (coeffects) => {\n\tconst {\n\t\tupdateProperties,\n\t\tstate: {\n\t\t\tproperties: {windowsList, windowsState},\n\t\t},\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\twindowConfig: {id: windowId},\n\t\t\t\tforceMinimize = false,\n\t\t\t\toverrideConfig = false,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\tconst currWindow = windowsList.find(\n\t\t(currentWindow) => currentWindow.id === windowId,\n\t);\n\n\t// Ensure the config doesn't prevent minimizing (unless overrideConfig is true)\n\tif (!currWindow || (!currWindow.canMinimize && !overrideConfig)) {\n\t\treturn;\n\t}\n\n\tconst currMinimizedWidows = windowsState.minimizedWindows || [];\n\tconst isMinimized = currMinimizedWidows.includes(windowId);\n\tlet newActiveWindowId;\n\n\tif (isMinimized) {\n\t\t// When the window is already minimized and we're forcing minimization, we maintain the current state\n\t\tif (forceMinimize) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remove it from our list of minimized windows\n\t\tcurrMinimizedWidows.splice(currMinimizedWidows.indexOf(windowId), 1);\n\n\t\t// Update new active window id\n\t\tnewActiveWindowId = windowId;\n\n\t\t// Keep existing positions for other minimized windows, remove only this window's position\n\t\tconst existingPositions = {\n\t\t\t...windowsState.minimizedTargetPositions,\n\t\t};\n\t\tdelete existingPositions[windowId];\n\n\t\tconst newWindowsState = {\n\t\t\t...windowsState,\n\t\t\tminimizedWindows: currMinimizedWidows,\n\t\t\tactiveWindowId: newActiveWindowId,\n\t\t\tminimizedTargetPositions: existingPositions,\n\t\t\tisRestoring: true,\n\t\t};\n\n\t\tupdateProperties({\n\t\t\twindowsState: newWindowsState,\n\t\t});\n\t\t// Propagate to windows so their COMPONENT_PROPERTY_CHANGED runs and they recompute/animate\n\t\twindowsList.forEach((window) => {\n\t\t\tif (window.component) {\n\t\t\t\twindow.component.windowsState = newWindowsState;\n\t\t\t\tdispatchEventToWindow(windowsList, window.id, 'PROPERTY_CHANGED', {\n\t\t\t\t\tname: 'windowsState',\n\t\t\t\t\tvalue: newWindowsState,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tsetTimeout(() => {\n\t\t\tconst existingPositionValues = Object.values(existingPositions);\n\t\t\tconst finalWindowsState =\n\t\t\t\texistingPositionValues.length > 0\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...windowsState,\n\t\t\t\t\t\t\tminimizedTargetPositions: Object.fromEntries(\n\t\t\t\t\t\t\t\tcurrMinimizedWidows\n\t\t\t\t\t\t\t\t\t.map((wId, index) => [\n\t\t\t\t\t\t\t\t\t\twId,\n\t\t\t\t\t\t\t\t\t\texistingPositionValues.sort((a, b) => a.left - b.left)[\n\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t])\n\t\t\t\t\t\t\t\t\t.filter(([, position]) => position),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tisRestoring: false,\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\t...windowsState,\n\t\t\t\t\t\t\tisRestoring: false,\n\t\t\t\t\t\t};\n\n\t\t\tupdateProperties({windowsState: finalWindowsState});\n\t\t\t// Propagate to windows so their COMPONENT_PROPERTY_CHANGED runs and they recompute/animate\n\n\t\t\twindowsList.forEach((window) => {\n\t\t\t\tif (window.component) {\n\t\t\t\t\twindow.component.windowsState = finalWindowsState;\n\t\t\t\t\tdispatchEventToWindow(windowsList, window.id, 'PROPERTY_CHANGED', {\n\t\t\t\t\t\tname: 'windowsState',\n\t\t\t\t\t\tvalue: finalWindowsState,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}, 100);\n\n\t\tconst viewportWidth = window.innerWidth;\n\t\tconst viewportHeight = window.innerHeight;\n\t\tconst dialogSize = currWindow.component.dialogSize;\n\t\tconst dialogLocation = currWindow.component.dialogLocation;\n\n\t\t// Only clamp the window if it's overflowing the viewport\n\t\tif (\n\t\t\t!isWindowInBounds(\n\t\t\t\tdialogSize,\n\t\t\t\tdialogLocation,\n\t\t\t\tviewportWidth,\n\t\t\t\tviewportHeight,\n\t\t\t)\n\t\t) {\n\t\t\tconst clampedPosition = clampDialogPosition({dialogLocation, dialogSize});\n\n\t\t\tcurrWindow.dialogLocation = {\n\t\t\t\t...(dialogLocation.top !== undefined\n\t\t\t\t\t? {top: clampedPosition.top}\n\t\t\t\t\t: {bottom: clampedPosition.bottom}),\n\t\t\t\t...(dialogLocation.left !== undefined\n\t\t\t\t\t? {left: clampedPosition.left}\n\t\t\t\t\t: {right: clampedPosition.right}),\n\t\t\t};\n\t\t\tcurrWindow.dialogSize = {\n\t\t\t\twidth: clampedPosition.width,\n\t\t\t\theight: clampedPosition.height,\n\t\t\t};\n\n\t\t\tcurrWindow.component.dialogLocation = currWindow.dialogLocation;\n\t\t\tcurrWindow.component.dialogSize = currWindow.dialogSize;\n\t\t}\n\n\t\tconst windowContainer =\n\t\t\tcurrWindow.component.shadowRoot.querySelector('.sn-window-wrapper');\n\n\t\tif (!windowContainer) {\n\t\t\treturn;\n\t\t}\n\t} else {\n\t\t// HDS legacy: Dispatch NOW_MODELESS_DIALOG#MINIMIZE before hiding\n\t\tconst windowBounds = currWindow.component?.shadowRoot\n\t\t\t?.querySelector('.sn-window-wrapper')\n\t\t\t?.getBoundingClientRect();\n\t\tif (windowBounds) {\n\t\t\tconst isFullscreen = currWindow.component.isFullscreenView || false;\n\t\t\tdispatchModelessDialogAction({\n\t\t\t\tcontentElement: currWindow?.component?.contentElement,\n\t\t\t\twindowConfig: currWindow.windowConfig,\n\t\t\t\tactionName: NOW_MODELESS_DIALOG_MINIMIZE,\n\t\t\t\tbounds: windowBounds,\n\t\t\t\tisFullscreen,\n\t\t\t});\n\t\t}\n\n\t\t// Update new active window id\n\t\tnewActiveWindowId = windowsState.activeWindowId;\n\n\t\t// Add it to our list of minimized windows\n\t\tcurrMinimizedWidows.push(windowId);\n\t}\n\n\t// toggle the properties\n\tcurrWindow.isMinimized = !isMinimized;\n\tcurrWindow.component.isMinimized = !isMinimized;\n\tcurrWindow.isOpen = isMinimized;\n\tcurrWindow.component.isOpen = isMinimized;\n\n\tdispatchEventToContentElement(currWindow, SN_WINDOW_MINIMIZED, {\n\t\tisMinimized: !isMinimized,\n\t});\n\n\tupdateProperties({\n\t\twindowsState: {\n\t\t\t...windowsState,\n\t\t\tminimizedWindows: currMinimizedWidows,\n\t\t\tactiveWindowId: newActiveWindowId,\n\t\t},\n\t});\n};\n\nexport const handleCheckWindowLocations = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: {windowsList},\n\t\t},\n\t} = coeffects;\n\n\twindowsList.map((currentWindow) => {\n\t\tdispatchEventToWindow(\n\t\t\twindowsList,\n\t\t\tcurrentWindow.id,\n\t\t\tSN_WINDOW_CHECK_LOCATION,\n\t\t\t{\n\t\t\t\twidth: document.body.offsetWidth,\n\t\t\t\theight: document.body.offsetHeight,\n\t\t\t},\n\t\t);\n\t});\n};\n\nexport const relayMessage = ({state, action}) => {\n\tconst {properties} = state;\n\tconst {windowsList} = properties;\n\n\twindowsList.map((currentWindow) => {\n\t\tconst childWindow = currentWindow.component;\n\t\tchildWindow.dispatch(BROADCAST_MESSAGE, action.payload);\n\t});\n};\n\nexport const handleScreenChanged = (coeffects) => {\n\tconst {updateProperties, state, action} = coeffects;\n\tconst {payload} = action;\n\n\tupdateProperties({\n\t\tscreenInfo: {\n\t\t\tscreenKey: payload.screenKey,\n\t\t\tinstanceId: payload.instanceId,\n\t\t\texperienceId: payload.experienceId,\n\t\t},\n\t});\n\n\tconst bottomToolbar = state.properties.bottomToolbarComponent;\n\n\trequestAnimationFrame(() => {\n\t\tbottomToolbar.dispatch(UPDATE_BOTTOM_TOOLBAR_ELEMENTS, payload);\n\t});\n};\n\nexport const handleSetDirtyState = (coeffects) => {\n\tconst {dispatch, action} = coeffects;\n\tconst {id, dirtyState} = action.payload;\n\tdispatch(SET_WINDOW_PROPERTIES, {\n\t\twindowId: id,\n\t\tnewProperties: {isDirty: dirtyState},\n\t});\n};\n\nexport const handleDialogCloseConfirmed = (coeffects) => {\n\tconst {state, dispatch, updateProperties} = coeffects;\n\tconst {properties} = state;\n\tconst {windowsList, closingWindowId} = properties;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === closingWindowId,\n\t);\n\tdispatch(CLOSE_WINDOW, {\n\t\twindowConfig: {id: closingWindowId},\n\t\tforceDestroy: true,\n\t});\n};\n\nexport const handleDialogCloseCancelled = (coeffects) => {\n\tconst {\n\t\tupdateProperties,\n\t\tproperties: {windowsList, closingWindowId},\n\t} = coeffects;\n\tupdateProperties({\n\t\tshowCloseConfirmDialog: false,\n\t\tclosingWindowId: null,\n\t});\n\tdispatchEventToWindow(\n\t\twindowsList,\n\t\tclosingWindowId,\n\t\t'SN_WINDOW#CLOSE_CANCELED',\n\t);\n};\n\nexport const handleSetWindowProperties = (coeffects) => {\n\tconst {state, action, updateProperties} = coeffects;\n\tconst {payload} = action;\n\tconst {windowsList} = state.properties;\n\tconst currentWindow = windowsList.find(\n\t\t(window) => window.id === payload.windowId,\n\t);\n\n\tconsole.info('Setting window properties', {payload, currentWindow});\n\n\tif (!currentWindow) {\n\t\treturn;\n\t}\n\n\t// update the window properties\n\tconst sanitizedProperties = {};\n\tObject.keys(payload.newProperties).forEach((key) => {\n\t\tlet propertyValue = payload.newProperties[key];\n\n\t\t// Sanitize title properties to remove HTML tags\n\t\tif ((key === 'minimizedTitle' || key === 'headingLabel') && propertyValue) {\n\t\t\tpropertyValue = sanitizeHtmlString(propertyValue);\n\t\t}\n\n\t\tsanitizedProperties[key] = propertyValue;\n\n\t\tif (key in currentWindow) {\n\t\t\tcurrentWindow[key] = propertyValue;\n\t\t}\n\t\tif (key in currentWindow.component) {\n\t\t\tcurrentWindow.component[key] = propertyValue;\n\t\t}\n\t});\n\n\tupdateProperties({\n\t\twindowsList: [...windowsList],\n\t});\n\n\tdispatchEventToWindow(\n\t\twindowsList,\n\t\tcurrentWindow.id,\n\t\t'SN_WINDOW#SET_WINDOW_PROPERTIES',\n\t\tsanitizedProperties,\n\t);\n};\n\nconst dispatchEventToContentElement = (\n\tcurrentWindow,\n\tevent,\n\textraPayload = {},\n) => {\n\tconsole.info('Dispatching event to content element', {\n\t\tevent,\n\t\tcurrentWindow,\n\t\textraPayload,\n\t});\n\t// let the window's content element know that the window is being opened/closed\n\tif (currentWindow.component?.contentElement?.dispatch) {\n\t\tcurrentWindow.component.contentElement.dispatch(event, {\n\t\t\twindowId: currentWindow.id,\n\t\t\tscreenKey: currentWindow.screenKey,\n\t\t\tinstanceId: currentWindow.instanceId,\n\t\t\texperienceId: currentWindow.experienceId,\n\t\t\tcomponentId: currentWindow.uxrComponentId,\n\t\t\t...extraPayload,\n\t\t});\n\t}\n};\n\nconst dispatchEventToWindow = (\n\twindowsList,\n\twindowId,\n\tevent,\n\teventPayload = {},\n) => {\n\tconst currentWindow = windowsList.find((window) => window.id === windowId);\n\tif (currentWindow) {\n\t\tcurrentWindow.component.dispatch(event, eventPayload);\n\t}\n};\n\nexport const handleSidebarUnreadMessage = (coeffects) => {\n\tconst {dispatch, action} = coeffects;\n\tconst {id, isUnread} = action.payload;\n\tdispatch(SET_WINDOW_PROPERTIES, {\n\t\twindowId: id,\n\t\tnewProperties: {isMessageUnread: isUnread},\n\t});\n};\n\nexport const handleSetSidebarChatPrivate = (coeffects) => {\n\tconst {dispatch, action} = coeffects;\n\tconst {id, isPrivate} = action.payload;\n\tdispatch(SET_WINDOW_PROPERTIES, {\n\t\twindowId: id,\n\t\tnewProperties: {isChatPrivate: isPrivate},\n\t});\n};\n\nexport const openDebugWindow = (coeffects) => {\n\tconst {state, dispatch} = coeffects;\n\n\tdispatch(CREATE_WINDOW, {\n\t\tid: 'debug-panel-window',\n\t\ttitle: `Window Manager Debug Panel`,\n\t\tcategory: 'Debug Tools',\n\t\tisPersistent: true,\n\t\tstartingState: 'floating',\n\t\tcloseToTop: false,\n\t\tcanResize: true,\n\t\tcanDrag: true,\n\t\tcanMinimize: true,\n\t\tcanMaximize: true,\n\t\tcanClose: true,\n\t\tcanDock: true,\n\t\tvariant: 'secondary',\n\t\tisOpen: true,\n\t\tposition: 'bottom-left',\n\t\toffset: '[100,50]',\n\t\tcloseButtonTooltip: 'Click this button to close the Debug Window',\n\t\tconfirmClose: true,\n\t\tconfirmCloseMessage: 'Are you sure you want to close the Debug Window?',\n\t\tdockConfig: {\n\t\t\tdockLeft: true,\n\t\t\tdockRight: true,\n\t\t\tdockBottom: true,\n\t\t},\n\t\tdialogSize: {\n\t\t\twidth: 640,\n\t\t\theight: 420,\n\t\t},\n\t\theaderIcon: {\n\t\t\ticon: 'bug-search-fill',\n\t\t\tvariant: 'initial',\n\t\t},\n\t\tcontent: {\n\t\t\tcomponent: 'debug-panel',\n\t\t\tproperties: {\n\t\t\t\ttitle: 'Debug Panel',\n\t\t\t\twindowsList: state.properties.windowsList,\n\t\t\t\twindowsState: state.properties.windowsState,\n\t\t\t},\n\t\t},\n\t});\n};\n\n// When a toolbar button mounts we measure its rect in the manager and store it in windowsState.\n// Because manager props don't auto-propagate into each sn-window, we explicitly push the updated\n// windowsState to the target window so its COMPONENT_PROPERTY_CHANGED runs and it recomputes the\n// minimized animation. We dispatch 'PROPERTY_CHANGED' and also call updateProperties on the window\n// to ensure both component logic and slotted content see the change immediately.\nexport const handleMinimizedTargetPosition = ({\n\tstate,\n\taction,\n\tupdateProperties,\n}) => {\n\tconst {windowId, rect} = action.payload;\n\n\tconst isMinimized =\n\t\tstate.properties.windowsState.minimizedWindows?.includes(windowId);\n\tif (!isMinimized) {\n\t\treturn;\n\t}\n\n\tconst prevPositions =\n\t\tstate.properties.windowsState.minimizedTargetPositions || {};\n\n\tconst updatedPositions = {\n\t\t...prevPositions,\n\t\t[windowId]: rect,\n\t};\n\n\tconst newWindowsState = {\n\t\t...state.properties.windowsState,\n\t\tminimizedTargetPositions: updatedPositions,\n\t};\n\n\tconst isSame = isDeepEqual(\n\t\tstate.properties.windowsState.minimizedTargetPositions,\n\t\tupdatedPositions,\n\t);\n\tif (isSame) {\n\t\treturn;\n\t}\n\n\tupdateProperties({\n\t\twindowsState: newWindowsState,\n\t});\n\n\tconst currentWindow = state.properties.windowsList.find(\n\t\t(window) => window.id === windowId,\n\t);\n\n\tif (currentWindow?.component) {\n\t\tcurrentWindow.component.windowsState = newWindowsState;\n\t\t// Propagate to the target window so its COMPONENT_PROPERTY_CHANGED runs and it recomputes/animates\n\t\tdispatchEventToWindow(\n\t\t\tstate.properties.windowsList,\n\t\t\twindowId,\n\t\t\t'PROPERTY_CHANGED',\n\t\t\t{\n\t\t\t\tname: 'windowsState',\n\t\t\t\tvalue: newWindowsState,\n\t\t\t},\n\t\t);\n\n\t\tif (currentWindow.component.updateProperties) {\n\t\t\tcurrentWindow.component.updateProperties({\n\t\t\t\twindowsState: newWindowsState,\n\t\t\t});\n\t\t}\n\t} else {\n\t\tconsole.warn('Could not find window in windowsList:', windowId);\n\t}\n};\n\nexport const refreshAllMinimizedPositions = ({state, updateProperties}) => {\n\tconst clearedPositions = {};\n\n\tconst newWindowsState = {\n\t\t...state.properties.windowsState,\n\t\tminimizedTargetPositions: clearedPositions,\n\t};\n\n\tupdateProperties({\n\t\twindowsState: newWindowsState,\n\t});\n\t// Propagate to windows so their COMPONENT_PROPERTY_CHANGED runs and they recompute/animate\n\tstate.properties.windowsList.forEach((window) => {\n\t\tif (window.component) {\n\t\t\twindow.component.windowsState = newWindowsState;\n\t\t\tdispatchEventToWindow(\n\t\t\t\tstate.properties.windowsList,\n\t\t\t\twindow.id,\n\t\t\t\t'PROPERTY_CHANGED',\n\t\t\t\t{\n\t\t\t\t\tname: 'windowsState',\n\t\t\t\t\tvalue: newWindowsState,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t});\n};\n\n/**\n * Handle focus bottom toolbar request from keyboard shortcut\n * Finds first minimized window button and focuses it with retry pattern\n * Announces state to screen readers\n */\nexport const handleFocusBottomToolbar = (coeffects) => {\n\tconst {state, dispatch} = coeffects;\n\tconst {properties} = state;\n\tconst {bottomToolbarComponent, windowsState} = properties;\n\n\t// Check if bottom toolbar exists\n\tif (!bottomToolbarComponent) {\n\t\tconsole.warn('[WM Shortcuts] No bottom toolbar component');\n\t\treturn;\n\t}\n\n\t// Check if there are minimized windows\n\tconst minimizedCount = windowsState?.minimizedWindows?.length ?? 0;\n\n\tif (minimizedCount === 0) {\n\t\t// Announce no minimized windows\n\t\tdispatch('ARIA_LIVE_REGION_UPDATE_REQUESTED', {\n\t\t\tmessage: 'No minimized windows',\n\t\t\ttype: 'polite',\n\t\t\treplaceContent: true,\n\t\t});\n\t\treturn;\n\t}\n\n\t// Find and focus first button using getFocusableNodes\n\tconst toolbar = bottomToolbarComponent?.shadowRoot?.querySelector(\n\t\t'.sn-window-manager-toolbar',\n\t);\n\tconst focusableNodes = getFocusableNodes(toolbar);\n\tconst firstButton = focusableNodes?.tabbableNodes?.[0] ?? null;\n\n\tif (!firstButton) {\n\t\tdispatch('ARIA_LIVE_REGION_UPDATE_REQUESTED', {\n\t\t\tmessage: 'Bottom toolbar not available',\n\t\t\ttype: 'polite',\n\t\t\treplaceContent: true,\n\t\t});\n\t\treturn;\n\t}\n\n\t// Focus with retry pattern (returns a promise but we don't need to await it)\n\tfocusElementWithRetry(firstButton).then((focusSuccess) => {\n\t\tif (focusSuccess) {\n\t\t\t// Announce to screen reader\n\t\t\tconst message =\n\t\t\t\tminimizedCount === 1\n\t\t\t\t\t? 'Bottom bar focused. 1 minimized window.'\n\t\t\t\t\t: `Bottom bar focused. ${minimizedCount} minimized windows.`;\n\t\t\tdispatch('ARIA_LIVE_REGION_UPDATE_REQUESTED', {\n\t\t\t\tmessage,\n\t\t\t\ttype: 'polite',\n\t\t\t\treplaceContent: true,\n\t\t\t});\n\t\t}\n\t});\n};\n\n/**\n * handle when polaris tells window manager a menu is pinned/unpinned\n * @param {*} coeffects\n */\nexport const handlePolarisMenuPinned = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tproperties: {windowsState},\n\t\tupdateProperties,\n\t} = coeffects;\n\n\tif (payload.type === 'mainMenu') {\n\t\tupdateProperties({\n\t\t\twindowsState: {\n\t\t\t\t...windowsState,\n\t\t\t\t[document.dir === 'rtl' ? 'rightDockId' : 'leftDockId']: payload.pinned\n\t\t\t\t\t? payload.menuId\n\t\t\t\t\t: null,\n\t\t\t},\n\t\t});\n\t}\n\n\tif (payload.type === 'contextualMenu') {\n\t\tupdateProperties({\n\t\t\twindowsState: {\n\t\t\t\t...windowsState,\n\t\t\t\t[document.dir === 'rtl' ? 'leftDockId' : 'rightDockId']: payload.pinned\n\t\t\t\t\t? payload.menuId\n\t\t\t\t\t: null,\n\t\t\t},\n\t\t});\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\n\nimport {\n\tBROADCAST_MESSAGE,\n\tSET_HEADER_BUTTONS,\n\tTOGGLE_MODAL_STATE,\n} from '../sn-window-manager/utilities/actions';\nimport {\n\tclampDialogPosition,\n\tfindAvailableDialogPosition,\n\tisWindowInBounds,\n} from '../sn-window-manager/utilities/helpers';\nimport {\n\tSN_WINDOW_CHECK_LOCATION,\n\tSN_WINDOW_CREATED,\n\tSN_WINDOW_FOCUSED,\n\tSN_WINDOW_SET_DIRTY_STATE,\n\tSN_WINDOW_MODALIZED,\n\tSN_WINDOW_DOCKED,\n\tSN_WINDOW_MINIMIZED,\n\tSN_WINDOW_SET_WINDOW_SIZE,\n\tSN_WINDOW_SET_DOCKED_WINDOW_SIZE,\n\tSN_WINDOW_SET_WINDOW_PROPERTIES,\n\tNOW_MODELESS_DIALOG_CONTENT_VISIBLE,\n\tNOW_MODELESS_DIALOG_RESIZABLE_END,\n} from './actions';\nimport {\n\tdeepSearchElement,\n\tdispatchModelessDialogAction,\n} from './behaviors/utils/helpers';\nimport {handleStateChangeCallback} from '../sn-window-manager/utilities';\nimport {getFocusableNodes} from '@servicenow/behavior-focus';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n} = actionTypes;\n\nconst setAnimationClass = (host, disabled) => {\n\tif (disabled) {\n\t\thost.classList?.add('disable-animation');\n\t} else {\n\t\thost.classList?.remove('disable-animation');\n\t}\n};\nconst animationTimeouts = new WeakMap();\n\nexport const isFullScreen = (\n\tbrowserDimensions,\n\tisModal,\n\tfullscreenViewConfig,\n) => {\n\t// Get width and height thresholds based on whether the window is a modal\n\tconst widthThreshold = isModal\n\t\t? fullscreenViewConfig.modalThresholds.width\n\t\t: fullscreenViewConfig.standardThresholds.width;\n\tconst heightThreshold = isModal\n\t\t? fullscreenViewConfig.modalThresholds.height\n\t\t: fullscreenViewConfig.standardThresholds.height;\n\n\t// If browserDimensions are not yet initialized (0,0), don't treat as fullscreen\n\tif (browserDimensions?.width === 0 || browserDimensions?.height === 0) {\n\t\treturn false;\n\t}\n\n\t// Check if the browser dimensions are less than the thresholds\n\treturn (\n\t\tbrowserDimensions.width < widthThreshold ||\n\t\tbrowserDimensions.height < heightThreshold\n\t);\n};\n\nexport const computeStyleObj = (properties) => {\n\tconst {windowsState, windowConfig} = properties;\n\n\tconst {top, left, bottom, right} = properties.dialogLocation;\n\tconst autoResizeEnabled =\n\t\twindowConfig.autoResizableConfig?.enableAutoResizableHeight;\n\n\t// default and floating\n\tlet styleObj = {\n\t\t...(top !== undefined\n\t\t\t? {top: `${top}px`, bottom: 'auto'}\n\t\t\t: {bottom: `${bottom}px`, top: 'auto'}),\n\t\t...(left !== undefined\n\t\t\t? {left: `${left}px`, right: 'auto'}\n\t\t\t: {right: `${right}px`, left: 'auto'}),\n\t\twidth: `${properties.dialogSize.width}px`,\n\t\theight: autoResizeEnabled ? 'initial' : `${properties.dialogSize.height}px`,\n\t\t'min-height': autoResizeEnabled\n\t\t\t? `${Math.min(\n\t\t\t\t\tproperties.windowConfig.autoResizableConfig?.autoResizableMinHeight,\n\t\t\t\t\twindow.innerHeight,\n\t\t\t\t)}px`\n\t\t\t: 'auto',\n\t\t'max-height': autoResizeEnabled\n\t\t\t? `${properties.windowConfig.autoResizableConfig?.autoResizableMaxHeight}px`\n\t\t\t: 'auto',\n\t};\n\n\tif (\n\t\tisFullScreen(\n\t\t\tproperties.browserDimensions,\n\t\t\tproperties.isModal,\n\t\t\tproperties.fullscreenViewConfig,\n\t\t) &&\n\t\tproperties.isOpen\n\t) {\n\t\tstyleObj = {\n\t\t\t...(top !== undefined ? {top: '0px'} : {bottom: '0px'}),\n\t\t\t...(left !== undefined ? {left: '0px'} : {right: '0px'}),\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t\tborderRadius: 0,\n\t\t};\n\t} else if (properties.isDocked) {\n\t\tconst isLeft = windowsState.leftDockId === windowConfig.id;\n\t\tconst isRight = windowsState.rightDockId === windowConfig.id;\n\t\tconst isBottom = windowsState.bottomDockId === windowConfig.id;\n\n\t\tif (isLeft) {\n\t\t\tstyleObj = {\n\t\t\t\t...(top !== undefined ? {top: '0px'} : {bottom: '0px'}),\n\t\t\t\t...(left !== undefined\n\t\t\t\t\t? {left: '0px'}\n\t\t\t\t\t: {right: `calc(100vw - ${properties.dockedWindowSize}px)`}),\n\t\t\t\twidth: `${properties.dockedWindowSize}px`,\n\t\t\t\theight: '100vh',\n\t\t\t};\n\t\t} else if (isRight) {\n\t\t\tstyleObj = {\n\t\t\t\t...(top !== undefined ? {top: '0px'} : {bottom: '0px'}),\n\t\t\t\t...(left !== undefined\n\t\t\t\t\t? {left: `calc(100vw - ${properties.dockedWindowSize}px)`}\n\t\t\t\t\t: {right: '0px'}),\n\t\t\t\twidth: `${properties.dockedWindowSize}px`,\n\t\t\t\theight: '100vh',\n\t\t\t};\n\t\t} else if (isBottom) {\n\t\t\tstyleObj = {\n\t\t\t\t...(top !== undefined\n\t\t\t\t\t? {top: `calc(100vh - ${properties.dockedWindowSize}px)`}\n\t\t\t\t\t: {bottom: '0px'}),\n\t\t\t\t...(left !== undefined ? {left: '0px'} : {right: '0px'}),\n\t\t\t\twidth: `${window.innerWidth}px`,\n\t\t\t\theight: `${properties.dockedWindowSize}px`,\n\t\t\t};\n\t\t}\n\t} else if (windowConfig.closeToTop && !properties.isOpen) {\n\t\tconst isRTL = document.dir === 'rtl';\n\t\tconst topCoordinate =\n\t\t\twindowConfig.closeToElement?.top ??\n\t\t\twindowConfig.closeToElement?.getBoundingClientRect?.()?.top ??\n\t\t\t12;\n\t\tconst bottomCoordinate =\n\t\t\twindowConfig.closeToElement?.bottom ??\n\t\t\twindow.innerHeight - properties.dialogSize.height - 12;\n\t\tconst leftCoordinate =\n\t\t\twindowConfig.closeToElement?.left ??\n\t\t\twindowConfig.closeToElement?.getBoundingClientRect?.()?.left ??\n\t\t\twindow.innerWidth - 210;\n\t\tconst rightCoordinate = windowConfig.closeToElement?.right ?? 210;\n\n\t\tlet closingLocation;\n\n\t\t// Calculate where the transform origin should be based on whether we're using top/left or bottom/right\n\t\tif (top !== undefined) {\n\t\t\tclosingLocation = {\n\t\t\t\ttransformOrigin: 'top left',\n\t\t\t\ttop: `${topCoordinate}px`,\n\t\t\t\tleft: `${!isRTL ? leftCoordinate : window.innerWidth - leftCoordinate}px`,\n\t\t\t};\n\t\t} else {\n\t\t\tclosingLocation = {\n\t\t\t\ttransformOrigin: 'bottom right',\n\t\t\t\tbottom: `${bottomCoordinate}px`,\n\t\t\t\tright: `${!isRTL ? rightCoordinate : window.innerWidth - rightCoordinate}px`,\n\t\t\t};\n\t\t}\n\n\t\tstyleObj = {\n\t\t\t...closingLocation,\n\t\t\twidth: `${properties.dialogSize.width}px`,\n\t\t\theight: `${properties.dialogSize.height}px`,\n\t\t};\n\t} else if (properties.isMinimized) {\n\t\tconst target =\n\t\t\tproperties.windowsState?.minimizedTargetPositions?.[\n\t\t\t\tproperties.windowConfig.id\n\t\t\t];\n\t\tconst positionsCleared =\n\t\t\tObject.keys(properties.windowsState?.minimizedTargetPositions || {})\n\t\t\t\t.length === 0;\n\t\tconst isRestoring = properties.windowsState?.isRestoring;\n\n\t\tif (target && !positionsCleared && !isRestoring) {\n\t\t\tconst targetTopRightX = target.left + target.width;\n\t\t\tconst targetTopRightY = target.top;\n\n\t\t\tconst isFirstSlot = target.left <= 16; // First button is typically at left: 16px\n\t\t\tconst verticalOffset = isFirstSlot ? 52 : 0; // Apply 52px offset only to first slot\n\n\t\t\tconst modalLeft = targetTopRightX - properties.dialogSize.width;\n\t\t\tconst modalTop = targetTopRightY - verticalOffset;\n\n\t\t\tstyleObj = {\n\t\t\t\t...(top !== undefined\n\t\t\t\t\t? {top: `${modalTop}px`}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tbottom: `${\n\t\t\t\t\t\t\t\twindow.innerHeight - modalTop - properties.dialogSize.height\n\t\t\t\t\t\t\t}px`,\n\t\t\t\t\t\t}),\n\t\t\t\t...(left !== undefined\n\t\t\t\t\t? {left: `${modalLeft}px`}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tright: `${\n\t\t\t\t\t\t\t\twindow.innerWidth - modalLeft - properties.dialogSize.width\n\t\t\t\t\t\t\t}px`,\n\t\t\t\t\t\t}),\n\t\t\t\twidth: `${properties.dialogSize.width}px`,\n\t\t\t\theight: `${properties.dialogSize.height}px`,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep previous style until the minimize target is available\n\t\t\tstyleObj = {\n\t\t\t\t...properties.styleObj,\n\t\t\t};\n\t\t}\n\t} else if (properties.isModal) {\n\t\tconst autoResizeEnabled =\n\t\t\twindowConfig.autoResizableConfig?.enableAutoResizableHeight;\n\n\t\tif (autoResizeEnabled) {\n\t\t\t// Use CSS-based centering for auto-sizing modals\n\t\t\tstyleObj = {\n\t\t\t\ttop: '50%',\n\t\t\t\tleft: '50%',\n\t\t\t\ttransform: 'translate(-50%, -50%)',\n\t\t\t\twidth: windowConfig.autoResizableConfig?.modalWidth || '600px',\n\t\t\t\theight: 'auto',\n\t\t\t\ttransformOrigin: 'center center',\n\t\t\t\t'min-height': `${windowConfig.autoResizableConfig?.autoResizableMinHeight || 200}px`,\n\t\t\t\t'max-height': `${\n\t\t\t\t\twindowConfig.autoResizableConfig?.autoResizableMaxHeight ||\n\t\t\t\t\twindow.innerHeight * 0.9\n\t\t\t\t}px`,\n\t\t\t};\n\t\t} else {\n\t\t\tlet modalTop = 0;\n\t\t\tlet modalLeft = 0;\n\t\t\tconst mWidth = properties.modalSize.width;\n\t\t\tconst mHeight = properties.modalSize.height;\n\n\t\t\tconst dimension = (dim, total) => {\n\t\t\t\tif (typeof dim === 'number') {\n\t\t\t\t\treturn {px: dim, css: `${dim}px`};\n\t\t\t\t}\n\t\t\t\tif (typeof dim === 'string') {\n\t\t\t\t\tif (dim.endsWith('%')) {\n\t\t\t\t\t\tconst percent = parseFloat(dim) * 0.01;\n\t\t\t\t\t\treturn {px: total * percent, css: dim};\n\t\t\t\t\t}\n\t\t\t\t\tif (dim.endsWith('px')) {\n\t\t\t\t\t\tconst px = parseInt(dim, 10);\n\t\t\t\t\t\treturn {px, css: dim};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {px: 0, css: '0px'};\n\t\t\t};\n\n\t\t\tconst {px: widthPx, css: widthCss} = dimension(mWidth, window.innerWidth);\n\t\t\tconst {px: heightPx, css: heightCss} = dimension(\n\t\t\t\tmHeight,\n\t\t\t\twindow.innerHeight,\n\t\t\t);\n\n\t\t\tmodalLeft = (window.innerWidth - widthPx) / 2;\n\t\t\tmodalTop = (window.innerHeight - heightPx) / 2;\n\n\t\t\tstyleObj = {\n\t\t\t\t...(top !== undefined\n\t\t\t\t\t? {top: `${modalTop}px`}\n\t\t\t\t\t: {bottom: `${window.innerHeight - modalTop - heightPx}px`}),\n\t\t\t\t...(left !== undefined\n\t\t\t\t\t? {left: `${modalLeft}px`}\n\t\t\t\t\t: {right: `${window.innerWidth - modalLeft - widthPx}px`}),\n\t\t\t\twidth: widthCss,\n\t\t\t\theight: heightCss,\n\t\t\t};\n\t\t}\n\t}\n\n\tstyleObj = {\n\t\t...styleObj,\n\t\t...(top !== undefined && !styleObj.transformOrigin\n\t\t\t? {transformOrigin: 'top left'}\n\t\t\t: {transformOrigin: 'bottom right'}),\n\t};\n\n\treturn styleObj;\n};\n\n// ----- TODO: Remove block once the new thumbtack icons are provided -----\n// NOTE: This code is EXTREMELY brittle, and will break if the structure of the shadow DOM changes\n// Temporary solution while the other direction thumbtack icons are not available\nconst updateShadowRootStyling = (host) => {\n\t// find the header of the window\n\tconst header = host.shadowRoot.querySelector('.header');\n\tif (!header) {\n\t\treturn;\n\t}\n\n\t// clear any styling from all existing buttons.\n\tconst existingButtons = header.querySelectorAll(\n\t\t'now-button, now-button-iconic',\n\t);\n\texistingButtons.forEach((button) => {\n\t\tconst shadowRoot = button.shadowRoot?.querySelector('now-icon')?.shadowRoot;\n\t\tif (shadowRoot) {\n\t\t\tconst style = shadowRoot.querySelector('style');\n\t\t\tif (style) {\n\t\t\t\tshadowRoot.removeChild(style);\n\t\t\t}\n\t\t}\n\t});\n\n\t// check if there is only one dock button. If so, rotate it 45 degrees\n\tlet icon = header.querySelector('.singular-dock-button');\n\tlet transform = 'transform: rotate(-45deg); margin-top: -2px;';\n\n\t// if there more than one dock button, then icon will be null\n\t// so grab the right side dock button and flip it horizontally\n\tif (!icon) {\n\t\ticon = header.querySelector('.right-dock-button');\n\t\ttransform = 'transform: scaleX(-1);';\n\t}\n\n\t// if icon is still null then no dock buttons were found and nothing needs to be done\n\tif (!icon) {\n\t\treturn;\n\t}\n\n\t// ugly and hacky but this stops styling custom icons provided for the pinning button\n\tif (!icon?.icon?.includes('thumbtack')) {\n\t\treturn;\n\t}\n\n\t// dig down and find the now-icon shadow root\n\tconst nowIconShadowRoot =\n\t\ticon.shadowRoot?.querySelector('now-icon')?.shadowRoot;\n\n\t// if now-icon was not found, then there is nothing to do\n\tif (!nowIconShadowRoot) {\n\t\treturn;\n\t}\n\n\t// Remove any existing style first to prevent duplicates\n\tconst existingStyle = nowIconShadowRoot.querySelector('style');\n\tif (existingStyle) {\n\t\tnowIconShadowRoot.removeChild(existingStyle);\n\t}\n\n\t// Add the new style to rotate the now-icon in the button\n\tconst styling = document.createElement('style');\n\tstyling.innerHTML = `.now-icon { ${transform} }`;\n\tnowIconShadowRoot.appendChild(styling);\n};\n\nconst handleSetHeaderButtons = (coeffects) => {\n\tconst {state, action, updateProperties} = coeffects;\n\tconst {properties} = state;\n\tconst {windowConfig} = properties;\n\n\tupdateProperties({\n\t\twindowConfig: {\n\t\t\t...windowConfig,\n\t\t\theaderButtons: action.payload.headerButtons,\n\t\t},\n\t});\n};\n\nconst handleSetWindowSize = (coeffects) => {\n\tconst {\n\t\tstate: {properties},\n\t\taction: {payload},\n\t\tdispatch,\n\t\tupdateProperties,\n\t} = coeffects;\n\tconst {dialogSize, dialogLocation, windowConfig} = properties;\n\n\tconsole.info('window handleSetWindowSize', {payload});\n\n\tif (\n\t\tpayload.width !== dialogSize.width ||\n\t\tpayload.height !== dialogSize.height\n\t) {\n\t\tconst viewportWidth = window.innerWidth;\n\t\tconst viewportHeight = window.innerHeight;\n\t\tconst newDialogSize = {\n\t\t\twidth: payload.width ? payload.width : dialogSize.width,\n\t\t\theight: payload.height ? payload.height : dialogSize.height,\n\t\t};\n\t\tlet clampedPosition = {\n\t\t\t...dialogLocation,\n\t\t\t...newDialogSize,\n\t\t};\n\n\t\t// Clamp the window if it's now out of bounds\n\t\tif (\n\t\t\t!isWindowInBounds(\n\t\t\t\tnewDialogSize,\n\t\t\t\tdialogLocation,\n\t\t\t\tviewportWidth,\n\t\t\t\tviewportHeight,\n\t\t\t)\n\t\t) {\n\t\t\tclampedPosition = clampDialogPosition({\n\t\t\t\tdialogLocation,\n\t\t\t\tdialogSize: newDialogSize,\n\t\t\t});\n\t\t}\n\n\t\tif (windowConfig.autoResizableConfig?.enableAutoResizableHeight) {\n\t\t\tupdateProperties({\n\t\t\t\twindowConfig: {\n\t\t\t\t\t...windowConfig,\n\t\t\t\t\tautoResizableConfig: {\n\t\t\t\t\t\t...windowConfig.autoResizableConfig,\n\t\t\t\t\t\tenableAutoResizableHeight: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', clampedPosition);\n\t\t});\n\t}\n};\n\nconst updateButtonFocus = (host, focusButtonId, isActive = true) => {\n\tconst headerElement = host.shadowRoot.querySelector('.docked-window');\n\tif (!headerElement) {\n\t\treturn;\n\t}\n\n\tconst buttons = getFocusableNodes(headerElement)?.tabbableNodes || [];\n\n\t// blur every button to prevent tooltips from sticking around when they shouldnt\n\tbuttons?.forEach((button) => {\n\t\tbutton.blur();\n\t});\n\n\tif (focusButtonId && isActive) {\n\t\tconst buttonToFocus = host.shadowRoot?.querySelector(\n\t\t\t`now-button[id=\"${focusButtonId}\"]`,\n\t\t);\n\t\tconst nativeButton = buttonToFocus?.shadowRoot.querySelector('button');\n\t\tnativeButton?.focus({focusVisible: true});\n\t\tnativeButton\n\t\t\t?.animate([], {duration: 1000})\n\t\t\t?.finished?.then(() => nativeButton.blur());\n\t}\n\n\tif (!focusButtonId && isActive) {\n\t\tconsole.info('Focusing first button', buttons[0]);\n\t\tbuttons[0]?.focus();\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_RENDERED]: (coeffects) => {\n\t\tconst {\n\t\t\tstate: {\n\t\t\t\thasModalEventListenerSet,\n\t\t\t\tproperties: {isModal, windowConfig},\n\t\t\t},\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\thost,\n\t\t} = coeffects;\n\t\tconst modalElement = host.parentNode.querySelector('[id^=\"modal-origin\"]');\n\n\t\t// Handle modal event listener setup/removal\n\t\tif (\n\t\t\twindowConfig.modalOverlayClickEnabled &&\n\t\t\twindowConfig.canMaximize &&\n\t\t\tisModal !== !!hasModalEventListenerSet\n\t\t) {\n\t\t\tif (isModal) {\n\t\t\t\tif (modalElement) {\n\t\t\t\t\t// Set up modal event listener\n\t\t\t\t\tmodalElement.addEventListener('click', () => {\n\t\t\t\t\t\tdispatch(TOGGLE_MODAL_STATE, {windowConfig: {id: windowConfig.id}});\n\t\t\t\t\t});\n\n\t\t\t\t\t// Update state to track that listener is set\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'hasModalEventListenerSet',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Clean up state when no longer a modal\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'hasModalEventListenerSet',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\tisModal &&\n\t\t\tmodalElement &&\n\t\t\t!modalElement.classList.contains('modal-visible')\n\t\t) {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tmodalElement.classList.add('modal-visible');\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_DOM_TREE_READY]: (coeffects) => {\n\t\tconst {state, host, updateProperties, dispatch} = coeffects;\n\t\tconst {properties} = state;\n\n\t\tsetAnimationClass(host, properties.animationsDisabled);\n\n\t\tif (properties.contentElement !== null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = properties.windowConfig.content || null;\n\t\tconst contentTagName = content?.component || 'div';\n\t\tconst contentElementProperties = content?.properties || null;\n\t\tconst contentElement =\n\t\t\ttypeof contentTagName === 'string'\n\t\t\t\t? document.createElement(contentTagName)\n\t\t\t\t: contentTagName.elm || contentTagName;\n\n\t\tlet slottedHeading = null;\n\t\tlet slottedContent = null;\n\t\tlet slottedFooter = null;\n\t\tlet slottedActions = null;\n\n\t\tif (contentElement.querySelectorAll('[slot=\"heading\"]').length > 0) {\n\t\t\t// slottedHeading = contentElement.querySelector('[slot=\"heading\"]');\n\t\t\tconst headingElements =\n\t\t\t\tcontentElement.querySelectorAll('[slot=\"heading\"]');\n\t\t\tslottedHeading = document.createDocumentFragment();\n\t\t\theadingElements.forEach((elem) => {\n\t\t\t\tslottedHeading.appendChild(elem);\n\t\t\t});\n\t\t}\n\t\t// Only extract content slot elements that are direct children, not nested descendants\n\t\tconst contentElements = contentElement.querySelectorAll(\n\t\t\t':scope > [slot=\"content\"]',\n\t\t);\n\t\tif (contentElements.length > 0) {\n\t\t\tslottedContent = document.createDocumentFragment();\n\t\t\tcontentElements.forEach((elem) => {\n\t\t\t\tslottedContent.appendChild(elem);\n\t\t\t});\n\t\t}\n\t\tconst footerElements = contentElement.querySelectorAll(\n\t\t\t':scope > [slot=\"footer\"]',\n\t\t);\n\t\tif (footerElements.length > 0) {\n\t\t\tslottedFooter = document.createDocumentFragment();\n\t\t\tfooterElements.forEach((elem) => {\n\t\t\t\tslottedFooter.appendChild(elem);\n\t\t\t});\n\t\t}\n\t\tif (contentElement.querySelectorAll('[slot=\"actions\"]').length > 0) {\n\t\t\t// slottedActions = contentElement.querySelector('[slot=\"actions\"]');\n\t\t\tconst actionsElements =\n\t\t\t\tcontentElement.querySelectorAll('[slot=\"actions\"]');\n\t\t\t// force slotted NOW-BUTTON-ICONIC buttons to be the same size and style as other header buttons\n\t\t\tactionsElements.forEach((elem) => {\n\t\t\t\tif (elem.tagName === 'NOW-BUTTON-ICONIC') {\n\t\t\t\t\telem['size'] = properties.windowConfig.size;\n\t\t\t\t\telem['hidePadding'] = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\tslottedActions = document.createDocumentFragment();\n\t\t\tactionsElements.forEach((elem) => {\n\t\t\t\tslottedActions.appendChild(elem);\n\t\t\t});\n\t\t}\n\n\t\tcontentElement['windowConfig'] = properties.windowConfig;\n\t\tcontentElement['windowsState'] = properties.windowsState;\n\t\tcontentElement['portalType'] = properties.portalType;\n\t\tcontentElement['dialogSize'] = properties.dialogSize;\n\t\tcontentElement['dialogLocation'] = properties.dialogLocation;\n\t\tcontentElement['isDocked'] = properties.isDocked;\n\t\tcontentElement['isModal'] = properties.isModal;\n\t\tcontentElement['isFloating'] = properties.isFloating;\n\n\t\t// interate over the contentElementData and set the properties on the contentElement component\n\t\tif (contentElementProperties) {\n\t\t\tObject.keys(contentElementProperties).forEach((key) => {\n\t\t\t\tcontentElement[key] = contentElementProperties[key];\n\t\t\t});\n\t\t}\n\n\t\ttry {\n\t\t\t// Append the content element to the host element\n\t\t\tconst parentElement = host.shadowRoot.querySelector('.docked-window');\n\n\t\t\tif (!parentElement) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// DEF0787761 - Prepended the content element in next frame to prevent\n\t\t\t// now-code-editor from locking up the page when it tries to adjust its layout on initial load\n\t\t\t// when the content element contains a now-code-editor element\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tconst contentSlot = parentElement.querySelector('div[slot=\"content\"]');\n\t\t\t\ttry {\n\t\t\t\t\tcontentSlot.prepend(slottedContent ?? contentElement);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.name === 'HierarchyRequestError') {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t'sn-window-manager: Skipped prepending content to avoid a HierarchyRequestError. ',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\terror: error,\n\t\t\t\t\t\t\t\tcontentElement,\n\t\t\t\t\t\t\t\tcontentSlot,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (slottedFooter) {\n\t\t\t\t\tconst footerSlot = parentElement.querySelector('div[slot=\"footer\"]');\n\t\t\t\t\tif (\n\t\t\t\t\t\tslottedFooter.hasAttribute &&\n\t\t\t\t\t\tslottedFooter.hasAttribute('slot')\n\t\t\t\t\t) {\n\t\t\t\t\t\tslottedFooter.removeAttribute('slot');\n\t\t\t\t\t}\n\t\t\t\t\tfooterSlot.prepend(slottedFooter);\n\t\t\t\t}\n\n\t\t\t\tif (slottedHeading) {\n\t\t\t\t\tconst headerSlot = parentElement.querySelector('div[slot=\"heading\"]');\n\t\t\t\t\tif (\n\t\t\t\t\t\tslottedHeading.hasAttribute &&\n\t\t\t\t\t\tslottedHeading.hasAttribute('slot')\n\t\t\t\t\t) {\n\t\t\t\t\t\tslottedHeading.removeAttribute('slot');\n\t\t\t\t\t}\n\t\t\t\t\theaderSlot.prepend(slottedHeading);\n\t\t\t\t}\n\n\t\t\t\tif (slottedActions) {\n\t\t\t\t\tconst actionsSlot = parentElement.querySelector(\n\t\t\t\t\t\t'div[slot=\"actions\"]',\n\t\t\t\t\t);\n\t\t\t\t\tif (\n\t\t\t\t\t\tslottedActions.hasAttribute &&\n\t\t\t\t\t\tslottedActions.hasAttribute('slot')\n\t\t\t\t\t) {\n\t\t\t\t\t\tslottedActions.removeAttribute('slot');\n\t\t\t\t\t}\n\t\t\t\t\tactionsSlot.prepend(slottedActions);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst resizeEnabled =\n\t\t\t\tproperties.windowConfig.canDrag &&\n\t\t\t\tproperties.windowConfig.startingState !== 'modal' &&\n\t\t\t\tproperties.windowConfig.startingState?.indexOf('docked') === -1;\n\n\t\t\tif (properties.windowConfig.fitContent) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst container = host.shadowRoot.querySelector('.docked-window');\n\n\t\t\t\t\tconst content = container.querySelector('[slot=\"content\"]');\n\t\t\t\t\tconst header = container.querySelector('div[slot=\"heading\"]');\n\t\t\t\t\tconst footer = container.querySelector('div[slot=\"footer\"]');\n\n\t\t\t\t\tconst headerHeight = header?.offsetHeight || 0;\n\t\t\t\t\tconst footerHeight = footer?.offsetHeight || 0;\n\t\t\t\t\tconst contentRect = content.getBoundingClientRect();\n\n\t\t\t\t\tconst margin = 20;\n\t\t\t\t\tconst viewportHeight = window.innerHeight;\n\t\t\t\t\tconst viewportWidth = window.innerWidth;\n\n\t\t\t\t\tlet bottomToolbarHeight = 0;\n\t\t\t\t\tif (properties.bottomToolbarComponent) {\n\t\t\t\t\t\tconst toolbar =\n\t\t\t\t\t\t\tproperties.bottomToolbarComponent.shadowRoot?.querySelector(\n\t\t\t\t\t\t\t\t'.sn-window-manager-toolbar',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\tif (toolbar) {\n\t\t\t\t\t\t\tbottomToolbarHeight = toolbar.offsetHeight;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Calculate available height considering bottom toolbar\n\t\t\t\t\tconst availableHeight = viewportHeight - bottomToolbarHeight;\n\n\t\t\t\t\tconst dialogHeight = Math.max(\n\t\t\t\t\t\theaderHeight + contentRect.height + footerHeight,\n\t\t\t\t\t\t200,\n\t\t\t\t\t);\n\t\t\t\t\tconst dialogWidth = Math.max(\n\t\t\t\t\t\tMath.min(contentRect.width, viewportWidth - margin * 2),\n\t\t\t\t\t\t320,\n\t\t\t\t\t);\n\n\t\t\t\t\tconst top = Math.max(\n\t\t\t\t\t\tmargin,\n\t\t\t\t\t\tMath.min(\n\t\t\t\t\t\t\t(availableHeight - dialogHeight) / 2,\n\t\t\t\t\t\t\tavailableHeight - dialogHeight - margin,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\tconst left = Math.max(\n\t\t\t\t\t\tmargin,\n\t\t\t\t\t\tMath.min(\n\t\t\t\t\t\t\t(viewportWidth - dialogWidth) / 2,\n\t\t\t\t\t\t\tviewportWidth - dialogWidth - margin,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\n\t\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\t\ttop: Math.round(top),\n\t\t\t\t\t\tleft: Math.round(left),\n\t\t\t\t\t\twidth: dialogWidth,\n\t\t\t\t\t\theight: dialogHeight,\n\t\t\t\t\t});\n\t\t\t\t}, 100);\n\t\t\t}\n\n\t\t\t// temp fix until HDS fixes DEF0708685 in resizableBehavior\n\t\t\t// once HDS fixes resize behavior and we remove this, we will still need\n\t\t\t// to fix our custom drag behavior to toggle pointer-events on the iframe\n\t\t\thost.addEventListener('mousedown', () => {\n\t\t\t\tconst iframeElement = deepSearchElement(\n\t\t\t\t\t'iframe#gsft_main',\n\t\t\t\t\tdocument.body,\n\t\t\t\t);\n\t\t\t\tif (iframeElement) {\n\t\t\t\t\tiframeElement.style.pointerEvents = 'none';\n\t\t\t\t}\n\t\t\t});\n\t\t\thost.addEventListener('mouseup', () => {\n\t\t\t\tconst iframeElement = deepSearchElement(\n\t\t\t\t\t'iframe#gsft_main',\n\t\t\t\t\tdocument.body,\n\t\t\t\t);\n\t\t\t\tif (iframeElement) {\n\t\t\t\t\tiframeElement.style.pointerEvents = 'auto';\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tupdateProperties({\n\t\t\t\tcontentElement,\n\t\t\t\tslottedHeading,\n\t\t\t\tslottedContent,\n\t\t\t\tslottedFooter,\n\t\t\t\tslottedActions,\n\t\t\t\tstyleObj: computeStyleObj({\n\t\t\t\t\t...properties,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\t// delay updating resizableConfig for resizableBehavior.\n\t\t\t// The behavior expects to start in an enabled state for the on/off toggle to work.\n\t\t\t// Otherwise if it starts in a disabled state it will never create its resize element\n\t\t\t// and so when resize is enabled again, the behavior does not\n\t\t\t// have its resize element to attach to the DOM\n\t\t\tsetTimeout(() => {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t\tenableResizable: resizeEnabled,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\t// TODO: Remove once the new thumbtack icons are provided\n\t\t\t\t// Temporary solution while the other direction thumbtack icons are not available\n\t\t\t\tupdateShadowRootStyling(host);\n\t\t\t}, 100);\n\n\t\t\tif (contentElement.dispatch) {\n\t\t\t\tcontentElement.dispatch(SN_WINDOW_CREATED, {\n\t\t\t\t\tscreenKey: properties.windowConfig.screenKey,\n\t\t\t\t\tinstanceId: properties.windowConfig.instanceId,\n\t\t\t\t\texperienceId: properties.windowConfig.experienceId,\n\t\t\t\t\twindowId: properties.windowConfig.id,\n\t\t\t\t\tcomponentId: properties.windowConfig.uxrComponentId,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// HDS legacy: Dispatch CONTENT_VISIBLE when window is first created and has contentElement\n\t\t\tif (properties.isOpen && contentElement.dispatch) {\n\t\t\t\tdispatchModelessDialogAction({\n\t\t\t\t\tcontentElement,\n\t\t\t\t\twindowConfig: properties.windowConfig,\n\t\t\t\t\tactionName: NOW_MODELESS_DIALOG_CONTENT_VISIBLE,\n\t\t\t\t\tpayload: {},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst genStyles = getComputedStyle(host);\n\t\t\tconst remMulitplier = genStyles.getPropertyValue(\n\t\t\t\t'--na-ss-rem-multiplier',\n\t\t\t);\n\t\t\tif (!remMulitplier || remMulitplier === '') {\n\t\t\t\thost.style.setProperty('--na-ss-rem-multiplier', '1');\n\t\t\t}\n\t\t\t// Blur all header buttons on initial window creation to prevent browser default focus\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tconst headerElement = host.shadowRoot.querySelector('.docked-window');\n\t\t\t\tif (!headerElement) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst buttons = getFocusableNodes(headerElement)?.tabbableNodes || [];\n\t\t\t\tbuttons.forEach((button) => button.blur());\n\t\t\t});\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error('sn-window - DOM Tree Error', error);\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\tconst {state, action, updateProperties, host, dispatch} = coeffects;\n\t\tconst {properties} = state;\n\t\tconst {windowConfig, windowsState, isOpen, contentElement} = properties;\n\t\tconst {name, value, previousValue} = action.payload;\n\t\tconst nextWindowsState = name === 'windowsState' ? value : windowsState;\n\t\tconst isDocked =\n\t\t\tnextWindowsState.leftDockId === windowConfig.id ||\n\t\t\tnextWindowsState.rightDockId === windowConfig.id ||\n\t\t\tnextWindowsState.bottomDockId === windowConfig.id;\n\t\tconst isModal =\n\t\t\tisOpen && nextWindowsState.modalWindows.includes(windowConfig.id);\n\t\tconst isFloating = !isDocked && !isModal && isOpen;\n\n\t\tif (name === 'animationsDisabled') {\n\t\t\tupdateProperties({animationsDisabled: value});\n\t\t\tsetAnimationClass(host, value);\n\t\t}\n\n\t\tif (name === 'windowsState' || name === 'isOpen') {\n\t\t\tconst isMinimized = nextWindowsState.minimizedWindows.includes(\n\t\t\t\twindowConfig.id,\n\t\t\t);\n\t\t\tconst isActive =\n\t\t\t\tisOpen &&\n\t\t\t\t!isDocked &&\n\t\t\t\t!isMinimized &&\n\t\t\t\twindowConfig.id === nextWindowsState.activeWindowId;\n\n\t\t\tconst prevTargetPos =\n\t\t\t\tpreviousValue?.minimizedTargetPositions?.[windowConfig.id];\n\t\t\tconst newTargetPos = value?.minimizedTargetPositions?.[windowConfig.id];\n\t\t\t// Recompute when the minimized target first appears or when its rect changes\n\t\t\tconst targetPositionInitiallySet =\n\t\t\t\tisMinimized && !prevTargetPos && newTargetPos;\n\t\t\tconst targetPositionChanged =\n\t\t\t\tname === 'windowsState' &&\n\t\t\t\t((prevTargetPos?.top ?? null) !== (newTargetPos?.top ?? null) ||\n\t\t\t\t\t(prevTargetPos?.left ?? null) !== (newTargetPos?.left ?? null) ||\n\t\t\t\t\t(prevTargetPos?.width ?? null) !== (newTargetPos?.width ?? null) ||\n\t\t\t\t\t(prevTargetPos?.height ?? null) !== (newTargetPos?.height ?? null));\n\n\t\t\tconst getDockKey = (state, id) =>\n\t\t\t\tObject.keys(state).find(\n\t\t\t\t\t(key) => key.endsWith('DockId') && state[key] === id,\n\t\t\t\t) ?? null;\n\t\t\tconst prevDockKey = getDockKey(previousValue, windowConfig.id);\n\t\t\tconst newDockKey = getDockKey(value, windowConfig.id);\n\t\t\tconst dockTargetChange = prevDockKey !== newDockKey;\n\t\t\tconst isOpeningOrClosing = name === 'isOpen' && previousValue !== value;\n\t\t\tconst isOpening = isOpeningOrClosing && value === true;\n\n\t\t\t// Check if we're transitioning in or out of a modal state (except for when we're opening/closing/minimizing)\n\t\t\tconst modalTransition =\n\t\t\t\tisModal !== properties.isModal && !isOpeningOrClosing;\n\t\t\tconst animationTimeoutDuration =\n\t\t\t\tprevDockKey || newDockKey || modalTransition ? 510 : 260;\n\n\t\t\tconst hasMinimizeTarget =\n\t\t\t\tnextWindowsState.minimizedTargetPositions?.[windowConfig.id];\n\t\t\tconst isMinimizing = isMinimized && !properties.isMinimized;\n\t\t\tconst isRestoring = !isMinimized && properties.isMinimized;\n\n\t\t\tlet willAnimate = false;\n\n\t\t\t// Check if animations are enabled and if any of the conditions are true\n\t\t\tif (\n\t\t\t\t!properties.animationsDisabled &&\n\t\t\t\t(dockTargetChange ||\n\t\t\t\t\tisMinimized !== properties.isMinimized ||\n\t\t\t\t\t(isMinimizing && hasMinimizeTarget) ||\n\t\t\t\t\tisRestoring ||\n\t\t\t\t\tisDocked !== properties.isDocked ||\n\t\t\t\t\tisModal !== properties.isModal ||\n\t\t\t\t\tproperties.isAnimating ||\n\t\t\t\t\tisOpeningOrClosing)\n\t\t\t) {\n\t\t\t\twillAnimate = true;\n\t\t\t}\n\n\t\t\tconst didPropsChange =\n\t\t\t\tdockTargetChange ||\n\t\t\t\tisDocked !== properties.isDocked ||\n\t\t\t\tisMinimized !== properties.isMinimized ||\n\t\t\t\tisActive !== properties.isActive ||\n\t\t\t\tisModal !== properties.isModal ||\n\t\t\t\tisFloating !== properties.isFloating ||\n\t\t\t\twillAnimate !== properties.isAnimating ||\n\t\t\t\t(name === 'isOpen' && previousValue !== value) ||\n\t\t\t\ttargetPositionInitiallySet ||\n\t\t\t\ttargetPositionChanged ||\n\t\t\t\tisOpeningOrClosing;\n\n\t\t\tif (!didPropsChange) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet newState = properties.currentState;\n\n\t\t\tif (isDocked) {\n\t\t\t\tnewState = 'docked';\n\t\t\t} else if (isMinimized) {\n\t\t\t\tnewState = 'minimized';\n\t\t\t} else if (isModal) {\n\t\t\t\tnewState = 'modal';\n\t\t\t} else if (isFloating) {\n\t\t\t\tnewState = 'floating';\n\t\t\t} else {\n\t\t\t\tnewState = 'closed';\n\t\t\t}\n\n\t\t\tconst dispatchEventToContent = (event, extraPayload = {}) => {\n\t\t\t\tif (contentElement?.dispatch) {\n\t\t\t\t\tcontentElement.dispatch(event, {\n\t\t\t\t\t\twindowId: windowConfig.id,\n\t\t\t\t\t\tscreenKey: windowConfig.screenKey,\n\t\t\t\t\t\tinstanceId: windowConfig.instanceId,\n\t\t\t\t\t\texperienceId: windowConfig.experienceId,\n\t\t\t\t\t\tcomponentId: windowConfig.uxrComponentId,\n\t\t\t\t\t\t...extraPayload,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// notify content component if window became active\n\t\t\tif (isActive !== properties.isActive) {\n\t\t\t\tdispatchEventToContent(SN_WINDOW_FOCUSED, {\n\t\t\t\t\thasFocus: isActive,\n\t\t\t\t});\n\t\t\t}\n\t\t\t// notify content component if window became minimized\n\t\t\tif (isMinimized !== properties.isMinimized) {\n\t\t\t\tdispatchEventToContent(SN_WINDOW_MINIMIZED, {\n\t\t\t\t\tisMinimized,\n\t\t\t\t});\n\t\t\t\tif (!isMinimized && isActive) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tupdateButtonFocus(host, 'minimize', value);\n\t\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// HDS legacy: Dispatch CONTENT_VISIBLE when window opens and contentElement exists\n\t\t\tif (isOpening && contentElement?.dispatch) {\n\t\t\t\tdispatchModelessDialogAction({\n\t\t\t\t\tcontentElement,\n\t\t\t\t\twindowConfig,\n\t\t\t\t\tactionName: NOW_MODELESS_DIALOG_CONTENT_VISIBLE,\n\t\t\t\t\tpayload: {},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// notify content component if window was toggled in/out of modal state\n\t\t\tconst hasModalTransition = isModal !== properties.isModal;\n\t\t\tif (hasModalTransition) {\n\t\t\t\tdispatchEventToContent(SN_WINDOW_MODALIZED, {\n\t\t\t\t\tisModal,\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tupdateButtonFocus(\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tisModal ? 'leave-modal' : 'enter-modal',\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t);\n\t\t\t\t}, animationTimeoutDuration);\n\t\t\t}\n\t\t\t// notify content component if window was toggled in/out of docked state\n\t\t\tif (isDocked !== properties.isDocked) {\n\t\t\t\tdispatchEventToContent(SN_WINDOW_DOCKED, {\n\t\t\t\t\tisDocked,\n\t\t\t\t});\n\n\t\t\t\t// Only update dock button focus if there's no modal transition happening\n\t\t\t\t// to avoid focus conflict between modal and dock buttons\n\t\t\t\tif (!hasModalTransition) {\n\t\t\t\t\tif (isDocked) {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tupdateButtonFocus(host, 'undock', true);\n\t\t\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (prevDockKey === 'leftDockId') {\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tupdateButtonFocus(host, 'left-dock', true);\n\t\t\t\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\t\t\t} else if (prevDockKey === 'rightDockId') {\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tupdateButtonFocus(host, 'right-dock', true);\n\t\t\t\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\t\t\t} else if (prevDockKey === 'bottomDockId') {\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tupdateButtonFocus(host, 'bottom-dock', true);\n\t\t\t\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// TODO: Remove once the new thumbtack icons are provided\n\t\t\t// Temporary solution while the other direction thumbtack icons are not available\n\t\t\tsetTimeout(() => {\n\t\t\t\tupdateShadowRootStyling(host);\n\t\t\t}, 50);\n\n\t\t\tconst newStyleObj = computeStyleObj({\n\t\t\t\t...properties,\n\t\t\t\twindowsState: nextWindowsState,\n\t\t\t\tisDocked,\n\t\t\t\tisMinimized,\n\t\t\t\tisModal,\n\t\t\t\tisFloating,\n\t\t\t\tisOpen: name === 'isOpen' ? value : isOpen,\n\t\t\t});\n\n\t\t\t// If minimized without a known target, keep current style to avoid an initial snap\n\t\t\tconst finalStyleObj =\n\t\t\t\tisMinimized && !hasMinimizeTarget ? properties.styleObj : newStyleObj;\n\n\t\t\t// Skip immediate resizableConfig update during dock state changes to avoid race condition\n\t\t\t// The delayed update below will handle it after is-fullscreen class is removed\n\t\t\tconst skipImmediateResizeUpdate =\n\t\t\t\tisDocked !== properties.isDocked || isModal !== properties.isModal;\n\n\t\t\t// Extract resizable config update\n\t\t\tconst resizableConfigUpdate = !skipImmediateResizeUpdate\n\t\t\t\t? {\n\t\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t\t\tenableResizable: isFloating && properties.canResize,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: {};\n\n\t\t\tupdateProperties({\n\t\t\t\tisFloating,\n\t\t\t\tisDocked,\n\t\t\t\tisMinimized,\n\t\t\t\tisActive,\n\t\t\t\tisModal,\n\t\t\t\tcanDrag: windowConfig.canDrag && newState === 'floating',\n\t\t\t\tcurrentState:\n\t\t\t\t\tisOpeningOrClosing || !properties.isAnimating\n\t\t\t\t\t\t? newState\n\t\t\t\t\t\t: properties.currentState,\n\t\t\t\tlastState:\n\t\t\t\t\tisOpeningOrClosing || !properties.isAnimating\n\t\t\t\t\t\t? properties.currentState\n\t\t\t\t\t\t: properties.lastState,\n\t\t\t\tisAnimating: willAnimate,\n\t\t\t\topened: isModal, // this is just for modalBehavior to tell it to open the background overlay\n\t\t\t\t...resizableConfigUpdate,\n\t\t\t\twindowConfig: {\n\t\t\t\t\t...windowConfig,\n\t\t\t\t\tpinnedHeaderHeight: isDocked\n\t\t\t\t\t\t? properties.windowsList.find((w) => w.id === windowConfig.id)\n\t\t\t\t\t\t\t\t?.pinnedHeaderHeight\n\t\t\t\t\t\t: '52px',\n\t\t\t\t},\n\t\t\t\tstyleObj: finalStyleObj,\n\t\t\t});\n\n\t\t\t// need to set timeout to wait for .is-fullscreen to change so that\n\t\t\t// the property handler on the resizable behavior can make the change correctly\n\t\t\t// TODO: post Y releases we can update the property normally as long as we remove the\n\t\t\t// is-fullscreen class from the resizable div\n\t\t\tif (\n\t\t\t\tproperties.resizableConfig.enableResizable !== isFloating ||\n\t\t\t\tskipImmediateResizeUpdate\n\t\t\t) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t\t\tenableResizable: isFloating && properties.canResize,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}, 100);\n\t\t\t}\n\n\t\t\t// Clear any existing timer for this host and set a new one if animations are enabled\n\t\t\tconst existingTimeout = animationTimeouts.get(host);\n\t\t\tif (!properties.animationsDisabled && existingTimeout) {\n\t\t\t\tclearTimeout(existingTimeout);\n\t\t\t\tanimationTimeouts.delete(host);\n\t\t\t}\n\n\t\t\tif (properties.animationsDisabled) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisAnimating: false,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst t = setTimeout(() => {\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tisAnimating: false,\n\t\t\t\t\t});\n\t\t\t\t\tanimationTimeouts.delete(host);\n\t\t\t\t}, animationTimeoutDuration);\n\t\t\t\tanimationTimeouts.set(host, t);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (name === 'isFloating' && value) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst modelessDialog = host.shadowRoot.querySelector(\n\t\t\t\t\t'now-modeless-dialog',\n\t\t\t\t);\n\t\t\t\tif (!modelessDialog) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst wrapper =\n\t\t\t\t\tmodelessDialog.shadowRoot.querySelector('div[role=\"dialog\"]');\n\t\t\t\tconst wrapperBounds = wrapper?.getBoundingClientRect();\n\n\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\ttop: wrapperBounds.top,\n\t\t\t\t\tbottom: window.innerHeight - wrapperBounds.bottom,\n\t\t\t\t\tleft: wrapperBounds.left,\n\t\t\t\t\tright: window.innerWidth - wrapperBounds.right,\n\t\t\t\t\twidth: wrapperBounds.width,\n\t\t\t\t\theight: wrapperBounds.height,\n\t\t\t\t});\n\t\t\t}, 100);\n\t\t}\n\n\t\tif (\n\t\t\tname === 'browserDimensions' ||\n\t\t\tname === 'isModal' ||\n\t\t\tname === 'fullscreenViewConfig'\n\t\t) {\n\t\t\t// Check whether the window should now be in fullscreen view\n\t\t\tconst isFullscreenView = isFullScreen(\n\t\t\t\tproperties.browserDimensions,\n\t\t\t\tproperties.isModal,\n\t\t\t\tproperties.fullscreenViewConfig,\n\t\t\t);\n\n\t\t\t// If the fullscreen status has changed, update the property and recompute the style object\n\t\t\tif (isFullscreenView !== properties.isFullscreenView) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisFullscreenView,\n\t\t\t\t\tstyleObj: computeStyleObj(properties),\n\t\t\t\t});\n\n\t\t\t\t// Handle state change\n\t\t\t\tlet newState;\n\t\t\t\tif (isFullscreenView) {\n\t\t\t\t\tnewState = 'fullscreen';\n\t\t\t\t} else {\n\t\t\t\t\t// The window has returned to original state before fullscreen\n\t\t\t\t\tif (properties.isDocked) {\n\t\t\t\t\t\tconst dockedSide =\n\t\t\t\t\t\t\twindowsState.leftDockId === windowConfig.id\n\t\t\t\t\t\t\t\t? 'left'\n\t\t\t\t\t\t\t\t: windowsState.rightDockId === windowConfig.id\n\t\t\t\t\t\t\t\t\t? 'right'\n\t\t\t\t\t\t\t\t\t: windowsState.bottomDockId === windowConfig.id\n\t\t\t\t\t\t\t\t\t\t? 'bottom'\n\t\t\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\tnewState = `docked-${dockedSide}`;\n\t\t\t\t\t} else if (properties.isModal) {\n\t\t\t\t\t\tnewState = 'modal';\n\t\t\t\t\t} else if (properties.isMinimized) {\n\t\t\t\t\t\tnewState = 'minimized';\n\t\t\t\t\t} else if (properties.isFloating) {\n\t\t\t\t\t\tnewState = 'floating';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\thandleStateChangeCallback(windowConfig, newState);\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tname !== 'resizableConfig' &&\n\t\t\tname !== 'fullscreenViewConfig' &&\n\t\t\tcontentElement\n\t\t) {\n\t\t\tcontentElement[name] = value;\n\t\t}\n\n\t\tif (name === 'canResize' && previousValue !== value) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t\tenableResizable: isFloating && value,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}, 100);\n\t\t}\n\t},\n\t['PROPERTY_CHANGED']: ({state, action, updateProperties}) => {\n\t\tconst {\n\t\t\tpayload: {name, value},\n\t\t} = action;\n\t\tconst {properties} = state;\n\n\t\tupdateProperties({\n\t\t\t[name]: value,\n\t\t});\n\n\t\tif (\n\t\t\tproperties.contentElement &&\n\t\t\tname !== 'resizableConfig' &&\n\t\t\tname !== 'fullscreenViewConfig'\n\t\t) {\n\t\t\tproperties.contentElement[name] = value;\n\t\t}\n\n\t\tif (name === 'screenInfo') {\n\t\t\tupdateProperties({\n\t\t\t\tscreenInfo: value,\n\t\t\t});\n\t\t}\n\t},\n\t[BROADCAST_MESSAGE]: ({state, action}) => {\n\t\tstate.properties.contentElement.dispatch('HANDLE_MESSAGE', action.payload);\n\t},\n\t['UPDATE_FLOATING_MENU_LOCATION']: (coeffects) => {\n\t\tconst {state, action, updateProperties, properties} = coeffects;\n\t\tconst {\n\t\t\tproperties: {isFloating, dialogSize, dialogLocation, isAnimating},\n\t\t} = state;\n\t\tconst {payload} = action;\n\t\tconst {width, height, forceUpdate} = payload;\n\n\t\t// Don't update window location if window is in fullscreen view\n\t\tif (properties.isFullscreenView) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ((!isFloating || isAnimating || !properties.isOpen) && !forceUpdate) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet matchesCurrentLocationFormat = true;\n\t\tlet locationIsDifferent = false;\n\t\tlet coordinateSystem = [];\n\n\t\t// Check if the update matches the current location format and/or the location is different\n\t\tfor (const key of Object.keys(dialogLocation)) {\n\t\t\tif (payload[key] !== undefined) {\n\t\t\t\tif (dialogLocation[key] !== payload[key]) {\n\t\t\t\t\tlocationIsDifferent = true;\n\t\t\t\t}\n\t\t\t\tcoordinateSystem.push(key);\n\t\t\t} else {\n\t\t\t\tmatchesCurrentLocationFormat = false;\n\t\t\t\tcoordinateSystem =\n\t\t\t\t\tpayload['top'] !== undefined ? ['top', 'left'] : ['bottom', 'right'];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t!matchesCurrentLocationFormat ||\n\t\t\tlocationIsDifferent ||\n\t\t\twidth !== dialogSize.width ||\n\t\t\theight !== dialogSize.height\n\t\t) {\n\t\t\t// Use the new location/size or fallback to stored location/size\n\t\t\tconst newLocation =\n\t\t\t\tpayload[coordinateSystem[0]] !== undefined &&\n\t\t\t\tpayload[coordinateSystem[1]] !== undefined\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t[coordinateSystem[0]]: payload[coordinateSystem[0]],\n\t\t\t\t\t\t\t[coordinateSystem[1]]: payload[coordinateSystem[1]],\n\t\t\t\t\t\t}\n\t\t\t\t\t: dialogLocation;\n\n\t\t\tconst newSize = {\n\t\t\t\twidth: width === 0 || !width ? dialogSize.width : width,\n\t\t\t\theight: height === 0 || !height ? dialogSize.height : height,\n\t\t\t};\n\n\t\t\tupdateProperties({\n\t\t\t\tdialogLocation: newLocation,\n\t\t\t\tdialogSize: newSize,\n\t\t\t\tstyleObj: computeStyleObj({\n\t\t\t\t\t...state.properties,\n\t\t\t\t\tdialogLocation: newLocation,\n\t\t\t\t\tdialogSize: newSize,\n\t\t\t\t}),\n\t\t\t});\n\t\t}\n\t},\n\t[SET_HEADER_BUTTONS]: handleSetHeaderButtons,\n\t// this is for backwards compatibility with Y and Z releases\n\t// it will be removed in a future release\n\t['NOW_WINDOW_MANAGER#SET_HEADER_BUTTONS']: handleSetHeaderButtons,\n\t[SN_WINDOW_CHECK_LOCATION]: (coeffects) => {\n\t\tconst {\n\t\t\tstate: {properties},\n\t\t\taction: {payload = {}},\n\t\t\tdispatch,\n\t\t} = coeffects;\n\t\tconst {dialogLocation, dialogSize, windowsState, windowConfig} = properties;\n\n\t\tconst isLeftDocked = windowsState.leftDockId === windowConfig.id;\n\t\tconst isRightDocked = windowsState.rightDockId === windowConfig.id;\n\t\tconst isBottomDocked = windowsState.bottomDockId === windowConfig.id;\n\t\tconst isMinimized = windowsState.minimizedWindows.includes(windowConfig.id);\n\t\tconst isModal = windowConfig.isModal;\n\n\t\tif (\n\t\t\tisLeftDocked ||\n\t\t\tisRightDocked ||\n\t\t\tisBottomDocked ||\n\t\t\tisMinimized ||\n\t\t\tisModal\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get viewport dimensions\n\t\tconst viewportWidth = window.innerWidth;\n\t\tconst viewportHeight = window.innerHeight;\n\n\t\tlet clampedPosition = {\n\t\t\t...dialogLocation,\n\t\t\twidth: dialogSize.width,\n\t\t\theight: dialogSize.height,\n\t\t};\n\n\t\t// If the window is out of bounds, calculate the clamped position\n\t\tif (\n\t\t\t!isWindowInBounds(\n\t\t\t\tdialogSize,\n\t\t\t\tdialogLocation,\n\t\t\t\tviewportWidth,\n\t\t\t\tviewportHeight,\n\t\t\t)\n\t\t) {\n\t\t\tclampedPosition = clampDialogPosition({dialogLocation, dialogSize});\n\t\t}\n\n\t\t// Always update on forceUpdate or if there's an actual change\n\t\tif (\n\t\t\tpayload.forceUpdate ||\n\t\t\tclampedPosition.top !== dialogLocation.top ||\n\t\t\tclampedPosition.bottom !== dialogLocation.bottom ||\n\t\t\tclampedPosition.left !== dialogLocation.left ||\n\t\t\tclampedPosition.right !== dialogLocation.right ||\n\t\t\tclampedPosition.width !== dialogSize.width ||\n\t\t\tclampedPosition.height !== dialogSize.height\n\t\t) {\n\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', clampedPosition);\n\t\t}\n\t},\n\t[SN_WINDOW_SET_WINDOW_SIZE]: handleSetWindowSize,\n\t// this is for backwards compatibility with Y and Z releases\n\t// it will be removed in a future release\n\t['NOW_WINDOW#SET_WINDOW_SIZE']: handleSetWindowSize,\n\t[SN_WINDOW_SET_DOCKED_WINDOW_SIZE]: {\n\t\teffect: ({\n\t\t\tproperties,\n\t\t\taction: {\n\t\t\t\tpayload: {size},\n\t\t\t},\n\t\t\tupdateProperties,\n\t\t}) => {\n\t\t\tconst minWidth = '320';\n\t\t\tconst maxWidth = window.innerWidth * 0.5;\n\n\t\t\t// We should possibly also check innerHeight since dockedWindowSize is used for bottom docking as well\n\t\t\tif (size >= minWidth && size <= maxWidth) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\twindowConfig: {\n\t\t\t\t\t\t...properties.windowConfig,\n\t\t\t\t\t\tdockedWindowSize: size,\n\t\t\t\t\t},\n\t\t\t\t\tdockedWindowSize: size,\n\t\t\t\t\tstyleObj: computeStyleObj({\n\t\t\t\t\t\t...properties,\n\t\t\t\t\t\tdockedWindowSize: size,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[SN_WINDOW_SET_DIRTY_STATE]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {payload},\n\t\t\tupdateProperties,\n\t\t} = coeffects;\n\n\t\tupdateProperties({\n\t\t\tisDirty: payload,\n\t\t});\n\t},\n\t[SN_WINDOW_SET_WINDOW_PROPERTIES]: (coeffects) => {\n\t\tconst {updateProperties, action} = coeffects;\n\t\tconst {payload} = action;\n\n\t\tupdateProperties(({properties}) => {\n\t\t\tlet newHeadingLabel = properties.windowConfig.headingLabel;\n\n\t\t\tif ('headingLabel' in payload) {\n\t\t\t\tnewHeadingLabel = payload.headingLabel;\n\t\t\t} else if ('title' in payload) {\n\t\t\t\tnewHeadingLabel = payload.title;\n\t\t\t} else if ('dialogTitle' in payload) {\n\t\t\t\tnewHeadingLabel = payload.dialogTitle;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpath: 'windowConfig',\n\t\t\t\tvalue: {\n\t\t\t\t\t...properties.windowConfig,\n\t\t\t\t\t...payload,\n\t\t\t\t\theadingLabel: newHeadingLabel,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t},\n\t['SN_WINDOW#CLOSE_REQUESTED']: (coeffects) => {\n\t\tconst {\n\t\t\taction: {payload},\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t} = coeffects;\n\t\tconsole.info(\n\t\t\t'sn-window - SN_WINDOW#CLOSE_REQUESTED',\n\t\t\tproperties.windowConfig.modelessDialogControllerId,\n\t\t\t{payload},\n\t\t);\n\t\tdispatch(\n\t\t\t'UXF#DIALOG_CLOSE_REQUESTED',\n\t\t\t{\n\t\t\t\tsourceElementId: properties.windowConfig.modelessDialogControllerId,\n\t\t\t\tinstanceId: payload.instanceId,\n\t\t\t\tcompositionId: payload.screenKey,\n\t\t\t},\n\t\t\tpayload.meta,\n\t\t);\n\t},\n\t['SN_WINDOW#CLOSE_CONFIRMED']: (coeffects) => {\n\t\tconst {\n\t\t\tstate: {properties},\n\t\t\taction: {payload},\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t} = coeffects;\n\t\tconsole.info('sn-window - SN_WINDOW#CLOSE_CONFIRMED', {\n\t\t\tpayload,\n\t\t\tproperties,\n\t\t});\n\t\tproperties.contentElement?.dispatch('DIALOG_CLOSE_CONFIRMED', payload);\n\t},\n\t['SN_WINDOW#CLOSE_CANCELED']: (coeffects) => {\n\t\tconst {properties} = coeffects;\n\t\tproperties.contentElement?.dispatch('DIALOG_CLOSE_CANCELED');\n\t},\n\t['PRIVATE#RESIZABLE_END']: (coeffects) => {\n\t\tconst {updateProperties, properties, action} = coeffects;\n\n\t\tupdateProperties({\n\t\t\twindowConfig: {\n\t\t\t\t...properties.windowConfig,\n\t\t\t\tautoResizableConfig: {\n\t\t\t\t\t...properties.windowConfig.autoResizableConfig,\n\t\t\t\t\tenableAutoResizableHeight: false,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\t// HDS legacy: Dispatch NOW_MODELESS_DIALOG#RESIZABLE_END when resize completes\n\t\tconst payload = action.payload || {};\n\t\tdispatchModelessDialogAction({\n\t\t\tcontentElement: properties.contentElement,\n\t\t\twindowConfig: properties.windowConfig,\n\t\t\tactionName: NOW_MODELESS_DIALOG_RESIZABLE_END,\n\t\t\tpayload: {\n\t\t\t\twidth: payload.width,\n\t\t\t\theight: payload.height,\n\t\t\t\tleft: payload.left,\n\t\t\t\ttop: payload.top,\n\t\t\t},\n\t\t});\n\t},\n};\n\nexport const eventHandlers = [\n\t{\n\t\tevents: ['resize'],\n\t\teffect: ({host, properties}) => {\n\t\t\tif (properties.maxWindowSizePercentage) {\n\t\t\t\tconst {width: widthPercent, height: heightPercent} =\n\t\t\t\t\tproperties.windowConfig.maxWindowSizePercentage;\n\t\t\t\tconst dialogElement = host.shadowRoot.querySelector(\n\t\t\t\t\t'.now-modeless-dialog',\n\t\t\t\t);\n\t\t\t\tconst newMaxWidth = Math.floor(\n\t\t\t\t\twindow.innerWidth * (widthPercent / 100),\n\t\t\t\t);\n\t\t\t\tconst newMaxHeight = Math.floor(\n\t\t\t\t\twindow.innerHeight * (heightPercent / 100),\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\tproperties.dialogSize?.width !== newMaxWidth ||\n\t\t\t\t\tproperties.dialogSize?.height !== newMaxHeight\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tproperties.isFloating &&\n\t\t\t\t\t\t(properties.dialogSize?.width > newMaxWidth ||\n\t\t\t\t\t\t\tproperties.dialogSize?.height > newMaxHeight)\n\t\t\t\t\t) {\n\t\t\t\t\t\tdialogElement.style.width = newMaxWidth + 'px';\n\t\t\t\t\t\tdialogElement.style.height = newMaxHeight + 'px';\n\t\t\t\t\t}\n\t\t\t\t\tdialogElement.lastChild.resizableMaxWidth = newMaxWidth;\n\t\t\t\t\tdialogElement.lastChild.resizableMaxHeight = newMaxHeight;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttarget: window,\n\t},\n];\n","import '@servicenow/now-button';\nimport {\n\tCloseButton,\n\tOpenButton,\n\tRightDockButton,\n\tLeftDockButton,\n\tToggleModalButton,\n\tMinimizeWindowButton,\n\tCustomHeaderButtonIconic,\n\tDragButton,\n} from './buttons';\nimport {isFullScreen} from '../sn-window.effects';\n\nexport const ButtonsPanel = (coeffects) => {\n\tconst {\n\t\twindowConfig,\n\t\twindowsState,\n\t\tproperties: {\n\t\t\tisMinimized,\n\t\t\tisDocked,\n\t\t\tisOpen,\n\t\t\tbrowserDimensions,\n\t\t\tisModal,\n\t\t\tfullscreenViewConfig,\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (isMinimized) {\n\t\treturn null;\n\t}\n\n\tconst isLeftDocked = windowsState.leftDockId === windowConfig.id;\n\tconst isRightDocked = windowsState.rightDockId === windowConfig.id;\n\t// const isBottomDocked = windowsState.bottomDockId === windowConfig.id;\n\t// const isMinimized = windowsState.minimizedWindows.includes(windowConfig.id);\n\t// const isDocked = isLeftDocked || isRightDocked || isBottomDocked;\n\n\t// Only modal windows with screens smaller than 421px will use touch enhanced buttons\n\t// TODO: Remove this block once the new thumbtack icons are provided\n\tconst fullScreenBreakpoint =\n\t\t(isModal\n\t\t\t? fullscreenViewConfig?.modalThresholds?.width\n\t\t\t: fullscreenViewConfig?.standardThresholds?.width) || 421;\n\tconst useTouchEnhancedButtons =\n\t\tbrowserDimensions.width !== 0 &&\n\t\tbrowserDimensions.width < fullScreenBreakpoint;\n\tcoeffects.properties.showHorizontalDockOptions =\n\t\twindowConfig.dockConfig.dockLeft && windowConfig.dockConfig.dockRight;\n\n\treturn (\n\t\t<div className=\"window-button-panel\">\n\t\t\t{/* custom header buttons */}\n\t\t\t{windowConfig.headerButtons &&\n\t\t\t\twindowConfig.headerButtons.map((button) => (\n\t\t\t\t\t<CustomHeaderButtonIconic\n\t\t\t\t\t\tbutton={button}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tcoeffects={coeffects}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\n\t\t\t{/* minimize button */}\n\t\t\t{windowConfig.canMinimize && !isDocked ? (\n\t\t\t\t<MinimizeWindowButton coeffects={coeffects} />\n\t\t\t) : null}\n\n\t\t\t{/* toggle modal button */}\n\t\t\t{(windowConfig.canToggleModal || windowConfig.canMaximize) &&\n\t\t\t!isMinimized &&\n\t\t\t!useTouchEnhancedButtons ? (\n\t\t\t\t<ToggleModalButton coeffects={coeffects} />\n\t\t\t) : null}\n\n\t\t\t{/* pin button */}\n\t\t\t{windowConfig.canDock &&\n\t\t\t((windowConfig.dockConfig.dockLeft &&\n\t\t\t\t!isMinimized &&\n\t\t\t\t!isDocked &&\n\t\t\t\t!useTouchEnhancedButtons) ||\n\t\t\t\t(isLeftDocked && !useTouchEnhancedButtons)) ? (\n\t\t\t\tisLeftDocked && document.dir === 'rtl' ? (\n\t\t\t\t\t<RightDockButton coeffects={coeffects} />\n\t\t\t\t) : (\n\t\t\t\t\t<LeftDockButton coeffects={coeffects} />\n\t\t\t\t)\n\t\t\t) : null}\n\n\t\t\t{/* {windowConfig.canDock &&\n\t\t\t\t((windowConfig.dockConfig.dockBottom &&\n\t\t\t\t!isMinimized &&\n\t\t\t\t!isDocked &&\n\t\t\t\t!useTouchEnhancedButtons) ||\n\t\t\t(isBottomDocked && !useTouchEnhancedButtons)) ? (\n\t\t\t\t<BottomDockButton coeffects={coeffects} />\n\t\t\t) : null} */}\n\n\t\t\t{windowConfig.canDock &&\n\t\t\t((windowConfig.dockConfig.dockRight &&\n\t\t\t\t!isMinimized &&\n\t\t\t\t!isDocked &&\n\t\t\t\t!useTouchEnhancedButtons) ||\n\t\t\t\t(isRightDocked && !useTouchEnhancedButtons)) ? (\n\t\t\t\tisRightDocked && document.dir === 'rtl' ? (\n\t\t\t\t\t<LeftDockButton coeffects={coeffects} />\n\t\t\t\t) : (\n\t\t\t\t\t<RightDockButton coeffects={coeffects} />\n\t\t\t\t)\n\t\t\t) : null}\n\n\t\t\t{/* close window button */}\n\t\t\t{windowConfig.canClose && isOpen && !isMinimized ? (\n\t\t\t\t<CloseButton coeffects={coeffects} />\n\t\t\t) : null}\n\n\t\t\t{/* open window button */}\n\t\t\t{!isOpen && windowConfig.isPersistent ? (\n\t\t\t\t<OpenButton\n\t\t\t\t\twindowConfig={windowConfig}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tuseTouchEnhancedButtons={useTouchEnhancedButtons}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t{windowConfig.canDrag && !isDocked && !isModal && isOpen ? (\n\t\t\t\t<DragButton coeffects={coeffects} />\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n","import '@servicenow/now-button';\nimport {t} from 'sn-translate';\nimport {ButtonsPanel} from './buttonPanel';\n\nexport const DockedWindow = (coeffects) => {\n\tconst {state, dispatch, updateState} = coeffects;\n\tconst {properties} = state;\n\tconst {\n\t\twindowConfig,\n\t\tcontentElement,\n\t\tslottedHeading,\n\t\tslottedActions,\n\t\tslottedContent,\n\t\tslottedFooter,\n\t} = properties;\n\n\treturn (\n\t\t<div\n\t\t\thook-insert={(element) => {\n\t\t\t\tif (contentElement) {\n\t\t\t\t\tconst targetHeaderSlot = element.elm.querySelector(\n\t\t\t\t\t\t'div[slot=\"heading\"]',\n\t\t\t\t\t);\n\t\t\t\t\tconst targetActionsSlot = element.elm.querySelector(\n\t\t\t\t\t\t'div[slot=\"actions\"]',\n\t\t\t\t\t);\n\t\t\t\t\tconst targetContentSlot = element.elm.querySelector(\n\t\t\t\t\t\t'div[slot=\"content\"]',\n\t\t\t\t\t);\n\t\t\t\t\tconst targetFooterSlot =\n\t\t\t\t\t\telement.elm.querySelector('div[slot=\"footer\"]');\n\n\t\t\t\t\tif (slottedContent) {\n\t\t\t\t\t\ttargetContentSlot.appendChild(slottedContent);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttargetContentSlot?.appendChild(contentElement);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (slottedHeading) {\n\t\t\t\t\t\ttargetHeaderSlot.prepend(slottedHeading);\n\t\t\t\t\t}\n\t\t\t\t\tif (slottedActions) {\n\t\t\t\t\t\ttargetActionsSlot.prepend(slottedActions);\n\t\t\t\t\t}\n\t\t\t\t\tif (slottedFooter) {\n\t\t\t\t\t\ttargetFooterSlot.prepend(slottedFooter);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}}\n\t\t\tclassName=\"docked-window\"\n\t\t>\n\t\t\t<div\n\t\t\t\tslot=\"heading\"\n\t\t\t\tclass={{\n\t\t\t\t\theader: true,\n\t\t\t\t\t'hide-divider': windowConfig.hideHeadingDivider,\n\t\t\t\t\t[windowConfig.variant]: true,\n\t\t\t\t}}\n\t\t\t\tstyle={{'--sn-window-header-height': windowConfig.pinnedHeaderHeight}}\n\t\t\t>\n\t\t\t\t<div className=\"heading-container\">\n\t\t\t\t\t{properties.isDirty ? (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\tid=\"dirty-icon\"\n\t\t\t\t\t\t\ticon=\"dirty-indicator-fill\"\n\t\t\t\t\t\t\tsize={windowConfig.headerIcon.size}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{properties.isMessageUnread ? (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"circle-fill\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tclassName=\"unread-indicator\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{windowConfig.headerIcon?.icon !== null ? (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon={windowConfig.headerIcon.icon}\n\t\t\t\t\t\t\tsize={windowConfig.headerIcon.size}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<h2 className={`heading-label -${windowConfig.size}`}>\n\t\t\t\t\t\t{windowConfig.headingLabel || ''}\n\t\t\t\t\t<\/h2>\n\t\t\t\t\t{properties.isChatPrivate ? (\n\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\tcolor=\"gray\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tlabel={t('Private')}\n\t\t\t\t\t\t\tclassName=\"privacy-indicator\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t\t<div slot=\"actions\"><\/div>\n\t\t\t\t<div>\n\t\t\t\t\t<ButtonsPanel\n\t\t\t\t\t\tproperties={properties}\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\twindowsState={properties.windowsState}\n\t\t\t\t\t\twindowConfig={properties.windowConfig}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div slot=\"content\"><\/div>\n\t\t\t<div slot=\"footer\"><\/div>\n\t\t<\/div>\n\t);\n};\n","import {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport {DockedWindow} from './fragments/dockedWindow';\n\nimport {debounce} from '@devsnc/snowdash';\nimport {SN_WINDOW_CHECK_LOCATION} from './actions';\nimport {keepInBoundary} from './behaviors/utils/helpers';\n\nconst handleModalMutations = debounce(\n\t(properties, mutationsList, dialogContainer, dispatch) => {\n\t\t// Skip updates for auto-resize modals - CSS centering handles it\n\t\tif (\n\t\t\tproperties.windowConfig.autoResizableConfig?.enableAutoResizableHeight &&\n\t\t\tproperties.isModal\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tfor (const mutation of mutationsList) {\n\t\t\tif (mutation.attributeName === 'style' && !properties.isMinimized) {\n\t\t\t\tconst style = dialogContainer.getBoundingClientRect();\n\t\t\t\tconst top = style.y;\n\t\t\t\tconst left = style.x;\n\t\t\t\tconst width = style.width;\n\t\t\t\tconst height = style.height;\n\n\t\t\t\t// When the modal has been mutated (user resized or moved it),\n\t\t\t\t// update the dialogSize and dialogLocation via UPDATE_FLOATING_MENU_LOCATION\n\t\t\t\t// to ensure state is consistent with the visual representation\n\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\ttop,\n\t\t\t\t\tleft,\n\t\t\t\t\twidth,\n\t\t\t\t\theight,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t10,\n);\n\nconst handleModalResize = debounce(\n\t(properties, dialogContainer, dispatch, updateProperties) => {\n\t\t// For auto-resize modals, don't update position - CSS centering handles it\n\t\tif (\n\t\t\tproperties.isModal &&\n\t\t\tproperties.windowConfig.autoResizableConfig?.enableAutoResizableHeight\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\tproperties.windowConfig.autoResizableConfig?.enableAutoResizableHeight\n\t\t) {\n\t\t\tlet dialogTop = dialogContainer.offsetTop;\n\t\t\tconst dialogHeight = dialogContainer.offsetHeight;\n\t\t\tconst windowHeight = window.innerHeight;\n\n\t\t\tif (dialogTop + dialogHeight > windowHeight) {\n\t\t\t\t// Dialog is out of bounds, adjust position\n\t\t\t\tdialogTop = Math.max(0, windowHeight - dialogHeight);\n\t\t\t}\n\n\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\twidth: dialogContainer.offsetWidth,\n\t\t\t\theight: dialogContainer.offsetHeight,\n\t\t\t\ttop: dialogTop,\n\t\t\t\tforceUpdate: true,\n\t\t\t});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (dialogContainer.offsetTop !== dialogTop) {\n\t\t\t\t\tdialogContainer.style.top = `${dialogTop}px`;\n\t\t\t\t}\n\t\t\t}, 150);\n\t\t} else {\n\t\t\tif (dialogContainer) {\n\t\t\t\tif (properties.windowConfig.fitContent) {\n\t\t\t\t\tconst toolbar =\n\t\t\t\t\t\tproperties.bottomToolbarComponent?.shadowRoot?.querySelector(\n\t\t\t\t\t\t\t'.sn-window-manager-toolbar',\n\t\t\t\t\t\t);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst finalRect = dialogContainer.getBoundingClientRect();\n\t\t\t\t\t\tconst finalToolbarRect = toolbar?.getBoundingClientRect();\n\t\t\t\t\t\tif (finalToolbarRect && finalRect.bottom > finalToolbarRect.top) {\n\t\t\t\t\t\t\tkeepInBoundary(\n\t\t\t\t\t\t\t\tdialogContainer,\n\t\t\t\t\t\t\t\tdocument.body,\n\t\t\t\t\t\t\t\ttoolbar,\n\t\t\t\t\t\t\t\tproperties.dialogLocation,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tisHidden: false,\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 50);\n\t\t\t\t}\n\n\t\t\t\tdispatch(SN_WINDOW_CHECK_LOCATION, {\n\t\t\t\t\tforceUpdate: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t50,\n);\n\nconst createMutationObserver = (\n\telement,\n\tdispatch,\n\tmutationObserver,\n\tresizeObserver,\n\tproperties,\n\tupdateProperties,\n) => {\n\t// const dialogRoot = element.elm?.shadowRoot;\n\tconst dialogContainer = element.elm; //dialogRoot?.children[0];\n\tif (!dialogContainer) {\n\t\treturn;\n\t}\n\n\t// Disconnect the previous observer if it exists\n\tif (mutationObserver) {\n\t\tmutationObserver.disconnect();\n\t}\n\n\tif (resizeObserver) {\n\t\tresizeObserver.disconnect();\n\t}\n\n\tconst mutationObs = new MutationObserver((mutationsList) => {\n\t\thandleModalMutations(properties, mutationsList, dialogContainer, dispatch);\n\t});\n\n\tconst resizeObs = new ResizeObserver(() => {\n\t\tif (!properties.isAnimating) {\n\t\t\thandleModalResize(\n\t\t\t\tproperties,\n\t\t\t\tdialogContainer,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t});\n\n\tupdateProperties({mutationObserver: mutationObs, resizeObserver: resizeObs});\n\n\t// Only start observing after first placement of the window\n\tsetTimeout(() => {\n\t\tmutationObs.observe(dialogContainer, {\n\t\t\tattributes: true,\n\t\t});\n\t\tresizeObs.observe(dialogContainer);\n\t}, 100);\n};\n\nexport default (state, {dispatch, updateProperties, updateState}) => {\n\tconst {properties} = state;\n\tconst {\n\t\twindowConfig,\n\t\twindowsState,\n\t\tconfigAria,\n\t\tmutationObserver,\n\t\tresizeObserver,\n\t} = properties;\n\n\tconst leftDockOpen = windowsState.leftDockId !== null;\n\tconst rightDockOpen = windowsState.rightDockId !== null;\n\n\tconst transitionClass = `transition-${properties.lastState}-to-${properties.currentState}`;\n\tconst navRef = createRef();\n\tconst isFloating =\n\t\tproperties.isOpen &&\n\t\t!properties.isDocked &&\n\t\t!properties.isModal &&\n\t\t!properties.isAnimating &&\n\t\t!properties.isMinimized;\n\n\tlet onCurrentScreen = properties.windowConfig.isGlobalWindow;\n\n\tif (properties.windowConfig.isUXFWindow) {\n\t\tconst currentScreenKey =\n\t\t\tnowWindowManager.screenInfo.screenKey ??\n\t\t\twindow.ux_globals?.snCanvasScreen?.screenId;\n\t\tconst currentExperienceId =\n\t\t\tnowWindowManager.screenInfo.experienceId ??\n\t\t\twindow.ux_globals?.snCanvasScreen?.experienceId;\n\t\tonCurrentScreen =\n\t\t\tproperties.windowConfig.screenKey === currentScreenKey &&\n\t\t\tproperties.windowConfig.experienceId === currentExperienceId;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={navRef}\n\t\t\tstyle={properties.styleObj}\n\t\t\tclass={{\n\t\t\t\t'is-fullscreen':\n\t\t\t\t\tproperties.isDocked ||\n\t\t\t\t\tproperties.isModal ||\n\t\t\t\t\t!properties.windowConfig.canResize,\n\t\t\t\t'now-modeless-dialog': true, // this is just for tricking resizableBehavior into letting us turn on/off resizing\n\t\t\t\t'sn-window-wrapper': true,\n\t\t\t\thidden: properties.isHidden || !onCurrentScreen,\n\t\t\t\tdocked: properties.isDocked,\n\t\t\t\tmodal: properties.isModal,\n\t\t\t\tfloating: isFloating,\n\t\t\t\tminimized: properties.isMinimized,\n\t\t\t\tactive: properties.isOpen && properties.isActive,\n\t\t\t\tclosed: !properties.isOpen && !windowConfig.closeToTop,\n\t\t\t\t'is-animating': properties.isAnimating,\n\t\t\t\t'close-to-top': !properties.isOpen && windowConfig.closeToTop,\n\t\t\t\t[transitionClass]: properties.isAnimating,\n\t\t\t\t'docked-left': windowsState.leftDockId === windowConfig.id,\n\t\t\t\t'docked-right': windowsState.rightDockId === windowConfig.id,\n\t\t\t\t'docked-bottom': windowsState.bottomDockId === windowConfig.id,\n\t\t\t\t'left-dock-open': leftDockOpen,\n\t\t\t\t'right-dock-open': rightDockOpen,\n\t\t\t\t'can-drag': windowConfig.canDrag && isFloating,\n\t\t\t\t'fullscreen-view': properties.isFullscreenView,\n\t\t\t\t[properties.windowConfig.variant || 'secondary']: true,\n\t\t\t\t'fit-content': properties.windowConfig.fitContent,\n\t\t\t\t'use-flex': properties.windowConfig.useFlexContentLayout,\n\t\t\t\t'auto-resize':\n\t\t\t\t\tproperties.windowConfig.autoResizableConfig\n\t\t\t\t\t\t?.enableAutoResizableHeight,\n\t\t\t}}\n\t\t\t{...(configAria.dialog || {})}\n\t\t\thook-insert={(element) => {\n\t\t\t\tif (!properties.isMinimized) {\n\t\t\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t\t\tcreateMutationObserver(\n\t\t\t\t\t\t\telement,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tmutationObserver,\n\t\t\t\t\t\t\tresizeObserver,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\thook-remove={(element) => {\n\t\t\t\tproperties.mutationObserver?.disconnect();\n\t\t\t\tproperties.resizeObserver?.disconnect();\n\n\t\t\t\tupdateProperties({\n\t\t\t\t\tmutationObserver: null,\n\t\t\t\t\tresizeObserver: null,\n\t\t\t\t});\n\n\t\t\t\telement.elm.remove();\n\t\t\t}}\n\t\t>\n\t\t\t{/* {DockedWindow({state, dispatch, updateProperties})} */}\n\t\t\t<DockedWindow\n\t\t\t\tstate={state}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tupdateState={updateState}\n\t\t\t\tnavRef={navRef}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_3_4_index_jsdbx_e03584c6__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_modal_27_0_2_index_jsdbx_c4a549cb__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_27_0_2_index_jsdbx_18658927__[\"default\"][\"default\"];\n\t\t\t\t} });","import {SN_WINDOW_END_DRAG} from '../../actions';\n/* eslint-disable no-use-before-define */\nimport {shiftTo, resetWindowSize} from './helpers';\n\nexport const startDrag = (coeffects, e) => {\n\tconst {updateState, state, dispatch, host} = coeffects;\n\n\tif (e.buttons === 0) {\n\t\tendDrag(coeffects, e);\n\t\treturn;\n\t}\n\n\t// Hide tooltips when drag starts\n\tconst buttons = host.shadowRoot.querySelectorAll('now-button');\n\tbuttons.forEach((button) => {\n\t\tconst tooltip = button.shadowRoot?.querySelector('now-tooltip');\n\t\tif (tooltip) {\n\t\t\ttooltip.content = null;\n\t\t}\n\t});\n\n\tif (state.properties.windowConfig.fitContent) {\n\t\t// Recalculate the size before we remove fit-content class\n\t\tresetWindowSize(state.dragContainerElement);\n\t\tstate.dragContainerElement.classList.remove('fit-content');\n\t}\n\n\tconst containerBounds = state.dragContainerElement.getBoundingClientRect();\n\tconst offsetX = e.clientX - containerBounds.left;\n\tconst offsetY = e.clientY - containerBounds.top;\n\n\tconst bottomToolbarComponent = state.properties.bottomToolbarComponent;\n\tconst toolbar = bottomToolbarComponent.shadowRoot.querySelector(\n\t\t'.sn-window-manager-toolbar',\n\t);\n\n\tconst dragHandler = (event) => {\n\t\tif (event.buttons === 0) {\n\t\t\twindow.removeEventListener('mousemove', dragHandler);\n\t\t\tdispatch(SN_WINDOW_END_DRAG, {\n\t\t\t\tmouseEvent: event,\n\t\t\t\twindowConfig: state.windowConfig,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\t// Hide tooltips during drag movement\n\t\tconst buttons = host.shadowRoot.querySelectorAll('now-button');\n\t\tbuttons.forEach((button) => {\n\t\t\tconst tooltip = button.shadowRoot?.querySelector('now-tooltip');\n\t\t\tif (tooltip) {\n\t\t\t\ttooltip.content = null;\n\t\t\t}\n\t\t});\n\n\t\tshiftTo(\n\t\t\tstate.dragContainerElement,\n\t\t\tevent.pageX - offsetX,\n\t\t\tevent.pageY - offsetY,\n\t\t\tstate.properties.dialogSize,\n\t\t\tstate.properties.dialogLocation,\n\t\t\ttoolbar,\n\t\t);\n\t};\n\n\twindow.addEventListener('mousemove', dragHandler);\n\n\tconst onMouseUp = (e) => {\n\t\tdispatch(SN_WINDOW_END_DRAG, {\n\t\t\tmouseEvent: e,\n\t\t\twindowConfig: state.windowConfig,\n\t\t});\n\t\tdocument.removeEventListener('mouseup', onMouseUp);\n\t};\n\tdocument.addEventListener('mouseup', onMouseUp);\n\n\tshiftTo(\n\t\tstate.dragContainerElement,\n\t\te.pageX - offsetX,\n\t\te.pageY - offsetY,\n\t\tstate.properties.dialogSize,\n\t\tstate.properties.dialogLocation,\n\t\ttoolbar,\n\t);\n\n\tupdateState({\n\t\tisDragging: true,\n\t\tdragHandler,\n\t\tmouseOffsetX: offsetX,\n\t\tmouseOffsetY: offsetY,\n\t});\n};\n\nexport const endDrag = (coeffects) => {\n\tconst {updateState, state} = coeffects;\n\n\twindow.removeEventListener('mousemove', state.dragHandler);\n\n\tupdateState({\n\t\tisDragModeEnabled: false,\n\t\tisDragging: false,\n\t\tdragHandler: null,\n\t\tmouseOffsetX: 0,\n\t\tmouseOffsetY: 0,\n\t});\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tSN_WINDOW_START_DRAG,\n\tSN_WINDOW_END_DRAG,\n\tSN_WINDOW_KEY_PRESSED,\n} from '../actions';\nimport {startDrag, endDrag} from './utils/mouse-events';\nimport {keyPressed} from './utils/keyboard-events';\nimport {\n\tFOCUS_WINDOW,\n\tUXF_FOCUS_WINDOW,\n} from '../../sn-window-manager/utilities/actions';\nimport {\n\thandleModelessMousedown,\n\thandleModelessMouseup,\n} from '../../sn-window-manager/utilities';\n\nconst {COMPONENT_DOM_TREE_READY} = actionTypes;\n\nexport default {\n\tname: 'drag-behavior',\n\tinitialState: {\n\t\tisDragModeEnabled: false,\n\t\tisDragging: false,\n\t\tdragHandleElement: null,\n\t\tdragContainerElement: null,\n\t\tmouseOffsetX: 0,\n\t\tmouseOffsetY: 0,\n\t\t__mousedownListener__: null,\n\t\t__keydownListener__: null,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: (coeffects) => {\n\t\t\tconst {updateState, host, state, dispatch} = coeffects;\n\t\t\tconst {properties} = state;\n\n\t\t\tif (properties.windowConfig.canDrag) {\n\t\t\t\tconst dragHandle = host.shadowRoot.querySelector('.header');\n\t\t\t\tconst dragContainer = host.shadowRoot.querySelector(\n\t\t\t\t\t'.now-modeless-dialog',\n\t\t\t\t);\n\n\t\t\t\t// Remove old listeners to prevent accumulation\n\t\t\t\tif (state.__mousedownListener__ && state.dragHandleElement) {\n\t\t\t\t\tstate.dragHandleElement.removeEventListener(\n\t\t\t\t\t\t'mousedown',\n\t\t\t\t\t\tstate.__mousedownListener__,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (state.__keydownListener__ && state.dragContainerElement) {\n\t\t\t\t\tstate.dragContainerElement.removeEventListener(\n\t\t\t\t\t\t'keydown',\n\t\t\t\t\t\tstate.__keydownListener__,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst nonDragElements = ['button', 'toggle', 'link'];\n\t\t\t\tconst isDraggable = (element) =>\n\t\t\t\t\telement.id === 'drag-button' ||\n\t\t\t\t\t!(\n\t\t\t\t\t\telement.tagName?.startsWith('NOW-') ||\n\t\t\t\t\t\tnonDragElements.some((nonDragTag) =>\n\t\t\t\t\t\t\telement.tagName?.toLowerCase().includes(nonDragTag),\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\tnonDragElements.some((nonDragRole) =>\n\t\t\t\t\t\t\telement.role?.toLowerCase().includes(nonDragRole),\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\tconst keydownListener = (e) => {\n\t\t\t\t\tif (properties.windowConfig.canDrag && isDraggable(e.target)) {\n\t\t\t\t\t\tdispatch(SN_WINDOW_KEY_PRESSED, {\n\t\t\t\t\t\t\tkeyEvent: e,\n\t\t\t\t\t\t\twindowConfig: properties.windowConfig,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst mousedownListener = (e) => {\n\t\t\t\t\tif (e.button === 0 && isDraggable(e.target)) {\n\t\t\t\t\t\tdispatch(SN_WINDOW_START_DRAG, {\n\t\t\t\t\t\t\tmouseEvent: e,\n\t\t\t\t\t\t\twindowConfig: properties.windowConfig,\n\t\t\t\t\t\t});\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tdragContainer.addEventListener('keydown', keydownListener);\n\t\t\t\tdragHandle.addEventListener('mousedown', mousedownListener);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tdragHandleElement: dragHandle,\n\t\t\t\t\tdragContainerElement: dragContainer,\n\t\t\t\t\tisDragModeEnabled: false,\n\t\t\t\t\tisDragging: false,\n\t\t\t\t\t__mousedownListener__: mousedownListener,\n\t\t\t\t\t__keydownListener__: keydownListener,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[SN_WINDOW_START_DRAG]: (coeffects) => {\n\t\t\tconst {action, dispatch, state} = coeffects;\n\t\t\tconst {payload} = action;\n\t\t\tconst {properties} = state;\n\t\t\tif (properties.windowConfig.isUXFWindow) {\n\t\t\t\tdispatch(UXF_FOCUS_WINDOW, {windowConfig: properties.windowConfig});\n\t\t\t} else {\n\t\t\t\tdispatch(FOCUS_WINDOW, {windowConfig: properties.windowConfig});\n\t\t\t}\n\t\t\tif (\n\t\t\t\t!state.isDragModeEnabled &&\n\t\t\t\t!state.isDragging &&\n\t\t\t\tproperties.isFloating\n\t\t\t) {\n\t\t\t\tstartDrag(coeffects, payload.mouseEvent);\n\t\t\t\thandleModelessMousedown(coeffects);\n\t\t\t}\n\t\t},\n\t\t[SN_WINDOW_END_DRAG]: (coeffects) => {\n\t\t\tconst {state} = coeffects;\n\t\t\tconst {properties} = state;\n\n\t\t\tif (properties.windowConfig.canDrag && state.isDragging) {\n\t\t\t\thandleModelessMouseup(coeffects);\n\t\t\t\tendDrag(coeffects);\n\t\t\t}\n\t\t},\n\t\t[SN_WINDOW_KEY_PRESSED]: (coeffects) => {\n\t\t\tconst {action, dispatch, state} = coeffects;\n\t\t\tconst {payload} = action;\n\t\t\tconst {properties} = state;\n\t\t\tif (properties.windowConfig.canDrag && state.isDragModeEnabled) {\n\t\t\t\tconst bottomToolbarComponent = properties.bottomToolbarComponent;\n\t\t\t\tconst toolbar = bottomToolbarComponent.shadowRoot.querySelector(\n\t\t\t\t\t'.sn-window-manager-toolbar',\n\t\t\t\t);\n\t\t\t\tkeyPressed(payload.keyEvent, state, dispatch, toolbar);\n\t\t\t}\n\t\t},\n\t\t['TOGGLE_DRAG_MODE']({\n\t\t\taction: {\n\t\t\t\tpayload: {enabled},\n\t\t\t},\n\t\t\tstate: {isDragModeEnabled = false},\n\t\t\tupdateState,\n\t\t}) {\n\t\t\tconst dragModeEnabled = enabled ?? !isDragModeEnabled;\n\t\t\tupdateState({isDragModeEnabled: dragModeEnabled});\n\t\t},\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './styles.scss';\nimport view from './sn-window.view';\nimport {actionHandlers, eventHandlers} from './sn-window.effects';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport modalBehavior from '@servicenow/behavior-modal';\nimport resizableBehavior from '@servicenow/behavior-resizable';\nimport dragBehavior from './behaviors/drag-behavior';\n\ncreateCustomElement('sn-window', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\twindowConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\twindowsState: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\twindowsList: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\t// Dimensions of the *entire* window, i.e. browser\n\t\tbrowserDimensions: {\n\t\t\tdefault: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tdialogSize: {\n\t\t\tdefault: {\n\t\t\t\twidth: 320,\n\t\t\t\theight: 480,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tdialogLocation: {\n\t\t\tdefault: {\n\t\t\t\ttop: -1,\n\t\t\t\tleft: -1,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tdockedWindowSize: {\n\t\t\tdefault: 320,\n\t\t\tschema: {type: 'number'},\n\t\t},\n\t\tmodalSize: {\n\t\t\tdefault: {\n\t\t\t\twidth: '95%',\n\t\t\t\theight: '85%',\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tstyleObj: {\n\t\t\tdefault: {\n\t\t\t\ttop: '0px',\n\t\t\t\tleft: '0px',\n\t\t\t\twidth: '0px',\n\t\t\t\theight: '0px',\n\t\t\t\ttransform: 'scale(0)',\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tmutationObserver: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tresizeObserver: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tportalType: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tisDocked: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisMinimized: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisActive: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisModal: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisOpen: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisHidden: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisFloating: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisDirty: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t// For smaller screens, we need to use a touch-enhanced UI\n\t\tisSmallScreen: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tcontentElement: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tslottedHeading: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tslottedActions: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tslottedContent: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tslottedFooter: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\tstateWhenClosed: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tisAnimating: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisFullscreenView: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tcurrentState: {\n\t\t\tdefault: 'closed',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tlastState: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tcanResize: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t// Number of available panels for the window to display\n\t\t// 1: only chat or canvas\n\t\t// 2: chat/history + canvas\n\t\t// 3: chat + history + canvas\n\t\tavailablePanels: {\n\t\t\tdefault: 1,\n\t\t\tschema: {type: 'number'},\n\t\t},\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tcomputed({properties: {isOpen}}) {\n\t\t\t\treturn isOpen;\n\t\t\t},\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tbottomToolbarComponent: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tresizableConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableResizable: {type: 'boolean'},\n\t\t\t\t\tresizableMinWidth: {type: 'number'},\n\t\t\t\t\tresizableMinHeight: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tresizableMaxWidth: {\n\t\t\t\t\t\ttype: ['number', 'null'],\n\t\t\t\t\t},\n\t\t\t\t\tresizableMaxHeight: {\n\t\t\t\t\t\ttype: ['number', 'null'],\n\t\t\t\t\t},\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['normal', 'fixed', 'float'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tmaxWindowSizePercentage: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\n\t\tfullscreenViewConfig: {\n\t\t\tdefault: {\n\t\t\t\tmodalThresholds: {\n\t\t\t\t\twidth: 641,\n\t\t\t\t\theight: -1,\n\t\t\t\t},\n\t\t\t\tstandardThresholds: {\n\t\t\t\t\twidth: 421,\n\t\t\t\t\theight: 650,\n\t\t\t\t},\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tmodalThresholds: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\twidth: {type: 'number'},\n\t\t\t\t\t\t\theight: {type: 'number'},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tstandardThresholds: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\twidth: {type: 'number'},\n\t\t\t\t\t\t\theight: {type: 'number'},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tanimationsDisabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tconfigAria: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tisMessageUnread: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisChatPrivate: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tscreenInfo: {\n\t\t\tdefault: {\n\t\t\t\tscreenKey: null,\n\t\t\t\tinstanceId: null,\n\t\t\t\texperienceId: null,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t},\n\tsetInitialState({properties}) {\n\t\treturn {\n\t\t\tcontentElement: null,\n\t\t\tisDragModeEnabled: false,\n\t\t};\n\t},\n\tactionHandlers: actionHandlers,\n\teventHandlers: eventHandlers,\n\tbehaviors: [\n\t\t{behavior: rtlBehavior},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {trap: true},\n\t\t},\n\t\t{\n\t\t\tbehavior: modalBehavior,\n\t\t\toptions: {\n\t\t\t\tlimit: 'sn-window',\n\t\t\t\twatchPropertyName: 'isModal',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: dragBehavior,\n\t\t\toptions: {\n\t\t\t\tdragHandle: '.header',\n\t\t\t\tdragContainer: '.now-modeless-dialog',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: resizableBehavior,\n\t\t\toptions: {\n\t\t\t\tresizeTarget: '.now-modeless-dialog',\n\t\t\t\tcontainer: '.now-modeless-dialog',\n\t\t\t\tgetResizableConfig: ({properties}) => ({\n\t\t\t\t\t...properties.windowConfig.resizableConfig,\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\t],\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","/* eslint-disable no-console */\nimport {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\nimport '@servicenow/now-button';\nimport {\n\tTOGGLE_DOCK,\n\tCREATE_WINDOW,\n\tUXF_CREATE_MODELESS_WINDOW,\n\tOPEN_WINDOW,\n\tRELAY_MESSAGE,\n\tSET_HEADER_BUTTONS,\n} from '../utilities/actions';\nimport {ButtonsPanel} from '../../sn-window/fragments/buttonPanel';\nimport styles from './debug-styles.scss';\nimport {PORTAL_TYPES} from '../utilities/constants';\nimport {SN_WINDOW_CLOSED, SN_WINDOW_CREATED} from '../../sn-window/actions';\n\nexport const POLARIS_CONTEXT = {\n\texperienceName: 'Unified Navigation App',\n\tpath: 'now/nav/ui',\n};\nexport const CLASSIC_ROUTE = '/classic/params/target/';\nexport const CLASSIC = 'classic';\n\nconst defaultWindowOptions = {\n\tcanDock: true,\n\tcanMinimize: true,\n\tcanMaximize: true,\n\tcanToggleModal: true,\n\tcanDrag: true,\n\tcanResize: true,\n\tcanClose: true,\n};\n\nconst view = (coeffects, {dispatch, updateState}) => {\n\tconst {properties} = coeffects;\n\n\tconst isBottomDocked =\n\t\tproperties.windowsState.bottomDockId === 'debug-panel-window';\n\tconst isLeftDocked =\n\t\tproperties.windowsState.leftDockId === 'debug-panel-window';\n\tconst isRightDocked =\n\t\tproperties.windowsState.rightDockId === 'debug-panel-window';\n\tconst buttonSize =\n\t\tproperties.portalType === PORTAL_TYPES.SERVICE_PORTAL ? 'lg' : 'sm';\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'debug-panel': true,\n\t\t\t\t'bottom-docked': isBottomDocked,\n\t\t\t\t'side-docked': isLeftDocked || isRightDocked,\n\t\t\t\t'hide-buttons': !properties.showTopButtons,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={`debug-controls ${properties.showTopButtons ? '' : 'hidden'}`}\n\t\t\t>\n\t\t\t\t<h3>animation state<\/h3>\n\t\t\t\t{properties.isAnimating\n\t\t\t\t\t? `Animating ${properties.lastState} to ${properties.currentState} transition`\n\t\t\t\t\t: `Not Animating ${properties.currentState}`}\n\t\t\t\t<h3>Dock areas<\/h3>\n\t\t\t\t<span className=\"button-panel\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\tproperties.windowsState.leftDockId !== null\n\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t: 'secondary'\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(TOGGLE_DOCK, {\n\t\t\t\t\t\t\t\twindowConfig: {\n\t\t\t\t\t\t\t\t\tid: 'debug-panel-window',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdockLocation: 'left',\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\tLeft Dock\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\tproperties.windowsState.bottomDockId !== null\n\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t: 'secondary'\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(TOGGLE_DOCK, {\n\t\t\t\t\t\t\t\twindowConfig: {\n\t\t\t\t\t\t\t\t\tid: 'debug-panel-window',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdockLocation: 'bottom',\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\tBottom Dock\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\tproperties.windowsState.rightDockId !== null\n\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t: 'secondary'\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(TOGGLE_DOCK, {\n\t\t\t\t\t\t\t\twindowConfig: {\n\t\t\t\t\t\t\t\t\tid: 'debug-panel-window',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdockLocation: 'right',\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\tRight Dock\n\t\t\t\t\t<\/now-button>\n\t\t\t\t<\/span>\n\n\t\t\t\t<h3>Window Controls<\/h3>\n\t\t\t\t<span className=\"button-panel\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('NAV_ITEM_SELECTED', {\n\t\t\t\t\t\t\t\tcontext: POLARIS_CONTEXT,\n\t\t\t\t\t\t\t\troute: CLASSIC,\n\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\ttarget: 'sys_user.do?sys_id=' + 12345 + '&sysparm_view=ess',\n\t\t\t\t\t\t\t\t},\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\tNAV_ITEM_SELECTED\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('CONTEXTUAL_MENU#SELECTED', {\n\t\t\t\t\t\t\t\tmenuId: 'userMenu',\n\t\t\t\t\t\t\t\tbuttonConfig: {\n\t\t\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\t\t\tid: 'user-menu',\n\t\t\t\t\t\t\t\t\ttooltipContent: 'Show user menu',\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tcontextualMenuType: 'userMenu',\n\t\t\t\t\t\t\t\t\t\tcontextualMenuHeaderText: 'User',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdispatchedAction: 'AVATAR_ICON#CLICKED',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdispatchedAction: 'AVATAR_ICON#CLICKED',\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\tOpen User Menu\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\tid: 'closed-window1',\n\t\t\t\t\t\t\t\ttitle: `Closed Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\tisOpen: false,\n\t\t\t\t\t\t\t\tisPersistent: true,\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Closed Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tNew Closed Window\n\t\t\t\t\t<\/now-button>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\tstartingState: 'docked-right',\n\t\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t\t\t...defaultWindowOptions,\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Temp Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tNew Docked Window\n\t\t\t\t\t<\/now-button>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Now Assist`,\n\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\tvariant: 'aiex',\n\t\t\t\t\t\t\t\tcanResize: true,\n\t\t\t\t\t\t\t\theaderIcon: {\n\t\t\t\t\t\t\t\t\ticon: 'ai-sparkle-fill',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...defaultWindowOptions,\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Temp Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tAIEX variant window\n\t\t\t\t\t<\/now-button>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Global Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t\t\t...defaultWindowOptions,\n\t\t\t\t\t\t\t\tdockConfig: {\n\t\t\t\t\t\t\t\t\tdockLeft: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Temp Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tNew Temp Global Window\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(UXF_CREATE_MODELESS_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Scoped Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\tscreenKey: nowWindowManager.screenInfo.screenKey,\n\t\t\t\t\t\t\t\texperienceId: nowWindowManager.screenInfo.experienceId,\n\t\t\t\t\t\t\t\tmodelessProps: {\n\t\t\t\t\t\t\t\t\t...defaultWindowOptions,\n\t\t\t\t\t\t\t\t\tcanClose: true,\n\t\t\t\t\t\t\t\t\toffset: '[24,24]',\n\t\t\t\t\t\t\t\t\tenableDrag: true,\n\t\t\t\t\t\t\t\t\tcanMinimize: true,\n\t\t\t\t\t\t\t\t\theadingLabel: `Window scoped to ${nowWindowManager.screenInfo.screenKey}`,\n\t\t\t\t\t\t\t\t\tmanageOpened: true,\n\t\t\t\t\t\t\t\t\topened: true,\n\t\t\t\t\t\t\t\t\tvariant: 'initial',\n\t\t\t\t\t\t\t\t\twidth: 600,\n\t\t\t\t\t\t\t\t\tposition: 'bottom-right',\n\t\t\t\t\t\t\t\t\theight: 498,\n\t\t\t\t\t\t\t\t\tcanMaximize: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\topts: {\n\t\t\t\t\t\t\t\t\tinstanceId: nowWindowManager.screenInfo.instanceId,\n\t\t\t\t\t\t\t\t\tisDirty: false,\n\t\t\t\t\t\t\t\t\topened: true,\n\t\t\t\t\t\t\t\t\tdialogTitle: `Window scoped to ${nowWindowManager.screenInfo.screenKey}`,\n\t\t\t\t\t\t\t\t\tminimizedTitle: `Minimized ${nowWindowManager.screenInfo.screenKey}`,\n\t\t\t\t\t\t\t\t\tcategory: 'Test Scope Window',\n\t\t\t\t\t\t\t\t\tposition: 'centered',\n\t\t\t\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\t\t\t\teventInfo: {\n\t\t\t\t\t\t\t\t\t\t\tsourceElementId:\n\t\t\t\t\t\t\t\t\t\t\t\t'f18548cf50d64637b6354728f-modeless_dialog_controller',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\telementId: 'modeless_dialog_controller',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thideOthers: false,\n\t\t\t\t\t\t\t\t\tsingleInstance: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontentRef: {\n\t\t\t\t\t\t\t\t\tcomponent: null,\n\t\t\t\t\t\t\t\t},\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\tNew Temp Scoped Window\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant=\"\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\tisPersistent: true,\n\t\t\t\t\t\t\t\t...defaultWindowOptions,\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Persistent Window ${\n\t\t\t\t\t\t\t\t\t\t\tproperties.windowsList.length + 1\n\t\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tNew Persistant Window\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant=\"\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Modal Window ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\tisPersistent: false,\n\t\t\t\t\t\t\t\tstartingState: 'modal',\n\t\t\t\t\t\t\t\theaderIcon: {\n\t\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\t\tvariant: 'initial',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmodalSize: {\n\t\t\t\t\t\t\t\t\twidth: '50%',\n\t\t\t\t\t\t\t\t\theight: '50%',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdialogSize: {\n\t\t\t\t\t\t\t\t\twidth: 550,\n\t\t\t\t\t\t\t\t\theight: 420,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'test-content',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Persistent Window ${\n\t\t\t\t\t\t\t\t\t\t\tproperties.windowsList.length + 1\n\t\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tSmall Complex Modal Window\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant=\"\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Basic Modal ${properties.windowsList.length + 1}`,\n\t\t\t\t\t\t\t\tisPersistent: true,\n\t\t\t\t\t\t\t\tstartingState: 'modal',\n\t\t\t\t\t\t\t\tcanDock: false,\n\t\t\t\t\t\t\t\tcanMinimize: false,\n\t\t\t\t\t\t\t\tcanMaximize: false,\n\t\t\t\t\t\t\t\tcanToggleModal: false,\n\t\t\t\t\t\t\t\tcanDrag: false,\n\t\t\t\t\t\t\t\tcanResize: false,\n\t\t\t\t\t\t\t\tcanClose: true,\n\t\t\t\t\t\t\t\t// fitContent: true,\n\t\t\t\t\t\t\t\theaderIcon: {\n\t\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\t\tvariant: 'initial',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmodalSize: {\n\t\t\t\t\t\t\t\t\twidth: '60%',\n\t\t\t\t\t\t\t\t\theight: '60%',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tautoResizableConfig: {\n\t\t\t\t\t\t\t\t\tautoResizableMaxHeight: 800,\n\t\t\t\t\t\t\t\t\tenableAutoResizableHeight: true,\n\t\t\t\t\t\t\t\t\tautoResizableMinHeight: 470,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'iframe',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttitle: `Persistent basic modal window`,\n\t\t\t\t\t\t\t\t\t\tsrc: '/incident.do?sys_id=e329de99731423002728660c4cf6a73c',\n\t\t\t\t\t\t\t\t\t\twidth: '700px',\n\t\t\t\t\t\t\t\t\t\theight: '800px',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tNew Large Modal Window\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tvariant=\"\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `INC0009004`,\n\t\t\t\t\t\t\t\tisPersistent: false,\n\t\t\t\t\t\t\t\tposition: 'centered',\n\t\t\t\t\t\t\t\tmodalSize: {\n\t\t\t\t\t\t\t\t\twidth: '95%',\n\t\t\t\t\t\t\t\t\theight: '95%',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdialogSize: {\n\t\t\t\t\t\t\t\t\twidth: 550,\n\t\t\t\t\t\t\t\t\theight: 420,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'iframe',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\tsrc: '/incident.do?sys_id=e329de99731423002728660c4cf6a73c',\n\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t\t\tdialogSize: {\n\t\t\t\t\t\t\t\t\t\t\twidth: 500,\n\t\t\t\t\t\t\t\t\t\t\theight: 600,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tNew Iframed Form\n\t\t\t\t\t<\/now-button>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('HEADER_TOGGLE_SET');\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t>\n\t\t\t\t\t\tHide Buttons\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(CREATE_WINDOW, {\n\t\t\t\t\t\t\t\ttitle: `Header Buttons Example`,\n\t\t\t\t\t\t\t\ticon: 'globe-outline',\n\t\t\t\t\t\t\t\tcanDock: false,\n\t\t\t\t\t\t\t\tcanMinimize: false,\n\t\t\t\t\t\t\t\tcanMaximize: false,\n\t\t\t\t\t\t\t\tcanToggleModal: false,\n\t\t\t\t\t\t\t\tcanDrag: true,\n\t\t\t\t\t\t\t\tcanResize: true,\n\t\t\t\t\t\t\t\tcanClose: true,\n\t\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t\t\tdialogSize: {\n\t\t\t\t\t\t\t\t\twidth: 640,\n\t\t\t\t\t\t\t\t\theight: 220,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\tcomponent: 'header-button-example',\n\t\t\t\t\t\t\t\t},\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\tHeader Buttons Example\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('SN_WINDOW#SET_WINDOW_SIZE', {width: 400});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t>\n\t\t\t\t\t\tMake Window 400px wide\n\t\t\t\t\t<\/now-button>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('SN_WINDOW#SET_WINDOW_SIZE', {width: 800});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t>\n\t\t\t\t\t\tMake Window 800px wide\n\t\t\t\t\t<\/now-button>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\n\t\t\t<div className=\"debug-windows-list\">\n\t\t\t\t<h3>Window List<\/h3>\n\t\t\t\t<span className=\"window-list\">\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t{properties.windowsList.map((currentWindow, index) => {\n\t\t\t\t\t\t\tconst resolvedProps = currentWindow.component;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li key={index}>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.info('Window Clicked', {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\twindowConfig: currentWindow,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tdispatch(OPEN_WINDOW, {windowConfig: currentWindow});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{currentWindow.headingLabel}\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<ButtonsPanel\n\t\t\t\t\t\t\t\t\t\tproperties={resolvedProps}\n\t\t\t\t\t\t\t\t\t\twindowsState={properties.windowsState}\n\t\t\t\t\t\t\t\t\t\twindowConfig={currentWindow}\n\t\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t<\/ul>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('debug-panel', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tstyles,\n\tproperties: {\n\t\ttitle: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tdialogSize: {\n\t\t\tdefault: {\n\t\t\t\twidth: 640,\n\t\t\t\theight: 480,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\twindowsList: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\twindowsState: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tportalType: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\theaderButtons: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\tshowTopButtons: {\n\t\t\tdefault: true,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisAnimating: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tcurrentState: {\n\t\t\tdefault: 'closed',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tlastState: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_CONNECTED]: ({dispatch, updateProperties}) => {\n\t\t\t// define what buttons we want to show in the header on the sn-window\n\t\t\tupdateProperties({\n\t\t\t\theaderButtons: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'icon',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tlabel: t('Broadcast Message'),\n\t\t\t\t\t\t\ttooltipContent: t('Broadcast Message'),\n\t\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\t\ticon: 'broadcast-tower-outline',\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\tconsole.info('Test button clicked');\n\t\t\t\t\t\t\t\tdispatch(RELAY_MESSAGE, {\n\t\t\t\t\t\t\t\t\ttype: 'command',\n\t\t\t\t\t\t\t\t\tcommand: 'bumpCounter',\n\t\t\t\t\t\t\t\t});\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{\n\t\t\t\t\t\ttype: 'toggle',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tlabel: t('Hide Buttons'),\n\t\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\t\t'manage-checked': true,\n\t\t\t\t\t\t\tchecked: true,\n\t\t\t\t\t\t\tsize: 'sm',\n\t\t\t\t\t\t\ttooltip: t('Hide Window Control Buttons'),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\tconsole.info('Test button clicked');\n\t\t\t\t\t\t\t\tdispatch('HEADER_TOGGLE_SET');\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],\n\t\t\t});\n\t\t},\n\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload},\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\n\t\t\tswitch (payload.name) {\n\t\t\t\tcase 'headerButtons': {\n\t\t\t\t\t// relay header buttons to parent sn-window component\n\t\t\t\t\tdispatch(SET_HEADER_BUTTONS, {headerButtons: payload.value});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t['HANDLE_BUTTON_CLICK']: ({state, updateProperties}) => {\n\t\t\tupdateProperties({\n\t\t\t\tviewCount: state.properties.viewCount + 1,\n\t\t\t});\n\t\t},\n\t\t['PROPERTY_CHANGED']: () => {\n\t\t\t// console.info('DEBUG_PANEL - Property changed', action.payload);\n\t\t},\n\t\t['HANDLE_MESSAGE']: ({state, action, updateProperties}) => {\n\t\t\tconst {payload} = action;\n\n\t\t\tswitch (payload.type) {\n\t\t\t\tcase 'command': {\n\t\t\t\t\tswitch (payload.command) {\n\t\t\t\t\t\tcase 'bumpCounter': {\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tviewCount: state.properties.viewCount + 1,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\tconsole.warn('DEBUG_PANEL - Unknown command', payload.command);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'propertyChanged': {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t['HEADER_TOGGLE_SET']: (coeffects) => {\n\t\t\tconsole.info('debug-window - NOW_TOGGLE#CHECKED_SET');\n\t\t\tconst {state, updateProperties} = coeffects;\n\t\t\tconst {properties} = state;\n\t\t\tconst newButtons = [...properties.headerButtons];\n\n\t\t\tnewButtons[1].properties.checked = !properties.showTopButtons;\n\n\t\t\tupdateProperties({\n\t\t\t\tshowTopButtons: !properties.showTopButtons,\n\t\t\t\theaderButtons: newButtons,\n\t\t\t});\n\t\t},\n\t\t[SN_WINDOW_CLOSED]: (coeffects) => {\n\t\t\tconsole.info('debug-window - SN_WINDOW_CLOSED', coeffects);\n\t\t},\n\t\t[SN_WINDOW_CREATED]: (coeffects) => {\n\t\t\tconsole.info('debug-window - SN_WINDOW_CREATED', coeffects);\n\t\t},\n\t},\n});\n","const VIEWPORT_PADDING = 16;\nconst MIN_BUTTON_WIDTH = 130;\nconst MAX_BUTTON_WIDTH = 180;\nconst OVERFLOW_BUTTON_WIDTH = 60;\n\n/**\n * Distributes available button slots between two zones (global and scoped windows).\n * Attempts to balance the zones evenly, with priority given to the zone that's further from its target.\n *\n * Algorithm:\n * 1. If zones have equal counts, split slots 50/50 (with remainder going to zone 1 if needed)\n * 2. Otherwise, fill each zone toward half of available slots, alternating based on which has the larger gap\n * 3. Distribute any remaining slots proportionally based on zone counts\n * 4. Assign any final leftover slots alternating between zones\n */\nconst allocateSlots = (\n\tzone1ButtonCount,\n\tzone2ButtonCount,\n\tmaxVisibleButtons,\n) => {\n\tif (maxVisibleButtons <= 0) {\n\t\treturn {zone1VisibleCount: 0, zone2VisibleCount: 0};\n\t}\n\n\t// If one zone is empty, all slots go to the other zone\n\tif (zone1ButtonCount === 0) {\n\t\treturn {\n\t\t\tzone1VisibleCount: 0,\n\t\t\tzone2VisibleCount: Math.min(zone2ButtonCount, maxVisibleButtons),\n\t\t};\n\t}\n\tif (zone2ButtonCount === 0) {\n\t\treturn {\n\t\t\tzone1VisibleCount: Math.min(zone1ButtonCount, maxVisibleButtons),\n\t\t\tzone2VisibleCount: 0,\n\t\t};\n\t}\n\n\t// If zones have equal counts, split evenly\n\tif (zone1ButtonCount === zone2ButtonCount) {\n\t\tconst halfOfSlots = Math.floor(maxVisibleButtons / 2);\n\t\tconst zone1VisibleCount = Math.min(zone1ButtonCount, halfOfSlots);\n\t\tconst zone2VisibleCount = Math.min(zone2ButtonCount, halfOfSlots);\n\n\t\t// If odd number of slots and both zones can use more, give remainder to zone 1\n\t\tif (\n\t\t\tmaxVisibleButtons % 2 === 1 &&\n\t\t\tzone1VisibleCount < zone1ButtonCount &&\n\t\t\tzone2VisibleCount < zone2ButtonCount &&\n\t\t\tzone1VisibleCount + zone2VisibleCount < maxVisibleButtons\n\t\t) {\n\t\t\treturn {zone1VisibleCount: zone1VisibleCount + 1, zone2VisibleCount};\n\t\t}\n\t\treturn {zone1VisibleCount, zone2VisibleCount};\n\t}\n\n\t// Balance zones toward half of available slots\n\tlet zone1VisibleCount = 0;\n\tlet zone2VisibleCount = 0;\n\tconst targetSlotsPerZone = Math.floor(maxVisibleButtons / 2);\n\n\t// Fill each zone toward its target, alternating based on which needs more\n\twhile (\n\t\t(zone1VisibleCount < targetSlotsPerZone ||\n\t\t\tzone2VisibleCount < targetSlotsPerZone) &&\n\t\tzone1VisibleCount + zone2VisibleCount < maxVisibleButtons\n\t) {\n\t\tconst zone1Gap = targetSlotsPerZone - zone1VisibleCount;\n\t\tconst zone2Gap = targetSlotsPerZone - zone2VisibleCount;\n\n\t\t// Give slot to the zone that's further from its target and has buttons remaining\n\t\tif (zone1Gap > zone2Gap && zone1VisibleCount < zone1ButtonCount) {\n\t\t\tzone1VisibleCount++;\n\t\t} else if (zone2Gap > zone1Gap && zone2VisibleCount < zone2ButtonCount) {\n\t\t\tzone2VisibleCount++;\n\t\t} else if (\n\t\t\tzone1VisibleCount < targetSlotsPerZone &&\n\t\t\tzone1VisibleCount < zone1ButtonCount\n\t\t) {\n\t\t\tzone1VisibleCount++;\n\t\t} else if (\n\t\t\tzone2VisibleCount < targetSlotsPerZone &&\n\t\t\tzone2VisibleCount < zone2ButtonCount\n\t\t) {\n\t\t\tzone2VisibleCount++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Distribute remaining slots proportionally based on zone counts\n\tconst remainingSlots =\n\t\tmaxVisibleButtons - zone1VisibleCount - zone2VisibleCount;\n\tif (remainingSlots > 0) {\n\t\tconst totalButtonCount = zone1ButtonCount + zone2ButtonCount;\n\t\tzone1VisibleCount = Math.min(\n\t\t\tzone1ButtonCount,\n\t\t\tMath.min(\n\t\t\t\tzone1VisibleCount +\n\t\t\t\t\tMath.floor((remainingSlots * zone1ButtonCount) / totalButtonCount),\n\t\t\t\tmaxVisibleButtons - zone2VisibleCount,\n\t\t\t),\n\t\t);\n\t\tzone2VisibleCount = Math.min(\n\t\t\tzone2ButtonCount,\n\t\t\tMath.min(\n\t\t\t\tzone2VisibleCount +\n\t\t\t\t\tMath.floor((remainingSlots * zone2ButtonCount) / totalButtonCount),\n\t\t\t\tmaxVisibleButtons - zone1VisibleCount,\n\t\t\t),\n\t\t);\n\n\t\t// Assign any final leftover slots alternating between zones\n\t\tconst leftoverSlots =\n\t\t\tmaxVisibleButtons - zone1VisibleCount - zone2VisibleCount;\n\t\tif (leftoverSlots > 0) {\n\t\t\tfor (\n\t\t\t\tlet i = 0;\n\t\t\t\ti < leftoverSlots &&\n\t\t\t\t(zone1VisibleCount < zone1ButtonCount ||\n\t\t\t\t\tzone2VisibleCount < zone2ButtonCount);\n\t\t\t\ti++\n\t\t\t) {\n\t\t\t\tif (i % 2 === 0 && zone1VisibleCount < zone1ButtonCount) {\n\t\t\t\t\tzone1VisibleCount++;\n\t\t\t\t} else if (zone2VisibleCount < zone2ButtonCount) {\n\t\t\t\t\tzone2VisibleCount++;\n\t\t\t\t} else if (zone1VisibleCount < zone1ButtonCount) {\n\t\t\t\t\tzone1VisibleCount++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {zone1VisibleCount, zone2VisibleCount};\n};\n\n/**\n * Creates the result object containing visible buttons, overflow counts, and layout configuration.\n */\nconst createResult = (\n\tzone1Windows,\n\tzone2Windows,\n\tzone1VisibleCount,\n\tzone2VisibleCount,\n\tzone1OverflowCount,\n\tzone2OverflowCount,\n\tcalculatedButtonWidth,\n) => {\n\tconst bothZonesHaveOverflow =\n\t\tzone1OverflowCount > 0 && zone2OverflowCount > 0;\n\tconst halfOfVisibleButtons = Math.floor(\n\t\t(zone1VisibleCount + zone2VisibleCount) / 2,\n\t);\n\n\treturn {\n\t\tvisible1: zone1Windows.slice(0, zone1VisibleCount),\n\t\tvisible2: zone2Windows.slice(0, zone2VisibleCount),\n\t\toverflowCount1: zone1OverflowCount,\n\t\toverflowCount2: zone2OverflowCount,\n\t\toverflowWindows1: zone1Windows.slice(zone1VisibleCount),\n\t\toverflowWindows2: zone2Windows.slice(zone2VisibleCount),\n\t\tshowDivider:\n\t\t\t(zone1VisibleCount > 0 || zone1OverflowCount > 0) &&\n\t\t\t(zone2VisibleCount > 0 || zone2OverflowCount > 0),\n\t\tbuttonWidth: calculatedButtonWidth,\n\t\tuseBalancedSizing:\n\t\t\tbothZonesHaveOverflow &&\n\t\t\tzone1VisibleCount >= halfOfVisibleButtons &&\n\t\t\tzone2VisibleCount >= halfOfVisibleButtons,\n\t};\n};\n\n/**\n * Computes which buttons should be visible vs. overflowed for the bottom toolbar.\n *\n * This function determines the optimal layout based on available space:\n * 1. If all buttons fit at optimal size (MIN_WIDTH to MAX_WIDTH), show all\n * 2. Otherwise, calculate how many buttons can fit and distribute them between zones\n *\n * The available space accounts for:\n * - Viewport padding\n * - Zone 3 width (if hoisted content exists)\n * - Overflow button space (if needed)\n */\nexport const computeZones = (\n\tzone1Windows,\n\tzone2Windows,\n\tviewportWidth,\n\tzone3Width = 0,\n) => {\n\tconst zone1ButtonCount = zone1Windows.length;\n\tconst zone2ButtonCount = zone2Windows.length;\n\n\t// No buttons to display\n\tif (zone1ButtonCount === 0 && zone2ButtonCount === 0) {\n\t\treturn createResult(\n\t\t\tzone1Windows,\n\t\t\tzone2Windows,\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\tMIN_BUTTON_WIDTH,\n\t\t);\n\t}\n\n\t// Calculate available space: viewport width minus padding and zone 3 space\n\tconst zone3TotalSpace = zone3Width > 0 ? zone3Width + 32 : 0;\n\tconst availableWidth = Math.max(\n\t\tviewportWidth - VIEWPORT_PADDING - zone3TotalSpace,\n\t\t0,\n\t);\n\tconst totalButtonCount = zone1ButtonCount + zone2ButtonCount;\n\n\t// Check if all buttons fit at optimal size (between MIN_WIDTH and MAX_WIDTH)\n\tif (totalButtonCount * MIN_BUTTON_WIDTH <= availableWidth) {\n\t\tconst optimalButtonWidth = Math.max(\n\t\t\tMIN_BUTTON_WIDTH,\n\t\t\tMath.min(MAX_BUTTON_WIDTH, availableWidth / totalButtonCount),\n\t\t);\n\n\t\t// If all buttons fit at optimal size, show all with no overflow\n\t\tif (totalButtonCount * optimalButtonWidth <= availableWidth) {\n\t\t\treturn createResult(\n\t\t\t\tzone1Windows,\n\t\t\t\tzone2Windows,\n\t\t\t\tzone1ButtonCount,\n\t\t\t\tzone2ButtonCount,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\toptimalButtonWidth,\n\t\t\t);\n\t\t}\n\t}\n\n\t// Calculate how many buttons can fit (accounting for overflow buttons)\n\tconst spaceForOverflowButtons =\n\t\t(zone1ButtonCount > 0 ? OVERFLOW_BUTTON_WIDTH : 0) +\n\t\t(zone2ButtonCount > 0 ? OVERFLOW_BUTTON_WIDTH : 0);\n\tconst spaceForButtons = availableWidth - spaceForOverflowButtons;\n\tconst maxVisibleButtons = Math.floor(spaceForButtons / MIN_BUTTON_WIDTH);\n\n\t// Distribute available slots between zones\n\tconst {zone1VisibleCount, zone2VisibleCount} = allocateSlots(\n\t\tzone1ButtonCount,\n\t\tzone2ButtonCount,\n\t\tMath.max(maxVisibleButtons, 0),\n\t);\n\n\t// Calculate overflow counts and button width\n\tconst zone1OverflowCount = zone1ButtonCount - zone1VisibleCount;\n\tconst zone2OverflowCount = zone2ButtonCount - zone2VisibleCount;\n\tconst totalVisibleButtons = zone1VisibleCount + zone2VisibleCount;\n\tconst calculatedButtonWidth =\n\t\ttotalVisibleButtons > 0\n\t\t\t? Math.floor(spaceForButtons / totalVisibleButtons)\n\t\t\t: MIN_BUTTON_WIDTH;\n\n\treturn createResult(\n\t\tzone1Windows,\n\t\tzone2Windows,\n\t\tzone1VisibleCount,\n\t\tzone2VisibleCount,\n\t\tzone1OverflowCount,\n\t\tzone2OverflowCount,\n\t\tcalculatedButtonWidth,\n\t);\n};\n\nexport {allocateSlots};\n\nexport const isTruncated = (element, selector = '.label-text') => {\n\tconst labelSpan = element.querySelector(selector);\n\treturn labelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n};\n\nexport const handleTooltipCheck = (e, tooltipContent) => {\n\tconst button = e.target.closest('button') || e.target;\n\tconst tooltip = button.parentElement.querySelector('now-tooltip');\n\tif (tooltip) {\n\t\tconst truncated = isTruncated(button);\n\t\tif (truncated && !tooltip.content) {\n\t\t\ttooltip.content = tooltipContent;\n\t\t} else if (!truncated && tooltip.content) {\n\t\t\ttooltip.content = null;\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './sn-overflow-popover.scss';\nimport {t} from 'sn-translate';\nimport {CLOSE_WINDOW, TOGGLE_MINIMIZE_STATE} from '../../utilities/actions';\n\nconst handleArrowKeyNavigation = (e, currentElement) => {\n\tconst list = e.currentTarget.closest('.sn-overflow-popover-list');\n\tconst items = Array.from(\n\t\tlist?.querySelectorAll('.sn-overflow-popover-item') || [],\n\t);\n\tconst currentIndex = items.indexOf(currentElement);\n\n\tif (list && items.length > 0 && currentIndex !== -1) {\n\t\te.preventDefault();\n\t\tconst isArrowDown = e.key === 'ArrowDown';\n\t\tconst totalItems = items.length;\n\t\tconst nextIndex = isArrowDown\n\t\t\t? (currentIndex + 1) % totalItems\n\t\t\t: (currentIndex - 1 + totalItems) % totalItems;\n\n\t\titems[nextIndex]?.focus();\n\t}\n};\n\nconst closePopoverOnTabOut = (dispatch, zoneId, actionSource = 'tab-press') => {\n\tdispatch(\n\t\t'NOW_POPOVER#OPENED_SET',\n\t\t{value: false, actionSource},\n\t\t{appended: {id: `overflow-popover-${zoneId}`}},\n\t);\n};\n\nconst createItemKeydownHandler =\n\t(dispatch, itemIndex, totalItemCount, zoneId, windowConfig) => (e) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault();\n\t\t\tdispatch(TOGGLE_MINIMIZE_STATE, {windowConfig});\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n\t\t\thandleArrowKeyNavigation(e, e.currentTarget);\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === 'Tab') {\n\t\t\tconst isShiftTab = e.shiftKey;\n\t\t\tconst isFirstItem = itemIndex === 0;\n\t\t\tconst isLastItem = itemIndex === totalItemCount - 1;\n\t\t\tconst isOnCloseButton = !!e.target.closest(\n\t\t\t\t'.sn-overflow-popover-item-close',\n\t\t\t);\n\n\t\t\tif (!isShiftTab && isLastItem && isOnCloseButton) {\n\t\t\t\te.preventDefault();\n\t\t\t\tclosePopoverOnTabOut(dispatch, zoneId);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (isShiftTab && isFirstItem && !isOnCloseButton) {\n\t\t\t\te.preventDefault();\n\t\t\t\tclosePopoverOnTabOut(dispatch, zoneId);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n\nconst renderWindowItem = (\n\twindowConfig,\n\tdispatch,\n\titemIndex,\n\ttotalItemCount,\n\tzoneId,\n) => {\n\tconst title =\n\t\twindowConfig.minimizedTitle || windowConfig.headingLabel || t('No Title');\n\tconst subtitle =\n\t\twindowConfig?.category && windowConfig.category !== ''\n\t\t\t? windowConfig.category\n\t\t\t: '';\n\tconst hasIcon = windowConfig.headerIcon?.icon;\n\n\treturn (\n\t\t<div\n\t\t\tkey={windowConfig.id}\n\t\t\tclassName=\"sn-overflow-popover-item\"\n\t\t\ttabIndex={0}\n\t\t\trole=\"menuitem\"\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(TOGGLE_MINIMIZE_STATE, {windowConfig});\n\t\t\t}}\n\t\t\ton-keydown={createItemKeydownHandler(\n\t\t\t\tdispatch,\n\t\t\t\titemIndex,\n\t\t\t\ttotalItemCount,\n\t\t\t\tzoneId,\n\t\t\t\twindowConfig,\n\t\t\t)}\n\t\t>\n\t\t\t{hasIcon ? (\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"sn-overflow-popover-item-icon\"\n\t\t\t\t\ticon={windowConfig.headerIcon.icon}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<div className=\"sn-overflow-popover-item-content\">\n\t\t\t\t<div className=\"sn-overflow-popover-item-title\">{title}<\/div>\n\t\t\t\t<div className=\"sn-overflow-popover-item-subtitle\">{subtitle}<\/div>\n\t\t\t<\/div>\n\t\t\t<div className=\"sn-overflow-popover-item-close\">\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tbare\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\thidePadding\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': t('Close {0}', title),\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\ttooltip-content={t('Close {0}', title)}\n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tdispatch(CLOSE_WINDOW, {windowConfig});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst view = ({properties: {windows, isGlobal, zoneId}}, {dispatch}) => {\n\tif (!windows || windows.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst windowType = isGlobal ? t('Global') : t('Scoped');\n\tconst windowCount = windows.length;\n\tconst ariaLabel = t('{0} windows ({1})', [windowType, windowCount]);\n\n\treturn (\n\t\t<div className=\"sn-overflow-popover\" role=\"menu\" aria-label={ariaLabel}>\n\t\t\t<div className=\"sn-overflow-popover-header\">{ariaLabel}<\/div>\n\t\t\t<div className=\"sn-overflow-popover-list\" role=\"none\">\n\t\t\t\t{windows.map((windowConfig, index) =>\n\t\t\t\t\trenderWindowItem(\n\t\t\t\t\t\twindowConfig,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t\twindows.length,\n\t\t\t\t\t\tzoneId,\n\t\t\t\t\t),\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-overflow-popover', {\n\tproperties: {\n\t\twindows: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tminimizedTitle: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t\theadingLabel: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t\theaderIcon: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcategory: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tzoneId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\n\tview,\n});\n","import {t} from 'sn-translate';\nimport {\n\tCLOSE_WINDOW,\n\tTOGGLE_MINIMIZE_STATE,\n\tTOGGLE_OVERFLOW_POPOVER,\n\tSET_OVERFLOW_BUTTON_REF,\n\tUPDATE_MINIMIZED_TARGET_POSITION,\n} from '../utilities/actions';\nimport {\n\tcomputeZones,\n\tisTruncated,\n\thandleTooltipCheck,\n} from './bottomToolbar.utils.js';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-loader';\nimport './sn-overflow-popover';\n\nconst updateButtonPosition = (\n\tel,\n\twindowIdOrWindows,\n\tdispatch,\n\toverflow = false,\n) => {\n\trequestAnimationFrame(() => {\n\t\tconst selector = overflow ? 'button' : 'now-button';\n\t\tconst targetButton = el.querySelector(selector) || el;\n\t\tif (!targetButton) {\n\t\t\treturn;\n\t\t}\n\t\tconst rect = targetButton.getBoundingClientRect();\n\t\tconst rectData = {\n\t\t\ttop: rect.top,\n\t\t\tleft: rect.left,\n\t\t\twidth: rect.width,\n\t\t\theight: rect.height,\n\t\t};\n\n\t\tif (overflow) {\n\t\t\twindowIdOrWindows.forEach((windowConfig) => {\n\t\t\t\tdispatch(UPDATE_MINIMIZED_TARGET_POSITION, {\n\t\t\t\t\twindowId: windowConfig.id,\n\t\t\t\t\trect: rectData,\n\t\t\t\t});\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(UPDATE_MINIMIZED_TARGET_POSITION, {\n\t\t\t\twindowId: windowIdOrWindows,\n\t\t\t\trect: rectData,\n\t\t\t});\n\t\t}\n\t});\n};\n\n// Per-zone overflow chip with popover\nconst ZoneOverflowButton = ({\n\tcount,\n\twindows,\n\tisGlobal,\n\tzoneId,\n\tstate,\n\tdispatch,\n}) => {\n\tif (!count || count <= 0 || !windows || windows.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst isOpen = state.openedOverflowZone === zoneId;\n\n\treturn (\n\t\t<now-popover\n\t\t\topened={isOpen}\n\t\t\tpositioning-to-trigger=\"auto\"\n\t\t\toffset={8}\n\t\t\tmanage-opened\n\t\t\thide-tail\n\t\t\tappend-to-meta={{id: `overflow-popover-${zoneId}`}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"window-button overflow\"\n\t\t\t\tslot=\"trigger\"\n\t\t\t\thook-insert={(vnode) => {\n\t\t\t\t\tconst el = vnode.elm;\n\t\t\t\t\tconst button = el.querySelector('button');\n\t\t\t\t\tconst tooltip = el.querySelector('now-tooltip');\n\t\t\t\t\tif (button && tooltip) {\n\t\t\t\t\t\ttooltip.targetRef = button;\n\t\t\t\t\t\tdispatch(SET_OVERFLOW_BUTTON_REF, {zoneId, buttonRef: button});\n\t\t\t\t\t}\n\t\t\t\t\tupdateButtonPosition(el, windows, dispatch, true);\n\t\t\t\t}}\n\t\t\t\thook-update={(oldVnode, vnode) => {\n\t\t\t\t\tupdateButtonPosition(vnode.elm, windows, dispatch, true);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName=\"-secondary -md\"\n\t\t\t\t\tid={`overflow-button-${zoneId}`}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(TOGGLE_OVERFLOW_POPOVER, {zoneId});\n\t\t\t\t\t}}\n\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tdispatch(TOGGLE_OVERFLOW_POPOVER, {zoneId});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-expanded={isOpen}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"button-content\">\n\t\t\t\t\t\t<div className=\"button-label\">\n\t\t\t\t\t\t\t<div class={{'label-text': true}}>{`+${count}`}<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/button>\n\t\t\t\t<now-tooltip content={t('{0} more', String(count))} />\n\t\t\t<\/div>\n\t\t\t<sn-overflow-popover\n\t\t\t\tslot=\"content\"\n\t\t\t\twindows={windows}\n\t\t\t\tis-global={isGlobal}\n\t\t\t\tzone-id={zoneId}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n\nconst MinimizedButtonView = ({windowConfig, dispatch}) => {\n\tconst headingLabelText =\n\t\twindowConfig.minimizedTitle || windowConfig.headingLabel || t('No Title');\n\tconst hasHeaderIcon =\n\t\twindowConfig.headerIcon?.icon &&\n\t\twindowConfig.headerIcon?.icon !== null &&\n\t\twindowConfig.headerIcon?.icon !== '';\n\tconst isDirty = windowConfig.component?.isDirty;\n\tconst buttonId = `window-button-${windowConfig.id.replace(/~/g, '')}`;\n\tconst tooltipContent = t('Open {0}', windowConfig.headingLabel);\n\treturn (\n\t\t<div\n\t\t\tclassName=\"window-button\"\n\t\t\thook-insert={(vnode) => {\n\t\t\t\tconst el = vnode.elm;\n\t\t\t\tconst button = el.querySelector('button');\n\t\t\t\tconst tooltip = el.querySelector('now-tooltip');\n\t\t\t\tif (button && tooltip) {\n\t\t\t\t\ttooltip.targetRef = button;\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tconst truncated = isTruncated(button);\n\t\t\t\t\t\tif (!truncated && tooltip.content) {\n\t\t\t\t\t\t\ttooltip.content = null;\n\t\t\t\t\t\t} else if (truncated && !tooltip.content) {\n\t\t\t\t\t\t\ttooltip.content = tooltipContent;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tupdateButtonPosition(el, windowConfig.id, dispatch);\n\t\t\t}}\n\t\t\thook-update={(oldVnode, vnode) => {\n\t\t\t\tupdateButtonPosition(vnode.elm, windowConfig.id, dispatch);\n\t\t\t}}\n\t\t>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={`-${windowConfig.isGlobalWindow ? 'primary' : 'secondary'} -md`}\n\t\t\t\tid={buttonId}\n\t\t\t\ton-mouseenter={(e) => handleTooltipCheck(e, tooltipContent)}\n\t\t\t\ton-focusin={(e) => handleTooltipCheck(e, tooltipContent)}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tconsole.info('Window Clicked', {dispatch, windowConfig});\n\t\t\t\t\tdispatch(TOGGLE_MINIMIZE_STATE, {windowConfig});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"button-content\">\n\t\t\t\t\t<div className=\"button-icons\">\n\t\t\t\t\t\t{isDirty ? (\n\t\t\t\t\t\t\t<now-icon icon=\"dirty-indicator-fill\" size=\"sm\" id=\"dirty-icon\" />\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{hasHeaderIcon ? (\n\t\t\t\t\t\t\t<now-icon icon={windowConfig.headerIcon?.icon} size=\"md\" />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div className=\"button-label\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'label-text': true,\n\t\t\t\t\t\t\t\t'has-icon': hasHeaderIcon,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{headingLabelText}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{windowConfig.category && windowConfig.category !== '' ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\tsubtext: true,\n\t\t\t\t\t\t\t\t\t'has-icon': hasHeaderIcon,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{windowConfig.category}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div className=\"window-close-button\">\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\thidePadding\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t'aria-label': t('Close'),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttooltip-content={t('Close')}\n\t\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\tdispatch(CLOSE_WINDOW, {windowConfig});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/button>\n\t\t\t<now-tooltip content={tooltipContent} />\n\t\t<\/div>\n\t);\n};\n\n// Track previous toolbar state\nlet prevToolbarOpen = false;\nconst TOOLBAR_HEIGHT = '56px';\n\nexport default (state, dispatch, host) => {\n\tconst {properties} = state;\n\tconst {\n\t\twindowsState,\n\t\thasSlottedContent,\n\t\tglobalMinimizedWindows,\n\t\tscopedMinimizedWindows,\n\t} = properties;\n\n\tconst leftDockOpen = windowsState.leftDockId !== null;\n\tconst rightDockOpen = windowsState.rightDockId !== null;\n\tconst bottomDockOpen = windowsState.bottomDockId !== null;\n\n\tconst result = computeZones(\n\t\tglobalMinimizedWindows,\n\t\tscopedMinimizedWindows,\n\t\tproperties.browserDimensions?.width ??\n\t\t\t(typeof window !== 'undefined' ? window.innerWidth : 0),\n\t\tproperties.zone3Width ?? 0,\n\t);\n\n\tconst {\n\t\tvisible1,\n\t\tvisible2,\n\t\toverflowCount1,\n\t\toverflowCount2,\n\t\toverflowWindows1,\n\t\toverflowWindows2,\n\t\tshowDivider,\n\t\tuseBalancedSizing,\n\t} = result;\n\n\tconst isToolbarOpen =\n\t\tscopedMinimizedWindows.length > 0 ||\n\t\tglobalMinimizedWindows.length > 0 ||\n\t\tproperties.hasSlottedContent ||\n\t\thasSlottedContent;\n\n\t// Dispatch event if toolbar visibility changed\n\tif (prevToolbarOpen !== isToolbarOpen) {\n\t\tdispatch('WM_BOTTOM_TOOLBAR_VISIBILITY_CHANGED', {\n\t\t\tisOpen: isToolbarOpen,\n\t\t\theight: isToolbarOpen ? TOOLBAR_HEIGHT : '0px',\n\t\t});\n\t\tprevToolbarOpen = isToolbarOpen;\n\t}\n\n\tconst handleKeyboardNavigation = (event) => {\n\t\tconst {key} = event;\n\n\t\tconst path = event.composedPath();\n\t\tconst currentItem = path.find(\n\t\t\t(el) => el.tagName === 'BUTTON' || el.hasAttribute('tabindex'),\n\t\t);\n\n\t\tconst toolbar = currentItem.closest('.sn-window-manager-toolbar');\n\t\tif (!toolbar) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Filter out icon buttons\n\t\tconst tabbableElements = Array.from(\n\t\t\ttoolbar.querySelectorAll('.window-button > button'),\n\t\t);\n\n\t\tconst currentIndex = tabbableElements.indexOf(currentItem);\n\t\tif (currentIndex === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet nextIndex = currentIndex;\n\n\t\tif (key === 'ArrowLeft' || key === 'ArrowUp') {\n\t\t\tnextIndex =\n\t\t\t\tcurrentIndex > 0 ? currentIndex - 1 : tabbableElements.length - 1;\n\t\t} else if (key === 'ArrowRight' || key === 'ArrowDown') {\n\t\t\tnextIndex =\n\t\t\t\tcurrentIndex < tabbableElements.length - 1 ? currentIndex + 1 : 0;\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\ttabbableElements[nextIndex]?.focus();\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'is-rtl': document.dir === 'rtl',\n\t\t\t\topened: isToolbarOpen,\n\t\t\t\t'sn-window-manager-toolbar': true,\n\t\t\t\t'left-dock-open': leftDockOpen,\n\t\t\t\t'right-dock-open': rightDockOpen,\n\t\t\t\t'bottom-dock-open': bottomDockOpen,\n\t\t\t}}\n\t\t\tstyle={{\n\t\t\t\t'--zone3-width': `${properties.zone3Width || 0}px`,\n\t\t\t}}\n\t\t\trole=\"toolbar\"\n\t\t\ton-keydown={handleKeyboardNavigation}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'toolbar-zone': true,\n\t\t\t\t\t'minimization-zone': true,\n\t\t\t\t\t'fluid-sizing': true,\n\t\t\t\t\tbalanced: useBalancedSizing,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'toolbar-zone': true,\n\t\t\t\t\t\tzone1: true,\n\t\t\t\t\t\tempty: visible1.length === 0 && overflowCount1 === 0,\n\t\t\t\t\t\tbalanced: useBalancedSizing,\n\t\t\t\t\t\t'fluid-sizing': true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{visible1.map((windowConfig) => (\n\t\t\t\t\t\t<MinimizedButtonView\n\t\t\t\t\t\t\tkey={windowConfig.id}\n\t\t\t\t\t\t\twindowConfig={windowConfig}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t<ZoneOverflowButton\n\t\t\t\t\t\tcount={overflowCount1}\n\t\t\t\t\t\twindows={overflowWindows1}\n\t\t\t\t\t\tisGlobal={true}\n\t\t\t\t\t\tzoneId=\"zone1\"\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\n\t\t\t\t{showDivider ? <div className=\"zone-divider\" /> : null}\n\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'toolbar-zone': true,\n\t\t\t\t\t\tzone2: true,\n\t\t\t\t\t\tempty: visible2.length === 0 && overflowCount2 === 0,\n\t\t\t\t\t\tbalanced: useBalancedSizing,\n\t\t\t\t\t\t'fluid-sizing': true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{visible2.map((windowConfig) => (\n\t\t\t\t\t\t<MinimizedButtonView\n\t\t\t\t\t\t\tkey={windowConfig.id}\n\t\t\t\t\t\t\twindowConfig={windowConfig}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t<ZoneOverflowButton\n\t\t\t\t\t\tcount={overflowCount2}\n\t\t\t\t\t\twindows={overflowWindows2}\n\t\t\t\t\t\tisGlobal={false}\n\t\t\t\t\t\tzoneId=\"zone2\"\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div className=\"toolbar-zone zone3\">\n\t\t\t\t<now-loader id=\"reflow-loader\"><\/now-loader>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {debounce} from '@devsnc/snowdash';\nimport '@servicenow/now-loader';\nimport {\n\tSCREEN_CHANGED,\n\tUPDATE_BOTTOM_TOOLBAR_ELEMENTS,\n\tTOGGLE_OVERFLOW_POPOVER,\n\tSET_OVERFLOW_BUTTON_REF,\n} from '../utilities/actions';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst measureZone3Width = (hoistTargetElem) => {\n\tif (!hoistTargetElem) {\n\t\treturn 0;\n\t}\n\treturn hoistTargetElem.offsetWidth || 0;\n};\n\nconst resizeUpdateZone3Width = debounce((hoistTargetElem, updateProperties) => {\n\t// Make zone 3 take up the full width to trigger reflow of internal elements\n\thoistTargetElem.style.width = '100%';\n\n\t// Hide all the child nodes of zone 3\n\thoistTargetElem.childNodes.forEach((child) => {\n\t\t// Start showing the loader telling the user we are reflowing zone 3\n\t\tif (child.id !== 'reflow-loader') {\n\t\t\tchild.style.visibility = 'hidden';\n\t\t} else {\n\t\t\tchild.style.display = 'flex';\n\t\t\tchild.style.position = 'fixed';\n\t\t\tchild.style.right = '20px';\n\t\t}\n\t});\n\n\t// Need to wait for the reflow to complete\n\tsetTimeout(() => {\n\t\t// Reset zone 3 back to the normal width\n\t\thoistTargetElem.style.width = '';\n\n\t\t// Loop through all the child nodes of the hoist target element and set their visibility to visible\n\t\thoistTargetElem.childNodes.forEach((child) => {\n\t\t\t// Go back to hiding the reflow loader\n\t\t\tif (child.id !== 'reflow-loader') {\n\t\t\t\tchild.style.visibility = 'visible';\n\t\t\t} else {\n\t\t\t\tchild.style.display = 'none';\n\t\t\t}\n\t\t});\n\n\t\t// Recalculate the zone 3 width\n\t\tupdateProperties({zone3Width: measureZone3Width(hoistTargetElem)});\n\t}, 200);\n}, 300);\n\nconst filterMinimizedWindows = (\n\tminimizedWindowList,\n\twindowsList,\n\tscreenInfo,\n) => {\n\tconst globalMinimizedWindows = [];\n\tconst scopedMinimizedWindows = [];\n\n\tminimizedWindowList.forEach((windowId) => {\n\t\tconst windowConfig = windowsList.find((window) => window.id === windowId);\n\t\tif (windowConfig) {\n\t\t\tif (windowConfig.isGlobalWindow) {\n\t\t\t\tglobalMinimizedWindows.push(windowConfig);\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\twindowConfig.screenKey === screenInfo.screenKey &&\n\t\t\t\t\twindowConfig.experienceId === screenInfo.experienceId\n\t\t\t\t) {\n\t\t\t\t\tscopedMinimizedWindows.push(windowConfig);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn {globalMinimizedWindows, scopedMinimizedWindows};\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_DOM_TREE_READY]: (coeffects) => {\n\t\tconst {host, updateProperties} = coeffects;\n\t\tconst mainToolbarElement = host.shadowRoot.querySelector(\n\t\t\t'.sn-window-manager-toolbar',\n\t\t);\n\t\tconst hoistTargetElem = mainToolbarElement.querySelector(\n\t\t\t'.toolbar-zone.zone3',\n\t\t);\n\t\tconst callback = (mutationsList) => {\n\t\t\tconst isCurrentSelectedScreen = (child) => {\n\t\t\t\tconst {screenKey: currentScreenKey, experienceId: currentExperienceId} =\n\t\t\t\t\twindow.nowWindowManager?.screenInfo;\n\n\t\t\t\treturn (\n\t\t\t\t\tchild?.sourceElement?.experienceId === currentExperienceId &&\n\t\t\t\t\tchild?.sourceElement?.activeHoistedContent === currentScreenKey\n\t\t\t\t);\n\t\t\t};\n\n\t\t\tfor (const mutation of mutationsList) {\n\t\t\t\tif (mutation.type === 'childList') {\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tlet isSlottedElemVisible = false;\n\n\t\t\t\t\t\t// Check if any child elements are visible\n\t\t\t\t\t\thoistTargetElem.childNodes.forEach((child) => {\n\t\t\t\t\t\t\t// Check if the slotted element is visible\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tchild.nodeType === Node.ELEMENT_NODE &&\n\t\t\t\t\t\t\t\tisCurrentSelectedScreen(child)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tconst computedStyle = window.getComputedStyle(child);\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tcomputedStyle.display !== 'none' &&\n\t\t\t\t\t\t\t\t\tcomputedStyle.visibility !== 'hidden'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tisSlottedElemVisible = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Ensure that child components are taking up the full width of zone 3\n\t\t\t\t\t\t\tif (child.id !== 'reflow-loader') {\n\t\t\t\t\t\t\t\tchild.style.width = '100%';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Wait for the child component to be fully loaded before measuring the zone 3 width\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\t\tzone3Width: measureZone3Width(hoistTargetElem),\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}, 750);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tconst zone3Width = isSlottedElemVisible\n\t\t\t\t\t\t\t? measureZone3Width(hoistTargetElem)\n\t\t\t\t\t\t\t: 0;\n\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\thasSlottedContent: isSlottedElemVisible,\n\t\t\t\t\t\t\tzone3Width,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst observer = new MutationObserver(callback);\n\n\t\tconst config = {childList: true}; // Only watch for direct children being added or removed\n\n\t\t// Start observing the target node for configured mutations\n\t\tobserver.observe(hoistTargetElem, config);\n\n\t\t// Store observer for cleanup\n\t\thost._zone3MutationObserver = observer;\n\n\t\tif (window.ux_globals) {\n\t\t\tif (!window.ux_globals.__windowManagerConfig) {\n\t\t\t\twindow.ux_globals.__windowManagerConfig = {};\n\t\t\t}\n\t\t\twindow.ux_globals.__windowManagerConfig.zoneThreeHoistTarget =\n\t\t\t\thoistTargetElem;\n\t\t}\n\n\t\t// Store ref and set initial width measurement\n\t\tupdateProperties({\n\t\t\tmainToolbarElement,\n\t\t\tzone3Width: hoistTargetElem ? hoistTargetElem.offsetWidth || 0 : 0,\n\t\t});\n\t},\n\t[UPDATE_BOTTOM_TOOLBAR_ELEMENTS]: (coeffects) => {\n\t\tconst {host, updateProperties, action} = coeffects;\n\t\tconst {payload} = action;\n\n\t\tconst mainToolbarElement = host.shadowRoot.querySelector(\n\t\t\t'.sn-window-manager-toolbar',\n\t\t);\n\t\tconst hoistTargetElem = mainToolbarElement.querySelector(\n\t\t\t'.toolbar-zone.zone3',\n\t\t);\n\n\t\tconst hoistedElements = hoistTargetElem.querySelectorAll('seismic-hoist');\n\t\tlet hasHoistedElement = false;\n\n\t\thoistedElements.forEach((elem) => {\n\t\t\tconst elemHoistInfo = elem.sourceElement.activeHoistedContent;\n\t\t\tif (elemHoistInfo && elemHoistInfo === payload.screenKey) {\n\t\t\t\t// This element belongs to the selected screen, ensure it's visible\n\t\t\t\telem.style.display = 'initial';\n\t\t\t\thasHoistedElement = true;\n\t\t\t} else {\n\t\t\t\t// This element does not belong to the selected screen, hide it\n\t\t\t\tif (elem.offsetWidth !== 0) {\n\t\t\t\t\telem.style.width = elem.offsetWidth + 'px'; // Maintain width to avoid layout shift\n\t\t\t\t\telem.style.display = 'none';\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tconst zone3Width = hasHoistedElement\n\t\t\t? measureZone3Width(hoistTargetElem)\n\t\t\t: 0;\n\t\tupdateProperties({\n\t\t\thasSlottedContent: hasHoistedElement,\n\t\t\tzone3Width,\n\t\t});\n\t},\n\t[TOGGLE_OVERFLOW_POPOVER]: ({action, state, updateState}) => {\n\t\tconst {zoneId} = action.payload;\n\t\tconst {openedOverflowZone} = state;\n\n\t\tupdateState({\n\t\t\topenedOverflowZone: openedOverflowZone === zoneId ? '' : zoneId,\n\t\t});\n\t},\n\t// Store overflow button ref for focus management\n\t[SET_OVERFLOW_BUTTON_REF]: ({action, state, updateState}) => {\n\t\tconst {zoneId, buttonRef} = action.payload;\n\t\tconst {overflowButtonRefs = {}} = state;\n\n\t\tupdateState({\n\t\t\toverflowButtonRefs: {\n\t\t\t\t...overflowButtonRefs,\n\t\t\t\t[zoneId]: buttonRef,\n\t\t\t},\n\t\t});\n\t},\n\t// Listen to popover close from now-popover (click-away)\n\t['NOW_POPOVER#OPENED_SET']: ({action, updateState, state}) => {\n\t\tconst {id} = action.meta.appended;\n\t\tconst {value, actionSource} = action.payload;\n\t\tconst {openedOverflowZone, overflowButtonRefs = {}} = state;\n\n\t\t// Extract zone from id (e.g., 'overflow-popover-zone1' -> 'zone1')\n\t\tconst zoneFromPopover = id?.replace('overflow-popover-', '');\n\n\t\t// Only clear state if THIS popover is closing AND it matches our current zone\n\t\t// This prevents zone1 closing from clearing zone2 that just opened\n\t\tif (!value && zoneFromPopover === openedOverflowZone) {\n\t\t\tupdateState({openedOverflowZone: ''});\n\n\t\t\t// Restore focus to trigger button if closed via keyboard (Tab or Escape)\n\t\t\tif (actionSource === 'tab-press' || actionSource === 'escape-press') {\n\t\t\t\tconst buttonRef = overflowButtonRefs[zoneFromPopover];\n\n\t\t\t\tif (buttonRef && buttonRef.isConnected) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (buttonRef.isConnected) {\n\t\t\t\t\t\t\tbuttonRef.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t// Close popover when properties that affect overflow calculation change (reflow detection)\n\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\tconst {action, updateProperties, updateState, state, host} = coeffects;\n\t\tconst {name, value, previousValue} = action.payload;\n\t\tconst {properties} = state;\n\n\t\tif (name === 'browserDimensions') {\n\t\t\tconst widthChanged = value?.width !== previousValue?.width;\n\n\t\t\tif (widthChanged) {\n\t\t\t\tconst {openedOverflowZone, properties} = state;\n\t\t\t\tconst {mainToolbarElement} = properties || {};\n\n\t\t\t\tif (openedOverflowZone) {\n\t\t\t\t\tupdateState({openedOverflowZone: ''});\n\t\t\t\t}\n\n\t\t\t\tconst hoistTargetElem = mainToolbarElement?.querySelector(\n\t\t\t\t\t'.toolbar-zone.zone3',\n\t\t\t\t);\n\n\t\t\t\tif (value?.width > previousValue?.width) {\n\t\t\t\t\tresizeUpdateZone3Width(\n\t\t\t\t\t\thoistTargetElem,\n\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\tproperties.zone3Width,\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\t\tconst width = hoistTargetElem\n\t\t\t\t\t\t\t\t? hoistTargetElem.offsetWidth || 0\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t\t\tupdateProperties({zone3Width: width});\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 50);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (name === 'windowsState') {\n\t\t\tconst {windowsList, windowsState, screenInfo} = properties;\n\t\t\tconst minimizedWindowList = windowsState.minimizedWindows;\n\n\t\t\tconst {globalMinimizedWindows, scopedMinimizedWindows} =\n\t\t\t\tfilterMinimizedWindows(minimizedWindowList, windowsList, screenInfo);\n\n\t\t\tif (\n\t\t\t\tglobalMinimizedWindows.length !==\n\t\t\t\t\tproperties.globalMinimizedWindows.length ||\n\t\t\t\tscopedMinimizedWindows.length !==\n\t\t\t\t\tproperties.scopedMinimizedWindows.length\n\t\t\t) {\n\t\t\t\t// Only update if there's a change in length to avoid infinite loops\n\t\t\t\tupdateProperties({\n\t\t\t\t\tglobalMinimizedWindows,\n\t\t\t\t\tscopedMinimizedWindows,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tname === 'globalMinimizedWindows' ||\n\t\t\tname === 'scopedMinimizedWindows'\n\t\t) {\n\t\t\tconst newWindowId = value.filter((item) => !previousValue.includes(item));\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (newWindowId && newWindowId.length > 0) {\n\t\t\t\t\tconst newButton = host.shadowRoot.querySelector(\n\t\t\t\t\t\t`#window-button-${newWindowId[0].id.replace(/~/g, '')}`,\n\t\t\t\t\t);\n\t\t\t\t\tif (newButton) {\n\t\t\t\t\t\tnewButton.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 360);\n\t\t}\n\n\t\tif (name === 'screenInfo') {\n\t\t\tconst {windowsList, windowsState} = properties;\n\t\t\tconst minimizedWindowList = windowsState.minimizedWindows;\n\n\t\t\tconst {globalMinimizedWindows, scopedMinimizedWindows} =\n\t\t\t\tfilterMinimizedWindows(minimizedWindowList, windowsList, value);\n\n\t\t\tupdateProperties({\n\t\t\t\tglobalMinimizedWindows,\n\t\t\t\tscopedMinimizedWindows,\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_DISCONNECTED]: ({host}) => {\n\t\tif (host._zone3MutationObserver) {\n\t\t\thost._zone3MutationObserver.disconnect();\n\t\t\thost._zone3MutationObserver = null;\n\t\t}\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './styles.scss';\nimport view from './bottomToolbar.view';\nimport {actionHandlers} from './bottomToolbar.effects';\n\ncreateCustomElement('sn-window-manager-bottom-toolbar', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\twindowsList: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\twindowsState: {\n\t\t\tdefault: {\n\t\t\t\tleftDockId: null,\n\t\t\t\trightDockId: null,\n\t\t\t\tbottomDockId: null,\n\t\t\t\tactiveWindowId: null,\n\t\t\t\tminimizedWindows: [],\n\t\t\t\tmodalWindows: [],\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tbrowserDimensions: {\n\t\t\tdefault: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tglobalMinimizedWindows: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\tscopedMinimizedWindows: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\tportalType: {\n\t\t\tdefault: 'unified-navigation',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tmainToolbarElement: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: 'object'},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\thasSlottedContent: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tscreenInfo: {\n\t\t\tdefault: {\n\t\t\t\tscreenKey: null,\n\t\t\t\tinstanceId: null,\n\t\t\t\texperienceId: null,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\topenedOverflowZone: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tzone3Width: {\n\t\t\tdefault: 0,\n\t\t\tschema: {type: 'number'},\n\t\t},\n\t\toverflowButtonRefs: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t},\n\tactionHandlers: actionHandlers,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom, {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-button';\nimport '@servicenow/now-dropdown';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {SET_HEADER_BUTTONS} from '../src/sn-window-manager/utilities/actions';\nimport {t} from 'sn-translate';\n\nexport const view = (state, dispatch) => {\n\tconst {properties} = state;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"test-content\">\n\t\t\t\t<h1 align=\"center\">Header Button Example View<\/h1>\n\n\t\t\t\t<div>\n\t\t\t\t\t<p align=\"center\">\n\t\t\t\t\t\tThis is an example of how to setup and use buttons in the window\n\t\t\t\t\t\theader.\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n\nconst tooltipLabel = t('Pin Menu');\n\nconst pinDropDownView = () => (\n\t<now-dropdown\n\t\tid=\"pin-dropdown\"\n\t\titems={[\n\t\t\t{id: 'top-left', label: t('Top Left')},\n\t\t\t{id: 'top-right', label: t('Top Right')},\n\t\t\t{id: 'bottom-left', label: t('Bottom Left')},\n\t\t\t{id: 'bottom-right', label: t('Bottom Right')},\n\t\t]}\n\t\tshowPadding={false}\n\t\t// variant=\"primary\"\n\t\thideCaret={true}\n\t\thideLabel={true}\n\t\ttooltip-content={tooltipLabel}\n\t\ticon=\"ellipsis-vertical-outline\"\n\t\tconfig-aria={{'aria-label': tooltipLabel}}\n\t/>\n);\n\ncreateCustomElement('header-button-example', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tproperties: {\n\t\t// dialogSize and dialogLocation will get passed down from sn-window\n\t\tdialogSize: {\n\t\t\tdefault: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tdialogLocation: {\n\t\t\tdefault: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_BOOTSTRAPPED]: ({dispatch, state}) => {\n\t\t\t// This is where you would set up your header buttons\n\n\t\t\t// the drop down element which will be put in the window header\n\t\t\tconst pinningDropDown = pinDropDownView();\n\t\t\tconst tooltipLabel = t('Open in new tab');\n\t\t\t// this defines the buttons that will be added to the header\n\t\t\tconst customHeaderButtons = [\n\t\t\t\t// button defined just by JSON\n\t\t\t\t{\n\t\t\t\t\ttype: 'button',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: 'open-link',\n\t\t\t\t\t\t// label: tooltipLabel,\n\t\t\t\t\t\ttooltipContent: tooltipLabel,\n\t\t\t\t\t\tconfigAria: {'aria-label': tooltipLabel},\n\t\t\t\t\t\ticon: 'open-link-right-outline',\n\t\t\t\t\t\t// variant: 'primary',\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tdispatch('OPEN_IN_NEW_TAB', {\n\t\t\t\t\t\t\t\turl: '/incident.do?sys_id=1234567890abcdef',\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},\n\t\t\t\t// button that is a dropdown element managed by this view\n\t\t\t\t{\n\t\t\t\t\ttype: 'element',\n\t\t\t\t\telement: pinningDropDown,\n\t\t\t\t},\n\t\t\t];\n\n\t\t\t// tell sn-window to add the buttons to the header\n\t\t\tdispatch(SET_HEADER_BUTTONS, {\n\t\t\t\theaderButtons: customHeaderButtons,\n\t\t\t});\n\n\t\t\t// for now dropdown to work, we need to add an event listener to the dropdown\n\t\t\t// this is a hack to make sure the dropdown is in the DOM before we add the event listener\n\t\t\tsetTimeout(() => {\n\t\t\t\tpinningDropDown.elm.addEventListener(\n\t\t\t\t\t'NOW_DROPDOWN#ITEM_CLICKED',\n\t\t\t\t\t(event) => {\n\t\t\t\t\t\tconst {payload} = event.detail;\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\titem: {id},\n\t\t\t\t\t\t} = payload;\n\t\t\t\t\t\tdispatch('PIN_TO_CORNER', id);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}, 100);\n\t\t},\n\t\t['PIN_TO_CORNER']: (coeffects) => {\n\t\t\tconst {state, action, dispatch} = coeffects;\n\t\t\tconst {payload} = action;\n\n\t\t\t// handle pinning to corners\n\t\t\tswitch (payload) {\n\t\t\t\tcase 'top-left':\n\t\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'top-right':\n\t\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: window.innerWidth - state.properties.dialogSize.width,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'bottom-left':\n\t\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\t\ttop: window.innerHeight - state.properties.dialogSize.height,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'bottom-right':\n\t\t\t\t\tdispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\t\ttop: window.innerHeight - state.properties.dialogSize.height,\n\t\t\t\t\t\tleft: window.innerWidth - state.properties.dialogSize.width,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t['OPEN_IN_NEW_TAB']: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload},\n\t\t\t} = coeffects;\n\n\t\t\twindow.open(payload.url, '_blank');\n\t\t},\n\t\t['NOW_DROPDOWN#ITEM_CLICKED']: (coeffects) => {\n\t\t\t// const {action: {payload}, dispatch} = coeffects;\n\t\t\t// const {id} = payload;\n\n\t\t\tconsole.info('NOW_DROPDOWN#ITEM_CLICKED');\n\t\t},\n\t},\n});\n","import '../sn-window';\nimport '@servicenow/now-modal';\nimport './fragments/debug-panel';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport './bottomToolbar';\nimport '../sn-window/';\nimport './fragments/debug-panel';\nimport '../../example/header-button-example';\nimport {\n\tSN_WINDOW_DIALOG_CLOSE_CANCELED,\n\tSN_WINDOW_DIALOG_CLOSE_CONFIRMED,\n} from './utilities/actions';\nimport {t} from 'sn-translate';\n\nexport default (state, dispatch) => {\n\tconst {properties} = state;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{properties.showCloseConfirmDialog ? (\n\t\t\t\t<now-modal\n\t\t\t\t\topened={true}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tmanageOpened={true}\n\t\t\t\t\theaderLabel={t('Close Dialog')}\n\t\t\t\t\tcontent={\n\t\t\t\t\t\tproperties.confirmCloseMessage\n\t\t\t\t\t\t\t? properties.confirmCloseMessage\n\t\t\t\t\t\t\t: t(\n\t\t\t\t\t\t\t\t\t'Closing this dialog will cause your changes to be lost. Do you want to continue?',\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tfooterActions={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclickActionType: SN_WINDOW_DIALOG_CLOSE_CONFIRMED,\n\t\t\t\t\t\t\tlabel: t('Continue'),\n\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclickActionType: SN_WINDOW_DIALOG_CLOSE_CANCELED,\n\t\t\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t><\/now-modal>\n\t\t\t) : null}\n\n\t\t\t<sn-window-manager-bottom-toolbar\n\t\t\t\tminimizedWindowList={properties.windowsState.minimizedWindows}\n\t\t\t\twindowsList={properties.windowsList}\n\t\t\t\twindowsState={properties.windowsState}\n\t\t\t\tportalType={properties.portalType}\n\t\t\t\tscreenInfo={properties.screenInfo}\n\t\t\t\tbrowserDimensions={properties.browserDimensions}\n\t\t\t><\/sn-window-manager-bottom-toolbar>\n\t\t<\/Fragment>\n\t);\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tCREATE_WINDOW,\n\tCLOSE_WINDOW,\n\tOPEN_WINDOW,\n\tOPEN_DEBUG_WINDOW,\n\tRELAY_MESSAGE,\n\tTOGGLE_MODAL_STATE,\n\tTOGGLE_MINIMIZE_STATE,\n\tCLOSE_DOCK,\n\tUPDATE_BODY_CLASS_NAMES,\n\tCHECK_WINDOW_LOCATIONS,\n\tTOGGLE_DOCK,\n\tSCREEN_CHANGED,\n\tSET_DIRTY_STATE,\n\tFOCUS_WINDOW,\n\tSN_WINDOW_DIALOG_CLOSE_CANCELED,\n\tSN_WINDOW_DIALOG_CLOSE_CONFIRMED,\n\tSET_WINDOW_PROPERTIES,\n\tUPDATE_MINIMIZED_TARGET_POSITION,\n\tSIDEBAR_UNREAD_MESSAGE,\n\tSET_SIDEBAR_CHAT_PRIVATE,\n\tFOCUS_BOTTOM_TOOLBAR_REQUESTED,\n} from './utilities/actions';\n\nimport {\n\tcomponentBootstrap,\n\thandlePropertyChange,\n\thandleDomTreeReady,\n\thandleComponentConnected,\n\thandleCreateWindow,\n\thandleCloseWindow,\n\thandleOpenWindow,\n\thandleModalToggle,\n\thandleSetWindowActive,\n\trelayMessage,\n\topenDebugWindow,\n\thandleToggleMinimize,\n\thandleCloseDock,\n\tupdateBodyClassName,\n\thandleCheckWindowLocations,\n\thandleToggleDock,\n\thandleScreenChanged,\n\thandleSetDirtyState,\n\thandleDialogCloseCancelled,\n\thandleDialogCloseConfirmed,\n\thandleSetWindowProperties,\n\thandleMinimizedTargetPosition,\n\thandleSidebarUnreadMessage,\n\thandleSetSidebarChatPrivate,\n\thandleFocusBottomToolbar,\n\thandlePolarisMenuPinned,\n} from './utilities';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_CONNECTED,\n} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: componentBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChange,\n\t[COMPONENT_DOM_TREE_READY]: handleDomTreeReady,\n\t[COMPONENT_CONNECTED]: handleComponentConnected,\n\t[TOGGLE_DOCK]: handleToggleDock,\n\t[TOGGLE_MODAL_STATE]: handleModalToggle,\n\t[TOGGLE_MINIMIZE_STATE]: handleToggleMinimize,\n\t[CREATE_WINDOW]: handleCreateWindow,\n\t[CLOSE_WINDOW]: handleCloseWindow,\n\t[OPEN_WINDOW]: handleOpenWindow,\n\t[OPEN_DEBUG_WINDOW]: openDebugWindow,\n\t[FOCUS_WINDOW]: handleSetWindowActive,\n\t[RELAY_MESSAGE]: relayMessage,\n\t[CLOSE_DOCK]: handleCloseDock,\n\t[UPDATE_BODY_CLASS_NAMES]: updateBodyClassName,\n\t[CHECK_WINDOW_LOCATIONS]: handleCheckWindowLocations,\n\t[SCREEN_CHANGED]: handleScreenChanged,\n\t[SET_DIRTY_STATE]: handleSetDirtyState,\n\t[SET_WINDOW_PROPERTIES]: handleSetWindowProperties,\n\t[SN_WINDOW_DIALOG_CLOSE_CONFIRMED]: handleDialogCloseConfirmed,\n\t[SN_WINDOW_DIALOG_CLOSE_CANCELED]: handleDialogCloseCancelled,\n\t['NOW_MODAL#OPENED_SET']: (coeffects) => {\n\t\tconst {properties, updateProperties} = coeffects;\n\t\tif (properties.showCloseConfirmDialog) {\n\t\t\thandleDialogCloseCancelled(coeffects);\n\t\t}\n\t},\n\t[UPDATE_MINIMIZED_TARGET_POSITION]: handleMinimizedTargetPosition,\n\t[SIDEBAR_UNREAD_MESSAGE]: handleSidebarUnreadMessage,\n\t[SET_SIDEBAR_CHAT_PRIVATE]: handleSetSidebarChatPrivate,\n\t[FOCUS_BOTTOM_TOOLBAR_REQUESTED]: handleFocusBottomToolbar,\n\t['POLARIS_MENU_PINNED']: handlePolarisMenuPinned,\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"deregisterComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t\t} else if ('deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.deregisterComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t}, [\"registerComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t\t} else if ('registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.registerComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t}, [\"setActionState\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t\t} else if ('setActionState' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.setActionState || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].setActionState;\n\t\t\t\t} });","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tregisterComponent,\n\tderegisterComponent,\n\tsetActionState,\n} from '@servicenow/now-trigger-library';\nimport {getBooleanPreferenceValue, PREFERENCES} from '@devsnc/unav-utils';\nimport {FOCUS_BOTTOM_TOOLBAR_REQUESTED} from '../utilities/actions';\n\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED} = actionTypes;\n\n/**\n * Keyboard shortcuts behavior for Window Manager\n * Registers keyboard shortcuts using registerComponent (matches polaris-app-shell pattern)\n *\n * NOTE: This requires the UXF shortcuts infrastructure (now-trigger-library) to be available.\n * It will not work in the example app environment - testing must be done in Unified Navigation.\n */\nexport default {\n\tname: 'keyboard-shortcuts-behavior',\n\tsetInitialState: () => ({\n\t\tnowTriggerLibRegistrationId: null,\n\t}),\n\tactionHandlers: {\n\t\t/**\n\t\t * Register keyboard shortcuts when component is bootstrapped\n\t\t * Reads configuration from userPreferences (matches polaris-app-shell pattern)\n\t\t */\n\t\t[COMPONENT_BOOTSTRAPPED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {userPreferences},\n\t\t\t\thost,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\n\t\t\t// Check if keyboard shortcuts are enabled via user preferences\n\t\t\tconst keyboardShortcutsEnabled = getBooleanPreferenceValue(\n\t\t\t\tuserPreferences,\n\t\t\t\tPREFERENCES.KEYBOARD_SHORTCUTS,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tif (!keyboardShortcutsEnabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\t// Register component with action map (polaris-app-shell pattern)\n\t\t\t\tconst nowTriggerLibRegistrationId = registerComponent(host, {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tactionMap: {\n\t\t\t\t\t\t[FOCUS_BOTTOM_TOOLBAR_REQUESTED]: () => {\n\t\t\t\t\t\t\t// Dispatch action to focus bottom toolbar\n\t\t\t\t\t\t\tdispatch(FOCUS_BOTTOM_TOOLBAR_REQUESTED, {\n\t\t\t\t\t\t\t\tsource: 'keyboard-shortcut',\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});\n\n\t\t\t\t// Enable the shortcut by default\n\t\t\t\tsetActionState(host?.componentId, FOCUS_BOTTOM_TOOLBAR_REQUESTED, true);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tnowTriggerLibRegistrationId,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(\n\t\t\t\t\t'[WM Shortcuts] Failed to register keyboard shortcuts:',\n\t\t\t\t\terror,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Unregister keyboard shortcuts when component is disconnected\n\t\t * Prevents memory leaks\n\t\t */\n\t\t[COMPONENT_DISCONNECTED]: (coeffects) => {\n\t\t\tconst {updateState, state} = coeffects;\n\n\t\t\tif (!state.nowTriggerLibRegistrationId) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tderegisterComponent(state.nowTriggerLibRegistrationId);\n\t\t\t\tupdateState({\n\t\t\t\t\tnowTriggerLibRegistrationId: null,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(\n\t\t\t\t\t'[WM Shortcuts] Failed to unregister keyboard shortcuts:',\n\t\t\t\t\terror,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './styles.scss';\nimport view from './sn-window-manager.view';\nimport {actionHandlers} from './sn-window-manager.effects';\nimport keyboardShortcutsBehavior from './behaviors/keyboard-shortcuts-behavior';\n\ncreateCustomElement('sn-window-manager', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tdynamicStyleSheet: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t\tdeepCompare: true,\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t},\n\t\t// Dimensions of the *entire* window, i.e. browser\n\t\tbrowserDimensions: {\n\t\t\tdefault: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\twindowsList: {\n\t\t\tdefault: [],\n\t\t\tschema: {type: 'array'},\n\t\t},\n\t\twindowsState: {\n\t\t\tdefault: {\n\t\t\t\tleftDockId: null,\n\t\t\t\trightDockId: null,\n\t\t\t\tbottomDockId: null,\n\t\t\t\tactiveWindowId: null,\n\t\t\t\tminimizedWindows: [],\n\t\t\t\tminimizedTargetPositions: {},\n\t\t\t\tmodalWindows: [],\n\t\t\t\tcalculatedStyle: {},\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tportalType: {\n\t\t\tdefault: 'unified-navigation',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tunifiedNavComponent: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['object', 'null']},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tuserPreferences: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tanimationsDisabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tbottomToolbarComponent: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: 'object'},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tscreenInfo: {\n\t\t\tdefault: {\n\t\t\t\tscreenKey: null,\n\t\t\t\tinstanceId: null,\n\t\t\t\texperienceId: null,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tshowCloseConfirmDialog: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tclosingWindowId: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['string', 'null']},\n\t\t},\n\t\tconfirmCloseMessage: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: ['string', 'null']},\n\t\t},\n\t},\n\tactionHandlers: actionHandlers,\n\tbehaviors: [keyboardShortcutsBehavior],\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_sn_window_manager=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":384,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/ai-engagement-library/27.10.33/index.min.js","names":["module","exports","a","n","TypeError","__esModule","toPropertyKey","require","_defineProperties","e","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","key","prototype","_extends","assign","bind","arguments","hasOwnProperty","call","apply","indexOf","_typeof","Symbol","toPrimitive","i","String","Number","iterator","constructor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","d","definition","get","obj","prop","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__","default","generatorVersions","intentActions","registerGenerator","registerTranslator","setActiveTranslator","updateContext","CONTEXT_RECEIVED","_isNapActive","window","__aiexLibrary","pageContext","customContext","callbacks","Set","setContext","getPageContext","getNapActive","setNapActive","value","AIEX_HISTORY_KEY","translatorKey","payload","_payload$context","experienceName","sysId","table","url","route","context","_history","_history$replaceState","_location","state","history","replaceState","location","href","addToHistory","forEach","callback","actions","_history2","_window$__aiexLibrary","_window$__aiexLibrary2","emptyContext","subscribeToPageContextUpdates","cb","add","delete","getFullContext","__LIBRARY_INTENT_CHANNEL__mediatorRegistry","invoke","eventName","options","generatorVersion","V2","receiveAllContexts","console","warn","isTranslatorRegistered","setCustomContext","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__","UXF_CLOSE_MODELESS_WINDOW","UXF_CLOSE_MODELESS_WINDOW_ON_STAGE","UXF_CLOSE_WINDOW","UXF_CREATE_MODELESS_WINDOW","UXF_DIRTY_MODELESS_WINDOW","UXF_FOCUS_WINDOW","UXF_MINIMIZE_MODELESS_WINDOW","UXF_OPEN_WINDOW","UXF_SELECT_MODELESS_WINDOW","UXF_SHOW_MODELESS_WINDOW","UXF_TOGGLE_DOCK","UXF_TOGGLE_MINIMIZED","UXF_TOGGLE_MODAL","UXF_UPDATE_MODELESS_WINDOW","UXF_WM_SCREEN_SELECTED","WM_CLOSE_DOCK","WM_CLOSE_WINDOW","WM_CREATE_WINDOW","WM_FOCUS_WINDOW","WM_OPEN_WINDOW","WM_RELAY_MESSAGE","WM_SET_DIRTY_STATE","WM_SET_HEADER_BUTTONS","WM_SET_WINDOW_PROPERTIES","WM_TOGGLE_DOCK","WM_TOGGLE_MINIMIZED","WM_TOGGLE_MODAL","LAUNCH_EXPERIENCE","AI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED","AIEX_PUBLISH_REQUESTED","AIEX_SUBSCRIBE_REQUESTED","AIEX_UNSUBSCRIBE_REQUESTED","LAUNCH_WINDOW_MANAGER","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","getComponentsByTagNames","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__","snHttpFactory","snHttp","xsrfToken","g_ck","batch","batching","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__","getProperty","WM_LAUNCH_MODE_PROPERTY","CONTEXTUAL_PINNED_ID_PROPERTY","CONTEXTUAL_PINNED_ID_VALUE_FOR_CANVAS","EXPERIENCE_LAUNCH_MODE","MODAL","FLOATING","DOCKED","DOCKED_LEFT","DOCKED_RIGHT","getStartingStateByLaunchMode","launchMode","startingState","values","includes","document","dir","getBrandingOverrides","header_label","va_logo","title","headerIcon","icon","createCanvasWindowConfig","_ref","ux_globals","userPrefs","maxWindowSizePercentage","width","height","overrides","_objectWithoutPropertiesLoose","_excluded","id","canDrag","canResize","canMaximize","canMinimize","canToggleModal","canDock","closeToTop","closeToElement","dockConfig","dockRight","dockLeft","dockBottom","dockedWindowSize","isPersistent","isModal","dialogSize","resizableConfig","enableResizable","resizableMinWidth","resizableMinHeight","resizableMaxWidth","Math","floor","innerWidth","resizableMaxHeight","innerHeight","modalSize","content","component","properties","variant","configAria","dialog","role","isWindowManagerLoading","windowManagerComponentLoaded","windowManagerPreloadPromise","aiEngagementComponentLoaded","aiEngagementPreloadPromise","preloadAIEngagementComponent","then","info","catch","err","Promise","resolve","isPortalContext","_window$NOW","NOW","portal_url_suffix","setTimeout","launchWindowManager","async","host","portalType","_window$ux_globals","wmParent","body","appShellLayout","querySelector","polarisLayout","shadowRoot","getWMParent","__windowManagerConfig","isLoaded","windowManager","createElement","append","_window$ux_globals2","getSelectedContentFromRouter","_host$shadowRoot","routerId","nowId","launchExperience","_nassProps$brandingSe","_nassProps$brandingSe2","_window$ux_globals$__","hostType","_body$data","response","request","data","query","napActive","now","nowAssistUtility","error","checkAndUpdateNapActive","selectedContent","napShortcutCommand","conversationId","windowConfigOverrides","nassProps","canvasWindowConfig","brandingSettings","brandingProperties","sessionContext","forceNewConversation","remAdjustmentRequired","isChatOnlyMode","switchContextConversation","showChat","activeConversationId","nowAssistOptions","timestamp","Date","dialogAriaLabel","openOrCreateWindow","propsToUpdate","nowWindowManager","doesWindowExist","setWindowProperties","openWindow","createWindow","addEventListener","_window$nowWindowMana","launchSkillExecution","_nassProps$brandingSe3","skillId","skillParams","skill","windowManagerPromise","windowManagerApiProxy","Proxy","_","_len","args","Array","_key","wmAPI","channelManager","_createClass","ChannelManager","_classCallCheck","this","channels","Map","channelName","subscriberCallback","subscriberId","has","set","contextMap","contextHashId","makeContextHashId","subscribers","unsubscribe","_contextMap$get","debug","size","subscriberObj","_this$channels$get","uniqueSubscriberId","split","subscriberRemoved","cleanUpChannelMap","subscriberMap","desiredChannelName","desiredContext","push","str","JSON","stringify","keys","sort","hash","charCodeAt","toString","subscribe","unsubIdCallback","replace","c","random","createSubscriberId","unsubscribeFn","registerChannel","publish","_ref2","relayMessage","getAllSubscribers","COMPONENT_BOOTSTRAPPED","getUxfWindowId","experienceId","screenKey","instanceId","componentId","zoneThreeHoistTarget","name","actionHandlers","effect","windowManagerShim","coeffects","action","unifiedNavComponent","hostComponent","stopPropagation","_ref3","_ref4","closeWindow","windowId","newProps","newProperties","closeDock","dockLocation","toggleDock","toggleModal","toggleMinimized","focusWindow","headerButtons","setHeaderButtons","_payload$dirtyState","dirtyState","isDirty","setDirtyState","keysToFilterOut","fromEntries","entries","filter","_ref5","_payload$opts","modelessProps","opts","windowConfig","isUXFWindow","isGlobalWindow","headingLabel","contentRef","modelessDialogControllerId","meta","eventInfo","sourceElementId","uxfMeta","forceDestroy","_payload$dirtyState2","_ref6","handleScreenChanged","windowsList","win","updateUserPreferences","_ref7","enableModal","AIEX_UPDATE_CONTEXT","_ref8","_ref9","_ref0","_ref1","dispatch","buttonAction","target"],"sources":["webpack:///@babel/runtime/7.28.3/helpers/classCallCheck.js","webpack:///@babel/runtime/7.28.3/helpers/createClass.js","webpack:///@babel/runtime/7.28.3/helpers/extends.js","webpack:///@babel/runtime/7.28.3/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.28.3/helpers/toPrimitive.js","webpack:///@babel/runtime/7.28.3/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.28.3/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///external module \"/uxasset/externals/@devsnc/library-intent-channel/index.jsdbx\"","webpack:///@servicenow/ai-engagement-library/27.10.33/aiex-library.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/sn-window-manager/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.0/index.jsdbx\"","webpack:///@servicenow/ai-engagement-library/27.10.33/actions.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-http-request/29.3.4/index.jsdbx\"","webpack:///@servicenow/ai-engagement-library/27.10.33/graphql-utils.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/26.0.0/index.jsdbx\"","webpack:///@servicenow/ai-engagement-library/27.10.33/constants.js","webpack:///@servicenow/ai-engagement-library/27.10.33/launcher.js","webpack:///@servicenow/ai-engagement-library/27.10.33/utils/window-manager-shim.js","webpack:///@servicenow/ai-engagement-library/27.10.33/pub-sub.js","webpack:///@servicenow/ai-engagement-library/27.10.33/utils/channel-manager.js","webpack:///@servicenow/ai-engagement-library/27.10.33/launcher-behavior.js"],"sourcesContent":["function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (-1 !== e.indexOf(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"generatorVersions\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'generatorVersions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].generatorVersions;\n\t\t\t\t\t} else if ('generatorVersions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.generatorVersions || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].generatorVersions;\n\t\t\t\t}, [\"intentActions\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'intentActions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentActions;\n\t\t\t\t\t} else if ('intentActions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.intentActions || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentActions;\n\t\t\t\t}, [\"registerGenerator\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerGenerator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].registerGenerator;\n\t\t\t\t\t} else if ('registerGenerator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.registerGenerator || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].registerGenerator;\n\t\t\t\t}, [\"registerTranslator\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerTranslator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].registerTranslator;\n\t\t\t\t\t} else if ('registerTranslator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.registerTranslator || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].registerTranslator;\n\t\t\t\t}, [\"setActiveTranslator\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActiveTranslator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].setActiveTranslator;\n\t\t\t\t\t} else if ('setActiveTranslator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.setActiveTranslator || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].setActiveTranslator;\n\t\t\t\t}, [\"updateContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'updateContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].updateContext;\n\t\t\t\t\t} else if ('updateContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.updateContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].updateContext;\n\t\t\t\t} });","import {\n\tregisterTranslator,\n\tsetActiveTranslator,\n\tregisterGenerator,\n\tintentActions,\n\tgeneratorVersions,\n\tupdateContext,\n} from '@devsnc/library-intent-channel';\n\nconst {CONTEXT_RECEIVED} = intentActions;\n// Private state for NAP active status\nlet _isNapActive = undefined;\n\nwindow.__aiexLibrary = window.__aiexLibrary || {\n\tpageContext: {},\n\tcustomContext: {},\n\tcallbacks: new Set(),\n\t// for testing\n\tsetContext,\n\tgetPageContext,\n\n\t// NAP configuration methods\n\tgetNapActive() {\n\t\treturn _isNapActive;\n\t},\n\tsetNapActive(value) {\n\t\t_isNapActive = value;\n\t},\n};\n\nconst AIEX_HISTORY_KEY = '__aiex_context';\nconst translatorKey = 'aiex-library';\n\nfunction addToHistory() {\n\tconst state = history.state || {};\n\thistory?.replaceState?.(\n\t\t{...state, [AIEX_HISTORY_KEY]: true},\n\t\t'',\n\t\tlocation?.href || '',\n\t);\n}\n\nfunction setContext(payload) {\n\tif (payload.translatorKey === translatorKey) {\n\t\treturn;\n\t}\n\n\t// these are the specific fields that chat component picks up\n\t// to send to the backend\n\tconst {experienceName, sysId, table, url, route, customContext} =\n\t\tpayload.context ?? {};\n\n\twindow.__aiexLibrary.pageContext = {\n\t\texperienceName,\n\t\tsysId,\n\t\ttable,\n\t\turl,\n\t\troute,\n\t};\n\n\t// mark that this history entry has context\n\taddToHistory();\n\n\t// keep custom context from other translators separate\n\twindow.__aiexLibrary.customContext = customContext ?? {};\n\n\twindow.__aiexLibrary.callbacks.forEach((callback) => {\n\t\tcallback(getPageContext());\n\t});\n}\n\nconst actions = {\n\t[CONTEXT_RECEIVED]: setContext,\n};\n\nfunction dispatch(eventName, payload) {\n\tactions[eventName] && actions[eventName](payload);\n}\n\n// workaround for now for older versions of library-intent-channel loaded\n// from bundled apps\nif (\n\t// check if older version is added that doesn't have invoke\n\t!(\n\t\twindow.__LIBRARY_INTENT_CHANNEL__mediatorRegistry &&\n\t\t!window.__LIBRARY_INTENT_CHANNEL__mediatorRegistry.invoke\n\t)\n) {\n\tregisterGenerator('aiex-library', dispatch, {\n\t\toptions: {generatorVersion: generatorVersions.V2, receiveAllContexts: true},\n\t});\n} else {\n\tconsole.warn('Failed to register generator');\n}\n\nexport function getPageContext() {\n\tconst state = history?.state || {};\n\tconst hasMark = !!state?.[AIEX_HISTORY_KEY];\n\tconst emptyContext = {\n\t\texperienceName: undefined,\n\t\tsysId: undefined,\n\t\ttable: undefined,\n\t\turl: undefined,\n\t\troute: undefined,\n\t};\n\n\tif (!hasMark) {\n\t\treturn {...emptyContext};\n\t}\n\n\treturn window.__aiexLibrary?.pageContext ?? {...emptyContext};\n}\n\nexport function subscribeToPageContextUpdates(cb) {\n\tif (typeof cb !== 'function') {\n\t\treturn;\n\t}\n\n\twindow.__aiexLibrary.callbacks.add(cb);\n\t// call with current page context\n\tcb(getPageContext());\n\n\t// return unsubscribe function\n\treturn () => {\n\t\twindow.__aiexLibrary.callbacks.delete(cb);\n\t};\n}\n\nexport function getFullContext() {\n\treturn {\n\t\t...getPageContext(),\n\t\tcustomContext: window.__aiexLibrary.customContext,\n\t};\n}\n\nlet isTranslatorRegistered = false;\n\nexport function setCustomContext(customContext) {\n\tif (!isTranslatorRegistered) {\n\t\tregisterTranslator(translatorKey, function () {}, {});\n\t\tisTranslatorRegistered = true;\n\t}\n\n\tObject.assign(window.__aiexLibrary.customContext, customContext);\n\n\tconst context = getFullContext();\n\n\tsetActiveTranslator(translatorKey);\n\tupdateContext(translatorKey, context);\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"UXF_CLOSE_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_CLOSE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_CLOSE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_CLOSE_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_CLOSE_MODELESS_WINDOW_ON_STAGE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_CLOSE_MODELESS_WINDOW_ON_STAGE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_MODELESS_WINDOW_ON_STAGE;\n\t\t\t\t\t} else if ('UXF_CLOSE_MODELESS_WINDOW_ON_STAGE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_CLOSE_MODELESS_WINDOW_ON_STAGE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_MODELESS_WINDOW_ON_STAGE;\n\t\t\t\t}, [\"UXF_CLOSE_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_CLOSE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_WINDOW;\n\t\t\t\t\t} else if ('UXF_CLOSE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_CLOSE_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CLOSE_WINDOW;\n\t\t\t\t}, [\"UXF_CREATE_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_CREATE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CREATE_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_CREATE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_CREATE_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_CREATE_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_DIRTY_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_DIRTY_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_DIRTY_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_DIRTY_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_DIRTY_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_DIRTY_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_FOCUS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_FOCUS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_FOCUS_WINDOW;\n\t\t\t\t\t} else if ('UXF_FOCUS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_FOCUS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_FOCUS_WINDOW;\n\t\t\t\t}, [\"UXF_MINIMIZE_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_MINIMIZE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_MINIMIZE_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_MINIMIZE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_MINIMIZE_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_MINIMIZE_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_OPEN_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_OPEN_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_OPEN_WINDOW;\n\t\t\t\t\t} else if ('UXF_OPEN_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_OPEN_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_OPEN_WINDOW;\n\t\t\t\t}, [\"UXF_SELECT_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_SELECT_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_SELECT_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_SELECT_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_SELECT_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_SELECT_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_SHOW_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_SHOW_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_SHOW_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_SHOW_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_SHOW_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_SHOW_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_TOGGLE_DOCK\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_TOGGLE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_DOCK;\n\t\t\t\t\t} else if ('UXF_TOGGLE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_TOGGLE_DOCK || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_DOCK;\n\t\t\t\t}, [\"UXF_TOGGLE_MINIMIZED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_TOGGLE_MINIMIZED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_MINIMIZED;\n\t\t\t\t\t} else if ('UXF_TOGGLE_MINIMIZED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_TOGGLE_MINIMIZED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_MINIMIZED;\n\t\t\t\t}, [\"UXF_TOGGLE_MODAL\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_TOGGLE_MODAL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_MODAL;\n\t\t\t\t\t} else if ('UXF_TOGGLE_MODAL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_TOGGLE_MODAL || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_TOGGLE_MODAL;\n\t\t\t\t}, [\"UXF_UPDATE_MODELESS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_UPDATE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_UPDATE_MODELESS_WINDOW;\n\t\t\t\t\t} else if ('UXF_UPDATE_MODELESS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_UPDATE_MODELESS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_UPDATE_MODELESS_WINDOW;\n\t\t\t\t}, [\"UXF_WM_SCREEN_SELECTED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'UXF_WM_SCREEN_SELECTED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_WM_SCREEN_SELECTED;\n\t\t\t\t\t} else if ('UXF_WM_SCREEN_SELECTED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.UXF_WM_SCREEN_SELECTED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].UXF_WM_SCREEN_SELECTED;\n\t\t\t\t}, [\"WM_CLOSE_DOCK\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_CLOSE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CLOSE_DOCK;\n\t\t\t\t\t} else if ('WM_CLOSE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_CLOSE_DOCK || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CLOSE_DOCK;\n\t\t\t\t}, [\"WM_CLOSE_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_CLOSE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CLOSE_WINDOW;\n\t\t\t\t\t} else if ('WM_CLOSE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_CLOSE_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CLOSE_WINDOW;\n\t\t\t\t}, [\"WM_CREATE_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_CREATE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CREATE_WINDOW;\n\t\t\t\t\t} else if ('WM_CREATE_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_CREATE_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_CREATE_WINDOW;\n\t\t\t\t}, [\"WM_FOCUS_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_FOCUS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_FOCUS_WINDOW;\n\t\t\t\t\t} else if ('WM_FOCUS_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_FOCUS_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_FOCUS_WINDOW;\n\t\t\t\t}, [\"WM_OPEN_WINDOW\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_OPEN_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_OPEN_WINDOW;\n\t\t\t\t\t} else if ('WM_OPEN_WINDOW' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_OPEN_WINDOW || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_OPEN_WINDOW;\n\t\t\t\t}, [\"WM_RELAY_MESSAGE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_RELAY_MESSAGE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_RELAY_MESSAGE;\n\t\t\t\t\t} else if ('WM_RELAY_MESSAGE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_RELAY_MESSAGE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_RELAY_MESSAGE;\n\t\t\t\t}, [\"WM_SET_DIRTY_STATE\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_SET_DIRTY_STATE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_DIRTY_STATE;\n\t\t\t\t\t} else if ('WM_SET_DIRTY_STATE' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_SET_DIRTY_STATE || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_DIRTY_STATE;\n\t\t\t\t}, [\"WM_SET_HEADER_BUTTONS\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_SET_HEADER_BUTTONS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_HEADER_BUTTONS;\n\t\t\t\t\t} else if ('WM_SET_HEADER_BUTTONS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_SET_HEADER_BUTTONS || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_HEADER_BUTTONS;\n\t\t\t\t}, [\"WM_SET_WINDOW_PROPERTIES\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_SET_WINDOW_PROPERTIES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_WINDOW_PROPERTIES;\n\t\t\t\t\t} else if ('WM_SET_WINDOW_PROPERTIES' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_SET_WINDOW_PROPERTIES || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_SET_WINDOW_PROPERTIES;\n\t\t\t\t}, [\"WM_TOGGLE_DOCK\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_TOGGLE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_DOCK;\n\t\t\t\t\t} else if ('WM_TOGGLE_DOCK' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_TOGGLE_DOCK || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_DOCK;\n\t\t\t\t}, [\"WM_TOGGLE_MINIMIZED\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_TOGGLE_MINIMIZED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_MINIMIZED;\n\t\t\t\t\t} else if ('WM_TOGGLE_MINIMIZED' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_TOGGLE_MINIMIZED || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_MINIMIZED;\n\t\t\t\t}, [\"WM_TOGGLE_MODAL\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.__esModule\n\t\t\t\t\tif (cjsModule && 'WM_TOGGLE_MODAL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_MODAL;\n\t\t\t\t\t} else if ('WM_TOGGLE_MODAL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__.WM_TOGGLE_MODAL || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_sn_window_manager_index_jsdbx_6ad92d9c__[\"default\"].WM_TOGGLE_MODAL;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const LAUNCH_EXPERIENCE = 'AI_ENGAGEMENT_LAUNCH_EXPERIENCE';\nexport const LAUNCH_EXPERIENCE_WITH_DEBOUNCE =\n\t'LAUNCH_EXPERIENCE_WITH_DEBOUNCE';\nexport const AI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED =\n\t'AI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED';\n\n// Separate PR to work on these\nexport const MESSAGE_RECEIVED = 'NOW_AI_CANVAS_FRAMEWORK_MESSAGE_RECEIVED';\nexport const SEND_MESSAGE = 'NOW_AI_CANVAS_FRAMEWORK_SEND_MESSAGE';\n\n// PUB-SUB Actions\nexport const AIEX_PUBLISH_REQUESTED = 'AIEX_PUBLISH_REQUESTED';\nexport const AIEX_SUBSCRIBE_REQUESTED = 'AIEX_SUBSCRIBE_REQUESTED';\nexport const AIEX_UNSUBSCRIBE_REQUESTED = 'AIEX_UNSUBSCRIBE_REQUESTED';\n\n// Action handler for launching window manager for a click\nexport const LAUNCH_WINDOW_MANAGER =\n\t'NOW_AI_CANVAS_FRAMEWORK_LAUNCH_WINDOW_MANAGER';\n\nexport const LAUNCH_EXPERIENCE_DEBOUNCE_TIMER = 700;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getComponentsByTagNames\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t\t} else if ('getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getComponentsByTagNames || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"snHttpFactory\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__.__esModule\n\t\t\t\t\tif (cjsModule && 'snHttpFactory' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"].snHttpFactory;\n\t\t\t\t\t} else if ('snHttpFactory' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__.snHttpFactory || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"].snHttpFactory;\n\t\t\t\t} });","import {snHttpFactory} from 'sn-http-request';\n\nconst snHttp = snHttpFactory({\n\txsrfToken: typeof window !== 'undefined' ? window.g_ck : undefined,\n\tbatch: false,\n\tbatching: false,\n});\n\n// GraphQL Queries\nexport const isNapActiveQuery = `\n\tquery CheckNowAssistActive {\n\t\tnow {\n\t\t\tnowAssistUtility {\n\t\t\t\tnapActive\n\t\t\t}\n\t\t}\n\t}\n`;\nconst GRAPHQL_ENDPOINT = '/api/now/graphql';\n\nexport async function checkAndUpdateNapActive() {\n\tif (window.__aiexLibrary.getNapActive() !== undefined) {\n\t\treturn window.__aiexLibrary.getNapActive();\n\t}\n\ttry {\n\t\tconst response = await snHttp.request(GRAPHQL_ENDPOINT, 'POST', {\n\t\t\tdata: {\n\t\t\t\tquery: isNapActiveQuery,\n\t\t\t},\n\t\t});\n\t\tconst body = response?.body;\n\t\tconst napActive = body?.data?.now?.nowAssistUtility?.napActive;\n\n\t\twindow.__aiexLibrary.setNapActive(napActive === true);\n\t} catch (error) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Failed to check NAP active status:', error);\n\t}\n\n\tif (!window.__aiexLibrary.getNapActive()) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('SN_AIEL: NAP is not active');\n\t\treturn false;\n\t}\n\treturn true;\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t} });","export const WM_LAUNCH_MODE_PROPERTY = 'com.glide.aiex.launch_mode';\nexport const CONTEXTUAL_PINNED_ID_PROPERTY =\n\t'glide.ui.menu.contextual.pinned.id';\nexport const CONTEXTUAL_PINNED_ID_VALUE_FOR_CANVAS = 'now-ai-canvas-window';\n","import {getComponentsByTagNames} from '@devsnc/library-uxf';\nimport {checkAndUpdateNapActive} from './graphql-utils';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {\n\tWM_LAUNCH_MODE_PROPERTY,\n\tCONTEXTUAL_PINNED_ID_PROPERTY,\n\tCONTEXTUAL_PINNED_ID_VALUE_FOR_CANVAS,\n} from './constants';\n\nexport const EXPERIENCE_LAUNCH_MODE = {\n\tMODAL: 'modal', // 90% mode\n\tFLOATING: 'floating', // Floating window mode\n\tDOCKED: 'docked',\n\tDOCKED_LEFT: 'docked-left',\n\tDOCKED_RIGHT: 'docked-right',\n};\nconst DOCUMENT_DIRECTION = 'rtl';\n\nfunction getStartingStateByLaunchMode(launchMode) {\n\t// Determine starting state based on launchMode\n\tconst startingState = Object.values(EXPERIENCE_LAUNCH_MODE).includes(\n\t\tlaunchMode,\n\t)\n\t\t? launchMode\n\t\t: EXPERIENCE_LAUNCH_MODE.DOCKED;\n\n\tif (startingState === EXPERIENCE_LAUNCH_MODE.DOCKED) {\n\t\treturn document.dir === DOCUMENT_DIRECTION\n\t\t\t? EXPERIENCE_LAUNCH_MODE.DOCKED_LEFT\n\t\t\t: EXPERIENCE_LAUNCH_MODE.DOCKED_RIGHT;\n\t}\n\treturn startingState;\n}\n\nconst getBrandingOverrides = ({header_label, va_logo} = {}) => ({\n\t...(header_label && {title: header_label}),\n\t...(va_logo && {\n\t\theaderIcon: {\n\t\t\ticon: va_logo,\n\t\t},\n\t}),\n});\n\nexport const createCanvasWindowConfig = ({\n\tlaunchMode = window.ux_globals.userPrefs[CONTEXTUAL_PINNED_ID_PROPERTY] ===\n\tCONTEXTUAL_PINNED_ID_VALUE_FOR_CANVAS\n\t\t? EXPERIENCE_LAUNCH_MODE.DOCKED\n\t\t: window.ux_globals.userPrefs[WM_LAUNCH_MODE_PROPERTY] ||\n\t\t\tgetProperty('com.glide.aiex.launch_mode') ||\n\t\t\tEXPERIENCE_LAUNCH_MODE.DOCKED,\n\tmaxWindowSizePercentage = {width: 80, height: 80},\n\t...overrides\n} = {}) => ({\n\tid: 'now-ai-canvas-window',\n\ttitle: 'ServiceNow Otto',\n\tcanDrag: true,\n\tcanResize: true,\n\tcanMaximize: true,\n\tcanMinimize: false,\n\tcanToggleModal: true,\n\tcanDock: true,\n\tcloseToTop: true,\n\tcloseToElement: '[data-id=\"now-assist-button\"]',\n\tdockConfig: {\n\t\tdockRight: true,\n\t\tdockLeft: false,\n\t\tdockBottom: false,\n\t},\n\tdockedWindowSize: 408,\n\tisPersistent: true,\n\tisModal: launchMode === EXPERIENCE_LAUNCH_MODE.MODAL,\n\theaderIcon: {\n\t\ticon: 'ai-sparkle-fill',\n\t},\n\tstartingState: getStartingStateByLaunchMode(launchMode),\n\t// dialogLocation: {\n\t// \tleft: 0,\n\t// \ttop: 52\n\t// },\n\tdialogSize: {\n\t\twidth: 420,\n\t\theight: 640,\n\t},\n\tresizableConfig: {\n\t\tenableResizable: true,\n\t\tresizableMinWidth: 320,\n\t\tresizableMinHeight: 280,\n\t\tresizableMaxWidth: Math.floor(\n\t\t\twindow.innerWidth * (maxWindowSizePercentage.width / 100),\n\t\t),\n\t\tresizableMaxHeight: Math.floor(\n\t\t\twindow.innerHeight * (maxWindowSizePercentage.height / 100),\n\t\t),\n\t\tcontext: 'float',\n\t},\n\tmaxWindowSizePercentage,\n\tmodalSize: {\n\t\twidth: '95%',\n\t\theight: '85%',\n\t},\n\tcontent: {\n\t\tcomponent: 'sn-ai-engagement-experience',\n\t\tproperties: {},\n\t},\n\tvariant: 'aiex',\n\tconfigAria: {\n\t\tdialog: {\n\t\t\trole: 'dialog',\n\t\t\t'aria-label': 'ServiceNow Otto',\n\t\t\t'aria-labelledby': 'sn-window-heading-now-ai-canvas-window',\n\t\t},\n\t},\n\t...overrides,\n});\n\nlet isWindowManagerLoading = false;\n\nlet windowManagerComponentLoaded = false;\nlet windowManagerPreloadPromise = null;\n\nlet aiEngagementComponentLoaded = false;\nlet aiEngagementPreloadPromise = null;\n\nconst getWMParent = (host) => {\n\tlet wmParent = host || document.body;\n\n\tconst appShellLayout = wmParent.querySelector('sn-canvas-appshell-layout');\n\tif (appShellLayout) {\n\t\tconst polarisLayout = appShellLayout.querySelector('sn-polaris-layout');\n\t\twmParent = polarisLayout ? polarisLayout.shadowRoot : appShellLayout;\n\t}\n\n\treturn wmParent;\n};\n\nexport const preloadWindowManagerComponent = () => {\n\tif (!windowManagerPreloadPromise && !windowManagerComponentLoaded) {\n\t\twindowManagerPreloadPromise = getComponentsByTagNames(['sn-window-manager'])\n\t\t\t.then(() => {\n\t\t\t\tconsole.info('Window manager component preloaded successfully');\n\t\t\t\twindowManagerComponentLoaded = true;\n\t\t\t\twindowManagerPreloadPromise = null;\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'Window manager preload failed, will load on demand:',\n\t\t\t\t\terr,\n\t\t\t\t);\n\t\t\t\twindowManagerPreloadPromise = null;\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\treturn (\n\t\twindowManagerPreloadPromise || Promise.resolve(windowManagerComponentLoaded)\n\t);\n};\n\nexport const preloadAIEngagementComponent = () => {\n\tif (!aiEngagementPreloadPromise && !aiEngagementComponentLoaded) {\n\t\taiEngagementPreloadPromise = getComponentsByTagNames([\n\t\t\t'sn-ai-engagement-experience',\n\t\t])\n\t\t\t.then(() => {\n\t\t\t\tconsole.info(\n\t\t\t\t\t'AI engagement experience component preloaded successfully',\n\t\t\t\t);\n\t\t\t\taiEngagementComponentLoaded = true;\n\t\t\t\taiEngagementPreloadPromise = null;\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'AI engagement experience preload failed, will load on demand:',\n\t\t\t\t\terr,\n\t\t\t\t);\n\t\t\t\taiEngagementPreloadPromise = null;\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\treturn (\n\t\taiEngagementPreloadPromise || Promise.resolve(aiEngagementComponentLoaded)\n\t);\n};\n\n// Only preloads in a portal experience\nconst isPortalContext = () =>\n\ttypeof window !== 'undefined' && !!window.NOW?.portal_url_suffix;\n\n// Trigger both preloads when the module is loaded (portal only)\nif (isPortalContext()) {\n\t// Defer preloading slightly to not block initial page rendering\n\tsetTimeout(() => {\n\t\tpreloadWindowManagerComponent();\n\t\t// Start AI engagement preload after window manager to avoid resource contention\n\t\tsetTimeout(preloadAIEngagementComponent, 100);\n\t}, 100);\n}\n\nexport const launchWindowManager = async (host, portalType) => {\n\tconst wmParent = getWMParent(host);\n\n\tif (\n\t\tisWindowManagerLoading ||\n\t\twindow.ux_globals?.__windowManagerConfig?.isLoaded\n\t) {\n\t\tconsole.info('Window manager already exists', wmParent);\n\t\treturn wmParent.querySelector('sn-window-manager');\n\t}\n\n\tisWindowManagerLoading = true;\n\n\ttry {\n\t\t// Use the preloaded component or load it now if preloading failed\n\t\tif (!windowManagerComponentLoaded) {\n\t\t\tawait getComponentsByTagNames(['sn-window-manager']);\n\t\t\twindowManagerComponentLoaded = true;\n\t\t}\n\n\t\tconst windowManager = document.createElement('sn-window-manager');\n\n\t\t// Set the portalType property if provided\n\t\tif (portalType) {\n\t\t\twindowManager.portalType = portalType;\n\t\t}\n\n\t\twmParent.append(windowManager);\n\n\t\tconsole.info('Window manager created', windowManager);\n\t\treturn windowManager;\n\t} finally {\n\t\t// Reset the loading flag if something goes wrong\n\t\tif (!window.ux_globals?.__windowManagerConfig?.isLoaded) {\n\t\t\tconsole.info('Resetting isWindowManagerLoading flag');\n\t\t\tisWindowManagerLoading = false;\n\t\t}\n\t}\n};\n\nfunction getSelectedContentFromRouter(host) {\n\tconst routerId = host?.shadowRoot?.querySelector('sn-canvas-router')?.nowId;\n\tif (!routerId) {\n\t\treturn undefined;\n\t}\n\n\treturn `@${routerId}/selectedContent`;\n}\n\nexport const launchExperience = async (payload, host) => {\n\t// Check if NAP is active if not already checked (ONLY if we're not in portal)\n\tif (payload.hostType !== 'portal') {\n\t\tconst napActive = await checkAndUpdateNapActive();\n\t\tif (!napActive) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tconst {\n\t\tselectedContent,\n\t\tnapShortcutCommand,\n\t\tconversationId,\n\t\twindowConfigOverrides = {},\n\t\tlaunchMode,\n\t\tportalType,\n\t\tnassProps,\n\t\tmaxWindowSizePercentage,\n\t\tcanvasWindowConfig = createCanvasWindowConfig({\n\t\t\tlaunchMode,\n\t\t\tmaxWindowSizePercentage,\n\t\t\t...windowConfigOverrides,\n\t\t\t...getBrandingOverrides(nassProps?.brandingSettings?.brandingProperties),\n\t\t}),\n\t\tsessionContext = {},\n\t\tforceNewConversation,\n\t\thostType,\n\t\tremAdjustmentRequired,\n\t\tisChatOnlyMode = false,\n\t\tswitchContextConversation,\n\t} = payload;\n\n\t// if full page canvas, just call nav_item_selected\n\tif (!aiEngagementComponentLoaded) {\n\t\tawait getComponentsByTagNames(['sn-ai-engagement-experience']);\n\t\taiEngagementComponentLoaded = true;\n\t}\n\n\tcanvasWindowConfig.content.properties = {\n\t\t...canvasWindowConfig.content.properties,\n\t\tshowChat: true,\n\t\tnapShortcutCommand,\n\t\tactiveConversationId: conversationId,\n\t\tselectedContent: selectedContent ?? getSelectedContentFromRouter(host),\n\t\tsessionContext,\n\t\thostType,\n\t\tnassProps,\n\t\tremAdjustmentRequired,\n\t\tswitchContextConversation,\n\t\tisChatOnlyMode,\n\t\tnowAssistOptions: {\n\t\t\tcontext: {...sessionContext},\n\t\t\tforceNewConversation,\n\t\t\ttimestamp: Date.now(),\n\t\t},\n\t\t...(nassProps?.brandingSettings?.brandingProperties?.header_label && {\n\t\t\tdialogAriaLabel:\n\t\t\t\tnassProps.brandingSettings.brandingProperties.header_label,\n\t\t}),\n\t};\n\n\tconst openOrCreateWindow = () => {\n\t\tconst propsToUpdate = canvasWindowConfig.content.properties;\n\n\t\tif (\n\t\t\twindow.nowWindowManager.doesWindowExist(canvasWindowConfig.id) === true\n\t\t) {\n\t\t\t// Update closeToElement on existing window so close animation targets the correct position\n\t\t\tif (canvasWindowConfig.closeToElement !== undefined) {\n\t\t\t\twindow.nowWindowManager.setWindowProperties(canvasWindowConfig.id, {\n\t\t\t\t\tcloseToElement: canvasWindowConfig.closeToElement,\n\t\t\t\t});\n\t\t\t}\n\t\t\twindow.nowWindowManager.openWindow(canvasWindowConfig.id, propsToUpdate);\n\t\t} else {\n\t\t\twindow.nowWindowManager.createWindow(canvasWindowConfig);\n\t\t}\n\t};\n\n\tif (window.ux_globals.__windowManagerConfig?.isLoaded) {\n\t\topenOrCreateWindow();\n\t} else {\n\t\tif (window.nowWindowManager) {\n\t\t\topenOrCreateWindow();\n\t\t} else {\n\t\t\t//Launching window manager on core & portal pages\n\t\t\tconst windowManager = await launchWindowManager(host, portalType);\n\t\t\twindowManager.addEventListener('SEISMIC_COMPONENT_BOOTSTRAPPED', () => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\twindow.nowWindowManager?.createWindow(canvasWindowConfig);\n\t\t\t\t}, 100);\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const launchSkillExecution = (payload, host) => {\n\tconst {\n\t\tskillId,\n\t\tskillParams,\n\t\tforceNewConversation,\n\t\tlaunchMode,\n\t\tnassProps,\n\t\tsessionContext = {},\n\t\tremAdjustmentRequired,\n\t\tmaxWindowSizePercentage,\n\t\twindowConfigOverrides = {},\n\t} = payload;\n\tconst canvasWindowConfig = createCanvasWindowConfig({\n\t\tlaunchMode,\n\t\tmaxWindowSizePercentage,\n\t\t...windowConfigOverrides,\n\t\t...getBrandingOverrides(nassProps?.brandingSettings?.brandingProperties),\n\t});\n\n\tcanvasWindowConfig.content.properties = {\n\t\tskillId,\n\t};\n\tlaunchExperience(\n\t\t{\n\t\t\tcanvasWindowConfig,\n\t\t\tforceNewConversation,\n\t\t\tnassProps,\n\t\t\tsessionContext: {...sessionContext, skill: skillId, skillParams},\n\t\t\tremAdjustmentRequired,\n\t\t},\n\t\thost,\n\t);\n};\n","import {launchWindowManager} from '../launcher';\n\n// Promise that will resolve when the window manager is ready\nlet windowManagerPromise;\n\n// Catch all potential window manager calls the user can make\nconst windowManagerApiProxy = new Proxy(\n\t{},\n\t{\n\t\tget(_, prop) {\n\t\t\t// Forward the call to the real window manager api\n\t\t\treturn async function (...args) {\n\t\t\t\tconst windowManager = await windowManagerPromise;\n\n\t\t\t\t// Wait for window manager to initialize all of the api logic\n\t\t\t\twindowManager.addEventListener('SEISMIC_COMPONENT_BOOTSTRAPPED', () => {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst wmAPI = window.nowWindowManager[prop];\n\n\t\t\t\t\t\t// Make sure we are invoking a window manager api that exists\n\t\t\t\t\t\tif (typeof wmAPI === 'function') {\n\t\t\t\t\t\t\treturn wmAPI(...args);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 100);\n\t\t\t\t});\n\t\t\t};\n\t\t},\n\t},\n);\n\n// Define nowWindowManager shim\nexport const windowManagerShim = (host) => {\n\tObject.defineProperty(window, 'nowWindowManager', {\n\t\tget() {\n\t\t\t// Kick off launching window manager and return the proxy in the case\n\t\t\t// where the user is immediately calling one of the JS APIs\n\t\t\tif (!windowManagerPromise) {\n\t\t\t\twindowManagerPromise = launchWindowManager(host);\n\t\t\t}\n\t\t\treturn windowManagerApiProxy;\n\t\t},\n\t\tset(value) {\n\t\t\tObject.defineProperty(window, 'nowWindowManager', {\n\t\t\t\tvalue,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t});\n\t\t\treturn true;\n\t\t},\n\t\tconfigurable: true,\n\t});\n};\n","// Description: generic pub-sub library to enable various bi-directional communication use-cases\nimport {ChannelManager} from './utils/channel-manager';\nconst channelManager = new ChannelManager();\n\nexport function subscribe({\n\tchannelName,\n\tcontext,\n\tcallback,\n\tunsubIdCallback = null,\n}) {\n\t// Sanity check arguments\n\tif (\n\t\ttypeof channelName !== 'string' ||\n\t\ttypeof context !== 'object' ||\n\t\ttypeof callback !== 'function'\n\t) {\n\t\tconsole.error('Invalid arguments for subscribe');\n\t\treturn;\n\t}\n\n\tconsole.debug(\n\t\t'Subscribing to channel',\n\t\tchannelName,\n\t\t'with context',\n\t\tcontext,\n\t\t'and callback',\n\t\tcallback,\n\t);\n\n\t// Create a unique id for this subscriber\n\tconst subscriberId = createSubscriberId(channelName, context);\n\tconst unsubscribeFn = channelManager.registerChannel(\n\t\tchannelName,\n\t\tcontext,\n\t\tcallback,\n\t\tsubscriberId,\n\t);\n\n\t// If an unsubIdCallback is provided, call it back with the subscriber id\n\tif (unsubIdCallback) {\n\t\tunsubIdCallback(subscriberId);\n\t} else {\n\t\treturn unsubscribeFn;\n\t}\n}\n\nexport function unsubscribe(subscriberId) {\n\t// Sanity check argument\n\tif (typeof subscriberId !== 'string') {\n\t\tconsole.error('Invalid argument for unsubscribe');\n\t\treturn false;\n\t}\n\n\tconsole.debug('Unsubscribing from channel with subscriber id', subscriberId);\n\n\t// Returns whether the unsubscribe was successful\n\treturn channelManager.unsubscribe(subscriberId);\n}\n\nexport function publish({channelName, context, data}) {\n\t// Sanity check arguments\n\tif (typeof channelName !== 'string' || typeof context !== 'object') {\n\t\tconsole.error('Invalid arguments for publish');\n\t\treturn false;\n\t}\n\n\tconsole.debug(\n\t\t'Publishing to channel',\n\t\tchannelName,\n\t\t'with context',\n\t\tcontext,\n\t\t'and data',\n\t\tdata,\n\t);\n\n\t// Return true if the message was sent to at least one subscriber\n\treturn channelManager.relayMessage(channelName, context, data);\n}\n\nexport function getAllSubscribers(payload) {\n\treturn channelManager.getAllSubscribers(\n\t\tpayload?.channelName,\n\t\tpayload?.context,\n\t);\n}\n\nexport function createSubscriberId(channelName, context) {\n\treturn `${channelName}_${channelManager.makeContextHashId(context)}_${'xxxxxxxx'.replace(\n\t\t/[xy]/g,\n\t\t(c) => {\n\t\t\tconst r = (Math.random() * 16) | 0;\n\t\t\tconst v = c === 'x' ? r : (r & 0x3) | 0x8;\n\t\t\treturn v.toString(16);\n\t\t},\n\t)}`;\n}\n","// Channel manager for pub-sub library\n\nexport class ChannelManager {\n\tconstructor() {\n\t\t/**\n\t\t * A map between a channel name and an object containing all the information for the channel such as:\n\t\t * - context-subscribers map: a map between a context hash id and an object containing the context object and a set of subscriber callbacks and ids\n\t\t *\n\t\t * Example:\n\t\t * {\n\t\t *     'SET_AGENT_CHAT_INPUT' => {\n\t\t *         '4645rffyf798987f' => {\n\t\t *             context: {\n\t\t *                  table: 'incident',\n\t\t *                  sys_id: '123'\n\t\t *              },\n\t\t *              subscribers: new Set([{callback1, id1}, {callback2, id2}])\n\t\t *      \t\t},\n\t\t * \t\t\t'24u184jjxn2jkr2' => {\n\t\t * \t\t\t\tcontext: {\n\t\t * \t\t\t\t\ttable: 'change',\n\t\t * \t\t\t\t\tsys_id: '456'\n\t\t * \t\t\t\t},\n\t\t * \t\t\t\tsubscribers: new Set([{callback3, id3}, {callback4, id4}])\n\t\t * \t\t\t},\n\t\t * \t\t\t...\n\t\t * \t\t},\n\t\t * \t\t'OTHER_CHANNEL' => {\n\t\t * \t\t\t...\n\t\t * \t\t}\n\t\t * \t\t...\n\t\t * }\n\t\t * @type {Map<string, Map<string, {context: Object, subscribers: Set<{callback: Function, id: string}>}>}\n\t\t */\n\t\tthis.channels = new Map();\n\t}\n\n\t/**\n\t * Registers a channel with the channel manager\n\t * @param {string} channelName - the name of the channel\n\t * @param {Object} context - the context of the page\n\t * @param {Function} subscriberCallback - the subscriber callback\n\t * @param {string} subscriberId - the id of the subscriber\n\t */\n\tregisterChannel(channelName, context, subscriberCallback, subscriberId) {\n\t\t// make sure that the channel exists\n\t\tif (!this.channels.has(channelName)) {\n\t\t\tthis.channels.set(channelName, new Map());\n\t\t}\n\n\t\tconst contextMap = this.channels.get(channelName);\n\n\t\t// make sure the there exists an entry for the given context\n\t\tconst contextHashId = this.makeContextHashId(context);\n\t\tif (!contextMap.has(contextHashId)) {\n\t\t\tcontextMap.set(contextHashId, {\n\t\t\t\tcontext,\n\t\t\t\tsubscribers: new Set(),\n\t\t\t});\n\t\t}\n\n\t\t// add the subscriber callback and the subscriber id to the set for this context subscriber map\n\t\tcontextMap.get(contextHashId).subscribers.add({\n\t\t\tcallback: subscriberCallback,\n\t\t\tid: subscriberId,\n\t\t});\n\n\t\t// return the unsubscribe function for users to invoke later on\n\t\treturn () => {\n\t\t\tthis.unsubscribe(subscriberId);\n\t\t};\n\t}\n\n\t/**\n\t * Relays a message to all subscribers of a channel\n\t * @param {string} channelName - the name of the channel\n\t * @param {Object} context - the context of the page\n\t * @param {Object} data - the data to be relayed\n\t */\n\trelayMessage(channelName, context, data) {\n\t\t// get the context subscribers map for the given channel\n\t\tconst contextMap = this.channels.get(channelName);\n\n\t\t// make sure that there is an entry for this channel name\n\t\tif (!contextMap) {\n\t\t\tconsole.debug('No subscribers for channel', channelName);\n\t\t\treturn false;\n\t\t}\n\n\t\t// grab the hash id for the given context\n\t\tconst contextHashId = this.makeContextHashId(context);\n\n\t\t// make sure there is an entry for this context under the channel name\n\t\tif (!contextMap.has(contextHashId)) {\n\t\t\tconsole.debug(\n\t\t\t\t'No subscribers for context',\n\t\t\t\tcontext,\n\t\t\t\t' under channel',\n\t\t\t\tchannelName,\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\t// get the subscribers for this context under the channel name\n\t\tconst subscribers = contextMap?.get(contextHashId)?.subscribers;\n\n\t\t// check if there are any subscribers to send the message to\n\t\tif (subscribers.size === 0) {\n\t\t\t// We should never get here because contexts without any subscribers should be cleaned up\n\t\t\tconsole.debug(\n\t\t\t\t'No subscribers for context',\n\t\t\t\tcontext,\n\t\t\t\t' under channel',\n\t\t\t\tchannelName,\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\t// loop through all the subscribers and invoke them with the data\n\t\tsubscribers.forEach((subscriberObj) => {\n\t\t\tsubscriberObj.callback(data);\n\t\t});\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Unsubscribes a subscriber from a channel\n\t * @param {string} subscriberId - the subscriber id\n\t * @returns {boolean} true if the subscriber was unsubscribed, false otherwise\n\t */\n\tunsubscribe(subscriberId) {\n\t\t// the subscriber id is in the format of `${channelName}_${contextHashId}_${uniqueSubscriberId}`\n\t\tconst [channelName, contextHashId, uniqueSubscriberId] =\n\t\t\tsubscriberId.split('_');\n\n\t\tif (!channelName || !contextHashId || !uniqueSubscriberId) {\n\t\t\tconsole.debug('Invalid subscriber id', subscriberId);\n\t\t\treturn false;\n\t\t}\n\n\t\t// get the context subscribers map for the given channel\n\t\tconst subscribers = this.channels\n\t\t\t.get(channelName)\n\t\t\t?.get(contextHashId)?.subscribers;\n\n\t\t// make sure that there is a set for this channel name and context\n\t\tif (!subscribers) {\n\t\t\tconsole.debug(\n\t\t\t\t'No subscribers for context',\n\t\t\t\tcontextHashId,\n\t\t\t\t' under channel',\n\t\t\t\tchannelName,\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\t// remove the subscriber object from the set with the given subscriber id key in the object\n\t\tlet subscriberRemoved = false;\n\t\tfor (const subscriberObj of subscribers) {\n\t\t\tif (subscriberObj.id === subscriberId) {\n\t\t\t\tsubscribers.delete(subscriberObj);\n\t\t\t\tsubscriberRemoved = true;\n\t\t\t}\n\t\t}\n\n\t\tif (!subscriberRemoved) {\n\t\t\tconsole.debug(\n\t\t\t\t'Subscriber with subscriber id',\n\t\t\t\tsubscriberId,\n\t\t\t\t' does not exist for channel',\n\t\t\t\tchannelName,\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.cleanUpChannelMap();\n\t\treturn true;\n\t}\n\n\t/**\n\t * Cleans up the channel map by removing channels that have no subscribers\n\t */\n\tcleanUpChannelMap() {\n\t\t// loop through all the channels\n\t\tthis.channels.forEach((contextMap, channelName, channels) => {\n\t\t\t// loop through all the context-subscriber maps for the channel\n\t\t\tcontextMap.forEach((subscriberMap, contextHashId) => {\n\t\t\t\t// if there are no subscribers for the context, remove it\n\t\t\t\tif (subscriberMap.subscribers.size === 0) {\n\t\t\t\t\tcontextMap.delete(contextHashId);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// if there are no contexts for the channel, remove the channel\n\t\t\tif (contextMap.size === 0) {\n\t\t\t\tchannels.delete(channelName);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * [Debugging] Returns a list of tuples of (channelName, contextHashId, subscriberId, subscriberCallback) for all subscribers\n\t * @param {string} desiredChannelName (optional) - the name of the channel\n\t * @param {Object} desiredContext (optional) - the context of the page\n\t * @returns {Array} list of tuples of (channelName, contextHashId, subscriberId, subscriberCallback)\n\t */\n\tgetAllSubscribers(desiredChannelName = null, desiredContext = null) {\n\t\tconst subscribers = [];\n\n\t\tthis.channels.forEach((contextMap, channelName) => {\n\t\t\tif (desiredChannelName == null || channelName === desiredChannelName) {\n\t\t\t\tcontextMap.forEach((subscriberMap, contextHashId) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tdesiredContext == null ||\n\t\t\t\t\t\tcontextHashId === this.makeContextHashId(desiredContext)\n\t\t\t\t\t) {\n\t\t\t\t\t\tsubscriberMap.subscribers.forEach((subscriberObj) => {\n\t\t\t\t\t\t\tsubscribers.push({\n\t\t\t\t\t\t\t\tchannelName,\n\t\t\t\t\t\t\t\tcontext: subscriberMap.context,\n\t\t\t\t\t\t\t\tsubscriberId: subscriberObj.id,\n\t\t\t\t\t\t\t\tsubscriberCallback: subscriberObj.callback,\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});\n\t\t\t}\n\t\t});\n\t\treturn subscribers;\n\t}\n\n\t/**\n\t * Makes context hash id from a context object\n\t * @param {Object} context - the context of the page\n\t * @returns {string} the hash id of the context\n\t */\n\tmakeContextHashId(context) {\n\t\t// sort the keys of the context object to ensure consistent hash ids\n\t\tconst str = JSON.stringify(context, Object.keys(context).sort());\n\n\t\tlet hash = 0;\n\t\t// loop through the string of the object and calculate the hash\n\t\tfor (let i = 0; i < str.length; i++) {\n\t\t\tconst chr = str.charCodeAt(i);\n\t\t\thash = (hash << 5) - hash + chr;\n\t\t\thash |= 0; // convert to 32‑bit integer\n\t\t}\n\n\t\treturn hash.toString();\n\t}\n}\n","import './aiex-library';\nimport {actionTypes} from '@servicenow/ui-core';\n\nimport {\n\tWM_CLOSE_DOCK,\n\tWM_CLOSE_WINDOW,\n\tWM_CREATE_WINDOW,\n\tWM_FOCUS_WINDOW,\n\tWM_OPEN_WINDOW,\n\tWM_RELAY_MESSAGE,\n\tWM_SET_HEADER_BUTTONS,\n\tWM_TOGGLE_DOCK,\n\tWM_TOGGLE_MINIMIZED,\n\tWM_TOGGLE_MODAL,\n\tWM_SET_DIRTY_STATE,\n\tWM_SET_WINDOW_PROPERTIES,\n\tUXF_WM_SCREEN_SELECTED,\n\tUXF_CREATE_MODELESS_WINDOW,\n\tUXF_SHOW_MODELESS_WINDOW,\n\tUXF_CLOSE_MODELESS_WINDOW,\n\tUXF_MINIMIZE_MODELESS_WINDOW,\n\tUXF_DIRTY_MODELESS_WINDOW,\n\tUXF_UPDATE_MODELESS_WINDOW,\n\tUXF_SELECT_MODELESS_WINDOW,\n\tUXF_TOGGLE_DOCK,\n\tUXF_TOGGLE_MODAL,\n\tUXF_TOGGLE_MINIMIZED,\n\tUXF_CLOSE_WINDOW,\n\tUXF_OPEN_WINDOW,\n\tUXF_FOCUS_WINDOW,\n\tUXF_CLOSE_MODELESS_WINDOW_ON_STAGE,\n} from '@servicenow/sn-window-manager';\nimport {debounce} from '@devsnc/snowdash';\nimport {\n\tLAUNCH_EXPERIENCE,\n\tLAUNCH_WINDOW_MANAGER,\n\tAI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED,\n\tLAUNCH_EXPERIENCE_DEBOUNCE_TIMER,\n\tLAUNCH_EXPERIENCE_WITH_DEBOUNCE,\n\tAIEX_PUBLISH_REQUESTED,\n\tAIEX_SUBSCRIBE_REQUESTED,\n\tAIEX_UNSUBSCRIBE_REQUESTED,\n} from './actions';\nimport {windowManagerShim} from './utils/window-manager-shim';\nimport {\n\tlaunchExperience,\n\tlaunchSkillExecution,\n\tlaunchWindowManager,\n} from './launcher';\nimport {setCustomContext} from './aiex-library';\nimport {publish, subscribe, unsubscribe} from './pub-sub';\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nexport const getUxfWindowId = (payload) => {\n\tif (!payload.experienceId || !payload.screenKey || !payload.instanceId) {\n\t\treturn payload.componentId;\n\t}\n\treturn `${payload.experienceId}~${payload.screenKey}~${payload.instanceId}`;\n};\n\n// Initialize window manager config\nif (window.ux_globals) {\n\twindow.ux_globals.__windowManagerConfig = {\n\t\tzoneThreeHoistTarget: null,\n\t\tisLoaded: false,\n\t};\n}\n\nexport default {\n\tname: 'NOW_AI_CANVAS_LAUNCHER_BEHAVIOR',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({host}) => {\n\t\t\t\t// Ensure window manager is not already initialized before shimming\n\t\t\t\tif (!window.ux_globals?.__windowManagerConfig?.isLoaded) {\n\t\t\t\t\twindowManagerShim(host);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t// TODO: remove later once we have worked out how to init window manager in places like blank app-shell and SP\n\t\t[LAUNCH_WINDOW_MANAGER]: {\n\t\t\tasync effect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t\thost,\n\t\t\t\t} = coeffects;\n\t\t\t\tconst windowManager = await launchWindowManager(host);\n\t\t\t\twindowManager.unifiedNavComponent = payload.hostComponent || null;\n\t\t\t},\n\t\t},\n\n\t\t[LAUNCH_EXPERIENCE]: {\n\t\t\teffect({host, action: {payload}}) {\n\t\t\t\tlaunchExperience(payload, host);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t[AI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED]: {\n\t\t\teffect({host, action: {payload}}) {\n\t\t\t\tlaunchSkillExecution(payload, host);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t// generic public events\n\t\t[WM_CREATE_WINDOW]: {\n\t\t\tasync effect({action: {payload}}) {\n\t\t\t\twindow.nowWindowManager.createWindow(payload);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_CLOSE_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.closeWindow(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_OPEN_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id || payload;\n\t\t\t\t\tconst newProps = payload.newProperties || {};\n\t\t\t\t\twindow.nowWindowManager.openWindow(windowId, newProps);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_CLOSE_DOCK]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.closeDock(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_TOGGLE_DOCK]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id || payload;\n\t\t\t\t\tconst dockLocation = payload.dockLocation || 'right';\n\t\t\t\t\twindow.nowWindowManager.toggleDock(windowId, dockLocation);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_TOGGLE_MODAL]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.toggleModal(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_TOGGLE_MINIMIZED]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.toggleMinimized(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_RELAY_MESSAGE]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.relayMessage(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_FOCUS_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.focusWindow(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_SET_HEADER_BUTTONS]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id || payload;\n\t\t\t\t\tconst headerButtons = payload.headerButtons || [];\n\t\t\t\t\twindow.nowWindowManager.setHeaderButtons(windowId, headerButtons);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_SET_DIRTY_STATE]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id || payload;\n\t\t\t\t\tconst dirtyState = payload.dirtyState ?? payload.isDirty;\n\t\t\t\t\twindow.nowWindowManager.setDirtyState(windowId, dirtyState);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[WM_SET_WINDOW_PROPERTIES]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id;\n\n\t\t\t\t\tconst keysToFilterOut = ['windowId', 'id', 'options'];\n\n\t\t\t\t\tconst newProperties = Object.fromEntries(\n\t\t\t\t\t\tObject.entries(payload).filter(\n\t\t\t\t\t\t\t([key]) => !keysToFilterOut.includes(key),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\n\t\t\t\t\twindow.nowWindowManager.setWindowProperties(windowId, newProperties);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t// UIB<>UXF events\n\t\t[UXF_CREATE_MODELESS_WINDOW]: {\n\t\t\tasync effect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst modelessProps = payload.modelessProps || {};\n\t\t\t\tconst windowId = getUxfWindowId({\n\t\t\t\t\tscreenKey: payload.screenKey,\n\t\t\t\t\texperienceId: payload.experienceId,\n\t\t\t\t\tinstanceId: payload.opts.instanceId,\n\t\t\t\t});\n\t\t\t\tconst windowConfig = {\n\t\t\t\t\tisUXFWindow: true,\n\t\t\t\t\tisGlobalWindow: false,\n\t\t\t\t\tid: windowId,\n\t\t\t\t\texperienceId: payload.experienceId,\n\t\t\t\t\tscreenKey: payload.screenKey,\n\t\t\t\t\tcomponentId: payload.componentId,\n\t\t\t\t\tinstanceId: payload.opts.instanceId,\n\t\t\t\t\ttitle: payload.modelessProps.headingLabel,\n\t\t\t\t\tdialogSize: {\n\t\t\t\t\t\twidth: payload.modelessProps.width,\n\t\t\t\t\t\theight: payload.modelessProps.height,\n\t\t\t\t\t},\n\t\t\t\t\t...payload.opts,\n\t\t\t\t\t...modelessProps,\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\tcomponent: payload.contentRef,\n\t\t\t\t\t},\n\t\t\t\t\tmodelessDialogControllerId:\n\t\t\t\t\t\tpayload?.opts?.meta?.eventInfo?.sourceElementId || null,\n\t\t\t\t};\n\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconsole.info(UXF_CREATE_MODELESS_WINDOW, windowConfig);\n\t\t\t\t\twindow.nowWindowManager.createWindow(windowConfig);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_SHOW_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\t\t\t\t\tconsole.info(UXF_SHOW_MODELESS_WINDOW, {payload, windowId});\n\t\t\t\t\twindow.nowWindowManager.openWindow(windowId);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_CLOSE_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tlet meta = null;\n\t\t\t\tif (payload?.uxfMeta) {\n\t\t\t\t\tmeta = {uxfMeta: payload.uxfMeta};\n\t\t\t\t}\n\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\t\t\t\t\tconst forceDestroy = payload.forceDestroy || false;\n\t\t\t\t\tconsole.info(UXF_CLOSE_MODELESS_WINDOW, {payload, windowId});\n\t\t\t\t\twindow.nowWindowManager.closeWindow(windowId, forceDestroy, meta);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_MINIMIZE_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\t\t\t\t\tconsole.info(UXF_MINIMIZE_MODELESS_WINDOW, {payload, windowId});\n\t\t\t\t\twindow.nowWindowManager.toggleMinimized(windowId, true);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_DIRTY_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\t\t\t\t\tconsole.info(UXF_DIRTY_MODELESS_WINDOW, {payload, windowId});\n\t\t\t\t\twindow.nowWindowManager.setDirtyState(\n\t\t\t\t\t\twindowId,\n\t\t\t\t\t\tpayload.dirtyState ?? payload.isDirty,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_UPDATE_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\n\t\t\t\t\tconst keysToFilterOut = [\n\t\t\t\t\t\t'componentId',\n\t\t\t\t\t\t'experienceId',\n\t\t\t\t\t\t'screenKey',\n\t\t\t\t\t\t'instanceId',\n\t\t\t\t\t\t'windowId',\n\t\t\t\t\t\t'options',\n\t\t\t\t\t];\n\n\t\t\t\t\tconst newProperties = Object.fromEntries(\n\t\t\t\t\t\tObject.entries(payload).filter(\n\t\t\t\t\t\t\t([key]) => !keysToFilterOut.includes(key),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\n\t\t\t\t\tconsole.info(UXF_UPDATE_MODELESS_WINDOW, {\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\twindowId,\n\t\t\t\t\t\tnewProperties,\n\t\t\t\t\t});\n\n\t\t\t\t\twindow.nowWindowManager.setWindowProperties(windowId, newProperties);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_SELECT_MODELESS_WINDOW]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = getUxfWindowId(payload);\n\t\t\t\t\tconsole.info(UXF_SELECT_MODELESS_WINDOW, {payload, windowId});\n\t\t\t\t\twindow.nowWindowManager.openWindow(windowId);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_WM_SCREEN_SELECTED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconsole.info(UXF_WM_SCREEN_SELECTED, payload);\n\t\t\t\t\twindow.nowWindowManager.handleScreenChanged(payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t// header button events sent from within a UIB or workspace page\n\t\t[UXF_TOGGLE_DOCK]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tconsole.info(UXF_TOGGLE_DOCK, payload);\n\t\t\t\tif (\n\t\t\t\t\tpayload?.windowConfig &&\n\t\t\t\t\tpayload.dockLocation &&\n\t\t\t\t\twindow.nowWindowManager\n\t\t\t\t) {\n\t\t\t\t\twindow.nowWindowManager.toggleDock(\n\t\t\t\t\t\tpayload.windowConfig.id,\n\t\t\t\t\t\tpayload.dockLocation,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_TOGGLE_MODAL]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tconsole.info(UXF_TOGGLE_MODAL, payload);\n\t\t\t\tif (payload?.windowConfig && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.toggleModal(payload.windowConfig.id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_TOGGLE_MINIMIZED]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tconsole.info(UXF_TOGGLE_MINIMIZED, payload);\n\t\t\t\tif (payload?.windowConfig && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.toggleMinimized(payload.windowConfig.id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_CLOSE_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {action} = coeffects;\n\t\t\t\tconst {payload} = action;\n\n\t\t\t\tconsole.info(UXF_CLOSE_WINDOW, {payload});\n\t\t\t\tif (payload?.windowConfig && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.closeWindow(\n\t\t\t\t\t\tpayload.windowConfig.id,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tpayload.meta,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_OPEN_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tconsole.info(UXF_OPEN_WINDOW, payload);\n\t\t\t\tif (payload?.windowConfig && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.openWindow(payload.windowConfig.id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_FOCUS_WINDOW]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tconsole.info(UXF_FOCUS_WINDOW, payload);\n\t\t\t\tif (payload?.windowConfig && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.focusWindow(payload.windowConfig.id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UXF_CLOSE_MODELESS_WINDOW_ON_STAGE]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconsole.info(UXF_CLOSE_MODELESS_WINDOW_ON_STAGE);\n\t\t\t\t\twindow.nowWindowManager.windowsList.forEach((win) => {\n\t\t\t\t\t\twindow.nowWindowManager.closeWindow(win.id, true);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['CANVAS_USER_PREFERENCE_UPDATE_REQUEST']: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {action} = coeffects;\n\t\t\t\tconst {payload} = action;\n\n\t\t\t\twindow.nowWindowManager.updateUserPreferences(\n\t\t\t\t\tpayload.name,\n\t\t\t\t\tpayload.value,\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t// these are for backwards compatibility with Y and Z releases\n\t\t// they will be removed in a future release\n\t\t['NOW_WINDOW_MANAGER#CREATE_WINDOW']: {\n\t\t\tasync effect({action: {payload}}) {\n\t\t\t\twindow.nowWindowManager.createWindow(payload);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_WINDOW_MANAGER#CLOSE_WINDOW']: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\twindowConfig: {id: windowId},\n\t\t\t\t\t\t\tforceDestroy,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.closeWindow(windowId, forceDestroy);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_WINDOW_MANAGER#OPEN_WINDOW']: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (payload && window.nowWindowManager) {\n\t\t\t\t\tconst windowId = payload.id || payload;\n\t\t\t\t\tconst newProps = payload.newProperties || {};\n\t\t\t\t\twindow.nowWindowManager.openWindow(windowId, newProps);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_WINDOW_MANAGER#TOGGLE_MODAL_STATE']: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\twindowConfig: {id: windowId},\n\t\t\t\t\t\t\tenableModal,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} = coeffects;\n\t\t\t\tif (windowId && window.nowWindowManager) {\n\t\t\t\t\twindow.nowWindowManager.toggleModal(windowId, enableModal);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\tAIEX_UPDATE_CONTEXT: {\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {context},\n\t\t\t\t},\n\t\t\t}) {\n\t\t\t\tsetCustomContext(context);\n\t\t\t},\n\t\t},\n\t\t[AIEX_SUBSCRIBE_REQUESTED]: {\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {channelName, context, subscriberCallback, unsubIdCallback},\n\t\t\t\t},\n\t\t\t}) {\n\t\t\t\tconsole.debug('AIEX_SUBSCRIBE_REQUESTED', channelName, context);\n\n\t\t\t\tif (!unsubIdCallback || typeof unsubIdCallback !== 'function') {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Must provide a callback function to receive the subscriber id',\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubscribe({\n\t\t\t\t\tchannelName,\n\t\t\t\t\tcontext,\n\t\t\t\t\tcallback: subscriberCallback,\n\t\t\t\t\tunsubIdCallback,\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[AIEX_UNSUBSCRIBE_REQUESTED]: {\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {subscriberId},\n\t\t\t\t},\n\t\t\t}) {\n\t\t\t\tconsole.debug('AIEX_UNSUBSCRIBE_REQUESTED', subscriberId);\n\n\t\t\t\tunsubscribe(subscriberId);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[AIEX_PUBLISH_REQUESTED]: {\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {channelName, context, data},\n\t\t\t\t},\n\t\t\t}) {\n\t\t\t\tconsole.debug('AIEX_PUBLISH_REQUESTED', channelName, context, data);\n\t\t\t\tpublish({channelName, context, data});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['NOW_BUTTON#CLICKED']: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {payload, meta},\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\t\t\tif (\n\t\t\t\tpayload.buttonAction &&\n\t\t\t\tpayload.buttonAction === 'close_window' &&\n\t\t\t\tpayload.windowConfig\n\t\t\t) {\n\t\t\t\t// Need to wait until any dirty state logic is completed before we try to close the window\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tdispatch(UXF_CLOSE_WINDOW, {\n\t\t\t\t\t\twindowConfig: payload.windowConfig,\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t});\n\t\t\t\t}, 100);\n\t\t\t}\n\t\t},\n\t},\n\tproperties: {\n\t\ttarget: {},\n\t},\n};\n"],"version":3}},{"offset":{"line":400,"column":0},"map":{"mappings":"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","file":"externals/sn-canvas-blank/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__","ambStatusBehavior","canvasAppshellRootBehavior","canvasClientBehavior","canvasErrorBehavior","canvasLayoutErrorBehavior","canvasLoginBehavior","canvasRootBehavior","canvasSessionBehavior","experienceRootBehavior","internalNavPluginBehavior","mergeDefaultUserPrefsFromUXGlobals","mergeSessionDbAndLibCompPrefs","statePersistenceBehavior","userPresenceBehavior","deepSearchElement","selector","queue","document","body","top","shift","ele","querySelector","topShadow","shadowRoot","allSearched","querySelectorAll","className","SN_CANVAS_APPSHELL_ROOT","SN_CANVAS_APPSHELL_LAYOUT","SN_CANVAS_ROOT","SN_CANVAS_ROUTER","SN_CANVAS_ERROR","CANVAS_EXPERIENCE_CONFIG_CHANGED","MAIN_SELECTED_CONTENT_CHANGED","appShellRootId","routerComponentId","setRouterId","setAppShellRootId","wireExpProps","host","expShellComponentId","srcComponentId","snCanvasLayout","snCanvasMain","routeConfigBinding","routeConfig","selectedContent","canvasSession","screensToCloseQueue","persistedState","activeContextPath","_componentId","getAttribute","experienceId","screenStatus","activityLogs","closedNavigationIds","delegatedNotifications","COMPONENT_CONNECTED","actionHandlers","_ref","_host$getRootNode","experienceShell","getRootNode","parentElement","tagName","toLowerCase","experienceShellComponentId","rootId","window","__uxrWiredProps","indexOf","console","error","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__","getScreenKey","initializeKarunaListeners","renderSkipBehavior","setUpLoginHandler","rootMcp","createRoot","rootMcpConnectedCallback","addEventListener","once","type","snabbdom","view","styles","behaviors","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__","getProperty","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","getComponentsByTagNames","sandboxUtils","COMPONENT_BOOTSTRAPPED","screenReaderComponentLoaded","launchScreenReader","async","parent","hostParent","appShellLayout","polarisLayout","getHostParent","screenReaderTag","screenReader","activeRoute","_host$shadowRoot","routerId","nowId","getSelectedContentFromRouter","append","aiScreenReaderBehavior","name","effect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__","intentActions","intentTranslatorBehavior","COMPONENT_ID","ELEMENT_ADDRESS_TOKEN","TREE","sanitizeObjectByRecursion","seen","level","keys","numOfkeys","sanitizedObject","Array","isArray","add","Element","elementInfo","textContent","attribute","attributes","Text","Window","has","delete","findAndFitChildElement","elements","mappedElement","found","parentComponentId","children","componentId","findInMeta","meta","parentId","properties","promptId","findAndFitChildElementMeta","elementAddress","buildElementAddress","tree","address","search","path","childId","split","reverse","some","part","shouldIgnoreComponent","componentConfigOverrides","results","_results$filterLists","filterLists","includeElements","includes","ignoreElements","ignoreSuffixes","ignorePrefixes","prefix","startsWith","suffix","endsWith","filterObjectProperties","isSeismicElement","element","hasAttribute","isElementVisible","style","getComputedStyle","display","visibility","mapSeismicElement","elementsOnly","updateElement","_parentElement$tagNam","parentElementTagName","config","nowElementConfig","propertyConfig","resolvedProperties","getResolvedProperties","unResolvedProperties","getProperties","selectableProperties","propVal","propertyValues","WeakSet","mapTheMappedElement","defaultTransform","defaultPrompt","extractSummaryComponents","_results$defaultConfi","transformResult","componentConfig","transform","prompt","filteredProps","defaultConfig","Error","getAllElements","currentElement","currentParent","seismicDepth","isIframeElement","seismicElement","nextParent","nextSeismicDepth","warn","childElement","root","assignedNodes","childNodes","getChildElements","processComponentTransforms","componentConfigs","createSandboxedEvaluator","defaultAllowedGlobals","sandbox","_config$props","props","component_tag_name","transformCode","summary_metadata_transform","getComponentConfigOverrides","summaryMetadataTransform","INTENT_RECEIVED","SEND_INTENT_FEEDBACK","UXF_NAA_CONFIG_FETCH_REQUESTED","UXF_NAA_CONFIG_FETCH_SUCCEEDED","UXF_NAA_CONFIG_FETCH_FAILED","INTENT_FEEDBACK_STATUS","naaConfigRESTEffect","method","batch","successActionType","errorActionType","pageSummarizationBehavior","coeffects","action","payload","dispatch","originalIntent","log","componentResults","status","message","intent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__","aiEngagementLauncherBehavior","SK8_PROXY_ACTIONS","handlers","pendingActions","invokeHandler","handler","aiEngagementHandlerProxy","setHandlers","newHandlers","forEach","_handlers","actionType","handleAction","_handlers2","proxyAiEngagementLauncherBehavior","reduce","stopPropagation","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__","snHttpFactory","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateHandlerBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__","klona","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","COMPONENT_DISCONNECTED","COMPONENT_DOM_READY","snHttp","xsrfToken","g_ck","batching","cleanupKaruna","appShellRootActionHandlers","_ref2","__serverSideRendered","appshellLayout","appshellMain","clientInfo","layoutComponentId","selectedContentMap","experiencesData","wireAppProps","_setUpErrorHandler","_setUpLoginHandler","updateState","activeScreenKey","operation","confirmPopStateNavigation","getDirtyStateManager","_window","_window2","uxf","dirtyStateManager","isScreenDirty","_ref3","_window3","_window4","updateProperties","session","getSessionUserPrefs","updatedSession","ux_globals","output","freeze","userPrefs","user","preferences","UX_GLOBALS","sessionInfo","sessionDbPrefs","updatedUserPreferences","mergedUserPrefs","entries","_ref4","appShellRootFound","createAppRoot","_rootMcp$shadowRoot","_appShellRootFound","setupRootMcp","rootCompID","targetEle","open","errorConfig","_behavior","response","request","data","query","behavior","baseAiEngagementLauncherBehavior","_response$body","experienceType","now","nowAssistUtility","getAielFulfillerExperience","__aielServiceUnavailable","reason","aielUrl","assetCachedForMinuteDate","Date","setSeconds","setMilliseconds","assetCachedForMinute","valueOf","assetUrlWithCacheBuster","assetCacheBuster","import","__aielServiceAvailable","dispatchEvent","CustomEvent","detail","loadAndActivateAiEngagementBehavior","_ref5","confirmPopStateNavigationContext","modalContent","rootContentUpdated","activeExperience","isOpen","canvasRootStyles","fromEntries","filter","_ref6","options","translatorContextId","initialState","siteName","experienceMcp","_experienceConfig$pag","experienceConfig","experienceConfigs","appId","nowUxfAppConfigSysId","pageSettings","sysId","appConfigId","isCanvasExperienceShell","expRoot","userSessionInfo","appshellRoot","__TECTONIC__sn_canvas_blank"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/_sn-canvas-appshell-root.scss","webpack:///sn-canvas-blank/src/sn-canvas-root/_sn-canvas-root.scss","webpack:///./src/sn-canvas-appshell-root/_sn-canvas-appshell-root.scss?a730","webpack:///./src/sn-canvas-root/_sn-canvas-root.scss?dd18","webpack:///@babel/runtime/7.28.3/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-canvas-core-addon/29.2.17/index.jsdbx\"","webpack:///sn-canvas-blank/src/utils/domUtils.js","webpack:///sn-canvas-blank/src/sn-canvas-root/sn-canvas-root.view.js","webpack:///sn-canvas-blank/src/constants/constants.js","webpack:///sn-canvas-blank/src/utils/propWiring.js","webpack:///sn-canvas-blank/src/sn-canvas-root/sn-canvas-root.effects.js","webpack:///external module \"/uxasset/externals/sn-canvas-common/29.2.17/index.jsdbx\"","webpack:///sn-canvas-blank/src/sn-canvas-root/sn-canvas-root.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/26.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/behaviors/aiScreenReader.behavior.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/library-intent-channel/index.jsdbx\"","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/constants/cptConstants.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/recursiveUtils/sanitizeObjectByRecursion.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/recursiveUtils/findAndFitChildElement.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/cptHelpers/findInMeta.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/cptHelpers/elementFinders.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/cptHelpers/buildElementAddress.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/componentUtils.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/elementUtils.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/cptUtils/objectUtils.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/getAllElements.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/componentTransformProcessor.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/ctpHandlers/getComponentConfigOverrides.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/behaviors/pageSummarization.behavior.js","webpack:///external module \"/uxasset/externals/@servicenow/ai-engagement-library/27.10.33/index.jsdbx\"","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/behaviors/aiEngagementLauncherProxy.behavior.js","webpack:///external module \"/uxasset/externals/sn-http-request/29.3.4/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///external module \"/uxasset/externals/klona/2.0.6/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/sn-canvas-appshell-root.js","webpack:///sn-canvas-blank/src/sn-canvas-appshell-root/utils/sn-canvas-appshell-root.utils.js","webpack:///sn-canvas-blank/src/index.js","webpack:///sn-canvas-blank/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host(sn-canvas-appshell-root){display:block;height:100%;width:100%}:host(sn-canvas-appshell-root) #sn-canvas-appshell-root{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host(sn-canvas-root){display:block;height:100%;width:100%}:host(sn-canvas-root) #sn-canvas-root{height:100%}:host(sn-canvas-root) #sn-canvas-root .layout-container{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-appshell-root.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-root.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"ambStatusBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'ambStatusBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].ambStatusBehavior;\n\t\t\t\t\t} else if ('ambStatusBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.ambStatusBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].ambStatusBehavior;\n\t\t\t\t}, [\"canvasAppshellRootBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasAppshellRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasAppshellRootBehavior;\n\t\t\t\t\t} else if ('canvasAppshellRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.canvasAppshellRootBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasAppshellRootBehavior;\n\t\t\t\t}, [\"canvasClientBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasClientBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasClientBehavior;\n\t\t\t\t\t} else if ('canvasClientBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.canvasClientBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasClientBehavior;\n\t\t\t\t}, [\"canvasErrorBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasErrorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasErrorBehavior;\n\t\t\t\t\t} else if ('canvasErrorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.canvasErrorBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasErrorBehavior;\n\t\t\t\t}, [\"canvasLayoutErrorBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasLayoutErrorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasLayoutErrorBehavior;\n\t\t\t\t\t} else if ('canvasLayoutErrorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.canvasLayoutErrorBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasLayoutErrorBehavior;\n\t\t\t\t}, [\"canvasLoginBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasLoginBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasLoginBehavior;\n\t\t\t\t\t} else if ('canvasLoginBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.canvasLoginBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasLoginBehavior;\n\t\t\t\t}, [\"canvasRootBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasRootBehavior;\n\t\t\t\t\t} else if ('canvasRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.canvasRootBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasRootBehavior;\n\t\t\t\t}, [\"canvasSessionBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasSessionBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasSessionBehavior;\n\t\t\t\t\t} else if ('canvasSessionBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.canvasSessionBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasSessionBehavior;\n\t\t\t\t}, [\"experienceRootBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'experienceRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].experienceRootBehavior;\n\t\t\t\t\t} else if ('experienceRootBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.experienceRootBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].experienceRootBehavior;\n\t\t\t\t}, [\"internalNavPluginBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'internalNavPluginBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].internalNavPluginBehavior;\n\t\t\t\t\t} else if ('internalNavPluginBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.internalNavPluginBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].internalNavPluginBehavior;\n\t\t\t\t}, [\"mergeDefaultUserPrefsFromUXGlobals\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'mergeDefaultUserPrefsFromUXGlobals' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].mergeDefaultUserPrefsFromUXGlobals;\n\t\t\t\t\t} else if ('mergeDefaultUserPrefsFromUXGlobals' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.mergeDefaultUserPrefsFromUXGlobals || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].mergeDefaultUserPrefsFromUXGlobals;\n\t\t\t\t}, [\"mergeSessionDbAndLibCompPrefs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'mergeSessionDbAndLibCompPrefs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].mergeSessionDbAndLibCompPrefs;\n\t\t\t\t\t} else if ('mergeSessionDbAndLibCompPrefs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.mergeSessionDbAndLibCompPrefs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].mergeSessionDbAndLibCompPrefs;\n\t\t\t\t}, [\"statePersistenceBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'statePersistenceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].statePersistenceBehavior;\n\t\t\t\t\t} else if ('statePersistenceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.statePersistenceBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].statePersistenceBehavior;\n\t\t\t\t}, [\"userPresenceBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'userPresenceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].userPresenceBehavior;\n\t\t\t\t\t} else if ('userPresenceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.userPresenceBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].userPresenceBehavior;\n\t\t\t\t} });","const deepSearchElement = (selector, root = document.body) => {\n  let queue = [root];\n  while (queue.length > 0) {\n    const top = queue.shift();\n    const ele = top.querySelector(selector);\n    if (ele) return ele;\n\n    const topShadow = top.shadowRoot;\n    if (topShadow) queue.push(topShadow);\n    const allSearched = top.querySelectorAll('*');\n    for (let i = 0; i < allSearched.length; i++) {\n      if (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n    }\n  }\n};\n\nconst deepSearchAllElement = (selector, root = document.body) => {\n  let queue = [root];\n  let result = [];\n  while (queue.length > 0) {\n    const top = queue.shift();\n    const ele = top.querySelectorAll(selector);\n    if (ele && ele.length > 0) result.push(...ele);\n\n    const topShadow = top.shadowRoot;\n    if (topShadow) queue.push(topShadow);\n    const allSearched = top.querySelectorAll('*');\n    for (let i = 0; i < allSearched.length; i++) {\n      if (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n    }\n  }\n  return result;\n};\n\nexport { deepSearchElement, deepSearchAllElement };\n","export default () => {\n\treturn (\n\t\t<div id=\"sn-canvas-root\">\n\t\t\t<div className=\"layout-container\">\n\t\t\t\t<slot />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","//Component Names\nexport const SN_CANVAS_APPSHELL_ROOT = 'sn-canvas-appshell-root';\nexport const SN_CANVAS_APPSHELL_LAYOUT = 'sn-canvas-appshell-layout';\nexport const SN_CANVAS_APPSHELL_MAIN = 'sn-canvas-appshell-main';\nexport const SN_CANVAS_ROOT = 'sn-canvas-root';\nexport const SN_CANVAS_ROUTER = 'sn-canvas-router';\nexport const SN_CANVAS_MAIN = 'sn-canvas-main';\nexport const SN_CANVAS_TOOLBAR = 'sn-canvas-toolbar';\nexport const SN_CANVAS_HEADER = 'sn-canvas-header';\nexport const SN_CANVAS_ERROR = 'sn-canvas-error';\nexport const SN_CANVAS_LOGIN = 'sn-canvas-login';\nexport const SN_CANVAS_LAYOUT = 'sn-canvas-layout';\nexport const SN_CANVAS_TABSDATA = 'sn-canvas-tabsdata';\nexport const SN_CANVAS_CLIENT = 'sn-canvas-client';\nexport const SN_CANVAS_UCM = 'sn-canvas-ucm';\nexport const SN_CANVAS_EXPERIENCE_SHELL = 'sn-canvas-experience-shell';\nexport const UXF_PAGE_SUMMARIZATION_SKILL = 'UXF_PageSummarizationSkill';\nexport const CANVAS_EXPERIENCE_CONFIG_CHANGED =\n\t'CANVAS_EXPERIENCE_CONFIG_CHANGED';\n\n// Actions\nexport const MAIN_SELECTED_CONTENT_CHANGED = 'MAIN_SELECTED_CONTENT_CHANGED';\nexport const GRAPHQL_ENDPOINT = '/api/now/graphql';\n","import {\n\tSN_CANVAS_ROUTER,\n\tSN_CANVAS_APPSHELL_LAYOUT,\n\tSN_CANVAS_APPSHELL_MAIN,\n\tSN_CANVAS_LAYOUT,\n\tSN_CANVAS_MAIN,\n} from '../constants/constants';\n\nlet appShellRootId;\nlet routerComponentId;\n\nexport const setRouterId = (id) => {\n\trouterComponentId = id;\n};\n\nexport const setAppShellRootId = (id) => {\n\tappShellRootId = id;\n};\n\nexport const wireExpProps = (host, expShellComponentId) => {\n\tconst srcComponentId = expShellComponentId || routerComponentId;\n\tif (!srcComponentId) return;\n\tconst snCanvasLayout = host.querySelector(SN_CANVAS_LAYOUT);\n\tconst snCanvasMain = host.querySelector(SN_CANVAS_MAIN);\n\n\tconst routeConfigBinding = expShellComponentId\n\t\t? `@${expShellComponentId}/routeConfig`\n\t\t: `@${routerComponentId}/routerConfig`;\n\n\tif (snCanvasLayout) {\n\t\tsnCanvasLayout.routeConfig = routeConfigBinding;\n\t\tsnCanvasLayout.selectedContent = `@${srcComponentId}/selectedContent`;\n\t\tsnCanvasLayout.canvasSession = `@${appShellRootId}/canvasSession`;\n\t\tif (expShellComponentId)\n\t\t\tsnCanvasLayout.screensToCloseQueue = `@${expShellComponentId}/screensToCloseQueue`;\n\t}\n\n\tif (snCanvasMain) {\n\t\tsnCanvasMain.routeConfig = routeConfigBinding;\n\t\tsnCanvasMain.selectedContent = `@${srcComponentId}/selectedContent`;\n\t\tsnCanvasMain.persistedState = `@${appShellRootId}/persistedStateForMain`;\n\t\tsnCanvasMain.activeContextPath = `@${routerComponentId}/activeContextPath`;\n\t\tif (snCanvasLayout) {\n\t\t\tconst _componentId = snCanvasLayout.getAttribute('component-id');\n\t\t\tsnCanvasMain.experienceId = `@${_componentId}/experienceId`;\n\t\t\tsnCanvasMain.screenStatus = `@${_componentId}/screenStatus`;\n\t\t\tsnCanvasMain.activityLogs = `@${_componentId}/activityLogs`;\n\t\t\tsnCanvasMain.closedNavigationIds = `@${_componentId}/closedNavigationIds`;\n\t\t\tsnCanvasMain.screensToCloseQueue = `@${_componentId}/screensToCloseQueue`;\n\t\t\tsnCanvasMain.delegatedNotifications = `@${_componentId}/delegatedNotifications`;\n\t\t}\n\t}\n};\n\nexport const wireAppProps = (host) => {\n\trouterComponentId = host.shadowRoot\n\t\t.querySelector(SN_CANVAS_ROUTER)\n\t\t.getAttribute('component-id');\n\tappShellRootId = host.getAttribute('component-id');\n\n\tconst appshellLayout = host.querySelector(SN_CANVAS_APPSHELL_LAYOUT);\n\tconst appshellMain = host.querySelector(SN_CANVAS_APPSHELL_MAIN);\n\n\tif (appshellLayout) {\n\t\tappshellLayout.routeConfig = `@${routerComponentId}/routerConfig`;\n\t\tappshellLayout.selectedContent = `@${routerComponentId}/selectedContent`;\n\t\tappshellLayout.canvasSession = `@${appShellRootId}/canvasSession`;\n\t\tappshellLayout.clientInfo = `@${appShellRootId}/clientInfo`;\n\t}\n\n\tif (appshellMain) {\n\t\tappshellMain.routeConfig = `@${routerComponentId}/routerConfig`;\n\t\tappshellMain.selectedContent = `@${routerComponentId}/selectedContent`;\n\t\tif (appshellLayout) {\n\t\t\tconst layoutComponentId =\n\t\t\t\tappshellLayout.getAttribute('component-id');\n\t\t\tappshellMain.selectedContentMap = `@${layoutComponentId}/selectedContentMap`;\n\t\t\tappshellMain.experiencesData = `@${layoutComponentId}/experiencesData`;\n\t\t}\n\t}\n\n\twireExpProps(host); //wire props if standalone app\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { wireExpProps } from '../utils/propWiring';\nimport { SN_CANVAS_EXPERIENCE_SHELL } from '../constants/constants';\n\nconst { COMPONENT_CONNECTED } = actionTypes;\n\nexport const onComponentConnectedEffect = ({ host }) => {\n\tconst experienceShell = host.getRootNode()?.host?.parentElement;\n\tif (\n\t\texperienceShell &&\n\t\texperienceShell.tagName.toLowerCase() == SN_CANVAS_EXPERIENCE_SHELL\n\t) {\n\t\tconst experienceShellComponentId = experienceShell.getAttribute(\n\t\t\t'component-id',\n\t\t);\n\t\tconst rootId = host.getAttribute('component-id');\n\t\tif(window.__uxrWiredProps.indexOf(rootId) < 0)\n\t\t\twireExpProps(host, experienceShellComponentId);\n\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(\n\t\t\t'experienceShell not found for sn-canvas-root : ',\n\t\t\thost,\n\t\t\texperienceShell,\n\t\t);\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_CONNECTED]: onComponentConnectedEffect,\n};\nexport { actionHandlers };\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getScreenKey\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getScreenKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getScreenKey;\n\t\t\t\t\t} else if ('getScreenKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getScreenKey || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getScreenKey;\n\t\t\t\t}, [\"initializeKarunaListeners\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'initializeKarunaListeners' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].initializeKarunaListeners;\n\t\t\t\t\t} else if ('initializeKarunaListeners' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.initializeKarunaListeners || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].initializeKarunaListeners;\n\t\t\t\t}, [\"renderSkipBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].renderSkipBehavior;\n\t\t\t\t\t} else if ('renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.renderSkipBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].renderSkipBehavior;\n\t\t\t\t}, [\"setUpLoginHandler\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'setUpLoginHandler' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setUpLoginHandler;\n\t\t\t\t\t} else if ('setUpLoginHandler' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.setUpLoginHandler || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setUpLoginHandler;\n\t\t\t\t} });","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { experienceRootBehavior } from 'sn-canvas-core-addon';\nimport { deepSearchElement } from './../utils/domUtils';\nimport view from './sn-canvas-root.view';\n\nimport styles from './_sn-canvas-root.scss';\nimport { actionHandlers } from './sn-canvas-root.effects';\n\nimport {\n\tSN_CANVAS_APPSHELL_ROOT,\n\tSN_CANVAS_ROOT,\n\tSN_CANVAS_EXPERIENCE_SHELL,\n} from './../constants/constants';\nimport { renderSkipBehavior } from 'sn-canvas-common';\n\nconst { COMPONENT_CONNECTED } = actionTypes;\n\nconst rootMcp = document.querySelector('[macroponent-namespace]');\nif (rootMcp && rootMcp.tagName.toLowerCase().indexOf('macroponent-') === 0) {\n\tconst appShellRootFound = deepSearchElement(\n\t\tSN_CANVAS_APPSHELL_ROOT,\n\t\trootMcp,\n\t);\n\tif (appShellRootFound) {\n\t\tcreateRoot();\n\t} else {\n\t\tconst rootMcpConnectedCallback = () => {\n\t\t\tconst _appShellRootFound = deepSearchElement(\n\t\t\t\tSN_CANVAS_APPSHELL_ROOT,\n\t\t\t\trootMcp,\n\t\t\t);\n\t\t\tif (_appShellRootFound) createRoot();\n\t\t};\n\t\trootMcp.addEventListener(\n\t\t\tCOMPONENT_CONNECTED,\n\t\t\trootMcpConnectedCallback,\n\t\t\t{ once: true },\n\t\t);\n\t}\n}\n\nfunction createRoot() {\n\tcreateCustomElement(SN_CANVAS_ROOT, {\n\t\ttype: snabbdom,\n\t\tview,\n\t\tstyles,\n\t\tactionHandlers,\n\t\tbehaviors: [experienceRootBehavior, renderSkipBehavior],\n\t});\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getComponentsByTagNames\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t\t} else if ('getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getComponentsByTagNames || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t}, [\"sandboxUtils\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'sandboxUtils' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].sandboxUtils;\n\t\t\t\t\t} else if ('sandboxUtils' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.sandboxUtils || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].sandboxUtils;\n\t\t\t\t} });","import { actionTypes } from '@servicenow/ui-core';\nimport { getComponentsByTagNames } from '@devsnc/library-uxf';\n\nimport {\n\tSN_CANVAS_ROUTER,\n\tSN_CANVAS_APPSHELL_LAYOUT,\n} from '../../constants/constants';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nlet screenReaderComponentLoaded = false;\n\nexport const getHostParent = (host) => {\n\tlet hostParent = host || document.body;\n\n\tconst appShellLayout = hostParent.querySelector(SN_CANVAS_APPSHELL_LAYOUT);\n\tif (appShellLayout) {\n\t\tconst polarisLayout = appShellLayout.querySelector('sn-polaris-layout');\n\t\thostParent = polarisLayout ? polarisLayout.shadowRoot : appShellLayout;\n\t}\n\n\treturn hostParent;\n};\n\nexport const getSelectedContentFromRouter = (host) => {\n\tconst routerId = host?.shadowRoot?.querySelector(SN_CANVAS_ROUTER)?.nowId;\n\tif (!routerId) {\n\t\treturn undefined;\n\t}\n\n\treturn `@${routerId}/selectedContent`;\n};\n\nexport const launchScreenReader = async (host) => {\n\tconst parent = getHostParent(host);\n\n\ttry {\n\t\tif (!screenReaderComponentLoaded) {\n\t\t\tconst [screenReaderTag] = await getComponentsByTagNames([\n\t\t\t\t'now-ai-screen-reader',\n\t\t\t]);\n\t\t\tif (!screenReaderTag) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tscreenReaderComponentLoaded = true;\n\t\t}\n\n\t\tconst screenReader = document.createElement('now-ai-screen-reader');\n\n\t\tconst activeRoute = getSelectedContentFromRouter(host);\n\t\tif (activeRoute) {\n\t\t\tscreenReader.activeRoute = activeRoute;\n\t\t}\n\n\t\tparent.append(screenReader);\n\n\t\treturn screenReader;\n\t} catch (error) {\n\t\treturn null;\n\t}\n};\n\nexport const aiScreenReaderBehavior = {\n\tname: 'aiScreenReaderBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({ host }) => {\n\t\t\t\tlaunchScreenReader(host);\n\t\t\t},\n\t\t},\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"intentActions\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'intentActions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentActions;\n\t\t\t\t\t} else if ('intentActions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.intentActions || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentActions;\n\t\t\t\t}, [\"intentTranslatorBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.__esModule\n\t\t\t\t\tif (cjsModule && 'intentTranslatorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentTranslatorBehavior;\n\t\t\t\t\t} else if ('intentTranslatorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__.intentTranslatorBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_intent_channel_index_jsdbx_4a8165f1__[\"default\"].intentTranslatorBehavior;\n\t\t\t\t} });","export const ALLOWED_DEEPLY_NESTED_OBJECT_LEVEL = 10;\nexport const DEEPLY_NESTED_OBJECT = '[DEEPLY_NESTED_OBJECT]';\nexport const IFRAME_TAG_NAME = 'iframe';\nexport const COMPONENT_ID = 'component-id';\nexport const ELEMENT_ADDRESS_TOKEN = '.ead.';\nexport const META = 'meta';\nexport const TREE = 'tree';\n","import {\n\tALLOWED_DEEPLY_NESTED_OBJECT_LEVEL,\n\tDEEPLY_NESTED_OBJECT,\n} from '../../../constants/cptConstants';\n\nexport const sanitizeObjectByRecursion = (obj, seen, level) => {\n\tlet key = null;\n\tlet value = null;\n\tif (!obj) obj = {};\n\tconst keys = Object.keys(obj);\n\tconst { length: numOfkeys } = keys;\n\tconst sanitizedObject = Array.isArray(obj) ? [] : {};\n\tseen.add(obj);\n\tfor (let i = 0; i < numOfkeys; i++) {\n\t\tkey = keys[i];\n\t\tvalue = obj[key];\n\t\tif (typeof value === 'function') {\n\t\t\tsanitizedObject[key] =\n\t\t\t\t`[Function${value.name ? ` ${value.name}` : ''}]`;\n\t\t} else if (value instanceof Element) {\n\t\t\tconst elementInfo = {\n\t\t\t\ttagName: value.tagName.toLowerCase(),\n\t\t\t\ttextContent: value.textContent,\n\t\t\t};\n\t\t\tfor (const attribute of value.attributes || []) {\n\t\t\t\telementInfo[attribute.name] = attribute.value;\n\t\t\t}\n\n\t\t\tsanitizedObject[key] = elementInfo;\n\t\t} else if (value instanceof Text) {\n\t\t\tsanitizedObject[key] = { textContent: value.textContent };\n\t\t} else if (value instanceof Window) {\n\t\t\tsanitizedObject[key] = value.toString();\n\t\t} else if (typeof value === 'symbol') {\n\t\t\tsanitizedObject[key] = `[${value.toString()}]`;\n\t\t} else if (typeof value === 'object' && value !== null) {\n\t\t\tif (seen.has(value) || value === obj) {\n\t\t\t\tsanitizedObject[key] = '[Circular]';\n\t\t\t} else {\n\t\t\t\tsanitizedObject[key] =\n\t\t\t\t\tlevel <= ALLOWED_DEEPLY_NESTED_OBJECT_LEVEL\n\t\t\t\t\t\t? sanitizeObjectByRecursion(value, seen, level + 1)\n\t\t\t\t\t\t: DEEPLY_NESTED_OBJECT;\n\t\t\t}\n\t\t} else {\n\t\t\tsanitizedObject[key] = value;\n\t\t}\n\t}\n\tseen.delete(obj);\n\treturn sanitizedObject;\n};\n","export const findAndFitChildElement = (elements, mappedElement) => {\n\tlet found = false;\n\tfor (const key in elements) {\n\t\t//TODO: Write tests so as to establish that this breaks do avoid unecessary loops after finding it\n\t\tif (found) break;\n\t\tif (key === mappedElement.parentComponentId) {\n\t\t\tfound = true;\n\t\t\tif (!elements[key].children) {\n\t\t\t\telements[key].children = {};\n\t\t\t}\n\t\t\telements[key].children[mappedElement.componentId] = {\n\t\t\t\tparentComponentId: mappedElement.parentComponentId,\n\t\t\t\tchildren: {},\n\t\t\t};\n\t\t} else if (elements[key].children) {\n\t\t\tfindAndFitChildElement(elements[key].children, mappedElement);\n\t\t}\n\t}\n};\n","export const findInMeta = (meta, parentId, mappedElement) => {\n\tlet found = false;\n\tfor (const key in meta) {\n\t\tif (found) break;\n\t\tif (key === parentId) {\n\t\t\tif (!meta[key].children) meta[key].children = {};\n\t\t\tmeta[key].children[mappedElement.componentId] = {\n\t\t\t\tproperties: mappedElement.properties,\n\t\t\t\ttagName: mappedElement.tagName,\n\t\t\t\tpromptId: mappedElement.promptId,\n\t\t\t};\n\t\t\t//recursively check children\n\t\t\tfound = true;\n\t\t\tbreak;\n\t\t} else if (meta[key].children) {\n\t\t\tfound = findInMeta(meta[key].children, parentId, mappedElement);\n\t\t}\n\t\tif (!found) continue;\n\t}\n\treturn found;\n};\n","import { buildElementAddress } from './buildElementAddress';\nimport { findInMeta } from './findInMeta';\nimport { ELEMENT_ADDRESS_TOKEN, META } from '../../../constants/cptConstants';\n\nexport const findAndFitChildElementMeta = (elements, mappedElement) => {\n\tif (!elements.meta) {\n\t\telements[META] = {};\n\t\telements.meta[mappedElement.componentId] = {\n\t\t\tproperties: mappedElement.properties,\n\t\t\ttagName: mappedElement.tagName,\n\t\t\tpromptId: mappedElement.promptId,\n\t\t};\n\t} else {\n\t\tconst elementAddress = buildElementAddress(\n\t\t\telements.tree,\n\t\t\tmappedElement.componentId,\n\t\t);\n\t\tif (elementAddress) {\n\t\t\tconst parts = elementAddress.split(ELEMENT_ADDRESS_TOKEN);\n\t\t\t//TODO: write tests 1. to confirm some is doing an early exit on foundInMeta;\n\t\t\t//                  2. Handle notFoundInMeta ties down to again root elements as in the else part of extractSummaryComponents?\n\t\t\tparts.reverse().some((part) => {\n\t\t\t\t//Map to a parent from the heirarchy in meta, the parent may not be the direct parent in most cases\n\t\t\t\tconst foundInMeta = findInMeta(\n\t\t\t\t\telements.meta,\n\t\t\t\t\tpart,\n\t\t\t\t\tmappedElement,\n\t\t\t\t);\n\t\t\t\treturn foundInMeta;\n\t\t\t});\n\t\t}\n\t}\n};\n","import { ELEMENT_ADDRESS_TOKEN } from '../../../constants/cptConstants';\n\nexport const buildElementAddress = (tree, componentId) => {\n\tfor (const key in tree) {\n\t\tconst address = search(tree[key], componentId, [key]);\n\t\tif (address) {\n\t\t\treturn address;\n\t\t}\n\t}\n\tfunction search(tree, componentId, path) {\n\t\tif (tree.children[componentId]) {\n\t\t\treturn path.join(ELEMENT_ADDRESS_TOKEN);\n\t\t}\n\t\tfor (let childId in tree.children) {\n\t\t\tlet result = search(\n\t\t\t\ttree.children[childId],\n\t\t\t\tcomponentId,\n\t\t\t\tpath.concat(childId),\n\t\t\t);\n\t\t\tif (result) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n","import { findAndFitChildElementMeta } from './cptHelpers/elementFinders';\n\nexport const extractSummaryComponents = (\n\tmappedElement,\n\telements,\n\tcomponentConfigOverrides,\n\tdefaultTransform,\n\tdefaultPrompt,\n\tresults,\n) => {\n\tif (\n\t\t!shouldIgnoreComponent(\n\t\t\tmappedElement.tagName,\n\t\t\tcomponentConfigOverrides,\n\t\t\tresults,\n\t\t)\n\t) {\n\t\tconst properties = mappedElement.propertyValues;\n\t\tlet transformResult;\n\t\tlet promptId = defaultPrompt;\n\t\tconst componentConfig = componentConfigOverrides[mappedElement.tagName];\n\n\t\tif (componentConfig) {\n\t\t\tconst { transform, prompt } = componentConfig;\n\n\t\t\ttransformResult = transform({ properties });\n\t\t\tpromptId = prompt;\n\t\t} else {\n\t\t\ttransformResult = defaultTransform({ properties });\n\t\t}\n\n\t\tconst filteredProps = filterObjectProperties(transformResult);\n\t\tif (Object.keys(filteredProps).length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tmappedElement.properties = filteredProps;\n\t\tmappedElement.promptId = promptId || results?.defaultConfig?.prompt;\n\t\tif (mappedElement.parentComponentId) {\n\t\t\tfindAndFitChildElementMeta(elements, mappedElement);\n\t\t} else {\n\t\t\t//TODO: no parent elements so add to root?\n\t\t\t//console.log('The root elements that we probably dont care about -', mappedElement.componentId)\n\t\t}\n\t}\n};\n\nconst shouldIgnoreComponent = (tagName, componentConfigOverrides, results) => {\n\tif (\n\t\tcomponentConfigOverrides[tagName] ||\n\t\tresults?.filterLists?.includeElements?.includes(tagName)\n\t)\n\t\treturn false;\n\tconst { ignoreElements, ignoreSuffixes, ignorePrefixes } =\n\t\tresults.filterLists;\n\n\treturn (\n\t\tignoreElements?.includes(tagName) ||\n\t\tignorePrefixes?.some((prefix) => tagName.startsWith(prefix)) ||\n\t\tignoreSuffixes?.some((suffix) => tagName.endsWith(suffix))\n\t);\n};\n\nconst filterObjectProperties = (obj) => {\n\tconst result = {};\n\tfor (const key in obj) {\n\t\t// TODO - Update to snowdash\n\t\tif (obj[key] !== '' && obj[key] !== null && obj[key] !== undefined) {\n\t\t\tresult[key] = obj[key];\n\t\t}\n\t}\n\treturn result;\n};\n","import {\n\tCOMPONENT_ID,\n\tIFRAME_TAG_NAME,\n\tTREE,\n} from '../../constants/cptConstants';\nimport { sanitizeObject } from './objectUtils';\nimport { findAndFitChildElement } from './recursiveUtils/findAndFitChildElement';\nimport { extractSummaryComponents } from './componentUtils';\n\nexport const isIFrame = (element) =>\n\telement &&\n\telement.tagName &&\n\telement.tagName.toLowerCase() === IFRAME_TAG_NAME;\n\nexport const isSeismicElement = (element) => {\n\treturn (\n\t\t(element.tagName || '').includes('-') &&\n\t\telement.hasAttribute(COMPONENT_ID)\n\t);\n};\n\nexport const getChildElements = (element) => {\n\tconst root = element.shadowRoot || element;\n\treturn root.assignedNodes ? root.assignedNodes() : root.childNodes;\n};\n\nexport const isElementVisible = (element) => {\n\tif (!(element instanceof Element)) return false;\n\tconst style = window.getComputedStyle(element);\n\treturn !(style.display === 'none' || style.visibility === 'hidden');\n};\n\nexport const mapSeismicElement = (\n\tparentElement,\n\telement,\n\telementsOnly,\n\tupdateElement,\n) => {\n\tconst tagName = element.tagName.toLowerCase();\n\tconst componentId = element.getAttribute(COMPONENT_ID);\n\tconst parentComponentId =\n\t\tparentElement && parentElement.getAttribute(COMPONENT_ID);\n\tconst parentElementTagName =\n\t\tparentElement?.tagName?.toLowerCase() || 'null';\n\tconst config = element.nowElementConfig;\n\n\tif (elementsOnly && !updateElement) {\n\t\treturn {\n\t\t\ttagName,\n\t\t\tcomponentId,\n\t\t\tparentElement: { parentElementTagName, parentComponentId },\n\t\t};\n\t}\n\n\tconst propertyConfig = config?.properties;\n\tconst resolvedProperties = element.getResolvedProperties();\n\tconst unResolvedProperties = element.getProperties();\n\tconst selectableProperties = {};\n\tfor (const prop in unResolvedProperties) {\n\t\tconst propVal = unResolvedProperties[prop];\n\t\tif (typeof propVal === 'string' && propVal.startsWith('@')) {\n\t\t\tselectableProperties[prop] = propVal;\n\t\t}\n\t}\n\tconst propertyValues = {};\n\tfor (const name in propertyConfig) {\n\t\tif (name !== 'nowId') {\n\t\t\tpropertyValues[name] = resolvedProperties[name];\n\t\t}\n\t}\n\n\treturn sanitizeObject({\n\t\tcomponentId,\n\t\tparentComponentId,\n\t\ttagName,\n\t\tpropertyConfig,\n\t\tpropertyValues,\n\t\tselectableProperties,\n\t\tchildren: {},\n\t});\n};\n\nexport const mapTheMappedElement = (\n\tmappedElement,\n\telements,\n\tcomponentConfigOverrides,\n\tdefaultTransform,\n\tdefaultPrompt,\n\tresults,\n) => {\n\tif (elements[TREE] === undefined) elements[TREE] = {};\n\t//First we establish its place in the tree via findAndFitChildElement and put it in elements.tree\n\tif (mappedElement) {\n\t\tif (mappedElement.parentComponentId) {\n\t\t\tfindAndFitChildElement(elements.tree, mappedElement);\n\t\t} else\n\t\t\telements.tree[mappedElement.componentId] = {\n\t\t\t\tparentComponentId: null,\n\t\t\t\tchildren: {},\n\t\t\t};\n\t\t//Then we see if this element is summary worthy only then do we add it to the summary.meta\n\t\ttry {\n\t\t\textractSummaryComponents(\n\t\t\t\tmappedElement,\n\t\t\t\telements,\n\t\t\t\tcomponentConfigOverrides,\n\t\t\t\tdefaultTransform,\n\t\t\t\tdefaultPrompt,\n\t\t\t\tresults,\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tthrow new Error(e);\n\t\t}\n\t}\n};\n","import { sanitizeObjectByRecursion } from './recursiveUtils/sanitizeObjectByRecursion';\n\nexport const sanitizeObject = (obj) =>\n\tsanitizeObjectByRecursion(obj, new WeakSet(), 0);\n","import {\n\tisIFrame,\n\tisSeismicElement,\n\tgetChildElements,\n\tisElementVisible,\n\tmapSeismicElement,\n\tmapTheMappedElement,\n} from './cptUtils/elementUtils';\n\nexport const getAllElements = ({\n\tcurrentElement,\n\tcurrentParent,\n\tseismicDepth,\n\telements,\n\telementsOnly,\n\tcomponentConfigOverrides,\n\tdefaultTransform,\n\tdefaultPrompt,\n\tresults,\n}) => {\n\tconst isIframeElement = isIFrame(currentElement);\n\tconst seismicElement = isSeismicElement(currentElement);\n\tconst nextParent =\n\t\tseismicElement || isIframeElement ? currentElement : currentParent;\n\tconst nextSeismicDepth = seismicElement ? seismicDepth + 1 : seismicDepth;\n\n\tif (isIframeElement) {\n\t\t//TODO: Support for iFrame elements\n\t\t//elements.push(getIFrameElementDetails(currentElement, currentParent)); Not processing any iFrame elements yet\n\t\tconsole.warn('iFrame elements are not supported yet');\n\t} else {\n\t\tfor (const childElement of getChildElements(currentElement)) {\n\t\t\tif (!isElementVisible(childElement)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst seismicElement = isSeismicElement(childElement);\n\t\t\tif (seismicElement) {\n\t\t\t\tconst mappedElement = mapSeismicElement(\n\t\t\t\t\tnextParent,\n\t\t\t\t\tchildElement,\n\t\t\t\t\telementsOnly,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\n\t\t\t\tmapTheMappedElement(\n\t\t\t\t\tmappedElement,\n\t\t\t\t\telements,\n\t\t\t\t\tcomponentConfigOverrides,\n\t\t\t\t\tdefaultTransform,\n\t\t\t\t\tdefaultPrompt,\n\t\t\t\t\tresults,\n\t\t\t\t);\n\t\t\t}\n\t\t\tgetAllElements({\n\t\t\t\tcurrentElement: childElement,\n\t\t\t\tcurrentParent: nextParent,\n\t\t\t\tseismicDepth: nextSeismicDepth,\n\t\t\t\telements,\n\t\t\t\telementsOnly,\n\t\t\t\tcomponentConfigOverrides,\n\t\t\t\tdefaultTransform,\n\t\t\t\tdefaultPrompt,\n\t\t\t\tresults,\n\t\t\t});\n\t\t}\n\t}\n};\n","import { sandboxUtils } from '@devsnc/library-uxf';\n\nimport { getComponentConfigOverrides } from './ctpHandlers/getComponentConfigOverrides';\nimport { getAllElements } from './ctpHandlers/getAllElements';\n\nexport const processComponentTransforms = (results) => {\n\tconst { componentConfigs, defaultConfig = {} } = results;\n\tconst componentConfigOverrides =\n\t\tgetComponentConfigOverrides(componentConfigs);\n\tconst { summaryMetadataTransform } = defaultConfig;\n\tconst { createSandboxedEvaluator, defaultAllowedGlobals } = sandboxUtils;\n\tconst sandbox = createSandboxedEvaluator(defaultAllowedGlobals());\n\tconst defaultTransform = sandbox(summaryMetadataTransform);\n\tconst elements = [];\n\tgetAllElements({\n\t\tcurrentElement: document.body,\n\t\tcurrentParent: null,\n\t\tseismicDepth: 0,\n\t\telements,\n\t\telementsOnly: false,\n\t\tcomponentConfigOverrides,\n\t\tdefaultTransform,\n\t\tresults,\n\t});\n\treturn elements.meta;\n};\n","import { sandboxUtils } from '@devsnc/library-uxf';\n\nexport const getComponentConfigOverrides = (componentConfigs) => {\n\tlet componentConfigOverrides = {};\n\tconst { createSandboxedEvaluator, defaultAllowedGlobals } = sandboxUtils;\n\tconst sandbox = createSandboxedEvaluator(defaultAllowedGlobals());\n\tfor (const config of componentConfigs) {\n\t\tconst tagName = config?.props?.component_tag_name?.toLowerCase();\n\t\tconst transformCode = config.props.summary_metadata_transform;\n\t\tif (tagName) {\n\t\t\tcomponentConfigOverrides[tagName] = {\n\t\t\t\ttransform: sandbox(transformCode),\n\t\t\t\tprompt: config.props.prompt,\n\t\t\t};\n\t\t}\n\t}\n\treturn componentConfigOverrides;\n};\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { intentActions } from '@devsnc/library-intent-channel';\nimport { processComponentTransforms } from '../utils/componentTransformProcessor';\n\nconst { INTENT_RECEIVED, SEND_INTENT_FEEDBACK } = intentActions;\n\nconst UXF_NAA_CONFIG_FETCH_REQUESTED = 'UXF_NAA_CONFIG#FETCH_REQUESTED';\nconst UXF_NAA_CONFIG_FETCH_SUCCEEDED = 'UXF_NAA_CONFIG#FETCH_SUCCEEDED';\nconst UXF_NAA_CONFIG_FETCH_FAILED = 'UXF_NAA_CONFIG#FETCH_FAILED';\n\nconst INTENT_FEEDBACK_STATUS = {\n\tSUCCESS: 'success',\n\tFAILURE: 'failure',\n};\n\nconst naaConfigRESTEffect = createHttpEffect(\n\t'/api/sn_page_summary/page_summarization/configs',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tsuccessActionType: UXF_NAA_CONFIG_FETCH_SUCCEEDED,\n\t\terrorActionType: UXF_NAA_CONFIG_FETCH_FAILED,\n\t},\n);\n\nexport const pageSummarizationBehavior = {\n\tname: 'pageSummarizationBehavior',\n\tactionHandlers: {\n\t\t[UXF_NAA_CONFIG_FETCH_REQUESTED]: naaConfigRESTEffect,\n\t\t[UXF_NAA_CONFIG_FETCH_SUCCEEDED](coeffects) {\n\t\t\tconst {\n\t\t\t\taction: { payload, meta },\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\t\t\tconst { result } = payload;\n\t\t\tconst { originalIntent } = meta;\n\n\t\t\t// Logging the result\n\t\t\tconsole.log(\n\t\t\t\t`${UXF_NAA_CONFIG_FETCH_SUCCEEDED} SUCCEEDED: `,\n\t\t\t\tresult,\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\tconst componentResults = processComponentTransforms(result);\n\n\t\t\t\tdispatch(SEND_INTENT_FEEDBACK, {\n\t\t\t\t\toriginalIntent,\n\t\t\t\t\tstatus: INTENT_FEEDBACK_STATUS.SUCCESS,\n\t\t\t\t\tmessage: componentResults,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(`Error processing component transform.`, error);\n\n\t\t\t\tdispatch(SEND_INTENT_FEEDBACK, {\n\t\t\t\t\toriginalIntent,\n\t\t\t\t\tstatus: INTENT_FEEDBACK_STATUS.FAILURE,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t'Error occurred with processing component transforms',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[UXF_NAA_CONFIG_FETCH_FAILED](coeffects) {\n\t\t\tconst {\n\t\t\t\taction: { payload, meta },\n\t\t\t\tdispatch,\n\t\t\t} = coeffects;\n\t\t\tconst { originalIntent } = meta;\n\n\t\t\tconsole.error('ERROR in NAA Config fetch: ', payload.error);\n\n\t\t\tdispatch(SEND_INTENT_FEEDBACK, {\n\t\t\t\toriginalIntent,\n\t\t\t\tstatus: INTENT_FEEDBACK_STATUS.FAILURE,\n\t\t\t\tmessage: 'Error occurred with fetching component configs',\n\t\t\t});\n\t\t},\n\t\t[INTENT_RECEIVED]({ action, dispatch }) {\n\t\t\tconsole.log(\n\t\t\t\t'INTENT_RECIEVED-action.payload.intent',\n\t\t\t\taction.payload.intent,\n\t\t\t);\n\n\t\t\tif (action.payload.intent !== 'initSummarySkill') return;\n\n\t\t\tdispatch(\n\t\t\t\tUXF_NAA_CONFIG_FETCH_REQUESTED,\n\t\t\t\t{},\n\t\t\t\t{ originalIntent: action.payload.intent },\n\t\t\t);\n\t\t},\n\t},\n};\n\nexport const __testing =\n\tprocess.env.NODE_ENV === 'test'\n\t\t? {\n\t\t\t\tUXF_NAA_CONFIG_FETCH_REQUESTED,\n\t\t\t\tUXF_NAA_CONFIG_FETCH_SUCCEEDED,\n\t\t\t\tUXF_NAA_CONFIG_FETCH_FAILED,\n\t\t\t\tnaaConfigRESTEffect,\n\t\t\t}\n\t\t: void 0;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"aiEngagementLauncherBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__.__esModule\n\t\t\t\t\tif (cjsModule && 'aiEngagementLauncherBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"].aiEngagementLauncherBehavior;\n\t\t\t\t\t} else if ('aiEngagementLauncherBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__.aiEngagementLauncherBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_33_index_jsdbx_4b998de1__[\"default\"].aiEngagementLauncherBehavior;\n\t\t\t\t} });","/**\n * List of sk8 action types to proxy.\n * Add new action types here to extend the proxy.\n */\nexport const SK8_PROXY_ACTIONS = [\n\t'AI_ENGAGEMENT_LAUNCH_EXPERIENCE',\n\t'NOW_AI_CANVAS_FRAMEWORK_LAUNCH_WINDOW_MANAGER',\n\t'AI_ENGAGEMENT_SKILL_EXECUTION_REQUESTED',\n];\n\nlet handlers = null;\nlet pendingActions = []; // { actionType, coeffects }\n\nconst invokeHandler = (handler, coeffects) => {\n\tif (typeof handler === 'function') {\n\t\thandler(coeffects);\n\t} else if (handler.effect) {\n\t\thandler.effect(coeffects);\n\t}\n};\n\nconst replayPendingActions = () => {\n\tif (pendingActions.length === 0) return;\n\n\tconsole.log(\n\t\t`[aiEngagementHandlerProxy] Replaying ${pendingActions.length} queued action(s)`,\n\t);\n\n\tpendingActions.forEach(({ actionType, coeffects }) => {\n\t\tconst handler = handlers?.[actionType];\n\t\tif (handler) {\n\t\t\tinvokeHandler(handler, coeffects);\n\t\t}\n\t});\n\tpendingActions = [];\n};\n\nexport const aiEngagementHandlerProxy = {\n\tsetHandlers(newHandlers) {\n\t\thandlers = newHandlers;\n\t\treplayPendingActions();\n\t},\n\n\thandleAction(coeffects) {\n\t\tconst actionType = coeffects.action.type;\n\t\tconst handler = handlers?.[actionType];\n\n\t\tif (handler) {\n\t\t\tinvokeHandler(handler, coeffects);\n\t\t} else {\n\t\t\tconsole.log(`[aiEngagementHandlerProxy] Queuing ${actionType}`);\n\t\t\tpendingActions.push({ actionType, coeffects });\n\t\t}\n\t},\n};\n\n/**\n * Proxy behavior for AI engagement launcher (sk8).\n * Queues actions until sk8 handlers are loaded, then replays them.\n */\nexport const proxyAiEngagementLauncherBehavior = {\n\tname: 'proxyAiEngagementLauncherBehavior',\n\tactionHandlers: SK8_PROXY_ACTIONS.reduce((handlers, actionType) => {\n\t\thandlers[actionType] = {\n\t\t\teffect: (coeffects) =>\n\t\t\t\taiEngagementHandlerProxy.handleAction(coeffects),\n\t\t\tstopPropagation: true,\n\t\t};\n\t\treturn handlers;\n\t}, {}),\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"snHttpFactory\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__.__esModule\n\t\t\t\t\tif (cjsModule && 'snHttpFactory' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"].snHttpFactory;\n\t\t\t\t\t} else if ('snHttpFactory' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__.snHttpFactory || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_http_request_29_3_4_index_jsdbx_093b894e__[\"default\"].snHttpFactory;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateHandlerBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateHandlerBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateHandlerBehavior;\n\t\t\t\t\t} else if ('dirtyStateHandlerBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateHandlerBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateHandlerBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"klona\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.__esModule\n\t\t\t\t\tif (cjsModule && 'klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t\t} else if ('klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.klona || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t} });","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport { getProperty } from 'sn-uxpage-presource';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { getScreenKey } from 'sn-canvas-common';\nimport {\n\tcanvasRootBehavior,\n\tcanvasErrorBehavior,\n\tcanvasLoginBehavior,\n\tcanvasAppshellRootBehavior,\n\tcanvasClientBehavior,\n\tcanvasSessionBehavior,\n\tambStatusBehavior,\n\tuserPresenceBehavior,\n\tcanvasLayoutErrorBehavior,\n\tstatePersistenceBehavior,\n\tinternalNavPluginBehavior,\n} from 'sn-canvas-core-addon';\nimport { setUpLoginHandler as _setUpLoginHandler } from 'sn-canvas-common';\nimport { aiScreenReaderBehavior } from './behaviors/aiScreenReader.behavior';\nimport { pageSummarizationBehavior } from './behaviors/pageSummarization.behavior';\nimport { deepSearchElement } from '../utils/domUtils';\nimport { wireAppProps } from '../utils/propWiring';\nimport {\n\tSN_CANVAS_APPSHELL_ROOT,\n\tSN_CANVAS_ROOT,\n\tSN_CANVAS_ERROR,\n\tUXF_PAGE_SUMMARIZATION_SKILL,\n\tMAIN_SELECTED_CONTENT_CHANGED,\n\tGRAPHQL_ENDPOINT,\n} from '../constants/constants';\nimport styles from './_sn-canvas-appshell-root.scss';\nimport canvasRootStyles from './../sn-canvas-root/_sn-canvas-root.scss';\n\nimport { intentTranslatorBehavior } from '@devsnc/library-intent-channel';\n\nimport { aiEngagementLauncherBehavior as baseAiEngagementLauncherBehavior } from '@servicenow/ai-engagement-library';\nimport {\n\tproxyAiEngagementLauncherBehavior,\n\taiEngagementHandlerProxy,\n\tSK8_PROXY_ACTIONS,\n} from './behaviors/aiEngagementLauncherProxy.behavior';\n\nimport { snHttpFactory } from 'sn-http-request';\nimport { dirtyStateHandlerBehavior } from '@devsnc/uxf-shared-behaviors';\nimport { getDirtyStateManager } from './utils/sn-canvas-appshell-root.utils';\nimport {\n\tmergeSessionDbAndLibCompPrefs,\n\tmergeDefaultUserPrefsFromUXGlobals,\n} from 'sn-canvas-core-addon';\nimport { CANVAS_EXPERIENCE_CONFIG_CHANGED } from '../constants/constants';\nimport { klona } from 'klona';\nimport { get, has } from 'lodash';\nimport { initializeKarunaListeners } from 'sn-canvas-common';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED, COMPONENT_DOM_READY } =\n\tactionTypes;\n\nconst aielFulfillerExperienceQuery = `\n\t\t\t\tquery { \n\t\t\t\t\t\tnow { \n\t\t\t\t\t\t\t\tnowAssistUtility {\n\t\t\t\t\t\t\t\t\tgetAielFulfillerExperience\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}`;\n\nconst snHttp = snHttpFactory({\n\txsrfToken: typeof window !== 'undefined' ? window.g_ck : undefined,\n\tbatch: false,\n\tbatching: false,\n});\n\n/**\n * Fetches the AI engagement launcher behavior based on the fulfiller experience type.\n * Dynamically imports the appropriate library based on the GraphQL response.\n * Once loaded, replays any queued actions and sets the real handler reference.\n */\nasync function loadAndActivateAiEngagementBehavior() {\n\ttry {\n\t\tconst response = await snHttp.request(GRAPHQL_ENDPOINT, 'POST', {\n\t\t\tdata: {\n\t\t\t\tquery: aielFulfillerExperienceQuery,\n\t\t\t},\n\t\t});\n\n\t\tlet behavior = baseAiEngagementLauncherBehavior;\n\n\t\tif (!response?.body) {\n\t\t\tconsole.warn(\n\t\t\t\t'[loadAndActivateAiEngagementBehavior] Invalid response structure',\n\t\t\t);\n\t\t} else {\n\t\t\tconst experienceType =\n\t\t\t\tresponse.body?.data?.now?.nowAssistUtility\n\t\t\t\t\t?.getAielFulfillerExperience;\n\n\t\t\tif (!experienceType) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'[loadAndActivateAiEngagementBehavior] No experience type returned',\n\t\t\t\t);\n\t\t\t} else if (experienceType === 'ai_native_chat') {\n\t\t\t\t// Signal that AIEL loading is in progress — suppress sparkle until resolved\n\t\t\t\twindow.__aielServiceUnavailable = { reason: 'loading' };\n\t\t\t\t// Try to grab AIEL from sk8 endpoint\n\t\t\t\tlet aiEngagementLauncherBehavior = { actionHandlers: {} };\n\t\t\t\ttry {\n\t\t\t\t\tconst baseServerURL = getProperty(\n\t\t\t\t\t\t'com.glide.aiel_asset_server',\n\t\t\t\t\t\t'',\n\t\t\t\t\t);\n\t\t\t\t\t// Construct URL at runtime to prevent bundler from intercepting\n\t\t\t\t\tconst aielUrl = `${baseServerURL}/sncapps/nextwave/assets/aiel.es.js`;\n\n\t\t\t\t\tlet assetCachedForMinuteDate = new Date();\n\t\t\t\t\tassetCachedForMinuteDate.setSeconds(0);\n\t\t\t\t\tassetCachedForMinuteDate.setMilliseconds(0);\n\t\t\t\t\tconst assetCachedForMinute =\n\t\t\t\t\t\tassetCachedForMinuteDate.valueOf();\n\t\t\t\t\tconst assetUrlWithCacheBuster = `${aielUrl}?v=${window?.ux_globals?.assetCacheBuster || assetCachedForMinute}`;\n\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\tconst aiel = await import(\n\t\t\t\t\t\t/* webpackIgnore: true */ assetUrlWithCacheBuster\n\t\t\t\t\t);\n\t\t\t\t\taiEngagementLauncherBehavior =\n\t\t\t\t\t\taiel.aiEngagementLauncherBehavior;\n\t\t\t\t\tdelete window.__aielServiceUnavailable;\n\t\t\t\t\twindow.__aielServiceAvailable = true;\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent('aiel-service-available'),\n\t\t\t\t\t);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Error importing AIEL from sk8 endpoint',\n\t\t\t\t\t\terror,\n\t\t\t\t\t);\n\t\t\t\t\twindow.__aielServiceUnavailable = {\n\t\t\t\t\t\treason: 'script-load-failed',\n\t\t\t\t\t};\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent('aiel-service-unavailable', {\n\t\t\t\t\t\t\tdetail: { reason: 'script-load-failed' },\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tbehavior = {\n\t\t\t\t\t...baseAiEngagementLauncherBehavior,\n\t\t\t\t\tactionHandlers: {\n\t\t\t\t\t\t...baseAiEngagementLauncherBehavior.actionHandlers,\n\t\t\t\t\t\t...aiEngagementLauncherBehavior.actionHandlers,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Activate handlers and replay queued actions\n\t\taiEngagementHandlerProxy.setHandlers(behavior?.actionHandlers);\n\n\t\treturn behavior;\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t'[loadAndActivateAiEngagementBehavior] Error fetching AI engagement launcher behavior:',\n\t\t\terror,\n\t\t);\n\t\t// Set base handlers as fallback\n\t\taiEngagementHandlerProxy.setHandlers(\n\t\t\tbaseAiEngagementLauncherBehavior?.actionHandlers,\n\t\t);\n\t\treturn baseAiEngagementLauncherBehavior;\n\t}\n}\n\n// Store the Karuna cleanup function\nlet cleanupKaruna = null;\n\nexport const appShellRootActionHandlers = {\n\t[COMPONENT_CONNECTED]: ({ dispatch }) => {\n\t\tcleanupKaruna = initializeKarunaListeners(dispatch);\n\t},\n\t[COMPONENT_DISCONNECTED]: () => {\n\t\t// Clean up all Karuna listeners\n\t\tif (cleanupKaruna) {\n\t\t\tcleanupKaruna();\n\t\t\tcleanupKaruna = null;\n\t\t}\n\t},\n\t[COMPONENT_DOM_READY]: ({ host }) => {\n\t\tif (!window.__serverSideRendered) wireAppProps(host);\n\n\t\t_setUpErrorHandler(host);\n\t\t_setUpLoginHandler(host);\n\t},\n\t// Reset confirmPopStateNavigation after navigating on pop-state.\n\t[MAIN_SELECTED_CONTENT_CHANGED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { selectedContent },\n\t\t\t},\n\t\t\tupdateState,\n\t\t} = coeffects;\n\n\t\t// Irrespective of the `confirmPopStateNavigationWhenDirty` page property,\n\t\t// we need to update the `confirmPopStateNavigationContext`.\n\t\tconst activeScreenKey = getScreenKey(selectedContent) || '';\n\t\tconst isActiveScreenDirty =\n\t\t\tgetDirtyStateManager().isScreenDirty(activeScreenKey) || false;\n\n\t\tupdateState({\n\t\t\tpath: 'confirmPopStateNavigationContext',\n\t\t\toperation: 'set',\n\t\t\tvalue: {\n\t\t\t\tconfirmPopStateNavigation: isActiveScreenDirty,\n\t\t\t\tactiveScreenKey,\n\t\t\t},\n\t\t});\n\t},\n\t[CANVAS_EXPERIENCE_CONFIG_CHANGED]: ({ properties, updateProperties }) => {\n\t\tconst { canvasSession } = properties;\n\t\tconst session = getSessionUserPrefs();\n\t\tconst updatedSession = { ...canvasSession, ...session };\n\t\tupdateProperties({ canvasSession: updatedSession });\n\t\twindow.ux_globals.session.output = updatedSession;\n\n\t\tObject.freeze(window?.ux_globals?.session?.output);\n\t\tObject.freeze(window?.ux_globals?.session?.output?.userPrefs);\n\t\tObject.freeze(window?.ux_globals?.session?.output?.user?.preferences);\n\t},\n};\n\nexport const getSessionUserPrefs = () => {\n\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\tif (!has(UX_GLOBALS, ['session'])) UX_GLOBALS['session'] = {};\n\tlet sessionInfo = klona(get(UX_GLOBALS['session'], ['output'], {}));\n\n\tlet sessionDbPrefs = get(sessionInfo, 'user.preferences', []);\n\n\tconst updatedUserPreferences =\n\t\tmergeSessionDbAndLibCompPrefs(sessionDbPrefs);\n\tconst mergedUserPrefs = mergeDefaultUserPrefsFromUXGlobals(\n\t\tupdatedUserPreferences,\n\t);\n\n\tsessionInfo.user.preferences = Object.entries(mergedUserPrefs).map(\n\t\t([name, value]) => ({ name, value }),\n\t);\n\tObject.assign(sessionInfo.userPrefs, mergedUserPrefs);\n\n\treturn sessionInfo;\n};\n\nexport async function setupRootMcp() {\n\tconst rootMcp = document.querySelector('[macroponent-namespace]');\n\tif (\n\t\trootMcp &&\n\t\trootMcp.tagName.toLowerCase().indexOf('macroponent-') === 0\n\t) {\n\t\tconst appShellRootFound = deepSearchElement(\n\t\t\tSN_CANVAS_APPSHELL_ROOT,\n\t\t\trootMcp,\n\t\t);\n\t\tif (appShellRootFound) {\n\t\t\tawait createAppRoot(appShellRootFound);\n\t\t} else {\n\t\t\tconst snCanvasRoot =\n\t\t\t\trootMcp.shadowRoot?.querySelector(SN_CANVAS_ROOT); // DEF0485433\n\t\t\tif (snCanvasRoot) {\n\t\t\t\tawait createAppRoot(false);\n\t\t\t} else {\n\t\t\t\tconst rootMcpConnectedCallback = async () => {\n\t\t\t\t\tconst _appShellRootFound = deepSearchElement(\n\t\t\t\t\t\tSN_CANVAS_APPSHELL_ROOT,\n\t\t\t\t\t\trootMcp,\n\t\t\t\t\t);\n\t\t\t\t\tawait createAppRoot(_appShellRootFound);\n\t\t\t\t};\n\t\t\t\trootMcp.addEventListener(\n\t\t\t\t\tCOMPONENT_CONNECTED,\n\t\t\t\t\trootMcpConnectedCallback,\n\t\t\t\t\t{ once: true },\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\nsetupRootMcp();\n\nconst _setUpErrorHandler = (host) => {\n\tconst rootCompID = host.getAttribute('component-id');\n\tconst targetEle = deepSearchElement(SN_CANVAS_ERROR, host);\n\tif (targetEle) {\n\t\ttargetEle.open = `@${rootCompID}/showError`;\n\t\ttargetEle.errorConfig = `@${rootCompID}/errorConfig`;\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(`blank-canvas: can not found ${SN_CANVAS_ERROR}`);\n\t}\n};\n\nasync function createAppRoot(appShellRootFound) {\n\tconst snCanvasAppShellRoot = ({\n\t\tcomponentId,\n\t\tconfirmPopStateNavigationContext: { confirmPopStateNavigation = false },\n\t\tproperties: { modalContent = {}, rootContentUpdated, activeExperience },\n\t}) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={\n\t\t\t\t\tappShellRootFound\n\t\t\t\t\t\t? 'sn-canvas-appshell-root'\n\t\t\t\t\t\t: 'sn-canvas-root'\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<sn-canvas-modal-hoist modal-content={modalContent} />\n\t\t\t\t<sn-canvas-router\n\t\t\t\t\troot-selected-nav-item={`@${componentId}/rootSelectedNavItem`}\n\t\t\t\t\troot-content-updated={rootContentUpdated}\n\t\t\t\t\troot-persisted-state={`@${componentId}/persistedStateForRouter`}\n\t\t\t\t\tactive-experience={activeExperience}\n\t\t\t\t\tconfirm-pop-state-navigation={confirmPopStateNavigation}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tappShellRootFound\n\t\t\t\t\t\t\t? 'appshell-layout-container'\n\t\t\t\t\t\t\t: 'layout-container'\n\t\t\t\t\t}\n\t\t\t\t\taria-hidden={modalContent?.isOpen ? 'true' : 'false'}\n\t\t\t\t>\n\t\t\t\t\t<slot />\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\t// Start loading real AI engagement behavior asynchronously\n\t// The stub behavior will queue actions until this completes\n\tloadAndActivateAiEngagementBehavior();\n\n\tcreateCustomElement(\n\t\tappShellRootFound ? SN_CANVAS_APPSHELL_ROOT : SN_CANVAS_ROOT,\n\t\t{\n\t\t\ttype: snabbdom,\n\t\t\tview: snCanvasAppShellRoot,\n\t\t\tstyles: appShellRootFound ? styles : canvasRootStyles,\n\t\t\tbehaviors: [\n\t\t\t\t// Proxy behavior queues sk8 actions until handlers are loaded,\n\t\t\t\t// then replays them. Handlers are set via aiEngagementHandlerProxy.setHandlers()\n\t\t\t\t{ behavior: proxyAiEngagementLauncherBehavior },\n\t\t\t\t// Base behavior with sk8 actions removed (handled by proxy)\n\t\t\t\t{\n\t\t\t\t\tbehavior: {\n\t\t\t\t\t\t...baseAiEngagementLauncherBehavior,\n\t\t\t\t\t\tactionHandlers: Object.fromEntries(\n\t\t\t\t\t\t\tObject.entries(\n\t\t\t\t\t\t\t\tbaseAiEngagementLauncherBehavior.actionHandlers,\n\t\t\t\t\t\t\t).filter(\n\t\t\t\t\t\t\t\t([key]) => !SK8_PROXY_ACTIONS.includes(key),\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},\n\t\t\t\tcanvasRootBehavior,\n\t\t\t\tcanvasErrorBehavior,\n\t\t\t\tcanvasLoginBehavior,\n\t\t\t\tcanvasAppshellRootBehavior,\n\t\t\t\tcanvasClientBehavior,\n\t\t\t\tcanvasSessionBehavior,\n\t\t\t\tambStatusBehavior,\n\t\t\t\tuserPresenceBehavior,\n\t\t\t\tcanvasLayoutErrorBehavior,\n\t\t\t\tstatePersistenceBehavior,\n\t\t\t\tinternalNavPluginBehavior,\n\t\t\t\taiScreenReaderBehavior,\n\t\t\t\tpageSummarizationBehavior,\n\t\t\t\tdirtyStateHandlerBehavior,\n\t\t\t\t{\n\t\t\t\t\tbehavior: intentTranslatorBehavior,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttranslatorContextId: UXF_PAGE_SUMMARIZATION_SKILL,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tinitialState: {\n\t\t\t\t/**\n\t\t\t\t * Inform the router to display confirmation dialog\n\t\t\t\t * when navigation occurs on pop-state.\n\t\t\t\t */\n\t\t\t\tconfirmPopStateNavigationContext: {\n\t\t\t\t\tconfirmPopStateNavigation: false,\n\t\t\t\t\tactiveScreenKey: '',\n\t\t\t\t},\n\t\t\t},\n\t\t\tactionHandlers: {\n\t\t\t\t...appShellRootActionHandlers,\n\t\t\t},\n\t\t},\n\t);\n}\n","/**\n * For Dirty State Manager API see uxf-monorepo/library-uxf/src/dirtyStateManager/index.js\n * @returns Returns the global instance of the dirtyStateManager.\n */\nexport const getDirtyStateManager = () => {\n\tif (!window?.uxf?.dirtyStateManager) {\n\t\tthrow new Error(\n\t\t\t'DirtyStateManager not found on window. ' +\n\t\t\t\t'Make sure the library-uxf dirtyStateManager is initialized.',\n\t\t);\n\t}\n\treturn window?.uxf?.dirtyStateManager;\n};\n","export * from './sn-canvas-root';\nexport * from './sn-canvas-appshell-root';\nimport { setRouterId, setAppShellRootId } from './utils/propWiring';\n\nlet appShellRootId;\nlet routerComponentId;\nwindow.__uxrWiredProps = [];\nexport const wireExpProps = (host, expShellComponentId) => {\n\tconst srcComponentId = expShellComponentId || routerComponentId;\n\tif (!srcComponentId) return;\n\tconst rootId = host.getAttribute('component-id');\n\twindow.__uxrWiredProps = [...window.__uxrWiredProps, rootId];\n\tconst snCanvasLayout = host.querySelector('sn-canvas-layout');\n\tconst snCanvasMain = host.querySelector('sn-canvas-main');\n\n\tconst routeConfigBinding = expShellComponentId\n\t\t? `@${expShellComponentId}/routeConfig`\n\t\t: `@${routerComponentId}/routerConfig`;\n\n\tif (snCanvasLayout) {\n\t\tsnCanvasLayout.routeConfig = routeConfigBinding;\n\t\tsnCanvasLayout.selectedContent = `@${srcComponentId}/selectedContent`;\n\t\tsnCanvasLayout.canvasSession = `@${appShellRootId}/canvasSession`;\n\t\tif (expShellComponentId)\n\t\t\tsnCanvasLayout.screensToCloseQueue = `@${expShellComponentId}/screensToCloseQueue`;\n\t}\n\n\tif (snCanvasMain) {\n\t\tsnCanvasMain.routeConfig = routeConfigBinding;\n\t\tsnCanvasMain.selectedContent = `@${srcComponentId}/selectedContent`;\n\t\tsnCanvasMain.persistedState = `@${appShellRootId}/persistedStateForMain`;\n\t\tif (snCanvasLayout) {\n\t\t\tconst _componentId = snCanvasLayout.getAttribute('component-id');\n\t\t\t// bind experienceId to sn-canvas-experience-shell instead of sn-canvas-layout when possible\n\t\t\t// the reason is that sn-canvas-layout/experienceId is set by the exp macroponent ELEMENT_BINDING\n\t\t\t// but when sn-canvas-main starts rendering sn-canvas-screen, the exp macroponent is not yet rendered,\n\t\t\t// makes the sn-canvas-layout/experienceId undefined yet.\n\t\t\tsnCanvasMain.experienceId = expShellComponentId\n\t\t\t\t? `@${expShellComponentId}/experienceId`\n\t\t\t\t: `@${_componentId}/experienceId`;\n\t\t\tsnCanvasMain.screenStatus = `@${_componentId}/screenStatus`;\n\t\t\tsnCanvasMain.activityLogs = `@${_componentId}/activityLogs`;\n\t\t\tsnCanvasMain.closedNavigationIds = `@${_componentId}/closedNavigationIds`;\n\t\t\tsnCanvasMain.screensToCloseQueue = `@${_componentId}/screensToCloseQueue`;\n\t\t\tsnCanvasMain.delegatedNotifications = `@${_componentId}/delegatedNotifications`;\n\t\t}\n\t}\n};\n\nexport const wireAppProps = (host) => {\n\trouterComponentId = host?.shadowRoot\n\t\t?.querySelector('sn-canvas-router')\n\t\t?.getAttribute('component-id');\n\tappShellRootId = host?.getAttribute('component-id');\n\n\tif (!routerComponentId) return;\n\n\tsetRouterId(routerComponentId);\n\tsetAppShellRootId(appShellRootId);\n\n\tsetRouterId(routerComponentId);\n\tsetAppShellRootId(appShellRootId);\n\n\tconst appshellLayout = host.querySelector('sn-canvas-appshell-layout');\n\tconst appshellMain = host.querySelector('sn-canvas-appshell-main');\n\tif (appshellLayout) {\n\t\tappshellLayout.routeConfig = `@${routerComponentId}/routerConfig`;\n\t\tappshellLayout.selectedContent = `@${routerComponentId}/selectedContent`;\n\t\tappshellLayout.canvasSession = `@${appShellRootId}/canvasSession`;\n\t\tappshellLayout.clientInfo = `@${appShellRootId}/clientInfo`;\n\t}\n\n\tif (appshellMain) {\n\t\tappshellMain.routeConfig = `@${routerComponentId}/routerConfig`;\n\t\tappshellMain.selectedContent = `@${routerComponentId}/selectedContent`;\n\t\tif (appshellLayout) {\n\t\t\tconst layoutComponentId =\n\t\t\t\tappshellLayout.getAttribute('component-id');\n\t\t\tappshellMain.selectedContentMap = `@${layoutComponentId}/selectedContentMap`;\n\t\t\tappshellMain.experiencesData = `@${layoutComponentId}/experiencesData`;\n\t\t}\n\n\t\tconst experienceShell = appshellMain.shadowRoot.querySelector(\n\t\t\t'sn-canvas-experience-shell',\n\t\t);\n\t\tif (experienceShell) {\n\t\t\t// eslint-disable-next-line no-undef\n\t\t\tconst path = ux_globals.siteName;\n\n\t\t\tif (experienceShell.children.length > 0) {\n\t\t\t\tconst experienceMcp = experienceShell.children[0];\n\t\t\t\tif (experienceMcp) {\n\t\t\t\t\t// eslint-disable-next-line no-undef\n\t\t\t\t\tconst experienceConfig =\n\t\t\t\t\t\t// eslint-disable-next-line no-undef\n\t\t\t\t\t\tux_globals.experienceConfigs[`${path}`];\n\t\t\t\t\texperienceMcp.appId = experienceConfig.experienceId;\n\t\t\t\t\texperienceMcp.nowUxfAppConfigSysId =\n\t\t\t\t\t\texperienceConfig?.pageSettings?.sysId ||\n\t\t\t\t\t\texperienceConfig.appConfigId;\n\t\t\t\t\texperienceMcp.isCanvasExperienceShell = true;\n\t\t\t\t\tconst expRoot =\n\t\t\t\t\t\texperienceMcp.shadowRoot.querySelector(\n\t\t\t\t\t\t\t'sn-canvas-root',\n\t\t\t\t\t\t);\n\t\t\t\t\twireExpProps(\n\t\t\t\t\t\texpRoot,\n\t\t\t\t\t\texperienceShell.getAttribute('component-id'),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (window.__serverSideRendered) {\n\tconst rootMcp = document.querySelector('[macroponent-namespace]');\n\tif (rootMcp && rootMcp.tagName.indexOf('MACROPONENT-') === 0) {\n\t\t// eslint-disable-next-line no-undef\n\t\trootMcp.userSessionInfo = ux_globals.session;\n\t\tconst appshellRoot = rootMcp.shadowRoot.querySelector(\n\t\t\t'sn-canvas-appshell-root',\n\t\t);\n\t\tif (appshellRoot) wireAppProps(appshellRoot);\n\t\telse {\n\t\t\tconst expRoot = rootMcp.shadowRoot.querySelector('sn-canvas-root');\n\t\t\tif (expRoot) wireExpProps(expRoot);\n\t\t}\n\t}\n}\n","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_canvas_blank=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":425,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/sn-declarative-actions/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","DA_WRAPPED_CLICKED","UXF_INTERNAL_EVENT_META","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","chain","curry","difference","find","forEach","forOwn","has","isArray","isEmpty","isEqual","isFunction","isNull","isObject","isString","mapValues","merge","pick","replace","set","startCase","take","relayDAUpdates","host","daRelayPropName","actions","_host$shadowRoot$quer","items","shadowRoot","querySelector","assignedNodes","getDynamicEvaluatedDAs","declarativeActions","reduce","acc","currentValue","children","da","action","filter","dynamicEvaluationEnabled","assignmentId","evaluateDynamicConditions","context","daSysIds","values","payload","previousValue","dispatch","state","dynamicConditionResults","properties","modelData","parentTable","parentRecordSysId","conditions","table","recordSysIdsToReEvaluate","runDynamicCondition","recordSysIds","affectedRecordSysIds","selectedRecords","updateDeclarativeActions","getDynamicConditionsState","updateState","listRefresh","cellUpdatedOn","editedRecords","getRecordsToEvaluate","keys","isDirty","daSysId","isDAEnabled","every","recSysId","daToUpdate","enabled","dynamicConditionCompletedEffect","_ref","newConditionResults","stateConditionResultsArr","conditionResult","recData","recordResults","rec","recordSysId","stateConditionResults","selectAllRecords","selectedRecordsToEffect","runDynamicConditionsEffect","variableList","successActionType","errorActionType","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","ACTION_CONFIG","ACTION_CONFIG_ID","ASSIGNMENT_ID","ACTION_DISPATCH","ARRAY","BOOLEAN","CONTEXT_VARS","UXF_CLIENT_ACTION","ERROR_PREFIX","ERROR_ACTION_PAYLOAD","ERROR_TYPE_INVALID","EVAM","BOARD","EVENT_NAME","EVENT","FIELD","FIELD_TYPE","FORM","ID","LABEL","LIST","MODEL","META_DATA","NAME","NUMBER","OBJECT","PAYLOAD","PROPERTIES","RELATED_LIST","SCHEMA","STRING","TYPE","VALUE","CATALOG_WIZARD","SUPPORTED_MODELS_TYPES","MODELS","getTypeFromValue","getNameAndLabel","getEventStructure","buildObject","isEventProps","event","typeMetadata","schema","v","getPropMetadata","buildList","arr","buildEventDefinitions","actionType","actionPayload","Error","buildApplicability","model","modelType","contractGenerator","evaluateRequired","indexOf","evaluateModelType","daApplicability","dispatchedEventDefs","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__","toLower","getDataResourceKey","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","getComponentsByTagNames","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__","uiInteractionActions","uiInteractionBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","markTypes","DEFAULT_MARK_TYPE","usage","EVENT_ORIGIN_EVENT_NAME_MAP","getEventName","listType","eventOriginNode","meta","composedPath","nodeName","ex","console","warn","coeffects","markLevel","markType","eventName","details","actionDispatch","name","label","fieldName","referenceTable","tableName","dispatchedAction","fieldTable","sysId","type","track","level","COMPONENT_BOOTSTRAPPED","COMPONENT_PROPERTY_CHANGED","COMPONENT_DOM_TREE_READY","DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS","DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED","DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED","DECLARATIVE_ACTION","DECLARATIVE_ACTION_UPDATE_RENDER","DECLARATIVE_ACTION_EXECUTE_ACTION","DECLARATIVE_ACTION_CANCEL_ACTION","DECLARATIVE_ACTION_CLOSE_MODAL","DECLARATIVE_ACTION_SCRIPT_START","DECLARATIVE_ACTION_SCRIPT_SUCCESS","DECLARATIVE_ACTION_SCRIPT_FAILED","DECLARATIVE_ACTION_OPEN_LINK","HTTP_ERROR_OCCURRED","VALUE_CHANGED","SERVER_SCRIPT_API_BODY_PARAMS","consolidateModel","fieldsParams","fields","isNewRecord","dispatchActionByType","shouldWrapAction","wrapped_action_name","wrapped_payload","wrapped_action_type","sourceCorrelationId","createHttpData","sysparm_table","data","actionName","clientScript","interactionId","interactionInputMap","dataSourceNodeId","reference","dataSourceReference","slice","dataResourceKey","UI_INTERACTION_START_REQUESTED","inputs","dataResources","getDispatcher","shouldAppendActionEvent","createActionEvent","_ref2","target","metaKey","actionEvent","addToPayload","dispatchNotifications","sessionNotifications","notifications","allNotifications","_ref3","text","message","retrieveInteractionSysIds","actionNodes","interactionSysIds","_item$children","actionItem","effect","confirmationRequired","trackUxMetrics","displayConfirmation","stopPropagation","_ref5","payloadAction","isDefined","actionComponent","customElements","updatingState","Date","now","async","componentTag","then","names","loadComponent","loadedComponents","_ref6","_ref7","method","headers","queryParams","pathParams","dataParam","_ref8","stateAction","redirect","record","sys_id","query","type_metadata","parent_table","parent_sys_id","_ref9","_ref0","_ref1","url","window","open","_ref4","onValueChange","UI_INTERACTION_LOAD_REQUESTED","sysIds","shouldEvaluateDynamicConditions","dynamicConditionsState","handlePropertyChanged","_ref10","_ref11","error","errors","_ref12","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__","itemSelectedAction","treePickerItemSelectedAction","treePickerModalCloseAction","treePickerModalAddAction","FETCH_TREE_PICKER","FETCH_TREE_PICKER_SUCCESS","FETCH_TREE_PICKER_FAILURE","COMPONENT_LOAD_REQUESTED","COMPONENT_LOAD_SUCCEEDED","COMPONENT_LOAD_FAILED","closeModalEffect","active","selectedItems","display_value_list","referenceKey","newPayload","displayValue","additionalInfo","referenceSysId","itemSelectedTransform","fieldType","operation","index","start","deleteCount","path","serializedChanges","encodedRecord","dictionary","attributes","attributeValue","field","serialized_changes","encoded_record","tagName","fetchingTreePicker","isTreePicker","config","domainSeparation","treePickerConfig","domainId","createComponentLoaderEffect","componentLoading","getScrollOffset","pageXOffset","pageYOffset","document","compatMode","documentElement","scrollTop","body","handleEscape","opened","offset","setTimeout","removeAttribute","scrollTo","unfreezeBody","freezeStyle","overflowY","position","top","left","width","style","freezeBody","variant","tooltipContent","bare","clickActionType","renderer","snabbdom","view","componentId","ignoreDepAsRefQual","ignoreReferenceQualifier","dependentField","chars","resizableConfig","isSupported","isGlideList","displayFooter","footerActions","isLoading","getContainerClass","prefix","baseClass","props","containerClass","Modal","size","className","select","dependentValue","targetValue","queryString","refTableName","renderModalContent","initialState","referenceQualifier","enableResizable","styles","actionHandlers","daWrappedClickedBehavior","options","predicate","aliases","uxfMeta","permitCorrelationIdMismatch","alias","opers","ANYTHING","BETWEEN","vals","split","evalGreaterThanOrEquals","evalLessThanOrEquals","ISEMPTY","evalIsEmpty","EMPTYSTRING","evalEmptyString","ENDSWITH","String","endsWith","evalEquals","IN","evalIn","LIKE","evalLike","ISNOTEMPTY","SAMEAS","evalSameAs","NSAMEAS","STARTSWITH","startsWith","GT_FIELD","LT_FIELD","GT_OR_EQUALS_FIELD","LT_OR_EQUALS_FIELD","evaluateConditions","modelConditions","groupByNewQuery","term","groupByAnd","some","terms","operator","evalScriptedClientConditions","scriptedClientCond","scopeVariableNames","scopeVariableValues","scopingFunction","Function","newQuery","or","includes","val","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__","getInteractionId","mark","interpolationRegex","arrayIndexRegex","ZERO_COUNT_REGEX","evaluate","modelEvaluator","substitute","string","parsedString","exec","matchedString","modelField","lastIndex","str","isInterpolation","trim","replacement","recursiveEvaluation","evaluator","Array","objectValue","evaluateAction","tooltip","actionAttributes","payloadMap","scriptedClientCondition","ariaLabel","mergedPayload","constructPayload","payloadTemplate","_","resolvePayloadPath","variable","condition","jsonParse","jsonString","JSON","parse","parseStringProperties","unparsedPayload","unparsedAttributes","unparsedInteractionInputMap","parsedPayload","parsedAttributes","parsedInteractionInputMap","formatZeroCountString","test","transformActions","metricsData","accumulator","recordSelectionRequired","newAction","parsedAction","evaluatedAction","count","metadata","nowId","sort","action1","action2","order","transformer","evaluateOnly","evaluateAndKeep","show","buttons","createButtons","confirmationMessage","SNDeclarativeMediator","isUIComponent","ActionComponent","hoist","deepCompare","behaviors","behavior","dataProvider","dataResourceName","dispatches","ADD_NOTIFICATIONS","REFRESH_REQUESTED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","createPreSourceBehavior","getBehaviorProp","preWsConfigSysId","OPEN_FRAME_KEY","openFrameBehavior","transform","getActionsByKey","nth","HACKY_GLOBAL_DEPENDENCY_MAP","CTI","openFrameConfig","canRenderAction","formData","requiresValue","requiresExistingRecord","requiresWritable","readonly","dependency","DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL","DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS","DECLARATIVE_ACTION_FETCH_FIELD_ERROR","fetchActionsEffect","updateProperties","actionsFromDatasource","Action","oldIconToNDSIcon","search","phone","animateIcon","icon","getIcon","iconProp","animatedIcon","preventDefault","_window","_window2","ctrlKey","navigator","userAgentData","platform","toLowerCase","resolvedActions","cappedActions","evaluatedActions","componentName","fetchDeclarativeActions","wsConfigSysId","createData","workspaceConfigId","classicForm","isClassicForm","SNDeclarativeFieldAction","__TECTONIC__$devsnc_sn_declarative_actions"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/view.scss","webpack:///@devsnc/sn-declarative-actions/src/reference-search/view.scss","webpack:///./src/field/field-renderer/view.scss?2349","webpack:///./src/reference-search/view.scss?3e39","webpack:///@babel/runtime/7.28.3/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/common/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/mediator/dynamicConditionsUtil.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/common/contractGenerator.js","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/29.1.5/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/utils/interaction.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/behavior-ui-interaction/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/utils/uxMetricsUtils.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/actions.js","webpack:///@devsnc/sn-declarative-actions/src/utils/dynamicLoad.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-effect-component-loader/26.0.21/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/reference-search/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/modal-wrapper/index.js","webpack:///@devsnc/sn-declarative-actions/src/reference-search/view.js","webpack:///@devsnc/sn-declarative-actions/src/reference-search/index.js","webpack:///@devsnc/sn-declarative-actions/src/behaviors/daWrappedClickedBehavior/index.js","webpack:///@devsnc/sn-declarative-actions/src/common/conditionEvaluator.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-metrics/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/common/transformActions.js","webpack:///@devsnc/sn-declarative-actions/src/utils/uiMetricsUtils.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/confirmation-modal/actions.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/confirmation-modal/index.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/confirmation-modal/view.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/view.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/index.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/behaviors.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/utils.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/view.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/index.js","webpack:///@devsnc/sn-declarative-actions/src/field/view.js","webpack:///@devsnc/sn-declarative-actions/src/field/index.js","webpack:///@devsnc/sn-declarative-actions/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:flex}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".list-container{height:424px}.tree-container{height:424px;position:relative}.loader-container{align-items:center;display:flex;height:424px;justify-content:center;width:100%}.multi{height:422px}.with-footer{height:350px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./view.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./view.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","export const DA_WRAPPED_CLICKED = 'DA_WRAPPED_CLICKED';\nexport const UXF_INTERNAL_EVENT_META = '__uxfMetaInternalOnlyDoNotUse';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"chain\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'chain' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chain;\n\t\t\t\t\t} else if ('chain' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.chain || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chain;\n\t\t\t\t}, [\"curry\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'curry' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].curry;\n\t\t\t\t\t} else if ('curry' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.curry || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].curry;\n\t\t\t\t}, [\"difference\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t\t} else if ('difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.difference || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"forEach\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t\t} else if ('forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forEach || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t}, [\"forOwn\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t\t} else if ('forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forOwn || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isNull\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNull' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNull;\n\t\t\t\t\t} else if ('isNull' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNull || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNull;\n\t\t\t\t}, [\"isObject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t\t} else if ('isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isObject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t}, [\"isString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t\t} else if ('isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"mapValues\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t\t} else if ('mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.mapValues || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t}, [\"merge\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t\t} else if ('merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.merge || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t}, [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t}, [\"replace\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'replace' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].replace;\n\t\t\t\t\t} else if ('replace' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.replace || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].replace;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"startCase\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'startCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].startCase;\n\t\t\t\t\t} else if ('startCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.startCase || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].startCase;\n\t\t\t\t}, [\"take\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t\t} else if ('take' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.take || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].take;\n\t\t\t\t} });","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {difference, find, get, has, isEmpty, isEqual, merge} from 'lodash';\n\nconst DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS =\n\t'DECLARATIVE_ACTION_INTERNAL#RUN_DYNAMIC_CONDITIONS';\nconst DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_COMPLETED';\nconst DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_FAILED';\n\n/**\n * Method to pass down Dynamically Evaluated Declarative Actions to slotted children\n * using a property name [daRelayPropName] configured\n *\n * @param {string} host Reference to the DOM element the ShadowRoot is attached\n * @param {string} daRelayPropName prop name of the slotted child component\n * @param {Object} actions Updated Dynamically Evaluated Declarative Actions\n */\nexport const relayDAUpdates = (host, daRelayPropName, actions) => {\n\tif (daRelayPropName) {\n\t\tconst items = host.shadowRoot.querySelector('slot')?.assignedNodes() || [];\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tfor (const item of items) {\n\t\t\titem[daRelayPropName] = actions;\n\t\t}\n\t}\n};\n\n/**\n * Returns a list of DA sysIds where dynamicEvaluationEnabled is true\n * @param {Array} declarativeActions\n * @returns Array\n */\nexport const getDynamicEvaluatedDAs = declarativeActions => {\n\treturn declarativeActions\n\t\t.reduce((acc, currentValue) => {\n\t\t\treturn acc.concat(currentValue.children);\n\t\t}, [])\n\t\t.map(da => da.action)\n\t\t.filter(da => da.dynamicEvaluationEnabled)\n\t\t.map(da => da.assignmentId);\n};\n\nexport const handlePropertyChanged = context => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {name, value, previousValue}\n\t\t},\n\t\tproperties,\n\t\thost\n\t} = context;\n\n\tif (\n\t\t(name === 'modelData' || name === 'declarativeActions') &&\n\t\tvalue &&\n\t\t!isEqual(value, previousValue)\n\t) {\n\t\tconst {\n\t\t\tdeclarativeActions,\n\t\t\tmodelData: {daRelayPropName}\n\t\t} = properties;\n\n\t\tconst dynamicConditionsState = getDynamicConditionsState(context);\n\t\tif (isEmpty(dynamicConditionsState)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (name === 'declarativeActions' && isEmpty(declarativeActions)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get All dynamicEvaluation Enabled DA\n\t\tconst daSysIds = getDynamicEvaluatedDAs(declarativeActions);\n\n\t\t// Evaluate only dynamicEvaluation Enabled DA\n\t\tif (!daSysIds.length) {\n\t\t\t//handle list table change with no dynamicEval DA\n\t\t\t//update the child of mediator with new DA info\n\t\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t\t\treturn;\n\t\t}\n\n\t\tevaluateDynamicConditions(context, daSysIds, dynamicConditionsState);\n\t}\n};\n\nconst evaluateDynamicConditions = (context, daSysIds, values) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {value, previousValue}\n\t\t},\n\t\tdispatch,\n\t\tstate: {dynamicConditionResults = {}},\n\t\tproperties: {\n\t\t\tdeclarativeActions,\n\t\t\tmodelData: {parentTable, parentRecordSysId, conditions, table, daRelayPropName}\n\t\t},\n\t\thost\n\t} = context;\n\n\tconst {recordSysIdsToReEvaluate, runDynamicCondition} = values;\n\tif (runDynamicCondition) {\n\t\t// Re-Evaluate the conditions again for the DA's against the new Records\n\t\tdispatch(DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS, {\n\t\t\tdaSysIds, // we send all da's that have dynamicEvaluationEnabled for evaluation\n\t\t\trecordSysIds: recordSysIdsToReEvaluate,\n\t\t\ttable,\n\t\t\tparentTable,\n\t\t\tparentRecordSysId,\n\t\t\tconditions // use conditions only for \"Select All\" case\n\t\t});\n\t\treturn;\n\t}\n\tif (isEmpty(dynamicConditionResults) && isEmpty(previousValue)) {\n\t\t//handle list table change with dynamicEval DA when No record selected (no gql fired)\n\t\t//update the child of mediator with new DA info\n\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t\treturn;\n\t}\n\t//handle pagination & count updates on list\n\tlet {affectedRecordSysIds} = values;\n\tif (!affectedRecordSysIds.length) affectedRecordSysIds = value.selectedRecords || [];\n\t// No need for Re-Evaluation, use the cached data in state to calculate DA state\n\tupdateDeclarativeActions(\n\t\tdaSysIds,\n\t\taffectedRecordSysIds,\n\t\tdynamicConditionResults,\n\t\t[...declarativeActions],\n\t\thost,\n\t\tdaRelayPropName\n\t);\n};\n\nconst getDynamicConditionsState = context => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {value, previousValue}\n\t\t},\n\t\tproperties: {\n\t\t\tmodelData: {recordSysIds = []}\n\t\t},\n\t\tstate: {dynamicConditionResults = {}},\n\t\tupdateState\n\t} = context;\n\n\tlet recordSysIdsToReEvaluate = [];\n\tlet affectedRecordSysIds = [];\n\tlet runDynamicCondition = false;\n\n\tif (\n\t\t!isEmpty(previousValue) &&\n\t\t(!isEqual(value.parentTable, previousValue.parentTable) ||\n\t\t\t!isEqual(value.parentRecordSysId, previousValue.parentRecordSysId) ||\n\t\t\t!isEqual(value.table, previousValue.table) ||\n\t\t\t!isEqual(value.recordSysIds, previousValue.recordSysIds))\n\t) {\n\t\t//ignore unwanted props\n\t\treturn {};\n\t} else if (!isEqual(value.listRefresh, previousValue.listRefresh)) {\n\t\t// Clear dynamic condition result cache when list is refreshed\n\t\tupdateState({dynamicConditionResults: {}});\n\t\treturn {};\n\t} else if (!isEqual(value.conditions, previousValue.conditions)) {\n\t\trunDynamicCondition = true;\n\t} else if (\n\t\tvalue.cellUpdatedOn &&\n\t\tvalue.editedRecords &&\n\t\t!isEqual(value.cellUpdatedOn, previousValue.cellUpdatedOn) &&\n\t\tvalue.editedRecords.length\n\t) {\n\t\t//handle inline edit\n\t\t//note if the same record is being updated again we get the same sysIds in editedRecords\n\t\t//so we use cellUpdatedOn in combination\n\t\taffectedRecordSysIds = value.editedRecords || [];\n\t\trecordSysIdsToReEvaluate = affectedRecordSysIds;\n\t\trunDynamicCondition = recordSysIdsToReEvaluate.length;\n\t} else if (!isEqual(value.selectedRecords, previousValue.selectedRecords)) {\n\t\t// NoInlineEdit - get all records not in state\n\n\t\taffectedRecordSysIds = value.selectedRecords || [];\n\t\t//dynamicConditionResults is Object of objects\n\t\t//Object<{[dasysID]:{[recordSysId]:boolean}}>\n\t\t//each of the objects [one per DA] will contain the same set of recordSysIds\n\t\t//we need only one object from that to get a list of recordSysIds\n\t\t//so we use Object.keys to get one object and then find the difference\n\t\trecordSysIdsToReEvaluate = getRecordsToEvaluate(recordSysIds, dynamicConditionResults);\n\t\trunDynamicCondition = affectedRecordSysIds.length && recordSysIdsToReEvaluate.length;\n\t}\n\n\treturn {recordSysIdsToReEvaluate, affectedRecordSysIds, runDynamicCondition};\n};\n\nexport const getRecordsToEvaluate = (recordSysIds, dynamicConditionResults) => {\n\treturn Object.keys(dynamicConditionResults).length\n\t\t? difference(recordSysIds, Object.keys(find(dynamicConditionResults)))\n\t\t: recordSysIds;\n};\n\n/**\n * Function to add/update the \"enable\" property\n * for all the Dynamic Evaluation Enabled DAs based on its defined Conditions\n * and update the slotted child with the Updated Declarative Actions if any\n *\n * @param {Array.<string>} daSysIds  DynamicEvaluation Enabled Declarative Action SysIds\n * @param {Array.<string>} selectedRecords Selected Record SysIds to run conditions on\n * @param {Object} dynamicConditionResults Dynamically Evaluated DA Results from server\n * @param {Object} declarativeActions Declarative Actions\n * @param {string} host Reference to the DOM element the ShadowRoot is attached\n * @param {string} daRelayPropName prop name of the slotted child component\n */\nconst updateDeclarativeActions = (\n\tdaSysIds = [],\n\tselectedRecords = [],\n\tdynamicConditionResults,\n\tdeclarativeActions,\n\thost,\n\tdaRelayPropName\n) => {\n\tlet isDirty = false;\n\n\t//Run for each of the Dynamic Evaluation Enabled DA's\n\tdaSysIds.forEach(daSysId => {\n\t\t//check DA - enable or disable\n\t\t//DA has to be disabled if no selected records\n\t\t//fail fast - get out of the loop as soon as we find first false\n\t\tconst isDAEnabled = selectedRecords.length\n\t\t\t? selectedRecords.every(recSysId =>\n\t\t\t\t\tget(dynamicConditionResults, `${daSysId}.${recSysId}`, false)\n\t\t\t  )\n\t\t\t: false;\n\n\t\t//find the DAs to update\n\t\tdeclarativeActions = declarativeActions.map(da => {\n\t\t\treturn {\n\t\t\t\t...da,\n\t\t\t\tchildren: da.children.map(daToUpdate => {\n\t\t\t\t\tif (daToUpdate.id === daSysId) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tdaToUpdate.action &&\n\t\t\t\t\t\t\t(!has(daToUpdate.action, 'enabled') ||\n\t\t\t\t\t\t\t\tdaToUpdate.action.enabled !== isDAEnabled)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tisDirty = true;\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...daToUpdate,\n\t\t\t\t\t\t\t\taction: {...daToUpdate.action, enabled: isDAEnabled}\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\treturn daToUpdate;\n\t\t\t\t})\n\t\t\t};\n\t\t});\n\t});\n\n\tif (isDirty) {\n\t\t//update the child of mediator with new DA info\n\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t}\n};\n\n/**\n * Function to convert the structure of DA Condition results from GQL to\n * the structure used in the UI\n *\n * @param {Array<{daSysId:string,recordResults:Array<recordSysId:string,result:boolean>}>} results\n * @returns {Array<{[dasysID]:{[recordSysId]:boolean}}>}\n *\n * input daResults\n * [\n *     {\n *         \"daSysId\": \"e217890121fe1910f877aaad21d648c7\",\n *         \"recordResults\": [\n *             {\n *                 \"recordSysId\": \"57af7aec73d423002728660c4cf6a71c\",\n *                 \"result\": false\n *             },\n *             ...more\n *         ]\n *     }\n *     ...more\n * ]\n *\n * output mappedResults\n * [\n *     {\n *         \"e217890121fe1910f877aaad21d648c7\": {\n *             \"57af7aec73d423002728660c4cf6a71c\": false,\n *             \"ed92e8d173d023002728660c4cf6a7bc\": false,\n *             ...more\n *         }\n *     },\n *     ...more\n * ]\n */\nconst mapDynamicConditionResults = results =>\n\tresults.map(conditionResult => {\n\t\tconst recData = conditionResult.recordResults.map(rec => ({\n\t\t\t[rec.recordSysId]: rec.result\n\t\t}));\n\t\t//convert Array<{[recordSysId]: boolean}> to Object<{[recordSysId]: boolean}>\n\t\t//and assign that to a daSysID\n\t\treturn {[conditionResult.daSysId]: Object.assign({}, ...recData)};\n\t});\n\nexport const dynamicConditionCompletedEffect = ({\n\taction,\n\tproperties: {\n\t\tdeclarativeActions,\n\t\tmodelData: {selectedRecords, conditions, daRelayPropName}\n\t},\n\tupdateState,\n\tstate: {dynamicConditionResults},\n\thost\n}) => {\n\tconst newConditionResults = get(\n\t\taction,\n\t\t'payload.data.GlideListDeclarativeActionUtil_Query.getEvaluatedDynamicConditions',\n\t\t[]\n\t);\n\n\t// convert the structure\n\tconst stateConditionResultsArr = mapDynamicConditionResults(newConditionResults);\n\n\t// merge new record data with existing record data in state\n\tconst stateConditionResults = merge(\n\t\tdynamicConditionResults,\n\t\tObject.assign({}, ...stateConditionResultsArr)\n\t);\n\n\tupdateState({dynamicConditionResults: stateConditionResults});\n\n\tconst daSysIds = getDynamicEvaluatedDAs(declarativeActions);\n\n\t//if conditions is in place, its a List Select All Case\n\t//we get all recordSysIds from the result\n\tconst selectAllRecords = Object.assign({}, ...stateConditionResultsArr);\n\tconst selectedRecordsToEffect =\n\t\tconditions && !selectedRecords.length\n\t\t\t? Object.keys(selectAllRecords).length\n\t\t\t\t? Object.keys(find(selectAllRecords))\n\t\t\t\t: []\n\t\t\t: selectedRecords;\n\n\tupdateDeclarativeActions(\n\t\tdaSysIds,\n\t\tselectedRecordsToEffect,\n\t\tstateConditionResults,\n\t\t[...declarativeActions],\n\t\thost,\n\t\tdaRelayPropName\n\t);\n};\n\nconst dynamicConditionQuery = `\nquery snDeclarativeMediator($daSysIds: [String!], $recordSysIds: [String!], $table: String!, $parentTable: String, $parentRecordSysId: String, $conditions: String){\n\tGlideListDeclarativeActionUtil_Query{\n\t\tgetEvaluatedDynamicConditions(daSysIds: $daSysIds, recordSysIds: $recordSysIds, table: $table, \\\nparentTable: $parentTable, parentRecordSysId: $parentRecordSysId, conditions: $conditions) {\n\t\t\tdaSysId,\n\t\t\trecordResults {\n\t\t\t\trecordSysId,\n\t\t\t\tresult\n\t\t\t}\n\t\t}\n\t}\n}\n`;\n\nexport const runDynamicConditionsEffect = createGraphQLEffect(dynamicConditionQuery, {\n\tvariableList: [\n\t\t'daSysIds',\n\t\t'recordSysIds',\n\t\t'table',\n\t\t'parentTable',\n\t\t'parentRecordSysId',\n\t\t'conditions'\n\t],\n\tsuccessActionType: DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED,\n\terrorActionType: DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {forOwn, get, isArray, isEmpty, isObject, startCase} from 'lodash';\nimport {t} from 'sn-translate';\n\nexport const ACTION_CONFIG = 'actionConfig';\nexport const ACTION_CONFIG_ID = 'actionConfigId';\nexport const ASSIGNMENT_ID = 'assignmentId';\nexport const ACTION_DISPATCH = 'actionDispatch';\nexport const ARRAY = 'array';\nexport const BOOLEAN = 'boolean';\nexport const CONTEXT_VARS = 'contextVars';\nexport const UXF_CLIENT_ACTION = 'uxf_client_action';\nexport const ERROR_PREFIX = 'DA contractGenerator error: ';\nexport const ERROR_ACTION_PAYLOAD =\n\t'actions have not been passed through transformer to evaluate `{{}}` syntax.';\nexport const ERROR_TYPE_INVALID = 'modelType is invalid or not supported.';\nexport const EVAM = 'EVAM';\nexport const BOARD = 'BOARD';\nexport const EVENT_NAME = 'eventName';\nexport const EVENT = 'event';\nexport const FIELD = 'FIELD';\nexport const FIELD_TYPE = 'fieldType';\nexport const FORM = 'FORM';\nexport const ID = 'id';\nexport const LABEL = 'label';\nexport const LIST = 'LIST';\nexport const MODEL = 'model';\nexport const META_DATA = 'typeMetadata';\nexport const NAME = 'name';\nexport const NUMBER = 'number';\nexport const OBJECT = 'object';\nexport const PAYLOAD = 'payload';\nexport const PROPERTIES = 'properties';\nexport const RELATED_LIST = 'RELATED_LIST';\nexport const SCHEMA = 'schema';\nexport const STRING = 'string';\nexport const TYPE = 'type';\nexport const VALUE = 'value';\nexport const CATALOG_WIZARD = 'CATALOG_WIZARD';\n\nexport const SUPPORTED_MODELS_TYPES = [\n\tBOARD,\n\tEVAM,\n\tFIELD,\n\tFORM,\n\tLIST,\n\tRELATED_LIST,\n\tCATALOG_WIZARD\n];\nexport const MODELS = {\n\t[BOARD]: {\n\t\t[ID]: '45757de50fa52010ad4437a98b767e33',\n\t\t[LABEL]: t('Board Model')\n\t},\n\t[EVAM]: {\n\t\t[ID]: '035d270073151010c342d5fdbdf6a715',\n\t\t[LABEL]: t('EVAM Model')\n\t},\n\t[FIELD]: {\n\t\t[ID]: '15920e6d534723003eddddeeff7b1244',\n\t\t[LABEL]: t('Field Model')\n\t},\n\t[FORM]: {\n\t\t[ID]: '360935e9534723003eddddeeff7b127d',\n\t\t[LABEL]: t('Form Model')\n\t},\n\t[LIST]: {\n\t\t[ID]: 'c3547169534723003eddddeeff7b126c',\n\t\t[LABEL]: t('List Model')\n\t},\n\t[RELATED_LIST]: {\n\t\t[ID]: 'd91731a9534723003eddddeeff7b121c',\n\t\t[LABEL]: t('Related List Model')\n\t},\n\t[CATALOG_WIZARD]: {\n\t\t[ID]: 'e48b12c02d559110f8778479e97d46f0',\n\t\t[LABEL]: t('Catalog Wizard Model')\n\t}\n};\n\nconst getTypeFromValue = value => (isArray(value) ? ARRAY : typeof value);\n\nconst evaluateRequired = (actions = [], model = {}) =>\n\tisEmpty(actions) || isEmpty(actions[0]) || isEmpty(model);\n\nconst evaluateModelType = model =>\n\tisEmpty(model.modelType) || SUPPORTED_MODELS_TYPES.indexOf(model.modelType) === -1\n\t\t? ERROR_TYPE_INVALID\n\t\t: null;\n\nconst getNameAndLabel = key => ({[NAME]: key, [LABEL]: startCase(key)});\n\nconst getEventStructure = (value, key, isObject = false) => ({\n\t...getNameAndLabel(key),\n\t[FIELD_TYPE]: isObject ? 'json' : getTypeFromValue(value),\n\t[META_DATA]: {\n\t\t[SCHEMA]: {\n\t\t\t[TYPE]: getTypeFromValue(value),\n\t\t\t...(isObject && {[PROPERTIES]: {}})\n\t\t}\n\t}\n});\n\nconst getPropMetadata = (value, key) => ({\n\t...getNameAndLabel(key),\n\t[VALUE]: value\n});\n\nconst buildObject = (value, key, isEventProps) => {\n\tif (isEventProps && isObject(value)) {\n\t\tconst event = getEventStructure(value, key, true);\n\t\tconst {\n\t\t\ttypeMetadata: {\n\t\t\t\tschema: {properties}\n\t\t\t}\n\t\t} = event;\n\n\t\tforOwn(value, (v, k) => {\n\t\t\tproperties[k] = buildObject(v, k, isEventProps);\n\t\t});\n\t\treturn event;\n\t}\n\treturn isEventProps ? getEventStructure(value, key) : getPropMetadata(value, key);\n};\n\n/**\n *\n * @return {array}\n * @example\n *\n *  [\n *    {\n *      \"name\": \"table\",\n *      \"label\": \"Table\",\n *      \"value\": \"incidnet\"\n *    }\n *  ]\n */\nexport const buildList = (obj, isEventProps = false) => {\n\tconst arr = [];\n\tif (isEmpty(obj)) return arr;\n\n\tforOwn(obj, (value, key) => {\n\t\tarr.push(buildObject(value, key, isEventProps));\n\t});\n\treturn arr;\n};\n\n/**\n *\n * @throws {string}\n * @example 'DA contractGenerator error: actions have not\n * been passed through transformer to evaluate `{{}}` syntax.'\n *\n * @return {array}\n * @example\n *\n *  [\n *    {\n *      \"id\": \"789\",\n *      \"label\": \"Baz Clicked\",\n *      \"eventName\": \"BAZZZZZ_CLICKED\",\n *      \"properties\": [\n *        {\n *          \"name\": \"message\",\n *          \"label\": \"Message\",\n *          \"fieldType\": \"json\",\n *          \"typeMetadata\": {\n *            \"schema\": {}\n *          }\n *        }\n *      ]\n *    }\n *  ]\n *\n */\nexport const buildEventDefinitions = actions => {\n\tconst arr = [];\n\tfor (var action of actions) {\n\t\tconst {actionType, actionPayload} = action;\n\n\t\tif (actionType !== UXF_CLIENT_ACTION) continue;\n\t\tif (getTypeFromValue(actionPayload) === STRING)\n\t\t\tthrow new Error(ERROR_PREFIX + ERROR_ACTION_PAYLOAD);\n\n\t\tarr.push({\n\t\t\t[ID]: get(action, ASSIGNMENT_ID, ''),\n\t\t\t[EVENT_NAME]: get(action, ACTION_DISPATCH, ''),\n\t\t\t[LABEL]: get(action, LABEL, ''),\n\t\t\t[PROPERTIES]: buildList(actionPayload, true)\n\t\t});\n\t}\n\treturn arr;\n};\n\n/**\n *\n * @param {object} model\n *\n * @return {object}\n * @example\n *\n *  {\n *    \"model\": {}\n *    \"actionConfig\": {},\n *    \"contextVars\": []\n *  }\n *\n */\nexport const buildApplicability = model => {\n\treturn {\n\t\t[MODEL]: MODELS[model.modelType],\n\t\t[ACTION_CONFIG]: {[ID]: get(model, ACTION_CONFIG_ID, '')},\n\t\t[CONTEXT_VARS]: buildList(model)\n\t};\n};\n\n/**\n *\n * This generator is necessary for use\n * in providing UIB with the available client actions supported\n * by an action container component.\n *\n * Given a list of transformed `actions`, `contractGenerator`\n * will return an object containing a list of dispatched\n * client event defintions.\n *\n * @param {array} actions\n * @param {object} model (i.e. Fields that exist in container component.)\n *\n * @example\n *\n *  {\n *    \"actionConfigId\": \"\",\n *    \"columns\": \"\",\n *    \"modelType\": \"LIST\",\n *    \"parentRecordSysId\": \"\",\n *    \"parentTable\": \"\",\n *    \"relatedListName\": \"\",\n *    \"table\": \"\",\n *  }\n *\n *\n * @throws {string}\n * @example 'DA contractGenerator error: modelType has not\n * been defined.'\n *\n *\n * @return {object}\n * @example\n *\n *  {\n *    \"daApplicability\": {},\n *    \"dispatchedEventDefs\": []\n *  }\n *\n */\nexport const contractGenerator = (actions, model) => {\n\tif (evaluateRequired(actions, model)) return null;\n\n\tif (!isEmpty(evaluateModelType(model))) throw new Error(ERROR_PREFIX + ERROR_TYPE_INVALID);\n\n\treturn {\n\t\tdaApplicability: buildApplicability(model),\n\t\tdispatchedEventDefs: buildEventDefinitions(actions)\n\t};\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"].get;\n\t\t\t\t}, [\"toLower\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__.__esModule\n\t\t\t\t\tif (cjsModule && 'toLower' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"].toLower;\n\t\t\t\t\t} else if ('toLower' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__.toLower || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_29_1_5_index_jsdbx_d3d23598__[\"default\"].toLower;\n\t\t\t\t} });","import {FORM, LIST, RELATED_LIST} from '../common/contractGenerator';\nimport {get, toLower} from '@devsnc/snowdash';\n\n/*\n * Returns node id from a data source reference string\n * @param {string} reference - The reference to parse\n * @returns {string} The node id of the data source referenced\n */\nexport const getNodeIdFromDataSourceReference = reference => {\n\tif (!reference || reference.indexOf('@') === -1 || reference.indexOf('/') === -1) return null;\n\n\treturn reference.slice(reference.indexOf('@') + 1, reference.indexOf('/'));\n};\n\nexport const getInteractionDataProvider = () => {\n\treturn {\n\t\tget: (dataResourceName, path, dataResources, state) => {\n\t\t\tconst {model} = state;\n\n\t\t\t// TODO: Update this logic if/when we support field level interactions\n\t\t\tif (getDataResourceKey(model) !== dataResourceName) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Not all models have source - use modelType as source fallback\n\t\t\tif (path?.[0] === 'source') {\n\t\t\t\treturn get(model, path, toLower(model.modelType));\n\t\t\t}\n\n\t\t\treturn get(model, path, null);\n\t\t}\n\t};\n};\n\n/*\n * Returns the data resource key used in a UI interaction from the given model\n * @param {object} model - The model to get the data resource key for\n * @returns {string} The data resource key\n */\nexport const getDataResourceKey = model => {\n\tswitch (model?.modelType) {\n\t\tcase FORM:\n\t\t\treturn 'form';\n\t\tcase LIST:\n\t\tcase RELATED_LIST:\n\t\t\treturn 'list';\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getComponentsByTagNames\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t\t} else if ('getComponentsByTagNames' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getComponentsByTagNames || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getComponentsByTagNames;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"uiInteractionActions\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'uiInteractionActions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"].uiInteractionActions;\n\t\t\t\t\t} else if ('uiInteractionActions' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__.uiInteractionActions || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"].uiInteractionActions;\n\t\t\t\t}, [\"uiInteractionBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'uiInteractionBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"].uiInteractionBehavior;\n\t\t\t\t\t} else if ('uiInteractionBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__.uiInteractionBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_behavior_ui_interaction_index_jsdbx_932e1cbc__[\"default\"].uiInteractionBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t}, [\"markTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'markTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"].markTypes;\n\t\t\t\t\t} else if ('markTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.markTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"].markTypes;\n\t\t\t\t} });","import {get} from 'lodash';\nimport track, {markTypes} from '@devsnc/ux-metrics';\n\n// Mark level goes from 0 to 5, where higher number the more important.\nexport const DEFAULT_MARK_LEVEL = 4;\n\n// Mark type of the event. Available options: 'all', 'usage', 'performance'\nexport const DEFAULT_MARK_TYPE = markTypes.usage;\n\nconst TYPE = 'Declarative Action';\n\nconst EVENT_NAME = {\n\tFORM: 'Click Form Action',\n\tFIELD: 'Click Field Action',\n\tLIST: 'Click List Action',\n\tRELATED_LIST: 'Click Related List Action',\n\tUNKNOWN: 'Click Declarative Action'\n};\n\nconst EVENT_ORIGIN_EVENT_NAME_MAP = {\n\t'SN-FORM-INTERNAL-UIACTIONBAR': EVENT_NAME.FORM,\n\t'SN-DECLARATIVE-FIELD-ACTION-RENDERER': EVENT_NAME.FIELD\n};\n\n/**\n * Track component's events for UX usage analytics\n * @param {Object} coeffects - Coeffects object containing props such as host, action payload, and action type.\n * @param {Number} [markLevel=4] - Mark level goes from 0 to 5, where higher number the more important.\n * @param {String} [markType=usage] - Mark type of the event. Available options: 'all', 'usage', 'performance'\n */\nconst trackUxMetrics = (\n\tcoeffects,\n\tmarkLevel = DEFAULT_MARK_LEVEL,\n\tmarkType = DEFAULT_MARK_TYPE\n) => {\n\ttry {\n\t\tlet eventName, details;\n\n\t\tif (get(coeffects, 'action.payload.model')) {\n\t\t\tconst {\n\t\t\t\tpayload: {\n\t\t\t\t\taction: {actionDispatch, assignmentId, id, name, label},\n\t\t\t\t\tmodel: {fieldName, referenceTable, table, tableName}\n\t\t\t\t}\n\t\t\t} = coeffects.action;\n\n\t\t\teventName = getEventName(coeffects.action);\n\n\t\t\tdetails = {\n\t\t\t\tdispatchedAction: actionDispatch ? actionDispatch : '',\n\t\t\t\tfieldName: fieldName ? fieldName : '',\n\t\t\t\tfieldTable: referenceTable ? referenceTable : '',\n\t\t\t\tlabel,\n\t\t\t\tname,\n\t\t\t\tsysId: id ? id : assignmentId,\n\t\t\t\ttable: table ? table : tableName,\n\t\t\t\ttype: TYPE\n\t\t\t};\n\t\t} else {\n\t\t\tconst {\n\t\t\t\tpayload: {\n\t\t\t\t\taction: {actionDispatch}\n\t\t\t\t}\n\t\t\t} = coeffects.action;\n\n\t\t\teventName = actionDispatch;\n\n\t\t\tdetails = {\n\t\t\t\ttype: TYPE\n\t\t\t};\n\t\t}\n\n\t\ttrack(\n\t\t\tcoeffects,\n\t\t\teventName,\n\t\t\t{\n\t\t\t\t...details\n\t\t\t},\n\t\t\t{\n\t\t\t\tlevel: markLevel,\n\t\t\t\ttype: markType\n\t\t\t}\n\t\t);\n\t} catch (ex) {\n\t\t// not logging the exception to avoid confusing the customers with internal issues.\n\t}\n};\n\nconst getEventName = action => {\n\tconst {\n\t\tpayload: {\n\t\t\tmodel: {listType}\n\t\t}\n\t} = action;\n\n\tif (listType) {\n\t\tif (listType === 'DEFAULT') {\n\t\t\treturn EVENT_NAME.LIST;\n\t\t} else {\n\t\t\treturn EVENT_NAME.RELATED_LIST;\n\t\t}\n\t} else {\n\t\tlet eventOriginNode;\n\t\ttry {\n\t\t\teventOriginNode = action.meta.event.composedPath()[0].nodeName;\n\t\t} catch (ex) {\n\t\t\tconsole.warn(\"Unable to retrieve the event's origin\");\n\t\t}\n\t\treturn get(EVENT_ORIGIN_EVENT_NAME_MAP, eventOriginNode, EVENT_NAME.UNKNOWN);\n\t}\n};\n\nexport default trackUxMetrics;\n","import {DA_WRAPPED_CLICKED, UXF_INTERNAL_EVENT_META} from '../common/constants';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {\n\tdynamicConditionCompletedEffect,\n\thandlePropertyChanged,\n\trelayDAUpdates,\n\trunDynamicConditionsEffect\n} from './dynamicConditionsUtil';\nimport {get, isArray, isEqual, isFunction, pick} from 'lodash';\nimport {getDataResourceKey, getNodeIdFromDataSourceReference} from '../utils/interaction';\nimport {loadComponent} from '../utils/dynamicLoad';\nimport {uiInteractionActions} from '@devsnc/behavior-ui-interaction';\nimport trackUxMetrics from '../utils/uxMetricsUtils';\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED, COMPONENT_DOM_TREE_READY} = actionTypes;\nexport const DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS =\n\t'DECLARATIVE_ACTION_INTERNAL#RUN_DYNAMIC_CONDITIONS';\nexport const DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_COMPLETED';\nexport const DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_FAILED';\n\nexport const DECLARATIVE_ACTION = 'DECLARATIVE_ACTION';\nexport const DECLARATIVE_ACTION_UPDATE_RENDER = 'DECLARATIVE_ACTION_INTERNAL#UPDATE_RENDER';\nexport const DECLARATIVE_ACTION_EXECUTE_ACTION = 'DECLARATIVE_ACTION_INTERNAL#EXECUTE_ACTION';\nexport const DECLARATIVE_ACTION_CANCEL_ACTION = 'DECLARATIVE_ACTION_INTERNAL#CANCEL_ACTION';\nexport const DECLARATIVE_ACTION_CLOSE_MODAL = 'DECLARATIVE_ACTION_INTERNAL#CLOSE_MODAL';\nexport const DECLARATIVE_ACTION_SCRIPT_START = 'DECLARATIVE_ACTION_INTERNAL#SCRIPT_START';\nexport const DECLARATIVE_ACTION_SCRIPT_SUCCESS = 'DECLARATIVE_ACTION_INTERNAL#SCRIPT_SUCCESS';\nexport const DECLARATIVE_ACTION_SCRIPT_FAILED = 'DECLARATIVE_ACTION_INTERNAL#SCRIPT_FAILED';\n\nexport const PUBLIC_DECLARATIVE_ACTION_SCRIPT_SUCCESS = 'DECLARATIVE_ACTION#SCRIPT_SUCCESS';\nexport const PUBLIC_DECLARATIVE_ACTION_SCRIPT_FAILED = 'DECLARATIVE_ACTION#SCRIPT_FAILED';\nexport const PUBLIC_DECLARATIVE_ACTION_UPDATE_RENDER = 'DECLARATIVE_ACTION#UPDATE_RENDER';\nexport const PUBLIC_DECLARATIVE_ACTION_REDIRECT_REQUESTED = 'DECLARATIVE_ACTION#REDIRECT_REQUESTED';\n\nexport const DECLARATIVE_ACTION_OPEN_LINK = 'DECLARATIVE_ACTION#OPEN_LINK';\nexport const DECLARATIVE_ACTION_CLIENT_SCRIPT_EXECUTION_REQUESTED =\n\t'DECLARATIVE_ACTION#CLIENT_SCRIPT_EXECUTION_REQUESTED';\nconst HTTP_ERROR_OCCURRED = 'HTTP_ERROR_OCCURRED';\n\nexport const VALUE_CHANGED = 'VALUE_CHANGED';\nexport const ACTION_COMPONENT = 'action_component';\nexport const DISPATCH_ACTION = 'dispatch_action';\nexport const CLIENT_SCRIPT = 'client_script';\nexport const SERVER_SCRIPT = 'server_script';\nexport const UXF_CLIENT_ACTION = 'uxf_client_action';\nexport const INTERACTION = 'interaction';\nconst SERVER_SCRIPT_API = '/api/now/ui/declarative_action/:assignmentId';\nconst SERVER_SCRIPT_API_PATH_PARAMS = ['assignmentId'];\nconst SERVER_SCRIPT_API_QUERY_PARAMS = ['sysparm_table'];\nconst SERVER_SCRIPT_API_BODY_PARAMS = [\n\t'sysId',\n\t'sysIds',\n\t'fields',\n\t'encodedRecord',\n\t'query',\n\t'selectionQuery',\n\t'parentTable',\n\t'parentRecordSysId'\n];\n\n// Field model doesn't have sysId field\nconst consolidateModel = model => {\n\tlet fieldsParams = {};\n\tlet fields = get(model, 'fields');\n\tif (fields) {\n\t\tif (!isArray(fields)) fields = Object.values(fields); //DA action executor needs fields in array different than our related items and side panel\n\t\tfieldsParams = {fields};\n\t}\n\n\treturn {\n\t\t...model,\n\t\tsysId: model.isNewRecord ? '-1' : model.sysId || model.recordSysId,\n\t\t...fieldsParams\n\t};\n};\n\nconst createHttpData = (action, model) => ({\n\tassignmentId: action.assignmentId,\n\tsysparm_table: model.table || model.tableName,\n\tdata: pick(consolidateModel(model), SERVER_SCRIPT_API_BODY_PARAMS)\n});\n\n// dispatches an action with the necessary payload to execute the action\n// This function assumes the user has already confirmed the action if confirmation\n// is required. TODO: Refactor to handle ACTION_COMPONENT without needing to do a double render\nconst dispatchActionByType = (dispatch, action, model, properties) => {\n\tconst {actionType, actionDispatch, actionPayload, assignmentId} = action;\n\tconst {shouldWrapAction = false} = properties;\n\n\tif (actionType === DISPATCH_ACTION || actionType === UXF_CLIENT_ACTION) {\n\t\tif (!shouldWrapAction) {\n\t\t\tdispatch(actionDispatch, actionPayload);\n\t\t} else {\n\t\t\tdispatch(\n\t\t\t\tDA_WRAPPED_CLICKED,\n\t\t\t\t{\n\t\t\t\t\twrapped_action_name: actionDispatch,\n\t\t\t\t\twrapped_payload: actionPayload,\n\t\t\t\t\twrapped_action_type: actionType\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[UXF_INTERNAL_EVENT_META]: {\n\t\t\t\t\t\tsourceCorrelationId: assignmentId\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} else if (actionType === SERVER_SCRIPT) {\n\t\tdispatch(DECLARATIVE_ACTION_SCRIPT_START, createHttpData(action, model));\n\t} else if (actionType === CLIENT_SCRIPT) {\n\t\tconst {actionName, assignmentId, clientScript} = action;\n\t\tdispatch(DECLARATIVE_ACTION_CLIENT_SCRIPT_EXECUTION_REQUESTED, {\n\t\t\tactionName,\n\t\t\tassignmentId,\n\t\t\tclientScript,\n\t\t\tmodel\n\t\t});\n\t} else if (actionType === INTERACTION) {\n\t\tconst {interactionId, interactionInputMap} = action;\n\n\t\tconst dataSourceNodeId = getNodeIdFromDataSourceReference(model.dataSourceReference);\n\t\tconst dataResourceKey = getDataResourceKey(model);\n\n\t\tdispatch(uiInteractionActions.UI_INTERACTION_START_REQUESTED, {\n\t\t\tsysId: interactionId,\n\t\t\tinputs: interactionInputMap,\n\t\t\tdataResources: {\n\t\t\t\t[dataResourceKey]: dataSourceNodeId\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst getDispatcher = ({action, properties, dispatch}) => {\n\tconst {shouldAppendActionEvent} = properties;\n\tif (!shouldAppendActionEvent) return dispatch;\n\tconst createActionEvent = ({type, target, metaKey}) => {\n\t\treturn {type, target, metaKey};\n\t};\n\tconst {\n\t\tmeta: {actionEvent = createActionEvent(action.meta.event)}\n\t} = action;\n\tconst addToPayload = (name, payload) =>\n\t\tname === DA_WRAPPED_CLICKED\n\t\t\t? {\n\t\t\t\t\t...payload,\n\t\t\t\t\twrapped_payload: {\n\t\t\t\t\t\t...payload.wrapped_payload,\n\t\t\t\t\t\tactionEvent\n\t\t\t\t\t}\n\t\t\t  }\n\t\t\t: {...payload, actionEvent};\n\treturn (name, payload, meta) => dispatch(name, addToPayload(name, payload), meta);\n};\n\nexport const mediator = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {model, action}\n\t\t},\n\t\tproperties\n\t} = coeffects;\n\tconst {confirmationRequired} = action;\n\n\ttrackUxMetrics(coeffects);\n\tconst dispatch = getDispatcher(coeffects);\n\n\tif (!confirmationRequired) dispatchActionByType(dispatch, action, model, properties);\n\n\tdispatch(DECLARATIVE_ACTION_UPDATE_RENDER, {\n\t\tmodel,\n\t\taction,\n\t\tdisplayConfirmation: confirmationRequired\n\t});\n};\n\nconst dispatchNotifications = (dispatch, sessionNotifications = []) => {\n\tif (!sessionNotifications.length) return;\n\n\tconst notifications = sessionNotifications.reduce((allNotifications, {type, text}) => {\n\t\tif (!text) return allNotifications;\n\n\t\treturn [\n\t\t\t...allNotifications,\n\t\t\t{\n\t\t\t\ttype,\n\t\t\t\tmessage: text\n\t\t\t}\n\t\t];\n\t}, []);\n\tif (notifications.length)\n\t\tdispatch('ADD_NOTIFICATIONS', {\n\t\t\tnotifications\n\t\t});\n};\n\n// Handler for DAs that may update the field value.\n// The component author would dispatch `VALUE_CHANGED`.\n// Uses the onValueChange passed by form (Section.js)\n// Ultimately it will invoke formData.setValue(...)\n// Payload must include: name, value, displayValue\n// This is specific to field declarative actions\nexport const updateFormFieldValue = ({action: {payload}, state}) => {\n\tconst {model} = state;\n\tconst {onValueChange} = model;\n\n\tif (!isFunction(onValueChange)) return;\n\n\tonValueChange({\n\t\t...payload,\n\t\tname: payload.name || model.name\n\t});\n};\n\nconst retrieveInteractionSysIds = actionNodes => {\n\t//TODO: Implement grabbing formControllerId from UXF and passing it\n\t//As of right now it automatically falls back on UXF and doesn't create issues\n\tconst interactionSysIds = [];\n\tif (actionNodes) {\n\t\tactionNodes.forEach(item => {\n\t\t\titem?.children?.forEach(actionItem => {\n\t\t\t\tif (actionItem.action && actionItem.action.actionType === 'interaction') {\n\t\t\t\t\tinteractionSysIds.push(actionItem.action.interactionId);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\treturn interactionSysIds;\n};\n\nexport default {\n\t[DECLARATIVE_ACTION]: {\n\t\teffect: mediator,\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_UPDATE_RENDER]: {\n\t\teffect: ({updateState, action, dispatch}) => {\n\t\t\tconst {action: payloadAction, model, displayConfirmation} = action.payload;\n\t\t\tconst isDefined =\n\t\t\t\t!payloadAction.actionComponent ||\n\t\t\t\tpayloadAction.actionComponent === 'sn-declarative-reference-search' ||\n\t\t\t\tcustomElements.get(payloadAction.actionComponent);\n\t\t\tconst updatingState = {\n\t\t\t\taction: payloadAction,\n\t\t\t\tmodel,\n\t\t\t\tdisplayConfirmation,\n\t\t\t\tkey: Date.now() // key is Date.now() because we need to the author's component to re-render always\n\t\t\t};\n\t\t\tif (isDefined) {\n\t\t\t\tupdateState(updatingState);\n\t\t\t} else {\n\t\t\t\tloadComponent(payloadAction.actionComponent).then(loadedComponents => {\n\t\t\t\t\tupdateState(updatingState);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_UPDATE_RENDER, action.payload);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_EXECUTE_ACTION]: {\n\t\teffect: ({state: {action, model}, dispatch, properties}) =>\n\t\t\tdispatchActionByType(dispatch, action, model, properties),\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_CANCEL_ACTION]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\taction: null,\n\t\t\t\tmodel: null\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_SCRIPT_START]: {\n\t\t...createHttpEffect(SERVER_SCRIPT_API, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {'X-WantSessionNotificationMessages': true},\n\t\t\tqueryParams: SERVER_SCRIPT_API_QUERY_PARAMS,\n\t\t\tpathParams: SERVER_SCRIPT_API_PATH_PARAMS,\n\t\t\tdataParam: 'data',\n\t\t\tsuccessActionType: DECLARATIVE_ACTION_SCRIPT_SUCCESS,\n\t\t\terrorActionType: DECLARATIVE_ACTION_SCRIPT_FAILED\n\t\t}),\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_SCRIPT_SUCCESS]: {\n\t\teffect: ({state: {action: stateAction, model}, dispatch, action}) => {\n\t\t\tconst {redirect, record} = get(action, 'payload.result', {});\n\t\t\tif (redirect) {\n\t\t\t\tif (redirect.type !== 'TABLE') {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn('Unhandled redirect type', redirect);\n\t\t\t\t}\n\n\t\t\t\tconst {table, sys_id, query} = redirect.type_metadata;\n\t\t\t\tconst {table: parent_table, sys_id: parent_sys_id} = record || {};\n\n\t\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_REDIRECT_REQUESTED, {\n\t\t\t\t\ttable,\n\t\t\t\t\tsys_id,\n\t\t\t\t\t...(query\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tquery\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\t...(parent_table\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tparent_table\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\t...(parent_sys_id\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tparent_sys_id\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {})\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdispatch('REFRESH_REQUESTED');\n\n\t\t\tconst sessionNotifications = get(action, 'payload.session.notifications', []);\n\t\t\tdispatchNotifications(dispatch, sessionNotifications);\n\n\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_SCRIPT_SUCCESS, {\n\t\t\t\t...action.payload,\n\t\t\t\taction: stateAction,\n\t\t\t\tmodel\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_SCRIPT_FAILED]: {\n\t\teffect: ({state: {action: stateAction, model}, dispatch, action}) => {\n\t\t\tlet message = get(action, 'payload.data.error.message', '');\n\t\t\tif (!message) {\n\t\t\t\tconst result = get(action, 'payload.data.result', {});\n\t\t\t\tconst sysId = Object.keys(result)[0];\n\t\t\t\tmessage = get(result, `${sysId}.resultBody.error.message`, '');\n\t\t\t}\n\n\t\t\tif (message)\n\t\t\t\tdispatch('ADD_NOTIFICATIONS', {\n\t\t\t\t\tnotifications: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\t\tmessage\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t});\n\n\t\t\tconst sessionNotifications = get(action, 'payload.data.session.notifications', []);\n\t\t\tdispatchNotifications(dispatch, sessionNotifications);\n\n\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_SCRIPT_FAILED, {\n\t\t\t\t...action.payload,\n\t\t\t\taction: stateAction,\n\t\t\t\tmodel\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_CLOSE_MODAL]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tdisplayConfirmation: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_OPEN_LINK]: {\n\t\teffect: ({action}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {url}\n\t\t\t} = action;\n\n\t\t\tif (url) window.open(url, '_blank');\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[VALUE_CHANGED]: {\n\t\teffect: updateFormFieldValue,\n\t\tstopPropagation: true\n\t},\n\t// seismic dispatch Standard action dispatched on HTTP errors from the server, and canvas will handle it and display a standard error modal.\n\t// We don't want that since our call should be handled in component and we already show session message\n\t[HTTP_ERROR_OCCURRED]: {\n\t\teffect: () => {},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: coeffects => {\n\t\tconst {properties, dispatch} = coeffects;\n\t\tconst {declarativeActions} = properties;\n\t\tconst interactionSysIds = retrieveInteractionSysIds(declarativeActions);\n\t\tif (interactionSysIds.length) {\n\t\t\tdispatch(uiInteractionActions.UI_INTERACTION_LOAD_REQUESTED, {\n\t\t\t\tsysIds: interactionSysIds\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: context => {\n\t\tconst {\n\t\t\tproperties: {shouldEvaluateDynamicConditions = false},\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\taction: {\n\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t}\n\t\t} = context;\n\t\tif (shouldEvaluateDynamicConditions) {\n\t\t\thandlePropertyChanged(context);\n\t\t}\n\t\tif (name === 'declarativeActions' && !isEqual(value, previousValue)) {\n\t\t\tconst {declarativeActions} = properties;\n\t\t\tconst interactionSysIds = retrieveInteractionSysIds(declarativeActions);\n\t\t\tif (interactionSysIds.length) {\n\t\t\t\tdispatch(uiInteractionActions.UI_INTERACTION_LOAD_REQUESTED, {\n\t\t\t\t\tinteractionSysIds\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS]: {\n\t\t...runDynamicConditionsEffect,\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED]: ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateState,\n\t\tstate,\n\t\thost\n\t}) => {\n\t\tdynamicConditionCompletedEffect({action, dispatch, properties, updateState, state, host});\n\t},\n\t[DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED]: ({action}) => {\n\t\tconsole.error('Running Dynamic Conditions Failed', action.payload.errors);\n\t},\n\t[COMPONENT_DOM_TREE_READY]: ({\n\t\thost,\n\t\tproperties: {\n\t\t\tmodelData = {},\n\t\t\tdeclarativeActions = [],\n\t\t\tshouldEvaluateDynamicConditions = false\n\t\t}\n\t}) => {\n\t\tif (shouldEvaluateDynamicConditions) {\n\t\t\t//update the child of mediator with new DA info\n\t\t\tconst {daRelayPropName = ''} = modelData;\n\t\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t\t}\n\t}\n};\n","import {getComponentsByTagNames} from '@devsnc/library-uxf';\n\n/*\n * Downloads a single component tag\n */\nexport const loadComponent = async componentTag => {\n\tif (!componentTag) return undefined;\n\treturn getComponentsByTagNames([componentTag]).then(names => {\n\t\treturn names;\n\t});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"];\n\t\t\t\t} });","import {VALUE_CHANGED} from '../mediator/actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport createComponentLoaderEffect from '@devsnc/uxf-effect-component-loader';\nimport find from 'lodash/find';\nimport get from 'lodash/get';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst itemSelectedAction = 'NOW_RECORD_LIST_CONNECTED#ROW_CLICKED';\nconst treePickerItemSelectedAction = 'SN_RECORD_CONTENT_TREE_CONNECTED#ITEM_CLICKED';\nconst treePickerModalCloseAction = 'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_CLOSE_CLICKED_ACTION';\nconst treePickerModalAddAction = 'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_ADD_CLICKED_ACTION';\nconst FETCH_TREE_PICKER = 'FETCH_TREE_PICKER';\nconst FETCH_TREE_PICKER_SUCCESS = 'FETCH_TREE_PICKER_SUCCESS';\nconst FETCH_TREE_PICKER_FAILURE = 'FETCH_TREE_PICKER_FAILURE';\nconst TREE_PICKER_CONFIG_DATA_PATH = 'data.GlideLayout_Query.treePickerConfigQuery.treePicker';\nconst DOMAIN_SEPARATION_DATA_PATH = 'data.GlideLayout_Query.formLayout.domainSeparation';\n\nconst COMPONENT_LOAD_REQUESTED = 'SN_DECLARATIVE_REFERENCE_SEARCH#COMPONENT_LOAD_REQUESTED';\nconst COMPONENT_LOAD_SUCCEEDED = 'SN_DECLARATIVE_REFERENCE_SEARCH#COMPONENT_LOAD_SUCCEEDED';\nconst COMPONENT_LOAD_FAILED = 'SN_DECLARATIVE_REFERENCE_SEARCH#COMPONENT_LOAD_FAILED';\n\nexport const itemSelectedTransform = ({action, dispatch, state}) => {\n\tconst {referenceKey} = state.properties;\n\tconst value = referenceKey\n\t\t? get(action, 'payload.row.referenceKeyValue.value')\n\t\t: get(action, 'payload.row.sys_id.value');\n\tconst newPayload = {\n\t\tname: get(state, 'properties.name', ''),\n\t\tvalue,\n\t\tdisplayValue: get(action, 'payload.row.displayValue.value', ''),\n\t\tadditionalInfo: {referenceSysId: get(action, 'payload.row.sys_id.value')}\n\t};\n\tdispatch(VALUE_CHANGED, newPayload);\n};\n\nexport const treePickerItemSelectedTransform = ({action, dispatch, state, updateState}) => {\n\tconst newPayload = {\n\t\tname: get(state, 'properties.name', ''),\n\t\tvalue: get(action, 'payload.value', ''),\n\t\tdisplayValue: get(action, 'payload.displayValue', '')\n\t};\n\tif (state.properties.fieldType !== 'glide_list') {\n\t\tdispatch(VALUE_CHANGED, newPayload);\n\t\tdispatch(treePickerModalCloseAction);\n\t} else {\n\t\tconst operation = {\n\t\t\toperation: 'push'\n\t\t};\n\t\tconst isSelected = get(action, 'payload.isSelected', true);\n\t\tif (!isSelected) {\n\t\t\tconst index = state.selectedItems.value.indexOf(newPayload.value);\n\t\t\tif (index === -1) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tObject.assign(operation, {operation: 'splice', start: index, deleteCount: 1});\n\t\t}\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'selectedItems.value',\n\t\t\t\tvalue: get(action, 'payload.value', ''),\n\t\t\t\t...operation\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'selectedItems.display_value_list',\n\t\t\t\tvalue: get(action, 'payload.displayValue', ''),\n\t\t\t\t...operation\n\t\t\t}\n\t\t]);\n\t}\n};\n\nexport const addSelectedItemsEffect = ({dispatch, state}) => {\n\tconst {selectedItems} = state;\n\tif (selectedItems.value.length === 0) {\n\t\tdispatch(treePickerModalCloseAction);\n\t\treturn;\n\t}\n\tconst newPayload = {\n\t\tname: get(state, 'properties.name', ''),\n\t\tvalue: selectedItems.value.join(','),\n\t\tdisplayValue: selectedItems.display_value_list\n\t};\n\n\tdispatch(VALUE_CHANGED, newPayload);\n\tdispatch(treePickerModalCloseAction);\n};\n\nconst closeModalEffect = ({updateState}) => {\n\tupdateState({\n\t\tactive: false,\n\t\tselectedItems: {value: [], display_value_list: []}\n\t});\n};\n\nconst treePickerQuery = `\nquery ($table: String!, $field: String!, $sys_id: String, $serialized_changes: String, $encoded_record: String) {\n  \tGlideLayout_Query {\n\t\ttreePickerConfigQuery(tableName: $table, fieldName: $field, sysId: $sys_id, serializedChanges: $serialized_changes, encodedRecord: $encoded_record) {\n\t\t\ttreePicker {\n\t\t\t\tisSupported\n\t\t\t\tprocessor\n\t\t\t\ttable\n\t\t\t\ttargetField\n\t\t\t\ttargetValue\n\t\t\t\ttargetPath\n\t\t\t\tqueryString\n\t\t\t}\n\t\t}\n\t\tformLayout(table: $table, sysId: $sys_id) {\n\t\t\tdomainSeparation {\n\t\t\t\tdomainId\n\t\t\t}\n\t\t}\n  \t}\n}\n`;\n\nexport const handleComponentBootstrapped = ({\n\tproperties: {fieldName, tableName, recordSysId, serializedChanges, encodedRecord, dictionary},\n\tdispatch,\n\tupdateState\n}) => {\n\tconst attributes = get(dictionary, 'attributes', []);\n\tconst attributeValue = find(attributes, a => a.name === 'tree_picker');\n\tconst isTreePicker = attributeValue === undefined ? false : attributeValue.value === 'true';\n\n\t// if tree_picker attribute is configured to true, determine tree picker is supported or not.\n\tif (isTreePicker) {\n\t\tconst payload = {\n\t\t\tfield: fieldName,\n\t\t\ttable: tableName,\n\t\t\tsys_id: recordSysId,\n\t\t\tserialized_changes: serializedChanges,\n\t\t\tencoded_record: encodedRecord\n\t\t};\n\t\tdispatch(FETCH_TREE_PICKER, payload, {stopPropagation: true});\n\t\tdispatch(COMPONENT_LOAD_REQUESTED, {tagName: 'sn-record-content-tree-connected'});\n\t} else {\n\t\tupdateState({\n\t\t\tfetchingTreePicker: false,\n\t\t\tisTreePicker: false\n\t\t});\n\t\tdispatch(COMPONENT_LOAD_REQUESTED, {tagName: 'now-record-list-connected-reference'});\n\t}\n};\n\nexport default {\n\t[itemSelectedAction]: {\n\t\teffect: coeffects => {\n\t\t\titemSelectedTransform(coeffects);\n\t\t\tcloseModalEffect(coeffects);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[treePickerItemSelectedAction]: {\n\t\teffect: treePickerItemSelectedTransform,\n\t\tstopPropagation: true\n\t},\n\t[treePickerModalCloseAction]: {\n\t\teffect: closeModalEffect,\n\t\tstopPropagation: true\n\t},\n\t[treePickerModalAddAction]: {\n\t\teffect: addSelectedItemsEffect,\n\t\tstopPropagation: true\n\t},\n\t'NOW_MODAL#OPENED_SET': closeModalEffect,\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[FETCH_TREE_PICKER]: createGraphQLEffect(treePickerQuery, {\n\t\tvariableList: ['table', 'field', 'sys_id', 'serialized_changes', 'encoded_record'],\n\t\tsuccessActionType: FETCH_TREE_PICKER_SUCCESS,\n\t\terrorActionType: FETCH_TREE_PICKER_FAILURE\n\t}),\n\t[FETCH_TREE_PICKER_SUCCESS]: ({updateState, action}) => {\n\t\tconst {payload} = action;\n\t\tif (payload.errors.length < 1) {\n\t\t\tconst config = get(payload, TREE_PICKER_CONFIG_DATA_PATH);\n\t\t\tconst domainSeparation = get(payload, DOMAIN_SEPARATION_DATA_PATH);\n\t\t\tupdateState({\n\t\t\t\tfetchingTreePicker: false,\n\t\t\t\ttreePickerConfig: config,\n\t\t\t\tdomainId: domainSeparation ? domainSeparation.domainId : null\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tfetchingTreePicker: false,\n\t\t\t\ttreePickerConfig: {}\n\t\t\t});\n\t\t}\n\t},\n\t[FETCH_TREE_PICKER_FAILURE]: ({updateState}) => {\n\t\tupdateState({\n\t\t\tfetchingTreePicker: false,\n\t\t\ttreePickerConfig: {}\n\t\t});\n\t},\n\t[COMPONENT_LOAD_REQUESTED]: createComponentLoaderEffect({\n\t\tsuccessActionType: COMPONENT_LOAD_SUCCEEDED,\n\t\terrorActionType: COMPONENT_LOAD_FAILED\n\t}),\n\t[COMPONENT_LOAD_SUCCEEDED]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tcomponentLoading: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_LOAD_FAILED]: {\n\t\teffect: ({updateState}) => {\n\t\t\tconsole.error('Failed to load component');\n\t\t\tupdateState({\n\t\t\t\tcomponentLoading: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-modal';\n\nconst getScrollOffset = function() {\n\tif (window.pageXOffset !== undefined) return window.pageYOffset;\n\tconst isCSS1Compat = (document.compatMode || '') === 'CSS1Compat';\n\treturn isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n};\n\nconst freezeBody = function(offset = 0) {\n\tconst freezeStyle = {\n\t\toverflowY: 'hidden',\n\t\tposition: 'fixed',\n\t\ttop: `-${offset}px`,\n\t\tleft: '0px',\n\t\twidth: '100%'\n\t};\n\tObject.assign(document.body.style, freezeStyle);\n};\n\nconst unfreezeBody = function(offset = 0) {\n\tsetTimeout(() => {\n\t\tdocument.body.removeAttribute('style');\n\t\twindow.scrollTo(0, offset);\n\t}, 10);\n};\n\nconst handleEscape = e => {\n\tif (e.key === 'Escape') {\n\t\te.stopPropagation();\n\t}\n};\n\nexport default (properties, children) => {\n\tif (!properties.opened) {\n\t\tunfreezeBody(getScrollOffset());\n\t}\n\n\tfreezeBody(getScrollOffset());\n\n\treturn (\n\t\t<now-modal {...properties} on-keydown={handleEscape} manage-opened>\n\t\t\t{children}\n\t\t<\/now-modal>\n\t);\n};\n","import '@servicenow/now-loader';\nimport {t} from 'sn-translate';\nimport Modal from '../modal-wrapper';\n\nconst SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_CLOSE_CLICKED_ACTION =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_CLOSE_CLICKED_ACTION';\nconst SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_ADD_CLICKED_ACTION =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_ADD_CLICKED_ACTION';\n\nconst actions = [\n\t{\n\t\tlabel: t('Close'),\n\t\tvariant: 'primary',\n\t\ttooltipContent: t('Close'),\n\t\tbare: true,\n\t\tclickActionType: SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_CLOSE_CLICKED_ACTION\n\t},\n\t{\n\t\tlabel: t('Add'),\n\t\tvariant: 'primary',\n\t\ttooltipContent: t('Add'),\n\t\tclickActionType: SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_ADD_CLICKED_ACTION\n\t}\n];\n\nconst renderModalContent = props => {\n\tconst {\n\t\tfieldName,\n\t\treferenceTable,\n\t\ttableName,\n\t\ttreePickerConfig,\n\t\tcontainerClass,\n\t\tdependentField,\n\t\tdomainId,\n\t\tisGlideList,\n\t\tcomponentId,\n\t\tlabel,\n\t\trecordSysId,\n\t\tserializedChanges,\n\t\tencodedRecord,\n\t\tignoreReferenceQualifier,\n\t\tignoreDepAsRefQual,\n\t\treferenceKey,\n\t\tchars\n\t} = props;\n\tconst select = isGlideList ? 'multi' : 'single';\n\treturn (\n\t\t<div className={containerClass}>\n\t\t\t{treePickerConfig.isSupported ? (\n\t\t\t\t<sn-record-content-tree-connected\n\t\t\t\t\ttableName={tableName}\n\t\t\t\t\tfieldName={fieldName}\n\t\t\t\t\treferenceTable={referenceTable}\n\t\t\t\t\tdependentField={dependentField}\n\t\t\t\t\tdependentValue={treePickerConfig.targetValue}\n\t\t\t\t\ttreePickerConfig={treePickerConfig}\n\t\t\t\t\tdomainId={domainId}\n\t\t\t\t\tquery={treePickerConfig.queryString}\n\t\t\t\t\tselect={select}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<now-record-list-connected-reference\n\t\t\t\t\tcomponent-id={`${componentId}_modal_refList`}\n\t\t\t\t\tchars={chars || '**'}\n\t\t\t\t\tignore-ref-qual={ignoreReferenceQualifier}\n\t\t\t\t\tlist-title={label}\n\t\t\t\t\trecord-sys-id={recordSysId}\n\t\t\t\t\tfield={fieldName}\n\t\t\t\t\ttable={tableName}\n\t\t\t\t\tserializedChanges={serializedChanges}\n\t\t\t\t\tencodedRecord={encodedRecord}\n\t\t\t\t\tignoreDepAsRefQual={ignoreDepAsRefQual}\n\t\t\t\t\trefTableName={referenceTable}\n\t\t\t\t\treferenceKey={referenceKey}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nexport default ({\n\tproperties: {\n\t\tfieldName,\n\t\ttableName,\n\t\trecordSysId,\n\t\tlabel,\n\t\tserializedChanges,\n\t\tencodedRecord,\n\t\tcomponentId,\n\t\treferenceTable,\n\t\tignoreDepAsRefQual = false,\n\t\tignoreReferenceQualifier = false,\n\t\tdependentField,\n\t\tfieldType,\n\t\treferenceKey,\n\t\tchars,\n\t\tresizableConfig\n\t},\n\tactive,\n\tcomponentLoading,\n\tfetchingTreePicker,\n\ttreePickerConfig,\n\tdomainId\n}) => {\n\tconst {isSupported: isTreePicker} = treePickerConfig;\n\tconst isGlideList = fieldType === 'glide_list';\n\tconst displayFooter = isTreePicker && isGlideList;\n\tconst footerActions = displayFooter ? actions : undefined;\n\tconst isLoading = fetchingTreePicker || componentLoading;\n\n\tconst getContainerClass = prefix => {\n\t\tconst baseClass = `${prefix}-container`;\n\t\tif (displayFooter) return `${baseClass} with-footer`;\n\t\tif (isGlideList) return `${baseClass} multi`;\n\t\treturn baseClass;\n\t};\n\n\tconst props = {\n\t\tfieldName,\n\t\ttableName,\n\t\treferenceTable,\n\t\tdependentField,\n\t\tcomponentId,\n\t\tlabel,\n\t\trecordSysId,\n\t\tserializedChanges,\n\t\tencodedRecord,\n\t\tignoreDepAsRefQual,\n\t\tignoreReferenceQualifier,\n\t\treferenceKey,\n\t\tchars,\n\t\ttreePickerConfig,\n\t\tdomainId,\n\t\tisGlideList,\n\t\tcontainerClass: isTreePicker ? getContainerClass('tree') : 'list-container'\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\topened={active}\n\t\t\tsize=\"lg\"\n\t\t\theader-label={label}\n\t\t\tcomponent-id={`${componentId}_modal`}\n\t\t\tfooterActions={footerActions}\n\t\t\tresizableConfig={resizableConfig}>\n\t\t\t{isLoading ? (\n\t\t\t\t<div className={getContainerClass('loader')}>\n\t\t\t\t\t<now-loader />\n\t\t\t\t<\/div>\n\t\t\t) : (\n\t\t\t\trenderModalContent(props)\n\t\t\t)}\n\t\t<\/Modal>\n\t);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport style from './view.scss';\nimport view from './view';\n\nexport const SNDeclarativeReferenceSearchElement = 'sn-declarative-reference-search';\n\ncreateCustomElement(SNDeclarativeReferenceSearchElement, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tactive: true,\n\t\tfetchingTreePicker: true,\n\t\tcomponentLoading: true,\n\t\ttreePickerConfig: {},\n\t\tselectedItems: {value: [], display_value_list: []}\n\t},\n\tproperties: {\n\t\tfieldName: '',\n\t\ttableName: '',\n\t\trecordSysId: '',\n\t\tlabel: '',\n\t\tserializedChanges: '',\n\t\tencodedRecord: '',\n\t\tcontext: '',\n\t\tchars: '',\n\t\tcomponentId: '',\n\t\treferenceTable: '',\n\t\tignoreReferenceQualifier: '',\n\t\tignoreDepAsRefQual: '',\n\t\tdictionary: {},\n\t\tdependentField: '',\n\t\tdependentValue: '',\n\t\treferenceQualifier: '',\n\t\treferenceKey: '',\n\t\tfieldType: '',\n\t\tresizableConfig: {\n\t\t\tenableResizable: false\n\t\t}\n\t},\n\tstyles: style,\n\tactionHandlers\n});\n","import {DA_WRAPPED_CLICKED, UXF_INTERNAL_EVENT_META} from '../../common/constants';\nimport isFunction from 'lodash/isFunction';\nconst BEHAVIOR_NAME = 'daWrappedClickedBehavior';\n\nconst actionHandlers = {\n\t[DA_WRAPPED_CLICKED]: ({action, dispatch}) => {\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\twrapped_action_name: actionName = '',\n\t\t\t\twrapped_payload: actionPayload = {},\n\t\t\t\toptions: {predicate, aliases = []} = {}\n\t\t\t} = {},\n\t\t\tmeta: {[UXF_INTERNAL_EVENT_META]: uxfMeta = {}} = {}\n\t\t} = action;\n\n\t\tif (actionName && (!isFunction(predicate) || predicate(action))) {\n\t\t\tdispatch(actionName, actionPayload, {\n\t\t\t\t[UXF_INTERNAL_EVENT_META]: {...uxfMeta, permitCorrelationIdMismatch: true}\n\t\t\t});\n\n\t\t\taliases.forEach(alias => {\n\t\t\t\tdispatch(alias, actionPayload, {\n\t\t\t\t\t[UXF_INTERNAL_EVENT_META]: {...uxfMeta, permitCorrelationIdMismatch: true}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const daWrappedClickedBehavior = {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers\n};\n","import {isEmpty} from 'lodash';\n\nconst opers = {\n\tANYTHING: () => true,\n\tBETWEEN: evalBetween,\n\tISEMPTY: evalIsEmpty,\n\tEMPTYSTRING: evalEmptyString,\n\tENDSWITH: evalEndsWith,\n\t'=': evalEquals,\n\t'>': evalGreaterThan,\n\t'>=': evalGreaterThanOrEquals,\n\tIN: evalIn,\n\t'NOT IN': evalNotIn,\n\tLIKE: evalLike,\n\t'<': evalLessThan,\n\t'<=': evalLessThanOrEquals,\n\tISNOTEMPTY: evalIsNotEmpty,\n\t'!=': evalNotEquals,\n\t'NOT LIKE': evalNotLike,\n\tSAMEAS: evalSameAs,\n\tNSAMEAS: evalNotSameAs,\n\tSTARTSWITH: evalStartsWith,\n\tGT_FIELD: evalGreaterThanField,\n\tLT_FIELD: evalLessThanField,\n\tGT_OR_EQUALS_FIELD: evalGreaterThanOrEqualsField,\n\tLT_OR_EQUALS_FIELD: evalLessThanOrEqualsField\n};\n\n/**\n * Given an `action` and a `model`, the `evaluateConditions`\n * function will return `true` if the conditions on the action\n * evaluate to `true`, and `false` otherwise. Currently only\n * the operators for the `boolean`, `string`, and `integer` types\n * are supported.\n *\n * Queries have the structure:\n *\n * [ (A OR B) AND (B OR C) ]\n *\n * OR (newQuery)\n *\n * [ (D OR E) AND (F OR G) ]\n *\n * The terms are evaluated as follows:\n * * The terms are grouped according to the `newQuery` flag.\n * * The terms within each of these groups are grouped according to the `or` flag.\n * * The `some` - `every` - `some` logic evaluates the OR (newQuery) - AND - OR boolean structure of the query\n *\n * @param {object} action\n * @param {object} model\n *\n * */\nexport const evaluateConditions = (modelConditions, model) => {\n\tif (!modelConditions || modelConditions.length === 0) return true;\n\n\treturn modelConditions\n\t\t.reduce(groupByNewQuery, [])\n\t\t.map(term => term.reduce(groupByAnd, []))\n\t\t.some(terms =>\n\t\t\tterms.every(terms =>\n\t\t\t\tterms.some(({field, operator, value}) => {\n\t\t\t\t\tif (field == null && value == null) return true;\n\t\t\t\t\treturn opers[operator](field, value, model);\n\t\t\t\t})\n\t\t\t)\n\t\t);\n};\n\nexport const evalScriptedClientConditions = (scriptedClientCond, model = {}) => {\n\tif (isEmpty(scriptedClientCond) || isEmpty(model)) return true;\n\n\tconst scopeVariableNames = Object.keys(model) || [];\n\tconst scopeVariableValues = scopeVariableNames.map(key => model[key]);\n\tlet result = true;\n\n\ttry {\n\t\tconst scopingFunction = new Function(scopeVariableNames, `return (${scriptedClientCond});`);\n\t\tresult = scopingFunction.apply(scopingFunction, scopeVariableValues);\n\t} catch (e) {\n\t\tconsole.error('Declarative Action scripted client condition expression evaluation failed');\n\t\tconsole.error(e);\n\t}\n\treturn result;\n};\n\n/**\n * The `groupBy*` functions operate over a list of query terms\n * and transform it into a list of arrays, with each array being\n * a group of terms separated by the operator specified.\n *\n * @param {array} conditions\n * @param {object} model\n *\n * @example\n *\n * const conditions =\n * [\n *  { newQuery: false, or: false },\n *  { newQuery: false, or: true  },\n *  { newQuery: true,  or: false ),\n *  { newQuery: false, or: false }\n * ];\n *\n * console.log(conditions.reduce(groupByNewQuery, []));\n * output:\n * [\n *  [\n *    { newQuery: false, or: false },\n *    { newQuery: false, or: true  }\n *  ],\n *  [\n *    { newQuery: true,  or: false },\n *    { newQuery: false, or: false }\n *  ]\n * ]\n * */\nfunction groupByNewQuery(conditions, term, i) {\n\tconst {newQuery} = term;\n\tif (newQuery || i === 0) conditions.push([term]);\n\telse conditions[conditions.length - 1].push(term);\n\treturn conditions;\n}\n\nfunction groupByAnd(conditions, term, i) {\n\tconst {or} = term;\n\tif (!or || i === 0) conditions.push([term]);\n\telse conditions[conditions.length - 1].push(term);\n\treturn conditions;\n}\n\n/* General operators */\nfunction evalEquals(field, value, model) {\n\treturn String(model[field]) === String(value);\n}\n\nfunction evalNotEquals(field, value, model) {\n\treturn !evalEquals(field, value, model);\n}\n\nfunction evalSameAs(field, value, model) {\n\treturn model[field] === model[value];\n}\n\nfunction evalNotSameAs(field, value, model) {\n\treturn !evalSameAs(field, value, model);\n}\n\nfunction evalIsEmpty(field, value, model) {\n\treturn evalEmptyString(field, value, model);\n}\n\nfunction evalIsNotEmpty(field, value, model) {\n\treturn !evalIsEmpty(field, value, model);\n}\n\n/* String operators */\nfunction evalStartsWith(field, value, model) {\n\treturn String(model[field]).startsWith(String(value));\n}\n\nfunction evalEndsWith(field, value, model) {\n\treturn String(model[field]).endsWith(String(value));\n}\n\nfunction evalLike(field, value, model) {\n\treturn String(model[field]).includes(String(value));\n}\n\nfunction evalNotLike(field, value, model) {\n\treturn !evalLike(field, value, model);\n}\n\nfunction evalEmptyString(field, value, model) {\n\treturn model[field] === '' || model[field] === null;\n}\n\nfunction evalIn(field, value, model) {\n\treturn String(value)\n\t\t.split(',')\n\t\t.some(val => evalEquals(field, val, model));\n}\n\nfunction evalNotIn(field, value, model) {\n\treturn !evalIn(field, value, model);\n}\n\n/* Integer/String operators */\nfunction evalGreaterThan(field, value, model) {\n\treturn model[field] > value;\n}\n\nfunction evalGreaterThanOrEquals(field, value, model) {\n\treturn model[field] >= value;\n}\n\nfunction evalLessThan(field, value, model) {\n\treturn model[field] < value;\n}\n\nfunction evalLessThanOrEquals(field, value, model) {\n\treturn model[field] <= value;\n}\n\nfunction evalBetween(field, value, model) {\n\tconst vals = value.split('@');\n\treturn (\n\t\tevalGreaterThanOrEquals(field, vals[0], model) &&\n\t\tevalLessThanOrEquals(field, vals[1], model)\n\t);\n}\n\n/* Integer operators */\nfunction evalGreaterThanField(field, value, model) {\n\treturn model[field] > model[value];\n}\n\nfunction evalLessThanField(field, value, model) {\n\treturn model[field] < model[value];\n}\n\nfunction evalGreaterThanOrEqualsField(field, value, model) {\n\treturn model[field] >= model[value];\n}\n\nfunction evalLessThanOrEqualsField(field, value, model) {\n\treturn model[field] <= model[value];\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t\t} else if ('getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t}, [\"mark\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t\t} else if ('mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.mark || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t} });","import {\n\tcurry,\n\tforEach,\n\tget,\n\tisArray,\n\tisEmpty,\n\tisFunction,\n\tisObject,\n\tisString,\n\tmap,\n\tmapValues,\n\treplace,\n\tset\n} from 'lodash';\nimport {evalScriptedClientConditions, evaluateConditions} from './conditionEvaluator';\nimport track from '../utils/uiMetricsUtils';\n\n/**\n * For the interpolation regex, we have logic to check for \\u200B\n * The platform sanitizes {{}} with a \\u200B character to prevent angular code from\n * executing on platform form. Ideally this unicode should only be applied\n * for presentational purposes and the value should remain unchanged in the db\n * but that is not the case.\n */\n\nconst interpolationRegex = /{\\u200B?{([\\s\\S]+?)}}/g;\nconst arrayIndexRegex = /@(\\d)@?/g;\nconst ZERO_COUNT_REGEX = /\\(0\\)/;\n\nconst evaluate = model => {\n\tconst modelEvaluator = curry(substitute)(model);\n\n\treturn string => {\n\t\tif (!isString(string) || !isObject(model)) return string;\n\n\t\t// check if string matches interpolation pattern\n\t\tconst parsedString = interpolationRegex.exec(string);\n\t\tconst matchedString = parsedString ? parsedString[0] : null;\n\t\tconst modelField = parsedString ? parsedString[1] : null;\n\n\t\t// reset state of regex for next string\n\t\tinterpolationRegex.lastIndex = 0;\n\n\t\t// if whole string is matched to the regex, return actual value\n\t\t// e.g \"{{displayValueList}}\" => [ \"Abel Tuter\", \"Beth Anglin\" ]\n\t\tif (parsedString && matchedString.length === string.length) {\n\t\t\treturn modelEvaluator(string, modelField, false);\n\t\t}\n\n\t\t// else, return string interpolated value\n\t\t// e.g \"Edit ({{count}})\" => \"Edit (2)\"\n\t\treturn replace(string, interpolationRegex, modelEvaluator);\n\t};\n};\n\nfunction substitute(model, str, field, isInterpolation = true) {\n\tconst key = field.trim();\n\tconst replacement = get(model, key);\n\n\tif (isInterpolation && isObject(replacement) && !isArray(replacement)) return key;\n\tif (replacement !== undefined) return replacement;\n\n\tconst keys = key.split('.');\n\t//if the key is not in model, return original string, otherwise return empty string.\n\treturn keys[0] in model ? '' : str;\n}\n\nconst recursiveEvaluation = (value, evaluator) => {\n\tif (!isFunction(evaluator)) return null;\n\tif (Array.isArray(value)) return map(value, item => recursiveEvaluation(item, evaluator));\n\tif (isObject(value))\n\t\treturn mapValues(value, objectValue => recursiveEvaluation(objectValue, evaluator));\n\n\treturn evaluator(value);\n};\n\n/**\n * For payload mapping we construct a path for nested objects using\n * the `@` character to separate fields\n *\n * Ex: `{ a: { b: { c: 1 }} }` => The path to `c` is `a@b@c`\n * Ex: `{a: [ { b: { c: 1 } }  ] }` => The path to `c` is `a@0@b@c`\n *\n * These paths must be corrected\n * `a@b@c` => `a.b.c`\n * `a@0@b@c` => `a[0].b.c`\n */\nconst resolvePayloadPath = path => {\n\tif (!path) return '';\n\n\tconst arrayIndexReplaced = replace(path, arrayIndexRegex, (_, index) => {\n\t\treturn `[${index}]`;\n\t});\n\n\treturn arrayIndexReplaced.replace(/@/g, '.');\n};\n\nconst evaluateAction = (action, evaluator) => {\n\tif (!isObject(action) || !isFunction(evaluator)) return null;\n\n\t// These are the only fields that support evaluation\n\tconst {\n\t\tlabel,\n\t\ttooltip,\n\t\tactionAttributes,\n\t\tactionPayload,\n\t\tmodelConditions,\n\t\tpayloadMap,\n\t\tscriptedClientCondition,\n\t\tariaLabel = '',\n\t\tinteractionInputMap\n\t} = action;\n\n\tconst evaluatedVariables = map(payloadMap, variable =>\n\t\trecursiveEvaluation(variable, evaluator)\n\t);\n\n\tconst constructPayload = (payloadTemplate, fields) => {\n\t\tconst payload = {\n\t\t\t...payloadTemplate\n\t\t};\n\n\t\tforEach(fields, ({name, value}) => {\n\t\t\tconst path = resolvePayloadPath(name);\n\t\t\tset(payload, path, value);\n\t\t});\n\n\t\treturn payload;\n\t};\n\n\tconst mergedPayload = constructPayload(actionPayload, evaluatedVariables);\n\n\treturn {\n\t\t...action,\n\t\tlabel: evaluator(label),\n\t\ttooltip: evaluator(tooltip),\n\t\tariaLabel: evaluator(ariaLabel),\n\t\tactionAttributes: recursiveEvaluation(actionAttributes, evaluator),\n\t\tactionPayload: recursiveEvaluation(mergedPayload, evaluator),\n\t\tmodelConditions: map(modelConditions, condition =>\n\t\t\trecursiveEvaluation(condition, evaluator)\n\t\t),\n\t\tscriptedClientCondition: evaluator(scriptedClientCondition),\n\t\tinteractionInputMap: recursiveEvaluation(interactionInputMap, evaluator)\n\t};\n};\n\n/**\n * Possible performance improvement here is to store the parsed\n * JSON string to stop future calls to JSON.parse()\n */\nconst jsonParse = jsonString => {\n\tif (isObject(jsonString)) return jsonString;\n\tif (!isString(jsonString)) return {};\n\n\ttry {\n\t\treturn JSON.parse(jsonString || '{}');\n\t} catch (e) {\n\t\treturn {\n\t\t\te: `Error parsing: ${jsonString}`\n\t\t};\n\t}\n};\n\nconst parseStringProperties = action => {\n\tconst unparsedPayload = get(action, 'actionPayload', {});\n\tconst unparsedAttributes = get(action, 'actionAttributes', {});\n\tconst unparsedInteractionInputMap = get(action, 'interactionInputMap', {});\n\n\tconst parsedPayload = jsonParse(unparsedPayload);\n\tconst parsedAttributes = jsonParse(unparsedAttributes);\n\tconst parsedInteractionInputMap = jsonParse(unparsedInteractionInputMap);\n\n\treturn {\n\t\t...action,\n\t\tactionPayload: parsedPayload,\n\t\tactionAttributes: parsedAttributes,\n\t\tinteractionInputMap: parsedInteractionInputMap\n\t};\n};\n\nconst formatZeroCountString = str => {\n\tconst hasMatch = ZERO_COUNT_REGEX.test(str);\n\tif (hasMatch) {\n\t\treturn str.replace(ZERO_COUNT_REGEX, '').trim();\n\t} else {\n\t\treturn str;\n\t}\n};\n\nconst transformActions = (actions, model, metricsData) => {\n\tconst evaluator = evaluate(model);\n\treturn actions\n\t\t.reduce((accumulator, action) => {\n\t\t\tconst {label, tooltip, recordSelectionRequired} = action;\n\t\t\tconst newAction = {\n\t\t\t\t...action,\n\t\t\t\ttooltip: tooltip || label\n\t\t\t};\n\n\t\t\tconst parsedAction = parseStringProperties(newAction);\n\t\t\tconst evaluatedAction = evaluateAction(parsedAction, evaluator);\n\n\t\t\tif (recordSelectionRequired && model.count === 0) {\n\t\t\t\t// Handle case of Edit (0) to Edit\n\t\t\t\tevaluatedAction.label = formatZeroCountString(evaluatedAction.label);\n\t\t\t\tevaluatedAction.tooltip = formatZeroCountString(evaluatedAction.tooltip);\n\t\t\t\tevaluatedAction.ariaLabel = formatZeroCountString(evaluatedAction.ariaLabel);\n\t\t\t}\n\n\t\t\tif (metricsData) {\n\t\t\t\tconst {coeffects = {}, eventName = 'transformActions', meta = {}} = metricsData;\n\t\t\t\tmeta.evaluatedAction = evaluatedAction;\n\t\t\t\tmeta.parsedAction = parsedAction;\n\t\t\t\ttrack(coeffects, eventName, meta);\n\t\t\t}\n\t\t\tconst passed =\n\t\t\t\tevaluateConditions(evaluatedAction.modelConditions, model) &&\n\t\t\t\tevalScriptedClientConditions(evaluatedAction.scriptedClientCondition, model);\n\n\t\t\tif (passed) accumulator.push(evaluatedAction);\n\n\t\t\treturn accumulator;\n\t\t}, [])\n\t\t.sort((action1, action2) => action1.order - action2.order);\n};\n\nconst evaluateAndKeep = (actions, model) => {\n\tconst evaluator = evaluate(model);\n\treturn actions\n\t\t.reduce((accumulator, action) => {\n\t\t\taction.tooltip = action.tooltip || action.label;\n\n\t\t\tconst parsedAction = parseStringProperties(action);\n\t\t\tconst evaluatedAction = evaluateAction(parsedAction, evaluator);\n\n\t\t\taccumulator.push(evaluatedAction);\n\n\t\t\treturn accumulator;\n\t\t}, [])\n\t\t.sort((action1, action2) => action1.order - action2.order);\n};\n\n/**\n * Given a list of `actions`, `transformer` will return\n * a filtered list of `actions` with `{{}}` syntax evaluated\n * and client conditions applied\n *\n * @param {array} actions\n * @param {object} model\n *\n * @example\n *\n * const model = { value: 'World' };\n * const actions = [\n * {\n * \tname: 'action1',\n * \tlabel: 'Hello {{ value }}!'\n * },\n * {\n * \tname: 'action2',\n * \tlabel: 'Foo {{ value }}',\n * \tconditions: {\n * \t\tvalue: 'bar'\n * \t}\n * }\n * ];\n *\n * const evaluateActions = transformer(action2, model);\n * console.log(evaluatedActions); // => [{ name: 'action1 , label: 'Hello World'}]\n */\nexport const transformer = (actions, model, metricsData) => {\n\tif (isEmpty(actions)) return actions;\n\n\treturn transformActions(actions, model, metricsData);\n};\n\nexport const evaluateOnly = (actions, model) => {\n\tif (isEmpty(actions)) return actions;\n\n\treturn evaluateAndKeep(actions, model);\n};\n","import {getInteractionId, mark} from '@servicenow/ui-metrics';\n\nexport default function track(coeffects, eventName, metadata = {}) {\n\tconst {\n\t\thost,\n\t\taction: {meta = {}},\n\t\tproperties: {nowId = ''}\n\t} = coeffects;\n\tconst interactionId = getInteractionId(meta) || nowId;\n\tmark(host, interactionId, eventName, metadata, 'performance');\n}\n","import {\n\tDECLARATIVE_ACTION_CANCEL_ACTION,\n\tDECLARATIVE_ACTION_CLOSE_MODAL,\n\tDECLARATIVE_ACTION_EXECUTE_ACTION\n} from '../actions';\nimport {get} from 'lodash';\n\nexport default {\n\t'NOW_MODAL#FOOTER_ACTION_CLICKED': ({state, dispatch, action}) => {\n\t\tconst scriptTitle = get(state, 'properties.action.label', '');\n\t\tconst buttonTitle = get(action, 'payload.action.label', 'NOT_A_MATCH');\n\t\tif (scriptTitle === buttonTitle) dispatch(DECLARATIVE_ACTION_EXECUTE_ACTION);\n\t\telse dispatch(DECLARATIVE_ACTION_CANCEL_ACTION);\n\n\t\tdispatch(DECLARATIVE_ACTION_CLOSE_MODAL);\n\t},\n\t'NOW_MODAL#OPENED_SET': ({dispatch}) => {\n\t\tdispatch(DECLARATIVE_ACTION_CANCEL_ACTION);\n\t\tdispatch(DECLARATIVE_ACTION_CLOSE_MODAL);\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\nexport const SNDeclarativeConfirmationModal = 'sn-declarative-confirmation-modal';\n\ncreateCustomElement(SNDeclarativeConfirmationModal, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\taction: {},\n\t\tshow: false,\n\t\tcomponentId: ''\n\t},\n\tactionHandlers\n});\n","import {t} from 'sn-translate';\nimport Modal from '../../modal-wrapper';\n\nconst createButtons = action => [\n\t{\n\t\tvariant: 'primary-negative',\n\t\tlabel: action.label || t('Confirm')\n\t},\n\t{\n\t\tvariant: 'secondary',\n\t\tlabel: t('Cancel')\n\t}\n];\n\nexport default ({properties: {show, action, componentId}}) => {\n\tif (!action) return null;\n\n\tconst buttons = createButtons(action);\n\tconst message = action.confirmationMessage ? action.confirmationMessage : t('Execute action');\n\n\treturn (\n\t\t<Modal\n\t\t\tcomponent-id={`${componentId}_confirmation_modal`}\n\t\t\topened={show}\n\t\t\theader-label={t('Confirmation')}\n\t\t\tfooter-actions={buttons}>\n\t\t\t<p>{message}<\/p>\n\t\t<\/Modal>\n\t);\n};\n","import {ACTION_COMPONENT} from './actions';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\nimport './confirmation-modal';\n\nexport default ({model, action, key, displayConfirmation}) => {\n\tconst {actionType, actionComponent, actionAttributes} = action || {};\n\n\tconst isUIComponent = actionType === ACTION_COMPONENT;\n\tconst ActionComponent = actionComponent;\n\tconst props = {\n\t\t...model,\n\t\t...actionAttributes\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<slot />\n\t\t\t{!displayConfirmation && isUIComponent && ActionComponent ? (\n\t\t\t\t<ActionComponent hoist key={key} {...props} model={model} />\n\t\t\t) : null}\n\t\t\t{displayConfirmation ? (\n\t\t\t\t<sn-declarative-confirmation-modal\n\t\t\t\t\taction={action}\n\t\t\t\t\tshow={displayConfirmation}\n\t\t\t\t\thoist\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport {uiInteractionBehavior} from '@devsnc/behavior-ui-interaction';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport {getInteractionDataProvider} from '../utils/interaction';\nimport actionHandlers from './actions';\nimport view from './view';\n\nexport const SNDeclarativeMediator = 'sn-declarative-mediator';\n\n/**\n * Helper component which wraps other components which rely on declarative actions\n * The component handles everything related to executing and evaluating conditions of the declarative action\n * dispatched by the slotted component and sending the results back down to the child through props\n *\n * ```jsx\n * <sn-declarative-mediator>\n *\t\t<other-component-which-renders-declarative-action\n *\t\t\t{...properties}\n *\t\t/>\n * <\/sn-declarative-mediator>\n * ```\n *\n * @seismicElement sn-declarative-mediator\n * @summary Helper component which wraps other components which rely on declarative actions\n * and handles execution of the action for the wrapped component\n */\ncreateCustomElement(SNDeclarativeMediator, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\taction: {},\n\t\tmodel: {},\n\t\tkey: null,\n\t\tdisplayConfirmation: false,\n\t\tdynamicConditionResults: {}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Whether or not it should dispatch a wrapped action with an actual action in a payload for DISPATCH_ACTION and UXF_CLIENT_ACTION type\n\t\t * @type {boolean}\n\t\t */\n\t\tshouldWrapAction: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether or not it should work on Dynamic Evaluation for DAs\n\t\t */\n\t\tshouldEvaluateDynamicConditions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether or not it should append actionEvent to payload to describe the event triggerring the action\n\t\t * The value of actionEvent comes from either\n\t\t *  1. action.meta.actionEvent\n\t\t *  2. action.meta.event (default)\n\t\t *\n\t\t * actionEvent schema:\n\t\t * \tactionEvent: {\n\t\t * \t\tschema: {\n\t\t * \t\t\ttype: 'object',\n\t\t * \t\t\tproperties: {\n\t\t * \t\t\t\ttarget: {\n\t\t * \t\t\t\t\ttype: 'object',\n\t\t * \t\t\t\t\tdescription: 'a reference to action event's target element'\n\t\t * \t\t\t\t},\n\t\t * \t\t\t\ttype: {\n\t\t * \t\t\t\t\ttype: 'string',\n\t\t * \t\t\t\t\tdescription: 'event type'\n\t\t * \t\t\t\t},\n\t\t * \t\t\t\tmetaKey: {\n\t\t * \t\t\t\t\ttype: 'boolean',\n\t\t * \t\t\t\t\tdescription: 'indicates whether the meta key was pressed or not when the event occurs'\n\t\t * \t\t\t\t}\n\t\t * \t\t\t}\n\t\t * \t\t}\n\t\t * \t}\n\t\t * @type {boolean}\n\t\t */\n\t\tshouldAppendActionEvent: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Prop for Dynamically Evaluated DA's\n\t\t * All the Declarative Action SysIds needed to be evaluated\n\t\t * @type {Array.<Object>}\n\t\t */\n\t\tdeclarativeActions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t},\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true\n\t\t},\n\t\t/**\n\t\t * List info needed when used in Lists/Related Lists\n\t\t * Prop for Dynamically Evaluated DA's\n\t\t * @type {{\n\t\t * model: string,\n\t\t * recordSysIds: Array.<string>,\n\t\t * conditions: string,\n\t\t * selectedRecords: Array.<string>,\n\t\t * editedRecords: Array.<string>,\n\t\t * listRefresh: Object,\n\t\t * daRelayPropName: string,\n\t\t * table: string,\n\t\t * parentTable: string,\n\t\t * parentRecordSysId: string\n\t\t * }}\n\t\t */\n\t\tmodelData: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists].\n\t\t\t\t\t * Model type list / form\n\t\t\t\t\t * For Future use\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tmodel: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * All the Record SysIds needed to be evaluated\n\t\t\t\t\t * @type {Array.<string>}\n\t\t\t\t\t */\n\t\t\t\t\trecordSysIds: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'array'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: []\n\t\t\t\t\t},\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Filter conditions for the current list.\n\t\t\t\t\t * Used for \"Select All\" use case\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tconditions: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * All the selected/checked Record SysIds needed to be evaluated\n\t\t\t\t\t * @type {Array.<string>}\n\t\t\t\t\t */\n\t\t\t\t\tselectedRecords: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'array'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: []\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * All the inline Edited Record SysIds needed to be evaluated\n\t\t\t\t\t * @type {Array.<string>}\n\t\t\t\t\t */\n\t\t\t\t\teditedRecords: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'array'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: []\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * Flag for inline Edited Records to be evaluated - Timestamp\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tcellUpdatedOn: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists].\n\t\t\t\t\t * Last time the record list was refreshed\n\t\t\t\t\t * @type {{}}\n\t\t\t\t\t */\n\t\t\t\t\tlistRefresh: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'object'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: {}\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Child component property name to which the dynamically evaluated Declarative Actions will be passed down.\n\t\t\t\t\t * ex. Used for Enable/Disable DA's based on Record Selection on Lists\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tdaRelayPropName: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's\n\t\t\t\t\t * Table Name for the Dynamic evaluation\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\ttable: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's\n\t\t\t\t\t * Parent Table Name for the Dynamic evaluation\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tparentTable: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's\n\t\t\t\t\t * Parent Record SysId for the Dynamic evaluation\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tparentRecordSysId: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: uiInteractionBehavior,\n\t\t\toptions: {\n\t\t\t\tdataProvider: getInteractionDataProvider()\n\t\t\t}\n\t\t}\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched once the declarative action execution has completed indicating success or failure\n\t\t * @type {AddNotificationsPayload[]}\n\t\t */\n\t\tADD_NOTIFICATIONS: {},\n\t\t/**\n\t\t * Dispatched on successful action execution\n\t\t * @type {object}\n\t\t */\n\t\tREFRESH_REQUESTED: {}\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createPreSourceBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'createPreSourceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].createPreSourceBehavior;\n\t\t\t\t\t} else if ('createPreSourceBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.createPreSourceBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].createPreSourceBehavior;\n\t\t\t\t}, [\"getBehaviorProp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getBehaviorProp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getBehaviorProp;\n\t\t\t\t\t} else if ('getBehaviorProp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getBehaviorProp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getBehaviorProp;\n\t\t\t\t}, [\"preWsConfigSysId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'preWsConfigSysId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].preWsConfigSysId;\n\t\t\t\t\t} else if ('preWsConfigSysId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.preWsConfigSysId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].preWsConfigSysId;\n\t\t\t\t} });","import {createPreSourceBehavior} from 'sn-uxpage-presource';\nimport {get} from 'lodash';\n\nconst OPEN_FRAME = 'sn-component-openframe';\nconst openFrameDataPath = 'data.AppOpenframe_Query';\n\nexport const OPEN_FRAME_KEY = 'openFrameConfig';\nexport const openFrameBehavior = createPreSourceBehavior(OPEN_FRAME, {\n\tname: OPEN_FRAME_KEY,\n\ttransform: data => get(data, openFrameDataPath, null)\n});\n","import {OPEN_FRAME_KEY} from './behaviors';\nimport {chain, get, isEmpty, isFunction, isObject} from 'lodash';\nimport {getBehaviorProp} from 'sn-uxpage-presource';\n\nfunction isAttrTrue(val) {\n\treturn val === true || val === 'true';\n}\n\nexport const getActionsByKey = (actions, fieldType) => {\n\treturn chain(actions)\n\t\t.filter(action => action.field === fieldType)\n\t\t.nth(0)\n\t\t.get('actions', [])\n\t\t.value();\n};\n\n/**\n * Some configuration data (e.g., CTI and current user info) is currently\n * stored globally and not provided as props/in a central Seismic store.\n *\n * This maps known action dependencies (specified in sys_declarative_action\n * table) to a predicate that determines whether or not the action can be\n * rendered.\n */\nconst HACKY_GLOBAL_DEPENDENCY_MAP = {\n\tCTI: behaviors => {\n\t\tconst openFrameConfig = getBehaviorProp({behaviors}, OPEN_FRAME_KEY, {});\n\t\treturn (\n\t\t\tget(openFrameConfig, 'showFrame', 'false') === 'true' &&\n\t\t\tget(openFrameConfig, 'config', null)\n\t\t);\n\t}\n};\n\nexport default function canRenderAction({model, action, formData, behaviors} = {}) {\n\tif (!isObject(action)) {\n\t\treturn false;\n\t}\n\n\tif (action.requiresValue && isEmpty(model.value)) {\n\t\treturn false;\n\t}\n\n\tif (action.requiresExistingRecord && isObject(formData) && formData.isNewRecord) {\n\t\treturn false;\n\t}\n\n\tif (action.requiresWritable && isAttrTrue(model.readonly)) {\n\t\treturn false;\n\t}\n\n\tif (\n\t\taction.dependency &&\n\t\tisFunction(HACKY_GLOBAL_DEPENDENCY_MAP[action.dependency]) &&\n\t\t!HACKY_GLOBAL_DEPENDENCY_MAP[action.dependency](behaviors)\n\t) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {get} from 'lodash';\n\nimport {getActionsByKey} from './utils';\n\nexport const DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL = 'DECLARATIVE_ACTION_FETCH_FIELD#GRAPHQL';\nexport const DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS = 'DECLARATIVE_ACTION_FETCH_FIELD#SUCCESS';\nexport const DECLARATIVE_ACTION_FETCH_FIELD_ERROR = 'DECLARATIVE_ACTION_FETCH_FIELD#ERROR';\nexport const DECLARATIVE_ACTION_FETCH_FIELD_PRESOURCE = 'DECLARATIVE_ACTION_FETCH#PRESOURCE';\n\nconst globalActionsDataPath =\n\t'data.GlideDeclarativeActions_Query.GlideDeclarativeActions_fieldQuery.fieldDeclarativeActions.fieldActions';\nconst declarativeFieldActionQuery = `query($tableName: String!, $sysId: String!, $workspaceConfigId: String!) {\n\tGlideDeclarativeActions_Query {\n\t\tGlideDeclarativeActions_fieldQuery {\n\t\t\tfieldDeclarativeActions(table: $tableName, view: \"\", sysId: $sysId, source: \"field\", workspaceConfigId: $workspaceConfigId) {\n\t\t\t\tfieldActions {\n\t\t\t\t\tfield\n\t\t\t\t\tactions {\n\t\t\t\t\t\tname\n\t\t\t\t\t\ticon\n\t\t\t\t\t\tanimateIcon\n\t\t\t\t\t\tlabel\n\t\t\t\t\t\tdependency\n\t\t\t\t\t\trequiresValue\n\t\t\t\t\t\torder\n\t\t\t\t\t\tactionType\n\t\t\t\t\t\tactionComponent\n\t\t\t\t\t\tactionDispatch\n\t\t\t\t\t\tactionPayload\n\t\t\t\t\t\tactionAttributes\n\t\t\t\t\t\tgroupBy\n\t\t\t\t\t\tgroup\n\t\t\t\t\t\tassignmentId\n\t\t\t\t\t\tconfirmationRequired\n\t\t\t\t\t\tconfirmationMessage\n\t\t\t\t\t\ttooltip\n\t\t\t\t\t\tclientScript\n\t\t\t\t\t\tscriptedClientCondition\n\t\t\t\t\t\tmodelConditions {\n\t\t\t\t\t\t\tfield\n\t\t\t\t\t\t\toperator\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\tnewQuery\n\t\t\t\t\t\t\tor\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpayloadMap {\n\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}`;\n\nconst fetchActionsEffect = createGraphQLEffect(declarativeFieldActionQuery, {\n\tvariableList: ['tableName', 'sysId', 'workspaceConfigId'],\n\tsuccessActionType: DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS,\n\terrorActionType: DECLARATIVE_ACTION_FETCH_FIELD_ERROR\n});\n\nexport default {\n\t[DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL]: fetchActionsEffect,\n\n\t[DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS]: ({updateProperties, state, action}) => {\n\t\tconst {payload, meta} = action;\n\t\tconst {\n\t\t\tproperties: {model}\n\t\t} = state;\n\t\tconst requestTableName = get(meta, 'options.variables.tableName');\n\t\tconst globalResponse = requestTableName === 'global';\n\n\t\tconst key = globalResponse ? model.fieldType : model.fieldName;\n\t\tconst actionsFromDatasource = get(payload, globalActionsDataPath);\n\n\t\tupdateProperties({\n\t\t\tactionsFromDatasource: getActionsByKey(actionsFromDatasource, key)\n\t\t});\n\t},\n\n\t[DECLARATIVE_ACTION_FETCH_FIELD_ERROR]: ({updateProperties}) => {\n\t\tupdateProperties({\n\t\t\tactionsFromDatasource: []\n\t\t});\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-button';\nimport {isEmpty, isNull, map, take} from 'lodash';\nimport {t} from 'sn-translate';\n\nimport canRenderAction from './utils';\n\nimport {transformer} from '../../common/transformActions';\n\nconst AI_ICON = 'ai-sparkle-fill';\n\nexport const Action = ({action, dispatch, model, key}) => {\n\tconst onClick = (e = {}) => {\n\t\te.preventDefault();\n\n\t\tconst target = e.target;\n\t\tlet meta = {};\n\n\t\tif (target) {\n\t\t\tconst {metaKey, ctrlKey, type} = e;\n\t\t\tconst platform =\n\t\t\t\twindow?.navigator?.userAgentData?.platform.toLowerCase() ||\n\t\t\t\twindow?.navigator?.platform.toLowerCase();\n\n\t\t\tmeta = {\n\t\t\t\tactionEvent: {metaKey: !platform.includes('mac') ? ctrlKey : metaKey, type, target}\n\t\t\t};\n\t\t}\n\n\t\tdispatch('DECLARATIVE_ACTION', {action, model}, meta);\n\t};\n\n\tconst oldIconToNDSIcon = {\n\t\tsearch: 'magnifying-glass-outline',\n\t\tphone: 'phone-outline',\n\t\t'info-circle': 'info-circle-outline'\n\t};\n\n\tconst getIcon = icon => oldIconToNDSIcon[icon] || icon;\n\n\tconst {label, tooltip, animateIcon = false} = action;\n\n\tconst icon = getIcon(action.icon);\n\tlet iconProp = {};\n\n\tif (icon === AI_ICON && animateIcon) {\n\t\ticonProp = {animatedIcon: icon};\n\t} else {\n\t\ticonProp = {icon};\n\t}\n\n\treturn (\n\t\t<now-button-iconic\n\t\t\t{...(key ? {key} : {})}\n\t\t\tbare\n\t\t\tconfig-aria={{\n\t\t\t\t'aria-label': tooltip || label,\n\t\t\t\t'aria-description': model.displayValue\n\t\t\t\t\t? t('{0} field : {1}', model.label, model.displayValue)\n\t\t\t\t\t: t('{0} field', model.label)\n\t\t\t}}\n\t\t\t{...iconProp}\n\t\t\ton-click={onClick}\n\t\t\tsize=\"sm\"\n\t\t\ttooltip-content={tooltip}\n\t\t\tvariant=\"tertiary\"\n\t\t/>\n\t);\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {behaviors, componentId, properties} = state;\n\tconst {model, actions, actionsFromDatasource, formData} = properties;\n\n\tconst resolvedActions =\n\t\tisNull(actions) && !isEmpty(actionsFromDatasource) ? actionsFromDatasource : actions;\n\n\tconst cappedActions = take(resolvedActions, 3);\n\tconst metricsData = {\n\t\tcoeffects: {\n\t\t\thost: {\n\t\t\t\tcomponentId,\n\t\t\t\tcomponentName: 'sn-declarative-field-action-renderer'\n\t\t\t},\n\t\t\taction: {},\n\t\t\tproperties\n\t\t},\n\t\teventName: 'FIELD-RENDERER#VIEW_RENDER',\n\t\tmeta: {\n\t\t\tmodel\n\t\t}\n\t};\n\tconst evaluatedActions = transformer(cappedActions, model, metricsData);\n\treturn map(evaluatedActions, action => {\n\t\tif (!canRenderAction({model, action, formData, behaviors})) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <Action key={action.name} model={model} action={action} dispatch={dispatch} />;\n\t});\n};\n\nexport default view;\n","import {actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport {isNull, isString} from 'lodash';\nimport {preWsConfigSysId} from 'sn-uxpage-presource';\n\nimport {openFrameBehavior} from './behaviors';\nimport actionHandlers, {DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL} from './actions';\nimport styles from './view.scss';\nimport view from './view';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst createData = (model, wsConfigSysId) => {\n\tconst {tableName = 'global', recordSysId: sysId = '-1'} = model;\n\tconst workspaceConfigId = isString(wsConfigSysId) ? wsConfigSysId : '-1';\n\n\treturn {\n\t\ttableName,\n\t\tsysId,\n\t\tworkspaceConfigId\n\t};\n};\n\nexport {default as canRenderFieldAction} from './utils';\nexport const SNDeclarativeFieldActionRenderer = 'sn-declarative-field-action-renderer';\n\ncreateCustomElement(SNDeclarativeFieldActionRenderer, {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tmodel: {\n\t\t\tdefault: {}\n\t\t},\n\t\tactions: {\n\t\t\tdefault: null\n\t\t},\n\t\tformData: {\n\t\t\tdefault: {}\n\t\t},\n\t\tactionsFromDatasource: {\n\t\t\tdefault: null\n\t\t},\n\t\tfetchDeclarativeActions: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tbehaviors: [openFrameBehavior, preWsConfigSysId],\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({dispatch, properties, state}) => {\n\t\t\t\tconst {actions, model, fetchDeclarativeActions} = properties;\n\t\t\t\tconst {wsConfigSysId} = state.behaviors;\n\n\t\t\t\t// we can possibly move this type of logic into a behavior\n\t\t\t\tif (isNull(actions) && fetchDeclarativeActions)\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tDECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL,\n\t\t\t\t\t\tcreateData(model, wsConfigSysId)\n\t\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t...actionHandlers\n\t}\n});\n","import '../mediator';\nimport './field-renderer';\n\nexport function isClassicForm(formData = {}) {\n\t// Just doing this for now to unblock us. Will clean up later\n\t// eslint-disable-next-line no-prototype-builtins\n\tif (!formData.hasOwnProperty('classicForm')) return true;\n\treturn formData.classicForm || false;\n}\n\nconst view = ({properties}) => {\n\tconst {formData} = properties;\n\tconst classicForm = isClassicForm(formData);\n\n\treturn (\n\t\t<sn-declarative-mediator\n\t\t\tshould-wrap-action={!classicForm}\n\t\t\tshould-append-action-event={!classicForm}>\n\t\t\t<sn-declarative-field-action-renderer {...properties} />\n\t\t<\/sn-declarative-mediator>\n\t);\n};\n\nexport default view;\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\n\nexport {default as canRenderFieldAction} from './field-renderer/utils';\nexport const SNDeclarativeFieldAction = 'sn-declarative-field-action';\n\ncreateCustomElement(SNDeclarativeFieldAction, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tmodel: {\n\t\t\tdefault: {}\n\t\t},\n\t\tactions: {\n\t\t\tdefault: null\n\t\t},\n\t\tformData: {\n\t\t\tdefault: {}\n\t\t},\n\t\tfetchDeclarativeActions: {\n\t\t\tdefault: false\n\t\t}\n\t}\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$devsnc_sn_declarative_actions=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":451,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/sn-list-selector/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","SELECTED_ITEMS_ID_SEPARATOR","SEARCH","INITIAL","CONTAINS","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","AVAILABLE_DATA_POPULATE_MODE","VIEW_TYPES","compact","twoPanels","dotWalk","VARIABLES_TABLE_NAME","VARIABLES_FIELD_VARIABLES","VARIABLES_FIELD_QUESTIONS","VARIABLES_MAX_ITEMS_DISPLAYED","AVAILABLE_CONTENT","code","message","NO_AVAILABLE_LABEL","FETCH_FIELD_ERROR","SELECTED_COLUMNS_DEFAULT_TEXT","AVAILABLE_COLUMNS_DEFAULT_TEXT","ITEM_SELECTED","SELECTED_ITEM_SET","REMOVE_NEW_SELECTED_ITEMS_REQUESTED","FETCH_DATA","FETCH_DATA_NEW","FETCH_DATA_SUCCESS","FETCH_DATA_SUCCESS_NEW","FETCH_DATA_FAILURE","FETCH_VARIABLES_DATA","FETCH_VARIABLES_DATA_SUCCESS","FETCH_VARIABLES_DATA_FAILURE","METRIC_ACTIONS","DOT_WALK_TABLE_CONFIG_FETCH_FAILED","DOT_WALK_TABLE_CONFIG_FETCH_STARTED","DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED","generateSelectedItemObject","ids","labels","locked","label","generateAvailableItemsSelectedObject","selectedItems","availableItemsSelected","availableItemsLocked","forEach","path","split","convertSelectedItemsToStateFormat","items","itemsPath","_itemsPath","convertSingleSelectedItemToEventFormat","itemPath","idsArr","labelArr","index","convertSelectedItemsToEventFormat","convertedSelectedItems","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","QUERY_VARIABLE_LIST","initializeFetchData","tableName","showExtendedFields","dispatch","referenceFieldTableName","allowExtendedFields","variableSearchOperatorTypes","dispatchErrorMessage","errorMessage","error","type","compareByDisplayValue","b","displayValue","toLocaleLowerCase","fetchEffect","variableList","successActionType","errorActionType","fetchEffectNew","fetchVariablesEffect","fetchTableMetadata","fetchSuccessEffect","coeffects","_payload$data","_payload$data$GlideLa","_payload$data$GlideLa2","properties","state","updateState","updateProperties","action","payload","allowDotWalking","includeSysId","showVariables","availableItems","newItems","data","results","GlideLayout_Query","fieldNameListDataRetriever","fieldGlideList","fieldsData","fieldNameData","filter","filterFieldResults","transformFieldNameData","tableItems","reference","isFieldReferenceType","referenceDataKey","fetchVariablesFailureEffect","_ref2","availablePanelsChangedHandler","openItems","availableItemsRoot","referenceSource","availableOpenPanels","itemId","availableLeftPanel","availableItemsPath","availableRightPanel","getNumberOfPanels","host","viewType","width","getBoundingClientRect","currentViewType","resizeHandler","numberOfPanels","setTimeout","registerResizeEvent","resizeObserver","mainRef","handler","unobserve","current","newResizeObserver","ResizeObserver","observe","operation","shouldRender","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","createRef","setInitialStateHandler","mode","itemsRoot","keys","selectedBucketItems","renderVariables","moreVariablesAvailable","openTabId","liveUpdateText","showResetWarning","newlySelectedItems","searchValue","ARROW_LEFT","ARROW_RIGHT","ENTER","ESCAPE","SPACE","CTRL_A","SHIFT","_isMac","test","navigator","userAgent","isEscape","isCtrl","event","metaKey","ctrlKey","normalizeKey","isSpaceBar","isCtrlA","scrollIntoView","element","scrollIntoViewIfNeeded","stopPropagation","toggleFocus","selectedIndexes","lastSelectedIndex","newSelectedIndexes","itemAlreadySelected","includes","shiftKey","shiftSelectionHandler","startIndex","Math","min","endIndex","max","currentTarget","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","flow","isEmpty","negate","noop","property","getElement","ref","focus","style","offsetWidth","scrollWidth","handleDragOver","dragging","preventDefault","resetDragOverIndex","shouldReset","dragOverIndex","handleContainerDragOver","target","isOverEmptySpace","classList","contains","handleDragLeave","isLeavingContainer","relatedTarget","handleDragEnter","dragItemIndex","dataTransfer","dropEffect","position","total","handleDragStart","effectAllowed","display","reorderItems","sourceIndex","targetIndex","isValidIndex","reorderedItems","splice","handleDrop","name","handleDragEnd","handleFocus","listRef","previouslyFocused","querySelectorAll","elm","remove","activeElement","shadowRoot","focusElement","closest","add","keyHandlersForDraggingState","Map","handleDragCancel","propertyMatchesEvent","_ref","matchesEvent","removeRefMatchesEvent","itemRefMatchesEvent","keyHandlers","every","findIndex","focusAll","handleKeyDown","handlers","has","shouldDisplayLabel","tooltip","targetRef","dragIconFocusHandler","REMOVE_ROW","REMOVE_MULTIPLE_ROWS","REMOVE_SELECTED_FIELD_ACTION","SELECTED_CONTENT","NO_SELECTION_LABEL","isRTL","document","dir","renderItems","autoScrollToNewItems","disableReorder","newlyAdded","isSelected","onItemUpdate","_ref3","scrollToNewItem","onLabelUpdate","isTooltipRefReady","setTooltipRefReady","arrayLabels","reverse","tooltipSeparator","tooltipText","useChevron","removeItemMessage","class","draggable","icon","size","tabIndex","role","className","removeRef","bare","disabled","hidePadding","variant","button","itemDeleted","tooltipContent","delay","opened","dragOpened","shouldRenderTooltip","initializeItems","COMPONENT_PROPERTY_CHANGED","actionHandlers","effect","itemIndex","itemsToDelete","updatedItems","firstItemDeleted","focusedElement","view","helpers","ariaLabel","comment","alignment","heading","level","illustration","getEmptyStateJsx","styles","setInitialState","schema","actions","generateSelectedItemKey","convertKeyToSelectedItem","getSelectedItemsKeyLastItem","getOpenPanels","openPanelsPath","onePanelMode","noRightPanel","leftPanel","rightPanel","findItemPanel","itemKey","_rightPanelRef$curren","rightPanelRef","pathLength","itemPathLength","rightPanelEmpty","childNodes","pop","PANEL_CHANGED_EVENT","ITEM_EXPAND_REQUESTED","CHECKED_SET_EVENT","SCROLLED_TO_BOTTOM","SEARCH_TERM_SET","OPEN_ITEM_BUTTON","CLOSE_PANELS_BUTTON","validateItem","text","searchType","toLowerCase","startsWith","filterPanelItemsBySearchValue","category","openItem","_panelItems$openItem","search","panelItems","filteredPanelItems","panelItem","panelData","subLabel","searchChangedHandler","activeItem","lastSelectedItem","openedCategory","isItemUnselectable","unselectableItems","itemPanel","getShiftSelectedItems","leftPanelRef","lastSelectedPanel","Array","from","lastSelectedPos","hoveredItemPos","shiftSelectedItems","_selectedItems$item$i","isLocked","isUnselectable","checkedSetHoverShiftHandler","checkedSetSingleItemHandler","_selectedItems$itemKe","selected","selectedItemArr","checked","checkedSetHandler","_selectedItems$itemKe2","lastSelectedItemOnPanel","checkedSetShiftHandler","_selectedItems$lastSe","checkedItems","shiftSelectedChecked","_selectedItems$item","_selectedItems$item2","moveItemFocusToRightAndLeft","isRightPanel","composedPath","some","_element$classList","isLeftPanel","_element$classList2","parentNode","querySelector","expandedItem","click","clickFocusedElement","newSelectedItems","focusables","_newSelectedItems$ite","selectAllItems","checkedSetShiftStarted","handleKeyUp","checkedSetShiftEnded","handleScroll","panel","reportBottomSent","scrollHeight","scrollTop","clientHeight","distanceFromBottom","getOpenItemButtonText","itemLabel","CLOSE_PANELS_BUTTON_TEXT","SEARCH_TEXT","LEFT_PANEL_TEXT","RIGHT_PANEL_TEXT","ITEM_INFO_BUTTON_TEXT","RELOAD_DATA_TEXT","expandButtonJsx","itemData","infoButtonJsx","showHiddenControls","popoverClass","itemAdditionalData","additionalData","positions","slot","html","subLabelJsx","checkBoxJsx","itemSelectedKey","isItemSelected","isItemLocked","readonly","manageChecked","checkbox","separatorJsx","generatePanelItemsJsx","openItemsPath","searchMode","panelItemsJsx","variablesJsx","searchOpenItemJsx","categoriesConfig","variablesConfig","variablesItemNames","variableCategory","panelConfig","moreDataAvailable","showTopReloadButton","showBottomReloadButton","unselectablePanelItems","shouldRenderVariables","_selectedItems$itemSe","_selectedItems$itemSe2","isItemOpened","isShiftSelected","checkBox","expandButton","infoButton","itemStyle","addLoaderToPanelItemsJsx","loadingIcon","goToStartLinkStart","unshift","goToStartLinkEnd","focusHandler","containerRef","matches","closePanelsHandler","newOpenItemsPath","initSelectedItems","lockedItems","stateSelectedItems","selectedItem","lockedItem","stateItems","stateItemsRoot","currentPanel","componentFocused","fixPanelScrollPosition","panelRef","dispatchPanelScrollEvent","isPanelHasScroll","panelObject","COMPONENT_RENDERED","newPanel","expandButtonClickHandler","itemPosition","slice","_focusElement","activeItemPathLength","activeItemIsExpanded","activeItemOnLeftPanel","activeItemOnRightPanel","activeItemId","replace","setFocusOnActiveElement","handlePanelDataChange","showSearchBorder","leftPanelActiveItem","getLeftActiveItem","focusItemId","isRightPanelItemFocused","isRightPanelEmpty","leftPanelItems","rightPanelItems","generatePanelsJsx","leftPanelItemsJsx","rightPanelItemsJsx","variablesTable","leftPanelItemsPath","breadcrumbsJsx","breadcrumbs","href","hideLabel","overflow","delimiter","generateBreadcrumbJsx","containerClass","container","leftPanelHasValue","panelLeftTopClass","searchClass","searchInputClass","breadcrumbsClass","placeholder","additionalProperties","AVAILABLE_ITEMS_TAB_ID","SELECTED_ITEMS_TAB_ID","DATA_RESET_TEXT","getAvailableItemsJsx","dataReady","availableTitle","maxItemsNumber","isLoading","getTitleJsx","title","textClass","COMPONENT_BOOTSTRAPPED","COMPONENT_DOM_READY","effectProxy","args","selectedLabel","itemIds","removedItems","updatedSelectedItems","itemsLabels","unselectedItem","showSelectedItemPath","lastIndexOf","updatedNewlySelectedItems","itemLabelsArr","selectedItemPath","availableRoot","selectedItemLabels","removedItemId","find","itemSelectedPayload","itemLabels","selectedItemsEventFormat","lastVariableId","isVariablesTable","pathItem","searchTerm","operator","newAvailableItems","animatedItems","eventName","metadata","hideResetWarning","newState","modifier","_payload$data3","_payload$data3$GlideV","_payload$data3$GlideV2","_payload$data4","_payload$data4$GlideV","_payload$data4$GlideV2","availableVariables","GlideVariables_Query","getVariableSearchResult","variables","allRecordsSearched","sort","_item$catalogItem","_item$variableSet","sysId","catalogItem","variableSet","transformVariablesFieldNameData","newVariables","newVariablesKeysArray","itemsToRemove","_meta$options","_meta$options$variabl","_payload$data2","_payload$data2$GlideC","meta","newRenderVariables","options","tableMetaData","GlideConditionBuilder_Query","dotwalkTableConfig","showQuestions","track","components","uiConf","SELECTED_ITEM_SCHEMA","required","SCHEMA","componentName","uibProperties","_components$name","_get","typeMetadata","getDefaultValue","_getDefaultValue","defaultValue","getFieldType","_getFieldType","fieldType","SELECTED_ITEM","EXPANDED_ITEM","getSchema","availableLabel","headersLevel","showCount","panelToCount","numberOfAvailableItems","numberOfSelectedItems","selectedTitle","availableTitleJsx","selectedTitleJsx","availableItemsJsx","selectedItemsJsx","getSelectedItemsJsx","tabsJsx","getTabsJsx","count","removeNewItemsRequest","_payload","availableContainerClass","selectedContainerClass","resetWarningJsx","status","getResetWarningJsx","window","__TECTONIC__$devsnc_sn_list_selector"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/styles.scss","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/styles.scss","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/styles.scss","webpack:///./src/sn-available-bucket/styles.scss?b1f9","webpack:///./src/sn-list-selector/styles.scss?25f7","webpack:///./src/sn-selected-bucket/styles.scss?5f14","webpack:///@babel/runtime/7.26.9/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/shared/constants.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/constants.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/selectedItemsHandler.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/tableDefinitionHandlers/query.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/tableDefinitionHandlers/componentBootstrappedHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/tableDefinitionHandlers/fetchDataHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/availableItemsHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/resizeHandler.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/setInitialStateHandler.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tabs/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/shared/keyboardEvents.js","webpack:///@devsnc/sn-list-selector/src/shared/browser.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/onClickHandler.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/dragAndDropHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/focusHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/keyboardEventHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/tooltipOpenedSetHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/view.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/setInitialStateHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/actionHandlers.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/handlers/componentPropertyChangedHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-selected-bucket/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-checkbox/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-breadcrumbs/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-rich-text/index.jsdbx\"","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/utils.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/constants.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/searchHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/checkedSetHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/keyboardEventHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/scrollHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/view.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/breadcrumbsClickHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/setInitialStateHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/componentRenderedHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/actionHandlers.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/buttonIconicClickHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/handlers/propertyChangedHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-available-bucket/index.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/view.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/actionHandlers.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/propertyChangedHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/selectedTabHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/searchHandler.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/handlers/alertHandler.js","webpack:///@devsnc/sn-list-selector/src/shared/schema.js","webpack:///@devsnc/sn-list-selector/src/sn-list-selector/index.js","webpack:///@devsnc/sn-list-selector/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.tab{-moz-tab-size:8;tab-size:8}.variables-item{font-size:1rem;line-height:32px;padding:0 .5rem 0}.variables-separator{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));font-size:.75rem;line-height:24px;margin:0;padding:0 .5rem 0}.container{background-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));display:grid;gap:1px;grid-template-columns:50% 50%;grid-template-rows:36px auto;height:100%;overflow:hidden;width:100%}.container--hide-border{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.container--single{grid-template-columns:100% auto}.panel-left-top{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.panel-left-top--border{border:var(--now-container--border-width,1px) solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;margin-bottom:calc(var(--now-scale-space--sm, 1)*.5rem);overflow:hidden}.panel-left-top--narrow div:last-child{margin-inline-start:auto;margin-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0}.reload-variables-link-end,.reload-variables-link-start{display:flex;justify-content:center}.search{align-items:center;display:flex;width:100%}.search--narrow:not(:hover):not(:focus-within){width:auto}.search:focus-within,.search:hover{width:100%}.search:focus-within input,.search:hover input{margin:calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}.search:focus-within~.breadcrumbs,.search:hover~.breadcrumbs{height:0;margin-inline-start:auto;overflow:hidden;width:0}.search-input{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));height:100%;margin:calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}.search-input--narrow{margin:0;width:0}.breadcrumbs{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex-direction:row;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}.breadcrumbs :not(:last-child){margin-inline-end:calc(var(--now-scale-space--md, 1)*.75rem)}.breadcrumbs-comp{width:100%}.breadcrumbs--hidden{margin:0;width:0}.panel-left,.panel-right,.panel-spinner{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex-direction:column;height:100%;overflow:auto;width:100%}.panel-spinner{align-items:center;justify-content:center}.panel-row{width:100%}.panel-row--open,.panel-row:hover{background-color:RGBA(var(--now-color--primary-1,30,133,109),.1)}.panel-row--open{border:solid 1px RGB(var(--now-color--primary-1,30,133,109))}.panel-row--shift{background-color:RGBA(var(--now-color--primary-1,30,133,109),.1)}.panel-item{align-items:center;border:none;display:flex;flex-direction:row;gap:calc(var(--now-scale-space--sm, 1)*.5rem);height:max-content;margin:0;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-user-select:none;user-select:none;width:100%}.panel-item:focus-within now-popover,.panel-item:hover now-popover{height:auto;width:auto}.panel-item-popover{height:0;overflow:hidden;width:0}.panel-item-popover--visible{height:auto;width:auto}.panel-item-checkbox{align-items:center;display:flex;min-height:32px}.panel-item-sublabel-div{margin-inline-start:2rem}.panel-item-sublabel{font-size:.75rem;min-height:32px}.panel-item-expand{margin-inline-start:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.main{align-items:flex-start;display:flex;flex-direction:column;height:100%;min-height:20.3125rem;min-width:14.375rem;overflow:hidden}.content,.main,.reset-warning{width:100%}.content{display:flex;flex-direction:row;gap:.5rem;height:100%;overflow:hidden}.content .tabs-panel{padding:2px}.content .available-container{display:flex;flex:0 1 auto;flex-direction:column;min-width:14.6875rem;width:66%}.content .available-container--width-50{width:50%}.content .available-container--width-100{width:100%}.content .available-container .available-header{display:flex;flex-direction:row;flex-shrink:0;gap:.25rem;height:1.5rem;padding-bottom:.5rem;padding-left:2px;padding-right:2px}.content .available-container .available-header .available-header-text{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;font-weight:400;margin-top:0}.content .available-container .available{border:var(--now-container--border-width,1px) solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;flex-grow:1;margin:2px;overflow:hidden}.content .available-container .single-panel{flex-grow:1;margin:2px;margin-top:.5rem;overflow:hidden}.content .available-container .selected{flex-grow:1;height:100%;overflow:hidden}.content .selected-container{display:flex;flex:1;flex-direction:column;min-width:14.6875rem;overflow:hidden;width:33%}.content .selected-container--width-50{width:50%}.content .selected-container .selected-header{display:flex;flex-direction:row;flex-shrink:0;gap:.25rem;height:1.5rem;padding-bottom:.5rem;padding-left:2px;padding-right:2px}.content .selected-container .selected-header .selected-header-text{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;font-weight:400;margin:0}.content .selected-container .selected{flex-grow:1;margin:2px;overflow:hidden;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.content .no-selected-container,.content .selected-container .selected{border:var(--now-container--border-width,1px) solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;height:100%}.content .no-selected-container{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex-direction:column;justify-content:center}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-dragdrop-image{background-color:transparent;cursor:none;pointer-events:none;position:absolute}.now-dragdrop-badge{align-items:center;background-color:RGB(var(--now-dragdrop_badge--background-color,var(--now-color_alert--info-2,14,120,196)));block-size:1.5rem;border-color:RGB(var(--now-dragdrop_badge--border-color,var(--now-color--neutral-0,255,255,255)));border-radius:50%;border-style:solid;border-width:1px;color:RGB(var(--now-dragdrop_badge--color,var(--now-color--neutral-0,255,255,255)));display:flex;font-family:var(--now-dragdrop_badge--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;inline-size:1.5rem;justify-content:center;line-height:1.3333;overflow:hidden;position:absolute}.now-dragdrop-badge,.now-dragdrop-ghost{box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));pointer-events:none}.now-dragdrop-ghost{background-color:RGB(var(--now-dragdrop_ghost--background-color,var(--now-color--neutral-0,255,255,255)),.3);opacity:.5}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.reorderable-list-container{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));height:100%;padding:3px;width:100%}.reorderable-list{height:100%;margin:0;overflow:auto;overscroll-behavior:auto;padding:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;-webkit-user-select:none;user-select:none}.reorderable-list .reorderable-list-item{list-style-type:none;position:relative;width:100%}.reorderable-list .reorderable-list-item .item-container{align-items:center;border:var(--now-container--border-width,1px) solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem);overflow:hidden;padding:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.reorderable-list .reorderable-list-item .item-container--draggable{cursor:grab}.reorderable-list .reorderable-list-item .item-container--focused,.reorderable-list .reorderable-list-item .item-container:focus,.reorderable-list .reorderable-list-item .item-container:hover{background-color:RGBA(var(--now-color--primary-1,30,133,109),.1)}.reorderable-list .reorderable-list-item .item-container .item-label-container{align-items:center;display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem);overflow:hidden;width:100%}.reorderable-list .reorderable-list-item .item-container .item-label-container--draggable{cursor:grab}.reorderable-list .reorderable-list-item .item-container .label{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;line-height:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.reorderable-list .reorderable-list-item .item-container--selected{background-color:RGBA(var(--now-color--primary-1,30,133,109),.1);border:solid 1px RGB(var(--now-color--primary-1,30,133,109))}.reorderable-list .reorderable-list-item .item-container--new{animation:new-item 3s}.reorderable-list .reorderable-list-item.dragging .item-container{background-color:RGBA(var(--now-color--primary-1,30,133,109),.1);box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));cursor:grabbing;opacity:var(--now-opacity--less,.25)}.reorderable-list .reorderable-list-item+.reorderable-list-item{margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.reorderable-list .indicator-after:after,.reorderable-list .indicator-before:before{border-block-end:calc(var(--now-container--border-width, 1px)*2) solid RGB(var(--now-color_selection--primary-2,30,133,109));content:\\\"\\\";display:block;position:absolute;width:100%}.reorderable-list .indicator-before:before{inset-block-start:calc(0px - var(--now-scale-space--sm, 1)*.5rem/2 - var(--now-container--border-width, 1px))}.reorderable-list .indicator-after:after{inset-block-end:calc(0px - var(--now-scale-space--sm, 1)*.5rem/2 - var(--now-container--border-width, 1px))}.reorderable-list .dragging.indicator-after:after,.reorderable-list .dragging.indicator-before:before{opacity:var(--now-opacity--less,.25)}.no-selected-container{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex-direction:column;height:100%;justify-content:center}@keyframes new-item{0%{background-color:RGB(var(--now-color_selection--primary-0,221,237,233));border:solid 1px RGB(var(--now-color_selection--primary-2,30,133,109));border-radius:.25rem}80%{background-color:RGB(var(--now-color_selection--primary-0,221,237,233));border:solid 1px RGB(var(--now-color_selection--primary-2,30,133,109));border-radius:.25rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","\nexport const SELECTED_ITEMS_ID_SEPARATOR = '<=>';\n\n// constants\nexport const SEARCH = {INITIAL: 'initial', CONTAINS: 'contains'};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {t} from 'sn-translate';\n\n\n////////////// CONSTANTS //////////////\nexport const AVAILABLE_DATA_POPULATE_MODE = {MANUAL: 'manual', TABLE_DESCRIPTION: 'tableDescription'};\nexport const VIEW_TYPES = {compact: 1, twoPanels: 2, dotWalk: 3};\n\nexport const RESULTS_PATH =\n\t'data.GlideLayout_Query.fieldNameListDataRetriever.fieldGlideList';\n\nexport const NEW_SELECTED_ITEMS_TIMEOUT = 3000;\n\n\nexport const VARIABLES_TABLE_NAME = 'item_option_new';\nexport const VARIABLES_FIELD_VARIABLES = 'variables';\nexport const VARIABLES_FIELD_QUESTIONS = 'questions';\nexport const VARIABLES_MAX_ITEMS_DISPLAYED = 1000;\n\n////////////// MESSAGES //////////////\nexport const AVAILABLE_CONTENT = t({code: 'sn-list-selector', message: 'No fields found'});\nexport const NO_AVAILABLE_LABEL = t({code: 'sn-list-selector', message: 'No fields to select from'});\n\nexport const FETCH_FIELD_ERROR = t({code: 'sn-list-selector', message: 'Unable to fetch Field. Please try again'});\n\nexport const SELECTED_COLUMNS_DEFAULT_TEXT = t({code: 'sn-list-selector', message: 'Selected columns'});\nexport const AVAILABLE_COLUMNS_DEFAULT_TEXT = t({code: 'sn-list-selector', message: 'Available columns'});\n\n////////////// EVENTS //////////////\n\n// Component\nexport const ITEM_SELECTED = 'SN_LIST_SELECTOR#ITEM_SELECTED';\nexport const SELECTED_ITEM_SET = 'SN_LIST_SELECTOR#SELECTED_ITEM_SET';\nexport const ITEM_EXPAND_REQUESTED = 'SN_LIST_SELECTOR#ITEM_EXPAND_REQUESTED';\nexport const SCROLLED_TO_BOTTOM = 'SN_LIST_SELECTOR#SCROLLED_TO_BOTTOM';\nexport const SEARCH_TERM_SET = 'SN_LIST_SELECTOR#SEARCH_TERM_SET';\nexport const REMOVE_NEW_SELECTED_ITEMS_REQUESTED = 'SN_LIST_SELECTOR#REMOVE_NEW_SELECTED_ITEMS_REQUESTED';\n\n//GraphQL\nexport const FETCH_DATA = 'FIELD_SELECT_FETCH_DATA';\nexport const FETCH_DATA_NEW = 'FIELD_SELECT_FETCH_DATA_NEW';\nexport const FETCH_DATA_SUCCESS = 'FIELD_SELECT_FETCH_DATA_SUCCESS';\nexport const FETCH_DATA_SUCCESS_NEW = 'FIELD_SELECT_FETCH_DATA_SUCCESS_NEW';\nexport const FETCH_DATA_FAILURE = 'FIELD_SELECT_FETCH_DATA_FAILURE';\nexport const FETCH_VARIABLES_DATA = 'FIELD_SELECT_VARIABLES_FETCH_DATA';\nexport const FETCH_VARIABLES_DATA_SUCCESS = 'FIELD_SELECT_VARIABLES_FETCH_DATA_SUCCESS';\nexport const FETCH_VARIABLES_DATA_FAILURE = 'FIELD_SELECT_VARIABLES_FETCH_DATA_FAILURE';\n\n////////////// METRICS //////////////\nexport const METRIC_ACTIONS = {\n\tMETRIC_TRACKED: 'SN_LIST_SELECTOR#METRIC_TRACKED',\n\tSN_LIST_SELECTOR_INTIAL_LOAD: 'Initial List Selector View'\n};\n\nexport const DOT_WALK_TABLE_CONFIG_FETCH_FAILED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_FAILED';\nexport const DOT_WALK_TABLE_CONFIG_FETCH_STARTED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_STARTED';\nexport const DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED';\n","import {SELECTED_ITEMS_ID_SEPARATOR} from '../../shared/constants';\nimport {\n\tAVAILABLE_DATA_POPULATE_MODE,\n\tSELECTED_ITEM_SET,\n\tITEM_SELECTED\n} from '../constants';\nimport {t} from 'sn-translate';\n\n/**\n * Generate an item object to be added to selected items list\n * selected element format is an object with id and label and tooltip\n * label format is: ... > zzz\n * tooltip format is: xxx > yyy > zzz\n * id format is: xxx.yyy.zzz\n *\n * @param {array} ids - a list of ids which are the ids of all the items in the selected item path\n * @param {array} labels - a list of labels of all the items in the selected item path\n * @returns {{tooltipText, id, label: (string|*)}}\n */\nconst generateSelectedItemObject = (ids, labels, locked) => ({\n\tid: ids.join(SELECTED_ITEMS_ID_SEPARATOR),\n\tlabel: labels,\n\tlocked\n});\n\n/**\n * convert selected items to availalbe bucket format of selected items\n * @param {array} selectedItems\n * @returns {{availableItemsLocked: *[], availableItemsSelected: *[]}}\n */\nconst generateAvailableItemsSelectedObject = selectedItems => {\n\t// convert selected items to available items selected separator\n\tconst availableItemsSelected = [];\n\tconst availableItemsLocked = [];\n\tselectedItems.forEach(item => {\n\t\tconst path = item.id.split(SELECTED_ITEMS_ID_SEPARATOR);\n\t\tavailableItemsSelected.push(path);\n\t\tif (item.locked)\n\t\t\tavailableItemsLocked.push(path);\n\t});\n\treturn {availableItemsSelected, availableItemsLocked};\n};\n\n/**\n * Convert input selectedItems to selectedBucket input format and availableItemsSelected format\n * input format <array<array<{id, label}>>>\n *     [[{id: 'item1', label: 'Item 1'}, {id: 'item2', label: 'Item 2'}], [{id: 'item3', label: 'Item 3'}]]\n * output format: <array<{id, label}>>\n *     [{id: 'item1<=>item2', label: 'Item 1 > Item 2'},{id: 'item3', label: 'Item 3'}]\n * @param {array} selectedItems\n * @returns {array}\n */\nexport const convertSelectedItemsToStateFormat = selectedItems => {\n\tif (!selectedItems) {\n\t\treturn {\n\t\t\tselectedItems: [],\n\t\t\tavailableItemsSelected: [],\n\t\t\tavailableItemsLocked: []\n\t\t};\n\t}\n\n\tconst items = [];\n\n\tselectedItems.forEach(itemsPath => {\n\t\tconst ids = [];\n\t\tconst labels = [];\n\t\t// is locked is only on the item (not its path) there for only on the last item\n\t\tconst locked = itemsPath[itemsPath.length - 1]?.locked;\n\t\titemsPath.forEach(item => {\n\t\t\tids.push(item.id);\n\t\t\tlabels.push(item.label);\n\t\t});\n\t\t// selected bucket element format is a list of objects with id and label\n\t\t// label format is: ... > zzz\n\t\t// tooltip format is: xxx > yyy > zzz\n\t\t// id format is: xxx.yyy.zzz\n\t\tconst item = generateSelectedItemObject(ids, labels, locked);\n\t\titems.push(item);\n\t});\n\n\t// convert selected items to available items selected separator\n\tconst {availableItemsSelected, availableItemsLocked} = generateAvailableItemsSelectedObject(items);\n\n\treturn {\n\t\tselectedItems: items,\n\t\tavailableItemsSelected,\n\t\tavailableItemsLocked\n\t};\n};\n\n/**\n * convert one selected item to SN_LIST_SELECTOR#SELECTED_ITEM_SET event payload item format\n * item payload format <array<{id, label}>:\n * \t\t[{id: 'item1', label: 'Item 1'}, {id: 'item2', label: 'Item 2'}]\n * state item format: <{id, label}>\n *     {id: 'item1<=>item2', label: 'Item 1 > Item 2'}\n * @param {object} item\n * @returns {*[]}\n */\nconst convertSingleSelectedItemToEventFormat = item => {\n\tconst itemPath = [];\n\tconst idsArr = item.id.split(SELECTED_ITEMS_ID_SEPARATOR);\n\tconst labelArr = item.label;\n\n\tidsArr.forEach((id, index) => itemPath.push({id, label: labelArr[index]}));\n\n\treturn itemPath;\n};\n\n/**\n * Convert state selectedItems format to SN_LIST_SELECTOR#SELECTED_ITEM_SET event payload format\n * payload format <array<array<{id, label}>>>\n *     [[{id: 'item1', label: 'Item 1'}, {id: 'item2', label: 'Item 2'}], [{id: 'item3', label: 'Item 3'}]]\n * state format: <array<{id, label}>>\n *     [{id: 'item1<=>item2', label: 'Item 1 > Item 2'},{id: 'item3', label: 'Item 3'}]\n * @param {object} selectedItems\n * @returns {*[]}\n */\nconst convertSelectedItemsToEventFormat = selectedItems => {\n\tconst convertedSelectedItems = [];\n\tselectedItems.forEach(item => {\n\t\tconst itemPath = convertSingleSelectedItemToEventFormat(item);\n\t\tconvertedSelectedItems.push(itemPath);\n\t});\n\n\treturn convertedSelectedItems;\n};\n\n/**\n * handle SN_SELECTED_BUCKET#ITEMS_REORDERED event\n * it removes items that already displayed as new from new items list\n * @param {object} coeffects\n */\nexport const newItemsAnimationEndedHandler = coeffects => {\n\tconst {action, updateState, state: {newlySelectedItems}} = coeffects;\n\tconst animatedItems = action.payload;\n\tif (newlySelectedItems.length === 0)\n\t\treturn;\n\n\t// filter out items that its animation completed from new items list\n\tconst updatedNewlySelectedItems = newlySelectedItems.filter(item => !animatedItems.includes(item));\n\tupdateState({newlySelectedItems: updatedNewlySelectedItems});\n};\n\n/**\n * handle SN_AVAILABLE_ITEMS#CHECKED_SET event\n * Add or remove item to selected item bucket according to its checked value\n * @param {object} coeffects\n */\nexport const availableItemCheckSetHandler = coeffects => {\n\tconst {\n\t\tstate,\n\t\tdispatch,\n\t\tupdateState,\n\t\taction: {payload: items},\n\t\tproperties: {selectedLabel}\n\t} = coeffects;\n\n\tconst {\n\t\tavailableItems,\n\t\tavailableItemsRoot,\n\t\tselectedItems,\n\t\tnewlySelectedItems\n\t} = state;\n\n\t// if no items were checked or unchecked, do nothing\n\tif (items.length === 0)\n\t\treturn;\n\n\tconst updatedNewlySelectedItems = newlySelectedItems || [];\n\tlet updatedSelectedItems = selectedItems;\n\tconst itemLabelsArr = [];\n\n\titems.forEach(itemData => {\n\t\tconst selectedItemPath = itemData.item;\n\t\tconst isSelected = itemData.checked;\n\t\tlet selectedItem;\n\n\t\tif (isSelected) { // add selected item\n\t\t\t// the selected item path is just a list of ids, we need to get the values from items list\n\t\t\tlet availableRoot = availableItemsRoot;\n\t\t\tconst selectedItemLabels = selectedItemPath.map(id => {\n\t\t\t\tconst items = availableItems[availableRoot];\n\t\t\t\tconst item = items[id];\n\t\t\t\tavailableRoot = item.reference;\n\t\t\t\treturn item.label;\n\t\t\t});\n\t\t\tselectedItem = generateSelectedItemObject(selectedItemPath, selectedItemLabels);\n\t\t\tupdatedSelectedItems.push(selectedItem);\n\t\t\tupdatedNewlySelectedItems.push(selectedItem.id);\n\t\t} else { // remove selected item\n\t\t\tconst removedItemId = selectedItemPath.join(SELECTED_ITEMS_ID_SEPARATOR);\n\t\t\t// find element in selected items list - all item path should be exactly the same\n\t\t\tselectedItem = selectedItems.find(item => item.id === removedItemId); // find the items deleted\n\t\t\tupdatedSelectedItems = updatedSelectedItems.filter(item => item.id !== removedItemId); // create a new list without the item\n\t\t}\n\n\t\tconst itemSelectedPayload = {\n\t\t\titem: convertSingleSelectedItemToEventFormat(selectedItem),\n\t\t\tselected: isSelected\n\t\t};\n\n\t\t// send a message to screen reader so user with disabilities will know the item was selected\n\t\tconst itemLabel = selectedItem.label ? selectedItem.label[selectedItem.label.length - 1] : t({code: 'sn-list-selector', message: 'item'});\n\t\tif (itemLabel)\n\t\t\titemLabelsArr.push(itemLabel);\n\n\t\t// send the effected item by event\n\t\tdispatch(ITEM_SELECTED, itemSelectedPayload);\n\t});\n\n\t// send a message to screen reader so user with disabilities will know the item was selected\n\tconst itemLabels = itemLabelsArr.length > 0 ? itemLabelsArr.join(',') : t({code: 'sn-list-selector', message: 'item'});\n\tconst message = items[0].checked ? // all items are check or uncheck, no mix state\n\t\tt({code: 'sn-list-selector', message: '{itemLabels} added to {selectedLabel}'}, {itemLabels, selectedLabel}) :\n\t\tt({code: 'sn-list-selector', message: '{itemLabels} removed from {selectedLabel}'}, {itemLabels, selectedLabel});\n\n\t// removedItems.map(item => item.label && item.label[item.label.length - 1]).join(',');\n\tconst selectedItemsEventFormat = convertSelectedItemsToEventFormat(updatedSelectedItems);\n\t// since selected bucket changed we send its new value by event\n\tdispatch(SELECTED_ITEM_SET, selectedItemsEventFormat);\n\n\t// generate SELECTED_ITEM_SET event payload format\n\tconst {availableItemsSelected} = generateAvailableItemsSelectedObject(updatedSelectedItems);\n\n\tupdateState({\n\t\tselectedItems: [...updatedSelectedItems],\n\t\tavailableItemsSelected,\n\t\tnewlySelectedItems: updatedNewlySelectedItems,\n\t\tliveUpdateText: message\n\t});\n};\n\n/**\n * handle NOW_BUTTON_ICONIC#CLICKED event\n * remove item from selected items and uncheck it in available items\n * @param {object} coeffects\n */\nexport const selectedItemRemoveFieldHandler = coeffects => {\n\tconst {\n\t\tstate,\n\t\taction,\n\t\tdispatch,\n\t\tupdateState,\n\t\tproperties: {selectedLabel}\n\t} = coeffects;\n\tconst {selectedItems} = state;\n\tconst itemIds = action.payload;\n\tconst newlySelectedItems = [];\n\n\tif (!itemIds || itemIds.length === 0)\n\t\treturn;\n\n\t// get the list of removed items (for the event)\n\tconst removedItems = selectedItems.filter(item => itemIds.includes(item.id));\n\t// remove the removed items from selectedItems\n\tconst updatedSelectedItems = selectedItems.filter(item => !itemIds.includes(item.id));\n\tconst {availableItemsSelected} = generateAvailableItemsSelectedObject(updatedSelectedItems);\n\n\t// send a message to screen reader so user with disabilities will know the item was selected\n\n\tconst itemsLabels = removedItems.map(item => item.label && item.label[item.label.length - 1]).join(',');\n\tconst message = t({code: 'sn-list-selector', message: '{itemsLabels} removed from {selectedLabel}'}, {itemsLabels, selectedLabel});\n\tupdateState({selectedItems: updatedSelectedItems, availableItemsSelected, liveUpdateText: message, newlySelectedItems});\n\n\tconst payload = convertSelectedItemsToEventFormat(updatedSelectedItems);\n\n\t// since selected bucket changed we send its new value by event\n\tdispatch(SELECTED_ITEM_SET, payload);\n\n\tconvertSelectedItemsToEventFormat(removedItems).forEach(unselectedItem => {\n\t\tconst itemSelectedPayload = {\n\t\t\titem: unselectedItem,\n\t\t\tselected: false\n\t\t};\n\n\t\t// send the deleted item by event\n\t\tdispatch(ITEM_SELECTED, itemSelectedPayload);\n\t});\n};\n\nexport const selectedItemFieldSelectedHandler = coeffects => {\n\tconst {action: {payload}, updateState, properties} = coeffects;\n\tconst {showSelectedItemPath, mode} = properties;\n\tconst {itemId} = payload;\n\n\tif (!showSelectedItemPath || !itemId || mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION)\n\t\treturn; // feature not activated or item deselected - nothing to do\n\n\t// the item id is the item path seperated by dot (.) so all we need is to split it to get the path\n\tconst availableItemsPath = itemId.lastIndexOf(SELECTED_ITEMS_ID_SEPARATOR) === -1 ?\n\t\t[] :\n\t\titemId.split(SELECTED_ITEMS_ID_SEPARATOR);\n\n\tupdateState({availableItemsPath});\n};\n\n/**\n * handle SN_SELECTED_BUCKET#ITEMS_REORDERED event\n * dispatch event with the new ordered selected items\n * @param {object} coeffects\n */\nexport const updateDragAndDropItemsHandler = coeffects => {\n\tconst {action, updateState, dispatch} = coeffects;\n\tconst {value} = action.payload;\n\tupdateState({selectedItems: value});\n\tconst payload = convertSelectedItemsToEventFormat(value);\n\tdispatch(SELECTED_ITEM_SET, payload);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","export const query = `query ($tableName: String!, $referenceFieldTableName: String!) {\n\tGlideLayout_Query {\n\t  fieldNameListDataRetriever(tableName: $tableName, referenceFieldTableName: $referenceFieldTableName) {\n\t\tfieldGlideList {\n\t\t  tableName\n\t\t  tableDisplayColumnValue\n\t\t  tableDisplayColumnLabel\n\t\t  fieldNameData {\n\t\t\tvalue\n\t\t\tdisplayValue: label\n\t\t\tisFieldReferenceType\n\t\t\treferenceDataKey\n\t\t  }\n\t\t}\n\t  }\n\t}\n  }\n\t`;\n\nexport const query_new = `query ($tableName: String!, $referenceFieldTableName: String!, $allowExtendedFields: Boolean) {\n\tGlideLayout_Query {\n\t  fieldNameListDataRetriever(tableName: $tableName, referenceFieldTableName: $referenceFieldTableName, allowExtendedFields: $allowExtendedFields) {\n\t\tfieldGlideList {\n\t\t  tableName\n\t\t  tableDisplayColumnValue\n\t\t  tableDisplayColumnLabel\n\t\t  fieldNameData {\n\t\t\tvalue\n\t\t\tdisplayValue: label\n\t\t\tisFieldReferenceType\n\t\t\treferenceDataKey\n\t\t  }\n\t\t}\n\t  }\n\t}\n  }\n\t`;\n\nexport const QUERY_VARIABLE_LIST = [\n\t'parentTableName',\n\t'fieldName',\n\t'recordSysId',\n\t'serializedChanges',\n\t'encodedRecord',\n\t'tableName',\n\t'referenceFieldTableName',\n\t'allowExtendedFields'\n];\n\nexport const variableQuery = `\n    query ($searchTerm: String, $lastVariableId: String, $operator: String) {\n        GlideVariables_Query {\n            getVariableSearchResult(\n                searchTerm: $searchTerm\n                operator: $operator\n                lastVariableId: $lastVariableId\n            ) {\n                allRecordsSearched\n\t\t\t\tlastVariableId\n\t\t\t\tvariables {\n\t\t\t\t\tsysId\n\t\t\t\t\tdisplayValue\n\t\t\t\t\treferenceTable\n\t\t\t\t\treferenceTableDefaultField\n\t\t\t\t\ttype\n\t\t\t\t\tcatalogItem {\n\t\t\t\t\t\tsysId\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t\tvariableSet {\n\t\t\t\t\t\tsysId\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t}\n            }\n        }\n    }\n`;\nexport const dotwalkTableDataQuery = `query ($tableName: String!) {\n        GlideConditionBuilder_Query {\n            dotwalkTableConfig(tableName: $tableName) {\n\t\t\t\tshowVariables\n\t\t\t\tshowQuestions\n\t\t\t\tshowExtendedFields\n\t\t\t}\n        }\n    }\n`;\n","import {\n\tFETCH_DATA,\n\tFETCH_DATA_NEW,\n\tAVAILABLE_DATA_POPULATE_MODE,\n\tMETRIC_ACTIONS\n} from '../constants';\n\nexport const initializeFetchData = (tableName, showExtendedFields, dispatch) => {\n\tconst payload = {\n\t\treferenceFieldTableName: tableName, //fields are fetched from this table\n\t\ttableName: '', //used internally by form controls\n\t\tallowExtendedFields: showExtendedFields // tells the GraphQL to fetch extended fields\n\t};\n\tconst fetchEvent = showExtendedFields ? FETCH_DATA_NEW : FETCH_DATA;\n\tdispatch(fetchEvent, payload);\n};\n\nexport const componentBootstrappedEffect = coeffects => {\n\tconst {state, dispatch, properties} = coeffects;\n\tconst {tableName, mode, showExtendedFields} = state.properties;\n\n\tdispatch(METRIC_ACTIONS.METRIC_TRACKED, {eventName: METRIC_ACTIONS.SN_LIST_SELECTOR_INTIAL_LOAD, metadata: properties});\n\tif (mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION && tableName)\n\t\tinitializeFetchData(tableName, showExtendedFields, dispatch);\n};\n\n\n\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {dotwalkTableDataQuery, query, query_new, QUERY_VARIABLE_LIST, variableQuery} from './query';\nimport {\n\tDOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_STARTED,\n\tFETCH_DATA_FAILURE,\n\tFETCH_DATA_SUCCESS,\n\tFETCH_DATA_SUCCESS_NEW,\n\tFETCH_FIELD_ERROR,\n\tFETCH_VARIABLES_DATA_FAILURE,\n\tFETCH_VARIABLES_DATA_SUCCESS,\n\tSELECTED_ITEM_SET,\n\tVARIABLES_TABLE_NAME,\n\tVARIABLES_FIELD_QUESTIONS,\n\tVARIABLES_FIELD_VARIABLES,\n\tVARIABLES_MAX_ITEMS_DISPLAYED\n} from '../constants';\nimport {initializeFetchData} from './componentBootstrappedHandler';\n\nexport const variableSearchOperatorTypes = {\n\tENDSWITH: 'ENDSWITH',\n\tLIKE: 'LIKE',\n\tSTARTSWITH: 'STARTSWITH',\n};\n\nconst filterFieldResults = results => results.filter(item => item.value !== 'sys_id');\n\nconst dispatchErrorMessage = (value, errorMessage, dispatch) => {\n\tconst payload = {\n\t\titems: value,\n\t\terror: {\n\t\t\ttype: 'error',\n\t\t\tmessage: errorMessage\n\t\t}\n\t};\n\tdispatch(SELECTED_ITEM_SET, payload);\n};\n\n/**\n * Transform field data into the structure needed for dot walk\n * @param {[{value: string, displayValue: string, isFieldReferenceType: boolean, referenceDataKey: string}]} fieldNameData\n * * @param allowDotWalking true\n * @return {object} - {{[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} Transformed fieldNameData\n */\nconst transformFieldNameData = (\n\tfieldNameData,\n\tallowDotWalking\n) => {\n\tconst tableItems = {};\n\tfieldNameData.forEach(item => {\n\t\ttableItems[item.value] = {\n\t\t\tlabel: item.displayValue,\n\t\t\treference: allowDotWalking && (item.isFieldReferenceType || item?.referenceDataKey) ? item.referenceDataKey : null\n\t\t};\n\t});\n\treturn tableItems;\n};\n\n\nfunction compareByDisplayValue(a, b) {\n\tif (a?.displayValue.toLocaleLowerCase() < b?.displayValue.toLocaleLowerCase())\n\t\treturn -1;\n\tif (a?.displayValue.toLocaleLowerCase() > b?.displayValue.toLocaleLowerCase())\n\t\treturn 1;\n\treturn 0;\n}\n\n/**\n * Transform field data into the structure needed for dot walk\n * @param {[{value: string, displayValue: string, referenceTable: string}]} fieldNameData\n * @param {boolean} allowDotWalking\n * @return {object} - {{[field: string]: {displayValue: string, isReference: boolean, referenceTable: string}}} Transformed fieldNameData\n */\nconst transformVariablesFieldNameData = fieldNameData => {\n\tconst tableItems = {};\n\tfieldNameData.sort(compareByDisplayValue);\n\tlet lastVariableId = '';\n\n\tfieldNameData.forEach(item => {\n\t\tlastVariableId = item?.sysId;\n\t\tif (item.displayValue) {\n\t\t\ttableItems[item?.sysId] = {\n\t\t\t\tlabel: item.displayValue,\n\t\t\t\tsubLabel: item?.catalogItem?.name || item?.variableSet?.name\n\t\t\t};\n\t\t}\n\t});\n\treturn {tableItems, lastVariableId};\n};\n\n// support new query to fetch table data for backwards compatability\nexport const fetchEffect = createGraphQLEffect(query, {\n\tvariableList: QUERY_VARIABLE_LIST,\n\tsuccessActionType: FETCH_DATA_SUCCESS,\n\terrorActionType: FETCH_DATA_FAILURE\n});\n// support new query to fetch table data including extended fields\nexport const fetchEffectNew = createGraphQLEffect(query_new, {\n\tvariableList: QUERY_VARIABLE_LIST,\n\tsuccessActionType: FETCH_DATA_SUCCESS_NEW,\n\terrorActionType: FETCH_DATA_FAILURE\n});\nexport const fetchVariablesEffect = createGraphQLEffect(variableQuery, {\n\tvariableList: ['searchTerm', 'lastVariableId', 'operator'],\n\tsuccessActionType: FETCH_VARIABLES_DATA_SUCCESS,\n\terrorActionType: FETCH_VARIABLES_DATA_FAILURE\n});\n\nexport const fetchTableMetadata = createGraphQLEffect(dotwalkTableDataQuery, {\n\tvariableList: ['tableName'],\n\tsuccessActionType: DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n\terrorActionType: DOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n});\n\nexport const fetchSuccessEffect = coeffects => {\n\tconst {properties, state, updateState, updateProperties, dispatch, action: {payload, type}} = coeffects;\n\tconst {allowDotWalking = false, includeSysId, showVariables} = properties;\n\tconst {availableItems} = state;\n\tconst newItems = availableItems || {};\n\n\tif (!payload.data && type === FETCH_DATA_SUCCESS_NEW) {\n\t\t// in case we are calling new query but the server does not support it we will get empty data\n\t\t// in such case switch to old query\n\t\tupdateProperties({showExtendedFields: false}); // update property showExtendedFields to false so from now on we will use old fetch\n\t\tinitializeFetchData(properties.tableName, false, dispatch); // reinitialize with old fetch\n\t\treturn;\n\t}\n\tconst results = payload.data?.GlideLayout_Query?.fieldNameListDataRetriever?.fieldGlideList;\n\tif (!results && results[0])\n\t\treturn;\n\n\tconst {tableName} = results[0];\n\tconst fieldsData = includeSysId ? results[0].fieldNameData : filterFieldResults(results[0].fieldNameData);\n\n\t// convert result to availableItems format\n\tnewItems[tableName] = transformFieldNameData(fieldsData, allowDotWalking);\n\n\t// Questions and Variables both has to show the variable list Only\n\t//The path for Questions and Variables is same only the label is different\n\tif (showVariables && newItems[tableName][VARIABLES_FIELD_QUESTIONS]) {\n\t\tnewItems[tableName][VARIABLES_FIELD_VARIABLES] = newItems[tableName][VARIABLES_FIELD_QUESTIONS];\n\t\tdelete newItems[tableName][VARIABLES_FIELD_QUESTIONS];\n\t}\n\n\tupdateState({availableItems: {...newItems}});\n\n\t// Initiate Fetch variables data only based on \"showVariables\" property\n\tif (showVariables)\n\t\tdispatch(DOT_WALK_TABLE_CONFIG_FETCH_STARTED, {tableName});\n};\n\nexport const fetchVariableMetaDataSuccessEffect = coeffects => {\n\tconst {updateState, action: {payload, meta}, state: {renderVariables}} = coeffects;\n\tconst newRenderVariables = {...renderVariables};\n\t// get the table on which variables where requested\n\tconst tableName = meta?.options?.variables?.tableName;\n\tconst tableMetaData = payload?.data?.GlideConditionBuilder_Query?.dotwalkTableConfig;\n\t// check if variables are allowed on this table\n\tnewRenderVariables[tableName] = tableMetaData?.showVariables || tableMetaData?.showQuestions;\n\n\tupdateState({renderVariables: newRenderVariables});\n};\n\nexport const fetchVariablesSuccessEffect = coeffects => {\n\tconst {state, updateState, action: {payload}} = coeffects;\n\tconst {availableItems} = state;\n\tconst newItems = {...availableItems} || {};\n\tconst availableVariables = availableItems && availableItems[VARIABLES_TABLE_NAME] || {};\n\n\tconst results = payload.data?.GlideVariables_Query?.getVariableSearchResult?.variables;\n\tconst moreVariablesAvailable = payload.data?.GlideVariables_Query?.getVariableSearchResult?.allRecordsSearched === false;\n\tif (!results && results[0])\n\t\treturn;\n\n\tconst {tableItems, lastVariableId} = transformVariablesFieldNameData(results);\n\n\tconst newVariables = {...availableVariables, ...tableItems};\n\tconst newVariablesKeysArray = Object.keys(newVariables);\n\t// for performance reasons we do not display more than 1000 items\n\tif ( newVariablesKeysArray.length > VARIABLES_MAX_ITEMS_DISPLAYED) {\n\t\tconst itemsToRemove = newVariablesKeysArray.length - VARIABLES_MAX_ITEMS_DISPLAYED;\n\t\tfor (let i = 0; i < itemsToRemove; i++)\n\t\t\tdelete newVariables[newVariablesKeysArray[i]];\n\t}\n\n\tnewItems[VARIABLES_TABLE_NAME] = newVariables;\n\tupdateState({availableItems: newItems, moreVariablesAvailable, lastVariableId});\n};\n\nexport const fetchFailureEffect = ({\n\tstate: {\n\t\tproperties: {value}\n\t},\n\tdispatch\n}) => {\n\tdispatchErrorMessage(value, FETCH_FIELD_ERROR, dispatch);\n};\nexport const fetchVariablesFailureEffect = ({\n\tstate: {\n\t\tproperties: {value}\n\t},\n\tdispatch\n}) => {\n\tdispatchErrorMessage(value, FETCH_FIELD_ERROR, dispatch);\n};\n","import {t} from 'sn-translate';\nimport {\n\tAVAILABLE_DATA_POPULATE_MODE,\n\tFETCH_DATA,\n\tFETCH_DATA_NEW,\n\tFETCH_VARIABLES_DATA,\n\tITEM_EXPAND_REQUESTED,\n\tSCROLLED_TO_BOTTOM,\n\tVARIABLES_TABLE_NAME,\n\tVARIABLES_FIELD_QUESTIONS,\n\tVARIABLES_FIELD_VARIABLES\n} from '../constants';\nimport {variableSearchOperatorTypes} from '../tableDefinitionHandlers/fetchDataHandler';\nimport {SEARCH} from '../../shared/constants';\n\n/**\n * Handle SN_AVAILABLE_ITEMS#PANEL_CHANGED event\n * update the number of items in the left panel of available items\n * @param {object} coeffects\n */\nexport const availablePanelsChangedHandler = coeffects => {\n\tconst {\n\t\taction: {payload: openItems},\n\t\tupdateState,\n\t\tstate: {availableItems, availableItemsRoot},\n\t} = coeffects;\n\n\t// the last expanded item is the last element in open path\n\tlet referenceSource = availableItemsRoot;\n\tconst availableOpenPanels = [availableItemsRoot];\n\n\topenItems.forEach(itemId => {\n\t\tconst item = availableItems[referenceSource][itemId];\n\t\treferenceSource = item.reference;\n\t\tavailableOpenPanels.push(item.reference);\n\t});\n\n\t// if we have only one open panel it got to be the root\n\t// if we have more then one it is one before the last (since we only display the last 2 open panels)\n\tconst availableLeftPanel = availableOpenPanels.length > 1 ?\n\t\tavailableOpenPanels[availableOpenPanels.length - 2] :\n\t\tavailableItemsRoot;\n\n\tconst availableRightPanel = availableOpenPanels[availableOpenPanels.length - 1];\n\n\n\tupdateState({availableItemsPath: openItems, availableLeftPanel, availableRightPanel});\n\n\treturn {availableLeftPanel, referenceSource};\n};\n\n/**\n * Handle SN_AVAILABLE_ITEMS#ITEM_EXPAND_REQUESTED event\n * update the number of items in the left panel of available items\n * and dispatch load request for next table data if in connected mode\n * (for connected mode only)\n * @param {object} coeffects\n */\nexport const availableItemExpandRequestedHandler = coeffects => {\n\tconst {\n\t\taction: {payload: openItems},\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate: {availableItems, renderVariables, searchValue},\n\t\tproperties: {mode, showExtendedFields, search}\n\t} = coeffects;\n\n\t// first we need to update panels counters\n\tconst {\n\t\tavailableLeftPanel, // the category (panel) of the clicked item\n\t\treferenceSource // the category (panel) the clicked item references to\n\t} = availablePanelsChangedHandler(coeffects);\n\n\tconst payload = {\n\t\treferenceFieldTableName: referenceSource,\n\t\ttableName: '',\n\t\tallowExtendedFields: showExtendedFields // tells the GraphQL to fetch extended fields\n\t};\n\n\t// if data not exist and we are in connected mode load it\n\tif (mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION && (!availableItems[referenceSource] || referenceSource === VARIABLES_TABLE_NAME)) {\n\t\tconst openItem = openItems ? openItems[openItems.length - 1] : null; // variables items are always on the last column since you cannot expand a variable item\n\t\t// check if variables allowed on parent table (left panel), the table to which the variables belong\n\t\tif (referenceSource === VARIABLES_TABLE_NAME && renderVariables[availableLeftPanel] && (openItem === VARIABLES_FIELD_QUESTIONS || openItem === VARIABLES_FIELD_VARIABLES)) {\n\n\t\t\tconst newAvailableItems = {...availableItems};\n\t\t\tnewAvailableItems[VARIABLES_TABLE_NAME] = null;\n\n\t\t\tupdateState({availableItems: newAvailableItems});\n\t\t\tdispatch(FETCH_VARIABLES_DATA, {\n\t\t\t\treferenceFieldTableName: referenceSource,\n\t\t\t\tsearchTerm: searchValue || '',\n\t\t\t\toperator: search === SEARCH.CONTAINS ? variableSearchOperatorTypes.LIKE : variableSearchOperatorTypes.STARTSWITH,\n\t\t\t\tlastVariableId: ''\n\t\t\t});\n\n\t\t} else {\n\t\t\tconst fetchEvent = showExtendedFields ? FETCH_DATA_NEW : FETCH_DATA;\n\t\t\tdispatch(fetchEvent, payload);\n\t\t}\n\t}\n\n\tconst itemId = openItems[openItems.length - 1]; // last item is the selected item\n\n\tconst itemLabel = availableItems[availableLeftPanel][itemId].label;\n\tconst message = t({code: 'sn-list-selector', message: 'Item opened: {itemLabel}'}, {itemLabel});\n\n\tupdateState({liveUpdateText: message});\n\n\t// item category is always the left panel since it was moved to left it was when expanded\n\tdispatch(ITEM_EXPAND_REQUESTED, {\n\t\tcategory: availableLeftPanel, // category is the name of a group of items displayed in a pane\n\t\titemId,\n\t\titem: availableItems[availableLeftPanel][itemId], // item data object\n\t});\n};\n\nexport const availableItemScrollBottomHandler = coeffects => {\n\tconst {state,\n\t\taction: {payload},\n\t\tdispatch,\n\t\tproperties: {search}\n\t} = coeffects;\n\tconst {moreVariablesAvailable, renderVariables, lastVariableId, availableItemsPath, availableLeftPanel, searchValue} = state;\n\n\t// When Scrolled  bottom for variables, We are fetching new set of variables\n\tconst tableName = payload?.category;\n\tconst isVariablesTable = tableName === VARIABLES_TABLE_NAME;\n\tconst shouldRenderVariables = renderVariables[tableName] || (isVariablesTable && renderVariables[availableLeftPanel]);\n\tconst pathItem = availableItemsPath[availableItemsPath.length - 1]; // variables are always the last item (you can't expand a variable)\n\tif (isVariablesTable && moreVariablesAvailable && shouldRenderVariables &&\n\t\t(pathItem === VARIABLES_FIELD_VARIABLES || pathItem === VARIABLES_FIELD_QUESTIONS ) ) {\n\n\t\tdispatch(FETCH_VARIABLES_DATA, {\n\t\t\treferenceFieldTableName: VARIABLES_TABLE_NAME,\n\t\t\tsearchTerm: searchValue || '',\n\t\t\toperator: search === SEARCH.CONTAINS ? variableSearchOperatorTypes.LIKE : variableSearchOperatorTypes.STARTSWITH,\n\t\t\tlastVariableId\n\t\t});\n\t} else\n\t\tdispatch(SCROLLED_TO_BOTTOM, payload);\n};\n\n\nexport const availableVariablesReloadHandler = coeffects => {\n\tconst {state,\n\t\tdispatch,\n\t\tupdateState,\n\t\tproperties: {search}\n\t} = coeffects;\n\tconst {searchValue, availableItems} = state;\n\n\tconst newAvailableItems = {...availableItems};\n\tnewAvailableItems[VARIABLES_TABLE_NAME] = null;\n\tupdateState({availableItems: newAvailableItems, lastVariableId: null});\n\n\tdispatch(FETCH_VARIABLES_DATA, {\n\t\treferenceFieldTableName: VARIABLES_TABLE_NAME,\n\t\tsearchTerm: searchValue || '',\n\t\toperator: search === SEARCH.CONTAINS ? variableSearchOperatorTypes.LIKE : variableSearchOperatorTypes.STARTSWITH,\n\t\tlastVariableId: ''\n\t});\n};\n","import {VIEW_TYPES} from '../constants';\n\nconst MIN_WIDTH_THREE_PANELS = 660;\nconst MIN_WIDTH_TWO_PANEL = 480;\n\n/**\n * Return the number of panels component should display\n * @param {object} host\n * @returns {number}\n */\nexport const getNumberOfPanels = (host, viewType = 'dotWalk') => {\n\tconst {width} = host.getBoundingClientRect();\n\tif (width === 0)\n\t\treturn -1;\n\n\t// DEF0447611: if wrong value in view type - set it to dotWalk mode\n\tconst currentViewType = VIEW_TYPES[viewType] || 3;\n\n\t// !VIEW_TYPES[viewType] undefined if got a wrong view type value\n\tif (width > MIN_WIDTH_THREE_PANELS && currentViewType === 3)\n\t\treturn 3; // three panels mode - two for available items and one for selected items (default)\n\n\tif (width > MIN_WIDTH_TWO_PANEL && currentViewType >= 2)\n\t\treturn 2; // two panels mode - one for available items and one for selected items\n\n\treturn 1;\n};\n\n/**\n * Handle resize event, set component number of anels according to component size\n * @param {object} coeffects\n * @returns {(function(): void)|*}\n */\nexport const resizeHandler = coeffects =>\n\t() => {\n\t\tconst {updateState, host, properties: {viewType}} = coeffects;\n\n\t\tconst numberOfPanels = getNumberOfPanels(host, viewType);\n\t\tif (numberOfPanels === -1) {\n\t\t\t// if we got here dom is probably not ready yet... wait for it\n\t\t\tsetTimeout(() => {\n\t\t\t\tresizeHandler(coeffects)();\n\t\t\t}, 100);\n\t\t\treturn;\n\t\t}\n\n\t\tupdateState({numberOfPanels});\n\t};\n\n/**\n * Set component size and register to resize events\n * @param {object} coeffects\n */\nexport const registerResizeEvent = coeffects => {\n\tconst {state: {resizeObserver, mainRef}, updateState} = coeffects;\n\n\t// init component size\n\tresizeHandler(coeffects)(null);\n\tconst handler = resizeHandler(coeffects);\n\n\t// remove old event listener if exists\n\t// every time coeffects changes we need to reregister so handler function will be binded to the last coeffects\n\tif (resizeObserver)\n\t\tresizeObserver.unobserve(mainRef.current);\n\n\t// register for future resize events\n\tconst newResizeObserver = new ResizeObserver(handler);\n\tnewResizeObserver.observe(mainRef.current);\n\n\tupdateState({\n\t\tpath: 'resizeObserver',\n\t\tvalue: newResizeObserver,\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t} });","import {convertSelectedItemsToStateFormat} from './selectedItemsHandler';\nimport {AVAILABLE_DATA_POPULATE_MODE} from '../constants';\nimport {getNumberOfPanels} from './resizeHandler';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\n\nexport const setInitialStateHandler = coeffects => {\n\tconst {host, properties} = coeffects;\n\tconst {mode, selectedItems, items, itemsRoot, tableName, viewType} = properties;\n\n\t// Items only applicable for non connected mode (in connected mode we get it from supplied table)\n\tlet availableItems = items;\n\tlet availableItemsRoot = itemsRoot;\n\tif (mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION) {\n\t\tavailableItems = undefined; // in connected mode we query the items from DB\n\t\tavailableItemsRoot = tableName;\n\t}\n\t// if availableRoot not supplied the default is the first element in availableItems\n\tif (availableItems && !availableItemsRoot && Object.keys(availableItems).length > 0)\n\t\tavailableItemsRoot = Object.keys(items)[0];\n\n\tconst numberOfPanels = getNumberOfPanels(host, viewType);\n\n\tconst {selectedItems: selectedBucketItems, availableItemsSelected, availableItemsLocked} = convertSelectedItemsToStateFormat(selectedItems);\n\treturn {\n\t\trenderVariables: {},\n\t\tmoreVariablesAvailable:false,\n\t\tselectedItems: selectedBucketItems,\n\t\tavailableItemsSelected,\n\t\tavailableItemsLocked,\n\t\tavailableItems,\n\t\tavailableItemsRoot,\n\t\tavailableLeftPanel: availableItemsRoot,\n\t\tavailableRightPanel: availableItemsRoot,\n\t\tavailableItemsPath: [],\n\t\topenTabId: undefined, // in case of a small component where available/selected buckets displayed in tabs\n\t\tnumberOfPanels, // default it three panels two for available bucket and one for selected bucket\n\t\tresizeObserver: undefined, // reference to resize observer, we need it to stop observing\n\t\tliveUpdateText: '',\n\t\tshowResetWarning: false, // when changing table/root, selection and dot-walk are lost, warn user flag,\n\t\tnewlySelectedItems: [], // the list of newly selected items, they have different style in selected bucket\n\t\tmainRef: createRef(), // reference to main list selector container, used for resize event registration\n\t\tsearchValue: ''\n\t};\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const ARROW_DOWN = 'ArrowDown';\nexport const ARROW_LEFT = 'ArrowLeft';\nexport const ARROW_RIGHT = 'ArrowRight';\nexport const ARROW_UP = 'ArrowUp';\nexport const ENTER = 'Enter';\nexport const ESC = 'Esc';\nexport const ESCAPE = 'Escape';\nexport const SPACE = ' ';\nexport const SPACE_BAR = 'Spacebar';\nexport const CTRL_A = 'CtrlA';\nexport const SHIFT = 'Shift';\n\nconst _isMac = /Mac/.test(navigator.userAgent);\n\n/**\n * isEscape.\n * @param {string} key\n */\nexport const isEscape = key => key === ESC || key === ESCAPE;\n\n/**\n * isSpaceBar.\n * @param {string} key\n */\nexport const isSpaceBar = key => key === SPACE_BAR || key === SPACE;\n\n/**\n * Check if the key event is CRTL/Command according to browser\n * @param {object} event\n * @returns {boolean}\n */\nexport const isCtrl = event => (_isMac && event.metaKey) || (!_isMac && event.ctrlKey);\n\n/**\n * Check if the key event is CRTL/Command A\n * @param {object} event\n * @returns {boolean}\n */\nconst isCtrlA = event => ((event.key === 'A' || event.key === 'a') && isCtrl(event));\n\n/**\n * normalizeKey.\n * @param {string} key\n */\nexport const normalizeKey = event => {\n\tconst {key} = event;\n\tif (isSpaceBar(key))\n\t\treturn SPACE;\n\tif (isEscape(key))\n\t\treturn ESCAPE;\n\tif (isCtrlA(event))\n\t\treturn CTRL_A;\n\n\treturn key;\n};\n","\n\n\n/**\n * this function scrolls to bring the element into view\n * @param {HTMLElement} element\n */\nexport const scrollIntoView = element => {\n\tif (element.scrollIntoViewIfNeeded)\n\t\telement.scrollIntoViewIfNeeded(); // not supported in Firefox\n\telse\n\t\telement.scrollIntoView();\n};\n","import {REMOVE_SELECTED_FIELD_ACTION} from '../view';\nimport {isCtrl} from '../../shared/keyboardEvents';\nimport {scrollIntoView} from '../../shared/browser';\n\n/**\n * This function stop browser event from bubbling up to the parent element.\n * When registering to browser event on an element (in our case click) we get the event on child elements as well\n * to disable the event from getting to the parent we have to register to the same event on the child and\n * sop its propagation\n * @param {*} event\n */\nexport const stopPropagation = (/** @type {*} */ event) => event.stopPropagation(); // eslint-disable-line\n\n/**\n *\n * @param {array} items\n * @param {array} selectedIndexes\n * @param {integer} index\n * @param {integer} lastSelectedIndex\n * @returns {*[]|*}\n */\nconst shiftSelectionHandler = (items, selectedIndexes, index, lastSelectedIndex) => {\n\t// no previously selected item, select only the current item, perform single selection\n\tif (lastSelectedIndex === undefined || selectedIndexes.length === 0)\n\t\treturn selectedIndexes.includes(index) ? [] : [index];\n\n\t// Shift selection mode - select/unselect all element between the last element selected to the current one\n\tconst startIndex = Math.min(lastSelectedIndex, index);\n\tconst endIndex = Math.max(lastSelectedIndex, index);\n\n\t// if lastSelectedIndex was selected, select all items up to shift click element\n\tif (selectedIndexes.includes(lastSelectedIndex)) {\n\t\tconst newSelectedIndexes = [...selectedIndexes];\n\n\t\titems.forEach((item, index) => {\n\t\t\tif (!newSelectedIndexes.includes(index) && index >= startIndex && index <= endIndex)\n\t\t\t\tnewSelectedIndexes.push(index);\n\t\t});\n\n\t\treturn newSelectedIndexes;\n\t}\n\n\t// lastSelectedIndex was unselected, unselect all items up to shift click element\n\treturn selectedIndexes.filter(i => i < startIndex || i > endIndex);\n};\n\n/**\n * Property changed effect handler.\n * @param {Coeffects<Props, State>} coeffects\n * @param {number} index\n */\nexport const toggleFocus = (coeffects, index) =>\n\t(/** @type {Event} */ event) => { // eslint-disable-line\n\t\tconst {state: {selectedIndexes, lastSelectedIndex, items}, updateState, dispatch} = coeffects;\n\n\t\tlet newSelectedIndexes = [...selectedIndexes];\n\t\tconst itemAlreadySelected = selectedIndexes.includes(index);\n\n\t\t// second click on an item will deselect it (remove it from list)\n\t\tif (index < 0) { // no item (background click) clear selection\n\t\t\tnewSelectedIndexes = [];\n\t\t} else if (isCtrl(event)) {\n\t\t\t// Ctrl selection mode - add selected item to selected list\n\t\t\titemAlreadySelected ?\n\t\t\t\tnewSelectedIndexes = selectedIndexes.filter(i => i !== index) : // remove existing item\n\t\t\t\tnewSelectedIndexes.push(index); // add non existing item\n\t\t} else if (event.shiftKey) {\n\t\t\t// shift selection mode\n\t\t\tnewSelectedIndexes = shiftSelectionHandler(items, selectedIndexes, index, lastSelectedIndex);\n\t\t} else {\n\t\t\t// single selection mode, only clicked item selected\n\t\t\tnewSelectedIndexes = itemAlreadySelected ? [] : [index];\n\t\t}\n\n\t\tconst item = itemAlreadySelected || index < 0 ? null : items[index];\n\n\t\tupdateState({selectedIndexes: newSelectedIndexes, lastSelectedIndex: index});\n\t\tdispatch('SN_SELECTED_BUCKET#ITEM_SELECTED', {itemId: item?.id});\n\n\t\t// move clicked element to view (for case it is only half visible)\n\t\tif (event.currentTarget)\n\t\t\tscrollIntoView(event.currentTarget);\n\n\t\tstopPropagation(event);\n\t};\n\nexport const focusAll = coeffects => {\n\tconst {state: {items}, updateState} = coeffects;\n\tconst selectedIndexes = items.map((item, index) => index);\n\tupdateState({selectedIndexes, lastSelectedIndex: undefined});\n};\n\n/**\n * handle NOW_BUTTON_ICONIC#CLICKED event\n * remove the clicked item from list\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const removeItemClickHandler = coeffects => {\n\tconst {\n\t\tstate,\n\t\taction,\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\n\tconst {items, listRef, selectedIndexes} = state;\n\tconst {itemDeleted, button} = action.payload;\n\n\tif (button !== REMOVE_SELECTED_FIELD_ACTION || !itemDeleted)\n\t\treturn;\n\n\tconst itemIndex = items.findIndex(item => item.id === itemDeleted);\n\n\tlet itemsToDelete = [...selectedIndexes];\n\t// in case we have more then one item selected we have two option\n\t// 1)  if currently clicked item is selected - all selected items are removed with it\n\t// 2) if it is not selected it will be the only one deleted\n\tif (!itemsToDelete.includes(itemIndex))\n\t\titemsToDelete = [itemIndex];\n\n\t// if an item is deleted, all selected items are deleted with it\n\tconst updatedItems = items.filter((item, index) => !(itemsToDelete.includes(index) && !item.locked));\n\n\t// after deletion set focus on the element before the first item deleted (by position)\n\tconst firstItemDeleted = Math.min(...[itemsToDelete], itemIndex);\n\tconst itemsElements = listRef.current.querySelectorAll('now-button-iconic');\n\tconst focusedItemIndex = firstItemDeleted === 0 ? 0 : firstItemDeleted - 1;\n\tconst focusedElement = itemsElements[focusedItemIndex];\n\tif (focusedElement)\n\t\tfocusedElement.focus();\n\n\t// fire items delete event\n\t// every item that is not in new list was deleted\n\tconst deletedItems = items.filter(item => !updatedItems.includes(item)).map(item => item.id);\n\n\tdispatch('SN_SELECTED_BUCKET#ITEM_DELETED', deletedItems);\n\n\tupdateState({items: updatedItems, selectedIndexes: [], lastSelectedIndex: undefined});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"flow\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'flow' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flow;\n\t\t\t\t\t} else if ('flow' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.flow || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flow;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"negate\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'negate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].negate;\n\t\t\t\t\t} else if ('negate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.negate || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].negate;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"property\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'property' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].property;\n\t\t\t\t\t} else if ('property' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.property || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].property;\n\t\t\t\t} });","import {get, noop} from 'lodash';\nimport {t} from 'sn-translate';\n\n/**\n * Renders table header cell th element\n * @param {object} item array of ...\n * @param {string} ref string ...\n * @returns\n */\nexport const getElement = (item, ref = 'ref') =>\n\tget(item, [ref, 'current']) || {\n\t\tfocus: noop,\n\t\tstyle: {},\n\t\toffsetWidth: 0,\n\t\tscrollWidth: 0\n\t};\n\n/**\n * Property changed effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDragOver =\n\tcoeffects =>\n\t\tevent => {\n\t\t\tconst {\n\t\t\t\tstate: {dragging}\n\t\t\t} = coeffects;\n\t\t\tif (dragging) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t};\n\n/**\n * Helper function to reset drag over index.\n * Resets the drop indicator when a condition is met.\n * @param {Coeffects<Props, State>} coeffects\n * @param {boolean} shouldReset - Whether to reset the dragOverIndex\n */\nconst resetDragOverIndex = (coeffects, shouldReset) => {\n\tif (shouldReset) {\n\t\tconst {updateState} = coeffects;\n\t\tupdateState({\n\t\t\tdragOverIndex: -1\n\t\t});\n\t}\n};\n\n/**\n * Container Drag Over effect handler.\n * Resets the drop indicator when dragging in empty space (not over any list item).\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleContainerDragOver = coeffects => event => {\n\tconst {\n\t\tstate: {dragging, dragOverIndex}\n\t} = coeffects;\n\t\n\t// Only handle if we're currently dragging\n\tif (!dragging) \n\t\treturn;\n\t\n\t// Check if we're dragging in the container but NOT over a list item\n\t// event.target is the actual element under the cursor\n\t// If it's the container or ol element (not an item), we're in empty space\n\tconst {target} = event;\n\tconst isOverEmptySpace = \n\t\ttarget.classList.contains('reorderable-list-container') ||\n\t\ttarget.classList.contains('reorderable-list');\n\t\n\tresetDragOverIndex(coeffects, isOverEmptySpace && dragOverIndex !== -1);\n\t\n\tevent.preventDefault();\n};\n\n/**\n * Drag Leave effect handler.\n * Resets the drop indicator when dragging outside the list container.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDragLeave = coeffects => event => {\n\tconst {\n\t\tstate: {dragging}\n\t} = coeffects;\n\t\n\tif (!dragging) \n\t\treturn;\n\t\n\t// Check if we're actually leaving the container (not just moving between children)\n\tconst isLeavingContainer = !event.currentTarget.contains(event.relatedTarget);\n\t\n\tresetDragOverIndex(coeffects, isLeavingContainer);\n};\n\n/**\n * Property changed effect handler.\n * @param {DragEnterPayload} payload\n */\nexport const handleDragEnter = payload =>\n\tcoeffects =>\n\t\tevent => {\n\n\t\t\tconst {index: dragOverIndex} = payload;\n\t\t\tconst {\n\t\t\t\tstate: {dragItemIndex, items},\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\n\t\t\tif (dragItemIndex === -1 || dragOverIndex === -1)\n\t\t\t\treturn;\n\n\t\t\tif (event.dataTransfer) {\n\t\t\t\tconst {dataTransfer} = event;\n\t\t\t\tdataTransfer.dropEffect = 'move';\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tdragOverIndex,\n\t\t\t\tliveUpdateText: t({code: 'sn-list-selector', message: '{label}. Current position: {position} of {total}.'}, {\n\t\t\t\t\tlabel: items[dragItemIndex].label,\n\t\t\t\t\tposition: dragOverIndex + 1,\n\t\t\t\t\ttotal: items.length\n\t\t\t\t})\n\t\t\t});\n\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t};\n\n/**\n * Property changed effect handler.\n * @param {DragStartPayload} payload\n */\nexport const handleDragStart = payload =>\n\tcoeffects =>\n\t\tevent => {\n\t\t\tconst {index: dragItemIndex} = payload;\n\t\t\tconst {\n\t\t\t\tstate: {items},\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\n\t\t\tif (event.dataTransfer) {\n\t\t\t\tconst {dataTransfer} = event;\n\t\t\t\tdataTransfer.effectAllowed = 'move';\n\t\t\t\tgetElement(items[dragItemIndex], 'removeRef').style.display = 'none';\n\t\t\t}\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: `items[${dragItemIndex}].tooltip.opened`,\n\t\t\t\t\tvalue: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'dragItemIndex',\n\t\t\t\t\tvalue: dragItemIndex\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'dragging',\n\t\t\t\t\tvalue: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'dragOverIndex',\n\t\t\t\t\tvalue: dragItemIndex\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'liveUpdateText',\n\t\t\t\t\tvalue: t(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcode: 'sn-list-selector',\n\t\t\t\t\t\t\tmessage: '{label} grabbed. Current position: {position} of {total}. Press up and down arrow keys to change position, enter key to drop, escape key to cancel.'},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: items[dragItemIndex].label,\n\t\t\t\t\t\t\tposition: dragItemIndex + 1,\n\t\t\t\t\t\t\ttotal: items.length\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t]);\n\t\t};\n\n/**\n * Drag Cancel effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDragCancel = coeffects =>\n\tevent => {\n\t\tconst {\n\t\t\tstate: {dragItemIndex, items},\n\t\t\tupdateState\n\t\t} = coeffects;\n\n\t\tupdateState({\n\t\t\tdragging: false,\n\t\t\tdragItemIndex: -1,\n\t\t\tdragOverIndex: -1,\n\t\t\tliveUpdateText: t({code: 'sn-list-selector', message: '{label} reorder cancelled.'}, {\n\t\t\t\tlabel: items[dragItemIndex].label\n\t\t\t})\n\t\t});\n\n\t\tevent.preventDefault();\n\t};\n\n/**\n * Validate Index.\n * @param {number} length\n */\nexport const validateIndex = length => (/** @type {number} */ index) => -1 < index && index < length; // eslint-disable-line\n\n/**\n * Reorder Items.\n * @param {Array<Item>} items\n * @param {number} sourceIndex\n * @param {number} targetIndex\n */\nexport const reorderItems = (items, sourceIndex, targetIndex) => {\n\tconst isValidIndex = validateIndex(items.length);\n\tconst reorderedItems = [...items];\n\n\tif (\n\t\tisValidIndex(sourceIndex) &&\n\t\tisValidIndex(targetIndex) &&\n\t\tsourceIndex !== targetIndex\n\t) {\n\t\treorderedItems.splice(sourceIndex, 1);\n\t\treorderedItems.splice(targetIndex, 0, items[sourceIndex]);\n\t}\n\n\treturn reorderedItems;\n};\n\n/**\n * Drop effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDrop = coeffects => () => {\n\tconst {\n\t\tstate: {dragItemIndex, dragOverIndex, items},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\tif (dragItemIndex === -1 || dragOverIndex === -1)\n\t\treturn;\n\n\tconst itemMoved = dragItemIndex !== dragOverIndex;\n\tif (itemMoved) {\n\t\tdispatch('SN_SELECTED_BUCKET#ITEMS_REORDERED', {\n\t\t\tname: 'items',\n\t\t\tvalue: reorderItems(items, dragItemIndex, dragOverIndex)\n\t\t});\n\t}\n\n\tupdateState({\n\t\tliveUpdateText: t(\n\t\t\t{\n\t\t\t\tcode: 'sn-list-selector',\n\t\t\t\tmessage: '{label} dropped. Final position {position} of {total}.'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: items[dragItemIndex].label,\n\t\t\t\tposition: dragOverIndex + 1,\n\t\t\t\ttotal: items.length\n\t\t\t}\n\t\t),\n\t\tselectedIndexes: [dragOverIndex],\n\t\tlastSelectedIndex: dragOverIndex\n\t});\n};\n\n/**\n * Drop End effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDragEnd = coeffects =>\n\tevent => {\n\t\tconst {\n\t\t\tstate: {items, dragItemIndex},\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tif (event.dataTransfer)\n\t\t\tgetElement(items[dragItemIndex], 'removeRef').style.display = '';\n\n\t\tupdateState({\n\t\t\tdragging: false,\n\t\t\tdragItemIndex: -1,\n\t\t\tdragOverIndex: -1\n\t\t});\n\t};\n","\n\n\n/**\n * Handle focus on element selectedIndexes so it will have selected item style (same style as click)\n * @param {object} coeffects\n * @returns {(function(): void)|*}\n */\nexport const handleFocus = coeffects =>\n\t() => {\n\t\tconst {state: {host, listRef}} = coeffects;\n\t\t// remove previously focused element selected style\n\t\tconst previouslyFocused = listRef.current.querySelectorAll('.item-container--focused');\n\n\t\tif (previouslyFocused && previouslyFocused.length > 0)\n\t\t\tpreviouslyFocused.forEach(elm => elm.classList.remove('item-container--focused'));\n\n\t\t// get focused element\n\t\tconst {activeElement} = host.shadowRoot;\n\t\tconst focusElement = activeElement && activeElement.closest('.item-container');\n\n\t\t// set focused element selected style\n\t\tif (focusElement)\n\t\t\tfocusElement.classList.add('item-container--focused');\n\t};\n","import {ARROW_DOWN, ARROW_UP, ENTER, ESCAPE, SPACE, normalizeKey, CTRL_A} from '../../shared/keyboardEvents';\nimport {flow, isEmpty, negate, property} from 'lodash';\nimport {focusAll, toggleFocus} from './onClickHandler';\nimport {handleDragCancel, handleDragEnd, handleDragEnter, handleDragStart, handleDrop} from './dragAndDropHandler';\n\nconst keyHandlersForDraggingState = new Map([\n\t[\n\t\tARROW_DOWN,\n\t\tcoeffects =>\n\t\t\tevent => {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {dragOverIndex, items}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst index = Math.min(dragOverIndex + 1, items.length - 1);\n\t\t\t\thandleDragEnter({index})(coeffects)(event);\n\t\t\t}\n\t],\n\t[\n\t\tARROW_UP,\n\t\tcoeffects => event => {\n\t\t\tconst {\n\t\t\t\tstate: {dragOverIndex}\n\t\t\t} = coeffects;\n\t\t\tconst index = Math.max(dragOverIndex - 1, 0);\n\t\t\thandleDragEnter({index})(coeffects)(event);\n\t\t}\n\t],\n\t[\n\t\tSPACE,\n\t\t() => event => {\n\t\t\tevent.preventDefault();\n\t\t}\n\t],\n\t[\n\t\tESCAPE,\n\t\tcoeffects => event => {\n\t\t\thandleDragCancel(coeffects)(event);\n\t\t}\n\t],\n\t[\n\t\tENTER,\n\t\tcoeffects => event => {\n\t\t\thandleDrop(coeffects)();\n\t\t\thandleDragEnd(coeffects)(event);\n\t\t\tevent.preventDefault();\n\t\t}\n\t]\n]);\n\n/**\n * Match Event\n * @param {Event} target\n */\nconst matchesEvent =\n\t({target}) =>\n\t\t({current}) => current === target;\n\n/**\n * Match Event\n * @param {string} path\n */\nconst propertyMatchesEvent = path => (/** @type {Event} */ event) => flow(property(path), matchesEvent(event)) // eslint-disable-line\n\nconst removeRefMatchesEvent = propertyMatchesEvent('removeRef');\nconst itemRefMatchesEvent = propertyMatchesEvent('ref');\n\nconst keyHandlers = new Map([\n\t[\n\t\tSPACE,\n\t\t(/** @type {Coeffects<Props, State>} */ coeffects) => // eslint-disable-line\n\t\t\t(/** @type {Event} */ event) => { // eslint-disable-line\n\t\t\t\tconst {\n\t\t\t\t\tstate: {items}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tif (items.every(negate(removeRefMatchesEvent(event))))\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst index = items.findIndex(itemRefMatchesEvent(event));\n\t\t\t\tif (index > -1)\n\t\t\t\t\thandleDragStart({index})(coeffects)(event);\n\t\t\t}\n\t],\n\t[\n\t\tENTER,\n\t\tcoeffects =>\n\t\t\tevent => {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {items}\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst index = items.findIndex(itemRefMatchesEvent(event));\n\n\t\t\t\tif (index > -1)\n\t\t\t\t\ttoggleFocus(coeffects, index)(event);\n\t\t\t}\n\t],\n\t[\n\t\tCTRL_A,\n\t\tcoeffects =>\n\t\t\t() => {\n\t\t\t\tfocusAll(coeffects);\n\t\t\t}\n\t]\n]);\n\n/**\n * Drop End effect handler.\n * @param {ViewRenderHelpers<State, *> | {state: StateWithProps<State, *>}} coeffects\n */\nexport const handleKeyDown = coeffects =>\n\tevent => {\n\t\tconst {\n\t\t\tstate: {dragging, items}\n\t\t} = coeffects;\n\n\t\tif (isEmpty(items))\n\t\t\treturn;\n\n\t\tconst key = normalizeKey(event);\n\t\tconst handlers = dragging ? keyHandlersForDraggingState : keyHandlers;\n\n\t\tif (handlers.has(key)) {\n\t\t\t//@ts-ignore\n\t\t\thandlers.get(key)(coeffects)(event);\n\t\t}\n\t};\n","import {isEscape} from '../../shared/keyboardEvents';\n\nconst shouldDisplayLabel = (item, value) => {\n\tif (!item || !item.tooltip)\n\t\treturn false;\n\n\tconst label = item.tooltip.targetRef.current;\n\treturn item.label.length > 1 || value === false || label.scrollWidth > label.offsetWidth;\n};\n\n/**\n * Open Set effect handler.\n * display tooltip is item path is longer then 1 (item is not in start column)\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleOpenedSet = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {index, id, value}\n\t\t},\n\t\tstate: {items},\n\t\tupdateState\n\t} = coeffects;\n\n\tif (id === 'dragTooltip')\n\t\treturn;\n\n\tif (shouldDisplayLabel(items[index], value)) {\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: `items[${index}].tooltip.opened`,\n\t\t\tvalue\n\t\t});\n\t}\n};\n\n/**\n * this function handles tooltip on items drag icon,\n * it will only open the tooltip on focus\n * @param {object} coeffects\n * @param {integer} index\n * @returns {(function(*): void)|*}\n */\nexport const dragIconFocusHandler = (coeffects, index) =>\n\tevent => {\n\t\tconst {updateState, state: {items}} = coeffects;\n\t\tconst {type} = event;\n\n\t\tif (type === 'keyup' && !isEscape(event.key)) // esc should close tooltip other keys has no effect\n\t\t\treturn;\n\n\t\tconst value = type === 'focus';\n\n\t\tif (shouldDisplayLabel(items[index], value)) {\n\t\t\tupdateState({\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: `items[${index}].tooltip.dragOpened`,\n\t\t\t\tvalue\n\t\t\t});\n\t\t}\n\t};\n","import {t} from 'sn-translate';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport '@servicenow/now-tooltip';\nimport {toggleFocus, stopPropagation} from './handlers/onClickHandler';\nimport {\n\thandleContainerDragOver,\n\thandleDragEnd,\n\thandleDragEnter,\n\thandleDragLeave,\n\thandleDragOver,\n\thandleDragStart,\n\thandleDrop\n} from './handlers/dragAndDropHandler';\nimport {handleFocus} from './handlers/focusHandler';\nimport {handleKeyDown} from './handlers/keyboardEventHandler';\nimport {dragIconFocusHandler} from './handlers/tooltipOpenedSetHandler';\nimport {scrollIntoView} from '../shared/browser';\n\nconst REMOVE_ROW = t({code: 'sn-list-selector', message: 'Remove item'});\nconst REMOVE_MULTIPLE_ROWS = t({code: 'sn-list-selector', message: 'Remove items'});\nexport const REMOVE_SELECTED_FIELD_ACTION = 'removeSelectedField';\nconst TOOLTIP_DELAY = 50;\nconst ITEMS_TOOLTIP_SEPARATOR = ' > ';\nconst ITEMS_TOOLTIP_SEPARATOR_RTL = ' < ';\nconst ITEMS_ELLIPSIS_SEPARATOR = '...';\n\nexport const SELECTED_CONTENT = t({code: 'sn-list-selector', message: 'Select fields to add here'});\nexport const NO_SELECTION_LABEL = t({code: 'sn-list-selector', message: 'No fields selected yet'});\n/**\n * Check if the page direction is RTL (right to left)\n * @returns {boolean}\n */\nconst isRTL = () => document.dir === 'rtl';\n\n/**\n * @param {object} Obj\n * @param {Function} Obj.updateState\n */\nconst setTooltipRefReady = ({updateState}) =>\n\t() => {\n\t\tupdateState({isTooltipRefReady: true});\n\t};\n\n/**\n * @param {object} Obj\n * @param {boolean} Obj.dragging\n * @param {boolean} Obj.isTooltipRefReady\n */\nconst shouldRenderTooltip = ({dragging, isTooltipRefReady}) =>\n\tisTooltipRefReady && !dragging;\n\n/**\n * scroll to element\n * @param {HTMLElement} elm\n * @returns {*}\n */\nconst scrollToNewItem = coeffects =>\n\t({elm}) => {\n\t\tconst {updateState} = coeffects;\n\n\t\tscrollIntoView(elm);\n\t\tupdateState({\n\t\t\tpath: 'autoScrollToNewItems',\n\t\t\tvalue: false,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\t};\n\nconst getEmptyStateJsx = (comment, label) => (\n\t<div className='no-selected-container'>\n\t\t<div>\n\t\t\t<now-template-message-empty-state\n\t\t\t\talignment='vertical-centered'\n\t\t\t\tcontent={comment}\n\t\t\t\theading={{label, level: 2}}\n\t\t\t\tillustration='no-data'\n\t\t\t/>\n\t\t<\/div>\n\t<\/div>);\n\n/**\n * Property changed effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nconst renderItems = coeffects => {\n\tconst {state} = coeffects;\n\tconst {\n\t\tdragItemIndex,\n\t\tdragOverIndex,\n\t\tselectedIndexes,\n\t\titems,\n\t\tautoScrollToNewItems,\n\t\tproperties: {disableReorder, newItems},\n\t} = state;\n\n\treturn items.map((item, index) => {\n\t\t// if we have a selected element (selectedIndexes.length > 0) it should be focused and scrolled to\n\t\t// if we have new item but no node selected scroll to it\n\t\tconst newlyAdded = newItems.includes(item.id);\n\t\tconst isSelected = selectedIndexes.includes(index);\n\t\tconst onItemUpdate = (selectedIndexes.length === 0 && newlyAdded && autoScrollToNewItems) ? scrollToNewItem(coeffects) : undefined;\n\t\tconst onLabelUpdate = setTooltipRefReady(coeffects);\n\n\t\tconst arrayLabels = isRTL() ? [...item.label].reverse() : item.label;\n\t\tconst tooltipSeparator = isRTL() ? ITEMS_TOOLTIP_SEPARATOR_RTL : ITEMS_TOOLTIP_SEPARATOR;\n\t\tconst tooltipText = arrayLabels.join(tooltipSeparator);\n\t\tconst useChevron = item.label.length > 1;\n\t\tconst label = useChevron ? item.label[item.label.length - 1] : item.label[0];\n\t\tconst removeItemMessage = selectedIndexes.length > 0 && selectedIndexes.includes(index) ? REMOVE_MULTIPLE_ROWS : REMOVE_ROW;\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tid={`item-${item.id}`}\n\t\t\t\tdata-id={item.id}\n\t\t\t\tclass={{\n\t\t\t\t\t'reorderable-list-item': true,\n\t\t\t\t\tdragging: dragItemIndex === index,\n\t\t\t\t\t'indicator-before':\n\t\t\t\t\t\tdragOverIndex === index && dragOverIndex < dragItemIndex,\n\t\t\t\t\t'indicator-after':\n\t\t\t\t\t\tdragOverIndex === index && dragOverIndex >= dragItemIndex,\n\t\t\t\t}}\n\t\t\t\ton-focusin={handleFocus(coeffects)}\n\t\t\t\ton-focusout={handleFocus(coeffects)}\n\t\t\t>\n\t\t\t\t<div class={{'item-container--new': newlyAdded}}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'item-container': true,\n\t\t\t\t\t\t\t'item-container--selected': isSelected,\n\t\t\t\t\t\t\t'item-container--draggable': !disableReorder\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdraggable={disableReorder ? 'false' : 'true'}\n\t\t\t\t\t\ton-dragstart={disableReorder ? null : handleDragStart({index})(coeffects)}\n\t\t\t\t\t\ton-dragend={disableReorder ? null : handleDragEnd(coeffects)}\n\t\t\t\t\t\ton-dragenter={disableReorder ? null : handleDragEnter({index})(coeffects)}\n\t\t\t\t\t\ton-dragover={disableReorder ? null : handleDragOver(coeffects)}\n\t\t\t\t\t\ton-drop={disableReorder ? null : handleDrop(coeffects)}\n\t\t\t\t\t\ton-click={toggleFocus(coeffects, index)}\n\t\t\t\t\t\thook-insert={onItemUpdate}\n\t\t\t\t\t\thook-update={onItemUpdate}\n\t\t\t\t\t>\n\t\t\t\t\t\t{disableReorder ? null : (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\ticon='grid-vertical-outline'\n\t\t\t\t\t\t\t\tsize='md'\n\t\t\t\t\t\t\t\ttabIndex='0'\n\t\t\t\t\t\t\t\tref={item.ref}\n\t\t\t\t\t\t\t\trole='button'\n\t\t\t\t\t\t\t\taria-label={t({code: 'sn-list-selector', message: '{label} press space bar to reorder'}, {label})}\n\t\t\t\t\t\t\t\ton-focus={dragIconFocusHandler(coeffects, index)}\n\t\t\t\t\t\t\t\ton-keyup={dragIconFocusHandler(coeffects, index)}\n\t\t\t\t\t\t\t\ton-blur={dragIconFocusHandler(coeffects, index)}\n\t\t\t\t\t\t\t\ton-mouseout={dragIconFocusHandler(coeffects, index)}\n\t\t\t\t\t\t\t/>)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'item-label-container': true,\n\t\t\t\t\t\t\t\t'item-label-container--draggablr': !disableReorder\n\t\t\t\t\t\t\t}} ref={item.tooltip.targetRef}>\n\t\t\t\t\t\t\t{useChevron ? ITEMS_ELLIPSIS_SEPARATOR : ''}\n\t\t\t\t\t\t\t{useChevron ? (\n\t\t\t\t\t\t\t\t<now-icon icon={isRTL() ? 'chevron-left-fill' : 'chevron-right-fill'} size='md' />\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName='label'\n\t\t\t\t\t\t\t\thook-insert={onLabelUpdate}\n\t\t\t\t\t\t\t\thook-update={onLabelUpdate}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\ticon={item.locked ? 'lock-outline' : 'close-outline'}\n\t\t\t\t\t\t\tref={item.removeRef}\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tdisabled={item.locked}\n\t\t\t\t\t\t\thidePadding={true}\n\t\t\t\t\t\t\tvariant='tertiary'\n\t\t\t\t\t\t\tsize='md'\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tbutton: REMOVE_SELECTED_FIELD_ACTION,\n\t\t\t\t\t\t\t\titemDeleted: item.id\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttooltipContent={removeItemMessage}\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t'aria-label': t({code: 'sn-list-selector', message: 'Remove {label} from the selected column'}, {label})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ton-click={stopPropagation}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<now-tooltip\n\t\t\t\t\tappend-to-payload={{index, id: 'dragTooltip'}}\n\t\t\t\t\tcontent={tooltipText}\n\t\t\t\t\tdelay={TOOLTIP_DELAY}\n\t\t\t\t\tid={`tooltip-drag-${item.id}`}\n\t\t\t\t\tmanage-opened={true}\n\t\t\t\t\topened={item.tooltip.dragOpened}\n\t\t\t\t\ttarget-ref={item.ref.current}\n\t\t\t\t/>\n\t\t\t\t{\n\t\t\t\t\tshouldRenderTooltip(state) ? (\n\t\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\t\tappend-to-payload={{index, id: 'itemTooltip'}}\n\t\t\t\t\t\t\tcontent={tooltipText}\n\t\t\t\t\t\t\tdelay={TOOLTIP_DELAY}\n\t\t\t\t\t\t\tid={`tooltip-${item.id}`}\n\t\t\t\t\t\t\tmanage-opened={true}\n\t\t\t\t\t\t\topened={item.tooltip.opened}\n\t\t\t\t\t\t\ttarget-ref={item.tooltip.targetRef.current}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t<\/li>\n\t\t);\n\t});\n};\n\n//@ts-ignore\nexport const view = (state, helpers) => {\n\tconst {items, listRef, liveUpdateText, properties: {ariaLabel}} = state;\n\tconst coeffects = {...helpers, state};\n\n\treturn (\n\t\t<div\n\t\t\tclassName='reorderable-list-container'\n\t\t\tref={listRef}\n\t\t\ton-keydown={handleKeyDown(coeffects)}\n\t\t\ton-click={toggleFocus(coeffects, -1)}\n\t\t\ton-dragover={handleContainerDragOver(coeffects)}\n\t\t\ton-dragleave={handleDragLeave(coeffects)}\n\t\t\ttabIndex='-1'\n\t\t>\n\t\t\t{\n\t\t\t\titems.length > 0 ? (\n\t\t\t\t\t<ol \n\t\t\t\t\t\taria-label={ariaLabel} \n\t\t\t\t\t\tclassName='reorderable-list'>\n\t\t\t\t\t\t{renderItems(coeffects)}\n\t\t\t\t\t<\/ol>\n\t\t\t\t) : getEmptyStateJsx(SELECTED_CONTENT, NO_SELECTION_LABEL)\n\t\t\t}\n\t\t\t<span\n\t\t\t\tid='snSelectedBucketLiveUpdate'\n\t\t\t\tclassName='now-a11y-label'\n\t\t\t\taria-live='assertive'\n\t\t\t>\n\t\t\t\t{liveUpdateText}\n\t\t\t<\/span>\n\t\t<\/div>\n\t);\n};\n","import {createRef} from '@servicenow/ui-renderer-snabbdom';\n\n\n/**\n * Renders table header cell th element\n * @param {Items} items array of ...\n * @returns {Items | *}\n */\nexport const initializeItems = items =>\n\titems.map(\n\t\titem => ({\n\t\t\t...item,\n\t\t\tref: createRef(),\n\t\t\tremoveRef: createRef(),\n\t\t\ttooltip: {\n\t\t\t\topened: false,\n\t\t\t\tdragOpened: false,\n\t\t\t\ttargetRef: createRef(),\n\t\t\t}\n\t\t}));\n\n\n/**\n * Property changed effect handler.\n * @param {Props} items\n */\nexport const setInitialStateHandler = coeffects => {\n\tconst {properties: {items}, host} = coeffects;\n\treturn ({\n\t\tdragging: false,\n\t\tdragItemIndex: -1,\n\t\tdragOverIndex: -1,\n\t\tisTooltipRefReady: false,\n\t\titems: initializeItems(items),\n\t\tlistRef: createRef(),\n\t\tliveUpdateText: '',\n\t\tselectedIndexes: [],\n\t\tlastSelectedIndex: undefined, // contain the laset element selected/unselected for shift selection\n\t\tautoScrollToNewItems: true, // specified if auto scroll to new item is required (we only outo scroll in the first time new item is displayed)\n\t\thost\n\t});\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {handleComponentPropertyChanged} from './handlers/componentPropertyChangedHandler';\nimport {handleOpenedSet} from './handlers/tooltipOpenedSetHandler';\nimport {removeItemClickHandler} from './handlers/onClickHandler';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleComponentPropertyChanged,\n\t\tstopPropagation: true\n\t},\n\t['NOW_TOOLTIP#OPENED_SET']: {\n\t\teffect: handleOpenedSet,\n\t\tstopPropagation: true\n\t},\n\t['NOW_BUTTON_ICONIC#CLICKED']: {\n\t\teffect: removeItemClickHandler,\n\t\tstopPropagation: true\n\t}\n};\n","import {initializeItems} from './setInitialStateHandler';\n\n\n/**\n * Property changed effect handler.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleComponentPropertyChanged = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {name, value}\n\t\t},\n\t\tproperties: {\n\t\t\tnewItems\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tif (name === 'items') {\n\t\tupdateState({\n\t\t\tisTooltipRefReady: false,\n\t\t\titems: initializeItems(value),\n\t\t\tselectedIndexes: [],\n\t\t\tlastSelectedIndex: undefined,\n\t\t\tautoScrollToNewItems: newItems?.length > 0\n\t\t});\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './styles.scss';\nimport {view} from './view';\nimport {actionHandlers} from './actionHandlers';\nimport {setInitialStateHandler} from './handlers/setInitialStateHandler';\n\n/**\n *\n * @param {Coeffects<Props, State>} coeffects properties\n * @returns {{dragging: boolean, dragItemIndex: number, dragOverIndex: number, liveUpdateText: string, isTooltipRefReady: boolean, items: Array<Item>|*, listRef: *, selectedIndexes: array}}\n */\nconst setInitialState = coeffects => setInitialStateHandler(coeffects);\n\n/**\n * A List selector Selected items visual component used to contains the list of selected items,\n * manages its order and remove them if no longer necessary\n *\n * @seismicElement sn-selected-bucket\n * @summary A List selector Selected items visual component used to contains the list of selected items, manages its order and remove them if no longer necessary.\n */\ncreateCustomElement('sn-selected-bucket', {\n\tview,\n\tstyles,\n\tsetInitialState,\n\tproperties: {\n\t\t/**\n\t\t * Mandatory\n\t\t *\n\t\t * The list items to be displayed in the selected items list.\n\t\t * Each selected element structured from the elements the user dot walked until the element's panel opened\n\t\t * and the selected element as the lat item\n\t\t *\n\t\t * @type {Object}\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {type: 'string'}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tid: {type: 'string'},\n\t\t\t\t\t\tlocked: {type: 'boolean'}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * True/False flag to indicate if the selected items list can be reordered\n\t\t * @type {Boolean}\n\t\t */\n\t\tdisableReorder: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\n\t\t},\n\t\t/**\n\t\t * The selected items title to be read when accessed (by screen reader)\n\t\t *\n\t\t * @type {String}\n\t\t */\n\t\tariaLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Ids of the newly added item, they have a different style\n\t\t */\n\t\tnewItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tactions: {\n\t\t/**\n\t\t * Dispatched on change of selected fields order.\n\t\t * Payload contains all the items in the selected list ordered in the new order\n\t\t * @type {Object}\n\t\t */\n\t\t'SN_SELECTED_BUCKET#ITEMS_REORDERED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\titems : {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tid: {type: 'string'},\n\t\t\t\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\t\t\t\ttooltip: {type: 'string'}\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}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when one of the items in selected was removed.\n\t\t * Payload contains all the items in the selected list ordered in the new order\n\t\t * @type {String}\n\t\t */\n\t\t'SN_SELECTED_BUCKET#ITEM_DELETED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when a new item was added to the selected items.\n\t\t * Payload contains all the items in the selected list ordered in the new order\n\t\t * @type {String}\n\t\t */\n\t\t'SN_SELECTED_BUCKET#ITEM_SELECTED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\titemId: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {SELECTED_ITEMS_ID_SEPARATOR} from '../../shared/constants';\n\n/**\n * Convert a selected item to hash table key.\n * @param {array} path\n * @param {string} item\n * @returns {string}\n */\nexport const generateSelectedItemKey = path => {\n\tif (path)\n\t\treturn path.join(SELECTED_ITEMS_ID_SEPARATOR);\n\n\treturn '';\n};\n\n/**\n * convert selectedItems hashtable key back to selected item object\n * @param {string} key\n * @returns {{item, openItems: *}}\n */\nexport const convertKeyToSelectedItem = key => {\n\tif (!key)\n\t\treturn [];\n\n\treturn key.split(SELECTED_ITEMS_ID_SEPARATOR);\n};\n\n/**\n * Return the last item id in the items key\n * (which is a list of items ids seperated dot)\n * @param {string} key\n * @returns {string}\n */\nexport const getSelectedItemsKeyLastItem = key => {\n\tif (!key)\n\t\treturn;\n\n\tconst items = convertKeyToSelectedItem(key);\n\treturn items[items.length - 1];\n};\n\n/**\n * Get the currently visible panels ids\n * @param {object} coeffects\n * @returns {{leftPanel: *, rightPanel: *}}\n */\nexport const getOpenPanels = coeffects => {\n\tconst {state: {properties, openPanelsPath}} = coeffects;\n\tconst {onePanelMode} = properties;\n\n\tconst noRightPanel = onePanelMode || !openPanelsPath || (openPanelsPath && openPanelsPath.length <= 1);\n\tconst leftPanel = noRightPanel ?\n\t\topenPanelsPath[openPanelsPath.length - 1] : // one panel mode\n\t\topenPanelsPath[openPanelsPath.length - 2]; // two panels mode\n\n\tconst rightPanel = !noRightPanel ? openPanelsPath[openPanelsPath.length - 1] : null;\n\n\treturn {leftPanel, rightPanel};\n};\n\n/**\n * Find the panel on which the input item displayed, if panel not visible return undefined\n * @param {object} coeffects\n * @param {string} itemKey\n * @returns {*}\n */\nexport const findItemPanel = (coeffects, itemKey) => {\n\tconst {\n\t\tstate: {\n\t\t\topenPanelsPath,\n\t\t\titems,\n\t\t\trightPanelRef\n\t\t}\n\t} = coeffects;\n\n\tconst pathLength = openPanelsPath.length;\n\tconst itemPath = convertKeyToSelectedItem(itemKey);\n\tconst itemPathLength = itemPath.length;\n\tconst rightPanelEmpty = rightPanelRef?.current?.childNodes.length === 0;\n\n\tif (itemPathLength !== pathLength && itemPathLength + 1 !== pathLength) // item not in a visible panel\n\t\treturn;\n\n\tconst itemId = itemPath.pop();\n\tconst {leftPanel, rightPanel} = getOpenPanels(coeffects);\n\n\tif ((!rightPanel || rightPanelEmpty) && items[leftPanel][itemId]) // no right panel\n\t\treturn leftPanel;\n\n\tif (itemPathLength === pathLength && items[rightPanel][itemId]) // two panels item on the right\n\t\treturn rightPanel;\n\n\tif (itemPathLength + 1 === pathLength && items[leftPanel][itemId]) // two panels item on the left\n\t\treturn leftPanel;\n};\n","// external events\nexport const PANEL_CHANGED_EVENT = 'SN_AVAILABLE_ITEMS#PANEL_CHANGED';\nexport const ITEM_EXPAND_REQUESTED = 'SN_AVAILABLE_ITEMS#ITEM_EXPAND_REQUESTED';\nexport const CHECKED_SET_EVENT = 'SN_AVAILABLE_ITEMS#CHECKED_SET';\nexport const SCROLLED_TO_BOTTOM = 'SN_AVAILABLE_ITEMS#SCROLLED_TO_BOTTOM';\nexport const SEARCH_TERM_SET = 'SN_AVAILABLE_ITEMS#SEARCH_TERM_SET';\nexport const PANEL_LOAD_MORE_BUTTON_CLICKED = 'SN_AVAILABLE_ITEMS#PANEL_LOAD_MORE_BUTTON_CLICKED';\n\n// buttons\nexport const OPEN_ITEM_BUTTON = 'OPEN_ITEM_BUTTON';\nexport const CLOSE_PANELS_BUTTON = 'CLOSE_PANELS_BUTTON';\n\n","import {SEARCH_TERM_SET} from '../constants';\nimport {SEARCH} from '../../shared/constants';\n\n/**\n * Validates if text meats the search criteria according to search type (start with / includes), returns true or false\n * @param {string} text\n * @param {string} searchValue\n * @param {string} searchType\n * @returns {boolean}\n */\nconst validateItem = (text, searchValue, searchType) => {\n\tif (searchType === SEARCH.CONTAINS)\n\t\treturn text.toLowerCase().includes(searchValue.toLowerCase());\n\n\treturn text.toLowerCase().startsWith(searchValue.toLowerCase());\n};\n\n/**\n * filter a panel items according to input search value\n * @param {object} panelItems\n * @param {string} value\n * @param {string} openItem\n * @param {object} coeffects\n * @returns {{}}\n */\nexport const filterPanelItemsBySearchValue = (category, searchValue, openItem, coeffects) => {\n\tconst {state: {properties, items}} = coeffects;\n\tconst {search = SEARCH.INITIAL} = properties;\n\n\tconst panelItems = items[category];\n\n\tif (!searchValue)\n\t\treturn panelItems;\n\n\tconst filteredPanelItems = {};\n\n\t// if we have an open item (expanded) it must stay\n\t// if it does not meet the filter criteria it moves under \"open item\"\n\tif (panelItems[openItem] && !validateItem(panelItems[openItem]?.label, searchValue, search))\n\t\tfilteredPanelItems[openItem] = panelItems[openItem];\n\n\tObject.keys(panelItems).forEach(panelItem => {\n\t\tconst panelData = panelItems[panelItem];\n\n\t\tif (validateItem(panelData?.label, searchValue, search))\n\t\t\tfilteredPanelItems[panelItem] = panelData;\n\t\telse if (panelData?.subLabel && validateItem(panelData?.subLabel, searchValue, search)) // search on subLabel as well\n\t\t\tfilteredPanelItems[panelItem] = panelData;\n\t});\n\n\treturn filteredPanelItems;\n};\n\n/**\n * This handler filters out items according to search criteria\n * @param {object} coeffects\n * @returns {(function(*): void)|*}\n */\nexport const searchChangedHandler = (coeffects, rightPanel, leftPanel) =>\n\tevent => {\n\t\tconst {updateState, dispatch} = coeffects;\n\n\t\tconst element = event.target;\n\t\tif (!element)\n\t\t\treturn;\n\n\t\tconst value = element.value || '';\n\n\t\tupdateState({\n\t\t\tsearchValue: value,\n\t\t\tactiveItem: undefined,\n\t\t\tlastSelectedItem: undefined\n\t\t});\n\n\t\tdispatch(SEARCH_TERM_SET, {searchValue: value, category: leftPanel, openedCategory: rightPanel});\n\t};\n","import {\n\tconvertKeyToSelectedItem,\n\tfindItemPanel,\n\tgetOpenPanels,\n\tgetSelectedItemsKeyLastItem\n} from './utils';\nimport {CHECKED_SET_EVENT} from '../constants';\n\n/**\n * End Shift selection flow (shift key no longer pressed)\n * @param {object} coeffects\n */\nexport const checkedSetShiftEnded = coeffects => {\n\tconst {updateState} = coeffects;\n\tupdateState({shiftSelectedItems: undefined, activeItem: undefined});\n};\n\n/**\n * End Shift selection flow (shift key no longer pressed)\n * @param {object} coeffects\n */\nexport const checkedSetShiftStarted = coeffects => {\n\tconst {updateState} = coeffects;\n\tupdateState({shiftSelectedItems: {}, activeItem: undefined});\n};\n\nconst isItemUnselectable = (coeffects, itemKey) => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tunselectableItems = {}\n\t\t\t}\n\t\t}\n\t} = coeffects;\n\n\tconst itemPanel = findItemPanel(coeffects, itemKey);\n\tconst itemId = getSelectedItemsKeyLastItem(itemKey);\n\tconst itemUnselectable = unselectableItems[itemPanel] && unselectableItems[itemPanel].includes(itemId);\n\n\treturn itemUnselectable;\n};\n\n/**\n * Get the list of items between the input item to the last selected item\n * @param {object} coeffects\n * @param {string} itemKey - the input item for searching items list\n * @returns {object} - object of items\n */\nconst getShiftSelectedItems = (coeffects, itemKey) => {\n\tconst {\n\t\tstate: {\n\t\t\tlastSelectedItem,\n\t\t\trightPanelRef,\n\t\t\tleftPanelRef,\n\t\t\tselectedItems\n\t\t}\n\t} = coeffects;\n\n\tconst {rightPanel} = getOpenPanels(coeffects); // check if right panel is open and not empty\n\tconst itemPanel = findItemPanel(coeffects, itemKey);\n\tconst lastSelectedPanel = findItemPanel(coeffects, lastSelectedItem);\n\n\t// only if both items (last selected and hovered) on the same panel we select\n\tif (!itemPanel || itemPanel !== lastSelectedPanel)\n\t\treturn;\n\n\t// Get panel items, it must be from DOM and not from items object since order matters and item is an hash table\n\tconst panelItems = itemPanel === rightPanel ?\n\t\tArray.from(rightPanelRef.current.querySelectorAll('.panel-item')) :\n\t\tArray.from(leftPanelRef.current.querySelectorAll('.panel-item:not(.panel-variables)'));\n\n\tconst lastSelectedPos = panelItems.findIndex(item => item.id === lastSelectedItem);// keysArray.indexOf(lastSelectedId);\n\tconst hoveredItemPos = panelItems.findIndex(item => item.id === itemKey);\n\tconst startIndex = Math.min(lastSelectedPos, hoveredItemPos);\n\tconst endIndex = Math.max(lastSelectedPos, hoveredItemPos);\n\n\tconst shiftSelectedItems = {};\n\t// get only the items between the last selected and hovered items\n\tpanelItems.forEach((item, index) => {\n\t\tconst isLocked = selectedItems[item.id]?.locked;\n\t\tconst isUnselectable = isItemUnselectable(coeffects, item.id);\n\t\tif (index >= startIndex && index <= endIndex && item.id !== lastSelectedItem && !isLocked && !isUnselectable)\n\t\t\tshiftSelectedItems[item.id] = true;\n\t});\n\n\treturn shiftSelectedItems;\n};\n\n\n/**\n * Handles hover while shift key is pressed\n * by saving the item to the multi selected items array\n * to be selected at the end of the process (second shift+click)\n * @param {object} coeffects\n * @param {string} itemKey\n */\nexport const checkedSetHoverShiftHandler = (coeffects, itemKey) =>\n\t() => {\n\t\tconst {\n\t\t\tupdateState,\n\t\t\tstate: {\n\t\t\t\tshiftSelectedItems,\n\t\t\t\tlastSelectedItem\n\t\t\t}\n\t\t} = coeffects;\n\n\t\tif (!shiftSelectedItems || !lastSelectedItem) // shift not selected, or no item to start from\n\t\t\treturn;\n\n\t\tconst newShiftSelectedItems = getShiftSelectedItems(coeffects, itemKey) || {};\n\n\t\tupdateState({shiftSelectedItems: newShiftSelectedItems});\n\t};\n\nconst checkedSetSingleItemHandler = (coeffects, itemKey) => {\n\tconst {\n\t\tstate: {\n\t\t\tselectedItems\n\t\t},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\n\tconst isSelected = !selectedItems[itemKey]?.selected; // toggle selection\n\tif (isSelected)\n\t\tselectedItems[itemKey] = {selected: true}; // add to selected items hash\n\telse\n\t\tdelete selectedItems[itemKey]; // remove from selected items hash\n\n\t// convert selected item to selectedItem property format and add to payload\n\tconst selectedItemArr = convertKeyToSelectedItem(itemKey);\n\n\tdispatch(CHECKED_SET_EVENT, [{item: selectedItemArr, checked: isSelected}]);\n\n\tupdateState({selectedItems, activeItem: itemKey, lastSelectedItem: itemKey});\n};\n\n/**\n * Get the list of items between the last selected item (the last element that was clicked)\n * and the input item (itemKey)\n * @param {object} coeffects\n * @param {string} itemKey\n */\nconst checkedSetShiftHandler = (coeffects, itemKey) => {\n\tconst {state: {selectedItems, lastSelectedItem}, updateState, dispatch} = coeffects;\n\tconst checkedItems = [];\n\n\t// check if the element selected, if it is we are in multi selection state, if not multi un-select\n\tconst shiftSelectedChecked = selectedItems[lastSelectedItem]?.selected;\n\n\tconst shiftSelectedItems = getShiftSelectedItems(coeffects, itemKey);\n\tif (!shiftSelectedItems) { // not a multi selection, select the single item clicked since we do not have lastSelectedItem\n\t\tcheckedSetSingleItemHandler(coeffects, itemKey);\n\t\tupdateState({shiftSelectedItems: {}}); // start shift selection process\n\t\treturn;\n\t}\n\t// select all elements in shiftSelectedItems\n\tObject.keys(shiftSelectedItems).forEach(item => {\n\t\t// convert selected item to selectedItem property format and add to payload\n\t\tconst selectedItemArr = convertKeyToSelectedItem(item);\n\t\tif ((shiftSelectedChecked && !selectedItems[item]?.selected) || // added item that is not currently in the selected list\n\t\t\t(!shiftSelectedChecked && selectedItems[item]?.selected)) // removed item that was not removed yet from the list\n\t\t\tcheckedItems.push({item: selectedItemArr, checked: !!shiftSelectedChecked}); //only item that changed its state is published by event\n\n\t\tif (shiftSelectedChecked)\n\t\t\tselectedItems[item] = {selected: true};\n\t\telse\n\t\t\tdelete selectedItems[item];\n\t});\n\n\tdispatch(CHECKED_SET_EVENT, checkedItems);\n\t// clear shift selection flow by initializing shiftSelectedItems\n\tupdateState({shiftSelectedItems: undefined, selectedItems, lastSelectedItem: itemKey, activeItem: itemKey});\n};\n\n/**\n * This handler handles checkbox click event\n * It will send an event with the checked item path and its checked value\n * @param {object} coeffects\n */\nexport const checkedSetHandler = (coeffects, itemKey) =>\n\tevent => {\n\t\tconst {\n\t\t\tstate: {\n\t\t\t\tselectedItems,\n\t\t\t\tlastSelectedItem,\n\t\t\t\tshiftSelectedItems\n\t\t\t}\n\t\t} = coeffects;\n\t\tif (selectedItems[itemKey]?.locked) // locked item cannot be selected or unselected\n\t\t\treturn;\n\n\t\tconst itemUnselectable = isItemUnselectable(coeffects, itemKey);\n\t\tif (itemUnselectable) // readonly item cannot be selected or unselected\n\t\t\treturn;\n\n\t\tconst lastSelectedItemOnPanel = lastSelectedItem && convertKeyToSelectedItem(lastSelectedItem).length === convertKeyToSelectedItem(itemKey).length;\n\t\t// if shift key (shiftSelectedItems is only defined if shift is pressed) is pressed we are on multi select mode\n\t\tif ((event.shiftKey || shiftSelectedItems) && lastSelectedItemOnPanel)\n\t\t\tcheckedSetShiftHandler(coeffects, itemKey);\n\t\telse\n\t\t\tcheckedSetSingleItemHandler(coeffects, itemKey);\n\n\t};\n\n/**\n * Select all items of the right most panel (right panel if exists and not empty left panel otherwise)\n * @param {object} coeffects\n */\nexport const selectAllItems = coeffects => {\n\tconst {\n\t\tstate: {\n\t\t\tselectedItems,\n\t\t\trightPanelRef,\n\t\t\tleftPanelRef,\n\t\t\thost\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\n\tconst newSelectedItems = {...selectedItems};\n\n\t// get focused element\n\tconst focusables = host.shadowRoot.activeElement;\n\t// find focused element parent panel\n\tconst panel = focusables && focusables.closest('.panel-right') ? 'right' : 'left';\n\n\tconst panelItems = panel === 'right' ?\n\t\trightPanelRef.current.querySelectorAll('.panel-item') :\n\t\tleftPanelRef.current.querySelectorAll('.panel-item:not(.panel-variables)');\n\tconst checkedItems = [];\n\n\tpanelItems.forEach(item => {\n\t\tif (!newSelectedItems[item.id]?.selected) {\n\t\t\t// convert selected item to selectedItem property format and add to payload\n\t\t\tconst selectedItemArr = convertKeyToSelectedItem(item.id);\n\n\t\t\tconst isUnselectable = isItemUnselectable(coeffects, item.id);\n\t\t\tif (!isUnselectable) { // readonly item cannot be selected or unselected\n\t\t\t\tnewSelectedItems[item.id] = {selected: true};\n\t\t\t\tcheckedItems.push({item: selectedItemArr, checked: true});\n\t\t\t}\n\t\t}\n\t});\n\n\tdispatch(CHECKED_SET_EVENT, checkedItems);\n\tupdateState({selectedItems: newSelectedItems, lastSelectedItem: undefined});\n};\n","import {\n\tARROW_LEFT,\n\tARROW_RIGHT,\n\tCTRL_A,\n\tENTER,\n\tSHIFT,\n\tnormalizeKey,\n} from '../../shared/keyboardEvents';\nimport {checkedSetShiftEnded, checkedSetShiftStarted, selectAllItems} from './checkedSetHandler';\n\n/**\n * Handle ARROW_RIGHT and ARROW_LEFT event by navigating between the checkbox and expand button\n * @param {object} event\n */\nconst moveItemFocusToRightAndLeft = (coeffects, event) => {\n\tconst {key, target} = event;\n\tconst {state: {rightPanelRef, leftPanelRef}} = coeffects;\n\n\tconst isRightPanel = event.composedPath().some(element => element.classList?.contains('panel-right'));\n\tconst isLeftPanel = event.composedPath().some(element => element.classList?.contains('panel-left'));\n\tif (!isRightPanel && !isLeftPanel) // focus is not on one of the panels - do nothing\n\t\treturn;\n\n\tif (isLeftPanel &&\n\t\tkey === ARROW_RIGHT &&\n\t\ttarget.parentNode.classList.contains('panel-item') || // panel item\n\t\ttarget.parentNode.classList.contains('panel-item-popover') // panel item info cutton\n\t) {\n\t\t// arrow right on expand button move focus to first element on right panel\n\t\tconst rightPanel = rightPanelRef.current;\n\n\t\tconst focusElement = rightPanel.querySelector('now-checkbox');\n\t\tfocusElement?.focus();\n\t} else if (isRightPanel && key === ARROW_LEFT) {\n\t\t// arrow left on right panel move focus back to expand button on expanded item\n\t\tconst leftPanel = leftPanelRef.current;\n\n\t\tconst expandedItem = leftPanel.querySelector('.panel-row--open .panel-item-expand');\n\t\texpandedItem?.focus();\n\t}\n\n\tevent.preventDefault();\n};\n\n/**\n * Handle ENTER key event for checkbox item by emulating a click\n * @param {object} event\n */\nconst clickFocusedElement = event => {\n\tconst path = event.composedPath();\n\tif (!path)\n\t\treturn;\n\tconst element = path[0];\n\n\tif (element?.type === 'checkbox') {\n\t\telement.click();\n\t\tevent.preventDefault();\n\t}\n};\n\n/**\n * keyboard handler for keyboard navigation (accessibility).\n * @param {object} event\n */\nexport const handleKeyDown = coeffects =>\n\tevent => {\n\t\tconst key = normalizeKey(event);\n\n\t\tswitch (key) {\n\t\t\tcase (ARROW_RIGHT):\n\t\t\tcase (ARROW_LEFT):\n\t\t\t\tmoveItemFocusToRightAndLeft(coeffects, event);\n\t\t\t\tbreak;\n\t\t\tcase (ENTER):\n\t\t\t\tclickFocusedElement(event);\n\t\t\t\tbreak;\n\t\t\tcase (CTRL_A):\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectAllItems(coeffects);\n\t\t\t\tbreak;\n\t\t\tcase (SHIFT):\n\t\t\t\tcheckedSetShiftStarted(coeffects);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\nexport const handleKeyUp = coeffects =>\n\tevent => {\n\t\tconst key = normalizeKey(event);\n\n\t\tif (key === SHIFT)\n\t\t\tcheckedSetShiftEnded(coeffects);\n\t};\n","import {SCROLLED_TO_BOTTOM} from '../constants';\nimport {getOpenPanels} from './utils';\n\nexport const BOTTOM_THRESHOLD = 100;\n\n/**\n *\n * @param {object} coeffects\n * @param {string} panel - the panel (category) on which scroll event fired\n * @returns {(function(*): void)|*}\n */\nexport const handleScroll = (coeffects, panel) =>\n\tevent => {\n\t\tconst {\n\t\t\tdispatch,\n\t\t\tstate: {reportBottomSent}, // used to track scrolled_to_bottom event so it won't be send more than once\n\t\t\tupdateState\n\t\t} = coeffects;\n\n\t\tif (!panel)\n\t\t\treturn;\n\n\t\t// calculate scroll position\n\t\t/*\n\t\t* scrollHeight: the total scroll height - from element start to end\n\t\t* scrollTop: the area above the scroll - from element start to current scroll position\n\t\t* clientHeight: the visible area of the element\n\t\t*\n\t\t* So if the scroll reached its end:\n\t\t*     scrollHeight - scrollTop = clientHeight\n\t\t* Or:\n\t\t* \t  scrollHeight - scrollTop - clientHeight = 0\n\t\t* To enable data loading time we want to fire the event before reaching the scroll end:\n\t\t*     scrollHeight - clientHeight - scrollTop < 100\n\t\t*/\n\t\tconst {scrollHeight, scrollTop, clientHeight} = event.target;\n\t\tconst distanceFromBottom = scrollHeight - clientHeight - scrollTop;\n\n\t\t// scrollTop === 0 means no scroll\n\t\tif (scrollTop !== 0 && distanceFromBottom < BOTTOM_THRESHOLD && !reportBottomSent[panel]) {\n\t\t\tdispatch(SCROLLED_TO_BOTTOM, {category: panel});\n\t\t\treportBottomSent[panel] = true;\n\t\t} else if (distanceFromBottom >= BOTTOM_THRESHOLD) {\n\t\t\t// initialize flag if distance is bigger than 100 (due to scroll up or data load)\n\t\t\treportBottomSent[panel] = false;\n\t\t}\n\n\t\tupdateState({reportBottomSent});\n\t};\n\n/**\n * Check if the panel has scroll\n * @param {object} coeffects\n * @param {string} panel\n * @returns {boolean}\n */\nexport const isPanelHasScroll = (coeffects, panel) => {\n\tconst {state: {leftPanelRef, rightPanelRef}} = coeffects;\n\tconst {leftPanel, rightPanel} = getOpenPanels(coeffects);\n\n\tif (leftPanel !== panel && rightPanel !== panel)\n\t\treturn;\n\n\tconst panelObject = leftPanel === panel ? leftPanelRef.current : rightPanelRef.current;\n\n\tif (!panelObject)\n\t\treturn;\n\n\tconst {scrollHeight, clientHeight} = panelObject;\n\n\treturn scrollHeight > clientHeight;\n};\n","import '@servicenow/now-checkbox';\nimport '@servicenow/now-breadcrumbs';\nimport '@servicenow/now-button';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-rich-text';\nimport '@servicenow/now-icon';\nimport {t} from 'sn-translate';\nimport {\n\tconvertKeyToSelectedItem,\n\tgenerateSelectedItemKey,\n\tgetOpenPanels,\n\tgetSelectedItemsKeyLastItem\n} from './handlers/utils';\nimport {filterPanelItemsBySearchValue, searchChangedHandler} from './handlers/searchHandler';\nimport {CLOSE_PANELS_BUTTON, OPEN_ITEM_BUTTON} from './constants';\nimport {handleKeyDown, handleKeyUp} from './handlers/keyboardEventHandler';\nimport {handleScroll} from './handlers/scrollHandler';\nimport {checkedSetHandler, checkedSetHoverShiftHandler} from './handlers/checkedSetHandler';\n\nconst getOpenItemButtonText = itemLabel => t({code: 'sn-list-selector', message: 'Open item: {itemLabel}'}, {itemLabel});\nconst CLOSE_PANELS_BUTTON_TEXT = t({code: 'sn-list-selector', message: 'Close panels'});\nconst SEARCH_TEXT = t({code: 'sn-list-selector', message: 'Search'});\nconst LEFT_PANEL_TEXT = t({code: 'sn-list-selector', message: 'Left panel'});\nconst RIGHT_PANEL_TEXT = t({code: 'sn-list-selector', message: 'Right panel'});\nconst ITEM_INFO_BUTTON_TEXT = t({code: 'sn-list-selector', message: 'Open additional data'});\nconst RELOAD_DATA_TEXT = t({code: 'sn-list-selector', message: 'Reload data'});\n\n/**\n * Check if the page direction is RTL (right to left)\n * @returns {boolean}\n */\nconst isRTL = () => document.dir === 'rtl';\n\n/**\n * get the last focused item on left panel (it is displayed with a different style)\n * 1) to check on which panel the focus item is all we need is to compare the item path length to panels path length\n *     if items path is the same length of panels path item click is on the right panel if smaller it is on the left\n * 2) if a right panel item is focused, the last item that was focused in the left panel must be the open panel\n * @param {string} activeItem\n * @param {array} openPanelsPath\n * @param {array} openItemsPath\n * @returns {*|string}\n */\nconst getLeftActiveItem = (activeItem, openPanelsPath, openItemsPath) => {\n\n\tconst openItem = openItemsPath[openItemsPath.length - 1];\n\tconst focusItemId = getSelectedItemsKeyLastItem(activeItem);\n\tconst isRightPanelItemFocused = convertKeyToSelectedItem(activeItem).length === openPanelsPath.length;\n\treturn !activeItem || isRightPanelItemFocused ? openItem : focusItemId;\n};\n\n/**\n * Generate JSX for panel item expand chevron icon\n * @param {object} item\n * @param {object} itemData\n * @param {string} panel\n * @returns {JSX.Element|null}\n */\nconst expandButtonJsx = (item, itemData, panel) => (itemData.reference ?\n\t<now-button-iconic\n\t\tclassName='panel-item-expand'\n\t\ticon={isRTL() ? 'chevron-left-fill' : 'chevron-right-fill'}\n\t\tvariant='tertiary'\n\t\tsize='md'\n\t\thide-padding={true}\n\t\tconfig-aria={{button: {'aria-label': getOpenItemButtonText(itemData.label)}}}\n\t\ttooltip-content={getOpenItemButtonText(itemData.label)}\n\t\tappend-to-payload={{\n\t\t\tbutton: OPEN_ITEM_BUTTON,\n\t\t\titem,\n\t\t\tpanel\n\t\t}}\n\t/> :\n\tnull);\n\n/**\n * Generate JSX for panel item info button\n * @param {object} itemData\n * @param {boolean} showHiddenControls - if true icon always displayed\n * @returns {JSX.Element|null}\n */\nconst infoButtonJsx = (itemData, showHiddenControls) => {\n\tconst popoverPosition = [\n\t\t{target: 'center-end', content: 'center-start'},\n\t\t{target: 'top-end', content: 'top-start'},\n\t\t{target: 'bottom-end', content: 'bottom-start'},\n\t\t{target: 'center-start', content: 'center-end'},\n\t\t{target: 'top-start', content: 'top-end'},\n\t\t{target: 'bottom-start', content: 'bottom-end'}\n\t];\n\n\tconst popoverClass = {\n\t\t'panel-item-popover': true,\n\t\t'panel-item-popover--visible': showHiddenControls\n\t};\n\n\t// I need to wrap additionalData with div since now-rich-text style would not effect its content\n\tconst itemAdditionalData = `<div style='padding:5px;max-width:360px;'>${itemData.additionalData}<\/div>`;\n\n\treturn itemData.additionalData ? (\n\t\t<now-popover interaction-type='none' positions={popoverPosition} class={popoverClass}>\n\t\t\t<now-button-iconic\n\t\t\t\tslot='trigger'\n\t\t\t\ticon='circle-info-outline'\n\t\t\t\tvariant='tertiary'\n\t\t\t\tsize='sm'\n\t\t\t\thide-padding={true}\n\t\t\t\tconfig-aria={{button: {'aria-label': ITEM_INFO_BUTTON_TEXT}}}\n\t\t\t\ttooltip-content={ITEM_INFO_BUTTON_TEXT}\n\t\t\t/>\n\t\t\t<div slot='content'>{ITEM_INFO_BUTTON_TEXT}<\/div>\n\t\t\t<now-rich-text slot='content' aria-live='polite' html={itemAdditionalData}/>\n\t\t<\/now-popover>) : null;\n};\n\n/**\n * Generate JSX for item sub label\n * @param {object} itemData\n * @returns {JSX.Element|null}\n */\nconst subLabelJsx = itemData =>\n\t(itemData?.subLabel ? (\n\t\t<div className='panel-item-sublabel-div'>\n\t\t\t<span className='panel-item-sublabel'>{itemData?.subLabel}<\/span>\n\t\t<\/div>) : null);\n\n/**\n * Generate JSX for panel item checkbox component\n * @param {array} itemData\n * @param {string} itemSelectedKey\n * @param {boolean} isItemSelected\n * @param {boolean} isItemLocked\n * @returns {JSX.Element}\n */\nconst checkBoxJsx = (itemData, itemSelectedKey, isItemSelected, isItemLocked, coeffects) => (\n\t<now-checkbox\n\t\tclassName='panel-item-checkbox'\n\t\tsize='md'\n\t\tname={itemSelectedKey}\n\t\tvalue={false}\n\t\tchecked={isItemSelected}\n\t\treadonly={isItemLocked}\n\t\tlabel={itemData.label}\n\t\tmanageChecked={true}\n\t\ton-click={checkedSetHandler(coeffects, itemSelectedKey)}\n\t\tconfig-aria={{\n\t\t\tcheckbox: {\n\t\t\t\t'aria-label': itemData.label,\n\t\t\t\trole: 'checkbox',\n\t\t\t\t'aria-checked': 'false'\n\t\t\t}\n\t\t}}\n\t/>\n);\n\n/**\n * Generate JSX for separator item\n * @param {string} label\n * @returns {JSX.Element}\n */\nconst separatorJsx = label => <div className='variables-separator'>{label}<\/div>;\n\nconst addLoaderToPanelItemsJsx = (panelConfig, panelItemsJsx) => {\n\t// Add a Loader at the End of variabile when more Variables are Available to display\n\tif (panelConfig.moreDataAvailable) {\n\t\tconst loadingIcon = <div>\n\t\t\t<now-loader label='' size='md' action='' />\n\t\t<\/div>;\n\t\tpanelItemsJsx.push(loadingIcon);\n\t}\n\n\t// add reload button at the beginning of the panel\n\tif (panelConfig.showTopReloadButton) {\n\t\tconst goToStartLinkStart = <div className='reload-variables-link-start'>\n\t\t\t<now-button-bare label={RELOAD_DATA_TEXT} variant=\"secondary\" size=\"md\" icon-start=\"sync-outline\" />\n\t\t<\/div>;\n\t\tpanelItemsJsx.unshift(goToStartLinkStart);\n\t}\n\n\t// add reload button at the end of the panel\n\tif (panelConfig.showBottomReloadButton) {\n\t\tconst goToStartLinkEnd = <div className='reload-variables-link-end'>\n\t\t\t<now-button-bare label={RELOAD_DATA_TEXT} variant=\"secondary\" size=\"md\" icon-start=\"sync-outline\" />\n\t\t<\/div>;\n\t\tpanelItemsJsx.push(goToStartLinkEnd);\n\t}\n};\n\n/**\n * generates one panels JSX\n * @param {object} coeffects\n * @param {object} panelItems\n * @param {string} panel\n * @param {array} openItemsPath\n * @param {string} openItem\n * @param {boolean} showHiddenControls\n * @param {boolean} variablesRenderingMode\n * @returns {*[]}\n */\nconst generatePanelItemsJsx = (coeffects, panelItems, panel, openItemsPath, openItem = '', searchMode = false) => {\n\tlet panelItemsJsx = [];\n\tconst variablesJsx = [];\n\tconst searchOpenItemJsx = [];\n\n\tconst {\n\t\tstate: {\n\t\t\tselectedItems,\n\t\t\tshiftSelectedItems,\n\t\t\tlastSelectedItem,\n\t\t\tproperties: {\n\t\t\t\tshowHiddenControls = false,\n\t\t\t\tcategoriesConfig,\n\t\t\t\tvariablesConfig = {variablesItemNames: [], variableCategory: ''},\n\t\t\t\tunselectableItems = {}\n\t\t\t}\n\t\t}\n\t} = coeffects;\n\n\t// if not data available return loading spinner\n\tif (!panelItems)\n\t\treturn <div className='panel-spinner'><now-loader label='' size='lg' action='' /><\/div>;\n\n\tconst panelConfig = categoriesConfig[panel] || {showVariables: false, moreDataAvailable: false, showTopReloadButton: false, showBottomReloadButton: false};\n\tconst shiftSelectedChecked = selectedItems[lastSelectedItem]; // expected value in shift select is the value of the last selected element\n\tconst unselectablePanelItems = unselectableItems[panel] || [];\n\tconst shouldRenderVariables = panelConfig.showVariables;\n\n\tfor (const item in panelItems) {\n\t\tconst itemData = panelItems[item];\n\t\tconst itemSelectedKey = generateSelectedItemKey([...openItemsPath, item]);\n\t\tconst isItemLocked = selectedItems[itemSelectedKey]?.locked === true || unselectablePanelItems.includes(item);\n\t\tconst isItemOpened = openItem === item;\n\t\tconst isShiftSelected = shiftSelectedItems && !!shiftSelectedItems[itemSelectedKey];\n\t\tconst isItemSelected = !isShiftSelected ? selectedItems[itemSelectedKey]?.selected === true : // no shift pressed display selected actual value\n\t\t\tshiftSelectedChecked ? isShiftSelected : !isShiftSelected; // shift pressed display expected value after shift selection\n\n\t\tconst checkBox = checkBoxJsx(itemData, itemSelectedKey, isItemSelected, isItemLocked, coeffects);\n\n\t\tconst expandButton = expandButtonJsx(item, itemData, panel);\n\n\t\tconst infoButton = infoButtonJsx(itemData, showHiddenControls);\n\n\t\tconst subLabel = subLabelJsx(itemData);\n\n\t\tconst itemStyle = {\n\t\t\t'panel-row': true,\n\t\t\t'panel-row--open': isItemOpened,\n\t\t\t'panel-row--shift': isShiftSelected\n\t\t};\n\n\t\tif (shouldRenderVariables && variablesConfig.variablesItemNames.includes(item)) {\n\t\t\t// The variable section has to be visible at the end of the panel\n\t\t\tvariablesJsx.push(\n\t\t\t\tseparatorJsx(t({code: 'sn-list-selector', message: 'Other'}))\n\t\t\t);\n\t\t\tvariablesJsx.push(\n\t\t\t\t<div class={itemStyle} attr-id={itemSelectedKey}>\n\t\t\t\t\t<fieldset className='panel-item panel-variables' attr-id={itemSelectedKey}>\n\t\t\t\t\t\t<div className='variables-item'>{itemData?.label}<\/div>\n\t\t\t\t\t\t{infoButton}\n\t\t\t\t\t\t{expandButton}\n\t\t\t\t\t<\/fieldset>\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t} else if (searchMode && isItemOpened) {\n\t\t\t// a filtered out openItem (by search) has to be visible at the beginning of the panel\n\t\t\tsearchOpenItemJsx.push(\n\t\t\t\tseparatorJsx(t({code: 'sn-list-selector', message: 'Open item'}))\n\t\t\t);\n\t\t\tsearchOpenItemJsx.push(\n\t\t\t\t<div class={itemStyle} attr-id={itemSelectedKey}>\n\t\t\t\t\t<fieldset className='panel-item' attr-id={itemSelectedKey}>\n\t\t\t\t\t\t{checkBox}\n\t\t\t\t\t\t{infoButton}\n\t\t\t\t\t\t{expandButton}\n\t\t\t\t\t<\/fieldset>\n\t\t\t\t\t{subLabel}\n\t\t\t\t<\/div>);\n\t\t\tsearchOpenItemJsx.push(\n\t\t\t\tseparatorJsx(t({code: 'sn-list-selector', message: 'Search results'}))\n\t\t\t);\n\t\t} else {\n\t\t\tpanelItemsJsx.push(\n\t\t\t\t<div class={itemStyle} attr-id={itemSelectedKey} on-mouseover={checkedSetHoverShiftHandler(coeffects, itemSelectedKey)}>\n\t\t\t\t\t<fieldset className='panel-item' attr-id={itemSelectedKey}>\n\t\t\t\t\t\t{checkBox}\n\t\t\t\t\t\t{infoButton}\n\t\t\t\t\t\t{expandButton}\n\t\t\t\t\t<\/fieldset>\n\t\t\t\t\t{subLabel}\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t}\n\t}\n\n\tif (variablesJsx.length > 0) // The variable section has to be visible at the end of the panel\n\t\tpanelItemsJsx = panelItemsJsx.concat(variablesJsx);\n\n\tif (searchOpenItemJsx.length > 0) // a filtered out openItem (by search) has to be visible at the beginning of the panel\n\t\tpanelItemsJsx = searchOpenItemJsx.concat(panelItemsJsx);\n\n\taddLoaderToPanelItemsJsx(panelConfig, panelItemsJsx);\n\n\treturn panelItemsJsx;\n};\n\n/**\n * generates panels JSX\n * @param {object} coeffects\n * @param {boolean} isRightPanelEmpty\n * @param {boolean} noRightPanel\n * @returns {{rightPanelItems: *[], leftPanelItems: *[]}}\n */\nconst generatePanelsJsx = (coeffects,\n\tisRightPanelEmpty,\n\tnoRightPanel) => {\n\tlet leftPanelItemsJsx = [];\n\tlet rightPanelItemsJsx = [];\n\n\tconst {state: {\n\t\titems,\n\t\topenPanelsPath,\n\t\topenItemsPath,\n\t\tsearchValue,\n\t\tproperties: {variablesConfig}\n\t}} = coeffects;\n\n\tconst {leftPanel, rightPanel} = getOpenPanels(coeffects);\n\tconst variablesTable = variablesConfig?.variableCategory;\n\n\tif (items && Object.keys(items).length > 0 && openPanelsPath) {\n\t\t// for the left panel I remove the last element from openItemsPath, required for item selection calculation\n\t\tconst leftPanelItemsPath = noRightPanel ? openItemsPath : openItemsPath.slice(0, openItemsPath.length - 1);\n\t\t// openItem is always on left panel and only if right panel is open\n\t\tconst openItem = rightPanel ? openItemsPath[openItemsPath.length - 1] : undefined;\n\n\t\t// filter left panel items if we have search value to filter by\n\t\t// variables are being filtered in parent component by DB query, therefor if we should render variables we do not need to filter\n\t\tconst leftPanelItems = leftPanel === variablesTable ? items[leftPanel] : filterPanelItemsBySearchValue(leftPanel, searchValue, openItem, coeffects);\n\n\t\tleftPanelItemsJsx = generatePanelItemsJsx(\n\t\t\tcoeffects,\n\t\t\tleftPanelItems,\n\t\t\tleftPanel,\n\t\t\tleftPanelItemsPath,\n\t\t\topenItem,\n\t\t\t!!searchValue\n\t\t);\n\n\t\t// do not display right panel values:\n\t\t// if the right panel item does not exist in left panel (filtered by search)\n\t\t// if the left panel open item is not focused (input parameter isRightPanelEmpty)\n\t\t// in those cases right panel will be displayed empty\n\t\tif (rightPanel && !isRightPanelEmpty) {\n\t\t\t// variables are being filtered in parent component by DB query, therefor if we should render variables we do not need to filter\n\t\t\tconst rightPanelItems = rightPanel === variablesTable ? items[rightPanel] : filterPanelItemsBySearchValue(rightPanel, searchValue, undefined, coeffects);\n\t\t\trightPanelItemsJsx = generatePanelItemsJsx(\n\t\t\t\tcoeffects,\n\t\t\t\trightPanelItems,\n\t\t\t\trightPanel,\n\t\t\t\topenItemsPath,\n\t\t\t\tundefined,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\t}\n\n\treturn {leftPanelItems: leftPanelItemsJsx, rightPanelItems: rightPanelItemsJsx, leftPanel, rightPanel};\n};\n\nconst generateBreadcrumbJsx = (items = {}, openPanelsPath, openItemsPath, isRightPanelEmpty) => {\n\tif (!items || !openItemsPath || openItemsPath.length < 1)\n\t\treturn null;\n\n\tlet breadcrumbs = [{label: CLOSE_PANELS_BUTTON_TEXT, icon: 'home-outline', href: 'javascript:void(0)', itemPosition: -1, hideLabel: true}];\n\topenItemsPath.forEach((item, index) => {\n\t\tconst panel = openPanelsPath[index];\n\t\tconst itemData = items[panel][item];\n\t\tif (itemData)\n\t\t\tbreadcrumbs.push({label: itemData.label, href: 'javascript:void(0)', itemPosition: index});\n\t});\n\n\tif (breadcrumbs.length === 1) // only home items means there are not items\n\t\treturn null;\n\n\t// is left item is not focused right panel displayed empty\n\t// in such case we want to remove the last item from breadcrumbs as well\n\tif (isRightPanelEmpty)\n\t\tbreadcrumbs = breadcrumbs.slice(0, breadcrumbs.length - 1);\n\n\treturn breadcrumbs.length > 1 ? (\n\t\t<now-breadcrumbs\n\t\t\tclassName='breadcrumbs-comp'\n\t\t\titems={breadcrumbs}\n\t\t\toverflow='truncate-collapse'\n\t\t\tdelimiter='chevron'\n\t\t/>\n\t) : ( // if we have only one item in breadcrumbs it is not clickable so we need to replace it with button\n\t\t<now-button-iconic\n\t\t\ticon='home-outline'\n\t\t\tvariant='tertiary'\n\t\t\tsize='sm'\n\t\t\thide-padding={true}\n\t\t\tconfig-aria={{button: {'aria-label': CLOSE_PANELS_BUTTON_TEXT}}}\n\t\t\ttooltip-content={CLOSE_PANELS_BUTTON_TEXT}\n\t\t\tappend-to-payload={{\n\t\t\t\tbutton: CLOSE_PANELS_BUTTON\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * this function handles focus lost event on the available items component\n * if we get focus out and non of the children has focus or now-breadcrumbs got the focus\n * focus is outside the component\n * @param {object}  coeffects\n * @returns {(function(*): void)|*}\n */\nconst focusHandler = coeffects =>\n\t() => {\n\n\t\tconst {state: {containerRef}, updateState} = coeffects;\n\t\tconst componentFocused = containerRef?.current.matches(':focus-within');\n\n\t\tupdateState({\n\t\t\tpath: 'componentFocused',\n\t\t\tvalue: componentFocused,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\t};\n\nexport const view = (state, helpers) => {\n\tconst coeffects = {...helpers, state};\n\n\tconst {\n\t\topenItemsPath,\n\t\topenPanelsPath,\n\t\tactiveItem,\n\t\tsearchValue,\n\t\tproperties,\n\t\trightPanelRef,\n\t\tleftPanelRef,\n\t\tcontainerRef\n\t} = state;\n\n\tconst {ariaLabel, onePanelMode, showSearchBorder} = properties;\n\t// if left open item is not focused right panel displayed according to path but empty (without items)\n\t// it happens when a left panel item which is not the open item is checked\n\tconst openItem = openItemsPath[openItemsPath.length - 1];\n\tconst leftPanelActiveItem = getLeftActiveItem(activeItem, openPanelsPath, openItemsPath);\n\tconst noRightPanel = onePanelMode || !openPanelsPath || (openPanelsPath && openPanelsPath.length <= 1);\n\tconst isRightPanelEmpty = !!activeItem && leftPanelActiveItem !== openItem;\n\n\tconst {\n\t\tleftPanel, // left panel name\n\t\trightPanel, // right panel name (if exists)\n\t\tleftPanelItems,\n\t\trightPanelItems\n\t} = generatePanelsJsx(coeffects, isRightPanelEmpty, noRightPanel);\n\n\t// call generateBreadcrumbJsx with properties.items state.items may be changed by filter and I do not want breadcrumbs to be effected\n\tconst breadcrumbsJsx = generateBreadcrumbJsx(properties.items, openPanelsPath, openItemsPath, isRightPanelEmpty && !onePanelMode);\n\n\tconst containerClass = {\n\t\tcontainer: true,\n\t\t'container--single': noRightPanel,\n\t\t'container--hide-border': showSearchBorder\n\t};\n\n\tconst leftPanelHasValue = leftPanelItems.length > 0 ? 'true' : 'false';\n\n\tconst panelLeftTopClass = {\n\t\t'panel-left-top': true,\n\t\t'panel-left-top--narrow': onePanelMode && breadcrumbsJsx,\n\t\t'panel-left-top--border': showSearchBorder\n\t};\n\n\tconst searchClass = {\n\t\tsearch: true,\n\t\t'search--narrow': onePanelMode && breadcrumbsJsx\n\t};\n\n\tconst searchInputClass = {\n\t\t'search-input': true,\n\t\t'search-input--narrow': onePanelMode && breadcrumbsJsx\n\t};\n\n\tconst breadcrumbsClass = {\n\t\tbreadcrumbs: true,\n\t\t'breadcrumbs--hidden': onePanelMode && !breadcrumbsJsx\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclass={containerClass}\n\t\t\taria-label={ariaLabel}\n\t\t\tref={containerRef}\n\t\t\ton-focusout={focusHandler(coeffects)}\n\t\t\ton-focusin={focusHandler(coeffects)}\n\t\t>\n\t\t\t<div class={panelLeftTopClass}>\n\t\t\t\t<div class={searchClass}>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon='magnifying-glass-fill'\n\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t/>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass={searchInputClass}\n\t\t\t\t\t\ttype='text'\n\t\t\t\t\t\tplaceholder={SEARCH_TEXT}\n\t\t\t\t\t\tvalue={searchValue}\n\t\t\t\t\t\trole='combobox'\n\t\t\t\t\t\taria-expanded={leftPanelHasValue}\n\t\t\t\t\t\taria-label={SEARCH_TEXT}\n\t\t\t\t\t\taria-controls='availableItemsLeftPanel'\n\t\t\t\t\t\taria-autocomplete='inline'\n\t\t\t\t\t\ton-input={searchChangedHandler(coeffects, rightPanel, leftPanel)}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{onePanelMode ? (<div class={breadcrumbsClass}>{breadcrumbsJsx}<\/div>) : null}\n\t\t\t<\/div>\n\t\t\t{<div className='breadcrumbs'>{!onePanelMode ? breadcrumbsJsx : null}<\/div>}\n\t\t\t<div className='panel-left'\n\t\t\t\tref={leftPanelRef}\n\t\t\t\ttabIndex='-1'\n\t\t\t\tattr-id='availableItemsLeftPanel'\n\t\t\t\taria-label={LEFT_PANEL_TEXT}\n\t\t\t\ton-keydown={handleKeyDown(coeffects)}\n\t\t\t\ton-keyup={handleKeyUp(coeffects)}\n\t\t\t\ton-scroll={handleScroll(coeffects, leftPanel)}>\n\t\t\t\t{leftPanelItems}\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName='panel-right'\n\t\t\t\trole=\"contentinfo\"\n\t\t\t\taria-hidden={rightPanelItems?.length > 0 ? 'false' : 'true'}\n\t\t\t\tref={rightPanelRef}\n\t\t\t\ttabIndex='-1'\n\t\t\t\taria-label={noRightPanel ? RIGHT_PANEL_TEXT : null} // no need for aria-label if panel is closed\n\t\t\t\ton-keydown={handleKeyDown(coeffects)}\n\t\t\t\ton-keyup={handleKeyUp(coeffects)}\n\t\t\t\ton-scroll={handleScroll(coeffects, rightPanel)}>\n\t\t\t\t{rightPanelItems}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n","import {PANEL_CHANGED_EVENT} from '../constants';\nimport {generateSelectedItemKey} from './utils';\n\nexport const closePanelsHandler = coeffects => {\n\tconst {state, updateState, dispatch} = coeffects;\n\tconst {openPanelsPath} = state;\n\n\tconst newOpenPanelsPath = [openPanelsPath[0]];\n\tconst newOpenItemsPath = [];\n\n\tupdateState({\n\t\topenItemsPath: newOpenItemsPath,\n\t\topenPanelsPath: newOpenPanelsPath\n\t});\n\n\tdispatch(PANEL_CHANGED_EVENT, newOpenItemsPath);\n};\n\n/**\n * breadcrumb NOW_BREADCRUMBS#ITEM_CLICKED event handler\n * update the panels and items when breadcrumbs item is clicked\n * @param {object} coeffects\n */\nexport const breadcrumbsClickHandler = coeffects => {\n\tconst {state, updateState, dispatch, action: {payload}} = coeffects;\n\tconst {openItemsPath, openPanelsPath} = state;\n\tconst {item: {itemPosition}} = payload;\n\n\t// if itemPosition is -1 it means it is the \"close panels\" button\n\tif (itemPosition === -1) {\n\t\tclosePanelsHandler(coeffects);\n\t\treturn;\n\t}\n\n\t// move one panel backwards in open panels\n\tconst newOpenItemsPath = openItemsPath.slice(0, itemPosition + 1); // +1 since I do not want the selected item to be removed\n\tconst newOpenPanelsPath = openPanelsPath.slice(0, itemPosition + 2); // the panel of the selected item should stay open\n\n\tupdateState({\n\t\topenItemsPath: newOpenItemsPath,\n\t\topenPanelsPath: newOpenPanelsPath,\n\t\tactiveItem: generateSelectedItemKey(newOpenItemsPath),\n\t\tlastSelectedItem: undefined\n\t});\n\n\tdispatch(PANEL_CHANGED_EVENT, newOpenItemsPath);\n};\n","import {generateSelectedItemKey} from './utils';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\n\n\n/**\n * populate selected Items in state - convert it to hash table for faster access\n * @param {array} selectedItems\n * @param {array} lockedItems\n * @returns {{}}\n */\nexport const initSelectedItems = (selectedItems, lockedItems) => {\n\tconst stateSelectedItems = {};\n\n\tif (selectedItems) {\n\t\tselectedItems.forEach(selectedItem => {\n\t\t\tconst key = generateSelectedItemKey(selectedItem);\n\t\t\tstateSelectedItems[key] = {selected: true, locked: false};\n\t\t});\n\t}\n\n\tif (lockedItems) {\n\t\tlockedItems.forEach(lockedItem => {\n\t\t\tconst key = generateSelectedItemKey(lockedItem);\n\t\t\tif (stateSelectedItems[key])\n\t\t\t\tstateSelectedItems[key].locked = true;\n\t\t});\n\t}\n\n\treturn stateSelectedItems;\n};\n\n/**\n * Handler to set the component initial state\n * @param {object} properties\n * @returns {{openItemsPath: *[], availableRoot: string, openPanelsPath: *[], items: {}, selectedItems: {}}}\n */\nexport const setInitialStateHandler = coeffects => {\n\tconst {host, properties, state} = coeffects;\n\tconst {openItems, items, itemsRoot, selectedItems, lockedItems, searchValue} = properties;\n\n\tconst openItemsPath = [];\n\tconst openPanelsPath = [];\n\tconst stateItems = items || {};\n\tconst stateSelectedItems = initSelectedItems(selectedItems, lockedItems);\n\tlet stateItemsRoot = itemsRoot || '';\n\n\t// if path not supplied the default start is the first element in items\n\tif (!stateItemsRoot && Object.keys(stateItems)[0])\n\t\tstateItemsRoot = Object.keys(stateItems)[0];\n\n\tif (stateItems[stateItemsRoot])\n\t\topenPanelsPath.push(stateItemsRoot);\n\n\tif (stateItems[stateItemsRoot] && openItems && openItems.length > 0) {\n\n\t\t// generate openItems and panelsPath - add only valid entries\n\t\tlet currentPanel = stateItemsRoot;\n\n\t\topenItems.forEach(item => {\n\t\t\tconst panelItems = stateItems[currentPanel];\n\t\t\tif (panelItems) {\n\n\t\t\t\tconst itemData = panelItems[item];\n\t\t\t\tif (itemData && itemData.reference) {\n\t\t\t\t\topenItemsPath.push(item);\n\t\t\t\t\tcurrentPanel = itemData.reference;\n\t\t\t\t\topenPanelsPath.push(currentPanel);\n\t\t\t\t} else {\n\t\t\t\t\t// we have an illegal item - stop the search\n\t\t\t\t\tcurrentPanel = null;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\treturn {\n\t\titems: stateItems,\n\t\topenItemsPath,\n\t\topenPanelsPath,\n\t\tselectedItems: stateSelectedItems,\n\t\tshiftSelectedItems: undefined, // all items selected while shift key is pressed (for multi selection)\n\t\tactiveItem: state?.activeItem || undefined,\n\t\tlastSelectedItem: state?.lastSelectedItem || undefined, // contain the laset element selected/unselected for shift selection\n\t\titemsRoot: stateItemsRoot,\n\t\tsearchValue: state?.searchValue || searchValue || '', // in case of items change we want to keep the search value.\n\t\treportBottomSent: {}, // used to track scrolled_to_bottom event so it won't be send more than once\n\t\tcomponentFocused: state?.componentFocused || false,\n\t\trightPanelRef: createRef(),\n\t\tleftPanelRef: createRef(),\n\t\tcontainerRef: createRef(),\n\t\thost // on browser events we do not have host so we save it in state\n\t};\n};\n","import {convertKeyToSelectedItem, generateSelectedItemKey, getOpenPanels} from './utils';\nimport {isPanelHasScroll, BOTTOM_THRESHOLD} from './scrollHandler';\nimport {SCROLLED_TO_BOTTOM} from '../constants';\n\n/**\n * This function set focus on the active element if exists\n * focus must be reset after expanding right panel item since the items moves to left panel\n * and we want it to maintain its focus\n * NOTE: activeItem is an item that was expanded or selected\n * @param {object} coeffects\n */\nconst setFocusOnActiveElement = coeffects => {\n\tconst {\n\t\tstate: {rightPanelRef, leftPanelRef, activeItem, openItemsPath, openPanelsPath, componentFocused},\n\t\tproperties: {onePanelMode}\n\t} = coeffects;\n\n\t// if no focused item or it is not opened we do no need to reset focus\n\tif (!activeItem || !componentFocused)\n\t\treturn;\n\n\t// chock were is the focused item, left or right panel\n\tconst noRightPanel = onePanelMode || !openPanelsPath || (openPanelsPath && openPanelsPath.length <= 1);\n\n\tconst activeItemPathLength = convertKeyToSelectedItem(activeItem).length;\n\tconst activeItemIsExpanded = activeItem === generateSelectedItemKey(openItemsPath);\n\t// open item is always on the left panel so if focus item path is the same length it is on the left panel\n\tconst activeItemOnLeftPanel = activeItemPathLength === openItemsPath.length;\n\t// if focus item length is longer (+1) it is on the right panel\n\tconst activeItemOnRightPanel = activeItemPathLength === openItemsPath.length + 1;\n\n\tconst activeItemId = activeItem.replace(/\\./g, '\\\\.')\n\t\t.replace(/\\>/g, '\\\\>') // eslint-disable-line\n\t\t.replace(/\\<\/g, '\\\\<') // eslint-disable-line\n\t\t.replace(/\\=/g, '\\\\='); // eslint-disable-line\n\tlet focusElement;\n\tif (activeItemIsExpanded) { // right panel opened, focus on first element\n\t\tfocusElement = noRightPanel ?\n\t\t\tleftPanelRef?.current.querySelector('now-checkbox') : // one panel mode\n\t\t\trightPanelRef?.current.querySelector('now-checkbox'); // two panels mode\n\t} else if (activeItemOnRightPanel) { // focused item on right panel refocus it\n\t\tfocusElement = noRightPanel ?\n\t\t\tleftPanelRef?.current.querySelector(`#${activeItemId} now-checkbox`) : // one panel mode right panels items displayed on left panel\n\t\t\trightPanelRef?.current.querySelector(`#${activeItemId} now-checkbox`); // two panels mode\n\t} else if (activeItemOnLeftPanel) // focus item on left panel but not the open panel, focus it\n\t\tfocusElement = leftPanelRef?.current.querySelector(`#${activeItemId} now-checkbox`);\n\n\tif (!focusElement) // focused item not in a visible panel, focus on first element\n\t\tfocusElement = leftPanelRef?.current.querySelector('now-checkbox');\n\n\tfocusElement?.focus();\n};\n\n\n/**\n * when refreshing data on scroll end without adding more data the scroll will stay at the end which will trigger the event again\n * we need to set a minimal distance from the end\n * @param {object} panelRef - seismic reference to the panel\n */\nconst fixPanelScrollPosition = panelRef => {\n\tconst {scrollTop, clientHeight} = panelRef.current;\n\tif (clientHeight - scrollTop <= BOTTOM_THRESHOLD) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tpanelRef.current.scrollTop = 0.8 * scrollTop; // set scroll to 80% of the current scroll position since this is the approximate start new bulk of the data\n\t}\n};\n\n/**\n * Dispatch scroll event if needed\n * @param {string} panel\n * @param {object} coeffects\n */\nconst dispatchPanelScrollEvent = (panel, coeffects) => {\n\tconst {\n\t\tproperties: {categoriesConfig},\n\t\tdispatch\n\t} = coeffects;\n\n\tconst panelConfig = categoriesConfig[panel] || {};\n\n\t// check if we need to request the load of more data on panel\n\tif (panel && panelConfig.moreDataAvailable && !isPanelHasScroll(coeffects, panel))\n\t\tdispatch(SCROLLED_TO_BOTTOM, {category: panel});\n\n\n};\n\n/**\n *  This function handles panels data change\n * \tin case of filtering of a pane its data changes, in such case the scroll may be gone.\n * \tif the scroll is gone, and we have more data to load we need to report it (same as scroll reached bottom)\n * @param {object} coeffects\n */\nconst handlePanelDataChange = coeffects => {\n\tconst {\n\t\tstate: {rightPanelRef, leftPanelRef},\n\t} = coeffects;\n\n\tconst {leftPanel, rightPanel} = getOpenPanels(coeffects);\n\n\tdispatchPanelScrollEvent(leftPanel, coeffects);\n\tdispatchPanelScrollEvent(rightPanel, coeffects);\n\n\tfixPanelScrollPosition(rightPanelRef);\n\tfixPanelScrollPosition(leftPanelRef);\n};\n\n/**\n * This function handles component rendered event\n * @param {object} coeffects\n */\nexport const componentRenderedHandler = coeffects => {\n\n\tsetFocusOnActiveElement(coeffects);\n\n\thandlePanelDataChange(coeffects);\n\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {buttonIconicClickHandler, panelLoadMoreButtonClickHandler} from './handlers/buttonIconicClickHandler';\nimport {propertyChangedHandler} from './handlers/propertyChangedHandler';\nimport {breadcrumbsClickHandler} from './handlers/breadcrumbsClickHandler';\nimport {componentRenderedHandler} from './handlers/componentRenderedHandler';\n\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED} = actionTypes;\n\nexport const actionHandlers = {\n\t['NOW_BUTTON_ICONIC#CLICKED']: {\n\t\teffect: buttonIconicClickHandler,\n\t\tstopPropagation: true\n\t},\n\t['NOW_BREADCRUMBS#ITEM_CLICKED']: {\n\t\teffect: breadcrumbsClickHandler,\n\t\tstopPropagation: true\n\t},\n\t['NOW_BUTTON_BARE#CLICKED']: {\n\t\teffect: panelLoadMoreButtonClickHandler,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangedHandler,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_RENDERED]: {\n\t\teffect: componentRenderedHandler,\n\t\tstopPropagation: true\n\t}\n};\n","import {\n\tOPEN_ITEM_BUTTON,\n\tITEM_EXPAND_REQUESTED,\n\tCLOSE_PANELS_BUTTON,\n\tPANEL_LOAD_MORE_BUTTON_CLICKED\n} from '../constants';\nimport {generateSelectedItemKey} from './utils';\nimport {closePanelsHandler} from './breadcrumbsClickHandler';\n\n/**\n * This handler update the panels and items when an expand item button is clicked\n * @param {object} coeffects\n */\nconst expandButtonClickHandler = coeffects => {\n\tconst {action: {payload}, state, updateState, dispatch} = coeffects;\n\tconst {item, panel} = payload;\n\tconst {items, openItemsPath, openPanelsPath} = state;\n\n\t// no need to validate input since it all been validated in component bootstrap\n\tconst itemData = items[panel][item];\n\tconst newPanel = itemData.reference;\n\n\tif (panel === openPanelsPath[openPanelsPath.length - 1]) {\n\t\t// click on right panel expand - open new panel current panel becomes left panel\n\t\topenItemsPath.push(item);\n\t\topenPanelsPath.push(newPanel);\n\t} else if (panel === openPanelsPath[openPanelsPath.length - 2]) {\n\t\t// click on left panel expand - close right panel and open the new one instead\n\t\topenItemsPath.splice(-1, 1, item);\n\t\topenPanelsPath.splice(-1, 1, newPanel);\n\t}\n\n\tupdateState({\n\t\topenItemsPath: [...openItemsPath],\n\t\topenPanelsPath: [...openPanelsPath],\n\t\tactiveItem: generateSelectedItemKey(openItemsPath),\n\t\tlastSelectedItem: undefined\n\t});\n\n\tdispatch(ITEM_EXPAND_REQUESTED, openItemsPath);\n};\n\n/**\n * This handles handles button click event\n * @param {object} coeffects\n */\nexport const buttonIconicClickHandler = coeffects => {\n\tconst {action: {payload: {button}}} = coeffects;\n\n\tif (button === OPEN_ITEM_BUTTON)\n\t\texpandButtonClickHandler(coeffects);\n\telse if (button === CLOSE_PANELS_BUTTON)\n\t\tclosePanelsHandler(coeffects);\n};\n\nexport const panelLoadMoreButtonClickHandler = ({dispatch}) => dispatch(PANEL_LOAD_MORE_BUTTON_CLICKED);\n","import {initSelectedItems, setInitialStateHandler} from './setInitialStateHandler';\n\nexport const propertyChangedHandler = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {name, value}\n\t\t},\n\t\tproperties: {\n\t\t\tlockedItems\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tif (name === 'selectedItems') {\n\t\tconst stateSelectedItems = initSelectedItems(value, lockedItems);\n\t\tupdateState({selectedItems: stateSelectedItems});\n\t} else if (name === 'openItems') {\n\t\tconst {openItemsPath, openPanelsPath} = setInitialStateHandler(coeffects);\n\t\tupdateState({openItemsPath, openPanelsPath});\n\t} else if (name === 'items') {\n\t\t// if items changed everything changes for example selected items might no longer exist\n\t\t// so I have to initialize the entire component\n\t\tupdateState(setInitialStateHandler(coeffects));\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './styles.scss';\nimport {view} from './view';\nimport {actionHandlers} from './actionHandlers';\nimport {setInitialStateHandler} from './handlers/setInitialStateHandler';\nimport {CHECKED_SET_EVENT, PANEL_CHANGED_EVENT, SCROLLED_TO_BOTTOM, ITEM_EXPAND_REQUESTED, SEARCH_TERM_SET} from './constants';\nimport {SEARCH} from '../shared/constants';\n\nconst setInitialState = coeffects => setInitialStateHandler(coeffects);\n\n/**\n * A List selector Available items visual component used to contains the list available item,\n * and enable navigation between different categories of items displayed in seperated panels (dot walking)\n *\n * @seismicElement sn-available-bucket\n * @summary A List selector Available items visual component used to contains the list of available items,\n * and enable navigation between different categories of items displayed in seperated panels (dot walking).\n */\ncreateCustomElement('sn-available-bucket', {\n\tview,\n\tstyles,\n\tsetInitialState,\n\tproperties: {\n\n\t\t/**\n\t\t * Mandatory\n\t\t *\n\t\t * An object that contains the available items for selection\n\t\t * This object constructed from the categories the items inside each category and references between the items to other categories\n\t\t *\n\t\t * @type {Object}\n\t\t */\n\t\titems: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {},\n\t\t\t\t\tadditionalProperties: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Optional\n\t\t *\n\t\t * An object that contains the available items configuration\n\t\t * This object constructed from the categories, that are identical to the categories in the items property\n\t\t * It contains the category configuration:\n\t\t * - showVariables - to display variables in the category\n\t\t * - variablesItemNames - the names of the variables columns to display in variables mode\n\t\t * - variableTableName - the name of the category that contains the variables\n\t\t * - moreDataAvailable - if current category has more data available to load\n\t\t * - showBottomReloadButton - display reload button at the beginning of the category\n\t\t * - showTopReloadButton - display reload button at the end of the category\n\t\t * @type {Object}\n\t\t */\n\t\tcategoriesConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tshowVariables: {\n\t\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmoreDataAvailable: {\n\t\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tshowBottomReloadButton: {\n\t\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tshowTopReloadButton: {\n\t\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Optional\n\t\t *\n\t\t * An object that contains the variables configuration\n\t\t * - variablesItemNames - the list of variables columns to display in variables mode\n\t\t * - variableCategory - the name of the category (represent table item_option_new in connected mode) that contains the variables data\n\t\t * @type {Object}\n\t\t */\n\t\tvariablesConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tvariablesItemNames: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvariableCategory: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Mandatory\n\t\t *\n\t\t * The name of the category to start from\n\t\t * This category will be displayed when the component opens\n\t\t *\n\t\t * @type {String}\n\t\t */\n\t\titemsRoot: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The list of items ids (path) that was opened (dot walked) to display the current categories (panels) that are currently being displayed\n\t\t *\n\t\t * @type {Array}\n\t\t */\n\t\topenItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The list of selected items\n\t\t * In the available panel it is used to check their checkboxs\n\t\t *\n\t\t * @type {Array}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The list of unselected items\n\t\t * In the available panel those items checkboxs are disabled\n\t\t *\n\t\t * @type {Object}\n\t\t */\n\t\tunselectableItems: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {},\n\t\t\t\t\tadditionalProperties: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The list of locked items: items that are selected but cannot be unselected.\n\t\t * Displayed disabled\n\t\t *\n\t\t * @type {Array}\n\t\t */\n\t\tlockedItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If set to true there will be only one panel displayed instead of two\n\t\t * Expanding an item (dot walk) will change the content of the panel instead of opening a new one\n\t\t *\n\t\t * @type {Boolean}\n\t\t */\n\t\tonePanelMode: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\t/**\n\t\t * If set to true component will display the borders of the search textbox\n\t\t *\n\t\t * @type {Boolean}\n\t\t */\n\t\tshowSearchBorder: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\t/**\n\t\t * If set to true, show elements that as default displayed only on hover\n\t\t * currently it is the info icon only\n\t\t *\n\t\t * @type {Boolean}\n\t\t */\n\t\tshowHiddenControls: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\t/**\n\t\t * Sets the search type\n\t\t *\n\t\t * @type {String}\n\t\t */\n\t\tsearch: {\n\t\t\tdefault: SEARCH.INITIAL,\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\t/**\n\t\t * Sets the search value\n\t\t *\n\t\t * @type {String}\n\t\t */\n\t\tsearchValue: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\t/**\n\t\t * The available items title to be read when accessed (by screen reader)\n\t\t *\n\t\t * @type {String}\n\t\t */\n\t\tariaLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tactions: {\n\t\t/**\n\t\t * Dispatched when an item was checked/unchecked by user\n\t\t * @type {Object}\n\t\t */\n\t\t[CHECKED_SET_EVENT]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\topenItems: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchecked: {\n\t\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when panel was changed\n\t\t * @type {Array}\n\t\t */\n\t\t[PANEL_CHANGED_EVENT]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when an item was expanded (dot walked)\n\t\t * @type {Array}\n\t\t */\n\t\t[ITEM_EXPAND_REQUESTED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when user scrolled the items panel to the bottom\n\t\t * @type {Object}\n\t\t */\n\t\t[SCROLLED_TO_BOTTOM]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcategory: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when search value is set\n\t\t * @type {Object}\n\t\t */\n\t\t[SEARCH_TERM_SET]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tcategory: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\topenedCategory: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import '@servicenow/now-button';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-tabs';\nimport '@servicenow/now-alert';\nimport '../sn-selected-bucket';\nimport '../sn-available-bucket';\n\nimport {\n\tAVAILABLE_CONTENT,\n\tNO_AVAILABLE_LABEL,\n\tVIEW_TYPES,\n\tAVAILABLE_DATA_POPULATE_MODE,\n\tREMOVE_NEW_SELECTED_ITEMS_REQUESTED,\n\tNEW_SELECTED_ITEMS_TIMEOUT,\n\tVARIABLES_TABLE_NAME,\n\tVARIABLES_MAX_ITEMS_DISPLAYED,\n\tVARIABLES_FIELD_QUESTIONS,\n\tVARIABLES_FIELD_VARIABLES\n} from './constants';\n\nimport {t} from 'sn-translate';\n\nexport const AVAILABLE_ITEMS_TAB_ID = 'availableItems';\nconst SELECTED_ITEMS_TAB_ID = 'selectedItems';\nconst DATA_RESET_TEXT = t({code: 'sn-list-selector', message: 'The data has changed, your previous selections are no longer valid. Please make new selections.'});\n\nconst getEmptyStateJsx = (isLoading, comment, label) => (\n\t<div className='no-selected-container'>\n\t\t<div>\n\t\t\t{isLoading ?\n\t\t\t\t<now-loader label='' size='lg' action='' />\n\t\t\t\t:\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\talignment='vertical-centered'\n\t\t\t\t\tcontent={comment}\n\t\t\t\t\theading={{label, level: 2}}\n\t\t\t\t\tillustration='no-data'\n\t\t\t\t/>\n\t\t\t}\n\t\t<\/div>\n\t<\/div>\n);\n\n\nconst getAvailableItemsJsx = (\n\tdataReady,\n\tavailableItems,\n\tavailableItemsRoot,\n\tavailableItemsPath,\n\tavailableItemsSelected,\n\tavailableItemsLocked,\n\tavailableTitle,\n\tnumberOfPanels,\n\tshowHiddenControls,\n\tsearch,\n\tsearchValue,\n\tmode,\n\trenderVariables,\n\tmoreVariablesAvailable,\n\tunselectableItems\n) => {\n\tconst categoriesConfig = {};\n\tconst variablesConfig = {};\n\tif (mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION && availableItems) {\n\t\tvariablesConfig.variablesItemNames = [VARIABLES_FIELD_VARIABLES, VARIABLES_FIELD_QUESTIONS];\n\t\tvariablesConfig.variableCategory = VARIABLES_TABLE_NAME;\n\n\t\t// variable category name (static for all supporting categories):\n\t\tif (availableItems[VARIABLES_TABLE_NAME]) {\n\t\t\tconst maxItemsNumber = Object.keys(availableItems[VARIABLES_TABLE_NAME]).length === VARIABLES_MAX_ITEMS_DISPLAYED;\n\t\t\tcategoriesConfig[VARIABLES_TABLE_NAME] = {\n\t\t\t\tshowVariables: false,\n\t\t\t\tmoreDataAvailable: moreVariablesAvailable,\n\t\t\t\tshowTopReloadButton: maxItemsNumber,\n\t\t\t\tshowBottomReloadButton: !moreVariablesAvailable && maxItemsNumber\n\t\t\t};\n\t\t}\n\t\t// all categories that support variables\n\t\tfor (const key in renderVariables) {\n\t\t\tcategoriesConfig[key] = {\n\t\t\t\tshowVariables: true,\n\t\t\t\tvariablesItemNames: [VARIABLES_FIELD_VARIABLES, VARIABLES_FIELD_QUESTIONS],\n\t\t\t\tvariableCategory: VARIABLES_TABLE_NAME\n\t\t\t};\n\t\t}\n\t}\n\treturn (\n\t\t<div className={numberOfPanels === VIEW_TYPES.compact ? 'single-panel' : 'available'}>\n\t\t\t{dataReady ? ( // if metadata not defined data is still being loaded\n\t\t\t\t<sn-available-bucket\n\t\t\t\t\titems={availableItems}\n\t\t\t\t\titems-root={availableItemsRoot}\n\t\t\t\t\tcategories-config={categoriesConfig}\n\t\t\t\t\tvariables-config={variablesConfig}\n\t\t\t\t\topen-items={availableItemsPath}\n\t\t\t\t\tselected-items={availableItemsSelected}\n\t\t\t\t\tlocked-items={availableItemsLocked}\n\t\t\t\t\taria-label={availableTitle}\n\t\t\t\t\tone-panel-mode={numberOfPanels === VIEW_TYPES.compact || numberOfPanels === VIEW_TYPES.twoPanels}\n\t\t\t\t\tshow-search-border={numberOfPanels === VIEW_TYPES.compact}\n\t\t\t\t\tshow-hidden-controls={showHiddenControls}\n\t\t\t\t\tsearch={search}\n\t\t\t\t\tsearch-value={searchValue}\n\t\t\t\t\tmode={mode}\n\t\t\t\t\tunselectable-items={unselectableItems}\n\t\t\t\t/>\n\t\t\t) : getEmptyStateJsx(availableItems === null || availableItems === undefined, AVAILABLE_CONTENT, NO_AVAILABLE_LABEL)}\n\t\t<\/div>\n\t);\n};\n\nconst getSelectedItemsJsx = (dataReady, selectedItems, disableReorder, selectedTitle, newlySelectedItems) => (\n\t<div className='selected'>\n\t\t<sn-selected-bucket\n\t\t\titems={dataReady ? selectedItems : []}\n\t\t\tdisable-reorder={disableReorder}\n\t\t\tariaLabel={selectedTitle}\n\t\t\tnewItems={newlySelectedItems}\n\t\t/>\n\t<\/div>\n);\n\nconst getTabsJsx = (availableTitle, selectedTitle, showCount, numberOfAvailableItems, numberOfSelectedItems, openTabId) => (\n\t<now-tabs\n\t\tclassName='tabs-panel'\n\t\titems={[\n\t\t\t{\n\t\t\t\tid: AVAILABLE_ITEMS_TAB_ID,\n\t\t\t\tlabel: availableTitle,\n\t\t\t\tcount: showCount ? numberOfAvailableItems : undefined\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: SELECTED_ITEMS_TAB_ID,\n\t\t\t\tlabel: selectedTitle,\n\t\t\t\tcount: showCount ? numberOfSelectedItems : undefined\n\t\t\t}\n\t\t]}\n\t\tselected-item={openTabId || 'availableItems'}\n\t\tfixed-width={true}\n\t\tsize='md'\n\t/>\n);\n\nconst getTitleJsx = (title, level, textClass) => {\n\tswitch (level) {\n\t\tcase 1:\n\t\t\treturn (<h1 className={textClass}>{title}<\/h1>);\n\t\tcase 2:\n\t\t\treturn (<h2 className={textClass}>{title}<\/h2>);\n\t\tcase 3:\n\t\t\treturn (<h3 className={textClass}>{title}<\/h3>);\n\t\tcase 4:\n\t\t\treturn (<h4 className={textClass}>{title}<\/h4>);\n\t\tcase 5:\n\t\t\treturn (<h5 className={textClass}>{title}<\/h5>);\n\t\tcase 6:\n\t\t\treturn (<h6 className={textClass}>{title}<\/h6>);\n\t\tdefault:\n\t\t\treturn (<h6 className={textClass}>{title}<\/h6>);\n\t}\n};\n\nconst getResetWarningJsx = showResetWarning => (showResetWarning ? (\n\t<now-alert\n\t\tclassName='reset-warning'\n\t\tstatus='warning'\n\t\ticon='info-circle-outline'\n\t\tcontent={DATA_RESET_TEXT}\n\t\taction={{type: 'dismiss'}}>\n\t<\/now-alert>\n) : null);\n\n/**\n * This function generate the remove function request executed inside a timeout\n * It main purpose is to save the original payload send on the time of the timeout call\n * @param {function} dispatch\n * @param {object} payload\n * @returns {(function(): void)|*}\n */\nconst removeNewItemsRequest = (dispatch, payload) => {\n\tconst _payload = [...payload];\n\treturn () => {\n\t\tdispatch(REMOVE_NEW_SELECTED_ITEMS_REQUESTED, _payload);\n\t};\n};\n\nexport default (state, helpers) => {\n\tconst {\n\t\tproperties,\n\t\tselectedItems,\n\t\tavailableItemsSelected,\n\t\tavailableItemsLocked,\n\t\tavailableItems,\n\t\tavailableItemsRoot,\n\t\tavailableItemsPath,\n\t\tavailableLeftPanel,\n\t\tavailableRightPanel,\n\t\tnumberOfPanels,\n\t\topenTabId,\n\t\tliveUpdateText,\n\t\trenderVariables,\n\t\tmoreVariablesAvailable,\n\t\tshowResetWarning,\n\t\tnewlySelectedItems,\n\t\tmainRef,\n\t\tsearchValue\n\t} = state;\n\tconst {dispatch} = helpers;\n\n\tconst {\n\t\tavailableLabel,\n\t\tselectedLabel,\n\t\theadersLevel,\n\t\tshowCount,\n\t\tdisableReorder,\n\t\tshowHiddenControls,\n\t\tsearch,\n\t\tmode,\n\t\tunselectableItems\n\t} = properties;\n\tconst dataReady = !!availableItems && Object.keys(availableItems).length > 0 && availableItems[availableLeftPanel];\n\n\t// calculate number of items in available items left panel and selected items\n\tconst panelToCount = numberOfPanels === VIEW_TYPES.dotWalk ? availableLeftPanel : availableRightPanel;\n\tconst numberOfAvailableItems = dataReady && availableItems[panelToCount] ? Object.keys(availableItems[panelToCount]).length : 0;\n\tconst numberOfSelectedItems = dataReady ? selectedItems.length : 0;\n\tconst availableTitle = showCount ? `${availableLabel} (${numberOfAvailableItems})` : availableLabel;\n\tconst selectedTitle = showCount ? `${selectedLabel} (${numberOfSelectedItems})` : selectedLabel;\n\tconst availableTitleJsx = getTitleJsx(availableTitle, headersLevel, 'available-header-text');\n\tconst selectedTitleJsx = getTitleJsx(selectedTitle, headersLevel, 'selected-header-text');\n\n\tconst availableItemsJsx = getAvailableItemsJsx(\n\t\tdataReady,\n\t\tavailableItems,\n\t\tavailableItemsRoot,\n\t\tavailableItemsPath,\n\t\tavailableItemsSelected,\n\t\tavailableItemsLocked,\n\t\tavailableTitle,\n\t\tnumberOfPanels,\n\t\tshowHiddenControls,\n\t\tsearch,\n\t\tsearchValue,\n\t\tmode,\n\t\trenderVariables,\n\t\tmoreVariablesAvailable,\n\t\tunselectableItems\n\t);\n\tconst selectedItemsJsx = getSelectedItemsJsx(dataReady, selectedItems, disableReorder, selectedTitle, newlySelectedItems);\n\n\n\tconst tabsJsx = getTabsJsx(availableLabel, selectedLabel, showCount, numberOfAvailableItems, numberOfSelectedItems, openTabId);\n\n\t// new selected items should stop being emphasized after 3s after displayed\n\t// In case of tabs their display might be delayed until selected items tab is open, so I do not start counter if we only display available tab.\n\tif (newlySelectedItems.length > 0 && (numberOfPanels !== VIEW_TYPES.compact || openTabId === SELECTED_ITEMS_TAB_ID))\n\t\tsetTimeout(removeNewItemsRequest(dispatch, newlySelectedItems), NEW_SELECTED_ITEMS_TIMEOUT);\n\n\tconst availableContainerClass = {\n\t\t'available-container': true,\n\t\t'available-container--width-50': numberOfPanels === VIEW_TYPES.twoPanels,\n\t\t'available-container--width-100': numberOfPanels === VIEW_TYPES.compact,\n\t};\n\tconst selectedContainerClass = {\n\t\t'selected-container': true,\n\t\t'selected-container--width-50': numberOfPanels === VIEW_TYPES.twoPanels\n\t};\n\n\tconst resetWarningJsx = getResetWarningJsx(showResetWarning);\n\n\treturn (\n\t\t<div className='main' ref={mainRef}>\n\t\t\t<span\n\t\t\t\tid='snListSelectorLiveUpdate'\n\t\t\t\tclassName='now-a11y-label'\n\t\t\t\taria-live='assertive'\n\t\t\t>\n\t\t\t\t{liveUpdateText}\n\t\t\t<\/span>\n\t\t\t{resetWarningJsx}\n\t\t\t<div className='content'>\n\t\t\t\t<div class={availableContainerClass}>\n\t\t\t\t\t{numberOfPanels > VIEW_TYPES.compact ? (\n\t\t\t\t\t\t<div className='available-header'>\n\t\t\t\t\t\t\t{availableTitleJsx}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) :\n\t\t\t\t\t\ttabsJsx\n\t\t\t\t\t}\n\t\t\t\t\t{numberOfPanels === VIEW_TYPES.compact && openTabId === SELECTED_ITEMS_TAB_ID ? selectedItemsJsx : availableItemsJsx}\n\t\t\t\t<\/div>\n\t\t\t\t{numberOfPanels > VIEW_TYPES.compact ? (\n\t\t\t\t\t<div class={selectedContainerClass}>\n\t\t\t\t\t\t<div className='selected-header'>\n\t\t\t\t\t\t\t{selectedTitleJsx}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{selectedItemsJsx}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import {\n\tavailableItemCheckSetHandler,\n\tnewItemsAnimationEndedHandler,\n\tselectedItemFieldSelectedHandler,\n\tselectedItemRemoveFieldHandler,\n\tupdateDragAndDropItemsHandler\n} from './handlers/selectedItemsHandler';\n\nimport {actionTypes} from '@servicenow/ui-core';\nimport track from '@devsnc/ux-metrics';\nimport {\n\tavailablePanelsChangedHandler,\n\tavailableItemScrollBottomHandler,\n\tavailableItemExpandRequestedHandler,\n\tavailableVariablesReloadHandler\n} from './handlers/availableItemsHandler';\nimport {componentBootstrappedEffect} from './tableDefinitionHandlers/componentBootstrappedHandler';\nimport {propertyChangedHandler} from './handlers/propertyChangedHandler';\nimport {\n\tFETCH_DATA,\n\tFETCH_DATA_NEW,\n\tFETCH_DATA_FAILURE,\n\tFETCH_DATA_SUCCESS,\n\tFETCH_DATA_SUCCESS_NEW,\n\tMETRIC_ACTIONS,\n\tFETCH_VARIABLES_DATA,\n\tFETCH_VARIABLES_DATA_SUCCESS,\n\tFETCH_VARIABLES_DATA_FAILURE,\n\tDOT_WALK_TABLE_CONFIG_FETCH_STARTED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n\tREMOVE_NEW_SELECTED_ITEMS_REQUESTED\n} from './constants';\nimport {\n\tfetchEffect,\n\tfetchEffectNew,\n\tfetchFailureEffect,\n\tfetchSuccessEffect,\n\tfetchVariablesEffect,\n\tfetchVariablesSuccessEffect,\n\tfetchVariablesFailureEffect,\n\tfetchTableMetadata,\n\tfetchVariableMetaDataSuccessEffect\n} from './tableDefinitionHandlers/fetchDataHandler';\nimport {registerResizeEvent} from './handlers/resizeHandler';\nimport {selectedTabHandler} from './handlers/selectedTabHandler';\nimport {searchTermHandler, VARIABLE_SEARCH_DEBOUNCE} from './handlers/searchHandler';\nimport {alertHandler} from './handlers/alertHandler';\n\n\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED, COMPONENT_DOM_READY} = actionTypes;\n\nconst effectProxy = effect => coeffects => effect.effect(...effect.args, coeffects);\n\nexport default {\n\t['SN_SELECTED_BUCKET#ITEM_DELETED']: {\n\t\teffect: selectedItemRemoveFieldHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_SELECTED_BUCKET#ITEM_SELECTED']: {\n\t\teffect: selectedItemFieldSelectedHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_SELECTED_BUCKET#ITEMS_REORDERED']: {\n\t\teffect: updateDragAndDropItemsHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_AVAILABLE_ITEMS#CHECKED_SET']: {\n\t\teffect: availableItemCheckSetHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_AVAILABLE_ITEMS#SCROLLED_TO_BOTTOM']: {\n\t\teffect: availableItemScrollBottomHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_AVAILABLE_ITEMS#PANEL_LOAD_MORE_BUTTON_CLICKED']: {\n\t\teffect: availableVariablesReloadHandler,\n\t\tstopPropagation: true\n\t},\n\n\t[REMOVE_NEW_SELECTED_ITEMS_REQUESTED]: {\n\t\teffect: newItemsAnimationEndedHandler,\n\t\tstopPropagation: true\n\t},\n\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: componentBootstrappedEffect,\n\t\tstopPropagation: true\n\t},\n\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangedHandler,\n\t\tstopPropagation: true\n\t},\n\n\t[COMPONENT_DOM_READY]: {\n\t\teffect: registerResizeEvent,\n\t\tstopPropagation: true\n\t},\n\n\t['NOW_TABS#SELECTED_ITEM_SET']: {\n\t\teffect: selectedTabHandler,\n\t\tstopPropagation: true\n\t},\n\t['SN_AVAILABLE_ITEMS#PANEL_CHANGED']: {\n\t\teffect: availablePanelsChangedHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_AVAILABLE_ITEMS#ITEM_EXPAND_REQUESTED']: {\n\t\teffect: availableItemExpandRequestedHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['SN_AVAILABLE_ITEMS#SEARCH_TERM_SET']: {\n\t\tmodifier: {name: 'debounce', delay: VARIABLE_SEARCH_DEBOUNCE},\n\t\teffect: searchTermHandler,\n\t\tstopPropagation: true\n\t},\n\n\t['NOW_ALERT#ACTION_CLICKED']: {\n\t\teffect: alertHandler,\n\t\tstopPropagation: true\n\t},\n\n\t// this events are only for connected mode\n\n\t[FETCH_DATA]: { // support new query to fetch table data - for backwards compatability\n\t\teffect: effectProxy(fetchEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DATA_NEW]: { // support new query to fetch table data including extended fields\n\t\teffect: effectProxy(fetchEffectNew),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DATA_SUCCESS]: {\n\t\teffect: fetchSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DATA_SUCCESS_NEW]: {\n\t\teffect: fetchSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DATA_FAILURE]: {\n\t\teffect: fetchFailureEffect,\n\t\tstopPropagation: true\n\t},\n\n\t// this events are only for variables in connected mode\n\t[FETCH_VARIABLES_DATA]: {\n\t\teffect: effectProxy(fetchVariablesEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_VARIABLES_DATA_SUCCESS]: {\n\t\teffect: fetchVariablesSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_VARIABLES_DATA_FAILURE]: {\n\t\teffect: fetchVariablesFailureEffect,\n\t\tstopPropagation: true\n\t},\n\n\n\t// this events are only for variables in connected mode\n\t[DOT_WALK_TABLE_CONFIG_FETCH_STARTED]:{\n\t\teffect: effectProxy(fetchTableMetadata),\n\t\tstopPropagation: true\n\t},\n\t[DOT_WALK_TABLE_CONFIG_FETCH_FAILED]:{\n\t\teffect: fetchVariablesFailureEffect,\n\t\tstopPropagation: true\n\t},\n\t[DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED]:{\n\t\teffect: fetchVariableMetaDataSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\n\t// Metrics\n\t[METRIC_ACTIONS.METRIC_TRACKED]: {\n\t\teffect(coeffects) {\n\t\t\tconst {action: {payload: {eventName, metadata}}} = coeffects;\n\t\t\ttrack(coeffects, eventName, metadata);\n\t\t},\n\t\tstopPropagation: true\n\t}\n\n};\n","import {convertSelectedItemsToStateFormat} from './selectedItemsHandler';\nimport {AVAILABLE_DATA_POPULATE_MODE} from '../constants';\nimport {registerResizeEvent} from './resizeHandler';\nimport {setInitialStateHandler} from './setInitialStateHandler';\nimport {initializeFetchData} from '../tableDefinitionHandlers/componentBootstrappedHandler';\n\n/**\n * Handle COMPONENT_PROPERTY_CHANGED event\n * Update selected items / items from parent application\n *\n * @param {object} coeffects\n */\nexport const propertyChangedHandler = coeffects => {\n\tconst {updateState, dispatch, action: {payload}, properties: {mode, hideResetWarning, showExtendedFields}} = coeffects;\n\tconst {name, value} = payload;\n\n\tswitch (name) {\n\t\tcase 'tableName':\n\t\t\tif (mode === AVAILABLE_DATA_POPULATE_MODE.TABLE_DESCRIPTION) {\n\t\t\t\tconst newState = setInitialStateHandler(coeffects);\n\t\t\t\tnewState.showResetWarning = hideResetWarning ? false : true;\n\t\t\t\tupdateState(newState);\n\t\t\t\tinitializeFetchData(value, showExtendedFields, dispatch);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'itemsRoot':\n\t\t\tif (mode === AVAILABLE_DATA_POPULATE_MODE.MANUAL) {\n\t\t\t\tconst newState = setInitialStateHandler(coeffects);\n\t\t\t\tnewState.showResetWarning = hideResetWarning ? false : true;\n\t\t\t\tupdateState(newState);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'selectedItems':\n\t\t\tupdateState(convertSelectedItemsToStateFormat(value));\n\t\t\tbreak;\n\t\tcase 'items':\n\t\t\tif (mode === AVAILABLE_DATA_POPULATE_MODE.MANUAL) {\n\t\t\t\t// save stupid users from their stupidity:\n\t\t\t\t// do not allow update items if they was queried from DB\n\t\t\t\tconst availableItems = value || {};\n\t\t\t\tupdateState({availableItems});\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'viewType':\n\t\t\tregisterResizeEvent(coeffects); // register again with updated coeffects\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n","import {AVAILABLE_ITEMS_TAB_ID} from '../view';\n\n/**\n * Handles tab selection change by updating component state\n * @param {object} coeffects\n */\nexport const selectedTabHandler = coeffects => {\n\tconst {updateState, action: {payload}, state: {newlySelectedItems}} = coeffects;\n\tconst {item: {id}} = payload;\n\n\t// if we move back from selected tab to available tab new items animation no longer relevant\n\tconst updatedNewlySelectedItems = id === AVAILABLE_ITEMS_TAB_ID ? [] : newlySelectedItems;\n\tupdateState({openTabId: id, newlySelectedItems: updatedNewlySelectedItems});\n};\n","import {FETCH_VARIABLES_DATA, SEARCH_TERM_SET, VARIABLES_TABLE_NAME} from '../constants';\nimport {SEARCH} from '../../shared/constants';\nimport {variableSearchOperatorTypes} from '../tableDefinitionHandlers/fetchDataHandler';\n\nexport const VARIABLE_SEARCH_DEBOUNCE = 1000;\n\n/**\n * Handle N_AVAILABLE_ITEMS#SEARCH_TERM_SET event\n * dispatches SEARCH_TERM_SET event\n * @param {object} coeffects\n */\nexport const searchTermHandler = coeffects => {\n\tconst {\n\t\taction: {payload},\n\t\tstate: {availableItems},\n\t\tproperties: {showVariables, search},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\n\tconst {searchValue, category, openedCategory} = payload;\n\n\tdispatch(SEARCH_TERM_SET, payload);\n\n\tif (showVariables && (category === VARIABLES_TABLE_NAME || openedCategory === VARIABLES_TABLE_NAME)) {\n\t\tconst newAvailableItems = {...availableItems};\n\t\tnewAvailableItems[VARIABLES_TABLE_NAME] = null;\n\n\t\tupdateState({searchValue, availableItems: newAvailableItems});\n\n\t\tdispatch(FETCH_VARIABLES_DATA, {\n\t\t\treferenceFieldTableName: VARIABLES_TABLE_NAME,\n\t\t\tsearchTerm: searchValue || '',\n\t\t\toperator: search === SEARCH.CONTAINS ? variableSearchOperatorTypes.LIKE : variableSearchOperatorTypes.STARTSWITH,\n\t\t\tlastVariableId: ''\n\t\t});\n\t} else \n\t\tupdateState({searchValue});\n\t\n};\n","\n/**\n * Handle NOW_ALERT#ACTION_CLICKED event\n * Close alert message\n * @param {object} coeffects\n */\nexport const alertHandler = coeffects => {\n\tconst {updateState} = coeffects;\n\tupdateState({showResetWarning: false});\n};\n","import uiConf from '../../now-ui.json';\nconst {components} = uiConf;\n\nconst _get = (uibProperties, name) => {\n\tconst {typeMetadata: {schema}} = uibProperties.find(i => i.name === name);\n\treturn schema;\n};\n\nconst _getDefaultValue = (uibProperties, name) => {\n\tconst {defaultValue} = uibProperties.find(i => i.name === name);\n\treturn defaultValue;\n};\n\nconst _getFieldType = (uibProperties, name) => {\n\tconst {fieldType} = uibProperties.find(i => i.name === name);\n\treturn fieldType;\n};\n\nconst _getProperties = name => components[name]?.properties;\nconst SELECTED_ITEM_SCHEMA = {\n\ttype: 'array',\n\titems: {\n\t\ttitle: 'Item object',\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tid: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\tlabel: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\trequired: [\n\t\t\t'id', 'label'\n\t\t]\n\t}\n};\nexport const getCommons = () => ({\n\tSELECTED_ITEM: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\titem: SELECTED_ITEM_SCHEMA,\n\t\t\tselected: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t},\n\tSELECTED_ITEM_SET: {\n\t\ttype: 'array',\n\t\titems: SELECTED_ITEM_SCHEMA\n\t},\n\tEXPANDED_ITEM: {\n\t\ttitle: 'Expanded item object',\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tcategory: {type: 'string'},\n\t\t\titem: {\n\t\t\t\ttitle: 'Item object',\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\treference: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tlabel: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\titemId: {type: 'string'}\n\t\t}\n\t}\n\n});\n\n/**\n * Simple schema utility to getSchema  from now-ui.json\n * And some commons definitions\n * @usage const SCHEMA = getSchema('componentName');\n * @param {object} componentName - the name of the component you want to extract from\n * @return {object}\n */\nexport function getSchema(componentName) {\n\tconst uibProperties = _getProperties(componentName);\n\tif (!uibProperties)\n\t\treturn null;\n\n\treturn {\n\t\tget: name => _get(uibProperties, name),\n\t\tgetDefaultValue: name => _getDefaultValue(uibProperties, name),\n\t\tgetFieldType: name => _getFieldType(uibProperties, name),\n\t\t...getCommons()\n\t};\n}\n","import {createCustomElement} from '@servicenow/ui-core';\nimport actionHandlers from './actionHandlers';\nimport styles from './styles.scss';\nimport view from './view';\nimport {getSchema} from '../shared/schema';\nimport {setInitialStateHandler} from './handlers/setInitialStateHandler';\nimport {SELECTED_COLUMNS_DEFAULT_TEXT, AVAILABLE_COLUMNS_DEFAULT_TEXT} from './constants';\n\nexport const COMPONENT_NAME = 'sn-list-selector';\nconst SCHEMA = getSchema(COMPONENT_NAME);\n\nconst setInitialState = coeffects => setInitialStateHandler(coeffects);\n\n/**\n *  A List selector visual component used to add, remove, or move items in a form or list\n *\n *  ![alt text](snapshot.gif)\n *\n * ```jsx\n * <sn-list-selector\n *\t\tmode=\"tableDescription\"\n *\t\ttable-name=\"incident\"\n * />\n *\n * <sn-list-selector\n *      mode=\"manual\"\n *      items={\"category1\": {\"item1\": {\"label\": \"Item 1\", \"reference\": null},\"item2\": {\"label\": \"Item 2\", \"reference\": null} }}\n *      items-root=\"category1\"\n *  />\n * ```\n *\n * @seismicElement sn-list-selector\n * @summary A List selector visual component used to add, remove, or move items in a form or list.\n */\ncreateCustomElement('sn-list-selector', {\n\tview,\n\tsetInitialState,\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Mandatory\n\t\t *\n\t\t * The population mode of available items\n\t\t * one of two modes:\n\t\t * \t\t1) Manual\n\t\t * \t\t2) Connected - table definition\n\t\t *\n\t\t * \t@type {String}\n\t\t */\n\t\tmode: {\n\t\t\tschema: SCHEMA.get('mode')\n\t\t},\n\t\t/**\n\t\t *  Choose how to display the component:\n\t\t *  \t1) Compact display one panel for both available and selected panel\n\t\t *  \t2) Two panels, one for available items and one for selected items\n\t\t *  \t3) Dot walk mode, wide available panel for easy dot walk navigation (default)\n\t\t *\n\t\t *\t@type {String}\n\t\t */\n\t\tviewType: {\n\t\t\tdefault: 'dotWalk',\n\t\t\tschema: SCHEMA.get('viewType')\n\t\t},\n\t\t/**\n\t\t * Optional\n\t\t *\n\t\t * If true, a tree is displayed to select from, that includes reference fields so we can dot-walk.\n\t\t * Only applicable to Connected mode\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tallowDotWalking: {\n\t\t\tdefault: false,\n\t\t\tschema: SCHEMA.get('allowDotWalking')\n\t\t},\n\t\t/**\n\t\t * Optional\n\t\t * If this flag set to true, list selector will display variables and questions in available items\n\t\t * @type {boolean}\n\t\t */\n\t\tshowVariables: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\t/**\n\t\t * Optional\n\t\t * If this flag set to true, list selector will display extended fields in available items.\n\t\t * To align list selector with legacy dot-walking components showExtendedFields value should be bound to glide.ui.list.allow_extended_fields\n\t\t * @type {boolean}\n\t\t */\n\t\tshowExtendedFields: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'}\n\t\t},\n\t\t/**\n\t\t * Table from where the fields need to be displayed\n\t\t * Only applicable to Connected mode\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {\n\t\t\tschema: SCHEMA.get('tableName')\n\t\t},\n\n\t\t/**\n\t\t * Flag to include sysId in list of fields shown\n\t\t * Only applicable to Connected mode\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tincludeSysId: {\n\t\t\tschema: SCHEMA.get('includeSysId')\n\t\t},\n\n\t\t/**\n\t\t * Items object for manual population of available items\n\t\t * Only applicable to Manual mode\n\t\t *\n\t\t * @type {Object}\n\t\t */\n\t\titems: {\n\t\t\tschema: SCHEMA.get('items')\n\t\t},\n\n\t\t/**\n\t\t * This is available items category (panel) to start with.\n\t\t * Only applicable to Manual mode\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\titemsRoot: {\n\t\t\tdefault: '',\n\t\t\tschema: SCHEMA.get('itemsRoot')\n\t\t},\n\n\t\t/**\n\t\t * selectedItems - list of selected fields\n\t\t *\n\t\t *  @type {Array<{id: string, label: string}>}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tschema: SCHEMA.get('selectedItems')\n\t\t},\n\n\t\t/**\n\t\t * unselectableItems - list of items that are not selectable\n\t\t *\n\t\t *  @type {{category: string, items: Array<string>}}\n\t\t */\n\t\tunselectableItems: {\n\t\t\tdefault: {},\n\t\t\tschema: SCHEMA.get('unselectableItems')\n\t\t},\n\n\t\t/**\n\t\t * selectedLabel - A label for the selected columns\n\t\t * @type {string}\n\t\t */\n\t\tselectedLabel: {\n\t\t\tdefault: SELECTED_COLUMNS_DEFAULT_TEXT,\n\t\t\tschema: SCHEMA.get('selectedLabel')\n\t\t},\n\t\t/**\n\t\t * availableLabel - A label for the available columns\n\t\t * @type {string}\n\t\t */\n\t\tavailableLabel: {\n\t\t\tdefault: AVAILABLE_COLUMNS_DEFAULT_TEXT,\n\t\t\tschema: SCHEMA.get('availableLabel')\n\t\t},\n\t\t/**\n\t\t * Display the number of items in the Available and Selected buckets.\n\t\t * In the Available bucket, the count reflects only the items in the left column\n\t\t * @type {boolean}\n\t\t */\n\t\tshowCount: {\n\t\t\tdefault: true,\n\t\t\tschema: SCHEMA.get('showCount')\n\t\t},\n\t\t/**\n\t\t * specifies the list selector available and selected headings level (H1-H6) it does not effect title design\n\t\t * @type {number}\n\t\t */\n\t\theadersLevel: {\n\t\t\tdefault: 6,\n\t\t\tschema: SCHEMA.get('headersLevel')\n\t\t},\n\t\t/**\n\t\t * disable reorder of selected items\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableReorder: {\n\t\t\tdefault: false,\n\t\t\tschema: SCHEMA.get('disableReorder')\n\t\t},\n\t\t/**\n\t\t * show a selected item path in the available items.\n\t\t * Only available for manual mode\n\t\t * To used this feature, the full path (all categories) to get to a selected items must be pre loaded\n\t\t * @type {boolean}\n\t\t */\n\t\tshowSelectedItemPath: {\n\t\t\tdefault: false,\n\t\t\tschema: SCHEMA.get('showSelectedItemPath')\n\t\t},\n\t\t/**\n\t\t * Some controls may be hidden until the relevant element is hovered or focused.\n\t\t * This setting reveals all hidden controls inside the component.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowHiddenControls: {\n\t\t\tdefault: false,\n\t\t\tschema: SCHEMA.get('showHiddenControls')\n\t\t},\n\t\t/**\n\t\t * Controls how to filter the list items as the user types into the integrated search input\n\t\t * one of two search options:\n\t\t * \t\t1) Initial\n\t\t * \t\t2) Contains\n\t\t *\n\t\t * \t@type {String}\n\t\t */\n\t\tsearch: {\n\t\t\tschema: SCHEMA.get('search')\n\t\t},\n\t\t/**\n\t\t * Hide reset warning message when list selector data reset after tableName/itemsRoot changed.\n\t\t */\n\t\thideResetWarning: {\n\t\t\tschema: SCHEMA.get('hideResetWarning')\n\t\t}\n\t},\n\tactionHandlers,\n\tactions: {\n\t\t/**\n\t\t * Dispatched on change of selected fields.\n\t\t * @type {{items: Array<object> }}\n\t\t */\n\t\t'SN_LIST_SELECTOR#SELECTED_ITEM_SET': {\n\t\t\tschema: SCHEMA.SELECTED_ITEM_SET\n\t\t},\n\t\t/**\n\t\t * Dispatched every time an item is selected or deselected\n\t\t * @type {{item: object, value: boolean }}\n\t\t */\n\t\t'SN_LIST_SELECTOR#ITEM_SELECTED': {\n\t\t\tschema: SCHEMA.SELECTED_ITEM\n\t\t},\n\t\t/**\n\t\t * Dispatched on item expand (dot walking) request.\n\t\t * @type {{category: string, itemId: string, path: Array<string> }}\n\t\t */\n\t\t'SN_LIST_SELECTOR#ITEM_EXPAND_REQUESTED': {\n\t\t\tschema: SCHEMA.EXPANDED_ITEM\n\t\t},\n\t\t/**\n\t\t * Notifies that a user reached the end of the category items by scrolling to the bottom of the panel\n\t\t * @type {{category: string}}\n\t\t */\n\t\t'SN_LIST_SELECTOR#SCROLLED_TO_BOTTOM': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcategory: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user inputs text in the internal search field.\n\t\t * @type {{value: string}}\n\t\t * @uib.description Dispatched when the user inputs text in the internal search field\n\t\t */\n\t\t'SN_LIST_SELECTOR#SEARCH_TERM_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\tcategory: {type: 'string'},\n\t\t\t\t\topenedCategory: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import * as exports from '/home/jenkins/agent/workspace/smic-coe_sn-list-selector_master/target/checkout/src/index.js';\nwindow.__TECTONIC__$devsnc_sn_list_selector=exports;\nexport * from '/home/jenkins/agent/workspace/smic-coe_sn-list-selector_master/target/checkout/src/index.js';\n\n"],"version":3}},{"offset":{"line":478,"column":0},"map":{"mappings":"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","file":"externals/sn-tinymce/29.4.0/index.min.js","names":["e","t","Array","isArray","r","o","prototype","isPrototypeOf","constructor","name","String","n","s","a","undefined","i","l","c","u","d","h","_len","arguments","length","_key","apply","m","p","f","g","_len2","_key2","_len3","_key3","concat","v","Error","y","b","x","k","_classCallCheck","this","tag","value","_createClass","key","some","none","singletonNone","w","slice","S","indexOf","C","push","T","call","I","A","O","E","pass","fail","L","N","_","D","P","R","M","j","F","sort","U","B","isSome","z","substr","H","$","substring","W","V","G","q","replace","K","parseInt","J","Y","major","minor","patch","X","exec","Z","options","get","Q","ee","te","ne","re","oe","se","ae","ie","le","ce","ue","de","he","me","pe","tinymce","explode","fe","set","ge","each","clear","isSet","_extends","on","ve","from","dom","nodeValue","getOr","getOption","ye","window","Function","be","xe","split","ke","nodeName","toLowerCase","we","nodeType","Se","Ce","Te","Ie","Ae","Oe","Ee","Le","Ne","_e","De","fromHtml","document","createElement","innerHTML","hasChildNodes","childNodes","console","error","fromTag","fromText","createTextNode","fromDom","fromPoint","elementFromPoint","map","Pe","Object","keys","Re","hasOwnProperty","Me","je","Fe","Ue","Be","ze","He","_len4","_key4","We","$e","Ve","nu","detect","test","Number","unknown","Ge","search","qe","Ke","Je","versionRegexes","brand","Ye","Xe","browsers","oses","Ze","Qe","et","tt","nt","rt","current","version","isEdge","isChromium","isIE","isOpera","isFirefox","isSafari","ot","st","at","it","lt","ct","ut","dt","ht","mt","isWindows","isiOS","isAndroid","isMacOS","isLinux","isSolaris","isFreeBSD","isChromeOS","pt","ft","gt","matchMedia","matches","vt","bind","brands","orThunk","fold","isiPad","isiPhone","isTablet","isPhone","isTouch","isWebView","isDesktop","browser","os","deviceType","navigator","userAgent","userAgentData","yt","bt","xt","kt","isSupported","cleanDocument","Promise","reject","wt","filter","loadScript","catch","then","cleanFilteredInlineElements","St","unbind","trigger","_len5","_key5","Ct","registry","Tt","msMatchesSelector","webkitMatchesSelector","mozMatchesSelector","It","childElementCount","querySelectorAll","At","Ot","Et","createRange","setStartBefore","setStart","setStartAfter","setEndBefore","setEnd","setEndAfter","Lt","Nt","_len6","_key6","_len7","_key7","match","join","log","constructors","params","_t","ltr","rtl","Dt","startContainer","startOffset","endContainer","endOffset","Pt","start","soffset","finish","foffset","Rt","ownerDocument","Mt","jt","defaultView","Ft","parentNode","Ut","previousSibling","Bt","nextSibling","zt","reverse","Ht","Wt","Element","attachShadow","Node","getRootNode","$t","Vt","Gt","host","qt","body","contains","Kt","Jt","Yt","before","after","Xt","cata","getStart","Zt","domRange","relative","exact","Qt","exactFromRange","getWin","range","en","tn","nn","getSelection","rn","removeAllRanges","addRange","sn","rangeCount","getRangeAt","an","anchorNode","focusNode","collapsed","anchorOffset","focusOffset","ln","cn","insertBefore","un","hn","dn","appendChild","mn","pn","fn","gn","textContent","vn","removeChild","yn","bn","xn","kn","Date","getTime","Math","floor","random","wn","setAttribute","Sn","Cn","Tn","getAttribute","In","An","hasAttribute","On","removeAttribute","En","Ln","classList","Nn","_n","add","Pn","Rn","exists","Mn","jn","style","getPropertyValue","Fn","setProperty","Un","removeProperty","Bn","zn","Hn","getComputedStyle","Wn","$n","Vn","item","Gn","qn","Kn","Jn","Yn","Xn","Zn","Qn","er","tr","nr","resolve","rr","or","sr","ar","ir","lr","cr","dr","hr","getOrThunk","setBaseAndExtent","extend","collapse","mr","cleanup","toOn","toOff","ur","contenteditable","position","top","width","height","overflow","opacity","attach","focus","contents","elements","html","offscreen","container","detach","instance","setTimeout","destroy","events","run","pr","fr","cacheSuffix","pasteBinAttrs","keepSrc","sanitizer","sanitizeHtml","sanitizeText","tabSpaces","indentUseMargin","defaultProtocol","gr","vr","isReady","yr","pure","br","xr","toPromise","anonBind","toLazy","toCached","kr","wr","Cr","inner","isValue","isError","Ir","mapError","forall","getOrDie","toOptional","Tr","fromOption","Or","removeEventListener","Er","Lr","target","shadowRoot","composed","composedPath","stopPropagation","preventDefault","stop","prevent","kill","raw","clientX","clientY","Ar","addEventListener","Nr","count","callbacks","lastIndexOf","ephemeral","permanent","unregister","Dr","Sr","getOrSetIndexed","waitForLoad","preload","addStylesheet","_r","rel","type","href","head","sheet","cssRules","addScript","Pr","Rr","paste","cancel","incomplete","Mr","jr","Fr","Ur","Br","zr","Hr","Wr","$r","response","bundle","Vr","Gr","qr","Kr","steps","input","label","capture","Jr","Yr","Xr","Zr","Qr","starts","pattern","all","not","eo","to","no","caseSensitive","caseInsensitive","ro","condition","oo","so","ao","io","lo","attributes","uo","ho","mo","po","fo","go","scopeName","tagName","getNode","text","vo","yo","bo","ko","styles","classes","tags","Dn","remove","wo","So","mutate","Co","createDocumentFragment","receive","cloneNode","xo","left","firstChild","hasNext","next","pop","To","Io","emit","emitTokens","Ao","trace","nextFilter","Oo","variant","Eo","No","JSON","parse","level","emblems","originalToken","Lo","getCurrentListType","getCurrentLevel","listType","emitter","token","openItem","inside","_o","pred","action","Do","toString","Po","state","result","Ro","Mo","types","items","jo","Fo","Uo","Bo","zo","co","Ho","Wo","$o","Vo","qo","Ko","Jo","Yo","closeAllLists","Xo","Qo","outside","es","Zo","check","ts","reset","Go","ns","rs","regex","ss","as","is","charAt","ls","isNaN","cs","us","trim","ds","hs","ms","ps","stringify","nextNode","currentNode","createTreeWalker","NodeFilter","SHOW_COMMENT","acceptNode","FILTER_ACCEPT","FILTER_REJECT","gs","max","ceil","fs","vs","ys","DOMParser","parseFromString","implementation","createHTMLDocument","bs","xs","Word","GoogleDocs","Html","ks","attrName","styleName","isNone","mapValue","ws","Ss","Cs","Ts","toUpperCase","Is","As","red","green","blue","Os","Es","Ls","alpha","Ns","parseFloat","_s","Ds","getContext","clearRect","fillStyle","fillRect","getImageData","data","Ps","Rs","Ms","js","Fs","Us","matchTag","values","newTag","removeExtra","Bs","zs","border","fake","toRemove","toPreserve","Hs","Ws","$s","Vs","Gs","qs","Ks","Js","Ys","Xs","Zs","Qs","face","size","color","ea","ta","na","ra","oa","sa","aa","ia","la","ca","ua","da","ha","ma","pa","fa","ga","va","transform","debug","ya","ba","xa","ka","wa","Sa","Ca","Ta","commonAncestorContainer","getOrUndefined","Ia","Aa","Oa","Ea","La","Na","_a","Da","Pa","Ra","Ma","ja","Fa","Ua","merge","Ba","za","Ha","Wa","$a","Va","Ga","bothErrors","firstError","secondError","bothValues","qa","Ya","Ka","Ja","drawImage","Xa","naturalWidth","Za","naturalHeight","Qa","fetch","ok","blob","status","code","ei","atob","min","charCodeAt","Uint8Array","Blob","ti","ni","HTMLCanvasElement","toBlob","toDataURL","ri","URL","createObjectURL","Image","src","complete","si","oi","FileReader","onloadend","readAsDataURL","revokeObjectURL","ai","getType","toBase64","toAdjustedBlob","toAdjustedDataURL","toAdjustedBase64","toCanvas","ii","li","ci","ui","pow","round","di","mi","pi","gi","vi","yi","isPx","cropWidth","cropHeight","bi","xi","PI","hi","sin","cos","abs","translate","rotate","ki","wi","Si","Ci","len","list","Ai","element","Oi","include","excludeWith","excludeWithout","Ei","Li","boundary","empty","nonEditable","Ni","_i","Di","Pi","Ri","isBoundary","toText","eq","property","getText","Mi","ji","Fi","isText","isEmptyTag","isNonEditable","isElement","children","Ui","Bi","zi","Ti","prev","setText","create","insert","afterAll","word","Hi","up","selector","closest","predicate","down","getRaw","attrs","copyTo","append","appendAll","prepend","wrap","unwrap","clone","query","comparePosition","compareDocumentPosition","prevSibling","parent","isComment","isSpecial","getLanguage","Wi","source","$i","Ii","term","index","prefix","suffix","lastIndex","RegExp","Vi","Gi","qi","Ki","Ji","Yi","Xi","disabled","discriminator","fromClipboard","rtf","Zi","Qi","el","tl","nl","flavor","rl","Symbol","iterator","ol","setPrototypeOf","__proto__","sl","Reflect","construct","sham","Proxy","Boolean","valueOf","al","il","TypeError","ll","cl","ul","isFrozen","dl","getPrototypeOf","hl","getOwnPropertyDescriptor","ml","freeze","pl","seal","fl","gl","vl","yl","bl","xl","Nl","forEach","kl","wl","Sl","Cl","Tl","Il","Al","Ol","El","Ll","_l","Dl","Pl","warn","Rl","Ml","jl","Fl","Ul","Bl","zl","Hl","Wl","$l","Vl","Gl","ql","Kl","Jl","Yl","Xl","Zl","Ql","ec","nc","removed","DocumentFragment","HTMLTemplateElement","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","trustedTypes","content","createPolicy","currentScript","createHTML","createScriptURL","createNodeIterator","getElementsByTagName","importNode","documentMode","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","PARSER_MEDIA_TYPE","ALLOWED_TAGS","ALLOWED_ATTR","ALLOWED_NAMESPACES","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","FORBID_CONTENTS","FORBID_TAGS","FORBID_ATTR","USE_PROFILES","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","FORCE_BODY","SANITIZE_DOM","SANITIZE_NAMED_PROPS","KEEP_CONTENT","IN_PLACE","ALLOWED_URI_REGEXP","NAMESPACE","CUSTOM_ELEMENT_HANDLING","svg","svgFilters","mathMl","ADD_TAGS","ADD_ATTR","table","tbody","outerHTML","attribute","getAttributeNode","documentElement","createDocument","SHOW_ELEMENT","SHOW_TEXT","namespaceURI","allowedTags","firstElementChild","attrValue","keepAttr","allowedAttributes","forceKeepAttr","getAttributeType","setAttributeNS","sanitize","toStaticHTML","shadowroot","shadowrootmod","doctype","setConfig","clearConfig","isValidAttribute","addHook","removeHook","removeHooks","removeAllHooks","rc","oc","sc","ac","ic","lc","cc","uc","dc","hc","mc","pc","fc","gc","vc","yc","bc","xc","kc","wc","Sc","getData","Cc","Tc","Ic","clipboardData","Ac","Oc","native","fallback","msoffice","googledocs","image","plaintext","discard","Ec","getLabelForApi","Lc","asset","Nc","block","getAvailable","isInternal","officeStyles","images","getWordData","getGoogleDocsData","getImage","getHtml","getOnlyText","getNative","nativeEvent","getVoid","pasteCustom","isBlocked","_c","Dc","url","Pc","Rc","Mc","jc","Fc","Uc","Bc","asyncAsset","zc","Hc","Wc","$c","Gc","qc","allowLocalImages","toArray","Vc","errors","Kc","credentials","headers","async","Jc","message","Yc","Xc","Zc","eu","encodeURIComponent","onload","onerror","readAsText","Qc","tu","ru","ou","su","queryKey","strictMode","path","au","cu","iu","lu","htmlStyles","isWord","uu","du","isGoogleDocs","hu","translations","gdocsStyles","tabindex","className","click","setTitle","setContent","setButtons","close","show","mu","fu","gu","defineProperty","vu","yu","getOwnPropertyNames","bu","xu","ku","exports","wu","Su","encode","decode","Cu","rest","Tu","getArg","scheme","auth","port","urlParse","urlGenerate","isAbsolute","splice","unshift","normalize","toSetString","fromSetString","compareByOriginalPositions","originalLine","originalColumn","generatedColumn","generatedLine","compareByOriginalPositionsNoSource","compareByGeneratedPositionsDeflated","compareByGeneratedPositionsDeflatedNoLine","compareByGeneratedPositionsInflated","parseSourceMapInput","computeSourceURL","Iu","Map","_array","_set","fromArray","has","ArraySet","Au","_sorted","_last","unsortedForEach","MappingList","Ou","_file","_sourceRoot","_skipValidation","_sources","_names","_mappings","_sourcesContents","_version","fromSourceMap","sourceRoot","file","eachMapping","generated","line","column","original","addMapping","sources","sourceContentFor","setSourceContent","_validateMapping","applySourceMap","originalPositionFor","_serializeMappings","_generateSourcesContent","toJSON","names","mappings","sourcesContent","SourceMapGenerator","Eu","Lu","Nu","_u","Du","Pu","Ru","Mu","ju","Fu","Uu","Bu","zu","Hu","Gu","qu","Ku","Ju","Yu","Xu","Zu","Qu","ed","td","nd","rd","fromCodePoint","od","sd","Uint32Array","ad","lines","columns","startLine","startColumn","computed","id","ld","cd","ud","dd","hd","md","Set","pd","safe","xd","spec","bd","fd","gd","vd","yd","_ref","_ref2","_slicedToArray","kd","node","wd","Sd","AnPlusB","Dd","Atrule","Pd","AtrulePrelude","Rd","AttributeSelector","Vd","Block","Gd","Brackets","qd","CDC","Kd","CDO","Jd","ClassSelector","Xd","Combinator","Qd","Comment","eh","Declaration","th","DeclarationList","nh","Dimension","rh","oh","Hash","sh","IdSelector","ch","Identifier","ih","MediaFeature","uh","MediaQuery","dh","MediaQueryList","hh","NestingSelector","ph","Nth","gh","vh","Operator","yh","Parentheses","bh","Percentage","kh","PseudoClassSelector","Sh","PseudoElementSelector","Th","Ratio","Ih","Raw","Eh","Rule","Lh","Selector","_h","SelectorList","Ph","Bh","StyleSheet","zh","TypeSelector","Vh","UnicodeRange","Gh","Url","Qh","Value","em","WhiteSpace","tm","Cd","Td","Id","Ad","Od","tokenStart","tokenEnd","Ed","Ld","cmpChar","Nd","tokenType","lookupType","isDelim","skip","consume","_d","skipSC","substrToCursor","loc","getLocation","tokenize","prelude","Hd","eof","eat","Wd","$d","matcher","flags","Yd","eatDelim","Zd","eatIdent","important","unit","ah","lh","mh","fh","lookupValue","nth","xh","consumeNumber","wh","consumeFunctionName","pseudo","createList","tokenIndex","Ch","right","Ah","getTokenStart","firstCharOffset","Oh","skipUntilBalanced","consumeUntilBalanceEnd","Nh","readSequence","scope","getFirstListNode","getLocationFromList","Dh","Rh","Mh","Fh","Uh","Wh","$h","qh","Kh","Jh","Yh","Xh","Zh","nm","generate","tokenBefore","decorator","sourceMap","css","mode","rm","om","tail","cursor","createItem","allocateCursor","releaseCursor","appendData","updateCursors","insertList","im","lm","_ref3","padStart","am","sm","cm","assign","SyntaxError","stack","offset","sourceFragment","formattedMessage","um","recognizer","onWhiteSpace","dm","hm","mm","pm","createSingleNodeList","fm","gm","vm","ym","dir","lang","where","slotted","bm","xm","_class","end","_class2","setSource","offsetAndType","balance","tokenCount","lookupOffset","forEachToken","idx","chunk","context","atrule","parseContext","config","parseAtrulePrelude","parseRulePrelude","parseValue","parseCustomProperty","consumeUntilLeftCurlyBracket","consumeUntilLeftCurlyBracketOrSemicolon","consumeUntilExclamationMarkOrSemicolon","consumeUntilSemicolonIncluded","first","getLastListNode","last","parseWithFallback","lookupNonWSType","cmpStr","fromCharCode","getLocationRange","filename","positions","onParseError","_l2","_l2$context","onComment","default","selectorList","km","wm","Sm","Cm","Tm","Im","_len8","_key8","Am","_len9","_key9","Om","Em","Lm","includes","Nm","selectorString","asObject","toObject","asArray","asString","Dm","Pm","selectorText","Rm","CSSRule","IMPORT_RULE","styleSheet","STYLE_RULE","Mm","Fm","calculate","compare","_m","styleSheets","jm","Um","zm","convertToPx","Hm","play","display","pu","contentWindow","contentDocument","open","write","mergeInline","Bm","$m","Vm","Gm","qm","preprocessor","annotate","local","Jm","Ym","Xm","pcIsSpace","str","Zm","Qm","ep","Km","tp","handle","proxyBin","findClipboardTags","np","Wm","intraFlag","isMarked","rp","op","sp","ap","ip","unsupported","supported","lp","cp","bower","idRef","isEquation","dp","hp","mp","pp","fp","vp","yp","bp","xp","kp","blobs","filteredImages","imageAttrs","failedImage","Sp","Cp","processRtf","gp","wp","_E","_E2","cropl","cropt","cropw","croph","Tp","Ip","Ap","Op","Ep","Lp","Np","_p","Dp","Pp","Rp","Mp","jp","Fp","correlated","Up","Bp","kind","getAsFile","zp","Hp","Wp","Resource","load","$p","Vp","Gp","qp","Kp","Jp","Yp","Xp","Zp","Qp","undoManager","extra","nf","ef","selection","isCollapsed","execCommand","tf","insertContent","rf","hasEventListeners","of","dispatch","internal","isDefaultPrevented","cancelled","getBody","af","DomParser","schema","forced_root_block","isRootContent","Serializer","validate","serialize","lf","stopImmediatePropagation","cf","dataTransfer","PluginManager","requireLangPack","majorVersion","minorVersion","register","valid","processor","isRegistered","util","VK","metaKeyPressed","keyCode","shiftKey","fi","editorUpload","blobCache","base64","blobUri","uri","importImages","uploadImages","getLocalURL","sf","jsUrl","transact","moveToBookmark","baseUrl","class","createDialog","primary","getButtons","getAction","title","initialData","buttons","onCancel","onAction","windowManager","hide","reflow","notificationManager","assets","setProgressState","pasteHtml","pasteText","pasteEvent","getBookmark","addCommand","inline","getDoc","uf","RangeUtils","getCaretRangeFromPoint","setRng","files","jpg","jpe","jfi","jif","jfif","pjpeg","pjp","self","globalThis","_T_","aU","i3","d7","jH","c0","bb","i0","jG","b5","ag","fI","cZ","iZ","cK","iY","f7","cY","iX","aT","cX","iW","f6","f5","f4","cW","f3","aC","bI","fH","cV","jD","a$","cH","cI","cJ","fG","jC","cU","f0","fF","a7","iT","fE","jB","eg","jA","fY","d6","iR","cb","aV","d5","iP","d4","d3","jz","d2","cG","cT","bq","bC","iM","jy","cS","eb","iL","b4","jw","fX","jv","b3","bH","bG","bB","d1","bA","fC","d0","b2","aS","dZ","fB","fA","b1","b$","cR","bF","iG","fz","jq","b0","fy","aR","aK","aE","fx","iF","dY","fw","iE","fv","fU","iD","iA","jk","iz","b_","iy","fS","ix","d$","jh","cQ","dX","dW","iw","d_","cF","a_","cP","b9","a9","dV","dU","cE","d9","cO","fQ","dT","cN","dS","bz","fq","a8","cD","fP","fO","by","jd","cC","dR","jb","i9","i_","i8","cM","cB","fN","bE","i6","cL","dQ","ik","fL","aD","ij","b8","bD","b7","b6","cA","dP","fK","d8","dO","fJ","zC","c_","ek","repeat","bM","jS","aW","jT","toUtf16","Ax","aG","Invalid_argument","jQ","bL","bK","aL","aF","fun","c2","aw","AA","log2","gf","Float32Array","Int32Array","buffer","jZ","j9","Division_by_zero","isFinite","Infinity","Az","c6","jP","dims","layout","caml_custom","jN","gg","c5","NaN","f9","hi32","gj","lo32","copy","ucompare","neg","sub","mul","isZero","isNeg","and","xor","shift_left","shift_right_unsigned","shift_right","lsl1","lsr1","udivmod","quotient","modulus","div","mod","toInt","toFloat","zE","bv","jL","av","Failure","jM","read32s","read16u","read32u","Float64Array","Int8Array","Int16Array","Uint16Array","zD","read8s","read8u","read16s","jK","imul","zQ","jO","zV","fill","c4","deserialize","fixed_length","hash","jU","c8","jV","j0","jR","c9","f$","bN","justify","signstyle","filler","alternate","base","signedconv","uppercase","sign","prec","conv","gb","toExponential","toFixed","j7","gk","c3","gq","AB","kb","zF","Ay","AE","bx","j5","bP","bw","f_","Sys_error","j_","c$","ax","ab","bJ","root","lookupFun","jY","truncate","read","err_closed","create_dir_if_needed","slash","lookup","mkdir","is_dir","rmdir","readdir","opendir","readSync","closeSync","unlink","rdonly","wronly","binary","excl","cg","orig","device","zI","zR","zN","zO","zM","zP","zS","zZ","z3","zW","zY","z1","z2","ay","j8","c7","z6","z7","z8","z9","bO","aM","ej","Ab","ArrayBuffer","b32","zz","subarray","zA","zy","bf","aX","opened","buffer_curr","output","c1","j3","buffered","out","j4","z$","j2","Ak","lex_default","lex_base","lex_backtrk","lex_check","lex_trans","lex_default_code","lex_base_code","lex_backtrk_code","lex_check_code","lex_trans_code","lex_code","bQ","j6","bg","aH","toplevelReloc","process","env","jsoo_static_env","Not_found","Av","crypto","getRandomValues","randomBytes","bR","joo_tramp","joo_args","RangeError","InternalError","Stack_overflow","j1","Aw","altname","isCharacterDevice","AC","undo","obj","prop","pos","txt","AD","jW","z5","zK","aJ","cz","zw","exit","Aq","caml_fs_tmp","jsoo_create_file","zL","db","gv","gL","eK","a3","g9","hL","zv","hP","hQ","kk","kf","kq","kv","kz","kA","ky","kE","kD","kC","kJ","kH","kG","kF","kM","kL","kR","kS","kT","kU","kN","kO","kP","kQ","kZ","k0","k1","k2","kV","kW","kX","kY","k3","k7","k6","k5","lg","lj","lk","lq","lv","lG","ly","lH","lz","lI","lA","lJ","lB","lK","lC","lE","lw","lF","lx","lD","mN","mL","mM","mO","mP","mQ","mR","mS","mT","mU","mV","mJ","mH","mI","mG","mB","mq","mv","mw","mx","my","mz","mA","mf","mg","mj","mk","mb","l1","l2","l4","l5","l6","l7","l8","l9","l_","l$","l0","l3","lO","lP","lR","lS","lT","lU","lV","lW","lX","lY","lN","lQ","lZ","k8","k9","k_","k$","lb","lL","mZ","m0","nk","ng","m_","m$","nb","m5","m6","m7","m8","m9","m1","m2","m3","m4","mY","mW","mX","nq","nH","nG","nE","nM","nN","pB","pC","p4","p5","p6","p0","p1","p2","qb","qf","qg","p3","p7","p8","p9","p_","p$","pZ","qj","pP","pQ","pR","pS","pT","pU","pV","pW","pX","pL","pM","pN","pO","pK","pJ","pG","pH","pI","pF","pA","nO","nP","nQ","nR","nS","nT","nU","nV","nW","nX","nY","nZ","n0","n1","n2","n3","n4","n5","n6","n7","n8","n9","n_","n$","ob","oj","oq","ov","ox","oy","oz","oA","oB","oC","oD","oE","oF","oG","oH","oI","oJ","oK","oL","oM","oN","oO","oP","oQ","oR","oS","oT","oU","oV","oW","oX","oZ","o0","o1","o3","o4","o5","o7","o8","o9","o_","o$","pb","pf","pg","pj","pk","pq","pv","py","qz","qA","qD","qE","qB","qI","qM","qL","qK","qJ","qS","qQ","qR","qN","qO","qP","q0","qZ","q3","qT","qU","qV","qW","q1","rb","q$","q9","q5","q6","q7","q8","rQ","rP","rM","rK","rD","rE","rF","rG","rH","rI","rJ","rL","rN","rO","rB","rz","rA","ry","rw","rx","rv","rj","rk","rg","rq","r4","r5","r3","r2","r1","r0","rZ","rY","rV","rX","rW","rT","rU","rS","rR","sb","r9","r_","sg","sj","sx","sk","sq","sv","sw","sy","sz","sA","sB","sC","sD","sE","sF","sG","sH","sI","sJ","sK","sL","sM","sN","sO","sP","sQ","sR","sS","sT","sU","sV","sW","sX","sY","sZ","s1","s2","s3","s4","s5","s6","s8","s9","s_","s$","tb","tc","tg","tj","tk","tq","tv","tw","tx","ty","tz","tA","tB","tC","tD","tE","tF","tH","tI","tJ","tL","tM","tN","tP","tQ","tR","tS","tT","tU","tV","tW","tX","tY","tZ","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t_","t$","ub","uk","uj","ug","uq","u8","u9","u_","u$","vb","u6","uV","uW","uX","uY","uZ","u0","u1","uT","uO","uP","uN","uQ","uJ","uH","uI","uF","uC","uD","uz","uv","uw","ux","uy","uA","uB","uE","uM","uR","uS","u2","u4","u5","vf","vj","vk","vY","vZ","v0","v2","v1","vV","vW","vX","v3","vT","vU","vQ","vR","vS","vN","vO","vP","vK","vL","vC","vw","vx","vy","vz","vA","vB","vD","vE","vF","vG","vH","vI","vv","vq","v7","v_","v$","v8","v9","v5","v6","wK","wL","wM","wI","wE","wF","wA","wB","wC","wz","wD","ww","wx","wq","wf","wg","wj","wk","xB","xy","xz","xx","xv","xw","xf","w$","w8","w7","w3","w4","w0","w1","wZ","wU","wV","wW","wX","wS","wQ","wR","xq","xP","xN","xO","xL","xJ","xK","xH","xD","xE","xF","xG","x8","x9","xV","xW","xX","xY","xZ","x0","x1","x2","x4","x5","x7","x6","x3","xR","xT","yf","x$","yv","yq","yk","yj","yC","yD","yz","yA","yy","yx","yE","yF","y3","y4","y5","y6","yY","yZ","yU","yV","yJ","yL","yK","yM","yO","yP","yR","yS","yW","y0","y1","y7","y$","zb","kg","kj","buffer_max","refill","Af","ev","aY","bS","gw","ew","Ag","ex","cj","ck","gx","gy","kw","kx","ey","aj","bT","gz","gA","gB","aN","zJ","kB","ez","df","eA","dg","gC","aZ","gD","eB","gE","aq","az","gF","gG","eC","gH","kI","gI","kK","gJ","zB","gK","a0","z_","gM","eD","gN","dj","eE","eF","k4","gP","gQ","gR","bU","eG","gS","gT","bV","gU","gV","eH","ak","aI","aO","aP","a1","dk","cq","aA","aB","aQ","bW","lM","gW","mC","mD","mE","mF","zG","cx","eI","mK","a2","bj","gX","eJ","eL","gY","eM","eN","gZ","nj","g1","g0","eO","g2","nD","nI","g7","nL","nK","g8","nJ","bk","og","ow","oY","o2","o6","eR","pz","g_","g$","pD","px","pw","eS","pE","pY","qk","a4","eT","eU","hb","hg","eW","eX","fk","fj","eY","cw","qC","dv","qG","dw","dx","hj","hk","dy","dz","eZ","e0","e1","dA","e2","a5","e3","dB","qF","qH","hq","bX","qX","qY","e4","e5","q2","e6","dC","q4","q_","hv","dD","hw","e7","rC","hx","hy","hz","hA","e8","e9","e_","bY","hB","cy","dN","bZ","dM","dL","dK","a6","dJ","dE","r7","hC","r8","r6","r$","hD","hE","hF","e$","hG","hH","hI","hJ","hK","s0","s7","tG","tK","tO","hM","hN","hO","hR","uG","uK","uL","hS","hT","uU","u3","u7","hU","hV","dF","vg","fb","dG","hW","hX","vJ","vM","hY","v4","wb","hZ","h0","wv","h1","wy","wG","wH","wJ","h2","wN","wO","wP","wT","wY","w2","w6","w_","xb","xg","xk","h3","h4","xC","xI","xM","xQ","xS","h5","xU","x_","h6","yb","h7","yg","h8","h9","yw","h_","yB","cv","ff","dH","yG","h$","HTMLElement","yH","yN","yQ","yT","yX","y2","y8","y9","y_","ib","reduce","zd","ig","zj","zk","typeOf$1","eq$2","eqString","eqArray","eqa","eqSortedArray","compareFn","contramap","sort$1","eqRecord","eqAny","isEquatableType","getPrototypeOf$2","hasProto","isType$1","proto","typeOf","isSimpleType","eq$1","is$4","isObject","isString","isPlainObject","isArray$1","isNull","isBoolean","isUndefined","isNullable","isNonNullable","isFunction","isNumber","isArrayOf","noop","compose","args","compose1","fbc","fab","constant","identity","tripleEquals","curry","initialArgs","restArgs","die","msg","apply$1","never","always","Optional","onNone","onSome","mapper","binder","replacement","thunk","worker","nativeSlice","nativeIndexOf","nativePush","rawIndexOf","contains$2","map$3","each$e","eachr","partition$2","filter$5","foldr","acc","foldl","findUntil$1","until","find$2","findIndex$2","flatten","bind$3","difference","mapToObject","comparator","get$b","last$3","findMap","arr","hasOwnProperty$1","each$d","props","map$2","tupleMap","tuple","objAcc","internalFilter","onTrue","onFalse","filter$4","mapToArray","get$a","has$2","hasNonNullableKey","stringArray","isArrayLike","each$c","map$1","array","callback","filter$3","collection","iteratee","accumulator","thisArg","findIndex$1","last$2","cached","called","unknown$2","nu$3","Version","detect$5","agent","cleanedAgent","find$1","regexes","firstMatch","group","detect$4","candidates","candidate","checkRange","removeLeading","startsWith","removeFromStart","numChars","contains$1","endsWith","blank","trim$4","lTrim","rTrim","isNotEmpty","isEmpty$3","num","normalVersionRegex","checkContains","uastring","PlatformInfo","edge","chromium","opera","firefox","safari","nu$2","info","isBrowser","Browser","unknown$1","windows","android","linux","macos","solaris","freebsd","chromeos","nu$1","isOS","OperatingSystem","ios","PlatformDetection","detect$3","userAgentDataOpt","mediaMatch","detectBrowser$1","uaBrand","lcBrand","detectBrowser","detectOs","DeviceType","isMobile","iOSwebview","platform$4","detect$2","platform$3","browser$3","os$1","windowsPhone","Env","transparentSrc","canHaveCSP","whiteSpaceRegExp$1","trim$3","walk$4","Tools","is$3","makeMap","delim","resolvedItems","grep","inArray","hasOwn","ext","walk","explode$3","_addCacheSuffix","is$2","lhs","rhs","equals","lift2","someIf","Global","resolve$2","parts","actual","unsafe","getPrototypeOf$1","sandHTMLElement","type$1","isType","isHTMLElement$1","isElement$7","isText$b","isDocument$2","isDocumentFragment$1","isTag","rawSet","set$3","setAll$1","get$9","getOpt","has$1","remove$a","clone$4","attr","read$4","supports","get$8","add$3","clazz","add$4","remove$8","remove$9","add$2","cleanClass","remove$7","toggle$1","toggle","toggle$2","fromDom$2","SugarElement","fromHtml$1","fromPoint$2","docElm","recurse","cur","is$1","elem","bypassSelector","owner$1","documentOrOwner","dos","parentElement","parents$1","isRoot","ret","rawParent","prevSiblings","nextSiblings","children$1","child$1","lastChild","childNodesCount","isShadowRoot","isSupported$1","getStyleContainer","doc","getHead","getShadowHost","getOriginalEventTarget","event","isOpenShadowHost","inBody","getShadowRoot","ClosestOrAncestor","ancestor","ancestor$4","closest$4","child","descendant$2","descend","res","ancestor$3","descendant$1","one","querySelector","closest$3","isEditable$2","assumeEditable","isContentEditable","editable","getRaw$1","contentEditable","internalSet","set$2","setAll","get$7","getUnsafeProperty","getAllRaw","ruleName","remove$6","internalRemove","before$3","marker","after$4","append$1","wrap$2","wrapper","rogue","remove$5","after$3","fromDom$1","nodes","get$6","set$1","docDom","fragment","contentElements","handle$1","handler","rawEvent","mkEvent","fromRawEvent","bind$2","useCapture","wrapped","SugarPosition","firstDefinedOrZero","viewport","offsetLeft","offsetTop","box","getBoundingClientRect","boxPosition","get$5","_DOC","scrollLeft","scrollTop","win","scrollTo","intoView","alignToTop","scrollIntoViewIfNeeded","scrollIntoView","bounds","bottom","getBounds","_win","scroll","visualViewport","get$4","clientWidth","clientHeight","pageLeft","pageTop","descendants$1","descendants","ancestor$2","DomTreeWalker","startNode","rootNode","prev2","shallow","findSibling","findPreviousNode","startName","siblingName","sibling","isNodeType","isRestrictedNode","isElement$6","isHTMLElement","matchNodeName","lowerCasedName","matchNodeNames","lowerCasedNames","matchStyleValues","isBogus$2","isTable$2","hasContentEditableState","isTextareaOrInput","isText$a","isCData","isPi","isDocument$1","isDocumentFragment","isBr$6","isImg","isContentEditableTrue$3","isContentEditableFalse$b","isTableCell$3","isTableCellOrCaption","isMedia$2","isListItem$2","isDetails","isSummary$1","zeroWidth","nbsp","isZwsp$2","char","api$1","NodeValue","get$3","lazyLookup","isBr$5","isTextBlock$2","isList","isListItem$1","isTableSection","isTableCell$2","isWsPreserveElement","removeTrailingBr","elm","allBrs","brs","rawNode","getLastChildren$1","createPaddingBr","fillWithPaddingBr","ZWSP$1","isZwsp$1","trim$2","isElement$5","isText$9","isCaretContainerBlock$1","isCaretContainerInline","isCaretContainer$2","hasContent","isBeforeInline","isAtStart","isAfterInline","isAtEnd","startsWithCaretContainer$1","endsWithCaretContainer$1","showCaretContainerBlock","caretContainer","lastBr","trimBogusBr","isRangeInCaretContainerBlock","isContentEditableTrue$2","isContentEditableFalse$a","isBr$4","isText$8","isInvalidTextElement","isAtomicInline","isTable","isCaretContainer$1","isCaretCandidate$3","isNonUiContentEditableFalse","isUnselectable","isEditableCaretCandidate$1","isInEditable","tempNode","whiteSpaceRegExp","isWhitespaceText","isZwsp","isNewLineChar","normalize$4","isStartOfContent","isEndOfContent","tabSpace","normalizedText","isCollapsibleWhitespace$1","isNewline","isWhitespace$1","hasWhitespacePreserveParent","rootElement","isContent$1","isNamedAnchor","isBookmark","isBogus$1","isBogusAll","hasAttributeValue","hasNonEditableParent","isEmpty$2","skipBogus","isEmptyNode","targetNode","brCount","walker","isNonHtmlElementRootName","isNonHtmlElementRoot","toScopeType","namespaceElements","transparentBlockAttr","makeSelectorFromSchemaMap","elementNames","updateTransparent","blocksSelector","transparent","updateBlockStateOnChildren","transparentSelector","getTransparentElements","getBlockElements","trimEdge","leftSide","childPropertyName","splitInvalidChildren","transparentBlocks","blocksElements","isBlock","transparentBlock","parentBlock","invalidChildren","isValidChild","stateScope","split$2","parentElm","splitElm","beforeFragment","extractContents","afterFragment","updateChildren","unwrapInvalidChildren","isTransparentBlock","isTransparentInline","updateElement","isTransparentElement","hasBlockAttr","isTransparentElementName","isTransparentAstBlock","browser$2","firstElement","hasChild","getPos","rootElm","clientLeft","clientTop","offsetParent","castOffsetParent","caption","bodyTop","captionTop","captionHeight","offsetHeight","getTableCaptionDeltaY","StyleSheetLoader","documentOrShadowRoot","settings","idCount","loadedStates","edos","addStyle","removeStyle","styleContainer","getOrCreateState","passed","failed","success","failure","link","urlWithSuffix","linkElem","contentCssCors","referrerPolicy","unload","loadRawCss","styleElem","loadAll","urls","allSettled","results","reason","unloadRawCss","unloadAll","_setReferrerPolicy","_setContentCssCors","create$d","WeakMap","forElement","referenceElement","rootDom","isInlineContent","isInline","isBookmarkNode$2","isSpan","isKeepTextNode","surroundedByInlineContent","prevIsInline","nextIsInline","trimNode","currentChildren","isDocument","isKeepElement","makeMap$3","attrsCharsRegExp","textCharsRegExp","rawCharsRegExp","entityRegExp","asciiMap","baseEntities","reverseEntities","buildEntitiesLookup","radix","itemList","chr","entity","namedEntities","encodeRaw","encodeNumeric","encodeNamed","entities","resolveEntities","Entities","encodeAllRaw","getEncodeFunc","entitiesMap","encodeNamedAndNumeric","encodeCustomNamed","nameMap","named","numeric","innerText","nativeDecode","split$1","patternToRegExp","parseValidElementsRules","globalElement","validElements","elementRuleRegExp","rule","elementName","outputName","attrsPrefix","attrData","attributesOrder","cloneAttributesInto","paddEmpty","removeEmpty","removeEmptyAttrs","parseValidElementsAttrDataIntoElement","targetElement","attrRuleRegExp","hasPatternsRegExp","attrType","attrPrefix","attributesRequired","required","attributesDefault","defaultValue","attributesForced","forcedValue","validValues","attrPattern","attributePatterns","aliasName","mapCache","makeMap$2","each$b","extend$2","explode$2","createMap","extendWith","getTextRootBlockElements","getTextBlockElements","compileElementMap","Schema","patternElements","customElementsMap","specialElements","createLookupTable","option","newValue","schemaType","schemaItems","_getElementSetsAsStri","globalAttributes","blockContent","phrasingContent","flowContent","getElementSetsAsStrings","addElement","childNames","allAttributes","addAttrs","schemaItem","video","audio","script","makeSchema","verify_html","valid_elements","validStyles","valid_styles","invalidStyles","invalid_styles","validClasses","valid_classes","whitespaceElementsMap","selfClosingElementsMap","voidElementsMap","boolAttrMap","nonEmptyOrMoveCaretBeforeOnEnter","nonEmptyElementsMap","moveCaretBeforeOnEnterElementsMap","headings","textBlockElementsMap","blockElementsMap","textInlineElementsMap","transparentElementsMap","wrapBlockElementsMap","addValidElements","patternElement","setValidElements","addCustomElements","customElements","text_block_elements","block_elements","customElementRegExp","cloneName","parseCustomElementsRules","customRule","elmName","addValidChildren","validChildren","childRuleRegExp","operation","prefixToOperation","parseValidChildrenRules","getElementRule","_val","padd_empty_block_inline_children","paddInEmptyBlock","custom_elements","valid_children","extended_valid_elements","thead","tfoot","legend","area","param","parents","parentsRequired","invalid_elements","getValidStyles","getInvalidStyles","getValidClasses","getBoolAttrs","getTextInlineElements","getVoidElements","getSelfClosingElements","getNonEmptyElements","getMoveCaretBeforeOnEnterElements","getWhitespaceElements","getWrapBlockElements","getSpecialElements","isValid","attrPatterns","getCustomElements","isWrapper","normalizeHex","hex","toHex","component","fromRgba","rgbaColour","hexColour","rgbRegex","rgbaRegex","fromStringValues","fromString","rgbaString","rgbMatch","rgbaMatch","rgba","rgbaToHexString","Styles","urlOrStrRegExp","styleRegExp","trimRightRegExp","encodingLookup","invisibleChar","encodingItems","isEncoded","urlConverter","url_converter","urlConverterScope","url_converter_scope","compress","noJoin","canCompress","keepSlashes","decodeSingleHexSequence","escSeq","decodeHexSequences","processUrl","url2","url3","str2","allow_script_urls","scriptUrl","allow_svg_data_urls","force_hex_color","compress2","serializeStyles","elemName","validStyleList","styleList","styleMap","deprecated","keyLocation","layerX","layerY","returnValue","webkitMovementX","webkitMovementY","keyIdentifier","mozPressure","needsNormalizing","Event","initEvent","isNativeEvent","clone$3","originalEvent","getModifierState","keyArg","getTargetRanges","normalize$3","fallbackTarget","srcElement","defaultPrevented","cancelBubble","isPropagationStopped","isImmediatePropagationStopped","hasIsDefaultPrevented","mouseEventRe","addEvent","removeEvent","fix","isMouseEvent","pageX","eventDoc","mouseEvent","pageY","bindOnReady","eventUtils","domLoaded","readyHandler","readyState","EventUtils","expando","hasFocusIn","callbackList","defaultNativeHandler","evt","executeHandlers","namesList","nativeHandler","fakeName","func","eventMap","newCallbackList","parentWindow","each$a","internalStyleName","numericalCssMap","legacySetAttribute","camelCaseToHyphens","findNodeIndex","normalized","lastNodeType","updateInternalStyleAttr","rawValue","applyStyle$1","$elm","cssName","cssValue","normalizedName","convertStyleToString","DOMUtils","addedStyles","counter","styleSheetLoader","boundEvents","ownEvents","getElementById","_get","getAttrib","defaultVal","hook","attrHooks","getAttribs","setAttrib","val","originalValue","onSetAttrib","attrElm","getRoot","root_element","getPos$1","getStyle","getSize","offsetWidth","elms","getParents","collect","resolvedRoot","selectorVal","_findSib","setAttribs","setHTML","newElm","keepChildren","$node","toggleClass","cls","oldElm","replacee","replaceChild","isNonEmptyElement","createRng","_boundEvents$i","boundTarget","boundName","boundFunc","getContentEditable","stdMode","boxModel","deep","getViewPort","argWin","getRect","getParent","getNext","getPrev","select","_b","outHtml","createFragment","frag","setStyle","update_styles","setStyles","stylesArg","removeAllAttribs","removeAttributeNode","parseStyle","cssText","serializeStyle","DOM","styleElm","loadCSS","addClass","removeClass","hasClass","isHidden","uniqueId","getOuterHTML","getOuter","setOuterHTML","insertAfter","reference","referenceNode","rename","attrNode","findCommonAncestor","isEmpty","whitespaceElements","nonEmptyElements","bogusVal","includeZwsp","nodeIndex","replacementElm","fire","getContentEditableParent","isEditable","_boundEvents$i2","isChildOf","dumpRng","setupAttrHooks","keepValues","keep_values","keepUrlHook","sugarElm","DOM$b","ScriptLoader","states","queue","scriptLoadedCallbacks","queueLoadedCallbacks","loading","done","loadScripts","scripts","execCallbacks","processResults","failures","_ref4","processQueue","nextQueuedItem","shift","uniqueScripts","Cell","initial","currentCode","getLanguageData","I18n","getData$1","setCode","newCode","getCode","add$1","langData","lcNames","translation","lcName","isDuplicated","firstIndex","getLangData","textStr","removeContext","isTokenised","$1","$2","isRtl","isRtl$1","hasCode","AddOnManager","_listeners","runListeners","matchedListeners","listener","isLoaded","loadLanguagePack","languages","language","waitFor","isAdded","languageLoad","addOn","createUrl","dep","resource","addOnUrl","urlString","baseURL","ThemeManager","ModelManager","repeatable","delay","intervalId","revoke","clearInterval","functionToRepeat","setInterval","value$2","subject","doRevoke","singleton","first$1","rate","timer","clearTimeout","throttle","last$1","annotation","dataAnnotation","dataAnnotationId","dataAnnotationActive","dataAnnotationClasses","dataAnnotationAttributes","isRoot$1","identify","editor","annotationName","rng","getRng","newStart","uid","findMarkers","isBogusElement","descendant","findAll","markers","directory","nodesAlready","setup$y","changeCallbacks","initData","listeners","previous","withCallbacks","updateCallbacks","callbackMap","outputData","toggleActiveAttr","onNodeChange","annotations","getNames","fireNoAnnotation","_ref5","fireCallbacks","addListener","unique","generate$1","time","clone$2","isDeep","shallow$1","deep$1","shallowAs","TextWalker","direction","TextSeeker","isBlockBoundary","newOffset","backwards","getOrNull","forwards","round$2","clone$1","rect","toStart","isValidOverflow","overflowY","rect1","rect2","isAbove$1","halfHeight","isBelow$1","distanceToRectEdgeFromXY","sqrt","getSelectedNode","getNode$1","safeOffset","clamp$2","extendingChars","isExtendingChar","isElement$4","isCaretCandidate$2","isBlock$2","isFloated","isValidElementCaretCandidate","_len0","_key0","isNotPre","isText$7","isBr$3","nodeIndex$1","resolveIndex$1","getNodeUnsafe","createRange$1","isWhiteSpace$1","isRange","isHiddenWhiteSpaceRange","isZeroRect","getBoundingClientRect$1","clientRect","clientRects","getClientRects","brNode","nbsp$1","getBrClientRect","newRng","cloneRange","getBoundingClientRectWebKitText","collapseAndInflateWidth","newClientRect","getCaretPositionClientRects","caretPosition","addUniqueAndValidRect","isEqual","addCharacterOffset","beforeNode","CaretPosition","toRange","isVisible","fromRangeStart","fromRangeEnd","isAbove","pos1","pos2","isBelow","isTextPosition","isElementPosition","trimEmptyTextNode$1","rangeInsertNode","insertFragment","insertNode","isText$6","isBogus","normalizedParent","getChildNodes","equal","createPathItem","numTextFragments","normalizedNodeIndex","create$b","outputOffset","normalizedTextOffset","parentsUntil$1","resolve$1","paths","resolvePathItem","nodeOffset","findTextPosition","targetOffset","dataLen","isContentEditableFalse$9","getPoint","point","getNormalizedTextOffset$1","trimmedOffset","findIndex","moveEndPoint$1","normalizeTableCellSelection","getOffsetBookmark","findAdjacentContentEditableFalseElm","forward","isForward","fakeCaret","isFakeCaret","createBookmarkSpan","filled","getPersistentBookmark","rng2","endBookmarkNode","startBookmarkNode","keep","getBookmark$2","getCaretBookmark","getRangeBookmark","getUndoBookmark","value$1","applyHelper","constHelper","outputHelper","_onError","onValue","Result","onError","_onValue","optional","err","Adt","cases","adt","acase","keys$1","_len1","_key1","argLength","_len10","foldArgs","_key10","branches","branchKeys","reqKey","isInlinePattern","isBlockPattern","normalizePattern","formatOrCmd","onFormat","onCommand","format","formats","cmd","command","commandValue","getBlockPatterns","patterns","getInlinePatterns","fromRawPatterns","partition$1","deviceDetection$1","DOM$a","isRegExp","stringOrObjectProcessor","bodyOptionProcessor","bodyObj","getHash","getIframeAttrs","getDocType","getDocumentBaseUrl","getBodyId","getBodyClass","getContentSecurityPolicy","shouldPutBrInPre$1","getForcedRootBlock","getForcedRootBlockAttrs","getNewlineBehavior","getBrNewLineSelector","getNoNewLineSelector","shouldKeepStyles","shouldEndContainerOnEmptyBlock","isAutomaticUploadsEnabled","shouldReuseFileName","shouldReplaceBlobUris","getIconPackName","getIconsUrl","getImageUploadUrl","getImageUploadBasePath","getImagesUploadCredentials","getImagesUploadHandler","shouldUseContentCssCors","getReferrerPolicy","getLanguageCode","getLanguageUrl","shouldIndentUseMargin","getIndentation","getContentCss","getContentStyle","getFontCss","getDirectionality","getInlineBoundarySelector","getObjectResizing","getResizeImgProportional","getPlaceholder","getEventRoot","getServiceMessage","getTheme","getThemeUrl","getModel","getModelUrl","isInlineBoundariesEnabled","getFormats","getPreviewStyles","canFormatEmptyLines","getFormatNoneditableSelector","getCustomUiSelector","isInline$1","hasHiddenInput","shouldPatchSubmit","shouldAddFormSubmitTrigger","shouldAddUnloadTrigger","getCustomUndoRedoLevels","shouldDisableNodeChange","isReadOnly$1","hasEditableRoot$1","hasContentCssCors","getPlugins","getExternalPlugins$1","shouldBlockUnsupportedDrop","isVisualAidsEnabled","getVisualAidsTableClass","getVisualAidsAnchorClass","getIframeAriaText","getSetupCallback","getInitInstanceCallback","getUrlConverterCallback","getAutoFocus","shouldBrowserSpellcheck","getProtect","shouldPasteBlockDrop","shouldPasteDataImages","getPastePreProcess","getPastePostProcess","getNewDocumentContent","getPasteWebkitStyles","shouldPasteRemoveWebKitStyles","shouldPasteMergeFormats","isSmartPasteEnabled","isPasteAsTextEnabled","getPasteTabSpaces","shouldAllowHtmlDataUrls","getTextPatterns","getTextPatternsLookup","getNonEditableClass","getEditableClass","getNonEditableRegExps","shouldPreserveCData","shouldHighlightOnFocus","shouldSanitizeXss","shouldUseDocumentWrite","getAllowedImageFileTypes","hasTableTabNavigation","getDetailsInitialState","getDetailsSerializedState","shouldForceHexColor","shouldSandboxIframes","shouldConvertBlobstoBase64","isElement$3","isText$5","removeNode$1","trimCount","trimmedText","deleteZwspChars","deleteData","removeUnchanged","remove$3","removeElementAndReposition","newPosition","indexOf$1","removeTextCaretContainer","removeTextAndReposition","removeAndReposition","removeElementCaretContainer","caretContainerNode","isContentEditableFalse$8","isMedia$1","isTableCell$1","getAbsoluteClientRect","scrollX","scrollY","rootRect","margin","FakeCaret","hasFocus","lastVisualCaret","cursorInterval","caretBlock","fakeCaretTargetNodes","trimInlineCaretContainers","caretState","caret","startBlink","insertInline$1","textNode","splitText","isInlineFakeCaretTarget","insertBlock","blockName","blockNode","getCss","reposition","isFakeCaretTableBrowser","isFakeCaretTarget","isContentEditableTrue$1","isContentEditableFalse$7","isMedia","isBlockLike","isCaretContainer","isCaretContainerBlock","isElement$2","isText$4","isCaretCandidate$1","isForwards","isBackwards","skipCaretContainers","findNode","predicateFn","isCefOrCaretContainer","getParentBlock$3","isInSameBlock","caretPosition1","caretPosition2","getChildNodeAtRelativeOffset","relativeOffset","beforeAfter","isNodesInSameBlock","node1","node2","lean","before$2","after$2","normalizeRange","leanLeft","leanRight","location","getRelativeCefElm","getNormalizedRangeEndPoint","normalizedRange","getElementFromPosition","getVisualCaretPosition","walkFn","isMoveInsideSameBlock","inSameBlock","HDirection","isContentEditableFalse$6","isText$3","isElement$1","isBr$2","isCaretCandidate","isAtomic","isAtomicContentEditableFalse","isEditableCaretCandidate","nodeAtIndex","getCaretCandidatePosition","findCaretPosition$1","startPos","innerNode","moveForwardFromBr","Forwards","rootContentEditableFalseElm","getParents$3","CaretWalker","Backwards","isBeforeOrStart","isAfterOrEnd","isBeforeAfterSameElement","shouldSkipPosition","fromPosition","navigate","navigateIgnore","ignoreFilter","positionIn","walkToPositionIn","nextPosition","prevPosition","firstPositionIn","lastPositionIn","CARET_ID","isCaretNode","getParentCaretContainer","isIndexBookmark","bookmark","isPathBookmark","isForwardBookmark","addBogus","tryFindRangePosition","padEmptyCaretContainer","isEmpty$1","insertZwsp","setEndPoint","isValidTextNode","restoreEndPoint","markerParent","otherMarker","resolvePaths","isStringPathBookmark","resolveCaretPositionBookmark","endPos","isIdBookmark","resolveId","spos","epos","resolveIndex","selectNode","isRangeBookmark","getBookmark$1","_ref6","isBookmarkNode$1","isNbsp","expected","isWhiteSpace","isContent","getRanges$1","ranges","getCellsFromRanges","getSelectedNodes","getCellsFromElementOrRanges","selectedCells","getCellsFromEditor","getSel","getClosestTable","cell","getFirstChildren","getLastChildren","hasAllContentsSelected","getStartNode","getEndNode","endNode","moveEndPoint","hasAnyRanges","sel","runOnRanges","executor","fakeSelectionNodes","fakeNodeRng","preserve","fillBookmark","isNode","isElementNode$1","preserveSelection","shouldMoveStart","selectedNodeBeforeAction","isSelectedBeforeNodeNoneditable","moveStartToNearestText","isElementDirectlySelected","selectedAttr","isWhiteSpaceNode$1","getNonWhiteSpaceSibling","inc","nextName","isTextBlock$1","allowSpaces","isWrappableNoneditable","isWrapNoneditableTarget","baseDataSelector","formatNoneditableSelector","replaceVars","vars","isEq$5","str1","normalizeStyleValue","strValue","getTextDecoration","decoration","getParents$2","isFormatPredicate","formatName","formatter","areSimilarFormats","otherFormatName","validKeys","filterObj","validKey","fmt1","filteredFmt1","fmt2","filteredFmt2","equal$1","isBlockFormat","isSelectorFormat","isInlineFormat","shouldExpandToSelector","expand","isCaretContainerEmpty","getEmptyCaretContainers","isEmptyCaretFormatElement","isBookmarkNode","getParents$1","isWhiteSpaceNode","isTextBlock","isBogusBr","findParentContentEditable","walkText","findSpace","findContent","findWordEndPoint","includeTrailingSpaces","lastTextNode","textSeeker","textOffset","findSelectorEndPoint","formatList","curFormat","findBlockEndPoint","scopeRoot","isAtBlockBoundary$1","findParentContainer","block_expand","isSelfOrParentBookmark","expandRng","includeTrailingSpace","_ref7","_ref8","walk$3","exclude","firstNode","lastNode","collectSiblings","siblings","findEndPoint","walkBoundary","startPoint","endPoint","validBlocks","wrapName","isZeroWidth","isAnnotation","applyAnnotation","masterUId","decorate","directAnnotation","_data$uid","otherData","_objectWithoutProperties","_excluded","_decorate","_decorate$attributes","_decorate$classes","attributeNames","removeDirectAnnotation","customAttrNames","customClasses","remove$4","makeAnnotation","eDoc","master","newWrappers","finishWrapper","processElements","elems","processElement","processNodes","annotateWithBookmark","initialRng","hasFakeSelection","masterUid","applyWordGrab","selectionRng","Annotator","create$c","setup$x","dataAnnotation$1","identifyParserNode","newClassList","serializer","addTempAttr","addAttributeFilter","persistent","changes","removeAnnotations","annotationChanged","_ref9","removeAll","getAll","BookmarkManager","isXYWithinRange","containsXY","fireError","errorType","fireFormatApply","fireFormatRemove","fireSetContent","fireGetContent","firePastePlainTextToggle","BACKSPACE","DELETE","DOWN","ENTER","ESC","LEFT","RIGHT","SPACEBAR","TAB","UP","PAGE_UP","PAGE_DOWN","END","HOME","modifierPressed","ctrlKey","altKey","metaKey","elementSelectionAttr","round$1","resizeHandles","nw","ControlSelection","editableDoc","rootDocument","selectedElm","selectedElmGhost","resizeHelper","selectedHandle","resizeBackdrop","startX","startY","startW","startH","ratio","resizeStarted","startScrollWidth","startScrollHeight","isImage","contextMenuSelectImage","isEventOnImageOutsideRange","isTouchEvent","touch","touches","getResizeTargets","isResizable","setSizeProp","targets","setGhostElmSize","ghostElm","resizeGhostElement","deltaX","deltaY","proportional","resizeHelperX","resizeHelperY","screenX","screenY","selectedElmX","selectedElmY","scrollWidth","scrollHeight","fireObjectResizeStart","origin","endGhostResize","wasResizeStarted","showResizeRect","fireObjectResized","nodeChanged","targetElm","unbindResizeHandleEvents","targetWidth","targetHeight","hideResizeRect","startDrag","handleElm","throttledShowResizeRect","removeSelected","isChildOrEqual","updateResizeRect","composing","controlElm","selectedValue","img","disableGeckoResize","startElm","getEnd","relativeToNative","startSitu","finishSitu","setFinish","situ","exactToNative","adt$3","fromRange","diagnose","getRanges","doDiagnose","rev","SimRange","create$a","caretPositionFromPoint","offsetNode","caretRangeFromPoint","availableSearch","adt$2","Situ","onBefore","onOn","onAfter","adt$1","SimSelection","simRange","_finishSitu","_soffset","_finish","_foffset","getStart$1","beforeSpecial","name$1","preprocessRelative","preprocessExact","fromElements","toNative","getDomRange","filtered","preprocess","getAtPoint","fromPoint$1","isEq$4","rng1","hasParent$1","findParent","hasParentWithName","isCeFalseCaretContainer","hasBrBeforeAfter","findTextNodeRelative","isAfterNode","lastInlineElement","parentBlockContainer","normalizeEndPoint","directionLeft","hasContentEditableFalseParent","isPrevNode","normalize$2","normRng","newContainer","rangeLike","newRange","normalizedRng","compareRanges","api","getOffset","aggregate","properties","cumulativeInclusions","getDocument","walkUp","navigation","view","owner","Navigation","frameElement","find","frames","pathTo","excludeFromDescend","markerInfo","cleanupFun","pageYOffset","pageXOffset","absolute","get$2","createMarker$1","span","withMarker","preserveWith","applyWithMarker","withScrollEvents","fireScrollIntoViewEvent","fireAfterScrollIntoViewEvent","withElement","elementMarker","startElement","endElement","scrollToMarker","viewHeight","intoWindowIfNeeded","viewportBottom","markerTop","markerBottom","largerThanViewport","intoWindow","innerHeight","intoFrame","frameViewHeight","viewportBounds","rangeIntoWindow","elementIntoWindow","rangeIntoFrame","elementIntoFrame","scrollRangeIntoView","focus$1","preventScroll","hasFocus$1","activeElement","active$1","clamp$1","normalizeRng","isOrContains","isRngInRoot","nativeRangeToSelectionRange","readRange","bookmarkToNativeRng","store","newBookmark","shouldStore","FocusManager","isEditorUIElement","Delay","setEditorTimeout","wrappedSetTimeout","setEditorInterval","wrappedSetInterval","register$6","throttledStore","registerPageMouseUp","mouseUpPage","registerEditorEvents","registerMouseUp","selectionChange","isManualNodeChange","documentFocusInHandler","DOM$9","isEditorContentAreaElement","isUIElement","customSelector","getActiveElement","getElement","registerEvents$1","editorManager","toggleContentAreaOnFocus","getContainer","focusedEditor","setActive","blurredEditor","activeEditor","unregisterDocumentEvents","getFocusInElement","getCollapsedNode","normalizeSelection","caretPos","focusBody","hasElementFocus","rawBody","hasInlineFocus","iframeElement","hasIframeFocus","hasEditorOrUiFocus","hasUiFocus","activateEditor","skipFocus","quirks","refreshContentEditable","bookmarkRng","contentEditableHost","getContentEditableHost","focusEditor","isEditableRange","getEndpointElement","real","getEnd$1","skipEmptyTextNodes","processRanges","elementsWithCursorPosition","isCursorPosition","hasCursorPosition","isContentEditableFalse$5","descendantRtl","autocompleteSelector","create$9","findIn","setCursorLocation","typeLookup","walk$2","isEmptyTextNode","AstNode","selfAttrs","cloneAttrs","selfAttr","refNode","whitespace","unescapedTextParents","containsZwsp","getTemporaryNodeSelector","tempAttrs","createZwspCommentWalker","FILTER_SKIP","createUnescapedZwspTextWalker","hasZwspComment","hasUnescapedZwspText","hasTemporaryNode","trimTemporaryNodes","getTemporaryNodes","emptyAllNodeValuesInWalker","curr","emptyZwspComments","emptyUnescapedZwspTexts","trim$1","conditionalTrims","trimmed","cloned","_ref0","cleanupBogusElements","bogusElements","cleanupInputNames","inputs","getPlainTextContent","offscreenDiv","getContentContainer","getContentFromBody","getTempAttrs","trimEmptyContents","emptyRegExp","makeMap$1","Writer","indent","indentBefore","indent_before","indentAfter","indent_after","entity_encoding","htmlOutput","element_format","cdata","comment","getContent","HtmlSerializer","writer","handlers","sortedAttrs","elementRule","nonInheritableStyles","shorthandStyleProps","getStyleProps","hasInheritableStyles","isNonInheritableStyle","hasStyleConflict","nodeStyleProps","parentNodeStyleProps","valueMismatch","parentValue","nodeStyleProp","propExists","longhandProps","isChar","delta","isBeforeSpace","isAfterSpace","isEmptyText","matchesElementPosition","isImageBlock","isCefNode","isBogusAll$1","isBeforeImageBlock","isAfterImageBlock","isBeforeMedia","isAfterMedia","isBeforeTable","isAfterTable","isBeforeContentEditableFalse","isAfterContentEditableFalse","parentsUntil","parentsAndSelf","navigateIgnoreEmptyTextNodes","getClosestBlock$1","isBlock$1","isAtBeforeAfterBlockBoundary","newPos","fromBlock","isAtBlockBoundary","isAtStartOfBlock","isAtEndOfBlock","isBeforeBlock","isAfterBlock","isBr$1","findBr","parentBlocks","isBeforeBr$1","isAfterBr","getElementFromPrevPosition","findPreviousBr","findNextBr","isInMiddleOfText","getClosestBlock","hasSpaceBefore","hasSpaceAfter","isInPre","isPreValue","isAtLineBoundary","isAtBeginningOfBody","isAtEndOfBody","isSiblingCefBlock","needsToHaveNbsp","needsToBeNbspLeft","isAfterCefBlock","prevPos","isPrevCefBlock","needsToBeNbspRight","isBeforeCefBlock","nextPos","isNextCefBlock","needsToBeNbsp","isNbspAt","isWhiteSpaceAt","normalizeNbspAtStart","makeNbsp","firstPos","normalizeNbspInMiddleOfTextNode","newText","chars","normalizeNbspMiddle","normalizeNbspAtEnd","lastPos","normalizeNbsps","hasNbsp","normalize$1","replaceData","normalizeWhitespaceAfter","whitespaceCount","normalizeWhitespaceBefore","mergeTextNodes","prevNode","normalizeWhitespace","mergeToPrev","whitespaceOffset","newNode","removeNode","insertData","needsReposition","getPreviousSiblingCaretPosition","getNextSiblingCaretPosition","findCaretPositionBackwards","findCaretPositionBackwardsFromElm","findCaretPositionForward","findCaretPositionForwardsFromElm","findCaretPosOutsideElmAfterDelete","findCaretPosition","setSelection$1","deleteNormalized","afterDeletePosOpt","prevTextOpt","nextTextOpt","lift3","deleteElement$2","moveCaret","preserveEmptyCaret","afterDeletePos","normalizedAfterDeletePos","isInlineElement","paddEmptyBlock","paddPos","strongRtl","isInlineTarget","hasStrongRtl","findRootInline","findInlineParents","normalizePosition","normalizeForwards","normalizeBackwards","execCommandIgnoreInputEvents","inputBlocker","off","execNativeDeleteCommand","isTextBlockOrListItem","getParentBlock$2","isBeforeRoot","paddEmptyBody","moveSelection","no_selection","willDeleteLastPositionInElement","fromPos","normalizedFirstPos","normalizedLastPos","normalizedFromPos","freefallRtl","deleteRangeContents","deleteContents","lastBlock","additionalCleanupNodes","sibling$1","getTableCells","getTable$1","adjustQuirksInDetails","details","startTable","endTable","isStartTableParentOfEndTable","isEndTableParentOfStartTable","isSameTable","isMultiTable","selectionInTableWithNestedTable","tableCellRng","deleteAction","singleCellTable","fullTable","partialTable","multiTable","getClosestCell$1","isExpandedCellRng","cellRng","getTableFromCellRng","startParentTable","endParentTable","getTableSelectionFromCellRng","tableSelection","cells","getTableSelections","selectionDetails","sameTableSelection","startCell","endCell","startTableSelection","getCellRangeFromStartTable","endTableSelection","getCellRangeFromEndTable","getCellIndex","getSelectedCells","startIndex","endIndex","isSingleCellTableContentSelected","optCellRng","isSingleCellTable","rows","unselectCells","otherContentRng","getActionFromRange","isRootFromElement","getCellRng","getTableDetailsFromRange","isStartInTable","isEndInTable","handleMultiTable","_ref10","startTableSelectedCells","endTableSelectedCells","handleSingleTable","_ref1","cleanCells","deleteContentInsideCell","isFirstCellInSelection","insideTableRng","deleteCellContents","collapseAndRestoreCellSelection","selectedNode","emptySingleTableCells","outsideDetails","editorRng","cellsToClean","_ref11","outsideBlock","getOutsideBlock","handleEmptyBlock","startInTable","emptyBlock","endPointCell","emptyMultiTableCells","startTableCells","endTableCells","betweenRng","startTableCellsToClean","endTableCellsToClean","deleteTableElement","deleteTableRange","getParentCaption","deleteCellRange","deleteCaptionRange","emptyElement","getParentCell","deleteCaretInsideCaption","fromCaption","isDeleteOfLastCharPos","emptyCaretCaption","validateCaretCaption","toCaption","deleteCaretCells","fromCell","deleteBetweenCells","toCell","isNearTable","deleteCaret$3","isBeforeOrAfterTable","deleteCaretCaption","backspaceDelete$a","deleteRange$3","getContentEditableRoot$1","internalAttributesPrefixes","each$9","ElementUtils","internalAttributes","isAttributeInternal","attributeName","attribs","compareObjects","obj1","obj2","isHeading","matchNode$1","nodeFilters","attributeFilters","runFilters","matchRecord","filteringAttributes","filter$2","findMatchingNodes","traverse","childNode","paddEmptyNode","pad_empty_with_br","astNode","hasOnlyChild","isPadded","findClosestEditingHost","editableNode","removeOrUnwrapInvalidNode","originalNodeParent","cleanInvalidNodes","onCreate","textBlockElements","nonSplittableElements","fixed","isSplittableElement","newParent","isInvalid","hasClosest","parentName","isSummary","normalizeBlockSelectionRange","newEndPos","isPaddedEmptyBlock","hasOnlyOneChild$1","isPaddingNode","isListFragment","isEmptyFragmentElement","isListItemPadded","isPadding","trimListItems","getParentLi","findLastOf","newCaretPos","insertBefore$2","findFirstIn","insertAtCaret$1","domFragment","toDomFragment","cleanupDomFragment","liTarget","liElms","isAt","caretWalker","newPosNode","insertAfter$2","insertMiddle","getSplit","beforeRng","afterRng","cloneContents","mergeableWrappedElements","isTableCell","trimBrsFromTableCell","trimBlockTrailingBr","lastChildPrevSibling","moveSelectionToMarker","nextRng","parentEditableElm","isCell","isPartOfFragment","findNextCaretRng","deleteSelectedContent","isTableCellContentSelected","insertHtmlAtCaret","parser","bookmarkHtml","preserve_zwsp","caretElement","canHaveChildren","parserArgs","isParentBlockLi","shouldPasteContentOnly","isPastingSingleElement","isWrappedElement","isPastingInTheSameBlockTag","isPastingInContentEditable","markFragmentElements","_selectionOverrides","showBlockCaretContainer","invalid","notHeadingsInSummary","markerNode","findMarkerNode","editingHost","toExtract","getNodeFilters","getAttributeFilters","validInsertion","no_events","reduceInlineTextElements","textInlineElements","elementUtils","updateCaret","caretParent","isTreeNode","setEditorHtml","noSelection","setContentInternal","setContentTree","trimmedHtml","setContentString","padd","forcedRootBlockName","ensureIsRoot","closest$1","transformed","isEq$3","matchesUnInheritedFormatSelector","inherit","matchParents","similar","matchedNode","matchNode","matchName","matchItems","itemName","matchAttributes","onmatch","expectedValue","isEmptyValue","match$2","rawElm","matchAllOnNode","formatNames","matchSimilar","isVariableFormatName","isVariableValue","field","fieldValues","ZWSP","findFirstTextNode","createCaretContainer","removeCaretContainerNode","trimZwspFromCaretContainer","removeCaretContainer","appendNode","insertFormatNodesIntoCaretContainer","formatNodes","innerMostFormatNode","formatNode","removeCaretFormat","hasContentAfter","expandedRng","parentsAfter","newCaretContainer","insertCaretContainerNode","cleanedFormatNode","cleanFormatNode","validFormats","matchedFormats","fmtName","clonedFormatNode","caretTextNode","setup$v","disableCaretContainer","createCaretFormat","innerMost","replaceWithCaretFormat","_createCaretFormat","isFormatElement","inlineElements","postProcessHooks","isPre","addPostProcessHook","blocks","getSelectedBlocks","preBlocks","pre","hasPreSibling","joinPre","pre1","pre2","sPre2","listItemStyles","findExpandedListItemFormat","fmt","hasListStyles","getExpandedListItemFormat","isRngStartAtStartOfElement","isRngEndAtEndOfElement","isEditableListItem","getFullySelectedListItems","middle","getFullySelectedBlocks","getPartiallySelectedListItems","each$8","isElementNode","findElementSibling","mergeSiblingsNodes","isPrevEditable","isNextEditable","tmpSibling","mergeSiblings","merge_siblings","processChildElements","hasStyle","applyStyle","unwrapEmptySpan","removeResult","MCE_ATTR_RE","each$7","isEq$2","isChildOfInlineParent","lastIdx","normalizeTableSelection","isTableCellOrRow","wrap$1","wrapWithSiblings","rootBlockElm","forcedRootBlock","list_block","isMixedFormat","processFormatAttrOrStyle","removeEmptyStyleAttributeIfNeeded","removeStyles","compareNode","stylesModified","_processFormatAttrOrS","styleValue","normalizedStyleValue","remove_similar","removeNodeFormatInternal","ceFalseOverride","isColorFormatAndAnchor","links","preserveAttributes","preserve_attributes","attrsToPreserve","_processFormatAttrOrS2","currentValue","valueOut","removeNodeFormatFromClone","newName","removeFormatInternal","splitToFormatRoot","formatRoot","findFormatRoot","wrapAndSplit","lastClone","firstClone","formatRootParent","mixed","removeFormatOnNode","removeNodeFormat","currentNodeMatches","textDecoration","isRemoveBookmarkNode","removeRngStyle","removeListStyleFormats","liFmt","removeFormat$1","each$6","mergeWithChildren","clearChildStyles","clear_child_styles","_value","each$5","applyStyles","styleVal","applyFormatAction","setElementFormat","onformat","applyNodeStyle","found","createWrapElement","wrapElm","applyRngStyle","nodeSpecific","isMatchingWrappingBlock","isWrappingBlockFormat","canRenameBlock","isEditableDescendant","isValidBlockFormatForNode","isNonWrappingBlockFormat","currentWrapElm","lastContentEditable","isWrappableNoneditableElm","contentEditableValue","canFormatBR","validBRParentElements","hasCaretNodeSibling","canWrapNode","isValidWrapNode","isCaret","isCorrectFormatForNode","childCount","isEmptyTextNode$1","getChildCount","childElement","mergeStyles","mergeWithParents","merge_with_parents","mergeBackgroundColorAndFontSize","backgroundColor","hasFontSize","mergeTextDecorationsAndColor","processTextDecorationsAndColor","parentTextDecoration","mergeSubSup","inverseTagDescendants","applyCaretFormat","wordcharRegex","postProcess$1","applyFormat$1","hasVars","fallbackElement","matchingNode","matchingFormat","updateAndFireChangeCallbacks","registeredCallbacks","runIfChanged","withSimilar","withoutSimilar","withVars","formatChangedInternal","registeredFormatListeners","addListeners","formatChangeItems","getCurrent","toAppendTo","removeListeners","explode$1","create$8","filters","addFilter","getFilters","removeFilter","newCallbacks","addFontToSpansFilter","domParser","fontSizes","addNodeFilter","removeAttrs","addFilters","convert_fonts_to_spans","font_size_legacy_values","addStrikeFilter","convertToSTag","htmlParser","blockElements","prevName","lastParent","parseDataUri","_uri$split","_uri$split2","_toArray","_arrayLikeToArray","base64Encoded","extractedData","extractBase64Data","decodeURIComponent","buildBlob","uriToBlob","uriType","blobUriToBlob","_ref12","blobToDataUri","reader","count$1","processDataUri","dataUri","base64Only","generateBlobInfo","_ref13","btoa","createBlobInfo$1","blobInfo","dataUriToBlobInfo","getByData","registerBase64ImageFilter","blob_cache","processImage","inputSrc","isInternalImageSource","isBogusImage","isMimeType","mime","register$4","remove_trailing_brs","addNoOpener","newRel","appendRel","allow_unsafe_link_target","allow_html_in_named_anchor","fix_list_elements","classValue","validClassesMap","convert_unsafe_embeds","createSafeEmbed","sandboxIframes","embed","sandbox_iframes","entries","create$7","_ref14","thisValue","Func","arrayForEach","unapply","arrayPop","arrayPush","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","regExpTest","typeErrorCreate","addToSet","transformCaseFunc","_transformCaseFunc","lcElement","object","newObject","_ref15","_ref16","lookupGetter","desc","html$1","svg$1","svgDisallowed","mathMl$1","mathMlDisallowed","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","EXPRESSIONS","getGlobal","purify","createDOMPurify","DOMPurify","originalDocument","_window$NamedNodeMap","ElementPrototype","getNextSibling","getParentNode","template","trustedTypesPolicy","emptyHTML","_document","hooks","IS_ALLOWED_URI$1","DEFAULT_ALLOWED_TAGS","DEFAULT_ALLOWED_ATTR","SET_CONFIG","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","IS_EMPTY_INPUT","DEFAULT_ALLOWED_NAMESPACES","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","TRUSTED_TYPES_POLICY","purifyHostElement","ATTR_NAME","policyName","_createTrustedTypesPolicy","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","_removeAttribute","_initDocument","dirty","leadingWhitespace","dirtyPayload","_createIterator","_isNode","_executeHook","entryPoint","_sanitizeElements","_basicCustomElementTest","parentTagName","_checkValidNamespace","_isValidAttribute","lcTag","_sanitizeAttributes","hookEvent","_attr","initValue","_sanitizeShadowDOM","shadowNode","shadowIterator","importedNode","returnNode","nodeIterator","shadowrootmode","serializedHTML","hookFunction","each$4","queryParts","DEFAULT_PORTS","ftp","http","https","mailto","safeSvgDataUrlElements","isInvalidUri","decodedUri","encodedUri","unescape","decodeUri","allow_html_data_urls","blockSvgDataUris","allowSvgDataUrls","URI","baseUri","base_uri","isProtocolRelative","protocol","toAbsPath","urlMatch","part","userInfo","pathMatch","getURI","relativeUri","toRelPath","anchor","noHost","absoluteUri","isSameOrigin","defaultPort","breakPoint","normalizedBase","normalizedPath","baseParts","pathParts","outPath","noProtoHost","uriComponents","pathname","filteredUrlAttrs","internalElementAttr","processNode","allow_conditional_comments","lcTagName","isInternalElement","bogus","hasNone","shouldKeepAttribute","isRequiredAttributeOfInternalElement","ele","isBooleanAttribute","filterAttributes","setupPurify","namespaceTracker","purify$1","track","processAttr","sanitizeNamespaceElement","xlinkAttrs","getSanitizer","createNamespaceTracker","scopes","peek","currentScope","sanitizeHtmlElement","mimeType","getPurifyConfig","_mimeType","extend$1","transferChildren","nativeParent","nsSanitizer","nativeChild","whitespaceCleaner","textRootBlockElements","allWhiteSpaceRegExp","startWhiteSpaceRegExp","endWhiteSpaceRegExp","hasWhitespaceParent","isAtEdgeOfBlock","neighbour","isLineBreakNode","isNodeEmpty","isTextRootBlockEmpty","isPaddedWithNbsp","nodeFilterRegistry","attributeFilterRegistry","defaultedSettings","root_name","removeNodeFilter","removeAttributeFilter","isWrappableNode","rootName","isSpecialRoot","wrappedHtml","parseAndSanitizeWithContext","_whitespaceCleaner","_whitespaceCleaner2","whitespacePre","whitespacePost","invalidFinder","findInvalidChildren","matchFinder","walkTree","preprocessors","postprocessors","traverseOrder","postprocess","_partition$","topLevelChildren","otherChildren","rootBlockName","getRootBlockName","addRootBlocks","rootBlockNode","rootBlock","forced_root_block_attrs","register$5","inline_styles","withSerializedContent","fireEvent","parserSettings","serializedContent","serializeContent","eventArgs","preProcessGetContent","fireBeforeGetContent","postProcessGetContent","processedEventArgs","preProcessSetContent","fireBeforeSetContent","postProcessSetContent","tableModel","tableRow","cellPosition","getSpan","cellExists","getWidth","row","findElementPos","extractRows","newRows","tableElm","fillout","rowspan","colspan","skipCellsX","toDom","createDomTable","tableElement","tableBody","modelRowsToDomRows","subsection","subTable","getFullySelectedListWrappers","_li","findParentListContainer","listCont","listElm","listStyles","_style","getWrapElements","commonAnchorContainer","wrapElements","listWrappers","allWrappers","directListWrappers","emptyFragment","getFragmentFromRange","innerElm","getTableFragment","selectedTableCells","getParentTable","firstCell","lastCell","fullTableModel","sectionedTableModel","read$3","getSelectionFragment","isCollapsibleWhitespace","getInnerText","bin","extractSelectedContent","parentBlockOpt","contextNodeName","getContextNodeName","rangeContentClone","nonRenderedText","parentBlockText","textIndex","getTextContent","getSerializedContent","tmpElm","contextual","getSelectedContentInternal","defaultedArgs","setupArgs$3","getInner","updatedArgs","getOuterHtml","insertAt","fragments","applyDiff","diff","removeAt","vDown","vUp","buildScript","start1","end1","start2","end2","getMiddleSnake","diag","i2","buildSnake","snake","sum","lazyTempDocument","createFromEditor","hasIframes","read$2","trimZwsp","beforeBookmark","applyToEditor","getLevelContent","getCleanLevelContent","isEq$1","level1","level2","hasEqualContent","hasEqualCleanedContent","isUnlocked","locks","setTyping","typing","endTyping","makePlainAdaptor","init","bindEvents","beforeChange","beforeChange$1","addUndoLevel$1","currentLevel","newLevel","lastLevel","customUndoRedoLevels","setDirty","undo$1","redo","redo$1","clear$1","reset$1","hasUndo","hasUndo$1","hasRedo","hasRedo$1","transact$1","ignore","ignore$1","callback1","callback2","extra$1","matchAll","matchedFormatNames","checkedMap","canApply","formatChanged","getContentInternal","addVisual","addVisualInternal","matchedElm","hasVisual","autocompleter","addDecoration","removeDecoration","remove$2","isRtc","plugins","setup$t","editorCast","rtcPlugin","setup","getRtcSetup","rtcInstance","makeNoopAdaptor","nul","rtcEditor","defaultVars","_undoManager","_locks","_index","_node","_similar","_rfl","_details","_format","getRawModel","makeRtcAdaptor","rtc","isRemote","getRtcInstanceWithFallback","getRtcInstanceWithError","getContent$1","getSelectedContent","mergeAndNormalizeText","outerNode","outer","merge$1","outerElm","oldLength","innerTextNode","walkPastBookmark","normalizeTextIfRequired","setContent$1","setupArgs$2","cleanedContent","cleanContent","contextBlock","contextArgs","rngSetContent","prevText","nextText","createContextualFragment","deleteFromCallbackMap","SelectorChanged","selectorChangedData","currentSelectors","findMatchingNode","selectorChangedWithUnbind","matchedSelectors","isAttachedToDom","EditorSelection","selectedRange","explicitRange","getRng$1","tryCompareBoundaryPoints","how","sourceRange","destinationRange","compareBoundaryPoints","START_TO_START","END_TO_END","isValidRange","anchorRange","focusRange","bookmarkManager","select$1","compareEndPoints","fakeSelectedElements","setNode","getSelectedBlocks$1","endElm","selectedBlocks","selectorChanged","getScrollContainer","scrollContainer","scrollElementIntoView","placeCaretAt","controlSelection","process$1","shouldFireEvent","preProcess$1","oldDoc","clonedNode","impl","firePreProcess","toHtml","serializeNode","postProcess","outArgs","firePostProcess","DomSerializerImpl","register$3","internalName","hasChildren","preserve_cdata","getHtmlFromNode","parseHtml","isBr","brNode1","brNode2","trimTrailingBr","addRules","setRules","DomSerializer","domSerializer","setupArgs$1","getContent$2","setupArgs","setContent$2","removedOptions","deprecatedOptions","removedPlugins","deprecatedPlugins","replacedWith","getMatchingOptions","searchingFor","settingNames","setting","getRemovedOptions","getDeprecatedOptions","getMatchingPlugins","pluginNames","plugin","getRemovedPlugins","getDeprecatedPlugins","entry","getPluginDescription","logWarnings","rawOptions","normalizedOptions","logRemovedWarnings","hasRemovedPlugins","hasRemovedOptions","isLegacyMobileTheme","theme","listJoiner","themesMessage","pluginsMessage","optionsMessage","logDeprecatedWarnings","hasDeprecatedPlugins","hasDeprecatedOptions","DOM$8","safeDestroy","remove$1","save","is_removing","unbindAllNativeEvents","fireRemove","orgDisplay","restoreOriginalStyles","fireDetach","automatic","destroyed","_beforeUnload","form","_mceOldSubmit","submit","formEventDelegate","restoreForm","contentAreaContainer","editorContainer","bodyElement","clearDomReferences","IconManager","CreateIconManager","iconPack","icons","getProp","propName","getComputedSizeProp","getClientWidth","getClientHeight","getMarginTop","getMarginLeft","isXYInContentArea","bodyElm","transposedPoint","transpose","isInsideElementContentArea","isEditorAttachedToDom","rawContainer","getContentAreaContainer","NotificationManager","notifications","getImplementation","getNotificationManagerImpl","NotificationManagerImpl","unimplemented","getArgs","getTopNotification","notification","closeNotification","otherNotification","progressBar","timeout","getEl","addNotification","getNotifications","serviceMessage","requestAnimationFrame","registerEvents","WindowManager","dialogs","getWindowManagerImpl","WindowManagerImpl","openUrl","alert","confirm","funcBind","_len11","_key11","addDialog","dialog","fireOpenEvent","closeDialog","fireCloseEvent","otherDialog","storeSelectionAndOpenDialog","openDialog","windowManagerImpl","displayNotification","displayError","_skinLoaded","logError","createLoadError","initError","_len12","_key12","toContentSkinResourceName","transformToUrls","cssLinks","skinUrl","contentCssFile","isBundledCssSkinName","isContentCssSkinName","documentBaseURI","toAbsolute","appendContentCssFromSettings","contentCSS","getContentCssUrls","getFontCssUrls","ImageScanner","uploadStatus","cachedPromises","getAllImages","isUploaded","promises","imageSrc","imageInfo","newPromise","imageToBlobInfo","invalidDataUri","getByUri","UploadStatus","blobUriStatuses","createStatus","resultUri","hasBlobUri","getResultUri","isPending","markPending","markUploaded","removeFailed","uuid","seed","rnd","Uploader","pendingPromises","defaultHandler","progress","xhr","XMLHttpRequest","withCredentials","upload","onprogress","loaded","total","json","responseText","pathJoin","path1","path2","basePath","formData","FormData","send","uploadHandler","handlerSuccess","handlerFailure","resolvePending","uploadBlobs","blobInfos","openNotification","pendingUploadBlobInfo","uploadBlobInfo","percent","createUploader","addPaddingToEmpty","isEmptyForPadding","EditorUpload","BlobCache","cache","toBlobInfo","library","findFirst","cachedBlobInfo","removeByUri","uploader","imageScanner","urlFilters","aliveGuard","replaceString","replaceImageUrl","targetUrl","replacementUrl","replacementString","replaceUrlInUndoStack","scanForImages","imageInfos","imagesToRemove","shouldDispatchChange","filteredResult","uploadInfo","_imageInfos$index","replaceImageUriInView","convertURL","uploadError","uploadUri","sugarElement","parentOpt","dispatchChange","uploadImagesAuto","isValidDataUriImage","imgElm","resultItem","replaceBlobUris","source_view","genericBase","cellBase","cellFormats","tablecellbackgroundcolor","tablecellverticalalign","tablecellbordercolor","borderColor","tablecellclass","tableclass","tablecellborderstyle","borderStyle","tablecellborderwidth","borderWidth","FormatRegistry","valigntop","verticalAlign","valignmiddle","valignbottom","alignleft","preview","textAlign","float","marginLeft","marginRight","aligncenter","alignright","alignjustify","bold","fontWeight","italic","fontStyle","underline","strikethrough","strike","forecolor","hilitecolor","fontname","fontFamily","fontsize","fontSize","lineheight","lineHeight","fontsize_class","blockquote","subscript","superscript","_fmt","_itemName","customValue","removeformat","get$1","each$3","isPreviewItem","parsedSelectorToHtml","ancestry","sItem","wrapInHtml","ancestors","parentCandidate","ancestorName","parentRequired","getRequiredParent","elmRule","siblingElm","parentSiblings","parseSelectorItem","$0","$3","$4","getCssText","previewCss","previewStyles","removeVars","previewFrag","previewElm","rawParentFontSize","parentFontSize","Formatter","formatChangeState","addShortcut","setup$s","setup$u","nodeOrRange","applyFormat","removeFormat","toggleFormat","matchFormat","closestFormat","matchAllFormats","matchNodeFormat","canApplyFormat","shouldIgnoreCommand","UndoManager","addUndoLevel","isFirstTypedCharacter","addNonTypingUndoLevel","isMeta","isDirty","modKey","inputType","isInsertFromPasteOrDrop","addKeyboardShortcuts","nonTypingKeycodes","placeholderAttr","isKeyboardEvent","isDeleteEvent","setup$r","placeholder","updatePlaceholder","isNonTypingKeyboardEvent","showPlaceholder","isTypingKeyboardEvent","isVisuallyEmpty","firePlaceholderToggle","blockBoundary","getBlockPosition","containerElm","blockPosition","getClosestHost","readFromRange","fromBlockPos","toBlockPos","blockPos","skipLastBr","lastPositionInBlock","isDifferentBlocks","hasSameHost","isEditable$1","isValidBlock","hasValidBlocks","extractChildren","getChildrenUntilBlockBoundary","removeEmptyRoot","nestedBlockMerge","toBlock","insertionPoint","sidelongBlockMerge","getInlineToBlockDescendants","helper","newFromBlockDescendants","getInsertionPoint","findInsertionPoint","parentsAndSelf$1","trimBr","mergeBlockInto","mergeBlocks","block1","block2","backspaceDelete$9","read$1","isRawNodeInTable","isEverythingSelected","noPrevious","noNext","isSelectionInTable","deleteRange$2","emptyEditor","deleteRangeMergeBlocks","backspaceDelete$8","_forward","showCaret","getNodeRange","renderRangeCaret","renderCaretAtRange","caretPositionNode","caretPositionBeforeNode","ceRoot","isBeforeBoundary","isAfterBoundary","deleteContentAndShowCaret","peekCaretPosition","caretRange","deleteRange","trimEmptyTextNode","backspaceDelete$7","deleteBoundaryText","getNextPosFn","isBeforeFn","nextCaretPosition","normalizedNextCaretPosition","getEdgeCefPosition","atStart","isCefAtEdgeSelected","DeleteAction","moveToElement","moveToPosition","deleteEmptyBlockOrMoveToCef","toCefElm","blockElm","findCefPosition","isDeleteFromCefDifferentBlocks","getContentEditableAction","isAtContentEditableBlockCaret","caretLocation","getContentEditableBlockAction","skipMoveToActionFromInlineCefToContent","getAncestorCe","backspaceDeleteCaret","deleteElement$1","hideFakeCaret","backspaceDeleteRange","paddEmptyElement","backspaceDelete$6","backspaceDelete$5","deleteCaret$2","isText$2","startsWithCaretContainer","endsWithCaretContainer","createZwsp","insertInline","insertBefore$1","insertAfter$1","insertInlineBefore","insertInlineAfter","insertInlinePos","isPosCaretContainer","caretNode","renderCaret","evaluateUntil","fns","Location","rescope$1","nPos","isNotInsideFormatCaretContainer","findInsideRootInline","start$1","isValidLocation","readLocation","getName","betweenInlines","fromInline","toInline","hasSameParentBlock","skipNoMovement","fromLocation","toLocation","location2","location1","isEq","findLocationSimple","findLocation$1","findLocationTraverse","moveRel","modify","moveByWord","hasSelectionModifyApi","BreakType","flip","walk$1","getBreakType","currentPos","Wrap","getPositionsUntil","breakType","breakAt","Eol","getAdjacentLinePositions","getPositionsUntilBreak","findClosestHorizontalPositionFromPoint","lastRect","newRect","lastDist","findClosestHorizontalPosition","targetRect","getPositionsUntilPreviousLine","getPositionsUntilNextLine","getPositionsAbove","getPositionsBelow","isAtFirstLine","isAtLastLine","getClosestPositionAbove","getClosestPositionBelow","isContentEditableFalse$4","distanceToRectLeft$1","distanceToRectRight$1","findClosestClientRect","oldClientRect","oldDistance","newDistance","getNodeClientRects","toArrayWithNode","VDirection","walkUntil","isAboveFn","isBeflowFn","targetClientRect","findUntil","upUntil","downUntil","Down","getLastClientRect","isAboveLine","lineNumber","aboveLineNumber","isLine","isLineNumber","moveToRange","renderRangeCaretOpt","moveHorizontally","isBefore","isAfter","rangeIsInContainerBlock","moveVertically","caretClientRect","linePositions","nextLinePositions","nextLineRect","dist1","dist2","caretPositions","positionsUntil","isBelowFn","closestNextLineRect","getLineEndPoint","getEditingHost","lineInfo","moveToLineEndPoint$3","setCaretPosition","setSelected","renderCaretLocation","findLocation","getPositionFromRange","isInlineTarget$1","safeRemoveCaretContainer","caretValue","isAtZwsp","move$3","moveWord","_caret","setupSelectedState","toggleInlines","inlineBoundaries","selectedInlines","targetInlines","renderInsideInlineCaret","inlines","_inline","moveNextWord","movePrevWord","moveToLineEndPoint$2","linePoint","outsideLoc","setCaretLocation","deleteFromTo","rangeFromPositions","backspaceDeleteCollapsed","rescope","toPosition","hasOnlyTwoOrLessPositionsLeft","backspaceDelete$4","getParentsUntil","hasOnlyOneChild","getParentInlinesUntilMultichildInline","hasMultipleChildren","getFormatNodes","parentInlines","isFormatElement$1","getFormatNodesAtStart","getParentInlines","deleteCaret$1","deleteLastPosition","createCaretFormatAtStart","isBrInEmptyElement","createCaretFormatAtStart$1","_createCaretFormat2","rangeStartsAtTextContainer","rangeEndsAtEndOfStartContainer","startParent","endParent","isEqualNode","rangeStartAndEndHaveSameParent","rangeEndsAtEndOfEndContainer","requiresDeleteRangeOverride","rangeStartsAtStartOfTextContainer","rangeStartParentIsFormatElement","rangeEndsAfterEndOfStartContainer","rangeEndsAtOrAfterEndOfStartContainer","deleteRange$1","updateCaretFormat","updateFormats","missingFormats","backspaceDelete$3","hasAncestorInlineCaret","ancestor$1","requiresRefreshCaretOverride","hasAncestorInlineCaretAtStart","refreshCaret","deleteElement","backspaceDelete$2","deleteCaret","isNearMedia","parseIndentValue","getIndentStyleName","useMargin","canOutdent","getBlocksToIndent","isReadOnly","validateBlocks","indentStyleName","intentValue","isListComponent","parentIsListComponent","indentation","indentUnit","indentValue","indentElement","parsedValue","outdent","backspaceDelete$1","findAction","forwardDeleteCommand","execNativeForwardDeleteCommand","setup$q","deleteCommand","getTouch","setup$p","startData","longpressFired","debounceLongpress","isFarEnough","distX","distY","isBlockElement","isValidTarget","shouldRemoveTextNode","createRootBlock","rootNodeName","hasBlockParent","restoreSelection","insertEmptyLine","checkClassName","replaceMatchWithSpan","prevChar","findStartTagIndex","isValidContent","nonEditableRegExps","setup$n","contentEditableAttrName","editClass","nonEditClass","hasEditClass","hasNonEditClass","convertRegExpsToNonEditable","blockCaretContainer","handleBlockContainer","findBlockCaretContainer","isContentEditableFalse$3","exitPreBlock","getVisualCaretPosition$1","newBlock","textBlock","createTextBlock","getHorizontalRange","moveToCeFalseHorizontally","getVerticalRange","moveToCeFalseVertically","moveH$2","flipDirection","moveV$4","moveToLineEndPoint$1","selectToEndPoint","curRng","isTarget","moveCaretToNewEmptyLine","getClosestTargetBlock","isAtFirstOrLastLine","moveV$3","move$2","moveDown","summary","moveUp","moveV$2","baseKeyPattern","matchesEvent","match$1","defaultPatterns","matchDelayed","defaultDelayedPatterns","_len13","_key13","execute","executeWithDelayedAction","moveH$1","moveV$1","moveToLineEndPoint","CellLocation","filterFirstLayer","lookup$1","isEligible","newIndex","getClosestCell","getYAxisValue","isTargetCorner","corners","getCorners","tds","deflate","corner","findClosestCorner","newCorner","oldCorner","oldDist","newDist","getClosestCellAbove","getClosestCellBelow","findClosestPositionInAboveCell","findClosestPositionInBelowCell","isAtTableCellLine","startsWithWrapBreak","startsWithBrBreak","hasNextBreak","breakPos","isAtFirstTableCellLine","isAtLastTableCellLine","navigateHorizontally","_td","isCaretAtStartOrEndOfTable","getTable","renderBlock","insertFn","navigateVertically","getClosestAbovePosition","getClosestBelowPosition","move$1","mover","moveH","moveV","tabGo","_current","getCellFirstCursorPosition","tabForward","tabBackward","handleTab","rootElements","model","clearSelectedCells","setup$l","executeKeydownOverride$4","isMac","DOM$7","alwaysNext","textBefore","scanLeft","scanRight","repeatLeft","isWhitespace","stripTrigger","findStart","initRange","minChars","findTriggerIndex","findTrigger","firstChar","spot","toLast","isText$1","toLeaf","isStartOfWord","leaf","isPreviousCharContent","_element","getDatabase","database","getTriggerContext","triggers","lookupWithContext","fetchOptions","startText","autocompleters","lookupByTrigger","lookupData","maxResults","matchText","highlightOn","SimpleResultType","fold$1","stype","serror","svalue","SimpleResult","bindError","formatObj","getErrorInfo","chooseFrom","missingBranch","branch","extract","choose$1","missingKey","chosen","baseMerge","merger","curObject","deepMerge","old","defaulted$1","mergeErrors","ResultCombine","objects","partitions","ifField","ifCustom","newKey","presence","instantiator","validator","custom","anyValue$1","requiredAccess","missingRequired","fallbackAccess","extractField","bundleAsOption","optValue","optionAccess","optionDefaultedAccess","objOf","extractFields","fields","fieldStrings","_okey","_presence","_instantiator","arrOf","asRaw","extractValue","errs","formatError","errInfo","formatErrors","choose","anyValue","typedValue","expectedType","actualType","number","string","boolean","functionProcessor","field$1","customField","customField$1","validateEnum","requiredOf","requiredString","requiredFunction","optionOf","optionString","defaultedOf","defaultedNumber","defaultedStringEnum","defaultedBoolean","defaultedFunction","fetch$1","onSetup","optionalText","optionalIcon","optionalTooltip","optionalLabel","active","enabled","defaultedType","defaultedString","autocompleterSchema","defaulted","defaultedArrayOf","baseToolbarButtonFields","baseToolbarToggleButtonFields","contextBarFields","contextButtonFields","contextToggleButtonFields","launchButtonFields","launchToggleButtonFields","toggleOrNormal","contextformbutton","contextformtogglebutton","requiredArrayOf","register$2","popups","dataset","popup","createAutocompleter","datasetValues","setup$k","activeAutocompleter","uiActive","isActive","cancelIfNecessary","removeAutocompleterDecoration","fireAutocompleterEnd","commenceIfNecessary","addAutocompleterDecoration","matchLength","getAutocompleters","newContext","doLookup","lookupInfo","fireAutocompleterUpdate","fireAutocompleterStart","_ui","setupEditorInput","update","which","emptyNodeContents","isEntireNodeSelected","getParentDetailsElementAtPos","isInDetailsElement","isCaretAtStartOfSummary","detailsElements","startSummary","isCaretInTheBeginningOf","isCaretAtEndOfSummary","isCaretInTheEndOf","setCaretToPosition","moveCaretToDetailsPos","shouldPreventDeleteIntoDetails","granularity","parentDetailsAtCaret","inEmptyParentBlock","isFirstBlock","isLastBlock","parentDetailsAtNewPos","shouldPreventDeleteSummaryAction","detailElements","isPartialDelete","startInSummary","endInSummary","isPartiallySelectedDetailsElements","startDetails","endDetails","isCaretInLastPositionInBody","isCaretInFirstPositionInBody","shouldPreventDeleteAction","getDetailsElements","handleDeleteActionSafari","_ref17","applySelection","appendAllChildNodes","backspaceDelete","createAndFireInputEvent","eventType","specifics","overrides","bubbles","isComposing","detail","currentTarget","eventPhase","AT_TARGET","originalTarget","explicitOriginalTarget","isTrusted","cancelable","InputEvent","fireInputEvent","fireBeforeInputEvent","platform$2","isMacOSOriOS","setup$j","isBackspaceKeydown","executeKeydownOverride$3","unmodifiedGranularity","getModifiedGranularity","applyAction","executeKeyupOverride","moveToCaretPosition","firstNonWhiteSpaceNodeSibling","getEditableRoot","editableRoot","getParentBlock$1","setForcedBlockAttrs","applyAttributes","forcedRootBlockAttrs","attrStyles","currentStyles","newStyles","attrClassesOpt","attrClasses","currentClassesOpt","currentClasses","filteredClasses","newClasses","appliedAttrs","remainingAttrs","createNewBlock","keepStyles","newBlockName","parentBlockName","isLastEmptyBlockInDetails","isAtDetailsEdge","insertNewLine","getDetailsRoot","hasParent","isListBlock","isListItem","getContainerBlock","containerBlock","containerBlockParent","isFirstOrLastLi","getStyles","insert$4","containerParent","parentBlockStyles","isFirstChild","tmpRng","hasFirstChild","previousChildren","isEmptyAnchor","containerAndSiblingName","canSplitBlock","normalizeZwspOffset","blockbreak","insert$3","isAfterLastNodeInContainer","isCef","collapsedAndCef","createNewBlock$1","isCaretAtStartOrEndOfBlock","normalizedOffset","insertNewBlockAfter","containerBlockName","shouldEndContainer","optionValue","isWithinNonEditableList","parentList","wrapSelfAndSiblingsInDefaultBlock","startNodeName","startNodeParent","parentBlockParent","isNearChildren","includeZwspInRange","trimLeadingLineBreaks","trimInlineElementsOnLeftSideOfBlock","firstChilds","addBrToBlockIfNeeded","fakeEventName","moveSelectionToBr","brElm","extraBr","insertBrAtCaret","isControlKey","hasRightSideContent","insertBrBefore","insertBrAfter","hasBrAfter","isAnchorLink","isInsideAnchor","insertBrOutsideAnchor","linebreak","insert$2","anchorLocation","readInlineAnchorLocation","matchesSelector","newLineAction","shouldBlockNewLine","_shiftKey","shouldBlockNewLine$1","inListBlock","requiredState","isListItemParentBlock","inBlock","getParentBlockName","inCefBlock","inPreBlock","shouldPutBrInPre","inBrContext","shouldInsertBr","hasShiftKey","_editor","canInsertIntoEditableRoot","rootEditable","isInRootWithEmptyOrCEF","isCefOpt","predicates","insertBreak","execEditorDeleteCommand","insert$1","logicalAction","platform$1","isIOSSafari","handleEnterKeyEvent","setup$i","iOSSafariKeydownBookmark","koreanCharRegex","isCaretAfterKoreanCharacter","iOSSafariKeydownOverride","iOSSafariKeyupOverride","setup$h","executeKeydownOverride$2","setup$g","normalizeNbspsInEditor","platform","isPageUpDown","setNodeChangeBlocker","blocked","setup$f","executeKeyupAction","insertTextAtPosition","insertNbspAtPosition","insertSpaceAtPosition","setSelection","insertSpaceOrNbspAtSelection","locationToCaretPosition","checkPos","insertInlineBoundarySpaceOrNbsp","insertSpaceInSummaryAtSelectionOnFirefox","domUtils","insertSpaceThunk","insertSpaceOrNbspAtPosition","isInsideSummary","setup$d","executeKeydownOverride$1","tableTabNavigation","setup$c","executeKeydownOverride","setup$b","setup$e","setup$m","NodeChange","lastRng","lastPath","nativeRng","fakeRng","isSameElementPath","initialized","currentPath","imageId","eventId","mkSetEventFn","transfer","setDragstartEvent","setDropEvent","setDragendEvent","isInDragStartEvent","modeId","mkSetModeFn","setMode$1","setReadWriteMode","setReadOnlyMode","setProtectedMode","checkMode","expectedMode","isInReadWriteMode","isInProtectedMode","validDropEffects","validEffectAlloweds","createDataTransfer","dataTransferImpl","DataTransfer","dropEffect","effectAllowed","effect","allowed","normalizeItems","itemsImpl","setDragImage","imageData","setData","clearData","cloneDataTransfer","originalMode","getMode","getDragImage","getEvent","setEvent","setHtmlData","internalMimeType","internalHtmlMime","internalMark","mark","toBlockElements","rootTag","rootAttrs","tagOpen","openContainer","tagClose","paragraphs","pasteBinDefaultContent","isPasteBin","isDefaultPasteBinContent","PasteBin","create$6","lastRngCell","pasteBinElm","pasteBinClone","copyAndRemove","toElm","fromElm","_filter$","_filter$2","pasteBinClones","dirtyWrappers","cleanWrapper","getLastRng","filter$1","trimHtml","trimSpaces","processResult","filterContent","preProcessArgs","firePastePreProcess","filteredContent","preProcess","postProcessFilter","tempBody","postProcessArgs","firePastePostProcess","pasteHtml$1","isAbsoluteUrl","linkSelection","pasteHtmlFn","createLink","insertImage","isImageUrl","createImage","pasteAsText","smartInsertContent","createIdGenerator","createPasteDataTransfer","doPaste","shouldSimulateInputEvent","doPasteAction","internalFlag","unmark","encodedText","getDataTransferItems","contentType","hasContentType","clipboardContent","hasHtmlOrText","createBlobInfo","useFileName","extractFilename","allowedExtensions","extension","lowerExt","mimeOverrides","getImageMimeType","pasteImageData","getImagesFromDataTransfer","fileResults","pasteImage","imageItem","_ref18","existingBlobInfo","insertClipboardContent","plainTextMode","isPlainTextHtml","isPlainText","isAbsoluteUrl$1","voidElements","ignoreElements","registerEventHandlers","pasteBin","pasteFormat","keyboardPastePlainTextState","isKeyboardPasteEvent","isBrokenAndroidClipboardEvent","registerEventsAndFilters","isWebKitFakeUrl","isDataUri","isPasteInsert","registerDataImageFilter","register$1","togglePlainTextPaste","setClipboardData","setHtml5Clipboard","offscreenRange","selectNodeContents","hasSelectedContent","isTableSelection","cut","getCaretRangeFromEvent","setFocusedRange","setup$a","draggingInternallyState","hasImage","dropContent","plainTextContent","isPlainTextFileUrl","internalContent","needsInternalDrop","needsCustomInternalDrop","parentTransparent","isInternalDrop","trimmedContent","hasNoSummary","brokenDetailElements","setupSummaryDeleteByDragFix","rgbRegExp","rgbToHex","removeWebKitStyles","webKitStylesOption","webKitStyles","inputStyles","outputStyles","inputValue","compareInput","outputStyle","setup$7","addPreProcessFilter","filterFunc","setup$8","processEvent","setup$9","setup$6","preventSummaryToggle","initialStateOption","serializedStateOption","filterDetails","isContentEditableFalse$2","getClosestScope","isContentEditableTrue","getClosestCef","findEdgeCaretCandidate","onTripleClickSelect","findClosestBlockRange","startRng","clickNode","cef","FakeCaretPosition","distanceToRectLeft","distanceToRectRight","isOverlapping","overlap","overlapY","collidesY","splitRectsPerAxis","rects","prevRect","boundingClientRectFromRects","isInsideY","boundingRect","_partition$2","horizontalDistance","_y","closestChildCaretCandidateNodeRect","findCloserTextNode","caretCandidateRect","findClosestCaretCandidateNodeRect","distance","sortedRects","tryFindSecondBestTextNode","sndClosest","_splitRectsPerAxis","_splitRectsPerAxis2","horizontalRects","verticalRects","_partition$3","above","below","closestCaretCandidateNodeRect","ownerDoc","traverseUp","prevScope","childNodesWithoutGhost","uncheckedChildren","newScope","closestFakeCaretCandidate","clientInfo","Before","After","getAbsolutePosition","docElem","calc","calculatePosition","bodyPosition","getBodyPosition","scrollPosition","getScrollPosition","mousePosition","getMousePosition","iframePosition","inlineScroll","iframeScroll","getBodyScroll","getTargetProps","makeDragEvent","dataTransferForDispatch","makeDataTransferCopyForDragEvent","makeDndEvent","timeStamp","BUBBLING_PHASE","CAPTURING_PHASE","NONE","button","movementX","movementY","offsetX","offsetY","relatedTarget","initUIEvent","initMouseEvent","makeDndEventFromMouseEvent","isContentEditableFalse$1","createGhost","clonedElm","padding","boxSizing","scrollEditor","amount","behavior","scrollRight","scrollUp","scrollDown","removeElement","isLeftMouseButtonPressed","ceElm","isDraggable","elmPos","dragging","maxX","maxY","relX","relY","ghost","dispatchDragEvent","move","throttledPlaceCaretAt","caretInfo","state_","movement","mouseEventOriginatedFromWithinTheEditor","targetPos","applyRelPos","moveGhost","mouseY","mouseX","overflowX","outerMouseY","outerMouseX","innerWidth","appendGhostToBody","drop","isValidDropTarget","dragElement","getRawTarget","dropTarget","removeElementWithPadding","getHtmlData","removeDragState","stopDragging","bindFakeDragEvents","pageDom","dragStartHandler","dragHandler","dropHandler","dragEndHandler","init$2","preventFileDrop","preventFileDropIfUIElement","editorRoot","eventNames","blockUnsupportedFileDrop","isContentEditableFalse","getContentEditableRoot","SelectionOverrides","realSelectionId","selectedElement","isFakeSelectionTargetElement","removeElementSelection","contentEditableRoot","setElementSelection","closestContentEditable","setRange","normalizeVoidElementSelection","isRangeInCaretContainer","isFakeSelectionElement","renderFocusCaret","setup$4","setup$3","isWithinCaretContainer","selectElement","targetClone","setupOffscreenSelection","realSelectionContainer","nodeElm","afterNode","getNormalizedTextOffset","generatePath","generatePathRange","resolvePath","nodePath","optNode","resolvePathRange","_ref19","_ref20","cleanEmptyNodes","deleteRng","clean","getParentBlock","resolveFromDynamicPatterns","patternSet","beforeText","dynamicPatterns","dynamicPatternsLookup","blockPatterns","inlinePatterns","getBeforeText","stripPattern","firstTextNode","textAfter","applyPattern$1","isBlockFormatName","formatSet","findPattern$1","sortedPatterns","sortPatterns$1","nuText","newMarker","rangeFromMarker","createMarker","markerPrefix","pathRange","textEnd","textStart","startParentNode","removeMarker","isReplacementPattern","findPatternStartFromSpot","startPattern","patternContent","searchText","startEndIndex","startPatternIndex","nextSpot","findPattern","normalizedMatches","endPathRng","endRng","resultsOpt","findPatternsRec","remainingPatterns","requireGap","startRange","findPatternStart","startPathRng","generatePathRangeFromRange","endSpot","patternsWithoutCurrent","applyPattern","patternRange","findPatterns","getBestMatches","matchesWithSortedPatterns","hasSameMatches","sortedMatch","applyMatches","matchesWithMarkers","addMarkers","matchesWithEnds","endMarker","startMarker","applyReplacementPattern","markerRange","applyPatternWithContent","markerEndRange","markerStartRange","patternMarker","handleEnter","dynamicPatternSet","inlineMatches","blockMatches","findPatterns$1","blockText","insert$5","applyMatches$1","checkKeyEvent","codes","setup$2","charCodes","keyCodes","getPatternSet","createPatternSet","hasDynamicPatterns","hasTextPatternsLookup","handleInlineTrigger","handleInlineKey","charCode","Quirks","isGecko","isWebKit","setEditorCommandState","emptyEditorWhenDeleting","serializeRng","allRng","allContentsSelected","selectAll","shortcuts","documentElementEditingFocus","Range","blur","selectControlElements","visualAidsAnchorClass","disableBackspaceIntoATable","setGeckoEditingOptions","setOpts","addBrAfterLastLinks","showBrokenImageIcon","contentStyles","restoreFocusOnKeyDown","bodyHeight","blockCmdArrowNavigation","tapLinksAndImages","blockFormSubmitInsideEditor","isAllContentSelected","removeStylesWhenDeletingAcrossBlockElements","getAttributeApplyFunction","setAttributeNode","isSelectionAcrossElements","DragEvent","DOM$6","getRootName","removeUndefined","mkParserSettings","mkSchemaSettings","initEditor","bindPendingEventDelegates","fireInit","moveSelectionToFirstCaretPosition","initInstanceCallback","autoFocus","getStyleSheetLoader$1","loadContentCss","fontCss","removeCss","contentCssText","allStylesheets","makeStylesheetLoadingPromises","framedFonts","_partition$4","bundledCss","normalCss","bundledPromises","contentStyle","appendStyle","initEditorWithInitialContent","startContent","loadInitialContent","contentBodyLoaded","readonly","_editableRoot","hasEditableRoot","createParser","mkSerializerSettings","annotator","_nodeChangeDispatcher","setup$5","setup$1","setup$o","setupRtcThunk","firePreInit","spellcheck","firePostRender","directionality","protect","escape","preInit","cancelProgress","canceled","progressTimeout","startProgress","setupRtc","_rtcMode","DOM$5","createIframe","boxInfo","iframeTitle","ifr","createIframeElement","customAttrs","iframe","frameBorder","allowTransparency","iframeContainer","iframeHTML","documentBaseUrl","bodyId","bodyClass","translatedAriaText","getIframeHtml","setupIframeBody","ready","srcdoc","DOM$4","initPlugin","initializedPlugins","Plugin","pluginUrl","pluginInstance","pluginInitError","createThemeFalseResult","renderThemeFalse","renderThemeFalseIframe","renderThemeUi","render","renderUI","renderFromLoadedTheme","iframeHeight","renderFromThemeFunc","iconPackName","currentIcons","loadIcons","svgData","icon","addIcon","initIcons","Theme","initTheme","Model","initModel","trimLegacyPrefix","initPlugins","renderInfo","augmentEditorUiApi","uiApiFacade","isEnabled","setEnabled","init$1","hidden","visibility","orgVisibility","DOM$3","hasSkipLoadPrefix","loadLanguage","scriptLoader","languageCode","languageUrl","languageLoadError","loadTheme","themeUrl","themeLoadError","loadModel","modelUrl","modelLoadError","getIconsUrlMetaFromName","defaultIconsUrl","customIconsUrl","getIconsUrlMetaFromUrl","cat","urlMeta","iconsLoadError","loadPlugins","loadPlugin","pluginLoadError","isThemeLoaded","isModelLoaded","loadQueue","snapshot","getStyleSheetLoader","resetContent","triggerSave","isEncodingXml","set_dirty","deviceDetection","normalizePlugins","trimmedPlugins","extractSections","bifilter","sections","sectionResult","hasSection","getMobileOverrideOptions","mobileOptions","defaultMobileOptions","table_grid","object_resizing","resize","toolbar_mode","toolbar_sticky","menubar","getExternalPlugins","overrideOptions","userDefinedExternalPlugins","external_plugins","processPlugins","isMobileDevice","defaultOverrideOptions","forcedPlugins","forced_plugins","desktopPlugins","mobileConfig","getSectionConfig","platformPlugins","getPlatformPlugins","mobilePlugins","combinedPlugins","combinePlugins","combineOptions","defaultOptions","deviceOverrideOptions","mobile","extendedOptions","isOnMobile","defaults","sectionOptions","getSection","addVisual$1","registerExecCommands$3","toggleAlign","align","editorCommands","addCommands","JustifyLeft","JustifyCenter","JustifyRight","JustifyFull","JustifyNone","registerCommands$b","alignStates","registerQueryStateCommands$1","trimOrPad","trimOrPadLeftRight","insertAtCaret","_processValue$","processValue$1","insertedContent","insertContent$1","legacyPropNames","isFont","getSpecifiedFontProp","legacyPropName","getProperty","getFontProp","getComputedFontProp","getFontSize","getFontFamily","findFirstCaretElement","bindRange","getCaretElement","mapRange","fromFontSizeNumber","fontSizeNumber","getFontStyleValues","fontClasses","getFontSizeClasses","normalizeFontNames","font","fonts","registerExecCommands$2","ForeColor,HiliteColor","BackColor","_command","FontName","fontNameAction","FontSize","fontSizeAction","LineHeight","lineHeightAction","Lang","customCode","mceBlockQuote","FormatBlock","mceToggleFormat","registerQueryValueCommands","isFormatMatch","addQueryValueHandler","fontNameQuery","fontSizeQuery","specifiedStyle","computedStyle","lineHeightQuery","registerCommands$6","Indent","Outdent","getTopParentBlock","topParentBlock","registerCommands$3","InsertNewBlockBefore","InsertNewBlockAfter","registerCommands","queryCommandEnabled","queryCommandSupported","registerCommands$a","mceAddUndoLevel","mceEndUndoLevel","Undo","Redo","registerCommands$7","mceSelectNodeDepth","mceSelectNode","registerCommands$1","mceCleanup","insertHorizontalRule","insertText","insertHTML","mceInsertContent","mceSetContent","mceReplaceContent","mceNewDocument","registerCommands$9","applyLinkToSelection","linkDetails","mceInsertLink","registerCommands$5","insertParagraph","mceInsertNewLine","InsertLineBreak","registerCommands$2","listParent","registerExecCommands$1","registerQueryStateCommands","registerCommands$4","registerCommands$8","mceRemoveNode","mcePrint","print","mceFocus","mceToggleVisualAid","registerExecCommands","selectionSafeCommands","isSelectionSafeCommand","EditorCommands","commands","lowerCaseCommand","skip_focus","restore","commandList","internalContentEditableAttr","setContentEditable","toggleReadOnly","removeFakeSelection","switchOnContentEditableTrue","restoreFakeSelection","registerFilters","allowedEvents","processReadonlyEvents","isClickEvent","getAnchorHrefOpt","targetEl","isReadOnlyAllowedEvent","nativeEvents","EventDispatcher","bindings","toggleEvent","beforeFire","once","wrappedCallback","currentName","bindingName","filteredHandlers","binding","getEventDispatcher","_eventDispatcher","isNative","toggleNativeEvent","Observable","bubble","dispatcherArgs","DOM$2","customEventRootDelegates","getEventTarget","eventName","eventRoot","isListening","bindEventDelegate","delegates","eventRootElm","delegate","editors","EditorObservable","_pendingNativeEvents","stringListProcessor","getErrorMessage","isValidResult","processValue","create$5","initialOptions","setValue","isBuiltInSpec","getBuiltInProcessor","processDefaultValue","immutable","unset","registered","defaultModes","switchToMode","activeMode","availableModes","oldMode","newMode","activate","deactivate","editorReadOnly","fireSwitchMode","create$4","design","registerReadOnlyContentFilters","registerReadOnlySelectionBlockers","setMode","registerMode","each$2","keyCodeLookup","f1","f2","f8","f10","f11","f12","modifierNames","parseShortcut","shortcut","isModifier","access","alt","ctrl","meta","Shortcuts","pendingPatterns","hasModifier","isFunctionKey","matchShortcut","subpatterns","executeShortcutAction","cmdFunc","normalizeCommandFunc","createShortcut","bridge","create$3","menuItems","contextMenus","contextToolbars","sidebars","views","addButton","addGroupToolbarButton","addToggleButton","addMenuButton","addSplitButton","addMenuItem","addNestedMenuItem","addToggleMenuItem","addAutocompleter","addContextMenu","addContextToolbar","addContextForm","addSidebar","addView","DOM$1","each$1","Editor","loadedCSS","isNotDirty","documentBaseURL","normalizeOptions","registerOption","hasPlugin","lookupFn","ctx","rawPatterns","_ctx","register$7","_setBaseUrl","baseURI","setupCallback","addQueryStateHandler","queryCommandState","queryCommandValue","loadArgs","saveArgs","initialContent","oldState","urlConverterCallback","urlObject","toRelative","setEditableRoot","fireEditableRootStateChange","beforeUnloadDelegate","boundGlobalEvents","globalEventDelegate","EditorManager","toggleGlobalEvents","removeEditorFromList","targetEditor","oldEditors","isQuirksMode","compatMode","releaseDate","i18n","tinyMCEPreInit","srcScript","overrideDefaults","base_url","pluginBaseUrls","plugin_base_urls","pluginBaseUrl","pluginName","invalidInlineTargets","provideResults","initEditors","initCount","execCallback","unique$1","findTargets","isInvalidInlineTarget","createEditor","createId","existingEditor","editorId","editorOptions","addI18n","FakeClipboard","dataValue","FakeClipboardItem","relativePosition","targetW","targetH","relChars","create$2","Rect","inflate","findBestRelativePosition","constrainRect","rels","intersect","cropRect","clamp","clampRect","fixedSize","cx2","cy2","underflowX1","underflowY1","overflowX2","overflowY2","fromClientRect","create$1","tasks","resultFns","resources","loadErrMsg","runErrMsg","task","waiter","resolveCb","rejectCb","completer","_len14","_key14","_len15","_key15","awaiter","localStorage","setItem","removeItem","storage","getItem","publicApi","geom","LocalStorage","ImageUploader","showNotification","TreeWalker","Selection","tinymce$1","tinyMCE","exportToWindowGlobal","module","exportToModuleLoaders","noarg","_len16","_key16","constant$1","_len17","_key17","_len18","_key18","range$2","chunk$1","partition$3","find$5","pure$2","get$h","find$4","get$g","mapFrom","fromHtml$2","path$1","getOrDie$1","name$3","owner$4","child$2","set$9","get$f","set$8","setOptions","get$e","isValidValue$1","api$2","get$d","getOuter$2","r$1","absolute$3","viewport$1","get$c","getOuter$1","_len19","_key19","unknown$3","nu$d","find$3","nu$c","nu$b","fromRawEvent$1","before$1","append$2","prepend$1","bounds$1","getBounds$3","box$1","absolute$2","constrain","constraint","global$a","value$4","error$1","bind$1","field$2","defaultedThunk","fallbackThunk","mergeWithThunk","baseThunk","mergeErrors$1","nu$a","value$3","valueThunk","getDelegate","getSetKeys","objOfOnly","fieldNames","unsupportedFields","oneOf","rawF","setOf$1","validatedKeys","validateKeys","arrOfObj","isPostMessageable","every","postMessageable","choose$2","setOf","extraction","asRawOrDie$1","thunkOf","_desc","getP","required$1","requiredNumber","requiredStringEnum","requiredObjOf","objSchema","requiredArrayOfObj","objFields","option$3","optionNumber","optionStringEnum","optionFunction","optionArrayOf","optionObjOf","defaultedObjOf","_len20","_key20","_len21","_key21","exclude$1","wrapAll","keyvalues","wrapAll$1","consolidate","objs","mergeValues","isSource","simulatedEvent","defaultEventHandler","can","abort","nu$9","fuse$1","all$2","_len22","_key22","any","_len23","_key23","_len24","_key24","touchstart","touchmove","touchend","touchcancel","mousedown","mousemove","mouseout","mouseup","mouseover","focusin","focusout","keydown","keyup","change","transitioncancel","transitionend","transitionstart","selectstart","prefixName","alloy","tap","focus$4","postBlur","postPaste","execute$5","focusItem","longpress","sandboxClose","typeaheadCancel","systemInit","documentTouchmove","documentTouchend","windowScroll","windowResize","attachedToDom","detachedFromDom","dismissRequested","repositionRequested","focusShifted","slotVisibility","externalElementScroll","changeTab","dismissTab","highlight$1","dehighlight$1","dispatchWith","emitWith","emitExecute","getSystem","triggerEvent","dispatchEvent","derive$2","configs","run$1","runActionExtra","runOnSourceName","redirectToPart","partName","redirectToUid","getByUid","redirectee","partUids","runWithTarget","getByDom","cutter","stopper","runOnSource","runOnAttached","runOnDetached","runOnInit","runOnExecute$1","runOnName","set$6","events$i","originator","isRecursive","DefaultEvents","generate$6","prefix$1","idAttr$1","idAttr","writeOnly","generate$5","make$8","NoContextApi","getComp","getMessage","debugInfo","triggerFocus","triggerEscape","broadcast","broadcastOn","broadcastEvent","build","buildOrPatch","addToWorld","removeFromWorld","addToGui","removeFromGui","isConnected","singleton$1","cleanParameters","parameters","markAsExtraApi","extraName","openBracketIndex","toFunctionAnnotation","premadeTag","premade$1","comp","getPremade","makeApi","markAsSketchApi","apiFunction","_len25","_key25","getApis","NoState","nu$8","readState","byInnerKey","indexKey","chain","nu$7","getCurried","descHandler","cHandler","behaviourTuple","groupByEvents","behaviours","behaviourEvents","nameToHandlers","behaviour","assemble","rawHandler","_len26","_key26","fuse","tuples","eventOrder","order","sortKeys","keyName","sorted","aKey","bKey","aIndex","bIndex","sortedTuples","missingOrderError","combineGroups","byEventName","assembled","purpose","uncurried","baseBehaviour","schema$z","mergeWith","toEvents","toggle$4","toggle$5","set$5","ensureInDom","obsoleted","obs","patchChildrenWith","builtChildren","patchSpecChild","oldObsoleted","childComp","determineObsoleted","newObs","oldTag","diffKeyValueSet","newObj","oldObj","newKeys","oldKeys","toSet","reconcileToDom","definition","_clone$","existingAttributes","_excluded2","_diffKeyValueSet","attrsToSet","attrsToRemove","existingStyles","_diffKeyValueSet2","stylesToSet","stylesToRemove","existingClasses","classesToRemove","classesToAdd","innerHtml","domChildren","patchDomChildren","optObsoleted","updateValue","valueElement","renderToDom","hasMixedChildren","isPremade","attemptPatch","introduceToDom","generateFrom","generateFrom$1","validated","optBlobThunk","generate$4","getBehaviours$2","getDomDefinition","bList","bData","components","infoModification","domModification","toModification","baseModification","modification","combine$2","baseMod","modsByBehaviour","exhibit","byAspect","combineObjects","combinedClasses","combinedAttributes","combinedStyles","defnA","getEvents","baseEvents","combine$1","build$2","getMe","systemApi","toInfo","bBlob","getBehaviours$3","getData$2","modDefinition","subcomponents","hasConfigured","behaviourName","apis","connect","newApi","disconnect","syncComponents","subs","buildFromSpec","userSpec","_make$","specEvents","_excluded3","buildSubcomponents","build$1","completeSpec","text$2","external$1","extSpec","uids","userSpecWithUid","isSketchSpec$1","premade","closest$2","manager","ariaId","isAriaPartOf","queryElem","isPartOf$1","EventConfiguration","eventConfig","initialTarget","NORMAL","noLogger","LOGGING","logger","makeEventLogger","sequence","startTime","logEventCut","_name","outcome","logEventStopped","logNoParent","logEventNoHandlers","logEventResponse","finishTime","STOP","monitorEvent","menuFields","itemFields","itemSchema$3","_initSize","tieredMenuMarkers","markers$1","onPresenceHandler","fieldName","getTrace","_len27","_key27","onHandler","onKeyboardHandler","onStrictHandler","onStrictKeyboardHandler","output$1","initSize","nu$6","placement","boundsRestriction","labelPrefix","alwaysFit","restriction","adt$a","southeast","southwest","northeast","northwest","south","north","east","west","southeast$3","southwest$3","northeast$3","northwest$3","south$3","north$3","east$3","west$3","cycleBy","restrictions","getRestriction","labelPrefix$2","eastX$1","middleX$1","westX$1","northY$2","southY$2","centreY$1","southeast$2","southwest$2","northeast$2","northwest$2","north$2","south$2","east$2","eastEdgeX$1","west$2","westEdgeX$1","all$1","allRtl$1","aboveOrBelow","aboveOrBelowRtl","belowOrAbove","belowOrAboveRtl","ActiveReceiving","receiveConfig","channelMap","channels","receivingData","targetChannels","chooseChannels","universal","channelInfo","channelSchema","onReceive","ReceivingSchema","loadEvent","bConfig","bState","_simulatedEvent","wrapApi","bName","apiName","markAsBehaviourApi","_len28","_key28","revokeBehaviour","doCreate","configSchema","schemaSchema","getConfig","wrappedApis","apiF","wrappedExtra","extraF","prepared","configAsRaw","initialConfig","behaviourInfo","exhibitor","derive$1","capabilities","simpleSchema","optionObjOfOnly","modeSchema","createModes","createModes$1","modes","branchKey","Receiving","ActivePosition","exhibit$6","posConfig","useFixed","focus$3","blur$1","preserve$1","refocus","focused","oldFocus","newFocus","NuPositionCss","toPx","applyPositionCss","toOptions","adt$9","positionWithDirection","posName","decision","decisionRect","decisionX","decisionY","decisionRight","decisionBottom","cata$2","toBox","optBounds","translate$2","removeScroll","outerScroll","relative$1","fixed$1","anchorBox","placementAttribute","getPlacement","adt$8","fit","nofit","attempt","bubbleOffset","adjustedBounds","adjustBounds","applyRestriction","isVerticalAxis","adjustedLeft","adjustedTop","adjustedRight","adjustedBottom","newX","newY","_determinePosition","determinePosition","boundsX","boundsY","boundsRight","boundsBottom","originInBounds","sizeInBounds","visibleW","visibleH","fits","fittedBox","calcReposition","restrictedX","restrictedY","restrictedWidth","restrictedHeight","isPartlyVisible","_calcMaxSizes","calcMaxSizes","upAvailable","downAvailable","maxHeight","cataVertical","westAvailable","eastAvailable","maxWidth","cataHorizontal","classesOn","classesOff","testY","unbindable","capture$1","timerAttr","isTransitioning$1","transition","hasAll","hasChanges","intermediate","setupTransitionListeners","transitionEnd","transitionCancel","isSourceTransition","pseudoElement","propertyName","transitionDone","transitionStart","duration","times","dur","getTransitionDuration","applyTransitionCss","lastPlacement","shouldTransition","shouldApplyTransitionCss","placer","intermediatePosition","intermediateCssOptions","startTransitioning","timerId","elementBox","attempts","panelWidth","panelHeight","attemptBestFit","attemptLayout","newReposition","newVisibleW","newVisibleH","newIsVisible","abc","bestNext","preference","setPlacement","setPlacement$1","setMaxHeight","setMax$1","absMax","anchored","available","expandable$1","defaultOr","dephault","position$2","positionCss","setClasses","classInfo","setHeight","maxHeightFunction","setWidth","maxWidthFunction","allAlignments","nu$5","xOffset","yOffset","insetModifier","insetXOffset","insetYOffset","getClasses","make","xDelta","yDelta","alignmentsOn","alignmentsOff","insetNortheast","insetNorthwest","insetNorth","insetSoutheast","insetSouthwest","insetSouth","insetEast","insetWest","nu$4","onDirection","isLtr","getDirection","AttributeValue","Attribute","isBottomToTopDir","BottomToTop","schema$y","defaultLtr","defaultRtl","defaultBottomLtr","defaultBottomRtl","dirElement","isBottomToTop","customLtr","layouts","onLtr","customRtl","onRtl","onBottomLtr","onBottomRtl","HotspotAnchor","placement$4","anchorInfo","hotspot","MakeshiftAnchor","placement$3","adt$7","screen","points","sumAsAbsolute","absolute$1","getRootPoint","frame","frameOwner","compOwner","getBox","pointed","calcNewAnchor","optBox","rootPoint","topLeft","onRelative","onFixed","sumAsFixed","cata$1","layoutsLtr","showAbove","layoutsRtl","NodeAnchor","placement$2","nodeBox","adt$6","adt$5","toRect","adt$4","asLtrRange","all$3","makeRange","same","firstRng","doGetExact","getExact","getNativeSelection","getFirstRect","getFirstRect$1","getBounds$1","getBounds$2","descendOnce$1","descendOnce","isSimRange","getAnchorSelection","modStart","modFinish","SelectionAnchor","placement$1","selectionBox","optRect","zeroWidth$1","rawRect","selectionRect","labelPrefix$1","eastX","westX","northY$1","southY$1","southeast$1","southwest$1","northeast$1","northwest$1","allRtl","SubmenuAnchor","submenuInfo","AnchorSchema","submenu","makeshift","TransitionSchema","PositionSchema","PlacementSchema","place","anchoring","placee","lastPlace","simple","positionWithinBounds","posState","placementSpec","optWithinBounds","placeeDetail","anchorage","placeeState","oldVisibility","getFixedOrigin","getRelativeOrigin","newState","vis","PositionApis","position$1","pConfig","_pState","reset$2","Positioning","init$g","fireDetaching","fireAttaching","virtualAttach","virtualDetach","attach$1","replaceChildren","newSpecs","buildNewChildren","detachChildren$1","newChildren","deleted","attachWith","insertion","doDetach","parent$1","detachChildren","attachSystem","guiSystem","attachSystemWith","attachSystemAfter","inserter","detachSystem","rebuild","sandbox","sConfig","sState","_data","getAttachPoint","built","open$1","onOpen","close$1","onClose","isOpen$1","_sandbox","_sConfig","isOpen","cloak","_sState","sink","cssKey","cloakVisibilityAttr","decloak","hasPosition","oldValue","SandboxApis","openWhileCloaked","transaction","isPartOf","getState","getState$2","ActiveSandbox","events$g","sandboxConfig","sandboxState","SandboxSchema","SandboxState","init$f","Sandboxing","dismissPopups","repositionPopups","mouseReleased","schema$x","receivingChannel$1","rawSpec","isExtraPart","fireEventInstead","schema$w","receivingChannel","doReposition","onLoad$5","repConfig","repState","onLoad","onUnload$2","onUnload","RepresentApis","setValue$3","getValue","getValue$3","getState$1","ActiveRepresenting","events$f","resetOnDom","_se","memory$1","isNotSet","dataByValue","dataByText","itemString","currentDataByValue","currentDataByText","newDataByValue","newDataByText","RepresentState","memory","manual","setValue$2","onSetValue","DatasetStore","getValue$2","getDataKey","getFallbackEntry","onLoad$4","initialValue","onUnload$1","ManualStore","setValue$1","_repState","getValue$1","onLoad$3","MemoryStore","onLoad$2","initVal","RepresentSchema","Representing","setValueFrom","forbidden","forbid","_v","dump","augment","SketchBehaviours","_placeholder","single","multiple","isSubstituted","scan","compSpec","placeholders","uiType","subPlaceholder","newSpec","substitute","req","childSpecs","substituted","valuesThunk","substitutePlaces","oneReplace","replacements","used","substituteAll","single$2","external","fFactory","sketch","fSchema","fName","fPname","typeSpec","fGroupSchema","fDefaults","fOverrides","requiredSpec","externalSpec","optionalSpec","groupSpec","asNamedPart","name$2","convert","adtConstructor","partSchema","PartType","asCommon","combine","partSpec","partValidated","generate$3","doGenerateOne","pname","generateOne$1","schemas","substitutes","internals","externals","factory","_partSpec","_partValidated","units","components$1","getPart","partKey","getPartOrDie","getParts","partKeys","system","getAllParts","pUid","_k","getAllPartNames","getPartsOrDie","defaultUids","baseUid","partTypes","partNames","defaultUidsSchema","AlloyParts","generateOne","asRawOrDie","partSchemas","partUidsSchemas","baseS","composite$1","specWithUid","supplyUid","partUidsSchema","hasUid","singleSchema","compositeSchema","rawConfig","extraApis","configFields","single$1","composite","partFields","ComposeApis","composeConfig","_composeState","ComposeSchema","Composing","nativeDisabled","onLoad$1","disableConfig","disableState","disable","enable","hasNative","useNative","nativeDisable","nativeEnable","ariaDisable","ariaEnable","_disableState","disableClass","onDisabled","onEnabled","isDisabled","nativeIsDisabled","ariaIsDisabled","DisableApis","set$4","ActiveDisable","exhibit$5","events$e","DisableSchema","Disabling","dehighlightAllExcept","hConfig","hState","highlighted","highlightClass","skipComp","onDehighlight","highlight","isHighlighted","onHighlight","queryTarget","getByIndex","itemClass","getFirst","_hState","getLast","getDelta$2","selected","dest","getCandidates","HighlightApis","dehighlightAll","dehighlight","highlightFirst","firstComp","highlightLast","lastComp","highlightAt","highlightBy","getHighlighted","getPrevious","HighlightSchema","Highlighting","ESCAPE","SPACE","cyclePrev","tryPrev","cycleNext","tryNext","inSet","preds","isShift$1","isControl","isNotShift","classification","reportFocusShifting","prevFocus","dom$2","focusee","highlights","FocusInsideModes","typical","infoSchema","stateInit","getKeydownRules","getKeyupRules","optFocusIn","processKey","getRules","keyingConfig","keyingState","transitions","onFocusHandler","focusInside","OnFocusMode","focusIn","keyboardEvents","tryGoInsideComponent","isEnterOrSpace","OnEnterOrSpaceMode","cyclicField","tabbingConfig","visibilitySelector","findCurrent","focusManager","_tabbingState","findInitial","tabstops","visibles","firstTabstop","goFromTabstop","stopIndex","cycle","isTabstop","useTabstopAt","cyclic","tabstop","goBackwards","goForwards","onEnter","onEscape","goFromPseudoTabstop","AcyclicType","CyclicType","defaultExecute","doDefaultExecute","stopEventForFirefox","_component","schema$v","execute$4","executeConfig","ExecutionType","getKeydownRules$5","_executeState","spaceExec","useSpace","enterExec","useEnter","downExec","useDown","execKeys","useControlEnter","getKeyupRules$5","flatgrid$1","dimensions","numRows","numColumns","setGridSize","getNumRows","getNumColumns","KeyingState","flatgrid","useH","use","west$1","moveLeft","moveRight","east$1","useV","north$1","south$1","isHidden$1","locateVisible","locate","withGrid","numCols","address","cycleHorizontal$1","oldRow","oldColumn","colsInRow","newColumn","cycleVertical$1","newRow","newCol","schema$u","focusIn$3","gridConfig","_gridState","doMove$2","gridState","identified","captureTab","moveLeft$3","cycleLeft$1","moveRight$3","cycleRight$1","moveNorth$1","cycleUp$1","moveSouth$1","cycleDown$1","getKeydownRules$4","execute$3","findCurrent$1","getKeyupRules$4","doEscape$1","FlatgridType","getNewIndex","tryNewIndex","isDisabledButton","horizontalWithoutCycles","prevIndex","oldCandidate","onNewIndex","horizontal","_oldCandidate","schema$t","execute$2","flowConfig","focusIn$2","_state","getInitial","moveLeft$2","cycles","moveRight$2","doMove$1","flowState","executeOnMove","getKeyupRules$3","doEscape","FlowType","getKeydownRules$3","_flowState","westMovers","allowHorizontal","allowVertical","eastMovers","matrix","rowIndex","columnIndex","cycleHorizontal","startCol","deltaCol","newColIndex","cycleVertical","colIndex","startRow","deltaRow","nextRowIndex","colsInNextRow","nextColIndex","moveHorizontal","moveVertical","schema$s","focusIn$1","matrixConfig","previousSelector","selectors","doMove","ifCycle","ifMove","inRow","cellsInRow","allRows","toMatrix","cycleLeft","moveLeft$1","cycleRight","moveRight$1","moveNorth","cycleUp","moveUp$1","moveSouth","cycleDown","moveDown$1","getKeydownRules$2","execute$1","getKeyupRules$2","MatrixType","schema$r","menuConfig","getKeydownRules$1","fireShiftTab","menuState","moveOnTab","fireTab","getKeyupRules$1","MenuType","schema$q","SpecialType","specialInfo","onSpace","onShiftEnter","onShiftTab","onTab","onUp","onDown","onLeft","onRight","stopSpaceKeyup","acyclic","flow","execution","menu","special","Keying","keyConfig","keyState","sendFocusIn","isFlatgridState","withoutReuse","withReuse","virtualReplaceChildren","existingComps","deletedComp","patchSpecChildren","specs","virtualReplace","replaceeIndex","childSpec","appendAt","_replaceConfig","replaceAt","replaceConfig","replaceState","replacer","reuseDom","ReplaceApis","appendee","prependee","removee","foundChild","replaceBy","replaceePred","Replacing","eventHandlers","events$d","focus$2","focusConfig","onFocus","FocusApis","isFocused","ActiveFocus","exhibit$4","stopMousedown","FocusSchema","Focusing","toggleConfig","toggleState","initialState","updateClass","updateAriaState","ariaInfo","aria","onToggled","ToggleApis","isOn","ActiveToggle","exhibit$3","events$b","executeEvent","toggleOnExecute","updateExpanded","ToggleSchema","pressed","updatePressed","syncWithExpanded","checked","updateChecked","expanded","updateSelected","Toggling","pointerEvents","onClick","events$a","optAction","hoverEvent","focusEvent","toggledEvent","onHover","onFocus$1","hover","toggled","getItemRole","toggling","exclusive","getTogglingSpec","tConfig","schema$p","hasSubmenu","itemBehaviours","ignoreFocus","schema$o","owner$2","parts$h","schema$n","focusWidget","widget","onHorizontalArrow","autofocus","_widget","widgetBehaviours","itemSchema$2","separator","parts$g","itemInfo","builder","fakeFocus","schema$m","grid","configureGrid","movementInfo","configureMatrix","rowSelector","configureMenu","Menu","make$7","_spec","_externals","menuBehaviours","selectedItem","_simulatedEvent$event","deselectOtherRadioItems","checkedRadioItems","role","byItem","byMenu","triggerItem","triggerMenu","generate$2","menus","expansions","menuPaths","_triggerItem","extractPreparedMenu","prep","LayeredState","init$c","getTriggerData","menuValue","getItemByValue","getPreparedMenu","getTriggeringItem","triggeringItemValue","triggeredItem","triggeredMenu","triggeringItem","triggeringPath","lookupMenu","lookupItem","itemValue","setMenuBuilt","menuName","setContents","sPrimary","sMenus","sExpansions","sPaths","refresh","otherMenus","menuValues","getPrimary","getMenus","isClear","getTriggeringPath","extraPath","revPath","menuIndex","onMenuItemHighlightedEvent","onMenuItemDehighlightedEvent","HighlightOnOpen","collapseItem$1","tieredMenu","HighlightMenuAndItem","collapseMenu","tmenu","highlightPrimary","repositionMenus","make$6","_rawUiSpec","submenuParentItems","layeredState","componentMap","buildMenus","primaryName","makeSketch","menuComp","itemComp","nbMenu","toDirectory","getItemValue","_container","_menuName","setActiveMenu","setActiveMenuAndItem","closeOthers","others","backgroundMenu","stayInDom","updateAriaExpansions","parentItems","getSubmenuParents","updateMenuPath","latestMenuName","menuPrep","activeMenu","ExpandHighlightDecision","expandRight","HighlightSubmenu","activeMenuPrep","buildIfRequired","onOpenSubmenu","collapseLeft","onCollapseMenu","keyOnItem","getSource","onExecute","onOpenMenu","highlightOnOpen","HighlightJustMenu","tmenuComp","onHighlightItem","onDehighlightItem","navigateOnHover","updateView","HighlightParent","getActiveItem","currentItem","maybeActivePrimary","allMenus","preparedMenus","extractMenuFromContainer","primaryMenu","onRepositionMenu","_ref21","tmenuBehaviours","_keyInfo","selectedMenu","tieredData","singleData","collapseItem","InlineView","factory$o","showWithinBounds","thing","lazySink","showMenuWithinBounds","menuSpec","makeMenu","menuSandbox","getSubmenuLayouts","triggeringPaths","isFirstTierSubmenu","submenuTriggers","submenuLayouts","showAt","showMenuAt","inlineBehaviours","isPartOfRelated","getRelated","onShow","onHide","fireDismissalEventInstead","fireRepositionEventInstead","global$9","Button","lookupAttr","buttonBehaviours","getModAttributes","roleAttrs","getAttrs","record","isSketchSpec","anyInSystem","asSpec","_ref22","_ref23","_ref24","text$1","_window$NamedNodeMap2","_document2","_attr2","sanitizeHtmlString","global$8","rtlTransform","defaultIconName","defaultIcon","getIconName","rtlName","ensureTrailing","addToEnd","lookupIcon","iconProvider","addFocusableBehaviour","renderIcon$3","iconName","fallbackIcon","rtlIconClasses","needsRtlTransform","iconHtml","render$3","notificationIconMap","warning","Notification","memBannerText","translationProvider","renderPercentBar","renderPercentText","memBannerProgress","updateProgress","updateText","banner","iconChoices","memButton","notificationIconSpec","renderFirst","iconNames","closeButton","ToolbarMode$1","ToolbarLocation$1","global$7","global$6","global$5","ToolbarMode","ToolbarLocation","option$2","wrapOptional","register$e","stringOrFalseProcessor","stringOrNumberProcessor","auto","getHeightOption","getWidthOption","getMinWidthOption","getMinHeightOption","getMaxWidthOption","getMaxHeightOption","getUserStyleFormats","shouldMergeStyleFormats","shouldAutoHideStyleFormats","getContentLanguages","getRemovedMenuItems","getToolbarMode","getToolbarGroups","getToolbarLocation","fixedContainerSelector","fixedToolbarContainerTarget","isToolbarPersist","getStickyToolbarOffset","getMenubar","getToolbar","getFilePickerCallback","getFilePickerValidatorHandler","getFontSizeInputDefaultUnit","getFilePickerTypes","useTypeaheadUrls","getAnchorTop","getAnchorBottom","isDraggableModal$1","useStatusBar","useElementPath","useBranding","getResize","getPasteAsText","getSidebarShow","promotionEnabled","useHelpAccessibility","getDefaultFontStack","isSkinDisabled","isMenubarEnabled","getSkinUrl","skin","getSkinUrlOption","getLineHeightFormats","isToolbarEnabled","toolbar","isToolbarString","isToolbarObjectArray","isMultipleToolbars","getMultipleToolbarsOption","toolbars","toolbarArray","isToolbarLocationBottom","fixedContainerTarget","useFixedContainer","getUiContainer","isDistractionFree","isStickyToolbar","isSplitUiMode","Options","isDraggableModal","detect$1","AutocompleterEditorEvents","redirectKeyToItem","getMenu","isMenuOpen","isProcessingAction","ItemResponse","ItemResponse$1","navClass","selectableClass","colorClass","presetClasses","normal","tickedClass","iconClass","textClass","caretClass","activeClass","containerClass","containerRowClass","classForPreset","presets","forMenu","hasIcons","menuClasses","dom$1","schema$l","focusBehaviours","selectOnFocus","setSelectionRange","inputBehaviours","inputAttributes","inputClasses","Input","factory$l","refetchTriggerEvent","redirectMenuItemInteractionEvent","menuSearcherClass","findWithinSandbox","sandboxComp","inputElem","findWithinMenu","saveState","inputComp","fetchPattern","selectionStart","selectionEnd","renderMenuSearcher","handleByBrowser","handleByHighlightedItem","eventData","interactionEvent","customSearcherEventsName","searchResultsClass","augmentWithAria","rowDom","chunks","preprocessCollection","isSeparator","allSplits","currentSplit","insertItemsPlaceholder","initItems","onItem","rawItems","enrichedItems","_item","forCollection","menuHasIcons","handleError","createHorizontalPartialMenuWithAlloyItems","_hasIcons","_columns","_menuLayout","structure","createPartialMenuWithAlloyItems","menuLayout","getNormalStructure","menuType","searchMode","forCollectionWithSearchField","searchField","ariaControlsSearchResults","forCollectionWithSearchResults","forSwatch","forToolbar","getSubmenuItems","onItemAction","optionalName","optionalShortcut","optionalSelect","borderless","defaultedColumns","defaultedMeta","defaultedOnAction","generatedName","namePrefix","separatorMenuItemSchema","autocompleterItemSchema","toolbarButtonSchema","createToolbarButton","toggleButtonSchema","createToggleButton","contextFormSchema","contextToolbarSchema","cardImageFields","cardImageSchema","cardTextFields","cardTextSchema","itemSchema$1","cardimage","cardtext","cardcontainer","cardContainerSchema","commonMenuItemFields","valuePrefix","cardMenuItemSchema","choiceMenuItemSchema","baseFields","insertTableFields","colorSwatchFields","fancyMenuItemSchema","inserttable","colorswatch","menuItemSchema","nestedMenuItemSchema","toggleMenuItemSchema","detectSize","selectorClass","columnLength","thisTop","cTop","namedEvents","SimpleBehaviours","ExclusivityChannel","ShowTooltipEvent","HideTooltipEvent","hideAllExclusive","_tConfig","_tState","TooltippingApis","setComponents","tState","getTooltip","tooltip","ActiveTooltipping","events$9","tooltipConfig","clearTooltip","clearTimer","resetTimer","isShowing","tooltipDom","tooltipComponents","setTooltip","TooltippingSchema","TooltippingState","init$b","Tooltipping","ReadOnlyChannel","ReadOnlyDataSchema","broadcastReadonly","uiRefs","mainUi","outerContainer","motherships","mothership","uiMotherships","setupReadonlyModeSwitch","receivingConfig","DisablingConfigs","runWithApi","getApi","onControlAttached","editorOffCell","onDestroy","onControlDetached","onMenuItemExecute","itemResponse","triggersSubmenu","CLOSE_ON_EXECUTE","menuItemEventOrder","componentRenderPipeline","renderCommonItem","providersBackstage","optComponents","buildData","convertText","updated","segment","renderIcon$2","renderText","renderHtml","renderStyledText","renderShortcut","renderCheckmark","renderColorStructure","providerBackstage","itemText","ariaLabel","iconSvg","iconContent","getDom","common","baseDom","renderItemDomStructure","domTitle","renderItemStructure","renderIcons","renderNormalItemStructure","iconSpec","leftIcon","renderEmptyIcon","checkmark","checkMark","textRender","htmlContent","shortcutContent","tooltipBehaviour","sharedBackstage","tooltipWorker","getSink","_tooltip","replaceText","encoded","encodeText","escapedMatchRegex","render$2","extras","renderContainer","directionClass","alignClass","getValignClass","valign","renderImage","shouldHighlight","cardText","parts$f","shorthandRegex","longformRegex","isHexString","extractValues","longForm","hexString","getLongForm","splitForm","isRgbaComponent","fromHsv","hsv","hue","saturation","brightness","side","chroma","fromHex","fireResizeContent","fireTextColorChange","fireResolveName","composeUnbinders","onSetupEditableToggle","onSetupEvent","onSetupStateToggle","unbindEditableToogle","unbindFormatToggle","onSetupFormatToggle","boundFormatChangeCallback","handleEvent","onActionToggleFormat$1","rawItem","onActionExecCommand","global$4","cacheStorage","getCacheForId","storageId","currentData","legacyDefault","storageString","localstorage","ColorCache","addColor","hsvColour","fromRgb","minRGB","maxRGB","hsvToHex","anyToHex","fromString$1","canvas","canvasContext","foregroundId","backgroundId","mapColors","colorMap","colors","option$1","fallbackColor","getColors$2","calcCols","defaultCols","calculatedCols","getColorCols$1","hasCustomColors$1","getDefaultForegroundColor","getDefaultBackgroundColor","getClosestCssBackgroundColorValue","isValidBackgroundColor","getCurrentColor","cssRgbValue","getAdditionalColors","hasCustom","applyColor","onChoice","colorPickerDialog","colorOpt","getColors$1","getCurrentColors","getFetch$1","setIconColor","splitButtonApi","newColor","setIconFill","buttonApi","optCurrentHex","getToolTipText","lastColor","tooltipPrefix","colorText","registerTextColorButton","_splitButtonApi","registerTextColorMenuItem","fancytype","storageKey","colorpicker","_api","onSubmit","createPartialChoiceMenu","onItemValueHandler","alloyItems","createChoiceItems","itemPresets","useText","isSelected","renderChoiceItem","deriveMenuMovement","menuMarkers","getColorItems","backstage","useCustomColors","allowCustomColors","colorinput","hasCustomColors","getColors","cellOverEvent","cellExecuteEvent","makeCell","col","makeComponents","cellRow","makeLabelText","fancyMenuItems","renderInsertTableMenuItem","getCellLabel","shared","providers","makeAnnouncementText","makeCells","emptyLabelText","memLabel","_e$event","selectCells","selectedRow","selectedColumn","_e$event2","renderColorSwatchItem","getColorCols","widgetSpec","autocomplete","separator$3","nested","renderSubmenuCaret","underlinePath","translatedTooltip","fancy","renderFancyMenuItem","card","renderCardMenuItem","CouplingApis","getCoupled","coupleConfig","coupleState","getOrCreate","getExistingCoupled","getExisting","CouplingSchema","CouplingState","init$a","coupled","lookupCoupled","coupledName","Coupling","baseFn","nCallback","cbs","LazyValue","errorReporter","make$5","aFutureB","futureB","Future","partType$1","getAnchor","getHotspot","getAnchorOverrides","mapFetch","onOpenSync","processed","openF","futureData","fetcher","getLazySink","tdata","_onOpenSync","_highlightOnOpen","togglePopup","matchWidth","useMinWidth","buttonWidth","set$7","sinkDetail","internalSink","lazySinkFn","doRepositionMenus","makeSandbox$1","ariaControls","sandboxClasses","sandboxBehaviours","sandboxFields","schema$k","parts$e","Dropdown","factory$k","switchToMenu","togglePopup$1","dropdownComp","HighlightNone","refetch","triggerExecute","dropdownBehaviours","handleRefetchTrigger","originalSandboxComp","dropdown","optSearcherState","newSandboxComp","searcherState","restoreState","handleRedirectToMenuItem","getActiveMenuItemFrom","activeItem","retargetAndDispatchWith","updateAriaOnHighlight","setActiveDescendant","activeMenuComp","resultsElem","controlledId","updateAriaOnDehighlight","getSearchPattern","FocusMode","createMenuItemFromBridge","isHorizontalMenu","parseForHorizontalMenu","menuitem","createNestedMenuItem","createToggleMenuItem","createSeparatorMenuItem","createFancyMenuItem","createAutocompleteItems","createCardMenuItem","createAutocompleterItem","createPartialMenu","itemHasIcon","identifyMenuLayout","createTieredDataFrom","partialMenu","Autocompleter","register$b","autocompleterId","processingAction","activeState","hideIfNecessary","editorBody","ariaOwnsAttr","getCombinedItems","choices","itemMeta","getAutocompleterRange","autocompleterApi","reload","BUBBLE_TO_SANDBOX","createInlineMenuFrom","focusMode","_ref25","ContentFocus","updateDisplay","combinedItems","cloneAutocompleterToEditorDoc","clip","_ref26","_ref27","autocompleterUiApi","nonScrollingOverflows","isScrollingOverflowValue","isScroller","detectWhenSplitUiMode","popupSinkElem","ancestorsScrollers","scrollers","getBoundsFrom","scrollableBoxes","constrainByMany","constraints","DelayedFunction","ref","schedule","_len29","_key29","monitor","longpress$1","fireIfReady","rawSettings","stopBackspace","tapEvent","simpleEvents","tapStopped","pasteTimeout","onPaste","onKeydown","isDangerous","onFocusIn","focusoutTimeout","onFocusOut","derive","rawTarget","stopped","resume","doTriggerHandler","fromSource","isStopped","isCut","handlerInfo","eventHandler","doTriggerOnUntilStopped","_logger","fromExternal","triggerOnUntilStopped","EventRegistry","registerId","extraArgs","curryArgs","curried","unregisterId","handlersById","_eventName","filterByType","broadcastHandler","isAboveRoot","findHandler","Registry","readOrTag","tagId","failOnDuplicate","conflict","getById","Container","_detail$dom","domWithoutAttributes","_excluded4","containerBehaviours","takeover","domEvents","triggerUntilStopped","_alloyId","triggerHandler","broadcast$1","broadcastData","receivers","receiver","schema$j","parts$d","excludeFactory","FormField","factory$i","fieldBehaviours","descriptor","descriptorId","getField","getLabel","ActiveTabstopping","exhibit$2","tabConfig","tabAttr","TabstopSchema","Tabstopping","global$3","renderFormFieldWith","pLabel","pField","extraClasses","extraBehaviours","renderFormFieldSpecWith","renderFormFieldDomWith","renderLabel$3","formChangeEvent","formCloseEvent","formCancelEvent","formActionEvent","formSubmitEvent","formBlockEvent","formUnblockEvent","formTabChangeEvent","formResizeEvent","renderCollection","runOnItem","htmlLines","getIcon","mapItemName","disabledClass","tgt","collectionEvents","currentActive","iterCollectionItems","childElm","_ref28","deriveCollectionMovement","ariaElements","isAriaElement","markValid","invalidConfig","invalidClass","notify","notifyInfo","validHtml","onValid","markInvalid","invalidState","onInvalid","_invalidState","validatorInfo","onValidate","InvalidateApis","ActiveInvalidate","events$8","onEvent","validateOnLoad","InvalidateSchema","Invalidating","validation","Unselecting","events$7","exhibit$1","unselectable","colorInputChangeEvent","colorSwatchChangeEvent","colorPickerCancelEvent","renderColorInput","colorInputBackstage","emitSwatchChange","colorBit","memColorButton","renderPanelButton","colorPicker","valueOpt","colorButton","_field","labelPart","edgePart","edgeActions","det","mouseIsDown","tlEdgePart","tedgePart","trEdgePart","redgePart","brEdgePart","bedgePart","blEdgePart","ledgePart","thumbPart","isShift","spectrumPart","getValueFromEvent","spectrum","SliderParts","sliderChangeEvent","getEventSource","isTouchEvent$2","touchEvent","minX","minY","min1X","min1Y","max1X","max1Y","xRange","yRange","halfX","halfY","step","useMultiplier","stepSize","speedMultiplier","snap","snapToGrid","snapStart","rounded","hasEdge","edgeName","hasLEdge","hasREdge","hasTEdge","hasBEdge","xyValue","fireSliderChange$3","reduceBy","increaseBy","capValue","findValueOf","hasMinEdge","hasMaxEdge","minBound","maxBound","screenRange","capMin","capMax","findOffsetOf","snapValueOf","extraValue","remainder","adjustment","rawSteps","maxSteps","findOffsetOfValue$2","maxOffset","centerMinEdge","centerMaxEdge","getBoundsProperty","getMinXBounds","getMaxXBounds","getMinYBounds","getMaxYBounds","getXScreenRange","getYScreenRange","getCenterOffsetOf","componentMinEdge","componentMaxEdge","spectrumMinEdge","getXCenterOffSetOf","componentBounds","spectrumBounds","getYCenterOffSetOf","fireSliderChange$2","findValueOfOffset$1","handleMovement$2","moveBy$2","xValue","findPositionOfValue$1","slider","minEdge","maxEdge","findOffsetOfValue$1","minOffset","onLeft$2","onRight$2","onUp$2","onDown$2","edgeActions$2","setToREdge","setToLEdge","HorizontalModel","setValueFrom$2","setToMin","setToMin$2","setToMax","setToMax$2","findValueOfOffset","findPositionOfValue","setPositionFromValue","setPositionFromValue$2","thumb","edges","getSpectrum","getLeftEdge","getRightEdge","thumbRadius","fireSliderChange$1","handleMovement$1","moveBy$1","yValue","findOffsetOfValue","onLeft$1","onRight$1","onUp$1","onDown$1","edgeActions$1","setToTEdge","setToBEdge","VerticalModel","setValueFrom$1","setToMin$1","setToMax$1","setPositionFromValue$1","getTopEdge","getBottomEdge","fireSliderChange","sliderValue","handleMovement","isVerticalMovement","moveBy","setToTLEdgeXY","setToTEdgeXY","setToTREdgeXY","setToREdgeXY","setToBREdgeXY","setToBEdgeXY","setToBLEdgeXY","setToLEdgeXY","TwoDModel","xPos","yPos","thumbXRadius","thumbYRadius","Slider","sketch$2","getThumb","modelDetail","wasDown","onChoose","onDragStart","onDragEnd","sliderBehaviours","changeValue","onChange","getInitialValue","onInit","resetToMin","resetToMax","fieldsUpdate","sliderUpdate","paletteUpdate","schema$i","getPartName$1","make$4","formBehaviours","resPs","resPThunk","pName","opt","toResult","Form","fSpec","fieldParts","validInput","invalidInput","validatingInput","translatePrefix","rgbFormFactory","getClass","onValidHexx","onInvalidHexx","invalidation","renderTextField","description","helptext","comps","concats","copyRgbToForm","rgb","memPreview","updatePreview","rgbFormSketcher","setValueRgb","onInvalidInput","onValidRgb","copyRgbToHex","hexField","onValidInput","isHexInputEvent","onValidHex","formPartStrings","redStrings","greenStrings","blueStrings","hexStrings","updateHex","copyHexToRgb","paletteFactory","setColour","grdWhite","createLinearGradient","addColorStop","grdBlack","saturationBrightnessPaletteSketcher","_detail","_thumb","_slider","setHue","_apis","setPaletteHue","setThumb","setPaletteThumb","makeFactory","colourPickerSketcher","rgbForm","onInvalidHex","sbPalette","paletteRgba","paletteHue","memSlider","sliderFactory","memPalette","memRgb","updatePalette","_hex","palette","updateFields","updateSlider","hueDegreesToSlider","updatePaletteThumb","runUpdates","updates","updateState","onFieldsUpdate","hexToHsv","onPaletteUpdate","oldHue","newHsv","newHex","onSliderUpdate","hueSliderToDegrees","oldRgb","oldHsv","ComposingConfigs","mem","processors","memento","rawProcessors","other","withComp","optInitialValue","getter","setter","english","renderColorPicker","colourPickerFactory","translate$1","memPicker","picker","valOpt","global$2","global$1","renderDropZone","actions","onDrop","transferEvent","handleFiles","onSelect","filterByExtension","allowedImageFileTypes","memInput","accept","_len32","_key32","beforeObject","afterObject","craftWithClasses","outline","craft","containerClasses","triggerTab","targetComp","isPseudoStop","dialogChannel","titleChannel","bodyChannel","footerChannel","bodySendMessageChannel","dialogFocusShiftedChannel","isSafariOrFirefox","isElementScrollAtBottom","_ref29","scrollToY","writeValue","fallbackFn","lastScrollTop","isScrollAtBottom","getScrollingElement","scrollAfterWrite","writeValueThrottler","interval","adaptable","_len30","newArgs","_key30","tempArgs","renderIFrame","baseClass","opaqueClass","containerBorderedClass","sandboxed","sourcing","getDynamicSource","stream","cachedValue","_frameComponent","frameComponent","setSrcdocValue","throttler","streamContent","renderImagePreview","cachedData","memImage","memContainer","fakeValidatedData","zoom","cachedWidth","cachedHeight","translatedData","applyFramePositioning","zoomToFit","panel","panelW","panelH","calculateImagePosition","imageWidth","imageHeight","imageComponent","internalToolbarButtonExecute","commonButtonDisplayEvent","toolbarButtonEventOrder","forceInitialSize","renderIcon$1","iconsProvider","renderIconFromPack$1","renderReplaceableIconFromPack","renderLabel$1","updateMenuText","updateMenuIcon","renderCommonDropdown","optMemDisplayText","optMemDisplayIcon","onLeftOrRightInMenu","tooltipAttributes","fixWidthBehaviourName","memDropdown","searchable","searcherComp","focusSearchField","displayText","displayIcon","itemCompCausingCollapse","nowActiveMenuComp","isSeparator$2","separator$2","unwrapReferences","realItems","isMenuItemReference","isExpandingMenuItem","itemWithValue","generateValueIfRequired","newData","getFromExpandingItem","submenuItems","mainMenuSearchMode","searchSettings","getSearchModeForField","mainMenu","submenuSearchMode","getSearchModeForResults","submenus","isSingleListItem","dataAttribute","fetchItems","findItemByValue","HtmlSelect","factory$h","initialValues","selectClasses","selectAttributes","selectBehaviours","firstOption","selectedIndex","schema$h","coupledPart","selfName","otherName","lock","onLockedChange","parts$c","locked","lockClass","FormCoupledInputs","factory$g","coupledFieldBehaviours","field1Name","field1","field2Name","field2","getField1","getField2","getLock","parseSize","sizeText","convertUnit","inInch","noSizeConversion","_input","makeRatioConverter","currentFieldText","otherFieldText","cValue","oValue","cSize","oSize","ratioSizeConversion","scale","baseInputBehaviours","multiline","validatingBehaviours","inputMode","inputmode","classname","pTextField","extraClasses2","flex","maximized","getAnimationRoot","slideConfig","getDimensionProperty","dimension","getDimension","disableTransitions","shrinkingClass","growingClass","setShrunk","openClass","closedClass","setGrown","doImmediateShrink","slideState","_calculatedSize","setCollapsed","onStartShrink","onShrunk","doStartShrink","calculatedSize","doStartSmartShrink","doStartGrow","wasShrinking","beforeSize","fullSize","startPartialGrow","startCompleteGrow","setExpanded","onStartGrow","isGrowing","_slideState","isShrinking","SlidingApis","refresh$4","isExpanded","grow","shrink","immediateShrink","hasGrown","hasShrunk","isTransitioning","toggleGrow","immediateGrow","onGrown","ActiveSliding","events$6","SlidingSchema","Sliding","getMenuButtonApi","setIcon","renderMenuButton","tabstopping","fetchContext","getFetch","getButton","getMenuItemAction","getMenuItemSetup","renderLabel","leafLabelEventsId","renderLeafLabel","_ref30","onLeafAction","visible","treeId","selectedId","internalMenuButton","btn","isLeftArrowKey","isRightArrowKey","dirComp","dirLabelElement","renderIconFromPack","renderIcon","directoryLabelEventsId","renderDirectoryLabel","_ref31","noChildren","toggleExpandChildren","directoryEle","directoryComp","willExpand","parentDirElement","parentDirLabelElement","renderDirectoryChildren","_ref32","expandedIds","renderDirectory","labelTabstopping","directoryEventsId","_ref33","expandedIdsCell","childrenVisible","_cmp","_se$event","childrenComp","treeEventsId","ActiveStreaming","events$5","streamConfig","streamState","streams","cancelEvent","_config","setTimer","StreamingState","StreamingSchema","streamInfo","sInfo","onStream","stopEvent","Streaming","setValueFromItem","itemData","setCursorAtEnd","setSelectionOn","attemptSelectOver","selectsOver","inputDisplay","getDisplayText","setSelectionToEnd","itemExecute","schema$g","parts$b","_tmenu","previewing","lazyTypeaheadComp","selectOverTextInInput","populateFromBrowse","_menu","typeahead","Typeahead","make$3","navigateList","highlighter","focusBehaviours$1","getActiveMenu","typeaheadCustomEvents","responseTime","previousValue","sandboxIsOpen","typeaheadComp","_typeaheadComp","onItemExecute","dismissOnBlur","typeaheadBehaviours","bindFuture","resA","bindResult","mapResult","foldResult","whenError","whenValue","withTimeout","errorThunk","timedOut","FutureResult","renderCommonSpec","actionOpt","domFinal","renderIconButtonSpec","calculateClassesFromButtonType","buttonType","renderButtonSpec","translatedText","renderButton$1","buttonSpec","renderFooterButton","isMenuFooterButtonSpec","menuButtonSpec","fixedSpec","isNormalFooterButtonSpec","isToggleButtonSpec","renderToggleButton","optMemIcon","memIcon","buttonTypeClasses","showIconAndText","translatedTextComponed","iconButtonSpec","newIcon","renderDialogButton","renderFormField","separator$1","toMenuItem","staticMenuItem","filteredTargets","toMenuItems","filterLinkTargets","headerTargets","linkInfo","anchorTargets","anchorTargetTop","anchorTop","anchorTargetBottom","anchorBottom","filterByQuery","lowerCaseTerm","getItems","fileType","urlBackstage","urlInputValue","getLinkInformation","history","historyTargets","getHistory","errorId","make$2","dialogData","factories","bar","renderBar","interpreter","alertbanner","renderAlertBanner","iconTooltip","renderInput","textarea","renderTextarea","renderLabel$2","backstageShared","iframeSpec","makeIframe","checkbox","renderCheckbox","toggleCheckboxHandler","makeIcon","memIcons","dropzone","renderGrid","listbox","renderListBox","initialItem","sketchSpec","listBoxWrap","selectbox","renderSelectBox","translatedOptions","chevron","selectWrap","sizeinput","renderSizeInput","converter","ratioEvent","pLock","formGroup","getFieldPart","isField1","widthField","heightField","_lock","newSize","unitDec","numText","formatSize","optCurrent","optOther","value1","value2","renderSlider","urlinput","renderUrlInput","updateHistory","urlEntry","addToHistory","filetype","typeaheadSpec","memUrlBox","_newValue","getValidationHandler","memInvalidIcon","invalidComp","trimmedValue","_entry","errId","memStatus","optUrlPicker","getUrlPicker","browseUrlEvent","memUrlPickerButton","picker_text","componentData","urlData","fieldname","chosenData","customeditor","editorApi","memReplaced","isOldCustomEditor","scriptId","cvalue","htmlpanel","imagepreview","renderTable","renderTh","renderTd","renderTr","header","tree","renderTree","onToggleExpand","defaultExpandedIds","selectedIdCell","defaultSelectedId","_se$event2","renderPanel","noFormParts","interpretInForm","oldBackstage","newBackstage","interpretParts","interpretWithoutForm","westEdgeX","middleX","eastEdgeX","northY","southY","centreY","lookupPreserveLayout","lookupFlippedLayout","bubbleAlignments$2","valignCentre","alignCentre","alignLeft","alignRight","getInlineDialogAnchor","contentAreaElement","lazyAnchorbar","lazyUseEditableAreaAnchor","getInlineBottomDialogAnchor","lazyBottomAnchorBar","getBannerAnchor","getCursorAnchor","selectionTableCellRange","getNodeAnchor$1","getAnchors","isToolbarTop","useFixedToolbarContainer","inlineDialog","inlineBottomDialog","isNestedFormat","isFormatReference","defaultStyleFormats","mapFormats","userFormats","customFormats","formatNameWithPrefix","getStyleFormats","registeredUserFormats","registerCustomFormats","registerFormats","processBasic","isSelectedFor","getPreviewFor","getStylePreview","register$a","doEnrich","newItems","getStyleItems","enrichMenu","enrichSupported","isSeparator$1","newItem","enrichCustom","getElementText","isValidAnchor","isAnchor","isHeader","isChildOfContentEditableTrue","isValidHeader","headerTarget","headerId","getOrGenerateId","getLevel","anchorTarget","anchorId","anchorText","getTargetElements","hasTitle","LinkTargets","getHeaderTargets","getAnchorTargets","STORAGE_KEY","isHttpUrl","isRecordOfUrlArray","getAllHistory","unparsedHistory","itemsWithoutUrl","setAllHistory","isTruthy","getPicker","getPickerSetting","pickerTypes","optFileTypes","_picker","getPickerTypes","getTextSetting","UrlInputBackstage","init$6","lazySinks","contextMenuState","isPositionedAtTop","getDockingMode","setDockingMode","HeaderBackstage","settingsFormats","eventsFormats","replaceSettings","enriched","modifications","fromSettings","fromEvents","init$7","ColorInputBackstage","dialogSettings","DialogBackstage","commonBackstage","anchors","isContextMenuOpen","setContextMenuState","popupBackstage","dialogBackstage","parts$a","partType","schema$f","itemsPart","customListDetail","parts$9","CustomList","factory$f","_external","shell","getListContainer","listBehaviours","setItems","itemComps","numListsRequired","numListsToAdd","itemsToAdd","makeItem","itemsToRemove","builtLists","setupItem","schema$e","parts$8","enhanceGroups","Toolbar","factory$e","getGroupContainer","toolbarBehaviours","setGroups","groups","isDocked$2","getBehaviours$1","StaticHeader","isDocked","getBehaviours","getOffsetParent","offsetParent$1","getOrigin","appear","contextualInfo","transitionClass","fadeOutClass","fadeInClass","disappear","isTopCompletelyVisible","isBottomCompletelyVisible","forceTopPosition","winBox","leftX","topY","forceBottomPosition","bottomY","getDockedLeftPosition","getPrior","getInitialPos","getXYForRestoring","priorY","optScrollEnv","scrollEnv","scrollElmTop","currentScrollTop","storePrior","getXYForSaving","setInitialPos","revertToOriginal","clearInitialPos","morph","offsetBox","scrollDelta","_left","_top","_right","_bottom","tryMorphToOriginal","_ref34","isVisibleForModes","getModes","_ref35","tryDecisionToFixedMorph","tryMorphToFixed","tryDockingPosition","tryMorph","tryMorphToOriginalOrUpdateFixed","_ref36","forceDockWith","getDecision","storePriorIfNone","morphToStatic","setDocked","onUndocked","morphToCoord","onDocked","updateVisibility","morphToDocked","contextInfo","lazyContext","isPartiallyVisible","setVisible","applyFixedMorph","refreshInternal","lazyViewport","applyMorph","resetInternal","calculateMorphToOriginal","_ref37","staticOrAbsoluteMorph","refresh$3","forceDockWithDecision","forceDockToTop","forceDockToBottom","DockingApis","isDocked$1","setModes","ActiveDocking","events$4","dockInfo","dockState","onShown","onHidden","DockingSchema","Docking","docked","initialBounds","toolbarHeightChange","editorStickyOnClass","editorStickyOffClass","isDockedMode","updateIframeContentFlow","parentElem","parentWidth","getOccupiedHeight","updateSinkVisibility","sinkElem","updateEditorClasses","focusedElm","runOnSinkElement","onDockingSwitch","additionalBehaviours","headerHeight","boxHeight","topBound","constrainedBounds","constrainedBoundsY","restoreFocus","headerElem","focusedElem","activeElm","findFocusedElem","boundsWithoutOffset","StickyHeader","lazyHeader","scrollFromBehindHeader","containerHeader","scrollPos","markerElement","markerPos","markerHeight","editorHeaderPos","editorHeaderHeight","editorHeaderTop","editorHeaderBottom","editorHeaderDockedAtTop","editorHeaderDockedAtBottom","groupToolbarButtonSchema","baseMenuButtonFields","MenuButtonSchema","createMenuButton","splitButtonSchema","SilverMenubar","factory$d","setMenus","newMenus","activeButton","hoveredButton","activeComp","hoveredComp","schema$d","getPartName","make$1","getSlotNames","onSlot","def","slot","doShowing","hideSlot","doHide","hideSlots","onSlots","showSlot","doShow","getSlot","hideAllSlots","slotBehaviours","slotApis","SlotContainer","sSpec","sidebarSchema","makePanels","panelConfigs","bridged","createSidebar","sidepanel","optSidePanelSpec","sidePanelSpec","makeSidebar","slotContainer","updateSidebarRoleOnToggle","sidebar","sidebarState","whichSidebar","fixSize","autoSize","BlockingApis","getBusySpec","blockerBehaviours","blockSpec","blocker","onBlock","blockWith","unblock","onUnblock","blockingConfig","blockingState","BlockingSchema","Blocking","init$4","focusBusyComponent","throbber","toggleThrobber","toggleEditorTabIndex","tabIndexAttr","dataTabIndexAttr","tabIndex","_root","_behaviours","getBusySpec$1","throbberFocus","busyComp","lazyThrobber","throbberState","stealFocus","isFocusEvent","isPasteBinTarget","fireAfterProgressState","within","withinWidth","apportion","parray","toUnit","partition","overflower","divide","tryFit","fitLast","fitAll","setGroups$1","storedGroups","bGroups","refresh$2","setOverflow","builtGroups","overflowGroup","focusedComp","availableWidth","overflows","schema$c","schema$b","parts$7","expandable","setMax","schema$a","parts$6","toggledClass","shouldSkipFocus","toolbarSandbox","bounder","FloatingToolbarButton","factory$c","makeSandbox","toggleWithoutFocusing","schema$9","parts$5","ToolbarGroup","factory$b","tgroupBehaviours","itemSelector","buildGroups","refresh$1","memFloatingToolbarButton","overflowGroups","floatingToolbarButton","SplitFloatingToolbar","factory$a","getOverflowBounds","overflowToggledClass","splitToolbarBehaviours","getOverflow","schema$8","parts$4","onClosed","onOpened","toggleToolbar","overf","SplitSlidingToolbar","factory$9","toolbarToggleEvent","_button","doSetGroups","renderToolbarGroupCommon","toolbarGroup","renderToolbarGroup","getToolbarBehaviours","toolbarSpec","modeName","onAttached","initGroups","renderMoreToolbarCommon","cyclicKeying","renderFloatingMoreToolbar","baseSpec","moreDrawerData","headerBounds","docBounds","overflowXOffset","renderSlidingMoreToolbar","renderToolbar","scrolling","baseButtonFields","schemaWithoutGroupButton","togglebutton","groupFields","viewButtonSchema","viewSchema","renderViewButton","renderButton","isToggleButton","optTranslatedText","optTranslatedTextComponed","optIconSpec","hasIconAndText","View","hasGroups","endButtons","btnspec","renderButtonsGroup","factory$8","getPane","getOnShow","_comp","viewConfig","getOnHide","makeViews","viewConfigs","internalViewConfig","pane","makeSlotContainer","getCurrentName","runOnPaneWithInstanceApi","onCallback","ViewWrapper","factory$7","setViews","whichView","toggleView","showMainView","hideMainView","optCurrentSlotName","isTogglingCurrentView","hideContainer","showContainer","runOnShow","runOnHide","editorCont","partMenubar","partMultipleToolbar","_mToolbar","partToolbar","renderer","sliding","floating","toolbarFactory","onToolbarToggled","lazyToolbar","lazyMoreButton","partHeader","sticky","partPromotion","partSocket","partSidebar","partThrobber","partViewWrapper","partEditorContainer","OuterContainer","factory$6","toolbarDrawerOpenState","getSocket","setSidebar","showSidebar","configKey","toggleSidebar","getHeader","setToolbar","renderedGroups","setToolbars","mToolbar","renderedToolbars","refreshToolbar","toggleToolbarDrawer","toggleToolbarDrawerWithoutFocusing","isToolbarDrawerToggled","getThrobber","focusToolbar","setMenubar","focusMenubar","defaultMenus","edit","tools","help","parseItemsString","identifyMenus","rawMenuData","userDefinedMenus","validMenus","isDefaultMenu","menuData","removedMenuItems","removedMenuItem","loadStylesheet","stylesheetUrl","loadUiSkins","skinUiCss","loadShadowDomUiSkins","shadowDomSkinCss","loadSkin","skinResourceIdentifier","skinContentCss","loadUrlSkin","fireSkinLoaded$1","fireSkinLoaded","fireSkinLoadError","fireSkinLoadError$1","makeTooltipText","labelWithPlaceholder","generateSelectItems","generateItem","validateItems","preItems","getCurrentValue","shouldHide","createMenuItems","createSelectButton","tooltipWithPlaceholder","textUpdateEventName","_createMenuItems","getComponent","Delimiter","buildBasicSettingsDataset","settingName","delimiter","rawFormats","SemiColon","btnTooltip$4","fallbackAlignment","alignMenuItems","getSpec$4","alignment","fireAlignTextUpdate","findNearest","btnTooltip$3","fallbackFormat","getSpec$3","fireBlocksTextUpdate","btnTooltip$2","systemFont","systemStackFonts","splitFonts","matchesStack","getSpec$2","getMatchingValue","getFirstFont","userStack","matchOpt","isSystemFontStack","_getMatchingValue2","fireFontFamilyTextUpdate","unsupportedLength","decimalDigits","exponentPart","unsignedDecimalLiteral","accepted","unitRaw","isUnit","Keys","tab","enter","backspace","delete","space","home","pageUp","pageDown","createBespokeNumberInput","currentComp","updateInputValue","customEvents","fromInput","focusBack","alloyComp","getNewValue","lenghtDelta","oldStart","oldEnd","decrease","increase","goToParent","focusInput","makeStepperButton","editorOffCellStepButton","altExecuting","memMinus","memPlus","buttonNode","wrapperComp","btnTooltip$1","fallbackFontSize","legacyFontSizes","keywordFontSizes","toPt","precision","factor","toLegacy","getSpec$1","legacy","Space","_getMatchingValue4","fireFontSizeTextUpdate","btnTooltip","getSpec","getFormatItems","flattenedItems","fireStylesTextUpdate","schema$7","arrowPart","arrow","buttonPart","splitDropdown","parts$3","SplitDropdown","factory$5","executeOnButton","buttonEvents","splitDropdownBehaviours","getButtonApi","getToggleApi","getTooltipAttributes","focusButtonEvent","renderCommonStructure","optIcon","optText","renderCommonToolbarButton","specialisation","itemApi","toolbarButtonBehaviours","renderToolbarButtonWith","bonusEvents","renderToolbarToggleButtonWith","fetchChoices","_ref39","defaultToolbar","renderFromBridge","bridgeBuilder","renderToolbarButton","renderToolbarToggleButton","menubutton","splitbutton","renderSplitButton","buttonComp","grouptoolbarbutton","identifyButtons","allowToolbarGroups","TopToBottom","renderFloatingToolbarButton","bespokeButtons","createStylesButton","createFontSizeButton","fontsizeinput","createFontSizeInputButton","updateFunction","parsedText","defaultUnit","in","rem","getConfigFromUnit","isValidValue","fireFontSizeInputTextUpdate","getNumberInputSpec","fontfamily","createFontFamilyButton","createBlocksButton","createAlignButton","createToolbar","toolbarConfig","filteredItemGroups","subItem","removeUnusedDefaults","strToolbar","groupsStrings","convertStringToolbar","isToolbarGroupSettingArray","lookupButton","toolbarItem","prefixes","extractFrom","toolbarGroups","rawUiConfig","toolbarButtonsConfig","detection","isiOS12","Iframe","render$1","lastToolbarWidth","eTargetNode","uiRoot","attachUiMotherships","popupUi","dialogUi","setupEvents$1","initialDocEle","lastWindowDimensions","lastDocumentDimensions","resizeWindow","resizeDocument","docEle","fireScrollContent","elementLoad","socket","limit","_len31","_key31","unbinder","toolbarMode","parseToInt","numToPx","calcCappedSize","minSize","maxSize","minOverride","maxOverride","getHeightWithFallback","baseHeight","minHeight","getHeight","baseWidth","minWidth","InlineHeader","floatContainer","isSticky","editorMaxWidthOpt","headerBackstage","isSplitToolbar","calcToolbarOffset","tbar","getOffsetParent$1","repositionPopups$1","stickyAction","bodyMargin","optToolbarWidth","restoreAndGetCompleteOuterContainerWidth","targetBounds","_getOffsetParent$1$fo","isOffsetParentBody","topValue","baseProperties","widthProperties","toolbarWidth","updateChromePosition","doUpdateMode","currentMode","toolbarHeight","docHeight","calcMode","verticalDir","updateMode","getTargetPosAndBounds","Inline","toolbarPersist","uiContainer","setupEvents","prevPosAndBounds","resizeContent","_getTargetPosAndBound","_prevPosAndBounds$get","prevBounds","hasResized","lastScrollX","updateUi","newScrollX","_args","hideContextToolbarEvent","runOnExecute","formApi","getFormApi","renderContextToggleButton","_button$original2","_excluded6","renderContextButton","_button$original","_excluded5","buildInitGroups","findPrimary","mementos","asSpecs","compInSystem","ContextForm","isVerticalOverlap","threshold","getSelectionBounds","leaf$1","getRangeRect","bodyPos","getContextToolbarBounds","toolbarType","contentAreaBox","toolbarOrMenubarEnabled","_getHorizontalBounds","getHorizontalBounds","_getVerticalBounds","getVerticalBounds","isToolbarLocationTop","headerBox","isToolbarBelowContentArea","isToolbarAbove","containerBounds","bubbleAlignments$1","inset","anchorOverrides","shouldUseInsetLayouts","determineInsetLayout","contextbar","selectionBounds","isSameAnchorElement","lastElement","isEntireElementSelected","preservePosition","currentPosition","isReposition","getAnchorSpec$2","smartInsetLayout","newAnchor","getInsetLayouts","matchTargetWith","ctxs","toolbarApi","_partition$5","contextForms","matchStartNode","nodeCandidates","editorCandidates","nodeMatches","editorMatches","doesPositionExist","filterToolbarsByPosition","hasSelectionToolbars","hasNodeToolbars","nodeToolbars","selectionToolbars","filterByPositionForStartNode","matchAncestor","ancestorElem","_matchTargetWith","inNodeScope","findPosition","basePosition","filterByPositionForAncestorNode","categorise","forms","inEditorScope","formNavigators","lookupTable","registerForm","contextForm","launch","registerToolbar","contextToolbar","forwardSlideEvent","backSlideEvent","changeSlideEvent","resizingClass","register$9","registryContextToolbars","lastTrigger","lastContextPosition","currentWidth","newWidth","newContents","oldContents","forwardContents","renderContextToolbar","canLaunchToolbar","shouldContextToolbarHide","contextToolbarBounds","anchorBounds","getAnchorElementBounds","hideOrRepositionIfNecessary","contextBarEle","wrapInPopDialog","getScopes","alloySpec","buildToolbar","allButtons","buildContextToolbarGroups","buildContextFormGroups","anchorLayout","getAnchorLayout","launchContext","launchContextToolbar","isSameLaunchElement","isDragging","rootElem","isOutsideRoot","toolbarKey","registerController","getMenuItems","getOptions","oldApi","unbindWatcher","watcher","setCurrent","onToolbarSetup","onMenuSetup","lineHeightSpec","normalise","_ref38","languageSpec","createAlignMenu","createFontFamilyMenu","createStylesMenu","createBlocksMenu","createFontSizeMenu","onSetupOutdentState","registerButtons$2","makeSetupHandler","pastePlainTextToggleHandler","onActionToggleFormat","registerButtons$1","_idx","registerFormatButtons","registerCommandButtons","registerCommandToggleButtons","registerMenuItems$2","onSetupUndoRedoState","registerMenuItems$1","registerButtons","onSetupVisualAidState","registerToolbarButton","registerMenuItems","register$8","fallbackColorForeground","fallbackColorBackground","lastForeColor","lastBackColor","register$c","patchPipeConfig","shouldNeverUseNative","getAvoidOverlapSelector","getContextMenu","contextMenu","isTouchEvent$1","transposeContentAreaContainer","containerPos","getPointAnchor","fromPageXY","fromClientXY","getSelectionAnchor","getAnchorSpec$1","anchorType","getNodeAnchor","initAndShow$1","buildMenu","contextmenu","anchorSpec","bubbleAlignments","highlightImmediately","getAnchorSpec","initAndShow","openiOS","originalSelection","selectionReset","unbindEventListeners","preventMousedown","clearSelectionReset","setupiOSOverrides","isTouchWithinSelection","rngRect","makeContextItem","commonMenuItem","commonItem","addContextMenuGroup","groupItems","lastMenuItem","isTriggeredByKeyboard","pointerType","getSelectedElement","hideContextMenu","showContextMenu","isNativeOverrideKeyEvent","isContextMenuDisabled","getAnchorType","generateContextMenu","allItems","hideEvents","subtract","asFixed","coord","asAbsolute","asOffset","toStyles","stylesOpt","absorb","partialCoord","originalCoord","absorbOne","stencil","optX","optY","parseAttrToInt","getCoords","snapInfo","snapsInfo","leftAttr","topAttr","moveOrSnap","newCoord","mustSnap","findClosestSnap","findSnap","fixedCoord","spanned","stopDrag","findMatchingSnap","snaps","sensor","inRange","withinRange","coord1","coord2","getSnapPoints","bestSnap","deltas","getDeltas","bestDeltas","DraggingApis","snapTo","dragConfig","getTarget","repositionTarget","snapPin","snapTo$1","initialAttribute","instigate","anyComponent","zindex","changeZIndex","zIndex","resetZIndex","createComponent","blockerClass","blockerEvents","SnapSchema","schema$6","getCurrentCoord","calcNewCoord","optSnaps","currentCoord","clampCoords","coords","absoluteCoord","newCoords","offset$1","translated","snapping","onSensor","calcStartData","dragState","dragMode","dragStartData","getStartData","dlt","dragBy","onDrag","updateStartState","setStartData","MouseData","getDelta","getDelta$1","events$3","stop$1","delayDrop","dragApi","forceDrop","init$3","schema$5","TouchData","getDataFrom","events$2","blockerSingleton","stopBlocking","mouse","mouseOrTouch","events$1","DraggingBranches","DragState","dragEvent","nuData","calculateDelta","Dragging","dragger","calcSnap","selectorOpt","snapWidth","selectorHandle","sensorLeft","sensorTop","getSnapsConfig","isSameCell","cellOpt","currentTd","createSelector","tlTds","brTds","finishCell","getTopLeftSnap","memTopLeft","getBottomRightSnap","memBottomRight","topLeftSnaps","getTopLeftSnaps","bottomRightSnaps","getBottomRightSnaps","bottomRight","getSnapConfig","showOrHideHandle","cellRect","viewportHeight","aboveViewport","belowViewport","snapTopLeft","snapBottomRight","otherCells","upOrLeftCells","downOrRightCells","renderElementPath","renderPathData","renderElement","_btn","newPath","updatePath","ResizeTypes","resizeType","getDimensions","originalHeight","originalWidth","Both","dim","fireResizeEditor","keyboardHandler","renderResizeHandler","None","Vertical","getResizeType","resizeLabel","_target","renderStatusbar","renderRightContainer","renderWordCount","replaceCountText","words","characters","currentVal","wordCount","getTextComponents","shouldRenderHelp","shouldRenderElementPath","shouldRenderRightContainer","getTextComponentClasses","flexStart","flexEnd","container3Columns","renderHelpAccessibility","shortcutText","getComponents","resizeHandler","getLazyMothership","setupForTheme","lazyUiRefs","LazyUiReferences","getUiMotherships","optDialogMothership","optPopupMothership","lazyGetInOuterOrDie","lazyMothership","lazyDialogMothership","lazyPopupMothership","deviceClasses","isToolbarBottom","memAnchorBar","memBottomAnchorBar","lazyAnchorBar","backstages","lazyPopupSinkResult","lazyDialogSinkResult","makePromotion","promotion","renderMainUi","makeHeaderPart","verticalDirAttributes","fireToggleToolbarDrawer","hasMultipleToolbar","hasToolbar","hasMenubar","shouldHavePromotion","hasAnyContents","menubarCollection","sidebarContainer","viewWrapper","statusbar","editorComponents","setEditorSize","parsedHeight","parsedWidth","getWidthWithFallback","renderUIWithRefs","toolbarGroupButtonConfig","_editor$ui$registry$g3","toolbarOpt","channel","fireDismissPopups","onTouchstart","onTouchmove","onTouchend","onMousedown","onMouseup","onContentClick","onContentMouseup","onContentMousedown","loopEditor","onWindowScroll","onWindowResize","onElementScroll","onEditorResize","onEditorProgress","onDismissPopups","handleToggle","getMothership","renderDialogUi","isGridUiContainer","sinkSpec","reactiveWidthSpec","uiMothership","renderPopupUi","getPopupSinkBounds","reuseDialogUiForPopuUi","schema$2","basic","parts$2","dragBlockClass","getDragBounds","ModalDialog","factory$4","dialogComp","modalEventsId","externalBlocker","blockerDom","getFooter","setIdle","setBusy","modalBehaviours","labelledBy","labelledElement","labelElement","labelId","dialogToggleMenuItemSchema","dialogToggleMenuItemDataProcessor","baseFooterButtonFields","dialogFooterButtonFields","normalFooterButtonFields","menuFooterButtonFields","toggleButtonSpecFields","dialogFooterButtonSchema","alertBannerFields","alertBannerSchema","buttonFields","buttonSchema","formComponentFields","formComponentWithLabelFields","checkboxFields","checkboxSchema","checkboxDataProcessor","collectionFields","collectionSchema","collectionDataProcessor","colorInputFields","colorInputSchema","colorInputDataProcessor","colorPickerSchema","colorPickerDataProcessor","customEditorFields","defaultedPostMsg","customEditorFieldsOld","customEditorSchema","customEditorDataProcessor","dropZoneSchema","dropZoneDataProcessor","createGridFields","itemsField","htmlPanelFields","htmlPanelSchema","iframeFields","iframeSchema","iframeDataProcessor","imagePreviewSchema","imagePreviewDataProcessor","inputFields","inputSchema","inputDataProcessor","createLabelFields","listBoxSingleItemFields","listBoxNestedItemFields","listBoxItemSchema","listBoxFields","listBoxSchema","listBoxDataProcessor","selectBoxFields","selectBoxSchema","selectBoxDataProcessor","sizeInputFields","sizeInputSchema","sizeInputDataProcessor","sliderFields","sliderSchema","sliderInputDataProcessor","tableFields","tableSchema","textAreaFields","textAreaSchema","textAreaDataProcessor","baseTreeItemFields","treeItemLeafSchema","treeItemDirectoryFields","treeItemDirectorySchema","treeItemSchema","treeFields","treeSchema","urlInputFields","urlInputSchema","urlInputDataProcessor","createItemsField","itemSchema","sErr","passValue","panelSchema","panelFields","tabFields","tabPanelFields","tabPanelSchema","dialogButtonFields","dialogButtonSchema","dialogSchema","tabpanel","urlDialogButtonSchema","urlDialogSchema","getAllObjects","isNamedItem","dataProcessors","togglemenuitem","createDataValidator","namedItems","getNamedItems","getDataProcessor","internalDialog","dataValidator","DialogManager","redial","ActiveReflecting","reflectingConfig","reflectingState","renderComponents","newComponents","rawData","ReflectingApis","reflectState","ReflectingSchema","Reflecting","toValidValues","renderBodyPanel","memForm","formValue","TabButton","factory$3","tabButtonBehaviours","schema$1","tabsPart","barDetail","dismissTab$1","tabbar","changeTab$1","clickToDismiss","tabClass","parts$1","Tabbar","factory$2","tabbarBehaviours","selectedClass","Tabview","factory$1","tabviewBehaviours","barPart","tabs","viewPart","TabSection","changeTabBy","section","byPred","tabSectionBehaviours","selectFirst","tabValue","tabview","tabWithValue","tabData","onChangeTab","onDismissTab","getViewItems","showTab","tabKey","setTabviewHeight","updateTabviewHeight","dialogBody","maxTabHeight","tablist","getMaxTabviewHeight","documentElement$1","tabviewHeight","currentTabHeight","dialogTopMargin","dialogBottomMargin","getTabview","smartMode","allTabs","extraEvents","tabviewComp","heights","measureHeights","_tab","maxTabHeightOpt","getMaxHeight","oldHeight","newHeight","SendDataToSectionChannel","SendDataToViewChannel","renderTabPanel","storedValue","updateDataWithForm","validData","setDataOnForm","oldTab","tabMode","_viewItems","oldName","tsection","renderBody","dialogId","contentId","ariaAttrs","incoming","isTabPanel","hiddenHeader","pClose","pUntitled","pBodyMessage","pFooter","footer","pFooterGroup","startButtons","renderDialog$1","dialogClass","blockerBackdropClass","scrollLockClass","extraStyles","dialogEvents","renderClose","renderTitle","titleId","renderDragHandle","renderModalHeader","pTitle","pHandle","draghandle","draggable","getEventExtras","lazyDialog","closeWindow","blockEvent","fullscreenClass","largeDialogClass","mediumDialogClass","getDialogSizeClass","updateDialogSizeClass","dialogSizeClass","toggleFullscreen","currentSize","currentSizeClass","toggle$3","renderModalDialog","mapMenuButtons","menuItemStates","mapItems","extractCellsToObject","innerAcc","initCommonEvents","fireApiEvent","_event","initDialog","getInstanceApi","withSpec","currentDialogInit","onTabChange","newTabName","oldTabName","footerButtons","buttonGroups","makeGroup","renderFooter","initSpec","makeButton","lookupByName","buttonName","renderModalFooter","getCompByName","getFormWrapper","footerState","getDialogApi","doRedial","withRoot","instanceApi","valueComp","representedValues","menuItemCurrentState","prevData","mergedData","newInternalData","validateData$1","dialogState","tabSection","getId","dialogInit","storedMenuButtons","renderDialog","dialogSize","dialogSizeClasses","renderModalBody","bodySpec","objOfCells","modalAccess","getForm","outerForm","toggleFullscreen$1","renderInlineDialog","refreshDocking","dialogLabelId","dialogContentId","memHeader","renderInlineHeader","memBody","renderInlineBody","storagedMenuButtons","optMemFooter","renderInlineFooter","memFooter","global","SUPPORTED_MESSAGE_ACTIONS","isSupportedMessage","mceAction","renderUrlDialog","renderIframeBody","initUrlDialog","currentDialog","iframeUri","iframeDomain","messageHandlerUnbinder","handleMessage","isCustomMessage","onMessage","iframeEle","iframeWin","postMessage","sendMessage","getUrlDialogApi","validateData","isAlertOrConfirmDialog","inlineAdditionalBehaviours","isStickyToolbar$1","alertDialog","memFooterClose","titleSpec","closeSpec","footerCloseButton","confirmDialog","memFooterYes","footerNo","footerYesButton","openModalUrlDialog","openModalDialog","internalInitialData","openInlineDialog","config$1","windowParams","inlineDialogComp","getInlineDialogBounds","openBottomInlineDialog","registerOptions","colorProcessor","colorColsProcessor","register$d","popupSinkBounds","_setup$","renderModeUI","windowMgr","renderResult","contentArea","win$1","closeCallback","notificationWrapper","thisNotification","notificationSpec","allNotifications","previousNotification","nodeAnchor","getRootComponent","getBackstage","resizeBy","after$1","TagBoundaries","universe","toEnd","freefallRtl$2","freefallRtl$1","copyAttributesTo","destination","accordionTag","accordionDetailsClass","accordionSummaryClass","accordionBodyWrapperClass","accordionBodyWrapperTag","isInSummary","isInsertAllowed","getSelectedDetails","insertBogus","createParagraph","normalizeSummary","accordion","createSummary","normalizeAccordion","normalizeContent","paragraph","insertAccordion","summaryText","bodyText","accordionSummaryHtml","accordionBodyHtml","detailsElm","summaryElm","des","toggleDetailsElement","shouldOpen","removeAccordion","insertAndSelectParagraphAfter","insertAdjacentElement","toggleAccordion","fireToggleAccordionEvent","toggleAllAccordions","accordions","fireToggleAllAccordionsEvent","getClassList","addClasses","classListSet","removeClasses","isAccordionDetailsNode","isAccordionBodyWrapperNode","getAccordionChildren","accordionNode","summaryNode","wrapperNode","otherNodes","padInputNode","setupEnterKeyInSummary","isAtDetailsStart","isDetailsSelected","normalizeDetails","_getAccordionChildren","hasSummaryNode","newSummaryNode","hasWrapperNode","newWrapperNode","otherNode","pNode","summaryClassRemoveSet","_getAccordionChildren2","applyListFormat","listName","getNumberStyles","getBulletStyles","isListNode","isTableCellNode","inList","isChildOfBody","setNodeChangeHandler","nodeChangeHandler","initialNode","updateButtonState","isWithinNonEditable","iconStyle","styleValueToText","listStyleType","getSelectedStyleType","listStyle","addControl","addListStylePosition","_ref40","_ref41","allowHtmlInNamedAnchor","namedAnchorSelector","isEmptyString","getIdFromAnchor","removeEmptyNamedAnchorsInSelection","getNamedAnchor","updateAnchor","anchorElement","createAnchor","currentId","insertAnchor","newId","isEmptyNamedAnchorNode","isNamedAnchorNode","onSetupEditable","unbindSelectorChanged","unbindEditableChanged","getAutoLinkPattern","getDefaultLinkTarget","getDefaultLinkProtocol","allowUnsafeLinkTarget","isTextNode","isBracketOrSpace","findChar","parseCurrentLine","autoLinkPattern","_freefallRtl","tempOffset","startSpot","hasProtocol","convertToLink","defaultLinkTarget","handleSpacebar","handleBracket","insertChar","evtChr","fireInsertCustomChar","getCharMap$1","getCharMapAppend","UserDefined","getCharsFromOption","charmap","getCharMap","extendCharMap","userCharMap","userCharMapAppend","userDefinedGroup","lowerCasePattern","charMatches","patternName","charMap","makeGroupItems","currentTab","updateFilter","_len33","_key33","dialogApi","scanAndSet","bridgeSpec","charGroup","changeData","charMapProcessor","_maxResults","_reject","autocompleteApi","CM_SETTINGS","lineWrapping","lineNumbers","foldGutter","gutter","matchBrackets","styleActiveLine","tabSize","CURSOR_MARKER_CODE","CUSTOM_EDITOR_ID","setupCodemirror","codeMirror","autoComplete","getAutocompleteConfig","completeAfter","showHint","completionActive","completeSingle","Pass","completeIfAfterLt","getCursor","getRange","Pos","completeIfInTag","tok","getTokenAt","isStringEdge","innerMode","matchTags","bothTags","keyMap","gutters","extraKeys","cmi","foldCode","screenReaderLabel","setCursor","setupResource","CodeMirror","_setupCodemirror","setupSourceEscape","focusableElements","escKeyMap","Esc","addKeyMap","tabKeyMap","removeKeyMap","focusableElement","getInputField","tableRows","addAccessKeyInfoPanel","markCursorPosition","somethingSelected","moveCursorIfInEntity","moveCursorIfInTag","getViewport","findMatchingTag","hit","moveCursorIfInIframe","findEnclosingTag","openingTagCursorLocation","curLine","getLine","addCursorMarker","checkLineBoundary","charPos","_ref42","getModeAt","tinyCursor","replaceSelection","CustomEditor","isDarkTheme","addCursorMarkers","bookmarkNode","isBody","cursorElement","createCursorPosition","contentProcessor","markedContent","cursorMarker","getContentWithMarkers","lineIdx","cursorIndex","getCursorPosition","submitHandler","_ref43","Dialog","helpers","processContent","collectSettings","_helpers$processConte","codeview","cmSettings","makeDialog","prismjs","oldprism","Prism","_self","plainTextGrammar","disableWorkerMessageHandler","tokens","Token","alias","objId","deepClone","visited","setLanguage","defaultActivation","plain","redef","grammar","newToken","DFS","propertyType","highlightAll","highlightAllUnder","highlightElement","insertHighlightedCode","highlightedCode","Worker","onmessage","immediateClose","tokenList","LinkedList","addAfter","matchGrammar","matchedStr","matchPattern","lookbehind","lookbehindLength","rematch","cause","patternObj","greedy","reach","removeCount","matchStr","removeFrom","removeRange","nestedRematch","aliases","highlightAutomaticallyCallback","defer","WorkerGlobalScope","clike","defineProperties","buildPlaceholders","placeholderPattern","replaceFilter","tokenStack","markup","tokenizePlaceholders","walkTokens","keyword","modName","cpp","depthLog2","keywordKinds","keywordsToPattern","typeDeclarationKeywords","keywords","nonTypeKeywords","nonContextualKeywords","generic","nestedRound","genericName","identifier","typeExpressionWithoutTuple","tupleElement","typeExpression","typeInside","character","regularString","verbatimString","csharp","regularStringOrCharacter","regularStringCharacterOrComment","roundExpression","attrTarget","formatString","mInterpolationRound","mInterpolation","sInterpolationRound","sInterpolation","createInterpolationInside","interpolation","interpolationRound","dotnet","addInlined","addAttribute","classNamePrefix","java","function","namespace","javascript","includedCdataInside","mathml","ssml","atom","rss","operator","punctuation","php","string_interpolation","python","ruby","percentExpression","symbolName","getLanguages$1","useGlobalPrismJS","isCodeSample","getSelectedCodeSample","customLanguages","getLanguages","defaultLanguage","currentLanguage","getCurrentLanguage","getCurrentCode","insertCodeSample","newPre","onChanged","pres","unprocessedCodeSamples","isCodeSampleSelection","children$2","getParentElement","setDirOnElements","blockElement","isBlockElementListItem","normalizedBlock","getNormalizedBlock","listItems","listItem","setDir","getNodeChangeHandler","getEmojiDatabase","getEmojiDatabaseUrl","getEmojiDatabaseId","getAppendedEmoji","getEmojiImageUrl","ALL_CATEGORY","categoryNameMap","symbols","people","animals_and_nature","food_and_drink","activity","travel_and_places","user","translateCategory","categories","getUserDefinedEmoji","userDefinedEmoticons","category","initDatabase","databaseUrl","databaseId","emojiImagesUrl","getEmoji","lib","emojis","userEmojis","cats","everything","processEmojis","listAll","hasLoaded","listCategories","numRetries","listCategory","emojiMatches","emoji","emojisFrom","reachedLimit","_len34","_key34","resultsField","getInitialState","actionData","insertEmoticon","_err","fitzpatrick_scale","grinning","grimacing","grin","joy","rofl","partying","smiley","smile","sweat_smile","laughing","innocent","wink","blush","slightly_smiling_face","upside_down_face","relaxed","yum","relieved","heart_eyes","smiling_face_with_three_hearts","kissing_heart","kissing","kissing_smiling_eyes","kissing_closed_eyes","stuck_out_tongue_winking_eye","zany","raised_eyebrow","monocle","stuck_out_tongue_closed_eyes","stuck_out_tongue","money_mouth_face","nerd_face","sunglasses","star_struck","clown_face","cowboy_hat_face","hugs","smirk","no_mouth","neutral_face","expressionless","unamused","roll_eyes","thinking","lying_face","hand_over_mouth","shushing","symbols_over_mouth","exploding_head","flushed","disappointed","worried","angry","rage","pensive","confused","slightly_frowning_face","frowning_face","persevere","confounded","tired_face","weary","pleading","triumph","open_mouth","scream","fearful","cold_sweat","hushed","frowning","anguished","cry","disappointed_relieved","drooling_face","sleepy","sweat","hot","cold","sob","dizzy_face","astonished","zipper_mouth_face","nauseated_face","sneezing_face","vomiting","mask","face_with_thermometer","face_with_head_bandage","woozy","sleeping","zzz","poop","smiling_imp","imp","japanese_ogre","japanese_goblin","skull","alien","robot","smiley_cat","smile_cat","joy_cat","heart_eyes_cat","smirk_cat","kissing_cat","scream_cat","crying_cat_face","pouting_cat","palms_up","raised_hands","clap","wave","call_me_hand","facepunch","fist","fist_left","fist_right","ok_hand","raised_hand","raised_back_of_hand","open_hands","muscle","pray","foot","leg","handshake","point_up","point_up_2","point_down","point_left","point_right","raised_hand_with_fingers_splayed","love_you","metal","crossed_fingers","vulcan_salute","writing_hand","selfie","nail_care","lips","tooth","tongue","ear","nose","eye","eyes","brain","bust_in_silhouette","busts_in_silhouette","speaking_head","baby","boy","girl","adult","man","woman","blonde_woman","blonde_man","bearded_person","older_adult","older_man","older_woman","man_with_gua_pi_mao","woman_with_headscarf","woman_with_turban","man_with_turban","policewoman","policeman","construction_worker_woman","construction_worker_man","guardswoman","guardsman","female_detective","male_detective","woman_health_worker","man_health_worker","woman_farmer","man_farmer","woman_cook","man_cook","woman_student","man_student","woman_singer","man_singer","woman_teacher","man_teacher","woman_factory_worker","man_factory_worker","woman_technologist","man_technologist","woman_office_worker","man_office_worker","woman_mechanic","man_mechanic","woman_scientist","man_scientist","woman_artist","man_artist","woman_firefighter","man_firefighter","woman_pilot","man_pilot","woman_astronaut","man_astronaut","woman_judge","man_judge","woman_superhero","man_superhero","woman_supervillain","man_supervillain","mrs_claus","santa","sorceress","wizard","woman_elf","man_elf","woman_vampire","man_vampire","woman_zombie","man_zombie","woman_genie","man_genie","mermaid","merman","woman_fairy","man_fairy","angel","pregnant_woman","breastfeeding","princess","prince","bride_with_veil","man_in_tuxedo","running_woman","running_man","walking_woman","walking_man","dancer","man_dancing","dancing_women","dancing_men","couple","two_men_holding_hands","two_women_holding_hands","bowing_woman","bowing_man","man_facepalming","woman_facepalming","woman_shrugging","man_shrugging","tipping_hand_woman","tipping_hand_man","no_good_woman","no_good_man","ok_woman","ok_man","raising_hand_woman","raising_hand_man","pouting_woman","pouting_man","frowning_woman","frowning_man","haircut_woman","haircut_man","massage_woman","massage_man","woman_in_steamy_room","man_in_steamy_room","couple_with_heart_woman_man","couple_with_heart_woman_woman","couple_with_heart_man_man","couplekiss_man_woman","couplekiss_woman_woman","couplekiss_man_man","family_man_woman_boy","family_man_woman_girl","family_man_woman_girl_boy","family_man_woman_boy_boy","family_man_woman_girl_girl","family_woman_woman_boy","family_woman_woman_girl","family_woman_woman_girl_boy","family_woman_woman_boy_boy","family_woman_woman_girl_girl","family_man_man_boy","family_man_man_girl","family_man_man_girl_boy","family_man_man_boy_boy","family_man_man_girl_girl","family_woman_boy","family_woman_girl","family_woman_girl_boy","family_woman_boy_boy","family_woman_girl_girl","family_man_boy","family_man_girl","family_man_girl_boy","family_man_boy_boy","family_man_girl_girl","yarn","thread","coat","labcoat","womans_clothes","tshirt","jeans","necktie","dress","bikini","kimono","lipstick","kiss","footprints","flat_shoe","high_heel","sandal","boot","mans_shoe","athletic_shoe","hiking_boot","socks","gloves","scarf","womans_hat","tophat","billed_hat","rescue_worker_helmet","mortar_board","crown","school_satchel","luggage","pouch","purse","handbag","briefcase","eyeglasses","dark_sunglasses","goggles","ring","closed_umbrella","dog","hamster","rabbit","fox_face","bear","panda_face","koala","tiger","lion","cow","pig","pig_nose","frog","squid","octopus","shrimp","monkey_face","gorilla","see_no_evil","hear_no_evil","speak_no_evil","monkey","chicken","penguin","bird","baby_chick","hatching_chick","hatched_chick","duck","eagle","owl","bat","wolf","boar","horse","unicorn","honeybee","bug","butterfly","snail","beetle","ant","grasshopper","spider","scorpion","crab","lizard","sauropod","turtle","tropical_fish","fish","blowfish","dolphin","shark","whale","whale2","crocodile","leopard","zebra","tiger2","water_buffalo","cow2","deer","dromedary_camel","camel","giraffe","elephant","rhinoceros","goat","ram","sheep","racehorse","pig2","rat","mouse2","rooster","turkey","dove","dog2","poodle","cat2","rabbit2","chipmunk","hedgehog","raccoon","llama","hippopotamus","kangaroo","badger","swan","peacock","parrot","lobster","mosquito","paw_prints","dragon","dragon_face","cactus","christmas_tree","evergreen_tree","deciduous_tree","palm_tree","seedling","herb","shamrock","four_leaf_clover","bamboo","tanabata_tree","leaves","fallen_leaf","maple_leaf","ear_of_rice","hibiscus","sunflower","rose","wilted_flower","tulip","blossom","cherry_blossom","bouquet","mushroom","chestnut","jack_o_lantern","spider_web","earth_americas","earth_africa","earth_asia","full_moon","waning_gibbous_moon","last_quarter_moon","waning_crescent_moon","new_moon","waxing_crescent_moon","first_quarter_moon","waxing_gibbous_moon","new_moon_with_face","full_moon_with_face","first_quarter_moon_with_face","last_quarter_moon_with_face","sun_with_face","crescent_moon","star","star2","dizzy","sparkles","comet","sunny","sun_behind_small_cloud","partly_sunny","sun_behind_large_cloud","sun_behind_rain_cloud","cloud","cloud_with_rain","cloud_with_lightning_and_rain","cloud_with_lightning","zap","boom","snowflake","cloud_with_snow","snowman","snowman_with_snow","wind_face","dash","tornado","fog","open_umbrella","umbrella","droplet","sweat_drops","ocean","green_apple","apple","pear","tangerine","lemon","banana","watermelon","grapes","strawberry","melon","cherries","peach","pineapple","coconut","kiwi_fruit","mango","avocado","broccoli","tomato","eggplant","cucumber","carrot","hot_pepper","potato","corn","leafy_greens","sweet_potato","peanuts","honey_pot","croissant","bread","baguette_bread","bagel","pretzel","cheese","egg","bacon","steak","pancakes","poultry_leg","meat_on_bone","bone","fried_shrimp","fried_egg","hamburger","fries","stuffed_flatbread","hotdog","pizza","sandwich","canned_food","spaghetti","taco","burrito","green_salad","shallow_pan_of_food","ramen","stew","fish_cake","fortune_cookie","sushi","bento","rice_ball","rice","rice_cracker","oden","dango","shaved_ice","ice_cream","icecream","pie","cake","cupcake","moon_cake","birthday","custard","candy","lollipop","chocolate_bar","popcorn","dumpling","doughnut","cookie","milk_glass","beer","beers","clinking_glasses","wine_glass","tumbler_glass","cocktail","tropical_drink","champagne","sake","tea","cup_with_straw","coffee","baby_bottle","salt","spoon","fork_and_knife","plate_with_cutlery","bowl_with_spoon","takeout_box","chopsticks","soccer","basketball","football","baseball","softball","tennis","volleyball","rugby_football","flying_disc","golf","golfing_woman","golfing_man","ping_pong","badminton","goal_net","ice_hockey","field_hockey","lacrosse","cricket","ski","skier","snowboarder","person_fencing","women_wrestling","men_wrestling","woman_cartwheeling","man_cartwheeling","woman_playing_handball","man_playing_handball","ice_skate","curling_stone","skateboard","sled","bow_and_arrow","fishing_pole_and_fish","boxing_glove","martial_arts_uniform","rowing_woman","rowing_man","climbing_woman","climbing_man","swimming_woman","swimming_man","woman_playing_water_polo","man_playing_water_polo","woman_in_lotus_position","man_in_lotus_position","surfing_woman","surfing_man","bath","basketball_woman","basketball_man","weight_lifting_woman","weight_lifting_man","biking_woman","biking_man","mountain_biking_woman","mountain_biking_man","horse_racing","business_suit_levitating","trophy","running_shirt_with_sash","medal_sports","medal_military","reminder_ribbon","rosette","ticket","tickets","performing_arts","art","circus_tent","woman_juggling","man_juggling","microphone","headphones","musical_score","musical_keyboard","drum","saxophone","trumpet","guitar","violin","clapper","video_game","space_invader","dart","game_die","chess_pawn","slot_machine","jigsaw","bowling","red_car","taxi","blue_car","bus","trolleybus","racing_car","police_car","ambulance","fire_engine","minibus","truck","articulated_lorry","tractor","kick_scooter","motorcycle","bike","motor_scooter","rotating_light","oncoming_police_car","oncoming_bus","oncoming_automobile","oncoming_taxi","aerial_tramway","mountain_cableway","suspension_railway","railway_car","train","monorail","bullettrain_side","bullettrain_front","light_rail","mountain_railway","steam_locomotive","train2","metro","tram","station","flying_saucer","helicopter","small_airplane","airplane","flight_departure","flight_arrival","sailboat","motor_boat","speedboat","ferry","passenger_ship","rocket","artificial_satellite","seat","canoe","construction","fuelpump","busstop","vertical_traffic_light","traffic_light","checkered_flag","ship","ferris_wheel","roller_coaster","carousel_horse","building_construction","foggy","tokyo_tower","fountain","rice_scene","mountain","mountain_snow","mount_fuji","volcano","japan","camping","tent","national_park","motorway","railway_track","sunrise","sunrise_over_mountains","desert","beach_umbrella","desert_island","city_sunrise","city_sunset","cityscape","night_with_stars","bridge_at_night","milky_way","stars","sparkler","fireworks","rainbow","houses","european_castle","japanese_castle","stadium","statue_of_liberty","house","house_with_garden","derelict_house","office","department_store","post_office","european_post_office","hospital","bank","hotel","convenience_store","school","love_hotel","wedding","classical_building","church","mosque","synagogue","kaaba","shinto_shrine","watch","iphone","calling","computer","keyboard","desktop_computer","printer","computer_mouse","trackball","joystick","minidisc","floppy_disk","dvd","vhs","camera","camera_flash","video_camera","movie_camera","film_projector","film_strip","telephone_receiver","phone","pager","fax","radio","studio_microphone","level_slider","control_knobs","compass","stopwatch","timer_clock","alarm_clock","mantelpiece_clock","hourglass_flowing_sand","hourglass","satellite","battery","electric_plug","bulb","flashlight","candle","fire_extinguisher","wastebasket","oil_drum","money_with_wings","dollar","yen","euro","pound","moneybag","credit_card","gem","balance_scale","toolbox","wrench","hammer","hammer_and_pick","hammer_and_wrench","pick","nut_and_bolt","gear","brick","chains","magnet","gun","bomb","firecracker","hocho","dagger","crossed_swords","shield","smoking","skull_and_crossbones","coffin","funeral_urn","amphora","crystal_ball","prayer_beads","nazar_amulet","barber","alembic","telescope","microscope","hole","pill","syringe","dna","microbe","petri_dish","test_tube","thermometer","broom","basket","toilet_paper","toilet","shower","bathtub","soap","sponge","lotion_bottle","old_key","couch_and_lamp","sleeping_bed","bed","door","bellhop_bell","teddy_bear","framed_picture","world_map","parasol_on_ground","moyai","shopping","shopping_cart","balloon","ribbon","gift","confetti_ball","tada","dolls","wind_chime","crossed_flags","izakaya_lantern","red_envelope","email","envelope_with_arrow","incoming_envelope","love_letter","postbox","mailbox_closed","mailbox","mailbox_with_mail","mailbox_with_no_mail","package","postal_horn","inbox_tray","outbox_tray","page_with_curl","bookmark_tabs","receipt","bar_chart","chart_with_upwards_trend","chart_with_downwards_trend","page_facing_up","date","calendar","spiral_calendar","card_index","card_file_box","ballot_box","file_cabinet","clipboard","spiral_notepad","file_folder","open_file_folder","card_index_dividers","newspaper_roll","newspaper","notebook","closed_book","green_book","blue_book","orange_book","notebook_with_decorative_cover","ledger","books","open_book","safety_pin","paperclip","paperclips","scissors","triangular_ruler","straight_ruler","abacus","pushpin","round_pushpin","triangular_flag_on_post","white_flag","black_flag","rainbow_flag","closed_lock_with_key","unlock","lock_with_ink_pen","pen","fountain_pen","black_nib","memo","pencil2","crayon","paintbrush","mag","mag_right","heart","orange_heart","yellow_heart","green_heart","blue_heart","purple_heart","black_heart","broken_heart","heavy_heart_exclamation","two_hearts","revolving_hearts","heartbeat","heartpulse","sparkling_heart","cupid","gift_heart","heart_decoration","peace_symbol","latin_cross","star_and_crescent","wheel_of_dharma","star_of_david","six_pointed_star","menorah","yin_yang","orthodox_cross","place_of_worship","ophiuchus","aries","taurus","gemini","cancer","leo","virgo","libra","scorpius","sagittarius","capricorn","aquarius","pisces","atom_symbol","u7a7a","u5272","radioactive","biohazard","mobile_phone_off","vibration_mode","u6709","u7121","u7533","u55b6","u6708","eight_pointed_black_star","white_flower","ideograph_advantage","secret","congratulations","u5408","u6e80","u7981","sos","no_entry","name_badge","no_entry_sign","stop_sign","anger","hotsprings","no_pedestrians","do_not_litter","no_bicycles","underage","no_mobile_phones","exclamation","grey_exclamation","question","grey_question","bangbang","interrobang","low_brightness","high_brightness","trident","fleur_de_lis","part_alternation_mark","children_crossing","beginner","recycle","u6307","chart","sparkle","eight_spoked_asterisk","negative_squared_cross_mark","white_check_mark","diamond_shape_with_a_dot_inside","cyclone","loop","globe_with_meridians","atm","passport_control","customs","baggage_claim","left_luggage","wheelchair","no_smoking","parking","potable_water","mens","womens","baby_symbol","restroom","put_litter_in_its_place","cinema","signal_strength","koko","cool","new","free","zero","two","three","four","five","six","seven","eight","nine","keycap_ten","asterisk","eject_button","arrow_forward","pause_button","next_track_button","stop_button","record_button","play_or_pause_button","previous_track_button","fast_forward","rewind","twisted_rightwards_arrows","repeat_one","arrow_backward","arrow_up_small","arrow_down_small","arrow_double_up","arrow_double_down","arrow_right","arrow_left","arrow_up","arrow_down","arrow_upper_right","arrow_lower_right","arrow_lower_left","arrow_upper_left","arrow_up_down","left_right_arrow","arrows_counterclockwise","arrow_right_hook","leftwards_arrow_with_hook","arrow_heading_up","arrow_heading_down","information_source","abcd","capital_abcd","musical_note","notes","wavy_dash","curly_loop","heavy_check_mark","arrows_clockwise","heavy_plus_sign","heavy_minus_sign","heavy_division_sign","heavy_multiplication_x","infinity","heavy_dollar_sign","currency_exchange","copyright","back","soon","ballot_box_with_check","radio_button","white_circle","black_circle","red_circle","large_blue_circle","small_orange_diamond","small_blue_diamond","large_orange_diamond","large_blue_diamond","small_red_triangle","black_small_square","white_small_square","black_large_square","white_large_square","small_red_triangle_down","black_medium_square","white_medium_square","black_medium_small_square","white_medium_small_square","black_square_button","white_square_button","speaker","sound","loud_sound","mute","mega","loudspeaker","bell","no_bell","black_joker","mahjong","spades","clubs","hearts","diamonds","flower_playing_cards","thought_balloon","right_anger_bubble","speech_balloon","left_speech_bubble","clock1","clock2","clock3","clock4","clock5","clock6","clock7","clock8","clock9","clock10","clock11","clock12","clock130","clock230","clock330","clock430","clock530","clock630","clock730","clock830","clock930","clock1030","clock1130","clock1230","afghanistan","aland_islands","albania","algeria","american_samoa","andorra","angola","anguilla","antarctica","antigua_barbuda","argentina","armenia","aruba","australia","austria","azerbaijan","bahamas","bahrain","bangladesh","barbados","belarus","belgium","belize","benin","bermuda","bhutan","bolivia","caribbean_netherlands","bosnia_herzegovina","botswana","brazil","british_indian_ocean_territory","british_virgin_islands","brunei","bulgaria","burkina_faso","burundi","cape_verde","cambodia","cameroon","canada","canary_islands","cayman_islands","central_african_republic","chad","chile","christmas_island","cocos_islands","colombia","comoros","congo_brazzaville","congo_kinshasa","cook_islands","costa_rica","croatia","cuba","curacao","cyprus","czech_republic","denmark","djibouti","dominica","dominican_republic","ecuador","egypt","el_salvador","equatorial_guinea","eritrea","estonia","ethiopia","falkland_islands","faroe_islands","fiji","finland","french_guiana","french_polynesia","french_southern_territories","gabon","gambia","georgia","ghana","gibraltar","greece","greenland","grenada","guadeloupe","guam","guatemala","guernsey","guinea","guinea_bissau","guyana","haiti","honduras","hong_kong","hungary","iceland","india","indonesia","iran","iraq","ireland","isle_of_man","israel","cote_divoire","jamaica","jersey","jordan","kazakhstan","kenya","kiribati","kosovo","kuwait","kyrgyzstan","laos","latvia","lebanon","lesotho","liberia","libya","liechtenstein","lithuania","luxembourg","macau","macedonia","madagascar","malawi","malaysia","maldives","mali","malta","marshall_islands","martinique","mauritania","mauritius","mayotte","mexico","micronesia","moldova","monaco","mongolia","montenegro","montserrat","morocco","mozambique","myanmar","namibia","nauru","nepal","netherlands","new_caledonia","new_zealand","nicaragua","niger","nigeria","niue","norfolk_island","northern_mariana_islands","north_korea","norway","oman","pakistan","palau","palestinian_territories","panama","papua_new_guinea","paraguay","peru","philippines","pitcairn_islands","poland","portugal","puerto_rico","qatar","reunion","romania","rwanda","st_barthelemy","st_helena","st_kitts_nevis","st_lucia","st_pierre_miquelon","st_vincent_grenadines","samoa","san_marino","sao_tome_principe","saudi_arabia","senegal","serbia","seychelles","sierra_leone","singapore","sint_maarten","slovakia","slovenia","solomon_islands","somalia","south_africa","south_georgia_south_sandwich_islands","south_sudan","sri_lanka","sudan","suriname","swaziland","sweden","switzerland","syria","taiwan","tajikistan","tanzania","thailand","timor_leste","togo","tokelau","tonga","trinidad_tobago","tunisia","turkmenistan","turks_caicos_islands","tuvalu","uganda","ukraine","united_arab_emirates","england","scotland","wales","us_virgin_islands","uruguay","uzbekistan","vanuatu","vatican_city","venezuela","vietnam","wallis_futuna","western_sahara","yemen","zambia","zimbabwe","united_nations","pirate_flag","_len35","_key35","Retrival","Application","ListSchema","SubstitutionSchema","InsertUnorderedList","InsertOrderedList","InsertDefinitionList","Table","Unspecified","formatpainter_checklist","formatpainter_liststyletype","formatpainter_borderstyle","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","formatpainter_bordercolor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","formatpainter_backgroundcolor","formatpainter_removeformat","formatpainter_legacy_font","substitutedVariables","fullscreenState","isFullscreen","_len37","_key37","_len38","_key38","siblings$2","_len36","_key36","_len40","_key40","fireFullscreenStateChanged","getFullscreenNative","getFullscreenRoot","isFullscreenElement","fullscreenElement","msFullscreenElement","webkitFullscreenElement","ancestors$1","siblings$1","ancestorPosition","ancestorStyles","clobberStyles","clobber","clobberStyle","backup","bgColor","matchColor","viewportUpdate","resizeBinder","scrollBinder","_len39","_key39","editorContainerS","sinkContainerS","fullscreenRoot","fullscreenInfo","editorContainerStyle","iframeStyle","handleClasses","clobberedEls","restoreStyles","fullscreenChangeHandler","sugarDoc","exitFullscreen","msExitFullscreen","webkitCancelFullScreen","iframeWidth","containerWidth","containerHeight","containerTop","containerLeft","sinkCssPosition","_evt","newFullScreenInfo","sugarElem","requestFullscreen","msRequestFullscreen","webkitRequestFullScreen","editorEventCallback","hasDimensions","hasAdvTab","hasUploadTab","getPrependUrl","hasDescription","hasImageTitle","hasImageCaption","getImageList","showAccessibilityOptions","parseIntAndGetMax","val1","val2","removePixelSuffix","addPixelSuffix","isPlaceholderImage","isSafeImageUrl","isDomSafe","getHspace","getVspace","marginTop","marginBottom","getBorder","hasCaption","updateAttrib","toggleCaption","figureElm","removeFigure","wrapInFigure","normalizeStyle","normalizeCss","setSize","setHspace","pxValue","setVspace","setBorder","setBorderStyle","getBorderStyle","isFigure","getIsDecorative","getAlt","getStyleValue","hspace","vspace","isDecorative","updateProp","oldData","setAlt","sugarImage","updateAlt","normalizeCss$1","mergedCss","splitMargin","mergeMargins","compressed","getSelectedImage","splitTextBlock","figure","insertImageAtCaret","insertedElm","fromLibrary","writeImageDataToSelection","syncSrcAttr","waitLoadImage","selectImage","insertOrUpdateImage","partialData","selectedImageData","sanitizedData","sanitizeImageData","deleteImage","sanitizeList","extractor","findEntryDelegate","isGroup","ListUtils","findEntry","optList","AdvTab","_info","urlListSanitizer","futureImageList","createImageList","imageList","hasAdvTab$1","hasUploadTab$1","hasUploadUrl$1","hasUploadUrl","hasUploadHandler$1","hasUploadHandler","readImageDataFromSelection","hasDescription$1","hasImageTitle$1","hasDimensions$1","hasImageCaption$1","hasAccessibilityOptions","automaticUploads","prependURL","preUrl","libraryTab","_ref44","_ref44$allowLibraryUp","allowLibraryUploads","_ref44$showLibraryTab","showLibraryTab","_ref44$libraryFilePic","libraryFilePicker","_ref44$labels","labels","tabName","getSnImageSettings","LibraryTab","_info$libraryTab","dropZone","makeItems","imageDescription","useColumns","MainTab","UploadTab","fromImageData","borderstyle","fileinput","libraryfile","toImageData","removeEmptyAlt","addPrependUrl","addPrependUrl2","srcURL","prependUrl","formFillFromMeta","formFillFromMeta2","changeSrc","calculateImageSize","imageSize","updateImagesDropdown","prevImage","changeLibraryFileHandler","dataUrl","createBlobCache","addToBlobCache","changeHandler","changeImages","prevAlt","changeFileInput","finalize","updateSrcAndSwitchTab","uploadImage","alertErr","actionHandler","successCallback","getEditor","closeHandler","makeDialogBody","finalData","getImageSize","createState","hasImageClass","toggleContentEditableState","toggleContentEditable","unbindEditable","getDateFormat","getTimeFormat","shouldInsertTimeElement","daysShort","daysLong","monthsShort","monthsLong","addZeros","getDateTime","getFullYear","getYear","getMonth","getDate","getHours","getMinutes","getSeconds","getDay","insertDateTime","userTime","computerTime","timeElm","newTimeElm","datetime","defaultFormat","getDefaultDateTime","makeMenuItemHandler","assumeExternalTargets","hasContextToolbar","getLinkList","getTargetList","getRelList","getLinkClassList","shouldShowLinkTitle","useQuickLink","sanitizeWith","extracter","ListOptions","createUi","isLink","getHref","collectNodesInRange","applyRelTargetRules","isUnsafe","rules","removeTargetRules","newRels","addTargetRules","getAnchorElement","getLinksInSelection","isImageFigure","isInAnchor","getAnchorText","anchorElm","trimCaretContainers","getLinks$1","hasLinks","isOnlyTextSelected","inlineTextElements","applyLinkOverrides","linkAttrs","newLinkAttrs","handleExternalTargets","linkDomMutation","attachState","getLinkAttrs","linkImageFigure","updateLink","unwrapOptions","sanitizeData","uriOptions","unlinkImageFigure","startAnchorElm","endAnchorElm","unlinkSelection","unlinkDomMutation","fig","isListGroup","findTextByValue","catalog","persistentText","hasPersistentText","DialogChanges","linkCatalog","persistentData","onUrlChange","getTitleFromUrlChange","onCatalogChange","catalogs","findCatalog","tryEmailTransform","tryProtocolTransform","defaultLinkProtocol","DialogConfirms","delayedConfirm","AnchorListOptions","anchorNodes","ClassListOptions","parseJson","LinkListOptions","linkList","optItems","RelOptions","getRels","isTargetBlank","safeRelExtractor","fallbacks","TargetOptions","nonEmptyAttr","DialogInfo","linkNode","extractFromAnchor","linkClass","titleEnabled","collectData","handleSubmit","getChangedValue","changedData","pData","titleText","getInitialData","defaultTarget","dialogDelta","_ref45","createEvent","appendClickRemove","getLink","getSelectedLink","gotoLink","gotoSelectedLink","toggler","toggleLinkState","toggleLinkMenuState","toggleGotoLinkState","hasExactlyOneLinkInSelection","toggleUnlinkState","hasLinks$1","updateEnabled","setupContextToolbars","onSetupLink","onlyText","getLinkText","collapseSelectionToEnd","setupButtons","setupMenuItems","setupContextMenu","hasOnlyAltModifier","setupGotoLinks","isTextNode$1","isOlUlNode","isOlNode","isListItemNode","isDlItemNode","isVoid","keepBookmarks","shouldIndentOnTab","contentNode","blockAttrs","hasContentNode","splitList","bookmarks","removeAndKeepBookmarks","isDescriptionDetail","isDescriptionTerm","outdentDlItem","indentDlItem","getNormalizedPoint","outRng","rangeStart","rangeEnd","listNames","listSelector","getParentList","getClosestListHost","getSelectedSubLists","isParentListSelected","findSubLists","getSelectedListItems","findParentListItemsNodes","listItemsElms","getClosestEditingHost","parentTableCell","isListHost","findLastParentListNode","parentLists","getSelectedListRoots","selectedLists","firstList","subsequentLists","getSelectedLists","getParentLists","isListInsideAnLiWithFirstAndLastNotListElement","getUniqueListRoots","lists","listRoots","isCustomList","fireListEvent","hasFirstChildList","isEntryList","isEntryComment","isIndented","depth","cloneItemContent","joinSegment","createSegment","writeShallow","cast","newCast","itemAttributes","appendItem","normalizeSegment","listAttributes","isEntryFragment","writeDeep","segments","createSegments","parentListType","appendSegments","joinSegments","populateSegments","composeList","firstCommentEntryOpt","firstCommentEntry","fistCast","normalizeEntries","closestSiblingEntry","cleanListProperties","matchingEntry","cloneListProperties","parseSingleItem","itemSelection","selectionState","currentItemEntry","createEntry","isInPreviousLi","childListEntries","parseList","parseItem","parsedSiblings","liChild","isFragment","composeEntries","groupBy","wasType","indentedComposer","normalizedEntries","outdentedComposer","listIndentation","entrySets","parseLists","sourceList","selectedListItems","getItemSelection","entrySet","indentSelectedEntries","indentEntry","composedLists","composedList","selectionIndentation","dlItems","getSelectedDlItems","isHandled","dlIndentation","handleIndentation","selectionIsWithinNonEditableList","indentListSelection","outdentListSelection","flattenListSelection","_len41","_key41","_len42","_key42","createBookmark","setupEndPoint","resolveBookmark","listToggleActionFromListName","updateListWithDetails","updateListStyle","updateListAttrs","getEndPointNode","findBetterContainer","findBlockAncestor","applyList","listItemName","getRootSearchStart","selectedTextBlocks","getSelectedTextBlocks","textBlocks","listBlock","hasCompatibleStyle","sib","sibStyle","detailStyle","mergeWithAdjacentLists","shouldMerge","list1","list2","isValidLists","hasSameListStyle","elm2","hasSameClasses","liSibling","updateList$1","newList","updateCustomList","hasListStyleDetail","toggleList","selectedSubLists","toggleMultipleLists","parentIsList","allLists","toggleSingleList","normalizeLists","normalizeList","findNextCaretContainer","nonEmptyBlocks","hasOnlyOneBlockChild","isUnwrappable","moveChildren","unwrapSingleBlockChild","mergeLiElements","listNode","nestedLists","mergeForward","fromLi","toLi","mergeIntoEmptyLi","backspaceDeleteFromListToListCaret","selectionStartElm","otherLi","willMergeParentIntoChild","mergeBackward","resolvedBookmark","oldParentElRef","backspaceDeleteIntoListCaret","findValidElement","findRoot","removeBlock","hasListSelection","parseAlphabeticBase26","charValue","composeAlphabeticBase26","parseDetail","currentList","isLowercase","deduceListType","parseStartValue","queryListCommandState","registerDialog","updateList","nodeBuffer","wrapInvalidChildren","insertListItem","restBuffer","reducer","setupTabKey","setupToggleButtonHandler","setupMenuButtonHandler","listProperties","getAudioTemplateCallback","getVideoTemplateCallback","getIframeTemplateCallback","hasLiveEmbeds","shouldFilterHtml","getUrlResolver","hasAltSource","hasPoster","getSnMediaSettings","snSettings","_ref46","media","_ref46$allowLibrarySe","allowLibrarySearch","_ref46$attachmentList","attachmentList","_ref46$showLocalsTab","showLocalsTab","_ref46$libraryFilePic","_ref46$labels","mediaUploadHandler","typeAttachment","typeLibrary","waitOpen","trimPx","getEphoxEmbedData","altsource","poster","htmlToData","guess","fileEnd","mp3","m4a","wav","mp4","webm","ogg","swf","Parser","addPx","updateEphoxEmbed","updateHtml","updateAll","numSources","sourceCount","urlPatterns","allowFullscreen","getUrl","protocolMatches","getProtocol","newUrl","dataToHtml","dataIn","sourcemime","altsourcemime","allowfullscreen","audioTemplateCallback","videoTemplateCallback","iframeTemplateCallback","getFlashHtml","getAudioHtml","getVideoHtml","isMediaElement","loadedData","getEmbedHtml","embedHandler","embedPromise","rej","wrappedResolve","defaultPromise","_ref48","makeTab","_ref49","onListLoaded","localsTabSourceType","callLoaded","attachConfig","attachmentItems","LocalsTab","handleSourceUpdate","_ref47","handleBrowseLibrary","sourceInput","metaData","extractMeta","mainData","getFromData","getFromMetaData","getNonEmptyValue","errorMessage","addEmbedHtml","snippetData","handleInsert","beforeObjects","selectPlaceholder","afterObjects","isEmbedIframe","mediaDataType","shouldInsertAsNewIframe","hasDimensionsChanged","submitForm","showDialog","editorData","snippet","getDimensionsOfElement","getEditorData","handleSource","serviceData","sizeInput","generalTab","embedTab","advancedFormItems","advancedTab","snMediaSettings","attachmentsLoaded","dataFromEmbed","handleEmbed","handleUpdate","attachments","firstItem","getSrc","setSrc","sourceEl","VideoScanner","videos","getAllVideos","videoSrc","videoInfo","videoToBlobInfo","Rtc","videoScanner","replaceVideoUrl","replaceVideoUriInView","uploadVideos","scanForVideos","videosToRemove","_videoInfo$index","grandParentOpt","vid","isLiveEmbedNode","setDimensions","previewNode","useDefaults","defaultWidth","fallbackHeight","defaultHeight","createPlaceholderNode","placeHolder","retainAttributesAndInnerHtml","createPreviewNode","previewWrapper","frameborder","sanitizedHtml","appendNodeContent","shimNode","sourceNode","isPageEmbedWrapper","nodeClass","isWithinEmbedWrapper","parseAndSanitize","getEditorOption","boolAttrs","placeHolderConverter","realElmName","realElm","showDialog$1","getKeyboardSpaces","wrapNbsps","stringRepeat","repeats","insertNbsp","visualchars","isVisualCharsEnabled","spaces","getSeparatorHtml","shouldSplitBlock","pageBreakClass","getPlaceholderHtml","separatorHtml","shouldSplitBlock$1","pageBreakSeparatorRegExp","headHtml","cors","preventClicksOnLinksScript","dirAttr","getPreviewHtml","showBottomBorder","toggleClasses","handleOnClick","adjustHeightToContent","configuredHeight","bodyScrollHeight","bodyOffsetHeight","contentHeight","calculateContentHeight","min_height","max_height","addClickEventListener","setDimmensions","removeClickEventListener","_ref50","punctuation$1","isSimpleBoundary","walkerFn","collectTextToBoundary","isContentEditableTrueInCef","fOffset","sOffset","skipStart","finishSection","collectRangeSections","ceTrueNode","documentPositionPreceding","DOCUMENT_POSITION_PRECEDING","fromRng","fromNode","nodePositions","matchIdx","matchId","matchedText","matchIndex","matchStart","matchFinish","replacementNode","findAndMarkInSelection","textSections","fromNodes","getElmIndex","markAllMatches","currentSearchState","inSelection","findAndMark","findSpansByIndex","spans","searchState","testIndex","matchCase","wholeWord","escapedText","escapeSearchText","wordRegex","isForwardSelection","isMatchSpan","currentIndex","currentMatchIndex","nextIndex","keepEditorSelection","selectedText","updateButtonStates","hasPrev","disableAll","toggleNotFoundAlert","getDialogSpec","focusButtonIfRequired","doFind","findtext","matchcase","wholewords","inselection","replacetext","getPanelItems","showNoMatchesAlertBanner","updateSearchState","currentState","next$1","prev$1","replace$1","_len43","_key43","_len44","_key44","hoistEl","skinLoaded","createHoistElement","getParam","skinName","moveSink","hoistSink","restoreSink","dismissPopups$1","hostMap","editorMap","scrollHandler","debounce","debounced","_len45","_key45","later","_ref52","_ref53","scrollListener","_event$composedPath","getPopupButtons","addPopupButtonClickListeners","getHostsFromAncestors","addOutsideScrollListener","findListener","ELEMENT_NODE","CustomEvent","hosts","editorSet","setupHoist","addPopupButtonClickListenersOnNodeChange","oldOpen","oldAlert","oldConfirm","_len46","_key46","addWindowHandlers","_ref51","areNotificationsOpen","fullscreen","isFullScreen","hoistNotificationsOnFullScreen","removeHoist","removeOutsideScrollListener","_len47","_key47","_len48","_key48","flatten$1","children$3","child$3","getIsRoot","addPxSuffix","getSelectionStart","isInEditableContext","getAttrValue","firstLayer","validSectionList","rowdetail","columnGroups","fromRowsOrColGroups","columnGroup","cells$1","getParentSection","isValidSection","getLockedColumnsFromTable","lockedColStr","lockedCols","filterItems","warehouse","lockedColumns","rowData","maxRows","maxColumns","rowCount","_partition","colgroupRows","currentRow","rowCell","isLocked","extended","occupiedColumnPosition","occupiedRowPosition","columnPosition","newpos","_last$map$getOrThunk","columnsGroup","columnext","generateColumns","colgroup$1","colgroup","colgroups","grid$1","Warehouse","rows$1","fromTable$1","getAt","findItem","getColumnAt","getTDTHOverallStyle","firstChildStyle","currentStyle","setAlign","fireTableModified","toNumber","getCalculatedWidth","calcContentBoxSize","upper","lower","defaultCellBorderWidths","defaultCellBorderStyles","getPixelForcedWidth","getTableSizingMode","getTableBorderWidths","getTableBorderStyles","hasAdvancedCellTab","hasAdvancedRowTab","hasAdvancedTableTab","hasAppearanceOptions","hasTableGrid","shouldStyleWithCss","getCellClassList","getRowClassList","getTableClassList","getTableBackgroundColorMap","getTableBorderColorMap","isPixelsForced","isResponsiveForced","getDefaultStyles","defaultStyles","determineDefaultStyles","getDefaultAttributes","defaultAttributes","determineDefaultAttributes","isWithin","finishCol","finishRow","getAnyBox","startCoords","finishCoords","detailA","detailB","getBox$1","isRectangular","isRect","detailIsWithin","getWarehouse","unsafeOne","look","commonElement","sharedOne$1","oneAll","getEdges","firstSelectedSelector","lastSelectedSelector","_universe","sharedOne","retrieve","retrieve$1","sels","retrieveBox","sectionSelector","firstAncestor","lastAncestor","strSelected","strFirstSelected","strLastSelected","ephemera","selectedSelector","firstSelected","lastSelected","getSelectionFromSelector","initCell","cellName","getSelectionCellOrCaption","getSelectionCell","getCellsFromSelection","getRowsFromSelection","rowsOpt","verticalAlignValues","onSetupToggle","formatValue","boundCallback","checkNode","buildListItems","buildMenuItems","applyTableCellStyle","filterNoneItem","generateMenuItemsCallback","buildColorMenu","colorList","changeRowHeader","newType","changeColumnHeader","getItems$2","getClassList$1","getAdvancedTab","dialogName","advTabItems","DomModifier","setFormat","isHeaderCell","getRowHeaderType","isHeaderRow","isHeaderCells","findCommonCellType","headerCells","findCommonRowType","rowTypes","subType","getRowType$1","hasHeader","hasFooter","hasBody","findInWarehouse","extractCells","cell$1","onCells","allUnlocked","isUnlockedTableCell","onUnlockedMergable","onMergable","_warehouse","mergable","mergeable","onUnlockedUnmergable","onUnmergable","unmergable","_len50","_key50","_len51","_key51","only","getRowsType","opGetRowsType","lastSelectedCell","minRowRange","maxRowRange","selectedRows","extractAdvancedStyles","borderwidth","bordercolor","backgroundcolor","getSharedValues","baseData","comparisonData","itemKey","comparisonValue","getAlignment","getHAlignment","getVAlignment","getRowType","allCells","cellA","cellB","applyStyleData$1","wasChanged","isSingleCell","cellElm","shouldOverrideCurrentValue","modifier","updateSimpleProps$1","colModifier","shouldUpdate","updateAdvancedProps$1","halign","setVAlign","onSubmitCellForm","applyCellData","modifiedData","styleModified","structureModified","applyStructureData$1","celltype","cellsData","extractDataFromCellElement","colElm","open$2","dialogTabPanel","dialogPanel","formChildren","getItems$1","applyStyleData","rowElm","updateSimpleProps","updateAdvancedProps","onSubmitRowForm","applyRowData","typeModified","applyStructureData","rowsData","extractDataFromRowElement","insertNewTable","rowColCountItems","appearanceItems","classListItem","styleTDTH","applyDataToElement","shouldApplyOnCell","shouldStyleWithCss$1","hasAdvancedTableTab$1","removePxSuffix","cellspacing","cellpadding","cellStyles","advData","onSubmitTableForm","cols","applicableCellProperties","captionElm","captionModified","extractDataFromSettings","hasAdvTableTab","advStyle","getCellPaddingCellSpacing","spacing","extractDataFromTableElement","optBorderWidth","generalPanel","mceTableProps","mceTableRowProps","mceTableCellProps","mceInsertTableDialog","runAction","hasSpan","getSelectionTargets","changeHandlers","isCaption","isDisabledForSelection","getSelectionEnd","startCellOrCaption","oot","noMenu","getExtractedDetails","onAny","onFirst","onLast","unmergeable","resetTargets","_len49","_key49","setupHandler","onSetupWithToggle","isDisabledFromLocked","lockedDisable","onSetupTableHeaders","headerType","onSetupTableRowHeaders","onSetupTableColumnHeaders","onSetupTable","onSetupCellOrRow","onSetupColumn","onSetupPasteable","getClipboardData","onSetupPasteableColumn","onSetupMergeable","_targets","onSetupUnmergeable","onSetupTableWithCaption","tableTypeBase","tableTypeRow","tableTypeColumn","getRows","getColumns","onSetupEditable$1","selectionTargets","addMenuItems","addMenuIfRegistered","addToggleMenuIfRegistered","insertTableAction","hasRowMenuItems","hasColumnMenuItems","hasCellMenuItems","tableClassList","tableCellClassList","addButtons","addButtonIfRegistered","addToggleButtonIfRegistered","isEditableTable","addToolbars","toggleVisualBlocks","enabledState","fireVisualBlocks","isEnabledByDefault","toggleActiveState","charMapToRegExp","regExp","regExpGlobal","charMapToSelector","nbspClass","wrapCharWithSpan","isWrappedNbsp","isMatch","filterEditableDescendants","isChildEditable","nodeList","withSpans","findParentElm","applyVisualChars","fireVisualChars","toggleVisualChars","debouncedToggle","_len52","_key52","enabledStated","regExps","characterIndices","SETS$1","PUNCTUATION$1","SETS","OTHER","setsLength","isWordBoundary","nextType","nextNextType","prevType","WHITESPACE","PUNCTUATION","isProtocol","findUrlEnd","findWordEnd","getWordsWithIndices","includeWhitespace","includePunctuation","extractedChars","findWordsWithIndices","sChars","characterMap","indices","startOfWord","endOfWord","endOfUrl","memoized","memoize","classify","getWords","getWords$1","removeZwsp$1","treeWalker","strLen","countWords","removeZwsp","countCharacters","countCharactersWithoutSpaces","createBodyCounter","createSelectionCounter","createBodyWordCounter","getWordCount","getCharacterCountWithoutSpaces","getCharacterCount","updateCount","fireWordCountUpdate","charactersWithoutSpaces","debouncedUpdate","_len53","_key53","getCount","addAriaAndTooltipStatusBar","statusMessage","a11y","getStatusMessage","statusPath","addA11yFixes","dialogTitle","dialogElement","headingElement","replaceDialogHeader","menuBox","removeRoleListBox","dialogComboBox","removeRoleComboBox","NON_TOOLTIP_ELEMS","tinyMCEhoist","replaceTitle","drawTooltip","hoistContainer","createTooltipSink","tooltipSink","absoluteStyles","tooltipContainer","removeTooltip","currElem","handleChevronClick","attachToolTipForChevron","showTooltipTitle","isShowTooltipEnabled","resizeTimeout","addTooltipForTitle","hideTooltip","editorParent","setupTooltip","tooltipContent","editorContainerRect","editorHeaderRect","_len54","_key54","_len55","_key55","isPlaceholderShown","updatePlaceholderText","sn_settings","editorContent","_len57","_key57","_len58","_key58","DUtils","debounce$1","_len59","_key59","TEXT_NODE","mergeNodes","wholeText","Utils","_getScrollOrConstrain","scrollXParent","scrollYParent","_window$getComputedSt","isScrollableY","xParent","yParent","getScrollOrConstrainedParents","vpRect","xRect","yRect","stopEventAndExec","nodeChildren","cLength","textNodeSet","preloadMentions","searchTerm","cannotSeeRecordMessage","lowerCaseSearchTerm","pMentionsSearchedMatch","userName","userLastName","lastname","userMap","sys_id","secondary","record_is_visible","wait","_len60","_key60","getRequestHeaders","userToken","g_ck","requestHeaders","Headers","SNMentionService","resourceId","encodeURI","_ref56","users","_ref57","avatar","initials","getSnSettings","getMentionsConfig","_len56","_key56","SNAvatar","createAvatar","createContent","createContainer","ANNOUNCER_ATTR","timerMap","announce","getAnnouncerElement","prevTimer","HIDE_OFFSET","DEFAULT_MESSAGES","noMatches","SNMentionsList","messages","parentMentions","hoist","itemMap","selectFunc","mentionsContainer","offsetContainer","hoistRect","containerRect","_this$mentionsContain","popupWidth","popupHeight","viewportWidth","rightEdge","bottomEdge","newLeft","clearHighlightedItem","clearAnnouncement","shouldAnnounce","highlightedItem","scrollToView","userId","addMention","isLoading","clearItems","clearMessage","renderItems","renderMessage","hasText","hasItems","documentClickHandler","setupMessages","buildMentionsList","bindDocumentClickHandler","mentionsList","_ref58","getMentionsContainerElement","isChild","_ref59","displayName","getInitials","itemEl","preventAllEvents","renderItem","scrollElement","clippedOrHiddenBottom","BREAK_SPACE","DEFAULT_RELATIVE_POSITION","RELATIVE_POSITIONS","isBetween","SNMentions","_this","addedMentions","addedMentionsTracker","isCutPasteRunning","isCursorAtMention","hasFetchedExternally","escapePressed","keyPressed","isFullscreenTransitioning","setListeners","_getMentionsConfig$me","isInitialLoad","fetchedInitialMentions","updateValidElements","fetchData","_len61","_key61","appendMention","syncMentionsState","onKeyDown","onKeyUp","debouncedSyncMentionsState","filterTextFromMentions","setProperties","mentions","_mentions$minChars","_mentions$messages","resourceTable","resourceSysId","cannotSeeRecordMsg","setFetch","_ref60","_ref60$debounce","fetchFn","preloadedMentions","retrieveUsers","suggestions","mentionData","findLastMention","showMentionsList","dispatcherToMentionsList","mentionItem","_ref61$table","mentionsTag","sysid","styledParent","toReplace","textNodes","cursorNode","mentionIndex","afterText","isSpecialKey","hasMatches","cursorOffset","firstModifiedNode","lastModifiedNode","isTriggerDeleted","hasMentionTrigger","isMentionMutated","handleBackspaceOnMention","cursorPosition","getCursorPositionRelativeToNode","handleDeleteKey","isPartialMentionSelected","isCutCommand","setupMentionProtection","mentionPos","selectionRange","getTextAtCursor","mentionTerm","findSearchSpace","clonedRange","contentContainer","rangeRect","rangeGeomRect","absRangeRect","constraintRect","mentionsContainerRect","bestRelPos","mentionListRelPos","_ref62","bestFit","findBestFit","initialFilteredSuggestions","removeMention","currentText","replaceMention","atIndex","seenIds","mentionsDOMElements","textMatches","isMentionsDeleted","isMentionsAdded","presentMentions","deletedMentions","findDeletedMentions","findAddedMentions","newMentions","currentMentions","replaceAddedMention","mentionElement","mentionText","isAtMiddle","isSingleSelection","getConstrainRect","_getScrollOrConstrain2","_window$getComputedSt2","getResultListRelPos","stripTags","sanitized","searchUtils","isDeleteKey","isPrintableKey","getSearchSpace","cursorPos","textAtNode","currentToken","activeHotkey","hotkeyPos","TEXT_COMMANDS_TRIGGER","TEXT_COMMANDS_PREFIX","ACTION_TYPES","svgMap","_len63","_key63","_len64","_key64","getTextCommandsConfig","getRequestHeaders$1","invokeCommand","variables","method","statusText","now","textCommands","invokeAction","fetchTextCommands","leading","_len65","_key65","_len62","_key62","HotkeyResultsList","sysMessages","handleFullScreen","resultsContainer","showList","resultsContainerRect","getResultsContainerElement","clearHeader","setHeader","templateMessage","headingLabel","buildresultsList","resultsList","resultsHeader","_ref63","_ref64","displayContent","currentMap","_ref65","msgContainer","illustration","textContainer","subHead","SNHotkeys","_this2","hotkeyMap","_getTextCommandsConfi","recordTable","recordSysId","fieldType","commandFetcherVariables","sysId","triggerMessages","actionMessages","textCommandListHeader","textCommandsFetched","displayList","actionType","trailingDebounce","_ref66","_len66","_key66","_ref67","actionPayload","customEvent","recommended","payload","hotkeyRange","unsetHotkey","searchSpace","hotkey","highlightPrev","highlightNext","_ref68","replaceContent","_f","_g","_j","filteredTextCommands","commandName","hotkeyResults","commandId","SNPredictiveTextService","_ref69","nowId","additionalInfo","additional_info","apiUrl","model_output","DELETE_KEYS","ACCEPT_KEYS","SKIP_KEYS","SNPredictiveText","ghostNode","currentGhostText","debounceDelay","suppressNextPrediction","activeRequestId","updateSettings","predictive_text","resetGhostText","debounceTimer","commitGhostText","cancelPendingPrediction","isDelete","debounceFetchPrediction","removeGhostTextNode","cursorRng","fragmentRange","typed","prediction","fetchPrediction","fragmentInfo","getCurrentFragment","requestId","request","currentFragment","renderGhostText","remaining","getGhostText","_len68","_key68","_len69","_key69","range$1","after$5","firstChild$1","elementnew","isNew","rowcells","getBody$1","ancestors$3","ancestors$4","getRaw$2","hasColspan","cellOrCol","hasRowspan","getCssValue","columns$1","_len70","_key70","getRuntime$1","addCells","gridRow","existingCells","newCells","setCells","addCell","mutateCell","getCell","getCellElement","cellLength","extractGridDetails","cloneRow","cloneCell","LOCKED_COL_ATTR","getLockedColumnsFromGrid","lockedArr","_partition2","_last$2$map$getOrThun","fromTable","justCells","justColumns","hasColumns","isValidCell","rowsArr","decide","getBlock","getFallback","deduce","getRuntime","rowInfo","colInfo","rtlEdge","ltrEdge","getTop$1","findPositions","getInnerEdge","getOuterEdge","cellOption","lastLine","optElements","rPercentageBasedSizeRegex","rPixelBasedSizeRegex","isCol$2","getPercentSize","outerGetter","innerGetter","relativeParent","setPixelWidth","setPercentageWidth","normalizePixelSize","getTotalHeight","getHeightValue","getRawWidth$1","getPercentageWidth","getPixelWidth$1","setGenericWidth","getPercentTableWidth","percentageBasedSizeRegex","isCol$1","getRawW","getRawH","backups","getWidthFrom","columnCells","justCols","colFilter","supportsColWidths","isValidColumn","bindFrom","getDeduced","deduced","getPixelWidths","tableSize","minCellWidth","getHeightFrom","widthLookup","noneSize","pixelWidth","getWidths","getCellDelta","singleColumnWidth","setElementWidth","adjustTableWidth","isRelative","percentageSize","getFloatWidth","getPercentageWidths","cellWidth","_delta","pixelSize","TableSize","chooseSize","seenSelected","extract$1","replica","replicaHouse","replicaStats","findSelectedStats","totalColumns","minRow","minCol","maxRow","maxCol","endRow","endCol","statsStruct","unselectedCells","fillInGaps","stats","totalRows","widthDelta","getTableWidthDelta","colWidths","allColsWidth","selectedColsWidth","emptyRows","transferableAttributes","createCell","createCol","createColgroup","createRow$1","copy$2","cloneChildren","pasteReplace","cellOperations","formatsToClone","cloneCss","copy$1","sourceDom","targetDom","cloneFormats","oldCell","newCell","firstText","formatSelector","clonedFormat","cloneAppropriateAttributes","validAttributes","colGap","gap","paste$1","getTableCloneElements","getTableHeaderType","getTableColumnResizingBehaviour","isPreserveTableColumnResizing","isResizeTableColumnResizing","isTablePercentagesForced","isTablePixelsForced","isTableResponsiveForced","hasTableResizeBars","shouldMergeContentOnPaste","getTableDefaultAttributes","determineDefaultTableAttributes","getTableDefaultStyles","determineDefaultTableStyles","tableUseColumnGroup","removeDataStyle","removeStyleAttribute","getPixelWidth","getPixelHeight","isInEditableContext$1","leftEdge","topEdge","intercepts$1","parentCell","innerCell","isContainedBy","deltaColumn","intercepts","nestedIntercepts","firstTable","lastTable","optStartCell","optLastCell","DomUniverse","ps1","ps2","prune","ind","pruned1","pruned2","firstpath","secondpath","universe$3","rootTable","boxes","finishTable","ancestorCells","lca","lcaTable","finishAncestorCells","startAncestorCells","shiftSelection","expandTo","strSelectedSelector","strAttributeSelector","strFirstSelectedSelector","strLastSelectedSelector","attributeSelector","multiCellContext","extractSelected","serializeElements","getCellsFromFakeSelection","generators","pasteCells","scan$1","universe$2","halve","main","getGenericWidth","surround","sizes","clampDeltaHelper","minCellSize","clampNegativeDelta","clampDelta","resizeTable","calcRelativeDeltas","newThis","calcLeftEdgeDeltas","calcFixedDeltas","clampedDelta","resizer","clampTableDelta","calcMiddleDeltas","_prev","calcRightEdgeDeltas","calcRedestributedWidths","totalWidth","pixelDelta","newSizes","preserveTable","isLastColumn","maxDelta","_minCellSize","_totalWidth","_pixelDelta","_isRelative","getGridSize","transformCell","substitution","transformRow","fixedCell","mutate$1","sectionCells","TableSection","getTableSectionType","rowType","findTableRowHeaderType","setIfNot","syncRows","gridSection","syncColGroup","colGroup","renderSection","sectionName","generateSection","newSection","sectionElems","renderOrRemoveSection","removeSection","headSection","bodySection","footSection","columnGroupsSection","findDiff","subgrid","getRow","isColRow","getColumn","toDetails","seen","updateSeen","detailnew","rowdetailnew","toGrid","colgroupCols","rowCells","rowDetail","toDetailList","postAction","genWrappers","tableSection","fromWarehouse","newElements","tableSizing","sizing","resizing","onPasteByEditor","onUnlockedCells","unmerge","currentCell","isToReplace","splitRows","uniqueCells","measureWidth","gridA","gridB","rowDelta","colDelta","measureHeight","generateElements","generator","rowFill","exampleRow","colFill","tailor","fillCols","fillRows","gridWidth","isLastColLocked","modifiedCols","newLockedColumns","isSpanning","matching","getLockedColumnsWithinBounds","startAddress","colNum","validStartAddress","getValidStartAddress","currentStartAddress","gridColLength","adjustedRowAddress","possibleColAddresses","validColAddress","gridBRows","lockedColumnsWithinBounds","measure","rowRemainder","colRemainder","colRequired","rowRequired","fittedGrid","newLockedColumnsWithinBounds","mergeTables","lockedColumnObj","skippedCol","gridBColIndex","newCellElm","insertCols","splitCols","prevCell","fittedNewGrid","secondDelta","fittedOldGrid","insertRows","_extractGridDetails","oldCols","oldRows","newLocked","secondDiff","fittedGridB","lockedColFill","newChild","insertRowAt","example","_extractGridDetails2","insertColumnAt","withinSpan","getElementFor","isDuplicatedCell","notInStartRow","notInStartColumn","determineScope","applyScope","isInHeader","getScope","replaceIn","genScope","shouldReplace","mapCells","getColumnCells","replaceColumns","indexes","rowHeaders","shouldReplaceCell","columnReplacePredicate","targetColumn","_colIndex","scopeGenerator","columnScopeGenerator","replaceRows","_extractGridDetails4","targetRow","getRowCells","columnHeaders","_cell","newGrid","rowReplacerPredicate","_rowIndex","rowScopeGenerator","replaceCells","targetCells","_len71","_key71","_len72","_key72","ColumnContext","determine","neighbours","onMiddle","measures","recalculateHeightForCells","recalculate","widths","recalculateWidthForColumns","recalculateWidthForCells","recalculateAndApply","adjustWidth","clampedStep","newWidths","adjustHeight","getPixelHeights","newHeights","newCellSizes","newRowSizes","matchRowHeight","uniqueColumns","uniqueCheck","currentDetail","isCol","isColgroup","isRow$1","elementToData","getScopeAttribute","Generators","toData","nuCell","recent","getOrInit","makeNew","replaceOrInit","getScopeProperty","stringAttributes","baseScope","blockList","universe$1","isList$1","isEmptyTag$1","markCell","rightSiblingIsBlock","rightSibling","markContent","advancedBr","elementFromGrid","findEditableCursorPosition","uniqueRows","rowCompilation","makeRowsSection","initialGrid","rowIndexes","opMakeRowsHeader","opMakeRowsBody","opMakeRowsFooter","gridifyRows","pasteDetails","fromPastedRows","adjustWidthTo","_table","adjustAndRedistributeWidths","adjustAndRedistributeWidths$1","resizeBehaviour","tablePixelWidth","_resizeBehaviour$calc","firstColumnIsLocked","lastColumnIsLocked","getColumnsWidth","uniqueCols","insertColumnsExtractor","pasteColumnsExtractor","headerCellGenerator","bodyCellGenerator","insertRowsBefore","opInsertRowsBefore","targetIndex","insertRowsAfter","opInsertRowsAfter","newG","insertColumnsBefore","opInsertColumnsBefore","extractDetail","insertColumnsAfter","opInsertColumnsAfter","eraseColumns","opEraseColumns","_comparator","_genWrappers","deleteColumnsAt","maxColIndex","eraseColumnsExtractor","eraseRows","opEraseRows","deleteRowsAt","_extractGridDetails3","maxRowIndex","makeColumnsHeader","opMakeColumnsHeader","columnIndexes","unmakeColumnsHeader","opUnmakeColumnsHeader","makeRowsHeader","makeRowsBody","makeRowsFooter","makeCellsHeader","opMakeCellsHeader","unmakeCellsHeader","opUnmakeCellsHeader","mergeCells","opMergeCells","merge$2","unmergeCells","opUnmergeCells","unmerge$1","opPasteCells","gridify","pasteColsBefore","opPasteColsBefore","mergedGrid","pasteColsAfter","opPasteColsAfter","pasteRowsBefore","opPasteRowsBefore","pasteRowsAfter","opPasteRowsAfter","getColumnsType","opGetColumnsType","minColRange","maxColRange","selectedColumnCells","getCellsType","opGetCellsType","fireNewRow","fireNewCell","styleAndStructureModified","TableActions","cellSelectionHandler","isTableBody","colMutationOp","setSelectionFromAction","guard","noEvents","deleteRow","deleteColumn","getTableRowType","getTableCellType","getTableColType","constrainSpan","currentColspan","isColInRange","copyCols","fakeColGroups","generateColGroup","colsToCopy","copiedCols","clonedCol","fakeColgroup","fakeRows","generateRows","cellsToCopy","copiedCells","clonedCell","fakeTR","copyRows","slicedGrid","filteredGrid","slicedDetails","pixels","validateFor","rawAmount","Size","redistributeValues","newWidthType","redistributeToPx","newTotalWidth","_pc","redistributeToPercent","redistribute$1","floats","redistributeEmpty","roundDown","floored","getUnit","redistribute","optWidth","optHeight","widthUnit","oldWidths","getRawWidths","nuWidths","redistributeToColumns","redistributeToW","hUnit","totalHeight","oldHeights","getRawHeights","redistributeToH","isPercentSizing","isPixelSizing","isNoneSizing","cleanupLegacyAttributes","convertToPercentSize","convertToPixelSize","getPixelTableWidth","convertToNoneSize","rowElements","DefaultRenderOptions","colGroups","tableHeaderCell","tableCell","createGroupRow","createRows","createRow","placeCaretInCell","colHeaders","renderOpts","rowHeadersGoInThead","actualRowHeaders","theadRows","tbodyRows","isPercentage","fireEvents","selectFirstCellInTable","fakeClipboardItem","setRows","clearRows","setColumns","columnsOpt","clearColumns","getSelectionStartCellOrCaption","getTableFromCell","performActionOnSelection","getSelectionStartCell","postExecute","actOnSelection","copyRowSelection","copyColSelection","pasteOnSelection","clonedRows","pasteRows","actOnType","mceTableSplitCells","mceTableMergeCells","mceTableInsertRowBefore","mceTableInsertRowAfter","mceTableInsertColBefore","mceTableInsertColAfter","mceTableDeleteCol","mceTableDeleteRow","mceTableCutCol","mceTableCutRow","mceTableCopyCol","mceTableCopyRow","mceTablePasteColBefore","mceTablePasteColAfter","mceTablePasteRowBefore","mceTablePasteRowAfter","mceTableDelete","eraseTable","cellOrCaption","mceTableCellToggleClass","toggleTableCellClass","allHaveClass","formatterAction","mceTableToggleClass","toggleTableClass","mceTableToggleCaption","mceTableSizingMode","setSizingMode","mceTableCellType","mceTableColType","mceTableRowType","checkInput","headerRows","headerColumns","insertTable","getFormatName","validArgs","Response","selectNodeContentsUsing","Situs","convertToRange","makeSitus","selectRange","cellSel","backtrack","_direction","sidestep","advance","successors","succ","Walkers","left$1","right$1","hone","isLeaf","seekLeft$1","seekRight$1","failedUp","failedDown","isRow","BeforeAfter","verify","beforeOffset","afterOffset","afterCell","beforeCell","beforeBounds","afterBounds","_sharedRow","onSuccess","onFailedUp","onFailedDown","gatherer","cand","gather","handleParent","adjacent","inParent","indexInParent","tryBr","handleBr","toCaret","getElemBox","getBoxAt","getPartialBox","getRangedRect","getEntireBox","retry","inOutsideBlock","isOutside","downMovement","adjuster","adjustDown","guessBox","lowerCaret","adjustTil","isAtTable","adjustForTable","situsFromPoint","newCaret","moved","adjusted","checkScroll","getInnerHeight","scrollBy","Retries","tryUp","adjustUp","higherCaret","tryDown","getJumpSize","findSpot","brNeighbour","fromSitus","analysis","_message","tryCursor","situs","tryAgain","tryAt","inSameTable","simulate","precheck","firstUpCheck","seekLeft","lastOffset","lastDownCheck","seekRight","findCell","isKey","keycode","isUp","isDown","isNavigation","isBackward","doSetNativeRange","doSetRange","setRangeFromRelative","setLegacyRtlRange","setExact","setRelative","setToElement","WindowBridge","exactAdt","clearSelection","collapseSelection","setRelativeSelection","selectContents","getScrollY","MouseSelection","clearstate","clearBeforeUpdate","singleCell","isNonEditableCell","isCellClosestContentEditable","isEditableNode","isEditableSelection","clearToNavigate","realEvent","update$1","newSels","sync","SelectionAnnotation","byAttr","onSelection","onClear","removeSelectionAttributes","addSelectionAttribute","getOtherCells","getUpOrLeftCells","upGrid","upDetails","slicedCells","getDownOrRightCells","downGrid","downDetails","_len67","_key67","hasInternalTarget","TableCellSelectionHandler","cellSelection","Selections","lazyRoot","fireTableSelectionChange","fireTableSelectionClear","mouseHandlers","keyHandlers","handleResponse","isLeftMouse","doubleTap","getDoubleTap","lastTarget","lastTimeStamp","touchEnd","lTS","wrappedEvent","syncSelection","onMultiple","onSingle","_len73","_key73","typeDefs","baseWith","handleUnsupported","validateStrArr","checkDupes","reqMessage","invalidKeys","invalidTypeMessage","incorrect","handleExact","unsuppMessage","exactly","DragMode","DragSink","DragApi","InDrag","Movement","noDragState","NoDrag","inDragState","mutation","throttledDrop","_len74","_key74","runIfActive","_len75","_key75","dashNamespace","MouseDrag","layerClass","Blocker","mdown","mup","mmove","mout","BarMutation","drag","Mutation","resizeBar","resizeRowBar","resizeColBar","wire","drawBar","cpOption","refreshCol","colPositions","tableHeight","colBar","refreshRow","rowPositions","tableWidth","rowBar","refreshGrid","warhouse","resizableRowBars","resizableRows","resizableRowPositions","_pos","barIndex","resizableColBars","resizableColumns","resizableCols","colElmOpt","resizableColPositions","bars","resizeBarDragging","BarManager","hoverTable","getResizer","_dataRow","_dataCol","currentCol","startAdjust","isColBar","destroy$1","tbl","hideBars","showBars","TableResize","lazySizing","hdirection","vdirection","beforeResize","afterResize","refreshBars","ResizeWire","chrome","barResizerPrefix","TableResizeHandler","tableResize","resizeWire","startRawW","lazyResizingBehaviour","afterCornerResize","isRightEdgeResize","isPercentage$1","percentW","isPixel","computedWidth","syncPixels","rawWire","objectResizing","hasTableObjectResizing","rawTable","getRawWidth","setupTable","registerQueryCommands","lookupOnSelection","DomModel","__esModule","toPropertyKey","require","_defineProperties","objectWithoutPropertiesLoose","getOwnPropertySymbols","propertyIsEnumerable","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","iterableToArray","_typeof","toPrimitive","arrayLikeToArray","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sources":["webpack:///sn-tinymce/29.4.0/js/tinymce/plugins/powerpaste/plugin.full.js","webpack:///sn-tinymce/29.4.0/js/tinymce/tinymce.full.js","webpack:///@babel/runtime/7.28.3/helpers/arrayLikeToArray.js","webpack:///@babel/runtime/7.28.3/helpers/arrayWithHoles.js","webpack:///@babel/runtime/7.28.3/helpers/classCallCheck.js","webpack:///@babel/runtime/7.28.3/helpers/createClass.js","webpack:///@babel/runtime/7.28.3/helpers/extends.js","webpack:///@babel/runtime/7.28.3/helpers/iterableToArray.js","webpack:///@babel/runtime/7.28.3/helpers/iterableToArrayLimit.js","webpack:///@babel/runtime/7.28.3/helpers/nonIterableRest.js","webpack:///@babel/runtime/7.28.3/helpers/objectWithoutProperties.js","webpack:///@babel/runtime/7.28.3/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.28.3/helpers/slicedToArray.js","webpack:///@babel/runtime/7.28.3/helpers/toArray.js","webpack:///@babel/runtime/7.28.3/helpers/toPrimitive.js","webpack:///@babel/runtime/7.28.3/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.28.3/helpers/typeof.js","webpack:///@babel/runtime/7.28.3/helpers/unsupportedIterableToArray.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///sn-tinymce/29.4.0/index.js"],"sourcesContent":["/* !\n * Tiny PowerPaste plugin\n *\n * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.\n * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/\n *\n * Version: 6.2.4-639\n */\n\n!function(){\"use strict\";const e=e=>t=>(e=>{const t=typeof e;return null===e?\"null\":\"object\"===t&&Array.isArray(e)?\"array\":\"object\"===t&&((e,t,n)=>{var r,o;return o=e,!!t.prototype.isPrototypeOf(o)||(null===(r=e.constructor)||void 0===r?void 0:r.name)===t.name})(e,String)?\"string\":t})(t)===e,t=e=>t=>typeof t===e,n=e(\"string\"),r=e(\"object\"),o=e(\"array\"),s=t(\"boolean\"),a=(void 0,e=>undefined===e);const i=e=>null==e,l=e=>!i(e),c=t(\"function\"),u=t(\"number\"),d=()=>{},h=(e,t)=>(...n)=>e(t.apply(null,n)),m=e=>()=>e,p=e=>e,f=(e,t)=>e===t;function g(e,...t){return(...n)=>{const r=t.concat(n);return e.apply(null,r)}}const v=e=>()=>{throw new Error(e)},y=e=>e(),b=m(!1),x=m(!0);class k{constructor(e,t){this.tag=e,this.value=t}static some(e){return new k(!0,e)}static none(){return k.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?k.some(e(this.value)):k.none()}bind(e){return this.tag?e(this.value):k.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:k.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:\"Called getOrDie on None\")}static from(e){return l(e)?k.some(e):k.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:\"none()\"}}k.singletonNone=new k(!1);const w=Array.prototype.slice,S=Array.prototype.indexOf,C=Array.prototype.push,T=(e,t)=>((e,t)=>S.call(e,t))(e,t)>-1,I=(e,t)=>{for(let n=0,r=e.length;n<r;n++)if(t(e[n],n))return!0;return!1},A=(e,t)=>{const n=e.length,r=new Array(n);for(let o=0;o<n;o++){const n=e[o];r[o]=t(n,o)}return r},O=(e,t)=>{for(let n=0,r=e.length;n<r;n++)t(e[n],n)},E=(e,t)=>{const n=[],r=[];for(let o=0,s=e.length;o<s;o++){const s=e[o];(t(s,o)?n:r).push(s)}return{pass:n,fail:r}},L=(e,t)=>{const n=[];for(let r=0,o=e.length;r<o;r++){const o=e[r];t(o,r)&&n.push(o)}return n},N=(e,t,n)=>(O(e,((e,r)=>{n=t(n,e,r)})),n),_=(e,t)=>((e,t,n)=>{for(let r=0,o=e.length;r<o;r++){const o=e[r];if(t(o,r))return k.some(o);if(n(o,r))break}return k.none()})(e,t,b),D=(e,t)=>{for(let n=0,r=e.length;n<r;n++)if(t(e[n],n))return k.some(n);return k.none()},P=e=>{const t=[];for(let n=0,r=e.length;n<r;++n){if(!o(e[n]))throw new Error(\"Arr.flatten item \"+n+\" was not an array, input: \"+e);C.apply(t,e[n])}return t},R=(e,t)=>P(A(e,t)),M=(e,t)=>{for(let n=0,r=e.length;n<r;++n)if(!0!==t(e[n],n))return!1;return!0},j=(e,t)=>{const n={};for(let r=0,o=e.length;r<o;r++){const o=e[r];n[String(o)]=t(o,r)}return n},F=(e,t)=>{const n=w.call(e,0);return n.sort(t),n},U=e=>((e,t)=>0<e.length?k.some(e[0]):k.none())(e),B=(e,t)=>{for(let n=0;n<e.length;n++){const r=t(e[n],n);if(r.isSome())return r}return k.none()},z=(e,t,n)=>\"\"===t||e.length>=t.length&&e.substr(n,n+t.length)===t,H=(e,t)=>$(e,t)?((e,t)=>e.substring(t))(e,t.length):e,W=(e,t,n=0,r)=>{const o=e.indexOf(t,n);return-1!==o&&(!!a(r)||o+t.length<=r)},$=(e,t)=>z(e,t,0),V=(e,t)=>z(e,t,e.length-t.length),G=(q=/^\\s+|\\s+$/g,e=>e.replace(q,\"\"));var q;const K=e=>parseInt(e,10),J=(e,t)=>{const n=e-t;return 0===n?0:n>0?1:-1},Y=(e,t,n)=>({major:e,minor:t,patch:n}),X=e=>{const t=/([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:(\\-.+)?)/.exec(e);return t?Y(K(t[1]),K(t[2]),K(t[3])):Y(0,0,0)},Z=e=>t=>t.options.get(e),Q=Z(\"paste_as_text\"),ee=Z(\"paste_merge_formats\"),te=Z(\"paste_tab_spaces\"),ne=Z(\"smart_paste\"),re=Z(\"cache_suffix\"),oe=Z(\"automatic_uploads\"),se=Z(\"indent_use_margin\"),ae=Z(\"powerpaste_block_drop\"),ie=Z(\"powerpaste_keep_unsupported_src\"),le=Z(\"powerpaste_allow_local_images\"),ce=Z(\"powerpaste_word_import\"),ue=Z(\"powerpaste_googledocs_import\"),de=Z(\"powerpaste_html_import\"),he=Z(\"powerpaste_clean_filtered_inline_elements\"),me=Z(\"link_default_protocol\"),pe=e=>{var t;return tinymce.explode(null!==(t=e.options.get(\"images_file_types\"))&&void 0!==t?t:\"\")},fe=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},ge=()=>{const e=(e=>{const t=fe(k.none()),n=()=>t.get().each(e);return{clear:()=>{n(),t.set(k.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{n(),t.set(k.some(e))}}})(d);return{...e,on:t=>e.get().each(t)}},ve=(e,t)=>{const n=t=>e(t)?k.from(t.dom.nodeValue):k.none();return{get:r=>{if(!e(r))throw new Error(\"Can only get \"+t+\" value of a \"+t+\" node\");return n(r).getOr(\"\")},getOption:n,set:(n,r)=>{if(!e(n))throw new Error(\"Can only set raw \"+t+\" value of a \"+t+\" node\");n.dom.nodeValue=r}}},ye=\"undefined\"!=typeof window?window:Function(\"return this;\")(),be=(e,t)=>(void 0!==e[t]&&null!==e[t]||(e[t]={}),e[t]),xe=(e,t)=>((e,t)=>{let n=void 0!==t?t:ye;for(let t=0;t<e.length;++t)n=be(n,e[t]);return n})(e.split(\".\"),t),ke=e=>e.dom.nodeName.toLowerCase(),we=e=>e.dom.nodeType,Se=e=>t=>we(t)===e,Ce=e=>8===we(e)||\"#comment\"===ke(e),Te=Se(1),Ie=Se(3),Ae=Se(9),Oe=Se(11),Ee=e=>t=>Te(t)&&ke(t)===e,Le=ve(Ce,\"comment\"),Ne=e=>Le.get(e),_e=e=>{if(null==e)throw new Error(\"Node cannot be null or undefined\");return{dom:e}},De={fromHtml:(e,t)=>{const n=(t||document).createElement(\"div\");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1){const t=\"HTML does not have a single root node\";throw console.error(t,e),new Error(t)}return _e(n.childNodes[0])},fromTag:(e,t)=>{const n=(t||document).createElement(e);return _e(n)},fromText:(e,t)=>{const n=(t||document).createTextNode(e);return _e(n)},fromDom:_e,fromPoint:(e,t,n)=>k.from(e.dom.elementFromPoint(t,n)).map(_e)},Pe=Object.keys,Re=Object.hasOwnProperty,Me=(e,t)=>{const n=Pe(e);for(let r=0,o=n.length;r<o;r++){const o=n[r];t(e[o],o)}},je=(e,t)=>Fe(e,((e,n)=>({k:n,v:t(e,n)}))),Fe=(e,t)=>{const n={};return Me(e,((e,r)=>{const o=t(e,r);n[o.k]=o.v})),n},Ue=(e,t)=>{const n={};return((e,t,n,r)=>{Me(e,((e,o)=>{(t(e,o)?n:r)(e,o)}))})(e,t,(e=>(t,n)=>{e[n]=t})(n),d),n},Be=e=>Pe(e).length,ze=(e,t)=>Re.call(e,t),He=e=>{let t,n=!1;return(...r)=>(n||(n=!0,t=e.apply(null,r)),t)},We=()=>$e(0,0),$e=(e,t)=>({major:e,minor:t}),Ve={nu:$e,detect:(e,t)=>{const n=String(t).toLowerCase();return 0===e.length?We():((e,t)=>{const n=((e,t)=>{for(let n=0;n<e.length;n++){const r=e[n];if(r.test(t))return r}})(e,t);if(!n)return{major:0,minor:0};const r=e=>Number(t.replace(n,\"$\"+e));return $e(r(1),r(2))})(e,n)},unknown:We},Ge=(e,t)=>{const n=String(t).toLowerCase();return _(e,(e=>e.search(n)))},qe=/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,Ke=e=>t=>W(t,e),Je=[{name:\"Edge\",versionRegexes:[/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],search:e=>W(e,\"edge/\")&&W(e,\"chrome\")&&W(e,\"safari\")&&W(e,\"applewebkit\")},{name:\"Chromium\",brand:\"Chromium\",versionRegexes:[/.*?chrome\\/([0-9]+)\\.([0-9]+).*/,qe],search:e=>W(e,\"chrome\")&&!W(e,\"chromeframe\")},{name:\"IE\",versionRegexes:[/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,/.*?rv:([0-9]+)\\.([0-9]+).*/],search:e=>W(e,\"msie\")||W(e,\"trident\")},{name:\"Opera\",versionRegexes:[qe,/.*?opera\\/([0-9]+)\\.([0-9]+).*/],search:Ke(\"opera\")},{name:\"Firefox\",versionRegexes:[/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],search:Ke(\"firefox\")},{name:\"Safari\",versionRegexes:[qe,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(W(e,\"safari\")||W(e,\"mobile/\"))&&W(e,\"applewebkit\")}],Ye=[{name:\"Windows\",search:Ke(\"win\"),versionRegexes:[/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]},{name:\"iOS\",search:e=>W(e,\"iphone\")||W(e,\"ipad\"),versionRegexes:[/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:\"Android\",search:Ke(\"android\"),versionRegexes:[/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]},{name:\"macOS\",search:Ke(\"mac os x\"),versionRegexes:[/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]},{name:\"Linux\",search:Ke(\"linux\"),versionRegexes:[]},{name:\"Solaris\",search:Ke(\"sunos\"),versionRegexes:[]},{name:\"FreeBSD\",search:Ke(\"freebsd\"),versionRegexes:[]},{name:\"ChromeOS\",search:Ke(\"cros\"),versionRegexes:[/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]}],Xe={browsers:m(Je),oses:m(Ye)},Ze=\"Edge\",Qe=\"Chromium\",et=\"Opera\",tt=\"Firefox\",nt=\"Safari\",rt=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isEdge:r(Ze),isChromium:r(Qe),isIE:r(\"IE\"),isOpera:r(et),isFirefox:r(tt),isSafari:r(nt)}},ot=()=>rt({current:void 0,version:Ve.unknown()}),st=rt,at=(m(Ze),m(Qe),m(\"IE\"),m(et),m(tt),m(nt),\"Windows\"),it=\"Android\",lt=\"Linux\",ct=\"macOS\",ut=\"Solaris\",dt=\"FreeBSD\",ht=\"ChromeOS\",mt=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isWindows:r(at),isiOS:r(\"iOS\"),isAndroid:r(it),isMacOS:r(ct),isLinux:r(lt),isSolaris:r(ut),isFreeBSD:r(dt),isChromeOS:r(ht)}},pt=()=>mt({current:void 0,version:Ve.unknown()}),ft=mt,gt=(m(at),m(\"iOS\"),m(it),m(lt),m(ct),m(ut),m(dt),m(ht),e=>window.matchMedia(e).matches);let vt=He((()=>((e,t,n)=>{const r=Xe.browsers(),o=Xe.oses(),s=t.bind((e=>((e,t)=>B(t.brands,(t=>{const n=t.brand.toLowerCase();return _(e,(e=>{var t;return n===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:Ve.nu(parseInt(t.version,10),0)})))})))(r,e))).orThunk((()=>((e,t)=>Ge(e,t).map((e=>{const n=Ve.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(r,e))).fold(ot,st),a=((e,t)=>Ge(e,t).map((e=>{const n=Ve.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(o,e).fold(pt,ft),i=((e,t,n,r)=>{const o=e.isiOS()&&!0===/ipad/i.test(n),s=e.isiOS()&&!o,a=e.isiOS()||e.isAndroid(),i=a||r(\"(pointer:coarse)\"),l=o||!s&&a&&r(\"(min-device-width:768px)\"),c=s||a&&!l,u=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(n),d=!c&&!l&&!u;return{isiPad:m(o),isiPhone:m(s),isTablet:m(l),isPhone:m(c),isTouch:m(i),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:m(u),isDesktop:m(d)}})(a,s,e,n);return{browser:s,os:a,deviceType:i}})(navigator.userAgent,k.from(navigator.userAgentData),gt)));const yt=()=>vt(),bt=yt(),xt=bt.deviceType.isiOS()||bt.deviceType.isAndroid(),kt=m({isSupported:!1,cleanDocument:()=>Promise.reject(\"not supported\")});var wt=xt?kt:(e,t,n)=>{const r=t+\"/wordimport.js\"+(e=>k.from(e).filter((e=>0!==e.length)).map((e=>(-1===e.indexOf(\"?\")?\"?\":\"\")+e)).getOr(\"\"))(n||\"v=9.2.3\"),o=e.loadScript(\"ephox.wimp\",r);return o.catch((e=>{console.error(\"Unable to load word import: \",e)})),{isSupported:!0,cleanDocument:(e,t,n)=>o.then((r=>r.cleanDocument(e,t,n.cleanFilteredInlineElements)))}};const St=e=>{let t=[];return{bind:e=>{if(void 0===e)throw new Error(\"Event bind error: undefined handler\");t.push(e)},unbind:e=>{t=L(t,(t=>t!==e))},trigger:(...n)=>{const r={};O(e,((e,t)=>{r[e]=n[t]})),O(t,(e=>{e(r)}))}}},Ct=e=>{const t=je(e,(e=>({bind:e.bind,unbind:e.unbind}))),n=je(e,(e=>e.trigger));return{registry:t,trigger:n}},Tt=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error(\"Browser lacks native selectors\")}},It=(e,t)=>{const n=void 0===t?document:t.dom;return 1!==(r=n).nodeType&&9!==r.nodeType&&11!==r.nodeType||0===r.childElementCount?[]:A(n.querySelectorAll(e),De.fromDom);var r},At=(e,t)=>e.dom===t.dom,Ot=Tt,Et=(e,t,n)=>{const r=e.document.createRange();var o;return o=r,t.fold((e=>{o.setStartBefore(e.dom)}),((e,t)=>{o.setStart(e.dom,t)}),(e=>{o.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,n)=>{e.setEnd(t.dom,n)}),(t=>{e.setEndAfter(t.dom)}))})(r,n),r},Lt=(e,t,n,r,o)=>{const s=e.document.createRange();return s.setStart(t.dom,n),s.setEnd(r.dom,o),s},Nt=e=>{if(!o(e))throw new Error(\"cases must be an array\");if(0===e.length)throw new Error(\"there must be at least one case\");const t=[],n={};return O(e,((r,s)=>{const a=Pe(r);if(1!==a.length)throw new Error(\"one and only one name per case\");const i=a[0],l=r[i];if(void 0!==n[i])throw new Error(\"duplicate key detected:\"+i);if(\"cata\"===i)throw new Error(\"cannot have a case named cata (sorry)\");if(!o(l))throw new Error(\"case arguments must be an array\");t.push(i),n[i]=(...n)=>{const r=n.length;if(r!==l.length)throw new Error(\"Wrong number of arguments to case \"+i+\". Expected \"+l.length+\" (\"+l+\"), got \"+r);return{fold:(...t)=>{if(t.length!==e.length)throw new Error(\"Wrong number of arguments to fold. Expected \"+e.length+\", got \"+t.length);return t[s].apply(null,n)},match:e=>{const r=Pe(e);if(t.length!==r.length)throw new Error(\"Wrong number of arguments to match. Expected: \"+t.join(\",\")+\"\\nActual: \"+r.join(\",\"));if(!M(t,(e=>T(r,e))))throw new Error(\"Not all branches were specified when using match. Specified: \"+r.join(\", \")+\"\\nRequired: \"+t.join(\", \"));return e[i].apply(null,n)},log:e=>{console.log(e,{constructors:t,constructor:i,params:n})}}}})),n},_t=Nt([{ltr:[\"start\",\"soffset\",\"finish\",\"foffset\"]},{rtl:[\"start\",\"soffset\",\"finish\",\"foffset\"]}]),Dt=(e,t,n)=>t(De.fromDom(n.startContainer),n.startOffset,De.fromDom(n.endContainer),n.endOffset);_t.ltr,_t.rtl;const Pt=(e,t,n,r)=>({start:e,soffset:t,finish:n,foffset:r}),Rt=e=>De.fromDom(e.dom.ownerDocument),Mt=e=>Ae(e)?e:Rt(e),jt=e=>De.fromDom(Mt(e).dom.defaultView),Ft=e=>k.from(e.dom.parentNode).map(De.fromDom),Ut=e=>k.from(e.dom.previousSibling).map(De.fromDom),Bt=e=>k.from(e.dom.nextSibling).map(De.fromDom),zt=e=>(e=>{const t=w.call(e,0);return t.reverse(),t})(((e,t)=>{const n=[],r=e=>(n.push(e),t(e));let o=t(e);do{o=o.bind(r)}while(o.isSome());return n})(e,Ut)),Ht=e=>A(e.dom.childNodes,De.fromDom),Wt=c(Element.prototype.attachShadow)&&c(Node.prototype.getRootNode),$t=m(Wt),Vt=Wt?e=>De.fromDom(e.dom.getRootNode()):Mt,Gt=e=>De.fromDom(e.dom.host),qt=e=>{const t=Ie(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return(e=>{const t=Vt(e);return Oe(n=t)&&l(n.dom.host)?k.some(t):k.none();var n})(De.fromDom(t)).fold((()=>n.body.contains(t)),(r=qt,o=Gt,e=>r(o(e))));var r,o},Kt=(e,t)=>{let n=[];return O(Ht(e),(e=>{t(e)&&(n=n.concat([e])),n=n.concat(Kt(e,t))})),n},Jt=(e,t)=>It(t,e),Yt=Nt([{before:[\"element\"]},{on:[\"element\",\"offset\"]},{after:[\"element\"]}]),Xt={before:Yt.before,on:Yt.on,after:Yt.after,cata:(e,t,n,r)=>e.fold(t,n,r),getStart:e=>e.fold(p,p,p)},Zt=Nt([{domRange:[\"rng\"]},{relative:[\"startSitu\",\"finishSitu\"]},{exact:[\"start\",\"soffset\",\"finish\",\"foffset\"]}]),Qt={domRange:Zt.domRange,relative:Zt.relative,exact:Zt.exact,exactFromRange:e=>Zt.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>De.fromDom(e.startContainer),relative:(e,t)=>Xt.getStart(e),exact:(e,t,n,r)=>e}))(e);return jt(t)},range:Pt},en=(e,t)=>{const n=ke(e);return\"input\"===n?Xt.after(e):T([\"br\",\"img\"],n)?0===t?Xt.before(e):Xt.after(e):Xt.on(e,t)},tn=(e,t,n,r)=>{const o=Rt(e).dom.createRange();return o.setStart(e.dom,t),o.setEnd(n.dom,r),o},nn=e=>k.from(e.getSelection()),rn=(e,t,n,r,o)=>{((e,t)=>{nn(e).each((e=>{e.removeAllRanges(),e.addRange(t)}))})(e,Lt(e,t,n,r,o))},on=(e,t,n,r,o)=>{const s=((e,t,n,r)=>{const o=en(e,t),s=en(n,r);return Qt.relative(o,s)})(t,n,r,o);((e,t)=>{((e,t)=>{const n=((e,t)=>t.match({domRange:e=>({ltr:m(e),rtl:k.none}),relative:(t,n)=>({ltr:He((()=>Et(e,t,n))),rtl:He((()=>k.some(Et(e,n,t))))}),exact:(t,n,r,o)=>({ltr:He((()=>Lt(e,t,n,r,o))),rtl:He((()=>k.some(Lt(e,r,o,t,n))))})}))(e,t);return((e,t)=>{const n=t.ltr();return n.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>_t.rtl(De.fromDom(e.endContainer),e.endOffset,De.fromDom(e.startContainer),e.startOffset))).getOrThunk((()=>Dt(0,_t.ltr,n))):Dt(0,_t.ltr,n)})(0,n)})(e,t).match({ltr:(t,n,r,o)=>{rn(e,t,n,r,o)},rtl:(t,n,r,o)=>{nn(e).each((s=>{if(s.setBaseAndExtent)s.setBaseAndExtent(t.dom,n,r.dom,o);else if(s.extend)try{((e,t,n,r,o,s)=>{t.collapse(n.dom,r),t.extend(o.dom,s)})(0,s,t,n,r,o)}catch(s){rn(e,r,o,t,n)}else rn(e,r,o,t,n)}))}})})(e,s)},sn=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),n=e.getRangeAt(e.rangeCount-1);return k.some(Pt(De.fromDom(t.startContainer),t.startOffset,De.fromDom(n.endContainer),n.endOffset))}return k.none()},an=e=>{if(null===e.anchorNode||null===e.focusNode)return sn(e);{const t=De.fromDom(e.anchorNode),n=De.fromDom(e.focusNode);return((e,t,n,r)=>{const o=tn(e,t,n,r),s=At(e,n)&&t===r;return o.collapsed&&!s})(t,e.anchorOffset,n,e.focusOffset)?k.some(Pt(t,e.anchorOffset,n,e.focusOffset)):sn(e)}},ln=e=>nn(e).filter((e=>e.rangeCount>0)).bind(an),cn=(e,t)=>{Ft(e).each((n=>{n.dom.insertBefore(t.dom,e.dom)}))},un=(e,t)=>{Bt(e).fold((()=>{Ft(e).each((e=>{hn(e,t)}))}),(e=>{cn(e,t)}))},dn=(e,t)=>{(e=>((e,t)=>{const n=e.dom.childNodes;return k.from(n[0]).map(De.fromDom)})(e))(e).fold((()=>{hn(e,t)}),(n=>{e.dom.insertBefore(t.dom,n.dom)}))},hn=(e,t)=>{e.dom.appendChild(t.dom)},mn=(e,t)=>{cn(e,t),hn(t,e)},pn=(e,t)=>{O(t,((n,r)=>{const o=0===r?e:t[r-1];un(o,n)}))},fn=(e,t)=>{O(t,(t=>{hn(e,t)}))},gn=e=>{e.dom.textContent=\"\",O(Ht(e),(e=>{vn(e)}))},vn=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},yn=e=>{const t=Ht(e);t.length>0&&pn(e,t),vn(e)},bn=(e,t,n,r)=>{const o=At(e,n)&&t===r;return{startContainer:m(e),startOffset:m(t),endContainer:m(n),endOffset:m(r),collapsed:m(o)}};let xn=0;const kn=e=>{const t=(new Date).getTime(),n=Math.floor(1e9*Math.random());return xn++,e+\"_\"+n+xn+String(t)},wn=(e,t,r)=>{if(!(n(r)||s(r)||u(r)))throw console.error(\"Invalid call to Attribute.set. Key \",t,\":: Value \",r,\":: Element \",e),new Error(\"Attribute value was not simple\");e.setAttribute(t,r+\"\")},Sn=(e,t,n)=>{wn(e.dom,t,n)},Cn=(e,t)=>{const n=e.dom;Me(t,((e,t)=>{wn(n,t,e)}))},Tn=(e,t)=>{const n=e.dom.getAttribute(t);return null===n?void 0:n},In=(e,t)=>k.from(Tn(e,t)),An=(e,t)=>{const n=e.dom;return!(!n||!n.hasAttribute)&&n.hasAttribute(t)},On=(e,t)=>{e.dom.removeAttribute(t)},En=(e,t)=>{const n=Tn(e,t);return void 0===n||\"\"===n?[]:n.split(\" \")},Ln=e=>void 0!==e.dom.classList,Nn=e=>En(e,\"class\"),_n=(e,t)=>{Ln(e)?e.dom.classList.add(t):((e,t)=>{((e,t,n)=>{const r=En(e,t).concat([n]);Sn(e,t,r.join(\" \"))})(e,\"class\",t)})(e,t)},Dn=(e,t)=>{Ln(e)?e.dom.classList.remove(t):((e,t)=>{((e,t,n)=>{const r=L(En(e,t),(e=>e!==n));r.length>0?Sn(e,t,r.join(\" \")):On(e,t)})(e,\"class\",t)})(e,t),(e=>{0===(Ln(e)?e.dom.classList:Nn(e)).length&&On(e,\"class\")})(e)},Pn=(e,t)=>Ln(e)&&e.dom.classList.contains(t),Rn=(e,t,n=f)=>e.exists((e=>n(e,t))),Mn=(e,t)=>e?k.some(t):k.none(),jn=e=>void 0!==e.style&&c(e.style.getPropertyValue),Fn=(e,t,r)=>{if(!n(r))throw console.error(\"Invalid call to CSS.set. Property \",t,\":: Value \",r,\":: Element \",e),new Error(\"CSS value must be a string: \"+r);jn(e)&&e.style.setProperty(t,r)},Un=(e,t)=>{jn(e)&&e.style.removeProperty(t)},Bn=(e,t,n)=>{const r=e.dom;Fn(r,t,n)},zn=(e,t)=>{const n=e.dom;Me(t,((e,t)=>{Fn(n,t,e)}))},Hn=(e,t)=>{const n=e.dom,r=window.getComputedStyle(n).getPropertyValue(t);return\"\"!==r||qt(e)?r:Wn(n,t)},Wn=(e,t)=>jn(e)?e.style.getPropertyValue(t):\"\",$n=(e,t)=>{const n=e.dom,r=Wn(n,t);return k.from(r).filter((e=>e.length>0))},Vn=e=>{const t={},n=e.dom;if(jn(n))for(let e=0;e<n.style.length;e++){const r=n.style.item(e);t[r]=n.style[r]}return t},Gn=(e,t)=>{const n=e.dom;Un(n,t),Rn(In(e,\"style\").map(G),\"\")&&On(e,\"style\")},qn=e=>\"rtl\"===Hn(e,\"direction\")?\"rtl\":\"ltr\",Kn=(e,t)=>{const n=(t||document).createElement(\"div\");return n.innerHTML=e,Ht(De.fromDom(n))},Jn=e=>e.dom.innerHTML,Yn=(e,t,n)=>{let r=e.dom;const o=c(n)?n:b;for(;r.parentNode;){r=r.parentNode;const e=De.fromDom(r);if(t(e))return k.some(e);if(o(e))break}return k.none()},Xn=(e,t)=>_(e.dom.childNodes,(e=>t(De.fromDom(e)))).map(De.fromDom),Zn=(e,t)=>{const n=e=>{for(let r=0;r<e.childNodes.length;r++){const o=De.fromDom(e.childNodes[r]);if(t(o))return k.some(o);const s=n(e.childNodes[r]);if(s.isSome())return s}return k.none()};return n(e.dom)},Qn=(e,t,n)=>Yn(e,(e=>Tt(e,t)),n),er=(e,t,n)=>((e,t,n,r,o)=>((e,t)=>Tt(e,t))(n,r)?k.some(n):c(o)&&o(n)?k.none():t(n,r,o))(0,Qn,e,t,n),tr=e=>{const t=nr(e);return{resolve:e=>{const n=e.split(\" \");return A(n,(e=>rr(t,e))).join(\" \")}}},nr=e=>e.replace(/\\./g,\"-\"),rr=(e,t)=>e+\"-\"+t,or=tr(\"ephox-sloth\").resolve,sr=m(or(\"bin\")),ar=[\"b\",\"i\",\"u\",\"sub\",\"sup\",\"strike\"],ir=sr(),lr=ir+kn(\"\"),cr=(\"-100000px\",\"100000px\",e=>\"rtl\"===qn(e)?\"100000px\":\"-100000px\");const ur=(e,t)=>{const n=De.fromTag(\"div\");var r;Cn(n,t),Cn(n,{contenteditable:\"true\",\"aria-hidden\":\"true\"}),zn(n,{position:\"fixed\",top:\"0px\",width:\"100px\",height:\"100px\",overflow:\"hidden\",opacity:\"0\"}),r=n,O([ir,lr],(e=>{_n(r,e)}));const o=e=>Pn(e,lr);return{attach:e=>{gn(n),Bn(n,\"left\",cr(e)),hn(e,n)},focus:()=>{Qn(n,\"body\").each((t=>{e.toOff(t,n)}))},contents:()=>(((e,t)=>{Bt(e).filter(t).each((t=>{const n=Ht(t);fn(e,n),vn(t)})),((e,t)=>{const n=Ht(e);O(n,(e=>{t(e)&&((e,t)=>{const n=Ht(e),r=De.fromTag(\"div\",Rt(e).dom);fn(r,n),cn(e,r),vn(e)})(e)}))})(e,t),O(Ht(e),(e=>{(e=>Te(e)&&!e.dom.hasChildNodes()&&T(ar,ke(e)))(e)&&vn(e)}))})(n,o),{elements:Ht(n),html:Jn(n),offscreen:n}),container:m(n),detach:()=>{vn(n)}}},dr=e=>{const t=At(e.start,e.finish)&&e.soffset===e.foffset;return{startContainer:m(e.start),startOffset:m(e.soffset),endContainer:m(e.finish),endOffset:m(e.foffset),collapsed:m(t)}},hr={set:(e,t)=>{on(e,t.startContainer(),t.startOffset(),t.endContainer(),t.endOffset())},get:e=>ln(e).map(dr)};var mr=e=>t=>{const n=Ct({after:St([\"container\"])}),r=(e=>{const t=De.fromTag(\"br\");let n=k.none();const r=e=>jt(e).dom;return{cleanup:()=>{vn(t)},toOn:(t,o)=>{const s=r(o);n.each((n=>{const r=(e=>e.dom.childNodes.length)(t),o=At(t,n.startContainer())&&r<n.startOffset()?r:n.startOffset(),a=At(t,n.endContainer())&&r<n.endOffset()?r:n.endOffset(),i=bn(n.startContainer(),o,n.endContainer(),a);e.set(s,i)}))},toOff:(o,s)=>{const a=r(s);hn(s,t),n=e.get(a),e.set(a,bn(t,0,t,0))}}})(hr),o=((e,t,n)=>{const r=ur(e,n),o=()=>{e.cleanup();const t=r.contents();r.detach(),s.trigger.after(t.elements,t.html,r.container())},s=Ct({before:St([]),after:St([\"elements\",\"html\",\"container\"])}),a=d;return{instance:m((()=>{s.trigger.before(),r.attach(t),r.focus(),((e,t)=>{((e,t)=>{setTimeout(t,1)})(0,t)})(Rt(t),o)})),destroy:a,events:s.registry}})(r,t,e);return o.events.after.bind((e=>{r.toOn(t,e.container),n.trigger.after(e.container)})),{run:()=>{o.instance()()},events:n.registry}};const pr=tr(\"ephox-cement\").resolve,fr={cacheSuffix:\"\",pasteBinAttrs:{},keepSrc:!1,sanitizer:{sanitizeHtml:m(\"\"),sanitizeText:m(\"\")},tabSpaces:4,cleanFilteredInlineElements:[],indentUseMargin:!1,defaultProtocol:\"https\"},gr=m(pr(\"smartpaste-eph-bin\")),vr=e=>{let t=k.none(),n=[];const r=e=>{o()?s(e):n.push(e)},o=()=>t.isSome(),s=e=>{t.each((t=>{setTimeout((()=>{e(t)}),0)}))};return e((e=>{o()||(t=k.some(e),O(n,s),n=[])})),{get:r,map:e=>vr((t=>{r((n=>{t(e(n))}))})),isReady:o}},yr={nu:vr,pure:e=>vr((t=>{t(e)}))},br=e=>{setTimeout((()=>{throw e}),0)},xr=e=>{const t=t=>{e().then(t,br)};return{map:t=>xr((()=>e().then(t))),bind:t=>xr((()=>e().then((e=>t(e).toPromise())))),anonBind:t=>xr((()=>e().then((()=>t.toPromise())))),toLazy:()=>yr.nu(t),toCached:()=>{let t=null;return xr((()=>(null===t&&(t=e()),t)))},toPromise:e,get:t}},kr=e=>xr((()=>new Promise(e))),wr=e=>((e,t)=>t((t=>{const n=[];let r=0;0===e.length?t([]):O(e,((o,s)=>{o.get((o=>s=>{n[o]=s,r++,r>=e.length&&t(n)})(s))}))})))(e,kr),Sr=()=>{const e={};return{getOrSetIndexed:(t,n)=>(t=>void 0!==e[t])(t)?e[t]:((t,n)=>(e[t]=n,n))(t,n()),waitForLoad:()=>{const t=((e,t)=>{const n=[];return Me(e,((e,r)=>{n.push(t(e,r))})),n})(e,p);return wr(t)}}},Cr=e=>{const t=t=>t(e),n=m(e),r=()=>o,o={tag:!0,inner:e,fold:(t,n)=>n(e),isValue:x,isError:b,map:t=>Ir.value(t(e)),mapError:r,bind:t,exists:t,forall:t,getOr:n,or:r,getOrThunk:n,orThunk:r,getOrDie:n,each:t=>{t(e)},toOptional:()=>k.some(e)};return o},Tr=e=>{const t=()=>n,n={tag:!1,inner:e,fold:(t,n)=>t(e),isValue:b,isError:x,map:t,mapError:t=>Ir.error(t(e)),bind:t,exists:b,forall:x,getOr:p,or:p,getOrThunk:y,orThunk:y,getOrDie:v(String(e)),each:d,toOptional:k.none};return n},Ir={value:Cr,error:Tr,fromOption:(e,t)=>e.fold((()=>Tr(t)),Cr)},Ar=e=>{const t=De.fromDom((e=>{if($t()&&l(e.target)){const t=De.fromDom(e.target);if(Te(t)&&l(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return U(t)}}return k.from(e.target)})(e).getOr(e.target)),n=()=>e.stopPropagation(),r=()=>e.preventDefault(),o=h(r,n);return((e,t,n,r,o,s,a)=>({target:e,x:t,y:n,stop:r,prevent:o,kill:s,raw:a}))(t,e.clientX,e.clientY,n,r,o,e)},Or=(e,t,n,r)=>{e.dom.removeEventListener(t,n,r)},Er=x,Lr=(e,t,n)=>((e,t,n,r)=>((e,t,n,r,o)=>{const s=((e,t)=>n=>{e(n)&&t(Ar(n))})(n,r);return e.dom.addEventListener(t,s,o),{unbind:g(Or,e,t,s,o)}})(e,t,n,r,!1))(e,t,Er,n),Nr=(e=>{const t=g(xe,e);xe(\"callbacks\",t());const n=(n,o)=>{const s=t(),a=(e=>{const t=void 0===e.count?0:e.count,n=\"callback_\"+t;return e.count=t+1,n})(s);return s.callbacks[a]=(...e)=>{o||r(a),n(...e)},(t=>e+\".callbacks.\"+t)(a)},r=e=>{const n=e.substring(e.lastIndexOf(\".\")+1),r=t();void 0!==r.callbacks[n]&&delete r.callbacks[n]};return{ephemeral:e=>n(e,!1),permanent:e=>n(e,!0),unregister:r}})(\"ephox.henchman.features\"),_r=(e,t)=>yr.nu((n=>{const o=t=>{O(a,(e=>{e.unbind()})),n(t.fold((t=>Ir.error(t+'Unable to download editor stylesheets from \"'+e+'\"')),Ir.value))},s=((e,t)=>{const n=De.fromDom(document),r=De.fromTag(\"link\",n.dom);return Cn(r,{rel:\"stylesheet\",type:\"text/css\",href:e}),((e,t)=>{const n=(e=>{const t=e.dom.head;if(null==t)throw new Error(\"Head is not available yet\");return De.fromDom(t)})(e);hn(n,t)})(n,r),r})(e),a=[Lr(s,\"load\",(e=>{(e=>{var t;try{const n=null===(t=e.target.dom.sheet)||void 0===t?void 0:t.cssRules;return r(n)&&0===n.length}catch(e){}return!1})(e)?o(Ir.error(\"\")):t(o)})),Lr(s,\"error\",g(o,Ir.error(\"\")))]})),Dr=(()=>{const e=Sr(),t=()=>e.waitForLoad();return{preload:()=>{t().get(p)},addStylesheet:(t,n)=>e.getOrSetIndexed(t,(()=>_r(t,n))),addScript:(t,n)=>e.getOrSetIndexed(t,(()=>(e=>yr.nu((t=>{const n=()=>{o.unbind(),s.unbind()},r=De.fromTag(\"script\");Sn(r,\"src\",e),Sn(r,\"type\",\"text/javascript\"),Sn(r,\"async\",\"async\"),Sn(r,\"data-main\",Nr.ephemeral((e=>{t(Ir.value(e))})));const o=Lr(r,\"error\",(()=>{n(),t(Ir.error(\"Error loading external script tag \"+e))})),s=Lr(r,\"load\",n);hn(De.fromDom(document.head),r)})))(t).map(n))),waitForLoad:t}})(),Pr={loadScript:(e,t)=>new Promise(((e,n)=>{((e,t)=>Dr.addScript(e,t))(t,p).get((t=>{t.fold(n,e)}))}))},Rr=Nt([{error:[\"message\"]},{paste:[\"elements\",\"correlated\"]},{cancel:[]},{incomplete:[\"elements\",\"correlated\",\"message\"]}]),Mr=(e,t,n,r,o)=>e.fold(t,n,r,o),jr=Rr.error,Fr=Rr.paste,Ur=Rr.cancel,Br=Rr.incomplete,zr=[\"officeStyles\",\"htmlStyles\",\"gdocsStyles\",\"isWord\",\"isGoogleDocs\",\"proxyBin\",\"isInternal\"],Hr=(e,t)=>{const n={};return O(zr,(r=>{t[r].or(e[r]).each((e=>{n[r]=e}))})),Wr(n)},Wr=e=>j(zr,(t=>k.from(e[t]))),$r=e=>({response:jr(e),bundle:Wr({})}),Vr=e=>Promise.resolve($r(e)),Gr={response:Ur(),bundle:Wr({})},qr=e=>l(e.then),Kr=(e,t,n,r)=>({steps:e,input:t,label:n,capture:r}),Jr=(e,t)=>{const n=Hr(e.bundle,t.bundle),r=((e,t)=>Mr(e,k.none,k.none,k.none,((e,n,r)=>Mr(t,k.none,((e,t)=>k.some(Rr.incomplete(e,t,r))),k.none,k.none))).getOr(t))(e.response,t.response);return{response:r,bundle:n}},Yr=(e,t,n)=>{const r=()=>e,o=()=>{const r=n(t,e);return qr(r)?r.then((t=>Jr(e,t))):Jr(e,r)};return Mr(e.response,r,o,r,o)},Xr=(Zr=(e,t)=>t,(...e)=>{if(0===e.length)throw new Error(\"Can't merge zero objects\");const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const e in r)ze(r,e)&&(t[e]=Zr(t[e],r[e]))}return t});var Zr;const Qr=Nt([{starts:[\"value\",\"f\"]},{pattern:[\"regex\",\"f\"]},{contains:[\"value\",\"f\"]},{exact:[\"value\",\"f\"]},{all:[]},{not:[\"stringMatch\"]}]),eo=p,to=(e,t)=>e.fold(((e,n)=>0===n(t).indexOf(n(e))),((e,n)=>e.test(n(t))),((e,n)=>n(t).indexOf(n(e))>=0),((e,n)=>n(t)===n(e)),x,(e=>!to(e,t))),no={starts:Qr.starts,pattern:Qr.pattern,contains:Qr.contains,exact:Qr.exact,all:Qr.all,not:Qr.not,cata:(e,t,n,r,o,s,a)=>e.fold(t,n,r,o,s,a),matches:to,caseSensitive:eo,caseInsensitive:e=>e.toLowerCase()},ro=(e,t)=>{const n=ke(e),r=t.name,o=void 0!==t.condition?t.condition:x;return no.matches(r,n)&&o(e)},oo=(e,t,n)=>{const r=(e=>{const t={},n=l(e)?e.split(\";\"):[];return O(n,(e=>{const n=e.split(\":\");2===n.length&&(t[G(n[0])]=G(n[1]))})),t})(e.dom.getAttribute(\"style\")),o={};return O(t,(e=>{const t=r[e];void 0===t||n(t,e)||(o[e]=t)})),o},so=e=>{const t=Pe(e);return A(t,(t=>t+\": \"+e[t])).join(\"; \")},ao=[\"mso-list\"],io=(e,t)=>{const n=oo(e,ao,t),r=((e,t)=>{const n=e.dom.style,r=i(n)?[]:n,o={};return O(r,(n=>{$n(e,n).each((e=>{t(e,n)||(o[n]=e)}))})),o})(e,t);((e,t,n)=>{Sn(e,\"style\",\"\");const r=Be(t),o=Be(n);if(0===r&&0===o)On(e,\"style\");else if(0===r)Sn(e,\"style\",so(n));else{Me(t,((t,n)=>{Bn(e,n,t)}));const r=Tn(e,\"style\"),s=o>0?so(n)+\"; \":\"\";Sn(e,\"style\",s+r)}})(e,r,n)},lo=(e,t)=>{const n=((e,t)=>{const n={};return O(e.dom.attributes,(e=>{t(e.value,e.name)||(n[e.name]=e.value)})),n})(e,t);((e,t)=>{const n=A(e.dom.attributes,(e=>e.name));Be(t)!==n.length&&((e,t,n)=>{O(t,(t=>{On(e,t)})),Me(n,((t,n)=>{Sn(e,n,t)}))})(e,n,t)})(e,n)},co=(e,t)=>{io(De.fromDom(e),t)},uo=(e,t,n)=>{e(n,((e,r)=>I(t,(t=>((e,t,n,r)=>{const o=r.name,s=void 0!==r.condition?r.condition:x,a=void 0!==r.value?r.value:no.all();return no.matches(o,n)&&no.matches(a,t)&&s(e)})(n,e,r,t)))))},ho=\"startElement\",mo=\"endElement\",po=\"text\",fo=\"comment\",go=(e,t,n)=>{let r,o,s;const a=De.fromDom(e);switch(e.nodeType){case 1:t?r=mo:(r=ho,zn(a,n||{}));const i=e;o=\"HTML\"!==i.scopeName&&i.scopeName&&i.tagName&&i.tagName.indexOf(\":\")<=0?(i.scopeName+\":\"+i.tagName).toLowerCase():i.tagName.toLowerCase();break;case 3:r=po,s=e.nodeValue;break;case 8:r=fo,s=e.nodeValue;break;default:console.log(\"WARNING: Unsupported node type encountered: \"+e.nodeType)}return{getNode:m(e),tag:()=>o,type:()=>r,text:()=>s}},vo=(e,t,n,r)=>{const o=r.createElement(e);return Me(t,((e,t)=>{o.setAttribute(t,e+\"\")})),go(o,!1,n)},yo=(e,t)=>go(t.createElement(e),!0),bo=yo(\"html\",window.document),xo=e=>{const t=e.createDocumentFragment();let n=t;const r=e=>{n.appendChild(e)};return{dom:t,receive:o=>{switch(o.type()){case ho:s=o.getNode().cloneNode(!1),r(s),n=s;break;case po:(t=>{const n=e.createTextNode(t.text());r(n)})(o);break;case mo:(()=>{const e=n.parentNode;n=null===e?t:e})();break;case fo:break;default:throw new Error(\"Unsupported token type: \"+o.type())}var s},label:\"SERIALISER\"}},ko=e=>t=>{((e,t)=>{const n=Xr({styles:[],attributes:[],classes:[],tags:[]},t),r=Jt(e,\"*\");O(r,(e=>{uo(io,n.styles,e),uo(lo,n.attributes,e),O(n.classes,(t=>{const n=An(e,\"class\")?(e=>Ln(e)?(e=>{const t=e.dom.classList,n=new Array(t.length);for(let e=0;e<t.length;e++){const r=t.item(e);null!==r&&(n[e]=r)}return n})(e):Nn(e))(e):[];O(n,(n=>{no.matches(t.name,n)&&Dn(e,n)}))}))}));const o=Jt(e,\"*\");O(o,(e=>{I(n.tags,g(ro,e))&&vn(e)}))})(t,e)},wo=e=>t=>{((e,t)=>{const n=Xr({tags:[]},t),r=Jt(e,\"*\");O(r,(e=>{I(n.tags,g(ro,e))&&yn(e)}))})(t,e)},So=e=>t=>{((e,t)=>{const n=Xr({tags:[]},t),r=Jt(e,\"*\");O(r,(e=>{_(n.tags,g(ro,e)).each((t=>{t.mutate(e)}))}))})(t,e)},Co=e=>t=>{const n=Jn(t),r=((e,t,n)=>{const r=xo(e),o=((e,t=window.document)=>{const n=t.createElement(\"div\");t.body.appendChild(n),n.style.position=\"absolute\",n.style.left=\"-10000px\",n.innerHTML=e;let r=n.firstChild||bo;const o=[];let s=!1;return{hasNext:()=>void 0!==r,next:()=>{const e=r,a=r,i=s;return!s&&e.firstChild?(o.push(e),r=e.firstChild):s||1!==e.nodeType?e.nextSibling?(r=e.nextSibling,s=!1):(r=o.pop(),s=!0):s=!0,a===bo||r||(t.body.removeChild(n),r=bo),(l=a)===bo?l:l?go(l,i):void 0;var l}}})(t,e),s=((e,t,n)=>{let r=n;for(let n=t.length-1;n>=0;n--)r=t[n](r,{},e);return r})(e,n,r);for(;o.hasNext();){const e=o.next();s.receive(e)}return r.dom})(Rt(t).dom,n,e);gn(t),t.dom.appendChild(r)},To=(e,t,n)=>{const r=De.fromTag(\"div\",e.dom);zn(r,{position:\"fixed\",left:\"-100000px\",top:\"0px\"}),hn((e=>{const t=e.dom.body;if(null==t)throw new Error(\"Body is not available yet\");return De.fromDom(t)})(e),r),r.dom.innerHTML=t,O(n,(e=>{e(r)}));const o=Jn(r);return vn(r),o},Io=(e,t)=>n=>{const r=e=>{n.receive(e)},o=(e,t,n)=>(n=void 0!==n?n:e.type()===mo,go(t,n,{})),s={emit:r,emitTokens:e=>{O(e,r)},receive:t=>{e(s,t,o)},document:window.document};return t(s),s},Ao=(e,t)=>{if(void 0===e||void 0===t)throw console.trace(),new Error(\"brick\");e.nextFilter.set(t)},Oo=(e,t,n=!1)=>e===t||l(e)&&l(t)&&e.tag===t.tag&&e.type===t.type&&(n||e.variant===t.variant),Eo=(e,t)=>An(De.fromDom(t.getNode()),\"data-list-level\"),Lo=(e,t,n,r)=>{const o=n.getCurrentListType(),s=n.getCurrentLevel()==r.level()?o:null;return(a=r.emblems(),i=s,_(a,(e=>\"ul\"===e.tag||l(i)&&Oo(e,i,!0))).orThunk((()=>U(a)))).filter((e=>!(\"ol\"===e.tag&&(e=>{if(T([\"p\"],e.tag())){const t=((e,t)=>{const n=De.fromDom(e.getNode());return Tn(n,\"class\")})(e);return l(t)&&/^MsoHeading/.test(t)}return!0})(t))));var a,i},No=e=>(t,n,r)=>{const o=r,s=(e=>{const t=parseInt(Tn(e,\"data-list-level\"),10),n=Tn(e,\"data-list-emblems\"),r=l(n)?JSON.parse(n):[];return On(e,\"data-list-level\"),On(e,\"data-list-emblems\"),{level:m(t),emblems:m(r)}})(De.fromDom(o.getNode()));n.originalToken.set(o);const a=((e,t,n)=>(Lo(n.listType.get(),e,n.emitter,t).each(n.listType.set),((e,t,n)=>({level:m(e),token:m(t),type:m(n)}))(t.level(),n.originalToken.get(),n.listType.get())))(o,s,n);n.emitter.openItem(a.level(),a.token(),a.type()),Ao(n,e.inside())},_o=(e,t,n)=>({pred:e,action:t,label:m(n)});var Do=(e,t,n)=>{const r=(e,r,o)=>{_(t,(e=>e.pred(r,o))).fold(m(n),(e=>e.action))(e,r,o)};return r.toString=()=>\"Handlers for \"+e,r};const Po=(e,t)=>({state:m(e),result:m(t)}),Ro=(e,t)=>({state:m(e),value:m(t)}),Mo=(e,t,n,r)=>({level:m(e),type:m(t),types:m(n),items:m(r)}),jo=e=>{const t=e.items().slice(0);if(t.length>0&&\"p\"!==t[t.length-1]){const n=t[t.length-1];t[t.length-1]=\"p\";const r=Mo(e.level(),e.type(),e.types(),t);return Ro(r,k.some(n))}return Ro(e,k.none())},Fo=(e,t,n)=>{let r=[],o=e;for(;t(o);){const e=n(o);o=e.state(),r=r.concat(e.result())}return Po(o,r)},Uo=(e,t,n)=>{const r=t.start&&t.start>1?{start:t.start}:{},o=e.level()+1,s=t,a=e.types().concat([t]),i=[g(vo,t.tag,r,n)],l=Mo(o,s,a,e.items());return Po(l,i)},Bo=e=>{const t=e.types().slice(0),n=[g(yo,t.pop().tag)],r=e.level()-1,o=t[t.length-1],s=Mo(r,o,t,e.items());return Po(s,n)},zo=(e,t,n)=>{const r=(c=t)?(e=>{const t=((e,t)=>{const n=De.fromDom(e.getNode());return Hn(n,\"margin-left\")})(e);return l(t)&&\"0px\"!==t?{\"margin-left\":t}:{}})(c):{\"list-style-type\":\"none\"},o=e.type()&&!Oo(e.type(),n)?((e,t)=>{const n=Bo(e),r=Uo(n.state(),t,t.type?{\"list-style-type\":t.type}:{});return Po(r.state(),n.result().concat(r.result()))})(e,n):Po(e,[]),s=[g(vo,\"li\",{},r)],a=((e,t)=>{const n=e.items().slice(0),r=void 0!==t&&\"p\"!==t?k.some(t):k.none();r.fold((()=>{n.push(\"p\")}),(e=>{n.push(e)}));const o=Mo(e.level(),e.type(),e.types(),n);return Ro(o,r)})(o.state(),t&&t.tag()),i=a.value().map((e=>{const n=t;return co(n.getNode(),x),[m(n)]})).getOr([]);var c;return Po(a.state(),o.result().concat(s).concat(i))},Ho=e=>{const t=g(yo,\"li\"),n=jo(e),r=n.value().fold((()=>[t]),(e=>[g(yo,e),t]));return Po(n.state(),r)},Wo=e=>{if(0===e.length)throw new Error(\"Compose must have at least one element in the list\");const t=e[e.length-1],n=R(e,(e=>e.result()));return Po(t.state(),n)},$o=e=>{const t=Ho(e),n=Bo(t.state());return Wo([t,n])},Vo=(e,t)=>((e,t,n)=>Fo(e,(e=>e.level()>t),n))(e,t,$o),Go=(e,t,n,r)=>{const o=e.level()>t?Vo(e,t):Po(e,[]),s=o.state().level()===t?((e,t,n)=>{const r=e.level()>0?Ho(e):Po(e,[]),o=zo(r.state(),n,t);return Wo([r,o])})(o.state(),r,n):((e,t,n,r)=>{const o=n>1?jo(e):Ro(e,k.none()),s=o.value().map((e=>[g(yo,e)])).getOr([]),a=((e,t,n,r)=>((e,t,n)=>Fo(e,(e=>e.level()<t),n))(e,n,(e=>((e,t,n,r)=>{const o=e.level()===n-1&&t.type?{\"list-style-type\":t.type}:{},s=Uo(e,t,o),a=zo(s.state(),s.state().level()==n?r:void 0,t);return Wo([s,a])})(e,t,n,r))))(o.state(),t,n,r);return Po(a.state(),s.concat(a.result()))})(o.state(),r,t,n);return Wo([o,s])},qo=Vo,Ko=[\"disc\",\"circle\",\"square\"],Jo={getCurrentListType:()=>Yo().getCurrentListType(),getCurrentLevel:()=>Yo().getCurrentLevel(),closeAllLists:()=>Yo().closeAllLists(),openItem:(e,t,n)=>Yo().openItem(e,t,n)};let Yo=()=>({getCurrentListType:m({}),getCurrentLevel:m(1),closeAllLists:d,openItem:p});const Xo={inside:()=>Qo,outside:()=>es},Zo=(()=>{let e=!1;return{check:t=>!(!e||t.type()!==po)||(t.type()===ho&&\"style\"===t.tag()?(e=!0,!0):t.type()===mo&&\"style\"===t.tag()&&(e=!1,!0))}})(),Qo=(e=>Do(\"Inside.List.Item\",[_o(((e,t)=>{const n=e.originalToken.get();return t.type()===mo&&null!==n&&t.tag()===n.tag()}),((t,n)=>{Ao(n,e.outside())}),\"Closing open tag\")],((e,t,n)=>{e.emit(n)})))(Xo),es=(e=>Do(\"Outside.List.Item\",[_o(Eo,No(e),\"Data List ****\"),_o(((e,t)=>t.type()===po&&(e=>e.type()===po&&/^[\\s\\u00A0]*$/.test(e.text()))(t)),((e,t,n)=>{e.emit(n)}),\"Whitespace\")],((t,n,r)=>{n.emitter.closeAllLists(),t.emit(r),Ao(n,e.outside())})))(Xo),ts=(e=>{const t=fe(e),n=fe(null),r=fe(null);return{reset:o=>{t.set(e),n.set(null),r.set(null),Yo=m(((e,t)=>{let n=Mo(0,void 0,[],[]);const r=n=>{O(n.result(),(n=>{const r=n(t);e.emit(r)}))};return{closeAllLists:()=>{const e=qo(n,0);n=e.state(),r(e)},openItem:(e,t,o)=>{if(!o)return;const s=((e,t)=>\"ul\"===e.tag&&Ko[t-1]===e.type?{tag:\"ul\"}:e)(o,e),a=Go(n,e,t,s);n=a.state(),r(a)},getCurrentListType:()=>n.type(),getCurrentLevel:()=>n.level()}})(o,o.document))},nextFilter:t,originalToken:n,listType:r,emitter:Jo}})(es);var ns=Io(((e,t,n)=>{Zo.check(t)||((e,t,n)=>{t.nextFilter.get()(e,t,n)})(e,ts,t)}),ts.reset);const rs=e=>e.dom.textContent,os=[{regex:/^\\(?[dc][\\.\\)]$/,type:{tag:\"ol\",type:\"lower-alpha\"}},{regex:/^\\(?[DC][\\.\\)]$/,type:{tag:\"ol\",type:\"upper-alpha\"}},{regex:/^\\(?M*(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})[\\.\\)]$/,type:{tag:\"ol\",type:\"upper-roman\"}},{regex:/^\\(?m*(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3})[\\.\\)]$/,type:{tag:\"ol\",type:\"lower-roman\"}},{regex:/^\\(?[0-9]+[\\.\\)]$/,type:{tag:\"ol\"}},{regex:/^([0-9]+\\.)*[0-9]+\\.?$/,type:{tag:\"ol\",variant:\"outline\"}},{regex:/^\\(?[a-z]+[\\.\\)]$/,type:{tag:\"ol\",type:\"lower-alpha\"}},{regex:/^\\(?[A-Z]+[\\.\\)]$/,type:{tag:\"ol\",type:\"upper-alpha\"}}],ss={\"\\u2022\":{tag:\"ul\",type:\"disc\"},\"\\xb7\":{tag:\"ul\",type:\"disc\"},\"\\xa7\":{tag:\"ul\",type:\"square\"}},as={o:{tag:\"ul\",type:\"circle\"},\"-\":{tag:\"ul\",type:\"disc\"},\"\\u25cf\":{tag:\"ul\",type:\"disc\"},\"\\ufffd\":{tag:\"ul\",type:\"circle\"}},is=(e,t)=>a(e.variant)?\"(\"===t.charAt(0)?\"()\":\")\"===t.charAt(t.length-1)?\")\":\".\":e.variant,ls=e=>{const t=e.split(\".\"),n=(()=>{if(0===t.length)return e;const n=t[t.length-1];return 0===n.length&&t.length>1?t[t.length-2]:n})(),r=parseInt(n,10);return isNaN(r)?{}:{start:r}},cs=e=>{const t=(e=>oo(e,[\"mso-list\"],b)[\"mso-list\"])(e),n=l(t)&&/ level([0-9]+)/.exec(t);return n&&n[1]?k.some(parseInt(n[1],10)):k.none()},us=(e,t)=>{const n=((e,t)=>{const n=as[e]?[as[e]]:[],r=((e,t)=>t&&ss[e]?[ss[e]]:t?[{tag:\"ul\",variant:e}]:[])(e,t),o=R(os,(t=>t.regex.test(e)?[Xr(t.type,ls(e),{variant:is(t.type,e)})]:[])),s=n.concat(r).concat(o);return A(s,(t=>void 0!==t.variant?t:Xr(t,{variant:e})))})(rs(e).trim(),t);return n.length>0?k.some(n):k.none()},ds=e=>Xn(e,Ce).bind(Bt).filter(Ee(\"span\")),hs=e=>Zn(e,(e=>!!(Te(e)?oo(e,[\"mso-list\"],b):{})[\"mso-list\"])),ms=e=>Te(e)&&$n(e,\"font-family\").exists((e=>T([\"wingdings\",\"symbol\"],e.toLowerCase()))),ps=(e,t,n,r)=>{((e,t,n)=>{Sn(e,\"data-list-level\",t);const r=JSON.stringify(n);Sn(e,\"data-list-emblems\",r)})(e,t,n),(e=>{const t=((e,t)=>{const n=t.getOr(x);return(e=>{const t=[];for(;null!==e.nextNode();)t.push(De.fromDom(e.currentNode));return t})(document.createTreeWalker(e.dom,NodeFilter.SHOW_COMMENT,{acceptNode:e=>n(e.nodeValue)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}))})(e,k.none());O(t,vn)})(e),O(r,vn),On(e,\"style\"),On(e,\"class\")},fs=e=>(e=>cs(e).bind((t=>(e=>Xn(e,ms))(e).bind((n=>us(n,!0).map((r=>({mutate:()=>{ps(e,t,r,[n])}}))))))))(e).orThunk((()=>(e=>cs(e).bind((t=>ds(e).bind((n=>us(n,ms(n)).map((r=>({mutate:()=>{ps(e,t,r,[n])}}))))))))(e))).orThunk((()=>(e=>cs(e).bind((t=>ds(e).bind((n=>us(n,ms(n)).map((r=>({mutate:()=>{ps(e,t,r,[n])}}))))))))(e))).orThunk((()=>(e=>\"p\"!==ke(e)?k.none():cs(e).bind((t=>hs(e).bind((n=>us(n,!1).map((r=>({mutate:()=>{ps(e,t,r,[Ft(n).getOr(n)])}}))))))))(e))).orThunk((()=>(e=>\"p\"!==ke(e)?k.none():hs(e).bind((t=>{const n=Ft(t).getOr(t),r=ms(n);return us(t,r).bind((t=>(e=>$n(e,\"margin-left\").bind((e=>{const t=parseInt(e,10);return isNaN(t)?k.none():k.some(Math.max(1,Math.ceil(t/18)))})))(e).map((r=>({mutate:()=>{ps(e,r,t,[n])}})))))})))(e))),gs=So({tags:[{name:no.pattern(/^(p|h\\d+)$/,no.caseInsensitive),mutate:e=>{fs(e).each((e=>{e.mutate()}))}}]}),vs=ns,ys=e=>{return(o=e,Ce(o)?(t=o,n=\"v:shape\",k.from((r=t,r.dom.nodeValue)).bind((e=>{const t=e.indexOf(\"]>\"),r=(e=>{try{return(new DOMParser).parseFromString(e,\"text/html\").body}catch(t){const n=document.implementation.createHTMLDocument(\"\").body;return n.innerHTML=e,n}})(`<div>${e.slice(t+2,e.lastIndexOf(\"<![\"))}<\/div>`);return Zn(De.fromDom(r),(e=>ke(e)===n))}))):k.none()).map((e=>{const t=Tn(e,\"o:spid\"),n=void 0===t?In(e,\"id\").getOr(\"\"):t,r=De.fromTag(\"img\");return _n(r,\"rtf-data-image\"),Sn(r,\"data-image-id\",n.substr(7)),Sn(r,\"data-image-type\",\"code\"),((e,t)=>{const n=e.dom;Me(t,((e,t)=>{e.fold((()=>{Un(n,t)}),(e=>{Fn(n,t,e)}))}))})(r,{width:$n(e,\"width\"),height:$n(e,\"height\")}),r}));var t,n,r,o},bs=e=>{if(Ee(\"img\")(e)){const t=Tn(e,\"src\");if(null!=t&&$(t,\"file://\")){const n=(e=>((e,t)=>De.fromDom(e.dom.cloneNode(!1)))(e))(e),r=t.split(/[\\/\\\\]/),o=r[r.length-1];return Sn(n,\"data-image-id\",o),On(n,\"src\"),Sn(n,\"data-image-type\",\"local\"),_n(n,\"rtf-data-image\"),k.some(n)}return k.none()}return k.none()};var xs;!function(e){e[e.Word=0]=\"Word\",e[e.GoogleDocs=1]=\"GoogleDocs\",e[e.Html=2]=\"Html\"}(xs||(xs={}));const ks=e=>t=>{In(t,e.attrName).each((n=>{const r=l(e.styleName)?e.styleName:e.attrName;if($n(t,r).isNone()){const o=e.mapValue(n);Bn(t,r,o)}On(t,e.attrName)}))},ws=e=>{const t=ke(e);return\"td\"===t||\"tr\"===t||\"col\"===t||\"th\"===t},Ss=/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,Cs=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,Ts=e=>H(e,\"#\").toUpperCase(),Is=e=>{const t=e.toString(16);return(1===t.length?\"0\"+t:t).toUpperCase()},As=e=>(e=>({value:Ts(e)}))(Is(e.red)+Is(e.green)+Is(e.blue)),Os=/^\\s*rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)\\s*$/i,Es=/^\\s*rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?(?:\\.\\d+)?)\\s*\\)\\s*$/i,Ls=(e,t,n,r)=>({red:e,green:t,blue:n,alpha:r}),Ns=(e,t,n,r)=>{const o=parseInt(e,10),s=parseInt(t,10),a=parseInt(n,10),i=parseFloat(r);return Ls(o,s,a,i)},_s=[\"background-repeat-x\",\"background-repeat-y\"],Ds=e=>{return\"currentcolor\"===e||\"transparent\"===e?e:\"#\"+(t=H(e,\"#\").toUpperCase(),(e=>Ss.test(e)||Cs.test(e))(t)?k.some({value:Ts(t)}):k.none()).orThunk((()=>(e=>{if(\"transparent\"===e)return k.some(Ls(0,0,0,0));const t=Os.exec(e);if(null!==t)return k.some(Ns(t[1],t[2],t[3],\"1\"));const n=Es.exec(e);return null!==n?k.some(Ns(n[1],n[2],n[3],n[4])):k.none()})(e).map(As))).getOrThunk((()=>{const t=document.createElement(\"canvas\");t.height=1,t.width=1;const n=t.getContext(\"2d\");n.clearRect(0,0,t.width,t.height),n.fillStyle=\"#FFFFFF\",n.fillStyle=e,n.fillRect(0,0,1,1);const r=n.getImageData(0,0,1,1).data,o=r[0],s=r[1],a=r[2],i=r[3];return As(Ls(o,s,a,i))})).value;var t},Ps=(e,t)=>{if(a(e))return\"\";switch(t){case\"color\":return Ds(e);case\"font-family\":return e.replace(/['\"]/g,\"\");case\"font-weight\":return(e=>{switch(e){case\"bold\":return\"700\";case\"normal\":return\"400\";default:return e}})(e);default:return V(t,\"-color\")?Ds(e):(e=>e.replace(/^0(pt|px|pc|in|cm|mm|Q|cap|ch|ic|em|ex|lh|rlh|rem|vw|vh|vb|vi|vmax|vmin|%)$/,\"0\"))(e)}},Rs=So({tags:[{name:no.pattern(/^(p|div)$/,no.caseInsensitive),mutate:e=>{const t=\"ltr\"===qn(e),n=t?\"margin-left\":\"margin-right\",r=t?\"padding-left\":\"padding-right\";$n(e,n).each((()=>{const t=Hn(e,n);Bn(e,r,t),Gn(e,n)}))}}]}),Ms=wo({tags:[{name:no.exact(\"b\",no.caseInsensitive),condition:e=>In(e,\"id\").exists((e=>$(e,\"docs-internal-guid\")))}]}),js=ko({attributes:[{name:no.exact(\"id\",no.caseInsensitive),value:no.starts(\"docs-internal-guid\",no.caseInsensitive)}]}),Fs=[So({tags:[{name:no.exact(\"col\",no.caseInsensitive),mutate:ks({attrName:\"width\",mapValue:e=>e.replace(/^(\\d+)$/,\"$1px\")})}]})],Us=e=>So({tags:[{name:no.exact(e.matchTag,no.caseInsensitive),mutate:t=>{var n,r;(n=Vn(t),r=e.key,ze(n,r)?k.from(n[r]):k.none()).exists((t=>T(e.values,t)))&&(mn(t,De.fromTag(e.newTag)),Gn(t,e.key),o(e.removeExtra)&&O(e.removeExtra,(e=>Gn(t,e))))}}]}),Bs=[Us({matchTag:\"span\",key:\"font-weight\",values:[\"700\",\"bold\"],newTag:\"strong\"}),Us({matchTag:\"span\",key:\"font-style\",values:[\"italic\"],newTag:\"em\"}),Us({matchTag:\"span\",key:\"vertical-align\",values:[\"sub\"],newTag:\"sub\",removeExtra:[\"font-size\"]}),Us({matchTag:\"span\",key:\"vertical-align\",values:[\"super\"],newTag:\"sup\",removeExtra:[\"font-size\"]})],zs=e=>t=>{const n=[],r={border:e.browser.isFirefox()?\"medium none\":\"none\",\"text-decoration\":\"none\"},o=(e,t)=>{if(!a(t)){const r=De.fromTag(ke(e));hn(t,r),n.push({me:e,fake:r})}const r=L(Ht(e),Te);O(r,(t=>o(t,e)))};o(t);const s=A(n,(e=>{const{fake:t,me:n}=e,o=Vn(n),s=Ue(o,((e,r)=>{const o=((e,t)=>T(_s,t)?$n(e,\"background-repeat\"):k.none())(n,r).getOr(e),s=((e,t)=>T(_s,t)?Hn(e,\"background-repeat\"):Hn(e,t))(t,r);return Ps(o,r)===Ps(s,r)})),a=Ue(r,((e,t)=>Rn($n(n,t),e)));return{fake:t,me:n,toRemove:s,toPreserve:a}}));O(s,(e=>{const{me:t,toRemove:n,toPreserve:r,fake:o}=e;Me(n,((e,n)=>{Gn(t,n)})),Me(r,((e,n)=>{Bn(t,n,e)})),vn(o)}))},Hs=[\"p\",\"div\",\"article\",\"aside\",\"details\",\"dt\",\"figcaption\",\"footer\",\"form\",\"fieldset\",\"header\",\"hgroup\",\"html\",\"main\",\"nav\",\"section\",\"summary\",\"body\",\"dl\",\"multicol\",\"dd\",\"figure\",\"address\",\"center\",\"blockquote\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"listing\",\"xmp\",\"pre\",\"plaintext\",\"menu\",\"dir\",\"ul\",\"ol\",\"li\",\"hr\",\"table\",\"tbody\",\"thead\",\"tfoot\",\"th\",\"tr\",\"td\",\"caption\"],Ws=ko({styles:[{name:no.exact(\"background-color\",no.caseInsensitive),value:no.exact(\"transparent\",no.caseInsensitive)},{name:no.exact(\"white-space\",no.caseInsensitive),value:no.starts(\"pre\",no.caseInsensitive)},{name:no.exact(\"white-space-collapse\",no.caseInsensitive),value:no.starts(\"preserve\",no.caseInsensitive)},{name:no.exact(\"text-wrap\",no.caseInsensitive),value:no.not(no.exact(\"wrap\",no.caseInsensitive))},{name:no.pattern(/^overflow(-[xy])?$/,no.caseInsensitive),condition:e=>ws(e)&&Rn($n(e,\"overflow\"),\"hidden\")},{name:no.exact(\"overflow-wrap\",no.caseInsensitive),condition:ws},{name:no.exact(\"table-layout\",no.caseInsensitive),value:no.exact(\"fixed\",no.caseInsensitive),condition:Ee(\"table\")},{name:no.exact(\"line-height\",no.caseInsensitive),value:no.exact(\"1.38\",no.caseInsensitive)},{name:no.exact(\"vertical-align\",no.caseInsensitive),value:no.exact(\"baseline\",no.caseInsensitive)},{name:no.exact(\"font-style\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.exact(\"font-variant\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.exact(\"background-color\",no.caseInsensitive),value:no.exact(\"transparent\",no.caseInsensitive)},{name:no.starts(\"padding\",no.caseInsensitive),condition:ws},{name:no.pattern(/^text-decoration(-(line|thickness|style|color))?$/,no.caseInsensitive),condition:e=>!Ee(\"a\")(e)&&Rn($n(e,\"text-decoration\"),\"none\")}],attributes:[{name:no.exact(\"aria-level\",no.caseInsensitive),condition:Ee(\"li\")},{name:no.exact(\"dir\",no.caseInsensitive),value:no.exact(\"ltr\",no.caseInsensitive),condition:e=>T(Hs,ke(e))},{name:no.exact(\"role\",no.caseInsensitive),value:no.exact(\"presentation\",no.caseInsensitive),condition:e=>Ee(\"p\")(e)&&Ft(e).exists(Ee(\"li\"))}]}),$s=ko({styles:[{name:no.exact(\"text-align\",no.caseInsensitive),value:no.exact(\"right\",no.caseInsensitive),condition:e=>\"rtl\"===qn(e)}]}),Vs=So({tags:[{name:no.exact(\"p\",no.caseInsensitive),condition:e=>{const t=t=>$n(e,t).map((e=>parseInt(e,10))).filter((e=>!isNaN(e))).getOr(0),n=qn(e);return t(\"text-indent\")+t(\"rtl\"===n?\"padding-right\":\"padding-left\")===0},mutate:e=>{const t=qn(e);Gn(e,\"text-indent\"),Gn(e,\"rtl\"===t?\"padding-right\":\"padding-left\")}}]}),Gs=e=>t=>Pn(t,e),qs=ve(Ie,\"text\"),Ks=e=>qs.get(e),Js=e=>{const t=e.dom.attributes;return null==t||0===t.length||1===t.length&&\"style\"===t[0].name},Ys=(e,t)=>{const n=De.fromTag(e);cn(t,n);const r=t.dom.attributes;O(r,(e=>{n.dom.setAttribute(e.name,e.value)}));const o=Ht(t);return fn(n,o),vn(t),n},Xs=Ee(\"li\"),Zs=e=>Ut(e).bind((e=>Ie(e)&&0===Ks(e).trim().length?Zs(e):Xs(e)?k.some(e):k.none())),Qs=e=>{const t=Ys(\"span\",e),n={\"font-size\":{1:\"8pt\",2:\"10pt\",3:\"12pt\",4:\"14pt\",5:\"18pt\",6:\"24pt\",7:\"36pt\"}};Me({face:\"font-family\",size:\"font-size\",color:\"color\"},((e,r)=>{In(t,r).each((o=>{const s=n[e],a=void 0!==s&&void 0!==s[o]?s[o]:o;Bn(t,e,a),On(t,r)}))}))},ea=ko({tags:[{name:no.exact(\"script\",no.caseInsensitive)},{name:no.exact(\"link\",no.caseInsensitive)},{name:no.exact(\"style\",no.caseInsensitive),condition:e=>0===Jn(e).length}],attributes:[{name:no.starts(\"on\",no.caseInsensitive)},{name:no.exact('\"',no.caseInsensitive)},{name:no.exact(\"lang\",no.caseInsensitive)},{name:no.exact(\"language\",no.caseInsensitive)}],styles:[{name:no.all(),value:no.pattern(/OLE_LINK/i,no.caseInsensitive)}]}),ta=ko({tags:[{name:no.exact(\"meta\",no.caseInsensitive)}]}),na=ko({tags:[{name:no.exact(\"style\",no.caseInsensitive)}]}),ra=ko({styles:[{name:no.not(no.pattern(/^(width|height|list-style-type)$/,no.caseInsensitive)),condition:e=>!Pn(e,\"ephox-limbo-transform\")},{name:no.pattern(/^(width|height)$/,no.caseInsensitive),condition:e=>{return(e=>\"img\"!==ke(e))(e)&&!(\"table\"===ke(t=e)||ws(t));var t}}]}),oa=(e=[])=>{const t=A(e,(e=>({name:no.exact(e,no.caseInsensitive)})));return wo({tags:t})},sa=ko({classes:[{name:no.not(no.exact(\"rtf-data-image\",no.caseInsensitive))}]}),aa=ko({styles:[{name:no.pattern(/^(mso-.*|tab-stops|tab-interval|language|text-underline|text-effect|text-line-through|font-color|horiz-align|list-image-[0-9]+|separator-image|table-border-color-(dark|light)|vert-align|vnd\\..*)$/,no.caseInsensitive)}]}),ia=ko({classes:[{name:no.pattern(/mso/i,no.caseInsensitive)}]}),la=wo({tags:[{name:no.exact(\"img\",no.caseInsensitive),condition:e=>{const t=Tn(e,\"src\");return n(t)&&/^file:/.test(t)}}]}),ca=wo({tags:[{name:no.exact(\"a\",no.caseInsensitive),condition:Js}]}),ua=ko({attributes:[{name:no.exact(\"style\",no.caseInsensitive),value:no.exact(\"\",no.caseInsensitive)}]}),da=ko({attributes:[{name:no.exact(\"class\",no.caseInsensitive),value:no.exact(\"\",no.caseInsensitive)}]}),ha=wo({tags:[{name:no.pattern(/^(font|em|strong|samp|acronym|cite|code|dfn|kbd|tt|b|i|u|s|sub|sup|ins|del|var|span)$/,no.caseInsensitive),condition:(ma=e=>!Js(e)||(e=>{const t=e.dom.attributes,n=null!=t&&t.length>0;return\"span\"!==ke(e)||n})(e)&&Zn(e,(e=>{const t=!Js(e),n=!T([\"font\",\"em\",\"strong\",\"samp\",\"acronym\",\"cite\",\"code\",\"dfn\",\"kbd\",\"tt\",\"b\",\"i\",\"u\",\"s\",\"sub\",\"sup\",\"ins\",\"del\",\"var\",\"span\"],ke(e));return Ie(e)||t||n})).isSome(),e=>!ma(e))}]});var ma;const pa=So({tags:[{name:no.exact(\"p\",no.caseInsensitive),mutate:e=>{0===Jn(e).length&&hn(e,De.fromTag(\"br\"))}}]}),fa=e=>{const t=Ys(\"span\",e);_n(t,\"ephox-limbo-transform\"),Bn(t,\"text-decoration\",\"underline\")},ga=So({tags:[{name:no.pattern(/ol|ul/,no.caseInsensitive),mutate:e=>{Ft(e).each((t=>{const n=ke(t);T([\"ol\",\"ul\"],n)&&Zs(e).fold((()=>{const t=De.fromTag(\"li\");Bn(t,\"list-style-type\",\"none\"),mn(e,t)}),(t=>{hn(t,e)}))}))}}]}),va=e=>{const t=[{name:\"b\",transform:{mutate:g(Ys,\"strong\")}},{name:\"i\",transform:{mutate:g(Ys,\"em\")}},{name:\"u\",transform:{mutate:fa}},{name:\"s\",transform:{mutate:g(Ys,\"strike\")}},{name:\"font\",transform:{mutate:Qs,debug:!0}}],n=L(t,(t=>!T(e,t.name))).map((e=>({name:no.exact(e.name,no.caseInsensitive),...e.transform})));return So({tags:n})},ya=ko({classes:[{name:no.exact(\"ephox-limbo-transform\",no.caseInsensitive)}]}),ba=ko({tags:[{name:no.exact(\"br\",no.caseInsensitive),condition:Gs(\"Apple-interchange-newline\")}]}),xa=ko({styles:[{name:no.pattern(/^-/,no.caseInsensitive)},{name:no.all(),value:no.exact(\"initial\",no.caseInsensitive)},{name:no.exact(\"background-color\",no.caseInsensitive),value:no.exact(\"transparent\",no.caseInsensitive)},{name:no.exact(\"font-style\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.pattern(/font-variant.*/,no.caseInsensitive)},{name:no.exact(\"letter-spacing\",no.caseInsensitive)},{name:no.exact(\"font-weight\",no.caseInsensitive),value:no.pattern(/400|normal/,no.caseInsensitive)},{name:no.exact(\"orphans\",no.caseInsensitive)},{name:no.exact(\"text-decoration\",no.caseInsensitive),value:no.exact(\"none\",no.caseInsensitive)},{name:no.exact(\"text-size-adjust\",no.caseInsensitive)},{name:no.exact(\"text-indent\",no.caseInsensitive),value:no.exact(\"0px\",no.caseInsensitive)},{name:no.exact(\"text-transform\",no.caseInsensitive),value:no.exact(\"none\",no.caseInsensitive)},{name:no.exact(\"white-space\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.exact(\"widows\",no.caseInsensitive)},{name:no.exact(\"word-spacing\",no.caseInsensitive),value:no.exact(\"0px\",no.caseInsensitive)},{name:no.exact(\"text-align\",no.caseInsensitive),value:no.pattern(/start|end/,no.caseInsensitive)},{name:no.exact(\"font-weight\",no.caseInsensitive),value:no.pattern(/700|bold/,no.caseInsensitive),condition:e=>/^h\\d$/.test(ke(e))}]}),ka=(()=>{const e=(e,t)=>n=>e(n).filter((e=>Ie(n)&&t(rs(e)||\"\",\" \"))).isSome(),t=e(Ut,V),n=e(Bt,$);return So({tags:[{name:no.exact(\"span\",no.caseInsensitive),condition:Gs(\"Apple-converted-space\"),mutate:e=>{\"\\xa0\"===rs(e)&&(t(e)||n(e)?yn(e):(cn(e,De.fromText(\" \")),vn(e)))}}]})})(),wa=(()=>{const e=/^file:\\/\\/\\/[^#]+(#[^#]+)$/;return So({tags:[{name:no.exact(\"a\",no.caseInsensitive),condition:t=>{const n=Tn(t,\"href\");return!!n&&e.test(n)},mutate:t=>{In(t,\"href\").each((n=>{Sn(t,\"href\",n.replace(e,\"$1\"))}))}}]})})(),Sa=ko({attributes:[{name:no.exact(\"href\",no.caseInsensitive),value:no.starts(\"file:///\",no.caseInsensitive)}]}),Ca=(()=>{const e=(e,t,n)=>({name:no.exact(e,no.caseInsensitive),condition:e=>An(e,t),mutate:e=>{In(e,t).each((r=>{Sn(e,n,r),On(e,t)}))}});return So({tags:[e(\"a\",\"data-ephox-href\",\"href\"),e(\"img\",\"data-ephox-src\",\"src\")]})})(),Ta=e=>{const t=[\"table\",\"thead\",\"tbody\",\"tfoot\",\"th\",\"tr\",\"td\",\"ul\",\"ol\",\"li\"],n=Kt(e,Ce),r=_(n,(e=>W(Ne(e),\"StartFragment\"))),o=_(n,(e=>W(Ne(e),\"EndFragment\")));r.each((n=>{o.each((r=>{let o=n;const s=[];let a=((e,t,n,r)=>{const o=tn(e,0,n,0);return De.fromDom(o.commonAncestorContainer)})(n,0,r);for(;void 0!==a&&!At(a,e);)T(t,ke(a))?o=a:s.push(a),a=Ft(a).getOrUndefined();O(s,yn),O(zt(o),vn)})),vn(n)})),o.each(vn)},Ia=So({tags:[{name:no.pattern(/^(img|table)$/,no.caseInsensitive),mutate:e=>{$n(e,\"margin-left\").exists((e=>$(e,\"-\")))&&Gn(e,\"margin-left\"),$(Hn(e,\"margin-left\"),\"-\")&&(Bn(e,\"margin-top\",Hn(e,\"margin-top\")),Bn(e,\"margin-bottom\",Hn(e,\"margin-bottom\")),Bn(e,\"margin-right\",Hn(e,\"margin-right\")),Gn(e,\"margin\"))}}]}),Aa=So({tags:[{name:no.exact(\"p\",no.caseInsensitive),mutate:ks({attrName:\"align\",styleName:\"text-align\",mapValue:p})}]}),Oa=(e,t)=>{return(n=e,qs.getOption(n)).exists((e=>0===t(e).length));var n},Ea=ko({tags:[{name:no.exact(\"font\",no.caseInsensitive),condition:e=>{const t=Ht(e),n=e=>e.replace(/[ \\r\\n\\uFEFF]+/g,\"\");return 0===t.length||M(t,(e=>Oa(e,n)))}}]}),La=e=>O(Ht(e),(e=>{Oa(e,G)&&vn(e)})),Na=So({tags:[{name:no.exact(\"ol\",no.caseInsensitive),mutate:La},{name:no.exact(\"ul\",no.caseInsensitive),mutate:La}]}),_a=wo({tags:[{name:no.pattern(/^([OVWXP]|U[0-9]+|ST[0-9]+):/i,no.caseInsensitive)}]}),Da=[Co([vs])],Pa=ko({attributes:[{name:no.exact(\"height\",no.caseInsensitive),condition:Ee(\"table\")}]}),Ra=ko({attributes:[{name:no.pattern(/^(width|height)$/,no.caseInsensitive),condition:ws}]}),Ma=So({tags:[{name:no.exact(\"table\",no.caseInsensitive),mutate:ks({attrName:\"width\",mapValue:e=>e.replace(/^(\\d+)$/,\"$1px\")})}]}),ja=ko({styles:[{name:no.exact(\"height\",no.caseInsensitive),condition:Ee(\"td\")},{name:no.exact(\"width\",no.caseInsensitive),condition:Ee(\"tr\")},{name:no.exact(\"height\",no.caseInsensitive),condition:Ee(\"col\")}]}),Fa=ko({attributes:[{name:no.pattern(/^v:/,no.caseInsensitive)},{name:no.exact(\"href\",no.caseInsensitive),value:no.contains(\"#_toc\",no.caseInsensitive)},{name:no.exact(\"href\",no.caseInsensitive),value:no.contains(\"#_mso\",no.caseInsensitive)},{name:no.pattern(/^xmlns(:|$)/,no.caseInsensitive)},{name:no.exact(\"type\",no.caseInsensitive),condition:e=>\"ol\"===ke(e)||\"ul\"===ke(e)}]});wo({tags:[{name:no.exact(\"p\",no.caseInsensitive),condition:(\"li\",e=>Ft(e).exists((e=>\"li\"===ke(e)&&1===Ht(e).length)))}]}),So({tags:[{name:no.pattern(/^(img|table)$/,no.caseInsensitive),mutate:e=>{$n(e,\"margin-left\").exists((e=>$(e,\"-\")))&&Gn(e,\"margin-left\"),$(Hn(e,\"margin-left\"),\"-\")&&(Bn(e,\"margin-top\",Hn(e,\"margin-top\")),Bn(e,\"margin-bottom\",Hn(e,\"margin-bottom\")),Bn(e,\"margin-right\",Hn(e,\"margin-right\")),Gn(e,\"margin\"))}}]});const Ua=e=>{const t=[Aa,aa,ia],n=[Aa,ra,oa(e.cleanFilteredInlineElements),sa];return e.merge?t:n},Ba=e=>e.type===xs.Word?[gs]:[],za=e=>e.type===xs.Word?[_a,...Da,Fa]:[],Ha=e=>e.type===xs.GoogleDocs?[Ms]:[],Wa=e=>e.type!==xs.GoogleDocs||e.indentUseMargin?[]:[Rs],$a=(e,t)=>e.type===xs.GoogleDocs?[Ws,...Bs,...Fs,zs(t),$s,Vs,...Wa(e)]:[],Va=e=>e.type===xs.Html&&e.merge?[xa]:[],Ga=e=>e.type===xs.Word?[ja,Ma,Ra,Pa]:[];Nt([{bothErrors:[\"error1\",\"error2\"]},{firstError:[\"error1\",\"value2\"]},{secondError:[\"value1\",\"error2\"]},{bothValues:[\"value1\",\"value2\"]}]);const qa=(e,t)=>Ya(document.createElement(\"canvas\"),e,t),Ka=e=>{const t=qa(e.width,e.height);return Ja(t).drawImage(e,0,0),t},Ja=e=>e.getContext(\"2d\"),Ya=(e,t,n)=>(e.width=t,e.height=n,e),Xa=e=>e.naturalWidth||e.width,Za=e=>e.naturalHeight||e.height,Qa=e=>fetch(e).then((e=>e.ok?e.blob():Promise.reject(new Error(\"Error \"+e.status+\" downloading image\"))),(()=>Promise.reject((()=>{const e=new Error(\"No access to download image\");return e.code=18,e.name=\"SecurityError\",e})()))),ei=e=>{const t=e.split(\",\"),n=/data:([^;]+)/.exec(t[0]);if(!n)return k.none();const r=n[1],o=t[1],s=1024,a=atob(o),i=a.length,l=Math.ceil(i/s),c=new Array(l);for(let e=0;e<l;++e){const t=e*s,n=Math.min(t+s,i),r=new Array(n-t);for(let e=t,o=0;e<n;++o,++e)r[o]=a[e].charCodeAt(0);c[e]=new Uint8Array(r)}return k.some(new Blob(c,{type:r}))},ti=e=>new Promise(((t,n)=>{ei(e).fold((()=>{n(\"uri is not base64: \"+e)}),t)})),ni=(e,t,n)=>(t=t||\"image/png\",c(HTMLCanvasElement.prototype.toBlob)?new Promise(((r,o)=>{e.toBlob((e=>{e?r(e):o()}),t,n)})):ti(e.toDataURL(t,n))),ri=e=>(e=>{const t=URL.createObjectURL(e),n=new Image;return n.src=t,(e=>new Promise(((t,n)=>{const r=()=>{s(),t(e)},o=[Lr(e,\"load\",r),Lr(e,\"error\",(()=>{s(),n(\"Unable to load data from image: \"+e.dom.src)}))],s=()=>O(o,(e=>e.unbind()));e.dom.complete&&r()})))(De.fromDom(n)).then((e=>e.dom))})(e).then((e=>{si(e);const t=qa(Xa(e),Za(e));return Ja(t).drawImage(e,0,0),t})),oi=e=>new Promise((t=>{const n=new FileReader;n.onloadend=()=>{t(n.result)},n.readAsDataURL(e)})),si=e=>{URL.revokeObjectURL(e.src)},ai=(e,t,n)=>{const r=t.type,o=m(r),s=m(n),a=(t,n)=>e.then((e=>((e,t,n)=>(t=t||\"image/png\",e.toDataURL(t,n)))(e,t,n)));return{getType:o,toBlob:()=>Promise.resolve(t),toDataURL:s,toBase64:()=>n.split(\",\")[1],toAdjustedBlob:(t,n)=>e.then((e=>ni(e,t,n))),toAdjustedDataURL:a,toAdjustedBase64:(e,t)=>a(e,t).then((e=>e.split(\",\")[1])),toCanvas:()=>e.then(Ka)}},ii=(e,t)=>ni(e,t).then((t=>ai(Promise.resolve(e),t,e.toDataURL()))),li=(e,t,n)=>{const r=Xa(e),o=Za(e);let s=t/r,a=n/o,i=!1;(s<.5||s>2)&&(s=s<.5?.5:2,i=!0),(a<.5||a>2)&&(a=a<.5?.5:2,i=!0);const l=ci(e,s,a);return i?l.then((e=>li(e,t,n))):l},ci=(e,t,n)=>new Promise((r=>{const o=Xa(e),s=Za(e),a=Math.floor(o*t),i=Math.floor(s*n),l=qa(a,i);Ja(l).drawImage(e,0,0,o,s,0,0,a,i),r(l)})),ui=(e,t=2)=>{const n=Math.pow(10,t),r=Math.round(e*n);return Math.ceil(r/n)},di=(e,t,n,r,o)=>((e,t,n,r,o)=>e.toCanvas().then((s=>((e,t,n,r,o,s)=>{const a=qa(o,s);return Ja(a).drawImage(e,-n,-r),ii(a,t)})(s,e.getType(),t,n,r,o))))(e,t,n,r,o),hi=(e,t)=>((e,t)=>e.toCanvas().then((n=>((e,t,n)=>{const r=(n<0?360+n:n)*Math.PI/180,o=e.width,s=e.height,a=Math.sin(r),i=Math.cos(r),l=ui(Math.abs(o*i)+Math.abs(s*a)),c=ui(Math.abs(o*a)+Math.abs(s*i)),u=qa(l,c),d=Ja(u);return d.translate(l/2,c/2),d.rotate(r),d.drawImage(e,-o/2,-s/2),ii(u,t)})(n,e.getType(),t))))(e,t),mi=(e,t)=>((e,t)=>ai(ri(e),e,t))(e,t),pi=e=>(e=>(e=>{const t=e.src;return 0===t.indexOf(\"data:\")?ti(t):Qa(t)})(e).then((e=>(e=>oi(e).then((t=>ai(ri(e),e,t))))(e))))(e),fi=e=>e.toBlob(),gi=e=>e.toDataURL(),vi=e=>parseInt(e,10),yi=e=>e.isPx&&(e.cropWidth!==e.width||e.cropHeight!==e.height),bi=/rotate\\((\\d\\.\\d+)rad\\)/,xi=(e,t,n)=>pi(e.dom).then((e=>t=>((e,t,n)=>((e,t,n)=>e.toCanvas().then((r=>li(r,t,n).then((t=>ii(t,e.getType()))))))(e,t,n))(t,e.width,e.height))(t)).then(((e,t)=>n=>{if(yi(t)){const r=-1*vi(Hn(e,\"margin-top\")),o=-1*vi(Hn(e,\"margin-left\"));return di(n,o,r,t.cropWidth,t.cropHeight).then((n=>(Cn(e,{width:t.cropWidth,height:t.cropHeight}),n)))}return Promise.resolve(n)})(e,t)).then(((e,t)=>n=>(e=>{const t=Hn(e,\"transform\");return k.from(bi.exec(t)).map((e=>Math.round(parseFloat(e[1])*(180/Math.PI))))})(t).fold((()=>Promise.resolve(n)),(r=>hi(n,r).then((n=>(Gn(t,\"transform\"),On(e,\"width\"),On(e,\"height\"),n))))))(e,n)).then((t=>{const n=gi(t);return Sn(e,\"src\",n),Promise.resolve()})),ki=e=>Ft(e).filter(Ee(\"span\")).map((t=>{const n=()=>((e,t)=>{var n,r,o;Gn(e,\"margin-top\"),Gn(e,\"margin-left\"),Gn(t,\"width\"),Gn(t,\"height\"),Gn(t,\"overflow\"),Gn(t,\"display\"),r=e,o=[\"transform\"],Te(n=t)&&Te(r)&&O(o,(e=>{((e,t,n)=>{$n(e,n).each((e=>{$n(t,n).isNone()&&Bn(t,n,e)}))})(n,r,e)})),Gn(t,\"transform\")})(e,t),r=((e,t)=>{const n=(e,t)=>In(e,t).map(vi).filter((e=>!isNaN(e))).getOr(0),r=Hn(t,\"width\"),o=Hn(t,\"height\"),s=n(e,\"width\"),a=n(e,\"height\"),i=/^\\d+px$/;return{isPx:i.test(r)&&i.test(o),cropWidth:vi(r),cropHeight:vi(o),width:s,height:a}})(e,t);return(yi(r)||bi.test(Hn(t,\"transform\"))?xi(e,r,t):Promise.resolve()).then(n,n)})).getOrThunk((()=>Promise.resolve()));var wi=[\"body\",\"p\",\"div\",\"article\",\"aside\",\"figcaption\",\"figure\",\"footer\",\"header\",\"nav\",\"section\",\"ol\",\"ul\",\"li\",\"table\",\"thead\",\"tbody\",\"tfoot\",\"caption\",\"tr\",\"td\",\"th\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"blockquote\",\"pre\",\"address\"];const Si=(e,t)=>D(e,(e=>e.start===t)),Ci=(e,t,n=0)=>N(e,((e,n)=>t(n,e.len).fold(m(e),(t=>({len:t.finish,list:e.list.concat([t])})))),{len:n,list:[]}).list,Ti=(e,t,n)=>0===t.length?e:R(e,(e=>{const r=R(t,(t=>((e,t)=>t>=e.start&&t<=e.finish)(e,t)?[t-e.start]:[]));return r.length>0?((e,t,n)=>((e,t)=>A(e,(e=>({...e,start:e.start+t,finish:e.finish+t}))))(n(e,t),e.start))(e,r,n):[e]})),Ii=(e,t)=>{const n=R(t,(t=>{const n=((e,t)=>{const n=t.term(),r=[];let o=n.exec(e);for(;o;){const s=o.index+t.prefix(o),a=o[0].length-t.prefix(o)-t.suffix(o);r.push({start:s,finish:s+a}),n.lastIndex=s+a,o=n.exec(e)}return r})(e,t.pattern);return A(n,(e=>({...t,...e})))}));return(e=>{const t=(e=>F(e,((e,t)=>e.start-t.start)))(e);return N(t,((e,t)=>{const n=I(e,(e=>t.start>=e.start&&t.finish<=e.finish));return D(e,(e=>t.start===e.start)).fold((()=>n?e:[...e,t]),(n=>t.finish>e[n].finish?[...e.slice(0,n),t]:e))}),[])})(n)},Ai=(e,t,n)=>({element:e,start:t,finish:n}),Oi=Nt([{include:[\"item\"]},{excludeWith:[\"item\"]},{excludeWithout:[\"item\"]}]),Ei={include:Oi.include,excludeWith:Oi.excludeWith,excludeWithout:Oi.excludeWithout,cata:(e,t,n,r)=>e.fold(t,n,r)},Li=Nt([{boundary:[\"item\",\"universe\"]},{empty:[\"item\",\"universe\"]},{text:[\"item\",\"universe\"]},{nonEditable:[\"item\",\"universe\"]}]),Ni=b,_i=x,Di=m(0),Pi=m(1),Ri=e=>({...e,isBoundary:()=>e.fold(_i,Ni,Ni,Ni),toText:()=>e.fold(k.none,k.none,(e=>k.some(e)),k.none),is:t=>e.fold(Ni,Ni,((e,n)=>n.eq(e,t)),Ni),len:()=>e.fold(Di,Pi,((e,t)=>t.property().getText(e).length),Pi)}),Mi={text:h(Ri,Li.text),boundary:h(Ri,Li.boundary),empty:h(Ri,Li.empty),nonEditable:h(Ri,Li.empty),cata:(e,t,n,r,o)=>e.fold(t,n,r,o)},ji=m([]),Fi=(e,t,n)=>{if(e.property().isText(t))return[Mi.text(t,e)];if(e.property().isEmptyTag(t))return[Mi.empty(t,e)];if(e.property().isNonEditable(t))return[];if(e.property().isElement(t)){const r=e.property().children(t),o=e.property().isBoundary(t)?[Mi.boundary(t,e)]:[],s=void 0!==n&&n(t)?[]:R(r,(t=>Fi(e,t,n)));return o.concat(s).concat(o)}return[]},Ui=Fi,Bi=(e,t,n)=>{const r=((e,t)=>{const n=[];let r=[];return O(e,(e=>{const o=t(e);Ei.cata(o,(()=>{r.push(e)}),(()=>{r.length>0&&n.push(r),n.push([e]),r=[]}),(()=>{r.length>0&&n.push(r),r=[]}))})),r.length>0&&n.push(r),n})(R(t,(t=>Ui(e,t,n))),(e=>e.match({boundary:()=>Ei.excludeWithout(e),empty:()=>Ei.excludeWith(e),text:()=>Ei.include(e),nonEditable:()=>Ei.excludeWithout(e)})));return L(r,(e=>e.length>0))},zi=(e,t,n)=>{const r=R(n,(e=>[e.start,e.finish])),o=Ti(t,r,((t,n)=>((e,t,n)=>{const r=e.property().getText(t),o=L(((e,t)=>{if(0===t.length)return[e];const n=N(t,((t,n)=>{if(0===n)return t;const r=e.substring(t.prev,n);return{prev:n,values:t.values.concat([r])}}),{prev:0,values:[]}),r=t[t.length-1];return r<e.length?n.values.concat(e.substring(r)):n.values})(r,n),(e=>e.length>0));if(o.length<=1)return[Ai(t,0,r.length)];e.property().setText(t,o[0]);const s=Ci(o.slice(1),((t,n)=>{const r=e.create().text(t),o=Ai(r,n,n+t.length);return k.some(o)}),o[0].length),a=A(s,(e=>e.element));return e.insert().afterAll(t,a),[Ai(t,0,o[0].length)].concat(s)})(e,t.element,n)));return A(n,(t=>{const n=((e,t,n)=>{const r=Si(e,t),o=Si(e,n);return r.bind((t=>{const r=o.getOr(((e,t)=>e[e.length-1]&&e[e.length-1].finish===t?e.length+1:-1)(e,n));return r>-1?k.some(e.slice(t,r)):k.none()})).getOr([])})(o,t.start,t.finish),r=A(n,(e=>e.element)),s=A(r,e.property().getText).join(\"\");return{elements:r,word:t.word,exact:s}}))},Hi={up:m({selector:Qn,closest:er,predicate:Yn,all:(e,t)=>{const n=c(t)?t:b;let r=e.dom;const o=[];for(;null!==r.parentNode&&void 0!==r.parentNode;){const e=r.parentNode,t=De.fromDom(e);if(o.push(t),!0===n(t))break;r=e}return o}}),down:m({selector:Jt,predicate:Kt}),styles:m({get:Hn,getRaw:$n,set:Bn,remove:Gn}),attrs:m({get:Tn,set:Sn,remove:On,copyTo:(e,t)=>{const n=N(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{});Cn(t,n)}}),insert:m({before:cn,after:un,afterAll:pn,append:hn,appendAll:fn,prepend:dn,wrap:mn}),remove:m({unwrap:yn,remove:vn}),create:m({nu:De.fromTag,clone:e=>De.fromDom(e.dom.cloneNode(!1)),text:De.fromText}),query:m({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:Ut,nextSibling:Bt}),property:m({children:Ht,name:ke,parent:Ft,document:e=>Mt(e).dom,isText:Ie,isComment:Ce,isElement:Te,isSpecial:e=>{const t=ke(e);return T([\"script\",\"noscript\",\"iframe\",\"noframes\",\"noembed\",\"title\",\"style\",\"textarea\",\"xmp\"],t)},getLanguage:e=>Te(e)?In(e,\"lang\"):k.none(),getText:Ks,setText:(e,t)=>qs.set(e,t),isBoundary:e=>!!Te(e)&&(\"body\"===ke(e)||T(wi,ke(e))),isEmptyTag:e=>!!Te(e)&&T([\"br\",\"img\",\"hr\",\"input\"],ke(e)),isNonEditable:e=>Te(e)&&\"false\"===Tn(e,\"contenteditable\")}),eq:At,is:Ot},Wi=/(?:[A-Za-z][A-Za-z\\d.+-]{0,14}:\\/\\/(?:[-.~*+=!&;:'%@?^${}(),\\w]+@)?|www\\.|[-;:&=+$,.\\w]+@)[A-Za-z\\d-]+(?:\\.[A-Za-z\\d-]+)*(?::\\d+)?(?:\\/(?:[-.~*+=!;:'%@$(),\\/\\w]*[-~*+=%@$()\\/\\w])?)?(?:\\?(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?/g.source,$i=e=>{return((e,t,n)=>((e,t,n,r)=>{const o=Bi(e,t,r),s=R(o,(t=>{const r=R(t,(e=>e.fold(ji,ji,(e=>[e]),ji))),o=A(r,e.property().getText).join(\"\"),s=Ii(o,n),a=((e,t)=>Ci(t,((t,n)=>{const r=n+e.property().getText(t).length;return k.from(Ai(t,n,r))})))(e,r);return zi(e,a,s)}));return s})(Hi,e,t,void 0))(e,[{word:\"__INTERNAL__\",pattern:(t=Wi,((e,t,n,r)=>({term:()=>new RegExp(e,r.getOr(\"g\")),prefix:t,suffix:n}))(t,m(0),m(0),k.none()))}]);var t},Vi=e=>!er(e,\"a\",undefined).isSome(),Gi=(e,t)=>{const n=$i(e);O(n,(e=>{const n=e.exact;if(n.indexOf(\"@\")<0||qi(n)){const r=W(n,\"://\")?n:`${t.defaultProtocol}://${n}`;((e,t)=>{k.from(e[0]).filter(Vi).map((n=>{const r=De.fromTag(\"a\");return cn(n,r),fn(r,e),Sn(r,\"href\",t),r}))})(e.elements,r)}}))},qi=e=>{const t=e.indexOf(\"://\");return t>=3&&t<=9},Ki=(e,t)=>{O(e,(e=>{Te(e)&&$n(e,\"position\").isSome()&&Gn(e,\"position\")}))},Ji=(e,t)=>{const n=L(e,Ee(\"li\"));if(n.length>0){const t=zt(n[0]),r=De.fromTag(\"ul\");if(cn(e[0],r),t.length>0){const e=De.fromTag(\"li\");hn(r,e),fn(e,t)}fn(r,n)}},Yi=(e,t)=>{const n=Ht(e);O([Gi,Ki,Ji],(e=>{e(n,t)}))},Xi={disabled:()=>({discriminator:\"disabled\",data:{}}),fromClipboard:e=>({discriminator:\"fromClipboard\",data:{rtf:e}})},Zi=Pe(Xi),Qi=Xi.disabled,el=Xi.fromClipboard,tl=e=>void 0!==e&&void 0!==e.types&&null!==e.types,nl=(e,t)=>{const n=new RegExp(t,\"i\");return B(e,(e=>Mn(null!==n.exec(e),{type:e,flavor:t})))};function rl(e){return rl=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},rl(e)}function ol(e,t){return ol=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},ol(e,t)}function sl(e,t,n){return sl=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&ol(o,n.prototype),o},sl.apply(null,arguments)}function al(e){return function(e){if(Array.isArray(e))return il(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return il(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?il(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function il(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ll=Object.hasOwnProperty,cl=Object.setPrototypeOf,ul=Object.isFrozen,dl=Object.getPrototypeOf,hl=Object.getOwnPropertyDescriptor,ml=Object.freeze,pl=Object.seal,fl=Object.create,gl=\"undefined\"!=typeof Reflect&&Reflect,vl=gl.apply,yl=gl.construct;vl||(vl=function(e,t,n){return e.apply(t,n)}),ml||(ml=function(e){return e}),pl||(pl=function(e){return e}),yl||(yl=function(e,t){return sl(e,al(t))});var bl,xl=Nl(Array.prototype.forEach),kl=Nl(Array.prototype.pop),wl=Nl(Array.prototype.push),Sl=Nl(String.prototype.toLowerCase),Cl=Nl(String.prototype.toString),Tl=Nl(String.prototype.match),Il=Nl(String.prototype.replace),Al=Nl(String.prototype.indexOf),Ol=Nl(String.prototype.trim),El=Nl(RegExp.prototype.test),Ll=(bl=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return yl(bl,t)});function Nl(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return vl(e,t,r)}}function _l(e,t,n){var r;n=null!==(r=n)&&void 0!==r?r:Sl,cl&&cl(e,null);for(var o=t.length;o--;){var s=t[o];if(\"string\"==typeof s){var a=n(s);a!==s&&(ul(t)||(t[o]=a),s=a)}e[s]=!0}return e}function Dl(e){var t,n=fl(null);for(t in e)!0===vl(ll,e,[t])&&(n[t]=e[t]);return n}function Pl(e,t){for(;null!==e;){var n=hl(e,t);if(n){if(n.get)return Nl(n.get);if(\"function\"==typeof n.value)return Nl(n.value)}e=dl(e)}return function(e){return console.warn(\"fallback value for\",e),null}}var Rl=ml([\"a\",\"abbr\",\"acronym\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"bdi\",\"bdo\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"content\",\"data\",\"datalist\",\"dd\",\"decorator\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"nobr\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"section\",\"select\",\"shadow\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]),Ml=ml([\"svg\",\"a\",\"altglyph\",\"altglyphdef\",\"altglyphitem\",\"animatecolor\",\"animatemotion\",\"animatetransform\",\"circle\",\"clippath\",\"defs\",\"desc\",\"ellipse\",\"filter\",\"font\",\"g\",\"glyph\",\"glyphref\",\"hkern\",\"image\",\"line\",\"lineargradient\",\"marker\",\"mask\",\"metadata\",\"mpath\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialgradient\",\"rect\",\"stop\",\"style\",\"switch\",\"symbol\",\"text\",\"textpath\",\"title\",\"tref\",\"tspan\",\"view\",\"vkern\"]),jl=ml([\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\"]),Fl=ml([\"animate\",\"color-profile\",\"cursor\",\"discard\",\"fedropshadow\",\"font-face\",\"font-face-format\",\"font-face-name\",\"font-face-src\",\"font-face-uri\",\"foreignobject\",\"hatch\",\"hatchpath\",\"mesh\",\"meshgradient\",\"meshpatch\",\"meshrow\",\"missing-glyph\",\"script\",\"set\",\"solidcolor\",\"unknown\",\"use\"]),Ul=ml([\"math\",\"menclose\",\"merror\",\"mfenced\",\"mfrac\",\"mglyph\",\"mi\",\"mlabeledtr\",\"mmultiscripts\",\"mn\",\"mo\",\"mover\",\"mpadded\",\"mphantom\",\"mroot\",\"mrow\",\"ms\",\"mspace\",\"msqrt\",\"mstyle\",\"msub\",\"msup\",\"msubsup\",\"mtable\",\"mtd\",\"mtext\",\"mtr\",\"munder\",\"munderover\"]),Bl=ml([\"maction\",\"maligngroup\",\"malignmark\",\"mlongdiv\",\"mscarries\",\"mscarry\",\"msgroup\",\"mstack\",\"msline\",\"msrow\",\"semantics\",\"annotation\",\"annotation-xml\",\"mprescripts\",\"none\"]),zl=ml([\"#text\"]),Hl=ml([\"accept\",\"action\",\"align\",\"alt\",\"autocapitalize\",\"autocomplete\",\"autopictureinpicture\",\"autoplay\",\"background\",\"bgcolor\",\"border\",\"capture\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"clear\",\"color\",\"cols\",\"colspan\",\"controls\",\"controlslist\",\"coords\",\"crossorigin\",\"datetime\",\"decoding\",\"default\",\"dir\",\"disabled\",\"disablepictureinpicture\",\"disableremoteplayback\",\"download\",\"draggable\",\"enctype\",\"enterkeyhint\",\"face\",\"for\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"id\",\"inputmode\",\"integrity\",\"ismap\",\"kind\",\"label\",\"lang\",\"list\",\"loading\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"minlength\",\"multiple\",\"muted\",\"name\",\"nonce\",\"noshade\",\"novalidate\",\"nowrap\",\"open\",\"optimum\",\"pattern\",\"placeholder\",\"playsinline\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"rev\",\"reversed\",\"role\",\"rows\",\"rowspan\",\"spellcheck\",\"scope\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"srclang\",\"start\",\"src\",\"srcset\",\"step\",\"style\",\"summary\",\"tabindex\",\"title\",\"translate\",\"type\",\"usemap\",\"valign\",\"value\",\"width\",\"xmlns\",\"slot\"]),Wl=ml([\"accent-height\",\"accumulate\",\"additive\",\"alignment-baseline\",\"ascent\",\"attributename\",\"attributetype\",\"azimuth\",\"basefrequency\",\"baseline-shift\",\"begin\",\"bias\",\"by\",\"class\",\"clip\",\"clippathunits\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-profile\",\"color-rendering\",\"cx\",\"cy\",\"d\",\"dx\",\"dy\",\"diffuseconstant\",\"direction\",\"display\",\"divisor\",\"dur\",\"edgemode\",\"elevation\",\"end\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"filterunits\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"fx\",\"fy\",\"g1\",\"g2\",\"glyph-name\",\"glyphref\",\"gradientunits\",\"gradienttransform\",\"height\",\"href\",\"id\",\"image-rendering\",\"in\",\"in2\",\"k\",\"k1\",\"k2\",\"k3\",\"k4\",\"kerning\",\"keypoints\",\"keysplines\",\"keytimes\",\"lang\",\"lengthadjust\",\"letter-spacing\",\"kernelmatrix\",\"kernelunitlength\",\"lighting-color\",\"local\",\"marker-end\",\"marker-mid\",\"marker-start\",\"markerheight\",\"markerunits\",\"markerwidth\",\"maskcontentunits\",\"maskunits\",\"max\",\"mask\",\"media\",\"method\",\"mode\",\"min\",\"name\",\"numoctaves\",\"offset\",\"operator\",\"opacity\",\"order\",\"orient\",\"orientation\",\"origin\",\"overflow\",\"paint-order\",\"path\",\"pathlength\",\"patterncontentunits\",\"patterntransform\",\"patternunits\",\"points\",\"preservealpha\",\"preserveaspectratio\",\"primitiveunits\",\"r\",\"rx\",\"ry\",\"radius\",\"refx\",\"refy\",\"repeatcount\",\"repeatdur\",\"restart\",\"result\",\"rotate\",\"scale\",\"seed\",\"shape-rendering\",\"specularconstant\",\"specularexponent\",\"spreadmethod\",\"startoffset\",\"stddeviation\",\"stitchtiles\",\"stop-color\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke\",\"stroke-width\",\"style\",\"surfacescale\",\"systemlanguage\",\"tabindex\",\"targetx\",\"targety\",\"transform\",\"transform-origin\",\"text-anchor\",\"text-decoration\",\"text-rendering\",\"textlength\",\"type\",\"u1\",\"u2\",\"unicode\",\"values\",\"viewbox\",\"visibility\",\"version\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\",\"width\",\"word-spacing\",\"wrap\",\"writing-mode\",\"xchannelselector\",\"ychannelselector\",\"x\",\"x1\",\"x2\",\"xmlns\",\"y\",\"y1\",\"y2\",\"z\",\"zoomandpan\"]),$l=ml([\"accent\",\"accentunder\",\"align\",\"bevelled\",\"close\",\"columnsalign\",\"columnlines\",\"columnspan\",\"denomalign\",\"depth\",\"dir\",\"display\",\"displaystyle\",\"encoding\",\"fence\",\"frame\",\"height\",\"href\",\"id\",\"largeop\",\"length\",\"linethickness\",\"lspace\",\"lquote\",\"mathbackground\",\"mathcolor\",\"mathsize\",\"mathvariant\",\"maxsize\",\"minsize\",\"movablelimits\",\"notation\",\"numalign\",\"open\",\"rowalign\",\"rowlines\",\"rowspacing\",\"rowspan\",\"rspace\",\"rquote\",\"scriptlevel\",\"scriptminsize\",\"scriptsizemultiplier\",\"selection\",\"separator\",\"separators\",\"stretchy\",\"subscriptshift\",\"supscriptshift\",\"symmetric\",\"voffset\",\"width\",\"xmlns\"]),Vl=ml([\"xlink:href\",\"xml:id\",\"xlink:title\",\"xml:space\",\"xmlns:xlink\"]),Gl=pl(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm),ql=pl(/<%[\\w\\W]*|[\\w\\W]*%>/gm),Kl=pl(/\\${[\\w\\W]*}/gm),Jl=pl(/^data-[\\-\\w.\\u00B7-\\uFFFF]/),Yl=pl(/^aria-[\\-\\w]+$/),Xl=pl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i),Zl=pl(/^(?:\\w+script|data):/i),Ql=pl(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g),ec=pl(/^html$/i),tc=function(){return\"undefined\"==typeof window?null:window},nc=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:tc(),n=function(t){return e(t)};if(n.version=\"2.4.7\",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;var r=t.document,o=t.document,s=t.DocumentFragment,a=t.HTMLTemplateElement,i=t.Node,l=t.Element,c=t.NodeFilter,u=t.NamedNodeMap,d=void 0===u?t.NamedNodeMap||t.MozNamedAttrMap:u,h=t.HTMLFormElement,m=t.DOMParser,p=t.trustedTypes,f=l.prototype,g=Pl(f,\"cloneNode\"),v=Pl(f,\"nextSibling\"),y=Pl(f,\"childNodes\"),b=Pl(f,\"parentNode\");if(\"function\"==typeof a){var x=o.createElement(\"template\");x.content&&x.content.ownerDocument&&(o=x.content.ownerDocument)}var k=function(e,t){if(\"object\"!==rl(e)||\"function\"!=typeof e.createPolicy)return null;var n=null,r=\"data-tt-policy-suffix\";t.currentScript&&t.currentScript.hasAttribute(r)&&(n=t.currentScript.getAttribute(r));var o=\"dompurify\"+(n?\"#\"+n:\"\");try{return e.createPolicy(o,{createHTML:function(e){return e},createScriptURL:function(e){return e}})}catch(e){return console.warn(\"TrustedTypes policy \"+o+\" could not be created.\"),null}}(p,r),w=k?k.createHTML(\"\"):\"\",S=o,C=S.implementation,T=S.createNodeIterator,I=S.createDocumentFragment,A=S.getElementsByTagName,O=r.importNode,E={};try{E=Dl(o).documentMode?o.documentMode:{}}catch(e){}var L={};n.isSupported=\"function\"==typeof b&&C&&void 0!==C.createHTMLDocument&&9!==E;var N,_,D=Gl,P=ql,R=Kl,M=Jl,j=Yl,F=Zl,U=Ql,B=Xl,z=null,H=_l({},[].concat(al(Rl),al(Ml),al(jl),al(Ul),al(zl))),W=null,$=_l({},[].concat(al(Hl),al(Wl),al($l),al(Vl))),V=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),G=null,q=null,K=!0,J=!0,Y=!1,X=!0,Z=!1,Q=!1,ee=!1,te=!1,ne=!1,re=!1,oe=!1,se=!0,ae=!1,ie=!0,le=!1,ce={},ue=null,de=_l({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]),he=null,me=_l({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]),pe=null,fe=_l({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]),ge=\"http://www.w3.org/1998/Math/MathML\",ve=\"http://www.w3.org/2000/svg\",ye=\"http://www.w3.org/1999/xhtml\",be=ye,xe=!1,ke=null,we=_l({},[ge,ve,ye],Cl),Se=[\"application/xhtml+xml\",\"text/html\"],Ce=null,Te=o.createElement(\"form\"),Ie=function(e){return e instanceof RegExp||e instanceof Function},Ae=function(e){Ce&&Ce===e||(e&&\"object\"===rl(e)||(e={}),e=Dl(e),N=N=-1===Se.indexOf(e.PARSER_MEDIA_TYPE)?\"text/html\":e.PARSER_MEDIA_TYPE,_=\"application/xhtml+xml\"===N?Cl:Sl,z=\"ALLOWED_TAGS\"in e?_l({},e.ALLOWED_TAGS,_):H,W=\"ALLOWED_ATTR\"in e?_l({},e.ALLOWED_ATTR,_):$,ke=\"ALLOWED_NAMESPACES\"in e?_l({},e.ALLOWED_NAMESPACES,Cl):we,pe=\"ADD_URI_SAFE_ATTR\"in e?_l(Dl(fe),e.ADD_URI_SAFE_ATTR,_):fe,he=\"ADD_DATA_URI_TAGS\"in e?_l(Dl(me),e.ADD_DATA_URI_TAGS,_):me,ue=\"FORBID_CONTENTS\"in e?_l({},e.FORBID_CONTENTS,_):de,G=\"FORBID_TAGS\"in e?_l({},e.FORBID_TAGS,_):{},q=\"FORBID_ATTR\"in e?_l({},e.FORBID_ATTR,_):{},ce=\"USE_PROFILES\"in e&&e.USE_PROFILES,K=!1!==e.ALLOW_ARIA_ATTR,J=!1!==e.ALLOW_DATA_ATTR,Y=e.ALLOW_UNKNOWN_PROTOCOLS||!1,X=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Z=e.SAFE_FOR_TEMPLATES||!1,Q=e.WHOLE_DOCUMENT||!1,ne=e.RETURN_DOM||!1,re=e.RETURN_DOM_FRAGMENT||!1,oe=e.RETURN_TRUSTED_TYPE||!1,te=e.FORCE_BODY||!1,se=!1!==e.SANITIZE_DOM,ae=e.SANITIZE_NAMED_PROPS||!1,ie=!1!==e.KEEP_CONTENT,le=e.IN_PLACE||!1,B=e.ALLOWED_URI_REGEXP||B,be=e.NAMESPACE||ye,V=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&Ie(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(V.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Ie(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(V.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&\"boolean\"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(V.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Z&&(J=!1),re&&(ne=!0),ce&&(z=_l({},al(zl)),W=[],!0===ce.html&&(_l(z,Rl),_l(W,Hl)),!0===ce.svg&&(_l(z,Ml),_l(W,Wl),_l(W,Vl)),!0===ce.svgFilters&&(_l(z,jl),_l(W,Wl),_l(W,Vl)),!0===ce.mathMl&&(_l(z,Ul),_l(W,$l),_l(W,Vl))),e.ADD_TAGS&&(z===H&&(z=Dl(z)),_l(z,e.ADD_TAGS,_)),e.ADD_ATTR&&(W===$&&(W=Dl(W)),_l(W,e.ADD_ATTR,_)),e.ADD_URI_SAFE_ATTR&&_l(pe,e.ADD_URI_SAFE_ATTR,_),e.FORBID_CONTENTS&&(ue===de&&(ue=Dl(ue)),_l(ue,e.FORBID_CONTENTS,_)),ie&&(z[\"#text\"]=!0),Q&&_l(z,[\"html\",\"head\",\"body\"]),z.table&&(_l(z,[\"tbody\"]),delete G.tbody),ml&&ml(e),Ce=e)},Oe=_l({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),Ee=_l({},[\"foreignobject\",\"desc\",\"title\",\"annotation-xml\"]),Le=_l({},[\"title\",\"style\",\"font\",\"a\",\"script\"]),Ne=_l({},Ml);_l(Ne,jl),_l(Ne,Fl);var _e=_l({},Ul);_l(_e,Bl);var De=function(e){wl(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=w}catch(t){e.remove()}}},Pe=function(e,t){try{wl(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){wl(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),\"is\"===e&&!W[e])if(ne||re)try{De(t)}catch(e){}else try{t.setAttribute(e,\"\")}catch(e){}},Re=function(e){var t,n;if(te)e=\"<remove><\/remove>\"+e;else{var r=Tl(e,/^[\\r\\n\\t ]+/);n=r&&r[0]}\"application/xhtml+xml\"===N&&be===ye&&(e='<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><\/head><body>'+e+\"<\/body><\/html>\");var s=k?k.createHTML(e):e;if(be===ye)try{t=(new m).parseFromString(s,N)}catch(e){}if(!t||!t.documentElement){t=C.createDocument(be,\"template\",null);try{t.documentElement.innerHTML=xe?w:s}catch(e){}}var a=t.body||t.documentElement;return e&&n&&a.insertBefore(o.createTextNode(n),a.childNodes[0]||null),be===ye?A.call(t,Q?\"html\":\"body\")[0]:Q?t.documentElement:a},Me=function(e){return T.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},je=function(e){return\"object\"===rl(i)?e instanceof i:e&&\"object\"===rl(e)&&\"number\"==typeof e.nodeType&&\"string\"==typeof e.nodeName},Fe=function(e,t,r){L[e]&&xl(L[e],(function(e){e.call(n,t,r,Ce)}))},Ue=function(e){var t,r;if(Fe(\"beforeSanitizeElements\",e,null),(r=e)instanceof h&&(\"string\"!=typeof r.nodeName||\"string\"!=typeof r.textContent||\"function\"!=typeof r.removeChild||!(r.attributes instanceof d)||\"function\"!=typeof r.removeAttribute||\"function\"!=typeof r.setAttribute||\"string\"!=typeof r.namespaceURI||\"function\"!=typeof r.insertBefore||\"function\"!=typeof r.hasChildNodes))return De(e),!0;if(El(/[\\u0080-\\uFFFF]/,e.nodeName))return De(e),!0;var o=_(e.nodeName);if(Fe(\"uponSanitizeElement\",e,{tagName:o,allowedTags:z}),e.hasChildNodes()&&!je(e.firstElementChild)&&(!je(e.content)||!je(e.content.firstElementChild))&&El(/<[/\\w]/g,e.innerHTML)&&El(/<[/\\w]/g,e.textContent))return De(e),!0;if(\"select\"===o&&El(/<template/i,e.innerHTML))return De(e),!0;if(!z[o]||G[o]){if(!G[o]&&ze(o)){if(V.tagNameCheck instanceof RegExp&&El(V.tagNameCheck,o))return!1;if(V.tagNameCheck instanceof Function&&V.tagNameCheck(o))return!1}if(ie&&!ue[o]){var s=b(e)||e.parentNode,a=y(e)||e.childNodes;if(a&&s)for(var i=a.length-1;i>=0;--i)s.insertBefore(g(a[i],!0),v(e))}return De(e),!0}return e instanceof l&&!function(e){var t=b(e);t&&t.tagName||(t={namespaceURI:be,tagName:\"template\"});var n=Sl(e.tagName),r=Sl(t.tagName);return!!ke[e.namespaceURI]&&(e.namespaceURI===ve?t.namespaceURI===ye?\"svg\"===n:t.namespaceURI===ge?\"svg\"===n&&(\"annotation-xml\"===r||Oe[r]):Boolean(Ne[n]):e.namespaceURI===ge?t.namespaceURI===ye?\"math\"===n:t.namespaceURI===ve?\"math\"===n&&Ee[r]:Boolean(_e[n]):e.namespaceURI===ye?!(t.namespaceURI===ve&&!Ee[r])&&!(t.namespaceURI===ge&&!Oe[r])&&!_e[n]&&(Le[n]||!Ne[n]):!(\"application/xhtml+xml\"!==N||!ke[e.namespaceURI]))}(e)?(De(e),!0):\"noscript\"!==o&&\"noembed\"!==o&&\"noframes\"!==o||!El(/<\\/no(script|embed|frames)/i,e.innerHTML)?(Z&&3===e.nodeType&&(t=e.textContent,t=Il(t,D,\" \"),t=Il(t,P,\" \"),t=Il(t,R,\" \"),e.textContent!==t&&(wl(n.removed,{element:e.cloneNode()}),e.textContent=t)),Fe(\"afterSanitizeElements\",e,null),!1):(De(e),!0)},Be=function(e,t,n){if(se&&(\"id\"===t||\"name\"===t)&&(n in o||n in Te))return!1;if(J&&!q[t]&&El(M,t));else if(K&&El(j,t));else if(!W[t]||q[t]){if(!(ze(e)&&(V.tagNameCheck instanceof RegExp&&El(V.tagNameCheck,e)||V.tagNameCheck instanceof Function&&V.tagNameCheck(e))&&(V.attributeNameCheck instanceof RegExp&&El(V.attributeNameCheck,t)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(t))||\"is\"===t&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&El(V.tagNameCheck,n)||V.tagNameCheck instanceof Function&&V.tagNameCheck(n))))return!1}else if(pe[t]);else if(El(B,Il(n,U,\"\")));else if(\"src\"!==t&&\"xlink:href\"!==t&&\"href\"!==t||\"script\"===e||0!==Al(n,\"data:\")||!he[e])if(Y&&!El(F,Il(n,U,\"\")));else if(n)return!1;return!0},ze=function(e){return e.indexOf(\"-\")>0},He=function(e){var t,r,o,s;Fe(\"beforeSanitizeAttributes\",e,null);var a=e.attributes;if(a){var i={attrName:\"\",attrValue:\"\",keepAttr:!0,allowedAttributes:W};for(s=a.length;s--;){var l=t=a[s],c=l.name,u=l.namespaceURI;if(r=\"value\"===c?t.value:Ol(t.value),o=_(c),i.attrName=o,i.attrValue=r,i.keepAttr=!0,i.forceKeepAttr=void 0,Fe(\"uponSanitizeAttribute\",e,i),r=i.attrValue,!i.forceKeepAttr&&(Pe(c,e),i.keepAttr))if(X||!El(/\\/>/i,r)){Z&&(r=Il(r,D,\" \"),r=Il(r,P,\" \"),r=Il(r,R,\" \"));var d=_(e.nodeName);if(Be(d,o,r)){if(!ae||\"id\"!==o&&\"name\"!==o||(Pe(c,e),r=\"user-content-\"+r),k&&\"object\"===rl(p)&&\"function\"==typeof p.getAttributeType)if(u);else switch(p.getAttributeType(d,o)){case\"TrustedHTML\":r=k.createHTML(r);break;case\"TrustedScriptURL\":r=k.createScriptURL(r)}try{u?e.setAttributeNS(u,c,r):e.setAttribute(c,r),kl(n.removed)}catch(e){}}}else Pe(c,e)}Fe(\"afterSanitizeAttributes\",e,null)}},We=function e(t){var n,r=Me(t);for(Fe(\"beforeSanitizeShadowDOM\",t,null);n=r.nextNode();)Fe(\"uponSanitizeShadowNode\",n,null),Ue(n)||(n.content instanceof s&&e(n.content),He(n));Fe(\"afterSanitizeShadowDOM\",t,null)};return n.sanitize=function(e){var o,a,l,c,u,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((xe=!e)&&(e=\"\\x3c!--\\x3e\"),\"string\"!=typeof e&&!je(e)){if(\"function\"!=typeof e.toString)throw Ll(\"toString is not a function\");if(\"string\"!=typeof(e=e.toString()))throw Ll(\"dirty is not a string, aborting\")}if(!n.isSupported){if(\"object\"===rl(t.toStaticHTML)||\"function\"==typeof t.toStaticHTML){if(\"string\"==typeof e)return t.toStaticHTML(e);if(je(e))return t.toStaticHTML(e.outerHTML)}return e}if(ee||Ae(d),n.removed=[],\"string\"==typeof e&&(le=!1),le){if(e.nodeName){var h=_(e.nodeName);if(!z[h]||G[h])throw Ll(\"root node is forbidden and cannot be sanitized in-place\")}}else if(e instanceof i)1===(a=(o=Re(\"\\x3c!----\\x3e\")).ownerDocument.importNode(e,!0)).nodeType&&\"BODY\"===a.nodeName||\"HTML\"===a.nodeName?o=a:o.appendChild(a);else{if(!ne&&!Z&&!Q&&-1===e.indexOf(\"<\"))return k&&oe?k.createHTML(e):e;if(!(o=Re(e)))return ne?null:oe?w:\"\"}o&&te&&De(o.firstChild);for(var m=Me(le?e:o);l=m.nextNode();)3===l.nodeType&&l===c||Ue(l)||(l.content instanceof s&&We(l.content),He(l),c=l);if(c=null,le)return e;if(ne){if(re)for(u=I.call(o.ownerDocument);o.firstChild;)u.appendChild(o.firstChild);else u=o;return(W.shadowroot||W.shadowrootmod)&&(u=O.call(r,u,!0)),u}var p=Q?o.outerHTML:o.innerHTML;return Q&&z[\"!doctype\"]&&o.ownerDocument&&o.ownerDocument.doctype&&o.ownerDocument.doctype.name&&El(ec,o.ownerDocument.doctype.name)&&(p=\"<!DOCTYPE \"+o.ownerDocument.doctype.name+\">\\n\"+p),Z&&(p=Il(p,D,\" \"),p=Il(p,P,\" \"),p=Il(p,R,\" \")),k&&oe?k.createHTML(p):p},n.setConfig=function(e){Ae(e),ee=!0},n.clearConfig=function(){Ce=null,ee=!1},n.isValidAttribute=function(e,t,n){Ce||Ae({});var r=_(e),o=_(t);return Be(r,o,n)},n.addHook=function(e,t){\"function\"==typeof t&&(L[e]=L[e]||[],wl(L[e],t))},n.removeHook=function(e){if(L[e])return kl(L[e])},n.removeHooks=function(e){L[e]&&(L[e]=[])},n.removeAllHooks=function(){L={}},n}();const rc=[\"script\",\"svg\"],oc=e=>-1!==e.lastIndexOf(\"<\/html>\"),sc=e=>({sanitizeHtml:(t,n)=>e(t)?t:((e,t)=>{nc.addHook(\"uponSanitizeElement\",((e,t)=>{T(rc,t.tagName)||ze(t.allowedTags,t.tagName)||(t.allowedTags[t.tagName]=!0)})),nc.addHook(\"uponSanitizeAttribute\",((e,t)=>{0===t.attrName.indexOf(\"on\")||ze(t.allowedAttributes,t.attrName)||(t.allowedAttributes[t.attrName]=!0),t.attrValue&&-1!==t.attrValue.indexOf(\"\\n\")&&(t.attrValue=t.attrValue.replace(/\\r?\\n/g,\"\"))}));const n=(e=>$(G(e),\"<!\"))(e),r=n?`<body>${e}<\/body>`:(e=>e.replace(/^[\\S\\s]*?(<!DOCTYPE|<html)/i,\"$1\"))(e),o=nc.sanitize(r,{ALLOW_UNKNOWN_PROTOCOLS:!0,FORBID_TAGS:rc,WHOLE_DOCUMENT:oc(e)});return nc.removeHook(\"uponSanitizeElement\"),nc.removeHook(\"uponSanitizeAttribute\"),n?(s=H(o,\"<body>\"),V(s,\"<\/body>\")?((e,t)=>e.substring(0,e.length-7))(s):s):o;var s})(t),sanitizeText:p}),ac={sanitizeHtml:p,sanitizeText:p},ic=e=>t=>({discriminator:e,data:t}),lc=e=>t=>t.discriminator===e?k.some(t.data):k.none(),cc=ic(\"event\"),uc=ic(\"html\"),dc=ic(\"images\"),hc=ic(\"word\"),mc=ic(\"text\"),pc=ic(\"void\"),fc=lc(\"html\"),gc=lc(\"images\"),vc=lc(\"word\"),yc=lc(\"text\"),bc=[\"^image/\",\"file\"],xc=e=>(e=>W(e,\"<html\")&&(W(e,'xmlns:o=\"urn:schemas-microsoft-com:office:office\"')||W(e,'xmlns:x=\"urn:schemas-microsoft-com:office:excel\"')))(e)||(e=>W(e,'meta name=\"ProgId\" content=\"Word.Document\"'))(e),kc=e=>W(e,'id=\"docs-internal-guid-'),wc=e=>e.length>0,Sc=(e,t)=>nl(e.types,t).map((t=>e.getData(t.type))).filter(wc),Cc=e=>Sc(e,\"html\"),Tc=e=>Cc(e).filter(kc),Ic=e=>k.from(e.clipboardData).filter(tl),Ac=e=>{const t=De.fromTag(\"div\"),n=((e,t)=>To(e,t,[Ta]))(Rt(t),e);return((e,t)=>{const n=Rt(e).dom,r=De.fromDom(n.createDocumentFragment()),o=Kn(t,n);fn(r,o),gn(e),hn(e,r)})(t,n),uc({container:t})},Oc={native:\"Outside of Textbox.io pasting HTML5 API (could be internal)\",fallback:\"Outside of Textbox.io pasting offscreen (could be internal)\",msoffice:\"Word Import pasting\",googledocs:\"Google Docs pasting\",image:\"Image pasting\",plaintext:\"Only plain text is available to paste\",text:\"Plain text pasting\",none:\"There is no valid way to paste\",discard:\"There is no valid way to paste, discarding content\"},Ec={getLabelForApi:e=>{const t=Pe(Oc);return _(t,(t=>Oc[t]===e)).fold(m(\"unknown\"),(e=>{switch(e){case\"native\":case\"fallback\":return\"html\";case\"none\":case\"discard\":return\"invalid\";default:return e}}))},...Oc},Lc=e=>A(e,(e=>e.asset)),Nc=(e,t,n)=>{const r=Ct({cancel:St([]),error:St([\"message\"]),insert:St([\"elements\",\"assets\",\"correlated\",\"isInternal\",\"source\",\"mode\"]),block:St([\"state\"])});let o=!1;r.registry.block.bind((e=>o=e.state));const s=(n,o)=>{r.trigger.block(!0);const s=((e,t,n)=>{const r=((e,t)=>B(e,(e=>e.getAvailable(t).map((t=>Kr(e.steps,t,e.label,e.capture()))))))(e,n);return r.getOrThunk((()=>{const e=t.getAvailable(n);return Kr(t.steps,e,t.label,t.capture())}))})(e,t,n);s.capture&&o();const a=((e,t)=>{const n={response:Fr([],[]),bundle:Wr({})},r=N(e,((e,n)=>qr(e)?e.then((e=>Yr(e,t,n))):Yr(e,t,n)),n);return qr(r)?r:Promise.resolve(r)})(s.steps,s.input),i=Ec.getLabelForApi(s.label);a.then((e=>{const t=e.bundle.isInternal.getOr(!1),n=e.bundle.officeStyles.fold(m(\"auto\"),(e=>e?\"merge\":\"clean\"));r.trigger.block(!1),Mr(e.response,(e=>{r.trigger.error(e)}),((e,o)=>{r.trigger.insert(e,Lc(o),o,t,i,n)}),(()=>{r.trigger.cancel()}),((e,o,s)=>{r.trigger.insert(e,Lc(o),o,t,i,n),r.trigger.error(s)}))}))};return{paste:e=>{const t=jt(De.fromDom(e.target));ln(t.dom).each((t=>{if(!Pn(t.start,sr())){const t=((e,t=ac)=>{const n=e=>{return void 0===e.items?k.none():(t=bc,n=e.types,B(t,(e=>nl(n,e)))).map((t=>{const n=[];for(let t=0;t<e.items.length;t++)n.push(e.items[t]);return dc({images:n})}));var t,n},r=e=>B(e.types,(n=>\"text/plain\"===n?k.some(e.getData(n)).map((e=>mc({text:t.sanitizeText(e)}))):k.none()));return{getWordData:()=>Ic(e).bind((e=>(e=>Cc(e).filter(xc))(e).map((t=>{const n=(e=>Sc(e,\"rtf\"))(e);return hc({html:t,rtf:n.fold((()=>Qi()),(e=>el(e)))})})))),getGoogleDocsData:()=>Ic(e).bind(Tc).map((e=>t.sanitizeHtml(e,\"googledocs\"))).map(Ac),getImage:()=>Ic(e).bind(n),getText:()=>Ic(e).bind(r),getHtml:()=>Ic(e).bind(Cc).map(t.sanitizeHtml).map(Ac),getOnlyText:()=>Ic(e).bind((e=>{return 1===(t=e.types).length&&\"text/plain\"===t[0]?r(e):k.none();var t})),getNative:()=>cc({nativeEvent:e}),getVoid:()=>pc({})}})(e,n);s(t,(()=>{e.preventDefault()}))}}))},pasteCustom:(e,t=d)=>{s(e,t)},isBlocked:()=>o,destroy:d,events:r.registry}},_c=e=>oi(e);var Dc={cata:(e,t,n)=>e.fold(t,n),...Nt([{blob:[\"id\",\"imageresult\",\"objurl\"]},{url:[\"id\",\"url\",\"raw\"]}])};const Pc=e=>{const t=URL.createObjectURL(e);return Rc(e,t)},Rc=(e,t)=>_c(e).then((n=>{const r=mi(e,n),o=kn(\"image\");return Dc.blob(o,r,t)})),Mc=e=>Promise.all(A(e,Pc)),jc=(e,t)=>({asset:e,image:t}),Fc=(e,t)=>Dc.cata(e,((e,n,r)=>(Sn(t,\"src\",r),!0)),b),Uc=(e,t)=>{const n=[];return O(e,((e,r)=>{const o=t[r];Fc(e,o)&&n.push(jc(e,o))})),n},Bc=(e,t)=>({asyncAsset:e.then(Ir.value,Ir.error),image:t}),zc=e=>{const t=De.fromTag(\"div\");return fn(t,e),Jt(t,\"img[src]\")},Hc=e=>0===e.indexOf(\"data:\")&&e.indexOf(\"base64\")>-1,Wc=e=>0===e.indexOf(\"blob:\"),$c=e=>In(e,\"src\").exists((e=>Hc(e)||Wc(e))),Vc=e=>R(zc(e),(e=>{const t=In(e,\"src\").getOr(\"\");return Hc(t)?((e,t)=>{return(n=t,ei(n)).map((t=>Bc(Pc(t),e)));var n})(e,t).toArray():Wc(t)?((e,t)=>{return(n=t,k.from(0===(r=n).indexOf(\"blob:\")?Qa(r):0===r.indexOf(\"data:\")?ti(r):null)).map((t=>{const n=t.then(Pc);return Bc(n,e)}));var n,r})(e,t).toArray():[]})),Gc=e=>{const t=L(e,(e=>!Ee(\"img\")(e)||!$c(e)));return Br(t,[],\"errors.local.images.disallowed\")};var qc=e=>(t,n)=>{const r=()=>Promise.resolve(n),o=(t,o)=>!1===e.allowLocalImages?(e=>{const t=L(zc(e),$c);return O(t,vn),Promise.resolve({response:t.length>0?Gc(e):n.response,bundle:n.bundle})})(t):0===o.length?(e=>{const t=Vc(e),r=Promise.all(A(t,(e=>e.asyncAsset))),o=A(t,(e=>e.image));return r.then((t=>{const r=(e=>{const t=[],n=[];return O(e,(e=>{e.fold((e=>{t.push(e)}),(e=>{n.push(e)}))})),{errors:t,values:n}})(t),s=Uc(r.values,o);return{response:r.errors.length>0?Br(e,s,\"errors.imageimport.failed\"):Fr(e,s),bundle:n.bundle}}))})(t):r();return Mr(n.response,Vr,o,r,o)};const Kc=(e,t,n=!1)=>fetch(e,{credentials:n?\"include\":\"same-origin\",headers:t}).then((async e=>{const t=await e.blob();return{ok:e.ok,status:e.status,blob:t}}),(()=>({ok:!1,status:0}))),Jc=[{code:404,message:\"Could not find Image Proxy\"},{code:403,message:\"Rejected request\"},{code:0,message:\"Incorrect Image Proxy URL\"}],Yc=[{type:\"not_found\",message:\"Failed to load image.\"},{type:\"key_missing\",message:\"The request did not include an api key.\"},{type:\"key_not_found\",message:\"The provided api key could not be found.\"},{type:\"domain_not_trusted\",message:\"The api key is not valid for the request origins.\"}],Xc=e=>{const t=(e=>{const t=_(Jc,(t=>e===t.code)).fold(m(\"Unknown ImageProxy error\"),(e=>e.message));return\"ImageProxy HTTP error: \"+t})(e);return Promise.reject(t)},Zc=e=>_(Yc,(t=>t.type===e)).fold(m(\"Unknown service error\"),(e=>e.message)),Qc=e=>(e=>new Promise(((t,n)=>{const r=new FileReader;r.onload=()=>{t(r.result)},r.onerror=e=>{n(e)},r.readAsText(e)})))(e).then((e=>{const t=(e=>{const t=(e=>{try{return k.some(JSON.parse(e))}catch(e){return k.none()}})(e),n=t.bind((e=>((e,t)=>{const n=N([\"error\",\"type\"],((e,t)=>l(e)?e[t]:void 0),e);return k.from(n)})(e).map(Zc))).getOr(\"Invalid JSON in service error message\");return\"ImageProxy Service error: \"+n})(e);return Promise.reject(t)})),eu=(e,t,n=!0)=>t?((e,t)=>{const n={\"Content-Type\":\"application/json;charset=UTF-8\",\"tiny-api-key\":t};return Kc(((e,t)=>{const n=-1===e.indexOf(\"?\")?\"?\":\"&\";return/[?&]apiKey=/.test(e)?e:e+n+\"apiKey=\"+encodeURIComponent(t)})(e,t),n).then((e=>{return e.ok?Promise.resolve(e.blob):((e,t)=>\"application/json\"===(null==t?void 0:t.type)&&(400===e||403===e||404===e||500===e))(t=e.status,n=e.blob)?Qc(n):Xc(t);var t,n}))})(e,t):((e,t)=>Kc(e,{},t).then((e=>e.ok?Promise.resolve(e.blob):Xc(e.status))))(e,n),tu=/^(?:([^:\\/?#]+):)?(?:\\/\\/((?:(([^:@\\/]*)(?::([^:@\\/]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?))?((((?:[^?#\\/]*\\/)*)([^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,nu=/^(?:(?![^:@\\/]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@\\/]*)(?::([^:@\\/]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/,ru=/(?:^|&)([^&=]+)=?([^&]*)/g,ou=e=>{const t={};for(;;){const n=ru.exec(e);if(null===n)return t;t[n[1]]=n[2]}},su=(e,t)=>{const n=()=>Promise.resolve({response:t.response,bundle:t.bundle}),r=e=>_c(e).then((t=>{const n=kn(\"image\"),r=mi(e,t),o=URL.createObjectURL(e);return Dc.blob(n,r,o)})),o=(e,t)=>Dc.url(kn(\"image\"),t,e),s=(e,n)=>{let s=!1;const a=R(e,(e=>Jt(e,\"img\")));return Promise.all(A(a,(e=>{const t=e.dom.src;return(e=>{const t=((e,t={})=>{var n;return((e,t)=>{const n=(t?tu:nu).exec(e),r=j([\"source\",\"protocol\",\"authority\",\"userInfo\",\"user\",\"password\",\"host\",\"port\",\"relative\",\"path\",\"directory\",\"file\",\"query\",\"anchor\"],((e,t)=>{var r;return null!==(r=n[t])&&void 0!==r?r:\"\"}));return{...r,queryKey:ou(r.query)}})(e,null!==(n=t.strictMode)&&void 0!==n&&n)})(e);return W(t.host,\"google\")&&!$(t.path,\"/drawings/\")})(t)?eu(e.dom.src,void 0,!0).then(r,(()=>(s=!0,o(e,t)))):o(e,t)}))).then((r=>{const o=n.concat(Uc(r,a));return{response:s?Br(e,o,\"errors.imageimport.failed\"):Fr(e,o),bundle:t.bundle}}),(()=>({response:jr(\"errors.imageimport.invalid\"),bundle:t.bundle})))};return Mr(t.response,n,s,n,s)},au=e=>{const t=cu(e);return t&&iu(e)||!t&&lu(e)},iu=e=>e.officeStyles.getOr(!0),lu=e=>e.htmlStyles.getOr(!1),cu=e=>e.isWord.getOr(!1),uu=e=>e.isInternal.getOr(!1),du=e=>cu(e)?xs.Word:(e=>e.isGoogleDocs.getOr(!1))(e)?xs.GoogleDocs:xs.Html,hu=(e,t)=>{const n=((e,t)=>{const n=t.translations,r=e=>k.some(Xr(t,{officeStyles:e,gdocsStyles:e,htmlStyles:e}));return{get:o=>{const s=(e=>{switch(e){case xs.Word:return\"officeStyles\";case xs.GoogleDocs:return\"gdocsStyles\";default:return\"htmlStyles\"}})(o),a=t[s];return c(a)?a().then((e=>r(\"merge\"===e)),(e=>(console.error(e),r(!1)))):\"clean\"===a?Promise.resolve(r(!1)):\"merge\"===a?Promise.resolve(r(!0)):new Promise((t=>{const o=De.fromTag(\"div\");_n(o,pr(\"styles-dialog-content\"));const s=De.fromTag(\"p\"),a=Kn(n(\"cement.dialog.paste.instructions\"));fn(s,a),hn(o,s);const i={text:n(\"cement.dialog.paste.clean\"),tabindex:0,className:pr(\"clean-styles\"),click:()=>{c(),t(r(!1))}},l={text:n(\"cement.dialog.paste.merge\"),tabindex:1,className:pr(\"merge-styles\"),click:()=>{c(),t(r(!0))}},c=()=>{u.destroy()},u=e();u.setTitle(n(\"cement.dialog.paste.title\")),u.setContent(o),u.setButtons([i,l]),u.events.close.bind((()=>{c(),t(k.none())})),u.show()}))},destroy:d}})(e,t);return(e,t)=>{const r=t.bundle,o=t.response;return n.get(du(r)).then((e=>e.fold((()=>({response:Ur(),bundle:t.bundle})),(e=>({response:o,bundle:Wr({officeStyles:e.officeStyles,gdocsStyles:e.gdocsStyles,htmlStyles:e.htmlStyles})})))))}},mu=(e,t)=>(n,r)=>uu(r.bundle)?(e=>Promise.resolve({response:r.response,bundle:Wr({officeStyles:e,gdocsStyles:e,htmlStyles:e})}))(!0):hu(e,t)(n,r),pu=(e,t)=>{if(!qt(e))throw new Error(\"Internal error: attempted to write to an iframe that is not in the DOM\");const n=(e=>(e=>{const t=e.dom;try{return((e,t)=>null!=e?k.some(t(e)):k.none())(t.contentWindow?t.contentWindow.document:t.contentDocument,De.fromDom)}catch(e){return console.log(\"Error reading iframe: \",t),console.log(\"Error was: \"+e),k.none()}})(e).getOrThunk((()=>Rt(e))))(e),r=n.dom;r.open(\"text/html\",\"replace\"),r.write(t),r.close()};var fu=Object.create,gu=Object.defineProperty,vu=Object.getOwnPropertyDescriptor,yu=Object.getOwnPropertyNames,bu=Object.getPrototypeOf,xu=Object.prototype.hasOwnProperty,ku=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),wu=(e,t)=>{for(var n in t)gu(e,n,{get:t[n],enumerable:!0})},Su=ku((e=>{var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");e.encode=function(e){if(0<=e&&e<t.length)return t[e];throw new TypeError(\"Must be between 0 and 63: \"+e)},e.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}})),Cu=ku((e=>{var t=Su();e.encode=function(e){var n,r,o=\"\",s=(r=e)<0?1+(-r<<1):0+(r<<1);do{n=31&s,(s>>>=5)>0&&(n|=32),o+=t.encode(n)}while(s>0);return o},e.decode=function(e,n,r){var o,s,a=e.length,i=0,l=0;do{if(n>=a)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(s=t.decode(e.charCodeAt(n++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(n-1));o=!!(32&s),i+=(s&=31)<<l,l+=5}while(o);r.value=function(e){var t=e>>1;return 1==(1&e)?-t:t}(i),r.rest=n}})),Tu=ku((e=>{e.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('\"'+t+'\" is a required argument.')};var t=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,n=/^data:.+\\,.+$/;function r(e){var n=e.match(t);return n?{scheme:n[1],auth:n[2],host:n[3],port:n[4],path:n[5]}:null}function o(e){var t=\"\";return e.scheme&&(t+=e.scheme+\":\"),t+=\"//\",e.auth&&(t+=e.auth+\"@\"),e.host&&(t+=e.host),e.port&&(t+=\":\"+e.port),e.path&&(t+=e.path),t}e.urlParse=r,e.urlGenerate=o;var s=function(t){var n=[];return function(t){for(var s=0;s<n.length;s++)if(n[s].input===t){var a=n[0];return n[0]=n[s],n[s]=a,n[0].result}var i=function(t){var n=t,s=r(t);if(s){if(!s.path)return t;n=s.path}for(var a=e.isAbsolute(n),i=[],l=0,c=0;;){if(l=c,-1===(c=n.indexOf(\"/\",l))){i.push(n.slice(l));break}for(i.push(n.slice(l,c));c<n.length&&\"/\"===n[c];)c++}var u,d=0;for(c=i.length-1;c>=0;c--)\".\"===(u=i[c])?i.splice(c,1):\"..\"===u?d++:d>0&&(\"\"===u?(i.splice(c+1,d),d=0):(i.splice(c,2),d--));return\"\"===(n=i.join(\"/\"))&&(n=a?\"/\":\".\"),s?(s.path=n,o(s)):n}(t);return n.unshift({input:t,result:i}),n.length>32&&n.pop(),i}}();function a(e,t){\"\"===e&&(e=\".\"),\"\"===t&&(t=\".\");var a=r(t),i=r(e);if(i&&(e=i.path||\"/\"),a&&!a.scheme)return i&&(a.scheme=i.scheme),o(a);if(a||t.match(n))return t;if(i&&!i.host&&!i.path)return i.host=t,o(i);var l=\"/\"===t.charAt(0)?t:s(e.replace(/\\/+$/,\"\")+\"/\"+t);return i?(i.path=l,o(i)):l}e.normalize=s,e.join=a,e.isAbsolute=function(e){return\"/\"===e.charAt(0)||t.test(e)},e.relative=function(e,t){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var n=0;0!==t.indexOf(e+\"/\");){var r=e.lastIndexOf(\"/\");if(r<0||(e=e.slice(0,r)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++n}return Array(n+1).join(\"../\")+t.substr(e.length+1)};var i=!(\"__proto__\"in Object.create(null));function l(e){return e}function c(e){if(!e)return!1;var t=e.length;if(t<9||95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function u(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}e.toSetString=i?l:function(e){return c(e)?\"$\"+e:e},e.fromSetString=i?l:function(e){return c(e)?e.slice(1):e},e.compareByOriginalPositions=function(e,t,n){var r=u(e.source,t.source);return 0!==r||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||n||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:u(e.name,t.name)},e.compareByOriginalPositionsNoSource=function(e,t,n){var r;return 0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||n||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:u(e.name,t.name)},e.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||n||0!==(r=u(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:u(e.name,t.name)},e.compareByGeneratedPositionsDeflatedNoLine=function(e,t,n){var r=e.generatedColumn-t.generatedColumn;return 0!==r||n||0!==(r=u(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:u(e.name,t.name)},e.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||0!==(n=u(e.source,t.source))||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:u(e.name,t.name)},e.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\)]}'[^\\n]*\\n/,\"\"))},e.computeSourceURL=function(e,t,n){if(t=t||\"\",e&&(\"/\"!==e[e.length-1]&&\"/\"!==t[0]&&(e+=\"/\"),t=e+t),n){var i=r(n);if(!i)throw new Error(\"sourceMapURL could not be parsed\");if(i.path){var l=i.path.lastIndexOf(\"/\");l>=0&&(i.path=i.path.substring(0,l+1))}t=a(o(i),t)}return s(t)}})),Iu=ku((e=>{var t=Tu(),n=Object.prototype.hasOwnProperty,r=typeof Map<\"u\";function o(){this._array=[],this._set=r?new Map:Object.create(null)}o.fromArray=function(e,t){for(var n=new o,r=0,s=e.length;r<s;r++)n.add(e[r],t);return n},o.prototype.size=function(){return r?this._set.size:Object.getOwnPropertyNames(this._set).length},o.prototype.add=function(e,o){var s=r?e:t.toSetString(e),a=r?this.has(e):n.call(this._set,s),i=this._array.length;(!a||o)&&this._array.push(e),a||(r?this._set.set(e,i):this._set[s]=i)},o.prototype.has=function(e){if(r)return this._set.has(e);var o=t.toSetString(e);return n.call(this._set,o)},o.prototype.indexOf=function(e){if(r){var o=this._set.get(e);if(o>=0)return o}else{var s=t.toSetString(e);if(n.call(this._set,s))return this._set[s]}throw new Error('\"'+e+'\" is not in the set.')},o.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error(\"No element indexed by \"+e)},o.prototype.toArray=function(){return this._array.slice()},e.ArraySet=o})),Au=ku((e=>{var t=Tu();function n(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}n.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},n.prototype.add=function(e){!function(e,n){var r=e.generatedLine,o=n.generatedLine,s=e.generatedColumn,a=n.generatedColumn;return o>r||o==r&&a>=s||t.compareByGeneratedPositionsInflated(e,n)<=0}(this._last,e)?(this._sorted=!1,this._array.push(e)):(this._last=e,this._array.push(e))},n.prototype.toArray=function(){return this._sorted||(this._array.sort(t.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},e.MappingList=n})),Ou=ku((e=>{var t=Cu(),n=Tu(),r=Iu().ArraySet,o=Au().MappingList;function s(e){e||(e={}),this._file=n.getArg(e,\"file\",null),this._sourceRoot=n.getArg(e,\"sourceRoot\",null),this._skipValidation=n.getArg(e,\"skipValidation\",!1),this._sources=new r,this._names=new r,this._mappings=new o,this._sourcesContents=null}s.prototype._version=3,s.fromSourceMap=function(e){var t=e.sourceRoot,r=new s({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var o={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(o.source=e.source,null!=t&&(o.source=n.relative(t,o.source)),o.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(o.name=e.name)),r.addMapping(o)})),e.sources.forEach((function(o){var s=o;null!==t&&(s=n.relative(t,o)),r._sources.has(s)||r._sources.add(s);var a=e.sourceContentFor(o);null!=a&&r.setSourceContent(o,a)})),r},s.prototype.addMapping=function(e){var t=n.getArg(e,\"generated\"),r=n.getArg(e,\"original\",null),o=n.getArg(e,\"source\",null),s=n.getArg(e,\"name\",null);this._skipValidation||this._validateMapping(t,r,o,s),null!=o&&(o=String(o),this._sources.has(o)||this._sources.add(o)),null!=s&&(s=String(s),this._names.has(s)||this._names.add(s)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:o,name:s})},s.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=n.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[n.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[n.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},s.prototype.applySourceMap=function(e,t,o){var s=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');s=e.file}var a=this._sourceRoot;null!=a&&(s=n.relative(a,s));var i=new r,l=new r;this._mappings.unsortedForEach((function(t){if(t.source===s&&null!=t.originalLine){var r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=r.source&&(t.source=r.source,null!=o&&(t.source=n.join(o,t.source)),null!=a&&(t.source=n.relative(a,t.source)),t.originalLine=r.line,t.originalColumn=r.column,null!=r.name&&(t.name=r.name))}var c=t.source;null!=c&&!i.has(c)&&i.add(c);var u=t.name;null!=u&&!l.has(u)&&l.add(u)}),this),this._sources=i,this._names=l,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=o&&(t=n.join(o,t)),null!=a&&(t=n.relative(a,t)),this.setSourceContent(t,r))}),this)},s.prototype._validateMapping=function(e,t,n,r){if(t&&\"number\"!=typeof t.line&&\"number\"!=typeof t.column)throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if(!(e&&\"line\"in e&&\"column\"in e&&e.line>0&&e.column>=0)||t||n||r){if(e&&\"line\"in e&&\"column\"in e&&t&&\"line\"in t&&\"column\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n)return;throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:e,source:n,original:t,name:r}))}},s.prototype._serializeMappings=function(){for(var e,r,o,s,a=0,i=1,l=0,c=0,u=0,d=0,h=\"\",m=this._mappings.toArray(),p=0,f=m.length;p<f;p++){if(e=\"\",(r=m[p]).generatedLine!==i)for(a=0;r.generatedLine!==i;)e+=\";\",i++;else if(p>0){if(!n.compareByGeneratedPositionsInflated(r,m[p-1]))continue;e+=\",\"}e+=t.encode(r.generatedColumn-a),a=r.generatedColumn,null!=r.source&&(s=this._sources.indexOf(r.source),e+=t.encode(s-d),d=s,e+=t.encode(r.originalLine-1-c),c=r.originalLine-1,e+=t.encode(r.originalColumn-l),l=r.originalColumn,null!=r.name&&(o=this._names.indexOf(r.name),e+=t.encode(o-u),u=o)),h+=e}return h},s.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=n.relative(t,e));var r=n.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},s.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},s.prototype.toString=function(){return JSON.stringify(this.toJSON())},e.SourceMapGenerator=s}));function Eu(e){return e>=48&&e<=57}function Lu(e){return Eu(e)||e>=65&&e<=70||e>=97&&e<=102}function Nu(e){return e>=65&&e<=90}function _u(e){return function(e){return Nu(e)||function(e){return e>=97&&e<=122}(e)}(e)||function(e){return e>=128}(e)||95===e}function Du(e){return _u(e)||Eu(e)||45===e}function Pu(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e}function Ru(e){return 10===e||13===e||12===e}function Mu(e){return Ru(e)||32===e||9===e}function ju(e,t){return!(92!==e||Ru(t)||0===t)}function Fu(e,t,n){return 45===e?_u(t)||45===t||ju(t,n):!!_u(e)||92===e&&ju(e,t)}function Uu(e,t,n){return 43===e||45===e?Eu(t)?2:46===t&&Eu(n)?3:0:46===e?Eu(t)?2:0:Eu(e)?1:0}function Bu(e){return 65279===e||65534===e?1:0}var zu=new Array(128),Hu=130,Wu=131,$u=132,Vu=133;for(let e=0;e<zu.length;e++)zu[e]=Mu(e)&&Hu||Eu(e)&&Wu||_u(e)&&$u||Pu(e)&&Vu||e||128;function Gu(e){return e<128?zu[e]:$u}function qu(e,t){return t<e.length?e.charCodeAt(t):0}function Ku(e,t,n){return 13===n&&10===qu(e,t+1)?2:1}function Ju(e,t,n){let r=e.charCodeAt(t);return Nu(r)&&(r|=32),r===n}function Yu(e,t,n,r){if(n-t!==r.length||t<0||n>e.length)return!1;for(let o=t;o<n;o++){let n=r.charCodeAt(o-t),s=e.charCodeAt(o);if(Nu(s)&&(s|=32),s!==n)return!1}return!0}function Xu(e,t){for(;t<e.length&&Mu(e.charCodeAt(t));t++);return t}function Zu(e,t){for(;t<e.length&&Eu(e.charCodeAt(t));t++);return t}function Qu(e,t){if(Lu(qu(e,(t+=2)-1))){for(let n=Math.min(e.length,t+5);t<n&&Lu(qu(e,t));t++);let n=qu(e,t);Mu(n)&&(t+=Ku(e,t,n))}return t}function ed(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(!Du(n)){if(ju(n,qu(e,t+1))){t=Qu(e,t)-1;continue}break}}return t}function td(e,t){let n=e.charCodeAt(t);if((43===n||45===n)&&(n=e.charCodeAt(t+=1)),Eu(n)&&(t=Zu(e,t+1),n=e.charCodeAt(t)),46===n&&Eu(e.charCodeAt(t+1))&&(t=Zu(e,t+=2)),Ju(e,t,101)){let r=0;n=e.charCodeAt(t+1),(45===n||43===n)&&(r=1,n=e.charCodeAt(t+2)),Eu(n)&&(t=Zu(e,t+1+r+1))}return t}function nd(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(41===n){t++;break}ju(n,qu(e,t+1))&&(t=Qu(e,t))}return t}function rd(e){if(1===e.length&&!Lu(e.charCodeAt(0)))return e[0];let t=parseInt(e,16);return(0===t||t>=55296&&t<=57343||t>1114111)&&(t=65533),String.fromCodePoint(t)}var od=[\"EOF-token\",\"ident-token\",\"function-token\",\"at-keyword-token\",\"hash-token\",\"string-token\",\"bad-string-token\",\"url-token\",\"bad-url-token\",\"delim-token\",\"number-token\",\"percentage-token\",\"dimension-token\",\"whitespace-token\",\"CDO-token\",\"CDC-token\",\"colon-token\",\"semicolon-token\",\"comma-token\",\"[-token\",\"]-token\",\"(-token\",\")-token\",\"{-token\",\"}-token\"];function sd(e=null,t){return null===e||e.length<t?new Uint32Array(Math.max(t+1024,16384)):e}function ad(e){let t=e.source,n=t.length,r=t.length>0?Bu(t.charCodeAt(0)):0,o=sd(e.lines,n),s=sd(e.columns,n),a=e.startLine,i=e.startColumn;for(let e=r;e<n;e++){let r=t.charCodeAt(e);o[e]=a,s[e]=i++,(10===r||13===r||12===r)&&(13===r&&e+1<n&&10===t.charCodeAt(e+1)&&(e++,o[e]=a,s[e]=i),a++,i=1)}o[n]=a,s[n]=i,e.lines=o,e.columns=s,e.computed=!0}var id=16777215,ld=24,cd=new Map([[2,22],[21,22],[19,20],[23,24]]);function ud(e,t){function n(t){return t<i?e.charCodeAt(t):0}function r(){return c=td(e,c),Fu(n(c),n(c+1),n(c+2))?(a=12,void(c=ed(e,c))):37===n(c)?(a=11,void c++):void(a=10)}function o(){let t=c;return c=ed(e,c),Yu(e,t,c,\"url\")&&40===n(c)?(c=Xu(e,c+1),34===n(c)||39===n(c)?(a=2,void(c=t+4)):void function(){for(a=7,c=Xu(e,c);c<e.length;c++){let t=e.charCodeAt(c);switch(Gu(t)){case 41:return void c++;case Hu:return c=Xu(e,c),41===n(c)||c>=e.length?void(c<e.length&&c++):(c=nd(e,c),void(a=8));case 34:case 39:case 40:case Vu:return c=nd(e,c),void(a=8);case 92:if(ju(t,n(c+1))){c=Qu(e,c)-1;break}return c=nd(e,c),void(a=8)}}}()):40===n(c)?(a=2,void c++):void(a=1)}function s(t){for(t||(t=n(c++)),a=5;c<e.length;c++){let r=e.charCodeAt(c);switch(Gu(r)){case t:return void c++;case Hu:if(Ru(r))return c+=Ku(e,c,r),void(a=6);break;case 92:if(c===e.length-1)break;let o=n(c+1);Ru(o)?c+=Ku(e,c+1,o):ju(r,o)&&(c=Qu(e,c)-1)}}}let a,i=(e=String(e||\"\")).length,l=Bu(n(0)),c=l;for(;c<i;){let i=e.charCodeAt(c);switch(Gu(i)){case Hu:a=13,c=Xu(e,c+1);break;case 34:s();break;case 35:Du(n(c+1))||ju(n(c+1),n(c+2))?(a=4,c=ed(e,c+1)):(a=9,c++);break;case 39:s();break;case 40:a=21,c++;break;case 41:a=22,c++;break;case 43:Uu(i,n(c+1),n(c+2))?r():(a=9,c++);break;case 44:a=18,c++;break;case 45:Uu(i,n(c+1),n(c+2))?r():45===n(c+1)&&62===n(c+2)?(a=15,c+=3):Fu(i,n(c+1),n(c+2))?o():(a=9,c++);break;case 46:Uu(i,n(c+1),n(c+2))?r():(a=9,c++);break;case 47:42===n(c+1)?(a=25,c=e.indexOf(\"*/\",c+2),c=-1===c?e.length:c+2):(a=9,c++);break;case 58:a=16,c++;break;case 59:a=17,c++;break;case 60:33===n(c+1)&&45===n(c+2)&&45===n(c+3)?(a=14,c+=4):(a=9,c++);break;case 64:Fu(n(c+1),n(c+2),n(c+3))?(a=3,c=ed(e,c+1)):(a=9,c++);break;case 91:a=19,c++;break;case 92:ju(i,n(c+1))?o():(a=9,c++);break;case 93:a=20,c++;break;case 123:a=23,c++;break;case 125:a=24,c++;break;case Wu:r();break;case $u:o();break;default:a=9,c++}t(a,l,l=c)}}var dd,hd=(dd=Ou(),((e,t,n,r)=>{if(t&&\"object\"==typeof t||\"function\"==typeof t)for(let n of yu(t))!xu.call(e,n)&&\"default\"!==n&&gu(e,n,{get:()=>t[n],enumerable:!(r=vu(t,n))||r.enumerable});return e})((e=>gu(e,\"__esModule\",{value:!0}))(gu(null!=dd?fu(bu(dd)):{},\"default\",{value:dd,enumerable:!0})),dd)),md=new Set([\"Atrule\",\"Selector\",\"Declaration\"]),pd={};wu(pd,{safe:()=>xd,spec:()=>bd});var fd=(e,t)=>{if(9===e&&(e=t),\"string\"==typeof e){let t=e.charCodeAt(0);return t>127?32768:t<<8}return e},gd=[[1,1],[1,2],[1,7],[1,8],[1,\"-\"],[1,10],[1,11],[1,12],[1,15],[1,21],[3,1],[3,2],[3,7],[3,8],[3,\"-\"],[3,10],[3,11],[3,12],[3,15],[4,1],[4,2],[4,7],[4,8],[4,\"-\"],[4,10],[4,11],[4,12],[4,15],[12,1],[12,2],[12,7],[12,8],[12,\"-\"],[12,10],[12,11],[12,12],[12,15],[\"#\",1],[\"#\",2],[\"#\",7],[\"#\",8],[\"#\",\"-\"],[\"#\",10],[\"#\",11],[\"#\",12],[\"#\",15],[\"-\",1],[\"-\",2],[\"-\",7],[\"-\",8],[\"-\",\"-\"],[\"-\",10],[\"-\",11],[\"-\",12],[\"-\",15],[10,1],[10,2],[10,7],[10,8],[10,10],[10,11],[10,12],[10,\"%\"],[10,15],[\"@\",1],[\"@\",2],[\"@\",7],[\"@\",8],[\"@\",\"-\"],[\"@\",15],[\".\",10],[\".\",11],[\".\",12],[\"+\",10],[\"+\",11],[\"+\",12],[\"/\",\"*\"]],vd=gd.concat([[1,4],[12,4],[4,4],[3,21],[3,5],[3,16],[11,11],[11,12],[11,2],[11,\"-\"],[22,1],[22,2],[22,11],[22,12],[22,4],[22,\"-\"]]);function yd(e){let t=new Set(e.map((([e,t])=>fd(e)<<16|fd(t))));return function(e,n,r){let o=fd(n,r),s=r.charCodeAt(0);return(45===s&&1!==n&&2!==n&&15!==n||43===s?t.has(e<<16|s<<8):t.has(e<<16|o))&&this.emit(\" \",13,!0),o}}var bd=yd(gd),xd=yd(vd);function kd(e,t){if(\"function\"!=typeof t)e.children.forEach(this.node,this);else{let n=null;e.children.forEach((e=>{null!==n&&t.call(this,n),this.node(e),n=e}))}}function wd(e){ud(e,((t,n,r)=>{this.token(t,e.slice(n,r))}))}var Sd={};wu(Sd,{AnPlusB:()=>Dd,Atrule:()=>Pd,AtrulePrelude:()=>Rd,AttributeSelector:()=>Vd,Block:()=>Gd,Brackets:()=>qd,CDC:()=>Kd,CDO:()=>Jd,ClassSelector:()=>Xd,Combinator:()=>Qd,Comment:()=>eh,Declaration:()=>th,DeclarationList:()=>nh,Dimension:()=>rh,Function:()=>oh,Hash:()=>sh,IdSelector:()=>ch,Identifier:()=>ih,MediaFeature:()=>uh,MediaQuery:()=>dh,MediaQueryList:()=>hh,NestingSelector:()=>ph,Nth:()=>gh,Number:()=>vh,Operator:()=>yh,Parentheses:()=>bh,Percentage:()=>kh,PseudoClassSelector:()=>Sh,PseudoElementSelector:()=>Th,Ratio:()=>Ih,Raw:()=>Eh,Rule:()=>Lh,Selector:()=>_h,SelectorList:()=>Ph,String:()=>Bh,StyleSheet:()=>zh,TypeSelector:()=>Vh,UnicodeRange:()=>Gh,Url:()=>Qh,Value:()=>em,WhiteSpace:()=>tm});var Cd=43,Td=45,Id=110,Ad=!0;function Od(e,t){let n=this.tokenStart+e,r=this.charCodeAt(n);for((r===Cd||r===Td)&&(t&&this.error(\"Number sign is not allowed\"),n++);n<this.tokenEnd;n++)Eu(this.charCodeAt(n))||this.error(\"Integer is expected\",n)}function Ed(e){return Od.call(this,0,e)}function Ld(e,t){if(!this.cmpChar(this.tokenStart+e,t)){let n=\"\";switch(t){case Id:n=\"N is expected\";break;case Td:n=\"HyphenMinus is expected\"}this.error(n,this.tokenStart+e)}}function Nd(){let e=0,t=0,n=this.tokenType;for(;13===n||25===n;)n=this.lookupType(++e);if(10!==n){if(!this.isDelim(Cd,e)&&!this.isDelim(Td,e))return null;t=this.isDelim(Cd,e)?Cd:Td;do{n=this.lookupType(++e)}while(13===n||25===n);10!==n&&(this.skip(e),Ed.call(this,Ad))}return e>0&&this.skip(e),0===t&&(n=this.charCodeAt(this.tokenStart),n!==Cd&&n!==Td&&this.error(\"Number sign is expected\")),Ed.call(this,0!==t),t===Td?\"-\"+this.consume(10):this.consume(10)}function _d(){let e=this.tokenStart,t=null,n=null;if(10===this.tokenType)Ed.call(this,!1),n=this.consume(10);else if(1===this.tokenType&&this.cmpChar(this.tokenStart,Td))switch(t=\"-1\",Ld.call(this,1,Id),this.tokenEnd-this.tokenStart){case 2:this.next(),n=Nd.call(this);break;case 3:Ld.call(this,2,Td),this.next(),this.skipSC(),Ed.call(this,Ad),n=\"-\"+this.consume(10);break;default:Ld.call(this,2,Td),Od.call(this,3,Ad),this.next(),n=this.substrToCursor(e+2)}else if(1===this.tokenType||this.isDelim(Cd)&&1===this.lookupType(1)){let r=0;switch(t=\"1\",this.isDelim(Cd)&&(r=1,this.next()),Ld.call(this,0,Id),this.tokenEnd-this.tokenStart){case 1:this.next(),n=Nd.call(this);break;case 2:Ld.call(this,1,Td),this.next(),this.skipSC(),Ed.call(this,Ad),n=\"-\"+this.consume(10);break;default:Ld.call(this,1,Td),Od.call(this,2,Ad),this.next(),n=this.substrToCursor(e+r+1)}}else if(12===this.tokenType){let r=this.charCodeAt(this.tokenStart),o=r===Cd||r===Td,s=this.tokenStart+o;for(;s<this.tokenEnd&&Eu(this.charCodeAt(s));s++);s===this.tokenStart+o&&this.error(\"Integer is expected\",this.tokenStart+o),Ld.call(this,s-this.tokenStart,Id),t=this.substring(e,s),s+1===this.tokenEnd?(this.next(),n=Nd.call(this)):(Ld.call(this,s-this.tokenStart+1,Td),s+2===this.tokenEnd?(this.next(),this.skipSC(),Ed.call(this,Ad),n=\"-\"+this.consume(10)):(Od.call(this,s-this.tokenStart+2,Ad),this.next(),n=this.substrToCursor(s+1)))}else this.error();return null!==t&&t.charCodeAt(0)===Cd&&(t=t.substr(1)),null!==n&&n.charCodeAt(0)===Cd&&(n=n.substr(1)),{type:\"AnPlusB\",loc:this.getLocation(e,this.tokenStart),a:t,b:n}}function Dd(e){if(e.a){let t=(\"+1\"===e.a||\"1\"===e.a?\"n\":\"-1\"===e.a&&\"-n\")||e.a+\"n\";if(e.b){let n=\"-\"===e.b[0]||\"+\"===e.b[0]?e.b:\"+\"+e.b;this.tokenize(t+n)}else this.tokenize(t)}else this.tokenize(e.b)}function Pd(e){this.token(3,\"@\"+e.name),null!==e.prelude&&this.node(e.prelude),e.block?this.node(e.block):this.token(17,\";\")}function Rd(e){this.children(e)}var Md=36,jd=42,Fd=61,Ud=94,Bd=124,zd=126;function Hd(){this.eof&&this.error(\"Unexpected end of input\");let e=this.tokenStart,t=!1;return this.isDelim(jd)?(t=!0,this.next()):this.isDelim(Bd)||this.eat(1),this.isDelim(Bd)?this.charCodeAt(this.tokenStart+1)!==Fd?(this.next(),this.eat(1)):t&&this.error(\"Identifier is expected\",this.tokenEnd):t&&this.error(\"Vertical line is expected\"),{type:\"Identifier\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e)}}function Wd(){let e=this.tokenStart,t=this.charCodeAt(e);return t!==Fd&&t!==zd&&t!==Ud&&t!==Md&&t!==jd&&t!==Bd&&this.error(\"Attribute selector (=, ~=, ^=, $=, *=, |=) is expected\"),this.next(),t!==Fd&&(this.isDelim(Fd)||this.error(\"Equal sign is expected\"),this.next()),this.substrToCursor(e)}function $d(){let e,t=this.tokenStart,n=null,r=null,o=null;return this.eat(19),this.skipSC(),e=Hd.call(this),this.skipSC(),20!==this.tokenType&&(1!==this.tokenType&&(n=Wd.call(this),this.skipSC(),r=5===this.tokenType?this.String():this.Identifier(),this.skipSC()),1===this.tokenType&&(o=this.consume(1),this.skipSC())),this.eat(20),{type:\"AttributeSelector\",loc:this.getLocation(t,this.tokenStart),name:e,matcher:n,value:r,flags:o}}function Vd(e){this.token(9,\"[\"),this.node(e.name),null!==e.matcher&&(this.tokenize(e.matcher),this.node(e.value)),null!==e.flags&&this.token(1,e.flags),this.token(9,\"]\")}function Gd(e){this.token(23,\"{\"),this.children(e,(e=>{\"Declaration\"===e.type&&this.token(17,\";\")})),this.token(24,\"}\")}function qd(e){this.token(9,\"[\"),this.children(e),this.token(9,\"]\")}function Kd(){this.token(15,\"--\\x3e\")}function Jd(){this.token(14,\"\\x3c!--\")}function Yd(){return this.eatDelim(46),{type:\"ClassSelector\",loc:this.getLocation(this.tokenStart-1,this.tokenEnd),name:this.consume(1)}}function Xd(e){this.token(9,\".\"),this.token(1,e.name)}function Zd(){let e,t=this.tokenStart;switch(this.tokenType){case 13:e=\" \";break;case 9:switch(this.charCodeAt(this.tokenStart)){case 62:case 43:case 126:this.next();break;case 47:this.next(),this.eatIdent(\"deep\"),this.eatDelim(47);break;default:this.error(\"Combinator is expected\")}e=this.substrToCursor(t)}return{type:\"Combinator\",loc:this.getLocation(t,this.tokenStart),name:e}}function Qd(e){this.tokenize(e.name)}function eh(e){this.token(25,\"/*\"+e.value+\"*/\")}function th(e){this.token(1,e.property),this.token(16,\":\"),this.node(e.value),e.important&&(this.token(9,\"!\"),this.token(1,!0===e.important?\"important\":e.important))}function nh(e){this.children(e,(e=>{\"Declaration\"===e.type&&this.token(17,\";\")}))}function rh(e){this.token(12,e.value+e.unit)}function oh(e){this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\")}function sh(e){this.token(4,\"#\"+e.value)}function ah(){return{type:\"Identifier\",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:this.consume(1)}}function ih(e){this.token(1,e.name)}function lh(){let e=this.tokenStart;return this.eat(4),{type:\"IdSelector\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e+1)}}function ch(e){this.token(9,\"#\"+e.name)}function uh(e){this.token(21,\"(\"),this.token(1,e.name),null!==e.value&&(this.token(16,\":\"),this.node(e.value)),this.token(22,\")\")}function dh(e){this.children(e)}function hh(e){this.children(e,(()=>this.token(18,\",\")))}function mh(){let e=this.tokenStart;return this.eatDelim(38),{type:\"NestingSelector\",loc:this.getLocation(e,this.tokenStart)}}function ph(){this.token(9,\"&\")}function fh(){this.skipSC();let e,t=this.tokenStart,n=t,r=null;return e=this.lookupValue(0,\"odd\")||this.lookupValue(0,\"even\")?this.Identifier():this.AnPlusB(),n=this.tokenStart,this.skipSC(),this.lookupValue(0,\"of\")&&(this.next(),r=this.SelectorList(),n=this.tokenStart),{type:\"Nth\",loc:this.getLocation(t,n),nth:e,selector:r}}function gh(e){this.node(e.nth),null!==e.selector&&(this.token(1,\"of\"),this.node(e.selector))}function vh(e){this.token(10,e.value)}function yh(e){this.tokenize(e.value)}function bh(e){this.token(21,\"(\"),this.children(e),this.token(22,\")\")}function xh(){return{type:\"Percentage\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consumeNumber(11)}}function kh(e){this.token(11,e.value+\"%\")}function wh(){let e,t,n=this.tokenStart,r=null;return this.eat(16),2===this.tokenType?(e=this.consumeFunctionName(),t=e.toLowerCase(),hasOwnProperty.call(this.pseudo,t)?(this.skipSC(),r=this.pseudo[t].call(this),this.skipSC()):(r=this.createList(),r.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):e=this.consume(1),{type:\"PseudoClassSelector\",loc:this.getLocation(n,this.tokenStart),name:e,children:r}}function Sh(e){this.token(16,\":\"),null===e.children?this.token(1,e.name):(this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\"))}function Ch(){let e,t,n=this.tokenStart,r=null;return this.eat(16),this.eat(16),2===this.tokenType?(e=this.consumeFunctionName(),t=e.toLowerCase(),hasOwnProperty.call(this.pseudo,t)?(this.skipSC(),r=this.pseudo[t].call(this),this.skipSC()):(r=this.createList(),r.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):e=this.consume(1),{type:\"PseudoElementSelector\",loc:this.getLocation(n,this.tokenStart),name:e,children:r}}function Th(e){this.token(16,\":\"),this.token(16,\":\"),null===e.children?this.token(1,e.name):(this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\"))}function Ih(e){this.token(10,e.left),this.token(9,\"/\"),this.token(10,e.right)}function Ah(){return this.tokenIndex>0&&13===this.lookupType(-1)?this.tokenIndex>1?this.getTokenStart(this.tokenIndex-1):this.firstCharOffset:this.tokenStart}function Oh(e,t,n){let r,o=this.getTokenStart(e);return this.skipUntilBalanced(e,t||this.consumeUntilBalanceEnd),r=n&&this.tokenStart>o?Ah.call(this):this.tokenStart,{type:\"Raw\",loc:this.getLocation(o,r),value:this.substring(o,r)}}function Eh(e){this.tokenize(e.value)}function Lh(e){this.node(e.prelude),this.node(e.block)}function Nh(){let e=this.readSequence(this.scope.Selector);return null===this.getFirstListNode(e)&&this.error(\"Selector is expected\"),{type:\"Selector\",loc:this.getLocationFromList(e),children:e}}function _h(e){this.children(e)}function Dh(){let e=this.createList();for(;!this.eof&&(e.push(this.Selector()),18===this.tokenType);)this.next();return{type:\"SelectorList\",loc:this.getLocationFromList(e),children:e}}function Ph(e){this.children(e,(()=>this.token(18,\",\")))}var Rh=92,Mh=34,jh=39;function Fh(e){let t=e.length,n=e.charCodeAt(0),r=n===Mh||n===jh?1:0,o=1===r&&t>1&&e.charCodeAt(t-1)===n?t-2:t-1,s=\"\";for(let n=r;n<=o;n++){let r=e.charCodeAt(n);if(r===Rh){if(n===o){n!==t-1&&(s=e.substr(n+1));break}if(r=e.charCodeAt(++n),ju(Rh,r)){let t=n-1,r=Qu(e,t);n=r-1,s+=rd(e.substring(t+1,r))}else 13===r&&10===e.charCodeAt(n+1)&&n++}else s+=e[n]}return s}function Uh(){return{type:\"String\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:Fh(this.consume(5))}}function Bh(e){this.token(5,function(e,t){let n=Mh,r=\"\",o=!1;for(let t=0;t<e.length;t++){let s=e.charCodeAt(t);0!==s?s<=31||127===s?(r+=\"\\\\\"+s.toString(16),o=!0):s===n||s===Rh?(r+=\"\\\\\"+e.charAt(t),o=!1):(o&&(Lu(s)||Mu(s))&&(r+=\" \"),r+=e.charAt(t),o=!1):r+=\"\\ufffd\"}return'\"'+r+'\"'}(e.value))}function zh(e){this.children(e)}var Hh=42;function Wh(){1!==this.tokenType&&!1===this.isDelim(Hh)&&this.error(\"Identifier or asterisk is expected\"),this.next()}function $h(){let e=this.tokenStart;return this.isDelim(124)?(this.next(),Wh.call(this)):(Wh.call(this),this.isDelim(124)&&(this.next(),Wh.call(this))),{type:\"TypeSelector\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e)}}function Vh(e){this.tokenize(e.name)}function Gh(e){this.tokenize(e.value)}var qh=32,Kh=92,Jh=34,Yh=39,Xh=40,Zh=41;function Qh(e){this.token(7,function(e){let t=\"\",n=!1;for(let r=0;r<e.length;r++){let o=e.charCodeAt(r);0!==o?o<=31||127===o?(t+=\"\\\\\"+o.toString(16),n=!0):o===qh||o===Kh||o===Jh||o===Yh||o===Xh||o===Zh?(t+=\"\\\\\"+e.charAt(r),n=!1):(n&&Lu(o)&&(t+=\" \"),t+=e.charAt(r),n=!1):t+=\"\\ufffd\"}return\"url(\"+t+\")\"}(e.value))}function em(e){this.children(e)}function tm(e){this.token(13,e.value)}Object.freeze({type:\"WhiteSpace\",loc:null,value:\" \"});var nm=function(e){let t=new Map;for(let n in e.node){let r=e.node[n];\"function\"==typeof(r.generate||r)&&t.set(n,r.generate||r)}return function(e,n){let r=\"\",o=0,s={node(e){if(!t.has(e.type))throw new Error(\"Unknown node type: \"+e.type);t.get(e.type).call(a,e)},tokenBefore:xd,token(e,t){o=this.tokenBefore(o,e,t),this.emit(t,e,!1),9===e&&92===t.charCodeAt(0)&&this.emit(\"\\n\",13,!0)},emit(e){r+=e},result:()=>r};n&&(\"function\"==typeof n.decorator&&(s=n.decorator(s)),n.sourceMap&&(s=function(e){let t=new hd.SourceMapGenerator,n={line:1,column:0},r={line:0,column:0},o={line:1,column:0},s={generated:o},a=1,i=0,l=!1,c=e.node;e.node=function(e){if(e.loc&&e.loc.start&&md.has(e.type)){let c=e.loc.start.line,u=e.loc.start.column-1;(r.line!==c||r.column!==u)&&(r.line=c,r.column=u,n.line=a,n.column=i,l&&(l=!1,(n.line!==o.line||n.column!==o.column)&&t.addMapping(s)),l=!0,t.addMapping({source:e.loc.source,original:r,generated:n}))}c.call(this,e),l&&md.has(e.type)&&(o.line=a,o.column=i)};let u=e.emit;e.emit=function(e,t,n){for(let t=0;t<e.length;t++)10===e.charCodeAt(t)?(a++,i=0):i++;u(e,t,n)};let d=e.result;return e.result=function(){return l&&t.addMapping(s),{css:d(),map:t}},e}(s)),n.mode in pd&&(s.tokenBefore=pd[n.mode]));let a={node:e=>s.node(e),children:kd,token:(e,t)=>s.token(e,t),tokenize:wd};return s.node(e),s.result()}}({node:Sd}),rm=null,om=class{static createItem(e){return{prev:null,next:null,data:e}}constructor(){this.head=null,this.tail=null,this.cursor=null}createItem(e){return om.createItem(e)}allocateCursor(e,t){let n;return null!==rm?(n=rm,rm=rm.cursor,n.prev=e,n.next=t,n.cursor=this.cursor):n={prev:e,next:t,cursor:this.cursor},this.cursor=n,n}releaseCursor(){let{cursor:e}=this;this.cursor=e.cursor,e.prev=null,e.next=null,e.cursor=rm,rm=e}updateCursors(e,t,n,r){let{cursor:o}=this;for(;null!==o;)o.prev===e&&(o.prev=t),o.next===n&&(o.next=r),o=o.cursor}*[Symbol.iterator](){for(let e=this.head;null!==e;e=e.next)yield e.data}get size(){let e=0;for(let t=this.head;null!==t;t=t.next)e++;return e}get isEmpty(){return null===this.head}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(e){let t=null;this.head=null;for(let n of e){let e=om.createItem(n);null!==t?t.next=e:this.head=e,e.prev=t,t=e}return this.tail=t,this}toArray(){return[...this]}toJSON(){return[...this]}forEach(e,t=this){let n=this.allocateCursor(null,this.head);for(;null!==n.next;){let r=n.next;n.next=r.next,e.call(t,r.data,r,this)}this.releaseCursor()}forEachRight(e,t=this){let n=this.allocateCursor(this.tail,null);for(;null!==n.prev;){let r=n.prev;n.prev=r.prev,e.call(t,r.data,r,this)}this.releaseCursor()}reduce(e,t,n=this){let r,o=this.allocateCursor(null,this.head),s=t;for(;null!==o.next;)r=o.next,o.next=r.next,s=e.call(n,s,r.data,r,this);return this.releaseCursor(),s}reduceRight(e,t,n=this){let r,o=this.allocateCursor(this.tail,null),s=t;for(;null!==o.prev;)r=o.prev,o.prev=r.prev,s=e.call(n,s,r.data,r,this);return this.releaseCursor(),s}some(e,t=this){for(let n=this.head;null!==n;n=n.next)if(e.call(t,n.data,n,this))return!0;return!1}map(e,t=this){let n=new om;for(let r=this.head;null!==r;r=r.next)n.appendData(e.call(t,r.data,r,this));return n}filter(e,t=this){let n=new om;for(let r=this.head;null!==r;r=r.next)e.call(t,r.data,r,this)&&n.appendData(r.data);return n}nextUntil(e,t,n=this){if(null===e)return;let r=this.allocateCursor(null,e);for(;null!==r.next;){let e=r.next;if(r.next=e.next,t.call(n,e.data,e,this))break}this.releaseCursor()}prevUntil(e,t,n=this){if(null===e)return;let r=this.allocateCursor(e,null);for(;null!==r.prev;){let e=r.prev;if(r.prev=e.prev,t.call(n,e.data,e,this))break}this.releaseCursor()}clear(){this.head=null,this.tail=null}copy(){let e=new om;for(let t of this)e.appendData(t);return e}prepend(e){return this.updateCursors(null,e,this.head,e),null!==this.head?(this.head.prev=e,e.next=this.head):this.tail=e,this.head=e,this}prependData(e){return this.prepend(om.createItem(e))}append(e){return this.insert(e)}appendData(e){return this.insert(om.createItem(e))}insert(e,t=null){if(null!==t)if(this.updateCursors(t.prev,e,t,e),null===t.prev){if(this.head!==t)throw new Error(\"before doesn't belong to list\");this.head=e,t.prev=e,e.next=t,this.updateCursors(null,e)}else t.prev.next=e,e.prev=t.prev,t.prev=e,e.next=t;else this.updateCursors(this.tail,e,null,e),null!==this.tail?(this.tail.next=e,e.prev=this.tail):this.head=e,this.tail=e;return this}insertData(e,t){return this.insert(om.createItem(e),t)}remove(e){if(this.updateCursors(e,e.prev,e,e.next),null!==e.prev)e.prev.next=e.next;else{if(this.head!==e)throw new Error(\"item doesn't belong to list\");this.head=e.next}if(null!==e.next)e.next.prev=e.prev;else{if(this.tail!==e)throw new Error(\"item doesn't belong to list\");this.tail=e.prev}return e.prev=null,e.next=null,e}push(e){this.insert(om.createItem(e))}pop(){return null!==this.tail?this.remove(this.tail):null}unshift(e){this.prepend(om.createItem(e))}shift(){return null!==this.head?this.remove(this.head):null}prependList(e){return this.insertList(e,this.head)}appendList(e){return this.insertList(e)}insertList(e,t){return null===e.head||(null!=t?(this.updateCursors(t.prev,e.tail,t,e.head),null!==t.prev?(t.prev.next=e.head,e.head.prev=t.prev):this.head=e.head,t.prev=e.tail,e.tail.next=t):(this.updateCursors(this.tail,e.tail,null,e.head),null!==this.tail?(this.tail.next=e.head,e.head.prev=this.tail):this.head=e.head,this.tail=e.tail),e.head=null,e.tail=null),this}replace(e,t){\"head\"in t?this.insertList(t,e):this.insert(t,e),this.remove(e)}},sm=100,am=60,im=\"    \";function lm({source:e,line:t,column:n},r){function o(e,t){return s.slice(e,t).map(((t,n)=>String(e+n+1).padStart(l)+\" |\"+t)).join(\"\\n\")}let s=e.split(/\\r\\n?|\\n|\\f/),a=Math.max(1,t-r)-1,i=Math.min(t+r,s.length+1),l=Math.max(4,String(i).length)+1,c=0;(n+=(im.length-1)*(s[t-1].substr(0,n-1).match(/\\t/g)||[]).length)>sm&&(c=n-am+3,n=am-2);for(let e=a;e<=i;e++)e>=0&&e<s.length&&(s[e]=s[e].replace(/\\t/g,im),s[e]=(c>0&&s[e].length>c?\"\\u2026\":\"\")+s[e].substr(c,sm-2)+(s[e].length>c+sm-1?\"\\u2026\":\"\"));return[o(a,t),new Array(n+l+2).join(\"-\")+\"^\",o(t,i)].filter(Boolean).join(\"\\n\")}function cm(e,t,n,r,o){return Object.assign(function(e,t){let n=Object.create(SyntaxError.prototype),r=new Error;return Object.assign(n,{name:e,message:t,get stack(){return(r.stack||\"\").replace(/^(.+\\n){1,3}/,`${e}: ${t}\\n`)}})}(\"SyntaxError\",e),{source:t,offset:n,line:r,column:o,sourceFragment:e=>lm({source:t,line:r,column:o},isNaN(e)?0:e),get formattedMessage(){return`Parse error: ${e}\\n`+lm({source:t,line:r,column:o},2)}})}function um(e){let t=this.createList(),n=!1,r={recognizer:e};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:n=!0,this.next();continue}let o=e.getNode.call(this,r);if(void 0===o)break;n&&(e.onWhiteSpace&&e.onWhiteSpace.call(this,o,t,r),n=!1),t.push(o)}return n&&e.onWhiteSpace&&e.onWhiteSpace.call(this,null,t,r),t}var dm=()=>{};function hm(e){return function(){return this[e]()}}function mm(e){let t=Object.create(null);for(let n in e){let r=e[n],o=r.parse||r;o&&(t[n]=o)}return t}var pm={parse(){return this.createSingleNodeList(this.SelectorList())}},fm={parse(){return this.createSingleNodeList(this.Selector())}},gm={parse(){return this.createSingleNodeList(this.Identifier())}},vm={parse(){return this.createSingleNodeList(this.Nth())}},ym={dir:gm,has:pm,lang:gm,matches:pm,is:pm,\"-moz-any\":pm,\"-webkit-any\":pm,where:pm,not:pm,\"nth-child\":vm,\"nth-last-child\":vm,\"nth-last-of-type\":vm,\"nth-of-type\":vm,slotted:fm,host:fm,\"host-context\":fm},bm={};wu(bm,{AnPlusB:()=>_d,AttributeSelector:()=>$d,ClassSelector:()=>Yd,Combinator:()=>Zd,IdSelector:()=>lh,Identifier:()=>ah,NestingSelector:()=>mh,Nth:()=>fh,Percentage:()=>xh,PseudoClassSelector:()=>wh,PseudoElementSelector:()=>Ch,Raw:()=>Oh,Selector:()=>Nh,SelectorList:()=>Dh,String:()=>Uh,TypeSelector:()=>$h});var xm=function(e){let t=\"\",n=\"<unknown>\",r=!1,o=dm,s=!1,a=new class{constructor(){this.lines=null,this.columns=null,this.computed=!1}setSource(e,t=0,n=1,r=1){this.source=e,this.startOffset=t,this.startLine=n,this.startColumn=r,this.computed=!1}getLocation(e,t){return this.computed||ad(this),{source:t,offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}}getLocationRange(e,t,n){return this.computed||ad(this),{source:n,start:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]},end:{offset:this.startOffset+t,line:this.lines[t],column:this.columns[t]}}}},i=Object.assign(new class{constructor(e,t){this.setSource(e,t)}reset(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset}setSource(e=\"\",t=(()=>{})){let n=(e=String(e||\"\")).length,r=sd(this.offsetAndType,e.length+1),o=sd(this.balance,e.length+1),s=0,a=0,i=0,l=-1;for(this.offsetAndType=null,this.balance=null,t(e,((e,t,c)=>{switch(e){default:o[s]=n;break;case a:{let e=i&id;for(i=o[e],a=i>>ld,o[s]=e,o[e++]=s;e<s;e++)o[e]===n&&(o[e]=s);break}case 21:case 2:case 19:case 23:o[s]=i,a=cd.get(e),i=a<<ld|s}r[s++]=e<<ld|c,-1===l&&(l=t)})),r[s]=0|n,o[s]=n,o[n]=n;0!==i;){let e=i&id;i=o[e],o[e]=n}this.source=e,this.firstCharOffset=-1===l?0:l,this.tokenCount=s,this.offsetAndType=r,this.balance=o,this.reset(),this.next()}lookupType(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e]>>ld:0}lookupOffset(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e-1]&id:this.source.length}lookupValue(e,t){return(e+=this.tokenIndex)<this.tokenCount&&Yu(this.source,this.offsetAndType[e-1]&id,this.offsetAndType[e]&id,t)}getTokenStart(e){return e===this.tokenIndex?this.tokenStart:e>0?e<this.tokenCount?this.offsetAndType[e-1]&id:this.offsetAndType[this.tokenCount]&id:this.firstCharOffset}substrToCursor(e){return this.source.substring(e,this.tokenStart)}isBalanceEdge(e){return this.balance[this.tokenIndex]<e}isDelim(e,t){return t?9===this.lookupType(t)&&this.source.charCodeAt(this.lookupOffset(t))===e:9===this.tokenType&&this.source.charCodeAt(this.tokenStart)===e}skip(e){let t=this.tokenIndex+e;t<this.tokenCount?(this.tokenIndex=t,this.tokenStart=this.offsetAndType[t-1]&id,t=this.offsetAndType[t],this.tokenType=t>>ld,this.tokenEnd=t&id):(this.tokenIndex=this.tokenCount,this.next())}next(){let e=this.tokenIndex+1;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.tokenEnd,e=this.offsetAndType[e],this.tokenType=e>>ld,this.tokenEnd=e&id):(this.eof=!0,this.tokenIndex=this.tokenCount,this.tokenType=0,this.tokenStart=this.tokenEnd=this.source.length)}skipSC(){for(;13===this.tokenType||25===this.tokenType;)this.next()}skipUntilBalanced(e,t){let n,r,o=e;e:for(;o<this.tokenCount&&(n=this.balance[o],!(n<e));o++)switch(r=o>0?this.offsetAndType[o-1]&id:this.firstCharOffset,t(this.source.charCodeAt(r))){case 1:break e;case 2:o++;break e;default:this.balance[n]===o&&(o=n)}this.skip(o-this.tokenIndex)}forEachToken(e){for(let t=0,n=this.firstCharOffset;t<this.tokenCount;t++){let r=n,o=this.offsetAndType[t],s=o&id;n=s,e(o>>ld,r,s,t)}}dump(){let e=new Array(this.tokenCount);return this.forEachToken(((t,n,r,o)=>{e[o]={idx:o,type:od[t],chunk:this.source.substring(n,r),balance:this.balance[o]}})),e}},function(e){let t={context:Object.create(null),scope:Object.assign(Object.create(null),e.scope),atrule:mm(e.atrule),pseudo:mm(e.pseudo),node:mm(e.node)};for(let n in e.parseContext)switch(typeof e.parseContext[n]){case\"function\":t.context[n]=e.parseContext[n];break;case\"string\":t.context[n]=hm(e.parseContext[n])}return{config:t,...t,...t.node}}(e||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:um,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket:e=>123===e?1:0,consumeUntilLeftCurlyBracketOrSemicolon:e=>123===e||59===e?1:0,consumeUntilExclamationMarkOrSemicolon:e=>33===e||59===e?1:0,consumeUntilSemicolonIncluded:e=>59===e?2:0,createList:()=>new om,createSingleNodeList:e=>(new om).appendData(e),getFirstListNode:e=>e&&e.first,getLastListNode:e=>e&&e.last,parseWithFallback(e,t){let n=this.tokenIndex;try{return e.call(this)}catch(e){if(s)throw e;let r=t.call(this,n);return s=!0,o(e,r),s=!1,r}},lookupNonWSType(e){let t;do{if(t=this.lookupType(e++),13!==t)return t}while(0!==t);return 0},charCodeAt:e=>e>=0&&e<t.length?t.charCodeAt(e):0,substring:(e,n)=>t.substring(e,n),substrToCursor(e){return this.source.substring(e,this.tokenStart)},cmpChar:(e,n)=>Ju(t,e,n),cmpStr:(e,n,r)=>Yu(t,e,n,r),consume(e){let t=this.tokenStart;return this.eat(e),this.substrToCursor(t)},consumeFunctionName(){let e=t.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),e},consumeNumber(e){let n=t.substring(this.tokenStart,td(t,this.tokenStart));return this.eat(e),n},eat(e){if(this.tokenType!==e){let t=od[e].slice(0,-6).replace(/-/g,\" \").replace(/^./,(e=>e.toUpperCase())),n=`${/[[\\](){}]/.test(t)?`\"${t}\"`:t} is expected`,r=this.tokenStart;switch(e){case 1:2===this.tokenType||7===this.tokenType?(r=this.tokenEnd-1,n=\"Identifier is expected but function found\"):n=\"Identifier is expected\";break;case 4:this.isDelim(35)&&(this.next(),r++,n=\"Name is expected\");break;case 11:10===this.tokenType&&(r=this.tokenEnd,n=\"Percent sign is expected\")}this.error(n,r)}this.next()},eatIdent(e){(1!==this.tokenType||!1===this.lookupValue(0,e))&&this.error(`Identifier \"${e}\" is expected`),this.next()},eatDelim(e){this.isDelim(e)||this.error(`Delim \"${String.fromCharCode(e)}\" is expected`),this.next()},getLocation:(e,t)=>r?a.getLocationRange(e,t,n):null,getLocationFromList(e){if(r){let t=this.getFirstListNode(e),r=this.getLastListNode(e);return a.getLocationRange(null!==t?t.loc.start.offset-a.startOffset:this.tokenStart,null!==r?r.loc.end.offset-a.startOffset:this.tokenStart,n)}return null},error(e,n){let r=typeof n<\"u\"&&n<t.length?a.getLocation(n):this.eof?a.getLocation(function(e,t){for(;t>=0&&Mu(e.charCodeAt(t));t--);return t+1}(t,t.length-1)):a.getLocation(this.tokenStart);throw new cm(e||\"Unexpected input\",t,r.offset,r.line,r.column)}});return Object.assign((function(e,l){t=e,l=l||{},i.setSource(t,ud),a.setSource(t,l.offset,l.line,l.column),n=l.filename||\"<unknown>\",r=Boolean(l.positions),o=\"function\"==typeof l.onParseError?l.onParseError:dm,s=!1,i.parseAtrulePrelude=!(\"parseAtrulePrelude\"in l)||Boolean(l.parseAtrulePrelude),i.parseRulePrelude=!(\"parseRulePrelude\"in l)||Boolean(l.parseRulePrelude),i.parseValue=!(\"parseValue\"in l)||Boolean(l.parseValue),i.parseCustomProperty=\"parseCustomProperty\"in l&&Boolean(l.parseCustomProperty);let{context:c=\"default\",onComment:u}=l;if(!(c in i.context))throw new Error(\"Unknown context `\"+c+\"`\");\"function\"==typeof u&&i.forEachToken(((e,n,r)=>{if(25===e){let e=i.getLocation(n,r),o=Yu(t,r-2,r,\"*/\")?t.slice(n+2,r-2):t.slice(n+2,r);u(o,e)}}));let d=i.context[c].call(i,l);return i.eof||i.error(),d}),{SyntaxError:cm,config:i.config})}({parseContext:{default:\"SelectorList\",selectorList:\"SelectorList\",selector:\"Selector\"},scope:{Selector:{onWhiteSpace:function(e,t){null!==t.last&&\"Combinator\"!==t.last.type&&null!==e&&\"Combinator\"!==e.type&&t.push({type:\"Combinator\",loc:null,name:\" \"})},getNode:function(){switch(this.tokenType){case 19:return this.AttributeSelector();case 4:return this.IdSelector();case 16:return 16===this.lookupType(1)?this.PseudoElementSelector():this.PseudoClassSelector();case 1:return this.TypeSelector();case 10:case 11:return this.Percentage();case 12:46===this.charCodeAt(this.tokenStart)&&this.error(\"Identifier is expected\",this.tokenStart+1);break;case 9:switch(this.charCodeAt(this.tokenStart)){case 43:case 62:case 126:case 47:return this.Combinator();case 46:return this.ClassSelector();case 42:case 124:return this.TypeSelector();case 35:return this.IdSelector();case 38:return this.NestingSelector()}}}}},atrule:{},pseudo:ym,node:bm}),km=(e,t)=>e.a===t.a?e.b===t.b?e.c-t.c:e.b-t.b:e.a-t.a,wm=(e,t)=>0===km(e,t),Sm=(e,t)=>km(e,t)>0,Cm=(e,t)=>km(e,t)<0,Tm=(e,t=\"ASC\")=>{let n=e.sort(km);return\"DESC\"===t?n.reverse():n},Im=(...e)=>Tm(e,\"ASC\"),Am=(...e)=>Tm(e,\"DESC\"),Om=(...e)=>Am(...e)[0],Em=e=>{let t={a:0,b:0,c:0};return e.children.forEach((e=>{switch(e.type){case\"IdSelector\":t.a+=1;break;case\"AttributeSelector\":case\"ClassSelector\":t.b+=1;break;case\"PseudoClassSelector\":switch(e.name.toLowerCase()){case\"where\":break;case\"is\":case\"matches\":case\"-webkit-any\":case\"-moz-any\":case\"any\":case\"not\":case\"has\":if(e.children){let n=Om(...Lm(e.children.first));t.a+=n.a,t.b+=n.b,t.c+=n.c}break;case\"nth-child\":case\"nth-last-child\":if(t.b+=1,e.children.first.selector){let n=Om(...Lm(e.children.first.selector));t.a+=n.a,t.b+=n.b,t.c+=n.c}break;case\"host-context\":case\"host\":if(t.b+=1,e.children){let n={type:\"Selector\",children:[]},r=!1;e.children.first.children.forEach((e=>!r&&(\"Combinator\"===e.type?(r=!0,!1):void n.children.push(e))));let o=Lm(n)[0];t.a+=o.a,t.b+=o.b,t.c+=o.c}break;case\"after\":case\"before\":case\"first-letter\":case\"first-line\":t.c+=1;break;default:t.b+=1}break;case\"PseudoElementSelector\":switch(e.name){case\"slotted\":if(t.c+=1,e.children){let n={type:\"Selector\",children:[]},r=!1;e.children.first.children.forEach((e=>!r&&(\"Combinator\"===e.type?(r=!0,!1):void n.children.push(e))));let o=Lm(n)[0];t.a+=o.a,t.b+=o.b,t.c+=o.c}break;case\"view-transition-group\":case\"view-transition-image-pair\":case\"view-transition-old\":case\"view-transition-new\":if(e.children&&\"*\"===e.children.first.value)break;t.c+=1;break;default:t.c+=1}break;case\"TypeSelector\":let n=e.name;n.includes(\"|\")&&(n=n.split(\"|\")[1]),\"*\"!==n&&(t.c+=1)}})),new Nm(t,e)},Lm=e=>{if(!e)return[];let t=(e=>{if(\"string\"==typeof e||e instanceof String)try{return xm(e,{context:\"selectorList\"})}catch(t){throw new TypeError(`Could not convert passed in source '${e}' to SelectorList: ${t.message}`)}if(e instanceof Object){if(e.type&&[\"Selector\",\"SelectorList\"].includes(e.type))return e;if(e.type&&\"Raw\"===e.type)try{return xm(e.value,{context:\"selectorList\"})}catch(e){throw new TypeError(`Could not convert passed in source to SelectorList: ${e.message}`)}throw new TypeError(\"Passed in source is an Object but no AST / AST of the type Selector or SelectorList\")}throw new TypeError(\"Passed in source is not a String nor an Object. I don't know what to do with it.\")})(e);if(\"Selector\"===t.type)return[Em(e)];if(\"SelectorList\"===t.type){let e=[];return t.children.forEach((t=>{let n=Em(t);e.push(n)})),e}},Nm=class{constructor(e,t=null){this.value=e,this.selector=t}get a(){return this.value.a}set a(e){throw new Error(\"Manipulating the port of the specificity directly is not allowed. Instead, directly set a new value\")}get b(){return this.value.b}set b(e){throw new Error(\"Manipulating the port of the specificity directly is not allowed. Instead, directly set a new value\")}get c(){return this.value.c}set c(e){throw new Error(\"Manipulating the port of the specificity directly is not allowed. Instead, directly set a new value\")}selectorString(){return\"string\"==typeof this.selector||this.selector instanceof String?this.selector:this.selector instanceof Object&&\"Selector\"===this.selector.type?nm(this.selector):\"\"}toObject(){return this.value}toArray(){return[this.value.a,this.value.b,this.value.c]}toString(){return`(${this.value.a},${this.value.b},${this.value.c})`}toJSON(){return{selector:this.selectorString(),asObject:this.toObject(),asArray:this.toArray(),asString:this.toString()}}isEqualTo(e){return wm(this,e)}isGreaterThan(e){return Sm(this,e)}isLessThan(e){return Cm(this,e)}static calculate(e){return Lm(e)}static compare(e,t){return km(e,t)}static equals(e,t){return wm(e,t)}static lessThan(e,t){return Cm(e,t)}static greaterThan(e,t){return Sm(e,t)}static min(...e){return((...e)=>Im(...e)[0])(...e)}static max(...e){return Om(...e)}static sortAsc(...e){return Im(...e)}static sortDesc(...e){return Am(...e)}};const _m=e=>(e=>{const t=new Map,n=e=>{const n=t.get(e);if(l(n))return n;{const n=Nm.calculate(e)[0];return t.set(e,n),n}};return F(e,((e,t)=>{const r=n(e.selector),o=n(t.selector);return Nm.compare(r,o)}))})((e=>R(e,(e=>(e=>-1!==e.selector.indexOf(\",\"))(e)?(e=>{const t=e.selector.split(/,(?![^(]*\\))/g);return A(t,(t=>{const n=t.trim();return{...e,selector:n}}))})(e):[e])))(e)),Dm=e=>{const t={};return O(e,(r=>{const o=e.getPropertyValue(r);n(o)&&(t[r]=o)})),t},Pm=e=>({selector:e.selectorText,styles:Dm(e.style)}),Rm=e=>{const t=e.cssRules;return R(t,(e=>(e=>e.type===window.CSSRule.IMPORT_RULE)(e)?Rm(e.styleSheet):(e=>e.type===window.CSSRule.STYLE_RULE)(e)?[Pm(e)]:[]))},Mm=(e,t)=>{const n=N(t,((e,t)=>({...e,...t.styles})),{});return Ue(n,((t,n)=>!T(e.dom.style,n)))};const jm=e=>{return t=(e=>{const t=e.dom.styleSheets;return Array.prototype.slice.call(t)})(e),R(t,Rm);var t},Fm=(!0,(e,t,n)=>((e,t,r,o)=>{var s,a;((e,t,n)=>{((e,t,n)=>{const r=[],o=document.createTreeWalker(e.dom,NodeFilter.SHOW_ELEMENT);for(;l(o.nextNode());){const e=De.fromDom(o.currentNode),n=L(t,(t=>Tt(e,t.selector)));if(n.length>0){const t=Mm(e,n);zn(e,t),r.push(e)}}n&&O(r,(e=>On(e,\"class\")))})(t,_m(e),n)})((s=jm(t),a=n,A(s,(e=>{const t=e.selector,n=a.hasOwnProperty(t)?a[t]:t;return{...e,selector:n}}))),r,true)})(0,e,t));const Um={p:\"p, li[data-converted-paragraph]\"},Bm=(e,t)=>{const n=Jt(e,\"li[data-converted-paragraph]\");if(O(n,(e=>{On(e,\"data-converted-paragraph\")})),t){const t=Jt(e,\"li\");O(t,(t=>{const n=(e=>{const t=(()=>{const t=De.fromTag(\"spn\");return dn(e,t),t})();return{convertToPx:e=>{return Bn(t,\"margin-left\",e),n=Hn(t,\"margin-left\"),parseFloat(/-?\\d+\\.?\\d*/.exec(n)[0]);var n},destroy:()=>vn(t)}})(e),r=((e,t)=>{const n=In(e,\"data-tab-interval\").getOr(\"36pt\");return t.convertToPx(n)})(e,n),o=zm(t,r,n).getOr({});(e=>{On(e,\"data-list-level\"),On(e,\"data-text-indent-alt\"),On(e,\"data-border-margin\"),Gn(e,\"margin-left\"),Gn(e,\"text-indent\"),Me(Vn(e),((t,n)=>{!$(n,\"border\")||\"border-image\"!==n&&\"none\"!==t.trim()&&\"initial\"!==t.trim()||Gn(e,n)}))})(t),n.destroy(),zn(t,o)}));const n=Jt(e,\"ol,ul\");O(n,(e=>{const t=Jt(e,\"li\");$n(e,\"margin-top\").isNone()&&k.from(t[0]).each((t=>{Bn(e,\"margin-top\",Hn(t,\"margin-top\"))})),$n(e,\"margin-bottom\").isNone()&&k.from(t[t.length-1]).each((t=>{Bn(e,\"margin-bottom\",Hn(t,\"margin-bottom\"))}))}))}On(e,\"data-tab-interval\")},zm=(e,t,n)=>{const r=e=>In(e,\"data-list-level\").map((e=>parseInt(e,10))).getOr(1);return $n(e,\"text-indent\").bind((o=>$n(e,\"margin-left\").map((s=>{const a=$n(e,\"list-style\").exists((e=>W(e,\"none\"))),i=In(e,\"data-border-margin\").getOr(\"0px\"),l=a?r(e)+1:r(e),c=n.convertToPx(s)+n.convertToPx(i),u=t*l,d=In(e,\"data-text-indent-alt\").getOr(o),h=n.convertToPx(d),m={},p=t/2*-1-h;p>0&&(m[\"text-indent\"]=p+\"px\");const f=c-u-p;return m[\"margin-left\"]=f>0?f+\"px\":\"0px\",m}))))},Hm=e=>{const t=(n=De.fromDom(document.body),{play:(e,t,r)=>{const o=De.fromTag(\"div\"),s=De.fromTag(\"iframe\");zn(o,{display:\"none\"});const a=Lr(s,\"load\",(()=>{var n;a.unbind(),pu(s,e);const i=null===(n=s.dom.contentWindow)||void 0===n?void 0:n.document;if(void 0===i)throw new Error(\"sandbox iframe load event did not fire correctly\");const l=De.fromDom(i),c=l.dom.body;if(void 0===c)throw new Error(\"sandbox iframe does not have a body\");const u=De.fromDom(c),d=t(l,u);vn(o),setTimeout(g(r,d),0)}));hn(o,s),hn(n,o)}});var n;return n=>new Promise((r=>{t.play(n,((t,n)=>(((e,t,n)=>{const r=n.mergeInline();r&&(Fm(e,t,Um),(e=>{Ia(e)})(t)),Bm(t,r)})(t,n,{mergeInline:m(e)}),Jn(n))),r)}))},Wm=(e,t,n,r)=>{const o=e.html;return n.cleanDocument(o,t,r).then((e=>{if(null==(n=e)||0===n.length)return{response:Fr([],[]),bundle:Wr({})};{const n=void 0===r.sanitizer?sc(r.intraFlag.isMarked):r.sanitizer;return((e,t,n,r)=>{const o=e=>({response:e,bundle:Wr({})}),s=r.sanitizeHtml(t,\"word\");return Hm(e)(s).then((e=>{const t=Kn(e),r=e=>o(Fr(t,e)),s=De.fromTag(\"div\");fn(s,t);const a=L(It(\"img[src]\",s),(e=>In(e,\"src\").exists((e=>$(e,\"blob:\")||$(e,\"data:\"))))),i=It(\"img[data-image-src]\",s);if(0===a.length&&0===i.length)return r([]);if(n)return O(a,(e=>On(e,\"id\"))),(e=>Promise.all(A(e,(e=>{const t=e.dom;return pi(t).then((n=>n.toBlob().then((r=>((n,r)=>{const o=$(t.src,\"blob:\")?t.src:URL.createObjectURL(r),s=kn(\"image\"),a=Dc.blob(s,n,o);return jc(a,e)})(n,r)))))}))))(a).then(r);{O(a,vn),O(i,vn);const e=Ht(s);return o(Br(e,[],\"errors.local.images.disallowed\"))}}))})(t,e,r.allowLocalImages,n)}var n}),(e=>(console.error(\"PowerPaste error code: WIM01\"),{response:jr(\"errors.paste.process.failure\"),bundle:Wr({})})))},$m=yt(),Vm=e=>{try{const t=e(),n=null!=t&&t.length>0?Kn(t):[];return Ir.value(n)}catch(e){return console.error(\"PowerPaste error code: PT01. Message: \",e),Ir.error(\"errors.paste.process.failure\")}},Gm=e=>e.fold($r,(e=>({response:Fr(e,[]),bundle:Wr({})}))),qm=(e,t,n,r,o)=>Vm((()=>{const s={type:r,merge:n,cleanFilteredInlineElements:o.cleanFilteredInlineElements,indentUseMargin:o.indentUseMargin,preprocessor:{defaultProtocol:o.defaultProtocol}};return((e,t,n,r)=>{Yi(n,r.preprocessor);const o=Jn(n),s=((e,t)=>{const n=t.merge,r=((e,t)=>{const n=t.browser.isFirefox(),r=Co([(s=n?bs:ys,a=!n,Io(((e,t)=>{const n=((e,t,n)=>t(De.fromDom(e.getNode())).fold((()=>[e]),(t=>{const r=e.type()===mo,o=[go(t.dom,r)];return!r&&n&&o.push(go(t.dom,!0)),o})))(t,s,a);e.emitTokens(n)}),d))]),o=n?d:la;var s,a;return{annotate:[e.type===xs.Word?r:d],local:[o]}})(t,e);return P([r.local,Ba(t),Ha(t),r.annotate,(o=n?[]:t.cleanFilteredInlineElements,[Ea,Na,va(o)]),za(t),$a(t,e),[js],[ga],[ea],[ta],Ua(t),[wa,Sa,ca,Ca],[ua],[da],[ha],[ba],Va(t),[ka],[pa],[Ia],Ga(t),[ya],[na]]);var o})(t,r);return To(e,o,s)})(e,$m,t,s)})),Km=(e,t)=>{const n=Vm((()=>((e,t)=>((e,t)=>To(e,t,[ta,Ca]))(e,Jn(t)))(e,t)));return Gm(n)},Jm=(e,t,n,r,o)=>qm(e,t,r,n,o).fold(Vr,(e=>Promise.resolve({response:Fr(e,[]),bundle:Wr({})}))),Ym=e=>\"\\n\"===e||\"\\r\"===e,Xm=(e,t)=>{const n=(e=>{const t=De.fromTag(\"div\");return((e,t)=>{e.dom.textContent=t})(t,e),Jn(t)})(e),r=((e,t)=>{const n=((e,t)=>{const n=e.replace(/\\t/g,(r=t)<=0?\"\":new Array(r+1).join(\" \"));var r;const o=N(n,((e,t)=>(e=>-1!==\" \\f\\t\\v\".indexOf(e))(t)||\"\\xa0\"===t?e.pcIsSpace||\"\"===e.str||e.str.length===n.length-1||((e,t)=>t<e.length&&t>=0&&Ym(e[t]))(n,e.str.length+1)?{pcIsSpace:!1,str:e.str+\"\\xa0\"}:{pcIsSpace:!0,str:e.str+\" \"}:{pcIsSpace:Ym(t),str:e.str+t}),{pcIsSpace:!1,str:\"\"});return o.str})(e,t).replace(/^[\\r\\n]*|[\\r\\n]*$/g,\"\").split(/(?:\\r?\\n){2}/),r=A(n,(e=>e.split(/\\n|\\r\\n/).join(\"<br />\")));return 1===r.length?r[0]:A(r,(e=>\"<p>\"+e+\"<\/p>\")).join(\"\")})(n,t),o=Kn(r);return Fr(o,[])},Zm=e=>(t,n)=>((e,t)=>{const n=yc(e).getOrDie(\"Required text input for Text Handler\");return{response:n.text.length>0?Xm(n.text,t):Ur(),bundle:Wr({})}})(t,e),Qm=e=>(t,n)=>{const r=(t,r)=>{const o=De.fromTag(\"div\");fn(o,t),Yi(o,e);const s=Ht(o);return{response:Fr(s,r),bundle:n.bundle}},o=m(n);return Mr(n.response,o,r,o,r)},ep=(e,t,n)=>(r,o)=>{const s=fc(r).getOrDie(\"Wrong input type for HTML handler\").container,a=Rt(t),i=o.bundle;return uu(i)?Km(a,s):(e(s),((e,t,n,r,o)=>{const s=qm(e,t,n,r,o);return Gm(s)})(a,s,au(i),du(i),n))},tp=(e,t,n)=>(r,o)=>{const s=o.bundle;return(e=>({handle:(t,n)=>e.proxyBin.fold((()=>(console.error(t),Promise.resolve({response:Ur(),bundle:Wr({})}))),n)}))(s).handle(\"There was no proxy bin setup. Ensure you have run proxyStep first.\",(r=>{const o=au(s),a=du(s),i=uu(s),l=Rt(e);return i?((e,t,n,r)=>{const o=xs.Html,s=t.findClipboardTags(Ht(n)).getOr([]);return O(s,vn),Jm(e,n,o,!0,r)})(l,t,r,n):((e,t,n,r,o)=>Jm(e,t,r,n,o))(l,r,o,a,n)}))},np=(e,t)=>(n,r)=>{const o=vc(n).getOrDie(\"Wrong input type for Word Import handler\"),s=iu(r.bundle);return Wm(o,s,e,t)},rp=(e,t)=>Gr,op=e=>(t,n)=>{const r=Hr(n.bundle,Wr(e));return{response:n.response,bundle:r}},sp=(e,t)=>(e=>{const t=e=>({response:Fr([e],[]),bundle:Wr({})});return(e=>(e=>{const t=Jt(e,\"img\");return Promise.all(A(t,ki)).then((()=>e))})(e))(e).then(t).catch((()=>t(e)))})(fc(e).getOrDie(\"Wrong input type for HTML handler\").container);yt();var ap=(e,t,n,r)=>(o,s)=>{const a=s.response;return new Promise(((o,s)=>{const i=e(n);i.events.after.bind((e=>{const n=e.container;t(n),_n(n,gr());const s=(u=Jn(n)).indexOf(\"<o:p>\")>=0||u.indexOf(\"mso-list\")>=0||u.indexOf(\"p.MsoNormal, li.MsoNormal, div.MsoNormal\")>=0||u.indexOf(\"MsoListParagraphCxSpFirst\")>=0||u.indexOf(\"<w:WordDocument>\")>=0,i=((e,t)=>{const n=Jt(t,\"*[id]\");return I(n,(e=>In(e,\"id\").exists((e=>$(e,\"docs-internal-guid-\")))))})(0,n),l=Ht(n),c=r.findClipboardTags(l).isSome();var u;o({response:a,bundle:Wr({isWord:s,isGoogleDocs:i,isInternal:c,proxyBin:n})})})),i.run()}))};const ip=Nt([{unsupported:[\"id\",\"message\",\"isEquation\",\"attrs\"]},{supported:[\"id\",\"contentType\",\"blob\",\"isEquation\",\"attrs\"]}]),lp={unsupported:ip.unsupported,supported:ip.supported,cata:(e,t,n)=>e.fold(t,n)},cp=(e,t,n)=>t.indexOf(e,n),up=(e,t,n,r,o,s,a)=>-1===e||-1===t?k.none():k.some({start:e,end:t,bower:n,regex:r,idRef:o,isEquation:s,attrs:a}),dp=(e,t,n)=>e.substring(t,n),hp=(e,t)=>{if(-1===t)return t;let n=0;const r=e.length;do{const o=e.indexOf(\"{\",t),s=e.indexOf(\"}\",t);if(s>o&&-1!==o?(t=o+1,++n):(o>s||o<0)&&-1!==s&&(t=s+1,--n),t>r||-1===s)return-1}while(n>0);return t},mp=(e,t,n,r,o)=>{const s=dp(e,n,r),a=((e,t)=>{const n=cp(\"\\\\picscalex\",e,t),r=cp(\"\\\\bliptag\",e,n);return n>-1&&n<r?k.from(e.substring(n,r)):k.none()})(e,n);return up(n,r,s,/[^a-fA-F0-9]([a-fA-F0-9]+)\\}$/,\"i\",o,a)},pp=(e,t,n,r,o)=>{const s=dp(e,n,r);return up(n,r,s,/([a-fA-F0-9]{64,})(?:\\}.*)/,\"s\",o,k.none())},fp=(e,t)=>((e,t)=>{const n=cp(\"{\\\\pict{\",e,t),r=hp(e,n),o=cp(\"{\\\\shp{\",e,t),s=hp(e,o),a=cp(\"{\\\\mmathPict{\",e,t),i=hp(e,a),l=-1!==a&&(a<n&&i>r||a<o&&i>s),c=g(pp,e,t,o,s,l),u=g(mp,e,t,n,r,l);return-1===n&&-1===o?k.none():-1===n?c():-1===o||o<n&&s>r?u():n<o&&r>s?c():n<o?u():o<n?c():k.none()})(e,t),gp=e=>{let t=[];const n=()=>e.length,r=e=>{const n=(e=>{const t=e.bower,n=e.regex,r=e.isEquation,o=e.attrs;return(e=>{const t=/\\\\shplid(\\d+)/.exec(e);return null!==t?k.some(t[1]):k.none()})(t).map((s=>{const a=e.idRef+s;return(e=>e.indexOf(\"\\\\pngblip\")>=0?Ir.value(\"image/png\"):e.indexOf(\"\\\\jpegblip\")>=0?Ir.value(\"image/jpeg\"):Ir.error(\"errors.imageimport.unsupported\"))(t).fold((e=>lp.unsupported(a,e,r,o)),(e=>((e,t)=>{const n=e.match(t);return n&&n[1]&&n[1].length%2==0?Ir.value(n[1]):Ir.error(\"errors.imageimport.invalid\")})(t,n).fold((e=>lp.unsupported(a,e,r,o)),(t=>lp.supported(a,e,((e,t)=>{if(0===e.length)throw new Error(\"Zero length content passed to Hex conversion\");const n=(e=>{const t=new Array(e.length/2);for(let n=0;n<e.length;n+=2){const r=e.substr(n,2);t[Math.floor(n/2)]=parseInt(r,16)}return t})(e),r=new Uint8Array(n);return new Blob([r],{type:t})})(t,e),r,o)))))}))})(e);return t=t.concat(n.toArray()),e.end};let o=0;for(;o<e.length;)o=fp(e,o).fold(n,r);return t},vp=e=>lp.cata(e,((e,t,n)=>e),((e,t,n,r,o)=>e)),yp=e=>lp.cata(e,((e,t,n)=>n),((e,t,n,r,o)=>r)),bp=e=>lp.cata(e,((e,t,n)=>Ir.error(t)),((e,t,n,r,o)=>Ir.value(n))),xp=(e,t)=>{const n=new RegExp(\"\\\\\\\\pic\"+t+\"(\\\\-?\\\\d+)\\\\\\\\\").exec(e)[1];return parseInt(n,10)},kp=(e,t,n,r,o)=>{const s=[],a=[];let i=!1;const l=R(e,((e,l)=>{const c=Tn(e,\"data-image-id\");return On(e,\"rtf-data-image\"),On(e,\"data-image-id\"),On(e,\"data-ms-equation\"),o||On(e,\"data-image-src\"),\"unsupported\"===c?(i=!0,Sn(e,\"alt\",n(\"errors.imageimport.unsupported\")),[]):_(t,((e,t)=>r(e,t,c,l))).fold((()=>(console.log(\"WARNING: unable to find data for image \",e.dom),i=!0,Sn(e,\"alt\",n(\"errors.imageimport.unsupported\")),[])),(t=>bp(t).fold((t=>(i=!0,console.error(\"PowerPaste error code: RTF04\"),Sn(e,\"alt\",n(t)),[])),(n=>{var r;return s.push(e),a.push((r=t,lp.cata(r,((e,t,n)=>k.none()),((e,t,n,r,o)=>o)))),o&&On(e,\"data-image-src\"),[n]}))))}));return{blobs:l,filteredImages:s,imageAttrs:a,failedImage:i}},wp=(e,t,n,r,o)=>{const s=(e=>N(e,((e,t)=>{const n=vp(t),r=yp(t);return D(e,(e=>!(r||yp(e))&&vp(e)===n)).fold((()=>e.concat([t])),(n=>bp(e[n]).isValue()?e:e.slice(0,n).concat(e.slice(n+1)).concat([t])))}),[]))(t),{pass:a,fail:i}=E(s,(e=>!yp(e))),{pass:l,fail:c}=E(e,(e=>!(e=>\"true\"===Tn(e,\"data-ms-equation\"))(e))),u=kp(l,a,r,((e,t,n,r)=>vp(e)===n),o.keepSrc),d=kp(c,i,r,((e,t,n,r)=>t===r),o.keepSrc),h=u.filteredImages.concat(d.filteredImages),m=u.imageAttrs.concat(d.imageAttrs),p=u.blobs.concat(d.blobs),f=u.failedImage||d.failedImage;Mc(p).then((e=>{((e,t)=>e.length===t.length?Promise.all(A(e,((e,n)=>((e,t)=>t.fold((()=>Promise.resolve(e)),(t=>Dc.cata(e,((n,r,o)=>r.toCanvas().then((s=>{const a=De.fromDom(s),i=In(a,\"width\").map((e=>parseInt(e,10))).getOr(1),l=In(a,\"height\").map((e=>parseInt(e,10))).getOr(1),c=((e,t,n)=>{const r=g(xp,e),o=r(\"wgoal\"),s=r(\"hgoal\"),a=o/t,i=s/n,l=r(\"cropl\"),c=r(\"cropt\");return{cropl:l/a,cropt:c/i,cropw:(o-l-r(\"cropr\"))/a,croph:(s-c-r(\"cropb\"))/i}})(t,i,l);return i===c.cropw&&l===c.croph&&0===c.cropl&&0===c.cropt?Promise.resolve(e):di(r,c.cropl,c.cropt,c.cropw,c.croph).then((e=>e.toBlob().then((t=>{URL.revokeObjectURL(o);const r=URL.createObjectURL(t);return Dc.blob(n,e,r)}))))}))),((t,n,r)=>Promise.resolve(e))))))(e,t[n])))):Promise.resolve(e))(e,m).then((e=>{const t=Uc(e,h);n(t,f)}))}))},Sp=e=>Jt(e,\"[rtf-data-image]\"),Cp=e=>{const t=e.translations,n=Ct({insert:St([\"elements\",\"correlated\"]),incomplete:St([\"elements\",\"correlated\",\"message\"])});return{events:n.registry,processRtf:(e,r,o,s)=>{const a=(e=>{const t=e.replace(/\\r/g,\"\").replace(/\\n/g,\"\");return gp(t)})(o),i=Sp(e);wp(i,a,((t,o)=>{const s=Ht(e),a=t.concat(r);o?(console.error(\"PowerPaste error code: RTF01\"),n.trigger.incomplete(s,a,\"errors.imageimport.failed\")):n.trigger.insert(s,a)}),t,s)}}};const Tp=e=>{const t=()=>Promise.resolve(e);return Dc.cata(e.asset,((n,r,o)=>/(tiff|pdf)$/.test(r.getType())?(e=>((e,t,n)=>e.toAdjustedBlob(t,n))(e,\"image/png\").then(Pc).then(k.some).catch((e=>(console.warn(e),k.none()))))(r).then((t=>t.map((t=>{const n=e.image;return URL.revokeObjectURL(o),Fc(t,n),jc(t,n)})).getOr(e))):t()),t)};var Ip=(e,t)=>{const n=(e,n)=>Promise.all(A(e,Tp)).then((e=>({response:n(e),bundle:t.bundle})));return Mr(t.response,Vr,((e,t)=>n(t,(t=>Fr(e,t)))),(()=>Promise.resolve(t)),((e,t,r)=>n(t,(t=>(console.error(\"PowerPaste error code:  IMG01\"),Br(e,t,r))))))};const Ap=(e,t)=>e.isSupported?t.getWordData():k.none(),Op=e=>e.getNative(),Ep=e=>e.getImage(),Lp=e=>e.getHtml(),Np=e=>e.getText(),_p=e=>e.getOnlyText(),Dp=e=>e.getGoogleDocsData(),Pp=e=>e.getVoid(),Rp=(e,t,n,r)=>({label:e,getAvailable:t,steps:n,capture:m(r)}),Mp=(e,t,n,r)=>({label:e,getAvailable:t,steps:n,capture:m(r)}),jp=(e,t,n,r)=>{return Rp(Ec.native,Lp,[(o=t.intraFlag,(e,t)=>{const n=fc(e).getOrDie(\"Wrong input type for HTML handler\"),r=o.findClipboardTags(Ht(n.container));r.each((e=>{O(e,vn)}));const s=r.isSome();return{response:t.response,bundle:Wr({isInternal:s})}}),mu(e,t),ep(n,r,t),qc(t),Ip],!0);var o},Fp=(e,t,n)=>{return Rp(Ec.msoffice,g(Ap,e),[op({isWord:!0}),hu(t,n),np(e,n),(r=n,(e,t)=>new Promise(((n,o)=>{const s=Cp(r),a=e=>n({response:e,bundle:Wr({})});s.events.insert.bind((e=>{a(Fr(e.elements,e.correlated))})),s.events.incomplete.bind((e=>{console.error(\"PowerPaste error code: RTF02\"),a(Br(e.elements,e.correlated,e.message))}));const i=vc(e).getOrDie(\"Word input required for rtf data\"),l=e=>{const n=()=>Promise.resolve(t),o=(t,n)=>{const o=De.fromTag(\"div\");return fn(o,t),e.fold((()=>{const e=Sp(o);return e.length>0?(e=>{O(e,vn);const t=Ht(o);return console.error(\"PowerPaste error code: RTF03\"),a(Br(t,n,\"errors.imageimport.failed\"))})(e):(()=>{const e=Ht(o);return a(Fr(e,n))})()}),(e=>{s.processRtf(o,n,e,r)}))};return Mr(t.response,n,o,n,o)};((e,t)=>{const n=Pe(t);if(n.length!==Zi.length)throw new Error(\"Partial match\");B(n,(n=>Mn(e.discriminator===n,t[n]))).getOrDie(\"Must find branch for constructor: \"+e.discriminator)(e.data)})(i.rtf,{disabled:()=>{l(k.none())},fromClipboard:e=>{l(!0===r.allowLocalImages?k.some(e.rtf):k.none())}})}))),Ip],!0);var r},Up=(e,t,n,r)=>Rp(Ec.googledocs,Dp,[op({isGoogleDocs:!0}),hu(e,t),sp,ep(n,r,t),su,qc(t),Ip],!0),Bp=e=>Rp(Ec.image,Ep,[!1===e.allowLocalImages?(e,t)=>Vr(\"errors.local.images.disallowed\"):(e,t)=>(e=>{const t=L(e,(e=>\"file\"===e.kind&&/image/.test(e.type))),n=N(t,((e,t)=>{const n=t.getAsFile();return(e=>null!==e)(n)?e.concat(n):e}),[]);return Mc(n).then((e=>{const t=(e=>{const t=[],n=[];return O(e,(e=>Dc.cata(e,((r,o,s)=>{const a=De.fromTag(\"img\");Sn(a,\"src\",s),t.push(a),n.push(jc(e,a))}),((e,t,n)=>{console.error(\"Internal error: Paste operation produced an image URL instead of a Data URI: \",t)})))),Fr(t,n)})(e);return{response:t,bundle:Wr({})}}))})(gc(e).getOrDie(\"Must have image data for images handler\").images),Ip],!0),zp=e=>Rp(Ec.plaintext,_p,[Zm(e.tabSpaces),Qm({defaultProtocol:e.defaultProtocol})],!0),Hp=(e,t)=>Rp(Ec.text,Np,[Zm(e),Qm({defaultProtocol:t})],!0);var Wp=Object.freeze({__proto__:null,loadScript:(e,t)=>tinymce.Resource.load(e,t)});const $p={\"cement.dialog.paste.title\":\"Paste Formatting Options\",\"cement.dialog.paste.instructions\":\"Choose to keep or remove formatting in the pasted content.\",\"cement.dialog.paste.merge\":\"Keep formatting\",\"cement.dialog.paste.clean\":\"Remove formatting\",\"error.code.images.not.found\":\"The images service was not found: (\",\"error.imageupload\":\"Image failed to upload: (\",\"error.full.stop\":\").\",\"errors.local.images.disallowed\":\"Local image paste has been disabled. Local images have been removed from pasted content.\",\"errors.imageimport.failed\":\"Some images failed to import.\",\"errors.imageimport.unsupported\":\"Unsupported image type.\",\"errors.imageimport.invalid\":\"Image is invalid.\"},Vp=e=>tinymce.translate((e=>$p[e])(e)),Gp=e=>{const t=document.createElement(\"div\");return t.appendChild(e.cloneNode(!0)),t.innerHTML},qp=\"x-tinymce/html\",Kp=m(qp),Jp=\"\\x3c!-- \"+qp+\" --\\x3e\",Yp=e=>-1!==e.indexOf(Jp),Xp=e=>/^https?:\\/\\/[\\w\\-\\/+=.,!;:&%@^~(){}?#]+$/i.test(e),Zp=e=>{const t=/^<a href=\"([^\"]+)\">([^<]+)<\\/a>$/.exec(e);return k.from(t).bind((t=>{const n={url:t[1],html:e};return Mn(t[1]===t[2],n)}))},Qp=(e,t,n)=>(e=>\"extra\"in e.undoManager)(e)?(e.undoManager.extra((()=>{nf(e,t)}),n),k.some(!0)):k.none(),ef=(e,t)=>Zp(t).bind((t=>!1===e.selection.isCollapsed()&&Xp(t.url)?((e,t)=>Qp(e,t.html,(()=>{e.execCommand(\"mceInsertLink\",!1,t.url)})))(e,t):k.none())),tf=(e,t)=>Zp(t).bind((t=>((e,t)=>{const n=e.toLowerCase();return Xp(n)&&I(t,(e=>V(n,`.${e.toLowerCase()}`)))})(t.url,pe(e))?((e,t)=>Qp(e,t.html,(()=>{e.insertContent('<img src=\"'+t.url+'\">')})))(e,t):k.none())),nf=(e,t)=>(e.insertContent(t,{merge:ee(e),paste:!0}),k.some(!0)),rf=(e,t)=>e.hasEventListeners(t),of=(e,t,n,r,o)=>{const s=(e=>e.replace(Jp,\"\"))(t),a=((e,t,n,r,o)=>rf(e,\"PastePreProcess\")?((e,t,n,r,o)=>{const s=((e,t)=>e.dispatch(\"PastePreProcess\",t))(e,{internal:n,content:t,source:r,mode:o}),a=s.isDefaultPrevented();return a?{cancelled:a}:{cancelled:a,content:s.content}})(e,t,n,r,o):{cancelled:!1,content:t})(e,s,n,r,o);return a.cancelled?a:((e,t,n,r,o)=>rf(e,\"PastePostProcess\")?((e,t,n,r,o)=>{const s=e.dom.add(e.getBody(),\"div\",{style:\"display:none\"},t),a=((e,t)=>e.dispatch(\"PastePostProcess\",t))(e,{internal:n,node:s,source:r,mode:o}),i=a.isDefaultPrevented();if(i)return{cancelled:i};const l=a.node.innerHTML;return e.dom.remove(s),{cancelled:i,content:l}})(e,t,n,r,o):{content:t,cancelled:!1})(e,a.content,n,r,o)},sf=(e,t,n,r,o,s)=>{const a=ge(),i=(null==r?void 0:r.jsUrl)?r.jsUrl:(\"/js\",n.replace(/\\/$/,\"\")+\"/\"+\"/js\".replace(/^\\//,\"\"));const c=(e,t)=>(e.undoManager.transact((()=>{var n;nf(e,t),n=e.getBody(),O(A(n.getElementsByTagName(\"*\"),De.fromDom),(e=>{An(e,\"data-mce-style\")&&!An(e,\"style\")&&In(e,\"data-mce-style\").each((t=>Sn(e,\"style\",t)))}))})),k.some(!0)),u=()=>{a.on((t=>e.selection.moveToBookmark(t))),a.clear()},h=te(e),m={baseUrl:i,cacheSuffix:re(e),officeStyles:ce(e),htmlStyles:de(e),gdocsStyles:ue(e),translations:Vp,allowLocalImages:le(e),pasteBinAttrs:{\"data-mce-bogus\":\"all\",class:\"mce-pastebin\"},intraFlag:{isMarked:Yp,findClipboardTags:e=>{const t=L(e,(e=>Ce(e)&&W(Ne(e),Kp())));return t.length?k.some(t):k.none()}},keepSrc:ie(e),cleanFilteredInlineElements:he(e),indentUseMargin:se(e),sanitizer:o,tabSpaces:h,defaultProtocol:me(e)},p=((e,t,n,r,o=Pr)=>{const s={...{...fr,sanitizer:sc(r.intraFlag.isMarked)},...Ue(r,l)},a=wt(o,s.baseUrl,s.cacheSuffix),i=mr(s.pasteBinAttrs),c=[zp(s),Fp(a,t,s),Up(t,s,n,e),jp(t,s,n,e),Bp(s),Hp(s.tabSpaces,s.defaultProtocol)],u=((e,t,n,r,o)=>Mp(Ec.fallback,Op,[ap(r,n,o,t.intraFlag),mu(e,t),tp(o,t.intraFlag,t),qc(t),Ip],!1))(t,s,n,i,e);return Nc(c,u,s.sanitizer)})(De.fromDom(e.getBody()),(e=>({createDialog:()=>{let t=\"\";const n=ge(),r=(()=>{const e=fe([{text:\"Close\",name:\"close\",type:\"custom\",primary:!0}]),t=fe({});return{setButtons:n=>{const r={},o=A(n,(e=>{const t=e.text;return r[t.toLowerCase()]=e.click,{text:t,name:t.toLowerCase(),type:\"custom\"}}));t.set(r),e.set(o)},getButtons:e.get,getAction:e=>{const n=t.get();return ze(n,e)?k.some(n[e]):k.none()}}})(),o=Ct({close:St([])}),s=()=>{o.trigger.close()};return{events:o.registry,setTitle:e=>t=e,setContent:e=>n.set(e),setButtons:e=>{r.setButtons(e)},show:()=>{n.on((n=>{const o=Gp(n.dom),a={title:t,body:{type:\"panel\",items:[{type:\"htmlpanel\",html:o}]},initialData:{},buttons:r.getButtons(),onCancel:s,onAction:(e,t)=>{r.getAction(t.name).each(y),e.close()}};e.windowManager.open(a)}))},hide:d,destroy:()=>{n.clear()},reflow:d}}}))(e).createDialog,d,m,Wp),f=((e=ac,t=fr.tabSpaces)=>Nc([Hp(t,fr.defaultProtocol)],Mp(Ec.discard,Pp,[rp],!0),e))(o,h);return O([p,f],(t=>{t.events.cancel.bind((()=>{u()})),t.events.error.bind((t=>{u(),e.notificationManager?e.notificationManager.open({text:Vp(t.message),type:\"error\"}):((e,t)=>{const n={title:\"Error\",body:{type:\"panel\",items:[{type:\"htmlpanel\",html:t}]},initialData:{},buttons:[{text:\"OK\",type:\"cancel\",name:\"ok\",primary:!0}]};e.windowManager.open(n)})(e,Vp(t.message))})),t.events.insert.bind((t=>{const n=A(t.elements,(e=>Gp(e.dom))).join(\"\");e.focus(),s.importImages(t.assets).get((()=>{u();const r=of(e,n,t.isInternal,t.source,t.mode);r.cancelled||(((e,t)=>{((e,t,n)=>{B(n,(n=>n(e,t)))})(e,t,(ne(e)?[ef,tf]:[]).concat([c]))})(e,r.content),oe(e)&&s.uploadImages(t.assets))}))})),t.events.block.bind((t=>{e.setProgressState(t.state)}))})),{pasteHtml:e=>p.pasteCustom(((e,t=ac)=>({getWordData:()=>k.from(e).filter(xc).map((e=>hc({html:e,rtf:Qi()}))),getGoogleDocsData:()=>k.from(e).filter(kc).map((e=>t.sanitizeHtml(e,\"googledocs\"))).map(Ac),getImage:k.none,getHtml:()=>k.some(Ac(t.sanitizeHtml(e))),getText:k.none,getNative:v(\"There is no native event\"),getOnlyText:k.none,getVoid:v(\"There is no paste event\")}))(e,o)),pasteText:e=>f.pasteCustom(((e,t=ac)=>({getWordData:k.none,getGoogleDocsData:k.none,getImage:k.none,getHtml:k.none,getText:()=>k.some(mc({text:t.sanitizeText(e)})),getNative:v(\"There is no native event\"),getOnlyText:k.none,getVoid:v(\"There is no paste event\")}))(e,o)),pasteEvent:n=>{(e=>{return(t=e,k.from(t.clipboardData).bind((e=>k.from(e.getData(\"text/html\"))))).bind((e=>(e=>W(e,\"<google-sheets-html-origin\"))(e)?k.some(\"googlesheets\"):(e=>W(e,\" data-ccp-props=\")&&W(e,\" paraid=\")&&/font-family:.+?_MSFontService(&quot;)?[,;]/.test(e))(e)?k.some(\"mswordonline\"):(e=>W(e,\"<meta name=ProgId content=Excel.Sheet>\")&&!W(e,'=\"urn:schemas-microsoft-com:office:'))(e)?k.some(\"msexcelonline\"):k.none()));var t})(n).each((t=>{((e,t)=>{e.dispatch(\"PowerPasteTempStats\",{source:t})})(e,t)})),a.isSet()||a.set(e.selection.getBookmark(1)),(t.isText()?f:p).paste(n),t.reset(),n.stopImmediatePropagation()}}},af=(e,t)=>{const n=tinymce.html.DomParser({},e.schema).parse(t,{forced_root_block:!1,isRootContent:!0});return tinymce.html.Serializer({validate:!0},e.schema).serialize(n)},lf=(e,t)=>{e.dom.bind(t,\"drop dragstart dragend dragover dragenter dragleave dragdrop draggesture\",(e=>{e.preventDefault(),e.stopImmediatePropagation()}))},cf=e=>{var t,n;return I(null!==(n=null===(t=e.dataTransfer)||void 0===t?void 0:t.items)&&void 0!==n?n:[],(e=>$(e.type,\"image/\")))},uf=(e,t,n,r)=>{const o=tinymce.dom.RangeUtils;let s;const a=t=>{var n,r;const s=o.getCaretRangeFromPoint(null!==(n=t.clientX)&&void 0!==n?n:0,null!==(r=t.clientY)&&void 0!==r?r:0,e.getDoc());e.focus(),l(s)&&e.selection.setRng(s)};e.on(\"dragstart dragend\",(e=>{s=\"dragstart\"===e.type})),e.on(\"dragover dragend dragleave\",(e=>{s||cf(e)||(e.preventDefault(),a(e))}));const i=(e,t)=>t in e&&e[t].length>0;e.on(\"drop\",(t=>{if(!s&&!cf(t)){a(t);const o=(t=>{var n,r,o;const s=null!==(o=null!==(n=t.target.files)&&void 0!==n?n:null===(r=t.dataTransfer)||void 0===r?void 0:r.files)&&void 0!==o?o:[],a=pe(e);return L(s,(e=>$(e.type,\"image/\")&&I(a,(t=>(e=>{const t=e.toLowerCase(),n={jpg:\"jpeg\",jpe:\"jpeg\",jfi:\"jpeg\",jif:\"jpeg\",jfif:\"jpeg\",pjpeg:\"jpeg\",pjp:\"jpeg\",svg:\"svg+xml\"};return ze(n,t)?\"image/\"+n[t]:\"image/\"+t})(t)===e.type))))})(t);if(o.length>0)return(t=>{Mc(t).then((t=>{const n=(e=>A(e,(e=>{const t=De.fromTag(\"img\"),n=Dc.cata(e,r.getLocalURL,((e,t,n)=>t));return Sn(t,\"src\",n),t.dom.outerHTML})).join(\"\"))(t),o=of(e,n,!1,\"imagedrop\",\"auto\");o.cancelled||(e.insertContent(o.content,{merge:ee(e)}),oe(e)&&r.uploadImages(t))}))})(o),void t.preventDefault();const s=(e=>{const t={};if(e&&e.types)for(let n=0;n<e.types.length;n++){const r=e.types[n];t[r]=e.getData(r)}return t})(t.dataTransfer);i(s,\"text/html\")?(n.pasteHtml(s[\"text/html\"]),t.preventDefault()):i(s,\"text/plain\")&&!(e=>{const t=e[\"text/plain\"];return!!t&&0===t.indexOf(\"file://\")})(s)&&(n.pasteText(s[\"text/plain\"]),t.preventDefault())}}))};tinymce.PluginManager.requireLangPack(\"powerpaste\",\"ar,bg_BG,ca,cs,da,de,el,es,eu,fa,fi,fr_FR,he_IL,hi,hr,hu_HU,id,it,ja,kk,ko_KR,ms,nb_NO,nl,pl,pt_BR,pt_PT,ro,ru,sk,sl_SI,sv_SE,th_TH,tr,uk,vi,zh_CN,zh_TW\"),tinymce.PluginManager.add(\"powerpaste\",(e=>(t,r)=>{if(((e,t)=>!!e&&-1===((e,t)=>{const n=J(e.major,t.major);if(0!==n)return n;const r=J(e.minor,t.minor);if(0!==r)return r;const o=J(e.patch,t.patch);return 0!==o?o:0})((e=>X((e=>[e.majorVersion,e.minorVersion].join(\".\").split(\".\").slice(0,3).join(\".\"))(e)))(e),X(t)))(tinymce,\"6.0.0\"))return void console.error('The \"powerpaste\" plugin requires at least version 6.0.0 of TinyMCE.');(e=>{const t=e.options.register,r=e=>{const t=c(e)||(e=>n(e)&&T([\"clean\",\"merge\",\"prompt\"],e))(e);return t?{value:e,valid:t}:{valid:!1,message:\"Must be prompt, clean or merge.\"}};t(\"powerpaste_block_drop\",{processor:\"boolean\",default:!1}),t(\"powerpaste_keep_unsupported_src\",{processor:\"boolean\",default:!1}),t(\"powerpaste_allow_local_images\",{processor:\"boolean\",default:!0}),t(\"powerpaste_word_import\",{processor:r,default:\"prompt\"}),t(\"powerpaste_googledocs_import\",{processor:r,default:\"prompt\"}),t(\"powerpaste_html_import\",{processor:r,default:\"clean\"}),t(\"powerpaste_clean_filtered_inline_elements\",{processor:\"string[]\",default:[]}),e.options.isRegistered(\"link_default_protocol\")||t(\"link_default_protocol\",{processor:\"string\",default:\"https\"})})(t),(e=>{const t=e.options.set;t(\"paste_block_drop\",!1),t(\"paste_remove_styles_if_webkit\",!1)})(t);const o=(e=>{const t=fe(Q(e)),n=fe(!1);return e.on(\"keydown\",(e=>{(e=>tinymce.util.VK.metaKeyPressed(e)&&86===e.keyCode&&e.shiftKey)(e)&&n.set(!0)})),e.on(\"PastePlainTextToggle\",(e=>{t.set(e.state)})),{reset:()=>{n.set(!1)},isText:()=>n.get()||t.get()}})(t),s=(e=>{const t=(e,t)=>m(e+\".\"+(e=>{const t=e.toLowerCase(),n={\"image/jpeg\":\"jpg\",\"image/jpg\":\"jpg\",\"image/gif\":\"gif\",\"image/png\":\"png\",\"image/apng\":\"apng\",\"image/avif\":\"avif\",\"image/svg+xml\":\"svg\",\"image/webp\":\"webp\",\"image/bmp\":\"bmp\",\"image/tiff\":\"tiff\"};return ze(n,t)?n[t]:\"dat\"})(t)),n=(n,r,o,s)=>kr((a=>{fi(r).then((r=>{e.editorUpload.blobCache.add({id:m(n),name:m(n),filename:t(n,r.type),blob:m(r),base64:m(o.split(\",\")[1]),blobUri:m(s),uri:m(void 0)}),a(r)}))}));return{importImages:e=>{const t=R(e,(e=>Dc.cata(e,((e,t,r)=>{const o=gi(t);return[n(e,t,o,r)]}),m([]))));return wr(t)},uploadImages:()=>{e.uploadImages()},getLocalURL:(e,t,n)=>gi(t)}})(t),a=(e=>{const t=sc(Yp),n=(e=>({sanitizeHtml:g(af,e),sanitizeText:p}))(e);return{sanitizeText:t.sanitizeText,sanitizeHtml:(e,r)=>(Yp(e)?n:t).sanitizeHtml(e,r)}})(t);t.on(\"PreInit\",(()=>{if(t.removed)return;const i=sf(t,o,r,e,a,s);((e,t)=>{e.addCommand(\"mceInsertClipboardContent\",((e,r)=>{n(r.html)?t.pasteHtml(r.html):n(r.text)&&t.pasteText(r.text)}))})(t,i),((e,t)=>{e.on(\"paste\",(e=>{e.isDefaultPrevented()||(e=>{var t,n;const r=null!==(n=null===(t=e.clipboardData)||void 0===t?void 0:t.items)&&void 0!==n?n:[],o=L(r,(e=>$(e.type,\"image/\")));return o.length>0&&o.length===r.length})(e)||t.pasteEvent(e)}))})(t,i),ae(t)?(e=>{lf(e,e.getBody()),e.inline||lf(e,e.getDoc())})(t):uf(t,0,i,s)}))})(undefined))}();/* !\n * Tiny PowerPaste plugin\n *\n * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.\n * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/\n *\n * Version: 6.2.4-639\n */\n\n// Generated by js_of_ocaml 4.0.0\n(function(a){typeof\nglobalThis!==\"object\"&&(this?b():(a.defineProperty(a.prototype,\"_T_\",{configurable:true,get:b}),_T_));function\nb(){var\nb=this||self;b.globalThis=b;delete\na.prototype._T_}}(Object));(function(x){\"use strict\";var\njI=\"q\",f8=\"i\",aU=\"img\",i3=\"Invalid_argument\",d7=\"Map.bal\",i2=\"@[\",i1=\"%ni\",jH=\"data-text-indent-alt\",c0=\"th\",bb=\"!\",i0=\"align\",jG=\"applewebkit\",b5=\"label\",bt=\"col\",ag=0xff,cc=\"title\",fI=\"del\",l=-579472809,cZ=\"font\",iZ=\"strike\",X=\"contents\",cK=\"height\",iY=\"abbr\",af=\"0\",f7=\"samp\",c=-841728391,R=698996132,cY=128,iX=\"Sys_blocked_io\",aT=\"p\",cX=\"start\",jF=\"fd \",iW=\"normal\",ba=\"form\",A=248,f6=\"DeltaViewInsertion\",f5=\"var\",f4=\" {\\n\",cW=\">\",jE=1027,f3=\"em\",aC=0xFF,ei=\"caption\",ao=246,bI=\"td\",bs=\"object\",iV=\"%u\",fH=\"[endif]\",cV=\"noscript\",jD=\"error\",a$=\"table\",cH=\"tbody\",cI=127,cJ=1024,ap=\"script\",iU=\"@{\",f1=\"1\",f2=\"e\",fG=\" : flags Open_rdonly and Open_wronly are not compatible\",jC=\"mso-list\",eh=\"button\",cU=\"h1\",br=\"-\",f0=\": Not a directory\",fF=\" : file already exists\",fZ=\"b\",a7=0xffffff,iT=\"startfragment\",fE=\"strong\",jB=\"Out_of_memory\",eg=\"big\",$=\"ul\",jA=\": closedir failed\",fY=\"index out of bounds\",d6=\"select\",at=\"tr\",ef=\"_bigarr02\",ee=\"@\",iR=\", characters \",iS=0x7F,cb=\"isindex\",aV=0xffff,d5=\"basefont\",iP=\"wordimport.js\",d4=\"none\",iQ=12520,d3=\"small\",jz=\"infinity\",aa=\"li\",d2=\"menu\",cG=1000,e=\"\",cT=\"sub\",iO=\"^\",ca=749117977,bq=0x3f,bC=\"link\",iN=\"src\",ed=\"frame\",iM=\"Match_failure\",jy=\"mso-element\",cS=\"html\",ec=\"iframe\",eb=252,an=0x00,iL=\" : is a directory\",bu=\".\",b4=\"+\",jw=\"safari\",fX=\"tt\",jx=0xf0,jv=\"<![endif]\",b3=\"param\",bH=\"width\",iK=\"%li\",ju=\"map\",bG=\"fieldset\",bB=\"a\",iJ=65536,fW=-32,fD=\")\",d1=\"legend\",bA=-810056052,fC=\"nan\",jt=\"list-style-type\",js=\"closedir\",d0=\"applet\",iI=0xe0,iH=0xdfff,b2=\"div\",aS=\"/\",jr=\"Assert_failure\",dZ=\"s\",bp=\"meta\",fB=\"ENOTDIR\",fA=1073741823,j=870530776,b1=\"dl\",bo=250,b$=\"frameset\",cR=\"blockquote\",ea=\",\",bF='\"',iG=\"function\",fz=1255,fV=\"<\",jq=\"Fatal error: exception %s\\n\",b0=255,jp=0x800,fy=\"jsError\",aR=0x8000,aK=256,aE=\"style\",fx=\"\\n}\",iF=\"End_of_file\",jo=\"text-align\",dY=\"center\",jn=\"data-main\",fw=\"Failure\",iE=\"data-converted-paragraph\",v=50834029,fv=\"code\",fU=\"ENOENT\",iD=\".5pt\",fu=\"dfn\",jm=\"([^/]+)\",fT=0xf,iB=-48,iC=0xdc00,jl=\"ENOTEMPTY\",ft=\"EBADF\",iA=\"data-list-level\",N=\"camlinternalFormat.ml\",jk=\"Division_by_zero\",jj=\"<\\/\",iz=\"Sys_error\",fs=\"cite\",b_=\"noframes\",W=\"ol\",ji=\": \",iy=\"EEXIST\",fS=\"%d\",ix=\"Printexc.handle_uncaught_exception\",d$=\"optgroup\",fr=\"kbd\",jg=\"'\",jh=\"buffer.ml\",cQ=\"h5\",dX=\"int_of_string\",dW=\"dt\",iw=\"display\",iu=120,iv=103,d_=\"colgroup\",cF=\"h6\",a_=\"head\",cP=\"h3\",it=512,jf=\"br\",is=0x7ff0,b9=\"data-list-id\",a9=\"body\",dV=\"u\",ir=\"0x\",dU=\"\\n\",cE=\"h2\",d9=254,iq=\"bdo\",fR=100,cO=\"pre\",io=\"%Li\",ip=\": file descriptor already closed\",fQ=\" : flags Open_text and Open_binary are not compatible\",dT=\"area\",je=\"Safari\",cN=\"tfoot\",dS=\"input\",bz=\"span\",fq=3257036,a8=-804212868,cD=\"thead\",fP=17731,im=\"lexing: empty token\",fO=\"Unix.Unix_error\",by=\"--\",jd=\"&nbsp;\",fp=\"mkdir\",jc=\"Stack_overflow\",fo=\"v:shape\",cC=\"address\",dR=\": No such file or directory\",ja=\"border\",jb=\"/static/\",i$=-97,i9=\"tab-interval\",i_=\"Not_found\",i8=\"chrome\",cM=\"dd\",fn=\"ins\",cB=\", \",i=781665294,il=0xFE,fN=\"rmdir\",bE=\"dir\",fm=\"data-list-type\",bn=\"class\",i7=1026,i6=\"Chromium\",cL=\"sup\",fM=\"?\",dQ=\"list-style\",ik=\"Pervasives.do_at_exit\",ae=\" \",fL=\"Fatal error: exception \",aD=0x80,ij=\"Undefined_recursive_module\",b8=\"base\",bD=\":\",i5=\"\\xc2\\xa0\",b7=\"option\",b6=\"hr\",ii=\"cleanDocument\",cA=\"h4\",o=-936778451,dP=\"Set.bal\",i4=\"_\",fK=\"compare: functional value\",ih=\"%i\",d8=\"true\",dO=\"textarea\",fJ=\"acronym\";function\nzB(d,b,e,c,f){if(c<=b)for(var\na=1;a<=f;a++)e[c+a]=d[b+a];else\nfor(var\na=f;a>=1;a--)e[c+a]=d[b+a];return 0}function\nzC(e,f,d){var\na=new\nArray(d+1);a[0]=0;for(var\nb=1,c=f+1;b<=d;b++,c++)a[b]=e[c];return a}function\nc_(c,b,a){var\nd=String.fromCharCode;if(b==0&&a<=4096&&a==c.length)return d.apply(null,c);var\nf=e;for(;0<a;b+=cJ,a-=cJ)f+=d.apply(null,c.slice(b,b+Math.min(a,cJ)));return f}function\nek(b){var\nc=new\nUint8Array(b.l),e=b.c,d=e.length,a=0;for(;a<d;a++)c[a]=e.charCodeAt(a);for(d=b.l;a<d;a++)c[a]=0;b.c=c;b.t=4;return c}function\nbc(d,e,b,f,c){if(c==0)return 0;if(f==0&&(c>=b.l||b.t==2&&c>=b.c.length)){b.c=d.t==4?c_(d.c,e,c):e==0&&d.c.length==c?d.c:d.c.substr(e,c);b.t=b.c.length==b.l?0:2}else\nif(b.t==2&&f==b.c.length){b.c+=d.t==4?c_(d.c,e,c):e==0&&d.c.length==c?d.c:d.c.substr(e,c);b.t=b.c.length==b.l?0:2}else{if(b.t!=4)ek(b);var\ng=d.c,h=b.c;if(d.t==4)if(f<=e)for(var\na=0;a<c;a++)h[f+a]=g[e+a];else\nfor(var\na=c-1;a>=0;a--)h[f+a]=g[e+a];else{var\ni=Math.min(c,g.length-e);for(var\na=0;a<i;a++)h[f+a]=g.charCodeAt(e+a);for(;a<c;a++)h[f+a]=0}}return 0}function\nau(a){return a}function\nbd(a,b,c,d,e){bc(au(a),b,c,d,e);return 0}function\ncf(b,a){if(b==0)return e;if(a.repeat)return a.repeat(b);var\nd=e,c=0;for(;;){if(b&1)d+=a;b>>=1;if(b==0)return d;a+=a;c++;if(c==9)a.slice(0,1)}}function\nbM(a){if(a.t==2)a.c+=cf(a.l-a.c.length,\"\\0\");else\na.c=c_(a.c,0,a.c.length);a.t=0}function\njS(a,b){if(a===b)return 1;a.t&6&&bM(a);b.t&6&&bM(b);return a.c==b.c?1:0}function\nAo(b,a){throw[0,b,a]}function\nkd(a){if(a.length<24){for(var\nb=0;b<a.length;b++)if(a.charCodeAt(b)>cI)return false;return true}else\nreturn!/[^\\x00-\\x7f]/.test(a)}function\nAx(f){for(var\nk=e,c=e,h,g,i,a,b=0,j=f.length;b<j;b++){g=f.charCodeAt(b);if(g<aD){for(var\nd=b+1;d<j&&(g=f.charCodeAt(d))<aD;d++);if(d-b>it){c.substr(0,1);k+=c;c=e;k+=f.slice(b,d)}else\nc+=f.slice(b,d);if(d==j)break;b=d}a=1;if(++b<j&&((i=f.charCodeAt(b))&-64)==cY){h=i+(g<<6);if(g<iI){a=h-0x3080;if(a<aD)a=1}else{a=2;if(++b<j&&((i=f.charCodeAt(b))&-64)==cY){h=i+(h<<6);if(g<jx){a=h-0xe2080;if(a<jp||a>=0xd7ff&&a<0xe000)a=2}else{a=3;if(++b<j&&((i=f.charCodeAt(b))&-64)==cY&&g<0xf5){a=i-0x3c82080+(h<<6);if(a<0x10000||a>0x10ffff)a=3}}}}}if(a<4){b-=a;c+=\"\\ufffd\"}else\nif(a>aV)c+=String.fromCharCode(0xd7c0+(a>>10),iC+(a&0x3FF));else\nc+=String.fromCharCode(a);if(c.length>cJ){c.substr(0,1);k+=c;c=e}}return k+c}function\naW(c,a,b){this.t=c;this.c=a;this.l=b}aW.prototype.toString=function(){switch(this.t){case\n9:return this.c;default:bM(this);case\n0:if(kd(this.c)){this.t=9;return this.c}this.t=8;case\n8:return this.c}};aW.prototype.toUtf16=function(){var\na=this.toString();if(this.t==9)return a;return Ax(a)};aW.prototype.slice=function(){var\na=this.t==4?this.c.slice():this.c;return new\naW(this.t,a,this.l)};function\njT(a){return new\naW(0,a,a.length)}function\na(a){return jT(a)}function\ngn(c,b){Ao(c,a(b))}var\naG=[0];function\nL(a){gn(aG.Invalid_argument,a)}function\njQ(){L(fY)}function\nbL(a,b){switch(a.t&6){default:if(b>=a.c.length)return 0;case\n0:return a.c.charCodeAt(b);case\n4:return a.c[b]}}function\nbK(b,a){if(a>>>0>=b.l)jQ();return bL(b,a)}function\nH(a,c,b){b&=ag;if(a.t!=4){if(c==a.c.length){a.c+=String.fromCharCode(b);if(c+1==a.l)a.t=0;return 0}ek(a)}a.c[c]=b;return 0}function\naL(b,a,c){if(a>>>0>=b.l)jQ();return H(b,a,c)}function\naF(c,a){if(c.fun)return aF(c.fun,a);if(typeof\nc!==\"function\")return c;var\nb=c.length|0;if(b===0)return c.apply(null,a);var\ne=a.length|0,d=b-e|0;if(d==0)return c.apply(null,a);else\nif(d<0)return aF(c.apply(null,a.slice(0,b)),a.slice(b));else\nreturn function(){var\ne=arguments.length==0?1:arguments.length,d=new\nArray(a.length+e);for(var\nb=0;b<a.length;b++)d[b]=a[b];for(var\nb=0;b<arguments.length;b++)d[a.length+b]=arguments[b];return aF(c,d)}}function\nc2(){L(fY)}function\nw(a,b){if(b>>>0>=a.length-1)c2();return a}function\nzG(a){if(isFinite(a)){if(Math.abs(a)>=2.2250738585072014e-308)return 0;if(a!=0)return 1;return 2}return isNaN(a)?4:3}function\naw(a){a.t&6&&bM(a);return a.c}var\nAA=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function\nAz(a){if(AA)return Math.floor(Math.log2(a));var\nb=0;if(a==0)return-Infinity;if(a>=1)while(a>=2){a/=2;b++}else\nwhile(a<1){a*=2;b--}return b}function\ngf(c){var\na=new\nFloat32Array(1);a[0]=c;var\nb=new\nInt32Array(a.buffer);return b[0]|0}var\njZ=Math.pow(2,-24);function\nj9(a){throw a}function\ngo(){j9(aG.Division_by_zero)}function\nm(b,c,a){this.lo=b&a7;this.mi=c&a7;this.hi=a&aV}m.prototype.caml_custom=\"_j\";m.prototype.copy=function(){return new\nm(this.lo,this.mi,this.hi)};m.prototype.ucompare=function(a){if(this.hi>a.hi)return 1;if(this.hi<a.hi)return-1;if(this.mi>a.mi)return 1;if(this.mi<a.mi)return-1;if(this.lo>a.lo)return 1;if(this.lo<a.lo)return-1;return 0};m.prototype.compare=function(a){var\nb=this.hi<<16,c=a.hi<<16;if(b>c)return 1;if(b<c)return-1;if(this.mi>a.mi)return 1;if(this.mi<a.mi)return-1;if(this.lo>a.lo)return 1;if(this.lo<a.lo)return-1;return 0};m.prototype.neg=function(){var\na=-this.lo,b=-this.mi+(a>>24),c=-this.hi+(b>>24);return new\nm(a,b,c)};m.prototype.add=function(a){var\nb=this.lo+a.lo,c=this.mi+a.mi+(b>>24),d=this.hi+a.hi+(c>>24);return new\nm(b,c,d)};m.prototype.sub=function(a){var\nb=this.lo-a.lo,c=this.mi-a.mi+(b>>24),d=this.hi-a.hi+(c>>24);return new\nm(b,c,d)};m.prototype.mul=function(a){var\nb=this.lo*a.lo,c=(b*jZ|0)+this.mi*a.lo+this.lo*a.mi,d=(c*jZ|0)+this.hi*a.lo+this.mi*a.mi+this.lo*a.hi;return new\nm(b,c,d)};m.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0};m.prototype.isNeg=function(){return this.hi<<16<0};m.prototype.and=function(a){return new\nm(this.lo&a.lo,this.mi&a.mi,this.hi&a.hi)};m.prototype.or=function(a){return new\nm(this.lo|a.lo,this.mi|a.mi,this.hi|a.hi)};m.prototype.xor=function(a){return new\nm(this.lo^a.lo,this.mi^a.mi,this.hi^a.hi)};m.prototype.shift_left=function(a){a=a&63;if(a==0)return this;if(a<24)return new\nm(this.lo<<a,this.mi<<a|this.lo>>24-a,this.hi<<a|this.mi>>24-a);if(a<48)return new\nm(0,this.lo<<a-24,this.mi<<a-24|this.lo>>48-a);return new\nm(0,0,this.lo<<a-48)};m.prototype.shift_right_unsigned=function(a){a=a&63;if(a==0)return this;if(a<24)return new\nm(this.lo>>a|this.mi<<24-a,this.mi>>a|this.hi<<24-a,this.hi>>a);if(a<48)return new\nm(this.mi>>a-24|this.hi<<48-a,this.hi>>a-24,0);return new\nm(this.hi>>a-48,0,0)};m.prototype.shift_right=function(a){a=a&63;if(a==0)return this;var\nc=this.hi<<16>>16;if(a<24)return new\nm(this.lo>>a|this.mi<<24-a,this.mi>>a|c<<24-a,this.hi<<16>>a>>>16);var\nb=this.hi<<16>>31;if(a<48)return new\nm(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&aV);return new\nm(this.hi<<16>>a-32,b,b)};m.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&a7;this.lo=this.lo<<1&a7};m.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&a7;this.mi=(this.mi>>>1|this.hi<<23)&a7;this.hi=this.hi>>>1};m.prototype.udivmod=function(e){var\nc=0,b=this.copy(),a=e.copy(),d=new\nm(0,0,0);while(b.ucompare(a)>0){c++;a.lsl1()}while(c>=0){c--;d.lsl1();if(b.ucompare(a)>=0){d.lo++;b=b.sub(a)}a.lsr1()}return{quotient:d,modulus:b}};m.prototype.div=function(a){var\nb=this;if(a.isZero())go();var\nd=b.hi^a.hi;if(b.hi&aR)b=b.neg();if(a.hi&aR)a=a.neg();var\nc=b.udivmod(a).quotient;if(d&aR)c=c.neg();return c};m.prototype.mod=function(b){var\na=this;if(b.isZero())go();var\nd=a.hi;if(a.hi&aR)a=a.neg();if(b.hi&aR)b=b.neg();var\nc=a.udivmod(b).modulus;if(d&aR)c=c.neg();return c};m.prototype.toInt=function(){return this.lo|this.mi<<24};m.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};m.prototype.toArray=function(){return[this.hi>>8,this.hi&ag,this.mi>>16,this.mi>>8&ag,this.mi&ag,this.lo>>16,this.lo>>8&ag,this.lo&ag]};m.prototype.lo32=function(){return this.lo|(this.mi&ag)<<24};m.prototype.hi32=function(){return this.mi>>>8&aV|this.hi<<16};function\nen(b,c,a){return new\nm(b,c,a)}function\nem(a){if(!isFinite(a)){if(isNaN(a))return en(1,0,is);return a>0?en(0,0,is):en(0,0,0xfff0)}var\nf=a==0&&1/a==-Infinity?aR:a>=0?0:aR;if(f)a=-a;var\nb=Az(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-i7)}else{a/=Math.pow(2,b-jE);if(a<16){a*=2;b-=1}if(b==0)a/=2}var\nd=Math.pow(2,24),c=a|0;a=(a-c)*d;var\ne=a|0;a=(a-e)*d;var\ng=a|0;c=c&fT|f|b<<4;return en(g,e,c)}function\nc6(a){return a.toArray()}function\njP(c,b,g){c.write(32,b.dims.length);c.write(32,b.kind|b.layout<<8);if(b.caml_custom==ef)for(var\na=0;a<b.dims.length;a++)if(b.dims[a]<aV)c.write(16,b.dims[a]);else{c.write(16,aV);c.write(32,0);c.write(32,b.dims[a])}else\nfor(var\na=0;a<b.dims.length;a++)c.write(32,b.dims[a]);switch(b.kind){case\n2:case\n3:case\n12:for(var\na=0;a<b.data.length;a++)c.write(8,b.data[a]);break;case\n4:case\n5:for(var\na=0;a<b.data.length;a++)c.write(16,b.data[a]);break;case\n6:for(var\na=0;a<b.data.length;a++)c.write(32,b.data[a]);break;case\n8:case\n9:c.write(8,0);for(var\na=0;a<b.data.length;a++)c.write(32,b.data[a]);break;case\n7:for(var\na=0;a<b.data.length/2;a++){var\ne=c6(b.get(a));for(var\nd=0;d<8;d++)c.write(8,e[d])}break;case\n1:for(var\na=0;a<b.data.length;a++){var\ne=c6(em(b.get(a)));for(var\nd=0;d<8;d++)c.write(8,e[d])}break;case\n0:for(var\na=0;a<b.data.length;a++){var\ne=gf(b.get(a));c.write(32,e)}break;case\n10:for(var\na=0;a<b.data.length/2;a++){var\nd=b.get(a);c.write(32,gf(d[1]));c.write(32,gf(d[2]))}break;case\n11:for(var\na=0;a<b.data.length/2;a++){var\nf=b.get(a),e=c6(em(f[1]));for(var\nd=0;d<8;d++)c.write(8,e[d]);var\ne=c6(em(f[2]));for(var\nd=0;d<8;d++)c.write(8,e[d])}break}g[0]=(4+b.dims.length)*4;g[1]=(4+b.dims.length)*8}function\njN(a){switch(a){case\n7:case\n10:case\n11:return 2;default:return 1}}function\nzD(b,d){var\na;switch(b){case\n0:a=Float32Array;break;case\n1:a=Float64Array;break;case\n2:a=Int8Array;break;case\n3:a=Uint8Array;break;case\n4:a=Int16Array;break;case\n5:a=Uint16Array;break;case\n6:a=Int32Array;break;case\n7:a=Int32Array;break;case\n8:a=Int32Array;break;case\n9:a=Int32Array;break;case\n10:a=Float32Array;break;case\n11:a=Float64Array;break;case\n12:a=Uint8Array;break}if(!a)L(\"Bigarray.create: unsupported kind\");var\nc=new\na(d*jN(b));return c}function\ngg(c){var\na=new\nInt32Array(1);a[0]=c;var\nb=new\nFloat32Array(a.buffer);return b[0]}function\nc5(a){return new\nm(a[7]<<0|a[6]<<8|a[5]<<16,a[4]<<0|a[3]<<8|a[2]<<16,a[1]<<0|a[0]<<8)}function\ngh(d){var\nf=d.lo,g=d.mi,b=d.hi,c=(b&0x7fff)>>4;if(c==2047)return(f|g|b&fT)==0?b&aR?-Infinity:Infinity:NaN;var\ne=Math.pow(2,-24),a=(f*e+g)*e+(b&fT);if(c>0){a+=16;a*=Math.pow(2,c-jE)}else\na*=Math.pow(2,-i7);if(b&aR)a=-a;return a}function\nf9(b){var\nd=b.length,c=1;for(var\na=0;a<d;a++){if(b[a]<0)L(\"Bigarray.create: negative dimension\");c=c*b[a]}return c}function\nzV(b,a){return new\nm(b&a7,b>>>24&ag|(a&aV)<<8,a>>>16&aV)}function\ngi(a){return a.hi32()}function\ngj(a){return a.lo32()}var\nzE=ef;function\nbv(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}bv.prototype.caml_custom=zE;bv.prototype.offset=function(b){var\nc=0;if(typeof\nb===\"number\")b=[b];if(!(b\ninstanceof\nArray))L(\"bigarray.js: invalid offset\");if(this.dims.length!=b.length)L(\"Bigarray.get/set: bad number of dimensions\");if(this.layout==0)for(var\na=0;a<this.dims.length;a++){if(b[a]<0||b[a]>=this.dims[a])c2();c=c*this.dims[a]+b[a]}else\nfor(var\na=this.dims.length-1;a>=0;a--){if(b[a]<1||b[a]>this.dims[a])c2();c=c*this.dims[a]+(b[a]-1)}return c};bv.prototype.get=function(a){switch(this.kind){case\n7:var\nd=this.data[a*2+0],b=this.data[a*2+1];return zV(d,b);case\n10:case\n11:var\ne=this.data[a*2+0],c=this.data[a*2+1];return[d9,e,c];default:return this.data[a]}};bv.prototype.set=function(a,b){switch(this.kind){case\n7:this.data[a*2+0]=gj(b);this.data[a*2+1]=gi(b);break;case\n10:case\n11:this.data[a*2+0]=b[1];this.data[a*2+1]=b[2];break;default:this.data[a]=b;break}return 0};bv.prototype.fill=function(b){switch(this.kind){case\n7:var\nc=gj(b),e=gi(b);if(c==e)this.data.fill(c);else\nfor(var\na=0;a<this.data.length;a++)this.data[a]=a%2==0?c:e;break;case\n10:case\n11:var\nd=b[1],f=b[2];if(d==f)this.data.fill(d);else\nfor(var\na=0;a<this.data.length;a++)this.data[a]=a%2==0?d:f;break;default:this.data.fill(b);break}};bv.prototype.compare=function(b,g){if(this.layout!=b.layout||this.kind!=b.kind){var\ne=this.kind|this.layout<<8,f=b.kind|b.layout<<8;return f-e}if(this.dims.length!=b.dims.length)return b.dims.length-this.dims.length;for(var\na=0;a<this.dims.length;a++)if(this.dims[a]!=b.dims[a])return this.dims[a]<b.dims[a]?-1:1;switch(this.kind){case\n0:case\n1:case\n10:case\n11:var\nc,d;for(var\na=0;a<this.data.length;a++){c=this.data[a];d=b.data[a];if(c<d)return-1;if(c>d)return 1;if(c!=d){if(!g)return NaN;if(c==c)return 1;if(d==d)return-1}}break;case\n7:for(var\na=0;a<this.data.length;a+=2){if(this.data[a+1]<b.data[a+1])return-1;if(this.data[a+1]>b.data[a+1])return 1;if(this.data[a]>>>0<b.data[a]>>>0)return-1;if(this.data[a]>>>0>b.data[a]>>>0)return 1}break;case\n2:case\n3:case\n4:case\n5:case\n6:case\n8:case\n9:case\n12:for(var\na=0;a<this.data.length;a++){if(this.data[a]<b.data[a])return-1;if(this.data[a]>b.data[a])return 1}break}return 0};function\ncd(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}cd.prototype=new\nbv();cd.prototype.offset=function(a){if(typeof\na!==\"number\")if(a\ninstanceof\nArray&&a.length==1)a=a[0];else\nL(\"Ml_Bigarray_c_1_1.offset\");if(a<0||a>=this.dims[0])c2();return a};cd.prototype.get=function(a){return this.data[a]};cd.prototype.set=function(a,b){this.data[a]=b;return 0};cd.prototype.fill=function(a){this.data.fill(a);return 0};function\njL(c,d,a,b){var\ne=jN(c);if(f9(a)*e!=b.length)L(\"length doesn't match dims\");if(d==0&&a.length==1&&e==1)return new\ncd(c,d,a,b);return new\nbv(c,d,a,b)}function\nav(b){if(!aG.Failure)aG.Failure=[A,a(fw),-3];gn(aG.Failure,b)}function\njM(b,v,r){var\ni=b.read32s();if(i<0||i>16)av(\"input_value: wrong number of bigarray dimensions\");var\np=b.read32s(),j=p&ag,o=p>>8&1,h=[];if(r==ef)for(var\na=0;a<i;a++){var\nn=b.read16u();if(n==aV){var\nt=b.read32u(),u=b.read32u();if(t!=0)av(\"input_value: bigarray dimension overflow in 32bit\");n=u}h.push(n)}else\nfor(var\na=0;a<i;a++)h.push(b.read32u());var\nd=f9(h),f=zD(j,d),g=jL(j,o,h,f);switch(j){case\n2:for(var\na=0;a<d;a++)f[a]=b.read8s();break;case\n3:case\n12:for(var\na=0;a<d;a++)f[a]=b.read8u();break;case\n4:for(var\na=0;a<d;a++)f[a]=b.read16s();break;case\n5:for(var\na=0;a<d;a++)f[a]=b.read16u();break;case\n6:for(var\na=0;a<d;a++)f[a]=b.read32s();break;case\n8:case\n9:var\ns=b.read8u();if(s)av(\"input_value: cannot read bigarray with 64-bit OCaml ints\");for(var\na=0;a<d;a++)f[a]=b.read32s();break;case\n7:var\ne=new\nArray(8);for(var\na=0;a<d;a++){for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nq=c5(e);g.set(a,q)}break;case\n1:var\ne=new\nArray(8);for(var\na=0;a<d;a++){for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nk=gh(c5(e));g.set(a,k)}break;case\n0:for(var\na=0;a<d;a++){var\nk=gg(b.read32s());g.set(a,k)}break;case\n10:for(var\na=0;a<d;a++){var\nm=gg(b.read32s()),l=gg(b.read32s());g.set(a,[d9,m,l])}break;case\n11:var\ne=new\nArray(8);for(var\na=0;a<d;a++){for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nm=gh(c5(e));for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nl=gh(c5(e));g.set(a,[d9,m,l])}break}v[0]=(4+i)*4;return jL(j,o,h,f)}function\njK(a,b,c){return a.compare(b,c)}function\nep(a,b){return Math.imul(a,b)}function\nY(b,a){a=ep(a,0xcc9e2d51|0);a=a<<15|a>>>32-15;a=ep(a,0x1b873593);b^=a;b=b<<13|b>>>32-13;return(b+(b<<2)|0)+(0xe6546b64|0)|0}function\nzQ(a,b){a=Y(a,gj(b));a=Y(a,gi(b));return a}function\ngd(a,b){return zQ(a,em(b))}function\njO(c){var\nb=f9(c.dims),d=0;switch(c.kind){case\n2:case\n3:case\n12:if(b>aK)b=aK;var\ne=0,a=0;for(a=0;a+4<=c.data.length;a+=4){e=c.data[a+0]|c.data[a+1]<<8|c.data[a+2]<<16|c.data[a+3]<<24;d=Y(d,e)}e=0;switch(b&3){case\n3:e=c.data[a+2]<<16;case\n2:e|=c.data[a+1]<<8;case\n1:e|=c.data[a+0];d=Y(d,e)}break;case\n4:case\n5:if(b>cY)b=cY;var\ne=0,a=0;for(a=0;a+2<=c.data.length;a+=2){e=c.data[a+0]|c.data[a+1]<<16;d=Y(d,e)}if((b&1)!=0)d=Y(d,c.data[a]);break;case\n6:if(b>64)b=64;for(var\na=0;a<b;a++)d=Y(d,c.data[a]);break;case\n8:case\n9:if(b>64)b=64;for(var\na=0;a<b;a++)d=Y(d,c.data[a]);break;case\n7:if(b>32)b=32;b*=2;for(var\na=0;a<b;a++)d=Y(d,c.data[a]);break;case\n10:b*=2;case\n0:if(b>64)b=64;for(var\na=0;a<b;a++)d=gd(d,c.data[a]);break;case\n11:b*=2;case\n1:if(b>32)b=32;for(var\na=0;a<b;a++)d=gd(d,c.data[a]);break}return d}function\nzT(a,b){b[0]=4;return a.read32s()}function\nAj(a,b){switch(a.read8u()){case\n1:b[0]=4;return a.read32s();case\n2:av(\"input_value: native integer value too large\");default:av(\"input_value: ill-formed native integer\")}}function\nz4(c,d){var\nb=new\nArray(8);for(var\na=0;a<8;a++)b[a]=c.read8u();d[0]=8;return c5(b)}function\nz0(e,d,b){var\nc=c6(d);for(var\na=0;a<8;a++)e.write(8,c[a]);b[0]=8;b[1]=8}function\nzU(a,b,c){return a.compare(b)}function\nzX(a){return a.lo32()^a.hi32()}var\nc4={\"_j\":{deserialize:z4,serialize:z0,fixed_length:8,compare:zU,hash:zX},\"_i\":{deserialize:zT,fixed_length:4},\"_n\":{deserialize:Aj,fixed_length:4},\"_bigarray\":{deserialize:function(a,b){return jM(a,b,\"_bigarray\")},serialize:jP,compare:jK,hash:jO},\"_bigarr02\":{deserialize:function(a,b){return jM(a,b,ef)},serialize:jP,compare:jK,hash:jO}};function\nga(a){return c4[a.caml_custom]&&c4[a.caml_custom].compare}function\njU(f,c,d,e){var\nb=ga(c);if(b){var\na=d>0?b(c,f,e):b(f,c,e);if(e&&a!=a)return d;if(+a!=+a)return+a;if((a|0)!=0)return a|0}return d}function\nc8(a){return a\ninstanceof\naW}function\neo(a){return c8(a)}function\njV(a){if(typeof\na===\"number\")return cG;else\nif(c8(a))return eb;else\nif(eo(a))return 1252;else\nif(a\ninstanceof\nArray&&a[0]===a[0]>>>0&&a[0]<=b0){var\nb=a[0]|0;return b==d9?0:b}else\nif(a\ninstanceof\nString)return iQ;else\nif(typeof\na==\"string\")return iQ;else\nif(a\ninstanceof\nNumber)return cG;else\nif(a&&a.caml_custom)return fz;else\nif(a&&a.compare)return 1256;else\nif(typeof\na==\"function\")return 1247;else\nif(typeof\na==\"symbol\")return 1251;return 1001}function\nj0(a,b){if(a<b)return-1;if(a==b)return 0;return 1}function\njR(a,b){a.t&6&&bM(a);b.t&6&&bM(b);return a.c<b.c?-1:a.c>b.c?1:0}function\nc9(a,b){return jR(a,b)}function\nf$(a,b,d){var\ne=[];for(;;){if(!(d&&a===b)){var\nf=jV(a);if(f==bo){a=a[1];continue}var\ng=jV(b);if(g==bo){b=b[1];continue}if(f!==g){if(f==cG){if(g==fz)return jU(a,b,-1,d);return-1}if(g==cG){if(f==fz)return jU(b,a,1,d);return 1}return f<g?-1:1}switch(f){case\n247:L(fK);break;case\n248:var\nc=j0(a[2],b[2]);if(c!=0)return c|0;break;case\n249:L(fK);break;case\n250:L(\"equal: got Forward_tag, should not happen\");break;case\n251:L(\"equal: abstract value\");break;case\n252:if(a!==b){var\nc=jR(a,b);if(c!=0)return c|0}break;case\n253:L(\"equal: got Double_tag, should not happen\");break;case\n254:L(\"equal: got Double_array_tag, should not happen\");break;case\n255:L(\"equal: got Custom_tag, should not happen\");break;case\n1247:L(fK);break;case\n1255:var\ni=ga(a);if(i!=ga(b))return a.caml_custom<b.caml_custom?-1:1;if(!i)L(\"compare: abstract value\");var\nc=i(a,b,d);if(c!=c)return d?-1:c;if(c!==(c|0))return-1;if(c!=0)return c|0;break;case\n1256:var\nc=a.compare(b,d);if(c!=c)return d?-1:c;if(c!==(c|0))return-1;if(c!=0)return c|0;break;case\n1000:a=+a;b=+b;if(a<b)return-1;if(a>b)return 1;if(a!=b){if(!d)return NaN;if(a==a)return 1;if(b==b)return-1}break;case\n1001:if(a<b)return-1;if(a>b)return 1;if(a!=b){if(!d)return NaN;if(a==a)return 1;if(b==b)return-1}break;case\n1251:if(a!==b){if(!d)return NaN;return 1}break;case\n1252:var\na=aw(a),b=aw(b);if(a!==b){if(a<b)return-1;if(a>b)return 1}break;case\n12520:var\na=a.toString(),b=b.toString();if(a!==b){if(a<b)return-1;if(a>b)return 1}break;case\n246:case\n254:default:if(a.length!=b.length)return a.length<b.length?-1:1;if(a.length>1)e.push(a,b,1);break}}if(e.length==0)return 0;var\nh=e.pop();b=e.pop();a=e.pop();if(h+1<a.length)e.push(a,b,h+1);a=a[h];b=b[h]}}function\nce(a,b){return f$(a,b,true)}function\nzH(){return[0]}function\nD(a){if(a<0)L(\"Bytes.create\");return new\naW(a?2:9,e,a)}function\nbN(a,b){return+(f$(a,b,false)==0)}function\nzJ(a,c,b,d){if(b>0)if(c==0&&(b>=a.l||a.t==2&&b>=a.c.length))if(d==0){a.c=e;a.t=2}else{a.c=cf(b,String.fromCharCode(d));a.t=b==a.l?0:2}else{if(a.t!=4)ek(a);for(b+=c;c<b;c++)a.c[c]=d}return 0}function\ngm(d){d=aw(d);var\ne=d.length;if(e>31)L(\"format_int: format too long\");var\na={justify:b4,signstyle:br,filler:ae,alternate:false,base:0,signedconv:false,width:0,uppercase:false,sign:1,prec:-1,conv:\"f\"};for(var\nc=0;c<e;c++){var\nb=d.charAt(c);switch(b){case\"-\":a.justify=br;break;case\"+\":case\" \":a.signstyle=b;break;case\"0\":a.filler=af;break;case\"#\":a.alternate=true;break;case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":a.width=0;while(b=d.charCodeAt(c)-48,b>=0&&b<=9){a.width=a.width*10+b;c++}c--;break;case\".\":a.prec=0;c++;while(b=d.charCodeAt(c)-48,b>=0&&b<=9){a.prec=a.prec*10+b;c++}c--;case\"d\":case\"i\":a.signedconv=true;case\"u\":a.base=10;break;case\"x\":a.base=16;break;case\"X\":a.base=16;a.uppercase=true;break;case\"o\":a.base=8;break;case\"e\":case\"f\":case\"g\":a.signedconv=true;a.conv=b;break;case\"E\":case\"F\":case\"G\":a.signedconv=true;a.uppercase=true;a.conv=b.toLowerCase();break}}return a}function\ngb(b,g){if(b.uppercase)g=g.toUpperCase();var\nf=g.length;if(b.signedconv&&(b.sign<0||b.signstyle!=br))f++;if(b.alternate){if(b.base==8)f+=1;if(b.base==16)f+=2}var\nc=e;if(b.justify==b4&&b.filler==ae)for(var\nd=f;d<b.width;d++)c+=ae;if(b.signedconv)if(b.sign<0)c+=br;else\nif(b.signstyle!=br)c+=b.signstyle;if(b.alternate&&b.base==8)c+=af;if(b.alternate&&b.base==16)c+=b.uppercase?\"0X\":ir;if(b.justify==b4&&b.filler==af)for(var\nd=f;d<b.width;d++)c+=af;c+=g;if(b.justify==br)for(var\nd=f;d<b.width;d++)c+=ae;return a(c)}function\ngc(i,c){function\nj(a,b){if(Math.abs(a)<1.0)return a.toFixed(b);else{var\nc=parseInt(a.toString().split(b4)[1]);if(c>20){c-=20;a/=Math.pow(10,c);a+=new\nArray(c+1).join(af);if(b>0)a=a+bu+new\nArray(b+1).join(af);return a}else\nreturn a.toFixed(b)}}var\na,e=gm(i),d=e.prec<0?6:e.prec;if(c<0||c==0&&1/c==-Infinity){e.sign=-1;c=-c}if(isNaN(c)){a=fC;e.filler=ae}else\nif(!isFinite(c)){a=\"inf\";e.filler=ae}else\nswitch(e.conv){case\"e\":var\na=c.toExponential(d),b=a.length;if(a.charAt(b-3)==f2)a=a.slice(0,b-1)+af+a.slice(b-1);break;case\"f\":a=j(c,d);break;case\"g\":d=d?d:1;a=c.toExponential(d-1);var\nh=a.indexOf(f2),g=+a.slice(h+1);if(g<-4||c>=1e21||c.toFixed(0).length>d){var\nb=h-1;while(a.charAt(b)==af)b--;if(a.charAt(b)==bu)b--;a=a.slice(0,b+1)+a.slice(h);b=a.length;if(a.charAt(b-3)==f2)a=a.slice(0,b-1)+af+a.slice(b-1);break}else{var\nf=d;if(g<0){f-=g+1;a=c.toFixed(f)}else\nwhile(a=c.toFixed(f),a.length>d+1)f--;if(f){var\nb=a.length-1;while(a.charAt(b)==af)b--;if(a.charAt(b)==bu)b--;a=a.slice(0,b+1)}}break}return gb(e,a)}function\nel(f,c){if(aw(f)==fS)return a(e+c);var\nb=gm(f);if(c<0)if(b.signedconv){b.sign=-1;c=-c}else\nc>>>=0;var\nd=c.toString(b.base);if(b.prec>=0){b.filler=ae;var\ng=b.prec-d.length;if(g>0)d=cf(g,af)+d}return gb(b,d)}var\nj7=0;function\nbe(){return j7++}function\ngk(a){return a.toUtf16()}function\nda(){return false}function\nAB(){function\na(a){if(a.charAt(0)===aS)return[e,a.substring(1)];return}function\nb(c){var\nh=/^([a-zA-Z]:|[\\\\/]{2}[^\\\\/]+[\\\\/]+[^\\\\/]+)?([\\\\/])?([\\s\\S]*?)$/,a=h.exec(c),b=a[1]||e,f=Boolean(b&&b.charAt(1)!==bD);if(Boolean(a[2]||f)){var\nd=a[1]||e,g=a[2]||e;return[d,c.substring(d.length+g.length)]}return}return da()&&x.process&&x.process.platform?x.process.platform===\"win32\"?b:a:a}var\ngq=AB();function\nkb(a){return a.slice(-1)!==aS?a+aS:a}if(da()&&x.process&&x.process.cwd)var\nc3=x.process.cwd().replace(/\\\\/g,aS);else\nvar\nc3=\"/static\";c3=kb(c3);function\nAa(a){a=gk(a);if(!gq(a))a=c3+a;var\ne=gq(a),d=e[1].split(aS),b=[];for(var\nc=0;c<d.length;c++)switch(d[c]){case\"..\":if(b.length>1)b.pop();break;case\".\":break;case\"\":break;default:b.push(d[c]);break}b.unshift(e[0]);b.orig=a;return b}function\nAy(f){for(var\ng=e,b=g,a,i,c=0,h=f.length;c<h;c++){a=f.charCodeAt(c);if(a<aD){for(var\nd=c+1;d<h&&(a=f.charCodeAt(d))<aD;d++);if(d-c>it){b.substr(0,1);g+=b;b=e;g+=f.slice(c,d)}else\nb+=f.slice(c,d);if(d==h)break;c=d}if(a<jp){b+=String.fromCharCode(0xc0|a>>6);b+=String.fromCharCode(aD|a&bq)}else\nif(a<0xd800||a>=iH)b+=String.fromCharCode(iI|a>>12,aD|a>>6&bq,aD|a&bq);else\nif(a>=0xdbff||c+1==h||(i=f.charCodeAt(c+1))<iC||i>iH)b+=\"\\xef\\xbf\\xbd\";else{c++;a=(a<<10)+i-0x35fdc00;b+=String.fromCharCode(jx|a>>18,aD|a>>12&bq,aD|a>>6&bq,aD|a&bq)}if(b.length>cJ){b.substr(0,1);g+=b;b=e}}return g+b}function\nzF(a){var\nb=9;if(!kd(a))b=8,a=Ay(a);return new\naW(b,a,a.length)}function\nai(a){return zF(a)}var\nAE=[\"E2BIG\",\"EACCES\",\"EAGAIN\",ft,\"EBUSY\",\"ECHILD\",\"EDEADLK\",\"EDOM\",iy,\"EFAULT\",\"EFBIG\",\"EINTR\",\"EINVAL\",\"EIO\",\"EISDIR\",\"EMFILE\",\"EMLINK\",\"ENAMETOOLONG\",\"ENFILE\",\"ENODEV\",fU,\"ENOEXEC\",\"ENOLCK\",\"ENOMEM\",\"ENOSPC\",\"ENOSYS\",fB,jl,\"ENOTTY\",\"ENXIO\",\"EPERM\",\"EPIPE\",\"ERANGE\",\"EROFS\",\"ESPIPE\",\"ESRCH\",\"EXDEV\",\"EWOULDBLOCK\",\"EINPROGRESS\",\"EALREADY\",\"ENOTSOCK\",\"EDESTADDRREQ\",\"EMSGSIZE\",\"EPROTOTYPE\",\"ENOPROTOOPT\",\"EPROTONOSUPPORT\",\"ESOCKTNOSUPPORT\",\"EOPNOTSUPP\",\"EPFNOSUPPORT\",\"EAFNOSUPPORT\",\"EADDRINUSE\",\"EADDRNOTAVAIL\",\"ENETDOWN\",\"ENETUNREACH\",\"ENETRESET\",\"ECONNABORTED\",\"ECONNRESET\",\"ENOBUFS\",\"EISCONN\",\"ENOTCONN\",\"ESHUTDOWN\",\"ETOOMANYREFS\",\"ETIMEDOUT\",\"ECONNREFUSED\",\"EHOSTDOWN\",\"EHOSTUNREACH\",\"ELOOP\",\"EOVERFLOW\"];function\nbx(d,g,f,a){var\nb=AE.indexOf(d);if(b<0){if(a==null)a=-9999;b=[0,a]}var\nc=[b,ai(g||e),ai(f||e)];return c}var\nj5={};function\nbP(a){return j5[a]}function\nbw(b,a){throw[0,b].concat(a)}function\nf_(a){if(!(a\ninstanceof\nUint8Array))a=new\nUint8Array(a);return new\naW(4,a,a.length)}function\nr(a){gn(aG.Sys_error,a)}function\nj_(a){r(a+dR)}function\nc$(a){if(a.t!=4)ek(a);return a.c}function\nax(a){return a.l}function\nzx(){}function\nab(a){this.data=a}ab.prototype=new\nzx();ab.prototype.constructor=ab;ab.prototype.truncate=function(a){var\nb=this.data;this.data=D(a|0);bc(b,0,this.data,0,a)};ab.prototype.length=function(){return ax(this.data)};ab.prototype.write=function(b,d,g,a){var\nc=this.length();if(b+a>=c){var\ne=D(b+a),f=this.data;this.data=e;bc(f,0,this.data,0,c)}bc(f_(d),g,this.data,b,a);return 0};ab.prototype.read=function(b,e,f,a){var\nc=this.length();if(b+a>=c)a=c-b;if(a){var\nd=D(a|0);bc(this.data,b,d,0,a);e.set(c$(d),f)}return a};function\nbJ(c,a,b){this.file=a;this.name=c;this.flags=b}bJ.prototype.err_closed=function(){r(this.name+ip)};bJ.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()};bJ.prototype.write=function(c,a,d,b){if(this.file)return this.file.write(c,a,d,b);this.err_closed()};bJ.prototype.read=function(c,a,d,b){if(this.file)return this.file.read(c,a,d,b);this.err_closed()};bJ.prototype.close=function(){this.file=undefined};function\nU(b,a){this.content={};this.root=b;this.lookupFun=a}U.prototype.nm=function(a){return this.root+a};U.prototype.create_dir_if_needed=function(d){var\nc=d.split(aS),b=e;for(var\na=0;a<c.length-1;a++){b+=c[a]+aS;if(this.content[b])continue;this.content[b]=Symbol(\"directory\")}};U.prototype.slash=function(a){return/\\/$/.test(a)?a:a+aS};U.prototype.lookup=function(b){if(!this.content[b]&&this.lookupFun){var\nc=this.lookupFun(a(this.root),a(b));if(c!==0){this.create_dir_if_needed(b);this.content[b]=new\nab(au(c[1]))}}};U.prototype.exists=function(a){if(a==e)return 1;var\nb=this.slash(a);if(this.content[b])return 1;this.lookup(a);return this.content[a]?1:0};U.prototype.mkdir=function(c,f,d){var\nb=d&&bP(fO);if(this.exists(c))if(b)bw(b,bx(iy,fp,this.nm(c)));else\nr(c+\": File exists\");var\na=/^(.*)\\/[^/]+/.exec(c);a=a&&a[1]||e;if(!this.exists(a))if(b)bw(b,bx(fU,fp,this.nm(a)));else\nr(a+dR);if(!this.is_dir(a))if(b)bw(b,bx(fB,fp,this.nm(a)));else\nr(a+f0);this.create_dir_if_needed(this.slash(c))};U.prototype.rmdir=function(a,g){var\nb=g&&bP(fO),c=a==e?e:this.slash(a),f=new\nRegExp(iO+c+jm);if(!this.exists(a))if(b)bw(b,bx(fU,fN,this.nm(a)));else\nr(a+dR);if(!this.is_dir(a))if(b)bw(b,bx(fB,fN,this.nm(a)));else\nr(a+f0);for(var\nd\nin\nthis.content)if(d.match(f))if(b)bw(b,bx(jl,fN,this.nm(a)));else\nr(this.nm(a)+\": Directory not empty\");delete\nthis.content[c]};U.prototype.readdir=function(a){var\ng=a==e?e:this.slash(a);if(!this.exists(a))r(a+dR);if(!this.is_dir(a))r(a+f0);var\nh=new\nRegExp(iO+g+jm),d={},c=[];for(var\nf\nin\nthis.content){var\nb=f.match(h);if(b&&!d[b[1]]){d[b[1]]=true;c.push(b[1])}}return c};U.prototype.opendir=function(a,f){var\nb=f&&bP(fO),c=this.readdir(a),d=false,e=0;return{readSync:function(){if(d)if(b)bw(b,bx(ft,js,this.nm(a)));else\nr(a+jA);if(e==c.length)return null;var\nf=c[e];e++;return{name:f}},closeSync:function(){if(d)if(b)bw(b,bx(ft,js,this.nm(a)));else\nr(a+jA);d=true;c=[]}}};U.prototype.is_dir=function(a){if(a==e)return true;var\nb=this.slash(a);return this.content[b]?1:0};U.prototype.unlink=function(a){var\nb=this.content[a]?true:false;delete\nthis.content[a];return b};U.prototype.open=function(a,b){var\nc;if(b.rdonly&&b.wronly)r(this.nm(a)+fG);if(b.text&&b.binary)r(this.nm(a)+fQ);this.lookup(a);if(this.content[a]){if(this.is_dir(a))r(this.nm(a)+iL);if(b.create&&b.excl)r(this.nm(a)+fF);c=this.content[a];if(b.truncate)c.truncate()}else\nif(b.create){this.create_dir_if_needed(a);this.content[a]=new\nab(D(0));c=this.content[a]}else\nj_(this.nm(a));return new\nbJ(this.nm(a),c,b)};U.prototype.open=function(a,b){var\nc;if(b.rdonly&&b.wronly)r(this.nm(a)+fG);if(b.text&&b.binary)r(this.nm(a)+fQ);this.lookup(a);if(this.content[a]){if(this.is_dir(a))r(this.nm(a)+iL);if(b.create&&b.excl)r(this.nm(a)+fF);c=this.content[a];if(b.truncate)c.truncate()}else\nif(b.create){this.create_dir_if_needed(a);this.content[a]=new\nab(D(0));c=this.content[a]}else\nj_(this.nm(a));return new\nbJ(this.nm(a),c,b)};U.prototype.register=function(c,a){var\nb;if(this.content[c])r(this.nm(c)+fF);if(c8(a))b=new\nab(a);if(eo(a))b=new\nab(au(a));else\nif(a\ninstanceof\nArray)b=new\nab(f_(a));else\nif(typeof\na===\"string\")b=new\nab(jT(a));else\nif(a.toString){var\nd=au(ai(a.toString()));b=new\nab(d)}if(b){this.create_dir_if_needed(c);this.content[c]=b}else\nr(this.nm(c)+\" : registering file with invalid content type\")};U.prototype.constructor=U;function\njJ(){}function\njY(b){var\na=gq(b);if(!a)return;return a[0]+aS}var\neq=jY(c3)||av(\"unable to compute caml_root\"),cg=[];if(da())cg.push({path:eq,device:new\njJ(eq)});else\ncg.push({path:eq,device:new\nU(eq)});cg.push({path:jb,device:new\nU(jb)});function\nke(b){var\ng=Aa(b),b=g.join(aS),f=kb(b),c;for(var\ne=0;e<cg.length;e++){var\na=cg[e];if(f.search(a.path)==0&&(!c||c.path.length<a.path.length))c={path:a.path,device:a.device,rest:b.substring(a.path.length,b.length)}}if(!c&&da()){var\nd=jY(b);if(d&&d.match(/^[a-zA-Z]:\\/$/)){var\na={path:d,device:new\njJ(d)};cg.push(a);c={path:a.path,device:a.device,rest:b.substring(a.path.length,b.length)}}}if(c)return c;r(\"no device found for \"+f)}function\nzI(c,b){var\na=ke(c);if(!a.device.register)av(\"cannot register file\");a.device.register(a.rest,b);return 0}function\nkc(c,b){var\nc=a(c),b=a(b);return zI(c,b)}function\nzL(){var\nb=x.caml_fs_tmp;if(b)for(var\na=0;a<b.length;a++)kc(b[a].name,b[a].content);x.jsoo_create_file=kc;x.caml_fs_tmp=[];return 0}function\njX(){return[0]}function\nge(d,b){var\ne=b.length,a,c;for(a=0;a+4<=e;a+=4){c=b.charCodeAt(a)|b.charCodeAt(a+1)<<8|b.charCodeAt(a+2)<<16|b.charCodeAt(a+3)<<24;d=Y(d,c)}c=0;switch(e&3){case\n3:c=b.charCodeAt(a+2)<<16;case\n2:c|=b.charCodeAt(a+1)<<8;case\n1:c|=b.charCodeAt(a);d=Y(d,c)}d^=e;return d}function\nzR(a,b){return ge(a,aw(b))}function\nzO(d,b){var\ne=b.length,a,c;for(a=0;a+4<=e;a+=4){c=b[a]|b[a+1]<<8|b[a+2]<<16|b[a+3]<<24;d=Y(d,c)}c=0;switch(e&3){case\n3:c=b[a+2]<<16;case\n2:c|=b[a+1]<<8;case\n1:c|=b[a];d=Y(d,c)}d^=e;return d}function\nAd(a){switch(a.t&6){default:bM(a);case\n0:return a.c;case\n4:return a.c}}function\nzN(b,c){var\na=Ad(c);return typeof\na===\"string\"?ge(b,a):zO(b,a)}function\nzP(a){a^=a>>>16;a=ep(a,0x85ebca6b|0);a^=a>>>13;a=ep(a,0xc2b2ae35|0);a^=a>>>16;return a}function\nzM(j,l,n,m){var\nf,g,h,d,c,b,a,e,i;d=l;if(d<0||d>aK)d=aK;c=j;b=n;f=[m];g=0;h=1;while(g<h&&c>0){a=f[g++];if(a&&a.caml_custom){if(c4[a.caml_custom]&&c4[a.caml_custom].hash){var\nk=c4[a.caml_custom].hash(a);b=Y(b,k);c--}}else\nif(a\ninstanceof\nArray&&a[0]===(a[0]|0))switch(a[0]){case\n248:b=Y(b,a[2]);c--;break;case\n250:f[--g]=a[1];break;default:var\no=a.length-1<<10|a[0];b=Y(b,o);for(e=1,i=a.length;e<i;e++){if(h>=d)break;f[h++]=a[e]}break}else\nif(c8(a)){b=zN(b,a);c--}else\nif(eo(a)){b=zR(b,a);c--}else\nif(typeof\na===\"string\"){b=ge(b,a);c--}else\nif(a===(a|0)){b=Y(b,a+a+1);c--}else\nif(a===+a){b=gd(b,a);c--}}b=zP(b);return b&0x3FFFFFFF}function\nzS(a,c,l){if(!isFinite(a)){if(isNaN(a))return ai(fC);return ai(a>0?jz:\"-infinity\")}var\nj=a==0&&1/a==-Infinity?1:a>=0?0:1;if(j)a=-a;var\nd=0;if(a==0);else\nif(a<1)while(a<1&&d>-1022){a*=2;d--}else\nwhile(a>=2){a/=2;d++}var\nk=d<0?e:b4,f=e;if(j)f=br;else\nswitch(l){case\n43:f=b4;break;case\n32:f=ae;break;default:break}if(c>=0&&c<13){var\nh=Math.pow(2,c*4);a=Math.round(a*h)/h}var\nb=a.toString(16);if(c>=0){var\ni=b.indexOf(bu);if(i<0)b+=bu+cf(c,af);else{var\ng=i+1+c;if(b.length<g)b+=cf(g-b.length,af);else\nb=b.substr(0,g)}}return ai(f+ir+b+aT+k+d.toString(10))}function\nzZ(a){return+a.isZero()}function\nz2(a){return new\nm(a&a7,a>>24&a7,a>>31&aV)}function\nz3(a){return a.toInt()}function\nzY(a){return+a.isNeg()}function\nz1(a){return a.neg()}function\nzW(h,c){var\na=gm(h);if(a.signedconv&&zY(c)){a.sign=-1;c=z1(c)}var\nb=e,i=z2(a.base),g=\"0123456789abcdef\";do{var\nf=c.udivmod(i);c=f.quotient;b=g.charAt(z3(f.modulus))+b}while(!zZ(c));if(a.prec>=0){a.filler=ae;var\nd=a.prec-b.length;if(d>0)b=cf(d,af)+b}return gb(a,b)}function\nay(b,a){return bL(b,a)}function\nk(a){return ax(a)}function\nAm(c){var\na=0,e=k(c),b=10,d=1;if(e>0)switch(ay(c,a)){case\n45:a++;d=-1;break;case\n43:a++;d=1;break}if(a+1<e&&ay(c,a)==48)switch(ay(c,a+1)){case\n120:case\n88:b=16;a+=2;break;case\n111:case\n79:b=8;a+=2;break;case\n98:case\n66:b=2;a+=2;break;case\n117:case\n85:a+=2;break}return[a,d,b]}function\nj8(a){if(a>=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=122)return a-87;return-1}function\nc7(f){var\nh=Am(f),c=h[0],i=h[1],d=h[2],g=k(f),j=-1>>>0,e=c<g?ay(f,c):0,b=j8(e);if(b<0||b>=d)av(dX);var\na=b;for(c++;c<g;c++){e=ay(f,c);if(e==95)continue;b=j8(e);if(b<0||b>=d)break;a=d*a+b;if(a>j)av(dX)}if(c!=g)av(dX);a=i*a;if(d==10&&(a|0)!=a)av(dX);return a|0}function\nz6(){var\nb=console,c=[\"log\",\"debug\",\"info\",\"warn\",jD,\"assert\",bE,\"dirxml\",\"trace\",\"group\",\"groupCollapsed\",\"groupEnd\",\"time\",\"timeEnd\"];function\nd(){}for(var\na=0;a<c.length;a++)if(!b[c[a]])b[c[a]]=d;return b}function\nz7(c){var\nd=c.length,b=new\nArray(d+1);b[0]=0;for(var\na=0;a<d;a++)b[a+1]=c[a];return b}function\nz8(d){return function(){var\nb=arguments.length;if(b>0){var\nc=new\nArray(b);for(var\na=0;a<b;a++)c[a]=arguments[a];return aF(d,c)}else\nreturn aF(d,[undefined])}}function\nz9(d){return function(){var\nc=arguments.length,b=new\nArray(c+1);b[0]=this;for(var\na=0;a<c;a++)b[a+1]=arguments[a];return aF(d,b)}}function\nah(b){b=aw(b);var\nd=b.length/2,c=new\nArray(d);for(var\na=0;a<d;a++)c[a]=(b.charCodeAt(2*a)|b.charCodeAt(2*a+1)<<8)<<16>>16;return c}function\nz_(b,t,a){var\nn=2,o=3,r=5,d=6,h=7,g=8,j=9,m=1,l=2,q=3,s=4,p=5;if(!b.lex_default){b.lex_base=ah(b[m]);b.lex_backtrk=ah(b[l]);b.lex_check=ah(b[p]);b.lex_trans=ah(b[s]);b.lex_default=ah(b[q])}var\ne,c=t,k=c$(a[n]);if(c>=0){a[h]=a[r]=a[d];a[g]=-1}else\nc=-c-1;for(;;){var\nf=b.lex_base[c];if(f<0)return-f-1;var\ni=b.lex_backtrk[c];if(i>=0){a[h]=a[d];a[g]=i}if(a[d]>=a[o])if(a[j]==0)return-c-1;else\ne=aK;else{e=k[a[d]];a[d]++}if(b.lex_check[f+e]==c)c=b.lex_trans[f+e];else\nc=b.lex_default[c];if(c<0){a[d]=a[h];if(a[g]==-1)av(im);else\nreturn a[g]}else\nif(e==aK)a[j]=0}}function\nbO(c){var\nb=0;for(var\na=c.length-1;a>=0;a--){var\nd=c[a];b=[0,d,b]}return b}function\naM(a,d){if(a<0)c2();var\na=a+1|0,b=new\nArray(a);b[0]=0;for(var\nc=1;c<a;c++)b[c]=d;return b}function\nzz(){var\na=new\nArrayBuffer(64),b=new\nUint32Array(a),c=new\nUint8Array(a);return{len:0,w:new\nUint32Array([0x67452301,0xEFCDAB89,0x98BADCFE,0x10325476]),b32:b,b8:c}}var\nej=function(){function\nk(a,b){return a+b|0}function\na(d,a,c,f,b,e){a=k(k(a,d),k(f,e));return k(a<<b|a>>>32-b,c)}function\nf(c,b,d,e,h,f,g){return a(b&d|~b&e,c,b,h,f,g)}function\ng(d,b,e,c,h,f,g){return a(b&c|e&~c,d,b,h,f,g)}function\nh(c,b,d,e,h,f,g){return a(b^d^e,c,b,h,f,g)}function\ni(c,b,d,e,h,f,g){return a(d^(b|~e),c,b,h,f,g)}return function(j,e){var\na=j[0],b=j[1],c=j[2],d=j[3];a=f(a,b,c,d,e[0],7,0xD76AA478);d=f(d,a,b,c,e[1],12,0xE8C7B756);c=f(c,d,a,b,e[2],17,0x242070DB);b=f(b,c,d,a,e[3],22,0xC1BDCEEE);a=f(a,b,c,d,e[4],7,0xF57C0FAF);d=f(d,a,b,c,e[5],12,0x4787C62A);c=f(c,d,a,b,e[6],17,0xA8304613);b=f(b,c,d,a,e[7],22,0xFD469501);a=f(a,b,c,d,e[8],7,0x698098D8);d=f(d,a,b,c,e[9],12,0x8B44F7AF);c=f(c,d,a,b,e[10],17,0xFFFF5BB1);b=f(b,c,d,a,e[11],22,0x895CD7BE);a=f(a,b,c,d,e[12],7,0x6B901122);d=f(d,a,b,c,e[13],12,0xFD987193);c=f(c,d,a,b,e[14],17,0xA679438E);b=f(b,c,d,a,e[15],22,0x49B40821);a=g(a,b,c,d,e[1],5,0xF61E2562);d=g(d,a,b,c,e[6],9,0xC040B340);c=g(c,d,a,b,e[11],14,0x265E5A51);b=g(b,c,d,a,e[0],20,0xE9B6C7AA);a=g(a,b,c,d,e[5],5,0xD62F105D);d=g(d,a,b,c,e[10],9,0x02441453);c=g(c,d,a,b,e[15],14,0xD8A1E681);b=g(b,c,d,a,e[4],20,0xE7D3FBC8);a=g(a,b,c,d,e[9],5,0x21E1CDE6);d=g(d,a,b,c,e[14],9,0xC33707D6);c=g(c,d,a,b,e[3],14,0xF4D50D87);b=g(b,c,d,a,e[8],20,0x455A14ED);a=g(a,b,c,d,e[13],5,0xA9E3E905);d=g(d,a,b,c,e[2],9,0xFCEFA3F8);c=g(c,d,a,b,e[7],14,0x676F02D9);b=g(b,c,d,a,e[12],20,0x8D2A4C8A);a=h(a,b,c,d,e[5],4,0xFFFA3942);d=h(d,a,b,c,e[8],11,0x8771F681);c=h(c,d,a,b,e[11],16,0x6D9D6122);b=h(b,c,d,a,e[14],23,0xFDE5380C);a=h(a,b,c,d,e[1],4,0xA4BEEA44);d=h(d,a,b,c,e[4],11,0x4BDECFA9);c=h(c,d,a,b,e[7],16,0xF6BB4B60);b=h(b,c,d,a,e[10],23,0xBEBFBC70);a=h(a,b,c,d,e[13],4,0x289B7EC6);d=h(d,a,b,c,e[0],11,0xEAA127FA);c=h(c,d,a,b,e[3],16,0xD4EF3085);b=h(b,c,d,a,e[6],23,0x04881D05);a=h(a,b,c,d,e[9],4,0xD9D4D039);d=h(d,a,b,c,e[12],11,0xE6DB99E5);c=h(c,d,a,b,e[15],16,0x1FA27CF8);b=h(b,c,d,a,e[2],23,0xC4AC5665);a=i(a,b,c,d,e[0],6,0xF4292244);d=i(d,a,b,c,e[7],10,0x432AFF97);c=i(c,d,a,b,e[14],15,0xAB9423A7);b=i(b,c,d,a,e[5],21,0xFC93A039);a=i(a,b,c,d,e[12],6,0x655B59C3);d=i(d,a,b,c,e[3],10,0x8F0CCC92);c=i(c,d,a,b,e[10],15,0xFFEFF47D);b=i(b,c,d,a,e[1],21,0x85845DD1);a=i(a,b,c,d,e[8],6,0x6FA87E4F);d=i(d,a,b,c,e[15],10,0xFE2CE6E0);c=i(c,d,a,b,e[6],15,0xA3014314);b=i(b,c,d,a,e[13],21,0x4E0811A1);a=i(a,b,c,d,e[4],6,0xF7537E82);d=i(d,a,b,c,e[11],10,0xBD3AF235);c=i(c,d,a,b,e[2],15,0x2AD7D2BB);b=i(b,c,d,a,e[9],21,0xEB86D391);j[0]=k(a,j[0]);j[1]=k(b,j[1]);j[2]=k(c,j[2]);j[3]=k(d,j[3])}}();function\nzA(a,e,b){var\nd=a.len&bq,c=0;a.len+=b;if(d){var\nf=64-d;if(b<f){a.b8.set(e.subarray(0,b),d);return}a.b8.set(e.subarray(0,f),d);ej(a.w,a.b32);b-=f;c+=f}while(b>=64){a.b8.set(e.subarray(c,c+64),0);ej(a.w,a.b32);b-=64;c+=64}if(b)a.b8.set(e.subarray(c,c+b),0)}function\nzy(b){var\nc=b.len&bq;b.b8[c]=aD;c++;if(c>56){for(var\na=c;a<64;a++)b.b8[a]=0;ej(b.w,b.b32);for(var\na=0;a<56;a++)b.b8[a]=0}else\nfor(var\na=c;a<56;a++)b.b8[a]=0;b.b32[14]=b.len<<3;b.b32[15]=b.len>>29&0x1FFFFFFF;ej(b.w,b.b32);var\ne=new\nUint8Array(16);for(var\nd=0;d<4;d++)for(var\na=0;a<4;a++)e[d*4+a]=b.w[d]>>8*a&aC;return e}function\nAs(b){return a(c_(b,0,b.length))}function\nAb(e,c,b){var\na=zz(),d=c$(e);zA(a,d.subarray(c,c+b),b);return As(zy(a))}function\nAc(c,b,a){return Ab(au(c),b,a)}function\nAe(){return 0}var\nbf=new\nArray();function\naX(b){var\na=bf[b];if(!a.opened)r(\"Cannot flush a closed channel\");if(!a.buffer||a.buffer_curr==0)return 0;if(a.output)a.output(c_(a.buffer,0,a.buffer_curr));else\na.file.write(a.offset,a.buffer,0,a.buffer_curr);a.offset+=a.buffer_curr;a.buffer_curr=0;return 0}function\nAu(a,b){return null}var\ner=new\nArray(3);function\nc1(a,b){ab.call(this,D(0));this.log=function(a){return 0};if(a==1&&typeof\nconsole.log==\"function\")this.log=console.log;else\nif(a==2&&typeof\nconsole.error==\"function\")this.log=console.error;else\nif(typeof\nconsole.log==\"function\")this.log=console.log;this.flags=b}c1.prototype.length=function(){return 0};c1.prototype.write=function(e,c,b,a){if(this.log){if(a>0&&b>=0&&b+a<=c.length&&c[b+a-1]==10)a--;var\nd=D(a);bc(f_(c),b,d,0,a);this.log(d.toUtf16());return 0}r(this.fd+ip)};c1.prototype.read=function(c,a,d,b){r(this.fd+\": file descriptor is write only\")};c1.prototype.close=function(){this.log=undefined};function\nes(b,a){if(a==undefined)a=er.length;er[a]=b;return a}function\nAF(c,b,f){var\na={};while(b){switch(b[1]){case\n0:a.rdonly=1;break;case\n1:a.wronly=1;break;case\n2:a.append=1;break;case\n3:a.create=1;break;case\n4:a.truncate=1;break;case\n5:a.excl=1;break;case\n6:a.binary=1;break;case\n7:a.text=1;break;case\n8:a.nonblock=1;break}b=b[2]}if(a.rdonly&&a.wronly)r(aw(c)+fG);if(a.text&&a.binary)r(aw(c)+fQ);var\nd=ke(c),e=d.device.open(d.rest,a);return es(e,undefined)}(function(){function\na(a,b){return da()?Au(a,b):new\nc1(a,b)}es(a(0,{rdonly:1,altname:\"/dev/stdin\",isCharacterDevice:true}),0);es(a(1,{buffered:2,wronly:1,isCharacterDevice:true}),1);es(a(2,{buffered:2,wronly:1,isCharacterDevice:true}),2)}());function\nAf(c){var\na=er[c];if(a.flags.wronly)r(jF+c+\" is writeonly\");var\nd=null,b={file:a,offset:a.flags.append?a.length():0,fd:c,opened:true,out:false,buffer_curr:0,buffer_max:0,buffer:new\nUint8Array(iJ),refill:d};bf[b.fd]=b;return b.fd}function\nj3(c){var\na=er[c];if(a.flags.rdonly)r(jF+c+\" is readonly\");var\nd=a.flags.buffered!==undefined?a.flags.buffered:1,b={file:a,offset:a.flags.append?a.length():0,fd:c,opened:true,out:true,buffer_curr:0,buffer:new\nUint8Array(iJ),buffered:d};bf[b.fd]=b;return b.fd}function\nAg(){var\nb=0;for(var\na=0;a<bf.length;a++)if(bf[a]&&bf[a].opened&&bf[a].out)b=[0,bf[a].fd,b];return b}function\nO(a){return a}function\nAh(c,b,f,g){var\na=bf[c];if(!a.opened)r(\"Cannot output to a closed channel\");var\nb=c$(b);b=b.subarray(f,f+g);if(a.buffer_curr+b.length>a.buffer.length){var\ne=new\nUint8Array(a.buffer_curr+b.length);e.set(a.buffer);a.buffer=e}switch(a.buffered){case\n0:a.buffer.set(b,a.buffer_curr);a.buffer_curr+=b.length;aX(c);break;case\n1:a.buffer.set(b,a.buffer_curr);a.buffer_curr+=b.length;if(a.buffer_curr>=a.buffer.length)aX(c);break;case\n2:var\nd=b.lastIndexOf(10);if(d<0){a.buffer.set(b,a.buffer_curr);a.buffer_curr+=b.length;if(a.buffer_curr>=a.buffer.length)aX(c)}else{a.buffer.set(b.subarray(0,d+1),a.buffer_curr);a.buffer_curr+=d+1;aX(c);a.buffer.set(b.subarray(d+1),a.buffer_curr);a.buffer_curr+=b.length-d-1}break}return 0}function\nj4(b,a,d,c){return Ah(b,au(a),d,c)}function\ngl(c,b){var\nd=a(String.fromCharCode(b));j4(c,d,0,1);return 0}function\nAi(b,a){if(a==0)go();return b%a}function\nz$(d,a,c,f){for(;;){var\nb=d.charCodeAt(a);a++;if(b==ag)return;var\ne=d.charCodeAt(a);a++;if(e==ag)c[b+1]=f;else\nc[b+1]=c[e+1]}}function\nj2(d,a,c){for(;;){var\nb=d.charCodeAt(a);a++;if(b==ag)return;var\ne=d.charCodeAt(a);a++;if(e==ag)c[b+1]=-1;else\nc[b+1]=c[e+1]}}function\nAk(a,D,b){var\nt=2,u=3,A=5,f=6,i=7,h=8,n=9,j=10,r=1,p=2,y=3,B=4,v=5,s=6,q=7,z=8,C=9,w=10,x=11;if(!a.lex_default){a.lex_base=ah(a[r]);a.lex_backtrk=ah(a[p]);a.lex_check=ah(a[v]);a.lex_trans=ah(a[B]);a.lex_default=ah(a[y])}if(!a.lex_default_code){a.lex_base_code=ah(a[s]);a.lex_backtrk_code=ah(a[q]);a.lex_check_code=ah(a[w]);a.lex_trans_code=ah(a[C]);a.lex_default_code=ah(a[z])}if(a.lex_code==null)a.lex_code=aw(a[x]);var\ne,c=D,o=c$(b[t]);if(c>=0){b[i]=b[A]=b[f];b[h]=-1}else\nc=-c-1;for(;;){var\ng=a.lex_base[c];if(g<0){var\nd=a.lex_base_code[c];j2(a.lex_code,d,b[j]);return-g-1}var\nl=a.lex_backtrk[c];if(l>=0){var\nd=a.lex_backtrk_code[c];j2(a.lex_code,d,b[j]);b[i]=b[f];b[h]=l}if(b[f]>=b[u])if(b[n]==0)return-c-1;else\ne=aK;else{e=o[b[f]];b[f]++}var\nk=c;if(a.lex_check[g+e]==c)c=a.lex_trans[g+e];else\nc=a.lex_default[c];if(c<0){b[f]=b[i];if(b[h]==-1)av(im);else\nreturn b[h]}else{var\nm=a.lex_base_code[k],d;if(a.lex_check_code[m+e]==k)d=a.lex_trans_code[m+e];else\nd=a.lex_default_code[k];if(d>0)z$(a.lex_code,d,b[j],b[f]);if(e==aK)b[n]=0}}}function\nbQ(a,b){return+(f$(a,b,false)!=0)}function\nj6(d,c){var\nb=new\nArray(c+1);b[0]=d;for(var\na=1;a<=c;a++)b[a]=0;return b}function\nAl(a,b){a[0]=bo;a[1]=b;return 0}function\nbg(a){if(a\ninstanceof\nArray&&a[0]==a[0]>>>0)return a[0];else\nif(c8(a))return eb;else\nif(eo(a))return eb;else\nif(a\ninstanceof\nFunction||typeof\na==\"function\")return 247;else\nif(a&&a.caml_custom)return b0;else\nreturn cG}function\naH(b,c,a){if(a&&x.toplevelReloc)b=x.toplevelReloc(a);aG[b+1]=c;if(a)aG[a]=c}function\ngp(a,b){j5[aw(a)]=b;return 0}function\nAp(a){a[2]=j7++;return a}function\nd(a,b){return jS(a,b)}function\nAr(){L(fY)}function\nB(b,a){if(a>>>0>=k(b))Ar();return ay(b,a)}function\ng(a,b){return 1-d(a,b)}function\nAt(){return 0x7FFFFFFF/4|0}function\nAn(){j9(aG.Not_found)}function\nka(c){var\nb=x.process,a=gk(c);if(b&&b.env&&b.env[a]!=undefined)return ai(b.env[a]);if(x.jsoo_static_env&&x.jsoo_static_env[a])return ai(x.jsoo_static_env[a]);An()}function\nAv(){if(x.crypto)if(typeof\nx.crypto.getRandomValues===\"function\"){var\na=new\nUint32Array(1);x.crypto.getRandomValues(a);return[0,a[0]]}else\nif(x.crypto.randomBytes===iG){var\nb=x.crypto.randomBytes(4),a=new\nUint32Array(b);return[0,a[0]]}var\nc=new\nDate().getTime(),d=c^0xffffffff*Math.random();return[0,d]}function\nbR(a){var\nb=1;while(a&&a.joo_tramp){a=a.joo_tramp.apply(null,a.joo_args);b++}return a}function\nn(b,a){return{joo_tramp:b,joo_args:a}}function\nj$(a){return a}function\nC(a){if(a\ninstanceof\nArray)return a;if(x.RangeError&&a\ninstanceof\nx.RangeError&&a.message&&a.message.match(/maximum call stack/i))return j$(aG.Stack_overflow);if(x.InternalError&&a\ninstanceof\nx.InternalError&&a.message&&a.message.match(/too much recursion/i))return j$(aG.Stack_overflow);if(a\ninstanceof\nx.Error&&bP(fy))return[0,bP(fy),a];return[0,aG.Failure,ai(String(a))]}function\nj1(a){return a.slice(1)}function\nAw(d){var\nc=k(d),b=new\nArray(c),a=0;for(;a<c;a++)b[a]=ay(d,a);return b}var\nAC=function(){var\nb=[an,an,an,an,an,an,aC,0x03,il,aC,aC,0x87,il,aC,aC,0x07,an,an,an,an,an,an,an,an,aC,aC,iS,aC,aC,aC,iS,aC],c={CHAR:0,CHARNORM:1,STRING:2,STRINGNORM:3,CHARCLASS:4,BOL:5,EOL:6,WORDBOUNDARY:7,BEGGROUP:8,ENDGROUP:9,REFGROUP:10,ACCEPT:11,SIMPLEOPT:12,SIMPLESTAR:13,SIMPLEPLUS:14,GOTO:15,PUSHBACK:16,SETMARK:17,CHECKPROGRESS:18};function\nr(a){return b[a>>3]>>(a&7)&1}function\no(b,a){return B(b,a>>3)>>(a&7)&1}function\na(m,b,a,B){var\nw=j1(m[1]),k=j1(m[2]),v=aw(m[3]),y=m[4]|0,z=m[5]|0,C=m[6]|0,b=Aw(b),l=0,x=false,t=[],i=new\nArray(y),q=new\nArray(z);for(var\nf=0;f<i.length;f++)i[f]={start:-1,end:-1};i[0].start=a;function\ne(){while(t.length){var\nb=t.pop();if(b.undo)b.undo.obj[b.undo.prop]=b.undo.value;else\nif(b.pos){l=b.pos.pc;a=b.pos.txt;return}}x=true}function\np(a){t.push(a)}function\nu(){i[0].end=a;var\nd=new\nArray(1+i.length*2);d[0]=0;for(var\nc=0;c<i.length;c++){var\nb=i[c];if(b.start<0||b.end<0)b.start=b.end=-1;d[2*c+1]=b.start;d[2*c+1+1]=b.end}return d}function\nj(){if(B)return u();else\ne()}while(!x){var\nA=w[l]&ag,s=w[l]>>8,d=s&ag,g=b[a],h;l++;switch(A){case\nc.CHAR:if(a===b.length){j();break}if(g===d)a++;else\ne();break;case\nc.CHARNORM:if(a===b.length){j();break}if(v.charCodeAt(g)===d)a++;else\ne();break;case\nc.STRING:for(var\nn=aw(k[d]),f=0;f<n.length;f++){if(a===b.length){j();break}if(g===n.charCodeAt(f))g=b[++a];else{e();break}}break;case\nc.STRINGNORM:for(var\nn=aw(k[d]),f=0;f<n.length;f++){if(a===b.length){j();break}if(v.charCodeAt(g)===n.charCodeAt(f))g=b[++a];else{e();break}}break;case\nc.CHARCLASS:if(a===b.length){j();break}if(o(k[d],g))a++;else\ne();break;case\nc.BOL:if(a>0&&b[a-1]!=10)e();break;case\nc.EOL:if(a<b.length&&b[a]!=10)e();break;case\nc.WORDBOUNDARY:if(a==0){if(a===b.length){j();break}if(r(b[0]))break;e()}else\nif(a===b.length){if(r(b[a-1]))break;e()}else{if(r(b[a-1])!=r(b[a]))break;e()}break;case\nc.BEGGROUP:h=i[d];p({undo:{obj:h,prop:cX,value:h.start}});h.start=a;break;case\nc.ENDGROUP:h=i[d];p({undo:{obj:h,prop:\"end\",value:h.end}});h.end=a;break;case\nc.REFGROUP:h=i[d];if(h.start<0||h.end<0){e();break}for(var\nf=h.start;f<h.end;f++){if(a===b.length){j();break}if(b[f]!=b[a]){e();break}a++}break;case\nc.SIMPLEOPT:if(o(k[d],g))a++;break;case\nc.SIMPLESTAR:while(o(k[d],g))g=b[++a];break;case\nc.SIMPLEPLUS:if(a===b.length){j();break}if(o(k[d],g))do\ng=b[++a];while(o(k[d],g));else\ne();break;case\nc.ACCEPT:return u();case\nc.GOTO:l=l+s;break;case\nc.PUSHBACK:p({pos:{pc:l+s,txt:a}});break;case\nc.SETMARK:p({undo:{obj:q,prop:d,value:q[d]}});q[d]=a;break;case\nc.CHECKPROGRESS:if(q[d]===a)e();break;default:throw new\nError(\"Invalid bytecode\")}}return 0}return a}();function\nAD(d,b,a){if(a<0||a>k(b))L(\"Str.search_forward\");while(a<=k(b)){var\nc=AC(d,b,a,0);if(c)return c;a++}return[0]}function\nz5(a){switch(a[2]){case-8:case-11:case-12:return 1;default:return 0}}function\nzK(b){var\na=e;if(b[0]==0){a+=b[1][1];if(b.length==3&&b[2][0]==0&&z5(b[1]))var\nf=b[2],g=1;else\nvar\ng=2,f=b;a+=\"(\";for(var\nd=g;d<f.length;d++){if(d>g)a+=cB;var\nc=f[d];if(typeof\nc==\"number\")a+=c.toString();else\nif(c\ninstanceof\naW)a+=bF+c.toString()+bF;else\nif(typeof\nc==\"string\")a+=bF+c.toString()+bF;else\na+=i4}a+=fD}else\nif(b[0]==A)a+=b[1];return a}function\njW(a){if(a\ninstanceof\nArray&&(a[0]==0||a[0]==A)){var\nc=bP(ix);if(c)c(a,false);else{var\nd=zK(a),b=bP(ik);if(b)b(0);console.error(fL+d+\"\\n\")}}else\nthrow a}function\nAq(){var\na=x.process;if(a&&a.on)a.on(\"uncaughtException\",function(b,c){jW(b);a.exit(2)});else\nif(x.addEventListener)x.addEventListener(jD,function(a){if(a.error)jW(a.error)})}Aq();function\nb(a,b){return a.length==1?a(b):aF(a,[b])}function\nf(a,b,c){return a.length==2?a(b,c):aF(a,[b,c])}function\naJ(a,b,c,d){return a.length==3?a(b,c,d):aF(a,[b,c,d])}function\nfl(a,b,c,d,e){return a.length==4?a(b,c,d,e):aF(a,[b,c,d,e])}function\ncz(a,b,c,d,e,f){return a.length==5?a(b,c,d,e,f):aF(a,[b,c,d,e,f])}function\nzw(a,b,c,d,e,f,g,h){return a.length==7?a(b,c,d,e,f,g,h):aF(a,[b,c,d,e,f,g,h])}zL();var\neu=[A,a(jB),-1],gu=[A,a(iz),-2],db=[A,a(fw),-3],et=[A,a(i3),-4],p=[A,a(i_),-7],gs=[A,a(iM),-8],gt=[A,a(jc),-9],s=[A,a(jr),-11],gv=[A,a(ij),-12],di=[0,a(e),0,0,-1],gL=[0,a(e),1,0,0],zr=[4,0,0,0,[12,45,[4,0,0,0,0]]],eK=[0,[11,a('File \"'),[2,0,[11,a('\", line '),[4,0,0,0,[11,a(iR),[4,0,0,0,[12,45,[4,0,0,0,[11,a(ji),[2,0,0]]]]]]]]]],a('File \"%s\", line %d, characters %d-%d: %s')],a3=[0,a(\"\\0\\0\\x01\\0\\xf9\\xff\\0\\0A\\0\\xa3\\0\\xfd\\xff\\0\\0\\x01\\0\\xff\\xff\\xf1\\0 \\0\\x80\\0\\xfd\\xff\\x01\\0@\\x01\\x8e\\x01.\\x000\\0\\xfd\\xff\\x04\\0\\0\\0\\xff\\xff\\x7f\\0\\xa0\\0\\xfe\\xff\\xff\\xff\\xee\\0\\x0e\\x01\\xfd\\xff\\xfe\\xff\\x02\\0\\xff\\xff\\0\\x02\\xf7\\xffr\\x02\\xf9\\xff\\xfa\\xff\\xfb\\xff\\x84\\x02\\0\\0\\xf8\\x02\\xff\\xff\\xfe\\xff\\xfe\\x02\\xf9\\xff\\x04\\x03\\xfb\\xff\\xfc\\xff\\x02\\0\\n\\x03\\xff\\xff\\xfe\\xff\\x03\\0\\xff\\xffu\\0\\xff\\xff\"),a(\"\\xff\\xff\\x07\\0\\xff\\xff\\x05\\0\\xff\\xff\\x03\\0\\xff\\xff\\x01\\0\\xff\\xff\\xff\\xff\\x04\\0\\xff\\xff\\x03\\0\\xff\\xff\\x01\\0\\xff\\xff\\0\\0\\xff\\xff\\x03\\0\\xff\\xff\\x01\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x02\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x04\\0\\xff\\xff\\xff\\xff\\x03\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x03\\0\\x02\\0\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff\\x02\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\"),a(\"\\x01\\0\\x01\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\f\\0\\f\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x12\\0\\x12\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\x18\\0\\x18\\0\\0\\0\\0\\0\\x1c\\0\\x1c\\0\\0\\0\\0\\0\\xff\\xff\\0\\0#\\0\\0\\0#\\0\\0\\0\\0\\0\\0\\0#\\0\\xff\\xff#\\0\\0\\0\\0\\0.\\0\\0\\0.\\0\\0\\0\\0\\0\\xff\\xff.\\0\\0\\0\\0\\x005\\0\\0\\x007\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0(\\0(\\x001\\x001\\0(\\0\\0\\x001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0(\\0\\x07\\x001\\0\\0\\0\\0\\x006\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\b\\0\\t\\0\\x04\\0\\x0f\\0\\x15\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x03\\0\\xff\\xff\\x16\\0\\x06\\0 \\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x14\\0\\x0e\\0\\xff\\xff\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\n\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\x008\\0\\0\\0\\0\\0\\0\\0\\n\\0\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\xff\\xff\\x1a\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\x02\\0\\xff\\xff\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\n\\0\\n\\0\\r\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x1e\\0\\x1f\\0\\x13\\0\\0\\0\\xff\\xff\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\n\\0\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x19\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\x1d\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0(\\0(\\0\\0\\0\\0\\0(\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0(\\0\\0\\0%\\0\\0\\0\\0\\0\\0\\0\\0\\0$\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0)\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0'\\0\\0\\0\\0\\0&\\0*\\0\\0\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\0\\0\\0\\0\\0\\0'\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff'\\0'\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\0\\0\\0\\0\\0\\0'\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\\"\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\x001\\x001\\0\\0\\0\\0\\x001\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\x001\\0\\xff\\xff0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff/\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff+\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x003\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x004\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0-\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\"),a(\"\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff(\\0(\\x001\\x001\\0(\\0\\xff\\xff1\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff(\\0\\x03\\x001\\0\\xff\\xff\\xff\\xff5\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\b\\0\\x03\\0\\x0e\\0\\x14\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x03\\0\\xff\\xff\\0\\0\\x01\\0\\x15\\0\\x03\\0\\x1f\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x11\\0\\x0b\\0\\x12\\0\\xff\\xff\\x03\\0\\xff\\xff\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x04\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\x007\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x04\\0\\xff\\xff\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\f\\0\\x17\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x18\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\xff\\xff\\0\\0\\x01\\0\\x05\\x005\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\n\\0\\n\\0\\x0b\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x1b\\0\\x1b\\0\\x11\\0\\xff\\xff\\x12\\0\\xff\\xff\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x1c\\0\\x1c\\0\\xff\\xff\\xff\\xff\\n\\0\\xff\\xff\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff7\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x17\\0\\f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\x18\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x10\\0\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x1b\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0!\\0!\\0\\xff\\xff\\xff\\xff!\\0\\x1c\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff!\\0!\\0\\xff\\xff\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0#\\0#\\0\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0'\\0\\xff\\xff\\xff\\xff'\\0#\\0\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff\\xff\\xff\\xff\\xff#\\0#\\0'\\0'\\0\\xff\\xff'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff\\xff\\xff'\\0'\\0\\xff\\xff\\xff\\xff'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff!\\0)\\0)\\0\\xff\\xff\\xff\\xff)\\0\\xff\\xff,\\0,\\0\\xff\\xff\\xff\\xff,\\0\\xff\\xff.\\0.\\0\\xff\\xff\\xff\\xff.\\0\\xff\\xff2\\x002\\0\\xff\\xff\\xff\\xff2\\0)\\0\\xff\\xff)\\0\\xff\\xff\\xff\\xff\\xff\\xff,\\0)\\0,\\0\\xff\\xff\\xff\\xff\\xff\\xff.\\0,\\0.\\0\\xff\\xff\\xff\\xff\\xff\\xff2\\0.\\x002\\0,\\0\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\xff\\xff\\xff\\xff\\xff\\xff)\\0)\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff.\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff)\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff.\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff2\\0\"),a(e),a(e),a(e),a(e),a(e),a(e)],g9=bO([a(aT),a(b1),a(b2),a(dY),a(cV),a(b_),a(cR),a(ba),a(cb),a(b6),a(a$),a(bG),a(cC),a(cU),a(cE),a(cP),a(cA),a(cQ),a(cF),a(cO),a($),a(W),a(bE),a(d2)]),zs=[0,a(cZ),[0,a(d5),0]],zt=[0,a(bG),[0,a(cb),[0,a(ec),0]]],hL=bO([a(aT),a(b1),a(b2),a(dY),a(cV),a(b_),a(cR),a(ba),a(cb),a(b6),a(a$),a(bG),a(cC),a(cU),a(cE),a(cP),a(cA),a(cQ),a(cF),a(cO),a($),a(W),a(bE),a(d2)]),zu=[0,a(d5),0],zv=[0,a(bG),[0,a(cb),[0,a(ec),0]]],hP=a(\"o:spid\"),hQ=a(\"id\"),dI=[0,a(ii)];aH(11,gv,ij);aH(10,s,jr);aH(9,[A,a(iX),-10],iX);aH(8,gt,jc);aH(7,gs,iM);aH(6,p,i_);aH(5,[A,a(jk),-6],jk);aH(4,[A,a(iF),-5],iF);aH(3,et,i3);aH(2,db,fw);aH(1,gu,iz);aH(0,eu,jB);var\nkl=a(\"%.12g\"),kk=a(bu),kh=a(d8),ki=a(\"false\"),kf=a(\"Stdlib.Exit\"),km=a(\"CamlinternalLazy.Undefined\"),kq=a(\"\\\\\\\\\"),kr=a(\"\\\\'\"),ks=a(\"\\\\b\"),kt=a(\"\\\\t\"),ku=a(\"\\\\n\"),kv=a(\"\\\\r\"),kp=a(\"Char.chr\"),kz=a(\"nth\"),kA=a(\"List.nth\"),ky=a(\"tl\"),kE=a(\"String.blit / Bytes.blit_string\"),kD=a(\"Bytes.blit\"),kC=a(\"String.sub / Bytes.sub\"),kJ=a(\"String.contains_from / Bytes.contains_from\"),kH=a(e),kG=a(e),kF=a(\"String.concat\"),kM=a(\"Array.blit\"),kL=a(\"Array.sub\"),kR=a(\"Set.remove_min_elt\"),kS=[0,0,0,0],kT=[0,0,0],kU=[0,a(\"set.ml\"),570,18],kN=a(dP),kO=a(dP),kP=a(dP),kQ=a(dP),kZ=a(\"Map.remove_min_elt\"),k0=[0,0,0,0],k1=[0,a(\"map.ml\"),400,10],k2=[0,0,0],kV=a(d7),kW=a(d7),kX=a(d7),kY=a(d7),k3=a(\"Stdlib.Stack.Empty\"),k7=a(\"Buffer.add: cannot grow buffer\"),k6=[0,a(jh),93,2],k5=[0,a(jh),94,2],le=a(\"%c\"),lf=a(\"%s\"),lg=a(ih),lh=a(iK),li=a(i1),lj=a(io),lk=a(\"%f\"),ll=a(\"%B\"),lm=a(\"%{\"),ln=a(\"%}\"),lo=a(\"%(\"),lp=a(\"%)\"),lq=a(\"%a\"),lr=a(\"%t\"),ls=a(\"%?\"),lt=a(\"%r\"),lu=a(\"%_r\"),lv=[0,a(N),850,23],lG=[0,a(N),814,21],ly=[0,a(N),815,21],lH=[0,a(N),818,21],lz=[0,a(N),819,21],lI=[0,a(N),822,19],lA=[0,a(N),823,19],lJ=[0,a(N),826,22],lB=[0,a(N),827,22],lK=[0,a(N),831,30],lC=[0,a(N),832,30],lE=[0,a(N),836,26],lw=[0,a(N),837,26],lF=[0,a(N),846,28],lx=[0,a(N),847,28],lD=[0,a(N),851,23],mN=a(iV),mL=[0,a(N),1558,4],mM=a(\"Printf: bad conversion %[\"),mO=[0,a(N),1626,39],mP=[0,a(N),1649,31],mQ=[0,a(N),1650,31],mR=a(\"Printf: bad conversion %_\"),mS=a(iU),mT=a(i2),mU=a(iU),mV=a(i2),mJ=a(fC),mH=a(\"neg_infinity\"),mI=a(jz),mG=a(bu),mB=[0,iv],mp=a(\"%+nd\"),mq=a(\"% nd\"),ms=a(\"%+ni\"),mt=a(\"% ni\"),mu=a(\"%nx\"),mv=a(\"%#nx\"),mw=a(\"%nX\"),mx=a(\"%#nX\"),my=a(\"%no\"),mz=a(\"%#no\"),mo=a(\"%nd\"),mr=a(i1),mA=a(\"%nu\"),mc=a(\"%+ld\"),md=a(\"% ld\"),mf=a(\"%+li\"),mg=a(\"% li\"),mh=a(\"%lx\"),mi=a(\"%#lx\"),mj=a(\"%lX\"),mk=a(\"%#lX\"),ml=a(\"%lo\"),mm=a(\"%#lo\"),mb=a(\"%ld\"),me=a(iK),mn=a(\"%lu\"),l1=a(\"%+Ld\"),l2=a(\"% Ld\"),l4=a(\"%+Li\"),l5=a(\"% Li\"),l6=a(\"%Lx\"),l7=a(\"%#Lx\"),l8=a(\"%LX\"),l9=a(\"%#LX\"),l_=a(\"%Lo\"),l$=a(\"%#Lo\"),l0=a(\"%Ld\"),l3=a(io),ma=a(\"%Lu\"),lO=a(\"%+d\"),lP=a(\"% d\"),lR=a(\"%+i\"),lS=a(\"% i\"),lT=a(\"%x\"),lU=a(\"%#x\"),lV=a(\"%X\"),lW=a(\"%#X\"),lX=a(\"%o\"),lY=a(\"%#o\"),lN=a(fS),lQ=a(ih),lZ=a(iV),k8=a(\"@]\"),k9=a(\"@}\"),k_=a(\"@?\"),k$=a(\"@\\n\"),la=a(\"@.\"),lb=a(\"@@\"),lc=a(\"@%\"),ld=a(ee),lL=a(\"CamlinternalFormat.Type_mismatch\"),mZ=a(e),m0=[0,[11,a(cB),[2,0,[2,0,0]]],a(\", %s%s\")],nn=[0,[11,a(fL),[2,0,[12,10,0]]],a(jq)],no=[0,[11,a(\"Fatal error in uncaught exception handler: exception \"),[2,0,[12,10,0]]],a(\"Fatal error in uncaught exception handler: exception %s\\n\")],nm=a(\"Fatal error: out of memory in uncaught exception handler\"),nk=[0,[11,a(fL),[2,0,[12,10,0]]],a(jq)],ng=[0,[2,0,[12,10,0]],a(\"%s\\n\")],m_=a(\"Raised at\"),m$=a(\"Re-raised at\"),na=a(\"Raised by primitive operation at\"),nb=a(\"Called from\"),nc=a(\" (inlined)\"),ne=a(e),nd=[0,[2,0,[12,32,[2,0,[11,a(' in file \"'),[2,0,[12,34,[2,0,[11,a(\", line \"),[4,0,0,0,[11,a(iR),zr]]]]]]]]]],a('%s %s in file \"%s\"%s, line %d, characters %d-%d')],nf=[0,[2,0,[11,a(\" unknown location\"),0]],a(\"%s unknown location\")],m5=a(\"Out of memory\"),m6=a(\"Stack overflow\"),m7=a(\"Pattern matching failed\"),m8=a(\"Assertion failed\"),m9=a(\"Undefined recursive module\"),m1=[0,[12,40,[2,0,[2,0,[12,41,0]]]],a(\"(%s%s)\")],m2=a(e),m3=a(e),m4=[0,[12,40,[2,0,[12,41,0]]],a(\"(%s)\")],mY=[0,[4,0,0,0,0],a(fS)],mW=[0,[3,0,0],a(\"%S\")],mX=a(i4),nh=[0,a(e),a(\"(Cannot print locations:\\n bytecode executable program file not found)\"),a(\"(Cannot print locations:\\n bytecode executable program file appears to be corrupt)\"),a(\"(Cannot print locations:\\n bytecode executable program file has wrong magic number)\"),a(\"(Cannot print locations:\\n bytecode executable program file cannot be opened;\\n -- too many open files. Try running with OCAMLRUNPARAM=b=2)\")],np=a(\"x\"),ns=a(\"Hashtbl: unsupported hash table format\"),zp=a(\"OCAMLRUNPARAM\"),zn=a(\"CAMLRUNPARAM\"),nq=a(e),nC=a(e),nH=a(e),nG=a(e),nE=a(e),nM=[2,a(fV)],nN=[2,a(fV)],pB=a(e),pC=a(e),p4=a(ae),p5=a('=\"'),p6=a(bF),p0=a(bb),p1=a(by),p2=a(fM),qa=a(\"<?\"),qb=a(X),qc=a(cW),qd=a(\"<!--\"),qe=a(X),qf=a(\"-->\"),qg=a(\"<!\"),qh=a(X),qi=a(cW),p3=a(fV),p7=a(\"/>\"),p8=a(cW),p9=a(cW),p_=a(jj),p$=a(cW),pZ=a(\"&quot;\"),qj=a(\"write\"),pP=a(e),pQ=a(jj),pR=a(X),pS=a(by),pT=a(X),pU=a(bb),pV=a(X),pW=a(fM),pX=a(e),pL=[0,0,0],pM=[0,0,1],pN=[0,0,0],pO=[0,0,1],pK=[0,a(\"netstring/code/src/netstring/nethtml.ml\"),356,27],pJ=a(e),pG=a(e),pH=[0,bA,fq],pI=[0,bA,fq],pF=a(e),pA=a(e),nO=a(\"Nethtml.End_of_scan\"),nP=a(\"Nethtml.Found\"),nQ=[0,[0,a(b$),[0,j,[0,l,[0,a(b$),[0,a(ed),[0,a(b_),0]]]]]],[0,[0,a(ed),[0,j,v]],0]],nR=bO([l,a(a_),a(cc),a(b8),a(ap),a(aE),a(bp),a(bC),a(bs),a(a9),a(b$)]),nS=a(cS),nT=[0,a(aE),[0,j,ca]],nU=[0,a(bp),[0,j,v]],nV=[0,a(b8),[0,j,v]],nW=[0,a(cc),[0,j,[0,l,0]]],nX=[0,a(a_),[0,j,[0,l,[0,a(cc),[0,a(b8),[0,a(ap),[0,a(aE),[0,a(bp),[0,a(bC),[0,a(bs),0]]]]]]]]]],nY=[0,a(bI),[0,j,i]],nZ=[0,a(c0),[0,j,i]],n0=[0,a(at),[0,j,[0,l,[0,a(c0),[0,a(bI),0]]]]],n1=[0,a(bt),[0,j,v]],n2=[0,a(d_),[0,j,[0,l,[0,a(bt),0]]]],n3=[0,a(cN),[0,j,[0,l,[0,a(at),0]]]],n4=[0,a(cH),[0,j,[0,l,[0,a(at),0]]]],n5=[0,a(cD),[0,j,[0,l,[0,a(at),0]]]],n6=[0,a(ei),[0,j,c]],n7=[0,a(d1),[0,j,c]],n8=[0,a(b7),[0,j,[0,l,0]]],n9=[0,a(d$),[0,j,[0,l,[0,a(b7),0]]]],n_=[0,a(aa),[0,j,i]],n$=[0,a(cM),[0,j,i]],oa=[0,a(dW),[0,j,c]],ob=[0,a(fI),[0,bA,i]],oc=[0,a(fn),[0,bA,i]],od=[0,a(b3),[0,j,v]],oe=[0,a(bC),[0,j,v]],of=[0,a(dT),[0,j,v]],oh=[0,l,[0,a(ap),0]],oi=a(a9),oj=[0,a(cb),[0,o,v]],ok=[0,a(b_),[0,o,i]],ol=[0,a(dY),[0,o,i]],om=[0,a(cC),[0,o,c]],oo=[0,l,[0,a(d1),0]],op=a(bG),oq=[0,a(a$),[0,o,[0,l,[0,a(ei),[0,a(bt),[0,a(d_),[0,a(cD),[0,a(cN),[0,a(cH),[0,a(at),0]]]]]]]]]],or=[0,a(b6),[0,o,v]],ot=[0,l,[0,a(ap),0]],ou=[0,a(ba),0],ov=a(ba),ox=[0,l,[0,a(ap),0]],oy=a(cR),oz=[0,a(cV),[0,o,i]],oA=[0,a(b2),[0,o,i]],oB=[0,a(b1),[0,o,[0,l,[0,a(dW),[0,a(cM),0]]]]],oC=[0,a(cO),[0,o,[0,R,[0,[0,a(aU),[0,a(bs),[0,a(d0),[0,a(eg),[0,a(d3),[0,a(cT),[0,a(cL),zs]]]]]]],c]]]],oD=[0,l,[0,a(aa),0]],oE=a(d2),oF=[0,l,[0,a(aa),0]],oG=a(bE),oH=[0,a(W),[0,o,[0,l,[0,a(aa),0]]]],oI=[0,a($),[0,o,[0,l,[0,a(aa),0]]]],oJ=[0,a(cF),[0,o,c]],oK=[0,a(cQ),[0,o,c]],oL=[0,a(cA),[0,o,c]],oM=[0,a(cP),[0,o,c]],oN=[0,a(cE),[0,o,c]],oO=[0,a(cU),[0,o,c]],oP=[0,a(aT),[0,o,c]],oQ=[0,a(eh),[0,c,[0,R,[0,[0,a(bB),[0,a(dS),[0,a(d6),[0,a(dO),[0,a(b5),[0,a(eh),[0,a(ba),zt]]]]]]],i]]]],oR=[0,a(b5),[0,c,[0,R,[0,[0,a(b5),0],c]]]],oS=[0,a(dO),[0,c,[0,l,0]]],oT=[0,a(d6),[0,c,[0,l,[0,a(d$),[0,a(b7),0]]]]],oU=[0,a(dS),[0,c,v]],oV=[0,a(ec),[0,c,i]],oW=[0,a(d5),[0,c,v]],oX=[0,a(cZ),[0,c,c]],oZ=[0,l,[0,a(b3),0]],o0=a(d0),o1=[0,a(jI),[0,c,c]],o3=[0,l,[0,a(dT),0]],o4=a(ju),o5=[0,a(ap),[0,c,ca]],o7=[0,l,[0,a(b3),0]],o8=a(bs),o9=[0,a(aU),[0,c,v]],o_=[0,a(bB),[0,c,[0,R,[0,[0,a(bB),0],c]]]],o$=[0,a(jf),[0,c,v]],pa=[0,a(iq),[0,c,c]],pb=[0,a(bz),[0,c,c]],pc=[0,a(cT),[0,c,c]],pd=[0,a(cL),[0,c,c]],pe=[0,a(fJ),[0,c,c]],pf=[0,a(iY),[0,c,c]],pg=[0,a(fs),[0,c,c]],ph=[0,a(f5),[0,c,c]],pi=[0,a(fr),[0,c,c]],pj=[0,a(f7),[0,c,c]],pk=[0,a(fv),[0,c,c]],pl=[0,a(fu),[0,c,c]],pm=[0,a(fE),[0,c,c]],pn=[0,a(f3),[0,c,c]],po=[0,a(iZ),[0,c,c]],pp=[0,a(dZ),[0,c,c]],pq=[0,a(dV),[0,c,c]],pr=[0,a(d3),[0,c,c]],ps=[0,a(eg),[0,c,c]],pt=[0,a(fZ),[0,c,c]],pu=[0,a(f8),[0,c,c]],pv=[0,a(fX),[0,c,c]],py=[0,a(a9),[0,a(a$),[0,a(W),[0,a($),[0,a(b1),0]]]]],qz=a(e),qA=a(e),qD=a(\"too many r* or r+ where r is nullable\"),qE=a(e),qB=[0,a(\"str.ml\"),214,11],qI=[0,0,0],qM=a(e),qL=a(e),qK=a(e),qJ=a(e),qS=a(ae),qQ=a(\"' is invalid\"),qR=a(\"document list level '\"),qN=a(\"\\xef\\x82\\xb7\"),qO=a(\"\\xef\\x82\\xa7\"),qP=a(\"o\"),q0=a(\"excel\"),qZ=a(cS),q3=[0,a(\"src/main/re/html/htmlStd.re\"),144,9],qT=a(X),qU=a(fH),qV=bO([a(cC),a(\"article\"),a(\"aside\"),a(\"audio\"),a(cR),a(\"canvas\"),a(cM),a(b2),a(b1),a(bG),a(\"figcaption\"),a(\"figure\"),a(\"footer\"),a(ba),a(cU),a(cE),a(cP),a(cA),a(cQ),a(cF),a(\"header\"),a(\"hgroup\"),a(b6),a(aa),a(cV),a(W),a(\"output\"),a(aT),a(cO),a(\"section\"),a(a$),a(cH),a(bI),a(cN),a(c0),a(cD),a(at),a($),a(\"video\")]),qW=[0,a(a9),[0,a(a_),[0,a(cS),[0,a(bC),[0,a(bp),[0,a(aE),[0,a(fo),0]]]]]]],q1=[0,a(e)],re=a(aT),rc=a(jo),rb=a(i0),rd=[0,a(jo)],q$=a(i0),q9=a(aU),q5=a(iN),q6=a(iN),q7=a(\"file:\"),q8=a(\"data-image-src\"),rQ=a(ae),rP=a(dU),rM=a(\":level\"),rK=a(ae),rD=a(fx),rE=a(f4),rF=a(fx),rG=a(f4),rH=a(ee),rI=a(fx),rJ=a(f4),rL=a(e),rN=a(e),rO=a(\"@list \"),rB=a(cB),rz=[0,a(\"\\n  \")],rA=a(\"  \"),ry=a(e),rw=a(\"color\"),rx=a(ae),rt=a('\"\"'),ru=a(\";\"),rv=a(bD),rj=a(ea),rk=a(e),rl=a(bb),rm=a(ae),rn=a(e),ri=[0,a(e),0],ro=a(e),rp=a(cB),rg=a(bF),rh=a(bF),rq=[0,a(\"font-family\"),0],r4=a(\"Internal failure -- please contact the parser generator's developers.\\n%!\"),r5=[0,a(\"src/main/re/css_parser.ml\"),494,4],r3=a(ea),r2=a(bD),r1=a(ee),r0=a(ea),rZ=a(bD),rY=a(ee),rV=a(\"list\"),rX=a(bD),rW=a(e),rT=a(ea),rU=a(e),rS=[0,a(e),0],rR=a(\"Css_parser.MenhirBasics.Error\"),sa=a(fD),sb=a(\"' (\"),sc=a(\"Unexpected char: '\"),r9=a(\"Css_lexer.SyntaxError\"),r_=[0,a('\\0\\0\\xeb\\xff\\x14\\0\\x03\\0\\x01\\0\\xd7\\0\\x0e\\0H\\x01\\x9d\\0\\xf1\\xff\\x03\\0\\x06\\0\\x11\\0u\\x01\\xe8\\x01B\\x02\\x9c\\x02\\xf6\\x02\\x02\\0\\x1e\\0\\xf7\\xff\\xf8\\xff\\xf9\\xff\\xfa\\xff\\xfb\\xff\\xfc\\xff\\b\\0\\x01\\0\\xfe\\xff\\xff\\xff\\xf6\\xff\\xf5\\xff\\x12\\0P\\x03\\xaa\\x03|\\0\\xf4\\xff\\x04\\x04^\\x04\\xc8\\x01\\x90\\x04\\x13\\0\\xbd\\x04\\xed\\xff0\\x05\\x15\\0\\x16\\0\\x17\\0\\xf0\\xff2\\x052\\x001\\x054\\0\\x0b\\0\\x12\\0\\x0e\\0\"\\0\\xa1\\x05\\xa2\\x055\\0\\xa3\\x05\\xa7\\x05\\xa8\\x05\\xa9\\x05\\xad\\x051\\x003\\0\\xee\\xffY\\0Z\\0\\xec\\xff\\\\\\0]\\0'),a(\"\\xff\\xff\\xff\\xff\\x14\\0\\x14\\0\\x14\\0\\x10\\0\\x14\\0\\x14\\0\\x14\\0\\xff\\xff\\x14\\0\\x14\\0\\x14\\0\\x10\\0\\r\\0\\x10\\0\\x10\\0\\x10\\0\\x14\\0\\x14\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x02\\0\\x01\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\xff\\xff\\f\\0\\xff\\xff\\x10\\0\\xff\\xff\\r\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\"),a(\"\\x01\\0\\0\\0\\xff\\xff\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff3\\x001\\0\\0\\0.\\0-\\0\\t\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff'\\0'\\0'\\0\\xff\\xff\\0\\0\\xff\\xff\\t\\0/\\0\\t\\0\\0\\x001\\x001\\x003\\x003\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\x009\\x009\\x009\\x009\\x009\\x009\\x009\\0\\xff\\xff\\xff\\xff\\0\\0D\\0G\\0\\0\\0G\\0G\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\x1c\\0\\x1c\\0\\0\\0\\x1b\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\x05\\0\\b\\0\\x05\\0A\\0\\x05\\0\\x06\\0\\x07\\0\\x1a\\0\\0\\0\\t\\0\\x05\\0\\x19\\0\\x0f\\0\\r\\0\\x02\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x15\\0\\x16\\0\\x03\\0\\x05\\0D\\0\\x1f\\0\\x14\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x1e\\0\\x04\\x009\\0B\\0\\x05\\0C\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x11\\0\\x05\\0\\x05\\0\\x10\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x18\\0\\x12\\0\\x17\\0\\x13\\x005\\x006\\x007\\x008\\0E\\0E\\0#\\0H\\0H\\0\\0\\0F\\0\\0\\0\\0\\0F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0#\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0$\\0\\0\\0\\xff\\xff#\\0\\0\\0\\xff\\xff\\0\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x000\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x05\\x002\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x1d\\0\\xff\\xff\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff \\0\\xff\\xff\\xff\\xff\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x000\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\x004\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\xff\\xff\\0\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0(\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\r\\0\\0\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\0\\0\\0\\0)\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0*\\0\\r\\0\\0\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0%\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0!\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\\"\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0#\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0&\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0'\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\xff\\xff\\x05\\0\\0\\0\\xff\\xff\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0(\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0)\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0+\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\x000\\0\\x05\\0\\0\\0\\0\\x000\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\x004\\x002\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0:\\0:\\0:\\0\\0\\0\\0\\0\\0\\0:\\0:\\0:\\0\\0\\0\\0\\0\\0\\0:\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0;\\0;\\0;\\0\\0\\0\\0\\0\\0\\0;\\0;\\0;\\0\\0\\0\\0\\0\\0\\0;\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\0\\0\\0\\0\\0>\\0\\0\\0=\\0\\0\\0\\0\\0\\0\\0?\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\"),a('\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\x1b\\0\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x1a\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\x03\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x12\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x13\\0\\0\\x008\\0A\\0\\0\\0B\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\x005\\x006\\x007\\0D\\0E\\0#\\0G\\0H\\0\\xff\\xffE\\0\\xff\\xff\\xff\\xffH\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\b\\0#\\0\\xff\\xff\\b\\0\\xff\\xff#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\b\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\b\\0\\x05\\0\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\x04\\0\\x05\\0\\n\\0\\x05\\0\\x05\\0\\x0b\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\f\\0 \\0)\\0\\x05\\0-\\0.\\0/\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\x002\\0\\x05\\x004\\0;\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x07\\0\\xff\\xff\\xff\\xff\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xffD\\0E\\0\\xff\\xffG\\0H\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\r\\0\\xff\\xff\\r\\0\\xff\\xff\\r\\0\\xff\\xff\\xff\\xff\\b\\0\\xff\\xff\\xff\\xff\\r\\0\\xff\\xff\\r\\0\\r\\0\\x07\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\xff\\xff\\xff\\xff\\xff\\xff\\r\\0\\xff\\xff\\xff\\xff\\xff\\xff\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\xff\\xff\\r\\0\\'\\0\\xff\\xff\\r\\0\\'\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\xff\\xff\\'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0e\\0\\xff\\xff\\x0e\\0\\xff\\xff\\x0e\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0e\\0\\xff\\xff\\x0e\\0\\x0e\\0\\xff\\xff\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\xff\\xff\\xff\\xff\\'\\0\\x0e\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\xff\\xff\\x0e\\0\\xff\\xff\\xff\\xff\\x0e\\0\\x07\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0f\\0\\xff\\xff\\x0f\\0\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\x0f\\0\\x0f\\0\\xff\\xff\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x10\\0\\xff\\xff\\x10\\0\\xff\\xff\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\'\\0\\x10\\0\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\x10\\0\\xff\\xff\\xff\\xff\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x11\\0\\xff\\xff\\x11\\0\\xff\\xff\\x11\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x11\\0\\xff\\xff\\x11\\0\\x11\\0\\xff\\xff\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x11\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\xff\\xff\\x11\\0\\xff\\xff\\xff\\xff\\x11\\0\\xff\\xff\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0!\\0\\xff\\xff!\\0\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0!\\0\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\\xff\\xff!\\0\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\"\\0\\xff\\xff\"\\0\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\"\\0\"\\0\\xff\\xff\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\\xff\\xff\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\\xff\\xff\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0%\\0\\xff\\xff%\\0\\xff\\xff%\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff%\\0\\xff\\xff%\\0%\\0\\xff\\xff%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0\\xff\\xff\\xff\\xff\\xff\\xff%\\0\\xff\\xff\\xff\\xff\\xff\\xff%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0\\xff\\xff%\\0\\xff\\xff\\xff\\xff%\\0\\xff\\xff%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0&\\0\\xff\\xff&\\0\\xff\\xff&\\0\\xff\\xff\\xff\\xff&\\0\\xff\\xff\\xff\\xff&\\0\\xff\\xff&\\0&\\0\\xff\\xff&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0\\xff\\xff\\xff\\xff(\\0&\\0\\xff\\xff(\\0\\xff\\xff&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0(\\0&\\0\\xff\\xff\\xff\\xff&\\0\\xff\\xff&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff*\\0\\xff\\xff*\\0\\xff\\xff*\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff*\\0\\xff\\xff*\\0*\\0(\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0\\xff\\xff\\xff\\xff\\xff\\xff*\\0*\\0\\xff\\xff\\xff\\xff*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0\\xff\\xff*\\0\\xff\\xff\\xff\\xff*\\0\\xff\\xff*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0\\xff\\xff\\xff\\xff\\xff\\xff3\\x001\\0\\xff\\xff3\\x001\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff,\\x001\\0,\\0\\xff\\xff\\xff\\xff3\\0\\xff\\xff\\xff\\xff,\\0\\xff\\xff,\\0,\\0\\xff\\xff,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff\\xff\\xff\\xff\\xff,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\xff\\xff,\\x003\\x001\\0,\\0(\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\x009\\0:\\0<\\x009\\0:\\0<\\0=\\0>\\0?\\0=\\0>\\0?\\0@\\0\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\0:\\0<\\0\\xff\\xff\\xff\\xff\\xff\\xff=\\0>\\0?\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\0:\\0<\\0\\xff\\xff\\xff\\xff\\xff\\xff=\\0>\\0?\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff:\\0\\xff\\xff\\xff\\xff=\\0\\xff\\xff<\\0\\xff\\xff\\xff\\xff\\xff\\xff>\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff3\\x001\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\0:\\0<\\0\\xff\\xff\\xff\\xff\\xff\\xff=\\0>\\0?\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0'),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\t\\0\\x03\\0\\0\\0\\x07\\0\\x04\\0\\0\\0\\0\\0\\0\\0\\0\\0\\t\\0\\x0b\\0\\x05\\0\\r\\0\\x0f\\0\\x11\\0\\x13\\0\\x19\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\t\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\0\\x06\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x11\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\b\\x001\\0\\x07\\0\\b\\x001\\x003\\0\\xff\\xff9\\x003\\0:\\x009\\0<\\0:\\0=\\0<\\0>\\0=\\0?\\0>\\0\\xff\\xff?\\0\\xff\\xff\\0\\0@\\0\\b\\x001\\0@\\0\\0\\0\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff3\\x009\\0\\xff\\xff:\\0\\xff\\xff<\\0\\xff\\xff=\\0\\xff\\xff>\\0\\xff\\xff?\\0\\xff\\xff8\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\b\\x001\\0\\xff\\xff\\xff\\xff\\xff\\xff3\\0\\xff\\xff9\\0\\xff\\xff:\\0\\xff\\xff<\\0\\xff\\xff=\\0\\xff\\xff>\\0\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff:\\0\\xff\\xff=\\0\\xff\\xff\\xff\\xff\\xff\\xff<\\0\\xff\\xff\\xff\\xff>\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\x07\\0\\b\\x001\\x004\\0;\\0\\xff\\xff3\\0\\xff\\xff9\\0\\xff\\xff:\\0\\xff\\xff<\\0\\xff\\xff=\\0\\xff\\xff>\\0\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff@\\0\"),a(\"\\xff\\x03\\xff\\x02\\xff\\xff\\x03\\xff\\xff\\x01\\x02\\0\\x03\\xff\\x04\\xff\\xff\\x03\\x04\\x04\\xff\\xff\")],sh=a(aE),sf=a(ji),sg=a(\": syntax error parsing:\"),sd=a(br),se=a(bD),si=a(a9),sj=a(aE),sx=a(e),sr=a(jg),ss=a(\"='\"),sk=a(jg),sl=a(\"Data '\"),sm=a(dU),sn=a(fD),so=a(dU),sp=a(e),sq=a(\"]\"),st=a(cB),su=a(\", [\"),sv=a(\"Element (\"),sw=a(dU),sy=[0,[0,a(b$),[0,j,[0,l,[0,a(b$),[0,a(ed),[0,a(b_),0]]]]]],[0,[0,a(ed),[0,j,v]],0]],sz=bO([l,a(a_),a(cc),a(b8),a(ap),a(aE),a(bp),a(bC),a(bs),a(a9),a(b$)]),sA=a(cS),sB=[0,a(aE),[0,j,ca]],sC=[0,a(bp),[0,j,v]],sD=[0,a(b8),[0,j,v]],sE=[0,a(cc),[0,j,[0,l,0]]],sF=[0,a(a_),[0,j,[0,l,[0,a(cc),[0,a(b8),[0,a(ap),[0,a(aE),[0,a(bp),[0,a(bC),[0,a(bs),0]]]]]]]]]],sG=[0,a(bI),[0,j,i]],sH=[0,a(c0),[0,j,i]],sI=[0,a(at),[0,j,[0,l,[0,a(c0),[0,a(bI),0]]]]],sJ=[0,a(bt),[0,j,v]],sK=[0,a(d_),[0,j,[0,l,[0,a(bt),0]]]],sL=[0,a(cN),[0,j,[0,l,[0,a(at),0]]]],sM=[0,a(cH),[0,j,[0,l,[0,a(at),0]]]],sN=[0,a(cD),[0,j,[0,l,[0,a(at),0]]]],sO=[0,a(ei),[0,j,c]],sP=[0,a(d1),[0,j,c]],sQ=[0,a(b7),[0,j,[0,l,0]]],sR=[0,a(d$),[0,j,[0,l,[0,a(b7),0]]]],sS=[0,a(aa),[0,j,i]],sT=[0,a(cM),[0,j,i]],sU=[0,a(dW),[0,j,c]],sV=[0,a(fI),[0,bA,i]],sW=[0,a(fn),[0,bA,i]],sX=[0,a(b3),[0,j,v]],sY=[0,a(bC),[0,j,v]],sZ=[0,a(dT),[0,j,v]],s1=[0,l,[0,a(ap),0]],s2=a(a9),s3=[0,a(cb),[0,o,v]],s4=[0,a(b_),[0,o,i]],s5=[0,a(dY),[0,o,i]],s6=[0,a(cC),[0,o,c]],s8=[0,l,[0,a(d1),0]],s9=a(bG),s_=[0,a(a$),[0,a8,[0,l,[0,a(ei),[0,a(bt),[0,a(d_),[0,a(cD),[0,a(cN),[0,a(cH),[0,a(at),0]]]]]]]]]],s$=[0,a(b6),[0,o,v]],tb=[0,l,[0,a(ap),0]],tc=[0,a(ba),0],td=a(ba),tf=[0,l,[0,a(ap),0]],tg=a(cR),th=[0,a(cV),[0,o,i]],ti=[0,a(b2),[0,o,i]],tj=[0,a(b1),[0,a8,[0,l,[0,a(dW),[0,a(cM),0]]]]],tk=[0,a(cO),[0,o,[0,R,[0,[0,a(bs),[0,a(d0),[0,a(eg),[0,a(d3),[0,a(cT),[0,a(cL),[0,a(cZ),zu]]]]]]],c]]]],tl=[0,l,[0,a(aa),0]],tm=a(d2),tn=[0,l,[0,a(aa),0]],to=a(bE),tp=[0,a(W),[0,a8,[0,l,[0,a(aa),0]]]],tq=[0,a($),[0,a8,[0,l,[0,a(aa),0]]]],tr=[0,a(cF),[0,o,c]],ts=[0,a(cQ),[0,o,c]],tt=[0,a(cA),[0,o,c]],tu=[0,a(cP),[0,o,c]],tv=[0,a(cE),[0,o,c]],tw=[0,a(cU),[0,o,c]],tx=[0,a(aT),[0,o,c]],ty=[0,a(eh),[0,c,[0,R,[0,[0,a(bB),[0,a(dS),[0,a(d6),[0,a(dO),[0,a(b5),[0,a(eh),[0,a(ba),zv]]]]]]],i]]]],tz=[0,a(b5),[0,c,[0,R,[0,[0,a(b5),0],c]]]],tA=[0,a(dO),[0,c,[0,l,0]]],tB=[0,a(d6),[0,c,[0,l,[0,a(d$),[0,a(b7),0]]]]],tC=[0,a(dS),[0,c,v]],tD=[0,a(ec),[0,c,i]],tE=[0,a(d5),[0,c,v]],tF=[0,a(cZ),[0,c,i]],tH=[0,l,[0,a(b3),0]],tI=a(d0),tJ=[0,a(jI),[0,c,i]],tL=[0,l,[0,a(dT),0]],tM=a(ju),tN=[0,a(ap),[0,c,ca]],tP=[0,l,[0,a(b3),0]],tQ=a(bs),tR=[0,a(aU),[0,c,v]],tS=[0,a(bB),[0,c,[0,R,[0,[0,a(bB),0],c]]]],tT=[0,a(jf),[0,c,v]],tU=[0,a(iq),[0,c,i]],tV=[0,a(bz),[0,c,i]],tW=[0,a(cT),[0,c,i]],tX=[0,a(cL),[0,c,i]],tY=[0,a(fJ),[0,c,i]],tZ=[0,a(iY),[0,c,i]],t0=[0,a(fs),[0,c,i]],t1=[0,a(f5),[0,c,i]],t2=[0,a(fr),[0,c,i]],t3=[0,a(f7),[0,c,i]],t4=[0,a(fv),[0,c,i]],t5=[0,a(fu),[0,c,i]],t6=[0,a(fE),[0,c,i]],t7=[0,a(f3),[0,c,i]],t8=[0,a(iZ),[0,c,i]],t9=[0,a(dZ),[0,c,i]],t_=[0,a(dV),[0,c,i]],t$=[0,a(d3),[0,c,i]],ua=[0,a(eg),[0,c,i]],ub=[0,a(fZ),[0,c,i]],uc=[0,a(f8),[0,c,i]],ud=[0,a(fX),[0,c,i]],uu=a(aE),ut=a(a_),ur=a(a9),us=a(cS),uo=a(a_),up=a(aE),un=a(aE),uk=a(X),ul=a(by),um=a(iT),uj=a(a_),ui=a(a9),uf=[0,1],ug=[0,0],uh=[0,1],uq=[1,a(bp),[0,[0,a(\"http-equiv\"),a(\"Content-Type\")],[0,[0,a(\"content\"),a(\"text/html; charset=utf-8\")],0]],0,0],u8=a(X),u9=a(bb),u_=a(X),u$=a(\"[if !msEquation]\"),va=a(bb),vb=a(X),vc=a(fH),u6=[0,a(\"data-ms-equation\"),a(d8)],uV=a(X),uW=a(bb),uX=a(X),uY=a(\"[if !vml]\"),uZ=a(bb),u0=a(X),u1=a(fH),uT=a(fo),uO=a(aU),uP=a(aU),uN=a(aU),uQ=a(aU),uJ=a(fo),uH=a(\"v:imagedata\"),uI=a(aU),uF=a(\"vshapedata\"),uC=[0,[0,a(\"rtf-data-image\"),a(d8)],0],uD=a(\"data-image-id\"),uz=a(\"rotation\"),uv=a(\"-90\"),uw=a(\"90\"),ux=a(cK),uy=a(bH),uA=a(cK),uB=a(bH),uE=a(\"unsupported\"),uM=a(aU),uR=a(\"[if gte vml 1]>\"),uS=a(jv),u2=a(by),u4=a(\"[if gte msEquation\"),u5=a(jv),vd=a(by),vf=[0,0],vi=a(X),vj=a(\"[if !supportLists]\"),vk=a(bb),vl=a(by),vY=a(iA),vZ=a(aa),v0=a(bn),v2=[0,a(iE),a(d8)],v1=a(aa),vV=a(b9),vW=a(bD),vX=a(fm),v3=a(aT),vT=a(\"mso-text-indent-alt\"),vU=a(jH),vQ=a(\"mso-level-legacy\"),vR=a(\"yes\"),vS=[0,a($),0,0],vN=a(iw),vO=a(d4),vP=[0,a(dQ)],vK=a(\"margin-top\"),vL=a(\"margin-bottom\"),vC=[0,[0,a($),0]],vw=a(\"alpha-lower\"),vx=a(\"alpha-upper\"),vy=a(\"bullet\"),vz=a(\"image\"),vA=a(\"roman-lower\"),vB=a(\"roman-upper\"),vD=[0,[0,a(W),[0,a(\"upper-roman\")]]],vE=[0,[0,a(W),[0,a(\"lower-roman\")]]],vF=[0,[0,a(W),[0,a(\"upper-alpha\")]]],vG=[0,[0,a(W),[0,a(\"lower-alpha\")]]],vH=a(\"mso-level-number-format\"),vI=[0,a(W),0],vt=[0,[0,a($),[0,a(\"square\")]]],vu=[0,[0,a($),[0,a(\"circle\")]]],vv=a(\"mso-level-text\"),vs=a(af),vr=a(cX),vo=[0,a(jt)],vp=a($),vq=a(\"mso-level-start-at\"),vm=[0,[0,a(dQ)],[0,[0,a(d4),0]]],vn=a(aa),vh=a(jC),v7=a(dV),v_=a(dZ),v$=a(bz),v8=a(jd),v9=a(i5),wa=a(aT),v5=[0,a(i5)],v6=[0,a(jd)],wK=[0,1],wL=[0,1],wM=[0,1],wI=a(b9),wE=a(W),wF=a($),wA=a($),wB=a(W),wC=a(W),wz=a(b9),wD=a(b9),ww=a(cX),wx=a(f1),wt=a(W),wu=a($),ws=a(aa),wo=a(dQ),wp=[0,a(d4),0],wq=a(b9),wr=a(b9),wl=a(W),wm=a($),wh=a(aa),wi=a(W),we=a($),wf=a(f1),wg=a(cX),wj=a(fm),wk=a(cX),wc=bO([a(cZ),a(bz),a(fZ),a(f8),a(dV),a(cT),a(cL),a(f3),a(fE),a(f7),a(fJ),a(fs),a(fv),a(fu),a(fr),a(fX),a(dZ),a(fn),a(fI),a(f5),a(a_)]),xB=a(bz),xy=a(bn),xz=a(f6),xx=a(f6),xv=a(bn),xw=a(f6),xt=a(bn),xu=a(\"Apple-converted-space\"),xm=a(X),xh=a(bn),xi=a(\"msocomtxt\"),xf=a(b6),xc=a(bn),xd=a(\"msocomoff\"),w$=a(\"mso-comment-reference\"),w8=a(\"comment-list\"),w7=a(jy),w3=a(bn),w4=a(\"MsoCommentReference\"),w0=a(by),w1=a(\"---\"),wZ=a(X),wU=a(iT),wV=a(\"endfragment\"),wW=a(\"[if \"),wX=a(\"[endif\"),wS=a(bB),wQ=a(\"name\"),wR=a(\"OLE_LINK\"),xn=a(bb),xp=[0,a(\"lang\"),[0,a(\"onmouseover\"),[0,a(\"onmouseout\"),[0,a(fm),0]]]],xq=[0,a(bn),[0,a(iE),[0,a(iA),[0,a(jH),0]]]],xP=a(b2),xN=a(jy),xO=[0,a(\"para-border-div\"),0],xL=a(ja),xJ=a(\"margin-left\"),xK=a(\"data-border-margin\"),xH=a(aT),xD=a(bz),xE=a(bE),xF=a(bz),xG=a(bE),x8=a(\"mso-\"),x9=a(jC),xV=a(\"font-stretch\"),xW=a(\"font-variant-caps\"),xX=a(\"text-decoration\"),xY=a(\"text-indent\"),xZ=a(\"text-transform\"),x0=a(\"vertical-align\"),x1=a(\"white-space\"),x2=a(\"word-spacing\"),x4=a(iW),x5=a(\"baseline\"),x7=a(iW),x6=a(d4),x3=a(\"0px\"),xR=[0,a(jt),[0,a(dQ),[0,a(iw),0]]],xT=bO([a(\"layout-grid-mode\"),a(\"tab-stops\"),a(i9),a(\"text-underline\"),a(\"text-effect\"),a(\"text-line-through\"),a(\"page\"),a(\"font-color\"),a(\"horiz-align\"),a(\"language\"),a(\"separator-image\"),a(\"table-border-color-dark\"),a(\"table-border-color-light\"),a(\"vert-align\"),a(\"widows\"),a(\"letter-spacing\"),a(\"caret-color\"),a(\"orphans\")]),yh=a(\"a:link\"),ye=a(iD),yf=a(\"1px\"),yd=a(iD),yc=a(ja),x$=[0,a(a$),[0,a(at),[0,a(bI),[0,a(bt),0]]]],yu=a(cK),yv=a(bH),yt=[0,a(bI),[0,a(bt),0]],ys=a(at),yq=a(bH),yr=a(cK),yp=a(a$),yn=a(a$),ym=a(bH),yk=a(bH),yj=a(\"px\"),yi=[0,a(bH),[0,a(cK),0]],yC=a(\"before:\"),yD=a(\"after:\"),yz=a(i9),yA=a(\"data-tab-interval\"),yy=[0,1],yx=[0,0],yE=a(\"Jsoo_runtime.Error.Exn\"),yF=a(fy),y3=a(\"edge/\"),y4=a(i8),y5=a(jw),y6=a(jG),yY=a(i8),yZ=a(\"chromeframe\"),yU=a(\"msie\"),yV=a(\"trident\"),yJ=a(jw),yL=a(\"mobile/\"),yK=a(jG),yM=a(je),yO=a(\"firefox\"),yP=a(\"Firefox\"),yR=a(\"opera\"),yS=a(\"Opera\"),yW=a(\"IE\"),y0=[0,a(i6)],y1=a(i6),y7=a(\"Edge\"),y$=a(je),zg=a(e),zh=a(ii),zb=a(iG),zl=a(\"ephox.wimp\");function\nE(a){if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:return[0,E(a[1])];case\n1:return[1,E(a[1])];case\n2:return[2,E(a[1])];case\n3:return[3,E(a[1])];case\n4:return[4,E(a[1])];case\n5:return[5,E(a[1])];case\n6:return[6,E(a[1])];case\n7:return[7,E(a[1])];case\n8:var\nc=a[1];return[8,c,E(a[2])];case\n9:var\nb=a[1];return[9,b,b,E(a[3])];case\n10:return[10,E(a[1])];case\n11:return[11,E(a[1])];case\n12:return[12,E(a[1])];case\n13:return[13,E(a[1])];default:return[14,E(a[1])]}}function\nZ(a,b){if(typeof\na===\"number\")return b;else\nswitch(a[0]){case\n0:return[0,Z(a[1],b)];case\n1:return[1,Z(a[1],b)];case\n2:return[2,Z(a[1],b)];case\n3:return[3,Z(a[1],b)];case\n4:return[4,Z(a[1],b)];case\n5:return[5,Z(a[1],b)];case\n6:return[6,Z(a[1],b)];case\n7:return[7,Z(a[1],b)];case\n8:var\nc=a[1];return[8,c,Z(a[2],b)];case\n9:var\nd=a[2],e=a[1];return[9,e,d,Z(a[3],b)];case\n10:return[10,Z(a[1],b)];case\n11:return[11,Z(a[1],b)];case\n12:return[12,Z(a[1],b)];case\n13:return[13,Z(a[1],b)];default:return[14,Z(a[1],b)]}}function\ny(a,b){if(typeof\na===\"number\")return b;else\nswitch(a[0]){case\n0:return[0,y(a[1],b)];case\n1:return[1,y(a[1],b)];case\n2:var\nc=a[1];return[2,c,y(a[2],b)];case\n3:var\nd=a[1];return[3,d,y(a[2],b)];case\n4:var\ne=a[3],f=a[2],g=a[1];return[4,g,f,e,y(a[4],b)];case\n5:var\nh=a[3],i=a[2],j=a[1];return[5,j,i,h,y(a[4],b)];case\n6:var\nk=a[3],l=a[2],m=a[1];return[6,m,l,k,y(a[4],b)];case\n7:var\nn=a[3],o=a[2],p=a[1];return[7,p,o,n,y(a[4],b)];case\n8:var\nq=a[3],r=a[2],s=a[1];return[8,s,r,q,y(a[4],b)];case\n9:var\nt=a[1];return[9,t,y(a[2],b)];case\n10:return[10,y(a[1],b)];case\n11:var\nu=a[1];return[11,u,y(a[2],b)];case\n12:var\nv=a[1];return[12,v,y(a[2],b)];case\n13:var\nw=a[2],x=a[1];return[13,x,w,y(a[3],b)];case\n14:var\nz=a[2],A=a[1];return[14,A,z,y(a[3],b)];case\n15:return[15,y(a[1],b)];case\n16:return[16,y(a[1],b)];case\n17:var\nB=a[1];return[17,B,y(a[2],b)];case\n18:var\nC=a[1];return[18,C,y(a[2],b)];case\n19:return[19,y(a[1],b)];case\n20:var\nD=a[2],E=a[1];return[20,E,D,y(a[3],b)];case\n21:var\nF=a[1];return[21,F,y(a[2],b)];case\n22:return[22,y(a[1],b)];case\n23:var\nG=a[1];return[23,G,y(a[2],b)];default:var\nH=a[2],I=a[1];return[24,I,H,y(a[3],b)]}}function\nch(a){throw[0,db,a]}function\nI(a){throw[0,et,a]}var\ngr=[A,kf,be(0)];function\ndc(a){return 0<=a?a:-a|0}function\nh(d,c){var\na=k(d),e=k(c),b=D(a+e|0);bd(d,0,b,0,a);bd(c,0,b,a,e);return O(b)}function\nkg(a){return a?kh:ki}function\nkj(a){try{var\nb=[0,c7(a)];return b}catch(a){a=C(a);if(a[1]===db)return 0;throw a}}function\nF(a,b){if(a){var\nc=a[1];return[0,c,F(a[2],b)]}return b}Af(0);var\nev=j3(1),aY=j3(2);function\nbS(b,a){return j4(b,a,0,k(a))}function\nci(a){bS(ev,a);gl(ev,10);return aX(ev)}function\ngw(a){bS(aY,a);gl(aY,10);return aX(aY)}function\new(b){function\na(b){var\na=b;for(;;){if(a){var\nc=a[2],d=a[1];try{aX(d)}catch(a){a=C(a);if(a[1]!==gu)throw a;var\ne=a}var\na=c;continue}return 0}}return a(Ag(0))}gp(a(ik),ew);var\nex=At(0),cj=(4*ex|0)-1|0,kn=[A,km,be(0)];function\nko(a){throw kn}function\nck(a){var\nd=a[1];a[1]=ko;try{var\nc=b(d,0);Al(a,c);return c}catch(b){b=C(b);a[1]=function(a){throw b};throw b}}function\ngx(h,g,e){var\na=g,d=e;for(;;){var\nc=b(d,0);if(c){var\ni=c[2],a=f(h,a,c[1]),d=i;continue}return a}}function\ngy(c,a){return a?[0,b(c,a[1])]:0}function\ncl(a){if(0<=a&&!(b0<a))return a;return I(kp)}function\ncm(a){var\nb=a-192|0,c=0;if(30<b>>>0){if(!(25<b+cI>>>0))c=1}else\nif(23!==b)c=1;return c?a+32|0:a}function\nkw(a){return 25<a-65>>>0?a:a+32|0}function\nkx(a){return 25<a+i$>>>0?a:a+fW|0}function\nbh(c){var\nb=0,a=c;for(;;){if(a){var\nb=b+1|0,a=a[2];continue}return b}}function\ndd(a){return a?a[2]:ch(ky)}function\ney(d,c){if(0<=c){var\na=d,b=c;for(;;){if(a){var\ne=a[2],f=a[1];if(0===b)return f;var\na=e,b=b-1|0;continue}return ch(kz)}}return I(kA)}function\ncn(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[1],b],a=a[2],b=e;continue}return b}}function\nG(a){return cn(a,0)}function\naj(c,a){if(a){var\nd=a[2],e=b(c,a[1]);return[0,e,aj(c,d)]}return 0}function\nbT(d,c){var\na=c;for(;;){if(a){var\ne=a[2];b(d,a[1]);var\na=e;continue}return 0}}function\nbi(e,d,c){var\nb=d,a=c;for(;;){if(a){var\ng=a[2],b=f(e,b,a[1]),a=g;continue}return b}}function\ngz(c,a,b){if(a){var\nd=a[1];return f(c,d,gz(c,a[2],b))}return b}function\ngA(e,d){var\na=d;for(;;){if(a){var\nf=a[2],c=b(e,a[1]);if(c){var\na=f;continue}return c}return 1}}function\nV(e,d){var\na=d;for(;;){if(a){var\nf=a[2],c=b(e,a[1]);if(c)return c;var\na=f;continue}return 0}}function\ngB(d,c){var\na=c;for(;;){if(a){var\ne=a[2],b=0===ce(a[1],d)?1:0;if(b)return b;var\na=e;continue}return 0}}function\nco(d,c){var\na=c;for(;;){if(a){var\nb=a[1],e=a[2],f=b[2];if(0===ce(b[1],d))return f;var\na=e;continue}throw p}}function\nde(b,a){return a<=b?b:a}function\naN(a,c){var\nb=D(a);zJ(b,0,a,c);return b}var\nkB=D(0);function\nez(a){var\nb=ax(a),c=D(b);bc(a,0,c,0,b);return c}function\ndf(a){return O(ez(a))}function\neA(c,b,a){if(0<=b&&0<=a&&!((ax(c)-a|0)<b)){var\nd=D(a);bc(c,b,d,0,a);return d}return I(kC)}function\ndg(c,b,a){return O(eA(c,b,a))}function\ngC(e,c,d,b,a){if(0<=a&&0<=c&&!((ax(e)-a|0)<c)&&0<=b&&!((ax(d)-a|0)<b))return bc(e,c,d,b,a);return I(kD)}function\naZ(e,c,d,b,a){if(0<=a&&0<=c&&!((k(e)-a|0)<c)&&0<=b&&!((ax(d)-a|0)<b))return bd(e,c,d,b,a);return I(kE)}function\ngD(c){var\na=c-9|0,b=0;if(4<a>>>0){if(23===a)b=1}else\nif(2!==a)b=1;return b?1:0}function\neB(g,c){var\nd=ax(c);if(0===d)return c;var\ne=D(d),f=d-1|0,h=0;if(!(f<0)){var\na=h;for(;;){H(e,a,b(g,bL(c,a)));var\ni=a+1|0;if(f!==a){var\na=i;continue}break}}return e}function\ngE(b,a){return O(aN(b,a))}function\naq(c,b,a){return O(eA(au(c),b,a))}function\naz(l,g){if(g){var\nh=k(l),c=0,b=g,q=0;for(;;){if(b){var\ni=b[1];if(b[2]){var\nj=(k(i)+h|0)+c|0,n=b[2],o=c<=j?j:I(kF),c=o,b=n;continue}var\nm=k(i)+c|0}else\nvar\nm=c;var\nf=D(m),e=q,d=g;for(;;){if(d){var\na=d[1];if(d[2]){var\np=d[2];bd(a,0,f,e,k(a));bd(l,0,f,e+k(a)|0,h);var\ne=(e+k(a)|0)+h|0,d=p;continue}bd(a,0,f,e,k(a))}return O(f)}}}return kG}function\ngF(c){var\na=c-9|0,b=0;if(4<a>>>0){if(23===a)b=1}else\nif(2!==a)b=1;return b?1:0}function\ngG(e,d,c,b){var\na=c;for(;;){if(d<=a)throw p;if(ay(e,a)===b)return a;var\na=a+1|0;continue}}function\neC(a,b){return gG(a,k(a),0,b)}function\nkI(b,a,d){var\nc=k(b);if(0<=a&&!(c<a))try{gG(b,c,a,d);var\ne=1;return e}catch(a){a=C(a);if(a===p)return 0;throw a}return I(kJ)}function\ngH(b,a){return kI(b,0,a)}function\ndh(a){return O(eB(kw,au(a)))}function\ngI(a){return O(eB(cm,au(a)))}var\nkK=c9;function\ngJ(e,c,d,b,a){if(0<=a&&0<=c&&!((e.length-1-a|0)<c)&&0<=b&&!((d.length-1-a|0)<b))return zB(e,c,d,b,a);return I(kM)}function\ngK(e,c){var\nd=c.length-1;if(0===d)return[0];var\nf=aM(d,b(e,c[1])),g=d-1|0,h=1;if(!(g<1)){var\na=h;for(;;){f[1+a]=b(e,c[1+a]);var\ni=a+1|0;if(g!==a){var\na=i;continue}break}}return f}function\na0(f,e,a){var\nc=z_(f,e,a),d=0<=c?1:0,g=d?a[12]!==di?1:0:d;if(g){a[11]=a[12];var\nb=a[12];a[12]=[0,b[1],b[2],b[3],a[4]+a[6]|0]}return c}function\ngM(b,a){var\nc=b?b[1]:1,e=c?gL:di,f=c?gL:di,g=[0],h=1,i=0,j=0,l=0,m=0,n=0,o=k(a),d=ez(au(a));return[0,function(a){a[9]=1;return 0},d,o,n,m,l,j,i,h,g,f,e]}function\nJ(a){return dg(a[2],a[5],a[6]-a[5]|0)}function\neD(c,a,b){return dg(c[2],a,b-a|0)}function\ngN(d){function\nq(a){return a?a[4]:0}function\ne(b,e,a){var\nc=b?b[4]:0,d=a?a[4]:0,f=d<=c?c+1|0:d+1|0;return[0,b,e,a,f]}function\ng(b,f,a){var\ng=b?b[4]:0,h=a?a[4]:0;if((h+2|0)<g){if(b){var\nc=b[3],k=b[2],i=b[1],m=q(c);if(m<=q(i))return e(i,k,e(c,f,a));if(c){var\nn=c[2],o=c[1],p=e(c[3],f,a);return e(e(i,k,o),n,p)}return I(kN)}return I(kO)}if((g+2|0)<h){if(a){var\nj=a[3],l=a[2],d=a[1],r=q(d);if(r<=q(j))return e(e(b,f,d),l,j);if(d){var\ns=d[2],t=d[1],u=e(d[3],l,j);return e(e(b,f,t),s,u)}return I(kP)}return I(kQ)}var\nv=h<=g?g+1|0:h+1|0;return[0,b,f,a,v]}function\na(c,b){if(b){var\ne=b[3],h=b[2],i=b[1],j=f(d[1],c,h);if(0===j)return b;if(0<=j){var\nk=a(c,e);return e===k?b:g(i,h,k)}var\nl=a(c,i);return i===l?b:g(l,h,e)}return[0,0,c,0,1]}function\nh(a){return[0,0,a,0,1]}function\nE(b,a){if(a){var\nc=a[3],d=a[2];return g(E(b,a[1]),d,c)}return h(b)}function\nF(b,a){if(a){var\nc=a[2],d=a[1];return g(d,c,F(b,a[3]))}return h(b)}function\nc(b,d,a){if(b){if(a){var\nf=a[4],h=b[4],i=a[3],j=a[2],k=a[1],l=b[3],m=b[2],n=b[1];return(f+2|0)<h?g(n,m,c(l,d,a)):(h+2|0)<f?g(c(b,d,k),j,i):e(b,d,a)}return F(d,b)}return E(d,a)}function\nj(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return a[2]}throw p}}function\nG(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return[0,a[2]]}return 0}}function\nH(b){var\na=b;for(;;){if(a){if(a[3]){var\na=a[3];continue}return a[2]}throw p}}function\nT(b){var\na=b;for(;;){if(a){if(a[3]){var\na=a[3];continue}return[0,a[2]]}return 0}}function\nr(a){if(a){var\nb=a[1];if(b){var\nc=a[3],d=a[2];return g(r(b),d,c)}return a[3]}return I(kR)}function\nm(b,a){if(b){if(a){var\nd=r(a);return c(b,j(a),d)}return b}return a}function\ni(b,a){if(a){var\ne=a[3],g=a[2],h=a[1],l=f(d[1],b,g);if(0===l)return[0,h,1,e];if(0<=l){var\nj=i(b,e),m=j[3],n=j[2];return[0,c(h,g,j[1]),n,m]}var\nk=i(b,h),o=k[2],p=k[1];return[0,p,o,c(k[3],g,e)]}return kS}var\nu=0;function\nU(a){return a?0:1}function\nV(g,e){var\na=e;for(;;){if(a){var\nh=a[3],i=a[1],b=f(d[1],g,a[2]),c=0===b?1:0;if(c)return c;var\nj=0<=b?h:i,a=j;continue}return 0}}function\nv(e,b){if(b){var\na=b[3],h=b[2],c=b[1],i=f(d[1],e,h);if(0===i){if(c){if(a){var\nm=r(a);return g(c,j(a),m)}return c}return a}if(0<=i){var\nk=v(e,a);return a===k?b:g(c,h,k)}var\nl=v(e,c);return c===l?b:g(l,h,a)}return 0}function\nk(d,b){if(d){if(b){var\ng=b[4],e=b[2],h=d[4],f=d[2],m=b[3],n=b[1],o=d[3],p=d[1];if(g<=h){if(1===g)return a(e,d);var\nj=i(f,b),q=j[1],r=k(o,j[3]);return c(k(p,q),f,r)}if(1===h)return a(f,b);var\nl=i(e,d),s=l[1],t=k(l[3],m);return c(k(s,n),e,t)}return d}return b}function\nn(a,d){if(a){if(d){var\ne=a[3],f=a[2],g=a[1],b=i(f,d),h=b[1];if(b[2]){var\nj=n(e,b[3]);return c(n(g,h),f,j)}var\nk=n(e,b[3]);return m(n(g,h),k)}return 0}return 0}function\nw(e,a){if(a){var\nj=a[3],g=a[2],k=a[1],l=f(d[1],e,g);if(0===l)return 0;if(0<=l){var\nh=w(e,j);if(h){var\nm=h[2];return[0,c(k,g,h[1]),m]}return 0}var\ni=w(e,k);if(i){var\nn=i[2],o=i[1];return[0,o,function(a){return c(b(n,0),g,j)}]}return 0}return[0,0,function(a){return 0}]}function\nJ(g,f){var\na=g,c=f;for(;;){if(a&&c){var\nh=a[3],i=a[2],j=a[1];if(a===c)return 0;var\nd=w(i,c);if(d){var\nk=d[2],e=J(j,d[1]);if(e){var\na=h,c=b(k,0);continue}return e}return 0}return 1}}function\no(a,d){if(a){if(d){var\ne=a[3],f=a[2],g=a[1],b=i(f,d),h=b[1];if(b[2]){var\nj=o(e,b[3]);return m(o(g,h),j)}var\nk=o(e,b[3]);return c(o(g,h),f,k)}return a}return 0}function\nl(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[3],b],a=a[1],b=e;continue}return b}}function\nK(m,k){var\nn=l(k,0),b=l(m,0),a=n;for(;;){if(b){if(a){var\ne=a[3],g=a[2],h=b[3],i=b[2],c=f(d[1],b[1],a[1]);if(0===c){var\nj=l(g,e),b=l(i,h),a=j;continue}return c}return 1}return a?-1:0}}function\nW(b,a){return 0===K(b,a)?1:0}function\nt(o,n){var\na=o,b=n;for(;;){if(a){if(b){var\nh=b[3],i=b[1],c=a[3],e=a[2],g=a[1],j=f(d[1],e,b[2]);if(0===j){var\nk=t(g,i);if(k){var\na=c,b=h;continue}return k}if(0<=j){var\nl=t([0,0,e,c,0],h);if(l){var\na=g;continue}return l}var\nm=t([0,g,e,0,0],i);if(m){var\na=c;continue}return m}return 0}return 1}}function\nL(c,d){var\na=d;for(;;){if(a){var\ne=a[3],f=a[2];L(c,a[1]);b(c,f);var\na=e;continue}return 0}}function\nM(c,e,d){var\na=e,b=d;for(;;){if(a){var\ng=a[3],h=a[2],i=f(c,h,M(c,a[1],b)),a=g,b=i;continue}return b}}function\nN(c,g){var\na=g;for(;;){if(a){var\nh=a[3],i=a[1],d=b(c,a[2]);if(d){var\ne=N(c,i);if(e){var\na=h;continue}var\nf=e}else\nvar\nf=d;return f}return 1}}function\nO(c,g){var\na=g;for(;;){if(a){var\nh=a[3],i=a[1],d=b(c,a[2]);if(d)var\ne=d;else{var\nf=O(c,i);if(!f){var\na=h;continue}var\ne=f}return e}return 0}}function\nx(d,a){if(a){var\ng=a[3],h=a[2],i=a[1],e=x(d,i),j=b(d,h),f=x(d,g);if(j){if(i===e&&g===f)return a;return c(e,h,f)}return m(e,f)}return 0}function\ny(d,a){if(a){var\ne=a[2],l=a[3],f=y(d,a[1]),g=f[2],h=f[1],n=b(d,e),i=y(d,l),j=i[2],k=i[1];if(n){var\no=m(g,j);return[0,c(h,e,k),o]}var\np=c(g,e,j);return[0,m(h,k),p]}return kT}function\nz(a){if(a){var\nb=a[1],c=z(a[3]);return(z(b)+1|0)+c|0}return 0}function\nP(d,c){var\nb=d,a=c;for(;;){if(a){var\ne=a[2],f=a[1],b=[0,e,P(b,a[3])],a=f;continue}return b}}function\nX(a){return P(0,a)}function\nY(g,e){var\na=e;for(;;){if(a){var\nb=a[2],h=a[3],i=a[1],c=f(d[1],g,b);if(0===c)return b;var\nj=0<=c?h:i,a=j;continue}throw p}}function\nZ(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=l;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=i;continue}var\na=h;continue}return d}}var\nc=k;continue}throw p}}function\n_(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=l;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=i;continue}var\na=h;continue}return[0,d]}}var\nc=k;continue}return 0}}function\n$(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=k;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=h;continue}var\na=i;continue}return d}}var\nc=l;continue}throw p}}function\naa(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=k;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=h;continue}var\na=i;continue}return[0,d]}}var\nc=l;continue}return 0}}function\nab(g,e){var\na=e;for(;;){if(a){var\nb=a[2],h=a[3],i=a[1],c=f(d[1],g,b);if(0===c)return[0,b];var\nj=0<=c?h:i,a=j;continue}return 0}}function\nA(g,e,b){var\nh=0;if(0!==g){var\nm=H(g);if(0<=f(d[1],m,e))h=1}if(!h){var\ni=0;if(0!==b){var\nl=j(b);if(0<=f(d[1],e,l))i=1}if(!i)return c(g,e,b)}return k(g,a(e,b))}function\nB(c,a){if(a){var\nd=a[3],e=a[2],f=a[1],g=B(c,f),h=b(c,e),i=B(c,d);if(f===g&&e===h&&d===i)return a;return A(g,h,i)}return 0}function\nC(e,c){if(c){var\nf=c[3],g=c[2],h=c[1],d=C(e,h),i=b(e,g),a=C(e,f);if(i){var\nk=i[1];if(h===d&&g===k&&f===a)return c;return A(d,k,a)}if(d){if(a){var\nl=r(a);return A(d,j(a),l)}return d}return a}return 0}function\nac(c){if(c){var\nk=c[2],g=c[1];if(k){var\nl=k[2],i=k[1];if(l){var\nn=l[2],o=l[1];if(n){var\np=n[2],r=n[1];if(p){if(p[2]){var\nb=d[1],x=function(j,g){if(2===j){if(g){var\nn=g[2];if(n){var\no=n[1],k=g[1],J=n[2],y=f(b,k,o),K=0===y?[0,k,0]:0<y?[0,k,[0,o,0]]:[0,o,[0,k,0]];return[0,K,J]}}}else\nif(3===j&&g){var\np=g[2];if(p){var\nq=p[2];if(q){var\nc=q[1],a=p[1],d=g[1],N=q[2],D=f(b,d,a);if(0===D)var\nE=f(b,a,c),O=0===E?[0,a,0]:0<E?[0,a,[0,c,0]]:[0,c,[0,a,0]],r=O;else\nif(0<D){var\nF=f(b,a,c);if(0===F)var\ns=[0,d,[0,a,0]];else\nif(0<F)var\ns=[0,d,[0,a,[0,c,0]]];else\nvar\nG=f(b,d,c),P=0===G?[0,d,[0,a,0]]:0<G?[0,d,[0,c,[0,a,0]]]:[0,c,[0,d,[0,a,0]]],s=P;var\nr=s}else{var\nH=f(b,d,c);if(0===H)var\nt=[0,a,[0,d,0]];else\nif(0<H)var\nt=[0,a,[0,d,[0,c,0]]];else\nvar\nI=f(b,a,c),Q=0===I?[0,a,[0,d,0]]:0<I?[0,a,[0,c,[0,d,0]]]:[0,c,[0,a,[0,d,0]]],t=Q;var\nr=t}return[0,r,N]}}}var\nz=j>>1,A=m(z,g),L=A[1],B=m(j-z|0,A[2]),i=L,h=B[1],e=0,M=B[2];for(;;){if(i){if(h){var\nu=h[2],v=h[1],w=i[2],l=i[1],x=f(b,l,v);if(0===x){var\ni=w,h=u,e=[0,l,e];continue}if(0<=x){var\nh=u,e=[0,v,e];continue}var\ni=w,e=[0,l,e];continue}var\nC=cn(i,e)}else\nvar\nC=cn(h,e);return[0,C,M]}},m=function(j,g){if(2===j){if(g){var\nm=g[2];if(m){var\nn=m[1],k=g[1],J=m[2],y=f(b,k,n),K=0===y?[0,k,0]:0<=y?[0,n,[0,k,0]]:[0,k,[0,n,0]];return[0,K,J]}}}else\nif(3===j&&g){var\no=g[2];if(o){var\np=o[2];if(p){var\nc=p[1],a=o[1],d=g[1],N=p[2],D=f(b,d,a);if(0===D)var\nE=f(b,a,c),O=0===E?[0,a,0]:0<=E?[0,c,[0,a,0]]:[0,a,[0,c,0]],q=O;else\nif(0<=D){var\nF=f(b,d,c);if(0===F)var\nr=[0,a,[0,d,0]];else\nif(0<=F)var\nG=f(b,a,c),P=0===G?[0,a,[0,d,0]]:0<=G?[0,c,[0,a,[0,d,0]]]:[0,a,[0,c,[0,d,0]]],r=P;else\nvar\nr=[0,a,[0,d,[0,c,0]]];var\nq=r}else{var\nH=f(b,a,c);if(0===H)var\ns=[0,d,[0,a,0]];else\nif(0<=H)var\nI=f(b,d,c),Q=0===I?[0,d,[0,a,0]]:0<=I?[0,c,[0,d,[0,a,0]]]:[0,d,[0,c,[0,a,0]]],s=Q;else\nvar\ns=[0,d,[0,a,[0,c,0]]];var\nq=s}return[0,q,N]}}}var\nz=j>>1,A=x(z,g),L=A[1],B=x(j-z|0,A[2]),i=L,h=B[1],e=0,M=B[2];for(;;){if(i){if(h){var\nt=h[2],u=h[1],v=i[2],l=i[1],w=f(b,l,u);if(0===w){var\ni=v,h=t,e=[0,l,e];continue}if(0<w){var\ni=v,e=[0,l,e];continue}var\nh=t,e=[0,u,e];continue}var\nC=cn(i,e)}else\nvar\nC=cn(h,e);return[0,C,M]}},q=bh(c),t=2<=q?m(q,c)[1]:c,j=function(b,a){if(!(3<b>>>0))switch(b){case\n0:return[0,0,a];case\n1:if(a)return[0,[0,0,a[1],0,1],a[2]];break;case\n2:if(a){var\nd=a[2];if(d)return[0,[0,[0,0,a[1],0,1],d[1],0,2],d[2]]}break;default:if(a){var\nf=a[2];if(f){var\ng=f[2];if(g)return[0,[0,[0,0,a[1],0,1],f[1],[0,0,g[1],0,1],2],g[2]]}}}var\nh=b/2|0,i=j(h,a),c=i[2],l=i[1];if(c){var\nm=c[1],k=j((b-h|0)-1|0,c[2]),n=k[2];return[0,e(l,m,k[1]),n]}throw[0,s,kU]};return j(bh(t),t)[1]}var\nv=p[1];return a(v,a(r,a(o,a(i,h(g)))))}return a(r,a(o,a(i,h(g))))}return a(o,a(i,h(g)))}return a(i,h(g))}return h(g)}return u}function\nQ(c,b){return gx(function(c,b){return a(b,c)},b,c)}function\nad(a){return Q(a,u)}function\nD(a,d){if(a){var\nb=a[1],c=l(a[2],a[3]);return[0,b,function(a){return D(c,a)}]}return 0}function\nae(a){var\nb=l(a,0);return function(a){return D(b,a)}}function\nR(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[1],b],a=a[3],b=e;continue}return b}}function\nS(a,d){if(a){var\nb=a[1],c=R(a[2],a[3]);return[0,b,function(a){return S(c,a)}]}return 0}function\naf(a){var\nb=R(a,0);return function(a){return S(b,a)}}return[0,u,U,V,a,h,v,k,n,J,o,K,W,t,L,B,M,N,O,x,C,y,z,X,j,G,H,T,j,G,i,Y,ab,Z,_,$,aa,ac,function(j,i){var\na=i,b=0;for(;;){if(a){var\nc=a[3],e=a[2],k=a[1],g=f(d[1],e,j);if(0!==g){if(0<=g){var\na=k,b=[0,e,c,b];continue}var\na=c;continue}var\nh=[0,e,c,b]}else\nvar\nh=b;return function(a){return D(h,a)}}},ae,af,Q,ad]}function\ndj(g){function\nh(a){return a?a[5]:0}function\nd(b,f,e,a){var\nc=h(b),d=h(a),g=d<=c?c+1|0:d+1|0;return[0,b,f,e,a,g]}function\nq(b,a){return[0,0,b,a,0,1]}function\na(b,g,f,a){var\ni=b?b[5]:0,j=a?a[5]:0;if((j+2|0)<i){if(b){var\nc=b[4],m=b[3],n=b[2],k=b[1],q=h(c);if(q<=h(k))return d(k,n,m,d(c,g,f,a));if(c){var\nr=c[3],s=c[2],t=c[1],u=d(c[4],g,f,a);return d(d(k,n,m,t),s,r,u)}return I(kV)}return I(kW)}if((i+2|0)<j){if(a){var\nl=a[4],o=a[3],p=a[2],e=a[1],v=h(e);if(v<=h(l))return d(d(b,g,f,e),p,o,l);if(e){var\nw=e[3],x=e[2],y=e[1],z=d(e[4],p,o,l);return d(d(b,g,f,y),x,w,z)}return I(kX)}return I(kY)}var\nA=j<=i?i+1|0:j+1|0;return[0,b,g,f,a,A]}var\nC=0;function\nQ(a){return a?0:1}function\nm(d,c,b){if(b){var\ne=b[4],i=b[3],j=b[2],h=b[1],o=b[5],k=f(g[1],d,j);if(0===k)return i===c?b:[0,h,d,c,e,o];if(0<=k){var\nl=m(d,c,e);return e===l?b:a(h,j,i,l)}var\nn=m(d,c,h);return h===n?b:a(n,j,i,e)}return[0,0,d,c,0,1]}function\nR(d,c){var\na=c;for(;;){if(a){var\ne=a[4],h=a[3],i=a[1],b=f(g[1],d,a[2]);if(0===b)return h;var\nj=0<=b?e:i,a=j;continue}throw p}}function\nS(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=o;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=k;continue}var\na=i;continue}return[0,e,d]}}var\nc=m;continue}throw p}}function\nT(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=o;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=k;continue}var\na=i;continue}return[0,[0,e,d]]}}var\nc=m;continue}return 0}}function\nU(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=m;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=i;continue}var\na=k;continue}return[0,e,d]}}var\nc=o;continue}throw p}}function\nV(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=m;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=i;continue}var\na=k;continue}return[0,[0,e,d]]}}var\nc=o;continue}return 0}}function\nW(d,c){var\na=c;for(;;){if(a){var\ne=a[4],h=a[3],i=a[1],b=f(g[1],d,a[2]);if(0===b)return[0,h];var\nj=0<=b?e:i,a=j;continue}return 0}}function\nX(e,d){var\na=d;for(;;){if(a){var\nh=a[4],i=a[1],b=f(g[1],e,a[2]),c=0===b?1:0;if(c)return c;var\nj=0<=b?h:i,a=j;continue}return 0}}function\nn(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return[0,a[2],a[3]]}throw p}}function\nD(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return[0,[0,a[2],a[3]]]}return 0}}function\nY(b){var\na=b;for(;;){if(a){if(a[4]){var\na=a[4];continue}return[0,a[2],a[3]]}throw p}}function\nZ(b){var\na=b;for(;;){if(a){if(a[4]){var\na=a[4];continue}return[0,[0,a[2],a[3]]]}return 0}}function\nr(b){if(b){var\nc=b[1];if(c){var\nd=b[4],e=b[3],f=b[2];return a(r(c),f,e,d)}return b[4]}return I(kZ)}function\nE(c,b){if(c){if(b){var\nd=n(b),e=d[2],f=d[1];return a(c,f,e,r(b))}return c}return b}function\nt(e,b){if(b){var\nc=b[4],i=b[3],h=b[2],d=b[1],j=f(g[1],e,h);if(0===j)return E(d,c);if(0<=j){var\nk=t(e,c);return c===k?b:a(d,h,i,k)}var\nl=t(e,d);return d===l?b:a(l,h,i,c)}return 0}function\nu(d,i,c){if(c){var\ne=c[4],j=c[3],k=c[2],h=c[1],r=c[5],l=f(g[1],d,k);if(0===l){var\nm=b(i,[0,j]);if(m){var\nn=m[1];return j===n?c:[0,h,d,n,e,r]}return E(h,e)}if(0<=l){var\no=u(d,i,e);return e===o?c:a(h,k,j,o)}var\np=u(d,i,h);return h===p?c:a(p,k,j,e)}var\nq=b(i,0);return q?[0,0,d,q[1],0,1]:0}function\nF(b,c){var\na=c;for(;;){if(a){var\nd=a[4],e=a[3],g=a[2];F(b,a[1]);f(b,g,e);var\na=d;continue}return 0}}function\nv(c,a){if(a){var\nd=a[5],e=a[4],f=a[3],g=a[2],h=v(c,a[1]),i=b(c,f);return[0,h,g,i,v(c,e),d]}return 0}function\nw(b,a){if(a){var\nc=a[2],d=a[5],e=a[4],g=a[3],h=w(b,a[1]),i=f(b,c,g);return[0,h,c,i,w(b,e),d]}return 0}function\nG(c,e,d){var\na=e,b=d;for(;;){if(a){var\nf=a[4],g=a[3],h=a[2],i=aJ(c,h,g,G(c,a[1],b)),a=f,b=i;continue}return b}}function\nH(b,g){var\na=g;for(;;){if(a){var\nh=a[4],i=a[1],c=f(b,a[2],a[3]);if(c){var\nd=H(b,i);if(d){var\na=h;continue}var\ne=d}else\nvar\ne=c;return e}return 1}}function\nJ(b,g){var\na=g;for(;;){if(a){var\nh=a[4],i=a[1],c=f(b,a[2],a[3]);if(c)var\nd=c;else{var\ne=J(b,i);if(!e){var\na=h;continue}var\nd=e}return d}return 0}}function\nK(d,c,b){if(b){var\ne=b[4],f=b[3],g=b[2];return a(K(d,c,b[1]),g,f,e)}return q(d,c)}function\nL(d,c,b){if(b){var\ne=b[3],f=b[2],g=b[1];return a(g,f,e,L(d,c,b[4]))}return q(d,c)}function\nc(e,g,f,b){if(e){if(b){var\nh=b[5],i=e[5],j=b[4],k=b[3],l=b[2],m=b[1],n=e[4],o=e[3],p=e[2],q=e[1];return(h+2|0)<i?a(q,p,o,c(n,g,f,b)):(i+2|0)<h?a(c(e,g,f,m),l,k,j):d(e,g,f,b)}return L(g,f,e)}return K(g,f,b)}function\nj(b,a){if(b){if(a){var\nd=n(a),e=d[2],f=d[1];return c(b,f,e,r(a))}return b}return a}function\no(d,e,b,a){return b?c(d,e,b[1],a):j(d,a)}function\ni(b,a){if(a){var\nd=a[4],e=a[3],h=a[2],j=a[1],m=f(g[1],b,h);if(0===m)return[0,j,[0,e],d];if(0<=m){var\nk=i(b,d),n=k[3],o=k[2];return[0,c(j,h,e,k[1]),o,n]}var\nl=i(b,j),p=l[2],q=l[1];return[0,q,p,c(l[3],h,e,d)]}return k0}function\nk(c,b,a){if(b){var\nd=b[2],j=b[5],l=b[4],m=b[3],n=b[1];if(h(a)<=j){var\ne=i(d,a),p=e[2],q=e[1],r=k(c,l,e[3]),t=aJ(c,d,[0,m],p);return o(k(c,n,q),d,t,r)}}else\nif(!a)return 0;if(a){var\nf=a[2],u=a[4],v=a[3],w=a[1],g=i(f,b),x=g[2],y=g[1],z=k(c,g[3],u),A=aJ(c,f,x,[0,v]);return o(k(c,y,w),f,A,z)}throw[0,s,k1]}function\nl(d,b,a){if(b){if(a){var\nj=a[3],e=a[2],k=b[3],f=b[2],u=a[4],v=a[1],w=b[4],x=b[1];if(a[5]<=b[5]){var\ng=i(f,a),m=g[2],y=g[3],n=l(d,x,g[1]),p=l(d,w,y);return m?o(n,f,aJ(d,f,k,m[1]),p):c(n,f,k,p)}var\nh=i(e,b),q=h[2],z=h[3],r=l(d,h[1],v),s=l(d,z,u);return q?o(r,e,aJ(d,e,q[1],j),s):c(r,e,j,s)}var\nt=b}else\nvar\nt=a;return t}function\nx(b,a){if(a){var\ng=a[4],h=a[3],i=a[2],k=a[1],d=x(b,k),l=f(b,i,h),e=x(b,g);if(l){if(k===d&&g===e)return a;return c(d,i,h,e)}return j(d,e)}return 0}function\ny(b,a){if(a){var\nd=a[2],i=a[4],k=a[3],e=y(b,a[1]),g=f(b,d,k),h=y(b,i);return g?c(e,d,g[1],h):j(e,h)}return 0}function\nz(b,a){if(a){var\nd=a[3],e=a[2],n=a[4],g=z(b,a[1]),h=g[2],i=g[1],o=f(b,e,d),k=z(b,n),l=k[2],m=k[1];if(o){var\np=j(h,l);return[0,c(i,e,d,m),p]}var\nq=c(h,e,d,l);return[0,j(i,m),q]}return k2}function\ne(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[3],a[4],b],a=a[1],b=e;continue}return b}}function\n_(j,i,h){var\nr=e(h,0),b=e(i,0),a=r;for(;;){if(b){if(a){var\nk=a[4],l=a[3],m=a[2],n=b[4],o=b[3],p=b[2],c=f(g[1],b[1],a[1]);if(0===c){var\nd=f(j,p,m);if(0===d){var\nq=e(l,k),b=e(o,n),a=q;continue}return d}return c}return 1}return a?-1:0}}function\n$(k,j,i){var\ns=e(i,0),b=e(j,0),a=s;for(;;){if(b){if(a){var\nl=a[4],m=a[3],n=a[2],o=b[4],p=b[3],q=b[2],c=0===f(g[1],b[1],a[1])?1:0;if(c){var\nd=f(k,q,n);if(d){var\nr=e(m,l),b=e(p,o),a=r;continue}var\nh=d}else\nvar\nh=c;return h}return 0}return a?0:1}}function\nA(a){if(a){var\nb=a[1],c=A(a[4]);return(A(b)+1|0)+c|0}return 0}function\nM(d,c){var\nb=d,a=c;for(;;){if(a){var\ne=a[3],f=a[2],g=a[1],b=[0,[0,f,e],M(b,a[4])],a=g;continue}return b}}function\naa(a){return M(0,a)}function\nN(b,a){return gx(function(b,a){return m(a[1],a[2],b)},a,b)}function\nab(a){return N(a,C)}function\nB(a,f){if(a){var\nb=a[2],c=a[1],d=e(a[3],a[4]);return[0,[0,c,b],function(a){return B(d,a)}]}return 0}function\nac(a){var\nb=e(a,0);return function(a){return B(b,a)}}function\nO(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[3],a[1],b],a=a[4],b=e;continue}return b}}function\nP(a,e){if(a){var\nb=a[2],c=a[1],d=O(a[3],a[4]);return[0,[0,c,b],function(a){return P(d,a)}]}return 0}function\nad(a){var\nb=O(a,0);return function(a){return P(b,a)}}return[0,C,Q,X,m,u,q,t,k,l,_,$,F,G,H,J,x,y,z,A,aa,n,D,Y,Z,n,D,i,R,W,S,T,U,V,v,w,ac,ad,function(k,j){var\na=j,b=0;for(;;){if(a){var\nc=a[4],e=a[3],d=a[2],l=a[1],h=f(g[1],d,k);if(0!==h){if(0<=h){var\na=l,b=[0,d,e,c,b];continue}var\na=c;continue}var\ni=[0,d,e,c,b]}else\nvar\ni=b;return function(a){return B(i,a)}}},N,ab]}var\neE=[A,k3,be(0)];function\ngO(a){return[0,0,0]}function\neF(b,a){a[1]=[0,b,a[1]];a[2]=a[2]+1|0;return 0}function\ncp(a){var\nb=a[1];if(b){var\nc=b[1];a[1]=b[2];a[2]=a[2]-1|0;return c}throw eE}function\nk4(b,a){return bT(b,a[1])}function\ngP(a){var\nb=1<=a?a:1,c=cj<b?cj:b,d=D(c);return[0,d,0,c,d]}function\ngQ(a){return dg(a[1],0,a[2])}function\ngR(a,c){var\nd=a[2],b=[0,a[3]];for(;;){if(b[1]<(d+c|0)){b[1]=2*b[1]|0;continue}if(cj<b[1])if((d+c|0)<=cj)b[1]=cj;else\nch(k7);var\ne=D(b[1]);gC(a[1],0,e,0,a[2]);a[1]=e;a[3]=b[1];if((a[2]+c|0)<=a[3]){if((d+c|0)<=a[3])return 0;throw[0,s,k5]}throw[0,s,k6]}}function\nbU(a,c){var\nb=k(c),d=a[2]+b|0;if(a[3]<d)gR(a,b);bd(c,0,a[1],a[2],b);a[2]=d;return 0}function\neG(a){return 5===a[2]?12:-6}function\ngS(a){return[0,0,D(a)]}function\ngT(a,g){var\nb=ax(a[2]),c=a[1]+g|0,d=b<c?1:0;if(d){var\ne=D(de(b*2|0,c));gC(a[2],0,e,0,b);a[2]=e;var\nf=0}else\nvar\nf=d;return f}function\nbV(a,b){gT(a,1);aL(a[2],a[1],b);a[1]=a[1]+1|0;return 0}function\nS(a,c){var\nb=k(c);gT(a,b);aZ(c,0,a[2],a[1],b);a[1]=a[1]+b|0;return 0}function\ngU(a){return dg(a[2],0,a[1])}function\ngV(a){if(typeof\na===\"number\")switch(a){case\n0:return k8;case\n1:return k9;case\n2:return k_;case\n3:return k$;case\n4:return la;case\n5:return lb;default:return lc}else\nswitch(a[0]){case\n0:return a[1];case\n1:return a[1];default:return h(ld,gE(1,a[1]))}}function\neH(b,c){var\na=c;for(;;)if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:var\nd=a[1];S(b,le);var\na=d;continue;case\n1:var\ne=a[1];S(b,lf);var\na=e;continue;case\n2:var\nf=a[1];S(b,lg);var\na=f;continue;case\n3:var\ng=a[1];S(b,lh);var\na=g;continue;case\n4:var\nh=a[1];S(b,li);var\na=h;continue;case\n5:var\ni=a[1];S(b,lj);var\na=i;continue;case\n6:var\nj=a[1];S(b,lk);var\na=j;continue;case\n7:var\nk=a[1];S(b,ll);var\na=k;continue;case\n8:var\nl=a[2],m=a[1];S(b,lm);eH(b,m);S(b,ln);var\na=l;continue;case\n9:var\nn=a[3],o=a[1];S(b,lo);eH(b,o);S(b,lp);var\na=n;continue;case\n10:var\np=a[1];S(b,lq);var\na=p;continue;case\n11:var\nq=a[1];S(b,lr);var\na=q;continue;case\n12:var\nr=a[1];S(b,ls);var\na=r;continue;case\n13:var\ns=a[1];S(b,lt);var\na=s;continue;default:var\nt=a[1];S(b,lu);var\na=t;continue}}function\nK(a){if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:return[0,K(a[1])];case\n1:return[1,K(a[1])];case\n2:return[2,K(a[1])];case\n3:return[3,K(a[1])];case\n4:return[4,K(a[1])];case\n5:return[5,K(a[1])];case\n6:return[6,K(a[1])];case\n7:return[7,K(a[1])];case\n8:var\nb=a[1];return[8,b,K(a[2])];case\n9:var\nc=a[2],d=a[1];return[9,c,d,K(a[3])];case\n10:return[10,K(a[1])];case\n11:return[11,K(a[1])];case\n12:return[12,K(a[1])];case\n13:return[13,K(a[1])];default:return[14,K(a[1])]}}function\nT(a){if(typeof\na===\"number\"){var\ns=function(a){return 0},t=function(a){return 0},u=function(a){return 0};return[0,function(a){return 0},u,t,s]}else\nswitch(a[0]){case\n0:var\nc=T(a[1]),v=c[4],w=c[3],x=c[2],y=c[1],z=function(a){b(x,0);return 0};return[0,function(a){b(y,0);return 0},z,w,v];case\n1:var\nd=T(a[1]),A=d[4],B=d[3],C=d[2],D=d[1],E=function(a){b(C,0);return 0};return[0,function(a){b(D,0);return 0},E,B,A];case\n2:var\ne=T(a[1]),F=e[4],G=e[3],H=e[2],I=e[1],J=function(a){b(H,0);return 0};return[0,function(a){b(I,0);return 0},J,G,F];case\n3:var\nf=T(a[1]),L=f[4],N=f[3],O=f[2],P=f[1],Q=function(a){b(O,0);return 0};return[0,function(a){b(P,0);return 0},Q,N,L];case\n4:var\ng=T(a[1]),R=g[4],S=g[3],U=g[2],V=g[1],W=function(a){b(U,0);return 0};return[0,function(a){b(V,0);return 0},W,S,R];case\n5:var\nh=T(a[1]),X=h[4],Y=h[3],Z=h[2],_=h[1],$=function(a){b(Z,0);return 0};return[0,function(a){b(_,0);return 0},$,Y,X];case\n6:var\ni=T(a[1]),aa=i[4],ab=i[3],ac=i[2],ad=i[1],ae=function(a){b(ac,0);return 0};return[0,function(a){b(ad,0);return 0},ae,ab,aa];case\n7:var\nj=T(a[1]),af=j[4],ag=j[3],ah=j[2],ai=j[1],aj=function(a){b(ah,0);return 0};return[0,function(a){b(ai,0);return 0},aj,ag,af];case\n8:var\nk=T(a[2]),ak=k[4],al=k[3],am=k[2],an=k[1],ao=function(a){b(am,0);return 0};return[0,function(a){b(an,0);return 0},ao,al,ak];case\n9:var\nap=a[2],aq=a[1],l=T(a[3]),ar=l[4],as=l[3],at=l[2],au=l[1],m=T(M(K(aq),ap)),av=m[4],aw=m[3],ax=m[2],ay=m[1],az=function(a){b(av,0);b(ar,0);return 0},aA=function(a){b(as,0);b(aw,0);return 0},aB=function(a){b(ax,0);b(at,0);return 0};return[0,function(a){b(au,0);b(ay,0);return 0},aB,aA,az];case\n10:var\nn=T(a[1]),aC=n[4],aD=n[3],aE=n[2],aF=n[1],aG=function(a){b(aE,0);return 0};return[0,function(a){b(aF,0);return 0},aG,aD,aC];case\n11:var\no=T(a[1]),aH=o[4],aI=o[3],aJ=o[2],aK=o[1],aL=function(a){b(aJ,0);return 0};return[0,function(a){b(aK,0);return 0},aL,aI,aH];case\n12:var\np=T(a[1]),aM=p[4],aN=p[3],aO=p[2],aP=p[1],aQ=function(a){b(aO,0);return 0};return[0,function(a){b(aP,0);return 0},aQ,aN,aM];case\n13:var\nq=T(a[1]),aR=q[4],aS=q[3],aT=q[2],aU=q[1],aV=function(a){b(aR,0);return 0},aW=function(a){b(aS,0);return 0},aX=function(a){b(aT,0);return 0};return[0,function(a){b(aU,0);return 0},aX,aW,aV];default:var\nr=T(a[1]),aY=r[4],aZ=r[3],a0=r[2],a1=r[1],a2=function(a){b(aY,0);return 0},a3=function(a){b(aZ,0);return 0},a4=function(a){b(a0,0);return 0};return[0,function(a){b(a1,0);return 0},a4,a3,a2]}}function\nM(d,c){var\na=0;if(typeof\nd===\"number\")if(typeof\nc===\"number\")return 0;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;case\n8:a=5;break;case\n9:a=6;break;default:throw[0,s,lv]}else\nswitch(d[0]){case\n0:var\ne=0,u=d[1];if(typeof\nc!==\"number\")switch(c[0]){case\n0:return[0,M(u,c[1])];case\n8:a=5;e=1;break;case\n9:a=6;e=1;break;case\n10:e=1;break;case\n11:a=1;e=1;break;case\n12:a=2;e=1;break;case\n13:a=3;e=1;break;case\n14:a=4;e=1;break}if(!e)a=7;break;case\n1:var\nf=0,v=d[1];if(typeof\nc!==\"number\")switch(c[0]){case\n1:return[1,M(v,c[1])];case\n8:a=5;f=1;break;case\n9:a=6;f=1;break;case\n10:f=1;break;case\n11:a=1;f=1;break;case\n12:a=2;f=1;break;case\n13:a=3;f=1;break;case\n14:a=4;f=1;break}if(!f)a=7;break;case\n2:var\ng=0,w=d[1];if(typeof\nc===\"number\")g=1;else\nswitch(c[0]){case\n2:return[2,M(w,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:g=1}if(g)a=7;break;case\n3:var\nh=0,x=d[1];if(typeof\nc===\"number\")h=1;else\nswitch(c[0]){case\n3:return[3,M(x,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:h=1}if(h)a=7;break;case\n4:var\ni=0,y=d[1];if(typeof\nc===\"number\")i=1;else\nswitch(c[0]){case\n4:return[4,M(y,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:i=1}if(i)a=7;break;case\n5:var\nj=0,z=d[1];if(typeof\nc===\"number\")j=1;else\nswitch(c[0]){case\n5:return[5,M(z,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:j=1}if(j)a=7;break;case\n6:var\nk=0,A=d[1];if(typeof\nc===\"number\")k=1;else\nswitch(c[0]){case\n6:return[6,M(A,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:k=1}if(k)a=7;break;case\n7:var\nl=0,B=d[1];if(typeof\nc===\"number\")l=1;else\nswitch(c[0]){case\n7:return[7,M(B,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:l=1}if(l)a=7;break;case\n8:var\nm=0,C=d[2],D=d[1];if(typeof\nc===\"number\")m=1;else\nswitch(c[0]){case\n8:var\nE=c[1],F=M(C,c[2]);return[8,M(D,E),F];case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:m=1}if(m)throw[0,s,lE];break;case\n9:var\nn=0,G=d[3],H=d[2],I=d[1];if(typeof\nc===\"number\")n=1;else\nswitch(c[0]){case\n8:a=5;break;case\n9:var\nJ=c[3],L=c[2],N=c[1],t=T(M(K(H),N)),O=t[4];b(t[2],0);b(O,0);return[9,I,L,M(G,J)];case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:n=1}if(n)throw[0,s,lF];break;case\n10:var\nP=d[1];if(typeof\nc!==\"number\"&&10===c[0])return[10,M(P,c[1])];throw[0,s,lG];case\n11:var\no=0,Q=d[1];if(typeof\nc===\"number\")o=1;else\nswitch(c[0]){case\n10:break;case\n11:return[11,M(Q,c[1])];default:o=1}if(o)throw[0,s,lH];break;case\n12:var\np=0,R=d[1];if(typeof\nc===\"number\")p=1;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:return[12,M(R,c[1])];default:p=1}if(p)throw[0,s,lI];break;case\n13:var\nq=0,S=d[1];if(typeof\nc===\"number\")q=1;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:return[13,M(S,c[1])];default:q=1}if(q)throw[0,s,lJ];break;default:var\nr=0,U=d[1];if(typeof\nc===\"number\")r=1;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:return[14,M(U,c[1])];default:r=1}if(r)throw[0,s,lK]}switch(a){case\n0:throw[0,s,ly];case\n1:throw[0,s,lz];case\n2:throw[0,s,lA];case\n3:throw[0,s,lB];case\n4:throw[0,s,lC];case\n5:throw[0,s,lw];case\n6:throw[0,s,lx];default:throw[0,s,lD]}}var\nP=[A,lL,be(0)];function\ndk(b,a){if(typeof\nb===\"number\")return[0,0,a];else{if(0===b[0])return[0,[0,b[1],b[2]],a];if(typeof\na!==\"number\"&&2===a[0])return[0,[1,b[1]],a[1]];throw P}}function\ncq(e,b,d){var\na=dk(e,d);if(typeof\nb===\"number\"){if(b){var\nc=a[2];if(typeof\nc!==\"number\"&&2===c[0])return[0,a[1],1,c[1]];throw P}return[0,a[1],0,a[2]]}return[0,a[1],[0,b[1]],a[2]]}function\nac(c,d,a){if(typeof\nc===\"number\")return[0,0,u(d,a)];else\nswitch(c[0]){case\n0:if(typeof\na!==\"number\"&&0===a[0]){var\ng=ac(c[1],d,a[1]);return[0,[0,g[1]],g[2]]}break;case\n1:if(typeof\na!==\"number\"&&1===a[0]){var\nh=ac(c[1],d,a[1]);return[0,[1,h[1]],h[2]]}break;case\n2:if(typeof\na!==\"number\"&&2===a[0]){var\ni=ac(c[1],d,a[1]);return[0,[2,i[1]],i[2]]}break;case\n3:if(typeof\na!==\"number\"&&3===a[0]){var\nj=ac(c[1],d,a[1]);return[0,[3,j[1]],j[2]]}break;case\n4:if(typeof\na!==\"number\"&&4===a[0]){var\nk=ac(c[1],d,a[1]);return[0,[4,k[1]],k[2]]}break;case\n5:if(typeof\na!==\"number\"&&5===a[0]){var\nl=ac(c[1],d,a[1]);return[0,[5,l[1]],l[2]]}break;case\n6:if(typeof\na!==\"number\"&&6===a[0]){var\nm=ac(c[1],d,a[1]);return[0,[6,m[1]],m[2]]}break;case\n7:if(typeof\na!==\"number\"&&7===a[0]){var\nn=ac(c[1],d,a[1]);return[0,[7,n[1]],n[2]]}break;case\n8:if(typeof\na!==\"number\"&&8===a[0]){var\no=a[1],x=a[2],y=c[2];if(bQ([0,c[1]],[0,o]))throw P;var\np=ac(y,d,x);return[0,[8,o,p[1]],p[2]]}break;case\n9:if(typeof\na!==\"number\"&&9===a[0]){var\ne=a[2],f=a[1],z=a[3],A=c[3],B=c[2],C=c[1],D=[0,E(f)];if(bQ([0,E(C)],D))throw P;var\nF=[0,E(e)];if(bQ([0,E(B)],F))throw P;var\nq=T(M(K(f),e)),G=q[4];b(q[2],0);b(G,0);var\nr=ac(E(A),d,z),H=r[2];return[0,[9,f,e,K(r[1])],H]}break;case\n10:if(typeof\na!==\"number\"&&10===a[0]){var\ns=ac(c[1],d,a[1]);return[0,[10,s[1]],s[2]]}break;case\n11:if(typeof\na!==\"number\"&&11===a[0]){var\nt=ac(c[1],d,a[1]);return[0,[11,t[1]],t[2]]}break;case\n13:if(typeof\na!==\"number\"&&13===a[0]){var\nv=ac(c[1],d,a[1]);return[0,[13,v[1]],v[2]]}break;case\n14:if(typeof\na!==\"number\"&&14===a[0]){var\nw=ac(c[1],d,a[1]);return[0,[14,w[1]],w[2]]}break}throw P}function\nu(b,a){if(typeof\nb===\"number\")return[0,0,a];else\nswitch(b[0]){case\n0:if(typeof\na!==\"number\"&&0===a[0]){var\ns=u(b[1],a[1]);return[0,[0,s[1]],s[2]]}break;case\n1:if(typeof\na!==\"number\"&&0===a[0]){var\nt=u(b[1],a[1]);return[0,[1,t[1]],t[2]]}break;case\n2:var\nae=b[2],v=dk(b[1],a),e=v[2],af=v[1];if(typeof\ne!==\"number\"&&1===e[0]){var\nw=u(ae,e[1]);return[0,[2,af,w[1]],w[2]]}throw P;case\n3:var\nag=b[2],x=dk(b[1],a),f=x[2],ah=x[1];if(typeof\nf!==\"number\"&&1===f[0]){var\ny=u(ag,f[1]);return[0,[3,ah,y[1]],y[2]]}throw P;case\n4:var\nai=b[4],aj=b[1],g=cq(b[2],b[3],a),h=g[3],al=g[1];if(typeof\nh!==\"number\"&&2===h[0]){var\nam=g[2],z=u(ai,h[1]);return[0,[4,aj,al,am,z[1]],z[2]]}throw P;case\n5:var\nan=b[4],ao=b[1],i=cq(b[2],b[3],a),j=i[3],ap=i[1];if(typeof\nj!==\"number\"&&3===j[0]){var\naq=i[2],A=u(an,j[1]);return[0,[5,ao,ap,aq,A[1]],A[2]]}throw P;case\n6:var\nar=b[4],as=b[1],k=cq(b[2],b[3],a),l=k[3],at=k[1];if(typeof\nl!==\"number\"&&4===l[0]){var\nau=k[2],B=u(ar,l[1]);return[0,[6,as,at,au,B[1]],B[2]]}throw P;case\n7:var\nav=b[4],aw=b[1],m=cq(b[2],b[3],a),n=m[3],ax=m[1];if(typeof\nn!==\"number\"&&5===n[0]){var\nay=m[2],C=u(av,n[1]);return[0,[7,aw,ax,ay,C[1]],C[2]]}throw P;case\n8:var\naz=b[4],aA=b[1],o=cq(b[2],b[3],a),p=o[3],aB=o[1];if(typeof\np!==\"number\"&&6===p[0]){var\naC=o[2],D=u(az,p[1]);return[0,[8,aA,aB,aC,D[1]],D[2]]}throw P;case\n9:var\naD=b[2],F=dk(b[1],a),q=F[2],aE=F[1];if(typeof\nq!==\"number\"&&7===q[0]){var\nG=u(aD,q[1]);return[0,[9,aE,G[1]],G[2]]}throw P;case\n10:var\nH=u(b[1],a);return[0,[10,H[1]],H[2]];case\n11:var\naF=b[1],I=u(b[2],a);return[0,[11,aF,I[1]],I[2]];case\n12:var\naG=b[1],J=u(b[2],a);return[0,[12,aG,J[1]],J[2]];case\n13:if(typeof\na!==\"number\"&&8===a[0]){var\nK=a[1],aH=a[2],aI=b[3],aJ=b[1];if(bQ([0,b[2]],[0,K]))throw P;var\nL=u(aI,aH);return[0,[13,aJ,K,L[1]],L[2]]}break;case\n14:if(typeof\na!==\"number\"&&9===a[0]){var\nM=a[1],aK=a[3],aL=b[3],aM=b[2],aN=b[1],aO=[0,E(M)];if(bQ([0,E(aM)],aO))throw P;var\nN=u(aL,E(aK));return[0,[14,aN,M,N[1]],N[2]]}break;case\n15:if(typeof\na!==\"number\"&&10===a[0]){var\nO=u(b[1],a[1]);return[0,[15,O[1]],O[2]]}break;case\n16:if(typeof\na!==\"number\"&&11===a[0]){var\nQ=u(b[1],a[1]);return[0,[16,Q[1]],Q[2]]}break;case\n17:var\naP=b[1],R=u(b[2],a);return[0,[17,aP,R[1]],R[2]];case\n18:var\nS=b[2],r=b[1];if(0===r[0]){var\nW=r[1],aT=W[2],X=u(W[1],a),aU=X[1],Y=u(S,X[2]);return[0,[18,[0,[0,aU,aT]],Y[1]],Y[2]]}var\nZ=r[1],aV=Z[2],_=u(Z[1],a),aW=_[1],$=u(S,_[2]);return[0,[18,[1,[0,aW,aV]],$[1]],$[2]];case\n19:if(typeof\na!==\"number\"&&13===a[0]){var\nT=u(b[1],a[1]);return[0,[19,T[1]],T[2]]}break;case\n20:if(typeof\na!==\"number\"&&1===a[0]){var\naQ=b[2],aR=b[1],U=u(b[3],a[1]);return[0,[20,aR,aQ,U[1]],U[2]]}break;case\n21:if(typeof\na!==\"number\"&&2===a[0]){var\naS=b[1],V=u(b[2],a[1]);return[0,[21,aS,V[1]],V[2]]}break;case\n23:var\nd=b[2],c=b[1];if(typeof\nc===\"number\")switch(c){case\n0:return ak(c,d,a);case\n1:return ak(c,d,a);case\n2:if(typeof\na!==\"number\"&&14===a[0]){var\naa=u(d,a[1]);return[0,[23,2,aa[1]],aa[2]]}throw P;default:return ak(c,d,a)}else\nswitch(c[0]){case\n0:return ak(c,d,a);case\n1:return ak(c,d,a);case\n2:return ak(c,d,a);case\n3:return ak(c,d,a);case\n4:return ak(c,d,a);case\n5:return ak(c,d,a);case\n6:return ak(c,d,a);case\n7:return ak(c,d,a);case\n8:return ak([8,c[1],c[2]],d,a);case\n9:var\naX=c[1],ab=ac(c[2],d,a),ad=ab[2];return[0,[23,[9,aX,ab[1]],ad[1]],ad[2]];case\n10:return ak(c,d,a);default:return ak(c,d,a)}}throw P}function\nak(d,c,b){var\na=u(c,b);return[0,[23,d,a[1]],a[2]]}function\nal(l,g,a){var\nb=k(a),h=0<=g?l:0,d=dc(g);if(d<=b)return a;var\nm=2===h?48:32,c=aN(d,m);switch(h){case\n0:aZ(a,0,c,0,b);break;case\n1:aZ(a,0,c,d-b|0,b);break;default:var\ne=0;if(0<b){var\ni=0;if(43!==B(a,0)&&45!==B(a,0)&&32!==B(a,0)){e=1;i=1}if(!i){aL(c,0,B(a,0));aZ(a,1,c,(d-b|0)+1|0,b-1|0)}}else\ne=1;if(e){var\nf=0;if(1<b&&48===B(a,0)){var\nj=0;if(iu!==B(a,1)&&88!==B(a,1)){f=1;j=1}if(!j){aL(c,1,B(a,1));aZ(a,2,c,(d-b|0)+2|0,b-2|0)}}else\nf=1;if(f)aZ(a,0,c,d-b|0,b)}}return O(c)}function\nbW(l,b){var\nc=dc(l),a=k(b),d=B(b,0),e=0;if(58<=d){if(71<=d){if(!(5<d+i$>>>0))e=1}else\nif(65<=d)e=1}else{var\nf=0;if(32!==d)if(43<=d)switch(d-43|0){case\n5:if(a<(c+2|0)&&1<a){var\nj=0;if(iu===B(b,1)||88===B(b,1))j=1;if(j){var\nh=aN(c+2|0,48);aL(h,1,B(b,1));aZ(b,2,h,(c-a|0)+4|0,a-2|0);return O(h)}}e=1;f=1;break;case\n0:case\n2:break;case\n1:case\n3:case\n4:f=1;break;default:e=1;f=1}else\nf=1;if(!f&&a<(c+1|0)){var\ng=aN(c+1|0,48);aL(g,0,d);aZ(b,1,g,(c-a|0)+2|0,a-1|0);return O(g)}}if(e&&a<c){var\ni=aN(c,48);aZ(b,0,i,c-a|0,a);return O(i)}return b}function\nlM(l){var\nj=0,B=k(l);for(;;){if(B<=j)var\np=l;else{var\no=ay(l,j)+fW|0,q=0;if(59<o>>>0){if(33<o-61>>>0)q=1}else\nif(2===o)q=1;if(!q){var\nj=j+1|0;continue}var\ne=au(l),a=[0,0],s=ax(e)-1|0,x=0;if(!(s<0)){var\ni=x;for(;;){var\nf=bL(e,i),g=0;if(32<=f){var\nm=f-34|0,r=0;if(58<m>>>0){if(93<=m)r=1}else\nif(56<m-1>>>0){g=1;r=1}if(!r){var\nn=1;g=2}}else\nif(11<=f){if(13===f)g=1}else\nif(8<=f)g=1;switch(g){case\n0:var\nn=4;break;case\n1:var\nn=2;break}a[1]=a[1]+n|0;var\nA=i+1|0;if(s!==i){var\ni=A;continue}break}}if(a[1]===ax(e))var\nu=ez(e);else{var\nb=D(a[1]);a[1]=0;var\nt=ax(e)-1|0,y=0;if(!(t<0)){var\nh=y;for(;;){var\nc=bL(e,h),d=0;if(35<=c)if(92===c)d=2;else\nif(cI<=c)d=1;else\nd=3;else\nif(32<=c)if(34<=c)d=2;else\nd=3;else\nif(14<=c)d=1;else\nswitch(c){case\n8:H(b,a[1],92);a[1]++;H(b,a[1],98);break;case\n9:H(b,a[1],92);a[1]++;H(b,a[1],116);break;case\n10:H(b,a[1],92);a[1]++;H(b,a[1],110);break;case\n13:H(b,a[1],92);a[1]++;H(b,a[1],114);break;default:d=1}switch(d){case\n1:H(b,a[1],92);a[1]++;H(b,a[1],48+(c/fR|0)|0);a[1]++;H(b,a[1],48+((c/10|0)%10|0)|0);a[1]++;H(b,a[1],48+(c%10|0)|0);break;case\n2:H(b,a[1],92);a[1]++;H(b,a[1],c);break;case\n3:H(b,a[1],c);break}a[1]++;var\nz=h+1|0;if(t!==h){var\nh=z;continue}break}}var\nu=b}var\np=O(u)}var\nv=k(p),w=aN(v+2|0,34);bd(p,0,w,1,v);return O(w)}}function\ngW(d,g){var\nh=dc(g),f=mB[1];switch(d[2]){case\n0:var\nb=102;break;case\n1:var\nb=101;break;case\n2:var\nb=69;break;case\n3:var\nb=iv;break;case\n4:var\nb=71;break;case\n5:var\nb=f;break;case\n6:var\nb=104;break;case\n7:var\nb=72;break;default:var\nb=70}var\nc=gS(16);bV(c,37);switch(d[1]){case\n0:break;case\n1:bV(c,43);break;default:bV(c,32)}if(8<=d[2])bV(c,35);bV(c,46);S(c,a(e+h));bV(c,b);return gU(c)}function\ndl(n,a){if(13<=n){var\ng=[0,0],h=k(a)-1|0,o=0;if(!(h<0)){var\nc=o;for(;;){if(!(9<ay(a,c)+iB>>>0))g[1]++;var\nr=c+1|0;if(h!==c){var\nc=r;continue}break}}var\ni=g[1],j=D(k(a)+((i-1|0)/3|0)|0),l=[0,0],d=function(a){aL(j,l[1],a);l[1]++;return 0},e=[0,((i-1|0)%3|0)+1|0],m=k(a)-1|0,p=0;if(!(m<0)){var\nb=p;for(;;){var\nf=ay(a,b);if(9<f+iB>>>0)d(f);else{if(0===e[1]){d(95);e[1]=3}e[1]+=-1;d(f)}var\nq=b+1|0;if(m!==b){var\nb=q;continue}break}}return O(j)}return a}function\nmC(b,c){switch(b){case\n1:var\na=lO;break;case\n2:var\na=lP;break;case\n4:var\na=lR;break;case\n5:var\na=lS;break;case\n6:var\na=lT;break;case\n7:var\na=lU;break;case\n8:var\na=lV;break;case\n9:var\na=lW;break;case\n10:var\na=lX;break;case\n11:var\na=lY;break;case\n0:case\n13:var\na=lN;break;case\n3:case\n14:var\na=lQ;break;default:var\na=lZ}return dl(b,el(a,c))}function\nmD(b,c){switch(b){case\n1:var\na=mc;break;case\n2:var\na=md;break;case\n4:var\na=mf;break;case\n5:var\na=mg;break;case\n6:var\na=mh;break;case\n7:var\na=mi;break;case\n8:var\na=mj;break;case\n9:var\na=mk;break;case\n10:var\na=ml;break;case\n11:var\na=mm;break;case\n0:case\n13:var\na=mb;break;case\n3:case\n14:var\na=me;break;default:var\na=mn}return dl(b,el(a,c))}function\nmE(b,c){switch(b){case\n1:var\na=mp;break;case\n2:var\na=mq;break;case\n4:var\na=ms;break;case\n5:var\na=mt;break;case\n6:var\na=mu;break;case\n7:var\na=mv;break;case\n8:var\na=mw;break;case\n9:var\na=mx;break;case\n10:var\na=my;break;case\n11:var\na=mz;break;case\n0:case\n13:var\na=mo;break;case\n3:case\n14:var\na=mr;break;default:var\na=mA}return dl(b,el(a,c))}function\nmF(b,c){switch(b){case\n1:var\na=l1;break;case\n2:var\na=l2;break;case\n4:var\na=l4;break;case\n5:var\na=l5;break;case\n6:var\na=l6;break;case\n7:var\na=l7;break;case\n8:var\na=l8;break;case\n9:var\na=l9;break;case\n10:var\na=l_;break;case\n11:var\na=l$;break;case\n0:case\n13:var\na=l0;break;case\n3:case\n14:var\na=l3;break;default:var\na=ma}return dl(b,zW(a,c))}function\na1(b,e,a){function\nf(d){switch(b[1]){case\n0:var\nc=45;break;case\n1:var\nc=43;break;default:var\nc=32}return zS(a,e,c)}function\nl(c){var\nb=zG(a);return 3===b?a<0.?mH:mI:4<=b?mJ:c}switch(b[2]){case\n5:var\nd=gc(gW(b,e),a),c=0,m=k(d);for(;;){if(c===m)var\nj=0;else{var\ng=B(d,c)-46|0,i=0;if(23<g>>>0){if(55===g)i=1}else\nif(21<g-1>>>0)i=1;if(!i){var\nc=c+1|0;continue}var\nj=1}var\nn=j?d:h(d,mG);return l(n)}case\n6:return f(0);case\n7:return O(eB(kx,au(f(0))));case\n8:return l(f(0));default:return gc(gW(b,e),a)}}function\ncx(e,I,G,F){var\nc=I,a=G,d=F;for(;;)if(typeof\nd===\"number\")return b(c,a);else\nswitch(d[0]){case\n0:var\nJ=d[1];return function(b){return q(c,[5,a,b],J)};case\n1:var\nL=d[1];return function(b){var\ne=0;if(40<=b)if(92===b)var\nd=kq;else\nif(cI<=b)e=1;else\ne=2;else\nif(32<=b)if(39<=b)var\nd=kr;else\ne=2;else\nif(14<=b)e=1;else\nswitch(b){case\n8:var\nd=ks;break;case\n9:var\nd=kt;break;case\n10:var\nd=ku;break;case\n13:var\nd=kv;break;default:e=1}switch(e){case\n1:var\nf=D(4);H(f,0,92);H(f,1,48+(b/fR|0)|0);H(f,2,48+((b/10|0)%10|0)|0);H(f,3,48+(b%10|0)|0);var\nd=O(f);break;case\n2:var\ng=D(1);H(g,0,b);var\nd=O(g);break}var\nh=k(d),i=aN(h+2|0,39);bd(d,0,i,1,h);return q(c,[4,a,O(i)],L)};case\n2:var\nM=d[2],N=d[1];return eI(c,a,M,N,function(a){return a});case\n3:return eI(c,a,d[2],d[1],lM);case\n4:return dm(c,a,d[4],d[2],d[3],mC,d[1]);case\n5:return dm(c,a,d[4],d[2],d[3],mD,d[1]);case\n6:return dm(c,a,d[4],d[2],d[3],mE,d[1]);case\n7:return dm(c,a,d[4],d[2],d[3],mF,d[1]);case\n8:var\ni=d[4],j=d[3],l=d[2],h=d[1];if(typeof\nl===\"number\"){if(typeof\nj===\"number\")return j?function(d,b){return q(c,[4,a,a1(h,d,b)],i)}:function(b){return q(c,[4,a,a1(h,eG(h),b)],i)};var\nae=j[1];return function(b){return q(c,[4,a,a1(h,ae,b)],i)}}else{if(0===l[0]){var\np=l[2],r=l[1];if(typeof\nj===\"number\")return j?function(d,b){return q(c,[4,a,al(r,p,a1(h,d,b))],i)}:function(b){return q(c,[4,a,al(r,p,a1(h,eG(h),b))],i)};var\naf=j[1];return function(b){return q(c,[4,a,al(r,p,a1(h,af,b))],i)}}var\nv=l[1];if(typeof\nj===\"number\")return j?function(e,d,b){return q(c,[4,a,al(v,e,a1(h,d,b))],i)}:function(d,b){return q(c,[4,a,al(v,d,a1(h,eG(h),b))],i)};var\nag=j[1];return function(d,b){return q(c,[4,a,al(v,d,a1(h,ag,b))],i)}}case\n9:return eI(c,a,d[2],d[1],kg);case\n10:var\na=[7,a],d=d[1];continue;case\n11:var\na=[2,a,d[1]],d=d[2];continue;case\n12:var\na=[3,a,d[1]],d=d[2];continue;case\n13:var\nQ=d[3],R=d[2],w=gS(16);eH(w,R);var\nC=gU(w);return function(b){return q(c,[4,a,C],Q)};case\n14:var\nS=d[3],T=d[2];return function(d){var\ne=d[1],b=u(e,E(K(T)));if(typeof\nb[2]===\"number\")return q(c,a,y(b[1],S));throw P};case\n15:var\nU=d[1];return function(d,b){return q(c,[6,a,function(a){return f(d,a,b)}],U)};case\n16:var\nV=d[1];return function(b){return q(c,[6,a,b],V)};case\n17:var\na=[0,a,d[1]],d=d[2];continue;case\n18:var\no=d[1];if(0===o[0]){var\nW=d[2],X=o[1][1],Y=0,c=function(b,c,d){return function(a){return q(c,[1,b,[0,a]],d)}}(a,c,W),a=Y,d=X;continue}var\nZ=d[2],_=o[1][1],$=0,c=function(b,c,d){return function(a){return q(c,[1,b,[1,a]],d)}}(a,c,Z),a=$,d=_;continue;case\n19:throw[0,s,mL];case\n20:var\naa=d[3],ab=[8,a,mM];return function(a){return q(c,ab,aa)};case\n21:var\nac=d[2];return function(b){return q(c,[4,a,el(mN,b)],ac)};case\n22:var\nad=d[1];return function(b){return q(c,[5,a,b],ad)};case\n23:var\ng=d[2],m=d[1];if(typeof\nm===\"number\")switch(m){case\n0:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n1:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n2:throw[0,s,mO];default:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g])}else\nswitch(m[0]){case\n0:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n1:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n2:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n3:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n4:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n5:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n6:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n7:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n8:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n9:var\nB=m[2];return e<50?fi(e+1|0,c,a,B,g):n(fi,[0,c,a,B,g]);case\n10:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);default:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g])}default:var\nx=d[3],z=d[1],A=b(d[2],0);return e<50?fh(e+1|0,c,a,x,z,A):n(fh,[0,c,a,x,z,A])}}function\nfi(e,d,c,a,b){if(typeof\na===\"number\")return e<50?t(e+1|0,d,c,b):n(t,[0,d,c,b]);else\nswitch(a[0]){case\n0:var\nf=a[1];return function(a){return ar(d,c,f,b)};case\n1:var\ng=a[1];return function(a){return ar(d,c,g,b)};case\n2:var\nh=a[1];return function(a){return ar(d,c,h,b)};case\n3:var\ni=a[1];return function(a){return ar(d,c,i,b)};case\n4:var\nj=a[1];return function(a){return ar(d,c,j,b)};case\n5:var\nk=a[1];return function(a){return ar(d,c,k,b)};case\n6:var\nl=a[1];return function(a){return ar(d,c,l,b)};case\n7:var\nm=a[1];return function(a){return ar(d,c,m,b)};case\n8:var\no=a[2];return function(a){return ar(d,c,o,b)};case\n9:var\np=a[3],q=a[2],r=M(K(a[1]),q);return function(a){return ar(d,c,Z(r,p),b)};case\n10:var\nu=a[1];return function(e,a){return ar(d,c,u,b)};case\n11:var\nv=a[1];return function(a){return ar(d,c,v,b)};case\n12:var\nw=a[1];return function(a){return ar(d,c,w,b)};case\n13:throw[0,s,mP];default:throw[0,s,mQ]}}function\nt(d,b,e,a){var\nc=[8,e,mR];return d<50?cx(d+1|0,b,c,a):n(cx,[0,b,c,a])}function\nfh(h,c,f,a,e,d){if(e){var\ni=e[1];return function(e){return mK(c,f,a,i,b(d,e))}}var\ng=[4,f,d];return h<50?cx(h+1|0,c,g,a):n(cx,[0,c,g,a])}function\nq(a,b,c){return bR(cx(0,a,b,c))}function\nar(a,b,c,d){return bR(fi(0,a,b,c,d))}function\nmK(a,b,c,d,e){return bR(fh(0,a,b,c,d,e))}function\neI(f,e,d,a,c){if(typeof\na===\"number\")return function(a){return q(f,[4,e,b(c,a)],d)};else{if(0===a[0]){var\ng=a[2],h=a[1];return function(a){return q(f,[4,e,al(h,g,b(c,a))],d)}}var\ni=a[1];return function(g,a){return q(f,[4,e,al(i,g,b(c,a))],d)}}}function\ndm(g,e,d,h,c,b,a){if(typeof\nh===\"number\"){if(typeof\nc===\"number\")return c?function(h,c){return q(g,[4,e,bW(h,f(b,a,c))],d)}:function(c){return q(g,[4,e,f(b,a,c)],d)};var\nl=c[1];return function(c){return q(g,[4,e,bW(l,f(b,a,c))],d)}}else{if(0===h[0]){var\ni=h[2],j=h[1];if(typeof\nc===\"number\")return c?function(h,c){return q(g,[4,e,al(j,i,bW(h,f(b,a,c)))],d)}:function(c){return q(g,[4,e,al(j,i,f(b,a,c))],d)};var\nm=c[1];return function(c){return q(g,[4,e,al(j,i,bW(m,f(b,a,c)))],d)}}var\nk=h[1];if(typeof\nc===\"number\")return c?function(i,h,c){return q(g,[4,e,al(k,i,bW(h,f(b,a,c)))],d)}:function(h,c){return q(g,[4,e,al(k,h,f(b,a,c))],d)};var\nn=c[1];return function(h,c){return q(g,[4,e,al(k,h,bW(n,f(b,a,c)))],d)}}}function\na2(c,f){var\na=f;for(;;)if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:var\ng=a[1],h=gV(a[2]);a2(c,g);return bS(c,h);case\n1:var\nd=a[2],e=a[1];if(0===d[0]){var\ni=d[1];a2(c,e);bS(c,mS);var\na=i;continue}var\nj=d[1];a2(c,e);bS(c,mT);var\na=j;continue;case\n6:var\nm=a[2];a2(c,a[1]);return b(m,c);case\n7:a2(c,a[1]);return aX(c);case\n8:var\nn=a[2];a2(c,a[1]);return I(n);case\n2:case\n4:var\nk=a[2];a2(c,a[1]);return bS(c,k);default:var\nl=a[2];a2(c,a[1]);return gl(c,l)}}function\nbj(c,g){var\na=g;for(;;)if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:var\nh=a[1],i=gV(a[2]);bj(c,h);return bU(c,i);case\n1:var\ne=a[2],f=a[1];if(0===e[0]){var\nj=e[1];bj(c,f);bU(c,mU);var\na=j;continue}var\nk=e[1];bj(c,f);bU(c,mV);var\na=k;continue;case\n6:var\nn=a[2];bj(c,a[1]);return bU(c,b(n,0));case\n7:var\na=a[1];continue;case\n8:var\no=a[2];bj(c,a[1]);return I(o);case\n2:case\n4:var\nl=a[2];bj(c,a[1]);return bU(c,l);default:var\nm=a[2];bj(c,a[1]);var\nd=c[2];if(c[3]<=d)gR(c,1);H(c[1],d,m);c[2]=d+1|0;return 0}}function\ngX(d,c){var\na=c[1],b=0;return q(function(a){a2(d,a);return 0},b,a)}function\neJ(a){return gX(aY,a)}function\naO(b){var\na=b[1];return q(function(b){var\na=gP(64);bj(a,b);return gQ(a)},0,a)}var\ndn=[0,0];function\neL(j,i){var\na=j[1+i];if(1-(typeof\na===\"number\"?1:0)){if(bg(a)===eb)return b(aO(mW),a);if(bg(a)===253){var\nd=gc(kl,a),c=0,g=k(d);for(;;){if(g<=c)return h(d,kk);var\ne=B(d,c),f=0;if(48<=e){if(!(58<=e))f=1}else\nif(45===e)f=1;if(f){var\nc=c+1|0;continue}return d}}return mX}return b(aO(mY),a)}function\ngY(b,a){if(b.length-1<=a)return mZ;var\nc=gY(b,a+1|0),d=eL(b,a);return f(aO(m0),d,c)}function\neM(a){function\nq(f){var\nc=f;for(;;){if(c){var\ng=c[2],h=c[1];try{var\ne=0,d=b(h,a);e=1}catch(a){}if(e&&d)return[0,d[1]];var\nc=g;continue}return 0}}var\nj=q(dn[1]);if(j)return j[1];if(a===eu)return m5;if(a===gt)return m6;if(a[1]===gs){var\nd=a[2],k=d[3],r=d[2],t=d[1];return cz(aO(eK),t,r,k,k+5|0,m7)}if(a[1]===s){var\ne=a[2],l=e[3],u=e[2],v=e[1];return cz(aO(eK),v,u,l,l+6|0,m8)}if(a[1]===gv){var\ng=a[2],m=g[3],w=g[2],x=g[1];return cz(aO(eK),x,w,m,m+6|0,m9)}if(0===bg(a)){var\ni=a.length-1,y=a[1][1];if(2<i>>>0)var\nn=gY(a,2),o=eL(a,1),c=f(aO(m1),o,n);else\nswitch(i){case\n0:var\nc=m2;break;case\n1:var\nc=m3;break;default:var\np=eL(a,1),c=b(aO(m4),p)}return h(y,c)}return a[1]}function\neN(t,s){var\ne=zH(s),g=e.length-1-1|0,p=0;if(!(g<0)){var\nc=p;for(;;){var\na=w(e,c)[1+c],f=function(a){return function(b){return b?0===a?m_:m$:0===a?na:nb}}(c);if(0===a[0])var\nh=a[5],i=a[4],j=a[3],k=a[6]?nc:ne,l=a[2],m=a[7],n=f(a[1]),d=[0,zw(aO(nd),n,m,l,k,j,i,h)];else\nif(a[1])var\nd=0;else\nvar\no=f(0),d=[0,b(aO(nf),o)];if(d){var\nq=d[1];b(gX(t,ng),q)}var\nr=c+1|0;if(g!==c){var\nc=r;continue}break}}return 0}function\ngZ(c){for(;;){var\na=dn[1],d=[0,c,a],e=dn[1]===a?(dn[1]=d,1):0,b=1-e;if(b)continue;return b}}var\nni=nh.slice();function\nnj(e,d){var\nf=eM(e);b(eJ(nk),f);eN(aY,d);var\na=Ae(0);if(a<0){var\nc=dc(a);gw(w(ni,c)[1+c])}return aX(aY)}var\nnl=[0];gp(a(ix),function(e,i){try{try{var\nc=i?nl:jX(0);try{ew(0)}catch(a){}try{var\na=nj(e,c),d=a}catch(a){a=C(a);var\ng=eM(e);b(eJ(nn),g);eN(aY,c);var\nh=eM(a);b(eJ(no),h);eN(aY,jX(0));var\nd=aX(aY)}var\nf=d}catch(a){a=C(a);if(a!==eu)throw a;var\nf=gw(nm)}return f}catch(a){return 0}});try{var\nzq=ka(zp),g1=zq}catch(a){a=C(a);if(a!==p)throw a;try{var\nzo=ka(zn),g0=zo}catch(a){a=C(a);if(a!==p)throw a;var\ng0=nq}var\ng1=g0}var\nnr=gH(g1,82),dp=[ao,function(A){var\np=Av(0),c=[0,aM(55,0),0],l=0===p.length-1?[0,0]:p,m=l.length-1,b=0;for(;;){w(c[1],b)[1+b]=b;var\nz=b+1|0;if(54!==b){var\nb=z;continue}var\ni=[0,np],n=54+de(55,m)|0,u=0;if(!(n<0)){var\nd=u;for(;;){var\nf=d%55|0,o=Ai(d,m),v=w(l,o)[1+o],j=h(i[1],a(e+v));i[1]=Ac(j,0,k(j));var\ng=i[1],q=B(g,3)<<24,r=B(g,2)<<16,s=B(g,1)<<8,t=((B(g,0)+s|0)+r|0)+q|0,x=(w(c[1],f)[1+f]^t)&fA;w(c[1],f)[1+f]=x;var\ny=d+1|0;if(n!==d){var\nd=y;continue}break}}c[2]=0;return c}}];function\neO(a,b){return 4<=a.length-1?zM(10,fR,a[3],b)&(a[2].length-1-1|0):I(ns)}function\ng2(f,b){var\ng=eO(f,b),c=w(f[2],g)[1+g];if(c){var\nd=c[3],j=c[2];if(0===ce(b,c[1]))return j;if(d){var\ne=d[3],k=d[2];if(0===ce(b,d[1]))return k;if(e){var\nl=e[2],m=e[3];if(0===ce(b,e[1]))return l;var\na=m;for(;;){if(a){var\nh=a[2],i=a[3];if(0===ce(b,a[1]))return h;var\na=i;continue}throw p}}throw p}throw p}throw p}function\nnt(b,a){var\nc=bg(a)===A?a:a[1];return gp(b,c)}var\nnu=2;function\nnv(c){var\na=[0,0],d=k(c)-1|0,e=0;if(!(d<0)){var\nb=e;for(;;){var\ng=B(c,b);a[1]=(223*a[1]|0)+g|0;var\nh=b+1|0;if(d!==b){var\nb=h;continue}break}}a[1]=a[1]&2147483647;var\nf=fA<a[1]?a[1]+2147483648|0:a[1];return f}var\neP=dj([0,c9]),dq=dj([0,c9]),dr=dj([0,j0]),g3=j6(0,0),nw=[0,0];function\ng4(a){return 2<a?g4((a+1|0)/2|0)*2|0:a}function\ng5(d){nw[1]++;var\nb=d.length-1,c=aM((b*2|0)+2|0,g3);w(c,0)[1]=b;var\ng=((g4(b)*32|0)/8|0)-1|0;w(c,1)[2]=g;var\ne=b-1|0,h=0;if(!(e<0)){var\na=h;for(;;){var\nf=(a*2|0)+3|0,i=w(d,a)[1+a];w(c,f)[1+f]=i;var\nj=a+1|0;if(e!==a){var\na=j;continue}break}}return[0,nu,c,dq[1],dr[1],0,0,eP[1],0]}function\neQ(a,b){var\nc=a[2].length-1,d=c<b?1:0;if(d){var\ne=aM(b,g3);gJ(a[2],0,e,0,c);a[2]=e;var\nf=0}else\nvar\nf=d;return f}var\ng6=[0,0],nx=[0,0];function\nny(a){var\nb=a[2].length-1;eQ(a,b+1|0);return b}function\nnz(a,d){try{var\nb=f(dq[28],d,a[3]);return b}catch(b){b=C(b);if(b===p){var\nc=ny(a);a[3]=aJ(dq[4],d,c,a[3]);a[4]=aJ(dr[4],c,1,a[4]);return c}throw b}}function\nnA(a){var\nb=a[1];a[1]=b+1|0;return b}function\nnB(a,c){try{var\nb=f(eP[28],c,a[7]);return b}catch(b){b=C(b);if(b===p){var\nd=nA(a);if(g(c,nC))a[7]=aJ(eP[4],c,d,a[7]);return d}throw b}}function\nnD(b,a){var\nc=k(b);return c<a?nE:aq(b,a,c-a|0)}var\nnF=34;function\nnI(a){var\nd=0;for(;;){var\nc=a0(a3,d,a);if(7<c>>>0){b(a[1],a);var\nd=c;continue}switch(c){case\n0:return 0;case\n1:return 3;case\n2:return 6;case\n3:var\ne=J(a);return[0,aq(e,1,k(e)-1|0)];case\n4:var\nf=J(a);return[1,aq(f,2,k(f)-2|0)];case\n5:return nM;case\n6:return 13;default:return[2,J(a)]}}}function\ng7(a){var\nd=33;for(;;){var\nc=a0(a3,d,a);if(9<c>>>0){b(a[1],a);var\nd=c;continue}switch(c){case\n0:return 9;case\n1:return 10;case\n2:return[3,k(J(a))];case\n3:return[4,J(a)];case\n4:return 11;case\n5:return 12;case\n6:return 12;case\n7:return[5,J(a)];case\n8:return 13;default:return 12}}}function\nnL(a){var\nc=55;for(;;){var\nd=a0(a3,c,a);if(0===d)return eD(a,a[5],a[6]-1|0);b(a[1],a);var\nc=d;continue}}function\nnK(a){var\nc=53;for(;;){var\nd=a0(a3,c,a);if(0===d)return eD(a,a[5],a[6]-1|0);b(a[1],a);var\nc=d;continue}}var\naP=[A,nO,be(0)],g8=[A,nP,be(0)];function\nnJ(a,e){var\nd=e;for(;;){var\nc=a0(a3,d,a);if(7<c>>>0){b(a[1],a);var\nd=c;continue}switch(c){case\n0:return 9;case\n1:return 10;case\n2:return[3,k(J(a))];case\n3:try{var\nf=[5,nK(a)];return f}catch(a){return 12}case\n4:try{var\ng=[5,nL(a)];return g}catch(a){return 12}case\n5:return[5,J(a)];case\n6:return 13;default:return 12}}}function\nbk(b,a){return[0,fP,[0,b,a]]}var\nog=[0,of,[0,oe,[0,od,[0,oc,[0,ob,[0,oa,[0,n$,[0,n_,[0,n9,[0,n8,[0,n7,[0,n6,[0,n5,[0,n4,[0,n3,[0,n2,[0,n1,[0,n0,[0,nZ,[0,nY,[0,nX,[0,nW,[0,nV,[0,nU,[0,nT,[0,[0,nS,[0,j,bk(i,nR)]],nQ]]]]]]]]]]]]]]]]]]]]]]]]]],on=[0,om,[0,ol,[0,ok,[0,oj,[0,[0,oi,[0,j,bk(i,oh)]],og]]]]],os=[0,or,[0,oq,[0,[0,op,[0,o,bk(i,oo)]],on]]],ow=[0,[0,ov,[0,o,[0,R,[0,ou,bk(i,ot)]]]],os],oY=[0,oX,[0,oW,[0,oV,[0,oU,[0,oT,[0,oS,[0,oR,[0,oQ,[0,oP,[0,oO,[0,oN,[0,oM,[0,oL,[0,oK,[0,oJ,[0,oI,[0,oH,[0,[0,oG,[0,o,[0,R,[0,g9,oF]]]],[0,[0,oE,[0,o,[0,R,[0,g9,oD]]]],[0,oC,[0,oB,[0,oA,[0,oz,[0,[0,oy,[0,o,bk(i,ox)]],ow]]]]]]]]]]]]]]]]]]]]]]]],o2=[0,o1,[0,[0,o0,[0,c,bk(i,oZ)]],oY]],o6=[0,o5,[0,[0,o4,[0,c,bk(i,o3)]],o2]],eR=[0,pv,[0,pu,[0,pt,[0,ps,[0,pr,[0,pq,[0,pp,[0,po,[0,pn,[0,pm,[0,pl,[0,pk,[0,pj,[0,pi,[0,ph,[0,pg,[0,pf,[0,pe,[0,pd,[0,pc,[0,pb,[0,pa,[0,o$,[0,o_,[0,o9,[0,[0,o8,[0,c,bk(i,o7)]],o6]]]]]]]]]]]]]]]]]]]]]]]]]];function\npw(a){function\nb(a){if(typeof\na===\"number\"){if(c===a)return i}else\nif(R===a[1]){var\nd=a[2],e=d[1];return[0,R,[0,e,b(d[2])]]}return a}return aj(function(d){var\ne=d[2],f=e[2],a=e[1],g=d[1];return c===a?[0,g,[0,a,b(f)]]:[0,g,[0,a,f]]},a)}function\npx(a,f){return aj(function(b){var\nc=b[2],d=c[2],e=c[1],a=b[1];if(o===e&&gB(a,f))return[0,a,[0,a8,d]];return[0,a,[0,e,d]]},a)}px(pw(eR),py);function\npz(c){var\ne=pA;a:for(;;){var\nf=17;for(;;){var\nd=a0(a3,f,c);if(3<d>>>0){b(c[1],c);var\nf=d;continue}switch(d){case\n0:var\na=1;break;case\n1:var\na=2;break;case\n2:var\na=13;break;default:var\na=2}if(2===a){var\ne=h(e,J(c));continue a}if(13<=a)throw aP;return e}}}function\ng_(a){var\ne=23;for(;;){var\nd=a0(a3,e,a);if(2<d>>>0){b(a[1],a);var\ne=d;continue}switch(d){case\n0:var\nc=4;break;case\n1:var\nc=13;break;default:var\nc=5}if(5===c){var\nf=J(a);return h(f,g_(a))}if(13<=c)throw aP;return pB}}function\ng$(c){var\ne=27;for(;;){var\nd=a0(a3,e,c);if(4<d>>>0){b(c[1],c);var\ne=d;continue}switch(d){case\n0:var\na=7;break;case\n1:var\na=7;break;case\n2:var\na=13;break;case\n3:var\na=8;break;default:var\na=8}if(8===a){var\nf=J(c);return h(f,g$(c))}if(13<=a)throw aP;return pC}}function\npD(k){var\nc=16,l=bh(k);for(;;){if(!(l<=c)&&!(ex<(c*2|0))){var\nc=c*2|0;continue}if(nr){var\ni=bg(dp),b=bo===i?dp[1]:ao===i?ck(dp):dp;b[2]=(b[2]+1|0)%55|0;var\nd=b[2],e=w(b[1],d)[1+d],f=(b[2]+24|0)%55|0,g=(w(b[1],f)[1+f]+(e^(e>>>25|0)&31)|0)&fA,h=b[2];w(b[1],h)[1+h]=g;var\nj=g}else\nvar\nj=0;var\na=[0,0,aM(c,0),j,c];bT(function(v){var\nx=v[1],H=v[2],f=eO(a,x),G=[0,x,H,w(a[2],f)[1+f]];w(a[2],f)[1+f]=G;a[1]=a[1]+1|0;var\nu=a[2].length-1<<1<a[1]?1:0;if(u){var\ni=a[2],s=(i.length-1)*2|0,t=s<ex?1:0;if(t){var\nj=aM(s,0),y=a.length-1<4?1:0,z=y||(a[4]<0?1:0),k=1-z;a[2]=j;var\nl=j.length-1,g=aM(l,0),o=i.length-1-1|0,C=0;if(!(o<0)){var\ne=C;a:for(;;){var\nb=w(i,e)[1+e];for(;;){if(b){var\nm=b[1],A=b[2],B=b[3],h=k?b:[0,m,A,0],c=eO(a,m),n=w(g,c)[1+c];if(n)n[3]=h;else\nw(j,c)[1+c]=h;w(g,c)[1+c]=h;var\nb=B;continue}var\nF=e+1|0;if(o!==e){var\ne=F;continue a}break}break}}if(k){var\np=l-1|0,D=0;if(!(p<0)){var\nd=D;for(;;){var\nr=w(g,d)[1+d];if(r)r[3]=0;var\nE=d+1|0;if(p!==d){var\nd=E;continue}break}}var\nq=0}else\nvar\nq=k;return q}return t}return u},k);return a}}var\neS=gN([0,c9]);function\npE(M,L,K,I,H,j){var\nX=M?M[1]:eR,Y=L?L[1]:0,Z=K?K[1]:0,_=I?I[1]:0,$=H?H[1]:0,e=[0,pF],l=[0,0],a=[0,0],q=[0,eS[1]],r=gO(0),N=pD(X),m=$?function(a){return a}:gI;function\nu(a){if(d(a,pG))return pH;function\nb(a){var\nb=a[2];if(typeof\nb!==\"number\"&&R===b[1])return[0,a[1],b[2][2]];return a}try{var\nc=b(g2(N,a));return c}catch(a){a=C(a);if(a===p)return pI;throw a}}function\nac(k,j,e){var\nb=u(e)[1];function\nd(n){var\na=n;for(;;){if(typeof\na===\"number\"){if(fq<=a){if(ca<=a){if(i<=a){var\ng=c===b?1:0;if(g)var\nh=g;else\nvar\np=o===b?1:0,h=p||(a8===b?1:0);return h}return 0}return v<=a?0:1}if(c<=a)return c===b?1:0;var\nq=o===b?1:0,r=q||(a8===b?1:0);return r}var\nf=a[1];if(fP<=f){if(R<=f)throw[0,s,pK];var\nj=a[2],t=j[2],k=d(j[1]);if(k)return k;var\na=t;continue}if(-260921543<=f){var\nl=a[2],u=l[2],m=d(l[1]),w=m?1-d(u):m;return w}return gB(e,a[2])}}var\na=bA===b?1:0;if(a)var\ng=a;else{var\nh=1-f(eS[3],e,j);if(h)return d(u(k)[2]);var\ng=h}return g}function\nz(d){var\nc=gO(0),f=e[1],g=l[1],h=a[1],i=q[1];try{for(;;){if(ac(e[1],q[1],d)){var\nj=0;return j}if(a8===u(e[1])[1])throw eE;var\nb=cp(r);eF(b,c);var\nk=b[4],m=b[3],n=b[2],o=b[1],p=G(a[1]),s=[0,[0,e[1],l[1],p]];e[1]=o;l[1]=n;q[1]=k;a[1]=[0,s,m];continue}}catch(b){b=C(b);if(b===eE)for(;;){if(0<c[2]){eF(cp(c),r);continue}e[1]=f;l[1]=g;a[1]=h;q[1]=i;return 0}throw b}}function\nA(a){function\nb(b){for(;;){var\na=b?nJ(j,44):g7(j);if(typeof\na!==\"number\"&&3===a[0])continue;return a}}function\ne(j){var\nc=j;for(;;){if(typeof\nc===\"number\")switch(c){case\n9:return pL;case\n10:return pM;case\n13:throw aP}else\nif(4===c[0]){var\na=c[1],f=b(0);if(typeof\nf===\"number\")switch(f){case\n9:var\no=m(a);return[0,[0,[0,m(a),o],0],0];case\n10:var\np=m(a);return[0,[0,[0,m(a),p],0],1];case\n11:var\nd=b(1);if(typeof\nd===\"number\")switch(d){case\n9:return pN;case\n10:return pO;case\n13:throw aP}else\nswitch(d[0]){case\n4:var\nq=d[1],h=e(b(0)),r=h[2],s=h[1];return[0,[0,[0,m(a),q],s],r];case\n5:var\nt=d[1],i=e(b(0)),u=i[2],v=i[1];return[0,[0,[0,m(a),t],v],u]}var\nc=b(0);continue;case\n13:throw aP}var\ng=e(f),k=g[2],l=g[1],n=m(a);return[0,[0,[0,m(a),n],l],k]}var\nc=b(0);continue}}return e(b(0))}function\nB(e){a:for(;;){var\nf=11;for(;;){var\nc=a0(a3,f,j);if(3<c>>>0){b(j[1],j);var\nf=c;continue}switch(c){case\n0:var\ng=J(j),a=[1,aq(g,2,k(g)-2|0)];break;case\n1:var\na=nN;break;case\n2:var\na=13;break;default:var\na=[2,J(j)]}if(typeof\na===\"number\"){if(13===a)throw aP}else\nswitch(a[0]){case\n1:var\ni=a[1];return d(m(i),e)?pP:h(pQ,h(i,B(e)));case\n2:var\nl=a[1];return h(l,B(e))}continue a}}}function\nO(b){for(;;){var\na=g7(j);if(typeof\na===\"number\")if(11<=a){if(13<=a)throw aP}else\nif(9<=a)return 0;continue}}try{a:for(;;){var\nt=nI(j);if(typeof\nt===\"number\")switch(t){case\n0:var\nad=pz(j);if(_)a[1]=[0,[0,[0,pS,[0,[0,pR,ad],0],0]],a[1]];continue;case\n3:var\nae=g_(j);if(Y)a[1]=[0,[0,[0,pU,[0,[0,pT,ae],0],0]],a[1]];continue;case\n6:var\naf=g$(j);if(Z)a[1]=[0,[0,[0,pW,[0,[0,pV,af],0],0]],a[1]];continue;case\n13:throw aP}else\nswitch(t[0]){case\n0:var\nn=m(t[1]),P=u(n)[2];if(v===P){var\nag=A(0)[1];z(n);a[1]=[0,[0,[0,n,ag,0]],a[1]];continue}if(ca===P){var\nQ=A(0),ah=Q[2],ai=Q[1];z(n);if(ah)var\nS=pX;else{var\naj=B(n);O(0);var\nS=aj}a[1]=[0,[0,[0,n,ai,[0,[1,S],0]]],a[1]];continue}var\nT=A(0),U=T[1],ak=T[2];z(n);if(ak)a[1]=[0,[0,[0,n,U,0]],a[1]];else{if(d(n,pJ))var\nD=0;else{var\naa=function(b){var\na=b[2];if(typeof\na!==\"number\"&&R===a[1])return a[2][1];return 0};try{var\nab=aa(g2(N,n)),D=ab}catch(a){a=C(a);if(a!==p)throw a;var\nD=0,aC=a}}eF([0,e[1],l[1],a[1],q[1]],r);e[1]=n;l[1]=U;a[1]=0;bT(function(a){q[1]=f(eS[4],a,q[1]);return 0},D)}continue;case\n1:var\nE=m(t[1]);O(0);var\nV=d(E,e[1]);if(V)var\nF=V;else\ntry{k4(function(c){return function(b){var\na=b[1];if(d(c,a))throw g8;if(a8===u(a)[1])throw p;return 0}}(E),r);var\naw=0,F=aw}catch(a){a=C(a);if(a===g8)var\nW=1;else{if(a!==p)throw a;var\nW=0}var\nF=W,aD=a}if(F)for(;;){if(g(e[1],E)){var\nw=cp(r),al=w[4],am=w[3],an=w[2],ao=w[1],ap=G(a[1]);a[1]=[0,[0,[0,e[1],l[1],ap]],am];e[1]=ao;l[1]=an;q[1]=al;continue}var\nx=cp(r),ar=x[4],as=x[3],at=x[2],au=x[1],av=G(a[1]);a[1]=[0,[0,[0,e[1],l[1],av]],as];e[1]=au;l[1]=at;q[1]=ar;continue a}continue;case\n2:a[1]=[0,[1,t[1]],a[1]];continue}continue}}catch(b){b=C(b);if(b===aP)for(;;){if(0<r[2]){var\ny=cp(r),ax=y[4],ay=y[3],az=y[2],aA=y[1],aB=G(a[1]);a[1]=[0,[0,[0,e[1],l[1],aB]],ay];e[1]=aA;l[1]=az;q[1]=ax;continue}return G(a[1])}throw b}}function\npY(l,k,a,c){function\ni(f){if(0===f[0]){var\nh=f[1],e=h[2],c=h[1],m=h[3];if(g(c,p0)){if(g(c,p1)){if(g(c,p2)){try{var\no=v===co(c,l)[2]?1:0,j=o}catch(a){a=C(a);if(a!==p)throw a;var\nj=0}b(a,p3);b(a,c);bT(function(e){var\nf=e[2],g=e[1];b(a,p4);b(a,g);b(a,p5);function\nc(b,a){try{var\ne=eC(a,nF),f=aq(a,0,e),g=nD(a,e+1|0),h=d(f,nH)?c(b,g):c([0,f,b],g);return h}catch(c){c=C(c);if(c===p)return d(a,nG)?b:[0,a,b];throw c}}b(a,az(pZ,G(c(0,f))));return b(a,p6)},e);if(j){var\nn=k?p7:p8;return b(a,n)}b(a,p9);bT(i,m);b(a,p_);b(a,c);return b(a,p$)}b(a,qa);b(a,co(qb,e));return b(a,qc)}b(a,qd);b(a,co(qe,e));return b(a,qf)}b(a,qg);b(a,co(qh,e));return b(a,qi)}return b(a,f[1])}try{var\ne=bT(i,c);return e}catch(a){a=C(a);if(a===p)return ch(qj);throw a}}function\nqk(b,a){return aq(b,0,a)}function\nql(b,a){return aq(b,a,k(b)-a|0)}var\na4=aN(32,b0);function\nha(a){return aN(32,0)}function\neT(b,a){return aL(b,a>>>3|0,cl(bK(b,a>>>3|0)|1<<(a&7)))}function\nds(b){var\na=ha(0);eT(a,b);return a}function\ndt(c){var\nb=D(32),a=0;for(;;){aL(b,a,cl(bK(c,a)^b0));var\nd=a+1|0;if(31!==a){var\na=d;continue}return b}}function\neU(d,c){var\nb=D(32),a=0;for(;;){var\ne=bK(c,a);aL(b,a,cl(bK(d,a)|e));var\nf=a+1|0;if(31!==a){var\na=f;continue}return b}}function\nqm(c,b){try{var\na=0;for(;;){var\ne=bK(b,a);if(0!==(bK(c,a)&e))throw gr;var\nf=a+1|0;if(31!==a){var\na=f;continue}var\nd=1;return d}}catch(a){a=C(a);if(a===gr)return 0;throw a}}function\nhb(f,e){var\na=0;for(;;){var\nd=bK(e,a);if(0!==d){var\nc=0;for(;;){if(0!==(d&1<<c))b(f,cl((a<<3)+c|0));var\nh=c+1|0;if(7!==c){var\nc=h;continue}break}}var\ng=a+1|0;if(31!==a){var\na=g;continue}return 0}}function\ncr(a){var\nc=ha(0);hb(function(a){eT(c,cm(a));var\nb=a-224|0,d=0;if(30<b>>>0){if(!(25<b+cI>>>0))d=1}else\nif(23!==b)d=1;var\ne=d?a+fW|0:a;return eT(c,e)},a);return c}var\nhc=0,hd=1,qn=3,qo=4,qp=5,qq=6,qr=7,qs=8,qt=9,qu=10,qv=11,qw=12,qx=13,qy=14,eV=15,du=16,he=17,hf=18;function\nhg(b,a){return b|a<<8}function\neW(b,a){return(b-a|0)-1|0}function\neX(c){var\na=c;for(;;)if(typeof\na===\"number\")switch(a){case\n0:return 1;case\n1:return 1;default:return 1}else\nswitch(a[0]){case\n0:return 0;case\n1:return d(a[1],qz);case\n2:return 0;case\n3:return gA(eX,a[1]);case\n4:var\ne=a[2],b=eX(a[1]);if(b)return b;var\na=e;continue;case\n5:return 1;case\n6:var\na=a[1];continue;case\n7:return 1;case\n8:var\na=a[2];continue;default:return 1}}function\nfk(f,g){var\na=g;for(;;)if(typeof\na===\"number\")switch(a){case\n0:return a4;case\n1:return a4;default:return a4}else\nswitch(a[0]){case\n0:return ds(a[1]);case\n1:var\nb=a[1];return d(b,qA)?a4:ds(B(b,0));case\n2:var\nc=a[1];return a[2]?dt(c):c;case\n3:var\ne=a[1];return f<50?fj(f+1|0,e):n(fj,[0,e]);case\n4:var\nh=a[1],i=bl(a[2]);return eU(bl(h),i);case\n5:return a4;case\n6:var\na=a[1];continue;case\n7:return a4;case\n8:var\na=a[2];continue;default:return a4}}function\nfj(c,d){var\na=d;for(;;){if(a){var\nb=a[1];if(typeof\nb===\"number\"){var\na=a[2];continue}else\nswitch(b[0]){case\n5:var\ne=b[1],f=cs(a[2]);return eU(bl(e),f);case\n7:var\ng=b[1],h=cs(a[2]);return eU(bl(g),h);default:return c<50?fk(c+1|0,b):n(fk,[0,b])}}return a4}}function\nbl(a){return bR(fk(0,a))}function\ncs(a){return bR(fj(0,a))}function\neY(f,a){var\nc=0;if(typeof\na!==\"number\")switch(a[0]){case\n0:var\nd=0,b=ds(a[1]);c=1;break;case\n2:var\nd=a[2],b=a[1];c=1;break}if(c){var\ne=f?cr(b):b,g=d?dt(e):e;return df(g)}throw[0,s,qB]}var\nhh=D(aK),cw=0;for(;;){aL(hh,cw,cm(cl(cw)));var\nzm=cw+1|0;if(b0!==cw){var\ncw=zm;continue}var\nqC=df(hh),dv=dj([0,c9]);dt(ds(10));var\nqF=function(K){var\nz=[1,K],b=[0,aM(32,0)],c=[0,0],j=[0,dv[1]],l=[0,0],g=[0,1],m=[0,0],q=1;function\na(g,f){if(b[1].length-1<=c[1]){var\na=[0,b[1].length-1];for(;;){if(a[1]<=c[1]){a[1]=a[1]*2|0;continue}var\nd=aM(a[1],0);gJ(b[1],0,d,0,b[1].length-1);b[1]=d;break}}var\nh=hg(g,f),e=c[1];w(b[1],e)[1+e]=h;c[1]++;return 0}function\nh(d){var\nb=c[1];a(hc,0);return b}function\ni(a,d,c){var\ne=hg(d,eW(c,a));w(b[1],a)[1+a]=e;return 0}function\ne(b){try{var\na=f(dv[28],b,j[1]);return a}catch(a){a=C(a);if(a===p){var\nc=l[1];j[1]=aJ(dv[4],b,c,j[1]);l[1]++;return c}throw a}}function\ns(b){if(eX(b)){var\na=m[1];if(64<=a)ch(qD);m[1]++;return a}return-1}function\nn(b,a){var\nc=cr(a);return qm(cr(b),c)}function\nd(b){if(typeof\nb===\"number\")switch(b){case\n0:return a(qp,0);case\n1:return a(qq,0);default:return a(qr,0)}else\nswitch(b[0]){case\n0:return a(hd,cm(b[1]));case\n1:var\nf=b[1],n=k(f);if(0===n)return 0;if(1===n)return a(hd,cm(B(f,0)));try{var\no=eC(f,0);d([1,qk(f,o)]);a(hc,0);var\nw=d([1,ql(f,o+1|0)]);return w}catch(b){b=C(b);if(b===p)return a(qn,e(gI(f)));throw b}case\n2:var\nx=b[2],q=cr(b[1]),y=x?dt(q):q;return a(qo,e(df(y)));case\n3:return D(b[1]);case\n4:var\nz=b[2],A=b[1],E=h(0);d(A);var\nF=h(0),G=c[1];d(z);var\nH=c[1];i(E,du,G);return i(F,eV,H);case\n5:var\nr=b[1],j=s(r),t=h(0);if(0<=j)a(he,j);d(r);if(0<=j)a(hf,j);a(eV,eW(t,c[1]));return i(t,du,c[1]);case\n6:var\nu=b[1],l=s(u),I=c[1];d(u);if(0<=l)a(hf,l);var\nJ=h(0);if(0<=l)a(he,l);a(eV,eW(I,c[1]));return i(J,du,c[1]);case\n7:var\nK=b[1],L=h(0);d(K);return i(L,du,c[1]);case\n8:var\nm=b[1],M=b[2];a(qs,m);d(M);a(qt,m);g[1]=de(g[1],m+1|0);return 0;default:var\nv=b[1];a(qu,v);g[1]=de(g[1],v+1|0);return 0}}function\nD(p){var\nb=p;for(;;){if(b){var\nc=b[1];if(typeof\nc!==\"number\")switch(c[0]){case\n5:var\nf=c[1],l=0;if(typeof\nf===\"number\")l=1;else\nswitch(f[0]){case\n0:case\n2:var\ni=b[2],s=cs(i);if(n(bl(f),s)){a(qx,e(eY(q,f)));var\nb=i;continue}break;default:l=1}break;case\n6:var\ng=c[1],m=0;if(typeof\ng===\"number\")m=1;else\nswitch(g[0]){case\n0:case\n2:var\nj=b[2],t=cs(j);if(n(bl(g),t)){a(qy,e(eY(q,g)));var\nb=j;continue}break;default:m=1}break;case\n7:var\nh=c[1],o=0;if(typeof\nh===\"number\")o=1;else\nswitch(h[0]){case\n0:case\n2:var\nk=b[2],u=cs(k);if(n(bl(h),u)){a(qw,e(eY(q,h)));var\nb=k;continue}break;default:o=1}break}var\nr=b[2];d(c);var\nb=r;continue}return 0}}d(z);a(qv,0);var\nt=bl(z),E=cr(t);if(jS(t,a4))var\nu=-1;else{var\nr=aN(aK,0);hb(function(a){return aL(r,a,1)},E);var\nu=e(df(r))}var\nv=aM(l[1],qE),F=j[1];function\nG(b,a){w(v,a)[1+a]=b;return 0}f(dv[12],G,F);var\no=c[1],x=b[1],A=0,H=m[1],J=g[1];if(0<=o&&!((x.length-1-o|0)<0)){var\ny=zC(x,0,o);A=1}if(!A)var\ny=I(kL);return[0,y,v,qC,J,H,u]},qG=[0,[0]],qH=function(d,c,b){var\na=AD(d,c,b);qG[1]=a;if(0===a.length-1)throw p;return w(a,0)[1]},Q=function(b,a){return a?a[1]:b},dw=function(a,b){if(b)return b;var\nc=bg(a);return bo===c?a[1]:ao===c?ck(a):a},ct=function(c,a){return a?[0,b(c,a[1])]:0},dx=function(c,a){return a?b(c,a[1])?a:0:0},hi=function(a,b){if(b)return b[1];var\nc=bg(a);return bo===c?a[1]:ao===c?ck(a):a},aA=function(a,c){return a?b(c,a[1]):0},am=function(b,a){return ct(a,b)},hj=function(a){return a?[0,a[1],0]:0},hk=function(c,a){if(a){var\nd=a[2],e=a[1],f=b(c,e),g=hk(c,d),h=e===f?1:0,i=h?d===g?1:0:h;return i?a:[0,f,g]}return a},ad=function(d,a){if(a){var\ne=a[2],f=a[1],g=b(d,f),c=ad(d,e);return g?e===c?a:[0,f,c]:c}return a},dy=function(c,b,a){var\nd=G(b);return bi(function(b,a){return f(c,a,b)},a,d)},dz=function(a){return a?[0,a[1]]:0},aQ=function(e,d){var\na=d;for(;;){if(a){var\nf=a[2],c=b(e,a[1]);if(c)return c;var\na=f;continue}return 0}},eZ=function(d,a){var\nc=0;return dy(function(e,a){var\nc=b(d,e);return c?[0,c[1],a]:a},a,c)},e0=function(e,d){var\na=d;for(;;){if(a){var\nc=a[1];if(b(e,c))return[0,c];var\na=a[2];continue}return 0}},e1=function(f){function\na(a,c){var\nd=c[2],e=c[1];return b(f,a)?[0,[0,a,e],d]:[0,e,[0,a,d]]}return function(b){return dy(a,b,qI)}},dA=function(c,a){var\nd=0;return dy(function(d,a){return F(b(c,d),a)},a,d)},e2=function(c,a){if(a){var\nd=a[1],f=a[2];if(b(c,d)){var\ne=e2(c,f);return[0,[0,d,e[1]],e[2]]}}return[0,0,a]},hl=function(c,a){return e2(function(a){return 1-b(c,a)},a)},hm=function(b){if(d(b,kH))var\nf=b;else{var\nh=0;if(gF(ay(b,0))||gF(ay(b,k(b)-1|0)))h=1;else\nvar\nf=b;if(h){var\ne=au(b),g=ax(e),a=[0,0];for(;;){if(a[1]<g&&gD(bL(e,a[1]))){a[1]++;continue}var\nc=[0,g-1|0];for(;;){if(a[1]<=c[1]&&gD(bL(e,c[1]))){c[1]+=-1;continue}var\ni=a[1]<=c[1]?eA(e,a[1],(c[1]-a[1]|0)+1|0):kB,f=O(i);break}break}}}return d(f,qJ)},a5=function(b,a){var\nc=k(a);return k(b)<c?0:d(aq(b,0,c),a)},e3=function(c,b){var\ne=k(c),a=k(b);return e<a?0:d(aq(c,e-a|0,a),b)},hn=function(b,a){var\nc=k(b);return c<a?qK:aq(b,a,c-a|0)},dB=function(a,h){function\nc(b,a){try{var\ne=eC(a,h),f=aq(a,0,e),g=hn(a,e+1|0),i=d(f,qM)?c(b,g):c([0,f,b],g);return i}catch(c){c=C(c);if(c===p)return d(a,qL)?b:[0,a,b];throw c}}return G(c(0,a))},as=function(b,a){var\nc=qF(a);try{qH(c,b,0);var\nd=1;return d}catch(a){a=C(a);if(a===p)return 0;throw a}},z=gN([0,kK]),ho=function(b){var\na=aq(b,5,k(b)-5|0);try{var\nc=c7(a);return c}catch(a){a=C(a);if(a[1]===db)throw[0,et,h(qR,h(b,qQ))];throw a}},hp=function(a){return a?[0,az(qS,a)]:0},hq=[0,0],bX=[0,0],qX=F(qW,qV),qY=b(z[37],qX),hr=function(a){return f(z[3],a,qY)},e4=function(b,a){return bN(a[1],b)},aI=function(a){function\nb(b){return e4(a,b)}return function(a){return e0(b,a)}},e5=function(c,b,a){var\nd=hk(function(a){var\nd=a[1];return bN(c,d)?[0,d,b]:a},a);return d===a?[0,[0,c,b],a]:d},q2=function(b,a){return aA(b,function(b){return 0===a[0]?[0,h(b,a[1])]:0})},hs=function(a){return bi(q2,q1,a)},ht=function(b){function\nc(a){if(1===a[0]&&d(a[1],b))return[0,a];return 0}return function(a){if(0===a[0])throw[0,s,q3];return eZ(c,a[4])}},hu=function(a){return 0===a[0]?0:a[4]},e6=function(c,b,a){if(0===a[0])return 0;var\ne=a[3],g=a[2];if(d(a[1],c))return f(b,g,e);var\nh=a[4];return aQ(function(a){return e6(c,b,a)},h)},dC=function(d,c,g,f,b){var\na=bN(c,d),e=a?0===b?1:0:a;return e},q4=function(k,j,i,h){var\nc=b(e1(function(a){return d(a[1],q5)}),j),a=c[1],l=c[2];if(a){var\ne=a[1];if(!g(e[1],q6)&&!a[2]){var\nf=e[2];return a5(f,q7)?[0,[1,k,F(l,[0,[0,q8,f],0]),i,h]]:0}}return 0},q_=[0,function(c,b,g,f){var\na=d(c,q9),e=a?0!==b?1:0:a;return e},q4],hv=function(a){return d(a[1],q$)},ra=function(f,b,a,e){var\nc=e0(hv,b);if(c){var\nh=c[1][2],i=ad(function(a){return g(a[1],rb)},b),j=V(function(a){return d(a[1][1],rc)},a)?a:[0,[0,rd,[0,[0,h,0]]],a];return[0,[1,f,i,j,e]]}return 0},rf=[0,function(c,b,f,e){var\na=d(c,re);return a?V(hv,b):a},ra],dD=function(a){return gH(a,32)?h(rh,h(a,rg)):a},rr=b(z[37],rq),rs=function(m){var\nb=m[2][1],c=m[1][1];if(f(z[3],c,rr)){var\na=bi(function(b,a){if(b){var\nc=b[2],e=b[1];if(d(a,rj))return[0,rk,[0,dD(e),c]];if(a5(a,rl)){var\nf=h(rm,a);return[0,rn,[0,h(dD(e),f),c]]}return[0,h(e,a),c]}return 0},ri,b);if(a){var\ni=a[1];if(g(i,ro))var\nn=a[2],j=[0,dD(i),n];else\nvar\nj=a[2];var\nl=j}else\nvar\nl=a;var\ne=az(rp,G(l))}else\nvar\np=e3(c,rw)?b:aj(dD,b),e=az(rx,p);var\no=0===k(e)?rt:e;return h(c,h(rv,h(o,ru)))},hw=function(a,b){var\nc=a?a[1]:ry;return az(c,aj(rs,b))},e7=function(a){return h(rA,hw(rz,a))},rC=function(b){switch(b[0]){case\n0:var\nc=b[1],d=h(rE,h(e7(b[2]),rD));return h(az(rB,c[1]),d);case\n1:var\nf=b[1];return h(rH,h(f,h(rG,h(e7(b[2]),rF))));default:var\ng=b[3],i=b[2],j=b[1][1],k=h(rJ,h(e7(b[4]),rI)),l=h(Q(rL,ct(function(a){return h(rK,a)},g)),k);return h(rO,h(j,h(Q(rN,ct(function(b){return h(rM,a(e+b[1]))},i)),l)))}},cu=function(a){return az(rQ,a[1])},hx=[A,rR,be(0)],aB=function(a){throw hx},hy=function(a){return rZ},hz=function(a){return r0},hA=function(a){return[0,a,0]},e8=function(a){return r1},e9=function(a){return r2},e_=function(a){return r3},bY=function(a){ci(r4);throw[0,s,r5]},hB=function(c,b,a){if(typeof\na===\"number\"&&3===a)return Q(0,b);return aB(0)},cy=function(e,H,c,a,G,F,g){var\nd=[0,H,F,G];if(typeof\ng===\"number\"&&5===g){var\nf=b(a,c);if(typeof\nf===\"number\")switch(f){case\n4:var\nh=b(a,c),i=hz(0),j=2;return e<50?_(e+1|0,d,c,a,i,j,h):n(_,[0,d,c,a,i,j,h]);case\n5:var\nk=b(a,c),l=hy(0),m=2;return e<50?_(e+1|0,d,c,a,l,m,k):n(_,[0,d,c,a,l,m,k]);default:return aB(0)}else\nswitch(f[0]){case\n0:var\no=f[1],p=b(a,c),q=2;return e<50?_(e+1|0,d,c,a,o,q,p):n(_,[0,d,c,a,o,q,p]);case\n1:var\nr=f[1],s=b(a,c),t=2;return e<50?_(e+1|0,d,c,a,r,t,s):n(_,[0,d,c,a,r,t,s]);case\n2:var\nu=f[1],v=2;return e<50?dN(e+1|0,d,c,a,u,v):n(dN,[0,d,c,a,u,v]);case\n3:var\nw=f[1],x=b(a,c),y=2;return e<50?_(e+1|0,d,c,a,w,y,x):n(_,[0,d,c,a,w,y,x]);case\n4:var\nz=f[1],A=b(a,c),B=2;return e<50?_(e+1|0,d,c,a,z,B,A):n(_,[0,d,c,a,z,B,A]);default:var\nC=f[1],D=b(a,c),E=2;return e<50?_(e+1|0,d,c,a,C,E,D):n(_,[0,d,c,a,C,E,D])}}return aB(0)},_=function(h,B,g,f,A,z,y){var\ne=B,d=A,c=z,a=y;for(;;)if(typeof\na===\"number\")switch(a){case\n4:var\nC=b(f,g),e=[0,e,c,d],d=hz(0),c=3,a=C;continue;case\n5:var\nD=b(f,g),e=[0,e,c,d],d=hy(0),c=3,a=D;continue;case\n2:case\n6:return aB(0);default:var\ni=e,l=[0,d,0],k=c;for(;;){if(2===k){var\nj=i[1],m=[0,i[3],[0,l]];switch(i[2]){case\n0:var\nt=hA(m),u=0;return h<50?bZ(h+1|0,j,g,f,t,u,a):n(bZ,[0,j,g,f,t,u,a]);case\n1:var\nv=j[2],w=j[1],x=[0,m,j[3]];return h<50?bZ(h+1|0,w,g,f,x,v,a):n(bZ,[0,w,g,f,x,v,a]);case\n7:var\nr=hA(m),s=7;return h<50?bZ(h+1|0,j,g,f,r,s,a):n(bZ,[0,j,g,f,r,s,a]);default:return bY(0)}}if(3===k){var\nJ=i[2],K=[0,i[3],l],i=i[1],l=K,k=J;continue}return bY(0)}}else\nswitch(a[0]){case\n0:var\nE=a[1],e=[0,e,c,d],d=E,c=3,a=b(f,g);continue;case\n1:var\nF=a[1],e=[0,e,c,d],d=F,c=3,a=b(f,g);continue;case\n2:var\no=a[1],p=[0,e,c,d],q=3;return h<50?dN(h+1|0,p,g,f,o,q):n(dN,[0,p,g,f,o,q]);case\n3:var\nG=a[1],e=[0,e,c,d],d=G,c=3,a=b(f,g);continue;case\n4:var\nH=a[1],e=[0,e,c,d],d=H,c=3,a=b(f,g);continue;default:var\nI=a[1],e=[0,e,c,d],d=I,c=3,a=b(f,g);continue}},dN=function(g,f,c,a,i,e){var\nd=b(a,c);if(typeof\nd===\"number\")switch(d){case\n2:case\n6:return aB(0)}else\nif(4===d[0]){var\nl=d[1],k=b(a,c),j=h(i,l);return g<50?dM(g+1|0,f,c,a,j,e,k):n(dM,[0,f,c,a,j,e,k])}return g<50?dM(g+1|0,f,c,a,i,e,d):n(dM,[0,f,c,a,i,e,d])},dM=function(g,f,e,d,c,b,a){return g<50?_(g+1|0,f,e,d,c,b,a):n(_,[0,f,e,d,c,b,a])},bZ=function(f,m,c,a,l,k,g){var\nd=[0,m,k,l];if(typeof\ng===\"number\")switch(g){case\n0:var\ne=b(a,c);if(typeof\ne===\"number\")switch(e){case\n1:case\n3:return f<50?dL(f+1|0,d,c,a,e):n(dL,[0,d,c,a,e])}else\nif(4===e[0]){var\no=e[1],h=b(a,c),i=[0,o],j=1;return f<50?cy(f+1|0,d,c,a,i,j,h):n(cy,[0,d,c,a,i,j,h])}return aB(0);case\n1:case\n3:return f<50?dL(f+1|0,d,c,a,g):n(dL,[0,d,c,a,g])}return bY(0)},dL=function(k,g,e,d,c){var\ni=g[2],h=g[1],m=g[3],l=[0,z[1],0],a=bi(function(a,b){var\nc=b[1][1],d=a[1],e=a[2];return f(z[3],c,d)?a:[0,f(z[4],c,d),[0,b,e]]},l,m)[2];if(i){if(7<=i){if(typeof\nc===\"number\"&&1===c){var\nj=b(d,e);return k<50?dK(k+1|0,h,e,d,a,j):n(dK,[0,h,e,d,a,j])}return aB(0)}return bY(0)}return hB(h,[0,a],c)},dK=function(e,r,c,a,k,j){var\nl=r[3],K=0,O=r[2],P=r[1];if(l&&!g(l[1],rY)){var\nf=l[2],s=0;if(f&&!g(f[1],rV)){var\no=f[2];if(o){var\np=o[2],t=o[1];if(p){if(!g(p[1],rX)){var\nq=p[2];if(q){var\nL=q[1],M=hp(q[2]),m=[2,[0,t],[0,[0,ho(L)]],M,k];s=1}}}else{var\nm=[2,[0,t],0,0,k];s=1}}}if(!s)var\nm=[1,az(rW,f),k]}else\nK=1;if(K)var\nm=[0,[0,G(bi(function(a,b){if(a){var\nc=a[2],d=a[1];return g(b,rT)?[0,h(d,b),c]:[0,rU,[0,d,c]]}return 0},rS,l))],k];var\nd=[0,P,O,m];if(typeof\nj===\"number\")switch(j){case\n3:var\ni=d,u=0;for(;;){var\nv=i[2],w=[0,i[3],u],N=i[1];if(4===v)return w;if(5===v){var\ni=N,u=w;continue}return bY(0)}case\n4:var\nx=b(a,c),y=e_(0),z=5;return e<50?a6(e+1|0,d,c,a,y,z,x):n(a6,[0,d,c,a,y,z,x]);case\n5:var\nA=b(a,c),B=e9(0),C=5;return e<50?a6(e+1|0,d,c,a,B,C,A):n(a6,[0,d,c,a,B,C,A]);case\n6:var\nD=b(a,c),E=e8(0),F=5;return e<50?a6(e+1|0,d,c,a,E,F,D):n(a6,[0,d,c,a,E,F,D])}else\nif(4===j[0]){var\nH=j[1],I=b(a,c),J=5;return e<50?a6(e+1|0,d,c,a,H,J,I):n(a6,[0,d,c,a,H,J,I])}return aB(0)},a6=function(k,p,f,e,o,m,l){var\nd=p,c=o,a=m,g=l;for(;;){if(typeof\ng===\"number\")switch(g){case\n2:var\nh=d,j=[0,c,0],i=a;for(;;)switch(i){case\n4:return k<50?dJ(k+1|0,h,f,e,j,i):n(dJ,[0,h,f,e,j,i]);case\n5:return k<50?dJ(k+1|0,h,f,e,j,i):n(dJ,[0,h,f,e,j,i]);case\n6:var\nu=h[2],v=[0,h[3],j],h=h[1],j=v,i=u;continue;default:return bY(0)}case\n4:var\nq=b(e,f),d=[0,d,a,c],c=e_(0),a=6,g=q;continue;case\n5:var\nr=b(e,f),d=[0,d,a,c],c=e9(0),a=6,g=r;continue;case\n6:var\ns=b(e,f),d=[0,d,a,c],c=e8(0),a=6,g=s;continue}else\nif(4===g[0]){var\nt=g[1],d=[0,d,a,c],c=t,a=6,g=b(e,f);continue}return aB(0)}},dJ=function(f,o,c,a,m,l){var\nd=[0,o,l,m],e=b(a,c);if(typeof\ne===\"number\"){if(1===e){var\ng=b(a,c),h=0;return f<50?dK(f+1|0,d,c,a,h,g):n(dK,[0,d,c,a,h,g])}}else\nif(4===e[0]){var\np=e[1],i=b(a,c),j=[0,p],k=7;return f<50?cy(f+1|0,d,c,a,j,k,i):n(cy,[0,d,c,a,j,k,i])}return aB(0)},r6=function(a,b,c,d,e,f){return bR(cy(0,a,b,c,d,e,f))},dE=function(a,b,c,d,e,f){return bR(a6(0,a,b,c,d,e,f))},r7=function(c,a){var\nd=b(c,a),e=0;if(typeof\nd===\"number\")switch(d){case\n3:return 0;case\n4:var\nf=b(c,a);return dE(e,a,c,e_(0),4,f);case\n5:var\ng=b(c,a);return dE(e,a,c,e9(0),4,g);case\n6:var\nh=b(c,a);return dE(e,a,c,e8(0),4,h)}else\nif(4===d[0]){var\ni=d[1];return dE(e,a,c,i,4,b(c,a))}return aB(0)},hC=[A,r9,be(0)],r8=function(d,c){var\na=b(d,c),e=0;if(typeof\na===\"number\"){if(3===a)return hB(e,0,a)}else\nif(4===a[0]){var\nf=a[1];return r6(e,c,d,[0,f],0,b(d,c))}return aB(0)},r$=function(c){a:for(;;){c[10]=aM(5,-1);var\nk=0;for(;;){var\nd=Ak(r_,k,c),j=0<=d?1:0,m=j?c[12]!==di?1:0:j;if(m){c[11]=c[12];var\nf=c[12];c[12]=[0,f[1],f[2],f[3],c[4]+c[6]|0]}if(20<d>>>0){b(c[1],c);var\nk=d;continue}switch(d){case\n0:return 3;case\n1:var\ng=c[12];c[12]=[0,g[1],g[2]+1|0,c[6],g[4]];continue a;case\n2:continue a;case\n3:return 4;case\n4:return 2;case\n5:return 1;case\n6:return 0;case\n7:return 5;case\n8:return 6;case\n9:return[3,J(c)];case\n10:return[5,J(c)];case\n11:return[4,J(c)];case\n12:return[0,J(c)];case\n13:return[2,J(c)];case\n14:return[1,J(c)];case\n15:var\nn=w(c[10],0)[1];return[1,eD(c,w(c[10],1)[2],n)];case\n16:return[4,J(c)];case\n17:continue a;case\n18:continue a;case\n19:continue a;default:var\ni=J(c),l=B(i,0);if(aK<l)return[1,i];throw[0,hC,h(sc,h(i,h(sb,h(a(e+l),sa))))]}}}},hD=function(c){var\nd=c[11],b=c[12],f=h(sd,a(e+((b[4]-b[3]|0)+1|0))),g=h(se,h(a(e+((d[4]-d[3]|0)+1|0)),f));return h(a(e+b[2]),g)},hE=function(c,a){var\nb=gM(0,c);try{var\ng=f(a,r$,b);return g}catch(a){a=C(a);if(a[1]===hC){var\nd=h(sf,a[2]);ci(h(hD(b),d));return 0}if(a===hx){var\ne=h(sg,c);ci(h(hD(b),e));return 0}throw a}},hF=function(a){return hE(a,r7)},e$=function(a){if(0===a[0])return hm(a[1]);var\nb=a[4],c=g(a[1],si);if(c){var\nd=0!==b?1:0;if(d)return gA(e$,b);var\ne=d}else\nvar\ne=c;return e},hG=function(a){var\nc=0;return G(bi(function(f,a){if(0===a[0]){var\nc=a[1],j=c[3],k=c[2],l=c[1],h=function(a){return hE(a[2],r8)},e=b(e1(function(a){return d(a[1],sh)}),k),i=e[2],g=bi(F,0,aj(h,e[1]));return[0,[1,l,i,g,hG(j)],f]}return[0,[0,a[1]],f]},c,a))},hH=function(b,a){return 0===a?b:[0,[0,sj,hw(0,a)],b]},hI=function(a){var\nb=0;return G(bi(function(b,a){if(0===a[0])return[0,[1,a[1]],b];var\nc=a[4],d=a[1],e=hH(a[2],a[3]);return[0,[0,[0,d,e,hI(c)]],b]},b,a))},hJ=function(u){var\nd=0,a=u;for(;;){if(a){var\ne=a[1],j=0;if(0===e[0]){var\nf=a[2];if(f){var\ng=f[1],k=e[1];if(0===g[0]){var\nv=f[2],a=[0,[0,h(k,g[1])],v];continue}var\no=f[2],n=k,m=g,l=g[1];j=1}}else{var\ni=a[2];if(i){var\ns=i[1],z=e[1];if(0===s[0]){var\no=i[2],n=s[1],m=e,l=z;j=1}}}if(j&&hr(l)&&hm(n)){var\na=[0,m,o];continue}var\nb=a[1];if(0===b[0]){var\nd=[0,[0,b[1]],d],a=a[2];continue}var\np=b[4],q=b[1],w=a[2],x=b[3],y=b[2];if(hr(q)){var\nc=p;for(;;){if(c){var\nt=c[2];if(e$(c[1])){var\nc=t;continue}}var\nr=dy(function(b,a){if(e$(b)&&0===a)return a;return[0,b,a]},c,0);break}}else\nvar\nr=p;var\nd=[0,[1,q,y,x,hJ(r)],d],a=w;continue}return G(d)}},hK=function(a){function\nc(d,a){var\nb=gE(d*2|0,32);if(0===a[0])return h(sm,h(b,h(sl,h(a[1],sk))));var\ne=a[4],f=a[1],g=hH(a[2],a[3]),i=h(so,h(b,sn)),j=d+1|0,k=h(sq,h(az(sp,aj(function(a){return c(j,a)},e)),i));return h(sw,h(b,h(sv,h(f,h(su,h(az(st,aj(function(a){var\nb=a[1];return h(b,h(ss,h(a[2],sr)))},g)),k))))))}return c(0,a)},bm=function(b,a){return[0,fP,[0,b,a]]},s0=[0,sZ,[0,sY,[0,sX,[0,sW,[0,sV,[0,sU,[0,sT,[0,sS,[0,sR,[0,sQ,[0,sP,[0,sO,[0,sN,[0,sM,[0,sL,[0,sK,[0,sJ,[0,sI,[0,sH,[0,sG,[0,sF,[0,sE,[0,sD,[0,sC,[0,sB,[0,[0,sA,[0,j,bm(i,sz)]],sy]]]]]]]]]]]]]]]]]]]]]]]]]],s7=[0,s6,[0,s5,[0,s4,[0,s3,[0,[0,s2,[0,j,bm(i,s1)]],s0]]]]],ta=[0,s$,[0,s_,[0,[0,s9,[0,o,bm(i,s8)]],s7]]],te=[0,[0,td,[0,o,[0,R,[0,tc,bm(i,tb)]]]],ta],tG=[0,tF,[0,tE,[0,tD,[0,tC,[0,tB,[0,tA,[0,tz,[0,ty,[0,tx,[0,tw,[0,tv,[0,tu,[0,tt,[0,ts,[0,tr,[0,tq,[0,tp,[0,[0,to,[0,o,[0,R,[0,hL,tn]]]],[0,[0,tm,[0,o,[0,R,[0,hL,tl]]]],[0,tk,[0,tj,[0,ti,[0,th,[0,[0,tg,[0,o,bm(i,tf)]],te]]]]]]]]]]]]]]]]]]]]]]]],tK=[0,tJ,[0,[0,tI,[0,c,bm(i,tH)]],tG]],tO=[0,tN,[0,[0,tM,[0,c,bm(i,tL)]],tK]],ue=[0,ud,[0,uc,[0,ub,[0,ua,[0,t$,[0,t_,[0,t9,[0,t8,[0,t7,[0,t6,[0,t5,[0,t4,[0,t3,[0,t2,[0,t1,[0,t0,[0,tZ,[0,tY,[0,tX,[0,tW,[0,tV,[0,tU,[0,tT,[0,tS,[0,tR,[0,[0,tQ,[0,c,bm(i,tP)]],tO]]]]]]]]]]]]]]]]]]]]]]]]]],hM=function(a){return hJ(hG(pE([0,ue],uh,ug,uf,0,gM(0,a))))},hN=function(a){return[0,[0,uD,a],uC]},fa=hN(uE),hO=function(n,m,a){var\nf=ad(function(b){var\na=b[1],c=d(a,hP),e=c||d(a,hQ);return e},n);function\no(a){return hn(a[2],7)}var\np=b(aI(hP),f),q=Q(fa,am(am(dw([ao,function(a){return b(aI(hQ),f)}],p),o),hN)),c=b(aI(uA),a),e=b(aI(uB),a),i=0;if(e&&c){var\nj=c[1][2],k=e[1][2],l=function(b){if(g(b,uv)&&g(b,uw))return a;return e5(uy,j,e5(ux,k,a))},h=am(aQ(function(a){return g(a[1][1],uz)?0:[0,cu(a[2])]},m),l);i=1}if(!i)var\nh=0;return F(q,Q(a,h))},hR=function(b,a){var\nc=[1,uF,0,0,a];return e6(b,function(b,a){return[0,[0,b,a]]},c)},uG=function(f,d,a,c){function\ne(b){var\nc=b[2],e=hO(d,a,b[1]);return[0,e,F(c,a)]}var\nb=Q([0,fa,0],am(hR(uH,c),e));return[0,[1,uI,b[1],b[2],0]]},uK=[0,function(a,e,c,b){return d(a,uJ)},uG],uL=function(a,b){return[0,a]},hS=function(a){return e6(uM,uL,a)},hT=function(d,a){if(0===a[0])return 0;var\nb=a[1];if(g(b,uN)){var\ne=a[4],f=a[3],h=a[2],c=function(b){if(b){var\na=b[1];if(0===a[0])return[0,a,c(b[2])];var\ne=a[1];if(g(e,uO)){var\nf=a[4],h=a[3],i=a[2],j=c(b[2]);return[0,[1,e,i,h,c(f)],j]}return[0,[1,uP,d,a[3],a[4]],b[2]]}return 0};return[0,[1,b,h,f,c(e)]]}return[0,[1,uQ,d,a[3],a[4]]]},uU=function(w,c,v,u,b){if(c){var\nn=c[1];if(!g(n[1],uV)&&!c[2]){var\na=n[2],m=a5(a,uR),s=m?e3(a,uS):m;if(s){if(b){var\nd=b[1];if(0!==d[0]&&!g(d[1],uW)){var\ne=d[2];if(e){var\no=e[1];if(!g(o[1],uX)&&!g(o[2],uY)&&!e[2]){var\nf=b[2];if(f){var\nh=f[2];if(h){var\ni=h[1],j=f[1];if(0!==i[0]&&!g(i[1],uZ)){var\nl=i[2];if(l){var\np=l[1];if(!g(p[1],u0)&&!g(p[2],u1)&&!l[2]){var\nt=h[2],q=hM(aq(a,15,(k(a)-9|0)-15|0)),r=function(a){function\nb(b){return hO(b[1],b[2],a)}var\nc=am(hR(uT,q),b);return hT(hi([ao,function(b){return F(fa,a)}],c),j)};return[0,[0,Q(j,aA(hS(j),r)),t]]}}}}}}}}}return 0}return 0}}return 0},u3=[0,function(a,b,c,d){return dC(u2,a,b,c,d)},uU],u7=function(u,b,t,s,a){if(b){var\nl=b[1];if(!g(l[1],u8)&&!b[2]){var\nm=l[2],k=a5(m,u4),q=k?e3(m,u5):k;if(q){if(a){var\nc=a[1];if(0!==c[0]&&!g(c[1],u9)){var\nd=c[2];if(d){var\nn=d[1];if(!g(n[1],u_)&&!g(n[2],u$)&&!d[2]){var\ne=a[2];if(e){var\nf=e[2];if(f){var\nh=f[1],i=e[1];if(0!==h[0]&&!g(h[1],va)){var\nj=h[2];if(j){var\no=j[1];if(!g(o[1],vb)&&!g(o[2],vc)&&!j[2]){var\nr=f[2],p=function(a){return hT([0,u6,a],i)};return[0,[0,Q(i,aA(hS(i),p)),r]]}}}}}}}}}return 0}return 0}}return 0},ve=[0,function(a,b,c,d){return dC(vd,a,b,c,d)},u7],hU=function(h,g,o){var\ni=h?h[1]:0,c=0,a=o;for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nc=[0,b,c],a=a[2];continue}var\nd=a[2],f=b[4],j=b[3],k=b[2],l=b[1],e=cz(g,l,k,j,f,d);if(typeof\ne===\"number\"){if(0===e){var\na=d;continue}var\nm=hU([0,i],g,f),n=[1,l,k,j,m];if(i&&bQ(m,f)){var\na=[0,n,d];continue}var\nc=[0,n,c],a=d;continue}else{if(0===e[0]){var\na=[0,e[1],d];continue}var\na=e[1];continue}}return G(c)}},hV=function(a,e,d,c,b){return Q(0,aQ(function(f){if(fl(f[1],e,d,c,b)){var\na=fl(f[2],e,d,c,b);if(typeof\na===\"number\"&&!a)return 0;return[0,a]}return 0},a))},dF=function(a,i,h,b){var\nc=a?a[1]:0;return hU([0,c],function(f,e,d,b,c){var\na=hV(i,f,e,d,b);if(typeof\na===\"number\")switch(a){case\n0:var\ng=aQ(function(a){return fl(a[1],f,e,d,b)?cz(a[2],f,e,d,b,c):0},h);return g?[1,g[1]]:1;case\n1:return[1,F(b,c)];default:return 0}else\nreturn 0===a[0]?[0,a[1]]:[1,F(a[1],c)]},b)},vg=function(c){if(!g(c[1][1],vh)){var\na=c[2][1];if(a){var\nb=a[2];if(b){var\nd=b[2],e=b[1],f=a[1],h=[ao,function(a){return hp(d)}];return[0,[0,[0,f],ho(e),h]]}}}return 0},fb=function(a){return aQ(vg,a)},dG=function(b,a){return aQ(function(a){var\nc=a[2];return d(a[1][1],b)?[0,cu(c)]:0},a)},hW=function(o){var\nc=0,a=o;a:for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nc=[0,b,c],a=a[2];continue}var\nk=a[2],f=b[2],h=b[1],p=b[3],l=hW(b[4]);if(f){var\nm=f[1];if(!g(m[1],vi)&&!g(m[2],vj)&&!f[2]&&!l){var\nn=0;if(d(h,vk)||d(h,vl))n=1;if(n){var\ni=1,e=hl(function(f){return function(a){if(1===a[0]){var\nb=a[2];if(b){var\nc=b[1],e=a[1];if(!g(c[1],qT)&&!g(c[2],qU)&&!b[2]&&d(e,f))return 1}}return 0}}(h),k)[2];for(;;){if(0===i)var\nj=e;else{if(e){var\ni=i-1|0,e=e[2];continue}var\nj=0}var\na=j;continue a}}}}var\nc=[0,[1,h,f,p,l],c],a=k;continue}return G(c)}},hX=function(a){return[0,vn,a[2],[0,vm,a[3]],0]},vJ=function(b){var\na=b[1][1],c=d(a,vK),e=c||d(a,vL);return e},vM=function(a){if(!g(a[1][1],vN)){var\nc=a[2],b=c[1];if(b&&!g(b[1],vO)&&!b[2])return[0,vP,c]}return a},hY=function(j,b,c){function\np(h){var\nk=h[3],c=h[2],i=c[3],f=c[2],l=c[1],o=c[4],p=h[1],m=0===k?0:hY(j,b,k),n=[0,vY,a(e+p)];if(d(l,vZ))return[1,l,[0,n,f],i,m];var\nq=V(function(a){return e4(v0,a)},f)?f:[0,v2,f],r=[0,n,F(eZ(function(a){return g(a[1][1],vT)?0:[0,[0,vU,cu(a[2])]]},i),q)],s=aj(vM,i);return[1,v1,r,s,F(hW(o),m)]}if(c){var\nk=c[1],l=k[2][3],m=k[1],i=function(g,e,c){function\nf(a){if(2===a[0]){var\nb=a[3];if(d(a[1][1],g)){if(c)var\nf=c[1],e=b?bN(f,b[1]):0;else\nvar\ne=0===b?1:0;if(e)return 1}}return 0}function\nh(a){if(2===a[0]){var\nb=a[2];if(b){var\nc=a[4];if(b[1][1]===e)return[0,c]}}return 0}function\ni(a){if(2===a[0]&&!a[2])return[0,a[4]];return 0}var\nb=ad(f,j),a=aQ(h,b);return a?a:aQ(i,b)},n=function(b){var\na=b[3],d=b[2],e=b[1][1],c=bg(a),f=bo===c?a[1]:ao===c?ck(a):a;return i(e,d,f)},o=function(c){var\na=[ao,function(e){function\na(a){return aA(fb(l),n)}var\nb=dG(vQ,c);return aA(dx(function(a){return d(vR,a)},b),a)}];function\nm(h){var\na=dh(h);if(g(a,vw))if(g(a,vx)){var\ne=0;if(g(a,vy)&&g(a,vz))var\nb=g(a,vA)?g(a,vB)?0:vD:vE;else\ne=1;if(e)var\nf=function(a){return d(a,qO)?vt:d(a,qP)?vu:d(a,qN)?0:0},b=aA(dG(vv,c),f)}else\nvar\nb=vF;else\nvar\nb=vG;return dw([ao,function(a){return vC}],b)}var\nh=Q(vI,aA(dG(vH,c),m)),b=h[1],j=h[2],e=hj(am(j,function(a){return[0,vo,[0,[0,a,0]]]}));if(d(b,vp))return[0,b,0,e];function\nf(a){return dG(vq,a)}var\ni=[ao,function(d){var\nb=bg(a),c=bo===b?a[1]:ao===b?ck(a):a;return aA(c,f)}];function\nk(a){return[0,vr,a]}var\no=dw(i,f(c));return[0,b,hj(am(dx(function(a){return g(a,vs)},o),k)),e]},f=Q(vS,am(i(b,m,0),o)),q=f[3],r=f[2],s=f[1],t=aj(p,c),u=F([0,[0,vX,h(b,h(vW,a(e+m)))],[0,[0,vV,b],0]],r);return[0,[1,s,u,F(q,ad(vJ,l)),t],0]}return 0},v4=function(c,b,a,f){var\nd=0,e=bX[1]?v5:v6;return[0,[1,c,b,a,[0,e,d]]]},wb=[0,function(o,r,q,b){var\nm=d(o,wa);if(m){var\nn=1===bh(b)?1:0;if(n){if(b){var\nh=b[1];if(0!==h[0]&&!b[2]){var\nc=h[1],a=h[4];for(;;){var\nj=d(c,v7);if(j)var\nf=j;else\nvar\np=d(c,v_),f=p||d(c,v$);if(f){if(a){var\ne=a[1];if(0===e[0]){var\nk=e[1];if(g(k,v8)){if(!g(k,v9)&&!a[2]&&bX[1])return 1}else\nif(!a[2])return 1}else\nif(!a[2]){var\nc=e[1],a=e[4];continue}}var\nl=0}else\nvar\nl=f;return l}}}var\ni=0}else\nvar\ni=n}else\nvar\ni=m;return i},v4],wd=b(z[37],wc),hZ=function(e){var\na=e;for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nc=a[2];if(c){var\nd=c[1],f=b[1];if(0===d[0]){var\ng=c[2],a=[0,[0,h(f,d[1])],g];continue}}}return[0,b,hZ(a[2])]}return a}},h0=function(e,d){var\nb=0,a=e,c=d;for(;;){if(a){var\nb=[0,a[1],b],a=a[2];continue}if(c){var\nb=[0,c[1],b],a=0,c=c[2];continue}return G(b)}},wn=function(e,c,h,i,a){var\nj=b(aI(wq),c);if(a){var\nf=a[1];if(0===f[0])var\nk=0;else{var\nr=f[4],s=f[2],t=f[1],u=b(aI(wr),s),m=g(e,t);if(m)var\nn=m;else\nvar\np=j?1:0,q=1-p,n=q||bQ(j,u);if(n)var\no=0;else\nvar\nv=function(a){if(0===a[0])return 0;var\ng=a[4],b=d(a[1],ws);if(b){if(0===a[0])var\nc=0;else\nvar\nf=a[3],c=V(function(a){var\nc=a[2][1],b=d(a[1][1],wo),e=b?bN(c,wp):b;return e},f);var\ne=c}else\nvar\ne=b;return e?[0,g]:0},o=aA(dz(r),v);var\nk=o}var\nl=k}else\nvar\nl=0;return ct(function(g){var\nf=G(i);if(f)var\nj=f[1],d=[0,j,G(f[2])];else\nvar\nd=0;if(d){var\nb=d[1],k=d[2];if(0===b[0]){var\nl=dd(a);return[0,[1,e,c,h,F(i,g)],l]}var\nm=b[4],n=b[3],o=b[2],p=b[1],q=dd(a);return[0,[1,e,c,h,F(k,[0,[1,p,o,n,F(m,g)],0])],q]}return[0,[1,e,c,h,g],dd(a)]},l)},wv=[0,function(a,g,f,e){var\nb=d(a,wt),c=b||d(a,wu);return c},wn],h1=function(a){var\nc=b(aI(ww),a);return c7(Q(wx,ct(function(a){return a[2]},c)))},wy=function(e,c,o,g,f){function\na(a){var\nh=a[2],i=dz(f);return aA(i,function(a){if(0===a[0])return 0;var\ni=a[2],p=a[4],q=a[1],j=b(aI(wz),i);return aA(j,function(r){var\nb=r[2],s=h1(c),t=h1(i),u=(s+bh(g)|0)===t?1:0,j=d(e,wA),k=j?d(b,h):j;if(k)var\na=k;else{var\nl=d(e,wB);if(l){var\nm=d(q,wC);if(m)var\nn=d(b,h),a=n?u:n;else\nvar\na=m}else\nvar\na=l}if(a){var\nv=dd(f);return[0,[0,[1,e,c,o,F(g,p)],v]]}return 0})})}return aA(b(aI(wD),c),a)},wG=[0,function(a,g,f,e){var\nb=d(a,wE),c=b||d(a,wF);return c},wy],wH=function(e,a,d,c){var\nb=ad(function(a){return g(a[1],wI)},a);return a===b?0:[0,[1,e,b,d,c]]},wJ=[0,function(d,a,c,b){return 0!==a?1:0},wH],h2=function(a){var\ne=3<=k(a)?1:0;if(e){var\nf=58===B(a,1)?1:0;if(f){var\nb=B(a,0),d=0;if(113<=b){if(!(2<b-118>>>0))d=1}else\nif(111<=b)d=1;if(!d)return 0;var\nc=1}else\nvar\nc=f}else\nvar\nc=e;return c},wN=function(d,c,b,a){return a?1:2},wO=[0,function(a,d,c,b){return h2(a)},wN],wP=function(e,a,d,c){if(a){var\nb=a[1];if(!g(b[1],wQ)&&!a[2]&&a5(b[2],wR))return 1}return 0},wT=[0,function(a,e,c,b){return d(a,wS)},wP],wY=function(h,b,f,e){if(b){var\nc=b[1];if(!g(c[1],wZ)&&!b[2]){var\na=dh(c[2]);if(!d(a,wU)&&!d(a,wV)&&!a5(a,wW)&&!a5(a,wX))return 0;return 2}}return 0},w2=[0,function(a,h,g,c){var\ne=d(a,w0),b=e||d(a,w1),f=b?0===c?1:0:b;return f},wY],w5=function(d,c,b,a){return 2},w6=[0,function(e,a,c,b){return V(function(a){var\nc=a[2],b=d(a[1],w3),e=b?d(c,w4):b;return e},a)},w5],w9=function(d,c,b,a){return 2},w_=[0,function(e,c,a,b){return V(function(a){var\nc=a[2][1],b=d(a[1][1],w7);return b?V(function(a){return d(a,w8)},c):b},a)},w9],xa=function(d,c,b,a){return 1},xb=[0,function(e,c,a,b){return V(function(a){return d(a[1][1],w$)},a)},xa],xe=function(d,c,b,a){return 2},xg=[0,function(f,e,h,g){var\na=bX[1];if(a){var\nb=d(f,xf);if(b)return V(function(a){var\nc=a[2],b=d(a[1],xc),e=b?d(c,xd):b;return e},e);var\nc=b}else\nvar\nc=a;return c},xe],xj=function(d,c,b,a){return 2},xk=[0,function(f,b,e,c){var\na=bX[1];return a?V(function(a){var\nc=a[2],b=d(a[1],xh),e=b?d(c,xi):b;return e},b):a},xj],xl=function(d,a,c,b){if(a&&!g(a[1][1],xm)&&!a[2])return 2;return 0},xo=[0,function(a,b,c,d){return dC(xn,a,b,c,d)},xl],h3=b(z[37],xp),xr=b(z[37],xq),xs=b(b(z[7],h3),xr),xA=function(d,c,b,a){return 1},h4=[0,function(g,f,e,h){var\na=d(g,xB);if(a)var\nb=0===f?1:0,c=b?0===e?1:0:b;else\nvar\nc=a;return c},xA],xC=function(i,h,f,c){if(c){var\na=c[1];if(0!==a[0]&&!g(a[1],xD)&&!c[2]){var\nj=a[4],k=a[3],l=a[2],e=b(e1(function(a){return e4(xE,a)}),l),d=e[1],m=e[2];if(d&&!d[2])return[0,[1,i,e5(xG,d[1][2],h),f,[0,[1,xF,m,k,j],0]]];return 0}}return 0},xI=[0,function(a,e,c,b){return d(a,xH)},xC],xM=function(q,p,c,n){if(V(function(a){var\nc=a[2][1],b=d(a[1][1],xN),e=b?bN(c,xO):b;return e},c)){var\nb=G(n),g=0;if(b){var\na=b[1];if(0!==a[0]){var\ni=b[2],j=a[4],k=a[3],l=a[2],m=a[1],o=Q(0,aQ(function(a){var\nb=a[2];return d(a[1][1],xJ)?[0,[0,[0,xK,cu(b)],0]]:0},c)),e=ad(function(a){return a5(a[1][1],xL)},c),h=F(ad(function(a){var\nb=a[1][1];return 1-V(function(a){return d(a[1][1],b)},e)},k),e),f=[0,[1,m,F(o,l),h,j],i];g=1}}if(!g)var\nf=0;return[1,G(f)]}return 0},xQ=[0,function(a,e,c,b){return d(a,xP)},xM],xS=b(z[37],xR),h5=function(a){return f(z[3],a,xS)},xU=b(z[37],xT),x_=function(c,a,b){return h5(a)},fc=function(s,b,a){var\nn=h5(b);if(n)var\no=n;else{var\np=f(z[3],b,xU);if(p)var\nj=p;else{var\nl=45===B(b,0)?1:0;if(l)var\ni=l;else{var\nm=a5(b,x8);if(m)var\nr=1-s,i=r||g(b,x9);else\nvar\ni=m}var\nj=i}if(j)var\nq=j;else{var\ne=0;if(g(b,xV)&&g(b,xW)){var\nc=0;if(g(b,xX)){var\nd=0;if(g(b,xY))if(g(b,xZ))if(g(b,x0))if(g(b,x1)){if(g(b,x2)){c=1;d=1}}else\nif(a&&!(g(a[1],x4)||a[2])){var\nk=bX[1];e=2;c=1;d=1}else{c=1;d=1}else\nif(a&&!(g(a[1],x5)||a[2])){e=1;c=1;d=1}else{c=1;d=1}else\nd=1;if(!d)if(a&&!(g(a[1],x3)||a[2])){e=1;c=1}else\nc=1}if(!c&&a&&!g(a[1],x6)&&!a[2])e=1}else\ne=3;var\nh=0;switch(e){case\n3:if(a&&!g(a[1],x7)&&!a[2])h=2;break;case\n0:break;case\n1:h=2;break;default:h=1}switch(h){case\n0:var\nk=0;break;case\n2:var\nk=1;break}var\nq=k}var\no=1-q}return o},ya=b(z[37],x$),h6=function(a,c,b){var\nd=a?a[1]:0,e=c?fc:x_;return ad(function(a){return e(d,a[1][1],a[2][1])},b)},yb=function(a){var\nb=a[2][1],c=a[1][1],e=d(c,yc);if(e)var\nf=hq[1],g=f?V(function(a){return d(a,yd)},b):f;else\nvar\ng=e;return g?[0,[0,c],[0,aj(function(a){return d(a,ye)?yf:a},b)]]:a},h7=function(a,c){var\nd=a?a[1]:0;function\nb(g,f,a,e){var\nb=h6([0,d],c,a);return a===b?0:[0,[1,g,f,b,e]]}return[0,function(c,g,b,e){var\na=0!==b?1:0,d=a?1-f(z[3],c,ya):a;return d},b]},yg=function(b,a){if(0===b[0]){var\nd=b[1][1],c=h6(0,1,b[2]);if(0===c)return a;var\ne=aj(yb,c);return[0,[0,[0,ad(function(a){return g(a,yh)},d)],e],a]}return a},h8=b(z[37],yi),fd=function(a){return ad(function(a){return 1-f(z[3],a[1],h8)},a)},h9=function(g,f,e,a){return ad(function(c){var\na=c[1][1],h=c[2][1];if(g){var\nb=1-d(a,e);return b?fc(1,a,h):b}return d(a,f)},a)},yl=function(k,e,c,j){var\nb=e0(function(a){return d(a[1],yk)},e);if(b){var\nf=b[1];if(!V(function(a){return d(a[1][1],ym)},c)){var\na=f[2],g=f[1],i=kj(a)?h(a,yj):a;return[0,[1,k,e,[0,[0,[0,g],[0,[0,i,0]]],c],j]]}}return 0},yo=[0,function(a,e,c,b){return d(a,yn)},yl],yw=[0,uK,[0,wO,[0,wT,[0,w6,[0,w_,[0,xb,[0,xg,[0,xk,0]]]]]]]],h_=[A,yE,be(0)],yB=function(H,E,D,aw,av){var\nc=E?E[1]:0,I=D?D[1]:0,l=hM(aw);if(I)ci(h(yC,az(sx,aj(hK,l))));var\ni=l;for(;;){if(i){var\nj=i[1],K=0;if(1===j[0]&&!g(j[1],qZ)){var\nM=j[4],N=j[2];hq[1]=V(function(a){return as(a[2],q0)},N);var\nq=[0,M];K=1}if(!K){var\ni=i[2];continue}}else\nvar\nq=0;if(q){var\nR=q[1],t=e2(function(a){if(1===a[0]&&!g(a[1],uj))return 1;return 0},R),n=t[2],O=t[1],L=0,aC=Q(0,am(hs(dA(hu,dA(ht(un),O))),hF));if(n){var\nk=n[1];if(0!==k[0]&&!g(k[1],ui)){var\no=[0,k[3],k[4]];L=1}}if(!L)var\no=[0,0,n];var\nm=[0,aC,o[2],o[1]]}else\nvar\nu=hl(function(a){if(1===a[0]){var\nb=a[2];if(b){var\nc=b[1],f=a[1];if(!g(c[1],uk)&&!b[2]){var\nh=c[2],e=dC(ul,f,b,a[3],a[4]),i=e?d(dh(h),um):e;return i}}}return 0},l),v=u[2],P=u[1],m=v?[0,Q(0,am(hs(dA(hu,dA(ht(up),[0,[1,uo,0,0,P],0]))),hF)),v,0]:[0,0,l,0];var\ns=m[1],ax=m[3],ay=m[2],au=0,at=[0,xQ,[0,h7(yy,c),[0,h4,0]]],W=function(o,m,f,l,k){function\na(p){var\nn=p[1][1],q=[0,[1,o,m,f,l],k];function\ni(t,j){var\na=t;for(;;){if(a){var\nc=a[1];if(0!==c[0]){var\nk=a[2],f=c[4],g=c[3],l=c[2],m=c[1],o=fb(g);if(o){var\np=o[1],h=p[2],q=p[1][1];if(j){var\nu=j[1];if(d(q,n)&&h===u){var\nr=i(k,j);return[0,[0,[0,h,[0,m,l,g,f]],r[1]],r[2]]}}else\nif(d(q,n)){var\ns=i(k,[0,h]);return[0,[0,[0,h,[0,m,l,g,f]],s[1]],s[2]]}return[0,0,a]}var\nb=hV(at,m,l,g,f);if(typeof\nb===\"number\")switch(b){case\n0:var\ne=0;break;case\n1:var\ne=[0,f];break;default:var\ne=vf}else\nvar\ne=0===b[0]?[0,[0,b[1],0]]:[0,b[1]];if(e){var\na=F(e[1],k);continue}return[0,0,a]}}return[0,0,a]}}var\nb=i(q,0),a=b[1],r=b[2];function\ne(k,j){var\na=k,b=j;for(;;){if(b){var\nf=b[1],g=f[2],d=f[1],l=b[2];if(a){var\nh=a[1],c=h[1],m=a[2],n=h[2];if(c<d){var\no=d===(c+1|0)?0:[0,[0,c+1|0,hX(g),0],0],i=e(o,b),p=i[2],a=[0,[0,c,n,G(i[1])],m],b=p;continue}if(d<c)return[0,a,b]}var\na=[0,[0,d,g,0],a],b=l;continue}return[0,a,0]}}if(a)var\nc=a[1],h=c[2],j=1===c[1]?0:[0,[0,1,hX(h),0],0],g=G(e(j,a)[1]);else\nvar\ng=0;return[0,F(hY(s,n,g),r)]}return Q(0,am(fb(f),a))},aA=dF(0,yw,[0,ve,[0,u3,[0,[0,function(a,e,c,b){return d(a,v3)},W],au]]],ay),ah=[0,h4,[0,xI,0]],af=b(z[37],yt),ag=function(g,b,a,f){var\nd=fd(b),e=h9(c,yv,yu,a);if(d===b&&e===a)return 0;return[0,[1,g,d,e,f]]},ai=[0,[0,function(a,d,c,b){return f(z[3],a,af)},ag],ah],ae=function(g,b,a,f){var\nd=fd(b),e=h9(c,yr,yq,a);if(d===b&&e===a)return 0;return[0,[1,g,d,e,f]]},ak=[0,[0,function(a,e,c,b){return d(a,ys)},ae],ai],ac=function(h,b,a,g){var\nd=fd(b),e=ad(function(a){var\nb=a[1][1],d=a[2][1];return c?fc(1,b,d):f(z[3],b,h8)},a);if(d===b&&e===a)return 0;return[0,[1,h,d,e,g]]},al=[0,yo,[0,[0,function(a,e,c,b){return d(a,yp)},ac],ak]],ab=function(d,c,b,a){return a?1:2},an=[0,[0,function(a,h,g,e){if(c)return 0;var\nd=b(z[37],av);return f(z[3],a,d)},ab],al],ap=[0,xo,[0,w2,[0,wb,[0,h7(yx,c),an]]]],aa=function(e,c,b,a){return V(function(b){if(0===b[0]){var\na=b[1][1];if(a&&!g(a[1],xx)&&!a[2])return 1}return 0},s)?[0,[1,e,ad(function(a){var\nc=a[2],b=d(a[1],xy),e=b?d(c,xz):b;return 1-e},c),b,a]]:1},aq=[0,[0,function(f,a,e,b){return c?V(function(a){var\nc=a[2],b=d(a[1],xv),e=b?d(c,xw):b;return e},a):0},aa],ap],_=c?h3:xs,$=function(g,a,e,c){var\nb=ad(function(c){var\na=c[1],i=c[2],e=h2(a);if(e)var\ng=e;else\nvar\nb=d(a,xt),h=b?d(i,xu):b,g=h||f(z[3],a,_);return 1-g},a);return a===b?0:[0,[1,g,b,e,c]]},r=[0,0],ar=[0,rf,[0,q_,[0,[0,function(d,a,c,b){return 0!==a?1:0},$],aq]]],Y=[0,wv,0],X=function(m,i,u,c){var\nf=[ao,function(h){function\nf(v){var\nb=v[2],f=r[1];try{var\nn=co(b,f)}catch(a){a=C(a);if(a===p){r[1]=[0,[0,b,bh(c)],f];return 0}throw a}if(c){var\nj=c[1];if(0!==j[0]&&!g(j[1],wh)){var\nl=j[4];if(l){var\nt=l[1];if(0!==t[0]&&!g(t[1],wi)&&!l[2]&&!c[2])return 0}}}function\nw(a){return a[1]}var\nx=am(dz(f),w),h=function(a){return Q(b,a)}(x),y=function(a){return dB(a,58)}(b),z=c7(function(a){return ey(a,1)}(y)),A=function(a){return dB(a,58)}(b),k=function(a){return ey(a,0)}(A),B=function(a){return dB(a,58)}(h),D=c7(function(a){return ey(a,1)}(B)),E=dz(function(a){return dB(a,58)}(h)),o=function(a){return Q(k,a)}(E),q=z<D?1:0,F=d(h,b),G=F||q||g(o,k),s=G?a(e+(n+1|0)):a(f1),H=d(h,b),I=H||q||g(o,k),J=I?n+bh(c)|0:bh(c);r[1]=[0,[0,b,J],f];if(!d(m,we)&&!d(s,wf))return[0,[1,m,[0,[0,wg,s],i],u,c]];return 0}return Q(0,am(b(aI(wj),i),f))}];function\nh(a){return 0}return hi(f,am(b(aI(wk),i),h))},Z=dF(wK,[0,[0,function(a,g,f,e){var\nb=d(a,wl),c=b||d(a,wm);return c},X],ar],Y,aA),B=function(i,h){var\na=i,c=h;for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nj=a[2],a=j,c=h0(c,[0,b,0]);continue}var\nd=a[2],e=b[1],k=b[3],l=b[2],g=B(b[4],0);if(f(z[3],e,wd)&&0===g){var\na=d;continue}var\na=d,c=h0(c,[0,[1,e,l,k,hZ(g)],0]);continue}return c}},aD=dF(wM,[0,wJ,0],0,dF(wL,0,[0,wG,0],B(Z,0))),J=c?gz(yg,s,0):0,aB=c?eZ(function(a){var\nb=a[2];return d(a[1][1],yz)?[0,[0,yA,cu(b)]]:0},ax):0,S=H?H[1]:1,w=0===J?0:[0,[1,uu,0,0,[0,[0,az(rP,aj(rC,J))],0]],0],x=S?[0,uq,0]:0,y=0===x?1:0,T=y?0===w?1:0:y,U=T?0:[0,[1,ut,0,0,F(x,w)],0],A=[1,us,0,0,F(U,[0,[1,ur,aB,0,aD],0])];if(I)ci(h(yD,hK(A)));return[0,A,0]}};nt(yF,[0,h_,[0]]);(function(a){throw a});var\ncv=x,fe=null,ff=undefined,dH=function(a){return a==fe?0:[0,a]},yG=cv.Array;gZ(function(a){return a[1]===h_?[0,ai(a[2].toString())]:0});gZ(function(a){return a\ninstanceof\nyG?0:[0,ai(a.toString())]});var\nh$=cv.document;cv.HTMLElement===ff;var\nyH=z6(0),ia=function(b,a){return as(a,b)},yI=0,yN=[0,[0,yM,0,function(a){var\nc=as(a,yJ),b=c||as(a,yL);return b?as(a,yK):b}],yI],yQ=[0,[0,yP,0,function(a){return ia(yO,a)}],yN],yT=[0,[0,yS,0,function(a){return ia(yR,a)}],yQ],yX=[0,[0,yW,0,function(a){var\nb=as(a,yU);return b?b:as(a,yV)}],yT],y2=[0,[0,y1,y0,function(a){var\nb=as(a,yY),c=b?1-as(a,yZ):b;return c}],yX],y8=[0,[0,y7,0,function(a){var\nc=as(a,y3);if(c){var\nd=as(a,y4);if(d){var\ne=as(a,y5);if(e)return as(a,y6);var\nb=e}else\nvar\nb=d}else\nvar\nb=c;return b}],y2],y9=ai(cv.navigator.userAgent),y_=function(k){var\na=y8,h=dh(y9);for(;;){if(a){var\nc=a[1],g=a[2];if(!b(c[3],h)){var\na=g;continue}var\ne=[0,c]}else\nvar\ne=0;var\nj=gy(function(a){return[0,a[1]]},e),f=gy(function(a){return d(a[1],y$)},j),i=0;return f?f[1]:i}},ib=function(a){var\nb=bN(a,fe)?ff:a;return b===ff?0:[0,b]},za=function(a){return d(ai(typeof\na),zb)},zc=function(d){var\na=d.src,b=a.length;if(0<b){var\nc=a.indexOf(fM),e=c<0?b:c,f=iP[\"length\"];return(a.indexOf(iP)+f|0)===e?1:0}return 0},ic=function(a){var\nb=a.split(bu),c=[0,cv];return b.reduce(z8(function(a,b,d,c){return a?ib(a[1][b]):a}),c)},id=function(a){if(a){var\nb=a[1],c=dH(b.getAttribute(jn));if(c){var\nd=c[1];b.removeAttribute(jn);return dx(za,ic(d))}return 0}return 0},zd=[ao,function(g){var\nd=h$.getElementsByTagName(ap),b=0,a=0,e=d.length;for(;;){if(a<e){var\nc=dH(d.item(a));if(c){var\nb=[0,c[1],b],a=a+1|0;continue}var\na=a+1|0;continue}var\nf=G(b);return aQ(function(a){var\nb=a.tagName.toLowerCase()===ap?a:fe;return id(dx(zc,dH(b)))},f)}}],ze=id(ib(h$.currentScript)),ie=function(a){return dw(zd,a)}(ze);bX[1]=y_(0);var\nfg=[0,0,0,0],zf=function(n,m){if(!fg[1]){if(0===dI)var\na=g5([0]);else{var\nd=g5(gK(nv,dI)),g=dI.length-1-1|0,k=0;if(!(g<0)){var\nc=k;for(;;){var\nh=(c*2|0)+2|0;d[3]=aJ(dq[4],dI[1+c],h,d[3]);d[4]=aJ(dr[4],h,1,d[4]);var\nl=c+1|0;if(g!==c){var\nc=l;continue}break}}var\na=d}var\ni=nB(a,zg),e=nz(a,zh),j=function(c){var\na=c[1+i];return b(a[2],a[1])};nx[1]++;if(f(dr[28],e,a[4])){eQ(a,e+1|0);w(a[2],e)[1+e]=j}else\na[6]=[0,[0,e,j],a[6]];var\no=function(d){var\nb=j6(A,a[1]);b[1]=a[2];var\nc=Ap(b);c[1+i]=d;return c};g6[1]=(g6[1]+a[1]|0)-1|0;a[8]=G(a[8]);eQ(a,3+((w(a[2],1)[2]*16|0)/32|0)|0);fg[1]=o}return b(fg[1],[0,n,m])},zi=function(n,m,l,j){var\ne=dH(j);if(e){var\nd=gK(ai,z7(e[1])),a=d.length-1-1|0,b=0;for(;;){if(0<=a){var\nh=[0,d[1+a],b],a=a-1|0,b=h;continue}var\nf=b;break}}else\nvar\nf=0;var\ng=ai(m),i=hI(yB(0,[0,l|0],[0,0],g,f)),c=gP(k(g));pY(eR,1,function(a){return bU(c,a)},i);return gk(gQ(c))},ig=function(a,b){return{\"cleanDocument\":z9(a)}}(zi,zf),zj=function(c,b){var\na=ic(\"tinymce.Resource.add\");return a?a[1](c,b):yH.error(\"Unable to find Word Import registration API\")},zk=function(a){return a(ig)};if(ie)zk(ie[1]);else\nzj(zl,ig);ew(0);return}}(globalThis));\n","/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var typeOf$1 = function (x) {\n      if (x === null) {\n        return 'null';\n      }\n      if (x === undefined) {\n        return 'undefined';\n      }\n      var t = typeof x;\n      if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      }\n      if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      }\n      return t;\n    };\n    var isEquatableType = function (x) {\n      return ['undefined', 'boolean', 'number', 'string', 'function', 'xml', 'null'].indexOf(x) !== -1;\n    };\n\n    var sort$1 = function (xs, compareFn) {\n      var clone = Array.prototype.slice.call(xs);\n      return clone.sort(compareFn);\n    };\n\n    var contramap = function (eqa, f) {\n      return eq$2(function (x, y) {\n        return eqa.eq(f(x), f(y));\n      });\n    };\n    var eq$2 = function (f) {\n      return {\n        eq: f\n      };\n    };\n    var tripleEq = eq$2(function (x, y) {\n      return x === y;\n    });\n    var eqString = tripleEq;\n    var eqArray = function (eqa) {\n      return eq$2(function (x, y) {\n        if (x.length !== y.length) {\n          return false;\n        }\n        var len = x.length;\n        for (var i = 0; i < len; i++) {\n          if (!eqa.eq(x[i], y[i])) {\n            return false;\n          }\n        }\n        return true;\n      });\n    };\n    var eqSortedArray = function (eqa, compareFn) {\n      return contramap(eqArray(eqa), function (xs) {\n        return sort$1(xs, compareFn);\n      });\n    };\n    var eqRecord = function (eqa) {\n      return eq$2(function (x, y) {\n        var kx = Object.keys(x);\n        var ky = Object.keys(y);\n        if (!eqSortedArray(eqString).eq(kx, ky)) {\n          return false;\n        }\n        var len = kx.length;\n        for (var i = 0; i < len; i++) {\n          var q = kx[i];\n          if (!eqa.eq(x[q], y[q])) {\n            return false;\n          }\n        }\n        return true;\n      });\n    };\n    var eqAny = eq$2(function (x, y) {\n      if (x === y) {\n        return true;\n      }\n      var tx = typeOf$1(x);\n      var ty = typeOf$1(y);\n      if (tx !== ty) {\n        return false;\n      }\n      if (isEquatableType(tx)) {\n        return x === y;\n      } else if (tx === 'array') {\n        return eqArray(eqAny).eq(x, y);\n      } else if (tx === 'object') {\n        return eqRecord(eqAny).eq(x, y);\n      }\n      return false;\n    });\n\n    const getPrototypeOf$2 = Object.getPrototypeOf;\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$1 = t => a => t === a;\n    const is$4 = (value, constructor) => isObject(value) && hasProto(value, constructor, (o, proto) => getPrototypeOf$2(o) === proto);\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isPlainObject = value => is$4(value, Object);\n    const isArray$1 = isType$1('array');\n    const isNull = eq$1(null);\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$1(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n    const isArrayOf = (value, pred) => {\n      if (isArray$1(value)) {\n        for (let i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    const noop = () => {};\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const not = f => t => !f(t);\n    const die = msg => {\n      return () => {\n        throw new Error(msg);\n      };\n    };\n    const apply$1 = f => {\n      return f();\n    };\n    const call = f => {\n      f();\n    };\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const indexOf$1 = (xs, x) => {\n      const r = rawIndexOf(xs, x);\n      return r === -1 ? Optional.none() : Optional.some(r);\n    };\n    const contains$2 = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const map$3 = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$e = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const partition$2 = (xs, pred) => {\n      const pass = [];\n      const fail = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        const arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass,\n        fail\n      };\n    };\n    const filter$5 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldr = (xs, f, acc) => {\n      eachr(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const foldl = (xs, f, acc) => {\n      each$e(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil$1 = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find$2 = (xs, pred) => {\n      return findUntil$1(xs, pred, never);\n    };\n    const findIndex$2 = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(i);\n        }\n      }\n      return Optional.none();\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray$1(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind$3 = (xs, f) => flatten(map$3(xs, f));\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const reverse = xs => {\n      const r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    const difference = (a1, a2) => filter$5(a1, x => !contains$2(a2, x));\n    const mapToObject = (xs, f) => {\n      const r = {};\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    const sort = (xs, comparator) => {\n      const copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    const get$b = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$b(xs, 0);\n    const last$3 = xs => get$b(xs, xs.length - 1);\n    const from = isFunction(Array.from) ? Array.from : x => nativeSlice.call(x);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n    const unique$1 = (xs, comparator) => {\n      const r = [];\n      const isDuplicated = isFunction(comparator) ? x => exists(r, i => comparator(i, x)) : x => contains$2(r, x);\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (!isDuplicated(x)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty$1 = Object.hasOwnProperty;\n    const each$d = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const map$2 = (obj, f) => {\n      return tupleMap(obj, (x, i) => ({\n        k: i,\n        v: f(x, i)\n      }));\n    };\n    const tupleMap = (obj, f) => {\n      const r = {};\n      each$d(obj, (x, i) => {\n        const tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each$d(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const bifilter = (obj, pred) => {\n      const t = {};\n      const f = {};\n      internalFilter(obj, pred, objAcc(t), objAcc(f));\n      return {\n        t,\n        f\n      };\n    };\n    const filter$4 = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const mapToArray = (obj, f) => {\n      const r = [];\n      each$d(obj, (value, name) => {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    const values = obj => {\n      return mapToArray(obj, identity);\n    };\n    const get$a = (obj, key) => {\n      return has$2(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has$2 = (obj, key) => hasOwnProperty$1.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has$2(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    const equal$1 = (a1, a2, eq = eqAny) => eqRecord(eq).eq(a1, a2);\n\n    const stringArray = a => {\n      const all = {};\n      each$e(a, key => {\n        all[key] = {};\n      });\n      return keys(all);\n    };\n\n    const isArrayLike = o => o.length !== undefined;\n    const isArray = Array.isArray;\n    const toArray$1 = obj => {\n      if (!isArray(obj)) {\n        const array = [];\n        for (let i = 0, l = obj.length; i < l; i++) {\n          array[i] = obj[i];\n        }\n        return array;\n      } else {\n        return obj;\n      }\n    };\n    const each$c = (o, cb, s) => {\n      if (!o) {\n        return false;\n      }\n      s = s || o;\n      if (isArrayLike(o)) {\n        for (let n = 0, l = o.length; n < l; n++) {\n          if (cb.call(s, o[n], n, o) === false) {\n            return false;\n          }\n        }\n      } else {\n        for (const n in o) {\n          if (has$2(o, n)) {\n            if (cb.call(s, o[n], n, o) === false) {\n              return false;\n            }\n          }\n        }\n      }\n      return true;\n    };\n    const map$1 = (array, callback) => {\n      const out = [];\n      each$c(array, (item, index) => {\n        out.push(callback(item, index, array));\n      });\n      return out;\n    };\n    const filter$3 = (a, f) => {\n      const o = [];\n      each$c(a, (v, index) => {\n        if (!f || f(v, index, a)) {\n          o.push(v);\n        }\n      });\n      return o;\n    };\n    const indexOf = (a, v) => {\n      if (a) {\n        for (let i = 0, l = a.length; i < l; i++) {\n          if (a[i] === v) {\n            return i;\n          }\n        }\n      }\n      return -1;\n    };\n    const reduce = (collection, iteratee, accumulator, thisArg) => {\n      let acc = isUndefined(accumulator) ? collection[0] : accumulator;\n      for (let i = 0; i < collection.length; i++) {\n        acc = iteratee.call(thisArg, acc, collection[i], i);\n      }\n      return acc;\n    };\n    const findIndex$1 = (array, predicate, thisArg) => {\n      for (let i = 0, l = array.length; i < l; i++) {\n        if (predicate.call(thisArg, array[i], i, array)) {\n          return i;\n        }\n      }\n      return -1;\n    };\n    const last$2 = collection => collection[collection.length - 1];\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const DeviceType = (os, browser, userAgent, mediaMatch) => {\n      const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      const isiPhone = os.isiOS() && !isiPad;\n      const isMobile = os.isiOS() || os.isAndroid();\n      const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      const isPhone = isiPhone || isMobile && !isTablet;\n      const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      const isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    const firstMatch = (regexes, s) => {\n      for (let i = 0; i < regexes.length; i++) {\n        const x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    const find$1 = (regexes, agent) => {\n      const r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      const group = i => {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$3(group(1), group(2));\n    };\n    const detect$5 = (versionRegexes, agent) => {\n      const cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find$1(versionRegexes, cleanedAgent);\n    };\n    const unknown$2 = () => {\n      return nu$3(0, 0);\n    };\n    const nu$3 = (major, minor) => {\n      return {\n        major,\n        minor\n      };\n    };\n    const Version = {\n      nu: nu$3,\n      detect: detect$5,\n      unknown: unknown$2\n    };\n\n    const detectBrowser$1 = (browsers, userAgentData) => {\n      return findMap(userAgentData.brands, uaBrand => {\n        const lcBrand = uaBrand.brand.toLowerCase();\n        return find$2(browsers, browser => {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(info => ({\n          current: info.name,\n          version: Version.nu(parseInt(uaBrand.version, 10), 0)\n        }));\n      });\n    };\n\n    const detect$4 = (candidates, userAgent) => {\n      const agent = String(userAgent).toLowerCase();\n      return find$2(candidates, candidate => {\n        return candidate.search(agent);\n      });\n    };\n    const detectBrowser = (browsers, userAgent) => {\n      return detect$4(browsers, userAgent).map(browser => {\n        const version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version\n        };\n      });\n    };\n    const detectOs = (oses, userAgent) => {\n      return detect$4(oses, userAgent).map(os => {\n        const version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version\n        };\n      });\n    };\n\n    const removeFromStart = (str, numChars) => {\n      return str.substring(numChars);\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const removeLeading = (str, prefix) => {\n      return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;\n    };\n    const contains$1 = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n    const endsWith = (str, suffix) => {\n      return checkRange(str, suffix, str.length - suffix.length);\n    };\n    const blank = r => s => s.replace(r, '');\n    const trim$4 = blank(/^\\s+|\\s+$/g);\n    const lTrim = blank(/^\\s+/g);\n    const rTrim = blank(/\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const isEmpty$3 = s => !isNotEmpty(s);\n    const repeat = (s, count) => count <= 0 ? '' : new Array(count + 1).join(s);\n    const toInt = (value, radix = 10) => {\n      const num = parseInt(value, radix);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n\n    const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    const checkContains = target => {\n      return uastring => {\n        return contains$1(uastring, target);\n      };\n    };\n    const browsers = [{\n      name: 'Edge',\n      versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n      search: uastring => {\n        return contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');\n      }\n    }, {\n      name: 'Chromium',\n      brand: 'Chromium',\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/, normalVersionRegex],\n      search: uastring => {\n        return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe');\n      }\n    }, {\n      name: 'IE',\n      versionRegexes: [/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/, /.*?rv:([0-9]+)\\.([0-9]+).*/],\n      search: uastring => {\n        return contains$1(uastring, 'msie') || contains$1(uastring, 'trident');\n      }\n    }, {\n      name: 'Opera',\n      versionRegexes: [normalVersionRegex, /.*?opera\\/([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('opera')\n    }, {\n      name: 'Firefox',\n      versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('firefox')\n    }, {\n      name: 'Safari',\n      versionRegexes: [normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/],\n      search: uastring => {\n        return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit');\n      }\n    }];\n    const oses = [{\n      name: 'Windows',\n      search: checkContains('win'),\n      versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'iOS',\n      search: uastring => {\n        return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad');\n      },\n      versionRegexes: [/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Android',\n      search: checkContains('android'),\n      versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'macOS',\n      search: checkContains('mac os x'),\n      versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Linux',\n      search: checkContains('linux'),\n      versionRegexes: []\n    }, {\n      name: 'Solaris',\n      search: checkContains('sunos'),\n      versionRegexes: []\n    }, {\n      name: 'FreeBSD',\n      search: checkContains('freebsd'),\n      versionRegexes: []\n    }, {\n      name: 'ChromeOS',\n      search: checkContains('cros'),\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n    }];\n    const PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    const edge = 'Edge';\n    const chromium = 'Chromium';\n    const ie = 'IE';\n    const opera = 'Opera';\n    const firefox = 'Firefox';\n    const safari = 'Safari';\n    const unknown$1 = () => {\n      return nu$2({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$2 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isBrowser = name => () => current === name;\n      return {\n        current,\n        version,\n        isEdge: isBrowser(edge),\n        isChromium: isBrowser(chromium),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    const Browser = {\n      unknown: unknown$1,\n      nu: nu$2,\n      edge: constant(edge),\n      chromium: constant(chromium),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    const windows = 'Windows';\n    const ios = 'iOS';\n    const android = 'Android';\n    const linux = 'Linux';\n    const macos = 'macOS';\n    const solaris = 'Solaris';\n    const freebsd = 'FreeBSD';\n    const chromeos = 'ChromeOS';\n    const unknown = () => {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$1 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isOS = name => () => current === name;\n      return {\n        current,\n        version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isMacOS: isOS(macos),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    const OperatingSystem = {\n      unknown,\n      nu: nu$1,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      macos: constant(macos),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    const detect$3 = (userAgent, userAgentDataOpt, mediaMatch) => {\n      const browsers = PlatformInfo.browsers();\n      const oses = PlatformInfo.oses();\n      const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n      const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser,\n        os,\n        deviceType\n      };\n    };\n    const PlatformDetection = {\n      detect: detect$3\n    };\n\n    const mediaMatch = query => window.matchMedia(query).matches;\n    let platform$4 = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n    const detect$2 = () => platform$4();\n\n    const userAgent = navigator.userAgent;\n    const platform$3 = detect$2();\n    const browser$3 = platform$3.browser;\n    const os$1 = platform$3.os;\n    const deviceType = platform$3.deviceType;\n    const windowsPhone = userAgent.indexOf('Windows Phone') !== -1;\n    const Env = {\n      transparentSrc: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',\n      documentMode: browser$3.isIE() ? document.documentMode || 7 : 10,\n      cacheSuffix: null,\n      container: null,\n      canHaveCSP: !browser$3.isIE(),\n      windowsPhone,\n      browser: {\n        current: browser$3.current,\n        version: browser$3.version,\n        isChromium: browser$3.isChromium,\n        isEdge: browser$3.isEdge,\n        isFirefox: browser$3.isFirefox,\n        isIE: browser$3.isIE,\n        isOpera: browser$3.isOpera,\n        isSafari: browser$3.isSafari\n      },\n      os: {\n        current: os$1.current,\n        version: os$1.version,\n        isAndroid: os$1.isAndroid,\n        isChromeOS: os$1.isChromeOS,\n        isFreeBSD: os$1.isFreeBSD,\n        isiOS: os$1.isiOS,\n        isLinux: os$1.isLinux,\n        isMacOS: os$1.isMacOS,\n        isSolaris: os$1.isSolaris,\n        isWindows: os$1.isWindows\n      },\n      deviceType: {\n        isDesktop: deviceType.isDesktop,\n        isiPad: deviceType.isiPad,\n        isiPhone: deviceType.isiPhone,\n        isPhone: deviceType.isPhone,\n        isTablet: deviceType.isTablet,\n        isTouch: deviceType.isTouch,\n        isWebView: deviceType.isWebView\n      }\n    };\n\n    const whiteSpaceRegExp$1 = /^\\s*|\\s*$/g;\n    const trim$3 = str => {\n      return isNullable(str) ? '' : ('' + str).replace(whiteSpaceRegExp$1, '');\n    };\n    const is$3 = (obj, type) => {\n      if (!type) {\n        return obj !== undefined;\n      }\n      if (type === 'array' && isArray(obj)) {\n        return true;\n      }\n      return typeof obj === type;\n    };\n    const makeMap$4 = (items, delim, map = {}) => {\n      const resolvedItems = isString(items) ? items.split(delim || ',') : items || [];\n      let i = resolvedItems.length;\n      while (i--) {\n        map[resolvedItems[i]] = {};\n      }\n      return map;\n    };\n    const hasOwnProperty = has$2;\n    const extend$3 = (obj, ...exts) => {\n      for (let i = 0; i < exts.length; i++) {\n        const ext = exts[i];\n        for (const name in ext) {\n          if (has$2(ext, name)) {\n            const value = ext[name];\n            if (value !== undefined) {\n              obj[name] = value;\n            }\n          }\n        }\n      }\n      return obj;\n    };\n    const walk$4 = function (o, f, n, s) {\n      s = s || this;\n      if (o) {\n        if (n) {\n          o = o[n];\n        }\n        each$c(o, (o, i) => {\n          if (f.call(s, o, i, n) === false) {\n            return false;\n          } else {\n            walk$4(o, f, n, s);\n            return true;\n          }\n        });\n      }\n    };\n    const resolve$3 = (n, o = window) => {\n      const path = n.split('.');\n      for (let i = 0, l = path.length; i < l; i++) {\n        o = o[path[i]];\n        if (!o) {\n          break;\n        }\n      }\n      return o;\n    };\n    const explode$3 = (s, d) => {\n      if (isArray$1(s)) {\n        return s;\n      } else if (s === '') {\n        return [];\n      } else {\n        return map$1(s.split(d || ','), trim$3);\n      }\n    };\n    const _addCacheSuffix = url => {\n      const cacheSuffix = Env.cacheSuffix;\n      if (cacheSuffix) {\n        url += (url.indexOf('?') === -1 ? '?' : '&') + cacheSuffix;\n      }\n      return url;\n    };\n    const Tools = {\n      trim: trim$3,\n      isArray: isArray,\n      is: is$3,\n      toArray: toArray$1,\n      makeMap: makeMap$4,\n      each: each$c,\n      map: map$1,\n      grep: filter$3,\n      inArray: indexOf,\n      hasOwn: hasOwnProperty,\n      extend: extend$3,\n      walk: walk$4,\n      resolve: resolve$3,\n      explode: explode$3,\n      _addCacheSuffix\n    };\n\n    const is$2 = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    const lift3 = (oa, ob, oc, f) => oa.isSome() && ob.isSome() && oc.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie(), oc.getOrDie())) : Optional.none();\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve$2 = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve$2(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf$1 = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve$2('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf$1(x).constructor.name));\n    };\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type$1 = element => element.dom.nodeType;\n    const isType = t => element => type$1(element) === t;\n    const isComment$1 = element => type$1(element) === COMMENT || name(element) === '#comment';\n    const isHTMLElement$1 = element => isElement$7(element) && isPrototypeOf(element.dom);\n    const isElement$7 = isType(ELEMENT);\n    const isText$b = isType(TEXT);\n    const isDocument$2 = isType(DOCUMENT);\n    const isDocumentFragment$1 = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement$7(e) && name(e) === tag;\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$3 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll$1 = (element, attrs) => {\n      const dom = element.dom;\n      each$d(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const get$9 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$9(element, key));\n    const has$1 = (element, key) => {\n      const dom = element.dom;\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n    const remove$a = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const hasNone = element => {\n      const attrs = element.dom.attributes;\n      return attrs === undefined || attrs === null || attrs.length === 0;\n    };\n    const clone$4 = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const read$4 = (element, attr) => {\n      const value = get$9(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$4 = (element, attr, id) => {\n      const old = read$4(element, attr);\n      const nu = old.concat([id]);\n      set$3(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$9 = (element, attr, id) => {\n      const nu = filter$5(read$4(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set$3(element, attr, nu.join(' '));\n      } else {\n        remove$a(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get$8 = element => read$4(element, 'class');\n    const add$3 = (element, clazz) => add$4(element, 'class', clazz);\n    const remove$8 = (element, clazz) => remove$9(element, 'class', clazz);\n    const toggle$2 = (element, clazz) => {\n      if (contains$2(get$8(element), clazz)) {\n        return remove$8(element, clazz);\n      } else {\n        return add$3(element, clazz);\n      }\n    };\n\n    const add$2 = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$3(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get$8(element);\n      if (classList.length === 0) {\n        remove$a(element, 'class');\n      }\n    };\n    const remove$7 = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$8(element, clazz);\n      }\n      cleanClass(element);\n    };\n    const toggle$1 = (element, clazz) => {\n      const result = supports(element) ? element.dom.classList.toggle(clazz) : toggle$2(element, clazz);\n      cleanClass(element);\n      return result;\n    };\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const fromHtml$1 = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$2(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$2(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$2(node);\n    };\n    const fromDom$2 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint$2 = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$2);\n    const SugarElement = {\n      fromHtml: fromHtml$1,\n      fromTag,\n      fromText,\n      fromDom: fromDom$2,\n      fromPoint: fromPoint$2\n    };\n\n    const toArray = (target, f) => {\n      const r = [];\n      const recurse = e => {\n        r.push(e);\n        return f(e);\n      };\n      let cur = f(target);\n      do {\n        cur = cur.bind(recurse);\n      } while (cur.isSome());\n      return r;\n    };\n\n    const is$1 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map$3(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const contains = (e1, e2) => {\n      const d1 = e1.dom;\n      const d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n\n    const owner$1 = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument$2(dos) ? dos : owner$1(dos);\n    const documentElement = element => SugarElement.fromDom(documentOrOwner(element).dom.documentElement);\n    const defaultView = element => SugarElement.fromDom(documentOrOwner(element).dom.defaultView);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    const parents$1 = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const siblings = element => {\n      const filterSelf = elements => filter$5(elements, x => !eq(element, x));\n      return parent(element).map(children$1).map(filterSelf).getOr([]);\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const prevSiblings = element => reverse(toArray(element, prevSibling));\n    const nextSiblings = element => toArray(element, nextSibling);\n    const children$1 = element => map$3(element.dom.childNodes, SugarElement.fromDom);\n    const child$1 = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child$1(element, 0);\n    const lastChild = element => child$1(element, element.dom.childNodes.length - 1);\n    const childNodesCount = element => element.dom.childNodes.length;\n    const hasChildNodes = element => element.dom.hasChildNodes();\n\n    const getHead = doc => {\n      const b = doc.dom.head;\n      if (b === null || b === undefined) {\n        throw new Error('Head is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const isShadowRoot = dos => isDocumentFragment$1(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported$1 = constant(supported);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getStyleContainer = dos => isShadowRoot(dos) ? dos : getHead(documentOrOwner(dos));\n    const getContentContainer = dos => isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n    const getOriginalEventTarget = event => {\n      if (isSupported$1() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement$7(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const inBody = element => {\n      const dom = isText$b(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    var ClosestOrAncestor = ((is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    });\n\n    const ancestor$4 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$4 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$4, scope, predicate, isRoot);\n    };\n    const sibling$1 = (scope, predicate) => {\n      const element = scope.dom;\n      if (!element.parentNode) {\n        return Optional.none();\n      }\n      return child(SugarElement.fromDom(element.parentNode), x => !eq(scope, x) && predicate(x));\n    };\n    const child = (scope, predicate) => {\n      const pred = node => predicate(SugarElement.fromDom(node));\n      const result = find$2(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n    const descendant$2 = (scope, predicate) => {\n      const descend = node => {\n        for (let i = 0; i < node.childNodes.length; i++) {\n          const child = SugarElement.fromDom(node.childNodes[i]);\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(node.childNodes[i]);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope.dom);\n    };\n\n    const ancestor$3 = (scope, selector, isRoot) => ancestor$4(scope, e => is$1(e, selector), isRoot);\n    const descendant$1 = (scope, selector) => one(selector, scope);\n    const closest$3 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$1(element, selector);\n      return ClosestOrAncestor(is, ancestor$3, scope, selector, isRoot);\n    };\n\n    const closest$2 = target => closest$3(target, '[contenteditable]');\n    const isEditable$2 = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest$2(element).fold(constant(assumeEditable), editable => getRaw$1(editable) === 'true');\n      }\n    };\n    const getRaw$1 = element => element.dom.contentEditable;\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$2 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each$d(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const get$7 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const getAllRaw = element => {\n      const css = {};\n      const dom = element.dom;\n      if (isSupported(dom)) {\n        for (let i = 0; i < dom.style.length; i++) {\n          const ruleName = dom.style.item(i);\n          css[ruleName] = dom.style[ruleName];\n        }\n      }\n      return css;\n    };\n    const remove$6 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is$2(getOpt(element, 'style').map(trim$4), '')) {\n        remove$a(element, 'style');\n      }\n    };\n    const reflow = e => e.dom.offsetWidth;\n\n    const before$3 = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$4 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before$3(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap$2 = (element, wrapper) => {\n      before$3(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after$3 = (marker, elements) => {\n      each$e(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$4(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$e(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each$e(children$1(element), rogue => {\n        remove$5(rogue);\n      });\n    };\n    const remove$5 = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children = children$1(wrapper);\n      if (children.length > 0) {\n        after$3(wrapper, children);\n      }\n      remove$5(wrapper);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      return children$1(SugarElement.fromDom(div));\n    };\n    const fromDom$1 = nodes => map$3(nodes, SugarElement.fromDom);\n\n    const get$6 = element => element.dom.innerHTML;\n    const set$1 = (element, content) => {\n      const owner = owner$1(element);\n      const docDom = owner.dom;\n      const fragment = SugarElement.fromDom(docDom.createDocumentFragment());\n      const contentElements = fromHtml(content, docDom);\n      append(fragment, contentElements);\n      empty(element);\n      append$1(element, fragment);\n    };\n    const getOuter = element => {\n      const container = SugarElement.fromTag('div');\n      const clone = SugarElement.fromDom(element.dom.cloneNode(true));\n      append$1(container, clone);\n      return get$6(container);\n    };\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle$1 = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle$1(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$2 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const r = (left, top) => {\n      const translate = (x, y) => r(left + x, top + y);\n      return {\n        left,\n        top,\n        translate\n      };\n    };\n    const SugarPosition = r;\n\n    const boxPosition = dom => {\n      const box = dom.getBoundingClientRect();\n      return SugarPosition(box.left, box.top);\n    };\n    const firstDefinedOrZero = (a, b) => {\n      if (a !== undefined) {\n        return a;\n      } else {\n        return b !== undefined ? b : 0;\n      }\n    };\n    const absolute = element => {\n      const doc = element.dom.ownerDocument;\n      const body = doc.body;\n      const win = doc.defaultView;\n      const html = doc.documentElement;\n      if (body === element.dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      const scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop);\n      const scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft);\n      const clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      const clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    const viewport = element => {\n      const dom = element.dom;\n      const doc = dom.ownerDocument;\n      const body = doc.body;\n      if (body === dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      if (!inBody(element)) {\n        return SugarPosition(0, 0);\n      }\n      return boxPosition(dom);\n    };\n\n    const get$5 = _DOC => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n    const to = (x, y, _DOC) => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const win = doc.defaultView;\n      if (win) {\n        win.scrollTo(x, y);\n      }\n    };\n    const intoView = (element, alignToTop) => {\n      const isSafari = detect$2().browser.isSafari();\n      if (isSafari && isFunction(element.dom.scrollIntoViewIfNeeded)) {\n        element.dom.scrollIntoViewIfNeeded(false);\n      } else {\n        element.dom.scrollIntoView(alignToTop);\n      }\n    };\n\n    const get$4 = _win => {\n      const win = _win === undefined ? window : _win;\n      if (detect$2().browser.isFirefox()) {\n        return Optional.none();\n      } else {\n        return Optional.from(win.visualViewport);\n      }\n    };\n    const bounds = (x, y, width, height) => ({\n      x,\n      y,\n      width,\n      height,\n      right: x + width,\n      bottom: y + height\n    });\n    const getBounds = _win => {\n      const win = _win === undefined ? window : _win;\n      const doc = win.document;\n      const scroll = get$5(SugarElement.fromDom(doc));\n      return get$4(win).fold(() => {\n        const html = win.document.documentElement;\n        const width = html.clientWidth;\n        const height = html.clientHeight;\n        return bounds(scroll.left, scroll.top, width, height);\n      }, visualViewport => bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height));\n    };\n\n    const children = (scope, predicate) => filter$5(children$1(scope), predicate);\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each$e(children$1(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    const descendants = (scope, selector) => all(selector, scope);\n\n    const ancestor$2 = (scope, selector, isRoot) => ancestor$3(scope, selector, isRoot).isSome();\n\n    class DomTreeWalker {\n      constructor(startNode, rootNode) {\n        this.node = startNode;\n        this.rootNode = rootNode;\n        this.current = this.current.bind(this);\n        this.next = this.next.bind(this);\n        this.prev = this.prev.bind(this);\n        this.prev2 = this.prev2.bind(this);\n      }\n      current() {\n        return this.node;\n      }\n      next(shallow) {\n        this.node = this.findSibling(this.node, 'firstChild', 'nextSibling', shallow);\n        return this.node;\n      }\n      prev(shallow) {\n        this.node = this.findSibling(this.node, 'lastChild', 'previousSibling', shallow);\n        return this.node;\n      }\n      prev2(shallow) {\n        this.node = this.findPreviousNode(this.node, shallow);\n        return this.node;\n      }\n      findSibling(node, startName, siblingName, shallow) {\n        if (node) {\n          if (!shallow && node[startName]) {\n            return node[startName];\n          }\n          if (node !== this.rootNode) {\n            let sibling = node[siblingName];\n            if (sibling) {\n              return sibling;\n            }\n            for (let parent = node.parentNode; parent && parent !== this.rootNode; parent = parent.parentNode) {\n              sibling = parent[siblingName];\n              if (sibling) {\n                return sibling;\n              }\n            }\n          }\n        }\n        return undefined;\n      }\n      findPreviousNode(node, shallow) {\n        if (node) {\n          const sibling = node.previousSibling;\n          if (this.rootNode && sibling === this.rootNode) {\n            return;\n          }\n          if (sibling) {\n            if (!shallow) {\n              for (let child = sibling.lastChild; child; child = child.lastChild) {\n                if (!child.lastChild) {\n                  return child;\n                }\n              }\n            }\n            return sibling;\n          }\n          const parent = node.parentNode;\n          if (parent && parent !== this.rootNode) {\n            return parent;\n          }\n        }\n        return undefined;\n      }\n    }\n\n    const isNodeType = type => {\n      return node => {\n        return !!node && node.nodeType === type;\n      };\n    };\n    const isRestrictedNode = node => !!node && !Object.getPrototypeOf(node);\n    const isElement$6 = isNodeType(1);\n    const isHTMLElement = node => isElement$6(node) && isHTMLElement$1(SugarElement.fromDom(node));\n    const isSVGElement = node => isElement$6(node) && node.namespaceURI === 'http://www.w3.org/2000/svg';\n    const matchNodeName = name => {\n      const lowerCasedName = name.toLowerCase();\n      return node => isNonNullable(node) && node.nodeName.toLowerCase() === lowerCasedName;\n    };\n    const matchNodeNames = names => {\n      const lowerCasedNames = names.map(s => s.toLowerCase());\n      return node => {\n        if (node && node.nodeName) {\n          const nodeName = node.nodeName.toLowerCase();\n          return contains$2(lowerCasedNames, nodeName);\n        }\n        return false;\n      };\n    };\n    const matchStyleValues = (name, values) => {\n      const items = values.toLowerCase().split(' ');\n      return node => {\n        if (isElement$6(node)) {\n          const win = node.ownerDocument.defaultView;\n          if (win) {\n            for (let i = 0; i < items.length; i++) {\n              const computed = win.getComputedStyle(node, null);\n              const cssValue = computed ? computed.getPropertyValue(name) : null;\n              if (cssValue === items[i]) {\n                return true;\n              }\n            }\n          }\n        }\n        return false;\n      };\n    };\n    const hasAttribute = attrName => {\n      return node => {\n        return isElement$6(node) && node.hasAttribute(attrName);\n      };\n    };\n    const hasAttributeValue = (attrName, attrValue) => {\n      return node => {\n        return isElement$6(node) && node.getAttribute(attrName) === attrValue;\n      };\n    };\n    const isBogus$2 = node => isElement$6(node) && node.hasAttribute('data-mce-bogus');\n    const isBogusAll$1 = node => isElement$6(node) && node.getAttribute('data-mce-bogus') === 'all';\n    const isTable$2 = node => isElement$6(node) && node.tagName === 'TABLE';\n    const hasContentEditableState = value => {\n      return node => {\n        if (isHTMLElement(node)) {\n          if (node.contentEditable === value) {\n            return true;\n          }\n          if (node.getAttribute('data-mce-contenteditable') === value) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    const isTextareaOrInput = matchNodeNames(['textarea', 'input']);\n    const isText$a = isNodeType(3);\n    const isCData = isNodeType(4);\n    const isPi = isNodeType(7);\n    const isComment = isNodeType(8);\n    const isDocument$1 = isNodeType(9);\n    const isDocumentFragment = isNodeType(11);\n    const isBr$6 = matchNodeName('br');\n    const isImg = matchNodeName('img');\n    const isContentEditableTrue$3 = hasContentEditableState('true');\n    const isContentEditableFalse$b = hasContentEditableState('false');\n    const isTableCell$3 = matchNodeNames(['td', 'th']);\n    const isTableCellOrCaption = matchNodeNames(['td', 'th', 'caption']);\n    const isMedia$2 = matchNodeNames(['video', 'audio', 'object', 'embed']);\n    const isListItem$2 = matchNodeName('li');\n    const isDetails = matchNodeName('details');\n    const isSummary$1 = matchNodeName('summary');\n\n    const zeroWidth = '\\uFEFF';\n    const nbsp = '\\xA0';\n    const isZwsp$2 = char => char === zeroWidth;\n    const removeZwsp = s => s.replace(/\\uFEFF/g, '');\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api$1 = NodeValue(isText$b, 'text');\n    const get$3 = element => api$1.get(element);\n    const getOption = element => api$1.getOption(element);\n    const set = (element, value) => api$1.set(element, value);\n\n    const tableCells = ['td', 'th'];\n    const tableSections = ['thead', 'tbody', 'tfoot'];\n    const textBlocks = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'div', 'address', 'pre', 'form', 'blockquote', 'center', 'dir', 'fieldset', 'header', 'footer', 'article', 'section', 'hgroup', 'aside', 'nav', 'figure'];\n    const listItems$1 = ['li', 'dd', 'dt'];\n    const lists = ['ul', 'ol', 'dl'];\n    const wsElements = ['pre', 'script', 'textarea', 'style'];\n    const lazyLookup = items => {\n      let lookup;\n      return node => {\n        lookup = lookup ? lookup : mapToObject(items, always);\n        return has$2(lookup, name(node));\n      };\n    };\n    const isTable$1 = node => name(node) === 'table';\n    const isBr$5 = node => isElement$7(node) && name(node) === 'br';\n    const isTextBlock$2 = lazyLookup(textBlocks);\n    const isList = lazyLookup(lists);\n    const isListItem$1 = lazyLookup(listItems$1);\n    const isTableSection = lazyLookup(tableSections);\n    const isTableCell$2 = lazyLookup(tableCells);\n    const isWsPreserveElement = lazyLookup(wsElements);\n\n    const getLastChildren$1 = elm => {\n      const children = [];\n      let rawNode = elm.dom;\n      while (rawNode) {\n        children.push(SugarElement.fromDom(rawNode));\n        rawNode = rawNode.lastChild;\n      }\n      return children;\n    };\n    const removeTrailingBr = elm => {\n      const allBrs = descendants(elm, 'br');\n      const brs = filter$5(getLastChildren$1(elm).slice(-1), isBr$5);\n      if (allBrs.length === brs.length) {\n        each$e(brs, remove$5);\n      }\n    };\n    const createPaddingBr = () => {\n      const br = SugarElement.fromTag('br');\n      set$3(br, 'data-mce-bogus', '1');\n      return br;\n    };\n    const fillWithPaddingBr = elm => {\n      empty(elm);\n      append$1(elm, createPaddingBr());\n    };\n    const trimBlockTrailingBr = (elm, schema) => {\n      lastChild(elm).each(lastChild => {\n        prevSibling(lastChild).each(lastChildPrevSibling => {\n          if (schema.isBlock(name(elm)) && isBr$5(lastChild) && schema.isBlock(name(lastChildPrevSibling))) {\n            remove$5(lastChild);\n          }\n        });\n      });\n    };\n\n    const ZWSP$1 = zeroWidth;\n    const isZwsp$1 = isZwsp$2;\n    const trim$2 = removeZwsp;\n    const insert$5 = editor => editor.insertContent(ZWSP$1, {\n      preserve_zwsp: true\n    });\n\n    const isElement$5 = isElement$6;\n    const isText$9 = isText$a;\n    const isCaretContainerBlock$1 = node => {\n      if (isText$9(node)) {\n        node = node.parentNode;\n      }\n      return isElement$5(node) && node.hasAttribute('data-mce-caret');\n    };\n    const isCaretContainerInline = node => isText$9(node) && isZwsp$1(node.data);\n    const isCaretContainer$2 = node => isCaretContainerBlock$1(node) || isCaretContainerInline(node);\n    const hasContent = node => node.firstChild !== node.lastChild || !isBr$6(node.firstChild);\n    const insertInline$1 = (node, before) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const textNode = doc.createTextNode(ZWSP$1);\n      const parentNode = node.parentNode;\n      if (!before) {\n        const sibling = node.nextSibling;\n        if (isText$9(sibling)) {\n          if (isCaretContainer$2(sibling)) {\n            return sibling;\n          }\n          if (startsWithCaretContainer$1(sibling)) {\n            sibling.splitText(1);\n            return sibling;\n          }\n        }\n        if (node.nextSibling) {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(textNode, node.nextSibling);\n        } else {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.appendChild(textNode);\n        }\n      } else {\n        const sibling = node.previousSibling;\n        if (isText$9(sibling)) {\n          if (isCaretContainer$2(sibling)) {\n            return sibling;\n          }\n          if (endsWithCaretContainer$1(sibling)) {\n            return sibling.splitText(sibling.data.length - 1);\n          }\n        }\n        parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(textNode, node);\n      }\n      return textNode;\n    };\n    const isBeforeInline = pos => {\n      const container = pos.container();\n      if (!isText$a(container)) {\n        return false;\n      }\n      return container.data.charAt(pos.offset()) === ZWSP$1 || pos.isAtStart() && isCaretContainerInline(container.previousSibling);\n    };\n    const isAfterInline = pos => {\n      const container = pos.container();\n      if (!isText$a(container)) {\n        return false;\n      }\n      return container.data.charAt(pos.offset() - 1) === ZWSP$1 || pos.isAtEnd() && isCaretContainerInline(container.nextSibling);\n    };\n    const insertBlock = (blockName, node, before) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const blockNode = doc.createElement(blockName);\n      blockNode.setAttribute('data-mce-caret', before ? 'before' : 'after');\n      blockNode.setAttribute('data-mce-bogus', 'all');\n      blockNode.appendChild(createPaddingBr().dom);\n      const parentNode = node.parentNode;\n      if (!before) {\n        if (node.nextSibling) {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(blockNode, node.nextSibling);\n        } else {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.appendChild(blockNode);\n        }\n      } else {\n        parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(blockNode, node);\n      }\n      return blockNode;\n    };\n    const startsWithCaretContainer$1 = node => isText$9(node) && node.data[0] === ZWSP$1;\n    const endsWithCaretContainer$1 = node => isText$9(node) && node.data[node.data.length - 1] === ZWSP$1;\n    const trimBogusBr = elm => {\n      var _a;\n      const brs = elm.getElementsByTagName('br');\n      const lastBr = brs[brs.length - 1];\n      if (isBogus$2(lastBr)) {\n        (_a = lastBr.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(lastBr);\n      }\n    };\n    const showCaretContainerBlock = caretContainer => {\n      if (caretContainer && caretContainer.hasAttribute('data-mce-caret')) {\n        trimBogusBr(caretContainer);\n        caretContainer.removeAttribute('data-mce-caret');\n        caretContainer.removeAttribute('data-mce-bogus');\n        caretContainer.removeAttribute('style');\n        caretContainer.removeAttribute('data-mce-style');\n        caretContainer.removeAttribute('_moz_abspos');\n        return caretContainer;\n      }\n      return null;\n    };\n    const isRangeInCaretContainerBlock = range => isCaretContainerBlock$1(range.startContainer);\n\n    const isContentEditableTrue$2 = isContentEditableTrue$3;\n    const isContentEditableFalse$a = isContentEditableFalse$b;\n    const isBr$4 = isBr$6;\n    const isText$8 = isText$a;\n    const isInvalidTextElement = matchNodeNames(['script', 'style', 'textarea']);\n    const isAtomicInline = matchNodeNames(['img', 'input', 'textarea', 'hr', 'iframe', 'video', 'audio', 'object', 'embed']);\n    const isTable = matchNodeNames(['table']);\n    const isCaretContainer$1 = isCaretContainer$2;\n    const isCaretCandidate$3 = node => {\n      if (isCaretContainer$1(node)) {\n        return false;\n      }\n      if (isText$8(node)) {\n        return !isInvalidTextElement(node.parentNode);\n      }\n      return isAtomicInline(node) || isBr$4(node) || isTable(node) || isNonUiContentEditableFalse(node);\n    };\n    const isUnselectable = node => isElement$6(node) && node.getAttribute('unselectable') === 'true';\n    const isNonUiContentEditableFalse = node => !isUnselectable(node) && isContentEditableFalse$a(node);\n    const isInEditable = (node, root) => {\n      for (let tempNode = node.parentNode; tempNode && tempNode !== root; tempNode = tempNode.parentNode) {\n        if (isNonUiContentEditableFalse(tempNode)) {\n          return false;\n        }\n        if (isContentEditableTrue$2(tempNode)) {\n          return true;\n        }\n      }\n      return true;\n    };\n    const isAtomicContentEditableFalse = node => {\n      if (!isNonUiContentEditableFalse(node)) {\n        return false;\n      }\n      return !foldl(from(node.getElementsByTagName('*')), (result, elm) => {\n        return result || isContentEditableTrue$2(elm);\n      }, false);\n    };\n    const isAtomic$1 = node => isAtomicInline(node) || isAtomicContentEditableFalse(node);\n    const isEditableCaretCandidate$1 = (node, root) => isCaretCandidate$3(node) && isInEditable(node, root);\n\n    const whiteSpaceRegExp = /^[ \\t\\r\\n]*$/;\n    const isWhitespaceText = text => whiteSpaceRegExp.test(text);\n    const isZwsp = text => {\n      for (const c of text) {\n        if (!isZwsp$2(c)) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const isCollapsibleWhitespace$1 = c => ' \\f\\t\\x0B'.indexOf(c) !== -1;\n    const isNewLineChar = c => c === '\\n' || c === '\\r';\n    const isNewline = (text, idx) => idx < text.length && idx >= 0 ? isNewLineChar(text[idx]) : false;\n    const normalize$4 = (text, tabSpaces = 4, isStartOfContent = true, isEndOfContent = true) => {\n      const tabSpace = repeat(' ', tabSpaces);\n      const normalizedText = text.replace(/\\t/g, tabSpace);\n      const result = foldl(normalizedText, (acc, c) => {\n        if (isCollapsibleWhitespace$1(c) || c === nbsp) {\n          if (acc.pcIsSpace || acc.str === '' && isStartOfContent || acc.str.length === normalizedText.length - 1 && isEndOfContent || isNewline(normalizedText, acc.str.length + 1)) {\n            return {\n              pcIsSpace: false,\n              str: acc.str + nbsp\n            };\n          } else {\n            return {\n              pcIsSpace: true,\n              str: acc.str + ' '\n            };\n          }\n        } else {\n          return {\n            pcIsSpace: isNewLineChar(c),\n            str: acc.str + c\n          };\n        }\n      }, {\n        pcIsSpace: false,\n        str: ''\n      });\n      return result.str;\n    };\n\n    const hasWhitespacePreserveParent = (node, rootNode) => {\n      const rootElement = SugarElement.fromDom(rootNode);\n      const startNode = SugarElement.fromDom(node);\n      return ancestor$2(startNode, 'pre,code', curry(eq, rootElement));\n    };\n    const isWhitespace$1 = (node, rootNode) => {\n      return isText$a(node) && isWhitespaceText(node.data) && !hasWhitespacePreserveParent(node, rootNode);\n    };\n    const isNamedAnchor = node => {\n      return isElement$6(node) && node.nodeName === 'A' && !node.hasAttribute('href') && (node.hasAttribute('name') || node.hasAttribute('id'));\n    };\n    const isContent$1 = (node, rootNode) => {\n      return isCaretCandidate$3(node) && !isWhitespace$1(node, rootNode) || isNamedAnchor(node) || isBookmark(node);\n    };\n    const isBookmark = hasAttribute('data-mce-bookmark');\n    const isBogus$1 = hasAttribute('data-mce-bogus');\n    const isBogusAll = hasAttributeValue('data-mce-bogus', 'all');\n    const hasNonEditableParent = node => parentElement(SugarElement.fromDom(node)).exists(parent => !isEditable$2(parent));\n    const isEmptyNode = (targetNode, skipBogus) => {\n      let brCount = 0;\n      if (isContent$1(targetNode, targetNode)) {\n        return false;\n      } else {\n        let node = targetNode.firstChild;\n        if (!node) {\n          return true;\n        }\n        const walker = new DomTreeWalker(node, targetNode);\n        do {\n          if (skipBogus) {\n            if (isBogusAll(node)) {\n              node = walker.next(true);\n              continue;\n            }\n            if (isBogus$1(node)) {\n              node = walker.next();\n              continue;\n            }\n          }\n          if (isContentEditableTrue$3(node) && hasNonEditableParent(node)) {\n            return false;\n          }\n          if (isBr$6(node)) {\n            brCount++;\n            node = walker.next();\n            continue;\n          }\n          if (isContent$1(node, targetNode)) {\n            return false;\n          }\n          node = walker.next();\n        } while (node);\n        return brCount <= 1;\n      }\n    };\n    const isEmpty$2 = (elm, skipBogus = true) => isEmptyNode(elm.dom, skipBogus);\n\n    const isNonHtmlElementRootName = name => name.toLowerCase() === 'svg';\n    const isNonHtmlElementRoot = node => isNonHtmlElementRootName(node.nodeName);\n    const toScopeType = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'svg' ? 'svg' : 'html';\n    const namespaceElements = ['svg'];\n    const createNamespaceTracker = () => {\n      let scopes = [];\n      const peek = () => scopes[scopes.length - 1];\n      const track = node => {\n        if (isNonHtmlElementRoot(node)) {\n          scopes.push(node);\n        }\n        let currentScope = peek();\n        if (currentScope && !currentScope.contains(node)) {\n          scopes.pop();\n          currentScope = peek();\n        }\n        return toScopeType(currentScope);\n      };\n      const current = () => toScopeType(peek());\n      const reset = () => {\n        scopes = [];\n      };\n      return {\n        track,\n        current,\n        reset\n      };\n    };\n\n    const transparentBlockAttr = 'data-mce-block';\n    const elementNames = map => filter$5(keys(map), key => !/[A-Z]/.test(key));\n    const makeSelectorFromSchemaMap = map => map$3(elementNames(map), name => {\n      return \"\".concat(name, \":\") + map$3(namespaceElements, ns => \"not(\".concat(ns, \" \").concat(name, \")\")).join(':');\n    }).join(',');\n    const updateTransparent = (blocksSelector, transparent) => {\n      if (isNonNullable(transparent.querySelector(blocksSelector))) {\n        transparent.setAttribute(transparentBlockAttr, 'true');\n        if (transparent.getAttribute('data-mce-selected') === 'inline-boundary') {\n          transparent.removeAttribute('data-mce-selected');\n        }\n        return true;\n      } else {\n        transparent.removeAttribute(transparentBlockAttr);\n        return false;\n      }\n    };\n    const updateBlockStateOnChildren = (schema, scope) => {\n      const transparentSelector = makeSelectorFromSchemaMap(schema.getTransparentElements());\n      const blocksSelector = makeSelectorFromSchemaMap(schema.getBlockElements());\n      return filter$5(scope.querySelectorAll(transparentSelector), transparent => updateTransparent(blocksSelector, transparent));\n    };\n    const trimEdge = (el, leftSide) => {\n      var _a;\n      const childPropertyName = leftSide ? 'lastChild' : 'firstChild';\n      for (let child = el[childPropertyName]; child; child = child[childPropertyName]) {\n        if (isEmpty$2(SugarElement.fromDom(child))) {\n          (_a = child.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(child);\n          return;\n        }\n      }\n    };\n    const split$2 = (parentElm, splitElm) => {\n      const range = document.createRange();\n      const parentNode = parentElm.parentNode;\n      if (parentNode) {\n        range.setStartBefore(parentElm);\n        range.setEndBefore(splitElm);\n        const beforeFragment = range.extractContents();\n        trimEdge(beforeFragment, true);\n        range.setStartAfter(splitElm);\n        range.setEndAfter(parentElm);\n        const afterFragment = range.extractContents();\n        trimEdge(afterFragment, false);\n        if (!isEmpty$2(SugarElement.fromDom(beforeFragment))) {\n          parentNode.insertBefore(beforeFragment, parentElm);\n        }\n        if (!isEmpty$2(SugarElement.fromDom(splitElm))) {\n          parentNode.insertBefore(splitElm, parentElm);\n        }\n        if (!isEmpty$2(SugarElement.fromDom(afterFragment))) {\n          parentNode.insertBefore(afterFragment, parentElm);\n        }\n        parentNode.removeChild(parentElm);\n      }\n    };\n    const splitInvalidChildren = (schema, scope, transparentBlocks) => {\n      const blocksElements = schema.getBlockElements();\n      const rootNode = SugarElement.fromDom(scope);\n      const isBlock = el => name(el) in blocksElements;\n      const isRoot = el => eq(el, rootNode);\n      each$e(fromDom$1(transparentBlocks), transparentBlock => {\n        ancestor$4(transparentBlock, isBlock, isRoot).each(parentBlock => {\n          const invalidChildren = children(transparentBlock, el => isBlock(el) && !schema.isValidChild(name(parentBlock), name(el)));\n          if (invalidChildren.length > 0) {\n            const stateScope = parentElement(parentBlock);\n            each$e(invalidChildren, child => {\n              ancestor$4(child, isBlock, isRoot).each(parentBlock => {\n                split$2(parentBlock.dom, child.dom);\n              });\n            });\n            stateScope.each(scope => updateBlockStateOnChildren(schema, scope.dom));\n          }\n        });\n      });\n    };\n    const unwrapInvalidChildren = (schema, scope, transparentBlocks) => {\n      each$e([...transparentBlocks, ...(isTransparentBlock(schema, scope) ? [scope] : [])], block => each$e(descendants(SugarElement.fromDom(block), block.nodeName.toLowerCase()), elm => {\n        if (isTransparentInline(schema, elm.dom)) {\n          unwrap(elm);\n        }\n      }));\n    };\n    const updateChildren = (schema, scope) => {\n      const transparentBlocks = updateBlockStateOnChildren(schema, scope);\n      splitInvalidChildren(schema, scope, transparentBlocks);\n      unwrapInvalidChildren(schema, scope, transparentBlocks);\n    };\n    const updateElement = (schema, target) => {\n      if (isTransparentElement(schema, target)) {\n        const blocksSelector = makeSelectorFromSchemaMap(schema.getBlockElements());\n        updateTransparent(blocksSelector, target);\n      }\n    };\n    const updateCaret = (schema, root, caretParent) => {\n      const isRoot = el => eq(el, SugarElement.fromDom(root));\n      const parents = parents$1(SugarElement.fromDom(caretParent), isRoot);\n      get$b(parents, parents.length - 2).filter(isElement$7).fold(() => updateChildren(schema, root), scope => updateChildren(schema, scope.dom));\n    };\n    const hasBlockAttr = el => el.hasAttribute(transparentBlockAttr);\n    const isTransparentElementName = (schema, name) => has$2(schema.getTransparentElements(), name);\n    const isTransparentElement = (schema, node) => isElement$6(node) && isTransparentElementName(schema, node.nodeName);\n    const isTransparentBlock = (schema, node) => isTransparentElement(schema, node) && hasBlockAttr(node);\n    const isTransparentInline = (schema, node) => isTransparentElement(schema, node) && !hasBlockAttr(node);\n    const isTransparentAstBlock = (schema, node) => node.type === 1 && isTransparentElementName(schema, node.name) && isString(node.attr(transparentBlockAttr));\n\n    const browser$2 = detect$2().browser;\n    const firstElement = nodes => find$2(nodes, isElement$7);\n    const getTableCaptionDeltaY = elm => {\n      if (browser$2.isFirefox() && name(elm) === 'table') {\n        return firstElement(children$1(elm)).filter(elm => {\n          return name(elm) === 'caption';\n        }).bind(caption => {\n          return firstElement(nextSiblings(caption)).map(body => {\n            const bodyTop = body.dom.offsetTop;\n            const captionTop = caption.dom.offsetTop;\n            const captionHeight = caption.dom.offsetHeight;\n            return bodyTop <= captionTop ? -captionHeight : 0;\n          });\n        }).getOr(0);\n      } else {\n        return 0;\n      }\n    };\n    const hasChild = (elm, child) => elm.children && contains$2(elm.children, child);\n    const getPos = (body, elm, rootElm) => {\n      let x = 0,\n        y = 0;\n      const doc = body.ownerDocument;\n      rootElm = rootElm ? rootElm : body;\n      if (elm) {\n        if (rootElm === body && elm.getBoundingClientRect && get$7(SugarElement.fromDom(body), 'position') === 'static') {\n          const pos = elm.getBoundingClientRect();\n          x = pos.left + (doc.documentElement.scrollLeft || body.scrollLeft) - doc.documentElement.clientLeft;\n          y = pos.top + (doc.documentElement.scrollTop || body.scrollTop) - doc.documentElement.clientTop;\n          return {\n            x,\n            y\n          };\n        }\n        let offsetParent = elm;\n        while (offsetParent && offsetParent !== rootElm && offsetParent.nodeType && !hasChild(offsetParent, rootElm)) {\n          const castOffsetParent = offsetParent;\n          x += castOffsetParent.offsetLeft || 0;\n          y += castOffsetParent.offsetTop || 0;\n          offsetParent = castOffsetParent.offsetParent;\n        }\n        offsetParent = elm.parentNode;\n        while (offsetParent && offsetParent !== rootElm && offsetParent.nodeType && !hasChild(offsetParent, rootElm)) {\n          x -= offsetParent.scrollLeft || 0;\n          y -= offsetParent.scrollTop || 0;\n          offsetParent = offsetParent.parentNode;\n        }\n        y += getTableCaptionDeltaY(SugarElement.fromDom(elm));\n      }\n      return {\n        x,\n        y\n      };\n    };\n\n    const StyleSheetLoader = (documentOrShadowRoot, settings = {}) => {\n      let idCount = 0;\n      const loadedStates = {};\n      const edos = SugarElement.fromDom(documentOrShadowRoot);\n      const doc = documentOrOwner(edos);\n      const _setReferrerPolicy = referrerPolicy => {\n        settings.referrerPolicy = referrerPolicy;\n      };\n      const _setContentCssCors = contentCssCors => {\n        settings.contentCssCors = contentCssCors;\n      };\n      const addStyle = element => {\n        append$1(getStyleContainer(edos), element);\n      };\n      const removeStyle = id => {\n        const styleContainer = getStyleContainer(edos);\n        descendant$1(styleContainer, '#' + id).each(remove$5);\n      };\n      const getOrCreateState = url => get$a(loadedStates, url).getOrThunk(() => ({\n        id: 'mce-u' + idCount++,\n        passed: [],\n        failed: [],\n        count: 0\n      }));\n      const load = url => new Promise((success, failure) => {\n        let link;\n        const urlWithSuffix = Tools._addCacheSuffix(url);\n        const state = getOrCreateState(urlWithSuffix);\n        loadedStates[urlWithSuffix] = state;\n        state.count++;\n        const resolve = (callbacks, status) => {\n          each$e(callbacks, call);\n          state.status = status;\n          state.passed = [];\n          state.failed = [];\n          if (link) {\n            link.onload = null;\n            link.onerror = null;\n            link = null;\n          }\n        };\n        const passed = () => resolve(state.passed, 2);\n        const failed = () => resolve(state.failed, 3);\n        if (success) {\n          state.passed.push(success);\n        }\n        if (failure) {\n          state.failed.push(failure);\n        }\n        if (state.status === 1) {\n          return;\n        }\n        if (state.status === 2) {\n          passed();\n          return;\n        }\n        if (state.status === 3) {\n          failed();\n          return;\n        }\n        state.status = 1;\n        const linkElem = SugarElement.fromTag('link', doc.dom);\n        setAll$1(linkElem, {\n          rel: 'stylesheet',\n          type: 'text/css',\n          id: state.id\n        });\n        if (settings.contentCssCors) {\n          set$3(linkElem, 'crossOrigin', 'anonymous');\n        }\n        if (settings.referrerPolicy) {\n          set$3(linkElem, 'referrerpolicy', settings.referrerPolicy);\n        }\n        link = linkElem.dom;\n        link.onload = passed;\n        link.onerror = failed;\n        addStyle(linkElem);\n        set$3(linkElem, 'href', urlWithSuffix);\n      });\n      const loadRawCss = (key, css) => {\n        const state = getOrCreateState(key);\n        loadedStates[key] = state;\n        state.count++;\n        const styleElem = SugarElement.fromTag('style', doc.dom);\n        setAll$1(styleElem, {\n          rel: 'stylesheet',\n          type: 'text/css',\n          id: state.id\n        });\n        styleElem.dom.innerHTML = css;\n        addStyle(styleElem);\n      };\n      const loadAll = urls => {\n        const loadedUrls = Promise.allSettled(map$3(urls, url => load(url).then(constant(url))));\n        return loadedUrls.then(results => {\n          const parts = partition$2(results, r => r.status === 'fulfilled');\n          if (parts.fail.length > 0) {\n            return Promise.reject(map$3(parts.fail, result => result.reason));\n          } else {\n            return map$3(parts.pass, result => result.value);\n          }\n        });\n      };\n      const unload = url => {\n        const urlWithSuffix = Tools._addCacheSuffix(url);\n        get$a(loadedStates, urlWithSuffix).each(state => {\n          const count = --state.count;\n          if (count === 0) {\n            delete loadedStates[urlWithSuffix];\n            removeStyle(state.id);\n          }\n        });\n      };\n      const unloadRawCss = key => {\n        get$a(loadedStates, key).each(state => {\n          const count = --state.count;\n          if (count === 0) {\n            delete loadedStates[key];\n            removeStyle(state.id);\n          }\n        });\n      };\n      const unloadAll = urls => {\n        each$e(urls, url => {\n          unload(url);\n        });\n      };\n      return {\n        load,\n        loadRawCss,\n        loadAll,\n        unload,\n        unloadRawCss,\n        unloadAll,\n        _setReferrerPolicy,\n        _setContentCssCors\n      };\n    };\n\n    const create$d = () => {\n      const map = new WeakMap();\n      const forElement = (referenceElement, settings) => {\n        const root = getRootNode(referenceElement);\n        const rootDom = root.dom;\n        return Optional.from(map.get(rootDom)).getOrThunk(() => {\n          const sl = StyleSheetLoader(rootDom, settings);\n          map.set(rootDom, sl);\n          return sl;\n        });\n      };\n      return {\n        forElement\n      };\n    };\n    const instance = create$d();\n\n    const isSpan = node => node.nodeName.toLowerCase() === 'span';\n    const isInlineContent = (node, root, schema) => isNonNullable(node) && (isContent$1(node, root) || schema.isInline(node.nodeName.toLowerCase()));\n    const surroundedByInlineContent = (node, root, schema) => {\n      const prev = new DomTreeWalker(node, root).prev(false);\n      const next = new DomTreeWalker(node, root).next(false);\n      const prevIsInline = isUndefined(prev) || isInlineContent(prev, root, schema);\n      const nextIsInline = isUndefined(next) || isInlineContent(next, root, schema);\n      return prevIsInline && nextIsInline;\n    };\n    const isBookmarkNode$2 = node => isSpan(node) && node.getAttribute('data-mce-type') === 'bookmark';\n    const isKeepTextNode = (node, root, schema) => isText$a(node) && node.data.length > 0 && surroundedByInlineContent(node, root, schema);\n    const isKeepElement = node => isElement$6(node) ? node.childNodes.length > 0 : false;\n    const isDocument = node => isDocumentFragment(node) || isDocument$1(node);\n    const trimNode = (dom, node, schema, root) => {\n      var _a;\n      const rootNode = root || node;\n      if (isElement$6(node) && isBookmarkNode$2(node)) {\n        return node;\n      }\n      const children = node.childNodes;\n      for (let i = children.length - 1; i >= 0; i--) {\n        trimNode(dom, children[i], schema, rootNode);\n      }\n      if (isElement$6(node)) {\n        const currentChildren = node.childNodes;\n        if (currentChildren.length === 1 && isBookmarkNode$2(currentChildren[0])) {\n          (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(currentChildren[0], node);\n        }\n      }\n      if (!isDocument(node) && !isContent$1(node, rootNode) && !isKeepElement(node) && !isKeepTextNode(node, rootNode, schema)) {\n        dom.remove(node);\n      }\n      return node;\n    };\n\n    const makeMap$3 = Tools.makeMap;\n    const attrsCharsRegExp = /[&<>\\\"\\u0060\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n    const textCharsRegExp = /[<>&\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n    const rawCharsRegExp = /[<>&\\\"\\']/g;\n    const entityRegExp = /&#([a-z0-9]+);?|&([a-z0-9]+);/gi;\n    const asciiMap = {\n      128: '\\u20AC',\n      130: '\\u201A',\n      131: '\\u0192',\n      132: '\\u201E',\n      133: '\\u2026',\n      134: '\\u2020',\n      135: '\\u2021',\n      136: '\\u02c6',\n      137: '\\u2030',\n      138: '\\u0160',\n      139: '\\u2039',\n      140: '\\u0152',\n      142: '\\u017d',\n      145: '\\u2018',\n      146: '\\u2019',\n      147: '\\u201C',\n      148: '\\u201D',\n      149: '\\u2022',\n      150: '\\u2013',\n      151: '\\u2014',\n      152: '\\u02DC',\n      153: '\\u2122',\n      154: '\\u0161',\n      155: '\\u203A',\n      156: '\\u0153',\n      158: '\\u017e',\n      159: '\\u0178'\n    };\n    const baseEntities = {\n      '\"': '&quot;',\n      '\\'': '&#39;',\n      '<': '&lt;',\n      '>': '&gt;',\n      '&': '&amp;',\n      '`': '&#96;'\n    };\n    const reverseEntities = {\n      '&lt;': '<',\n      '&gt;': '>',\n      '&amp;': '&',\n      '&quot;': '\"',\n      '&apos;': \"'\"\n    };\n    const nativeDecode = text => {\n      const elm = SugarElement.fromTag('div').dom;\n      elm.innerHTML = text;\n      return elm.textContent || elm.innerText || text;\n    };\n    const buildEntitiesLookup = (items, radix) => {\n      const lookup = {};\n      if (items) {\n        const itemList = items.split(',');\n        radix = radix || 10;\n        for (let i = 0; i < itemList.length; i += 2) {\n          const chr = String.fromCharCode(parseInt(itemList[i], radix));\n          if (!baseEntities[chr]) {\n            const entity = '&' + itemList[i + 1] + ';';\n            lookup[chr] = entity;\n            lookup[entity] = chr;\n          }\n        }\n        return lookup;\n      } else {\n        return undefined;\n      }\n    };\n    const namedEntities = buildEntitiesLookup('50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,' + '5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,' + '5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,' + '5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,' + '68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,' + '6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,' + '6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,' + '75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,' + '7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,' + '7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,' + 'sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,' + 'st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,' + 't9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,' + 'tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,' + 'u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,' + '81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,' + '8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,' + '8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,' + '8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,' + '8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,' + 'nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,' + 'rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,' + 'Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,' + '80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,' + '811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro', 32);\n    const encodeRaw = (text, attr) => text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n      return baseEntities[chr] || chr;\n    });\n    const encodeAllRaw = text => ('' + text).replace(rawCharsRegExp, chr => {\n      return baseEntities[chr] || chr;\n    });\n    const encodeNumeric = (text, attr) => text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n      if (chr.length > 1) {\n        return '&#' + ((chr.charCodeAt(0) - 55296) * 1024 + (chr.charCodeAt(1) - 56320) + 65536) + ';';\n      }\n      return baseEntities[chr] || '&#' + chr.charCodeAt(0) + ';';\n    });\n    const encodeNamed = (text, attr, entities) => {\n      const resolveEntities = entities || namedEntities;\n      return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n        return baseEntities[chr] || resolveEntities[chr] || chr;\n      });\n    };\n    const getEncodeFunc = (name, entities) => {\n      const entitiesMap = buildEntitiesLookup(entities) || namedEntities;\n      const encodeNamedAndNumeric = (text, attr) => text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n        if (baseEntities[chr] !== undefined) {\n          return baseEntities[chr];\n        }\n        if (entitiesMap[chr] !== undefined) {\n          return entitiesMap[chr];\n        }\n        if (chr.length > 1) {\n          return '&#' + ((chr.charCodeAt(0) - 55296) * 1024 + (chr.charCodeAt(1) - 56320) + 65536) + ';';\n        }\n        return '&#' + chr.charCodeAt(0) + ';';\n      });\n      const encodeCustomNamed = (text, attr) => {\n        return encodeNamed(text, attr, entitiesMap);\n      };\n      const nameMap = makeMap$3(name.replace(/\\+/g, ','));\n      if (nameMap.named && nameMap.numeric) {\n        return encodeNamedAndNumeric;\n      }\n      if (nameMap.named) {\n        if (entities) {\n          return encodeCustomNamed;\n        }\n        return encodeNamed;\n      }\n      if (nameMap.numeric) {\n        return encodeNumeric;\n      }\n      return encodeRaw;\n    };\n    const decode = text => text.replace(entityRegExp, (all, numeric) => {\n      if (numeric) {\n        if (numeric.charAt(0).toLowerCase() === 'x') {\n          numeric = parseInt(numeric.substr(1), 16);\n        } else {\n          numeric = parseInt(numeric, 10);\n        }\n        if (numeric > 65535) {\n          numeric -= 65536;\n          return String.fromCharCode(55296 + (numeric >> 10), 56320 + (numeric & 1023));\n        }\n        return asciiMap[numeric] || String.fromCharCode(numeric);\n      }\n      return reverseEntities[all] || namedEntities[all] || nativeDecode(all);\n    });\n    const Entities = {\n      encodeRaw,\n      encodeAllRaw,\n      encodeNumeric,\n      encodeNamed,\n      getEncodeFunc,\n      decode\n    };\n\n    const split$1 = (items, delim) => {\n      items = Tools.trim(items);\n      return items ? items.split(delim || ' ') : [];\n    };\n    const patternToRegExp = str => new RegExp('^' + str.replace(/([?+*])/g, '.$1') + '$');\n\n    const parseCustomElementsRules = value => {\n      const customElementRegExp = /^(~)?(.+)$/;\n      return bind$3(split$1(value, ','), rule => {\n        const matches = customElementRegExp.exec(rule);\n        if (matches) {\n          const inline = matches[1] === '~';\n          const cloneName = inline ? 'span' : 'div';\n          const name = matches[2];\n          return [{\n            inline,\n            cloneName,\n            name\n          }];\n        } else {\n          return [];\n        }\n      });\n    };\n\n    const getElementSetsAsStrings = type => {\n      let globalAttributes, blockContent;\n      let phrasingContent;\n      globalAttributes = 'id accesskey class dir lang style tabindex title role';\n      blockContent = 'address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul';\n      phrasingContent = 'a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd ' + 'label map noscript object q s samp script select small span strong sub sup ' + 'textarea u var #text #comment';\n      if (type !== 'html4') {\n        const transparentContent = 'a ins del canvas map';\n        globalAttributes += ' contenteditable contextmenu draggable dropzone ' + 'hidden spellcheck translate';\n        blockContent += ' article aside details dialog figure main header footer hgroup section nav ' + transparentContent;\n        phrasingContent += ' audio canvas command datalist mark meter output picture ' + 'progress time wbr video ruby bdi keygen svg';\n      }\n      if (type !== 'html5-strict') {\n        globalAttributes += ' xml:lang';\n        const html4PhrasingContent = 'acronym applet basefont big font strike tt';\n        phrasingContent = [phrasingContent, html4PhrasingContent].join(' ');\n        const html4BlockContent = 'center dir isindex noframes';\n        blockContent = [blockContent, html4BlockContent].join(' ');\n      }\n      const flowContent = [blockContent, phrasingContent].join(' ');\n      return {\n        globalAttributes,\n        blockContent,\n        phrasingContent,\n        flowContent\n      };\n    };\n\n    const makeSchema = type => {\n      const {\n        globalAttributes,\n        phrasingContent,\n        flowContent\n      } = getElementSetsAsStrings(type);\n      const schema = {};\n      const addElement = (name, attributes, children) => {\n        schema[name] = {\n          attributes: mapToObject(attributes, constant({})),\n          attributesOrder: attributes,\n          children: mapToObject(children, constant({}))\n        };\n      };\n      const add = (name, attributes = '', children = '') => {\n        const childNames = split$1(children);\n        const names = split$1(name);\n        let ni = names.length;\n        const allAttributes = split$1([globalAttributes, attributes].join(' '));\n        while (ni--) {\n          addElement(names[ni], allAttributes.slice(), childNames);\n        }\n      };\n      const addAttrs = (name, attributes) => {\n        const names = split$1(name);\n        const attrs = split$1(attributes);\n        let ni = names.length;\n        while (ni--) {\n          const schemaItem = schema[names[ni]];\n          for (let i = 0, l = attrs.length; i < l; i++) {\n            schemaItem.attributes[attrs[i]] = {};\n            schemaItem.attributesOrder.push(attrs[i]);\n          }\n        }\n      };\n      if (type !== 'html5-strict') {\n        const html4PhrasingContent = 'acronym applet basefont big font strike tt';\n        each$e(split$1(html4PhrasingContent), name => {\n          add(name, '', phrasingContent);\n        });\n        const html4BlockContent = 'center dir isindex noframes';\n        each$e(split$1(html4BlockContent), name => {\n          add(name, '', flowContent);\n        });\n      }\n      add('html', 'manifest', 'head body');\n      add('head', '', 'base command link meta noscript script style title');\n      add('title hr noscript br');\n      add('base', 'href target');\n      add('link', 'href rel media hreflang type sizes hreflang');\n      add('meta', 'name http-equiv content charset');\n      add('style', 'media type scoped');\n      add('script', 'src async defer type charset');\n      add('body', 'onafterprint onbeforeprint onbeforeunload onblur onerror onfocus ' + 'onhashchange onload onmessage onoffline ononline onpagehide onpageshow ' + 'onpopstate onresize onscroll onstorage onunload', flowContent);\n      add('dd div', '', flowContent);\n      add('address dt caption', '', type === 'html4' ? phrasingContent : flowContent);\n      add('h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn', '', phrasingContent);\n      add('blockquote', 'cite', flowContent);\n      add('ol', 'reversed start type', 'li');\n      add('ul', '', 'li');\n      add('li', 'value', flowContent);\n      add('dl', '', 'dt dd');\n      add('a', 'href target rel media hreflang type', type === 'html4' ? phrasingContent : flowContent);\n      add('q', 'cite', phrasingContent);\n      add('ins del', 'cite datetime', flowContent);\n      add('img', 'src sizes srcset alt usemap ismap width height');\n      add('iframe', 'src name width height', flowContent);\n      add('embed', 'src type width height');\n      add('object', 'data type typemustmatch name usemap form width height', [flowContent, 'param'].join(' '));\n      add('param', 'name value');\n      add('map', 'name', [flowContent, 'area'].join(' '));\n      add('area', 'alt coords shape href target rel media hreflang type');\n      add('table', 'border', 'caption colgroup thead tfoot tbody tr' + (type === 'html4' ? ' col' : ''));\n      add('colgroup', 'span', 'col');\n      add('col', 'span');\n      add('tbody thead tfoot', '', 'tr');\n      add('tr', '', 'td th');\n      add('td', 'colspan rowspan headers', flowContent);\n      add('th', 'colspan rowspan headers scope abbr', flowContent);\n      add('form', 'accept-charset action autocomplete enctype method name novalidate target', flowContent);\n      add('fieldset', 'disabled form name', [flowContent, 'legend'].join(' '));\n      add('label', 'form for', phrasingContent);\n      add('input', 'accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate ' + 'formtarget height list max maxlength min multiple name pattern readonly required size src step type value width');\n      add('button', 'disabled form formaction formenctype formmethod formnovalidate formtarget name type value', type === 'html4' ? flowContent : phrasingContent);\n      add('select', 'disabled form multiple name required size', 'option optgroup');\n      add('optgroup', 'disabled label', 'option');\n      add('option', 'disabled label selected value');\n      add('textarea', 'cols dirname disabled form maxlength name readonly required rows wrap');\n      add('menu', 'type label', [flowContent, 'li'].join(' '));\n      add('noscript', '', flowContent);\n      if (type !== 'html4') {\n        add('wbr');\n        add('ruby', '', [phrasingContent, 'rt rp'].join(' '));\n        add('figcaption', '', flowContent);\n        add('mark rt rp bdi', '', phrasingContent);\n        add('summary', '', [phrasingContent, 'h1 h2 h3 h4 h5 h6'].join(' '));\n        add('canvas', 'width height', flowContent);\n        add('video', 'src crossorigin poster preload autoplay mediagroup loop ' + 'muted controls width height buffered', [flowContent, 'track source'].join(' '));\n        add('audio', 'src crossorigin preload autoplay mediagroup loop muted controls ' + 'buffered volume', [flowContent, 'track source'].join(' '));\n        add('picture', '', 'img source');\n        add('source', 'src srcset type media sizes');\n        add('track', 'kind src srclang label default');\n        add('datalist', '', [phrasingContent, 'option'].join(' '));\n        add('article section nav aside main header footer', '', flowContent);\n        add('hgroup', '', 'h1 h2 h3 h4 h5 h6');\n        add('figure', '', [flowContent, 'figcaption'].join(' '));\n        add('time', 'datetime', phrasingContent);\n        add('dialog', 'open', flowContent);\n        add('command', 'type label icon disabled checked radiogroup command');\n        add('output', 'for form name', phrasingContent);\n        add('progress', 'value max', phrasingContent);\n        add('meter', 'value min max low high optimum', phrasingContent);\n        add('details', 'open', [flowContent, 'summary'].join(' '));\n        add('keygen', 'autofocus challenge disabled form keytype name');\n        addElement('svg', 'id tabindex lang xml:space class style x y width height viewBox preserveAspectRatio zoomAndPan transform'.split(' '), []);\n      }\n      if (type !== 'html5-strict') {\n        addAttrs('script', 'language xml:space');\n        addAttrs('style', 'xml:space');\n        addAttrs('object', 'declare classid code codebase codetype archive standby align border hspace vspace');\n        addAttrs('embed', 'align name hspace vspace');\n        addAttrs('param', 'valuetype type');\n        addAttrs('a', 'charset name rev shape coords');\n        addAttrs('br', 'clear');\n        addAttrs('applet', 'codebase archive code object alt name width height align hspace vspace');\n        addAttrs('img', 'name longdesc align border hspace vspace');\n        addAttrs('iframe', 'longdesc frameborder marginwidth marginheight scrolling align');\n        addAttrs('font basefont', 'size color face');\n        addAttrs('input', 'usemap align');\n        addAttrs('select');\n        addAttrs('textarea');\n        addAttrs('h1 h2 h3 h4 h5 h6 div p legend caption', 'align');\n        addAttrs('ul', 'type compact');\n        addAttrs('li', 'type');\n        addAttrs('ol dl menu dir', 'compact');\n        addAttrs('pre', 'width xml:space');\n        addAttrs('hr', 'align noshade size width');\n        addAttrs('isindex', 'prompt');\n        addAttrs('table', 'summary width frame rules cellspacing cellpadding align bgcolor');\n        addAttrs('col', 'width align char charoff valign');\n        addAttrs('colgroup', 'width align char charoff valign');\n        addAttrs('thead', 'align char charoff valign');\n        addAttrs('tr', 'align char charoff valign bgcolor');\n        addAttrs('th', 'axis align char charoff valign nowrap bgcolor width height');\n        addAttrs('form', 'accept');\n        addAttrs('td', 'abbr axis scope align char charoff valign nowrap bgcolor width height');\n        addAttrs('tfoot', 'align char charoff valign');\n        addAttrs('tbody', 'align char charoff valign');\n        addAttrs('area', 'nohref');\n        addAttrs('body', 'background bgcolor text link vlink alink');\n      }\n      if (type !== 'html4') {\n        addAttrs('input button select textarea', 'autofocus');\n        addAttrs('input textarea', 'placeholder');\n        addAttrs('a', 'download');\n        addAttrs('link script img', 'crossorigin');\n        addAttrs('img', 'loading');\n        addAttrs('iframe', 'sandbox seamless allow allowfullscreen loading');\n      }\n      if (type !== 'html4') {\n        each$e([schema.video, schema.audio], item => {\n          delete item.children.audio;\n          delete item.children.video;\n        });\n      }\n      each$e(split$1('a form meter progress dfn'), name => {\n        if (schema[name]) {\n          delete schema[name].children[name];\n        }\n      });\n      delete schema.caption.children.table;\n      delete schema.script;\n      return schema;\n    };\n\n    const prefixToOperation = prefix => prefix === '-' ? 'remove' : 'add';\n    const parseValidChildrenRules = value => {\n      const childRuleRegExp = /^([+\\-]?)([A-Za-z0-9_\\-.\\u00b7\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u037d\\u037f-\\u1fff\\u200c-\\u200d\\u203f-\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]+)\\[([^\\]]+)]$/;\n      return bind$3(split$1(value, ','), rule => {\n        const matches = childRuleRegExp.exec(rule);\n        if (matches) {\n          const prefix = matches[1];\n          const operation = prefix ? prefixToOperation(prefix) : 'replace';\n          const name = matches[2];\n          const validChildren = split$1(matches[3], '|');\n          return [{\n            operation,\n            name,\n            validChildren\n          }];\n        } else {\n          return [];\n        }\n      });\n    };\n\n    const parseValidElementsAttrDataIntoElement = (attrData, targetElement) => {\n      const attrRuleRegExp = /^([!\\-])?(\\w+[\\\\:]:\\w+|[^=~<]+)?(?:([=~<])(.*))?$/;\n      const hasPatternsRegExp = /[*?+]/;\n      const {\n        attributes,\n        attributesOrder\n      } = targetElement;\n      return each$e(split$1(attrData, '|'), rule => {\n        const matches = attrRuleRegExp.exec(rule);\n        if (matches) {\n          const attr = {};\n          const attrType = matches[1];\n          const attrName = matches[2].replace(/[\\\\:]:/g, ':');\n          const attrPrefix = matches[3];\n          const value = matches[4];\n          if (attrType === '!') {\n            targetElement.attributesRequired = targetElement.attributesRequired || [];\n            targetElement.attributesRequired.push(attrName);\n            attr.required = true;\n          }\n          if (attrType === '-') {\n            delete attributes[attrName];\n            attributesOrder.splice(Tools.inArray(attributesOrder, attrName), 1);\n            return;\n          }\n          if (attrPrefix) {\n            if (attrPrefix === '=') {\n              targetElement.attributesDefault = targetElement.attributesDefault || [];\n              targetElement.attributesDefault.push({\n                name: attrName,\n                value\n              });\n              attr.defaultValue = value;\n            } else if (attrPrefix === '~') {\n              targetElement.attributesForced = targetElement.attributesForced || [];\n              targetElement.attributesForced.push({\n                name: attrName,\n                value\n              });\n              attr.forcedValue = value;\n            } else if (attrPrefix === '<') {\n              attr.validValues = Tools.makeMap(value, '?');\n            }\n          }\n          if (hasPatternsRegExp.test(attrName)) {\n            const attrPattern = attr;\n            targetElement.attributePatterns = targetElement.attributePatterns || [];\n            attrPattern.pattern = patternToRegExp(attrName);\n            targetElement.attributePatterns.push(attrPattern);\n          } else {\n            if (!attributes[attrName]) {\n              attributesOrder.push(attrName);\n            }\n            attributes[attrName] = attr;\n          }\n        }\n      });\n    };\n    const cloneAttributesInto = (from, to) => {\n      each$d(from.attributes, (value, key) => {\n        to.attributes[key] = value;\n      });\n      to.attributesOrder.push(...from.attributesOrder);\n    };\n    const parseValidElementsRules = (globalElement, validElements) => {\n      const elementRuleRegExp = /^([#+\\-])?([^\\[!\\/]+)(?:\\/([^\\[!]+))?(?:(!?)\\[([^\\]]+)])?$/;\n      return bind$3(split$1(validElements, ','), rule => {\n        const matches = elementRuleRegExp.exec(rule);\n        if (matches) {\n          const prefix = matches[1];\n          const elementName = matches[2];\n          const outputName = matches[3];\n          const attrsPrefix = matches[4];\n          const attrData = matches[5];\n          const element = {\n            attributes: {},\n            attributesOrder: []\n          };\n          globalElement.each(el => cloneAttributesInto(el, element));\n          if (prefix === '#') {\n            element.paddEmpty = true;\n          } else if (prefix === '-') {\n            element.removeEmpty = true;\n          }\n          if (attrsPrefix === '!') {\n            element.removeEmptyAttrs = true;\n          }\n          if (attrData) {\n            parseValidElementsAttrDataIntoElement(attrData, element);\n          }\n          if (outputName) {\n            element.outputName = elementName;\n          }\n          if (elementName === '@') {\n            if (globalElement.isNone()) {\n              globalElement = Optional.some(element);\n            } else {\n              return [];\n            }\n          }\n          return [outputName ? {\n            name: elementName,\n            element,\n            aliasName: outputName\n          } : {\n            name: elementName,\n            element\n          }];\n        } else {\n          return [];\n        }\n      });\n    };\n\n    const mapCache = {};\n    const makeMap$2 = Tools.makeMap,\n      each$b = Tools.each,\n      extend$2 = Tools.extend,\n      explode$2 = Tools.explode;\n    const createMap = (defaultValue, extendWith = {}) => {\n      const value = makeMap$2(defaultValue, ' ', makeMap$2(defaultValue.toUpperCase(), ' '));\n      return extend$2(value, extendWith);\n    };\n    const getTextRootBlockElements = schema => createMap('td th li dt dd figcaption caption details summary', schema.getTextBlockElements());\n    const compileElementMap = (value, mode) => {\n      if (value) {\n        const styles = {};\n        if (isString(value)) {\n          value = {\n            '*': value\n          };\n        }\n        each$b(value, (value, key) => {\n          styles[key] = styles[key.toUpperCase()] = mode === 'map' ? makeMap$2(value, /[, ]/) : explode$2(value, /[, ]/);\n        });\n        return styles;\n      } else {\n        return undefined;\n      }\n    };\n    const Schema = (settings = {}) => {\n      var _a;\n      const elements = {};\n      const children = {};\n      let patternElements = [];\n      const customElementsMap = {};\n      const specialElements = {};\n      const createLookupTable = (option, defaultValue, extendWith) => {\n        const value = settings[option];\n        if (!value) {\n          let newValue = mapCache[option];\n          if (!newValue) {\n            newValue = createMap(defaultValue, extendWith);\n            mapCache[option] = newValue;\n          }\n          return newValue;\n        } else {\n          return makeMap$2(value, /[, ]/, makeMap$2(value.toUpperCase(), /[, ]/));\n        }\n      };\n      const schemaType = (_a = settings.schema) !== null && _a !== void 0 ? _a : 'html5';\n      const schemaItems = makeSchema(schemaType);\n      if (settings.verify_html === false) {\n        settings.valid_elements = '*[*]';\n      }\n      const validStyles = compileElementMap(settings.valid_styles);\n      const invalidStyles = compileElementMap(settings.invalid_styles, 'map');\n      const validClasses = compileElementMap(settings.valid_classes, 'map');\n      const whitespaceElementsMap = createLookupTable('whitespace_elements', 'pre script noscript style textarea video audio iframe object code');\n      const selfClosingElementsMap = createLookupTable('self_closing_elements', 'colgroup dd dt li option p td tfoot th thead tr');\n      const voidElementsMap = createLookupTable('void_elements', 'area base basefont br col frame hr img input isindex link ' + 'meta param embed source wbr track');\n      const boolAttrMap = createLookupTable('boolean_attributes', 'checked compact declare defer disabled ismap multiple nohref noresize ' + 'noshade nowrap readonly selected autoplay loop controls allowfullscreen');\n      const nonEmptyOrMoveCaretBeforeOnEnter = 'td th iframe video audio object script code';\n      const nonEmptyElementsMap = createLookupTable('non_empty_elements', nonEmptyOrMoveCaretBeforeOnEnter + ' pre svg', voidElementsMap);\n      const moveCaretBeforeOnEnterElementsMap = createLookupTable('move_caret_before_on_enter_elements', nonEmptyOrMoveCaretBeforeOnEnter + ' table', voidElementsMap);\n      const headings = 'h1 h2 h3 h4 h5 h6';\n      const textBlockElementsMap = createLookupTable('text_block_elements', headings + ' p div address pre form ' + 'blockquote center dir fieldset header footer article section hgroup aside main nav figure');\n      const blockElementsMap = createLookupTable('block_elements', 'hr table tbody thead tfoot ' + 'th tr td li ol ul caption dl dt dd noscript menu isindex option ' + 'datalist select optgroup figcaption details summary html body multicol listing', textBlockElementsMap);\n      const textInlineElementsMap = createLookupTable('text_inline_elements', 'span strong b em i font s strike u var cite ' + 'dfn code mark q sup sub samp');\n      const transparentElementsMap = createLookupTable('transparent_elements', 'a ins del canvas map');\n      const wrapBlockElementsMap = createLookupTable('wrap_block_elements', 'pre ' + headings);\n      each$b('script noscript iframe noframes noembed title style textarea xmp plaintext'.split(' '), name => {\n        specialElements[name] = new RegExp('<\/' + name + '[^>]*>', 'gi');\n      });\n      const addValidElements = validElements => {\n        const globalElement = Optional.from(elements['@']);\n        const hasPatternsRegExp = /[*?+]/;\n        each$e(parseValidElementsRules(globalElement, validElements !== null && validElements !== void 0 ? validElements : ''), ({\n          name,\n          element,\n          aliasName\n        }) => {\n          if (aliasName) {\n            elements[aliasName] = element;\n          }\n          if (hasPatternsRegExp.test(name)) {\n            const patternElement = element;\n            patternElement.pattern = patternToRegExp(name);\n            patternElements.push(patternElement);\n          } else {\n            elements[name] = element;\n          }\n        });\n      };\n      const setValidElements = validElements => {\n        patternElements = [];\n        each$e(keys(elements), name => {\n          delete elements[name];\n        });\n        addValidElements(validElements);\n      };\n      const addCustomElements = customElements => {\n        delete mapCache.text_block_elements;\n        delete mapCache.block_elements;\n        each$e(parseCustomElementsRules(customElements !== null && customElements !== void 0 ? customElements : ''), ({\n          inline,\n          name,\n          cloneName\n        }) => {\n          children[name] = children[cloneName];\n          customElementsMap[name] = cloneName;\n          nonEmptyElementsMap[name.toUpperCase()] = {};\n          nonEmptyElementsMap[name] = {};\n          if (!inline) {\n            blockElementsMap[name.toUpperCase()] = {};\n            blockElementsMap[name] = {};\n          }\n          if (!elements[name]) {\n            let customRule = elements[cloneName];\n            customRule = extend$2({}, customRule);\n            delete customRule.removeEmptyAttrs;\n            delete customRule.removeEmpty;\n            elements[name] = customRule;\n          }\n          each$d(children, (element, elmName) => {\n            if (element[cloneName]) {\n              children[elmName] = element = extend$2({}, children[elmName]);\n              element[name] = element[cloneName];\n            }\n          });\n        });\n      };\n      const addValidChildren = validChildren => {\n        each$e(parseValidChildrenRules(validChildren !== null && validChildren !== void 0 ? validChildren : ''), ({\n          operation,\n          name,\n          validChildren\n        }) => {\n          const parent = operation === 'replace' ? {\n            '#comment': {}\n          } : children[name];\n          each$e(validChildren, child => {\n            if (operation === 'remove') {\n              delete parent[child];\n            } else {\n              parent[child] = {};\n            }\n          });\n          children[name] = parent;\n        });\n      };\n      const getElementRule = name => {\n        const element = elements[name];\n        if (element) {\n          return element;\n        }\n        let i = patternElements.length;\n        while (i--) {\n          const patternElement = patternElements[i];\n          if (patternElement.pattern.test(name)) {\n            return patternElement;\n          }\n        }\n        return undefined;\n      };\n      if (!settings.valid_elements) {\n        each$b(schemaItems, (element, name) => {\n          elements[name] = {\n            attributes: element.attributes,\n            attributesOrder: element.attributesOrder\n          };\n          children[name] = element.children;\n        });\n        each$b(split$1('strong/b em/i'), item => {\n          const items = split$1(item, '/');\n          elements[items[1]].outputName = items[0];\n        });\n        each$b(textInlineElementsMap, (_val, name) => {\n          if (elements[name]) {\n            if (settings.padd_empty_block_inline_children) {\n              elements[name].paddInEmptyBlock = true;\n            }\n            elements[name].removeEmpty = true;\n          }\n        });\n        each$b(split$1('ol ul blockquote a table tbody'), name => {\n          if (elements[name]) {\n            elements[name].removeEmpty = true;\n          }\n        });\n        each$b(split$1('p h1 h2 h3 h4 h5 h6 th td pre div address caption li summary'), name => {\n          if (elements[name]) {\n            elements[name].paddEmpty = true;\n          }\n        });\n        each$b(split$1('span'), name => {\n          elements[name].removeEmptyAttrs = true;\n        });\n      } else {\n        setValidElements(settings.valid_elements);\n        each$b(schemaItems, (element, name) => {\n          children[name] = element.children;\n        });\n      }\n      delete elements.svg;\n      addCustomElements(settings.custom_elements);\n      addValidChildren(settings.valid_children);\n      addValidElements(settings.extended_valid_elements);\n      addValidChildren('+ol[ul|ol],+ul[ul|ol]');\n      each$b({\n        dd: 'dl',\n        dt: 'dl',\n        li: 'ul ol',\n        td: 'tr',\n        th: 'tr',\n        tr: 'tbody thead tfoot',\n        tbody: 'table',\n        thead: 'table',\n        tfoot: 'table',\n        legend: 'fieldset',\n        area: 'map',\n        param: 'video audio object'\n      }, (parents, item) => {\n        if (elements[item]) {\n          elements[item].parentsRequired = split$1(parents);\n        }\n      });\n      if (settings.invalid_elements) {\n        each$b(explode$2(settings.invalid_elements), item => {\n          if (elements[item]) {\n            delete elements[item];\n          }\n        });\n      }\n      if (!getElementRule('span')) {\n        addValidElements('span[!data-mce-type|*]');\n      }\n      const getValidStyles = constant(validStyles);\n      const getInvalidStyles = constant(invalidStyles);\n      const getValidClasses = constant(validClasses);\n      const getBoolAttrs = constant(boolAttrMap);\n      const getBlockElements = constant(blockElementsMap);\n      const getTextBlockElements = constant(textBlockElementsMap);\n      const getTextInlineElements = constant(textInlineElementsMap);\n      const getVoidElements = constant(Object.seal(voidElementsMap));\n      const getSelfClosingElements = constant(selfClosingElementsMap);\n      const getNonEmptyElements = constant(nonEmptyElementsMap);\n      const getMoveCaretBeforeOnEnterElements = constant(moveCaretBeforeOnEnterElementsMap);\n      const getWhitespaceElements = constant(whitespaceElementsMap);\n      const getTransparentElements = constant(transparentElementsMap);\n      const getWrapBlockElements = constant(wrapBlockElementsMap);\n      const getSpecialElements = constant(Object.seal(specialElements));\n      const isValidChild = (name, child) => {\n        const parent = children[name.toLowerCase()];\n        return !!(parent && parent[child.toLowerCase()]);\n      };\n      const isValid = (name, attr) => {\n        const rule = getElementRule(name);\n        if (rule) {\n          if (attr) {\n            if (rule.attributes[attr]) {\n              return true;\n            }\n            const attrPatterns = rule.attributePatterns;\n            if (attrPatterns) {\n              let i = attrPatterns.length;\n              while (i--) {\n                if (attrPatterns[i].pattern.test(attr)) {\n                  return true;\n                }\n              }\n            }\n          } else {\n            return true;\n          }\n        }\n        return false;\n      };\n      const isBlock = name => has$2(getBlockElements(), name);\n      const isInline = name => !startsWith(name, '#') && isValid(name) && !isBlock(name);\n      const isWrapper = name => has$2(getWrapBlockElements(), name) || isInline(name);\n      const getCustomElements = constant(customElementsMap);\n      return {\n        type: schemaType,\n        children,\n        elements,\n        getValidStyles,\n        getValidClasses,\n        getBlockElements,\n        getInvalidStyles,\n        getVoidElements,\n        getTextBlockElements,\n        getTextInlineElements,\n        getBoolAttrs,\n        getElementRule,\n        getSelfClosingElements,\n        getNonEmptyElements,\n        getMoveCaretBeforeOnEnterElements,\n        getWhitespaceElements,\n        getTransparentElements,\n        getSpecialElements,\n        isValidChild,\n        isValid,\n        isBlock,\n        isInline,\n        isWrapper,\n        getCustomElements,\n        addValidElements,\n        setValidElements,\n        addCustomElements,\n        addValidChildren\n      };\n    };\n\n    const hexColour = value => ({\n      value: normalizeHex(value)\n    });\n    const normalizeHex = hex => removeLeading(hex, '#').toUpperCase();\n    const toHex = component => {\n      const hex = component.toString(16);\n      return (hex.length === 1 ? '0' + hex : hex).toUpperCase();\n    };\n    const fromRgba = rgbaColour => {\n      const value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue);\n      return hexColour(value);\n    };\n\n    const rgbRegex = /^\\s*rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)\\s*$/i;\n    const rgbaRegex = /^\\s*rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?(?:\\.\\d+)?)\\s*\\)\\s*$/i;\n    const rgbaColour = (red, green, blue, alpha) => ({\n      red,\n      green,\n      blue,\n      alpha\n    });\n    const fromStringValues = (red, green, blue, alpha) => {\n      const r = parseInt(red, 10);\n      const g = parseInt(green, 10);\n      const b = parseInt(blue, 10);\n      const a = parseFloat(alpha);\n      return rgbaColour(r, g, b, a);\n    };\n    const fromString = rgbaString => {\n      if (rgbaString === 'transparent') {\n        return Optional.some(rgbaColour(0, 0, 0, 0));\n      }\n      const rgbMatch = rgbRegex.exec(rgbaString);\n      if (rgbMatch !== null) {\n        return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1'));\n      }\n      const rgbaMatch = rgbaRegex.exec(rgbaString);\n      if (rgbaMatch !== null) {\n        return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4]));\n      }\n      return Optional.none();\n    };\n    const toString = rgba => \"rgba(\".concat(rgba.red, \",\").concat(rgba.green, \",\").concat(rgba.blue, \",\").concat(rgba.alpha, \")\");\n\n    const rgbaToHexString = color => fromString(color).map(fromRgba).map(h => '#' + h.value).getOr(color);\n\n    const Styles = (settings = {}, schema) => {\n      const urlOrStrRegExp = /(?:url(?:(?:\\(\\s*\\\"([^\\\"]+)\\\"\\s*\\))|(?:\\(\\s*\\'([^\\']+)\\'\\s*\\))|(?:\\(\\s*([^)\\s]+)\\s*\\))))|(?:\\'([^\\']+)\\')|(?:\\\"([^\\\"]+)\\\")/gi;\n      const styleRegExp = /\\s*([^:]+):\\s*([^;]+);?/g;\n      const trimRightRegExp = /\\s+$/;\n      const encodingLookup = {};\n      let validStyles;\n      let invalidStyles;\n      const invisibleChar = zeroWidth;\n      if (schema) {\n        validStyles = schema.getValidStyles();\n        invalidStyles = schema.getInvalidStyles();\n      }\n      const encodingItems = (\"\\\\\\\" \\\\' \\\\; \\\\: ; : \" + invisibleChar).split(' ');\n      for (let i = 0; i < encodingItems.length; i++) {\n        encodingLookup[encodingItems[i]] = invisibleChar + i;\n        encodingLookup[invisibleChar + i] = encodingItems[i];\n      }\n      const self = {\n        parse: css => {\n          const styles = {};\n          let isEncoded = false;\n          const urlConverter = settings.url_converter;\n          const urlConverterScope = settings.url_converter_scope || self;\n          const compress = (prefix, suffix, noJoin) => {\n            const top = styles[prefix + '-top' + suffix];\n            if (!top) {\n              return;\n            }\n            const right = styles[prefix + '-right' + suffix];\n            if (!right) {\n              return;\n            }\n            const bottom = styles[prefix + '-bottom' + suffix];\n            if (!bottom) {\n              return;\n            }\n            const left = styles[prefix + '-left' + suffix];\n            if (!left) {\n              return;\n            }\n            const box = [top, right, bottom, left];\n            let i = box.length - 1;\n            while (i--) {\n              if (box[i] !== box[i + 1]) {\n                break;\n              }\n            }\n            if (i > -1 && noJoin) {\n              return;\n            }\n            styles[prefix + suffix] = i === -1 ? box[0] : box.join(' ');\n            delete styles[prefix + '-top' + suffix];\n            delete styles[prefix + '-right' + suffix];\n            delete styles[prefix + '-bottom' + suffix];\n            delete styles[prefix + '-left' + suffix];\n          };\n          const canCompress = key => {\n            const value = styles[key];\n            if (!value) {\n              return;\n            }\n            const values = value.indexOf(',') > -1 ? [value] : value.split(' ');\n            let i = values.length;\n            while (i--) {\n              if (values[i] !== values[0]) {\n                return false;\n              }\n            }\n            styles[key] = values[0];\n            return true;\n          };\n          const compress2 = (target, a, b, c) => {\n            if (!canCompress(a)) {\n              return;\n            }\n            if (!canCompress(b)) {\n              return;\n            }\n            if (!canCompress(c)) {\n              return;\n            }\n            styles[target] = styles[a] + ' ' + styles[b] + ' ' + styles[c];\n            delete styles[a];\n            delete styles[b];\n            delete styles[c];\n          };\n          const encode = str => {\n            isEncoded = true;\n            return encodingLookup[str];\n          };\n          const decode = (str, keepSlashes) => {\n            if (isEncoded) {\n              str = str.replace(/\\uFEFF[0-9]/g, str => {\n                return encodingLookup[str];\n              });\n            }\n            if (!keepSlashes) {\n              str = str.replace(/\\\\([\\'\\\";:])/g, '$1');\n            }\n            return str;\n          };\n          const decodeSingleHexSequence = escSeq => {\n            return String.fromCharCode(parseInt(escSeq.slice(1), 16));\n          };\n          const decodeHexSequences = value => {\n            return value.replace(/\\\\[0-9a-f]+/gi, decodeSingleHexSequence);\n          };\n          const processUrl = (match, url, url2, url3, str, str2) => {\n            str = str || str2;\n            if (str) {\n              str = decode(str);\n              return \"'\" + str.replace(/\\'/g, \"\\\\'\") + \"'\";\n            }\n            url = decode(url || url2 || url3 || '');\n            if (!settings.allow_script_urls) {\n              const scriptUrl = url.replace(/[\\s\\r\\n]+/g, '');\n              if (/(java|vb)script:/i.test(scriptUrl)) {\n                return '';\n              }\n              if (!settings.allow_svg_data_urls && /^data:image\\/svg/i.test(scriptUrl)) {\n                return '';\n              }\n            }\n            if (urlConverter) {\n              url = urlConverter.call(urlConverterScope, url, 'style');\n            }\n            return \"url('\" + url.replace(/\\'/g, \"\\\\'\") + \"')\";\n          };\n          if (css) {\n            css = css.replace(/[\\u0000-\\u001F]/g, '');\n            css = css.replace(/\\\\[\\\"\\';:\\uFEFF]/g, encode).replace(/\\\"[^\\\"]+\\\"|\\'[^\\']+\\'/g, str => {\n              return str.replace(/[;:]/g, encode);\n            });\n            let matches;\n            while (matches = styleRegExp.exec(css)) {\n              styleRegExp.lastIndex = matches.index + matches[0].length;\n              let name = matches[1].replace(trimRightRegExp, '').toLowerCase();\n              let value = matches[2].replace(trimRightRegExp, '');\n              if (name && value) {\n                name = decodeHexSequences(name);\n                value = decodeHexSequences(value);\n                if (name.indexOf(invisibleChar) !== -1 || name.indexOf('\"') !== -1) {\n                  continue;\n                }\n                if (!settings.allow_script_urls && (name === 'behavior' || /expression\\s*\\(|\\/\\*|\\*\\//.test(value))) {\n                  continue;\n                }\n                if (name === 'font-weight' && value === '700') {\n                  value = 'bold';\n                } else if (name === 'color' || name === 'background-color') {\n                  value = value.toLowerCase();\n                }\n                if (isString(settings.force_hex_color) && settings.force_hex_color !== 'off') {\n                  fromString(value).each(rgba => {\n                    if (settings.force_hex_color === 'always' || rgba.alpha === 1) {\n                      value = rgbaToHexString(toString(rgba));\n                    }\n                  });\n                }\n                value = value.replace(urlOrStrRegExp, processUrl);\n                styles[name] = isEncoded ? decode(value, true) : value;\n              }\n            }\n            compress('border', '', true);\n            compress('border', '-width');\n            compress('border', '-color');\n            compress('border', '-style');\n            compress('padding', '');\n            compress('margin', '');\n            compress2('border', 'border-width', 'border-style', 'border-color');\n            if (styles.border === 'medium none') {\n              delete styles.border;\n            }\n            if (styles['border-image'] === 'none') {\n              delete styles['border-image'];\n            }\n          }\n          return styles;\n        },\n        serialize: (styles, elementName) => {\n          let css = '';\n          const serializeStyles = (elemName, validStyleList) => {\n            const styleList = validStyleList[elemName];\n            if (styleList) {\n              for (let i = 0, l = styleList.length; i < l; i++) {\n                const name = styleList[i];\n                const value = styles[name];\n                if (value) {\n                  css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';';\n                }\n              }\n            }\n          };\n          const isValid = (name, elemName) => {\n            if (!invalidStyles || !elemName) {\n              return true;\n            }\n            let styleMap = invalidStyles['*'];\n            if (styleMap && styleMap[name]) {\n              return false;\n            }\n            styleMap = invalidStyles[elemName];\n            return !(styleMap && styleMap[name]);\n          };\n          if (elementName && validStyles) {\n            serializeStyles('*', validStyles);\n            serializeStyles(elementName, validStyles);\n          } else {\n            each$d(styles, (value, name) => {\n              if (value && isValid(name, elementName)) {\n                css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';';\n              }\n            });\n          }\n          return css;\n        }\n      };\n      return self;\n    };\n\n    const deprecated = {\n      keyLocation: true,\n      layerX: true,\n      layerY: true,\n      returnValue: true,\n      webkitMovementX: true,\n      webkitMovementY: true,\n      keyIdentifier: true,\n      mozPressure: true\n    };\n    const isNativeEvent = event => event instanceof Event || isFunction(event.initEvent);\n    const hasIsDefaultPrevented = event => event.isDefaultPrevented === always || event.isDefaultPrevented === never;\n    const needsNormalizing = event => isNullable(event.preventDefault) || isNativeEvent(event);\n    const clone$3 = (originalEvent, data) => {\n      const event = data !== null && data !== void 0 ? data : {};\n      for (const name in originalEvent) {\n        if (!has$2(deprecated, name)) {\n          event[name] = originalEvent[name];\n        }\n      }\n      if (isNonNullable(originalEvent.composedPath)) {\n        event.composedPath = () => originalEvent.composedPath();\n      }\n      if (isNonNullable(originalEvent.getModifierState)) {\n        event.getModifierState = keyArg => originalEvent.getModifierState(keyArg);\n      }\n      if (isNonNullable(originalEvent.getTargetRanges)) {\n        event.getTargetRanges = () => originalEvent.getTargetRanges();\n      }\n      return event;\n    };\n    const normalize$3 = (type, originalEvent, fallbackTarget, data) => {\n      var _a;\n      const event = clone$3(originalEvent, data);\n      event.type = type;\n      if (isNullable(event.target)) {\n        event.target = (_a = event.srcElement) !== null && _a !== void 0 ? _a : fallbackTarget;\n      }\n      if (needsNormalizing(originalEvent)) {\n        event.preventDefault = () => {\n          event.defaultPrevented = true;\n          event.isDefaultPrevented = always;\n          if (isFunction(originalEvent.preventDefault)) {\n            originalEvent.preventDefault();\n          }\n        };\n        event.stopPropagation = () => {\n          event.cancelBubble = true;\n          event.isPropagationStopped = always;\n          if (isFunction(originalEvent.stopPropagation)) {\n            originalEvent.stopPropagation();\n          }\n        };\n        event.stopImmediatePropagation = () => {\n          event.isImmediatePropagationStopped = always;\n          event.stopPropagation();\n        };\n        if (!hasIsDefaultPrevented(event)) {\n          event.isDefaultPrevented = event.defaultPrevented === true ? always : never;\n          event.isPropagationStopped = event.cancelBubble === true ? always : never;\n          event.isImmediatePropagationStopped = never;\n        }\n      }\n      return event;\n    };\n\n    const eventExpandoPrefix = 'mce-data-';\n    const mouseEventRe = /^(?:mouse|contextmenu)|click/;\n    const addEvent = (target, name, callback, capture) => {\n      target.addEventListener(name, callback, capture || false);\n    };\n    const removeEvent = (target, name, callback, capture) => {\n      target.removeEventListener(name, callback, capture || false);\n    };\n    const isMouseEvent = event => isNonNullable(event) && mouseEventRe.test(event.type);\n    const fix = (originalEvent, data) => {\n      const event = normalize$3(originalEvent.type, originalEvent, document, data);\n      if (isMouseEvent(originalEvent) && isUndefined(originalEvent.pageX) && !isUndefined(originalEvent.clientX)) {\n        const eventDoc = event.target.ownerDocument || document;\n        const doc = eventDoc.documentElement;\n        const body = eventDoc.body;\n        const mouseEvent = event;\n        mouseEvent.pageX = originalEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n        mouseEvent.pageY = originalEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n      }\n      return event;\n    };\n    const bindOnReady = (win, callback, eventUtils) => {\n      const doc = win.document,\n        event = {\n          type: 'ready'\n        };\n      if (eventUtils.domLoaded) {\n        callback(event);\n        return;\n      }\n      const isDocReady = () => {\n        return doc.readyState === 'complete' || doc.readyState === 'interactive' && doc.body;\n      };\n      const readyHandler = () => {\n        removeEvent(win, 'DOMContentLoaded', readyHandler);\n        removeEvent(win, 'load', readyHandler);\n        if (!eventUtils.domLoaded) {\n          eventUtils.domLoaded = true;\n          callback(event);\n        }\n        win = null;\n      };\n      if (isDocReady()) {\n        readyHandler();\n      } else {\n        addEvent(win, 'DOMContentLoaded', readyHandler);\n      }\n      if (!eventUtils.domLoaded) {\n        addEvent(win, 'load', readyHandler);\n      }\n    };\n    class EventUtils {\n      constructor() {\n        this.domLoaded = false;\n        this.events = {};\n        this.count = 1;\n        this.expando = eventExpandoPrefix + (+new Date()).toString(32);\n        this.hasFocusIn = 'onfocusin' in document.documentElement;\n        this.count = 1;\n      }\n      bind(target, names, callback, scope) {\n        const self = this;\n        let callbackList;\n        const win = window;\n        const defaultNativeHandler = evt => {\n          self.executeHandlers(fix(evt || win.event), id);\n        };\n        if (!target || isText$a(target) || isComment(target)) {\n          return callback;\n        }\n        let id;\n        if (!target[self.expando]) {\n          id = self.count++;\n          target[self.expando] = id;\n          self.events[id] = {};\n        } else {\n          id = target[self.expando];\n        }\n        scope = scope || target;\n        const namesList = names.split(' ');\n        let i = namesList.length;\n        while (i--) {\n          let name = namesList[i];\n          let nativeHandler = defaultNativeHandler;\n          let capture = false;\n          let fakeName = false;\n          if (name === 'DOMContentLoaded') {\n            name = 'ready';\n          }\n          if (self.domLoaded && name === 'ready' && target.readyState === 'complete') {\n            callback.call(scope, fix({\n              type: name\n            }));\n            continue;\n          }\n          if (!self.hasFocusIn && (name === 'focusin' || name === 'focusout')) {\n            capture = true;\n            fakeName = name === 'focusin' ? 'focus' : 'blur';\n            nativeHandler = evt => {\n              const event = fix(evt || win.event);\n              event.type = event.type === 'focus' ? 'focusin' : 'focusout';\n              self.executeHandlers(event, id);\n            };\n          }\n          callbackList = self.events[id][name];\n          if (!callbackList) {\n            self.events[id][name] = callbackList = [{\n              func: callback,\n              scope\n            }];\n            callbackList.fakeName = fakeName;\n            callbackList.capture = capture;\n            callbackList.nativeHandler = nativeHandler;\n            if (name === 'ready') {\n              bindOnReady(target, nativeHandler, self);\n            } else {\n              addEvent(target, fakeName || name, nativeHandler, capture);\n            }\n          } else {\n            if (name === 'ready' && self.domLoaded) {\n              callback(fix({\n                type: name\n              }));\n            } else {\n              callbackList.push({\n                func: callback,\n                scope\n              });\n            }\n          }\n        }\n        target = callbackList = null;\n        return callback;\n      }\n      unbind(target, names, callback) {\n        if (!target || isText$a(target) || isComment(target)) {\n          return this;\n        }\n        const id = target[this.expando];\n        if (id) {\n          let eventMap = this.events[id];\n          if (names) {\n            const namesList = names.split(' ');\n            let i = namesList.length;\n            while (i--) {\n              const name = namesList[i];\n              const callbackList = eventMap[name];\n              if (callbackList) {\n                if (callback) {\n                  let ci = callbackList.length;\n                  while (ci--) {\n                    if (callbackList[ci].func === callback) {\n                      const nativeHandler = callbackList.nativeHandler;\n                      const fakeName = callbackList.fakeName,\n                        capture = callbackList.capture;\n                      const newCallbackList = callbackList.slice(0, ci).concat(callbackList.slice(ci + 1));\n                      newCallbackList.nativeHandler = nativeHandler;\n                      newCallbackList.fakeName = fakeName;\n                      newCallbackList.capture = capture;\n                      eventMap[name] = newCallbackList;\n                    }\n                  }\n                }\n                if (!callback || callbackList.length === 0) {\n                  delete eventMap[name];\n                  removeEvent(target, callbackList.fakeName || name, callbackList.nativeHandler, callbackList.capture);\n                }\n              }\n            }\n          } else {\n            each$d(eventMap, (callbackList, name) => {\n              removeEvent(target, callbackList.fakeName || name, callbackList.nativeHandler, callbackList.capture);\n            });\n            eventMap = {};\n          }\n          for (const name in eventMap) {\n            if (has$2(eventMap, name)) {\n              return this;\n            }\n          }\n          delete this.events[id];\n          try {\n            delete target[this.expando];\n          } catch (ex) {\n            target[this.expando] = null;\n          }\n        }\n        return this;\n      }\n      fire(target, name, args) {\n        return this.dispatch(target, name, args);\n      }\n      dispatch(target, name, args) {\n        if (!target || isText$a(target) || isComment(target)) {\n          return this;\n        }\n        const event = fix({\n          type: name,\n          target\n        }, args);\n        do {\n          const id = target[this.expando];\n          if (id) {\n            this.executeHandlers(event, id);\n          }\n          target = target.parentNode || target.ownerDocument || target.defaultView || target.parentWindow;\n        } while (target && !event.isPropagationStopped());\n        return this;\n      }\n      clean(target) {\n        if (!target || isText$a(target) || isComment(target)) {\n          return this;\n        }\n        if (target[this.expando]) {\n          this.unbind(target);\n        }\n        if (!target.getElementsByTagName) {\n          target = target.document;\n        }\n        if (target && target.getElementsByTagName) {\n          this.unbind(target);\n          const children = target.getElementsByTagName('*');\n          let i = children.length;\n          while (i--) {\n            target = children[i];\n            if (target[this.expando]) {\n              this.unbind(target);\n            }\n          }\n        }\n        return this;\n      }\n      destroy() {\n        this.events = {};\n      }\n      cancel(e) {\n        if (e) {\n          e.preventDefault();\n          e.stopImmediatePropagation();\n        }\n        return false;\n      }\n      executeHandlers(evt, id) {\n        const container = this.events[id];\n        const callbackList = container && container[evt.type];\n        if (callbackList) {\n          for (let i = 0, l = callbackList.length; i < l; i++) {\n            const callback = callbackList[i];\n            if (callback && callback.func.call(callback.scope, evt) === false) {\n              evt.preventDefault();\n            }\n            if (evt.isImmediatePropagationStopped()) {\n              return;\n            }\n          }\n        }\n      }\n    }\n    EventUtils.Event = new EventUtils();\n\n    const each$a = Tools.each;\n    const grep = Tools.grep;\n    const internalStyleName = 'data-mce-style';\n    const numericalCssMap = Tools.makeMap('fill-opacity font-weight line-height opacity orphans widows z-index zoom', ' ');\n    const legacySetAttribute = (elm, name, value) => {\n      if (isNullable(value) || value === '') {\n        remove$a(elm, name);\n      } else {\n        set$3(elm, name, value);\n      }\n    };\n    const camelCaseToHyphens = name => name.replace(/[A-Z]/g, v => '-' + v.toLowerCase());\n    const findNodeIndex = (node, normalized) => {\n      let idx = 0;\n      if (node) {\n        for (let lastNodeType = node.nodeType, tempNode = node.previousSibling; tempNode; tempNode = tempNode.previousSibling) {\n          const nodeType = tempNode.nodeType;\n          if (normalized && isText$a(tempNode)) {\n            if (nodeType === lastNodeType || !tempNode.data.length) {\n              continue;\n            }\n          }\n          idx++;\n          lastNodeType = nodeType;\n        }\n      }\n      return idx;\n    };\n    const updateInternalStyleAttr = (styles, elm) => {\n      const rawValue = get$9(elm, 'style');\n      const value = styles.serialize(styles.parse(rawValue), name(elm));\n      legacySetAttribute(elm, internalStyleName, value);\n    };\n    const convertStyleToString = (cssValue, cssName) => {\n      if (isNumber(cssValue)) {\n        return has$2(numericalCssMap, cssName) ? cssValue + '' : cssValue + 'px';\n      } else {\n        return cssValue;\n      }\n    };\n    const applyStyle$1 = ($elm, cssName, cssValue) => {\n      const normalizedName = camelCaseToHyphens(cssName);\n      if (isNullable(cssValue) || cssValue === '') {\n        remove$6($elm, normalizedName);\n      } else {\n        set$2($elm, normalizedName, convertStyleToString(cssValue, normalizedName));\n      }\n    };\n    const setupAttrHooks = (styles, settings, getContext) => {\n      const keepValues = settings.keep_values;\n      const keepUrlHook = {\n        set: (elm, value, name) => {\n          const sugarElm = SugarElement.fromDom(elm);\n          if (isFunction(settings.url_converter) && isNonNullable(value)) {\n            value = settings.url_converter.call(settings.url_converter_scope || getContext(), String(value), name, elm);\n          }\n          const internalName = 'data-mce-' + name;\n          legacySetAttribute(sugarElm, internalName, value);\n          legacySetAttribute(sugarElm, name, value);\n        },\n        get: (elm, name) => {\n          const sugarElm = SugarElement.fromDom(elm);\n          return get$9(sugarElm, 'data-mce-' + name) || get$9(sugarElm, name);\n        }\n      };\n      const attrHooks = {\n        style: {\n          set: (elm, value) => {\n            const sugarElm = SugarElement.fromDom(elm);\n            if (keepValues) {\n              legacySetAttribute(sugarElm, internalStyleName, value);\n            }\n            remove$a(sugarElm, 'style');\n            if (isString(value)) {\n              setAll(sugarElm, styles.parse(value));\n            }\n          },\n          get: elm => {\n            const sugarElm = SugarElement.fromDom(elm);\n            const value = get$9(sugarElm, internalStyleName) || get$9(sugarElm, 'style');\n            return styles.serialize(styles.parse(value), name(sugarElm));\n          }\n        }\n      };\n      if (keepValues) {\n        attrHooks.href = attrHooks.src = keepUrlHook;\n      }\n      return attrHooks;\n    };\n    const DOMUtils = (doc, settings = {}) => {\n      const addedStyles = {};\n      const win = window;\n      const files = {};\n      let counter = 0;\n      const stdMode = true;\n      const boxModel = true;\n      const styleSheetLoader = instance.forElement(SugarElement.fromDom(doc), {\n        contentCssCors: settings.contentCssCors,\n        referrerPolicy: settings.referrerPolicy\n      });\n      const boundEvents = [];\n      const schema = settings.schema ? settings.schema : Schema({});\n      const styles = Styles({\n        url_converter: settings.url_converter,\n        url_converter_scope: settings.url_converter_scope,\n        force_hex_color: settings.force_hex_color\n      }, settings.schema);\n      const events = settings.ownEvents ? new EventUtils() : EventUtils.Event;\n      const blockElementsMap = schema.getBlockElements();\n      const isBlock = node => {\n        if (isString(node)) {\n          return has$2(blockElementsMap, node);\n        } else {\n          return isElement$6(node) && (has$2(blockElementsMap, node.nodeName) || isTransparentBlock(schema, node));\n        }\n      };\n      const get = elm => elm && doc && isString(elm) ? doc.getElementById(elm) : elm;\n      const _get = elm => {\n        const value = get(elm);\n        return isNonNullable(value) ? SugarElement.fromDom(value) : null;\n      };\n      const getAttrib = (elm, name, defaultVal = '') => {\n        let value;\n        const $elm = _get(elm);\n        if (isNonNullable($elm) && isElement$7($elm)) {\n          const hook = attrHooks[name];\n          if (hook && hook.get) {\n            value = hook.get($elm.dom, name);\n          } else {\n            value = get$9($elm, name);\n          }\n        }\n        return isNonNullable(value) ? value : defaultVal;\n      };\n      const getAttribs = elm => {\n        const node = get(elm);\n        return isNullable(node) ? [] : node.attributes;\n      };\n      const setAttrib = (elm, name, value) => {\n        run(elm, e => {\n          if (isElement$6(e)) {\n            const $elm = SugarElement.fromDom(e);\n            const val = value === '' ? null : value;\n            const originalValue = get$9($elm, name);\n            const hook = attrHooks[name];\n            if (hook && hook.set) {\n              hook.set($elm.dom, val, name);\n            } else {\n              legacySetAttribute($elm, name, val);\n            }\n            if (originalValue !== val && settings.onSetAttrib) {\n              settings.onSetAttrib({\n                attrElm: $elm.dom,\n                attrName: name,\n                attrValue: val\n              });\n            }\n          }\n        });\n      };\n      const clone = (node, deep) => {\n        return node.cloneNode(deep);\n      };\n      const getRoot = () => settings.root_element || doc.body;\n      const getViewPort = argWin => {\n        const vp = getBounds(argWin);\n        return {\n          x: vp.x,\n          y: vp.y,\n          w: vp.width,\n          h: vp.height\n        };\n      };\n      const getPos$1 = (elm, rootElm) => getPos(doc.body, get(elm), rootElm);\n      const setStyle = (elm, name, value) => {\n        run(elm, e => {\n          const $elm = SugarElement.fromDom(e);\n          applyStyle$1($elm, name, value);\n          if (settings.update_styles) {\n            updateInternalStyleAttr(styles, $elm);\n          }\n        });\n      };\n      const setStyles = (elm, stylesArg) => {\n        run(elm, e => {\n          const $elm = SugarElement.fromDom(e);\n          each$d(stylesArg, (v, n) => {\n            applyStyle$1($elm, n, v);\n          });\n          if (settings.update_styles) {\n            updateInternalStyleAttr(styles, $elm);\n          }\n        });\n      };\n      const getStyle = (elm, name, computed) => {\n        const $elm = get(elm);\n        if (isNullable($elm) || !isHTMLElement($elm) && !isSVGElement($elm)) {\n          return undefined;\n        }\n        if (computed) {\n          return get$7(SugarElement.fromDom($elm), camelCaseToHyphens(name));\n        } else {\n          name = name.replace(/-(\\D)/g, (a, b) => b.toUpperCase());\n          if (name === 'float') {\n            name = 'cssFloat';\n          }\n          return $elm.style ? $elm.style[name] : undefined;\n        }\n      };\n      const getSize = elm => {\n        const $elm = get(elm);\n        if (!$elm) {\n          return {\n            w: 0,\n            h: 0\n          };\n        }\n        let w = getStyle($elm, 'width');\n        let h = getStyle($elm, 'height');\n        if (!w || w.indexOf('px') === -1) {\n          w = '0';\n        }\n        if (!h || h.indexOf('px') === -1) {\n          h = '0';\n        }\n        return {\n          w: parseInt(w, 10) || $elm.offsetWidth || $elm.clientWidth,\n          h: parseInt(h, 10) || $elm.offsetHeight || $elm.clientHeight\n        };\n      };\n      const getRect = elm => {\n        const $elm = get(elm);\n        const pos = getPos$1($elm);\n        const size = getSize($elm);\n        return {\n          x: pos.x,\n          y: pos.y,\n          w: size.w,\n          h: size.h\n        };\n      };\n      const is = (elm, selector) => {\n        if (!elm) {\n          return false;\n        }\n        const elms = isArray$1(elm) ? elm : [elm];\n        return exists(elms, e => {\n          return is$1(SugarElement.fromDom(e), selector);\n        });\n      };\n      const getParents = (elm, selector, root, collect) => {\n        const result = [];\n        let node = get(elm);\n        collect = collect === undefined;\n        const resolvedRoot = root || (getRoot().nodeName !== 'BODY' ? getRoot().parentNode : null);\n        if (isString(selector)) {\n          if (selector === '*') {\n            selector = isElement$6;\n          } else {\n            const selectorVal = selector;\n            selector = node => is(node, selectorVal);\n          }\n        }\n        while (node) {\n          if (node === resolvedRoot || isNullable(node.nodeType) || isDocument$1(node) || isDocumentFragment(node)) {\n            break;\n          }\n          if (!selector || selector(node)) {\n            if (collect) {\n              result.push(node);\n            } else {\n              return [node];\n            }\n          }\n          node = node.parentNode;\n        }\n        return collect ? result : null;\n      };\n      const getParent = (node, selector, root) => {\n        const parents = getParents(node, selector, root, false);\n        return parents && parents.length > 0 ? parents[0] : null;\n      };\n      const _findSib = (node, selector, name) => {\n        let func = selector;\n        if (node) {\n          if (isString(selector)) {\n            func = node => {\n              return is(node, selector);\n            };\n          }\n          for (let tempNode = node[name]; tempNode; tempNode = tempNode[name]) {\n            if (isFunction(func) && func(tempNode)) {\n              return tempNode;\n            }\n          }\n        }\n        return null;\n      };\n      const getNext = (node, selector) => _findSib(node, selector, 'nextSibling');\n      const getPrev = (node, selector) => _findSib(node, selector, 'previousSibling');\n      const isParentNode = node => isFunction(node.querySelectorAll);\n      const select = (selector, scope) => {\n        var _a, _b;\n        const elm = (_b = (_a = get(scope)) !== null && _a !== void 0 ? _a : settings.root_element) !== null && _b !== void 0 ? _b : doc;\n        return isParentNode(elm) ? from(elm.querySelectorAll(selector)) : [];\n      };\n      const run = function (elm, func, scope) {\n        const context = scope !== null && scope !== void 0 ? scope : this;\n        if (isArray$1(elm)) {\n          const result = [];\n          each$a(elm, (e, i) => {\n            const node = get(e);\n            if (node) {\n              result.push(func.call(context, node, i));\n            }\n          });\n          return result;\n        } else {\n          const node = get(elm);\n          return !node ? false : func.call(context, node);\n        }\n      };\n      const setAttribs = (elm, attrs) => {\n        run(elm, $elm => {\n          each$d(attrs, (value, name) => {\n            setAttrib($elm, name, value);\n          });\n        });\n      };\n      const setHTML = (elm, html) => {\n        run(elm, e => {\n          const $elm = SugarElement.fromDom(e);\n          set$1($elm, html);\n        });\n      };\n      const add = (parentElm, name, attrs, html, create) => run(parentElm, parentElm => {\n        const newElm = isString(name) ? doc.createElement(name) : name;\n        if (isNonNullable(attrs)) {\n          setAttribs(newElm, attrs);\n        }\n        if (html) {\n          if (!isString(html) && html.nodeType) {\n            newElm.appendChild(html);\n          } else if (isString(html)) {\n            setHTML(newElm, html);\n          }\n        }\n        return !create ? parentElm.appendChild(newElm) : newElm;\n      });\n      const create = (name, attrs, html) => add(doc.createElement(name), name, attrs, html, true);\n      const decode = Entities.decode;\n      const encode = Entities.encodeAllRaw;\n      const createHTML = (name, attrs, html = '') => {\n        let outHtml = '<' + name;\n        for (const key in attrs) {\n          if (hasNonNullableKey(attrs, key)) {\n            outHtml += ' ' + key + '=\"' + encode(attrs[key]) + '\"';\n          }\n        }\n        if (isEmpty$3(html) && has$2(schema.getVoidElements(), name)) {\n          return outHtml + ' />';\n        } else {\n          return outHtml + '>' + html + '<\/' + name + '>';\n        }\n      };\n      const createFragment = html => {\n        const container = doc.createElement('div');\n        const frag = doc.createDocumentFragment();\n        frag.appendChild(container);\n        if (html) {\n          container.innerHTML = html;\n        }\n        let node;\n        while (node = container.firstChild) {\n          frag.appendChild(node);\n        }\n        frag.removeChild(container);\n        return frag;\n      };\n      const remove = (node, keepChildren) => {\n        return run(node, n => {\n          const $node = SugarElement.fromDom(n);\n          if (keepChildren) {\n            each$e(children$1($node), child => {\n              if (isText$b(child) && child.dom.length === 0) {\n                remove$5(child);\n              } else {\n                before$3($node, child);\n              }\n            });\n          }\n          remove$5($node);\n          return $node.dom;\n        });\n      };\n      const removeAllAttribs = e => run(e, e => {\n        const attrs = e.attributes;\n        for (let i = attrs.length - 1; i >= 0; i--) {\n          e.removeAttributeNode(attrs.item(i));\n        }\n      });\n      const parseStyle = cssText => styles.parse(cssText);\n      const serializeStyle = (stylesArg, name) => styles.serialize(stylesArg, name);\n      const addStyle = cssText => {\n        if (self !== DOMUtils.DOM && doc === document) {\n          if (addedStyles[cssText]) {\n            return;\n          }\n          addedStyles[cssText] = true;\n        }\n        let styleElm = doc.getElementById('mceDefaultStyles');\n        if (!styleElm) {\n          styleElm = doc.createElement('style');\n          styleElm.id = 'mceDefaultStyles';\n          styleElm.type = 'text/css';\n          const head = doc.head;\n          if (head.firstChild) {\n            head.insertBefore(styleElm, head.firstChild);\n          } else {\n            head.appendChild(styleElm);\n          }\n        }\n        if (styleElm.styleSheet) {\n          styleElm.styleSheet.cssText += cssText;\n        } else {\n          styleElm.appendChild(doc.createTextNode(cssText));\n        }\n      };\n      const loadCSS = urls => {\n        if (!urls) {\n          urls = '';\n        }\n        each$e(urls.split(','), url => {\n          files[url] = true;\n          styleSheetLoader.load(url).catch(noop);\n        });\n      };\n      const toggleClass = (elm, cls, state) => {\n        run(elm, e => {\n          if (isElement$6(e)) {\n            const $elm = SugarElement.fromDom(e);\n            const classes = cls.split(' ');\n            each$e(classes, c => {\n              if (isNonNullable(state)) {\n                const fn = state ? add$2 : remove$7;\n                fn($elm, c);\n              } else {\n                toggle$1($elm, c);\n              }\n            });\n          }\n        });\n      };\n      const addClass = (elm, cls) => {\n        toggleClass(elm, cls, true);\n      };\n      const removeClass = (elm, cls) => {\n        toggleClass(elm, cls, false);\n      };\n      const hasClass = (elm, cls) => {\n        const $elm = _get(elm);\n        const classes = cls.split(' ');\n        return isNonNullable($elm) && forall(classes, c => has($elm, c));\n      };\n      const show = elm => {\n        run(elm, e => remove$6(SugarElement.fromDom(e), 'display'));\n      };\n      const hide = elm => {\n        run(elm, e => set$2(SugarElement.fromDom(e), 'display', 'none'));\n      };\n      const isHidden = elm => {\n        const $elm = _get(elm);\n        return isNonNullable($elm) && is$2(getRaw($elm, 'display'), 'none');\n      };\n      const uniqueId = prefix => (!prefix ? 'mce_' : prefix) + counter++;\n      const getOuterHTML = elm => {\n        const $elm = _get(elm);\n        if (isNonNullable($elm)) {\n          return isElement$6($elm.dom) ? $elm.dom.outerHTML : getOuter($elm);\n        } else {\n          return '';\n        }\n      };\n      const setOuterHTML = (elm, html) => {\n        run(elm, $elm => {\n          if (isElement$6($elm)) {\n            $elm.outerHTML = html;\n          }\n        });\n      };\n      const insertAfter = (node, reference) => {\n        const referenceNode = get(reference);\n        return run(node, node => {\n          const parent = referenceNode === null || referenceNode === void 0 ? void 0 : referenceNode.parentNode;\n          const nextSibling = referenceNode === null || referenceNode === void 0 ? void 0 : referenceNode.nextSibling;\n          if (parent) {\n            if (nextSibling) {\n              parent.insertBefore(node, nextSibling);\n            } else {\n              parent.appendChild(node);\n            }\n          }\n          return node;\n        });\n      };\n      const replace = (newElm, oldElm, keepChildren) => run(oldElm, elm => {\n        var _a;\n        const replacee = isArray$1(oldElm) ? newElm.cloneNode(true) : newElm;\n        if (keepChildren) {\n          each$a(grep(elm.childNodes), node => {\n            replacee.appendChild(node);\n          });\n        }\n        (_a = elm.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(replacee, elm);\n        return elm;\n      });\n      const rename = (elm, name) => {\n        if (elm.nodeName !== name.toUpperCase()) {\n          const newElm = create(name);\n          each$a(getAttribs(elm), attrNode => {\n            setAttrib(newElm, attrNode.nodeName, getAttrib(elm, attrNode.nodeName));\n          });\n          replace(newElm, elm, true);\n          return newElm;\n        } else {\n          return elm;\n        }\n      };\n      const findCommonAncestor = (a, b) => {\n        let ps = a;\n        while (ps) {\n          let pe = b;\n          while (pe && ps !== pe) {\n            pe = pe.parentNode;\n          }\n          if (ps === pe) {\n            break;\n          }\n          ps = ps.parentNode;\n        }\n        if (!ps && a.ownerDocument) {\n          return a.ownerDocument.documentElement;\n        } else {\n          return ps;\n        }\n      };\n      const isNonEmptyElement = node => {\n        if (isElement$6(node)) {\n          const isNamedAnchor = node.nodeName.toLowerCase() === 'a' && !getAttrib(node, 'href') && getAttrib(node, 'id');\n          if (getAttrib(node, 'name') || getAttrib(node, 'data-mce-bookmark') || isNamedAnchor) {\n            return true;\n          }\n        }\n        return false;\n      };\n      const isEmpty = (node, elements, options) => {\n        let brCount = 0;\n        if (isNonEmptyElement(node)) {\n          return false;\n        }\n        const firstChild = node.firstChild;\n        if (firstChild) {\n          const walker = new DomTreeWalker(firstChild, node);\n          const whitespaceElements = schema ? schema.getWhitespaceElements() : {};\n          const nonEmptyElements = elements || (schema ? schema.getNonEmptyElements() : null);\n          let tempNode = firstChild;\n          do {\n            if (isElement$6(tempNode)) {\n              const bogusVal = tempNode.getAttribute('data-mce-bogus');\n              if (bogusVal) {\n                tempNode = walker.next(bogusVal === 'all');\n                continue;\n              }\n              const name = tempNode.nodeName.toLowerCase();\n              if (nonEmptyElements && nonEmptyElements[name]) {\n                if (name === 'br') {\n                  brCount++;\n                  tempNode = walker.next();\n                  continue;\n                }\n                return false;\n              }\n              if (isNonEmptyElement(tempNode)) {\n                return false;\n              }\n            }\n            if (isComment(tempNode)) {\n              return false;\n            }\n            if (isText$a(tempNode) && !isWhitespaceText(tempNode.data) && (!(options === null || options === void 0 ? void 0 : options.includeZwsp) || !isZwsp(tempNode.data))) {\n              return false;\n            }\n            if (isText$a(tempNode) && tempNode.parentNode && whitespaceElements[tempNode.parentNode.nodeName] && isWhitespaceText(tempNode.data)) {\n              return false;\n            }\n            tempNode = walker.next();\n          } while (tempNode);\n        }\n        return brCount <= 1;\n      };\n      const createRng = () => doc.createRange();\n      const split = (parentElm, splitElm, replacementElm) => {\n        let range = createRng();\n        let beforeFragment;\n        let afterFragment;\n        if (parentElm && splitElm && parentElm.parentNode && splitElm.parentNode) {\n          const parentNode = parentElm.parentNode;\n          range.setStart(parentNode, findNodeIndex(parentElm));\n          range.setEnd(splitElm.parentNode, findNodeIndex(splitElm));\n          beforeFragment = range.extractContents();\n          range = createRng();\n          range.setStart(splitElm.parentNode, findNodeIndex(splitElm) + 1);\n          range.setEnd(parentNode, findNodeIndex(parentElm) + 1);\n          afterFragment = range.extractContents();\n          parentNode.insertBefore(trimNode(self, beforeFragment, schema), parentElm);\n          if (replacementElm) {\n            parentNode.insertBefore(replacementElm, parentElm);\n          } else {\n            parentNode.insertBefore(splitElm, parentElm);\n          }\n          parentNode.insertBefore(trimNode(self, afterFragment, schema), parentElm);\n          remove(parentElm);\n          return replacementElm || splitElm;\n        } else {\n          return undefined;\n        }\n      };\n      const bind = (target, name, func, scope) => {\n        if (isArray$1(target)) {\n          let i = target.length;\n          const rv = [];\n          while (i--) {\n            rv[i] = bind(target[i], name, func, scope);\n          }\n          return rv;\n        } else {\n          if (settings.collect && (target === doc || target === win)) {\n            boundEvents.push([target, name, func, scope]);\n          }\n          return events.bind(target, name, func, scope || self);\n        }\n      };\n      const unbind = (target, name, func) => {\n        if (isArray$1(target)) {\n          let i = target.length;\n          const rv = [];\n          while (i--) {\n            rv[i] = unbind(target[i], name, func);\n          }\n          return rv;\n        } else {\n          if (boundEvents.length > 0 && (target === doc || target === win)) {\n            let i = boundEvents.length;\n            while (i--) {\n              const [boundTarget, boundName, boundFunc] = boundEvents[i];\n              if (target === boundTarget && (!name || name === boundName) && (!func || func === boundFunc)) {\n                events.unbind(boundTarget, boundName, boundFunc);\n              }\n            }\n          }\n          return events.unbind(target, name, func);\n        }\n      };\n      const dispatch = (target, name, evt) => events.dispatch(target, name, evt);\n      const fire = (target, name, evt) => events.dispatch(target, name, evt);\n      const getContentEditable = node => {\n        if (node && isHTMLElement(node)) {\n          const contentEditable = node.getAttribute('data-mce-contenteditable');\n          if (contentEditable && contentEditable !== 'inherit') {\n            return contentEditable;\n          }\n          return node.contentEditable !== 'inherit' ? node.contentEditable : null;\n        } else {\n          return null;\n        }\n      };\n      const getContentEditableParent = node => {\n        const root = getRoot();\n        let state = null;\n        for (let tempNode = node; tempNode && tempNode !== root; tempNode = tempNode.parentNode) {\n          state = getContentEditable(tempNode);\n          if (state !== null) {\n            break;\n          }\n        }\n        return state;\n      };\n      const isEditable = node => {\n        if (isNonNullable(node)) {\n          const scope = isElement$6(node) ? node : node.parentElement;\n          return isNonNullable(scope) && isHTMLElement(scope) && isEditable$2(SugarElement.fromDom(scope));\n        } else {\n          return false;\n        }\n      };\n      const destroy = () => {\n        if (boundEvents.length > 0) {\n          let i = boundEvents.length;\n          while (i--) {\n            const [boundTarget, boundName, boundFunc] = boundEvents[i];\n            events.unbind(boundTarget, boundName, boundFunc);\n          }\n        }\n        each$d(files, (_, url) => {\n          styleSheetLoader.unload(url);\n          delete files[url];\n        });\n      };\n      const isChildOf = (node, parent) => {\n        return node === parent || parent.contains(node);\n      };\n      const dumpRng = r => 'startContainer: ' + r.startContainer.nodeName + ', startOffset: ' + r.startOffset + ', endContainer: ' + r.endContainer.nodeName + ', endOffset: ' + r.endOffset;\n      const self = {\n        doc,\n        settings,\n        win,\n        files,\n        stdMode,\n        boxModel,\n        styleSheetLoader,\n        boundEvents,\n        styles,\n        schema,\n        events,\n        isBlock: isBlock,\n        root: null,\n        clone,\n        getRoot,\n        getViewPort,\n        getRect,\n        getSize,\n        getParent,\n        getParents: getParents,\n        get,\n        getNext,\n        getPrev,\n        select,\n        is,\n        add,\n        create,\n        createHTML,\n        createFragment,\n        remove,\n        setStyle,\n        getStyle: getStyle,\n        setStyles,\n        removeAllAttribs,\n        setAttrib,\n        setAttribs,\n        getAttrib,\n        getPos: getPos$1,\n        parseStyle,\n        serializeStyle,\n        addStyle,\n        loadCSS,\n        addClass,\n        removeClass,\n        hasClass,\n        toggleClass,\n        show,\n        hide,\n        isHidden,\n        uniqueId,\n        setHTML,\n        getOuterHTML,\n        setOuterHTML,\n        decode,\n        encode,\n        insertAfter,\n        replace,\n        rename,\n        findCommonAncestor,\n        run,\n        getAttribs,\n        isEmpty,\n        createRng,\n        nodeIndex: findNodeIndex,\n        split,\n        bind: bind,\n        unbind: unbind,\n        fire,\n        dispatch,\n        getContentEditable,\n        getContentEditableParent,\n        isEditable,\n        destroy,\n        isChildOf,\n        dumpRng\n      };\n      const attrHooks = setupAttrHooks(styles, settings, constant(self));\n      return self;\n    };\n    DOMUtils.DOM = DOMUtils(document);\n    DOMUtils.nodeIndex = findNodeIndex;\n\n    const DOM$b = DOMUtils.DOM;\n    const QUEUED = 0;\n    const LOADING = 1;\n    const LOADED = 2;\n    const FAILED = 3;\n    class ScriptLoader {\n      constructor(settings = {}) {\n        this.states = {};\n        this.queue = [];\n        this.scriptLoadedCallbacks = {};\n        this.queueLoadedCallbacks = [];\n        this.loading = false;\n        this.settings = settings;\n      }\n      _setReferrerPolicy(referrerPolicy) {\n        this.settings.referrerPolicy = referrerPolicy;\n      }\n      loadScript(url) {\n        return new Promise((resolve, reject) => {\n          const dom = DOM$b;\n          let elm;\n          const cleanup = () => {\n            dom.remove(id);\n            if (elm) {\n              elm.onerror = elm.onload = elm = null;\n            }\n          };\n          const done = () => {\n            cleanup();\n            resolve();\n          };\n          const error = () => {\n            cleanup();\n            reject('Failed to load script: ' + url);\n          };\n          const id = dom.uniqueId();\n          elm = document.createElement('script');\n          elm.id = id;\n          elm.type = 'text/javascript';\n          elm.src = Tools._addCacheSuffix(url);\n          if (this.settings.referrerPolicy) {\n            dom.setAttrib(elm, 'referrerpolicy', this.settings.referrerPolicy);\n          }\n          elm.onload = done;\n          elm.onerror = error;\n          (document.getElementsByTagName('head')[0] || document.body).appendChild(elm);\n        });\n      }\n      isDone(url) {\n        return this.states[url] === LOADED;\n      }\n      markDone(url) {\n        this.states[url] = LOADED;\n      }\n      add(url) {\n        const self = this;\n        self.queue.push(url);\n        const state = self.states[url];\n        if (state === undefined) {\n          self.states[url] = QUEUED;\n        }\n        return new Promise((resolve, reject) => {\n          if (!self.scriptLoadedCallbacks[url]) {\n            self.scriptLoadedCallbacks[url] = [];\n          }\n          self.scriptLoadedCallbacks[url].push({\n            resolve,\n            reject\n          });\n        });\n      }\n      load(url) {\n        return this.add(url);\n      }\n      remove(url) {\n        delete this.states[url];\n        delete this.scriptLoadedCallbacks[url];\n      }\n      loadQueue() {\n        const queue = this.queue;\n        this.queue = [];\n        return this.loadScripts(queue);\n      }\n      loadScripts(scripts) {\n        const self = this;\n        const execCallbacks = (name, url) => {\n          get$a(self.scriptLoadedCallbacks, url).each(callbacks => {\n            each$e(callbacks, callback => callback[name](url));\n          });\n          delete self.scriptLoadedCallbacks[url];\n        };\n        const processResults = results => {\n          const failures = filter$5(results, result => result.status === 'rejected');\n          if (failures.length > 0) {\n            return Promise.reject(bind$3(failures, ({\n              reason\n            }) => isArray$1(reason) ? reason : [reason]));\n          } else {\n            return Promise.resolve();\n          }\n        };\n        const load = urls => Promise.allSettled(map$3(urls, url => {\n          if (self.states[url] === LOADED) {\n            execCallbacks('resolve', url);\n            return Promise.resolve();\n          } else if (self.states[url] === FAILED) {\n            execCallbacks('reject', url);\n            return Promise.reject(url);\n          } else {\n            self.states[url] = LOADING;\n            return self.loadScript(url).then(() => {\n              self.states[url] = LOADED;\n              execCallbacks('resolve', url);\n              const queue = self.queue;\n              if (queue.length > 0) {\n                self.queue = [];\n                return load(queue).then(processResults);\n              } else {\n                return Promise.resolve();\n              }\n            }, () => {\n              self.states[url] = FAILED;\n              execCallbacks('reject', url);\n              return Promise.reject(url);\n            });\n          }\n        }));\n        const processQueue = urls => {\n          self.loading = true;\n          return load(urls).then(results => {\n            self.loading = false;\n            const nextQueuedItem = self.queueLoadedCallbacks.shift();\n            Optional.from(nextQueuedItem).each(call);\n            return processResults(results);\n          });\n        };\n        const uniqueScripts = stringArray(scripts);\n        if (self.loading) {\n          return new Promise((resolve, reject) => {\n            self.queueLoadedCallbacks.push(() => {\n              processQueue(uniqueScripts).then(resolve, reject);\n            });\n          });\n        } else {\n          return processQueue(uniqueScripts);\n        }\n      }\n    }\n    ScriptLoader.ScriptLoader = new ScriptLoader();\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const isDuplicated = (items, item) => {\n      const firstIndex = items.indexOf(item);\n      return firstIndex !== -1 && items.indexOf(item, firstIndex + 1) > firstIndex;\n    };\n    const isRaw = str => isObject(str) && has$2(str, 'raw');\n    const isTokenised = str => isArray$1(str) && str.length > 1;\n    const data = {};\n    const currentCode = Cell('en');\n    const getLanguageData = () => get$a(data, currentCode.get());\n    const getData$1 = () => map$2(data, value => ({\n      ...value\n    }));\n    const setCode = newCode => {\n      if (newCode) {\n        currentCode.set(newCode);\n      }\n    };\n    const getCode = () => currentCode.get();\n    const add$1 = (code, items) => {\n      let langData = data[code];\n      if (!langData) {\n        data[code] = langData = {};\n      }\n      const lcNames = map$3(keys(items), name => name.toLowerCase());\n      each$d(items, (translation, name) => {\n        const lcName = name.toLowerCase();\n        if (lcName !== name && isDuplicated(lcNames, lcName)) {\n          if (!has$2(items, lcName)) {\n            langData[lcName] = translation;\n          }\n          langData[name] = translation;\n        } else {\n          langData[lcName] = translation;\n        }\n      });\n    };\n    const translate = text => {\n      const langData = getLanguageData().getOr({});\n      const toString = obj => {\n        if (isFunction(obj)) {\n          return Object.prototype.toString.call(obj);\n        }\n        return !isEmpty(obj) ? '' + obj : '';\n      };\n      const isEmpty = text => text === '' || text === null || text === undefined;\n      const getLangData = text => {\n        const textStr = toString(text);\n        return has$2(langData, textStr) ? toString(langData[textStr]) : get$a(langData, textStr.toLowerCase()).map(toString).getOr(textStr);\n      };\n      const removeContext = str => str.replace(/{context:\\w+}$/, '');\n      if (isEmpty(text)) {\n        return '';\n      }\n      if (isRaw(text)) {\n        return toString(text.raw);\n      }\n      if (isTokenised(text)) {\n        const values = text.slice(1);\n        const substitued = getLangData(text[0]).replace(/\\{([0-9]+)\\}/g, ($1, $2) => has$2(values, $2) ? toString(values[$2]) : $1);\n        return removeContext(substitued);\n      }\n      return removeContext(getLangData(text));\n    };\n    const isRtl$1 = () => getLanguageData().bind(items => get$a(items, '_dir')).exists(dir => dir === 'rtl');\n    const hasCode = code => has$2(data, code);\n    const I18n = {\n      getData: getData$1,\n      setCode,\n      getCode,\n      add: add$1,\n      translate,\n      isRtl: isRtl$1,\n      hasCode\n    };\n\n    const AddOnManager = () => {\n      const items = [];\n      const urls = {};\n      const lookup = {};\n      const _listeners = [];\n      const runListeners = (name, state) => {\n        const matchedListeners = filter$5(_listeners, listener => listener.name === name && listener.state === state);\n        each$e(matchedListeners, listener => listener.resolve());\n      };\n      const isLoaded = name => has$2(urls, name);\n      const isAdded = name => has$2(lookup, name);\n      const get = name => {\n        if (lookup[name]) {\n          return lookup[name].instance;\n        }\n        return undefined;\n      };\n      const loadLanguagePack = (name, languages) => {\n        const language = I18n.getCode();\n        const wrappedLanguages = ',' + (languages || '') + ',';\n        if (!language || languages && wrappedLanguages.indexOf(',' + language + ',') === -1) {\n          return;\n        }\n        ScriptLoader.ScriptLoader.add(urls[name] + '/langs/' + language + '.js');\n      };\n      const requireLangPack = (name, languages) => {\n        if (AddOnManager.languageLoad !== false) {\n          if (isLoaded(name)) {\n            loadLanguagePack(name, languages);\n          } else {\n            waitFor(name, 'loaded').then(() => loadLanguagePack(name, languages));\n          }\n        }\n      };\n      const add = (id, addOn) => {\n        items.push(addOn);\n        lookup[id] = {\n          instance: addOn\n        };\n        runListeners(id, 'added');\n        return addOn;\n      };\n      const remove = name => {\n        delete urls[name];\n        delete lookup[name];\n      };\n      const createUrl = (baseUrl, dep) => {\n        if (isString(dep)) {\n          return isString(baseUrl) ? {\n            prefix: '',\n            resource: dep,\n            suffix: ''\n          } : {\n            prefix: baseUrl.prefix,\n            resource: dep,\n            suffix: baseUrl.suffix\n          };\n        } else {\n          return dep;\n        }\n      };\n      const load = (name, addOnUrl) => {\n        if (urls[name]) {\n          return Promise.resolve();\n        }\n        let urlString = isString(addOnUrl) ? addOnUrl : addOnUrl.prefix + addOnUrl.resource + addOnUrl.suffix;\n        if (urlString.indexOf('/') !== 0 && urlString.indexOf('://') === -1) {\n          urlString = AddOnManager.baseURL + '/' + urlString;\n        }\n        urls[name] = urlString.substring(0, urlString.lastIndexOf('/'));\n        const done = () => {\n          runListeners(name, 'loaded');\n          return Promise.resolve();\n        };\n        if (lookup[name]) {\n          return done();\n        } else {\n          return ScriptLoader.ScriptLoader.add(urlString).then(done);\n        }\n      };\n      const waitFor = (name, state = 'added') => {\n        if (state === 'added' && isAdded(name)) {\n          return Promise.resolve();\n        } else if (state === 'loaded' && isLoaded(name)) {\n          return Promise.resolve();\n        } else {\n          return new Promise(resolve => {\n            _listeners.push({\n              name,\n              state,\n              resolve\n            });\n          });\n        }\n      };\n      return {\n        items,\n        urls,\n        lookup,\n        get,\n        requireLangPack,\n        add,\n        remove,\n        createUrl,\n        load,\n        waitFor\n      };\n    };\n    AddOnManager.languageLoad = true;\n    AddOnManager.baseURL = '';\n    AddOnManager.PluginManager = AddOnManager();\n    AddOnManager.ThemeManager = AddOnManager();\n    AddOnManager.ModelManager = AddOnManager();\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const repeatable = delay => {\n      const intervalId = Cell(Optional.none());\n      const revoke = () => intervalId.get().each(id => clearInterval(id));\n      const clear = () => {\n        revoke();\n        intervalId.set(Optional.none());\n      };\n      const isSet = () => intervalId.get().isSome();\n      const get = () => intervalId.get();\n      const set = functionToRepeat => {\n        revoke();\n        intervalId.set(Optional.some(setInterval(functionToRepeat, delay)));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value$2 = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const first$1 = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n    const last$1 = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const annotation = constant('mce-annotation');\n    const dataAnnotation = constant('data-mce-annotation');\n    const dataAnnotationId = constant('data-mce-annotation-uid');\n    const dataAnnotationActive = constant('data-mce-annotation-active');\n    const dataAnnotationClasses = constant('data-mce-annotation-classes');\n    const dataAnnotationAttributes = constant('data-mce-annotation-attrs');\n\n    const isRoot$1 = root => node => eq(node, root);\n    const identify = (editor, annotationName) => {\n      const rng = editor.selection.getRng();\n      const start = SugarElement.fromDom(rng.startContainer);\n      const root = SugarElement.fromDom(editor.getBody());\n      const selector = annotationName.fold(() => '.' + annotation(), an => \"[\".concat(dataAnnotation(), \"=\\\"\").concat(an, \"\\\"]\"));\n      const newStart = child$1(start, rng.startOffset).getOr(start);\n      const closest = closest$3(newStart, selector, isRoot$1(root));\n      return closest.bind(c => getOpt(c, \"\".concat(dataAnnotationId())).bind(uid => getOpt(c, \"\".concat(dataAnnotation())).map(name => {\n        const elements = findMarkers(editor, uid);\n        return {\n          uid,\n          name,\n          elements\n        };\n      })));\n    };\n    const isAnnotation = elem => isElement$7(elem) && has(elem, annotation());\n    const isBogusElement = (elem, root) => has$1(elem, 'data-mce-bogus') || ancestor$2(elem, '[data-mce-bogus=\"all\"]', isRoot$1(root));\n    const findMarkers = (editor, uid) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const descendants$1 = descendants(body, \"[\".concat(dataAnnotationId(), \"=\\\"\").concat(uid, \"\\\"]\"));\n      return filter$5(descendants$1, descendant => !isBogusElement(descendant, body));\n    };\n    const findAll = (editor, name) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const markers = descendants(body, \"[\".concat(dataAnnotation(), \"=\\\"\").concat(name, \"\\\"]\"));\n      const directory = {};\n      each$e(markers, m => {\n        if (!isBogusElement(m, body)) {\n          const uid = get$9(m, dataAnnotationId());\n          const nodesAlready = get$a(directory, uid).getOr([]);\n          directory[uid] = nodesAlready.concat([m]);\n        }\n      });\n      return directory;\n    };\n\n    const setup$y = (editor, registry) => {\n      const changeCallbacks = Cell({});\n      const initData = () => ({\n        listeners: [],\n        previous: value$2()\n      });\n      const withCallbacks = (name, f) => {\n        updateCallbacks(name, data => {\n          f(data);\n          return data;\n        });\n      };\n      const updateCallbacks = (name, f) => {\n        const callbackMap = changeCallbacks.get();\n        const data = get$a(callbackMap, name).getOrThunk(initData);\n        const outputData = f(data);\n        callbackMap[name] = outputData;\n        changeCallbacks.set(callbackMap);\n      };\n      const fireCallbacks = (name, uid, elements) => {\n        withCallbacks(name, data => {\n          each$e(data.listeners, f => f(true, name, {\n            uid,\n            nodes: map$3(elements, elem => elem.dom)\n          }));\n        });\n      };\n      const fireNoAnnotation = name => {\n        withCallbacks(name, data => {\n          each$e(data.listeners, f => f(false, name));\n        });\n      };\n      const toggleActiveAttr = (uid, state) => {\n        each$e(findMarkers(editor, uid), elem => {\n          if (state) {\n            set$3(elem, dataAnnotationActive(), 'true');\n          } else {\n            remove$a(elem, dataAnnotationActive());\n          }\n        });\n      };\n      const onNodeChange = last$1(() => {\n        const annotations = sort(registry.getNames());\n        each$e(annotations, name => {\n          updateCallbacks(name, data => {\n            const prev = data.previous.get();\n            identify(editor, Optional.some(name)).fold(() => {\n              prev.each(uid => {\n                fireNoAnnotation(name);\n                data.previous.clear();\n                toggleActiveAttr(uid, false);\n              });\n            }, ({\n              uid,\n              name,\n              elements\n            }) => {\n              if (!is$2(prev, uid)) {\n                prev.each(uid => toggleActiveAttr(uid, false));\n                fireCallbacks(name, uid, elements);\n                data.previous.set(uid);\n                toggleActiveAttr(uid, true);\n              }\n            });\n            return {\n              previous: data.previous,\n              listeners: data.listeners\n            };\n          });\n        });\n      }, 30);\n      editor.on('remove', () => {\n        onNodeChange.cancel();\n      });\n      editor.on('NodeChange', () => {\n        onNodeChange.throttle();\n      });\n      const addListener = (name, f) => {\n        updateCallbacks(name, data => ({\n          previous: data.previous,\n          listeners: data.listeners.concat([f])\n        }));\n      };\n      return {\n        addListener\n      };\n    };\n\n    const setup$x = (editor, registry) => {\n      const dataAnnotation$1 = dataAnnotation();\n      const identifyParserNode = node => Optional.from(node.attr(dataAnnotation$1)).bind(registry.lookup);\n      const removeDirectAnnotation = node => {\n        var _a, _b;\n        node.attr(dataAnnotationId(), null);\n        node.attr(dataAnnotation(), null);\n        node.attr(dataAnnotationActive(), null);\n        const customAttrNames = Optional.from(node.attr(dataAnnotationAttributes())).map(names => names.split(',')).getOr([]);\n        const customClasses = Optional.from(node.attr(dataAnnotationClasses())).map(names => names.split(',')).getOr([]);\n        each$e(customAttrNames, name => node.attr(name, null));\n        const classList = (_b = (_a = node.attr('class')) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];\n        const newClassList = difference(classList, [annotation()].concat(customClasses));\n        node.attr('class', newClassList.length > 0 ? newClassList.join(' ') : null);\n        node.attr(dataAnnotationClasses(), null);\n        node.attr(dataAnnotationAttributes(), null);\n      };\n      editor.serializer.addTempAttr(dataAnnotationActive());\n      editor.serializer.addAttributeFilter(dataAnnotation$1, nodes => {\n        for (const node of nodes) {\n          identifyParserNode(node).each(settings => {\n            if (settings.persistent === false) {\n              if (node.name === 'span') {\n                node.unwrap();\n              } else {\n                removeDirectAnnotation(node);\n              }\n            }\n          });\n        }\n      });\n    };\n\n    const create$c = () => {\n      const annotations = {};\n      const register = (name, settings) => {\n        annotations[name] = {\n          name,\n          settings\n        };\n      };\n      const lookup = name => get$a(annotations, name).map(a => a.settings);\n      const getNames = () => keys(annotations);\n      return {\n        register,\n        lookup,\n        getNames\n      };\n    };\n\n    let unique = 0;\n    const generate$1 = prefix => {\n      const date = new Date();\n      const time = date.getTime();\n      const random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    const add = (element, classes) => {\n      each$e(classes, x => {\n        add$2(element, x);\n      });\n    };\n    const remove$4 = (element, classes) => {\n      each$e(classes, x => {\n        remove$7(element, x);\n      });\n    };\n\n    const clone$2 = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    const shallow$1 = original => clone$2(original, false);\n    const deep$1 = original => clone$2(original, true);\n    const shallowAs = (original, tag) => {\n      const nu = SugarElement.fromTag(tag);\n      const attributes = clone$4(original);\n      setAll$1(nu, attributes);\n      return nu;\n    };\n    const mutate = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      after$4(original, nu);\n      const children = children$1(original);\n      append(nu, children);\n      remove$5(original);\n      return nu;\n    };\n\n    const TextWalker = (startNode, rootNode, isBoundary = never) => {\n      const walker = new DomTreeWalker(startNode, rootNode);\n      const walk = direction => {\n        let next;\n        do {\n          next = walker[direction]();\n        } while (next && !isText$a(next) && !isBoundary(next));\n        return Optional.from(next).filter(isText$a);\n      };\n      return {\n        current: () => Optional.from(walker.current()).filter(isText$a),\n        next: () => walk('next'),\n        prev: () => walk('prev'),\n        prev2: () => walk('prev2')\n      };\n    };\n\n    const TextSeeker = (dom, isBoundary) => {\n      const isBlockBoundary = isBoundary ? isBoundary : node => dom.isBlock(node) || isBr$6(node) || isContentEditableFalse$b(node);\n      const walk = (node, offset, walker, process) => {\n        if (isText$a(node)) {\n          const newOffset = process(node, offset, node.data);\n          if (newOffset !== -1) {\n            return Optional.some({\n              container: node,\n              offset: newOffset\n            });\n          }\n        }\n        return walker().bind(next => walk(next.container, next.offset, walker, process));\n      };\n      const backwards = (node, offset, process, root) => {\n        const walker = TextWalker(node, root !== null && root !== void 0 ? root : dom.getRoot(), isBlockBoundary);\n        return walk(node, offset, () => walker.prev().map(prev => ({\n          container: prev,\n          offset: prev.length\n        })), process).getOrNull();\n      };\n      const forwards = (node, offset, process, root) => {\n        const walker = TextWalker(node, root !== null && root !== void 0 ? root : dom.getRoot(), isBlockBoundary);\n        return walk(node, offset, () => walker.next().map(next => ({\n          container: next,\n          offset: 0\n        })), process).getOrNull();\n      };\n      return {\n        backwards,\n        forwards\n      };\n    };\n\n    const round$2 = Math.round;\n    const clone$1 = rect => {\n      if (!rect) {\n        return {\n          left: 0,\n          top: 0,\n          bottom: 0,\n          right: 0,\n          width: 0,\n          height: 0\n        };\n      }\n      return {\n        left: round$2(rect.left),\n        top: round$2(rect.top),\n        bottom: round$2(rect.bottom),\n        right: round$2(rect.right),\n        width: round$2(rect.width),\n        height: round$2(rect.height)\n      };\n    };\n    const collapse = (rect, toStart) => {\n      rect = clone$1(rect);\n      if (toStart) {\n        rect.right = rect.left;\n      } else {\n        rect.left = rect.left + rect.width;\n        rect.right = rect.left;\n      }\n      rect.width = 0;\n      return rect;\n    };\n    const isEqual = (rect1, rect2) => rect1.left === rect2.left && rect1.top === rect2.top && rect1.bottom === rect2.bottom && rect1.right === rect2.right;\n    const isValidOverflow = (overflowY, rect1, rect2) => overflowY >= 0 && overflowY <= Math.min(rect1.height, rect2.height) / 2;\n    const isAbove$1 = (rect1, rect2) => {\n      const halfHeight = Math.min(rect2.height / 2, rect1.height / 2);\n      if (rect1.bottom - halfHeight < rect2.top) {\n        return true;\n      }\n      if (rect1.top > rect2.bottom) {\n        return false;\n      }\n      return isValidOverflow(rect2.top - rect1.bottom, rect1, rect2);\n    };\n    const isBelow$1 = (rect1, rect2) => {\n      if (rect1.top > rect2.bottom) {\n        return true;\n      }\n      if (rect1.bottom < rect2.top) {\n        return false;\n      }\n      return isValidOverflow(rect2.bottom - rect1.top, rect1, rect2);\n    };\n    const containsXY = (rect, clientX, clientY) => clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom;\n    const boundingClientRectFromRects = rects => {\n      return foldl(rects, (acc, rect) => {\n        return acc.fold(() => Optional.some(rect), prevRect => {\n          const left = Math.min(rect.left, prevRect.left);\n          const top = Math.min(rect.top, prevRect.top);\n          const right = Math.max(rect.right, prevRect.right);\n          const bottom = Math.max(rect.bottom, prevRect.bottom);\n          return Optional.some({\n            top,\n            right,\n            bottom,\n            left,\n            width: right - left,\n            height: bottom - top\n          });\n        });\n      }, Optional.none());\n    };\n    const distanceToRectEdgeFromXY = (rect, x, y) => {\n      const cx = Math.max(Math.min(x, rect.left + rect.width), rect.left);\n      const cy = Math.max(Math.min(y, rect.top + rect.height), rect.top);\n      return Math.sqrt((x - cx) * (x - cx) + (y - cy) * (y - cy));\n    };\n    const overlapY = (r1, r2) => Math.max(0, Math.min(r1.bottom, r2.bottom) - Math.max(r1.top, r2.top));\n\n    const clamp$2 = (value, min, max) => Math.min(Math.max(value, min), max);\n\n    const getSelectedNode = range => {\n      const startContainer = range.startContainer,\n        startOffset = range.startOffset;\n      if (startContainer === range.endContainer && startContainer.hasChildNodes() && range.endOffset === startOffset + 1) {\n        return startContainer.childNodes[startOffset];\n      }\n      return null;\n    };\n    const getNode$1 = (container, offset) => {\n      if (isElement$6(container) && container.hasChildNodes()) {\n        const childNodes = container.childNodes;\n        const safeOffset = clamp$2(offset, 0, childNodes.length - 1);\n        return childNodes[safeOffset];\n      } else {\n        return container;\n      }\n    };\n    const getNodeUnsafe = (container, offset) => {\n      if (offset < 0 && isElement$6(container) && container.hasChildNodes()) {\n        return undefined;\n      } else {\n        return getNode$1(container, offset);\n      }\n    };\n\n    const extendingChars = new RegExp('[\\u0300-\\u036f\\u0483-\\u0487\\u0488-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u0610-\\u061a' + '\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7-\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0' + '\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08e3-\\u0902\\u093a\\u093c' + '\\u0941-\\u0948\\u094d\\u0951-\\u0957\\u0962-\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2-\\u09e3' + '\\u0a01-\\u0a02\\u0a3c\\u0a41-\\u0a42\\u0a47-\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70-\\u0a71\\u0a75\\u0a81-\\u0a82\\u0abc' + '\\u0ac1-\\u0ac5\\u0ac7-\\u0ac8\\u0acd\\u0ae2-\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57' + '\\u0b62-\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c00\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55-\\u0c56' + '\\u0c62-\\u0c63\\u0c81\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc-\\u0ccd\\u0cd5-\\u0cd6\\u0ce2-\\u0ce3\\u0d01\\u0d3e\\u0d41-\\u0d44' + '\\u0d4d\\u0d57\\u0d62-\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9' + '\\u0ebb-\\u0ebc\\u0ec8-\\u0ecd\\u0f18-\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97' + '\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039-\\u103a\\u103d-\\u103e\\u1058-\\u1059\\u105e-\\u1060\\u1071-\\u1074' + '\\u1082\\u1085-\\u1086\\u108d\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752-\\u1753\\u1772-\\u1773\\u17b4-\\u17b5' + '\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927-\\u1928\\u1932\\u1939-\\u193b\\u1a17-\\u1a18' + '\\u1a1b\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1ab0-\\u1abd\\u1ABE\\u1b00-\\u1b03\\u1b34' + '\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80-\\u1b81\\u1ba2-\\u1ba5\\u1ba8-\\u1ba9\\u1bab-\\u1bad\\u1be6\\u1be8-\\u1be9' + '\\u1bed\\u1bef-\\u1bf1\\u1c2c-\\u1c33\\u1c36-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1cf4\\u1cf8-\\u1cf9' + '\\u1dc0-\\u1df5\\u1dfc-\\u1dff\\u200c-\\u200d\\u20d0-\\u20dc\\u20DD-\\u20E0\\u20e1\\u20E2-\\u20E4\\u20e5-\\u20f0\\u2cef-\\u2cf1' + '\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302d\\u302e-\\u302f\\u3099-\\u309a\\ua66f\\uA670-\\uA672\\ua674-\\ua67d\\ua69e-\\ua69f\\ua6f0-\\ua6f1' + '\\ua802\\ua806\\ua80b\\ua825-\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc' + '\\ua9e5\\uaa29-\\uaa2e\\uaa31-\\uaa32\\uaa35-\\uaa36\\uaa43\\uaa4c\\uaa7c\\uaab0\\uaab2-\\uaab4\\uaab7-\\uaab8\\uaabe-\\uaabf\\uaac1' + '\\uaaec-\\uaaed\\uaaf6\\uabe5\\uabe8\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\uff9e-\\uff9f]');\n    const isExtendingChar = ch => isString(ch) && ch.charCodeAt(0) >= 768 && extendingChars.test(ch);\n\n    const or = (...args) => {\n      return x => {\n        for (let i = 0; i < args.length; i++) {\n          if (args[i](x)) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    const and = (...args) => {\n      return x => {\n        for (let i = 0; i < args.length; i++) {\n          if (!args[i](x)) {\n            return false;\n          }\n        }\n        return true;\n      };\n    };\n\n    const isElement$4 = isElement$6;\n    const isCaretCandidate$2 = isCaretCandidate$3;\n    const isBlock$2 = matchStyleValues('display', 'block table');\n    const isFloated = matchStyleValues('float', 'left right');\n    const isValidElementCaretCandidate = and(isElement$4, isCaretCandidate$2, not(isFloated));\n    const isNotPre = not(matchStyleValues('white-space', 'pre pre-line pre-wrap'));\n    const isText$7 = isText$a;\n    const isBr$3 = isBr$6;\n    const nodeIndex$1 = DOMUtils.nodeIndex;\n    const resolveIndex$1 = getNodeUnsafe;\n    const createRange$1 = doc => doc ? doc.createRange() : DOMUtils.DOM.createRng();\n    const isWhiteSpace$1 = chr => isString(chr) && /[\\r\\n\\t ]/.test(chr);\n    const isRange = rng => !!rng.setStart && !!rng.setEnd;\n    const isHiddenWhiteSpaceRange = range => {\n      const container = range.startContainer;\n      const offset = range.startOffset;\n      if (isWhiteSpace$1(range.toString()) && isNotPre(container.parentNode) && isText$a(container)) {\n        const text = container.data;\n        if (isWhiteSpace$1(text[offset - 1]) || isWhiteSpace$1(text[offset + 1])) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const getBrClientRect = brNode => {\n      const doc = brNode.ownerDocument;\n      const rng = createRange$1(doc);\n      const nbsp$1 = doc.createTextNode(nbsp);\n      const parentNode = brNode.parentNode;\n      parentNode.insertBefore(nbsp$1, brNode);\n      rng.setStart(nbsp$1, 0);\n      rng.setEnd(nbsp$1, 1);\n      const clientRect = clone$1(rng.getBoundingClientRect());\n      parentNode.removeChild(nbsp$1);\n      return clientRect;\n    };\n    const getBoundingClientRectWebKitText = rng => {\n      const sc = rng.startContainer;\n      const ec = rng.endContainer;\n      const so = rng.startOffset;\n      const eo = rng.endOffset;\n      if (sc === ec && isText$a(ec) && so === 0 && eo === 1) {\n        const newRng = rng.cloneRange();\n        newRng.setEndAfter(ec);\n        return getBoundingClientRect$1(newRng);\n      } else {\n        return null;\n      }\n    };\n    const isZeroRect = r => r.left === 0 && r.right === 0 && r.top === 0 && r.bottom === 0;\n    const getBoundingClientRect$1 = item => {\n      var _a;\n      let clientRect;\n      const clientRects = item.getClientRects();\n      if (clientRects.length > 0) {\n        clientRect = clone$1(clientRects[0]);\n      } else {\n        clientRect = clone$1(item.getBoundingClientRect());\n      }\n      if (!isRange(item) && isBr$3(item) && isZeroRect(clientRect)) {\n        return getBrClientRect(item);\n      }\n      if (isZeroRect(clientRect) && isRange(item)) {\n        return (_a = getBoundingClientRectWebKitText(item)) !== null && _a !== void 0 ? _a : clientRect;\n      }\n      return clientRect;\n    };\n    const collapseAndInflateWidth = (clientRect, toStart) => {\n      const newClientRect = collapse(clientRect, toStart);\n      newClientRect.width = 1;\n      newClientRect.right = newClientRect.left + 1;\n      return newClientRect;\n    };\n    const getCaretPositionClientRects = caretPosition => {\n      const clientRects = [];\n      const addUniqueAndValidRect = clientRect => {\n        if (clientRect.height === 0) {\n          return;\n        }\n        if (clientRects.length > 0) {\n          if (isEqual(clientRect, clientRects[clientRects.length - 1])) {\n            return;\n          }\n        }\n        clientRects.push(clientRect);\n      };\n      const addCharacterOffset = (container, offset) => {\n        const range = createRange$1(container.ownerDocument);\n        if (offset < container.data.length) {\n          if (isExtendingChar(container.data[offset])) {\n            return;\n          }\n          if (isExtendingChar(container.data[offset - 1])) {\n            range.setStart(container, offset);\n            range.setEnd(container, offset + 1);\n            if (!isHiddenWhiteSpaceRange(range)) {\n              addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), false));\n              return;\n            }\n          }\n        }\n        if (offset > 0) {\n          range.setStart(container, offset - 1);\n          range.setEnd(container, offset);\n          if (!isHiddenWhiteSpaceRange(range)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), false));\n          }\n        }\n        if (offset < container.data.length) {\n          range.setStart(container, offset);\n          range.setEnd(container, offset + 1);\n          if (!isHiddenWhiteSpaceRange(range)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), true));\n          }\n        }\n      };\n      const container = caretPosition.container();\n      const offset = caretPosition.offset();\n      if (isText$7(container)) {\n        addCharacterOffset(container, offset);\n        return clientRects;\n      }\n      if (isElement$4(container)) {\n        if (caretPosition.isAtEnd()) {\n          const node = resolveIndex$1(container, offset);\n          if (isText$7(node)) {\n            addCharacterOffset(node, node.data.length);\n          }\n          if (isValidElementCaretCandidate(node) && !isBr$3(node)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), false));\n          }\n        } else {\n          const node = resolveIndex$1(container, offset);\n          if (isText$7(node)) {\n            addCharacterOffset(node, 0);\n          }\n          if (isValidElementCaretCandidate(node) && caretPosition.isAtEnd()) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), false));\n            return clientRects;\n          }\n          const beforeNode = resolveIndex$1(caretPosition.container(), caretPosition.offset() - 1);\n          if (isValidElementCaretCandidate(beforeNode) && !isBr$3(beforeNode)) {\n            if (isBlock$2(beforeNode) || isBlock$2(node) || !isValidElementCaretCandidate(node)) {\n              addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(beforeNode), false));\n            }\n          }\n          if (isValidElementCaretCandidate(node)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), true));\n          }\n        }\n      }\n      return clientRects;\n    };\n    const CaretPosition = (container, offset, clientRects) => {\n      const isAtStart = () => {\n        if (isText$7(container)) {\n          return offset === 0;\n        }\n        return offset === 0;\n      };\n      const isAtEnd = () => {\n        if (isText$7(container)) {\n          return offset >= container.data.length;\n        }\n        return offset >= container.childNodes.length;\n      };\n      const toRange = () => {\n        const range = createRange$1(container.ownerDocument);\n        range.setStart(container, offset);\n        range.setEnd(container, offset);\n        return range;\n      };\n      const getClientRects = () => {\n        if (!clientRects) {\n          clientRects = getCaretPositionClientRects(CaretPosition(container, offset));\n        }\n        return clientRects;\n      };\n      const isVisible = () => getClientRects().length > 0;\n      const isEqual = caretPosition => caretPosition && container === caretPosition.container() && offset === caretPosition.offset();\n      const getNode = before => resolveIndex$1(container, before ? offset - 1 : offset);\n      return {\n        container: constant(container),\n        offset: constant(offset),\n        toRange,\n        getClientRects,\n        isVisible,\n        isAtStart,\n        isAtEnd,\n        isEqual,\n        getNode\n      };\n    };\n    CaretPosition.fromRangeStart = range => CaretPosition(range.startContainer, range.startOffset);\n    CaretPosition.fromRangeEnd = range => CaretPosition(range.endContainer, range.endOffset);\n    CaretPosition.after = node => CaretPosition(node.parentNode, nodeIndex$1(node) + 1);\n    CaretPosition.before = node => CaretPosition(node.parentNode, nodeIndex$1(node));\n    CaretPosition.isAbove = (pos1, pos2) => lift2(head(pos2.getClientRects()), last$3(pos1.getClientRects()), isAbove$1).getOr(false);\n    CaretPosition.isBelow = (pos1, pos2) => lift2(last$3(pos2.getClientRects()), head(pos1.getClientRects()), isBelow$1).getOr(false);\n    CaretPosition.isAtStart = pos => pos ? pos.isAtStart() : false;\n    CaretPosition.isAtEnd = pos => pos ? pos.isAtEnd() : false;\n    CaretPosition.isTextPosition = pos => pos ? isText$a(pos.container()) : false;\n    CaretPosition.isElementPosition = pos => !CaretPosition.isTextPosition(pos);\n\n    const trimEmptyTextNode$1 = (dom, node) => {\n      if (isText$a(node) && node.data.length === 0) {\n        dom.remove(node);\n      }\n    };\n    const insertNode = (dom, rng, node) => {\n      rng.insertNode(node);\n      trimEmptyTextNode$1(dom, node.previousSibling);\n      trimEmptyTextNode$1(dom, node.nextSibling);\n    };\n    const insertFragment = (dom, rng, frag) => {\n      const firstChild = Optional.from(frag.firstChild);\n      const lastChild = Optional.from(frag.lastChild);\n      rng.insertNode(frag);\n      firstChild.each(child => trimEmptyTextNode$1(dom, child.previousSibling));\n      lastChild.each(child => trimEmptyTextNode$1(dom, child.nextSibling));\n    };\n    const rangeInsertNode = (dom, rng, node) => {\n      if (isDocumentFragment(node)) {\n        insertFragment(dom, rng, node);\n      } else {\n        insertNode(dom, rng, node);\n      }\n    };\n\n    const isText$6 = isText$a;\n    const isBogus = isBogus$2;\n    const nodeIndex = DOMUtils.nodeIndex;\n    const normalizedParent = node => {\n      const parentNode = node.parentNode;\n      if (isBogus(parentNode)) {\n        return normalizedParent(parentNode);\n      }\n      return parentNode;\n    };\n    const getChildNodes = node => {\n      if (!node) {\n        return [];\n      }\n      return reduce(node.childNodes, (result, node) => {\n        if (isBogus(node) && node.nodeName !== 'BR') {\n          result = result.concat(getChildNodes(node));\n        } else {\n          result.push(node);\n        }\n        return result;\n      }, []);\n    };\n    const normalizedTextOffset = (node, offset) => {\n      let tempNode = node;\n      while (tempNode = tempNode.previousSibling) {\n        if (!isText$6(tempNode)) {\n          break;\n        }\n        offset += tempNode.data.length;\n      }\n      return offset;\n    };\n    const equal = a => b => a === b;\n    const normalizedNodeIndex = node => {\n      let nodes, index;\n      nodes = getChildNodes(normalizedParent(node));\n      index = findIndex$1(nodes, equal(node), node);\n      nodes = nodes.slice(0, index + 1);\n      const numTextFragments = reduce(nodes, (result, node, i) => {\n        if (isText$6(node) && isText$6(nodes[i - 1])) {\n          result++;\n        }\n        return result;\n      }, 0);\n      nodes = filter$3(nodes, matchNodeNames([node.nodeName]));\n      index = findIndex$1(nodes, equal(node), node);\n      return index - numTextFragments;\n    };\n    const createPathItem = node => {\n      const name = isText$6(node) ? 'text()' : node.nodeName.toLowerCase();\n      return name + '[' + normalizedNodeIndex(node) + ']';\n    };\n    const parentsUntil$1 = (root, node, predicate) => {\n      const parents = [];\n      for (let tempNode = node.parentNode; tempNode && tempNode !== root; tempNode = tempNode.parentNode) {\n        if (predicate && predicate(tempNode)) {\n          break;\n        }\n        parents.push(tempNode);\n      }\n      return parents;\n    };\n    const create$b = (root, caretPosition) => {\n      let path = [];\n      let container = caretPosition.container();\n      let offset = caretPosition.offset();\n      let outputOffset;\n      if (isText$6(container)) {\n        outputOffset = normalizedTextOffset(container, offset);\n      } else {\n        const childNodes = container.childNodes;\n        if (offset >= childNodes.length) {\n          outputOffset = 'after';\n          offset = childNodes.length - 1;\n        } else {\n          outputOffset = 'before';\n        }\n        container = childNodes[offset];\n      }\n      path.push(createPathItem(container));\n      let parents = parentsUntil$1(root, container);\n      parents = filter$3(parents, not(isBogus$2));\n      path = path.concat(map$1(parents, node => {\n        return createPathItem(node);\n      }));\n      return path.reverse().join('/') + ',' + outputOffset;\n    };\n    const resolvePathItem = (node, name, index) => {\n      let nodes = getChildNodes(node);\n      nodes = filter$3(nodes, (node, index) => {\n        return !isText$6(node) || !isText$6(nodes[index - 1]);\n      });\n      nodes = filter$3(nodes, matchNodeNames([name]));\n      return nodes[index];\n    };\n    const findTextPosition = (container, offset) => {\n      let node = container;\n      let targetOffset = 0;\n      while (isText$6(node)) {\n        const dataLen = node.data.length;\n        if (offset >= targetOffset && offset <= targetOffset + dataLen) {\n          container = node;\n          offset = offset - targetOffset;\n          break;\n        }\n        if (!isText$6(node.nextSibling)) {\n          container = node;\n          offset = dataLen;\n          break;\n        }\n        targetOffset += dataLen;\n        node = node.nextSibling;\n      }\n      if (isText$6(container) && offset > container.data.length) {\n        offset = container.data.length;\n      }\n      return CaretPosition(container, offset);\n    };\n    const resolve$1 = (root, path) => {\n      if (!path) {\n        return null;\n      }\n      const parts = path.split(',');\n      const paths = parts[0].split('/');\n      const offset = parts.length > 1 ? parts[1] : 'before';\n      const container = reduce(paths, (result, value) => {\n        const match = /([\\w\\-\\(\\)]+)\\[([0-9]+)\\]/.exec(value);\n        if (!match) {\n          return null;\n        }\n        if (match[1] === 'text()') {\n          match[1] = '#text';\n        }\n        return resolvePathItem(result, match[1], parseInt(match[2], 10));\n      }, root);\n      if (!container) {\n        return null;\n      }\n      if (!isText$6(container) && container.parentNode) {\n        let nodeOffset;\n        if (offset === 'after') {\n          nodeOffset = nodeIndex(container) + 1;\n        } else {\n          nodeOffset = nodeIndex(container);\n        }\n        return CaretPosition(container.parentNode, nodeOffset);\n      }\n      return findTextPosition(container, parseInt(offset, 10));\n    };\n\n    const isContentEditableFalse$9 = isContentEditableFalse$b;\n    const getNormalizedTextOffset$1 = (trim, container, offset) => {\n      let trimmedOffset = trim(container.data.slice(0, offset)).length;\n      for (let node = container.previousSibling; node && isText$a(node); node = node.previousSibling) {\n        trimmedOffset += trim(node.data).length;\n      }\n      return trimmedOffset;\n    };\n    const getPoint = (dom, trim, normalized, rng, start) => {\n      const container = start ? rng.startContainer : rng.endContainer;\n      let offset = start ? rng.startOffset : rng.endOffset;\n      const point = [];\n      const root = dom.getRoot();\n      if (isText$a(container)) {\n        point.push(normalized ? getNormalizedTextOffset$1(trim, container, offset) : offset);\n      } else {\n        let after = 0;\n        const childNodes = container.childNodes;\n        if (offset >= childNodes.length && childNodes.length) {\n          after = 1;\n          offset = Math.max(0, childNodes.length - 1);\n        }\n        point.push(dom.nodeIndex(childNodes[offset], normalized) + after);\n      }\n      for (let node = container; node && node !== root; node = node.parentNode) {\n        point.push(dom.nodeIndex(node, normalized));\n      }\n      return point;\n    };\n    const getLocation = (trim, selection, normalized, rng) => {\n      const dom = selection.dom;\n      const start = getPoint(dom, trim, normalized, rng, true);\n      const forward = selection.isForward();\n      const fakeCaret = isRangeInCaretContainerBlock(rng) ? {\n        isFakeCaret: true\n      } : {};\n      if (!selection.isCollapsed()) {\n        const end = getPoint(dom, trim, normalized, rng, false);\n        return {\n          start,\n          end,\n          forward,\n          ...fakeCaret\n        };\n      } else {\n        return {\n          start,\n          forward,\n          ...fakeCaret\n        };\n      }\n    };\n    const findIndex = (dom, name, element) => {\n      let count = 0;\n      Tools.each(dom.select(name), node => {\n        if (node.getAttribute('data-mce-bogus') === 'all') {\n          return;\n        } else if (node === element) {\n          return false;\n        } else {\n          count++;\n          return;\n        }\n      });\n      return count;\n    };\n    const moveEndPoint$1 = (rng, start) => {\n      let container = start ? rng.startContainer : rng.endContainer;\n      let offset = start ? rng.startOffset : rng.endOffset;\n      if (isElement$6(container) && container.nodeName === 'TR') {\n        const childNodes = container.childNodes;\n        container = childNodes[Math.min(start ? offset : offset - 1, childNodes.length - 1)];\n        if (container) {\n          offset = start ? 0 : container.childNodes.length;\n          if (start) {\n            rng.setStart(container, offset);\n          } else {\n            rng.setEnd(container, offset);\n          }\n        }\n      }\n    };\n    const normalizeTableCellSelection = rng => {\n      moveEndPoint$1(rng, true);\n      moveEndPoint$1(rng, false);\n      return rng;\n    };\n    const findSibling = (node, offset) => {\n      if (isElement$6(node)) {\n        node = getNode$1(node, offset);\n        if (isContentEditableFalse$9(node)) {\n          return node;\n        }\n      }\n      if (isCaretContainer$2(node)) {\n        if (isText$a(node) && isCaretContainerBlock$1(node)) {\n          node = node.parentNode;\n        }\n        let sibling = node.previousSibling;\n        if (isContentEditableFalse$9(sibling)) {\n          return sibling;\n        }\n        sibling = node.nextSibling;\n        if (isContentEditableFalse$9(sibling)) {\n          return sibling;\n        }\n      }\n      return undefined;\n    };\n    const findAdjacentContentEditableFalseElm = rng => {\n      return findSibling(rng.startContainer, rng.startOffset) || findSibling(rng.endContainer, rng.endOffset);\n    };\n    const getOffsetBookmark = (trim, normalized, selection) => {\n      const element = selection.getNode();\n      const rng = selection.getRng();\n      if (element.nodeName === 'IMG' || isContentEditableFalse$9(element)) {\n        const name = element.nodeName;\n        return {\n          name,\n          index: findIndex(selection.dom, name, element)\n        };\n      }\n      const sibling = findAdjacentContentEditableFalseElm(rng);\n      if (sibling) {\n        const name = sibling.tagName;\n        return {\n          name,\n          index: findIndex(selection.dom, name, sibling)\n        };\n      }\n      return getLocation(trim, selection, normalized, rng);\n    };\n    const getCaretBookmark = selection => {\n      const rng = selection.getRng();\n      return {\n        start: create$b(selection.dom.getRoot(), CaretPosition.fromRangeStart(rng)),\n        end: create$b(selection.dom.getRoot(), CaretPosition.fromRangeEnd(rng)),\n        forward: selection.isForward()\n      };\n    };\n    const getRangeBookmark = selection => {\n      return {\n        rng: selection.getRng(),\n        forward: selection.isForward()\n      };\n    };\n    const createBookmarkSpan = (dom, id, filled) => {\n      const args = {\n        'data-mce-type': 'bookmark',\n        id,\n        'style': 'overflow:hidden;line-height:0px'\n      };\n      return filled ? dom.create('span', args, '&#xFEFF;') : dom.create('span', args);\n    };\n    const getPersistentBookmark = (selection, filled) => {\n      const dom = selection.dom;\n      let rng = selection.getRng();\n      const id = dom.uniqueId();\n      const collapsed = selection.isCollapsed();\n      const element = selection.getNode();\n      const name = element.nodeName;\n      const forward = selection.isForward();\n      if (name === 'IMG') {\n        return {\n          name,\n          index: findIndex(dom, name, element)\n        };\n      }\n      const rng2 = normalizeTableCellSelection(rng.cloneRange());\n      if (!collapsed) {\n        rng2.collapse(false);\n        const endBookmarkNode = createBookmarkSpan(dom, id + '_end', filled);\n        rangeInsertNode(dom, rng2, endBookmarkNode);\n      }\n      rng = normalizeTableCellSelection(rng);\n      rng.collapse(true);\n      const startBookmarkNode = createBookmarkSpan(dom, id + '_start', filled);\n      rangeInsertNode(dom, rng, startBookmarkNode);\n      selection.moveToBookmark({\n        id,\n        keep: true,\n        forward\n      });\n      return {\n        id,\n        forward\n      };\n    };\n    const getBookmark$2 = (selection, type, normalized = false) => {\n      if (type === 2) {\n        return getOffsetBookmark(trim$2, normalized, selection);\n      } else if (type === 3) {\n        return getCaretBookmark(selection);\n      } else if (type) {\n        return getRangeBookmark(selection);\n      } else {\n        return getPersistentBookmark(selection, false);\n      }\n    };\n    const getUndoBookmark = curry(getOffsetBookmark, identity, true);\n\n    const value$1 = value => {\n      const applyHelper = fn => fn(value);\n      const constHelper = constant(value);\n      const outputHelper = () => output;\n      const output = {\n        tag: true,\n        inner: value,\n        fold: (_onError, onValue) => onValue(value),\n        isValue: always,\n        isError: never,\n        map: mapper => Result.value(mapper(value)),\n        mapError: outputHelper,\n        bind: applyHelper,\n        exists: applyHelper,\n        forall: applyHelper,\n        getOr: constHelper,\n        or: outputHelper,\n        getOrThunk: constHelper,\n        orThunk: outputHelper,\n        getOrDie: constHelper,\n        each: fn => {\n          fn(value);\n        },\n        toOptional: () => Optional.some(value)\n      };\n      return output;\n    };\n    const error = error => {\n      const outputHelper = () => output;\n      const output = {\n        tag: false,\n        inner: error,\n        fold: (onError, _onValue) => onError(error),\n        isValue: never,\n        isError: always,\n        map: outputHelper,\n        mapError: mapper => Result.error(mapper(error)),\n        bind: outputHelper,\n        exists: never,\n        forall: always,\n        getOr: identity,\n        or: identity,\n        getOrThunk: apply$1,\n        orThunk: apply$1,\n        getOrDie: die(String(error)),\n        each: noop,\n        toOptional: Optional.none\n      };\n      return output;\n    };\n    const fromOption = (optional, err) => optional.fold(() => error(err), value$1);\n    const Result = {\n      value: value$1,\n      error,\n      fromOption\n    };\n\n    const generate = cases => {\n      if (!isArray$1(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each$e(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray$1(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains$2(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate\n    };\n\n    Adt.generate([{\n      bothErrors: ['error1', 'error2']\n    }, {\n      firstError: ['error1', 'value2']\n    }, {\n      secondError: ['value1', 'error2']\n    }, {\n      bothValues: ['value1', 'value2']\n    }]);\n    const partition$1 = results => {\n      const errors = [];\n      const values = [];\n      each$e(results, result => {\n        result.fold(err => {\n          errors.push(err);\n        }, value => {\n          values.push(value);\n        });\n      });\n      return {\n        errors,\n        values\n      };\n    };\n\n    const isInlinePattern = pattern => pattern.type === 'inline-command' || pattern.type === 'inline-format';\n    const isBlockPattern = pattern => pattern.type === 'block-command' || pattern.type === 'block-format';\n    const normalizePattern = pattern => {\n      const err = message => Result.error({\n        message,\n        pattern\n      });\n      const formatOrCmd = (name, onFormat, onCommand) => {\n        if (pattern.format !== undefined) {\n          let formats;\n          if (isArray$1(pattern.format)) {\n            if (!forall(pattern.format, isString)) {\n              return err(name + ' pattern has non-string items in the `format` array');\n            }\n            formats = pattern.format;\n          } else if (isString(pattern.format)) {\n            formats = [pattern.format];\n          } else {\n            return err(name + ' pattern has non-string `format` parameter');\n          }\n          return Result.value(onFormat(formats));\n        } else if (pattern.cmd !== undefined) {\n          if (!isString(pattern.cmd)) {\n            return err(name + ' pattern has non-string `cmd` parameter');\n          }\n          return Result.value(onCommand(pattern.cmd, pattern.value));\n        } else {\n          return err(name + ' pattern is missing both `format` and `cmd` parameters');\n        }\n      };\n      if (!isObject(pattern)) {\n        return err('Raw pattern is not an object');\n      }\n      if (!isString(pattern.start)) {\n        return err('Raw pattern is missing `start` parameter');\n      }\n      if (pattern.end !== undefined) {\n        if (!isString(pattern.end)) {\n          return err('Inline pattern has non-string `end` parameter');\n        }\n        if (pattern.start.length === 0 && pattern.end.length === 0) {\n          return err('Inline pattern has empty `start` and `end` parameters');\n        }\n        let start = pattern.start;\n        let end = pattern.end;\n        if (end.length === 0) {\n          end = start;\n          start = '';\n        }\n        return formatOrCmd('Inline', format => ({\n          type: 'inline-format',\n          start,\n          end,\n          format\n        }), (cmd, value) => ({\n          type: 'inline-command',\n          start,\n          end,\n          cmd,\n          value\n        }));\n      } else if (pattern.replacement !== undefined) {\n        if (!isString(pattern.replacement)) {\n          return err('Replacement pattern has non-string `replacement` parameter');\n        }\n        if (pattern.start.length === 0) {\n          return err('Replacement pattern has empty `start` parameter');\n        }\n        return Result.value({\n          type: 'inline-command',\n          start: '',\n          end: pattern.start,\n          cmd: 'mceInsertContent',\n          value: pattern.replacement\n        });\n      } else {\n        if (pattern.start.length === 0) {\n          return err('Block pattern has empty `start` parameter');\n        }\n        return formatOrCmd('Block', formats => ({\n          type: 'block-format',\n          start: pattern.start,\n          format: formats[0]\n        }), (command, commandValue) => ({\n          type: 'block-command',\n          start: pattern.start,\n          cmd: command,\n          value: commandValue\n        }));\n      }\n    };\n    const getBlockPatterns = patterns => filter$5(patterns, isBlockPattern);\n    const getInlinePatterns = patterns => filter$5(patterns, isInlinePattern);\n    const createPatternSet = (patterns, dynamicPatternsLookup) => ({\n      inlinePatterns: getInlinePatterns(patterns),\n      blockPatterns: getBlockPatterns(patterns),\n      dynamicPatternsLookup\n    });\n    const fromRawPatterns = patterns => {\n      const normalized = partition$1(map$3(patterns, normalizePattern));\n      each$e(normalized.errors, err => console.error(err.message, err.pattern));\n      return normalized.values;\n    };\n    const fromRawPatternsLookup = lookupFn => {\n      return ctx => {\n        const rawPatterns = lookupFn(ctx);\n        return fromRawPatterns(rawPatterns);\n      };\n    };\n\n    const deviceDetection$1 = detect$2().deviceType;\n    const isTouch = deviceDetection$1.isTouch();\n    const DOM$a = DOMUtils.DOM;\n    const getHash = value => {\n      const items = value.indexOf('=') > 0 ? value.split(/[;,](?![^=;,]*(?:[;,]|$))/) : value.split(',');\n      return foldl(items, (output, item) => {\n        const arr = item.split('=');\n        const key = arr[0];\n        const val = arr.length > 1 ? arr[1] : key;\n        output[trim$4(key)] = trim$4(val);\n        return output;\n      }, {});\n    };\n    const isRegExp = x => is$4(x, RegExp);\n    const option = name => editor => editor.options.get(name);\n    const stringOrObjectProcessor = value => isString(value) || isObject(value);\n    const bodyOptionProcessor = (editor, defaultValue = '') => value => {\n      const valid = isString(value);\n      if (valid) {\n        if (value.indexOf('=') !== -1) {\n          const bodyObj = getHash(value);\n          return {\n            value: get$a(bodyObj, editor.id).getOr(defaultValue),\n            valid\n          };\n        } else {\n          return {\n            value,\n            valid\n          };\n        }\n      } else {\n        return {\n          valid: false,\n          message: 'Must be a string.'\n        };\n      }\n    };\n    const register$7 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('id', {\n        processor: 'string',\n        default: editor.id\n      });\n      registerOption('selector', {\n        processor: 'string'\n      });\n      registerOption('target', {\n        processor: 'object'\n      });\n      registerOption('suffix', {\n        processor: 'string'\n      });\n      registerOption('cache_suffix', {\n        processor: 'string'\n      });\n      registerOption('base_url', {\n        processor: 'string'\n      });\n      registerOption('referrer_policy', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('language_load', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('inline', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('iframe_attrs', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('doctype', {\n        processor: 'string',\n        default: '<!DOCTYPE html>'\n      });\n      registerOption('document_base_url', {\n        processor: 'string',\n        default: editor.documentBaseUrl\n      });\n      registerOption('body_id', {\n        processor: bodyOptionProcessor(editor, 'tinymce'),\n        default: 'tinymce'\n      });\n      registerOption('body_class', {\n        processor: bodyOptionProcessor(editor),\n        default: ''\n      });\n      registerOption('content_security_policy', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('br_in_pre', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('forced_root_block', {\n        processor: value => {\n          const valid = isString(value) && isNotEmpty(value);\n          if (valid) {\n            return {\n              value,\n              valid\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a non-empty string.'\n            };\n          }\n        },\n        default: 'p'\n      });\n      registerOption('forced_root_block_attrs', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('newline_behavior', {\n        processor: value => {\n          const valid = contains$2(['block', 'linebreak', 'invert', 'default'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: block, linebreak, invert or default.'\n          };\n        },\n        default: 'default'\n      });\n      registerOption('br_newline_selector', {\n        processor: 'string',\n        default: '.mce-toc h2,figcaption,caption'\n      });\n      registerOption('no_newline_selector', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('keep_styles', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('end_container_on_empty_block', {\n        processor: value => {\n          if (isBoolean(value)) {\n            return {\n              valid: true,\n              value\n            };\n          } else if (isString(value)) {\n            return {\n              valid: true,\n              value\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be boolean or a string'\n            };\n          }\n        },\n        default: 'blockquote'\n      });\n      registerOption('font_size_style_values', {\n        processor: 'string',\n        default: 'xx-small,x-small,small,medium,large,x-large,xx-large'\n      });\n      registerOption('font_size_legacy_values', {\n        processor: 'string',\n        default: 'xx-small,small,medium,large,x-large,xx-large,300%'\n      });\n      registerOption('font_size_classes', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('automatic_uploads', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('images_reuse_filename', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('images_replace_blob_uris', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('icons', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('icons_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('images_upload_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('images_upload_base_path', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('images_upload_credentials', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('images_upload_handler', {\n        processor: 'function'\n      });\n      registerOption('language', {\n        processor: 'string',\n        default: 'en'\n      });\n      registerOption('language_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('entity_encoding', {\n        processor: 'string',\n        default: 'named'\n      });\n      registerOption('indent', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('indent_before', {\n        processor: 'string',\n        default: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist'\n      });\n      registerOption('indent_after', {\n        processor: 'string',\n        default: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist'\n      });\n      registerOption('indent_use_margin', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('indentation', {\n        processor: 'string',\n        default: '40px'\n      });\n      registerOption('content_css', {\n        processor: value => {\n          const valid = value === false || isString(value) || isArrayOf(value, isString);\n          if (valid) {\n            if (isString(value)) {\n              return {\n                value: map$3(value.split(','), trim$4),\n                valid\n              };\n            } else if (isArray$1(value)) {\n              return {\n                value,\n                valid\n              };\n            } else if (value === false) {\n              return {\n                value: [],\n                valid\n              };\n            } else {\n              return {\n                value,\n                valid\n              };\n            }\n          } else {\n            return {\n              valid: false,\n              message: 'Must be false, a string or an array of strings.'\n            };\n          }\n        },\n        default: isInline$1(editor) ? [] : ['default']\n      });\n      registerOption('content_style', {\n        processor: 'string'\n      });\n      registerOption('content_css_cors', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('font_css', {\n        processor: value => {\n          const valid = isString(value) || isArrayOf(value, isString);\n          if (valid) {\n            const newValue = isArray$1(value) ? value : map$3(value.split(','), trim$4);\n            return {\n              value: newValue,\n              valid\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a string or an array of strings.'\n            };\n          }\n        },\n        default: []\n      });\n      registerOption('inline_boundaries', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('inline_boundaries_selector', {\n        processor: 'string',\n        default: 'a[href],code,span.mce-annotation'\n      });\n      registerOption('object_resizing', {\n        processor: value => {\n          const valid = isBoolean(value) || isString(value);\n          if (valid) {\n            if (value === false || deviceDetection$1.isiPhone() || deviceDetection$1.isiPad()) {\n              return {\n                value: '',\n                valid\n              };\n            } else {\n              return {\n                value: value === true ? 'table,img,figure.image,div,video,iframe' : value,\n                valid\n              };\n            }\n          } else {\n            return {\n              valid: false,\n              message: 'Must be boolean or a string'\n            };\n          }\n        },\n        default: !isTouch\n      });\n      registerOption('resize_img_proportional', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('event_root', {\n        processor: 'object'\n      });\n      registerOption('service_message', {\n        processor: 'string'\n      });\n      registerOption('theme', {\n        processor: value => value === false || isString(value) || isFunction(value),\n        default: 'silver'\n      });\n      registerOption('theme_url', {\n        processor: 'string'\n      });\n      registerOption('formats', {\n        processor: 'object'\n      });\n      registerOption('format_empty_lines', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('format_noneditable_selector', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('preview_styles', {\n        processor: value => {\n          const valid = value === false || isString(value);\n          if (valid) {\n            return {\n              value: value === false ? '' : value,\n              valid\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be false or a string'\n            };\n          }\n        },\n        default: 'font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow'\n      });\n      registerOption('custom_ui_selector', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('hidden_input', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('submit_patch', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('encoding', {\n        processor: 'string'\n      });\n      registerOption('add_form_submit_trigger', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('add_unload_trigger', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('custom_undo_redo_levels', {\n        processor: 'number',\n        default: 0\n      });\n      registerOption('disable_nodechange', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('readonly', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('editable_root', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('plugins', {\n        processor: 'string[]',\n        default: []\n      });\n      registerOption('external_plugins', {\n        processor: 'object'\n      });\n      registerOption('forced_plugins', {\n        processor: 'string[]'\n      });\n      registerOption('model', {\n        processor: 'string',\n        default: editor.hasPlugin('rtc') ? 'plugin' : 'dom'\n      });\n      registerOption('model_url', {\n        processor: 'string'\n      });\n      registerOption('block_unsupported_drop', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('visual', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('visual_table_class', {\n        processor: 'string',\n        default: 'mce-item-table'\n      });\n      registerOption('visual_anchor_class', {\n        processor: 'string',\n        default: 'mce-item-anchor'\n      });\n      registerOption('iframe_aria_text', {\n        processor: 'string',\n        default: 'Rich Text Area. Press ALT-0 for help.'\n      });\n      registerOption('setup', {\n        processor: 'function'\n      });\n      registerOption('init_instance_callback', {\n        processor: 'function'\n      });\n      registerOption('url_converter', {\n        processor: 'function',\n        default: editor.convertURL\n      });\n      registerOption('url_converter_scope', {\n        processor: 'object',\n        default: editor\n      });\n      registerOption('urlconverter_callback', {\n        processor: 'function'\n      });\n      registerOption('allow_conditional_comments', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_html_data_urls', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_svg_data_urls', {\n        processor: 'boolean'\n      });\n      registerOption('allow_html_in_named_anchor', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_script_urls', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_unsafe_link_target', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('convert_fonts_to_spans', {\n        processor: 'boolean',\n        default: true,\n        deprecated: true\n      });\n      registerOption('fix_list_elements', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('preserve_cdata', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('remove_trailing_brs', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('pad_empty_with_br', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('inline_styles', {\n        processor: 'boolean',\n        default: true,\n        deprecated: true\n      });\n      registerOption('element_format', {\n        processor: 'string',\n        default: 'html'\n      });\n      registerOption('entities', {\n        processor: 'string'\n      });\n      registerOption('schema', {\n        processor: 'string',\n        default: 'html5'\n      });\n      registerOption('convert_urls', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('relative_urls', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('remove_script_host', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('custom_elements', {\n        processor: 'string'\n      });\n      registerOption('extended_valid_elements', {\n        processor: 'string'\n      });\n      registerOption('invalid_elements', {\n        processor: 'string'\n      });\n      registerOption('invalid_styles', {\n        processor: stringOrObjectProcessor\n      });\n      registerOption('valid_children', {\n        processor: 'string'\n      });\n      registerOption('valid_classes', {\n        processor: stringOrObjectProcessor\n      });\n      registerOption('valid_elements', {\n        processor: 'string'\n      });\n      registerOption('valid_styles', {\n        processor: stringOrObjectProcessor\n      });\n      registerOption('verify_html', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('auto_focus', {\n        processor: value => isString(value) || value === true\n      });\n      registerOption('browser_spellcheck', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('protect', {\n        processor: 'array'\n      });\n      registerOption('images_file_types', {\n        processor: 'string',\n        default: 'jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp'\n      });\n      registerOption('deprecation_warnings', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('a11y_advanced_options', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('api_key', {\n        processor: 'string'\n      });\n      registerOption('paste_block_drop', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('paste_data_images', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('paste_preprocess', {\n        processor: 'function'\n      });\n      registerOption('paste_postprocess', {\n        processor: 'function'\n      });\n      registerOption('paste_webkit_styles', {\n        processor: 'string',\n        default: 'none'\n      });\n      registerOption('paste_remove_styles_if_webkit', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('paste_merge_formats', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('smart_paste', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('paste_as_text', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('paste_tab_spaces', {\n        processor: 'number',\n        default: 4\n      });\n      registerOption('text_patterns', {\n        processor: value => {\n          if (isArrayOf(value, isObject) || value === false) {\n            const patterns = value === false ? [] : value;\n            return {\n              value: fromRawPatterns(patterns),\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be an array of objects or false.'\n            };\n          }\n        },\n        default: [{\n          start: '*',\n          end: '*',\n          format: 'italic'\n        }, {\n          start: '**',\n          end: '**',\n          format: 'bold'\n        }, {\n          start: '#',\n          format: 'h1'\n        }, {\n          start: '##',\n          format: 'h2'\n        }, {\n          start: '###',\n          format: 'h3'\n        }, {\n          start: '####',\n          format: 'h4'\n        }, {\n          start: '#####',\n          format: 'h5'\n        }, {\n          start: '######',\n          format: 'h6'\n        }, {\n          start: '1. ',\n          cmd: 'InsertOrderedList'\n        }, {\n          start: '* ',\n          cmd: 'InsertUnorderedList'\n        }, {\n          start: '- ',\n          cmd: 'InsertUnorderedList'\n        }]\n      });\n      registerOption('text_patterns_lookup', {\n        processor: value => {\n          if (isFunction(value)) {\n            return {\n              value: fromRawPatternsLookup(value),\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a single function'\n            };\n          }\n        },\n        default: _ctx => []\n      });\n      registerOption('noneditable_class', {\n        processor: 'string',\n        default: 'mceNonEditable'\n      });\n      registerOption('editable_class', {\n        processor: 'string',\n        default: 'mceEditable'\n      });\n      registerOption('noneditable_regexp', {\n        processor: value => {\n          if (isArrayOf(value, isRegExp)) {\n            return {\n              value,\n              valid: true\n            };\n          } else if (isRegExp(value)) {\n            return {\n              value: [value],\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a RegExp or an array of RegExp.'\n            };\n          }\n        },\n        default: []\n      });\n      registerOption('table_tab_navigation', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('highlight_on_focus', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('xss_sanitization', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('details_initial_state', {\n        processor: value => {\n          const valid = contains$2(['inherited', 'collapsed', 'expanded'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: inherited, collapsed, or expanded.'\n          };\n        },\n        default: 'inherited'\n      });\n      registerOption('details_serialized_state', {\n        processor: value => {\n          const valid = contains$2(['inherited', 'collapsed', 'expanded'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: inherited, collapsed, or expanded.'\n          };\n        },\n        default: 'inherited'\n      });\n      registerOption('init_content_sync', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('newdocument_content', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('force_hex_color', {\n        processor: value => {\n          const options = ['always', 'rgb_only', 'off'];\n          const valid = contains$2(options, value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: \"Must be one of: \".concat(options.join(', '), \".\")\n          };\n        },\n        default: 'off'\n      });\n      registerOption('sandbox_iframes', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('convert_unsafe_embeds', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('sn_convert_blobs_to_base64', {\n        processor: 'boolean',\n        default: true\n      });\n      editor.on('ScriptsLoaded', () => {\n        registerOption('directionality', {\n          processor: 'string',\n          default: I18n.isRtl() ? 'rtl' : undefined\n        });\n        registerOption('placeholder', {\n          processor: 'string',\n          default: DOM$a.getAttrib(editor.getElement(), 'placeholder')\n        });\n      });\n    };\n    const getIframeAttrs = option('iframe_attrs');\n    const getDocType = option('doctype');\n    const getDocumentBaseUrl = option('document_base_url');\n    const getBodyId = option('body_id');\n    const getBodyClass = option('body_class');\n    const getContentSecurityPolicy = option('content_security_policy');\n    const shouldPutBrInPre$1 = option('br_in_pre');\n    const getForcedRootBlock = option('forced_root_block');\n    const getForcedRootBlockAttrs = option('forced_root_block_attrs');\n    const getNewlineBehavior = option('newline_behavior');\n    const getBrNewLineSelector = option('br_newline_selector');\n    const getNoNewLineSelector = option('no_newline_selector');\n    const shouldKeepStyles = option('keep_styles');\n    const shouldEndContainerOnEmptyBlock = option('end_container_on_empty_block');\n    const isAutomaticUploadsEnabled = option('automatic_uploads');\n    const shouldReuseFileName = option('images_reuse_filename');\n    const shouldReplaceBlobUris = option('images_replace_blob_uris');\n    const getIconPackName = option('icons');\n    const getIconsUrl = option('icons_url');\n    const getImageUploadUrl = option('images_upload_url');\n    const getImageUploadBasePath = option('images_upload_base_path');\n    const getImagesUploadCredentials = option('images_upload_credentials');\n    const getImagesUploadHandler = option('images_upload_handler');\n    const shouldUseContentCssCors = option('content_css_cors');\n    const getReferrerPolicy = option('referrer_policy');\n    const getLanguageCode = option('language');\n    const getLanguageUrl = option('language_url');\n    const shouldIndentUseMargin = option('indent_use_margin');\n    const getIndentation = option('indentation');\n    const getContentCss = option('content_css');\n    const getContentStyle = option('content_style');\n    const getFontCss = option('font_css');\n    const getDirectionality = option('directionality');\n    const getInlineBoundarySelector = option('inline_boundaries_selector');\n    const getObjectResizing = option('object_resizing');\n    const getResizeImgProportional = option('resize_img_proportional');\n    const getPlaceholder = option('placeholder');\n    const getEventRoot = option('event_root');\n    const getServiceMessage = option('service_message');\n    const getTheme = option('theme');\n    const getThemeUrl = option('theme_url');\n    const getModel = option('model');\n    const getModelUrl = option('model_url');\n    const isInlineBoundariesEnabled = option('inline_boundaries');\n    const getFormats = option('formats');\n    const getPreviewStyles = option('preview_styles');\n    const canFormatEmptyLines = option('format_empty_lines');\n    const getFormatNoneditableSelector = option('format_noneditable_selector');\n    const getCustomUiSelector = option('custom_ui_selector');\n    const isInline$1 = option('inline');\n    const hasHiddenInput = option('hidden_input');\n    const shouldPatchSubmit = option('submit_patch');\n    const shouldAddFormSubmitTrigger = option('add_form_submit_trigger');\n    const shouldAddUnloadTrigger = option('add_unload_trigger');\n    const getCustomUndoRedoLevels = option('custom_undo_redo_levels');\n    const shouldDisableNodeChange = option('disable_nodechange');\n    const isReadOnly$1 = option('readonly');\n    const hasEditableRoot$1 = option('editable_root');\n    const hasContentCssCors = option('content_css_cors');\n    const getPlugins = option('plugins');\n    const getExternalPlugins$1 = option('external_plugins');\n    const shouldBlockUnsupportedDrop = option('block_unsupported_drop');\n    const isVisualAidsEnabled = option('visual');\n    const getVisualAidsTableClass = option('visual_table_class');\n    const getVisualAidsAnchorClass = option('visual_anchor_class');\n    const getIframeAriaText = option('iframe_aria_text');\n    const getSetupCallback = option('setup');\n    const getInitInstanceCallback = option('init_instance_callback');\n    const getUrlConverterCallback = option('urlconverter_callback');\n    const getAutoFocus = option('auto_focus');\n    const shouldBrowserSpellcheck = option('browser_spellcheck');\n    const getProtect = option('protect');\n    const shouldPasteBlockDrop = option('paste_block_drop');\n    const shouldPasteDataImages = option('paste_data_images');\n    const getPastePreProcess = option('paste_preprocess');\n    const getPastePostProcess = option('paste_postprocess');\n    const getNewDocumentContent = option('newdocument_content');\n    const getPasteWebkitStyles = option('paste_webkit_styles');\n    const shouldPasteRemoveWebKitStyles = option('paste_remove_styles_if_webkit');\n    const shouldPasteMergeFormats = option('paste_merge_formats');\n    const isSmartPasteEnabled = option('smart_paste');\n    const isPasteAsTextEnabled = option('paste_as_text');\n    const getPasteTabSpaces = option('paste_tab_spaces');\n    const shouldAllowHtmlDataUrls = option('allow_html_data_urls');\n    const getTextPatterns = option('text_patterns');\n    const getTextPatternsLookup = option('text_patterns_lookup');\n    const getNonEditableClass = option('noneditable_class');\n    const getEditableClass = option('editable_class');\n    const getNonEditableRegExps = option('noneditable_regexp');\n    const shouldPreserveCData = option('preserve_cdata');\n    const shouldHighlightOnFocus = option('highlight_on_focus');\n    const shouldSanitizeXss = option('xss_sanitization');\n    const shouldUseDocumentWrite = option('init_content_sync');\n    const hasTextPatternsLookup = editor => editor.options.isSet('text_patterns_lookup');\n    const getFontStyleValues = editor => Tools.explode(editor.options.get('font_size_style_values'));\n    const getFontSizeClasses = editor => Tools.explode(editor.options.get('font_size_classes'));\n    const isEncodingXml = editor => editor.options.get('encoding') === 'xml';\n    const getAllowedImageFileTypes = editor => Tools.explode(editor.options.get('images_file_types'));\n    const hasTableTabNavigation = option('table_tab_navigation');\n    const getDetailsInitialState = option('details_initial_state');\n    const getDetailsSerializedState = option('details_serialized_state');\n    const shouldForceHexColor = option('force_hex_color');\n    const shouldSandboxIframes = option('sandbox_iframes');\n    const shouldConvertBlobstoBase64 = option('sn_convert_blobs_to_base64');\n\n    const isElement$3 = isElement$6;\n    const isText$5 = isText$a;\n    const removeNode$1 = node => {\n      const parentNode = node.parentNode;\n      if (parentNode) {\n        parentNode.removeChild(node);\n      }\n    };\n    const trimCount = text => {\n      const trimmedText = trim$2(text);\n      return {\n        count: text.length - trimmedText.length,\n        text: trimmedText\n      };\n    };\n    const deleteZwspChars = caretContainer => {\n      let idx;\n      while ((idx = caretContainer.data.lastIndexOf(ZWSP$1)) !== -1) {\n        caretContainer.deleteData(idx, 1);\n      }\n    };\n    const removeUnchanged = (caretContainer, pos) => {\n      remove$3(caretContainer);\n      return pos;\n    };\n    const removeTextAndReposition = (caretContainer, pos) => {\n      const before = trimCount(caretContainer.data.substr(0, pos.offset()));\n      const after = trimCount(caretContainer.data.substr(pos.offset()));\n      const text = before.text + after.text;\n      if (text.length > 0) {\n        deleteZwspChars(caretContainer);\n        return CaretPosition(caretContainer, pos.offset() - before.count);\n      } else {\n        return pos;\n      }\n    };\n    const removeElementAndReposition = (caretContainer, pos) => {\n      const parentNode = pos.container();\n      const newPosition = indexOf$1(from(parentNode.childNodes), caretContainer).map(index => {\n        return index < pos.offset() ? CaretPosition(parentNode, pos.offset() - 1) : pos;\n      }).getOr(pos);\n      remove$3(caretContainer);\n      return newPosition;\n    };\n    const removeTextCaretContainer = (caretContainer, pos) => isText$5(caretContainer) && pos.container() === caretContainer ? removeTextAndReposition(caretContainer, pos) : removeUnchanged(caretContainer, pos);\n    const removeElementCaretContainer = (caretContainer, pos) => pos.container() === caretContainer.parentNode ? removeElementAndReposition(caretContainer, pos) : removeUnchanged(caretContainer, pos);\n    const removeAndReposition = (container, pos) => CaretPosition.isTextPosition(pos) ? removeTextCaretContainer(container, pos) : removeElementCaretContainer(container, pos);\n    const remove$3 = caretContainerNode => {\n      if (isElement$3(caretContainerNode) && isCaretContainer$2(caretContainerNode)) {\n        if (hasContent(caretContainerNode)) {\n          caretContainerNode.removeAttribute('data-mce-caret');\n        } else {\n          removeNode$1(caretContainerNode);\n        }\n      }\n      if (isText$5(caretContainerNode)) {\n        deleteZwspChars(caretContainerNode);\n        if (caretContainerNode.data.length === 0) {\n          removeNode$1(caretContainerNode);\n        }\n      }\n    };\n\n    const isContentEditableFalse$8 = isContentEditableFalse$b;\n    const isMedia$1 = isMedia$2;\n    const isTableCell$1 = isTableCell$3;\n    const inlineFakeCaretSelector = '*[contentEditable=false],video,audio,embed,object';\n    const getAbsoluteClientRect = (root, element, before) => {\n      const clientRect = collapse(element.getBoundingClientRect(), before);\n      let scrollX;\n      let scrollY;\n      if (root.tagName === 'BODY') {\n        const docElm = root.ownerDocument.documentElement;\n        scrollX = root.scrollLeft || docElm.scrollLeft;\n        scrollY = root.scrollTop || docElm.scrollTop;\n      } else {\n        const rootRect = root.getBoundingClientRect();\n        scrollX = root.scrollLeft - rootRect.left;\n        scrollY = root.scrollTop - rootRect.top;\n      }\n      clientRect.left += scrollX;\n      clientRect.right += scrollX;\n      clientRect.top += scrollY;\n      clientRect.bottom += scrollY;\n      clientRect.width = 1;\n      let margin = element.offsetWidth - element.clientWidth;\n      if (margin > 0) {\n        if (before) {\n          margin *= -1;\n        }\n        clientRect.left += margin;\n        clientRect.right += margin;\n      }\n      return clientRect;\n    };\n    const trimInlineCaretContainers = root => {\n      var _a, _b;\n      const fakeCaretTargetNodes = descendants(SugarElement.fromDom(root), inlineFakeCaretSelector);\n      for (let i = 0; i < fakeCaretTargetNodes.length; i++) {\n        const node = fakeCaretTargetNodes[i].dom;\n        let sibling = node.previousSibling;\n        if (endsWithCaretContainer$1(sibling)) {\n          const data = sibling.data;\n          if (data.length === 1) {\n            (_a = sibling.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(sibling);\n          } else {\n            sibling.deleteData(data.length - 1, 1);\n          }\n        }\n        sibling = node.nextSibling;\n        if (startsWithCaretContainer$1(sibling)) {\n          const data = sibling.data;\n          if (data.length === 1) {\n            (_b = sibling.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(sibling);\n          } else {\n            sibling.deleteData(0, 1);\n          }\n        }\n      }\n    };\n    const FakeCaret = (editor, root, isBlock, hasFocus) => {\n      const lastVisualCaret = value$2();\n      let cursorInterval;\n      let caretContainerNode;\n      const caretBlock = getForcedRootBlock(editor);\n      const dom = editor.dom;\n      const show = (before, element) => {\n        let rng;\n        hide();\n        if (isTableCell$1(element)) {\n          return null;\n        }\n        if (isBlock(element)) {\n          const caretContainer = insertBlock(caretBlock, element, before);\n          const clientRect = getAbsoluteClientRect(root, element, before);\n          dom.setStyle(caretContainer, 'top', clientRect.top);\n          caretContainerNode = caretContainer;\n          const caret = dom.create('div', {\n            'class': 'mce-visual-caret',\n            'data-mce-bogus': 'all'\n          });\n          dom.setStyles(caret, {\n            ...clientRect\n          });\n          dom.add(root, caret);\n          lastVisualCaret.set({\n            caret,\n            element,\n            before\n          });\n          if (before) {\n            dom.addClass(caret, 'mce-visual-caret-before');\n          }\n          startBlink();\n          rng = element.ownerDocument.createRange();\n          rng.setStart(caretContainer, 0);\n          rng.setEnd(caretContainer, 0);\n        } else {\n          caretContainerNode = insertInline$1(element, before);\n          rng = element.ownerDocument.createRange();\n          if (isInlineFakeCaretTarget(caretContainerNode.nextSibling)) {\n            rng.setStart(caretContainerNode, 0);\n            rng.setEnd(caretContainerNode, 0);\n          } else {\n            rng.setStart(caretContainerNode, 1);\n            rng.setEnd(caretContainerNode, 1);\n          }\n          return rng;\n        }\n        return rng;\n      };\n      const hide = () => {\n        trimInlineCaretContainers(root);\n        if (caretContainerNode) {\n          remove$3(caretContainerNode);\n          caretContainerNode = null;\n        }\n        lastVisualCaret.on(caretState => {\n          dom.remove(caretState.caret);\n          lastVisualCaret.clear();\n        });\n        if (cursorInterval) {\n          clearInterval(cursorInterval);\n          cursorInterval = undefined;\n        }\n      };\n      const startBlink = () => {\n        cursorInterval = setInterval(() => {\n          lastVisualCaret.on(caretState => {\n            if (hasFocus()) {\n              dom.toggleClass(caretState.caret, 'mce-visual-caret-hidden');\n            } else {\n              dom.addClass(caretState.caret, 'mce-visual-caret-hidden');\n            }\n          });\n        }, 500);\n      };\n      const reposition = () => {\n        lastVisualCaret.on(caretState => {\n          const clientRect = getAbsoluteClientRect(root, caretState.element, caretState.before);\n          dom.setStyles(caretState.caret, {\n            ...clientRect\n          });\n        });\n      };\n      const destroy = () => clearInterval(cursorInterval);\n      const getCss = () => '.mce-visual-caret {' + 'position: absolute;' + 'background-color: black;' + 'background-color: currentcolor;' + '}' + '.mce-visual-caret-hidden {' + 'display: none;' + '}' + '*[data-mce-caret] {' + 'position: absolute;' + 'left: -1000px;' + 'right: auto;' + 'top: 0;' + 'margin: 0;' + 'padding: 0;' + '}';\n      return {\n        show,\n        hide,\n        getCss,\n        reposition,\n        destroy\n      };\n    };\n    const isFakeCaretTableBrowser = () => Env.browser.isFirefox();\n    const isInlineFakeCaretTarget = node => isContentEditableFalse$8(node) || isMedia$1(node);\n    const isFakeCaretTarget = node => {\n      const isTarget = isInlineFakeCaretTarget(node) || isTable$2(node) && isFakeCaretTableBrowser();\n      return isTarget && parentElement(SugarElement.fromDom(node)).exists(isEditable$2);\n    };\n\n    const isContentEditableTrue$1 = isContentEditableTrue$3;\n    const isContentEditableFalse$7 = isContentEditableFalse$b;\n    const isMedia = isMedia$2;\n    const isBlockLike = matchStyleValues('display', 'block table table-cell table-caption list-item');\n    const isCaretContainer = isCaretContainer$2;\n    const isCaretContainerBlock = isCaretContainerBlock$1;\n    const isElement$2 = isElement$6;\n    const isText$4 = isText$a;\n    const isCaretCandidate$1 = isCaretCandidate$3;\n    const isForwards = direction => direction > 0;\n    const isBackwards = direction => direction < 0;\n    const skipCaretContainers = (walk, shallow) => {\n      let node;\n      while (node = walk(shallow)) {\n        if (!isCaretContainerBlock(node)) {\n          return node;\n        }\n      }\n      return null;\n    };\n    const findNode = (node, direction, predicateFn, rootNode, shallow) => {\n      const walker = new DomTreeWalker(node, rootNode);\n      const isCefOrCaretContainer = isContentEditableFalse$7(node) || isCaretContainerBlock(node);\n      let tempNode;\n      if (isBackwards(direction)) {\n        if (isCefOrCaretContainer) {\n          tempNode = skipCaretContainers(walker.prev.bind(walker), true);\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n        while (tempNode = skipCaretContainers(walker.prev.bind(walker), shallow)) {\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n      }\n      if (isForwards(direction)) {\n        if (isCefOrCaretContainer) {\n          tempNode = skipCaretContainers(walker.next.bind(walker), true);\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n        while (tempNode = skipCaretContainers(walker.next.bind(walker), shallow)) {\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n      }\n      return null;\n    };\n    const getEditingHost = (node, rootNode) => {\n      const isCETrue = node => isContentEditableTrue$1(node.dom);\n      const isRoot = node => node.dom === rootNode;\n      return ancestor$4(SugarElement.fromDom(node), isCETrue, isRoot).map(elm => elm.dom).getOr(rootNode);\n    };\n    const getParentBlock$3 = (node, rootNode) => {\n      while (node && node !== rootNode) {\n        if (isBlockLike(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    const isInSameBlock = (caretPosition1, caretPosition2, rootNode) => getParentBlock$3(caretPosition1.container(), rootNode) === getParentBlock$3(caretPosition2.container(), rootNode);\n    const getChildNodeAtRelativeOffset = (relativeOffset, caretPosition) => {\n      if (!caretPosition) {\n        return Optional.none();\n      }\n      const container = caretPosition.container();\n      const offset = caretPosition.offset();\n      if (!isElement$2(container)) {\n        return Optional.none();\n      }\n      return Optional.from(container.childNodes[offset + relativeOffset]);\n    };\n    const beforeAfter = (before, node) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const range = doc.createRange();\n      if (before) {\n        range.setStartBefore(node);\n        range.setEndBefore(node);\n      } else {\n        range.setStartAfter(node);\n        range.setEndAfter(node);\n      }\n      return range;\n    };\n    const isNodesInSameBlock = (root, node1, node2) => getParentBlock$3(node1, root) === getParentBlock$3(node2, root);\n    const lean = (left, root, node) => {\n      const siblingName = left ? 'previousSibling' : 'nextSibling';\n      let tempNode = node;\n      while (tempNode && tempNode !== root) {\n        let sibling = tempNode[siblingName];\n        if (sibling && isCaretContainer(sibling)) {\n          sibling = sibling[siblingName];\n        }\n        if (isContentEditableFalse$7(sibling) || isMedia(sibling)) {\n          if (isNodesInSameBlock(root, sibling, tempNode)) {\n            return sibling;\n          }\n          break;\n        }\n        if (isCaretCandidate$1(sibling)) {\n          break;\n        }\n        tempNode = tempNode.parentNode;\n      }\n      return null;\n    };\n    const before$2 = curry(beforeAfter, true);\n    const after$2 = curry(beforeAfter, false);\n    const normalizeRange = (direction, root, range) => {\n      let node;\n      const leanLeft = curry(lean, true, root);\n      const leanRight = curry(lean, false, root);\n      const container = range.startContainer;\n      const offset = range.startOffset;\n      if (isCaretContainerBlock$1(container)) {\n        const block = isText$4(container) ? container.parentNode : container;\n        const location = block.getAttribute('data-mce-caret');\n        if (location === 'before') {\n          node = block.nextSibling;\n          if (isFakeCaretTarget(node)) {\n            return before$2(node);\n          }\n        }\n        if (location === 'after') {\n          node = block.previousSibling;\n          if (isFakeCaretTarget(node)) {\n            return after$2(node);\n          }\n        }\n      }\n      if (!range.collapsed) {\n        return range;\n      }\n      if (isText$a(container)) {\n        if (isCaretContainer(container)) {\n          if (direction === 1) {\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n          }\n          if (direction === -1) {\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n          }\n          return range;\n        }\n        if (endsWithCaretContainer$1(container) && offset >= container.data.length - 1) {\n          if (direction === 1) {\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n          }\n          return range;\n        }\n        if (startsWithCaretContainer$1(container) && offset <= 1) {\n          if (direction === -1) {\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n          }\n          return range;\n        }\n        if (offset === container.data.length) {\n          node = leanRight(container);\n          if (node) {\n            return before$2(node);\n          }\n          return range;\n        }\n        if (offset === 0) {\n          node = leanLeft(container);\n          if (node) {\n            return after$2(node);\n          }\n          return range;\n        }\n      }\n      return range;\n    };\n    const getRelativeCefElm = (forward, caretPosition) => getChildNodeAtRelativeOffset(forward ? 0 : -1, caretPosition).filter(isContentEditableFalse$7);\n    const getNormalizedRangeEndPoint = (direction, root, range) => {\n      const normalizedRange = normalizeRange(direction, root, range);\n      return direction === -1 ? CaretPosition.fromRangeStart(normalizedRange) : CaretPosition.fromRangeEnd(normalizedRange);\n    };\n    const getElementFromPosition = pos => Optional.from(pos.getNode()).map(SugarElement.fromDom);\n    const getElementFromPrevPosition = pos => Optional.from(pos.getNode(true)).map(SugarElement.fromDom);\n    const getVisualCaretPosition = (walkFn, caretPosition) => {\n      let pos = caretPosition;\n      while (pos = walkFn(pos)) {\n        if (pos.isVisible()) {\n          return pos;\n        }\n      }\n      return pos;\n    };\n    const isMoveInsideSameBlock = (from, to) => {\n      const inSameBlock = isInSameBlock(from, to);\n      if (!inSameBlock && isBr$6(from.getNode())) {\n        return true;\n      }\n      return inSameBlock;\n    };\n\n    var HDirection;\n    (function (HDirection) {\n      HDirection[HDirection['Backwards'] = -1] = 'Backwards';\n      HDirection[HDirection['Forwards'] = 1] = 'Forwards';\n    })(HDirection || (HDirection = {}));\n    const isContentEditableFalse$6 = isContentEditableFalse$b;\n    const isText$3 = isText$a;\n    const isElement$1 = isElement$6;\n    const isBr$2 = isBr$6;\n    const isCaretCandidate = isCaretCandidate$3;\n    const isAtomic = isAtomic$1;\n    const isEditableCaretCandidate = isEditableCaretCandidate$1;\n    const getParents$3 = (node, root) => {\n      const parents = [];\n      let tempNode = node;\n      while (tempNode && tempNode !== root) {\n        parents.push(tempNode);\n        tempNode = tempNode.parentNode;\n      }\n      return parents;\n    };\n    const nodeAtIndex = (container, offset) => {\n      if (container.hasChildNodes() && offset < container.childNodes.length) {\n        return container.childNodes[offset];\n      }\n      return null;\n    };\n    const getCaretCandidatePosition = (direction, node) => {\n      if (isForwards(direction)) {\n        if (isCaretCandidate(node.previousSibling) && !isText$3(node.previousSibling)) {\n          return CaretPosition.before(node);\n        }\n        if (isText$3(node)) {\n          return CaretPosition(node, 0);\n        }\n      }\n      if (isBackwards(direction)) {\n        if (isCaretCandidate(node.nextSibling) && !isText$3(node.nextSibling)) {\n          return CaretPosition.after(node);\n        }\n        if (isText$3(node)) {\n          return CaretPosition(node, node.data.length);\n        }\n      }\n      if (isBackwards(direction)) {\n        if (isBr$2(node)) {\n          return CaretPosition.before(node);\n        }\n        return CaretPosition.after(node);\n      }\n      return CaretPosition.before(node);\n    };\n    const moveForwardFromBr = (root, nextNode) => {\n      const nextSibling = nextNode.nextSibling;\n      if (nextSibling && isCaretCandidate(nextSibling)) {\n        if (isText$3(nextSibling)) {\n          return CaretPosition(nextSibling, 0);\n        } else {\n          return CaretPosition.before(nextSibling);\n        }\n      } else {\n        return findCaretPosition$1(HDirection.Forwards, CaretPosition.after(nextNode), root);\n      }\n    };\n    const findCaretPosition$1 = (direction, startPos, root) => {\n      let node;\n      let nextNode;\n      let innerNode;\n      let caretPosition;\n      if (!isElement$1(root) || !startPos) {\n        return null;\n      }\n      if (startPos.isEqual(CaretPosition.after(root)) && root.lastChild) {\n        caretPosition = CaretPosition.after(root.lastChild);\n        if (isBackwards(direction) && isCaretCandidate(root.lastChild) && isElement$1(root.lastChild)) {\n          return isBr$2(root.lastChild) ? CaretPosition.before(root.lastChild) : caretPosition;\n        }\n      } else {\n        caretPosition = startPos;\n      }\n      const container = caretPosition.container();\n      let offset = caretPosition.offset();\n      if (isText$3(container)) {\n        if (isBackwards(direction) && offset > 0) {\n          return CaretPosition(container, --offset);\n        }\n        if (isForwards(direction) && offset < container.length) {\n          return CaretPosition(container, ++offset);\n        }\n        node = container;\n      } else {\n        if (isBackwards(direction) && offset > 0) {\n          nextNode = nodeAtIndex(container, offset - 1);\n          if (isCaretCandidate(nextNode)) {\n            if (!isAtomic(nextNode)) {\n              innerNode = findNode(nextNode, direction, isEditableCaretCandidate, nextNode);\n              if (innerNode) {\n                if (isText$3(innerNode)) {\n                  return CaretPosition(innerNode, innerNode.data.length);\n                }\n                return CaretPosition.after(innerNode);\n              }\n            }\n            if (isText$3(nextNode)) {\n              return CaretPosition(nextNode, nextNode.data.length);\n            }\n            return CaretPosition.before(nextNode);\n          }\n        }\n        if (isForwards(direction) && offset < container.childNodes.length) {\n          nextNode = nodeAtIndex(container, offset);\n          if (isCaretCandidate(nextNode)) {\n            if (isBr$2(nextNode)) {\n              return moveForwardFromBr(root, nextNode);\n            }\n            if (!isAtomic(nextNode)) {\n              innerNode = findNode(nextNode, direction, isEditableCaretCandidate, nextNode);\n              if (innerNode) {\n                if (isText$3(innerNode)) {\n                  return CaretPosition(innerNode, 0);\n                }\n                return CaretPosition.before(innerNode);\n              }\n            }\n            if (isText$3(nextNode)) {\n              return CaretPosition(nextNode, 0);\n            }\n            return CaretPosition.after(nextNode);\n          }\n        }\n        node = nextNode ? nextNode : caretPosition.getNode();\n      }\n      if (node && (isForwards(direction) && caretPosition.isAtEnd() || isBackwards(direction) && caretPosition.isAtStart())) {\n        node = findNode(node, direction, always, root, true);\n        if (isEditableCaretCandidate(node, root)) {\n          return getCaretCandidatePosition(direction, node);\n        }\n      }\n      nextNode = node ? findNode(node, direction, isEditableCaretCandidate, root) : node;\n      const rootContentEditableFalseElm = last$2(filter$5(getParents$3(container, root), isContentEditableFalse$6));\n      if (rootContentEditableFalseElm && (!nextNode || !rootContentEditableFalseElm.contains(nextNode))) {\n        if (isForwards(direction)) {\n          caretPosition = CaretPosition.after(rootContentEditableFalseElm);\n        } else {\n          caretPosition = CaretPosition.before(rootContentEditableFalseElm);\n        }\n        return caretPosition;\n      }\n      if (nextNode) {\n        return getCaretCandidatePosition(direction, nextNode);\n      }\n      return null;\n    };\n    const CaretWalker = root => ({\n      next: caretPosition => {\n        return findCaretPosition$1(HDirection.Forwards, caretPosition, root);\n      },\n      prev: caretPosition => {\n        return findCaretPosition$1(HDirection.Backwards, caretPosition, root);\n      }\n    });\n\n    const walkToPositionIn = (forward, root, start) => {\n      const position = forward ? CaretPosition.before(start) : CaretPosition.after(start);\n      return fromPosition(forward, root, position);\n    };\n    const afterElement = node => isBr$6(node) ? CaretPosition.before(node) : CaretPosition.after(node);\n    const isBeforeOrStart = position => {\n      if (CaretPosition.isTextPosition(position)) {\n        return position.offset() === 0;\n      } else {\n        return isCaretCandidate$3(position.getNode());\n      }\n    };\n    const isAfterOrEnd = position => {\n      if (CaretPosition.isTextPosition(position)) {\n        const container = position.container();\n        return position.offset() === container.data.length;\n      } else {\n        return isCaretCandidate$3(position.getNode(true));\n      }\n    };\n    const isBeforeAfterSameElement = (from, to) => !CaretPosition.isTextPosition(from) && !CaretPosition.isTextPosition(to) && from.getNode() === to.getNode(true);\n    const isAtBr = position => !CaretPosition.isTextPosition(position) && isBr$6(position.getNode());\n    const shouldSkipPosition = (forward, from, to) => {\n      if (forward) {\n        return !isBeforeAfterSameElement(from, to) && !isAtBr(from) && isAfterOrEnd(from) && isBeforeOrStart(to);\n      } else {\n        return !isBeforeAfterSameElement(to, from) && isBeforeOrStart(from) && isAfterOrEnd(to);\n      }\n    };\n    const fromPosition = (forward, root, pos) => {\n      const walker = CaretWalker(root);\n      return Optional.from(forward ? walker.next(pos) : walker.prev(pos));\n    };\n    const navigate = (forward, root, from) => fromPosition(forward, root, from).bind(to => {\n      if (isInSameBlock(from, to, root) && shouldSkipPosition(forward, from, to)) {\n        return fromPosition(forward, root, to);\n      } else {\n        return Optional.some(to);\n      }\n    });\n    const navigateIgnore = (forward, root, from, ignoreFilter) => navigate(forward, root, from).bind(pos => ignoreFilter(pos) ? navigateIgnore(forward, root, pos, ignoreFilter) : Optional.some(pos));\n    const positionIn = (forward, element) => {\n      const startNode = forward ? element.firstChild : element.lastChild;\n      if (isText$a(startNode)) {\n        return Optional.some(CaretPosition(startNode, forward ? 0 : startNode.data.length));\n      } else if (startNode) {\n        if (isCaretCandidate$3(startNode)) {\n          return Optional.some(forward ? CaretPosition.before(startNode) : afterElement(startNode));\n        } else {\n          return walkToPositionIn(forward, element, startNode);\n        }\n      } else {\n        return Optional.none();\n      }\n    };\n    const nextPosition = curry(fromPosition, true);\n    const prevPosition = curry(fromPosition, false);\n    const firstPositionIn = curry(positionIn, true);\n    const lastPositionIn = curry(positionIn, false);\n\n    const CARET_ID = '_mce_caret';\n    const isCaretNode = node => isElement$6(node) && node.id === CARET_ID;\n    const getParentCaretContainer = (body, node) => {\n      let currentNode = node;\n      while (currentNode && currentNode !== body) {\n        if (isCaretNode(currentNode)) {\n          return currentNode;\n        }\n        currentNode = currentNode.parentNode;\n      }\n      return null;\n    };\n\n    const isStringPathBookmark = bookmark => isString(bookmark.start);\n    const isRangeBookmark = bookmark => has$2(bookmark, 'rng');\n    const isIdBookmark = bookmark => has$2(bookmark, 'id');\n    const isIndexBookmark = bookmark => has$2(bookmark, 'name');\n    const isPathBookmark = bookmark => Tools.isArray(bookmark.start);\n\n    const isForwardBookmark = bookmark => !isIndexBookmark(bookmark) && isBoolean(bookmark.forward) ? bookmark.forward : true;\n    const addBogus = (dom, node) => {\n      if (isElement$6(node) && dom.isBlock(node) && !node.innerHTML) {\n        node.innerHTML = '<br data-mce-bogus=\"1\" />';\n      }\n      return node;\n    };\n    const resolveCaretPositionBookmark = (dom, bookmark) => {\n      const startPos = Optional.from(resolve$1(dom.getRoot(), bookmark.start));\n      const endPos = Optional.from(resolve$1(dom.getRoot(), bookmark.end));\n      return lift2(startPos, endPos, (start, end) => {\n        const range = dom.createRng();\n        range.setStart(start.container(), start.offset());\n        range.setEnd(end.container(), end.offset());\n        return {\n          range,\n          forward: isForwardBookmark(bookmark)\n        };\n      });\n    };\n    const insertZwsp = (node, rng) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const textNode = doc.createTextNode(ZWSP$1);\n      node.appendChild(textNode);\n      rng.setStart(textNode, 0);\n      rng.setEnd(textNode, 0);\n    };\n    const isEmpty$1 = node => !node.hasChildNodes();\n    const tryFindRangePosition = (node, rng) => lastPositionIn(node).fold(never, pos => {\n      rng.setStart(pos.container(), pos.offset());\n      rng.setEnd(pos.container(), pos.offset());\n      return true;\n    });\n    const padEmptyCaretContainer = (root, node, rng) => {\n      if (isEmpty$1(node) && getParentCaretContainer(root, node)) {\n        insertZwsp(node, rng);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const setEndPoint = (dom, start, bookmark, rng) => {\n      const point = bookmark[start ? 'start' : 'end'];\n      const root = dom.getRoot();\n      if (point) {\n        let node = root;\n        let offset = point[0];\n        for (let i = point.length - 1; node && i >= 1; i--) {\n          const children = node.childNodes;\n          if (padEmptyCaretContainer(root, node, rng)) {\n            return true;\n          }\n          if (point[i] > children.length - 1) {\n            if (padEmptyCaretContainer(root, node, rng)) {\n              return true;\n            }\n            return tryFindRangePosition(node, rng);\n          }\n          node = children[point[i]];\n        }\n        if (isText$a(node)) {\n          offset = Math.min(point[0], node.data.length);\n        }\n        if (isElement$6(node)) {\n          offset = Math.min(point[0], node.childNodes.length);\n        }\n        if (start) {\n          rng.setStart(node, offset);\n        } else {\n          rng.setEnd(node, offset);\n        }\n      }\n      return true;\n    };\n    const isValidTextNode = node => isText$a(node) && node.data.length > 0;\n    const restoreEndPoint = (dom, suffix, bookmark) => {\n      const marker = dom.get(bookmark.id + '_' + suffix);\n      const markerParent = marker === null || marker === void 0 ? void 0 : marker.parentNode;\n      const keep = bookmark.keep;\n      if (marker && markerParent) {\n        let container;\n        let offset;\n        if (suffix === 'start') {\n          if (!keep) {\n            container = markerParent;\n            offset = dom.nodeIndex(marker);\n          } else {\n            if (marker.hasChildNodes()) {\n              container = marker.firstChild;\n              offset = 1;\n            } else if (isValidTextNode(marker.nextSibling)) {\n              container = marker.nextSibling;\n              offset = 0;\n            } else if (isValidTextNode(marker.previousSibling)) {\n              container = marker.previousSibling;\n              offset = marker.previousSibling.data.length;\n            } else {\n              container = markerParent;\n              offset = dom.nodeIndex(marker) + 1;\n            }\n          }\n        } else {\n          if (!keep) {\n            container = markerParent;\n            offset = dom.nodeIndex(marker);\n          } else {\n            if (marker.hasChildNodes()) {\n              container = marker.firstChild;\n              offset = 1;\n            } else if (isValidTextNode(marker.previousSibling)) {\n              container = marker.previousSibling;\n              offset = marker.previousSibling.data.length;\n            } else {\n              container = markerParent;\n              offset = dom.nodeIndex(marker);\n            }\n          }\n        }\n        if (!keep) {\n          const prev = marker.previousSibling;\n          const next = marker.nextSibling;\n          Tools.each(Tools.grep(marker.childNodes), node => {\n            if (isText$a(node)) {\n              node.data = node.data.replace(/\\uFEFF/g, '');\n            }\n          });\n          let otherMarker;\n          while (otherMarker = dom.get(bookmark.id + '_' + suffix)) {\n            dom.remove(otherMarker, true);\n          }\n          if (isText$a(next) && isText$a(prev) && !Env.browser.isOpera()) {\n            const idx = prev.data.length;\n            prev.appendData(next.data);\n            dom.remove(next);\n            container = prev;\n            offset = idx;\n          }\n        }\n        return Optional.some(CaretPosition(container, offset));\n      } else {\n        return Optional.none();\n      }\n    };\n    const resolvePaths = (dom, bookmark) => {\n      const range = dom.createRng();\n      if (setEndPoint(dom, true, bookmark, range) && setEndPoint(dom, false, bookmark, range)) {\n        return Optional.some({\n          range,\n          forward: isForwardBookmark(bookmark)\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const resolveId = (dom, bookmark) => {\n      const startPos = restoreEndPoint(dom, 'start', bookmark);\n      const endPos = restoreEndPoint(dom, 'end', bookmark);\n      return lift2(startPos, endPos.or(startPos), (spos, epos) => {\n        const range = dom.createRng();\n        range.setStart(addBogus(dom, spos.container()), spos.offset());\n        range.setEnd(addBogus(dom, epos.container()), epos.offset());\n        return {\n          range,\n          forward: isForwardBookmark(bookmark)\n        };\n      });\n    };\n    const resolveIndex = (dom, bookmark) => Optional.from(dom.select(bookmark.name)[bookmark.index]).map(elm => {\n      const range = dom.createRng();\n      range.selectNode(elm);\n      return {\n        range,\n        forward: true\n      };\n    });\n    const resolve = (selection, bookmark) => {\n      const dom = selection.dom;\n      if (bookmark) {\n        if (isPathBookmark(bookmark)) {\n          return resolvePaths(dom, bookmark);\n        } else if (isStringPathBookmark(bookmark)) {\n          return resolveCaretPositionBookmark(dom, bookmark);\n        } else if (isIdBookmark(bookmark)) {\n          return resolveId(dom, bookmark);\n        } else if (isIndexBookmark(bookmark)) {\n          return resolveIndex(dom, bookmark);\n        } else if (isRangeBookmark(bookmark)) {\n          return Optional.some({\n            range: bookmark.rng,\n            forward: isForwardBookmark(bookmark)\n          });\n        }\n      }\n      return Optional.none();\n    };\n\n    const getBookmark$1 = (selection, type, normalized) => {\n      return getBookmark$2(selection, type, normalized);\n    };\n    const moveToBookmark = (selection, bookmark) => {\n      resolve(selection, bookmark).each(({\n        range,\n        forward\n      }) => {\n        selection.setRng(range, forward);\n      });\n    };\n    const isBookmarkNode$1 = node => {\n      return isElement$6(node) && node.tagName === 'SPAN' && node.getAttribute('data-mce-type') === 'bookmark';\n    };\n\n    const is = expected => actual => expected === actual;\n    const isNbsp = is(nbsp);\n    const isWhiteSpace = chr => chr !== '' && ' \\f\\n\\r\\t\\x0B'.indexOf(chr) !== -1;\n    const isContent = chr => !isWhiteSpace(chr) && !isNbsp(chr) && !isZwsp$2(chr);\n\n    const getRanges$1 = selection => {\n      const ranges = [];\n      if (selection) {\n        for (let i = 0; i < selection.rangeCount; i++) {\n          ranges.push(selection.getRangeAt(i));\n        }\n      }\n      return ranges;\n    };\n    const getSelectedNodes = ranges => {\n      return bind$3(ranges, range => {\n        const node = getSelectedNode(range);\n        return node ? [SugarElement.fromDom(node)] : [];\n      });\n    };\n    const hasMultipleRanges = selection => {\n      return getRanges$1(selection).length > 1;\n    };\n\n    const getCellsFromRanges = ranges => filter$5(getSelectedNodes(ranges), isTableCell$2);\n    const getCellsFromElement = elm => descendants(elm, 'td[data-mce-selected],th[data-mce-selected]');\n    const getCellsFromElementOrRanges = (ranges, element) => {\n      const selectedCells = getCellsFromElement(element);\n      return selectedCells.length > 0 ? selectedCells : getCellsFromRanges(ranges);\n    };\n    const getCellsFromEditor = editor => getCellsFromElementOrRanges(getRanges$1(editor.selection.getSel()), SugarElement.fromDom(editor.getBody()));\n    const getClosestTable = (cell, isRoot) => ancestor$3(cell, 'table', isRoot);\n\n    const getStartNode = rng => {\n      const sc = rng.startContainer,\n        so = rng.startOffset;\n      if (isText$a(sc)) {\n        return so === 0 ? Optional.some(SugarElement.fromDom(sc)) : Optional.none();\n      } else {\n        return Optional.from(sc.childNodes[so]).map(SugarElement.fromDom);\n      }\n    };\n    const getEndNode = rng => {\n      const ec = rng.endContainer,\n        eo = rng.endOffset;\n      if (isText$a(ec)) {\n        return eo === ec.data.length ? Optional.some(SugarElement.fromDom(ec)) : Optional.none();\n      } else {\n        return Optional.from(ec.childNodes[eo - 1]).map(SugarElement.fromDom);\n      }\n    };\n    const getFirstChildren = node => {\n      return firstChild(node).fold(constant([node]), child => {\n        return [node].concat(getFirstChildren(child));\n      });\n    };\n    const getLastChildren = node => {\n      return lastChild(node).fold(constant([node]), child => {\n        if (name(child) === 'br') {\n          return prevSibling(child).map(sibling => {\n            return [node].concat(getLastChildren(sibling));\n          }).getOr([]);\n        } else {\n          return [node].concat(getLastChildren(child));\n        }\n      });\n    };\n    const hasAllContentsSelected = (elm, rng) => {\n      return lift2(getStartNode(rng), getEndNode(rng), (startNode, endNode) => {\n        const start = find$2(getFirstChildren(elm), curry(eq, startNode));\n        const end = find$2(getLastChildren(elm), curry(eq, endNode));\n        return start.isSome() && end.isSome();\n      }).getOr(false);\n    };\n    const moveEndPoint = (dom, rng, node, start) => {\n      const root = node;\n      const walker = new DomTreeWalker(node, root);\n      const moveCaretBeforeOnEnterElementsMap = filter$4(dom.schema.getMoveCaretBeforeOnEnterElements(), (_, name) => !contains$2(['td', 'th', 'table'], name.toLowerCase()));\n      let currentNode = node;\n      do {\n        if (isText$a(currentNode) && Tools.trim(currentNode.data).length !== 0) {\n          if (start) {\n            rng.setStart(currentNode, 0);\n          } else {\n            rng.setEnd(currentNode, currentNode.data.length);\n          }\n          return;\n        }\n        if (moveCaretBeforeOnEnterElementsMap[currentNode.nodeName]) {\n          if (start) {\n            rng.setStartBefore(currentNode);\n          } else {\n            if (currentNode.nodeName === 'BR') {\n              rng.setEndBefore(currentNode);\n            } else {\n              rng.setEndAfter(currentNode);\n            }\n          }\n          return;\n        }\n      } while (currentNode = start ? walker.next() : walker.prev());\n      if (root.nodeName === 'BODY') {\n        if (start) {\n          rng.setStart(root, 0);\n        } else {\n          rng.setEnd(root, root.childNodes.length);\n        }\n      }\n    };\n    const hasAnyRanges = editor => {\n      const sel = editor.selection.getSel();\n      return isNonNullable(sel) && sel.rangeCount > 0;\n    };\n    const runOnRanges = (editor, executor) => {\n      const fakeSelectionNodes = getCellsFromEditor(editor);\n      if (fakeSelectionNodes.length > 0) {\n        each$e(fakeSelectionNodes, elem => {\n          const node = elem.dom;\n          const fakeNodeRng = editor.dom.createRng();\n          fakeNodeRng.setStartBefore(node);\n          fakeNodeRng.setEndAfter(node);\n          executor(fakeNodeRng, true);\n        });\n      } else {\n        executor(editor.selection.getRng(), false);\n      }\n    };\n    const preserve = (selection, fillBookmark, executor) => {\n      const bookmark = getPersistentBookmark(selection, fillBookmark);\n      executor(bookmark);\n      selection.moveToBookmark(bookmark);\n    };\n\n    const isNode = node => isNumber(node === null || node === void 0 ? void 0 : node.nodeType);\n    const isElementNode$1 = node => isElement$6(node) && !isBookmarkNode$1(node) && !isCaretNode(node) && !isBogus$2(node);\n    const isElementDirectlySelected = (dom, node) => {\n      if (isElementNode$1(node) && !/^(TD|TH)$/.test(node.nodeName)) {\n        const selectedAttr = dom.getAttrib(node, 'data-mce-selected');\n        const value = parseInt(selectedAttr, 10);\n        return !isNaN(value) && value > 0;\n      } else {\n        return false;\n      }\n    };\n    const preserveSelection = (editor, action, shouldMoveStart) => {\n      const {\n        selection,\n        dom\n      } = editor;\n      const selectedNodeBeforeAction = selection.getNode();\n      const isSelectedBeforeNodeNoneditable = isContentEditableFalse$b(selectedNodeBeforeAction);\n      preserve(selection, true, () => {\n        action();\n      });\n      const isBeforeNodeStillNoneditable = isSelectedBeforeNodeNoneditable && isContentEditableFalse$b(selectedNodeBeforeAction);\n      if (isBeforeNodeStillNoneditable && dom.isChildOf(selectedNodeBeforeAction, editor.getBody())) {\n        editor.selection.select(selectedNodeBeforeAction);\n      } else if (shouldMoveStart(selection.getStart())) {\n        moveStartToNearestText(dom, selection);\n      }\n    };\n    const moveStartToNearestText = (dom, selection) => {\n      var _a, _b;\n      const rng = selection.getRng();\n      const {\n        startContainer,\n        startOffset\n      } = rng;\n      const selectedNode = selection.getNode();\n      if (isElementDirectlySelected(dom, selectedNode)) {\n        return;\n      }\n      if (isElement$6(startContainer)) {\n        const nodes = startContainer.childNodes;\n        const root = dom.getRoot();\n        let walker;\n        if (startOffset < nodes.length) {\n          const startNode = nodes[startOffset];\n          walker = new DomTreeWalker(startNode, (_a = dom.getParent(startNode, dom.isBlock)) !== null && _a !== void 0 ? _a : root);\n        } else {\n          const startNode = nodes[nodes.length - 1];\n          walker = new DomTreeWalker(startNode, (_b = dom.getParent(startNode, dom.isBlock)) !== null && _b !== void 0 ? _b : root);\n          walker.next(true);\n        }\n        for (let node = walker.current(); node; node = walker.next()) {\n          if (dom.getContentEditable(node) === 'false') {\n            return;\n          } else if (isText$a(node) && !isWhiteSpaceNode$1(node)) {\n            rng.setStart(node, 0);\n            selection.setRng(rng);\n            return;\n          }\n        }\n      }\n    };\n    const getNonWhiteSpaceSibling = (node, next, inc) => {\n      if (node) {\n        const nextName = next ? 'nextSibling' : 'previousSibling';\n        for (node = inc ? node : node[nextName]; node; node = node[nextName]) {\n          if (isElement$6(node) || !isWhiteSpaceNode$1(node)) {\n            return node;\n          }\n        }\n      }\n      return undefined;\n    };\n    const isTextBlock$1 = (schema, node) => !!schema.getTextBlockElements()[node.nodeName.toLowerCase()] || isTransparentBlock(schema, node);\n    const isValid = (ed, parent, child) => {\n      return ed.schema.isValidChild(parent, child);\n    };\n    const isWhiteSpaceNode$1 = (node, allowSpaces = false) => {\n      if (isNonNullable(node) && isText$a(node)) {\n        const data = allowSpaces ? node.data.replace(/ /g, '\\xA0') : node.data;\n        return isWhitespaceText(data);\n      } else {\n        return false;\n      }\n    };\n    const isEmptyTextNode$1 = node => {\n      return isNonNullable(node) && isText$a(node) && node.length === 0;\n    };\n    const isWrapNoneditableTarget = (editor, node) => {\n      const baseDataSelector = '[data-mce-cef-wrappable]';\n      const formatNoneditableSelector = getFormatNoneditableSelector(editor);\n      const selector = isEmpty$3(formatNoneditableSelector) ? baseDataSelector : \"\".concat(baseDataSelector, \",\").concat(formatNoneditableSelector);\n      return is$1(SugarElement.fromDom(node), selector);\n    };\n    const isWrappableNoneditable = (editor, node) => {\n      const dom = editor.dom;\n      return isElementNode$1(node) && dom.getContentEditable(node) === 'false' && isWrapNoneditableTarget(editor, node) && dom.select('[contenteditable=\"true\"]', node).length === 0;\n    };\n    const replaceVars = (value, vars) => {\n      if (isFunction(value)) {\n        return value(vars);\n      } else if (isNonNullable(vars)) {\n        value = value.replace(/%(\\w+)/g, (str, name) => {\n          return vars[name] || str;\n        });\n      }\n      return value;\n    };\n    const isEq$5 = (str1, str2) => {\n      str1 = str1 || '';\n      str2 = str2 || '';\n      str1 = '' + (str1.nodeName || str1);\n      str2 = '' + (str2.nodeName || str2);\n      return str1.toLowerCase() === str2.toLowerCase();\n    };\n    const normalizeStyleValue = (value, name) => {\n      if (isNullable(value)) {\n        return null;\n      } else {\n        let strValue = String(value);\n        if (name === 'color' || name === 'backgroundColor') {\n          strValue = rgbaToHexString(strValue);\n        }\n        if (name === 'fontWeight' && value === 700) {\n          strValue = 'bold';\n        }\n        if (name === 'fontFamily') {\n          strValue = strValue.replace(/[\\'\\\"]/g, '').replace(/,\\s+/g, ',');\n        }\n        return strValue;\n      }\n    };\n    const getStyle = (dom, node, name) => {\n      const style = dom.getStyle(node, name);\n      return normalizeStyleValue(style, name);\n    };\n    const getTextDecoration = (dom, node) => {\n      let decoration;\n      dom.getParent(node, n => {\n        if (isElement$6(n)) {\n          decoration = dom.getStyle(n, 'text-decoration');\n          return !!decoration && decoration !== 'none';\n        } else {\n          return false;\n        }\n      });\n      return decoration;\n    };\n    const getParents$2 = (dom, node, selector) => {\n      return dom.getParents(node, selector, dom.getRoot());\n    };\n    const isFormatPredicate = (editor, formatName, predicate) => {\n      const formats = editor.formatter.get(formatName);\n      return isNonNullable(formats) && exists(formats, predicate);\n    };\n    const isVariableFormatName = (editor, formatName) => {\n      const hasVariableValues = format => {\n        const isVariableValue = val => isFunction(val) || val.length > 1 && val.charAt(0) === '%';\n        return exists(['styles', 'attributes'], key => get$a(format, key).exists(field => {\n          const fieldValues = isArray$1(field) ? field : values(field);\n          return exists(fieldValues, isVariableValue);\n        }));\n      };\n      return isFormatPredicate(editor, formatName, hasVariableValues);\n    };\n    const areSimilarFormats = (editor, formatName, otherFormatName) => {\n      const validKeys = ['inline', 'block', 'selector', 'attributes', 'styles', 'classes'];\n      const filterObj = format => filter$4(format, (_, key) => exists(validKeys, validKey => validKey === key));\n      return isFormatPredicate(editor, formatName, fmt1 => {\n        const filteredFmt1 = filterObj(fmt1);\n        return isFormatPredicate(editor, otherFormatName, fmt2 => {\n          const filteredFmt2 = filterObj(fmt2);\n          return equal$1(filteredFmt1, filteredFmt2);\n        });\n      });\n    };\n    const isBlockFormat = format => hasNonNullableKey(format, 'block');\n    const isWrappingBlockFormat = format => isBlockFormat(format) && format.wrapper === true;\n    const isNonWrappingBlockFormat = format => isBlockFormat(format) && format.wrapper !== true;\n    const isSelectorFormat = format => hasNonNullableKey(format, 'selector');\n    const isInlineFormat = format => hasNonNullableKey(format, 'inline');\n    const isMixedFormat = format => isSelectorFormat(format) && isInlineFormat(format) && is$2(get$a(format, 'mixed'), true);\n    const shouldExpandToSelector = format => isSelectorFormat(format) && format.expand !== false && !isInlineFormat(format);\n    const getEmptyCaretContainers = node => {\n      const nodes = [];\n      let tempNode = node;\n      while (tempNode) {\n        if (isText$a(tempNode) && tempNode.data !== ZWSP$1 || tempNode.childNodes.length > 1) {\n          return [];\n        }\n        if (isElement$6(tempNode)) {\n          nodes.push(tempNode);\n        }\n        tempNode = tempNode.firstChild;\n      }\n      return nodes;\n    };\n    const isCaretContainerEmpty = node => {\n      return getEmptyCaretContainers(node).length > 0;\n    };\n    const isEmptyCaretFormatElement = element => {\n      return isCaretNode(element.dom) && isCaretContainerEmpty(element.dom);\n    };\n\n    const isBookmarkNode = isBookmarkNode$1;\n    const getParents$1 = getParents$2;\n    const isWhiteSpaceNode = isWhiteSpaceNode$1;\n    const isTextBlock = isTextBlock$1;\n    const isBogusBr = node => {\n      return isBr$6(node) && node.getAttribute('data-mce-bogus') && !node.nextSibling;\n    };\n    const findParentContentEditable = (dom, node) => {\n      let parent = node;\n      while (parent) {\n        if (isElement$6(parent) && dom.getContentEditable(parent)) {\n          return dom.getContentEditable(parent) === 'false' ? parent : node;\n        }\n        parent = parent.parentNode;\n      }\n      return node;\n    };\n    const walkText = (start, node, offset, predicate) => {\n      const str = node.data;\n      if (start) {\n        for (let i = offset; i > 0; i--) {\n          if (predicate(str.charAt(i - 1))) {\n            return i;\n          }\n        }\n      } else {\n        for (let i = offset; i < str.length; i++) {\n          if (predicate(str.charAt(i))) {\n            return i;\n          }\n        }\n      }\n      return -1;\n    };\n    const findSpace = (start, node, offset) => walkText(start, node, offset, c => isNbsp(c) || isWhiteSpace(c));\n    const findContent = (start, node, offset) => walkText(start, node, offset, isContent);\n    const findWordEndPoint = (dom, body, container, offset, start, includeTrailingSpaces) => {\n      let lastTextNode;\n      const rootNode = dom.getParent(container, dom.isBlock) || body;\n      const walk = (container, offset, pred) => {\n        const textSeeker = TextSeeker(dom);\n        const walker = start ? textSeeker.backwards : textSeeker.forwards;\n        return Optional.from(walker(container, offset, (text, textOffset) => {\n          if (isBookmarkNode(text.parentNode)) {\n            return -1;\n          } else {\n            lastTextNode = text;\n            return pred(start, text, textOffset);\n          }\n        }, rootNode));\n      };\n      const spaceResult = walk(container, offset, findSpace);\n      return spaceResult.bind(result => includeTrailingSpaces ? walk(result.container, result.offset + (start ? -1 : 0), findContent) : Optional.some(result)).orThunk(() => lastTextNode ? Optional.some({\n        container: lastTextNode,\n        offset: start ? 0 : lastTextNode.length\n      }) : Optional.none());\n    };\n    const findSelectorEndPoint = (dom, formatList, rng, container, siblingName) => {\n      const sibling = container[siblingName];\n      if (isText$a(container) && isEmpty$3(container.data) && sibling) {\n        container = sibling;\n      }\n      const parents = getParents$1(dom, container);\n      for (let i = 0; i < parents.length; i++) {\n        for (let y = 0; y < formatList.length; y++) {\n          const curFormat = formatList[y];\n          if (isNonNullable(curFormat.collapsed) && curFormat.collapsed !== rng.collapsed) {\n            continue;\n          }\n          if (isSelectorFormat(curFormat) && dom.is(parents[i], curFormat.selector)) {\n            return parents[i];\n          }\n        }\n      }\n      return container;\n    };\n    const findBlockEndPoint = (dom, formatList, container, siblingName) => {\n      var _a;\n      let node = container;\n      const root = dom.getRoot();\n      const format = formatList[0];\n      if (isBlockFormat(format)) {\n        node = format.wrapper ? null : dom.getParent(container, format.block, root);\n      }\n      if (!node) {\n        const scopeRoot = (_a = dom.getParent(container, 'LI,TD,TH,SUMMARY')) !== null && _a !== void 0 ? _a : root;\n        node = dom.getParent(isText$a(container) ? container.parentNode : container, node => node !== root && isTextBlock(dom.schema, node), scopeRoot);\n      }\n      if (node && isBlockFormat(format) && format.wrapper) {\n        node = getParents$1(dom, node, 'ul,ol').reverse()[0] || node;\n      }\n      if (!node) {\n        node = container;\n        while (node && node[siblingName] && !dom.isBlock(node[siblingName])) {\n          node = node[siblingName];\n          if (isEq$5(node, 'br')) {\n            break;\n          }\n        }\n      }\n      return node || container;\n    };\n    const isAtBlockBoundary$1 = (dom, root, container, siblingName) => {\n      const parent = container.parentNode;\n      if (isNonNullable(container[siblingName])) {\n        return false;\n      } else if (parent === root || isNullable(parent) || dom.isBlock(parent)) {\n        return true;\n      } else {\n        return isAtBlockBoundary$1(dom, root, parent, siblingName);\n      }\n    };\n    const findParentContainer = (dom, formatList, container, offset, start) => {\n      let parent = container;\n      const siblingName = start ? 'previousSibling' : 'nextSibling';\n      const root = dom.getRoot();\n      if (isText$a(container) && !isWhiteSpaceNode(container)) {\n        if (start ? offset > 0 : offset < container.data.length) {\n          return container;\n        }\n      }\n      while (parent) {\n        if (!formatList[0].block_expand && dom.isBlock(parent)) {\n          return parent;\n        }\n        for (let sibling = parent[siblingName]; sibling; sibling = sibling[siblingName]) {\n          const allowSpaces = isText$a(sibling) && !isAtBlockBoundary$1(dom, root, sibling, siblingName);\n          if (!isBookmarkNode(sibling) && !isBogusBr(sibling) && !isWhiteSpaceNode(sibling, allowSpaces)) {\n            return parent;\n          }\n        }\n        if (parent === root || parent.parentNode === root) {\n          container = parent;\n          break;\n        }\n        parent = parent.parentNode;\n      }\n      return container;\n    };\n    const isSelfOrParentBookmark = container => isBookmarkNode(container.parentNode) || isBookmarkNode(container);\n    const expandRng = (dom, rng, formatList, includeTrailingSpace = false) => {\n      let {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      } = rng;\n      const format = formatList[0];\n      if (isElement$6(startContainer) && startContainer.hasChildNodes()) {\n        startContainer = getNode$1(startContainer, startOffset);\n        if (isText$a(startContainer)) {\n          startOffset = 0;\n        }\n      }\n      if (isElement$6(endContainer) && endContainer.hasChildNodes()) {\n        endContainer = getNode$1(endContainer, rng.collapsed ? endOffset : endOffset - 1);\n        if (isText$a(endContainer)) {\n          endOffset = endContainer.data.length;\n        }\n      }\n      startContainer = findParentContentEditable(dom, startContainer);\n      endContainer = findParentContentEditable(dom, endContainer);\n      if (isSelfOrParentBookmark(startContainer)) {\n        startContainer = isBookmarkNode(startContainer) ? startContainer : startContainer.parentNode;\n        if (rng.collapsed) {\n          startContainer = startContainer.previousSibling || startContainer;\n        } else {\n          startContainer = startContainer.nextSibling || startContainer;\n        }\n        if (isText$a(startContainer)) {\n          startOffset = rng.collapsed ? startContainer.length : 0;\n        }\n      }\n      if (isSelfOrParentBookmark(endContainer)) {\n        endContainer = isBookmarkNode(endContainer) ? endContainer : endContainer.parentNode;\n        if (rng.collapsed) {\n          endContainer = endContainer.nextSibling || endContainer;\n        } else {\n          endContainer = endContainer.previousSibling || endContainer;\n        }\n        if (isText$a(endContainer)) {\n          endOffset = rng.collapsed ? 0 : endContainer.length;\n        }\n      }\n      if (rng.collapsed) {\n        const startPoint = findWordEndPoint(dom, dom.getRoot(), startContainer, startOffset, true, includeTrailingSpace);\n        startPoint.each(({\n          container,\n          offset\n        }) => {\n          startContainer = container;\n          startOffset = offset;\n        });\n        const endPoint = findWordEndPoint(dom, dom.getRoot(), endContainer, endOffset, false, includeTrailingSpace);\n        endPoint.each(({\n          container,\n          offset\n        }) => {\n          endContainer = container;\n          endOffset = offset;\n        });\n      }\n      if (isInlineFormat(format) || format.block_expand) {\n        if (!isInlineFormat(format) || !isText$a(startContainer) || startOffset === 0) {\n          startContainer = findParentContainer(dom, formatList, startContainer, startOffset, true);\n        }\n        if (!isInlineFormat(format) || !isText$a(endContainer) || endOffset === endContainer.data.length) {\n          endContainer = findParentContainer(dom, formatList, endContainer, endOffset, false);\n        }\n      }\n      if (shouldExpandToSelector(format)) {\n        startContainer = findSelectorEndPoint(dom, formatList, rng, startContainer, 'previousSibling');\n        endContainer = findSelectorEndPoint(dom, formatList, rng, endContainer, 'nextSibling');\n      }\n      if (isBlockFormat(format) || isSelectorFormat(format)) {\n        startContainer = findBlockEndPoint(dom, formatList, startContainer, 'previousSibling');\n        endContainer = findBlockEndPoint(dom, formatList, endContainer, 'nextSibling');\n        if (isBlockFormat(format)) {\n          if (!dom.isBlock(startContainer)) {\n            startContainer = findParentContainer(dom, formatList, startContainer, startOffset, true);\n          }\n          if (!dom.isBlock(endContainer)) {\n            endContainer = findParentContainer(dom, formatList, endContainer, endOffset, false);\n          }\n        }\n      }\n      if (isElement$6(startContainer) && startContainer.parentNode) {\n        startOffset = dom.nodeIndex(startContainer);\n        startContainer = startContainer.parentNode;\n      }\n      if (isElement$6(endContainer) && endContainer.parentNode) {\n        endOffset = dom.nodeIndex(endContainer) + 1;\n        endContainer = endContainer.parentNode;\n      }\n      return {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      };\n    };\n\n    const walk$3 = (dom, rng, callback) => {\n      var _a;\n      const startOffset = rng.startOffset;\n      const startContainer = getNode$1(rng.startContainer, startOffset);\n      const endOffset = rng.endOffset;\n      const endContainer = getNode$1(rng.endContainer, endOffset - 1);\n      const exclude = nodes => {\n        const firstNode = nodes[0];\n        if (isText$a(firstNode) && firstNode === startContainer && startOffset >= firstNode.data.length) {\n          nodes.splice(0, 1);\n        }\n        const lastNode = nodes[nodes.length - 1];\n        if (endOffset === 0 && nodes.length > 0 && lastNode === endContainer && isText$a(lastNode)) {\n          nodes.splice(nodes.length - 1, 1);\n        }\n        return nodes;\n      };\n      const collectSiblings = (node, name, endNode) => {\n        const siblings = [];\n        for (; node && node !== endNode; node = node[name]) {\n          siblings.push(node);\n        }\n        return siblings;\n      };\n      const findEndPoint = (node, root) => dom.getParent(node, node => node.parentNode === root, root);\n      const walkBoundary = (startNode, endNode, next) => {\n        const siblingName = next ? 'nextSibling' : 'previousSibling';\n        for (let node = startNode, parent = node.parentNode; node && node !== endNode; node = parent) {\n          parent = node.parentNode;\n          const siblings = collectSiblings(node === startNode ? node : node[siblingName], siblingName);\n          if (siblings.length) {\n            if (!next) {\n              siblings.reverse();\n            }\n            callback(exclude(siblings));\n          }\n        }\n      };\n      if (startContainer === endContainer) {\n        return callback(exclude([startContainer]));\n      }\n      const ancestor = (_a = dom.findCommonAncestor(startContainer, endContainer)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      if (dom.isChildOf(startContainer, endContainer)) {\n        return walkBoundary(startContainer, ancestor, true);\n      }\n      if (dom.isChildOf(endContainer, startContainer)) {\n        return walkBoundary(endContainer, ancestor);\n      }\n      const startPoint = findEndPoint(startContainer, ancestor) || startContainer;\n      const endPoint = findEndPoint(endContainer, ancestor) || endContainer;\n      walkBoundary(startContainer, startPoint, true);\n      const siblings = collectSiblings(startPoint === startContainer ? startPoint : startPoint.nextSibling, 'nextSibling', endPoint === endContainer ? endPoint.nextSibling : endPoint);\n      if (siblings.length) {\n        callback(exclude(siblings));\n      }\n      walkBoundary(endContainer, endPoint);\n    };\n\n    const validBlocks = ['pre[class*=language-][contenteditable=\"false\"]', 'figure.image', 'div[data-ephox-embed-iri]', 'div.tiny-pageembed', 'div.mce-toc', 'div[data-mce-toc]'];\n    const isZeroWidth = elem => isText$b(elem) && get$3(elem) === ZWSP$1;\n    const context = (editor, elem, wrapName, nodeName) => parent(elem).fold(() => 'skipping', parent => {\n      if (nodeName === 'br' || isZeroWidth(elem)) {\n        return 'valid';\n      } else if (isAnnotation(elem)) {\n        return 'existing';\n      } else if (isCaretNode(elem.dom)) {\n        return 'caret';\n      } else if (exists(validBlocks, selector => is$1(elem, selector))) {\n        return 'valid-block';\n      } else if (!isValid(editor, wrapName, nodeName) || !isValid(editor, name(parent), wrapName)) {\n        return 'invalid-child';\n      } else {\n        return 'valid';\n      }\n    });\n\n    const applyWordGrab = (editor, rng) => {\n      const r = expandRng(editor.dom, rng, [{\n        inline: 'span'\n      }]);\n      rng.setStart(r.startContainer, r.startOffset);\n      rng.setEnd(r.endContainer, r.endOffset);\n      editor.selection.setRng(rng);\n    };\n    const applyAnnotation = (elem, masterUId, data, annotationName, decorate, directAnnotation) => {\n      const {\n        uid = masterUId,\n        ...otherData\n      } = data;\n      add$2(elem, annotation());\n      set$3(elem, \"\".concat(dataAnnotationId()), uid);\n      set$3(elem, \"\".concat(dataAnnotation()), annotationName);\n      const {\n        attributes = {},\n        classes = []\n      } = decorate(uid, otherData);\n      setAll$1(elem, attributes);\n      add(elem, classes);\n      if (directAnnotation) {\n        if (classes.length > 0) {\n          set$3(elem, \"\".concat(dataAnnotationClasses()), classes.join(','));\n        }\n        const attributeNames = keys(attributes);\n        if (attributeNames.length > 0) {\n          set$3(elem, \"\".concat(dataAnnotationAttributes()), attributeNames.join(','));\n        }\n      }\n    };\n    const removeDirectAnnotation = elem => {\n      remove$7(elem, annotation());\n      remove$a(elem, \"\".concat(dataAnnotationId()));\n      remove$a(elem, \"\".concat(dataAnnotation()));\n      remove$a(elem, \"\".concat(dataAnnotationActive()));\n      const customAttrNames = getOpt(elem, \"\".concat(dataAnnotationAttributes())).map(names => names.split(',')).getOr([]);\n      const customClasses = getOpt(elem, \"\".concat(dataAnnotationClasses())).map(names => names.split(',')).getOr([]);\n      each$e(customAttrNames, name => remove$a(elem, name));\n      remove$4(elem, customClasses);\n      remove$a(elem, \"\".concat(dataAnnotationClasses()));\n      remove$a(elem, \"\".concat(dataAnnotationAttributes()));\n    };\n    const makeAnnotation = (eDoc, uid, data, annotationName, decorate) => {\n      const master = SugarElement.fromTag('span', eDoc);\n      applyAnnotation(master, uid, data, annotationName, decorate, false);\n      return master;\n    };\n    const annotate = (editor, rng, uid, annotationName, decorate, data) => {\n      const newWrappers = [];\n      const master = makeAnnotation(editor.getDoc(), uid, data, annotationName, decorate);\n      const wrapper = value$2();\n      const finishWrapper = () => {\n        wrapper.clear();\n      };\n      const getOrOpenWrapper = () => wrapper.get().getOrThunk(() => {\n        const nu = shallow$1(master);\n        newWrappers.push(nu);\n        wrapper.set(nu);\n        return nu;\n      });\n      const processElements = elems => {\n        each$e(elems, processElement);\n      };\n      const processElement = elem => {\n        const ctx = context(editor, elem, 'span', name(elem));\n        switch (ctx) {\n          case 'invalid-child':\n            {\n              finishWrapper();\n              const children = children$1(elem);\n              processElements(children);\n              finishWrapper();\n              break;\n            }\n          case 'valid-block':\n            {\n              finishWrapper();\n              applyAnnotation(elem, uid, data, annotationName, decorate, true);\n              break;\n            }\n          case 'valid':\n            {\n              const w = getOrOpenWrapper();\n              wrap$2(elem, w);\n              break;\n            }\n        }\n      };\n      const processNodes = nodes => {\n        const elems = map$3(nodes, SugarElement.fromDom);\n        processElements(elems);\n      };\n      walk$3(editor.dom, rng, nodes => {\n        finishWrapper();\n        processNodes(nodes);\n      });\n      return newWrappers;\n    };\n    const annotateWithBookmark = (editor, name, settings, data) => {\n      editor.undoManager.transact(() => {\n        const selection = editor.selection;\n        const initialRng = selection.getRng();\n        const hasFakeSelection = getCellsFromEditor(editor).length > 0;\n        const masterUid = generate$1('mce-annotation');\n        if (initialRng.collapsed && !hasFakeSelection) {\n          applyWordGrab(editor, initialRng);\n        }\n        if (selection.getRng().collapsed && !hasFakeSelection) {\n          const wrapper = makeAnnotation(editor.getDoc(), masterUid, data, name, settings.decorate);\n          set$1(wrapper, nbsp);\n          selection.getRng().insertNode(wrapper.dom);\n          selection.select(wrapper.dom);\n        } else {\n          preserve(selection, false, () => {\n            runOnRanges(editor, selectionRng => {\n              annotate(editor, selectionRng, masterUid, name, settings.decorate, data);\n            });\n          });\n        }\n      });\n    };\n\n    const Annotator = editor => {\n      const registry = create$c();\n      setup$x(editor, registry);\n      const changes = setup$y(editor, registry);\n      const isSpan = isTag('span');\n      const removeAnnotations = elements => {\n        each$e(elements, element => {\n          if (isSpan(element)) {\n            unwrap(element);\n          } else {\n            removeDirectAnnotation(element);\n          }\n        });\n      };\n      return {\n        register: (name, settings) => {\n          registry.register(name, settings);\n        },\n        annotate: (name, data) => {\n          registry.lookup(name).each(settings => {\n            annotateWithBookmark(editor, name, settings, data);\n          });\n        },\n        annotationChanged: (name, callback) => {\n          changes.addListener(name, callback);\n        },\n        remove: name => {\n          identify(editor, Optional.some(name)).each(({\n            elements\n          }) => {\n            const bookmark = editor.selection.getBookmark();\n            removeAnnotations(elements);\n            editor.selection.moveToBookmark(bookmark);\n          });\n        },\n        removeAll: name => {\n          const bookmark = editor.selection.getBookmark();\n          each$d(findAll(editor, name), (elements, _) => {\n            removeAnnotations(elements);\n          });\n          editor.selection.moveToBookmark(bookmark);\n        },\n        getAll: name => {\n          const directory = findAll(editor, name);\n          return map$2(directory, elems => map$3(elems, elem => elem.dom));\n        }\n      };\n    };\n\n    const BookmarkManager = selection => {\n      return {\n        getBookmark: curry(getBookmark$1, selection),\n        moveToBookmark: curry(moveToBookmark, selection)\n      };\n    };\n    BookmarkManager.isBookmarkNode = isBookmarkNode$1;\n\n    const isXYWithinRange = (clientX, clientY, range) => {\n      if (range.collapsed) {\n        return false;\n      } else {\n        return exists(range.getClientRects(), rect => containsXY(rect, clientX, clientY));\n      }\n    };\n\n    const firePreProcess = (editor, args) => editor.dispatch('PreProcess', args);\n    const firePostProcess = (editor, args) => editor.dispatch('PostProcess', args);\n    const fireRemove = editor => {\n      editor.dispatch('remove');\n    };\n    const fireDetach = editor => {\n      editor.dispatch('detach');\n    };\n    const fireSwitchMode = (editor, mode) => {\n      editor.dispatch('SwitchMode', {\n        mode\n      });\n    };\n    const fireObjectResizeStart = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResizeStart', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const fireObjectResized = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResized', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const firePreInit = editor => {\n      editor.dispatch('PreInit');\n    };\n    const firePostRender = editor => {\n      editor.dispatch('PostRender');\n    };\n    const fireInit = editor => {\n      editor.dispatch('Init');\n    };\n    const firePlaceholderToggle = (editor, state) => {\n      editor.dispatch('PlaceholderToggle', {\n        state\n      });\n    };\n    const fireError = (editor, errorType, error) => {\n      editor.dispatch(errorType, error);\n    };\n    const fireFormatApply = (editor, format, node, vars) => {\n      editor.dispatch('FormatApply', {\n        format,\n        node,\n        vars\n      });\n    };\n    const fireFormatRemove = (editor, format, node, vars) => {\n      editor.dispatch('FormatRemove', {\n        format,\n        node,\n        vars\n      });\n    };\n    const fireBeforeSetContent = (editor, args) => editor.dispatch('BeforeSetContent', args);\n    const fireSetContent = (editor, args) => editor.dispatch('SetContent', args);\n    const fireBeforeGetContent = (editor, args) => editor.dispatch('BeforeGetContent', args);\n    const fireGetContent = (editor, args) => editor.dispatch('GetContent', args);\n    const fireAutocompleterStart = (editor, args) => {\n      editor.dispatch('AutocompleterStart', args);\n    };\n    const fireAutocompleterUpdate = (editor, args) => {\n      editor.dispatch('AutocompleterUpdate', args);\n    };\n    const fireAutocompleterEnd = editor => {\n      editor.dispatch('AutocompleterEnd');\n    };\n    const firePastePreProcess = (editor, html, internal) => editor.dispatch('PastePreProcess', {\n      content: html,\n      internal\n    });\n    const firePastePostProcess = (editor, node, internal) => editor.dispatch('PastePostProcess', {\n      node,\n      internal\n    });\n    const firePastePlainTextToggle = (editor, state) => editor.dispatch('PastePlainTextToggle', {\n      state\n    });\n    const fireEditableRootStateChange = (editor, state) => editor.dispatch('EditableRootStateChange', {\n      state\n    });\n\n    const VK = {\n      BACKSPACE: 8,\n      DELETE: 46,\n      DOWN: 40,\n      ENTER: 13,\n      ESC: 27,\n      LEFT: 37,\n      RIGHT: 39,\n      SPACEBAR: 32,\n      TAB: 9,\n      UP: 38,\n      PAGE_UP: 33,\n      PAGE_DOWN: 34,\n      END: 35,\n      HOME: 36,\n      modifierPressed: e => {\n        return e.shiftKey || e.ctrlKey || e.altKey || VK.metaKeyPressed(e);\n      },\n      metaKeyPressed: e => {\n        return Env.os.isMacOS() || Env.os.isiOS() ? e.metaKey : e.ctrlKey && !e.altKey;\n      }\n    };\n\n    const elementSelectionAttr = 'data-mce-selected';\n    const controlElmSelector = 'table,img,figure.image,hr,video,span.mce-preview-object,details';\n    const abs = Math.abs;\n    const round$1 = Math.round;\n    const resizeHandles = {\n      nw: [0, 0, -1, -1],\n      ne: [1, 0, 1, -1],\n      se: [1, 1, 1, 1],\n      sw: [0, 1, -1, 1]\n    };\n    const isTouchEvent = evt => evt.type === 'longpress' || evt.type.indexOf('touch') === 0;\n    const ControlSelection = (selection, editor) => {\n      const dom = editor.dom;\n      const editableDoc = editor.getDoc();\n      const rootDocument = document;\n      const rootElement = editor.getBody();\n      let selectedElm, selectedElmGhost, resizeHelper, selectedHandle, resizeBackdrop;\n      let startX, startY, selectedElmX, selectedElmY, startW, startH, ratio, resizeStarted;\n      let width;\n      let height;\n      let startScrollWidth;\n      let startScrollHeight;\n      const isImage = elm => isNonNullable(elm) && (isImg(elm) || dom.is(elm, 'figure.image'));\n      const isMedia = elm => isMedia$2(elm) || dom.hasClass(elm, 'mce-preview-object');\n      const isEventOnImageOutsideRange = (evt, range) => {\n        if (isTouchEvent(evt)) {\n          const touch = evt.touches[0];\n          return isImage(evt.target) && !isXYWithinRange(touch.clientX, touch.clientY, range);\n        } else {\n          return isImage(evt.target) && !isXYWithinRange(evt.clientX, evt.clientY, range);\n        }\n      };\n      const contextMenuSelectImage = evt => {\n        const target = evt.target;\n        if (isEventOnImageOutsideRange(evt, editor.selection.getRng()) && !evt.isDefaultPrevented()) {\n          editor.selection.select(target);\n        }\n      };\n      const getResizeTargets = elm => {\n        if (dom.hasClass(elm, 'mce-preview-object') && isNonNullable(elm.firstElementChild)) {\n          return [elm, elm.firstElementChild];\n        } else if (dom.is(elm, 'figure.image')) {\n          return [elm.querySelector('img')];\n        } else {\n          return [elm];\n        }\n      };\n      const isResizable = elm => {\n        const selector = getObjectResizing(editor);\n        if (!selector) {\n          return false;\n        }\n        if (elm.getAttribute('data-mce-resize') === 'false') {\n          return false;\n        }\n        if (elm === editor.getBody()) {\n          return false;\n        }\n        if (dom.hasClass(elm, 'mce-preview-object') && isNonNullable(elm.firstElementChild)) {\n          return is$1(SugarElement.fromDom(elm.firstElementChild), selector);\n        } else {\n          return is$1(SugarElement.fromDom(elm), selector);\n        }\n      };\n      const createGhostElement = elm => {\n        if (isMedia(elm)) {\n          return dom.create('img', {\n            src: Env.transparentSrc\n          });\n        } else {\n          return elm.cloneNode(true);\n        }\n      };\n      const setSizeProp = (element, name, value) => {\n        if (isNonNullable(value)) {\n          const targets = getResizeTargets(element);\n          each$e(targets, target => {\n            if (target.style[name] || !editor.schema.isValid(target.nodeName.toLowerCase(), name)) {\n              dom.setStyle(target, name, value);\n            } else {\n              dom.setAttrib(target, name, '' + value);\n            }\n          });\n        }\n      };\n      const setGhostElmSize = (ghostElm, width, height) => {\n        setSizeProp(ghostElm, 'width', width);\n        setSizeProp(ghostElm, 'height', height);\n      };\n      const resizeGhostElement = e => {\n        let deltaX, deltaY, proportional;\n        let resizeHelperX, resizeHelperY;\n        deltaX = e.screenX - startX;\n        deltaY = e.screenY - startY;\n        width = deltaX * selectedHandle[2] + startW;\n        height = deltaY * selectedHandle[3] + startH;\n        width = width < 5 ? 5 : width;\n        height = height < 5 ? 5 : height;\n        if ((isImage(selectedElm) || isMedia(selectedElm)) && getResizeImgProportional(editor) !== false) {\n          proportional = !VK.modifierPressed(e);\n        } else {\n          proportional = VK.modifierPressed(e);\n        }\n        if (proportional) {\n          if (abs(deltaX) > abs(deltaY)) {\n            height = round$1(width * ratio);\n            width = round$1(height / ratio);\n          } else {\n            width = round$1(height / ratio);\n            height = round$1(width * ratio);\n          }\n        }\n        setGhostElmSize(selectedElmGhost, width, height);\n        resizeHelperX = selectedHandle.startPos.x + deltaX;\n        resizeHelperY = selectedHandle.startPos.y + deltaY;\n        resizeHelperX = resizeHelperX > 0 ? resizeHelperX : 0;\n        resizeHelperY = resizeHelperY > 0 ? resizeHelperY : 0;\n        dom.setStyles(resizeHelper, {\n          left: resizeHelperX,\n          top: resizeHelperY,\n          display: 'block'\n        });\n        resizeHelper.innerHTML = width + ' &times; ' + height;\n        if (selectedHandle[2] < 0 && selectedElmGhost.clientWidth <= width) {\n          dom.setStyle(selectedElmGhost, 'left', selectedElmX + (startW - width));\n        }\n        if (selectedHandle[3] < 0 && selectedElmGhost.clientHeight <= height) {\n          dom.setStyle(selectedElmGhost, 'top', selectedElmY + (startH - height));\n        }\n        deltaX = rootElement.scrollWidth - startScrollWidth;\n        deltaY = rootElement.scrollHeight - startScrollHeight;\n        if (deltaX + deltaY !== 0) {\n          dom.setStyles(resizeHelper, {\n            left: resizeHelperX - deltaX,\n            top: resizeHelperY - deltaY\n          });\n        }\n        if (!resizeStarted) {\n          fireObjectResizeStart(editor, selectedElm, startW, startH, 'corner-' + selectedHandle.name);\n          resizeStarted = true;\n        }\n      };\n      const endGhostResize = () => {\n        const wasResizeStarted = resizeStarted;\n        resizeStarted = false;\n        if (wasResizeStarted) {\n          setSizeProp(selectedElm, 'width', width);\n          setSizeProp(selectedElm, 'height', height);\n        }\n        dom.unbind(editableDoc, 'mousemove', resizeGhostElement);\n        dom.unbind(editableDoc, 'mouseup', endGhostResize);\n        if (rootDocument !== editableDoc) {\n          dom.unbind(rootDocument, 'mousemove', resizeGhostElement);\n          dom.unbind(rootDocument, 'mouseup', endGhostResize);\n        }\n        dom.remove(selectedElmGhost);\n        dom.remove(resizeHelper);\n        dom.remove(resizeBackdrop);\n        showResizeRect(selectedElm);\n        if (wasResizeStarted) {\n          fireObjectResized(editor, selectedElm, width, height, 'corner-' + selectedHandle.name);\n          dom.setAttrib(selectedElm, 'style', dom.getAttrib(selectedElm, 'style'));\n        }\n        editor.nodeChanged();\n      };\n      const showResizeRect = targetElm => {\n        unbindResizeHandleEvents();\n        const position = dom.getPos(targetElm, rootElement);\n        const selectedElmX = position.x;\n        const selectedElmY = position.y;\n        const rect = targetElm.getBoundingClientRect();\n        const targetWidth = rect.width || rect.right - rect.left;\n        const targetHeight = rect.height || rect.bottom - rect.top;\n        if (selectedElm !== targetElm) {\n          hideResizeRect();\n          selectedElm = targetElm;\n          width = height = 0;\n        }\n        const e = editor.dispatch('ObjectSelected', {\n          target: targetElm\n        });\n        if (isResizable(targetElm) && !e.isDefaultPrevented()) {\n          each$d(resizeHandles, (handle, name) => {\n            const startDrag = e => {\n              const target = getResizeTargets(selectedElm)[0];\n              startX = e.screenX;\n              startY = e.screenY;\n              startW = target.clientWidth;\n              startH = target.clientHeight;\n              ratio = startH / startW;\n              selectedHandle = handle;\n              selectedHandle.name = name;\n              selectedHandle.startPos = {\n                x: targetWidth * handle[0] + selectedElmX,\n                y: targetHeight * handle[1] + selectedElmY\n              };\n              startScrollWidth = rootElement.scrollWidth;\n              startScrollHeight = rootElement.scrollHeight;\n              resizeBackdrop = dom.add(rootElement, 'div', {\n                'class': 'mce-resize-backdrop',\n                'data-mce-bogus': 'all'\n              });\n              dom.setStyles(resizeBackdrop, {\n                position: 'fixed',\n                left: '0',\n                top: '0',\n                width: '100%',\n                height: '100%'\n              });\n              selectedElmGhost = createGhostElement(selectedElm);\n              dom.addClass(selectedElmGhost, 'mce-clonedresizable');\n              dom.setAttrib(selectedElmGhost, 'data-mce-bogus', 'all');\n              selectedElmGhost.contentEditable = 'false';\n              dom.setStyles(selectedElmGhost, {\n                left: selectedElmX,\n                top: selectedElmY,\n                margin: 0\n              });\n              setGhostElmSize(selectedElmGhost, targetWidth, targetHeight);\n              selectedElmGhost.removeAttribute(elementSelectionAttr);\n              rootElement.appendChild(selectedElmGhost);\n              dom.bind(editableDoc, 'mousemove', resizeGhostElement);\n              dom.bind(editableDoc, 'mouseup', endGhostResize);\n              if (rootDocument !== editableDoc) {\n                dom.bind(rootDocument, 'mousemove', resizeGhostElement);\n                dom.bind(rootDocument, 'mouseup', endGhostResize);\n              }\n              resizeHelper = dom.add(rootElement, 'div', {\n                'class': 'mce-resize-helper',\n                'data-mce-bogus': 'all'\n              }, startW + ' &times; ' + startH);\n            };\n            let handleElm = dom.get('mceResizeHandle' + name);\n            if (handleElm) {\n              dom.remove(handleElm);\n            }\n            handleElm = dom.add(rootElement, 'div', {\n              'id': 'mceResizeHandle' + name,\n              'data-mce-bogus': 'all',\n              'class': 'mce-resizehandle',\n              'unselectable': true,\n              'style': 'cursor:' + name + '-resize; margin:0; padding:0'\n            });\n            dom.bind(handleElm, 'mousedown', e => {\n              e.stopImmediatePropagation();\n              e.preventDefault();\n              startDrag(e);\n            });\n            handle.elm = handleElm;\n            dom.setStyles(handleElm, {\n              left: targetWidth * handle[0] + selectedElmX - handleElm.offsetWidth / 2,\n              top: targetHeight * handle[1] + selectedElmY - handleElm.offsetHeight / 2\n            });\n          });\n        } else {\n          hideResizeRect(false);\n        }\n      };\n      const throttledShowResizeRect = first$1(showResizeRect, 0);\n      const hideResizeRect = (removeSelected = true) => {\n        throttledShowResizeRect.cancel();\n        unbindResizeHandleEvents();\n        if (selectedElm && removeSelected) {\n          selectedElm.removeAttribute(elementSelectionAttr);\n        }\n        each$d(resizeHandles, (value, name) => {\n          const handleElm = dom.get('mceResizeHandle' + name);\n          if (handleElm) {\n            dom.unbind(handleElm);\n            dom.remove(handleElm);\n          }\n        });\n      };\n      const isChildOrEqual = (node, parent) => dom.isChildOf(node, parent);\n      const updateResizeRect = e => {\n        if (resizeStarted || editor.removed || editor.composing) {\n          return;\n        }\n        const targetElm = e.type === 'mousedown' ? e.target : selection.getNode();\n        const controlElm = closest$3(SugarElement.fromDom(targetElm), controlElmSelector).map(e => e.dom).filter(e => dom.isEditable(e.parentElement) || e.nodeName === 'IMG' && dom.isEditable(e)).getOrUndefined();\n        const selectedValue = isNonNullable(controlElm) ? dom.getAttrib(controlElm, elementSelectionAttr, '1') : '1';\n        each$e(dom.select(\"img[\".concat(elementSelectionAttr, \"],hr[\").concat(elementSelectionAttr, \"]\")), img => {\n          img.removeAttribute(elementSelectionAttr);\n        });\n        if (isNonNullable(controlElm) && isChildOrEqual(controlElm, rootElement) && editor.hasFocus()) {\n          disableGeckoResize();\n          const startElm = selection.getStart(true);\n          if (isChildOrEqual(startElm, controlElm) && isChildOrEqual(selection.getEnd(true), controlElm)) {\n            dom.setAttrib(controlElm, elementSelectionAttr, selectedValue);\n            throttledShowResizeRect.throttle(controlElm);\n            return;\n          }\n        }\n        hideResizeRect();\n      };\n      const unbindResizeHandleEvents = () => {\n        each$d(resizeHandles, handle => {\n          if (handle.elm) {\n            dom.unbind(handle.elm);\n            delete handle.elm;\n          }\n        });\n      };\n      const disableGeckoResize = () => {\n        try {\n          editor.getDoc().execCommand('enableObjectResizing', false, 'false');\n        } catch (ex) {}\n      };\n      editor.on('init', () => {\n        disableGeckoResize();\n        editor.on('NodeChange ResizeEditor ResizeWindow ResizeContent drop', updateResizeRect);\n        editor.on('keyup compositionend', e => {\n          if (selectedElm && selectedElm.nodeName === 'TABLE') {\n            updateResizeRect(e);\n          }\n        });\n        editor.on('hide blur', hideResizeRect);\n        editor.on('contextmenu longpress', contextMenuSelectImage, true);\n      });\n      editor.on('remove', unbindResizeHandleEvents);\n      const destroy = () => {\n        throttledShowResizeRect.cancel();\n        selectedElm = selectedElmGhost = resizeBackdrop = null;\n      };\n      return {\n        isResizable,\n        showResizeRect,\n        hideResizeRect,\n        updateResizeRect,\n        destroy\n      };\n    };\n\n    const setStart = (rng, situ) => {\n      situ.fold(e => {\n        rng.setStartBefore(e.dom);\n      }, (e, o) => {\n        rng.setStart(e.dom, o);\n      }, e => {\n        rng.setStartAfter(e.dom);\n      });\n    };\n    const setFinish = (rng, situ) => {\n      situ.fold(e => {\n        rng.setEndBefore(e.dom);\n      }, (e, o) => {\n        rng.setEnd(e.dom, o);\n      }, e => {\n        rng.setEndAfter(e.dom);\n      });\n    };\n    const relativeToNative = (win, startSitu, finishSitu) => {\n      const range = win.document.createRange();\n      setStart(range, startSitu);\n      setFinish(range, finishSitu);\n      return range;\n    };\n    const exactToNative = (win, start, soffset, finish, foffset) => {\n      const rng = win.document.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n\n    const adt$3 = Adt.generate([{\n      ltr: ['start', 'soffset', 'finish', 'foffset']\n    }, {\n      rtl: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const fromRange = (win, type, range) => type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset);\n    const getRanges = (win, selection) => selection.match({\n      domRange: rng => {\n        return {\n          ltr: constant(rng),\n          rtl: Optional.none\n        };\n      },\n      relative: (startSitu, finishSitu) => {\n        return {\n          ltr: cached(() => relativeToNative(win, startSitu, finishSitu)),\n          rtl: cached(() => Optional.some(relativeToNative(win, finishSitu, startSitu)))\n        };\n      },\n      exact: (start, soffset, finish, foffset) => {\n        return {\n          ltr: cached(() => exactToNative(win, start, soffset, finish, foffset)),\n          rtl: cached(() => Optional.some(exactToNative(win, finish, foffset, start, soffset)))\n        };\n      }\n    });\n    const doDiagnose = (win, ranges) => {\n      const rng = ranges.ltr();\n      if (rng.collapsed) {\n        const reversed = ranges.rtl().filter(rev => rev.collapsed === false);\n        return reversed.map(rev => adt$3.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset)).getOrThunk(() => fromRange(win, adt$3.ltr, rng));\n      } else {\n        return fromRange(win, adt$3.ltr, rng);\n      }\n    };\n    const diagnose = (win, selection) => {\n      const ranges = getRanges(win, selection);\n      return doDiagnose(win, ranges);\n    };\n    adt$3.ltr;\n    adt$3.rtl;\n\n    const create$a = (start, soffset, finish, foffset) => ({\n      start,\n      soffset,\n      finish,\n      foffset\n    });\n    const SimRange = {\n      create: create$a\n    };\n\n    const caretPositionFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretPositionFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)).bind(pos => {\n        if (pos.offsetNode === null) {\n          return Optional.none();\n        }\n        const r = doc.dom.createRange();\n        r.setStart(pos.offsetNode, pos.offset);\n        r.collapse();\n        return Optional.some(r);\n      });\n    };\n    const caretRangeFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretRangeFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y));\n    };\n    const availableSearch = (() => {\n      if (document.caretPositionFromPoint) {\n        return caretPositionFromPoint;\n      } else if (document.caretRangeFromPoint) {\n        return caretRangeFromPoint;\n      } else {\n        return Optional.none;\n      }\n    })();\n    const fromPoint$1 = (win, x, y) => {\n      const doc = SugarElement.fromDom(win.document);\n      return availableSearch(doc, x, y).map(rng => SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset));\n    };\n\n    const adt$2 = Adt.generate([{\n      before: ['element']\n    }, {\n      on: ['element', 'offset']\n    }, {\n      after: ['element']\n    }]);\n    const cata = (subject, onBefore, onOn, onAfter) => subject.fold(onBefore, onOn, onAfter);\n    const getStart$2 = situ => situ.fold(identity, identity, identity);\n    const before$1 = adt$2.before;\n    const on = adt$2.on;\n    const after$1 = adt$2.after;\n    const Situ = {\n      before: before$1,\n      on,\n      after: after$1,\n      cata,\n      getStart: getStart$2\n    };\n\n    const adt$1 = Adt.generate([{\n      domRange: ['rng']\n    }, {\n      relative: ['startSitu', 'finishSitu']\n    }, {\n      exact: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const exactFromRange = simRange => adt$1.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset);\n    const getStart$1 = selection => selection.match({\n      domRange: rng => SugarElement.fromDom(rng.startContainer),\n      relative: (startSitu, _finishSitu) => Situ.getStart(startSitu),\n      exact: (start, _soffset, _finish, _foffset) => start\n    });\n    const domRange = adt$1.domRange;\n    const relative = adt$1.relative;\n    const exact = adt$1.exact;\n    const getWin = selection => {\n      const start = getStart$1(selection);\n      return defaultView(start);\n    };\n    const range = SimRange.create;\n    const SimSelection = {\n      domRange,\n      relative,\n      exact,\n      exactFromRange,\n      getWin,\n      range\n    };\n\n    const beforeSpecial = (element, offset) => {\n      const name$1 = name(element);\n      if ('input' === name$1) {\n        return Situ.after(element);\n      } else if (!contains$2(['br', 'img'], name$1)) {\n        return Situ.on(element, offset);\n      } else {\n        return offset === 0 ? Situ.before(element) : Situ.after(element);\n      }\n    };\n    const preprocessRelative = (startSitu, finishSitu) => {\n      const start = startSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      const finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      return SimSelection.relative(start, finish);\n    };\n    const preprocessExact = (start, soffset, finish, foffset) => {\n      const startSitu = beforeSpecial(start, soffset);\n      const finishSitu = beforeSpecial(finish, foffset);\n      return SimSelection.relative(startSitu, finishSitu);\n    };\n    const preprocess = selection => selection.match({\n      domRange: rng => {\n        const start = SugarElement.fromDom(rng.startContainer);\n        const finish = SugarElement.fromDom(rng.endContainer);\n        return preprocessExact(start, rng.startOffset, finish, rng.endOffset);\n      },\n      relative: preprocessRelative,\n      exact: preprocessExact\n    });\n\n    const fromElements = (elements, scope) => {\n      const doc = scope || document;\n      const fragment = doc.createDocumentFragment();\n      each$e(elements, element => {\n        fragment.appendChild(element.dom);\n      });\n      return SugarElement.fromDom(fragment);\n    };\n\n    const toNative = selection => {\n      const win = SimSelection.getWin(selection).dom;\n      const getDomRange = (start, soffset, finish, foffset) => exactToNative(win, start, soffset, finish, foffset);\n      const filtered = preprocess(selection);\n      return diagnose(win, filtered).match({\n        ltr: getDomRange,\n        rtl: getDomRange\n      });\n    };\n    const getAtPoint = (win, x, y) => fromPoint$1(win, x, y);\n\n    const fromPoint = (clientX, clientY, doc) => {\n      const win = defaultView(SugarElement.fromDom(doc));\n      return getAtPoint(win.dom, clientX, clientY).map(simRange => {\n        const rng = doc.createRange();\n        rng.setStart(simRange.start.dom, simRange.soffset);\n        rng.setEnd(simRange.finish.dom, simRange.foffset);\n        return rng;\n      }).getOrUndefined();\n    };\n\n    const isEq$4 = (rng1, rng2) => {\n      return isNonNullable(rng1) && isNonNullable(rng2) && rng1.startContainer === rng2.startContainer && rng1.startOffset === rng2.startOffset && rng1.endContainer === rng2.endContainer && rng1.endOffset === rng2.endOffset;\n    };\n\n    const findParent = (node, rootNode, predicate) => {\n      let currentNode = node;\n      while (currentNode && currentNode !== rootNode) {\n        if (predicate(currentNode)) {\n          return currentNode;\n        }\n        currentNode = currentNode.parentNode;\n      }\n      return null;\n    };\n    const hasParent$1 = (node, rootNode, predicate) => findParent(node, rootNode, predicate) !== null;\n    const hasParentWithName = (node, rootNode, name) => hasParent$1(node, rootNode, node => node.nodeName === name);\n    const isCeFalseCaretContainer = (node, rootNode) => isCaretContainer$2(node) && !hasParent$1(node, rootNode, isCaretNode);\n    const hasBrBeforeAfter = (dom, node, left) => {\n      const parentNode = node.parentNode;\n      if (parentNode) {\n        const walker = new DomTreeWalker(node, dom.getParent(parentNode, dom.isBlock) || dom.getRoot());\n        let currentNode;\n        while (currentNode = walker[left ? 'prev' : 'next']()) {\n          if (isBr$6(currentNode)) {\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    const isPrevNode = (node, name) => {\n      var _a;\n      return ((_a = node.previousSibling) === null || _a === void 0 ? void 0 : _a.nodeName) === name;\n    };\n    const hasContentEditableFalseParent = (root, node) => {\n      let currentNode = node;\n      while (currentNode && currentNode !== root) {\n        if (isContentEditableFalse$b(currentNode)) {\n          return true;\n        }\n        currentNode = currentNode.parentNode;\n      }\n      return false;\n    };\n    const findTextNodeRelative = (dom, isAfterNode, collapsed, left, startNode) => {\n      const body = dom.getRoot();\n      const nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      const parentNode = startNode.parentNode;\n      let lastInlineElement;\n      let node;\n      if (!parentNode) {\n        return Optional.none();\n      }\n      const parentBlockContainer = dom.getParent(parentNode, dom.isBlock) || body;\n      if (left && isBr$6(startNode) && isAfterNode && dom.isEmpty(parentBlockContainer)) {\n        return Optional.some(CaretPosition(parentNode, dom.nodeIndex(startNode)));\n      }\n      const walker = new DomTreeWalker(startNode, parentBlockContainer);\n      while (node = walker[left ? 'prev' : 'next']()) {\n        if (dom.getContentEditableParent(node) === 'false' || isCeFalseCaretContainer(node, body)) {\n          return Optional.none();\n        }\n        if (isText$a(node) && node.data.length > 0) {\n          if (!hasParentWithName(node, body, 'A')) {\n            return Optional.some(CaretPosition(node, left ? node.data.length : 0));\n          }\n          return Optional.none();\n        }\n        if (dom.isBlock(node) || nonEmptyElementsMap[node.nodeName.toLowerCase()]) {\n          return Optional.none();\n        }\n        lastInlineElement = node;\n      }\n      if (isComment(lastInlineElement)) {\n        return Optional.none();\n      }\n      if (collapsed && lastInlineElement) {\n        return Optional.some(CaretPosition(lastInlineElement, 0));\n      }\n      return Optional.none();\n    };\n    const normalizeEndPoint = (dom, collapsed, start, rng) => {\n      const body = dom.getRoot();\n      let node;\n      let normalized = false;\n      let container = start ? rng.startContainer : rng.endContainer;\n      let offset = start ? rng.startOffset : rng.endOffset;\n      const isAfterNode = isElement$6(container) && offset === container.childNodes.length;\n      const nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      let directionLeft = start;\n      if (isCaretContainer$2(container)) {\n        return Optional.none();\n      }\n      if (isElement$6(container) && offset > container.childNodes.length - 1) {\n        directionLeft = false;\n      }\n      if (isDocument$1(container)) {\n        container = body;\n        offset = 0;\n      }\n      if (container === body) {\n        if (directionLeft) {\n          node = container.childNodes[offset > 0 ? offset - 1 : 0];\n          if (node) {\n            if (isCaretContainer$2(node)) {\n              return Optional.none();\n            }\n            if (nonEmptyElementsMap[node.nodeName] || isTable$2(node)) {\n              return Optional.none();\n            }\n          }\n        }\n        if (container.hasChildNodes()) {\n          offset = Math.min(!directionLeft && offset > 0 ? offset - 1 : offset, container.childNodes.length - 1);\n          container = container.childNodes[offset];\n          offset = isText$a(container) && isAfterNode ? container.data.length : 0;\n          if (!collapsed && container === body.lastChild && isTable$2(container)) {\n            return Optional.none();\n          }\n          if (hasContentEditableFalseParent(body, container) || isCaretContainer$2(container)) {\n            return Optional.none();\n          }\n          if (isDetails(container)) {\n            return Optional.none();\n          }\n          if (container.hasChildNodes() && !isTable$2(container)) {\n            node = container;\n            const walker = new DomTreeWalker(container, body);\n            do {\n              if (isContentEditableFalse$b(node) || isCaretContainer$2(node)) {\n                normalized = false;\n                break;\n              }\n              if (isText$a(node) && node.data.length > 0) {\n                offset = directionLeft ? 0 : node.data.length;\n                container = node;\n                normalized = true;\n                break;\n              }\n              if (nonEmptyElementsMap[node.nodeName.toLowerCase()] && !isTableCellOrCaption(node)) {\n                offset = dom.nodeIndex(node);\n                container = node.parentNode;\n                if (!directionLeft) {\n                  offset++;\n                }\n                normalized = true;\n                break;\n              }\n            } while (node = directionLeft ? walker.next() : walker.prev());\n          }\n        }\n      }\n      if (collapsed) {\n        if (isText$a(container) && offset === 0) {\n          findTextNodeRelative(dom, isAfterNode, collapsed, true, container).each(pos => {\n            container = pos.container();\n            offset = pos.offset();\n            normalized = true;\n          });\n        }\n        if (isElement$6(container)) {\n          node = container.childNodes[offset];\n          if (!node) {\n            node = container.childNodes[offset - 1];\n          }\n          if (node && isBr$6(node) && !isPrevNode(node, 'A') && !hasBrBeforeAfter(dom, node, false) && !hasBrBeforeAfter(dom, node, true)) {\n            findTextNodeRelative(dom, isAfterNode, collapsed, true, node).each(pos => {\n              container = pos.container();\n              offset = pos.offset();\n              normalized = true;\n            });\n          }\n        }\n      }\n      if (directionLeft && !collapsed && isText$a(container) && offset === container.data.length) {\n        findTextNodeRelative(dom, isAfterNode, collapsed, false, container).each(pos => {\n          container = pos.container();\n          offset = pos.offset();\n          normalized = true;\n        });\n      }\n      return normalized && container ? Optional.some(CaretPosition(container, offset)) : Optional.none();\n    };\n    const normalize$2 = (dom, rng) => {\n      const collapsed = rng.collapsed,\n        normRng = rng.cloneRange();\n      const startPos = CaretPosition.fromRangeStart(rng);\n      normalizeEndPoint(dom, collapsed, true, normRng).each(pos => {\n        if (!collapsed || !CaretPosition.isAbove(startPos, pos)) {\n          normRng.setStart(pos.container(), pos.offset());\n        }\n      });\n      if (!collapsed) {\n        normalizeEndPoint(dom, collapsed, false, normRng).each(pos => {\n          normRng.setEnd(pos.container(), pos.offset());\n        });\n      }\n      if (collapsed) {\n        normRng.collapse(true);\n      }\n      return isEq$4(rng, normRng) ? Optional.none() : Optional.some(normRng);\n    };\n\n    const splitText = (node, offset) => {\n      return node.splitText(offset);\n    };\n    const split = rng => {\n      let startContainer = rng.startContainer,\n        startOffset = rng.startOffset,\n        endContainer = rng.endContainer,\n        endOffset = rng.endOffset;\n      if (startContainer === endContainer && isText$a(startContainer)) {\n        if (startOffset > 0 && startOffset < startContainer.data.length) {\n          endContainer = splitText(startContainer, startOffset);\n          startContainer = endContainer.previousSibling;\n          if (endOffset > startOffset) {\n            endOffset = endOffset - startOffset;\n            const newContainer = splitText(endContainer, endOffset).previousSibling;\n            startContainer = endContainer = newContainer;\n            endOffset = newContainer.data.length;\n            startOffset = 0;\n          } else {\n            endOffset = 0;\n          }\n        }\n      } else {\n        if (isText$a(startContainer) && startOffset > 0 && startOffset < startContainer.data.length) {\n          startContainer = splitText(startContainer, startOffset);\n          startOffset = 0;\n        }\n        if (isText$a(endContainer) && endOffset > 0 && endOffset < endContainer.data.length) {\n          const newContainer = splitText(endContainer, endOffset).previousSibling;\n          endContainer = newContainer;\n          endOffset = newContainer.data.length;\n        }\n      }\n      return {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      };\n    };\n\n    const RangeUtils = dom => {\n      const walk = (rng, callback) => {\n        return walk$3(dom, rng, callback);\n      };\n      const split$1 = split;\n      const normalize = rng => {\n        return normalize$2(dom, rng).fold(never, normalizedRng => {\n          rng.setStart(normalizedRng.startContainer, normalizedRng.startOffset);\n          rng.setEnd(normalizedRng.endContainer, normalizedRng.endOffset);\n          return true;\n        });\n      };\n      const expand = (rng, options = {\n        type: 'word'\n      }) => {\n        if (options.type === 'word') {\n          const rangeLike = expandRng(dom, rng, [{\n            inline: 'span'\n          }]);\n          const newRange = dom.createRng();\n          newRange.setStart(rangeLike.startContainer, rangeLike.startOffset);\n          newRange.setEnd(rangeLike.endContainer, rangeLike.endOffset);\n          return newRange;\n        }\n        return rng;\n      };\n      return {\n        walk,\n        split: split$1,\n        expand,\n        normalize\n      };\n    };\n    RangeUtils.compareRanges = isEq$4;\n    RangeUtils.getCaretRangeFromPoint = fromPoint;\n    RangeUtils.getSelectedNode = getSelectedNode;\n    RangeUtils.getNode = getNode$1;\n\n    const Dimension = (name, getOffset) => {\n      const set = (element, h) => {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/)) {\n          throw new Error(name + '.set accepts only positive integer values. Value was ' + h);\n        }\n        const dom = element.dom;\n        if (isSupported(dom)) {\n          dom.style[name] = h + 'px';\n        }\n      };\n      const get = element => {\n        const r = getOffset(element);\n        if (r <= 0 || r === null) {\n          const css = get$7(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      const getOuter = get;\n      const aggregate = (element, properties) => foldl(properties, (acc, property) => {\n        const val = get$7(element, property);\n        const value = val === undefined ? 0 : parseInt(val, 10);\n        return isNaN(value) ? acc : acc + value;\n      }, 0);\n      const max = (element, value, properties) => {\n        const cumulativeInclusions = aggregate(element, properties);\n        const absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set,\n        get,\n        getOuter,\n        aggregate,\n        max\n      };\n    };\n\n    const api = Dimension('height', element => {\n      const dom = element.dom;\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    const get$2 = element => api.get(element);\n\n    const getDocument = () => SugarElement.fromDom(document);\n\n    const walkUp = (navigation, doc) => {\n      const frame = navigation.view(doc);\n      return frame.fold(constant([]), f => {\n        const parent = navigation.owner(f);\n        const rest = walkUp(navigation, parent);\n        return [f].concat(rest);\n      });\n    };\n    const pathTo = (element, navigation) => {\n      const d = navigation.owner(element);\n      return walkUp(navigation, d);\n    };\n\n    const view = doc => {\n      var _a;\n      const element = doc.dom === document ? Optional.none() : Optional.from((_a = doc.dom.defaultView) === null || _a === void 0 ? void 0 : _a.frameElement);\n      return element.map(SugarElement.fromDom);\n    };\n    const owner = element => documentOrOwner(element);\n\n    var Navigation = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        view: view,\n        owner: owner\n    });\n\n    const find = element => {\n      const doc = getDocument();\n      const scroll = get$5(doc);\n      const frames = pathTo(element, Navigation);\n      const offset = viewport(element);\n      const r = foldr(frames, (b, a) => {\n        const loc = viewport(a);\n        return {\n          left: b.left + loc.left,\n          top: b.top + loc.top\n        };\n      }, {\n        left: 0,\n        top: 0\n      });\n      return SugarPosition(r.left + offset.left + scroll.left, r.top + offset.top + scroll.top);\n    };\n\n    const excludeFromDescend = element => name(element) === 'textarea';\n    const fireScrollIntoViewEvent = (editor, data) => {\n      const scrollEvent = editor.dispatch('ScrollIntoView', data);\n      return scrollEvent.isDefaultPrevented();\n    };\n    const fireAfterScrollIntoViewEvent = (editor, data) => {\n      editor.dispatch('AfterScrollIntoView', data);\n    };\n    const descend = (element, offset) => {\n      const children = children$1(element);\n      if (children.length === 0 || excludeFromDescend(element)) {\n        return {\n          element,\n          offset\n        };\n      } else if (offset < children.length && !excludeFromDescend(children[offset])) {\n        return {\n          element: children[offset],\n          offset: 0\n        };\n      } else {\n        const last = children[children.length - 1];\n        if (excludeFromDescend(last)) {\n          return {\n            element,\n            offset\n          };\n        } else {\n          if (name(last) === 'img') {\n            return {\n              element: last,\n              offset: 1\n            };\n          } else if (isText$b(last)) {\n            return {\n              element: last,\n              offset: get$3(last).length\n            };\n          } else {\n            return {\n              element: last,\n              offset: children$1(last).length\n            };\n          }\n        }\n      }\n    };\n    const markerInfo = (element, cleanupFun) => {\n      const pos = absolute(element);\n      const height = get$2(element);\n      return {\n        element,\n        bottom: pos.top + height,\n        height,\n        pos,\n        cleanup: cleanupFun\n      };\n    };\n    const createMarker$1 = (element, offset) => {\n      const startPoint = descend(element, offset);\n      const span = SugarElement.fromHtml('<span data-mce-bogus=\"all\" style=\"display: inline-block;\">' + ZWSP$1 + '<\/span>');\n      before$3(startPoint.element, span);\n      return markerInfo(span, () => remove$5(span));\n    };\n    const elementMarker = element => markerInfo(SugarElement.fromDom(element), noop);\n    const withMarker = (editor, f, rng, alignToTop) => {\n      preserveWith(editor, (_s, _e) => applyWithMarker(editor, f, rng, alignToTop), rng);\n    };\n    const withScrollEvents = (editor, doc, f, marker, alignToTop) => {\n      const data = {\n        elm: marker.element.dom,\n        alignToTop\n      };\n      if (fireScrollIntoViewEvent(editor, data)) {\n        return;\n      }\n      const scrollTop = get$5(doc).top;\n      f(editor, doc, scrollTop, marker, alignToTop);\n      fireAfterScrollIntoViewEvent(editor, data);\n    };\n    const applyWithMarker = (editor, f, rng, alignToTop) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const doc = SugarElement.fromDom(editor.getDoc());\n      reflow(body);\n      const marker = createMarker$1(SugarElement.fromDom(rng.startContainer), rng.startOffset);\n      withScrollEvents(editor, doc, f, marker, alignToTop);\n      marker.cleanup();\n    };\n    const withElement = (editor, element, f, alignToTop) => {\n      const doc = SugarElement.fromDom(editor.getDoc());\n      withScrollEvents(editor, doc, f, elementMarker(element), alignToTop);\n    };\n    const preserveWith = (editor, f, rng) => {\n      const startElement = rng.startContainer;\n      const startOffset = rng.startOffset;\n      const endElement = rng.endContainer;\n      const endOffset = rng.endOffset;\n      f(SugarElement.fromDom(startElement), SugarElement.fromDom(endElement));\n      const newRng = editor.dom.createRng();\n      newRng.setStart(startElement, startOffset);\n      newRng.setEnd(endElement, endOffset);\n      editor.selection.setRng(rng);\n    };\n    const scrollToMarker = (editor, marker, viewHeight, alignToTop, doc) => {\n      const pos = marker.pos;\n      if (alignToTop) {\n        to(pos.left, pos.top, doc);\n      } else {\n        const y = pos.top - viewHeight + marker.height;\n        to(-editor.getBody().getBoundingClientRect().left, y, doc);\n      }\n    };\n    const intoWindowIfNeeded = (editor, doc, scrollTop, viewHeight, marker, alignToTop) => {\n      const viewportBottom = viewHeight + scrollTop;\n      const markerTop = marker.pos.top;\n      const markerBottom = marker.bottom;\n      const largerThanViewport = markerBottom - markerTop >= viewHeight;\n      if (markerTop < scrollTop) {\n        scrollToMarker(editor, marker, viewHeight, alignToTop !== false, doc);\n      } else if (markerTop > viewportBottom) {\n        const align = largerThanViewport ? alignToTop !== false : alignToTop === true;\n        scrollToMarker(editor, marker, viewHeight, align, doc);\n      } else if (markerBottom > viewportBottom && !largerThanViewport) {\n        scrollToMarker(editor, marker, viewHeight, alignToTop === true, doc);\n      }\n    };\n    const intoWindow = (editor, doc, scrollTop, marker, alignToTop) => {\n      const viewHeight = defaultView(doc).dom.innerHeight;\n      intoWindowIfNeeded(editor, doc, scrollTop, viewHeight, marker, alignToTop);\n    };\n    const intoFrame = (editor, doc, scrollTop, marker, alignToTop) => {\n      const frameViewHeight = defaultView(doc).dom.innerHeight;\n      intoWindowIfNeeded(editor, doc, scrollTop, frameViewHeight, marker, alignToTop);\n      const op = find(marker.element);\n      const viewportBounds = getBounds(window);\n      if (op.top < viewportBounds.y) {\n        intoView(marker.element, alignToTop !== false);\n      } else if (op.top > viewportBounds.bottom) {\n        intoView(marker.element, alignToTop === true);\n      }\n    };\n    const rangeIntoWindow = (editor, rng, alignToTop) => withMarker(editor, intoWindow, rng, alignToTop);\n    const elementIntoWindow = (editor, element, alignToTop) => withElement(editor, element, intoWindow, alignToTop);\n    const rangeIntoFrame = (editor, rng, alignToTop) => withMarker(editor, intoFrame, rng, alignToTop);\n    const elementIntoFrame = (editor, element, alignToTop) => withElement(editor, element, intoFrame, alignToTop);\n    const scrollElementIntoView = (editor, element, alignToTop) => {\n      const scroller = editor.inline ? elementIntoWindow : elementIntoFrame;\n      scroller(editor, element, alignToTop);\n    };\n    const scrollRangeIntoView = (editor, rng, alignToTop) => {\n      const scroller = editor.inline ? rangeIntoWindow : rangeIntoFrame;\n      scroller(editor, rng, alignToTop);\n    };\n\n    const focus$1 = (element, preventScroll = false) => element.dom.focus({\n      preventScroll\n    });\n    const hasFocus$1 = element => {\n      const root = getRootNode(element).dom;\n      return element.dom === root.activeElement;\n    };\n    const active$1 = (root = getDocument()) => Optional.from(root.dom.activeElement).map(SugarElement.fromDom);\n    const search = element => active$1(getRootNode(element)).filter(e => element.dom.contains(e.dom));\n\n    const clamp$1 = (offset, element) => {\n      const max = isText$b(element) ? get$3(element).length : children$1(element).length + 1;\n      if (offset > max) {\n        return max;\n      } else if (offset < 0) {\n        return 0;\n      }\n      return offset;\n    };\n    const normalizeRng = rng => SimSelection.range(rng.start, clamp$1(rng.soffset, rng.start), rng.finish, clamp$1(rng.foffset, rng.finish));\n    const isOrContains = (root, elm) => !isRestrictedNode(elm.dom) && (contains(root, elm) || eq(root, elm));\n    const isRngInRoot = root => rng => isOrContains(root, rng.start) && isOrContains(root, rng.finish);\n    const shouldStore = editor => editor.inline || Env.browser.isFirefox();\n    const nativeRangeToSelectionRange = r => SimSelection.range(SugarElement.fromDom(r.startContainer), r.startOffset, SugarElement.fromDom(r.endContainer), r.endOffset);\n    const readRange = win => {\n      const selection = win.getSelection();\n      const rng = !selection || selection.rangeCount === 0 ? Optional.none() : Optional.from(selection.getRangeAt(0));\n      return rng.map(nativeRangeToSelectionRange);\n    };\n    const getBookmark = root => {\n      const win = defaultView(root);\n      return readRange(win.dom).filter(isRngInRoot(root));\n    };\n    const validate = (root, bookmark) => Optional.from(bookmark).filter(isRngInRoot(root)).map(normalizeRng);\n    const bookmarkToNativeRng = bookmark => {\n      const rng = document.createRange();\n      try {\n        rng.setStart(bookmark.start.dom, bookmark.soffset);\n        rng.setEnd(bookmark.finish.dom, bookmark.foffset);\n        return Optional.some(rng);\n      } catch (_) {\n        return Optional.none();\n      }\n    };\n    const store = editor => {\n      const newBookmark = shouldStore(editor) ? getBookmark(SugarElement.fromDom(editor.getBody())) : Optional.none();\n      editor.bookmark = newBookmark.isSome() ? newBookmark : editor.bookmark;\n    };\n    const getRng = editor => {\n      const bookmark = editor.bookmark ? editor.bookmark : Optional.none();\n      return bookmark.bind(x => validate(SugarElement.fromDom(editor.getBody()), x)).bind(bookmarkToNativeRng);\n    };\n    const restore = editor => {\n      getRng(editor).each(rng => editor.selection.setRng(rng));\n    };\n\n    const isEditorUIElement$1 = elm => {\n      const className = elm.className.toString();\n      return className.indexOf('tox-') !== -1 || className.indexOf('mce-') !== -1;\n    };\n    const FocusManager = {\n      isEditorUIElement: isEditorUIElement$1\n    };\n\n    const wrappedSetTimeout = (callback, time) => {\n      if (!isNumber(time)) {\n        time = 0;\n      }\n      return setTimeout(callback, time);\n    };\n    const wrappedSetInterval = (callback, time) => {\n      if (!isNumber(time)) {\n        time = 0;\n      }\n      return setInterval(callback, time);\n    };\n    const Delay = {\n      setEditorTimeout: (editor, callback, time) => {\n        return wrappedSetTimeout(() => {\n          if (!editor.removed) {\n            callback();\n          }\n        }, time);\n      },\n      setEditorInterval: (editor, callback, time) => {\n        const timer = wrappedSetInterval(() => {\n          if (!editor.removed) {\n            callback();\n          } else {\n            clearInterval(timer);\n          }\n        }, time);\n        return timer;\n      }\n    };\n\n    const isManualNodeChange = e => {\n      return e.type === 'nodechange' && e.selectionChange;\n    };\n    const registerPageMouseUp = (editor, throttledStore) => {\n      const mouseUpPage = () => {\n        throttledStore.throttle();\n      };\n      DOMUtils.DOM.bind(document, 'mouseup', mouseUpPage);\n      editor.on('remove', () => {\n        DOMUtils.DOM.unbind(document, 'mouseup', mouseUpPage);\n      });\n    };\n    const registerMouseUp = (editor, throttledStore) => {\n      editor.on('mouseup touchend', _e => {\n        throttledStore.throttle();\n      });\n    };\n    const registerEditorEvents = (editor, throttledStore) => {\n      registerMouseUp(editor, throttledStore);\n      editor.on('keyup NodeChange AfterSetSelectionRange', e => {\n        if (!isManualNodeChange(e)) {\n          store(editor);\n        }\n      });\n    };\n    const register$6 = editor => {\n      const throttledStore = first$1(() => {\n        store(editor);\n      }, 0);\n      editor.on('init', () => {\n        if (editor.inline) {\n          registerPageMouseUp(editor, throttledStore);\n        }\n        registerEditorEvents(editor, throttledStore);\n      });\n      editor.on('remove', () => {\n        throttledStore.cancel();\n      });\n    };\n\n    let documentFocusInHandler;\n    const DOM$9 = DOMUtils.DOM;\n    const isEditorUIElement = elm => {\n      return isElement$6(elm) && FocusManager.isEditorUIElement(elm);\n    };\n    const isEditorContentAreaElement = elm => {\n      const classList = elm.classList;\n      if (classList !== undefined) {\n        return classList.contains('tox-edit-area') || classList.contains('tox-edit-area__iframe') || classList.contains('mce-content-body');\n      } else {\n        return false;\n      }\n    };\n    const isUIElement = (editor, elm) => {\n      const customSelector = getCustomUiSelector(editor);\n      const parent = DOM$9.getParent(elm, elm => {\n        return isEditorUIElement(elm) || (customSelector ? editor.dom.is(elm, customSelector) : false);\n      });\n      return parent !== null;\n    };\n    const getActiveElement = editor => {\n      try {\n        const root = getRootNode(SugarElement.fromDom(editor.getElement()));\n        return active$1(root).fold(() => document.body, x => x.dom);\n      } catch (ex) {\n        return document.body;\n      }\n    };\n    const registerEvents$1 = (editorManager, e) => {\n      const editor = e.editor;\n      register$6(editor);\n      const toggleContentAreaOnFocus = (editor, fn) => {\n        if (shouldHighlightOnFocus(editor) && editor.inline !== true) {\n          const contentArea = SugarElement.fromDom(editor.getContainer());\n          fn(contentArea, 'tox-edit-focus');\n        }\n      };\n      editor.on('focusin', () => {\n        const focusedEditor = editorManager.focusedEditor;\n        if (isEditorContentAreaElement(getActiveElement(editor))) {\n          toggleContentAreaOnFocus(editor, add$2);\n        }\n        if (focusedEditor !== editor) {\n          if (focusedEditor) {\n            focusedEditor.dispatch('blur', {\n              focusedEditor: editor\n            });\n          }\n          editorManager.setActive(editor);\n          editorManager.focusedEditor = editor;\n          editor.dispatch('focus', {\n            blurredEditor: focusedEditor\n          });\n          editor.focus(true);\n        }\n      });\n      editor.on('focusout', () => {\n        Delay.setEditorTimeout(editor, () => {\n          const focusedEditor = editorManager.focusedEditor;\n          if (!isEditorContentAreaElement(getActiveElement(editor)) || focusedEditor !== editor) {\n            toggleContentAreaOnFocus(editor, remove$7);\n          }\n          if (!isUIElement(editor, getActiveElement(editor)) && focusedEditor === editor) {\n            editor.dispatch('blur', {\n              focusedEditor: null\n            });\n            editorManager.focusedEditor = null;\n          }\n        });\n      });\n      if (!documentFocusInHandler) {\n        documentFocusInHandler = e => {\n          const activeEditor = editorManager.activeEditor;\n          if (activeEditor) {\n            getOriginalEventTarget(e).each(target => {\n              const elem = target;\n              if (elem.ownerDocument === document) {\n                if (elem !== document.body && !isUIElement(activeEditor, elem) && editorManager.focusedEditor === activeEditor) {\n                  activeEditor.dispatch('blur', {\n                    focusedEditor: null\n                  });\n                  editorManager.focusedEditor = null;\n                }\n              }\n            });\n          }\n        };\n        DOM$9.bind(document, 'focusin', documentFocusInHandler);\n      }\n    };\n    const unregisterDocumentEvents = (editorManager, e) => {\n      if (editorManager.focusedEditor === e.editor) {\n        editorManager.focusedEditor = null;\n      }\n      if (!editorManager.activeEditor && documentFocusInHandler) {\n        DOM$9.unbind(document, 'focusin', documentFocusInHandler);\n        documentFocusInHandler = null;\n      }\n    };\n    const setup$w = editorManager => {\n      editorManager.on('AddEditor', curry(registerEvents$1, editorManager));\n      editorManager.on('RemoveEditor', curry(unregisterDocumentEvents, editorManager));\n    };\n\n    const getContentEditableHost = (editor, node) => editor.dom.getParent(node, node => editor.dom.getContentEditable(node) === 'true');\n    const getCollapsedNode = rng => rng.collapsed ? Optional.from(getNode$1(rng.startContainer, rng.startOffset)).map(SugarElement.fromDom) : Optional.none();\n    const getFocusInElement = (root, rng) => getCollapsedNode(rng).bind(node => {\n      if (isTableSection(node)) {\n        return Optional.some(node);\n      } else if (!contains(root, node)) {\n        return Optional.some(root);\n      } else {\n        return Optional.none();\n      }\n    });\n    const normalizeSelection = (editor, rng) => {\n      getFocusInElement(SugarElement.fromDom(editor.getBody()), rng).bind(elm => {\n        return firstPositionIn(elm.dom);\n      }).fold(() => {\n        editor.selection.normalize();\n      }, caretPos => editor.selection.setRng(caretPos.toRange()));\n    };\n    const focusBody = body => {\n      if (body.setActive) {\n        try {\n          body.setActive();\n        } catch (ex) {\n          body.focus();\n        }\n      } else {\n        body.focus();\n      }\n    };\n    const hasElementFocus = elm => hasFocus$1(elm) || search(elm).isSome();\n    const hasIframeFocus = editor => isNonNullable(editor.iframeElement) && hasFocus$1(SugarElement.fromDom(editor.iframeElement));\n    const hasInlineFocus = editor => {\n      const rawBody = editor.getBody();\n      return rawBody && hasElementFocus(SugarElement.fromDom(rawBody));\n    };\n    const hasUiFocus = editor => {\n      const dos = getRootNode(SugarElement.fromDom(editor.getElement()));\n      return active$1(dos).filter(elem => !isEditorContentAreaElement(elem.dom) && isUIElement(editor, elem.dom)).isSome();\n    };\n    const hasFocus = editor => editor.inline ? hasInlineFocus(editor) : hasIframeFocus(editor);\n    const hasEditorOrUiFocus = editor => hasFocus(editor) || hasUiFocus(editor);\n    const focusEditor = editor => {\n      const selection = editor.selection;\n      const body = editor.getBody();\n      let rng = selection.getRng();\n      editor.quirks.refreshContentEditable();\n      if (isNonNullable(editor.bookmark) && !hasFocus(editor)) {\n        getRng(editor).each(bookmarkRng => {\n          editor.selection.setRng(bookmarkRng);\n          rng = bookmarkRng;\n        });\n      }\n      const contentEditableHost = getContentEditableHost(editor, selection.getNode());\n      if (contentEditableHost && editor.dom.isChildOf(contentEditableHost, body)) {\n        focusBody(contentEditableHost);\n        normalizeSelection(editor, rng);\n        activateEditor(editor);\n        return;\n      }\n      if (!editor.inline) {\n        if (!Env.browser.isOpera()) {\n          focusBody(body);\n        }\n        editor.getWin().focus();\n      }\n      if (Env.browser.isFirefox() || editor.inline) {\n        focusBody(body);\n        normalizeSelection(editor, rng);\n      }\n      activateEditor(editor);\n    };\n    const activateEditor = editor => editor.editorManager.setActive(editor);\n    const focus = (editor, skipFocus) => {\n      if (editor.removed) {\n        return;\n      }\n      if (skipFocus) {\n        activateEditor(editor);\n      } else {\n        focusEditor(editor);\n      }\n    };\n\n    const isEditableRange = (dom, rng) => {\n      if (rng.collapsed) {\n        return dom.isEditable(rng.startContainer);\n      } else {\n        return dom.isEditable(rng.startContainer) && dom.isEditable(rng.endContainer);\n      }\n    };\n\n    const getEndpointElement = (root, rng, start, real, resolve) => {\n      const container = start ? rng.startContainer : rng.endContainer;\n      const offset = start ? rng.startOffset : rng.endOffset;\n      return Optional.from(container).map(SugarElement.fromDom).map(elm => !real || !rng.collapsed ? child$1(elm, resolve(elm, offset)).getOr(elm) : elm).bind(elm => isElement$7(elm) ? Optional.some(elm) : parent(elm).filter(isElement$7)).map(elm => elm.dom).getOr(root);\n    };\n    const getStart = (root, rng, real = false) => getEndpointElement(root, rng, true, real, (elm, offset) => Math.min(childNodesCount(elm), offset));\n    const getEnd$1 = (root, rng, real = false) => getEndpointElement(root, rng, false, real, (elm, offset) => offset > 0 ? offset - 1 : offset);\n    const skipEmptyTextNodes = (node, forwards) => {\n      const orig = node;\n      while (node && isText$a(node) && node.length === 0) {\n        node = forwards ? node.nextSibling : node.previousSibling;\n      }\n      return node || orig;\n    };\n    const getNode = (root, rng) => {\n      if (!rng) {\n        return root;\n      }\n      let startContainer = rng.startContainer;\n      let endContainer = rng.endContainer;\n      const startOffset = rng.startOffset;\n      const endOffset = rng.endOffset;\n      let node = rng.commonAncestorContainer;\n      if (!rng.collapsed) {\n        if (startContainer === endContainer) {\n          if (endOffset - startOffset < 2) {\n            if (startContainer.hasChildNodes()) {\n              node = startContainer.childNodes[startOffset];\n            }\n          }\n        }\n        if (isText$a(startContainer) && isText$a(endContainer)) {\n          if (startContainer.length === startOffset) {\n            startContainer = skipEmptyTextNodes(startContainer.nextSibling, true);\n          } else {\n            startContainer = startContainer.parentNode;\n          }\n          if (endOffset === 0) {\n            endContainer = skipEmptyTextNodes(endContainer.previousSibling, false);\n          } else {\n            endContainer = endContainer.parentNode;\n          }\n          if (startContainer && startContainer === endContainer) {\n            node = startContainer;\n          }\n        }\n      }\n      const elm = isText$a(node) ? node.parentNode : node;\n      return isHTMLElement(elm) ? elm : root;\n    };\n    const getSelectedBlocks = (dom, rng, startElm, endElm) => {\n      const selectedBlocks = [];\n      const root = dom.getRoot();\n      const start = dom.getParent(startElm || getStart(root, rng, rng.collapsed), dom.isBlock);\n      const end = dom.getParent(endElm || getEnd$1(root, rng, rng.collapsed), dom.isBlock);\n      if (start && start !== root) {\n        selectedBlocks.push(start);\n      }\n      if (start && end && start !== end) {\n        let node;\n        const walker = new DomTreeWalker(start, root);\n        while ((node = walker.next()) && node !== end) {\n          if (dom.isBlock(node)) {\n            selectedBlocks.push(node);\n          }\n        }\n      }\n      if (end && start !== end && end !== root) {\n        selectedBlocks.push(end);\n      }\n      return selectedBlocks;\n    };\n    const select = (dom, node, content) => Optional.from(node).bind(node => Optional.from(node.parentNode).map(parent => {\n      const idx = dom.nodeIndex(node);\n      const rng = dom.createRng();\n      rng.setStart(parent, idx);\n      rng.setEnd(parent, idx + 1);\n      if (content) {\n        moveEndPoint(dom, rng, node, true);\n        moveEndPoint(dom, rng, node, false);\n      }\n      return rng;\n    }));\n\n    const processRanges = (editor, ranges) => map$3(ranges, range => {\n      const evt = editor.dispatch('GetSelectionRange', {\n        range\n      });\n      return evt.range !== range ? evt.range : range;\n    });\n\n    const getEnd = element => name(element) === 'img' ? 1 : getOption(element).fold(() => children$1(element).length, v => v.length);\n    const isTextNodeWithCursorPosition = el => getOption(el).filter(text => text.trim().length !== 0 || text.indexOf(nbsp) > -1).isSome();\n    const isContentEditableFalse$5 = elem => isHTMLElement$1(elem) && get$9(elem, 'contenteditable') === 'false';\n    const elementsWithCursorPosition = ['img', 'br'];\n    const isCursorPosition = elem => {\n      const hasCursorPosition = isTextNodeWithCursorPosition(elem);\n      return hasCursorPosition || contains$2(elementsWithCursorPosition, name(elem)) || isContentEditableFalse$5(elem);\n    };\n\n    const first = element => descendant$2(element, isCursorPosition);\n    const last = element => descendantRtl(element, isCursorPosition);\n    const descendantRtl = (scope, predicate) => {\n      const descend = element => {\n        const children = children$1(element);\n        for (let i = children.length - 1; i >= 0; i--) {\n          const child = children[i];\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(child);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope);\n    };\n\n    const autocompleteSelector = '[data-mce-autocompleter]';\n    const create$9 = (editor, range) => {\n      if (findIn(SugarElement.fromDom(editor.getBody())).isNone()) {\n        const wrapper = SugarElement.fromHtml('<span data-mce-autocompleter=\"1\" data-mce-bogus=\"1\"><\/span>', editor.getDoc());\n        append$1(wrapper, SugarElement.fromDom(range.extractContents()));\n        range.insertNode(wrapper.dom);\n        parent(wrapper).each(elm => elm.dom.normalize());\n        last(wrapper).map(last => {\n          editor.selection.setCursorLocation(last.dom, getEnd(last));\n        });\n      }\n    };\n    const detect$1 = elm => closest$3(elm, autocompleteSelector);\n    const findIn = elm => descendant$1(elm, autocompleteSelector);\n    const remove$2 = (editor, elm) => findIn(elm).each(wrapper => {\n      const bookmark = editor.selection.getBookmark();\n      unwrap(wrapper);\n      editor.selection.moveToBookmark(bookmark);\n    });\n\n    const typeLookup = {\n      '#text': 3,\n      '#comment': 8,\n      '#cdata': 4,\n      '#pi': 7,\n      '#doctype': 10,\n      '#document-fragment': 11\n    };\n    const walk$2 = (node, root, prev) => {\n      const startName = prev ? 'lastChild' : 'firstChild';\n      const siblingName = prev ? 'prev' : 'next';\n      if (node[startName]) {\n        return node[startName];\n      }\n      if (node !== root) {\n        let sibling = node[siblingName];\n        if (sibling) {\n          return sibling;\n        }\n        for (let parent = node.parent; parent && parent !== root; parent = parent.parent) {\n          sibling = parent[siblingName];\n          if (sibling) {\n            return sibling;\n          }\n        }\n      }\n      return undefined;\n    };\n    const isEmptyTextNode = node => {\n      var _a;\n      const text = (_a = node.value) !== null && _a !== void 0 ? _a : '';\n      if (!isWhitespaceText(text)) {\n        return false;\n      }\n      const parentNode = node.parent;\n      if (parentNode && (parentNode.name !== 'span' || parentNode.attr('style')) && /^[ ]+$/.test(text)) {\n        return false;\n      }\n      return true;\n    };\n    const isNonEmptyElement = node => {\n      const isNamedAnchor = node.name === 'a' && !node.attr('href') && node.attr('id');\n      return node.attr('name') || node.attr('id') && !node.firstChild || node.attr('data-mce-bookmark') || isNamedAnchor;\n    };\n    class AstNode {\n      static create(name, attrs) {\n        const node = new AstNode(name, typeLookup[name] || 1);\n        if (attrs) {\n          each$d(attrs, (value, attrName) => {\n            node.attr(attrName, value);\n          });\n        }\n        return node;\n      }\n      constructor(name, type) {\n        this.name = name;\n        this.type = type;\n        if (type === 1) {\n          this.attributes = [];\n          this.attributes.map = {};\n        }\n      }\n      replace(node) {\n        const self = this;\n        if (node.parent) {\n          node.remove();\n        }\n        self.insert(node, self);\n        self.remove();\n        return self;\n      }\n      attr(name, value) {\n        const self = this;\n        if (!isString(name)) {\n          if (isNonNullable(name)) {\n            each$d(name, (value, key) => {\n              self.attr(key, value);\n            });\n          }\n          return self;\n        }\n        const attrs = self.attributes;\n        if (attrs) {\n          if (value !== undefined) {\n            if (value === null) {\n              if (name in attrs.map) {\n                delete attrs.map[name];\n                let i = attrs.length;\n                while (i--) {\n                  if (attrs[i].name === name) {\n                    attrs.splice(i, 1);\n                    return self;\n                  }\n                }\n              }\n              return self;\n            }\n            if (name in attrs.map) {\n              let i = attrs.length;\n              while (i--) {\n                if (attrs[i].name === name) {\n                  attrs[i].value = value;\n                  break;\n                }\n              }\n            } else {\n              attrs.push({\n                name,\n                value\n              });\n            }\n            attrs.map[name] = value;\n            return self;\n          }\n          return attrs.map[name];\n        }\n        return undefined;\n      }\n      clone() {\n        const self = this;\n        const clone = new AstNode(self.name, self.type);\n        const selfAttrs = self.attributes;\n        if (selfAttrs) {\n          const cloneAttrs = [];\n          cloneAttrs.map = {};\n          for (let i = 0, l = selfAttrs.length; i < l; i++) {\n            const selfAttr = selfAttrs[i];\n            if (selfAttr.name !== 'id') {\n              cloneAttrs[cloneAttrs.length] = {\n                name: selfAttr.name,\n                value: selfAttr.value\n              };\n              cloneAttrs.map[selfAttr.name] = selfAttr.value;\n            }\n          }\n          clone.attributes = cloneAttrs;\n        }\n        clone.value = self.value;\n        return clone;\n      }\n      wrap(wrapper) {\n        const self = this;\n        if (self.parent) {\n          self.parent.insert(wrapper, self);\n          wrapper.append(self);\n        }\n        return self;\n      }\n      unwrap() {\n        const self = this;\n        for (let node = self.firstChild; node;) {\n          const next = node.next;\n          self.insert(node, self, true);\n          node = next;\n        }\n        self.remove();\n      }\n      remove() {\n        const self = this,\n          parent = self.parent,\n          next = self.next,\n          prev = self.prev;\n        if (parent) {\n          if (parent.firstChild === self) {\n            parent.firstChild = next;\n            if (next) {\n              next.prev = null;\n            }\n          } else if (prev) {\n            prev.next = next;\n          }\n          if (parent.lastChild === self) {\n            parent.lastChild = prev;\n            if (prev) {\n              prev.next = null;\n            }\n          } else if (next) {\n            next.prev = prev;\n          }\n          self.parent = self.next = self.prev = null;\n        }\n        return self;\n      }\n      append(node) {\n        const self = this;\n        if (node.parent) {\n          node.remove();\n        }\n        const last = self.lastChild;\n        if (last) {\n          last.next = node;\n          node.prev = last;\n          self.lastChild = node;\n        } else {\n          self.lastChild = self.firstChild = node;\n        }\n        node.parent = self;\n        return node;\n      }\n      insert(node, refNode, before) {\n        if (node.parent) {\n          node.remove();\n        }\n        const parent = refNode.parent || this;\n        if (before) {\n          if (refNode === parent.firstChild) {\n            parent.firstChild = node;\n          } else if (refNode.prev) {\n            refNode.prev.next = node;\n          }\n          node.prev = refNode.prev;\n          node.next = refNode;\n          refNode.prev = node;\n        } else {\n          if (refNode === parent.lastChild) {\n            parent.lastChild = node;\n          } else if (refNode.next) {\n            refNode.next.prev = node;\n          }\n          node.next = refNode.next;\n          node.prev = refNode;\n          refNode.next = node;\n        }\n        node.parent = parent;\n        return node;\n      }\n      getAll(name) {\n        const self = this;\n        const collection = [];\n        for (let node = self.firstChild; node; node = walk$2(node, self)) {\n          if (node.name === name) {\n            collection.push(node);\n          }\n        }\n        return collection;\n      }\n      children() {\n        const self = this;\n        const collection = [];\n        for (let node = self.firstChild; node; node = node.next) {\n          collection.push(node);\n        }\n        return collection;\n      }\n      empty() {\n        const self = this;\n        if (self.firstChild) {\n          const nodes = [];\n          for (let node = self.firstChild; node; node = walk$2(node, self)) {\n            nodes.push(node);\n          }\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            node.parent = node.firstChild = node.lastChild = node.next = node.prev = null;\n          }\n        }\n        self.firstChild = self.lastChild = null;\n        return self;\n      }\n      isEmpty(elements, whitespace = {}, predicate) {\n        var _a;\n        const self = this;\n        let node = self.firstChild;\n        if (isNonEmptyElement(self)) {\n          return false;\n        }\n        if (node) {\n          do {\n            if (node.type === 1) {\n              if (node.attr('data-mce-bogus')) {\n                continue;\n              }\n              if (elements[node.name]) {\n                return false;\n              }\n              if (isNonEmptyElement(node)) {\n                return false;\n              }\n            }\n            if (node.type === 8) {\n              return false;\n            }\n            if (node.type === 3 && !isEmptyTextNode(node)) {\n              return false;\n            }\n            if (node.type === 3 && node.parent && whitespace[node.parent.name] && isWhitespaceText((_a = node.value) !== null && _a !== void 0 ? _a : '')) {\n              return false;\n            }\n            if (predicate && predicate(node)) {\n              return false;\n            }\n          } while (node = walk$2(node, self));\n        }\n        return true;\n      }\n      walk(prev) {\n        return walk$2(this, null, prev);\n      }\n    }\n\n    const unescapedTextParents = Tools.makeMap('NOSCRIPT STYLE SCRIPT XMP IFRAME NOEMBED NOFRAMES PLAINTEXT', ' ');\n    const containsZwsp = node => isString(node.nodeValue) && node.nodeValue.includes(ZWSP$1);\n    const getTemporaryNodeSelector = tempAttrs => \"\".concat(tempAttrs.length === 0 ? '' : \"\".concat(map$3(tempAttrs, attr => \"[\".concat(attr, \"]\")).join(','), \",\"), \"[data-mce-bogus=\\\"all\\\"]\");\n    const getTemporaryNodes = (tempAttrs, body) => body.querySelectorAll(getTemporaryNodeSelector(tempAttrs));\n    const createZwspCommentWalker = body => document.createTreeWalker(body, NodeFilter.SHOW_COMMENT, node => containsZwsp(node) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP);\n    const createUnescapedZwspTextWalker = body => document.createTreeWalker(body, NodeFilter.SHOW_TEXT, node => {\n      if (containsZwsp(node)) {\n        const parent = node.parentNode;\n        return parent && has$2(unescapedTextParents, parent.nodeName) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n      } else {\n        return NodeFilter.FILTER_SKIP;\n      }\n    });\n    const hasZwspComment = body => createZwspCommentWalker(body).nextNode() !== null;\n    const hasUnescapedZwspText = body => createUnescapedZwspTextWalker(body).nextNode() !== null;\n    const hasTemporaryNode = (tempAttrs, body) => body.querySelector(getTemporaryNodeSelector(tempAttrs)) !== null;\n    const trimTemporaryNodes = (tempAttrs, body) => {\n      each$e(getTemporaryNodes(tempAttrs, body), elm => {\n        const element = SugarElement.fromDom(elm);\n        if (get$9(element, 'data-mce-bogus') === 'all') {\n          remove$5(element);\n        } else {\n          each$e(tempAttrs, attr => {\n            if (has$1(element, attr)) {\n              remove$a(element, attr);\n            }\n          });\n        }\n      });\n    };\n    const emptyAllNodeValuesInWalker = walker => {\n      let curr = walker.nextNode();\n      while (curr !== null) {\n        curr.nodeValue = null;\n        curr = walker.nextNode();\n      }\n    };\n    const emptyZwspComments = compose(emptyAllNodeValuesInWalker, createZwspCommentWalker);\n    const emptyUnescapedZwspTexts = compose(emptyAllNodeValuesInWalker, createUnescapedZwspTextWalker);\n    const trim$1 = (body, tempAttrs) => {\n      const conditionalTrims = [{\n        condition: curry(hasTemporaryNode, tempAttrs),\n        action: curry(trimTemporaryNodes, tempAttrs)\n      }, {\n        condition: hasZwspComment,\n        action: emptyZwspComments\n      }, {\n        condition: hasUnescapedZwspText,\n        action: emptyUnescapedZwspTexts\n      }];\n      let trimmed = body;\n      let cloned = false;\n      each$e(conditionalTrims, ({\n        condition,\n        action\n      }) => {\n        if (condition(trimmed)) {\n          if (!cloned) {\n            trimmed = body.cloneNode(true);\n            cloned = true;\n          }\n          action(trimmed);\n        }\n      });\n      return trimmed;\n    };\n\n    const cleanupBogusElements = parent => {\n      const bogusElements = descendants(parent, '[data-mce-bogus]');\n      each$e(bogusElements, elem => {\n        const bogusValue = get$9(elem, 'data-mce-bogus');\n        if (bogusValue === 'all') {\n          remove$5(elem);\n        } else if (isBr$5(elem)) {\n          before$3(elem, SugarElement.fromText(zeroWidth));\n          remove$5(elem);\n        } else {\n          unwrap(elem);\n        }\n      });\n    };\n    const cleanupInputNames = parent => {\n      const inputs = descendants(parent, 'input');\n      each$e(inputs, input => {\n        remove$a(input, 'name');\n      });\n    };\n\n    const trimEmptyContents = (editor, html) => {\n      const blockName = getForcedRootBlock(editor);\n      const emptyRegExp = new RegExp(\"^(<\".concat(blockName, \"[^>]*>(&nbsp;|&#160;|\\\\s|\\xA0|<br \\\\/>|)<\\\\/\").concat(blockName, \">[\\r\\n]*|<br \\\\/>[\\r\\n]*)$\"));\n      return html.replace(emptyRegExp, '');\n    };\n    const getPlainTextContent = (editor, body) => {\n      const doc = editor.getDoc();\n      const dos = getRootNode(SugarElement.fromDom(editor.getBody()));\n      const offscreenDiv = SugarElement.fromTag('div', doc);\n      set$3(offscreenDiv, 'data-mce-bogus', 'all');\n      setAll(offscreenDiv, {\n        position: 'fixed',\n        left: '-9999999px',\n        top: '0'\n      });\n      set$1(offscreenDiv, body.innerHTML);\n      cleanupBogusElements(offscreenDiv);\n      cleanupInputNames(offscreenDiv);\n      const root = getContentContainer(dos);\n      append$1(root, offscreenDiv);\n      const content = trim$2(offscreenDiv.dom.innerText);\n      remove$5(offscreenDiv);\n      return content;\n    };\n    const getContentFromBody = (editor, args, body) => {\n      let content;\n      if (args.format === 'raw') {\n        content = Tools.trim(trim$2(trim$1(body, editor.serializer.getTempAttrs()).innerHTML));\n      } else if (args.format === 'text') {\n        content = getPlainTextContent(editor, body);\n      } else if (args.format === 'tree') {\n        content = editor.serializer.serialize(body, args);\n      } else {\n        content = trimEmptyContents(editor, editor.serializer.serialize(body, args));\n      }\n      const shouldTrim = args.format !== 'text' && !isWsPreserveElement(SugarElement.fromDom(body));\n      return shouldTrim && isString(content) ? Tools.trim(content) : content;\n    };\n    const getContentInternal = (editor, args) => Optional.from(editor.getBody()).fold(constant(args.format === 'tree' ? new AstNode('body', 11) : ''), body => getContentFromBody(editor, args, body));\n\n    const makeMap$1 = Tools.makeMap;\n    const Writer = settings => {\n      const html = [];\n      settings = settings || {};\n      const indent = settings.indent;\n      const indentBefore = makeMap$1(settings.indent_before || '');\n      const indentAfter = makeMap$1(settings.indent_after || '');\n      const encode = Entities.getEncodeFunc(settings.entity_encoding || 'raw', settings.entities);\n      const htmlOutput = settings.element_format !== 'xhtml';\n      return {\n        start: (name, attrs, empty) => {\n          if (indent && indentBefore[name] && html.length > 0) {\n            const value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n          html.push('<', name);\n          if (attrs) {\n            for (let i = 0, l = attrs.length; i < l; i++) {\n              const attr = attrs[i];\n              html.push(' ', attr.name, '=\"', encode(attr.value, true), '\"');\n            }\n          }\n          if (!empty || htmlOutput) {\n            html[html.length] = '>';\n          } else {\n            html[html.length] = ' />';\n          }\n          if (empty && indent && indentAfter[name] && html.length > 0) {\n            const value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n        },\n        end: name => {\n          let value;\n          html.push('<\/', name, '>');\n          if (indent && indentAfter[name] && html.length > 0) {\n            value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n        },\n        text: (text, raw) => {\n          if (text.length > 0) {\n            html[html.length] = raw ? text : encode(text);\n          }\n        },\n        cdata: text => {\n          html.push('<![CDATA[', text, ']]>');\n        },\n        comment: text => {\n          html.push('<!--', text, '-->');\n        },\n        pi: (name, text) => {\n          if (text) {\n            html.push('<?', name, ' ', encode(text), '?>');\n          } else {\n            html.push('<?', name, '?>');\n          }\n          if (indent) {\n            html.push('\\n');\n          }\n        },\n        doctype: text => {\n          html.push('<!DOCTYPE', text, '>', indent ? '\\n' : '');\n        },\n        reset: () => {\n          html.length = 0;\n        },\n        getContent: () => {\n          return html.join('').replace(/\\n$/, '');\n        }\n      };\n    };\n\n    const HtmlSerializer = (settings = {}, schema = Schema()) => {\n      const writer = Writer(settings);\n      settings.validate = 'validate' in settings ? settings.validate : true;\n      const serialize = node => {\n        const validate = settings.validate;\n        const handlers = {\n          3: node => {\n            var _a;\n            writer.text((_a = node.value) !== null && _a !== void 0 ? _a : '', node.raw);\n          },\n          8: node => {\n            var _a;\n            writer.comment((_a = node.value) !== null && _a !== void 0 ? _a : '');\n          },\n          7: node => {\n            writer.pi(node.name, node.value);\n          },\n          10: node => {\n            var _a;\n            writer.doctype((_a = node.value) !== null && _a !== void 0 ? _a : '');\n          },\n          4: node => {\n            var _a;\n            writer.cdata((_a = node.value) !== null && _a !== void 0 ? _a : '');\n          },\n          11: node => {\n            let tempNode = node;\n            if (tempNode = tempNode.firstChild) {\n              do {\n                walk(tempNode);\n              } while (tempNode = tempNode.next);\n            }\n          }\n        };\n        writer.reset();\n        const walk = node => {\n          var _a;\n          const handler = handlers[node.type];\n          if (!handler) {\n            const name = node.name;\n            const isEmpty = (name in schema.getVoidElements());\n            let attrs = node.attributes;\n            if (validate && attrs && attrs.length > 1) {\n              const sortedAttrs = [];\n              sortedAttrs.map = {};\n              const elementRule = schema.getElementRule(node.name);\n              if (elementRule) {\n                for (let i = 0, l = elementRule.attributesOrder.length; i < l; i++) {\n                  const attrName = elementRule.attributesOrder[i];\n                  if (attrName in attrs.map) {\n                    const attrValue = attrs.map[attrName];\n                    sortedAttrs.map[attrName] = attrValue;\n                    sortedAttrs.push({\n                      name: attrName,\n                      value: attrValue\n                    });\n                  }\n                }\n                for (let i = 0, l = attrs.length; i < l; i++) {\n                  const attrName = attrs[i].name;\n                  if (!(attrName in sortedAttrs.map)) {\n                    const attrValue = attrs.map[attrName];\n                    sortedAttrs.map[attrName] = attrValue;\n                    sortedAttrs.push({\n                      name: attrName,\n                      value: attrValue\n                    });\n                  }\n                }\n                attrs = sortedAttrs;\n              }\n            }\n            writer.start(name, attrs, isEmpty);\n            if (isNonHtmlElementRootName(name)) {\n              if (isString(node.value)) {\n                writer.text(node.value, true);\n              }\n              writer.end(name);\n            } else {\n              if (!isEmpty) {\n                let child = node.firstChild;\n                if (child) {\n                  if ((name === 'pre' || name === 'textarea') && child.type === 3 && ((_a = child.value) === null || _a === void 0 ? void 0 : _a[0]) === '\\n') {\n                    writer.text('\\n', true);\n                  }\n                  do {\n                    walk(child);\n                  } while (child = child.next);\n                }\n                writer.end(name);\n              }\n            }\n          } else {\n            handler(node);\n          }\n        };\n        if (node.type === 1 && !settings.inner) {\n          walk(node);\n        } else if (node.type === 3) {\n          handlers[3](node);\n        } else {\n          handlers[11](node);\n        }\n        return writer.getContent();\n      };\n      return {\n        serialize\n      };\n    };\n\n    const nonInheritableStyles = new Set();\n    (() => {\n      const nonInheritableStylesArr = ['margin', 'margin-left', 'margin-right', 'margin-top', 'margin-bottom', 'padding', 'padding-left', 'padding-right', 'padding-top', 'padding-bottom', 'border', 'border-width', 'border-style', 'border-color', 'background', 'background-attachment', 'background-clip', 'background-color', 'background-image', 'background-origin', 'background-position', 'background-repeat', 'background-size', 'float', 'position', 'left', 'right', 'top', 'bottom', 'z-index', 'display', 'transform', 'width', 'max-width', 'min-width', 'height', 'max-height', 'min-height', 'overflow', 'overflow-x', 'overflow-y', 'text-overflow', 'vertical-align', 'transition', 'transition-delay', 'transition-duration', 'transition-property', 'transition-timing-function'];\n      each$e(nonInheritableStylesArr, style => {\n        nonInheritableStyles.add(style);\n      });\n    })();\n    const shorthandStyleProps = ['font', 'text-decoration', 'text-emphasis'];\n    const getStyleProps = (dom, node) => keys(dom.parseStyle(dom.getAttrib(node, 'style')));\n    const isNonInheritableStyle = style => nonInheritableStyles.has(style);\n    const hasInheritableStyles = (dom, node) => forall(getStyleProps(dom, node), style => !isNonInheritableStyle(style));\n    const getLonghandStyleProps = styles => filter$5(styles, style => exists(shorthandStyleProps, prop => startsWith(style, prop)));\n    const hasStyleConflict = (dom, node, parentNode) => {\n      const nodeStyleProps = getStyleProps(dom, node);\n      const parentNodeStyleProps = getStyleProps(dom, parentNode);\n      const valueMismatch = prop => {\n        var _a, _b;\n        const nodeValue = (_a = dom.getStyle(node, prop)) !== null && _a !== void 0 ? _a : '';\n        const parentValue = (_b = dom.getStyle(parentNode, prop)) !== null && _b !== void 0 ? _b : '';\n        return isNotEmpty(nodeValue) && isNotEmpty(parentValue) && nodeValue !== parentValue;\n      };\n      return exists(nodeStyleProps, nodeStyleProp => {\n        const propExists = props => exists(props, prop => prop === nodeStyleProp);\n        if (!propExists(parentNodeStyleProps) && propExists(shorthandStyleProps)) {\n          const longhandProps = getLonghandStyleProps(parentNodeStyleProps);\n          return exists(longhandProps, valueMismatch);\n        } else {\n          return valueMismatch(nodeStyleProp);\n        }\n      });\n    };\n\n    const isChar = (forward, predicate, pos) => Optional.from(pos.container()).filter(isText$a).exists(text => {\n      const delta = forward ? 0 : -1;\n      return predicate(text.data.charAt(pos.offset() + delta));\n    });\n    const isBeforeSpace = curry(isChar, true, isWhiteSpace);\n    const isAfterSpace = curry(isChar, false, isWhiteSpace);\n    const isEmptyText = pos => {\n      const container = pos.container();\n      return isText$a(container) && (container.data.length === 0 || isZwsp$1(container.data) && BookmarkManager.isBookmarkNode(container.parentNode));\n    };\n    const matchesElementPosition = (before, predicate) => pos => getChildNodeAtRelativeOffset(before ? 0 : -1, pos).filter(predicate).isSome();\n    const isImageBlock = node => isImg(node) && get$7(SugarElement.fromDom(node), 'display') === 'block';\n    const isCefNode = node => isContentEditableFalse$b(node) && !isBogusAll$1(node);\n    const isBeforeImageBlock = matchesElementPosition(true, isImageBlock);\n    const isAfterImageBlock = matchesElementPosition(false, isImageBlock);\n    const isBeforeMedia = matchesElementPosition(true, isMedia$2);\n    const isAfterMedia = matchesElementPosition(false, isMedia$2);\n    const isBeforeTable = matchesElementPosition(true, isTable$2);\n    const isAfterTable = matchesElementPosition(false, isTable$2);\n    const isBeforeContentEditableFalse = matchesElementPosition(true, isCefNode);\n    const isAfterContentEditableFalse = matchesElementPosition(false, isCefNode);\n\n    const dropLast = xs => xs.slice(0, -1);\n    const parentsUntil = (start, root, predicate) => {\n      if (contains(root, start)) {\n        return dropLast(parents$1(start, elm => {\n          return predicate(elm) || eq(elm, root);\n        }));\n      } else {\n        return [];\n      }\n    };\n    const parents = (start, root) => parentsUntil(start, root, never);\n    const parentsAndSelf = (start, root) => [start].concat(parents(start, root));\n\n    const navigateIgnoreEmptyTextNodes = (forward, root, from) => navigateIgnore(forward, root, from, isEmptyText);\n    const isBlock$1 = schema => el => schema.isBlock(name(el));\n    const getClosestBlock$1 = (root, pos, schema) => find$2(parentsAndSelf(SugarElement.fromDom(pos.container()), root), isBlock$1(schema));\n    const isAtBeforeAfterBlockBoundary = (forward, root, pos, schema) => navigateIgnoreEmptyTextNodes(forward, root.dom, pos).forall(newPos => getClosestBlock$1(root, pos, schema).fold(() => !isInSameBlock(newPos, pos, root.dom), fromBlock => !isInSameBlock(newPos, pos, root.dom) && contains(fromBlock, SugarElement.fromDom(newPos.container()))));\n    const isAtBlockBoundary = (forward, root, pos, schema) => getClosestBlock$1(root, pos, schema).fold(() => navigateIgnoreEmptyTextNodes(forward, root.dom, pos).forall(newPos => !isInSameBlock(newPos, pos, root.dom)), parent => navigateIgnoreEmptyTextNodes(forward, parent.dom, pos).isNone());\n    const isAtStartOfBlock = curry(isAtBlockBoundary, false);\n    const isAtEndOfBlock = curry(isAtBlockBoundary, true);\n    const isBeforeBlock = curry(isAtBeforeAfterBlockBoundary, false);\n    const isAfterBlock = curry(isAtBeforeAfterBlockBoundary, true);\n\n    const isBr$1 = pos => getElementFromPosition(pos).exists(isBr$5);\n    const findBr = (forward, root, pos, schema) => {\n      const parentBlocks = filter$5(parentsAndSelf(SugarElement.fromDom(pos.container()), root), el => schema.isBlock(name(el)));\n      const scope = head(parentBlocks).getOr(root);\n      return fromPosition(forward, scope.dom, pos).filter(isBr$1);\n    };\n    const isBeforeBr$1 = (root, pos, schema) => getElementFromPosition(pos).exists(isBr$5) || findBr(true, root, pos, schema).isSome();\n    const isAfterBr = (root, pos, schema) => getElementFromPrevPosition(pos).exists(isBr$5) || findBr(false, root, pos, schema).isSome();\n    const findPreviousBr = curry(findBr, false);\n    const findNextBr = curry(findBr, true);\n\n    const isInMiddleOfText = pos => CaretPosition.isTextPosition(pos) && !pos.isAtStart() && !pos.isAtEnd();\n    const getClosestBlock = (root, pos, schema) => {\n      const parentBlocks = filter$5(parentsAndSelf(SugarElement.fromDom(pos.container()), root), el => schema.isBlock(name(el)));\n      return head(parentBlocks).getOr(root);\n    };\n    const hasSpaceBefore = (root, pos, schema) => {\n      if (isInMiddleOfText(pos)) {\n        return isAfterSpace(pos);\n      } else {\n        return isAfterSpace(pos) || prevPosition(getClosestBlock(root, pos, schema).dom, pos).exists(isAfterSpace);\n      }\n    };\n    const hasSpaceAfter = (root, pos, schema) => {\n      if (isInMiddleOfText(pos)) {\n        return isBeforeSpace(pos);\n      } else {\n        return isBeforeSpace(pos) || nextPosition(getClosestBlock(root, pos, schema).dom, pos).exists(isBeforeSpace);\n      }\n    };\n    const isPreValue = value => contains$2(['pre', 'pre-wrap'], value);\n    const isInPre = pos => getElementFromPosition(pos).bind(elm => closest$4(elm, isElement$7)).exists(elm => isPreValue(get$7(elm, 'white-space')));\n    const isAtBeginningOfBody = (root, pos) => prevPosition(root.dom, pos).isNone();\n    const isAtEndOfBody = (root, pos) => nextPosition(root.dom, pos).isNone();\n    const isAtLineBoundary = (root, pos, schema) => isAtBeginningOfBody(root, pos) || isAtEndOfBody(root, pos) || isAtStartOfBlock(root, pos, schema) || isAtEndOfBlock(root, pos, schema) || isAfterBr(root, pos, schema) || isBeforeBr$1(root, pos, schema);\n    const isCefBlock = node => isNonNullable(node) && isContentEditableFalse$b(node) && isBlockLike(node);\n    const isSiblingCefBlock = (root, direction) => container => {\n      return isCefBlock(new DomTreeWalker(container, root)[direction]());\n    };\n    const isBeforeCefBlock = (root, pos) => {\n      const nextPos = nextPosition(root.dom, pos).getOr(pos);\n      const isNextCefBlock = isSiblingCefBlock(root.dom, 'next');\n      return pos.isAtEnd() && (isNextCefBlock(pos.container()) || isNextCefBlock(nextPos.container()));\n    };\n    const isAfterCefBlock = (root, pos) => {\n      const prevPos = prevPosition(root.dom, pos).getOr(pos);\n      const isPrevCefBlock = isSiblingCefBlock(root.dom, 'prev');\n      return pos.isAtStart() && (isPrevCefBlock(pos.container()) || isPrevCefBlock(prevPos.container()));\n    };\n    const needsToHaveNbsp = (root, pos, schema) => {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtLineBoundary(root, pos, schema) || hasSpaceBefore(root, pos, schema) || hasSpaceAfter(root, pos, schema);\n      }\n    };\n    const needsToBeNbspLeft = (root, pos, schema) => {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtStartOfBlock(root, pos, schema) || isBeforeBlock(root, pos, schema) || isAfterBr(root, pos, schema) || hasSpaceBefore(root, pos, schema) || isAfterCefBlock(root, pos);\n      }\n    };\n    const leanRight = pos => {\n      const container = pos.container();\n      const offset = pos.offset();\n      if (isText$a(container) && offset < container.data.length) {\n        return CaretPosition(container, offset + 1);\n      } else {\n        return pos;\n      }\n    };\n    const needsToBeNbspRight = (root, pos, schema) => {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtEndOfBlock(root, pos, schema) || isAfterBlock(root, pos, schema) || isBeforeBr$1(root, pos, schema) || hasSpaceAfter(root, pos, schema) || isBeforeCefBlock(root, pos);\n      }\n    };\n    const needsToBeNbsp = (root, pos, schema) => needsToBeNbspLeft(root, pos, schema) || needsToBeNbspRight(root, leanRight(pos), schema);\n    const isNbspAt = (text, offset) => isNbsp(text.charAt(offset));\n    const isWhiteSpaceAt = (text, offset) => isWhiteSpace(text.charAt(offset));\n    const hasNbsp = pos => {\n      const container = pos.container();\n      return isText$a(container) && contains$1(container.data, nbsp);\n    };\n    const normalizeNbspMiddle = text => {\n      const chars = text.split('');\n      return map$3(chars, (chr, i) => {\n        if (isNbsp(chr) && i > 0 && i < chars.length - 1 && isContent(chars[i - 1]) && isContent(chars[i + 1])) {\n          return ' ';\n        } else {\n          return chr;\n        }\n      }).join('');\n    };\n    const normalizeNbspAtStart = (root, node, makeNbsp, schema) => {\n      const text = node.data;\n      const firstPos = CaretPosition(node, 0);\n      if (!makeNbsp && isNbspAt(text, 0) && !needsToBeNbsp(root, firstPos, schema)) {\n        node.data = ' ' + text.slice(1);\n        return true;\n      } else if (makeNbsp && isWhiteSpaceAt(text, 0) && needsToBeNbspLeft(root, firstPos, schema)) {\n        node.data = nbsp + text.slice(1);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const normalizeNbspInMiddleOfTextNode = node => {\n      const text = node.data;\n      const newText = normalizeNbspMiddle(text);\n      if (newText !== text) {\n        node.data = newText;\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const normalizeNbspAtEnd = (root, node, makeNbsp, schema) => {\n      const text = node.data;\n      const lastPos = CaretPosition(node, text.length - 1);\n      if (!makeNbsp && isNbspAt(text, text.length - 1) && !needsToBeNbsp(root, lastPos, schema)) {\n        node.data = text.slice(0, -1) + ' ';\n        return true;\n      } else if (makeNbsp && isWhiteSpaceAt(text, text.length - 1) && needsToBeNbspRight(root, lastPos, schema)) {\n        node.data = text.slice(0, -1) + nbsp;\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const normalizeNbsps = (root, pos, schema) => {\n      const container = pos.container();\n      if (!isText$a(container)) {\n        return Optional.none();\n      }\n      if (hasNbsp(pos)) {\n        const normalized = normalizeNbspAtStart(root, container, false, schema) || normalizeNbspInMiddleOfTextNode(container) || normalizeNbspAtEnd(root, container, false, schema);\n        return someIf(normalized, pos);\n      } else if (needsToBeNbsp(root, pos, schema)) {\n        const normalized = normalizeNbspAtStart(root, container, true, schema) || normalizeNbspAtEnd(root, container, true, schema);\n        return someIf(normalized, pos);\n      } else {\n        return Optional.none();\n      }\n    };\n    const normalizeNbspsInEditor = editor => {\n      const root = SugarElement.fromDom(editor.getBody());\n      if (editor.selection.isCollapsed()) {\n        normalizeNbsps(root, CaretPosition.fromRangeStart(editor.selection.getRng()), editor.schema).each(pos => {\n          editor.selection.setRng(pos.toRange());\n        });\n      }\n    };\n\n    const normalize$1 = (node, offset, count, schema) => {\n      if (count === 0) {\n        return;\n      }\n      const elm = SugarElement.fromDom(node);\n      const root = ancestor$4(elm, el => schema.isBlock(name(el))).getOr(elm);\n      const whitespace = node.data.slice(offset, offset + count);\n      const isEndOfContent = offset + count >= node.data.length && needsToBeNbspRight(root, CaretPosition(node, node.data.length), schema);\n      const isStartOfContent = offset === 0 && needsToBeNbspLeft(root, CaretPosition(node, 0), schema);\n      node.replaceData(offset, count, normalize$4(whitespace, 4, isStartOfContent, isEndOfContent));\n    };\n    const normalizeWhitespaceAfter = (node, offset, schema) => {\n      const content = node.data.slice(offset);\n      const whitespaceCount = content.length - lTrim(content).length;\n      normalize$1(node, offset, whitespaceCount, schema);\n    };\n    const normalizeWhitespaceBefore = (node, offset, schema) => {\n      const content = node.data.slice(0, offset);\n      const whitespaceCount = content.length - rTrim(content).length;\n      normalize$1(node, offset - whitespaceCount, whitespaceCount, schema);\n    };\n    const mergeTextNodes = (prevNode, nextNode, schema, normalizeWhitespace, mergeToPrev = true) => {\n      const whitespaceOffset = rTrim(prevNode.data).length;\n      const newNode = mergeToPrev ? prevNode : nextNode;\n      const removeNode = mergeToPrev ? nextNode : prevNode;\n      if (mergeToPrev) {\n        newNode.appendData(removeNode.data);\n      } else {\n        newNode.insertData(0, removeNode.data);\n      }\n      remove$5(SugarElement.fromDom(removeNode));\n      if (normalizeWhitespace) {\n        normalizeWhitespaceAfter(newNode, whitespaceOffset, schema);\n      }\n      return newNode;\n    };\n\n    const needsReposition = (pos, elm) => {\n      const container = pos.container();\n      const offset = pos.offset();\n      return !CaretPosition.isTextPosition(pos) && container === elm.parentNode && offset > CaretPosition.before(elm).offset();\n    };\n    const reposition = (elm, pos) => needsReposition(pos, elm) ? CaretPosition(pos.container(), pos.offset() - 1) : pos;\n    const beforeOrStartOf = node => isText$a(node) ? CaretPosition(node, 0) : CaretPosition.before(node);\n    const afterOrEndOf = node => isText$a(node) ? CaretPosition(node, node.data.length) : CaretPosition.after(node);\n    const getPreviousSiblingCaretPosition = elm => {\n      if (isCaretCandidate$3(elm.previousSibling)) {\n        return Optional.some(afterOrEndOf(elm.previousSibling));\n      } else {\n        return elm.previousSibling ? lastPositionIn(elm.previousSibling) : Optional.none();\n      }\n    };\n    const getNextSiblingCaretPosition = elm => {\n      if (isCaretCandidate$3(elm.nextSibling)) {\n        return Optional.some(beforeOrStartOf(elm.nextSibling));\n      } else {\n        return elm.nextSibling ? firstPositionIn(elm.nextSibling) : Optional.none();\n      }\n    };\n    const findCaretPositionBackwardsFromElm = (rootElement, elm) => {\n      return Optional.from(elm.previousSibling ? elm.previousSibling : elm.parentNode).bind(node => prevPosition(rootElement, CaretPosition.before(node))).orThunk(() => nextPosition(rootElement, CaretPosition.after(elm)));\n    };\n    const findCaretPositionForwardsFromElm = (rootElement, elm) => nextPosition(rootElement, CaretPosition.after(elm)).orThunk(() => prevPosition(rootElement, CaretPosition.before(elm)));\n    const findCaretPositionBackwards = (rootElement, elm) => getPreviousSiblingCaretPosition(elm).orThunk(() => getNextSiblingCaretPosition(elm)).orThunk(() => findCaretPositionBackwardsFromElm(rootElement, elm));\n    const findCaretPositionForward = (rootElement, elm) => getNextSiblingCaretPosition(elm).orThunk(() => getPreviousSiblingCaretPosition(elm)).orThunk(() => findCaretPositionForwardsFromElm(rootElement, elm));\n    const findCaretPosition = (forward, rootElement, elm) => forward ? findCaretPositionForward(rootElement, elm) : findCaretPositionBackwards(rootElement, elm);\n    const findCaretPosOutsideElmAfterDelete = (forward, rootElement, elm) => findCaretPosition(forward, rootElement, elm).map(curry(reposition, elm));\n    const setSelection$1 = (editor, forward, pos) => {\n      pos.fold(() => {\n        editor.focus();\n      }, pos => {\n        editor.selection.setRng(pos.toRange(), forward);\n      });\n    };\n    const eqRawNode = rawNode => elm => elm.dom === rawNode;\n    const isBlock = (editor, elm) => elm && has$2(editor.schema.getBlockElements(), name(elm));\n    const paddEmptyBlock = (elm, preserveEmptyCaret) => {\n      if (isEmpty$2(elm)) {\n        const br = SugarElement.fromHtml('<br data-mce-bogus=\"1\">');\n        if (preserveEmptyCaret) {\n          each$e(children$1(elm), node => {\n            if (!isEmptyCaretFormatElement(node)) {\n              remove$5(node);\n            }\n          });\n        } else {\n          empty(elm);\n        }\n        append$1(elm, br);\n        return Optional.some(CaretPosition.before(br.dom));\n      } else {\n        return Optional.none();\n      }\n    };\n    const deleteNormalized = (elm, afterDeletePosOpt, schema, normalizeWhitespace) => {\n      const prevTextOpt = prevSibling(elm).filter(isText$b);\n      const nextTextOpt = nextSibling(elm).filter(isText$b);\n      remove$5(elm);\n      return lift3(prevTextOpt, nextTextOpt, afterDeletePosOpt, (prev, next, pos) => {\n        const prevNode = prev.dom,\n          nextNode = next.dom;\n        const offset = prevNode.data.length;\n        mergeTextNodes(prevNode, nextNode, schema, normalizeWhitespace);\n        return pos.container() === nextNode ? CaretPosition(prevNode, offset) : pos;\n      }).orThunk(() => {\n        if (normalizeWhitespace) {\n          prevTextOpt.each(elm => normalizeWhitespaceBefore(elm.dom, elm.dom.length, schema));\n          nextTextOpt.each(elm => normalizeWhitespaceAfter(elm.dom, 0, schema));\n        }\n        return afterDeletePosOpt;\n      });\n    };\n    const isInlineElement = (editor, element) => has$2(editor.schema.getTextInlineElements(), name(element));\n    const deleteElement$2 = (editor, forward, elm, moveCaret = true, preserveEmptyCaret = false) => {\n      const afterDeletePos = findCaretPosOutsideElmAfterDelete(forward, editor.getBody(), elm.dom);\n      const parentBlock = ancestor$4(elm, curry(isBlock, editor), eqRawNode(editor.getBody()));\n      const normalizedAfterDeletePos = deleteNormalized(elm, afterDeletePos, editor.schema, isInlineElement(editor, elm));\n      if (editor.dom.isEmpty(editor.getBody())) {\n        editor.setContent('');\n        editor.selection.setCursorLocation();\n      } else {\n        parentBlock.bind(elm => paddEmptyBlock(elm, preserveEmptyCaret)).fold(() => {\n          if (moveCaret) {\n            setSelection$1(editor, forward, normalizedAfterDeletePos);\n          }\n        }, paddPos => {\n          if (moveCaret) {\n            setSelection$1(editor, forward, Optional.some(paddPos));\n          }\n        });\n      }\n    };\n\n    const strongRtl = /[\\u0591-\\u07FF\\uFB1D-\\uFDFF\\uFE70-\\uFEFC]/;\n    const hasStrongRtl = text => strongRtl.test(text);\n\n    const isInlineTarget = (editor, elm) => is$1(SugarElement.fromDom(elm), getInlineBoundarySelector(editor)) && !isTransparentBlock(editor.schema, elm) && editor.dom.isEditable(elm);\n    const isRtl = element => {\n      var _a;\n      return DOMUtils.DOM.getStyle(element, 'direction', true) === 'rtl' || hasStrongRtl((_a = element.textContent) !== null && _a !== void 0 ? _a : '');\n    };\n    const findInlineParents = (isInlineTarget, rootNode, pos) => filter$5(DOMUtils.DOM.getParents(pos.container(), '*', rootNode), isInlineTarget);\n    const findRootInline = (isInlineTarget, rootNode, pos) => {\n      const parents = findInlineParents(isInlineTarget, rootNode, pos);\n      return Optional.from(parents[parents.length - 1]);\n    };\n    const hasSameParentBlock = (rootNode, node1, node2) => {\n      const block1 = getParentBlock$3(node1, rootNode);\n      const block2 = getParentBlock$3(node2, rootNode);\n      return isNonNullable(block1) && block1 === block2;\n    };\n    const isAtZwsp = pos => isBeforeInline(pos) || isAfterInline(pos);\n    const normalizePosition = (forward, pos) => {\n      const container = pos.container(),\n        offset = pos.offset();\n      if (forward) {\n        if (isCaretContainerInline(container)) {\n          if (isText$a(container.nextSibling)) {\n            return CaretPosition(container.nextSibling, 0);\n          } else {\n            return CaretPosition.after(container);\n          }\n        } else {\n          return isBeforeInline(pos) ? CaretPosition(container, offset + 1) : pos;\n        }\n      } else {\n        if (isCaretContainerInline(container)) {\n          if (isText$a(container.previousSibling)) {\n            return CaretPosition(container.previousSibling, container.previousSibling.data.length);\n          } else {\n            return CaretPosition.before(container);\n          }\n        } else {\n          return isAfterInline(pos) ? CaretPosition(container, offset - 1) : pos;\n        }\n      }\n    };\n    const normalizeForwards = curry(normalizePosition, true);\n    const normalizeBackwards = curry(normalizePosition, false);\n\n    const execCommandIgnoreInputEvents = (editor, command) => {\n      const inputBlocker = e => e.stopImmediatePropagation();\n      editor.on('beforeinput input', inputBlocker, true);\n      editor.getDoc().execCommand(command);\n      editor.off('beforeinput input', inputBlocker);\n    };\n    const execEditorDeleteCommand = editor => {\n      editor.execCommand('delete');\n    };\n    const execNativeDeleteCommand = editor => execCommandIgnoreInputEvents(editor, 'Delete');\n    const execNativeForwardDeleteCommand = editor => execCommandIgnoreInputEvents(editor, 'ForwardDelete');\n    const isBeforeRoot = rootNode => elm => is$2(parent(elm), rootNode, eq);\n    const isTextBlockOrListItem = element => isTextBlock$2(element) || isListItem$1(element);\n    const getParentBlock$2 = (rootNode, elm) => {\n      if (contains(rootNode, elm)) {\n        return closest$4(elm, isTextBlockOrListItem, isBeforeRoot(rootNode));\n      } else {\n        return Optional.none();\n      }\n    };\n    const paddEmptyBody = (editor, moveSelection = true) => {\n      if (editor.dom.isEmpty(editor.getBody())) {\n        editor.setContent('', {\n          no_selection: !moveSelection\n        });\n      }\n    };\n    const willDeleteLastPositionInElement = (forward, fromPos, elm) => lift2(firstPositionIn(elm), lastPositionIn(elm), (firstPos, lastPos) => {\n      const normalizedFirstPos = normalizePosition(true, firstPos);\n      const normalizedLastPos = normalizePosition(false, lastPos);\n      const normalizedFromPos = normalizePosition(false, fromPos);\n      if (forward) {\n        return nextPosition(elm, normalizedFromPos).exists(nextPos => nextPos.isEqual(normalizedLastPos) && fromPos.isEqual(normalizedFirstPos));\n      } else {\n        return prevPosition(elm, normalizedFromPos).exists(prevPos => prevPos.isEqual(normalizedFirstPos) && fromPos.isEqual(normalizedLastPos));\n      }\n    }).getOr(true);\n    const freefallRtl = root => {\n      const child = isComment$1(root) ? prevSibling(root) : lastChild(root);\n      return child.bind(freefallRtl).orThunk(() => Optional.some(root));\n    };\n    const deleteRangeContents = (editor, rng, root, moveSelection = true) => {\n      var _a;\n      rng.deleteContents();\n      const lastNode = freefallRtl(root).getOr(root);\n      const lastBlock = SugarElement.fromDom((_a = editor.dom.getParent(lastNode.dom, editor.dom.isBlock)) !== null && _a !== void 0 ? _a : root.dom);\n      if (lastBlock.dom === editor.getBody()) {\n        paddEmptyBody(editor, moveSelection);\n      } else if (isEmpty$2(lastBlock)) {\n        fillWithPaddingBr(lastBlock);\n        if (moveSelection) {\n          editor.selection.setCursorLocation(lastBlock.dom, 0);\n        }\n      }\n      if (!eq(root, lastBlock)) {\n        const additionalCleanupNodes = is$2(parent(lastBlock), root) ? [] : siblings(lastBlock);\n        each$e(additionalCleanupNodes.concat(children$1(root)), node => {\n          if (!eq(node, lastBlock) && !contains(node, lastBlock) && isEmpty$2(node)) {\n            remove$5(node);\n          }\n        });\n      }\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => ancestor$4(scope, predicate, isRoot).isSome();\n    const sibling = (scope, predicate) => sibling$1(scope, predicate).isSome();\n    const descendant = (scope, predicate) => descendant$2(scope, predicate).isSome();\n\n    const isRootFromElement = root => cur => eq(root, cur);\n    const getTableCells = table => descendants(table, 'td,th');\n    const getTable$1 = (node, isRoot) => getClosestTable(SugarElement.fromDom(node), isRoot);\n    const selectionInTableWithNestedTable = details => {\n      return lift2(details.startTable, details.endTable, (startTable, endTable) => {\n        const isStartTableParentOfEndTable = descendant(startTable, t => eq(t, endTable));\n        const isEndTableParentOfStartTable = descendant(endTable, t => eq(t, startTable));\n        return !isStartTableParentOfEndTable && !isEndTableParentOfStartTable ? details : {\n          ...details,\n          startTable: isStartTableParentOfEndTable ? Optional.none() : details.startTable,\n          endTable: isEndTableParentOfStartTable ? Optional.none() : details.endTable,\n          isSameTable: false,\n          isMultiTable: false\n        };\n      }).getOr(details);\n    };\n    const adjustQuirksInDetails = details => {\n      return selectionInTableWithNestedTable(details);\n    };\n    const getTableDetailsFromRange = (rng, isRoot) => {\n      const startTable = getTable$1(rng.startContainer, isRoot);\n      const endTable = getTable$1(rng.endContainer, isRoot);\n      const isStartInTable = startTable.isSome();\n      const isEndInTable = endTable.isSome();\n      const isSameTable = lift2(startTable, endTable, eq).getOr(false);\n      const isMultiTable = !isSameTable && isStartInTable && isEndInTable;\n      return adjustQuirksInDetails({\n        startTable,\n        endTable,\n        isStartInTable,\n        isEndInTable,\n        isSameTable,\n        isMultiTable\n      });\n    };\n\n    const tableCellRng = (start, end) => ({\n      start,\n      end\n    });\n    const tableSelection = (rng, table, cells) => ({\n      rng,\n      table,\n      cells\n    });\n    const deleteAction = Adt.generate([{\n      singleCellTable: ['rng', 'cell']\n    }, {\n      fullTable: ['table']\n    }, {\n      partialTable: ['cells', 'outsideDetails']\n    }, {\n      multiTable: ['startTableCells', 'endTableCells', 'betweenRng']\n    }]);\n    const getClosestCell$1 = (container, isRoot) => closest$3(SugarElement.fromDom(container), 'td,th', isRoot);\n    const isExpandedCellRng = cellRng => !eq(cellRng.start, cellRng.end);\n    const getTableFromCellRng = (cellRng, isRoot) => getClosestTable(cellRng.start, isRoot).bind(startParentTable => getClosestTable(cellRng.end, isRoot).bind(endParentTable => someIf(eq(startParentTable, endParentTable), startParentTable)));\n    const isSingleCellTable = (cellRng, isRoot) => !isExpandedCellRng(cellRng) && getTableFromCellRng(cellRng, isRoot).exists(table => {\n      const rows = table.dom.rows;\n      return rows.length === 1 && rows[0].cells.length === 1;\n    });\n    const getCellRng = (rng, isRoot) => {\n      const startCell = getClosestCell$1(rng.startContainer, isRoot);\n      const endCell = getClosestCell$1(rng.endContainer, isRoot);\n      return lift2(startCell, endCell, tableCellRng);\n    };\n    const getCellRangeFromStartTable = isRoot => startCell => getClosestTable(startCell, isRoot).bind(table => last$3(getTableCells(table)).map(endCell => tableCellRng(startCell, endCell)));\n    const getCellRangeFromEndTable = isRoot => endCell => getClosestTable(endCell, isRoot).bind(table => head(getTableCells(table)).map(startCell => tableCellRng(startCell, endCell)));\n    const getTableSelectionFromCellRng = isRoot => cellRng => getTableFromCellRng(cellRng, isRoot).map(table => tableSelection(cellRng, table, getTableCells(table)));\n    const getTableSelections = (cellRng, selectionDetails, rng, isRoot) => {\n      if (rng.collapsed || !cellRng.forall(isExpandedCellRng)) {\n        return Optional.none();\n      } else if (selectionDetails.isSameTable) {\n        const sameTableSelection = cellRng.bind(getTableSelectionFromCellRng(isRoot));\n        return Optional.some({\n          start: sameTableSelection,\n          end: sameTableSelection\n        });\n      } else {\n        const startCell = getClosestCell$1(rng.startContainer, isRoot);\n        const endCell = getClosestCell$1(rng.endContainer, isRoot);\n        const startTableSelection = startCell.bind(getCellRangeFromStartTable(isRoot)).bind(getTableSelectionFromCellRng(isRoot));\n        const endTableSelection = endCell.bind(getCellRangeFromEndTable(isRoot)).bind(getTableSelectionFromCellRng(isRoot));\n        return Optional.some({\n          start: startTableSelection,\n          end: endTableSelection\n        });\n      }\n    };\n    const getCellIndex = (cells, cell) => findIndex$2(cells, x => eq(x, cell));\n    const getSelectedCells = tableSelection => lift2(getCellIndex(tableSelection.cells, tableSelection.rng.start), getCellIndex(tableSelection.cells, tableSelection.rng.end), (startIndex, endIndex) => tableSelection.cells.slice(startIndex, endIndex + 1));\n    const isSingleCellTableContentSelected = (optCellRng, rng, isRoot) => optCellRng.exists(cellRng => isSingleCellTable(cellRng, isRoot) && hasAllContentsSelected(cellRng.start, rng));\n    const unselectCells = (rng, selectionDetails) => {\n      const {\n        startTable,\n        endTable\n      } = selectionDetails;\n      const otherContentRng = rng.cloneRange();\n      startTable.each(table => otherContentRng.setStartAfter(table.dom));\n      endTable.each(table => otherContentRng.setEndBefore(table.dom));\n      return otherContentRng;\n    };\n    const handleSingleTable = (cellRng, selectionDetails, rng, isRoot) => getTableSelections(cellRng, selectionDetails, rng, isRoot).bind(({\n      start,\n      end\n    }) => start.or(end)).bind(tableSelection => {\n      const {\n        isSameTable\n      } = selectionDetails;\n      const selectedCells = getSelectedCells(tableSelection).getOr([]);\n      if (isSameTable && tableSelection.cells.length === selectedCells.length) {\n        return Optional.some(deleteAction.fullTable(tableSelection.table));\n      } else if (selectedCells.length > 0) {\n        if (isSameTable) {\n          return Optional.some(deleteAction.partialTable(selectedCells, Optional.none()));\n        } else {\n          const otherContentRng = unselectCells(rng, selectionDetails);\n          return Optional.some(deleteAction.partialTable(selectedCells, Optional.some({\n            ...selectionDetails,\n            rng: otherContentRng\n          })));\n        }\n      } else {\n        return Optional.none();\n      }\n    });\n    const handleMultiTable = (cellRng, selectionDetails, rng, isRoot) => getTableSelections(cellRng, selectionDetails, rng, isRoot).bind(({\n      start,\n      end\n    }) => {\n      const startTableSelectedCells = start.bind(getSelectedCells).getOr([]);\n      const endTableSelectedCells = end.bind(getSelectedCells).getOr([]);\n      if (startTableSelectedCells.length > 0 && endTableSelectedCells.length > 0) {\n        const otherContentRng = unselectCells(rng, selectionDetails);\n        return Optional.some(deleteAction.multiTable(startTableSelectedCells, endTableSelectedCells, otherContentRng));\n      } else {\n        return Optional.none();\n      }\n    });\n    const getActionFromRange = (root, rng) => {\n      const isRoot = isRootFromElement(root);\n      const optCellRng = getCellRng(rng, isRoot);\n      const selectionDetails = getTableDetailsFromRange(rng, isRoot);\n      if (isSingleCellTableContentSelected(optCellRng, rng, isRoot)) {\n        return optCellRng.map(cellRng => deleteAction.singleCellTable(rng, cellRng.start));\n      } else if (selectionDetails.isMultiTable) {\n        return handleMultiTable(optCellRng, selectionDetails, rng, isRoot);\n      } else {\n        return handleSingleTable(optCellRng, selectionDetails, rng, isRoot);\n      }\n    };\n\n    const cleanCells = cells => each$e(cells, cell => {\n      remove$a(cell, 'contenteditable');\n      fillWithPaddingBr(cell);\n    });\n    const getOutsideBlock = (editor, container) => Optional.from(editor.dom.getParent(container, editor.dom.isBlock)).map(SugarElement.fromDom);\n    const handleEmptyBlock = (editor, startInTable, emptyBlock) => {\n      emptyBlock.each(block => {\n        if (startInTable) {\n          remove$5(block);\n        } else {\n          fillWithPaddingBr(block);\n          editor.selection.setCursorLocation(block.dom, 0);\n        }\n      });\n    };\n    const deleteContentInsideCell = (editor, cell, rng, isFirstCellInSelection) => {\n      const insideTableRng = rng.cloneRange();\n      if (isFirstCellInSelection) {\n        insideTableRng.setStart(rng.startContainer, rng.startOffset);\n        insideTableRng.setEndAfter(cell.dom.lastChild);\n      } else {\n        insideTableRng.setStartBefore(cell.dom.firstChild);\n        insideTableRng.setEnd(rng.endContainer, rng.endOffset);\n      }\n      deleteCellContents(editor, insideTableRng, cell, false).each(action => action());\n    };\n    const collapseAndRestoreCellSelection = editor => {\n      const selectedCells = getCellsFromEditor(editor);\n      const selectedNode = SugarElement.fromDom(editor.selection.getNode());\n      if (isTableCell$3(selectedNode.dom) && isEmpty$2(selectedNode)) {\n        editor.selection.setCursorLocation(selectedNode.dom, 0);\n      } else {\n        editor.selection.collapse(true);\n      }\n      if (selectedCells.length > 1 && exists(selectedCells, cell => eq(cell, selectedNode))) {\n        set$3(selectedNode, 'data-mce-selected', '1');\n      }\n    };\n    const emptySingleTableCells = (editor, cells, outsideDetails) => Optional.some(() => {\n      const editorRng = editor.selection.getRng();\n      const cellsToClean = outsideDetails.bind(({\n        rng,\n        isStartInTable\n      }) => {\n        const outsideBlock = getOutsideBlock(editor, isStartInTable ? rng.endContainer : rng.startContainer);\n        rng.deleteContents();\n        handleEmptyBlock(editor, isStartInTable, outsideBlock.filter(isEmpty$2));\n        const endPointCell = isStartInTable ? cells[0] : cells[cells.length - 1];\n        deleteContentInsideCell(editor, endPointCell, editorRng, isStartInTable);\n        if (!isEmpty$2(endPointCell)) {\n          return Optional.some(isStartInTable ? cells.slice(1) : cells.slice(0, -1));\n        } else {\n          return Optional.none();\n        }\n      }).getOr(cells);\n      cleanCells(cellsToClean);\n      collapseAndRestoreCellSelection(editor);\n    });\n    const emptyMultiTableCells = (editor, startTableCells, endTableCells, betweenRng) => Optional.some(() => {\n      const rng = editor.selection.getRng();\n      const startCell = startTableCells[0];\n      const endCell = endTableCells[endTableCells.length - 1];\n      deleteContentInsideCell(editor, startCell, rng, true);\n      deleteContentInsideCell(editor, endCell, rng, false);\n      const startTableCellsToClean = isEmpty$2(startCell) ? startTableCells : startTableCells.slice(1);\n      const endTableCellsToClean = isEmpty$2(endCell) ? endTableCells : endTableCells.slice(0, -1);\n      cleanCells(startTableCellsToClean.concat(endTableCellsToClean));\n      betweenRng.deleteContents();\n      collapseAndRestoreCellSelection(editor);\n    });\n    const deleteCellContents = (editor, rng, cell, moveSelection = true) => Optional.some(() => {\n      deleteRangeContents(editor, rng, cell, moveSelection);\n    });\n    const deleteTableElement = (editor, table) => Optional.some(() => deleteElement$2(editor, false, table));\n    const deleteCellRange = (editor, rootElm, rng) => getActionFromRange(rootElm, rng).bind(action => action.fold(curry(deleteCellContents, editor), curry(deleteTableElement, editor), curry(emptySingleTableCells, editor), curry(emptyMultiTableCells, editor)));\n    const deleteCaptionRange = (editor, caption) => emptyElement(editor, caption);\n    const deleteTableRange = (editor, rootElm, rng, startElm) => getParentCaption(rootElm, startElm).fold(() => deleteCellRange(editor, rootElm, rng), caption => deleteCaptionRange(editor, caption));\n    const deleteRange$3 = (editor, startElm, selectedCells) => {\n      const rootNode = SugarElement.fromDom(editor.getBody());\n      const rng = editor.selection.getRng();\n      return selectedCells.length !== 0 ? emptySingleTableCells(editor, selectedCells, Optional.none()) : deleteTableRange(editor, rootNode, rng, startElm);\n    };\n    const getParentCell = (rootElm, elm) => find$2(parentsAndSelf(elm, rootElm), isTableCell$2);\n    const getParentCaption = (rootElm, elm) => find$2(parentsAndSelf(elm, rootElm), isTag('caption'));\n    const deleteBetweenCells = (editor, rootElm, forward, fromCell, from) => navigate(forward, editor.getBody(), from).bind(to => getParentCell(rootElm, SugarElement.fromDom(to.getNode())).bind(toCell => eq(toCell, fromCell) ? Optional.none() : Optional.some(noop)));\n    const emptyElement = (editor, elm) => Optional.some(() => {\n      fillWithPaddingBr(elm);\n      editor.selection.setCursorLocation(elm.dom, 0);\n    });\n    const isDeleteOfLastCharPos = (fromCaption, forward, from, to) => firstPositionIn(fromCaption.dom).bind(first => lastPositionIn(fromCaption.dom).map(last => forward ? from.isEqual(first) && to.isEqual(last) : from.isEqual(last) && to.isEqual(first))).getOr(true);\n    const emptyCaretCaption = (editor, elm) => emptyElement(editor, elm);\n    const validateCaretCaption = (rootElm, fromCaption, to) => getParentCaption(rootElm, SugarElement.fromDom(to.getNode())).fold(() => Optional.some(noop), toCaption => someIf(!eq(toCaption, fromCaption), noop));\n    const deleteCaretInsideCaption = (editor, rootElm, forward, fromCaption, from) => navigate(forward, editor.getBody(), from).fold(() => Optional.some(noop), to => isDeleteOfLastCharPos(fromCaption, forward, from, to) ? emptyCaretCaption(editor, fromCaption) : validateCaretCaption(rootElm, fromCaption, to));\n    const deleteCaretCells = (editor, forward, rootElm, startElm) => {\n      const from = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return getParentCell(rootElm, startElm).bind(fromCell => isEmpty$2(fromCell) ? emptyElement(editor, fromCell) : deleteBetweenCells(editor, rootElm, forward, fromCell, from));\n    };\n    const deleteCaretCaption = (editor, forward, rootElm, fromCaption) => {\n      const from = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return isEmpty$2(fromCaption) ? emptyElement(editor, fromCaption) : deleteCaretInsideCaption(editor, rootElm, forward, fromCaption, from);\n    };\n    const isNearTable = (forward, pos) => forward ? isBeforeTable(pos) : isAfterTable(pos);\n    const isBeforeOrAfterTable = (editor, forward) => {\n      const fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return isNearTable(forward, fromPos) || fromPosition(forward, editor.getBody(), fromPos).exists(pos => isNearTable(forward, pos));\n    };\n    const deleteCaret$3 = (editor, forward, startElm) => {\n      const rootElm = SugarElement.fromDom(editor.getBody());\n      return getParentCaption(rootElm, startElm).fold(() => deleteCaretCells(editor, forward, rootElm, startElm).orThunk(() => someIf(isBeforeOrAfterTable(editor, forward), noop)), fromCaption => deleteCaretCaption(editor, forward, rootElm, fromCaption));\n    };\n    const backspaceDelete$a = (editor, forward) => {\n      const startElm = SugarElement.fromDom(editor.selection.getStart(true));\n      const cells = getCellsFromEditor(editor);\n      return editor.selection.isCollapsed() && cells.length === 0 ? deleteCaret$3(editor, forward, startElm) : deleteRange$3(editor, startElm, cells);\n    };\n\n    const getContentEditableRoot$1 = (root, node) => {\n      let tempNode = node;\n      while (tempNode && tempNode !== root) {\n        if (isContentEditableTrue$3(tempNode) || isContentEditableFalse$b(tempNode)) {\n          return tempNode;\n        }\n        tempNode = tempNode.parentNode;\n      }\n      return null;\n    };\n\n    const internalAttributesPrefixes = ['data-ephox-', 'data-mce-', 'data-alloy-', 'data-snooker-', '_'];\n    const each$9 = Tools.each;\n    const ElementUtils = editor => {\n      const dom = editor.dom;\n      const internalAttributes = new Set(editor.serializer.getTempAttrs());\n      const compare = (node1, node2) => {\n        if (node1.nodeName !== node2.nodeName || node1.nodeType !== node2.nodeType) {\n          return false;\n        }\n        const getAttribs = node => {\n          const attribs = {};\n          each$9(dom.getAttribs(node), attr => {\n            const name = attr.nodeName.toLowerCase();\n            if (name !== 'style' && !isAttributeInternal(name)) {\n              attribs[name] = dom.getAttrib(node, name);\n            }\n          });\n          return attribs;\n        };\n        const compareObjects = (obj1, obj2) => {\n          for (const name in obj1) {\n            if (has$2(obj1, name)) {\n              const value = obj2[name];\n              if (isUndefined(value)) {\n                return false;\n              }\n              if (obj1[name] !== value) {\n                return false;\n              }\n              delete obj2[name];\n            }\n          }\n          for (const name in obj2) {\n            if (has$2(obj2, name)) {\n              return false;\n            }\n          }\n          return true;\n        };\n        if (isElement$6(node1) && isElement$6(node2)) {\n          if (!compareObjects(getAttribs(node1), getAttribs(node2))) {\n            return false;\n          }\n          if (!compareObjects(dom.parseStyle(dom.getAttrib(node1, 'style')), dom.parseStyle(dom.getAttrib(node2, 'style')))) {\n            return false;\n          }\n        }\n        return !isBookmarkNode$1(node1) && !isBookmarkNode$1(node2);\n      };\n      const isAttributeInternal = attributeName => exists(internalAttributesPrefixes, value => startsWith(attributeName, value)) || internalAttributes.has(attributeName);\n      return {\n        compare,\n        isAttributeInternal\n      };\n    };\n\n    const isHeading = node => ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(node.name);\n    const isSummary = node => node.name === 'summary';\n\n    const traverse = (root, fn) => {\n      let node = root;\n      while (node = node.walk()) {\n        fn(node);\n      }\n    };\n    const matchNode$1 = (nodeFilters, attributeFilters, node, matches) => {\n      const name = node.name;\n      for (let ni = 0, nl = nodeFilters.length; ni < nl; ni++) {\n        const filter = nodeFilters[ni];\n        if (filter.name === name) {\n          const match = matches.nodes[name];\n          if (match) {\n            match.nodes.push(node);\n          } else {\n            matches.nodes[name] = {\n              filter,\n              nodes: [node]\n            };\n          }\n        }\n      }\n      if (node.attributes) {\n        for (let ai = 0, al = attributeFilters.length; ai < al; ai++) {\n          const filter = attributeFilters[ai];\n          const attrName = filter.name;\n          if (attrName in node.attributes.map) {\n            const match = matches.attributes[attrName];\n            if (match) {\n              match.nodes.push(node);\n            } else {\n              matches.attributes[attrName] = {\n                filter,\n                nodes: [node]\n              };\n            }\n          }\n        }\n      }\n    };\n    const findMatchingNodes = (nodeFilters, attributeFilters, node) => {\n      const matches = {\n        nodes: {},\n        attributes: {}\n      };\n      if (node.firstChild) {\n        traverse(node, childNode => {\n          matchNode$1(nodeFilters, attributeFilters, childNode, matches);\n        });\n      }\n      return matches;\n    };\n    const runFilters = (matches, args) => {\n      const run = (matchRecord, filteringAttributes) => {\n        each$d(matchRecord, match => {\n          const nodes = from(match.nodes);\n          each$e(match.filter.callbacks, callback => {\n            for (let i = nodes.length - 1; i >= 0; i--) {\n              const node = nodes[i];\n              const valueMatches = filteringAttributes ? node.attr(match.filter.name) !== undefined : node.name === match.filter.name;\n              if (!valueMatches || isNullable(node.parent)) {\n                nodes.splice(i, 1);\n              }\n            }\n            if (nodes.length > 0) {\n              callback(nodes, match.filter.name, args);\n            }\n          });\n        });\n      };\n      run(matches.nodes, false);\n      run(matches.attributes, true);\n    };\n    const filter$2 = (nodeFilters, attributeFilters, node, args = {}) => {\n      const matches = findMatchingNodes(nodeFilters, attributeFilters, node);\n      runFilters(matches, args);\n    };\n\n    const paddEmptyNode = (settings, args, isBlock, node) => {\n      const brPreferred = settings.pad_empty_with_br || args.insert;\n      if (brPreferred && isBlock(node)) {\n        const astNode = new AstNode('br', 1);\n        if (args.insert) {\n          astNode.attr('data-mce-bogus', '1');\n        }\n        node.empty().append(astNode);\n      } else {\n        node.empty().append(new AstNode('#text', 3)).value = nbsp;\n      }\n    };\n    const isPaddedWithNbsp = node => {\n      var _a;\n      return hasOnlyChild(node, '#text') && ((_a = node === null || node === void 0 ? void 0 : node.firstChild) === null || _a === void 0 ? void 0 : _a.value) === nbsp;\n    };\n    const hasOnlyChild = (node, name) => {\n      const firstChild = node === null || node === void 0 ? void 0 : node.firstChild;\n      return isNonNullable(firstChild) && firstChild === node.lastChild && firstChild.name === name;\n    };\n    const isPadded = (schema, node) => {\n      const rule = schema.getElementRule(node.name);\n      return (rule === null || rule === void 0 ? void 0 : rule.paddEmpty) === true;\n    };\n    const isEmpty = (schema, nonEmptyElements, whitespaceElements, node) => node.isEmpty(nonEmptyElements, whitespaceElements, node => isPadded(schema, node));\n    const isLineBreakNode = (node, isBlock) => isNonNullable(node) && (isBlock(node) || node.name === 'br');\n    const findClosestEditingHost = scope => {\n      let editableNode;\n      for (let node = scope; node; node = node.parent) {\n        const contentEditable = node.attr('contenteditable');\n        if (contentEditable === 'false') {\n          break;\n        } else if (contentEditable === 'true') {\n          editableNode = node;\n        }\n      }\n      return Optional.from(editableNode);\n    };\n\n    const removeOrUnwrapInvalidNode = (node, schema, originalNodeParent = node.parent) => {\n      if (schema.getSpecialElements()[node.name]) {\n        node.empty().remove();\n      } else {\n        const children = node.children();\n        for (const childNode of children) {\n          if (originalNodeParent && !schema.isValidChild(originalNodeParent.name, childNode.name)) {\n            removeOrUnwrapInvalidNode(childNode, schema, originalNodeParent);\n          }\n        }\n        node.unwrap();\n      }\n    };\n    const cleanInvalidNodes = (nodes, schema, rootNode, onCreate = noop) => {\n      const textBlockElements = schema.getTextBlockElements();\n      const nonEmptyElements = schema.getNonEmptyElements();\n      const whitespaceElements = schema.getWhitespaceElements();\n      const nonSplittableElements = Tools.makeMap('tr,td,th,tbody,thead,tfoot,table,summary');\n      const fixed = new Set();\n      const isSplittableElement = node => node !== rootNode && !nonSplittableElements[node.name];\n      for (let ni = 0; ni < nodes.length; ni++) {\n        const node = nodes[ni];\n        let parent;\n        let newParent;\n        let tempNode;\n        if (!node.parent || fixed.has(node)) {\n          continue;\n        }\n        if (textBlockElements[node.name] && node.parent.name === 'li') {\n          let sibling = node.next;\n          while (sibling) {\n            if (textBlockElements[sibling.name]) {\n              sibling.name = 'li';\n              fixed.add(sibling);\n              node.parent.insert(sibling, node.parent);\n            } else {\n              break;\n            }\n            sibling = sibling.next;\n          }\n          node.unwrap();\n          continue;\n        }\n        const parents = [node];\n        for (parent = node.parent; parent && !schema.isValidChild(parent.name, node.name) && isSplittableElement(parent); parent = parent.parent) {\n          parents.push(parent);\n        }\n        if (parent && parents.length > 1) {\n          if (!isInvalid(schema, node, parent)) {\n            parents.reverse();\n            newParent = parents[0].clone();\n            onCreate(newParent);\n            let currentNode = newParent;\n            for (let i = 0; i < parents.length - 1; i++) {\n              if (schema.isValidChild(currentNode.name, parents[i].name) && i > 0) {\n                tempNode = parents[i].clone();\n                onCreate(tempNode);\n                currentNode.append(tempNode);\n              } else {\n                tempNode = currentNode;\n              }\n              for (let childNode = parents[i].firstChild; childNode && childNode !== parents[i + 1];) {\n                const nextNode = childNode.next;\n                tempNode.append(childNode);\n                childNode = nextNode;\n              }\n              currentNode = tempNode;\n            }\n            if (!isEmpty(schema, nonEmptyElements, whitespaceElements, newParent)) {\n              parent.insert(newParent, parents[0], true);\n              parent.insert(node, newParent);\n            } else {\n              parent.insert(node, parents[0], true);\n            }\n            parent = parents[0];\n            if (isEmpty(schema, nonEmptyElements, whitespaceElements, parent) || hasOnlyChild(parent, 'br')) {\n              parent.empty().remove();\n            }\n          } else {\n            removeOrUnwrapInvalidNode(node, schema);\n          }\n        } else if (node.parent) {\n          if (node.name === 'li') {\n            let sibling = node.prev;\n            if (sibling && (sibling.name === 'ul' || sibling.name === 'ol')) {\n              sibling.append(node);\n              continue;\n            }\n            sibling = node.next;\n            if (sibling && (sibling.name === 'ul' || sibling.name === 'ol') && sibling.firstChild) {\n              sibling.insert(node, sibling.firstChild, true);\n              continue;\n            }\n            const wrapper = new AstNode('ul', 1);\n            onCreate(wrapper);\n            node.wrap(wrapper);\n            continue;\n          }\n          if (schema.isValidChild(node.parent.name, 'div') && schema.isValidChild('div', node.name)) {\n            const wrapper = new AstNode('div', 1);\n            onCreate(wrapper);\n            node.wrap(wrapper);\n          } else {\n            removeOrUnwrapInvalidNode(node, schema);\n          }\n        }\n      }\n    };\n    const hasClosest = (node, parentName) => {\n      let tempNode = node;\n      while (tempNode) {\n        if (tempNode.name === parentName) {\n          return true;\n        }\n        tempNode = tempNode.parent;\n      }\n      return false;\n    };\n    const isInvalid = (schema, node, parent = node.parent) => {\n      if (!parent) {\n        return false;\n      }\n      if (schema.children[node.name] && !schema.isValidChild(parent.name, node.name)) {\n        return true;\n      }\n      if (node.name === 'a' && hasClosest(parent, 'a')) {\n        return true;\n      }\n      if (isSummary(parent) && isHeading(node)) {\n        return !((parent === null || parent === void 0 ? void 0 : parent.firstChild) === node && (parent === null || parent === void 0 ? void 0 : parent.lastChild) === node);\n      }\n      return false;\n    };\n\n    const createRange = (sc, so, ec, eo) => {\n      const rng = document.createRange();\n      rng.setStart(sc, so);\n      rng.setEnd(ec, eo);\n      return rng;\n    };\n    const normalizeBlockSelectionRange = rng => {\n      const startPos = CaretPosition.fromRangeStart(rng);\n      const endPos = CaretPosition.fromRangeEnd(rng);\n      const rootNode = rng.commonAncestorContainer;\n      return fromPosition(false, rootNode, endPos).map(newEndPos => {\n        if (!isInSameBlock(startPos, endPos, rootNode) && isInSameBlock(startPos, newEndPos, rootNode)) {\n          return createRange(startPos.container(), startPos.offset(), newEndPos.container(), newEndPos.offset());\n        } else {\n          return rng;\n        }\n      }).getOr(rng);\n    };\n    const normalize = rng => rng.collapsed ? rng : normalizeBlockSelectionRange(rng);\n\n    const hasOnlyOneChild$1 = node => {\n      return isNonNullable(node.firstChild) && node.firstChild === node.lastChild;\n    };\n    const isPaddingNode = node => {\n      return node.name === 'br' || node.value === nbsp;\n    };\n    const isPaddedEmptyBlock = (schema, node) => {\n      const blockElements = schema.getBlockElements();\n      return blockElements[node.name] && hasOnlyOneChild$1(node) && isPaddingNode(node.firstChild);\n    };\n    const isEmptyFragmentElement = (schema, node) => {\n      const nonEmptyElements = schema.getNonEmptyElements();\n      return isNonNullable(node) && (node.isEmpty(nonEmptyElements) || isPaddedEmptyBlock(schema, node));\n    };\n    const isListFragment = (schema, fragment) => {\n      let firstChild = fragment.firstChild;\n      let lastChild = fragment.lastChild;\n      if (firstChild && firstChild.name === 'meta') {\n        firstChild = firstChild.next;\n      }\n      if (lastChild && lastChild.attr('id') === 'mce_marker') {\n        lastChild = lastChild.prev;\n      }\n      if (isEmptyFragmentElement(schema, lastChild)) {\n        lastChild = lastChild === null || lastChild === void 0 ? void 0 : lastChild.prev;\n      }\n      if (!firstChild || firstChild !== lastChild) {\n        return false;\n      }\n      return firstChild.name === 'ul' || firstChild.name === 'ol';\n    };\n    const cleanupDomFragment = domFragment => {\n      var _a, _b;\n      const firstChild = domFragment.firstChild;\n      const lastChild = domFragment.lastChild;\n      if (firstChild && firstChild.nodeName === 'META') {\n        (_a = firstChild.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(firstChild);\n      }\n      if (lastChild && lastChild.id === 'mce_marker') {\n        (_b = lastChild.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(lastChild);\n      }\n      return domFragment;\n    };\n    const toDomFragment = (dom, serializer, fragment) => {\n      const html = serializer.serialize(fragment);\n      const domFragment = dom.createFragment(html);\n      return cleanupDomFragment(domFragment);\n    };\n    const listItems = elm => {\n      var _a;\n      return filter$5((_a = elm === null || elm === void 0 ? void 0 : elm.childNodes) !== null && _a !== void 0 ? _a : [], child => {\n        return child.nodeName === 'LI';\n      });\n    };\n    const isPadding = node => {\n      return node.data === nbsp || isBr$6(node);\n    };\n    const isListItemPadded = node => {\n      return isNonNullable(node === null || node === void 0 ? void 0 : node.firstChild) && node.firstChild === node.lastChild && isPadding(node.firstChild);\n    };\n    const isEmptyOrPadded = elm => {\n      return !elm.firstChild || isListItemPadded(elm);\n    };\n    const trimListItems = elms => {\n      return elms.length > 0 && isEmptyOrPadded(elms[elms.length - 1]) ? elms.slice(0, -1) : elms;\n    };\n    const getParentLi = (dom, node) => {\n      const parentBlock = dom.getParent(node, dom.isBlock);\n      return parentBlock && parentBlock.nodeName === 'LI' ? parentBlock : null;\n    };\n    const isParentBlockLi = (dom, node) => {\n      return !!getParentLi(dom, node);\n    };\n    const getSplit = (parentNode, rng) => {\n      const beforeRng = rng.cloneRange();\n      const afterRng = rng.cloneRange();\n      beforeRng.setStartBefore(parentNode);\n      afterRng.setEndAfter(parentNode);\n      return [beforeRng.cloneContents(), afterRng.cloneContents()];\n    };\n    const findFirstIn = (node, rootNode) => {\n      const caretPos = CaretPosition.before(node);\n      const caretWalker = CaretWalker(rootNode);\n      const newCaretPos = caretWalker.next(caretPos);\n      return newCaretPos ? newCaretPos.toRange() : null;\n    };\n    const findLastOf = (node, rootNode) => {\n      const caretPos = CaretPosition.after(node);\n      const caretWalker = CaretWalker(rootNode);\n      const newCaretPos = caretWalker.prev(caretPos);\n      return newCaretPos ? newCaretPos.toRange() : null;\n    };\n    const insertMiddle = (target, elms, rootNode, rng) => {\n      const parts = getSplit(target, rng);\n      const parentElm = target.parentNode;\n      if (parentElm) {\n        parentElm.insertBefore(parts[0], target);\n        Tools.each(elms, li => {\n          parentElm.insertBefore(li, target);\n        });\n        parentElm.insertBefore(parts[1], target);\n        parentElm.removeChild(target);\n      }\n      return findLastOf(elms[elms.length - 1], rootNode);\n    };\n    const insertBefore$2 = (target, elms, rootNode) => {\n      const parentElm = target.parentNode;\n      if (parentElm) {\n        Tools.each(elms, elm => {\n          parentElm.insertBefore(elm, target);\n        });\n      }\n      return findFirstIn(target, rootNode);\n    };\n    const insertAfter$2 = (target, elms, rootNode, dom) => {\n      dom.insertAfter(elms.reverse(), target);\n      return findLastOf(elms[0], rootNode);\n    };\n    const insertAtCaret$1 = (serializer, dom, rng, fragment) => {\n      const domFragment = toDomFragment(dom, serializer, fragment);\n      const liTarget = getParentLi(dom, rng.startContainer);\n      const liElms = trimListItems(listItems(domFragment.firstChild));\n      const BEGINNING = 1,\n        END = 2;\n      const rootNode = dom.getRoot();\n      const isAt = location => {\n        const caretPos = CaretPosition.fromRangeStart(rng);\n        const caretWalker = CaretWalker(dom.getRoot());\n        const newPos = location === BEGINNING ? caretWalker.prev(caretPos) : caretWalker.next(caretPos);\n        const newPosNode = newPos === null || newPos === void 0 ? void 0 : newPos.getNode();\n        return newPosNode ? getParentLi(dom, newPosNode) !== liTarget : true;\n      };\n      if (!liTarget) {\n        return null;\n      } else if (isAt(BEGINNING)) {\n        return insertBefore$2(liTarget, liElms, rootNode);\n      } else if (isAt(END)) {\n        return insertAfter$2(liTarget, liElms, rootNode, dom);\n      } else {\n        return insertMiddle(liTarget, liElms, rootNode, rng);\n      }\n    };\n\n    const mergeableWrappedElements = ['pre'];\n    const shouldPasteContentOnly = (dom, fragment, parentNode, root) => {\n      var _a;\n      const firstNode = fragment.firstChild;\n      const lastNode = fragment.lastChild;\n      const last = lastNode.attr('data-mce-type') === 'bookmark' ? lastNode.prev : lastNode;\n      const isPastingSingleElement = firstNode === last;\n      const isWrappedElement = contains$2(mergeableWrappedElements, firstNode.name);\n      if (isPastingSingleElement && isWrappedElement) {\n        const isContentEditable = firstNode.attr('contenteditable') !== 'false';\n        const isPastingInTheSameBlockTag = ((_a = dom.getParent(parentNode, dom.isBlock)) === null || _a === void 0 ? void 0 : _a.nodeName.toLowerCase()) === firstNode.name;\n        const isPastingInContentEditable = Optional.from(getContentEditableRoot$1(root, parentNode)).forall(isContentEditableTrue$3);\n        return isContentEditable && isPastingInTheSameBlockTag && isPastingInContentEditable;\n      } else {\n        return false;\n      }\n    };\n    const isTableCell = isTableCell$3;\n    const isTableCellContentSelected = (dom, rng, cell) => {\n      if (isNonNullable(cell)) {\n        const endCell = dom.getParent(rng.endContainer, isTableCell);\n        return cell === endCell && hasAllContentsSelected(SugarElement.fromDom(cell), rng);\n      } else {\n        return false;\n      }\n    };\n    const validInsertion = (editor, value, parentNode) => {\n      var _a;\n      if (parentNode.getAttribute('data-mce-bogus') === 'all') {\n        (_a = parentNode.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(editor.dom.createFragment(value), parentNode);\n      } else {\n        const node = parentNode.firstChild;\n        const node2 = parentNode.lastChild;\n        if (!node || node === node2 && node.nodeName === 'BR') {\n          editor.dom.setHTML(parentNode, value);\n        } else {\n          editor.selection.setContent(value, {\n            no_events: true\n          });\n        }\n      }\n    };\n    const trimBrsFromTableCell = (dom, elm, schema) => {\n      Optional.from(dom.getParent(elm, 'td,th')).map(SugarElement.fromDom).each(el => trimBlockTrailingBr(el, schema));\n    };\n    const reduceInlineTextElements = (editor, merge) => {\n      const textInlineElements = editor.schema.getTextInlineElements();\n      const dom = editor.dom;\n      if (merge) {\n        const root = editor.getBody();\n        const elementUtils = ElementUtils(editor);\n        Tools.each(dom.select('*[data-mce-fragment]'), node => {\n          const isInline = isNonNullable(textInlineElements[node.nodeName.toLowerCase()]);\n          if (isInline && hasInheritableStyles(dom, node)) {\n            for (let parentNode = node.parentElement; isNonNullable(parentNode) && parentNode !== root; parentNode = parentNode.parentElement) {\n              const styleConflict = hasStyleConflict(dom, node, parentNode);\n              if (styleConflict) {\n                break;\n              }\n              if (elementUtils.compare(parentNode, node)) {\n                dom.remove(node, true);\n                break;\n              }\n            }\n          }\n        });\n      }\n    };\n    const markFragmentElements = fragment => {\n      let node = fragment;\n      while (node = node.walk()) {\n        if (node.type === 1) {\n          node.attr('data-mce-fragment', '1');\n        }\n      }\n    };\n    const unmarkFragmentElements = elm => {\n      Tools.each(elm.getElementsByTagName('*'), elm => {\n        elm.removeAttribute('data-mce-fragment');\n      });\n    };\n    const isPartOfFragment = node => {\n      return !!node.getAttribute('data-mce-fragment');\n    };\n    const canHaveChildren = (editor, node) => {\n      return isNonNullable(node) && !editor.schema.getVoidElements()[node.nodeName];\n    };\n    const moveSelectionToMarker = (editor, marker) => {\n      var _a, _b, _c;\n      let nextRng;\n      const dom = editor.dom;\n      const selection = editor.selection;\n      if (!marker) {\n        return;\n      }\n      selection.scrollIntoView(marker);\n      const parentEditableElm = getContentEditableRoot$1(editor.getBody(), marker);\n      if (parentEditableElm && dom.getContentEditable(parentEditableElm) === 'false') {\n        dom.remove(marker);\n        selection.select(parentEditableElm);\n        return;\n      }\n      let rng = dom.createRng();\n      const node = marker.previousSibling;\n      if (isText$a(node)) {\n        rng.setStart(node, (_b = (_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);\n        const node2 = marker.nextSibling;\n        if (isText$a(node2)) {\n          node.appendData(node2.data);\n          (_c = node2.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild(node2);\n        }\n      } else {\n        rng.setStartBefore(marker);\n        rng.setEndBefore(marker);\n      }\n      const findNextCaretRng = rng => {\n        let caretPos = CaretPosition.fromRangeStart(rng);\n        const caretWalker = CaretWalker(editor.getBody());\n        caretPos = caretWalker.next(caretPos);\n        return caretPos === null || caretPos === void 0 ? void 0 : caretPos.toRange();\n      };\n      const parentBlock = dom.getParent(marker, dom.isBlock);\n      dom.remove(marker);\n      if (parentBlock && dom.isEmpty(parentBlock)) {\n        const isCell = isTableCell(parentBlock);\n        empty(SugarElement.fromDom(parentBlock));\n        rng.setStart(parentBlock, 0);\n        rng.setEnd(parentBlock, 0);\n        if (!isCell && !isPartOfFragment(parentBlock) && (nextRng = findNextCaretRng(rng))) {\n          rng = nextRng;\n          dom.remove(parentBlock);\n        } else {\n          dom.add(parentBlock, dom.create('br', isCell ? {} : {\n            'data-mce-bogus': '1'\n          }));\n        }\n      }\n      selection.setRng(rng);\n    };\n    const deleteSelectedContent = editor => {\n      const dom = editor.dom;\n      const rng = normalize(editor.selection.getRng());\n      editor.selection.setRng(rng);\n      const startCell = dom.getParent(rng.startContainer, isTableCell);\n      if (isTableCellContentSelected(dom, rng, startCell)) {\n        deleteCellContents(editor, rng, SugarElement.fromDom(startCell));\n      } else if (rng.startContainer === rng.endContainer && rng.endOffset - rng.startOffset === 1 && isText$a(rng.startContainer.childNodes[rng.startOffset])) {\n        rng.deleteContents();\n      } else {\n        editor.getDoc().execCommand('Delete', false);\n      }\n    };\n    const findMarkerNode = scope => {\n      for (let markerNode = scope; markerNode; markerNode = markerNode.walk()) {\n        if (markerNode.attr('id') === 'mce_marker') {\n          return Optional.some(markerNode);\n        }\n      }\n      return Optional.none();\n    };\n    const notHeadingsInSummary = (dom, node, fragment) => {\n      var _a;\n      return exists(fragment.children(), isHeading) && ((_a = dom.getParent(node, dom.isBlock)) === null || _a === void 0 ? void 0 : _a.nodeName) === 'SUMMARY';\n    };\n    const insertHtmlAtCaret = (editor, value, details) => {\n      var _a, _b;\n      const selection = editor.selection;\n      const dom = editor.dom;\n      const parser = editor.parser;\n      const merge = details.merge;\n      const serializer = HtmlSerializer({\n        validate: true\n      }, editor.schema);\n      const bookmarkHtml = '<span id=\"mce_marker\" data-mce-type=\"bookmark\">&#xFEFF;<\/span>';\n      if (!details.preserve_zwsp) {\n        value = trim$2(value);\n      }\n      if (value.indexOf('{$caret}') === -1) {\n        value += '{$caret}';\n      }\n      value = value.replace(/\\{\\$caret\\}/, bookmarkHtml);\n      let rng = selection.getRng();\n      const caretElement = rng.startContainer;\n      const body = editor.getBody();\n      if (caretElement === body && selection.isCollapsed()) {\n        if (dom.isBlock(body.firstChild) && canHaveChildren(editor, body.firstChild) && dom.isEmpty(body.firstChild)) {\n          rng = dom.createRng();\n          rng.setStart(body.firstChild, 0);\n          rng.setEnd(body.firstChild, 0);\n          selection.setRng(rng);\n        }\n      }\n      if (!selection.isCollapsed()) {\n        deleteSelectedContent(editor);\n      }\n      const parentNode = selection.getNode();\n      const parserArgs = {\n        context: parentNode.nodeName.toLowerCase(),\n        data: details.data,\n        insert: true\n      };\n      const fragment = parser.parse(value, parserArgs);\n      if (details.paste === true && isListFragment(editor.schema, fragment) && isParentBlockLi(dom, parentNode)) {\n        rng = insertAtCaret$1(serializer, dom, selection.getRng(), fragment);\n        if (rng) {\n          selection.setRng(rng);\n        }\n        return value;\n      }\n      if (details.paste === true && shouldPasteContentOnly(dom, fragment, parentNode, editor.getBody())) {\n        (_a = fragment.firstChild) === null || _a === void 0 ? void 0 : _a.unwrap();\n      }\n      markFragmentElements(fragment);\n      let node = fragment.lastChild;\n      if (node && node.attr('id') === 'mce_marker') {\n        const marker = node;\n        for (node = node.prev; node; node = node.walk(true)) {\n          if (node.type === 3 || !dom.isBlock(node.name)) {\n            if (node.parent && editor.schema.isValidChild(node.parent.name, 'span')) {\n              node.parent.insert(marker, node, node.name === 'br');\n            }\n            break;\n          }\n        }\n      }\n      editor._selectionOverrides.showBlockCaretContainer(parentNode);\n      if (!parserArgs.invalid && !notHeadingsInSummary(dom, parentNode, fragment)) {\n        value = serializer.serialize(fragment);\n        validInsertion(editor, value, parentNode);\n      } else {\n        editor.selection.setContent(bookmarkHtml);\n        let parentNode = selection.getNode();\n        let tempNode;\n        const rootNode = editor.getBody();\n        if (isDocument$1(parentNode)) {\n          parentNode = tempNode = rootNode;\n        } else {\n          tempNode = parentNode;\n        }\n        while (tempNode && tempNode !== rootNode) {\n          parentNode = tempNode;\n          tempNode = tempNode.parentNode;\n        }\n        value = parentNode === rootNode ? rootNode.innerHTML : dom.getOuterHTML(parentNode);\n        const root = parser.parse(value);\n        const markerNode = findMarkerNode(root);\n        const editingHost = markerNode.bind(findClosestEditingHost).getOr(root);\n        markerNode.each(marker => marker.replace(fragment));\n        const toExtract = fragment.children();\n        const parent = (_b = fragment.parent) !== null && _b !== void 0 ? _b : root;\n        fragment.unwrap();\n        const invalidChildren = filter$5(toExtract, node => isInvalid(editor.schema, node, parent));\n        cleanInvalidNodes(invalidChildren, editor.schema, editingHost);\n        filter$2(parser.getNodeFilters(), parser.getAttributeFilters(), root);\n        value = serializer.serialize(root);\n        if (parentNode === rootNode) {\n          dom.setHTML(rootNode, value);\n        } else {\n          dom.setOuterHTML(parentNode, value);\n        }\n      }\n      reduceInlineTextElements(editor, merge);\n      moveSelectionToMarker(editor, dom.get('mce_marker'));\n      unmarkFragmentElements(editor.getBody());\n      trimBrsFromTableCell(dom, selection.getStart(), editor.schema);\n      updateCaret(editor.schema, editor.getBody(), selection.getStart());\n      return value;\n    };\n\n    const isTreeNode = content => content instanceof AstNode;\n\n    const moveSelection = editor => {\n      if (hasFocus(editor)) {\n        firstPositionIn(editor.getBody()).each(pos => {\n          const node = pos.getNode();\n          const caretPos = isTable$2(node) ? firstPositionIn(node).getOr(pos) : pos;\n          editor.selection.setRng(caretPos.toRange());\n        });\n      }\n    };\n    const setEditorHtml = (editor, html, noSelection) => {\n      editor.dom.setHTML(editor.getBody(), html);\n      if (noSelection !== true) {\n        moveSelection(editor);\n      }\n    };\n    const setContentString = (editor, body, content, args) => {\n      content = trim$2(content);\n      if (content.length === 0 || /^\\s+$/.test(content)) {\n        const padd = '<br data-mce-bogus=\"1\">';\n        if (body.nodeName === 'TABLE') {\n          content = '<tr><td>' + padd + '<\/td><\/tr>';\n        } else if (/^(UL|OL)$/.test(body.nodeName)) {\n          content = '<li>' + padd + '<\/li>';\n        }\n        const forcedRootBlockName = getForcedRootBlock(editor);\n        if (editor.schema.isValidChild(body.nodeName.toLowerCase(), forcedRootBlockName.toLowerCase())) {\n          content = padd;\n          content = editor.dom.createHTML(forcedRootBlockName, getForcedRootBlockAttrs(editor), content);\n        } else if (!content) {\n          content = padd;\n        }\n        setEditorHtml(editor, content, args.no_selection);\n        return {\n          content,\n          html: content\n        };\n      } else {\n        if (args.format !== 'raw') {\n          content = HtmlSerializer({\n            validate: false\n          }, editor.schema).serialize(editor.parser.parse(content, {\n            isRootContent: true,\n            insert: true\n          }));\n        }\n        const trimmedHtml = isWsPreserveElement(SugarElement.fromDom(body)) ? content : Tools.trim(content);\n        setEditorHtml(editor, trimmedHtml, args.no_selection);\n        return {\n          content: trimmedHtml,\n          html: trimmedHtml\n        };\n      }\n    };\n    const setContentTree = (editor, body, content, args) => {\n      filter$2(editor.parser.getNodeFilters(), editor.parser.getAttributeFilters(), content);\n      const html = HtmlSerializer({\n        validate: false\n      }, editor.schema).serialize(content);\n      const trimmedHtml = trim$2(isWsPreserveElement(SugarElement.fromDom(body)) ? html : Tools.trim(html));\n      setEditorHtml(editor, trimmedHtml, args.no_selection);\n      return {\n        content,\n        html: trimmedHtml\n      };\n    };\n    const setContentInternal = (editor, content, args) => {\n      return Optional.from(editor.getBody()).map(body => {\n        if (isTreeNode(content)) {\n          return setContentTree(editor, body, content, args);\n        } else {\n          return setContentString(editor, body, content, args);\n        }\n      }).getOr({\n        content,\n        html: isTreeNode(args.content) ? '' : args.content\n      });\n    };\n\n    const ensureIsRoot = isRoot => isFunction(isRoot) ? isRoot : never;\n    const ancestor = (scope, transform, isRoot) => {\n      let element = scope.dom;\n      const stop = ensureIsRoot(isRoot);\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        const transformed = transform(el);\n        if (transformed.isSome()) {\n          return transformed;\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$1 = (scope, transform, isRoot) => {\n      const current = transform(scope);\n      const stop = ensureIsRoot(isRoot);\n      return current.orThunk(() => stop(scope) ? Optional.none() : ancestor(scope, transform, stop));\n    };\n\n    const isEq$3 = isEq$5;\n    const matchesUnInheritedFormatSelector = (ed, node, name) => {\n      const formatList = ed.formatter.get(name);\n      if (formatList) {\n        for (let i = 0; i < formatList.length; i++) {\n          const format = formatList[i];\n          if (isSelectorFormat(format) && format.inherit === false && ed.dom.is(node, format.selector)) {\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    const matchParents = (editor, node, name, vars, similar) => {\n      const root = editor.dom.getRoot();\n      if (node === root) {\n        return false;\n      }\n      const matchedNode = editor.dom.getParent(node, elm => {\n        if (matchesUnInheritedFormatSelector(editor, elm, name)) {\n          return true;\n        }\n        return elm.parentNode === root || !!matchNode(editor, elm, name, vars, true);\n      });\n      return !!matchNode(editor, matchedNode, name, vars, similar);\n    };\n    const matchName = (dom, node, format) => {\n      if (isInlineFormat(format) && isEq$3(node, format.inline)) {\n        return true;\n      }\n      if (isBlockFormat(format) && isEq$3(node, format.block)) {\n        return true;\n      }\n      if (isSelectorFormat(format)) {\n        return isElement$6(node) && dom.is(node, format.selector);\n      }\n      return false;\n    };\n    const matchItems = (dom, node, format, itemName, similar, vars) => {\n      const items = format[itemName];\n      const matchAttributes = itemName === 'attributes';\n      if (isFunction(format.onmatch)) {\n        return format.onmatch(node, format, itemName);\n      }\n      if (items) {\n        if (!isArrayLike(items)) {\n          for (const key in items) {\n            if (has$2(items, key)) {\n              const value = matchAttributes ? dom.getAttrib(node, key) : getStyle(dom, node, key);\n              const expectedValue = replaceVars(items[key], vars);\n              const isEmptyValue = isNullable(value) || isEmpty$3(value);\n              if (isEmptyValue && isNullable(expectedValue)) {\n                continue;\n              }\n              if (similar && isEmptyValue && !format.exact) {\n                return false;\n              }\n              if ((!similar || format.exact) && !isEq$3(value, normalizeStyleValue(expectedValue, key))) {\n                return false;\n              }\n            }\n          }\n        } else {\n          for (let i = 0; i < items.length; i++) {\n            if (matchAttributes ? dom.getAttrib(node, items[i]) : getStyle(dom, node, items[i])) {\n              return true;\n            }\n          }\n        }\n      }\n      return true;\n    };\n    const matchNode = (ed, node, name, vars, similar) => {\n      const formatList = ed.formatter.get(name);\n      const dom = ed.dom;\n      if (formatList && isElement$6(node)) {\n        for (let i = 0; i < formatList.length; i++) {\n          const format = formatList[i];\n          if (matchName(ed.dom, node, format) && matchItems(dom, node, format, 'attributes', similar, vars) && matchItems(dom, node, format, 'styles', similar, vars)) {\n            const classes = format.classes;\n            if (classes) {\n              for (let x = 0; x < classes.length; x++) {\n                if (!ed.dom.hasClass(node, replaceVars(classes[x], vars))) {\n                  return;\n                }\n              }\n            }\n            return format;\n          }\n        }\n      }\n      return undefined;\n    };\n    const match$2 = (editor, name, vars, node, similar) => {\n      if (node) {\n        return matchParents(editor, node, name, vars, similar);\n      }\n      node = editor.selection.getNode();\n      if (matchParents(editor, node, name, vars, similar)) {\n        return true;\n      }\n      const startNode = editor.selection.getStart();\n      if (startNode !== node) {\n        if (matchParents(editor, startNode, name, vars, similar)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const matchAll = (editor, names, vars) => {\n      const matchedFormatNames = [];\n      const checkedMap = {};\n      const startElement = editor.selection.getStart();\n      editor.dom.getParent(startElement, node => {\n        for (let i = 0; i < names.length; i++) {\n          const name = names[i];\n          if (!checkedMap[name] && matchNode(editor, node, name, vars)) {\n            checkedMap[name] = true;\n            matchedFormatNames.push(name);\n          }\n        }\n      }, editor.dom.getRoot());\n      return matchedFormatNames;\n    };\n    const closest = (editor, names) => {\n      const isRoot = elm => eq(elm, SugarElement.fromDom(editor.getBody()));\n      const match = (elm, name) => matchNode(editor, elm.dom, name) ? Optional.some(name) : Optional.none();\n      return Optional.from(editor.selection.getStart(true)).bind(rawElm => closest$1(SugarElement.fromDom(rawElm), elm => findMap(names, name => match(elm, name)), isRoot)).getOrNull();\n    };\n    const canApply = (editor, name) => {\n      const formatList = editor.formatter.get(name);\n      const dom = editor.dom;\n      if (formatList && editor.selection.isEditable()) {\n        const startNode = editor.selection.getStart();\n        const parents = getParents$2(dom, startNode);\n        for (let x = formatList.length - 1; x >= 0; x--) {\n          const format = formatList[x];\n          if (!isSelectorFormat(format)) {\n            return true;\n          }\n          for (let i = parents.length - 1; i >= 0; i--) {\n            if (dom.is(parents[i], format.selector)) {\n              return true;\n            }\n          }\n        }\n      }\n      return false;\n    };\n    const matchAllOnNode = (editor, node, formatNames) => foldl(formatNames, (acc, name) => {\n      const matchSimilar = isVariableFormatName(editor, name);\n      if (editor.formatter.matchNode(node, name, {}, matchSimilar)) {\n        return acc.concat([name]);\n      } else {\n        return acc;\n      }\n    }, []);\n\n    const ZWSP = ZWSP$1;\n    const importNode = (ownerDocument, node) => {\n      return ownerDocument.importNode(node, true);\n    };\n    const findFirstTextNode = node => {\n      if (node) {\n        const walker = new DomTreeWalker(node, node);\n        for (let tempNode = walker.current(); tempNode; tempNode = walker.next()) {\n          if (isText$a(tempNode)) {\n            return tempNode;\n          }\n        }\n      }\n      return null;\n    };\n    const createCaretContainer = fill => {\n      const caretContainer = SugarElement.fromTag('span');\n      setAll$1(caretContainer, {\n        'id': CARET_ID,\n        'data-mce-bogus': '1',\n        'data-mce-type': 'format-caret'\n      });\n      if (fill) {\n        append$1(caretContainer, SugarElement.fromText(ZWSP));\n      }\n      return caretContainer;\n    };\n    const trimZwspFromCaretContainer = caretContainerNode => {\n      const textNode = findFirstTextNode(caretContainerNode);\n      if (textNode && textNode.data.charAt(0) === ZWSP) {\n        textNode.deleteData(0, 1);\n      }\n      return textNode;\n    };\n    const removeCaretContainerNode = (editor, node, moveCaret) => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      if (isCaretContainerEmpty(node)) {\n        deleteElement$2(editor, false, SugarElement.fromDom(node), moveCaret, true);\n      } else {\n        const rng = selection.getRng();\n        const block = dom.getParent(node, dom.isBlock);\n        const startContainer = rng.startContainer;\n        const startOffset = rng.startOffset;\n        const endContainer = rng.endContainer;\n        const endOffset = rng.endOffset;\n        const textNode = trimZwspFromCaretContainer(node);\n        dom.remove(node, true);\n        if (startContainer === textNode && startOffset > 0) {\n          rng.setStart(textNode, startOffset - 1);\n        }\n        if (endContainer === textNode && endOffset > 0) {\n          rng.setEnd(textNode, endOffset - 1);\n        }\n        if (block && dom.isEmpty(block)) {\n          fillWithPaddingBr(SugarElement.fromDom(block));\n        }\n        selection.setRng(rng);\n      }\n    };\n    const removeCaretContainer = (editor, node, moveCaret) => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      if (!node) {\n        node = getParentCaretContainer(editor.getBody(), selection.getStart());\n        if (!node) {\n          while (node = dom.get(CARET_ID)) {\n            removeCaretContainerNode(editor, node, moveCaret);\n          }\n        }\n      } else {\n        removeCaretContainerNode(editor, node, moveCaret);\n      }\n    };\n    const insertCaretContainerNode = (editor, caretContainer, formatNode) => {\n      var _a, _b;\n      const dom = editor.dom;\n      const block = dom.getParent(formatNode, curry(isTextBlock$1, editor.schema));\n      if (block && dom.isEmpty(block)) {\n        (_a = formatNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(caretContainer, formatNode);\n      } else {\n        removeTrailingBr(SugarElement.fromDom(formatNode));\n        if (dom.isEmpty(formatNode)) {\n          (_b = formatNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(caretContainer, formatNode);\n        } else {\n          dom.insertAfter(caretContainer, formatNode);\n        }\n      }\n    };\n    const appendNode = (parentNode, node) => {\n      parentNode.appendChild(node);\n      return node;\n    };\n    const insertFormatNodesIntoCaretContainer = (formatNodes, caretContainer) => {\n      var _a;\n      const innerMostFormatNode = foldr(formatNodes, (parentNode, formatNode) => {\n        return appendNode(parentNode, formatNode.cloneNode(false));\n      }, caretContainer);\n      const doc = (_a = innerMostFormatNode.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      return appendNode(innerMostFormatNode, doc.createTextNode(ZWSP));\n    };\n    const cleanFormatNode = (editor, caretContainer, formatNode, name, vars, similar) => {\n      const formatter = editor.formatter;\n      const dom = editor.dom;\n      const validFormats = filter$5(keys(formatter.get()), formatName => formatName !== name && !contains$1(formatName, 'removeformat'));\n      const matchedFormats = matchAllOnNode(editor, formatNode, validFormats);\n      const uniqueFormats = filter$5(matchedFormats, fmtName => !areSimilarFormats(editor, fmtName, name));\n      if (uniqueFormats.length > 0) {\n        const clonedFormatNode = formatNode.cloneNode(false);\n        dom.add(caretContainer, clonedFormatNode);\n        formatter.remove(name, vars, clonedFormatNode, similar);\n        dom.remove(clonedFormatNode);\n        return Optional.some(clonedFormatNode);\n      } else {\n        return Optional.none();\n      }\n    };\n    const applyCaretFormat = (editor, name, vars) => {\n      let caretContainer;\n      const selection = editor.selection;\n      const formatList = editor.formatter.get(name);\n      if (!formatList) {\n        return;\n      }\n      const selectionRng = selection.getRng();\n      let offset = selectionRng.startOffset;\n      const container = selectionRng.startContainer;\n      const text = container.nodeValue;\n      caretContainer = getParentCaretContainer(editor.getBody(), selection.getStart());\n      const wordcharRegex = /[^\\s\\u00a0\\u00ad\\u200b\\ufeff]/;\n      if (text && offset > 0 && offset < text.length && wordcharRegex.test(text.charAt(offset)) && wordcharRegex.test(text.charAt(offset - 1))) {\n        const bookmark = selection.getBookmark();\n        selectionRng.collapse(true);\n        let rng = expandRng(editor.dom, selectionRng, formatList);\n        rng = split(rng);\n        editor.formatter.apply(name, vars, rng);\n        selection.moveToBookmark(bookmark);\n      } else {\n        let textNode = caretContainer ? findFirstTextNode(caretContainer) : null;\n        if (!caretContainer || (textNode === null || textNode === void 0 ? void 0 : textNode.data) !== ZWSP) {\n          caretContainer = importNode(editor.getDoc(), createCaretContainer(true).dom);\n          textNode = caretContainer.firstChild;\n          selectionRng.insertNode(caretContainer);\n          offset = 1;\n          editor.formatter.apply(name, vars, caretContainer);\n        } else {\n          editor.formatter.apply(name, vars, caretContainer);\n        }\n        selection.setCursorLocation(textNode, offset);\n      }\n    };\n    const removeCaretFormat = (editor, name, vars, similar) => {\n      const dom = editor.dom;\n      const selection = editor.selection;\n      let hasContentAfter = false;\n      const formatList = editor.formatter.get(name);\n      if (!formatList) {\n        return;\n      }\n      const rng = selection.getRng();\n      const container = rng.startContainer;\n      const offset = rng.startOffset;\n      let node = container;\n      if (isText$a(container)) {\n        if (offset !== container.data.length) {\n          hasContentAfter = true;\n        }\n        node = node.parentNode;\n      }\n      const parents = [];\n      let formatNode;\n      while (node) {\n        if (matchNode(editor, node, name, vars, similar)) {\n          formatNode = node;\n          break;\n        }\n        if (node.nextSibling) {\n          hasContentAfter = true;\n        }\n        parents.push(node);\n        node = node.parentNode;\n      }\n      if (!formatNode) {\n        return;\n      }\n      if (hasContentAfter) {\n        const bookmark = selection.getBookmark();\n        rng.collapse(true);\n        let expandedRng = expandRng(dom, rng, formatList, true);\n        expandedRng = split(expandedRng);\n        editor.formatter.remove(name, vars, expandedRng, similar);\n        selection.moveToBookmark(bookmark);\n      } else {\n        const caretContainer = getParentCaretContainer(editor.getBody(), formatNode);\n        const parentsAfter = isNonNullable(caretContainer) ? dom.getParents(formatNode.parentNode, always, caretContainer) : [];\n        const newCaretContainer = createCaretContainer(false).dom;\n        insertCaretContainerNode(editor, newCaretContainer, caretContainer !== null && caretContainer !== void 0 ? caretContainer : formatNode);\n        const cleanedFormatNode = cleanFormatNode(editor, newCaretContainer, formatNode, name, vars, similar);\n        const caretTextNode = insertFormatNodesIntoCaretContainer([...parents, ...cleanedFormatNode.toArray(), ...parentsAfter], newCaretContainer);\n        if (caretContainer) {\n          removeCaretContainerNode(editor, caretContainer, isNonNullable(caretContainer));\n        }\n        selection.setCursorLocation(caretTextNode, 1);\n        if (dom.isEmpty(formatNode)) {\n          dom.remove(formatNode);\n        }\n      }\n    };\n    const disableCaretContainer = (editor, keyCode, moveCaret) => {\n      const selection = editor.selection,\n        body = editor.getBody();\n      removeCaretContainer(editor, null, moveCaret);\n      if ((keyCode === 8 || keyCode === 46) && selection.isCollapsed() && selection.getStart().innerHTML === ZWSP) {\n        removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart()), true);\n      }\n      if (keyCode === 37 || keyCode === 39) {\n        removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart()), true);\n      }\n    };\n    const endsWithNbsp = element => isText$a(element) && endsWith(element.data, nbsp);\n    const setup$v = editor => {\n      editor.on('mouseup keydown', e => {\n        disableCaretContainer(editor, e.keyCode, endsWithNbsp(editor.selection.getRng().endContainer));\n      });\n    };\n    const createCaretFormat = formatNodes => {\n      const caretContainer = createCaretContainer(false);\n      const innerMost = insertFormatNodesIntoCaretContainer(formatNodes, caretContainer.dom);\n      return {\n        caretContainer,\n        caretPosition: CaretPosition(innerMost, 0)\n      };\n    };\n    const replaceWithCaretFormat = (targetNode, formatNodes) => {\n      const {\n        caretContainer,\n        caretPosition\n      } = createCaretFormat(formatNodes);\n      before$3(SugarElement.fromDom(targetNode), caretContainer);\n      remove$5(SugarElement.fromDom(targetNode));\n      return caretPosition;\n    };\n    const createCaretFormatAtStart$1 = (rng, formatNodes) => {\n      const {\n        caretContainer,\n        caretPosition\n      } = createCaretFormat(formatNodes);\n      rng.insertNode(caretContainer.dom);\n      return caretPosition;\n    };\n    const isFormatElement = (editor, element) => {\n      if (isCaretNode(element.dom)) {\n        return false;\n      }\n      const inlineElements = editor.schema.getTextInlineElements();\n      return has$2(inlineElements, name(element)) && !isCaretNode(element.dom) && !isBogus$2(element.dom);\n    };\n\n    const postProcessHooks = {};\n    const isPre = matchNodeNames(['pre']);\n    const addPostProcessHook = (name, hook) => {\n      const hooks = postProcessHooks[name];\n      if (!hooks) {\n        postProcessHooks[name] = [];\n      }\n      postProcessHooks[name].push(hook);\n    };\n    const postProcess$1 = (name, editor) => {\n      if (has$2(postProcessHooks, name)) {\n        each$e(postProcessHooks[name], hook => {\n          hook(editor);\n        });\n      }\n    };\n    addPostProcessHook('pre', editor => {\n      const rng = editor.selection.getRng();\n      const hasPreSibling = blocks => pre => {\n        const prev = pre.previousSibling;\n        return isPre(prev) && contains$2(blocks, prev);\n      };\n      const joinPre = (pre1, pre2) => {\n        const sPre2 = SugarElement.fromDom(pre2);\n        const doc = documentOrOwner(sPre2).dom;\n        remove$5(sPre2);\n        append(SugarElement.fromDom(pre1), [SugarElement.fromTag('br', doc), SugarElement.fromTag('br', doc), ...children$1(sPre2)]);\n      };\n      if (!rng.collapsed) {\n        const blocks = editor.selection.getSelectedBlocks();\n        const preBlocks = filter$5(filter$5(blocks, isPre), hasPreSibling(blocks));\n        each$e(preBlocks, pre => {\n          joinPre(pre.previousSibling, pre);\n        });\n      }\n    });\n\n    const listItemStyles = ['fontWeight', 'fontStyle', 'color', 'fontSize', 'fontFamily'];\n    const hasListStyles = fmt => isObject(fmt.styles) && exists(keys(fmt.styles), name => contains$2(listItemStyles, name));\n    const findExpandedListItemFormat = formats => find$2(formats, fmt => isInlineFormat(fmt) && fmt.inline === 'span' && hasListStyles(fmt));\n    const getExpandedListItemFormat = (formatter, format) => {\n      const formatList = formatter.get(format);\n      return isArray$1(formatList) ? findExpandedListItemFormat(formatList) : Optional.none();\n    };\n    const isRngStartAtStartOfElement = (rng, elm) => prevPosition(elm, CaretPosition.fromRangeStart(rng)).isNone();\n    const isRngEndAtEndOfElement = (rng, elm) => {\n      return nextPosition(elm, CaretPosition.fromRangeEnd(rng)).exists(pos => !isBr$6(pos.getNode()) || nextPosition(elm, pos).isSome()) === false;\n    };\n    const isEditableListItem = dom => elm => isListItem$2(elm) && dom.isEditable(elm);\n    const getFullySelectedBlocks = selection => {\n      const blocks = selection.getSelectedBlocks();\n      const rng = selection.getRng();\n      if (selection.isCollapsed()) {\n        return [];\n      }\n      if (blocks.length === 1) {\n        return isRngStartAtStartOfElement(rng, blocks[0]) && isRngEndAtEndOfElement(rng, blocks[0]) ? blocks : [];\n      } else {\n        const first = head(blocks).filter(elm => isRngStartAtStartOfElement(rng, elm)).toArray();\n        const last = last$3(blocks).filter(elm => isRngEndAtEndOfElement(rng, elm)).toArray();\n        const middle = blocks.slice(1, -1);\n        return first.concat(middle).concat(last);\n      }\n    };\n    const getFullySelectedListItems = selection => filter$5(getFullySelectedBlocks(selection), isEditableListItem(selection.dom));\n    const getPartiallySelectedListItems = selection => filter$5(selection.getSelectedBlocks(), isEditableListItem(selection.dom));\n\n    const each$8 = Tools.each;\n    const isElementNode = node => isElement$6(node) && !isBookmarkNode$1(node) && !isCaretNode(node) && !isBogus$2(node);\n    const findElementSibling = (node, siblingName) => {\n      for (let sibling = node; sibling; sibling = sibling[siblingName]) {\n        if (isText$a(sibling) && isNotEmpty(sibling.data)) {\n          return node;\n        }\n        if (isElement$6(sibling) && !isBookmarkNode$1(sibling)) {\n          return sibling;\n        }\n      }\n      return node;\n    };\n    const mergeSiblingsNodes = (editor, prev, next) => {\n      const elementUtils = ElementUtils(editor);\n      const isPrevEditable = isHTMLElement(prev) && editor.dom.isEditable(prev);\n      const isNextEditable = isHTMLElement(next) && editor.dom.isEditable(next);\n      if (isPrevEditable && isNextEditable) {\n        const prevSibling = findElementSibling(prev, 'previousSibling');\n        const nextSibling = findElementSibling(next, 'nextSibling');\n        if (elementUtils.compare(prevSibling, nextSibling)) {\n          for (let sibling = prevSibling.nextSibling; sibling && sibling !== nextSibling;) {\n            const tmpSibling = sibling;\n            sibling = sibling.nextSibling;\n            prevSibling.appendChild(tmpSibling);\n          }\n          editor.dom.remove(nextSibling);\n          Tools.each(Tools.grep(nextSibling.childNodes), node => {\n            prevSibling.appendChild(node);\n          });\n          return prevSibling;\n        }\n      }\n      return next;\n    };\n    const mergeSiblings = (editor, format, vars, node) => {\n      var _a;\n      if (node && format.merge_siblings !== false) {\n        const newNode = (_a = mergeSiblingsNodes(editor, getNonWhiteSpaceSibling(node), node)) !== null && _a !== void 0 ? _a : node;\n        mergeSiblingsNodes(editor, newNode, getNonWhiteSpaceSibling(newNode, true));\n      }\n    };\n    const clearChildStyles = (dom, format, node) => {\n      if (format.clear_child_styles) {\n        const selector = format.links ? '*:not(a)' : '*';\n        each$8(dom.select(selector, node), childNode => {\n          if (isElementNode(childNode) && dom.isEditable(childNode)) {\n            each$8(format.styles, (_value, name) => {\n              dom.setStyle(childNode, name, '');\n            });\n          }\n        });\n      }\n    };\n    const processChildElements = (node, filter, process) => {\n      each$8(node.childNodes, node => {\n        if (isElementNode(node)) {\n          if (filter(node)) {\n            process(node);\n          }\n          if (node.hasChildNodes()) {\n            processChildElements(node, filter, process);\n          }\n        }\n      });\n    };\n    const unwrapEmptySpan = (dom, node) => {\n      if (node.nodeName === 'SPAN' && dom.getAttribs(node).length === 0) {\n        dom.remove(node, true);\n      }\n    };\n    const hasStyle = (dom, name) => node => !!(node && getStyle(dom, node, name));\n    const applyStyle = (dom, name, value) => node => {\n      dom.setStyle(node, name, value);\n      if (node.getAttribute('style') === '') {\n        node.removeAttribute('style');\n      }\n      unwrapEmptySpan(dom, node);\n    };\n\n    const removeResult = Adt.generate([{\n      keep: []\n    }, {\n      rename: ['name']\n    }, {\n      removed: []\n    }]);\n    const MCE_ATTR_RE = /^(src|href|style)$/;\n    const each$7 = Tools.each;\n    const isEq$2 = isEq$5;\n    const isTableCellOrRow = node => /^(TR|TH|TD)$/.test(node.nodeName);\n    const isChildOfInlineParent = (dom, node, parent) => dom.isChildOf(node, parent) && node !== parent && !dom.isBlock(parent);\n    const getContainer = (ed, rng, start) => {\n      let container = rng[start ? 'startContainer' : 'endContainer'];\n      let offset = rng[start ? 'startOffset' : 'endOffset'];\n      if (isElement$6(container)) {\n        const lastIdx = container.childNodes.length - 1;\n        if (!start && offset) {\n          offset--;\n        }\n        container = container.childNodes[offset > lastIdx ? lastIdx : offset];\n      }\n      if (isText$a(container) && start && offset >= container.data.length) {\n        container = new DomTreeWalker(container, ed.getBody()).next() || container;\n      }\n      if (isText$a(container) && !start && offset === 0) {\n        container = new DomTreeWalker(container, ed.getBody()).prev() || container;\n      }\n      return container;\n    };\n    const normalizeTableSelection = (node, start) => {\n      const prop = start ? 'firstChild' : 'lastChild';\n      const childNode = node[prop];\n      if (isTableCellOrRow(node) && childNode) {\n        if (node.nodeName === 'TR') {\n          return childNode[prop] || childNode;\n        } else {\n          return childNode;\n        }\n      }\n      return node;\n    };\n    const wrap$1 = (dom, node, name, attrs) => {\n      var _a;\n      const wrapper = dom.create(name, attrs);\n      (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(wrapper, node);\n      wrapper.appendChild(node);\n      return wrapper;\n    };\n    const wrapWithSiblings = (dom, node, next, name, attrs) => {\n      const start = SugarElement.fromDom(node);\n      const wrapper = SugarElement.fromDom(dom.create(name, attrs));\n      const siblings = next ? nextSiblings(start) : prevSiblings(start);\n      append(wrapper, siblings);\n      if (next) {\n        before$3(start, wrapper);\n        prepend(wrapper, start);\n      } else {\n        after$4(start, wrapper);\n        append$1(wrapper, start);\n      }\n      return wrapper.dom;\n    };\n    const isColorFormatAndAnchor = (node, format) => format.links && node.nodeName === 'A';\n    const removeNode = (ed, node, format) => {\n      const parentNode = node.parentNode;\n      let rootBlockElm;\n      const dom = ed.dom;\n      const forcedRootBlock = getForcedRootBlock(ed);\n      if (isBlockFormat(format)) {\n        if (parentNode === dom.getRoot()) {\n          if (!format.list_block || !isEq$2(node, format.list_block)) {\n            each$e(from(node.childNodes), node => {\n              if (isValid(ed, forcedRootBlock, node.nodeName.toLowerCase())) {\n                if (!rootBlockElm) {\n                  rootBlockElm = wrap$1(dom, node, forcedRootBlock);\n                  dom.setAttribs(rootBlockElm, getForcedRootBlockAttrs(ed));\n                } else {\n                  rootBlockElm.appendChild(node);\n                }\n              } else {\n                rootBlockElm = null;\n              }\n            });\n          }\n        }\n      }\n      if (isMixedFormat(format) && !isEq$2(format.inline, node)) {\n        return;\n      }\n      dom.remove(node, true);\n    };\n    const processFormatAttrOrStyle = (name, value, vars) => {\n      if (isNumber(name)) {\n        return {\n          name: value,\n          value: null\n        };\n      } else {\n        return {\n          name,\n          value: replaceVars(value, vars)\n        };\n      }\n    };\n    const removeEmptyStyleAttributeIfNeeded = (dom, elm) => {\n      if (dom.getAttrib(elm, 'style') === '') {\n        elm.removeAttribute('style');\n        elm.removeAttribute('data-mce-style');\n      }\n    };\n    const removeStyles = (dom, elm, format, vars, compareNode) => {\n      let stylesModified = false;\n      each$7(format.styles, (value, name) => {\n        const {\n          name: styleName,\n          value: styleValue\n        } = processFormatAttrOrStyle(name, value, vars);\n        const normalizedStyleValue = normalizeStyleValue(styleValue, styleName);\n        if (format.remove_similar || isNull(styleValue) || !isElement$6(compareNode) || isEq$2(getStyle(dom, compareNode, styleName), normalizedStyleValue)) {\n          dom.setStyle(elm, styleName, '');\n        }\n        stylesModified = true;\n      });\n      if (stylesModified) {\n        removeEmptyStyleAttributeIfNeeded(dom, elm);\n      }\n    };\n    const removeListStyleFormats = (editor, name, vars) => {\n      if (name === 'removeformat') {\n        each$e(getPartiallySelectedListItems(editor.selection), li => {\n          each$e(listItemStyles, name => editor.dom.setStyle(li, name, ''));\n          removeEmptyStyleAttributeIfNeeded(editor.dom, li);\n        });\n      } else {\n        getExpandedListItemFormat(editor.formatter, name).each(liFmt => {\n          each$e(getPartiallySelectedListItems(editor.selection), li => removeStyles(editor.dom, li, liFmt, vars, null));\n        });\n      }\n    };\n    const removeNodeFormatInternal = (ed, format, vars, node, compareNode) => {\n      const dom = ed.dom;\n      const elementUtils = ElementUtils(ed);\n      const schema = ed.schema;\n      if (isInlineFormat(format) && isTransparentElementName(schema, format.inline) && isTransparentBlock(schema, node) && node.parentElement === ed.getBody()) {\n        removeNode(ed, node, format);\n        return removeResult.removed();\n      }\n      if (!format.ceFalseOverride && node && dom.getContentEditableParent(node) === 'false') {\n        return removeResult.keep();\n      }\n      if (node && !matchName(dom, node, format) && !isColorFormatAndAnchor(node, format)) {\n        return removeResult.keep();\n      }\n      const elm = node;\n      const preserveAttributes = format.preserve_attributes;\n      if (isInlineFormat(format) && format.remove === 'all' && isArray$1(preserveAttributes)) {\n        const attrsToPreserve = filter$5(dom.getAttribs(elm), attr => contains$2(preserveAttributes, attr.name.toLowerCase()));\n        dom.removeAllAttribs(elm);\n        each$e(attrsToPreserve, attr => dom.setAttrib(elm, attr.name, attr.value));\n        if (attrsToPreserve.length > 0) {\n          return removeResult.rename('span');\n        }\n      }\n      if (format.remove !== 'all') {\n        removeStyles(dom, elm, format, vars, compareNode);\n        each$7(format.attributes, (value, name) => {\n          const {\n            name: attrName,\n            value: attrValue\n          } = processFormatAttrOrStyle(name, value, vars);\n          if (format.remove_similar || isNull(attrValue) || !isElement$6(compareNode) || isEq$2(dom.getAttrib(compareNode, attrName), attrValue)) {\n            if (attrName === 'class') {\n              const currentValue = dom.getAttrib(elm, attrName);\n              if (currentValue) {\n                let valueOut = '';\n                each$e(currentValue.split(/\\s+/), cls => {\n                  if (/mce\\-\\w+/.test(cls)) {\n                    valueOut += (valueOut ? ' ' : '') + cls;\n                  }\n                });\n                if (valueOut) {\n                  dom.setAttrib(elm, attrName, valueOut);\n                  return;\n                }\n              }\n            }\n            if (MCE_ATTR_RE.test(attrName)) {\n              elm.removeAttribute('data-mce-' + attrName);\n            }\n            if (attrName === 'style' && matchNodeNames(['li'])(elm) && dom.getStyle(elm, 'list-style-type') === 'none') {\n              elm.removeAttribute(attrName);\n              dom.setStyle(elm, 'list-style-type', 'none');\n              return;\n            }\n            if (attrName === 'class') {\n              elm.removeAttribute('className');\n            }\n            elm.removeAttribute(attrName);\n          }\n        });\n        each$7(format.classes, value => {\n          value = replaceVars(value, vars);\n          if (!isElement$6(compareNode) || dom.hasClass(compareNode, value)) {\n            dom.removeClass(elm, value);\n          }\n        });\n        const attrs = dom.getAttribs(elm);\n        for (let i = 0; i < attrs.length; i++) {\n          const attrName = attrs[i].nodeName;\n          if (!elementUtils.isAttributeInternal(attrName)) {\n            return removeResult.keep();\n          }\n        }\n      }\n      if (format.remove !== 'none') {\n        removeNode(ed, elm, format);\n        return removeResult.removed();\n      }\n      return removeResult.keep();\n    };\n    const findFormatRoot = (editor, container, name, vars, similar) => {\n      let formatRoot;\n      if (container.parentNode) {\n        each$e(getParents$2(editor.dom, container.parentNode).reverse(), parent => {\n          if (!formatRoot && isElement$6(parent) && parent.id !== '_start' && parent.id !== '_end') {\n            const format = matchNode(editor, parent, name, vars, similar);\n            if (format && format.split !== false) {\n              formatRoot = parent;\n            }\n          }\n        });\n      }\n      return formatRoot;\n    };\n    const removeNodeFormatFromClone = (editor, format, vars, clone) => removeNodeFormatInternal(editor, format, vars, clone, clone).fold(constant(clone), newName => {\n      const fragment = editor.dom.createFragment();\n      fragment.appendChild(clone);\n      return editor.dom.rename(clone, newName);\n    }, constant(null));\n    const wrapAndSplit = (editor, formatList, formatRoot, container, target, split, format, vars) => {\n      var _a, _b;\n      let lastClone;\n      let firstClone;\n      const dom = editor.dom;\n      if (formatRoot) {\n        const formatRootParent = formatRoot.parentNode;\n        for (let parent = container.parentNode; parent && parent !== formatRootParent; parent = parent.parentNode) {\n          let clone = dom.clone(parent, false);\n          for (let i = 0; i < formatList.length; i++) {\n            clone = removeNodeFormatFromClone(editor, formatList[i], vars, clone);\n            if (clone === null) {\n              break;\n            }\n          }\n          if (clone) {\n            if (lastClone) {\n              clone.appendChild(lastClone);\n            }\n            if (!firstClone) {\n              firstClone = clone;\n            }\n            lastClone = clone;\n          }\n        }\n        if (split && (!format.mixed || !dom.isBlock(formatRoot))) {\n          container = (_a = dom.split(formatRoot, container)) !== null && _a !== void 0 ? _a : container;\n        }\n        if (lastClone && firstClone) {\n          (_b = target.parentNode) === null || _b === void 0 ? void 0 : _b.insertBefore(lastClone, target);\n          firstClone.appendChild(target);\n          if (isInlineFormat(format)) {\n            mergeSiblings(editor, format, vars, lastClone);\n          }\n        }\n      }\n      return container;\n    };\n    const removeFormatInternal = (ed, name, vars, node, similar) => {\n      const formatList = ed.formatter.get(name);\n      const format = formatList[0];\n      const dom = ed.dom;\n      const selection = ed.selection;\n      const splitToFormatRoot = container => {\n        const formatRoot = findFormatRoot(ed, container, name, vars, similar);\n        return wrapAndSplit(ed, formatList, formatRoot, container, container, true, format, vars);\n      };\n      const isRemoveBookmarkNode = node => isBookmarkNode$1(node) && isElement$6(node) && (node.id === '_start' || node.id === '_end');\n      const removeFormatOnNode = node => exists(formatList, fmt => removeNodeFormat(ed, fmt, vars, node, node));\n      const process = node => {\n        const children = from(node.childNodes);\n        const removed = removeFormatOnNode(node);\n        const currentNodeMatches = removed || exists(formatList, f => matchName(dom, node, f));\n        const parentNode = node.parentNode;\n        if (!currentNodeMatches && isNonNullable(parentNode) && shouldExpandToSelector(format)) {\n          removeFormatOnNode(parentNode);\n        }\n        if (format.deep) {\n          if (children.length) {\n            for (let i = 0; i < children.length; i++) {\n              process(children[i]);\n            }\n          }\n        }\n        const textDecorations = ['underline', 'line-through', 'overline'];\n        each$e(textDecorations, decoration => {\n          if (isElement$6(node) && ed.dom.getStyle(node, 'text-decoration') === decoration && node.parentNode && getTextDecoration(dom, node.parentNode) === decoration) {\n            removeNodeFormat(ed, {\n              deep: false,\n              exact: true,\n              inline: 'span',\n              styles: {\n                textDecoration: decoration\n              }\n            }, undefined, node);\n          }\n        });\n      };\n      const unwrap = start => {\n        const node = dom.get(start ? '_start' : '_end');\n        if (node) {\n          let out = node[start ? 'firstChild' : 'lastChild'];\n          if (isRemoveBookmarkNode(out)) {\n            out = out[start ? 'firstChild' : 'lastChild'];\n          }\n          if (isText$a(out) && out.data.length === 0) {\n            out = start ? node.previousSibling || node.nextSibling : node.nextSibling || node.previousSibling;\n          }\n          dom.remove(node, true);\n          return out;\n        } else {\n          return null;\n        }\n      };\n      const removeRngStyle = rng => {\n        let startContainer;\n        let endContainer;\n        let expandedRng = expandRng(dom, rng, formatList, rng.collapsed);\n        if (format.split) {\n          expandedRng = split(expandedRng);\n          startContainer = getContainer(ed, expandedRng, true);\n          endContainer = getContainer(ed, expandedRng);\n          if (startContainer !== endContainer) {\n            startContainer = normalizeTableSelection(startContainer, true);\n            endContainer = normalizeTableSelection(endContainer, false);\n            if (isChildOfInlineParent(dom, startContainer, endContainer)) {\n              const marker = Optional.from(startContainer.firstChild).getOr(startContainer);\n              splitToFormatRoot(wrapWithSiblings(dom, marker, true, 'span', {\n                'id': '_start',\n                'data-mce-type': 'bookmark'\n              }));\n              unwrap(true);\n              return;\n            }\n            if (isChildOfInlineParent(dom, endContainer, startContainer)) {\n              const marker = Optional.from(endContainer.lastChild).getOr(endContainer);\n              splitToFormatRoot(wrapWithSiblings(dom, marker, false, 'span', {\n                'id': '_end',\n                'data-mce-type': 'bookmark'\n              }));\n              unwrap(false);\n              return;\n            }\n            startContainer = wrap$1(dom, startContainer, 'span', {\n              'id': '_start',\n              'data-mce-type': 'bookmark'\n            });\n            endContainer = wrap$1(dom, endContainer, 'span', {\n              'id': '_end',\n              'data-mce-type': 'bookmark'\n            });\n            const newRng = dom.createRng();\n            newRng.setStartAfter(startContainer);\n            newRng.setEndBefore(endContainer);\n            walk$3(dom, newRng, nodes => {\n              each$e(nodes, n => {\n                if (!isBookmarkNode$1(n) && !isBookmarkNode$1(n.parentNode)) {\n                  splitToFormatRoot(n);\n                }\n              });\n            });\n            splitToFormatRoot(startContainer);\n            splitToFormatRoot(endContainer);\n            startContainer = unwrap(true);\n            endContainer = unwrap();\n          } else {\n            startContainer = endContainer = splitToFormatRoot(startContainer);\n          }\n          expandedRng.startContainer = startContainer.parentNode ? startContainer.parentNode : startContainer;\n          expandedRng.startOffset = dom.nodeIndex(startContainer);\n          expandedRng.endContainer = endContainer.parentNode ? endContainer.parentNode : endContainer;\n          expandedRng.endOffset = dom.nodeIndex(endContainer) + 1;\n        }\n        walk$3(dom, expandedRng, nodes => {\n          each$e(nodes, process);\n        });\n      };\n      if (node) {\n        if (isNode(node)) {\n          const rng = dom.createRng();\n          rng.setStartBefore(node);\n          rng.setEndAfter(node);\n          removeRngStyle(rng);\n        } else {\n          removeRngStyle(node);\n        }\n        fireFormatRemove(ed, name, node, vars);\n        return;\n      }\n      if (!selection.isCollapsed() || !isInlineFormat(format) || getCellsFromEditor(ed).length) {\n        preserveSelection(ed, () => runOnRanges(ed, removeRngStyle), startNode => isInlineFormat(format) && match$2(ed, name, vars, startNode));\n        ed.nodeChanged();\n      } else {\n        removeCaretFormat(ed, name, vars, similar);\n      }\n      removeListStyleFormats(ed, name, vars);\n      fireFormatRemove(ed, name, node, vars);\n    };\n    const removeFormat$1 = (ed, name, vars, node, similar) => {\n      if (node || ed.selection.isEditable()) {\n        removeFormatInternal(ed, name, vars, node, similar);\n      }\n    };\n    const removeNodeFormat = (editor, format, vars, node, compareNode) => {\n      return removeNodeFormatInternal(editor, format, vars, node, compareNode).fold(never, newName => {\n        editor.dom.rename(node, newName);\n        return true;\n      }, always);\n    };\n\n    const each$6 = Tools.each;\n    const mergeTextDecorationsAndColor = (dom, format, vars, node) => {\n      const processTextDecorationsAndColor = n => {\n        if (isHTMLElement(n) && isElement$6(n.parentNode) && dom.isEditable(n)) {\n          const parentTextDecoration = getTextDecoration(dom, n.parentNode);\n          if (dom.getStyle(n, 'color') && parentTextDecoration) {\n            dom.setStyle(n, 'text-decoration', parentTextDecoration);\n          } else if (dom.getStyle(n, 'text-decoration') === parentTextDecoration) {\n            dom.setStyle(n, 'text-decoration', null);\n          }\n        }\n      };\n      if (format.styles && (format.styles.color || format.styles.textDecoration)) {\n        Tools.walk(node, processTextDecorationsAndColor, 'childNodes');\n        processTextDecorationsAndColor(node);\n      }\n    };\n    const mergeBackgroundColorAndFontSize = (dom, format, vars, node) => {\n      if (format.styles && format.styles.backgroundColor) {\n        const hasFontSize = hasStyle(dom, 'fontSize');\n        processChildElements(node, elm => hasFontSize(elm) && dom.isEditable(elm), applyStyle(dom, 'backgroundColor', replaceVars(format.styles.backgroundColor, vars)));\n      }\n    };\n    const mergeSubSup = (dom, format, vars, node) => {\n      if (isInlineFormat(format) && (format.inline === 'sub' || format.inline === 'sup')) {\n        const hasFontSize = hasStyle(dom, 'fontSize');\n        processChildElements(node, elm => hasFontSize(elm) && dom.isEditable(elm), applyStyle(dom, 'fontSize', ''));\n        const inverseTagDescendants = filter$5(dom.select(format.inline === 'sup' ? 'sub' : 'sup', node), dom.isEditable);\n        dom.remove(inverseTagDescendants, true);\n      }\n    };\n    const mergeWithChildren = (editor, formatList, vars, node) => {\n      each$6(formatList, format => {\n        if (isInlineFormat(format)) {\n          each$6(editor.dom.select(format.inline, node), child => {\n            if (isElementNode(child)) {\n              removeNodeFormat(editor, format, vars, child, format.exact ? child : null);\n            }\n          });\n        }\n        clearChildStyles(editor.dom, format, node);\n      });\n    };\n    const mergeWithParents = (editor, format, name, vars, node) => {\n      const parentNode = node.parentNode;\n      if (matchNode(editor, parentNode, name, vars)) {\n        if (removeNodeFormat(editor, format, vars, node)) {\n          return;\n        }\n      }\n      if (format.merge_with_parents && parentNode) {\n        editor.dom.getParent(parentNode, parent => {\n          if (matchNode(editor, parent, name, vars)) {\n            removeNodeFormat(editor, format, vars, node);\n            return true;\n          } else {\n            return false;\n          }\n        });\n      }\n    };\n\n    const each$5 = Tools.each;\n    const canFormatBR = (editor, format, node, parentName) => {\n      if (canFormatEmptyLines(editor) && isInlineFormat(format) && node.parentNode) {\n        const validBRParentElements = getTextRootBlockElements(editor.schema);\n        const hasCaretNodeSibling = sibling(SugarElement.fromDom(node), sibling => isCaretNode(sibling.dom));\n        return hasNonNullableKey(validBRParentElements, parentName) && isEmpty$2(SugarElement.fromDom(node.parentNode), false) && !hasCaretNodeSibling;\n      } else {\n        return false;\n      }\n    };\n    const applyStyles = (dom, elm, format, vars) => {\n      each$5(format.styles, (value, name) => {\n        dom.setStyle(elm, name, replaceVars(value, vars));\n      });\n      if (format.styles) {\n        const styleVal = dom.getAttrib(elm, 'style');\n        if (styleVal) {\n          dom.setAttrib(elm, 'data-mce-style', styleVal);\n        }\n      }\n    };\n    const applyFormatAction = (ed, name, vars, node) => {\n      const formatList = ed.formatter.get(name);\n      const format = formatList[0];\n      const isCollapsed = !node && ed.selection.isCollapsed();\n      const dom = ed.dom;\n      const selection = ed.selection;\n      const setElementFormat = (elm, fmt = format) => {\n        if (isFunction(fmt.onformat)) {\n          fmt.onformat(elm, fmt, vars, node);\n        }\n        applyStyles(dom, elm, fmt, vars);\n        each$5(fmt.attributes, (value, name) => {\n          dom.setAttrib(elm, name, replaceVars(value, vars));\n        });\n        each$5(fmt.classes, value => {\n          const newValue = replaceVars(value, vars);\n          if (!dom.hasClass(elm, newValue)) {\n            dom.addClass(elm, newValue);\n          }\n        });\n      };\n      const applyNodeStyle = (formatList, node) => {\n        let found = false;\n        each$5(formatList, format => {\n          if (!isSelectorFormat(format)) {\n            return false;\n          }\n          if (dom.getContentEditable(node) === 'false' && !format.ceFalseOverride) {\n            return true;\n          }\n          if (isNonNullable(format.collapsed) && format.collapsed !== isCollapsed) {\n            return true;\n          }\n          if (dom.is(node, format.selector) && !isCaretNode(node)) {\n            setElementFormat(node, format);\n            found = true;\n            return false;\n          }\n          return true;\n        });\n        return found;\n      };\n      const createWrapElement = wrapName => {\n        if (isString(wrapName)) {\n          const wrapElm = dom.create(wrapName);\n          setElementFormat(wrapElm);\n          return wrapElm;\n        } else {\n          return null;\n        }\n      };\n      const applyRngStyle = (dom, rng, nodeSpecific) => {\n        const newWrappers = [];\n        let contentEditable = true;\n        const wrapName = format.inline || format.block;\n        const wrapElm = createWrapElement(wrapName);\n        const isMatchingWrappingBlock = node => isWrappingBlockFormat(format) && matchNode(ed, node, name, vars);\n        const canRenameBlock = (node, parentName, isEditableDescendant) => {\n          const isValidBlockFormatForNode = isNonWrappingBlockFormat(format) && isTextBlock$1(ed.schema, node) && isValid(ed, parentName, wrapName);\n          return isEditableDescendant && isValidBlockFormatForNode;\n        };\n        const canWrapNode = (node, parentName, isEditableDescendant, isWrappableNoneditableElm) => {\n          const nodeName = node.nodeName.toLowerCase();\n          const isValidWrapNode = isValid(ed, wrapName, nodeName) && isValid(ed, parentName, wrapName);\n          const isZwsp = !nodeSpecific && isText$a(node) && isZwsp$1(node.data);\n          const isCaret = isCaretNode(node);\n          const isCorrectFormatForNode = !isInlineFormat(format) || !dom.isBlock(node);\n          return (isEditableDescendant || isWrappableNoneditableElm) && isValidWrapNode && !isZwsp && !isCaret && isCorrectFormatForNode;\n        };\n        walk$3(dom, rng, nodes => {\n          let currentWrapElm;\n          const process = node => {\n            let hasContentEditableState = false;\n            let lastContentEditable = contentEditable;\n            let isWrappableNoneditableElm = false;\n            const parentNode = node.parentNode;\n            const parentName = parentNode.nodeName.toLowerCase();\n            const contentEditableValue = dom.getContentEditable(node);\n            if (isNonNullable(contentEditableValue)) {\n              lastContentEditable = contentEditable;\n              contentEditable = contentEditableValue === 'true';\n              hasContentEditableState = true;\n              isWrappableNoneditableElm = isWrappableNoneditable(ed, node);\n            }\n            const isEditableDescendant = contentEditable && !hasContentEditableState;\n            if (isBr$6(node) && !canFormatBR(ed, format, node, parentName)) {\n              currentWrapElm = null;\n              if (isBlockFormat(format)) {\n                dom.remove(node);\n              }\n              return;\n            }\n            if (isMatchingWrappingBlock(node)) {\n              currentWrapElm = null;\n              return;\n            }\n            if (canRenameBlock(node, parentName, isEditableDescendant)) {\n              const elm = dom.rename(node, wrapName);\n              setElementFormat(elm);\n              newWrappers.push(elm);\n              currentWrapElm = null;\n              return;\n            }\n            if (isSelectorFormat(format)) {\n              let found = applyNodeStyle(formatList, node);\n              if (!found && isNonNullable(parentNode) && shouldExpandToSelector(format)) {\n                found = applyNodeStyle(formatList, parentNode);\n              }\n              if (!isInlineFormat(format) || found) {\n                currentWrapElm = null;\n                return;\n              }\n            }\n            if (isNonNullable(wrapElm) && canWrapNode(node, parentName, isEditableDescendant, isWrappableNoneditableElm)) {\n              if (!currentWrapElm) {\n                currentWrapElm = dom.clone(wrapElm, false);\n                parentNode.insertBefore(currentWrapElm, node);\n                newWrappers.push(currentWrapElm);\n              }\n              if (isWrappableNoneditableElm && hasContentEditableState) {\n                contentEditable = lastContentEditable;\n              }\n              currentWrapElm.appendChild(node);\n            } else {\n              currentWrapElm = null;\n              each$e(from(node.childNodes), process);\n              if (hasContentEditableState) {\n                contentEditable = lastContentEditable;\n              }\n              currentWrapElm = null;\n            }\n          };\n          each$e(nodes, process);\n        });\n        if (format.links === true) {\n          each$e(newWrappers, node => {\n            const process = node => {\n              if (node.nodeName === 'A') {\n                setElementFormat(node, format);\n              }\n              each$e(from(node.childNodes), process);\n            };\n            process(node);\n          });\n        }\n        each$e(newWrappers, node => {\n          const getChildCount = node => {\n            let count = 0;\n            each$e(node.childNodes, node => {\n              if (!isEmptyTextNode$1(node) && !isBookmarkNode$1(node)) {\n                count++;\n              }\n            });\n            return count;\n          };\n          const mergeStyles = node => {\n            const childElement = find$2(node.childNodes, isElementNode$1).filter(child => dom.getContentEditable(child) !== 'false' && matchName(dom, child, format));\n            return childElement.map(child => {\n              const clone = dom.clone(child, false);\n              setElementFormat(clone);\n              dom.replace(clone, node, true);\n              dom.remove(child, true);\n              return clone;\n            }).getOr(node);\n          };\n          const childCount = getChildCount(node);\n          if ((newWrappers.length > 1 || !dom.isBlock(node)) && childCount === 0) {\n            dom.remove(node, true);\n            return;\n          }\n          if (isInlineFormat(format) || isBlockFormat(format) && format.wrapper) {\n            if (!format.exact && childCount === 1) {\n              node = mergeStyles(node);\n            }\n            mergeWithChildren(ed, formatList, vars, node);\n            mergeWithParents(ed, format, name, vars, node);\n            mergeBackgroundColorAndFontSize(dom, format, vars, node);\n            mergeTextDecorationsAndColor(dom, format, vars, node);\n            mergeSubSup(dom, format, vars, node);\n            mergeSiblings(ed, format, vars, node);\n          }\n        });\n      };\n      const targetNode = isNode(node) ? node : selection.getNode();\n      if (dom.getContentEditable(targetNode) === 'false' && !isWrappableNoneditable(ed, targetNode)) {\n        node = targetNode;\n        applyNodeStyle(formatList, node);\n        fireFormatApply(ed, name, node, vars);\n        return;\n      }\n      if (format) {\n        if (node) {\n          if (isNode(node)) {\n            if (!applyNodeStyle(formatList, node)) {\n              const rng = dom.createRng();\n              rng.setStartBefore(node);\n              rng.setEndAfter(node);\n              applyRngStyle(dom, expandRng(dom, rng, formatList), true);\n            }\n          } else {\n            applyRngStyle(dom, node, true);\n          }\n        } else {\n          if (!isCollapsed || !isInlineFormat(format) || getCellsFromEditor(ed).length) {\n            selection.setRng(normalize(selection.getRng()));\n            preserveSelection(ed, () => {\n              runOnRanges(ed, (selectionRng, fake) => {\n                const expandedRng = fake ? selectionRng : expandRng(dom, selectionRng, formatList);\n                applyRngStyle(dom, expandedRng, false);\n              });\n            }, always);\n            ed.nodeChanged();\n          } else {\n            applyCaretFormat(ed, name, vars);\n          }\n          getExpandedListItemFormat(ed.formatter, name).each(liFmt => {\n            each$e(getFullySelectedListItems(ed.selection), li => applyStyles(dom, li, liFmt, vars));\n          });\n        }\n        postProcess$1(name, ed);\n      }\n      fireFormatApply(ed, name, node, vars);\n    };\n    const applyFormat$1 = (editor, name, vars, node) => {\n      if (node || editor.selection.isEditable()) {\n        applyFormatAction(editor, name, vars, node);\n      }\n    };\n\n    const hasVars = value => has$2(value, 'vars');\n    const setup$u = (registeredFormatListeners, editor) => {\n      registeredFormatListeners.set({});\n      editor.on('NodeChange', e => {\n        updateAndFireChangeCallbacks(editor, e.element, registeredFormatListeners.get());\n      });\n      editor.on('FormatApply FormatRemove', e => {\n        const element = Optional.from(e.node).map(nodeOrRange => isNode(nodeOrRange) ? nodeOrRange : nodeOrRange.startContainer).bind(node => isElement$6(node) ? Optional.some(node) : Optional.from(node.parentElement)).getOrThunk(() => fallbackElement(editor));\n        updateAndFireChangeCallbacks(editor, element, registeredFormatListeners.get());\n      });\n    };\n    const fallbackElement = editor => editor.selection.getStart();\n    const matchingNode = (editor, parents, format, similar, vars) => {\n      const isMatchingNode = node => {\n        const matchingFormat = editor.formatter.matchNode(node, format, vars !== null && vars !== void 0 ? vars : {}, similar);\n        return !isUndefined(matchingFormat);\n      };\n      const isUnableToMatch = node => {\n        if (matchesUnInheritedFormatSelector(editor, node, format)) {\n          return true;\n        } else {\n          if (!similar) {\n            return isNonNullable(editor.formatter.matchNode(node, format, vars, true));\n          } else {\n            return false;\n          }\n        }\n      };\n      return findUntil$1(parents, isMatchingNode, isUnableToMatch);\n    };\n    const getParents = (editor, elm) => {\n      const element = elm !== null && elm !== void 0 ? elm : fallbackElement(editor);\n      return filter$5(getParents$2(editor.dom, element), node => isElement$6(node) && !isBogus$2(node));\n    };\n    const updateAndFireChangeCallbacks = (editor, elm, registeredCallbacks) => {\n      const parents = getParents(editor, elm);\n      each$d(registeredCallbacks, (data, format) => {\n        const runIfChanged = spec => {\n          const match = matchingNode(editor, parents, format, spec.similar, hasVars(spec) ? spec.vars : undefined);\n          const isSet = match.isSome();\n          if (spec.state.get() !== isSet) {\n            spec.state.set(isSet);\n            const node = match.getOr(elm);\n            if (hasVars(spec)) {\n              spec.callback(isSet, {\n                node,\n                format,\n                parents\n              });\n            } else {\n              each$e(spec.callbacks, callback => callback(isSet, {\n                node,\n                format,\n                parents\n              }));\n            }\n          }\n        };\n        each$e([data.withSimilar, data.withoutSimilar], runIfChanged);\n        each$e(data.withVars, runIfChanged);\n      });\n    };\n    const addListeners = (editor, registeredFormatListeners, formats, callback, similar, vars) => {\n      const formatChangeItems = registeredFormatListeners.get();\n      each$e(formats.split(','), format => {\n        const group = get$a(formatChangeItems, format).getOrThunk(() => {\n          const base = {\n            withSimilar: {\n              state: Cell(false),\n              similar: true,\n              callbacks: []\n            },\n            withoutSimilar: {\n              state: Cell(false),\n              similar: false,\n              callbacks: []\n            },\n            withVars: []\n          };\n          formatChangeItems[format] = base;\n          return base;\n        });\n        const getCurrent = () => {\n          const parents = getParents(editor);\n          return matchingNode(editor, parents, format, similar, vars).isSome();\n        };\n        if (isUndefined(vars)) {\n          const toAppendTo = similar ? group.withSimilar : group.withoutSimilar;\n          toAppendTo.callbacks.push(callback);\n          if (toAppendTo.callbacks.length === 1) {\n            toAppendTo.state.set(getCurrent());\n          }\n        } else {\n          group.withVars.push({\n            state: Cell(getCurrent()),\n            similar,\n            vars,\n            callback\n          });\n        }\n      });\n      registeredFormatListeners.set(formatChangeItems);\n    };\n    const removeListeners = (registeredFormatListeners, formats, callback) => {\n      const formatChangeItems = registeredFormatListeners.get();\n      each$e(formats.split(','), format => get$a(formatChangeItems, format).each(group => {\n        formatChangeItems[format] = {\n          withSimilar: {\n            ...group.withSimilar,\n            callbacks: filter$5(group.withSimilar.callbacks, cb => cb !== callback)\n          },\n          withoutSimilar: {\n            ...group.withoutSimilar,\n            callbacks: filter$5(group.withoutSimilar.callbacks, cb => cb !== callback)\n          },\n          withVars: filter$5(group.withVars, item => item.callback !== callback)\n        };\n      }));\n      registeredFormatListeners.set(formatChangeItems);\n    };\n    const formatChangedInternal = (editor, registeredFormatListeners, formats, callback, similar, vars) => {\n      addListeners(editor, registeredFormatListeners, formats, callback, similar, vars);\n      return {\n        unbind: () => removeListeners(registeredFormatListeners, formats, callback)\n      };\n    };\n\n    const toggle = (editor, name, vars, node) => {\n      const fmt = editor.formatter.get(name);\n      if (fmt) {\n        if (match$2(editor, name, vars, node) && (!('toggle' in fmt[0]) || fmt[0].toggle)) {\n          removeFormat$1(editor, name, vars, node);\n        } else {\n          applyFormat$1(editor, name, vars, node);\n        }\n      }\n    };\n\n    const explode$1 = Tools.explode;\n    const create$8 = () => {\n      const filters = {};\n      const addFilter = (name, callback) => {\n        each$e(explode$1(name), name => {\n          if (!has$2(filters, name)) {\n            filters[name] = {\n              name,\n              callbacks: []\n            };\n          }\n          filters[name].callbacks.push(callback);\n        });\n      };\n      const getFilters = () => values(filters);\n      const removeFilter = (name, callback) => {\n        each$e(explode$1(name), name => {\n          if (has$2(filters, name)) {\n            if (isNonNullable(callback)) {\n              const filter = filters[name];\n              const newCallbacks = filter$5(filter.callbacks, c => c !== callback);\n              if (newCallbacks.length > 0) {\n                filter.callbacks = newCallbacks;\n              } else {\n                delete filters[name];\n              }\n            } else {\n              delete filters[name];\n            }\n          }\n        });\n      };\n      return {\n        addFilter,\n        getFilters,\n        removeFilter\n      };\n    };\n\n    const removeAttrs = (node, names) => {\n      each$e(names, name => {\n        node.attr(name, null);\n      });\n    };\n    const addFontToSpansFilter = (domParser, styles, fontSizes) => {\n      domParser.addNodeFilter('font', nodes => {\n        each$e(nodes, node => {\n          const props = styles.parse(node.attr('style'));\n          const color = node.attr('color');\n          const face = node.attr('face');\n          const size = node.attr('size');\n          if (color) {\n            props.color = color;\n          }\n          if (face) {\n            props['font-family'] = face;\n          }\n          if (size) {\n            toInt(size).each(num => {\n              props['font-size'] = fontSizes[num - 1];\n            });\n          }\n          node.name = 'span';\n          node.attr('style', styles.serialize(props));\n          removeAttrs(node, ['color', 'face', 'size']);\n        });\n      });\n    };\n    const addStrikeFilter = (domParser, schema, styles) => {\n      domParser.addNodeFilter('strike', nodes => {\n        const convertToSTag = schema.type !== 'html4';\n        each$e(nodes, node => {\n          if (convertToSTag) {\n            node.name = 's';\n          } else {\n            const props = styles.parse(node.attr('style'));\n            props['text-decoration'] = 'line-through';\n            node.name = 'span';\n            node.attr('style', styles.serialize(props));\n          }\n        });\n      });\n    };\n    const addFilters = (domParser, settings, schema) => {\n      var _a;\n      const styles = Styles();\n      if (settings.convert_fonts_to_spans) {\n        addFontToSpansFilter(domParser, styles, Tools.explode((_a = settings.font_size_legacy_values) !== null && _a !== void 0 ? _a : ''));\n      }\n      addStrikeFilter(domParser, schema, styles);\n    };\n    const register$5 = (domParser, settings, schema) => {\n      if (settings.inline_styles) {\n        addFilters(domParser, settings, schema);\n      }\n    };\n\n    const addNodeFilter = (settings, htmlParser, schema) => {\n      htmlParser.addNodeFilter('br', (nodes, _, args) => {\n        const blockElements = Tools.extend({}, schema.getBlockElements());\n        const nonEmptyElements = schema.getNonEmptyElements();\n        const whitespaceElements = schema.getWhitespaceElements();\n        blockElements.body = 1;\n        const isBlock = node => node.name in blockElements || isTransparentAstBlock(schema, node);\n        for (let i = 0, l = nodes.length; i < l; i++) {\n          let node = nodes[i];\n          let parent = node.parent;\n          if (parent && isBlock(parent) && node === parent.lastChild) {\n            let prev = node.prev;\n            while (prev) {\n              const prevName = prev.name;\n              if (prevName !== 'span' || prev.attr('data-mce-type') !== 'bookmark') {\n                if (prevName === 'br') {\n                  node = null;\n                }\n                break;\n              }\n              prev = prev.prev;\n            }\n            if (node) {\n              node.remove();\n              if (isEmpty(schema, nonEmptyElements, whitespaceElements, parent)) {\n                const elementRule = schema.getElementRule(parent.name);\n                if (elementRule) {\n                  if (elementRule.removeEmpty) {\n                    parent.remove();\n                  } else if (elementRule.paddEmpty) {\n                    paddEmptyNode(settings, args, isBlock, parent);\n                  }\n                }\n              }\n            }\n          } else {\n            let lastParent = node;\n            while (parent && parent.firstChild === lastParent && parent.lastChild === lastParent) {\n              lastParent = parent;\n              if (blockElements[parent.name]) {\n                break;\n              }\n              parent = parent.parent;\n            }\n            if (lastParent === parent) {\n              const textNode = new AstNode('#text', 3);\n              textNode.value = nbsp;\n              node.replace(textNode);\n            }\n          }\n        }\n      });\n    };\n\n    const blobUriToBlob = url => fetch(url).then(res => res.ok ? res.blob() : Promise.reject()).catch(() => Promise.reject({\n      message: \"Cannot convert \".concat(url, \" to Blob. Resource might not exist or is inaccessible.\"),\n      uriType: 'blob'\n    }));\n    const extractBase64Data = data => {\n      const matches = /([a-z0-9+\\/=\\s]+)/i.exec(data);\n      return matches ? matches[1] : '';\n    };\n    const parseDataUri = uri => {\n      const [type, ...rest] = uri.split(',');\n      const data = rest.join(',');\n      const matches = /data:([^/]+\\/[^;]+)(;.+)?/.exec(type);\n      if (matches) {\n        const base64Encoded = matches[2] === ';base64';\n        const extractedData = base64Encoded ? extractBase64Data(data) : decodeURIComponent(data);\n        return Optional.some({\n          type: matches[1],\n          data: extractedData,\n          base64Encoded\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const buildBlob = (type, data, base64Encoded = true) => {\n      let str = data;\n      if (base64Encoded) {\n        try {\n          str = atob(data);\n        } catch (e) {\n          return Optional.none();\n        }\n      }\n      const arr = new Uint8Array(str.length);\n      for (let i = 0; i < arr.length; i++) {\n        arr[i] = str.charCodeAt(i);\n      }\n      return Optional.some(new Blob([arr], {\n        type\n      }));\n    };\n    const dataUriToBlob = uri => {\n      return new Promise((resolve, reject) => {\n        parseDataUri(uri).bind(({\n          type,\n          data,\n          base64Encoded\n        }) => buildBlob(type, data, base64Encoded)).fold(() => reject('Invalid data URI'), resolve);\n      });\n    };\n    const uriToBlob = url => {\n      if (startsWith(url, 'blob:')) {\n        return blobUriToBlob(url);\n      } else if (startsWith(url, 'data:')) {\n        return dataUriToBlob(url);\n      } else {\n        return Promise.reject('Unknown URI format');\n      }\n    };\n    const blobToDataUri = blob => {\n      return new Promise((resolve, reject) => {\n        const reader = new FileReader();\n        reader.onloadend = () => {\n          resolve(reader.result);\n        };\n        reader.onerror = () => {\n          var _a;\n          reject((_a = reader.error) === null || _a === void 0 ? void 0 : _a.message);\n        };\n        reader.readAsDataURL(blob);\n      });\n    };\n\n    let count$1 = 0;\n    const uniqueId$1 = prefix => {\n      return (prefix || 'blobid') + count$1++;\n    };\n    const processDataUri = (dataUri, base64Only, generateBlobInfo) => {\n      return parseDataUri(dataUri).bind(({\n        data,\n        type,\n        base64Encoded\n      }) => {\n        if (base64Only && !base64Encoded) {\n          return Optional.none();\n        } else {\n          const base64 = base64Encoded ? data : btoa(data);\n          return generateBlobInfo(base64, type);\n        }\n      });\n    };\n    const createBlobInfo$1 = (blobCache, blob, base64) => {\n      const blobInfo = blobCache.create(uniqueId$1(), blob, base64);\n      blobCache.add(blobInfo);\n      return blobInfo;\n    };\n    const dataUriToBlobInfo = (blobCache, dataUri, base64Only = false) => {\n      return processDataUri(dataUri, base64Only, (base64, type) => Optional.from(blobCache.getByData(base64, type)).orThunk(() => buildBlob(type, base64).map(blob => createBlobInfo$1(blobCache, blob, base64))));\n    };\n    const imageToBlobInfo = (blobCache, imageSrc) => {\n      const invalidDataUri = () => Promise.reject('Invalid data URI');\n      if (startsWith(imageSrc, 'blob:')) {\n        const blobInfo = blobCache.getByUri(imageSrc);\n        if (isNonNullable(blobInfo)) {\n          return Promise.resolve(blobInfo);\n        } else {\n          return uriToBlob(imageSrc).then(blob => {\n            return blobToDataUri(blob).then(dataUri => {\n              return processDataUri(dataUri, false, base64 => {\n                return Optional.some(createBlobInfo$1(blobCache, blob, base64));\n              }).getOrThunk(invalidDataUri);\n            });\n          });\n        }\n      } else if (startsWith(imageSrc, 'data:')) {\n        return dataUriToBlobInfo(blobCache, imageSrc).fold(invalidDataUri, blobInfo => Promise.resolve(blobInfo));\n      } else {\n        return Promise.reject('Unknown image data format');\n      }\n    };\n\n    const isBogusImage = img => isNonNullable(img.attr('data-mce-bogus'));\n    const isInternalImageSource = img => img.attr('src') === Env.transparentSrc || isNonNullable(img.attr('data-mce-placeholder'));\n    const registerBase64ImageFilter = (parser, settings) => {\n      const {\n        blob_cache: blobCache\n      } = settings;\n      if (blobCache) {\n        const processImage = img => {\n          const inputSrc = img.attr('src');\n          if (isInternalImageSource(img) || isBogusImage(img) || isNullable(inputSrc)) {\n            return;\n          }\n          dataUriToBlobInfo(blobCache, inputSrc, true).each(blobInfo => {\n            img.attr('src', blobInfo.blobUri());\n          });\n        };\n        parser.addAttributeFilter('src', nodes => each$e(nodes, processImage));\n      }\n    };\n    const isMimeType = (mime, type) => startsWith(mime, \"\".concat(type, \"/\"));\n    const createSafeEmbed = (mime, src, width, height, sandboxIframes) => {\n      let name;\n      if (isUndefined(mime)) {\n        name = 'iframe';\n      } else if (isMimeType(mime, 'image')) {\n        name = 'img';\n      } else if (isMimeType(mime, 'video')) {\n        name = 'video';\n      } else if (isMimeType(mime, 'audio')) {\n        name = 'audio';\n      } else {\n        name = 'iframe';\n      }\n      const embed = new AstNode(name, 1);\n      embed.attr(name === 'audio' ? {\n        src\n      } : {\n        src,\n        width,\n        height\n      });\n      if (name === 'audio' || name === 'video') {\n        embed.attr('controls', '');\n      }\n      if (name === 'iframe' && sandboxIframes) {\n        embed.attr('sandbox', '');\n      }\n      return embed;\n    };\n    const register$4 = (parser, settings) => {\n      const schema = parser.schema;\n      if (settings.remove_trailing_brs) {\n        addNodeFilter(settings, parser, schema);\n      }\n      parser.addAttributeFilter('href', nodes => {\n        let i = nodes.length;\n        const appendRel = rel => {\n          const parts = rel.split(' ').filter(p => p.length > 0);\n          return parts.concat(['noopener']).sort().join(' ');\n        };\n        const addNoOpener = rel => {\n          const newRel = rel ? Tools.trim(rel) : '';\n          if (!/\\b(noopener)\\b/g.test(newRel)) {\n            return appendRel(newRel);\n          } else {\n            return newRel;\n          }\n        };\n        if (!settings.allow_unsafe_link_target) {\n          while (i--) {\n            const node = nodes[i];\n            if (node.name === 'a' && node.attr('target') === '_blank') {\n              node.attr('rel', addNoOpener(node.attr('rel')));\n            }\n          }\n        }\n      });\n      if (!settings.allow_html_in_named_anchor) {\n        parser.addAttributeFilter('id,name', nodes => {\n          let i = nodes.length,\n            sibling,\n            prevSibling,\n            parent,\n            node;\n          while (i--) {\n            node = nodes[i];\n            if (node.name === 'a' && node.firstChild && !node.attr('href')) {\n              parent = node.parent;\n              sibling = node.lastChild;\n              while (sibling && parent) {\n                prevSibling = sibling.prev;\n                parent.insert(sibling, node);\n                sibling = prevSibling;\n              }\n            }\n          }\n        });\n      }\n      if (settings.fix_list_elements) {\n        parser.addNodeFilter('ul,ol', nodes => {\n          let i = nodes.length,\n            node,\n            parentNode;\n          while (i--) {\n            node = nodes[i];\n            parentNode = node.parent;\n            if (parentNode && (parentNode.name === 'ul' || parentNode.name === 'ol')) {\n              if (node.prev && node.prev.name === 'li') {\n                node.prev.append(node);\n              } else {\n                const li = new AstNode('li', 1);\n                li.attr('style', 'list-style-type: none');\n                node.wrap(li);\n              }\n            }\n          }\n        });\n      }\n      const validClasses = schema.getValidClasses();\n      if (settings.validate && validClasses) {\n        parser.addAttributeFilter('class', nodes => {\n          var _a;\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            const clazz = (_a = node.attr('class')) !== null && _a !== void 0 ? _a : '';\n            const classList = Tools.explode(clazz, ' ');\n            let classValue = '';\n            for (let ci = 0; ci < classList.length; ci++) {\n              const className = classList[ci];\n              let valid = false;\n              let validClassesMap = validClasses['*'];\n              if (validClassesMap && validClassesMap[className]) {\n                valid = true;\n              }\n              validClassesMap = validClasses[node.name];\n              if (!valid && validClassesMap && validClassesMap[className]) {\n                valid = true;\n              }\n              if (valid) {\n                if (classValue) {\n                  classValue += ' ';\n                }\n                classValue += className;\n              }\n            }\n            if (!classValue.length) {\n              classValue = null;\n            }\n            node.attr('class', classValue);\n          }\n        });\n      }\n      registerBase64ImageFilter(parser, settings);\n      if (settings.convert_unsafe_embeds) {\n        parser.addNodeFilter('object,embed', nodes => each$e(nodes, node => {\n          node.replace(createSafeEmbed(node.attr('type'), node.name === 'object' ? node.attr('data') : node.attr('src'), node.attr('width'), node.attr('height'), settings.sandbox_iframes));\n        }));\n      }\n      if (settings.sandbox_iframes) {\n        parser.addNodeFilter('iframe', nodes => each$e(nodes, node => node.attr('sandbox', '')));\n      }\n    };\n\n    const {\n      entries,\n      setPrototypeOf,\n      isFrozen,\n      getPrototypeOf,\n      getOwnPropertyDescriptor\n    } = Object;\n    let {\n      freeze,\n      seal,\n      create: create$7\n    } = Object;\n    let {\n      apply,\n      construct\n    } = typeof Reflect !== 'undefined' && Reflect;\n    if (!apply) {\n      apply = function apply(fun, thisValue, args) {\n        return fun.apply(thisValue, args);\n      };\n    }\n    if (!freeze) {\n      freeze = function freeze(x) {\n        return x;\n      };\n    }\n    if (!seal) {\n      seal = function seal(x) {\n        return x;\n      };\n    }\n    if (!construct) {\n      construct = function construct(Func, args) {\n        return new Func(...args);\n      };\n    }\n    const arrayForEach = unapply(Array.prototype.forEach);\n    const arrayPop = unapply(Array.prototype.pop);\n    const arrayPush = unapply(Array.prototype.push);\n    const stringToLowerCase = unapply(String.prototype.toLowerCase);\n    const stringToString = unapply(String.prototype.toString);\n    const stringMatch = unapply(String.prototype.match);\n    const stringReplace = unapply(String.prototype.replace);\n    const stringIndexOf = unapply(String.prototype.indexOf);\n    const stringTrim = unapply(String.prototype.trim);\n    const regExpTest = unapply(RegExp.prototype.test);\n    const typeErrorCreate = unconstruct(TypeError);\n    function unapply(func) {\n      return function (thisArg) {\n        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n          args[_key - 1] = arguments[_key];\n        }\n        return apply(func, thisArg, args);\n      };\n    }\n    function unconstruct(func) {\n      return function () {\n        for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n          args[_key2] = arguments[_key2];\n        }\n        return construct(func, args);\n      };\n    }\n    function addToSet(set, array, transformCaseFunc) {\n      var _transformCaseFunc;\n      transformCaseFunc = (_transformCaseFunc = transformCaseFunc) !== null && _transformCaseFunc !== void 0 ? _transformCaseFunc : stringToLowerCase;\n      if (setPrototypeOf) {\n        setPrototypeOf(set, null);\n      }\n      let l = array.length;\n      while (l--) {\n        let element = array[l];\n        if (typeof element === 'string') {\n          const lcElement = transformCaseFunc(element);\n          if (lcElement !== element) {\n            if (!isFrozen(array)) {\n              array[l] = lcElement;\n            }\n            element = lcElement;\n          }\n        }\n        set[element] = true;\n      }\n      return set;\n    }\n    function clone(object) {\n      const newObject = create$7(null);\n      for (const [property, value] of entries(object)) {\n        newObject[property] = value;\n      }\n      return newObject;\n    }\n    function lookupGetter(object, prop) {\n      while (object !== null) {\n        const desc = getOwnPropertyDescriptor(object, prop);\n        if (desc) {\n          if (desc.get) {\n            return unapply(desc.get);\n          }\n          if (typeof desc.value === 'function') {\n            return unapply(desc.value);\n          }\n        }\n        object = getPrototypeOf(object);\n      }\n      function fallbackValue(element) {\n        console.warn('fallback value for', element);\n        return null;\n      }\n      return fallbackValue;\n    }\n    const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n    const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n    const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n    const svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n    const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n    const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n    const text = freeze(['#text']);\n    const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\n    const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n    const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n    const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n    const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm);\n    const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\n    const TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*}/gm);\n    const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/);\n    const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/);\n    const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i);\n    const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\n    const ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g);\n    const DOCTYPE_NAME = seal(/^html$/i);\n    var EXPRESSIONS = Object.freeze({\n      __proto__: null,\n      MUSTACHE_EXPR: MUSTACHE_EXPR,\n      ERB_EXPR: ERB_EXPR,\n      TMPLIT_EXPR: TMPLIT_EXPR,\n      DATA_ATTR: DATA_ATTR,\n      ARIA_ATTR: ARIA_ATTR,\n      IS_ALLOWED_URI: IS_ALLOWED_URI,\n      IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n      ATTR_WHITESPACE: ATTR_WHITESPACE,\n      DOCTYPE_NAME: DOCTYPE_NAME\n    });\n    const getGlobal = () => typeof window === 'undefined' ? null : window;\n    const _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n      if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n        return null;\n      }\n      let suffix = null;\n      const ATTR_NAME = 'data-tt-policy-suffix';\n      if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n        suffix = purifyHostElement.getAttribute(ATTR_NAME);\n      }\n      const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n      try {\n        return trustedTypes.createPolicy(policyName, {\n          createHTML(html) {\n            return html;\n          },\n          createScriptURL(scriptUrl) {\n            return scriptUrl;\n          }\n        });\n      } catch (_) {\n        console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n        return null;\n      }\n    };\n    function createDOMPurify() {\n      let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n      const DOMPurify = root => createDOMPurify(root);\n      DOMPurify.version = '3.0.5';\n      DOMPurify.removed = [];\n      if (!window || !window.document || window.document.nodeType !== 9) {\n        DOMPurify.isSupported = false;\n        return DOMPurify;\n      }\n      const originalDocument = window.document;\n      const currentScript = originalDocument.currentScript;\n      let {\n        document\n      } = window;\n      const {\n        DocumentFragment,\n        HTMLTemplateElement,\n        Node,\n        Element,\n        NodeFilter,\n        NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n        HTMLFormElement,\n        DOMParser,\n        trustedTypes\n      } = window;\n      const ElementPrototype = Element.prototype;\n      const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n      const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n      const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n      const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n      if (typeof HTMLTemplateElement === 'function') {\n        const template = document.createElement('template');\n        if (template.content && template.content.ownerDocument) {\n          document = template.content.ownerDocument;\n        }\n      }\n      let trustedTypesPolicy;\n      let emptyHTML = '';\n      const {\n        implementation,\n        createNodeIterator,\n        createDocumentFragment,\n        getElementsByTagName\n      } = document;\n      const {\n        importNode\n      } = originalDocument;\n      let hooks = {};\n      DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n      const {\n        MUSTACHE_EXPR,\n        ERB_EXPR,\n        TMPLIT_EXPR,\n        DATA_ATTR,\n        ARIA_ATTR,\n        IS_SCRIPT_OR_DATA,\n        ATTR_WHITESPACE\n      } = EXPRESSIONS;\n      let {\n        IS_ALLOWED_URI: IS_ALLOWED_URI$1\n      } = EXPRESSIONS;\n      let ALLOWED_TAGS = null;\n      const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n      let ALLOWED_ATTR = null;\n      const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n      let CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {\n        tagNameCheck: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: null\n        },\n        attributeNameCheck: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: null\n        },\n        allowCustomizedBuiltInElements: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: false\n        }\n      }));\n      let FORBID_TAGS = null;\n      let FORBID_ATTR = null;\n      let ALLOW_ARIA_ATTR = true;\n      let ALLOW_DATA_ATTR = true;\n      let ALLOW_UNKNOWN_PROTOCOLS = false;\n      let ALLOW_SELF_CLOSE_IN_ATTR = true;\n      let SAFE_FOR_TEMPLATES = false;\n      let WHOLE_DOCUMENT = false;\n      let SET_CONFIG = false;\n      let FORCE_BODY = false;\n      let RETURN_DOM = false;\n      let RETURN_DOM_FRAGMENT = false;\n      let RETURN_TRUSTED_TYPE = false;\n      let SANITIZE_DOM = true;\n      let SANITIZE_NAMED_PROPS = false;\n      const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n      let KEEP_CONTENT = true;\n      let IN_PLACE = false;\n      let USE_PROFILES = {};\n      let FORBID_CONTENTS = null;\n      const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n      let DATA_URI_TAGS = null;\n      const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n      let URI_SAFE_ATTRIBUTES = null;\n      const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n      const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n      const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n      const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n      let NAMESPACE = HTML_NAMESPACE;\n      let IS_EMPTY_INPUT = false;\n      let ALLOWED_NAMESPACES = null;\n      const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n      let PARSER_MEDIA_TYPE;\n      const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n      const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n      let transformCaseFunc;\n      let CONFIG = null;\n      const formElement = document.createElement('form');\n      const isRegexOrFunction = function isRegexOrFunction(testValue) {\n        return testValue instanceof RegExp || testValue instanceof Function;\n      };\n      const _parseConfig = function _parseConfig(cfg) {\n        if (CONFIG && CONFIG === cfg) {\n          return;\n        }\n        if (!cfg || typeof cfg !== 'object') {\n          cfg = {};\n        }\n        cfg = clone(cfg);\n        PARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE;\n        transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n        ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n        ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n        ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n        URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n        DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n        FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n        FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n        FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n        USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n        ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;\n        ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;\n        ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;\n        ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false;\n        SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false;\n        WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false;\n        RETURN_DOM = cfg.RETURN_DOM || false;\n        RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false;\n        RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false;\n        FORCE_BODY = cfg.FORCE_BODY || false;\n        SANITIZE_DOM = cfg.SANITIZE_DOM !== false;\n        SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false;\n        KEEP_CONTENT = cfg.KEEP_CONTENT !== false;\n        IN_PLACE = cfg.IN_PLACE || false;\n        IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n        NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n        CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n        if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n          CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n        }\n        if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n          CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n        }\n        if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n          CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n        }\n        if (SAFE_FOR_TEMPLATES) {\n          ALLOW_DATA_ATTR = false;\n        }\n        if (RETURN_DOM_FRAGMENT) {\n          RETURN_DOM = true;\n        }\n        if (USE_PROFILES) {\n          ALLOWED_TAGS = addToSet({}, [...text]);\n          ALLOWED_ATTR = [];\n          if (USE_PROFILES.html === true) {\n            addToSet(ALLOWED_TAGS, html$1);\n            addToSet(ALLOWED_ATTR, html);\n          }\n          if (USE_PROFILES.svg === true) {\n            addToSet(ALLOWED_TAGS, svg$1);\n            addToSet(ALLOWED_ATTR, svg);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n          if (USE_PROFILES.svgFilters === true) {\n            addToSet(ALLOWED_TAGS, svgFilters);\n            addToSet(ALLOWED_ATTR, svg);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n          if (USE_PROFILES.mathMl === true) {\n            addToSet(ALLOWED_TAGS, mathMl$1);\n            addToSet(ALLOWED_ATTR, mathMl);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n        }\n        if (cfg.ADD_TAGS) {\n          if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n            ALLOWED_TAGS = clone(ALLOWED_TAGS);\n          }\n          addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n        }\n        if (cfg.ADD_ATTR) {\n          if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n            ALLOWED_ATTR = clone(ALLOWED_ATTR);\n          }\n          addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n        }\n        if (cfg.ADD_URI_SAFE_ATTR) {\n          addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n        }\n        if (cfg.FORBID_CONTENTS) {\n          if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n            FORBID_CONTENTS = clone(FORBID_CONTENTS);\n          }\n          addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n        }\n        if (KEEP_CONTENT) {\n          ALLOWED_TAGS['#text'] = true;\n        }\n        if (WHOLE_DOCUMENT) {\n          addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n        }\n        if (ALLOWED_TAGS.table) {\n          addToSet(ALLOWED_TAGS, ['tbody']);\n          delete FORBID_TAGS.tbody;\n        }\n        if (cfg.TRUSTED_TYPES_POLICY) {\n          if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n            throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n          }\n          if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n            throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n          }\n          trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n          emptyHTML = trustedTypesPolicy.createHTML('');\n        } else {\n          if (trustedTypesPolicy === undefined) {\n            trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n          }\n          if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n            emptyHTML = trustedTypesPolicy.createHTML('');\n          }\n        }\n        if (freeze) {\n          freeze(cfg);\n        }\n        CONFIG = cfg;\n      };\n      const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n      const HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']);\n      const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n      const ALL_SVG_TAGS = addToSet({}, svg$1);\n      addToSet(ALL_SVG_TAGS, svgFilters);\n      addToSet(ALL_SVG_TAGS, svgDisallowed);\n      const ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n      addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n      const _checkValidNamespace = function _checkValidNamespace(element) {\n        let parent = getParentNode(element);\n        if (!parent || !parent.tagName) {\n          parent = {\n            namespaceURI: NAMESPACE,\n            tagName: 'template'\n          };\n        }\n        const tagName = stringToLowerCase(element.tagName);\n        const parentTagName = stringToLowerCase(parent.tagName);\n        if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n          return false;\n        }\n        if (element.namespaceURI === SVG_NAMESPACE) {\n          if (parent.namespaceURI === HTML_NAMESPACE) {\n            return tagName === 'svg';\n          }\n          if (parent.namespaceURI === MATHML_NAMESPACE) {\n            return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n          }\n          return Boolean(ALL_SVG_TAGS[tagName]);\n        }\n        if (element.namespaceURI === MATHML_NAMESPACE) {\n          if (parent.namespaceURI === HTML_NAMESPACE) {\n            return tagName === 'math';\n          }\n          if (parent.namespaceURI === SVG_NAMESPACE) {\n            return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n          }\n          return Boolean(ALL_MATHML_TAGS[tagName]);\n        }\n        if (element.namespaceURI === HTML_NAMESPACE) {\n          if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n            return false;\n          }\n          if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n            return false;\n          }\n          return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n        }\n        if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n          return true;\n        }\n        return false;\n      };\n      const _forceRemove = function _forceRemove(node) {\n        arrayPush(DOMPurify.removed, {\n          element: node\n        });\n        try {\n          node.parentNode.removeChild(node);\n        } catch (_) {\n          node.remove();\n        }\n      };\n      const _removeAttribute = function _removeAttribute(name, node) {\n        try {\n          arrayPush(DOMPurify.removed, {\n            attribute: node.getAttributeNode(name),\n            from: node\n          });\n        } catch (_) {\n          arrayPush(DOMPurify.removed, {\n            attribute: null,\n            from: node\n          });\n        }\n        node.removeAttribute(name);\n        if (name === 'is' && !ALLOWED_ATTR[name]) {\n          if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n            try {\n              _forceRemove(node);\n            } catch (_) {}\n          } else {\n            try {\n              node.setAttribute(name, '');\n            } catch (_) {}\n          }\n        }\n      };\n      const _initDocument = function _initDocument(dirty) {\n        let doc;\n        let leadingWhitespace;\n        if (FORCE_BODY) {\n          dirty = '<remove><\/remove>' + dirty;\n        } else {\n          const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n          leadingWhitespace = matches && matches[0];\n        }\n        if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n          dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><\/head><body>' + dirty + '<\/body><\/html>';\n        }\n        const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n        if (NAMESPACE === HTML_NAMESPACE) {\n          try {\n            doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n          } catch (_) {}\n        }\n        if (!doc || !doc.documentElement) {\n          doc = implementation.createDocument(NAMESPACE, 'template', null);\n          try {\n            doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n          } catch (_) {}\n        }\n        const body = doc.body || doc.documentElement;\n        if (dirty && leadingWhitespace) {\n          body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n        }\n        if (NAMESPACE === HTML_NAMESPACE) {\n          return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n        }\n        return WHOLE_DOCUMENT ? doc.documentElement : body;\n      };\n      const _createIterator = function _createIterator(root) {\n        return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n      };\n      const _isClobbered = function _isClobbered(elm) {\n        return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');\n      };\n      const _isNode = function _isNode(object) {\n        return typeof Node === 'object' ? object instanceof Node : object && typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n      };\n      const _executeHook = function _executeHook(entryPoint, currentNode, data) {\n        if (!hooks[entryPoint]) {\n          return;\n        }\n        arrayForEach(hooks[entryPoint], hook => {\n          hook.call(DOMPurify, currentNode, data, CONFIG);\n        });\n      };\n      const _sanitizeElements = function _sanitizeElements(currentNode) {\n        let content;\n        _executeHook('beforeSanitizeElements', currentNode, null);\n        if (_isClobbered(currentNode)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        const tagName = transformCaseFunc(currentNode.nodeName);\n        _executeHook('uponSanitizeElement', currentNode, {\n          tagName,\n          allowedTags: ALLOWED_TAGS\n        });\n        if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n          if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {\n            if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;\n            if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;\n          }\n          if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n            const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n            const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n            if (childNodes && parentNode) {\n              const childCount = childNodes.length;\n              for (let i = childCount - 1; i >= 0; --i) {\n                parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n              }\n            }\n          }\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n          content = currentNode.textContent;\n          content = stringReplace(content, MUSTACHE_EXPR, ' ');\n          content = stringReplace(content, ERB_EXPR, ' ');\n          content = stringReplace(content, TMPLIT_EXPR, ' ');\n          if (currentNode.textContent !== content) {\n            arrayPush(DOMPurify.removed, {\n              element: currentNode.cloneNode()\n            });\n            currentNode.textContent = content;\n          }\n        }\n        _executeHook('afterSanitizeElements', currentNode, null);\n        return false;\n      };\n      const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n        if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n          return false;\n        }\n        if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ;else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ;else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n          if (_basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ;else {\n            return false;\n          }\n        } else if (URI_SAFE_ATTRIBUTES[lcName]) ;else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ;else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ;else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ;else if (value) {\n          return false;\n        } else ;\n        return true;\n      };\n      const _basicCustomElementTest = function _basicCustomElementTest(tagName) {\n        return tagName.indexOf('-') > 0;\n      };\n      const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n        let attr;\n        let value;\n        let lcName;\n        let l;\n        _executeHook('beforeSanitizeAttributes', currentNode, null);\n        const {\n          attributes\n        } = currentNode;\n        if (!attributes) {\n          return;\n        }\n        const hookEvent = {\n          attrName: '',\n          attrValue: '',\n          keepAttr: true,\n          allowedAttributes: ALLOWED_ATTR\n        };\n        l = attributes.length;\n        while (l--) {\n          attr = attributes[l];\n          const {\n            name,\n            namespaceURI\n          } = attr;\n          value = name === 'value' ? attr.value : stringTrim(attr.value);\n          const initValue = value;\n          lcName = transformCaseFunc(name);\n          hookEvent.attrName = lcName;\n          hookEvent.attrValue = value;\n          hookEvent.keepAttr = true;\n          hookEvent.forceKeepAttr = undefined;\n          _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n          value = hookEvent.attrValue;\n          if (hookEvent.forceKeepAttr) {\n            continue;\n          }\n          if (!hookEvent.keepAttr) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (SAFE_FOR_TEMPLATES) {\n            value = stringReplace(value, MUSTACHE_EXPR, ' ');\n            value = stringReplace(value, ERB_EXPR, ' ');\n            value = stringReplace(value, TMPLIT_EXPR, ' ');\n          }\n          const lcTag = transformCaseFunc(currentNode.nodeName);\n          if (!_isValidAttribute(lcTag, lcName, value)) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n            _removeAttribute(name, currentNode);\n            value = SANITIZE_NAMED_PROPS_PREFIX + value;\n          }\n          if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n            if (namespaceURI) ;else {\n              switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n                case 'TrustedHTML':\n                  {\n                    value = trustedTypesPolicy.createHTML(value);\n                    break;\n                  }\n                case 'TrustedScriptURL':\n                  {\n                    value = trustedTypesPolicy.createScriptURL(value);\n                    break;\n                  }\n              }\n            }\n          }\n          if (value !== initValue) {\n            try {\n              if (namespaceURI) {\n                currentNode.setAttributeNS(namespaceURI, name, value);\n              } else {\n                currentNode.setAttribute(name, value);\n              }\n            } catch (_) {\n              _removeAttribute(name, currentNode);\n            }\n          }\n        }\n        _executeHook('afterSanitizeAttributes', currentNode, null);\n      };\n      const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n        let shadowNode;\n        const shadowIterator = _createIterator(fragment);\n        _executeHook('beforeSanitizeShadowDOM', fragment, null);\n        while (shadowNode = shadowIterator.nextNode()) {\n          _executeHook('uponSanitizeShadowNode', shadowNode, null);\n          if (_sanitizeElements(shadowNode)) {\n            continue;\n          }\n          if (shadowNode.content instanceof DocumentFragment) {\n            _sanitizeShadowDOM(shadowNode.content);\n          }\n          _sanitizeAttributes(shadowNode);\n        }\n        _executeHook('afterSanitizeShadowDOM', fragment, null);\n      };\n      DOMPurify.sanitize = function (dirty) {\n        let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        let body;\n        let importedNode;\n        let currentNode;\n        let returnNode;\n        IS_EMPTY_INPUT = !dirty;\n        if (IS_EMPTY_INPUT) {\n          dirty = '<!-->';\n        }\n        if (typeof dirty !== 'string' && !_isNode(dirty)) {\n          if (typeof dirty.toString === 'function') {\n            dirty = dirty.toString();\n            if (typeof dirty !== 'string') {\n              throw typeErrorCreate('dirty is not a string, aborting');\n            }\n          } else {\n            throw typeErrorCreate('toString is not a function');\n          }\n        }\n        if (!DOMPurify.isSupported) {\n          return dirty;\n        }\n        if (!SET_CONFIG) {\n          _parseConfig(cfg);\n        }\n        DOMPurify.removed = [];\n        if (typeof dirty === 'string') {\n          IN_PLACE = false;\n        }\n        if (IN_PLACE) {\n          if (dirty.nodeName) {\n            const tagName = transformCaseFunc(dirty.nodeName);\n            if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n              throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n            }\n          }\n        } else if (dirty instanceof Node) {\n          body = _initDocument('<!---->');\n          importedNode = body.ownerDocument.importNode(dirty, true);\n          if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n            body = importedNode;\n          } else if (importedNode.nodeName === 'HTML') {\n            body = importedNode;\n          } else {\n            body.appendChild(importedNode);\n          }\n        } else {\n          if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf('<') === -1) {\n            return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n          }\n          body = _initDocument(dirty);\n          if (!body) {\n            return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n          }\n        }\n        if (body && FORCE_BODY) {\n          _forceRemove(body.firstChild);\n        }\n        const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n        while (currentNode = nodeIterator.nextNode()) {\n          if (_sanitizeElements(currentNode)) {\n            continue;\n          }\n          if (currentNode.content instanceof DocumentFragment) {\n            _sanitizeShadowDOM(currentNode.content);\n          }\n          _sanitizeAttributes(currentNode);\n        }\n        if (IN_PLACE) {\n          return dirty;\n        }\n        if (RETURN_DOM) {\n          if (RETURN_DOM_FRAGMENT) {\n            returnNode = createDocumentFragment.call(body.ownerDocument);\n            while (body.firstChild) {\n              returnNode.appendChild(body.firstChild);\n            }\n          } else {\n            returnNode = body;\n          }\n          if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n            returnNode = importNode.call(originalDocument, returnNode, true);\n          }\n          return returnNode;\n        }\n        let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n        if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n          serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n        }\n        if (SAFE_FOR_TEMPLATES) {\n          serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n          serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n          serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR, ' ');\n        }\n        return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n      };\n      DOMPurify.setConfig = function (cfg) {\n        _parseConfig(cfg);\n        SET_CONFIG = true;\n      };\n      DOMPurify.clearConfig = function () {\n        CONFIG = null;\n        SET_CONFIG = false;\n      };\n      DOMPurify.isValidAttribute = function (tag, attr, value) {\n        if (!CONFIG) {\n          _parseConfig({});\n        }\n        const lcTag = transformCaseFunc(tag);\n        const lcName = transformCaseFunc(attr);\n        return _isValidAttribute(lcTag, lcName, value);\n      };\n      DOMPurify.addHook = function (entryPoint, hookFunction) {\n        if (typeof hookFunction !== 'function') {\n          return;\n        }\n        hooks[entryPoint] = hooks[entryPoint] || [];\n        arrayPush(hooks[entryPoint], hookFunction);\n      };\n      DOMPurify.removeHook = function (entryPoint) {\n        if (hooks[entryPoint]) {\n          return arrayPop(hooks[entryPoint]);\n        }\n      };\n      DOMPurify.removeHooks = function (entryPoint) {\n        if (hooks[entryPoint]) {\n          hooks[entryPoint] = [];\n        }\n      };\n      DOMPurify.removeAllHooks = function () {\n        hooks = {};\n      };\n      return DOMPurify;\n    }\n    var purify = createDOMPurify();\n\n    const each$4 = Tools.each,\n      trim = Tools.trim;\n    const queryParts = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'];\n    const DEFAULT_PORTS = {\n      ftp: 21,\n      http: 80,\n      https: 443,\n      mailto: 25\n    };\n    const safeSvgDataUrlElements = ['img', 'video'];\n    const blockSvgDataUris = (allowSvgDataUrls, tagName) => {\n      if (isNonNullable(allowSvgDataUrls)) {\n        return !allowSvgDataUrls;\n      } else {\n        return isNonNullable(tagName) ? !contains$2(safeSvgDataUrlElements, tagName) : true;\n      }\n    };\n    const decodeUri = encodedUri => {\n      try {\n        return decodeURIComponent(encodedUri);\n      } catch (ex) {\n        return unescape(encodedUri);\n      }\n    };\n    const isInvalidUri = (settings, uri, tagName) => {\n      const decodedUri = decodeUri(uri).replace(/\\s/g, '');\n      if (settings.allow_script_urls) {\n        return false;\n      } else if (/^((java|vb)script|mhtml):/i.test(decodedUri)) {\n        return true;\n      } else if (settings.allow_html_data_urls) {\n        return false;\n      } else if (/^data:image\\//i.test(decodedUri)) {\n        return blockSvgDataUris(settings.allow_svg_data_urls, tagName) && /^data:image\\/svg\\+xml/i.test(decodedUri);\n      } else {\n        return /^data:/i.test(decodedUri);\n      }\n    };\n    class URI {\n      static parseDataUri(uri) {\n        let type;\n        const uriComponents = decodeURIComponent(uri).split(',');\n        const matches = /data:([^;]+)/.exec(uriComponents[0]);\n        if (matches) {\n          type = matches[1];\n        }\n        return {\n          type,\n          data: uriComponents[1]\n        };\n      }\n      static isDomSafe(uri, context, options = {}) {\n        if (options.allow_script_urls) {\n          return true;\n        } else {\n          const decodedUri = Entities.decode(uri).replace(/[\\s\\u0000-\\u001F]+/g, '');\n          return !isInvalidUri(options, decodedUri, context);\n        }\n      }\n      static getDocumentBaseUrl(loc) {\n        var _a;\n        let baseUrl;\n        if (loc.protocol.indexOf('http') !== 0 && loc.protocol !== 'file:') {\n          baseUrl = (_a = loc.href) !== null && _a !== void 0 ? _a : '';\n        } else {\n          baseUrl = loc.protocol + '//' + loc.host + loc.pathname;\n        }\n        if (/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(baseUrl)) {\n          baseUrl = baseUrl.replace(/[\\?#].*$/, '').replace(/[\\/\\\\][^\\/]+$/, '');\n          if (!/[\\/\\\\]$/.test(baseUrl)) {\n            baseUrl += '/';\n          }\n        }\n        return baseUrl;\n      }\n      constructor(url, settings = {}) {\n        this.path = '';\n        this.directory = '';\n        url = trim(url);\n        this.settings = settings;\n        const baseUri = settings.base_uri;\n        const self = this;\n        if (/^([\\w\\-]+):([^\\/]{2})/i.test(url) || /^\\s*#/.test(url)) {\n          self.source = url;\n          return;\n        }\n        const isProtocolRelative = url.indexOf('//') === 0;\n        if (url.indexOf('/') === 0 && !isProtocolRelative) {\n          url = (baseUri ? baseUri.protocol || 'http' : 'http') + '://mce_host' + url;\n        }\n        if (!/^[\\w\\-]*:?\\/\\//.test(url)) {\n          const baseUrl = baseUri ? baseUri.path : new URI(document.location.href).directory;\n          if ((baseUri === null || baseUri === void 0 ? void 0 : baseUri.protocol) === '') {\n            url = '//mce_host' + self.toAbsPath(baseUrl, url);\n          } else {\n            const match = /([^#?]*)([#?]?.*)/.exec(url);\n            if (match) {\n              url = (baseUri && baseUri.protocol || 'http') + '://mce_host' + self.toAbsPath(baseUrl, match[1]) + match[2];\n            }\n          }\n        }\n        url = url.replace(/@@/g, '(mce_at)');\n        const urlMatch = /^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@\\/]*):?([^:@\\/]*))?@)?(\\[[a-zA-Z0-9:.%]+\\]|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/.exec(url);\n        if (urlMatch) {\n          each$4(queryParts, (v, i) => {\n            let part = urlMatch[i];\n            if (part) {\n              part = part.replace(/\\(mce_at\\)/g, '@@');\n            }\n            self[v] = part;\n          });\n        }\n        if (baseUri) {\n          if (!self.protocol) {\n            self.protocol = baseUri.protocol;\n          }\n          if (!self.userInfo) {\n            self.userInfo = baseUri.userInfo;\n          }\n          if (!self.port && self.host === 'mce_host') {\n            self.port = baseUri.port;\n          }\n          if (!self.host || self.host === 'mce_host') {\n            self.host = baseUri.host;\n          }\n          self.source = '';\n        }\n        if (isProtocolRelative) {\n          self.protocol = '';\n        }\n      }\n      setPath(path) {\n        const pathMatch = /^(.*?)\\/?(\\w+)?$/.exec(path);\n        if (pathMatch) {\n          this.path = pathMatch[0];\n          this.directory = pathMatch[1];\n          this.file = pathMatch[2];\n        }\n        this.source = '';\n        this.getURI();\n      }\n      toRelative(uri) {\n        if (uri === './') {\n          return uri;\n        }\n        const relativeUri = new URI(uri, {\n          base_uri: this\n        });\n        if (relativeUri.host !== 'mce_host' && this.host !== relativeUri.host && relativeUri.host || this.port !== relativeUri.port || this.protocol !== relativeUri.protocol && relativeUri.protocol !== '') {\n          return relativeUri.getURI();\n        }\n        const tu = this.getURI(),\n          uu = relativeUri.getURI();\n        if (tu === uu || tu.charAt(tu.length - 1) === '/' && tu.substr(0, tu.length - 1) === uu) {\n          return tu;\n        }\n        let output = this.toRelPath(this.path, relativeUri.path);\n        if (relativeUri.query) {\n          output += '?' + relativeUri.query;\n        }\n        if (relativeUri.anchor) {\n          output += '#' + relativeUri.anchor;\n        }\n        return output;\n      }\n      toAbsolute(uri, noHost) {\n        const absoluteUri = new URI(uri, {\n          base_uri: this\n        });\n        return absoluteUri.getURI(noHost && this.isSameOrigin(absoluteUri));\n      }\n      isSameOrigin(uri) {\n        if (this.host == uri.host && this.protocol == uri.protocol) {\n          if (this.port == uri.port) {\n            return true;\n          }\n          const defaultPort = this.protocol ? DEFAULT_PORTS[this.protocol] : null;\n          if (defaultPort && (this.port || defaultPort) == (uri.port || defaultPort)) {\n            return true;\n          }\n        }\n        return false;\n      }\n      toRelPath(base, path) {\n        let breakPoint = 0,\n          out = '',\n          i,\n          l;\n        const normalizedBase = base.substring(0, base.lastIndexOf('/')).split('/');\n        const items = path.split('/');\n        if (normalizedBase.length >= items.length) {\n          for (i = 0, l = normalizedBase.length; i < l; i++) {\n            if (i >= items.length || normalizedBase[i] !== items[i]) {\n              breakPoint = i + 1;\n              break;\n            }\n          }\n        }\n        if (normalizedBase.length < items.length) {\n          for (i = 0, l = items.length; i < l; i++) {\n            if (i >= normalizedBase.length || normalizedBase[i] !== items[i]) {\n              breakPoint = i + 1;\n              break;\n            }\n          }\n        }\n        if (breakPoint === 1) {\n          return path;\n        }\n        for (i = 0, l = normalizedBase.length - (breakPoint - 1); i < l; i++) {\n          out += '../';\n        }\n        for (i = breakPoint - 1, l = items.length; i < l; i++) {\n          if (i !== breakPoint - 1) {\n            out += '/' + items[i];\n          } else {\n            out += items[i];\n          }\n        }\n        return out;\n      }\n      toAbsPath(base, path) {\n        let nb = 0;\n        const tr = /\\/$/.test(path) ? '/' : '';\n        const normalizedBase = base.split('/');\n        const normalizedPath = path.split('/');\n        const baseParts = [];\n        each$4(normalizedBase, k => {\n          if (k) {\n            baseParts.push(k);\n          }\n        });\n        const pathParts = [];\n        for (let i = normalizedPath.length - 1; i >= 0; i--) {\n          if (normalizedPath[i].length === 0 || normalizedPath[i] === '.') {\n            continue;\n          }\n          if (normalizedPath[i] === '..') {\n            nb++;\n            continue;\n          }\n          if (nb > 0) {\n            nb--;\n            continue;\n          }\n          pathParts.push(normalizedPath[i]);\n        }\n        const i = baseParts.length - nb;\n        let outPath;\n        if (i <= 0) {\n          outPath = reverse(pathParts).join('/');\n        } else {\n          outPath = baseParts.slice(0, i).join('/') + '/' + reverse(pathParts).join('/');\n        }\n        if (outPath.indexOf('/') !== 0) {\n          outPath = '/' + outPath;\n        }\n        if (tr && outPath.lastIndexOf('/') !== outPath.length - 1) {\n          outPath += tr;\n        }\n        return outPath;\n      }\n      getURI(noProtoHost = false) {\n        let s;\n        if (!this.source || noProtoHost) {\n          s = '';\n          if (!noProtoHost) {\n            if (this.protocol) {\n              s += this.protocol + '://';\n            } else {\n              s += '//';\n            }\n            if (this.userInfo) {\n              s += this.userInfo + '@';\n            }\n            if (this.host) {\n              s += this.host;\n            }\n            if (this.port) {\n              s += ':' + this.port;\n            }\n          }\n          if (this.path) {\n            s += this.path;\n          }\n          if (this.query) {\n            s += '?' + this.query;\n          }\n          if (this.anchor) {\n            s += '#' + this.anchor;\n          }\n          this.source = s;\n        }\n        return this.source;\n      }\n    }\n\n    const filteredUrlAttrs = Tools.makeMap('src,href,data,background,action,formaction,poster,xlink:href');\n    const internalElementAttr = 'data-mce-type';\n    let uid = 0;\n    const processNode = (node, settings, schema, scope, evt) => {\n      var _a, _b, _c, _d;\n      const validate = settings.validate;\n      const specialElements = schema.getSpecialElements();\n      if (node.nodeType === COMMENT && !settings.allow_conditional_comments && /^\\[if/i.test((_a = node.nodeValue) !== null && _a !== void 0 ? _a : '')) {\n        node.nodeValue = ' ' + node.nodeValue;\n      }\n      const lcTagName = (_b = evt === null || evt === void 0 ? void 0 : evt.tagName) !== null && _b !== void 0 ? _b : node.nodeName.toLowerCase();\n      if (scope !== 'html' && schema.isValid(scope)) {\n        if (isNonNullable(evt)) {\n          evt.allowedTags[lcTagName] = true;\n        }\n        return;\n      }\n      if (node.nodeType !== ELEMENT || lcTagName === 'body') {\n        return;\n      }\n      const element = SugarElement.fromDom(node);\n      const isInternalElement = has$1(element, internalElementAttr);\n      const bogus = get$9(element, 'data-mce-bogus');\n      if (!isInternalElement && isString(bogus)) {\n        if (bogus === 'all') {\n          remove$5(element);\n        } else {\n          unwrap(element);\n        }\n        return;\n      }\n      const rule = schema.getElementRule(lcTagName);\n      if (validate && !rule) {\n        if (has$2(specialElements, lcTagName)) {\n          remove$5(element);\n        } else {\n          unwrap(element);\n        }\n        return;\n      } else {\n        if (isNonNullable(evt)) {\n          evt.allowedTags[lcTagName] = true;\n        }\n      }\n      if (validate && rule && !isInternalElement) {\n        each$e((_c = rule.attributesForced) !== null && _c !== void 0 ? _c : [], attr => {\n          set$3(element, attr.name, attr.value === '{$uid}' ? \"mce_\".concat(uid++) : attr.value);\n        });\n        each$e((_d = rule.attributesDefault) !== null && _d !== void 0 ? _d : [], attr => {\n          if (!has$1(element, attr.name)) {\n            set$3(element, attr.name, attr.value === '{$uid}' ? \"mce_\".concat(uid++) : attr.value);\n          }\n        });\n        if (rule.attributesRequired && !exists(rule.attributesRequired, attr => has$1(element, attr))) {\n          unwrap(element);\n          return;\n        }\n        if (rule.removeEmptyAttrs && hasNone(element)) {\n          unwrap(element);\n          return;\n        }\n        if (rule.outputName && rule.outputName !== lcTagName) {\n          mutate(element, rule.outputName);\n        }\n      }\n    };\n    const processAttr = (ele, settings, schema, scope, evt) => {\n      const tagName = ele.tagName.toLowerCase();\n      const {\n        attrName,\n        attrValue\n      } = evt;\n      evt.keepAttr = shouldKeepAttribute(settings, schema, scope, tagName, attrName, attrValue);\n      if (evt.keepAttr) {\n        evt.allowedAttributes[attrName] = true;\n        if (isBooleanAttribute(attrName, schema)) {\n          evt.attrValue = attrName;\n        }\n        if (settings.allow_svg_data_urls && startsWith(attrValue, 'data:image/svg+xml')) {\n          evt.forceKeepAttr = true;\n        }\n      } else if (isRequiredAttributeOfInternalElement(ele, attrName)) {\n        evt.forceKeepAttr = true;\n      }\n    };\n    const shouldKeepAttribute = (settings, schema, scope, tagName, attrName, attrValue) => {\n      if (scope !== 'html' && !isNonHtmlElementRootName(tagName)) {\n        return true;\n      }\n      return !(attrName in filteredUrlAttrs && isInvalidUri(settings, attrValue, tagName)) && (!settings.validate || schema.isValid(tagName, attrName) || startsWith(attrName, 'data-') || startsWith(attrName, 'aria-'));\n    };\n    const isRequiredAttributeOfInternalElement = (ele, attrName) => ele.hasAttribute(internalElementAttr) && (attrName === 'id' || attrName === 'class' || attrName === 'style');\n    const isBooleanAttribute = (attrName, schema) => attrName in schema.getBoolAttrs();\n    const filterAttributes = (ele, settings, schema, scope) => {\n      const {\n        attributes\n      } = ele;\n      for (let i = attributes.length - 1; i >= 0; i--) {\n        const attr = attributes[i];\n        const attrName = attr.name;\n        const attrValue = attr.value;\n        if (!shouldKeepAttribute(settings, schema, scope, ele.tagName.toLowerCase(), attrName, attrValue) && !isRequiredAttributeOfInternalElement(ele, attrName)) {\n          ele.removeAttribute(attrName);\n        } else if (isBooleanAttribute(attrName, schema)) {\n          ele.setAttribute(attrName, attrName);\n        }\n      }\n    };\n    const setupPurify = (settings, schema, namespaceTracker) => {\n      const purify$1 = purify();\n      purify$1.addHook('uponSanitizeElement', (ele, evt) => {\n        processNode(ele, settings, schema, namespaceTracker.track(ele), evt);\n      });\n      purify$1.addHook('uponSanitizeAttribute', (ele, evt) => {\n        processAttr(ele, settings, schema, namespaceTracker.current(), evt);\n      });\n      return purify$1;\n    };\n    const getPurifyConfig = (settings, mimeType) => {\n      const basePurifyConfig = {\n        IN_PLACE: true,\n        ALLOW_UNKNOWN_PROTOCOLS: true,\n        ALLOWED_TAGS: ['#comment', '#cdata-section', 'body'],\n        ALLOWED_ATTR: []\n      };\n      const config = {\n        ...basePurifyConfig\n      };\n      config.PARSER_MEDIA_TYPE = mimeType;\n      if (settings.allow_script_urls) {\n        config.ALLOWED_URI_REGEXP = /.*/;\n      } else if (settings.allow_html_data_urls) {\n        config.ALLOWED_URI_REGEXP = /^(?!(\\w+script|mhtml):)/i;\n      }\n      return config;\n    };\n    const sanitizeNamespaceElement = ele => {\n      const xlinkAttrs = ['type', 'href', 'role', 'arcrole', 'title', 'show', 'actuate', 'label', 'from', 'to'].map(name => \"xlink:\".concat(name));\n      const config = {\n        IN_PLACE: true,\n        USE_PROFILES: {\n          html: true,\n          svg: true,\n          svgFilters: true\n        },\n        ALLOWED_ATTR: xlinkAttrs\n      };\n      purify().sanitize(ele, config);\n      return ele.innerHTML;\n    };\n    const getSanitizer = (settings, schema) => {\n      const namespaceTracker = createNamespaceTracker();\n      if (settings.sanitize) {\n        const purify = setupPurify(settings, schema, namespaceTracker);\n        const sanitizeHtmlElement = (body, mimeType) => {\n          purify.sanitize(body, getPurifyConfig(settings, mimeType));\n          purify.removed = [];\n          namespaceTracker.reset();\n        };\n        return {\n          sanitizeHtmlElement,\n          sanitizeNamespaceElement\n        };\n      } else {\n        const sanitizeHtmlElement = (body, _mimeType) => {\n          const nodeIterator = document.createNodeIterator(body, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT);\n          let node;\n          while (node = nodeIterator.nextNode()) {\n            const currentScope = namespaceTracker.track(node);\n            processNode(node, settings, schema, currentScope);\n            if (isElement$6(node)) {\n              filterAttributes(node, settings, schema, currentScope);\n            }\n          }\n          namespaceTracker.reset();\n        };\n        const sanitizeNamespaceElement = noop;\n        return {\n          sanitizeHtmlElement,\n          sanitizeNamespaceElement\n        };\n      }\n    };\n\n    const makeMap = Tools.makeMap,\n      extend$1 = Tools.extend;\n    const transferChildren = (parent, nativeParent, specialElements, nsSanitizer) => {\n      const parentName = parent.name;\n      const isSpecial = parentName in specialElements && parentName !== 'title' && parentName !== 'textarea' && parentName !== 'noscript';\n      const childNodes = nativeParent.childNodes;\n      for (let ni = 0, nl = childNodes.length; ni < nl; ni++) {\n        const nativeChild = childNodes[ni];\n        const child = new AstNode(nativeChild.nodeName.toLowerCase(), nativeChild.nodeType);\n        if (isElement$6(nativeChild)) {\n          const attributes = nativeChild.attributes;\n          for (let ai = 0, al = attributes.length; ai < al; ai++) {\n            const attr = attributes[ai];\n            child.attr(attr.name, attr.value);\n          }\n          if (isNonHtmlElementRootName(child.name)) {\n            nsSanitizer(nativeChild);\n            child.value = nativeChild.innerHTML;\n          }\n        } else if (isText$a(nativeChild)) {\n          child.value = nativeChild.data;\n          if (isSpecial) {\n            child.raw = true;\n          }\n        } else if (isComment(nativeChild) || isCData(nativeChild) || isPi(nativeChild)) {\n          child.value = nativeChild.data;\n        }\n        if (!isNonHtmlElementRootName(child.name)) {\n          transferChildren(child, nativeChild, specialElements, nsSanitizer);\n        }\n        parent.append(child);\n      }\n    };\n    const walkTree = (root, preprocessors, postprocessors) => {\n      const traverseOrder = [];\n      for (let node = root, lastNode = node; node; lastNode = node, node = node.walk()) {\n        const tempNode = node;\n        each$e(preprocessors, preprocess => preprocess(tempNode));\n        if (isNullable(tempNode.parent) && tempNode !== root) {\n          node = lastNode;\n        } else {\n          traverseOrder.push(tempNode);\n        }\n      }\n      for (let i = traverseOrder.length - 1; i >= 0; i--) {\n        const node = traverseOrder[i];\n        each$e(postprocessors, postprocess => postprocess(node));\n      }\n    };\n    const whitespaceCleaner = (root, schema, settings, args) => {\n      const validate = settings.validate;\n      const nonEmptyElements = schema.getNonEmptyElements();\n      const whitespaceElements = schema.getWhitespaceElements();\n      const blockElements = extend$1(makeMap('script,style,head,html,body,title,meta,param'), schema.getBlockElements());\n      const textRootBlockElements = getTextRootBlockElements(schema);\n      const allWhiteSpaceRegExp = /[ \\t\\r\\n]+/g;\n      const startWhiteSpaceRegExp = /^[ \\t\\r\\n]+/;\n      const endWhiteSpaceRegExp = /[ \\t\\r\\n]+$/;\n      const hasWhitespaceParent = node => {\n        let tempNode = node.parent;\n        while (isNonNullable(tempNode)) {\n          if (tempNode.name in whitespaceElements) {\n            return true;\n          } else {\n            tempNode = tempNode.parent;\n          }\n        }\n        return false;\n      };\n      const isTextRootBlockEmpty = node => {\n        let tempNode = node;\n        while (isNonNullable(tempNode)) {\n          if (tempNode.name in textRootBlockElements) {\n            return isEmpty(schema, nonEmptyElements, whitespaceElements, tempNode);\n          } else {\n            tempNode = tempNode.parent;\n          }\n        }\n        return false;\n      };\n      const isBlock = node => node.name in blockElements || isTransparentAstBlock(schema, node) || isNonHtmlElementRootName(node.name) && node.parent === root;\n      const isAtEdgeOfBlock = (node, start) => {\n        const neighbour = start ? node.prev : node.next;\n        if (isNonNullable(neighbour) || isNullable(node.parent)) {\n          return false;\n        }\n        return isBlock(node.parent) && (node.parent !== root || args.isRootContent === true);\n      };\n      const preprocess = node => {\n        var _a;\n        if (node.type === 3) {\n          if (!hasWhitespaceParent(node)) {\n            let text = (_a = node.value) !== null && _a !== void 0 ? _a : '';\n            text = text.replace(allWhiteSpaceRegExp, ' ');\n            if (isLineBreakNode(node.prev, isBlock) || isAtEdgeOfBlock(node, true)) {\n              text = text.replace(startWhiteSpaceRegExp, '');\n            }\n            if (text.length === 0) {\n              node.remove();\n            } else {\n              node.value = text;\n            }\n          }\n        }\n      };\n      const postprocess = node => {\n        var _a;\n        if (node.type === 1) {\n          const elementRule = schema.getElementRule(node.name);\n          if (validate && elementRule) {\n            const isNodeEmpty = isEmpty(schema, nonEmptyElements, whitespaceElements, node);\n            if (elementRule.paddInEmptyBlock && isNodeEmpty && isTextRootBlockEmpty(node)) {\n              paddEmptyNode(settings, args, isBlock, node);\n            } else if (elementRule.removeEmpty && isNodeEmpty) {\n              if (isBlock(node)) {\n                node.remove();\n              } else {\n                node.unwrap();\n              }\n            } else if (elementRule.paddEmpty && (isNodeEmpty || isPaddedWithNbsp(node))) {\n              paddEmptyNode(settings, args, isBlock, node);\n            }\n          }\n        } else if (node.type === 3) {\n          if (!hasWhitespaceParent(node)) {\n            let text = (_a = node.value) !== null && _a !== void 0 ? _a : '';\n            if (node.next && isBlock(node.next) || isAtEdgeOfBlock(node, false)) {\n              text = text.replace(endWhiteSpaceRegExp, '');\n            }\n            if (text.length === 0) {\n              node.remove();\n            } else {\n              node.value = text;\n            }\n          }\n        }\n      };\n      return [preprocess, postprocess];\n    };\n    const getRootBlockName = (settings, args) => {\n      var _a;\n      const name = (_a = args.forced_root_block) !== null && _a !== void 0 ? _a : settings.forced_root_block;\n      if (name === false) {\n        return '';\n      } else if (name === true) {\n        return 'p';\n      } else {\n        return name;\n      }\n    };\n    const DomParser = (settings = {}, schema = Schema()) => {\n      const nodeFilterRegistry = create$8();\n      const attributeFilterRegistry = create$8();\n      const defaultedSettings = {\n        validate: true,\n        root_name: 'body',\n        sanitize: true,\n        ...settings\n      };\n      const parser = new DOMParser();\n      const sanitizer = getSanitizer(defaultedSettings, schema);\n      const parseAndSanitizeWithContext = (html, rootName, format = 'html') => {\n        const mimeType = format === 'xhtml' ? 'application/xhtml+xml' : 'text/html';\n        const isSpecialRoot = has$2(schema.getSpecialElements(), rootName.toLowerCase());\n        const content = isSpecialRoot ? \"<\".concat(rootName, \">\").concat(html, \"<\/\").concat(rootName, \">\") : html;\n        const wrappedHtml = format === 'xhtml' ? \"<html xmlns=\\\"http://www.w3.org/1999/xhtml\\\"><head><\/head><body>\".concat(content, \"<\/body><\/html>\") : \"<body>\".concat(content, \"<\/body>\");\n        const body = parser.parseFromString(wrappedHtml, mimeType).body;\n        sanitizer.sanitizeHtmlElement(body, mimeType);\n        return isSpecialRoot ? body.firstChild : body;\n      };\n      const addNodeFilter = nodeFilterRegistry.addFilter;\n      const getNodeFilters = nodeFilterRegistry.getFilters;\n      const removeNodeFilter = nodeFilterRegistry.removeFilter;\n      const addAttributeFilter = attributeFilterRegistry.addFilter;\n      const getAttributeFilters = attributeFilterRegistry.getFilters;\n      const removeAttributeFilter = attributeFilterRegistry.removeFilter;\n      const findInvalidChildren = (node, invalidChildren) => {\n        if (isInvalid(schema, node)) {\n          invalidChildren.push(node);\n        }\n      };\n      const isWrappableNode = (blockElements, node) => {\n        const isInternalElement = isString(node.attr(internalElementAttr));\n        const isInlineElement = node.type === 1 && !has$2(blockElements, node.name) && !isTransparentAstBlock(schema, node) && !isNonHtmlElementRootName(node.name);\n        return node.type === 3 || isInlineElement && !isInternalElement;\n      };\n      const addRootBlocks = (rootNode, rootBlockName) => {\n        const blockElements = extend$1(makeMap('script,style,head,html,body,title,meta,param'), schema.getBlockElements());\n        const startWhiteSpaceRegExp = /^[ \\t\\r\\n]+/;\n        const endWhiteSpaceRegExp = /[ \\t\\r\\n]+$/;\n        let node = rootNode.firstChild,\n          rootBlockNode = null;\n        const trim = rootBlock => {\n          var _a, _b;\n          if (rootBlock) {\n            node = rootBlock.firstChild;\n            if (node && node.type === 3) {\n              node.value = (_a = node.value) === null || _a === void 0 ? void 0 : _a.replace(startWhiteSpaceRegExp, '');\n            }\n            node = rootBlock.lastChild;\n            if (node && node.type === 3) {\n              node.value = (_b = node.value) === null || _b === void 0 ? void 0 : _b.replace(endWhiteSpaceRegExp, '');\n            }\n          }\n        };\n        if (!schema.isValidChild(rootNode.name, rootBlockName.toLowerCase())) {\n          return;\n        }\n        while (node) {\n          const next = node.next;\n          if (isWrappableNode(blockElements, node)) {\n            if (!rootBlockNode) {\n              rootBlockNode = new AstNode(rootBlockName, 1);\n              rootBlockNode.attr(defaultedSettings.forced_root_block_attrs);\n              rootNode.insert(rootBlockNode, node);\n              rootBlockNode.append(node);\n            } else {\n              rootBlockNode.append(node);\n            }\n          } else {\n            trim(rootBlockNode);\n            rootBlockNode = null;\n          }\n          node = next;\n        }\n        trim(rootBlockNode);\n      };\n      const parse = (html, args = {}) => {\n        var _a;\n        const validate = defaultedSettings.validate;\n        const rootName = (_a = args.context) !== null && _a !== void 0 ? _a : defaultedSettings.root_name;\n        const element = parseAndSanitizeWithContext(html, rootName, args.format);\n        updateChildren(schema, element);\n        const rootNode = new AstNode(rootName, 11);\n        transferChildren(rootNode, element, schema.getSpecialElements(), sanitizer.sanitizeNamespaceElement);\n        element.innerHTML = '';\n        const [whitespacePre, whitespacePost] = whitespaceCleaner(rootNode, schema, defaultedSettings, args);\n        const invalidChildren = [];\n        const invalidFinder = validate ? node => findInvalidChildren(node, invalidChildren) : noop;\n        const matches = {\n          nodes: {},\n          attributes: {}\n        };\n        const matchFinder = node => matchNode$1(getNodeFilters(), getAttributeFilters(), node, matches);\n        walkTree(rootNode, [whitespacePre, matchFinder], [whitespacePost, invalidFinder]);\n        invalidChildren.reverse();\n        if (validate && invalidChildren.length > 0) {\n          if (args.context) {\n            const {\n              pass: topLevelChildren,\n              fail: otherChildren\n            } = partition$2(invalidChildren, child => child.parent === rootNode);\n            cleanInvalidNodes(otherChildren, schema, rootNode, matchFinder);\n            args.invalid = topLevelChildren.length > 0;\n          } else {\n            cleanInvalidNodes(invalidChildren, schema, rootNode, matchFinder);\n          }\n        }\n        const rootBlockName = getRootBlockName(defaultedSettings, args);\n        if (rootBlockName && (rootNode.name === 'body' || args.isRootContent)) {\n          addRootBlocks(rootNode, rootBlockName);\n        }\n        if (!args.invalid) {\n          runFilters(matches, args);\n        }\n        return rootNode;\n      };\n      const exports = {\n        schema,\n        addAttributeFilter,\n        getAttributeFilters,\n        removeAttributeFilter,\n        addNodeFilter,\n        getNodeFilters,\n        removeNodeFilter,\n        parse\n      };\n      register$4(exports, defaultedSettings);\n      register$5(exports, defaultedSettings, schema);\n      return exports;\n    };\n\n    const serializeContent = content => isTreeNode(content) ? HtmlSerializer({\n      validate: false\n    }).serialize(content) : content;\n    const withSerializedContent = (content, fireEvent, parserSettings) => {\n      const serializedContent = serializeContent(content);\n      const eventArgs = fireEvent(serializedContent);\n      if (eventArgs.isDefaultPrevented()) {\n        return eventArgs;\n      } else if (isTreeNode(content)) {\n        if (eventArgs.content !== serializedContent) {\n          const rootNode = DomParser({\n            validate: false,\n            forced_root_block: false,\n            ...parserSettings\n          }).parse(eventArgs.content, {\n            context: content.name\n          });\n          return {\n            ...eventArgs,\n            content: rootNode\n          };\n        } else {\n          return {\n            ...eventArgs,\n            content\n          };\n        }\n      } else {\n        return eventArgs;\n      }\n    };\n    const preProcessGetContent = (editor, args) => {\n      if (args.no_events) {\n        return Result.value(args);\n      } else {\n        const eventArgs = fireBeforeGetContent(editor, args);\n        if (eventArgs.isDefaultPrevented()) {\n          return Result.error(fireGetContent(editor, {\n            content: '',\n            ...eventArgs\n          }).content);\n        } else {\n          return Result.value(eventArgs);\n        }\n      }\n    };\n    const postProcessGetContent = (editor, content, args) => {\n      if (args.no_events) {\n        return content;\n      } else {\n        const processedEventArgs = withSerializedContent(content, content => fireGetContent(editor, {\n          ...args,\n          content\n        }), {\n          sanitize: shouldSanitizeXss(editor),\n          sandbox_iframes: shouldSandboxIframes(editor)\n        });\n        return processedEventArgs.content;\n      }\n    };\n    const preProcessSetContent = (editor, args) => {\n      if (args.no_events) {\n        return Result.value(args);\n      } else {\n        const processedEventArgs = withSerializedContent(args.content, content => fireBeforeSetContent(editor, {\n          ...args,\n          content\n        }), {\n          sanitize: shouldSanitizeXss(editor),\n          sandbox_iframes: shouldSandboxIframes(editor)\n        });\n        if (processedEventArgs.isDefaultPrevented()) {\n          fireSetContent(editor, processedEventArgs);\n          return Result.error(undefined);\n        } else {\n          return Result.value(processedEventArgs);\n        }\n      }\n    };\n    const postProcessSetContent = (editor, content, args) => {\n      if (!args.no_events) {\n        fireSetContent(editor, {\n          ...args,\n          content\n        });\n      }\n    };\n\n    const tableModel = (element, width, rows) => ({\n      element,\n      width,\n      rows\n    });\n    const tableRow = (element, cells) => ({\n      element,\n      cells\n    });\n    const cellPosition = (x, y) => ({\n      x,\n      y\n    });\n    const getSpan = (td, key) => {\n      return getOpt(td, key).bind(toInt).getOr(1);\n    };\n    const fillout = (table, x, y, tr, td) => {\n      const rowspan = getSpan(td, 'rowspan');\n      const colspan = getSpan(td, 'colspan');\n      const rows = table.rows;\n      for (let y2 = y; y2 < y + rowspan; y2++) {\n        if (!rows[y2]) {\n          rows[y2] = tableRow(deep$1(tr), []);\n        }\n        for (let x2 = x; x2 < x + colspan; x2++) {\n          const cells = rows[y2].cells;\n          cells[x2] = y2 === y && x2 === x ? td : shallow$1(td);\n        }\n      }\n    };\n    const cellExists = (table, x, y) => {\n      const rows = table.rows;\n      const cells = rows[y] ? rows[y].cells : [];\n      return !!cells[x];\n    };\n    const skipCellsX = (table, x, y) => {\n      while (cellExists(table, x, y)) {\n        x++;\n      }\n      return x;\n    };\n    const getWidth = rows => {\n      return foldl(rows, (acc, row) => {\n        return row.cells.length > acc ? row.cells.length : acc;\n      }, 0);\n    };\n    const findElementPos = (table, element) => {\n      const rows = table.rows;\n      for (let y = 0; y < rows.length; y++) {\n        const cells = rows[y].cells;\n        for (let x = 0; x < cells.length; x++) {\n          if (eq(cells[x], element)) {\n            return Optional.some(cellPosition(x, y));\n          }\n        }\n      }\n      return Optional.none();\n    };\n    const extractRows = (table, sx, sy, ex, ey) => {\n      const newRows = [];\n      const rows = table.rows;\n      for (let y = sy; y <= ey; y++) {\n        const cells = rows[y].cells;\n        const slice = sx < ex ? cells.slice(sx, ex + 1) : cells.slice(ex, sx + 1);\n        newRows.push(tableRow(rows[y].element, slice));\n      }\n      return newRows;\n    };\n    const subTable = (table, startPos, endPos) => {\n      const sx = startPos.x,\n        sy = startPos.y;\n      const ex = endPos.x,\n        ey = endPos.y;\n      const newRows = sy < ey ? extractRows(table, sx, sy, ex, ey) : extractRows(table, sx, ey, ex, sy);\n      return tableModel(table.element, getWidth(newRows), newRows);\n    };\n    const createDomTable = (table, rows) => {\n      const tableElement = shallow$1(table.element);\n      const tableBody = SugarElement.fromTag('tbody');\n      append(tableBody, rows);\n      append$1(tableElement, tableBody);\n      return tableElement;\n    };\n    const modelRowsToDomRows = table => {\n      return map$3(table.rows, row => {\n        const cells = map$3(row.cells, cell => {\n          const td = deep$1(cell);\n          remove$a(td, 'colspan');\n          remove$a(td, 'rowspan');\n          return td;\n        });\n        const tr = shallow$1(row.element);\n        append(tr, cells);\n        return tr;\n      });\n    };\n    const fromDom = tableElm => {\n      const table = tableModel(shallow$1(tableElm), 0, []);\n      each$e(descendants(tableElm, 'tr'), (tr, y) => {\n        each$e(descendants(tr, 'td,th'), (td, x) => {\n          fillout(table, skipCellsX(table, x, y), y, tr, td);\n        });\n      });\n      return tableModel(table.element, getWidth(table.rows), table.rows);\n    };\n    const toDom = table => {\n      return createDomTable(table, modelRowsToDomRows(table));\n    };\n    const subsection = (table, startElement, endElement) => {\n      return findElementPos(table, startElement).bind(startPos => {\n        return findElementPos(table, endElement).map(endPos => {\n          return subTable(table, startPos, endPos);\n        });\n      });\n    };\n\n    const findParentListContainer = parents => find$2(parents, elm => name(elm) === 'ul' || name(elm) === 'ol');\n    const getFullySelectedListWrappers = (parents, rng) => find$2(parents, elm => name(elm) === 'li' && hasAllContentsSelected(elm, rng)).fold(constant([]), _li => findParentListContainer(parents).map(listCont => {\n      const listElm = SugarElement.fromTag(name(listCont));\n      const listStyles = filter$4(getAllRaw(listCont), (_style, name) => startsWith(name, 'list-style'));\n      setAll(listElm, listStyles);\n      return [SugarElement.fromTag('li'), listElm];\n    }).getOr([]));\n    const wrap = (innerElm, elms) => {\n      const wrapped = foldl(elms, (acc, elm) => {\n        append$1(elm, acc);\n        return elm;\n      }, innerElm);\n      return elms.length > 0 ? fromElements([wrapped]) : wrapped;\n    };\n    const directListWrappers = commonAnchorContainer => {\n      if (isListItem$1(commonAnchorContainer)) {\n        return parent(commonAnchorContainer).filter(isList).fold(constant([]), listElm => [commonAnchorContainer, listElm]);\n      } else {\n        return isList(commonAnchorContainer) ? [commonAnchorContainer] : [];\n      }\n    };\n    const getWrapElements = (rootNode, rng, schema) => {\n      const commonAnchorContainer = SugarElement.fromDom(rng.commonAncestorContainer);\n      const parents = parentsAndSelf(commonAnchorContainer, rootNode);\n      const wrapElements = filter$5(parents, el => schema.isWrapper(name(el)));\n      const listWrappers = getFullySelectedListWrappers(parents, rng);\n      const allWrappers = wrapElements.concat(listWrappers.length ? listWrappers : directListWrappers(commonAnchorContainer));\n      return map$3(allWrappers, shallow$1);\n    };\n    const emptyFragment = () => fromElements([]);\n    const getFragmentFromRange = (rootNode, rng, schema) => wrap(SugarElement.fromDom(rng.cloneContents()), getWrapElements(rootNode, rng, schema));\n    const getParentTable = (rootElm, cell) => ancestor$3(cell, 'table', curry(eq, rootElm));\n    const getTableFragment = (rootNode, selectedTableCells) => getParentTable(rootNode, selectedTableCells[0]).bind(tableElm => {\n      const firstCell = selectedTableCells[0];\n      const lastCell = selectedTableCells[selectedTableCells.length - 1];\n      const fullTableModel = fromDom(tableElm);\n      return subsection(fullTableModel, firstCell, lastCell).map(sectionedTableModel => fromElements([toDom(sectionedTableModel)]));\n    }).getOrThunk(emptyFragment);\n    const getSelectionFragment = (rootNode, ranges, schema) => ranges.length > 0 && ranges[0].collapsed ? emptyFragment() : getFragmentFromRange(rootNode, ranges[0], schema);\n    const read$3 = (rootNode, ranges, schema) => {\n      const selectedCells = getCellsFromElementOrRanges(ranges, rootNode);\n      return selectedCells.length > 0 ? getTableFragment(rootNode, selectedCells) : getSelectionFragment(rootNode, ranges, schema);\n    };\n\n    const isCollapsibleWhitespace = (text, index) => index >= 0 && index < text.length && isWhiteSpace(text.charAt(index));\n    const getInnerText = bin => {\n      return trim$2(bin.innerText);\n    };\n    const getContextNodeName = parentBlockOpt => parentBlockOpt.map(block => block.nodeName).getOr('div').toLowerCase();\n    const getTextContent = editor => Optional.from(editor.selection.getRng()).map(rng => {\n      var _a;\n      const parentBlockOpt = Optional.from(editor.dom.getParent(rng.commonAncestorContainer, editor.dom.isBlock));\n      const body = editor.getBody();\n      const contextNodeName = getContextNodeName(parentBlockOpt);\n      const rangeContentClone = SugarElement.fromDom(rng.cloneContents());\n      cleanupBogusElements(rangeContentClone);\n      cleanupInputNames(rangeContentClone);\n      const bin = editor.dom.add(body, contextNodeName, {\n        'data-mce-bogus': 'all',\n        'style': 'overflow: hidden; opacity: 0;'\n      }, rangeContentClone.dom);\n      const text = getInnerText(bin);\n      const nonRenderedText = trim$2((_a = bin.textContent) !== null && _a !== void 0 ? _a : '');\n      editor.dom.remove(bin);\n      if (isCollapsibleWhitespace(nonRenderedText, 0) || isCollapsibleWhitespace(nonRenderedText, nonRenderedText.length - 1)) {\n        const parentBlock = parentBlockOpt.getOr(body);\n        const parentBlockText = getInnerText(parentBlock);\n        const textIndex = parentBlockText.indexOf(text);\n        if (textIndex === -1) {\n          return text;\n        } else {\n          const hasProceedingSpace = isCollapsibleWhitespace(parentBlockText, textIndex - 1);\n          const hasTrailingSpace = isCollapsibleWhitespace(parentBlockText, textIndex + text.length);\n          return (hasProceedingSpace ? ' ' : '') + text + (hasTrailingSpace ? ' ' : '');\n        }\n      } else {\n        return text;\n      }\n    }).getOr('');\n    const getSerializedContent = (editor, args) => {\n      const rng = editor.selection.getRng(),\n        tmpElm = editor.dom.create('body');\n      const sel = editor.selection.getSel();\n      const ranges = processRanges(editor, getRanges$1(sel));\n      const fragment = args.contextual ? read$3(SugarElement.fromDom(editor.getBody()), ranges, editor.schema).dom : rng.cloneContents();\n      if (fragment) {\n        tmpElm.appendChild(fragment);\n      }\n      return editor.selection.serializer.serialize(tmpElm, args);\n    };\n    const extractSelectedContent = (editor, args) => {\n      if (args.format === 'text') {\n        return getTextContent(editor);\n      } else {\n        const content = getSerializedContent(editor, args);\n        if (args.format === 'tree') {\n          return content;\n        } else {\n          return editor.selection.isCollapsed() ? '' : content;\n        }\n      }\n    };\n    const setupArgs$3 = (args, format) => ({\n      ...args,\n      format,\n      get: true,\n      selection: true,\n      getInner: true\n    });\n    const getSelectedContentInternal = (editor, format, args = {}) => {\n      const defaultedArgs = setupArgs$3(args, format);\n      return preProcessGetContent(editor, defaultedArgs).fold(identity, updatedArgs => {\n        const content = extractSelectedContent(editor, updatedArgs);\n        return postProcessGetContent(editor, content, updatedArgs);\n      });\n    };\n\n    const KEEP = 0,\n      INSERT = 1,\n      DELETE = 2;\n    const diff = (left, right) => {\n      const size = left.length + right.length + 2;\n      const vDown = new Array(size);\n      const vUp = new Array(size);\n      const snake = (start, end, diag) => {\n        return {\n          start,\n          end,\n          diag\n        };\n      };\n      const buildScript = (start1, end1, start2, end2, script) => {\n        const middle = getMiddleSnake(start1, end1, start2, end2);\n        if (middle === null || middle.start === end1 && middle.diag === end1 - end2 || middle.end === start1 && middle.diag === start1 - start2) {\n          let i = start1;\n          let j = start2;\n          while (i < end1 || j < end2) {\n            if (i < end1 && j < end2 && left[i] === right[j]) {\n              script.push([KEEP, left[i]]);\n              ++i;\n              ++j;\n            } else {\n              if (end1 - start1 > end2 - start2) {\n                script.push([DELETE, left[i]]);\n                ++i;\n              } else {\n                script.push([INSERT, right[j]]);\n                ++j;\n              }\n            }\n          }\n        } else {\n          buildScript(start1, middle.start, start2, middle.start - middle.diag, script);\n          for (let i2 = middle.start; i2 < middle.end; ++i2) {\n            script.push([KEEP, left[i2]]);\n          }\n          buildScript(middle.end, end1, middle.end - middle.diag, end2, script);\n        }\n      };\n      const buildSnake = (start, diag, end1, end2) => {\n        let end = start;\n        while (end - diag < end2 && end < end1 && left[end] === right[end - diag]) {\n          ++end;\n        }\n        return snake(start, end, diag);\n      };\n      const getMiddleSnake = (start1, end1, start2, end2) => {\n        const m = end1 - start1;\n        const n = end2 - start2;\n        if (m === 0 || n === 0) {\n          return null;\n        }\n        const delta = m - n;\n        const sum = n + m;\n        const offset = (sum % 2 === 0 ? sum : sum + 1) / 2;\n        vDown[1 + offset] = start1;\n        vUp[1 + offset] = end1 + 1;\n        let d, k, i, x, y;\n        for (d = 0; d <= offset; ++d) {\n          for (k = -d; k <= d; k += 2) {\n            i = k + offset;\n            if (k === -d || k !== d && vDown[i - 1] < vDown[i + 1]) {\n              vDown[i] = vDown[i + 1];\n            } else {\n              vDown[i] = vDown[i - 1] + 1;\n            }\n            x = vDown[i];\n            y = x - start1 + start2 - k;\n            while (x < end1 && y < end2 && left[x] === right[y]) {\n              vDown[i] = ++x;\n              ++y;\n            }\n            if (delta % 2 !== 0 && delta - d <= k && k <= delta + d) {\n              if (vUp[i - delta] <= vDown[i]) {\n                return buildSnake(vUp[i - delta], k + start1 - start2, end1, end2);\n              }\n            }\n          }\n          for (k = delta - d; k <= delta + d; k += 2) {\n            i = k + offset - delta;\n            if (k === delta - d || k !== delta + d && vUp[i + 1] <= vUp[i - 1]) {\n              vUp[i] = vUp[i + 1] - 1;\n            } else {\n              vUp[i] = vUp[i - 1];\n            }\n            x = vUp[i] - 1;\n            y = x - start1 + start2 - k;\n            while (x >= start1 && y >= start2 && left[x] === right[y]) {\n              vUp[i] = x--;\n              y--;\n            }\n            if (delta % 2 === 0 && -d <= k && k <= d) {\n              if (vUp[i] <= vDown[i + delta]) {\n                return buildSnake(vUp[i], k + start1 - start2, end1, end2);\n              }\n            }\n          }\n        }\n        return null;\n      };\n      const script = [];\n      buildScript(0, left.length, 0, right.length, script);\n      return script;\n    };\n\n    const getOuterHtml = elm => {\n      if (isElement$6(elm)) {\n        return elm.outerHTML;\n      } else if (isText$a(elm)) {\n        return Entities.encodeRaw(elm.data, false);\n      } else if (isComment(elm)) {\n        return '<!--' + elm.data + '-->';\n      }\n      return '';\n    };\n    const createFragment = html => {\n      let node;\n      const container = document.createElement('div');\n      const frag = document.createDocumentFragment();\n      if (html) {\n        container.innerHTML = html;\n      }\n      while (node = container.firstChild) {\n        frag.appendChild(node);\n      }\n      return frag;\n    };\n    const insertAt = (elm, html, index) => {\n      const fragment = createFragment(html);\n      if (elm.hasChildNodes() && index < elm.childNodes.length) {\n        const target = elm.childNodes[index];\n        elm.insertBefore(fragment, target);\n      } else {\n        elm.appendChild(fragment);\n      }\n    };\n    const removeAt = (elm, index) => {\n      if (elm.hasChildNodes() && index < elm.childNodes.length) {\n        const target = elm.childNodes[index];\n        elm.removeChild(target);\n      }\n    };\n    const applyDiff = (diff, elm) => {\n      let index = 0;\n      each$e(diff, action => {\n        if (action[0] === KEEP) {\n          index++;\n        } else if (action[0] === INSERT) {\n          insertAt(elm, action[1], index);\n          index++;\n        } else if (action[0] === DELETE) {\n          removeAt(elm, index);\n        }\n      });\n    };\n    const read$2 = (elm, trimZwsp) => filter$5(map$3(from(elm.childNodes), trimZwsp ? compose(trim$2, getOuterHtml) : getOuterHtml), item => {\n      return item.length > 0;\n    });\n    const write = (fragments, elm) => {\n      const currentFragments = map$3(from(elm.childNodes), getOuterHtml);\n      applyDiff(diff(currentFragments, fragments), elm);\n      return elm;\n    };\n\n    const lazyTempDocument = cached(() => document.implementation.createHTMLDocument('undo'));\n    const hasIframes = body => body.querySelector('iframe') !== null;\n    const createFragmentedLevel = fragments => {\n      return {\n        type: 'fragmented',\n        fragments,\n        content: '',\n        bookmark: null,\n        beforeBookmark: null\n      };\n    };\n    const createCompleteLevel = content => {\n      return {\n        type: 'complete',\n        fragments: null,\n        content,\n        bookmark: null,\n        beforeBookmark: null\n      };\n    };\n    const createFromEditor = editor => {\n      const tempAttrs = editor.serializer.getTempAttrs();\n      const body = trim$1(editor.getBody(), tempAttrs);\n      return hasIframes(body) ? createFragmentedLevel(read$2(body, true)) : createCompleteLevel(trim$2(body.innerHTML));\n    };\n    const applyToEditor = (editor, level, before) => {\n      const bookmark = before ? level.beforeBookmark : level.bookmark;\n      if (level.type === 'fragmented') {\n        write(level.fragments, editor.getBody());\n      } else {\n        editor.setContent(level.content, {\n          format: 'raw',\n          no_selection: isNonNullable(bookmark) && isPathBookmark(bookmark) ? !bookmark.isFakeCaret : true\n        });\n      }\n      if (bookmark) {\n        editor.selection.moveToBookmark(bookmark);\n        editor.selection.scrollIntoView();\n      }\n    };\n    const getLevelContent = level => {\n      return level.type === 'fragmented' ? level.fragments.join('') : level.content;\n    };\n    const getCleanLevelContent = level => {\n      const elm = SugarElement.fromTag('body', lazyTempDocument());\n      set$1(elm, getLevelContent(level));\n      each$e(descendants(elm, '*[data-mce-bogus]'), unwrap);\n      return get$6(elm);\n    };\n    const hasEqualContent = (level1, level2) => getLevelContent(level1) === getLevelContent(level2);\n    const hasEqualCleanedContent = (level1, level2) => getCleanLevelContent(level1) === getCleanLevelContent(level2);\n    const isEq$1 = (level1, level2) => {\n      if (!level1 || !level2) {\n        return false;\n      } else if (hasEqualContent(level1, level2)) {\n        return true;\n      } else {\n        return hasEqualCleanedContent(level1, level2);\n      }\n    };\n\n    const isUnlocked = locks => locks.get() === 0;\n\n    const setTyping = (undoManager, typing, locks) => {\n      if (isUnlocked(locks)) {\n        undoManager.typing = typing;\n      }\n    };\n    const endTyping = (undoManager, locks) => {\n      if (undoManager.typing) {\n        setTyping(undoManager, false, locks);\n        undoManager.add();\n      }\n    };\n    const endTypingLevelIgnoreLocks = undoManager => {\n      if (undoManager.typing) {\n        undoManager.typing = false;\n        undoManager.add();\n      }\n    };\n\n    const beforeChange$1 = (editor, locks, beforeBookmark) => {\n      if (isUnlocked(locks)) {\n        beforeBookmark.set(getUndoBookmark(editor.selection));\n      }\n    };\n    const addUndoLevel$1 = (editor, undoManager, index, locks, beforeBookmark, level, event) => {\n      const currentLevel = createFromEditor(editor);\n      const newLevel = Tools.extend(level || {}, currentLevel);\n      if (!isUnlocked(locks) || editor.removed) {\n        return null;\n      }\n      const lastLevel = undoManager.data[index.get()];\n      if (editor.dispatch('BeforeAddUndo', {\n        level: newLevel,\n        lastLevel,\n        originalEvent: event\n      }).isDefaultPrevented()) {\n        return null;\n      }\n      if (lastLevel && isEq$1(lastLevel, newLevel)) {\n        return null;\n      }\n      if (undoManager.data[index.get()]) {\n        beforeBookmark.get().each(bm => {\n          undoManager.data[index.get()].beforeBookmark = bm;\n        });\n      }\n      const customUndoRedoLevels = getCustomUndoRedoLevels(editor);\n      if (customUndoRedoLevels) {\n        if (undoManager.data.length > customUndoRedoLevels) {\n          for (let i = 0; i < undoManager.data.length - 1; i++) {\n            undoManager.data[i] = undoManager.data[i + 1];\n          }\n          undoManager.data.length--;\n          index.set(undoManager.data.length);\n        }\n      }\n      newLevel.bookmark = getUndoBookmark(editor.selection);\n      if (index.get() < undoManager.data.length - 1) {\n        undoManager.data.length = index.get() + 1;\n      }\n      undoManager.data.push(newLevel);\n      index.set(undoManager.data.length - 1);\n      const args = {\n        level: newLevel,\n        lastLevel,\n        originalEvent: event\n      };\n      if (index.get() > 0) {\n        editor.setDirty(true);\n        editor.dispatch('AddUndo', args);\n        editor.dispatch('change', args);\n      } else {\n        editor.dispatch('AddUndo', args);\n      }\n      return newLevel;\n    };\n    const clear$1 = (editor, undoManager, index) => {\n      undoManager.data = [];\n      index.set(0);\n      undoManager.typing = false;\n      editor.dispatch('ClearUndos');\n    };\n    const extra$1 = (editor, undoManager, index, callback1, callback2) => {\n      if (undoManager.transact(callback1)) {\n        const bookmark = undoManager.data[index.get()].bookmark;\n        const lastLevel = undoManager.data[index.get() - 1];\n        applyToEditor(editor, lastLevel, true);\n        if (undoManager.transact(callback2)) {\n          undoManager.data[index.get() - 1].beforeBookmark = bookmark;\n        }\n      }\n    };\n    const redo$1 = (editor, index, data) => {\n      let level;\n      if (index.get() < data.length - 1) {\n        index.set(index.get() + 1);\n        level = data[index.get()];\n        applyToEditor(editor, level, false);\n        editor.setDirty(true);\n        editor.dispatch('Redo', {\n          level\n        });\n      }\n      return level;\n    };\n    const undo$1 = (editor, undoManager, locks, index) => {\n      let level;\n      if (undoManager.typing) {\n        undoManager.add();\n        undoManager.typing = false;\n        setTyping(undoManager, false, locks);\n      }\n      if (index.get() > 0) {\n        index.set(index.get() - 1);\n        level = undoManager.data[index.get()];\n        applyToEditor(editor, level, true);\n        editor.setDirty(true);\n        editor.dispatch('Undo', {\n          level\n        });\n      }\n      return level;\n    };\n    const reset$1 = undoManager => {\n      undoManager.clear();\n      undoManager.add();\n    };\n    const hasUndo$1 = (editor, undoManager, index) => index.get() > 0 || undoManager.typing && undoManager.data[0] && !isEq$1(createFromEditor(editor), undoManager.data[0]);\n    const hasRedo$1 = (undoManager, index) => index.get() < undoManager.data.length - 1 && !undoManager.typing;\n    const transact$1 = (undoManager, locks, callback) => {\n      endTyping(undoManager, locks);\n      undoManager.beforeChange();\n      undoManager.ignore(callback);\n      return undoManager.add();\n    };\n    const ignore$1 = (locks, callback) => {\n      try {\n        locks.set(locks.get() + 1);\n        callback();\n      } finally {\n        locks.set(locks.get() - 1);\n      }\n    };\n\n    const addVisualInternal = (editor, elm) => {\n      const dom = editor.dom;\n      const scope = isNonNullable(elm) ? elm : editor.getBody();\n      each$e(dom.select('table,a', scope), matchedElm => {\n        switch (matchedElm.nodeName) {\n          case 'TABLE':\n            const cls = getVisualAidsTableClass(editor);\n            const value = dom.getAttrib(matchedElm, 'border');\n            if ((!value || value === '0') && editor.hasVisual) {\n              dom.addClass(matchedElm, cls);\n            } else {\n              dom.removeClass(matchedElm, cls);\n            }\n            break;\n          case 'A':\n            if (!dom.getAttrib(matchedElm, 'href')) {\n              const value = dom.getAttrib(matchedElm, 'name') || matchedElm.id;\n              const cls = getVisualAidsAnchorClass(editor);\n              if (value && editor.hasVisual) {\n                dom.addClass(matchedElm, cls);\n              } else {\n                dom.removeClass(matchedElm, cls);\n              }\n            }\n            break;\n        }\n      });\n      editor.dispatch('VisualAid', {\n        element: elm,\n        hasVisual: editor.hasVisual\n      });\n    };\n\n    const makePlainAdaptor = editor => ({\n      init: {\n        bindEvents: noop\n      },\n      undoManager: {\n        beforeChange: (locks, beforeBookmark) => beforeChange$1(editor, locks, beforeBookmark),\n        add: (undoManager, index, locks, beforeBookmark, level, event) => addUndoLevel$1(editor, undoManager, index, locks, beforeBookmark, level, event),\n        undo: (undoManager, locks, index) => undo$1(editor, undoManager, locks, index),\n        redo: (index, data) => redo$1(editor, index, data),\n        clear: (undoManager, index) => clear$1(editor, undoManager, index),\n        reset: undoManager => reset$1(undoManager),\n        hasUndo: (undoManager, index) => hasUndo$1(editor, undoManager, index),\n        hasRedo: (undoManager, index) => hasRedo$1(undoManager, index),\n        transact: (undoManager, locks, callback) => transact$1(undoManager, locks, callback),\n        ignore: (locks, callback) => ignore$1(locks, callback),\n        extra: (undoManager, index, callback1, callback2) => extra$1(editor, undoManager, index, callback1, callback2)\n      },\n      formatter: {\n        match: (name, vars, node, similar) => match$2(editor, name, vars, node, similar),\n        matchAll: (names, vars) => matchAll(editor, names, vars),\n        matchNode: (node, name, vars, similar) => matchNode(editor, node, name, vars, similar),\n        canApply: name => canApply(editor, name),\n        closest: names => closest(editor, names),\n        apply: (name, vars, node) => applyFormat$1(editor, name, vars, node),\n        remove: (name, vars, node, similar) => removeFormat$1(editor, name, vars, node, similar),\n        toggle: (name, vars, node) => toggle(editor, name, vars, node),\n        formatChanged: (registeredFormatListeners, formats, callback, similar, vars) => formatChangedInternal(editor, registeredFormatListeners, formats, callback, similar, vars)\n      },\n      editor: {\n        getContent: args => getContentInternal(editor, args),\n        setContent: (content, args) => setContentInternal(editor, content, args),\n        insertContent: (value, details) => insertHtmlAtCaret(editor, value, details),\n        addVisual: elm => addVisualInternal(editor, elm)\n      },\n      selection: {\n        getContent: (format, args) => getSelectedContentInternal(editor, format, args)\n      },\n      autocompleter: {\n        addDecoration: range => create$9(editor, range),\n        removeDecoration: () => remove$2(editor, SugarElement.fromDom(editor.getBody()))\n      },\n      raw: {\n        getModel: () => Optional.none()\n      }\n    });\n    const makeRtcAdaptor = rtcEditor => {\n      const defaultVars = vars => isObject(vars) ? vars : {};\n      const {\n        init,\n        undoManager,\n        formatter,\n        editor,\n        selection,\n        autocompleter,\n        raw\n      } = rtcEditor;\n      return {\n        init: {\n          bindEvents: init.bindEvents\n        },\n        undoManager: {\n          beforeChange: undoManager.beforeChange,\n          add: undoManager.add,\n          undo: undoManager.undo,\n          redo: undoManager.redo,\n          clear: undoManager.clear,\n          reset: undoManager.reset,\n          hasUndo: undoManager.hasUndo,\n          hasRedo: undoManager.hasRedo,\n          transact: (_undoManager, _locks, fn) => undoManager.transact(fn),\n          ignore: (_locks, callback) => undoManager.ignore(callback),\n          extra: (_undoManager, _index, callback1, callback2) => undoManager.extra(callback1, callback2)\n        },\n        formatter: {\n          match: (name, vars, _node, similar) => formatter.match(name, defaultVars(vars), similar),\n          matchAll: formatter.matchAll,\n          matchNode: formatter.matchNode,\n          canApply: name => formatter.canApply(name),\n          closest: names => formatter.closest(names),\n          apply: (name, vars, _node) => formatter.apply(name, defaultVars(vars)),\n          remove: (name, vars, _node, _similar) => formatter.remove(name, defaultVars(vars)),\n          toggle: (name, vars, _node) => formatter.toggle(name, defaultVars(vars)),\n          formatChanged: (_rfl, formats, callback, similar, vars) => formatter.formatChanged(formats, callback, similar, vars)\n        },\n        editor: {\n          getContent: args => editor.getContent(args),\n          setContent: (content, args) => {\n            return {\n              content: editor.setContent(content, args),\n              html: ''\n            };\n          },\n          insertContent: (content, _details) => {\n            editor.insertContent(content);\n            return '';\n          },\n          addVisual: editor.addVisual\n        },\n        selection: {\n          getContent: (_format, args) => selection.getContent(args)\n        },\n        autocompleter: {\n          addDecoration: autocompleter.addDecoration,\n          removeDecoration: autocompleter.removeDecoration\n        },\n        raw: {\n          getModel: () => Optional.some(raw.getRawModel())\n        }\n      };\n    };\n    const makeNoopAdaptor = () => {\n      const nul = constant(null);\n      const empty = constant('');\n      return {\n        init: {\n          bindEvents: noop\n        },\n        undoManager: {\n          beforeChange: noop,\n          add: nul,\n          undo: nul,\n          redo: nul,\n          clear: noop,\n          reset: noop,\n          hasUndo: never,\n          hasRedo: never,\n          transact: nul,\n          ignore: noop,\n          extra: noop\n        },\n        formatter: {\n          match: never,\n          matchAll: constant([]),\n          matchNode: constant(undefined),\n          canApply: never,\n          closest: empty,\n          apply: noop,\n          remove: noop,\n          toggle: noop,\n          formatChanged: constant({\n            unbind: noop\n          })\n        },\n        editor: {\n          getContent: empty,\n          setContent: constant({\n            content: '',\n            html: ''\n          }),\n          insertContent: constant(''),\n          addVisual: noop\n        },\n        selection: {\n          getContent: empty\n        },\n        autocompleter: {\n          addDecoration: noop,\n          removeDecoration: noop\n        },\n        raw: {\n          getModel: constant(Optional.none())\n        }\n      };\n    };\n    const isRtc = editor => has$2(editor.plugins, 'rtc');\n    const getRtcSetup = editor => get$a(editor.plugins, 'rtc').bind(rtcPlugin => Optional.from(rtcPlugin.setup));\n    const setup$t = editor => {\n      const editorCast = editor;\n      return getRtcSetup(editor).fold(() => {\n        editorCast.rtcInstance = makePlainAdaptor(editor);\n        return Optional.none();\n      }, setup => {\n        editorCast.rtcInstance = makeNoopAdaptor();\n        return Optional.some(() => setup().then(rtcEditor => {\n          editorCast.rtcInstance = makeRtcAdaptor(rtcEditor);\n          return rtcEditor.rtc.isRemote;\n        }));\n      });\n    };\n    const getRtcInstanceWithFallback = editor => editor.rtcInstance ? editor.rtcInstance : makePlainAdaptor(editor);\n    const getRtcInstanceWithError = editor => {\n      const rtcInstance = editor.rtcInstance;\n      if (!rtcInstance) {\n        throw new Error('Failed to get RTC instance not yet initialized.');\n      } else {\n        return rtcInstance;\n      }\n    };\n    const beforeChange = (editor, locks, beforeBookmark) => {\n      getRtcInstanceWithError(editor).undoManager.beforeChange(locks, beforeBookmark);\n    };\n    const addUndoLevel = (editor, undoManager, index, locks, beforeBookmark, level, event) => getRtcInstanceWithError(editor).undoManager.add(undoManager, index, locks, beforeBookmark, level, event);\n    const undo = (editor, undoManager, locks, index) => getRtcInstanceWithError(editor).undoManager.undo(undoManager, locks, index);\n    const redo = (editor, index, data) => getRtcInstanceWithError(editor).undoManager.redo(index, data);\n    const clear = (editor, undoManager, index) => {\n      getRtcInstanceWithError(editor).undoManager.clear(undoManager, index);\n    };\n    const reset = (editor, undoManager) => {\n      getRtcInstanceWithError(editor).undoManager.reset(undoManager);\n    };\n    const hasUndo = (editor, undoManager, index) => getRtcInstanceWithError(editor).undoManager.hasUndo(undoManager, index);\n    const hasRedo = (editor, undoManager, index) => getRtcInstanceWithError(editor).undoManager.hasRedo(undoManager, index);\n    const transact = (editor, undoManager, locks, callback) => getRtcInstanceWithError(editor).undoManager.transact(undoManager, locks, callback);\n    const ignore = (editor, locks, callback) => {\n      getRtcInstanceWithError(editor).undoManager.ignore(locks, callback);\n    };\n    const extra = (editor, undoManager, index, callback1, callback2) => {\n      getRtcInstanceWithError(editor).undoManager.extra(undoManager, index, callback1, callback2);\n    };\n    const matchFormat = (editor, name, vars, node, similar) => getRtcInstanceWithError(editor).formatter.match(name, vars, node, similar);\n    const matchAllFormats = (editor, names, vars) => getRtcInstanceWithError(editor).formatter.matchAll(names, vars);\n    const matchNodeFormat = (editor, node, name, vars, similar) => getRtcInstanceWithError(editor).formatter.matchNode(node, name, vars, similar);\n    const canApplyFormat = (editor, name) => getRtcInstanceWithError(editor).formatter.canApply(name);\n    const closestFormat = (editor, names) => getRtcInstanceWithError(editor).formatter.closest(names);\n    const applyFormat = (editor, name, vars, node) => {\n      getRtcInstanceWithError(editor).formatter.apply(name, vars, node);\n    };\n    const removeFormat = (editor, name, vars, node, similar) => {\n      getRtcInstanceWithError(editor).formatter.remove(name, vars, node, similar);\n    };\n    const toggleFormat = (editor, name, vars, node) => {\n      getRtcInstanceWithError(editor).formatter.toggle(name, vars, node);\n    };\n    const formatChanged = (editor, registeredFormatListeners, formats, callback, similar, vars) => getRtcInstanceWithError(editor).formatter.formatChanged(registeredFormatListeners, formats, callback, similar, vars);\n    const getContent$2 = (editor, args) => getRtcInstanceWithFallback(editor).editor.getContent(args);\n    const setContent$2 = (editor, content, args) => getRtcInstanceWithFallback(editor).editor.setContent(content, args);\n    const insertContent$1 = (editor, value, details) => getRtcInstanceWithFallback(editor).editor.insertContent(value, details);\n    const getSelectedContent = (editor, format, args) => getRtcInstanceWithError(editor).selection.getContent(format, args);\n    const addVisual$1 = (editor, elm) => getRtcInstanceWithError(editor).editor.addVisual(elm);\n    const bindEvents = editor => getRtcInstanceWithError(editor).init.bindEvents();\n    const addAutocompleterDecoration = (editor, range) => getRtcInstanceWithError(editor).autocompleter.addDecoration(range);\n    const removeAutocompleterDecoration = editor => getRtcInstanceWithError(editor).autocompleter.removeDecoration();\n\n    const getContent$1 = (editor, args = {}) => {\n      const format = args.format ? args.format : 'html';\n      return getSelectedContent(editor, format, args);\n    };\n\n    const removeEmpty = text => {\n      if (text.dom.length === 0) {\n        remove$5(text);\n        return Optional.none();\n      } else {\n        return Optional.some(text);\n      }\n    };\n    const walkPastBookmark = (node, start) => node.filter(elm => BookmarkManager.isBookmarkNode(elm.dom)).bind(start ? nextSibling : prevSibling);\n    const merge$1 = (outer, inner, rng, start, schema) => {\n      const outerElm = outer.dom;\n      const innerElm = inner.dom;\n      const oldLength = start ? outerElm.length : innerElm.length;\n      if (start) {\n        mergeTextNodes(outerElm, innerElm, schema, false, !start);\n        rng.setStart(innerElm, oldLength);\n      } else {\n        mergeTextNodes(innerElm, outerElm, schema, false, !start);\n        rng.setEnd(innerElm, oldLength);\n      }\n    };\n    const normalizeTextIfRequired = (inner, start, schema) => {\n      parent(inner).each(root => {\n        const text = inner.dom;\n        if (start && needsToBeNbspLeft(root, CaretPosition(text, 0), schema)) {\n          normalizeWhitespaceAfter(text, 0, schema);\n        } else if (!start && needsToBeNbspRight(root, CaretPosition(text, text.length), schema)) {\n          normalizeWhitespaceBefore(text, text.length, schema);\n        }\n      });\n    };\n    const mergeAndNormalizeText = (outerNode, innerNode, rng, start, schema) => {\n      outerNode.bind(outer => {\n        const normalizer = start ? normalizeWhitespaceBefore : normalizeWhitespaceAfter;\n        normalizer(outer.dom, start ? outer.dom.length : 0, schema);\n        return innerNode.filter(isText$b).map(inner => merge$1(outer, inner, rng, start, schema));\n      }).orThunk(() => {\n        const innerTextNode = walkPastBookmark(innerNode, start).or(innerNode).filter(isText$b);\n        return innerTextNode.map(inner => normalizeTextIfRequired(inner, start, schema));\n      });\n    };\n    const rngSetContent = (rng, fragment, schema) => {\n      const firstChild = Optional.from(fragment.firstChild).map(SugarElement.fromDom);\n      const lastChild = Optional.from(fragment.lastChild).map(SugarElement.fromDom);\n      rng.deleteContents();\n      rng.insertNode(fragment);\n      const prevText = firstChild.bind(prevSibling).filter(isText$b).bind(removeEmpty);\n      const nextText = lastChild.bind(nextSibling).filter(isText$b).bind(removeEmpty);\n      mergeAndNormalizeText(prevText, firstChild, rng, true, schema);\n      mergeAndNormalizeText(nextText, lastChild, rng, false, schema);\n      rng.collapse(false);\n    };\n    const setupArgs$2 = (args, content) => ({\n      format: 'html',\n      ...args,\n      set: true,\n      selection: true,\n      content\n    });\n    const cleanContent = (editor, args) => {\n      if (args.format !== 'raw') {\n        const rng = editor.selection.getRng();\n        const contextBlock = editor.dom.getParent(rng.commonAncestorContainer, editor.dom.isBlock);\n        const contextArgs = contextBlock ? {\n          context: contextBlock.nodeName.toLowerCase()\n        } : {};\n        const node = editor.parser.parse(args.content, {\n          forced_root_block: false,\n          ...contextArgs,\n          ...args\n        });\n        return HtmlSerializer({\n          validate: false\n        }, editor.schema).serialize(node);\n      } else {\n        return args.content;\n      }\n    };\n    const setContent$1 = (editor, content, args = {}) => {\n      const defaultedArgs = setupArgs$2(args, content);\n      preProcessSetContent(editor, defaultedArgs).each(updatedArgs => {\n        const cleanedContent = cleanContent(editor, updatedArgs);\n        const rng = editor.selection.getRng();\n        rngSetContent(rng, rng.createContextualFragment(cleanedContent), editor.schema);\n        editor.selection.setRng(rng);\n        scrollRangeIntoView(editor, rng);\n        postProcessSetContent(editor, cleanedContent, updatedArgs);\n      });\n    };\n\n    const deleteFromCallbackMap = (callbackMap, selector, callback) => {\n      if (has$2(callbackMap, selector)) {\n        const newCallbacks = filter$5(callbackMap[selector], cb => cb !== callback);\n        if (newCallbacks.length === 0) {\n          delete callbackMap[selector];\n        } else {\n          callbackMap[selector] = newCallbacks;\n        }\n      }\n    };\n    var SelectorChanged = ((dom, editor) => {\n      let selectorChangedData;\n      let currentSelectors;\n      const findMatchingNode = (selector, nodes) => find$2(nodes, node => dom.is(node, selector));\n      const getParents = elem => dom.getParents(elem, undefined, dom.getRoot());\n      const setup = () => {\n        selectorChangedData = {};\n        currentSelectors = {};\n        editor.on('NodeChange', e => {\n          const node = e.element;\n          const parents = getParents(node);\n          const matchedSelectors = {};\n          each$d(selectorChangedData, (callbacks, selector) => {\n            findMatchingNode(selector, parents).each(node => {\n              if (!currentSelectors[selector]) {\n                each$e(callbacks, callback => {\n                  callback(true, {\n                    node,\n                    selector,\n                    parents\n                  });\n                });\n                currentSelectors[selector] = callbacks;\n              }\n              matchedSelectors[selector] = callbacks;\n            });\n          });\n          each$d(currentSelectors, (callbacks, selector) => {\n            if (!matchedSelectors[selector]) {\n              delete currentSelectors[selector];\n              each$e(callbacks, callback => {\n                callback(false, {\n                  node,\n                  selector,\n                  parents\n                });\n              });\n            }\n          });\n        });\n      };\n      return {\n        selectorChangedWithUnbind: (selector, callback) => {\n          if (!selectorChangedData) {\n            setup();\n          }\n          if (!selectorChangedData[selector]) {\n            selectorChangedData[selector] = [];\n          }\n          selectorChangedData[selector].push(callback);\n          findMatchingNode(selector, getParents(editor.selection.getStart())).each(() => {\n            currentSelectors[selector] = selectorChangedData[selector];\n          });\n          return {\n            unbind: () => {\n              deleteFromCallbackMap(selectorChangedData, selector, callback);\n              deleteFromCallbackMap(currentSelectors, selector, callback);\n            }\n          };\n        }\n      };\n    });\n\n    const isAttachedToDom = node => {\n      return !!(node && node.ownerDocument) && contains(SugarElement.fromDom(node.ownerDocument), SugarElement.fromDom(node));\n    };\n    const isValidRange = rng => {\n      if (!rng) {\n        return false;\n      } else {\n        return isAttachedToDom(rng.startContainer) && isAttachedToDom(rng.endContainer);\n      }\n    };\n    const EditorSelection = (dom, win, serializer, editor) => {\n      let selectedRange;\n      let explicitRange;\n      const {\n        selectorChangedWithUnbind\n      } = SelectorChanged(dom, editor);\n      const setCursorLocation = (node, offset) => {\n        const rng = dom.createRng();\n        if (isNonNullable(node) && isNonNullable(offset)) {\n          rng.setStart(node, offset);\n          rng.setEnd(node, offset);\n          setRng(rng);\n          collapse(false);\n        } else {\n          moveEndPoint(dom, rng, editor.getBody(), true);\n          setRng(rng);\n        }\n      };\n      const getContent = args => getContent$1(editor, args);\n      const setContent = (content, args) => setContent$1(editor, content, args);\n      const getStart$1 = real => getStart(editor.getBody(), getRng$1(), real);\n      const getEnd = real => getEnd$1(editor.getBody(), getRng$1(), real);\n      const getBookmark = (type, normalized) => bookmarkManager.getBookmark(type, normalized);\n      const moveToBookmark = bookmark => bookmarkManager.moveToBookmark(bookmark);\n      const select$1 = (node, content) => {\n        select(dom, node, content).each(setRng);\n        return node;\n      };\n      const isCollapsed = () => {\n        const rng = getRng$1(),\n          sel = getSel();\n        if (!rng || rng.item) {\n          return false;\n        }\n        if (rng.compareEndPoints) {\n          return rng.compareEndPoints('StartToEnd', rng) === 0;\n        }\n        return !sel || rng.collapsed;\n      };\n      const isEditable = () => {\n        const rng = getRng$1();\n        const fakeSelectedElements = editor.getBody().querySelectorAll('[data-mce-selected=\"1\"]');\n        if (fakeSelectedElements.length > 0) {\n          return forall(fakeSelectedElements, el => dom.isEditable(el.parentElement));\n        } else {\n          return isEditableRange(dom, rng);\n        }\n      };\n      const collapse = toStart => {\n        const rng = getRng$1();\n        rng.collapse(!!toStart);\n        setRng(rng);\n      };\n      const getSel = () => win.getSelection ? win.getSelection() : win.document.selection;\n      const getRng$1 = () => {\n        let rng;\n        const tryCompareBoundaryPoints = (how, sourceRange, destinationRange) => {\n          try {\n            return sourceRange.compareBoundaryPoints(how, destinationRange);\n          } catch (ex) {\n            return -1;\n          }\n        };\n        const doc = win.document;\n        if (isNonNullable(editor.bookmark) && !hasFocus(editor)) {\n          const bookmark = getRng(editor);\n          if (bookmark.isSome()) {\n            return bookmark.map(r => processRanges(editor, [r])[0]).getOr(doc.createRange());\n          }\n        }\n        try {\n          const selection = getSel();\n          if (selection && !isRestrictedNode(selection.anchorNode)) {\n            if (selection.rangeCount > 0) {\n              rng = selection.getRangeAt(0);\n            } else {\n              rng = doc.createRange();\n            }\n            rng = processRanges(editor, [rng])[0];\n          }\n        } catch (ex) {}\n        if (!rng) {\n          rng = doc.createRange();\n        }\n        if (isDocument$1(rng.startContainer) && rng.collapsed) {\n          const elm = dom.getRoot();\n          rng.setStart(elm, 0);\n          rng.setEnd(elm, 0);\n        }\n        if (selectedRange && explicitRange) {\n          if (tryCompareBoundaryPoints(rng.START_TO_START, rng, selectedRange) === 0 && tryCompareBoundaryPoints(rng.END_TO_END, rng, selectedRange) === 0) {\n            rng = explicitRange;\n          } else {\n            selectedRange = null;\n            explicitRange = null;\n          }\n        }\n        return rng;\n      };\n      const setRng = (rng, forward) => {\n        if (!isValidRange(rng)) {\n          return;\n        }\n        const sel = getSel();\n        const evt = editor.dispatch('SetSelectionRange', {\n          range: rng,\n          forward\n        });\n        rng = evt.range;\n        if (sel) {\n          explicitRange = rng;\n          try {\n            sel.removeAllRanges();\n            sel.addRange(rng);\n          } catch (ex) {}\n          if (forward === false && sel.extend) {\n            sel.collapse(rng.endContainer, rng.endOffset);\n            sel.extend(rng.startContainer, rng.startOffset);\n          }\n          selectedRange = sel.rangeCount > 0 ? sel.getRangeAt(0) : null;\n        }\n        if (!rng.collapsed && rng.startContainer === rng.endContainer && (sel === null || sel === void 0 ? void 0 : sel.setBaseAndExtent)) {\n          if (rng.endOffset - rng.startOffset < 2) {\n            if (rng.startContainer.hasChildNodes()) {\n              const node = rng.startContainer.childNodes[rng.startOffset];\n              if (node && node.nodeName === 'IMG') {\n                sel.setBaseAndExtent(rng.startContainer, rng.startOffset, rng.endContainer, rng.endOffset);\n                if (sel.anchorNode !== rng.startContainer || sel.focusNode !== rng.endContainer) {\n                  sel.setBaseAndExtent(node, 0, node, 1);\n                }\n              }\n            }\n          }\n        }\n        editor.dispatch('AfterSetSelectionRange', {\n          range: rng,\n          forward\n        });\n      };\n      const setNode = elm => {\n        setContent(dom.getOuterHTML(elm));\n        return elm;\n      };\n      const getNode$1 = () => getNode(editor.getBody(), getRng$1());\n      const getSelectedBlocks$1 = (startElm, endElm) => getSelectedBlocks(dom, getRng$1(), startElm, endElm);\n      const isForward = () => {\n        const sel = getSel();\n        const anchorNode = sel === null || sel === void 0 ? void 0 : sel.anchorNode;\n        const focusNode = sel === null || sel === void 0 ? void 0 : sel.focusNode;\n        if (!sel || !anchorNode || !focusNode || isRestrictedNode(anchorNode) || isRestrictedNode(focusNode)) {\n          return true;\n        }\n        const anchorRange = dom.createRng();\n        const focusRange = dom.createRng();\n        try {\n          anchorRange.setStart(anchorNode, sel.anchorOffset);\n          anchorRange.collapse(true);\n          focusRange.setStart(focusNode, sel.focusOffset);\n          focusRange.collapse(true);\n        } catch (e) {\n          return true;\n        }\n        return anchorRange.compareBoundaryPoints(anchorRange.START_TO_START, focusRange) <= 0;\n      };\n      const normalize = () => {\n        const rng = getRng$1();\n        const sel = getSel();\n        if (!hasMultipleRanges(sel) && hasAnyRanges(editor)) {\n          const normRng = normalize$2(dom, rng);\n          normRng.each(normRng => {\n            setRng(normRng, isForward());\n          });\n          return normRng.getOr(rng);\n        }\n        return rng;\n      };\n      const selectorChanged = (selector, callback) => {\n        selectorChangedWithUnbind(selector, callback);\n        return exports;\n      };\n      const getScrollContainer = () => {\n        let scrollContainer;\n        let node = dom.getRoot();\n        while (node && node.nodeName !== 'BODY') {\n          if (node.scrollHeight > node.clientHeight) {\n            scrollContainer = node;\n            break;\n          }\n          node = node.parentNode;\n        }\n        return scrollContainer;\n      };\n      const scrollIntoView = (elm, alignToTop) => {\n        if (isNonNullable(elm)) {\n          scrollElementIntoView(editor, elm, alignToTop);\n        } else {\n          scrollRangeIntoView(editor, getRng$1(), alignToTop);\n        }\n      };\n      const placeCaretAt = (clientX, clientY) => setRng(fromPoint(clientX, clientY, editor.getDoc()));\n      const getBoundingClientRect = () => {\n        const rng = getRng$1();\n        return rng.collapsed ? CaretPosition.fromRangeStart(rng).getClientRects()[0] : rng.getBoundingClientRect();\n      };\n      const destroy = () => {\n        win = selectedRange = explicitRange = null;\n        controlSelection.destroy();\n      };\n      const expand = (options = {\n        type: 'word'\n      }) => setRng(RangeUtils(dom).expand(getRng$1(), options));\n      const exports = {\n        dom,\n        win,\n        serializer,\n        editor,\n        expand,\n        collapse,\n        setCursorLocation,\n        getContent,\n        setContent,\n        getBookmark,\n        moveToBookmark,\n        select: select$1,\n        isCollapsed,\n        isEditable,\n        isForward,\n        setNode,\n        getNode: getNode$1,\n        getSel,\n        setRng,\n        getRng: getRng$1,\n        getStart: getStart$1,\n        getEnd,\n        getSelectedBlocks: getSelectedBlocks$1,\n        normalize,\n        selectorChanged,\n        selectorChangedWithUnbind,\n        getScrollContainer,\n        scrollIntoView,\n        placeCaretAt,\n        getBoundingClientRect,\n        destroy\n      };\n      const bookmarkManager = BookmarkManager(exports);\n      const controlSelection = ControlSelection(exports, editor);\n      exports.bookmarkManager = bookmarkManager;\n      exports.controlSelection = controlSelection;\n      return exports;\n    };\n\n    const register$3 = (htmlParser, settings, dom) => {\n      htmlParser.addAttributeFilter('data-mce-tabindex', (nodes, name) => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          node.attr('tabindex', node.attr('data-mce-tabindex'));\n          node.attr(name, null);\n        }\n      });\n      htmlParser.addAttributeFilter('src,href,style', (nodes, name) => {\n        const internalName = 'data-mce-' + name;\n        const urlConverter = settings.url_converter;\n        const urlConverterScope = settings.url_converter_scope;\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          let value = node.attr(internalName);\n          if (value !== undefined) {\n            node.attr(name, value.length > 0 ? value : null);\n            node.attr(internalName, null);\n          } else {\n            value = node.attr(name);\n            if (name === 'style') {\n              value = dom.serializeStyle(dom.parseStyle(value), node.name);\n            } else if (urlConverter) {\n              value = urlConverter.call(urlConverterScope, value, name, node.name);\n            }\n            node.attr(name, value.length > 0 ? value : null);\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('class', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          let value = node.attr('class');\n          if (value) {\n            value = value.replace(/(?:^|\\s)mce-item-\\w+(?!\\S)/g, '');\n            node.attr('class', value.length > 0 ? value : null);\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('data-mce-type', (nodes, name, args) => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (node.attr('data-mce-type') === 'bookmark' && !args.cleanup) {\n            const hasChildren = Optional.from(node.firstChild).exists(firstChild => {\n              var _a;\n              return !isZwsp$1((_a = firstChild.value) !== null && _a !== void 0 ? _a : '');\n            });\n            if (hasChildren) {\n              node.unwrap();\n            } else {\n              node.remove();\n            }\n          }\n        }\n      });\n      htmlParser.addNodeFilter('script,style', (nodes, name) => {\n        var _a;\n        const trim = value => {\n          return value.replace(/(<!--\\[CDATA\\[|\\]\\]-->)/g, '\\n').replace(/^[\\r\\n]*|[\\r\\n]*$/g, '').replace(/^\\s*((<!--)?(\\s*\\/\\/)?\\s*<!\\[CDATA\\[|(<!--\\s*)?\\/\\*\\s*<!\\[CDATA\\[\\s*\\*\\/|(\\/\\/)?\\s*<!--|\\/\\*\\s*<!--\\s*\\*\\/)\\s*[\\r\\n]*/gi, '').replace(/\\s*(\\/\\*\\s*\\]\\]>\\s*\\*\\/(-->)?|\\s*\\/\\/\\s*\\]\\]>(-->)?|\\/\\/\\s*(-->)?|\\]\\]>|\\/\\*\\s*-->\\s*\\*\\/|\\s*-->\\s*)\\s*$/g, '');\n        };\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          const firstChild = node.firstChild;\n          const value = (_a = firstChild === null || firstChild === void 0 ? void 0 : firstChild.value) !== null && _a !== void 0 ? _a : '';\n          if (name === 'script') {\n            const type = node.attr('type');\n            if (type) {\n              node.attr('type', type === 'mce-no/type' ? null : type.replace(/^mce\\-/, ''));\n            }\n            if (settings.element_format === 'xhtml' && firstChild && value.length > 0) {\n              firstChild.value = '// <![CDATA[\\n' + trim(value) + '\\n// ]]>';\n            }\n          } else {\n            if (settings.element_format === 'xhtml' && firstChild && value.length > 0) {\n              firstChild.value = '<!--\\n' + trim(value) + '\\n-->';\n            }\n          }\n        }\n      });\n      htmlParser.addNodeFilter('#comment', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          const value = node.value;\n          if (settings.preserve_cdata && (value === null || value === void 0 ? void 0 : value.indexOf('[CDATA[')) === 0) {\n            node.name = '#cdata';\n            node.type = 4;\n            node.value = dom.decode(value.replace(/^\\[CDATA\\[|\\]\\]$/g, ''));\n          } else if ((value === null || value === void 0 ? void 0 : value.indexOf('mce:protected ')) === 0) {\n            node.name = '#text';\n            node.type = 3;\n            node.raw = true;\n            node.value = unescape(value).substr(14);\n          }\n        }\n      });\n      htmlParser.addNodeFilter('xml:namespace,input', (nodes, name) => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (node.type === 7) {\n            node.remove();\n          } else if (node.type === 1) {\n            if (name === 'input' && !node.attr('type')) {\n              node.attr('type', 'text');\n            }\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('data-mce-type', nodes => {\n        each$e(nodes, node => {\n          if (node.attr('data-mce-type') === 'format-caret') {\n            if (node.isEmpty(htmlParser.schema.getNonEmptyElements())) {\n              node.remove();\n            } else {\n              node.unwrap();\n            }\n          }\n        });\n      });\n      htmlParser.addAttributeFilter('data-mce-src,data-mce-href,data-mce-style,' + 'data-mce-selected,data-mce-expando,data-mce-block,' + 'data-mce-type,data-mce-resize,data-mce-placeholder', (nodes, name) => {\n        let i = nodes.length;\n        while (i--) {\n          nodes[i].attr(name, null);\n        }\n      });\n      if (settings.remove_trailing_brs) {\n        addNodeFilter(settings, htmlParser, htmlParser.schema);\n      }\n    };\n    const trimTrailingBr = rootNode => {\n      const isBr = node => {\n        return (node === null || node === void 0 ? void 0 : node.name) === 'br';\n      };\n      const brNode1 = rootNode.lastChild;\n      if (isBr(brNode1)) {\n        const brNode2 = brNode1.prev;\n        if (isBr(brNode2)) {\n          brNode1.remove();\n          brNode2.remove();\n        }\n      }\n    };\n\n    const preProcess$1 = (editor, node, args) => {\n      let oldDoc;\n      const dom = editor.dom;\n      let clonedNode = node.cloneNode(true);\n      const impl = document.implementation;\n      if (impl.createHTMLDocument) {\n        const doc = impl.createHTMLDocument('');\n        Tools.each(clonedNode.nodeName === 'BODY' ? clonedNode.childNodes : [clonedNode], node => {\n          doc.body.appendChild(doc.importNode(node, true));\n        });\n        if (clonedNode.nodeName !== 'BODY') {\n          clonedNode = doc.body.firstChild;\n        } else {\n          clonedNode = doc.body;\n        }\n        oldDoc = dom.doc;\n        dom.doc = doc;\n      }\n      firePreProcess(editor, {\n        ...args,\n        node: clonedNode\n      });\n      if (oldDoc) {\n        dom.doc = oldDoc;\n      }\n      return clonedNode;\n    };\n    const shouldFireEvent = (editor, args) => {\n      return isNonNullable(editor) && editor.hasEventListeners('PreProcess') && !args.no_events;\n    };\n    const process$1 = (editor, node, args) => {\n      return shouldFireEvent(editor, args) ? preProcess$1(editor, node, args) : node;\n    };\n\n    const addTempAttr = (htmlParser, tempAttrs, name) => {\n      if (Tools.inArray(tempAttrs, name) === -1) {\n        htmlParser.addAttributeFilter(name, (nodes, name) => {\n          let i = nodes.length;\n          while (i--) {\n            nodes[i].attr(name, null);\n          }\n        });\n        tempAttrs.push(name);\n      }\n    };\n    const postProcess = (editor, args, content) => {\n      if (!args.no_events && editor) {\n        const outArgs = firePostProcess(editor, {\n          ...args,\n          content\n        });\n        return outArgs.content;\n      } else {\n        return content;\n      }\n    };\n    const getHtmlFromNode = (dom, node, args) => {\n      const html = trim$2(args.getInner ? node.innerHTML : dom.getOuterHTML(node));\n      return args.selection || isWsPreserveElement(SugarElement.fromDom(node)) ? html : Tools.trim(html);\n    };\n    const parseHtml = (htmlParser, html, args) => {\n      const parserArgs = args.selection ? {\n        forced_root_block: false,\n        ...args\n      } : args;\n      const rootNode = htmlParser.parse(html, parserArgs);\n      trimTrailingBr(rootNode);\n      return rootNode;\n    };\n    const serializeNode = (settings, schema, node) => {\n      const htmlSerializer = HtmlSerializer(settings, schema);\n      return htmlSerializer.serialize(node);\n    };\n    const toHtml = (editor, settings, schema, rootNode, args) => {\n      const content = serializeNode(settings, schema, rootNode);\n      return postProcess(editor, args, content);\n    };\n    const DomSerializerImpl = (settings, editor) => {\n      const tempAttrs = ['data-mce-selected'];\n      const defaultedSettings = {\n        entity_encoding: 'named',\n        remove_trailing_brs: true,\n        pad_empty_with_br: false,\n        ...settings\n      };\n      const dom = editor && editor.dom ? editor.dom : DOMUtils.DOM;\n      const schema = editor && editor.schema ? editor.schema : Schema(defaultedSettings);\n      const htmlParser = DomParser(defaultedSettings, schema);\n      register$3(htmlParser, defaultedSettings, dom);\n      const serialize = (node, parserArgs = {}) => {\n        const args = {\n          format: 'html',\n          ...parserArgs\n        };\n        const targetNode = process$1(editor, node, args);\n        const html = getHtmlFromNode(dom, targetNode, args);\n        const rootNode = parseHtml(htmlParser, html, args);\n        return args.format === 'tree' ? rootNode : toHtml(editor, defaultedSettings, schema, rootNode, args);\n      };\n      return {\n        schema,\n        addNodeFilter: htmlParser.addNodeFilter,\n        addAttributeFilter: htmlParser.addAttributeFilter,\n        serialize: serialize,\n        addRules: schema.addValidElements,\n        setRules: schema.setValidElements,\n        addTempAttr: curry(addTempAttr, htmlParser, tempAttrs),\n        getTempAttrs: constant(tempAttrs),\n        getNodeFilters: htmlParser.getNodeFilters,\n        getAttributeFilters: htmlParser.getAttributeFilters,\n        removeNodeFilter: htmlParser.removeNodeFilter,\n        removeAttributeFilter: htmlParser.removeAttributeFilter\n      };\n    };\n\n    const DomSerializer = (settings, editor) => {\n      const domSerializer = DomSerializerImpl(settings, editor);\n      return {\n        schema: domSerializer.schema,\n        addNodeFilter: domSerializer.addNodeFilter,\n        addAttributeFilter: domSerializer.addAttributeFilter,\n        serialize: domSerializer.serialize,\n        addRules: domSerializer.addRules,\n        setRules: domSerializer.setRules,\n        addTempAttr: domSerializer.addTempAttr,\n        getTempAttrs: domSerializer.getTempAttrs,\n        getNodeFilters: domSerializer.getNodeFilters,\n        getAttributeFilters: domSerializer.getAttributeFilters,\n        removeNodeFilter: domSerializer.removeNodeFilter,\n        removeAttributeFilter: domSerializer.removeAttributeFilter\n      };\n    };\n\n    const defaultFormat$1 = 'html';\n    const setupArgs$1 = (args, format) => ({\n      ...args,\n      format,\n      get: true,\n      getInner: true\n    });\n    const getContent = (editor, args = {}) => {\n      const format = args.format ? args.format : defaultFormat$1;\n      const defaultedArgs = setupArgs$1(args, format);\n      return preProcessGetContent(editor, defaultedArgs).fold(identity, updatedArgs => {\n        const content = getContent$2(editor, updatedArgs);\n        return postProcessGetContent(editor, content, updatedArgs);\n      });\n    };\n\n    const defaultFormat = 'html';\n    const setupArgs = (args, content) => ({\n      format: defaultFormat,\n      ...args,\n      set: true,\n      content\n    });\n    const setContent = (editor, content, args = {}) => {\n      const defaultedArgs = setupArgs(args, content);\n      return preProcessSetContent(editor, defaultedArgs).map(updatedArgs => {\n        const result = setContent$2(editor, updatedArgs.content, updatedArgs);\n        postProcessSetContent(editor, result.html, updatedArgs);\n        return result.content;\n      }).getOr(content);\n    };\n\n    const removedOptions = ('autoresize_on_init,content_editable_state,padd_empty_with_br,block_elements,' + 'boolean_attributes,editor_deselector,editor_selector,elements,file_browser_callback_types,filepicker_validator_handler,' + 'force_hex_style_colors,force_p_newlines,gecko_spellcheck,images_dataimg_filter,media_scripts,mode,move_caret_before_on_enter_elements,' + 'non_empty_elements,self_closing_elements,short_ended_elements,special,spellchecker_select_languages,spellchecker_whitelist,' + 'tab_focus,tabfocus_elements,table_responsive_width,text_block_elements,text_inline_elements,toolbar_drawer,types,validate,whitespace_elements,' + 'paste_enable_default_filters,paste_filter_drop,paste_word_valid_elements,paste_retain_style_properties,paste_convert_word_fake_lists').split(',');\n    const deprecatedOptions = 'template_cdate_classes,template_mdate_classes,template_selected_content_classes,template_preview_replace_values,template_replace_values,templates,template_cdate_format,template_mdate_format'.split(',');\n    const removedPlugins = 'bbcode,colorpicker,contextmenu,fullpage,legacyoutput,spellchecker,textcolor'.split(',');\n    const deprecatedPlugins = [{\n      name: 'template',\n      replacedWith: 'Advanced Template'\n    }, {\n      name: 'rtc'\n    }];\n    const getMatchingOptions = (options, searchingFor) => {\n      const settingNames = filter$5(searchingFor, setting => has$2(options, setting));\n      return sort(settingNames);\n    };\n    const getRemovedOptions = options => {\n      const settingNames = getMatchingOptions(options, removedOptions);\n      const forcedRootBlock = options.forced_root_block;\n      if (forcedRootBlock === false || forcedRootBlock === '') {\n        settingNames.push('forced_root_block (false only)');\n      }\n      return sort(settingNames);\n    };\n    const getDeprecatedOptions = options => getMatchingOptions(options, deprecatedOptions);\n    const getMatchingPlugins = (options, searchingFor) => {\n      const plugins = Tools.makeMap(options.plugins, ' ');\n      const hasPlugin = plugin => has$2(plugins, plugin);\n      const pluginNames = filter$5(searchingFor, hasPlugin);\n      return sort(pluginNames);\n    };\n    const getRemovedPlugins = options => getMatchingPlugins(options, removedPlugins);\n    const getDeprecatedPlugins = options => getMatchingPlugins(options, deprecatedPlugins.map(entry => entry.name));\n    const logRemovedWarnings = (rawOptions, normalizedOptions) => {\n      const removedOptions = getRemovedOptions(rawOptions);\n      const removedPlugins = getRemovedPlugins(normalizedOptions);\n      const hasRemovedPlugins = removedPlugins.length > 0;\n      const hasRemovedOptions = removedOptions.length > 0;\n      const isLegacyMobileTheme = normalizedOptions.theme === 'mobile';\n      if (hasRemovedPlugins || hasRemovedOptions || isLegacyMobileTheme) {\n        const listJoiner = '\\n- ';\n        const themesMessage = isLegacyMobileTheme ? \"\\n\\nThemes:\".concat(listJoiner, \"mobile\") : '';\n        const pluginsMessage = hasRemovedPlugins ? \"\\n\\nPlugins:\".concat(listJoiner).concat(removedPlugins.join(listJoiner)) : '';\n        const optionsMessage = hasRemovedOptions ? \"\\n\\nOptions:\".concat(listJoiner).concat(removedOptions.join(listJoiner)) : '';\n        console.warn('The following deprecated features are currently enabled and have been removed in TinyMCE 6.0. These features will no longer work and should be removed from the TinyMCE configuration. ' + 'See https://www.tiny.cloud/docs/tinymce/6/migration-from-5x/ for more information.' + themesMessage + pluginsMessage + optionsMessage);\n      }\n    };\n    const getPluginDescription = name => find$2(deprecatedPlugins, entry => entry.name === name).fold(() => name, entry => {\n      if (entry.replacedWith) {\n        return \"\".concat(name, \", replaced by \").concat(entry.replacedWith);\n      } else {\n        return name;\n      }\n    });\n    const logDeprecatedWarnings = (rawOptions, normalizedOptions) => {\n      const deprecatedOptions = getDeprecatedOptions(rawOptions);\n      const deprecatedPlugins = getDeprecatedPlugins(normalizedOptions);\n      const hasDeprecatedPlugins = deprecatedPlugins.length > 0;\n      const hasDeprecatedOptions = deprecatedOptions.length > 0;\n      if (hasDeprecatedPlugins || hasDeprecatedOptions) {\n        const listJoiner = '\\n- ';\n        const pluginsMessage = hasDeprecatedPlugins ? \"\\n\\nPlugins:\".concat(listJoiner).concat(deprecatedPlugins.map(getPluginDescription).join(listJoiner)) : '';\n        const optionsMessage = hasDeprecatedOptions ? \"\\n\\nOptions:\".concat(listJoiner).concat(deprecatedOptions.join(listJoiner)) : '';\n        console.warn('The following deprecated features are currently enabled but will be removed soon.' + pluginsMessage + optionsMessage);\n      }\n    };\n    const logWarnings = (rawOptions, normalizedOptions) => {\n      logRemovedWarnings(rawOptions, normalizedOptions);\n      logDeprecatedWarnings(rawOptions, normalizedOptions);\n    };\n\n    const DOM$8 = DOMUtils.DOM;\n    const restoreOriginalStyles = editor => {\n      DOM$8.setStyle(editor.id, 'display', editor.orgDisplay);\n    };\n    const safeDestroy = x => Optional.from(x).each(x => x.destroy());\n    const clearDomReferences = editor => {\n      const ed = editor;\n      ed.contentAreaContainer = ed.formElement = ed.container = ed.editorContainer = null;\n      ed.bodyElement = ed.contentDocument = ed.contentWindow = null;\n      ed.iframeElement = ed.targetElm = null;\n      const selection = editor.selection;\n      if (selection) {\n        const dom = selection.dom;\n        ed.selection = selection.win = selection.dom = dom.doc = null;\n      }\n    };\n    const restoreForm = editor => {\n      const form = editor.formElement;\n      if (form) {\n        if (form._mceOldSubmit) {\n          form.submit = form._mceOldSubmit;\n          delete form._mceOldSubmit;\n        }\n        DOM$8.unbind(form, 'submit reset', editor.formEventDelegate);\n      }\n    };\n    const remove$1 = editor => {\n      if (!editor.removed) {\n        const {\n          _selectionOverrides,\n          editorUpload\n        } = editor;\n        const body = editor.getBody();\n        const element = editor.getElement();\n        if (body) {\n          editor.save({\n            is_removing: true\n          });\n        }\n        editor.removed = true;\n        editor.unbindAllNativeEvents();\n        if (editor.hasHiddenInput && isNonNullable(element === null || element === void 0 ? void 0 : element.nextSibling)) {\n          DOM$8.remove(element.nextSibling);\n        }\n        fireRemove(editor);\n        editor.editorManager.remove(editor);\n        if (!editor.inline && body) {\n          restoreOriginalStyles(editor);\n        }\n        fireDetach(editor);\n        DOM$8.remove(editor.getContainer());\n        safeDestroy(_selectionOverrides);\n        safeDestroy(editorUpload);\n        editor.destroy();\n      }\n    };\n    const destroy = (editor, automatic) => {\n      const {\n        selection,\n        dom\n      } = editor;\n      if (editor.destroyed) {\n        return;\n      }\n      if (!automatic && !editor.removed) {\n        editor.remove();\n        return;\n      }\n      if (!automatic) {\n        editor.editorManager.off('beforeunload', editor._beforeUnload);\n        if (editor.theme && editor.theme.destroy) {\n          editor.theme.destroy();\n        }\n        safeDestroy(selection);\n        safeDestroy(dom);\n      }\n      restoreForm(editor);\n      clearDomReferences(editor);\n      editor.destroyed = true;\n    };\n\n    const CreateIconManager = () => {\n      const lookup = {};\n      const add = (id, iconPack) => {\n        lookup[id] = iconPack;\n      };\n      const get = id => {\n        if (lookup[id]) {\n          return lookup[id];\n        } else {\n          return {\n            icons: {}\n          };\n        }\n      };\n      const has = id => has$2(lookup, id);\n      return {\n        add,\n        get,\n        has\n      };\n    };\n    const IconManager = CreateIconManager();\n\n    const ModelManager = AddOnManager.ModelManager;\n\n    const getProp = (propName, elm) => {\n      const rawElm = elm.dom;\n      return rawElm[propName];\n    };\n    const getComputedSizeProp = (propName, elm) => parseInt(get$7(elm, propName), 10);\n    const getClientWidth = curry(getProp, 'clientWidth');\n    const getClientHeight = curry(getProp, 'clientHeight');\n    const getMarginTop = curry(getComputedSizeProp, 'margin-top');\n    const getMarginLeft = curry(getComputedSizeProp, 'margin-left');\n    const getBoundingClientRect = elm => elm.dom.getBoundingClientRect();\n    const isInsideElementContentArea = (bodyElm, clientX, clientY) => {\n      const clientWidth = getClientWidth(bodyElm);\n      const clientHeight = getClientHeight(bodyElm);\n      return clientX >= 0 && clientY >= 0 && clientX <= clientWidth && clientY <= clientHeight;\n    };\n    const transpose = (inline, elm, clientX, clientY) => {\n      const clientRect = getBoundingClientRect(elm);\n      const deltaX = inline ? clientRect.left + elm.dom.clientLeft + getMarginLeft(elm) : 0;\n      const deltaY = inline ? clientRect.top + elm.dom.clientTop + getMarginTop(elm) : 0;\n      const x = clientX - deltaX;\n      const y = clientY - deltaY;\n      return {\n        x,\n        y\n      };\n    };\n    const isXYInContentArea = (editor, clientX, clientY) => {\n      const bodyElm = SugarElement.fromDom(editor.getBody());\n      const targetElm = editor.inline ? bodyElm : documentElement(bodyElm);\n      const transposedPoint = transpose(editor.inline, targetElm, clientX, clientY);\n      return isInsideElementContentArea(targetElm, transposedPoint.x, transposedPoint.y);\n    };\n    const fromDomSafe = node => Optional.from(node).map(SugarElement.fromDom);\n    const isEditorAttachedToDom = editor => {\n      const rawContainer = editor.inline ? editor.getBody() : editor.getContentAreaContainer();\n      return fromDomSafe(rawContainer).map(inBody).getOr(false);\n    };\n\n    var NotificationManagerImpl = (() => {\n      const unimplemented = () => {\n        throw new Error('Theme did not provide a NotificationManager implementation.');\n      };\n      return {\n        open: unimplemented,\n        close: unimplemented,\n        getArgs: unimplemented\n      };\n    });\n\n    const NotificationManager = editor => {\n      const notifications = [];\n      const getImplementation = () => {\n        const theme = editor.theme;\n        return theme && theme.getNotificationManagerImpl ? theme.getNotificationManagerImpl() : NotificationManagerImpl();\n      };\n      const getTopNotification = () => {\n        return Optional.from(notifications[0]);\n      };\n      const isEqual = (a, b) => {\n        return a.type === b.type && a.text === b.text && !a.progressBar && !a.timeout && !b.progressBar && !b.timeout;\n      };\n      const reposition = () => {\n        each$e(notifications, notification => {\n          notification.reposition();\n        });\n      };\n      const addNotification = notification => {\n        notifications.push(notification);\n      };\n      const closeNotification = notification => {\n        findIndex$2(notifications, otherNotification => {\n          return otherNotification === notification;\n        }).each(index => {\n          notifications.splice(index, 1);\n        });\n      };\n      const open = (spec, fireEvent = true) => {\n        if (editor.removed || !isEditorAttachedToDom(editor)) {\n          return {};\n        }\n        if (fireEvent) {\n          editor.dispatch('BeforeOpenNotification', {\n            notification: spec\n          });\n        }\n        return find$2(notifications, notification => {\n          return isEqual(getImplementation().getArgs(notification), spec);\n        }).getOrThunk(() => {\n          editor.editorManager.setActive(editor);\n          const notification = getImplementation().open(spec, () => {\n            closeNotification(notification);\n            reposition();\n            if (hasEditorOrUiFocus(editor)) {\n              getTopNotification().fold(() => editor.focus(), top => focus$1(SugarElement.fromDom(top.getEl())));\n            }\n          });\n          addNotification(notification);\n          reposition();\n          editor.dispatch('OpenNotification', {\n            notification: {\n              ...notification\n            }\n          });\n          return notification;\n        });\n      };\n      const close = () => {\n        getTopNotification().each(notification => {\n          getImplementation().close(notification);\n          closeNotification(notification);\n          reposition();\n        });\n      };\n      const getNotifications = constant(notifications);\n      const registerEvents = editor => {\n        editor.on('SkinLoaded', () => {\n          const serviceMessage = getServiceMessage(editor);\n          if (serviceMessage) {\n            open({\n              text: serviceMessage,\n              type: 'warning',\n              timeout: 0\n            }, false);\n          }\n          reposition();\n        });\n        editor.on('show ResizeEditor ResizeWindow NodeChange', () => {\n          requestAnimationFrame(reposition);\n        });\n        editor.on('remove', () => {\n          each$e(notifications.slice(), notification => {\n            getImplementation().close(notification);\n          });\n        });\n      };\n      registerEvents(editor);\n      return {\n        open,\n        close,\n        getNotifications\n      };\n    };\n\n    const PluginManager = AddOnManager.PluginManager;\n\n    const ThemeManager = AddOnManager.ThemeManager;\n\n    var WindowManagerImpl = (() => {\n      const unimplemented = () => {\n        throw new Error('Theme did not provide a WindowManager implementation.');\n      };\n      return {\n        open: unimplemented,\n        openUrl: unimplemented,\n        alert: unimplemented,\n        confirm: unimplemented,\n        close: unimplemented\n      };\n    });\n\n    const WindowManager = editor => {\n      let dialogs = [];\n      const getImplementation = () => {\n        const theme = editor.theme;\n        return theme && theme.getWindowManagerImpl ? theme.getWindowManagerImpl() : WindowManagerImpl();\n      };\n      const funcBind = (scope, f) => {\n        return (...args) => {\n          return f ? f.apply(scope, args) : undefined;\n        };\n      };\n      const fireOpenEvent = dialog => {\n        editor.dispatch('OpenWindow', {\n          dialog\n        });\n      };\n      const fireCloseEvent = dialog => {\n        editor.dispatch('CloseWindow', {\n          dialog\n        });\n      };\n      const addDialog = dialog => {\n        dialogs.push(dialog);\n        fireOpenEvent(dialog);\n      };\n      const closeDialog = dialog => {\n        fireCloseEvent(dialog);\n        dialogs = filter$5(dialogs, otherDialog => {\n          return otherDialog !== dialog;\n        });\n        if (dialogs.length === 0) {\n          editor.focus();\n        }\n      };\n      const getTopDialog = () => {\n        return Optional.from(dialogs[dialogs.length - 1]);\n      };\n      const storeSelectionAndOpenDialog = openDialog => {\n        editor.editorManager.setActive(editor);\n        store(editor);\n        editor.ui.show();\n        const dialog = openDialog();\n        addDialog(dialog);\n        return dialog;\n      };\n      const open = (args, params) => {\n        return storeSelectionAndOpenDialog(() => getImplementation().open(args, params, closeDialog));\n      };\n      const openUrl = args => {\n        return storeSelectionAndOpenDialog(() => getImplementation().openUrl(args, closeDialog));\n      };\n      const alert = (message, callback, scope) => {\n        const windowManagerImpl = getImplementation();\n        windowManagerImpl.alert(message, funcBind(scope ? scope : windowManagerImpl, callback));\n      };\n      const confirm = (message, callback, scope) => {\n        const windowManagerImpl = getImplementation();\n        windowManagerImpl.confirm(message, funcBind(scope ? scope : windowManagerImpl, callback));\n      };\n      const close = () => {\n        getTopDialog().each(dialog => {\n          getImplementation().close(dialog);\n          closeDialog(dialog);\n        });\n      };\n      editor.on('remove', () => {\n        each$e(dialogs, dialog => {\n          getImplementation().close(dialog);\n        });\n      });\n      return {\n        open,\n        openUrl,\n        alert,\n        confirm,\n        close\n      };\n    };\n\n    const displayNotification = (editor, message) => {\n      editor.notificationManager.open({\n        type: 'error',\n        text: message\n      });\n    };\n    const displayError = (editor, message) => {\n      if (editor._skinLoaded) {\n        displayNotification(editor, message);\n      } else {\n        editor.on('SkinLoaded', () => {\n          displayNotification(editor, message);\n        });\n      }\n    };\n    const uploadError = (editor, message) => {\n      displayError(editor, I18n.translate(['Failed to upload image: {0}', message]));\n    };\n    const logError = (editor, errorType, msg) => {\n      fireError(editor, errorType, {\n        message: msg\n      });\n      console.error(msg);\n    };\n    const createLoadError = (type, url, name) => name ? \"Failed to load \".concat(type, \": \").concat(name, \" from url \").concat(url) : \"Failed to load \".concat(type, \" url: \").concat(url);\n    const pluginLoadError = (editor, url, name) => {\n      logError(editor, 'PluginLoadError', createLoadError('plugin', url, name));\n    };\n    const iconsLoadError = (editor, url, name) => {\n      logError(editor, 'IconsLoadError', createLoadError('icons', url, name));\n    };\n    const languageLoadError = (editor, url, name) => {\n      logError(editor, 'LanguageLoadError', createLoadError('language', url, name));\n    };\n    const themeLoadError = (editor, url, name) => {\n      logError(editor, 'ThemeLoadError', createLoadError('theme', url, name));\n    };\n    const modelLoadError = (editor, url, name) => {\n      logError(editor, 'ModelLoadError', createLoadError('model', url, name));\n    };\n    const pluginInitError = (editor, name, err) => {\n      const message = I18n.translate(['Failed to initialize plugin: {0}', name]);\n      fireError(editor, 'PluginLoadError', {\n        message\n      });\n      initError(message, err);\n      displayError(editor, message);\n    };\n    const initError = (message, ...x) => {\n      const console = window.console;\n      if (console) {\n        if (console.error) {\n          console.error(message, ...x);\n        } else {\n          console.log(message, ...x);\n        }\n      }\n    };\n\n    const isContentCssSkinName = url => /^[a-z0-9\\-]+$/i.test(url);\n    const toContentSkinResourceName = url => 'content/' + url + '/content.css';\n    const isBundledCssSkinName = url => tinymce.Resource.has(toContentSkinResourceName(url));\n    const getContentCssUrls = editor => {\n      return transformToUrls(editor, getContentCss(editor));\n    };\n    const getFontCssUrls = editor => {\n      return transformToUrls(editor, getFontCss(editor));\n    };\n    const transformToUrls = (editor, cssLinks) => {\n      const skinUrl = editor.editorManager.baseURL + '/skins/content';\n      const suffix = editor.editorManager.suffix;\n      const contentCssFile = \"content\".concat(suffix, \".css\");\n      return map$3(cssLinks, url => {\n        if (isBundledCssSkinName(url)) {\n          return url;\n        } else if (isContentCssSkinName(url) && !editor.inline) {\n          return \"\".concat(skinUrl, \"/\").concat(url, \"/\").concat(contentCssFile);\n        } else {\n          return editor.documentBaseURI.toAbsolute(url);\n        }\n      });\n    };\n    const appendContentCssFromSettings = editor => {\n      editor.contentCSS = editor.contentCSS.concat(getContentCssUrls(editor), getFontCssUrls(editor));\n    };\n\n    const getAllImages = elm => {\n      return elm ? from(elm.getElementsByTagName('img')) : [];\n    };\n    const ImageScanner = (uploadStatus, blobCache) => {\n      const cachedPromises = {};\n      const findAll = (elm, predicate = always) => {\n        const images = filter$5(getAllImages(elm), img => {\n          const src = img.src;\n          if (img.hasAttribute('data-mce-bogus')) {\n            return false;\n          }\n          if (img.hasAttribute('data-mce-placeholder')) {\n            return false;\n          }\n          if (!src || src === Env.transparentSrc) {\n            return false;\n          }\n          if (startsWith(src, 'blob:')) {\n            return !uploadStatus.isUploaded(src) && predicate(img);\n          }\n          if (startsWith(src, 'data:')) {\n            return predicate(img);\n          }\n          return false;\n        });\n        const promises = map$3(images, img => {\n          const imageSrc = img.src;\n          if (has$2(cachedPromises, imageSrc)) {\n            return cachedPromises[imageSrc].then(imageInfo => {\n              if (isString(imageInfo)) {\n                return imageInfo;\n              } else {\n                return {\n                  image: img,\n                  blobInfo: imageInfo.blobInfo\n                };\n              }\n            });\n          } else {\n            const newPromise = imageToBlobInfo(blobCache, imageSrc).then(blobInfo => {\n              delete cachedPromises[imageSrc];\n              return {\n                image: img,\n                blobInfo\n              };\n            }).catch(error => {\n              delete cachedPromises[imageSrc];\n              return error;\n            });\n            cachedPromises[imageSrc] = newPromise;\n            return newPromise;\n          }\n        });\n        return Promise.all(promises);\n      };\n      return {\n        findAll\n      };\n    };\n\n    const UploadStatus = () => {\n      const PENDING = 1,\n        UPLOADED = 2;\n      let blobUriStatuses = {};\n      const createStatus = (status, resultUri) => {\n        return {\n          status,\n          resultUri\n        };\n      };\n      const hasBlobUri = blobUri => {\n        return blobUri in blobUriStatuses;\n      };\n      const getResultUri = blobUri => {\n        const result = blobUriStatuses[blobUri];\n        return result ? result.resultUri : null;\n      };\n      const isPending = blobUri => {\n        return hasBlobUri(blobUri) ? blobUriStatuses[blobUri].status === PENDING : false;\n      };\n      const isUploaded = blobUri => {\n        return hasBlobUri(blobUri) ? blobUriStatuses[blobUri].status === UPLOADED : false;\n      };\n      const markPending = blobUri => {\n        blobUriStatuses[blobUri] = createStatus(PENDING, null);\n      };\n      const markUploaded = (blobUri, resultUri) => {\n        blobUriStatuses[blobUri] = createStatus(UPLOADED, resultUri);\n      };\n      const removeFailed = blobUri => {\n        delete blobUriStatuses[blobUri];\n      };\n      const destroy = () => {\n        blobUriStatuses = {};\n      };\n      return {\n        hasBlobUri,\n        getResultUri,\n        isPending,\n        isUploaded,\n        markPending,\n        markUploaded,\n        removeFailed,\n        destroy\n      };\n    };\n\n    let count = 0;\n    const seed = () => {\n      const rnd = () => {\n        return Math.round(Math.random() * 4294967295).toString(36);\n      };\n      const now = new Date().getTime();\n      return 's' + now.toString(36) + rnd() + rnd() + rnd();\n    };\n    const uuid = prefix => {\n      return prefix + count++ + seed();\n    };\n\n    const BlobCache = () => {\n      let cache = [];\n      const mimeToExt = mime => {\n        const mimes = {\n          'image/jpeg': 'jpg',\n          'image/jpg': 'jpg',\n          'image/gif': 'gif',\n          'image/png': 'png',\n          'image/apng': 'apng',\n          'image/avif': 'avif',\n          'image/svg+xml': 'svg',\n          'image/webp': 'webp',\n          'image/bmp': 'bmp',\n          'image/tiff': 'tiff'\n        };\n        return mimes[mime.toLowerCase()] || 'dat';\n      };\n      const create = (o, blob, base64, name, filename) => {\n        if (isString(o)) {\n          const id = o;\n          return toBlobInfo({\n            id,\n            name,\n            filename,\n            blob: blob,\n            base64: base64\n          });\n        } else if (isObject(o)) {\n          return toBlobInfo(o);\n        } else {\n          throw new Error('Unknown input type');\n        }\n      };\n      const toBlobInfo = o => {\n        if (!o.blob || !o.base64) {\n          throw new Error('blob and base64 representations of the image are required for BlobInfo to be created');\n        }\n        const id = o.id || uuid('blobid');\n        const name = o.name || id;\n        const blob = o.blob;\n        return {\n          id: constant(id),\n          name: constant(name),\n          filename: constant(o.filename || name + '.' + mimeToExt(blob.type)),\n          blob: constant(blob),\n          base64: constant(o.base64),\n          blobUri: constant(o.blobUri || URL.createObjectURL(blob)),\n          uri: constant(o.uri),\n          library: constant(o.library)\n        };\n      };\n      const add = blobInfo => {\n        if (!get(blobInfo.id())) {\n          cache.push(blobInfo);\n        }\n      };\n      const findFirst = predicate => find$2(cache, predicate).getOrUndefined();\n      const get = id => findFirst(cachedBlobInfo => cachedBlobInfo.id() === id);\n      const getByUri = blobUri => findFirst(blobInfo => blobInfo.blobUri() === blobUri);\n      const getByData = (base64, type) => findFirst(blobInfo => blobInfo.base64() === base64 && blobInfo.blob().type === type);\n      const removeByUri = blobUri => {\n        cache = filter$5(cache, blobInfo => {\n          if (blobInfo.blobUri() === blobUri) {\n            URL.revokeObjectURL(blobInfo.blobUri());\n            return false;\n          }\n          return true;\n        });\n      };\n      const destroy = () => {\n        each$e(cache, cachedBlobInfo => {\n          URL.revokeObjectURL(cachedBlobInfo.blobUri());\n        });\n        cache = [];\n      };\n      return {\n        create,\n        add,\n        get,\n        getByUri,\n        getByData,\n        findFirst,\n        removeByUri,\n        destroy\n      };\n    };\n\n    const Uploader = (uploadStatus, settings) => {\n      const pendingPromises = {};\n      const pathJoin = (path1, path2) => {\n        if (path1) {\n          return path1.replace(/\\/$/, '') + '/' + path2.replace(/^\\//, '');\n        }\n        return path2;\n      };\n      const defaultHandler = (blobInfo, progress) => new Promise((success, failure) => {\n        const xhr = new XMLHttpRequest();\n        xhr.open('POST', settings.url);\n        xhr.withCredentials = settings.credentials;\n        xhr.upload.onprogress = e => {\n          progress(e.loaded / e.total * 100);\n        };\n        xhr.onerror = () => {\n          failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);\n        };\n        xhr.onload = () => {\n          if (xhr.status < 200 || xhr.status >= 300) {\n            failure('HTTP Error: ' + xhr.status);\n            return;\n          }\n          const json = JSON.parse(xhr.responseText);\n          if (!json || !isString(json.location)) {\n            failure('Invalid JSON: ' + xhr.responseText);\n            return;\n          }\n          success(pathJoin(settings.basePath, json.location));\n        };\n        const formData = new FormData();\n        formData.append('file', blobInfo.blob(), blobInfo.filename());\n        xhr.send(formData);\n      });\n      const uploadHandler = isFunction(settings.handler) ? settings.handler : defaultHandler;\n      const noUpload = () => new Promise(resolve => {\n        resolve([]);\n      });\n      const handlerSuccess = (blobInfo, url) => ({\n        url,\n        blobInfo,\n        status: true\n      });\n      const handlerFailure = (blobInfo, error) => ({\n        url: '',\n        blobInfo,\n        status: false,\n        error\n      });\n      const resolvePending = (blobUri, result) => {\n        Tools.each(pendingPromises[blobUri], resolve => {\n          resolve(result);\n        });\n        delete pendingPromises[blobUri];\n      };\n      const uploadBlobInfo = (blobInfo, handler, openNotification) => {\n        uploadStatus.markPending(blobInfo.blobUri());\n        return new Promise(resolve => {\n          let notification;\n          let progress;\n          try {\n            const closeNotification = () => {\n              if (notification) {\n                notification.close();\n                progress = noop;\n              }\n            };\n            const success = url => {\n              closeNotification();\n              uploadStatus.markUploaded(blobInfo.blobUri(), url);\n              resolvePending(blobInfo.blobUri(), handlerSuccess(blobInfo, url));\n              resolve(handlerSuccess(blobInfo, url));\n            };\n            const failure = error => {\n              closeNotification();\n              uploadStatus.removeFailed(blobInfo.blobUri());\n              resolvePending(blobInfo.blobUri(), handlerFailure(blobInfo, error));\n              resolve(handlerFailure(blobInfo, error));\n            };\n            progress = percent => {\n              if (percent < 0 || percent > 100) {\n                return;\n              }\n              Optional.from(notification).orThunk(() => Optional.from(openNotification).map(apply$1)).each(n => {\n                notification = n;\n                n.progressBar.value(percent);\n              });\n            };\n            handler(blobInfo, progress).then(success, err => {\n              failure(isString(err) ? {\n                message: err\n              } : err);\n            });\n          } catch (ex) {\n            resolve(handlerFailure(blobInfo, ex));\n          }\n        });\n      };\n      const isDefaultHandler = handler => handler === defaultHandler;\n      const pendingUploadBlobInfo = blobInfo => {\n        const blobUri = blobInfo.blobUri();\n        return new Promise(resolve => {\n          pendingPromises[blobUri] = pendingPromises[blobUri] || [];\n          pendingPromises[blobUri].push(resolve);\n        });\n      };\n      const uploadBlobs = (blobInfos, openNotification) => {\n        blobInfos = Tools.grep(blobInfos, blobInfo => !uploadStatus.isUploaded(blobInfo.blobUri()));\n        return Promise.all(Tools.map(blobInfos, blobInfo => uploadStatus.isPending(blobInfo.blobUri()) ? pendingUploadBlobInfo(blobInfo) : uploadBlobInfo(blobInfo, uploadHandler, openNotification)));\n      };\n      const upload = (blobInfos, openNotification) => !settings.url && isDefaultHandler(uploadHandler) ? noUpload() : uploadBlobs(blobInfos, openNotification);\n      return {\n        upload\n      };\n    };\n\n    const openNotification = editor => () => editor.notificationManager.open({\n      text: editor.translate('Image uploading...'),\n      type: 'info',\n      timeout: -1,\n      progressBar: true\n    });\n    const createUploader = (editor, uploadStatus) => Uploader(uploadStatus, {\n      url: getImageUploadUrl(editor),\n      basePath: getImageUploadBasePath(editor),\n      credentials: getImagesUploadCredentials(editor),\n      handler: getImagesUploadHandler(editor)\n    });\n    const ImageUploader = editor => {\n      const uploadStatus = UploadStatus();\n      const uploader = createUploader(editor, uploadStatus);\n      return {\n        upload: (blobInfos, showNotification = true) => uploader.upload(blobInfos, showNotification ? openNotification(editor) : undefined)\n      };\n    };\n\n    const isEmptyForPadding = (editor, element) => editor.dom.isEmpty(element.dom) && isNonNullable(editor.schema.getTextBlockElements()[name(element)]);\n    const addPaddingToEmpty = editor => element => {\n      if (isEmptyForPadding(editor, element)) {\n        append$1(element, SugarElement.fromHtml('<br data-mce-bogus=\"1\" />'));\n      }\n    };\n    const EditorUpload = editor => {\n      const blobCache = BlobCache();\n      let uploader, imageScanner;\n      const uploadStatus = UploadStatus();\n      const urlFilters = [];\n      const aliveGuard = callback => {\n        return result => {\n          if (editor.selection) {\n            return callback(result);\n          }\n          return [];\n        };\n      };\n      const cacheInvalidator = url => url + (url.indexOf('?') === -1 ? '?' : '&') + new Date().getTime();\n      const replaceString = (content, search, replace) => {\n        let index = 0;\n        do {\n          index = content.indexOf(search, index);\n          if (index !== -1) {\n            content = content.substring(0, index) + replace + content.substr(index + search.length);\n            index += replace.length - search.length + 1;\n          }\n        } while (index !== -1);\n        return content;\n      };\n      const replaceImageUrl = (content, targetUrl, replacementUrl) => {\n        const replacementString = \"src=\\\"\".concat(replacementUrl, \"\\\"\").concat(replacementUrl === Env.transparentSrc ? ' data-mce-placeholder=\"1\"' : '');\n        content = replaceString(content, \"src=\\\"\".concat(targetUrl, \"\\\"\"), replacementString);\n        content = replaceString(content, 'data-mce-src=\"' + targetUrl + '\"', 'data-mce-src=\"' + replacementUrl + '\"');\n        return content;\n      };\n      const replaceUrlInUndoStack = (targetUrl, replacementUrl) => {\n        each$e(editor.undoManager.data, level => {\n          if (level.type === 'fragmented') {\n            level.fragments = map$3(level.fragments, fragment => replaceImageUrl(fragment, targetUrl, replacementUrl));\n          } else {\n            level.content = replaceImageUrl(level.content, targetUrl, replacementUrl);\n          }\n        });\n      };\n      const replaceImageUriInView = (image, resultUri) => {\n        const src = editor.convertURL(resultUri, 'src');\n        replaceUrlInUndoStack(image.src, resultUri);\n        setAll$1(SugarElement.fromDom(image), {\n          'src': shouldReuseFileName(editor) ? cacheInvalidator(resultUri) : resultUri,\n          'data-mce-src': src\n        });\n      };\n      const uploadImages = () => {\n        if (!uploader) {\n          uploader = createUploader(editor, uploadStatus);\n        }\n        return scanForImages().then(aliveGuard(imageInfos => {\n          const blobInfos = map$3(imageInfos, imageInfo => imageInfo.blobInfo);\n          return uploader.upload(blobInfos, openNotification(editor)).then(aliveGuard(result => {\n            const imagesToRemove = [];\n            let shouldDispatchChange = false;\n            const filteredResult = map$3(result, (uploadInfo, index) => {\n              const {\n                blobInfo,\n                image\n              } = imageInfos[index];\n              let removed = false;\n              if (uploadInfo.status && shouldReplaceBlobUris(editor)) {\n                if (uploadInfo.url && !contains$1(image.src, uploadInfo.url)) {\n                  shouldDispatchChange = true;\n                }\n                blobCache.removeByUri(image.src);\n                if (isRtc(editor)) ; else {\n                  replaceImageUriInView(image, uploadInfo.url);\n                }\n              } else if (uploadInfo.error) {\n                if (uploadInfo.error.remove) {\n                  replaceUrlInUndoStack(image.src, Env.transparentSrc);\n                  imagesToRemove.push(image);\n                  removed = true;\n                }\n                uploadError(editor, uploadInfo.error.message);\n              }\n              return {\n                element: image,\n                status: uploadInfo.status,\n                uploadUri: uploadInfo.url,\n                blobInfo,\n                removed\n              };\n            });\n            if (imagesToRemove.length > 0 && !isRtc(editor)) {\n              editor.undoManager.transact(() => {\n                each$e(fromDom$1(imagesToRemove), sugarElement => {\n                  const parentOpt = parent(sugarElement);\n                  remove$5(sugarElement);\n                  parentOpt.each(addPaddingToEmpty(editor));\n                  blobCache.removeByUri(sugarElement.dom.src);\n                });\n              });\n            } else if (shouldDispatchChange) {\n              editor.undoManager.dispatchChange();\n            }\n            return filteredResult;\n          }));\n        }));\n      };\n      const uploadImagesAuto = () => isAutomaticUploadsEnabled(editor) ? uploadImages() : Promise.resolve([]);\n      const isValidDataUriImage = imgElm => forall(urlFilters, filter => filter(imgElm));\n      const addFilter = filter => {\n        urlFilters.push(filter);\n      };\n      const scanForImages = () => {\n        if (!imageScanner) {\n          imageScanner = ImageScanner(uploadStatus, blobCache);\n        }\n        return imageScanner.findAll(editor.getBody(), isValidDataUriImage).then(aliveGuard(result => {\n          const filteredResult = filter$5(result, resultItem => {\n            if (isString(resultItem)) {\n              displayError(editor, resultItem);\n              return false;\n            } else if (resultItem.uriType === 'blob') {\n              return false;\n            } else {\n              return true;\n            }\n          });\n          if (isRtc(editor)) ; else {\n            each$e(filteredResult, resultItem => {\n              replaceUrlInUndoStack(resultItem.image.src, resultItem.blobInfo.blobUri());\n              resultItem.image.src = resultItem.blobInfo.blobUri();\n              resultItem.image.removeAttribute('data-mce-src');\n              resultItem.blobInfo.library = () => resultItem.image.getAttribute('data-library');\n            });\n          }\n          return filteredResult;\n        }));\n      };\n      const destroy = () => {\n        blobCache.destroy();\n        uploadStatus.destroy();\n        imageScanner = uploader = null;\n      };\n      const replaceBlobUris = content => {\n        return content.replace(/src=\"(blob:[^\"]+)\"/g, (match, blobUri) => {\n          const resultUri = uploadStatus.getResultUri(blobUri);\n          if (resultUri) {\n            return 'src=\"' + resultUri + '\"';\n          }\n          let blobInfo = blobCache.getByUri(blobUri);\n          if (!blobInfo) {\n            blobInfo = foldl(editor.editorManager.get(), (result, editor) => {\n              return result || editor.editorUpload && editor.editorUpload.blobCache.getByUri(blobUri);\n            }, undefined);\n          }\n          if (blobInfo && shouldConvertBlobstoBase64(editor)) {\n            const blob = blobInfo.blob();\n            return 'src=\"data:' + blob.type + ';base64,' + blobInfo.base64() + '\"';\n          }\n          return match;\n        });\n      };\n      editor.on('SetContent', () => {\n        if (isAutomaticUploadsEnabled(editor)) {\n          uploadImagesAuto();\n        } else {\n          scanForImages();\n        }\n      });\n      editor.on('RawSaveContent', e => {\n        e.content = replaceBlobUris(e.content);\n      });\n      editor.on('GetContent', e => {\n        if (e.source_view || e.format === 'raw' || e.format === 'tree') {\n          return;\n        }\n        e.content = replaceBlobUris(e.content);\n      });\n      editor.on('PostRender', () => {\n        editor.parser.addNodeFilter('img', images => {\n          each$e(images, img => {\n            const src = img.attr('src');\n            if (!src || blobCache.getByUri(src)) {\n              return;\n            }\n            const resultUri = uploadStatus.getResultUri(src);\n            if (resultUri) {\n              img.attr('src', resultUri);\n            }\n          });\n        });\n      });\n      return {\n        blobCache,\n        uploadStatus,\n        addFilter,\n        uploadImages,\n        uploadImagesAuto,\n        scanForImages,\n        destroy\n      };\n    };\n\n    const get$1 = editor => {\n      const dom = editor.dom;\n      const schemaType = editor.schema.type;\n      const formats = {\n        valigntop: [{\n          selector: 'td,th',\n          styles: {\n            verticalAlign: 'top'\n          }\n        }],\n        valignmiddle: [{\n          selector: 'td,th',\n          styles: {\n            verticalAlign: 'middle'\n          }\n        }],\n        valignbottom: [{\n          selector: 'td,th',\n          styles: {\n            verticalAlign: 'bottom'\n          }\n        }],\n        alignleft: [{\n          selector: 'figure.image',\n          collapsed: false,\n          classes: 'align-left',\n          ceFalseOverride: true,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'left'\n          },\n          inherit: false,\n          preview: false\n        }, {\n          selector: 'img,audio,video',\n          collapsed: false,\n          styles: {\n            float: 'left'\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: 'table',\n          collapsed: false,\n          styles: {\n            marginLeft: '0px',\n            marginRight: 'auto'\n          },\n          onformat: table => {\n            dom.setStyle(table, 'float', null);\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: '.mce-preview-object,[data-ephox-embed-iri]',\n          ceFalseOverride: true,\n          styles: {\n            float: 'left'\n          }\n        }],\n        aligncenter: [{\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'center'\n          },\n          inherit: false,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'figure.image',\n          collapsed: false,\n          classes: 'align-center',\n          ceFalseOverride: true,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'img,audio,video',\n          collapsed: false,\n          styles: {\n            display: 'block',\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: false\n        }, {\n          selector: 'table',\n          collapsed: false,\n          styles: {\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: '.mce-preview-object',\n          ceFalseOverride: true,\n          styles: {\n            display: 'table',\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: false\n        }, {\n          selector: '[data-ephox-embed-iri]',\n          ceFalseOverride: true,\n          styles: {\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: false\n        }],\n        alignright: [{\n          selector: 'figure.image',\n          collapsed: false,\n          classes: 'align-right',\n          ceFalseOverride: true,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'right'\n          },\n          inherit: false,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'img,audio,video',\n          collapsed: false,\n          styles: {\n            float: 'right'\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: 'table',\n          collapsed: false,\n          styles: {\n            marginRight: '0px',\n            marginLeft: 'auto'\n          },\n          onformat: table => {\n            dom.setStyle(table, 'float', null);\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: '.mce-preview-object,[data-ephox-embed-iri]',\n          ceFalseOverride: true,\n          styles: {\n            float: 'right'\n          },\n          preview: false\n        }],\n        alignjustify: [{\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'justify'\n          },\n          inherit: false,\n          preview: 'font-family font-size'\n        }],\n        bold: [{\n          inline: 'strong',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }, {\n          inline: 'span',\n          styles: {\n            fontWeight: 'bold'\n          }\n        }, {\n          inline: 'b',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }],\n        italic: [{\n          inline: 'em',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }, {\n          inline: 'span',\n          styles: {\n            fontStyle: 'italic'\n          }\n        }, {\n          inline: 'i',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }],\n        underline: [{\n          inline: 'span',\n          styles: {\n            textDecoration: 'underline'\n          },\n          exact: true\n        }, {\n          inline: 'u',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }],\n        strikethrough: (() => {\n          const span = {\n            inline: 'span',\n            styles: {\n              textDecoration: 'line-through'\n            },\n            exact: true\n          };\n          const strike = {\n            inline: 'strike',\n            remove: 'all',\n            preserve_attributes: ['class', 'style']\n          };\n          const s = {\n            inline: 's',\n            remove: 'all',\n            preserve_attributes: ['class', 'style']\n          };\n          return schemaType !== 'html4' ? [s, span, strike] : [span, s, strike];\n        })(),\n        forecolor: {\n          inline: 'span',\n          styles: {\n            color: '%value'\n          },\n          links: true,\n          remove_similar: true,\n          clear_child_styles: true\n        },\n        hilitecolor: {\n          inline: 'span',\n          styles: {\n            backgroundColor: '%value'\n          },\n          links: true,\n          remove_similar: true,\n          clear_child_styles: true\n        },\n        fontname: {\n          inline: 'span',\n          toggle: false,\n          styles: {\n            fontFamily: '%value'\n          },\n          clear_child_styles: true\n        },\n        fontsize: {\n          inline: 'span',\n          toggle: false,\n          styles: {\n            fontSize: '%value'\n          },\n          clear_child_styles: true\n        },\n        lineheight: {\n          selector: 'h1,h2,h3,h4,h5,h6,p,li,td,th,div',\n          styles: {\n            lineHeight: '%value'\n          }\n        },\n        fontsize_class: {\n          inline: 'span',\n          attributes: {\n            class: '%value'\n          }\n        },\n        blockquote: {\n          block: 'blockquote',\n          wrapper: true,\n          remove: 'all'\n        },\n        subscript: {\n          inline: 'sub'\n        },\n        superscript: {\n          inline: 'sup'\n        },\n        code: {\n          inline: 'code'\n        },\n        link: {\n          inline: 'a',\n          selector: 'a',\n          remove: 'all',\n          split: true,\n          deep: true,\n          onmatch: (node, _fmt, _itemName) => {\n            return isElement$6(node) && node.hasAttribute('href');\n          },\n          onformat: (elm, _fmt, vars) => {\n            Tools.each(vars, (value, key) => {\n              dom.setAttrib(elm, key, value);\n            });\n          }\n        },\n        lang: {\n          inline: 'span',\n          clear_child_styles: true,\n          remove_similar: true,\n          attributes: {\n            'lang': '%value',\n            'data-mce-lang': vars => {\n              var _a;\n              return (_a = vars === null || vars === void 0 ? void 0 : vars.customValue) !== null && _a !== void 0 ? _a : null;\n            }\n          }\n        },\n        removeformat: [{\n          selector: 'b,strong,em,i,font,u,strike,s,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins,small',\n          remove: 'all',\n          split: true,\n          expand: false,\n          block_expand: true,\n          deep: true\n        }, {\n          selector: 'span',\n          attributes: ['style', 'class'],\n          remove: 'empty',\n          split: true,\n          expand: false,\n          deep: true\n        }, {\n          selector: '*',\n          attributes: ['style', 'class'],\n          split: false,\n          expand: false,\n          deep: true\n        }]\n      };\n      Tools.each('p h1 h2 h3 h4 h5 h6 div address pre dt dd samp'.split(/\\s/), name => {\n        formats[name] = {\n          block: name,\n          remove: 'all'\n        };\n      });\n      return formats;\n    };\n\n    const genericBase = {\n      remove_similar: true,\n      inherit: false\n    };\n    const cellBase = {\n      selector: 'td,th',\n      ...genericBase\n    };\n    const cellFormats = {\n      tablecellbackgroundcolor: {\n        styles: {\n          backgroundColor: '%value'\n        },\n        ...cellBase\n      },\n      tablecellverticalalign: {\n        styles: {\n          'vertical-align': '%value'\n        },\n        ...cellBase\n      },\n      tablecellbordercolor: {\n        styles: {\n          borderColor: '%value'\n        },\n        ...cellBase\n      },\n      tablecellclass: {\n        classes: ['%value'],\n        ...cellBase\n      },\n      tableclass: {\n        selector: 'table',\n        classes: ['%value'],\n        ...genericBase\n      },\n      tablecellborderstyle: {\n        styles: {\n          borderStyle: '%value'\n        },\n        ...cellBase\n      },\n      tablecellborderwidth: {\n        styles: {\n          borderWidth: '%value'\n        },\n        ...cellBase\n      }\n    };\n    const get = constant(cellFormats);\n\n    const FormatRegistry = editor => {\n      const formats = {};\n      const get$2 = name => isNonNullable(name) ? formats[name] : formats;\n      const has = name => has$2(formats, name);\n      const register = (name, format) => {\n        if (name) {\n          if (!isString(name)) {\n            each$d(name, (format, name) => {\n              register(name, format);\n            });\n          } else {\n            if (!isArray$1(format)) {\n              format = [format];\n            }\n            each$e(format, format => {\n              if (isUndefined(format.deep)) {\n                format.deep = !isSelectorFormat(format);\n              }\n              if (isUndefined(format.split)) {\n                format.split = !isSelectorFormat(format) || isInlineFormat(format);\n              }\n              if (isUndefined(format.remove) && isSelectorFormat(format) && !isInlineFormat(format)) {\n                format.remove = 'none';\n              }\n              if (isSelectorFormat(format) && isInlineFormat(format)) {\n                format.mixed = true;\n                format.block_expand = true;\n              }\n              if (isString(format.classes)) {\n                format.classes = format.classes.split(/\\s+/);\n              }\n            });\n            formats[name] = format;\n          }\n        }\n      };\n      const unregister = name => {\n        if (name && formats[name]) {\n          delete formats[name];\n        }\n        return formats;\n      };\n      register(get$1(editor));\n      register(get());\n      register(getFormats(editor));\n      return {\n        get: get$2,\n        has,\n        register,\n        unregister\n      };\n    };\n\n    const each$3 = Tools.each;\n    const dom = DOMUtils.DOM;\n    const isPreviewItem = item => isNonNullable(item) && isObject(item);\n    const parsedSelectorToHtml = (ancestry, editor) => {\n      const schema = editor && editor.schema || Schema({});\n      const decorate = (elm, item) => {\n        if (item.classes.length > 0) {\n          dom.addClass(elm, item.classes.join(' '));\n        }\n        dom.setAttribs(elm, item.attrs);\n      };\n      const createElement = sItem => {\n        const item = isString(sItem) ? {\n          name: sItem,\n          classes: [],\n          attrs: {}\n        } : sItem;\n        const elm = dom.create(item.name);\n        decorate(elm, item);\n        return elm;\n      };\n      const getRequiredParent = (elm, candidate) => {\n        const elmRule = schema.getElementRule(elm.nodeName.toLowerCase());\n        const parentsRequired = elmRule === null || elmRule === void 0 ? void 0 : elmRule.parentsRequired;\n        if (parentsRequired && parentsRequired.length) {\n          return candidate && contains$2(parentsRequired, candidate) ? candidate : parentsRequired[0];\n        } else {\n          return false;\n        }\n      };\n      const wrapInHtml = (elm, ancestors, siblings) => {\n        let parentCandidate;\n        const ancestor = ancestors[0];\n        const ancestorName = isPreviewItem(ancestor) ? ancestor.name : undefined;\n        const parentRequired = getRequiredParent(elm, ancestorName);\n        if (parentRequired) {\n          if (ancestorName === parentRequired) {\n            parentCandidate = ancestor;\n            ancestors = ancestors.slice(1);\n          } else {\n            parentCandidate = parentRequired;\n          }\n        } else if (ancestor) {\n          parentCandidate = ancestor;\n          ancestors = ancestors.slice(1);\n        } else if (!siblings) {\n          return elm;\n        }\n        const parent = parentCandidate ? createElement(parentCandidate) : dom.create('div');\n        parent.appendChild(elm);\n        if (siblings) {\n          Tools.each(siblings, sibling => {\n            const siblingElm = createElement(sibling);\n            parent.insertBefore(siblingElm, elm);\n          });\n        }\n        const parentSiblings = isPreviewItem(parentCandidate) ? parentCandidate.siblings : undefined;\n        return wrapInHtml(parent, ancestors, parentSiblings);\n      };\n      const fragment = dom.create('div');\n      if (ancestry.length > 0) {\n        const item = ancestry[0];\n        const elm = createElement(item);\n        const siblings = isPreviewItem(item) ? item.siblings : undefined;\n        fragment.appendChild(wrapInHtml(elm, ancestry.slice(1), siblings));\n      }\n      return fragment;\n    };\n    const parseSelectorItem = item => {\n      item = Tools.trim(item);\n      let tagName = 'div';\n      const obj = {\n        name: tagName,\n        classes: [],\n        attrs: {},\n        selector: item\n      };\n      if (item !== '*') {\n        tagName = item.replace(/(?:([#\\.]|::?)([\\w\\-]+)|(\\[)([^\\]]+)\\]?)/g, ($0, $1, $2, $3, $4) => {\n          switch ($1) {\n            case '#':\n              obj.attrs.id = $2;\n              break;\n            case '.':\n              obj.classes.push($2);\n              break;\n            case ':':\n              if (Tools.inArray('checked disabled enabled read-only required'.split(' '), $2) !== -1) {\n                obj.attrs[$2] = $2;\n              }\n              break;\n          }\n          if ($3 === '[') {\n            const m = $4.match(/([\\w\\-]+)(?:\\=\\\"([^\\\"]+))?/);\n            if (m) {\n              obj.attrs[m[1]] = m[2];\n            }\n          }\n          return '';\n        });\n      }\n      obj.name = tagName || 'div';\n      return obj;\n    };\n    const parseSelector = selector => {\n      if (!isString(selector)) {\n        return [];\n      }\n      selector = selector.split(/\\s*,\\s*/)[0];\n      selector = selector.replace(/\\s*(~\\+|~|\\+|>)\\s*/g, '$1');\n      return Tools.map(selector.split(/(?:>|\\s+(?![^\\[\\]]+\\]))/), item => {\n        const siblings = Tools.map(item.split(/(?:~\\+|~|\\+)/), parseSelectorItem);\n        const obj = siblings.pop();\n        if (siblings.length) {\n          obj.siblings = siblings;\n        }\n        return obj;\n      }).reverse();\n    };\n    const getCssText = (editor, format) => {\n      let previewCss = '';\n      let previewStyles = getPreviewStyles(editor);\n      if (previewStyles === '') {\n        return '';\n      }\n      const removeVars = val => {\n        return isString(val) ? val.replace(/%(\\w+)/g, '') : '';\n      };\n      const getComputedStyle = (name, elm) => {\n        return dom.getStyle(elm !== null && elm !== void 0 ? elm : editor.getBody(), name, true);\n      };\n      if (isString(format)) {\n        const formats = editor.formatter.get(format);\n        if (!formats) {\n          return '';\n        }\n        format = formats[0];\n      }\n      if ('preview' in format) {\n        const preview = format.preview;\n        if (preview === false) {\n          return '';\n        } else {\n          previewStyles = preview || previewStyles;\n        }\n      }\n      let name = format.block || format.inline || 'span';\n      let previewFrag;\n      const items = parseSelector(format.selector);\n      if (items.length > 0) {\n        if (!items[0].name) {\n          items[0].name = name;\n        }\n        name = format.selector;\n        previewFrag = parsedSelectorToHtml(items, editor);\n      } else {\n        previewFrag = parsedSelectorToHtml([name], editor);\n      }\n      const previewElm = dom.select(name, previewFrag)[0] || previewFrag.firstChild;\n      each$3(format.styles, (value, name) => {\n        const newValue = removeVars(value);\n        if (newValue) {\n          dom.setStyle(previewElm, name, newValue);\n        }\n      });\n      each$3(format.attributes, (value, name) => {\n        const newValue = removeVars(value);\n        if (newValue) {\n          dom.setAttrib(previewElm, name, newValue);\n        }\n      });\n      each$3(format.classes, value => {\n        const newValue = removeVars(value);\n        if (!dom.hasClass(previewElm, newValue)) {\n          dom.addClass(previewElm, newValue);\n        }\n      });\n      editor.dispatch('PreviewFormats');\n      dom.setStyles(previewFrag, {\n        position: 'absolute',\n        left: -65535\n      });\n      editor.getBody().appendChild(previewFrag);\n      const rawParentFontSize = getComputedStyle('fontSize');\n      const parentFontSize = /px$/.test(rawParentFontSize) ? parseInt(rawParentFontSize, 10) : 0;\n      each$3(previewStyles.split(' '), name => {\n        let value = getComputedStyle(name, previewElm);\n        if (name === 'background-color' && /transparent|rgba\\s*\\([^)]+,\\s*0\\)/.test(value)) {\n          value = getComputedStyle(name);\n          if (rgbaToHexString(value).toLowerCase() === '#ffffff') {\n            return;\n          }\n        }\n        if (name === 'color') {\n          if (rgbaToHexString(value).toLowerCase() === '#000000') {\n            return;\n          }\n        }\n        if (name === 'font-size') {\n          if (/em|%$/.test(value)) {\n            if (parentFontSize === 0) {\n              return;\n            }\n            const numValue = parseFloat(value) / (/%$/.test(value) ? 100 : 1);\n            value = numValue * parentFontSize + 'px';\n          }\n        }\n        if (name === 'border' && value) {\n          previewCss += 'padding:0 2px;';\n        }\n        previewCss += name + ':' + value + ';';\n      });\n      editor.dispatch('AfterPreviewFormats');\n      dom.remove(previewFrag);\n      return previewCss;\n    };\n\n    const setup$s = editor => {\n      editor.addShortcut('meta+b', '', 'Bold');\n      editor.addShortcut('meta+i', '', 'Italic');\n      editor.addShortcut('meta+u', '', 'Underline');\n      for (let i = 1; i <= 6; i++) {\n        editor.addShortcut('access+' + i, '', ['FormatBlock', false, 'h' + i]);\n      }\n      editor.addShortcut('access+7', '', ['FormatBlock', false, 'p']);\n      editor.addShortcut('access+8', '', ['FormatBlock', false, 'div']);\n      editor.addShortcut('access+9', '', ['FormatBlock', false, 'address']);\n    };\n\n    const Formatter = editor => {\n      const formats = FormatRegistry(editor);\n      const formatChangeState = Cell({});\n      setup$s(editor);\n      setup$v(editor);\n      if (!isRtc(editor)) {\n        setup$u(formatChangeState, editor);\n      }\n      return {\n        get: formats.get,\n        has: formats.has,\n        register: formats.register,\n        unregister: formats.unregister,\n        apply: (name, vars, node) => {\n          applyFormat(editor, name, vars, node);\n        },\n        remove: (name, vars, node, similar) => {\n          removeFormat(editor, name, vars, node, similar);\n        },\n        toggle: (name, vars, node) => {\n          toggleFormat(editor, name, vars, node);\n        },\n        match: (name, vars, node, similar) => matchFormat(editor, name, vars, node, similar),\n        closest: names => closestFormat(editor, names),\n        matchAll: (names, vars) => matchAllFormats(editor, names, vars),\n        matchNode: (node, name, vars, similar) => matchNodeFormat(editor, node, name, vars, similar),\n        canApply: name => canApplyFormat(editor, name),\n        formatChanged: (formats, callback, similar, vars) => formatChanged(editor, formatChangeState, formats, callback, similar, vars),\n        getCssText: curry(getCssText, editor)\n      };\n    };\n\n    const shouldIgnoreCommand = cmd => {\n      switch (cmd.toLowerCase()) {\n        case 'undo':\n        case 'redo':\n        case 'mcefocus':\n          return true;\n        default:\n          return false;\n      }\n    };\n    const registerEvents = (editor, undoManager, locks) => {\n      const isFirstTypedCharacter = Cell(false);\n      const addNonTypingUndoLevel = e => {\n        setTyping(undoManager, false, locks);\n        undoManager.add({}, e);\n      };\n      editor.on('init', () => {\n        undoManager.add();\n      });\n      editor.on('BeforeExecCommand', e => {\n        const cmd = e.command;\n        if (!shouldIgnoreCommand(cmd)) {\n          endTyping(undoManager, locks);\n          undoManager.beforeChange();\n        }\n      });\n      editor.on('ExecCommand', e => {\n        const cmd = e.command;\n        if (!shouldIgnoreCommand(cmd)) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      editor.on('ObjectResizeStart cut', () => {\n        undoManager.beforeChange();\n      });\n      editor.on('SaveContent ObjectResized blur', addNonTypingUndoLevel);\n      editor.on('dragend', addNonTypingUndoLevel);\n      editor.on('keyup', e => {\n        const keyCode = e.keyCode;\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        const isMeta = Env.os.isMacOS() && e.key === 'Meta';\n        if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45 || e.ctrlKey || isMeta) {\n          addNonTypingUndoLevel();\n          editor.nodeChanged();\n        }\n        if (keyCode === 46 || keyCode === 8) {\n          editor.nodeChanged();\n        }\n        if (isFirstTypedCharacter.get() && undoManager.typing && !isEq$1(createFromEditor(editor), undoManager.data[0])) {\n          if (!editor.isDirty()) {\n            editor.setDirty(true);\n          }\n          editor.dispatch('TypingUndo');\n          isFirstTypedCharacter.set(false);\n          editor.nodeChanged();\n        }\n      });\n      editor.on('keydown', e => {\n        const keyCode = e.keyCode;\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45) {\n          if (undoManager.typing) {\n            addNonTypingUndoLevel(e);\n          }\n          return;\n        }\n        const modKey = e.ctrlKey && !e.altKey || e.metaKey;\n        if ((keyCode < 16 || keyCode > 20) && keyCode !== 224 && keyCode !== 91 && !undoManager.typing && !modKey) {\n          undoManager.beforeChange();\n          setTyping(undoManager, true, locks);\n          undoManager.add({}, e);\n          isFirstTypedCharacter.set(true);\n          return;\n        }\n        const hasOnlyMetaOrCtrlModifier = Env.os.isMacOS() ? e.metaKey : e.ctrlKey && !e.altKey;\n        if (hasOnlyMetaOrCtrlModifier) {\n          undoManager.beforeChange();\n        }\n      });\n      editor.on('mousedown', e => {\n        if (undoManager.typing) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      const isInsertReplacementText = event => event.inputType === 'insertReplacementText';\n      const isInsertTextDataNull = event => event.inputType === 'insertText' && event.data === null;\n      const isInsertFromPasteOrDrop = event => event.inputType === 'insertFromPaste' || event.inputType === 'insertFromDrop';\n      editor.on('input', e => {\n        if (e.inputType && (isInsertReplacementText(e) || isInsertTextDataNull(e) || isInsertFromPasteOrDrop(e))) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      editor.on('AddUndo Undo Redo ClearUndos', e => {\n        if (!e.isDefaultPrevented()) {\n          editor.nodeChanged();\n        }\n      });\n    };\n    const addKeyboardShortcuts = editor => {\n      editor.addShortcut('meta+z', '', 'Undo');\n      editor.addShortcut('meta+y,meta+shift+z', '', 'Redo');\n    };\n\n    const UndoManager = editor => {\n      const beforeBookmark = value$2();\n      const locks = Cell(0);\n      const index = Cell(0);\n      const undoManager = {\n        data: [],\n        typing: false,\n        beforeChange: () => {\n          beforeChange(editor, locks, beforeBookmark);\n        },\n        add: (level, event) => {\n          return addUndoLevel(editor, undoManager, index, locks, beforeBookmark, level, event);\n        },\n        dispatchChange: () => {\n          editor.setDirty(true);\n          const level = createFromEditor(editor);\n          level.bookmark = getUndoBookmark(editor.selection);\n          editor.dispatch('change', {\n            level,\n            lastLevel: get$b(undoManager.data, index.get()).getOrUndefined()\n          });\n        },\n        undo: () => {\n          return undo(editor, undoManager, locks, index);\n        },\n        redo: () => {\n          return redo(editor, index, undoManager.data);\n        },\n        clear: () => {\n          clear(editor, undoManager, index);\n        },\n        reset: () => {\n          reset(editor, undoManager);\n        },\n        hasUndo: () => {\n          return hasUndo(editor, undoManager, index);\n        },\n        hasRedo: () => {\n          return hasRedo(editor, undoManager, index);\n        },\n        transact: callback => {\n          return transact(editor, undoManager, locks, callback);\n        },\n        ignore: callback => {\n          ignore(editor, locks, callback);\n        },\n        extra: (callback1, callback2) => {\n          extra(editor, undoManager, index, callback1, callback2);\n        }\n      };\n      if (!isRtc(editor)) {\n        registerEvents(editor, undoManager, locks);\n      }\n      addKeyboardShortcuts(editor);\n      return undoManager;\n    };\n\n    const nonTypingKeycodes = [9, 27, VK.HOME, VK.END, 19, 20, 44, 144, 145, 33, 34, 45, 16, 17, 18, 91, 92, 93, VK.DOWN, VK.UP, VK.LEFT, VK.RIGHT].concat(Env.browser.isFirefox() ? [224] : []);\n    const placeholderAttr = 'data-mce-placeholder';\n    const isKeyboardEvent = e => e.type === 'keydown' || e.type === 'keyup';\n    const isDeleteEvent = e => {\n      const keyCode = e.keyCode;\n      return keyCode === VK.BACKSPACE || keyCode === VK.DELETE;\n    };\n    const isNonTypingKeyboardEvent = e => {\n      if (isKeyboardEvent(e)) {\n        const keyCode = e.keyCode;\n        return !isDeleteEvent(e) && (VK.metaKeyPressed(e) || e.altKey || keyCode >= 112 && keyCode <= 123 || contains$2(nonTypingKeycodes, keyCode));\n      } else {\n        return false;\n      }\n    };\n    const isTypingKeyboardEvent = e => isKeyboardEvent(e) && !(isDeleteEvent(e) || e.type === 'keyup' && e.keyCode === 229);\n    const isVisuallyEmpty = (dom, rootElm, forcedRootBlock) => {\n      if (isEmpty$2(SugarElement.fromDom(rootElm), false)) {\n        const firstElement = rootElm.firstElementChild;\n        if (!firstElement) {\n          return true;\n        } else if (dom.getStyle(rootElm.firstElementChild, 'padding-left') || dom.getStyle(rootElm.firstElementChild, 'padding-right')) {\n          return false;\n        } else {\n          return forcedRootBlock === firstElement.nodeName.toLowerCase();\n        }\n      } else {\n        return false;\n      }\n    };\n    const setup$r = editor => {\n      var _a;\n      const dom = editor.dom;\n      const rootBlock = getForcedRootBlock(editor);\n      const placeholder = (_a = getPlaceholder(editor)) !== null && _a !== void 0 ? _a : '';\n      const updatePlaceholder = (e, initial) => {\n        if (isNonTypingKeyboardEvent(e)) {\n          return;\n        }\n        const body = editor.getBody();\n        const showPlaceholder = isTypingKeyboardEvent(e) ? false : isVisuallyEmpty(dom, body, rootBlock);\n        const isPlaceholderShown = dom.getAttrib(body, placeholderAttr) !== '';\n        if (isPlaceholderShown !== showPlaceholder || initial) {\n          dom.setAttrib(body, placeholderAttr, showPlaceholder ? placeholder : null);\n          dom.setAttrib(body, 'aria-placeholder', showPlaceholder ? placeholder : null);\n          firePlaceholderToggle(editor, showPlaceholder);\n          editor.on(showPlaceholder ? 'keydown' : 'keyup', updatePlaceholder);\n          editor.off(showPlaceholder ? 'keyup' : 'keydown', updatePlaceholder);\n        }\n      };\n      if (isNotEmpty(placeholder)) {\n        editor.on('init', e => {\n          updatePlaceholder(e, true);\n          editor.on('change SetContent ExecCommand', updatePlaceholder);\n          editor.on('paste', e => Delay.setEditorTimeout(editor, () => updatePlaceholder(e)));\n        });\n      }\n    };\n\n    const blockPosition = (block, position) => ({\n      block,\n      position\n    });\n    const blockBoundary = (from, to) => ({\n      from,\n      to\n    });\n    const getBlockPosition = (rootNode, pos) => {\n      const rootElm = SugarElement.fromDom(rootNode);\n      const containerElm = SugarElement.fromDom(pos.container());\n      return getParentBlock$2(rootElm, containerElm).map(block => blockPosition(block, pos));\n    };\n    const isDifferentBlocks = blockBoundary => !eq(blockBoundary.from.block, blockBoundary.to.block);\n    const getClosestHost = (root, scope) => {\n      const isRoot = node => eq(node, root);\n      const isHost = node => isTableCell$2(node) || isContentEditableTrue$3(node.dom);\n      return closest$4(scope, isHost, isRoot).filter(isElement$7).getOr(root);\n    };\n    const hasSameHost = (rootNode, blockBoundary) => {\n      const root = SugarElement.fromDom(rootNode);\n      return eq(getClosestHost(root, blockBoundary.from.block), getClosestHost(root, blockBoundary.to.block));\n    };\n    const isEditable$1 = blockBoundary => isContentEditableFalse$b(blockBoundary.from.block.dom) === false && isContentEditableFalse$b(blockBoundary.to.block.dom) === false;\n    const hasValidBlocks = blockBoundary => {\n      const isValidBlock = block => isTextBlock$2(block) || hasBlockAttr(block.dom);\n      return isValidBlock(blockBoundary.from.block) && isValidBlock(blockBoundary.to.block);\n    };\n    const skipLastBr = (rootNode, forward, blockPosition) => {\n      if (isBr$6(blockPosition.position.getNode()) && !isEmpty$2(blockPosition.block)) {\n        return positionIn(false, blockPosition.block.dom).bind(lastPositionInBlock => {\n          if (lastPositionInBlock.isEqual(blockPosition.position)) {\n            return fromPosition(forward, rootNode, lastPositionInBlock).bind(to => getBlockPosition(rootNode, to));\n          } else {\n            return Optional.some(blockPosition);\n          }\n        }).getOr(blockPosition);\n      } else {\n        return blockPosition;\n      }\n    };\n    const readFromRange = (rootNode, forward, rng) => {\n      const fromBlockPos = getBlockPosition(rootNode, CaretPosition.fromRangeStart(rng));\n      const toBlockPos = fromBlockPos.bind(blockPos => fromPosition(forward, rootNode, blockPos.position).bind(to => getBlockPosition(rootNode, to).map(blockPos => skipLastBr(rootNode, forward, blockPos))));\n      return lift2(fromBlockPos, toBlockPos, blockBoundary).filter(blockBoundary => isDifferentBlocks(blockBoundary) && hasSameHost(rootNode, blockBoundary) && isEditable$1(blockBoundary) && hasValidBlocks(blockBoundary));\n    };\n    const read$1 = (rootNode, forward, rng) => rng.collapsed ? readFromRange(rootNode, forward, rng) : Optional.none();\n\n    const getChildrenUntilBlockBoundary = (block, schema) => {\n      const children = children$1(block);\n      return findIndex$2(children, el => schema.isBlock(name(el))).fold(constant(children), index => children.slice(0, index));\n    };\n    const extractChildren = (block, schema) => {\n      const children = getChildrenUntilBlockBoundary(block, schema);\n      each$e(children, remove$5);\n      return children;\n    };\n    const removeEmptyRoot = (rootNode, block) => {\n      const parents = parentsAndSelf(block, rootNode);\n      return find$2(parents.reverse(), element => isEmpty$2(element)).each(remove$5);\n    };\n    const isEmptyBefore = el => filter$5(prevSiblings(el), el => !isEmpty$2(el)).length === 0;\n    const nestedBlockMerge = (rootNode, fromBlock, toBlock, schema, insertionPoint) => {\n      if (isEmpty$2(toBlock)) {\n        fillWithPaddingBr(toBlock);\n        return firstPositionIn(toBlock.dom);\n      }\n      if (isEmptyBefore(insertionPoint) && isEmpty$2(fromBlock)) {\n        before$3(insertionPoint, SugarElement.fromTag('br'));\n      }\n      const position = prevPosition(toBlock.dom, CaretPosition.before(insertionPoint.dom));\n      each$e(extractChildren(fromBlock, schema), child => {\n        before$3(insertionPoint, child);\n      });\n      removeEmptyRoot(rootNode, fromBlock);\n      return position;\n    };\n    const isInline = (schema, node) => schema.isInline(name(node));\n    const sidelongBlockMerge = (rootNode, fromBlock, toBlock, schema) => {\n      if (isEmpty$2(toBlock)) {\n        if (isEmpty$2(fromBlock)) {\n          const getInlineToBlockDescendants = el => {\n            const helper = (node, elements) => firstChild(node).fold(() => elements, child => isInline(schema, child) ? helper(child, elements.concat(shallow$1(child))) : elements);\n            return helper(el, []);\n          };\n          const newFromBlockDescendants = foldr(getInlineToBlockDescendants(toBlock), (element, descendant) => {\n            wrap$2(element, descendant);\n            return descendant;\n          }, createPaddingBr());\n          empty(fromBlock);\n          append$1(fromBlock, newFromBlockDescendants);\n        }\n        remove$5(toBlock);\n        return firstPositionIn(fromBlock.dom);\n      }\n      const position = lastPositionIn(toBlock.dom);\n      each$e(extractChildren(fromBlock, schema), child => {\n        append$1(toBlock, child);\n      });\n      removeEmptyRoot(rootNode, fromBlock);\n      return position;\n    };\n    const findInsertionPoint = (toBlock, block) => {\n      const parentsAndSelf$1 = parentsAndSelf(block, toBlock);\n      return Optional.from(parentsAndSelf$1[parentsAndSelf$1.length - 1]);\n    };\n    const getInsertionPoint = (fromBlock, toBlock) => contains(toBlock, fromBlock) ? findInsertionPoint(toBlock, fromBlock) : Optional.none();\n    const trimBr = (first, block) => {\n      positionIn(first, block.dom).bind(position => Optional.from(position.getNode())).map(SugarElement.fromDom).filter(isBr$5).each(remove$5);\n    };\n    const mergeBlockInto = (rootNode, fromBlock, toBlock, schema) => {\n      trimBr(true, fromBlock);\n      trimBr(false, toBlock);\n      return getInsertionPoint(fromBlock, toBlock).fold(curry(sidelongBlockMerge, rootNode, fromBlock, toBlock, schema), curry(nestedBlockMerge, rootNode, fromBlock, toBlock, schema));\n    };\n    const mergeBlocks = (rootNode, forward, block1, block2, schema) => forward ? mergeBlockInto(rootNode, block2, block1, schema) : mergeBlockInto(rootNode, block1, block2, schema);\n\n    const backspaceDelete$9 = (editor, forward) => {\n      const rootNode = SugarElement.fromDom(editor.getBody());\n      const position = read$1(rootNode.dom, forward, editor.selection.getRng()).map(blockBoundary => () => {\n        mergeBlocks(rootNode, forward, blockBoundary.from.block, blockBoundary.to.block, editor.schema).each(pos => {\n          editor.selection.setRng(pos.toRange());\n        });\n      });\n      return position;\n    };\n\n    const deleteRangeMergeBlocks = (rootNode, selection, schema) => {\n      const rng = selection.getRng();\n      return lift2(getParentBlock$2(rootNode, SugarElement.fromDom(rng.startContainer)), getParentBlock$2(rootNode, SugarElement.fromDom(rng.endContainer)), (block1, block2) => {\n        if (!eq(block1, block2)) {\n          return Optional.some(() => {\n            rng.deleteContents();\n            mergeBlocks(rootNode, true, block1, block2, schema).each(pos => {\n              selection.setRng(pos.toRange());\n            });\n          });\n        } else {\n          return Optional.none();\n        }\n      }).getOr(Optional.none());\n    };\n    const isRawNodeInTable = (root, rawNode) => {\n      const node = SugarElement.fromDom(rawNode);\n      const isRoot = curry(eq, root);\n      return ancestor$4(node, isTableCell$2, isRoot).isSome();\n    };\n    const isSelectionInTable = (root, rng) => isRawNodeInTable(root, rng.startContainer) || isRawNodeInTable(root, rng.endContainer);\n    const isEverythingSelected = (root, rng) => {\n      const noPrevious = prevPosition(root.dom, CaretPosition.fromRangeStart(rng)).isNone();\n      const noNext = nextPosition(root.dom, CaretPosition.fromRangeEnd(rng)).isNone();\n      return !isSelectionInTable(root, rng) && noPrevious && noNext;\n    };\n    const emptyEditor = editor => {\n      return Optional.some(() => {\n        editor.setContent('');\n        editor.selection.setCursorLocation();\n      });\n    };\n    const deleteRange$2 = editor => {\n      const rootNode = SugarElement.fromDom(editor.getBody());\n      const rng = editor.selection.getRng();\n      return isEverythingSelected(rootNode, rng) ? emptyEditor(editor) : deleteRangeMergeBlocks(rootNode, editor.selection, editor.schema);\n    };\n    const backspaceDelete$8 = (editor, _forward) => editor.selection.isCollapsed() ? Optional.none() : deleteRange$2(editor);\n\n    const showCaret = (direction, editor, node, before, scrollIntoView) => Optional.from(editor._selectionOverrides.showCaret(direction, node, before, scrollIntoView));\n    const getNodeRange = node => {\n      const rng = node.ownerDocument.createRange();\n      rng.selectNode(node);\n      return rng;\n    };\n    const selectNode = (editor, node) => {\n      const e = editor.dispatch('BeforeObjectSelected', {\n        target: node\n      });\n      if (e.isDefaultPrevented()) {\n        return Optional.none();\n      }\n      return Optional.some(getNodeRange(node));\n    };\n    const renderCaretAtRange = (editor, range, scrollIntoView) => {\n      const normalizedRange = normalizeRange(1, editor.getBody(), range);\n      const caretPosition = CaretPosition.fromRangeStart(normalizedRange);\n      const caretPositionNode = caretPosition.getNode();\n      if (isInlineFakeCaretTarget(caretPositionNode)) {\n        return showCaret(1, editor, caretPositionNode, !caretPosition.isAtEnd(), false);\n      }\n      const caretPositionBeforeNode = caretPosition.getNode(true);\n      if (isInlineFakeCaretTarget(caretPositionBeforeNode)) {\n        return showCaret(1, editor, caretPositionBeforeNode, false, false);\n      }\n      const ceRoot = getContentEditableRoot$1(editor.dom.getRoot(), caretPosition.getNode());\n      if (isInlineFakeCaretTarget(ceRoot)) {\n        return showCaret(1, editor, ceRoot, false, scrollIntoView);\n      }\n      return Optional.none();\n    };\n    const renderRangeCaret = (editor, range, scrollIntoView) => range.collapsed ? renderCaretAtRange(editor, range, scrollIntoView).getOr(range) : range;\n\n    const isBeforeBoundary = pos => isBeforeContentEditableFalse(pos) || isBeforeMedia(pos);\n    const isAfterBoundary = pos => isAfterContentEditableFalse(pos) || isAfterMedia(pos);\n    const trimEmptyTextNode = (dom, node) => {\n      if (isText$a(node) && node.data.length === 0) {\n        dom.remove(node);\n      }\n    };\n    const deleteContentAndShowCaret = (editor, range, node, direction, forward, peekCaretPosition) => {\n      showCaret(direction, editor, peekCaretPosition.getNode(!forward), forward, true).each(caretRange => {\n        if (range.collapsed) {\n          const deleteRange = range.cloneRange();\n          if (forward) {\n            deleteRange.setEnd(caretRange.startContainer, caretRange.startOffset);\n          } else {\n            deleteRange.setStart(caretRange.endContainer, caretRange.endOffset);\n          }\n          deleteRange.deleteContents();\n        } else {\n          range.deleteContents();\n        }\n        editor.selection.setRng(caretRange);\n      });\n      trimEmptyTextNode(editor.dom, node);\n    };\n    const deleteBoundaryText = (editor, forward) => {\n      const range = editor.selection.getRng();\n      if (!isText$a(range.commonAncestorContainer)) {\n        return Optional.none();\n      }\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const caretWalker = CaretWalker(editor.getBody());\n      const getNextPosFn = curry(getVisualCaretPosition, forward ? caretWalker.next : caretWalker.prev);\n      const isBeforeFn = forward ? isBeforeBoundary : isAfterBoundary;\n      const caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      const nextCaretPosition = getNextPosFn(caretPosition);\n      const normalizedNextCaretPosition = nextCaretPosition ? normalizePosition(forward, nextCaretPosition) : nextCaretPosition;\n      if (!normalizedNextCaretPosition || !isMoveInsideSameBlock(caretPosition, normalizedNextCaretPosition)) {\n        return Optional.none();\n      } else if (isBeforeFn(normalizedNextCaretPosition)) {\n        return Optional.some(() => deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, normalizedNextCaretPosition));\n      }\n      const peekCaretPosition = getNextPosFn(normalizedNextCaretPosition);\n      if (peekCaretPosition && isBeforeFn(peekCaretPosition)) {\n        if (isMoveInsideSameBlock(normalizedNextCaretPosition, peekCaretPosition)) {\n          return Optional.some(() => deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, peekCaretPosition));\n        }\n      }\n      return Optional.none();\n    };\n    const backspaceDelete$7 = (editor, forward) => deleteBoundaryText(editor, forward);\n\n    const getEdgeCefPosition = (editor, atStart) => {\n      const root = editor.getBody();\n      return atStart ? firstPositionIn(root).filter(isBeforeContentEditableFalse) : lastPositionIn(root).filter(isAfterContentEditableFalse);\n    };\n    const isCefAtEdgeSelected = editor => {\n      const rng = editor.selection.getRng();\n      return !rng.collapsed && (getEdgeCefPosition(editor, true).exists(pos => pos.isEqual(CaretPosition.fromRangeStart(rng))) || getEdgeCefPosition(editor, false).exists(pos => pos.isEqual(CaretPosition.fromRangeEnd(rng))));\n    };\n\n    const isCompoundElement = node => isNonNullable(node) && (isTableCell$2(SugarElement.fromDom(node)) || isListItem$1(SugarElement.fromDom(node)));\n    const DeleteAction = Adt.generate([{\n      remove: ['element']\n    }, {\n      moveToElement: ['element']\n    }, {\n      moveToPosition: ['position']\n    }]);\n    const isAtContentEditableBlockCaret = (forward, from) => {\n      const elm = from.getNode(!forward);\n      const caretLocation = forward ? 'after' : 'before';\n      return isElement$6(elm) && elm.getAttribute('data-mce-caret') === caretLocation;\n    };\n    const isDeleteFromCefDifferentBlocks = (root, forward, from, to, schema) => {\n      const inSameBlock = elm => schema.isInline(elm.nodeName.toLowerCase()) && !isInSameBlock(from, to, root);\n      return getRelativeCefElm(!forward, from).fold(() => getRelativeCefElm(forward, to).fold(never, inSameBlock), inSameBlock);\n    };\n    const deleteEmptyBlockOrMoveToCef = (root, forward, from, to) => {\n      const toCefElm = to.getNode(!forward);\n      return getParentBlock$2(SugarElement.fromDom(root), SugarElement.fromDom(from.getNode())).map(blockElm => isEmpty$2(blockElm) ? DeleteAction.remove(blockElm.dom) : DeleteAction.moveToElement(toCefElm)).orThunk(() => Optional.some(DeleteAction.moveToElement(toCefElm)));\n    };\n    const findCefPosition = (root, forward, from, schema) => fromPosition(forward, root, from).bind(to => {\n      if (isCompoundElement(to.getNode())) {\n        return Optional.none();\n      } else if (isDeleteFromCefDifferentBlocks(root, forward, from, to, schema)) {\n        return Optional.none();\n      } else if (forward && isContentEditableFalse$b(to.getNode())) {\n        return deleteEmptyBlockOrMoveToCef(root, forward, from, to);\n      } else if (!forward && isContentEditableFalse$b(to.getNode(true))) {\n        return deleteEmptyBlockOrMoveToCef(root, forward, from, to);\n      } else if (forward && isAfterContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.moveToPosition(to));\n      } else if (!forward && isBeforeContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.moveToPosition(to));\n      } else {\n        return Optional.none();\n      }\n    });\n    const getContentEditableBlockAction = (forward, elm) => {\n      if (isNullable(elm)) {\n        return Optional.none();\n      } else if (forward && isContentEditableFalse$b(elm.nextSibling)) {\n        return Optional.some(DeleteAction.moveToElement(elm.nextSibling));\n      } else if (!forward && isContentEditableFalse$b(elm.previousSibling)) {\n        return Optional.some(DeleteAction.moveToElement(elm.previousSibling));\n      } else {\n        return Optional.none();\n      }\n    };\n    const skipMoveToActionFromInlineCefToContent = (root, from, deleteAction) => deleteAction.fold(elm => Optional.some(DeleteAction.remove(elm)), elm => Optional.some(DeleteAction.moveToElement(elm)), to => {\n      if (isInSameBlock(from, to, root)) {\n        return Optional.none();\n      } else {\n        return Optional.some(DeleteAction.moveToPosition(to));\n      }\n    });\n    const getContentEditableAction = (root, forward, from, schema) => {\n      if (isAtContentEditableBlockCaret(forward, from)) {\n        return getContentEditableBlockAction(forward, from.getNode(!forward)).orThunk(() => findCefPosition(root, forward, from, schema));\n      } else {\n        return findCefPosition(root, forward, from, schema).bind(deleteAction => skipMoveToActionFromInlineCefToContent(root, from, deleteAction));\n      }\n    };\n    const read = (root, forward, rng, schema) => {\n      const normalizedRange = normalizeRange(forward ? 1 : -1, root, rng);\n      const from = CaretPosition.fromRangeStart(normalizedRange);\n      const rootElement = SugarElement.fromDom(root);\n      if (!forward && isAfterContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.remove(from.getNode(true)));\n      } else if (forward && isBeforeContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.remove(from.getNode()));\n      } else if (!forward && isBeforeContentEditableFalse(from) && isAfterBr(rootElement, from, schema)) {\n        return findPreviousBr(rootElement, from, schema).map(br => DeleteAction.remove(br.getNode()));\n      } else if (forward && isAfterContentEditableFalse(from) && isBeforeBr$1(rootElement, from, schema)) {\n        return findNextBr(rootElement, from, schema).map(br => DeleteAction.remove(br.getNode()));\n      } else {\n        return getContentEditableAction(root, forward, from, schema);\n      }\n    };\n\n    const deleteElement$1 = (editor, forward) => element => {\n      editor._selectionOverrides.hideFakeCaret();\n      deleteElement$2(editor, forward, SugarElement.fromDom(element));\n      return true;\n    };\n    const moveToElement = (editor, forward) => element => {\n      const pos = forward ? CaretPosition.before(element) : CaretPosition.after(element);\n      editor.selection.setRng(pos.toRange());\n      return true;\n    };\n    const moveToPosition = editor => pos => {\n      editor.selection.setRng(pos.toRange());\n      return true;\n    };\n    const getAncestorCe = (editor, node) => Optional.from(getContentEditableRoot$1(editor.getBody(), node));\n    const backspaceDeleteCaret = (editor, forward) => {\n      const selectedNode = editor.selection.getNode();\n      return getAncestorCe(editor, selectedNode).filter(isContentEditableFalse$b).fold(() => read(editor.getBody(), forward, editor.selection.getRng(), editor.schema).map(deleteAction => () => deleteAction.fold(deleteElement$1(editor, forward), moveToElement(editor, forward), moveToPosition(editor))), () => Optional.some(noop));\n    };\n    const deleteOffscreenSelection = rootElement => {\n      each$e(descendants(rootElement, '.mce-offscreen-selection'), remove$5);\n    };\n    const backspaceDeleteRange = (editor, forward) => {\n      const selectedNode = editor.selection.getNode();\n      if (isContentEditableFalse$b(selectedNode) && !isTableCell$3(selectedNode)) {\n        const hasCefAncestor = getAncestorCe(editor, selectedNode.parentNode).filter(isContentEditableFalse$b);\n        return hasCefAncestor.fold(() => Optional.some(() => {\n          deleteOffscreenSelection(SugarElement.fromDom(editor.getBody()));\n          deleteElement$2(editor, forward, SugarElement.fromDom(editor.selection.getNode()));\n          paddEmptyBody(editor);\n        }), () => Optional.some(noop));\n      }\n      if (isCefAtEdgeSelected(editor)) {\n        return Optional.some(() => {\n          deleteRangeContents(editor, editor.selection.getRng(), SugarElement.fromDom(editor.getBody()));\n        });\n      }\n      return Optional.none();\n    };\n    const paddEmptyElement = editor => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const ceRoot = getContentEditableRoot$1(editor.getBody(), selection.getNode());\n      if (isContentEditableTrue$3(ceRoot) && dom.isBlock(ceRoot) && dom.isEmpty(ceRoot)) {\n        const br = dom.create('br', {\n          'data-mce-bogus': '1'\n        });\n        dom.setHTML(ceRoot, '');\n        ceRoot.appendChild(br);\n        selection.setRng(CaretPosition.before(br).toRange());\n      }\n      return true;\n    };\n    const backspaceDelete$6 = (editor, forward) => {\n      if (editor.selection.isCollapsed()) {\n        return backspaceDeleteCaret(editor, forward);\n      } else {\n        return backspaceDeleteRange(editor, forward);\n      }\n    };\n\n    const deleteCaret$2 = (editor, forward) => {\n      const fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return fromPosition(forward, editor.getBody(), fromPos).filter(pos => forward ? isBeforeImageBlock(pos) : isAfterImageBlock(pos)).bind(pos => getChildNodeAtRelativeOffset(forward ? 0 : -1, pos)).map(elm => () => editor.selection.select(elm));\n    };\n    const backspaceDelete$5 = (editor, forward) => editor.selection.isCollapsed() ? deleteCaret$2(editor, forward) : Optional.none();\n\n    const isText$2 = isText$a;\n    const startsWithCaretContainer = node => isText$2(node) && node.data[0] === ZWSP$1;\n    const endsWithCaretContainer = node => isText$2(node) && node.data[node.data.length - 1] === ZWSP$1;\n    const createZwsp = node => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      return doc.createTextNode(ZWSP$1);\n    };\n    const insertBefore$1 = node => {\n      var _a;\n      if (isText$2(node.previousSibling)) {\n        if (endsWithCaretContainer(node.previousSibling)) {\n          return node.previousSibling;\n        } else {\n          node.previousSibling.appendData(ZWSP$1);\n          return node.previousSibling;\n        }\n      } else if (isText$2(node)) {\n        if (startsWithCaretContainer(node)) {\n          return node;\n        } else {\n          node.insertData(0, ZWSP$1);\n          return node;\n        }\n      } else {\n        const newNode = createZwsp(node);\n        (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(newNode, node);\n        return newNode;\n      }\n    };\n    const insertAfter$1 = node => {\n      var _a, _b;\n      if (isText$2(node.nextSibling)) {\n        if (startsWithCaretContainer(node.nextSibling)) {\n          return node.nextSibling;\n        } else {\n          node.nextSibling.insertData(0, ZWSP$1);\n          return node.nextSibling;\n        }\n      } else if (isText$2(node)) {\n        if (endsWithCaretContainer(node)) {\n          return node;\n        } else {\n          node.appendData(ZWSP$1);\n          return node;\n        }\n      } else {\n        const newNode = createZwsp(node);\n        if (node.nextSibling) {\n          (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(newNode, node.nextSibling);\n        } else {\n          (_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.appendChild(newNode);\n        }\n        return newNode;\n      }\n    };\n    const insertInline = (before, node) => before ? insertBefore$1(node) : insertAfter$1(node);\n    const insertInlineBefore = curry(insertInline, true);\n    const insertInlineAfter = curry(insertInline, false);\n\n    const insertInlinePos = (pos, before) => {\n      if (isText$a(pos.container())) {\n        return insertInline(before, pos.container());\n      } else {\n        return insertInline(before, pos.getNode());\n      }\n    };\n    const isPosCaretContainer = (pos, caret) => {\n      const caretNode = caret.get();\n      return caretNode && pos.container() === caretNode && isCaretContainerInline(caretNode);\n    };\n    const renderCaret = (caret, location) => location.fold(element => {\n      remove$3(caret.get());\n      const text = insertInlineBefore(element);\n      caret.set(text);\n      return Optional.some(CaretPosition(text, text.length - 1));\n    }, element => firstPositionIn(element).map(pos => {\n      if (!isPosCaretContainer(pos, caret)) {\n        remove$3(caret.get());\n        const text = insertInlinePos(pos, true);\n        caret.set(text);\n        return CaretPosition(text, 1);\n      } else {\n        const node = caret.get();\n        return CaretPosition(node, 1);\n      }\n    }), element => lastPositionIn(element).map(pos => {\n      if (!isPosCaretContainer(pos, caret)) {\n        remove$3(caret.get());\n        const text = insertInlinePos(pos, false);\n        caret.set(text);\n        return CaretPosition(text, text.length - 1);\n      } else {\n        const node = caret.get();\n        return CaretPosition(node, node.length - 1);\n      }\n    }), element => {\n      remove$3(caret.get());\n      const text = insertInlineAfter(element);\n      caret.set(text);\n      return Optional.some(CaretPosition(text, 1));\n    });\n\n    const evaluateUntil = (fns, args) => {\n      for (let i = 0; i < fns.length; i++) {\n        const result = fns[i].apply(null, args);\n        if (result.isSome()) {\n          return result;\n        }\n      }\n      return Optional.none();\n    };\n\n    const Location = Adt.generate([{\n      before: ['element']\n    }, {\n      start: ['element']\n    }, {\n      end: ['element']\n    }, {\n      after: ['element']\n    }]);\n    const rescope$1 = (rootNode, node) => {\n      const parentBlock = getParentBlock$3(node, rootNode);\n      return parentBlock ? parentBlock : rootNode;\n    };\n    const before = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeForwards(pos);\n      const scope = rescope$1(rootNode, nPos.container());\n      return findRootInline(isInlineTarget, scope, nPos).fold(() => nextPosition(scope, nPos).bind(curry(findRootInline, isInlineTarget, scope)).map(inline => Location.before(inline)), Optional.none);\n    };\n    const isNotInsideFormatCaretContainer = (rootNode, elm) => getParentCaretContainer(rootNode, elm) === null;\n    const findInsideRootInline = (isInlineTarget, rootNode, pos) => findRootInline(isInlineTarget, rootNode, pos).filter(curry(isNotInsideFormatCaretContainer, rootNode));\n    const start$1 = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeBackwards(pos);\n      return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(inline => {\n        const prevPos = prevPosition(inline, nPos);\n        return prevPos.isNone() ? Optional.some(Location.start(inline)) : Optional.none();\n      });\n    };\n    const end = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeForwards(pos);\n      return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(inline => {\n        const nextPos = nextPosition(inline, nPos);\n        return nextPos.isNone() ? Optional.some(Location.end(inline)) : Optional.none();\n      });\n    };\n    const after = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeBackwards(pos);\n      const scope = rescope$1(rootNode, nPos.container());\n      return findRootInline(isInlineTarget, scope, nPos).fold(() => prevPosition(scope, nPos).bind(curry(findRootInline, isInlineTarget, scope)).map(inline => Location.after(inline)), Optional.none);\n    };\n    const isValidLocation = location => !isRtl(getElement(location));\n    const readLocation = (isInlineTarget, rootNode, pos) => {\n      const location = evaluateUntil([before, start$1, end, after], [isInlineTarget, rootNode, pos]);\n      return location.filter(isValidLocation);\n    };\n    const getElement = location => location.fold(identity, identity, identity, identity);\n    const getName = location => location.fold(constant('before'), constant('start'), constant('end'), constant('after'));\n    const outside = location => location.fold(Location.before, Location.before, Location.after, Location.after);\n    const inside = location => location.fold(Location.start, Location.start, Location.end, Location.end);\n    const isEq = (location1, location2) => getName(location1) === getName(location2) && getElement(location1) === getElement(location2);\n    const betweenInlines = (forward, isInlineTarget, rootNode, from, to, location) => lift2(findRootInline(isInlineTarget, rootNode, from), findRootInline(isInlineTarget, rootNode, to), (fromInline, toInline) => {\n      if (fromInline !== toInline && hasSameParentBlock(rootNode, fromInline, toInline)) {\n        return Location.after(forward ? fromInline : toInline);\n      } else {\n        return location;\n      }\n    }).getOr(location);\n    const skipNoMovement = (fromLocation, toLocation) => fromLocation.fold(always, fromLocation => !isEq(fromLocation, toLocation));\n    const findLocationTraverse = (forward, isInlineTarget, rootNode, fromLocation, pos) => {\n      const from = normalizePosition(forward, pos);\n      const to = fromPosition(forward, rootNode, from).map(curry(normalizePosition, forward));\n      const location = to.fold(() => fromLocation.map(outside), to => readLocation(isInlineTarget, rootNode, to).map(curry(betweenInlines, forward, isInlineTarget, rootNode, from, to)).filter(curry(skipNoMovement, fromLocation)));\n      return location.filter(isValidLocation);\n    };\n    const findLocationSimple = (forward, location) => {\n      if (forward) {\n        return location.fold(compose(Optional.some, Location.start), Optional.none, compose(Optional.some, Location.after), Optional.none);\n      } else {\n        return location.fold(Optional.none, compose(Optional.some, Location.before), Optional.none, compose(Optional.some, Location.end));\n      }\n    };\n    const findLocation$1 = (forward, isInlineTarget, rootNode, pos) => {\n      const from = normalizePosition(forward, pos);\n      const fromLocation = readLocation(isInlineTarget, rootNode, from);\n      return readLocation(isInlineTarget, rootNode, from).bind(curry(findLocationSimple, forward)).orThunk(() => findLocationTraverse(forward, isInlineTarget, rootNode, fromLocation, pos));\n    };\n\n    const hasSelectionModifyApi = editor => {\n      return isFunction(editor.selection.getSel().modify);\n    };\n    const moveRel = (forward, selection, pos) => {\n      const delta = forward ? 1 : -1;\n      selection.setRng(CaretPosition(pos.container(), pos.offset() + delta).toRange());\n      selection.getSel().modify('move', forward ? 'forward' : 'backward', 'word');\n      return true;\n    };\n    const moveByWord = (forward, editor) => {\n      const rng = editor.selection.getRng();\n      const pos = forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n      if (!hasSelectionModifyApi(editor)) {\n        return false;\n      } else if (forward && isBeforeInline(pos)) {\n        return moveRel(true, editor.selection, pos);\n      } else if (!forward && isAfterInline(pos)) {\n        return moveRel(false, editor.selection, pos);\n      } else {\n        return false;\n      }\n    };\n\n    var BreakType;\n    (function (BreakType) {\n      BreakType[BreakType['Br'] = 0] = 'Br';\n      BreakType[BreakType['Block'] = 1] = 'Block';\n      BreakType[BreakType['Wrap'] = 2] = 'Wrap';\n      BreakType[BreakType['Eol'] = 3] = 'Eol';\n    })(BreakType || (BreakType = {}));\n    const flip = (direction, positions) => direction === HDirection.Backwards ? reverse(positions) : positions;\n    const walk$1 = (direction, caretWalker, pos) => direction === HDirection.Forwards ? caretWalker.next(pos) : caretWalker.prev(pos);\n    const getBreakType = (scope, direction, currentPos, nextPos) => {\n      if (isBr$6(nextPos.getNode(direction === HDirection.Forwards))) {\n        return BreakType.Br;\n      } else if (isInSameBlock(currentPos, nextPos) === false) {\n        return BreakType.Block;\n      } else {\n        return BreakType.Wrap;\n      }\n    };\n    const getPositionsUntil = (predicate, direction, scope, start) => {\n      const caretWalker = CaretWalker(scope);\n      let currentPos = start;\n      const positions = [];\n      while (currentPos) {\n        const nextPos = walk$1(direction, caretWalker, currentPos);\n        if (!nextPos) {\n          break;\n        }\n        if (isBr$6(nextPos.getNode(false))) {\n          if (direction === HDirection.Forwards) {\n            return {\n              positions: flip(direction, positions).concat([nextPos]),\n              breakType: BreakType.Br,\n              breakAt: Optional.some(nextPos)\n            };\n          } else {\n            return {\n              positions: flip(direction, positions),\n              breakType: BreakType.Br,\n              breakAt: Optional.some(nextPos)\n            };\n          }\n        }\n        if (!nextPos.isVisible()) {\n          currentPos = nextPos;\n          continue;\n        }\n        if (predicate(currentPos, nextPos)) {\n          const breakType = getBreakType(scope, direction, currentPos, nextPos);\n          return {\n            positions: flip(direction, positions),\n            breakType,\n            breakAt: Optional.some(nextPos)\n          };\n        }\n        positions.push(nextPos);\n        currentPos = nextPos;\n      }\n      return {\n        positions: flip(direction, positions),\n        breakType: BreakType.Eol,\n        breakAt: Optional.none()\n      };\n    };\n    const getAdjacentLinePositions = (direction, getPositionsUntilBreak, scope, start) => getPositionsUntilBreak(scope, start).breakAt.map(pos => {\n      const positions = getPositionsUntilBreak(scope, pos).positions;\n      return direction === HDirection.Backwards ? positions.concat(pos) : [pos].concat(positions);\n    }).getOr([]);\n    const findClosestHorizontalPositionFromPoint = (positions, x) => foldl(positions, (acc, newPos) => acc.fold(() => Optional.some(newPos), lastPos => lift2(head(lastPos.getClientRects()), head(newPos.getClientRects()), (lastRect, newRect) => {\n      const lastDist = Math.abs(x - lastRect.left);\n      const newDist = Math.abs(x - newRect.left);\n      return newDist <= lastDist ? newPos : lastPos;\n    }).or(acc)), Optional.none());\n    const findClosestHorizontalPosition = (positions, pos) => head(pos.getClientRects()).bind(targetRect => findClosestHorizontalPositionFromPoint(positions, targetRect.left));\n    const getPositionsUntilPreviousLine = curry(getPositionsUntil, CaretPosition.isAbove, -1);\n    const getPositionsUntilNextLine = curry(getPositionsUntil, CaretPosition.isBelow, 1);\n    const getPositionsAbove = curry(getAdjacentLinePositions, -1, getPositionsUntilPreviousLine);\n    const getPositionsBelow = curry(getAdjacentLinePositions, 1, getPositionsUntilNextLine);\n    const isAtFirstLine = (scope, pos) => getPositionsUntilPreviousLine(scope, pos).breakAt.isNone();\n    const isAtLastLine = (scope, pos) => getPositionsUntilNextLine(scope, pos).breakAt.isNone();\n    const getFirstLinePositions = scope => firstPositionIn(scope).map(pos => [pos].concat(getPositionsUntilNextLine(scope, pos).positions)).getOr([]);\n    const getLastLinePositions = scope => lastPositionIn(scope).map(pos => getPositionsUntilPreviousLine(scope, pos).positions.concat(pos)).getOr([]);\n    const getClosestPositionAbove = (scope, pos) => findClosestHorizontalPosition(getPositionsAbove(scope, pos), pos);\n    const getClosestPositionBelow = (scope, pos) => findClosestHorizontalPosition(getPositionsBelow(scope, pos), pos);\n\n    const isContentEditableFalse$4 = isContentEditableFalse$b;\n    const distanceToRectLeft$1 = (clientRect, clientX) => Math.abs(clientRect.left - clientX);\n    const distanceToRectRight$1 = (clientRect, clientX) => Math.abs(clientRect.right - clientX);\n    const isNodeClientRect = rect => hasNonNullableKey(rect, 'node');\n    const findClosestClientRect = (clientRects, clientX) => reduce(clientRects, (oldClientRect, clientRect) => {\n      const oldDistance = Math.min(distanceToRectLeft$1(oldClientRect, clientX), distanceToRectRight$1(oldClientRect, clientX));\n      const newDistance = Math.min(distanceToRectLeft$1(clientRect, clientX), distanceToRectRight$1(clientRect, clientX));\n      if (newDistance === oldDistance && isNodeClientRect(clientRect) && isContentEditableFalse$4(clientRect.node)) {\n        return clientRect;\n      }\n      if (newDistance < oldDistance) {\n        return clientRect;\n      }\n      return oldClientRect;\n    });\n\n    const getNodeClientRects = node => {\n      const toArrayWithNode = clientRects => {\n        return map$3(clientRects, rect => {\n          const clientRect = clone$1(rect);\n          clientRect.node = node;\n          return clientRect;\n        });\n      };\n      if (isElement$6(node)) {\n        return toArrayWithNode(node.getClientRects());\n      } else if (isText$a(node)) {\n        const rng = node.ownerDocument.createRange();\n        rng.setStart(node, 0);\n        rng.setEnd(node, node.data.length);\n        return toArrayWithNode(rng.getClientRects());\n      } else {\n        return [];\n      }\n    };\n    const getClientRects = nodes => bind$3(nodes, getNodeClientRects);\n\n    var VDirection;\n    (function (VDirection) {\n      VDirection[VDirection['Up'] = -1] = 'Up';\n      VDirection[VDirection['Down'] = 1] = 'Down';\n    })(VDirection || (VDirection = {}));\n    const findUntil = (direction, root, predicateFn, node) => {\n      let currentNode = node;\n      while (currentNode = findNode(currentNode, direction, isEditableCaretCandidate$1, root)) {\n        if (predicateFn(currentNode)) {\n          return;\n        }\n      }\n    };\n    const walkUntil = (direction, isAboveFn, isBeflowFn, root, predicateFn, caretPosition) => {\n      let line = 0;\n      const result = [];\n      const add = node => {\n        let clientRects = getClientRects([node]);\n        if (direction === -1) {\n          clientRects = clientRects.reverse();\n        }\n        for (let i = 0; i < clientRects.length; i++) {\n          const clientRect = clientRects[i];\n          if (isBeflowFn(clientRect, targetClientRect)) {\n            continue;\n          }\n          if (result.length > 0 && isAboveFn(clientRect, last$2(result))) {\n            line++;\n          }\n          clientRect.line = line;\n          if (predicateFn(clientRect)) {\n            return true;\n          }\n          result.push(clientRect);\n        }\n        return false;\n      };\n      const targetClientRect = last$2(caretPosition.getClientRects());\n      if (!targetClientRect) {\n        return result;\n      }\n      const node = caretPosition.getNode();\n      if (node) {\n        add(node);\n        findUntil(direction, root, add, node);\n      }\n      return result;\n    };\n    const aboveLineNumber = (lineNumber, clientRect) => clientRect.line > lineNumber;\n    const isLineNumber = (lineNumber, clientRect) => clientRect.line === lineNumber;\n    const upUntil = curry(walkUntil, VDirection.Up, isAbove$1, isBelow$1);\n    const downUntil = curry(walkUntil, VDirection.Down, isBelow$1, isAbove$1);\n    const getLastClientRect = caretPosition => {\n      return last$2(caretPosition.getClientRects());\n    };\n    const positionsUntil = (direction, root, predicateFn, node) => {\n      const caretWalker = CaretWalker(root);\n      let walkFn;\n      let isBelowFn;\n      let isAboveFn;\n      let caretPosition;\n      const result = [];\n      let line = 0;\n      if (direction === 1) {\n        walkFn = caretWalker.next;\n        isBelowFn = isBelow$1;\n        isAboveFn = isAbove$1;\n        caretPosition = CaretPosition.after(node);\n      } else {\n        walkFn = caretWalker.prev;\n        isBelowFn = isAbove$1;\n        isAboveFn = isBelow$1;\n        caretPosition = CaretPosition.before(node);\n      }\n      const targetClientRect = getLastClientRect(caretPosition);\n      do {\n        if (!caretPosition.isVisible()) {\n          continue;\n        }\n        const rect = getLastClientRect(caretPosition);\n        if (isAboveFn(rect, targetClientRect)) {\n          continue;\n        }\n        if (result.length > 0 && isBelowFn(rect, last$2(result))) {\n          line++;\n        }\n        const clientRect = clone$1(rect);\n        clientRect.position = caretPosition;\n        clientRect.line = line;\n        if (predicateFn(clientRect)) {\n          return result;\n        }\n        result.push(clientRect);\n      } while (caretPosition = walkFn(caretPosition));\n      return result;\n    };\n    const isAboveLine = lineNumber => clientRect => aboveLineNumber(lineNumber, clientRect);\n    const isLine = lineNumber => clientRect => isLineNumber(lineNumber, clientRect);\n\n    const moveToRange = (editor, rng) => {\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, editor.selection.getRng());\n    };\n    const renderRangeCaretOpt = (editor, range, scrollIntoView) => Optional.some(renderRangeCaret(editor, range, scrollIntoView));\n    const moveHorizontally = (editor, direction, range, isBefore, isAfter, isElement) => {\n      const forwards = direction === HDirection.Forwards;\n      const caretWalker = CaretWalker(editor.getBody());\n      const getNextPosFn = curry(getVisualCaretPosition, forwards ? caretWalker.next : caretWalker.prev);\n      const isBeforeFn = forwards ? isBefore : isAfter;\n      if (!range.collapsed) {\n        const node = getSelectedNode(range);\n        if (isElement(node)) {\n          return showCaret(direction, editor, node, direction === HDirection.Backwards, false);\n        } else if (isCefAtEdgeSelected(editor)) {\n          const newRange = range.cloneRange();\n          newRange.collapse(direction === HDirection.Backwards);\n          return Optional.from(newRange);\n        }\n      }\n      const caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      if (isBeforeFn(caretPosition)) {\n        return selectNode(editor, caretPosition.getNode(!forwards));\n      }\n      let nextCaretPosition = getNextPosFn(caretPosition);\n      const rangeIsInContainerBlock = isRangeInCaretContainerBlock(range);\n      if (!nextCaretPosition) {\n        return rangeIsInContainerBlock ? Optional.some(range) : Optional.none();\n      } else {\n        nextCaretPosition = normalizePosition(forwards, nextCaretPosition);\n      }\n      if (isBeforeFn(nextCaretPosition)) {\n        return showCaret(direction, editor, nextCaretPosition.getNode(!forwards), forwards, false);\n      }\n      const peekCaretPosition = getNextPosFn(nextCaretPosition);\n      if (peekCaretPosition && isBeforeFn(peekCaretPosition)) {\n        if (isMoveInsideSameBlock(nextCaretPosition, peekCaretPosition)) {\n          return showCaret(direction, editor, peekCaretPosition.getNode(!forwards), forwards, false);\n        }\n      }\n      if (rangeIsInContainerBlock) {\n        return renderRangeCaretOpt(editor, nextCaretPosition.toRange(), false);\n      }\n      return Optional.none();\n    };\n    const moveVertically = (editor, direction, range, isBefore, isAfter, isElement) => {\n      const caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      const caretClientRect = last$2(caretPosition.getClientRects());\n      const forwards = direction === VDirection.Down;\n      const root = editor.getBody();\n      if (!caretClientRect) {\n        return Optional.none();\n      }\n      if (isCefAtEdgeSelected(editor)) {\n        const caretPosition = forwards ? CaretPosition.fromRangeEnd(range) : CaretPosition.fromRangeStart(range);\n        const getClosestFn = !forwards ? getClosestPositionAbove : getClosestPositionBelow;\n        return getClosestFn(root, caretPosition).orThunk(() => Optional.from(caretPosition)).map(pos => pos.toRange());\n      }\n      const walkerFn = forwards ? downUntil : upUntil;\n      const linePositions = walkerFn(root, isAboveLine(1), caretPosition);\n      const nextLinePositions = filter$5(linePositions, isLine(1));\n      const clientX = caretClientRect.left;\n      const nextLineRect = findClosestClientRect(nextLinePositions, clientX);\n      if (nextLineRect && isElement(nextLineRect.node)) {\n        const dist1 = Math.abs(clientX - nextLineRect.left);\n        const dist2 = Math.abs(clientX - nextLineRect.right);\n        return showCaret(direction, editor, nextLineRect.node, dist1 < dist2, false);\n      }\n      let currentNode;\n      if (isBefore(caretPosition)) {\n        currentNode = caretPosition.getNode();\n      } else if (isAfter(caretPosition)) {\n        currentNode = caretPosition.getNode(true);\n      } else {\n        currentNode = getSelectedNode(range);\n      }\n      if (currentNode) {\n        const caretPositions = positionsUntil(direction, root, isAboveLine(1), currentNode);\n        let closestNextLineRect = findClosestClientRect(filter$5(caretPositions, isLine(1)), clientX);\n        if (closestNextLineRect) {\n          return renderRangeCaretOpt(editor, closestNextLineRect.position.toRange(), false);\n        }\n        closestNextLineRect = last$2(filter$5(caretPositions, isLine(0)));\n        if (closestNextLineRect) {\n          return renderRangeCaretOpt(editor, closestNextLineRect.position.toRange(), false);\n        }\n      }\n      if (nextLinePositions.length === 0) {\n        return getLineEndPoint(editor, forwards).filter(forwards ? isAfter : isBefore).map(pos => renderRangeCaret(editor, pos.toRange(), false));\n      }\n      return Optional.none();\n    };\n    const getLineEndPoint = (editor, forward) => {\n      const rng = editor.selection.getRng();\n      const from = forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n      const host = getEditingHost(from.container(), editor.getBody());\n      if (forward) {\n        const lineInfo = getPositionsUntilNextLine(host, from);\n        return last$3(lineInfo.positions);\n      } else {\n        const lineInfo = getPositionsUntilPreviousLine(host, from);\n        return head(lineInfo.positions);\n      }\n    };\n    const moveToLineEndPoint$3 = (editor, forward, isElementPosition) => getLineEndPoint(editor, forward).filter(isElementPosition).exists(pos => {\n      editor.selection.setRng(pos.toRange());\n      return true;\n    });\n\n    const setCaretPosition = (editor, pos) => {\n      const rng = editor.dom.createRng();\n      rng.setStart(pos.container(), pos.offset());\n      rng.setEnd(pos.container(), pos.offset());\n      editor.selection.setRng(rng);\n    };\n    const setSelected = (state, elm) => {\n      if (state) {\n        elm.setAttribute('data-mce-selected', 'inline-boundary');\n      } else {\n        elm.removeAttribute('data-mce-selected');\n      }\n    };\n    const renderCaretLocation = (editor, caret, location) => renderCaret(caret, location).map(pos => {\n      setCaretPosition(editor, pos);\n      return location;\n    });\n    const getPositionFromRange = (range, root, forward) => {\n      const start = CaretPosition.fromRangeStart(range);\n      if (range.collapsed) {\n        return start;\n      } else {\n        const end = CaretPosition.fromRangeEnd(range);\n        return forward ? prevPosition(root, end).getOr(end) : nextPosition(root, start).getOr(start);\n      }\n    };\n    const findLocation = (editor, caret, forward) => {\n      const rootNode = editor.getBody();\n      const from = getPositionFromRange(editor.selection.getRng(), rootNode, forward);\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      const location = findLocation$1(forward, isInlineTarget$1, rootNode, from);\n      return location.bind(location => renderCaretLocation(editor, caret, location));\n    };\n    const toggleInlines = (isInlineTarget, dom, elms) => {\n      const inlineBoundaries = map$3(descendants(SugarElement.fromDom(dom.getRoot()), '*[data-mce-selected=\"inline-boundary\"]'), e => e.dom);\n      const selectedInlines = filter$5(inlineBoundaries, isInlineTarget);\n      const targetInlines = filter$5(elms, isInlineTarget);\n      each$e(difference(selectedInlines, targetInlines), curry(setSelected, false));\n      each$e(difference(targetInlines, selectedInlines), curry(setSelected, true));\n    };\n    const safeRemoveCaretContainer = (editor, caret) => {\n      const caretValue = caret.get();\n      if (editor.selection.isCollapsed() && !editor.composing && caretValue) {\n        const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        if (CaretPosition.isTextPosition(pos) && !isAtZwsp(pos)) {\n          setCaretPosition(editor, removeAndReposition(caretValue, pos));\n          caret.set(null);\n        }\n      }\n    };\n    const renderInsideInlineCaret = (isInlineTarget, editor, caret, elms) => {\n      if (editor.selection.isCollapsed()) {\n        const inlines = filter$5(elms, isInlineTarget);\n        each$e(inlines, _inline => {\n          const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n          readLocation(isInlineTarget, editor.getBody(), pos).bind(location => renderCaretLocation(editor, caret, location));\n        });\n      }\n    };\n    const move$3 = (editor, caret, forward) => isInlineBoundariesEnabled(editor) ? findLocation(editor, caret, forward).isSome() : false;\n    const moveWord = (forward, editor, _caret) => isInlineBoundariesEnabled(editor) ? moveByWord(forward, editor) : false;\n    const setupSelectedState = editor => {\n      const caret = Cell(null);\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      editor.on('NodeChange', e => {\n        if (isInlineBoundariesEnabled(editor)) {\n          toggleInlines(isInlineTarget$1, editor.dom, e.parents);\n          safeRemoveCaretContainer(editor, caret);\n          renderInsideInlineCaret(isInlineTarget$1, editor, caret, e.parents);\n        }\n      });\n      return caret;\n    };\n    const moveNextWord = curry(moveWord, true);\n    const movePrevWord = curry(moveWord, false);\n    const moveToLineEndPoint$2 = (editor, forward, caret) => {\n      if (isInlineBoundariesEnabled(editor)) {\n        const linePoint = getLineEndPoint(editor, forward).getOrThunk(() => {\n          const rng = editor.selection.getRng();\n          return forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n        });\n        return readLocation(curry(isInlineTarget, editor), editor.getBody(), linePoint).exists(loc => {\n          const outsideLoc = outside(loc);\n          return renderCaret(caret, outsideLoc).exists(pos => {\n            setCaretPosition(editor, pos);\n            return true;\n          });\n        });\n      } else {\n        return false;\n      }\n    };\n\n    const rangeFromPositions = (from, to) => {\n      const range = document.createRange();\n      range.setStart(from.container(), from.offset());\n      range.setEnd(to.container(), to.offset());\n      return range;\n    };\n    const hasOnlyTwoOrLessPositionsLeft = elm => lift2(firstPositionIn(elm), lastPositionIn(elm), (firstPos, lastPos) => {\n      const normalizedFirstPos = normalizePosition(true, firstPos);\n      const normalizedLastPos = normalizePosition(false, lastPos);\n      return nextPosition(elm, normalizedFirstPos).forall(pos => pos.isEqual(normalizedLastPos));\n    }).getOr(true);\n    const setCaretLocation = (editor, caret) => location => renderCaret(caret, location).map(pos => () => setCaretPosition(editor, pos));\n    const deleteFromTo = (editor, caret, from, to) => {\n      const rootNode = editor.getBody();\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      editor.undoManager.ignore(() => {\n        editor.selection.setRng(rangeFromPositions(from, to));\n        execNativeDeleteCommand(editor);\n        readLocation(isInlineTarget$1, rootNode, CaretPosition.fromRangeStart(editor.selection.getRng())).map(inside).bind(setCaretLocation(editor, caret)).each(call);\n      });\n      editor.nodeChanged();\n    };\n    const rescope = (rootNode, node) => {\n      const parentBlock = getParentBlock$3(node, rootNode);\n      return parentBlock ? parentBlock : rootNode;\n    };\n    const backspaceDeleteCollapsed = (editor, caret, forward, from) => {\n      const rootNode = rescope(editor.getBody(), from.container());\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      const fromLocation = readLocation(isInlineTarget$1, rootNode, from);\n      const location = fromLocation.bind(location => {\n        if (forward) {\n          return location.fold(constant(Optional.some(inside(location))), Optional.none, constant(Optional.some(outside(location))), Optional.none);\n        } else {\n          return location.fold(Optional.none, constant(Optional.some(outside(location))), Optional.none, constant(Optional.some(inside(location))));\n        }\n      });\n      return location.map(setCaretLocation(editor, caret)).getOrThunk(() => {\n        const toPosition = navigate(forward, rootNode, from);\n        const toLocation = toPosition.bind(pos => readLocation(isInlineTarget$1, rootNode, pos));\n        return lift2(fromLocation, toLocation, () => findRootInline(isInlineTarget$1, rootNode, from).bind(elm => {\n          if (hasOnlyTwoOrLessPositionsLeft(elm)) {\n            return Optional.some(() => {\n              deleteElement$2(editor, forward, SugarElement.fromDom(elm));\n            });\n          } else {\n            return Optional.none();\n          }\n        })).getOrThunk(() => toLocation.bind(() => toPosition.map(to => {\n          return () => {\n            if (forward) {\n              deleteFromTo(editor, caret, from, to);\n            } else {\n              deleteFromTo(editor, caret, to, from);\n            }\n          };\n        })));\n      });\n    };\n    const backspaceDelete$4 = (editor, caret, forward) => {\n      if (editor.selection.isCollapsed() && isInlineBoundariesEnabled(editor)) {\n        const from = CaretPosition.fromRangeStart(editor.selection.getRng());\n        return backspaceDeleteCollapsed(editor, caret, forward, from);\n      }\n      return Optional.none();\n    };\n\n    const hasMultipleChildren = elm => childNodesCount(elm) > 1;\n    const getParentsUntil = (editor, pred) => {\n      const rootElm = SugarElement.fromDom(editor.getBody());\n      const startElm = SugarElement.fromDom(editor.selection.getStart());\n      const parents = parentsAndSelf(startElm, rootElm);\n      return findIndex$2(parents, pred).fold(constant(parents), index => parents.slice(0, index));\n    };\n    const hasOnlyOneChild = elm => childNodesCount(elm) === 1;\n    const getParentInlinesUntilMultichildInline = editor => getParentsUntil(editor, elm => editor.schema.isBlock(name(elm)) || hasMultipleChildren(elm));\n    const getParentInlines = editor => getParentsUntil(editor, el => editor.schema.isBlock(name(el)));\n    const getFormatNodes = (editor, parentInlines) => {\n      const isFormatElement$1 = curry(isFormatElement, editor);\n      return bind$3(parentInlines, elm => isFormatElement$1(elm) ? [elm.dom] : []);\n    };\n    const getFormatNodesAtStart = editor => {\n      const parentInlines = getParentInlines(editor);\n      return getFormatNodes(editor, parentInlines);\n    };\n    const deleteLastPosition = (forward, editor, target, parentInlines) => {\n      const formatNodes = getFormatNodes(editor, parentInlines);\n      if (formatNodes.length === 0) {\n        deleteElement$2(editor, forward, target);\n      } else {\n        const pos = replaceWithCaretFormat(target.dom, formatNodes);\n        editor.selection.setRng(pos.toRange());\n      }\n    };\n    const deleteCaret$1 = (editor, forward) => {\n      const parentInlines = filter$5(getParentInlinesUntilMultichildInline(editor), hasOnlyOneChild);\n      return last$3(parentInlines).bind(target => {\n        const fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        if (willDeleteLastPositionInElement(forward, fromPos, target.dom) && !isEmptyCaretFormatElement(target)) {\n          return Optional.some(() => deleteLastPosition(forward, editor, target, parentInlines));\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    const isBrInEmptyElement = (editor, elm) => {\n      const parentElm = elm.parentElement;\n      return isBr$6(elm) && !isNull(parentElm) && editor.dom.isEmpty(parentElm);\n    };\n    const isEmptyCaret = elm => isEmptyCaretFormatElement(SugarElement.fromDom(elm));\n    const createCaretFormatAtStart = (editor, formatNodes) => {\n      const startElm = editor.selection.getStart();\n      const pos = isBrInEmptyElement(editor, startElm) || isEmptyCaret(startElm) ? replaceWithCaretFormat(startElm, formatNodes) : createCaretFormatAtStart$1(editor.selection.getRng(), formatNodes);\n      editor.selection.setRng(pos.toRange());\n    };\n    const updateCaretFormat = (editor, updateFormats) => {\n      const missingFormats = difference(updateFormats, getFormatNodesAtStart(editor));\n      if (missingFormats.length > 0) {\n        createCaretFormatAtStart(editor, missingFormats);\n      }\n    };\n    const rangeStartsAtTextContainer = rng => isText$a(rng.startContainer);\n    const rangeStartsAtStartOfTextContainer = rng => rng.startOffset === 0 && rangeStartsAtTextContainer(rng);\n    const rangeStartParentIsFormatElement = (editor, rng) => {\n      const startParent = rng.startContainer.parentElement;\n      return !isNull(startParent) && isFormatElement(editor, SugarElement.fromDom(startParent));\n    };\n    const rangeStartAndEndHaveSameParent = rng => {\n      const startParent = rng.startContainer.parentNode;\n      const endParent = rng.endContainer.parentNode;\n      return !isNull(startParent) && !isNull(endParent) && startParent.isEqualNode(endParent);\n    };\n    const rangeEndsAtEndOfEndContainer = rng => {\n      const endContainer = rng.endContainer;\n      return rng.endOffset === (isText$a(endContainer) ? endContainer.length : endContainer.childNodes.length);\n    };\n    const rangeEndsAtEndOfStartContainer = rng => rangeStartAndEndHaveSameParent(rng) && rangeEndsAtEndOfEndContainer(rng);\n    const rangeEndsAfterEndOfStartContainer = rng => !rng.endContainer.isEqualNode(rng.commonAncestorContainer);\n    const rangeEndsAtOrAfterEndOfStartContainer = rng => rangeEndsAtEndOfStartContainer(rng) || rangeEndsAfterEndOfStartContainer(rng);\n    const requiresDeleteRangeOverride = editor => {\n      const rng = editor.selection.getRng();\n      return rangeStartsAtStartOfTextContainer(rng) && rangeStartParentIsFormatElement(editor, rng) && rangeEndsAtOrAfterEndOfStartContainer(rng);\n    };\n    const deleteRange$1 = editor => {\n      if (requiresDeleteRangeOverride(editor)) {\n        const formatNodes = getFormatNodesAtStart(editor);\n        return Optional.some(() => {\n          execNativeDeleteCommand(editor);\n          updateCaretFormat(editor, formatNodes);\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const backspaceDelete$3 = (editor, forward) => editor.selection.isCollapsed() ? deleteCaret$1(editor, forward) : deleteRange$1(editor);\n    const hasAncestorInlineCaret = (elm, schema) => ancestor$1(elm, node => isCaretNode(node.dom), el => schema.isBlock(name(el)));\n    const hasAncestorInlineCaretAtStart = editor => hasAncestorInlineCaret(SugarElement.fromDom(editor.selection.getStart()), editor.schema);\n    const requiresRefreshCaretOverride = editor => {\n      const rng = editor.selection.getRng();\n      return rng.collapsed && (rangeStartsAtTextContainer(rng) || editor.dom.isEmpty(rng.startContainer)) && !hasAncestorInlineCaretAtStart(editor);\n    };\n    const refreshCaret = editor => {\n      if (requiresRefreshCaretOverride(editor)) {\n        createCaretFormatAtStart(editor, []);\n      }\n      return true;\n    };\n\n    const deleteElement = (editor, forward, element) => {\n      if (isNonNullable(element)) {\n        return Optional.some(() => {\n          editor._selectionOverrides.hideFakeCaret();\n          deleteElement$2(editor, forward, SugarElement.fromDom(element));\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const deleteCaret = (editor, forward) => {\n      const isNearMedia = forward ? isBeforeMedia : isAfterMedia;\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const fromPos = getNormalizedRangeEndPoint(direction, editor.getBody(), editor.selection.getRng());\n      if (isNearMedia(fromPos)) {\n        return deleteElement(editor, forward, fromPos.getNode(!forward));\n      } else {\n        return Optional.from(normalizePosition(forward, fromPos)).filter(pos => isNearMedia(pos) && isMoveInsideSameBlock(fromPos, pos)).bind(pos => deleteElement(editor, forward, pos.getNode(!forward)));\n      }\n    };\n    const deleteRange = (editor, forward) => {\n      const selectedNode = editor.selection.getNode();\n      return isMedia$2(selectedNode) ? deleteElement(editor, forward, selectedNode) : Optional.none();\n    };\n    const backspaceDelete$2 = (editor, forward) => editor.selection.isCollapsed() ? deleteCaret(editor, forward) : deleteRange(editor, forward);\n\n    const isEditable = target => closest$4(target, elm => isContentEditableTrue$3(elm.dom) || isContentEditableFalse$b(elm.dom)).exists(elm => isContentEditableTrue$3(elm.dom));\n    const parseIndentValue = value => toInt(value !== null && value !== void 0 ? value : '').getOr(0);\n    const getIndentStyleName = (useMargin, element) => {\n      const indentStyleName = useMargin || isTable$1(element) ? 'margin' : 'padding';\n      const suffix = get$7(element, 'direction') === 'rtl' ? '-right' : '-left';\n      return indentStyleName + suffix;\n    };\n    const indentElement = (dom, command, useMargin, value, unit, element) => {\n      const indentStyleName = getIndentStyleName(useMargin, SugarElement.fromDom(element));\n      const parsedValue = parseIndentValue(dom.getStyle(element, indentStyleName));\n      if (command === 'outdent') {\n        const styleValue = Math.max(0, parsedValue - value);\n        dom.setStyle(element, indentStyleName, styleValue ? styleValue + unit : '');\n      } else {\n        const styleValue = parsedValue + value + unit;\n        dom.setStyle(element, indentStyleName, styleValue);\n      }\n    };\n    const validateBlocks = (editor, blocks) => forall(blocks, block => {\n      const indentStyleName = getIndentStyleName(shouldIndentUseMargin(editor), block);\n      const intentValue = getRaw(block, indentStyleName).map(parseIndentValue).getOr(0);\n      const contentEditable = editor.dom.getContentEditable(block.dom);\n      return contentEditable !== 'false' && intentValue > 0;\n    });\n    const canOutdent = editor => {\n      const blocks = getBlocksToIndent(editor);\n      return !editor.mode.isReadOnly() && (blocks.length > 1 || validateBlocks(editor, blocks));\n    };\n    const isListComponent = el => isList(el) || isListItem$1(el);\n    const parentIsListComponent = el => parent(el).exists(isListComponent);\n    const getBlocksToIndent = editor => filter$5(fromDom$1(editor.selection.getSelectedBlocks()), el => !isListComponent(el) && !parentIsListComponent(el) && isEditable(el));\n    const handle = (editor, command) => {\n      var _a, _b;\n      const {\n        dom\n      } = editor;\n      const indentation = getIndentation(editor);\n      const indentUnit = (_b = (_a = /[a-z%]+$/i.exec(indentation)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 'px';\n      const indentValue = parseIndentValue(indentation);\n      const useMargin = shouldIndentUseMargin(editor);\n      each$e(getBlocksToIndent(editor), block => {\n        indentElement(dom, command, useMargin, indentValue, indentUnit, block.dom);\n      });\n    };\n    const indent = editor => handle(editor, 'indent');\n    const outdent = editor => handle(editor, 'outdent');\n\n    const backspaceDelete$1 = editor => {\n      if (editor.selection.isCollapsed() && canOutdent(editor)) {\n        const dom = editor.dom;\n        const rng = editor.selection.getRng();\n        const pos = CaretPosition.fromRangeStart(rng);\n        const block = dom.getParent(rng.startContainer, dom.isBlock);\n        if (block !== null && isAtStartOfBlock(SugarElement.fromDom(block), pos, editor.schema)) {\n          return Optional.some(() => outdent(editor));\n        }\n      }\n      return Optional.none();\n    };\n\n    const findAction = (editor, caret, forward) => findMap([backspaceDelete$1, backspaceDelete$6, backspaceDelete$7, (editor, forward) => backspaceDelete$4(editor, caret, forward), backspaceDelete$9, backspaceDelete$a, backspaceDelete$5, backspaceDelete$2, backspaceDelete$8, backspaceDelete$3], item => item(editor, forward)).filter(_ => editor.selection.isEditable());\n    const deleteCommand = (editor, caret) => {\n      const result = findAction(editor, caret, false);\n      result.fold(() => {\n        if (editor.selection.isEditable()) {\n          execNativeDeleteCommand(editor);\n          paddEmptyBody(editor);\n        }\n      }, call);\n    };\n    const forwardDeleteCommand = (editor, caret) => {\n      const result = findAction(editor, caret, true);\n      result.fold(() => {\n        if (editor.selection.isEditable()) {\n          execNativeForwardDeleteCommand(editor);\n        }\n      }, call);\n    };\n    const setup$q = (editor, caret) => {\n      editor.addCommand('delete', () => {\n        deleteCommand(editor, caret);\n      });\n      editor.addCommand('forwardDelete', () => {\n        forwardDeleteCommand(editor, caret);\n      });\n    };\n\n    const SIGNIFICANT_MOVE = 5;\n    const LONGPRESS_DELAY = 400;\n    const getTouch = event => {\n      if (event.touches === undefined || event.touches.length !== 1) {\n        return Optional.none();\n      }\n      return Optional.some(event.touches[0]);\n    };\n    const isFarEnough = (touch, data) => {\n      const distX = Math.abs(touch.clientX - data.x);\n      const distY = Math.abs(touch.clientY - data.y);\n      return distX > SIGNIFICANT_MOVE || distY > SIGNIFICANT_MOVE;\n    };\n    const setup$p = editor => {\n      const startData = value$2();\n      const longpressFired = Cell(false);\n      const debounceLongpress = last$1(e => {\n        editor.dispatch('longpress', {\n          ...e,\n          type: 'longpress'\n        });\n        longpressFired.set(true);\n      }, LONGPRESS_DELAY);\n      editor.on('touchstart', e => {\n        getTouch(e).each(touch => {\n          debounceLongpress.cancel();\n          const data = {\n            x: touch.clientX,\n            y: touch.clientY,\n            target: e.target\n          };\n          debounceLongpress.throttle(e);\n          longpressFired.set(false);\n          startData.set(data);\n        });\n      }, true);\n      editor.on('touchmove', e => {\n        debounceLongpress.cancel();\n        getTouch(e).each(touch => {\n          startData.on(data => {\n            if (isFarEnough(touch, data)) {\n              startData.clear();\n              longpressFired.set(false);\n              editor.dispatch('longpresscancel');\n            }\n          });\n        });\n      }, true);\n      editor.on('touchend touchcancel', e => {\n        debounceLongpress.cancel();\n        if (e.type === 'touchcancel') {\n          return;\n        }\n        startData.get().filter(data => data.target.isEqualNode(e.target)).each(() => {\n          if (longpressFired.get()) {\n            e.preventDefault();\n          } else {\n            editor.dispatch('tap', {\n              ...e,\n              type: 'tap'\n            });\n          }\n        });\n      }, true);\n    };\n\n    const isBlockElement = (blockElements, node) => has$2(blockElements, node.nodeName);\n    const isValidTarget = (schema, node) => {\n      if (isText$a(node)) {\n        return true;\n      } else if (isElement$6(node)) {\n        return !isBlockElement(schema.getBlockElements(), node) && !isBookmarkNode$1(node) && !isTransparentBlock(schema, node) && !isNonHtmlElementRoot(node);\n      } else {\n        return false;\n      }\n    };\n    const hasBlockParent = (blockElements, root, node) => {\n      return exists(parents(SugarElement.fromDom(node), SugarElement.fromDom(root)), elm => {\n        return isBlockElement(blockElements, elm.dom);\n      });\n    };\n    const shouldRemoveTextNode = (blockElements, node) => {\n      if (isText$a(node)) {\n        if (node.data.length === 0) {\n          return true;\n        } else if (/^\\s+$/.test(node.data)) {\n          return !node.nextSibling || isBlockElement(blockElements, node.nextSibling) || isNonHtmlElementRoot(node.nextSibling);\n        }\n      }\n      return false;\n    };\n    const createRootBlock = editor => editor.dom.create(getForcedRootBlock(editor), getForcedRootBlockAttrs(editor));\n    const addRootBlocks = editor => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const schema = editor.schema;\n      const blockElements = schema.getBlockElements();\n      const startNode = selection.getStart();\n      const rootNode = editor.getBody();\n      let rootBlockNode;\n      let tempNode;\n      let wrapped = false;\n      const forcedRootBlock = getForcedRootBlock(editor);\n      if (!startNode || !isElement$6(startNode)) {\n        return;\n      }\n      const rootNodeName = rootNode.nodeName.toLowerCase();\n      if (!schema.isValidChild(rootNodeName, forcedRootBlock.toLowerCase()) || hasBlockParent(blockElements, rootNode, startNode)) {\n        return;\n      }\n      const rng = selection.getRng();\n      const {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      } = rng;\n      const restoreSelection = hasFocus(editor);\n      let node = rootNode.firstChild;\n      while (node) {\n        if (isElement$6(node)) {\n          updateElement(schema, node);\n        }\n        if (isValidTarget(schema, node)) {\n          if (shouldRemoveTextNode(blockElements, node)) {\n            tempNode = node;\n            node = node.nextSibling;\n            dom.remove(tempNode);\n            continue;\n          }\n          if (!rootBlockNode) {\n            rootBlockNode = createRootBlock(editor);\n            rootNode.insertBefore(rootBlockNode, node);\n            wrapped = true;\n          }\n          tempNode = node;\n          node = node.nextSibling;\n          rootBlockNode.appendChild(tempNode);\n        } else {\n          rootBlockNode = null;\n          node = node.nextSibling;\n        }\n      }\n      if (wrapped && restoreSelection) {\n        rng.setStart(startContainer, startOffset);\n        rng.setEnd(endContainer, endOffset);\n        selection.setRng(rng);\n        editor.nodeChanged();\n      }\n    };\n    const insertEmptyLine = (editor, root, insertBlock) => {\n      const block = SugarElement.fromDom(createRootBlock(editor));\n      const br = createPaddingBr();\n      append$1(block, br);\n      insertBlock(root, block);\n      const rng = document.createRange();\n      rng.setStartBefore(br.dom);\n      rng.setEndBefore(br.dom);\n      return rng;\n    };\n    const setup$o = editor => {\n      editor.on('NodeChange', curry(addRootBlocks, editor));\n    };\n\n    const hasClass = checkClassName => node => (' ' + node.attr('class') + ' ').indexOf(checkClassName) !== -1;\n    const replaceMatchWithSpan = (editor, content, cls) => {\n      return function (match) {\n        const args = arguments,\n          index = args[args.length - 2];\n        const prevChar = index > 0 ? content.charAt(index - 1) : '';\n        if (prevChar === '\"') {\n          return match;\n        }\n        if (prevChar === '>') {\n          const findStartTagIndex = content.lastIndexOf('<', index);\n          if (findStartTagIndex !== -1) {\n            const tagHtml = content.substring(findStartTagIndex, index);\n            if (tagHtml.indexOf('contenteditable=\"false\"') !== -1) {\n              return match;\n            }\n          }\n        }\n        return '<span class=\"' + cls + '\" data-mce-content=\"' + editor.dom.encode(args[0]) + '\">' + editor.dom.encode(typeof args[1] === 'string' ? args[1] : args[0]) + '<\/span>';\n      };\n    };\n    const convertRegExpsToNonEditable = (editor, nonEditableRegExps, e) => {\n      let i = nonEditableRegExps.length,\n        content = e.content;\n      if (e.format === 'raw') {\n        return;\n      }\n      while (i--) {\n        content = content.replace(nonEditableRegExps[i], replaceMatchWithSpan(editor, content, getNonEditableClass(editor)));\n      }\n      e.content = content;\n    };\n    const isValidContent = (nonEditableRegExps, content) => {\n      return forall(nonEditableRegExps, re => {\n        const matches = content.match(re);\n        return matches !== null && matches[0].length === content.length;\n      });\n    };\n    const setup$n = editor => {\n      const contentEditableAttrName = 'contenteditable';\n      const editClass = ' ' + Tools.trim(getEditableClass(editor)) + ' ';\n      const nonEditClass = ' ' + Tools.trim(getNonEditableClass(editor)) + ' ';\n      const hasEditClass = hasClass(editClass);\n      const hasNonEditClass = hasClass(nonEditClass);\n      const nonEditableRegExps = getNonEditableRegExps(editor);\n      if (nonEditableRegExps.length > 0) {\n        editor.on('BeforeSetContent', e => {\n          convertRegExpsToNonEditable(editor, nonEditableRegExps, e);\n        });\n      }\n      editor.parser.addAttributeFilter('class', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (hasEditClass(node)) {\n            node.attr(contentEditableAttrName, 'true');\n          } else if (hasNonEditClass(node)) {\n            node.attr(contentEditableAttrName, 'false');\n          }\n        }\n      });\n      editor.serializer.addAttributeFilter(contentEditableAttrName, nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (!hasEditClass(node) && !hasNonEditClass(node)) {\n            continue;\n          }\n          const content = node.attr('data-mce-content');\n          if (nonEditableRegExps.length > 0 && content) {\n            if (isValidContent(nonEditableRegExps, content)) {\n              node.name = '#text';\n              node.type = 3;\n              node.raw = true;\n              node.value = content;\n            } else {\n              node.remove();\n            }\n          } else {\n            node.attr(contentEditableAttrName, null);\n          }\n        }\n      });\n    };\n\n    const findBlockCaretContainer = editor => descendant$1(SugarElement.fromDom(editor.getBody()), '*[data-mce-caret]').map(elm => elm.dom).getOrNull();\n    const showBlockCaretContainer = (editor, blockCaretContainer) => {\n      if (blockCaretContainer.hasAttribute('data-mce-caret')) {\n        showCaretContainerBlock(blockCaretContainer);\n        editor.selection.setRng(editor.selection.getRng());\n        editor.selection.scrollIntoView(blockCaretContainer);\n      }\n    };\n    const handleBlockContainer = (editor, e) => {\n      const blockCaretContainer = findBlockCaretContainer(editor);\n      if (!blockCaretContainer) {\n        return;\n      }\n      if (e.type === 'compositionstart') {\n        e.preventDefault();\n        e.stopPropagation();\n        showBlockCaretContainer(editor, blockCaretContainer);\n        return;\n      }\n      if (hasContent(blockCaretContainer)) {\n        showBlockCaretContainer(editor, blockCaretContainer);\n        editor.undoManager.add();\n      }\n    };\n    const setup$m = editor => {\n      editor.on('keyup compositionstart', curry(handleBlockContainer, editor));\n    };\n\n    const isContentEditableFalse$3 = isContentEditableFalse$b;\n    const moveToCeFalseHorizontally = (direction, editor, range) => moveHorizontally(editor, direction, range, isBeforeContentEditableFalse, isAfterContentEditableFalse, isContentEditableFalse$3);\n    const moveToCeFalseVertically = (direction, editor, range) => {\n      const isBefore = caretPosition => isBeforeContentEditableFalse(caretPosition) || isBeforeTable(caretPosition);\n      const isAfter = caretPosition => isAfterContentEditableFalse(caretPosition) || isAfterTable(caretPosition);\n      return moveVertically(editor, direction, range, isBefore, isAfter, isContentEditableFalse$3);\n    };\n    const createTextBlock = editor => {\n      const textBlock = editor.dom.create(getForcedRootBlock(editor));\n      textBlock.innerHTML = '<br data-mce-bogus=\"1\">';\n      return textBlock;\n    };\n    const exitPreBlock = (editor, direction, range) => {\n      const caretWalker = CaretWalker(editor.getBody());\n      const getVisualCaretPosition$1 = curry(getVisualCaretPosition, direction === 1 ? caretWalker.next : caretWalker.prev);\n      if (range.collapsed) {\n        const pre = editor.dom.getParent(range.startContainer, 'PRE');\n        if (!pre) {\n          return;\n        }\n        const caretPos = getVisualCaretPosition$1(CaretPosition.fromRangeStart(range));\n        if (!caretPos) {\n          const newBlock = SugarElement.fromDom(createTextBlock(editor));\n          if (direction === 1) {\n            after$4(SugarElement.fromDom(pre), newBlock);\n          } else {\n            before$3(SugarElement.fromDom(pre), newBlock);\n          }\n          editor.selection.select(newBlock.dom, true);\n          editor.selection.collapse();\n        }\n      }\n    };\n    const getHorizontalRange = (editor, forward) => {\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const range = editor.selection.getRng();\n      return moveToCeFalseHorizontally(direction, editor, range).orThunk(() => {\n        exitPreBlock(editor, direction, range);\n        return Optional.none();\n      });\n    };\n    const getVerticalRange = (editor, down) => {\n      const direction = down ? 1 : -1;\n      const range = editor.selection.getRng();\n      return moveToCeFalseVertically(direction, editor, range).orThunk(() => {\n        exitPreBlock(editor, direction, range);\n        return Optional.none();\n      });\n    };\n    const flipDirection = (selection, forward) => {\n      const elm = forward ? selection.getEnd(true) : selection.getStart(true);\n      return isRtl(elm) ? !forward : forward;\n    };\n    const moveH$2 = (editor, forward) => getHorizontalRange(editor, flipDirection(editor.selection, forward)).exists(newRange => {\n      moveToRange(editor, newRange);\n      return true;\n    });\n    const moveV$4 = (editor, down) => getVerticalRange(editor, down).exists(newRange => {\n      moveToRange(editor, newRange);\n      return true;\n    });\n    const moveToLineEndPoint$1 = (editor, forward) => {\n      const isCefPosition = forward ? isAfterContentEditableFalse : isBeforeContentEditableFalse;\n      return moveToLineEndPoint$3(editor, forward, isCefPosition);\n    };\n    const selectToEndPoint = (editor, forward) => getEdgeCefPosition(editor, !forward).map(pos => {\n      const rng = pos.toRange();\n      const curRng = editor.selection.getRng();\n      if (forward) {\n        rng.setStart(curRng.startContainer, curRng.startOffset);\n      } else {\n        rng.setEnd(curRng.endContainer, curRng.endOffset);\n      }\n      return rng;\n    }).exists(rng => {\n      moveToRange(editor, rng);\n      return true;\n    });\n\n    const isTarget = node => contains$2(['figcaption'], name(node));\n    const getClosestTargetBlock = (pos, root, schema) => {\n      const isRoot = curry(eq, root);\n      return closest$4(SugarElement.fromDom(pos.container()), el => schema.isBlock(name(el)), isRoot).filter(isTarget);\n    };\n    const isAtFirstOrLastLine = (root, forward, pos) => forward ? isAtLastLine(root.dom, pos) : isAtFirstLine(root.dom, pos);\n    const moveCaretToNewEmptyLine = (editor, forward) => {\n      const root = SugarElement.fromDom(editor.getBody());\n      const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return getClosestTargetBlock(pos, root, editor.schema).exists(() => {\n        if (isAtFirstOrLastLine(root, forward, pos)) {\n          const insertFn = forward ? append$1 : prepend;\n          const rng = insertEmptyLine(editor, root, insertFn);\n          editor.selection.setRng(rng);\n          return true;\n        } else {\n          return false;\n        }\n      });\n    };\n    const moveV$3 = (editor, forward) => {\n      if (editor.selection.isCollapsed()) {\n        return moveCaretToNewEmptyLine(editor, forward);\n      } else {\n        return false;\n      }\n    };\n\n    const moveUp = (editor, details, summary) => {\n      const rng = editor.selection.getRng();\n      const pos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (root.firstChild === details && isAtFirstLine(summary, pos)) {\n        editor.execCommand('InsertNewBlockBefore');\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const moveDown = (editor, details) => {\n      const rng = editor.selection.getRng();\n      const pos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (root.lastChild === details && isAtLastLine(details, pos)) {\n        editor.execCommand('InsertNewBlockAfter');\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const move$2 = (editor, forward) => {\n      if (forward) {\n        return Optional.from(editor.dom.getParent(editor.selection.getNode(), 'details')).map(details => moveDown(editor, details)).getOr(false);\n      } else {\n        return Optional.from(editor.dom.getParent(editor.selection.getNode(), 'summary')).bind(summary => Optional.from(editor.dom.getParent(summary, 'details')).map(details => moveUp(editor, details, summary))).getOr(false);\n      }\n    };\n    const moveV$2 = (editor, forward) => move$2(editor, forward);\n\n    const baseKeyPattern = {\n      shiftKey: false,\n      altKey: false,\n      ctrlKey: false,\n      metaKey: false,\n      keyCode: 0\n    };\n    const defaultPatterns = patterns => map$3(patterns, pattern => ({\n      ...baseKeyPattern,\n      ...pattern\n    }));\n    const defaultDelayedPatterns = patterns => map$3(patterns, pattern => ({\n      ...baseKeyPattern,\n      ...pattern\n    }));\n    const matchesEvent = (pattern, evt) => evt.keyCode === pattern.keyCode && evt.shiftKey === pattern.shiftKey && evt.altKey === pattern.altKey && evt.ctrlKey === pattern.ctrlKey && evt.metaKey === pattern.metaKey;\n    const match$1 = (patterns, evt) => bind$3(defaultPatterns(patterns), pattern => matchesEvent(pattern, evt) ? [pattern] : []);\n    const matchDelayed = (patterns, evt) => bind$3(defaultDelayedPatterns(patterns), pattern => matchesEvent(pattern, evt) ? [pattern] : []);\n    const action = (f, ...x) => () => f.apply(null, x);\n    const execute = (patterns, evt) => find$2(match$1(patterns, evt), pattern => pattern.action());\n    const executeWithDelayedAction = (patterns, evt) => findMap(matchDelayed(patterns, evt), pattern => pattern.action());\n\n    const moveH$1 = (editor, forward) => {\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const range = editor.selection.getRng();\n      return moveHorizontally(editor, direction, range, isBeforeMedia, isAfterMedia, isMedia$2).exists(newRange => {\n        moveToRange(editor, newRange);\n        return true;\n      });\n    };\n    const moveV$1 = (editor, down) => {\n      const direction = down ? 1 : -1;\n      const range = editor.selection.getRng();\n      return moveVertically(editor, direction, range, isBeforeMedia, isAfterMedia, isMedia$2).exists(newRange => {\n        moveToRange(editor, newRange);\n        return true;\n      });\n    };\n    const moveToLineEndPoint = (editor, forward) => {\n      const isNearMedia = forward ? isAfterMedia : isBeforeMedia;\n      return moveToLineEndPoint$3(editor, forward, isNearMedia);\n    };\n\n    const adt = Adt.generate([{\n      none: ['current']\n    }, {\n      first: ['current']\n    }, {\n      middle: ['current', 'target']\n    }, {\n      last: ['current']\n    }]);\n    const none = current => adt.none(current);\n    const CellLocation = {\n      ...adt,\n      none\n    };\n\n    const firstLayer = (scope, selector) => {\n      return filterFirstLayer(scope, selector, always);\n    };\n    const filterFirstLayer = (scope, selector, predicate) => {\n      return bind$3(children$1(scope), x => {\n        if (is$1(x, selector)) {\n          return predicate(x) ? [x] : [];\n        } else {\n          return filterFirstLayer(x, selector, predicate);\n        }\n      });\n    };\n\n    const lookup$1 = (tags, element, isRoot = never) => {\n      if (isRoot(element)) {\n        return Optional.none();\n      }\n      if (contains$2(tags, name(element))) {\n        return Optional.some(element);\n      }\n      const isRootOrUpperTable = elm => is$1(elm, 'table') || isRoot(elm);\n      return ancestor$3(element, tags.join(','), isRootOrUpperTable);\n    };\n    const cell = (element, isRoot) => lookup$1(['td', 'th'], element, isRoot);\n    const cells = ancestor => firstLayer(ancestor, 'th,td');\n    const table = (element, isRoot) => closest$3(element, 'table', isRoot);\n\n    const walk = (all, current, index, direction, isEligible = always) => {\n      const forwards = direction === 1;\n      if (!forwards && index <= 0) {\n        return CellLocation.first(all[0]);\n      } else if (forwards && index >= all.length - 1) {\n        return CellLocation.last(all[all.length - 1]);\n      } else {\n        const newIndex = index + direction;\n        const elem = all[newIndex];\n        return isEligible(elem) ? CellLocation.middle(current, elem) : walk(all, current, newIndex, direction, isEligible);\n      }\n    };\n    const detect = (current, isRoot) => {\n      return table(current, isRoot).bind(table => {\n        const all = cells(table);\n        const index = findIndex$2(all, x => eq(current, x));\n        return index.map(index => ({\n          index,\n          all\n        }));\n      });\n    };\n    const next = (current, isEligible, isRoot) => {\n      const detection = detect(current, isRoot);\n      return detection.fold(() => {\n        return CellLocation.none(current);\n      }, info => {\n        return walk(info.all, current, info.index, 1, isEligible);\n      });\n    };\n    const prev = (current, isEligible, isRoot) => {\n      const detection = detect(current, isRoot);\n      return detection.fold(() => {\n        return CellLocation.none();\n      }, info => {\n        return walk(info.all, current, info.index, -1, isEligible);\n      });\n    };\n\n    const deflate = (rect, delta) => ({\n      left: rect.left - delta,\n      top: rect.top - delta,\n      right: rect.right + delta * 2,\n      bottom: rect.bottom + delta * 2,\n      width: rect.width + delta,\n      height: rect.height + delta\n    });\n    const getCorners = (getYAxisValue, tds) => bind$3(tds, td => {\n      const rect = deflate(clone$1(td.getBoundingClientRect()), -1);\n      return [{\n        x: rect.left,\n        y: getYAxisValue(rect),\n        cell: td\n      }, {\n        x: rect.right,\n        y: getYAxisValue(rect),\n        cell: td\n      }];\n    });\n    const findClosestCorner = (corners, x, y) => foldl(corners, (acc, newCorner) => acc.fold(() => Optional.some(newCorner), oldCorner => {\n      const oldDist = Math.sqrt(Math.abs(oldCorner.x - x) + Math.abs(oldCorner.y - y));\n      const newDist = Math.sqrt(Math.abs(newCorner.x - x) + Math.abs(newCorner.y - y));\n      return Optional.some(newDist < oldDist ? newCorner : oldCorner);\n    }), Optional.none());\n    const getClosestCell = (getYAxisValue, isTargetCorner, table, x, y) => {\n      const cells = descendants(SugarElement.fromDom(table), 'td,th,caption').map(e => e.dom);\n      const corners = filter$5(getCorners(getYAxisValue, cells), corner => isTargetCorner(corner, y));\n      return findClosestCorner(corners, x, y).map(corner => corner.cell);\n    };\n    const getBottomValue = rect => rect.bottom;\n    const getTopValue = rect => rect.top;\n    const isAbove = (corner, y) => corner.y < y;\n    const isBelow = (corner, y) => corner.y > y;\n    const getClosestCellAbove = curry(getClosestCell, getBottomValue, isAbove);\n    const getClosestCellBelow = curry(getClosestCell, getTopValue, isBelow);\n    const findClosestPositionInAboveCell = (table, pos) => head(pos.getClientRects()).bind(rect => getClosestCellAbove(table, rect.left, rect.top)).bind(cell => findClosestHorizontalPosition(getLastLinePositions(cell), pos));\n    const findClosestPositionInBelowCell = (table, pos) => last$3(pos.getClientRects()).bind(rect => getClosestCellBelow(table, rect.left, rect.top)).bind(cell => findClosestHorizontalPosition(getFirstLinePositions(cell), pos));\n\n    const hasNextBreak = (getPositionsUntil, scope, lineInfo) => lineInfo.breakAt.exists(breakPos => getPositionsUntil(scope, breakPos).breakAt.isSome());\n    const startsWithWrapBreak = lineInfo => lineInfo.breakType === BreakType.Wrap && lineInfo.positions.length === 0;\n    const startsWithBrBreak = lineInfo => lineInfo.breakType === BreakType.Br && lineInfo.positions.length === 1;\n    const isAtTableCellLine = (getPositionsUntil, scope, pos) => {\n      const lineInfo = getPositionsUntil(scope, pos);\n      if (startsWithWrapBreak(lineInfo) || !isBr$6(pos.getNode()) && startsWithBrBreak(lineInfo)) {\n        return !hasNextBreak(getPositionsUntil, scope, lineInfo);\n      } else {\n        return lineInfo.breakAt.isNone();\n      }\n    };\n    const isAtFirstTableCellLine = curry(isAtTableCellLine, getPositionsUntilPreviousLine);\n    const isAtLastTableCellLine = curry(isAtTableCellLine, getPositionsUntilNextLine);\n    const isCaretAtStartOrEndOfTable = (forward, rng, table) => {\n      const caretPos = CaretPosition.fromRangeStart(rng);\n      return positionIn(!forward, table).exists(pos => pos.isEqual(caretPos));\n    };\n    const navigateHorizontally = (editor, forward, table, _td) => {\n      const rng = editor.selection.getRng();\n      const direction = forward ? 1 : -1;\n      if (isFakeCaretTableBrowser() && isCaretAtStartOrEndOfTable(forward, rng, table)) {\n        showCaret(direction, editor, table, !forward, false).each(newRng => {\n          moveToRange(editor, newRng);\n        });\n        return true;\n      }\n      return false;\n    };\n    const getClosestAbovePosition = (root, table, start) => findClosestPositionInAboveCell(table, start).orThunk(() => head(start.getClientRects()).bind(rect => findClosestHorizontalPositionFromPoint(getPositionsAbove(root, CaretPosition.before(table)), rect.left))).getOr(CaretPosition.before(table));\n    const getClosestBelowPosition = (root, table, start) => findClosestPositionInBelowCell(table, start).orThunk(() => head(start.getClientRects()).bind(rect => findClosestHorizontalPositionFromPoint(getPositionsBelow(root, CaretPosition.after(table)), rect.left))).getOr(CaretPosition.after(table));\n    const getTable = (previous, pos) => {\n      const node = pos.getNode(previous);\n      return isTable$2(node) ? Optional.some(node) : Optional.none();\n    };\n    const renderBlock = (down, editor, table) => {\n      editor.undoManager.transact(() => {\n        const insertFn = down ? after$4 : before$3;\n        const rng = insertEmptyLine(editor, SugarElement.fromDom(table), insertFn);\n        moveToRange(editor, rng);\n      });\n    };\n    const moveCaret = (editor, down, pos) => {\n      const table = down ? getTable(true, pos) : getTable(false, pos);\n      const last = down === false;\n      table.fold(() => moveToRange(editor, pos.toRange()), table => positionIn(last, editor.getBody()).filter(lastPos => lastPos.isEqual(pos)).fold(() => moveToRange(editor, pos.toRange()), _ => renderBlock(down, editor, table)));\n    };\n    const navigateVertically = (editor, down, table, td) => {\n      const rng = editor.selection.getRng();\n      const pos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (!down && isAtFirstTableCellLine(td, pos)) {\n        const newPos = getClosestAbovePosition(root, table, pos);\n        moveCaret(editor, down, newPos);\n        return true;\n      } else if (down && isAtLastTableCellLine(td, pos)) {\n        const newPos = getClosestBelowPosition(root, table, pos);\n        moveCaret(editor, down, newPos);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const move$1 = (editor, forward, mover) => Optional.from(editor.dom.getParent(editor.selection.getNode(), 'td,th')).bind(td => Optional.from(editor.dom.getParent(td, 'table')).map(table => mover(editor, forward, table, td))).getOr(false);\n    const moveH = (editor, forward) => move$1(editor, forward, navigateHorizontally);\n    const moveV = (editor, forward) => move$1(editor, forward, navigateVertically);\n    const getCellFirstCursorPosition = cell => {\n      const selection = SimSelection.exact(cell, 0, cell, 0);\n      return toNative(selection);\n    };\n    const tabGo = (editor, isRoot, cell) => {\n      return cell.fold(Optional.none, Optional.none, (_current, next) => {\n        return first(next).map(cell => {\n          return getCellFirstCursorPosition(cell);\n        });\n      }, current => {\n        editor.execCommand('mceTableInsertRowAfter');\n        return tabForward(editor, isRoot, current);\n      });\n    };\n    const tabForward = (editor, isRoot, cell) => tabGo(editor, isRoot, next(cell, isEditable$2));\n    const tabBackward = (editor, isRoot, cell) => tabGo(editor, isRoot, prev(cell, isEditable$2));\n    const handleTab = (editor, forward) => {\n      const rootElements = ['table', 'li', 'dl'];\n      const body = SugarElement.fromDom(editor.getBody());\n      const isRoot = element => {\n        const name$1 = name(element);\n        return eq(element, body) || contains$2(rootElements, name$1);\n      };\n      const rng = editor.selection.getRng();\n      const container = SugarElement.fromDom(!forward ? rng.startContainer : rng.endContainer);\n      return cell(container, isRoot).map(cell => {\n        table(cell, isRoot).each(table => {\n          editor.model.table.clearSelectedCells(table.dom);\n        });\n        editor.selection.collapse(!forward);\n        const navigation = !forward ? tabBackward : tabForward;\n        const rng = navigation(editor, isRoot, cell);\n        rng.each(range => {\n          editor.selection.setRng(range);\n        });\n        return true;\n      }).getOr(false);\n    };\n\n    const executeKeydownOverride$4 = (editor, caret, evt) => {\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      execute([{\n        keyCode: VK.RIGHT,\n        action: action(moveH$2, editor, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(moveH$2, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$4, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$4, editor, true)\n      }, ...(isMac ? [{\n        keyCode: VK.UP,\n        action: action(selectToEndPoint, editor, false),\n        metaKey: true,\n        shiftKey: true\n      }, {\n        keyCode: VK.DOWN,\n        action: action(selectToEndPoint, editor, true),\n        metaKey: true,\n        shiftKey: true\n      }] : []), {\n        keyCode: VK.RIGHT,\n        action: action(moveH, editor, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(moveH, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV, editor, true)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$2, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$2, editor, true)\n      }, {\n        keyCode: VK.RIGHT,\n        action: action(moveH$1, editor, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(moveH$1, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$1, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$1, editor, true)\n      }, {\n        keyCode: VK.RIGHT,\n        action: action(move$3, editor, caret, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(move$3, editor, caret, false)\n      }, {\n        keyCode: VK.RIGHT,\n        ctrlKey: !isMac,\n        altKey: isMac,\n        action: action(moveNextWord, editor, caret)\n      }, {\n        keyCode: VK.LEFT,\n        ctrlKey: !isMac,\n        altKey: isMac,\n        action: action(movePrevWord, editor, caret)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$3, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$3, editor, true)\n      }], evt).each(_ => {\n        evt.preventDefault();\n      });\n    };\n    const setup$l = (editor, caret) => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$4(editor, caret, evt);\n        }\n      });\n    };\n\n    const point = (container, offset) => ({\n      container,\n      offset\n    });\n\n    const DOM$7 = DOMUtils.DOM;\n    const alwaysNext = startNode => node => startNode === node ? -1 : 0;\n    const isBoundary = dom => node => dom.isBlock(node) || contains$2(['BR', 'IMG', 'HR', 'INPUT'], node.nodeName) || dom.getContentEditable(node) === 'false';\n    const textBefore = (node, offset, rootNode) => {\n      if (isText$a(node) && offset >= 0) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.backwards(node, offset, alwaysNext(node), rootNode)).map(prev => point(prev.container, prev.container.data.length));\n      }\n    };\n    const textAfter = (node, offset, rootNode) => {\n      if (isText$a(node) && offset >= node.length) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.forwards(node, offset, alwaysNext(node), rootNode)).map(prev => point(prev.container, 0));\n      }\n    };\n    const scanLeft = (node, offset, rootNode) => {\n      if (!isText$a(node)) {\n        return Optional.none();\n      }\n      const text = node.data;\n      if (offset >= 0 && offset <= text.length) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.backwards(node, offset, alwaysNext(node), rootNode)).bind(prev => {\n          const prevText = prev.container.data;\n          return scanLeft(prev.container, offset + prevText.length, rootNode);\n        });\n      }\n    };\n    const scanRight = (node, offset, rootNode) => {\n      if (!isText$a(node)) {\n        return Optional.none();\n      }\n      const text = node.data;\n      if (offset <= text.length) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.forwards(node, offset, alwaysNext(node), rootNode)).bind(next => scanRight(next.container, offset - text.length, rootNode));\n      }\n    };\n    const repeatLeft = (dom, node, offset, process, rootNode) => {\n      const search = TextSeeker(dom, isBoundary(dom));\n      return Optional.from(search.backwards(node, offset, process, rootNode));\n    };\n\n    const isValidTextRange = rng => rng.collapsed && isText$a(rng.startContainer);\n    const getText = rng => trim$2(rng.toString().replace(/\\u00A0/g, ' '));\n    const isWhitespace = chr => chr !== '' && ' \\xA0\\f\\n\\r\\t\\x0B'.indexOf(chr) !== -1;\n\n    const stripTrigger = (text, trigger) => text.substring(trigger.length);\n    const findTrigger = (text, index, trigger) => {\n      let i;\n      const firstChar = trigger.charAt(0);\n      for (i = index - 1; i >= 0; i--) {\n        const char = text.charAt(i);\n        if (isWhitespace(char)) {\n          return Optional.none();\n        }\n        if (firstChar === char && contains$1(text, trigger, i, index)) {\n          break;\n        }\n      }\n      return Optional.some(i);\n    };\n    const findStart = (dom, initRange, trigger, minChars = 0) => {\n      if (!isValidTextRange(initRange)) {\n        return Optional.none();\n      }\n      const buffer = {\n        text: '',\n        offset: 0\n      };\n      const findTriggerIndex = (element, offset, text) => {\n        buffer.text = text + buffer.text;\n        buffer.offset += offset;\n        return findTrigger(buffer.text, buffer.offset, trigger).getOr(offset);\n      };\n      const root = dom.getParent(initRange.startContainer, dom.isBlock) || dom.getRoot();\n      return repeatLeft(dom, initRange.startContainer, initRange.startOffset, findTriggerIndex, root).bind(spot => {\n        const range = initRange.cloneRange();\n        range.setStart(spot.container, spot.offset);\n        range.setEnd(initRange.endContainer, initRange.endOffset);\n        if (range.collapsed) {\n          return Optional.none();\n        }\n        const text = getText(range);\n        const triggerIndex = text.lastIndexOf(trigger);\n        if (triggerIndex !== 0 || stripTrigger(text, trigger).length < minChars) {\n          return Optional.none();\n        } else {\n          return Optional.some({\n            text: stripTrigger(text, trigger),\n            range,\n            trigger\n          });\n        }\n      });\n    };\n    const getContext = (dom, initRange, trigger, minChars = 0) => detect$1(SugarElement.fromDom(initRange.startContainer)).fold(() => findStart(dom, initRange, trigger, minChars), elm => {\n      const range = dom.createRng();\n      range.selectNode(elm.dom);\n      const text = getText(range);\n      return Optional.some({\n        range,\n        text: stripTrigger(text, trigger),\n        trigger\n      });\n    });\n\n    const isText$1 = node => node.nodeType === TEXT;\n    const isElement = node => node.nodeType === ELEMENT;\n    const toLast = node => {\n      if (isText$1(node)) {\n        return point(node, node.data.length);\n      } else {\n        const children = node.childNodes;\n        return children.length > 0 ? toLast(children[children.length - 1]) : point(node, children.length);\n      }\n    };\n    const toLeaf = (node, offset) => {\n      const children = node.childNodes;\n      if (children.length > 0 && offset < children.length) {\n        return toLeaf(children[offset], 0);\n      } else if (children.length > 0 && isElement(node) && children.length === offset) {\n        return toLast(children[children.length - 1]);\n      } else {\n        return point(node, offset);\n      }\n    };\n\n    const isPreviousCharContent = (dom, leaf) => {\n      var _a;\n      const root = (_a = dom.getParent(leaf.container, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      return repeatLeft(dom, leaf.container, leaf.offset, (_element, offset) => offset === 0 ? -1 : offset, root).filter(spot => {\n        const char = spot.container.data.charAt(spot.offset - 1);\n        return !isWhitespace(char);\n      }).isSome();\n    };\n    const isStartOfWord = dom => rng => {\n      const leaf = toLeaf(rng.startContainer, rng.startOffset);\n      return !isPreviousCharContent(dom, leaf);\n    };\n    const getTriggerContext = (dom, initRange, database) => findMap(database.triggers, trigger => getContext(dom, initRange, trigger));\n    const lookup = (editor, getDatabase) => {\n      const database = getDatabase();\n      const rng = editor.selection.getRng();\n      return getTriggerContext(editor.dom, rng, database).bind(context => lookupWithContext(editor, getDatabase, context));\n    };\n    const lookupWithContext = (editor, getDatabase, context, fetchOptions = {}) => {\n      var _a;\n      const database = getDatabase();\n      const rng = editor.selection.getRng();\n      const startText = (_a = rng.startContainer.nodeValue) !== null && _a !== void 0 ? _a : '';\n      const autocompleters = filter$5(database.lookupByTrigger(context.trigger), autocompleter => context.text.length >= autocompleter.minChars && autocompleter.matches.getOrThunk(() => isStartOfWord(editor.dom))(context.range, startText, context.text));\n      if (autocompleters.length === 0) {\n        return Optional.none();\n      }\n      const lookupData = Promise.all(map$3(autocompleters, ac => {\n        const fetchResult = ac.fetch(context.text, ac.maxResults, fetchOptions);\n        return fetchResult.then(results => ({\n          matchText: context.text,\n          items: results,\n          columns: ac.columns,\n          onAction: ac.onAction,\n          highlightOn: ac.highlightOn\n        }));\n      }));\n      return Optional.some({\n        lookupData,\n        context\n      });\n    };\n\n    var SimpleResultType;\n    (function (SimpleResultType) {\n      SimpleResultType[SimpleResultType['Error'] = 0] = 'Error';\n      SimpleResultType[SimpleResultType['Value'] = 1] = 'Value';\n    })(SimpleResultType || (SimpleResultType = {}));\n    const fold$1 = (res, onError, onValue) => res.stype === SimpleResultType.Error ? onError(res.serror) : onValue(res.svalue);\n    const partition = results => {\n      const values = [];\n      const errors = [];\n      each$e(results, obj => {\n        fold$1(obj, err => errors.push(err), val => values.push(val));\n      });\n      return {\n        values,\n        errors\n      };\n    };\n    const mapError = (res, f) => {\n      if (res.stype === SimpleResultType.Error) {\n        return {\n          stype: SimpleResultType.Error,\n          serror: f(res.serror)\n        };\n      } else {\n        return res;\n      }\n    };\n    const map = (res, f) => {\n      if (res.stype === SimpleResultType.Value) {\n        return {\n          stype: SimpleResultType.Value,\n          svalue: f(res.svalue)\n        };\n      } else {\n        return res;\n      }\n    };\n    const bind$1 = (res, f) => {\n      if (res.stype === SimpleResultType.Value) {\n        return f(res.svalue);\n      } else {\n        return res;\n      }\n    };\n    const bindError = (res, f) => {\n      if (res.stype === SimpleResultType.Error) {\n        return f(res.serror);\n      } else {\n        return res;\n      }\n    };\n    const svalue = v => ({\n      stype: SimpleResultType.Value,\n      svalue: v\n    });\n    const serror = e => ({\n      stype: SimpleResultType.Error,\n      serror: e\n    });\n    const toResult = res => fold$1(res, Result.error, Result.value);\n    const fromResult = res => res.fold(serror, svalue);\n    const SimpleResult = {\n      fromResult,\n      toResult,\n      svalue,\n      partition,\n      serror,\n      bind: bind$1,\n      bindError,\n      map,\n      mapError,\n      fold: fold$1\n    };\n\n    const formatObj = input => {\n      return isObject(input) && keys(input).length > 100 ? ' removed due to size' : JSON.stringify(input, null, 2);\n    };\n    const formatErrors = errors => {\n      const es = errors.length > 10 ? errors.slice(0, 10).concat([{\n        path: [],\n        getErrorInfo: constant('... (only showing first ten failures)')\n      }]) : errors;\n      return map$3(es, e => {\n        return 'Failed path: (' + e.path.join(' > ') + ')\\n' + e.getErrorInfo();\n      });\n    };\n\n    const nu = (path, getErrorInfo) => {\n      return SimpleResult.serror([{\n        path,\n        getErrorInfo\n      }]);\n    };\n    const missingRequired = (path, key, obj) => nu(path, () => 'Could not find valid *required* value for \"' + key + '\" in ' + formatObj(obj));\n    const missingKey = (path, key) => nu(path, () => 'Choice schema did not contain choice key: \"' + key + '\"');\n    const missingBranch = (path, branches, branch) => nu(path, () => 'The chosen schema: \"' + branch + '\" did not exist in branches: ' + formatObj(branches));\n    const custom = (path, err) => nu(path, constant(err));\n\n    const chooseFrom = (path, input, branches, ch) => {\n      const fields = get$a(branches, ch);\n      return fields.fold(() => missingBranch(path, branches, ch), vp => vp.extract(path.concat(['branch: ' + ch]), input));\n    };\n    const choose$1 = (key, branches) => {\n      const extract = (path, input) => {\n        const choice = get$a(input, key);\n        return choice.fold(() => missingKey(path, key), chosen => chooseFrom(path, input, branches, chosen));\n      };\n      const toString = () => 'chooseOn(' + key + '). Possible values: ' + keys(branches);\n      return {\n        extract,\n        toString\n      };\n    };\n\n    const shallow = (old, nu) => {\n      return nu;\n    };\n    const deep = (old, nu) => {\n      const bothObjects = isPlainObject(old) && isPlainObject(nu);\n      return bothObjects ? deepMerge(old, nu) : nu;\n    };\n    const baseMerge = merger => {\n      return (...objects) => {\n        if (objects.length === 0) {\n          throw new Error(\"Can't merge zero objects\");\n        }\n        const ret = {};\n        for (let j = 0; j < objects.length; j++) {\n          const curObject = objects[j];\n          for (const key in curObject) {\n            if (has$2(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    const deepMerge = baseMerge(deep);\n    const merge = baseMerge(shallow);\n\n    const required = () => ({\n      tag: 'required',\n      process: {}\n    });\n    const defaultedThunk = fallbackThunk => ({\n      tag: 'defaultedThunk',\n      process: fallbackThunk\n    });\n    const defaulted$1 = fallback => defaultedThunk(constant(fallback));\n    const asOption = () => ({\n      tag: 'option',\n      process: {}\n    });\n\n    const mergeValues = (values, base) => values.length > 0 ? SimpleResult.svalue(deepMerge(base, merge.apply(undefined, values))) : SimpleResult.svalue(base);\n    const mergeErrors = errors => compose(SimpleResult.serror, flatten)(errors);\n    const consolidateObj = (objects, base) => {\n      const partition = SimpleResult.partition(objects);\n      return partition.errors.length > 0 ? mergeErrors(partition.errors) : mergeValues(partition.values, base);\n    };\n    const consolidateArr = objects => {\n      const partitions = SimpleResult.partition(objects);\n      return partitions.errors.length > 0 ? mergeErrors(partitions.errors) : SimpleResult.svalue(partitions.values);\n    };\n    const ResultCombine = {\n      consolidateObj,\n      consolidateArr\n    };\n\n    const field$1 = (key, newKey, presence, prop) => ({\n      tag: 'field',\n      key,\n      newKey,\n      presence,\n      prop\n    });\n    const customField$1 = (newKey, instantiator) => ({\n      tag: 'custom',\n      newKey,\n      instantiator\n    });\n    const fold = (value, ifField, ifCustom) => {\n      switch (value.tag) {\n        case 'field':\n          return ifField(value.key, value.newKey, value.presence, value.prop);\n        case 'custom':\n          return ifCustom(value.newKey, value.instantiator);\n      }\n    };\n\n    const value = validator => {\n      const extract = (path, val) => {\n        return SimpleResult.bindError(validator(val), err => custom(path, err));\n      };\n      const toString = constant('val');\n      return {\n        extract,\n        toString\n      };\n    };\n    const anyValue$1 = value(SimpleResult.svalue);\n\n    const requiredAccess = (path, obj, key, bundle) => get$a(obj, key).fold(() => missingRequired(path, key, obj), bundle);\n    const fallbackAccess = (obj, key, fallback, bundle) => {\n      const v = get$a(obj, key).getOrThunk(() => fallback(obj));\n      return bundle(v);\n    };\n    const optionAccess = (obj, key, bundle) => bundle(get$a(obj, key));\n    const optionDefaultedAccess = (obj, key, fallback, bundle) => {\n      const opt = get$a(obj, key).map(val => val === true ? fallback(obj) : val);\n      return bundle(opt);\n    };\n    const extractField = (field, path, obj, key, prop) => {\n      const bundle = av => prop.extract(path.concat([key]), av);\n      const bundleAsOption = optValue => optValue.fold(() => SimpleResult.svalue(Optional.none()), ov => {\n        const result = prop.extract(path.concat([key]), ov);\n        return SimpleResult.map(result, Optional.some);\n      });\n      switch (field.tag) {\n        case 'required':\n          return requiredAccess(path, obj, key, bundle);\n        case 'defaultedThunk':\n          return fallbackAccess(obj, key, field.process, bundle);\n        case 'option':\n          return optionAccess(obj, key, bundleAsOption);\n        case 'defaultedOptionThunk':\n          return optionDefaultedAccess(obj, key, field.process, bundleAsOption);\n        case 'mergeWithThunk':\n          {\n            return fallbackAccess(obj, key, constant({}), v => {\n              const result = deepMerge(field.process(obj), v);\n              return bundle(result);\n            });\n          }\n      }\n    };\n    const extractFields = (path, obj, fields) => {\n      const success = {};\n      const errors = [];\n      for (const field of fields) {\n        fold(field, (key, newKey, presence, prop) => {\n          const result = extractField(presence, path, obj, key, prop);\n          SimpleResult.fold(result, err => {\n            errors.push(...err);\n          }, res => {\n            success[newKey] = res;\n          });\n        }, (newKey, instantiator) => {\n          success[newKey] = instantiator(obj);\n        });\n      }\n      return errors.length > 0 ? SimpleResult.serror(errors) : SimpleResult.svalue(success);\n    };\n    const objOf = values => {\n      const extract = (path, o) => extractFields(path, o, values);\n      const toString = () => {\n        const fieldStrings = map$3(values, value => fold(value, (key, _okey, _presence, prop) => key + ' -> ' + prop.toString(), (newKey, _instantiator) => 'state(' + newKey + ')'));\n        return 'obj{\\n' + fieldStrings.join('\\n') + '}';\n      };\n      return {\n        extract,\n        toString\n      };\n    };\n    const arrOf = prop => {\n      const extract = (path, array) => {\n        const results = map$3(array, (a, i) => prop.extract(path.concat(['[' + i + ']']), a));\n        return ResultCombine.consolidateArr(results);\n      };\n      const toString = () => 'array(' + prop.toString() + ')';\n      return {\n        extract,\n        toString\n      };\n    };\n\n    const valueOf = validator => value(v => validator(v).fold(SimpleResult.serror, SimpleResult.svalue));\n    const extractValue = (label, prop, obj) => {\n      const res = prop.extract([label], obj);\n      return SimpleResult.mapError(res, errs => ({\n        input: obj,\n        errors: errs\n      }));\n    };\n    const asRaw = (label, prop, obj) => SimpleResult.toResult(extractValue(label, prop, obj));\n    const formatError = errInfo => {\n      return 'Errors: \\n' + formatErrors(errInfo.errors).join('\\n') + '\\n\\nInput object: ' + formatObj(errInfo.input);\n    };\n    const choose = (key, branches) => choose$1(key, map$2(branches, objOf));\n\n    const anyValue = constant(anyValue$1);\n    const typedValue = (validator, expectedType) => value(a => {\n      const actualType = typeof a;\n      return validator(a) ? SimpleResult.svalue(a) : SimpleResult.serror(\"Expected type: \".concat(expectedType, \" but got: \").concat(actualType));\n    });\n    const number = typedValue(isNumber, 'number');\n    const string = typedValue(isString, 'string');\n    const boolean = typedValue(isBoolean, 'boolean');\n    const functionProcessor = typedValue(isFunction, 'function');\n\n    const field = field$1;\n    const customField = customField$1;\n    const validateEnum = values => valueOf(value => contains$2(values, value) ? Result.value(value) : Result.error(\"Unsupported value: \\\"\".concat(value, \"\\\", choose one of \\\"\").concat(values.join(', '), \"\\\".\")));\n    const requiredOf = (key, schema) => field(key, key, required(), schema);\n    const requiredString = key => requiredOf(key, string);\n    const requiredFunction = key => requiredOf(key, functionProcessor);\n    const requiredArrayOf = (key, schema) => field(key, key, required(), arrOf(schema));\n    const optionOf = (key, schema) => field(key, key, asOption(), schema);\n    const optionString = key => optionOf(key, string);\n    const optionFunction = key => optionOf(key, functionProcessor);\n    const defaulted = (key, fallback) => field(key, key, defaulted$1(fallback), anyValue());\n    const defaultedOf = (key, fallback, schema) => field(key, key, defaulted$1(fallback), schema);\n    const defaultedNumber = (key, fallback) => defaultedOf(key, fallback, number);\n    const defaultedString = (key, fallback) => defaultedOf(key, fallback, string);\n    const defaultedStringEnum = (key, fallback, values) => defaultedOf(key, fallback, validateEnum(values));\n    const defaultedBoolean = (key, fallback) => defaultedOf(key, fallback, boolean);\n    const defaultedFunction = (key, fallback) => defaultedOf(key, fallback, functionProcessor);\n    const defaultedArrayOf = (key, fallback, schema) => defaultedOf(key, fallback, arrOf(schema));\n\n    const type = requiredString('type');\n    const fetch$1 = requiredFunction('fetch');\n    const onAction = requiredFunction('onAction');\n    const onSetup = defaultedFunction('onSetup', () => noop);\n    const optionalText = optionString('text');\n    const optionalIcon = optionString('icon');\n    const optionalTooltip = optionString('tooltip');\n    const optionalLabel = optionString('label');\n    const active = defaultedBoolean('active', false);\n    const enabled = defaultedBoolean('enabled', true);\n    const primary = defaultedBoolean('primary', false);\n    const defaultedColumns = num => defaulted('columns', num);\n    const defaultedType = type => defaultedString('type', type);\n\n    const autocompleterSchema = objOf([type, requiredString('trigger'), defaultedNumber('minChars', 1), defaultedColumns(1), defaultedNumber('maxResults', 10), optionFunction('matches'), fetch$1, onAction, defaultedArrayOf('highlightOn', [], string)]);\n    const createAutocompleter = spec => asRaw('Autocompleter', autocompleterSchema, {\n      trigger: spec.ch,\n      ...spec\n    });\n\n    const baseToolbarButtonFields = [enabled, optionalTooltip, optionalIcon, optionalText, onSetup];\n\n    const baseToolbarToggleButtonFields = [active].concat(baseToolbarButtonFields);\n\n    const contextBarFields = [defaultedFunction('predicate', never), defaultedStringEnum('scope', 'node', ['node', 'editor']), defaultedStringEnum('position', 'selection', ['node', 'selection', 'line'])];\n\n    const contextButtonFields = baseToolbarButtonFields.concat([defaultedType('contextformbutton'), primary, onAction, customField('original', identity)]);\n    const contextToggleButtonFields = baseToolbarToggleButtonFields.concat([defaultedType('contextformbutton'), primary, onAction, customField('original', identity)]);\n    const launchButtonFields = baseToolbarButtonFields.concat([defaultedType('contextformbutton')]);\n    const launchToggleButtonFields = baseToolbarToggleButtonFields.concat([defaultedType('contextformtogglebutton')]);\n    const toggleOrNormal = choose('type', {\n      contextformbutton: contextButtonFields,\n      contextformtogglebutton: contextToggleButtonFields\n    });\n    objOf([defaultedType('contextform'), defaultedFunction('initValue', constant('')), optionalLabel, requiredArrayOf('commands', toggleOrNormal), optionOf('launch', choose('type', {\n      contextformbutton: launchButtonFields,\n      contextformtogglebutton: launchToggleButtonFields\n    }))].concat(contextBarFields));\n\n    const register$2 = editor => {\n      const popups = editor.ui.registry.getAll().popups;\n      const dataset = map$2(popups, popup => createAutocompleter(popup).fold(err => {\n        throw new Error(formatError(err));\n      }, identity));\n      const triggers = stringArray(mapToArray(dataset, v => v.trigger));\n      const datasetValues = values(dataset);\n      const lookupByTrigger = trigger => filter$5(datasetValues, dv => dv.trigger === trigger);\n      return {\n        dataset,\n        triggers,\n        lookupByTrigger\n      };\n    };\n\n    const setupEditorInput = (editor, api) => {\n      const update = last$1(api.load, 50);\n      editor.on('keypress compositionend', e => {\n        if (e.which === 27) {\n          return;\n        }\n        update.throttle();\n      });\n      editor.on('keydown', e => {\n        const keyCode = e.which;\n        if (keyCode === 8) {\n          update.throttle();\n        } else if (keyCode === 27) {\n          api.cancelIfNecessary();\n        }\n      });\n      editor.on('remove', update.cancel);\n    };\n    const setup$k = editor => {\n      const activeAutocompleter = value$2();\n      const uiActive = Cell(false);\n      const isActive = activeAutocompleter.isSet;\n      const cancelIfNecessary = () => {\n        if (isActive()) {\n          removeAutocompleterDecoration(editor);\n          fireAutocompleterEnd(editor);\n          uiActive.set(false);\n          activeAutocompleter.clear();\n        }\n      };\n      const commenceIfNecessary = context => {\n        if (!isActive()) {\n          addAutocompleterDecoration(editor, context.range);\n          activeAutocompleter.set({\n            trigger: context.trigger,\n            matchLength: context.text.length\n          });\n        }\n      };\n      const getAutocompleters = cached(() => register$2(editor));\n      const doLookup = fetchOptions => activeAutocompleter.get().map(ac => getContext(editor.dom, editor.selection.getRng(), ac.trigger).bind(newContext => lookupWithContext(editor, getAutocompleters, newContext, fetchOptions))).getOrThunk(() => lookup(editor, getAutocompleters));\n      const load = fetchOptions => {\n        doLookup(fetchOptions).fold(cancelIfNecessary, lookupInfo => {\n          commenceIfNecessary(lookupInfo.context);\n          lookupInfo.lookupData.then(lookupData => {\n            activeAutocompleter.get().map(ac => {\n              const context = lookupInfo.context;\n              if (ac.trigger === context.trigger) {\n                if (context.text.length - ac.matchLength >= 10) {\n                  cancelIfNecessary();\n                } else {\n                  activeAutocompleter.set({\n                    ...ac,\n                    matchLength: context.text.length\n                  });\n                  if (uiActive.get()) {\n                    fireAutocompleterUpdate(editor, {\n                      lookupData\n                    });\n                  } else {\n                    uiActive.set(true);\n                    fireAutocompleterStart(editor, {\n                      lookupData\n                    });\n                  }\n                }\n              }\n            });\n          });\n        });\n      };\n      editor.addCommand('mceAutocompleterReload', (_ui, value) => {\n        const fetchOptions = isObject(value) ? value.fetchOptions : {};\n        load(fetchOptions);\n      });\n      editor.addCommand('mceAutocompleterClose', cancelIfNecessary);\n      setupEditorInput(editor, {\n        cancelIfNecessary,\n        load\n      });\n    };\n\n    const browser$1 = detect$2().browser;\n    const isSafari = browser$1.isSafari();\n    const emptyNodeContents = node => fillWithPaddingBr(SugarElement.fromDom(node));\n    const isEntireNodeSelected = (rng, node) => {\n      var _a;\n      return rng.startOffset === 0 && rng.endOffset === ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.length);\n    };\n    const getParentDetailsElementAtPos = (dom, pos) => Optional.from(dom.getParent(pos.container(), 'details'));\n    const isInDetailsElement = (dom, pos) => getParentDetailsElementAtPos(dom, pos).isSome();\n    const getDetailsElements = (dom, rng) => {\n      const startDetails = Optional.from(dom.getParent(rng.startContainer, 'details'));\n      const endDetails = Optional.from(dom.getParent(rng.endContainer, 'details'));\n      if (startDetails.isSome() || endDetails.isSome()) {\n        const startSummary = startDetails.bind(details => Optional.from(dom.select('summary', details)[0]));\n        return Optional.some({\n          startSummary,\n          startDetails,\n          endDetails\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const isCaretInTheBeginningOf = (caretPos, element) => firstPositionIn(element).exists(pos => pos.isEqual(caretPos));\n    const isCaretInTheEndOf = (caretPos, element) => {\n      return lastPositionIn(element).exists(pos => {\n        if (isBr$6(pos.getNode())) {\n          return prevPosition(element, pos).exists(pos2 => pos2.isEqual(caretPos)) || pos.isEqual(caretPos);\n        } else {\n          return pos.isEqual(caretPos);\n        }\n      });\n    };\n    const isCaretAtStartOfSummary = (caretPos, detailsElements) => detailsElements.startSummary.exists(summary => isCaretInTheBeginningOf(caretPos, summary));\n    const isCaretAtEndOfSummary = (caretPos, detailsElements) => detailsElements.startSummary.exists(summary => isCaretInTheEndOf(caretPos, summary));\n    const isCaretInFirstPositionInBody = (caretPos, detailsElements) => detailsElements.startDetails.exists(details => prevPosition(details, caretPos).forall(pos => detailsElements.startSummary.exists(summary => !summary.contains(caretPos.container()) && summary.contains(pos.container()))));\n    const isCaretInLastPositionInBody = (root, caretPos, detailsElements) => detailsElements.startDetails.exists(details => nextPosition(root, caretPos).forall(pos => !details.contains(pos.container())));\n    const setCaretToPosition = (editor, position) => {\n      const node = position.getNode();\n      if (!isUndefined(node)) {\n        editor.selection.setCursorLocation(node, position.offset());\n      }\n    };\n    const moveCaretToDetailsPos = (editor, pos, forward) => {\n      const details = editor.dom.getParent(pos.container(), 'details');\n      if (details && !details.open) {\n        const summary = editor.dom.select('summary', details)[0];\n        if (summary) {\n          const newPos = forward ? firstPositionIn(summary) : lastPositionIn(summary);\n          newPos.each(pos => setCaretToPosition(editor, pos));\n        }\n      } else {\n        setCaretToPosition(editor, pos);\n      }\n    };\n    const isPartialDelete = (rng, detailsElements) => {\n      const containsStart = element => element.contains(rng.startContainer);\n      const containsEnd = element => element.contains(rng.endContainer);\n      const startInSummary = detailsElements.startSummary.exists(containsStart);\n      const endInSummary = detailsElements.startSummary.exists(containsEnd);\n      const isPartiallySelectedDetailsElements = detailsElements.startDetails.forall(startDetails => detailsElements.endDetails.forall(endDetails => startDetails !== endDetails));\n      const isInPartiallySelectedSummary = (startInSummary || endInSummary) && !(startInSummary && endInSummary);\n      return isInPartiallySelectedSummary || isPartiallySelectedDetailsElements;\n    };\n    const shouldPreventDeleteIntoDetails = (editor, forward, granularity) => {\n      const {\n        dom,\n        selection\n      } = editor;\n      const root = editor.getBody();\n      if (granularity === 'character') {\n        const caretPos = CaretPosition.fromRangeStart(selection.getRng());\n        const parentBlock = dom.getParent(caretPos.container(), dom.isBlock);\n        const parentDetailsAtCaret = getParentDetailsElementAtPos(dom, caretPos);\n        const inEmptyParentBlock = parentBlock && dom.isEmpty(parentBlock);\n        const isFirstBlock = isNull(parentBlock === null || parentBlock === void 0 ? void 0 : parentBlock.previousSibling);\n        const isLastBlock = isNull(parentBlock === null || parentBlock === void 0 ? void 0 : parentBlock.nextSibling);\n        if (inEmptyParentBlock) {\n          const firstOrLast = forward ? isLastBlock : isFirstBlock;\n          if (firstOrLast) {\n            const isBeforeAfterDetails = navigate(!forward, root, caretPos).exists(pos => {\n              return isInDetailsElement(dom, pos) && !equals(parentDetailsAtCaret, getParentDetailsElementAtPos(dom, pos));\n            });\n            if (isBeforeAfterDetails) {\n              return true;\n            }\n          }\n        }\n        return navigate(forward, root, caretPos).fold(never, pos => {\n          const parentDetailsAtNewPos = getParentDetailsElementAtPos(dom, pos);\n          if (isInDetailsElement(dom, pos) && !equals(parentDetailsAtCaret, parentDetailsAtNewPos)) {\n            if (!forward) {\n              moveCaretToDetailsPos(editor, pos, false);\n            }\n            if (parentBlock && inEmptyParentBlock) {\n              if (forward && isFirstBlock) {\n                return true;\n              } else if (!forward && isLastBlock) {\n                return true;\n              }\n              moveCaretToDetailsPos(editor, pos, forward);\n              editor.dom.remove(parentBlock);\n            }\n            return true;\n          } else {\n            return false;\n          }\n        });\n      } else {\n        return false;\n      }\n    };\n    const shouldPreventDeleteSummaryAction = (editor, detailElements, forward, granularity) => {\n      const selection = editor.selection;\n      const rng = selection.getRng();\n      const caretPos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (granularity === 'selection') {\n        return isPartialDelete(rng, detailElements);\n      } else if (forward) {\n        return isCaretAtEndOfSummary(caretPos, detailElements) || isCaretInLastPositionInBody(root, caretPos, detailElements);\n      } else {\n        return isCaretAtStartOfSummary(caretPos, detailElements) || isCaretInFirstPositionInBody(caretPos, detailElements);\n      }\n    };\n    const shouldPreventDeleteAction = (editor, forward, granularity) => getDetailsElements(editor.dom, editor.selection.getRng()).fold(() => shouldPreventDeleteIntoDetails(editor, forward, granularity), detailsElements => shouldPreventDeleteSummaryAction(editor, detailsElements, forward, granularity) || shouldPreventDeleteIntoDetails(editor, forward, granularity));\n    const handleDeleteActionSafari = (editor, forward, granularity) => {\n      const selection = editor.selection;\n      const node = selection.getNode();\n      const rng = selection.getRng();\n      const caretPos = CaretPosition.fromRangeStart(rng);\n      if (isSummary$1(node)) {\n        if (granularity === 'selection' && isEntireNodeSelected(rng, node) || willDeleteLastPositionInElement(forward, caretPos, node)) {\n          emptyNodeContents(node);\n        } else {\n          editor.undoManager.transact(() => {\n            const sel = selection.getSel();\n            let {\n              anchorNode,\n              anchorOffset,\n              focusNode,\n              focusOffset\n            } = sel !== null && sel !== void 0 ? sel : {};\n            const applySelection = () => {\n              if (isNonNullable(anchorNode) && isNonNullable(anchorOffset) && isNonNullable(focusNode) && isNonNullable(focusOffset)) {\n                sel === null || sel === void 0 ? void 0 : sel.setBaseAndExtent(anchorNode, anchorOffset, focusNode, focusOffset);\n              }\n            };\n            const updateSelection = () => {\n              anchorNode = sel === null || sel === void 0 ? void 0 : sel.anchorNode;\n              anchorOffset = sel === null || sel === void 0 ? void 0 : sel.anchorOffset;\n              focusNode = sel === null || sel === void 0 ? void 0 : sel.focusNode;\n              focusOffset = sel === null || sel === void 0 ? void 0 : sel.focusOffset;\n            };\n            const appendAllChildNodes = (from, to) => {\n              each$e(from.childNodes, child => {\n                if (isNode(child)) {\n                  to.appendChild(child);\n                }\n              });\n            };\n            const container = editor.dom.create('span', {\n              'data-mce-bogus': '1'\n            });\n            appendAllChildNodes(node, container);\n            node.appendChild(container);\n            applySelection();\n            if (granularity === 'word' || granularity === 'line') {\n              sel === null || sel === void 0 ? void 0 : sel.modify('extend', forward ? 'right' : 'left', granularity);\n            }\n            if (!selection.isCollapsed() && isEntireNodeSelected(selection.getRng(), container)) {\n              emptyNodeContents(node);\n            } else {\n              editor.execCommand(forward ? 'ForwardDelete' : 'Delete');\n              updateSelection();\n              appendAllChildNodes(container, node);\n              applySelection();\n            }\n            editor.dom.remove(container);\n          });\n        }\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const backspaceDelete = (editor, forward, granularity) => shouldPreventDeleteAction(editor, forward, granularity) || isSafari && handleDeleteActionSafari(editor, forward, granularity) ? Optional.some(noop) : Optional.none();\n\n    const createAndFireInputEvent = eventType => (editor, inputType, specifics = {}) => {\n      const target = editor.getBody();\n      const overrides = {\n        bubbles: true,\n        composed: true,\n        data: null,\n        isComposing: false,\n        detail: 0,\n        view: null,\n        target,\n        currentTarget: target,\n        eventPhase: Event.AT_TARGET,\n        originalTarget: target,\n        explicitOriginalTarget: target,\n        isTrusted: false,\n        srcElement: target,\n        cancelable: false,\n        preventDefault: noop,\n        inputType\n      };\n      const input = clone$3(new InputEvent(eventType));\n      return editor.dispatch(eventType, {\n        ...input,\n        ...overrides,\n        ...specifics\n      });\n    };\n    const fireInputEvent = createAndFireInputEvent('input');\n    const fireBeforeInputEvent = createAndFireInputEvent('beforeinput');\n\n    const platform$2 = detect$2();\n    const os = platform$2.os;\n    const isMacOSOriOS = os.isMacOS() || os.isiOS();\n    const browser = platform$2.browser;\n    const isFirefox = browser.isFirefox();\n    const executeKeydownOverride$3 = (editor, caret, evt) => {\n      const inputType = evt.keyCode === VK.BACKSPACE ? 'deleteContentBackward' : 'deleteContentForward';\n      const isCollapsed = editor.selection.isCollapsed();\n      const unmodifiedGranularity = isCollapsed ? 'character' : 'selection';\n      const getModifiedGranularity = isWord => {\n        if (isCollapsed) {\n          return isWord ? 'word' : 'line';\n        } else {\n          return 'selection';\n        }\n      };\n      executeWithDelayedAction([{\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$1, editor)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$6, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$6, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$7, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$7, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$4, editor, caret, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$4, editor, caret, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$a, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$a, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete, editor, false, unmodifiedGranularity)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete, editor, true, unmodifiedGranularity)\n      }, ...(isMacOSOriOS ? [{\n        keyCode: VK.BACKSPACE,\n        altKey: true,\n        action: action(backspaceDelete, editor, false, getModifiedGranularity(true))\n      }, {\n        keyCode: VK.DELETE,\n        altKey: true,\n        action: action(backspaceDelete, editor, true, getModifiedGranularity(true))\n      }, {\n        keyCode: VK.BACKSPACE,\n        metaKey: true,\n        action: action(backspaceDelete, editor, false, getModifiedGranularity(false))\n      }] : [{\n        keyCode: VK.BACKSPACE,\n        ctrlKey: true,\n        action: action(backspaceDelete, editor, false, getModifiedGranularity(true))\n      }, {\n        keyCode: VK.DELETE,\n        ctrlKey: true,\n        action: action(backspaceDelete, editor, true, getModifiedGranularity(true))\n      }]), {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$5, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$5, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$2, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$2, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$8, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$8, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$9, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$9, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$3, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$3, editor, true)\n      }], evt).filter(_ => editor.selection.isEditable()).each(applyAction => {\n        evt.preventDefault();\n        const beforeInput = fireBeforeInputEvent(editor, inputType);\n        if (!beforeInput.isDefaultPrevented()) {\n          applyAction();\n          fireInputEvent(editor, inputType);\n        }\n      });\n    };\n    const executeKeyupOverride = (editor, evt, isBackspaceKeydown) => execute([{\n      keyCode: VK.BACKSPACE,\n      action: action(paddEmptyElement, editor)\n    }, {\n      keyCode: VK.DELETE,\n      action: action(paddEmptyElement, editor)\n    }, ...(isMacOSOriOS ? [{\n      keyCode: VK.BACKSPACE,\n      altKey: true,\n      action: action(refreshCaret, editor)\n    }, {\n      keyCode: VK.DELETE,\n      altKey: true,\n      action: action(refreshCaret, editor)\n    }, ...(isBackspaceKeydown ? [{\n      keyCode: isFirefox ? 224 : 91,\n      action: action(refreshCaret, editor)\n    }] : [])] : [{\n      keyCode: VK.BACKSPACE,\n      ctrlKey: true,\n      action: action(refreshCaret, editor)\n    }, {\n      keyCode: VK.DELETE,\n      ctrlKey: true,\n      action: action(refreshCaret, editor)\n    }])], evt);\n    const setup$j = (editor, caret) => {\n      let isBackspaceKeydown = false;\n      editor.on('keydown', evt => {\n        isBackspaceKeydown = evt.keyCode === VK.BACKSPACE;\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$3(editor, caret, evt);\n        }\n      });\n      editor.on('keyup', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeyupOverride(editor, evt, isBackspaceKeydown);\n        }\n        isBackspaceKeydown = false;\n      });\n    };\n\n    const firstNonWhiteSpaceNodeSibling = node => {\n      while (node) {\n        if (isElement$6(node) || isText$a(node) && node.data && /[\\r\\n\\s]/.test(node.data)) {\n          return node;\n        }\n        node = node.nextSibling;\n      }\n      return null;\n    };\n    const moveToCaretPosition = (editor, root) => {\n      const dom = editor.dom;\n      const moveCaretBeforeOnEnterElementsMap = editor.schema.getMoveCaretBeforeOnEnterElements();\n      if (!root) {\n        return;\n      }\n      if (/^(LI|DT|DD)$/.test(root.nodeName)) {\n        const firstChild = firstNonWhiteSpaceNodeSibling(root.firstChild);\n        if (firstChild && /^(UL|OL|DL)$/.test(firstChild.nodeName)) {\n          root.insertBefore(dom.doc.createTextNode(nbsp), root.firstChild);\n        }\n      }\n      const rng = dom.createRng();\n      root.normalize();\n      if (root.hasChildNodes()) {\n        const walker = new DomTreeWalker(root, root);\n        let lastNode = root;\n        let node;\n        while (node = walker.current()) {\n          if (isText$a(node)) {\n            rng.setStart(node, 0);\n            rng.setEnd(node, 0);\n            break;\n          }\n          if (moveCaretBeforeOnEnterElementsMap[node.nodeName.toLowerCase()]) {\n            rng.setStartBefore(node);\n            rng.setEndBefore(node);\n            break;\n          }\n          lastNode = node;\n          node = walker.next();\n        }\n        if (!node) {\n          rng.setStart(lastNode, 0);\n          rng.setEnd(lastNode, 0);\n        }\n      } else {\n        if (isBr$6(root)) {\n          if (root.nextSibling && dom.isBlock(root.nextSibling)) {\n            rng.setStartBefore(root);\n            rng.setEndBefore(root);\n          } else {\n            rng.setStartAfter(root);\n            rng.setEndAfter(root);\n          }\n        } else {\n          rng.setStart(root, 0);\n          rng.setEnd(root, 0);\n        }\n      }\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, rng);\n    };\n    const getEditableRoot = (dom, node) => {\n      const root = dom.getRoot();\n      let editableRoot;\n      let parent = node;\n      while (parent !== root && parent && dom.getContentEditable(parent) !== 'false') {\n        if (dom.getContentEditable(parent) === 'true') {\n          editableRoot = parent;\n          break;\n        }\n        parent = parent.parentNode;\n      }\n      return parent !== root ? editableRoot : root;\n    };\n    const getParentBlock$1 = editor => {\n      return Optional.from(editor.dom.getParent(editor.selection.getStart(true), editor.dom.isBlock));\n    };\n    const getParentBlockName = editor => {\n      return getParentBlock$1(editor).fold(constant(''), parentBlock => {\n        return parentBlock.nodeName.toUpperCase();\n      });\n    };\n    const isListItemParentBlock = editor => {\n      return getParentBlock$1(editor).filter(elm => {\n        return isListItem$1(SugarElement.fromDom(elm));\n      }).isSome();\n    };\n    const emptyBlock = elm => {\n      elm.innerHTML = '<br data-mce-bogus=\"1\">';\n    };\n    const applyAttributes = (editor, node, forcedRootBlockAttrs) => {\n      const dom = editor.dom;\n      Optional.from(forcedRootBlockAttrs.style).map(dom.parseStyle).each(attrStyles => {\n        const currentStyles = getAllRaw(SugarElement.fromDom(node));\n        const newStyles = {\n          ...currentStyles,\n          ...attrStyles\n        };\n        dom.setStyles(node, newStyles);\n      });\n      const attrClassesOpt = Optional.from(forcedRootBlockAttrs.class).map(attrClasses => attrClasses.split(/\\s+/));\n      const currentClassesOpt = Optional.from(node.className).map(currentClasses => filter$5(currentClasses.split(/\\s+/), clazz => clazz !== ''));\n      lift2(attrClassesOpt, currentClassesOpt, (attrClasses, currentClasses) => {\n        const filteredClasses = filter$5(currentClasses, clazz => !contains$2(attrClasses, clazz));\n        const newClasses = [...attrClasses, ...filteredClasses];\n        dom.setAttrib(node, 'class', newClasses.join(' '));\n      });\n      const appliedAttrs = ['style', 'class'];\n      const remainingAttrs = filter$4(forcedRootBlockAttrs, (_, attrs) => !contains$2(appliedAttrs, attrs));\n      dom.setAttribs(node, remainingAttrs);\n    };\n    const setForcedBlockAttrs = (editor, node) => {\n      const forcedRootBlockName = getForcedRootBlock(editor);\n      if (forcedRootBlockName.toLowerCase() === node.tagName.toLowerCase()) {\n        const forcedRootBlockAttrs = getForcedRootBlockAttrs(editor);\n        applyAttributes(editor, node, forcedRootBlockAttrs);\n      }\n    };\n    const createNewBlock = (editor, container, parentBlock, editableRoot, keepStyles = true, name, styles) => {\n      const dom = editor.dom;\n      const schema = editor.schema;\n      const newBlockName = getForcedRootBlock(editor);\n      const parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : '';\n      let node = container;\n      const textInlineElements = schema.getTextInlineElements();\n      let block;\n      if (name || parentBlockName === 'TABLE' || parentBlockName === 'HR') {\n        block = dom.create(name || newBlockName, styles || {});\n      } else {\n        block = parentBlock.cloneNode(false);\n      }\n      let caretNode = block;\n      if (!keepStyles) {\n        dom.setAttrib(block, 'style', null);\n        dom.setAttrib(block, 'class', null);\n      } else {\n        do {\n          if (textInlineElements[node.nodeName]) {\n            if (isCaretNode(node) || isBookmarkNode$1(node)) {\n              continue;\n            }\n            const clonedNode = node.cloneNode(false);\n            dom.setAttrib(clonedNode, 'id', '');\n            if (block.hasChildNodes()) {\n              clonedNode.appendChild(block.firstChild);\n              block.appendChild(clonedNode);\n            } else {\n              caretNode = clonedNode;\n              block.appendChild(clonedNode);\n            }\n          }\n        } while ((node = node.parentNode) && node !== editableRoot);\n      }\n      setForcedBlockAttrs(editor, block);\n      emptyBlock(caretNode);\n      return block;\n    };\n\n    const getDetailsRoot = (editor, element) => editor.dom.getParent(element, isDetails);\n    const isAtDetailsEdge = (root, element, isTextBlock) => {\n      let node = element;\n      while (node && node !== root && isNull(node.nextSibling)) {\n        const parent = node.parentElement;\n        if (!parent || !isTextBlock(parent)) {\n          return isDetails(parent);\n        }\n        node = parent;\n      }\n      return false;\n    };\n    const isLastEmptyBlockInDetails = (editor, shiftKey, element) => !shiftKey && element.nodeName.toLowerCase() === getForcedRootBlock(editor) && editor.dom.isEmpty(element) && isAtDetailsEdge(editor.getBody(), element, el => has$2(editor.schema.getTextBlockElements(), el.nodeName.toLowerCase()));\n    const insertNewLine = (editor, createNewBlock, parentBlock) => {\n      var _a, _b, _c;\n      const newBlock = createNewBlock(getForcedRootBlock(editor));\n      const root = getDetailsRoot(editor, parentBlock);\n      if (!root) {\n        return;\n      }\n      editor.dom.insertAfter(newBlock, root);\n      moveToCaretPosition(editor, newBlock);\n      if (((_c = (_b = (_a = parentBlock.parentElement) === null || _a === void 0 ? void 0 : _a.childNodes) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 1) {\n        editor.dom.remove(parentBlock);\n      }\n    };\n\n    const hasFirstChild = (elm, name) => {\n      return elm.firstChild && elm.firstChild.nodeName === name;\n    };\n    const isFirstChild = elm => {\n      var _a;\n      return ((_a = elm.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === elm;\n    };\n    const hasParent = (elm, parentName) => {\n      const parentNode = elm === null || elm === void 0 ? void 0 : elm.parentNode;\n      return isNonNullable(parentNode) && parentNode.nodeName === parentName;\n    };\n    const isListBlock = elm => {\n      return isNonNullable(elm) && /^(OL|UL|LI)$/.test(elm.nodeName);\n    };\n    const isListItem = elm => {\n      return isNonNullable(elm) && /^(LI|DT|DD)$/.test(elm.nodeName);\n    };\n    const isNestedList = elm => {\n      return isListBlock(elm) && isListBlock(elm.parentNode);\n    };\n    const getContainerBlock = containerBlock => {\n      const containerBlockParent = containerBlock.parentNode;\n      return isListItem(containerBlockParent) ? containerBlockParent : containerBlock;\n    };\n    const isFirstOrLastLi = (containerBlock, parentBlock, first) => {\n      let node = containerBlock[first ? 'firstChild' : 'lastChild'];\n      while (node) {\n        if (isElement$6(node)) {\n          break;\n        }\n        node = node[first ? 'nextSibling' : 'previousSibling'];\n      }\n      return node === parentBlock;\n    };\n    const getStyles = elm => foldl(mapToArray(getAllRaw(SugarElement.fromDom(elm)), (style, styleName) => \"\".concat(styleName, \": \").concat(style, \";\")), (acc, s) => acc + s, '');\n    const insert$4 = (editor, createNewBlock, containerBlock, parentBlock, newBlockName) => {\n      const dom = editor.dom;\n      const rng = editor.selection.getRng();\n      const containerParent = containerBlock.parentNode;\n      if (containerBlock === editor.getBody() || !containerParent) {\n        return;\n      }\n      if (isNestedList(containerBlock)) {\n        newBlockName = 'LI';\n      }\n      const parentBlockStyles = isListItem(parentBlock) ? getStyles(parentBlock) : undefined;\n      let newBlock = isListItem(parentBlock) && parentBlockStyles ? createNewBlock(newBlockName, {\n        style: getStyles(parentBlock)\n      }) : createNewBlock(newBlockName);\n      if (isFirstOrLastLi(containerBlock, parentBlock, true) && isFirstOrLastLi(containerBlock, parentBlock, false)) {\n        if (hasParent(containerBlock, 'LI')) {\n          const containerBlockParent = getContainerBlock(containerBlock);\n          dom.insertAfter(newBlock, containerBlockParent);\n          if (isFirstChild(containerBlock)) {\n            dom.remove(containerBlockParent);\n          } else {\n            dom.remove(containerBlock);\n          }\n        } else {\n          dom.replace(newBlock, containerBlock);\n        }\n      } else if (isFirstOrLastLi(containerBlock, parentBlock, true)) {\n        if (hasParent(containerBlock, 'LI')) {\n          dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n          newBlock.appendChild(dom.doc.createTextNode(' '));\n          newBlock.appendChild(containerBlock);\n        } else {\n          containerParent.insertBefore(newBlock, containerBlock);\n        }\n        dom.remove(parentBlock);\n      } else if (isFirstOrLastLi(containerBlock, parentBlock, false)) {\n        dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n        dom.remove(parentBlock);\n      } else {\n        containerBlock = getContainerBlock(containerBlock);\n        const tmpRng = rng.cloneRange();\n        tmpRng.setStartAfter(parentBlock);\n        tmpRng.setEndAfter(containerBlock);\n        const fragment = tmpRng.extractContents();\n        if (newBlockName === 'LI' && hasFirstChild(fragment, 'LI')) {\n          const previousChildren = filter$5(map$3(newBlock.children, SugarElement.fromDom), not(isTag('br')));\n          newBlock = fragment.firstChild;\n          dom.insertAfter(fragment, containerBlock);\n          each$e(previousChildren, child => prepend(SugarElement.fromDom(newBlock), child));\n          if (parentBlockStyles) {\n            newBlock.setAttribute('style', parentBlockStyles);\n          }\n        } else {\n          dom.insertAfter(fragment, containerBlock);\n          dom.insertAfter(newBlock, containerBlock);\n        }\n        dom.remove(parentBlock);\n      }\n      moveToCaretPosition(editor, newBlock);\n    };\n\n    const trimZwsp = fragment => {\n      each$e(descendants$1(SugarElement.fromDom(fragment), isText$b), text => {\n        const rawNode = text.dom;\n        rawNode.nodeValue = trim$2(rawNode.data);\n      });\n    };\n    const isWithinNonEditableList = (editor, node) => {\n      const parentList = editor.dom.getParent(node, 'ol,ul,dl');\n      return parentList !== null && editor.dom.getContentEditableParent(parentList) === 'false';\n    };\n    const isEmptyAnchor = (dom, elm) => {\n      return elm && elm.nodeName === 'A' && dom.isEmpty(elm);\n    };\n    const containerAndSiblingName = (container, nodeName) => {\n      return container.nodeName === nodeName || container.previousSibling && container.previousSibling.nodeName === nodeName;\n    };\n    const canSplitBlock = (dom, node) => {\n      return isNonNullable(node) && dom.isBlock(node) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && !/^(fixed|absolute)/i.test(node.style.position) && dom.isEditable(node.parentNode) && dom.getContentEditable(node) !== 'false';\n    };\n    const trimInlineElementsOnLeftSideOfBlock = (dom, nonEmptyElementsMap, block) => {\n      var _a;\n      const firstChilds = [];\n      if (!block) {\n        return;\n      }\n      let currentNode = block;\n      while (currentNode = currentNode.firstChild) {\n        if (dom.isBlock(currentNode)) {\n          return;\n        }\n        if (isElement$6(currentNode) && !nonEmptyElementsMap[currentNode.nodeName.toLowerCase()]) {\n          firstChilds.push(currentNode);\n        }\n      }\n      let i = firstChilds.length;\n      while (i--) {\n        currentNode = firstChilds[i];\n        if (!currentNode.hasChildNodes() || currentNode.firstChild === currentNode.lastChild && ((_a = currentNode.firstChild) === null || _a === void 0 ? void 0 : _a.nodeValue) === '') {\n          dom.remove(currentNode);\n        } else {\n          if (isEmptyAnchor(dom, currentNode)) {\n            dom.remove(currentNode);\n          }\n        }\n      }\n    };\n    const normalizeZwspOffset = (start, container, offset) => {\n      if (!isText$a(container)) {\n        return offset;\n      } else if (start) {\n        return offset === 1 && container.data.charAt(offset - 1) === ZWSP$1 ? 0 : offset;\n      } else {\n        return offset === container.data.length - 1 && container.data.charAt(offset) === ZWSP$1 ? container.data.length : offset;\n      }\n    };\n    const includeZwspInRange = rng => {\n      const newRng = rng.cloneRange();\n      newRng.setStart(rng.startContainer, normalizeZwspOffset(true, rng.startContainer, rng.startOffset));\n      newRng.setEnd(rng.endContainer, normalizeZwspOffset(false, rng.endContainer, rng.endOffset));\n      return newRng;\n    };\n    const trimLeadingLineBreaks = node => {\n      let currentNode = node;\n      do {\n        if (isText$a(currentNode)) {\n          currentNode.data = currentNode.data.replace(/^[\\r\\n]+/, '');\n        }\n        currentNode = currentNode.firstChild;\n      } while (currentNode);\n    };\n    const wrapSelfAndSiblingsInDefaultBlock = (editor, newBlockName, rng, container, offset) => {\n      var _a, _b;\n      const dom = editor.dom;\n      const editableRoot = (_a = getEditableRoot(dom, container)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      let parentBlock = dom.getParent(container, dom.isBlock);\n      if (!parentBlock || !canSplitBlock(dom, parentBlock)) {\n        parentBlock = parentBlock || editableRoot;\n        if (!parentBlock.hasChildNodes()) {\n          const newBlock = dom.create(newBlockName);\n          setForcedBlockAttrs(editor, newBlock);\n          parentBlock.appendChild(newBlock);\n          rng.setStart(newBlock, 0);\n          rng.setEnd(newBlock, 0);\n          return newBlock;\n        }\n        let node = container;\n        while (node && node.parentNode !== parentBlock) {\n          node = node.parentNode;\n        }\n        let startNode;\n        while (node && !dom.isBlock(node)) {\n          startNode = node;\n          node = node.previousSibling;\n        }\n        const startNodeName = (_b = startNode === null || startNode === void 0 ? void 0 : startNode.parentElement) === null || _b === void 0 ? void 0 : _b.nodeName;\n        if (startNode && startNodeName && editor.schema.isValidChild(startNodeName, newBlockName.toLowerCase())) {\n          const startNodeParent = startNode.parentNode;\n          const newBlock = dom.create(newBlockName);\n          setForcedBlockAttrs(editor, newBlock);\n          startNodeParent.insertBefore(newBlock, startNode);\n          node = startNode;\n          while (node && !dom.isBlock(node)) {\n            const next = node.nextSibling;\n            newBlock.appendChild(node);\n            node = next;\n          }\n          rng.setStart(container, offset);\n          rng.setEnd(container, offset);\n        }\n      }\n      return container;\n    };\n    const addBrToBlockIfNeeded = (dom, block) => {\n      block.normalize();\n      const lastChild = block.lastChild;\n      if (!lastChild || isElement$6(lastChild) && /^(left|right)$/gi.test(dom.getStyle(lastChild, 'float', true))) {\n        dom.add(block, 'br');\n      }\n    };\n    const shouldEndContainer = (editor, container) => {\n      const optionValue = shouldEndContainerOnEmptyBlock(editor);\n      if (isNullable(container)) {\n        return false;\n      } else if (isString(optionValue)) {\n        return contains$2(Tools.explode(optionValue), container.nodeName.toLowerCase());\n      } else {\n        return optionValue;\n      }\n    };\n    const insert$3 = (editor, evt) => {\n      let container;\n      let offset;\n      let parentBlockName;\n      let containerBlock;\n      let isAfterLastNodeInContainer = false;\n      const dom = editor.dom;\n      const schema = editor.schema,\n        nonEmptyElementsMap = schema.getNonEmptyElements();\n      const rng = editor.selection.getRng();\n      const newBlockName = getForcedRootBlock(editor);\n      const start = SugarElement.fromDom(rng.startContainer);\n      const child = child$1(start, rng.startOffset);\n      const isCef = child.exists(element => isHTMLElement$1(element) && !isEditable$2(element));\n      const collapsedAndCef = rng.collapsed && isCef;\n      const createNewBlock$1 = (name, styles) => {\n        return createNewBlock(editor, container, parentBlock, editableRoot, shouldKeepStyles(editor), name, styles);\n      };\n      const isCaretAtStartOrEndOfBlock = start => {\n        const normalizedOffset = normalizeZwspOffset(start, container, offset);\n        if (isText$a(container) && (start ? normalizedOffset > 0 : normalizedOffset < container.data.length)) {\n          return false;\n        }\n        if (container.parentNode === parentBlock && isAfterLastNodeInContainer && !start) {\n          return true;\n        }\n        if (start && isElement$6(container) && container === parentBlock.firstChild) {\n          return true;\n        }\n        if (containerAndSiblingName(container, 'TABLE') || containerAndSiblingName(container, 'HR')) {\n          return isAfterLastNodeInContainer && !start || !isAfterLastNodeInContainer && start;\n        }\n        const walker = new DomTreeWalker(container, parentBlock);\n        if (isText$a(container)) {\n          if (start && normalizedOffset === 0) {\n            walker.prev();\n          } else if (!start && normalizedOffset === container.data.length) {\n            walker.next();\n          }\n        }\n        let node;\n        while (node = walker.current()) {\n          if (isElement$6(node)) {\n            if (!node.getAttribute('data-mce-bogus')) {\n              const name = node.nodeName.toLowerCase();\n              if (nonEmptyElementsMap[name] && name !== 'br') {\n                return false;\n              }\n            }\n          } else if (isText$a(node) && !isWhitespaceText(node.data)) {\n            return false;\n          }\n          if (start) {\n            walker.prev();\n          } else {\n            walker.next();\n          }\n        }\n        return true;\n      };\n      const insertNewBlockAfter = () => {\n        let block;\n        if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName !== 'HGROUP') {\n          block = createNewBlock$1(newBlockName);\n        } else {\n          block = createNewBlock$1();\n        }\n        if (shouldEndContainer(editor, containerBlock) && canSplitBlock(dom, containerBlock) && dom.isEmpty(parentBlock, undefined, {\n          includeZwsp: true\n        })) {\n          block = dom.split(containerBlock, parentBlock);\n        } else {\n          dom.insertAfter(block, parentBlock);\n        }\n        moveToCaretPosition(editor, block);\n        return block;\n      };\n      normalize$2(dom, rng).each(normRng => {\n        rng.setStart(normRng.startContainer, normRng.startOffset);\n        rng.setEnd(normRng.endContainer, normRng.endOffset);\n      });\n      container = rng.startContainer;\n      offset = rng.startOffset;\n      const shiftKey = !!(evt && evt.shiftKey);\n      const ctrlKey = !!(evt && evt.ctrlKey);\n      if (isElement$6(container) && container.hasChildNodes() && !collapsedAndCef) {\n        isAfterLastNodeInContainer = offset > container.childNodes.length - 1;\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n        if (isAfterLastNodeInContainer && isText$a(container)) {\n          offset = container.data.length;\n        } else {\n          offset = 0;\n        }\n      }\n      const editableRoot = getEditableRoot(dom, container);\n      if (!editableRoot || isWithinNonEditableList(editor, container)) {\n        return;\n      }\n      if (!shiftKey) {\n        container = wrapSelfAndSiblingsInDefaultBlock(editor, newBlockName, rng, container, offset);\n      }\n      let parentBlock = dom.getParent(container, dom.isBlock) || dom.getRoot();\n      containerBlock = isNonNullable(parentBlock === null || parentBlock === void 0 ? void 0 : parentBlock.parentNode) ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;\n      parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : '';\n      const containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : '';\n      if (containerBlockName === 'LI' && !ctrlKey) {\n        const liBlock = containerBlock;\n        parentBlock = liBlock;\n        containerBlock = liBlock.parentNode;\n        parentBlockName = containerBlockName;\n      }\n      if (isElement$6(containerBlock) && isLastEmptyBlockInDetails(editor, shiftKey, parentBlock)) {\n        return insertNewLine(editor, createNewBlock$1, parentBlock);\n      }\n      if (/^(LI|DT|DD)$/.test(parentBlockName) && isElement$6(containerBlock)) {\n        if (dom.isEmpty(parentBlock)) {\n          insert$4(editor, createNewBlock$1, containerBlock, parentBlock, newBlockName);\n          return;\n        }\n      }\n      if (!collapsedAndCef && (parentBlock === editor.getBody() || !canSplitBlock(dom, parentBlock))) {\n        return;\n      }\n      const parentBlockParent = parentBlock.parentNode;\n      let newBlock;\n      if (collapsedAndCef) {\n        newBlock = createNewBlock$1(newBlockName);\n        child.fold(() => {\n          append$1(start, SugarElement.fromDom(newBlock));\n        }, child => {\n          before$3(child, SugarElement.fromDom(newBlock));\n        });\n        editor.selection.setCursorLocation(newBlock, 0);\n      } else if (isCaretContainerBlock$1(parentBlock)) {\n        newBlock = showCaretContainerBlock(parentBlock);\n        if (dom.isEmpty(parentBlock)) {\n          emptyBlock(parentBlock);\n        }\n        setForcedBlockAttrs(editor, newBlock);\n        moveToCaretPosition(editor, newBlock);\n      } else if (isCaretAtStartOrEndOfBlock(false)) {\n        newBlock = insertNewBlockAfter();\n      } else if (isCaretAtStartOrEndOfBlock(true) && parentBlockParent) {\n        newBlock = parentBlockParent.insertBefore(createNewBlock$1(), parentBlock);\n        const isNearChildren = hasChildNodes(SugarElement.fromDom(rng.startContainer)) && rng.collapsed;\n        moveToCaretPosition(editor, containerAndSiblingName(parentBlock, 'HR') || isNearChildren ? newBlock : parentBlock);\n      } else {\n        const tmpRng = includeZwspInRange(rng).cloneRange();\n        tmpRng.setEndAfter(parentBlock);\n        const fragment = tmpRng.extractContents();\n        trimZwsp(fragment);\n        trimLeadingLineBreaks(fragment);\n        newBlock = fragment.firstChild;\n        dom.insertAfter(fragment, parentBlock);\n        trimInlineElementsOnLeftSideOfBlock(dom, nonEmptyElementsMap, newBlock);\n        addBrToBlockIfNeeded(dom, parentBlock);\n        if (dom.isEmpty(parentBlock)) {\n          emptyBlock(parentBlock);\n        }\n        newBlock.normalize();\n        if (dom.isEmpty(newBlock)) {\n          dom.remove(newBlock);\n          insertNewBlockAfter();\n        } else {\n          setForcedBlockAttrs(editor, newBlock);\n          moveToCaretPosition(editor, newBlock);\n        }\n      }\n      dom.setAttrib(newBlock, 'id', '');\n      editor.dispatch('NewBlock', {\n        newBlock\n      });\n    };\n    const fakeEventName$1 = 'insertParagraph';\n    const blockbreak = {\n      insert: insert$3,\n      fakeEventName: fakeEventName$1\n    };\n\n    const hasRightSideContent = (schema, container, parentBlock) => {\n      const walker = new DomTreeWalker(container, parentBlock);\n      let node;\n      const nonEmptyElementsMap = schema.getNonEmptyElements();\n      while (node = walker.next()) {\n        if (nonEmptyElementsMap[node.nodeName.toLowerCase()] || isText$a(node) && node.length > 0) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const moveSelectionToBr = (editor, brElm, extraBr) => {\n      const rng = editor.dom.createRng();\n      if (!extraBr) {\n        rng.setStartAfter(brElm);\n        rng.setEndAfter(brElm);\n      } else {\n        rng.setStartBefore(brElm);\n        rng.setEndBefore(brElm);\n      }\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, rng);\n    };\n    const insertBrAtCaret = (editor, evt) => {\n      const selection = editor.selection;\n      const dom = editor.dom;\n      const rng = selection.getRng();\n      let brElm;\n      let extraBr = false;\n      normalize$2(dom, rng).each(normRng => {\n        rng.setStart(normRng.startContainer, normRng.startOffset);\n        rng.setEnd(normRng.endContainer, normRng.endOffset);\n      });\n      let offset = rng.startOffset;\n      let container = rng.startContainer;\n      if (isElement$6(container) && container.hasChildNodes()) {\n        const isAfterLastNodeInContainer = offset > container.childNodes.length - 1;\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n        if (isAfterLastNodeInContainer && isText$a(container)) {\n          offset = container.data.length;\n        } else {\n          offset = 0;\n        }\n      }\n      let parentBlock = dom.getParent(container, dom.isBlock);\n      const containerBlock = parentBlock && parentBlock.parentNode ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;\n      const containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : '';\n      const isControlKey = !!(evt && evt.ctrlKey);\n      if (containerBlockName === 'LI' && !isControlKey) {\n        parentBlock = containerBlock;\n      }\n      if (isText$a(container) && offset >= container.data.length) {\n        if (!hasRightSideContent(editor.schema, container, parentBlock || dom.getRoot())) {\n          brElm = dom.create('br');\n          rng.insertNode(brElm);\n          rng.setStartAfter(brElm);\n          rng.setEndAfter(brElm);\n          extraBr = true;\n        }\n      }\n      brElm = dom.create('br');\n      rangeInsertNode(dom, rng, brElm);\n      moveSelectionToBr(editor, brElm, extraBr);\n      editor.undoManager.add();\n    };\n    const insertBrBefore = (editor, inline) => {\n      const br = SugarElement.fromTag('br');\n      before$3(SugarElement.fromDom(inline), br);\n      editor.undoManager.add();\n    };\n    const insertBrAfter = (editor, inline) => {\n      if (!hasBrAfter(editor.getBody(), inline)) {\n        after$4(SugarElement.fromDom(inline), SugarElement.fromTag('br'));\n      }\n      const br = SugarElement.fromTag('br');\n      after$4(SugarElement.fromDom(inline), br);\n      moveSelectionToBr(editor, br.dom, false);\n      editor.undoManager.add();\n    };\n    const isBeforeBr = pos => {\n      return isBr$6(pos.getNode());\n    };\n    const hasBrAfter = (rootNode, startNode) => {\n      if (isBeforeBr(CaretPosition.after(startNode))) {\n        return true;\n      } else {\n        return nextPosition(rootNode, CaretPosition.after(startNode)).map(pos => {\n          return isBr$6(pos.getNode());\n        }).getOr(false);\n      }\n    };\n    const isAnchorLink = elm => {\n      return elm && elm.nodeName === 'A' && 'href' in elm;\n    };\n    const isInsideAnchor = location => {\n      return location.fold(never, isAnchorLink, isAnchorLink, never);\n    };\n    const readInlineAnchorLocation = editor => {\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      const position = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return readLocation(isInlineTarget$1, editor.getBody(), position).filter(isInsideAnchor);\n    };\n    const insertBrOutsideAnchor = (editor, location) => {\n      location.fold(noop, curry(insertBrBefore, editor), curry(insertBrAfter, editor), noop);\n    };\n    const insert$2 = (editor, evt) => {\n      const anchorLocation = readInlineAnchorLocation(editor);\n      if (anchorLocation.isSome()) {\n        anchorLocation.each(curry(insertBrOutsideAnchor, editor));\n      } else {\n        insertBrAtCaret(editor, evt);\n      }\n    };\n    const fakeEventName = 'insertLineBreak';\n    const linebreak = {\n      insert: insert$2,\n      fakeEventName\n    };\n\n    const matchesSelector = (editor, selector) => {\n      return getParentBlock$1(editor).filter(parentBlock => {\n        return selector.length > 0 && is$1(SugarElement.fromDom(parentBlock), selector);\n      }).isSome();\n    };\n    const shouldInsertBr = editor => {\n      return matchesSelector(editor, getBrNewLineSelector(editor));\n    };\n    const shouldBlockNewLine$1 = editor => {\n      return matchesSelector(editor, getNoNewLineSelector(editor));\n    };\n\n    const newLineAction = Adt.generate([{\n      br: []\n    }, {\n      block: []\n    }, {\n      none: []\n    }]);\n    const shouldBlockNewLine = (editor, _shiftKey) => {\n      return shouldBlockNewLine$1(editor);\n    };\n    const inListBlock = requiredState => {\n      return (editor, _shiftKey) => {\n        return isListItemParentBlock(editor) === requiredState;\n      };\n    };\n    const inBlock = (blockName, requiredState) => (editor, _shiftKey) => {\n      const state = getParentBlockName(editor) === blockName.toUpperCase();\n      return state === requiredState;\n    };\n    const inCefBlock = editor => {\n      const editableRoot = getEditableRoot(editor.dom, editor.selection.getStart());\n      return isNullable(editableRoot);\n    };\n    const inPreBlock = requiredState => inBlock('pre', requiredState);\n    const inSummaryBlock = () => inBlock('summary', true);\n    const shouldPutBrInPre = requiredState => {\n      return (editor, _shiftKey) => {\n        return shouldPutBrInPre$1(editor) === requiredState;\n      };\n    };\n    const inBrContext = (editor, _shiftKey) => {\n      return shouldInsertBr(editor);\n    };\n    const hasShiftKey = (_editor, shiftKey) => {\n      return shiftKey;\n    };\n    const canInsertIntoEditableRoot = editor => {\n      const forcedRootBlock = getForcedRootBlock(editor);\n      const rootEditable = getEditableRoot(editor.dom, editor.selection.getStart());\n      return isNonNullable(rootEditable) && editor.schema.isValidChild(rootEditable.nodeName, forcedRootBlock);\n    };\n    const isInRootWithEmptyOrCEF = editor => {\n      const rng = editor.selection.getRng();\n      const start = SugarElement.fromDom(rng.startContainer);\n      const child = child$1(start, rng.startOffset);\n      const isCefOpt = child.map(element => isHTMLElement$1(element) && !isEditable$2(element));\n      return rng.collapsed && isCefOpt.getOr(true);\n    };\n    const match = (predicates, action) => {\n      return (editor, shiftKey) => {\n        const isMatch = foldl(predicates, (res, p) => {\n          return res && p(editor, shiftKey);\n        }, true);\n        return isMatch ? Optional.some(action) : Optional.none();\n      };\n    };\n    const getAction = (editor, evt) => {\n      return evaluateUntil([match([shouldBlockNewLine], newLineAction.none()), match([inPreBlock(true), inCefBlock], newLineAction.none()), match([inSummaryBlock()], newLineAction.br()), match([inPreBlock(true), shouldPutBrInPre(false), hasShiftKey], newLineAction.br()), match([inPreBlock(true), shouldPutBrInPre(false)], newLineAction.block()), match([inPreBlock(true), shouldPutBrInPre(true), hasShiftKey], newLineAction.block()), match([inPreBlock(true), shouldPutBrInPre(true)], newLineAction.br()), match([inListBlock(true), hasShiftKey], newLineAction.br()), match([inListBlock(true)], newLineAction.block()), match([inBrContext], newLineAction.br()), match([hasShiftKey], newLineAction.br()), match([canInsertIntoEditableRoot], newLineAction.block()), match([isInRootWithEmptyOrCEF], newLineAction.block())], [editor, !!(evt && evt.shiftKey)]).getOr(newLineAction.none());\n    };\n\n    const insertBreak = (breakType, editor, evt) => {\n      if (!editor.selection.isCollapsed()) {\n        execEditorDeleteCommand(editor);\n      }\n      if (isNonNullable(evt)) {\n        const event = fireBeforeInputEvent(editor, breakType.fakeEventName);\n        if (event.isDefaultPrevented()) {\n          return;\n        }\n      }\n      breakType.insert(editor, evt);\n      if (isNonNullable(evt)) {\n        fireInputEvent(editor, breakType.fakeEventName);\n      }\n    };\n    const insert$1 = (editor, evt) => {\n      const br = () => insertBreak(linebreak, editor, evt);\n      const block = () => insertBreak(blockbreak, editor, evt);\n      const logicalAction = getAction(editor, evt);\n      switch (getNewlineBehavior(editor)) {\n        case 'linebreak':\n          logicalAction.fold(br, br, noop);\n          break;\n        case 'block':\n          logicalAction.fold(block, block, noop);\n          break;\n        case 'invert':\n          logicalAction.fold(block, br, noop);\n          break;\n        default:\n          logicalAction.fold(br, block, noop);\n          break;\n      }\n    };\n\n    const platform$1 = detect$2();\n    const isIOSSafari = platform$1.os.isiOS() && platform$1.browser.isSafari();\n    const handleEnterKeyEvent = (editor, event) => {\n      if (event.isDefaultPrevented()) {\n        return;\n      }\n      event.preventDefault();\n      endTypingLevelIgnoreLocks(editor.undoManager);\n      editor.undoManager.transact(() => {\n        insert$1(editor, event);\n      });\n    };\n    const isCaretAfterKoreanCharacter = rng => {\n      if (!rng.collapsed) {\n        return false;\n      }\n      const startContainer = rng.startContainer;\n      if (isText$a(startContainer)) {\n        const koreanCharRegex = /^[\\uAC00-\\uD7AF\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uD7B0-\\uD7FF]$/;\n        const char = startContainer.data.charAt(rng.startOffset - 1);\n        return koreanCharRegex.test(char);\n      } else {\n        return false;\n      }\n    };\n    const setup$i = editor => {\n      let iOSSafariKeydownBookmark = Optional.none();\n      const iOSSafariKeydownOverride = editor => {\n        iOSSafariKeydownBookmark = Optional.some(editor.selection.getBookmark());\n        editor.undoManager.add();\n      };\n      const iOSSafariKeyupOverride = (editor, event) => {\n        editor.undoManager.undo();\n        iOSSafariKeydownBookmark.fold(noop, b => editor.selection.moveToBookmark(b));\n        handleEnterKeyEvent(editor, event);\n        iOSSafariKeydownBookmark = Optional.none();\n      };\n      editor.on('keydown', event => {\n        if (event.keyCode === VK.ENTER) {\n          if (isIOSSafari && isCaretAfterKoreanCharacter(editor.selection.getRng())) {\n            iOSSafariKeydownOverride(editor);\n          } else {\n            handleEnterKeyEvent(editor, event);\n          }\n        }\n      });\n      editor.on('keyup', event => {\n        if (event.keyCode === VK.ENTER) {\n          iOSSafariKeydownBookmark.each(() => iOSSafariKeyupOverride(editor, event));\n        }\n      });\n    };\n\n    const executeKeydownOverride$2 = (editor, caret, evt) => {\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      execute([{\n        keyCode: VK.END,\n        action: action(moveToLineEndPoint$1, editor, true)\n      }, {\n        keyCode: VK.HOME,\n        action: action(moveToLineEndPoint$1, editor, false)\n      }, ...(!isMac ? [{\n        keyCode: VK.HOME,\n        action: action(selectToEndPoint, editor, false),\n        ctrlKey: true,\n        shiftKey: true\n      }, {\n        keyCode: VK.END,\n        action: action(selectToEndPoint, editor, true),\n        ctrlKey: true,\n        shiftKey: true\n      }] : []), {\n        keyCode: VK.END,\n        action: action(moveToLineEndPoint, editor, true)\n      }, {\n        keyCode: VK.HOME,\n        action: action(moveToLineEndPoint, editor, false)\n      }, {\n        keyCode: VK.END,\n        action: action(moveToLineEndPoint$2, editor, true, caret)\n      }, {\n        keyCode: VK.HOME,\n        action: action(moveToLineEndPoint$2, editor, false, caret)\n      }], evt).each(_ => {\n        evt.preventDefault();\n      });\n    };\n    const setup$h = (editor, caret) => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$2(editor, caret, evt);\n        }\n      });\n    };\n\n    const setup$g = editor => {\n      editor.on('input', e => {\n        if (!e.isComposing) {\n          normalizeNbspsInEditor(editor);\n        }\n      });\n    };\n\n    const platform = detect$2();\n    const executeKeyupAction = (editor, caret, evt) => {\n      execute([{\n        keyCode: VK.PAGE_UP,\n        action: action(moveToLineEndPoint$2, editor, false, caret)\n      }, {\n        keyCode: VK.PAGE_DOWN,\n        action: action(moveToLineEndPoint$2, editor, true, caret)\n      }], evt);\n    };\n    const stopImmediatePropagation = e => e.stopImmediatePropagation();\n    const isPageUpDown = evt => evt.keyCode === VK.PAGE_UP || evt.keyCode === VK.PAGE_DOWN;\n    const setNodeChangeBlocker = (blocked, editor, block) => {\n      if (block && !blocked.get()) {\n        editor.on('NodeChange', stopImmediatePropagation, true);\n      } else if (!block && blocked.get()) {\n        editor.off('NodeChange', stopImmediatePropagation);\n      }\n      blocked.set(block);\n    };\n    const setup$f = (editor, caret) => {\n      if (platform.os.isMacOS()) {\n        return;\n      }\n      const blocked = Cell(false);\n      editor.on('keydown', evt => {\n        if (isPageUpDown(evt)) {\n          setNodeChangeBlocker(blocked, editor, true);\n        }\n      });\n      editor.on('keyup', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeyupAction(editor, caret, evt);\n        }\n        if (isPageUpDown(evt) && blocked.get()) {\n          setNodeChangeBlocker(blocked, editor, false);\n          editor.nodeChanged();\n        }\n      });\n    };\n\n    const setup$e = editor => {\n      editor.on('beforeinput', e => {\n        if (!editor.selection.isEditable() || exists(e.getTargetRanges(), rng => !isEditableRange(editor.dom, rng))) {\n          e.preventDefault();\n        }\n      });\n    };\n\n    const insertTextAtPosition = (text, pos) => {\n      const container = pos.container();\n      const offset = pos.offset();\n      if (isText$a(container)) {\n        container.insertData(offset, text);\n        return Optional.some(CaretPosition(container, offset + text.length));\n      } else {\n        return getElementFromPosition(pos).map(elm => {\n          const textNode = SugarElement.fromText(text);\n          if (pos.isAtEnd()) {\n            after$4(elm, textNode);\n          } else {\n            before$3(elm, textNode);\n          }\n          return CaretPosition(textNode.dom, text.length);\n        });\n      }\n    };\n    const insertNbspAtPosition = curry(insertTextAtPosition, nbsp);\n    const insertSpaceAtPosition = curry(insertTextAtPosition, ' ');\n\n    const insertSpaceOrNbspAtPosition = (root, pos, schema) => needsToHaveNbsp(root, pos, schema) ? insertNbspAtPosition(pos) : insertSpaceAtPosition(pos);\n    const locationToCaretPosition = root => location => location.fold(element => prevPosition(root.dom, CaretPosition.before(element)), element => firstPositionIn(element), element => lastPositionIn(element), element => nextPosition(root.dom, CaretPosition.after(element)));\n    const insertInlineBoundarySpaceOrNbsp = (root, pos, schema) => checkPos => needsToHaveNbsp(root, checkPos, schema) ? insertNbspAtPosition(pos) : insertSpaceAtPosition(pos);\n    const setSelection = editor => pos => {\n      editor.selection.setRng(pos.toRange());\n      editor.nodeChanged();\n    };\n    const isInsideSummary = (domUtils, node) => domUtils.isEditable(domUtils.getParent(node, 'summary'));\n    const insertSpaceOrNbspAtSelection = editor => {\n      const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      const root = SugarElement.fromDom(editor.getBody());\n      if (editor.selection.isCollapsed()) {\n        const isInlineTarget$1 = curry(isInlineTarget, editor);\n        const caretPosition = CaretPosition.fromRangeStart(editor.selection.getRng());\n        return readLocation(isInlineTarget$1, editor.getBody(), caretPosition).bind(locationToCaretPosition(root)).map(checkPos => () => insertInlineBoundarySpaceOrNbsp(root, pos, editor.schema)(checkPos).each(setSelection(editor)));\n      } else {\n        return Optional.none();\n      }\n    };\n    const insertSpaceInSummaryAtSelectionOnFirefox = editor => {\n      const insertSpaceThunk = () => {\n        const root = SugarElement.fromDom(editor.getBody());\n        if (!editor.selection.isCollapsed()) {\n          editor.getDoc().execCommand('Delete');\n        }\n        const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        insertSpaceOrNbspAtPosition(root, pos, editor.schema).each(setSelection(editor));\n      };\n      return someIf(Env.browser.isFirefox() && editor.selection.isEditable() && isInsideSummary(editor.dom, editor.selection.getRng().startContainer), insertSpaceThunk);\n    };\n\n    const executeKeydownOverride$1 = (editor, evt) => {\n      executeWithDelayedAction([{\n        keyCode: VK.SPACEBAR,\n        action: action(insertSpaceOrNbspAtSelection, editor)\n      }, {\n        keyCode: VK.SPACEBAR,\n        action: action(insertSpaceInSummaryAtSelectionOnFirefox, editor)\n      }], evt).each(applyAction => {\n        evt.preventDefault();\n        const event = fireBeforeInputEvent(editor, 'insertText', {\n          data: ' '\n        });\n        if (!event.isDefaultPrevented()) {\n          applyAction();\n          fireInputEvent(editor, 'insertText', {\n            data: ' '\n          });\n        }\n      });\n    };\n    const setup$d = editor => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$1(editor, evt);\n        }\n      });\n    };\n\n    const tableTabNavigation = editor => {\n      if (hasTableTabNavigation(editor)) {\n        return [{\n          keyCode: VK.TAB,\n          action: action(handleTab, editor, true)\n        }, {\n          keyCode: VK.TAB,\n          shiftKey: true,\n          action: action(handleTab, editor, false)\n        }];\n      } else {\n        return [];\n      }\n    };\n    const executeKeydownOverride = (editor, evt) => {\n      execute([...tableTabNavigation(editor)], evt).each(_ => {\n        evt.preventDefault();\n      });\n    };\n    const setup$c = editor => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride(editor, evt);\n        }\n      });\n    };\n\n    const setup$b = editor => {\n      editor.addShortcut('Meta+P', '', 'mcePrint');\n      setup$k(editor);\n      if (isRtc(editor)) {\n        return Cell(null);\n      } else {\n        const caret = setupSelectedState(editor);\n        setup$e(editor);\n        setup$m(editor);\n        setup$l(editor, caret);\n        setup$j(editor, caret);\n        setup$i(editor);\n        setup$d(editor);\n        setup$g(editor);\n        setup$c(editor);\n        setup$h(editor, caret);\n        setup$f(editor, caret);\n        return caret;\n      }\n    };\n\n    class NodeChange {\n      constructor(editor) {\n        this.lastPath = [];\n        this.editor = editor;\n        let lastRng;\n        const self = this;\n        if (!('onselectionchange' in editor.getDoc())) {\n          editor.on('NodeChange click mouseup keyup focus', e => {\n            const nativeRng = editor.selection.getRng();\n            const fakeRng = {\n              startContainer: nativeRng.startContainer,\n              startOffset: nativeRng.startOffset,\n              endContainer: nativeRng.endContainer,\n              endOffset: nativeRng.endOffset\n            };\n            if (e.type === 'nodechange' || !isEq$4(fakeRng, lastRng)) {\n              editor.dispatch('SelectionChange');\n            }\n            lastRng = fakeRng;\n          });\n        }\n        editor.on('contextmenu', () => {\n          editor.dispatch('SelectionChange');\n        });\n        editor.on('SelectionChange', () => {\n          const startElm = editor.selection.getStart(true);\n          if (!startElm) {\n            return;\n          }\n          if (hasAnyRanges(editor) && !self.isSameElementPath(startElm) && editor.dom.isChildOf(startElm, editor.getBody())) {\n            editor.nodeChanged({\n              selectionChange: true\n            });\n          }\n        });\n        editor.on('mouseup', e => {\n          if (!e.isDefaultPrevented() && hasAnyRanges(editor)) {\n            if (editor.selection.getNode().nodeName === 'IMG') {\n              Delay.setEditorTimeout(editor, () => {\n                editor.nodeChanged();\n              });\n            } else {\n              editor.nodeChanged();\n            }\n          }\n        });\n      }\n      nodeChanged(args = {}) {\n        const selection = this.editor.selection;\n        let node;\n        if (this.editor.initialized && selection && !shouldDisableNodeChange(this.editor) && !this.editor.mode.isReadOnly()) {\n          const root = this.editor.getBody();\n          node = selection.getStart(true) || root;\n          if (node.ownerDocument !== this.editor.getDoc() || !this.editor.dom.isChildOf(node, root)) {\n            node = root;\n          }\n          const parents = [];\n          this.editor.dom.getParent(node, node => {\n            if (node === root) {\n              return true;\n            } else {\n              parents.push(node);\n              return false;\n            }\n          });\n          this.editor.dispatch('NodeChange', {\n            ...args,\n            element: node,\n            parents\n          });\n        }\n      }\n      isSameElementPath(startElm) {\n        let i;\n        const editor = this.editor;\n        const currentPath = reverse(editor.dom.getParents(startElm, always, editor.getBody()));\n        if (currentPath.length === this.lastPath.length) {\n          for (i = currentPath.length; i >= 0; i--) {\n            if (currentPath[i] !== this.lastPath[i]) {\n              break;\n            }\n          }\n          if (i === -1) {\n            this.lastPath = currentPath;\n            return true;\n          }\n        }\n        this.lastPath = currentPath;\n        return false;\n      }\n    }\n\n    const imageId = generate$1('image');\n    const getDragImage = transfer => {\n      const dt = transfer;\n      return Optional.from(dt[imageId]);\n    };\n    const setDragImage = (transfer, imageData) => {\n      const dt = transfer;\n      dt[imageId] = imageData;\n    };\n\n    const eventId = generate$1('event');\n    const getEvent = transfer => {\n      const dt = transfer;\n      return Optional.from(dt[eventId]);\n    };\n    const mkSetEventFn = type => transfer => {\n      const dt = transfer;\n      dt[eventId] = type;\n    };\n    const setEvent = (transfer, type) => mkSetEventFn(type)(transfer);\n    const setDragstartEvent = mkSetEventFn(0);\n    const setDropEvent = mkSetEventFn(2);\n    const setDragendEvent = mkSetEventFn(1);\n    const checkEvent = expectedType => transfer => {\n      const dt = transfer;\n      return Optional.from(dt[eventId]).exists(type => type === expectedType);\n    };\n    const isInDragStartEvent = checkEvent(0);\n\n    const createEmptyFileList = () => Object.freeze({\n      length: 0,\n      item: _ => null\n    });\n\n    const modeId = generate$1('mode');\n    const getMode = transfer => {\n      const dt = transfer;\n      return Optional.from(dt[modeId]);\n    };\n    const mkSetModeFn = mode => transfer => {\n      const dt = transfer;\n      dt[modeId] = mode;\n    };\n    const setMode$1 = (transfer, mode) => mkSetModeFn(mode)(transfer);\n    const setReadWriteMode = mkSetModeFn(0);\n    const setReadOnlyMode = mkSetModeFn(2);\n    const setProtectedMode = mkSetModeFn(1);\n    const checkMode = expectedMode => transfer => {\n      const dt = transfer;\n      return Optional.from(dt[modeId]).exists(mode => mode === expectedMode);\n    };\n    const isInReadWriteMode = checkMode(0);\n    const isInProtectedMode = checkMode(1);\n\n    const normalizeItems = (dataTransfer, itemsImpl) => ({\n      ...itemsImpl,\n      get length() {\n        return itemsImpl.length;\n      },\n      add: (data, type) => {\n        if (isInReadWriteMode(dataTransfer)) {\n          if (isString(data)) {\n            if (!isUndefined(type)) {\n              return itemsImpl.add(data, type);\n            }\n          } else {\n            return itemsImpl.add(data);\n          }\n        }\n        return null;\n      },\n      remove: idx => {\n        if (isInReadWriteMode(dataTransfer)) {\n          itemsImpl.remove(idx);\n        }\n      },\n      clear: () => {\n        if (isInReadWriteMode(dataTransfer)) {\n          itemsImpl.clear();\n        }\n      }\n    });\n\n    const validDropEffects = ['none', 'copy', 'link', 'move'];\n    const validEffectAlloweds = ['none', 'copy', 'copyLink', 'copyMove', 'link', 'linkMove', 'move', 'all', 'uninitialized'];\n    const createDataTransfer = () => {\n      const dataTransferImpl = new window.DataTransfer();\n      let dropEffect = 'move';\n      let effectAllowed = 'all';\n      const dataTransfer = {\n        get dropEffect() {\n          return dropEffect;\n        },\n        set dropEffect(effect) {\n          if (contains$2(validDropEffects, effect)) {\n            dropEffect = effect;\n          }\n        },\n        get effectAllowed() {\n          return effectAllowed;\n        },\n        set effectAllowed(allowed) {\n          if (isInDragStartEvent(dataTransfer) && contains$2(validEffectAlloweds, allowed)) {\n            effectAllowed = allowed;\n          }\n        },\n        get items() {\n          return normalizeItems(dataTransfer, dataTransferImpl.items);\n        },\n        get files() {\n          if (isInProtectedMode(dataTransfer)) {\n            return createEmptyFileList();\n          } else {\n            return dataTransferImpl.files;\n          }\n        },\n        get types() {\n          return dataTransferImpl.types;\n        },\n        setDragImage: (image, x, y) => {\n          if (isInReadWriteMode(dataTransfer)) {\n            setDragImage(dataTransfer, {\n              image,\n              x,\n              y\n            });\n            dataTransferImpl.setDragImage(image, x, y);\n          }\n        },\n        getData: format => {\n          if (isInProtectedMode(dataTransfer)) {\n            return '';\n          } else {\n            return dataTransferImpl.getData(format);\n          }\n        },\n        setData: (format, data) => {\n          if (isInReadWriteMode(dataTransfer)) {\n            dataTransferImpl.setData(format, data);\n          }\n        },\n        clearData: format => {\n          if (isInReadWriteMode(dataTransfer)) {\n            dataTransferImpl.clearData(format);\n          }\n        }\n      };\n      setReadWriteMode(dataTransfer);\n      return dataTransfer;\n    };\n    const cloneDataTransfer = original => {\n      const clone = createDataTransfer();\n      const originalMode = getMode(original);\n      setReadOnlyMode(original);\n      setDragstartEvent(clone);\n      clone.dropEffect = original.dropEffect;\n      clone.effectAllowed = original.effectAllowed;\n      getDragImage(original).each(imageData => clone.setDragImage(imageData.image, imageData.x, imageData.y));\n      each$e(original.types, type => {\n        if (type !== 'Files') {\n          clone.setData(type, original.getData(type));\n        }\n      });\n      each$e(original.files, file => clone.items.add(file));\n      getEvent(original).each(type => {\n        setEvent(clone, type);\n      });\n      originalMode.each(mode => {\n        setMode$1(original, mode);\n        setMode$1(clone, mode);\n      });\n      return clone;\n    };\n\n    const getHtmlData = dataTransfer => {\n      const html = dataTransfer.getData('text/html');\n      return html === '' ? Optional.none() : Optional.some(html);\n    };\n    const setHtmlData = (dataTransfer, html) => dataTransfer.setData('text/html', html);\n\n    const internalMimeType = 'x-tinymce/html';\n    const internalHtmlMime = constant(internalMimeType);\n    const internalMark = '<!-- ' + internalMimeType + ' -->';\n    const mark = html => internalMark + html;\n    const unmark = html => html.replace(internalMark, '');\n    const isMarked = html => html.indexOf(internalMark) !== -1;\n\n    const isPlainText = text => {\n      return !/<(?:\\/?(?!(?:div|p|br|span)>)\\w+|(?:(?!(?:span style=\"white-space:\\s?pre;?\">)|br\\s?\\/>))\\w+\\s[^>]+)>/i.test(text);\n    };\n    const openContainer = (rootTag, rootAttrs) => {\n      let tag = '<' + rootTag;\n      const attrs = mapToArray(rootAttrs, (value, key) => key + '=\"' + Entities.encodeAllRaw(value) + '\"');\n      if (attrs.length) {\n        tag += ' ' + attrs.join(' ');\n      }\n      return tag + '>';\n    };\n    const toBlockElements = (text, rootTag, rootAttrs) => {\n      const blocks = text.split(/\\n\\n/);\n      const tagOpen = openContainer(rootTag, rootAttrs);\n      const tagClose = '<\/' + rootTag + '>';\n      const paragraphs = map$3(blocks, p => {\n        return p.split(/\\n/).join('<br />');\n      });\n      const stitch = p => {\n        return tagOpen + p + tagClose;\n      };\n      return paragraphs.length === 1 ? paragraphs[0] : map$3(paragraphs, stitch).join('');\n    };\n\n    const pasteBinDefaultContent = '%MCEPASTEBIN%';\n    const create$6 = (editor, lastRngCell) => {\n      const {\n        dom,\n        selection\n      } = editor;\n      const body = editor.getBody();\n      lastRngCell.set(selection.getRng());\n      const pasteBinElm = dom.add(editor.getBody(), 'div', {\n        'id': 'mcepastebin',\n        'class': 'mce-pastebin',\n        'contentEditable': true,\n        'data-mce-bogus': 'all',\n        'style': 'position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0'\n      }, pasteBinDefaultContent);\n      if (Env.browser.isFirefox()) {\n        dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) === 'rtl' ? 65535 : -65535);\n      }\n      dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', e => {\n        e.stopPropagation();\n      });\n      pasteBinElm.focus();\n      selection.select(pasteBinElm, true);\n    };\n    const remove = (editor, lastRngCell) => {\n      const dom = editor.dom;\n      if (getEl(editor)) {\n        let pasteBinClone;\n        const lastRng = lastRngCell.get();\n        while (pasteBinClone = getEl(editor)) {\n          dom.remove(pasteBinClone);\n          dom.unbind(pasteBinClone);\n        }\n        if (lastRng) {\n          editor.selection.setRng(lastRng);\n        }\n      }\n      lastRngCell.set(null);\n    };\n    const getEl = editor => editor.dom.get('mcepastebin');\n    const isPasteBin = elm => isNonNullable(elm) && elm.id === 'mcepastebin';\n    const getHtml = editor => {\n      const dom = editor.dom;\n      const copyAndRemove = (toElm, fromElm) => {\n        toElm.appendChild(fromElm);\n        dom.remove(fromElm, true);\n      };\n      const [pasteBinElm, ...pasteBinClones] = filter$5(editor.getBody().childNodes, isPasteBin);\n      each$e(pasteBinClones, pasteBinClone => {\n        copyAndRemove(pasteBinElm, pasteBinClone);\n      });\n      const dirtyWrappers = dom.select('div[id=mcepastebin]', pasteBinElm);\n      for (let i = dirtyWrappers.length - 1; i >= 0; i--) {\n        const cleanWrapper = dom.create('div');\n        pasteBinElm.insertBefore(cleanWrapper, dirtyWrappers[i]);\n        copyAndRemove(cleanWrapper, dirtyWrappers[i]);\n      }\n      return pasteBinElm ? pasteBinElm.innerHTML : '';\n    };\n    const isDefaultPasteBinContent = content => content === pasteBinDefaultContent;\n    const PasteBin = editor => {\n      const lastRng = Cell(null);\n      return {\n        create: () => create$6(editor, lastRng),\n        remove: () => remove(editor, lastRng),\n        getEl: () => getEl(editor),\n        getHtml: () => getHtml(editor),\n        getLastRng: lastRng.get\n      };\n    };\n\n    const filter$1 = (content, items) => {\n      Tools.each(items, v => {\n        if (is$4(v, RegExp)) {\n          content = content.replace(v, '');\n        } else {\n          content = content.replace(v[0], v[1]);\n        }\n      });\n      return content;\n    };\n    const innerText = html => {\n      const schema = Schema();\n      const domParser = DomParser({}, schema);\n      let text = '';\n      const voidElements = schema.getVoidElements();\n      const ignoreElements = Tools.makeMap('script noscript style textarea video audio iframe object', ' ');\n      const blockElements = schema.getBlockElements();\n      const walk = node => {\n        const name = node.name,\n          currentNode = node;\n        if (name === 'br') {\n          text += '\\n';\n          return;\n        }\n        if (name === 'wbr') {\n          return;\n        }\n        if (voidElements[name]) {\n          text += ' ';\n        }\n        if (ignoreElements[name]) {\n          text += ' ';\n          return;\n        }\n        if (node.type === 3) {\n          text += node.value;\n        }\n        if (!(node.name in schema.getVoidElements())) {\n          let currentNode = node.firstChild;\n          if (currentNode) {\n            do {\n              walk(currentNode);\n            } while (currentNode = currentNode.next);\n          }\n        }\n        if (blockElements[name] && currentNode.next) {\n          text += '\\n';\n          if (name === 'p') {\n            text += '\\n';\n          }\n        }\n      };\n      html = filter$1(html, [/<!\\[[^\\]]+\\]>/g]);\n      walk(domParser.parse(html));\n      return text;\n    };\n    const trimHtml = html => {\n      const trimSpaces = (all, s1, s2) => {\n        if (!s1 && !s2) {\n          return ' ';\n        }\n        return nbsp;\n      };\n      html = filter$1(html, [/^[\\s\\S]*<body[^>]*>\\s*|\\s*<\\/body[^>]*>[\\s\\S]*$/ig, /<!--StartFragment-->|<!--EndFragment-->/g, [/( ?)<span class=\"Apple-converted-space\">\\u00a0<\\/span>( ?)/g, trimSpaces], /<br class=\"Apple-interchange-newline\">/g, /<br>$/i]);\n      return html;\n    };\n    const createIdGenerator = prefix => {\n      let count = 0;\n      return () => {\n        return prefix + count++;\n      };\n    };\n    const getImageMimeType = ext => {\n      const lowerExt = ext.toLowerCase();\n      const mimeOverrides = {\n        jpg: 'jpeg',\n        jpe: 'jpeg',\n        jfi: 'jpeg',\n        jif: 'jpeg',\n        jfif: 'jpeg',\n        pjpeg: 'jpeg',\n        pjp: 'jpeg',\n        svg: 'svg+xml'\n      };\n      return Tools.hasOwn(mimeOverrides, lowerExt) ? 'image/' + mimeOverrides[lowerExt] : 'image/' + lowerExt;\n    };\n\n    const preProcess = (editor, html) => {\n      const parser = DomParser({\n        sanitize: shouldSanitizeXss(editor),\n        sandbox_iframes: shouldSandboxIframes(editor)\n      }, editor.schema);\n      parser.addNodeFilter('meta', nodes => {\n        Tools.each(nodes, node => {\n          node.remove();\n        });\n      });\n      const fragment = parser.parse(html, {\n        forced_root_block: false,\n        isRootContent: true\n      });\n      return HtmlSerializer({\n        validate: true\n      }, editor.schema).serialize(fragment);\n    };\n    const processResult = (content, cancelled) => ({\n      content,\n      cancelled\n    });\n    const postProcessFilter = (editor, html, internal) => {\n      const tempBody = editor.dom.create('div', {\n        style: 'display:none'\n      }, html);\n      const postProcessArgs = firePastePostProcess(editor, tempBody, internal);\n      return processResult(postProcessArgs.node.innerHTML, postProcessArgs.isDefaultPrevented());\n    };\n    const filterContent = (editor, content, internal) => {\n      const preProcessArgs = firePastePreProcess(editor, content, internal);\n      const filteredContent = preProcess(editor, preProcessArgs.content);\n      if (editor.hasEventListeners('PastePostProcess') && !preProcessArgs.isDefaultPrevented()) {\n        return postProcessFilter(editor, filteredContent, internal);\n      } else {\n        return processResult(filteredContent, preProcessArgs.isDefaultPrevented());\n      }\n    };\n    const process = (editor, html, internal) => {\n      return filterContent(editor, html, internal);\n    };\n\n    const pasteHtml$1 = (editor, html) => {\n      editor.insertContent(html, {\n        merge: shouldPasteMergeFormats(editor),\n        paste: true\n      });\n      return true;\n    };\n    const isAbsoluteUrl = url => /^https?:\\/\\/[\\w\\-\\/+=.,!;:&%@^~(){}?#]+$/i.test(url);\n    const isImageUrl = (editor, url) => {\n      return isAbsoluteUrl(url) && exists(getAllowedImageFileTypes(editor), type => endsWith(url.toLowerCase(), \".\".concat(type.toLowerCase())));\n    };\n    const createImage = (editor, url, pasteHtmlFn) => {\n      editor.undoManager.extra(() => {\n        pasteHtmlFn(editor, url);\n      }, () => {\n        editor.insertContent('<img src=\"' + url + '\">');\n      });\n      return true;\n    };\n    const createLink = (editor, url, pasteHtmlFn) => {\n      editor.undoManager.extra(() => {\n        pasteHtmlFn(editor, url);\n      }, () => {\n        editor.execCommand('mceInsertLink', false, url);\n      });\n      return true;\n    };\n    const linkSelection = (editor, html, pasteHtmlFn) => !editor.selection.isCollapsed() && isAbsoluteUrl(html) ? createLink(editor, html, pasteHtmlFn) : false;\n    const insertImage = (editor, html, pasteHtmlFn) => isImageUrl(editor, html) ? createImage(editor, html, pasteHtmlFn) : false;\n    const smartInsertContent = (editor, html) => {\n      Tools.each([linkSelection, insertImage, pasteHtml$1], action => {\n        return !action(editor, html, pasteHtml$1);\n      });\n    };\n    const insertContent = (editor, html, pasteAsText) => {\n      if (pasteAsText || !isSmartPasteEnabled(editor)) {\n        pasteHtml$1(editor, html);\n      } else {\n        smartInsertContent(editor, html);\n      }\n    };\n\n    const uniqueId = createIdGenerator('mceclip');\n    const createPasteDataTransfer = html => {\n      const dataTransfer = createDataTransfer();\n      setHtmlData(dataTransfer, html);\n      setReadOnlyMode(dataTransfer);\n      return dataTransfer;\n    };\n    const doPaste = (editor, content, internal, pasteAsText, shouldSimulateInputEvent) => {\n      const res = process(editor, content, internal);\n      if (!res.cancelled) {\n        const content = res.content;\n        const doPasteAction = () => insertContent(editor, content, pasteAsText);\n        if (shouldSimulateInputEvent) {\n          const args = fireBeforeInputEvent(editor, 'insertFromPaste', {\n            dataTransfer: createPasteDataTransfer(content)\n          });\n          if (!args.isDefaultPrevented()) {\n            doPasteAction();\n            fireInputEvent(editor, 'insertFromPaste');\n          }\n        } else {\n          doPasteAction();\n        }\n      }\n    };\n    const pasteHtml = (editor, html, internalFlag, shouldSimulateInputEvent) => {\n      const internal = internalFlag ? internalFlag : isMarked(html);\n      doPaste(editor, unmark(html), internal, false, shouldSimulateInputEvent);\n    };\n    const pasteText = (editor, text, shouldSimulateInputEvent) => {\n      const encodedText = editor.dom.encode(text).replace(/\\r\\n/g, '\\n');\n      const normalizedText = normalize$4(encodedText, getPasteTabSpaces(editor));\n      const html = toBlockElements(normalizedText, getForcedRootBlock(editor), getForcedRootBlockAttrs(editor));\n      doPaste(editor, html, false, true, shouldSimulateInputEvent);\n    };\n    const getDataTransferItems = dataTransfer => {\n      const items = {};\n      if (dataTransfer && dataTransfer.types) {\n        for (let i = 0; i < dataTransfer.types.length; i++) {\n          const contentType = dataTransfer.types[i];\n          try {\n            items[contentType] = dataTransfer.getData(contentType);\n          } catch (ex) {\n            items[contentType] = '';\n          }\n        }\n      }\n      return items;\n    };\n    const hasContentType = (clipboardContent, mimeType) => mimeType in clipboardContent && clipboardContent[mimeType].length > 0;\n    const hasHtmlOrText = content => hasContentType(content, 'text/html') || hasContentType(content, 'text/plain');\n    const extractFilename = (editor, str) => {\n      const m = str.match(/([\\s\\S]+?)(?:\\.[a-z0-9.]+)$/i);\n      return isNonNullable(m) ? editor.dom.encode(m[1]) : undefined;\n    };\n    const createBlobInfo = (editor, blobCache, file, base64) => {\n      const id = uniqueId();\n      const useFileName = shouldReuseFileName(editor) && isNonNullable(file.name);\n      const name = useFileName ? extractFilename(editor, file.name) : id;\n      const filename = useFileName ? file.name : undefined;\n      const blobInfo = blobCache.create(id, file, base64, name, filename);\n      blobCache.add(blobInfo);\n      return blobInfo;\n    };\n    const pasteImage = (editor, imageItem) => {\n      parseDataUri(imageItem.uri).each(({\n        data,\n        type,\n        base64Encoded\n      }) => {\n        const base64 = base64Encoded ? data : btoa(data);\n        const file = imageItem.file;\n        const blobCache = editor.editorUpload.blobCache;\n        const existingBlobInfo = blobCache.getByData(base64, type);\n        const blobInfo = existingBlobInfo !== null && existingBlobInfo !== void 0 ? existingBlobInfo : createBlobInfo(editor, blobCache, file, base64);\n        pasteHtml(editor, \"<img src=\\\"\".concat(blobInfo.blobUri(), \"\\\">\"), false, true);\n      });\n    };\n    const isClipboardEvent = event => event.type === 'paste';\n    const readFilesAsDataUris = items => Promise.all(map$3(items, file => {\n      return blobToDataUri(file).then(uri => ({\n        file,\n        uri\n      }));\n    }));\n    const isImage = editor => {\n      const allowedExtensions = getAllowedImageFileTypes(editor);\n      return file => startsWith(file.type, 'image/') && exists(allowedExtensions, extension => {\n        return getImageMimeType(extension) === file.type;\n      });\n    };\n    const getImagesFromDataTransfer = (editor, dataTransfer) => {\n      const items = dataTransfer.items ? bind$3(from(dataTransfer.items), item => {\n        return item.kind === 'file' ? [item.getAsFile()] : [];\n      }) : [];\n      const files = dataTransfer.files ? from(dataTransfer.files) : [];\n      return filter$5(items.length > 0 ? items : files, isImage(editor));\n    };\n    const pasteImageData = (editor, e, rng) => {\n      const dataTransfer = isClipboardEvent(e) ? e.clipboardData : e.dataTransfer;\n      if (shouldPasteDataImages(editor) && dataTransfer) {\n        const images = getImagesFromDataTransfer(editor, dataTransfer);\n        if (images.length > 0) {\n          e.preventDefault();\n          readFilesAsDataUris(images).then(fileResults => {\n            if (rng) {\n              editor.selection.setRng(rng);\n            }\n            each$e(fileResults, result => {\n              pasteImage(editor, result);\n            });\n          });\n          return true;\n        }\n      }\n      return false;\n    };\n    const isBrokenAndroidClipboardEvent = e => {\n      var _a, _b;\n      return Env.os.isAndroid() && ((_b = (_a = e.clipboardData) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.length) === 0;\n    };\n    const isKeyboardPasteEvent = e => VK.metaKeyPressed(e) && e.keyCode === 86 || e.shiftKey && e.keyCode === 45;\n    const insertClipboardContent = (editor, clipboardContent, html, plainTextMode, shouldSimulateInputEvent) => {\n      let content = trimHtml(html);\n      const isInternal = hasContentType(clipboardContent, internalHtmlMime()) || isMarked(html);\n      const isPlainTextHtml = !isInternal && isPlainText(content);\n      const isAbsoluteUrl$1 = isAbsoluteUrl(content);\n      if (isDefaultPasteBinContent(content) || !content.length || isPlainTextHtml && !isAbsoluteUrl$1) {\n        plainTextMode = true;\n      }\n      if (plainTextMode || isAbsoluteUrl$1) {\n        if (hasContentType(clipboardContent, 'text/plain') && isPlainTextHtml) {\n          content = clipboardContent['text/plain'];\n        } else {\n          content = innerText(content);\n        }\n      }\n      if (isDefaultPasteBinContent(content)) {\n        return;\n      }\n      if (plainTextMode) {\n        pasteText(editor, content, shouldSimulateInputEvent);\n      } else {\n        pasteHtml(editor, content, isInternal, shouldSimulateInputEvent);\n      }\n    };\n    const registerEventHandlers = (editor, pasteBin, pasteFormat) => {\n      let keyboardPastePlainTextState;\n      const getLastRng = () => pasteBin.getLastRng() || editor.selection.getRng();\n      editor.on('keydown', e => {\n        if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {\n          keyboardPastePlainTextState = e.shiftKey && e.keyCode === 86;\n        }\n      });\n      editor.on('paste', e => {\n        if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) {\n          return;\n        }\n        const plainTextMode = pasteFormat.get() === 'text' || keyboardPastePlainTextState;\n        keyboardPastePlainTextState = false;\n        const clipboardContent = getDataTransferItems(e.clipboardData);\n        if (!hasHtmlOrText(clipboardContent) && pasteImageData(editor, e, getLastRng())) {\n          return;\n        }\n        if (hasContentType(clipboardContent, 'text/html')) {\n          e.preventDefault();\n          insertClipboardContent(editor, clipboardContent, clipboardContent['text/html'], plainTextMode, true);\n        } else if (hasContentType(clipboardContent, 'text/plain') && hasContentType(clipboardContent, 'text/uri-list')) {\n          e.preventDefault();\n          insertClipboardContent(editor, clipboardContent, clipboardContent['text/plain'], plainTextMode, true);\n        } else {\n          pasteBin.create();\n          Delay.setEditorTimeout(editor, () => {\n            const html = pasteBin.getHtml();\n            pasteBin.remove();\n            insertClipboardContent(editor, clipboardContent, html, plainTextMode, false);\n          }, 0);\n        }\n      });\n    };\n    const registerDataImageFilter = editor => {\n      const isWebKitFakeUrl = src => startsWith(src, 'webkit-fake-url');\n      const isDataUri = src => startsWith(src, 'data:');\n      const isPasteInsert = args => {\n        var _a;\n        return ((_a = args.data) === null || _a === void 0 ? void 0 : _a.paste) === true;\n      };\n      editor.parser.addNodeFilter('img', (nodes, name, args) => {\n        if (!shouldPasteDataImages(editor) && isPasteInsert(args)) {\n          for (const node of nodes) {\n            const src = node.attr('src');\n            if (isString(src) && !node.attr('data-mce-object') && src !== Env.transparentSrc) {\n              if (isWebKitFakeUrl(src)) {\n                node.remove();\n              } else if (!shouldAllowHtmlDataUrls(editor) && isDataUri(src)) {\n                node.remove();\n              }\n            }\n          }\n        }\n      });\n    };\n    const registerEventsAndFilters = (editor, pasteBin, pasteFormat) => {\n      registerEventHandlers(editor, pasteBin, pasteFormat);\n      registerDataImageFilter(editor);\n    };\n\n    const togglePlainTextPaste = (editor, pasteFormat) => {\n      if (pasteFormat.get() === 'text') {\n        pasteFormat.set('html');\n        firePastePlainTextToggle(editor, false);\n      } else {\n        pasteFormat.set('text');\n        firePastePlainTextToggle(editor, true);\n      }\n      editor.focus();\n    };\n    const register$1 = (editor, pasteFormat) => {\n      editor.addCommand('mceTogglePlainTextPaste', () => {\n        togglePlainTextPaste(editor, pasteFormat);\n      });\n      editor.addCommand('mceInsertClipboardContent', (ui, value) => {\n        if (value.html) {\n          pasteHtml(editor, value.html, value.internal, false);\n        }\n        if (value.text) {\n          pasteText(editor, value.text, false);\n        }\n      });\n    };\n\n    const setHtml5Clipboard = (clipboardData, html, text) => {\n      if (clipboardData) {\n        try {\n          clipboardData.clearData();\n          clipboardData.setData('text/html', html);\n          clipboardData.setData('text/plain', text);\n          clipboardData.setData(internalHtmlMime(), html);\n          return true;\n        } catch (e) {\n          return false;\n        }\n      } else {\n        return false;\n      }\n    };\n    const setClipboardData = (evt, data, fallback, done) => {\n      if (setHtml5Clipboard(evt.clipboardData, data.html, data.text)) {\n        evt.preventDefault();\n        done();\n      } else {\n        fallback(data.html, done);\n      }\n    };\n    const fallback = editor => (html, done) => {\n      const {\n        dom,\n        selection\n      } = editor;\n      const outer = dom.create('div', {\n        'contenteditable': 'false',\n        'data-mce-bogus': 'all'\n      });\n      const inner = dom.create('div', {\n        contenteditable: 'true'\n      }, html);\n      dom.setStyles(outer, {\n        position: 'fixed',\n        top: '0',\n        left: '-3000px',\n        width: '1000px',\n        overflow: 'hidden'\n      });\n      outer.appendChild(inner);\n      dom.add(editor.getBody(), outer);\n      const range = selection.getRng();\n      inner.focus();\n      const offscreenRange = dom.createRng();\n      offscreenRange.selectNodeContents(inner);\n      selection.setRng(offscreenRange);\n      Delay.setEditorTimeout(editor, () => {\n        selection.setRng(range);\n        dom.remove(outer);\n        done();\n      }, 0);\n    };\n    const getData = editor => ({\n      html: mark(editor.selection.getContent({\n        contextual: true\n      })),\n      text: editor.selection.getContent({\n        format: 'text'\n      })\n    });\n    const isTableSelection = editor => !!editor.dom.getParent(editor.selection.getStart(), 'td[data-mce-selected],th[data-mce-selected]', editor.getBody());\n    const hasSelectedContent = editor => !editor.selection.isCollapsed() || isTableSelection(editor);\n    const cut = editor => evt => {\n      if (!evt.isDefaultPrevented() && hasSelectedContent(editor) && editor.selection.isEditable()) {\n        setClipboardData(evt, getData(editor), fallback(editor), () => {\n          if (Env.browser.isChromium() || Env.browser.isFirefox()) {\n            const rng = editor.selection.getRng();\n            Delay.setEditorTimeout(editor, () => {\n              editor.selection.setRng(rng);\n              editor.execCommand('Delete');\n            }, 0);\n          } else {\n            editor.execCommand('Delete');\n          }\n        });\n      }\n    };\n    const copy = editor => evt => {\n      if (!evt.isDefaultPrevented() && hasSelectedContent(editor)) {\n        setClipboardData(evt, getData(editor), fallback(editor), noop);\n      }\n    };\n    const register = editor => {\n      editor.on('cut', cut(editor));\n      editor.on('copy', copy(editor));\n    };\n\n    const getCaretRangeFromEvent = (editor, e) => {\n      var _a, _b;\n      return RangeUtils.getCaretRangeFromPoint((_a = e.clientX) !== null && _a !== void 0 ? _a : 0, (_b = e.clientY) !== null && _b !== void 0 ? _b : 0, editor.getDoc());\n    };\n    const isPlainTextFileUrl = content => {\n      const plainTextContent = content['text/plain'];\n      return plainTextContent ? plainTextContent.indexOf('file://') === 0 : false;\n    };\n    const setFocusedRange = (editor, rng) => {\n      editor.focus();\n      if (rng) {\n        editor.selection.setRng(rng);\n      }\n    };\n    const hasImage = dataTransfer => exists(dataTransfer.files, file => /^image\\//.test(file.type));\n    const needsCustomInternalDrop = (dom, schema, target, dropContent) => {\n      const parentTransparent = dom.getParent(target, node => isTransparentBlock(schema, node));\n      const inSummary = !isNull(dom.getParent(target, 'summary'));\n      if (inSummary) {\n        return true;\n      } else if (parentTransparent && has$2(dropContent, 'text/html')) {\n        const fragment = new DOMParser().parseFromString(dropContent['text/html'], 'text/html').body;\n        return !isNull(fragment.querySelector(parentTransparent.nodeName.toLowerCase()));\n      } else {\n        return false;\n      }\n    };\n    const setupSummaryDeleteByDragFix = editor => {\n      editor.on('input', e => {\n        const hasNoSummary = el => isNull(el.querySelector('summary'));\n        if (e.inputType === 'deleteByDrag') {\n          const brokenDetailElements = filter$5(editor.dom.select('details'), hasNoSummary);\n          each$e(brokenDetailElements, details => {\n            if (isBr$6(details.firstChild)) {\n              details.firstChild.remove();\n            }\n            const summary = editor.dom.create('summary');\n            summary.appendChild(createPaddingBr().dom);\n            details.prepend(summary);\n          });\n        }\n      });\n    };\n    const setup$a = (editor, draggingInternallyState) => {\n      if (shouldPasteBlockDrop(editor)) {\n        editor.on('dragend dragover draggesture dragdrop drop drag', e => {\n          e.preventDefault();\n          e.stopPropagation();\n        });\n      }\n      if (!shouldPasteDataImages(editor)) {\n        editor.on('drop', e => {\n          const dataTransfer = e.dataTransfer;\n          if (dataTransfer && hasImage(dataTransfer)) {\n            e.preventDefault();\n          }\n        });\n      }\n      editor.on('drop', e => {\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        const rng = getCaretRangeFromEvent(editor, e);\n        if (isNullable(rng)) {\n          return;\n        }\n        const dropContent = getDataTransferItems(e.dataTransfer);\n        const internal = hasContentType(dropContent, internalHtmlMime());\n        if ((!hasHtmlOrText(dropContent) || isPlainTextFileUrl(dropContent)) && pasteImageData(editor, e, rng)) {\n          return;\n        }\n        const internalContent = dropContent[internalHtmlMime()];\n        const content = internalContent || dropContent['text/html'] || dropContent['text/plain'];\n        const needsInternalDrop = needsCustomInternalDrop(editor.dom, editor.schema, rng.startContainer, dropContent);\n        const isInternalDrop = draggingInternallyState.get();\n        if (isInternalDrop && !needsInternalDrop) {\n          return;\n        }\n        if (content) {\n          e.preventDefault();\n          Delay.setEditorTimeout(editor, () => {\n            editor.undoManager.transact(() => {\n              if (internalContent || isInternalDrop && needsInternalDrop) {\n                editor.execCommand('Delete');\n              }\n              setFocusedRange(editor, rng);\n              const trimmedContent = trimHtml(content);\n              if (dropContent['text/html']) {\n                pasteHtml(editor, trimmedContent, internal, true);\n              } else {\n                pasteText(editor, trimmedContent, true);\n              }\n            });\n          });\n        }\n      });\n      editor.on('dragstart', _e => {\n        draggingInternallyState.set(true);\n      });\n      editor.on('dragover dragend', e => {\n        if (shouldPasteDataImages(editor) && !draggingInternallyState.get()) {\n          e.preventDefault();\n          setFocusedRange(editor, getCaretRangeFromEvent(editor, e));\n        }\n        if (e.type === 'dragend') {\n          draggingInternallyState.set(false);\n        }\n      });\n      setupSummaryDeleteByDragFix(editor);\n    };\n\n    const setup$9 = editor => {\n      const processEvent = f => e => {\n        f(editor, e);\n      };\n      const preProcess = getPastePreProcess(editor);\n      if (isFunction(preProcess)) {\n        editor.on('PastePreProcess', processEvent(preProcess));\n      }\n      const postProcess = getPastePostProcess(editor);\n      if (isFunction(postProcess)) {\n        editor.on('PastePostProcess', processEvent(postProcess));\n      }\n    };\n\n    const addPreProcessFilter = (editor, filterFunc) => {\n      editor.on('PastePreProcess', e => {\n        e.content = filterFunc(editor, e.content, e.internal);\n      });\n    };\n    const rgbRegExp = /rgb\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/gi;\n    const rgbToHex = value => Tools.trim(value).replace(rgbRegExp, rgbaToHexString).toLowerCase();\n    const removeWebKitStyles = (editor, content, internal) => {\n      const webKitStylesOption = getPasteWebkitStyles(editor);\n      if (internal || webKitStylesOption === 'all' || !shouldPasteRemoveWebKitStyles(editor)) {\n        return content;\n      }\n      const webKitStyles = webKitStylesOption ? webKitStylesOption.split(/[, ]/) : [];\n      if (webKitStyles && webKitStylesOption !== 'none') {\n        const dom = editor.dom,\n          node = editor.selection.getNode();\n        content = content.replace(/(<[^>]+) style=\"([^\"]*)\"([^>]*>)/gi, (all, before, value, after) => {\n          const inputStyles = dom.parseStyle(dom.decode(value));\n          const outputStyles = {};\n          for (let i = 0; i < webKitStyles.length; i++) {\n            const inputValue = inputStyles[webKitStyles[i]];\n            let compareInput = inputValue;\n            let currentValue = dom.getStyle(node, webKitStyles[i], true);\n            if (/color/.test(webKitStyles[i])) {\n              compareInput = rgbToHex(compareInput);\n              currentValue = rgbToHex(currentValue);\n            }\n            if (currentValue !== compareInput) {\n              outputStyles[webKitStyles[i]] = inputValue;\n            }\n          }\n          const outputStyle = dom.serializeStyle(outputStyles, 'span');\n          if (outputStyle) {\n            return before + ' style=\"' + outputStyle + '\"' + after;\n          }\n          return before + after;\n        });\n      } else {\n        content = content.replace(/(<[^>]+) style=\"([^\"]*)\"([^>]*>)/gi, '$1$3');\n      }\n      content = content.replace(/(<[^>]+) data-mce-style=\"([^\"]+)\"([^>]*>)/gi, (all, before, value, after) => {\n        return before + ' style=\"' + value + '\"' + after;\n      });\n      return content;\n    };\n    const setup$8 = editor => {\n      if (Env.browser.isChromium() || Env.browser.isSafari()) {\n        addPreProcessFilter(editor, removeWebKitStyles);\n      }\n    };\n\n    const setup$7 = editor => {\n      const draggingInternallyState = Cell(false);\n      const pasteFormat = Cell(isPasteAsTextEnabled(editor) ? 'text' : 'html');\n      const pasteBin = PasteBin(editor);\n      setup$8(editor);\n      register$1(editor, pasteFormat);\n      setup$9(editor);\n      editor.on('PreInit', () => {\n        register(editor);\n        setup$a(editor, draggingInternallyState);\n        registerEventsAndFilters(editor, pasteBin, pasteFormat);\n      });\n    };\n\n    const preventSummaryToggle = editor => {\n      editor.on('click', e => {\n        if (editor.dom.getParent(e.target, 'details')) {\n          e.preventDefault();\n        }\n      });\n    };\n    const filterDetails = editor => {\n      editor.parser.addNodeFilter('details', elms => {\n        const initialStateOption = getDetailsInitialState(editor);\n        each$e(elms, details => {\n          if (initialStateOption === 'expanded') {\n            details.attr('open', 'open');\n          } else if (initialStateOption === 'collapsed') {\n            details.attr('open', null);\n          }\n        });\n      });\n      editor.serializer.addNodeFilter('details', elms => {\n        const serializedStateOption = getDetailsSerializedState(editor);\n        each$e(elms, details => {\n          if (serializedStateOption === 'expanded') {\n            details.attr('open', 'open');\n          } else if (serializedStateOption === 'collapsed') {\n            details.attr('open', null);\n          }\n        });\n      });\n    };\n    const setup$6 = editor => {\n      preventSummaryToggle(editor);\n      filterDetails(editor);\n    };\n\n    const isBr = isBr$6;\n    const isText = isText$a;\n    const isContentEditableFalse$2 = elm => isContentEditableFalse$b(elm.dom);\n    const isContentEditableTrue = elm => isContentEditableTrue$3(elm.dom);\n    const isRoot = rootNode => elm => eq(SugarElement.fromDom(rootNode), elm);\n    const getClosestScope = (node, rootNode, schema) => closest$4(SugarElement.fromDom(node), elm => isContentEditableTrue(elm) || schema.isBlock(name(elm)), isRoot(rootNode)).getOr(SugarElement.fromDom(rootNode)).dom;\n    const getClosestCef = (node, rootNode) => closest$4(SugarElement.fromDom(node), isContentEditableFalse$2, isRoot(rootNode));\n    const findEdgeCaretCandidate = (startNode, scope, forward) => {\n      const walker = new DomTreeWalker(startNode, scope);\n      const next = forward ? walker.next.bind(walker) : walker.prev.bind(walker);\n      let result = startNode;\n      for (let current = forward ? startNode : next(); current && !isBr(current); current = next()) {\n        if (isCaretCandidate$3(current)) {\n          result = current;\n        }\n      }\n      return result;\n    };\n    const findClosestBlockRange = (startRng, rootNode, schema) => {\n      const startPos = CaretPosition.fromRangeStart(startRng);\n      const clickNode = startPos.getNode();\n      const scope = getClosestScope(clickNode, rootNode, schema);\n      const startNode = findEdgeCaretCandidate(clickNode, scope, false);\n      const endNode = findEdgeCaretCandidate(clickNode, scope, true);\n      const rng = document.createRange();\n      getClosestCef(startNode, scope).fold(() => {\n        if (isText(startNode)) {\n          rng.setStart(startNode, 0);\n        } else {\n          rng.setStartBefore(startNode);\n        }\n      }, cef => rng.setStartBefore(cef.dom));\n      getClosestCef(endNode, scope).fold(() => {\n        if (isText(endNode)) {\n          rng.setEnd(endNode, endNode.data.length);\n        } else {\n          rng.setEndAfter(endNode);\n        }\n      }, cef => rng.setEndAfter(cef.dom));\n      return rng;\n    };\n    const onTripleClickSelect = editor => {\n      const rng = findClosestBlockRange(editor.selection.getRng(), editor.getBody(), editor.schema);\n      editor.selection.setRng(normalize(rng));\n    };\n    const setup$5 = editor => {\n      editor.on('mousedown', e => {\n        if (e.detail >= 3) {\n          e.preventDefault();\n          onTripleClickSelect(editor);\n        }\n      });\n    };\n\n    var FakeCaretPosition;\n    (function (FakeCaretPosition) {\n      FakeCaretPosition['Before'] = 'before';\n      FakeCaretPosition['After'] = 'after';\n    })(FakeCaretPosition || (FakeCaretPosition = {}));\n    const distanceToRectLeft = (clientRect, clientX) => Math.abs(clientRect.left - clientX);\n    const distanceToRectRight = (clientRect, clientX) => Math.abs(clientRect.right - clientX);\n    const isInsideY = (clientY, clientRect) => clientY >= clientRect.top && clientY <= clientRect.bottom;\n    const collidesY = (r1, r2) => r1.top < r2.bottom && r1.bottom > r2.top;\n    const isOverlapping = (r1, r2) => {\n      const overlap = overlapY(r1, r2) / Math.min(r1.height, r2.height);\n      return collidesY(r1, r2) && overlap > 0.5;\n    };\n    const splitRectsPerAxis = (rects, y) => {\n      const intersectingRects = filter$5(rects, rect => isInsideY(y, rect));\n      return boundingClientRectFromRects(intersectingRects).fold(() => [[], rects], boundingRect => {\n        const {\n          pass: horizontal,\n          fail: vertical\n        } = partition$2(rects, rect => isOverlapping(rect, boundingRect));\n        return [horizontal, vertical];\n      });\n    };\n    const clientInfo = (rect, clientX) => {\n      return {\n        node: rect.node,\n        position: distanceToRectLeft(rect, clientX) < distanceToRectRight(rect, clientX) ? FakeCaretPosition.Before : FakeCaretPosition.After\n      };\n    };\n    const horizontalDistance = (rect, x, _y) => x > rect.left && x < rect.right ? 0 : Math.min(Math.abs(rect.left - x), Math.abs(rect.right - x));\n    const closestChildCaretCandidateNodeRect = (children, clientX, clientY, findCloserTextNode) => {\n      const caretCandidateRect = rect => {\n        if (isCaretCandidate$3(rect.node)) {\n          return Optional.some(rect);\n        } else if (isElement$6(rect.node)) {\n          return closestChildCaretCandidateNodeRect(from(rect.node.childNodes), clientX, clientY, false);\n        } else {\n          return Optional.none();\n        }\n      };\n      const tryFindSecondBestTextNode = (closest, sndClosest, distance) => {\n        return caretCandidateRect(sndClosest).filter(rect => {\n          const deltaDistance = Math.abs(distance(closest, clientX, clientY) - distance(rect, clientX, clientY));\n          return deltaDistance < 2 && isText$a(rect.node);\n        });\n      };\n      const findClosestCaretCandidateNodeRect = (rects, distance) => {\n        const sortedRects = sort(rects, (r1, r2) => distance(r1, clientX, clientY) - distance(r2, clientX, clientY));\n        return findMap(sortedRects, caretCandidateRect).map(closest => {\n          if (findCloserTextNode && !isText$a(closest.node) && sortedRects.length > 1) {\n            return tryFindSecondBestTextNode(closest, sortedRects[1], distance).getOr(closest);\n          } else {\n            return closest;\n          }\n        });\n      };\n      const [horizontalRects, verticalRects] = splitRectsPerAxis(getClientRects(children), clientY);\n      const {\n        pass: above,\n        fail: below\n      } = partition$2(verticalRects, rect => rect.top < clientY);\n      return findClosestCaretCandidateNodeRect(horizontalRects, horizontalDistance).orThunk(() => findClosestCaretCandidateNodeRect(below, distanceToRectEdgeFromXY)).orThunk(() => findClosestCaretCandidateNodeRect(above, distanceToRectEdgeFromXY));\n    };\n    const traverseUp = (rootElm, scope, clientX, clientY) => {\n      const helper = (scope, prevScope) => {\n        const isDragGhostContainer = node => isElement$6(node) && node.classList.contains('mce-drag-container');\n        const childNodesWithoutGhost = filter$5(scope.dom.childNodes, not(isDragGhostContainer));\n        return prevScope.fold(() => closestChildCaretCandidateNodeRect(childNodesWithoutGhost, clientX, clientY, true), prevScope => {\n          const uncheckedChildren = filter$5(childNodesWithoutGhost, node => node !== prevScope.dom);\n          return closestChildCaretCandidateNodeRect(uncheckedChildren, clientX, clientY, true);\n        }).orThunk(() => {\n          const parent = eq(scope, rootElm) ? Optional.none() : parentElement(scope);\n          return parent.bind(newScope => helper(newScope, Optional.some(scope)));\n        });\n      };\n      return helper(scope, Optional.none());\n    };\n    const closestCaretCandidateNodeRect = (root, clientX, clientY) => {\n      const rootElm = SugarElement.fromDom(root);\n      const ownerDoc = documentOrOwner(rootElm);\n      const elementAtPoint = SugarElement.fromPoint(ownerDoc, clientX, clientY).filter(elm => contains(rootElm, elm));\n      const element = elementAtPoint.getOr(rootElm);\n      return traverseUp(rootElm, element, clientX, clientY);\n    };\n    const closestFakeCaretCandidate = (root, clientX, clientY) => closestCaretCandidateNodeRect(root, clientX, clientY).filter(rect => isFakeCaretTarget(rect.node)).map(rect => clientInfo(rect, clientX));\n\n    const getAbsolutePosition = elm => {\n      var _a, _b;\n      const clientRect = elm.getBoundingClientRect();\n      const doc = elm.ownerDocument;\n      const docElem = doc.documentElement;\n      const win = doc.defaultView;\n      return {\n        top: clientRect.top + ((_a = win === null || win === void 0 ? void 0 : win.scrollY) !== null && _a !== void 0 ? _a : 0) - docElem.clientTop,\n        left: clientRect.left + ((_b = win === null || win === void 0 ? void 0 : win.scrollX) !== null && _b !== void 0 ? _b : 0) - docElem.clientLeft\n      };\n    };\n    const getBodyPosition = editor => editor.inline ? getAbsolutePosition(editor.getBody()) : {\n      left: 0,\n      top: 0\n    };\n    const getScrollPosition = editor => {\n      const body = editor.getBody();\n      return editor.inline ? {\n        left: body.scrollLeft,\n        top: body.scrollTop\n      } : {\n        left: 0,\n        top: 0\n      };\n    };\n    const getBodyScroll = editor => {\n      const body = editor.getBody(),\n        docElm = editor.getDoc().documentElement;\n      const inlineScroll = {\n        left: body.scrollLeft,\n        top: body.scrollTop\n      };\n      const iframeScroll = {\n        left: body.scrollLeft || docElm.scrollLeft,\n        top: body.scrollTop || docElm.scrollTop\n      };\n      return editor.inline ? inlineScroll : iframeScroll;\n    };\n    const getMousePosition = (editor, event) => {\n      if (event.target.ownerDocument !== editor.getDoc()) {\n        const iframePosition = getAbsolutePosition(editor.getContentAreaContainer());\n        const scrollPosition = getBodyScroll(editor);\n        return {\n          left: event.pageX - iframePosition.left + scrollPosition.left,\n          top: event.pageY - iframePosition.top + scrollPosition.top\n        };\n      }\n      return {\n        left: event.pageX,\n        top: event.pageY\n      };\n    };\n    const calculatePosition = (bodyPosition, scrollPosition, mousePosition) => ({\n      pageX: mousePosition.left - bodyPosition.left + scrollPosition.left,\n      pageY: mousePosition.top - bodyPosition.top + scrollPosition.top\n    });\n    const calc = (editor, event) => calculatePosition(getBodyPosition(editor), getScrollPosition(editor), getMousePosition(editor, event));\n\n    const getTargetProps = target => ({\n      target,\n      srcElement: target\n    });\n    const makeDndEventFromMouseEvent = (type, mouseEvent, target, dataTransfer) => ({\n      ...mouseEvent,\n      dataTransfer,\n      type,\n      ...getTargetProps(target)\n    });\n    const makeDndEvent = (type, target, dataTransfer) => {\n      const fail = die('Function not supported on simulated event.');\n      const event = {\n        bubbles: true,\n        cancelBubble: false,\n        cancelable: true,\n        composed: false,\n        currentTarget: null,\n        defaultPrevented: false,\n        eventPhase: 0,\n        isTrusted: true,\n        returnValue: false,\n        timeStamp: 0,\n        type,\n        composedPath: fail,\n        initEvent: fail,\n        preventDefault: noop,\n        stopImmediatePropagation: noop,\n        stopPropagation: noop,\n        AT_TARGET: window.Event.AT_TARGET,\n        BUBBLING_PHASE: window.Event.BUBBLING_PHASE,\n        CAPTURING_PHASE: window.Event.CAPTURING_PHASE,\n        NONE: window.Event.NONE,\n        altKey: false,\n        button: 0,\n        buttons: 0,\n        clientX: 0,\n        clientY: 0,\n        ctrlKey: false,\n        metaKey: false,\n        movementX: 0,\n        movementY: 0,\n        offsetX: 0,\n        offsetY: 0,\n        pageX: 0,\n        pageY: 0,\n        relatedTarget: null,\n        screenX: 0,\n        screenY: 0,\n        shiftKey: false,\n        x: 0,\n        y: 0,\n        detail: 0,\n        view: null,\n        which: 0,\n        initUIEvent: fail,\n        initMouseEvent: fail,\n        getModifierState: fail,\n        dataTransfer,\n        ...getTargetProps(target)\n      };\n      return event;\n    };\n    const makeDataTransferCopyForDragEvent = (dataTransfer, eventType) => {\n      const copy = cloneDataTransfer(dataTransfer);\n      if (eventType === 'dragstart') {\n        setDragstartEvent(copy);\n        setReadWriteMode(copy);\n      } else if (eventType === 'drop') {\n        setDropEvent(copy);\n        setReadOnlyMode(copy);\n      } else {\n        setDragendEvent(copy);\n        setProtectedMode(copy);\n      }\n      return copy;\n    };\n    const makeDragEvent = (type, target, dataTransfer, mouseEvent) => {\n      const dataTransferForDispatch = makeDataTransferCopyForDragEvent(dataTransfer, type);\n      return isUndefined(mouseEvent) ? makeDndEvent(type, target, dataTransferForDispatch) : makeDndEventFromMouseEvent(type, mouseEvent, target, dataTransferForDispatch);\n    };\n\n    const scrollPixelsPerInterval = 32;\n    const scrollIntervalValue = 100;\n    const mouseRangeToTriggerScrollInsideEditor = 8;\n    const mouseRangeToTriggerScrollOutsideEditor = 16;\n    const isContentEditableFalse$1 = isContentEditableFalse$b;\n    const isContentEditable = or(isContentEditableFalse$1, isContentEditableTrue$3);\n    const isDraggable = (dom, rootElm, elm) => isContentEditableFalse$1(elm) && elm !== rootElm && dom.isEditable(elm.parentElement);\n    const isValidDropTarget = (editor, targetElement, dragElement) => {\n      if (isNullable(targetElement)) {\n        return false;\n      } else if (targetElement === dragElement || editor.dom.isChildOf(targetElement, dragElement)) {\n        return false;\n      } else {\n        return editor.dom.isEditable(targetElement);\n      }\n    };\n    const createGhost = (editor, elm, width, height) => {\n      const dom = editor.dom;\n      const clonedElm = elm.cloneNode(true);\n      dom.setStyles(clonedElm, {\n        width,\n        height\n      });\n      dom.setAttrib(clonedElm, 'data-mce-selected', null);\n      const ghostElm = dom.create('div', {\n        'class': 'mce-drag-container',\n        'data-mce-bogus': 'all',\n        'unselectable': 'on',\n        'contenteditable': 'false'\n      });\n      dom.setStyles(ghostElm, {\n        position: 'absolute',\n        opacity: 0.5,\n        overflow: 'hidden',\n        border: 0,\n        padding: 0,\n        margin: 0,\n        width,\n        height\n      });\n      dom.setStyles(clonedElm, {\n        margin: 0,\n        boxSizing: 'border-box'\n      });\n      ghostElm.appendChild(clonedElm);\n      return ghostElm;\n    };\n    const appendGhostToBody = (ghostElm, bodyElm) => {\n      if (ghostElm.parentNode !== bodyElm) {\n        bodyElm.appendChild(ghostElm);\n      }\n    };\n    const scrollEditor = (direction, amount) => win => () => {\n      const current = direction === 'left' ? win.scrollX : win.scrollY;\n      win.scroll({\n        [direction]: current + amount,\n        behavior: 'smooth'\n      });\n    };\n    const scrollLeft = scrollEditor('left', -scrollPixelsPerInterval);\n    const scrollRight = scrollEditor('left', scrollPixelsPerInterval);\n    const scrollUp = scrollEditor('top', -scrollPixelsPerInterval);\n    const scrollDown = scrollEditor('top', scrollPixelsPerInterval);\n    const moveGhost = (ghostElm, position, width, height, maxX, maxY, mouseY, mouseX, contentAreaContainer, win, state, mouseEventOriginatedFromWithinTheEditor) => {\n      let overflowX = 0,\n        overflowY = 0;\n      ghostElm.style.left = position.pageX + 'px';\n      ghostElm.style.top = position.pageY + 'px';\n      if (position.pageX + width > maxX) {\n        overflowX = position.pageX + width - maxX;\n      }\n      if (position.pageY + height > maxY) {\n        overflowY = position.pageY + height - maxY;\n      }\n      ghostElm.style.width = width - overflowX + 'px';\n      ghostElm.style.height = height - overflowY + 'px';\n      const clientHeight = contentAreaContainer.clientHeight;\n      const clientWidth = contentAreaContainer.clientWidth;\n      const outerMouseY = mouseY + contentAreaContainer.getBoundingClientRect().top;\n      const outerMouseX = mouseX + contentAreaContainer.getBoundingClientRect().left;\n      state.on(state => {\n        state.intervalId.clear();\n        if (state.dragging && mouseEventOriginatedFromWithinTheEditor) {\n          if (mouseY + mouseRangeToTriggerScrollInsideEditor >= clientHeight) {\n            state.intervalId.set(scrollDown(win));\n          } else if (mouseY - mouseRangeToTriggerScrollInsideEditor <= 0) {\n            state.intervalId.set(scrollUp(win));\n          } else if (mouseX + mouseRangeToTriggerScrollInsideEditor >= clientWidth) {\n            state.intervalId.set(scrollRight(win));\n          } else if (mouseX - mouseRangeToTriggerScrollInsideEditor <= 0) {\n            state.intervalId.set(scrollLeft(win));\n          } else if (outerMouseY + mouseRangeToTriggerScrollOutsideEditor >= window.innerHeight) {\n            state.intervalId.set(scrollDown(window));\n          } else if (outerMouseY - mouseRangeToTriggerScrollOutsideEditor <= 0) {\n            state.intervalId.set(scrollUp(window));\n          } else if (outerMouseX + mouseRangeToTriggerScrollOutsideEditor >= window.innerWidth) {\n            state.intervalId.set(scrollRight(window));\n          } else if (outerMouseX - mouseRangeToTriggerScrollOutsideEditor <= 0) {\n            state.intervalId.set(scrollLeft(window));\n          }\n        }\n      });\n    };\n    const removeElement = elm => {\n      if (elm && elm.parentNode) {\n        elm.parentNode.removeChild(elm);\n      }\n    };\n    const removeElementWithPadding = (dom, elm) => {\n      const parentBlock = dom.getParent(elm.parentNode, dom.isBlock);\n      removeElement(elm);\n      if (parentBlock && parentBlock !== dom.getRoot() && dom.isEmpty(parentBlock)) {\n        fillWithPaddingBr(SugarElement.fromDom(parentBlock));\n      }\n    };\n    const isLeftMouseButtonPressed = e => e.button === 0;\n    const applyRelPos = (state, position) => ({\n      pageX: position.pageX - state.relX,\n      pageY: position.pageY + 5\n    });\n    const start = (state, editor) => e => {\n      if (isLeftMouseButtonPressed(e)) {\n        const ceElm = find$2(editor.dom.getParents(e.target), isContentEditable).getOr(null);\n        if (isNonNullable(ceElm) && isDraggable(editor.dom, editor.getBody(), ceElm)) {\n          const elmPos = editor.dom.getPos(ceElm);\n          const bodyElm = editor.getBody();\n          const docElm = editor.getDoc().documentElement;\n          state.set({\n            element: ceElm,\n            dataTransfer: createDataTransfer(),\n            dragging: false,\n            screenX: e.screenX,\n            screenY: e.screenY,\n            maxX: (editor.inline ? bodyElm.scrollWidth : docElm.offsetWidth) - 2,\n            maxY: (editor.inline ? bodyElm.scrollHeight : docElm.offsetHeight) - 2,\n            relX: e.pageX - elmPos.x,\n            relY: e.pageY - elmPos.y,\n            width: ceElm.offsetWidth,\n            height: ceElm.offsetHeight,\n            ghost: createGhost(editor, ceElm, ceElm.offsetWidth, ceElm.offsetHeight),\n            intervalId: repeatable(scrollIntervalValue)\n          });\n        }\n      }\n    };\n    const placeCaretAt = (editor, clientX, clientY) => {\n      editor._selectionOverrides.hideFakeCaret();\n      closestFakeCaretCandidate(editor.getBody(), clientX, clientY).fold(() => editor.selection.placeCaretAt(clientX, clientY), caretInfo => {\n        const range = editor._selectionOverrides.showCaret(1, caretInfo.node, caretInfo.position === FakeCaretPosition.Before, false);\n        if (range) {\n          editor.selection.setRng(range);\n        } else {\n          editor.selection.placeCaretAt(clientX, clientY);\n        }\n      });\n    };\n    const dispatchDragEvent = (editor, type, target, dataTransfer, mouseEvent) => {\n      if (type === 'dragstart') {\n        setHtmlData(dataTransfer, editor.dom.getOuterHTML(target));\n      }\n      const event = makeDragEvent(type, target, dataTransfer, mouseEvent);\n      const args = editor.dispatch(type, event);\n      return args;\n    };\n    const move = (state, editor) => {\n      const throttledPlaceCaretAt = first$1((clientX, clientY) => placeCaretAt(editor, clientX, clientY), 0);\n      editor.on('remove', throttledPlaceCaretAt.cancel);\n      const state_ = state;\n      return e => state.on(state => {\n        const movement = Math.max(Math.abs(e.screenX - state.screenX), Math.abs(e.screenY - state.screenY));\n        if (!state.dragging && movement > 10) {\n          const args = dispatchDragEvent(editor, 'dragstart', state.element, state.dataTransfer, e);\n          if (isNonNullable(args.dataTransfer)) {\n            state.dataTransfer = args.dataTransfer;\n          }\n          if (args.isDefaultPrevented()) {\n            return;\n          }\n          state.dragging = true;\n          editor.focus();\n        }\n        if (state.dragging) {\n          const mouseEventOriginatedFromWithinTheEditor = e.currentTarget === editor.getDoc().documentElement;\n          const targetPos = applyRelPos(state, calc(editor, e));\n          appendGhostToBody(state.ghost, editor.getBody());\n          moveGhost(state.ghost, targetPos, state.width, state.height, state.maxX, state.maxY, e.clientY, e.clientX, editor.getContentAreaContainer(), editor.getWin(), state_, mouseEventOriginatedFromWithinTheEditor);\n          throttledPlaceCaretAt.throttle(e.clientX, e.clientY);\n        }\n      });\n    };\n    const getRawTarget = selection => {\n      const sel = selection.getSel();\n      if (isNonNullable(sel)) {\n        const rng = sel.getRangeAt(0);\n        const startContainer = rng.startContainer;\n        return isText$a(startContainer) ? startContainer.parentNode : startContainer;\n      } else {\n        return null;\n      }\n    };\n    const drop = (state, editor) => e => {\n      state.on(state => {\n        var _a;\n        state.intervalId.clear();\n        if (state.dragging) {\n          if (isValidDropTarget(editor, getRawTarget(editor.selection), state.element)) {\n            const dropTarget = (_a = editor.getDoc().elementFromPoint(e.clientX, e.clientY)) !== null && _a !== void 0 ? _a : editor.getBody();\n            const args = dispatchDragEvent(editor, 'drop', dropTarget, state.dataTransfer, e);\n            if (!args.isDefaultPrevented()) {\n              editor.undoManager.transact(() => {\n                removeElementWithPadding(editor.dom, state.element);\n                getHtmlData(state.dataTransfer).each(content => editor.insertContent(content));\n                editor._selectionOverrides.hideFakeCaret();\n              });\n            }\n          }\n          dispatchDragEvent(editor, 'dragend', editor.getBody(), state.dataTransfer, e);\n        }\n      });\n      removeDragState(state);\n    };\n    const stopDragging = (state, editor, e) => {\n      state.on(state => {\n        state.intervalId.clear();\n        if (state.dragging) {\n          e.fold(() => dispatchDragEvent(editor, 'dragend', state.element, state.dataTransfer), mouseEvent => dispatchDragEvent(editor, 'dragend', state.element, state.dataTransfer, mouseEvent));\n        }\n      });\n      removeDragState(state);\n    };\n    const stop = (state, editor) => e => stopDragging(state, editor, Optional.some(e));\n    const removeDragState = state => {\n      state.on(state => {\n        state.intervalId.clear();\n        removeElement(state.ghost);\n      });\n      state.clear();\n    };\n    const bindFakeDragEvents = editor => {\n      const state = value$2();\n      const pageDom = DOMUtils.DOM;\n      const rootDocument = document;\n      const dragStartHandler = start(state, editor);\n      const dragHandler = move(state, editor);\n      const dropHandler = drop(state, editor);\n      const dragEndHandler = stop(state, editor);\n      editor.on('mousedown', dragStartHandler);\n      editor.on('mousemove', dragHandler);\n      editor.on('mouseup', dropHandler);\n      pageDom.bind(rootDocument, 'mousemove', dragHandler);\n      pageDom.bind(rootDocument, 'mouseup', dragEndHandler);\n      editor.on('remove', () => {\n        pageDom.unbind(rootDocument, 'mousemove', dragHandler);\n        pageDom.unbind(rootDocument, 'mouseup', dragEndHandler);\n      });\n      editor.on('keydown', e => {\n        if (e.keyCode === VK.ESC) {\n          stopDragging(state, editor, Optional.none());\n        }\n      });\n    };\n    const blockUnsupportedFileDrop = editor => {\n      const preventFileDrop = e => {\n        if (!e.isDefaultPrevented()) {\n          const dataTransfer = e.dataTransfer;\n          if (dataTransfer && (contains$2(dataTransfer.types, 'Files') || dataTransfer.files.length > 0)) {\n            e.preventDefault();\n            if (e.type === 'drop') {\n              displayError(editor, 'Dropped file type is not supported');\n            }\n          }\n        }\n      };\n      const preventFileDropIfUIElement = e => {\n        if (isUIElement(editor, e.target)) {\n          preventFileDrop(e);\n        }\n      };\n      const setup = () => {\n        const pageDom = DOMUtils.DOM;\n        const dom = editor.dom;\n        const doc = document;\n        const editorRoot = editor.inline ? editor.getBody() : editor.getDoc();\n        const eventNames = ['drop', 'dragover'];\n        each$e(eventNames, name => {\n          pageDom.bind(doc, name, preventFileDropIfUIElement);\n          dom.bind(editorRoot, name, preventFileDrop);\n        });\n        editor.on('remove', () => {\n          each$e(eventNames, name => {\n            pageDom.unbind(doc, name, preventFileDropIfUIElement);\n            dom.unbind(editorRoot, name, preventFileDrop);\n          });\n        });\n      };\n      editor.on('init', () => {\n        Delay.setEditorTimeout(editor, setup, 0);\n      });\n    };\n    const init$2 = editor => {\n      bindFakeDragEvents(editor);\n      if (shouldBlockUnsupportedDrop(editor)) {\n        blockUnsupportedFileDrop(editor);\n      }\n    };\n\n    const setup$4 = editor => {\n      const renderFocusCaret = first$1(() => {\n        if (!editor.removed && editor.getBody().contains(document.activeElement)) {\n          const rng = editor.selection.getRng();\n          if (rng.collapsed) {\n            const caretRange = renderRangeCaret(editor, rng, false);\n            editor.selection.setRng(caretRange);\n          }\n        }\n      }, 0);\n      editor.on('focus', () => {\n        renderFocusCaret.throttle();\n      });\n      editor.on('blur', () => {\n        renderFocusCaret.cancel();\n      });\n    };\n\n    const setup$3 = editor => {\n      editor.on('init', () => {\n        editor.on('focusin', e => {\n          const target = e.target;\n          if (isMedia$2(target)) {\n            const ceRoot = getContentEditableRoot$1(editor.getBody(), target);\n            const node = isContentEditableFalse$b(ceRoot) ? ceRoot : target;\n            if (editor.selection.getNode() !== node) {\n              selectNode(editor, node).each(rng => editor.selection.setRng(rng));\n            }\n          }\n        });\n      });\n    };\n\n    const isContentEditableFalse = isContentEditableFalse$b;\n    const getContentEditableRoot = (editor, node) => getContentEditableRoot$1(editor.getBody(), node);\n    const SelectionOverrides = editor => {\n      const selection = editor.selection,\n        dom = editor.dom;\n      const rootNode = editor.getBody();\n      const fakeCaret = FakeCaret(editor, rootNode, dom.isBlock, () => hasFocus(editor));\n      const realSelectionId = 'sel-' + dom.uniqueId();\n      const elementSelectionAttr = 'data-mce-selected';\n      let selectedElement;\n      const isFakeSelectionElement = node => isNonNullable(node) && dom.hasClass(node, 'mce-offscreen-selection');\n      const isFakeSelectionTargetElement = node => node !== rootNode && (isContentEditableFalse(node) || isMedia$2(node)) && dom.isChildOf(node, rootNode) && dom.isEditable(node.parentNode);\n      const setRange = range => {\n        if (range) {\n          selection.setRng(range);\n        }\n      };\n      const showCaret = (direction, node, before, scrollIntoView = true) => {\n        const e = editor.dispatch('ShowCaret', {\n          target: node,\n          direction,\n          before\n        });\n        if (e.isDefaultPrevented()) {\n          return null;\n        }\n        if (scrollIntoView) {\n          selection.scrollIntoView(node, direction === -1);\n        }\n        return fakeCaret.show(before, node);\n      };\n      const showBlockCaretContainer = blockCaretContainer => {\n        if (blockCaretContainer.hasAttribute('data-mce-caret')) {\n          showCaretContainerBlock(blockCaretContainer);\n          selection.scrollIntoView(blockCaretContainer);\n        }\n      };\n      const registerEvents = () => {\n        editor.on('click', e => {\n          if (!dom.isEditable(e.target)) {\n            e.preventDefault();\n            editor.focus();\n          }\n        });\n        editor.on('blur NewBlock', removeElementSelection);\n        editor.on('ResizeWindow FullscreenStateChanged', fakeCaret.reposition);\n        editor.on('tap', e => {\n          const targetElm = e.target;\n          const contentEditableRoot = getContentEditableRoot(editor, targetElm);\n          if (isContentEditableFalse(contentEditableRoot)) {\n            e.preventDefault();\n            selectNode(editor, contentEditableRoot).each(setElementSelection);\n          } else if (isFakeSelectionTargetElement(targetElm)) {\n            selectNode(editor, targetElm).each(setElementSelection);\n          }\n        }, true);\n        editor.on('mousedown', e => {\n          const targetElm = e.target;\n          if (targetElm !== rootNode && targetElm.nodeName !== 'HTML' && !dom.isChildOf(targetElm, rootNode)) {\n            return;\n          }\n          if (!isXYInContentArea(editor, e.clientX, e.clientY)) {\n            return;\n          }\n          removeElementSelection();\n          hideFakeCaret();\n          const closestContentEditable = getContentEditableRoot(editor, targetElm);\n          if (isContentEditableFalse(closestContentEditable)) {\n            e.preventDefault();\n            selectNode(editor, closestContentEditable).each(setElementSelection);\n          } else {\n            closestFakeCaretCandidate(rootNode, e.clientX, e.clientY).each(caretInfo => {\n              e.preventDefault();\n              const range = showCaret(1, caretInfo.node, caretInfo.position === FakeCaretPosition.Before, false);\n              setRange(range);\n              if (isHTMLElement(closestContentEditable)) {\n                closestContentEditable.focus();\n              } else {\n                editor.getBody().focus();\n              }\n            });\n          }\n        });\n        editor.on('keypress', e => {\n          if (VK.modifierPressed(e)) {\n            return;\n          }\n          if (isContentEditableFalse(selection.getNode())) {\n            e.preventDefault();\n          }\n        });\n        editor.on('GetSelectionRange', e => {\n          let rng = e.range;\n          if (selectedElement) {\n            if (!selectedElement.parentNode) {\n              selectedElement = null;\n              return;\n            }\n            rng = rng.cloneRange();\n            rng.selectNode(selectedElement);\n            e.range = rng;\n          }\n        });\n        editor.on('SetSelectionRange', e => {\n          e.range = normalizeVoidElementSelection(e.range);\n          const rng = setElementSelection(e.range, e.forward);\n          if (rng) {\n            e.range = rng;\n          }\n        });\n        const isPasteBin = node => isElement$6(node) && node.id === 'mcepastebin';\n        editor.on('AfterSetSelectionRange', e => {\n          const rng = e.range;\n          const parent = rng.startContainer.parentElement;\n          if (!isRangeInCaretContainer(rng) && !isPasteBin(parent)) {\n            hideFakeCaret();\n          }\n          if (!isFakeSelectionElement(parent)) {\n            removeElementSelection();\n          }\n        });\n        init$2(editor);\n        setup$4(editor);\n        setup$3(editor);\n      };\n      const isWithinCaretContainer = node => isCaretContainer$2(node) || startsWithCaretContainer$1(node) || endsWithCaretContainer$1(node);\n      const isRangeInCaretContainer = rng => isWithinCaretContainer(rng.startContainer) || isWithinCaretContainer(rng.endContainer);\n      const normalizeVoidElementSelection = rng => {\n        const voidElements = editor.schema.getVoidElements();\n        const newRng = dom.createRng();\n        const startContainer = rng.startContainer;\n        const startOffset = rng.startOffset;\n        const endContainer = rng.endContainer;\n        const endOffset = rng.endOffset;\n        if (has$2(voidElements, startContainer.nodeName.toLowerCase())) {\n          if (startOffset === 0) {\n            newRng.setStartBefore(startContainer);\n          } else {\n            newRng.setStartAfter(startContainer);\n          }\n        } else {\n          newRng.setStart(startContainer, startOffset);\n        }\n        if (has$2(voidElements, endContainer.nodeName.toLowerCase())) {\n          if (endOffset === 0) {\n            newRng.setEndBefore(endContainer);\n          } else {\n            newRng.setEndAfter(endContainer);\n          }\n        } else {\n          newRng.setEnd(endContainer, endOffset);\n        }\n        return newRng;\n      };\n      const setupOffscreenSelection = (node, targetClone) => {\n        const body = SugarElement.fromDom(editor.getBody());\n        const doc = editor.getDoc();\n        const realSelectionContainer = descendant$1(body, '#' + realSelectionId).getOrThunk(() => {\n          const newContainer = SugarElement.fromHtml('<div data-mce-bogus=\"all\" class=\"mce-offscreen-selection\"><\/div>', doc);\n          set$3(newContainer, 'id', realSelectionId);\n          append$1(body, newContainer);\n          return newContainer;\n        });\n        const newRange = dom.createRng();\n        empty(realSelectionContainer);\n        append(realSelectionContainer, [SugarElement.fromText(nbsp, doc), SugarElement.fromDom(targetClone), SugarElement.fromText(nbsp, doc)]);\n        newRange.setStart(realSelectionContainer.dom.firstChild, 1);\n        newRange.setEnd(realSelectionContainer.dom.lastChild, 0);\n        setAll(realSelectionContainer, {\n          top: dom.getPos(node, editor.getBody()).y + 'px'\n        });\n        focus$1(realSelectionContainer);\n        const sel = selection.getSel();\n        if (sel) {\n          sel.removeAllRanges();\n          sel.addRange(newRange);\n        }\n        return newRange;\n      };\n      const selectElement = elm => {\n        const targetClone = elm.cloneNode(true);\n        const e = editor.dispatch('ObjectSelected', {\n          target: elm,\n          targetClone\n        });\n        if (e.isDefaultPrevented()) {\n          return null;\n        }\n        const range = setupOffscreenSelection(elm, e.targetClone);\n        const nodeElm = SugarElement.fromDom(elm);\n        each$e(descendants(SugarElement.fromDom(editor.getBody()), \"*[\".concat(elementSelectionAttr, \"]\")), elm => {\n          if (!eq(nodeElm, elm)) {\n            remove$a(elm, elementSelectionAttr);\n          }\n        });\n        if (!dom.getAttrib(elm, elementSelectionAttr)) {\n          elm.setAttribute(elementSelectionAttr, '1');\n        }\n        selectedElement = elm;\n        hideFakeCaret();\n        return range;\n      };\n      const setElementSelection = (range, forward) => {\n        if (!range) {\n          return null;\n        }\n        if (range.collapsed) {\n          if (!isRangeInCaretContainer(range)) {\n            const dir = forward ? 1 : -1;\n            const caretPosition = getNormalizedRangeEndPoint(dir, rootNode, range);\n            const beforeNode = caretPosition.getNode(!forward);\n            if (isNonNullable(beforeNode)) {\n              if (isFakeCaretTarget(beforeNode)) {\n                return showCaret(dir, beforeNode, forward ? !caretPosition.isAtEnd() : false, false);\n              }\n              if (isCaretContainerInline(beforeNode) && isContentEditableFalse$b(beforeNode.nextSibling)) {\n                const rng = dom.createRng();\n                rng.setStart(beforeNode, 0);\n                rng.setEnd(beforeNode, 0);\n                return rng;\n              }\n            }\n            const afterNode = caretPosition.getNode(forward);\n            if (isNonNullable(afterNode)) {\n              if (isFakeCaretTarget(afterNode)) {\n                return showCaret(dir, afterNode, forward ? false : !caretPosition.isAtEnd(), false);\n              }\n              if (isCaretContainerInline(afterNode) && isContentEditableFalse$b(afterNode.previousSibling)) {\n                const rng = dom.createRng();\n                rng.setStart(afterNode, 1);\n                rng.setEnd(afterNode, 1);\n                return rng;\n              }\n            }\n          }\n          return null;\n        }\n        let startContainer = range.startContainer;\n        let startOffset = range.startOffset;\n        const endOffset = range.endOffset;\n        if (isText$a(startContainer) && startOffset === 0 && isContentEditableFalse(startContainer.parentNode)) {\n          startContainer = startContainer.parentNode;\n          startOffset = dom.nodeIndex(startContainer);\n          startContainer = startContainer.parentNode;\n        }\n        if (!isElement$6(startContainer)) {\n          return null;\n        }\n        if (endOffset === startOffset + 1 && startContainer === range.endContainer) {\n          const node = startContainer.childNodes[startOffset];\n          if (isFakeSelectionTargetElement(node)) {\n            return selectElement(node);\n          }\n        }\n        return null;\n      };\n      const removeElementSelection = () => {\n        if (selectedElement) {\n          selectedElement.removeAttribute(elementSelectionAttr);\n        }\n        descendant$1(SugarElement.fromDom(editor.getBody()), '#' + realSelectionId).each(remove$5);\n        selectedElement = null;\n      };\n      const destroy = () => {\n        fakeCaret.destroy();\n        selectedElement = null;\n      };\n      const hideFakeCaret = () => {\n        fakeCaret.hide();\n      };\n      if (!isRtc(editor)) {\n        registerEvents();\n      }\n      return {\n        showCaret,\n        showBlockCaretContainer,\n        hideFakeCaret,\n        destroy\n      };\n    };\n\n    const getNormalizedTextOffset = (container, offset) => {\n      let normalizedOffset = offset;\n      for (let node = container.previousSibling; isText$a(node); node = node.previousSibling) {\n        normalizedOffset += node.data.length;\n      }\n      return normalizedOffset;\n    };\n    const generatePath = (dom, root, node, offset, normalized) => {\n      if (isText$a(node) && (offset < 0 || offset > node.data.length)) {\n        return [];\n      }\n      const p = normalized && isText$a(node) ? [getNormalizedTextOffset(node, offset)] : [offset];\n      let current = node;\n      while (current !== root && current.parentNode) {\n        p.push(dom.nodeIndex(current, normalized));\n        current = current.parentNode;\n      }\n      return current === root ? p.reverse() : [];\n    };\n    const generatePathRange = (dom, root, startNode, startOffset, endNode, endOffset, normalized = false) => {\n      const start = generatePath(dom, root, startNode, startOffset, normalized);\n      const end = generatePath(dom, root, endNode, endOffset, normalized);\n      return {\n        start,\n        end\n      };\n    };\n    const resolvePath = (root, path) => {\n      const nodePath = path.slice();\n      const offset = nodePath.pop();\n      if (!isNumber(offset)) {\n        return Optional.none();\n      } else {\n        const resolvedNode = foldl(nodePath, (optNode, index) => optNode.bind(node => Optional.from(node.childNodes[index])), Optional.some(root));\n        return resolvedNode.bind(node => {\n          if (isText$a(node) && (offset < 0 || offset > node.data.length)) {\n            return Optional.none();\n          } else {\n            return Optional.some({\n              node,\n              offset\n            });\n          }\n        });\n      }\n    };\n    const resolvePathRange = (root, range) => resolvePath(root, range.start).bind(({\n      node: startNode,\n      offset: startOffset\n    }) => resolvePath(root, range.end).map(({\n      node: endNode,\n      offset: endOffset\n    }) => {\n      const rng = document.createRange();\n      rng.setStart(startNode, startOffset);\n      rng.setEnd(endNode, endOffset);\n      return rng;\n    }));\n    const generatePathRangeFromRange = (dom, root, range, normalized = false) => generatePathRange(dom, root, range.startContainer, range.startOffset, range.endContainer, range.endOffset, normalized);\n\n    const cleanEmptyNodes = (dom, node, isRoot) => {\n      if (node && dom.isEmpty(node) && !isRoot(node)) {\n        const parent = node.parentNode;\n        dom.remove(node, isText$a(node.firstChild) && isWhitespaceText(node.firstChild.data));\n        cleanEmptyNodes(dom, parent, isRoot);\n      }\n    };\n    const deleteRng = (dom, rng, isRoot, clean = true) => {\n      const startParent = rng.startContainer.parentNode;\n      const endParent = rng.endContainer.parentNode;\n      rng.deleteContents();\n      if (clean && !isRoot(rng.startContainer)) {\n        if (isText$a(rng.startContainer) && rng.startContainer.data.length === 0) {\n          dom.remove(rng.startContainer);\n        }\n        if (isText$a(rng.endContainer) && rng.endContainer.data.length === 0) {\n          dom.remove(rng.endContainer);\n        }\n        cleanEmptyNodes(dom, startParent, isRoot);\n        if (startParent !== endParent) {\n          cleanEmptyNodes(dom, endParent, isRoot);\n        }\n      }\n    };\n    const getParentBlock = (editor, rng) => Optional.from(editor.dom.getParent(rng.startContainer, editor.dom.isBlock));\n    const resolveFromDynamicPatterns = (patternSet, block, beforeText) => {\n      const dynamicPatterns = patternSet.dynamicPatternsLookup({\n        text: beforeText,\n        block\n      });\n      return {\n        ...patternSet,\n        blockPatterns: getBlockPatterns(dynamicPatterns).concat(patternSet.blockPatterns),\n        inlinePatterns: getInlinePatterns(dynamicPatterns).concat(patternSet.inlinePatterns)\n      };\n    };\n    const getBeforeText = (dom, block, node, offset) => {\n      const rng = dom.createRng();\n      rng.setStart(block, 0);\n      rng.setEnd(node, offset);\n      return rng.toString();\n    };\n\n    const startsWithSingleSpace = s => /^\\s[^\\s]/.test(s);\n    const stripPattern = (dom, block, pattern) => {\n      const firstTextNode = textAfter(block, 0, block);\n      firstTextNode.each(spot => {\n        const node = spot.container;\n        scanRight(node, pattern.start.length, block).each(end => {\n          const rng = dom.createRng();\n          rng.setStart(node, 0);\n          rng.setEnd(end.container, end.offset);\n          deleteRng(dom, rng, e => e === block);\n        });\n        const text = SugarElement.fromDom(node);\n        const textContent = get$3(text);\n        if (startsWithSingleSpace(textContent)) {\n          set(text, textContent.slice(1));\n        }\n      });\n    };\n    const applyPattern$1 = (editor, match) => {\n      const dom = editor.dom;\n      const pattern = match.pattern;\n      const rng = resolvePathRange(dom.getRoot(), match.range).getOrDie('Unable to resolve path range');\n      const isBlockFormatName = (name, formatter) => {\n        const formatSet = formatter.get(name);\n        return isArray$1(formatSet) && head(formatSet).exists(format => has$2(format, 'block'));\n      };\n      getParentBlock(editor, rng).each(block => {\n        if (pattern.type === 'block-format') {\n          if (isBlockFormatName(pattern.format, editor.formatter)) {\n            editor.undoManager.transact(() => {\n              stripPattern(editor.dom, block, pattern);\n              editor.formatter.apply(pattern.format);\n            });\n          }\n        } else if (pattern.type === 'block-command') {\n          editor.undoManager.transact(() => {\n            stripPattern(editor.dom, block, pattern);\n            editor.execCommand(pattern.cmd, false, pattern.value);\n          });\n        }\n      });\n      return true;\n    };\n    const sortPatterns$1 = patterns => sort(patterns, (a, b) => b.start.length - a.start.length);\n    const findPattern$1 = (patterns, text) => {\n      const sortedPatterns = sortPatterns$1(patterns);\n      const nuText = text.replace(nbsp, ' ');\n      return find$2(sortedPatterns, pattern => text.indexOf(pattern.start) === 0 || nuText.indexOf(pattern.start) === 0);\n    };\n    const findPatterns$1 = (editor, block, patternSet, normalizedMatches) => {\n      var _a;\n      const dom = editor.dom;\n      const forcedRootBlock = getForcedRootBlock(editor);\n      if (!dom.is(block, forcedRootBlock)) {\n        return [];\n      }\n      const blockText = (_a = block.textContent) !== null && _a !== void 0 ? _a : '';\n      return findPattern$1(patternSet.blockPatterns, blockText).map(pattern => {\n        if (Tools.trim(blockText).length === pattern.start.length) {\n          return [];\n        }\n        return [{\n          pattern,\n          range: generatePathRange(dom, dom.getRoot(), block, 0, block, 0, normalizedMatches)\n        }];\n      }).getOr([]);\n    };\n    const applyMatches$1 = (editor, matches) => {\n      if (matches.length === 0) {\n        return;\n      }\n      const bookmark = editor.selection.getBookmark();\n      each$e(matches, match => applyPattern$1(editor, match));\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const newMarker = (dom, id) => dom.create('span', {\n      'data-mce-type': 'bookmark',\n      id\n    });\n    const rangeFromMarker = (dom, marker) => {\n      const rng = dom.createRng();\n      rng.setStartAfter(marker.start);\n      rng.setEndBefore(marker.end);\n      return rng;\n    };\n    const createMarker = (dom, markerPrefix, pathRange) => {\n      const rng = resolvePathRange(dom.getRoot(), pathRange).getOrDie('Unable to resolve path range');\n      const startNode = rng.startContainer;\n      const endNode = rng.endContainer;\n      const textEnd = rng.endOffset === 0 ? endNode : endNode.splitText(rng.endOffset);\n      const textStart = rng.startOffset === 0 ? startNode : startNode.splitText(rng.startOffset);\n      const startParentNode = textStart.parentNode;\n      const endParentNode = textEnd.parentNode;\n      return {\n        prefix: markerPrefix,\n        end: endParentNode.insertBefore(newMarker(dom, markerPrefix + '-end'), textEnd),\n        start: startParentNode.insertBefore(newMarker(dom, markerPrefix + '-start'), textStart)\n      };\n    };\n    const removeMarker = (dom, marker, isRoot) => {\n      cleanEmptyNodes(dom, dom.get(marker.prefix + '-end'), isRoot);\n      cleanEmptyNodes(dom, dom.get(marker.prefix + '-start'), isRoot);\n    };\n\n    const isReplacementPattern = pattern => pattern.start.length === 0;\n    const matchesPattern = patternContent => (element, offset) => {\n      const text = element.data;\n      const searchText = text.substring(0, offset);\n      const startEndIndex = searchText.lastIndexOf(patternContent.charAt(patternContent.length - 1));\n      const startIndex = searchText.lastIndexOf(patternContent);\n      if (startIndex !== -1) {\n        return startIndex + patternContent.length;\n      } else if (startEndIndex !== -1) {\n        return startEndIndex + 1;\n      } else {\n        return -1;\n      }\n    };\n    const findPatternStartFromSpot = (dom, pattern, block, spot) => {\n      const startPattern = pattern.start;\n      const startSpot = repeatLeft(dom, spot.container, spot.offset, matchesPattern(startPattern), block);\n      return startSpot.bind(spot => {\n        var _a, _b;\n        const startPatternIndex = (_b = (_a = block.textContent) === null || _a === void 0 ? void 0 : _a.indexOf(startPattern)) !== null && _b !== void 0 ? _b : -1;\n        const isCompleteMatch = startPatternIndex !== -1 && spot.offset >= startPatternIndex + startPattern.length;\n        if (isCompleteMatch) {\n          const rng = dom.createRng();\n          rng.setStart(spot.container, spot.offset - startPattern.length);\n          rng.setEnd(spot.container, spot.offset);\n          return Optional.some(rng);\n        } else {\n          const offset = spot.offset - startPattern.length;\n          return scanLeft(spot.container, offset, block).map(nextSpot => {\n            const rng = dom.createRng();\n            rng.setStart(nextSpot.container, nextSpot.offset);\n            rng.setEnd(spot.container, spot.offset);\n            return rng;\n          }).filter(rng => rng.toString() === startPattern).orThunk(() => findPatternStartFromSpot(dom, pattern, block, point(spot.container, 0)));\n        }\n      });\n    };\n    const findPatternStart = (dom, pattern, node, offset, block, requireGap = false) => {\n      if (pattern.start.length === 0 && !requireGap) {\n        const rng = dom.createRng();\n        rng.setStart(node, offset);\n        rng.setEnd(node, offset);\n        return Optional.some(rng);\n      }\n      return textBefore(node, offset, block).bind(spot => {\n        const start = findPatternStartFromSpot(dom, pattern, block, spot);\n        return start.bind(startRange => {\n          var _a;\n          if (requireGap) {\n            if (startRange.endContainer === spot.container && startRange.endOffset === spot.offset) {\n              return Optional.none();\n            } else if (spot.offset === 0 && ((_a = startRange.endContainer.textContent) === null || _a === void 0 ? void 0 : _a.length) === startRange.endOffset) {\n              return Optional.none();\n            }\n          }\n          return Optional.some(startRange);\n        });\n      });\n    };\n    const findPattern = (editor, block, details, normalizedMatches) => {\n      const dom = editor.dom;\n      const root = dom.getRoot();\n      const pattern = details.pattern;\n      const endNode = details.position.container;\n      const endOffset = details.position.offset;\n      return scanLeft(endNode, endOffset - details.pattern.end.length, block).bind(spot => {\n        const endPathRng = generatePathRange(dom, root, spot.container, spot.offset, endNode, endOffset, normalizedMatches);\n        if (isReplacementPattern(pattern)) {\n          return Optional.some({\n            matches: [{\n              pattern,\n              startRng: endPathRng,\n              endRng: endPathRng\n            }],\n            position: spot\n          });\n        } else {\n          const resultsOpt = findPatternsRec(editor, details.remainingPatterns, spot.container, spot.offset, block, normalizedMatches);\n          const results = resultsOpt.getOr({\n            matches: [],\n            position: spot\n          });\n          const pos = results.position;\n          const start = findPatternStart(dom, pattern, pos.container, pos.offset, block, resultsOpt.isNone());\n          return start.map(startRng => {\n            const startPathRng = generatePathRangeFromRange(dom, root, startRng, normalizedMatches);\n            return {\n              matches: results.matches.concat([{\n                pattern,\n                startRng: startPathRng,\n                endRng: endPathRng\n              }]),\n              position: point(startRng.startContainer, startRng.startOffset)\n            };\n          });\n        }\n      });\n    };\n    const findPatternsRec = (editor, patterns, node, offset, block, normalizedMatches) => {\n      const dom = editor.dom;\n      return textBefore(node, offset, dom.getRoot()).bind(endSpot => {\n        const text = getBeforeText(dom, block, node, offset);\n        for (let i = 0; i < patterns.length; i++) {\n          const pattern = patterns[i];\n          if (!endsWith(text, pattern.end)) {\n            continue;\n          }\n          const patternsWithoutCurrent = patterns.slice();\n          patternsWithoutCurrent.splice(i, 1);\n          const result = findPattern(editor, block, {\n            pattern,\n            remainingPatterns: patternsWithoutCurrent,\n            position: endSpot\n          }, normalizedMatches);\n          if (result.isNone() && offset > 0) {\n            return findPatternsRec(editor, patterns, node, offset - 1, block, normalizedMatches);\n          }\n          if (result.isSome()) {\n            return result;\n          }\n        }\n        return Optional.none();\n      });\n    };\n    const applyPattern = (editor, pattern, patternRange) => {\n      editor.selection.setRng(patternRange);\n      if (pattern.type === 'inline-format') {\n        each$e(pattern.format, format => {\n          editor.formatter.apply(format);\n        });\n      } else {\n        editor.execCommand(pattern.cmd, false, pattern.value);\n      }\n    };\n    const applyReplacementPattern = (editor, pattern, marker, isRoot) => {\n      const markerRange = rangeFromMarker(editor.dom, marker);\n      deleteRng(editor.dom, markerRange, isRoot);\n      applyPattern(editor, pattern, markerRange);\n    };\n    const applyPatternWithContent = (editor, pattern, startMarker, endMarker, isRoot) => {\n      const dom = editor.dom;\n      const markerEndRange = rangeFromMarker(dom, endMarker);\n      const markerStartRange = rangeFromMarker(dom, startMarker);\n      deleteRng(dom, markerStartRange, isRoot);\n      deleteRng(dom, markerEndRange, isRoot);\n      const patternMarker = {\n        prefix: startMarker.prefix,\n        start: startMarker.end,\n        end: endMarker.start\n      };\n      const patternRange = rangeFromMarker(dom, patternMarker);\n      applyPattern(editor, pattern, patternRange);\n    };\n    const addMarkers = (dom, matches) => {\n      const markerPrefix = generate$1('mce_textpattern');\n      const matchesWithEnds = foldr(matches, (acc, match) => {\n        const endMarker = createMarker(dom, markerPrefix + \"_end\".concat(acc.length), match.endRng);\n        return acc.concat([{\n          ...match,\n          endMarker\n        }]);\n      }, []);\n      return foldr(matchesWithEnds, (acc, match) => {\n        const idx = matchesWithEnds.length - acc.length - 1;\n        const startMarker = isReplacementPattern(match.pattern) ? match.endMarker : createMarker(dom, markerPrefix + \"_start\".concat(idx), match.startRng);\n        return acc.concat([{\n          ...match,\n          startMarker\n        }]);\n      }, []);\n    };\n    const sortPatterns = patterns => sort(patterns, (a, b) => b.end.length - a.end.length);\n    const getBestMatches = (matches, matchesWithSortedPatterns) => {\n      const hasSameMatches = forall(matches, match => exists(matchesWithSortedPatterns, sortedMatch => match.pattern.start === sortedMatch.pattern.start && match.pattern.end === sortedMatch.pattern.end));\n      if (matches.length === matchesWithSortedPatterns.length) {\n        if (hasSameMatches) {\n          return matches;\n        } else {\n          return matchesWithSortedPatterns;\n        }\n      }\n      return matches.length > matchesWithSortedPatterns.length ? matches : matchesWithSortedPatterns;\n    };\n    const findPatterns = (editor, block, node, offset, patternSet, normalizedMatches) => {\n      const matches = findPatternsRec(editor, patternSet.inlinePatterns, node, offset, block, normalizedMatches).fold(() => [], result => result.matches);\n      const matchesWithSortedPatterns = findPatternsRec(editor, sortPatterns(patternSet.inlinePatterns), node, offset, block, normalizedMatches).fold(() => [], result => result.matches);\n      return getBestMatches(matches, matchesWithSortedPatterns);\n    };\n    const applyMatches = (editor, matches) => {\n      if (matches.length === 0) {\n        return;\n      }\n      const dom = editor.dom;\n      const bookmark = editor.selection.getBookmark();\n      const matchesWithMarkers = addMarkers(dom, matches);\n      each$e(matchesWithMarkers, match => {\n        const block = dom.getParent(match.startMarker.start, dom.isBlock);\n        const isRoot = node => node === block;\n        if (isReplacementPattern(match.pattern)) {\n          applyReplacementPattern(editor, match.pattern, match.endMarker, isRoot);\n        } else {\n          applyPatternWithContent(editor, match.pattern, match.startMarker, match.endMarker, isRoot);\n        }\n        removeMarker(dom, match.endMarker, isRoot);\n        removeMarker(dom, match.startMarker, isRoot);\n      });\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const handleEnter = (editor, patternSet) => {\n      const rng = editor.selection.getRng();\n      return getParentBlock(editor, rng).map(block => {\n        var _a;\n        const offset = Math.max(0, rng.startOffset);\n        const dynamicPatternSet = resolveFromDynamicPatterns(patternSet, block, (_a = block.textContent) !== null && _a !== void 0 ? _a : '');\n        const inlineMatches = findPatterns(editor, block, rng.startContainer, offset, dynamicPatternSet, true);\n        const blockMatches = findPatterns$1(editor, block, dynamicPatternSet, true);\n        if (blockMatches.length > 0 || inlineMatches.length > 0) {\n          editor.undoManager.add();\n          editor.undoManager.extra(() => {\n            editor.execCommand('mceInsertNewLine');\n          }, () => {\n            insert$5(editor);\n            applyMatches(editor, inlineMatches);\n            applyMatches$1(editor, blockMatches);\n            const range = editor.selection.getRng();\n            const spot = textBefore(range.startContainer, range.startOffset, editor.dom.getRoot());\n            editor.execCommand('mceInsertNewLine');\n            spot.each(s => {\n              const node = s.container;\n              if (node.data.charAt(s.offset - 1) === zeroWidth) {\n                node.deleteData(s.offset - 1, 1);\n                cleanEmptyNodes(editor.dom, node.parentNode, e => e === editor.dom.getRoot());\n              }\n            });\n          });\n          return true;\n        }\n        return false;\n      }).getOr(false);\n    };\n    const handleInlineKey = (editor, patternSet) => {\n      const rng = editor.selection.getRng();\n      getParentBlock(editor, rng).map(block => {\n        const offset = Math.max(0, rng.startOffset - 1);\n        const beforeText = getBeforeText(editor.dom, block, rng.startContainer, offset);\n        const dynamicPatternSet = resolveFromDynamicPatterns(patternSet, block, beforeText);\n        const inlineMatches = findPatterns(editor, block, rng.startContainer, offset, dynamicPatternSet, false);\n        if (inlineMatches.length > 0) {\n          editor.undoManager.transact(() => {\n            applyMatches(editor, inlineMatches);\n          });\n        }\n      });\n    };\n    const checkKeyEvent = (codes, event, predicate) => {\n      for (let i = 0; i < codes.length; i++) {\n        if (predicate(codes[i], event)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const checkKeyCode = (codes, event) => checkKeyEvent(codes, event, (code, event) => {\n      return code === event.keyCode && !VK.modifierPressed(event);\n    });\n    const checkCharCode = (chars, event) => checkKeyEvent(chars, event, (chr, event) => {\n      return chr.charCodeAt(0) === event.charCode;\n    });\n\n    const setup$2 = editor => {\n      const charCodes = [',', '.', ';', ':', '!', '?'];\n      const keyCodes = [32];\n      const getPatternSet = () => createPatternSet(getTextPatterns(editor), getTextPatternsLookup(editor));\n      const hasDynamicPatterns = () => hasTextPatternsLookup(editor);\n      editor.on('keydown', e => {\n        if (e.keyCode === 13 && !VK.modifierPressed(e) && editor.selection.isCollapsed()) {\n          const patternSet = getPatternSet();\n          const hasPatterns = patternSet.inlinePatterns.length > 0 || patternSet.blockPatterns.length > 0 || hasDynamicPatterns();\n          if (hasPatterns && handleEnter(editor, patternSet)) {\n            e.preventDefault();\n          }\n        }\n      }, true);\n      const handleInlineTrigger = () => {\n        if (editor.selection.isCollapsed()) {\n          const patternSet = getPatternSet();\n          const hasPatterns = patternSet.inlinePatterns.length > 0 || hasDynamicPatterns();\n          if (hasPatterns) {\n            handleInlineKey(editor, patternSet);\n          }\n        }\n      };\n      editor.on('keyup', e => {\n        if (checkKeyCode(keyCodes, e)) {\n          handleInlineTrigger();\n        }\n      });\n      editor.on('keypress', e => {\n        if (checkCharCode(charCodes, e)) {\n          Delay.setEditorTimeout(editor, handleInlineTrigger);\n        }\n      });\n    };\n\n    const setup$1 = editor => {\n      setup$2(editor);\n    };\n\n    const Quirks = editor => {\n      const each = Tools.each;\n      const BACKSPACE = VK.BACKSPACE,\n        DELETE = VK.DELETE,\n        dom = editor.dom,\n        selection = editor.selection,\n        parser = editor.parser;\n      const browser = Env.browser;\n      const isGecko = browser.isFirefox();\n      const isWebKit = browser.isChromium() || browser.isSafari();\n      const isiOS = Env.deviceType.isiPhone() || Env.deviceType.isiPad();\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      const setEditorCommandState = (cmd, state) => {\n        try {\n          editor.getDoc().execCommand(cmd, false, String(state));\n        } catch (ex) {}\n      };\n      const isDefaultPrevented = e => {\n        return e.isDefaultPrevented();\n      };\n      const emptyEditorWhenDeleting = () => {\n        const serializeRng = rng => {\n          const body = dom.create('body');\n          const contents = rng.cloneContents();\n          body.appendChild(contents);\n          return selection.serializer.serialize(body, {\n            format: 'html'\n          });\n        };\n        const allContentsSelected = rng => {\n          const selection = serializeRng(rng);\n          const allRng = dom.createRng();\n          allRng.selectNode(editor.getBody());\n          const allSelection = serializeRng(allRng);\n          return selection === allSelection;\n        };\n        editor.on('keydown', e => {\n          const keyCode = e.keyCode;\n          if (!isDefaultPrevented(e) && (keyCode === DELETE || keyCode === BACKSPACE) && editor.selection.isEditable()) {\n            const isCollapsed = editor.selection.isCollapsed();\n            const body = editor.getBody();\n            if (isCollapsed && !isEmpty$2(SugarElement.fromDom(body))) {\n              return;\n            }\n            if (!isCollapsed && !allContentsSelected(editor.selection.getRng())) {\n              return;\n            }\n            e.preventDefault();\n            editor.setContent('');\n            if (body.firstChild && dom.isBlock(body.firstChild)) {\n              editor.selection.setCursorLocation(body.firstChild, 0);\n            } else {\n              editor.selection.setCursorLocation(body, 0);\n            }\n            editor.nodeChanged();\n          }\n        });\n      };\n      const selectAll = () => {\n        editor.shortcuts.add('meta+a', null, 'SelectAll');\n      };\n      const documentElementEditingFocus = () => {\n        if (!editor.inline) {\n          dom.bind(editor.getDoc(), 'mousedown mouseup', e => {\n            let rng;\n            if (e.target === editor.getDoc().documentElement) {\n              rng = selection.getRng();\n              editor.getBody().focus();\n              if (e.type === 'mousedown') {\n                if (isCaretContainer$2(rng.startContainer)) {\n                  return;\n                }\n                selection.placeCaretAt(e.clientX, e.clientY);\n              } else {\n                selection.setRng(rng);\n              }\n            }\n          });\n        }\n      };\n      const removeHrOnBackspace = () => {\n        editor.on('keydown', e => {\n          if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {\n            if (!editor.getBody().getElementsByTagName('hr').length) {\n              return;\n            }\n            if (selection.isCollapsed() && selection.getRng().startOffset === 0) {\n              const node = selection.getNode();\n              const previousSibling = node.previousSibling;\n              if (node.nodeName === 'HR') {\n                dom.remove(node);\n                e.preventDefault();\n                return;\n              }\n              if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'hr') {\n                dom.remove(previousSibling);\n                e.preventDefault();\n              }\n            }\n          }\n        });\n      };\n      const focusBody = () => {\n        if (!Range.prototype.getClientRects) {\n          editor.on('mousedown', e => {\n            if (!isDefaultPrevented(e) && e.target.nodeName === 'HTML') {\n              const body = editor.getBody();\n              body.blur();\n              Delay.setEditorTimeout(editor, () => {\n                body.focus();\n              });\n            }\n          });\n        }\n      };\n      const selectControlElements = () => {\n        const visualAidsAnchorClass = getVisualAidsAnchorClass(editor);\n        editor.on('click', e => {\n          const target = e.target;\n          if (/^(IMG|HR)$/.test(target.nodeName) && dom.isEditable(target)) {\n            e.preventDefault();\n            editor.selection.select(target);\n            editor.nodeChanged();\n          }\n          if (target.nodeName === 'A' && dom.hasClass(target, visualAidsAnchorClass) && target.childNodes.length === 0 && dom.isEditable(target.parentNode)) {\n            e.preventDefault();\n            selection.select(target);\n          }\n        });\n      };\n      const removeStylesWhenDeletingAcrossBlockElements = () => {\n        const getAttributeApplyFunction = () => {\n          const template = dom.getAttribs(selection.getStart().cloneNode(false));\n          return () => {\n            const target = selection.getStart();\n            if (target !== editor.getBody()) {\n              dom.setAttrib(target, 'style', null);\n              each(template, attr => {\n                target.setAttributeNode(attr.cloneNode(true));\n              });\n            }\n          };\n        };\n        const isSelectionAcrossElements = () => {\n          return !selection.isCollapsed() && dom.getParent(selection.getStart(), dom.isBlock) !== dom.getParent(selection.getEnd(), dom.isBlock);\n        };\n        editor.on('keypress', e => {\n          let applyAttributes;\n          if (!isDefaultPrevented(e) && (e.keyCode === 8 || e.keyCode === 46) && isSelectionAcrossElements()) {\n            applyAttributes = getAttributeApplyFunction();\n            editor.getDoc().execCommand('delete', false);\n            applyAttributes();\n            e.preventDefault();\n            return false;\n          } else {\n            return true;\n          }\n        });\n        dom.bind(editor.getDoc(), 'cut', e => {\n          if (!isDefaultPrevented(e) && isSelectionAcrossElements()) {\n            const applyAttributes = getAttributeApplyFunction();\n            Delay.setEditorTimeout(editor, () => {\n              applyAttributes();\n            });\n          }\n        });\n      };\n      const disableBackspaceIntoATable = () => {\n        editor.on('keydown', e => {\n          if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {\n            if (selection.isCollapsed() && selection.getRng().startOffset === 0) {\n              const previousSibling = selection.getNode().previousSibling;\n              if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'table') {\n                e.preventDefault();\n                return false;\n              }\n            }\n          }\n          return true;\n        });\n      };\n      const removeBlockQuoteOnBackSpace = () => {\n        editor.on('keydown', e => {\n          if (isDefaultPrevented(e) || e.keyCode !== VK.BACKSPACE) {\n            return;\n          }\n          let rng = selection.getRng();\n          const container = rng.startContainer;\n          const offset = rng.startOffset;\n          const root = dom.getRoot();\n          let parent = container;\n          if (!rng.collapsed || offset !== 0) {\n            return;\n          }\n          while (parent.parentNode && parent.parentNode.firstChild === parent && parent.parentNode !== root) {\n            parent = parent.parentNode;\n          }\n          if (parent.nodeName === 'BLOCKQUOTE') {\n            editor.formatter.toggle('blockquote', undefined, parent);\n            rng = dom.createRng();\n            rng.setStart(container, 0);\n            rng.setEnd(container, 0);\n            selection.setRng(rng);\n          }\n        });\n      };\n      const setGeckoEditingOptions = () => {\n        const setOpts = () => {\n          setEditorCommandState('StyleWithCSS', false);\n          setEditorCommandState('enableInlineTableEditing', false);\n          if (!getObjectResizing(editor)) {\n            setEditorCommandState('enableObjectResizing', false);\n          }\n        };\n        if (!isReadOnly$1(editor)) {\n          editor.on('BeforeExecCommand mousedown', setOpts);\n        }\n      };\n      const addBrAfterLastLinks = () => {\n        const fixLinks = () => {\n          each(dom.select('a:not([data-mce-block])'), node => {\n            var _a;\n            let parentNode = node.parentNode;\n            const root = dom.getRoot();\n            if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.lastChild) === node) {\n              while (parentNode && !dom.isBlock(parentNode)) {\n                if (((_a = parentNode.parentNode) === null || _a === void 0 ? void 0 : _a.lastChild) !== parentNode || parentNode === root) {\n                  return;\n                }\n                parentNode = parentNode.parentNode;\n              }\n              dom.add(parentNode, 'br', {\n                'data-mce-bogus': 1\n              });\n            }\n          });\n        };\n        editor.on('SetContent ExecCommand', e => {\n          if (e.type === 'setcontent' || e.command === 'mceInsertLink') {\n            fixLinks();\n          }\n        });\n      };\n      const setDefaultBlockType = () => {\n        editor.on('init', () => {\n          setEditorCommandState('DefaultParagraphSeparator', getForcedRootBlock(editor));\n        });\n      };\n      const isAllContentSelected = editor => {\n        const body = editor.getBody();\n        const rng = editor.selection.getRng();\n        return rng.startContainer === rng.endContainer && rng.startContainer === body && rng.startOffset === 0 && rng.endOffset === body.childNodes.length;\n      };\n      const normalizeSelection = () => {\n        editor.on('keyup focusin mouseup', e => {\n          if (!VK.modifierPressed(e) && !isAllContentSelected(editor)) {\n            selection.normalize();\n          }\n        }, true);\n      };\n      const showBrokenImageIcon = () => {\n        editor.contentStyles.push('img:-moz-broken {' + '-moz-force-broken-image-icon:1;' + 'min-width:24px;' + 'min-height:24px' + '}');\n      };\n      const restoreFocusOnKeyDown = () => {\n        if (!editor.inline) {\n          editor.on('keydown', () => {\n            if (document.activeElement === document.body) {\n              editor.getWin().focus();\n            }\n          });\n        }\n      };\n      const bodyHeight = () => {\n        if (!editor.inline) {\n          editor.contentStyles.push('body {min-height: 150px}');\n          editor.on('click', e => {\n            let rng;\n            if (e.target.nodeName === 'HTML') {\n              rng = editor.selection.getRng();\n              editor.getBody().focus();\n              editor.selection.setRng(rng);\n              editor.selection.normalize();\n              editor.nodeChanged();\n            }\n          });\n        }\n      };\n      const blockCmdArrowNavigation = () => {\n        if (isMac) {\n          editor.on('keydown', e => {\n            if (VK.metaKeyPressed(e) && !e.shiftKey && (e.keyCode === 37 || e.keyCode === 39)) {\n              e.preventDefault();\n              const selection = editor.selection.getSel();\n              selection.modify('move', e.keyCode === 37 ? 'backward' : 'forward', 'lineboundary');\n            }\n          });\n        }\n      };\n      const tapLinksAndImages = () => {\n        editor.on('click', e => {\n          let elm = e.target;\n          do {\n            if (elm.tagName === 'A') {\n              e.preventDefault();\n              return;\n            }\n          } while (elm = elm.parentNode);\n        });\n        editor.contentStyles.push('.mce-content-body {-webkit-touch-callout: none}');\n      };\n      const blockFormSubmitInsideEditor = () => {\n        editor.on('init', () => {\n          editor.dom.bind(editor.getBody(), 'submit', e => {\n            e.preventDefault();\n          });\n        });\n      };\n      const removeAppleInterchangeBrs = () => {\n        parser.addNodeFilter('br', nodes => {\n          let i = nodes.length;\n          while (i--) {\n            if (nodes[i].attr('class') === 'Apple-interchange-newline') {\n              nodes[i].remove();\n            }\n          }\n        });\n      };\n      const refreshContentEditable = noop;\n      const isHidden = () => {\n        if (!isGecko || editor.removed) {\n          return false;\n        }\n        const sel = editor.selection.getSel();\n        return !sel || !sel.rangeCount || sel.rangeCount === 0;\n      };\n      const setupRtc = () => {\n        if (isWebKit) {\n          documentElementEditingFocus();\n          selectControlElements();\n          blockFormSubmitInsideEditor();\n          selectAll();\n          if (isiOS) {\n            restoreFocusOnKeyDown();\n            bodyHeight();\n            tapLinksAndImages();\n          }\n        }\n        if (isGecko) {\n          focusBody();\n          setGeckoEditingOptions();\n          showBrokenImageIcon();\n          blockCmdArrowNavigation();\n        }\n      };\n      const dropDragEndEvent = () => {\n        editor.on('drop', event => {\n          var _a;\n          const data = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/html');\n          if (isString(data) && /^<img[^>]*>$/.test(data)) {\n            editor.dispatch('dragend', new window.DragEvent('dragend', event));\n          }\n        });\n      };\n      const setup = () => {\n        removeBlockQuoteOnBackSpace();\n        emptyEditorWhenDeleting();\n        if (!Env.windowsPhone) {\n          normalizeSelection();\n        }\n        if (isWebKit) {\n          documentElementEditingFocus();\n          selectControlElements();\n          setDefaultBlockType();\n          blockFormSubmitInsideEditor();\n          disableBackspaceIntoATable();\n          removeAppleInterchangeBrs();\n          if (isiOS) {\n            restoreFocusOnKeyDown();\n            bodyHeight();\n            tapLinksAndImages();\n          } else {\n            selectAll();\n          }\n        }\n        if (isGecko) {\n          removeHrOnBackspace();\n          focusBody();\n          removeStylesWhenDeletingAcrossBlockElements();\n          setGeckoEditingOptions();\n          addBrAfterLastLinks();\n          showBrokenImageIcon();\n          blockCmdArrowNavigation();\n          disableBackspaceIntoATable();\n          dropDragEndEvent();\n        }\n      };\n      if (isRtc(editor)) {\n        setupRtc();\n      } else {\n        setup();\n      }\n      return {\n        refreshContentEditable,\n        isHidden\n      };\n    };\n\n    const DOM$6 = DOMUtils.DOM;\n    const appendStyle = (editor, text) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const container = getStyleContainer(getRootNode(body));\n      const style = SugarElement.fromTag('style');\n      set$3(style, 'type', 'text/css');\n      append$1(style, SugarElement.fromText(text));\n      append$1(container, style);\n      editor.on('remove', () => {\n        remove$5(style);\n      });\n    };\n    const getRootName = editor => editor.inline ? editor.getElement().nodeName.toLowerCase() : undefined;\n    const removeUndefined = obj => filter$4(obj, v => isUndefined(v) === false);\n    const mkParserSettings = editor => {\n      const getOption = editor.options.get;\n      const blobCache = editor.editorUpload.blobCache;\n      return removeUndefined({\n        allow_conditional_comments: getOption('allow_conditional_comments'),\n        allow_html_data_urls: getOption('allow_html_data_urls'),\n        allow_svg_data_urls: getOption('allow_svg_data_urls'),\n        allow_html_in_named_anchor: getOption('allow_html_in_named_anchor'),\n        allow_script_urls: getOption('allow_script_urls'),\n        allow_unsafe_link_target: getOption('allow_unsafe_link_target'),\n        convert_unsafe_embeds: getOption('convert_unsafe_embeds'),\n        convert_fonts_to_spans: getOption('convert_fonts_to_spans'),\n        fix_list_elements: getOption('fix_list_elements'),\n        font_size_legacy_values: getOption('font_size_legacy_values'),\n        forced_root_block: getOption('forced_root_block'),\n        forced_root_block_attrs: getOption('forced_root_block_attrs'),\n        preserve_cdata: getOption('preserve_cdata'),\n        inline_styles: getOption('inline_styles'),\n        root_name: getRootName(editor),\n        sandbox_iframes: getOption('sandbox_iframes'),\n        sanitize: getOption('xss_sanitization'),\n        validate: true,\n        blob_cache: blobCache,\n        document: editor.getDoc()\n      });\n    };\n    const mkSchemaSettings = editor => {\n      const getOption = editor.options.get;\n      return removeUndefined({\n        custom_elements: getOption('custom_elements'),\n        extended_valid_elements: getOption('extended_valid_elements'),\n        invalid_elements: getOption('invalid_elements'),\n        invalid_styles: getOption('invalid_styles'),\n        schema: getOption('schema'),\n        valid_children: getOption('valid_children'),\n        valid_classes: getOption('valid_classes'),\n        valid_elements: getOption('valid_elements'),\n        valid_styles: getOption('valid_styles'),\n        verify_html: getOption('verify_html'),\n        padd_empty_block_inline_children: getOption('format_empty_lines')\n      });\n    };\n    const mkSerializerSettings = editor => {\n      const getOption = editor.options.get;\n      return {\n        ...mkParserSettings(editor),\n        ...mkSchemaSettings(editor),\n        ...removeUndefined({\n          remove_trailing_brs: getOption('remove_trailing_brs'),\n          pad_empty_with_br: getOption('pad_empty_with_br'),\n          url_converter: getOption('url_converter'),\n          url_converter_scope: getOption('url_converter_scope'),\n          element_format: getOption('element_format'),\n          entities: getOption('entities'),\n          entity_encoding: getOption('entity_encoding'),\n          indent: getOption('indent'),\n          indent_after: getOption('indent_after'),\n          indent_before: getOption('indent_before')\n        })\n      };\n    };\n    const createParser = editor => {\n      const parser = DomParser(mkParserSettings(editor), editor.schema);\n      parser.addAttributeFilter('src,href,style,tabindex', (nodes, name) => {\n        const dom = editor.dom;\n        const internalName = 'data-mce-' + name;\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          let value = node.attr(name);\n          if (value && !node.attr(internalName)) {\n            if (value.indexOf('data:') === 0 || value.indexOf('blob:') === 0) {\n              continue;\n            }\n            if (name === 'style') {\n              value = dom.serializeStyle(dom.parseStyle(value), node.name);\n              if (!value.length) {\n                value = null;\n              }\n              node.attr(internalName, value);\n              node.attr(name, value);\n            } else if (name === 'tabindex') {\n              node.attr(internalName, value);\n              node.attr(name, null);\n            } else {\n              node.attr(internalName, editor.convertURL(value, name, node.name));\n            }\n          }\n        }\n      });\n      parser.addNodeFilter('script', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          const type = node.attr('type') || 'no/type';\n          if (type.indexOf('mce-') !== 0) {\n            node.attr('type', 'mce-' + type);\n          }\n        }\n      });\n      if (shouldPreserveCData(editor)) {\n        parser.addNodeFilter('#cdata', nodes => {\n          var _a;\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            node.type = 8;\n            node.name = '#comment';\n            node.value = '[CDATA[' + editor.dom.encode((_a = node.value) !== null && _a !== void 0 ? _a : '') + ']]';\n          }\n        });\n      }\n      parser.addNodeFilter('p,h1,h2,h3,h4,h5,h6,div', nodes => {\n        let i = nodes.length;\n        const nonEmptyElements = editor.schema.getNonEmptyElements();\n        while (i--) {\n          const node = nodes[i];\n          if (node.isEmpty(nonEmptyElements) && node.getAll('br').length === 0) {\n            node.append(new AstNode('br', 1));\n          }\n        }\n      });\n      return parser;\n    };\n    const autoFocus = editor => {\n      const autoFocus = getAutoFocus(editor);\n      if (autoFocus) {\n        Delay.setEditorTimeout(editor, () => {\n          let focusEditor;\n          if (autoFocus === true) {\n            focusEditor = editor;\n          } else {\n            focusEditor = editor.editorManager.get(autoFocus);\n          }\n          if (focusEditor && !focusEditor.destroyed) {\n            focusEditor.focus();\n            focusEditor.selection.scrollIntoView();\n          }\n        }, 100);\n      }\n    };\n    const moveSelectionToFirstCaretPosition = editor => {\n      const root = editor.dom.getRoot();\n      if (!editor.inline && (!hasAnyRanges(editor) || editor.selection.getStart(true) === root)) {\n        firstPositionIn(root).each(pos => {\n          const node = pos.getNode();\n          const caretPos = isTable$2(node) ? firstPositionIn(node).getOr(pos) : pos;\n          editor.selection.setRng(caretPos.toRange());\n        });\n      }\n    };\n    const initEditor = editor => {\n      editor.bindPendingEventDelegates();\n      editor.initialized = true;\n      fireInit(editor);\n      editor.focus(true);\n      moveSelectionToFirstCaretPosition(editor);\n      editor.nodeChanged({\n        initial: true\n      });\n      const initInstanceCallback = getInitInstanceCallback(editor);\n      if (isFunction(initInstanceCallback)) {\n        initInstanceCallback.call(editor, editor);\n      }\n      autoFocus(editor);\n    };\n    const getStyleSheetLoader$1 = editor => editor.inline ? editor.ui.styleSheetLoader : editor.dom.styleSheetLoader;\n    const makeStylesheetLoadingPromises = (editor, css, framedFonts) => {\n      const {\n        pass: bundledCss,\n        fail: normalCss\n      } = partition$2(css, name => tinymce.Resource.has(toContentSkinResourceName(name)));\n      const bundledPromises = bundledCss.map(url => {\n        const css = tinymce.Resource.get(toContentSkinResourceName(url));\n        if (isString(css)) {\n          return Promise.resolve(getStyleSheetLoader$1(editor).loadRawCss(url, css));\n        }\n        return Promise.resolve();\n      });\n      const promises = [...bundledPromises, getStyleSheetLoader$1(editor).loadAll(normalCss)];\n      if (editor.inline) {\n        return promises;\n      } else {\n        return promises.concat([editor.ui.styleSheetLoader.loadAll(framedFonts)]);\n      }\n    };\n    const loadContentCss = editor => {\n      const styleSheetLoader = getStyleSheetLoader$1(editor);\n      const fontCss = getFontCss(editor);\n      const css = editor.contentCSS;\n      const removeCss = () => {\n        styleSheetLoader.unloadAll(css);\n        if (!editor.inline) {\n          editor.ui.styleSheetLoader.unloadAll(fontCss);\n        }\n      };\n      const loaded = () => {\n        if (editor.removed) {\n          removeCss();\n        } else {\n          editor.on('remove', removeCss);\n        }\n      };\n      if (editor.contentStyles.length > 0) {\n        let contentCssText = '';\n        Tools.each(editor.contentStyles, style => {\n          contentCssText += style + '\\r\\n';\n        });\n        editor.dom.addStyle(contentCssText);\n      }\n      const allStylesheets = Promise.all(makeStylesheetLoadingPromises(editor, css, fontCss)).then(loaded).catch(loaded);\n      const contentStyle = getContentStyle(editor);\n      if (contentStyle) {\n        appendStyle(editor, contentStyle);\n      }\n      return allStylesheets;\n    };\n    const preInit = editor => {\n      const doc = editor.getDoc(),\n        body = editor.getBody();\n      firePreInit(editor);\n      if (!shouldBrowserSpellcheck(editor)) {\n        doc.body.spellcheck = false;\n        DOM$6.setAttrib(body, 'spellcheck', 'false');\n      }\n      editor.quirks = Quirks(editor);\n      firePostRender(editor);\n      const directionality = getDirectionality(editor);\n      if (directionality !== undefined) {\n        body.dir = directionality;\n      }\n      const protect = getProtect(editor);\n      if (protect) {\n        editor.on('BeforeSetContent', e => {\n          Tools.each(protect, pattern => {\n            e.content = e.content.replace(pattern, str => {\n              return '<!--mce:protected ' + escape(str) + '-->';\n            });\n          });\n        });\n      }\n      editor.on('SetContent', () => {\n        editor.addVisual(editor.getBody());\n      });\n      editor.on('compositionstart compositionend', e => {\n        editor.composing = e.type === 'compositionstart';\n      });\n    };\n    const loadInitialContent = editor => {\n      if (!isRtc(editor)) {\n        editor.load({\n          initial: true,\n          format: 'html'\n        });\n      }\n      editor.startContent = editor.getContent({\n        format: 'raw'\n      });\n    };\n    const initEditorWithInitialContent = editor => {\n      if (editor.removed !== true) {\n        loadInitialContent(editor);\n        initEditor(editor);\n      }\n    };\n    const startProgress = editor => {\n      let canceled = false;\n      const progressTimeout = setTimeout(() => {\n        if (!canceled) {\n          editor.setProgressState(true);\n        }\n      }, 500);\n      return () => {\n        clearTimeout(progressTimeout);\n        canceled = true;\n        editor.setProgressState(false);\n      };\n    };\n    const contentBodyLoaded = editor => {\n      const targetElm = editor.getElement();\n      let doc = editor.getDoc();\n      if (editor.inline) {\n        DOM$6.addClass(targetElm, 'mce-content-body');\n        editor.contentDocument = doc = document;\n        editor.contentWindow = window;\n        editor.bodyElement = targetElm;\n        editor.contentAreaContainer = targetElm;\n      }\n      const body = editor.getBody();\n      body.disabled = true;\n      editor.readonly = isReadOnly$1(editor);\n      editor._editableRoot = hasEditableRoot$1(editor);\n      if (!editor.readonly && editor.hasEditableRoot()) {\n        if (editor.inline && DOM$6.getStyle(body, 'position', true) === 'static') {\n          body.style.position = 'relative';\n        }\n        body.contentEditable = 'true';\n      }\n      body.disabled = false;\n      editor.editorUpload = EditorUpload(editor);\n      editor.schema = Schema(mkSchemaSettings(editor));\n      editor.dom = DOMUtils(doc, {\n        keep_values: true,\n        url_converter: editor.convertURL,\n        url_converter_scope: editor,\n        update_styles: true,\n        root_element: editor.inline ? editor.getBody() : null,\n        collect: editor.inline,\n        schema: editor.schema,\n        contentCssCors: shouldUseContentCssCors(editor),\n        referrerPolicy: getReferrerPolicy(editor),\n        onSetAttrib: e => {\n          editor.dispatch('SetAttrib', e);\n        },\n        force_hex_color: shouldForceHexColor(editor)\n      });\n      editor.parser = createParser(editor);\n      editor.serializer = DomSerializer(mkSerializerSettings(editor), editor);\n      editor.selection = EditorSelection(editor.dom, editor.getWin(), editor.serializer, editor);\n      editor.annotator = Annotator(editor);\n      editor.formatter = Formatter(editor);\n      editor.undoManager = UndoManager(editor);\n      editor._nodeChangeDispatcher = new NodeChange(editor);\n      editor._selectionOverrides = SelectionOverrides(editor);\n      setup$p(editor);\n      setup$6(editor);\n      setup$n(editor);\n      if (!isRtc(editor)) {\n        setup$5(editor);\n        setup$1(editor);\n      }\n      const caret = setup$b(editor);\n      setup$q(editor, caret);\n      setup$o(editor);\n      setup$r(editor);\n      setup$7(editor);\n      const setupRtcThunk = setup$t(editor);\n      preInit(editor);\n      setupRtcThunk.fold(() => {\n        const cancelProgress = startProgress(editor);\n        loadContentCss(editor).then(() => {\n          initEditorWithInitialContent(editor);\n          cancelProgress();\n        });\n      }, setupRtc => {\n        editor.setProgressState(true);\n        loadContentCss(editor).then(() => {\n          setupRtc().then(_rtcMode => {\n            editor.setProgressState(false);\n            initEditorWithInitialContent(editor);\n            bindEvents(editor);\n          }, err => {\n            editor.notificationManager.open({\n              type: 'error',\n              text: String(err)\n            });\n            initEditorWithInitialContent(editor);\n            bindEvents(editor);\n          });\n        });\n      });\n    };\n\n    const filter = always;\n    const bind = (element, event, handler) => bind$2(element, event, filter, handler);\n\n    const DOM$5 = DOMUtils.DOM;\n    const createIframeElement = (id, title, customAttrs, tabindex) => {\n      const iframe = SugarElement.fromTag('iframe');\n      tabindex.each(t => set$3(iframe, 'tabindex', t));\n      setAll$1(iframe, customAttrs);\n      setAll$1(iframe, {\n        id: id + '_ifr',\n        frameBorder: '0',\n        allowTransparency: 'true',\n        title\n      });\n      add$2(iframe, 'tox-edit-area__iframe');\n      return iframe;\n    };\n    const getIframeHtml = editor => {\n      let iframeHTML = getDocType(editor) + '<html><head>';\n      if (getDocumentBaseUrl(editor) !== editor.documentBaseUrl) {\n        iframeHTML += '<base href=\"' + editor.documentBaseURI.getURI() + '\" />';\n      }\n      iframeHTML += '<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />';\n      const bodyId = getBodyId(editor);\n      const bodyClass = getBodyClass(editor);\n      const translatedAriaText = editor.translate(getIframeAriaText(editor));\n      if (getContentSecurityPolicy(editor)) {\n        iframeHTML += '<meta http-equiv=\"Content-Security-Policy\" content=\"' + getContentSecurityPolicy(editor) + '\" />';\n      }\n      iframeHTML += '<\/head>' + \"<body id=\\\"\".concat(bodyId, \"\\\" class=\\\"mce-content-body \").concat(bodyClass, \"\\\" data-id=\\\"\").concat(editor.id, \"\\\" aria-label=\\\"\").concat(translatedAriaText, \"\\\">\") + '<br>' + '<\/body><\/html>';\n      return iframeHTML;\n    };\n    const createIframe = (editor, boxInfo) => {\n      const iframeTitle = editor.translate('Rich Text Area');\n      const tabindex = getOpt(SugarElement.fromDom(editor.getElement()), 'tabindex').bind(toInt);\n      const ifr = createIframeElement(editor.id, iframeTitle, getIframeAttrs(editor), tabindex).dom;\n      ifr.onload = () => {\n        ifr.onload = null;\n        editor.dispatch('load');\n      };\n      editor.contentAreaContainer = boxInfo.iframeContainer;\n      editor.iframeElement = ifr;\n      editor.iframeHTML = getIframeHtml(editor);\n      DOM$5.add(boxInfo.iframeContainer, ifr);\n    };\n    const setupIframeBody = editor => {\n      const iframe = editor.iframeElement;\n      const ready = () => {\n        editor.contentDocument = iframe.contentDocument;\n        contentBodyLoaded(editor);\n      };\n      if (shouldUseDocumentWrite(editor) || Env.browser.isFirefox()) {\n        const doc = editor.getDoc();\n        doc.open();\n        doc.write(editor.iframeHTML);\n        doc.close();\n        ready();\n      } else {\n        const binder = bind(SugarElement.fromDom(iframe), 'load', () => {\n          binder.unbind();\n          ready();\n        });\n        iframe.srcdoc = editor.iframeHTML;\n      }\n    };\n    const init$1 = (editor, boxInfo) => {\n      createIframe(editor, boxInfo);\n      if (boxInfo.editorContainer) {\n        boxInfo.editorContainer.style.display = editor.orgDisplay;\n        editor.hidden = DOM$5.isHidden(boxInfo.editorContainer);\n      }\n      editor.getElement().style.display = 'none';\n      DOM$5.setAttrib(editor.id, 'aria-hidden', 'true');\n      editor.getElement().style.visibility = editor.orgVisibility;\n      setupIframeBody(editor);\n    };\n\n    const DOM$4 = DOMUtils.DOM;\n    const initPlugin = (editor, initializedPlugins, plugin) => {\n      const Plugin = PluginManager.get(plugin);\n      const pluginUrl = PluginManager.urls[plugin] || editor.documentBaseUrl.replace(/\\/$/, '');\n      plugin = Tools.trim(plugin);\n      if (Plugin && Tools.inArray(initializedPlugins, plugin) === -1) {\n        if (editor.plugins[plugin]) {\n          return;\n        }\n        try {\n          const pluginInstance = Plugin(editor, pluginUrl) || {};\n          editor.plugins[plugin] = pluginInstance;\n          if (isFunction(pluginInstance.init)) {\n            pluginInstance.init(editor, pluginUrl);\n            initializedPlugins.push(plugin);\n          }\n        } catch (e) {\n          pluginInitError(editor, plugin, e);\n        }\n      }\n    };\n    const trimLegacyPrefix = name => {\n      return name.replace(/^\\-/, '');\n    };\n    const initPlugins = editor => {\n      const initializedPlugins = [];\n      each$e(getPlugins(editor), name => {\n        initPlugin(editor, initializedPlugins, trimLegacyPrefix(name));\n      });\n    };\n    const initIcons = editor => {\n      const iconPackName = Tools.trim(getIconPackName(editor));\n      const currentIcons = editor.ui.registry.getAll().icons;\n      const loadIcons = {\n        ...IconManager.get('default').icons,\n        ...IconManager.get(iconPackName).icons\n      };\n      each$d(loadIcons, (svgData, icon) => {\n        if (!has$2(currentIcons, icon)) {\n          editor.ui.registry.addIcon(icon, svgData);\n        }\n      });\n    };\n    const initTheme = editor => {\n      const theme = getTheme(editor);\n      if (isString(theme)) {\n        const Theme = ThemeManager.get(theme);\n        editor.theme = Theme(editor, ThemeManager.urls[theme]) || {};\n        if (isFunction(editor.theme.init)) {\n          editor.theme.init(editor, ThemeManager.urls[theme] || editor.documentBaseUrl.replace(/\\/$/, ''));\n        }\n      } else {\n        editor.theme = {};\n      }\n    };\n    const initModel = editor => {\n      const model = getModel(editor);\n      const Model = ModelManager.get(model);\n      editor.model = Model(editor, ModelManager.urls[model]);\n    };\n    const renderFromLoadedTheme = editor => {\n      const render = editor.theme.renderUI;\n      return render ? render() : renderThemeFalse(editor);\n    };\n    const renderFromThemeFunc = editor => {\n      const elm = editor.getElement();\n      const theme = getTheme(editor);\n      const info = theme(editor, elm);\n      if (info.editorContainer.nodeType) {\n        info.editorContainer.id = info.editorContainer.id || editor.id + '_parent';\n      }\n      if (info.iframeContainer && info.iframeContainer.nodeType) {\n        info.iframeContainer.id = info.iframeContainer.id || editor.id + '_iframecontainer';\n      }\n      info.height = info.iframeHeight ? info.iframeHeight : elm.offsetHeight;\n      return info;\n    };\n    const createThemeFalseResult = (element, iframe) => {\n      return {\n        editorContainer: element,\n        iframeContainer: iframe,\n        api: {}\n      };\n    };\n    const renderThemeFalseIframe = targetElement => {\n      const iframeContainer = DOM$4.create('div');\n      DOM$4.insertAfter(iframeContainer, targetElement);\n      return createThemeFalseResult(iframeContainer, iframeContainer);\n    };\n    const renderThemeFalse = editor => {\n      const targetElement = editor.getElement();\n      return editor.inline ? createThemeFalseResult(null) : renderThemeFalseIframe(targetElement);\n    };\n    const renderThemeUi = editor => {\n      const elm = editor.getElement();\n      editor.orgDisplay = elm.style.display;\n      if (isString(getTheme(editor))) {\n        return renderFromLoadedTheme(editor);\n      } else if (isFunction(getTheme(editor))) {\n        return renderFromThemeFunc(editor);\n      } else {\n        return renderThemeFalse(editor);\n      }\n    };\n    const augmentEditorUiApi = (editor, api) => {\n      const uiApiFacade = {\n        show: Optional.from(api.show).getOr(noop),\n        hide: Optional.from(api.hide).getOr(noop),\n        isEnabled: Optional.from(api.isEnabled).getOr(always),\n        setEnabled: state => {\n          if (!editor.mode.isReadOnly()) {\n            Optional.from(api.setEnabled).each(f => f(state));\n          }\n        }\n      };\n      editor.ui = {\n        ...editor.ui,\n        ...uiApiFacade\n      };\n    };\n    const init = async editor => {\n      editor.dispatch('ScriptsLoaded');\n      initIcons(editor);\n      initTheme(editor);\n      initModel(editor);\n      initPlugins(editor);\n      const renderInfo = await renderThemeUi(editor);\n      augmentEditorUiApi(editor, Optional.from(renderInfo.api).getOr({}));\n      editor.editorContainer = renderInfo.editorContainer;\n      appendContentCssFromSettings(editor);\n      if (editor.inline) {\n        contentBodyLoaded(editor);\n      } else {\n        init$1(editor, {\n          editorContainer: renderInfo.editorContainer,\n          iframeContainer: renderInfo.iframeContainer\n        });\n      }\n    };\n\n    const DOM$3 = DOMUtils.DOM;\n    const hasSkipLoadPrefix = name => name.charAt(0) === '-';\n    const loadLanguage = (scriptLoader, editor) => {\n      const languageCode = getLanguageCode(editor);\n      const languageUrl = getLanguageUrl(editor);\n      if (!I18n.hasCode(languageCode) && languageCode !== 'en') {\n        const url = isNotEmpty(languageUrl) ? languageUrl : \"\".concat(editor.editorManager.baseURL, \"/langs/\").concat(languageCode, \".js\");\n        scriptLoader.add(url).catch(() => {\n          languageLoadError(editor, url, languageCode);\n        });\n      }\n    };\n    const loadTheme = (editor, suffix) => {\n      const theme = getTheme(editor);\n      if (isString(theme) && !hasSkipLoadPrefix(theme) && !has$2(ThemeManager.urls, theme)) {\n        const themeUrl = getThemeUrl(editor);\n        const url = themeUrl ? editor.documentBaseURI.toAbsolute(themeUrl) : \"themes/\".concat(theme, \"/theme\").concat(suffix, \".js\");\n        ThemeManager.load(theme, url).catch(() => {\n          themeLoadError(editor, url, theme);\n        });\n      }\n    };\n    const loadModel = (editor, suffix) => {\n      const model = getModel(editor);\n      if (model !== 'plugin' && !has$2(ModelManager.urls, model)) {\n        const modelUrl = getModelUrl(editor);\n        const url = isString(modelUrl) ? editor.documentBaseURI.toAbsolute(modelUrl) : \"models/\".concat(model, \"/model\").concat(suffix, \".js\");\n        ModelManager.load(model, url).catch(() => {\n          modelLoadError(editor, url, model);\n        });\n      }\n    };\n    const getIconsUrlMetaFromUrl = editor => Optional.from(getIconsUrl(editor)).filter(isNotEmpty).map(url => ({\n      url,\n      name: Optional.none()\n    }));\n    const getIconsUrlMetaFromName = (editor, name, suffix) => Optional.from(name).filter(name => isNotEmpty(name) && !IconManager.has(name)).map(name => ({\n      url: \"\".concat(editor.editorManager.baseURL, \"/icons/\").concat(name, \"/icons\").concat(suffix, \".js\"),\n      name: Optional.some(name)\n    }));\n    const loadIcons = (scriptLoader, editor, suffix) => {\n      const defaultIconsUrl = getIconsUrlMetaFromName(editor, 'default', suffix);\n      const customIconsUrl = getIconsUrlMetaFromUrl(editor).orThunk(() => getIconsUrlMetaFromName(editor, getIconPackName(editor), ''));\n      each$e(cat([defaultIconsUrl, customIconsUrl]), urlMeta => {\n        scriptLoader.add(urlMeta.url).catch(() => {\n          iconsLoadError(editor, urlMeta.url, urlMeta.name.getOrUndefined());\n        });\n      });\n    };\n    const loadPlugins = (editor, suffix) => {\n      const loadPlugin = (name, url) => {\n        PluginManager.load(name, url).catch(() => {\n          pluginLoadError(editor, url, name);\n        });\n      };\n      each$d(getExternalPlugins$1(editor), (url, name) => {\n        loadPlugin(name, url);\n        editor.options.set('plugins', getPlugins(editor).concat(name));\n      });\n      each$e(getPlugins(editor), plugin => {\n        plugin = Tools.trim(plugin);\n        if (plugin && !PluginManager.urls[plugin] && !hasSkipLoadPrefix(plugin)) {\n          loadPlugin(plugin, \"plugins/\".concat(plugin, \"/plugin\").concat(suffix, \".js\"));\n        }\n      });\n    };\n    const isThemeLoaded = editor => {\n      const theme = getTheme(editor);\n      return !isString(theme) || isNonNullable(ThemeManager.get(theme));\n    };\n    const isModelLoaded = editor => {\n      const model = getModel(editor);\n      return isNonNullable(ModelManager.get(model));\n    };\n    const loadScripts = (editor, suffix) => {\n      const scriptLoader = ScriptLoader.ScriptLoader;\n      const initEditor = () => {\n        if (!editor.removed && isThemeLoaded(editor) && isModelLoaded(editor)) {\n          init(editor);\n        }\n      };\n      loadTheme(editor, suffix);\n      loadModel(editor, suffix);\n      loadLanguage(scriptLoader, editor);\n      loadIcons(scriptLoader, editor, suffix);\n      loadPlugins(editor, suffix);\n      scriptLoader.loadQueue().then(initEditor, initEditor);\n    };\n    const getStyleSheetLoader = (element, editor) => instance.forElement(element, {\n      contentCssCors: hasContentCssCors(editor),\n      referrerPolicy: getReferrerPolicy(editor)\n    });\n    const render = editor => {\n      const id = editor.id;\n      I18n.setCode(getLanguageCode(editor));\n      const readyHandler = () => {\n        DOM$3.unbind(window, 'ready', readyHandler);\n        editor.render();\n      };\n      if (!EventUtils.Event.domLoaded) {\n        DOM$3.bind(window, 'ready', readyHandler);\n        return;\n      }\n      if (!editor.getElement()) {\n        return;\n      }\n      const element = SugarElement.fromDom(editor.getElement());\n      const snapshot = clone$4(element);\n      editor.on('remove', () => {\n        eachr(element.dom.attributes, attr => remove$a(element, attr.name));\n        setAll$1(element, snapshot);\n      });\n      editor.ui.styleSheetLoader = getStyleSheetLoader(element, editor);\n      if (!isInline$1(editor)) {\n        editor.orgVisibility = editor.getElement().style.visibility;\n        editor.getElement().style.visibility = 'hidden';\n      } else {\n        editor.inline = true;\n      }\n      const form = editor.getElement().form || DOM$3.getParent(id, 'form');\n      if (form) {\n        editor.formElement = form;\n        if (hasHiddenInput(editor) && !isTextareaOrInput(editor.getElement())) {\n          DOM$3.insertAfter(DOM$3.create('input', {\n            type: 'hidden',\n            name: id\n          }), id);\n          editor.hasHiddenInput = true;\n        }\n        editor.formEventDelegate = e => {\n          editor.dispatch(e.type, e);\n        };\n        DOM$3.bind(form, 'submit reset', editor.formEventDelegate);\n        editor.on('reset', () => {\n          editor.resetContent();\n        });\n        if (shouldPatchSubmit(editor) && !form.submit.nodeType && !form.submit.length && !form._mceOldSubmit) {\n          form._mceOldSubmit = form.submit;\n          form.submit = () => {\n            editor.editorManager.triggerSave();\n            editor.setDirty(false);\n            return form._mceOldSubmit(form);\n          };\n        }\n      }\n      editor.windowManager = WindowManager(editor);\n      editor.notificationManager = NotificationManager(editor);\n      if (isEncodingXml(editor)) {\n        editor.on('GetContent', e => {\n          if (e.save) {\n            e.content = DOM$3.encode(e.content);\n          }\n        });\n      }\n      if (shouldAddFormSubmitTrigger(editor)) {\n        editor.on('submit', () => {\n          if (editor.initialized) {\n            editor.save();\n          }\n        });\n      }\n      if (shouldAddUnloadTrigger(editor)) {\n        editor._beforeUnload = () => {\n          if (editor.initialized && !editor.destroyed && !editor.isHidden()) {\n            editor.save({\n              format: 'raw',\n              no_events: true,\n              set_dirty: false\n            });\n          }\n        };\n        editor.editorManager.on('BeforeUnload', editor._beforeUnload);\n      }\n      editor.editorManager.add(editor);\n      loadScripts(editor, editor.suffix);\n    };\n\n    const setEditableRoot = (editor, state) => {\n      if (editor._editableRoot !== state) {\n        editor._editableRoot = state;\n        if (!editor.readonly) {\n          editor.getBody().contentEditable = String(editor.hasEditableRoot());\n          editor.nodeChanged();\n        }\n        fireEditableRootStateChange(editor, state);\n      }\n    };\n    const hasEditableRoot = editor => editor._editableRoot;\n\n    const sectionResult = (sections, settings) => ({\n      sections: constant(sections),\n      options: constant(settings)\n    });\n    const deviceDetection = detect$2().deviceType;\n    const isPhone = deviceDetection.isPhone();\n    const isTablet = deviceDetection.isTablet();\n    const normalizePlugins = plugins => {\n      if (isNullable(plugins)) {\n        return [];\n      } else {\n        const pluginNames = isArray$1(plugins) ? plugins : plugins.split(/[ ,]/);\n        const trimmedPlugins = map$3(pluginNames, trim$4);\n        return filter$5(trimmedPlugins, isNotEmpty);\n      }\n    };\n    const extractSections = (keys, options) => {\n      const result = bifilter(options, (value, key) => {\n        return contains$2(keys, key);\n      });\n      return sectionResult(result.t, result.f);\n    };\n    const getSection = (sectionResult, name, defaults = {}) => {\n      const sections = sectionResult.sections();\n      const sectionOptions = get$a(sections, name).getOr({});\n      return Tools.extend({}, defaults, sectionOptions);\n    };\n    const hasSection = (sectionResult, name) => {\n      return has$2(sectionResult.sections(), name);\n    };\n    const getSectionConfig = (sectionResult, name) => {\n      return hasSection(sectionResult, name) ? sectionResult.sections()[name] : {};\n    };\n    const getMobileOverrideOptions = (mobileOptions, isPhone) => {\n      const defaultMobileOptions = {\n        table_grid: false,\n        object_resizing: false,\n        resize: false,\n        toolbar_mode: get$a(mobileOptions, 'toolbar_mode').getOr('scrolling'),\n        toolbar_sticky: false\n      };\n      const defaultPhoneOptions = {\n        menubar: false\n      };\n      return {\n        ...defaultMobileOptions,\n        ...(isPhone ? defaultPhoneOptions : {})\n      };\n    };\n    const getExternalPlugins = (overrideOptions, options) => {\n      var _a;\n      const userDefinedExternalPlugins = (_a = options.external_plugins) !== null && _a !== void 0 ? _a : {};\n      if (overrideOptions && overrideOptions.external_plugins) {\n        return Tools.extend({}, overrideOptions.external_plugins, userDefinedExternalPlugins);\n      } else {\n        return userDefinedExternalPlugins;\n      }\n    };\n    const combinePlugins = (forcedPlugins, plugins) => [...normalizePlugins(forcedPlugins), ...normalizePlugins(plugins)];\n    const getPlatformPlugins = (isMobileDevice, sectionResult, desktopPlugins, mobilePlugins) => {\n      if (isMobileDevice && hasSection(sectionResult, 'mobile')) {\n        return mobilePlugins;\n      } else {\n        return desktopPlugins;\n      }\n    };\n    const processPlugins = (isMobileDevice, sectionResult, defaultOverrideOptions, options) => {\n      const forcedPlugins = normalizePlugins(defaultOverrideOptions.forced_plugins);\n      const desktopPlugins = normalizePlugins(options.plugins);\n      const mobileConfig = getSectionConfig(sectionResult, 'mobile');\n      const mobilePlugins = mobileConfig.plugins ? normalizePlugins(mobileConfig.plugins) : desktopPlugins;\n      const platformPlugins = getPlatformPlugins(isMobileDevice, sectionResult, desktopPlugins, mobilePlugins);\n      const combinedPlugins = combinePlugins(forcedPlugins, platformPlugins);\n      return Tools.extend(options, {\n        forced_plugins: forcedPlugins,\n        plugins: combinedPlugins\n      });\n    };\n    const isOnMobile = (isMobileDevice, sectionResult) => {\n      return isMobileDevice && hasSection(sectionResult, 'mobile');\n    };\n    const combineOptions = (isMobileDevice, isPhone, defaultOptions, defaultOverrideOptions, options) => {\n      var _a;\n      const deviceOverrideOptions = isMobileDevice ? {\n        mobile: getMobileOverrideOptions((_a = options.mobile) !== null && _a !== void 0 ? _a : {}, isPhone)\n      } : {};\n      const sectionResult = extractSections(['mobile'], deepMerge(deviceOverrideOptions, options));\n      const extendedOptions = Tools.extend(defaultOptions, defaultOverrideOptions, sectionResult.options(), isOnMobile(isMobileDevice, sectionResult) ? getSection(sectionResult, 'mobile') : {}, {\n        external_plugins: getExternalPlugins(defaultOverrideOptions, sectionResult.options())\n      });\n      return processPlugins(isMobileDevice, sectionResult, defaultOverrideOptions, extendedOptions);\n    };\n    const normalizeOptions = (defaultOverrideOptions, options) => combineOptions(isPhone || isTablet, isPhone, options, defaultOverrideOptions, options);\n\n    const addVisual = (editor, elm) => addVisual$1(editor, elm);\n\n    const registerExecCommands$3 = editor => {\n      const toggleFormat = (name, value) => {\n        editor.formatter.toggle(name, value);\n        editor.nodeChanged();\n      };\n      const toggleAlign = align => () => {\n        each$e('left,center,right,justify'.split(','), name => {\n          if (align !== name) {\n            editor.formatter.remove('align' + name);\n          }\n        });\n        if (align !== 'none') {\n          toggleFormat('align' + align);\n        }\n      };\n      editor.editorCommands.addCommands({\n        JustifyLeft: toggleAlign('left'),\n        JustifyCenter: toggleAlign('center'),\n        JustifyRight: toggleAlign('right'),\n        JustifyFull: toggleAlign('justify'),\n        JustifyNone: toggleAlign('none')\n      });\n    };\n    const registerQueryStateCommands$1 = editor => {\n      const alignStates = name => () => {\n        const selection = editor.selection;\n        const nodes = selection.isCollapsed() ? [editor.dom.getParent(selection.getNode(), editor.dom.isBlock)] : selection.getSelectedBlocks();\n        return exists(nodes, node => isNonNullable(editor.formatter.matchNode(node, name)));\n      };\n      editor.editorCommands.addCommands({\n        JustifyLeft: alignStates('alignleft'),\n        JustifyCenter: alignStates('aligncenter'),\n        JustifyRight: alignStates('alignright'),\n        JustifyFull: alignStates('alignjustify')\n      }, 'state');\n    };\n    const registerCommands$b = editor => {\n      registerExecCommands$3(editor);\n      registerQueryStateCommands$1(editor);\n    };\n\n    const registerCommands$a = editor => {\n      editor.editorCommands.addCommands({\n        'Cut,Copy,Paste': command => {\n          const doc = editor.getDoc();\n          let failed;\n          try {\n            doc.execCommand(command);\n          } catch (ex) {\n            failed = true;\n          }\n          if (command === 'paste' && !doc.queryCommandEnabled(command)) {\n            failed = true;\n          }\n          if (failed || !doc.queryCommandSupported(command)) {\n            let msg = editor.translate(\"Your browser doesn't support direct access to the clipboard. \" + 'Please use the Ctrl+X/C/V keyboard shortcuts instead.');\n            if (Env.os.isMacOS() || Env.os.isiOS()) {\n              msg = msg.replace(/Ctrl\\+/g, '\\u2318+');\n            }\n            editor.notificationManager.open({\n              text: msg,\n              type: 'error'\n            });\n          }\n        }\n      });\n    };\n\n    const trimOrPadLeftRight = (dom, rng, html, schema) => {\n      const root = SugarElement.fromDom(dom.getRoot());\n      if (needsToBeNbspLeft(root, CaretPosition.fromRangeStart(rng), schema)) {\n        html = html.replace(/^ /, '&nbsp;');\n      } else {\n        html = html.replace(/^&nbsp;/, ' ');\n      }\n      if (needsToBeNbspRight(root, CaretPosition.fromRangeEnd(rng), schema)) {\n        html = html.replace(/(&nbsp;| )(<br( \\/)>)?$/, '&nbsp;');\n      } else {\n        html = html.replace(/&nbsp;(<br( \\/)?>)?$/, ' ');\n      }\n      return html;\n    };\n\n    const processValue$1 = value => {\n      if (typeof value !== 'string') {\n        const details = Tools.extend({\n          paste: value.paste,\n          data: {\n            paste: value.paste\n          }\n        }, value);\n        return {\n          content: value.content,\n          details\n        };\n      }\n      return {\n        content: value,\n        details: {}\n      };\n    };\n    const trimOrPad = (editor, value) => {\n      const selection = editor.selection;\n      const dom = editor.dom;\n      if (/^ | $/.test(value)) {\n        return trimOrPadLeftRight(dom, selection.getRng(), value, editor.schema);\n      } else {\n        return value;\n      }\n    };\n    const insertAtCaret = (editor, value) => {\n      if (editor.selection.isEditable()) {\n        const {\n          content,\n          details\n        } = processValue$1(value);\n        preProcessSetContent(editor, {\n          ...details,\n          content: trimOrPad(editor, content),\n          format: 'html',\n          set: false,\n          selection: true\n        }).each(args => {\n          const insertedContent = insertContent$1(editor, args.content, details);\n          postProcessSetContent(editor, insertedContent, args);\n          editor.addVisual();\n        });\n      }\n    };\n\n    const registerCommands$9 = editor => {\n      editor.editorCommands.addCommands({\n        mceCleanup: () => {\n          const bm = editor.selection.getBookmark();\n          editor.setContent(editor.getContent());\n          editor.selection.moveToBookmark(bm);\n        },\n        insertImage: (_command, _ui, value) => {\n          insertAtCaret(editor, editor.dom.createHTML('img', {\n            src: value\n          }));\n        },\n        insertHorizontalRule: () => {\n          editor.execCommand('mceInsertContent', false, '<hr>');\n        },\n        insertText: (_command, _ui, value) => {\n          insertAtCaret(editor, editor.dom.encode(value));\n        },\n        insertHTML: (_command, _ui, value) => {\n          insertAtCaret(editor, value);\n        },\n        mceInsertContent: (_command, _ui, value) => {\n          insertAtCaret(editor, value);\n        },\n        mceSetContent: (_command, _ui, value) => {\n          editor.setContent(value);\n        },\n        mceReplaceContent: (_command, _ui, value) => {\n          editor.execCommand('mceInsertContent', false, value.replace(/\\{\\$selection\\}/g, editor.selection.getContent({\n            format: 'text'\n          })));\n        },\n        mceNewDocument: () => {\n          editor.setContent(getNewDocumentContent(editor));\n        }\n      });\n    };\n\n    const legacyPropNames = {\n      'font-size': 'size',\n      'font-family': 'face'\n    };\n    const isFont = isTag('font');\n    const getSpecifiedFontProp = (propName, rootElm, elm) => {\n      const getProperty = elm => getRaw(elm, propName).orThunk(() => {\n        if (isFont(elm)) {\n          return get$a(legacyPropNames, propName).bind(legacyPropName => getOpt(elm, legacyPropName));\n        } else {\n          return Optional.none();\n        }\n      });\n      const isRoot = elm => eq(SugarElement.fromDom(rootElm), elm);\n      return closest$1(SugarElement.fromDom(elm), elm => getProperty(elm), isRoot);\n    };\n    const normalizeFontFamily = fontFamily => fontFamily.replace(/[\\'\\\"\\\\]/g, '').replace(/,\\s+/g, ',');\n    const getComputedFontProp = (propName, elm) => Optional.from(DOMUtils.DOM.getStyle(elm, propName, true));\n    const getFontProp = propName => (rootElm, elm) => Optional.from(elm).map(SugarElement.fromDom).filter(isElement$7).bind(element => getSpecifiedFontProp(propName, rootElm, element.dom).or(getComputedFontProp(propName, element.dom))).getOr('');\n    const getFontSize = getFontProp('font-size');\n    const getFontFamily = compose(normalizeFontFamily, getFontProp('font-family'));\n\n    const findFirstCaretElement = editor => firstPositionIn(editor.getBody()).bind(caret => {\n      const container = caret.container();\n      return Optional.from(isText$a(container) ? container.parentNode : container);\n    });\n    const getCaretElement = editor => Optional.from(editor.selection.getRng()).bind(rng => {\n      const root = editor.getBody();\n      const atStartOfNode = rng.startContainer === root && rng.startOffset === 0;\n      return atStartOfNode ? Optional.none() : Optional.from(editor.selection.getStart(true));\n    });\n    const bindRange = (editor, binder) => getCaretElement(editor).orThunk(curry(findFirstCaretElement, editor)).map(SugarElement.fromDom).filter(isElement$7).bind(binder);\n    const mapRange = (editor, mapper) => bindRange(editor, compose1(Optional.some, mapper));\n\n    const fromFontSizeNumber = (editor, value) => {\n      if (/^[0-9.]+$/.test(value)) {\n        const fontSizeNumber = parseInt(value, 10);\n        if (fontSizeNumber >= 1 && fontSizeNumber <= 7) {\n          const fontSizes = getFontStyleValues(editor);\n          const fontClasses = getFontSizeClasses(editor);\n          if (fontClasses.length > 0) {\n            return fontClasses[fontSizeNumber - 1] || value;\n          } else {\n            return fontSizes[fontSizeNumber - 1] || value;\n          }\n        } else {\n          return value;\n        }\n      } else {\n        return value;\n      }\n    };\n    const normalizeFontNames = font => {\n      const fonts = font.split(/\\s*,\\s*/);\n      return map$3(fonts, font => {\n        if (font.indexOf(' ') !== -1 && !(startsWith(font, '\"') || startsWith(font, \"'\"))) {\n          return \"'\".concat(font, \"'\");\n        } else {\n          return font;\n        }\n      }).join(',');\n    };\n    const fontNameAction = (editor, value) => {\n      const font = fromFontSizeNumber(editor, value);\n      editor.formatter.toggle('fontname', {\n        value: normalizeFontNames(font)\n      });\n      editor.nodeChanged();\n    };\n    const fontNameQuery = editor => mapRange(editor, elm => getFontFamily(editor.getBody(), elm.dom)).getOr('');\n    const fontSizeAction = (editor, value) => {\n      editor.formatter.toggle('fontsize', {\n        value: fromFontSizeNumber(editor, value)\n      });\n      editor.nodeChanged();\n    };\n    const fontSizeQuery = editor => mapRange(editor, elm => getFontSize(editor.getBody(), elm.dom)).getOr('');\n\n    const lineHeightQuery = editor => mapRange(editor, elm => {\n      const root = SugarElement.fromDom(editor.getBody());\n      const specifiedStyle = closest$1(elm, elm => getRaw(elm, 'line-height'), curry(eq, root));\n      const computedStyle = () => {\n        const lineHeight = parseFloat(get$7(elm, 'line-height'));\n        const fontSize = parseFloat(get$7(elm, 'font-size'));\n        return String(lineHeight / fontSize);\n      };\n      return specifiedStyle.getOrThunk(computedStyle);\n    }).getOr('');\n    const lineHeightAction = (editor, lineHeight) => {\n      editor.formatter.toggle('lineheight', {\n        value: String(lineHeight)\n      });\n      editor.nodeChanged();\n    };\n\n    const registerExecCommands$2 = editor => {\n      const toggleFormat = (name, value) => {\n        editor.formatter.toggle(name, value);\n        editor.nodeChanged();\n      };\n      editor.editorCommands.addCommands({\n        'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': command => {\n          toggleFormat(command);\n        },\n        'ForeColor,HiliteColor': (command, _ui, value) => {\n          toggleFormat(command, {\n            value\n          });\n        },\n        'BackColor': (_command, _ui, value) => {\n          toggleFormat('hilitecolor', {\n            value\n          });\n        },\n        'FontName': (_command, _ui, value) => {\n          fontNameAction(editor, value);\n        },\n        'FontSize': (_command, _ui, value) => {\n          fontSizeAction(editor, value);\n        },\n        'LineHeight': (_command, _ui, value) => {\n          lineHeightAction(editor, value);\n        },\n        'Lang': (command, _ui, lang) => {\n          var _a;\n          toggleFormat(command, {\n            value: lang.code,\n            customValue: (_a = lang.customCode) !== null && _a !== void 0 ? _a : null\n          });\n        },\n        'RemoveFormat': command => {\n          editor.formatter.remove(command);\n        },\n        'mceBlockQuote': () => {\n          toggleFormat('blockquote');\n        },\n        'FormatBlock': (_command, _ui, value) => {\n          toggleFormat(isString(value) ? value : 'p');\n        },\n        'mceToggleFormat': (_command, _ui, value) => {\n          toggleFormat(value);\n        }\n      });\n    };\n    const registerQueryValueCommands = editor => {\n      const isFormatMatch = name => editor.formatter.match(name);\n      editor.editorCommands.addCommands({\n        'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': command => isFormatMatch(command),\n        'mceBlockQuote': () => isFormatMatch('blockquote')\n      }, 'state');\n      editor.editorCommands.addQueryValueHandler('FontName', () => fontNameQuery(editor));\n      editor.editorCommands.addQueryValueHandler('FontSize', () => fontSizeQuery(editor));\n      editor.editorCommands.addQueryValueHandler('LineHeight', () => lineHeightQuery(editor));\n    };\n    const registerCommands$8 = editor => {\n      registerExecCommands$2(editor);\n      registerQueryValueCommands(editor);\n    };\n\n    const registerCommands$7 = editor => {\n      editor.editorCommands.addCommands({\n        mceAddUndoLevel: () => {\n          editor.undoManager.add();\n        },\n        mceEndUndoLevel: () => {\n          editor.undoManager.add();\n        },\n        Undo: () => {\n          editor.undoManager.undo();\n        },\n        Redo: () => {\n          editor.undoManager.redo();\n        }\n      });\n    };\n\n    const registerCommands$6 = editor => {\n      editor.editorCommands.addCommands({\n        Indent: () => {\n          indent(editor);\n        },\n        Outdent: () => {\n          outdent(editor);\n        }\n      });\n      editor.editorCommands.addCommands({\n        Outdent: () => canOutdent(editor)\n      }, 'state');\n    };\n\n    const registerCommands$5 = editor => {\n      const applyLinkToSelection = (_command, _ui, value) => {\n        const linkDetails = isString(value) ? {\n          href: value\n        } : value;\n        const anchor = editor.dom.getParent(editor.selection.getNode(), 'a');\n        if (isObject(linkDetails) && isString(linkDetails.href)) {\n          linkDetails.href = linkDetails.href.replace(/ /g, '%20');\n          if (!anchor || !linkDetails.href) {\n            editor.formatter.remove('link');\n          }\n          if (linkDetails.href) {\n            editor.formatter.apply('link', linkDetails, anchor);\n          }\n        }\n      };\n      editor.editorCommands.addCommands({\n        unlink: () => {\n          if (editor.selection.isEditable()) {\n            if (editor.selection.isCollapsed()) {\n              const elm = editor.dom.getParent(editor.selection.getStart(), 'a');\n              if (elm) {\n                editor.dom.remove(elm, true);\n              }\n              return;\n            }\n            editor.formatter.remove('link');\n          }\n        },\n        mceInsertLink: applyLinkToSelection,\n        createLink: applyLinkToSelection\n      });\n    };\n\n    const registerExecCommands$1 = editor => {\n      editor.editorCommands.addCommands({\n        'InsertUnorderedList,InsertOrderedList': command => {\n          editor.getDoc().execCommand(command);\n          const listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');\n          if (listElm) {\n            const listParent = listElm.parentNode;\n            if (listParent && /^(H[1-6]|P|ADDRESS|PRE)$/.test(listParent.nodeName)) {\n              const bm = editor.selection.getBookmark();\n              editor.dom.split(listParent, listElm);\n              editor.selection.moveToBookmark(bm);\n            }\n          }\n        }\n      });\n    };\n    const registerQueryStateCommands = editor => {\n      editor.editorCommands.addCommands({\n        'InsertUnorderedList,InsertOrderedList': command => {\n          const list = editor.dom.getParent(editor.selection.getNode(), 'ul,ol');\n          return list && (command === 'insertunorderedlist' && list.tagName === 'UL' || command === 'insertorderedlist' && list.tagName === 'OL');\n        }\n      }, 'state');\n    };\n    const registerCommands$4 = editor => {\n      registerExecCommands$1(editor);\n      registerQueryStateCommands(editor);\n    };\n\n    const getTopParentBlock = (editor, node, root, container) => {\n      const dom = editor.dom;\n      const selector = node => dom.isBlock(node) && node.parentElement === root;\n      const topParentBlock = selector(node) ? node : dom.getParent(container, selector, root);\n      return Optional.from(topParentBlock).map(SugarElement.fromDom);\n    };\n    const insert = (editor, before) => {\n      const dom = editor.dom;\n      const rng = editor.selection.getRng();\n      const node = before ? editor.selection.getStart() : editor.selection.getEnd();\n      const container = before ? rng.startContainer : rng.endContainer;\n      const root = getEditableRoot(dom, container);\n      if (!root || !root.isContentEditable) {\n        return;\n      }\n      const insertFn = before ? before$3 : after$4;\n      const newBlockName = getForcedRootBlock(editor);\n      getTopParentBlock(editor, node, root, container).each(parentBlock => {\n        const newBlock = createNewBlock(editor, container, parentBlock.dom, root, false, newBlockName);\n        insertFn(parentBlock, SugarElement.fromDom(newBlock));\n        editor.selection.setCursorLocation(newBlock, 0);\n        editor.dispatch('NewBlock', {\n          newBlock\n        });\n        fireInputEvent(editor, 'insertParagraph');\n      });\n    };\n    const insertBefore = editor => insert(editor, true);\n    const insertAfter = editor => insert(editor, false);\n\n    const registerCommands$3 = editor => {\n      editor.editorCommands.addCommands({\n        InsertNewBlockBefore: () => {\n          insertBefore(editor);\n        },\n        InsertNewBlockAfter: () => {\n          insertAfter(editor);\n        }\n      });\n    };\n\n    const registerCommands$2 = editor => {\n      editor.editorCommands.addCommands({\n        insertParagraph: () => {\n          insertBreak(blockbreak, editor);\n        },\n        mceInsertNewLine: (_command, _ui, value) => {\n          insert$1(editor, value);\n        },\n        InsertLineBreak: (_command, _ui, _value) => {\n          insertBreak(linebreak, editor);\n        }\n      });\n    };\n\n    const registerCommands$1 = editor => {\n      editor.editorCommands.addCommands({\n        mceSelectNodeDepth: (_command, _ui, value) => {\n          let counter = 0;\n          editor.dom.getParent(editor.selection.getNode(), node => {\n            if (isElement$6(node) && counter++ === value) {\n              editor.selection.select(node);\n              return false;\n            } else {\n              return true;\n            }\n          }, editor.getBody());\n        },\n        mceSelectNode: (_command, _ui, value) => {\n          editor.selection.select(value);\n        },\n        selectAll: () => {\n          const editingHost = editor.dom.getParent(editor.selection.getStart(), isContentEditableTrue$3);\n          if (editingHost) {\n            const rng = editor.dom.createRng();\n            rng.selectNodeContents(editingHost);\n            editor.selection.setRng(rng);\n          }\n        }\n      });\n    };\n\n    const registerExecCommands = editor => {\n      editor.editorCommands.addCommands({\n        mceRemoveNode: (_command, _ui, value) => {\n          const node = value !== null && value !== void 0 ? value : editor.selection.getNode();\n          if (node !== editor.getBody()) {\n            const bm = editor.selection.getBookmark();\n            editor.dom.remove(node, true);\n            editor.selection.moveToBookmark(bm);\n          }\n        },\n        mcePrint: () => {\n          editor.getWin().print();\n        },\n        mceFocus: (_command, _ui, value) => {\n          focus(editor, value === true);\n        },\n        mceToggleVisualAid: () => {\n          editor.hasVisual = !editor.hasVisual;\n          editor.addVisual();\n        }\n      });\n    };\n    const registerCommands = editor => {\n      registerCommands$b(editor);\n      registerCommands$a(editor);\n      registerCommands$7(editor);\n      registerCommands$1(editor);\n      registerCommands$9(editor);\n      registerCommands$5(editor);\n      registerCommands$6(editor);\n      registerCommands$3(editor);\n      registerCommands$2(editor);\n      registerCommands$4(editor);\n      registerCommands$8(editor);\n      registerExecCommands(editor);\n    };\n\n    const selectionSafeCommands = ['toggleview'];\n    const isSelectionSafeCommand = command => contains$2(selectionSafeCommands, command.toLowerCase());\n    class EditorCommands {\n      constructor(editor) {\n        this.commands = {\n          state: {},\n          exec: {},\n          value: {}\n        };\n        this.editor = editor;\n      }\n      execCommand(command, ui = false, value, args) {\n        const editor = this.editor;\n        const lowerCaseCommand = command.toLowerCase();\n        const skipFocus = args === null || args === void 0 ? void 0 : args.skip_focus;\n        if (editor.removed) {\n          return false;\n        }\n        if (lowerCaseCommand !== 'mcefocus') {\n          if (!/^(mceAddUndoLevel|mceEndUndoLevel)$/i.test(lowerCaseCommand) && !skipFocus) {\n            editor.focus();\n          } else {\n            restore(editor);\n          }\n        }\n        const eventArgs = editor.dispatch('BeforeExecCommand', {\n          command,\n          ui,\n          value\n        });\n        if (eventArgs.isDefaultPrevented()) {\n          return false;\n        }\n        const func = this.commands.exec[lowerCaseCommand];\n        if (isFunction(func)) {\n          func(lowerCaseCommand, ui, value);\n          editor.dispatch('ExecCommand', {\n            command,\n            ui,\n            value\n          });\n          return true;\n        }\n        return false;\n      }\n      queryCommandState(command) {\n        if (!isSelectionSafeCommand(command) && this.editor.quirks.isHidden() || this.editor.removed) {\n          return false;\n        }\n        const lowerCaseCommand = command.toLowerCase();\n        const func = this.commands.state[lowerCaseCommand];\n        if (isFunction(func)) {\n          return func(lowerCaseCommand);\n        }\n        return false;\n      }\n      queryCommandValue(command) {\n        if (!isSelectionSafeCommand(command) && this.editor.quirks.isHidden() || this.editor.removed) {\n          return '';\n        }\n        const lowerCaseCommand = command.toLowerCase();\n        const func = this.commands.value[lowerCaseCommand];\n        if (isFunction(func)) {\n          return func(lowerCaseCommand);\n        }\n        return '';\n      }\n      addCommands(commandList, type = 'exec') {\n        const commands = this.commands;\n        each$d(commandList, (callback, command) => {\n          each$e(command.toLowerCase().split(','), command => {\n            commands[type][command] = callback;\n          });\n        });\n      }\n      addCommand(command, callback, scope) {\n        const lowerCaseCommand = command.toLowerCase();\n        this.commands.exec[lowerCaseCommand] = (_command, ui, value) => callback.call(scope !== null && scope !== void 0 ? scope : this.editor, ui, value);\n      }\n      queryCommandSupported(command) {\n        const lowerCaseCommand = command.toLowerCase();\n        if (this.commands.exec[lowerCaseCommand]) {\n          return true;\n        } else {\n          return false;\n        }\n      }\n      addQueryStateHandler(command, callback, scope) {\n        this.commands.state[command.toLowerCase()] = () => callback.call(scope !== null && scope !== void 0 ? scope : this.editor);\n      }\n      addQueryValueHandler(command, callback, scope) {\n        this.commands.value[command.toLowerCase()] = () => callback.call(scope !== null && scope !== void 0 ? scope : this.editor);\n      }\n    }\n\n    const internalContentEditableAttr = 'data-mce-contenteditable';\n    const toggleClass = (elm, cls, state) => {\n      if (has(elm, cls) && !state) {\n        remove$7(elm, cls);\n      } else if (state) {\n        add$2(elm, cls);\n      }\n    };\n    const setEditorCommandState = (editor, cmd, state) => {\n      try {\n        editor.getDoc().execCommand(cmd, false, String(state));\n      } catch (ex) {}\n    };\n    const setContentEditable = (elm, state) => {\n      elm.dom.contentEditable = state ? 'true' : 'false';\n    };\n    const switchOffContentEditableTrue = elm => {\n      each$e(descendants(elm, '*[contenteditable=\"true\"]'), elm => {\n        set$3(elm, internalContentEditableAttr, 'true');\n        setContentEditable(elm, false);\n      });\n    };\n    const switchOnContentEditableTrue = elm => {\n      each$e(descendants(elm, \"*[\".concat(internalContentEditableAttr, \"=\\\"true\\\"]\")), elm => {\n        remove$a(elm, internalContentEditableAttr);\n        setContentEditable(elm, true);\n      });\n    };\n    const removeFakeSelection = editor => {\n      Optional.from(editor.selection.getNode()).each(elm => {\n        elm.removeAttribute('data-mce-selected');\n      });\n    };\n    const restoreFakeSelection = editor => {\n      editor.selection.setRng(editor.selection.getRng());\n    };\n    const toggleReadOnly = (editor, state) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      toggleClass(body, 'mce-content-readonly', state);\n      if (state) {\n        editor.selection.controlSelection.hideResizeRect();\n        editor._selectionOverrides.hideFakeCaret();\n        removeFakeSelection(editor);\n        editor.readonly = true;\n        setContentEditable(body, false);\n        switchOffContentEditableTrue(body);\n      } else {\n        editor.readonly = false;\n        if (editor.hasEditableRoot()) {\n          setContentEditable(body, true);\n        }\n        switchOnContentEditableTrue(body);\n        setEditorCommandState(editor, 'StyleWithCSS', false);\n        setEditorCommandState(editor, 'enableInlineTableEditing', false);\n        setEditorCommandState(editor, 'enableObjectResizing', false);\n        if (hasEditorOrUiFocus(editor)) {\n          editor.focus();\n        }\n        restoreFakeSelection(editor);\n        editor.nodeChanged();\n      }\n    };\n    const isReadOnly = editor => editor.readonly;\n    const registerFilters = editor => {\n      editor.parser.addAttributeFilter('contenteditable', nodes => {\n        if (isReadOnly(editor)) {\n          each$e(nodes, node => {\n            node.attr(internalContentEditableAttr, node.attr('contenteditable'));\n            node.attr('contenteditable', 'false');\n          });\n        }\n      });\n      editor.serializer.addAttributeFilter(internalContentEditableAttr, nodes => {\n        if (isReadOnly(editor)) {\n          each$e(nodes, node => {\n            node.attr('contenteditable', node.attr(internalContentEditableAttr));\n          });\n        }\n      });\n      editor.serializer.addTempAttr(internalContentEditableAttr);\n    };\n    const registerReadOnlyContentFilters = editor => {\n      if (editor.serializer) {\n        registerFilters(editor);\n      } else {\n        editor.on('PreInit', () => {\n          registerFilters(editor);\n        });\n      }\n    };\n    const isClickEvent = e => e.type === 'click';\n    const allowedEvents = ['copy'];\n    const isReadOnlyAllowedEvent = e => contains$2(allowedEvents, e.type);\n    const getAnchorHrefOpt = (editor, elm) => {\n      const isRoot = elm => eq(elm, SugarElement.fromDom(editor.getBody()));\n      return closest$3(elm, 'a', isRoot).bind(a => getOpt(a, 'href'));\n    };\n    const processReadonlyEvents = (editor, e) => {\n      if (isClickEvent(e) && !VK.metaKeyPressed(e)) {\n        const elm = SugarElement.fromDom(e.target);\n        getAnchorHrefOpt(editor, elm).each(href => {\n          e.preventDefault();\n          if (/^#/.test(href)) {\n            const targetEl = editor.dom.select(\"\".concat(href, \",[name=\\\"\").concat(removeLeading(href, '#'), \"\\\"]\"));\n            if (targetEl.length) {\n              editor.selection.scrollIntoView(targetEl[0], true);\n            }\n          } else {\n            window.open(href, '_blank', 'rel=noopener noreferrer,menubar=yes,toolbar=yes,location=yes,status=yes,resizable=yes,scrollbars=yes');\n          }\n        });\n      } else if (isReadOnlyAllowedEvent(e)) {\n        editor.dispatch(e.type, e);\n      }\n    };\n    const registerReadOnlySelectionBlockers = editor => {\n      editor.on('ShowCaret', e => {\n        if (isReadOnly(editor)) {\n          e.preventDefault();\n        }\n      });\n      editor.on('ObjectSelected', e => {\n        if (isReadOnly(editor)) {\n          e.preventDefault();\n        }\n      });\n    };\n\n    const nativeEvents = Tools.makeMap('focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange ' + 'mouseout mouseenter mouseleave wheel keydown keypress keyup input beforeinput contextmenu dragstart dragend dragover ' + 'draggesture dragdrop drop drag submit ' + 'compositionstart compositionend compositionupdate touchstart touchmove touchend touchcancel', ' ');\n    class EventDispatcher {\n      static isNative(name) {\n        return !!nativeEvents[name.toLowerCase()];\n      }\n      constructor(settings) {\n        this.bindings = {};\n        this.settings = settings || {};\n        this.scope = this.settings.scope || this;\n        this.toggleEvent = this.settings.toggleEvent || never;\n      }\n      fire(name, args) {\n        return this.dispatch(name, args);\n      }\n      dispatch(name, args) {\n        const lcName = name.toLowerCase();\n        const event = normalize$3(lcName, args !== null && args !== void 0 ? args : {}, this.scope);\n        if (this.settings.beforeFire) {\n          this.settings.beforeFire(event);\n        }\n        const handlers = this.bindings[lcName];\n        if (handlers) {\n          for (let i = 0, l = handlers.length; i < l; i++) {\n            const callback = handlers[i];\n            if (callback.removed) {\n              continue;\n            }\n            if (callback.once) {\n              this.off(lcName, callback.func);\n            }\n            if (event.isImmediatePropagationStopped()) {\n              return event;\n            }\n            if (callback.func.call(this.scope, event) === false) {\n              event.preventDefault();\n              return event;\n            }\n          }\n        }\n        return event;\n      }\n      on(name, callback, prepend, extra) {\n        if (callback === false) {\n          callback = never;\n        }\n        if (callback) {\n          const wrappedCallback = {\n            func: callback,\n            removed: false\n          };\n          if (extra) {\n            Tools.extend(wrappedCallback, extra);\n          }\n          const names = name.toLowerCase().split(' ');\n          let i = names.length;\n          while (i--) {\n            const currentName = names[i];\n            let handlers = this.bindings[currentName];\n            if (!handlers) {\n              handlers = [];\n              this.toggleEvent(currentName, true);\n            }\n            if (prepend) {\n              handlers = [wrappedCallback, ...handlers];\n            } else {\n              handlers = [...handlers, wrappedCallback];\n            }\n            this.bindings[currentName] = handlers;\n          }\n        }\n        return this;\n      }\n      off(name, callback) {\n        if (name) {\n          const names = name.toLowerCase().split(' ');\n          let i = names.length;\n          while (i--) {\n            const currentName = names[i];\n            let handlers = this.bindings[currentName];\n            if (!currentName) {\n              each$d(this.bindings, (_value, bindingName) => {\n                this.toggleEvent(bindingName, false);\n                delete this.bindings[bindingName];\n              });\n              return this;\n            }\n            if (handlers) {\n              if (!callback) {\n                handlers.length = 0;\n              } else {\n                const filteredHandlers = partition$2(handlers, handler => handler.func === callback);\n                handlers = filteredHandlers.fail;\n                this.bindings[currentName] = handlers;\n                each$e(filteredHandlers.pass, handler => {\n                  handler.removed = true;\n                });\n              }\n              if (!handlers.length) {\n                this.toggleEvent(name, false);\n                delete this.bindings[currentName];\n              }\n            }\n          }\n        } else {\n          each$d(this.bindings, (_value, name) => {\n            this.toggleEvent(name, false);\n          });\n          this.bindings = {};\n        }\n        return this;\n      }\n      once(name, callback, prepend) {\n        return this.on(name, callback, prepend, {\n          once: true\n        });\n      }\n      has(name) {\n        name = name.toLowerCase();\n        const binding = this.bindings[name];\n        return !(!binding || binding.length === 0);\n      }\n    }\n\n    const getEventDispatcher = obj => {\n      if (!obj._eventDispatcher) {\n        obj._eventDispatcher = new EventDispatcher({\n          scope: obj,\n          toggleEvent: (name, state) => {\n            if (EventDispatcher.isNative(name) && obj.toggleNativeEvent) {\n              obj.toggleNativeEvent(name, state);\n            }\n          }\n        });\n      }\n      return obj._eventDispatcher;\n    };\n    const Observable = {\n      fire(name, args, bubble) {\n        return this.dispatch(name, args, bubble);\n      },\n      dispatch(name, args, bubble) {\n        const self = this;\n        if (self.removed && name !== 'remove' && name !== 'detach') {\n          return normalize$3(name.toLowerCase(), args !== null && args !== void 0 ? args : {}, self);\n        }\n        const dispatcherArgs = getEventDispatcher(self).dispatch(name, args);\n        if (bubble !== false && self.parent) {\n          let parent = self.parent();\n          while (parent && !dispatcherArgs.isPropagationStopped()) {\n            parent.dispatch(name, dispatcherArgs, false);\n            parent = parent.parent ? parent.parent() : undefined;\n          }\n        }\n        return dispatcherArgs;\n      },\n      on(name, callback, prepend) {\n        return getEventDispatcher(this).on(name, callback, prepend);\n      },\n      off(name, callback) {\n        return getEventDispatcher(this).off(name, callback);\n      },\n      once(name, callback) {\n        return getEventDispatcher(this).once(name, callback);\n      },\n      hasEventListeners(name) {\n        return getEventDispatcher(this).has(name);\n      }\n    };\n\n    const DOM$2 = DOMUtils.DOM;\n    let customEventRootDelegates;\n    const getEventTarget = (editor, eventName) => {\n      if (eventName === 'selectionchange') {\n        return editor.getDoc();\n      }\n      if (!editor.inline && /^(?:mouse|touch|click|contextmenu|drop|dragover|dragend)/.test(eventName)) {\n        return editor.getDoc().documentElement;\n      }\n      const eventRoot = getEventRoot(editor);\n      if (eventRoot) {\n        if (!editor.eventRoot) {\n          editor.eventRoot = DOM$2.select(eventRoot)[0];\n        }\n        return editor.eventRoot;\n      }\n      return editor.getBody();\n    };\n    const isListening = editor => !editor.hidden && !isReadOnly(editor);\n    const fireEvent = (editor, eventName, e) => {\n      if (isListening(editor)) {\n        editor.dispatch(eventName, e);\n      } else if (isReadOnly(editor)) {\n        processReadonlyEvents(editor, e);\n      }\n    };\n    const bindEventDelegate = (editor, eventName) => {\n      if (!editor.delegates) {\n        editor.delegates = {};\n      }\n      if (editor.delegates[eventName] || editor.removed) {\n        return;\n      }\n      const eventRootElm = getEventTarget(editor, eventName);\n      if (getEventRoot(editor)) {\n        if (!customEventRootDelegates) {\n          customEventRootDelegates = {};\n          editor.editorManager.on('removeEditor', () => {\n            if (!editor.editorManager.activeEditor) {\n              if (customEventRootDelegates) {\n                each$d(customEventRootDelegates, (_value, name) => {\n                  editor.dom.unbind(getEventTarget(editor, name));\n                });\n                customEventRootDelegates = null;\n              }\n            }\n          });\n        }\n        if (customEventRootDelegates[eventName]) {\n          return;\n        }\n        const delegate = e => {\n          const target = e.target;\n          const editors = editor.editorManager.get();\n          let i = editors.length;\n          while (i--) {\n            const body = editors[i].getBody();\n            if (body === target || DOM$2.isChildOf(target, body)) {\n              fireEvent(editors[i], eventName, e);\n            }\n          }\n        };\n        customEventRootDelegates[eventName] = delegate;\n        DOM$2.bind(eventRootElm, eventName, delegate);\n      } else {\n        const delegate = e => {\n          fireEvent(editor, eventName, e);\n        };\n        DOM$2.bind(eventRootElm, eventName, delegate);\n        editor.delegates[eventName] = delegate;\n      }\n    };\n    const EditorObservable = {\n      ...Observable,\n      bindPendingEventDelegates() {\n        const self = this;\n        Tools.each(self._pendingNativeEvents, name => {\n          bindEventDelegate(self, name);\n        });\n      },\n      toggleNativeEvent(name, state) {\n        const self = this;\n        if (name === 'focus' || name === 'blur') {\n          return;\n        }\n        if (self.removed) {\n          return;\n        }\n        if (state) {\n          if (self.initialized) {\n            bindEventDelegate(self, name);\n          } else {\n            if (!self._pendingNativeEvents) {\n              self._pendingNativeEvents = [name];\n            } else {\n              self._pendingNativeEvents.push(name);\n            }\n          }\n        } else if (self.initialized && self.delegates) {\n          self.dom.unbind(getEventTarget(self, name), name, self.delegates[name]);\n          delete self.delegates[name];\n        }\n      },\n      unbindAllNativeEvents() {\n        const self = this;\n        const body = self.getBody();\n        const dom = self.dom;\n        if (self.delegates) {\n          each$d(self.delegates, (value, name) => {\n            self.dom.unbind(getEventTarget(self, name), name, value);\n          });\n          delete self.delegates;\n        }\n        if (!self.inline && body && dom) {\n          body.onload = null;\n          dom.unbind(self.getWin());\n          dom.unbind(self.getDoc());\n        }\n        if (dom) {\n          dom.unbind(body);\n          dom.unbind(self.getContainer());\n        }\n      }\n    };\n\n    const stringListProcessor = value => {\n      if (isString(value)) {\n        return {\n          value: value.split(/[ ,]/),\n          valid: true\n        };\n      } else if (isArrayOf(value, isString)) {\n        return {\n          value,\n          valid: true\n        };\n      } else {\n        return {\n          valid: false,\n          message: \"The value must be a string[] or a comma/space separated string.\"\n        };\n      }\n    };\n    const getBuiltInProcessor = type => {\n      const validator = (() => {\n        switch (type) {\n          case 'array':\n            return isArray$1;\n          case 'boolean':\n            return isBoolean;\n          case 'function':\n            return isFunction;\n          case 'number':\n            return isNumber;\n          case 'object':\n            return isObject;\n          case 'string':\n            return isString;\n          case 'string[]':\n            return stringListProcessor;\n          case 'object[]':\n            return val => isArrayOf(val, isObject);\n          case 'regexp':\n            return val => is$4(val, RegExp);\n          default:\n            return always;\n        }\n      })();\n      return value => processValue(value, validator, \"The value must be a \".concat(type, \".\"));\n    };\n    const isBuiltInSpec = spec => isString(spec.processor);\n    const getErrorMessage = (message, result) => {\n      const additionalText = isEmpty$3(result.message) ? '' : \". \".concat(result.message);\n      return message + additionalText;\n    };\n    const isValidResult = result => result.valid;\n    const processValue = (value, processor, message = '') => {\n      const result = processor(value);\n      if (isBoolean(result)) {\n        return result ? {\n          value: value,\n          valid: true\n        } : {\n          valid: false,\n          message\n        };\n      } else {\n        return result;\n      }\n    };\n    const processDefaultValue = (name, defaultValue, processor) => {\n      if (!isUndefined(defaultValue)) {\n        const result = processValue(defaultValue, processor);\n        if (isValidResult(result)) {\n          return result.value;\n        } else {\n          console.error(getErrorMessage(\"Invalid default value passed for the \\\"\".concat(name, \"\\\" option\"), result));\n        }\n      }\n      return undefined;\n    };\n    const create$5 = (editor, initialOptions) => {\n      const registry = {};\n      const values = {};\n      const setValue = (name, value, processor) => {\n        const result = processValue(value, processor);\n        if (isValidResult(result)) {\n          values[name] = result.value;\n          return true;\n        } else {\n          console.warn(getErrorMessage(\"Invalid value passed for the \".concat(name, \" option\"), result));\n          return false;\n        }\n      };\n      const register = (name, spec) => {\n        const processor = isBuiltInSpec(spec) ? getBuiltInProcessor(spec.processor) : spec.processor;\n        const defaultValue = processDefaultValue(name, spec.default, processor);\n        registry[name] = {\n          ...spec,\n          default: defaultValue,\n          processor\n        };\n        const initValue = get$a(values, name).orThunk(() => get$a(initialOptions, name));\n        initValue.each(value => setValue(name, value, processor));\n      };\n      const isRegistered = name => has$2(registry, name);\n      const get = name => get$a(values, name).orThunk(() => get$a(registry, name).map(spec => spec.default)).getOrUndefined();\n      const set = (name, value) => {\n        if (!isRegistered(name)) {\n          console.warn(\"\\\"\".concat(name, \"\\\" is not a registered option. Ensure the option has been registered before setting a value.\"));\n          return false;\n        } else {\n          const spec = registry[name];\n          if (spec.immutable) {\n            console.error(\"\\\"\".concat(name, \"\\\" is an immutable option and cannot be updated\"));\n            return false;\n          } else {\n            return setValue(name, value, spec.processor);\n          }\n        }\n      };\n      const unset = name => {\n        const registered = isRegistered(name);\n        if (registered) {\n          delete values[name];\n        }\n        return registered;\n      };\n      const isSet = name => has$2(values, name);\n      return {\n        register,\n        isRegistered,\n        get,\n        set,\n        unset,\n        isSet\n      };\n    };\n\n    const defaultModes = ['design', 'readonly'];\n    const switchToMode = (editor, activeMode, availableModes, mode) => {\n      const oldMode = availableModes[activeMode.get()];\n      const newMode = availableModes[mode];\n      try {\n        newMode.activate();\n      } catch (e) {\n        console.error(\"problem while activating editor mode \".concat(mode, \":\"), e);\n        return;\n      }\n      oldMode.deactivate();\n      if (oldMode.editorReadOnly !== newMode.editorReadOnly) {\n        toggleReadOnly(editor, newMode.editorReadOnly);\n      }\n      activeMode.set(mode);\n      fireSwitchMode(editor, mode);\n    };\n    const setMode = (editor, availableModes, activeMode, mode) => {\n      if (mode === activeMode.get()) {\n        return;\n      } else if (!has$2(availableModes, mode)) {\n        throw new Error(\"Editor mode '\".concat(mode, \"' is invalid\"));\n      }\n      if (editor.initialized) {\n        switchToMode(editor, activeMode, availableModes, mode);\n      } else {\n        editor.on('init', () => switchToMode(editor, activeMode, availableModes, mode));\n      }\n    };\n    const registerMode = (availableModes, mode, api) => {\n      if (contains$2(defaultModes, mode)) {\n        throw new Error(\"Cannot override default mode \".concat(mode));\n      }\n      return {\n        ...availableModes,\n        [mode]: {\n          ...api,\n          deactivate: () => {\n            try {\n              api.deactivate();\n            } catch (e) {\n              console.error(\"problem while deactivating editor mode \".concat(mode, \":\"), e);\n            }\n          }\n        }\n      };\n    };\n\n    const create$4 = editor => {\n      const activeMode = Cell('design');\n      const availableModes = Cell({\n        design: {\n          activate: noop,\n          deactivate: noop,\n          editorReadOnly: false\n        },\n        readonly: {\n          activate: noop,\n          deactivate: noop,\n          editorReadOnly: true\n        }\n      });\n      registerReadOnlyContentFilters(editor);\n      registerReadOnlySelectionBlockers(editor);\n      return {\n        isReadOnly: () => isReadOnly(editor),\n        set: mode => setMode(editor, availableModes.get(), activeMode, mode),\n        get: () => activeMode.get(),\n        register: (mode, api) => {\n          availableModes.set(registerMode(availableModes.get(), mode, api));\n        }\n      };\n    };\n\n    const each$2 = Tools.each,\n      explode = Tools.explode;\n    const keyCodeLookup = {\n      f1: 112,\n      f2: 113,\n      f3: 114,\n      f4: 115,\n      f5: 116,\n      f6: 117,\n      f7: 118,\n      f8: 119,\n      f9: 120,\n      f10: 121,\n      f11: 122,\n      f12: 123\n    };\n    const modifierNames = Tools.makeMap('alt,ctrl,shift,meta,access');\n    const isModifier = key => key in modifierNames;\n    const parseShortcut = pattern => {\n      const shortcut = {};\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      each$2(explode(pattern.toLowerCase(), '+'), value => {\n        if (isModifier(value)) {\n          shortcut[value] = true;\n        } else {\n          if (/^[0-9]{2,}$/.test(value)) {\n            shortcut.keyCode = parseInt(value, 10);\n          } else {\n            shortcut.charCode = value.charCodeAt(0);\n            shortcut.keyCode = keyCodeLookup[value] || value.toUpperCase().charCodeAt(0);\n          }\n        }\n      });\n      const id = [shortcut.keyCode];\n      let key;\n      for (key in modifierNames) {\n        if (shortcut[key]) {\n          id.push(key);\n        } else {\n          shortcut[key] = false;\n        }\n      }\n      shortcut.id = id.join(',');\n      if (shortcut.access) {\n        shortcut.alt = true;\n        if (isMac) {\n          shortcut.ctrl = true;\n        } else {\n          shortcut.shift = true;\n        }\n      }\n      if (shortcut.meta) {\n        if (isMac) {\n          shortcut.meta = true;\n        } else {\n          shortcut.ctrl = true;\n          shortcut.meta = false;\n        }\n      }\n      return shortcut;\n    };\n    class Shortcuts {\n      constructor(editor) {\n        this.shortcuts = {};\n        this.pendingPatterns = [];\n        this.editor = editor;\n        const self = this;\n        editor.on('keyup keypress keydown', e => {\n          if ((self.hasModifier(e) || self.isFunctionKey(e)) && !e.isDefaultPrevented()) {\n            each$2(self.shortcuts, shortcut => {\n              if (self.matchShortcut(e, shortcut)) {\n                self.pendingPatterns = shortcut.subpatterns.slice(0);\n                if (e.type === 'keydown') {\n                  self.executeShortcutAction(shortcut);\n                }\n              }\n            });\n            if (self.matchShortcut(e, self.pendingPatterns[0])) {\n              if (self.pendingPatterns.length === 1) {\n                if (e.type === 'keydown') {\n                  self.executeShortcutAction(self.pendingPatterns[0]);\n                }\n              }\n              self.pendingPatterns.shift();\n            }\n          }\n        });\n      }\n      add(pattern, desc, cmdFunc, scope) {\n        const self = this;\n        const func = self.normalizeCommandFunc(cmdFunc);\n        each$2(explode(Tools.trim(pattern)), pattern => {\n          const shortcut = self.createShortcut(pattern, desc, func, scope);\n          self.shortcuts[shortcut.id] = shortcut;\n        });\n        return true;\n      }\n      remove(pattern) {\n        const shortcut = this.createShortcut(pattern);\n        if (this.shortcuts[shortcut.id]) {\n          delete this.shortcuts[shortcut.id];\n          return true;\n        }\n        return false;\n      }\n      normalizeCommandFunc(cmdFunc) {\n        const self = this;\n        const cmd = cmdFunc;\n        if (typeof cmd === 'string') {\n          return () => {\n            self.editor.execCommand(cmd, false, null);\n          };\n        } else if (Tools.isArray(cmd)) {\n          return () => {\n            self.editor.execCommand(cmd[0], cmd[1], cmd[2]);\n          };\n        } else {\n          return cmd;\n        }\n      }\n      createShortcut(pattern, desc, cmdFunc, scope) {\n        const shortcuts = Tools.map(explode(pattern, '>'), parseShortcut);\n        shortcuts[shortcuts.length - 1] = Tools.extend(shortcuts[shortcuts.length - 1], {\n          func: cmdFunc,\n          scope: scope || this.editor\n        });\n        return Tools.extend(shortcuts[0], {\n          desc: this.editor.translate(desc),\n          subpatterns: shortcuts.slice(1)\n        });\n      }\n      hasModifier(e) {\n        return e.altKey || e.ctrlKey || e.metaKey;\n      }\n      isFunctionKey(e) {\n        return e.type === 'keydown' && e.keyCode >= 112 && e.keyCode <= 123;\n      }\n      matchShortcut(e, shortcut) {\n        if (!shortcut) {\n          return false;\n        }\n        if (shortcut.ctrl !== e.ctrlKey || shortcut.meta !== e.metaKey) {\n          return false;\n        }\n        if (shortcut.alt !== e.altKey || shortcut.shift !== e.shiftKey) {\n          return false;\n        }\n        if (e.keyCode === shortcut.keyCode || e.charCode && e.charCode === shortcut.charCode) {\n          e.preventDefault();\n          return true;\n        }\n        return false;\n      }\n      executeShortcutAction(shortcut) {\n        return shortcut.func ? shortcut.func.call(shortcut.scope) : null;\n      }\n    }\n\n    const create$3 = () => {\n      const buttons = {};\n      const menuItems = {};\n      const popups = {};\n      const icons = {};\n      const contextMenus = {};\n      const contextToolbars = {};\n      const sidebars = {};\n      const views = {};\n      const add = (collection, type) => (name, spec) => {\n        collection[name.toLowerCase()] = {\n          ...spec,\n          type\n        };\n      };\n      const addIcon = (name, svgData) => icons[name.toLowerCase()] = svgData;\n      return {\n        addButton: add(buttons, 'button'),\n        addGroupToolbarButton: add(buttons, 'grouptoolbarbutton'),\n        addToggleButton: add(buttons, 'togglebutton'),\n        addMenuButton: add(buttons, 'menubutton'),\n        addSplitButton: add(buttons, 'splitbutton'),\n        addMenuItem: add(menuItems, 'menuitem'),\n        addNestedMenuItem: add(menuItems, 'nestedmenuitem'),\n        addToggleMenuItem: add(menuItems, 'togglemenuitem'),\n        addAutocompleter: add(popups, 'autocompleter'),\n        addContextMenu: add(contextMenus, 'contextmenu'),\n        addContextToolbar: add(contextToolbars, 'contexttoolbar'),\n        addContextForm: add(contextToolbars, 'contextform'),\n        addSidebar: add(sidebars, 'sidebar'),\n        addView: add(views, 'views'),\n        addIcon,\n        getAll: () => ({\n          buttons,\n          menuItems,\n          icons,\n          popups,\n          contextMenus,\n          contextToolbars,\n          sidebars,\n          views\n        })\n      };\n    };\n\n    const registry = () => {\n      const bridge = create$3();\n      return {\n        addAutocompleter: bridge.addAutocompleter,\n        addButton: bridge.addButton,\n        addContextForm: bridge.addContextForm,\n        addContextMenu: bridge.addContextMenu,\n        addContextToolbar: bridge.addContextToolbar,\n        addIcon: bridge.addIcon,\n        addMenuButton: bridge.addMenuButton,\n        addMenuItem: bridge.addMenuItem,\n        addNestedMenuItem: bridge.addNestedMenuItem,\n        addSidebar: bridge.addSidebar,\n        addSplitButton: bridge.addSplitButton,\n        addToggleButton: bridge.addToggleButton,\n        addGroupToolbarButton: bridge.addGroupToolbarButton,\n        addToggleMenuItem: bridge.addToggleMenuItem,\n        addView: bridge.addView,\n        getAll: bridge.getAll\n      };\n    };\n\n    const DOM$1 = DOMUtils.DOM;\n    const extend = Tools.extend,\n      each$1 = Tools.each;\n    class Editor {\n      constructor(id, options, editorManager) {\n        this.plugins = {};\n        this.contentCSS = [];\n        this.contentStyles = [];\n        this.loadedCSS = {};\n        this.isNotDirty = false;\n        this.composing = false;\n        this.destroyed = false;\n        this.hasHiddenInput = false;\n        this.iframeElement = null;\n        this.initialized = false;\n        this.readonly = false;\n        this.removed = false;\n        this.startContent = '';\n        this._pendingNativeEvents = [];\n        this._skinLoaded = false;\n        this._editableRoot = true;\n        this.editorManager = editorManager;\n        this.documentBaseUrl = editorManager.documentBaseURL;\n        extend(this, EditorObservable);\n        const self = this;\n        this.id = id;\n        this.hidden = false;\n        const normalizedOptions = normalizeOptions(editorManager.defaultOptions, options);\n        this.options = create$5(self, normalizedOptions);\n        register$7(self);\n        const getOption = this.options.get;\n        if (getOption('deprecation_warnings')) {\n          logWarnings(options, normalizedOptions);\n        }\n        const suffix = getOption('suffix');\n        if (suffix) {\n          editorManager.suffix = suffix;\n        }\n        this.suffix = editorManager.suffix;\n        const baseUrl = getOption('base_url');\n        if (baseUrl) {\n          editorManager._setBaseUrl(baseUrl);\n        }\n        this.baseUri = editorManager.baseURI;\n        const referrerPolicy = getReferrerPolicy(self);\n        if (referrerPolicy) {\n          ScriptLoader.ScriptLoader._setReferrerPolicy(referrerPolicy);\n          DOMUtils.DOM.styleSheetLoader._setReferrerPolicy(referrerPolicy);\n        }\n        const contentCssCors = hasContentCssCors(self);\n        if (isNonNullable(contentCssCors)) {\n          DOMUtils.DOM.styleSheetLoader._setContentCssCors(contentCssCors);\n        }\n        AddOnManager.languageLoad = getOption('language_load');\n        AddOnManager.baseURL = editorManager.baseURL;\n        this.setDirty(false);\n        this.documentBaseURI = new URI(getDocumentBaseUrl(self), {\n          base_uri: this.baseUri\n        });\n        this.baseURI = this.baseUri;\n        this.inline = isInline$1(self);\n        this.hasVisual = isVisualAidsEnabled(self);\n        this.shortcuts = new Shortcuts(this);\n        this.editorCommands = new EditorCommands(this);\n        registerCommands(this);\n        const cacheSuffix = getOption('cache_suffix');\n        if (cacheSuffix) {\n          Env.cacheSuffix = cacheSuffix.replace(/^[\\?\\&]+/, '');\n        }\n        this.ui = {\n          registry: registry(),\n          styleSheetLoader: undefined,\n          show: noop,\n          hide: noop,\n          setEnabled: noop,\n          isEnabled: always\n        };\n        this.mode = create$4(self);\n        editorManager.dispatch('SetupEditor', {\n          editor: this\n        });\n        const setupCallback = getSetupCallback(self);\n        if (isFunction(setupCallback)) {\n          setupCallback.call(self, self);\n        }\n      }\n      render() {\n        render(this);\n      }\n      focus(skipFocus) {\n        this.execCommand('mceFocus', false, skipFocus);\n      }\n      hasFocus() {\n        return hasFocus(this);\n      }\n      translate(text) {\n        return I18n.translate(text);\n      }\n      getParam(name, defaultVal, type) {\n        const options = this.options;\n        if (!options.isRegistered(name)) {\n          if (isNonNullable(type)) {\n            options.register(name, {\n              processor: type,\n              default: defaultVal\n            });\n          } else {\n            options.register(name, {\n              processor: always,\n              default: defaultVal\n            });\n          }\n        }\n        return !options.isSet(name) && !isUndefined(defaultVal) ? defaultVal : options.get(name);\n      }\n      hasPlugin(name, loaded) {\n        const hasPlugin = contains$2(getPlugins(this), name);\n        if (hasPlugin) {\n          return loaded ? PluginManager.get(name) !== undefined : true;\n        } else {\n          return false;\n        }\n      }\n      nodeChanged(args) {\n        this._nodeChangeDispatcher.nodeChanged(args);\n      }\n      addCommand(name, callback, scope) {\n        this.editorCommands.addCommand(name, callback, scope);\n      }\n      addQueryStateHandler(name, callback, scope) {\n        this.editorCommands.addQueryStateHandler(name, callback, scope);\n      }\n      addQueryValueHandler(name, callback, scope) {\n        this.editorCommands.addQueryValueHandler(name, callback, scope);\n      }\n      addShortcut(pattern, desc, cmdFunc, scope) {\n        this.shortcuts.add(pattern, desc, cmdFunc, scope);\n      }\n      execCommand(cmd, ui, value, args) {\n        return this.editorCommands.execCommand(cmd, ui, value, args);\n      }\n      queryCommandState(cmd) {\n        return this.editorCommands.queryCommandState(cmd);\n      }\n      queryCommandValue(cmd) {\n        return this.editorCommands.queryCommandValue(cmd);\n      }\n      queryCommandSupported(cmd) {\n        return this.editorCommands.queryCommandSupported(cmd);\n      }\n      show() {\n        const self = this;\n        if (self.hidden) {\n          self.hidden = false;\n          if (self.inline) {\n            self.getBody().contentEditable = 'true';\n          } else {\n            DOM$1.show(self.getContainer());\n            DOM$1.hide(self.id);\n          }\n          self.load();\n          self.dispatch('show');\n        }\n      }\n      hide() {\n        const self = this;\n        if (!self.hidden) {\n          self.save();\n          if (self.inline) {\n            self.getBody().contentEditable = 'false';\n            if (self === self.editorManager.focusedEditor) {\n              self.editorManager.focusedEditor = null;\n            }\n          } else {\n            DOM$1.hide(self.getContainer());\n            DOM$1.setStyle(self.id, 'display', self.orgDisplay);\n          }\n          self.hidden = true;\n          self.dispatch('hide');\n        }\n      }\n      isHidden() {\n        return this.hidden;\n      }\n      setProgressState(state, time) {\n        this.dispatch('ProgressState', {\n          state,\n          time\n        });\n      }\n      load(args = {}) {\n        const self = this;\n        const elm = self.getElement();\n        if (self.removed) {\n          return '';\n        }\n        if (elm) {\n          const loadArgs = {\n            ...args,\n            load: true\n          };\n          const value = isTextareaOrInput(elm) ? elm.value : elm.innerHTML;\n          const html = self.setContent(value, loadArgs);\n          if (!loadArgs.no_events) {\n            self.dispatch('LoadContent', {\n              ...loadArgs,\n              element: elm\n            });\n          }\n          return html;\n        } else {\n          return '';\n        }\n      }\n      save(args = {}) {\n        const self = this;\n        let elm = self.getElement();\n        if (!elm || !self.initialized || self.removed) {\n          return '';\n        }\n        const getArgs = {\n          ...args,\n          save: true,\n          element: elm\n        };\n        let html = self.getContent(getArgs);\n        const saveArgs = {\n          ...getArgs,\n          content: html\n        };\n        if (!saveArgs.no_events) {\n          self.dispatch('SaveContent', saveArgs);\n        }\n        if (saveArgs.format === 'raw') {\n          self.dispatch('RawSaveContent', saveArgs);\n        }\n        html = saveArgs.content;\n        if (!isTextareaOrInput(elm)) {\n          if (args.is_removing || !self.inline) {\n            elm.innerHTML = html;\n          }\n          const form = DOM$1.getParent(self.id, 'form');\n          if (form) {\n            each$1(form.elements, elm => {\n              if (elm.name === self.id) {\n                elm.value = html;\n                return false;\n              } else {\n                return true;\n              }\n            });\n          }\n        } else {\n          elm.value = html;\n        }\n        saveArgs.element = getArgs.element = elm = null;\n        if (saveArgs.set_dirty !== false) {\n          self.setDirty(false);\n        }\n        return html;\n      }\n      setContent(content, args) {\n        return setContent(this, content, args);\n      }\n      getContent(args) {\n        return getContent(this, args);\n      }\n      insertContent(content, args) {\n        if (args) {\n          content = extend({\n            content\n          }, args);\n        }\n        this.execCommand('mceInsertContent', false, content);\n      }\n      resetContent(initialContent) {\n        if (initialContent === undefined) {\n          setContent(this, this.startContent, {\n            format: 'raw'\n          });\n        } else {\n          setContent(this, initialContent);\n        }\n        this.undoManager.reset();\n        this.setDirty(false);\n        this.nodeChanged();\n      }\n      isDirty() {\n        return !this.isNotDirty;\n      }\n      setDirty(state) {\n        const oldState = !this.isNotDirty;\n        this.isNotDirty = !state;\n        if (state && state !== oldState) {\n          this.dispatch('dirty');\n        }\n      }\n      getContainer() {\n        const self = this;\n        if (!self.container) {\n          self.container = self.editorContainer || DOM$1.get(self.id + '_parent');\n        }\n        return self.container;\n      }\n      getContentAreaContainer() {\n        return this.contentAreaContainer;\n      }\n      getElement() {\n        if (!this.targetElm) {\n          this.targetElm = DOM$1.get(this.id);\n        }\n        return this.targetElm;\n      }\n      getWin() {\n        const self = this;\n        if (!self.contentWindow) {\n          const elm = self.iframeElement;\n          if (elm) {\n            self.contentWindow = elm.contentWindow;\n          }\n        }\n        return self.contentWindow;\n      }\n      getDoc() {\n        const self = this;\n        if (!self.contentDocument) {\n          const win = self.getWin();\n          if (win) {\n            self.contentDocument = win.document;\n          }\n        }\n        return self.contentDocument;\n      }\n      getBody() {\n        var _a, _b;\n        const doc = this.getDoc();\n        return (_b = (_a = this.bodyElement) !== null && _a !== void 0 ? _a : doc === null || doc === void 0 ? void 0 : doc.body) !== null && _b !== void 0 ? _b : null;\n      }\n      convertURL(url, name, elm) {\n        const self = this,\n          getOption = self.options.get;\n        const urlConverterCallback = getUrlConverterCallback(self);\n        if (isFunction(urlConverterCallback)) {\n          return urlConverterCallback.call(self, url, elm, true, name);\n        }\n        if (!getOption('convert_urls') || elm === 'link' || isObject(elm) && elm.nodeName === 'LINK' || url.indexOf('file:') === 0 || url.length === 0) {\n          return url;\n        }\n        const urlObject = new URI(url);\n        if (urlObject.protocol !== 'http' && urlObject.protocol !== 'https' && urlObject.protocol !== '') {\n          return url;\n        }\n        if (getOption('relative_urls')) {\n          return self.documentBaseURI.toRelative(url);\n        }\n        url = self.documentBaseURI.toAbsolute(url, getOption('remove_script_host'));\n        return url;\n      }\n      addVisual(elm) {\n        addVisual(this, elm);\n      }\n      setEditableRoot(state) {\n        setEditableRoot(this, state);\n      }\n      hasEditableRoot() {\n        return hasEditableRoot(this);\n      }\n      remove() {\n        remove$1(this);\n      }\n      destroy(automatic) {\n        destroy(this, automatic);\n      }\n      uploadImages() {\n        return this.editorUpload.uploadImages();\n      }\n      _scanForImages() {\n        return this.editorUpload.scanForImages();\n      }\n    }\n\n    const DOM = DOMUtils.DOM;\n    const each = Tools.each;\n    let boundGlobalEvents = false;\n    let beforeUnloadDelegate;\n    let editors = [];\n    const globalEventDelegate = e => {\n      const type = e.type;\n      each(EditorManager.get(), editor => {\n        switch (type) {\n          case 'scroll':\n            editor.dispatch('ScrollWindow', e);\n            break;\n          case 'resize':\n            editor.dispatch('ResizeWindow', e);\n            break;\n        }\n      });\n    };\n    const toggleGlobalEvents = state => {\n      if (state !== boundGlobalEvents) {\n        const DOM = DOMUtils.DOM;\n        if (state) {\n          DOM.bind(window, 'resize', globalEventDelegate);\n          DOM.bind(window, 'scroll', globalEventDelegate);\n        } else {\n          DOM.unbind(window, 'resize', globalEventDelegate);\n          DOM.unbind(window, 'scroll', globalEventDelegate);\n        }\n        boundGlobalEvents = state;\n      }\n    };\n    const removeEditorFromList = targetEditor => {\n      const oldEditors = editors;\n      editors = filter$5(editors, editor => {\n        return targetEditor !== editor;\n      });\n      if (EditorManager.activeEditor === targetEditor) {\n        EditorManager.activeEditor = editors.length > 0 ? editors[0] : null;\n      }\n      if (EditorManager.focusedEditor === targetEditor) {\n        EditorManager.focusedEditor = null;\n      }\n      return oldEditors.length !== editors.length;\n    };\n    const purgeDestroyedEditor = editor => {\n      if (editor && editor.initialized && !(editor.getContainer() || editor.getBody()).parentNode) {\n        removeEditorFromList(editor);\n        editor.unbindAllNativeEvents();\n        editor.destroy(true);\n        editor.removed = true;\n      }\n    };\n    const isQuirksMode = document.compatMode !== 'CSS1Compat';\n    const EditorManager = {\n      ...Observable,\n      baseURI: null,\n      baseURL: null,\n      defaultOptions: {},\n      documentBaseURL: null,\n      suffix: null,\n      majorVersion: '6',\n      minorVersion: '8.4',\n      releaseDate: '2024-06-19',\n      i18n: I18n,\n      activeEditor: null,\n      focusedEditor: null,\n      setup() {\n        const self = this;\n        let baseURL = '';\n        let suffix = '';\n        let documentBaseURL = URI.getDocumentBaseUrl(document.location);\n        if (/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(documentBaseURL)) {\n          documentBaseURL = documentBaseURL.replace(/[\\?#].*$/, '').replace(/[\\/\\\\][^\\/]+$/, '');\n          if (!/[\\/\\\\]$/.test(documentBaseURL)) {\n            documentBaseURL += '/';\n          }\n        }\n        const preInit = window.tinymce || window.tinyMCEPreInit;\n        if (preInit) {\n          baseURL = preInit.base || preInit.baseURL;\n          suffix = preInit.suffix;\n        } else {\n          const scripts = document.getElementsByTagName('script');\n          for (let i = 0; i < scripts.length; i++) {\n            const src = scripts[i].src || '';\n            if (src === '') {\n              continue;\n            }\n            const srcScript = src.substring(src.lastIndexOf('/'));\n            if (/tinymce(\\.full|\\.jquery|)(\\.min|\\.dev|)\\.js/.test(src)) {\n              if (srcScript.indexOf('.min') !== -1) {\n                suffix = '.min';\n              }\n              baseURL = src.substring(0, src.lastIndexOf('/'));\n              break;\n            }\n          }\n          if (!baseURL && document.currentScript) {\n            const src = document.currentScript.src;\n            if (src.indexOf('.min') !== -1) {\n              suffix = '.min';\n            }\n            baseURL = src.substring(0, src.lastIndexOf('/'));\n          }\n        }\n        self.baseURL = new URI(documentBaseURL).toAbsolute(baseURL);\n        self.documentBaseURL = documentBaseURL;\n        self.baseURI = new URI(self.baseURL);\n        self.suffix = suffix;\n        setup$w(self);\n      },\n      overrideDefaults(defaultOptions) {\n        const baseUrl = defaultOptions.base_url;\n        if (baseUrl) {\n          this._setBaseUrl(baseUrl);\n        }\n        const suffix = defaultOptions.suffix;\n        if (suffix) {\n          this.suffix = suffix;\n        }\n        this.defaultOptions = defaultOptions;\n        const pluginBaseUrls = defaultOptions.plugin_base_urls;\n        if (pluginBaseUrls !== undefined) {\n          each$d(pluginBaseUrls, (pluginBaseUrl, pluginName) => {\n            AddOnManager.PluginManager.urls[pluginName] = pluginBaseUrl;\n          });\n        }\n      },\n      init(options) {\n        const self = this;\n        let result;\n        const invalidInlineTargets = Tools.makeMap('area base basefont br col frame hr img input isindex link meta param embed source wbr track ' + 'colgroup option table tbody tfoot thead tr th td script noscript style textarea video audio iframe object menu', ' ');\n        const isInvalidInlineTarget = (options, elm) => options.inline && elm.tagName.toLowerCase() in invalidInlineTargets;\n        const createId = elm => {\n          let id = elm.id;\n          if (!id) {\n            id = get$a(elm, 'name').filter(name => !DOM.get(name)).getOrThunk(DOM.uniqueId);\n            elm.setAttribute('id', id);\n          }\n          return id;\n        };\n        const execCallback = name => {\n          const callback = options[name];\n          if (!callback) {\n            return;\n          }\n          return callback.apply(self, []);\n        };\n        const findTargets = options => {\n          if (Env.browser.isIE() || Env.browser.isEdge()) {\n            initError('TinyMCE does not support the browser you are using. For a list of supported' + ' browsers please see: https://www.tiny.cloud/docs/tinymce/6/support/#supportedwebbrowsers');\n            return [];\n          } else if (isQuirksMode) {\n            initError('Failed to initialize the editor as the document is not in standards mode. ' + 'TinyMCE requires standards mode.');\n            return [];\n          } else if (isString(options.selector)) {\n            return DOM.select(options.selector);\n          } else if (isNonNullable(options.target)) {\n            return [options.target];\n          } else {\n            return [];\n          }\n        };\n        let provideResults = editors => {\n          result = editors;\n        };\n        const initEditors = () => {\n          let initCount = 0;\n          const editors = [];\n          let targets;\n          const createEditor = (id, options, targetElm) => {\n            const editor = new Editor(id, options, self);\n            editors.push(editor);\n            editor.on('init', () => {\n              if (++initCount === targets.length) {\n                provideResults(editors);\n              }\n            });\n            editor.targetElm = editor.targetElm || targetElm;\n            editor.render();\n          };\n          DOM.unbind(window, 'ready', initEditors);\n          execCallback('onpageload');\n          targets = unique$1(findTargets(options));\n          Tools.each(targets, elm => {\n            purgeDestroyedEditor(self.get(elm.id));\n          });\n          targets = Tools.grep(targets, elm => {\n            return !self.get(elm.id);\n          });\n          if (targets.length === 0) {\n            provideResults([]);\n          } else {\n            each(targets, elm => {\n              if (isInvalidInlineTarget(options, elm)) {\n                initError('Could not initialize inline editor on invalid inline target element', elm);\n              } else {\n                createEditor(createId(elm), options, elm);\n              }\n            });\n          }\n        };\n        DOM.bind(window, 'ready', initEditors);\n        return new Promise(resolve => {\n          if (result) {\n            resolve(result);\n          } else {\n            provideResults = editors => {\n              resolve(editors);\n            };\n          }\n        });\n      },\n      get(id) {\n        if (arguments.length === 0) {\n          return editors.slice(0);\n        } else if (isString(id)) {\n          return find$2(editors, editor => {\n            return editor.id === id;\n          }).getOr(null);\n        } else if (isNumber(id)) {\n          return editors[id] ? editors[id] : null;\n        } else {\n          return null;\n        }\n      },\n      add(editor) {\n        const self = this;\n        const existingEditor = self.get(editor.id);\n        if (existingEditor === editor) {\n          return editor;\n        }\n        if (existingEditor === null) {\n          editors.push(editor);\n        }\n        toggleGlobalEvents(true);\n        self.activeEditor = editor;\n        self.dispatch('AddEditor', {\n          editor\n        });\n        if (!beforeUnloadDelegate) {\n          beforeUnloadDelegate = e => {\n            const event = self.dispatch('BeforeUnload');\n            if (event.returnValue) {\n              e.preventDefault();\n              e.returnValue = event.returnValue;\n              return event.returnValue;\n            }\n          };\n          window.addEventListener('beforeunload', beforeUnloadDelegate);\n        }\n        return editor;\n      },\n      createEditor(id, options) {\n        return this.add(new Editor(id, options, this));\n      },\n      remove(selector) {\n        const self = this;\n        let editor;\n        if (!selector) {\n          for (let i = editors.length - 1; i >= 0; i--) {\n            self.remove(editors[i]);\n          }\n          return;\n        }\n        if (isString(selector)) {\n          each(DOM.select(selector), elm => {\n            editor = self.get(elm.id);\n            if (editor) {\n              self.remove(editor);\n            }\n          });\n          return;\n        }\n        editor = selector;\n        if (isNull(self.get(editor.id))) {\n          return null;\n        }\n        if (removeEditorFromList(editor)) {\n          self.dispatch('RemoveEditor', {\n            editor\n          });\n        }\n        if (editors.length === 0) {\n          window.removeEventListener('beforeunload', beforeUnloadDelegate);\n        }\n        editor.remove();\n        toggleGlobalEvents(editors.length > 0);\n        return editor;\n      },\n      execCommand(cmd, ui, value) {\n        var _a;\n        const self = this;\n        const editorId = isObject(value) ? (_a = value.id) !== null && _a !== void 0 ? _a : value.index : value;\n        switch (cmd) {\n          case 'mceAddEditor':\n            {\n              if (!self.get(editorId)) {\n                const editorOptions = value.options;\n                new Editor(editorId, editorOptions, self).render();\n              }\n              return true;\n            }\n          case 'mceRemoveEditor':\n            {\n              const editor = self.get(editorId);\n              if (editor) {\n                editor.remove();\n              }\n              return true;\n            }\n          case 'mceToggleEditor':\n            {\n              const editor = self.get(editorId);\n              if (!editor) {\n                self.execCommand('mceAddEditor', false, value);\n                return true;\n              }\n              if (editor.isHidden()) {\n                editor.show();\n              } else {\n                editor.hide();\n              }\n              return true;\n            }\n        }\n        if (self.activeEditor) {\n          return self.activeEditor.execCommand(cmd, ui, value);\n        }\n        return false;\n      },\n      triggerSave: () => {\n        each(editors, editor => {\n          editor.save();\n        });\n      },\n      addI18n: (code, items) => {\n        I18n.add(code, items);\n      },\n      translate: text => {\n        return I18n.translate(text);\n      },\n      setActive(editor) {\n        const activeEditor = this.activeEditor;\n        if (this.activeEditor !== editor) {\n          if (activeEditor) {\n            activeEditor.dispatch('deactivate', {\n              relatedTarget: editor\n            });\n          }\n          editor.dispatch('activate', {\n            relatedTarget: activeEditor\n          });\n        }\n        this.activeEditor = editor;\n      },\n      _setBaseUrl(baseUrl) {\n        this.baseURL = new URI(this.documentBaseURL).toAbsolute(baseUrl.replace(/\\/+$/, ''));\n        this.baseURI = new URI(this.baseURL);\n      }\n    };\n    EditorManager.setup();\n\n    const setup = () => {\n      const dataValue = value$2();\n      const FakeClipboardItem = items => ({\n        items,\n        types: keys(items),\n        getType: type => get$a(items, type).getOrUndefined()\n      });\n      const write = data => {\n        dataValue.set(data);\n      };\n      const read = () => dataValue.get().getOrUndefined();\n      const clear = dataValue.clear;\n      return {\n        FakeClipboardItem,\n        write,\n        read,\n        clear\n      };\n    };\n    const FakeClipboard = setup();\n\n    const min = Math.min,\n      max = Math.max,\n      round = Math.round;\n    const relativePosition = (rect, targetRect, rel) => {\n      let x = targetRect.x;\n      let y = targetRect.y;\n      const w = rect.w;\n      const h = rect.h;\n      const targetW = targetRect.w;\n      const targetH = targetRect.h;\n      const relChars = (rel || '').split('');\n      if (relChars[0] === 'b') {\n        y += targetH;\n      }\n      if (relChars[1] === 'r') {\n        x += targetW;\n      }\n      if (relChars[0] === 'c') {\n        y += round(targetH / 2);\n      }\n      if (relChars[1] === 'c') {\n        x += round(targetW / 2);\n      }\n      if (relChars[3] === 'b') {\n        y -= h;\n      }\n      if (relChars[4] === 'r') {\n        x -= w;\n      }\n      if (relChars[3] === 'c') {\n        y -= round(h / 2);\n      }\n      if (relChars[4] === 'c') {\n        x -= round(w / 2);\n      }\n      return create$2(x, y, w, h);\n    };\n    const findBestRelativePosition = (rect, targetRect, constrainRect, rels) => {\n      for (let i = 0; i < rels.length; i++) {\n        const pos = relativePosition(rect, targetRect, rels[i]);\n        if (pos.x >= constrainRect.x && pos.x + pos.w <= constrainRect.w + constrainRect.x && pos.y >= constrainRect.y && pos.y + pos.h <= constrainRect.h + constrainRect.y) {\n          return rels[i];\n        }\n      }\n      return null;\n    };\n    const inflate = (rect, w, h) => {\n      return create$2(rect.x - w, rect.y - h, rect.w + w * 2, rect.h + h * 2);\n    };\n    const intersect = (rect, cropRect) => {\n      const x1 = max(rect.x, cropRect.x);\n      const y1 = max(rect.y, cropRect.y);\n      const x2 = min(rect.x + rect.w, cropRect.x + cropRect.w);\n      const y2 = min(rect.y + rect.h, cropRect.y + cropRect.h);\n      if (x2 - x1 < 0 || y2 - y1 < 0) {\n        return null;\n      }\n      return create$2(x1, y1, x2 - x1, y2 - y1);\n    };\n    const clamp = (rect, clampRect, fixedSize) => {\n      let x1 = rect.x;\n      let y1 = rect.y;\n      let x2 = rect.x + rect.w;\n      let y2 = rect.y + rect.h;\n      const cx2 = clampRect.x + clampRect.w;\n      const cy2 = clampRect.y + clampRect.h;\n      const underflowX1 = max(0, clampRect.x - x1);\n      const underflowY1 = max(0, clampRect.y - y1);\n      const overflowX2 = max(0, x2 - cx2);\n      const overflowY2 = max(0, y2 - cy2);\n      x1 += underflowX1;\n      y1 += underflowY1;\n      if (fixedSize) {\n        x2 += underflowX1;\n        y2 += underflowY1;\n        x1 -= overflowX2;\n        y1 -= overflowY2;\n      }\n      x2 -= overflowX2;\n      y2 -= overflowY2;\n      return create$2(x1, y1, x2 - x1, y2 - y1);\n    };\n    const create$2 = (x, y, w, h) => {\n      return {\n        x,\n        y,\n        w,\n        h\n      };\n    };\n    const fromClientRect = clientRect => {\n      return create$2(clientRect.left, clientRect.top, clientRect.width, clientRect.height);\n    };\n    const Rect = {\n      inflate,\n      relativePosition,\n      findBestRelativePosition,\n      intersect,\n      clamp,\n      create: create$2,\n      fromClientRect\n    };\n\n    const awaiter = (resolveCb, rejectCb, timeout = 1000) => {\n      let done = false;\n      let timer = null;\n      const complete = completer => (...args) => {\n        if (!done) {\n          done = true;\n          if (timer !== null) {\n            clearTimeout(timer);\n            timer = null;\n          }\n          completer.apply(null, args);\n        }\n      };\n      const resolve = complete(resolveCb);\n      const reject = complete(rejectCb);\n      const start = (...args) => {\n        if (!done && timer === null) {\n          timer = setTimeout(() => reject.apply(null, args), timeout);\n        }\n      };\n      return {\n        start,\n        resolve,\n        reject\n      };\n    };\n    const create$1 = () => {\n      const tasks = {};\n      const resultFns = {};\n      const resources = {};\n      const load = (id, url) => {\n        const loadErrMsg = \"Script at URL \\\"\".concat(url, \"\\\" failed to load\");\n        const runErrMsg = \"Script at URL \\\"\".concat(url, \"\\\" did not call `tinymce.Resource.add('\").concat(id, \"', data)` within 1 second\");\n        if (tasks[id] !== undefined) {\n          return tasks[id];\n        } else {\n          const task = new Promise((resolve, reject) => {\n            const waiter = awaiter(resolve, reject);\n            resultFns[id] = waiter.resolve;\n            ScriptLoader.ScriptLoader.loadScript(url).then(() => waiter.start(runErrMsg), () => waiter.reject(loadErrMsg));\n          });\n          tasks[id] = task;\n          return task;\n        }\n      };\n      const add = (id, data) => {\n        if (resultFns[id] !== undefined) {\n          resultFns[id](data);\n          delete resultFns[id];\n        }\n        tasks[id] = Promise.resolve(data);\n        resources[id] = data;\n      };\n      const has = id => {\n        return id in resources;\n      };\n      const unload = id => {\n        delete tasks[id];\n      };\n      const get = id => resources[id];\n      return {\n        load,\n        add,\n        has,\n        get,\n        unload\n      };\n    };\n    const Resource = create$1();\n\n    const create = () => (() => {\n      let data = {};\n      let keys = [];\n      const storage = {\n        getItem: key => {\n          const item = data[key];\n          return item ? item : null;\n        },\n        setItem: (key, value) => {\n          keys.push(key);\n          data[key] = String(value);\n        },\n        key: index => {\n          return keys[index];\n        },\n        removeItem: key => {\n          keys = keys.filter(k => k === key);\n          delete data[key];\n        },\n        clear: () => {\n          keys = [];\n          data = {};\n        },\n        length: 0\n      };\n      Object.defineProperty(storage, 'length', {\n        get: () => keys.length,\n        configurable: false,\n        enumerable: false\n      });\n      return storage;\n    })();\n\n    let localStorage;\n    try {\n      const test = '__storage_test__';\n      localStorage = window.localStorage;\n      localStorage.setItem(test, test);\n      localStorage.removeItem(test);\n    } catch (e) {\n      localStorage = create();\n    }\n    var LocalStorage = localStorage;\n\n    const publicApi = {\n      geom: {\n        Rect\n      },\n      util: {\n        Delay,\n        Tools,\n        VK,\n        URI,\n        EventDispatcher,\n        Observable,\n        I18n,\n        LocalStorage,\n        ImageUploader\n      },\n      dom: {\n        EventUtils,\n        TreeWalker: DomTreeWalker,\n        TextSeeker,\n        DOMUtils,\n        ScriptLoader,\n        RangeUtils,\n        Serializer: DomSerializer,\n        StyleSheetLoader,\n        ControlSelection,\n        BookmarkManager,\n        Selection: EditorSelection,\n        Event: EventUtils.Event\n      },\n      html: {\n        Styles,\n        Entities,\n        Node: AstNode,\n        Schema,\n        DomParser,\n        Writer,\n        Serializer: HtmlSerializer\n      },\n      Env,\n      AddOnManager,\n      Annotator,\n      Formatter,\n      UndoManager,\n      EditorCommands,\n      WindowManager,\n      NotificationManager,\n      EditorObservable,\n      Shortcuts,\n      Editor,\n      FocusManager,\n      EditorManager,\n      DOM: DOMUtils.DOM,\n      ScriptLoader: ScriptLoader.ScriptLoader,\n      PluginManager,\n      ThemeManager,\n      ModelManager,\n      IconManager,\n      Resource,\n      FakeClipboard,\n      trim: Tools.trim,\n      isArray: Tools.isArray,\n      is: Tools.is,\n      toArray: Tools.toArray,\n      makeMap: Tools.makeMap,\n      each: Tools.each,\n      map: Tools.map,\n      grep: Tools.grep,\n      inArray: Tools.inArray,\n      extend: Tools.extend,\n      walk: Tools.walk,\n      resolve: Tools.resolve,\n      explode: Tools.explode,\n      _addCacheSuffix: Tools._addCacheSuffix\n    };\n    const tinymce$1 = Tools.extend(EditorManager, publicApi);\n\n    const exportToModuleLoaders = tinymce => {\n      if (typeof module === 'object') {\n        try {\n          module.exports = tinymce;\n        } catch (_) {}\n      }\n    };\n    const exportToWindowGlobal = tinymce => {\n      window.tinymce = tinymce;\n      window.tinyMCE = tinymce;\n    };\n    if (!(window.tinymce || window.tinyMCE)) {\n      exportToWindowGlobal(tinymce$1);\n    }\n    exportToModuleLoaders(tinymce$1);\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const getPrototypeOf$2 = Object.getPrototypeOf;\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$1 = t => a => t === a;\n    const is$2 = (value, constructor) => isObject(value) && hasProto(value, constructor, (o, proto) => getPrototypeOf$2(o) === proto);\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isPlainObject = value => is$2(value, Object);\n    const isArray = isType$1('array');\n    const isNull = eq$1(null);\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$1(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n    const isArrayOf = (value, pred) => {\n      if (isArray(value)) {\n        for (let i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    const noop = () => {};\n    const noarg = f => () => f();\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant$1 = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const not = f => t => !f(t);\n    const die = msg => {\n      return () => {\n        throw new Error(msg);\n      };\n    };\n    const apply$1 = f => {\n      return f();\n    };\n    const never = constant$1(false);\n    const always = constant$1(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const indexOf = (xs, x) => {\n      const r = rawIndexOf(xs, x);\n      return r === -1 ? Optional.none() : Optional.some(r);\n    };\n    const contains$2 = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const range$2 = (num, f) => {\n      const r = [];\n      for (let i = 0; i < num; i++) {\n        r.push(f(i));\n      }\n      return r;\n    };\n    const chunk$1 = (array, size) => {\n      const r = [];\n      for (let i = 0; i < array.length; i += size) {\n        const s = nativeSlice.call(array, i, i + size);\n        r.push(s);\n      }\n      return r;\n    };\n    const map$2 = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const partition$3 = (xs, pred) => {\n      const pass = [];\n      const fail = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        const arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass,\n        fail\n      };\n    };\n    const filter$2 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldr = (xs, f, acc) => {\n      eachr(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const foldl = (xs, f, acc) => {\n      each$1(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find$5 = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const findIndex$1 = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(i);\n        }\n      }\n      return Optional.none();\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind$3 = (xs, f) => flatten(map$2(xs, f));\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const reverse = xs => {\n      const r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    const difference = (a1, a2) => filter$2(a1, x => !contains$2(a2, x));\n    const mapToObject = (xs, f) => {\n      const r = {};\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    const pure$2 = x => [x];\n    const sort = (xs, comparator) => {\n      const copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    const get$h = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$h(xs, 0);\n    const last$1 = xs => get$h(xs, xs.length - 1);\n    const from = isFunction(Array.from) ? Array.from : x => nativeSlice.call(x);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const map$1 = (obj, f) => {\n      return tupleMap(obj, (x, i) => ({\n        k: i,\n        v: f(x, i)\n      }));\n    };\n    const tupleMap = (obj, f) => {\n      const r = {};\n      each(obj, (x, i) => {\n        const tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const bifilter = (obj, pred) => {\n      const t = {};\n      const f = {};\n      internalFilter(obj, pred, objAcc(t), objAcc(f));\n      return {\n        t,\n        f\n      };\n    };\n    const filter$1 = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const mapToArray = (obj, f) => {\n      const r = [];\n      each(obj, (value, name) => {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    const find$4 = (obj, pred) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        if (pred(x, i, obj)) {\n          return Optional.some(x);\n        }\n      }\n      return Optional.none();\n    };\n    const values = obj => {\n      return mapToArray(obj, identity);\n    };\n    const get$g = (obj, key) => {\n      return has$2(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has$2 = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has$2(obj, key) && obj[key] !== undefined && obj[key] !== null;\n\n    const is$1 = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const sequence = arr => {\n      const r = [];\n      for (let i = 0; i < arr.length; i++) {\n        const x = arr[i];\n        if (x.isSome()) {\n          r.push(x.getOrDie());\n        } else {\n          return Optional.none();\n        }\n      }\n      return Optional.some(r);\n    };\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    const lift3 = (oa, ob, oc, f) => oa.isSome() && ob.isSome() && oc.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie(), oc.getOrDie())) : Optional.none();\n    const mapFrom = (a, f) => a !== undefined && a !== null ? Optional.some(f(a)) : Optional.none();\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const addToEnd = (str, suffix) => {\n      return str + suffix;\n    };\n    const removeFromStart = (str, numChars) => {\n      return str.substring(numChars);\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const removeLeading = (str, prefix) => {\n      return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;\n    };\n    const ensureTrailing = (str, suffix) => {\n      return endsWith(str, suffix) ? str : addToEnd(str, suffix);\n    };\n    const contains$1 = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n    const endsWith = (str, suffix) => {\n      return checkRange(str, suffix, str.length - suffix.length);\n    };\n    const blank = r => s => s.replace(r, '');\n    const trim$1 = blank(/^\\s+|\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const isEmpty = s => !isNotEmpty(s);\n\n    const isSupported$1 = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const fromHtml$2 = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml: fromHtml$2,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path$1 = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve = (p, scope) => {\n      const parts = p.split('.');\n      return path$1(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve(name, scope);\n    };\n    const getOrDie$1 = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf$1 = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie$1('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf$1(x).constructor.name));\n    };\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const name$3 = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type$1 = element => element.dom.nodeType;\n    const isType = t => element => type$1(element) === t;\n    const isHTMLElement = element => isElement$1(element) && isPrototypeOf(element.dom);\n    const isElement$1 = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement$1(e) && name$3(e) === tag;\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all$3 = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map$2(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const contains = (e1, e2) => {\n      const d1 = e1.dom;\n      const d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n\n    const owner$4 = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner$4(dos);\n    const documentElement = element => SugarElement.fromDom(documentOrOwner(element).dom.documentElement);\n    const defaultView = element => SugarElement.fromDom(documentOrOwner(element).dom.defaultView);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentNode = element => parent(element);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const offsetParent = element => Optional.from(element.dom.offsetParent).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children = element => map$2(element.dom.childNodes, SugarElement.fromDom);\n    const child$2 = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child$2(element, 0);\n    const spot = (element, offset) => ({\n      element,\n      offset\n    });\n    const leaf = (element, offset) => {\n      const cs = children(element);\n      return cs.length > 0 && offset < cs.length ? spot(cs[offset], 0) : spot(element, offset);\n    };\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported = constant$1(supported);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getContentContainer = dos => isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n    const isInShadowRoot = e => getShadowRoot(e).isSome();\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n    const getOriginalEventTarget = event => {\n      if (isSupported() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement$1(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n    const body = () => getBody(SugarElement.fromDom(document));\n    const getBody = doc => {\n      const b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$9 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll$1 = (element, attrs) => {\n      const dom = element.dom;\n      each(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const get$f = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$f(element, key));\n    const has$1 = (element, key) => {\n      const dom = element.dom;\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n    const remove$7 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const clone$2 = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported$1(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported$1(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$8 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const setOptions = (element, css) => {\n      const dom = element.dom;\n      each(css, (v, k) => {\n        v.fold(() => {\n          internalRemove(dom, k);\n        }, value => {\n          internalSet(dom, k, value);\n        });\n      });\n    };\n    const get$e = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported$1(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const getAllRaw = element => {\n      const css = {};\n      const dom = element.dom;\n      if (isSupported$1(dom)) {\n        for (let i = 0; i < dom.style.length; i++) {\n          const ruleName = dom.style.item(i);\n          css[ruleName] = dom.style[ruleName];\n        }\n      }\n      return css;\n    };\n    const isValidValue$1 = (tag, property, value) => {\n      const element = SugarElement.fromTag(tag);\n      set$8(element, property, value);\n      const style = getRaw(element, property);\n      return style.isSome();\n    };\n    const remove$6 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is$1(getOpt(element, 'style').map(trim$1), '')) {\n        remove$7(element, 'style');\n      }\n    };\n    const reflow = e => e.dom.offsetWidth;\n\n    const Dimension = (name, getOffset) => {\n      const set = (element, h) => {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/)) {\n          throw new Error(name + '.set accepts only positive integer values. Value was ' + h);\n        }\n        const dom = element.dom;\n        if (isSupported$1(dom)) {\n          dom.style[name] = h + 'px';\n        }\n      };\n      const get = element => {\n        const r = getOffset(element);\n        if (r <= 0 || r === null) {\n          const css = get$e(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      const getOuter = get;\n      const aggregate = (element, properties) => foldl(properties, (acc, property) => {\n        const val = get$e(element, property);\n        const value = val === undefined ? 0 : parseInt(val, 10);\n        return isNaN(value) ? acc : acc + value;\n      }, 0);\n      const max = (element, value, properties) => {\n        const cumulativeInclusions = aggregate(element, properties);\n        const absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set,\n        get,\n        getOuter,\n        aggregate,\n        max\n      };\n    };\n\n    const api$2 = Dimension('height', element => {\n      const dom = element.dom;\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    const get$d = element => api$2.get(element);\n    const getOuter$2 = element => api$2.getOuter(element);\n    const setMax$1 = (element, value) => {\n      const inclusions = ['margin-top', 'border-top-width', 'padding-top', 'padding-bottom', 'border-bottom-width', 'margin-bottom'];\n      const absMax = api$2.max(element, value, inclusions);\n      set$8(element, 'max-height', absMax + 'px');\n    };\n\n    const r$1 = (left, top) => {\n      const translate = (x, y) => r$1(left + x, top + y);\n      return {\n        left,\n        top,\n        translate\n      };\n    };\n    const SugarPosition = r$1;\n\n    const boxPosition = dom => {\n      const box = dom.getBoundingClientRect();\n      return SugarPosition(box.left, box.top);\n    };\n    const firstDefinedOrZero = (a, b) => {\n      if (a !== undefined) {\n        return a;\n      } else {\n        return b !== undefined ? b : 0;\n      }\n    };\n    const absolute$3 = element => {\n      const doc = element.dom.ownerDocument;\n      const body = doc.body;\n      const win = doc.defaultView;\n      const html = doc.documentElement;\n      if (body === element.dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      const scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop);\n      const scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft);\n      const clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      const clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport$1(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    const viewport$1 = element => {\n      const dom = element.dom;\n      const doc = dom.ownerDocument;\n      const body = doc.body;\n      if (body === dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      if (!inBody(element)) {\n        return SugarPosition(0, 0);\n      }\n      return boxPosition(dom);\n    };\n\n    const api$1 = Dimension('width', element => element.dom.offsetWidth);\n    const set$7 = (element, h) => api$1.set(element, h);\n    const get$c = element => api$1.get(element);\n    const getOuter$1 = element => api$1.getOuter(element);\n    const setMax = (element, value) => {\n      const inclusions = ['margin-left', 'border-left-width', 'padding-left', 'padding-right', 'border-right-width', 'margin-right'];\n      const absMax = api$1.max(element, value, inclusions);\n      set$8(element, 'max-width', absMax + 'px');\n    };\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const DeviceType = (os, browser, userAgent, mediaMatch) => {\n      const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      const isiPhone = os.isiOS() && !isiPad;\n      const isMobile = os.isiOS() || os.isAndroid();\n      const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      const isPhone = isiPhone || isMobile && !isTablet;\n      const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      const isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant$1(isiPad),\n        isiPhone: constant$1(isiPhone),\n        isTablet: constant$1(isTablet),\n        isPhone: constant$1(isPhone),\n        isTouch: constant$1(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant$1(iOSwebview),\n        isDesktop: constant$1(isDesktop)\n      };\n    };\n\n    const firstMatch = (regexes, s) => {\n      for (let i = 0; i < regexes.length; i++) {\n        const x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    const find$3 = (regexes, agent) => {\n      const r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      const group = i => {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$d(group(1), group(2));\n    };\n    const detect$5 = (versionRegexes, agent) => {\n      const cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$3();\n      }\n      return find$3(versionRegexes, cleanedAgent);\n    };\n    const unknown$3 = () => {\n      return nu$d(0, 0);\n    };\n    const nu$d = (major, minor) => {\n      return {\n        major,\n        minor\n      };\n    };\n    const Version = {\n      nu: nu$d,\n      detect: detect$5,\n      unknown: unknown$3\n    };\n\n    const detectBrowser$1 = (browsers, userAgentData) => {\n      return findMap(userAgentData.brands, uaBrand => {\n        const lcBrand = uaBrand.brand.toLowerCase();\n        return find$5(browsers, browser => {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(info => ({\n          current: info.name,\n          version: Version.nu(parseInt(uaBrand.version, 10), 0)\n        }));\n      });\n    };\n\n    const detect$4 = (candidates, userAgent) => {\n      const agent = String(userAgent).toLowerCase();\n      return find$5(candidates, candidate => {\n        return candidate.search(agent);\n      });\n    };\n    const detectBrowser = (browsers, userAgent) => {\n      return detect$4(browsers, userAgent).map(browser => {\n        const version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version\n        };\n      });\n    };\n    const detectOs = (oses, userAgent) => {\n      return detect$4(oses, userAgent).map(os => {\n        const version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version\n        };\n      });\n    };\n\n    const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    const checkContains = target => {\n      return uastring => {\n        return contains$1(uastring, target);\n      };\n    };\n    const browsers = [{\n      name: 'Edge',\n      versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n      search: uastring => {\n        return contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');\n      }\n    }, {\n      name: 'Chromium',\n      brand: 'Chromium',\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/, normalVersionRegex],\n      search: uastring => {\n        return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe');\n      }\n    }, {\n      name: 'IE',\n      versionRegexes: [/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/, /.*?rv:([0-9]+)\\.([0-9]+).*/],\n      search: uastring => {\n        return contains$1(uastring, 'msie') || contains$1(uastring, 'trident');\n      }\n    }, {\n      name: 'Opera',\n      versionRegexes: [normalVersionRegex, /.*?opera\\/([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('opera')\n    }, {\n      name: 'Firefox',\n      versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('firefox')\n    }, {\n      name: 'Safari',\n      versionRegexes: [normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/],\n      search: uastring => {\n        return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit');\n      }\n    }];\n    const oses = [{\n      name: 'Windows',\n      search: checkContains('win'),\n      versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'iOS',\n      search: uastring => {\n        return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad');\n      },\n      versionRegexes: [/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Android',\n      search: checkContains('android'),\n      versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'macOS',\n      search: checkContains('mac os x'),\n      versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Linux',\n      search: checkContains('linux'),\n      versionRegexes: []\n    }, {\n      name: 'Solaris',\n      search: checkContains('sunos'),\n      versionRegexes: []\n    }, {\n      name: 'FreeBSD',\n      search: checkContains('freebsd'),\n      versionRegexes: []\n    }, {\n      name: 'ChromeOS',\n      search: checkContains('cros'),\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n    }];\n    const PlatformInfo = {\n      browsers: constant$1(browsers),\n      oses: constant$1(oses)\n    };\n\n    const edge = 'Edge';\n    const chromium = 'Chromium';\n    const ie = 'IE';\n    const opera = 'Opera';\n    const firefox = 'Firefox';\n    const safari = 'Safari';\n    const unknown$2 = () => {\n      return nu$c({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$c = info => {\n      const current = info.current;\n      const version = info.version;\n      const isBrowser = name => () => current === name;\n      return {\n        current,\n        version,\n        isEdge: isBrowser(edge),\n        isChromium: isBrowser(chromium),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    const Browser = {\n      unknown: unknown$2,\n      nu: nu$c,\n      edge: constant$1(edge),\n      chromium: constant$1(chromium),\n      ie: constant$1(ie),\n      opera: constant$1(opera),\n      firefox: constant$1(firefox),\n      safari: constant$1(safari)\n    };\n\n    const windows = 'Windows';\n    const ios = 'iOS';\n    const android = 'Android';\n    const linux = 'Linux';\n    const macos = 'macOS';\n    const solaris = 'Solaris';\n    const freebsd = 'FreeBSD';\n    const chromeos = 'ChromeOS';\n    const unknown$1 = () => {\n      return nu$b({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$b = info => {\n      const current = info.current;\n      const version = info.version;\n      const isOS = name => () => current === name;\n      return {\n        current,\n        version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isMacOS: isOS(macos),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    const OperatingSystem = {\n      unknown: unknown$1,\n      nu: nu$b,\n      windows: constant$1(windows),\n      ios: constant$1(ios),\n      android: constant$1(android),\n      linux: constant$1(linux),\n      macos: constant$1(macos),\n      solaris: constant$1(solaris),\n      freebsd: constant$1(freebsd),\n      chromeos: constant$1(chromeos)\n    };\n\n    const detect$3 = (userAgent, userAgentDataOpt, mediaMatch) => {\n      const browsers = PlatformInfo.browsers();\n      const oses = PlatformInfo.oses();\n      const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n      const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser,\n        os,\n        deviceType\n      };\n    };\n    const PlatformDetection = {\n      detect: detect$3\n    };\n\n    const mediaMatch = query => window.matchMedia(query).matches;\n    let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n    const detect$2 = () => platform();\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent$1 = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent$1(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$2 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const capture$1 = (element, event, filter, handler) => binder(element, event, filter, handler, true);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const before$1 = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$2 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$2(v, element);\n        });\n      }, v => {\n        before$1(v, element);\n      });\n    };\n    const prepend$1 = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$2(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$2 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const appendAt = (parent, element, index) => {\n      child$2(parent, index).fold(() => {\n        append$2(parent, element);\n      }, v => {\n        before$1(v, element);\n      });\n    };\n\n    const append$1 = (parent, elements) => {\n      each$1(elements, x => {\n        append$2(parent, x);\n      });\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each$1(children(element), rogue => {\n        remove$5(rogue);\n      });\n    };\n    const remove$5 = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    const get$b = _DOC => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n    const to = (x, y, _DOC) => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const win = doc.defaultView;\n      if (win) {\n        win.scrollTo(x, y);\n      }\n    };\n\n    const get$a = _win => {\n      const win = _win === undefined ? window : _win;\n      if (detect$2().browser.isFirefox()) {\n        return Optional.none();\n      } else {\n        return Optional.from(win.visualViewport);\n      }\n    };\n    const bounds$1 = (x, y, width, height) => ({\n      x,\n      y,\n      width,\n      height,\n      right: x + width,\n      bottom: y + height\n    });\n    const getBounds$3 = _win => {\n      const win = _win === undefined ? window : _win;\n      const doc = win.document;\n      const scroll = get$b(SugarElement.fromDom(doc));\n      return get$a(win).fold(() => {\n        const html = win.document.documentElement;\n        const width = html.clientWidth;\n        const height = html.clientHeight;\n        return bounds$1(scroll.left, scroll.top, width, height);\n      }, visualViewport => bounds$1(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height));\n    };\n\n    const getDocument = () => SugarElement.fromDom(document);\n\n    const walkUp = (navigation, doc) => {\n      const frame = navigation.view(doc);\n      return frame.fold(constant$1([]), f => {\n        const parent = navigation.owner(f);\n        const rest = walkUp(navigation, parent);\n        return [f].concat(rest);\n      });\n    };\n    const pathTo = (element, navigation) => {\n      const d = navigation.owner(element);\n      const paths = walkUp(navigation, d);\n      return Optional.some(paths);\n    };\n\n    const view = doc => {\n      var _a;\n      const element = doc.dom === document ? Optional.none() : Optional.from((_a = doc.dom.defaultView) === null || _a === void 0 ? void 0 : _a.frameElement);\n      return element.map(SugarElement.fromDom);\n    };\n    const owner$3 = element => owner$4(element);\n\n    var Navigation = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        view: view,\n        owner: owner$3\n    });\n\n    const find$2 = element => {\n      const doc = getDocument();\n      const scroll = get$b(doc);\n      const path = pathTo(element, Navigation);\n      return path.fold(curry(absolute$3, element), frames => {\n        const offset = viewport$1(element);\n        const r = foldr(frames, (b, a) => {\n          const loc = viewport$1(a);\n          return {\n            left: b.left + loc.left,\n            top: b.top + loc.top\n          };\n        }, {\n          left: 0,\n          top: 0\n        });\n        return SugarPosition(r.left + offset.left + scroll.left, r.top + offset.top + scroll.top);\n      });\n    };\n\n    const pointed = (point, width, height) => ({\n      point,\n      width,\n      height\n    });\n    const rect = (x, y, width, height) => ({\n      x,\n      y,\n      width,\n      height\n    });\n    const bounds = (x, y, width, height) => ({\n      x,\n      y,\n      width,\n      height,\n      right: x + width,\n      bottom: y + height\n    });\n    const box$1 = element => {\n      const xy = absolute$3(element);\n      const w = getOuter$1(element);\n      const h = getOuter$2(element);\n      return bounds(xy.left, xy.top, w, h);\n    };\n    const absolute$2 = element => {\n      const position = find$2(element);\n      const width = getOuter$1(element);\n      const height = getOuter$2(element);\n      return bounds(position.left, position.top, width, height);\n    };\n    const constrain = (original, constraint) => {\n      const left = Math.max(original.x, constraint.x);\n      const top = Math.max(original.y, constraint.y);\n      const right = Math.min(original.right, constraint.right);\n      const bottom = Math.min(original.bottom, constraint.bottom);\n      const width = right - left;\n      const height = bottom - top;\n      return bounds(left, top, width, height);\n    };\n    const constrainByMany = (original, constraints) => {\n      return foldl(constraints, (acc, c) => constrain(acc, c), original);\n    };\n    const win = () => getBounds$3(window);\n\n    var global$a = tinymce.util.Tools.resolve('tinymce.ThemeManager');\n\n    const value$4 = value => {\n      const applyHelper = fn => fn(value);\n      const constHelper = constant$1(value);\n      const outputHelper = () => output;\n      const output = {\n        tag: true,\n        inner: value,\n        fold: (_onError, onValue) => onValue(value),\n        isValue: always,\n        isError: never,\n        map: mapper => Result.value(mapper(value)),\n        mapError: outputHelper,\n        bind: applyHelper,\n        exists: applyHelper,\n        forall: applyHelper,\n        getOr: constHelper,\n        or: outputHelper,\n        getOrThunk: constHelper,\n        orThunk: outputHelper,\n        getOrDie: constHelper,\n        each: fn => {\n          fn(value);\n        },\n        toOptional: () => Optional.some(value)\n      };\n      return output;\n    };\n    const error$1 = error => {\n      const outputHelper = () => output;\n      const output = {\n        tag: false,\n        inner: error,\n        fold: (onError, _onValue) => onError(error),\n        isValue: never,\n        isError: always,\n        map: outputHelper,\n        mapError: mapper => Result.error(mapper(error)),\n        bind: outputHelper,\n        exists: never,\n        forall: always,\n        getOr: identity,\n        or: identity,\n        getOrThunk: apply$1,\n        orThunk: apply$1,\n        getOrDie: die(String(error)),\n        each: noop,\n        toOptional: Optional.none\n      };\n      return output;\n    };\n    const fromOption = (optional, err) => optional.fold(() => error$1(err), value$4);\n    const Result = {\n      value: value$4,\n      error: error$1,\n      fromOption\n    };\n\n    var SimpleResultType;\n    (function (SimpleResultType) {\n      SimpleResultType[SimpleResultType['Error'] = 0] = 'Error';\n      SimpleResultType[SimpleResultType['Value'] = 1] = 'Value';\n    })(SimpleResultType || (SimpleResultType = {}));\n    const fold$1 = (res, onError, onValue) => res.stype === SimpleResultType.Error ? onError(res.serror) : onValue(res.svalue);\n    const partition$2 = results => {\n      const values = [];\n      const errors = [];\n      each$1(results, obj => {\n        fold$1(obj, err => errors.push(err), val => values.push(val));\n      });\n      return {\n        values,\n        errors\n      };\n    };\n    const mapError = (res, f) => {\n      if (res.stype === SimpleResultType.Error) {\n        return {\n          stype: SimpleResultType.Error,\n          serror: f(res.serror)\n        };\n      } else {\n        return res;\n      }\n    };\n    const map = (res, f) => {\n      if (res.stype === SimpleResultType.Value) {\n        return {\n          stype: SimpleResultType.Value,\n          svalue: f(res.svalue)\n        };\n      } else {\n        return res;\n      }\n    };\n    const bind$1 = (res, f) => {\n      if (res.stype === SimpleResultType.Value) {\n        return f(res.svalue);\n      } else {\n        return res;\n      }\n    };\n    const bindError = (res, f) => {\n      if (res.stype === SimpleResultType.Error) {\n        return f(res.serror);\n      } else {\n        return res;\n      }\n    };\n    const svalue = v => ({\n      stype: SimpleResultType.Value,\n      svalue: v\n    });\n    const serror = e => ({\n      stype: SimpleResultType.Error,\n      serror: e\n    });\n    const toResult$1 = res => fold$1(res, Result.error, Result.value);\n    const fromResult$1 = res => res.fold(serror, svalue);\n    const SimpleResult = {\n      fromResult: fromResult$1,\n      toResult: toResult$1,\n      svalue,\n      partition: partition$2,\n      serror,\n      bind: bind$1,\n      bindError,\n      map,\n      mapError,\n      fold: fold$1\n    };\n\n    const field$2 = (key, newKey, presence, prop) => ({\n      tag: 'field',\n      key,\n      newKey,\n      presence,\n      prop\n    });\n    const customField$1 = (newKey, instantiator) => ({\n      tag: 'custom',\n      newKey,\n      instantiator\n    });\n    const fold = (value, ifField, ifCustom) => {\n      switch (value.tag) {\n        case 'field':\n          return ifField(value.key, value.newKey, value.presence, value.prop);\n        case 'custom':\n          return ifCustom(value.newKey, value.instantiator);\n      }\n    };\n\n    const shallow$1 = (old, nu) => {\n      return nu;\n    };\n    const deep$1 = (old, nu) => {\n      const bothObjects = isPlainObject(old) && isPlainObject(nu);\n      return bothObjects ? deepMerge(old, nu) : nu;\n    };\n    const baseMerge = merger => {\n      return (...objects) => {\n        if (objects.length === 0) {\n          throw new Error(\"Can't merge zero objects\");\n        }\n        const ret = {};\n        for (let j = 0; j < objects.length; j++) {\n          const curObject = objects[j];\n          for (const key in curObject) {\n            if (has$2(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    const deepMerge = baseMerge(deep$1);\n    const merge$1 = baseMerge(shallow$1);\n\n    const required$2 = () => ({\n      tag: 'required',\n      process: {}\n    });\n    const defaultedThunk = fallbackThunk => ({\n      tag: 'defaultedThunk',\n      process: fallbackThunk\n    });\n    const defaulted$1 = fallback => defaultedThunk(constant$1(fallback));\n    const asOption = () => ({\n      tag: 'option',\n      process: {}\n    });\n    const mergeWithThunk = baseThunk => ({\n      tag: 'mergeWithThunk',\n      process: baseThunk\n    });\n    const mergeWith = base => mergeWithThunk(constant$1(base));\n\n    const mergeValues$1 = (values, base) => values.length > 0 ? SimpleResult.svalue(deepMerge(base, merge$1.apply(undefined, values))) : SimpleResult.svalue(base);\n    const mergeErrors$1 = errors => compose(SimpleResult.serror, flatten)(errors);\n    const consolidateObj = (objects, base) => {\n      const partition = SimpleResult.partition(objects);\n      return partition.errors.length > 0 ? mergeErrors$1(partition.errors) : mergeValues$1(partition.values, base);\n    };\n    const consolidateArr = objects => {\n      const partitions = SimpleResult.partition(objects);\n      return partitions.errors.length > 0 ? mergeErrors$1(partitions.errors) : SimpleResult.svalue(partitions.values);\n    };\n    const ResultCombine = {\n      consolidateObj,\n      consolidateArr\n    };\n\n    const formatObj = input => {\n      return isObject(input) && keys(input).length > 100 ? ' removed due to size' : JSON.stringify(input, null, 2);\n    };\n    const formatErrors = errors => {\n      const es = errors.length > 10 ? errors.slice(0, 10).concat([{\n        path: [],\n        getErrorInfo: constant$1('... (only showing first ten failures)')\n      }]) : errors;\n      return map$2(es, e => {\n        return 'Failed path: (' + e.path.join(' > ') + ')\\n' + e.getErrorInfo();\n      });\n    };\n\n    const nu$a = (path, getErrorInfo) => {\n      return SimpleResult.serror([{\n        path,\n        getErrorInfo\n      }]);\n    };\n    const missingRequired = (path, key, obj) => nu$a(path, () => 'Could not find valid *required* value for \"' + key + '\" in ' + formatObj(obj));\n    const missingKey = (path, key) => nu$a(path, () => 'Choice schema did not contain choice key: \"' + key + '\"');\n    const missingBranch = (path, branches, branch) => nu$a(path, () => 'The chosen schema: \"' + branch + '\" did not exist in branches: ' + formatObj(branches));\n    const unsupportedFields = (path, unsupported) => nu$a(path, () => 'There are unsupported fields: [' + unsupported.join(', ') + '] specified');\n    const custom = (path, err) => nu$a(path, constant$1(err));\n\n    const value$3 = validator => {\n      const extract = (path, val) => {\n        return SimpleResult.bindError(validator(val), err => custom(path, err));\n      };\n      const toString = constant$1('val');\n      return {\n        extract,\n        toString\n      };\n    };\n    const anyValue$1 = value$3(SimpleResult.svalue);\n\n    const requiredAccess = (path, obj, key, bundle) => get$g(obj, key).fold(() => missingRequired(path, key, obj), bundle);\n    const fallbackAccess = (obj, key, fallback, bundle) => {\n      const v = get$g(obj, key).getOrThunk(() => fallback(obj));\n      return bundle(v);\n    };\n    const optionAccess = (obj, key, bundle) => bundle(get$g(obj, key));\n    const optionDefaultedAccess = (obj, key, fallback, bundle) => {\n      const opt = get$g(obj, key).map(val => val === true ? fallback(obj) : val);\n      return bundle(opt);\n    };\n    const extractField = (field, path, obj, key, prop) => {\n      const bundle = av => prop.extract(path.concat([key]), av);\n      const bundleAsOption = optValue => optValue.fold(() => SimpleResult.svalue(Optional.none()), ov => {\n        const result = prop.extract(path.concat([key]), ov);\n        return SimpleResult.map(result, Optional.some);\n      });\n      switch (field.tag) {\n        case 'required':\n          return requiredAccess(path, obj, key, bundle);\n        case 'defaultedThunk':\n          return fallbackAccess(obj, key, field.process, bundle);\n        case 'option':\n          return optionAccess(obj, key, bundleAsOption);\n        case 'defaultedOptionThunk':\n          return optionDefaultedAccess(obj, key, field.process, bundleAsOption);\n        case 'mergeWithThunk':\n          {\n            return fallbackAccess(obj, key, constant$1({}), v => {\n              const result = deepMerge(field.process(obj), v);\n              return bundle(result);\n            });\n          }\n      }\n    };\n    const extractFields = (path, obj, fields) => {\n      const success = {};\n      const errors = [];\n      for (const field of fields) {\n        fold(field, (key, newKey, presence, prop) => {\n          const result = extractField(presence, path, obj, key, prop);\n          SimpleResult.fold(result, err => {\n            errors.push(...err);\n          }, res => {\n            success[newKey] = res;\n          });\n        }, (newKey, instantiator) => {\n          success[newKey] = instantiator(obj);\n        });\n      }\n      return errors.length > 0 ? SimpleResult.serror(errors) : SimpleResult.svalue(success);\n    };\n    const valueThunk = getDelegate => {\n      const extract = (path, val) => getDelegate().extract(path, val);\n      const toString = () => getDelegate().toString();\n      return {\n        extract,\n        toString\n      };\n    };\n    const getSetKeys = obj => keys(filter$1(obj, isNonNullable));\n    const objOfOnly = fields => {\n      const delegate = objOf(fields);\n      const fieldNames = foldr(fields, (acc, value) => {\n        return fold(value, key => deepMerge(acc, {\n          [key]: true\n        }), constant$1(acc));\n      }, {});\n      const extract = (path, o) => {\n        const keys = isBoolean(o) ? [] : getSetKeys(o);\n        const extra = filter$2(keys, k => !hasNonNullableKey(fieldNames, k));\n        return extra.length === 0 ? delegate.extract(path, o) : unsupportedFields(path, extra);\n      };\n      return {\n        extract,\n        toString: delegate.toString\n      };\n    };\n    const objOf = values => {\n      const extract = (path, o) => extractFields(path, o, values);\n      const toString = () => {\n        const fieldStrings = map$2(values, value => fold(value, (key, _okey, _presence, prop) => key + ' -> ' + prop.toString(), (newKey, _instantiator) => 'state(' + newKey + ')'));\n        return 'obj{\\n' + fieldStrings.join('\\n') + '}';\n      };\n      return {\n        extract,\n        toString\n      };\n    };\n    const arrOf = prop => {\n      const extract = (path, array) => {\n        const results = map$2(array, (a, i) => prop.extract(path.concat(['[' + i + ']']), a));\n        return ResultCombine.consolidateArr(results);\n      };\n      const toString = () => 'array(' + prop.toString() + ')';\n      return {\n        extract,\n        toString\n      };\n    };\n    const oneOf = (props, rawF) => {\n      const f = rawF !== undefined ? rawF : identity;\n      const extract = (path, val) => {\n        const errors = [];\n        for (const prop of props) {\n          const res = prop.extract(path, val);\n          if (res.stype === SimpleResultType.Value) {\n            return {\n              stype: SimpleResultType.Value,\n              svalue: f(res.svalue)\n            };\n          }\n          errors.push(res);\n        }\n        return ResultCombine.consolidateArr(errors);\n      };\n      const toString = () => 'oneOf(' + map$2(props, prop => prop.toString()).join(', ') + ')';\n      return {\n        extract,\n        toString\n      };\n    };\n    const setOf$1 = (validator, prop) => {\n      const validateKeys = (path, keys) => arrOf(value$3(validator)).extract(path, keys);\n      const extract = (path, o) => {\n        const keys$1 = keys(o);\n        const validatedKeys = validateKeys(path, keys$1);\n        return SimpleResult.bind(validatedKeys, validKeys => {\n          const schema = map$2(validKeys, vk => {\n            return field$2(vk, vk, required$2(), prop);\n          });\n          return objOf(schema).extract(path, o);\n        });\n      };\n      const toString = () => 'setOf(' + prop.toString() + ')';\n      return {\n        extract,\n        toString\n      };\n    };\n    const thunk = (_desc, processor) => {\n      const getP = cached(processor);\n      const extract = (path, val) => getP().extract(path, val);\n      const toString = () => getP().toString();\n      return {\n        extract,\n        toString\n      };\n    };\n    const arrOfObj = compose(arrOf, objOf);\n\n    const anyValue = constant$1(anyValue$1);\n    const typedValue = (validator, expectedType) => value$3(a => {\n      const actualType = typeof a;\n      return validator(a) ? SimpleResult.svalue(a) : SimpleResult.serror(\"Expected type: \".concat(expectedType, \" but got: \").concat(actualType));\n    });\n    const number = typedValue(isNumber, 'number');\n    const string = typedValue(isString, 'string');\n    const boolean = typedValue(isBoolean, 'boolean');\n    const functionProcessor = typedValue(isFunction, 'function');\n    const isPostMessageable = val => {\n      if (Object(val) !== val) {\n        return true;\n      }\n      switch ({}.toString.call(val).slice(8, -1)) {\n        case 'Boolean':\n        case 'Number':\n        case 'String':\n        case 'Date':\n        case 'RegExp':\n        case 'Blob':\n        case 'FileList':\n        case 'ImageData':\n        case 'ImageBitmap':\n        case 'ArrayBuffer':\n          return true;\n        case 'Array':\n        case 'Object':\n          return Object.keys(val).every(prop => isPostMessageable(val[prop]));\n        default:\n          return false;\n      }\n    };\n    const postMessageable = value$3(a => {\n      if (isPostMessageable(a)) {\n        return SimpleResult.svalue(a);\n      } else {\n        return SimpleResult.serror('Expected value to be acceptable for sending via postMessage');\n      }\n    });\n\n    const chooseFrom = (path, input, branches, ch) => {\n      const fields = get$g(branches, ch);\n      return fields.fold(() => missingBranch(path, branches, ch), vp => vp.extract(path.concat(['branch: ' + ch]), input));\n    };\n    const choose$2 = (key, branches) => {\n      const extract = (path, input) => {\n        const choice = get$g(input, key);\n        return choice.fold(() => missingKey(path, key), chosen => chooseFrom(path, input, branches, chosen));\n      };\n      const toString = () => 'chooseOn(' + key + '). Possible values: ' + keys(branches);\n      return {\n        extract,\n        toString\n      };\n    };\n\n    const arrOfVal = () => arrOf(anyValue$1);\n    const valueOf = validator => value$3(v => validator(v).fold(SimpleResult.serror, SimpleResult.svalue));\n    const setOf = (validator, prop) => setOf$1(v => SimpleResult.fromResult(validator(v)), prop);\n    const extractValue = (label, prop, obj) => {\n      const res = prop.extract([label], obj);\n      return SimpleResult.mapError(res, errs => ({\n        input: obj,\n        errors: errs\n      }));\n    };\n    const asRaw = (label, prop, obj) => SimpleResult.toResult(extractValue(label, prop, obj));\n    const getOrDie = extraction => {\n      return extraction.fold(errInfo => {\n        throw new Error(formatError(errInfo));\n      }, identity);\n    };\n    const asRawOrDie$1 = (label, prop, obj) => getOrDie(asRaw(label, prop, obj));\n    const formatError = errInfo => {\n      return 'Errors: \\n' + formatErrors(errInfo.errors).join('\\n') + '\\n\\nInput object: ' + formatObj(errInfo.input);\n    };\n    const choose$1 = (key, branches) => choose$2(key, map$1(branches, objOf));\n    const thunkOf = (desc, schema) => thunk(desc, schema);\n\n    const field$1 = field$2;\n    const customField = customField$1;\n    const validateEnum = values => valueOf(value => contains$2(values, value) ? Result.value(value) : Result.error(\"Unsupported value: \\\"\".concat(value, \"\\\", choose one of \\\"\").concat(values.join(', '), \"\\\".\")));\n    const required$1 = key => field$1(key, key, required$2(), anyValue());\n    const requiredOf = (key, schema) => field$1(key, key, required$2(), schema);\n    const requiredNumber = key => requiredOf(key, number);\n    const requiredString = key => requiredOf(key, string);\n    const requiredStringEnum = (key, values) => field$1(key, key, required$2(), validateEnum(values));\n    const requiredBoolean = key => requiredOf(key, boolean);\n    const requiredFunction = key => requiredOf(key, functionProcessor);\n    const forbid = (key, message) => field$1(key, key, asOption(), value$3(_v => SimpleResult.serror('The field: ' + key + ' is forbidden. ' + message)));\n    const requiredObjOf = (key, objSchema) => field$1(key, key, required$2(), objOf(objSchema));\n    const requiredArrayOfObj = (key, objFields) => field$1(key, key, required$2(), arrOfObj(objFields));\n    const requiredArrayOf = (key, schema) => field$1(key, key, required$2(), arrOf(schema));\n    const option$3 = key => field$1(key, key, asOption(), anyValue());\n    const optionOf = (key, schema) => field$1(key, key, asOption(), schema);\n    const optionNumber = key => optionOf(key, number);\n    const optionString = key => optionOf(key, string);\n    const optionStringEnum = (key, values) => optionOf(key, validateEnum(values));\n    const optionFunction = key => optionOf(key, functionProcessor);\n    const optionArrayOf = (key, schema) => optionOf(key, arrOf(schema));\n    const optionObjOf = (key, objSchema) => optionOf(key, objOf(objSchema));\n    const optionObjOfOnly = (key, objSchema) => optionOf(key, objOfOnly(objSchema));\n    const defaulted = (key, fallback) => field$1(key, key, defaulted$1(fallback), anyValue());\n    const defaultedOf = (key, fallback, schema) => field$1(key, key, defaulted$1(fallback), schema);\n    const defaultedNumber = (key, fallback) => defaultedOf(key, fallback, number);\n    const defaultedString = (key, fallback) => defaultedOf(key, fallback, string);\n    const defaultedStringEnum = (key, fallback, values) => defaultedOf(key, fallback, validateEnum(values));\n    const defaultedBoolean = (key, fallback) => defaultedOf(key, fallback, boolean);\n    const defaultedFunction = (key, fallback) => defaultedOf(key, fallback, functionProcessor);\n    const defaultedPostMsg = (key, fallback) => defaultedOf(key, fallback, postMessageable);\n    const defaultedArrayOf = (key, fallback, schema) => defaultedOf(key, fallback, arrOf(schema));\n    const defaultedObjOf = (key, fallback, objSchema) => defaultedOf(key, fallback, objOf(objSchema));\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const generate$7 = cases => {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each$1(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains$2(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate: generate$7\n    };\n\n    Adt.generate([{\n      bothErrors: ['error1', 'error2']\n    }, {\n      firstError: ['error1', 'value2']\n    }, {\n      secondError: ['value1', 'error2']\n    }, {\n      bothValues: ['value1', 'value2']\n    }]);\n    const partition$1 = results => {\n      const errors = [];\n      const values = [];\n      each$1(results, result => {\n        result.fold(err => {\n          errors.push(err);\n        }, value => {\n          values.push(value);\n        });\n      });\n      return {\n        errors,\n        values\n      };\n    };\n\n    const exclude$1 = (obj, fields) => {\n      const r = {};\n      each(obj, (v, k) => {\n        if (!contains$2(fields, k)) {\n          r[k] = v;\n        }\n      });\n      return r;\n    };\n\n    const wrap$2 = (key, value) => ({\n      [key]: value\n    });\n    const wrapAll$1 = keyvalues => {\n      const r = {};\n      each$1(keyvalues, kv => {\n        r[kv.key] = kv.value;\n      });\n      return r;\n    };\n\n    const exclude = (obj, fields) => exclude$1(obj, fields);\n    const wrap$1 = (key, value) => wrap$2(key, value);\n    const wrapAll = keyvalues => wrapAll$1(keyvalues);\n    const mergeValues = (values, base) => {\n      return values.length === 0 ? Result.value(base) : Result.value(deepMerge(base, merge$1.apply(undefined, values)));\n    };\n    const mergeErrors = errors => Result.error(flatten(errors));\n    const consolidate = (objs, base) => {\n      const partitions = partition$1(objs);\n      return partitions.errors.length > 0 ? mergeErrors(partitions.errors) : mergeValues(partitions.values, base);\n    };\n\n    const ensureIsRoot = isRoot => isFunction(isRoot) ? isRoot : never;\n    const ancestor$2 = (scope, transform, isRoot) => {\n      let element = scope.dom;\n      const stop = ensureIsRoot(isRoot);\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        const transformed = transform(el);\n        if (transformed.isSome()) {\n          return transformed;\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$4 = (scope, transform, isRoot) => {\n      const current = transform(scope);\n      const stop = ensureIsRoot(isRoot);\n      return current.orThunk(() => stop(scope) ? Optional.none() : ancestor$2(scope, transform, stop));\n    };\n\n    const isSource = (component, simulatedEvent) => eq(component.element, simulatedEvent.event.target);\n\n    const defaultEventHandler = {\n      can: always,\n      abort: never,\n      run: noop\n    };\n    const nu$9 = parts => {\n      if (!hasNonNullableKey(parts, 'can') && !hasNonNullableKey(parts, 'abort') && !hasNonNullableKey(parts, 'run')) {\n        throw new Error('EventHandler defined by: ' + JSON.stringify(parts, null, 2) + ' does not have can, abort, or run!');\n      }\n      return {\n        ...defaultEventHandler,\n        ...parts\n      };\n    };\n    const all$2 = (handlers, f) => (...args) => foldl(handlers, (acc, handler) => acc && f(handler).apply(undefined, args), true);\n    const any = (handlers, f) => (...args) => foldl(handlers, (acc, handler) => acc || f(handler).apply(undefined, args), false);\n    const read$2 = handler => isFunction(handler) ? {\n      can: always,\n      abort: never,\n      run: handler\n    } : handler;\n    const fuse$1 = handlers => {\n      const can = all$2(handlers, handler => handler.can);\n      const abort = any(handlers, handler => handler.abort);\n      const run = (...args) => {\n        each$1(handlers, handler => {\n          handler.run.apply(undefined, args);\n        });\n      };\n      return {\n        can,\n        abort,\n        run\n      };\n    };\n\n    const constant = constant$1;\n    const touchstart = constant('touchstart');\n    const touchmove = constant('touchmove');\n    const touchend = constant('touchend');\n    const touchcancel = constant('touchcancel');\n    const mousedown = constant('mousedown');\n    const mousemove = constant('mousemove');\n    const mouseout = constant('mouseout');\n    const mouseup = constant('mouseup');\n    const mouseover = constant('mouseover');\n    const focusin = constant('focusin');\n    const focusout = constant('focusout');\n    const keydown = constant('keydown');\n    const keyup = constant('keyup');\n    const input = constant('input');\n    const change = constant('change');\n    const click = constant('click');\n    const transitioncancel = constant('transitioncancel');\n    const transitionend = constant('transitionend');\n    const transitionstart = constant('transitionstart');\n    const selectstart = constant('selectstart');\n\n    const prefixName = name => constant$1('alloy.' + name);\n    const alloy = {\n      tap: prefixName('tap')\n    };\n    const focus$4 = prefixName('focus');\n    const postBlur = prefixName('blur.post');\n    const postPaste = prefixName('paste.post');\n    const receive = prefixName('receive');\n    const execute$5 = prefixName('execute');\n    const focusItem = prefixName('focus.item');\n    const tap = alloy.tap;\n    const longpress = prefixName('longpress');\n    const sandboxClose = prefixName('sandbox.close');\n    const typeaheadCancel = prefixName('typeahead.cancel');\n    const systemInit = prefixName('system.init');\n    const documentTouchmove = prefixName('system.touchmove');\n    const documentTouchend = prefixName('system.touchend');\n    const windowScroll = prefixName('system.scroll');\n    const windowResize = prefixName('system.resize');\n    const attachedToDom = prefixName('system.attached');\n    const detachedFromDom = prefixName('system.detached');\n    const dismissRequested = prefixName('system.dismissRequested');\n    const repositionRequested = prefixName('system.repositionRequested');\n    const focusShifted = prefixName('focusmanager.shifted');\n    const slotVisibility = prefixName('slotcontainer.visibility');\n    const externalElementScroll = prefixName('system.external.element.scroll');\n    const changeTab = prefixName('change.tab');\n    const dismissTab = prefixName('dismiss.tab');\n    const highlight$1 = prefixName('highlight');\n    const dehighlight$1 = prefixName('dehighlight');\n\n    const emit = (component, event) => {\n      dispatchWith(component, component.element, event, {});\n    };\n    const emitWith = (component, event, properties) => {\n      dispatchWith(component, component.element, event, properties);\n    };\n    const emitExecute = component => {\n      emit(component, execute$5());\n    };\n    const dispatch = (component, target, event) => {\n      dispatchWith(component, target, event, {});\n    };\n    const dispatchWith = (component, target, event, properties) => {\n      const data = {\n        target,\n        ...properties\n      };\n      component.getSystem().triggerEvent(event, target, data);\n    };\n    const retargetAndDispatchWith = (component, target, eventName, properties) => {\n      const data = {\n        ...properties,\n        target\n      };\n      component.getSystem().triggerEvent(eventName, target, data);\n    };\n    const dispatchEvent = (component, target, event, simulatedEvent) => {\n      component.getSystem().triggerEvent(event, target, simulatedEvent.event);\n    };\n\n    const derive$2 = configs => wrapAll(configs);\n    const abort = (name, predicate) => {\n      return {\n        key: name,\n        value: nu$9({\n          abort: predicate\n        })\n      };\n    };\n    const can = (name, predicate) => {\n      return {\n        key: name,\n        value: nu$9({\n          can: predicate\n        })\n      };\n    };\n    const preventDefault = name => {\n      return {\n        key: name,\n        value: nu$9({\n          run: (component, simulatedEvent) => {\n            simulatedEvent.event.prevent();\n          }\n        })\n      };\n    };\n    const run$1 = (name, handler) => {\n      return {\n        key: name,\n        value: nu$9({\n          run: handler\n        })\n      };\n    };\n    const runActionExtra = (name, action, extra) => {\n      return {\n        key: name,\n        value: nu$9({\n          run: (component, simulatedEvent) => {\n            action.apply(undefined, [component, simulatedEvent].concat(extra));\n          }\n        })\n      };\n    };\n    const runOnName = name => {\n      return handler => run$1(name, handler);\n    };\n    const runOnSourceName = name => {\n      return handler => ({\n        key: name,\n        value: nu$9({\n          run: (component, simulatedEvent) => {\n            if (isSource(component, simulatedEvent)) {\n              handler(component, simulatedEvent);\n            }\n          }\n        })\n      });\n    };\n    const redirectToUid = (name, uid) => {\n      return run$1(name, (component, simulatedEvent) => {\n        component.getSystem().getByUid(uid).each(redirectee => {\n          dispatchEvent(redirectee, redirectee.element, name, simulatedEvent);\n        });\n      });\n    };\n    const redirectToPart = (name, detail, partName) => {\n      const uid = detail.partUids[partName];\n      return redirectToUid(name, uid);\n    };\n    const runWithTarget = (name, f) => {\n      return run$1(name, (component, simulatedEvent) => {\n        const ev = simulatedEvent.event;\n        const target = component.getSystem().getByDom(ev.target).getOrThunk(() => {\n          const closest = closest$4(ev.target, el => component.getSystem().getByDom(el).toOptional(), never);\n          return closest.getOr(component);\n        });\n        f(component, target, simulatedEvent);\n      });\n    };\n    const cutter = name => {\n      return run$1(name, (component, simulatedEvent) => {\n        simulatedEvent.cut();\n      });\n    };\n    const stopper = name => {\n      return run$1(name, (component, simulatedEvent) => {\n        simulatedEvent.stop();\n      });\n    };\n    const runOnSource = (name, f) => {\n      return runOnSourceName(name)(f);\n    };\n    const runOnAttached = runOnSourceName(attachedToDom());\n    const runOnDetached = runOnSourceName(detachedFromDom());\n    const runOnInit = runOnSourceName(systemInit());\n    const runOnExecute$1 = runOnName(execute$5());\n\n    const fromHtml$1 = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      return children(SugarElement.fromDom(div));\n    };\n\n    const get$9 = element => element.dom.innerHTML;\n    const set$6 = (element, content) => {\n      const owner = owner$4(element);\n      const docDom = owner.dom;\n      const fragment = SugarElement.fromDom(docDom.createDocumentFragment());\n      const contentElements = fromHtml$1(content, docDom);\n      append$1(fragment, contentElements);\n      empty(element);\n      append$2(element, fragment);\n    };\n    const getOuter = element => {\n      const container = SugarElement.fromTag('div');\n      const clone = SugarElement.fromDom(element.dom.cloneNode(true));\n      append$2(container, clone);\n      return get$9(container);\n    };\n\n    const clone$1 = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    const shallow = original => clone$1(original, false);\n    const deep = original => clone$1(original, true);\n\n    const getHtml = element => {\n      if (isShadowRoot(element)) {\n        return '#shadow-root';\n      } else {\n        const clone = shallow(element);\n        return getOuter(clone);\n      }\n    };\n\n    const element = elem => getHtml(elem);\n\n    const isRecursive = (component, originator, target) => eq(originator, component.element) && !eq(originator, target);\n    const events$i = derive$2([can(focus$4(), (component, simulatedEvent) => {\n      const event = simulatedEvent.event;\n      const originator = event.originator;\n      const target = event.target;\n      if (isRecursive(component, originator, target)) {\n        console.warn(focus$4() + ' did not get interpreted by the desired target. ' + '\\nOriginator: ' + element(originator) + '\\nTarget: ' + element(target) + '\\nCheck the ' + focus$4() + ' event handlers');\n        return false;\n      } else {\n        return true;\n      }\n    })]);\n\n    var DefaultEvents = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$i\n    });\n\n    let unique = 0;\n    const generate$6 = prefix => {\n      const date = new Date();\n      const time = date.getTime();\n      const random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    const prefix$1 = constant$1('alloy-id-');\n    const idAttr$1 = constant$1('data-alloy-id');\n\n    const prefix = prefix$1();\n    const idAttr = idAttr$1();\n    const write = (label, elem) => {\n      const id = generate$6(prefix + label);\n      writeOnly(elem, id);\n      return id;\n    };\n    const writeOnly = (elem, uid) => {\n      Object.defineProperty(elem.dom, idAttr, {\n        value: uid,\n        writable: true\n      });\n    };\n    const read$1 = elem => {\n      const id = isElement$1(elem) ? elem.dom[idAttr] : null;\n      return Optional.from(id);\n    };\n    const generate$5 = prefix => generate$6(prefix);\n\n    const make$8 = identity;\n\n    const NoContextApi = getComp => {\n      const getMessage = event => \"The component must be in a context to execute: \".concat(event) + (getComp ? '\\n' + element(getComp().element) + ' is not in context.' : '');\n      const fail = event => () => {\n        throw new Error(getMessage(event));\n      };\n      const warn = event => () => {\n        console.warn(getMessage(event));\n      };\n      return {\n        debugInfo: constant$1('fake'),\n        triggerEvent: warn('triggerEvent'),\n        triggerFocus: warn('triggerFocus'),\n        triggerEscape: warn('triggerEscape'),\n        broadcast: warn('broadcast'),\n        broadcastOn: warn('broadcastOn'),\n        broadcastEvent: warn('broadcastEvent'),\n        build: fail('build'),\n        buildOrPatch: fail('buildOrPatch'),\n        addToWorld: fail('addToWorld'),\n        removeFromWorld: fail('removeFromWorld'),\n        addToGui: fail('addToGui'),\n        removeFromGui: fail('removeFromGui'),\n        getByUid: fail('getByUid'),\n        getByDom: fail('getByDom'),\n        isConnected: never\n      };\n    };\n    const singleton$1 = NoContextApi();\n\n    const markAsBehaviourApi = (f, apiName, apiFunction) => {\n      const delegate = apiFunction.toString();\n      const endIndex = delegate.indexOf(')') + 1;\n      const openBracketIndex = delegate.indexOf('(');\n      const parameters = delegate.substring(openBracketIndex + 1, endIndex - 1).split(/,\\s*/);\n      f.toFunctionAnnotation = () => ({\n        name: apiName,\n        parameters: cleanParameters(parameters.slice(0, 1).concat(parameters.slice(3)))\n      });\n      return f;\n    };\n    const cleanParameters = parameters => map$2(parameters, p => endsWith(p, '/*') ? p.substring(0, p.length - '/*'.length) : p);\n    const markAsExtraApi = (f, extraName) => {\n      const delegate = f.toString();\n      const endIndex = delegate.indexOf(')') + 1;\n      const openBracketIndex = delegate.indexOf('(');\n      const parameters = delegate.substring(openBracketIndex + 1, endIndex - 1).split(/,\\s*/);\n      f.toFunctionAnnotation = () => ({\n        name: extraName,\n        parameters: cleanParameters(parameters)\n      });\n      return f;\n    };\n    const markAsSketchApi = (f, apiFunction) => {\n      const delegate = apiFunction.toString();\n      const endIndex = delegate.indexOf(')') + 1;\n      const openBracketIndex = delegate.indexOf('(');\n      const parameters = delegate.substring(openBracketIndex + 1, endIndex - 1).split(/,\\s*/);\n      f.toFunctionAnnotation = () => ({\n        name: 'OVERRIDE',\n        parameters: cleanParameters(parameters.slice(1))\n      });\n      return f;\n    };\n\n    const premadeTag = generate$6('alloy-premade');\n    const premade$1 = comp => {\n      Object.defineProperty(comp.element.dom, premadeTag, {\n        value: comp.uid,\n        writable: true\n      });\n      return wrap$1(premadeTag, comp);\n    };\n    const isPremade = element => has$2(element.dom, premadeTag);\n    const getPremade = spec => get$g(spec, premadeTag);\n    const makeApi = f => markAsSketchApi((component, ...rest) => f(component.getApis(), component, ...rest), f);\n\n    const NoState = {\n      init: () => nu$8({\n        readState: constant$1('No State required')\n      })\n    };\n    const nu$8 = spec => spec;\n\n    const generateFrom$1 = (spec, all) => {\n      const schema = map$2(all, a => optionObjOf(a.name(), [required$1('config'), defaulted('state', NoState)]));\n      const validated = asRaw('component.behaviours', objOf(schema), spec.behaviours).fold(errInfo => {\n        throw new Error(formatError(errInfo) + '\\nComplete spec:\\n' + JSON.stringify(spec, null, 2));\n      }, identity);\n      return {\n        list: all,\n        data: map$1(validated, optBlobThunk => {\n          const output = optBlobThunk.map(blob => ({\n            config: blob.config,\n            state: blob.state.init(blob.config)\n          }));\n          return constant$1(output);\n        })\n      };\n    };\n    const getBehaviours$3 = bData => bData.list;\n    const getData$2 = bData => bData.data;\n\n    const byInnerKey = (data, tuple) => {\n      const r = {};\n      each(data, (detail, key) => {\n        each(detail, (value, indexKey) => {\n          const chain = get$g(r, indexKey).getOr([]);\n          r[indexKey] = chain.concat([tuple(key, value)]);\n        });\n      });\n      return r;\n    };\n\n    const nu$7 = s => ({\n      classes: isUndefined(s.classes) ? [] : s.classes,\n      attributes: isUndefined(s.attributes) ? {} : s.attributes,\n      styles: isUndefined(s.styles) ? {} : s.styles\n    });\n    const merge = (defnA, mod) => ({\n      ...defnA,\n      attributes: {\n        ...defnA.attributes,\n        ...mod.attributes\n      },\n      styles: {\n        ...defnA.styles,\n        ...mod.styles\n      },\n      classes: defnA.classes.concat(mod.classes)\n    });\n\n    const combine$2 = (info, baseMod, behaviours, base) => {\n      const modsByBehaviour = {\n        ...baseMod\n      };\n      each$1(behaviours, behaviour => {\n        modsByBehaviour[behaviour.name()] = behaviour.exhibit(info, base);\n      });\n      const byAspect = byInnerKey(modsByBehaviour, (name, modification) => ({\n        name,\n        modification\n      }));\n      const combineObjects = objects => foldr(objects, (b, a) => ({\n        ...a.modification,\n        ...b\n      }), {});\n      const combinedClasses = foldr(byAspect.classes, (b, a) => a.modification.concat(b), []);\n      const combinedAttributes = combineObjects(byAspect.attributes);\n      const combinedStyles = combineObjects(byAspect.styles);\n      return nu$7({\n        classes: combinedClasses,\n        attributes: combinedAttributes,\n        styles: combinedStyles\n      });\n    };\n\n    const sortKeys = (label, keyName, array, order) => {\n      try {\n        const sorted = sort(array, (a, b) => {\n          const aKey = a[keyName];\n          const bKey = b[keyName];\n          const aIndex = order.indexOf(aKey);\n          const bIndex = order.indexOf(bKey);\n          if (aIndex === -1) {\n            throw new Error('The ordering for ' + label + ' does not have an entry for ' + aKey + '.\\nOrder specified: ' + JSON.stringify(order, null, 2));\n          }\n          if (bIndex === -1) {\n            throw new Error('The ordering for ' + label + ' does not have an entry for ' + bKey + '.\\nOrder specified: ' + JSON.stringify(order, null, 2));\n          }\n          if (aIndex < bIndex) {\n            return -1;\n          } else if (bIndex < aIndex) {\n            return 1;\n          } else {\n            return 0;\n          }\n        });\n        return Result.value(sorted);\n      } catch (err) {\n        return Result.error([err]);\n      }\n    };\n\n    const uncurried = (handler, purpose) => ({\n      handler,\n      purpose\n    });\n    const curried = (handler, purpose) => ({\n      cHandler: handler,\n      purpose\n    });\n    const curryArgs = (descHandler, extraArgs) => curried(curry.apply(undefined, [descHandler.handler].concat(extraArgs)), descHandler.purpose);\n    const getCurried = descHandler => descHandler.cHandler;\n\n    const behaviourTuple = (name, handler) => ({\n      name,\n      handler\n    });\n    const nameToHandlers = (behaviours, info) => {\n      const r = {};\n      each$1(behaviours, behaviour => {\n        r[behaviour.name()] = behaviour.handlers(info);\n      });\n      return r;\n    };\n    const groupByEvents = (info, behaviours, base) => {\n      const behaviourEvents = {\n        ...base,\n        ...nameToHandlers(behaviours, info)\n      };\n      return byInnerKey(behaviourEvents, behaviourTuple);\n    };\n    const combine$1 = (info, eventOrder, behaviours, base) => {\n      const byEventName = groupByEvents(info, behaviours, base);\n      return combineGroups(byEventName, eventOrder);\n    };\n    const assemble = rawHandler => {\n      const handler = read$2(rawHandler);\n      return (component, simulatedEvent, ...rest) => {\n        const args = [component, simulatedEvent].concat(rest);\n        if (handler.abort.apply(undefined, args)) {\n          simulatedEvent.stop();\n        } else if (handler.can.apply(undefined, args)) {\n          handler.run.apply(undefined, args);\n        }\n      };\n    };\n    const missingOrderError = (eventName, tuples) => Result.error(['The event (' + eventName + ') has more than one behaviour that listens to it.\\nWhen this occurs, you must ' + 'specify an event ordering for the behaviours in your spec (e.g. [ \"listing\", \"toggling\" ]).\\nThe behaviours that ' + 'can trigger it are: ' + JSON.stringify(map$2(tuples, c => c.name), null, 2)]);\n    const fuse = (tuples, eventOrder, eventName) => {\n      const order = eventOrder[eventName];\n      if (!order) {\n        return missingOrderError(eventName, tuples);\n      } else {\n        return sortKeys('Event: ' + eventName, 'name', tuples, order).map(sortedTuples => {\n          const handlers = map$2(sortedTuples, tuple => tuple.handler);\n          return fuse$1(handlers);\n        });\n      }\n    };\n    const combineGroups = (byEventName, eventOrder) => {\n      const r = mapToArray(byEventName, (tuples, eventName) => {\n        const combined = tuples.length === 1 ? Result.value(tuples[0].handler) : fuse(tuples, eventOrder, eventName);\n        return combined.map(handler => {\n          const assembled = assemble(handler);\n          const purpose = tuples.length > 1 ? filter$2(eventOrder[eventName], o => exists(tuples, t => t.name === o)).join(' > ') : tuples[0].name;\n          return wrap$1(eventName, uncurried(assembled, purpose));\n        });\n      });\n      return consolidate(r, {});\n    };\n\n    const baseBehaviour = 'alloy.base.behaviour';\n    const schema$z = objOf([field$1('dom', 'dom', required$2(), objOf([required$1('tag'), defaulted('styles', {}), defaulted('classes', []), defaulted('attributes', {}), option$3('value'), option$3('innerHtml')])), required$1('components'), required$1('uid'), defaulted('events', {}), defaulted('apis', {}), field$1('eventOrder', 'eventOrder', mergeWith({\n      [execute$5()]: ['disabling', baseBehaviour, 'toggling', 'typeaheadevents'],\n      [focus$4()]: [baseBehaviour, 'focusing', 'keying'],\n      [systemInit()]: [baseBehaviour, 'disabling', 'toggling', 'representing'],\n      [input()]: [baseBehaviour, 'representing', 'streaming', 'invalidating'],\n      [detachedFromDom()]: [baseBehaviour, 'representing', 'item-events', 'tooltipping'],\n      [mousedown()]: ['focusing', baseBehaviour, 'item-type-events'],\n      [touchstart()]: ['focusing', baseBehaviour, 'item-type-events'],\n      [mouseover()]: ['item-type-events', 'tooltipping'],\n      [receive()]: ['receiving', 'reflecting', 'tooltipping']\n    }), anyValue()), option$3('domModification')]);\n    const toInfo = spec => asRaw('custom.definition', schema$z, spec);\n    const toDefinition = detail => ({\n      ...detail.dom,\n      uid: detail.uid,\n      domChildren: map$2(detail.components, comp => comp.element)\n    });\n    const toModification = detail => detail.domModification.fold(() => nu$7({}), nu$7);\n    const toEvents = info => info.events;\n\n    const read = (element, attr) => {\n      const value = get$f(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$4 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set$9(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$4 = (element, attr, id) => {\n      const nu = filter$2(read(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set$9(element, attr, nu.join(' '));\n      } else {\n        remove$7(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get$8 = element => read(element, 'class');\n    const add$3 = (element, clazz) => add$4(element, 'class', clazz);\n    const remove$3 = (element, clazz) => remove$4(element, 'class', clazz);\n    const toggle$5 = (element, clazz) => {\n      if (contains$2(get$8(element), clazz)) {\n        return remove$3(element, clazz);\n      } else {\n        return add$3(element, clazz);\n      }\n    };\n\n    const add$2 = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$3(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get$8(element);\n      if (classList.length === 0) {\n        remove$7(element, 'class');\n      }\n    };\n    const remove$2 = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$3(element, clazz);\n      }\n      cleanClass(element);\n    };\n    const toggle$4 = (element, clazz) => {\n      const result = supports(element) ? element.dom.classList.toggle(clazz) : toggle$5(element, clazz);\n      cleanClass(element);\n      return result;\n    };\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const add$1 = (element, classes) => {\n      each$1(classes, x => {\n        add$2(element, x);\n      });\n    };\n    const remove$1 = (element, classes) => {\n      each$1(classes, x => {\n        remove$2(element, x);\n      });\n    };\n    const toggle$3 = (element, classes) => {\n      each$1(classes, x => {\n        toggle$4(element, x);\n      });\n    };\n    const hasAll = (element, classes) => forall(classes, clazz => has(element, clazz));\n    const getNative = element => {\n      const classList = element.dom.classList;\n      const r = new Array(classList.length);\n      for (let i = 0; i < classList.length; i++) {\n        const item = classList.item(i);\n        if (item !== null) {\n          r[i] = item;\n        }\n      }\n      return r;\n    };\n    const get$7 = element => supports(element) ? getNative(element) : get$8(element);\n\n    const get$6 = element => element.dom.value;\n    const set$5 = (element, value) => {\n      if (value === undefined) {\n        throw new Error('Value.set was undefined');\n      }\n      element.dom.value = value;\n    };\n\n    const determineObsoleted = (parent, index, oldObsoleted) => {\n      const newObsoleted = child$2(parent, index);\n      return newObsoleted.map(newObs => {\n        const elemChanged = oldObsoleted.exists(o => !eq(o, newObs));\n        if (elemChanged) {\n          const oldTag = oldObsoleted.map(name$3).getOr('span');\n          const marker = SugarElement.fromTag(oldTag);\n          before$1(newObs, marker);\n          return marker;\n        } else {\n          return newObs;\n        }\n      });\n    };\n    const ensureInDom = (parent, child, obsoleted) => {\n      obsoleted.fold(() => append$2(parent, child), obs => {\n        if (!eq(obs, child)) {\n          before$1(obs, child);\n          remove$5(obs);\n        }\n      });\n    };\n    const patchChildrenWith = (parent, nu, f) => {\n      const builtChildren = map$2(nu, f);\n      const currentChildren = children(parent);\n      each$1(currentChildren.slice(builtChildren.length), remove$5);\n      return builtChildren;\n    };\n    const patchSpecChild = (parent, index, spec, build) => {\n      const oldObsoleted = child$2(parent, index);\n      const childComp = build(spec, oldObsoleted);\n      const obsoleted = determineObsoleted(parent, index, oldObsoleted);\n      ensureInDom(parent, childComp.element, obsoleted);\n      return childComp;\n    };\n    const patchSpecChildren = (parent, specs, build) => patchChildrenWith(parent, specs, (spec, index) => patchSpecChild(parent, index, spec, build));\n    const patchDomChildren = (parent, nodes) => patchChildrenWith(parent, nodes, (node, index) => {\n      const optObsoleted = child$2(parent, index);\n      ensureInDom(parent, node, optObsoleted);\n      return node;\n    });\n\n    const diffKeyValueSet = (newObj, oldObj) => {\n      const newKeys = keys(newObj);\n      const oldKeys = keys(oldObj);\n      const toRemove = difference(oldKeys, newKeys);\n      const toSet = bifilter(newObj, (v, k) => {\n        return !has$2(oldObj, k) || v !== oldObj[k];\n      }).t;\n      return {\n        toRemove,\n        toSet\n      };\n    };\n    const reconcileToDom = (definition, obsoleted) => {\n      const {\n        class: clazz,\n        style,\n        ...existingAttributes\n      } = clone$2(obsoleted);\n      const {\n        toSet: attrsToSet,\n        toRemove: attrsToRemove\n      } = diffKeyValueSet(definition.attributes, existingAttributes);\n      const updateAttrs = () => {\n        each$1(attrsToRemove, a => remove$7(obsoleted, a));\n        setAll$1(obsoleted, attrsToSet);\n      };\n      const existingStyles = getAllRaw(obsoleted);\n      const {\n        toSet: stylesToSet,\n        toRemove: stylesToRemove\n      } = diffKeyValueSet(definition.styles, existingStyles);\n      const updateStyles = () => {\n        each$1(stylesToRemove, s => remove$6(obsoleted, s));\n        setAll(obsoleted, stylesToSet);\n      };\n      const existingClasses = get$7(obsoleted);\n      const classesToRemove = difference(existingClasses, definition.classes);\n      const classesToAdd = difference(definition.classes, existingClasses);\n      const updateClasses = () => {\n        add$1(obsoleted, classesToAdd);\n        remove$1(obsoleted, classesToRemove);\n      };\n      const updateHtml = html => {\n        set$6(obsoleted, html);\n      };\n      const updateChildren = () => {\n        const children = definition.domChildren;\n        patchDomChildren(obsoleted, children);\n      };\n      const updateValue = () => {\n        const valueElement = obsoleted;\n        const value = definition.value.getOrUndefined();\n        if (value !== get$6(valueElement)) {\n          set$5(valueElement, value !== null && value !== void 0 ? value : '');\n        }\n      };\n      updateAttrs();\n      updateClasses();\n      updateStyles();\n      definition.innerHtml.fold(updateChildren, updateHtml);\n      updateValue();\n      return obsoleted;\n    };\n\n    const introduceToDom = definition => {\n      const subject = SugarElement.fromTag(definition.tag);\n      setAll$1(subject, definition.attributes);\n      add$1(subject, definition.classes);\n      setAll(subject, definition.styles);\n      definition.innerHtml.each(html => set$6(subject, html));\n      const children = definition.domChildren;\n      append$1(subject, children);\n      definition.value.each(value => {\n        set$5(subject, value);\n      });\n      return subject;\n    };\n    const attemptPatch = (definition, obsoleted) => {\n      try {\n        const e = reconcileToDom(definition, obsoleted);\n        return Optional.some(e);\n      } catch (err) {\n        return Optional.none();\n      }\n    };\n    const hasMixedChildren = definition => definition.innerHtml.isSome() && definition.domChildren.length > 0;\n    const renderToDom = (definition, optObsoleted) => {\n      const canBePatched = candidate => name$3(candidate) === definition.tag && !hasMixedChildren(definition) && !isPremade(candidate);\n      const elem = optObsoleted.filter(canBePatched).bind(obsoleted => attemptPatch(definition, obsoleted)).getOrThunk(() => introduceToDom(definition));\n      writeOnly(elem, definition.uid);\n      return elem;\n    };\n\n    const getBehaviours$2 = spec => {\n      const behaviours = get$g(spec, 'behaviours').getOr({});\n      return bind$3(keys(behaviours), name => {\n        const behaviour = behaviours[name];\n        return isNonNullable(behaviour) ? [behaviour.me] : [];\n      });\n    };\n    const generateFrom = (spec, all) => generateFrom$1(spec, all);\n    const generate$4 = spec => {\n      const all = getBehaviours$2(spec);\n      return generateFrom(spec, all);\n    };\n\n    const getDomDefinition = (info, bList, bData) => {\n      const definition = toDefinition(info);\n      const infoModification = toModification(info);\n      const baseModification = {\n        'alloy.base.modification': infoModification\n      };\n      const modification = bList.length > 0 ? combine$2(bData, baseModification, bList, definition) : infoModification;\n      return merge(definition, modification);\n    };\n    const getEvents = (info, bList, bData) => {\n      const baseEvents = {\n        'alloy.base.behaviour': toEvents(info)\n      };\n      return combine$1(bData, info.eventOrder, bList, baseEvents).getOrDie();\n    };\n    const build$2 = (spec, obsoleted) => {\n      const getMe = () => me;\n      const systemApi = Cell(singleton$1);\n      const info = getOrDie(toInfo(spec));\n      const bBlob = generate$4(spec);\n      const bList = getBehaviours$3(bBlob);\n      const bData = getData$2(bBlob);\n      const modDefinition = getDomDefinition(info, bList, bData);\n      const item = renderToDom(modDefinition, obsoleted);\n      const events = getEvents(info, bList, bData);\n      const subcomponents = Cell(info.components);\n      const connect = newApi => {\n        systemApi.set(newApi);\n      };\n      const disconnect = () => {\n        systemApi.set(NoContextApi(getMe));\n      };\n      const syncComponents = () => {\n        const children$1 = children(item);\n        const subs = bind$3(children$1, child => systemApi.get().getByDom(child).fold(() => [], pure$2));\n        subcomponents.set(subs);\n      };\n      const config = behaviour => {\n        const b = bData;\n        const f = isFunction(b[behaviour.name()]) ? b[behaviour.name()] : () => {\n          throw new Error('Could not find ' + behaviour.name() + ' in ' + JSON.stringify(spec, null, 2));\n        };\n        return f();\n      };\n      const hasConfigured = behaviour => isFunction(bData[behaviour.name()]);\n      const getApis = () => info.apis;\n      const readState = behaviourName => bData[behaviourName]().map(b => b.state.readState()).getOr('not enabled');\n      const me = {\n        uid: spec.uid,\n        getSystem: systemApi.get,\n        config,\n        hasConfigured,\n        spec,\n        readState,\n        getApis,\n        connect,\n        disconnect,\n        element: item,\n        syncComponents,\n        components: subcomponents.get,\n        events\n      };\n      return me;\n    };\n\n    const buildSubcomponents = (spec, obsoleted) => {\n      const components = get$g(spec, 'components').getOr([]);\n      return obsoleted.fold(() => map$2(components, build$1), obs => map$2(components, (c, i) => {\n        return buildOrPatch(c, child$2(obs, i));\n      }));\n    };\n    const buildFromSpec = (userSpec, obsoleted) => {\n      const {\n        events: specEvents,\n        ...spec\n      } = make$8(userSpec);\n      const components = buildSubcomponents(spec, obsoleted);\n      const completeSpec = {\n        ...spec,\n        events: {\n          ...DefaultEvents,\n          ...specEvents\n        },\n        components\n      };\n      return Result.value(build$2(completeSpec, obsoleted));\n    };\n    const text$2 = textContent => {\n      const element = SugarElement.fromText(textContent);\n      return external$1({\n        element\n      });\n    };\n    const external$1 = spec => {\n      const extSpec = asRawOrDie$1('external.component', objOfOnly([required$1('element'), option$3('uid')]), spec);\n      const systemApi = Cell(NoContextApi());\n      const connect = newApi => {\n        systemApi.set(newApi);\n      };\n      const disconnect = () => {\n        systemApi.set(NoContextApi(() => me));\n      };\n      const uid = extSpec.uid.getOrThunk(() => generate$5('external'));\n      writeOnly(extSpec.element, uid);\n      const me = {\n        uid,\n        getSystem: systemApi.get,\n        config: Optional.none,\n        hasConfigured: never,\n        connect,\n        disconnect,\n        getApis: () => ({}),\n        element: extSpec.element,\n        spec,\n        readState: constant$1('No state'),\n        syncComponents: noop,\n        components: constant$1([]),\n        events: {}\n      };\n      return premade$1(me);\n    };\n    const uids = generate$5;\n    const isSketchSpec$1 = spec => has$2(spec, 'uid');\n    const buildOrPatch = (spec, obsoleted) => getPremade(spec).getOrThunk(() => {\n      const userSpecWithUid = isSketchSpec$1(spec) ? spec : {\n        uid: uids(''),\n        ...spec\n      };\n      return buildFromSpec(userSpecWithUid, obsoleted).getOrDie();\n    });\n    const build$1 = spec => buildOrPatch(spec, Optional.none());\n    const premade = premade$1;\n\n    var ClosestOrAncestor = ((is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    });\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$3 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$1, scope, predicate, isRoot);\n    };\n    const child$1 = (scope, predicate) => {\n      const pred = node => predicate(SugarElement.fromDom(node));\n      const result = find$5(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n    const descendant$1 = (scope, predicate) => {\n      const descend = node => {\n        for (let i = 0; i < node.childNodes.length; i++) {\n          const child = SugarElement.fromDom(node.childNodes[i]);\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(node.childNodes[i]);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope.dom);\n    };\n\n    const closest$2 = (scope, predicate, isRoot) => closest$3(scope, predicate, isRoot).isSome();\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is(e, selector), isRoot);\n    const child = (scope, selector) => child$1(scope, e => is(e, selector));\n    const descendant = (scope, selector) => one(selector, scope);\n    const closest$1 = (scope, selector, isRoot) => {\n      const is$1 = (element, selector) => is(element, selector);\n      return ClosestOrAncestor(is$1, ancestor, scope, selector, isRoot);\n    };\n\n    const attribute = 'aria-controls';\n    const find$1 = queryElem => {\n      const dependent = closest$3(queryElem, elem => {\n        if (!isElement$1(elem)) {\n          return false;\n        }\n        const id = get$f(elem, 'id');\n        return id !== undefined && id.indexOf(attribute) > -1;\n      });\n      return dependent.bind(dep => {\n        const id = get$f(dep, 'id');\n        const dos = getRootNode(dep);\n        return descendant(dos, \"[\".concat(attribute, \"=\\\"\").concat(id, \"\\\"]\"));\n      });\n    };\n    const manager = () => {\n      const ariaId = generate$6(attribute);\n      const link = elem => {\n        set$9(elem, attribute, ariaId);\n      };\n      const unlink = elem => {\n        remove$7(elem, attribute);\n      };\n      return {\n        id: ariaId,\n        link,\n        unlink\n      };\n    };\n\n    const isAriaPartOf = (component, queryElem) => find$1(queryElem).exists(owner => isPartOf$1(component, owner));\n    const isPartOf$1 = (component, queryElem) => closest$2(queryElem, el => eq(el, component.element), never) || isAriaPartOf(component, queryElem);\n\n    const unknown = 'unknown';\n    var EventConfiguration;\n    (function (EventConfiguration) {\n      EventConfiguration[EventConfiguration['STOP'] = 0] = 'STOP';\n      EventConfiguration[EventConfiguration['NORMAL'] = 1] = 'NORMAL';\n      EventConfiguration[EventConfiguration['LOGGING'] = 2] = 'LOGGING';\n    })(EventConfiguration || (EventConfiguration = {}));\n    const eventConfig = Cell({});\n    const makeEventLogger = (eventName, initialTarget) => {\n      const sequence = [];\n      const startTime = new Date().getTime();\n      return {\n        logEventCut: (_name, target, purpose) => {\n          sequence.push({\n            outcome: 'cut',\n            target,\n            purpose\n          });\n        },\n        logEventStopped: (_name, target, purpose) => {\n          sequence.push({\n            outcome: 'stopped',\n            target,\n            purpose\n          });\n        },\n        logNoParent: (_name, target, purpose) => {\n          sequence.push({\n            outcome: 'no-parent',\n            target,\n            purpose\n          });\n        },\n        logEventNoHandlers: (_name, target) => {\n          sequence.push({\n            outcome: 'no-handlers-left',\n            target\n          });\n        },\n        logEventResponse: (_name, target, purpose) => {\n          sequence.push({\n            outcome: 'response',\n            purpose,\n            target\n          });\n        },\n        write: () => {\n          const finishTime = new Date().getTime();\n          if (contains$2(['mousemove', 'mouseover', 'mouseout', systemInit()], eventName)) {\n            return;\n          }\n          console.log(eventName, {\n            event: eventName,\n            time: finishTime - startTime,\n            target: initialTarget.dom,\n            sequence: map$2(sequence, s => {\n              if (!contains$2(['cut', 'stopped', 'response'], s.outcome)) {\n                return s.outcome;\n              } else {\n                return '{' + s.purpose + '} ' + s.outcome + ' at (' + element(s.target) + ')';\n              }\n            })\n          });\n        }\n      };\n    };\n    const processEvent = (eventName, initialTarget, f) => {\n      const status = get$g(eventConfig.get(), eventName).orThunk(() => {\n        const patterns = keys(eventConfig.get());\n        return findMap(patterns, p => eventName.indexOf(p) > -1 ? Optional.some(eventConfig.get()[p]) : Optional.none());\n      }).getOr(EventConfiguration.NORMAL);\n      switch (status) {\n        case EventConfiguration.NORMAL:\n          return f(noLogger());\n        case EventConfiguration.LOGGING:\n          {\n            const logger = makeEventLogger(eventName, initialTarget);\n            const output = f(logger);\n            logger.write();\n            return output;\n          }\n        case EventConfiguration.STOP:\n          return true;\n      }\n    };\n    const path = ['alloy/data/Fields', 'alloy/debugging/Debugging'];\n    const getTrace = () => {\n      const err = new Error();\n      if (err.stack !== undefined) {\n        const lines = err.stack.split('\\n');\n        return find$5(lines, line => line.indexOf('alloy') > 0 && !exists(path, p => line.indexOf(p) > -1)).getOr(unknown);\n      } else {\n        return unknown;\n      }\n    };\n    const ignoreEvent = {\n      logEventCut: noop,\n      logEventStopped: noop,\n      logNoParent: noop,\n      logEventNoHandlers: noop,\n      logEventResponse: noop,\n      write: noop\n    };\n    const monitorEvent = (eventName, initialTarget, f) => processEvent(eventName, initialTarget, f);\n    const noLogger = constant$1(ignoreEvent);\n\n    const menuFields = constant$1([required$1('menu'), required$1('selectedMenu')]);\n    const itemFields = constant$1([required$1('item'), required$1('selectedItem')]);\n    constant$1(objOf(itemFields().concat(menuFields())));\n    const itemSchema$3 = constant$1(objOf(itemFields()));\n\n    const _initSize = requiredObjOf('initSize', [required$1('numColumns'), required$1('numRows')]);\n    const itemMarkers = () => requiredOf('markers', itemSchema$3());\n    const tieredMenuMarkers = () => requiredObjOf('markers', [required$1('backgroundMenu')].concat(menuFields()).concat(itemFields()));\n    const markers$1 = required => requiredObjOf('markers', map$2(required, required$1));\n    const onPresenceHandler = (label, fieldName, presence) => {\n      getTrace();\n      return field$1(fieldName, fieldName, presence, valueOf(f => Result.value((...args) => {\n        return f.apply(undefined, args);\n      })));\n    };\n    const onHandler = fieldName => onPresenceHandler('onHandler', fieldName, defaulted$1(noop));\n    const onKeyboardHandler = fieldName => onPresenceHandler('onKeyboardHandler', fieldName, defaulted$1(Optional.none));\n    const onStrictHandler = fieldName => onPresenceHandler('onHandler', fieldName, required$2());\n    const onStrictKeyboardHandler = fieldName => onPresenceHandler('onKeyboardHandler', fieldName, required$2());\n    const output$1 = (name, value) => customField(name, constant$1(value));\n    const snapshot = name => customField(name, identity);\n    const initSize = constant$1(_initSize);\n\n    const nu$6 = (x, y, bubble, direction, placement, boundsRestriction, labelPrefix, alwaysFit = false) => ({\n      x,\n      y,\n      bubble,\n      direction,\n      placement,\n      restriction: boundsRestriction,\n      label: \"\".concat(labelPrefix, \"-\").concat(placement),\n      alwaysFit\n    });\n\n    const adt$a = Adt.generate([{\n      southeast: []\n    }, {\n      southwest: []\n    }, {\n      northeast: []\n    }, {\n      northwest: []\n    }, {\n      south: []\n    }, {\n      north: []\n    }, {\n      east: []\n    }, {\n      west: []\n    }]);\n    const cata$2 = (subject, southeast, southwest, northeast, northwest, south, north, east, west) => subject.fold(southeast, southwest, northeast, northwest, south, north, east, west);\n    const cataVertical = (subject, south, middle, north) => subject.fold(south, south, north, north, south, north, middle, middle);\n    const cataHorizontal = (subject, east, middle, west) => subject.fold(east, west, east, west, middle, middle, east, west);\n    const southeast$3 = adt$a.southeast;\n    const southwest$3 = adt$a.southwest;\n    const northeast$3 = adt$a.northeast;\n    const northwest$3 = adt$a.northwest;\n    const south$3 = adt$a.south;\n    const north$3 = adt$a.north;\n    const east$3 = adt$a.east;\n    const west$3 = adt$a.west;\n\n    const cycleBy = (value, delta, min, max) => {\n      const r = value + delta;\n      if (r > max) {\n        return min;\n      } else if (r < min) {\n        return max;\n      } else {\n        return r;\n      }\n    };\n    const clamp = (value, min, max) => Math.min(Math.max(value, min), max);\n\n    const getRestriction = (anchor, restriction) => {\n      switch (restriction) {\n        case 1:\n          return anchor.x;\n        case 0:\n          return anchor.x + anchor.width;\n        case 2:\n          return anchor.y;\n        case 3:\n          return anchor.y + anchor.height;\n      }\n    };\n    const boundsRestriction = (anchor, restrictions) => mapToObject(['left', 'right', 'top', 'bottom'], dir => get$g(restrictions, dir).map(restriction => getRestriction(anchor, restriction)));\n    const adjustBounds = (bounds$1, restriction, bubbleOffset) => {\n      const applyRestriction = (dir, current) => restriction[dir].map(pos => {\n        const isVerticalAxis = dir === 'top' || dir === 'bottom';\n        const offset = isVerticalAxis ? bubbleOffset.top : bubbleOffset.left;\n        const comparator = dir === 'left' || dir === 'top' ? Math.max : Math.min;\n        const newPos = comparator(pos, current) + offset;\n        return isVerticalAxis ? clamp(newPos, bounds$1.y, bounds$1.bottom) : clamp(newPos, bounds$1.x, bounds$1.right);\n      }).getOr(current);\n      const adjustedLeft = applyRestriction('left', bounds$1.x);\n      const adjustedTop = applyRestriction('top', bounds$1.y);\n      const adjustedRight = applyRestriction('right', bounds$1.right);\n      const adjustedBottom = applyRestriction('bottom', bounds$1.bottom);\n      return bounds(adjustedLeft, adjustedTop, adjustedRight - adjustedLeft, adjustedBottom - adjustedTop);\n    };\n\n    const labelPrefix$2 = 'layout';\n    const eastX$1 = anchor => anchor.x;\n    const middleX$1 = (anchor, element) => anchor.x + anchor.width / 2 - element.width / 2;\n    const westX$1 = (anchor, element) => anchor.x + anchor.width - element.width;\n    const northY$2 = (anchor, element) => anchor.y - element.height;\n    const southY$2 = anchor => anchor.y + anchor.height;\n    const centreY$1 = (anchor, element) => anchor.y + anchor.height / 2 - element.height / 2;\n    const eastEdgeX$1 = anchor => anchor.x + anchor.width;\n    const westEdgeX$1 = (anchor, element) => anchor.x - element.width;\n    const southeast$2 = (anchor, element, bubbles) => nu$6(eastX$1(anchor), southY$2(anchor), bubbles.southeast(), southeast$3(), 'southeast', boundsRestriction(anchor, {\n      left: 1,\n      top: 3\n    }), labelPrefix$2);\n    const southwest$2 = (anchor, element, bubbles) => nu$6(westX$1(anchor, element), southY$2(anchor), bubbles.southwest(), southwest$3(), 'southwest', boundsRestriction(anchor, {\n      right: 0,\n      top: 3\n    }), labelPrefix$2);\n    const northeast$2 = (anchor, element, bubbles) => nu$6(eastX$1(anchor), northY$2(anchor, element), bubbles.northeast(), northeast$3(), 'northeast', boundsRestriction(anchor, {\n      left: 1,\n      bottom: 2\n    }), labelPrefix$2);\n    const northwest$2 = (anchor, element, bubbles) => nu$6(westX$1(anchor, element), northY$2(anchor, element), bubbles.northwest(), northwest$3(), 'northwest', boundsRestriction(anchor, {\n      right: 0,\n      bottom: 2\n    }), labelPrefix$2);\n    const north$2 = (anchor, element, bubbles) => nu$6(middleX$1(anchor, element), northY$2(anchor, element), bubbles.north(), north$3(), 'north', boundsRestriction(anchor, {\n      bottom: 2\n    }), labelPrefix$2);\n    const south$2 = (anchor, element, bubbles) => nu$6(middleX$1(anchor, element), southY$2(anchor), bubbles.south(), south$3(), 'south', boundsRestriction(anchor, {\n      top: 3\n    }), labelPrefix$2);\n    const east$2 = (anchor, element, bubbles) => nu$6(eastEdgeX$1(anchor), centreY$1(anchor, element), bubbles.east(), east$3(), 'east', boundsRestriction(anchor, {\n      left: 0\n    }), labelPrefix$2);\n    const west$2 = (anchor, element, bubbles) => nu$6(westEdgeX$1(anchor, element), centreY$1(anchor, element), bubbles.west(), west$3(), 'west', boundsRestriction(anchor, {\n      right: 1\n    }), labelPrefix$2);\n    const all$1 = () => [southeast$2, southwest$2, northeast$2, northwest$2, south$2, north$2, east$2, west$2];\n    const allRtl$1 = () => [southwest$2, southeast$2, northwest$2, northeast$2, south$2, north$2, east$2, west$2];\n    const aboveOrBelow = () => [northeast$2, northwest$2, southeast$2, southwest$2, north$2, south$2];\n    const aboveOrBelowRtl = () => [northwest$2, northeast$2, southwest$2, southeast$2, north$2, south$2];\n    const belowOrAbove = () => [southeast$2, southwest$2, northeast$2, northwest$2, south$2, north$2];\n    const belowOrAboveRtl = () => [southwest$2, southeast$2, northwest$2, northeast$2, south$2, north$2];\n\n    const chooseChannels = (channels, message) => message.universal ? channels : filter$2(channels, ch => contains$2(message.channels, ch));\n    const events$h = receiveConfig => derive$2([run$1(receive(), (component, message) => {\n      const channelMap = receiveConfig.channels;\n      const channels = keys(channelMap);\n      const receivingData = message;\n      const targetChannels = chooseChannels(channels, receivingData);\n      each$1(targetChannels, ch => {\n        const channelInfo = channelMap[ch];\n        const channelSchema = channelInfo.schema;\n        const data = asRawOrDie$1('channel[' + ch + '] data\\nReceiver: ' + element(component.element), channelSchema, receivingData.data);\n        channelInfo.onReceive(component, data);\n      });\n    })]);\n\n    var ActiveReceiving = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$h\n    });\n\n    var ReceivingSchema = [requiredOf('channels', setOf(Result.value, objOfOnly([onStrictHandler('onReceive'), defaulted('schema', anyValue())])))];\n\n    const executeEvent = (bConfig, bState, executor) => runOnExecute$1(component => {\n      executor(component, bConfig, bState);\n    });\n    const loadEvent = (bConfig, bState, f) => runOnInit((component, _simulatedEvent) => {\n      f(component, bConfig, bState);\n    });\n    const create$5 = (schema, name, active, apis, extra, state) => {\n      const configSchema = objOfOnly(schema);\n      const schemaSchema = optionObjOf(name, [optionObjOfOnly('config', schema)]);\n      return doCreate(configSchema, schemaSchema, name, active, apis, extra, state);\n    };\n    const createModes$1 = (modes, name, active, apis, extra, state) => {\n      const configSchema = modes;\n      const schemaSchema = optionObjOf(name, [optionOf('config', modes)]);\n      return doCreate(configSchema, schemaSchema, name, active, apis, extra, state);\n    };\n    const wrapApi = (bName, apiFunction, apiName) => {\n      const f = (component, ...rest) => {\n        const args = [component].concat(rest);\n        return component.config({\n          name: constant$1(bName)\n        }).fold(() => {\n          throw new Error('We could not find any behaviour configuration for: ' + bName + '. Using API: ' + apiName);\n        }, info => {\n          const rest = Array.prototype.slice.call(args, 1);\n          return apiFunction.apply(undefined, [component, info.config, info.state].concat(rest));\n        });\n      };\n      return markAsBehaviourApi(f, apiName, apiFunction);\n    };\n    const revokeBehaviour = name => ({\n      key: name,\n      value: undefined\n    });\n    const doCreate = (configSchema, schemaSchema, name, active, apis, extra, state) => {\n      const getConfig = info => hasNonNullableKey(info, name) ? info[name]() : Optional.none();\n      const wrappedApis = map$1(apis, (apiF, apiName) => wrapApi(name, apiF, apiName));\n      const wrappedExtra = map$1(extra, (extraF, extraName) => markAsExtraApi(extraF, extraName));\n      const me = {\n        ...wrappedExtra,\n        ...wrappedApis,\n        revoke: curry(revokeBehaviour, name),\n        config: spec => {\n          const prepared = asRawOrDie$1(name + '-config', configSchema, spec);\n          return {\n            key: name,\n            value: {\n              config: prepared,\n              me,\n              configAsRaw: cached(() => asRawOrDie$1(name + '-config', configSchema, spec)),\n              initialConfig: spec,\n              state\n            }\n          };\n        },\n        schema: constant$1(schemaSchema),\n        exhibit: (info, base) => {\n          return lift2(getConfig(info), get$g(active, 'exhibit'), (behaviourInfo, exhibitor) => {\n            return exhibitor(base, behaviourInfo.config, behaviourInfo.state);\n          }).getOrThunk(() => nu$7({}));\n        },\n        name: constant$1(name),\n        handlers: info => {\n          return getConfig(info).map(behaviourInfo => {\n            const getEvents = get$g(active, 'events').getOr(() => ({}));\n            return getEvents(behaviourInfo.config, behaviourInfo.state);\n          }).getOr({});\n        }\n      };\n      return me;\n    };\n\n    const derive$1 = capabilities => wrapAll(capabilities);\n    const simpleSchema = objOfOnly([required$1('fields'), required$1('name'), defaulted('active', {}), defaulted('apis', {}), defaulted('state', NoState), defaulted('extra', {})]);\n    const create$4 = data => {\n      const value = asRawOrDie$1('Creating behaviour: ' + data.name, simpleSchema, data);\n      return create$5(value.fields, value.name, value.active, value.apis, value.extra, value.state);\n    };\n    const modeSchema = objOfOnly([required$1('branchKey'), required$1('branches'), required$1('name'), defaulted('active', {}), defaulted('apis', {}), defaulted('state', NoState), defaulted('extra', {})]);\n    const createModes = data => {\n      const value = asRawOrDie$1('Creating behaviour: ' + data.name, modeSchema, data);\n      return createModes$1(choose$1(value.branchKey, value.branches), value.name, value.active, value.apis, value.extra, value.state);\n    };\n    const revoke = constant$1(undefined);\n\n    const Receiving = create$4({\n      fields: ReceivingSchema,\n      name: 'receiving',\n      active: ActiveReceiving\n    });\n\n    const exhibit$6 = (base, posConfig) => nu$7({\n      classes: [],\n      styles: posConfig.useFixed() ? {} : {\n        position: 'relative'\n      }\n    });\n\n    var ActivePosition = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit$6\n    });\n\n    const focus$3 = (element, preventScroll = false) => element.dom.focus({\n      preventScroll\n    });\n    const blur$1 = element => element.dom.blur();\n    const hasFocus = element => {\n      const root = getRootNode(element).dom;\n      return element.dom === root.activeElement;\n    };\n    const active$1 = (root = getDocument()) => Optional.from(root.dom.activeElement).map(SugarElement.fromDom);\n    const search = element => active$1(getRootNode(element)).filter(e => element.dom.contains(e.dom));\n\n    const preserve$1 = (f, container) => {\n      const dos = getRootNode(container);\n      const refocus = active$1(dos).bind(focused => {\n        const hasFocus = elem => eq(focused, elem);\n        return hasFocus(container) ? Optional.some(container) : descendant$1(container, hasFocus);\n      });\n      const result = f(container);\n      refocus.each(oldFocus => {\n        active$1(dos).filter(newFocus => eq(newFocus, oldFocus)).fold(() => {\n          focus$3(oldFocus);\n        }, noop);\n      });\n      return result;\n    };\n\n    const NuPositionCss = (position, left, top, right, bottom) => {\n      const toPx = num => num + 'px';\n      return {\n        position,\n        left: left.map(toPx),\n        top: top.map(toPx),\n        right: right.map(toPx),\n        bottom: bottom.map(toPx)\n      };\n    };\n    const toOptions = position => ({\n      ...position,\n      position: Optional.some(position.position)\n    });\n    const applyPositionCss = (element, position) => {\n      setOptions(element, toOptions(position));\n    };\n\n    const adt$9 = Adt.generate([{\n      none: []\n    }, {\n      relative: ['x', 'y', 'width', 'height']\n    }, {\n      fixed: ['x', 'y', 'width', 'height']\n    }]);\n    const positionWithDirection = (posName, decision, x, y, width, height) => {\n      const decisionRect = decision.rect;\n      const decisionX = decisionRect.x - x;\n      const decisionY = decisionRect.y - y;\n      const decisionWidth = decisionRect.width;\n      const decisionHeight = decisionRect.height;\n      const decisionRight = width - (decisionX + decisionWidth);\n      const decisionBottom = height - (decisionY + decisionHeight);\n      const left = Optional.some(decisionX);\n      const top = Optional.some(decisionY);\n      const right = Optional.some(decisionRight);\n      const bottom = Optional.some(decisionBottom);\n      const none = Optional.none();\n      return cata$2(decision.direction, () => NuPositionCss(posName, left, top, none, none), () => NuPositionCss(posName, none, top, right, none), () => NuPositionCss(posName, left, none, none, bottom), () => NuPositionCss(posName, none, none, right, bottom), () => NuPositionCss(posName, left, top, none, none), () => NuPositionCss(posName, left, none, none, bottom), () => NuPositionCss(posName, left, top, none, none), () => NuPositionCss(posName, none, top, right, none));\n    };\n    const reposition = (origin, decision) => origin.fold(() => {\n      const decisionRect = decision.rect;\n      return NuPositionCss('absolute', Optional.some(decisionRect.x), Optional.some(decisionRect.y), Optional.none(), Optional.none());\n    }, (x, y, width, height) => {\n      return positionWithDirection('absolute', decision, x, y, width, height);\n    }, (x, y, width, height) => {\n      return positionWithDirection('fixed', decision, x, y, width, height);\n    });\n    const toBox = (origin, element) => {\n      const rel = curry(find$2, element);\n      const position = origin.fold(rel, rel, () => {\n        const scroll = get$b();\n        return find$2(element).translate(-scroll.left, -scroll.top);\n      });\n      const width = getOuter$1(element);\n      const height = getOuter$2(element);\n      return bounds(position.left, position.top, width, height);\n    };\n    const viewport = (origin, optBounds) => optBounds.fold(() => origin.fold(win, win, bounds), bounds$1 => origin.fold(constant$1(bounds$1), constant$1(bounds$1), () => {\n      const pos = translate$2(origin, bounds$1.x, bounds$1.y);\n      return bounds(pos.left, pos.top, bounds$1.width, bounds$1.height);\n    }));\n    const translate$2 = (origin, x, y) => {\n      const pos = SugarPosition(x, y);\n      const removeScroll = () => {\n        const outerScroll = get$b();\n        return pos.translate(-outerScroll.left, -outerScroll.top);\n      };\n      return origin.fold(constant$1(pos), constant$1(pos), removeScroll);\n    };\n    const cata$1 = (subject, onNone, onRelative, onFixed) => subject.fold(onNone, onRelative, onFixed);\n    adt$9.none;\n    const relative$1 = adt$9.relative;\n    const fixed$1 = adt$9.fixed;\n\n    const anchor = (anchorBox, origin) => ({\n      anchorBox,\n      origin\n    });\n    const box = (anchorBox, origin) => anchor(anchorBox, origin);\n\n    const placementAttribute = 'data-alloy-placement';\n    const setPlacement$1 = (element, placement) => {\n      set$9(element, placementAttribute, placement);\n    };\n    const getPlacement = element => getOpt(element, placementAttribute);\n    const reset$2 = element => remove$7(element, placementAttribute);\n\n    const adt$8 = Adt.generate([{\n      fit: ['reposition']\n    }, {\n      nofit: ['reposition', 'visibleW', 'visibleH', 'isVisible']\n    }]);\n    const determinePosition = (box, bounds) => {\n      const {\n        x: boundsX,\n        y: boundsY,\n        right: boundsRight,\n        bottom: boundsBottom\n      } = bounds;\n      const {\n        x,\n        y,\n        right,\n        bottom,\n        width,\n        height\n      } = box;\n      const xInBounds = x >= boundsX && x <= boundsRight;\n      const yInBounds = y >= boundsY && y <= boundsBottom;\n      const originInBounds = xInBounds && yInBounds;\n      const rightInBounds = right <= boundsRight && right >= boundsX;\n      const bottomInBounds = bottom <= boundsBottom && bottom >= boundsY;\n      const sizeInBounds = rightInBounds && bottomInBounds;\n      const visibleW = Math.min(width, x >= boundsX ? boundsRight - x : right - boundsX);\n      const visibleH = Math.min(height, y >= boundsY ? boundsBottom - y : bottom - boundsY);\n      return {\n        originInBounds,\n        sizeInBounds,\n        visibleW,\n        visibleH\n      };\n    };\n    const calcReposition = (box, bounds$1) => {\n      const {\n        x: boundsX,\n        y: boundsY,\n        right: boundsRight,\n        bottom: boundsBottom\n      } = bounds$1;\n      const {\n        x,\n        y,\n        width,\n        height\n      } = box;\n      const maxX = Math.max(boundsX, boundsRight - width);\n      const maxY = Math.max(boundsY, boundsBottom - height);\n      const restrictedX = clamp(x, boundsX, maxX);\n      const restrictedY = clamp(y, boundsY, maxY);\n      const restrictedWidth = Math.min(restrictedX + width, boundsRight) - restrictedX;\n      const restrictedHeight = Math.min(restrictedY + height, boundsBottom) - restrictedY;\n      return bounds(restrictedX, restrictedY, restrictedWidth, restrictedHeight);\n    };\n    const calcMaxSizes = (direction, box, bounds) => {\n      const upAvailable = constant$1(box.bottom - bounds.y);\n      const downAvailable = constant$1(bounds.bottom - box.y);\n      const maxHeight = cataVertical(direction, downAvailable, downAvailable, upAvailable);\n      const westAvailable = constant$1(box.right - bounds.x);\n      const eastAvailable = constant$1(bounds.right - box.x);\n      const maxWidth = cataHorizontal(direction, eastAvailable, eastAvailable, westAvailable);\n      return {\n        maxWidth,\n        maxHeight\n      };\n    };\n    const attempt = (candidate, width, height, bounds$1) => {\n      const bubble = candidate.bubble;\n      const bubbleOffset = bubble.offset;\n      const adjustedBounds = adjustBounds(bounds$1, candidate.restriction, bubbleOffset);\n      const newX = candidate.x + bubbleOffset.left;\n      const newY = candidate.y + bubbleOffset.top;\n      const box = bounds(newX, newY, width, height);\n      const {\n        originInBounds,\n        sizeInBounds,\n        visibleW,\n        visibleH\n      } = determinePosition(box, adjustedBounds);\n      const fits = originInBounds && sizeInBounds;\n      const fittedBox = fits ? box : calcReposition(box, adjustedBounds);\n      const isPartlyVisible = fittedBox.width > 0 && fittedBox.height > 0;\n      const {\n        maxWidth,\n        maxHeight\n      } = calcMaxSizes(candidate.direction, fittedBox, bounds$1);\n      const reposition = {\n        rect: fittedBox,\n        maxHeight,\n        maxWidth,\n        direction: candidate.direction,\n        placement: candidate.placement,\n        classes: {\n          on: bubble.classesOn,\n          off: bubble.classesOff\n        },\n        layout: candidate.label,\n        testY: newY\n      };\n      return fits || candidate.alwaysFit ? adt$8.fit(reposition) : adt$8.nofit(reposition, visibleW, visibleH, isPartlyVisible);\n    };\n    const attempts = (element, candidates, anchorBox, elementBox, bubbles, bounds) => {\n      const panelWidth = elementBox.width;\n      const panelHeight = elementBox.height;\n      const attemptBestFit = (layout, reposition, visibleW, visibleH, isVisible) => {\n        const next = layout(anchorBox, elementBox, bubbles, element, bounds);\n        const attemptLayout = attempt(next, panelWidth, panelHeight, bounds);\n        return attemptLayout.fold(constant$1(attemptLayout), (newReposition, newVisibleW, newVisibleH, newIsVisible) => {\n          const improved = isVisible === newIsVisible ? newVisibleH > visibleH || newVisibleW > visibleW : !isVisible && newIsVisible;\n          return improved ? attemptLayout : adt$8.nofit(reposition, visibleW, visibleH, isVisible);\n        });\n      };\n      const abc = foldl(candidates, (b, a) => {\n        const bestNext = curry(attemptBestFit, a);\n        return b.fold(constant$1(b), bestNext);\n      }, adt$8.nofit({\n        rect: anchorBox,\n        maxHeight: elementBox.height,\n        maxWidth: elementBox.width,\n        direction: southeast$3(),\n        placement: 'southeast',\n        classes: {\n          on: [],\n          off: []\n        },\n        layout: 'none',\n        testY: anchorBox.y\n      }, -1, -1, false));\n      return abc.fold(identity, identity);\n    };\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const destroyable = () => singleton(s => s.destroy());\n    const unbindable = () => singleton(s => s.unbind());\n    const value$2 = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const filter = always;\n    const bind = (element, event, handler) => bind$2(element, event, filter, handler);\n    const capture = (element, event, handler) => capture$1(element, event, filter, handler);\n    const fromRawEvent = fromRawEvent$1;\n\n    const properties = ['top', 'bottom', 'right', 'left'];\n    const timerAttr = 'data-alloy-transition-timer';\n    const isTransitioning$1 = (element, transition) => hasAll(element, transition.classes);\n    const shouldApplyTransitionCss = (transition, decision, lastPlacement) => {\n      return lastPlacement.exists(placer => {\n        const mode = transition.mode;\n        return mode === 'all' ? true : placer[mode] !== decision[mode];\n      });\n    };\n    const hasChanges = (position, intermediate) => {\n      const round = value => parseFloat(value).toFixed(3);\n      return find$4(intermediate, (value, key) => {\n        const newValue = position[key].map(round);\n        const val = value.map(round);\n        return !equals(newValue, val);\n      }).isSome();\n    };\n    const getTransitionDuration = element => {\n      const get = name => {\n        const style = get$e(element, name);\n        const times = style.split(/\\s*,\\s*/);\n        return filter$2(times, isNotEmpty);\n      };\n      const parse = value => {\n        if (isString(value) && /^[\\d.]+/.test(value)) {\n          const num = parseFloat(value);\n          return endsWith(value, 'ms') ? num : num * 1000;\n        } else {\n          return 0;\n        }\n      };\n      const delay = get('transition-delay');\n      const duration = get('transition-duration');\n      return foldl(duration, (acc, dur, i) => {\n        const time = parse(delay[i]) + parse(dur);\n        return Math.max(acc, time);\n      }, 0);\n    };\n    const setupTransitionListeners = (element, transition) => {\n      const transitionEnd = unbindable();\n      const transitionCancel = unbindable();\n      let timer;\n      const isSourceTransition = e => {\n        var _a;\n        const pseudoElement = (_a = e.raw.pseudoElement) !== null && _a !== void 0 ? _a : '';\n        return eq(e.target, element) && isEmpty(pseudoElement) && contains$2(properties, e.raw.propertyName);\n      };\n      const transitionDone = e => {\n        if (isNullable(e) || isSourceTransition(e)) {\n          transitionEnd.clear();\n          transitionCancel.clear();\n          const type = e === null || e === void 0 ? void 0 : e.raw.type;\n          if (isNullable(type) || type === transitionend()) {\n            clearTimeout(timer);\n            remove$7(element, timerAttr);\n            remove$1(element, transition.classes);\n          }\n        }\n      };\n      const transitionStart = bind(element, transitionstart(), e => {\n        if (isSourceTransition(e)) {\n          transitionStart.unbind();\n          transitionEnd.set(bind(element, transitionend(), transitionDone));\n          transitionCancel.set(bind(element, transitioncancel(), transitionDone));\n        }\n      });\n      const duration = getTransitionDuration(element);\n      requestAnimationFrame(() => {\n        timer = setTimeout(transitionDone, duration + 17);\n        set$9(element, timerAttr, timer);\n      });\n    };\n    const startTransitioning = (element, transition) => {\n      add$1(element, transition.classes);\n      getOpt(element, timerAttr).each(timerId => {\n        clearTimeout(parseInt(timerId, 10));\n        remove$7(element, timerAttr);\n      });\n      setupTransitionListeners(element, transition);\n    };\n    const applyTransitionCss = (element, origin, position, transition, decision, lastPlacement) => {\n      const shouldTransition = shouldApplyTransitionCss(transition, decision, lastPlacement);\n      if (shouldTransition || isTransitioning$1(element, transition)) {\n        set$8(element, 'position', position.position);\n        const rect = toBox(origin, element);\n        const intermediatePosition = reposition(origin, {\n          ...decision,\n          rect\n        });\n        const intermediateCssOptions = mapToObject(properties, prop => intermediatePosition[prop]);\n        if (hasChanges(position, intermediateCssOptions)) {\n          setOptions(element, intermediateCssOptions);\n          if (shouldTransition) {\n            startTransitioning(element, transition);\n          }\n          reflow(element);\n        }\n      } else {\n        remove$1(element, transition.classes);\n      }\n    };\n\n    const elementSize = p => ({\n      width: getOuter$1(p),\n      height: getOuter$2(p)\n    });\n    const layout = (anchorBox, element, bubbles, options) => {\n      remove$6(element, 'max-height');\n      remove$6(element, 'max-width');\n      const elementBox = elementSize(element);\n      return attempts(element, options.preference, anchorBox, elementBox, bubbles, options.bounds);\n    };\n    const setClasses = (element, decision) => {\n      const classInfo = decision.classes;\n      remove$1(element, classInfo.off);\n      add$1(element, classInfo.on);\n    };\n    const setHeight = (element, decision, options) => {\n      const maxHeightFunction = options.maxHeightFunction;\n      maxHeightFunction(element, decision.maxHeight);\n    };\n    const setWidth = (element, decision, options) => {\n      const maxWidthFunction = options.maxWidthFunction;\n      maxWidthFunction(element, decision.maxWidth);\n    };\n    const position$2 = (element, decision, options) => {\n      const positionCss = reposition(options.origin, decision);\n      options.transition.each(transition => {\n        applyTransitionCss(element, options.origin, positionCss, transition, decision, options.lastPlacement);\n      });\n      applyPositionCss(element, positionCss);\n    };\n    const setPlacement = (element, decision) => {\n      setPlacement$1(element, decision.placement);\n    };\n\n    const setMaxHeight = (element, maxHeight) => {\n      setMax$1(element, Math.floor(maxHeight));\n    };\n    const anchored = constant$1((element, available) => {\n      setMaxHeight(element, available);\n      setAll(element, {\n        'overflow-x': 'hidden',\n        'overflow-y': 'auto'\n      });\n    });\n    const expandable$1 = constant$1((element, available) => {\n      setMaxHeight(element, available);\n    });\n\n    const defaultOr = (options, key, dephault) => options[key] === undefined ? dephault : options[key];\n    const simple = (anchor, element, bubble, layouts, lastPlacement, optBounds, overrideOptions, transition) => {\n      const maxHeightFunction = defaultOr(overrideOptions, 'maxHeightFunction', anchored());\n      const maxWidthFunction = defaultOr(overrideOptions, 'maxWidthFunction', noop);\n      const anchorBox = anchor.anchorBox;\n      const origin = anchor.origin;\n      const options = {\n        bounds: viewport(origin, optBounds),\n        origin,\n        preference: layouts,\n        maxHeightFunction,\n        maxWidthFunction,\n        lastPlacement,\n        transition\n      };\n      return go(anchorBox, element, bubble, options);\n    };\n    const go = (anchorBox, element, bubble, options) => {\n      const decision = layout(anchorBox, element, bubble, options);\n      position$2(element, decision, options);\n      setPlacement(element, decision);\n      setClasses(element, decision);\n      setHeight(element, decision, options);\n      setWidth(element, decision, options);\n      return {\n        layout: decision.layout,\n        placement: decision.placement\n      };\n    };\n\n    const allAlignments = ['valignCentre', 'alignLeft', 'alignRight', 'alignCentre', 'top', 'bottom', 'left', 'right', 'inset'];\n    const nu$5 = (xOffset, yOffset, classes, insetModifier = 1) => {\n      const insetXOffset = xOffset * insetModifier;\n      const insetYOffset = yOffset * insetModifier;\n      const getClasses = prop => get$g(classes, prop).getOr([]);\n      const make = (xDelta, yDelta, alignmentsOn) => {\n        const alignmentsOff = difference(allAlignments, alignmentsOn);\n        return {\n          offset: SugarPosition(xDelta, yDelta),\n          classesOn: bind$3(alignmentsOn, getClasses),\n          classesOff: bind$3(alignmentsOff, getClasses)\n        };\n      };\n      return {\n        southeast: () => make(-xOffset, yOffset, ['top', 'alignLeft']),\n        southwest: () => make(xOffset, yOffset, ['top', 'alignRight']),\n        south: () => make(-xOffset / 2, yOffset, ['top', 'alignCentre']),\n        northeast: () => make(-xOffset, -yOffset, ['bottom', 'alignLeft']),\n        northwest: () => make(xOffset, -yOffset, ['bottom', 'alignRight']),\n        north: () => make(-xOffset / 2, -yOffset, ['bottom', 'alignCentre']),\n        east: () => make(xOffset, -yOffset / 2, ['valignCentre', 'left']),\n        west: () => make(-xOffset, -yOffset / 2, ['valignCentre', 'right']),\n        insetNortheast: () => make(insetXOffset, insetYOffset, ['top', 'alignLeft', 'inset']),\n        insetNorthwest: () => make(-insetXOffset, insetYOffset, ['top', 'alignRight', 'inset']),\n        insetNorth: () => make(-insetXOffset / 2, insetYOffset, ['top', 'alignCentre', 'inset']),\n        insetSoutheast: () => make(insetXOffset, -insetYOffset, ['bottom', 'alignLeft', 'inset']),\n        insetSouthwest: () => make(-insetXOffset, -insetYOffset, ['bottom', 'alignRight', 'inset']),\n        insetSouth: () => make(-insetXOffset / 2, -insetYOffset, ['bottom', 'alignCentre', 'inset']),\n        insetEast: () => make(-insetXOffset, -insetYOffset / 2, ['valignCentre', 'right', 'inset']),\n        insetWest: () => make(insetXOffset, -insetYOffset / 2, ['valignCentre', 'left', 'inset'])\n      };\n    };\n    const fallback = () => nu$5(0, 0, {});\n\n    const nu$4 = identity;\n\n    const onDirection = (isLtr, isRtl) => element => getDirection(element) === 'rtl' ? isRtl : isLtr;\n    const getDirection = element => get$e(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';\n\n    var AttributeValue;\n    (function (AttributeValue) {\n      AttributeValue['TopToBottom'] = 'toptobottom';\n      AttributeValue['BottomToTop'] = 'bottomtotop';\n    })(AttributeValue || (AttributeValue = {}));\n    const Attribute = 'data-alloy-vertical-dir';\n    const isBottomToTopDir = el => closest$2(el, current => isElement$1(current) && get$f(current, 'data-alloy-vertical-dir') === AttributeValue.BottomToTop);\n\n    const schema$y = () => optionObjOf('layouts', [required$1('onLtr'), required$1('onRtl'), option$3('onBottomLtr'), option$3('onBottomRtl')]);\n    const get$5 = (elem, info, defaultLtr, defaultRtl, defaultBottomLtr, defaultBottomRtl, dirElement) => {\n      const isBottomToTop = dirElement.map(isBottomToTopDir).getOr(false);\n      const customLtr = info.layouts.map(ls => ls.onLtr(elem));\n      const customRtl = info.layouts.map(ls => ls.onRtl(elem));\n      const ltr = isBottomToTop ? info.layouts.bind(ls => ls.onBottomLtr.map(f => f(elem))).or(customLtr).getOr(defaultBottomLtr) : customLtr.getOr(defaultLtr);\n      const rtl = isBottomToTop ? info.layouts.bind(ls => ls.onBottomRtl.map(f => f(elem))).or(customRtl).getOr(defaultBottomRtl) : customRtl.getOr(defaultRtl);\n      const f = onDirection(ltr, rtl);\n      return f(elem);\n    };\n\n    const placement$4 = (component, anchorInfo, origin) => {\n      const hotspot = anchorInfo.hotspot;\n      const anchorBox = toBox(origin, hotspot.element);\n      const layouts = get$5(component.element, anchorInfo, belowOrAbove(), belowOrAboveRtl(), aboveOrBelow(), aboveOrBelowRtl(), Optional.some(anchorInfo.hotspot.element));\n      return Optional.some(nu$4({\n        anchorBox,\n        bubble: anchorInfo.bubble.getOr(fallback()),\n        overrides: anchorInfo.overrides,\n        layouts\n      }));\n    };\n    var HotspotAnchor = [required$1('hotspot'), option$3('bubble'), defaulted('overrides', {}), schema$y(), output$1('placement', placement$4)];\n\n    const placement$3 = (component, anchorInfo, origin) => {\n      const pos = translate$2(origin, anchorInfo.x, anchorInfo.y);\n      const anchorBox = bounds(pos.left, pos.top, anchorInfo.width, anchorInfo.height);\n      const layouts = get$5(component.element, anchorInfo, all$1(), allRtl$1(), all$1(), allRtl$1(), Optional.none());\n      return Optional.some(nu$4({\n        anchorBox,\n        bubble: anchorInfo.bubble,\n        overrides: anchorInfo.overrides,\n        layouts\n      }));\n    };\n    var MakeshiftAnchor = [required$1('x'), required$1('y'), defaulted('height', 0), defaulted('width', 0), defaulted('bubble', fallback()), defaulted('overrides', {}), schema$y(), output$1('placement', placement$3)];\n\n    const adt$7 = Adt.generate([{\n      screen: ['point']\n    }, {\n      absolute: ['point', 'scrollLeft', 'scrollTop']\n    }]);\n    const toFixed = pos => pos.fold(identity, (point, scrollLeft, scrollTop) => point.translate(-scrollLeft, -scrollTop));\n    const toAbsolute = pos => pos.fold(identity, identity);\n    const sum = points => foldl(points, (b, a) => b.translate(a.left, a.top), SugarPosition(0, 0));\n    const sumAsFixed = positions => {\n      const points = map$2(positions, toFixed);\n      return sum(points);\n    };\n    const sumAsAbsolute = positions => {\n      const points = map$2(positions, toAbsolute);\n      return sum(points);\n    };\n    const screen = adt$7.screen;\n    const absolute$1 = adt$7.absolute;\n\n    const getOffset = (component, origin, anchorInfo) => {\n      const win = defaultView(anchorInfo.root).dom;\n      const hasSameOwner = frame => {\n        const frameOwner = owner$4(frame);\n        const compOwner = owner$4(component.element);\n        return eq(frameOwner, compOwner);\n      };\n      return Optional.from(win.frameElement).map(SugarElement.fromDom).filter(hasSameOwner).map(absolute$3);\n    };\n    const getRootPoint = (component, origin, anchorInfo) => {\n      const doc = owner$4(component.element);\n      const outerScroll = get$b(doc);\n      const offset = getOffset(component, origin, anchorInfo).getOr(outerScroll);\n      return absolute$1(offset, outerScroll.left, outerScroll.top);\n    };\n\n    const getBox = (left, top, width, height) => {\n      const point = screen(SugarPosition(left, top));\n      return Optional.some(pointed(point, width, height));\n    };\n    const calcNewAnchor = (optBox, rootPoint, anchorInfo, origin, elem) => optBox.map(box => {\n      const points = [rootPoint, box.point];\n      const topLeft = cata$1(origin, () => sumAsAbsolute(points), () => sumAsAbsolute(points), () => sumAsFixed(points));\n      const anchorBox = rect(topLeft.left, topLeft.top, box.width, box.height);\n      const layoutsLtr = anchorInfo.showAbove ? aboveOrBelow() : belowOrAbove();\n      const layoutsRtl = anchorInfo.showAbove ? aboveOrBelowRtl() : belowOrAboveRtl();\n      const layouts = get$5(elem, anchorInfo, layoutsLtr, layoutsRtl, layoutsLtr, layoutsRtl, Optional.none());\n      return nu$4({\n        anchorBox,\n        bubble: anchorInfo.bubble.getOr(fallback()),\n        overrides: anchorInfo.overrides,\n        layouts\n      });\n    });\n\n    const placement$2 = (component, anchorInfo, origin) => {\n      const rootPoint = getRootPoint(component, origin, anchorInfo);\n      return anchorInfo.node.filter(inBody).bind(target => {\n        const rect = target.dom.getBoundingClientRect();\n        const nodeBox = getBox(rect.left, rect.top, rect.width, rect.height);\n        const elem = anchorInfo.node.getOr(component.element);\n        return calcNewAnchor(nodeBox, rootPoint, anchorInfo, origin, elem);\n      });\n    };\n    var NodeAnchor = [required$1('node'), required$1('root'), option$3('bubble'), schema$y(), defaulted('overrides', {}), defaulted('showAbove', false), output$1('placement', placement$2)];\n\n    const zeroWidth = '\\uFEFF';\n    const nbsp = '\\xA0';\n\n    const create$3 = (start, soffset, finish, foffset) => ({\n      start,\n      soffset,\n      finish,\n      foffset\n    });\n    const SimRange = {\n      create: create$3\n    };\n\n    const adt$6 = Adt.generate([{\n      before: ['element']\n    }, {\n      on: ['element', 'offset']\n    }, {\n      after: ['element']\n    }]);\n    const cata = (subject, onBefore, onOn, onAfter) => subject.fold(onBefore, onOn, onAfter);\n    const getStart$1 = situ => situ.fold(identity, identity, identity);\n    const before = adt$6.before;\n    const on$1 = adt$6.on;\n    const after$1 = adt$6.after;\n    const Situ = {\n      before,\n      on: on$1,\n      after: after$1,\n      cata,\n      getStart: getStart$1\n    };\n\n    const adt$5 = Adt.generate([{\n      domRange: ['rng']\n    }, {\n      relative: ['startSitu', 'finishSitu']\n    }, {\n      exact: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const exactFromRange = simRange => adt$5.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset);\n    const getStart = selection => selection.match({\n      domRange: rng => SugarElement.fromDom(rng.startContainer),\n      relative: (startSitu, _finishSitu) => Situ.getStart(startSitu),\n      exact: (start, _soffset, _finish, _foffset) => start\n    });\n    const domRange = adt$5.domRange;\n    const relative = adt$5.relative;\n    const exact = adt$5.exact;\n    const getWin = selection => {\n      const start = getStart(selection);\n      return defaultView(start);\n    };\n    const range$1 = SimRange.create;\n    const SimSelection = {\n      domRange,\n      relative,\n      exact,\n      exactFromRange,\n      getWin,\n      range: range$1\n    };\n\n    const setStart = (rng, situ) => {\n      situ.fold(e => {\n        rng.setStartBefore(e.dom);\n      }, (e, o) => {\n        rng.setStart(e.dom, o);\n      }, e => {\n        rng.setStartAfter(e.dom);\n      });\n    };\n    const setFinish = (rng, situ) => {\n      situ.fold(e => {\n        rng.setEndBefore(e.dom);\n      }, (e, o) => {\n        rng.setEnd(e.dom, o);\n      }, e => {\n        rng.setEndAfter(e.dom);\n      });\n    };\n    const relativeToNative = (win, startSitu, finishSitu) => {\n      const range = win.document.createRange();\n      setStart(range, startSitu);\n      setFinish(range, finishSitu);\n      return range;\n    };\n    const exactToNative = (win, start, soffset, finish, foffset) => {\n      const rng = win.document.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    const toRect = rect => ({\n      left: rect.left,\n      top: rect.top,\n      right: rect.right,\n      bottom: rect.bottom,\n      width: rect.width,\n      height: rect.height\n    });\n    const getFirstRect$1 = rng => {\n      const rects = rng.getClientRects();\n      const rect = rects.length > 0 ? rects[0] : rng.getBoundingClientRect();\n      return rect.width > 0 || rect.height > 0 ? Optional.some(rect).map(toRect) : Optional.none();\n    };\n    const getBounds$2 = rng => {\n      const rect = rng.getBoundingClientRect();\n      return rect.width > 0 || rect.height > 0 ? Optional.some(rect).map(toRect) : Optional.none();\n    };\n\n    const adt$4 = Adt.generate([{\n      ltr: ['start', 'soffset', 'finish', 'foffset']\n    }, {\n      rtl: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const fromRange = (win, type, range) => type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset);\n    const getRanges = (win, selection) => selection.match({\n      domRange: rng => {\n        return {\n          ltr: constant$1(rng),\n          rtl: Optional.none\n        };\n      },\n      relative: (startSitu, finishSitu) => {\n        return {\n          ltr: cached(() => relativeToNative(win, startSitu, finishSitu)),\n          rtl: cached(() => Optional.some(relativeToNative(win, finishSitu, startSitu)))\n        };\n      },\n      exact: (start, soffset, finish, foffset) => {\n        return {\n          ltr: cached(() => exactToNative(win, start, soffset, finish, foffset)),\n          rtl: cached(() => Optional.some(exactToNative(win, finish, foffset, start, soffset)))\n        };\n      }\n    });\n    const doDiagnose = (win, ranges) => {\n      const rng = ranges.ltr();\n      if (rng.collapsed) {\n        const reversed = ranges.rtl().filter(rev => rev.collapsed === false);\n        return reversed.map(rev => adt$4.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset)).getOrThunk(() => fromRange(win, adt$4.ltr, rng));\n      } else {\n        return fromRange(win, adt$4.ltr, rng);\n      }\n    };\n    const diagnose = (win, selection) => {\n      const ranges = getRanges(win, selection);\n      return doDiagnose(win, ranges);\n    };\n    const asLtrRange = (win, selection) => {\n      const diagnosis = diagnose(win, selection);\n      return diagnosis.match({\n        ltr: (start, soffset, finish, foffset) => {\n          const rng = win.document.createRange();\n          rng.setStart(start.dom, soffset);\n          rng.setEnd(finish.dom, foffset);\n          return rng;\n        },\n        rtl: (start, soffset, finish, foffset) => {\n          const rng = win.document.createRange();\n          rng.setStart(finish.dom, foffset);\n          rng.setEnd(start.dom, soffset);\n          return rng;\n        }\n      });\n    };\n    adt$4.ltr;\n    adt$4.rtl;\n\n    const ancestors = (scope, predicate, isRoot) => filter$2(parents(scope, isRoot), predicate);\n\n    const descendants = (scope, selector) => all$3(selector, scope);\n\n    const makeRange = (start, soffset, finish, foffset) => {\n      const doc = owner$4(start);\n      const rng = doc.dom.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    const after = (start, soffset, finish, foffset) => {\n      const r = makeRange(start, soffset, finish, foffset);\n      const same = eq(start, finish) && soffset === foffset;\n      return r.collapsed && !same;\n    };\n\n    const getNativeSelection = win => Optional.from(win.getSelection());\n    const readRange = selection => {\n      if (selection.rangeCount > 0) {\n        const firstRng = selection.getRangeAt(0);\n        const lastRng = selection.getRangeAt(selection.rangeCount - 1);\n        return Optional.some(SimRange.create(SugarElement.fromDom(firstRng.startContainer), firstRng.startOffset, SugarElement.fromDom(lastRng.endContainer), lastRng.endOffset));\n      } else {\n        return Optional.none();\n      }\n    };\n    const doGetExact = selection => {\n      if (selection.anchorNode === null || selection.focusNode === null) {\n        return readRange(selection);\n      } else {\n        const anchor = SugarElement.fromDom(selection.anchorNode);\n        const focus = SugarElement.fromDom(selection.focusNode);\n        return after(anchor, selection.anchorOffset, focus, selection.focusOffset) ? Optional.some(SimRange.create(anchor, selection.anchorOffset, focus, selection.focusOffset)) : readRange(selection);\n      }\n    };\n    const getExact = win => getNativeSelection(win).filter(sel => sel.rangeCount > 0).bind(doGetExact);\n    const getFirstRect = (win, selection) => {\n      const rng = asLtrRange(win, selection);\n      return getFirstRect$1(rng);\n    };\n    const getBounds$1 = (win, selection) => {\n      const rng = asLtrRange(win, selection);\n      return getBounds$2(rng);\n    };\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText, 'text');\n    const get$4 = element => api.get(element);\n\n    const point = (element, offset) => ({\n      element,\n      offset\n    });\n    const descendOnce$1 = (element, offset) => {\n      const children$1 = children(element);\n      if (children$1.length === 0) {\n        return point(element, offset);\n      } else if (offset < children$1.length) {\n        return point(children$1[offset], 0);\n      } else {\n        const last = children$1[children$1.length - 1];\n        const len = isText(last) ? get$4(last).length : children(last).length;\n        return point(last, len);\n      }\n    };\n\n    const descendOnce = (element, offset) => isText(element) ? point(element, offset) : descendOnce$1(element, offset);\n    const isSimRange = detail => detail.foffset !== undefined;\n    const getAnchorSelection = (win, anchorInfo) => {\n      const getSelection = anchorInfo.getSelection.getOrThunk(() => () => getExact(win));\n      return getSelection().map(sel => {\n        if (isSimRange(sel)) {\n          const modStart = descendOnce(sel.start, sel.soffset);\n          const modFinish = descendOnce(sel.finish, sel.foffset);\n          return SimSelection.range(modStart.element, modStart.offset, modFinish.element, modFinish.offset);\n        } else {\n          return sel;\n        }\n      });\n    };\n    const placement$1 = (component, anchorInfo, origin) => {\n      const win = defaultView(anchorInfo.root).dom;\n      const rootPoint = getRootPoint(component, origin, anchorInfo);\n      const selectionBox = getAnchorSelection(win, anchorInfo).bind(sel => {\n        if (isSimRange(sel)) {\n          const optRect = getBounds$1(win, SimSelection.exactFromRange(sel)).orThunk(() => {\n            const zeroWidth$1 = SugarElement.fromText(zeroWidth);\n            before$1(sel.start, zeroWidth$1);\n            const rect = getFirstRect(win, SimSelection.exact(zeroWidth$1, 0, zeroWidth$1, 1));\n            remove$5(zeroWidth$1);\n            return rect;\n          });\n          return optRect.bind(rawRect => {\n            return getBox(rawRect.left, rawRect.top, rawRect.width, rawRect.height);\n          });\n        } else {\n          const selectionRect = map$1(sel, cell => cell.dom.getBoundingClientRect());\n          const bounds = {\n            left: Math.min(selectionRect.firstCell.left, selectionRect.lastCell.left),\n            right: Math.max(selectionRect.firstCell.right, selectionRect.lastCell.right),\n            top: Math.min(selectionRect.firstCell.top, selectionRect.lastCell.top),\n            bottom: Math.max(selectionRect.firstCell.bottom, selectionRect.lastCell.bottom)\n          };\n          return getBox(bounds.left, bounds.top, bounds.right - bounds.left, bounds.bottom - bounds.top);\n        }\n      });\n      const targetElement = getAnchorSelection(win, anchorInfo).bind(sel => {\n        if (isSimRange(sel)) {\n          return isElement$1(sel.start) ? Optional.some(sel.start) : parentElement(sel.start);\n        } else {\n          return Optional.some(sel.firstCell);\n        }\n      });\n      const elem = targetElement.getOr(component.element);\n      return calcNewAnchor(selectionBox, rootPoint, anchorInfo, origin, elem);\n    };\n    var SelectionAnchor = [option$3('getSelection'), required$1('root'), option$3('bubble'), schema$y(), defaulted('overrides', {}), defaulted('showAbove', false), output$1('placement', placement$1)];\n\n    const labelPrefix$1 = 'link-layout';\n    const eastX = anchor => anchor.x + anchor.width;\n    const westX = (anchor, element) => anchor.x - element.width;\n    const northY$1 = (anchor, element) => anchor.y - element.height + anchor.height;\n    const southY$1 = anchor => anchor.y;\n    const southeast$1 = (anchor, element, bubbles) => nu$6(eastX(anchor), southY$1(anchor), bubbles.southeast(), southeast$3(), 'southeast', boundsRestriction(anchor, {\n      left: 0,\n      top: 2\n    }), labelPrefix$1);\n    const southwest$1 = (anchor, element, bubbles) => nu$6(westX(anchor, element), southY$1(anchor), bubbles.southwest(), southwest$3(), 'southwest', boundsRestriction(anchor, {\n      right: 1,\n      top: 2\n    }), labelPrefix$1);\n    const northeast$1 = (anchor, element, bubbles) => nu$6(eastX(anchor), northY$1(anchor, element), bubbles.northeast(), northeast$3(), 'northeast', boundsRestriction(anchor, {\n      left: 0,\n      bottom: 3\n    }), labelPrefix$1);\n    const northwest$1 = (anchor, element, bubbles) => nu$6(westX(anchor, element), northY$1(anchor, element), bubbles.northwest(), northwest$3(), 'northwest', boundsRestriction(anchor, {\n      right: 1,\n      bottom: 3\n    }), labelPrefix$1);\n    const all = () => [southeast$1, southwest$1, northeast$1, northwest$1];\n    const allRtl = () => [southwest$1, southeast$1, northwest$1, northeast$1];\n\n    const placement = (component, submenuInfo, origin) => {\n      const anchorBox = toBox(origin, submenuInfo.item.element);\n      const layouts = get$5(component.element, submenuInfo, all(), allRtl(), all(), allRtl(), Optional.none());\n      return Optional.some(nu$4({\n        anchorBox,\n        bubble: fallback(),\n        overrides: submenuInfo.overrides,\n        layouts\n      }));\n    };\n    var SubmenuAnchor = [required$1('item'), schema$y(), defaulted('overrides', {}), output$1('placement', placement)];\n\n    var AnchorSchema = choose$1('type', {\n      selection: SelectionAnchor,\n      node: NodeAnchor,\n      hotspot: HotspotAnchor,\n      submenu: SubmenuAnchor,\n      makeshift: MakeshiftAnchor\n    });\n\n    const TransitionSchema = [requiredArrayOf('classes', string), defaultedStringEnum('mode', 'all', ['all', 'layout', 'placement'])];\n    const PositionSchema = [defaulted('useFixed', never), option$3('getBounds')];\n    const PlacementSchema = [requiredOf('anchor', AnchorSchema), optionObjOf('transition', TransitionSchema)];\n\n    const getFixedOrigin = () => {\n      const html = document.documentElement;\n      return fixed$1(0, 0, html.clientWidth, html.clientHeight);\n    };\n    const getRelativeOrigin = component => {\n      const position = absolute$3(component.element);\n      const bounds = component.element.dom.getBoundingClientRect();\n      return relative$1(position.left, position.top, bounds.width, bounds.height);\n    };\n    const place = (origin, anchoring, optBounds, placee, lastPlace, transition) => {\n      const anchor = box(anchoring.anchorBox, origin);\n      return simple(anchor, placee.element, anchoring.bubble, anchoring.layouts, lastPlace, optBounds, anchoring.overrides, transition);\n    };\n    const position$1 = (component, posConfig, posState, placee, placementSpec) => {\n      const optWithinBounds = Optional.none();\n      positionWithinBounds(component, posConfig, posState, placee, placementSpec, optWithinBounds);\n    };\n    const positionWithinBounds = (component, posConfig, posState, placee, placementSpec, optWithinBounds) => {\n      const placeeDetail = asRawOrDie$1('placement.info', objOf(PlacementSchema), placementSpec);\n      const anchorage = placeeDetail.anchor;\n      const element = placee.element;\n      const placeeState = posState.get(placee.uid);\n      preserve$1(() => {\n        set$8(element, 'position', 'fixed');\n        const oldVisibility = getRaw(element, 'visibility');\n        set$8(element, 'visibility', 'hidden');\n        const origin = posConfig.useFixed() ? getFixedOrigin() : getRelativeOrigin(component);\n        anchorage.placement(component, anchorage, origin).each(anchoring => {\n          const optBounds = optWithinBounds.orThunk(() => posConfig.getBounds.map(apply$1));\n          const newState = place(origin, anchoring, optBounds, placee, placeeState, placeeDetail.transition);\n          posState.set(placee.uid, newState);\n        });\n        oldVisibility.fold(() => {\n          remove$6(element, 'visibility');\n        }, vis => {\n          set$8(element, 'visibility', vis);\n        });\n        if (getRaw(element, 'left').isNone() && getRaw(element, 'top').isNone() && getRaw(element, 'right').isNone() && getRaw(element, 'bottom').isNone() && is$1(getRaw(element, 'position'), 'fixed')) {\n          remove$6(element, 'position');\n        }\n      }, element);\n    };\n    const getMode = (component, pConfig, _pState) => pConfig.useFixed() ? 'fixed' : 'absolute';\n    const reset$1 = (component, pConfig, posState, placee) => {\n      const element = placee.element;\n      each$1(['position', 'left', 'right', 'top', 'bottom'], prop => remove$6(element, prop));\n      reset$2(element);\n      posState.clear(placee.uid);\n    };\n\n    var PositionApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        position: position$1,\n        positionWithinBounds: positionWithinBounds,\n        getMode: getMode,\n        reset: reset$1\n    });\n\n    const init$g = () => {\n      let state = {};\n      const set = (id, data) => {\n        state[id] = data;\n      };\n      const get = id => get$g(state, id);\n      const clear = id => {\n        if (isNonNullable(id)) {\n          delete state[id];\n        } else {\n          state = {};\n        }\n      };\n      return nu$8({\n        readState: () => state,\n        clear,\n        set,\n        get\n      });\n    };\n\n    var PositioningState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$g\n    });\n\n    const Positioning = create$4({\n      fields: PositionSchema,\n      name: 'positioning',\n      active: ActivePosition,\n      apis: PositionApis,\n      state: PositioningState\n    });\n\n    const isConnected = comp => comp.getSystem().isConnected();\n    const fireDetaching = component => {\n      emit(component, detachedFromDom());\n      const children = component.components();\n      each$1(children, fireDetaching);\n    };\n    const fireAttaching = component => {\n      const children = component.components();\n      each$1(children, fireAttaching);\n      emit(component, attachedToDom());\n    };\n    const virtualAttach = (parent, child) => {\n      parent.getSystem().addToWorld(child);\n      if (inBody(parent.element)) {\n        fireAttaching(child);\n      }\n    };\n    const virtualDetach = comp => {\n      fireDetaching(comp);\n      comp.getSystem().removeFromWorld(comp);\n    };\n    const attach$1 = (parent, child) => {\n      append$2(parent.element, child.element);\n    };\n    const detachChildren$1 = component => {\n      each$1(component.components(), childComp => remove$5(childComp.element));\n      empty(component.element);\n      component.syncComponents();\n    };\n    const replaceChildren = (component, newSpecs, buildNewChildren) => {\n      const subs = component.components();\n      detachChildren$1(component);\n      const newChildren = buildNewChildren(newSpecs);\n      const deleted = difference(subs, newChildren);\n      each$1(deleted, comp => {\n        fireDetaching(comp);\n        component.getSystem().removeFromWorld(comp);\n      });\n      each$1(newChildren, childComp => {\n        if (!isConnected(childComp)) {\n          component.getSystem().addToWorld(childComp);\n          attach$1(component, childComp);\n          if (inBody(component.element)) {\n            fireAttaching(childComp);\n          }\n        } else {\n          attach$1(component, childComp);\n        }\n      });\n      component.syncComponents();\n    };\n    const virtualReplaceChildren = (component, newSpecs, buildNewChildren) => {\n      const subs = component.components();\n      const existingComps = bind$3(newSpecs, spec => getPremade(spec).toArray());\n      each$1(subs, childComp => {\n        if (!contains$2(existingComps, childComp)) {\n          virtualDetach(childComp);\n        }\n      });\n      const newChildren = buildNewChildren(newSpecs);\n      const deleted = difference(subs, newChildren);\n      each$1(deleted, deletedComp => {\n        if (isConnected(deletedComp)) {\n          virtualDetach(deletedComp);\n        }\n      });\n      each$1(newChildren, childComp => {\n        if (!isConnected(childComp)) {\n          virtualAttach(component, childComp);\n        }\n      });\n      component.syncComponents();\n    };\n\n    const attach = (parent, child) => {\n      attachWith(parent, child, append$2);\n    };\n    const attachWith = (parent, child, insertion) => {\n      parent.getSystem().addToWorld(child);\n      insertion(parent.element, child.element);\n      if (inBody(parent.element)) {\n        fireAttaching(child);\n      }\n      parent.syncComponents();\n    };\n    const doDetach = component => {\n      fireDetaching(component);\n      remove$5(component.element);\n      component.getSystem().removeFromWorld(component);\n    };\n    const detach = component => {\n      const parent$1 = parent(component.element).bind(p => component.getSystem().getByDom(p).toOptional());\n      doDetach(component);\n      parent$1.each(p => {\n        p.syncComponents();\n      });\n    };\n    const detachChildren = component => {\n      const subs = component.components();\n      each$1(subs, doDetach);\n      empty(component.element);\n      component.syncComponents();\n    };\n    const attachSystem = (element, guiSystem) => {\n      attachSystemWith(element, guiSystem, append$2);\n    };\n    const attachSystemAfter = (element, guiSystem) => {\n      attachSystemWith(element, guiSystem, after$2);\n    };\n    const attachSystemWith = (element, guiSystem, inserter) => {\n      inserter(element, guiSystem.element);\n      const children$1 = children(guiSystem.element);\n      each$1(children$1, child => {\n        guiSystem.getByDom(child).each(fireAttaching);\n      });\n    };\n    const detachSystem = guiSystem => {\n      const children$1 = children(guiSystem.element);\n      each$1(children$1, child => {\n        guiSystem.getByDom(child).each(fireDetaching);\n      });\n      remove$5(guiSystem.element);\n    };\n\n    const rebuild = (sandbox, sConfig, sState, data) => {\n      sState.get().each(_data => {\n        detachChildren(sandbox);\n      });\n      const point = sConfig.getAttachPoint(sandbox);\n      attach(point, sandbox);\n      const built = sandbox.getSystem().build(data);\n      attach(sandbox, built);\n      sState.set(built);\n      return built;\n    };\n    const open$1 = (sandbox, sConfig, sState, data) => {\n      const newState = rebuild(sandbox, sConfig, sState, data);\n      sConfig.onOpen(sandbox, newState);\n      return newState;\n    };\n    const setContent = (sandbox, sConfig, sState, data) => sState.get().map(() => rebuild(sandbox, sConfig, sState, data));\n    const openWhileCloaked = (sandbox, sConfig, sState, data, transaction) => {\n      cloak(sandbox, sConfig);\n      open$1(sandbox, sConfig, sState, data);\n      transaction();\n      decloak(sandbox, sConfig);\n    };\n    const close$1 = (sandbox, sConfig, sState) => {\n      sState.get().each(data => {\n        detachChildren(sandbox);\n        detach(sandbox);\n        sConfig.onClose(sandbox, data);\n        sState.clear();\n      });\n    };\n    const isOpen$1 = (_sandbox, _sConfig, sState) => sState.isOpen();\n    const isPartOf = (sandbox, sConfig, sState, queryElem) => isOpen$1(sandbox, sConfig, sState) && sState.get().exists(data => sConfig.isPartOf(sandbox, data, queryElem));\n    const getState$2 = (_sandbox, _sConfig, sState) => sState.get();\n    const store = (sandbox, cssKey, attr, newValue) => {\n      getRaw(sandbox.element, cssKey).fold(() => {\n        remove$7(sandbox.element, attr);\n      }, v => {\n        set$9(sandbox.element, attr, v);\n      });\n      set$8(sandbox.element, cssKey, newValue);\n    };\n    const restore = (sandbox, cssKey, attr) => {\n      getOpt(sandbox.element, attr).fold(() => remove$6(sandbox.element, cssKey), oldValue => set$8(sandbox.element, cssKey, oldValue));\n    };\n    const cloak = (sandbox, sConfig, _sState) => {\n      const sink = sConfig.getAttachPoint(sandbox);\n      set$8(sandbox.element, 'position', Positioning.getMode(sink));\n      store(sandbox, 'visibility', sConfig.cloakVisibilityAttr, 'hidden');\n    };\n    const hasPosition = element => exists(['top', 'left', 'right', 'bottom'], pos => getRaw(element, pos).isSome());\n    const decloak = (sandbox, sConfig, _sState) => {\n      if (!hasPosition(sandbox.element)) {\n        remove$6(sandbox.element, 'position');\n      }\n      restore(sandbox, 'visibility', sConfig.cloakVisibilityAttr);\n    };\n\n    var SandboxApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        cloak: cloak,\n        decloak: decloak,\n        open: open$1,\n        openWhileCloaked: openWhileCloaked,\n        close: close$1,\n        isOpen: isOpen$1,\n        isPartOf: isPartOf,\n        getState: getState$2,\n        setContent: setContent\n    });\n\n    const events$g = (sandboxConfig, sandboxState) => derive$2([run$1(sandboxClose(), (sandbox, _simulatedEvent) => {\n      close$1(sandbox, sandboxConfig, sandboxState);\n    })]);\n\n    var ActiveSandbox = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$g\n    });\n\n    var SandboxSchema = [onHandler('onOpen'), onHandler('onClose'), required$1('isPartOf'), required$1('getAttachPoint'), defaulted('cloakVisibilityAttr', 'data-precloak-visibility')];\n\n    const init$f = () => {\n      const contents = value$2();\n      const readState = constant$1('not-implemented');\n      return nu$8({\n        readState,\n        isOpen: contents.isSet,\n        clear: contents.clear,\n        set: contents.set,\n        get: contents.get\n      });\n    };\n\n    var SandboxState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$f\n    });\n\n    const Sandboxing = create$4({\n      fields: SandboxSchema,\n      name: 'sandboxing',\n      active: ActiveSandbox,\n      apis: SandboxApis,\n      state: SandboxState\n    });\n\n    const dismissPopups = constant$1('dismiss.popups');\n    const repositionPopups = constant$1('reposition.popups');\n    const mouseReleased = constant$1('mouse.released');\n\n    const schema$x = objOfOnly([defaulted('isExtraPart', never), optionObjOf('fireEventInstead', [defaulted('event', dismissRequested())])]);\n    const receivingChannel$1 = rawSpec => {\n      const detail = asRawOrDie$1('Dismissal', schema$x, rawSpec);\n      return {\n        [dismissPopups()]: {\n          schema: objOfOnly([required$1('target')]),\n          onReceive: (sandbox, data) => {\n            if (Sandboxing.isOpen(sandbox)) {\n              const isPart = Sandboxing.isPartOf(sandbox, data.target) || detail.isExtraPart(sandbox, data.target);\n              if (!isPart) {\n                detail.fireEventInstead.fold(() => Sandboxing.close(sandbox), fe => emit(sandbox, fe.event));\n              }\n            }\n          }\n        }\n      };\n    };\n\n    const schema$w = objOfOnly([optionObjOf('fireEventInstead', [defaulted('event', repositionRequested())]), requiredFunction('doReposition')]);\n    const receivingChannel = rawSpec => {\n      const detail = asRawOrDie$1('Reposition', schema$w, rawSpec);\n      return {\n        [repositionPopups()]: {\n          onReceive: sandbox => {\n            if (Sandboxing.isOpen(sandbox)) {\n              detail.fireEventInstead.fold(() => detail.doReposition(sandbox), fe => emit(sandbox, fe.event));\n            }\n          }\n        }\n      };\n    };\n\n    const onLoad$5 = (component, repConfig, repState) => {\n      repConfig.store.manager.onLoad(component, repConfig, repState);\n    };\n    const onUnload$2 = (component, repConfig, repState) => {\n      repConfig.store.manager.onUnload(component, repConfig, repState);\n    };\n    const setValue$3 = (component, repConfig, repState, data) => {\n      repConfig.store.manager.setValue(component, repConfig, repState, data);\n    };\n    const getValue$3 = (component, repConfig, repState) => repConfig.store.manager.getValue(component, repConfig, repState);\n    const getState$1 = (component, repConfig, repState) => repState;\n\n    var RepresentApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        onLoad: onLoad$5,\n        onUnload: onUnload$2,\n        setValue: setValue$3,\n        getValue: getValue$3,\n        getState: getState$1\n    });\n\n    const events$f = (repConfig, repState) => {\n      const es = repConfig.resetOnDom ? [runOnAttached((comp, _se) => {\n        onLoad$5(comp, repConfig, repState);\n      }), runOnDetached((comp, _se) => {\n        onUnload$2(comp, repConfig, repState);\n      })] : [loadEvent(repConfig, repState, onLoad$5)];\n      return derive$2(es);\n    };\n\n    var ActiveRepresenting = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$f\n    });\n\n    const memory$1 = () => {\n      const data = Cell(null);\n      const readState = () => ({\n        mode: 'memory',\n        value: data.get()\n      });\n      const isNotSet = () => data.get() === null;\n      const clear = () => {\n        data.set(null);\n      };\n      return nu$8({\n        set: data.set,\n        get: data.get,\n        isNotSet,\n        clear,\n        readState\n      });\n    };\n    const manual = () => {\n      const readState = noop;\n      return nu$8({\n        readState\n      });\n    };\n    const dataset = () => {\n      const dataByValue = Cell({});\n      const dataByText = Cell({});\n      const readState = () => ({\n        mode: 'dataset',\n        dataByValue: dataByValue.get(),\n        dataByText: dataByText.get()\n      });\n      const clear = () => {\n        dataByValue.set({});\n        dataByText.set({});\n      };\n      const lookup = itemString => get$g(dataByValue.get(), itemString).orThunk(() => get$g(dataByText.get(), itemString));\n      const update = items => {\n        const currentDataByValue = dataByValue.get();\n        const currentDataByText = dataByText.get();\n        const newDataByValue = {};\n        const newDataByText = {};\n        each$1(items, item => {\n          newDataByValue[item.value] = item;\n          get$g(item, 'meta').each(meta => {\n            get$g(meta, 'text').each(text => {\n              newDataByText[text] = item;\n            });\n          });\n        });\n        dataByValue.set({\n          ...currentDataByValue,\n          ...newDataByValue\n        });\n        dataByText.set({\n          ...currentDataByText,\n          ...newDataByText\n        });\n      };\n      return nu$8({\n        readState,\n        lookup,\n        update,\n        clear\n      });\n    };\n    const init$e = spec => spec.store.manager.state(spec);\n\n    var RepresentState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        memory: memory$1,\n        dataset: dataset,\n        manual: manual,\n        init: init$e\n    });\n\n    const setValue$2 = (component, repConfig, repState, data) => {\n      const store = repConfig.store;\n      repState.update([data]);\n      store.setValue(component, data);\n      repConfig.onSetValue(component, data);\n    };\n    const getValue$2 = (component, repConfig, repState) => {\n      const store = repConfig.store;\n      const key = store.getDataKey(component);\n      return repState.lookup(key).getOrThunk(() => store.getFallbackEntry(key));\n    };\n    const onLoad$4 = (component, repConfig, repState) => {\n      const store = repConfig.store;\n      store.initialValue.each(data => {\n        setValue$2(component, repConfig, repState, data);\n      });\n    };\n    const onUnload$1 = (component, repConfig, repState) => {\n      repState.clear();\n    };\n    var DatasetStore = [option$3('initialValue'), required$1('getFallbackEntry'), required$1('getDataKey'), required$1('setValue'), output$1('manager', {\n      setValue: setValue$2,\n      getValue: getValue$2,\n      onLoad: onLoad$4,\n      onUnload: onUnload$1,\n      state: dataset\n    })];\n\n    const getValue$1 = (component, repConfig, _repState) => repConfig.store.getValue(component);\n    const setValue$1 = (component, repConfig, _repState, data) => {\n      repConfig.store.setValue(component, data);\n      repConfig.onSetValue(component, data);\n    };\n    const onLoad$3 = (component, repConfig, _repState) => {\n      repConfig.store.initialValue.each(data => {\n        repConfig.store.setValue(component, data);\n      });\n    };\n    var ManualStore = [required$1('getValue'), defaulted('setValue', noop), option$3('initialValue'), output$1('manager', {\n      setValue: setValue$1,\n      getValue: getValue$1,\n      onLoad: onLoad$3,\n      onUnload: noop,\n      state: NoState.init\n    })];\n\n    const setValue = (component, repConfig, repState, data) => {\n      repState.set(data);\n      repConfig.onSetValue(component, data);\n    };\n    const getValue = (component, repConfig, repState) => repState.get();\n    const onLoad$2 = (component, repConfig, repState) => {\n      repConfig.store.initialValue.each(initVal => {\n        if (repState.isNotSet()) {\n          repState.set(initVal);\n        }\n      });\n    };\n    const onUnload = (component, repConfig, repState) => {\n      repState.clear();\n    };\n    var MemoryStore = [option$3('initialValue'), output$1('manager', {\n      setValue,\n      getValue,\n      onLoad: onLoad$2,\n      onUnload,\n      state: memory$1\n    })];\n\n    var RepresentSchema = [defaultedOf('store', {\n      mode: 'memory'\n    }, choose$1('mode', {\n      memory: MemoryStore,\n      manual: ManualStore,\n      dataset: DatasetStore\n    })), onHandler('onSetValue'), defaulted('resetOnDom', false)];\n\n    const Representing = create$4({\n      fields: RepresentSchema,\n      name: 'representing',\n      active: ActiveRepresenting,\n      apis: RepresentApis,\n      extra: {\n        setValueFrom: (component, source) => {\n          const value = Representing.getValue(source);\n          Representing.setValue(component, value);\n        }\n      },\n      state: RepresentState\n    });\n\n    const field = (name, forbidden) => defaultedObjOf(name, {}, map$2(forbidden, f => forbid(f.name(), 'Cannot configure ' + f.name() + ' for ' + name)).concat([customField('dump', identity)]));\n    const get$3 = data => data.dump;\n    const augment = (data, original) => ({\n      ...derive$1(original),\n      ...data.dump\n    });\n    const SketchBehaviours = {\n      field,\n      augment,\n      get: get$3\n    };\n\n    const _placeholder = 'placeholder';\n    const adt$3 = Adt.generate([{\n      single: ['required', 'valueThunk']\n    }, {\n      multiple: ['required', 'valueThunks']\n    }]);\n    const isSubstituted = spec => has$2(spec, 'uiType');\n    const subPlaceholder = (owner, detail, compSpec, placeholders) => {\n      if (owner.exists(o => o !== compSpec.owner)) {\n        return adt$3.single(true, constant$1(compSpec));\n      }\n      return get$g(placeholders, compSpec.name).fold(() => {\n        throw new Error('Unknown placeholder component: ' + compSpec.name + '\\nKnown: [' + keys(placeholders) + ']\\nNamespace: ' + owner.getOr('none') + '\\nSpec: ' + JSON.stringify(compSpec, null, 2));\n      }, newSpec => newSpec.replace());\n    };\n    const scan = (owner, detail, compSpec, placeholders) => {\n      if (isSubstituted(compSpec) && compSpec.uiType === _placeholder) {\n        return subPlaceholder(owner, detail, compSpec, placeholders);\n      } else {\n        return adt$3.single(false, constant$1(compSpec));\n      }\n    };\n    const substitute = (owner, detail, compSpec, placeholders) => {\n      const base = scan(owner, detail, compSpec, placeholders);\n      return base.fold((req, valueThunk) => {\n        const value = isSubstituted(compSpec) ? valueThunk(detail, compSpec.config, compSpec.validated) : valueThunk(detail);\n        const childSpecs = get$g(value, 'components').getOr([]);\n        const substituted = bind$3(childSpecs, c => substitute(owner, detail, c, placeholders));\n        return [{\n          ...value,\n          components: substituted\n        }];\n      }, (req, valuesThunk) => {\n        if (isSubstituted(compSpec)) {\n          const values = valuesThunk(detail, compSpec.config, compSpec.validated);\n          const preprocessor = compSpec.validated.preprocess.getOr(identity);\n          return preprocessor(values);\n        } else {\n          return valuesThunk(detail);\n        }\n      });\n    };\n    const substituteAll = (owner, detail, components, placeholders) => bind$3(components, c => substitute(owner, detail, c, placeholders));\n    const oneReplace = (label, replacements) => {\n      let called = false;\n      const used = () => called;\n      const replace = () => {\n        if (called) {\n          throw new Error('Trying to use the same placeholder more than once: ' + label);\n        }\n        called = true;\n        return replacements;\n      };\n      const required = () => replacements.fold((req, _) => req, (req, _) => req);\n      return {\n        name: constant$1(label),\n        required,\n        used,\n        replace\n      };\n    };\n    const substitutePlaces = (owner, detail, components, placeholders) => {\n      const ps = map$1(placeholders, (ph, name) => oneReplace(name, ph));\n      const outcome = substituteAll(owner, detail, components, ps);\n      each(ps, p => {\n        if (p.used() === false && p.required()) {\n          throw new Error('Placeholder: ' + p.name() + ' was not found in components list\\nNamespace: ' + owner.getOr('none') + '\\nComponents: ' + JSON.stringify(detail.components, null, 2));\n        }\n      });\n      return outcome;\n    };\n    const single$2 = adt$3.single;\n    const multiple = adt$3.multiple;\n    const placeholder = constant$1(_placeholder);\n\n    const adt$2 = Adt.generate([{\n      required: ['data']\n    }, {\n      external: ['data']\n    }, {\n      optional: ['data']\n    }, {\n      group: ['data']\n    }]);\n    const fFactory = defaulted('factory', {\n      sketch: identity\n    });\n    const fSchema = defaulted('schema', []);\n    const fName = required$1('name');\n    const fPname = field$1('pname', 'pname', defaultedThunk(typeSpec => '<alloy.' + generate$6(typeSpec.name) + '>'), anyValue());\n    const fGroupSchema = customField('schema', () => [option$3('preprocess')]);\n    const fDefaults = defaulted('defaults', constant$1({}));\n    const fOverrides = defaulted('overrides', constant$1({}));\n    const requiredSpec = objOf([fFactory, fSchema, fName, fPname, fDefaults, fOverrides]);\n    const externalSpec = objOf([fFactory, fSchema, fName, fDefaults, fOverrides]);\n    const optionalSpec = objOf([fFactory, fSchema, fName, fPname, fDefaults, fOverrides]);\n    const groupSpec = objOf([fFactory, fGroupSchema, fName, required$1('unit'), fPname, fDefaults, fOverrides]);\n    const asNamedPart = part => {\n      return part.fold(Optional.some, Optional.none, Optional.some, Optional.some);\n    };\n    const name$2 = part => {\n      const get = data => data.name;\n      return part.fold(get, get, get, get);\n    };\n    const asCommon = part => {\n      return part.fold(identity, identity, identity, identity);\n    };\n    const convert = (adtConstructor, partSchema) => spec => {\n      const data = asRawOrDie$1('Converting part type', partSchema, spec);\n      return adtConstructor(data);\n    };\n    const required = convert(adt$2.required, requiredSpec);\n    const external = convert(adt$2.external, externalSpec);\n    const optional = convert(adt$2.optional, optionalSpec);\n    const group = convert(adt$2.group, groupSpec);\n    const original = constant$1('entirety');\n\n    var PartType = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        required: required,\n        external: external,\n        optional: optional,\n        group: group,\n        asNamedPart: asNamedPart,\n        name: name$2,\n        asCommon: asCommon,\n        original: original\n    });\n\n    const combine = (detail, data, partSpec, partValidated) => deepMerge(data.defaults(detail, partSpec, partValidated), partSpec, {\n      uid: detail.partUids[data.name]\n    }, data.overrides(detail, partSpec, partValidated));\n    const subs = (owner, detail, parts) => {\n      const internals = {};\n      const externals = {};\n      each$1(parts, part => {\n        part.fold(data => {\n          internals[data.pname] = single$2(true, (detail, partSpec, partValidated) => data.factory.sketch(combine(detail, data, partSpec, partValidated)));\n        }, data => {\n          const partSpec = detail.parts[data.name];\n          externals[data.name] = constant$1(data.factory.sketch(combine(detail, data, partSpec[original()]), partSpec));\n        }, data => {\n          internals[data.pname] = single$2(false, (detail, partSpec, partValidated) => data.factory.sketch(combine(detail, data, partSpec, partValidated)));\n        }, data => {\n          internals[data.pname] = multiple(true, (detail, _partSpec, _partValidated) => {\n            const units = detail[data.name];\n            return map$2(units, u => data.factory.sketch(deepMerge(data.defaults(detail, u, _partValidated), u, data.overrides(detail, u))));\n          });\n        });\n      });\n      return {\n        internals: constant$1(internals),\n        externals: constant$1(externals)\n      };\n    };\n\n    const generate$3 = (owner, parts) => {\n      const r = {};\n      each$1(parts, part => {\n        asNamedPart(part).each(np => {\n          const g = doGenerateOne(owner, np.pname);\n          r[np.name] = config => {\n            const validated = asRawOrDie$1('Part: ' + np.name + ' in ' + owner, objOf(np.schema), config);\n            return {\n              ...g,\n              config,\n              validated\n            };\n          };\n        });\n      });\n      return r;\n    };\n    const doGenerateOne = (owner, pname) => ({\n      uiType: placeholder(),\n      owner,\n      name: pname\n    });\n    const generateOne$1 = (owner, pname, config) => ({\n      uiType: placeholder(),\n      owner,\n      name: pname,\n      config,\n      validated: {}\n    });\n    const schemas = parts => bind$3(parts, part => part.fold(Optional.none, Optional.some, Optional.none, Optional.none).map(data => requiredObjOf(data.name, data.schema.concat([snapshot(original())]))).toArray());\n    const names = parts => map$2(parts, name$2);\n    const substitutes = (owner, detail, parts) => subs(owner, detail, parts);\n    const components$1 = (owner, detail, internals) => substitutePlaces(Optional.some(owner), detail, detail.components, internals);\n    const getPart = (component, detail, partKey) => {\n      const uid = detail.partUids[partKey];\n      return component.getSystem().getByUid(uid).toOptional();\n    };\n    const getPartOrDie = (component, detail, partKey) => getPart(component, detail, partKey).getOrDie('Could not find part: ' + partKey);\n    const getParts = (component, detail, partKeys) => {\n      const r = {};\n      const uids = detail.partUids;\n      const system = component.getSystem();\n      each$1(partKeys, pk => {\n        r[pk] = constant$1(system.getByUid(uids[pk]));\n      });\n      return r;\n    };\n    const getAllParts = (component, detail) => {\n      const system = component.getSystem();\n      return map$1(detail.partUids, (pUid, _k) => constant$1(system.getByUid(pUid)));\n    };\n    const getAllPartNames = detail => keys(detail.partUids);\n    const getPartsOrDie = (component, detail, partKeys) => {\n      const r = {};\n      const uids = detail.partUids;\n      const system = component.getSystem();\n      each$1(partKeys, pk => {\n        r[pk] = constant$1(system.getByUid(uids[pk]).getOrDie());\n      });\n      return r;\n    };\n    const defaultUids = (baseUid, partTypes) => {\n      const partNames = names(partTypes);\n      return wrapAll(map$2(partNames, pn => ({\n        key: pn,\n        value: baseUid + '-' + pn\n      })));\n    };\n    const defaultUidsSchema = partTypes => field$1('partUids', 'partUids', mergeWithThunk(spec => defaultUids(spec.uid, partTypes)), anyValue());\n\n    var AlloyParts = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        generate: generate$3,\n        generateOne: generateOne$1,\n        schemas: schemas,\n        names: names,\n        substitutes: substitutes,\n        components: components$1,\n        defaultUids: defaultUids,\n        defaultUidsSchema: defaultUidsSchema,\n        getAllParts: getAllParts,\n        getAllPartNames: getAllPartNames,\n        getPart: getPart,\n        getPartOrDie: getPartOrDie,\n        getParts: getParts,\n        getPartsOrDie: getPartsOrDie\n    });\n\n    const base = (partSchemas, partUidsSchemas) => {\n      const ps = partSchemas.length > 0 ? [requiredObjOf('parts', partSchemas)] : [];\n      return ps.concat([required$1('uid'), defaulted('dom', {}), defaulted('components', []), snapshot('originalSpec'), defaulted('debug.sketcher', {})]).concat(partUidsSchemas);\n    };\n    const asRawOrDie = (label, schema, spec, partSchemas, partUidsSchemas) => {\n      const baseS = base(partSchemas, partUidsSchemas);\n      return asRawOrDie$1(label + ' [SpecSchema]', objOfOnly(baseS.concat(schema)), spec);\n    };\n\n    const single$1 = (owner, schema, factory, spec) => {\n      const specWithUid = supplyUid(spec);\n      const detail = asRawOrDie(owner, schema, specWithUid, [], []);\n      return factory(detail, specWithUid);\n    };\n    const composite$1 = (owner, schema, partTypes, factory, spec) => {\n      const specWithUid = supplyUid(spec);\n      const partSchemas = schemas(partTypes);\n      const partUidsSchema = defaultUidsSchema(partTypes);\n      const detail = asRawOrDie(owner, schema, specWithUid, partSchemas, [partUidsSchema]);\n      const subs = substitutes(owner, detail, partTypes);\n      const components = components$1(owner, detail, subs.internals());\n      return factory(detail, components, specWithUid, subs.externals());\n    };\n    const hasUid = spec => has$2(spec, 'uid');\n    const supplyUid = spec => {\n      return hasUid(spec) ? spec : {\n        ...spec,\n        uid: generate$5('uid')\n      };\n    };\n\n    const isSketchSpec = spec => {\n      return spec.uid !== undefined;\n    };\n    const singleSchema = objOfOnly([required$1('name'), required$1('factory'), required$1('configFields'), defaulted('apis', {}), defaulted('extraApis', {})]);\n    const compositeSchema = objOfOnly([required$1('name'), required$1('factory'), required$1('configFields'), required$1('partFields'), defaulted('apis', {}), defaulted('extraApis', {})]);\n    const single = rawConfig => {\n      const config = asRawOrDie$1('Sketcher for ' + rawConfig.name, singleSchema, rawConfig);\n      const sketch = spec => single$1(config.name, config.configFields, config.factory, spec);\n      const apis = map$1(config.apis, makeApi);\n      const extraApis = map$1(config.extraApis, (f, k) => markAsExtraApi(f, k));\n      return {\n        name: config.name,\n        configFields: config.configFields,\n        sketch,\n        ...apis,\n        ...extraApis\n      };\n    };\n    const composite = rawConfig => {\n      const config = asRawOrDie$1('Sketcher for ' + rawConfig.name, compositeSchema, rawConfig);\n      const sketch = spec => composite$1(config.name, config.configFields, config.partFields, config.factory, spec);\n      const parts = generate$3(config.name, config.partFields);\n      const apis = map$1(config.apis, makeApi);\n      const extraApis = map$1(config.extraApis, (f, k) => markAsExtraApi(f, k));\n      return {\n        name: config.name,\n        partFields: config.partFields,\n        configFields: config.configFields,\n        sketch,\n        parts,\n        ...apis,\n        ...extraApis\n      };\n    };\n\n    const inside = target => isTag('input')(target) && get$f(target, 'type') !== 'radio' || isTag('textarea')(target);\n\n    const getCurrent = (component, composeConfig, _composeState) => composeConfig.find(component);\n\n    var ComposeApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        getCurrent: getCurrent\n    });\n\n    const ComposeSchema = [required$1('find')];\n\n    const Composing = create$4({\n      fields: ComposeSchema,\n      name: 'composing',\n      apis: ComposeApis\n    });\n\n    const nativeDisabled = ['input', 'button', 'textarea', 'select'];\n    const onLoad$1 = (component, disableConfig, disableState) => {\n      const f = disableConfig.disabled() ? disable : enable;\n      f(component, disableConfig);\n    };\n    const hasNative = (component, config) => config.useNative === true && contains$2(nativeDisabled, name$3(component.element));\n    const nativeIsDisabled = component => has$1(component.element, 'disabled');\n    const nativeDisable = component => {\n      set$9(component.element, 'disabled', 'disabled');\n    };\n    const nativeEnable = component => {\n      remove$7(component.element, 'disabled');\n    };\n    const ariaIsDisabled = component => get$f(component.element, 'aria-disabled') === 'true';\n    const ariaDisable = component => {\n      set$9(component.element, 'aria-disabled', 'true');\n    };\n    const ariaEnable = component => {\n      set$9(component.element, 'aria-disabled', 'false');\n    };\n    const disable = (component, disableConfig, _disableState) => {\n      disableConfig.disableClass.each(disableClass => {\n        add$2(component.element, disableClass);\n      });\n      const f = hasNative(component, disableConfig) ? nativeDisable : ariaDisable;\n      f(component);\n      disableConfig.onDisabled(component);\n    };\n    const enable = (component, disableConfig, _disableState) => {\n      disableConfig.disableClass.each(disableClass => {\n        remove$2(component.element, disableClass);\n      });\n      const f = hasNative(component, disableConfig) ? nativeEnable : ariaEnable;\n      f(component);\n      disableConfig.onEnabled(component);\n    };\n    const isDisabled = (component, disableConfig) => hasNative(component, disableConfig) ? nativeIsDisabled(component) : ariaIsDisabled(component);\n    const set$4 = (component, disableConfig, disableState, disabled) => {\n      const f = disabled ? disable : enable;\n      f(component, disableConfig);\n    };\n\n    var DisableApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        enable: enable,\n        disable: disable,\n        isDisabled: isDisabled,\n        onLoad: onLoad$1,\n        set: set$4\n    });\n\n    const exhibit$5 = (base, disableConfig) => nu$7({\n      classes: disableConfig.disabled() ? disableConfig.disableClass.toArray() : []\n    });\n    const events$e = (disableConfig, disableState) => derive$2([abort(execute$5(), (component, _simulatedEvent) => isDisabled(component, disableConfig)), loadEvent(disableConfig, disableState, onLoad$1)]);\n\n    var ActiveDisable = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit$5,\n        events: events$e\n    });\n\n    var DisableSchema = [defaultedFunction('disabled', never), defaulted('useNative', true), option$3('disableClass'), onHandler('onDisabled'), onHandler('onEnabled')];\n\n    const Disabling = create$4({\n      fields: DisableSchema,\n      name: 'disabling',\n      active: ActiveDisable,\n      apis: DisableApis\n    });\n\n    const dehighlightAllExcept = (component, hConfig, hState, skip) => {\n      const highlighted = descendants(component.element, '.' + hConfig.highlightClass);\n      each$1(highlighted, h => {\n        const shouldSkip = exists(skip, skipComp => eq(skipComp.element, h));\n        if (!shouldSkip) {\n          remove$2(h, hConfig.highlightClass);\n          component.getSystem().getByDom(h).each(target => {\n            hConfig.onDehighlight(component, target);\n            emit(target, dehighlight$1());\n          });\n        }\n      });\n    };\n    const dehighlightAll = (component, hConfig, hState) => dehighlightAllExcept(component, hConfig, hState, []);\n    const dehighlight = (component, hConfig, hState, target) => {\n      if (isHighlighted(component, hConfig, hState, target)) {\n        remove$2(target.element, hConfig.highlightClass);\n        hConfig.onDehighlight(component, target);\n        emit(target, dehighlight$1());\n      }\n    };\n    const highlight = (component, hConfig, hState, target) => {\n      dehighlightAllExcept(component, hConfig, hState, [target]);\n      if (!isHighlighted(component, hConfig, hState, target)) {\n        add$2(target.element, hConfig.highlightClass);\n        hConfig.onHighlight(component, target);\n        emit(target, highlight$1());\n      }\n    };\n    const highlightFirst = (component, hConfig, hState) => {\n      getFirst(component, hConfig).each(firstComp => {\n        highlight(component, hConfig, hState, firstComp);\n      });\n    };\n    const highlightLast = (component, hConfig, hState) => {\n      getLast(component, hConfig).each(lastComp => {\n        highlight(component, hConfig, hState, lastComp);\n      });\n    };\n    const highlightAt = (component, hConfig, hState, index) => {\n      getByIndex(component, hConfig, hState, index).fold(err => {\n        throw err;\n      }, firstComp => {\n        highlight(component, hConfig, hState, firstComp);\n      });\n    };\n    const highlightBy = (component, hConfig, hState, predicate) => {\n      const candidates = getCandidates(component, hConfig);\n      const targetComp = find$5(candidates, predicate);\n      targetComp.each(c => {\n        highlight(component, hConfig, hState, c);\n      });\n    };\n    const isHighlighted = (component, hConfig, hState, queryTarget) => has(queryTarget.element, hConfig.highlightClass);\n    const getHighlighted = (component, hConfig, _hState) => descendant(component.element, '.' + hConfig.highlightClass).bind(e => component.getSystem().getByDom(e).toOptional());\n    const getByIndex = (component, hConfig, hState, index) => {\n      const items = descendants(component.element, '.' + hConfig.itemClass);\n      return Optional.from(items[index]).fold(() => Result.error(new Error('No element found with index ' + index)), component.getSystem().getByDom);\n    };\n    const getFirst = (component, hConfig, _hState) => descendant(component.element, '.' + hConfig.itemClass).bind(e => component.getSystem().getByDom(e).toOptional());\n    const getLast = (component, hConfig, _hState) => {\n      const items = descendants(component.element, '.' + hConfig.itemClass);\n      const last = items.length > 0 ? Optional.some(items[items.length - 1]) : Optional.none();\n      return last.bind(c => component.getSystem().getByDom(c).toOptional());\n    };\n    const getDelta$2 = (component, hConfig, hState, delta) => {\n      const items = descendants(component.element, '.' + hConfig.itemClass);\n      const current = findIndex$1(items, item => has(item, hConfig.highlightClass));\n      return current.bind(selected => {\n        const dest = cycleBy(selected, delta, 0, items.length - 1);\n        return component.getSystem().getByDom(items[dest]).toOptional();\n      });\n    };\n    const getPrevious = (component, hConfig, hState) => getDelta$2(component, hConfig, hState, -1);\n    const getNext = (component, hConfig, hState) => getDelta$2(component, hConfig, hState, +1);\n    const getCandidates = (component, hConfig, _hState) => {\n      const items = descendants(component.element, '.' + hConfig.itemClass);\n      return cat(map$2(items, i => component.getSystem().getByDom(i).toOptional()));\n    };\n\n    var HighlightApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        dehighlightAll: dehighlightAll,\n        dehighlight: dehighlight,\n        highlight: highlight,\n        highlightFirst: highlightFirst,\n        highlightLast: highlightLast,\n        highlightAt: highlightAt,\n        highlightBy: highlightBy,\n        isHighlighted: isHighlighted,\n        getHighlighted: getHighlighted,\n        getFirst: getFirst,\n        getLast: getLast,\n        getPrevious: getPrevious,\n        getNext: getNext,\n        getCandidates: getCandidates\n    });\n\n    var HighlightSchema = [required$1('highlightClass'), required$1('itemClass'), onHandler('onHighlight'), onHandler('onDehighlight')];\n\n    const Highlighting = create$4({\n      fields: HighlightSchema,\n      name: 'highlighting',\n      apis: HighlightApis\n    });\n\n    const BACKSPACE = [8];\n    const TAB = [9];\n    const ENTER = [13];\n    const ESCAPE = [27];\n    const SPACE = [32];\n    const LEFT = [37];\n    const UP = [38];\n    const RIGHT = [39];\n    const DOWN = [40];\n\n    const cyclePrev = (values, index, predicate) => {\n      const before = reverse(values.slice(0, index));\n      const after = reverse(values.slice(index + 1));\n      return find$5(before.concat(after), predicate);\n    };\n    const tryPrev = (values, index, predicate) => {\n      const before = reverse(values.slice(0, index));\n      return find$5(before, predicate);\n    };\n    const cycleNext = (values, index, predicate) => {\n      const before = values.slice(0, index);\n      const after = values.slice(index + 1);\n      return find$5(after.concat(before), predicate);\n    };\n    const tryNext = (values, index, predicate) => {\n      const after = values.slice(index + 1);\n      return find$5(after, predicate);\n    };\n\n    const inSet = keys => event => {\n      const raw = event.raw;\n      return contains$2(keys, raw.which);\n    };\n    const and = preds => event => forall(preds, pred => pred(event));\n    const isShift$1 = event => {\n      const raw = event.raw;\n      return raw.shiftKey === true;\n    };\n    const isControl = event => {\n      const raw = event.raw;\n      return raw.ctrlKey === true;\n    };\n    const isNotShift = not(isShift$1);\n\n    const rule = (matches, action) => ({\n      matches,\n      classification: action\n    });\n    const choose = (transitions, event) => {\n      const transition = find$5(transitions, t => t.matches(event));\n      return transition.map(t => t.classification);\n    };\n\n    const reportFocusShifting = (component, prevFocus, newFocus) => {\n      const noChange = prevFocus.exists(p => newFocus.exists(n => eq(n, p)));\n      if (!noChange) {\n        emitWith(component, focusShifted(), {\n          prevFocus,\n          newFocus\n        });\n      }\n    };\n    const dom$2 = () => {\n      const get = component => search(component.element);\n      const set = (component, focusee) => {\n        const prevFocus = get(component);\n        component.getSystem().triggerFocus(focusee, component.element);\n        const newFocus = get(component);\n        reportFocusShifting(component, prevFocus, newFocus);\n      };\n      return {\n        get,\n        set\n      };\n    };\n    const highlights = () => {\n      const get = component => Highlighting.getHighlighted(component).map(item => item.element);\n      const set = (component, element) => {\n        const prevFocus = get(component);\n        component.getSystem().getByDom(element).fold(noop, item => {\n          Highlighting.highlight(component, item);\n        });\n        const newFocus = get(component);\n        reportFocusShifting(component, prevFocus, newFocus);\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var FocusInsideModes;\n    (function (FocusInsideModes) {\n      FocusInsideModes['OnFocusMode'] = 'onFocus';\n      FocusInsideModes['OnEnterOrSpaceMode'] = 'onEnterOrSpace';\n      FocusInsideModes['OnApiMode'] = 'onApi';\n    })(FocusInsideModes || (FocusInsideModes = {}));\n\n    const typical = (infoSchema, stateInit, getKeydownRules, getKeyupRules, optFocusIn) => {\n      const schema = () => infoSchema.concat([defaulted('focusManager', dom$2()), defaultedOf('focusInside', 'onFocus', valueOf(val => contains$2(['onFocus', 'onEnterOrSpace', 'onApi'], val) ? Result.value(val) : Result.error('Invalid value for focusInside'))), output$1('handler', me), output$1('state', stateInit), output$1('sendFocusIn', optFocusIn)]);\n      const processKey = (component, simulatedEvent, getRules, keyingConfig, keyingState) => {\n        const rules = getRules(component, simulatedEvent, keyingConfig, keyingState);\n        return choose(rules, simulatedEvent.event).bind(rule => rule(component, simulatedEvent, keyingConfig, keyingState));\n      };\n      const toEvents = (keyingConfig, keyingState) => {\n        const onFocusHandler = keyingConfig.focusInside !== FocusInsideModes.OnFocusMode ? Optional.none() : optFocusIn(keyingConfig).map(focusIn => run$1(focus$4(), (component, simulatedEvent) => {\n          focusIn(component, keyingConfig, keyingState);\n          simulatedEvent.stop();\n        }));\n        const tryGoInsideComponent = (component, simulatedEvent) => {\n          const isEnterOrSpace = inSet(SPACE.concat(ENTER))(simulatedEvent.event);\n          if (keyingConfig.focusInside === FocusInsideModes.OnEnterOrSpaceMode && isEnterOrSpace && isSource(component, simulatedEvent)) {\n            optFocusIn(keyingConfig).each(focusIn => {\n              focusIn(component, keyingConfig, keyingState);\n              simulatedEvent.stop();\n            });\n          }\n        };\n        const keyboardEvents = [run$1(keydown(), (component, simulatedEvent) => {\n          processKey(component, simulatedEvent, getKeydownRules, keyingConfig, keyingState).fold(() => {\n            tryGoInsideComponent(component, simulatedEvent);\n          }, _ => {\n            simulatedEvent.stop();\n          });\n        }), run$1(keyup(), (component, simulatedEvent) => {\n          processKey(component, simulatedEvent, getKeyupRules, keyingConfig, keyingState).each(_ => {\n            simulatedEvent.stop();\n          });\n        })];\n        return derive$2(onFocusHandler.toArray().concat(keyboardEvents));\n      };\n      const me = {\n        schema,\n        processKey,\n        toEvents\n      };\n      return me;\n    };\n\n    const create$2 = cyclicField => {\n      const schema = [option$3('onEscape'), option$3('onEnter'), defaulted('selector', '[data-alloy-tabstop=\"true\"]:not(:disabled)'), defaulted('firstTabstop', 0), defaulted('useTabstopAt', always), option$3('visibilitySelector')].concat([cyclicField]);\n      const isVisible = (tabbingConfig, element) => {\n        const target = tabbingConfig.visibilitySelector.bind(sel => closest$1(element, sel)).getOr(element);\n        return get$d(target) > 0;\n      };\n      const findInitial = (component, tabbingConfig) => {\n        const tabstops = descendants(component.element, tabbingConfig.selector);\n        const visibles = filter$2(tabstops, elem => isVisible(tabbingConfig, elem));\n        return Optional.from(visibles[tabbingConfig.firstTabstop]);\n      };\n      const findCurrent = (component, tabbingConfig) => tabbingConfig.focusManager.get(component).bind(elem => closest$1(elem, tabbingConfig.selector));\n      const isTabstop = (tabbingConfig, element) => isVisible(tabbingConfig, element) && tabbingConfig.useTabstopAt(element);\n      const focusIn = (component, tabbingConfig, _tabbingState) => {\n        findInitial(component, tabbingConfig).each(target => {\n          tabbingConfig.focusManager.set(component, target);\n        });\n      };\n      const goFromTabstop = (component, tabstops, stopIndex, tabbingConfig, cycle) => cycle(tabstops, stopIndex, elem => isTabstop(tabbingConfig, elem)).fold(() => tabbingConfig.cyclic ? Optional.some(true) : Optional.none(), target => {\n        tabbingConfig.focusManager.set(component, target);\n        return Optional.some(true);\n      });\n      const go = (component, _simulatedEvent, tabbingConfig, cycle) => {\n        const tabstops = descendants(component.element, tabbingConfig.selector);\n        return findCurrent(component, tabbingConfig).bind(tabstop => {\n          const optStopIndex = findIndex$1(tabstops, curry(eq, tabstop));\n          return optStopIndex.bind(stopIndex => goFromTabstop(component, tabstops, stopIndex, tabbingConfig, cycle));\n        });\n      };\n      const goBackwards = (component, simulatedEvent, tabbingConfig) => {\n        const navigate = tabbingConfig.cyclic ? cyclePrev : tryPrev;\n        return go(component, simulatedEvent, tabbingConfig, navigate);\n      };\n      const goForwards = (component, simulatedEvent, tabbingConfig) => {\n        const navigate = tabbingConfig.cyclic ? cycleNext : tryNext;\n        return go(component, simulatedEvent, tabbingConfig, navigate);\n      };\n      const isFirstChild = elem => parentNode(elem).bind(firstChild).exists(child => eq(child, elem));\n      const goFromPseudoTabstop = (component, simulatedEvent, tabbingConfig) => findCurrent(component, tabbingConfig).filter(elem => !tabbingConfig.useTabstopAt(elem)).bind(elem => (isFirstChild(elem) ? goBackwards : goForwards)(component, simulatedEvent, tabbingConfig));\n      const execute = (component, simulatedEvent, tabbingConfig) => tabbingConfig.onEnter.bind(f => f(component, simulatedEvent));\n      const exit = (component, simulatedEvent, tabbingConfig) => tabbingConfig.onEscape.bind(f => f(component, simulatedEvent));\n      const getKeydownRules = constant$1([rule(and([isShift$1, inSet(TAB)]), goBackwards), rule(inSet(TAB), goForwards), rule(and([isNotShift, inSet(ENTER)]), execute)]);\n      const getKeyupRules = constant$1([rule(inSet(ESCAPE), exit), rule(inSet(TAB), goFromPseudoTabstop)]);\n      return typical(schema, NoState.init, getKeydownRules, getKeyupRules, () => Optional.some(focusIn));\n    };\n\n    var AcyclicType = create$2(customField('cyclic', never));\n\n    var CyclicType = create$2(customField('cyclic', always));\n\n    const doDefaultExecute = (component, _simulatedEvent, focused) => {\n      dispatch(component, focused, execute$5());\n      return Optional.some(true);\n    };\n    const defaultExecute = (component, simulatedEvent, focused) => {\n      const isComplex = inside(focused) && inSet(SPACE)(simulatedEvent.event);\n      return isComplex ? Optional.none() : doDefaultExecute(component, simulatedEvent, focused);\n    };\n    const stopEventForFirefox = (_component, _simulatedEvent) => Optional.some(true);\n\n    const schema$v = [defaulted('execute', defaultExecute), defaulted('useSpace', false), defaulted('useEnter', true), defaulted('useControlEnter', false), defaulted('useDown', false)];\n    const execute$4 = (component, simulatedEvent, executeConfig) => executeConfig.execute(component, simulatedEvent, component.element);\n    const getKeydownRules$5 = (component, _simulatedEvent, executeConfig, _executeState) => {\n      const spaceExec = executeConfig.useSpace && !inside(component.element) ? SPACE : [];\n      const enterExec = executeConfig.useEnter ? ENTER : [];\n      const downExec = executeConfig.useDown ? DOWN : [];\n      const execKeys = spaceExec.concat(enterExec).concat(downExec);\n      return [rule(inSet(execKeys), execute$4)].concat(executeConfig.useControlEnter ? [rule(and([isControl, inSet(ENTER)]), execute$4)] : []);\n    };\n    const getKeyupRules$5 = (component, _simulatedEvent, executeConfig, _executeState) => executeConfig.useSpace && !inside(component.element) ? [rule(inSet(SPACE), stopEventForFirefox)] : [];\n    var ExecutionType = typical(schema$v, NoState.init, getKeydownRules$5, getKeyupRules$5, () => Optional.none());\n\n    const flatgrid$1 = () => {\n      const dimensions = value$2();\n      const setGridSize = (numRows, numColumns) => {\n        dimensions.set({\n          numRows,\n          numColumns\n        });\n      };\n      const getNumRows = () => dimensions.get().map(d => d.numRows);\n      const getNumColumns = () => dimensions.get().map(d => d.numColumns);\n      return nu$8({\n        readState: () => dimensions.get().map(d => ({\n          numRows: String(d.numRows),\n          numColumns: String(d.numColumns)\n        })).getOr({\n          numRows: '?',\n          numColumns: '?'\n        }),\n        setGridSize,\n        getNumRows,\n        getNumColumns\n      });\n    };\n    const init$d = spec => spec.state(spec);\n\n    var KeyingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        flatgrid: flatgrid$1,\n        init: init$d\n    });\n\n    const useH = movement => (component, simulatedEvent, config, state) => {\n      const move = movement(component.element);\n      return use(move, component, simulatedEvent, config, state);\n    };\n    const west$1 = (moveLeft, moveRight) => {\n      const movement = onDirection(moveLeft, moveRight);\n      return useH(movement);\n    };\n    const east$1 = (moveLeft, moveRight) => {\n      const movement = onDirection(moveRight, moveLeft);\n      return useH(movement);\n    };\n    const useV = move => (component, simulatedEvent, config, state) => use(move, component, simulatedEvent, config, state);\n    const use = (move, component, simulatedEvent, config, state) => {\n      const outcome = config.focusManager.get(component).bind(focused => move(component.element, focused, config, state));\n      return outcome.map(newFocus => {\n        config.focusManager.set(component, newFocus);\n        return true;\n      });\n    };\n    const north$1 = useV;\n    const south$1 = useV;\n    const move$1 = useV;\n\n    const isHidden$1 = dom => dom.offsetWidth <= 0 && dom.offsetHeight <= 0;\n    const isVisible = element => !isHidden$1(element.dom);\n\n    const locate = (candidates, predicate) => findIndex$1(candidates, predicate).map(index => ({\n      index,\n      candidates\n    }));\n\n    const locateVisible = (container, current, selector) => {\n      const predicate = x => eq(x, current);\n      const candidates = descendants(container, selector);\n      const visible = filter$2(candidates, isVisible);\n      return locate(visible, predicate);\n    };\n    const findIndex = (elements, target) => findIndex$1(elements, elem => eq(target, elem));\n\n    const withGrid = (values, index, numCols, f) => {\n      const oldRow = Math.floor(index / numCols);\n      const oldColumn = index % numCols;\n      return f(oldRow, oldColumn).bind(address => {\n        const newIndex = address.row * numCols + address.column;\n        return newIndex >= 0 && newIndex < values.length ? Optional.some(values[newIndex]) : Optional.none();\n      });\n    };\n    const cycleHorizontal$1 = (values, index, numRows, numCols, delta) => withGrid(values, index, numCols, (oldRow, oldColumn) => {\n      const onLastRow = oldRow === numRows - 1;\n      const colsInRow = onLastRow ? values.length - oldRow * numCols : numCols;\n      const newColumn = cycleBy(oldColumn, delta, 0, colsInRow - 1);\n      return Optional.some({\n        row: oldRow,\n        column: newColumn\n      });\n    });\n    const cycleVertical$1 = (values, index, numRows, numCols, delta) => withGrid(values, index, numCols, (oldRow, oldColumn) => {\n      const newRow = cycleBy(oldRow, delta, 0, numRows - 1);\n      const onLastRow = newRow === numRows - 1;\n      const colsInRow = onLastRow ? values.length - newRow * numCols : numCols;\n      const newCol = clamp(oldColumn, 0, colsInRow - 1);\n      return Optional.some({\n        row: newRow,\n        column: newCol\n      });\n    });\n    const cycleRight$1 = (values, index, numRows, numCols) => cycleHorizontal$1(values, index, numRows, numCols, +1);\n    const cycleLeft$1 = (values, index, numRows, numCols) => cycleHorizontal$1(values, index, numRows, numCols, -1);\n    const cycleUp$1 = (values, index, numRows, numCols) => cycleVertical$1(values, index, numRows, numCols, -1);\n    const cycleDown$1 = (values, index, numRows, numCols) => cycleVertical$1(values, index, numRows, numCols, +1);\n\n    const schema$u = [required$1('selector'), defaulted('execute', defaultExecute), onKeyboardHandler('onEscape'), defaulted('captureTab', false), initSize()];\n    const focusIn$3 = (component, gridConfig, _gridState) => {\n      descendant(component.element, gridConfig.selector).each(first => {\n        gridConfig.focusManager.set(component, first);\n      });\n    };\n    const findCurrent$1 = (component, gridConfig) => gridConfig.focusManager.get(component).bind(elem => closest$1(elem, gridConfig.selector));\n    const execute$3 = (component, simulatedEvent, gridConfig, _gridState) => findCurrent$1(component, gridConfig).bind(focused => gridConfig.execute(component, simulatedEvent, focused));\n    const doMove$2 = cycle => (element, focused, gridConfig, gridState) => locateVisible(element, focused, gridConfig.selector).bind(identified => cycle(identified.candidates, identified.index, gridState.getNumRows().getOr(gridConfig.initSize.numRows), gridState.getNumColumns().getOr(gridConfig.initSize.numColumns)));\n    const handleTab = (_component, _simulatedEvent, gridConfig) => gridConfig.captureTab ? Optional.some(true) : Optional.none();\n    const doEscape$1 = (component, simulatedEvent, gridConfig) => gridConfig.onEscape(component, simulatedEvent);\n    const moveLeft$3 = doMove$2(cycleLeft$1);\n    const moveRight$3 = doMove$2(cycleRight$1);\n    const moveNorth$1 = doMove$2(cycleUp$1);\n    const moveSouth$1 = doMove$2(cycleDown$1);\n    const getKeydownRules$4 = constant$1([rule(inSet(LEFT), west$1(moveLeft$3, moveRight$3)), rule(inSet(RIGHT), east$1(moveLeft$3, moveRight$3)), rule(inSet(UP), north$1(moveNorth$1)), rule(inSet(DOWN), south$1(moveSouth$1)), rule(and([isShift$1, inSet(TAB)]), handleTab), rule(and([isNotShift, inSet(TAB)]), handleTab), rule(inSet(SPACE.concat(ENTER)), execute$3)]);\n    const getKeyupRules$4 = constant$1([rule(inSet(ESCAPE), doEscape$1), rule(inSet(SPACE), stopEventForFirefox)]);\n    var FlatgridType = typical(schema$u, flatgrid$1, getKeydownRules$4, getKeyupRules$4, () => Optional.some(focusIn$3));\n\n    const f = (container, selector, current, delta, getNewIndex) => {\n      const isDisabledButton = candidate => name$3(candidate) === 'button' && get$f(candidate, 'disabled') === 'disabled';\n      const tryNewIndex = (initial, index, candidates) => getNewIndex(initial, index, delta, 0, candidates.length - 1, candidates[index], newIndex => isDisabledButton(candidates[newIndex]) ? tryNewIndex(initial, newIndex, candidates) : Optional.from(candidates[newIndex]));\n      return locateVisible(container, current, selector).bind(identified => {\n        const index = identified.index;\n        const candidates = identified.candidates;\n        return tryNewIndex(index, index, candidates);\n      });\n    };\n    const horizontalWithoutCycles = (container, selector, current, delta) => f(container, selector, current, delta, (prevIndex, v, d, min, max, oldCandidate, onNewIndex) => {\n      const newIndex = clamp(v + d, min, max);\n      return newIndex === prevIndex ? Optional.from(oldCandidate) : onNewIndex(newIndex);\n    });\n    const horizontal = (container, selector, current, delta) => f(container, selector, current, delta, (prevIndex, v, d, min, max, _oldCandidate, onNewIndex) => {\n      const newIndex = cycleBy(v, d, min, max);\n      return newIndex === prevIndex ? Optional.none() : onNewIndex(newIndex);\n    });\n\n    const schema$t = [required$1('selector'), defaulted('getInitial', Optional.none), defaulted('execute', defaultExecute), onKeyboardHandler('onEscape'), defaulted('executeOnMove', false), defaulted('allowVertical', true), defaulted('allowHorizontal', true), defaulted('cycles', true)];\n    const findCurrent = (component, flowConfig) => flowConfig.focusManager.get(component).bind(elem => closest$1(elem, flowConfig.selector));\n    const execute$2 = (component, simulatedEvent, flowConfig) => findCurrent(component, flowConfig).bind(focused => flowConfig.execute(component, simulatedEvent, focused));\n    const focusIn$2 = (component, flowConfig, _state) => {\n      flowConfig.getInitial(component).orThunk(() => descendant(component.element, flowConfig.selector)).each(first => {\n        flowConfig.focusManager.set(component, first);\n      });\n    };\n    const moveLeft$2 = (element, focused, info) => (info.cycles ? horizontal : horizontalWithoutCycles)(element, info.selector, focused, -1);\n    const moveRight$2 = (element, focused, info) => (info.cycles ? horizontal : horizontalWithoutCycles)(element, info.selector, focused, +1);\n    const doMove$1 = movement => (component, simulatedEvent, flowConfig, flowState) => movement(component, simulatedEvent, flowConfig, flowState).bind(() => flowConfig.executeOnMove ? execute$2(component, simulatedEvent, flowConfig) : Optional.some(true));\n    const doEscape = (component, simulatedEvent, flowConfig) => flowConfig.onEscape(component, simulatedEvent);\n    const getKeydownRules$3 = (_component, _se, flowConfig, _flowState) => {\n      const westMovers = [...(flowConfig.allowHorizontal ? LEFT : [])].concat(flowConfig.allowVertical ? UP : []);\n      const eastMovers = [...(flowConfig.allowHorizontal ? RIGHT : [])].concat(flowConfig.allowVertical ? DOWN : []);\n      return [rule(inSet(westMovers), doMove$1(west$1(moveLeft$2, moveRight$2))), rule(inSet(eastMovers), doMove$1(east$1(moveLeft$2, moveRight$2))), rule(inSet(ENTER), execute$2), rule(inSet(SPACE), execute$2)];\n    };\n    const getKeyupRules$3 = constant$1([rule(inSet(SPACE), stopEventForFirefox), rule(inSet(ESCAPE), doEscape)]);\n    var FlowType = typical(schema$t, NoState.init, getKeydownRules$3, getKeyupRules$3, () => Optional.some(focusIn$2));\n\n    const toCell = (matrix, rowIndex, columnIndex) => Optional.from(matrix[rowIndex]).bind(row => Optional.from(row[columnIndex]).map(cell => ({\n      rowIndex,\n      columnIndex,\n      cell\n    })));\n    const cycleHorizontal = (matrix, rowIndex, startCol, deltaCol) => {\n      const row = matrix[rowIndex];\n      const colsInRow = row.length;\n      const newColIndex = cycleBy(startCol, deltaCol, 0, colsInRow - 1);\n      return toCell(matrix, rowIndex, newColIndex);\n    };\n    const cycleVertical = (matrix, colIndex, startRow, deltaRow) => {\n      const nextRowIndex = cycleBy(startRow, deltaRow, 0, matrix.length - 1);\n      const colsInNextRow = matrix[nextRowIndex].length;\n      const nextColIndex = clamp(colIndex, 0, colsInNextRow - 1);\n      return toCell(matrix, nextRowIndex, nextColIndex);\n    };\n    const moveHorizontal = (matrix, rowIndex, startCol, deltaCol) => {\n      const row = matrix[rowIndex];\n      const colsInRow = row.length;\n      const newColIndex = clamp(startCol + deltaCol, 0, colsInRow - 1);\n      return toCell(matrix, rowIndex, newColIndex);\n    };\n    const moveVertical = (matrix, colIndex, startRow, deltaRow) => {\n      const nextRowIndex = clamp(startRow + deltaRow, 0, matrix.length - 1);\n      const colsInNextRow = matrix[nextRowIndex].length;\n      const nextColIndex = clamp(colIndex, 0, colsInNextRow - 1);\n      return toCell(matrix, nextRowIndex, nextColIndex);\n    };\n    const cycleRight = (matrix, startRow, startCol) => cycleHorizontal(matrix, startRow, startCol, +1);\n    const cycleLeft = (matrix, startRow, startCol) => cycleHorizontal(matrix, startRow, startCol, -1);\n    const cycleUp = (matrix, startRow, startCol) => cycleVertical(matrix, startCol, startRow, -1);\n    const cycleDown = (matrix, startRow, startCol) => cycleVertical(matrix, startCol, startRow, +1);\n    const moveLeft$1 = (matrix, startRow, startCol) => moveHorizontal(matrix, startRow, startCol, -1);\n    const moveRight$1 = (matrix, startRow, startCol) => moveHorizontal(matrix, startRow, startCol, +1);\n    const moveUp$1 = (matrix, startRow, startCol) => moveVertical(matrix, startCol, startRow, -1);\n    const moveDown$1 = (matrix, startRow, startCol) => moveVertical(matrix, startCol, startRow, +1);\n\n    const schema$s = [requiredObjOf('selectors', [required$1('row'), required$1('cell')]), defaulted('cycles', true), defaulted('previousSelector', Optional.none), defaulted('execute', defaultExecute)];\n    const focusIn$1 = (component, matrixConfig, _state) => {\n      const focused = matrixConfig.previousSelector(component).orThunk(() => {\n        const selectors = matrixConfig.selectors;\n        return descendant(component.element, selectors.cell);\n      });\n      focused.each(cell => {\n        matrixConfig.focusManager.set(component, cell);\n      });\n    };\n    const execute$1 = (component, simulatedEvent, matrixConfig) => search(component.element).bind(focused => matrixConfig.execute(component, simulatedEvent, focused));\n    const toMatrix = (rows, matrixConfig) => map$2(rows, row => descendants(row, matrixConfig.selectors.cell));\n    const doMove = (ifCycle, ifMove) => (element, focused, matrixConfig) => {\n      const move = matrixConfig.cycles ? ifCycle : ifMove;\n      return closest$1(focused, matrixConfig.selectors.row).bind(inRow => {\n        const cellsInRow = descendants(inRow, matrixConfig.selectors.cell);\n        return findIndex(cellsInRow, focused).bind(colIndex => {\n          const allRows = descendants(element, matrixConfig.selectors.row);\n          return findIndex(allRows, inRow).bind(rowIndex => {\n            const matrix = toMatrix(allRows, matrixConfig);\n            return move(matrix, rowIndex, colIndex).map(next => next.cell);\n          });\n        });\n      });\n    };\n    const moveLeft = doMove(cycleLeft, moveLeft$1);\n    const moveRight = doMove(cycleRight, moveRight$1);\n    const moveNorth = doMove(cycleUp, moveUp$1);\n    const moveSouth = doMove(cycleDown, moveDown$1);\n    const getKeydownRules$2 = constant$1([rule(inSet(LEFT), west$1(moveLeft, moveRight)), rule(inSet(RIGHT), east$1(moveLeft, moveRight)), rule(inSet(UP), north$1(moveNorth)), rule(inSet(DOWN), south$1(moveSouth)), rule(inSet(SPACE.concat(ENTER)), execute$1)]);\n    const getKeyupRules$2 = constant$1([rule(inSet(SPACE), stopEventForFirefox)]);\n    var MatrixType = typical(schema$s, NoState.init, getKeydownRules$2, getKeyupRules$2, () => Optional.some(focusIn$1));\n\n    const schema$r = [required$1('selector'), defaulted('execute', defaultExecute), defaulted('moveOnTab', false)];\n    const execute = (component, simulatedEvent, menuConfig) => menuConfig.focusManager.get(component).bind(focused => menuConfig.execute(component, simulatedEvent, focused));\n    const focusIn = (component, menuConfig, _state) => {\n      descendant(component.element, menuConfig.selector).each(first => {\n        menuConfig.focusManager.set(component, first);\n      });\n    };\n    const moveUp = (element, focused, info) => horizontal(element, info.selector, focused, -1);\n    const moveDown = (element, focused, info) => horizontal(element, info.selector, focused, +1);\n    const fireShiftTab = (component, simulatedEvent, menuConfig, menuState) => menuConfig.moveOnTab ? move$1(moveUp)(component, simulatedEvent, menuConfig, menuState) : Optional.none();\n    const fireTab = (component, simulatedEvent, menuConfig, menuState) => menuConfig.moveOnTab ? move$1(moveDown)(component, simulatedEvent, menuConfig, menuState) : Optional.none();\n    const getKeydownRules$1 = constant$1([rule(inSet(UP), move$1(moveUp)), rule(inSet(DOWN), move$1(moveDown)), rule(and([isShift$1, inSet(TAB)]), fireShiftTab), rule(and([isNotShift, inSet(TAB)]), fireTab), rule(inSet(ENTER), execute), rule(inSet(SPACE), execute)]);\n    const getKeyupRules$1 = constant$1([rule(inSet(SPACE), stopEventForFirefox)]);\n    var MenuType = typical(schema$r, NoState.init, getKeydownRules$1, getKeyupRules$1, () => Optional.some(focusIn));\n\n    const schema$q = [onKeyboardHandler('onSpace'), onKeyboardHandler('onEnter'), onKeyboardHandler('onShiftEnter'), onKeyboardHandler('onLeft'), onKeyboardHandler('onRight'), onKeyboardHandler('onTab'), onKeyboardHandler('onShiftTab'), onKeyboardHandler('onUp'), onKeyboardHandler('onDown'), onKeyboardHandler('onEscape'), defaulted('stopSpaceKeyup', false), option$3('focusIn')];\n    const getKeydownRules = (component, simulatedEvent, specialInfo) => [rule(inSet(SPACE), specialInfo.onSpace), rule(and([isNotShift, inSet(ENTER)]), specialInfo.onEnter), rule(and([isShift$1, inSet(ENTER)]), specialInfo.onShiftEnter), rule(and([isShift$1, inSet(TAB)]), specialInfo.onShiftTab), rule(and([isNotShift, inSet(TAB)]), specialInfo.onTab), rule(inSet(UP), specialInfo.onUp), rule(inSet(DOWN), specialInfo.onDown), rule(inSet(LEFT), specialInfo.onLeft), rule(inSet(RIGHT), specialInfo.onRight), rule(inSet(SPACE), specialInfo.onSpace)];\n    const getKeyupRules = (component, simulatedEvent, specialInfo) => [...(specialInfo.stopSpaceKeyup ? [rule(inSet(SPACE), stopEventForFirefox)] : []), rule(inSet(ESCAPE), specialInfo.onEscape)];\n    var SpecialType = typical(schema$q, NoState.init, getKeydownRules, getKeyupRules, specialInfo => specialInfo.focusIn);\n\n    const acyclic = AcyclicType.schema();\n    const cyclic = CyclicType.schema();\n    const flow = FlowType.schema();\n    const flatgrid = FlatgridType.schema();\n    const matrix = MatrixType.schema();\n    const execution = ExecutionType.schema();\n    const menu = MenuType.schema();\n    const special = SpecialType.schema();\n\n    var KeyboardBranches = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        acyclic: acyclic,\n        cyclic: cyclic,\n        flow: flow,\n        flatgrid: flatgrid,\n        matrix: matrix,\n        execution: execution,\n        menu: menu,\n        special: special\n    });\n\n    const isFlatgridState = keyState => hasNonNullableKey(keyState, 'setGridSize');\n    const Keying = createModes({\n      branchKey: 'mode',\n      branches: KeyboardBranches,\n      name: 'keying',\n      active: {\n        events: (keyingConfig, keyingState) => {\n          const handler = keyingConfig.handler;\n          return handler.toEvents(keyingConfig, keyingState);\n        }\n      },\n      apis: {\n        focusIn: (component, keyConfig, keyState) => {\n          keyConfig.sendFocusIn(keyConfig).fold(() => {\n            component.getSystem().triggerFocus(component.element, component.element);\n          }, sendFocusIn => {\n            sendFocusIn(component, keyConfig, keyState);\n          });\n        },\n        setGridSize: (component, keyConfig, keyState, numRows, numColumns) => {\n          if (!isFlatgridState(keyState)) {\n            console.error('Layout does not support setGridSize');\n          } else {\n            keyState.setGridSize(numRows, numColumns);\n          }\n        }\n      },\n      state: KeyingState\n    });\n\n    const withoutReuse = (parent, data) => {\n      preserve$1(() => {\n        replaceChildren(parent, data, () => map$2(data, parent.getSystem().build));\n      }, parent.element);\n    };\n    const withReuse = (parent, data) => {\n      preserve$1(() => {\n        virtualReplaceChildren(parent, data, () => {\n          return patchSpecChildren(parent.element, data, parent.getSystem().buildOrPatch);\n        });\n      }, parent.element);\n    };\n\n    const virtualReplace = (component, replacee, replaceeIndex, childSpec) => {\n      virtualDetach(replacee);\n      const child = patchSpecChild(component.element, replaceeIndex, childSpec, component.getSystem().buildOrPatch);\n      virtualAttach(component, child);\n      component.syncComponents();\n    };\n    const insert = (component, insertion, childSpec) => {\n      const child = component.getSystem().build(childSpec);\n      attachWith(component, child, insertion);\n    };\n    const replace = (component, replacee, replaceeIndex, childSpec) => {\n      detach(replacee);\n      insert(component, (p, c) => appendAt(p, c, replaceeIndex), childSpec);\n    };\n    const set$3 = (component, replaceConfig, replaceState, data) => {\n      const replacer = replaceConfig.reuseDom ? withReuse : withoutReuse;\n      return replacer(component, data);\n    };\n    const append = (component, replaceConfig, replaceState, appendee) => {\n      insert(component, append$2, appendee);\n    };\n    const prepend = (component, replaceConfig, replaceState, prependee) => {\n      insert(component, prepend$1, prependee);\n    };\n    const remove = (component, replaceConfig, replaceState, removee) => {\n      const children = contents(component);\n      const foundChild = find$5(children, child => eq(removee.element, child.element));\n      foundChild.each(detach);\n    };\n    const contents = (component, _replaceConfig) => component.components();\n    const replaceAt = (component, replaceConfig, replaceState, replaceeIndex, replacer) => {\n      const children = contents(component);\n      return Optional.from(children[replaceeIndex]).map(replacee => {\n        replacer.fold(() => detach(replacee), r => {\n          const replacer = replaceConfig.reuseDom ? virtualReplace : replace;\n          replacer(component, replacee, replaceeIndex, r);\n        });\n        return replacee;\n      });\n    };\n    const replaceBy = (component, replaceConfig, replaceState, replaceePred, replacer) => {\n      const children = contents(component);\n      return findIndex$1(children, replaceePred).bind(replaceeIndex => replaceAt(component, replaceConfig, replaceState, replaceeIndex, replacer));\n    };\n\n    var ReplaceApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        append: append,\n        prepend: prepend,\n        remove: remove,\n        replaceAt: replaceAt,\n        replaceBy: replaceBy,\n        set: set$3,\n        contents: contents\n    });\n\n    const Replacing = create$4({\n      fields: [defaultedBoolean('reuseDom', true)],\n      name: 'replacing',\n      apis: ReplaceApis\n    });\n\n    const events$d = (name, eventHandlers) => {\n      const events = derive$2(eventHandlers);\n      return create$4({\n        fields: [required$1('enabled')],\n        name,\n        active: {\n          events: constant$1(events)\n        }\n      });\n    };\n    const config = (name, eventHandlers) => {\n      const me = events$d(name, eventHandlers);\n      return {\n        key: name,\n        value: {\n          config: {},\n          me,\n          configAsRaw: constant$1({}),\n          initialConfig: {},\n          state: NoState\n        }\n      };\n    };\n\n    const focus$2 = (component, focusConfig) => {\n      if (!focusConfig.ignore) {\n        focus$3(component.element);\n        focusConfig.onFocus(component);\n      }\n    };\n    const blur = (component, focusConfig) => {\n      if (!focusConfig.ignore) {\n        blur$1(component.element);\n      }\n    };\n    const isFocused = component => hasFocus(component.element);\n\n    var FocusApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        focus: focus$2,\n        blur: blur,\n        isFocused: isFocused\n    });\n\n    const exhibit$4 = (base, focusConfig) => {\n      const mod = focusConfig.ignore ? {} : {\n        attributes: {\n          tabindex: '-1'\n        }\n      };\n      return nu$7(mod);\n    };\n    const events$c = focusConfig => derive$2([run$1(focus$4(), (component, simulatedEvent) => {\n      focus$2(component, focusConfig);\n      simulatedEvent.stop();\n    })].concat(focusConfig.stopMousedown ? [run$1(mousedown(), (_, simulatedEvent) => {\n      simulatedEvent.event.prevent();\n    })] : []));\n\n    var ActiveFocus = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit$4,\n        events: events$c\n    });\n\n    var FocusSchema = [onHandler('onFocus'), defaulted('stopMousedown', false), defaulted('ignore', false)];\n\n    const Focusing = create$4({\n      fields: FocusSchema,\n      name: 'focusing',\n      active: ActiveFocus,\n      apis: FocusApis\n    });\n\n    const SetupBehaviourCellState = initialState => {\n      const init = () => {\n        const cell = Cell(initialState);\n        const get = () => cell.get();\n        const set = newState => cell.set(newState);\n        const clear = () => cell.set(initialState);\n        const readState = () => cell.get();\n        return {\n          get,\n          set,\n          clear,\n          readState\n        };\n      };\n      return {\n        init\n      };\n    };\n\n    const updateAriaState = (component, toggleConfig, toggleState) => {\n      const ariaInfo = toggleConfig.aria;\n      ariaInfo.update(component, ariaInfo, toggleState.get());\n    };\n    const updateClass = (component, toggleConfig, toggleState) => {\n      toggleConfig.toggleClass.each(toggleClass => {\n        if (toggleState.get()) {\n          add$2(component.element, toggleClass);\n        } else {\n          remove$2(component.element, toggleClass);\n        }\n      });\n    };\n    const set$2 = (component, toggleConfig, toggleState, state) => {\n      const initialState = toggleState.get();\n      toggleState.set(state);\n      updateClass(component, toggleConfig, toggleState);\n      updateAriaState(component, toggleConfig, toggleState);\n      if (initialState !== state) {\n        toggleConfig.onToggled(component, state);\n      }\n    };\n    const toggle$2 = (component, toggleConfig, toggleState) => {\n      set$2(component, toggleConfig, toggleState, !toggleState.get());\n    };\n    const on = (component, toggleConfig, toggleState) => {\n      set$2(component, toggleConfig, toggleState, true);\n    };\n    const off = (component, toggleConfig, toggleState) => {\n      set$2(component, toggleConfig, toggleState, false);\n    };\n    const isOn = (component, toggleConfig, toggleState) => toggleState.get();\n    const onLoad = (component, toggleConfig, toggleState) => {\n      set$2(component, toggleConfig, toggleState, toggleConfig.selected);\n    };\n\n    var ToggleApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        onLoad: onLoad,\n        toggle: toggle$2,\n        isOn: isOn,\n        on: on,\n        off: off,\n        set: set$2\n    });\n\n    const exhibit$3 = () => nu$7({});\n    const events$b = (toggleConfig, toggleState) => {\n      const execute = executeEvent(toggleConfig, toggleState, toggle$2);\n      const load = loadEvent(toggleConfig, toggleState, onLoad);\n      return derive$2(flatten([toggleConfig.toggleOnExecute ? [execute] : [], [load]]));\n    };\n\n    var ActiveToggle = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit$3,\n        events: events$b\n    });\n\n    const updatePressed = (component, ariaInfo, status) => {\n      set$9(component.element, 'aria-pressed', status);\n      if (ariaInfo.syncWithExpanded) {\n        updateExpanded(component, ariaInfo, status);\n      }\n    };\n    const updateSelected = (component, ariaInfo, status) => {\n      set$9(component.element, 'aria-selected', status);\n    };\n    const updateChecked = (component, ariaInfo, status) => {\n      set$9(component.element, 'aria-checked', status);\n    };\n    const updateExpanded = (component, ariaInfo, status) => {\n      set$9(component.element, 'aria-expanded', status);\n    };\n\n    var ToggleSchema = [defaulted('selected', false), option$3('toggleClass'), defaulted('toggleOnExecute', true), onHandler('onToggled'), defaultedOf('aria', {\n      mode: 'none'\n    }, choose$1('mode', {\n      pressed: [defaulted('syncWithExpanded', false), output$1('update', updatePressed)],\n      checked: [output$1('update', updateChecked)],\n      expanded: [output$1('update', updateExpanded)],\n      selected: [output$1('update', updateSelected)],\n      none: [output$1('update', noop)]\n    }))];\n\n    const Toggling = create$4({\n      fields: ToggleSchema,\n      name: 'toggling',\n      active: ActiveToggle,\n      apis: ToggleApis,\n      state: SetupBehaviourCellState(false)\n    });\n\n    const pointerEvents = () => {\n      const onClick = (component, simulatedEvent) => {\n        simulatedEvent.stop();\n        emitExecute(component);\n      };\n      return [run$1(click(), onClick), run$1(tap(), onClick), cutter(touchstart()), cutter(mousedown())];\n    };\n    const events$a = optAction => {\n      const executeHandler = action => runOnExecute$1((component, simulatedEvent) => {\n        action(component);\n        simulatedEvent.stop();\n      });\n      return derive$2(flatten([optAction.map(executeHandler).toArray(), pointerEvents()]));\n    };\n\n    const hoverEvent = 'alloy.item-hover';\n    const focusEvent = 'alloy.item-focus';\n    const toggledEvent = 'alloy.item-toggled';\n    const onHover = item => {\n      if (search(item.element).isNone() || Focusing.isFocused(item)) {\n        if (!Focusing.isFocused(item)) {\n          Focusing.focus(item);\n        }\n        emitWith(item, hoverEvent, {\n          item\n        });\n      }\n    };\n    const onFocus$1 = item => {\n      emitWith(item, focusEvent, {\n        item\n      });\n    };\n    const onToggled = (item, state) => {\n      emitWith(item, toggledEvent, {\n        item,\n        state\n      });\n    };\n    const hover = constant$1(hoverEvent);\n    const focus$1 = constant$1(focusEvent);\n    const toggled = constant$1(toggledEvent);\n\n    const getItemRole = detail => detail.toggling.map(toggling => toggling.exclusive ? 'menuitemradio' : 'menuitemcheckbox').getOr('menuitem');\n    const getTogglingSpec = tConfig => ({\n      aria: {\n        mode: 'checked'\n      },\n      ...filter$1(tConfig, (_value, name) => name !== 'exclusive'),\n      onToggled: (component, state) => {\n        if (isFunction(tConfig.onToggled)) {\n          tConfig.onToggled(component, state);\n        }\n        onToggled(component, state);\n      }\n    });\n    const builder$2 = detail => ({\n      dom: detail.dom,\n      domModification: {\n        ...detail.domModification,\n        attributes: {\n          'role': getItemRole(detail),\n          ...detail.domModification.attributes,\n          'aria-haspopup': detail.hasSubmenu,\n          ...(detail.hasSubmenu ? {\n            'aria-expanded': false\n          } : {})\n        }\n      },\n      behaviours: SketchBehaviours.augment(detail.itemBehaviours, [detail.toggling.fold(Toggling.revoke, tConfig => Toggling.config(getTogglingSpec(tConfig))), Focusing.config({\n        ignore: detail.ignoreFocus,\n        stopMousedown: detail.ignoreFocus,\n        onFocus: component => {\n          onFocus$1(component);\n        }\n      }), Keying.config({\n        mode: 'execution'\n      }), Representing.config({\n        store: {\n          mode: 'memory',\n          initialValue: detail.data\n        }\n      }), config('item-type-events', [...pointerEvents(), run$1(mouseover(), onHover), run$1(focusItem(), Focusing.focus)])]),\n      components: detail.components,\n      eventOrder: detail.eventOrder\n    });\n    const schema$p = [required$1('data'), required$1('components'), required$1('dom'), defaulted('hasSubmenu', false), option$3('toggling'), SketchBehaviours.field('itemBehaviours', [Toggling, Focusing, Keying, Representing]), defaulted('ignoreFocus', false), defaulted('domModification', {}), output$1('builder', builder$2), defaulted('eventOrder', {})];\n\n    const builder$1 = detail => ({\n      dom: detail.dom,\n      components: detail.components,\n      events: derive$2([stopper(focusItem())])\n    });\n    const schema$o = [required$1('dom'), required$1('components'), output$1('builder', builder$1)];\n\n    const owner$2 = constant$1('item-widget');\n    const parts$h = constant$1([required({\n      name: 'widget',\n      overrides: detail => {\n        return {\n          behaviours: derive$1([Representing.config({\n            store: {\n              mode: 'manual',\n              getValue: _component => {\n                return detail.data;\n              },\n              setValue: noop\n            }\n          })])\n        };\n      }\n    })]);\n\n    const builder = detail => {\n      const subs = substitutes(owner$2(), detail, parts$h());\n      const components = components$1(owner$2(), detail, subs.internals());\n      const focusWidget = component => getPart(component, detail, 'widget').map(widget => {\n        Keying.focusIn(widget);\n        return widget;\n      });\n      const onHorizontalArrow = (component, simulatedEvent) => inside(simulatedEvent.event.target) ? Optional.none() : (() => {\n        if (detail.autofocus) {\n          simulatedEvent.setSource(component.element);\n          return Optional.none();\n        } else {\n          return Optional.none();\n        }\n      })();\n      return {\n        dom: detail.dom,\n        components,\n        domModification: detail.domModification,\n        events: derive$2([runOnExecute$1((component, simulatedEvent) => {\n          focusWidget(component).each(_widget => {\n            simulatedEvent.stop();\n          });\n        }), run$1(mouseover(), onHover), run$1(focusItem(), (component, _simulatedEvent) => {\n          if (detail.autofocus) {\n            focusWidget(component);\n          } else {\n            Focusing.focus(component);\n          }\n        })]),\n        behaviours: SketchBehaviours.augment(detail.widgetBehaviours, [Representing.config({\n          store: {\n            mode: 'memory',\n            initialValue: detail.data\n          }\n        }), Focusing.config({\n          ignore: detail.ignoreFocus,\n          onFocus: component => {\n            onFocus$1(component);\n          }\n        }), Keying.config({\n          mode: 'special',\n          focusIn: detail.autofocus ? component => {\n            focusWidget(component);\n          } : revoke(),\n          onLeft: onHorizontalArrow,\n          onRight: onHorizontalArrow,\n          onEscape: (component, simulatedEvent) => {\n            if (!Focusing.isFocused(component) && !detail.autofocus) {\n              Focusing.focus(component);\n              return Optional.some(true);\n            } else if (detail.autofocus) {\n              simulatedEvent.setSource(component.element);\n              return Optional.none();\n            } else {\n              return Optional.none();\n            }\n          }\n        })])\n      };\n    };\n    const schema$n = [required$1('uid'), required$1('data'), required$1('components'), required$1('dom'), defaulted('autofocus', false), defaulted('ignoreFocus', false), SketchBehaviours.field('widgetBehaviours', [Representing, Focusing, Keying]), defaulted('domModification', {}), defaultUidsSchema(parts$h()), output$1('builder', builder)];\n\n    const itemSchema$2 = choose$1('type', {\n      widget: schema$n,\n      item: schema$p,\n      separator: schema$o\n    });\n    const configureGrid = (detail, movementInfo) => ({\n      mode: 'flatgrid',\n      selector: '.' + detail.markers.item,\n      initSize: {\n        numColumns: movementInfo.initSize.numColumns,\n        numRows: movementInfo.initSize.numRows\n      },\n      focusManager: detail.focusManager\n    });\n    const configureMatrix = (detail, movementInfo) => ({\n      mode: 'matrix',\n      selectors: {\n        row: movementInfo.rowSelector,\n        cell: '.' + detail.markers.item\n      },\n      previousSelector: movementInfo.previousSelector,\n      focusManager: detail.focusManager\n    });\n    const configureMenu = (detail, movementInfo) => ({\n      mode: 'menu',\n      selector: '.' + detail.markers.item,\n      moveOnTab: movementInfo.moveOnTab,\n      focusManager: detail.focusManager\n    });\n    const parts$g = constant$1([group({\n      factory: {\n        sketch: spec => {\n          const itemInfo = asRawOrDie$1('menu.spec item', itemSchema$2, spec);\n          return itemInfo.builder(itemInfo);\n        }\n      },\n      name: 'items',\n      unit: 'item',\n      defaults: (detail, u) => {\n        return has$2(u, 'uid') ? u : {\n          ...u,\n          uid: generate$5('item')\n        };\n      },\n      overrides: (detail, u) => {\n        return {\n          type: u.type,\n          ignoreFocus: detail.fakeFocus,\n          domModification: {\n            classes: [detail.markers.item]\n          }\n        };\n      }\n    })]);\n    const schema$m = constant$1([required$1('value'), required$1('items'), required$1('dom'), required$1('components'), defaulted('eventOrder', {}), field('menuBehaviours', [Highlighting, Representing, Composing, Keying]), defaultedOf('movement', {\n      mode: 'menu',\n      moveOnTab: true\n    }, choose$1('mode', {\n      grid: [initSize(), output$1('config', configureGrid)],\n      matrix: [output$1('config', configureMatrix), required$1('rowSelector'), defaulted('previousSelector', Optional.none)],\n      menu: [defaulted('moveOnTab', true), output$1('config', configureMenu)]\n    })), itemMarkers(), defaulted('fakeFocus', false), defaulted('focusManager', dom$2()), onHandler('onHighlight'), onHandler('onDehighlight')]);\n\n    const focus = constant$1('alloy.menu-focus');\n\n    const deselectOtherRadioItems = (menu, item) => {\n      const checkedRadioItems = descendants(menu.element, '[role=\"menuitemradio\"][aria-checked=\"true\"]');\n      each$1(checkedRadioItems, ele => {\n        if (!eq(ele, item.element)) {\n          menu.getSystem().getByDom(ele).each(c => {\n            Toggling.off(c);\n          });\n        }\n      });\n    };\n    const make$7 = (detail, components, _spec, _externals) => ({\n      uid: detail.uid,\n      dom: detail.dom,\n      markers: detail.markers,\n      behaviours: augment(detail.menuBehaviours, [Highlighting.config({\n        highlightClass: detail.markers.selectedItem,\n        itemClass: detail.markers.item,\n        onHighlight: detail.onHighlight,\n        onDehighlight: detail.onDehighlight\n      }), Representing.config({\n        store: {\n          mode: 'memory',\n          initialValue: detail.value\n        }\n      }), Composing.config({\n        find: Optional.some\n      }), Keying.config(detail.movement.config(detail, detail.movement))]),\n      events: derive$2([run$1(focus$1(), (menu, simulatedEvent) => {\n        const event = simulatedEvent.event;\n        menu.getSystem().getByDom(event.target).each(item => {\n          Highlighting.highlight(menu, item);\n          simulatedEvent.stop();\n          emitWith(menu, focus(), {\n            menu,\n            item\n          });\n        });\n      }), run$1(hover(), (menu, simulatedEvent) => {\n        const item = simulatedEvent.event.item;\n        Highlighting.highlight(menu, item);\n      }), run$1(toggled(), (menu, simulatedEvent) => {\n        const {\n          item,\n          state\n        } = simulatedEvent.event;\n        if (state && get$f(item.element, 'role') === 'menuitemradio') {\n          deselectOtherRadioItems(menu, item);\n        }\n      })]),\n      components,\n      eventOrder: detail.eventOrder,\n      domModification: {\n        attributes: {\n          role: 'menu'\n        }\n      }\n    });\n\n    const Menu = composite({\n      name: 'Menu',\n      configFields: schema$m(),\n      partFields: parts$g(),\n      factory: make$7\n    });\n\n    const transpose$1 = obj => tupleMap(obj, (v, k) => ({\n      k: v,\n      v: k\n    }));\n    const trace = (items, byItem, byMenu, finish) => get$g(byMenu, finish).bind(triggerItem => get$g(items, triggerItem).bind(triggerMenu => {\n      const rest = trace(items, byItem, byMenu, triggerMenu);\n      return Optional.some([triggerMenu].concat(rest));\n    })).getOr([]);\n    const generate$2 = (menus, expansions) => {\n      const items = {};\n      each(menus, (menuItems, menu) => {\n        each$1(menuItems, item => {\n          items[item] = menu;\n        });\n      });\n      const byItem = expansions;\n      const byMenu = transpose$1(expansions);\n      const menuPaths = map$1(byMenu, (_triggerItem, submenu) => [submenu].concat(trace(items, byItem, byMenu, submenu)));\n      return map$1(items, menu => get$g(menuPaths, menu).getOr([menu]));\n    };\n\n    const init$c = () => {\n      const expansions = Cell({});\n      const menus = Cell({});\n      const paths = Cell({});\n      const primary = value$2();\n      const directory = Cell({});\n      const clear = () => {\n        expansions.set({});\n        menus.set({});\n        paths.set({});\n        primary.clear();\n      };\n      const isClear = () => primary.get().isNone();\n      const setMenuBuilt = (menuName, built) => {\n        menus.set({\n          ...menus.get(),\n          [menuName]: {\n            type: 'prepared',\n            menu: built\n          }\n        });\n      };\n      const setContents = (sPrimary, sMenus, sExpansions, dir) => {\n        primary.set(sPrimary);\n        expansions.set(sExpansions);\n        menus.set(sMenus);\n        directory.set(dir);\n        const sPaths = generate$2(dir, sExpansions);\n        paths.set(sPaths);\n      };\n      const getTriggeringItem = menuValue => find$4(expansions.get(), (v, _k) => v === menuValue);\n      const getTriggerData = (menuValue, getItemByValue, path) => getPreparedMenu(menuValue).bind(menu => getTriggeringItem(menuValue).bind(triggeringItemValue => getItemByValue(triggeringItemValue).map(triggeredItem => ({\n        triggeredMenu: menu,\n        triggeringItem: triggeredItem,\n        triggeringPath: path\n      }))));\n      const getTriggeringPath = (itemValue, getItemByValue) => {\n        const extraPath = filter$2(lookupItem(itemValue).toArray(), menuValue => getPreparedMenu(menuValue).isSome());\n        return get$g(paths.get(), itemValue).bind(path => {\n          const revPath = reverse(extraPath.concat(path));\n          const triggers = bind$3(revPath, (menuValue, menuIndex) => getTriggerData(menuValue, getItemByValue, revPath.slice(0, menuIndex + 1)).fold(() => is$1(primary.get(), menuValue) ? [] : [Optional.none()], data => [Optional.some(data)]));\n          return sequence(triggers);\n        });\n      };\n      const expand = itemValue => get$g(expansions.get(), itemValue).map(menu => {\n        const current = get$g(paths.get(), itemValue).getOr([]);\n        return [menu].concat(current);\n      });\n      const collapse = itemValue => get$g(paths.get(), itemValue).bind(path => path.length > 1 ? Optional.some(path.slice(1)) : Optional.none());\n      const refresh = itemValue => get$g(paths.get(), itemValue);\n      const getPreparedMenu = menuValue => lookupMenu(menuValue).bind(extractPreparedMenu);\n      const lookupMenu = menuValue => get$g(menus.get(), menuValue);\n      const lookupItem = itemValue => get$g(expansions.get(), itemValue);\n      const otherMenus = path => {\n        const menuValues = directory.get();\n        return difference(keys(menuValues), path);\n      };\n      const getPrimary = () => primary.get().bind(getPreparedMenu);\n      const getMenus = () => menus.get();\n      return {\n        setMenuBuilt,\n        setContents,\n        expand,\n        refresh,\n        collapse,\n        lookupMenu,\n        lookupItem,\n        otherMenus,\n        getPrimary,\n        getMenus,\n        clear,\n        isClear,\n        getTriggeringPath\n      };\n    };\n    const extractPreparedMenu = prep => prep.type === 'prepared' ? Optional.some(prep.menu) : Optional.none();\n    const LayeredState = {\n      init: init$c,\n      extractPreparedMenu\n    };\n\n    const onMenuItemHighlightedEvent = generate$6('tiered-menu-item-highlight');\n    const onMenuItemDehighlightedEvent = generate$6('tiered-menu-item-dehighlight');\n\n    var HighlightOnOpen;\n    (function (HighlightOnOpen) {\n      HighlightOnOpen[HighlightOnOpen['HighlightMenuAndItem'] = 0] = 'HighlightMenuAndItem';\n      HighlightOnOpen[HighlightOnOpen['HighlightJustMenu'] = 1] = 'HighlightJustMenu';\n      HighlightOnOpen[HighlightOnOpen['HighlightNone'] = 2] = 'HighlightNone';\n    })(HighlightOnOpen || (HighlightOnOpen = {}));\n\n    const make$6 = (detail, _rawUiSpec) => {\n      const submenuParentItems = value$2();\n      const buildMenus = (container, primaryName, menus) => map$1(menus, (spec, name) => {\n        const makeSketch = () => Menu.sketch({\n          ...spec,\n          value: name,\n          markers: detail.markers,\n          fakeFocus: detail.fakeFocus,\n          onHighlight: (menuComp, itemComp) => {\n            const highlightData = {\n              menuComp,\n              itemComp\n            };\n            emitWith(menuComp, onMenuItemHighlightedEvent, highlightData);\n          },\n          onDehighlight: (menuComp, itemComp) => {\n            const dehighlightData = {\n              menuComp,\n              itemComp\n            };\n            emitWith(menuComp, onMenuItemDehighlightedEvent, dehighlightData);\n          },\n          focusManager: detail.fakeFocus ? highlights() : dom$2()\n        });\n        return name === primaryName ? {\n          type: 'prepared',\n          menu: container.getSystem().build(makeSketch())\n        } : {\n          type: 'notbuilt',\n          nbMenu: makeSketch\n        };\n      });\n      const layeredState = LayeredState.init();\n      const setup = container => {\n        const componentMap = buildMenus(container, detail.data.primary, detail.data.menus);\n        const directory = toDirectory();\n        layeredState.setContents(detail.data.primary, componentMap, detail.data.expansions, directory);\n        return layeredState.getPrimary();\n      };\n      const getItemValue = item => Representing.getValue(item).value;\n      const getItemByValue = (_container, menus, itemValue) => findMap(menus, menu => {\n        if (!menu.getSystem().isConnected()) {\n          return Optional.none();\n        }\n        const candidates = Highlighting.getCandidates(menu);\n        return find$5(candidates, c => getItemValue(c) === itemValue);\n      });\n      const toDirectory = _container => map$1(detail.data.menus, (data, _menuName) => bind$3(data.items, item => item.type === 'separator' ? [] : [item.data.value]));\n      const setActiveMenu = Highlighting.highlight;\n      const setActiveMenuAndItem = (container, menu) => {\n        setActiveMenu(container, menu);\n        Highlighting.getHighlighted(menu).orThunk(() => Highlighting.getFirst(menu)).each(item => {\n          if (detail.fakeFocus) {\n            Highlighting.highlight(menu, item);\n          } else {\n            dispatch(container, item.element, focusItem());\n          }\n        });\n      };\n      const getMenus = (state, menuValues) => cat(map$2(menuValues, mv => state.lookupMenu(mv).bind(prep => prep.type === 'prepared' ? Optional.some(prep.menu) : Optional.none())));\n      const closeOthers = (container, state, path) => {\n        const others = getMenus(state, state.otherMenus(path));\n        each$1(others, o => {\n          remove$1(o.element, [detail.markers.backgroundMenu]);\n          if (!detail.stayInDom) {\n            Replacing.remove(container, o);\n          }\n        });\n      };\n      const getSubmenuParents = container => submenuParentItems.get().getOrThunk(() => {\n        const r = {};\n        const items = descendants(container.element, \".\".concat(detail.markers.item));\n        const parentItems = filter$2(items, i => get$f(i, 'aria-haspopup') === 'true');\n        each$1(parentItems, i => {\n          container.getSystem().getByDom(i).each(itemComp => {\n            const key = getItemValue(itemComp);\n            r[key] = itemComp;\n          });\n        });\n        submenuParentItems.set(r);\n        return r;\n      });\n      const updateAriaExpansions = (container, path) => {\n        const parentItems = getSubmenuParents(container);\n        each(parentItems, (v, k) => {\n          const expanded = contains$2(path, k);\n          set$9(v.element, 'aria-expanded', expanded);\n        });\n      };\n      const updateMenuPath = (container, state, path) => Optional.from(path[0]).bind(latestMenuName => state.lookupMenu(latestMenuName).bind(menuPrep => {\n        if (menuPrep.type === 'notbuilt') {\n          return Optional.none();\n        } else {\n          const activeMenu = menuPrep.menu;\n          const rest = getMenus(state, path.slice(1));\n          each$1(rest, r => {\n            add$2(r.element, detail.markers.backgroundMenu);\n          });\n          if (!inBody(activeMenu.element)) {\n            Replacing.append(container, premade(activeMenu));\n          }\n          remove$1(activeMenu.element, [detail.markers.backgroundMenu]);\n          setActiveMenuAndItem(container, activeMenu);\n          closeOthers(container, state, path);\n          return Optional.some(activeMenu);\n        }\n      }));\n      let ExpandHighlightDecision;\n      (function (ExpandHighlightDecision) {\n        ExpandHighlightDecision[ExpandHighlightDecision['HighlightSubmenu'] = 0] = 'HighlightSubmenu';\n        ExpandHighlightDecision[ExpandHighlightDecision['HighlightParent'] = 1] = 'HighlightParent';\n      })(ExpandHighlightDecision || (ExpandHighlightDecision = {}));\n      const buildIfRequired = (container, menuName, menuPrep) => {\n        if (menuPrep.type === 'notbuilt') {\n          const menu = container.getSystem().build(menuPrep.nbMenu());\n          layeredState.setMenuBuilt(menuName, menu);\n          return menu;\n        } else {\n          return menuPrep.menu;\n        }\n      };\n      const expandRight = (container, item, decision = ExpandHighlightDecision.HighlightSubmenu) => {\n        if (item.hasConfigured(Disabling) && Disabling.isDisabled(item)) {\n          return Optional.some(item);\n        } else {\n          const value = getItemValue(item);\n          return layeredState.expand(value).bind(path => {\n            updateAriaExpansions(container, path);\n            return Optional.from(path[0]).bind(menuName => layeredState.lookupMenu(menuName).bind(activeMenuPrep => {\n              const activeMenu = buildIfRequired(container, menuName, activeMenuPrep);\n              if (!inBody(activeMenu.element)) {\n                Replacing.append(container, premade(activeMenu));\n              }\n              detail.onOpenSubmenu(container, item, activeMenu, reverse(path));\n              if (decision === ExpandHighlightDecision.HighlightSubmenu) {\n                Highlighting.highlightFirst(activeMenu);\n                return updateMenuPath(container, layeredState, path);\n              } else {\n                Highlighting.dehighlightAll(activeMenu);\n                return Optional.some(item);\n              }\n            }));\n          });\n        }\n      };\n      const collapseLeft = (container, item) => {\n        const value = getItemValue(item);\n        return layeredState.collapse(value).bind(path => {\n          updateAriaExpansions(container, path);\n          return updateMenuPath(container, layeredState, path).map(activeMenu => {\n            detail.onCollapseMenu(container, item, activeMenu);\n            return activeMenu;\n          });\n        });\n      };\n      const updateView = (container, item) => {\n        const value = getItemValue(item);\n        return layeredState.refresh(value).bind(path => {\n          updateAriaExpansions(container, path);\n          return updateMenuPath(container, layeredState, path);\n        });\n      };\n      const onRight = (container, item) => inside(item.element) ? Optional.none() : expandRight(container, item, ExpandHighlightDecision.HighlightSubmenu);\n      const onLeft = (container, item) => inside(item.element) ? Optional.none() : collapseLeft(container, item);\n      const onEscape = (container, item) => collapseLeft(container, item).orThunk(() => detail.onEscape(container, item).map(() => container));\n      const keyOnItem = f => (container, simulatedEvent) => {\n        return closest$1(simulatedEvent.getSource(), \".\".concat(detail.markers.item)).bind(target => container.getSystem().getByDom(target).toOptional().bind(item => f(container, item).map(always)));\n      };\n      const events = derive$2([run$1(focus(), (tmenu, simulatedEvent) => {\n        const item = simulatedEvent.event.item;\n        layeredState.lookupItem(getItemValue(item)).each(() => {\n          const menu = simulatedEvent.event.menu;\n          Highlighting.highlight(tmenu, menu);\n          const value = getItemValue(simulatedEvent.event.item);\n          layeredState.refresh(value).each(path => closeOthers(tmenu, layeredState, path));\n        });\n      }), runOnExecute$1((component, simulatedEvent) => {\n        const target = simulatedEvent.event.target;\n        component.getSystem().getByDom(target).each(item => {\n          const itemValue = getItemValue(item);\n          if (itemValue.indexOf('collapse-item') === 0) {\n            collapseLeft(component, item);\n          }\n          expandRight(component, item, ExpandHighlightDecision.HighlightSubmenu).fold(() => {\n            detail.onExecute(component, item);\n          }, noop);\n        });\n      }), runOnAttached((container, _simulatedEvent) => {\n        setup(container).each(primary => {\n          Replacing.append(container, premade(primary));\n          detail.onOpenMenu(container, primary);\n          if (detail.highlightOnOpen === HighlightOnOpen.HighlightMenuAndItem) {\n            setActiveMenuAndItem(container, primary);\n          } else if (detail.highlightOnOpen === HighlightOnOpen.HighlightJustMenu) {\n            setActiveMenu(container, primary);\n          }\n        });\n      }), run$1(onMenuItemHighlightedEvent, (tmenuComp, se) => {\n        detail.onHighlightItem(tmenuComp, se.event.menuComp, se.event.itemComp);\n      }), run$1(onMenuItemDehighlightedEvent, (tmenuComp, se) => {\n        detail.onDehighlightItem(tmenuComp, se.event.menuComp, se.event.itemComp);\n      }), ...(detail.navigateOnHover ? [run$1(hover(), (tmenu, simulatedEvent) => {\n        const item = simulatedEvent.event.item;\n        updateView(tmenu, item);\n        expandRight(tmenu, item, ExpandHighlightDecision.HighlightParent);\n        detail.onHover(tmenu, item);\n      })] : [])]);\n      const getActiveItem = container => Highlighting.getHighlighted(container).bind(Highlighting.getHighlighted);\n      const collapseMenuApi = container => {\n        getActiveItem(container).each(currentItem => {\n          collapseLeft(container, currentItem);\n        });\n      };\n      const highlightPrimary = container => {\n        layeredState.getPrimary().each(primary => {\n          setActiveMenuAndItem(container, primary);\n        });\n      };\n      const extractMenuFromContainer = container => Optional.from(container.components()[0]).filter(comp => get$f(comp.element, 'role') === 'menu');\n      const repositionMenus = container => {\n        const maybeActivePrimary = layeredState.getPrimary().bind(primary => getActiveItem(container).bind(currentItem => {\n          const itemValue = getItemValue(currentItem);\n          const allMenus = values(layeredState.getMenus());\n          const preparedMenus = cat(map$2(allMenus, LayeredState.extractPreparedMenu));\n          return layeredState.getTriggeringPath(itemValue, v => getItemByValue(container, preparedMenus, v));\n        }).map(triggeringPath => ({\n          primary,\n          triggeringPath\n        })));\n        maybeActivePrimary.fold(() => {\n          extractMenuFromContainer(container).each(primaryMenu => {\n            detail.onRepositionMenu(container, primaryMenu, []);\n          });\n        }, ({\n          primary,\n          triggeringPath\n        }) => {\n          detail.onRepositionMenu(container, primary, triggeringPath);\n        });\n      };\n      const apis = {\n        collapseMenu: collapseMenuApi,\n        highlightPrimary,\n        repositionMenus\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        markers: detail.markers,\n        behaviours: augment(detail.tmenuBehaviours, [Keying.config({\n          mode: 'special',\n          onRight: keyOnItem(onRight),\n          onLeft: keyOnItem(onLeft),\n          onEscape: keyOnItem(onEscape),\n          focusIn: (container, _keyInfo) => {\n            layeredState.getPrimary().each(primary => {\n              dispatch(container, primary.element, focusItem());\n            });\n          }\n        }), Highlighting.config({\n          highlightClass: detail.markers.selectedMenu,\n          itemClass: detail.markers.menu\n        }), Composing.config({\n          find: container => {\n            return Highlighting.getHighlighted(container);\n          }\n        }), Replacing.config({})]),\n        eventOrder: detail.eventOrder,\n        apis,\n        events\n      };\n    };\n    const collapseItem$1 = constant$1('collapse-item');\n\n    const tieredData = (primary, menus, expansions) => ({\n      primary,\n      menus,\n      expansions\n    });\n    const singleData = (name, menu) => ({\n      primary: name,\n      menus: wrap$1(name, menu),\n      expansions: {}\n    });\n    const collapseItem = text => ({\n      value: generate$6(collapseItem$1()),\n      meta: {\n        text\n      }\n    });\n    const tieredMenu = single({\n      name: 'TieredMenu',\n      configFields: [onStrictKeyboardHandler('onExecute'), onStrictKeyboardHandler('onEscape'), onStrictHandler('onOpenMenu'), onStrictHandler('onOpenSubmenu'), onHandler('onRepositionMenu'), onHandler('onCollapseMenu'), defaulted('highlightOnOpen', HighlightOnOpen.HighlightMenuAndItem), requiredObjOf('data', [required$1('primary'), required$1('menus'), required$1('expansions')]), defaulted('fakeFocus', false), onHandler('onHighlightItem'), onHandler('onDehighlightItem'), onHandler('onHover'), tieredMenuMarkers(), required$1('dom'), defaulted('navigateOnHover', true), defaulted('stayInDom', false), field('tmenuBehaviours', [Keying, Highlighting, Composing, Replacing]), defaulted('eventOrder', {})],\n      apis: {\n        collapseMenu: (apis, tmenu) => {\n          apis.collapseMenu(tmenu);\n        },\n        highlightPrimary: (apis, tmenu) => {\n          apis.highlightPrimary(tmenu);\n        },\n        repositionMenus: (apis, tmenu) => {\n          apis.repositionMenus(tmenu);\n        }\n      },\n      factory: make$6,\n      extraApis: {\n        tieredData,\n        singleData,\n        collapseItem\n      }\n    });\n\n    const makeMenu = (detail, menuSandbox, placementSpec, menuSpec, getBounds) => {\n      const lazySink = () => detail.lazySink(menuSandbox);\n      const layouts = menuSpec.type === 'horizontal' ? {\n        layouts: {\n          onLtr: () => belowOrAbove(),\n          onRtl: () => belowOrAboveRtl()\n        }\n      } : {};\n      const isFirstTierSubmenu = triggeringPaths => triggeringPaths.length === 2;\n      const getSubmenuLayouts = triggeringPaths => isFirstTierSubmenu(triggeringPaths) ? layouts : {};\n      return tieredMenu.sketch({\n        dom: {\n          tag: 'div'\n        },\n        data: menuSpec.data,\n        markers: menuSpec.menu.markers,\n        highlightOnOpen: menuSpec.menu.highlightOnOpen,\n        fakeFocus: menuSpec.menu.fakeFocus,\n        onEscape: () => {\n          Sandboxing.close(menuSandbox);\n          detail.onEscape.map(handler => handler(menuSandbox));\n          return Optional.some(true);\n        },\n        onExecute: () => {\n          return Optional.some(true);\n        },\n        onOpenMenu: (tmenu, menu) => {\n          Positioning.positionWithinBounds(lazySink().getOrDie(), menu, placementSpec, getBounds());\n        },\n        onOpenSubmenu: (tmenu, item, submenu, triggeringPaths) => {\n          const sink = lazySink().getOrDie();\n          Positioning.position(sink, submenu, {\n            anchor: {\n              type: 'submenu',\n              item,\n              ...getSubmenuLayouts(triggeringPaths)\n            }\n          });\n        },\n        onRepositionMenu: (tmenu, primaryMenu, submenuTriggers) => {\n          const sink = lazySink().getOrDie();\n          Positioning.positionWithinBounds(sink, primaryMenu, placementSpec, getBounds());\n          each$1(submenuTriggers, st => {\n            const submenuLayouts = getSubmenuLayouts(st.triggeringPath);\n            Positioning.position(sink, st.triggeredMenu, {\n              anchor: {\n                type: 'submenu',\n                item: st.triggeringItem,\n                ...submenuLayouts\n              }\n            });\n          });\n        }\n      });\n    };\n    const factory$o = (detail, spec) => {\n      const isPartOfRelated = (sandbox, queryElem) => {\n        const related = detail.getRelated(sandbox);\n        return related.exists(rel => isPartOf$1(rel, queryElem));\n      };\n      const setContent = (sandbox, thing) => {\n        Sandboxing.setContent(sandbox, thing);\n      };\n      const showAt = (sandbox, thing, placementSpec) => {\n        const getBounds = Optional.none;\n        showWithinBounds(sandbox, thing, placementSpec, getBounds);\n      };\n      const showWithinBounds = (sandbox, thing, placementSpec, getBounds) => {\n        const sink = detail.lazySink(sandbox).getOrDie();\n        Sandboxing.openWhileCloaked(sandbox, thing, () => Positioning.positionWithinBounds(sink, sandbox, placementSpec, getBounds()));\n        Representing.setValue(sandbox, Optional.some({\n          mode: 'position',\n          config: placementSpec,\n          getBounds\n        }));\n      };\n      const showMenuAt = (sandbox, placementSpec, menuSpec) => {\n        showMenuWithinBounds(sandbox, placementSpec, menuSpec, Optional.none);\n      };\n      const showMenuWithinBounds = (sandbox, placementSpec, menuSpec, getBounds) => {\n        const menu = makeMenu(detail, sandbox, placementSpec, menuSpec, getBounds);\n        Sandboxing.open(sandbox, menu);\n        Representing.setValue(sandbox, Optional.some({\n          mode: 'menu',\n          menu\n        }));\n      };\n      const hide = sandbox => {\n        if (Sandboxing.isOpen(sandbox)) {\n          Representing.setValue(sandbox, Optional.none());\n          Sandboxing.close(sandbox);\n        }\n      };\n      const getContent = sandbox => Sandboxing.getState(sandbox);\n      const reposition = sandbox => {\n        if (Sandboxing.isOpen(sandbox)) {\n          Representing.getValue(sandbox).each(state => {\n            switch (state.mode) {\n              case 'menu':\n                Sandboxing.getState(sandbox).each(tieredMenu.repositionMenus);\n                break;\n              case 'position':\n                const sink = detail.lazySink(sandbox).getOrDie();\n                Positioning.positionWithinBounds(sink, sandbox, state.config, state.getBounds());\n                break;\n            }\n          });\n        }\n      };\n      const apis = {\n        setContent,\n        showAt,\n        showWithinBounds,\n        showMenuAt,\n        showMenuWithinBounds,\n        hide,\n        getContent,\n        reposition,\n        isOpen: Sandboxing.isOpen\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        behaviours: augment(detail.inlineBehaviours, [Sandboxing.config({\n          isPartOf: (sandbox, data, queryElem) => {\n            return isPartOf$1(data, queryElem) || isPartOfRelated(sandbox, queryElem);\n          },\n          getAttachPoint: sandbox => {\n            return detail.lazySink(sandbox).getOrDie();\n          },\n          onOpen: sandbox => {\n            detail.onShow(sandbox);\n          },\n          onClose: sandbox => {\n            detail.onHide(sandbox);\n          }\n        }), Representing.config({\n          store: {\n            mode: 'memory',\n            initialValue: Optional.none()\n          }\n        }), Receiving.config({\n          channels: {\n            ...receivingChannel$1({\n              isExtraPart: spec.isExtraPart,\n              ...detail.fireDismissalEventInstead.map(fe => ({\n                fireEventInstead: {\n                  event: fe.event\n                }\n              })).getOr({})\n            }),\n            ...receivingChannel({\n              ...detail.fireRepositionEventInstead.map(fe => ({\n                fireEventInstead: {\n                  event: fe.event\n                }\n              })).getOr({}),\n              doReposition: reposition\n            })\n          }\n        })]),\n        eventOrder: detail.eventOrder,\n        apis\n      };\n    };\n    const InlineView = single({\n      name: 'InlineView',\n      configFields: [required$1('lazySink'), onHandler('onShow'), onHandler('onHide'), optionFunction('onEscape'), field('inlineBehaviours', [Sandboxing, Representing, Receiving]), optionObjOf('fireDismissalEventInstead', [defaulted('event', dismissRequested())]), optionObjOf('fireRepositionEventInstead', [defaulted('event', repositionRequested())]), defaulted('getRelated', Optional.none), defaulted('isExtraPart', never), defaulted('eventOrder', Optional.none)],\n      factory: factory$o,\n      apis: {\n        showAt: (apis, component, anchor, thing) => {\n          apis.showAt(component, anchor, thing);\n        },\n        showWithinBounds: (apis, component, anchor, thing, bounds) => {\n          apis.showWithinBounds(component, anchor, thing, bounds);\n        },\n        showMenuAt: (apis, component, anchor, menuSpec) => {\n          apis.showMenuAt(component, anchor, menuSpec);\n        },\n        showMenuWithinBounds: (apis, component, anchor, menuSpec, bounds) => {\n          apis.showMenuWithinBounds(component, anchor, menuSpec, bounds);\n        },\n        hide: (apis, component) => {\n          apis.hide(component);\n        },\n        isOpen: (apis, component) => apis.isOpen(component),\n        getContent: (apis, component) => apis.getContent(component),\n        setContent: (apis, component, thing) => {\n          apis.setContent(component, thing);\n        },\n        reposition: (apis, component) => {\n          apis.reposition(component);\n        }\n      }\n    });\n\n    var global$9 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    const factory$n = detail => {\n      const events = events$a(detail.action);\n      const tag = detail.dom.tag;\n      const lookupAttr = attr => get$g(detail.dom, 'attributes').bind(attrs => get$g(attrs, attr));\n      const getModAttributes = () => {\n        if (tag === 'button') {\n          const type = lookupAttr('type').getOr('button');\n          const roleAttrs = lookupAttr('role').map(role => ({\n            role\n          })).getOr({});\n          return {\n            type,\n            ...roleAttrs\n          };\n        } else {\n          const role = detail.role.getOr(lookupAttr('role').getOr('button'));\n          return {\n            role\n          };\n        }\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: detail.components,\n        events,\n        behaviours: SketchBehaviours.augment(detail.buttonBehaviours, [Focusing.config({}), Keying.config({\n          mode: 'execution',\n          useSpace: true,\n          useEnter: true\n        })]),\n        domModification: {\n          attributes: getModAttributes()\n        },\n        eventOrder: detail.eventOrder\n      };\n    };\n    const Button = single({\n      name: 'Button',\n      factory: factory$n,\n      configFields: [defaulted('uid', undefined), required$1('dom'), defaulted('components', []), SketchBehaviours.field('buttonBehaviours', [Focusing, Keying]), option$3('action'), option$3('role'), defaulted('eventOrder', {})]\n    });\n\n    const getAttrs = elem => {\n      const attributes = elem.dom.attributes !== undefined ? elem.dom.attributes : [];\n      return foldl(attributes, (b, attr) => {\n        if (attr.name === 'class') {\n          return b;\n        } else {\n          return {\n            ...b,\n            [attr.name]: attr.value\n          };\n        }\n      }, {});\n    };\n    const getClasses = elem => Array.prototype.slice.call(elem.dom.classList, 0);\n    const fromHtml = html => {\n      const elem = SugarElement.fromHtml(html);\n      const children$1 = children(elem);\n      const attrs = getAttrs(elem);\n      const classes = getClasses(elem);\n      const contents = children$1.length === 0 ? {} : {\n        innerHtml: get$9(elem)\n      };\n      return {\n        tag: name$3(elem),\n        classes,\n        attributes: attrs,\n        ...contents\n      };\n    };\n\n    const record = spec => {\n      const uid = isSketchSpec(spec) && hasNonNullableKey(spec, 'uid') ? spec.uid : generate$5('memento');\n      const get = anyInSystem => anyInSystem.getSystem().getByUid(uid).getOrDie();\n      const getOpt = anyInSystem => anyInSystem.getSystem().getByUid(uid).toOptional();\n      const asSpec = () => ({\n        ...spec,\n        uid\n      });\n      return {\n        get,\n        getOpt,\n        asSpec\n      };\n    };\n\n    const {\n      entries,\n      setPrototypeOf,\n      isFrozen,\n      getPrototypeOf,\n      getOwnPropertyDescriptor\n    } = Object;\n    let {\n      freeze,\n      seal,\n      create: create$1\n    } = Object;\n    let {\n      apply,\n      construct\n    } = typeof Reflect !== 'undefined' && Reflect;\n    if (!apply) {\n      apply = function apply(fun, thisValue, args) {\n        return fun.apply(thisValue, args);\n      };\n    }\n    if (!freeze) {\n      freeze = function freeze(x) {\n        return x;\n      };\n    }\n    if (!seal) {\n      seal = function seal(x) {\n        return x;\n      };\n    }\n    if (!construct) {\n      construct = function construct(Func, args) {\n        return new Func(...args);\n      };\n    }\n    const arrayForEach = unapply(Array.prototype.forEach);\n    const arrayPop = unapply(Array.prototype.pop);\n    const arrayPush = unapply(Array.prototype.push);\n    const stringToLowerCase = unapply(String.prototype.toLowerCase);\n    const stringToString = unapply(String.prototype.toString);\n    const stringMatch = unapply(String.prototype.match);\n    const stringReplace = unapply(String.prototype.replace);\n    const stringIndexOf = unapply(String.prototype.indexOf);\n    const stringTrim = unapply(String.prototype.trim);\n    const regExpTest = unapply(RegExp.prototype.test);\n    const typeErrorCreate = unconstruct(TypeError);\n    function unapply(func) {\n      return function (thisArg) {\n        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n          args[_key - 1] = arguments[_key];\n        }\n        return apply(func, thisArg, args);\n      };\n    }\n    function unconstruct(func) {\n      return function () {\n        for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n          args[_key2] = arguments[_key2];\n        }\n        return construct(func, args);\n      };\n    }\n    function addToSet(set, array, transformCaseFunc) {\n      var _transformCaseFunc;\n      transformCaseFunc = (_transformCaseFunc = transformCaseFunc) !== null && _transformCaseFunc !== void 0 ? _transformCaseFunc : stringToLowerCase;\n      if (setPrototypeOf) {\n        setPrototypeOf(set, null);\n      }\n      let l = array.length;\n      while (l--) {\n        let element = array[l];\n        if (typeof element === 'string') {\n          const lcElement = transformCaseFunc(element);\n          if (lcElement !== element) {\n            if (!isFrozen(array)) {\n              array[l] = lcElement;\n            }\n            element = lcElement;\n          }\n        }\n        set[element] = true;\n      }\n      return set;\n    }\n    function clone(object) {\n      const newObject = create$1(null);\n      for (const [property, value] of entries(object)) {\n        newObject[property] = value;\n      }\n      return newObject;\n    }\n    function lookupGetter(object, prop) {\n      while (object !== null) {\n        const desc = getOwnPropertyDescriptor(object, prop);\n        if (desc) {\n          if (desc.get) {\n            return unapply(desc.get);\n          }\n          if (typeof desc.value === 'function') {\n            return unapply(desc.value);\n          }\n        }\n        object = getPrototypeOf(object);\n      }\n      function fallbackValue(element) {\n        console.warn('fallback value for', element);\n        return null;\n      }\n      return fallbackValue;\n    }\n    const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n    const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n    const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n    const svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n    const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n    const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n    const text$1 = freeze(['#text']);\n    const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\n    const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n    const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n    const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n    const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm);\n    const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\n    const TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*}/gm);\n    const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/);\n    const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/);\n    const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i);\n    const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\n    const ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g);\n    const DOCTYPE_NAME = seal(/^html$/i);\n    var EXPRESSIONS = Object.freeze({\n      __proto__: null,\n      MUSTACHE_EXPR: MUSTACHE_EXPR,\n      ERB_EXPR: ERB_EXPR,\n      TMPLIT_EXPR: TMPLIT_EXPR,\n      DATA_ATTR: DATA_ATTR,\n      ARIA_ATTR: ARIA_ATTR,\n      IS_ALLOWED_URI: IS_ALLOWED_URI,\n      IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n      ATTR_WHITESPACE: ATTR_WHITESPACE,\n      DOCTYPE_NAME: DOCTYPE_NAME\n    });\n    const getGlobal = () => typeof window === 'undefined' ? null : window;\n    const _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n      if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n        return null;\n      }\n      let suffix = null;\n      const ATTR_NAME = 'data-tt-policy-suffix';\n      if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n        suffix = purifyHostElement.getAttribute(ATTR_NAME);\n      }\n      const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n      try {\n        return trustedTypes.createPolicy(policyName, {\n          createHTML(html) {\n            return html;\n          },\n          createScriptURL(scriptUrl) {\n            return scriptUrl;\n          }\n        });\n      } catch (_) {\n        console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n        return null;\n      }\n    };\n    function createDOMPurify() {\n      let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n      const DOMPurify = root => createDOMPurify(root);\n      DOMPurify.version = '3.0.5';\n      DOMPurify.removed = [];\n      if (!window || !window.document || window.document.nodeType !== 9) {\n        DOMPurify.isSupported = false;\n        return DOMPurify;\n      }\n      const originalDocument = window.document;\n      const currentScript = originalDocument.currentScript;\n      let {\n        document\n      } = window;\n      const {\n        DocumentFragment,\n        HTMLTemplateElement,\n        Node,\n        Element,\n        NodeFilter,\n        NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n        HTMLFormElement,\n        DOMParser,\n        trustedTypes\n      } = window;\n      const ElementPrototype = Element.prototype;\n      const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n      const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n      const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n      const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n      if (typeof HTMLTemplateElement === 'function') {\n        const template = document.createElement('template');\n        if (template.content && template.content.ownerDocument) {\n          document = template.content.ownerDocument;\n        }\n      }\n      let trustedTypesPolicy;\n      let emptyHTML = '';\n      const {\n        implementation,\n        createNodeIterator,\n        createDocumentFragment,\n        getElementsByTagName\n      } = document;\n      const {\n        importNode\n      } = originalDocument;\n      let hooks = {};\n      DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n      const {\n        MUSTACHE_EXPR,\n        ERB_EXPR,\n        TMPLIT_EXPR,\n        DATA_ATTR,\n        ARIA_ATTR,\n        IS_SCRIPT_OR_DATA,\n        ATTR_WHITESPACE\n      } = EXPRESSIONS;\n      let {\n        IS_ALLOWED_URI: IS_ALLOWED_URI$1\n      } = EXPRESSIONS;\n      let ALLOWED_TAGS = null;\n      const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text$1]);\n      let ALLOWED_ATTR = null;\n      const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n      let CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {\n        tagNameCheck: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: null\n        },\n        attributeNameCheck: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: null\n        },\n        allowCustomizedBuiltInElements: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: false\n        }\n      }));\n      let FORBID_TAGS = null;\n      let FORBID_ATTR = null;\n      let ALLOW_ARIA_ATTR = true;\n      let ALLOW_DATA_ATTR = true;\n      let ALLOW_UNKNOWN_PROTOCOLS = false;\n      let ALLOW_SELF_CLOSE_IN_ATTR = true;\n      let SAFE_FOR_TEMPLATES = false;\n      let WHOLE_DOCUMENT = false;\n      let SET_CONFIG = false;\n      let FORCE_BODY = false;\n      let RETURN_DOM = false;\n      let RETURN_DOM_FRAGMENT = false;\n      let RETURN_TRUSTED_TYPE = false;\n      let SANITIZE_DOM = true;\n      let SANITIZE_NAMED_PROPS = false;\n      const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n      let KEEP_CONTENT = true;\n      let IN_PLACE = false;\n      let USE_PROFILES = {};\n      let FORBID_CONTENTS = null;\n      const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n      let DATA_URI_TAGS = null;\n      const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n      let URI_SAFE_ATTRIBUTES = null;\n      const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n      const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n      const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n      const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n      let NAMESPACE = HTML_NAMESPACE;\n      let IS_EMPTY_INPUT = false;\n      let ALLOWED_NAMESPACES = null;\n      const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n      let PARSER_MEDIA_TYPE;\n      const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n      const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n      let transformCaseFunc;\n      let CONFIG = null;\n      const formElement = document.createElement('form');\n      const isRegexOrFunction = function isRegexOrFunction(testValue) {\n        return testValue instanceof RegExp || testValue instanceof Function;\n      };\n      const _parseConfig = function _parseConfig(cfg) {\n        if (CONFIG && CONFIG === cfg) {\n          return;\n        }\n        if (!cfg || typeof cfg !== 'object') {\n          cfg = {};\n        }\n        cfg = clone(cfg);\n        PARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE;\n        transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n        ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n        ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n        ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n        URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n        DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n        FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n        FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n        FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n        USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n        ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;\n        ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;\n        ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;\n        ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false;\n        SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false;\n        WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false;\n        RETURN_DOM = cfg.RETURN_DOM || false;\n        RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false;\n        RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false;\n        FORCE_BODY = cfg.FORCE_BODY || false;\n        SANITIZE_DOM = cfg.SANITIZE_DOM !== false;\n        SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false;\n        KEEP_CONTENT = cfg.KEEP_CONTENT !== false;\n        IN_PLACE = cfg.IN_PLACE || false;\n        IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n        NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n        CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n        if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n          CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n        }\n        if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n          CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n        }\n        if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n          CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n        }\n        if (SAFE_FOR_TEMPLATES) {\n          ALLOW_DATA_ATTR = false;\n        }\n        if (RETURN_DOM_FRAGMENT) {\n          RETURN_DOM = true;\n        }\n        if (USE_PROFILES) {\n          ALLOWED_TAGS = addToSet({}, [...text$1]);\n          ALLOWED_ATTR = [];\n          if (USE_PROFILES.html === true) {\n            addToSet(ALLOWED_TAGS, html$1);\n            addToSet(ALLOWED_ATTR, html);\n          }\n          if (USE_PROFILES.svg === true) {\n            addToSet(ALLOWED_TAGS, svg$1);\n            addToSet(ALLOWED_ATTR, svg);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n          if (USE_PROFILES.svgFilters === true) {\n            addToSet(ALLOWED_TAGS, svgFilters);\n            addToSet(ALLOWED_ATTR, svg);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n          if (USE_PROFILES.mathMl === true) {\n            addToSet(ALLOWED_TAGS, mathMl$1);\n            addToSet(ALLOWED_ATTR, mathMl);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n        }\n        if (cfg.ADD_TAGS) {\n          if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n            ALLOWED_TAGS = clone(ALLOWED_TAGS);\n          }\n          addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n        }\n        if (cfg.ADD_ATTR) {\n          if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n            ALLOWED_ATTR = clone(ALLOWED_ATTR);\n          }\n          addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n        }\n        if (cfg.ADD_URI_SAFE_ATTR) {\n          addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n        }\n        if (cfg.FORBID_CONTENTS) {\n          if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n            FORBID_CONTENTS = clone(FORBID_CONTENTS);\n          }\n          addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n        }\n        if (KEEP_CONTENT) {\n          ALLOWED_TAGS['#text'] = true;\n        }\n        if (WHOLE_DOCUMENT) {\n          addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n        }\n        if (ALLOWED_TAGS.table) {\n          addToSet(ALLOWED_TAGS, ['tbody']);\n          delete FORBID_TAGS.tbody;\n        }\n        if (cfg.TRUSTED_TYPES_POLICY) {\n          if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n            throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n          }\n          if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n            throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n          }\n          trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n          emptyHTML = trustedTypesPolicy.createHTML('');\n        } else {\n          if (trustedTypesPolicy === undefined) {\n            trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n          }\n          if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n            emptyHTML = trustedTypesPolicy.createHTML('');\n          }\n        }\n        if (freeze) {\n          freeze(cfg);\n        }\n        CONFIG = cfg;\n      };\n      const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n      const HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']);\n      const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n      const ALL_SVG_TAGS = addToSet({}, svg$1);\n      addToSet(ALL_SVG_TAGS, svgFilters);\n      addToSet(ALL_SVG_TAGS, svgDisallowed);\n      const ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n      addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n      const _checkValidNamespace = function _checkValidNamespace(element) {\n        let parent = getParentNode(element);\n        if (!parent || !parent.tagName) {\n          parent = {\n            namespaceURI: NAMESPACE,\n            tagName: 'template'\n          };\n        }\n        const tagName = stringToLowerCase(element.tagName);\n        const parentTagName = stringToLowerCase(parent.tagName);\n        if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n          return false;\n        }\n        if (element.namespaceURI === SVG_NAMESPACE) {\n          if (parent.namespaceURI === HTML_NAMESPACE) {\n            return tagName === 'svg';\n          }\n          if (parent.namespaceURI === MATHML_NAMESPACE) {\n            return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n          }\n          return Boolean(ALL_SVG_TAGS[tagName]);\n        }\n        if (element.namespaceURI === MATHML_NAMESPACE) {\n          if (parent.namespaceURI === HTML_NAMESPACE) {\n            return tagName === 'math';\n          }\n          if (parent.namespaceURI === SVG_NAMESPACE) {\n            return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n          }\n          return Boolean(ALL_MATHML_TAGS[tagName]);\n        }\n        if (element.namespaceURI === HTML_NAMESPACE) {\n          if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n            return false;\n          }\n          if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n            return false;\n          }\n          return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n        }\n        if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n          return true;\n        }\n        return false;\n      };\n      const _forceRemove = function _forceRemove(node) {\n        arrayPush(DOMPurify.removed, {\n          element: node\n        });\n        try {\n          node.parentNode.removeChild(node);\n        } catch (_) {\n          node.remove();\n        }\n      };\n      const _removeAttribute = function _removeAttribute(name, node) {\n        try {\n          arrayPush(DOMPurify.removed, {\n            attribute: node.getAttributeNode(name),\n            from: node\n          });\n        } catch (_) {\n          arrayPush(DOMPurify.removed, {\n            attribute: null,\n            from: node\n          });\n        }\n        node.removeAttribute(name);\n        if (name === 'is' && !ALLOWED_ATTR[name]) {\n          if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n            try {\n              _forceRemove(node);\n            } catch (_) {}\n          } else {\n            try {\n              node.setAttribute(name, '');\n            } catch (_) {}\n          }\n        }\n      };\n      const _initDocument = function _initDocument(dirty) {\n        let doc;\n        let leadingWhitespace;\n        if (FORCE_BODY) {\n          dirty = '<remove><\/remove>' + dirty;\n        } else {\n          const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n          leadingWhitespace = matches && matches[0];\n        }\n        if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n          dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><\/head><body>' + dirty + '<\/body><\/html>';\n        }\n        const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n        if (NAMESPACE === HTML_NAMESPACE) {\n          try {\n            doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n          } catch (_) {}\n        }\n        if (!doc || !doc.documentElement) {\n          doc = implementation.createDocument(NAMESPACE, 'template', null);\n          try {\n            doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n          } catch (_) {}\n        }\n        const body = doc.body || doc.documentElement;\n        if (dirty && leadingWhitespace) {\n          body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n        }\n        if (NAMESPACE === HTML_NAMESPACE) {\n          return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n        }\n        return WHOLE_DOCUMENT ? doc.documentElement : body;\n      };\n      const _createIterator = function _createIterator(root) {\n        return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n      };\n      const _isClobbered = function _isClobbered(elm) {\n        return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');\n      };\n      const _isNode = function _isNode(object) {\n        return typeof Node === 'object' ? object instanceof Node : object && typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n      };\n      const _executeHook = function _executeHook(entryPoint, currentNode, data) {\n        if (!hooks[entryPoint]) {\n          return;\n        }\n        arrayForEach(hooks[entryPoint], hook => {\n          hook.call(DOMPurify, currentNode, data, CONFIG);\n        });\n      };\n      const _sanitizeElements = function _sanitizeElements(currentNode) {\n        let content;\n        _executeHook('beforeSanitizeElements', currentNode, null);\n        if (_isClobbered(currentNode)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        const tagName = transformCaseFunc(currentNode.nodeName);\n        _executeHook('uponSanitizeElement', currentNode, {\n          tagName,\n          allowedTags: ALLOWED_TAGS\n        });\n        if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n          if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {\n            if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;\n            if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;\n          }\n          if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n            const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n            const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n            if (childNodes && parentNode) {\n              const childCount = childNodes.length;\n              for (let i = childCount - 1; i >= 0; --i) {\n                parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n              }\n            }\n          }\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n          content = currentNode.textContent;\n          content = stringReplace(content, MUSTACHE_EXPR, ' ');\n          content = stringReplace(content, ERB_EXPR, ' ');\n          content = stringReplace(content, TMPLIT_EXPR, ' ');\n          if (currentNode.textContent !== content) {\n            arrayPush(DOMPurify.removed, {\n              element: currentNode.cloneNode()\n            });\n            currentNode.textContent = content;\n          }\n        }\n        _executeHook('afterSanitizeElements', currentNode, null);\n        return false;\n      };\n      const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n        if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n          return false;\n        }\n        if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ;else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ;else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n          if (_basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ;else {\n            return false;\n          }\n        } else if (URI_SAFE_ATTRIBUTES[lcName]) ;else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ;else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ;else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ;else if (value) {\n          return false;\n        } else ;\n        return true;\n      };\n      const _basicCustomElementTest = function _basicCustomElementTest(tagName) {\n        return tagName.indexOf('-') > 0;\n      };\n      const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n        let attr;\n        let value;\n        let lcName;\n        let l;\n        _executeHook('beforeSanitizeAttributes', currentNode, null);\n        const {\n          attributes\n        } = currentNode;\n        if (!attributes) {\n          return;\n        }\n        const hookEvent = {\n          attrName: '',\n          attrValue: '',\n          keepAttr: true,\n          allowedAttributes: ALLOWED_ATTR\n        };\n        l = attributes.length;\n        while (l--) {\n          attr = attributes[l];\n          const {\n            name,\n            namespaceURI\n          } = attr;\n          value = name === 'value' ? attr.value : stringTrim(attr.value);\n          const initValue = value;\n          lcName = transformCaseFunc(name);\n          hookEvent.attrName = lcName;\n          hookEvent.attrValue = value;\n          hookEvent.keepAttr = true;\n          hookEvent.forceKeepAttr = undefined;\n          _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n          value = hookEvent.attrValue;\n          if (hookEvent.forceKeepAttr) {\n            continue;\n          }\n          if (!hookEvent.keepAttr) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (SAFE_FOR_TEMPLATES) {\n            value = stringReplace(value, MUSTACHE_EXPR, ' ');\n            value = stringReplace(value, ERB_EXPR, ' ');\n            value = stringReplace(value, TMPLIT_EXPR, ' ');\n          }\n          const lcTag = transformCaseFunc(currentNode.nodeName);\n          if (!_isValidAttribute(lcTag, lcName, value)) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n            _removeAttribute(name, currentNode);\n            value = SANITIZE_NAMED_PROPS_PREFIX + value;\n          }\n          if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n            if (namespaceURI) ;else {\n              switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n                case 'TrustedHTML':\n                  {\n                    value = trustedTypesPolicy.createHTML(value);\n                    break;\n                  }\n                case 'TrustedScriptURL':\n                  {\n                    value = trustedTypesPolicy.createScriptURL(value);\n                    break;\n                  }\n              }\n            }\n          }\n          if (value !== initValue) {\n            try {\n              if (namespaceURI) {\n                currentNode.setAttributeNS(namespaceURI, name, value);\n              } else {\n                currentNode.setAttribute(name, value);\n              }\n            } catch (_) {\n              _removeAttribute(name, currentNode);\n            }\n          }\n        }\n        _executeHook('afterSanitizeAttributes', currentNode, null);\n      };\n      const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n        let shadowNode;\n        const shadowIterator = _createIterator(fragment);\n        _executeHook('beforeSanitizeShadowDOM', fragment, null);\n        while (shadowNode = shadowIterator.nextNode()) {\n          _executeHook('uponSanitizeShadowNode', shadowNode, null);\n          if (_sanitizeElements(shadowNode)) {\n            continue;\n          }\n          if (shadowNode.content instanceof DocumentFragment) {\n            _sanitizeShadowDOM(shadowNode.content);\n          }\n          _sanitizeAttributes(shadowNode);\n        }\n        _executeHook('afterSanitizeShadowDOM', fragment, null);\n      };\n      DOMPurify.sanitize = function (dirty) {\n        let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        let body;\n        let importedNode;\n        let currentNode;\n        let returnNode;\n        IS_EMPTY_INPUT = !dirty;\n        if (IS_EMPTY_INPUT) {\n          dirty = '<!-->';\n        }\n        if (typeof dirty !== 'string' && !_isNode(dirty)) {\n          if (typeof dirty.toString === 'function') {\n            dirty = dirty.toString();\n            if (typeof dirty !== 'string') {\n              throw typeErrorCreate('dirty is not a string, aborting');\n            }\n          } else {\n            throw typeErrorCreate('toString is not a function');\n          }\n        }\n        if (!DOMPurify.isSupported) {\n          return dirty;\n        }\n        if (!SET_CONFIG) {\n          _parseConfig(cfg);\n        }\n        DOMPurify.removed = [];\n        if (typeof dirty === 'string') {\n          IN_PLACE = false;\n        }\n        if (IN_PLACE) {\n          if (dirty.nodeName) {\n            const tagName = transformCaseFunc(dirty.nodeName);\n            if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n              throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n            }\n          }\n        } else if (dirty instanceof Node) {\n          body = _initDocument('<!---->');\n          importedNode = body.ownerDocument.importNode(dirty, true);\n          if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n            body = importedNode;\n          } else if (importedNode.nodeName === 'HTML') {\n            body = importedNode;\n          } else {\n            body.appendChild(importedNode);\n          }\n        } else {\n          if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf('<') === -1) {\n            return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n          }\n          body = _initDocument(dirty);\n          if (!body) {\n            return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n          }\n        }\n        if (body && FORCE_BODY) {\n          _forceRemove(body.firstChild);\n        }\n        const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n        while (currentNode = nodeIterator.nextNode()) {\n          if (_sanitizeElements(currentNode)) {\n            continue;\n          }\n          if (currentNode.content instanceof DocumentFragment) {\n            _sanitizeShadowDOM(currentNode.content);\n          }\n          _sanitizeAttributes(currentNode);\n        }\n        if (IN_PLACE) {\n          return dirty;\n        }\n        if (RETURN_DOM) {\n          if (RETURN_DOM_FRAGMENT) {\n            returnNode = createDocumentFragment.call(body.ownerDocument);\n            while (body.firstChild) {\n              returnNode.appendChild(body.firstChild);\n            }\n          } else {\n            returnNode = body;\n          }\n          if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n            returnNode = importNode.call(originalDocument, returnNode, true);\n          }\n          return returnNode;\n        }\n        let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n        if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n          serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n        }\n        if (SAFE_FOR_TEMPLATES) {\n          serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n          serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n          serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR, ' ');\n        }\n        return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n      };\n      DOMPurify.setConfig = function (cfg) {\n        _parseConfig(cfg);\n        SET_CONFIG = true;\n      };\n      DOMPurify.clearConfig = function () {\n        CONFIG = null;\n        SET_CONFIG = false;\n      };\n      DOMPurify.isValidAttribute = function (tag, attr, value) {\n        if (!CONFIG) {\n          _parseConfig({});\n        }\n        const lcTag = transformCaseFunc(tag);\n        const lcName = transformCaseFunc(attr);\n        return _isValidAttribute(lcTag, lcName, value);\n      };\n      DOMPurify.addHook = function (entryPoint, hookFunction) {\n        if (typeof hookFunction !== 'function') {\n          return;\n        }\n        hooks[entryPoint] = hooks[entryPoint] || [];\n        arrayPush(hooks[entryPoint], hookFunction);\n      };\n      DOMPurify.removeHook = function (entryPoint) {\n        if (hooks[entryPoint]) {\n          return arrayPop(hooks[entryPoint]);\n        }\n      };\n      DOMPurify.removeHooks = function (entryPoint) {\n        if (hooks[entryPoint]) {\n          hooks[entryPoint] = [];\n        }\n      };\n      DOMPurify.removeAllHooks = function () {\n        hooks = {};\n      };\n      return DOMPurify;\n    }\n    var purify = createDOMPurify();\n\n    const sanitizeHtmlString = html => purify().sanitize(html);\n\n    var global$8 = tinymce.util.Tools.resolve('tinymce.util.I18n');\n\n    const rtlTransform = {\n      'indent': true,\n      'outdent': true,\n      'table-insert-column-after': true,\n      'table-insert-column-before': true,\n      'paste-column-after': true,\n      'paste-column-before': true,\n      'unordered-list': true,\n      'list-bull-circle': true,\n      'list-bull-default': true,\n      'list-bull-square': true\n    };\n    const defaultIconName = 'temporary-placeholder';\n    const defaultIcon = icons => () => get$g(icons, defaultIconName).getOr('!not found!');\n    const getIconName = (name, icons) => {\n      const lcName = name.toLowerCase();\n      if (global$8.isRtl()) {\n        const rtlName = ensureTrailing(lcName, '-rtl');\n        return has$2(icons, rtlName) ? rtlName : lcName;\n      } else {\n        return lcName;\n      }\n    };\n    const lookupIcon = (name, icons) => get$g(icons, getIconName(name, icons));\n    const get$2 = (name, iconProvider) => {\n      const icons = iconProvider();\n      return lookupIcon(name, icons).getOrThunk(defaultIcon(icons));\n    };\n    const getOr = (name, iconProvider, fallbackIcon) => {\n      const icons = iconProvider();\n      return lookupIcon(name, icons).or(fallbackIcon).getOrThunk(defaultIcon(icons));\n    };\n    const needsRtlTransform = iconName => global$8.isRtl() ? has$2(rtlTransform, iconName) : false;\n    const addFocusableBehaviour = () => config('add-focusable', [runOnAttached(comp => {\n      child(comp.element, 'svg').each(svg => set$9(svg, 'focusable', 'false'));\n    })]);\n    const renderIcon$3 = (spec, iconName, icons, fallbackIcon) => {\n      var _a, _b;\n      const rtlIconClasses = needsRtlTransform(iconName) ? ['tox-icon--flip'] : [];\n      const iconHtml = get$g(icons, getIconName(iconName, icons)).or(fallbackIcon).getOrThunk(defaultIcon(icons));\n      return {\n        dom: {\n          tag: spec.tag,\n          attributes: (_a = spec.attributes) !== null && _a !== void 0 ? _a : {},\n          classes: spec.classes.concat(rtlIconClasses),\n          innerHtml: iconHtml\n        },\n        behaviours: derive$1([...((_b = spec.behaviours) !== null && _b !== void 0 ? _b : []), addFocusableBehaviour()])\n      };\n    };\n    const render$3 = (iconName, spec, iconProvider, fallbackIcon = Optional.none()) => renderIcon$3(spec, iconName, iconProvider(), fallbackIcon);\n    const renderFirst = (iconNames, spec, iconProvider) => {\n      const icons = iconProvider();\n      const iconName = find$5(iconNames, name => has$2(icons, getIconName(name, icons)));\n      return renderIcon$3(spec, iconName.getOr(defaultIconName), icons, Optional.none());\n    };\n\n    const notificationIconMap = {\n      success: 'checkmark',\n      error: 'warning',\n      err: 'error',\n      warning: 'warning',\n      warn: 'warning',\n      info: 'info'\n    };\n    const factory$m = detail => {\n      const memBannerText = record({\n        dom: fromHtml(\"<p>\".concat(sanitizeHtmlString(detail.translationProvider(detail.text)), \"<\/p>\")),\n        behaviours: derive$1([Replacing.config({})])\n      });\n      const renderPercentBar = percent => ({\n        dom: {\n          tag: 'div',\n          classes: ['tox-bar'],\n          styles: {\n            width: \"\".concat(percent, \"%\")\n          }\n        }\n      });\n      const renderPercentText = percent => ({\n        dom: {\n          tag: 'div',\n          classes: ['tox-text'],\n          innerHtml: \"\".concat(percent, \"%\")\n        }\n      });\n      const memBannerProgress = record({\n        dom: {\n          tag: 'div',\n          classes: detail.progress ? ['tox-progress-bar', 'tox-progress-indicator'] : ['tox-progress-bar']\n        },\n        components: [{\n          dom: {\n            tag: 'div',\n            classes: ['tox-bar-container']\n          },\n          components: [renderPercentBar(0)]\n        }, renderPercentText(0)],\n        behaviours: derive$1([Replacing.config({})])\n      });\n      const updateProgress = (comp, percent) => {\n        if (comp.getSystem().isConnected()) {\n          memBannerProgress.getOpt(comp).each(progress => {\n            Replacing.set(progress, [{\n              dom: {\n                tag: 'div',\n                classes: ['tox-bar-container']\n              },\n              components: [renderPercentBar(percent)]\n            }, renderPercentText(percent)]);\n          });\n        }\n      };\n      const updateText = (comp, text) => {\n        if (comp.getSystem().isConnected()) {\n          const banner = memBannerText.get(comp);\n          Replacing.set(banner, [text$2(text)]);\n        }\n      };\n      const apis = {\n        updateProgress,\n        updateText\n      };\n      const iconChoices = flatten([detail.icon.toArray(), detail.level.toArray(), detail.level.bind(level => Optional.from(notificationIconMap[level])).toArray()]);\n      const memButton = record(Button.sketch({\n        dom: {\n          tag: 'button',\n          classes: ['tox-notification__dismiss', 'tox-button', 'tox-button--naked', 'tox-button--icon']\n        },\n        components: [render$3('close', {\n          tag: 'span',\n          classes: ['tox-icon'],\n          attributes: {\n            'aria-label': detail.translationProvider('Close')\n          }\n        }, detail.iconProvider)],\n        action: comp => {\n          detail.onAction(comp);\n        }\n      }));\n      const notificationIconSpec = renderFirst(iconChoices, {\n        tag: 'div',\n        classes: ['tox-notification__icon']\n      }, detail.iconProvider);\n      const notificationBodySpec = {\n        dom: {\n          tag: 'div',\n          classes: ['tox-notification__body']\n        },\n        components: [memBannerText.asSpec()],\n        behaviours: derive$1([Replacing.config({})])\n      };\n      const components = [notificationIconSpec, notificationBodySpec];\n      return {\n        uid: detail.uid,\n        dom: {\n          tag: 'div',\n          attributes: {\n            role: 'alert'\n          },\n          classes: detail.level.map(level => ['tox-notification', 'tox-notification--in', \"tox-notification--\".concat(level)]).getOr(['tox-notification', 'tox-notification--in'])\n        },\n        behaviours: derive$1([Focusing.config({}), config('notification-events', [run$1(focusin(), comp => {\n          memButton.getOpt(comp).each(Focusing.focus);\n        })])]),\n        components: components.concat(detail.progress ? [memBannerProgress.asSpec()] : []).concat(!detail.closeButton ? [] : [memButton.asSpec()]),\n        apis\n      };\n    };\n    const Notification = single({\n      name: 'Notification',\n      factory: factory$m,\n      configFields: [option$3('level'), required$1('progress'), option$3('icon'), required$1('onAction'), required$1('text'), required$1('iconProvider'), required$1('translationProvider'), defaultedBoolean('closeButton', true)],\n      apis: {\n        updateProgress: (apis, comp, percent) => {\n          apis.updateProgress(comp, percent);\n        },\n        updateText: (apis, comp, text) => {\n          apis.updateText(comp, text);\n        }\n      }\n    });\n\n    var NotificationManagerImpl = ((editor, extras, uiMothership) => {\n      const sharedBackstage = extras.backstage.shared;\n      const getBounds = () => {\n        const contentArea = box$1(SugarElement.fromDom(editor.getContentAreaContainer()));\n        const win$1 = win();\n        const x = clamp(win$1.x, contentArea.x, contentArea.right);\n        const y = clamp(win$1.y, contentArea.y, contentArea.bottom);\n        const right = Math.max(contentArea.right, win$1.right);\n        const bottom = Math.max(contentArea.bottom, win$1.bottom);\n        return Optional.some(bounds(x, y, right - x, bottom - y));\n      };\n      const open = (settings, closeCallback) => {\n        const close = () => {\n          closeCallback();\n          InlineView.hide(notificationWrapper);\n        };\n        const notification = build$1(Notification.sketch({\n          text: settings.text,\n          level: contains$2(['success', 'error', 'warning', 'warn', 'info'], settings.type) ? settings.type : undefined,\n          progress: settings.progressBar === true,\n          icon: settings.icon,\n          closeButton: settings.closeButton,\n          onAction: close,\n          iconProvider: sharedBackstage.providers.icons,\n          translationProvider: sharedBackstage.providers.translate\n        }));\n        const notificationWrapper = build$1(InlineView.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-notifications-container']\n          },\n          lazySink: sharedBackstage.getSink,\n          fireDismissalEventInstead: {},\n          ...(sharedBackstage.header.isPositionedAtTop() ? {} : {\n            fireRepositionEventInstead: {}\n          })\n        }));\n        uiMothership.add(notificationWrapper);\n        if (isNumber(settings.timeout) && settings.timeout > 0) {\n          global$9.setEditorTimeout(editor, () => {\n            close();\n          }, settings.timeout);\n        }\n        const reposition = () => {\n          const notificationSpec = premade(notification);\n          const anchorOverrides = {\n            maxHeightFunction: expandable$1()\n          };\n          const allNotifications = editor.notificationManager.getNotifications();\n          if (allNotifications[0] === thisNotification) {\n            const anchor = {\n              ...sharedBackstage.anchors.banner(),\n              overrides: anchorOverrides\n            };\n            InlineView.showWithinBounds(notificationWrapper, notificationSpec, {\n              anchor\n            }, getBounds);\n          } else {\n            indexOf(allNotifications, thisNotification).each(idx => {\n              const previousNotification = allNotifications[idx - 1].getEl();\n              const nodeAnchor = {\n                type: 'node',\n                root: body(),\n                node: Optional.some(SugarElement.fromDom(previousNotification)),\n                overrides: anchorOverrides,\n                layouts: {\n                  onRtl: () => [south$2],\n                  onLtr: () => [south$2]\n                }\n              };\n              InlineView.showWithinBounds(notificationWrapper, notificationSpec, {\n                anchor: nodeAnchor\n              }, getBounds);\n            });\n          }\n        };\n        const thisNotification = {\n          close,\n          reposition,\n          text: nuText => {\n            Notification.updateText(notification, nuText);\n          },\n          settings,\n          getEl: () => notification.element.dom,\n          progressBar: {\n            value: percent => {\n              Notification.updateProgress(notification, percent);\n            }\n          }\n        };\n        return thisNotification;\n      };\n      const close = notification => {\n        notification.close();\n      };\n      const getArgs = notification => {\n        return notification.settings;\n      };\n      return {\n        open,\n        close,\n        getArgs\n      };\n    });\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.EditorManager');\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var ToolbarMode$1;\n    (function (ToolbarMode) {\n      ToolbarMode['default'] = 'wrap';\n      ToolbarMode['floating'] = 'floating';\n      ToolbarMode['sliding'] = 'sliding';\n      ToolbarMode['scrolling'] = 'scrolling';\n    })(ToolbarMode$1 || (ToolbarMode$1 = {}));\n    var ToolbarLocation$1;\n    (function (ToolbarLocation) {\n      ToolbarLocation['auto'] = 'auto';\n      ToolbarLocation['top'] = 'top';\n      ToolbarLocation['bottom'] = 'bottom';\n    })(ToolbarLocation$1 || (ToolbarLocation$1 = {}));\n    const option$2 = name => editor => editor.options.get(name);\n    const wrapOptional = fn => editor => Optional.from(fn(editor));\n    const register$e = editor => {\n      const isPhone = global$5.deviceType.isPhone();\n      const isMobile = global$5.deviceType.isTablet() || isPhone;\n      const registerOption = editor.options.register;\n      const stringOrFalseProcessor = value => isString(value) || value === false;\n      const stringOrNumberProcessor = value => isString(value) || isNumber(value);\n      registerOption('skin', {\n        processor: value => isString(value) || value === false,\n        default: 'oxide'\n      });\n      registerOption('skin_url', {\n        processor: 'string'\n      });\n      registerOption('height', {\n        processor: stringOrNumberProcessor,\n        default: Math.max(editor.getElement().offsetHeight, 400)\n      });\n      registerOption('width', {\n        processor: stringOrNumberProcessor,\n        default: global$7.DOM.getStyle(editor.getElement(), 'width')\n      });\n      registerOption('min_height', {\n        processor: 'number',\n        default: 100\n      });\n      registerOption('min_width', {\n        processor: 'number'\n      });\n      registerOption('max_height', {\n        processor: 'number'\n      });\n      registerOption('max_width', {\n        processor: 'number'\n      });\n      registerOption('style_formats', {\n        processor: 'object[]'\n      });\n      registerOption('style_formats_merge', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('style_formats_autohide', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('line_height_formats', {\n        processor: 'string',\n        default: '1 1.1 1.2 1.3 1.4 1.5 2'\n      });\n      registerOption('font_family_formats', {\n        processor: 'string',\n        default: 'Andale Mono=andale mono,monospace;' + 'Arial=arial,helvetica,sans-serif;' + 'Arial Black=arial black,sans-serif;' + 'Book Antiqua=book antiqua,palatino,serif;' + 'Comic Sans MS=comic sans ms,sans-serif;' + 'Courier New=courier new,courier,monospace;' + 'Georgia=georgia,palatino,serif;' + 'Helvetica=helvetica,arial,sans-serif;' + 'Impact=impact,sans-serif;' + 'Symbol=symbol;' + 'Tahoma=tahoma,arial,helvetica,sans-serif;' + 'Terminal=terminal,monaco,monospace;' + 'Times New Roman=times new roman,times,serif;' + 'Trebuchet MS=trebuchet ms,geneva,sans-serif;' + 'Verdana=verdana,geneva,sans-serif;' + 'Webdings=webdings;' + 'Wingdings=wingdings,zapf dingbats'\n      });\n      registerOption('font_size_formats', {\n        processor: 'string',\n        default: '8pt 10pt 12pt 14pt 18pt 24pt 36pt'\n      });\n      registerOption('font_size_input_default_unit', {\n        processor: 'string',\n        default: 'pt'\n      });\n      registerOption('block_formats', {\n        processor: 'string',\n        default: 'Paragraph=p;' + 'Heading 1=h1;' + 'Heading 2=h2;' + 'Heading 3=h3;' + 'Heading 4=h4;' + 'Heading 5=h5;' + 'Heading 6=h6;' + 'Preformatted=pre'\n      });\n      registerOption('content_langs', {\n        processor: 'object[]'\n      });\n      registerOption('removed_menuitems', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('menubar', {\n        processor: value => isString(value) || isBoolean(value),\n        default: !isPhone\n      });\n      registerOption('menu', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('toolbar', {\n        processor: value => {\n          if (isBoolean(value) || isString(value) || isArray(value)) {\n            return {\n              value,\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a boolean, string or array.'\n            };\n          }\n        },\n        default: true\n      });\n      range$2(9, num => {\n        registerOption('toolbar' + (num + 1), {\n          processor: 'string'\n        });\n      });\n      registerOption('toolbar_mode', {\n        processor: 'string',\n        default: isMobile ? 'scrolling' : 'floating'\n      });\n      registerOption('toolbar_groups', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('toolbar_location', {\n        processor: 'string',\n        default: ToolbarLocation$1.auto\n      });\n      registerOption('toolbar_persist', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('toolbar_sticky', {\n        processor: 'boolean',\n        default: editor.inline\n      });\n      registerOption('toolbar_sticky_offset', {\n        processor: 'number',\n        default: 0\n      });\n      registerOption('fixed_toolbar_container', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('fixed_toolbar_container_target', {\n        processor: 'object'\n      });\n      registerOption('ui_mode', {\n        processor: 'string',\n        default: 'combined'\n      });\n      registerOption('file_picker_callback', {\n        processor: 'function'\n      });\n      registerOption('file_picker_validator_handler', {\n        processor: 'function'\n      });\n      registerOption('file_picker_types', {\n        processor: 'string'\n      });\n      registerOption('typeahead_urls', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('anchor_top', {\n        processor: stringOrFalseProcessor,\n        default: '#top'\n      });\n      registerOption('anchor_bottom', {\n        processor: stringOrFalseProcessor,\n        default: '#bottom'\n      });\n      registerOption('draggable_modal', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('statusbar', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('elementpath', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('branding', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('promotion', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('resize', {\n        processor: value => value === 'both' || isBoolean(value),\n        default: !global$5.deviceType.isTouch()\n      });\n      registerOption('sidebar_show', {\n        processor: 'string'\n      });\n      registerOption('help_accessibility', {\n        processor: 'boolean',\n        default: editor.hasPlugin('help')\n      });\n      registerOption('default_font_stack', {\n        processor: 'string[]',\n        default: []\n      });\n    };\n    const isReadOnly = option$2('readonly');\n    const getHeightOption = option$2('height');\n    const getWidthOption = option$2('width');\n    const getMinWidthOption = wrapOptional(option$2('min_width'));\n    const getMinHeightOption = wrapOptional(option$2('min_height'));\n    const getMaxWidthOption = wrapOptional(option$2('max_width'));\n    const getMaxHeightOption = wrapOptional(option$2('max_height'));\n    const getUserStyleFormats = wrapOptional(option$2('style_formats'));\n    const shouldMergeStyleFormats = option$2('style_formats_merge');\n    const shouldAutoHideStyleFormats = option$2('style_formats_autohide');\n    const getContentLanguages = option$2('content_langs');\n    const getRemovedMenuItems = option$2('removed_menuitems');\n    const getToolbarMode = option$2('toolbar_mode');\n    const getToolbarGroups = option$2('toolbar_groups');\n    const getToolbarLocation = option$2('toolbar_location');\n    const fixedContainerSelector = option$2('fixed_toolbar_container');\n    const fixedToolbarContainerTarget = option$2('fixed_toolbar_container_target');\n    const isToolbarPersist = option$2('toolbar_persist');\n    const getStickyToolbarOffset = option$2('toolbar_sticky_offset');\n    const getMenubar = option$2('menubar');\n    const getToolbar = option$2('toolbar');\n    const getFilePickerCallback = option$2('file_picker_callback');\n    const getFilePickerValidatorHandler = option$2('file_picker_validator_handler');\n    const getFontSizeInputDefaultUnit = option$2('font_size_input_default_unit');\n    const getFilePickerTypes = option$2('file_picker_types');\n    const useTypeaheadUrls = option$2('typeahead_urls');\n    const getAnchorTop = option$2('anchor_top');\n    const getAnchorBottom = option$2('anchor_bottom');\n    const isDraggableModal$1 = option$2('draggable_modal');\n    const useStatusBar = option$2('statusbar');\n    const useElementPath = option$2('elementpath');\n    const useBranding = option$2('branding');\n    const getResize = option$2('resize');\n    const getPasteAsText = option$2('paste_as_text');\n    const getSidebarShow = option$2('sidebar_show');\n    const promotionEnabled = option$2('promotion');\n    const useHelpAccessibility = option$2('help_accessibility');\n    const getDefaultFontStack = option$2('default_font_stack');\n    const isSkinDisabled = editor => editor.options.get('skin') === false;\n    const isMenubarEnabled = editor => editor.options.get('menubar') !== false;\n    const getSkinUrl = editor => {\n      const skinUrl = editor.options.get('skin_url');\n      if (isSkinDisabled(editor)) {\n        return skinUrl;\n      } else {\n        if (skinUrl) {\n          return editor.documentBaseURI.toAbsolute(skinUrl);\n        } else {\n          const skin = editor.options.get('skin');\n          return global$6.baseURL + '/skins/ui/' + skin;\n        }\n      }\n    };\n    const getSkinUrlOption = editor => Optional.from(editor.options.get('skin_url'));\n    const getLineHeightFormats = editor => editor.options.get('line_height_formats').split(' ');\n    const isToolbarEnabled = editor => {\n      const toolbar = getToolbar(editor);\n      const isToolbarString = isString(toolbar);\n      const isToolbarObjectArray = isArray(toolbar) && toolbar.length > 0;\n      return !isMultipleToolbars(editor) && (isToolbarObjectArray || isToolbarString || toolbar === true);\n    };\n    const getMultipleToolbarsOption = editor => {\n      const toolbars = range$2(9, num => editor.options.get('toolbar' + (num + 1)));\n      const toolbarArray = filter$2(toolbars, isString);\n      return someIf(toolbarArray.length > 0, toolbarArray);\n    };\n    const isMultipleToolbars = editor => getMultipleToolbarsOption(editor).fold(() => {\n      const toolbar = getToolbar(editor);\n      return isArrayOf(toolbar, isString) && toolbar.length > 0;\n    }, always);\n    const isToolbarLocationBottom = editor => getToolbarLocation(editor) === ToolbarLocation$1.bottom;\n    const fixedContainerTarget = editor => {\n      var _a;\n      if (!editor.inline) {\n        return Optional.none();\n      }\n      const selector = (_a = fixedContainerSelector(editor)) !== null && _a !== void 0 ? _a : '';\n      if (selector.length > 0) {\n        return descendant(body(), selector);\n      }\n      const element = fixedToolbarContainerTarget(editor);\n      if (isNonNullable(element)) {\n        return Optional.some(SugarElement.fromDom(element));\n      }\n      return Optional.none();\n    };\n    const useFixedContainer = editor => editor.inline && fixedContainerTarget(editor).isSome();\n    const getUiContainer = editor => {\n      const fixedContainer = fixedContainerTarget(editor);\n      return fixedContainer.getOrThunk(() => getContentContainer(getRootNode(SugarElement.fromDom(editor.getElement()))));\n    };\n    const isDistractionFree = editor => editor.inline && !isMenubarEnabled(editor) && !isToolbarEnabled(editor) && !isMultipleToolbars(editor);\n    const isStickyToolbar = editor => {\n      const isStickyToolbar = editor.options.get('toolbar_sticky');\n      return (isStickyToolbar || editor.inline) && !useFixedContainer(editor) && !isDistractionFree(editor);\n    };\n    const isSplitUiMode = editor => !useFixedContainer(editor) && editor.options.get('ui_mode') === 'split';\n    const getMenus = editor => {\n      const menu = editor.options.get('menu');\n      return map$1(menu, menu => ({\n        ...menu,\n        items: menu.items\n      }));\n    };\n\n    var Options = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        get ToolbarMode () { return ToolbarMode$1; },\n        get ToolbarLocation () { return ToolbarLocation$1; },\n        register: register$e,\n        getSkinUrl: getSkinUrl,\n        getSkinUrlOption: getSkinUrlOption,\n        isReadOnly: isReadOnly,\n        isSkinDisabled: isSkinDisabled,\n        getHeightOption: getHeightOption,\n        getWidthOption: getWidthOption,\n        getMinWidthOption: getMinWidthOption,\n        getMinHeightOption: getMinHeightOption,\n        getMaxWidthOption: getMaxWidthOption,\n        getMaxHeightOption: getMaxHeightOption,\n        getUserStyleFormats: getUserStyleFormats,\n        shouldMergeStyleFormats: shouldMergeStyleFormats,\n        shouldAutoHideStyleFormats: shouldAutoHideStyleFormats,\n        getLineHeightFormats: getLineHeightFormats,\n        getContentLanguages: getContentLanguages,\n        getRemovedMenuItems: getRemovedMenuItems,\n        isMenubarEnabled: isMenubarEnabled,\n        isMultipleToolbars: isMultipleToolbars,\n        isToolbarEnabled: isToolbarEnabled,\n        isToolbarPersist: isToolbarPersist,\n        getMultipleToolbarsOption: getMultipleToolbarsOption,\n        getUiContainer: getUiContainer,\n        useFixedContainer: useFixedContainer,\n        isSplitUiMode: isSplitUiMode,\n        getToolbarMode: getToolbarMode,\n        isDraggableModal: isDraggableModal$1,\n        isDistractionFree: isDistractionFree,\n        isStickyToolbar: isStickyToolbar,\n        getStickyToolbarOffset: getStickyToolbarOffset,\n        getToolbarLocation: getToolbarLocation,\n        isToolbarLocationBottom: isToolbarLocationBottom,\n        getToolbarGroups: getToolbarGroups,\n        getMenus: getMenus,\n        getMenubar: getMenubar,\n        getToolbar: getToolbar,\n        getFilePickerCallback: getFilePickerCallback,\n        getFilePickerTypes: getFilePickerTypes,\n        useTypeaheadUrls: useTypeaheadUrls,\n        getAnchorTop: getAnchorTop,\n        getAnchorBottom: getAnchorBottom,\n        getFilePickerValidatorHandler: getFilePickerValidatorHandler,\n        getFontSizeInputDefaultUnit: getFontSizeInputDefaultUnit,\n        useStatusBar: useStatusBar,\n        useElementPath: useElementPath,\n        promotionEnabled: promotionEnabled,\n        useBranding: useBranding,\n        getResize: getResize,\n        getPasteAsText: getPasteAsText,\n        getSidebarShow: getSidebarShow,\n        useHelpAccessibility: useHelpAccessibility,\n        getDefaultFontStack: getDefaultFontStack\n    });\n\n    const autocompleteSelector = '[data-mce-autocompleter]';\n    const detect$1 = elm => closest$1(elm, autocompleteSelector);\n    const findIn = elm => descendant(elm, autocompleteSelector);\n\n    const setup$e = (api, editor) => {\n      const redirectKeyToItem = (item, e) => {\n        emitWith(item, keydown(), {\n          raw: e\n        });\n      };\n      const getItem = () => api.getMenu().bind(Highlighting.getHighlighted);\n      editor.on('keydown', e => {\n        const keyCode = e.which;\n        if (!api.isActive()) {\n          return;\n        }\n        if (api.isMenuOpen()) {\n          if (keyCode === 13) {\n            getItem().each(emitExecute);\n            e.preventDefault();\n          } else if (keyCode === 40) {\n            getItem().fold(() => {\n              api.getMenu().each(Highlighting.highlightFirst);\n            }, item => {\n              redirectKeyToItem(item, e);\n            });\n            e.preventDefault();\n            e.stopImmediatePropagation();\n          } else if (keyCode === 37 || keyCode === 38 || keyCode === 39) {\n            getItem().each(item => {\n              redirectKeyToItem(item, e);\n              e.preventDefault();\n              e.stopImmediatePropagation();\n            });\n          }\n        } else {\n          if (keyCode === 13 || keyCode === 38 || keyCode === 40) {\n            api.cancelIfNecessary();\n          }\n        }\n      });\n      editor.on('NodeChange', e => {\n        if (api.isActive() && !api.isProcessingAction() && detect$1(SugarElement.fromDom(e.element)).isNone()) {\n          api.cancelIfNecessary();\n        }\n      });\n    };\n    const AutocompleterEditorEvents = {\n      setup: setup$e\n    };\n\n    var ItemResponse;\n    (function (ItemResponse) {\n      ItemResponse[ItemResponse['CLOSE_ON_EXECUTE'] = 0] = 'CLOSE_ON_EXECUTE';\n      ItemResponse[ItemResponse['BUBBLE_TO_SANDBOX'] = 1] = 'BUBBLE_TO_SANDBOX';\n    })(ItemResponse || (ItemResponse = {}));\n    var ItemResponse$1 = ItemResponse;\n\n    const navClass = 'tox-menu-nav__js';\n    const selectableClass = 'tox-collection__item';\n    const colorClass = 'tox-swatch';\n    const presetClasses = {\n      normal: navClass,\n      color: colorClass\n    };\n    const tickedClass = 'tox-collection__item--enabled';\n    const groupHeadingClass = 'tox-collection__group-heading';\n    const iconClass = 'tox-collection__item-icon';\n    const textClass = 'tox-collection__item-label';\n    const accessoryClass = 'tox-collection__item-accessory';\n    const caretClass = 'tox-collection__item-caret';\n    const checkmarkClass = 'tox-collection__item-checkmark';\n    const activeClass = 'tox-collection__item--active';\n    const containerClass = 'tox-collection__item-container';\n    const containerColumnClass = 'tox-collection__item-container--column';\n    const containerRowClass = 'tox-collection__item-container--row';\n    const containerAlignRightClass = 'tox-collection__item-container--align-right';\n    const containerAlignLeftClass = 'tox-collection__item-container--align-left';\n    const containerValignTopClass = 'tox-collection__item-container--valign-top';\n    const containerValignMiddleClass = 'tox-collection__item-container--valign-middle';\n    const containerValignBottomClass = 'tox-collection__item-container--valign-bottom';\n    const classForPreset = presets => get$g(presetClasses, presets).getOr(navClass);\n\n    const forMenu = presets => {\n      if (presets === 'color') {\n        return 'tox-swatches';\n      } else {\n        return 'tox-menu';\n      }\n    };\n    const classes = presets => ({\n      backgroundMenu: 'tox-background-menu',\n      selectedMenu: 'tox-selected-menu',\n      selectedItem: 'tox-collection__item--active',\n      hasIcons: 'tox-menu--has-icons',\n      menu: forMenu(presets),\n      tieredMenu: 'tox-tiered-menu'\n    });\n\n    const markers = presets => {\n      const menuClasses = classes(presets);\n      return {\n        backgroundMenu: menuClasses.backgroundMenu,\n        selectedMenu: menuClasses.selectedMenu,\n        menu: menuClasses.menu,\n        selectedItem: menuClasses.selectedItem,\n        item: classForPreset(presets)\n      };\n    };\n    const dom$1 = (hasIcons, columns, presets) => {\n      const menuClasses = classes(presets);\n      return {\n        tag: 'div',\n        classes: flatten([[menuClasses.menu, \"tox-menu-\".concat(columns, \"-column\")], hasIcons ? [menuClasses.hasIcons] : []])\n      };\n    };\n    const components = [Menu.parts.items({})];\n    const part = (hasIcons, columns, presets) => {\n      const menuClasses = classes(presets);\n      const d = {\n        tag: 'div',\n        classes: flatten([[menuClasses.tieredMenu]])\n      };\n      return {\n        dom: d,\n        markers: markers(presets)\n      };\n    };\n\n    const schema$l = constant$1([option$3('data'), defaulted('inputAttributes', {}), defaulted('inputStyles', {}), defaulted('tag', 'input'), defaulted('inputClasses', []), onHandler('onSetValue'), defaulted('styles', {}), defaulted('eventOrder', {}), field('inputBehaviours', [Representing, Focusing]), defaulted('selectOnFocus', true)]);\n    const focusBehaviours = detail => derive$1([Focusing.config({\n      onFocus: !detail.selectOnFocus ? noop : component => {\n        const input = component.element;\n        const value = get$6(input);\n        input.dom.setSelectionRange(0, value.length);\n      }\n    })]);\n    const behaviours = detail => ({\n      ...focusBehaviours(detail),\n      ...augment(detail.inputBehaviours, [Representing.config({\n        store: {\n          mode: 'manual',\n          ...detail.data.map(data => ({\n            initialValue: data\n          })).getOr({}),\n          getValue: input => {\n            return get$6(input.element);\n          },\n          setValue: (input, data) => {\n            const current = get$6(input.element);\n            if (current !== data) {\n              set$5(input.element, data);\n            }\n          }\n        },\n        onSetValue: detail.onSetValue\n      })])\n    });\n    const dom = detail => ({\n      tag: detail.tag,\n      attributes: {\n        type: 'text',\n        ...detail.inputAttributes\n      },\n      styles: detail.inputStyles,\n      classes: detail.inputClasses\n    });\n\n    const factory$l = (detail, _spec) => ({\n      uid: detail.uid,\n      dom: dom(detail),\n      components: [],\n      behaviours: behaviours(detail),\n      eventOrder: detail.eventOrder\n    });\n    const Input = single({\n      name: 'Input',\n      configFields: schema$l(),\n      factory: factory$l\n    });\n\n    const refetchTriggerEvent = generate$6('refetch-trigger-event');\n    const redirectMenuItemInteractionEvent = generate$6('redirect-menu-item-interaction');\n\n    const menuSearcherClass = 'tox-menu__searcher';\n    const findWithinSandbox = sandboxComp => {\n      return descendant(sandboxComp.element, \".\".concat(menuSearcherClass)).bind(inputElem => sandboxComp.getSystem().getByDom(inputElem).toOptional());\n    };\n    const findWithinMenu = findWithinSandbox;\n    const restoreState = (inputComp, searcherState) => {\n      Representing.setValue(inputComp, searcherState.fetchPattern);\n      inputComp.element.dom.selectionStart = searcherState.selectionStart;\n      inputComp.element.dom.selectionEnd = searcherState.selectionEnd;\n    };\n    const saveState = inputComp => {\n      const fetchPattern = Representing.getValue(inputComp);\n      const selectionStart = inputComp.element.dom.selectionStart;\n      const selectionEnd = inputComp.element.dom.selectionEnd;\n      return {\n        fetchPattern,\n        selectionStart,\n        selectionEnd\n      };\n    };\n    const setActiveDescendant = (inputComp, active) => {\n      getOpt(active.element, 'id').each(id => set$9(inputComp.element, 'aria-activedescendant', id));\n    };\n    const renderMenuSearcher = spec => {\n      const handleByBrowser = (comp, se) => {\n        se.cut();\n        return Optional.none();\n      };\n      const handleByHighlightedItem = (comp, se) => {\n        const eventData = {\n          interactionEvent: se.event,\n          eventType: se.event.raw.type\n        };\n        emitWith(comp, redirectMenuItemInteractionEvent, eventData);\n        return Optional.some(true);\n      };\n      const customSearcherEventsName = 'searcher-events';\n      return {\n        dom: {\n          tag: 'div',\n          classes: [selectableClass]\n        },\n        components: [Input.sketch({\n          inputClasses: [menuSearcherClass, 'tox-textfield'],\n          inputAttributes: {\n            ...spec.placeholder.map(placeholder => ({\n              placeholder: spec.i18n(placeholder)\n            })).getOr({}),\n            'type': 'search',\n            'aria-autocomplete': 'list'\n          },\n          inputBehaviours: derive$1([config(customSearcherEventsName, [run$1(input(), inputComp => {\n            emit(inputComp, refetchTriggerEvent);\n          }), run$1(keydown(), (inputComp, se) => {\n            if (se.event.raw.key === 'Escape') {\n              se.stop();\n            }\n          })]), Keying.config({\n            mode: 'special',\n            onLeft: handleByBrowser,\n            onRight: handleByBrowser,\n            onSpace: handleByBrowser,\n            onEnter: handleByHighlightedItem,\n            onEscape: handleByHighlightedItem,\n            onUp: handleByHighlightedItem,\n            onDown: handleByHighlightedItem\n          })]),\n          eventOrder: {\n            keydown: [customSearcherEventsName, Keying.name()]\n          }\n        })]\n      };\n    };\n\n    const searchResultsClass = 'tox-collection--results__js';\n    const augmentWithAria = item => {\n      var _a;\n      if (item.dom) {\n        return {\n          ...item,\n          dom: {\n            ...item.dom,\n            attributes: {\n              ...((_a = item.dom.attributes) !== null && _a !== void 0 ? _a : {}),\n              'id': generate$6('aria-item-search-result-id'),\n              'aria-selected': 'false'\n            }\n          }\n        };\n      } else {\n        return item;\n      }\n    };\n\n    const chunk = (rowDom, numColumns) => items => {\n      const chunks = chunk$1(items, numColumns);\n      return map$2(chunks, c => ({\n        dom: rowDom,\n        components: c\n      }));\n    };\n    const forSwatch = columns => ({\n      dom: {\n        tag: 'div',\n        classes: ['tox-menu', 'tox-swatches-menu']\n      },\n      components: [{\n        dom: {\n          tag: 'div',\n          classes: ['tox-swatches']\n        },\n        components: [Menu.parts.items({\n          preprocess: columns !== 'auto' ? chunk({\n            tag: 'div',\n            classes: ['tox-swatches__row']\n          }, columns) : identity\n        })]\n      }]\n    });\n    const forToolbar = columns => ({\n      dom: {\n        tag: 'div',\n        classes: ['tox-menu', 'tox-collection', 'tox-collection--toolbar', 'tox-collection--toolbar-lg']\n      },\n      components: [Menu.parts.items({\n        preprocess: chunk({\n          tag: 'div',\n          classes: ['tox-collection__group']\n        }, columns)\n      })]\n    });\n    const preprocessCollection = (items, isSeparator) => {\n      const allSplits = [];\n      let currentSplit = [];\n      each$1(items, (item, i) => {\n        if (isSeparator(item, i)) {\n          if (currentSplit.length > 0) {\n            allSplits.push(currentSplit);\n          }\n          currentSplit = [];\n          if (has$2(item.dom, 'innerHtml') || item.components && item.components.length > 0) {\n            currentSplit.push(item);\n          }\n        } else {\n          currentSplit.push(item);\n        }\n      });\n      if (currentSplit.length > 0) {\n        allSplits.push(currentSplit);\n      }\n      return map$2(allSplits, s => ({\n        dom: {\n          tag: 'div',\n          classes: ['tox-collection__group']\n        },\n        components: s\n      }));\n    };\n    const insertItemsPlaceholder = (columns, initItems, onItem) => {\n      return Menu.parts.items({\n        preprocess: rawItems => {\n          const enrichedItems = map$2(rawItems, onItem);\n          if (columns !== 'auto' && columns > 1) {\n            return chunk({\n              tag: 'div',\n              classes: ['tox-collection__group']\n            }, columns)(enrichedItems);\n          } else {\n            return preprocessCollection(enrichedItems, (_item, i) => initItems[i].type === 'separator');\n          }\n        }\n      });\n    };\n    const forCollection = (columns, initItems, _hasIcons = true) => ({\n      dom: {\n        tag: 'div',\n        classes: ['tox-menu', 'tox-collection'].concat(columns === 1 ? ['tox-collection--list'] : ['tox-collection--grid'])\n      },\n      components: [insertItemsPlaceholder(columns, initItems, identity)]\n    });\n    const forCollectionWithSearchResults = (columns, initItems, _hasIcons = true) => {\n      const ariaControlsSearchResults = generate$6('aria-controls-search-results');\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-menu', 'tox-collection', searchResultsClass].concat(columns === 1 ? ['tox-collection--list'] : ['tox-collection--grid']),\n          attributes: {\n            id: ariaControlsSearchResults\n          }\n        },\n        components: [insertItemsPlaceholder(columns, initItems, augmentWithAria)]\n      };\n    };\n    const forCollectionWithSearchField = (columns, initItems, searchField) => {\n      const ariaControlsSearchResults = generate$6('aria-controls-search-results');\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-menu', 'tox-collection'].concat(columns === 1 ? ['tox-collection--list'] : ['tox-collection--grid'])\n        },\n        components: [renderMenuSearcher({\n          i18n: global$8.translate,\n          placeholder: searchField.placeholder\n        }), {\n          dom: {\n            tag: 'div',\n            classes: [...(columns === 1 ? ['tox-collection--list'] : ['tox-collection--grid']), searchResultsClass],\n            attributes: {\n              id: ariaControlsSearchResults\n            }\n          },\n          components: [insertItemsPlaceholder(columns, initItems, augmentWithAria)]\n        }]\n      };\n    };\n    const forHorizontalCollection = (initItems, _hasIcons = true) => ({\n      dom: {\n        tag: 'div',\n        classes: ['tox-collection', 'tox-collection--horizontal']\n      },\n      components: [Menu.parts.items({\n        preprocess: items => preprocessCollection(items, (_item, i) => initItems[i].type === 'separator')\n      })]\n    });\n\n    const menuHasIcons = xs => exists(xs, item => 'icon' in item && item.icon !== undefined);\n    const handleError = error => {\n      console.error(formatError(error));\n      console.log(error);\n      return Optional.none();\n    };\n    const createHorizontalPartialMenuWithAlloyItems = (value, _hasIcons, items, _columns, _menuLayout) => {\n      const structure = forHorizontalCollection(items);\n      return {\n        value,\n        dom: structure.dom,\n        components: structure.components,\n        items\n      };\n    };\n    const createPartialMenuWithAlloyItems = (value, hasIcons, items, columns, menuLayout) => {\n      const getNormalStructure = () => {\n        if (menuLayout.menuType !== 'searchable') {\n          return forCollection(columns, items);\n        } else {\n          return menuLayout.searchMode.searchMode === 'search-with-field' ? forCollectionWithSearchField(columns, items, menuLayout.searchMode) : forCollectionWithSearchResults(columns, items);\n        }\n      };\n      if (menuLayout.menuType === 'color') {\n        const structure = forSwatch(columns);\n        return {\n          value,\n          dom: structure.dom,\n          components: structure.components,\n          items\n        };\n      } else if (menuLayout.menuType === 'normal' && columns === 'auto') {\n        const structure = forCollection(columns, items);\n        return {\n          value,\n          dom: structure.dom,\n          components: structure.components,\n          items\n        };\n      } else if (menuLayout.menuType === 'normal' || menuLayout.menuType === 'searchable') {\n        const structure = getNormalStructure();\n        return {\n          value,\n          dom: structure.dom,\n          components: structure.components,\n          items\n        };\n      } else if (menuLayout.menuType === 'listpreview' && columns !== 'auto') {\n        const structure = forToolbar(columns);\n        return {\n          value,\n          dom: structure.dom,\n          components: structure.components,\n          items\n        };\n      } else {\n        return {\n          value,\n          dom: dom$1(hasIcons, columns, menuLayout.menuType),\n          components: components,\n          items\n        };\n      }\n    };\n\n    const type = requiredString('type');\n    const name$1 = requiredString('name');\n    const label = requiredString('label');\n    const text = requiredString('text');\n    const title = requiredString('title');\n    const icon = requiredString('icon');\n    const value$1 = requiredString('value');\n    const fetch$1 = requiredFunction('fetch');\n    const getSubmenuItems = requiredFunction('getSubmenuItems');\n    const onAction = requiredFunction('onAction');\n    const onItemAction = requiredFunction('onItemAction');\n    const onSetup = defaultedFunction('onSetup', () => noop);\n    const optionalName = optionString('name');\n    const optionalText = optionString('text');\n    const optionalIcon = optionString('icon');\n    const optionalTooltip = optionString('tooltip');\n    const optionalLabel = optionString('label');\n    const optionalShortcut = optionString('shortcut');\n    const optionalSelect = optionFunction('select');\n    const active = defaultedBoolean('active', false);\n    const borderless = defaultedBoolean('borderless', false);\n    const enabled = defaultedBoolean('enabled', true);\n    const primary = defaultedBoolean('primary', false);\n    const defaultedColumns = num => defaulted('columns', num);\n    const defaultedMeta = defaulted('meta', {});\n    const defaultedOnAction = defaultedFunction('onAction', noop);\n    const defaultedType = type => defaultedString('type', type);\n    const generatedName = namePrefix => field$1('name', 'name', defaultedThunk(() => generate$6(\"\".concat(namePrefix, \"-name\"))), string);\n    const generatedValue = valuePrefix => field$1('value', 'value', defaultedThunk(() => generate$6(\"\".concat(valuePrefix, \"-value\"))), anyValue());\n\n    const separatorMenuItemSchema = objOf([type, optionalText]);\n    const createSeparatorMenuItem = spec => asRaw('separatormenuitem', separatorMenuItemSchema, spec);\n\n    const autocompleterItemSchema = objOf([defaultedType('autocompleteitem'), active, enabled, defaultedMeta, value$1, optionalText, optionalIcon]);\n    const createSeparatorItem = spec => asRaw('Autocompleter.Separator', separatorMenuItemSchema, spec);\n    const createAutocompleterItem = spec => asRaw('Autocompleter.Item', autocompleterItemSchema, spec);\n\n    const baseToolbarButtonFields = [enabled, optionalTooltip, optionalIcon, optionalText, onSetup];\n    const toolbarButtonSchema = objOf([type, onAction].concat(baseToolbarButtonFields));\n    const createToolbarButton = spec => asRaw('toolbarbutton', toolbarButtonSchema, spec);\n\n    const baseToolbarToggleButtonFields = [active].concat(baseToolbarButtonFields);\n    const toggleButtonSchema = objOf(baseToolbarToggleButtonFields.concat([type, onAction]));\n    const createToggleButton = spec => asRaw('ToggleButton', toggleButtonSchema, spec);\n\n    const contextBarFields = [defaultedFunction('predicate', never), defaultedStringEnum('scope', 'node', ['node', 'editor']), defaultedStringEnum('position', 'selection', ['node', 'selection', 'line'])];\n\n    const contextButtonFields = baseToolbarButtonFields.concat([defaultedType('contextformbutton'), primary, onAction, customField('original', identity)]);\n    const contextToggleButtonFields = baseToolbarToggleButtonFields.concat([defaultedType('contextformbutton'), primary, onAction, customField('original', identity)]);\n    const launchButtonFields = baseToolbarButtonFields.concat([defaultedType('contextformbutton')]);\n    const launchToggleButtonFields = baseToolbarToggleButtonFields.concat([defaultedType('contextformtogglebutton')]);\n    const toggleOrNormal = choose$1('type', {\n      contextformbutton: contextButtonFields,\n      contextformtogglebutton: contextToggleButtonFields\n    });\n    const contextFormSchema = objOf([defaultedType('contextform'), defaultedFunction('initValue', constant$1('')), optionalLabel, requiredArrayOf('commands', toggleOrNormal), optionOf('launch', choose$1('type', {\n      contextformbutton: launchButtonFields,\n      contextformtogglebutton: launchToggleButtonFields\n    }))].concat(contextBarFields));\n    const createContextForm = spec => asRaw('ContextForm', contextFormSchema, spec);\n\n    const contextToolbarSchema = objOf([defaultedType('contexttoolbar'), requiredString('items')].concat(contextBarFields));\n    const createContextToolbar = spec => asRaw('ContextToolbar', contextToolbarSchema, spec);\n\n    const cardImageFields = [type, requiredString('src'), optionString('alt'), defaultedArrayOf('classes', [], string)];\n    const cardImageSchema = objOf(cardImageFields);\n\n    const cardTextFields = [type, text, optionalName, defaultedArrayOf('classes', ['tox-collection__item-label'], string)];\n    const cardTextSchema = objOf(cardTextFields);\n\n    const itemSchema$1 = valueThunk(() => choose$2('type', {\n      cardimage: cardImageSchema,\n      cardtext: cardTextSchema,\n      cardcontainer: cardContainerSchema\n    }));\n    const cardContainerSchema = objOf([type, defaultedString('direction', 'horizontal'), defaultedString('align', 'left'), defaultedString('valign', 'middle'), requiredArrayOf('items', itemSchema$1)]);\n\n    const commonMenuItemFields = [enabled, optionalText, optionalShortcut, generatedValue('menuitem'), defaultedMeta];\n\n    const cardMenuItemSchema = objOf([type, optionalLabel, requiredArrayOf('items', itemSchema$1), onSetup, defaultedOnAction].concat(commonMenuItemFields));\n    const createCardMenuItem = spec => asRaw('cardmenuitem', cardMenuItemSchema, spec);\n\n    const choiceMenuItemSchema = objOf([type, active, optionalIcon].concat(commonMenuItemFields));\n    const createChoiceMenuItem = spec => asRaw('choicemenuitem', choiceMenuItemSchema, spec);\n\n    const baseFields = [type, requiredString('fancytype'), defaultedOnAction];\n    const insertTableFields = [defaulted('initData', {})].concat(baseFields);\n    const colorSwatchFields = [optionFunction('select'), defaultedObjOf('initData', {}, [defaultedBoolean('allowCustomColors', true), defaultedString('storageKey', 'default'), optionArrayOf('colors', anyValue())])].concat(baseFields);\n    const fancyMenuItemSchema = choose$1('fancytype', {\n      inserttable: insertTableFields,\n      colorswatch: colorSwatchFields\n    });\n    const createFancyMenuItem = spec => asRaw('fancymenuitem', fancyMenuItemSchema, spec);\n\n    const menuItemSchema = objOf([type, onSetup, defaultedOnAction, optionalIcon].concat(commonMenuItemFields));\n    const createMenuItem = spec => asRaw('menuitem', menuItemSchema, spec);\n\n    const nestedMenuItemSchema = objOf([type, getSubmenuItems, onSetup, optionalIcon].concat(commonMenuItemFields));\n    const createNestedMenuItem = spec => asRaw('nestedmenuitem', nestedMenuItemSchema, spec);\n\n    const toggleMenuItemSchema = objOf([type, optionalIcon, active, onSetup, onAction].concat(commonMenuItemFields));\n    const createToggleMenuItem = spec => asRaw('togglemenuitem', toggleMenuItemSchema, spec);\n\n    const detectSize = (comp, margin, selectorClass) => {\n      const descendants$1 = descendants(comp.element, '.' + selectorClass);\n      if (descendants$1.length > 0) {\n        const columnLength = findIndex$1(descendants$1, c => {\n          const thisTop = c.dom.getBoundingClientRect().top;\n          const cTop = descendants$1[0].dom.getBoundingClientRect().top;\n          return Math.abs(thisTop - cTop) > margin;\n        }).getOr(descendants$1.length);\n        return Optional.some({\n          numColumns: columnLength,\n          numRows: Math.ceil(descendants$1.length / columnLength)\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n\n    const namedEvents = (name, handlers) => derive$1([config(name, handlers)]);\n    const unnamedEvents = handlers => namedEvents(generate$6('unnamed-events'), handlers);\n    const SimpleBehaviours = {\n      namedEvents,\n      unnamedEvents\n    };\n\n    const ExclusivityChannel = generate$6('tooltip.exclusive');\n    const ShowTooltipEvent = generate$6('tooltip.show');\n    const HideTooltipEvent = generate$6('tooltip.hide');\n\n    const hideAllExclusive = (component, _tConfig, _tState) => {\n      component.getSystem().broadcastOn([ExclusivityChannel], {});\n    };\n    const setComponents = (component, tConfig, tState, specs) => {\n      tState.getTooltip().each(tooltip => {\n        if (tooltip.getSystem().isConnected()) {\n          Replacing.set(tooltip, specs);\n        }\n      });\n    };\n\n    var TooltippingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        hideAllExclusive: hideAllExclusive,\n        setComponents: setComponents\n    });\n\n    const events$9 = (tooltipConfig, state) => {\n      const hide = comp => {\n        state.getTooltip().each(p => {\n          detach(p);\n          tooltipConfig.onHide(comp, p);\n          state.clearTooltip();\n        });\n        state.clearTimer();\n      };\n      const show = comp => {\n        if (!state.isShowing()) {\n          hideAllExclusive(comp);\n          const sink = tooltipConfig.lazySink(comp).getOrDie();\n          const popup = comp.getSystem().build({\n            dom: tooltipConfig.tooltipDom,\n            components: tooltipConfig.tooltipComponents,\n            events: derive$2(tooltipConfig.mode === 'normal' ? [run$1(mouseover(), _ => {\n              emit(comp, ShowTooltipEvent);\n            }), run$1(mouseout(), _ => {\n              emit(comp, HideTooltipEvent);\n            })] : []),\n            behaviours: derive$1([Replacing.config({})])\n          });\n          state.setTooltip(popup);\n          attach(sink, popup);\n          tooltipConfig.onShow(comp, popup);\n          Positioning.position(sink, popup, {\n            anchor: tooltipConfig.anchor(comp)\n          });\n        }\n      };\n      return derive$2(flatten([[run$1(ShowTooltipEvent, comp => {\n        state.resetTimer(() => {\n          show(comp);\n        }, tooltipConfig.delay);\n      }), run$1(HideTooltipEvent, comp => {\n        state.resetTimer(() => {\n          hide(comp);\n        }, tooltipConfig.delay);\n      }), run$1(receive(), (comp, message) => {\n        const receivingData = message;\n        if (!receivingData.universal) {\n          if (contains$2(receivingData.channels, ExclusivityChannel)) {\n            hide(comp);\n          }\n        }\n      }), runOnDetached(comp => {\n        hide(comp);\n      })], tooltipConfig.mode === 'normal' ? [run$1(focusin(), comp => {\n        emit(comp, ShowTooltipEvent);\n      }), run$1(postBlur(), comp => {\n        emit(comp, HideTooltipEvent);\n      }), run$1(mouseover(), comp => {\n        emit(comp, ShowTooltipEvent);\n      }), run$1(mouseout(), comp => {\n        emit(comp, HideTooltipEvent);\n      })] : [run$1(highlight$1(), (comp, _se) => {\n        emit(comp, ShowTooltipEvent);\n      }), run$1(dehighlight$1(), comp => {\n        emit(comp, HideTooltipEvent);\n      })]]));\n    };\n\n    var ActiveTooltipping = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$9\n    });\n\n    var TooltippingSchema = [required$1('lazySink'), required$1('tooltipDom'), defaulted('exclusive', true), defaulted('tooltipComponents', []), defaulted('delay', 300), defaultedStringEnum('mode', 'normal', ['normal', 'follow-highlight']), defaulted('anchor', comp => ({\n      type: 'hotspot',\n      hotspot: comp,\n      layouts: {\n        onLtr: constant$1([south$2, north$2, southeast$2, northeast$2, southwest$2, northwest$2]),\n        onRtl: constant$1([south$2, north$2, southeast$2, northeast$2, southwest$2, northwest$2])\n      }\n    })), onHandler('onHide'), onHandler('onShow')];\n\n    const init$b = () => {\n      const timer = value$2();\n      const popup = value$2();\n      const clearTimer = () => {\n        timer.on(clearTimeout);\n      };\n      const resetTimer = (f, delay) => {\n        clearTimer();\n        timer.set(setTimeout(f, delay));\n      };\n      const readState = constant$1('not-implemented');\n      return nu$8({\n        getTooltip: popup.get,\n        isShowing: popup.isSet,\n        setTooltip: popup.set,\n        clearTooltip: popup.clear,\n        clearTimer,\n        resetTimer,\n        readState\n      });\n    };\n\n    var TooltippingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$b\n    });\n\n    const Tooltipping = create$4({\n      fields: TooltippingSchema,\n      name: 'tooltipping',\n      active: ActiveTooltipping,\n      state: TooltippingState,\n      apis: TooltippingApis\n    });\n\n    const escape = text => text.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\n    const ReadOnlyChannel = 'silver.readonly';\n    const ReadOnlyDataSchema = objOf([requiredBoolean('readonly')]);\n    const broadcastReadonly = (uiRefs, readonly) => {\n      const outerContainer = uiRefs.mainUi.outerContainer;\n      const target = outerContainer.element;\n      const motherships = [uiRefs.mainUi.mothership, ...uiRefs.uiMotherships];\n      if (readonly) {\n        each$1(motherships, m => {\n          m.broadcastOn([dismissPopups()], {\n            target\n          });\n        });\n      }\n      each$1(motherships, m => {\n        m.broadcastOn([ReadOnlyChannel], {\n          readonly\n        });\n      });\n    };\n    const setupReadonlyModeSwitch = (editor, uiRefs) => {\n      editor.on('init', () => {\n        if (editor.mode.isReadOnly()) {\n          broadcastReadonly(uiRefs, true);\n        }\n      });\n      editor.on('SwitchMode', () => broadcastReadonly(uiRefs, editor.mode.isReadOnly()));\n      if (isReadOnly(editor)) {\n        editor.mode.set('readonly');\n      }\n    };\n    const receivingConfig = () => Receiving.config({\n      channels: {\n        [ReadOnlyChannel]: {\n          schema: ReadOnlyDataSchema,\n          onReceive: (comp, data) => {\n            Disabling.set(comp, data.readonly);\n          }\n        }\n      }\n    });\n\n    const item = disabled => Disabling.config({\n      disabled,\n      disableClass: 'tox-collection__item--state-disabled'\n    });\n    const button = disabled => Disabling.config({\n      disabled\n    });\n    const splitButton = disabled => Disabling.config({\n      disabled,\n      disableClass: 'tox-tbtn--disabled'\n    });\n    const toolbarButton = disabled => Disabling.config({\n      disabled,\n      disableClass: 'tox-tbtn--disabled',\n      useNative: false\n    });\n    const DisablingConfigs = {\n      item,\n      button,\n      splitButton,\n      toolbarButton\n    };\n\n    const runWithApi = (info, comp) => {\n      const api = info.getApi(comp);\n      return f => {\n        f(api);\n      };\n    };\n    const onControlAttached = (info, editorOffCell) => runOnAttached(comp => {\n      const run = runWithApi(info, comp);\n      run(api => {\n        const onDestroy = info.onSetup(api);\n        if (isFunction(onDestroy)) {\n          editorOffCell.set(onDestroy);\n        }\n      });\n    });\n    const onControlDetached = (getApi, editorOffCell) => runOnDetached(comp => runWithApi(getApi, comp)(editorOffCell.get()));\n\n    const onMenuItemExecute = (info, itemResponse) => runOnExecute$1((comp, simulatedEvent) => {\n      runWithApi(info, comp)(info.onAction);\n      if (!info.triggersSubmenu && itemResponse === ItemResponse$1.CLOSE_ON_EXECUTE) {\n        if (comp.getSystem().isConnected()) {\n          emit(comp, sandboxClose());\n        }\n        simulatedEvent.stop();\n      }\n    });\n    const menuItemEventOrder = {\n      [execute$5()]: ['disabling', 'alloy.base.behaviour', 'toggling', 'item-events']\n    };\n\n    const componentRenderPipeline = cat;\n    const renderCommonItem = (spec, structure, itemResponse, providersBackstage) => {\n      const editorOffCell = Cell(noop);\n      return {\n        type: 'item',\n        dom: structure.dom,\n        components: componentRenderPipeline(structure.optComponents),\n        data: spec.data,\n        eventOrder: menuItemEventOrder,\n        hasSubmenu: spec.triggersSubmenu,\n        itemBehaviours: derive$1([config('item-events', [onMenuItemExecute(spec, itemResponse), onControlAttached(spec, editorOffCell), onControlDetached(spec, editorOffCell)]), DisablingConfigs.item(() => !spec.enabled || providersBackstage.isDisabled()), receivingConfig(), Replacing.config({})].concat(spec.itemBehaviours))\n      };\n    };\n    const buildData = source => ({\n      value: source.value,\n      meta: {\n        text: source.text.getOr(''),\n        ...source.meta\n      }\n    });\n\n    const convertText = source => {\n      const isMac = global$5.os.isMacOS() || global$5.os.isiOS();\n      const mac = {\n        alt: '\\u2325',\n        ctrl: '\\u2303',\n        shift: '\\u21E7',\n        meta: '\\u2318',\n        access: '\\u2303\\u2325'\n      };\n      const other = {\n        meta: 'Ctrl',\n        access: 'Shift+Alt'\n      };\n      const replace = isMac ? mac : other;\n      const shortcut = source.split('+');\n      const updated = map$2(shortcut, segment => {\n        const search = segment.toLowerCase().trim();\n        return has$2(replace, search) ? replace[search] : segment;\n      });\n      return isMac ? updated.join('') : updated.join('+');\n    };\n\n    const renderIcon$2 = (name, icons, classes = [iconClass]) => render$3(name, {\n      tag: 'div',\n      classes\n    }, icons);\n    const renderText = text => ({\n      dom: {\n        tag: 'div',\n        classes: [textClass]\n      },\n      components: [text$2(global$8.translate(text))]\n    });\n    const renderHtml = (html, classes) => ({\n      dom: {\n        tag: 'div',\n        classes,\n        innerHtml: html\n      }\n    });\n    const renderStyledText = (style, text) => ({\n      dom: {\n        tag: 'div',\n        classes: [textClass]\n      },\n      components: [{\n        dom: {\n          tag: style.tag,\n          styles: style.styles\n        },\n        components: [text$2(global$8.translate(text))]\n      }]\n    });\n    const renderShortcut = shortcut => ({\n      dom: {\n        tag: 'div',\n        classes: [accessoryClass]\n      },\n      components: [text$2(convertText(shortcut))]\n    });\n    const renderCheckmark = icons => renderIcon$2('checkmark', icons, [checkmarkClass]);\n    const renderSubmenuCaret = icons => renderIcon$2('chevron-right', icons, [caretClass]);\n    const renderDownwardsCaret = icons => renderIcon$2('chevron-down', icons, [caretClass]);\n    const renderContainer = (container, components) => {\n      const directionClass = container.direction === 'vertical' ? containerColumnClass : containerRowClass;\n      const alignClass = container.align === 'left' ? containerAlignLeftClass : containerAlignRightClass;\n      const getValignClass = () => {\n        switch (container.valign) {\n          case 'top':\n            return containerValignTopClass;\n          case 'middle':\n            return containerValignMiddleClass;\n          case 'bottom':\n            return containerValignBottomClass;\n        }\n      };\n      return {\n        dom: {\n          tag: 'div',\n          classes: [containerClass, directionClass, alignClass, getValignClass()]\n        },\n        components\n      };\n    };\n    const renderImage = (src, classes, alt) => ({\n      dom: {\n        tag: 'img',\n        classes,\n        attributes: {\n          src,\n          alt: alt.getOr('')\n        }\n      }\n    });\n\n    const renderColorStructure = (item, providerBackstage, fallbackIcon) => {\n      const colorPickerCommand = 'custom';\n      const removeColorCommand = 'remove';\n      const itemText = item.ariaLabel;\n      const itemValue = item.value;\n      const iconSvg = item.iconContent.map(name => getOr(name, providerBackstage.icons, fallbackIcon));\n      const getDom = () => {\n        const common = colorClass;\n        const icon = iconSvg.getOr('');\n        const attributes = itemText.map(text => ({\n          title: providerBackstage.translate(text)\n        })).getOr({});\n        const baseDom = {\n          tag: 'div',\n          attributes,\n          classes: [common]\n        };\n        if (itemValue === colorPickerCommand) {\n          return {\n            ...baseDom,\n            tag: 'button',\n            classes: [...baseDom.classes, 'tox-swatches__picker-btn'],\n            innerHtml: icon\n          };\n        } else if (itemValue === removeColorCommand) {\n          return {\n            ...baseDom,\n            classes: [...baseDom.classes, 'tox-swatch--remove'],\n            innerHtml: icon\n          };\n        } else if (isNonNullable(itemValue)) {\n          return {\n            ...baseDom,\n            attributes: {\n              ...baseDom.attributes,\n              'data-mce-color': itemValue\n            },\n            styles: {\n              'background-color': itemValue\n            },\n            innerHtml: icon\n          };\n        } else {\n          return baseDom;\n        }\n      };\n      return {\n        dom: getDom(),\n        optComponents: []\n      };\n    };\n    const renderItemDomStructure = ariaLabel => {\n      const domTitle = ariaLabel.map(label => ({\n        attributes: {\n          title: global$8.translate(label),\n          id: generate$6('menu-item')\n        }\n      })).getOr({});\n      return {\n        tag: 'div',\n        classes: [navClass, selectableClass],\n        ...domTitle\n      };\n    };\n    const renderNormalItemStructure = (info, providersBackstage, renderIcons, fallbackIcon) => {\n      const iconSpec = {\n        tag: 'div',\n        classes: [iconClass]\n      };\n      const renderIcon = iconName => render$3(iconName, iconSpec, providersBackstage.icons, fallbackIcon);\n      const renderEmptyIcon = () => Optional.some({\n        dom: iconSpec\n      });\n      const leftIcon = renderIcons ? info.iconContent.map(renderIcon).orThunk(renderEmptyIcon) : Optional.none();\n      const checkmark = info.checkMark;\n      const textRender = Optional.from(info.meta).fold(() => renderText, meta => has$2(meta, 'style') ? curry(renderStyledText, meta.style) : renderText);\n      const content = info.htmlContent.fold(() => info.textContent.map(textRender), html => Optional.some(renderHtml(html, [textClass])));\n      const menuItem = {\n        dom: renderItemDomStructure(info.ariaLabel),\n        optComponents: [leftIcon, content, info.shortcutContent.map(renderShortcut), checkmark, info.caret]\n      };\n      return menuItem;\n    };\n    const renderItemStructure = (info, providersBackstage, renderIcons, fallbackIcon = Optional.none()) => {\n      if (info.presets === 'color') {\n        return renderColorStructure(info, providersBackstage, fallbackIcon);\n      } else {\n        return renderNormalItemStructure(info, providersBackstage, renderIcons, fallbackIcon);\n      }\n    };\n\n    const tooltipBehaviour = (meta, sharedBackstage) => get$g(meta, 'tooltipWorker').map(tooltipWorker => [Tooltipping.config({\n      lazySink: sharedBackstage.getSink,\n      tooltipDom: {\n        tag: 'div',\n        classes: ['tox-tooltip-worker-container']\n      },\n      tooltipComponents: [],\n      anchor: comp => ({\n        type: 'submenu',\n        item: comp,\n        overrides: {\n          maxHeightFunction: expandable$1\n        }\n      }),\n      mode: 'follow-highlight',\n      onShow: (component, _tooltip) => {\n        tooltipWorker(elm => {\n          Tooltipping.setComponents(component, [external$1({\n            element: SugarElement.fromDom(elm)\n          })]);\n        });\n      }\n    })]).getOr([]);\n    const encodeText = text => global$7.DOM.encode(text);\n    const replaceText = (text, matchText) => {\n      const translated = global$8.translate(text);\n      const encoded = encodeText(translated);\n      if (matchText.length > 0) {\n        const escapedMatchRegex = new RegExp(escape(matchText), 'gi');\n        return encoded.replace(escapedMatchRegex, match => \"<span class=\\\"tox-autocompleter-highlight\\\">\".concat(match, \"<\/span>\"));\n      } else {\n        return encoded;\n      }\n    };\n    const renderAutocompleteItem = (spec, matchText, useText, presets, onItemValueHandler, itemResponse, sharedBackstage, renderIcons = true) => {\n      const structure = renderItemStructure({\n        presets,\n        textContent: Optional.none(),\n        htmlContent: useText ? spec.text.map(text => replaceText(text, matchText)) : Optional.none(),\n        ariaLabel: spec.text,\n        iconContent: spec.icon,\n        shortcutContent: Optional.none(),\n        checkMark: Optional.none(),\n        caret: Optional.none(),\n        value: spec.value\n      }, sharedBackstage.providers, renderIcons, spec.icon);\n      return renderCommonItem({\n        data: buildData(spec),\n        enabled: spec.enabled,\n        getApi: constant$1({}),\n        onAction: _api => onItemValueHandler(spec.value, spec.meta),\n        onSetup: constant$1(noop),\n        triggersSubmenu: false,\n        itemBehaviours: tooltipBehaviour(spec.meta, sharedBackstage)\n      }, structure, itemResponse, sharedBackstage.providers);\n    };\n\n    const render$2 = (items, extras) => map$2(items, item => {\n      switch (item.type) {\n        case 'cardcontainer':\n          return renderContainer(item, render$2(item.items, extras));\n        case 'cardimage':\n          return renderImage(item.src, item.classes, item.alt);\n        case 'cardtext':\n          const shouldHighlight = item.name.exists(name => contains$2(extras.cardText.highlightOn, name));\n          const matchText = shouldHighlight ? Optional.from(extras.cardText.matchText).getOr('') : '';\n          return renderHtml(replaceText(item.text, matchText), item.classes);\n      }\n    });\n    const renderCardMenuItem = (spec, itemResponse, sharedBackstage, extras) => {\n      const getApi = component => ({\n        isEnabled: () => !Disabling.isDisabled(component),\n        setEnabled: state => {\n          Disabling.set(component, !state);\n          each$1(descendants(component.element, '*'), elm => {\n            component.getSystem().getByDom(elm).each(comp => {\n              if (comp.hasConfigured(Disabling)) {\n                Disabling.set(comp, !state);\n              }\n            });\n          });\n        }\n      });\n      const structure = {\n        dom: renderItemDomStructure(spec.label),\n        optComponents: [Optional.some({\n          dom: {\n            tag: 'div',\n            classes: [containerClass, containerRowClass]\n          },\n          components: render$2(spec.items, extras)\n        })]\n      };\n      return renderCommonItem({\n        data: buildData({\n          text: Optional.none(),\n          ...spec\n        }),\n        enabled: spec.enabled,\n        getApi,\n        onAction: spec.onAction,\n        onSetup: spec.onSetup,\n        triggersSubmenu: false,\n        itemBehaviours: Optional.from(extras.itemBehaviours).getOr([])\n      }, structure, itemResponse, sharedBackstage.providers);\n    };\n\n    const renderChoiceItem = (spec, useText, presets, onItemValueHandler, isSelected, itemResponse, providersBackstage, renderIcons = true) => {\n      const getApi = component => ({\n        setActive: state => {\n          Toggling.set(component, state);\n        },\n        isActive: () => Toggling.isOn(component),\n        isEnabled: () => !Disabling.isDisabled(component),\n        setEnabled: state => Disabling.set(component, !state)\n      });\n      const structure = renderItemStructure({\n        presets,\n        textContent: useText ? spec.text : Optional.none(),\n        htmlContent: Optional.none(),\n        ariaLabel: spec.text,\n        iconContent: spec.icon,\n        shortcutContent: useText ? spec.shortcut : Optional.none(),\n        checkMark: useText ? Optional.some(renderCheckmark(providersBackstage.icons)) : Optional.none(),\n        caret: Optional.none(),\n        value: spec.value\n      }, providersBackstage, renderIcons);\n      return deepMerge(renderCommonItem({\n        data: buildData(spec),\n        enabled: spec.enabled,\n        getApi,\n        onAction: _api => onItemValueHandler(spec.value),\n        onSetup: api => {\n          api.setActive(isSelected);\n          return noop;\n        },\n        triggersSubmenu: false,\n        itemBehaviours: []\n      }, structure, itemResponse, providersBackstage), {\n        toggling: {\n          toggleClass: tickedClass,\n          toggleOnExecute: false,\n          selected: spec.active,\n          exclusive: true\n        }\n      });\n    };\n\n    const parts$f = generate$3(owner$2(), parts$h());\n\n    const hexColour = value => ({\n      value: normalizeHex(value)\n    });\n    const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n    const longformRegex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\n    const isHexString = hex => shorthandRegex.test(hex) || longformRegex.test(hex);\n    const normalizeHex = hex => removeLeading(hex, '#').toUpperCase();\n    const fromString$1 = hex => isHexString(hex) ? Optional.some({\n      value: normalizeHex(hex)\n    }) : Optional.none();\n    const getLongForm = hex => {\n      const hexString = hex.value.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);\n      return {\n        value: hexString\n      };\n    };\n    const extractValues = hex => {\n      const longForm = getLongForm(hex);\n      const splitForm = longformRegex.exec(longForm.value);\n      return splitForm === null ? ['FFFFFF', 'FF', 'FF', 'FF'] : splitForm;\n    };\n    const toHex = component => {\n      const hex = component.toString(16);\n      return (hex.length === 1 ? '0' + hex : hex).toUpperCase();\n    };\n    const fromRgba = rgbaColour => {\n      const value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue);\n      return hexColour(value);\n    };\n\n    const min = Math.min;\n    const max = Math.max;\n    const round$1 = Math.round;\n    const rgbRegex = /^\\s*rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)\\s*$/i;\n    const rgbaRegex = /^\\s*rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?(?:\\.\\d+)?)\\s*\\)\\s*$/i;\n    const rgbaColour = (red, green, blue, alpha) => ({\n      red,\n      green,\n      blue,\n      alpha\n    });\n    const isRgbaComponent = value => {\n      const num = parseInt(value, 10);\n      return num.toString() === value && num >= 0 && num <= 255;\n    };\n    const fromHsv = hsv => {\n      let r;\n      let g;\n      let b;\n      const hue = (hsv.hue || 0) % 360;\n      let saturation = hsv.saturation / 100;\n      let brightness = hsv.value / 100;\n      saturation = max(0, min(saturation, 1));\n      brightness = max(0, min(brightness, 1));\n      if (saturation === 0) {\n        r = g = b = round$1(255 * brightness);\n        return rgbaColour(r, g, b, 1);\n      }\n      const side = hue / 60;\n      const chroma = brightness * saturation;\n      const x = chroma * (1 - Math.abs(side % 2 - 1));\n      const match = brightness - chroma;\n      switch (Math.floor(side)) {\n        case 0:\n          r = chroma;\n          g = x;\n          b = 0;\n          break;\n        case 1:\n          r = x;\n          g = chroma;\n          b = 0;\n          break;\n        case 2:\n          r = 0;\n          g = chroma;\n          b = x;\n          break;\n        case 3:\n          r = 0;\n          g = x;\n          b = chroma;\n          break;\n        case 4:\n          r = x;\n          g = 0;\n          b = chroma;\n          break;\n        case 5:\n          r = chroma;\n          g = 0;\n          b = x;\n          break;\n        default:\n          r = g = b = 0;\n      }\n      r = round$1(255 * (r + match));\n      g = round$1(255 * (g + match));\n      b = round$1(255 * (b + match));\n      return rgbaColour(r, g, b, 1);\n    };\n    const fromHex = hexColour => {\n      const result = extractValues(hexColour);\n      const red = parseInt(result[1], 16);\n      const green = parseInt(result[2], 16);\n      const blue = parseInt(result[3], 16);\n      return rgbaColour(red, green, blue, 1);\n    };\n    const fromStringValues = (red, green, blue, alpha) => {\n      const r = parseInt(red, 10);\n      const g = parseInt(green, 10);\n      const b = parseInt(blue, 10);\n      const a = parseFloat(alpha);\n      return rgbaColour(r, g, b, a);\n    };\n    const fromString = rgbaString => {\n      if (rgbaString === 'transparent') {\n        return Optional.some(rgbaColour(0, 0, 0, 0));\n      }\n      const rgbMatch = rgbRegex.exec(rgbaString);\n      if (rgbMatch !== null) {\n        return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1'));\n      }\n      const rgbaMatch = rgbaRegex.exec(rgbaString);\n      if (rgbaMatch !== null) {\n        return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4]));\n      }\n      return Optional.none();\n    };\n    const toString = rgba => \"rgba(\".concat(rgba.red, \",\").concat(rgba.green, \",\").concat(rgba.blue, \",\").concat(rgba.alpha, \")\");\n    const red = rgbaColour(255, 0, 0, 1);\n\n    const fireSkinLoaded$1 = editor => {\n      editor.dispatch('SkinLoaded');\n    };\n    const fireSkinLoadError$1 = (editor, error) => {\n      editor.dispatch('SkinLoadError', error);\n    };\n    const fireResizeEditor = editor => {\n      editor.dispatch('ResizeEditor');\n    };\n    const fireResizeContent = (editor, e) => {\n      editor.dispatch('ResizeContent', e);\n    };\n    const fireScrollContent = (editor, e) => {\n      editor.dispatch('ScrollContent', e);\n    };\n    const fireTextColorChange = (editor, data) => {\n      editor.dispatch('TextColorChange', data);\n    };\n    const fireAfterProgressState = (editor, state) => {\n      editor.dispatch('AfterProgressState', {\n        state\n      });\n    };\n    const fireResolveName = (editor, node) => editor.dispatch('ResolveName', {\n      name: node.nodeName.toLowerCase(),\n      target: node\n    });\n    const fireToggleToolbarDrawer = (editor, state) => {\n      editor.dispatch('ToggleToolbarDrawer', {\n        state\n      });\n    };\n    const fireStylesTextUpdate = (editor, data) => {\n      editor.dispatch('StylesTextUpdate', data);\n    };\n    const fireAlignTextUpdate = (editor, data) => {\n      editor.dispatch('AlignTextUpdate', data);\n    };\n    const fireFontSizeTextUpdate = (editor, data) => {\n      editor.dispatch('FontSizeTextUpdate', data);\n    };\n    const fireFontSizeInputTextUpdate = (editor, data) => {\n      editor.dispatch('FontSizeInputTextUpdate', data);\n    };\n    const fireBlocksTextUpdate = (editor, data) => {\n      editor.dispatch('BlocksTextUpdate', data);\n    };\n    const fireFontFamilyTextUpdate = (editor, data) => {\n      editor.dispatch('FontFamilyTextUpdate', data);\n    };\n\n    const composeUnbinders = (f, g) => () => {\n      f();\n      g();\n    };\n    const onSetupEditableToggle = editor => onSetupEvent(editor, 'NodeChange', api => {\n      api.setEnabled(editor.selection.isEditable());\n    });\n    const onSetupFormatToggle = (editor, name) => api => {\n      const boundFormatChangeCallback = unbindable();\n      const init = () => {\n        api.setActive(editor.formatter.match(name));\n        const binding = editor.formatter.formatChanged(name, api.setActive);\n        boundFormatChangeCallback.set(binding);\n      };\n      editor.initialized ? init() : editor.once('init', init);\n      return () => {\n        editor.off('init', init);\n        boundFormatChangeCallback.clear();\n      };\n    };\n    const onSetupStateToggle = (editor, name) => api => {\n      const unbindEditableToogle = onSetupEditableToggle(editor)(api);\n      const unbindFormatToggle = onSetupFormatToggle(editor, name)(api);\n      return () => {\n        unbindEditableToogle();\n        unbindFormatToggle();\n      };\n    };\n    const onSetupEvent = (editor, event, f) => api => {\n      const handleEvent = () => f(api);\n      const init = () => {\n        f(api);\n        editor.on(event, handleEvent);\n      };\n      editor.initialized ? init() : editor.once('init', init);\n      return () => {\n        editor.off('init', init);\n        editor.off(event, handleEvent);\n      };\n    };\n    const onActionToggleFormat$1 = editor => rawItem => () => {\n      editor.undoManager.transact(() => {\n        editor.focus();\n        editor.execCommand('mceToggleFormat', false, rawItem.format);\n      });\n    };\n    const onActionExecCommand = (editor, command) => () => editor.execCommand(command);\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.LocalStorage');\n\n    const cacheStorage = {};\n    const ColorCache = (storageId, max = 10) => {\n      const storageString = global$4.getItem(storageId);\n      const localstorage = isString(storageString) ? JSON.parse(storageString) : [];\n      const prune = list => {\n        const diff = max - list.length;\n        return diff < 0 ? list.slice(0, max) : list;\n      };\n      const cache = prune(localstorage);\n      const add = key => {\n        indexOf(cache, key).each(remove);\n        cache.unshift(key);\n        if (cache.length > max) {\n          cache.pop();\n        }\n        global$4.setItem(storageId, JSON.stringify(cache));\n      };\n      const remove = idx => {\n        cache.splice(idx, 1);\n      };\n      const state = () => cache.slice(0);\n      return {\n        add,\n        state\n      };\n    };\n    const getCacheForId = id => get$g(cacheStorage, id).getOrThunk(() => {\n      const storageId = \"tinymce-custom-colors-\".concat(id);\n      const currentData = global$4.getItem(storageId);\n      if (isNullable(currentData)) {\n        const legacyDefault = global$4.getItem('tinymce-custom-colors');\n        global$4.setItem(storageId, isNonNullable(legacyDefault) ? legacyDefault : '[]');\n      }\n      const storage = ColorCache(storageId, 10);\n      cacheStorage[id] = storage;\n      return storage;\n    });\n    const getCurrentColors = id => map$2(getCacheForId(id).state(), color => ({\n      type: 'choiceitem',\n      text: color,\n      icon: 'checkmark',\n      value: color\n    }));\n    const addColor = (id, color) => {\n      getCacheForId(id).add(color);\n    };\n\n    const hsvColour = (hue, saturation, value) => ({\n      hue,\n      saturation,\n      value\n    });\n    const fromRgb = rgbaColour => {\n      let h = 0;\n      let s = 0;\n      let v = 0;\n      const r = rgbaColour.red / 255;\n      const g = rgbaColour.green / 255;\n      const b = rgbaColour.blue / 255;\n      const minRGB = Math.min(r, Math.min(g, b));\n      const maxRGB = Math.max(r, Math.max(g, b));\n      if (minRGB === maxRGB) {\n        v = minRGB;\n        return hsvColour(0, 0, v * 100);\n      }\n      const d = r === minRGB ? g - b : b === minRGB ? r - g : b - r;\n      h = r === minRGB ? 3 : b === minRGB ? 1 : 5;\n      h = 60 * (h - d / (maxRGB - minRGB));\n      s = (maxRGB - minRGB) / maxRGB;\n      v = maxRGB;\n      return hsvColour(Math.round(h), Math.round(s * 100), Math.round(v * 100));\n    };\n\n    const hexToHsv = hex => fromRgb(fromHex(hex));\n    const hsvToHex = hsv => fromRgba(fromHsv(hsv));\n    const anyToHex = color => fromString$1(color).orThunk(() => fromString(color).map(fromRgba)).getOrThunk(() => {\n      const canvas = document.createElement('canvas');\n      canvas.height = 1;\n      canvas.width = 1;\n      const canvasContext = canvas.getContext('2d');\n      canvasContext.clearRect(0, 0, canvas.width, canvas.height);\n      canvasContext.fillStyle = '#FFFFFF';\n      canvasContext.fillStyle = color;\n      canvasContext.fillRect(0, 0, 1, 1);\n      const rgba = canvasContext.getImageData(0, 0, 1, 1).data;\n      const r = rgba[0];\n      const g = rgba[1];\n      const b = rgba[2];\n      const a = rgba[3];\n      return fromRgba(rgbaColour(r, g, b, a));\n    });\n\n    const foregroundId = 'forecolor';\n    const backgroundId = 'hilitecolor';\n    const fallbackCols = 5;\n    const mapColors = colorMap => {\n      const colors = [];\n      for (let i = 0; i < colorMap.length; i += 2) {\n        colors.push({\n          text: colorMap[i + 1],\n          value: '#' + anyToHex(colorMap[i]).value,\n          icon: 'checkmark',\n          type: 'choiceitem'\n        });\n      }\n      return colors;\n    };\n    const option$1 = name => editor => editor.options.get(name);\n    const fallbackColor = '#000000';\n    const register$d = editor => {\n      const registerOption = editor.options.register;\n      const colorProcessor = value => {\n        if (isArrayOf(value, isString)) {\n          return {\n            value: mapColors(value),\n            valid: true\n          };\n        } else {\n          return {\n            valid: false,\n            message: 'Must be an array of strings.'\n          };\n        }\n      };\n      const colorColsProcessor = value => {\n        if (isNumber(value) && value > 0) {\n          return {\n            value,\n            valid: true\n          };\n        } else {\n          return {\n            valid: false,\n            message: 'Must be a positive number.'\n          };\n        }\n      };\n      registerOption('color_map', {\n        processor: colorProcessor,\n        default: ['#BFEDD2', 'Light Green', '#FBEEB8', 'Light Yellow', '#F8CAC6', 'Light Red', '#ECCAFA', 'Light Purple', '#C2E0F4', 'Light Blue', '#2DC26B', 'Green', '#F1C40F', 'Yellow', '#E03E2D', 'Red', '#B96AD9', 'Purple', '#3598DB', 'Blue', '#169179', 'Dark Turquoise', '#E67E23', 'Orange', '#BA372A', 'Dark Red', '#843FA1', 'Dark Purple', '#236FA1', 'Dark Blue', '#ECF0F1', 'Light Gray', '#CED4D9', 'Medium Gray', '#95A5A6', 'Gray', '#7E8C8D', 'Dark Gray', '#34495E', 'Navy Blue', '#000000', 'Black', '#ffffff', 'White']\n      });\n      registerOption('color_map_background', {\n        processor: colorProcessor\n      });\n      registerOption('color_map_foreground', {\n        processor: colorProcessor\n      });\n      registerOption('color_cols', {\n        processor: colorColsProcessor,\n        default: calcCols(editor)\n      });\n      registerOption('color_cols_foreground', {\n        processor: colorColsProcessor,\n        default: defaultCols(editor, foregroundId)\n      });\n      registerOption('color_cols_background', {\n        processor: colorColsProcessor,\n        default: defaultCols(editor, backgroundId)\n      });\n      registerOption('custom_colors', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('color_default_foreground', {\n        processor: 'string',\n        default: fallbackColor\n      });\n      registerOption('color_default_background', {\n        processor: 'string',\n        default: fallbackColor\n      });\n    };\n    const getColors$2 = (editor, id) => {\n      if (id === foregroundId && editor.options.isSet('color_map_foreground')) {\n        return option$1('color_map_foreground')(editor);\n      } else if (id === backgroundId && editor.options.isSet('color_map_background')) {\n        return option$1('color_map_background')(editor);\n      } else {\n        return option$1('color_map')(editor);\n      }\n    };\n    const calcCols = (editor, id = 'default') => Math.max(fallbackCols, Math.ceil(Math.sqrt(getColors$2(editor, id).length)));\n    const defaultCols = (editor, id) => {\n      const defaultCols = option$1('color_cols')(editor);\n      const calculatedCols = calcCols(editor, id);\n      if (defaultCols === calcCols(editor)) {\n        return calculatedCols;\n      } else {\n        return defaultCols;\n      }\n    };\n    const getColorCols$1 = (editor, id = 'default') => {\n      const getCols = () => {\n        if (id === foregroundId) {\n          return option$1('color_cols_foreground')(editor);\n        } else if (id === backgroundId) {\n          return option$1('color_cols_background')(editor);\n        } else {\n          return option$1('color_cols')(editor);\n        }\n      };\n      return Math.round(getCols());\n    };\n    const hasCustomColors$1 = option$1('custom_colors');\n    const getDefaultForegroundColor = option$1('color_default_foreground');\n    const getDefaultBackgroundColor = option$1('color_default_background');\n\n    const defaultBackgroundColor = 'rgba(0, 0, 0, 0)';\n    const isValidBackgroundColor = value => fromString(value).exists(c => c.alpha !== 0);\n    const getClosestCssBackgroundColorValue = scope => {\n      return closest$4(scope, node => {\n        if (isElement$1(node)) {\n          const color = get$e(node, 'background-color');\n          return someIf(isValidBackgroundColor(color), color);\n        } else {\n          return Optional.none();\n        }\n      }).getOr(defaultBackgroundColor);\n    };\n    const getCurrentColor = (editor, format) => {\n      const node = SugarElement.fromDom(editor.selection.getStart());\n      const cssRgbValue = format === 'hilitecolor' ? getClosestCssBackgroundColorValue(node) : get$e(node, 'color');\n      return fromString(cssRgbValue).map(rgba => '#' + fromRgba(rgba).value);\n    };\n    const applyFormat = (editor, format, value) => {\n      editor.undoManager.transact(() => {\n        editor.focus();\n        editor.formatter.apply(format, {\n          value\n        });\n        editor.nodeChanged();\n      });\n    };\n    const removeFormat = (editor, format) => {\n      editor.undoManager.transact(() => {\n        editor.focus();\n        editor.formatter.remove(format, {\n          value: null\n        }, undefined, true);\n        editor.nodeChanged();\n      });\n    };\n    const registerCommands = editor => {\n      editor.addCommand('mceApplyTextcolor', (format, value) => {\n        applyFormat(editor, format, value);\n      });\n      editor.addCommand('mceRemoveTextcolor', format => {\n        removeFormat(editor, format);\n      });\n    };\n    const getAdditionalColors = hasCustom => {\n      const type = 'choiceitem';\n      const remove = {\n        type,\n        text: 'Remove color',\n        icon: 'color-swatch-remove-color',\n        value: 'remove'\n      };\n      const custom = {\n        type,\n        text: 'Custom color',\n        icon: 'color-picker',\n        value: 'custom'\n      };\n      return hasCustom ? [remove, custom] : [remove];\n    };\n    const applyColor = (editor, format, value, onChoice) => {\n      if (value === 'custom') {\n        const dialog = colorPickerDialog(editor);\n        dialog(colorOpt => {\n          colorOpt.each(color => {\n            addColor(format, color);\n            editor.execCommand('mceApplyTextcolor', format, color);\n            onChoice(color);\n          });\n        }, getCurrentColor(editor, format).getOr(fallbackColor));\n      } else if (value === 'remove') {\n        onChoice('');\n        editor.execCommand('mceRemoveTextcolor', format);\n      } else {\n        onChoice(value);\n        editor.execCommand('mceApplyTextcolor', format, value);\n      }\n    };\n    const getColors$1 = (colors, id, hasCustom) => colors.concat(getCurrentColors(id).concat(getAdditionalColors(hasCustom)));\n    const getFetch$1 = (colors, id, hasCustom) => callback => {\n      callback(getColors$1(colors, id, hasCustom));\n    };\n    const setIconColor = (splitButtonApi, name, newColor) => {\n      const id = name === 'forecolor' ? 'tox-icon-text-color__color' : 'tox-icon-highlight-bg-color__color';\n      splitButtonApi.setIconFill(id, newColor);\n    };\n    const setTooltip = (buttonApi, tooltip) => {\n      buttonApi.setTooltip(tooltip);\n    };\n    const select$1 = (editor, format) => value => {\n      const optCurrentHex = getCurrentColor(editor, format);\n      return is$1(optCurrentHex, value.toUpperCase());\n    };\n    const getToolTipText = (editor, format, lastColor) => {\n      if (isEmpty(lastColor)) {\n        return format === 'forecolor' ? 'Text color' : 'Background color';\n      }\n      const tooltipPrefix = format === 'forecolor' ? 'Text color {0}' : 'Background color {0}';\n      const colors = getColors$1(getColors$2(editor, format), format, false);\n      const colorText = find$5(colors, c => c.value === lastColor).getOr({\n        text: ''\n      }).text;\n      return editor.translate([tooltipPrefix, editor.translate(colorText)]);\n    };\n    const registerTextColorButton = (editor, name, format, lastColor) => {\n      editor.ui.registry.addSplitButton(name, {\n        tooltip: getToolTipText(editor, format, lastColor.get()),\n        presets: 'color',\n        icon: name === 'forecolor' ? 'text-color' : 'highlight-bg-color',\n        select: select$1(editor, format),\n        columns: getColorCols$1(editor, format),\n        fetch: getFetch$1(getColors$2(editor, format), format, hasCustomColors$1(editor)),\n        onAction: _splitButtonApi => {\n          applyColor(editor, format, lastColor.get(), noop);\n        },\n        onItemAction: (_splitButtonApi, value) => {\n          applyColor(editor, format, value, newColor => {\n            lastColor.set(newColor);\n            fireTextColorChange(editor, {\n              name,\n              color: newColor\n            });\n          });\n        },\n        onSetup: splitButtonApi => {\n          setIconColor(splitButtonApi, name, lastColor.get());\n          const handler = e => {\n            if (e.name === name) {\n              setIconColor(splitButtonApi, e.name, e.color);\n              setTooltip(splitButtonApi, getToolTipText(editor, format, e.color));\n            }\n          };\n          editor.on('TextColorChange', handler);\n          return composeUnbinders(onSetupEditableToggle(editor)(splitButtonApi), () => {\n            editor.off('TextColorChange', handler);\n          });\n        }\n      });\n    };\n    const registerTextColorMenuItem = (editor, name, format, text, lastColor) => {\n      editor.ui.registry.addNestedMenuItem(name, {\n        text,\n        icon: name === 'forecolor' ? 'text-color' : 'highlight-bg-color',\n        onSetup: api => {\n          setTooltip(api, getToolTipText(editor, format, lastColor.get()));\n          setIconColor(api, name, lastColor.get());\n          return onSetupEditableToggle(editor)(api);\n        },\n        getSubmenuItems: () => [{\n          type: 'fancymenuitem',\n          fancytype: 'colorswatch',\n          select: select$1(editor, format),\n          initData: {\n            storageKey: format\n          },\n          onAction: data => {\n            applyColor(editor, format, data.value, newColor => {\n              lastColor.set(newColor);\n              fireTextColorChange(editor, {\n                name,\n                color: newColor\n              });\n            });\n          }\n        }]\n      });\n    };\n    const colorPickerDialog = editor => (callback, value) => {\n      let isValid = false;\n      const onSubmit = api => {\n        const data = api.getData();\n        const hex = data.colorpicker;\n        if (isValid) {\n          callback(Optional.from(hex));\n          api.close();\n        } else {\n          editor.windowManager.alert(editor.translate(['Invalid hex color code: {0}', hex]));\n        }\n      };\n      const onAction = (_api, details) => {\n        if (details.name === 'hex-valid') {\n          isValid = details.value;\n        }\n      };\n      const initialData = {\n        colorpicker: value\n      };\n      editor.windowManager.open({\n        title: 'Color Picker',\n        size: 'normal',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'colorpicker',\n            name: 'colorpicker',\n            label: 'Color'\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData,\n        onAction,\n        onSubmit,\n        onClose: noop,\n        onCancel: () => {\n          callback(Optional.none());\n        }\n      });\n    };\n    const register$c = editor => {\n      registerCommands(editor);\n      const fallbackColorForeground = getDefaultForegroundColor(editor);\n      const fallbackColorBackground = getDefaultBackgroundColor(editor);\n      const lastForeColor = Cell(fallbackColorForeground);\n      const lastBackColor = Cell(fallbackColorBackground);\n      registerTextColorButton(editor, 'forecolor', 'forecolor', lastForeColor);\n      registerTextColorButton(editor, 'backcolor', 'hilitecolor', lastBackColor);\n      registerTextColorMenuItem(editor, 'forecolor', 'forecolor', 'Text color', lastForeColor);\n      registerTextColorMenuItem(editor, 'backcolor', 'hilitecolor', 'Background color', lastBackColor);\n    };\n\n    const createPartialChoiceMenu = (value, items, onItemValueHandler, columns, presets, itemResponse, select, providersBackstage) => {\n      const hasIcons = menuHasIcons(items);\n      const presetItemTypes = presets !== 'color' ? 'normal' : 'color';\n      const alloyItems = createChoiceItems(items, onItemValueHandler, columns, presetItemTypes, itemResponse, select, providersBackstage);\n      const menuLayout = {\n        menuType: presets\n      };\n      return createPartialMenuWithAlloyItems(value, hasIcons, alloyItems, columns, menuLayout);\n    };\n    const createChoiceItems = (items, onItemValueHandler, columns, itemPresets, itemResponse, select, providersBackstage) => cat(map$2(items, item => {\n      if (item.type === 'choiceitem') {\n        return createChoiceMenuItem(item).fold(handleError, d => Optional.some(renderChoiceItem(d, columns === 1, itemPresets, onItemValueHandler, select(d.value), itemResponse, providersBackstage, menuHasIcons(items))));\n      } else {\n        return Optional.none();\n      }\n    }));\n\n    const deriveMenuMovement = (columns, presets) => {\n      const menuMarkers = markers(presets);\n      if (columns === 1) {\n        return {\n          mode: 'menu',\n          moveOnTab: true\n        };\n      } else if (columns === 'auto') {\n        return {\n          mode: 'grid',\n          selector: '.' + menuMarkers.item,\n          initSize: {\n            numColumns: 1,\n            numRows: 1\n          }\n        };\n      } else {\n        const rowClass = presets === 'color' ? 'tox-swatches__row' : 'tox-collection__group';\n        return {\n          mode: 'matrix',\n          rowSelector: '.' + rowClass,\n          previousSelector: menu => {\n            return presets === 'color' ? descendant(menu.element, '[aria-checked=true]') : Optional.none();\n          }\n        };\n      }\n    };\n    const deriveCollectionMovement = (columns, presets) => {\n      if (columns === 1) {\n        return {\n          mode: 'menu',\n          moveOnTab: false,\n          selector: '.tox-collection__item'\n        };\n      } else if (columns === 'auto') {\n        return {\n          mode: 'flatgrid',\n          selector: '.' + 'tox-collection__item',\n          initSize: {\n            numColumns: 1,\n            numRows: 1\n          }\n        };\n      } else {\n        return {\n          mode: 'matrix',\n          selectors: {\n            row: presets === 'color' ? '.tox-swatches__row' : '.tox-collection__group',\n            cell: presets === 'color' ? \".\".concat(colorClass) : \".\".concat(selectableClass)\n          }\n        };\n      }\n    };\n\n    const renderColorSwatchItem = (spec, backstage) => {\n      const items = getColorItems(spec, backstage);\n      const columns = backstage.colorinput.getColorCols(spec.initData.storageKey);\n      const presets = 'color';\n      const menuSpec = createPartialChoiceMenu(generate$6('menu-value'), items, value => {\n        spec.onAction({\n          value\n        });\n      }, columns, presets, ItemResponse$1.CLOSE_ON_EXECUTE, spec.select.getOr(never), backstage.shared.providers);\n      const widgetSpec = {\n        ...menuSpec,\n        markers: markers(presets),\n        movement: deriveMenuMovement(columns, presets)\n      };\n      return {\n        type: 'widget',\n        data: {\n          value: generate$6('widget-id')\n        },\n        dom: {\n          tag: 'div',\n          classes: ['tox-fancymenuitem']\n        },\n        autofocus: true,\n        components: [parts$f.widget(Menu.sketch(widgetSpec))]\n      };\n    };\n    const getColorItems = (spec, backstage) => {\n      const useCustomColors = spec.initData.allowCustomColors && backstage.colorinput.hasCustomColors();\n      return spec.initData.colors.fold(() => getColors$1(backstage.colorinput.getColors(spec.initData.storageKey), spec.initData.storageKey, useCustomColors), colors => colors.concat(getAdditionalColors(useCustomColors)));\n    };\n\n    const cellOverEvent = generate$6('cell-over');\n    const cellExecuteEvent = generate$6('cell-execute');\n    const makeAnnouncementText = backstage => (row, col) => backstage.shared.providers.translate(['{0} columns, {1} rows', col, row]);\n    const makeCell = (row, col, label) => {\n      const emitCellOver = c => emitWith(c, cellOverEvent, {\n        row,\n        col\n      });\n      const emitExecute = c => emitWith(c, cellExecuteEvent, {\n        row,\n        col\n      });\n      const onClick = (c, se) => {\n        se.stop();\n        emitExecute(c);\n      };\n      return build$1({\n        dom: {\n          tag: 'div',\n          attributes: {\n            role: 'button',\n            ['aria-label']: label\n          }\n        },\n        behaviours: derive$1([config('insert-table-picker-cell', [run$1(mouseover(), Focusing.focus), run$1(execute$5(), emitExecute), run$1(click(), onClick), run$1(tap(), onClick)]), Toggling.config({\n          toggleClass: 'tox-insert-table-picker__selected',\n          toggleOnExecute: false\n        }), Focusing.config({\n          onFocus: emitCellOver\n        })])\n      });\n    };\n    const makeCells = (getCellLabel, numRows, numCols) => {\n      const cells = [];\n      for (let i = 0; i < numRows; i++) {\n        const row = [];\n        for (let j = 0; j < numCols; j++) {\n          const label = getCellLabel(i + 1, j + 1);\n          row.push(makeCell(i, j, label));\n        }\n        cells.push(row);\n      }\n      return cells;\n    };\n    const selectCells = (cells, selectedRow, selectedColumn, numRows, numColumns) => {\n      for (let i = 0; i < numRows; i++) {\n        for (let j = 0; j < numColumns; j++) {\n          Toggling.set(cells[i][j], i <= selectedRow && j <= selectedColumn);\n        }\n      }\n    };\n    const makeComponents = cells => bind$3(cells, cellRow => map$2(cellRow, premade));\n    const makeLabelText = (row, col) => text$2(\"\".concat(col, \"x\").concat(row));\n    const renderInsertTableMenuItem = (spec, backstage) => {\n      const numRows = 10;\n      const numColumns = 10;\n      const getCellLabel = makeAnnouncementText(backstage);\n      const cells = makeCells(getCellLabel, numRows, numColumns);\n      const emptyLabelText = makeLabelText(0, 0);\n      const memLabel = record({\n        dom: {\n          tag: 'span',\n          classes: ['tox-insert-table-picker__label']\n        },\n        components: [emptyLabelText],\n        behaviours: derive$1([Replacing.config({})])\n      });\n      return {\n        type: 'widget',\n        data: {\n          value: generate$6('widget-id')\n        },\n        dom: {\n          tag: 'div',\n          classes: ['tox-fancymenuitem']\n        },\n        autofocus: true,\n        components: [parts$f.widget({\n          dom: {\n            tag: 'div',\n            classes: ['tox-insert-table-picker']\n          },\n          components: makeComponents(cells).concat(memLabel.asSpec()),\n          behaviours: derive$1([config('insert-table-picker', [runOnAttached(c => {\n            Replacing.set(memLabel.get(c), [emptyLabelText]);\n          }), runWithTarget(cellOverEvent, (c, t, e) => {\n            const {\n              row,\n              col\n            } = e.event;\n            selectCells(cells, row, col, numRows, numColumns);\n            Replacing.set(memLabel.get(c), [makeLabelText(row + 1, col + 1)]);\n          }), runWithTarget(cellExecuteEvent, (c, _, e) => {\n            const {\n              row,\n              col\n            } = e.event;\n            spec.onAction({\n              numRows: row + 1,\n              numColumns: col + 1\n            });\n            emit(c, sandboxClose());\n          })]), Keying.config({\n            initSize: {\n              numRows,\n              numColumns\n            },\n            mode: 'flatgrid',\n            selector: '[role=\"button\"]'\n          })])\n        })]\n      };\n    };\n\n    const fancyMenuItems = {\n      inserttable: renderInsertTableMenuItem,\n      colorswatch: renderColorSwatchItem\n    };\n    const renderFancyMenuItem = (spec, backstage) => get$g(fancyMenuItems, spec.fancytype).map(render => render(spec, backstage));\n\n    const renderNestedItem = (spec, itemResponse, providersBackstage, renderIcons = true, downwardsCaret = false) => {\n      const caret = downwardsCaret ? renderDownwardsCaret(providersBackstage.icons) : renderSubmenuCaret(providersBackstage.icons);\n      const getApi = component => ({\n        isEnabled: () => !Disabling.isDisabled(component),\n        setEnabled: state => Disabling.set(component, !state),\n        setIconFill: (id, value) => {\n          descendant(component.element, \"svg path[class=\\\"\".concat(id, \"\\\"], rect[class=\\\"\").concat(id, \"\\\"]\")).each(underlinePath => {\n            set$9(underlinePath, 'fill', value);\n          });\n        },\n        setTooltip: tooltip => {\n          const translatedTooltip = providersBackstage.translate(tooltip);\n          setAll$1(component.element, {\n            'aria-label': translatedTooltip,\n            'title': translatedTooltip\n          });\n        }\n      });\n      const structure = renderItemStructure({\n        presets: 'normal',\n        iconContent: spec.icon,\n        textContent: spec.text,\n        htmlContent: Optional.none(),\n        ariaLabel: spec.text,\n        caret: Optional.some(caret),\n        checkMark: Optional.none(),\n        shortcutContent: spec.shortcut\n      }, providersBackstage, renderIcons);\n      return renderCommonItem({\n        data: buildData(spec),\n        getApi,\n        enabled: spec.enabled,\n        onAction: noop,\n        onSetup: spec.onSetup,\n        triggersSubmenu: true,\n        itemBehaviours: []\n      }, structure, itemResponse, providersBackstage);\n    };\n\n    const renderNormalItem = (spec, itemResponse, providersBackstage, renderIcons = true) => {\n      const getApi = component => ({\n        isEnabled: () => !Disabling.isDisabled(component),\n        setEnabled: state => Disabling.set(component, !state)\n      });\n      const structure = renderItemStructure({\n        presets: 'normal',\n        iconContent: spec.icon,\n        textContent: spec.text,\n        htmlContent: Optional.none(),\n        ariaLabel: spec.text,\n        caret: Optional.none(),\n        checkMark: Optional.none(),\n        shortcutContent: spec.shortcut\n      }, providersBackstage, renderIcons);\n      return renderCommonItem({\n        data: buildData(spec),\n        getApi,\n        enabled: spec.enabled,\n        onAction: spec.onAction,\n        onSetup: spec.onSetup,\n        triggersSubmenu: false,\n        itemBehaviours: []\n      }, structure, itemResponse, providersBackstage);\n    };\n\n    const renderSeparatorItem = spec => ({\n      type: 'separator',\n      dom: {\n        tag: 'div',\n        classes: [selectableClass, groupHeadingClass]\n      },\n      components: spec.text.map(text$2).toArray()\n    });\n\n    const renderToggleMenuItem = (spec, itemResponse, providersBackstage, renderIcons = true) => {\n      const getApi = component => ({\n        setActive: state => {\n          Toggling.set(component, state);\n        },\n        isActive: () => Toggling.isOn(component),\n        isEnabled: () => !Disabling.isDisabled(component),\n        setEnabled: state => Disabling.set(component, !state)\n      });\n      const structure = renderItemStructure({\n        iconContent: spec.icon,\n        textContent: spec.text,\n        htmlContent: Optional.none(),\n        ariaLabel: spec.text,\n        checkMark: Optional.some(renderCheckmark(providersBackstage.icons)),\n        caret: Optional.none(),\n        shortcutContent: spec.shortcut,\n        presets: 'normal',\n        meta: spec.meta\n      }, providersBackstage, renderIcons);\n      return deepMerge(renderCommonItem({\n        data: buildData(spec),\n        enabled: spec.enabled,\n        getApi,\n        onAction: spec.onAction,\n        onSetup: spec.onSetup,\n        triggersSubmenu: false,\n        itemBehaviours: []\n      }, structure, itemResponse, providersBackstage), {\n        toggling: {\n          toggleClass: tickedClass,\n          toggleOnExecute: false,\n          selected: spec.active\n        }\n      });\n    };\n\n    const autocomplete = renderAutocompleteItem;\n    const separator$3 = renderSeparatorItem;\n    const normal = renderNormalItem;\n    const nested = renderNestedItem;\n    const toggle$1 = renderToggleMenuItem;\n    const fancy = renderFancyMenuItem;\n    const card = renderCardMenuItem;\n\n    const getCoupled = (component, coupleConfig, coupleState, name) => coupleState.getOrCreate(component, coupleConfig, name);\n    const getExistingCoupled = (component, coupleConfig, coupleState, name) => coupleState.getExisting(component, coupleConfig, name);\n\n    var CouplingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        getCoupled: getCoupled,\n        getExistingCoupled: getExistingCoupled\n    });\n\n    var CouplingSchema = [requiredOf('others', setOf(Result.value, anyValue()))];\n\n    const init$a = () => {\n      const coupled = {};\n      const lookupCoupled = (coupleConfig, coupledName) => {\n        const available = keys(coupleConfig.others);\n        if (available.length === 0) {\n          throw new Error('Cannot find any known coupled components');\n        } else {\n          return get$g(coupled, coupledName);\n        }\n      };\n      const getOrCreate = (component, coupleConfig, name) => {\n        return lookupCoupled(coupleConfig, name).getOrThunk(() => {\n          const builder = get$g(coupleConfig.others, name).getOrDie('No information found for coupled component: ' + name);\n          const spec = builder(component);\n          const built = component.getSystem().build(spec);\n          coupled[name] = built;\n          return built;\n        });\n      };\n      const getExisting = (component, coupleConfig, name) => {\n        return lookupCoupled(coupleConfig, name).orThunk(() => {\n          get$g(coupleConfig.others, name).getOrDie('No information found for coupled component: ' + name);\n          return Optional.none();\n        });\n      };\n      const readState = constant$1({});\n      return nu$8({\n        readState,\n        getExisting,\n        getOrCreate\n      });\n    };\n\n    var CouplingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$a\n    });\n\n    const Coupling = create$4({\n      fields: CouplingSchema,\n      name: 'coupling',\n      apis: CouplingApis,\n      state: CouplingState\n    });\n\n    const nu$3 = baseFn => {\n      let data = Optional.none();\n      let callbacks = [];\n      const map = f => nu$3(nCallback => {\n        get(data => {\n          nCallback(f(data));\n        });\n      });\n      const get = nCallback => {\n        if (isReady()) {\n          call(nCallback);\n        } else {\n          callbacks.push(nCallback);\n        }\n      };\n      const set = x => {\n        if (!isReady()) {\n          data = Optional.some(x);\n          run(callbacks);\n          callbacks = [];\n        }\n      };\n      const isReady = () => data.isSome();\n      const run = cbs => {\n        each$1(cbs, call);\n      };\n      const call = cb => {\n        data.each(x => {\n          setTimeout(() => {\n            cb(x);\n          }, 0);\n        });\n      };\n      baseFn(set);\n      return {\n        get,\n        map,\n        isReady\n      };\n    };\n    const pure$1 = a => nu$3(callback => {\n      callback(a);\n    });\n    const LazyValue = {\n      nu: nu$3,\n      pure: pure$1\n    };\n\n    const errorReporter = err => {\n      setTimeout(() => {\n        throw err;\n      }, 0);\n    };\n    const make$5 = run => {\n      const get = callback => {\n        run().then(callback, errorReporter);\n      };\n      const map = fab => {\n        return make$5(() => run().then(fab));\n      };\n      const bind = aFutureB => {\n        return make$5(() => run().then(v => aFutureB(v).toPromise()));\n      };\n      const anonBind = futureB => {\n        return make$5(() => run().then(() => futureB.toPromise()));\n      };\n      const toLazy = () => {\n        return LazyValue.nu(get);\n      };\n      const toCached = () => {\n        let cache = null;\n        return make$5(() => {\n          if (cache === null) {\n            cache = run();\n          }\n          return cache;\n        });\n      };\n      const toPromise = run;\n      return {\n        map,\n        bind,\n        anonBind,\n        toLazy,\n        toCached,\n        toPromise,\n        get\n      };\n    };\n    const nu$2 = baseFn => {\n      return make$5(() => new Promise(baseFn));\n    };\n    const pure = a => {\n      return make$5(() => Promise.resolve(a));\n    };\n    const Future = {\n      nu: nu$2,\n      pure\n    };\n\n    const suffix = constant$1('sink');\n    const partType$1 = constant$1(optional({\n      name: suffix(),\n      overrides: constant$1({\n        dom: {\n          tag: 'div'\n        },\n        behaviours: derive$1([Positioning.config({\n          useFixed: always\n        })]),\n        events: derive$2([cutter(keydown()), cutter(mousedown()), cutter(click())])\n      })\n    }));\n\n    const getAnchor = (detail, component) => {\n      const hotspot = detail.getHotspot(component).getOr(component);\n      const type = 'hotspot';\n      const overrides = detail.getAnchorOverrides();\n      return detail.layouts.fold(() => ({\n        type,\n        hotspot,\n        overrides\n      }), layouts => ({\n        type,\n        hotspot,\n        overrides,\n        layouts\n      }));\n    };\n    const fetch = (detail, mapFetch, component) => {\n      const fetcher = detail.fetch;\n      return fetcher(component).map(mapFetch);\n    };\n    const openF = (detail, mapFetch, anchor, component, sandbox, externals, highlightOnOpen) => {\n      const futureData = fetch(detail, mapFetch, component);\n      const getLazySink = getSink(component, detail);\n      return futureData.map(tdata => tdata.bind(data => Optional.from(tieredMenu.sketch({\n        ...externals.menu(),\n        uid: generate$5(''),\n        data,\n        highlightOnOpen,\n        onOpenMenu: (tmenu, menu) => {\n          const sink = getLazySink().getOrDie();\n          Positioning.position(sink, menu, {\n            anchor\n          });\n          Sandboxing.decloak(sandbox);\n        },\n        onOpenSubmenu: (tmenu, item, submenu) => {\n          const sink = getLazySink().getOrDie();\n          Positioning.position(sink, submenu, {\n            anchor: {\n              type: 'submenu',\n              item\n            }\n          });\n          Sandboxing.decloak(sandbox);\n        },\n        onRepositionMenu: (tmenu, primaryMenu, submenuTriggers) => {\n          const sink = getLazySink().getOrDie();\n          Positioning.position(sink, primaryMenu, {\n            anchor\n          });\n          each$1(submenuTriggers, st => {\n            Positioning.position(sink, st.triggeredMenu, {\n              anchor: {\n                type: 'submenu',\n                item: st.triggeringItem\n              }\n            });\n          });\n        },\n        onEscape: () => {\n          Focusing.focus(component);\n          Sandboxing.close(sandbox);\n          return Optional.some(true);\n        }\n      }))));\n    };\n    const open = (detail, mapFetch, hotspot, sandbox, externals, onOpenSync, highlightOnOpen) => {\n      const anchor = getAnchor(detail, hotspot);\n      const processed = openF(detail, mapFetch, anchor, hotspot, sandbox, externals, highlightOnOpen);\n      return processed.map(tdata => {\n        tdata.fold(() => {\n          if (Sandboxing.isOpen(sandbox)) {\n            Sandboxing.close(sandbox);\n          }\n        }, data => {\n          Sandboxing.cloak(sandbox);\n          Sandboxing.open(sandbox, data);\n          onOpenSync(sandbox);\n        });\n        return sandbox;\n      });\n    };\n    const close = (detail, mapFetch, component, sandbox, _externals, _onOpenSync, _highlightOnOpen) => {\n      Sandboxing.close(sandbox);\n      return Future.pure(sandbox);\n    };\n    const togglePopup = (detail, mapFetch, hotspot, externals, onOpenSync, highlightOnOpen) => {\n      const sandbox = Coupling.getCoupled(hotspot, 'sandbox');\n      const showing = Sandboxing.isOpen(sandbox);\n      const action = showing ? close : open;\n      return action(detail, mapFetch, hotspot, sandbox, externals, onOpenSync, highlightOnOpen);\n    };\n    const matchWidth = (hotspot, container, useMinWidth) => {\n      const menu = Composing.getCurrent(container).getOr(container);\n      const buttonWidth = get$c(hotspot.element);\n      if (useMinWidth) {\n        set$8(menu.element, 'min-width', buttonWidth + 'px');\n      } else {\n        set$7(menu.element, buttonWidth);\n      }\n    };\n    const getSink = (anyInSystem, sinkDetail) => anyInSystem.getSystem().getByUid(sinkDetail.uid + '-' + suffix()).map(internalSink => () => Result.value(internalSink)).getOrThunk(() => sinkDetail.lazySink.fold(() => () => Result.error(new Error('No internal sink is specified, nor could an external sink be found')), lazySinkFn => () => lazySinkFn(anyInSystem)));\n    const doRepositionMenus = sandbox => {\n      Sandboxing.getState(sandbox).each(tmenu => {\n        tieredMenu.repositionMenus(tmenu);\n      });\n    };\n    const makeSandbox$1 = (detail, hotspot, extras) => {\n      const ariaControls = manager();\n      const onOpen = (component, menu) => {\n        const anchor = getAnchor(detail, hotspot);\n        ariaControls.link(hotspot.element);\n        if (detail.matchWidth) {\n          matchWidth(anchor.hotspot, menu, detail.useMinWidth);\n        }\n        detail.onOpen(anchor, component, menu);\n        if (extras !== undefined && extras.onOpen !== undefined) {\n          extras.onOpen(component, menu);\n        }\n      };\n      const onClose = (component, menu) => {\n        ariaControls.unlink(hotspot.element);\n        if (extras !== undefined && extras.onClose !== undefined) {\n          extras.onClose(component, menu);\n        }\n      };\n      const lazySink = getSink(hotspot, detail);\n      return {\n        dom: {\n          tag: 'div',\n          classes: detail.sandboxClasses,\n          attributes: {\n            id: ariaControls.id,\n            role: 'listbox'\n          }\n        },\n        behaviours: SketchBehaviours.augment(detail.sandboxBehaviours, [Representing.config({\n          store: {\n            mode: 'memory',\n            initialValue: hotspot\n          }\n        }), Sandboxing.config({\n          onOpen,\n          onClose,\n          isPartOf: (container, data, queryElem) => {\n            return isPartOf$1(data, queryElem) || isPartOf$1(hotspot, queryElem);\n          },\n          getAttachPoint: () => {\n            return lazySink().getOrDie();\n          }\n        }), Composing.config({\n          find: sandbox => {\n            return Sandboxing.getState(sandbox).bind(menu => Composing.getCurrent(menu));\n          }\n        }), Receiving.config({\n          channels: {\n            ...receivingChannel$1({\n              isExtraPart: never\n            }),\n            ...receivingChannel({\n              doReposition: doRepositionMenus\n            })\n          }\n        })])\n      };\n    };\n    const repositionMenus = comp => {\n      const sandbox = Coupling.getCoupled(comp, 'sandbox');\n      doRepositionMenus(sandbox);\n    };\n\n    const sandboxFields = () => [defaulted('sandboxClasses', []), SketchBehaviours.field('sandboxBehaviours', [Composing, Receiving, Sandboxing, Representing])];\n\n    const schema$k = constant$1([required$1('dom'), required$1('fetch'), onHandler('onOpen'), onKeyboardHandler('onExecute'), defaulted('getHotspot', Optional.some), defaulted('getAnchorOverrides', constant$1({})), schema$y(), field('dropdownBehaviours', [Toggling, Coupling, Keying, Focusing]), required$1('toggleClass'), defaulted('eventOrder', {}), option$3('lazySink'), defaulted('matchWidth', false), defaulted('useMinWidth', false), option$3('role')].concat(sandboxFields()));\n    const parts$e = constant$1([external({\n      schema: [tieredMenuMarkers(), defaulted('fakeFocus', false)],\n      name: 'menu',\n      defaults: detail => {\n        return {\n          onExecute: detail.onExecute\n        };\n      }\n    }), partType$1()]);\n\n    const factory$k = (detail, components, _spec, externals) => {\n      const lookupAttr = attr => get$g(detail.dom, 'attributes').bind(attrs => get$g(attrs, attr));\n      const switchToMenu = sandbox => {\n        Sandboxing.getState(sandbox).each(tmenu => {\n          tieredMenu.highlightPrimary(tmenu);\n        });\n      };\n      const togglePopup$1 = (dropdownComp, onOpenSync, highlightOnOpen) => {\n        return togglePopup(detail, identity, dropdownComp, externals, onOpenSync, highlightOnOpen);\n      };\n      const action = component => {\n        const onOpenSync = switchToMenu;\n        togglePopup$1(component, onOpenSync, HighlightOnOpen.HighlightMenuAndItem).get(noop);\n      };\n      const apis = {\n        expand: comp => {\n          if (!Toggling.isOn(comp)) {\n            togglePopup$1(comp, noop, HighlightOnOpen.HighlightNone).get(noop);\n          }\n        },\n        open: comp => {\n          if (!Toggling.isOn(comp)) {\n            togglePopup$1(comp, noop, HighlightOnOpen.HighlightMenuAndItem).get(noop);\n          }\n        },\n        refetch: comp => {\n          const optSandbox = Coupling.getExistingCoupled(comp, 'sandbox');\n          return optSandbox.fold(() => {\n            return togglePopup$1(comp, noop, HighlightOnOpen.HighlightMenuAndItem).map(noop);\n          }, sandboxComp => {\n            return open(detail, identity, comp, sandboxComp, externals, noop, HighlightOnOpen.HighlightMenuAndItem).map(noop);\n          });\n        },\n        isOpen: Toggling.isOn,\n        close: comp => {\n          if (Toggling.isOn(comp)) {\n            togglePopup$1(comp, noop, HighlightOnOpen.HighlightMenuAndItem).get(noop);\n          }\n        },\n        repositionMenus: comp => {\n          if (Toggling.isOn(comp)) {\n            repositionMenus(comp);\n          }\n        }\n      };\n      const triggerExecute = (comp, _se) => {\n        emitExecute(comp);\n        return Optional.some(true);\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        behaviours: augment(detail.dropdownBehaviours, [Toggling.config({\n          toggleClass: detail.toggleClass,\n          aria: {\n            mode: 'expanded'\n          }\n        }), Coupling.config({\n          others: {\n            sandbox: hotspot => {\n              return makeSandbox$1(detail, hotspot, {\n                onOpen: () => Toggling.on(hotspot),\n                onClose: () => Toggling.off(hotspot)\n              });\n            }\n          }\n        }), Keying.config({\n          mode: 'special',\n          onSpace: triggerExecute,\n          onEnter: triggerExecute,\n          onDown: (comp, _se) => {\n            if (Dropdown.isOpen(comp)) {\n              const sandbox = Coupling.getCoupled(comp, 'sandbox');\n              switchToMenu(sandbox);\n            } else {\n              Dropdown.open(comp);\n            }\n            return Optional.some(true);\n          },\n          onEscape: (comp, _se) => {\n            if (Dropdown.isOpen(comp)) {\n              Dropdown.close(comp);\n              return Optional.some(true);\n            } else {\n              return Optional.none();\n            }\n          }\n        }), Focusing.config({})]),\n        events: events$a(Optional.some(action)),\n        eventOrder: {\n          ...detail.eventOrder,\n          [execute$5()]: ['disabling', 'toggling', 'alloy.base.behaviour']\n        },\n        apis,\n        domModification: {\n          attributes: {\n            'aria-haspopup': 'true',\n            ...detail.role.fold(() => ({}), role => ({\n              role\n            })),\n            ...(detail.dom.tag === 'button' ? {\n              type: lookupAttr('type').getOr('button')\n            } : {})\n          }\n        }\n      };\n    };\n    const Dropdown = composite({\n      name: 'Dropdown',\n      configFields: schema$k(),\n      partFields: parts$e(),\n      factory: factory$k,\n      apis: {\n        open: (apis, comp) => apis.open(comp),\n        refetch: (apis, comp) => apis.refetch(comp),\n        expand: (apis, comp) => apis.expand(comp),\n        close: (apis, comp) => apis.close(comp),\n        isOpen: (apis, comp) => apis.isOpen(comp),\n        repositionMenus: (apis, comp) => apis.repositionMenus(comp)\n      }\n    });\n\n    const identifyMenuLayout = searchMode => {\n      switch (searchMode.searchMode) {\n        case 'no-search':\n          {\n            return {\n              menuType: 'normal'\n            };\n          }\n        default:\n          {\n            return {\n              menuType: 'searchable',\n              searchMode\n            };\n          }\n      }\n    };\n    const handleRefetchTrigger = originalSandboxComp => {\n      const dropdown = Representing.getValue(originalSandboxComp);\n      const optSearcherState = findWithinSandbox(originalSandboxComp).map(saveState);\n      Dropdown.refetch(dropdown).get(() => {\n        const newSandboxComp = Coupling.getCoupled(dropdown, 'sandbox');\n        optSearcherState.each(searcherState => findWithinSandbox(newSandboxComp).each(inputComp => restoreState(inputComp, searcherState)));\n      });\n    };\n    const handleRedirectToMenuItem = (sandboxComp, se) => {\n      getActiveMenuItemFrom(sandboxComp).each(activeItem => {\n        retargetAndDispatchWith(sandboxComp, activeItem.element, se.event.eventType, se.event.interactionEvent);\n      });\n    };\n    const getActiveMenuItemFrom = sandboxComp => {\n      return Sandboxing.getState(sandboxComp).bind(Highlighting.getHighlighted).bind(Highlighting.getHighlighted);\n    };\n    const getSearchResults = activeMenuComp => {\n      return has(activeMenuComp.element, searchResultsClass) ? Optional.some(activeMenuComp.element) : descendant(activeMenuComp.element, '.' + searchResultsClass);\n    };\n    const updateAriaOnHighlight = (tmenuComp, menuComp, itemComp) => {\n      findWithinMenu(tmenuComp).each(inputComp => {\n        setActiveDescendant(inputComp, itemComp);\n        const optActiveResults = getSearchResults(menuComp);\n        optActiveResults.each(resultsElem => {\n          getOpt(resultsElem, 'id').each(controlledId => set$9(inputComp.element, 'aria-controls', controlledId));\n        });\n      });\n      set$9(itemComp.element, 'aria-selected', 'true');\n    };\n    const updateAriaOnDehighlight = (tmenuComp, menuComp, itemComp) => {\n      set$9(itemComp.element, 'aria-selected', 'false');\n    };\n    const focusSearchField = tmenuComp => {\n      findWithinMenu(tmenuComp).each(searcherComp => Focusing.focus(searcherComp));\n    };\n    const getSearchPattern = dropdownComp => {\n      const optSandboxComp = Coupling.getExistingCoupled(dropdownComp, 'sandbox');\n      return optSandboxComp.bind(findWithinSandbox).map(saveState).map(state => state.fetchPattern).getOr('');\n    };\n\n    var FocusMode;\n    (function (FocusMode) {\n      FocusMode[FocusMode['ContentFocus'] = 0] = 'ContentFocus';\n      FocusMode[FocusMode['UiFocus'] = 1] = 'UiFocus';\n    })(FocusMode || (FocusMode = {}));\n    const createMenuItemFromBridge = (item, itemResponse, backstage, menuHasIcons, isHorizontalMenu) => {\n      const providersBackstage = backstage.shared.providers;\n      const parseForHorizontalMenu = menuitem => !isHorizontalMenu ? menuitem : {\n        ...menuitem,\n        shortcut: Optional.none(),\n        icon: menuitem.text.isSome() ? Optional.none() : menuitem.icon\n      };\n      switch (item.type) {\n        case 'menuitem':\n          return createMenuItem(item).fold(handleError, d => Optional.some(normal(parseForHorizontalMenu(d), itemResponse, providersBackstage, menuHasIcons)));\n        case 'nestedmenuitem':\n          return createNestedMenuItem(item).fold(handleError, d => Optional.some(nested(parseForHorizontalMenu(d), itemResponse, providersBackstage, menuHasIcons, isHorizontalMenu)));\n        case 'togglemenuitem':\n          return createToggleMenuItem(item).fold(handleError, d => Optional.some(toggle$1(parseForHorizontalMenu(d), itemResponse, providersBackstage, menuHasIcons)));\n        case 'separator':\n          return createSeparatorMenuItem(item).fold(handleError, d => Optional.some(separator$3(d)));\n        case 'fancymenuitem':\n          return createFancyMenuItem(item).fold(handleError, d => fancy(d, backstage));\n        default:\n          {\n            console.error('Unknown item in general menu', item);\n            return Optional.none();\n          }\n      }\n    };\n    const createAutocompleteItems = (items, matchText, onItemValueHandler, columns, itemResponse, sharedBackstage, highlightOn) => {\n      const renderText = columns === 1;\n      const renderIcons = !renderText || menuHasIcons(items);\n      return cat(map$2(items, item => {\n        switch (item.type) {\n          case 'separator':\n            return createSeparatorItem(item).fold(handleError, d => Optional.some(separator$3(d)));\n          case 'cardmenuitem':\n            return createCardMenuItem(item).fold(handleError, d => Optional.some(card({\n              ...d,\n              onAction: api => {\n                d.onAction(api);\n                onItemValueHandler(d.value, d.meta);\n              }\n            }, itemResponse, sharedBackstage, {\n              itemBehaviours: tooltipBehaviour(d.meta, sharedBackstage),\n              cardText: {\n                matchText,\n                highlightOn\n              }\n            })));\n          case 'autocompleteitem':\n          default:\n            return createAutocompleterItem(item).fold(handleError, d => Optional.some(autocomplete(d, matchText, renderText, 'normal', onItemValueHandler, itemResponse, sharedBackstage, renderIcons)));\n        }\n      }));\n    };\n    const createPartialMenu = (value, items, itemResponse, backstage, isHorizontalMenu, searchMode) => {\n      const hasIcons = menuHasIcons(items);\n      const alloyItems = cat(map$2(items, item => {\n        const itemHasIcon = i => isHorizontalMenu ? !has$2(i, 'text') : hasIcons;\n        const createItem = i => createMenuItemFromBridge(i, itemResponse, backstage, itemHasIcon(i), isHorizontalMenu);\n        if (item.type === 'nestedmenuitem' && item.getSubmenuItems().length <= 0) {\n          return createItem({\n            ...item,\n            enabled: false\n          });\n        } else {\n          return createItem(item);\n        }\n      }));\n      const menuLayout = identifyMenuLayout(searchMode);\n      const createPartial = isHorizontalMenu ? createHorizontalPartialMenuWithAlloyItems : createPartialMenuWithAlloyItems;\n      return createPartial(value, hasIcons, alloyItems, 1, menuLayout);\n    };\n    const createTieredDataFrom = partialMenu => tieredMenu.singleData(partialMenu.value, partialMenu);\n    const createInlineMenuFrom = (partialMenu, columns, focusMode, presets) => {\n      const movement = deriveMenuMovement(columns, presets);\n      const menuMarkers = markers(presets);\n      return {\n        data: createTieredDataFrom({\n          ...partialMenu,\n          movement,\n          menuBehaviours: SimpleBehaviours.unnamedEvents(columns !== 'auto' ? [] : [runOnAttached((comp, _se) => {\n            detectSize(comp, 4, menuMarkers.item).each(({\n              numColumns,\n              numRows\n            }) => {\n              Keying.setGridSize(comp, numRows, numColumns);\n            });\n          })])\n        }),\n        menu: {\n          markers: markers(presets),\n          fakeFocus: focusMode === FocusMode.ContentFocus\n        }\n      };\n    };\n\n    const getAutocompleterRange = (dom, initRange) => {\n      return detect$1(SugarElement.fromDom(initRange.startContainer)).map(elm => {\n        const range = dom.createRng();\n        range.selectNode(elm.dom);\n        return range;\n      });\n    };\n    const register$b = (editor, sharedBackstage) => {\n      const autocompleterId = generate$6('autocompleter');\n      const processingAction = Cell(false);\n      const activeState = Cell(false);\n      const autocompleter = build$1(InlineView.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-autocompleter'],\n          attributes: {\n            id: autocompleterId\n          }\n        },\n        components: [],\n        fireDismissalEventInstead: {},\n        inlineBehaviours: derive$1([config('dismissAutocompleter', [run$1(dismissRequested(), () => cancelIfNecessary()), run$1(highlight$1(), (_, se) => {\n          getOpt(se.event.target, 'id').each(id => set$9(SugarElement.fromDom(editor.getBody()), 'aria-activedescendant', id));\n        })])]),\n        lazySink: sharedBackstage.getSink\n      }));\n      const isMenuOpen = () => InlineView.isOpen(autocompleter);\n      const isActive = activeState.get;\n      const hideIfNecessary = () => {\n        if (isMenuOpen()) {\n          InlineView.hide(autocompleter);\n          editor.dom.remove(autocompleterId, false);\n          const editorBody = SugarElement.fromDom(editor.getBody());\n          getOpt(editorBody, 'aria-owns').filter(ariaOwnsAttr => ariaOwnsAttr === autocompleterId).each(() => {\n            remove$7(editorBody, 'aria-owns');\n            remove$7(editorBody, 'aria-activedescendant');\n          });\n        }\n      };\n      const getMenu = () => InlineView.getContent(autocompleter).bind(tmenu => {\n        return get$h(tmenu.components(), 0);\n      });\n      const cancelIfNecessary = () => editor.execCommand('mceAutocompleterClose');\n      const getCombinedItems = matches => {\n        const columns = findMap(matches, m => Optional.from(m.columns)).getOr(1);\n        return bind$3(matches, match => {\n          const choices = match.items;\n          return createAutocompleteItems(choices, match.matchText, (itemValue, itemMeta) => {\n            const nr = editor.selection.getRng();\n            getAutocompleterRange(editor.dom, nr).each(range => {\n              const autocompleterApi = {\n                hide: () => cancelIfNecessary(),\n                reload: fetchOptions => {\n                  hideIfNecessary();\n                  editor.execCommand('mceAutocompleterReload', false, {\n                    fetchOptions\n                  });\n                }\n              };\n              processingAction.set(true);\n              match.onAction(autocompleterApi, range, itemValue, itemMeta);\n              processingAction.set(false);\n            });\n          }, columns, ItemResponse$1.BUBBLE_TO_SANDBOX, sharedBackstage, match.highlightOn);\n        });\n      };\n      const display = (lookupData, items) => {\n        findIn(SugarElement.fromDom(editor.getBody())).each(element => {\n          const columns = findMap(lookupData, ld => Optional.from(ld.columns)).getOr(1);\n          InlineView.showMenuAt(autocompleter, {\n            anchor: {\n              type: 'node',\n              root: SugarElement.fromDom(editor.getBody()),\n              node: Optional.from(element)\n            }\n          }, createInlineMenuFrom(createPartialMenuWithAlloyItems('autocompleter-value', true, items, columns, {\n            menuType: 'normal'\n          }), columns, FocusMode.ContentFocus, 'normal'));\n        });\n        getMenu().each(Highlighting.highlightFirst);\n      };\n      const updateDisplay = lookupData => {\n        const combinedItems = getCombinedItems(lookupData);\n        if (combinedItems.length > 0) {\n          display(lookupData, combinedItems);\n          set$9(SugarElement.fromDom(editor.getBody()), 'aria-owns', autocompleterId);\n          if (!editor.inline) {\n            cloneAutocompleterToEditorDoc();\n          }\n        } else {\n          hideIfNecessary();\n        }\n      };\n      const cloneAutocompleterToEditorDoc = () => {\n        if (editor.dom.get(autocompleterId)) {\n          editor.dom.remove(autocompleterId, false);\n        }\n        const docElm = editor.getDoc().documentElement;\n        const selection = editor.selection.getNode();\n        const newElm = deep(autocompleter.element);\n        setAll(newElm, {\n          border: '0',\n          clip: 'rect(0 0 0 0)',\n          height: '1px',\n          margin: '-1px',\n          overflow: 'hidden',\n          padding: '0',\n          position: 'absolute',\n          width: '1px',\n          top: \"\".concat(selection.offsetTop, \"px\"),\n          left: \"\".concat(selection.offsetLeft, \"px\")\n        });\n        editor.dom.add(docElm, newElm.dom);\n        descendant(newElm, '[role=\"menu\"]').each(child => {\n          remove$6(child, 'position');\n          remove$6(child, 'max-height');\n        });\n      };\n      editor.on('AutocompleterStart', ({\n        lookupData\n      }) => {\n        activeState.set(true);\n        processingAction.set(false);\n        updateDisplay(lookupData);\n      });\n      editor.on('AutocompleterUpdate', ({\n        lookupData\n      }) => updateDisplay(lookupData));\n      editor.on('AutocompleterEnd', () => {\n        hideIfNecessary();\n        activeState.set(false);\n        processingAction.set(false);\n      });\n      const autocompleterUiApi = {\n        cancelIfNecessary,\n        isMenuOpen,\n        isActive,\n        isProcessingAction: processingAction.get,\n        getMenu\n      };\n      AutocompleterEditorEvents.setup(autocompleterUiApi, editor);\n    };\n    const Autocompleter = {\n      register: register$b\n    };\n\n    const nonScrollingOverflows = ['visible', 'hidden', 'clip'];\n    const isScrollingOverflowValue = value => trim$1(value).length > 0 && !contains$2(nonScrollingOverflows, value);\n    const isScroller = elem => {\n      if (isHTMLElement(elem)) {\n        const overflowX = get$e(elem, 'overflow-x');\n        const overflowY = get$e(elem, 'overflow-y');\n        return isScrollingOverflowValue(overflowX) || isScrollingOverflowValue(overflowY);\n      } else {\n        return false;\n      }\n    };\n    const detect = popupSinkElem => {\n      const ancestorsScrollers = ancestors(popupSinkElem, isScroller);\n      const scrollers = ancestorsScrollers.length === 0 ? getShadowRoot(popupSinkElem).map(getShadowHost).map(x => ancestors(x, isScroller)).getOr([]) : ancestorsScrollers;\n      return head(scrollers).map(element => ({\n        element,\n        others: scrollers.slice(1)\n      }));\n    };\n    const detectWhenSplitUiMode = (editor, popupSinkElem) => isSplitUiMode(editor) ? detect(popupSinkElem) : Optional.none();\n    const getBoundsFrom = sc => {\n      const scrollableBoxes = [...map$2(sc.others, box$1), win()];\n      return constrainByMany(box$1(sc.element), scrollableBoxes);\n    };\n\n    const closest = (scope, selector, isRoot) => closest$1(scope, selector, isRoot).isSome();\n\n    const DelayedFunction = (fun, delay) => {\n      let ref = null;\n      const schedule = (...args) => {\n        ref = setTimeout(() => {\n          fun.apply(null, args);\n          ref = null;\n        }, delay);\n      };\n      const cancel = () => {\n        if (ref !== null) {\n          clearTimeout(ref);\n          ref = null;\n        }\n      };\n      return {\n        cancel,\n        schedule\n      };\n    };\n\n    const SIGNIFICANT_MOVE = 5;\n    const LONGPRESS_DELAY = 400;\n    const getTouch = event => {\n      const raw = event.raw;\n      if (raw.touches === undefined || raw.touches.length !== 1) {\n        return Optional.none();\n      }\n      return Optional.some(raw.touches[0]);\n    };\n    const isFarEnough = (touch, data) => {\n      const distX = Math.abs(touch.clientX - data.x);\n      const distY = Math.abs(touch.clientY - data.y);\n      return distX > SIGNIFICANT_MOVE || distY > SIGNIFICANT_MOVE;\n    };\n    const monitor = settings => {\n      const startData = value$2();\n      const longpressFired = Cell(false);\n      const longpress$1 = DelayedFunction(event => {\n        settings.triggerEvent(longpress(), event);\n        longpressFired.set(true);\n      }, LONGPRESS_DELAY);\n      const handleTouchstart = event => {\n        getTouch(event).each(touch => {\n          longpress$1.cancel();\n          const data = {\n            x: touch.clientX,\n            y: touch.clientY,\n            target: event.target\n          };\n          longpress$1.schedule(event);\n          longpressFired.set(false);\n          startData.set(data);\n        });\n        return Optional.none();\n      };\n      const handleTouchmove = event => {\n        longpress$1.cancel();\n        getTouch(event).each(touch => {\n          startData.on(data => {\n            if (isFarEnough(touch, data)) {\n              startData.clear();\n            }\n          });\n        });\n        return Optional.none();\n      };\n      const handleTouchend = event => {\n        longpress$1.cancel();\n        const isSame = data => eq(data.target, event.target);\n        return startData.get().filter(isSame).map(_data => {\n          if (longpressFired.get()) {\n            event.prevent();\n            return false;\n          } else {\n            return settings.triggerEvent(tap(), event);\n          }\n        });\n      };\n      const handlers = wrapAll([{\n        key: touchstart(),\n        value: handleTouchstart\n      }, {\n        key: touchmove(),\n        value: handleTouchmove\n      }, {\n        key: touchend(),\n        value: handleTouchend\n      }]);\n      const fireIfReady = (event, type) => get$g(handlers, type).bind(handler => handler(event));\n      return {\n        fireIfReady\n      };\n    };\n\n    const isDangerous = event => {\n      const keyEv = event.raw;\n      return keyEv.which === BACKSPACE[0] && !contains$2(['input', 'textarea'], name$3(event.target)) && !closest(event.target, '[contenteditable=\"true\"]');\n    };\n    const setup$d = (container, rawSettings) => {\n      const settings = {\n        stopBackspace: true,\n        ...rawSettings\n      };\n      const pointerEvents = ['touchstart', 'touchmove', 'touchend', 'touchcancel', 'gesturestart', 'mousedown', 'mouseup', 'mouseover', 'mousemove', 'mouseout', 'click'];\n      const tapEvent = monitor(settings);\n      const simpleEvents = map$2(pointerEvents.concat(['selectstart', 'input', 'contextmenu', 'change', 'transitionend', 'transitioncancel', 'drag', 'dragstart', 'dragend', 'dragenter', 'dragleave', 'dragover', 'drop', 'keyup']), type => bind(container, type, event => {\n        tapEvent.fireIfReady(event, type).each(tapStopped => {\n          if (tapStopped) {\n            event.kill();\n          }\n        });\n        const stopped = settings.triggerEvent(type, event);\n        if (stopped) {\n          event.kill();\n        }\n      }));\n      const pasteTimeout = value$2();\n      const onPaste = bind(container, 'paste', event => {\n        tapEvent.fireIfReady(event, 'paste').each(tapStopped => {\n          if (tapStopped) {\n            event.kill();\n          }\n        });\n        const stopped = settings.triggerEvent('paste', event);\n        if (stopped) {\n          event.kill();\n        }\n        pasteTimeout.set(setTimeout(() => {\n          settings.triggerEvent(postPaste(), event);\n        }, 0));\n      });\n      const onKeydown = bind(container, 'keydown', event => {\n        const stopped = settings.triggerEvent('keydown', event);\n        if (stopped) {\n          event.kill();\n        } else if (settings.stopBackspace && isDangerous(event)) {\n          event.prevent();\n        }\n      });\n      const onFocusIn = bind(container, 'focusin', event => {\n        const stopped = settings.triggerEvent('focusin', event);\n        if (stopped) {\n          event.kill();\n        }\n      });\n      const focusoutTimeout = value$2();\n      const onFocusOut = bind(container, 'focusout', event => {\n        const stopped = settings.triggerEvent('focusout', event);\n        if (stopped) {\n          event.kill();\n        }\n        focusoutTimeout.set(setTimeout(() => {\n          settings.triggerEvent(postBlur(), event);\n        }, 0));\n      });\n      const unbind = () => {\n        each$1(simpleEvents, e => {\n          e.unbind();\n        });\n        onKeydown.unbind();\n        onFocusIn.unbind();\n        onFocusOut.unbind();\n        onPaste.unbind();\n        pasteTimeout.on(clearTimeout);\n        focusoutTimeout.on(clearTimeout);\n      };\n      return {\n        unbind\n      };\n    };\n\n    const derive = (rawEvent, rawTarget) => {\n      const source = get$g(rawEvent, 'target').getOr(rawTarget);\n      return Cell(source);\n    };\n\n    const fromSource = (event, source) => {\n      const stopper = Cell(false);\n      const cutter = Cell(false);\n      const stop = () => {\n        stopper.set(true);\n      };\n      const cut = () => {\n        cutter.set(true);\n      };\n      return {\n        stop,\n        cut,\n        isStopped: stopper.get,\n        isCut: cutter.get,\n        event,\n        setSource: source.set,\n        getSource: source.get\n      };\n    };\n    const fromExternal = event => {\n      const stopper = Cell(false);\n      const stop = () => {\n        stopper.set(true);\n      };\n      return {\n        stop,\n        cut: noop,\n        isStopped: stopper.get,\n        isCut: never,\n        event,\n        setSource: die('Cannot set source of a broadcasted event'),\n        getSource: die('Cannot get source of a broadcasted event')\n      };\n    };\n\n    const adt$1 = Adt.generate([{\n      stopped: []\n    }, {\n      resume: ['element']\n    }, {\n      complete: []\n    }]);\n    const doTriggerHandler = (lookup, eventType, rawEvent, target, source, logger) => {\n      const handler = lookup(eventType, target);\n      const simulatedEvent = fromSource(rawEvent, source);\n      return handler.fold(() => {\n        logger.logEventNoHandlers(eventType, target);\n        return adt$1.complete();\n      }, handlerInfo => {\n        const descHandler = handlerInfo.descHandler;\n        const eventHandler = getCurried(descHandler);\n        eventHandler(simulatedEvent);\n        if (simulatedEvent.isStopped()) {\n          logger.logEventStopped(eventType, handlerInfo.element, descHandler.purpose);\n          return adt$1.stopped();\n        } else if (simulatedEvent.isCut()) {\n          logger.logEventCut(eventType, handlerInfo.element, descHandler.purpose);\n          return adt$1.complete();\n        } else {\n          return parent(handlerInfo.element).fold(() => {\n            logger.logNoParent(eventType, handlerInfo.element, descHandler.purpose);\n            return adt$1.complete();\n          }, parent => {\n            logger.logEventResponse(eventType, handlerInfo.element, descHandler.purpose);\n            return adt$1.resume(parent);\n          });\n        }\n      });\n    };\n    const doTriggerOnUntilStopped = (lookup, eventType, rawEvent, rawTarget, source, logger) => doTriggerHandler(lookup, eventType, rawEvent, rawTarget, source, logger).fold(always, parent => doTriggerOnUntilStopped(lookup, eventType, rawEvent, parent, source, logger), never);\n    const triggerHandler = (lookup, eventType, rawEvent, target, logger) => {\n      const source = derive(rawEvent, target);\n      return doTriggerHandler(lookup, eventType, rawEvent, target, source, logger);\n    };\n    const broadcast = (listeners, rawEvent, _logger) => {\n      const simulatedEvent = fromExternal(rawEvent);\n      each$1(listeners, listener => {\n        const descHandler = listener.descHandler;\n        const handler = getCurried(descHandler);\n        handler(simulatedEvent);\n      });\n      return simulatedEvent.isStopped();\n    };\n    const triggerUntilStopped = (lookup, eventType, rawEvent, logger) => triggerOnUntilStopped(lookup, eventType, rawEvent, rawEvent.target, logger);\n    const triggerOnUntilStopped = (lookup, eventType, rawEvent, rawTarget, logger) => {\n      const source = derive(rawEvent, rawTarget);\n      return doTriggerOnUntilStopped(lookup, eventType, rawEvent, rawTarget, source, logger);\n    };\n\n    const eventHandler = (element, descHandler) => ({\n      element,\n      descHandler\n    });\n    const broadcastHandler = (id, handler) => ({\n      id,\n      descHandler: handler\n    });\n    const EventRegistry = () => {\n      const registry = {};\n      const registerId = (extraArgs, id, events) => {\n        each(events, (v, k) => {\n          const handlers = registry[k] !== undefined ? registry[k] : {};\n          handlers[id] = curryArgs(v, extraArgs);\n          registry[k] = handlers;\n        });\n      };\n      const findHandler = (handlers, elem) => read$1(elem).bind(id => get$g(handlers, id)).map(descHandler => eventHandler(elem, descHandler));\n      const filterByType = type => get$g(registry, type).map(handlers => mapToArray(handlers, (f, id) => broadcastHandler(id, f))).getOr([]);\n      const find = (isAboveRoot, type, target) => get$g(registry, type).bind(handlers => closest$4(target, elem => findHandler(handlers, elem), isAboveRoot));\n      const unregisterId = id => {\n        each(registry, (handlersById, _eventName) => {\n          if (has$2(handlersById, id)) {\n            delete handlersById[id];\n          }\n        });\n      };\n      return {\n        registerId,\n        unregisterId,\n        filterByType,\n        find\n      };\n    };\n\n    const Registry = () => {\n      const events = EventRegistry();\n      const components = {};\n      const readOrTag = component => {\n        const elem = component.element;\n        return read$1(elem).getOrThunk(() => write('uid-', component.element));\n      };\n      const failOnDuplicate = (component, tagId) => {\n        const conflict = components[tagId];\n        if (conflict === component) {\n          unregister(component);\n        } else {\n          throw new Error('The tagId \"' + tagId + '\" is already used by: ' + element(conflict.element) + '\\nCannot use it for: ' + element(component.element) + '\\n' + 'The conflicting element is' + (inBody(conflict.element) ? ' ' : ' not ') + 'already in the DOM');\n        }\n      };\n      const register = component => {\n        const tagId = readOrTag(component);\n        if (hasNonNullableKey(components, tagId)) {\n          failOnDuplicate(component, tagId);\n        }\n        const extraArgs = [component];\n        events.registerId(extraArgs, tagId, component.events);\n        components[tagId] = component;\n      };\n      const unregister = component => {\n        read$1(component.element).each(tagId => {\n          delete components[tagId];\n          events.unregisterId(tagId);\n        });\n      };\n      const filter = type => events.filterByType(type);\n      const find = (isAboveRoot, type, target) => events.find(isAboveRoot, type, target);\n      const getById = id => get$g(components, id);\n      return {\n        find,\n        filter,\n        register,\n        unregister,\n        getById\n      };\n    };\n\n    const factory$j = detail => {\n      const {\n        attributes,\n        ...domWithoutAttributes\n      } = detail.dom;\n      return {\n        uid: detail.uid,\n        dom: {\n          tag: 'div',\n          attributes: {\n            role: 'presentation',\n            ...attributes\n          },\n          ...domWithoutAttributes\n        },\n        components: detail.components,\n        behaviours: get$3(detail.containerBehaviours),\n        events: detail.events,\n        domModification: detail.domModification,\n        eventOrder: detail.eventOrder\n      };\n    };\n    const Container = single({\n      name: 'Container',\n      factory: factory$j,\n      configFields: [defaulted('components', []), field('containerBehaviours', []), defaulted('events', {}), defaulted('domModification', {}), defaulted('eventOrder', {})]\n    });\n\n    const takeover = root => {\n      const isAboveRoot = el => parent(root.element).fold(always, parent => eq(el, parent));\n      const registry = Registry();\n      const lookup = (eventName, target) => registry.find(isAboveRoot, eventName, target);\n      const domEvents = setup$d(root.element, {\n        triggerEvent: (eventName, event) => {\n          return monitorEvent(eventName, event.target, logger => triggerUntilStopped(lookup, eventName, event, logger));\n        }\n      });\n      const systemApi = {\n        debugInfo: constant$1('real'),\n        triggerEvent: (eventName, target, data) => {\n          monitorEvent(eventName, target, logger => triggerOnUntilStopped(lookup, eventName, data, target, logger));\n        },\n        triggerFocus: (target, originator) => {\n          read$1(target).fold(() => {\n            focus$3(target);\n          }, _alloyId => {\n            monitorEvent(focus$4(), target, logger => {\n              triggerHandler(lookup, focus$4(), {\n                originator,\n                kill: noop,\n                prevent: noop,\n                target\n              }, target, logger);\n              return false;\n            });\n          });\n        },\n        triggerEscape: (comp, simulatedEvent) => {\n          systemApi.triggerEvent('keydown', comp.element, simulatedEvent.event);\n        },\n        getByUid: uid => {\n          return getByUid(uid);\n        },\n        getByDom: elem => {\n          return getByDom(elem);\n        },\n        build: build$1,\n        buildOrPatch: buildOrPatch,\n        addToGui: c => {\n          add(c);\n        },\n        removeFromGui: c => {\n          remove(c);\n        },\n        addToWorld: c => {\n          addToWorld(c);\n        },\n        removeFromWorld: c => {\n          removeFromWorld(c);\n        },\n        broadcast: message => {\n          broadcast$1(message);\n        },\n        broadcastOn: (channels, message) => {\n          broadcastOn(channels, message);\n        },\n        broadcastEvent: (eventName, event) => {\n          broadcastEvent(eventName, event);\n        },\n        isConnected: always\n      };\n      const addToWorld = component => {\n        component.connect(systemApi);\n        if (!isText(component.element)) {\n          registry.register(component);\n          each$1(component.components(), addToWorld);\n          systemApi.triggerEvent(systemInit(), component.element, {\n            target: component.element\n          });\n        }\n      };\n      const removeFromWorld = component => {\n        if (!isText(component.element)) {\n          each$1(component.components(), removeFromWorld);\n          registry.unregister(component);\n        }\n        component.disconnect();\n      };\n      const add = component => {\n        attach(root, component);\n      };\n      const remove = component => {\n        detach(component);\n      };\n      const destroy = () => {\n        domEvents.unbind();\n        remove$5(root.element);\n      };\n      const broadcastData = data => {\n        const receivers = registry.filter(receive());\n        each$1(receivers, receiver => {\n          const descHandler = receiver.descHandler;\n          const handler = getCurried(descHandler);\n          handler(data);\n        });\n      };\n      const broadcast$1 = message => {\n        broadcastData({\n          universal: true,\n          data: message\n        });\n      };\n      const broadcastOn = (channels, message) => {\n        broadcastData({\n          universal: false,\n          channels,\n          data: message\n        });\n      };\n      const broadcastEvent = (eventName, event) => {\n        const listeners = registry.filter(eventName);\n        return broadcast(listeners, event);\n      };\n      const getByUid = uid => registry.getById(uid).fold(() => Result.error(new Error('Could not find component with uid: \"' + uid + '\" in system.')), Result.value);\n      const getByDom = elem => {\n        const uid = read$1(elem).getOr('not found');\n        return getByUid(uid);\n      };\n      addToWorld(root);\n      return {\n        root,\n        element: root.element,\n        destroy,\n        add,\n        remove,\n        getByUid,\n        getByDom,\n        addToWorld,\n        removeFromWorld,\n        broadcast: broadcast$1,\n        broadcastOn,\n        broadcastEvent\n      };\n    };\n\n    const renderBar = (spec, backstage) => ({\n      dom: {\n        tag: 'div',\n        classes: ['tox-bar', 'tox-form__controls-h-stack']\n      },\n      components: map$2(spec.items, backstage.interpreter)\n    });\n\n    const schema$j = constant$1([defaulted('prefix', 'form-field'), field('fieldBehaviours', [Composing, Representing])]);\n    const parts$d = constant$1([optional({\n      schema: [required$1('dom')],\n      name: 'label'\n    }), optional({\n      factory: {\n        sketch: spec => {\n          return {\n            uid: spec.uid,\n            dom: {\n              tag: 'span',\n              styles: {\n                display: 'none'\n              },\n              attributes: {\n                'aria-hidden': 'true'\n              },\n              innerHtml: spec.text\n            }\n          };\n        }\n      },\n      schema: [required$1('text')],\n      name: 'aria-descriptor'\n    }), required({\n      factory: {\n        sketch: spec => {\n          const excludeFactory = exclude(spec, ['factory']);\n          return spec.factory.sketch(excludeFactory);\n        }\n      },\n      schema: [required$1('factory')],\n      name: 'field'\n    })]);\n\n    const factory$i = (detail, components, _spec, _externals) => {\n      const behaviours = augment(detail.fieldBehaviours, [Composing.config({\n        find: container => {\n          return getPart(container, detail, 'field');\n        }\n      }), Representing.config({\n        store: {\n          mode: 'manual',\n          getValue: field => {\n            return Composing.getCurrent(field).bind(Representing.getValue);\n          },\n          setValue: (field, value) => {\n            Composing.getCurrent(field).each(current => {\n              Representing.setValue(current, value);\n            });\n          }\n        }\n      })]);\n      const events = derive$2([runOnAttached((component, _simulatedEvent) => {\n        const ps = getParts(component, detail, ['label', 'field', 'aria-descriptor']);\n        ps.field().each(field => {\n          const id = generate$6(detail.prefix);\n          ps.label().each(label => {\n            set$9(label.element, 'for', id);\n            set$9(field.element, 'id', id);\n          });\n          ps['aria-descriptor']().each(descriptor => {\n            const descriptorId = generate$6(detail.prefix);\n            set$9(descriptor.element, 'id', descriptorId);\n            set$9(field.element, 'aria-describedby', descriptorId);\n          });\n        });\n      })]);\n      const apis = {\n        getField: container => getPart(container, detail, 'field'),\n        getLabel: container => getPart(container, detail, 'label')\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        behaviours,\n        events,\n        apis\n      };\n    };\n    const FormField = composite({\n      name: 'FormField',\n      configFields: schema$j(),\n      partFields: parts$d(),\n      factory: factory$i,\n      apis: {\n        getField: (apis, comp) => apis.getField(comp),\n        getLabel: (apis, comp) => apis.getLabel(comp)\n      }\n    });\n\n    const exhibit$2 = (base, tabConfig) => nu$7({\n      attributes: wrapAll([{\n        key: tabConfig.tabAttr,\n        value: 'true'\n      }])\n    });\n\n    var ActiveTabstopping = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit$2\n    });\n\n    var TabstopSchema = [defaulted('tabAttr', 'data-alloy-tabstop')];\n\n    const Tabstopping = create$4({\n      fields: TabstopSchema,\n      name: 'tabstopping',\n      active: ActiveTabstopping\n    });\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.html.Entities');\n\n    const renderFormFieldWith = (pLabel, pField, extraClasses, extraBehaviours) => {\n      const spec = renderFormFieldSpecWith(pLabel, pField, extraClasses, extraBehaviours);\n      return FormField.sketch(spec);\n    };\n    const renderFormField = (pLabel, pField) => renderFormFieldWith(pLabel, pField, [], []);\n    const renderFormFieldSpecWith = (pLabel, pField, extraClasses, extraBehaviours) => ({\n      dom: renderFormFieldDomWith(extraClasses),\n      components: pLabel.toArray().concat([pField]),\n      fieldBehaviours: derive$1(extraBehaviours)\n    });\n    const renderFormFieldDom = () => renderFormFieldDomWith([]);\n    const renderFormFieldDomWith = extraClasses => ({\n      tag: 'div',\n      classes: ['tox-form__group'].concat(extraClasses)\n    });\n    const renderLabel$3 = (label, providersBackstage) => FormField.parts.label({\n      dom: {\n        tag: 'label',\n        classes: ['tox-label']\n      },\n      components: [text$2(providersBackstage.translate(label))]\n    });\n\n    const formChangeEvent = generate$6('form-component-change');\n    const formCloseEvent = generate$6('form-close');\n    const formCancelEvent = generate$6('form-cancel');\n    const formActionEvent = generate$6('form-action');\n    const formSubmitEvent = generate$6('form-submit');\n    const formBlockEvent = generate$6('form-block');\n    const formUnblockEvent = generate$6('form-unblock');\n    const formTabChangeEvent = generate$6('form-tabchange');\n    const formResizeEvent = generate$6('form-resize');\n\n    const renderCollection = (spec, providersBackstage, initialData) => {\n      const pLabel = spec.label.map(label => renderLabel$3(label, providersBackstage));\n      const icons = providersBackstage.icons();\n      const getIcon = icon => {\n        var _a;\n        return (_a = icons[icon]) !== null && _a !== void 0 ? _a : icon;\n      };\n      const runOnItem = f => (comp, se) => {\n        closest$1(se.event.target, '[data-collection-item-value]').each(target => {\n          f(comp, se, target, get$f(target, 'data-collection-item-value'));\n        });\n      };\n      const setContents = (comp, items) => {\n        const htmlLines = map$2(items, item => {\n          const itemText = global$8.translate(item.text);\n          const textContent = spec.columns === 1 ? \"<div class=\\\"tox-collection__item-label\\\">\".concat(itemText, \"<\/div>\") : '';\n          const iconContent = \"<div class=\\\"tox-collection__item-icon\\\">\".concat(getIcon(item.icon), \"<\/div>\");\n          const mapItemName = {\n            '_': ' ',\n            ' - ': ' ',\n            '-': ' '\n          };\n          const ariaLabel = itemText.replace(/\\_| \\- |\\-/g, match => mapItemName[match]);\n          const disabledClass = providersBackstage.isDisabled() ? ' tox-collection__item--state-disabled' : '';\n          return \"<div class=\\\"tox-collection__item\".concat(disabledClass, \"\\\" tabindex=\\\"-1\\\" data-collection-item-value=\\\"\").concat(global$3.encodeAllRaw(item.value), \"\\\" title=\\\"\").concat(ariaLabel, \"\\\" aria-label=\\\"\").concat(ariaLabel, \"\\\">\").concat(iconContent).concat(textContent, \"<\/div>\");\n        });\n        const chunks = spec.columns !== 'auto' && spec.columns > 1 ? chunk$1(htmlLines, spec.columns) : [htmlLines];\n        const html = map$2(chunks, ch => \"<div class=\\\"tox-collection__group\\\">\".concat(ch.join(''), \"<\/div>\"));\n        set$6(comp.element, html.join(''));\n      };\n      const onClick = runOnItem((comp, se, tgt, itemValue) => {\n        se.stop();\n        if (!providersBackstage.isDisabled()) {\n          emitWith(comp, formActionEvent, {\n            name: spec.name,\n            value: itemValue\n          });\n        }\n      });\n      const collectionEvents = [run$1(mouseover(), runOnItem((comp, se, tgt) => {\n        focus$3(tgt);\n      })), run$1(click(), onClick), run$1(tap(), onClick), run$1(focusin(), runOnItem((comp, se, tgt) => {\n        descendant(comp.element, '.' + activeClass).each(currentActive => {\n          remove$2(currentActive, activeClass);\n        });\n        add$2(tgt, activeClass);\n      })), run$1(focusout(), runOnItem(comp => {\n        descendant(comp.element, '.' + activeClass).each(currentActive => {\n          remove$2(currentActive, activeClass);\n        });\n      })), runOnExecute$1(runOnItem((comp, se, tgt, itemValue) => {\n        emitWith(comp, formActionEvent, {\n          name: spec.name,\n          value: itemValue\n        });\n      }))];\n      const iterCollectionItems = (comp, applyAttributes) => map$2(descendants(comp.element, '.tox-collection__item'), applyAttributes);\n      const pField = FormField.parts.field({\n        dom: {\n          tag: 'div',\n          classes: ['tox-collection'].concat(spec.columns !== 1 ? ['tox-collection--grid'] : ['tox-collection--list'])\n        },\n        components: [],\n        factory: {\n          sketch: identity\n        },\n        behaviours: derive$1([Disabling.config({\n          disabled: providersBackstage.isDisabled,\n          onDisabled: comp => {\n            iterCollectionItems(comp, childElm => {\n              add$2(childElm, 'tox-collection__item--state-disabled');\n              set$9(childElm, 'aria-disabled', true);\n            });\n          },\n          onEnabled: comp => {\n            iterCollectionItems(comp, childElm => {\n              remove$2(childElm, 'tox-collection__item--state-disabled');\n              remove$7(childElm, 'aria-disabled');\n            });\n          }\n        }), receivingConfig(), Replacing.config({}), Representing.config({\n          store: {\n            mode: 'memory',\n            initialValue: initialData.getOr([])\n          },\n          onSetValue: (comp, items) => {\n            setContents(comp, items);\n            if (spec.columns === 'auto') {\n              detectSize(comp, 5, 'tox-collection__item').each(({\n                numRows,\n                numColumns\n              }) => {\n                Keying.setGridSize(comp, numRows, numColumns);\n              });\n            }\n            emit(comp, formResizeEvent);\n          }\n        }), Tabstopping.config({}), Keying.config(deriveCollectionMovement(spec.columns, 'normal')), config('collection-events', collectionEvents)]),\n        eventOrder: {\n          [execute$5()]: ['disabling', 'alloy.base.behaviour', 'collection-events']\n        }\n      });\n      const extraClasses = ['tox-form__group--collection'];\n      return renderFormFieldWith(pLabel, pField, extraClasses, []);\n    };\n\n    const ariaElements = ['input', 'textarea'];\n    const isAriaElement = elem => {\n      const name = name$3(elem);\n      return contains$2(ariaElements, name);\n    };\n    const markValid = (component, invalidConfig) => {\n      const elem = invalidConfig.getRoot(component).getOr(component.element);\n      remove$2(elem, invalidConfig.invalidClass);\n      invalidConfig.notify.each(notifyInfo => {\n        if (isAriaElement(component.element)) {\n          set$9(component.element, 'aria-invalid', false);\n        }\n        notifyInfo.getContainer(component).each(container => {\n          set$6(container, notifyInfo.validHtml);\n        });\n        notifyInfo.onValid(component);\n      });\n    };\n    const markInvalid = (component, invalidConfig, invalidState, text) => {\n      const elem = invalidConfig.getRoot(component).getOr(component.element);\n      add$2(elem, invalidConfig.invalidClass);\n      invalidConfig.notify.each(notifyInfo => {\n        if (isAriaElement(component.element)) {\n          set$9(component.element, 'aria-invalid', true);\n        }\n        notifyInfo.getContainer(component).each(container => {\n          set$6(container, text);\n        });\n        notifyInfo.onInvalid(component, text);\n      });\n    };\n    const query = (component, invalidConfig, _invalidState) => invalidConfig.validator.fold(() => Future.pure(Result.value(true)), validatorInfo => validatorInfo.validate(component));\n    const run = (component, invalidConfig, invalidState) => {\n      invalidConfig.notify.each(notifyInfo => {\n        notifyInfo.onValidate(component);\n      });\n      return query(component, invalidConfig).map(valid => {\n        if (component.getSystem().isConnected()) {\n          return valid.fold(err => {\n            markInvalid(component, invalidConfig, invalidState, err);\n            return Result.error(err);\n          }, v => {\n            markValid(component, invalidConfig);\n            return Result.value(v);\n          });\n        } else {\n          return Result.error('No longer in system');\n        }\n      });\n    };\n    const isInvalid = (component, invalidConfig) => {\n      const elem = invalidConfig.getRoot(component).getOr(component.element);\n      return has(elem, invalidConfig.invalidClass);\n    };\n\n    var InvalidateApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        markValid: markValid,\n        markInvalid: markInvalid,\n        query: query,\n        run: run,\n        isInvalid: isInvalid\n    });\n\n    const events$8 = (invalidConfig, invalidState) => invalidConfig.validator.map(validatorInfo => derive$2([run$1(validatorInfo.onEvent, component => {\n      run(component, invalidConfig, invalidState).get(identity);\n    })].concat(validatorInfo.validateOnLoad ? [runOnAttached(component => {\n      run(component, invalidConfig, invalidState).get(noop);\n    })] : []))).getOr({});\n\n    var ActiveInvalidate = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$8\n    });\n\n    var InvalidateSchema = [required$1('invalidClass'), defaulted('getRoot', Optional.none), optionObjOf('notify', [defaulted('aria', 'alert'), defaulted('getContainer', Optional.none), defaulted('validHtml', ''), onHandler('onValid'), onHandler('onInvalid'), onHandler('onValidate')]), optionObjOf('validator', [required$1('validate'), defaulted('onEvent', 'input'), defaulted('validateOnLoad', true)])];\n\n    const Invalidating = create$4({\n      fields: InvalidateSchema,\n      name: 'invalidating',\n      active: ActiveInvalidate,\n      apis: InvalidateApis,\n      extra: {\n        validation: validator => {\n          return component => {\n            const v = Representing.getValue(component);\n            return Future.pure(validator(v));\n          };\n        }\n      }\n    });\n\n    const exhibit$1 = () => nu$7({\n      styles: {\n        '-webkit-user-select': 'none',\n        'user-select': 'none',\n        '-ms-user-select': 'none',\n        '-moz-user-select': '-moz-none'\n      },\n      attributes: {\n        unselectable: 'on'\n      }\n    });\n    const events$7 = () => derive$2([abort(selectstart(), always)]);\n\n    var ActiveUnselecting = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$7,\n        exhibit: exhibit$1\n    });\n\n    const Unselecting = create$4({\n      fields: [],\n      name: 'unselecting',\n      active: ActiveUnselecting\n    });\n\n    const renderPanelButton = (spec, sharedBackstage) => Dropdown.sketch({\n      dom: spec.dom,\n      components: spec.components,\n      toggleClass: 'mce-active',\n      dropdownBehaviours: derive$1([DisablingConfigs.button(sharedBackstage.providers.isDisabled), receivingConfig(), Unselecting.config({}), Tabstopping.config({})]),\n      layouts: spec.layouts,\n      sandboxClasses: ['tox-dialog__popups'],\n      lazySink: sharedBackstage.getSink,\n      fetch: comp => Future.nu(callback => spec.fetch(callback)).map(items => Optional.from(createTieredDataFrom(deepMerge(createPartialChoiceMenu(generate$6('menu-value'), items, value => {\n        spec.onItemAction(comp, value);\n      }, spec.columns, spec.presets, ItemResponse$1.CLOSE_ON_EXECUTE, never, sharedBackstage.providers), {\n        movement: deriveMenuMovement(spec.columns, spec.presets)\n      })))),\n      parts: {\n        menu: part(false, 1, spec.presets)\n      }\n    });\n\n    const colorInputChangeEvent = generate$6('color-input-change');\n    const colorSwatchChangeEvent = generate$6('color-swatch-change');\n    const colorPickerCancelEvent = generate$6('color-picker-cancel');\n    const renderColorInput = (spec, sharedBackstage, colorInputBackstage, initialData) => {\n      const pField = FormField.parts.field({\n        factory: Input,\n        inputClasses: ['tox-textfield'],\n        data: initialData,\n        onSetValue: c => Invalidating.run(c).get(noop),\n        inputBehaviours: derive$1([Disabling.config({\n          disabled: sharedBackstage.providers.isDisabled\n        }), receivingConfig(), Tabstopping.config({}), Invalidating.config({\n          invalidClass: 'tox-textbox-field-invalid',\n          getRoot: comp => parentElement(comp.element),\n          notify: {\n            onValid: comp => {\n              const val = Representing.getValue(comp);\n              emitWith(comp, colorInputChangeEvent, {\n                color: val\n              });\n            }\n          },\n          validator: {\n            validateOnLoad: false,\n            validate: input => {\n              const inputValue = Representing.getValue(input);\n              if (inputValue.length === 0) {\n                return Future.pure(Result.value(true));\n              } else {\n                const span = SugarElement.fromTag('span');\n                set$8(span, 'background-color', inputValue);\n                const res = getRaw(span, 'background-color').fold(() => Result.error('blah'), _ => Result.value(inputValue));\n                return Future.pure(res);\n              }\n            }\n          }\n        })]),\n        selectOnFocus: false\n      });\n      const pLabel = spec.label.map(label => renderLabel$3(label, sharedBackstage.providers));\n      const emitSwatchChange = (colorBit, value) => {\n        emitWith(colorBit, colorSwatchChangeEvent, {\n          value\n        });\n      };\n      const onItemAction = (comp, value) => {\n        memColorButton.getOpt(comp).each(colorBit => {\n          if (value === 'custom') {\n            colorInputBackstage.colorPicker(valueOpt => {\n              valueOpt.fold(() => emit(colorBit, colorPickerCancelEvent), value => {\n                emitSwatchChange(colorBit, value);\n                addColor(spec.storageKey, value);\n              });\n            }, '#ffffff');\n          } else if (value === 'remove') {\n            emitSwatchChange(colorBit, '');\n          } else {\n            emitSwatchChange(colorBit, value);\n          }\n        });\n      };\n      const memColorButton = record(renderPanelButton({\n        dom: {\n          tag: 'span',\n          attributes: {\n            'aria-label': sharedBackstage.providers.translate('Color swatch')\n          }\n        },\n        layouts: {\n          onRtl: () => [southwest$2, southeast$2, south$2],\n          onLtr: () => [southeast$2, southwest$2, south$2]\n        },\n        components: [],\n        fetch: getFetch$1(colorInputBackstage.getColors(spec.storageKey), spec.storageKey, colorInputBackstage.hasCustomColors()),\n        columns: colorInputBackstage.getColorCols(spec.storageKey),\n        presets: 'color',\n        onItemAction\n      }, sharedBackstage));\n      return FormField.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components: pLabel.toArray().concat([{\n          dom: {\n            tag: 'div',\n            classes: ['tox-color-input']\n          },\n          components: [pField, memColorButton.asSpec()]\n        }]),\n        fieldBehaviours: derive$1([config('form-field-events', [run$1(colorInputChangeEvent, (comp, se) => {\n          memColorButton.getOpt(comp).each(colorButton => {\n            set$8(colorButton.element, 'background-color', se.event.color);\n          });\n          emitWith(comp, formChangeEvent, {\n            name: spec.name\n          });\n        }), run$1(colorSwatchChangeEvent, (comp, se) => {\n          FormField.getField(comp).each(field => {\n            Representing.setValue(field, se.event.value);\n            Composing.getCurrent(comp).each(Focusing.focus);\n          });\n        }), run$1(colorPickerCancelEvent, (comp, _se) => {\n          FormField.getField(comp).each(_field => {\n            Composing.getCurrent(comp).each(Focusing.focus);\n          });\n        })])])\n      });\n    };\n\n    const labelPart = optional({\n      schema: [required$1('dom')],\n      name: 'label'\n    });\n    const edgePart = name => optional({\n      name: '' + name + '-edge',\n      overrides: detail => {\n        const action = detail.model.manager.edgeActions[name];\n        return action.fold(() => ({}), a => ({\n          events: derive$2([runActionExtra(touchstart(), (comp, se, d) => a(comp, d), [detail]), runActionExtra(mousedown(), (comp, se, d) => a(comp, d), [detail]), runActionExtra(mousemove(), (comp, se, det) => {\n            if (det.mouseIsDown.get()) {\n              a(comp, det);\n            }\n          }, [detail])])\n        }));\n      }\n    });\n    const tlEdgePart = edgePart('top-left');\n    const tedgePart = edgePart('top');\n    const trEdgePart = edgePart('top-right');\n    const redgePart = edgePart('right');\n    const brEdgePart = edgePart('bottom-right');\n    const bedgePart = edgePart('bottom');\n    const blEdgePart = edgePart('bottom-left');\n    const ledgePart = edgePart('left');\n    const thumbPart = required({\n      name: 'thumb',\n      defaults: constant$1({\n        dom: {\n          styles: {\n            position: 'absolute'\n          }\n        }\n      }),\n      overrides: detail => {\n        return {\n          events: derive$2([redirectToPart(touchstart(), detail, 'spectrum'), redirectToPart(touchmove(), detail, 'spectrum'), redirectToPart(touchend(), detail, 'spectrum'), redirectToPart(mousedown(), detail, 'spectrum'), redirectToPart(mousemove(), detail, 'spectrum'), redirectToPart(mouseup(), detail, 'spectrum')])\n        };\n      }\n    });\n    const isShift = event => isShift$1(event.event);\n    const spectrumPart = required({\n      schema: [customField('mouseIsDown', () => Cell(false))],\n      name: 'spectrum',\n      overrides: detail => {\n        const modelDetail = detail.model;\n        const model = modelDetail.manager;\n        const setValueFrom = (component, simulatedEvent) => model.getValueFromEvent(simulatedEvent).map(value => model.setValueFrom(component, detail, value));\n        return {\n          behaviours: derive$1([Keying.config({\n            mode: 'special',\n            onLeft: (spectrum, event) => model.onLeft(spectrum, detail, isShift(event)),\n            onRight: (spectrum, event) => model.onRight(spectrum, detail, isShift(event)),\n            onUp: (spectrum, event) => model.onUp(spectrum, detail, isShift(event)),\n            onDown: (spectrum, event) => model.onDown(spectrum, detail, isShift(event))\n          }), Tabstopping.config({}), Focusing.config({})]),\n          events: derive$2([run$1(touchstart(), setValueFrom), run$1(touchmove(), setValueFrom), run$1(mousedown(), setValueFrom), run$1(mousemove(), (spectrum, se) => {\n            if (detail.mouseIsDown.get()) {\n              setValueFrom(spectrum, se);\n            }\n          })])\n        };\n      }\n    });\n    var SliderParts = [labelPart, ledgePart, redgePart, tedgePart, bedgePart, tlEdgePart, trEdgePart, blEdgePart, brEdgePart, thumbPart, spectrumPart];\n\n    const _sliderChangeEvent = 'slider.change.value';\n    const sliderChangeEvent = constant$1(_sliderChangeEvent);\n    const isTouchEvent$2 = evt => evt.type.indexOf('touch') !== -1;\n    const getEventSource = simulatedEvent => {\n      const evt = simulatedEvent.event.raw;\n      if (isTouchEvent$2(evt)) {\n        const touchEvent = evt;\n        return touchEvent.touches !== undefined && touchEvent.touches.length === 1 ? Optional.some(touchEvent.touches[0]).map(t => SugarPosition(t.clientX, t.clientY)) : Optional.none();\n      } else {\n        const mouseEvent = evt;\n        return mouseEvent.clientX !== undefined ? Optional.some(mouseEvent).map(me => SugarPosition(me.clientX, me.clientY)) : Optional.none();\n      }\n    };\n\n    const t = 'top',\n      r = 'right',\n      b = 'bottom',\n      l = 'left';\n    const minX = detail => detail.model.minX;\n    const minY = detail => detail.model.minY;\n    const min1X = detail => detail.model.minX - 1;\n    const min1Y = detail => detail.model.minY - 1;\n    const maxX = detail => detail.model.maxX;\n    const maxY = detail => detail.model.maxY;\n    const max1X = detail => detail.model.maxX + 1;\n    const max1Y = detail => detail.model.maxY + 1;\n    const range = (detail, max, min) => max(detail) - min(detail);\n    const xRange = detail => range(detail, maxX, minX);\n    const yRange = detail => range(detail, maxY, minY);\n    const halfX = detail => xRange(detail) / 2;\n    const halfY = detail => yRange(detail) / 2;\n    const step = (detail, useMultiplier) => useMultiplier ? detail.stepSize * detail.speedMultiplier : detail.stepSize;\n    const snap = detail => detail.snapToGrid;\n    const snapStart = detail => detail.snapStart;\n    const rounded = detail => detail.rounded;\n    const hasEdge = (detail, edgeName) => detail[edgeName + '-edge'] !== undefined;\n    const hasLEdge = detail => hasEdge(detail, l);\n    const hasREdge = detail => hasEdge(detail, r);\n    const hasTEdge = detail => hasEdge(detail, t);\n    const hasBEdge = detail => hasEdge(detail, b);\n    const currentValue = detail => detail.model.value.get();\n\n    const xyValue = (x, y) => ({\n      x,\n      y\n    });\n    const fireSliderChange$3 = (component, value) => {\n      emitWith(component, sliderChangeEvent(), {\n        value\n      });\n    };\n    const setToTLEdgeXY = (edge, detail) => {\n      fireSliderChange$3(edge, xyValue(min1X(detail), min1Y(detail)));\n    };\n    const setToTEdge = (edge, detail) => {\n      fireSliderChange$3(edge, min1Y(detail));\n    };\n    const setToTEdgeXY = (edge, detail) => {\n      fireSliderChange$3(edge, xyValue(halfX(detail), min1Y(detail)));\n    };\n    const setToTREdgeXY = (edge, detail) => {\n      fireSliderChange$3(edge, xyValue(max1X(detail), min1Y(detail)));\n    };\n    const setToREdge = (edge, detail) => {\n      fireSliderChange$3(edge, max1X(detail));\n    };\n    const setToREdgeXY = (edge, detail) => {\n      fireSliderChange$3(edge, xyValue(max1X(detail), halfY(detail)));\n    };\n    const setToBREdgeXY = (edge, detail) => {\n      fireSliderChange$3(edge, xyValue(max1X(detail), max1Y(detail)));\n    };\n    const setToBEdge = (edge, detail) => {\n      fireSliderChange$3(edge, max1Y(detail));\n    };\n    const setToBEdgeXY = (edge, detail) => {\n      fireSliderChange$3(edge, xyValue(halfX(detail), max1Y(detail)));\n    };\n    const setToBLEdgeXY = (edge, detail) => {\n      fireSliderChange$3(edge, xyValue(min1X(detail), max1Y(detail)));\n    };\n    const setToLEdge = (edge, detail) => {\n      fireSliderChange$3(edge, min1X(detail));\n    };\n    const setToLEdgeXY = (edge, detail) => {\n      fireSliderChange$3(edge, xyValue(min1X(detail), halfY(detail)));\n    };\n\n    const reduceBy = (value, min, max, step) => {\n      if (value < min) {\n        return value;\n      } else if (value > max) {\n        return max;\n      } else if (value === min) {\n        return min - 1;\n      } else {\n        return Math.max(min, value - step);\n      }\n    };\n    const increaseBy = (value, min, max, step) => {\n      if (value > max) {\n        return value;\n      } else if (value < min) {\n        return min;\n      } else if (value === max) {\n        return max + 1;\n      } else {\n        return Math.min(max, value + step);\n      }\n    };\n    const capValue = (value, min, max) => Math.max(min, Math.min(max, value));\n    const snapValueOf = (value, min, max, step, snapStart) => snapStart.fold(() => {\n      const initValue = value - min;\n      const extraValue = Math.round(initValue / step) * step;\n      return capValue(min + extraValue, min - 1, max + 1);\n    }, start => {\n      const remainder = (value - start) % step;\n      const adjustment = Math.round(remainder / step);\n      const rawSteps = Math.floor((value - start) / step);\n      const maxSteps = Math.floor((max - start) / step);\n      const numSteps = Math.min(maxSteps, rawSteps + adjustment);\n      const r = start + numSteps * step;\n      return Math.max(start, r);\n    });\n    const findOffsetOf = (value, min, max) => Math.min(max, Math.max(value, min)) - min;\n    const findValueOf = args => {\n      const {\n        min,\n        max,\n        range,\n        value,\n        step,\n        snap,\n        snapStart,\n        rounded,\n        hasMinEdge,\n        hasMaxEdge,\n        minBound,\n        maxBound,\n        screenRange\n      } = args;\n      const capMin = hasMinEdge ? min - 1 : min;\n      const capMax = hasMaxEdge ? max + 1 : max;\n      if (value < minBound) {\n        return capMin;\n      } else if (value > maxBound) {\n        return capMax;\n      } else {\n        const offset = findOffsetOf(value, minBound, maxBound);\n        const newValue = capValue(offset / screenRange * range + min, capMin, capMax);\n        if (snap && newValue >= min && newValue <= max) {\n          return snapValueOf(newValue, min, max, step, snapStart);\n        } else if (rounded) {\n          return Math.round(newValue);\n        } else {\n          return newValue;\n        }\n      }\n    };\n    const findOffsetOfValue$2 = args => {\n      const {\n        min,\n        max,\n        range,\n        value,\n        hasMinEdge,\n        hasMaxEdge,\n        maxBound,\n        maxOffset,\n        centerMinEdge,\n        centerMaxEdge\n      } = args;\n      if (value < min) {\n        return hasMinEdge ? 0 : centerMinEdge;\n      } else if (value > max) {\n        return hasMaxEdge ? maxBound : centerMaxEdge;\n      } else {\n        return (value - min) / range * maxOffset;\n      }\n    };\n\n    const top = 'top',\n      right = 'right',\n      bottom = 'bottom',\n      left = 'left',\n      width = 'width',\n      height = 'height';\n    const getBounds = component => component.element.dom.getBoundingClientRect();\n    const getBoundsProperty = (bounds, property) => bounds[property];\n    const getMinXBounds = component => {\n      const bounds = getBounds(component);\n      return getBoundsProperty(bounds, left);\n    };\n    const getMaxXBounds = component => {\n      const bounds = getBounds(component);\n      return getBoundsProperty(bounds, right);\n    };\n    const getMinYBounds = component => {\n      const bounds = getBounds(component);\n      return getBoundsProperty(bounds, top);\n    };\n    const getMaxYBounds = component => {\n      const bounds = getBounds(component);\n      return getBoundsProperty(bounds, bottom);\n    };\n    const getXScreenRange = component => {\n      const bounds = getBounds(component);\n      return getBoundsProperty(bounds, width);\n    };\n    const getYScreenRange = component => {\n      const bounds = getBounds(component);\n      return getBoundsProperty(bounds, height);\n    };\n    const getCenterOffsetOf = (componentMinEdge, componentMaxEdge, spectrumMinEdge) => (componentMinEdge + componentMaxEdge) / 2 - spectrumMinEdge;\n    const getXCenterOffSetOf = (component, spectrum) => {\n      const componentBounds = getBounds(component);\n      const spectrumBounds = getBounds(spectrum);\n      const componentMinEdge = getBoundsProperty(componentBounds, left);\n      const componentMaxEdge = getBoundsProperty(componentBounds, right);\n      const spectrumMinEdge = getBoundsProperty(spectrumBounds, left);\n      return getCenterOffsetOf(componentMinEdge, componentMaxEdge, spectrumMinEdge);\n    };\n    const getYCenterOffSetOf = (component, spectrum) => {\n      const componentBounds = getBounds(component);\n      const spectrumBounds = getBounds(spectrum);\n      const componentMinEdge = getBoundsProperty(componentBounds, top);\n      const componentMaxEdge = getBoundsProperty(componentBounds, bottom);\n      const spectrumMinEdge = getBoundsProperty(spectrumBounds, top);\n      return getCenterOffsetOf(componentMinEdge, componentMaxEdge, spectrumMinEdge);\n    };\n\n    const fireSliderChange$2 = (spectrum, value) => {\n      emitWith(spectrum, sliderChangeEvent(), {\n        value\n      });\n    };\n    const findValueOfOffset$1 = (spectrum, detail, left) => {\n      const args = {\n        min: minX(detail),\n        max: maxX(detail),\n        range: xRange(detail),\n        value: left,\n        step: step(detail),\n        snap: snap(detail),\n        snapStart: snapStart(detail),\n        rounded: rounded(detail),\n        hasMinEdge: hasLEdge(detail),\n        hasMaxEdge: hasREdge(detail),\n        minBound: getMinXBounds(spectrum),\n        maxBound: getMaxXBounds(spectrum),\n        screenRange: getXScreenRange(spectrum)\n      };\n      return findValueOf(args);\n    };\n    const setValueFrom$2 = (spectrum, detail, value) => {\n      const xValue = findValueOfOffset$1(spectrum, detail, value);\n      const sliderVal = xValue;\n      fireSliderChange$2(spectrum, sliderVal);\n      return xValue;\n    };\n    const setToMin$2 = (spectrum, detail) => {\n      const min = minX(detail);\n      fireSliderChange$2(spectrum, min);\n    };\n    const setToMax$2 = (spectrum, detail) => {\n      const max = maxX(detail);\n      fireSliderChange$2(spectrum, max);\n    };\n    const moveBy$2 = (direction, spectrum, detail, useMultiplier) => {\n      const f = direction > 0 ? increaseBy : reduceBy;\n      const xValue = f(currentValue(detail), minX(detail), maxX(detail), step(detail, useMultiplier));\n      fireSliderChange$2(spectrum, xValue);\n      return Optional.some(xValue);\n    };\n    const handleMovement$2 = direction => (spectrum, detail, useMultiplier) => moveBy$2(direction, spectrum, detail, useMultiplier).map(always);\n    const getValueFromEvent$2 = simulatedEvent => {\n      const pos = getEventSource(simulatedEvent);\n      return pos.map(p => p.left);\n    };\n    const findOffsetOfValue$1 = (spectrum, detail, value, minEdge, maxEdge) => {\n      const minOffset = 0;\n      const maxOffset = getXScreenRange(spectrum);\n      const centerMinEdge = minEdge.bind(edge => Optional.some(getXCenterOffSetOf(edge, spectrum))).getOr(minOffset);\n      const centerMaxEdge = maxEdge.bind(edge => Optional.some(getXCenterOffSetOf(edge, spectrum))).getOr(maxOffset);\n      const args = {\n        min: minX(detail),\n        max: maxX(detail),\n        range: xRange(detail),\n        value,\n        hasMinEdge: hasLEdge(detail),\n        hasMaxEdge: hasREdge(detail),\n        minBound: getMinXBounds(spectrum),\n        minOffset,\n        maxBound: getMaxXBounds(spectrum),\n        maxOffset,\n        centerMinEdge,\n        centerMaxEdge\n      };\n      return findOffsetOfValue$2(args);\n    };\n    const findPositionOfValue$1 = (slider, spectrum, value, minEdge, maxEdge, detail) => {\n      const offset = findOffsetOfValue$1(spectrum, detail, value, minEdge, maxEdge);\n      return getMinXBounds(spectrum) - getMinXBounds(slider) + offset;\n    };\n    const setPositionFromValue$2 = (slider, thumb, detail, edges) => {\n      const value = currentValue(detail);\n      const pos = findPositionOfValue$1(slider, edges.getSpectrum(slider), value, edges.getLeftEdge(slider), edges.getRightEdge(slider), detail);\n      const thumbRadius = get$c(thumb.element) / 2;\n      set$8(thumb.element, 'left', pos - thumbRadius + 'px');\n    };\n    const onLeft$2 = handleMovement$2(-1);\n    const onRight$2 = handleMovement$2(1);\n    const onUp$2 = Optional.none;\n    const onDown$2 = Optional.none;\n    const edgeActions$2 = {\n      'top-left': Optional.none(),\n      'top': Optional.none(),\n      'top-right': Optional.none(),\n      'right': Optional.some(setToREdge),\n      'bottom-right': Optional.none(),\n      'bottom': Optional.none(),\n      'bottom-left': Optional.none(),\n      'left': Optional.some(setToLEdge)\n    };\n\n    var HorizontalModel = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        setValueFrom: setValueFrom$2,\n        setToMin: setToMin$2,\n        setToMax: setToMax$2,\n        findValueOfOffset: findValueOfOffset$1,\n        getValueFromEvent: getValueFromEvent$2,\n        findPositionOfValue: findPositionOfValue$1,\n        setPositionFromValue: setPositionFromValue$2,\n        onLeft: onLeft$2,\n        onRight: onRight$2,\n        onUp: onUp$2,\n        onDown: onDown$2,\n        edgeActions: edgeActions$2\n    });\n\n    const fireSliderChange$1 = (spectrum, value) => {\n      emitWith(spectrum, sliderChangeEvent(), {\n        value\n      });\n    };\n    const findValueOfOffset = (spectrum, detail, top) => {\n      const args = {\n        min: minY(detail),\n        max: maxY(detail),\n        range: yRange(detail),\n        value: top,\n        step: step(detail),\n        snap: snap(detail),\n        snapStart: snapStart(detail),\n        rounded: rounded(detail),\n        hasMinEdge: hasTEdge(detail),\n        hasMaxEdge: hasBEdge(detail),\n        minBound: getMinYBounds(spectrum),\n        maxBound: getMaxYBounds(spectrum),\n        screenRange: getYScreenRange(spectrum)\n      };\n      return findValueOf(args);\n    };\n    const setValueFrom$1 = (spectrum, detail, value) => {\n      const yValue = findValueOfOffset(spectrum, detail, value);\n      const sliderVal = yValue;\n      fireSliderChange$1(spectrum, sliderVal);\n      return yValue;\n    };\n    const setToMin$1 = (spectrum, detail) => {\n      const min = minY(detail);\n      fireSliderChange$1(spectrum, min);\n    };\n    const setToMax$1 = (spectrum, detail) => {\n      const max = maxY(detail);\n      fireSliderChange$1(spectrum, max);\n    };\n    const moveBy$1 = (direction, spectrum, detail, useMultiplier) => {\n      const f = direction > 0 ? increaseBy : reduceBy;\n      const yValue = f(currentValue(detail), minY(detail), maxY(detail), step(detail, useMultiplier));\n      fireSliderChange$1(spectrum, yValue);\n      return Optional.some(yValue);\n    };\n    const handleMovement$1 = direction => (spectrum, detail, useMultiplier) => moveBy$1(direction, spectrum, detail, useMultiplier).map(always);\n    const getValueFromEvent$1 = simulatedEvent => {\n      const pos = getEventSource(simulatedEvent);\n      return pos.map(p => {\n        return p.top;\n      });\n    };\n    const findOffsetOfValue = (spectrum, detail, value, minEdge, maxEdge) => {\n      const minOffset = 0;\n      const maxOffset = getYScreenRange(spectrum);\n      const centerMinEdge = minEdge.bind(edge => Optional.some(getYCenterOffSetOf(edge, spectrum))).getOr(minOffset);\n      const centerMaxEdge = maxEdge.bind(edge => Optional.some(getYCenterOffSetOf(edge, spectrum))).getOr(maxOffset);\n      const args = {\n        min: minY(detail),\n        max: maxY(detail),\n        range: yRange(detail),\n        value,\n        hasMinEdge: hasTEdge(detail),\n        hasMaxEdge: hasBEdge(detail),\n        minBound: getMinYBounds(spectrum),\n        minOffset,\n        maxBound: getMaxYBounds(spectrum),\n        maxOffset,\n        centerMinEdge,\n        centerMaxEdge\n      };\n      return findOffsetOfValue$2(args);\n    };\n    const findPositionOfValue = (slider, spectrum, value, minEdge, maxEdge, detail) => {\n      const offset = findOffsetOfValue(spectrum, detail, value, minEdge, maxEdge);\n      return getMinYBounds(spectrum) - getMinYBounds(slider) + offset;\n    };\n    const setPositionFromValue$1 = (slider, thumb, detail, edges) => {\n      const value = currentValue(detail);\n      const pos = findPositionOfValue(slider, edges.getSpectrum(slider), value, edges.getTopEdge(slider), edges.getBottomEdge(slider), detail);\n      const thumbRadius = get$d(thumb.element) / 2;\n      set$8(thumb.element, 'top', pos - thumbRadius + 'px');\n    };\n    const onLeft$1 = Optional.none;\n    const onRight$1 = Optional.none;\n    const onUp$1 = handleMovement$1(-1);\n    const onDown$1 = handleMovement$1(1);\n    const edgeActions$1 = {\n      'top-left': Optional.none(),\n      'top': Optional.some(setToTEdge),\n      'top-right': Optional.none(),\n      'right': Optional.none(),\n      'bottom-right': Optional.none(),\n      'bottom': Optional.some(setToBEdge),\n      'bottom-left': Optional.none(),\n      'left': Optional.none()\n    };\n\n    var VerticalModel = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        setValueFrom: setValueFrom$1,\n        setToMin: setToMin$1,\n        setToMax: setToMax$1,\n        findValueOfOffset: findValueOfOffset,\n        getValueFromEvent: getValueFromEvent$1,\n        findPositionOfValue: findPositionOfValue,\n        setPositionFromValue: setPositionFromValue$1,\n        onLeft: onLeft$1,\n        onRight: onRight$1,\n        onUp: onUp$1,\n        onDown: onDown$1,\n        edgeActions: edgeActions$1\n    });\n\n    const fireSliderChange = (spectrum, value) => {\n      emitWith(spectrum, sliderChangeEvent(), {\n        value\n      });\n    };\n    const sliderValue = (x, y) => ({\n      x,\n      y\n    });\n    const setValueFrom = (spectrum, detail, value) => {\n      const xValue = findValueOfOffset$1(spectrum, detail, value.left);\n      const yValue = findValueOfOffset(spectrum, detail, value.top);\n      const val = sliderValue(xValue, yValue);\n      fireSliderChange(spectrum, val);\n      return val;\n    };\n    const moveBy = (direction, isVerticalMovement, spectrum, detail, useMultiplier) => {\n      const f = direction > 0 ? increaseBy : reduceBy;\n      const xValue = isVerticalMovement ? currentValue(detail).x : f(currentValue(detail).x, minX(detail), maxX(detail), step(detail, useMultiplier));\n      const yValue = !isVerticalMovement ? currentValue(detail).y : f(currentValue(detail).y, minY(detail), maxY(detail), step(detail, useMultiplier));\n      fireSliderChange(spectrum, sliderValue(xValue, yValue));\n      return Optional.some(xValue);\n    };\n    const handleMovement = (direction, isVerticalMovement) => (spectrum, detail, useMultiplier) => moveBy(direction, isVerticalMovement, spectrum, detail, useMultiplier).map(always);\n    const setToMin = (spectrum, detail) => {\n      const mX = minX(detail);\n      const mY = minY(detail);\n      fireSliderChange(spectrum, sliderValue(mX, mY));\n    };\n    const setToMax = (spectrum, detail) => {\n      const mX = maxX(detail);\n      const mY = maxY(detail);\n      fireSliderChange(spectrum, sliderValue(mX, mY));\n    };\n    const getValueFromEvent = simulatedEvent => getEventSource(simulatedEvent);\n    const setPositionFromValue = (slider, thumb, detail, edges) => {\n      const value = currentValue(detail);\n      const xPos = findPositionOfValue$1(slider, edges.getSpectrum(slider), value.x, edges.getLeftEdge(slider), edges.getRightEdge(slider), detail);\n      const yPos = findPositionOfValue(slider, edges.getSpectrum(slider), value.y, edges.getTopEdge(slider), edges.getBottomEdge(slider), detail);\n      const thumbXRadius = get$c(thumb.element) / 2;\n      const thumbYRadius = get$d(thumb.element) / 2;\n      set$8(thumb.element, 'left', xPos - thumbXRadius + 'px');\n      set$8(thumb.element, 'top', yPos - thumbYRadius + 'px');\n    };\n    const onLeft = handleMovement(-1, false);\n    const onRight = handleMovement(1, false);\n    const onUp = handleMovement(-1, true);\n    const onDown = handleMovement(1, true);\n    const edgeActions = {\n      'top-left': Optional.some(setToTLEdgeXY),\n      'top': Optional.some(setToTEdgeXY),\n      'top-right': Optional.some(setToTREdgeXY),\n      'right': Optional.some(setToREdgeXY),\n      'bottom-right': Optional.some(setToBREdgeXY),\n      'bottom': Optional.some(setToBEdgeXY),\n      'bottom-left': Optional.some(setToBLEdgeXY),\n      'left': Optional.some(setToLEdgeXY)\n    };\n\n    var TwoDModel = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        setValueFrom: setValueFrom,\n        setToMin: setToMin,\n        setToMax: setToMax,\n        getValueFromEvent: getValueFromEvent,\n        setPositionFromValue: setPositionFromValue,\n        onLeft: onLeft,\n        onRight: onRight,\n        onUp: onUp,\n        onDown: onDown,\n        edgeActions: edgeActions\n    });\n\n    const SliderSchema = [defaulted('stepSize', 1), defaulted('speedMultiplier', 10), defaulted('onChange', noop), defaulted('onChoose', noop), defaulted('onInit', noop), defaulted('onDragStart', noop), defaulted('onDragEnd', noop), defaulted('snapToGrid', false), defaulted('rounded', true), option$3('snapStart'), requiredOf('model', choose$1('mode', {\n      x: [defaulted('minX', 0), defaulted('maxX', 100), customField('value', spec => Cell(spec.mode.minX)), required$1('getInitialValue'), output$1('manager', HorizontalModel)],\n      y: [defaulted('minY', 0), defaulted('maxY', 100), customField('value', spec => Cell(spec.mode.minY)), required$1('getInitialValue'), output$1('manager', VerticalModel)],\n      xy: [defaulted('minX', 0), defaulted('maxX', 100), defaulted('minY', 0), defaulted('maxY', 100), customField('value', spec => Cell({\n        x: spec.mode.minX,\n        y: spec.mode.minY\n      })), required$1('getInitialValue'), output$1('manager', TwoDModel)]\n    })), field('sliderBehaviours', [Keying, Representing]), customField('mouseIsDown', () => Cell(false))];\n\n    const sketch$2 = (detail, components, _spec, _externals) => {\n      const getThumb = component => getPartOrDie(component, detail, 'thumb');\n      const getSpectrum = component => getPartOrDie(component, detail, 'spectrum');\n      const getLeftEdge = component => getPart(component, detail, 'left-edge');\n      const getRightEdge = component => getPart(component, detail, 'right-edge');\n      const getTopEdge = component => getPart(component, detail, 'top-edge');\n      const getBottomEdge = component => getPart(component, detail, 'bottom-edge');\n      const modelDetail = detail.model;\n      const model = modelDetail.manager;\n      const refresh = (slider, thumb) => {\n        model.setPositionFromValue(slider, thumb, detail, {\n          getLeftEdge,\n          getRightEdge,\n          getTopEdge,\n          getBottomEdge,\n          getSpectrum\n        });\n      };\n      const setValue = (slider, newValue) => {\n        modelDetail.value.set(newValue);\n        const thumb = getThumb(slider);\n        refresh(slider, thumb);\n      };\n      const changeValue = (slider, newValue) => {\n        setValue(slider, newValue);\n        const thumb = getThumb(slider);\n        detail.onChange(slider, thumb, newValue);\n        return Optional.some(true);\n      };\n      const resetToMin = slider => {\n        model.setToMin(slider, detail);\n      };\n      const resetToMax = slider => {\n        model.setToMax(slider, detail);\n      };\n      const choose = slider => {\n        const fireOnChoose = () => {\n          getPart(slider, detail, 'thumb').each(thumb => {\n            const value = modelDetail.value.get();\n            detail.onChoose(slider, thumb, value);\n          });\n        };\n        const wasDown = detail.mouseIsDown.get();\n        detail.mouseIsDown.set(false);\n        if (wasDown) {\n          fireOnChoose();\n        }\n      };\n      const onDragStart = (slider, simulatedEvent) => {\n        simulatedEvent.stop();\n        detail.mouseIsDown.set(true);\n        detail.onDragStart(slider, getThumb(slider));\n      };\n      const onDragEnd = (slider, simulatedEvent) => {\n        simulatedEvent.stop();\n        detail.onDragEnd(slider, getThumb(slider));\n        choose(slider);\n      };\n      const focusWidget = component => {\n        getPart(component, detail, 'spectrum').map(Keying.focusIn);\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        behaviours: augment(detail.sliderBehaviours, [Keying.config({\n          mode: 'special',\n          focusIn: focusWidget\n        }), Representing.config({\n          store: {\n            mode: 'manual',\n            getValue: _ => {\n              return modelDetail.value.get();\n            },\n            setValue\n          }\n        }), Receiving.config({\n          channels: {\n            [mouseReleased()]: {\n              onReceive: choose\n            }\n          }\n        })]),\n        events: derive$2([run$1(sliderChangeEvent(), (slider, simulatedEvent) => {\n          changeValue(slider, simulatedEvent.event.value);\n        }), runOnAttached((slider, _simulatedEvent) => {\n          const getInitial = modelDetail.getInitialValue();\n          modelDetail.value.set(getInitial);\n          const thumb = getThumb(slider);\n          refresh(slider, thumb);\n          const spectrum = getSpectrum(slider);\n          detail.onInit(slider, thumb, spectrum, modelDetail.value.get());\n        }), run$1(touchstart(), onDragStart), run$1(touchend(), onDragEnd), run$1(mousedown(), (component, event) => {\n          focusWidget(component);\n          onDragStart(component, event);\n        }), run$1(mouseup(), onDragEnd)]),\n        apis: {\n          resetToMin,\n          resetToMax,\n          setValue,\n          refresh\n        },\n        domModification: {\n          styles: {\n            position: 'relative'\n          }\n        }\n      };\n    };\n\n    const Slider = composite({\n      name: 'Slider',\n      configFields: SliderSchema,\n      partFields: SliderParts,\n      factory: sketch$2,\n      apis: {\n        setValue: (apis, slider, value) => {\n          apis.setValue(slider, value);\n        },\n        resetToMin: (apis, slider) => {\n          apis.resetToMin(slider);\n        },\n        resetToMax: (apis, slider) => {\n          apis.resetToMax(slider);\n        },\n        refresh: (apis, slider) => {\n          apis.refresh(slider);\n        }\n      }\n    });\n\n    const fieldsUpdate = generate$6('rgb-hex-update');\n    const sliderUpdate = generate$6('slider-update');\n    const paletteUpdate = generate$6('palette-update');\n\n    const sliderFactory = (translate, getClass) => {\n      const spectrum = Slider.parts.spectrum({\n        dom: {\n          tag: 'div',\n          classes: [getClass('hue-slider-spectrum')],\n          attributes: {\n            role: 'presentation'\n          }\n        }\n      });\n      const thumb = Slider.parts.thumb({\n        dom: {\n          tag: 'div',\n          classes: [getClass('hue-slider-thumb')],\n          attributes: {\n            role: 'presentation'\n          }\n        }\n      });\n      return Slider.sketch({\n        dom: {\n          tag: 'div',\n          classes: [getClass('hue-slider')],\n          attributes: {\n            'role': 'slider',\n            'aria-valuemin': 0,\n            'aria-valuemax': 360,\n            'aria-valuenow': 120\n          }\n        },\n        rounded: false,\n        model: {\n          mode: 'y',\n          getInitialValue: constant$1(0)\n        },\n        components: [spectrum, thumb],\n        sliderBehaviours: derive$1([Focusing.config({})]),\n        onChange: (slider, _thumb, value) => {\n          set$9(slider.element, 'aria-valuenow', Math.floor(360 - value * 3.6));\n          emitWith(slider, sliderUpdate, {\n            value\n          });\n        }\n      });\n    };\n\n    const owner$1 = 'form';\n    const schema$i = [field('formBehaviours', [Representing])];\n    const getPartName$1 = name => '<alloy.field.' + name + '>';\n    const sketch$1 = fSpec => {\n      const parts = (() => {\n        const record = [];\n        const field = (name, config) => {\n          record.push(name);\n          return generateOne$1(owner$1, getPartName$1(name), config);\n        };\n        return {\n          field,\n          record: constant$1(record)\n        };\n      })();\n      const spec = fSpec(parts);\n      const partNames = parts.record();\n      const fieldParts = map$2(partNames, n => required({\n        name: n,\n        pname: getPartName$1(n)\n      }));\n      return composite$1(owner$1, schema$i, fieldParts, make$4, spec);\n    };\n    const toResult = (o, e) => o.fold(() => Result.error(e), Result.value);\n    const make$4 = (detail, components) => ({\n      uid: detail.uid,\n      dom: detail.dom,\n      components,\n      behaviours: augment(detail.formBehaviours, [Representing.config({\n        store: {\n          mode: 'manual',\n          getValue: form => {\n            const resPs = getAllParts(form, detail);\n            return map$1(resPs, (resPThunk, pName) => resPThunk().bind(v => {\n              const opt = Composing.getCurrent(v);\n              return toResult(opt, new Error(\"Cannot find a current component to extract the value from for form part '\".concat(pName, \"': \") + element(v.element)));\n            }).map(Representing.getValue));\n          },\n          setValue: (form, values) => {\n            each(values, (newValue, key) => {\n              getPart(form, detail, key).each(wrapper => {\n                Composing.getCurrent(wrapper).each(field => {\n                  Representing.setValue(field, newValue);\n                });\n              });\n            });\n          }\n        }\n      })]),\n      apis: {\n        getField: (form, key) => {\n          return getPart(form, detail, key).bind(Composing.getCurrent);\n        }\n      }\n    });\n    const Form = {\n      getField: makeApi((apis, component, key) => apis.getField(component, key)),\n      sketch: sketch$1\n    };\n\n    const validInput = generate$6('valid-input');\n    const invalidInput = generate$6('invalid-input');\n    const validatingInput = generate$6('validating-input');\n    const translatePrefix = 'colorcustom.rgb.';\n    const rgbFormFactory = (translate, getClass, onValidHexx, onInvalidHexx) => {\n      const invalidation = (label, isValid) => Invalidating.config({\n        invalidClass: getClass('invalid'),\n        notify: {\n          onValidate: comp => {\n            emitWith(comp, validatingInput, {\n              type: label\n            });\n          },\n          onValid: comp => {\n            emitWith(comp, validInput, {\n              type: label,\n              value: Representing.getValue(comp)\n            });\n          },\n          onInvalid: comp => {\n            emitWith(comp, invalidInput, {\n              type: label,\n              value: Representing.getValue(comp)\n            });\n          }\n        },\n        validator: {\n          validate: comp => {\n            const value = Representing.getValue(comp);\n            const res = isValid(value) ? Result.value(true) : Result.error(translate('aria.input.invalid'));\n            return Future.pure(res);\n          },\n          validateOnLoad: false\n        }\n      });\n      const renderTextField = (isValid, name, label, description, data) => {\n        const helptext = translate(translatePrefix + 'range');\n        const pLabel = FormField.parts.label({\n          dom: {\n            tag: 'label',\n            attributes: {\n              'aria-label': description\n            }\n          },\n          components: [text$2(label)]\n        });\n        const pField = FormField.parts.field({\n          data,\n          factory: Input,\n          inputAttributes: {\n            type: 'text',\n            ...(name === 'hex' ? {\n              'aria-live': 'polite'\n            } : {})\n          },\n          inputClasses: [getClass('textfield')],\n          inputBehaviours: derive$1([invalidation(name, isValid), Tabstopping.config({})]),\n          onSetValue: input => {\n            if (Invalidating.isInvalid(input)) {\n              const run = Invalidating.run(input);\n              run.get(noop);\n            }\n          }\n        });\n        const comps = [pLabel, pField];\n        const concats = name !== 'hex' ? [FormField.parts['aria-descriptor']({\n          text: helptext\n        })] : [];\n        const components = comps.concat(concats);\n        return {\n          dom: {\n            tag: 'div',\n            attributes: {\n              role: 'presentation'\n            }\n          },\n          components\n        };\n      };\n      const copyRgbToHex = (form, rgba) => {\n        const hex = fromRgba(rgba);\n        Form.getField(form, 'hex').each(hexField => {\n          if (!Focusing.isFocused(hexField)) {\n            Representing.setValue(form, {\n              hex: hex.value\n            });\n          }\n        });\n        return hex;\n      };\n      const copyRgbToForm = (form, rgb) => {\n        const red = rgb.red;\n        const green = rgb.green;\n        const blue = rgb.blue;\n        Representing.setValue(form, {\n          red,\n          green,\n          blue\n        });\n      };\n      const memPreview = record({\n        dom: {\n          tag: 'div',\n          classes: [getClass('rgba-preview')],\n          styles: {\n            'background-color': 'white'\n          },\n          attributes: {\n            role: 'presentation'\n          }\n        }\n      });\n      const updatePreview = (anyInSystem, hex) => {\n        memPreview.getOpt(anyInSystem).each(preview => {\n          set$8(preview.element, 'background-color', '#' + hex.value);\n        });\n      };\n      const factory = () => {\n        const state = {\n          red: Cell(Optional.some(255)),\n          green: Cell(Optional.some(255)),\n          blue: Cell(Optional.some(255)),\n          hex: Cell(Optional.some('ffffff'))\n        };\n        const copyHexToRgb = (form, hex) => {\n          const rgb = fromHex(hex);\n          copyRgbToForm(form, rgb);\n          setValueRgb(rgb);\n        };\n        const get = prop => state[prop].get();\n        const set = (prop, value) => {\n          state[prop].set(value);\n        };\n        const getValueRgb = () => get('red').bind(red => get('green').bind(green => get('blue').map(blue => rgbaColour(red, green, blue, 1))));\n        const setValueRgb = rgb => {\n          const red = rgb.red;\n          const green = rgb.green;\n          const blue = rgb.blue;\n          set('red', Optional.some(red));\n          set('green', Optional.some(green));\n          set('blue', Optional.some(blue));\n        };\n        const onInvalidInput = (form, simulatedEvent) => {\n          const data = simulatedEvent.event;\n          if (data.type !== 'hex') {\n            set(data.type, Optional.none());\n          } else {\n            onInvalidHexx(form);\n          }\n        };\n        const onValidHex = (form, value) => {\n          onValidHexx(form);\n          const hex = hexColour(value);\n          set('hex', Optional.some(hex.value));\n          const rgb = fromHex(hex);\n          copyRgbToForm(form, rgb);\n          setValueRgb(rgb);\n          emitWith(form, fieldsUpdate, {\n            hex\n          });\n          updatePreview(form, hex);\n        };\n        const onValidRgb = (form, prop, value) => {\n          const val = parseInt(value, 10);\n          set(prop, Optional.some(val));\n          getValueRgb().each(rgb => {\n            const hex = copyRgbToHex(form, rgb);\n            emitWith(form, fieldsUpdate, {\n              hex\n            });\n            updatePreview(form, hex);\n          });\n        };\n        const isHexInputEvent = data => data.type === 'hex';\n        const onValidInput = (form, simulatedEvent) => {\n          const data = simulatedEvent.event;\n          if (isHexInputEvent(data)) {\n            onValidHex(form, data.value);\n          } else {\n            onValidRgb(form, data.type, data.value);\n          }\n        };\n        const formPartStrings = key => ({\n          label: translate(translatePrefix + key + '.label'),\n          description: translate(translatePrefix + key + '.description')\n        });\n        const redStrings = formPartStrings('red');\n        const greenStrings = formPartStrings('green');\n        const blueStrings = formPartStrings('blue');\n        const hexStrings = formPartStrings('hex');\n        return deepMerge(Form.sketch(parts => ({\n          dom: {\n            tag: 'form',\n            classes: [getClass('rgb-form')],\n            attributes: {\n              'aria-label': translate('aria.color.picker')\n            }\n          },\n          components: [parts.field('red', FormField.sketch(renderTextField(isRgbaComponent, 'red', redStrings.label, redStrings.description, 255))), parts.field('green', FormField.sketch(renderTextField(isRgbaComponent, 'green', greenStrings.label, greenStrings.description, 255))), parts.field('blue', FormField.sketch(renderTextField(isRgbaComponent, 'blue', blueStrings.label, blueStrings.description, 255))), parts.field('hex', FormField.sketch(renderTextField(isHexString, 'hex', hexStrings.label, hexStrings.description, 'ffffff'))), memPreview.asSpec()],\n          formBehaviours: derive$1([Invalidating.config({\n            invalidClass: getClass('form-invalid')\n          }), config('rgb-form-events', [run$1(validInput, onValidInput), run$1(invalidInput, onInvalidInput), run$1(validatingInput, onInvalidInput)])])\n        })), {\n          apis: {\n            updateHex: (form, hex) => {\n              Representing.setValue(form, {\n                hex: hex.value\n              });\n              copyHexToRgb(form, hex);\n              updatePreview(form, hex);\n            }\n          }\n        });\n      };\n      const rgbFormSketcher = single({\n        factory,\n        name: 'RgbForm',\n        configFields: [],\n        apis: {\n          updateHex: (apis, form, hex) => {\n            apis.updateHex(form, hex);\n          }\n        },\n        extraApis: {}\n      });\n      return rgbFormSketcher;\n    };\n\n    const paletteFactory = (translate, getClass) => {\n      const spectrumPart = Slider.parts.spectrum({\n        dom: {\n          tag: 'canvas',\n          attributes: {\n            role: 'presentation'\n          },\n          classes: [getClass('sv-palette-spectrum')]\n        }\n      });\n      const thumbPart = Slider.parts.thumb({\n        dom: {\n          tag: 'div',\n          attributes: {\n            role: 'presentation'\n          },\n          classes: [getClass('sv-palette-thumb')],\n          innerHtml: \"<div class=\".concat(getClass('sv-palette-inner-thumb'), \" role=\\\"presentation\\\"><\/div>\")\n        }\n      });\n      const setColour = (canvas, rgba) => {\n        const {\n          width,\n          height\n        } = canvas;\n        const ctx = canvas.getContext('2d');\n        if (ctx === null) {\n          return;\n        }\n        ctx.fillStyle = rgba;\n        ctx.fillRect(0, 0, width, height);\n        const grdWhite = ctx.createLinearGradient(0, 0, width, 0);\n        grdWhite.addColorStop(0, 'rgba(255,255,255,1)');\n        grdWhite.addColorStop(1, 'rgba(255,255,255,0)');\n        ctx.fillStyle = grdWhite;\n        ctx.fillRect(0, 0, width, height);\n        const grdBlack = ctx.createLinearGradient(0, 0, 0, height);\n        grdBlack.addColorStop(0, 'rgba(0,0,0,0)');\n        grdBlack.addColorStop(1, 'rgba(0,0,0,1)');\n        ctx.fillStyle = grdBlack;\n        ctx.fillRect(0, 0, width, height);\n      };\n      const setPaletteHue = (slider, hue) => {\n        const canvas = slider.components()[0].element.dom;\n        const hsv = hsvColour(hue, 100, 100);\n        const rgba = fromHsv(hsv);\n        setColour(canvas, toString(rgba));\n      };\n      const setPaletteThumb = (slider, hex) => {\n        const hsv = fromRgb(fromHex(hex));\n        Slider.setValue(slider, {\n          x: hsv.saturation,\n          y: 100 - hsv.value\n        });\n        set$9(slider.element, 'aria-valuetext', translate(['Saturation {0}%, Brightness {1}%', hsv.saturation, hsv.value]));\n      };\n      const factory = _detail => {\n        const getInitialValue = constant$1({\n          x: 0,\n          y: 0\n        });\n        const onChange = (slider, _thumb, value) => {\n          if (!isNumber(value)) {\n            set$9(slider.element, 'aria-valuetext', translate(['Saturation {0}%, Brightness {1}%', Math.floor(value.x), Math.floor(100 - value.y)]));\n          }\n          emitWith(slider, paletteUpdate, {\n            value\n          });\n        };\n        const onInit = (_slider, _thumb, spectrum, _value) => {\n          setColour(spectrum.element.dom, toString(red));\n        };\n        const sliderBehaviours = derive$1([Composing.config({\n          find: Optional.some\n        }), Focusing.config({})]);\n        return Slider.sketch({\n          dom: {\n            tag: 'div',\n            attributes: {\n              'role': 'slider',\n              'aria-valuetext': translate(['Saturation {0}%, Brightness {1}%', 0, 0])\n            },\n            classes: [getClass('sv-palette')]\n          },\n          model: {\n            mode: 'xy',\n            getInitialValue\n          },\n          rounded: false,\n          components: [spectrumPart, thumbPart],\n          onChange,\n          onInit,\n          sliderBehaviours\n        });\n      };\n      const saturationBrightnessPaletteSketcher = single({\n        factory,\n        name: 'SaturationBrightnessPalette',\n        configFields: [],\n        apis: {\n          setHue: (_apis, slider, hue) => {\n            setPaletteHue(slider, hue);\n          },\n          setThumb: (_apis, slider, hex) => {\n            setPaletteThumb(slider, hex);\n          }\n        },\n        extraApis: {}\n      });\n      return saturationBrightnessPaletteSketcher;\n    };\n\n    const makeFactory = (translate, getClass) => {\n      const factory = detail => {\n        const rgbForm = rgbFormFactory(translate, getClass, detail.onValidHex, detail.onInvalidHex);\n        const sbPalette = paletteFactory(translate, getClass);\n        const hueSliderToDegrees = hue => (100 - hue) / 100 * 360;\n        const hueDegreesToSlider = hue => 100 - hue / 360 * 100;\n        const state = {\n          paletteRgba: Cell(red),\n          paletteHue: Cell(0)\n        };\n        const memSlider = record(sliderFactory(translate, getClass));\n        const memPalette = record(sbPalette.sketch({}));\n        const memRgb = record(rgbForm.sketch({}));\n        const updatePalette = (anyInSystem, _hex, hue) => {\n          memPalette.getOpt(anyInSystem).each(palette => {\n            sbPalette.setHue(palette, hue);\n          });\n        };\n        const updateFields = (anyInSystem, hex) => {\n          memRgb.getOpt(anyInSystem).each(form => {\n            rgbForm.updateHex(form, hex);\n          });\n        };\n        const updateSlider = (anyInSystem, _hex, hue) => {\n          memSlider.getOpt(anyInSystem).each(slider => {\n            Slider.setValue(slider, hueDegreesToSlider(hue));\n          });\n        };\n        const updatePaletteThumb = (anyInSystem, hex) => {\n          memPalette.getOpt(anyInSystem).each(palette => {\n            sbPalette.setThumb(palette, hex);\n          });\n        };\n        const updateState = (hex, hue) => {\n          const rgba = fromHex(hex);\n          state.paletteRgba.set(rgba);\n          state.paletteHue.set(hue);\n        };\n        const runUpdates = (anyInSystem, hex, hue, updates) => {\n          updateState(hex, hue);\n          each$1(updates, update => {\n            update(anyInSystem, hex, hue);\n          });\n        };\n        const onPaletteUpdate = () => {\n          const updates = [updateFields];\n          return (form, simulatedEvent) => {\n            const value = simulatedEvent.event.value;\n            const oldHue = state.paletteHue.get();\n            const newHsv = hsvColour(oldHue, value.x, 100 - value.y);\n            const newHex = hsvToHex(newHsv);\n            runUpdates(form, newHex, oldHue, updates);\n          };\n        };\n        const onSliderUpdate = () => {\n          const updates = [updatePalette, updateFields];\n          return (form, simulatedEvent) => {\n            const hue = hueSliderToDegrees(simulatedEvent.event.value);\n            const oldRgb = state.paletteRgba.get();\n            const oldHsv = fromRgb(oldRgb);\n            const newHsv = hsvColour(hue, oldHsv.saturation, oldHsv.value);\n            const newHex = hsvToHex(newHsv);\n            runUpdates(form, newHex, hue, updates);\n          };\n        };\n        const onFieldsUpdate = () => {\n          const updates = [updatePalette, updateSlider, updatePaletteThumb];\n          return (form, simulatedEvent) => {\n            const hex = simulatedEvent.event.hex;\n            const hsv = hexToHsv(hex);\n            runUpdates(form, hex, hsv.hue, updates);\n          };\n        };\n        return {\n          uid: detail.uid,\n          dom: detail.dom,\n          components: [memPalette.asSpec(), memSlider.asSpec(), memRgb.asSpec()],\n          behaviours: derive$1([config('colour-picker-events', [run$1(fieldsUpdate, onFieldsUpdate()), run$1(paletteUpdate, onPaletteUpdate()), run$1(sliderUpdate, onSliderUpdate())]), Composing.config({\n            find: comp => memRgb.getOpt(comp)\n          }), Keying.config({\n            mode: 'acyclic'\n          })])\n        };\n      };\n      const colourPickerSketcher = single({\n        name: 'ColourPicker',\n        configFields: [required$1('dom'), defaulted('onValidHex', noop), defaulted('onInvalidHex', noop)],\n        factory\n      });\n      return colourPickerSketcher;\n    };\n\n    const self = () => Composing.config({\n      find: Optional.some\n    });\n    const memento$1 = mem => Composing.config({\n      find: mem.getOpt\n    });\n    const childAt = index => Composing.config({\n      find: comp => child$2(comp.element, index).bind(element => comp.getSystem().getByDom(element).toOptional())\n    });\n    const ComposingConfigs = {\n      self,\n      memento: memento$1,\n      childAt\n    };\n\n    const processors = objOf([defaulted('preprocess', identity), defaulted('postprocess', identity)]);\n    const memento = (mem, rawProcessors) => {\n      const ps = asRawOrDie$1('RepresentingConfigs.memento processors', processors, rawProcessors);\n      return Representing.config({\n        store: {\n          mode: 'manual',\n          getValue: comp => {\n            const other = mem.get(comp);\n            const rawValue = Representing.getValue(other);\n            return ps.postprocess(rawValue);\n          },\n          setValue: (comp, rawValue) => {\n            const newValue = ps.preprocess(rawValue);\n            const other = mem.get(comp);\n            Representing.setValue(other, newValue);\n          }\n        }\n      });\n    };\n    const withComp = (optInitialValue, getter, setter) => Representing.config({\n      store: {\n        mode: 'manual',\n        ...optInitialValue.map(initialValue => ({\n          initialValue\n        })).getOr({}),\n        getValue: getter,\n        setValue: setter\n      }\n    });\n    const withElement = (initialValue, getter, setter) => withComp(initialValue, c => getter(c.element), (c, v) => setter(c.element, v));\n    const domHtml = optInitialValue => withElement(optInitialValue, get$9, set$6);\n    const memory = initialValue => Representing.config({\n      store: {\n        mode: 'memory',\n        initialValue\n      }\n    });\n\n    const english = {\n      'colorcustom.rgb.red.label': 'R',\n      'colorcustom.rgb.red.description': 'Red component',\n      'colorcustom.rgb.green.label': 'G',\n      'colorcustom.rgb.green.description': 'Green component',\n      'colorcustom.rgb.blue.label': 'B',\n      'colorcustom.rgb.blue.description': 'Blue component',\n      'colorcustom.rgb.hex.label': '#',\n      'colorcustom.rgb.hex.description': 'Hex color code',\n      'colorcustom.rgb.range': 'Range 0 to 255',\n      'aria.color.picker': 'Color Picker',\n      'aria.input.invalid': 'Invalid input'\n    };\n    const translate$1 = providerBackstage => key => {\n      if (isString(key)) {\n        return providerBackstage.translate(english[key]);\n      } else {\n        return providerBackstage.translate(key);\n      }\n    };\n    const renderColorPicker = (_spec, providerBackstage, initialData) => {\n      const getClass = key => 'tox-' + key;\n      const colourPickerFactory = makeFactory(translate$1(providerBackstage), getClass);\n      const onValidHex = form => {\n        emitWith(form, formActionEvent, {\n          name: 'hex-valid',\n          value: true\n        });\n      };\n      const onInvalidHex = form => {\n        emitWith(form, formActionEvent, {\n          name: 'hex-valid',\n          value: false\n        });\n      };\n      const memPicker = record(colourPickerFactory.sketch({\n        dom: {\n          tag: 'div',\n          classes: [getClass('color-picker-container')],\n          attributes: {\n            role: 'presentation'\n          }\n        },\n        onValidHex,\n        onInvalidHex\n      }));\n      return {\n        dom: {\n          tag: 'div'\n        },\n        components: [memPicker.asSpec()],\n        behaviours: derive$1([withComp(initialData, comp => {\n          const picker = memPicker.get(comp);\n          const optRgbForm = Composing.getCurrent(picker);\n          const optHex = optRgbForm.bind(rgbForm => {\n            const formValues = Representing.getValue(rgbForm);\n            return formValues.hex;\n          });\n          return optHex.map(hex => '#' + removeLeading(hex, '#')).getOr('');\n        }, (comp, newValue) => {\n          const pattern = /^#([a-fA-F0-9]{3}(?:[a-fA-F0-9]{3})?)/;\n          const valOpt = Optional.from(pattern.exec(newValue)).bind(matches => get$h(matches, 1));\n          const picker = memPicker.get(comp);\n          const optRgbForm = Composing.getCurrent(picker);\n          optRgbForm.fold(() => {\n            console.log('Can not find form');\n          }, rgbForm => {\n            Representing.setValue(rgbForm, {\n              hex: valOpt.getOr('')\n            });\n            Form.getField(rgbForm, 'hex').each(hexField => {\n              emit(hexField, input());\n            });\n          });\n        }), ComposingConfigs.self()])\n      };\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.Resource');\n\n    const isOldCustomEditor = spec => has$2(spec, 'init');\n    const renderCustomEditor = spec => {\n      const editorApi = value$2();\n      const memReplaced = record({\n        dom: {\n          tag: spec.tag\n        }\n      });\n      const initialValue = value$2();\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-custom-editor']\n        },\n        behaviours: derive$1([config('custom-editor-events', [runOnAttached(component => {\n          memReplaced.getOpt(component).each(ta => {\n            (isOldCustomEditor(spec) ? spec.init(ta.element.dom) : global$2.load(spec.scriptId, spec.scriptUrl).then(init => init(ta.element.dom, spec.settings))).then(ea => {\n              initialValue.on(cvalue => {\n                ea.setValue(cvalue);\n              });\n              initialValue.clear();\n              editorApi.set(ea);\n            });\n          });\n        })]), withComp(Optional.none(), () => editorApi.get().fold(() => initialValue.get().getOr(''), ed => ed.getValue()), (component, value) => {\n          editorApi.get().fold(() => initialValue.set(value), ed => ed.setValue(value));\n        }), ComposingConfigs.self()]),\n        components: [memReplaced.asSpec()]\n      };\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const filterByExtension = (files, providersBackstage) => {\n      const allowedImageFileTypes = global$1.explode(providersBackstage.getOption('images_file_types'));\n      const isFileInAllowedTypes = file => exists(allowedImageFileTypes, type => endsWith(file.name.toLowerCase(), \".\".concat(type.toLowerCase())));\n      return filter$2(from(files), isFileInAllowedTypes);\n    };\n    const renderDropZone = (spec, providersBackstage, initialData) => {\n      const stopper = (_, se) => {\n        se.stop();\n      };\n      const sequence = actions => (comp, se) => {\n        each$1(actions, a => {\n          a(comp, se);\n        });\n      };\n      const onDrop = (comp, se) => {\n        var _a;\n        if (!Disabling.isDisabled(comp)) {\n          const transferEvent = se.event.raw;\n          handleFiles(comp, (_a = transferEvent.dataTransfer) === null || _a === void 0 ? void 0 : _a.files);\n        }\n      };\n      const onSelect = (component, simulatedEvent) => {\n        const input = simulatedEvent.event.raw.target;\n        handleFiles(component, input.files);\n      };\n      const handleFiles = (component, files) => {\n        if (files) {\n          Representing.setValue(component, filterByExtension(files, providersBackstage));\n          emitWith(component, formChangeEvent, {\n            name: spec.name\n          });\n        }\n      };\n      const memInput = record({\n        dom: {\n          tag: 'input',\n          attributes: {\n            type: 'file',\n            accept: 'image/*'\n          },\n          styles: {\n            display: 'none'\n          }\n        },\n        behaviours: derive$1([config('input-file-events', [cutter(click()), cutter(tap())])])\n      });\n      const renderField = s => ({\n        uid: s.uid,\n        dom: {\n          tag: 'div',\n          classes: ['tox-dropzone-container']\n        },\n        behaviours: derive$1([memory(initialData.getOr([])), ComposingConfigs.self(), Disabling.config({}), Toggling.config({\n          toggleClass: 'dragenter',\n          toggleOnExecute: false\n        }), config('dropzone-events', [run$1('dragenter', sequence([stopper, Toggling.toggle])), run$1('dragleave', sequence([stopper, Toggling.toggle])), run$1('dragover', stopper), run$1('drop', sequence([stopper, onDrop])), run$1(change(), onSelect)])]),\n        components: [{\n          dom: {\n            tag: 'div',\n            classes: ['tox-dropzone'],\n            styles: {}\n          },\n          components: [{\n            dom: {\n              tag: 'p'\n            },\n            components: [text$2(providersBackstage.translate('Drop an image here'))]\n          }, Button.sketch({\n            dom: {\n              tag: 'button',\n              styles: {\n                position: 'relative'\n              },\n              classes: ['tox-button', 'tox-button--secondary']\n            },\n            components: [text$2(providersBackstage.translate('Browse for an image')), memInput.asSpec()],\n            action: comp => {\n              const inputComp = memInput.get(comp);\n              inputComp.element.dom.click();\n            },\n            buttonBehaviours: derive$1([Tabstopping.config({}), DisablingConfigs.button(providersBackstage.isDisabled), receivingConfig()])\n          })]\n        }]\n      });\n      const pLabel = spec.label.map(label => renderLabel$3(label, providersBackstage));\n      const pField = FormField.parts.field({\n        factory: {\n          sketch: renderField\n        }\n      });\n      return renderFormFieldWith(pLabel, pField, ['tox-form__group--stretched'], []);\n    };\n\n    const renderGrid = (spec, backstage) => ({\n      dom: {\n        tag: 'div',\n        classes: ['tox-form__grid', \"tox-form__grid--\".concat(spec.columns, \"col\")]\n      },\n      components: map$2(spec.items, backstage.interpreter)\n    });\n\n    const adaptable = (fn, rate) => {\n      let timer = null;\n      let args = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n          args = null;\n        }\n      };\n      const throttle = (...newArgs) => {\n        args = newArgs;\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            const tempArgs = args;\n            timer = null;\n            args = null;\n            fn.apply(null, tempArgs);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n    const first = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n    const last = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const beforeObject = generate$6('alloy-fake-before-tabstop');\n    const afterObject = generate$6('alloy-fake-after-tabstop');\n    const craftWithClasses = classes => {\n      return {\n        dom: {\n          tag: 'div',\n          styles: {\n            width: '1px',\n            height: '1px',\n            outline: 'none'\n          },\n          attributes: {\n            tabindex: '0'\n          },\n          classes\n        },\n        behaviours: derive$1([Focusing.config({\n          ignore: true\n        }), Tabstopping.config({})])\n      };\n    };\n    const craft = (containerClasses, spec) => {\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-navobj', ...containerClasses.getOr([])]\n        },\n        components: [craftWithClasses([beforeObject]), spec, craftWithClasses([afterObject])],\n        behaviours: derive$1([ComposingConfigs.childAt(1)])\n      };\n    };\n    const triggerTab = (placeholder, shiftKey) => {\n      emitWith(placeholder, keydown(), {\n        raw: {\n          which: 9,\n          shiftKey\n        }\n      });\n    };\n    const onFocus = (container, targetComp) => {\n      const target = targetComp.element;\n      if (has(target, beforeObject)) {\n        triggerTab(container, true);\n      } else if (has(target, afterObject)) {\n        triggerTab(container, false);\n      }\n    };\n    const isPseudoStop = element => {\n      return closest(element, ['.' + beforeObject, '.' + afterObject].join(','), never);\n    };\n\n    const dialogChannel = generate$6('update-dialog');\n    const titleChannel = generate$6('update-title');\n    const bodyChannel = generate$6('update-body');\n    const footerChannel = generate$6('update-footer');\n    const bodySendMessageChannel = generate$6('body-send-message');\n    const dialogFocusShiftedChannel = generate$6('dialog-focus-shifted');\n\n    const browser = detect$2().browser;\n    const isSafari = browser.isSafari();\n    const isFirefox = browser.isFirefox();\n    const isSafariOrFirefox = isSafari || isFirefox;\n    const isChromium = browser.isChromium();\n    const isElementScrollAtBottom = ({\n      scrollTop,\n      scrollHeight,\n      clientHeight\n    }) => Math.ceil(scrollTop) + clientHeight >= scrollHeight;\n    const scrollToY = (win, y) => win.scrollTo(0, y === 'bottom' ? 99999999 : y);\n    const getScrollingElement = (doc, html) => {\n      const body = doc.body;\n      return Optional.from(!/^<!DOCTYPE (html|HTML)/.test(html) && (!isChromium && !isSafari || isNonNullable(body) && (body.scrollTop !== 0 || Math.abs(body.scrollHeight - body.clientHeight) > 1)) ? body : doc.documentElement);\n    };\n    const writeValue = (iframeElement, html, fallbackFn) => {\n      const iframe = iframeElement.dom;\n      Optional.from(iframe.contentDocument).fold(fallbackFn, doc => {\n        let lastScrollTop = 0;\n        const isScrollAtBottom = getScrollingElement(doc, html).map(el => {\n          lastScrollTop = el.scrollTop;\n          return el;\n        }).forall(isElementScrollAtBottom);\n        const scrollAfterWrite = () => {\n          const win = iframe.contentWindow;\n          if (isNonNullable(win)) {\n            if (isScrollAtBottom) {\n              scrollToY(win, 'bottom');\n            } else if (!isScrollAtBottom && isSafariOrFirefox && lastScrollTop !== 0) {\n              scrollToY(win, lastScrollTop);\n            }\n          }\n        };\n        if (isSafari) {\n          iframe.addEventListener('load', scrollAfterWrite, {\n            once: true\n          });\n        }\n        doc.open();\n        doc.write(html);\n        doc.close();\n        if (!isSafari) {\n          scrollAfterWrite();\n        }\n      });\n    };\n    const throttleInterval = someIf(isSafariOrFirefox, isSafari ? 500 : 200);\n    const writeValueThrottler = throttleInterval.map(interval => adaptable(writeValue, interval));\n    const getDynamicSource = (initialData, stream) => {\n      const cachedValue = Cell(initialData.getOr(''));\n      return {\n        getValue: _frameComponent => cachedValue.get(),\n        setValue: (frameComponent, html) => {\n          if (cachedValue.get() !== html) {\n            const iframeElement = frameComponent.element;\n            const setSrcdocValue = () => set$9(iframeElement, 'srcdoc', html);\n            if (stream) {\n              writeValueThrottler.fold(constant$1(writeValue), throttler => throttler.throttle)(iframeElement, html, setSrcdocValue);\n            } else {\n              setSrcdocValue();\n            }\n          }\n          cachedValue.set(html);\n        }\n      };\n    };\n    const renderIFrame = (spec, providersBackstage, initialData) => {\n      const baseClass = 'tox-dialog__iframe';\n      const opaqueClass = spec.transparent ? [] : [\"\".concat(baseClass, \"--opaque\")];\n      const containerBorderedClass = spec.border ? [\"tox-navobj-bordered\"] : [];\n      const attributes = {\n        ...spec.label.map(title => ({\n          title\n        })).getOr({}),\n        ...initialData.map(html => ({\n          srcdoc: html\n        })).getOr({}),\n        ...(spec.sandboxed ? {\n          sandbox: 'allow-scripts allow-same-origin'\n        } : {})\n      };\n      const sourcing = getDynamicSource(initialData, spec.streamContent);\n      const pLabel = spec.label.map(label => renderLabel$3(label, providersBackstage));\n      const factory = newSpec => craft(Optional.from(containerBorderedClass), {\n        uid: newSpec.uid,\n        dom: {\n          tag: 'iframe',\n          attributes,\n          classes: [baseClass, ...opaqueClass]\n        },\n        behaviours: derive$1([Tabstopping.config({}), Focusing.config({}), withComp(initialData, sourcing.getValue, sourcing.setValue), Receiving.config({\n          channels: {\n            [dialogFocusShiftedChannel]: {\n              onReceive: (comp, message) => {\n                message.newFocus.each(newFocus => {\n                  parentElement(comp.element).each(parent => {\n                    const f = eq(comp.element, newFocus) ? add$2 : remove$2;\n                    f(parent, 'tox-navobj-bordered-focus');\n                  });\n                });\n              }\n            }\n          }\n        })])\n      });\n      const pField = FormField.parts.field({\n        factory: {\n          sketch: factory\n        }\n      });\n      return renderFormFieldWith(pLabel, pField, ['tox-form__group--stretched'], []);\n    };\n\n    const image = image => new Promise((resolve, reject) => {\n      const loaded = () => {\n        destroy();\n        resolve(image);\n      };\n      const listeners = [bind(image, 'load', loaded), bind(image, 'error', () => {\n        destroy();\n        reject('Unable to load data from image: ' + image.dom.src);\n      })];\n      const destroy = () => each$1(listeners, l => l.unbind());\n      if (image.dom.complete) {\n        loaded();\n      }\n    });\n\n    const calculateImagePosition = (panelWidth, panelHeight, imageWidth, imageHeight, zoom) => {\n      const width = imageWidth * zoom;\n      const height = imageHeight * zoom;\n      const left = Math.max(0, panelWidth / 2 - width / 2);\n      const top = Math.max(0, panelHeight / 2 - height / 2);\n      return {\n        left: left.toString() + 'px',\n        top: top.toString() + 'px',\n        width: width.toString() + 'px',\n        height: height.toString() + 'px'\n      };\n    };\n    const zoomToFit = (panel, width, height) => {\n      const panelW = get$c(panel);\n      const panelH = get$d(panel);\n      return Math.min(panelW / width, panelH / height, 1);\n    };\n    const renderImagePreview = (spec, initialData) => {\n      const cachedData = Cell(initialData.getOr({\n        url: ''\n      }));\n      const memImage = record({\n        dom: {\n          tag: 'img',\n          classes: ['tox-imagepreview__image'],\n          attributes: initialData.map(data => ({\n            src: data.url\n          })).getOr({})\n        }\n      });\n      const memContainer = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-imagepreview__container'],\n          attributes: {\n            role: 'presentation'\n          }\n        },\n        components: [memImage.asSpec()]\n      });\n      const setValue = (frameComponent, data) => {\n        const translatedData = {\n          url: data.url\n        };\n        data.zoom.each(z => translatedData.zoom = z);\n        data.cachedWidth.each(z => translatedData.cachedWidth = z);\n        data.cachedHeight.each(z => translatedData.cachedHeight = z);\n        cachedData.set(translatedData);\n        const applyFramePositioning = () => {\n          const {\n            cachedWidth,\n            cachedHeight,\n            zoom\n          } = translatedData;\n          if (!isUndefined(cachedWidth) && !isUndefined(cachedHeight)) {\n            if (isUndefined(zoom)) {\n              const z = zoomToFit(frameComponent.element, cachedWidth, cachedHeight);\n              translatedData.zoom = z;\n            }\n            const position = calculateImagePosition(get$c(frameComponent.element), get$d(frameComponent.element), cachedWidth, cachedHeight, translatedData.zoom);\n            memContainer.getOpt(frameComponent).each(container => {\n              setAll(container.element, position);\n            });\n          }\n        };\n        memImage.getOpt(frameComponent).each(imageComponent => {\n          const img = imageComponent.element;\n          if (data.url !== get$f(img, 'src')) {\n            set$9(img, 'src', data.url);\n            remove$2(frameComponent.element, 'tox-imagepreview__loaded');\n          }\n          applyFramePositioning();\n          image(img).then(img => {\n            if (frameComponent.getSystem().isConnected()) {\n              add$2(frameComponent.element, 'tox-imagepreview__loaded');\n              translatedData.cachedWidth = img.dom.naturalWidth;\n              translatedData.cachedHeight = img.dom.naturalHeight;\n              applyFramePositioning();\n            }\n          });\n        });\n      };\n      const styles = {};\n      spec.height.each(h => styles.height = h);\n      const fakeValidatedData = initialData.map(d => ({\n        url: d.url,\n        zoom: Optional.from(d.zoom),\n        cachedWidth: Optional.from(d.cachedWidth),\n        cachedHeight: Optional.from(d.cachedHeight)\n      }));\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-imagepreview'],\n          styles,\n          attributes: {\n            role: 'presentation'\n          }\n        },\n        components: [memContainer.asSpec()],\n        behaviours: derive$1([ComposingConfigs.self(), withComp(fakeValidatedData, () => cachedData.get(), setValue)])\n      };\n    };\n\n    const renderLabel$2 = (spec, backstageShared) => {\n      const baseClass = 'tox-label';\n      const centerClass = spec.align === 'center' ? [\"\".concat(baseClass, \"--center\")] : [];\n      const endClass = spec.align === 'end' ? [\"\".concat(baseClass, \"--end\")] : [];\n      const label = {\n        dom: {\n          tag: 'label',\n          classes: [baseClass, ...centerClass, ...endClass]\n        },\n        components: [text$2(backstageShared.providers.translate(spec.label))]\n      };\n      const comps = map$2(spec.items, backstageShared.interpreter);\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components: [label, ...comps],\n        behaviours: derive$1([ComposingConfigs.self(), Replacing.config({}), domHtml(Optional.none()), Keying.config({\n          mode: 'acyclic'\n        })])\n      };\n    };\n\n    const internalToolbarButtonExecute = generate$6('toolbar.button.execute');\n    const onToolbarButtonExecute = info => runOnExecute$1((comp, _simulatedEvent) => {\n      runWithApi(info, comp)(itemApi => {\n        emitWith(comp, internalToolbarButtonExecute, {\n          buttonApi: itemApi\n        });\n        info.onAction(itemApi);\n      });\n    });\n    const commonButtonDisplayEvent = generate$6('common-button-display-events');\n    const toolbarButtonEventOrder = {\n      [execute$5()]: ['disabling', 'alloy.base.behaviour', 'toggling', 'toolbar-button-events'],\n      [attachedToDom()]: ['toolbar-button-events', commonButtonDisplayEvent],\n      [mousedown()]: ['focusing', 'alloy.base.behaviour', commonButtonDisplayEvent]\n    };\n\n    const forceInitialSize = comp => set$8(comp.element, 'width', get$e(comp.element, 'width'));\n\n    const renderIcon$1 = (iconName, iconsProvider, behaviours) => render$3(iconName, {\n      tag: 'span',\n      classes: ['tox-icon', 'tox-tbtn__icon-wrap'],\n      behaviours\n    }, iconsProvider);\n    const renderIconFromPack$1 = (iconName, iconsProvider) => renderIcon$1(iconName, iconsProvider, []);\n    const renderReplaceableIconFromPack = (iconName, iconsProvider) => renderIcon$1(iconName, iconsProvider, [Replacing.config({})]);\n    const renderLabel$1 = (text, prefix, providersBackstage) => ({\n      dom: {\n        tag: 'span',\n        classes: [\"\".concat(prefix, \"__select-label\")]\n      },\n      components: [text$2(providersBackstage.translate(text))],\n      behaviours: derive$1([Replacing.config({})])\n    });\n\n    const updateMenuText = generate$6('update-menu-text');\n    const updateMenuIcon = generate$6('update-menu-icon');\n    const renderCommonDropdown = (spec, prefix, sharedBackstage) => {\n      const editorOffCell = Cell(noop);\n      const optMemDisplayText = spec.text.map(text => record(renderLabel$1(text, prefix, sharedBackstage.providers)));\n      const optMemDisplayIcon = spec.icon.map(iconName => record(renderReplaceableIconFromPack(iconName, sharedBackstage.providers.icons)));\n      const onLeftOrRightInMenu = (comp, se) => {\n        const dropdown = Representing.getValue(comp);\n        Focusing.focus(dropdown);\n        emitWith(dropdown, 'keydown', {\n          raw: se.event.raw\n        });\n        Dropdown.close(dropdown);\n        return Optional.some(true);\n      };\n      const role = spec.role.fold(() => ({}), role => ({\n        role\n      }));\n      const tooltipAttributes = spec.tooltip.fold(() => ({}), tooltip => {\n        const translatedTooltip = sharedBackstage.providers.translate(tooltip);\n        return {\n          'title': translatedTooltip,\n          'aria-label': translatedTooltip\n        };\n      });\n      const iconSpec = render$3('chevron-down', {\n        tag: 'div',\n        classes: [\"\".concat(prefix, \"__select-chevron\")]\n      }, sharedBackstage.providers.icons);\n      const fixWidthBehaviourName = generate$6('common-button-display-events');\n      const memDropdown = record(Dropdown.sketch({\n        ...(spec.uid ? {\n          uid: spec.uid\n        } : {}),\n        ...role,\n        dom: {\n          tag: 'button',\n          classes: [prefix, \"\".concat(prefix, \"--select\")].concat(map$2(spec.classes, c => \"\".concat(prefix, \"--\").concat(c))),\n          attributes: {\n            ...tooltipAttributes\n          }\n        },\n        components: componentRenderPipeline([optMemDisplayIcon.map(mem => mem.asSpec()), optMemDisplayText.map(mem => mem.asSpec()), Optional.some(iconSpec)]),\n        matchWidth: true,\n        useMinWidth: true,\n        onOpen: (anchor, dropdownComp, tmenuComp) => {\n          if (spec.searchable) {\n            focusSearchField(tmenuComp);\n          }\n        },\n        dropdownBehaviours: derive$1([...spec.dropdownBehaviours, DisablingConfigs.button(() => spec.disabled || sharedBackstage.providers.isDisabled()), receivingConfig(), Unselecting.config({}), Replacing.config({}), config('dropdown-events', [onControlAttached(spec, editorOffCell), onControlDetached(spec, editorOffCell)]), config(fixWidthBehaviourName, [runOnAttached((comp, _se) => forceInitialSize(comp))]), config('menubutton-update-display-text', [run$1(updateMenuText, (comp, se) => {\n          optMemDisplayText.bind(mem => mem.getOpt(comp)).each(displayText => {\n            Replacing.set(displayText, [text$2(sharedBackstage.providers.translate(se.event.text))]);\n          });\n        }), run$1(updateMenuIcon, (comp, se) => {\n          optMemDisplayIcon.bind(mem => mem.getOpt(comp)).each(displayIcon => {\n            Replacing.set(displayIcon, [renderReplaceableIconFromPack(se.event.icon, sharedBackstage.providers.icons)]);\n          });\n        })])]),\n        eventOrder: deepMerge(toolbarButtonEventOrder, {\n          mousedown: ['focusing', 'alloy.base.behaviour', 'item-type-events', 'normal-dropdown-events'],\n          [attachedToDom()]: ['toolbar-button-events', 'dropdown-events', fixWidthBehaviourName]\n        }),\n        sandboxBehaviours: derive$1([Keying.config({\n          mode: 'special',\n          onLeft: onLeftOrRightInMenu,\n          onRight: onLeftOrRightInMenu\n        }), config('dropdown-sandbox-events', [run$1(refetchTriggerEvent, (originalSandboxComp, se) => {\n          handleRefetchTrigger(originalSandboxComp);\n          se.stop();\n        }), run$1(redirectMenuItemInteractionEvent, (sandboxComp, se) => {\n          handleRedirectToMenuItem(sandboxComp, se);\n          se.stop();\n        })])]),\n        lazySink: sharedBackstage.getSink,\n        toggleClass: \"\".concat(prefix, \"--active\"),\n        parts: {\n          menu: {\n            ...part(false, spec.columns, spec.presets),\n            fakeFocus: spec.searchable,\n            onHighlightItem: updateAriaOnHighlight,\n            onCollapseMenu: (tmenuComp, itemCompCausingCollapse, nowActiveMenuComp) => {\n              Highlighting.getHighlighted(nowActiveMenuComp).each(itemComp => {\n                updateAriaOnHighlight(tmenuComp, nowActiveMenuComp, itemComp);\n              });\n            },\n            onDehighlightItem: updateAriaOnDehighlight\n          }\n        },\n        getAnchorOverrides: () => {\n          return {\n            maxHeightFunction: (element, available) => {\n              anchored()(element, available - 10);\n            }\n          };\n        },\n        fetch: comp => Future.nu(curry(spec.fetch, comp))\n      }));\n      return memDropdown.asSpec();\n    };\n\n    const isMenuItemReference = item => isString(item);\n    const isSeparator$2 = item => item.type === 'separator';\n    const isExpandingMenuItem = item => has$2(item, 'getSubmenuItems');\n    const separator$2 = {\n      type: 'separator'\n    };\n    const unwrapReferences = (items, menuItems) => {\n      const realItems = foldl(items, (acc, item) => {\n        if (isMenuItemReference(item)) {\n          if (item === '') {\n            return acc;\n          } else if (item === '|') {\n            return acc.length > 0 && !isSeparator$2(acc[acc.length - 1]) ? acc.concat([separator$2]) : acc;\n          } else if (has$2(menuItems, item.toLowerCase())) {\n            return acc.concat([menuItems[item.toLowerCase()]]);\n          } else {\n            return acc;\n          }\n        } else {\n          return acc.concat([item]);\n        }\n      }, []);\n      if (realItems.length > 0 && isSeparator$2(realItems[realItems.length - 1])) {\n        realItems.pop();\n      }\n      return realItems;\n    };\n    const getFromExpandingItem = (item, menuItems) => {\n      const submenuItems = item.getSubmenuItems();\n      const rest = expand(submenuItems, menuItems);\n      const newMenus = deepMerge(rest.menus, {\n        [item.value]: rest.items\n      });\n      const newExpansions = deepMerge(rest.expansions, {\n        [item.value]: item.value\n      });\n      return {\n        item,\n        menus: newMenus,\n        expansions: newExpansions\n      };\n    };\n    const generateValueIfRequired = item => {\n      const itemValue = get$g(item, 'value').getOrThunk(() => generate$6('generated-menu-item'));\n      return deepMerge({\n        value: itemValue\n      }, item);\n    };\n    const expand = (items, menuItems) => {\n      const realItems = unwrapReferences(isString(items) ? items.split(' ') : items, menuItems);\n      return foldr(realItems, (acc, item) => {\n        if (isExpandingMenuItem(item)) {\n          const itemWithValue = generateValueIfRequired(item);\n          const newData = getFromExpandingItem(itemWithValue, menuItems);\n          return {\n            menus: deepMerge(acc.menus, newData.menus),\n            items: [newData.item, ...acc.items],\n            expansions: deepMerge(acc.expansions, newData.expansions)\n          };\n        } else {\n          return {\n            ...acc,\n            items: [item, ...acc.items]\n          };\n        }\n      }, {\n        menus: {},\n        expansions: {},\n        items: []\n      });\n    };\n\n    const getSearchModeForField = settings => {\n      return settings.search.fold(() => ({\n        searchMode: 'no-search'\n      }), searchSettings => ({\n        searchMode: 'search-with-field',\n        placeholder: searchSettings.placeholder\n      }));\n    };\n    const getSearchModeForResults = settings => {\n      return settings.search.fold(() => ({\n        searchMode: 'no-search'\n      }), _ => ({\n        searchMode: 'search-with-results'\n      }));\n    };\n    const build = (items, itemResponse, backstage, settings) => {\n      const primary = generate$6('primary-menu');\n      const data = expand(items, backstage.shared.providers.menuItems());\n      if (data.items.length === 0) {\n        return Optional.none();\n      }\n      const mainMenuSearchMode = getSearchModeForField(settings);\n      const mainMenu = createPartialMenu(primary, data.items, itemResponse, backstage, settings.isHorizontalMenu, mainMenuSearchMode);\n      const submenuSearchMode = getSearchModeForResults(settings);\n      const submenus = map$1(data.menus, (menuItems, menuName) => createPartialMenu(menuName, menuItems, itemResponse, backstage, false, submenuSearchMode));\n      const menus = deepMerge(submenus, wrap$1(primary, mainMenu));\n      return Optional.from(tieredMenu.tieredData(primary, menus, data.expansions));\n    };\n\n    const isSingleListItem = item => !has$2(item, 'items');\n    const dataAttribute = 'data-value';\n    const fetchItems = (dropdownComp, name, items, selectedValue) => map$2(items, item => {\n      if (!isSingleListItem(item)) {\n        return {\n          type: 'nestedmenuitem',\n          text: item.text,\n          getSubmenuItems: () => fetchItems(dropdownComp, name, item.items, selectedValue)\n        };\n      } else {\n        return {\n          type: 'togglemenuitem',\n          text: item.text,\n          value: item.value,\n          active: item.value === selectedValue,\n          onAction: () => {\n            Representing.setValue(dropdownComp, item.value);\n            emitWith(dropdownComp, formChangeEvent, {\n              name\n            });\n            Focusing.focus(dropdownComp);\n          }\n        };\n      }\n    });\n    const findItemByValue = (items, value) => findMap(items, item => {\n      if (!isSingleListItem(item)) {\n        return findItemByValue(item.items, value);\n      } else {\n        return someIf(item.value === value, item);\n      }\n    });\n    const renderListBox = (spec, backstage, initialData) => {\n      const providersBackstage = backstage.shared.providers;\n      const initialItem = initialData.bind(value => findItemByValue(spec.items, value)).orThunk(() => head(spec.items).filter(isSingleListItem));\n      const pLabel = spec.label.map(label => renderLabel$3(label, providersBackstage));\n      const pField = FormField.parts.field({\n        dom: {},\n        factory: {\n          sketch: sketchSpec => renderCommonDropdown({\n            uid: sketchSpec.uid,\n            text: initialItem.map(item => item.text),\n            icon: Optional.none(),\n            tooltip: spec.label,\n            role: Optional.none(),\n            fetch: (comp, callback) => {\n              const items = fetchItems(comp, spec.name, spec.items, Representing.getValue(comp));\n              callback(build(items, ItemResponse$1.CLOSE_ON_EXECUTE, backstage, {\n                isHorizontalMenu: false,\n                search: Optional.none()\n              }));\n            },\n            onSetup: constant$1(noop),\n            getApi: constant$1({}),\n            columns: 1,\n            presets: 'normal',\n            classes: [],\n            dropdownBehaviours: [Tabstopping.config({}), withComp(initialItem.map(item => item.value), comp => get$f(comp.element, dataAttribute), (comp, data) => {\n              findItemByValue(spec.items, data).each(item => {\n                set$9(comp.element, dataAttribute, item.value);\n                emitWith(comp, updateMenuText, {\n                  text: item.text\n                });\n              });\n            })]\n          }, 'tox-listbox', backstage.shared)\n        }\n      });\n      const listBoxWrap = {\n        dom: {\n          tag: 'div',\n          classes: ['tox-listboxfield']\n        },\n        components: [pField]\n      };\n      return FormField.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components: flatten([pLabel.toArray(), [listBoxWrap]]),\n        fieldBehaviours: derive$1([Disabling.config({\n          disabled: constant$1(!spec.enabled),\n          onDisabled: comp => {\n            FormField.getField(comp).each(Disabling.disable);\n          },\n          onEnabled: comp => {\n            FormField.getField(comp).each(Disabling.enable);\n          }\n        })])\n      });\n    };\n\n    const renderPanel = (spec, backstage) => ({\n      dom: {\n        tag: 'div',\n        classes: spec.classes\n      },\n      components: map$2(spec.items, backstage.shared.interpreter)\n    });\n\n    const factory$h = (detail, _spec) => {\n      const options = map$2(detail.options, option => ({\n        dom: {\n          tag: 'option',\n          value: option.value,\n          innerHtml: option.text\n        }\n      }));\n      const initialValues = detail.data.map(v => wrap$1('initialValue', v)).getOr({});\n      return {\n        uid: detail.uid,\n        dom: {\n          tag: 'select',\n          classes: detail.selectClasses,\n          attributes: detail.selectAttributes\n        },\n        components: options,\n        behaviours: augment(detail.selectBehaviours, [Focusing.config({}), Representing.config({\n          store: {\n            mode: 'manual',\n            getValue: select => {\n              return get$6(select.element);\n            },\n            setValue: (select, newValue) => {\n              const firstOption = head(detail.options);\n              const found = find$5(detail.options, opt => opt.value === newValue);\n              if (found.isSome()) {\n                set$5(select.element, newValue);\n              } else if (select.element.dom.selectedIndex === -1 && newValue === '') {\n                firstOption.each(value => set$5(select.element, value.value));\n              }\n            },\n            ...initialValues\n          }\n        })])\n      };\n    };\n    const HtmlSelect = single({\n      name: 'HtmlSelect',\n      configFields: [required$1('options'), field('selectBehaviours', [Focusing, Representing]), defaulted('selectClasses', []), defaulted('selectAttributes', {}), option$3('data')],\n      factory: factory$h\n    });\n\n    const renderSelectBox = (spec, providersBackstage, initialData) => {\n      const translatedOptions = map$2(spec.items, item => ({\n        text: providersBackstage.translate(item.text),\n        value: item.value\n      }));\n      const pLabel = spec.label.map(label => renderLabel$3(label, providersBackstage));\n      const pField = FormField.parts.field({\n        dom: {},\n        ...initialData.map(data => ({\n          data\n        })).getOr({}),\n        selectAttributes: {\n          size: spec.size\n        },\n        options: translatedOptions,\n        factory: HtmlSelect,\n        selectBehaviours: derive$1([Disabling.config({\n          disabled: () => !spec.enabled || providersBackstage.isDisabled()\n        }), Tabstopping.config({}), config('selectbox-change', [run$1(change(), (component, _) => {\n          emitWith(component, formChangeEvent, {\n            name: spec.name\n          });\n        })])])\n      });\n      const chevron = spec.size > 1 ? Optional.none() : Optional.some(render$3('chevron-down', {\n        tag: 'div',\n        classes: ['tox-selectfield__icon-js']\n      }, providersBackstage.icons));\n      const selectWrap = {\n        dom: {\n          tag: 'div',\n          classes: ['tox-selectfield']\n        },\n        components: flatten([[pField], chevron.toArray()])\n      };\n      return FormField.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components: flatten([pLabel.toArray(), [selectWrap]]),\n        fieldBehaviours: derive$1([Disabling.config({\n          disabled: () => !spec.enabled || providersBackstage.isDisabled(),\n          onDisabled: comp => {\n            FormField.getField(comp).each(Disabling.disable);\n          },\n          onEnabled: comp => {\n            FormField.getField(comp).each(Disabling.enable);\n          }\n        }), receivingConfig()])\n      });\n    };\n\n    const schema$h = constant$1([defaulted('field1Name', 'field1'), defaulted('field2Name', 'field2'), onStrictHandler('onLockedChange'), markers$1(['lockClass']), defaulted('locked', false), SketchBehaviours.field('coupledFieldBehaviours', [Composing, Representing])]);\n    const getField = (comp, detail, partName) => getPart(comp, detail, partName).bind(Composing.getCurrent);\n    const coupledPart = (selfName, otherName) => required({\n      factory: FormField,\n      name: selfName,\n      overrides: detail => {\n        return {\n          fieldBehaviours: derive$1([config('coupled-input-behaviour', [run$1(input(), me => {\n            getField(me, detail, otherName).each(other => {\n              getPart(me, detail, 'lock').each(lock => {\n                if (Toggling.isOn(lock)) {\n                  detail.onLockedChange(me, other, lock);\n                }\n              });\n            });\n          })])])\n        };\n      }\n    });\n    const parts$c = constant$1([coupledPart('field1', 'field2'), coupledPart('field2', 'field1'), required({\n      factory: Button,\n      schema: [required$1('dom')],\n      name: 'lock',\n      overrides: detail => {\n        return {\n          buttonBehaviours: derive$1([Toggling.config({\n            selected: detail.locked,\n            toggleClass: detail.markers.lockClass,\n            aria: {\n              mode: 'pressed'\n            }\n          })])\n        };\n      }\n    })]);\n\n    const factory$g = (detail, components, _spec, _externals) => ({\n      uid: detail.uid,\n      dom: detail.dom,\n      components,\n      behaviours: SketchBehaviours.augment(detail.coupledFieldBehaviours, [Composing.config({\n        find: Optional.some\n      }), Representing.config({\n        store: {\n          mode: 'manual',\n          getValue: comp => {\n            const parts = getPartsOrDie(comp, detail, ['field1', 'field2']);\n            return {\n              [detail.field1Name]: Representing.getValue(parts.field1()),\n              [detail.field2Name]: Representing.getValue(parts.field2())\n            };\n          },\n          setValue: (comp, value) => {\n            const parts = getPartsOrDie(comp, detail, ['field1', 'field2']);\n            if (hasNonNullableKey(value, detail.field1Name)) {\n              Representing.setValue(parts.field1(), value[detail.field1Name]);\n            }\n            if (hasNonNullableKey(value, detail.field2Name)) {\n              Representing.setValue(parts.field2(), value[detail.field2Name]);\n            }\n          }\n        }\n      })]),\n      apis: {\n        getField1: component => getPart(component, detail, 'field1'),\n        getField2: component => getPart(component, detail, 'field2'),\n        getLock: component => getPart(component, detail, 'lock')\n      }\n    });\n    const FormCoupledInputs = composite({\n      name: 'FormCoupledInputs',\n      configFields: schema$h(),\n      partFields: parts$c(),\n      factory: factory$g,\n      apis: {\n        getField1: (apis, component) => apis.getField1(component),\n        getField2: (apis, component) => apis.getField2(component),\n        getLock: (apis, component) => apis.getLock(component)\n      }\n    });\n\n    const formatSize = size => {\n      const unitDec = {\n        '': 0,\n        'px': 0,\n        'pt': 1,\n        'mm': 1,\n        'pc': 2,\n        'ex': 2,\n        'em': 2,\n        'ch': 2,\n        'rem': 2,\n        'cm': 3,\n        'in': 4,\n        '%': 4\n      };\n      const maxDecimal = unit => unit in unitDec ? unitDec[unit] : 1;\n      let numText = size.value.toFixed(maxDecimal(size.unit));\n      if (numText.indexOf('.') !== -1) {\n        numText = numText.replace(/\\.?0*$/, '');\n      }\n      return numText + size.unit;\n    };\n    const parseSize = sizeText => {\n      const numPattern = /^\\s*(\\d+(?:\\.\\d+)?)\\s*(|cm|mm|in|px|pt|pc|em|ex|ch|rem|vw|vh|vmin|vmax|%)\\s*$/;\n      const match = numPattern.exec(sizeText);\n      if (match !== null) {\n        const value = parseFloat(match[1]);\n        const unit = match[2];\n        return Result.value({\n          value,\n          unit\n        });\n      } else {\n        return Result.error(sizeText);\n      }\n    };\n    const convertUnit = (size, unit) => {\n      const inInch = {\n        '': 96,\n        'px': 96,\n        'pt': 72,\n        'cm': 2.54,\n        'pc': 12,\n        'mm': 25.4,\n        'in': 1\n      };\n      const supported = u => has$2(inInch, u);\n      if (size.unit === unit) {\n        return Optional.some(size.value);\n      } else if (supported(size.unit) && supported(unit)) {\n        if (inInch[size.unit] === inInch[unit]) {\n          return Optional.some(size.value);\n        } else {\n          return Optional.some(size.value / inInch[size.unit] * inInch[unit]);\n        }\n      } else {\n        return Optional.none();\n      }\n    };\n    const noSizeConversion = _input => Optional.none();\n    const ratioSizeConversion = (scale, unit) => size => convertUnit(size, unit).map(value => ({\n      value: value * scale,\n      unit\n    }));\n    const makeRatioConverter = (currentFieldText, otherFieldText) => {\n      const cValue = parseSize(currentFieldText).toOptional();\n      const oValue = parseSize(otherFieldText).toOptional();\n      return lift2(cValue, oValue, (cSize, oSize) => convertUnit(cSize, oSize.unit).map(val => oSize.value / val).map(r => ratioSizeConversion(r, oSize.unit)).getOr(noSizeConversion)).getOr(noSizeConversion);\n    };\n\n    const renderSizeInput = (spec, providersBackstage) => {\n      let converter = noSizeConversion;\n      const ratioEvent = generate$6('ratio-event');\n      const makeIcon = iconName => render$3(iconName, {\n        tag: 'span',\n        classes: ['tox-icon', 'tox-lock-icon__' + iconName]\n      }, providersBackstage.icons);\n      const pLock = FormCoupledInputs.parts.lock({\n        dom: {\n          tag: 'button',\n          classes: ['tox-lock', 'tox-button', 'tox-button--naked', 'tox-button--icon'],\n          attributes: {\n            title: providersBackstage.translate(spec.label.getOr('Constrain proportions'))\n          }\n        },\n        components: [makeIcon('lock'), makeIcon('unlock')],\n        buttonBehaviours: derive$1([Disabling.config({\n          disabled: () => !spec.enabled || providersBackstage.isDisabled()\n        }), receivingConfig(), Tabstopping.config({})])\n      });\n      const formGroup = components => ({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components\n      });\n      const getFieldPart = isField1 => FormField.parts.field({\n        factory: Input,\n        inputClasses: ['tox-textfield'],\n        inputBehaviours: derive$1([Disabling.config({\n          disabled: () => !spec.enabled || providersBackstage.isDisabled()\n        }), receivingConfig(), Tabstopping.config({}), config('size-input-events', [run$1(focusin(), (component, _simulatedEvent) => {\n          emitWith(component, ratioEvent, {\n            isField1\n          });\n        }), run$1(change(), (component, _simulatedEvent) => {\n          emitWith(component, formChangeEvent, {\n            name: spec.name\n          });\n        })])]),\n        selectOnFocus: false\n      });\n      const getLabel = label => ({\n        dom: {\n          tag: 'label',\n          classes: ['tox-label']\n        },\n        components: [text$2(providersBackstage.translate(label))]\n      });\n      const widthField = FormCoupledInputs.parts.field1(formGroup([FormField.parts.label(getLabel('Width')), getFieldPart(true)]));\n      const heightField = FormCoupledInputs.parts.field2(formGroup([FormField.parts.label(getLabel('Height')), getFieldPart(false)]));\n      return FormCoupledInputs.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__group']\n        },\n        components: [{\n          dom: {\n            tag: 'div',\n            classes: ['tox-form__controls-h-stack']\n          },\n          components: [widthField, heightField, formGroup([getLabel(nbsp), pLock])]\n        }],\n        field1Name: 'width',\n        field2Name: 'height',\n        locked: true,\n        markers: {\n          lockClass: 'tox-locked'\n        },\n        onLockedChange: (current, other, _lock) => {\n          parseSize(Representing.getValue(current)).each(size => {\n            converter(size).each(newSize => {\n              Representing.setValue(other, formatSize(newSize));\n            });\n          });\n        },\n        coupledFieldBehaviours: derive$1([Disabling.config({\n          disabled: () => !spec.enabled || providersBackstage.isDisabled(),\n          onDisabled: comp => {\n            FormCoupledInputs.getField1(comp).bind(FormField.getField).each(Disabling.disable);\n            FormCoupledInputs.getField2(comp).bind(FormField.getField).each(Disabling.disable);\n            FormCoupledInputs.getLock(comp).each(Disabling.disable);\n          },\n          onEnabled: comp => {\n            FormCoupledInputs.getField1(comp).bind(FormField.getField).each(Disabling.enable);\n            FormCoupledInputs.getField2(comp).bind(FormField.getField).each(Disabling.enable);\n            FormCoupledInputs.getLock(comp).each(Disabling.enable);\n          }\n        }), receivingConfig(), config('size-input-events2', [run$1(ratioEvent, (component, simulatedEvent) => {\n          const isField1 = simulatedEvent.event.isField1;\n          const optCurrent = isField1 ? FormCoupledInputs.getField1(component) : FormCoupledInputs.getField2(component);\n          const optOther = isField1 ? FormCoupledInputs.getField2(component) : FormCoupledInputs.getField1(component);\n          const value1 = optCurrent.map(Representing.getValue).getOr('');\n          const value2 = optOther.map(Representing.getValue).getOr('');\n          converter = makeRatioConverter(value1, value2);\n        })])])\n      });\n    };\n\n    const renderSlider = (spec, providerBackstage, initialData) => {\n      const labelPart = Slider.parts.label({\n        dom: {\n          tag: 'label',\n          classes: ['tox-label']\n        },\n        components: [text$2(providerBackstage.translate(spec.label))]\n      });\n      const spectrum = Slider.parts.spectrum({\n        dom: {\n          tag: 'div',\n          classes: ['tox-slider__rail'],\n          attributes: {\n            role: 'presentation'\n          }\n        }\n      });\n      const thumb = Slider.parts.thumb({\n        dom: {\n          tag: 'div',\n          classes: ['tox-slider__handle'],\n          attributes: {\n            role: 'presentation'\n          }\n        }\n      });\n      return Slider.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-slider'],\n          attributes: {\n            role: 'presentation'\n          }\n        },\n        model: {\n          mode: 'x',\n          minX: spec.min,\n          maxX: spec.max,\n          getInitialValue: constant$1(initialData.getOrThunk(() => (Math.abs(spec.max) - Math.abs(spec.min)) / 2))\n        },\n        components: [labelPart, spectrum, thumb],\n        sliderBehaviours: derive$1([ComposingConfigs.self(), Focusing.config({})]),\n        onChoose: (component, thumb, value) => {\n          emitWith(component, formChangeEvent, {\n            name: spec.name,\n            value\n          });\n        }\n      });\n    };\n\n    const renderTable = (spec, providersBackstage) => {\n      const renderTh = text => ({\n        dom: {\n          tag: 'th',\n          innerHtml: providersBackstage.translate(text)\n        }\n      });\n      const renderHeader = header => ({\n        dom: {\n          tag: 'thead'\n        },\n        components: [{\n          dom: {\n            tag: 'tr'\n          },\n          components: map$2(header, renderTh)\n        }]\n      });\n      const renderTd = text => ({\n        dom: {\n          tag: 'td',\n          innerHtml: providersBackstage.translate(text)\n        }\n      });\n      const renderTr = row => ({\n        dom: {\n          tag: 'tr'\n        },\n        components: map$2(row, renderTd)\n      });\n      const renderRows = rows => ({\n        dom: {\n          tag: 'tbody'\n        },\n        components: map$2(rows, renderTr)\n      });\n      return {\n        dom: {\n          tag: 'table',\n          classes: ['tox-dialog__table']\n        },\n        components: [renderHeader(spec.header), renderRows(spec.cells)],\n        behaviours: derive$1([Tabstopping.config({}), Focusing.config({})])\n      };\n    };\n\n    const renderTextField = (spec, providersBackstage) => {\n      const pLabel = spec.label.map(label => renderLabel$3(label, providersBackstage));\n      const baseInputBehaviours = [Disabling.config({\n        disabled: () => spec.disabled || providersBackstage.isDisabled()\n      }), receivingConfig(), Keying.config({\n        mode: 'execution',\n        useEnter: spec.multiline !== true,\n        useControlEnter: spec.multiline === true,\n        execute: comp => {\n          emit(comp, formSubmitEvent);\n          return Optional.some(true);\n        }\n      }), config('textfield-change', [run$1(input(), (component, _) => {\n        emitWith(component, formChangeEvent, {\n          name: spec.name\n        });\n      }), run$1(postPaste(), (component, _) => {\n        emitWith(component, formChangeEvent, {\n          name: spec.name\n        });\n      })]), Tabstopping.config({})];\n      const validatingBehaviours = spec.validation.map(vl => Invalidating.config({\n        getRoot: input => {\n          return parentElement(input.element);\n        },\n        invalidClass: 'tox-invalid',\n        validator: {\n          validate: input => {\n            const v = Representing.getValue(input);\n            const result = vl.validator(v);\n            return Future.pure(result === true ? Result.value(v) : Result.error(result));\n          },\n          validateOnLoad: vl.validateOnLoad\n        }\n      })).toArray();\n      const placeholder = spec.placeholder.fold(constant$1({}), p => ({\n        placeholder: providersBackstage.translate(p)\n      }));\n      const inputMode = spec.inputMode.fold(constant$1({}), mode => ({\n        inputmode: mode\n      }));\n      const inputAttributes = {\n        ...placeholder,\n        ...inputMode\n      };\n      const pField = FormField.parts.field({\n        tag: spec.multiline === true ? 'textarea' : 'input',\n        ...spec.data.map(data => ({\n          data\n        })).getOr({}),\n        inputAttributes,\n        inputClasses: [spec.classname],\n        inputBehaviours: derive$1(flatten([baseInputBehaviours, validatingBehaviours])),\n        selectOnFocus: false,\n        factory: Input\n      });\n      const pTextField = spec.multiline ? {\n        dom: {\n          tag: 'div',\n          classes: ['tox-textarea-wrap']\n        },\n        components: [pField]\n      } : pField;\n      const extraClasses = spec.flex ? ['tox-form__group--stretched'] : [];\n      const extraClasses2 = extraClasses.concat(spec.maximized ? ['tox-form-group--maximize'] : []);\n      const extraBehaviours = [Disabling.config({\n        disabled: () => spec.disabled || providersBackstage.isDisabled(),\n        onDisabled: comp => {\n          FormField.getField(comp).each(Disabling.disable);\n        },\n        onEnabled: comp => {\n          FormField.getField(comp).each(Disabling.enable);\n        }\n      }), receivingConfig()];\n      return renderFormFieldWith(pLabel, pTextField, extraClasses2, extraBehaviours);\n    };\n    const renderInput = (spec, providersBackstage, initialData) => renderTextField({\n      name: spec.name,\n      multiline: false,\n      label: spec.label,\n      inputMode: spec.inputMode,\n      placeholder: spec.placeholder,\n      flex: false,\n      disabled: !spec.enabled,\n      classname: 'tox-textfield',\n      validation: Optional.none(),\n      maximized: spec.maximized,\n      data: initialData\n    }, providersBackstage);\n    const renderTextarea = (spec, providersBackstage, initialData) => renderTextField({\n      name: spec.name,\n      multiline: true,\n      label: spec.label,\n      inputMode: Optional.none(),\n      placeholder: spec.placeholder,\n      flex: true,\n      disabled: !spec.enabled,\n      classname: 'tox-textarea',\n      validation: Optional.none(),\n      maximized: spec.maximized,\n      data: initialData\n    }, providersBackstage);\n\n    const getAnimationRoot = (component, slideConfig) => slideConfig.getAnimationRoot.fold(() => component.element, get => get(component));\n\n    const getDimensionProperty = slideConfig => slideConfig.dimension.property;\n    const getDimension = (slideConfig, elem) => slideConfig.dimension.getDimension(elem);\n    const disableTransitions = (component, slideConfig) => {\n      const root = getAnimationRoot(component, slideConfig);\n      remove$1(root, [slideConfig.shrinkingClass, slideConfig.growingClass]);\n    };\n    const setShrunk = (component, slideConfig) => {\n      remove$2(component.element, slideConfig.openClass);\n      add$2(component.element, slideConfig.closedClass);\n      set$8(component.element, getDimensionProperty(slideConfig), '0px');\n      reflow(component.element);\n    };\n    const setGrown = (component, slideConfig) => {\n      remove$2(component.element, slideConfig.closedClass);\n      add$2(component.element, slideConfig.openClass);\n      remove$6(component.element, getDimensionProperty(slideConfig));\n    };\n    const doImmediateShrink = (component, slideConfig, slideState, _calculatedSize) => {\n      slideState.setCollapsed();\n      set$8(component.element, getDimensionProperty(slideConfig), getDimension(slideConfig, component.element));\n      disableTransitions(component, slideConfig);\n      setShrunk(component, slideConfig);\n      slideConfig.onStartShrink(component);\n      slideConfig.onShrunk(component);\n    };\n    const doStartShrink = (component, slideConfig, slideState, calculatedSize) => {\n      const size = calculatedSize.getOrThunk(() => getDimension(slideConfig, component.element));\n      slideState.setCollapsed();\n      set$8(component.element, getDimensionProperty(slideConfig), size);\n      reflow(component.element);\n      const root = getAnimationRoot(component, slideConfig);\n      remove$2(root, slideConfig.growingClass);\n      add$2(root, slideConfig.shrinkingClass);\n      setShrunk(component, slideConfig);\n      slideConfig.onStartShrink(component);\n    };\n    const doStartSmartShrink = (component, slideConfig, slideState) => {\n      const size = getDimension(slideConfig, component.element);\n      const shrinker = size === '0px' ? doImmediateShrink : doStartShrink;\n      shrinker(component, slideConfig, slideState, Optional.some(size));\n    };\n    const doStartGrow = (component, slideConfig, slideState) => {\n      const root = getAnimationRoot(component, slideConfig);\n      const wasShrinking = has(root, slideConfig.shrinkingClass);\n      const beforeSize = getDimension(slideConfig, component.element);\n      setGrown(component, slideConfig);\n      const fullSize = getDimension(slideConfig, component.element);\n      const startPartialGrow = () => {\n        set$8(component.element, getDimensionProperty(slideConfig), beforeSize);\n        reflow(component.element);\n      };\n      const startCompleteGrow = () => {\n        setShrunk(component, slideConfig);\n      };\n      const setStartSize = wasShrinking ? startPartialGrow : startCompleteGrow;\n      setStartSize();\n      remove$2(root, slideConfig.shrinkingClass);\n      add$2(root, slideConfig.growingClass);\n      setGrown(component, slideConfig);\n      set$8(component.element, getDimensionProperty(slideConfig), fullSize);\n      slideState.setExpanded();\n      slideConfig.onStartGrow(component);\n    };\n    const refresh$4 = (component, slideConfig, slideState) => {\n      if (slideState.isExpanded()) {\n        remove$6(component.element, getDimensionProperty(slideConfig));\n        const fullSize = getDimension(slideConfig, component.element);\n        set$8(component.element, getDimensionProperty(slideConfig), fullSize);\n      }\n    };\n    const grow = (component, slideConfig, slideState) => {\n      if (!slideState.isExpanded()) {\n        doStartGrow(component, slideConfig, slideState);\n      }\n    };\n    const shrink = (component, slideConfig, slideState) => {\n      if (slideState.isExpanded()) {\n        doStartSmartShrink(component, slideConfig, slideState);\n      }\n    };\n    const immediateShrink = (component, slideConfig, slideState) => {\n      if (slideState.isExpanded()) {\n        doImmediateShrink(component, slideConfig, slideState);\n      }\n    };\n    const hasGrown = (component, slideConfig, slideState) => slideState.isExpanded();\n    const hasShrunk = (component, slideConfig, slideState) => slideState.isCollapsed();\n    const isGrowing = (component, slideConfig, _slideState) => {\n      const root = getAnimationRoot(component, slideConfig);\n      return has(root, slideConfig.growingClass) === true;\n    };\n    const isShrinking = (component, slideConfig, _slideState) => {\n      const root = getAnimationRoot(component, slideConfig);\n      return has(root, slideConfig.shrinkingClass) === true;\n    };\n    const isTransitioning = (component, slideConfig, slideState) => isGrowing(component, slideConfig) || isShrinking(component, slideConfig);\n    const toggleGrow = (component, slideConfig, slideState) => {\n      const f = slideState.isExpanded() ? doStartSmartShrink : doStartGrow;\n      f(component, slideConfig, slideState);\n    };\n    const immediateGrow = (component, slideConfig, slideState) => {\n      if (!slideState.isExpanded()) {\n        setGrown(component, slideConfig);\n        set$8(component.element, getDimensionProperty(slideConfig), getDimension(slideConfig, component.element));\n        disableTransitions(component, slideConfig);\n        slideState.setExpanded();\n        slideConfig.onStartGrow(component);\n        slideConfig.onGrown(component);\n      }\n    };\n\n    var SlidingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        refresh: refresh$4,\n        grow: grow,\n        shrink: shrink,\n        immediateShrink: immediateShrink,\n        hasGrown: hasGrown,\n        hasShrunk: hasShrunk,\n        isGrowing: isGrowing,\n        isShrinking: isShrinking,\n        isTransitioning: isTransitioning,\n        toggleGrow: toggleGrow,\n        disableTransitions: disableTransitions,\n        immediateGrow: immediateGrow\n    });\n\n    const exhibit = (base, slideConfig, _slideState) => {\n      const expanded = slideConfig.expanded;\n      return expanded ? nu$7({\n        classes: [slideConfig.openClass],\n        styles: {}\n      }) : nu$7({\n        classes: [slideConfig.closedClass],\n        styles: wrap$1(slideConfig.dimension.property, '0px')\n      });\n    };\n    const events$6 = (slideConfig, slideState) => derive$2([runOnSource(transitionend(), (component, simulatedEvent) => {\n      const raw = simulatedEvent.event.raw;\n      if (raw.propertyName === slideConfig.dimension.property) {\n        disableTransitions(component, slideConfig);\n        if (slideState.isExpanded()) {\n          remove$6(component.element, slideConfig.dimension.property);\n        }\n        const notify = slideState.isExpanded() ? slideConfig.onGrown : slideConfig.onShrunk;\n        notify(component);\n      }\n    })]);\n\n    var ActiveSliding = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        exhibit: exhibit,\n        events: events$6\n    });\n\n    var SlidingSchema = [required$1('closedClass'), required$1('openClass'), required$1('shrinkingClass'), required$1('growingClass'), option$3('getAnimationRoot'), onHandler('onShrunk'), onHandler('onStartShrink'), onHandler('onGrown'), onHandler('onStartGrow'), defaulted('expanded', false), requiredOf('dimension', choose$1('property', {\n      width: [output$1('property', 'width'), output$1('getDimension', elem => get$c(elem) + 'px')],\n      height: [output$1('property', 'height'), output$1('getDimension', elem => get$d(elem) + 'px')]\n    }))];\n\n    const init$9 = spec => {\n      const state = Cell(spec.expanded);\n      const readState = () => 'expanded: ' + state.get();\n      return nu$8({\n        isExpanded: () => state.get() === true,\n        isCollapsed: () => state.get() === false,\n        setCollapsed: curry(state.set, false),\n        setExpanded: curry(state.set, true),\n        readState\n      });\n    };\n\n    var SlidingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$9\n    });\n\n    const Sliding = create$4({\n      fields: SlidingSchema,\n      name: 'sliding',\n      active: ActiveSliding,\n      apis: SlidingApis,\n      state: SlidingState\n    });\n\n    const getMenuButtonApi = component => ({\n      isEnabled: () => !Disabling.isDisabled(component),\n      setEnabled: state => Disabling.set(component, !state),\n      setActive: state => {\n        const elm = component.element;\n        if (state) {\n          add$2(elm, 'tox-tbtn--enabled');\n          set$9(elm, 'aria-pressed', true);\n        } else {\n          remove$2(elm, 'tox-tbtn--enabled');\n          remove$7(elm, 'aria-pressed');\n        }\n      },\n      isActive: () => has(component.element, 'tox-tbtn--enabled'),\n      setText: text => {\n        emitWith(component, updateMenuText, {\n          text\n        });\n      },\n      setIcon: icon => emitWith(component, updateMenuIcon, {\n        icon\n      })\n    });\n    const renderMenuButton = (spec, prefix, backstage, role, tabstopping = true) => {\n      return renderCommonDropdown({\n        text: spec.text,\n        icon: spec.icon,\n        tooltip: spec.tooltip,\n        searchable: spec.search.isSome(),\n        role,\n        fetch: (dropdownComp, callback) => {\n          const fetchContext = {\n            pattern: spec.search.isSome() ? getSearchPattern(dropdownComp) : ''\n          };\n          spec.fetch(items => {\n            callback(build(items, ItemResponse$1.CLOSE_ON_EXECUTE, backstage, {\n              isHorizontalMenu: false,\n              search: spec.search\n            }));\n          }, fetchContext, getMenuButtonApi(dropdownComp));\n        },\n        onSetup: spec.onSetup,\n        getApi: getMenuButtonApi,\n        columns: 1,\n        presets: 'normal',\n        classes: [],\n        dropdownBehaviours: [...(tabstopping ? [Tabstopping.config({})] : [])]\n      }, prefix, backstage.shared);\n    };\n    const getFetch = (items, getButton, backstage) => {\n      const getMenuItemAction = item => api => {\n        const newValue = !api.isActive();\n        api.setActive(newValue);\n        item.storage.set(newValue);\n        backstage.shared.getSink().each(sink => {\n          getButton().getOpt(sink).each(orig => {\n            focus$3(orig.element);\n            emitWith(orig, formActionEvent, {\n              name: item.name,\n              value: item.storage.get()\n            });\n          });\n        });\n      };\n      const getMenuItemSetup = item => api => {\n        api.setActive(item.storage.get());\n      };\n      return success => {\n        success(map$2(items, item => {\n          const text = item.text.fold(() => ({}), text => ({\n            text\n          }));\n          return {\n            type: item.type,\n            active: false,\n            ...text,\n            onAction: getMenuItemAction(item),\n            onSetup: getMenuItemSetup(item)\n          };\n        }));\n      };\n    };\n\n    const renderLabel = text => ({\n      dom: {\n        tag: 'span',\n        classes: ['tox-tree__label'],\n        attributes: {\n          'title': text,\n          'aria-label': text\n        }\n      },\n      components: [text$2(text)]\n    });\n    const leafLabelEventsId = generate$6('leaf-label-event-id');\n    const renderLeafLabel = ({\n      leaf,\n      onLeafAction,\n      visible,\n      treeId,\n      selectedId,\n      backstage\n    }) => {\n      const internalMenuButton = leaf.menu.map(btn => renderMenuButton(btn, 'tox-mbtn', backstage, Optional.none(), visible));\n      const components = [renderLabel(leaf.title)];\n      internalMenuButton.each(btn => components.push(btn));\n      return Button.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-tree--leaf__label', 'tox-trbtn'].concat(visible ? ['tox-tree--leaf__label--visible'] : [])\n        },\n        components,\n        role: 'treeitem',\n        action: button => {\n          onLeafAction(leaf.id);\n          button.getSystem().broadcastOn([\"update-active-item-\".concat(treeId)], {\n            value: leaf.id\n          });\n        },\n        eventOrder: {\n          [keydown()]: [leafLabelEventsId, 'keying']\n        },\n        buttonBehaviours: derive$1([...(visible ? [Tabstopping.config({})] : []), Toggling.config({\n          toggleClass: 'tox-trbtn--enabled',\n          toggleOnExecute: false,\n          aria: {\n            mode: 'selected'\n          }\n        }), Receiving.config({\n          channels: {\n            [\"update-active-item-\".concat(treeId)]: {\n              onReceive: (comp, message) => {\n                (message.value === leaf.id ? Toggling.on : Toggling.off)(comp);\n              }\n            }\n          }\n        }), config(leafLabelEventsId, [runOnAttached((comp, _se) => {\n          selectedId.each(id => {\n            const toggle = id === leaf.id ? Toggling.on : Toggling.off;\n            toggle(comp);\n          });\n        }), run$1(keydown(), (comp, se) => {\n          const isLeftArrowKey = se.event.raw.code === 'ArrowLeft';\n          const isRightArrowKey = se.event.raw.code === 'ArrowRight';\n          if (isLeftArrowKey) {\n            ancestor(comp.element, '.tox-tree--directory').each(dirElement => {\n              comp.getSystem().getByDom(dirElement).each(dirComp => {\n                child(dirElement, '.tox-tree--directory__label').each(dirLabelElement => {\n                  dirComp.getSystem().getByDom(dirLabelElement).each(Focusing.focus);\n                });\n              });\n            });\n            se.stop();\n          } else if (isRightArrowKey) {\n            se.stop();\n          }\n        })])])\n      });\n    };\n    const renderIcon = (iconName, iconsProvider, behaviours) => render$3(iconName, {\n      tag: 'span',\n      classes: ['tox-tree__icon-wrap', 'tox-icon'],\n      behaviours\n    }, iconsProvider);\n    const renderIconFromPack = (iconName, iconsProvider) => renderIcon(iconName, iconsProvider, []);\n    const directoryLabelEventsId = generate$6('directory-label-event-id');\n    const renderDirectoryLabel = ({\n      directory,\n      visible,\n      noChildren,\n      backstage\n    }) => {\n      const internalMenuButton = directory.menu.map(btn => renderMenuButton(btn, 'tox-mbtn', backstage, Optional.none()));\n      const components = [{\n        dom: {\n          tag: 'div',\n          classes: ['tox-chevron']\n        },\n        components: [renderIconFromPack('chevron-right', backstage.shared.providers.icons)]\n      }, renderLabel(directory.title)];\n      internalMenuButton.each(btn => {\n        components.push(btn);\n      });\n      const toggleExpandChildren = button => {\n        ancestor(button.element, '.tox-tree--directory').each(directoryEle => {\n          button.getSystem().getByDom(directoryEle).each(directoryComp => {\n            const willExpand = !Toggling.isOn(directoryComp);\n            Toggling.toggle(directoryComp);\n            emitWith(button, 'expand-tree-node', {\n              expanded: willExpand,\n              node: directory.id\n            });\n          });\n        });\n      };\n      return Button.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-tree--directory__label', 'tox-trbtn'].concat(visible ? ['tox-tree--directory__label--visible'] : [])\n        },\n        components,\n        action: toggleExpandChildren,\n        eventOrder: {\n          [keydown()]: [directoryLabelEventsId, 'keying']\n        },\n        buttonBehaviours: derive$1([...(visible ? [Tabstopping.config({})] : []), config(directoryLabelEventsId, [run$1(keydown(), (comp, se) => {\n          const isRightArrowKey = se.event.raw.code === 'ArrowRight';\n          const isLeftArrowKey = se.event.raw.code === 'ArrowLeft';\n          if (isRightArrowKey && noChildren) {\n            se.stop();\n          }\n          if (isRightArrowKey || isLeftArrowKey) {\n            ancestor(comp.element, '.tox-tree--directory').each(directoryEle => {\n              comp.getSystem().getByDom(directoryEle).each(directoryComp => {\n                if (!Toggling.isOn(directoryComp) && isRightArrowKey || Toggling.isOn(directoryComp) && isLeftArrowKey) {\n                  toggleExpandChildren(comp);\n                  se.stop();\n                } else if (isLeftArrowKey && !Toggling.isOn(directoryComp)) {\n                  ancestor(directoryComp.element, '.tox-tree--directory').each(parentDirElement => {\n                    child(parentDirElement, '.tox-tree--directory__label').each(parentDirLabelElement => {\n                      directoryComp.getSystem().getByDom(parentDirLabelElement).each(Focusing.focus);\n                    });\n                  });\n                  se.stop();\n                }\n              });\n            });\n          }\n        })])])\n      });\n    };\n    const renderDirectoryChildren = ({\n      children,\n      onLeafAction,\n      visible,\n      treeId,\n      expandedIds,\n      selectedId,\n      backstage\n    }) => {\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-tree--directory__children']\n        },\n        components: children.map(item => {\n          return item.type === 'leaf' ? renderLeafLabel({\n            leaf: item,\n            selectedId,\n            onLeafAction,\n            visible,\n            treeId,\n            backstage\n          }) : renderDirectory({\n            directory: item,\n            expandedIds,\n            selectedId,\n            onLeafAction,\n            labelTabstopping: visible,\n            treeId,\n            backstage\n          });\n        }),\n        behaviours: derive$1([Sliding.config({\n          dimension: {\n            property: 'height'\n          },\n          closedClass: 'tox-tree--directory__children--closed',\n          openClass: 'tox-tree--directory__children--open',\n          growingClass: 'tox-tree--directory__children--growing',\n          shrinkingClass: 'tox-tree--directory__children--shrinking',\n          expanded: visible\n        }), Replacing.config({})])\n      };\n    };\n    const directoryEventsId = generate$6('directory-event-id');\n    const renderDirectory = ({\n      directory,\n      onLeafAction,\n      labelTabstopping,\n      treeId,\n      backstage,\n      expandedIds,\n      selectedId\n    }) => {\n      const {\n        children\n      } = directory;\n      const expandedIdsCell = Cell(expandedIds);\n      const computedChildrenComponents = visible => children.map(item => {\n        return item.type === 'leaf' ? renderLeafLabel({\n          leaf: item,\n          selectedId,\n          onLeafAction,\n          visible,\n          treeId,\n          backstage\n        }) : renderDirectory({\n          directory: item,\n          expandedIds: expandedIdsCell.get(),\n          selectedId,\n          onLeafAction,\n          labelTabstopping: visible,\n          treeId,\n          backstage\n        });\n      });\n      const childrenVisible = expandedIds.includes(directory.id);\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-tree--directory'],\n          attributes: {\n            role: 'treeitem'\n          }\n        },\n        components: [renderDirectoryLabel({\n          directory,\n          visible: labelTabstopping,\n          noChildren: directory.children.length === 0,\n          backstage\n        }), renderDirectoryChildren({\n          children,\n          expandedIds,\n          selectedId,\n          onLeafAction,\n          visible: childrenVisible,\n          treeId,\n          backstage\n        })],\n        behaviours: derive$1([config(directoryEventsId, [runOnAttached((comp, _se) => {\n          Toggling.set(comp, childrenVisible);\n        }), run$1('expand-tree-node', (_cmp, se) => {\n          const {\n            expanded,\n            node\n          } = se.event;\n          expandedIdsCell.set(expanded ? [...expandedIdsCell.get(), node] : expandedIdsCell.get().filter(id => id !== node));\n        })]), Toggling.config({\n          ...(directory.children.length > 0 ? {\n            aria: {\n              mode: 'expanded'\n            }\n          } : {}),\n          toggleClass: 'tox-tree--directory--expanded',\n          onToggled: (comp, childrenVisible) => {\n            const childrenComp = comp.components()[1];\n            const newChildren = computedChildrenComponents(childrenVisible);\n            if (childrenVisible) {\n              Sliding.grow(childrenComp);\n            } else {\n              Sliding.shrink(childrenComp);\n            }\n            Replacing.set(childrenComp, newChildren);\n          }\n        })])\n      };\n    };\n    const treeEventsId = generate$6('tree-event-id');\n    const renderTree = (spec, backstage) => {\n      const onLeafAction = spec.onLeafAction.getOr(noop);\n      const onToggleExpand = spec.onToggleExpand.getOr(noop);\n      const defaultExpandedIds = spec.defaultExpandedIds;\n      const expandedIds = Cell(defaultExpandedIds);\n      const selectedIdCell = Cell(spec.defaultSelectedId);\n      const treeId = generate$6('tree-id');\n      const children = (selectedId, expandedIds) => spec.items.map(item => {\n        return item.type === 'leaf' ? renderLeafLabel({\n          leaf: item,\n          selectedId,\n          onLeafAction,\n          visible: true,\n          treeId,\n          backstage\n        }) : renderDirectory({\n          directory: item,\n          selectedId,\n          onLeafAction,\n          expandedIds,\n          labelTabstopping: true,\n          treeId,\n          backstage\n        });\n      });\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-tree'],\n          attributes: {\n            role: 'tree'\n          }\n        },\n        components: children(selectedIdCell.get(), expandedIds.get()),\n        behaviours: derive$1([Keying.config({\n          mode: 'flow',\n          selector: '.tox-tree--leaf__label--visible, .tox-tree--directory__label--visible',\n          cycles: false\n        }), config(treeEventsId, [run$1('expand-tree-node', (_cmp, se) => {\n          const {\n            expanded,\n            node\n          } = se.event;\n          expandedIds.set(expanded ? [...expandedIds.get(), node] : expandedIds.get().filter(id => id !== node));\n          onToggleExpand(expandedIds.get(), {\n            expanded,\n            node\n          });\n        })]), Receiving.config({\n          channels: {\n            [\"update-active-item-\".concat(treeId)]: {\n              onReceive: (comp, message) => {\n                selectedIdCell.set(Optional.some(message.value));\n                Replacing.set(comp, children(Optional.some(message.value), expandedIds.get()));\n              }\n            }\n          }\n        }), Replacing.config({})])\n      };\n    };\n\n    const events$5 = (streamConfig, streamState) => {\n      const streams = streamConfig.stream.streams;\n      const processor = streams.setup(streamConfig, streamState);\n      return derive$2([run$1(streamConfig.event, processor), runOnDetached(() => streamState.cancel())].concat(streamConfig.cancelEvent.map(e => [run$1(e, () => streamState.cancel())]).getOr([])));\n    };\n\n    var ActiveStreaming = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$5\n    });\n\n    const throttle = _config => {\n      const state = Cell(null);\n      const readState = () => ({\n        timer: state.get() !== null ? 'set' : 'unset'\n      });\n      const setTimer = t => {\n        state.set(t);\n      };\n      const cancel = () => {\n        const t = state.get();\n        if (t !== null) {\n          t.cancel();\n        }\n      };\n      return nu$8({\n        readState,\n        setTimer,\n        cancel\n      });\n    };\n    const init$8 = spec => spec.stream.streams.state(spec);\n\n    var StreamingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        throttle: throttle,\n        init: init$8\n    });\n\n    const setup$c = (streamInfo, streamState) => {\n      const sInfo = streamInfo.stream;\n      const throttler = last(streamInfo.onStream, sInfo.delay);\n      streamState.setTimer(throttler);\n      return (component, simulatedEvent) => {\n        throttler.throttle(component, simulatedEvent);\n        if (sInfo.stopEvent) {\n          simulatedEvent.stop();\n        }\n      };\n    };\n    var StreamingSchema = [requiredOf('stream', choose$1('mode', {\n      throttle: [required$1('delay'), defaulted('stopEvent', true), output$1('streams', {\n        setup: setup$c,\n        state: throttle\n      })]\n    })), defaulted('event', 'input'), option$3('cancelEvent'), onStrictHandler('onStream')];\n\n    const Streaming = create$4({\n      fields: StreamingSchema,\n      name: 'streaming',\n      active: ActiveStreaming,\n      state: StreamingState\n    });\n\n    const setValueFromItem = (model, input, item) => {\n      const itemData = Representing.getValue(item);\n      Representing.setValue(input, itemData);\n      setCursorAtEnd(input);\n    };\n    const setSelectionOn = (input, f) => {\n      const el = input.element;\n      const value = get$6(el);\n      const node = el.dom;\n      if (get$f(el, 'type') !== 'number') {\n        f(node, value);\n      }\n    };\n    const setCursorAtEnd = input => {\n      setSelectionOn(input, (node, value) => node.setSelectionRange(value.length, value.length));\n    };\n    const setSelectionToEnd = (input, startOffset) => {\n      setSelectionOn(input, (node, value) => node.setSelectionRange(startOffset, value.length));\n    };\n    const attemptSelectOver = (model, input, item) => {\n      if (!model.selectsOver) {\n        return Optional.none();\n      } else {\n        const currentValue = Representing.getValue(input);\n        const inputDisplay = model.getDisplayText(currentValue);\n        const itemValue = Representing.getValue(item);\n        const itemDisplay = model.getDisplayText(itemValue);\n        return itemDisplay.indexOf(inputDisplay) === 0 ? Optional.some(() => {\n          setValueFromItem(model, input, item);\n          setSelectionToEnd(input, inputDisplay.length);\n        }) : Optional.none();\n      }\n    };\n\n    const itemExecute = constant$1('alloy.typeahead.itemexecute');\n\n    const make$3 = (detail, components, spec, externals) => {\n      const navigateList = (comp, simulatedEvent, highlighter) => {\n        detail.previewing.set(false);\n        const sandbox = Coupling.getCoupled(comp, 'sandbox');\n        if (Sandboxing.isOpen(sandbox)) {\n          Composing.getCurrent(sandbox).each(menu => {\n            Highlighting.getHighlighted(menu).fold(() => {\n              highlighter(menu);\n            }, () => {\n              dispatchEvent(sandbox, menu.element, 'keydown', simulatedEvent);\n            });\n          });\n        } else {\n          const onOpenSync = sandbox => {\n            Composing.getCurrent(sandbox).each(highlighter);\n          };\n          open(detail, mapFetch(comp), comp, sandbox, externals, onOpenSync, HighlightOnOpen.HighlightMenuAndItem).get(noop);\n        }\n      };\n      const focusBehaviours$1 = focusBehaviours(detail);\n      const mapFetch = comp => tdata => tdata.map(data => {\n        const menus = values(data.menus);\n        const items = bind$3(menus, menu => filter$2(menu.items, item => item.type === 'item'));\n        const repState = Representing.getState(comp);\n        repState.update(map$2(items, item => item.data));\n        return data;\n      });\n      const getActiveMenu = sandboxComp => Composing.getCurrent(sandboxComp);\n      const typeaheadCustomEvents = 'typeaheadevents';\n      const behaviours = [Focusing.config({}), Representing.config({\n        onSetValue: detail.onSetValue,\n        store: {\n          mode: 'dataset',\n          getDataKey: comp => get$6(comp.element),\n          getFallbackEntry: itemString => ({\n            value: itemString,\n            meta: {}\n          }),\n          setValue: (comp, data) => {\n            set$5(comp.element, detail.model.getDisplayText(data));\n          },\n          ...detail.initialData.map(d => wrap$1('initialValue', d)).getOr({})\n        }\n      }), Streaming.config({\n        stream: {\n          mode: 'throttle',\n          delay: detail.responseTime,\n          stopEvent: false\n        },\n        onStream: (component, _simulatedEvent) => {\n          const sandbox = Coupling.getCoupled(component, 'sandbox');\n          const focusInInput = Focusing.isFocused(component);\n          if (focusInInput) {\n            if (get$6(component.element).length >= detail.minChars) {\n              const previousValue = getActiveMenu(sandbox).bind(activeMenu => Highlighting.getHighlighted(activeMenu).map(Representing.getValue));\n              detail.previewing.set(true);\n              const onOpenSync = _sandbox => {\n                getActiveMenu(sandbox).each(activeMenu => {\n                  previousValue.fold(() => {\n                    if (detail.model.selectsOver) {\n                      Highlighting.highlightFirst(activeMenu);\n                    }\n                  }, pv => {\n                    Highlighting.highlightBy(activeMenu, item => {\n                      const itemData = Representing.getValue(item);\n                      return itemData.value === pv.value;\n                    });\n                    Highlighting.getHighlighted(activeMenu).orThunk(() => {\n                      Highlighting.highlightFirst(activeMenu);\n                      return Optional.none();\n                    });\n                  });\n                });\n              };\n              open(detail, mapFetch(component), component, sandbox, externals, onOpenSync, HighlightOnOpen.HighlightJustMenu).get(noop);\n            }\n          }\n        },\n        cancelEvent: typeaheadCancel()\n      }), Keying.config({\n        mode: 'special',\n        onDown: (comp, simulatedEvent) => {\n          navigateList(comp, simulatedEvent, Highlighting.highlightFirst);\n          return Optional.some(true);\n        },\n        onEscape: comp => {\n          const sandbox = Coupling.getCoupled(comp, 'sandbox');\n          if (Sandboxing.isOpen(sandbox)) {\n            Sandboxing.close(sandbox);\n            return Optional.some(true);\n          }\n          return Optional.none();\n        },\n        onUp: (comp, simulatedEvent) => {\n          navigateList(comp, simulatedEvent, Highlighting.highlightLast);\n          return Optional.some(true);\n        },\n        onEnter: comp => {\n          const sandbox = Coupling.getCoupled(comp, 'sandbox');\n          const sandboxIsOpen = Sandboxing.isOpen(sandbox);\n          if (sandboxIsOpen && !detail.previewing.get()) {\n            return getActiveMenu(sandbox).bind(activeMenu => Highlighting.getHighlighted(activeMenu)).map(item => {\n              emitWith(comp, itemExecute(), {\n                item\n              });\n              return true;\n            });\n          } else {\n            const currentValue = Representing.getValue(comp);\n            emit(comp, typeaheadCancel());\n            detail.onExecute(sandbox, comp, currentValue);\n            if (sandboxIsOpen) {\n              Sandboxing.close(sandbox);\n            }\n            return Optional.some(true);\n          }\n        }\n      }), Toggling.config({\n        toggleClass: detail.markers.openClass,\n        aria: {\n          mode: 'expanded'\n        }\n      }), Coupling.config({\n        others: {\n          sandbox: hotspot => {\n            return makeSandbox$1(detail, hotspot, {\n              onOpen: () => Toggling.on(hotspot),\n              onClose: () => {\n                detail.lazyTypeaheadComp.get().each(input => remove$7(input.element, 'aria-activedescendant'));\n                Toggling.off(hotspot);\n              }\n            });\n          }\n        }\n      }), config(typeaheadCustomEvents, [runOnAttached(typeaheadComp => {\n        detail.lazyTypeaheadComp.set(Optional.some(typeaheadComp));\n      }), runOnDetached(_typeaheadComp => {\n        detail.lazyTypeaheadComp.set(Optional.none());\n      }), runOnExecute$1(comp => {\n        const onOpenSync = noop;\n        togglePopup(detail, mapFetch(comp), comp, externals, onOpenSync, HighlightOnOpen.HighlightMenuAndItem).get(noop);\n      }), run$1(itemExecute(), (comp, se) => {\n        const sandbox = Coupling.getCoupled(comp, 'sandbox');\n        setValueFromItem(detail.model, comp, se.event.item);\n        emit(comp, typeaheadCancel());\n        detail.onItemExecute(comp, sandbox, se.event.item, Representing.getValue(comp));\n        Sandboxing.close(sandbox);\n        setCursorAtEnd(comp);\n      })].concat(detail.dismissOnBlur ? [run$1(postBlur(), typeahead => {\n        const sandbox = Coupling.getCoupled(typeahead, 'sandbox');\n        if (search(sandbox.element).isNone()) {\n          Sandboxing.close(sandbox);\n        }\n      })] : []))];\n      const eventOrder = {\n        [detachedFromDom()]: [Representing.name(), Streaming.name(), typeaheadCustomEvents],\n        ...detail.eventOrder\n      };\n      return {\n        uid: detail.uid,\n        dom: dom(deepMerge(detail, {\n          inputAttributes: {\n            'role': 'combobox',\n            'aria-autocomplete': 'list',\n            'aria-haspopup': 'true'\n          }\n        })),\n        behaviours: {\n          ...focusBehaviours$1,\n          ...augment(detail.typeaheadBehaviours, behaviours)\n        },\n        eventOrder\n      };\n    };\n\n    const schema$g = constant$1([option$3('lazySink'), required$1('fetch'), defaulted('minChars', 5), defaulted('responseTime', 1000), onHandler('onOpen'), defaulted('getHotspot', Optional.some), defaulted('getAnchorOverrides', constant$1({})), defaulted('layouts', Optional.none()), defaulted('eventOrder', {}), defaultedObjOf('model', {}, [defaulted('getDisplayText', itemData => itemData.meta !== undefined && itemData.meta.text !== undefined ? itemData.meta.text : itemData.value), defaulted('selectsOver', true), defaulted('populateFromBrowse', true)]), onHandler('onSetValue'), onKeyboardHandler('onExecute'), onHandler('onItemExecute'), defaulted('inputClasses', []), defaulted('inputAttributes', {}), defaulted('inputStyles', {}), defaulted('matchWidth', true), defaulted('useMinWidth', false), defaulted('dismissOnBlur', true), markers$1(['openClass']), option$3('initialData'), field('typeaheadBehaviours', [Focusing, Representing, Streaming, Keying, Toggling, Coupling]), customField('lazyTypeaheadComp', () => Cell(Optional.none)), customField('previewing', () => Cell(true))].concat(schema$l()).concat(sandboxFields()));\n    const parts$b = constant$1([external({\n      schema: [tieredMenuMarkers()],\n      name: 'menu',\n      overrides: detail => {\n        return {\n          fakeFocus: true,\n          onHighlightItem: (_tmenu, menu, item) => {\n            if (!detail.previewing.get()) {\n              detail.lazyTypeaheadComp.get().each(input => {\n                if (detail.model.populateFromBrowse) {\n                  setValueFromItem(detail.model, input, item);\n                }\n                getOpt(item.element, 'id').each(id => set$9(input.element, 'aria-activedescendant', id));\n              });\n            } else {\n              detail.lazyTypeaheadComp.get().each(input => {\n                attemptSelectOver(detail.model, input, item).fold(() => {\n                  if (detail.model.selectsOver) {\n                    Highlighting.dehighlight(menu, item);\n                    detail.previewing.set(true);\n                  } else {\n                    detail.previewing.set(false);\n                  }\n                }, selectOverTextInInput => {\n                  selectOverTextInInput();\n                  detail.previewing.set(false);\n                });\n              });\n            }\n          },\n          onExecute: (_menu, item) => {\n            return detail.lazyTypeaheadComp.get().map(typeahead => {\n              emitWith(typeahead, itemExecute(), {\n                item\n              });\n              return true;\n            });\n          },\n          onHover: (menu, item) => {\n            detail.previewing.set(false);\n            detail.lazyTypeaheadComp.get().each(input => {\n              if (detail.model.populateFromBrowse) {\n                setValueFromItem(detail.model, input, item);\n              }\n            });\n          }\n        };\n      }\n    })]);\n\n    const Typeahead = composite({\n      name: 'Typeahead',\n      configFields: schema$g(),\n      partFields: parts$b(),\n      factory: make$3\n    });\n\n    const wrap = delegate => {\n      const toCached = () => {\n        return wrap(delegate.toCached());\n      };\n      const bindFuture = f => {\n        return wrap(delegate.bind(resA => resA.fold(err => Future.pure(Result.error(err)), a => f(a))));\n      };\n      const bindResult = f => {\n        return wrap(delegate.map(resA => resA.bind(f)));\n      };\n      const mapResult = f => {\n        return wrap(delegate.map(resA => resA.map(f)));\n      };\n      const mapError = f => {\n        return wrap(delegate.map(resA => resA.mapError(f)));\n      };\n      const foldResult = (whenError, whenValue) => {\n        return delegate.map(res => res.fold(whenError, whenValue));\n      };\n      const withTimeout = (timeout, errorThunk) => {\n        return wrap(Future.nu(callback => {\n          let timedOut = false;\n          const timer = setTimeout(() => {\n            timedOut = true;\n            callback(Result.error(errorThunk()));\n          }, timeout);\n          delegate.get(result => {\n            if (!timedOut) {\n              clearTimeout(timer);\n              callback(result);\n            }\n          });\n        }));\n      };\n      return {\n        ...delegate,\n        toCached,\n        bindFuture,\n        bindResult,\n        mapResult,\n        mapError,\n        foldResult,\n        withTimeout\n      };\n    };\n    const nu$1 = worker => {\n      return wrap(Future.nu(worker));\n    };\n    const value = value => {\n      return wrap(Future.pure(Result.value(value)));\n    };\n    const error = error => {\n      return wrap(Future.pure(Result.error(error)));\n    };\n    const fromResult = result => {\n      return wrap(Future.pure(result));\n    };\n    const fromFuture = future => {\n      return wrap(future.map(Result.value));\n    };\n    const fromPromise = promise => {\n      return nu$1(completer => {\n        promise.then(value => {\n          completer(Result.value(value));\n        }, error => {\n          completer(Result.error(error));\n        });\n      });\n    };\n    const FutureResult = {\n      nu: nu$1,\n      wrap,\n      pure: value,\n      value,\n      error,\n      fromResult,\n      fromFuture,\n      fromPromise\n    };\n\n    const renderCommonSpec = (spec, actionOpt, extraBehaviours = [], dom, components, providersBackstage) => {\n      const action = actionOpt.fold(() => ({}), action => ({\n        action\n      }));\n      const common = {\n        buttonBehaviours: derive$1([DisablingConfigs.button(() => !spec.enabled || providersBackstage.isDisabled()), receivingConfig(), Tabstopping.config({}), config('button press', [preventDefault('click'), preventDefault('mousedown')])].concat(extraBehaviours)),\n        eventOrder: {\n          click: ['button press', 'alloy.base.behaviour'],\n          mousedown: ['button press', 'alloy.base.behaviour']\n        },\n        ...action\n      };\n      const domFinal = deepMerge(common, {\n        dom\n      });\n      return deepMerge(domFinal, {\n        components\n      });\n    };\n    const renderIconButtonSpec = (spec, action, providersBackstage, extraBehaviours = []) => {\n      const tooltipAttributes = spec.tooltip.map(tooltip => ({\n        'aria-label': providersBackstage.translate(tooltip),\n        'title': providersBackstage.translate(tooltip)\n      })).getOr({});\n      const dom = {\n        tag: 'button',\n        classes: ['tox-tbtn'],\n        attributes: tooltipAttributes\n      };\n      const icon = spec.icon.map(iconName => renderIconFromPack$1(iconName, providersBackstage.icons));\n      const components = componentRenderPipeline([icon]);\n      return renderCommonSpec(spec, action, extraBehaviours, dom, components, providersBackstage);\n    };\n    const calculateClassesFromButtonType = buttonType => {\n      switch (buttonType) {\n        case 'primary':\n          return ['tox-button'];\n        case 'toolbar':\n          return ['tox-tbtn'];\n        case 'secondary':\n        default:\n          return ['tox-button', 'tox-button--secondary'];\n      }\n    };\n    const renderButtonSpec = (spec, action, providersBackstage, extraBehaviours = [], extraClasses = []) => {\n      const translatedText = providersBackstage.translate(spec.text);\n      const icon = spec.icon.map(iconName => renderIconFromPack$1(iconName, providersBackstage.icons));\n      const components = [icon.getOrThunk(() => text$2(translatedText))];\n      const buttonType = spec.buttonType.getOr(!spec.primary && !spec.borderless ? 'secondary' : 'primary');\n      const baseClasses = calculateClassesFromButtonType(buttonType);\n      const classes = [...baseClasses, ...(icon.isSome() ? ['tox-button--icon'] : []), ...(spec.borderless ? ['tox-button--naked'] : []), ...extraClasses];\n      const dom = {\n        tag: 'button',\n        classes,\n        attributes: {\n          title: translatedText\n        }\n      };\n      return renderCommonSpec(spec, action, extraBehaviours, dom, components, providersBackstage);\n    };\n    const renderButton$1 = (spec, action, providersBackstage, extraBehaviours = [], extraClasses = []) => {\n      const buttonSpec = renderButtonSpec(spec, Optional.some(action), providersBackstage, extraBehaviours, extraClasses);\n      return Button.sketch(buttonSpec);\n    };\n    const getAction = (name, buttonType) => comp => {\n      if (buttonType === 'custom') {\n        emitWith(comp, formActionEvent, {\n          name,\n          value: {}\n        });\n      } else if (buttonType === 'submit') {\n        emit(comp, formSubmitEvent);\n      } else if (buttonType === 'cancel') {\n        emit(comp, formCancelEvent);\n      } else {\n        console.error('Unknown button type: ', buttonType);\n      }\n    };\n    const isMenuFooterButtonSpec = (spec, buttonType) => buttonType === 'menu';\n    const isNormalFooterButtonSpec = (spec, buttonType) => buttonType === 'custom' || buttonType === 'cancel' || buttonType === 'submit';\n    const isToggleButtonSpec = (spec, buttonType) => buttonType === 'togglebutton';\n    const renderToggleButton = (spec, providers) => {\n      var _a, _b;\n      const optMemIcon = spec.icon.map(memIcon => renderReplaceableIconFromPack(memIcon, providers.icons)).map(record);\n      const action = comp => {\n        emitWith(comp, formActionEvent, {\n          name: spec.name,\n          value: {\n            setIcon: newIcon => {\n              optMemIcon.map(memIcon => memIcon.getOpt(comp).each(displayIcon => {\n                Replacing.set(displayIcon, [renderReplaceableIconFromPack(newIcon, providers.icons)]);\n              }));\n            }\n          }\n        });\n      };\n      const buttonType = spec.buttonType.getOr(!spec.primary ? 'secondary' : 'primary');\n      const buttonSpec = {\n        ...spec,\n        name: (_a = spec.name) !== null && _a !== void 0 ? _a : '',\n        primary: buttonType === 'primary',\n        tooltip: Optional.from(spec.tooltip),\n        enabled: (_b = spec.enabled) !== null && _b !== void 0 ? _b : false,\n        borderless: false\n      };\n      const tooltipAttributes = buttonSpec.tooltip.map(tooltip => ({\n        'aria-label': providers.translate(tooltip),\n        'title': providers.translate(tooltip)\n      })).getOr({});\n      const buttonTypeClasses = calculateClassesFromButtonType(buttonType !== null && buttonType !== void 0 ? buttonType : 'secondary');\n      const showIconAndText = spec.icon.isSome() && spec.text.isSome();\n      const dom = {\n        tag: 'button',\n        classes: [...buttonTypeClasses.concat(spec.icon.isSome() ? ['tox-button--icon'] : []), ...(spec.active ? ['tox-button--enabled'] : []), ...(showIconAndText ? ['tox-button--icon-and-text'] : [])],\n        attributes: tooltipAttributes\n      };\n      const extraBehaviours = [];\n      const translatedText = providers.translate(spec.text.getOr(''));\n      const translatedTextComponed = text$2(translatedText);\n      const iconComp = componentRenderPipeline([optMemIcon.map(memIcon => memIcon.asSpec())]);\n      const components = [...iconComp, ...(spec.text.isSome() ? [translatedTextComponed] : [])];\n      const iconButtonSpec = renderCommonSpec(buttonSpec, Optional.some(action), extraBehaviours, dom, components, providers);\n      return Button.sketch(iconButtonSpec);\n    };\n    const renderFooterButton = (spec, buttonType, backstage) => {\n      if (isMenuFooterButtonSpec(spec, buttonType)) {\n        const getButton = () => memButton;\n        const menuButtonSpec = spec;\n        const fixedSpec = {\n          ...spec,\n          type: 'menubutton',\n          search: Optional.none(),\n          onSetup: api => {\n            api.setEnabled(spec.enabled);\n            return noop;\n          },\n          fetch: getFetch(menuButtonSpec.items, getButton, backstage)\n        };\n        const memButton = record(renderMenuButton(fixedSpec, 'tox-tbtn', backstage, Optional.none()));\n        return memButton.asSpec();\n      } else if (isNormalFooterButtonSpec(spec, buttonType)) {\n        const action = getAction(spec.name, buttonType);\n        const buttonSpec = {\n          ...spec,\n          borderless: false\n        };\n        return renderButton$1(buttonSpec, action, backstage.shared.providers, []);\n      } else if (isToggleButtonSpec(spec, buttonType)) {\n        return renderToggleButton(spec, backstage.shared.providers);\n      } else {\n        console.error('Unknown footer button type: ', buttonType);\n        throw new Error('Unknown footer button type');\n      }\n    };\n    const renderDialogButton = (spec, providersBackstage) => {\n      const action = getAction(spec.name, 'custom');\n      return renderFormField(Optional.none(), FormField.parts.field({\n        factory: Button,\n        ...renderButtonSpec(spec, Optional.some(action), providersBackstage, [memory(''), ComposingConfigs.self()])\n      }));\n    };\n\n    const separator$1 = {\n      type: 'separator'\n    };\n    const toMenuItem = target => ({\n      type: 'menuitem',\n      value: target.url,\n      text: target.title,\n      meta: {\n        attach: target.attach\n      },\n      onAction: noop\n    });\n    const staticMenuItem = (title, url) => ({\n      type: 'menuitem',\n      value: url,\n      text: title,\n      meta: {\n        attach: undefined\n      },\n      onAction: noop\n    });\n    const toMenuItems = targets => map$2(targets, toMenuItem);\n    const filterLinkTargets = (type, targets) => filter$2(targets, target => target.type === type);\n    const filteredTargets = (type, targets) => toMenuItems(filterLinkTargets(type, targets));\n    const headerTargets = linkInfo => filteredTargets('header', linkInfo.targets);\n    const anchorTargets = linkInfo => filteredTargets('anchor', linkInfo.targets);\n    const anchorTargetTop = linkInfo => Optional.from(linkInfo.anchorTop).map(url => staticMenuItem('<top>', url)).toArray();\n    const anchorTargetBottom = linkInfo => Optional.from(linkInfo.anchorBottom).map(url => staticMenuItem('<bottom>', url)).toArray();\n    const historyTargets = history => map$2(history, url => staticMenuItem(url, url));\n    const joinMenuLists = items => {\n      return foldl(items, (a, b) => {\n        const bothEmpty = a.length === 0 || b.length === 0;\n        return bothEmpty ? a.concat(b) : a.concat(separator$1, b);\n      }, []);\n    };\n    const filterByQuery = (term, menuItems) => {\n      const lowerCaseTerm = term.toLowerCase();\n      return filter$2(menuItems, item => {\n        var _a;\n        const text = item.meta !== undefined && item.meta.text !== undefined ? item.meta.text : item.text;\n        const value = (_a = item.value) !== null && _a !== void 0 ? _a : '';\n        return contains$1(text.toLowerCase(), lowerCaseTerm) || contains$1(value.toLowerCase(), lowerCaseTerm);\n      });\n    };\n\n    const getItems = (fileType, input, urlBackstage) => {\n      var _a, _b;\n      const urlInputValue = Representing.getValue(input);\n      const term = (_b = (_a = urlInputValue === null || urlInputValue === void 0 ? void 0 : urlInputValue.meta) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : urlInputValue.value;\n      const info = urlBackstage.getLinkInformation();\n      return info.fold(() => [], linkInfo => {\n        const history = filterByQuery(term, historyTargets(urlBackstage.getHistory(fileType)));\n        return fileType === 'file' ? joinMenuLists([history, filterByQuery(term, headerTargets(linkInfo)), filterByQuery(term, flatten([anchorTargetTop(linkInfo), anchorTargets(linkInfo), anchorTargetBottom(linkInfo)]))]) : history;\n      });\n    };\n    const errorId = generate$6('aria-invalid');\n    const renderUrlInput = (spec, backstage, urlBackstage, initialData) => {\n      const providersBackstage = backstage.shared.providers;\n      const updateHistory = component => {\n        const urlEntry = Representing.getValue(component);\n        urlBackstage.addToHistory(urlEntry.value, spec.filetype);\n      };\n      const typeaheadSpec = {\n        ...initialData.map(initialData => ({\n          initialData\n        })).getOr({}),\n        dismissOnBlur: true,\n        inputClasses: ['tox-textfield'],\n        sandboxClasses: ['tox-dialog__popups'],\n        inputAttributes: {\n          'aria-errormessage': errorId,\n          'type': 'url'\n        },\n        minChars: 0,\n        responseTime: 0,\n        fetch: input => {\n          const items = getItems(spec.filetype, input, urlBackstage);\n          const tdata = build(items, ItemResponse$1.BUBBLE_TO_SANDBOX, backstage, {\n            isHorizontalMenu: false,\n            search: Optional.none()\n          });\n          return Future.pure(tdata);\n        },\n        getHotspot: comp => memUrlBox.getOpt(comp),\n        onSetValue: (comp, _newValue) => {\n          if (comp.hasConfigured(Invalidating)) {\n            Invalidating.run(comp).get(noop);\n          }\n        },\n        typeaheadBehaviours: derive$1([...urlBackstage.getValidationHandler().map(handler => Invalidating.config({\n          getRoot: comp => parentElement(comp.element),\n          invalidClass: 'tox-control-wrap--status-invalid',\n          notify: {\n            onInvalid: (comp, err) => {\n              memInvalidIcon.getOpt(comp).each(invalidComp => {\n                set$9(invalidComp.element, 'title', providersBackstage.translate(err));\n              });\n            }\n          },\n          validator: {\n            validate: input => {\n              const urlEntry = Representing.getValue(input);\n              return FutureResult.nu(completer => {\n                handler({\n                  type: spec.filetype,\n                  url: urlEntry.value\n                }, validation => {\n                  if (validation.status === 'invalid') {\n                    const err = Result.error(validation.message);\n                    completer(err);\n                  } else {\n                    const val = Result.value(validation.message);\n                    completer(val);\n                  }\n                });\n              });\n            },\n            validateOnLoad: false\n          }\n        })).toArray(), Disabling.config({\n          disabled: () => !spec.enabled || providersBackstage.isDisabled()\n        }), Tabstopping.config({}), config('urlinput-events', [run$1(input(), comp => {\n          const currentValue = get$6(comp.element);\n          const trimmedValue = currentValue.trim();\n          if (trimmedValue !== currentValue) {\n            set$5(comp.element, trimmedValue);\n          }\n          if (spec.filetype === 'file') {\n            emitWith(comp, formChangeEvent, {\n              name: spec.name\n            });\n          }\n        }), run$1(change(), comp => {\n          emitWith(comp, formChangeEvent, {\n            name: spec.name\n          });\n          updateHistory(comp);\n        }), run$1(postPaste(), comp => {\n          emitWith(comp, formChangeEvent, {\n            name: spec.name\n          });\n          updateHistory(comp);\n        })])]),\n        eventOrder: {\n          [input()]: ['streaming', 'urlinput-events', 'invalidating']\n        },\n        model: {\n          getDisplayText: itemData => itemData.value,\n          selectsOver: false,\n          populateFromBrowse: false\n        },\n        markers: {\n          openClass: 'tox-textfield--popup-open'\n        },\n        lazySink: backstage.shared.getSink,\n        parts: {\n          menu: part(false, 1, 'normal')\n        },\n        onExecute: (_menu, component, _entry) => {\n          emitWith(component, formSubmitEvent, {});\n        },\n        onItemExecute: (typeahead, _sandbox, _item, _value) => {\n          updateHistory(typeahead);\n          emitWith(typeahead, formChangeEvent, {\n            name: spec.name\n          });\n        }\n      };\n      const pField = FormField.parts.field({\n        ...typeaheadSpec,\n        factory: Typeahead\n      });\n      const pLabel = spec.label.map(label => renderLabel$3(label, providersBackstage));\n      const makeIcon = (name, errId, icon = name, label = name) => render$3(icon, {\n        tag: 'div',\n        classes: ['tox-icon', 'tox-control-wrap__status-icon-' + name],\n        attributes: {\n          'title': providersBackstage.translate(label),\n          'aria-live': 'polite',\n          ...errId.fold(() => ({}), id => ({\n            id\n          }))\n        }\n      }, providersBackstage.icons);\n      const memInvalidIcon = record(makeIcon('invalid', Optional.some(errorId), 'warning'));\n      const memStatus = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-control-wrap__status-icon-wrap']\n        },\n        components: [memInvalidIcon.asSpec()]\n      });\n      const optUrlPicker = urlBackstage.getUrlPicker(spec.filetype);\n      const browseUrlEvent = generate$6('browser.url.event');\n      const memUrlBox = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-control-wrap']\n        },\n        components: [pField, memStatus.asSpec()],\n        behaviours: derive$1([Disabling.config({\n          disabled: () => !spec.enabled || providersBackstage.isDisabled()\n        })])\n      });\n      const memUrlPickerButton = record(renderButton$1({\n        name: spec.name,\n        icon: Optional.some('browse'),\n        text: spec.picker_text.or(spec.label).getOr(''),\n        enabled: spec.enabled,\n        primary: false,\n        buttonType: Optional.none(),\n        borderless: true\n      }, component => emit(component, browseUrlEvent), providersBackstage, [], ['tox-browse-url']));\n      const controlHWrapper = () => ({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form__controls-h-stack']\n        },\n        components: flatten([[memUrlBox.asSpec()], optUrlPicker.map(() => memUrlPickerButton.asSpec()).toArray()])\n      });\n      const openUrlPicker = comp => {\n        Composing.getCurrent(comp).each(field => {\n          const componentData = Representing.getValue(field);\n          const urlData = {\n            fieldname: spec.name,\n            ...componentData\n          };\n          optUrlPicker.each(picker => {\n            picker(urlData).get(chosenData => {\n              Representing.setValue(field, chosenData);\n              emitWith(comp, formChangeEvent, {\n                name: spec.name\n              });\n            });\n          });\n        });\n      };\n      return FormField.sketch({\n        dom: renderFormFieldDom(),\n        components: pLabel.toArray().concat([controlHWrapper()]),\n        fieldBehaviours: derive$1([Disabling.config({\n          disabled: () => !spec.enabled || providersBackstage.isDisabled(),\n          onDisabled: comp => {\n            FormField.getField(comp).each(Disabling.disable);\n            memUrlPickerButton.getOpt(comp).each(Disabling.disable);\n          },\n          onEnabled: comp => {\n            FormField.getField(comp).each(Disabling.enable);\n            memUrlPickerButton.getOpt(comp).each(Disabling.enable);\n          }\n        }), receivingConfig(), config('url-input-events', [run$1(browseUrlEvent, openUrlPicker)])])\n      });\n    };\n\n    const renderAlertBanner = (spec, providersBackstage) => {\n      const icon = get$2(spec.icon, providersBackstage.icons);\n      return Container.sketch({\n        dom: {\n          tag: 'div',\n          attributes: {\n            role: 'alert'\n          },\n          classes: ['tox-notification', 'tox-notification--in', \"tox-notification--\".concat(spec.level)]\n        },\n        components: [{\n          dom: {\n            tag: 'div',\n            classes: ['tox-notification__icon'],\n            innerHtml: !spec.url ? icon : undefined\n          },\n          components: spec.url ? [Button.sketch({\n            dom: {\n              tag: 'button',\n              classes: ['tox-button', 'tox-button--naked', 'tox-button--icon'],\n              innerHtml: icon,\n              attributes: {\n                title: providersBackstage.translate(spec.iconTooltip)\n              }\n            },\n            action: comp => emitWith(comp, formActionEvent, {\n              name: 'alert-banner',\n              value: spec.url\n            }),\n            buttonBehaviours: derive$1([addFocusableBehaviour()])\n          })] : undefined\n        }, {\n          dom: {\n            tag: 'div',\n            classes: ['tox-notification__body'],\n            innerHtml: providersBackstage.translate(spec.text)\n          }\n        }]\n      });\n    };\n\n    const set$1 = (element, status) => {\n      element.dom.checked = status;\n    };\n    const get$1 = element => element.dom.checked;\n\n    const renderCheckbox = (spec, providerBackstage, initialData) => {\n      const toggleCheckboxHandler = comp => {\n        comp.element.dom.click();\n        return Optional.some(true);\n      };\n      const pField = FormField.parts.field({\n        factory: {\n          sketch: identity\n        },\n        dom: {\n          tag: 'input',\n          classes: ['tox-checkbox__input'],\n          attributes: {\n            type: 'checkbox'\n          }\n        },\n        behaviours: derive$1([ComposingConfigs.self(), Disabling.config({\n          disabled: () => !spec.enabled || providerBackstage.isDisabled(),\n          onDisabled: component => {\n            parentElement(component.element).each(element => add$2(element, 'tox-checkbox--disabled'));\n          },\n          onEnabled: component => {\n            parentElement(component.element).each(element => remove$2(element, 'tox-checkbox--disabled'));\n          }\n        }), Tabstopping.config({}), Focusing.config({}), withElement(initialData, get$1, set$1), Keying.config({\n          mode: 'special',\n          onEnter: toggleCheckboxHandler,\n          onSpace: toggleCheckboxHandler,\n          stopSpaceKeyup: true\n        }), config('checkbox-events', [run$1(change(), (component, _) => {\n          emitWith(component, formChangeEvent, {\n            name: spec.name\n          });\n        })])])\n      });\n      const pLabel = FormField.parts.label({\n        dom: {\n          tag: 'span',\n          classes: ['tox-checkbox__label']\n        },\n        components: [text$2(providerBackstage.translate(spec.label))],\n        behaviours: derive$1([Unselecting.config({})])\n      });\n      const makeIcon = className => {\n        const iconName = className === 'checked' ? 'selected' : 'unselected';\n        return render$3(iconName, {\n          tag: 'span',\n          classes: ['tox-icon', 'tox-checkbox-icon__' + className]\n        }, providerBackstage.icons);\n      };\n      const memIcons = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-checkbox__icons']\n        },\n        components: [makeIcon('checked'), makeIcon('unchecked')]\n      });\n      return FormField.sketch({\n        dom: {\n          tag: 'label',\n          classes: ['tox-checkbox']\n        },\n        components: [pField, memIcons.asSpec(), pLabel],\n        fieldBehaviours: derive$1([Disabling.config({\n          disabled: () => !spec.enabled || providerBackstage.isDisabled()\n        }), receivingConfig()])\n      });\n    };\n\n    const renderHtmlPanel = spec => {\n      if (spec.presets === 'presentation') {\n        return Container.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-form__group'],\n            innerHtml: spec.html\n          }\n        });\n      } else {\n        return Container.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-form__group'],\n            innerHtml: spec.html,\n            attributes: {\n              role: 'document'\n            }\n          },\n          containerBehaviours: derive$1([Tabstopping.config({}), Focusing.config({})])\n        });\n      }\n    };\n\n    const make$2 = render => {\n      return (parts, spec, dialogData, backstage) => get$g(spec, 'name').fold(() => render(spec, backstage, Optional.none()), fieldName => parts.field(fieldName, render(spec, backstage, get$g(dialogData, fieldName))));\n    };\n    const makeIframe = render => (parts, spec, dialogData, backstage) => {\n      const iframeSpec = deepMerge(spec, {\n        source: 'dynamic'\n      });\n      return make$2(render)(parts, iframeSpec, dialogData, backstage);\n    };\n    const factories = {\n      bar: make$2((spec, backstage) => renderBar(spec, backstage.shared)),\n      collection: make$2((spec, backstage, data) => renderCollection(spec, backstage.shared.providers, data)),\n      alertbanner: make$2((spec, backstage) => renderAlertBanner(spec, backstage.shared.providers)),\n      input: make$2((spec, backstage, data) => renderInput(spec, backstage.shared.providers, data)),\n      textarea: make$2((spec, backstage, data) => renderTextarea(spec, backstage.shared.providers, data)),\n      label: make$2((spec, backstage) => renderLabel$2(spec, backstage.shared)),\n      iframe: makeIframe((spec, backstage, data) => renderIFrame(spec, backstage.shared.providers, data)),\n      button: make$2((spec, backstage) => renderDialogButton(spec, backstage.shared.providers)),\n      checkbox: make$2((spec, backstage, data) => renderCheckbox(spec, backstage.shared.providers, data)),\n      colorinput: make$2((spec, backstage, data) => renderColorInput(spec, backstage.shared, backstage.colorinput, data)),\n      colorpicker: make$2((spec, backstage, data) => renderColorPicker(spec, backstage.shared.providers, data)),\n      dropzone: make$2((spec, backstage, data) => renderDropZone(spec, backstage.shared.providers, data)),\n      grid: make$2((spec, backstage) => renderGrid(spec, backstage.shared)),\n      listbox: make$2((spec, backstage, data) => renderListBox(spec, backstage, data)),\n      selectbox: make$2((spec, backstage, data) => renderSelectBox(spec, backstage.shared.providers, data)),\n      sizeinput: make$2((spec, backstage) => renderSizeInput(spec, backstage.shared.providers)),\n      slider: make$2((spec, backstage, data) => renderSlider(spec, backstage.shared.providers, data)),\n      urlinput: make$2((spec, backstage, data) => renderUrlInput(spec, backstage, backstage.urlinput, data)),\n      customeditor: make$2(renderCustomEditor),\n      htmlpanel: make$2(renderHtmlPanel),\n      imagepreview: make$2((spec, _, data) => renderImagePreview(spec, data)),\n      table: make$2((spec, backstage) => renderTable(spec, backstage.shared.providers)),\n      tree: make$2((spec, backstage) => renderTree(spec, backstage)),\n      panel: make$2((spec, backstage) => renderPanel(spec, backstage))\n    };\n    const noFormParts = {\n      field: (_name, spec) => spec,\n      record: constant$1([])\n    };\n    const interpretInForm = (parts, spec, dialogData, oldBackstage) => {\n      const newBackstage = deepMerge(oldBackstage, {\n        shared: {\n          interpreter: childSpec => interpretParts(parts, childSpec, dialogData, newBackstage)\n        }\n      });\n      return interpretParts(parts, spec, dialogData, newBackstage);\n    };\n    const interpretParts = (parts, spec, dialogData, backstage) => get$g(factories, spec.type).fold(() => {\n      console.error(\"Unknown factory type \\\"\".concat(spec.type, \"\\\", defaulting to container: \"), spec);\n      return spec;\n    }, factory => factory(parts, spec, dialogData, backstage));\n    const interpretWithoutForm = (spec, dialogData, backstage) => interpretParts(noFormParts, spec, dialogData, backstage);\n\n    const labelPrefix = 'layout-inset';\n    const westEdgeX = anchor => anchor.x;\n    const middleX = (anchor, element) => anchor.x + anchor.width / 2 - element.width / 2;\n    const eastEdgeX = (anchor, element) => anchor.x + anchor.width - element.width;\n    const northY = anchor => anchor.y;\n    const southY = (anchor, element) => anchor.y + anchor.height - element.height;\n    const centreY = (anchor, element) => anchor.y + anchor.height / 2 - element.height / 2;\n    const southwest = (anchor, element, bubbles) => nu$6(eastEdgeX(anchor, element), southY(anchor, element), bubbles.insetSouthwest(), northwest$3(), 'southwest', boundsRestriction(anchor, {\n      right: 0,\n      bottom: 3\n    }), labelPrefix);\n    const southeast = (anchor, element, bubbles) => nu$6(westEdgeX(anchor), southY(anchor, element), bubbles.insetSoutheast(), northeast$3(), 'southeast', boundsRestriction(anchor, {\n      left: 1,\n      bottom: 3\n    }), labelPrefix);\n    const northwest = (anchor, element, bubbles) => nu$6(eastEdgeX(anchor, element), northY(anchor), bubbles.insetNorthwest(), southwest$3(), 'northwest', boundsRestriction(anchor, {\n      right: 0,\n      top: 2\n    }), labelPrefix);\n    const northeast = (anchor, element, bubbles) => nu$6(westEdgeX(anchor), northY(anchor), bubbles.insetNortheast(), southeast$3(), 'northeast', boundsRestriction(anchor, {\n      left: 1,\n      top: 2\n    }), labelPrefix);\n    const north = (anchor, element, bubbles) => nu$6(middleX(anchor, element), northY(anchor), bubbles.insetNorth(), south$3(), 'north', boundsRestriction(anchor, {\n      top: 2\n    }), labelPrefix);\n    const south = (anchor, element, bubbles) => nu$6(middleX(anchor, element), southY(anchor, element), bubbles.insetSouth(), north$3(), 'south', boundsRestriction(anchor, {\n      bottom: 3\n    }), labelPrefix);\n    const east = (anchor, element, bubbles) => nu$6(eastEdgeX(anchor, element), centreY(anchor, element), bubbles.insetEast(), west$3(), 'east', boundsRestriction(anchor, {\n      right: 0\n    }), labelPrefix);\n    const west = (anchor, element, bubbles) => nu$6(westEdgeX(anchor), centreY(anchor, element), bubbles.insetWest(), east$3(), 'west', boundsRestriction(anchor, {\n      left: 1\n    }), labelPrefix);\n    const lookupPreserveLayout = lastPlacement => {\n      switch (lastPlacement) {\n        case 'north':\n          return north;\n        case 'northeast':\n          return northeast;\n        case 'northwest':\n          return northwest;\n        case 'south':\n          return south;\n        case 'southeast':\n          return southeast;\n        case 'southwest':\n          return southwest;\n        case 'east':\n          return east;\n        case 'west':\n          return west;\n      }\n    };\n    const preserve = (anchor, element, bubbles, placee, bounds) => {\n      const layout = getPlacement(placee).map(lookupPreserveLayout).getOr(north);\n      return layout(anchor, element, bubbles, placee, bounds);\n    };\n    const lookupFlippedLayout = lastPlacement => {\n      switch (lastPlacement) {\n        case 'north':\n          return south;\n        case 'northeast':\n          return southeast;\n        case 'northwest':\n          return southwest;\n        case 'south':\n          return north;\n        case 'southeast':\n          return northeast;\n        case 'southwest':\n          return northwest;\n        case 'east':\n          return west;\n        case 'west':\n          return east;\n      }\n    };\n    const flip = (anchor, element, bubbles, placee, bounds) => {\n      const layout = getPlacement(placee).map(lookupFlippedLayout).getOr(north);\n      return layout(anchor, element, bubbles, placee, bounds);\n    };\n\n    const bubbleAlignments$2 = {\n      valignCentre: [],\n      alignCentre: [],\n      alignLeft: [],\n      alignRight: [],\n      right: [],\n      left: [],\n      bottom: [],\n      top: []\n    };\n    const getInlineDialogAnchor = (contentAreaElement, lazyAnchorbar, lazyUseEditableAreaAnchor) => {\n      const bubbleSize = 12;\n      const overrides = {\n        maxHeightFunction: expandable$1()\n      };\n      const editableAreaAnchor = () => ({\n        type: 'node',\n        root: getContentContainer(getRootNode(contentAreaElement())),\n        node: Optional.from(contentAreaElement()),\n        bubble: nu$5(bubbleSize, bubbleSize, bubbleAlignments$2),\n        layouts: {\n          onRtl: () => [northeast],\n          onLtr: () => [northwest]\n        },\n        overrides\n      });\n      const standardAnchor = () => ({\n        type: 'hotspot',\n        hotspot: lazyAnchorbar(),\n        bubble: nu$5(-bubbleSize, bubbleSize, bubbleAlignments$2),\n        layouts: {\n          onRtl: () => [southeast$2, southwest$2, south$2],\n          onLtr: () => [southwest$2, southeast$2, south$2]\n        },\n        overrides\n      });\n      return () => lazyUseEditableAreaAnchor() ? editableAreaAnchor() : standardAnchor();\n    };\n    const getInlineBottomDialogAnchor = (inline, contentAreaElement, lazyBottomAnchorBar, lazyUseEditableAreaAnchor) => {\n      const bubbleSize = 12;\n      const overrides = {\n        maxHeightFunction: expandable$1()\n      };\n      const editableAreaAnchor = () => ({\n        type: 'node',\n        root: getContentContainer(getRootNode(contentAreaElement())),\n        node: Optional.from(contentAreaElement()),\n        bubble: nu$5(bubbleSize, bubbleSize, bubbleAlignments$2),\n        layouts: {\n          onRtl: () => [north],\n          onLtr: () => [north]\n        },\n        overrides\n      });\n      const standardAnchor = () => inline ? {\n        type: 'node',\n        root: getContentContainer(getRootNode(contentAreaElement())),\n        node: Optional.from(contentAreaElement()),\n        bubble: nu$5(0, -getOuter$2(contentAreaElement()), bubbleAlignments$2),\n        layouts: {\n          onRtl: () => [north$2],\n          onLtr: () => [north$2]\n        },\n        overrides\n      } : {\n        type: 'hotspot',\n        hotspot: lazyBottomAnchorBar(),\n        bubble: nu$5(0, 0, bubbleAlignments$2),\n        layouts: {\n          onRtl: () => [north$2],\n          onLtr: () => [north$2]\n        },\n        overrides\n      };\n      return () => lazyUseEditableAreaAnchor() ? editableAreaAnchor() : standardAnchor();\n    };\n    const getBannerAnchor = (contentAreaElement, lazyAnchorbar, lazyUseEditableAreaAnchor) => {\n      const editableAreaAnchor = () => ({\n        type: 'node',\n        root: getContentContainer(getRootNode(contentAreaElement())),\n        node: Optional.from(contentAreaElement()),\n        layouts: {\n          onRtl: () => [north],\n          onLtr: () => [north]\n        }\n      });\n      const standardAnchor = () => ({\n        type: 'hotspot',\n        hotspot: lazyAnchorbar(),\n        layouts: {\n          onRtl: () => [south$2],\n          onLtr: () => [south$2]\n        }\n      });\n      return () => lazyUseEditableAreaAnchor() ? editableAreaAnchor() : standardAnchor();\n    };\n    const getCursorAnchor = (editor, bodyElement) => () => ({\n      type: 'selection',\n      root: bodyElement(),\n      getSelection: () => {\n        const rng = editor.selection.getRng();\n        const selectedCells = editor.model.table.getSelectedCells();\n        if (selectedCells.length > 1) {\n          const firstCell = selectedCells[0];\n          const lastCell = selectedCells[selectedCells.length - 1];\n          const selectionTableCellRange = {\n            firstCell: SugarElement.fromDom(firstCell),\n            lastCell: SugarElement.fromDom(lastCell)\n          };\n          return Optional.some(selectionTableCellRange);\n        }\n        return Optional.some(SimSelection.range(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset));\n      }\n    });\n    const getNodeAnchor$1 = bodyElement => element => ({\n      type: 'node',\n      root: bodyElement(),\n      node: element\n    });\n    const getAnchors = (editor, lazyAnchorbar, lazyBottomAnchorBar, isToolbarTop) => {\n      const useFixedToolbarContainer = useFixedContainer(editor);\n      const bodyElement = () => SugarElement.fromDom(editor.getBody());\n      const contentAreaElement = () => SugarElement.fromDom(editor.getContentAreaContainer());\n      const lazyUseEditableAreaAnchor = () => useFixedToolbarContainer || !isToolbarTop();\n      return {\n        inlineDialog: getInlineDialogAnchor(contentAreaElement, lazyAnchorbar, lazyUseEditableAreaAnchor),\n        inlineBottomDialog: getInlineBottomDialogAnchor(editor.inline, contentAreaElement, lazyBottomAnchorBar, lazyUseEditableAreaAnchor),\n        banner: getBannerAnchor(contentAreaElement, lazyAnchorbar, lazyUseEditableAreaAnchor),\n        cursor: getCursorAnchor(editor, bodyElement),\n        node: getNodeAnchor$1(bodyElement)\n      };\n    };\n\n    const colorPicker = editor => (callback, value) => {\n      const dialog = colorPickerDialog(editor);\n      dialog(callback, value);\n    };\n    const hasCustomColors = editor => () => hasCustomColors$1(editor);\n    const getColors = editor => id => getColors$2(editor, id);\n    const getColorCols = editor => id => getColorCols$1(editor, id);\n    const ColorInputBackstage = editor => ({\n      colorPicker: colorPicker(editor),\n      hasCustomColors: hasCustomColors(editor),\n      getColors: getColors(editor),\n      getColorCols: getColorCols(editor)\n    });\n\n    const isDraggableModal = editor => () => isDraggableModal$1(editor);\n    const DialogBackstage = editor => ({\n      isDraggableModal: isDraggableModal(editor)\n    });\n\n    const HeaderBackstage = editor => {\n      const mode = Cell(isToolbarLocationBottom(editor) ? 'bottom' : 'top');\n      return {\n        isPositionedAtTop: () => mode.get() === 'top',\n        getDockingMode: mode.get,\n        setDockingMode: mode.set\n      };\n    };\n\n    const isNestedFormat = format => hasNonNullableKey(format, 'items');\n    const isFormatReference = format => hasNonNullableKey(format, 'format');\n    const defaultStyleFormats = [{\n      title: 'Headings',\n      items: [{\n        title: 'Heading 1',\n        format: 'h1'\n      }, {\n        title: 'Heading 2',\n        format: 'h2'\n      }, {\n        title: 'Heading 3',\n        format: 'h3'\n      }, {\n        title: 'Heading 4',\n        format: 'h4'\n      }, {\n        title: 'Heading 5',\n        format: 'h5'\n      }, {\n        title: 'Heading 6',\n        format: 'h6'\n      }]\n    }, {\n      title: 'Inline',\n      items: [{\n        title: 'Bold',\n        format: 'bold'\n      }, {\n        title: 'Italic',\n        format: 'italic'\n      }, {\n        title: 'Underline',\n        format: 'underline'\n      }, {\n        title: 'Strikethrough',\n        format: 'strikethrough'\n      }, {\n        title: 'Superscript',\n        format: 'superscript'\n      }, {\n        title: 'Subscript',\n        format: 'subscript'\n      }, {\n        title: 'Code',\n        format: 'code'\n      }]\n    }, {\n      title: 'Blocks',\n      items: [{\n        title: 'Paragraph',\n        format: 'p'\n      }, {\n        title: 'Blockquote',\n        format: 'blockquote'\n      }, {\n        title: 'Div',\n        format: 'div'\n      }, {\n        title: 'Pre',\n        format: 'pre'\n      }]\n    }, {\n      title: 'Align',\n      items: [{\n        title: 'Left',\n        format: 'alignleft'\n      }, {\n        title: 'Center',\n        format: 'aligncenter'\n      }, {\n        title: 'Right',\n        format: 'alignright'\n      }, {\n        title: 'Justify',\n        format: 'alignjustify'\n      }]\n    }];\n    const isNestedFormats = format => has$2(format, 'items');\n    const isBlockFormat = format => has$2(format, 'block');\n    const isInlineFormat = format => has$2(format, 'inline');\n    const isSelectorFormat = format => has$2(format, 'selector');\n    const mapFormats = userFormats => foldl(userFormats, (acc, fmt) => {\n      if (isNestedFormats(fmt)) {\n        const result = mapFormats(fmt.items);\n        return {\n          customFormats: acc.customFormats.concat(result.customFormats),\n          formats: acc.formats.concat([{\n            title: fmt.title,\n            items: result.formats\n          }])\n        };\n      } else if (isInlineFormat(fmt) || isBlockFormat(fmt) || isSelectorFormat(fmt)) {\n        const formatName = isString(fmt.name) ? fmt.name : fmt.title.toLowerCase();\n        const formatNameWithPrefix = \"custom-\".concat(formatName);\n        return {\n          customFormats: acc.customFormats.concat([{\n            name: formatNameWithPrefix,\n            format: fmt\n          }]),\n          formats: acc.formats.concat([{\n            title: fmt.title,\n            format: formatNameWithPrefix,\n            icon: fmt.icon\n          }])\n        };\n      } else {\n        return {\n          ...acc,\n          formats: acc.formats.concat(fmt)\n        };\n      }\n    }, {\n      customFormats: [],\n      formats: []\n    });\n    const registerCustomFormats = (editor, userFormats) => {\n      const result = mapFormats(userFormats);\n      const registerFormats = customFormats => {\n        each$1(customFormats, fmt => {\n          if (!editor.formatter.has(fmt.name)) {\n            editor.formatter.register(fmt.name, fmt.format);\n          }\n        });\n      };\n      if (editor.formatter) {\n        registerFormats(result.customFormats);\n      } else {\n        editor.on('init', () => {\n          registerFormats(result.customFormats);\n        });\n      }\n      return result.formats;\n    };\n    const getStyleFormats = editor => getUserStyleFormats(editor).map(userFormats => {\n      const registeredUserFormats = registerCustomFormats(editor, userFormats);\n      return shouldMergeStyleFormats(editor) ? defaultStyleFormats.concat(registeredUserFormats) : registeredUserFormats;\n    }).getOr(defaultStyleFormats);\n\n    const isSeparator$1 = format => {\n      const keys$1 = keys(format);\n      return keys$1.length === 1 && contains$2(keys$1, 'title');\n    };\n    const processBasic = (item, isSelectedFor, getPreviewFor) => ({\n      ...item,\n      type: 'formatter',\n      isSelected: isSelectedFor(item.format),\n      getStylePreview: getPreviewFor(item.format)\n    });\n    const register$a = (editor, formats, isSelectedFor, getPreviewFor) => {\n      const enrichSupported = item => processBasic(item, isSelectedFor, getPreviewFor);\n      const enrichMenu = item => {\n        const newItems = doEnrich(item.items);\n        return {\n          ...item,\n          type: 'submenu',\n          getStyleItems: constant$1(newItems)\n        };\n      };\n      const enrichCustom = item => {\n        const formatName = isString(item.name) ? item.name : generate$6(item.title);\n        const formatNameWithPrefix = \"custom-\".concat(formatName);\n        const newItem = {\n          ...item,\n          type: 'formatter',\n          format: formatNameWithPrefix,\n          isSelected: isSelectedFor(formatNameWithPrefix),\n          getStylePreview: getPreviewFor(formatNameWithPrefix)\n        };\n        editor.formatter.register(formatName, newItem);\n        return newItem;\n      };\n      const doEnrich = items => map$2(items, item => {\n        if (isNestedFormat(item)) {\n          return enrichMenu(item);\n        } else if (isFormatReference(item)) {\n          return enrichSupported(item);\n        } else if (isSeparator$1(item)) {\n          return {\n            ...item,\n            type: 'separator'\n          };\n        } else {\n          return enrichCustom(item);\n        }\n      });\n      return doEnrich(formats);\n    };\n\n    const init$7 = editor => {\n      const isSelectedFor = format => () => editor.formatter.match(format);\n      const getPreviewFor = format => () => {\n        const fmt = editor.formatter.get(format);\n        return fmt !== undefined ? Optional.some({\n          tag: fmt.length > 0 ? fmt[0].inline || fmt[0].block || 'div' : 'div',\n          styles: editor.dom.parseStyle(editor.formatter.getCssText(format))\n        }) : Optional.none();\n      };\n      const settingsFormats = Cell([]);\n      const eventsFormats = Cell([]);\n      const replaceSettings = Cell(false);\n      editor.on('PreInit', _e => {\n        const formats = getStyleFormats(editor);\n        const enriched = register$a(editor, formats, isSelectedFor, getPreviewFor);\n        settingsFormats.set(enriched);\n      });\n      editor.on('addStyleModifications', e => {\n        const modifications = register$a(editor, e.items, isSelectedFor, getPreviewFor);\n        eventsFormats.set(modifications);\n        replaceSettings.set(e.replace);\n      });\n      const getData = () => {\n        const fromSettings = replaceSettings.get() ? [] : settingsFormats.get();\n        const fromEvents = eventsFormats.get();\n        return fromSettings.concat(fromEvents);\n      };\n      return {\n        getData\n      };\n    };\n\n    const isElement = node => isNonNullable(node) && node.nodeType === 1;\n    const trim = global$1.trim;\n    const hasContentEditableState = value => {\n      return node => {\n        if (isElement(node)) {\n          if (node.contentEditable === value) {\n            return true;\n          }\n          if (node.getAttribute('data-mce-contenteditable') === value) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    const isContentEditableTrue = hasContentEditableState('true');\n    const isContentEditableFalse = hasContentEditableState('false');\n    const create = (type, title, url, level, attach) => ({\n      type,\n      title,\n      url,\n      level,\n      attach\n    });\n    const isChildOfContentEditableTrue = node => {\n      let tempNode = node;\n      while (tempNode = tempNode.parentNode) {\n        const value = tempNode.contentEditable;\n        if (value && value !== 'inherit') {\n          return isContentEditableTrue(tempNode);\n        }\n      }\n      return false;\n    };\n    const select = (selector, root) => {\n      return map$2(descendants(SugarElement.fromDom(root), selector), element => {\n        return element.dom;\n      });\n    };\n    const getElementText = elm => {\n      return elm.innerText || elm.textContent;\n    };\n    const getOrGenerateId = elm => {\n      return elm.id ? elm.id : generate$6('h');\n    };\n    const isAnchor = elm => {\n      return elm && elm.nodeName === 'A' && (elm.id || elm.name) !== undefined;\n    };\n    const isValidAnchor = elm => {\n      return isAnchor(elm) && isEditable(elm);\n    };\n    const isHeader = elm => {\n      return elm && /^(H[1-6])$/.test(elm.nodeName);\n    };\n    const isEditable = elm => {\n      return isChildOfContentEditableTrue(elm) && !isContentEditableFalse(elm);\n    };\n    const isValidHeader = elm => {\n      return isHeader(elm) && isEditable(elm);\n    };\n    const getLevel = elm => {\n      return isHeader(elm) ? parseInt(elm.nodeName.substr(1), 10) : 0;\n    };\n    const headerTarget = elm => {\n      var _a;\n      const headerId = getOrGenerateId(elm);\n      const attach = () => {\n        elm.id = headerId;\n      };\n      return create('header', (_a = getElementText(elm)) !== null && _a !== void 0 ? _a : '', '#' + headerId, getLevel(elm), attach);\n    };\n    const anchorTarget = elm => {\n      const anchorId = elm.id || elm.name;\n      const anchorText = getElementText(elm);\n      return create('anchor', anchorText ? anchorText : '#' + anchorId, '#' + anchorId, 0, noop);\n    };\n    const getHeaderTargets = elms => {\n      return map$2(filter$2(elms, isValidHeader), headerTarget);\n    };\n    const getAnchorTargets = elms => {\n      return map$2(filter$2(elms, isValidAnchor), anchorTarget);\n    };\n    const getTargetElements = elm => {\n      const elms = select('h1,h2,h3,h4,h5,h6,a:not([href])', elm);\n      return elms;\n    };\n    const hasTitle = target => {\n      return trim(target.title).length > 0;\n    };\n    const find = elm => {\n      const elms = getTargetElements(elm);\n      return filter$2(getHeaderTargets(elms).concat(getAnchorTargets(elms)), hasTitle);\n    };\n    const LinkTargets = {\n      find\n    };\n\n    const STORAGE_KEY = 'tinymce-url-history';\n    const HISTORY_LENGTH = 5;\n    const isHttpUrl = url => isString(url) && /^https?/.test(url);\n    const isArrayOfUrl = a => isArray(a) && a.length <= HISTORY_LENGTH && forall(a, isHttpUrl);\n    const isRecordOfUrlArray = r => isObject(r) && find$4(r, value => !isArrayOfUrl(value)).isNone();\n    const getAllHistory = () => {\n      const unparsedHistory = global$4.getItem(STORAGE_KEY);\n      if (unparsedHistory === null) {\n        return {};\n      }\n      let history;\n      try {\n        history = JSON.parse(unparsedHistory);\n      } catch (e) {\n        if (e instanceof SyntaxError) {\n          console.log('Local storage ' + STORAGE_KEY + ' was not valid JSON', e);\n          return {};\n        }\n        throw e;\n      }\n      if (!isRecordOfUrlArray(history)) {\n        console.log('Local storage ' + STORAGE_KEY + ' was not valid format', history);\n        return {};\n      }\n      return history;\n    };\n    const setAllHistory = history => {\n      if (!isRecordOfUrlArray(history)) {\n        throw new Error('Bad format for history:\\n' + JSON.stringify(history));\n      }\n      global$4.setItem(STORAGE_KEY, JSON.stringify(history));\n    };\n    const getHistory = fileType => {\n      const history = getAllHistory();\n      return get$g(history, fileType).getOr([]);\n    };\n    const addToHistory = (url, fileType) => {\n      if (!isHttpUrl(url)) {\n        return;\n      }\n      const history = getAllHistory();\n      const items = get$g(history, fileType).getOr([]);\n      const itemsWithoutUrl = filter$2(items, item => item !== url);\n      history[fileType] = [url].concat(itemsWithoutUrl).slice(0, HISTORY_LENGTH);\n      setAllHistory(history);\n    };\n\n    const isTruthy = value => !!value;\n    const makeMap = value => map$1(global$1.makeMap(value, /[, ]/), isTruthy);\n    const getPicker = editor => Optional.from(getFilePickerCallback(editor));\n    const getPickerTypes = editor => {\n      const optFileTypes = Optional.from(getFilePickerTypes(editor)).filter(isTruthy).map(makeMap);\n      return getPicker(editor).fold(never, _picker => optFileTypes.fold(always, types => keys(types).length > 0 ? types : false));\n    };\n    const getPickerSetting = (editor, filetype) => {\n      const pickerTypes = getPickerTypes(editor);\n      if (isBoolean(pickerTypes)) {\n        return pickerTypes ? getPicker(editor) : Optional.none();\n      } else {\n        return pickerTypes[filetype] ? getPicker(editor) : Optional.none();\n      }\n    };\n    const getUrlPicker = (editor, filetype) => getPickerSetting(editor, filetype).map(picker => entry => Future.nu(completer => {\n      const handler = (value, meta) => {\n        if (!isString(value)) {\n          throw new Error('Expected value to be string');\n        }\n        if (meta !== undefined && !isObject(meta)) {\n          throw new Error('Expected meta to be a object');\n        }\n        const r = {\n          value,\n          meta\n        };\n        completer(r);\n      };\n      const meta = {\n        filetype,\n        fieldname: entry.fieldname,\n        ...Optional.from(entry.meta).getOr({})\n      };\n      picker.call(editor, handler, entry.value, meta);\n    }));\n    const getTextSetting = value => Optional.from(value).filter(isString).getOrUndefined();\n    const getLinkInformation = editor => {\n      if (!useTypeaheadUrls(editor)) {\n        return Optional.none();\n      }\n      return Optional.some({\n        targets: LinkTargets.find(editor.getBody()),\n        anchorTop: getTextSetting(getAnchorTop(editor)),\n        anchorBottom: getTextSetting(getAnchorBottom(editor))\n      });\n    };\n    const getValidationHandler = editor => Optional.from(getFilePickerValidatorHandler(editor));\n    const UrlInputBackstage = editor => ({\n      getHistory,\n      addToHistory,\n      getLinkInformation: () => getLinkInformation(editor),\n      getValidationHandler: () => getValidationHandler(editor),\n      getUrlPicker: filetype => getUrlPicker(editor, filetype)\n    });\n\n    const init$6 = (lazySinks, editor, lazyAnchorbar, lazyBottomAnchorBar) => {\n      const contextMenuState = Cell(false);\n      const toolbar = HeaderBackstage(editor);\n      const providers = {\n        icons: () => editor.ui.registry.getAll().icons,\n        menuItems: () => editor.ui.registry.getAll().menuItems,\n        translate: global$8.translate,\n        isDisabled: () => editor.mode.isReadOnly() || !editor.ui.isEnabled(),\n        getOption: editor.options.get\n      };\n      const urlinput = UrlInputBackstage(editor);\n      const styles = init$7(editor);\n      const colorinput = ColorInputBackstage(editor);\n      const dialogSettings = DialogBackstage(editor);\n      const isContextMenuOpen = () => contextMenuState.get();\n      const setContextMenuState = state => contextMenuState.set(state);\n      const commonBackstage = {\n        shared: {\n          providers,\n          anchors: getAnchors(editor, lazyAnchorbar, lazyBottomAnchorBar, toolbar.isPositionedAtTop),\n          header: toolbar\n        },\n        urlinput,\n        styles,\n        colorinput,\n        dialog: dialogSettings,\n        isContextMenuOpen,\n        setContextMenuState\n      };\n      const popupBackstage = {\n        ...commonBackstage,\n        shared: {\n          ...commonBackstage.shared,\n          interpreter: s => interpretWithoutForm(s, {}, popupBackstage),\n          getSink: lazySinks.popup\n        }\n      };\n      const dialogBackstage = {\n        ...commonBackstage,\n        shared: {\n          ...commonBackstage.shared,\n          interpreter: s => interpretWithoutForm(s, {}, dialogBackstage),\n          getSink: lazySinks.dialog\n        }\n      };\n      return {\n        popup: popupBackstage,\n        dialog: dialogBackstage\n      };\n    };\n\n    const setup$b = (editor, mothership, uiMotherships) => {\n      const broadcastEvent = (name, evt) => {\n        each$1([mothership, ...uiMotherships], m => {\n          m.broadcastEvent(name, evt);\n        });\n      };\n      const broadcastOn = (channel, message) => {\n        each$1([mothership, ...uiMotherships], m => {\n          m.broadcastOn([channel], message);\n        });\n      };\n      const fireDismissPopups = evt => broadcastOn(dismissPopups(), {\n        target: evt.target\n      });\n      const doc = getDocument();\n      const onTouchstart = bind(doc, 'touchstart', fireDismissPopups);\n      const onTouchmove = bind(doc, 'touchmove', evt => broadcastEvent(documentTouchmove(), evt));\n      const onTouchend = bind(doc, 'touchend', evt => broadcastEvent(documentTouchend(), evt));\n      const onMousedown = bind(doc, 'mousedown', fireDismissPopups);\n      const onMouseup = bind(doc, 'mouseup', evt => {\n        if (evt.raw.button === 0) {\n          broadcastOn(mouseReleased(), {\n            target: evt.target\n          });\n        }\n      });\n      const onContentClick = raw => broadcastOn(dismissPopups(), {\n        target: SugarElement.fromDom(raw.target)\n      });\n      const onContentMouseup = raw => {\n        if (raw.button === 0) {\n          broadcastOn(mouseReleased(), {\n            target: SugarElement.fromDom(raw.target)\n          });\n        }\n      };\n      const onContentMousedown = () => {\n        each$1(editor.editorManager.get(), loopEditor => {\n          if (editor !== loopEditor) {\n            loopEditor.dispatch('DismissPopups', {\n              relatedTarget: editor\n            });\n          }\n        });\n      };\n      const onWindowScroll = evt => broadcastEvent(windowScroll(), fromRawEvent(evt));\n      const onWindowResize = evt => {\n        broadcastOn(repositionPopups(), {});\n        broadcastEvent(windowResize(), fromRawEvent(evt));\n      };\n      const dos = getRootNode(SugarElement.fromDom(editor.getElement()));\n      const onElementScroll = capture(dos, 'scroll', evt => {\n        requestAnimationFrame(() => {\n          const c = editor.getContainer();\n          if (c !== undefined && c !== null) {\n            const optScrollingContext = detectWhenSplitUiMode(editor, mothership.element);\n            const scrollers = optScrollingContext.map(sc => [sc.element, ...sc.others]).getOr([]);\n            if (exists(scrollers, s => eq(s, evt.target))) {\n              editor.dispatch('ElementScroll', {\n                target: evt.target.dom\n              });\n              broadcastEvent(externalElementScroll(), evt);\n            }\n          }\n        });\n      });\n      const onEditorResize = () => broadcastOn(repositionPopups(), {});\n      const onEditorProgress = evt => {\n        if (evt.state) {\n          broadcastOn(dismissPopups(), {\n            target: SugarElement.fromDom(editor.getContainer())\n          });\n        }\n      };\n      const onDismissPopups = event => {\n        broadcastOn(dismissPopups(), {\n          target: SugarElement.fromDom(event.relatedTarget.getContainer())\n        });\n      };\n      editor.on('PostRender', () => {\n        editor.on('click', onContentClick);\n        editor.on('tap', onContentClick);\n        editor.on('mouseup', onContentMouseup);\n        editor.on('mousedown', onContentMousedown);\n        editor.on('ScrollWindow', onWindowScroll);\n        editor.on('ResizeWindow', onWindowResize);\n        editor.on('ResizeEditor', onEditorResize);\n        editor.on('AfterProgressState', onEditorProgress);\n        editor.on('DismissPopups', onDismissPopups);\n      });\n      editor.on('remove', () => {\n        editor.off('click', onContentClick);\n        editor.off('tap', onContentClick);\n        editor.off('mouseup', onContentMouseup);\n        editor.off('mousedown', onContentMousedown);\n        editor.off('ScrollWindow', onWindowScroll);\n        editor.off('ResizeWindow', onWindowResize);\n        editor.off('ResizeEditor', onEditorResize);\n        editor.off('AfterProgressState', onEditorProgress);\n        editor.off('DismissPopups', onDismissPopups);\n        onMousedown.unbind();\n        onTouchstart.unbind();\n        onTouchmove.unbind();\n        onTouchend.unbind();\n        onMouseup.unbind();\n        onElementScroll.unbind();\n      });\n      editor.on('detach', () => {\n        each$1([mothership, ...uiMotherships], detachSystem);\n        each$1([mothership, ...uiMotherships], m => m.destroy());\n      });\n    };\n\n    const parts$a = AlloyParts;\n    const partType = PartType;\n\n    const schema$f = constant$1([defaulted('shell', false), required$1('makeItem'), defaulted('setupItem', noop), SketchBehaviours.field('listBehaviours', [Replacing])]);\n    const customListDetail = () => ({\n      behaviours: derive$1([Replacing.config({})])\n    });\n    const itemsPart = optional({\n      name: 'items',\n      overrides: customListDetail\n    });\n    const parts$9 = constant$1([itemsPart]);\n    const name = constant$1('CustomList');\n\n    const factory$f = (detail, components, _spec, _external) => {\n      const setItems = (list, items) => {\n        getListContainer(list).fold(() => {\n          console.error('Custom List was defined to not be a shell, but no item container was specified in components');\n          throw new Error('Custom List was defined to not be a shell, but no item container was specified in components');\n        }, container => {\n          const itemComps = Replacing.contents(container);\n          const numListsRequired = items.length;\n          const numListsToAdd = numListsRequired - itemComps.length;\n          const itemsToAdd = numListsToAdd > 0 ? range$2(numListsToAdd, () => detail.makeItem()) : [];\n          const itemsToRemove = itemComps.slice(numListsRequired);\n          each$1(itemsToRemove, item => Replacing.remove(container, item));\n          each$1(itemsToAdd, item => Replacing.append(container, item));\n          const builtLists = Replacing.contents(container);\n          each$1(builtLists, (item, i) => {\n            detail.setupItem(list, item, items[i], i);\n          });\n        });\n      };\n      const extra = detail.shell ? {\n        behaviours: [Replacing.config({})],\n        components: []\n      } : {\n        behaviours: [],\n        components\n      };\n      const getListContainer = component => detail.shell ? Optional.some(component) : getPart(component, detail, 'items');\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: extra.components,\n        behaviours: augment(detail.listBehaviours, extra.behaviours),\n        apis: {\n          setItems\n        }\n      };\n    };\n    const CustomList = composite({\n      name: name(),\n      configFields: schema$f(),\n      partFields: parts$9(),\n      factory: factory$f,\n      apis: {\n        setItems: (apis, list, items) => {\n          apis.setItems(list, items);\n        }\n      }\n    });\n\n    const schema$e = constant$1([required$1('dom'), defaulted('shell', true), field('toolbarBehaviours', [Replacing])]);\n    const enhanceGroups = () => ({\n      behaviours: derive$1([Replacing.config({})])\n    });\n    const parts$8 = constant$1([optional({\n      name: 'groups',\n      overrides: enhanceGroups\n    })]);\n\n    const factory$e = (detail, components, _spec, _externals) => {\n      const setGroups = (toolbar, groups) => {\n        getGroupContainer(toolbar).fold(() => {\n          console.error('Toolbar was defined to not be a shell, but no groups container was specified in components');\n          throw new Error('Toolbar was defined to not be a shell, but no groups container was specified in components');\n        }, container => {\n          Replacing.set(container, groups);\n        });\n      };\n      const getGroupContainer = component => detail.shell ? Optional.some(component) : getPart(component, detail, 'groups');\n      const extra = detail.shell ? {\n        behaviours: [Replacing.config({})],\n        components: []\n      } : {\n        behaviours: [],\n        components\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: extra.components,\n        behaviours: augment(detail.toolbarBehaviours, extra.behaviours),\n        apis: {\n          setGroups,\n          refresh: noop\n        },\n        domModification: {\n          attributes: {\n            role: 'group'\n          }\n        }\n      };\n    };\n    const Toolbar = composite({\n      name: 'Toolbar',\n      configFields: schema$e(),\n      partFields: parts$8(),\n      factory: factory$e,\n      apis: {\n        setGroups: (apis, toolbar, groups) => {\n          apis.setGroups(toolbar, groups);\n        }\n      }\n    });\n\n    const setup$a = noop;\n    const isDocked$2 = never;\n    const getBehaviours$1 = constant$1([]);\n\n    var StaticHeader = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        setup: setup$a,\n        isDocked: isDocked$2,\n        getBehaviours: getBehaviours$1\n    });\n\n    const getOffsetParent = element => {\n      const isFixed = is$1(getRaw(element, 'position'), 'fixed');\n      const offsetParent$1 = isFixed ? Optional.none() : offsetParent(element);\n      return offsetParent$1.orThunk(() => {\n        const marker = SugarElement.fromTag('span');\n        return parent(element).bind(parent => {\n          append$2(parent, marker);\n          const offsetParent$1 = offsetParent(marker);\n          remove$5(marker);\n          return offsetParent$1;\n        });\n      });\n    };\n    const getOrigin = element => getOffsetParent(element).map(absolute$3).getOrThunk(() => SugarPosition(0, 0));\n\n    const appear = (component, contextualInfo) => {\n      const elem = component.element;\n      add$2(elem, contextualInfo.transitionClass);\n      remove$2(elem, contextualInfo.fadeOutClass);\n      add$2(elem, contextualInfo.fadeInClass);\n      contextualInfo.onShow(component);\n    };\n    const disappear = (component, contextualInfo) => {\n      const elem = component.element;\n      add$2(elem, contextualInfo.transitionClass);\n      remove$2(elem, contextualInfo.fadeInClass);\n      add$2(elem, contextualInfo.fadeOutClass);\n      contextualInfo.onHide(component);\n    };\n    const isPartiallyVisible = (box, bounds) => box.y < bounds.bottom && box.bottom > bounds.y;\n    const isTopCompletelyVisible = (box, bounds) => box.y >= bounds.y;\n    const isBottomCompletelyVisible = (box, bounds) => box.bottom <= bounds.bottom;\n    const forceTopPosition = (winBox, leftX, viewport) => ({\n      location: 'top',\n      leftX,\n      topY: viewport.bounds.y - winBox.y\n    });\n    const forceBottomPosition = (winBox, leftX, viewport) => ({\n      location: 'bottom',\n      leftX,\n      bottomY: winBox.bottom - viewport.bounds.bottom\n    });\n    const getDockedLeftPosition = bounds => {\n      return bounds.box.x - bounds.win.x;\n    };\n    const tryDockingPosition = (modes, bounds, viewport) => {\n      const winBox = bounds.win;\n      const box = bounds.box;\n      const leftX = getDockedLeftPosition(bounds);\n      return findMap(modes, mode => {\n        switch (mode) {\n          case 'bottom':\n            return !isBottomCompletelyVisible(box, viewport.bounds) ? Optional.some(forceBottomPosition(winBox, leftX, viewport)) : Optional.none();\n          case 'top':\n            return !isTopCompletelyVisible(box, viewport.bounds) ? Optional.some(forceTopPosition(winBox, leftX, viewport)) : Optional.none();\n          default:\n            return Optional.none();\n        }\n      }).getOr({\n        location: 'no-dock'\n      });\n    };\n    const isVisibleForModes = (modes, box, viewport) => forall(modes, mode => {\n      switch (mode) {\n        case 'bottom':\n          return isBottomCompletelyVisible(box, viewport.bounds);\n        case 'top':\n          return isTopCompletelyVisible(box, viewport.bounds);\n      }\n    });\n    const getXYForRestoring = (pos, viewport) => {\n      const priorY = viewport.optScrollEnv.fold(constant$1(pos.bounds.y), scrollEnv => scrollEnv.scrollElmTop + (pos.bounds.y - scrollEnv.currentScrollTop));\n      return SugarPosition(pos.bounds.x, priorY);\n    };\n    const getXYForSaving = (box, viewport) => {\n      const priorY = viewport.optScrollEnv.fold(constant$1(box.y), scrollEnv => box.y + scrollEnv.currentScrollTop - scrollEnv.scrollElmTop);\n      return SugarPosition(box.x, priorY);\n    };\n    const getPrior = (elem, viewport, state) => state.getInitialPos().map(pos => {\n      const xy = getXYForRestoring(pos, viewport);\n      return {\n        box: bounds(xy.left, xy.top, get$c(elem), get$d(elem)),\n        location: pos.location\n      };\n    });\n    const storePrior = (elem, box, viewport, state, decision) => {\n      const xy = getXYForSaving(box, viewport);\n      const bounds$1 = bounds(xy.left, xy.top, box.width, box.height);\n      state.setInitialPos({\n        style: getAllRaw(elem),\n        position: get$e(elem, 'position') || 'static',\n        bounds: bounds$1,\n        location: decision.location\n      });\n    };\n    const storePriorIfNone = (elem, box, viewport, state, decision) => {\n      state.getInitialPos().fold(() => storePrior(elem, box, viewport, state, decision), () => noop);\n    };\n    const revertToOriginal = (elem, box, state) => state.getInitialPos().bind(position => {\n      var _a;\n      state.clearInitialPos();\n      switch (position.position) {\n        case 'static':\n          return Optional.some({\n            morph: 'static'\n          });\n        case 'absolute':\n          const offsetParent = getOffsetParent(elem).getOr(body());\n          const offsetBox = box$1(offsetParent);\n          const scrollDelta = (_a = offsetParent.dom.scrollTop) !== null && _a !== void 0 ? _a : 0;\n          return Optional.some({\n            morph: 'absolute',\n            positionCss: NuPositionCss('absolute', get$g(position.style, 'left').map(_left => box.x - offsetBox.x), get$g(position.style, 'top').map(_top => box.y - offsetBox.y + scrollDelta), get$g(position.style, 'right').map(_right => offsetBox.right - box.right), get$g(position.style, 'bottom').map(_bottom => offsetBox.bottom - box.bottom))\n          });\n        default:\n          return Optional.none();\n      }\n    });\n    const tryMorphToOriginal = (elem, viewport, state) => getPrior(elem, viewport, state).filter(({\n      box\n    }) => isVisibleForModes(state.getModes(), box, viewport)).bind(({\n      box\n    }) => revertToOriginal(elem, box, state));\n    const tryDecisionToFixedMorph = decision => {\n      switch (decision.location) {\n        case 'top':\n          {\n            return Optional.some({\n              morph: 'fixed',\n              positionCss: NuPositionCss('fixed', Optional.some(decision.leftX), Optional.some(decision.topY), Optional.none(), Optional.none())\n            });\n          }\n        case 'bottom':\n          {\n            return Optional.some({\n              morph: 'fixed',\n              positionCss: NuPositionCss('fixed', Optional.some(decision.leftX), Optional.none(), Optional.none(), Optional.some(decision.bottomY))\n            });\n          }\n        default:\n          return Optional.none();\n      }\n    };\n    const tryMorphToFixed = (elem, viewport, state) => {\n      const box = box$1(elem);\n      const winBox = win();\n      const decision = tryDockingPosition(state.getModes(), {\n        win: winBox,\n        box\n      }, viewport);\n      if (decision.location === 'top' || decision.location === 'bottom') {\n        storePrior(elem, box, viewport, state, decision);\n        return tryDecisionToFixedMorph(decision);\n      } else {\n        return Optional.none();\n      }\n    };\n    const tryMorphToOriginalOrUpdateFixed = (elem, viewport, state) => {\n      return tryMorphToOriginal(elem, viewport, state).orThunk(() => {\n        return viewport.optScrollEnv.bind(_ => getPrior(elem, viewport, state)).bind(({\n          box,\n          location\n        }) => {\n          const winBox = win();\n          const leftX = getDockedLeftPosition({\n            win: winBox,\n            box\n          });\n          const decision = location === 'top' ? forceTopPosition(winBox, leftX, viewport) : forceBottomPosition(winBox, leftX, viewport);\n          return tryDecisionToFixedMorph(decision);\n        });\n      });\n    };\n    const tryMorph = (component, viewport, state) => {\n      const elem = component.element;\n      const isDocked = is$1(getRaw(elem, 'position'), 'fixed');\n      return isDocked ? tryMorphToOriginalOrUpdateFixed(elem, viewport, state) : tryMorphToFixed(elem, viewport, state);\n    };\n    const calculateMorphToOriginal = (component, viewport, state) => {\n      const elem = component.element;\n      return getPrior(elem, viewport, state).bind(({\n        box\n      }) => revertToOriginal(elem, box, state));\n    };\n    const forceDockWith = (elem, viewport, state, getDecision) => {\n      const box = box$1(elem);\n      const winBox = win();\n      const leftX = getDockedLeftPosition({\n        win: winBox,\n        box\n      });\n      const decision = getDecision(winBox, leftX, viewport);\n      if (decision.location === 'bottom' || decision.location === 'top') {\n        storePriorIfNone(elem, box, viewport, state, decision);\n        return tryDecisionToFixedMorph(decision);\n      } else {\n        return Optional.none();\n      }\n    };\n\n    const morphToStatic = (component, config, state) => {\n      state.setDocked(false);\n      each$1(['left', 'right', 'top', 'bottom', 'position'], prop => remove$6(component.element, prop));\n      config.onUndocked(component);\n    };\n    const morphToCoord = (component, config, state, position) => {\n      const isDocked = position.position === 'fixed';\n      state.setDocked(isDocked);\n      applyPositionCss(component.element, position);\n      const method = isDocked ? config.onDocked : config.onUndocked;\n      method(component);\n    };\n    const updateVisibility = (component, config, state, viewport, morphToDocked = false) => {\n      config.contextual.each(contextInfo => {\n        contextInfo.lazyContext(component).each(box => {\n          const isVisible = isPartiallyVisible(box, viewport.bounds);\n          if (isVisible !== state.isVisible()) {\n            state.setVisible(isVisible);\n            if (morphToDocked && !isVisible) {\n              add$1(component.element, [contextInfo.fadeOutClass]);\n              contextInfo.onHide(component);\n            } else {\n              const method = isVisible ? appear : disappear;\n              method(component, contextInfo);\n            }\n          }\n        });\n      });\n    };\n    const applyFixedMorph = (component, config, state, viewport, morph) => {\n      updateVisibility(component, config, state, viewport, true);\n      morphToCoord(component, config, state, morph.positionCss);\n    };\n    const applyMorph = (component, config, state, viewport, morph) => {\n      switch (morph.morph) {\n        case 'static':\n          {\n            return morphToStatic(component, config, state);\n          }\n        case 'absolute':\n          {\n            return morphToCoord(component, config, state, morph.positionCss);\n          }\n        case 'fixed':\n          {\n            return applyFixedMorph(component, config, state, viewport, morph);\n          }\n      }\n    };\n    const refreshInternal = (component, config, state) => {\n      const viewport = config.lazyViewport(component);\n      updateVisibility(component, config, state, viewport);\n      tryMorph(component, viewport, state).each(morph => {\n        applyMorph(component, config, state, viewport, morph);\n      });\n    };\n    const resetInternal = (component, config, state) => {\n      const elem = component.element;\n      state.setDocked(false);\n      const viewport = config.lazyViewport(component);\n      calculateMorphToOriginal(component, viewport, state).each(staticOrAbsoluteMorph => {\n        switch (staticOrAbsoluteMorph.morph) {\n          case 'static':\n            {\n              morphToStatic(component, config, state);\n              break;\n            }\n          case 'absolute':\n            {\n              morphToCoord(component, config, state, staticOrAbsoluteMorph.positionCss);\n              break;\n            }\n        }\n      });\n      state.setVisible(true);\n      config.contextual.each(contextInfo => {\n        remove$1(elem, [contextInfo.fadeInClass, contextInfo.fadeOutClass, contextInfo.transitionClass]);\n        contextInfo.onShow(component);\n      });\n      refresh$3(component, config, state);\n    };\n    const refresh$3 = (component, config, state) => {\n      if (component.getSystem().isConnected()) {\n        refreshInternal(component, config, state);\n      }\n    };\n    const reset = (component, config, state) => {\n      if (state.isDocked()) {\n        resetInternal(component, config, state);\n      }\n    };\n    const forceDockWithDecision = getDecision => (component, config, state) => {\n      const viewport = config.lazyViewport(component);\n      const optMorph = forceDockWith(component.element, viewport, state, getDecision);\n      optMorph.each(morph => {\n        applyFixedMorph(component, config, state, viewport, morph);\n      });\n    };\n    const forceDockToTop = forceDockWithDecision(forceTopPosition);\n    const forceDockToBottom = forceDockWithDecision(forceBottomPosition);\n    const isDocked$1 = (component, config, state) => state.isDocked();\n    const setModes = (component, config, state, modes) => state.setModes(modes);\n    const getModes = (component, config, state) => state.getModes();\n\n    var DockingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        refresh: refresh$3,\n        reset: reset,\n        isDocked: isDocked$1,\n        getModes: getModes,\n        setModes: setModes,\n        forceDockToTop: forceDockToTop,\n        forceDockToBottom: forceDockToBottom\n    });\n\n    const events$4 = (dockInfo, dockState) => derive$2([runOnSource(transitionend(), (component, simulatedEvent) => {\n      dockInfo.contextual.each(contextInfo => {\n        if (has(component.element, contextInfo.transitionClass)) {\n          remove$1(component.element, [contextInfo.transitionClass, contextInfo.fadeInClass]);\n          const notify = dockState.isVisible() ? contextInfo.onShown : contextInfo.onHidden;\n          notify(component);\n        }\n        simulatedEvent.stop();\n      });\n    }), run$1(windowScroll(), (component, _) => {\n      refresh$3(component, dockInfo, dockState);\n    }), run$1(externalElementScroll(), (component, _) => {\n      refresh$3(component, dockInfo, dockState);\n    }), run$1(windowResize(), (component, _) => {\n      reset(component, dockInfo, dockState);\n    })]);\n\n    var ActiveDocking = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events$4\n    });\n\n    var DockingSchema = [optionObjOf('contextual', [requiredString('fadeInClass'), requiredString('fadeOutClass'), requiredString('transitionClass'), requiredFunction('lazyContext'), onHandler('onShow'), onHandler('onShown'), onHandler('onHide'), onHandler('onHidden')]), defaultedFunction('lazyViewport', () => ({\n      bounds: win(),\n      optScrollEnv: Optional.none()\n    })), defaultedArrayOf('modes', ['top', 'bottom'], string), onHandler('onDocked'), onHandler('onUndocked')];\n\n    const init$5 = spec => {\n      const docked = Cell(false);\n      const visible = Cell(true);\n      const initialBounds = value$2();\n      const modes = Cell(spec.modes);\n      const readState = () => \"docked:  \".concat(docked.get(), \", visible: \").concat(visible.get(), \", modes: \").concat(modes.get().join(','));\n      return nu$8({\n        isDocked: docked.get,\n        setDocked: docked.set,\n        getInitialPos: initialBounds.get,\n        setInitialPos: initialBounds.set,\n        clearInitialPos: initialBounds.clear,\n        isVisible: visible.get,\n        setVisible: visible.set,\n        getModes: modes.get,\n        setModes: modes.set,\n        readState\n      });\n    };\n\n    var DockingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$5\n    });\n\n    const Docking = create$4({\n      fields: DockingSchema,\n      name: 'docking',\n      active: ActiveDocking,\n      apis: DockingApis,\n      state: DockingState\n    });\n\n    const toolbarHeightChange = constant$1(generate$6('toolbar-height-change'));\n\n    const visibility = {\n      fadeInClass: 'tox-editor-dock-fadein',\n      fadeOutClass: 'tox-editor-dock-fadeout',\n      transitionClass: 'tox-editor-dock-transition'\n    };\n    const editorStickyOnClass = 'tox-tinymce--toolbar-sticky-on';\n    const editorStickyOffClass = 'tox-tinymce--toolbar-sticky-off';\n    const scrollFromBehindHeader = (e, containerHeader) => {\n      const doc = owner$4(containerHeader);\n      const win = defaultView(containerHeader);\n      const viewHeight = win.dom.innerHeight;\n      const scrollPos = get$b(doc);\n      const markerElement = SugarElement.fromDom(e.elm);\n      const markerPos = absolute$2(markerElement);\n      const markerHeight = get$d(markerElement);\n      const markerTop = markerPos.y;\n      const markerBottom = markerTop + markerHeight;\n      const editorHeaderPos = absolute$3(containerHeader);\n      const editorHeaderHeight = get$d(containerHeader);\n      const editorHeaderTop = editorHeaderPos.top;\n      const editorHeaderBottom = editorHeaderTop + editorHeaderHeight;\n      const editorHeaderDockedAtTop = Math.abs(editorHeaderTop - scrollPos.top) < 2;\n      const editorHeaderDockedAtBottom = Math.abs(editorHeaderBottom - (scrollPos.top + viewHeight)) < 2;\n      if (editorHeaderDockedAtTop && markerTop < editorHeaderBottom) {\n        to(scrollPos.left, markerTop - editorHeaderHeight, doc);\n      } else if (editorHeaderDockedAtBottom && markerBottom > editorHeaderTop) {\n        const y = markerTop - viewHeight + markerHeight + editorHeaderHeight;\n        to(scrollPos.left, y, doc);\n      }\n    };\n    const isDockedMode = (header, mode) => contains$2(Docking.getModes(header), mode);\n    const updateIframeContentFlow = header => {\n      const getOccupiedHeight = elm => getOuter$2(elm) + (parseInt(get$e(elm, 'margin-top'), 10) || 0) + (parseInt(get$e(elm, 'margin-bottom'), 10) || 0);\n      const elm = header.element;\n      parentElement(elm).each(parentElem => {\n        const padding = 'padding-' + Docking.getModes(header)[0];\n        if (Docking.isDocked(header)) {\n          const parentWidth = get$c(parentElem);\n          set$8(elm, 'width', parentWidth + 'px');\n          set$8(parentElem, padding, getOccupiedHeight(elm) + 'px');\n        } else {\n          remove$6(elm, 'width');\n          remove$6(parentElem, padding);\n        }\n      });\n    };\n    const updateSinkVisibility = (sinkElem, visible) => {\n      if (visible) {\n        remove$2(sinkElem, visibility.fadeOutClass);\n        add$1(sinkElem, [visibility.transitionClass, visibility.fadeInClass]);\n      } else {\n        remove$2(sinkElem, visibility.fadeInClass);\n        add$1(sinkElem, [visibility.fadeOutClass, visibility.transitionClass]);\n      }\n    };\n    const updateEditorClasses = (editor, docked) => {\n      const editorContainer = SugarElement.fromDom(editor.getContainer());\n      if (docked) {\n        add$2(editorContainer, editorStickyOnClass);\n        remove$2(editorContainer, editorStickyOffClass);\n      } else {\n        add$2(editorContainer, editorStickyOffClass);\n        remove$2(editorContainer, editorStickyOnClass);\n      }\n    };\n    const restoreFocus = (headerElem, focusedElem) => {\n      const ownerDoc = owner$4(focusedElem);\n      active$1(ownerDoc).filter(activeElm => !eq(focusedElem, activeElm)).filter(activeElm => eq(activeElm, SugarElement.fromDom(ownerDoc.dom.body)) || contains(headerElem, activeElm)).each(() => focus$3(focusedElem));\n    };\n    const findFocusedElem = (rootElm, lazySink) => search(rootElm).orThunk(() => lazySink().toOptional().bind(sink => search(sink.element)));\n    const setup$9 = (editor, sharedBackstage, lazyHeader) => {\n      if (!editor.inline) {\n        if (!sharedBackstage.header.isPositionedAtTop()) {\n          editor.on('ResizeEditor', () => {\n            lazyHeader().each(Docking.reset);\n          });\n        }\n        editor.on('ResizeWindow ResizeEditor', () => {\n          lazyHeader().each(updateIframeContentFlow);\n        });\n        editor.on('SkinLoaded', () => {\n          lazyHeader().each(comp => {\n            Docking.isDocked(comp) ? Docking.reset(comp) : Docking.refresh(comp);\n          });\n        });\n        editor.on('FullscreenStateChanged', () => {\n          lazyHeader().each(Docking.reset);\n        });\n      }\n      editor.on('AfterScrollIntoView', e => {\n        lazyHeader().each(header => {\n          Docking.refresh(header);\n          const headerElem = header.element;\n          if (isVisible(headerElem)) {\n            scrollFromBehindHeader(e, headerElem);\n          }\n        });\n      });\n      editor.on('PostRender', () => {\n        updateEditorClasses(editor, false);\n      });\n    };\n    const isDocked = lazyHeader => lazyHeader().map(Docking.isDocked).getOr(false);\n    const getIframeBehaviours = () => [Receiving.config({\n      channels: {\n        [toolbarHeightChange()]: {\n          onReceive: updateIframeContentFlow\n        }\n      }\n    })];\n    const getBehaviours = (editor, sharedBackstage) => {\n      const focusedElm = value$2();\n      const lazySink = sharedBackstage.getSink;\n      const runOnSinkElement = f => {\n        lazySink().each(sink => f(sink.element));\n      };\n      const onDockingSwitch = comp => {\n        if (!editor.inline) {\n          updateIframeContentFlow(comp);\n        }\n        updateEditorClasses(editor, Docking.isDocked(comp));\n        comp.getSystem().broadcastOn([repositionPopups()], {});\n        lazySink().each(sink => sink.getSystem().broadcastOn([repositionPopups()], {}));\n      };\n      const additionalBehaviours = editor.inline ? [] : getIframeBehaviours();\n      return [Focusing.config({}), Docking.config({\n        contextual: {\n          lazyContext: comp => {\n            const headerHeight = getOuter$2(comp.element);\n            const container = editor.inline ? editor.getContentAreaContainer() : editor.getContainer();\n            return Optional.from(container).map(c => {\n              const box = box$1(SugarElement.fromDom(c));\n              const optScrollingContext = detectWhenSplitUiMode(editor, comp.element);\n              return optScrollingContext.fold(() => {\n                const boxHeight = box.height - headerHeight;\n                const topBound = box.y + (isDockedMode(comp, 'top') ? 0 : headerHeight);\n                return bounds(box.x, topBound, box.width, boxHeight);\n              }, scrollEnv => {\n                const constrainedBounds = constrain(box, getBoundsFrom(scrollEnv));\n                const constrainedBoundsY = isDockedMode(comp, 'top') ? constrainedBounds.y : constrainedBounds.y + headerHeight;\n                return bounds(constrainedBounds.x, constrainedBoundsY, constrainedBounds.width, constrainedBounds.height - headerHeight);\n              });\n            });\n          },\n          onShow: () => {\n            runOnSinkElement(elem => updateSinkVisibility(elem, true));\n          },\n          onShown: comp => {\n            runOnSinkElement(elem => remove$1(elem, [visibility.transitionClass, visibility.fadeInClass]));\n            focusedElm.get().each(elem => {\n              restoreFocus(comp.element, elem);\n              focusedElm.clear();\n            });\n          },\n          onHide: comp => {\n            findFocusedElem(comp.element, lazySink).fold(focusedElm.clear, focusedElm.set);\n            runOnSinkElement(elem => updateSinkVisibility(elem, false));\n          },\n          onHidden: () => {\n            runOnSinkElement(elem => remove$1(elem, [visibility.transitionClass]));\n          },\n          ...visibility\n        },\n        lazyViewport: comp => {\n          const optScrollingContext = detectWhenSplitUiMode(editor, comp.element);\n          return optScrollingContext.fold(() => {\n            const boundsWithoutOffset = win();\n            const offset = getStickyToolbarOffset(editor);\n            const top = boundsWithoutOffset.y + (isDockedMode(comp, 'top') ? offset : 0);\n            const height = boundsWithoutOffset.height - (isDockedMode(comp, 'bottom') ? offset : 0);\n            return {\n              bounds: bounds(boundsWithoutOffset.x, top, boundsWithoutOffset.width, height),\n              optScrollEnv: Optional.none()\n            };\n          }, sc => {\n            const combinedBounds = getBoundsFrom(sc);\n            return {\n              bounds: combinedBounds,\n              optScrollEnv: Optional.some({\n                currentScrollTop: sc.element.dom.scrollTop,\n                scrollElmTop: absolute$3(sc.element).top\n              })\n            };\n          });\n        },\n        modes: [sharedBackstage.header.getDockingMode()],\n        onDocked: onDockingSwitch,\n        onUndocked: onDockingSwitch\n      }), ...additionalBehaviours];\n    };\n\n    var StickyHeader = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        setup: setup$9,\n        isDocked: isDocked,\n        getBehaviours: getBehaviours\n    });\n\n    const renderHeader = spec => {\n      const editor = spec.editor;\n      const getBehaviours$2 = spec.sticky ? getBehaviours : getBehaviours$1;\n      return {\n        uid: spec.uid,\n        dom: spec.dom,\n        components: spec.components,\n        behaviours: derive$1(getBehaviours$2(editor, spec.sharedBackstage))\n      };\n    };\n\n    const groupToolbarButtonSchema = objOf([type, requiredOf('items', oneOf([arrOfObj([name$1, requiredArrayOf('items', string)]), string]))].concat(baseToolbarButtonFields));\n    const createGroupToolbarButton = spec => asRaw('GroupToolbarButton', groupToolbarButtonSchema, spec);\n\n    const baseMenuButtonFields = [optionString('text'), optionString('tooltip'), optionString('icon'), defaultedOf('search', false, oneOf([boolean, objOf([optionString('placeholder')])], x => {\n      if (isBoolean(x)) {\n        return x ? Optional.some({\n          placeholder: Optional.none()\n        }) : Optional.none();\n      } else {\n        return Optional.some(x);\n      }\n    })), requiredFunction('fetch'), defaultedFunction('onSetup', () => noop)];\n\n    const MenuButtonSchema = objOf([type, ...baseMenuButtonFields]);\n    const createMenuButton = spec => asRaw('menubutton', MenuButtonSchema, spec);\n\n    const splitButtonSchema = objOf([type, optionalTooltip, optionalIcon, optionalText, optionalSelect, fetch$1, onSetup, defaultedStringEnum('presets', 'normal', ['normal', 'color', 'listpreview']), defaultedColumns(1), onAction, onItemAction]);\n    const createSplitButton = spec => asRaw('SplitButton', splitButtonSchema, spec);\n\n    const factory$d = (detail, spec) => {\n      const setMenus = (comp, menus) => {\n        const newMenus = map$2(menus, m => {\n          const buttonSpec = {\n            type: 'menubutton',\n            text: m.text,\n            fetch: callback => {\n              callback(m.getItems());\n            }\n          };\n          const internal = createMenuButton(buttonSpec).mapError(errInfo => formatError(errInfo)).getOrDie();\n          return renderMenuButton(internal, 'tox-mbtn', spec.backstage, Optional.some('menuitem'));\n        });\n        Replacing.set(comp, newMenus);\n      };\n      const apis = {\n        focus: Keying.focusIn,\n        setMenus\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components: [],\n        behaviours: derive$1([Replacing.config({}), config('menubar-events', [runOnAttached(component => {\n          detail.onSetup(component);\n        }), run$1(mouseover(), (comp, se) => {\n          descendant(comp.element, '.' + 'tox-mbtn--active').each(activeButton => {\n            closest$1(se.event.target, '.' + 'tox-mbtn').each(hoveredButton => {\n              if (!eq(activeButton, hoveredButton)) {\n                comp.getSystem().getByDom(activeButton).each(activeComp => {\n                  comp.getSystem().getByDom(hoveredButton).each(hoveredComp => {\n                    Dropdown.expand(hoveredComp);\n                    Dropdown.close(activeComp);\n                    Focusing.focus(hoveredComp);\n                  });\n                });\n              }\n            });\n          });\n        }), run$1(focusShifted(), (comp, se) => {\n          se.event.prevFocus.bind(prev => comp.getSystem().getByDom(prev).toOptional()).each(prev => {\n            se.event.newFocus.bind(nu => comp.getSystem().getByDom(nu).toOptional()).each(nu => {\n              if (Dropdown.isOpen(prev)) {\n                Dropdown.expand(nu);\n                Dropdown.close(prev);\n              }\n            });\n          });\n        })]), Keying.config({\n          mode: 'flow',\n          selector: '.' + 'tox-mbtn',\n          onEscape: comp => {\n            detail.onEscape(comp);\n            return Optional.some(true);\n          }\n        }), Tabstopping.config({})]),\n        apis,\n        domModification: {\n          attributes: {\n            role: 'menubar'\n          }\n        }\n      };\n    };\n    var SilverMenubar = single({\n      factory: factory$d,\n      name: 'silver.Menubar',\n      configFields: [required$1('dom'), required$1('uid'), required$1('onEscape'), required$1('backstage'), defaulted('onSetup', noop)],\n      apis: {\n        focus: (apis, comp) => {\n          apis.focus(comp);\n        },\n        setMenus: (apis, comp, menus) => {\n          apis.setMenus(comp, menus);\n        }\n      }\n    });\n\n    const promotionMessage = '\\u26A1\\ufe0fUpgrade';\n    const promotionLink = 'https://www.tiny.cloud/tinymce-self-hosted-premium-features/?utm_campaign=self_hosted_upgrade_promo&utm_source=tiny&utm_medium=referral';\n    const renderPromotion = spec => {\n      return {\n        uid: spec.uid,\n        dom: spec.dom,\n        components: [{\n          dom: {\n            tag: 'a',\n            attributes: {\n              'href': promotionLink,\n              'rel': 'noopener',\n              'target': '_blank',\n              'aria-hidden': 'true'\n            },\n            classes: ['tox-promotion-link'],\n            innerHtml: promotionMessage\n          }\n        }]\n      };\n    };\n\n    const owner = 'container';\n    const schema$d = [field('slotBehaviours', [])];\n    const getPartName = name => '<alloy.field.' + name + '>';\n    const sketch = sSpec => {\n      const parts = (() => {\n        const record = [];\n        const slot = (name, config) => {\n          record.push(name);\n          return generateOne$1(owner, getPartName(name), config);\n        };\n        return {\n          slot,\n          record: constant$1(record)\n        };\n      })();\n      const spec = sSpec(parts);\n      const partNames = parts.record();\n      const fieldParts = map$2(partNames, n => required({\n        name: n,\n        pname: getPartName(n)\n      }));\n      return composite$1(owner, schema$d, fieldParts, make$1, spec);\n    };\n    const make$1 = (detail, components) => {\n      const getSlotNames = _ => getAllPartNames(detail);\n      const getSlot = (container, key) => getPart(container, detail, key);\n      const onSlot = (f, def) => (container, key) => getPart(container, detail, key).map(slot => f(slot, key)).getOr(def);\n      const onSlots = f => (container, keys) => {\n        each$1(keys, key => f(container, key));\n      };\n      const doShowing = (comp, _key) => get$f(comp.element, 'aria-hidden') !== 'true';\n      const doShow = (comp, key) => {\n        if (!doShowing(comp)) {\n          const element = comp.element;\n          remove$6(element, 'display');\n          remove$7(element, 'aria-hidden');\n          emitWith(comp, slotVisibility(), {\n            name: key,\n            visible: true\n          });\n        }\n      };\n      const doHide = (comp, key) => {\n        if (doShowing(comp)) {\n          const element = comp.element;\n          set$8(element, 'display', 'none');\n          set$9(element, 'aria-hidden', 'true');\n          emitWith(comp, slotVisibility(), {\n            name: key,\n            visible: false\n          });\n        }\n      };\n      const isShowing = onSlot(doShowing, false);\n      const hideSlot = onSlot(doHide);\n      const hideSlots = onSlots(hideSlot);\n      const hideAllSlots = container => hideSlots(container, getSlotNames());\n      const showSlot = onSlot(doShow);\n      const apis = {\n        getSlotNames,\n        getSlot,\n        isShowing,\n        hideSlot,\n        hideAllSlots,\n        showSlot\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        behaviours: get$3(detail.slotBehaviours),\n        apis\n      };\n    };\n    const slotApis = map$1({\n      getSlotNames: (apis, c) => apis.getSlotNames(c),\n      getSlot: (apis, c, key) => apis.getSlot(c, key),\n      isShowing: (apis, c, key) => apis.isShowing(c, key),\n      hideSlot: (apis, c, key) => apis.hideSlot(c, key),\n      hideAllSlots: (apis, c) => apis.hideAllSlots(c),\n      showSlot: (apis, c, key) => apis.showSlot(c, key)\n    }, value => makeApi(value));\n    const SlotContainer = {\n      ...slotApis,\n      ...{\n        sketch\n      }\n    };\n\n    const sidebarSchema = objOf([optionalIcon, optionalTooltip, defaultedFunction('onShow', noop), defaultedFunction('onHide', noop), onSetup]);\n    const createSidebar = spec => asRaw('sidebar', sidebarSchema, spec);\n\n    const setup$8 = editor => {\n      const {\n        sidebars\n      } = editor.ui.registry.getAll();\n      each$1(keys(sidebars), name => {\n        const spec = sidebars[name];\n        const isActive = () => is$1(Optional.from(editor.queryCommandValue('ToggleSidebar')), name);\n        editor.ui.registry.addToggleButton(name, {\n          icon: spec.icon,\n          tooltip: spec.tooltip,\n          onAction: buttonApi => {\n            editor.execCommand('ToggleSidebar', false, name);\n            buttonApi.setActive(isActive());\n          },\n          onSetup: buttonApi => {\n            buttonApi.setActive(isActive());\n            const handleToggle = () => buttonApi.setActive(isActive());\n            editor.on('ToggleSidebar', handleToggle);\n            return () => {\n              editor.off('ToggleSidebar', handleToggle);\n            };\n          }\n        });\n      });\n    };\n    const getApi = comp => ({\n      element: () => comp.element.dom\n    });\n    const makePanels = (parts, panelConfigs) => {\n      const specs = map$2(keys(panelConfigs), name => {\n        const spec = panelConfigs[name];\n        const bridged = getOrDie(createSidebar(spec));\n        return {\n          name,\n          getApi,\n          onSetup: bridged.onSetup,\n          onShow: bridged.onShow,\n          onHide: bridged.onHide\n        };\n      });\n      return map$2(specs, spec => {\n        const editorOffCell = Cell(noop);\n        return parts.slot(spec.name, {\n          dom: {\n            tag: 'div',\n            classes: ['tox-sidebar__pane']\n          },\n          behaviours: SimpleBehaviours.unnamedEvents([onControlAttached(spec, editorOffCell), onControlDetached(spec, editorOffCell), run$1(slotVisibility(), (sidepanel, se) => {\n            const data = se.event;\n            const optSidePanelSpec = find$5(specs, config => config.name === data.name);\n            optSidePanelSpec.each(sidePanelSpec => {\n              const handler = data.visible ? sidePanelSpec.onShow : sidePanelSpec.onHide;\n              handler(sidePanelSpec.getApi(sidepanel));\n            });\n          })])\n        });\n      });\n    };\n    const makeSidebar = panelConfigs => SlotContainer.sketch(parts => ({\n      dom: {\n        tag: 'div',\n        classes: ['tox-sidebar__pane-container']\n      },\n      components: makePanels(parts, panelConfigs),\n      slotBehaviours: SimpleBehaviours.unnamedEvents([runOnAttached(slotContainer => SlotContainer.hideAllSlots(slotContainer))])\n    }));\n    const setSidebar = (sidebar, panelConfigs, showSidebar) => {\n      const optSlider = Composing.getCurrent(sidebar);\n      optSlider.each(slider => {\n        Replacing.set(slider, [makeSidebar(panelConfigs)]);\n        const configKey = showSidebar === null || showSidebar === void 0 ? void 0 : showSidebar.toLowerCase();\n        if (isString(configKey) && has$2(panelConfigs, configKey)) {\n          Composing.getCurrent(slider).each(slotContainer => {\n            SlotContainer.showSlot(slotContainer, configKey);\n            Sliding.immediateGrow(slider);\n            remove$6(slider.element, 'width');\n            updateSidebarRoleOnToggle(sidebar.element, 'region');\n          });\n        }\n      });\n    };\n    const updateSidebarRoleOnToggle = (sidebar, sidebarState) => {\n      set$9(sidebar, 'role', sidebarState);\n    };\n    const toggleSidebar = (sidebar, name) => {\n      const optSlider = Composing.getCurrent(sidebar);\n      optSlider.each(slider => {\n        const optSlotContainer = Composing.getCurrent(slider);\n        optSlotContainer.each(slotContainer => {\n          if (Sliding.hasGrown(slider)) {\n            if (SlotContainer.isShowing(slotContainer, name)) {\n              Sliding.shrink(slider);\n              updateSidebarRoleOnToggle(sidebar.element, 'presentation');\n            } else {\n              SlotContainer.hideAllSlots(slotContainer);\n              SlotContainer.showSlot(slotContainer, name);\n              updateSidebarRoleOnToggle(sidebar.element, 'region');\n            }\n          } else {\n            SlotContainer.hideAllSlots(slotContainer);\n            SlotContainer.showSlot(slotContainer, name);\n            Sliding.grow(slider);\n            updateSidebarRoleOnToggle(sidebar.element, 'region');\n          }\n        });\n      });\n    };\n    const whichSidebar = sidebar => {\n      const optSlider = Composing.getCurrent(sidebar);\n      return optSlider.bind(slider => {\n        const sidebarOpen = Sliding.isGrowing(slider) || Sliding.hasGrown(slider);\n        if (sidebarOpen) {\n          const optSlotContainer = Composing.getCurrent(slider);\n          return optSlotContainer.bind(slotContainer => find$5(SlotContainer.getSlotNames(slotContainer), name => SlotContainer.isShowing(slotContainer, name)));\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    const fixSize = generate$6('FixSizeEvent');\n    const autoSize = generate$6('AutoSizeEvent');\n    const renderSidebar = spec => ({\n      uid: spec.uid,\n      dom: {\n        tag: 'div',\n        classes: ['tox-sidebar'],\n        attributes: {\n          role: 'presentation'\n        }\n      },\n      components: [{\n        dom: {\n          tag: 'div',\n          classes: ['tox-sidebar__slider']\n        },\n        components: [],\n        behaviours: derive$1([Tabstopping.config({}), Focusing.config({}), Sliding.config({\n          dimension: {\n            property: 'width'\n          },\n          closedClass: 'tox-sidebar--sliding-closed',\n          openClass: 'tox-sidebar--sliding-open',\n          shrinkingClass: 'tox-sidebar--sliding-shrinking',\n          growingClass: 'tox-sidebar--sliding-growing',\n          onShrunk: slider => {\n            const optSlotContainer = Composing.getCurrent(slider);\n            optSlotContainer.each(SlotContainer.hideAllSlots);\n            emit(slider, autoSize);\n          },\n          onGrown: slider => {\n            emit(slider, autoSize);\n          },\n          onStartGrow: slider => {\n            emitWith(slider, fixSize, {\n              width: getRaw(slider.element, 'width').getOr('')\n            });\n          },\n          onStartShrink: slider => {\n            emitWith(slider, fixSize, {\n              width: get$c(slider.element) + 'px'\n            });\n          }\n        }), Replacing.config({}), Composing.config({\n          find: comp => {\n            const children = Replacing.contents(comp);\n            return head(children);\n          }\n        })])\n      }],\n      behaviours: derive$1([ComposingConfigs.childAt(0), config('sidebar-sliding-events', [run$1(fixSize, (comp, se) => {\n        set$8(comp.element, 'width', se.event.width);\n      }), run$1(autoSize, (comp, _se) => {\n        remove$6(comp.element, 'width');\n      })])])\n    });\n\n    const block = (component, config, state, getBusySpec) => {\n      set$9(component.element, 'aria-busy', true);\n      const root = config.getRoot(component).getOr(component);\n      const blockerBehaviours = derive$1([Keying.config({\n        mode: 'special',\n        onTab: () => Optional.some(true),\n        onShiftTab: () => Optional.some(true)\n      }), Focusing.config({})]);\n      const blockSpec = getBusySpec(root, blockerBehaviours);\n      const blocker = root.getSystem().build(blockSpec);\n      Replacing.append(root, premade(blocker));\n      if (blocker.hasConfigured(Keying) && config.focus) {\n        Keying.focusIn(blocker);\n      }\n      if (!state.isBlocked()) {\n        config.onBlock(component);\n      }\n      state.blockWith(() => Replacing.remove(root, blocker));\n    };\n    const unblock = (component, config, state) => {\n      remove$7(component.element, 'aria-busy');\n      if (state.isBlocked()) {\n        config.onUnblock(component);\n      }\n      state.clear();\n    };\n    const isBlocked = (component, blockingConfig, blockingState) => blockingState.isBlocked();\n\n    var BlockingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        block: block,\n        unblock: unblock,\n        isBlocked: isBlocked\n    });\n\n    var BlockingSchema = [defaultedFunction('getRoot', Optional.none), defaultedBoolean('focus', true), onHandler('onBlock'), onHandler('onUnblock')];\n\n    const init$4 = () => {\n      const blocker = destroyable();\n      const blockWith = destroy => {\n        blocker.set({\n          destroy\n        });\n      };\n      return nu$8({\n        readState: blocker.isSet,\n        blockWith,\n        clear: blocker.clear,\n        isBlocked: blocker.isSet\n      });\n    };\n\n    var BlockingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$4\n    });\n\n    const Blocking = create$4({\n      fields: BlockingSchema,\n      name: 'blocking',\n      apis: BlockingApis,\n      state: BlockingState\n    });\n\n    const getBusySpec$1 = providerBackstage => (_root, _behaviours) => ({\n      dom: {\n        tag: 'div',\n        attributes: {\n          'aria-label': providerBackstage.translate('Loading...'),\n          'tabindex': '0'\n        },\n        classes: ['tox-throbber__busy-spinner']\n      },\n      components: [{\n        dom: fromHtml('<div class=\"tox-spinner\"><div><\/div><div><\/div><div><\/div><\/div>')\n      }]\n    });\n    const focusBusyComponent = throbber => Composing.getCurrent(throbber).each(comp => focus$3(comp.element, true));\n    const toggleEditorTabIndex = (editor, state) => {\n      const tabIndexAttr = 'tabindex';\n      const dataTabIndexAttr = \"data-mce-\".concat(tabIndexAttr);\n      Optional.from(editor.iframeElement).map(SugarElement.fromDom).each(iframe => {\n        if (state) {\n          getOpt(iframe, tabIndexAttr).each(tabIndex => set$9(iframe, dataTabIndexAttr, tabIndex));\n          set$9(iframe, tabIndexAttr, -1);\n        } else {\n          remove$7(iframe, tabIndexAttr);\n          getOpt(iframe, dataTabIndexAttr).each(tabIndex => {\n            set$9(iframe, tabIndexAttr, tabIndex);\n            remove$7(iframe, dataTabIndexAttr);\n          });\n        }\n      });\n    };\n    const toggleThrobber = (editor, comp, state, providerBackstage) => {\n      const element = comp.element;\n      toggleEditorTabIndex(editor, state);\n      if (state) {\n        Blocking.block(comp, getBusySpec$1(providerBackstage));\n        remove$6(element, 'display');\n        remove$7(element, 'aria-hidden');\n        if (editor.hasFocus()) {\n          focusBusyComponent(comp);\n        }\n      } else {\n        const throbberFocus = Composing.getCurrent(comp).exists(busyComp => hasFocus(busyComp.element));\n        Blocking.unblock(comp);\n        set$8(element, 'display', 'none');\n        set$9(element, 'aria-hidden', 'true');\n        if (throbberFocus) {\n          editor.focus();\n        }\n      }\n    };\n    const renderThrobber = spec => ({\n      uid: spec.uid,\n      dom: {\n        tag: 'div',\n        attributes: {\n          'aria-hidden': 'true'\n        },\n        classes: ['tox-throbber'],\n        styles: {\n          display: 'none'\n        }\n      },\n      behaviours: derive$1([Replacing.config({}), Blocking.config({\n        focus: false\n      }), Composing.config({\n        find: comp => head(comp.components())\n      })]),\n      components: []\n    });\n    const isFocusEvent = event => event.type === 'focusin';\n    const isPasteBinTarget = event => {\n      if (isFocusEvent(event)) {\n        const node = event.composed ? head(event.composedPath()) : Optional.from(event.target);\n        return node.map(SugarElement.fromDom).filter(isElement$1).exists(targetElm => has(targetElm, 'mce-pastebin'));\n      } else {\n        return false;\n      }\n    };\n    const setup$7 = (editor, lazyThrobber, sharedBackstage) => {\n      const throbberState = Cell(false);\n      const timer = value$2();\n      const stealFocus = e => {\n        if (throbberState.get() && !isPasteBinTarget(e)) {\n          e.preventDefault();\n          focusBusyComponent(lazyThrobber());\n          editor.editorManager.setActive(editor);\n        }\n      };\n      if (!editor.inline) {\n        editor.on('PreInit', () => {\n          editor.dom.bind(editor.getWin(), 'focusin', stealFocus);\n          editor.on('BeforeExecCommand', e => {\n            if (e.command.toLowerCase() === 'mcefocus' && e.value !== true) {\n              stealFocus(e);\n            }\n          });\n        });\n      }\n      const toggle = state => {\n        if (state !== throbberState.get()) {\n          throbberState.set(state);\n          toggleThrobber(editor, lazyThrobber(), state, sharedBackstage.providers);\n          fireAfterProgressState(editor, state);\n        }\n      };\n      editor.on('ProgressState', e => {\n        timer.on(clearTimeout);\n        if (isNumber(e.time)) {\n          const timerId = global$9.setEditorTimeout(editor, () => toggle(e.state), e.time);\n          timer.set(timerId);\n        } else {\n          toggle(e.state);\n          timer.clear();\n        }\n      });\n    };\n\n    const generate$1 = (xs, f) => {\n      const init = {\n        len: 0,\n        list: []\n      };\n      const r = foldl(xs, (b, a) => {\n        const value = f(a, b.len);\n        return value.fold(constant$1(b), v => ({\n          len: v.finish,\n          list: b.list.concat([v])\n        }));\n      }, init);\n      return r.list;\n    };\n\n    const output = (within, extra, withinWidth) => ({\n      within,\n      extra,\n      withinWidth\n    });\n    const apportion = (units, total, len) => {\n      const parray = generate$1(units, (unit, current) => {\n        const width = len(unit);\n        return Optional.some({\n          element: unit,\n          start: current,\n          finish: current + width,\n          width\n        });\n      });\n      const within = filter$2(parray, unit => unit.finish <= total);\n      const withinWidth = foldr(within, (acc, el) => acc + el.width, 0);\n      const extra = parray.slice(within.length);\n      return {\n        within,\n        extra,\n        withinWidth\n      };\n    };\n    const toUnit = parray => map$2(parray, unit => unit.element);\n    const fitLast = (within, extra, withinWidth) => {\n      const fits = toUnit(within.concat(extra));\n      return output(fits, [], withinWidth);\n    };\n    const overflow = (within, extra, overflower, withinWidth) => {\n      const fits = toUnit(within).concat([overflower]);\n      return output(fits, toUnit(extra), withinWidth);\n    };\n    const fitAll = (within, extra, withinWidth) => output(toUnit(within), [], withinWidth);\n    const tryFit = (total, units, len) => {\n      const divide = apportion(units, total, len);\n      return divide.extra.length === 0 ? Optional.some(divide) : Optional.none();\n    };\n    const partition = (total, units, len, overflower) => {\n      const divide = tryFit(total, units, len).getOrThunk(() => apportion(units, total - len(overflower), len));\n      const within = divide.within;\n      const extra = divide.extra;\n      const withinWidth = divide.withinWidth;\n      if (extra.length === 1 && extra[0].width <= len(overflower)) {\n        return fitLast(within, extra, withinWidth);\n      } else if (extra.length >= 1) {\n        return overflow(within, extra, overflower, withinWidth);\n      } else {\n        return fitAll(within, extra, withinWidth);\n      }\n    };\n\n    const setGroups$1 = (toolbar, storedGroups) => {\n      const bGroups = map$2(storedGroups, g => premade(g));\n      Toolbar.setGroups(toolbar, bGroups);\n    };\n    const findFocusedComp = comps => findMap(comps, comp => search(comp.element).bind(focusedElm => comp.getSystem().getByDom(focusedElm).toOptional()));\n    const refresh$2 = (toolbar, detail, setOverflow) => {\n      const builtGroups = detail.builtGroups.get();\n      if (builtGroups.length === 0) {\n        return;\n      }\n      const primary = getPartOrDie(toolbar, detail, 'primary');\n      const overflowGroup = Coupling.getCoupled(toolbar, 'overflowGroup');\n      set$8(primary.element, 'visibility', 'hidden');\n      const groups = builtGroups.concat([overflowGroup]);\n      const focusedComp = findFocusedComp(groups);\n      setOverflow([]);\n      setGroups$1(primary, groups);\n      const availableWidth = get$c(primary.element);\n      const overflows = partition(availableWidth, detail.builtGroups.get(), comp => get$c(comp.element), overflowGroup);\n      if (overflows.extra.length === 0) {\n        Replacing.remove(primary, overflowGroup);\n        setOverflow([]);\n      } else {\n        setGroups$1(primary, overflows.within);\n        setOverflow(overflows.extra);\n      }\n      remove$6(primary.element, 'visibility');\n      reflow(primary.element);\n      focusedComp.each(Focusing.focus);\n    };\n\n    const schema$c = constant$1([field('splitToolbarBehaviours', [Coupling]), customField('builtGroups', () => Cell([]))]);\n\n    const schema$b = constant$1([markers$1(['overflowToggledClass']), optionFunction('getOverflowBounds'), required$1('lazySink'), customField('overflowGroups', () => Cell([])), onHandler('onOpened'), onHandler('onClosed')].concat(schema$c()));\n    const parts$7 = constant$1([required({\n      factory: Toolbar,\n      schema: schema$e(),\n      name: 'primary'\n    }), external({\n      schema: schema$e(),\n      name: 'overflow'\n    }), external({\n      name: 'overflow-button'\n    }), external({\n      name: 'overflow-group'\n    })]);\n\n    const expandable = constant$1((element, available) => {\n      setMax(element, Math.floor(available));\n    });\n\n    const schema$a = constant$1([markers$1(['toggledClass']), required$1('lazySink'), requiredFunction('fetch'), optionFunction('getBounds'), optionObjOf('fireDismissalEventInstead', [defaulted('event', dismissRequested())]), schema$y(), onHandler('onToggled')]);\n    const parts$6 = constant$1([external({\n      name: 'button',\n      overrides: detail => ({\n        dom: {\n          attributes: {\n            'aria-haspopup': 'true'\n          }\n        },\n        buttonBehaviours: derive$1([Toggling.config({\n          toggleClass: detail.markers.toggledClass,\n          aria: {\n            mode: 'expanded'\n          },\n          toggleOnExecute: false,\n          onToggled: detail.onToggled\n        })])\n      })\n    }), external({\n      factory: Toolbar,\n      schema: schema$e(),\n      name: 'toolbar',\n      overrides: detail => {\n        return {\n          toolbarBehaviours: derive$1([Keying.config({\n            mode: 'cyclic',\n            onEscape: comp => {\n              getPart(comp, detail, 'button').each(Focusing.focus);\n              return Optional.none();\n            }\n          })])\n        };\n      }\n    })]);\n\n    const shouldSkipFocus = value$2();\n    const toggleWithoutFocusing = (button, externals) => {\n      shouldSkipFocus.set(true);\n      toggle(button, externals);\n      shouldSkipFocus.clear();\n    };\n    const toggle = (button, externals) => {\n      const toolbarSandbox = Coupling.getCoupled(button, 'toolbarSandbox');\n      if (Sandboxing.isOpen(toolbarSandbox)) {\n        Sandboxing.close(toolbarSandbox);\n      } else {\n        Sandboxing.open(toolbarSandbox, externals.toolbar());\n      }\n    };\n    const position = (button, toolbar, detail, layouts) => {\n      const bounds = detail.getBounds.map(bounder => bounder());\n      const sink = detail.lazySink(button).getOrDie();\n      Positioning.positionWithinBounds(sink, toolbar, {\n        anchor: {\n          type: 'hotspot',\n          hotspot: button,\n          layouts,\n          overrides: {\n            maxWidthFunction: expandable()\n          }\n        }\n      }, bounds);\n    };\n    const setGroups = (button, toolbar, detail, layouts, groups) => {\n      Toolbar.setGroups(toolbar, groups);\n      position(button, toolbar, detail, layouts);\n      Toggling.on(button);\n    };\n    const makeSandbox = (button, spec, detail) => {\n      const ariaControls = manager();\n      const onOpen = (sandbox, toolbar) => {\n        const skipFocus = shouldSkipFocus.get().getOr(false);\n        detail.fetch().get(groups => {\n          setGroups(button, toolbar, detail, spec.layouts, groups);\n          ariaControls.link(button.element);\n          if (!skipFocus) {\n            Keying.focusIn(toolbar);\n          }\n        });\n      };\n      const onClose = () => {\n        Toggling.off(button);\n        if (!shouldSkipFocus.get().getOr(false)) {\n          Focusing.focus(button);\n        }\n        ariaControls.unlink(button.element);\n      };\n      return {\n        dom: {\n          tag: 'div',\n          attributes: {\n            id: ariaControls.id\n          }\n        },\n        behaviours: derive$1([Keying.config({\n          mode: 'special',\n          onEscape: comp => {\n            Sandboxing.close(comp);\n            return Optional.some(true);\n          }\n        }), Sandboxing.config({\n          onOpen,\n          onClose,\n          isPartOf: (container, data, queryElem) => {\n            return isPartOf$1(data, queryElem) || isPartOf$1(button, queryElem);\n          },\n          getAttachPoint: () => {\n            return detail.lazySink(button).getOrDie();\n          }\n        }), Receiving.config({\n          channels: {\n            ...receivingChannel$1({\n              isExtraPart: never,\n              ...detail.fireDismissalEventInstead.map(fe => ({\n                fireEventInstead: {\n                  event: fe.event\n                }\n              })).getOr({})\n            }),\n            ...receivingChannel({\n              doReposition: () => {\n                Sandboxing.getState(Coupling.getCoupled(button, 'toolbarSandbox')).each(toolbar => {\n                  position(button, toolbar, detail, spec.layouts);\n                });\n              }\n            })\n          }\n        })])\n      };\n    };\n    const factory$c = (detail, components, spec, externals) => ({\n      ...Button.sketch({\n        ...externals.button(),\n        action: button => {\n          toggle(button, externals);\n        },\n        buttonBehaviours: SketchBehaviours.augment({\n          dump: externals.button().buttonBehaviours\n        }, [Coupling.config({\n          others: {\n            toolbarSandbox: button => {\n              return makeSandbox(button, spec, detail);\n            }\n          }\n        })])\n      }),\n      apis: {\n        setGroups: (button, groups) => {\n          Sandboxing.getState(Coupling.getCoupled(button, 'toolbarSandbox')).each(toolbar => {\n            setGroups(button, toolbar, detail, spec.layouts, groups);\n          });\n        },\n        reposition: button => {\n          Sandboxing.getState(Coupling.getCoupled(button, 'toolbarSandbox')).each(toolbar => {\n            position(button, toolbar, detail, spec.layouts);\n          });\n        },\n        toggle: button => {\n          toggle(button, externals);\n        },\n        toggleWithoutFocusing: button => {\n          toggleWithoutFocusing(button, externals);\n        },\n        getToolbar: button => {\n          return Sandboxing.getState(Coupling.getCoupled(button, 'toolbarSandbox'));\n        },\n        isOpen: button => {\n          return Sandboxing.isOpen(Coupling.getCoupled(button, 'toolbarSandbox'));\n        }\n      }\n    });\n    const FloatingToolbarButton = composite({\n      name: 'FloatingToolbarButton',\n      factory: factory$c,\n      configFields: schema$a(),\n      partFields: parts$6(),\n      apis: {\n        setGroups: (apis, button, groups) => {\n          apis.setGroups(button, groups);\n        },\n        reposition: (apis, button) => {\n          apis.reposition(button);\n        },\n        toggle: (apis, button) => {\n          apis.toggle(button);\n        },\n        toggleWithoutFocusing: (apis, button) => {\n          apis.toggleWithoutFocusing(button);\n        },\n        getToolbar: (apis, button) => apis.getToolbar(button),\n        isOpen: (apis, button) => apis.isOpen(button)\n      }\n    });\n\n    const schema$9 = constant$1([required$1('items'), markers$1(['itemSelector']), field('tgroupBehaviours', [Keying])]);\n    const parts$5 = constant$1([group({\n      name: 'items',\n      unit: 'item'\n    })]);\n\n    const factory$b = (detail, components, _spec, _externals) => ({\n      uid: detail.uid,\n      dom: detail.dom,\n      components,\n      behaviours: augment(detail.tgroupBehaviours, [Keying.config({\n        mode: 'flow',\n        selector: detail.markers.itemSelector\n      })]),\n      domModification: {\n        attributes: {\n          role: 'toolbar'\n        }\n      }\n    });\n    const ToolbarGroup = composite({\n      name: 'ToolbarGroup',\n      configFields: schema$9(),\n      partFields: parts$5(),\n      factory: factory$b\n    });\n\n    const buildGroups = comps => map$2(comps, g => premade(g));\n    const refresh$1 = (toolbar, memFloatingToolbarButton, detail) => {\n      refresh$2(toolbar, detail, overflowGroups => {\n        detail.overflowGroups.set(overflowGroups);\n        memFloatingToolbarButton.getOpt(toolbar).each(floatingToolbarButton => {\n          FloatingToolbarButton.setGroups(floatingToolbarButton, buildGroups(overflowGroups));\n        });\n      });\n    };\n    const factory$a = (detail, components, spec, externals) => {\n      const memFloatingToolbarButton = record(FloatingToolbarButton.sketch({\n        fetch: () => Future.nu(resolve => {\n          resolve(buildGroups(detail.overflowGroups.get()));\n        }),\n        layouts: {\n          onLtr: () => [southwest$2, southeast$2],\n          onRtl: () => [southeast$2, southwest$2],\n          onBottomLtr: () => [northwest$2, northeast$2],\n          onBottomRtl: () => [northeast$2, northwest$2]\n        },\n        getBounds: spec.getOverflowBounds,\n        lazySink: detail.lazySink,\n        fireDismissalEventInstead: {},\n        markers: {\n          toggledClass: detail.markers.overflowToggledClass\n        },\n        parts: {\n          button: externals['overflow-button'](),\n          toolbar: externals.overflow()\n        },\n        onToggled: (comp, state) => detail[state ? 'onOpened' : 'onClosed'](comp)\n      }));\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        behaviours: augment(detail.splitToolbarBehaviours, [Coupling.config({\n          others: {\n            overflowGroup: () => {\n              return ToolbarGroup.sketch({\n                ...externals['overflow-group'](),\n                items: [memFloatingToolbarButton.asSpec()]\n              });\n            }\n          }\n        })]),\n        apis: {\n          setGroups: (toolbar, groups) => {\n            detail.builtGroups.set(map$2(groups, toolbar.getSystem().build));\n            refresh$1(toolbar, memFloatingToolbarButton, detail);\n          },\n          refresh: toolbar => refresh$1(toolbar, memFloatingToolbarButton, detail),\n          toggle: toolbar => {\n            memFloatingToolbarButton.getOpt(toolbar).each(floatingToolbarButton => {\n              FloatingToolbarButton.toggle(floatingToolbarButton);\n            });\n          },\n          toggleWithoutFocusing: toolbar => {\n            memFloatingToolbarButton.getOpt(toolbar).each(FloatingToolbarButton.toggleWithoutFocusing);\n          },\n          isOpen: toolbar => memFloatingToolbarButton.getOpt(toolbar).map(FloatingToolbarButton.isOpen).getOr(false),\n          reposition: toolbar => {\n            memFloatingToolbarButton.getOpt(toolbar).each(floatingToolbarButton => {\n              FloatingToolbarButton.reposition(floatingToolbarButton);\n            });\n          },\n          getOverflow: toolbar => memFloatingToolbarButton.getOpt(toolbar).bind(FloatingToolbarButton.getToolbar)\n        },\n        domModification: {\n          attributes: {\n            role: 'group'\n          }\n        }\n      };\n    };\n    const SplitFloatingToolbar = composite({\n      name: 'SplitFloatingToolbar',\n      configFields: schema$b(),\n      partFields: parts$7(),\n      factory: factory$a,\n      apis: {\n        setGroups: (apis, toolbar, groups) => {\n          apis.setGroups(toolbar, groups);\n        },\n        refresh: (apis, toolbar) => {\n          apis.refresh(toolbar);\n        },\n        reposition: (apis, toolbar) => {\n          apis.reposition(toolbar);\n        },\n        toggle: (apis, toolbar) => {\n          apis.toggle(toolbar);\n        },\n        toggleWithoutFocusing: (apis, toolbar) => {\n          apis.toggle(toolbar);\n        },\n        isOpen: (apis, toolbar) => apis.isOpen(toolbar),\n        getOverflow: (apis, toolbar) => apis.getOverflow(toolbar)\n      }\n    });\n\n    const schema$8 = constant$1([markers$1(['closedClass', 'openClass', 'shrinkingClass', 'growingClass', 'overflowToggledClass']), onHandler('onOpened'), onHandler('onClosed')].concat(schema$c()));\n    const parts$4 = constant$1([required({\n      factory: Toolbar,\n      schema: schema$e(),\n      name: 'primary'\n    }), required({\n      factory: Toolbar,\n      schema: schema$e(),\n      name: 'overflow',\n      overrides: detail => {\n        return {\n          toolbarBehaviours: derive$1([Sliding.config({\n            dimension: {\n              property: 'height'\n            },\n            closedClass: detail.markers.closedClass,\n            openClass: detail.markers.openClass,\n            shrinkingClass: detail.markers.shrinkingClass,\n            growingClass: detail.markers.growingClass,\n            onShrunk: comp => {\n              getPart(comp, detail, 'overflow-button').each(button => {\n                Toggling.off(button);\n                Focusing.focus(button);\n              });\n              detail.onClosed(comp);\n            },\n            onGrown: comp => {\n              Keying.focusIn(comp);\n              detail.onOpened(comp);\n            },\n            onStartGrow: comp => {\n              getPart(comp, detail, 'overflow-button').each(Toggling.on);\n            }\n          }), Keying.config({\n            mode: 'acyclic',\n            onEscape: comp => {\n              getPart(comp, detail, 'overflow-button').each(Focusing.focus);\n              return Optional.some(true);\n            }\n          })])\n        };\n      }\n    }), external({\n      name: 'overflow-button',\n      overrides: detail => ({\n        buttonBehaviours: derive$1([Toggling.config({\n          toggleClass: detail.markers.overflowToggledClass,\n          aria: {\n            mode: 'pressed'\n          },\n          toggleOnExecute: false\n        })])\n      })\n    }), external({\n      name: 'overflow-group'\n    })]);\n\n    const isOpen = (toolbar, detail) => getPart(toolbar, detail, 'overflow').map(Sliding.hasGrown).getOr(false);\n    const toggleToolbar = (toolbar, detail) => {\n      getPart(toolbar, detail, 'overflow-button').bind(() => getPart(toolbar, detail, 'overflow')).each(overf => {\n        refresh(toolbar, detail);\n        Sliding.toggleGrow(overf);\n      });\n    };\n    const refresh = (toolbar, detail) => {\n      getPart(toolbar, detail, 'overflow').each(overflow => {\n        refresh$2(toolbar, detail, groups => {\n          const builtGroups = map$2(groups, g => premade(g));\n          Toolbar.setGroups(overflow, builtGroups);\n        });\n        getPart(toolbar, detail, 'overflow-button').each(button => {\n          if (Sliding.hasGrown(overflow)) {\n            Toggling.on(button);\n          }\n        });\n        Sliding.refresh(overflow);\n      });\n    };\n    const factory$9 = (detail, components, spec, externals) => {\n      const toolbarToggleEvent = 'alloy.toolbar.toggle';\n      const doSetGroups = (toolbar, groups) => {\n        const built = map$2(groups, toolbar.getSystem().build);\n        detail.builtGroups.set(built);\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        behaviours: augment(detail.splitToolbarBehaviours, [Coupling.config({\n          others: {\n            overflowGroup: toolbar => {\n              return ToolbarGroup.sketch({\n                ...externals['overflow-group'](),\n                items: [Button.sketch({\n                  ...externals['overflow-button'](),\n                  action: _button => {\n                    emit(toolbar, toolbarToggleEvent);\n                  }\n                })]\n              });\n            }\n          }\n        }), config('toolbar-toggle-events', [run$1(toolbarToggleEvent, toolbar => {\n          toggleToolbar(toolbar, detail);\n        })])]),\n        apis: {\n          setGroups: (toolbar, groups) => {\n            doSetGroups(toolbar, groups);\n            refresh(toolbar, detail);\n          },\n          refresh: toolbar => refresh(toolbar, detail),\n          toggle: toolbar => toggleToolbar(toolbar, detail),\n          isOpen: toolbar => isOpen(toolbar, detail)\n        },\n        domModification: {\n          attributes: {\n            role: 'group'\n          }\n        }\n      };\n    };\n    const SplitSlidingToolbar = composite({\n      name: 'SplitSlidingToolbar',\n      configFields: schema$8(),\n      partFields: parts$4(),\n      factory: factory$9,\n      apis: {\n        setGroups: (apis, toolbar, groups) => {\n          apis.setGroups(toolbar, groups);\n        },\n        refresh: (apis, toolbar) => {\n          apis.refresh(toolbar);\n        },\n        toggle: (apis, toolbar) => {\n          apis.toggle(toolbar);\n        },\n        isOpen: (apis, toolbar) => apis.isOpen(toolbar)\n      }\n    });\n\n    const renderToolbarGroupCommon = toolbarGroup => {\n      const attributes = toolbarGroup.title.fold(() => ({}), title => ({\n        attributes: {\n          title\n        }\n      }));\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar__group'],\n          ...attributes\n        },\n        components: [ToolbarGroup.parts.items({})],\n        items: toolbarGroup.items,\n        markers: {\n          itemSelector: '*:not(.tox-split-button) > .tox-tbtn:not([disabled]), ' + '.tox-split-button:not([disabled]), ' + '.tox-toolbar-nav-js:not([disabled]), ' + '.tox-number-input:not([disabled])'\n        },\n        tgroupBehaviours: derive$1([Tabstopping.config({}), Focusing.config({})])\n      };\n    };\n    const renderToolbarGroup = toolbarGroup => ToolbarGroup.sketch(renderToolbarGroupCommon(toolbarGroup));\n    const getToolbarBehaviours = (toolbarSpec, modeName) => {\n      const onAttached = runOnAttached(component => {\n        const groups = map$2(toolbarSpec.initGroups, renderToolbarGroup);\n        Toolbar.setGroups(component, groups);\n      });\n      return derive$1([DisablingConfigs.toolbarButton(toolbarSpec.providers.isDisabled), receivingConfig(), Keying.config({\n        mode: modeName,\n        onEscape: toolbarSpec.onEscape,\n        selector: '.tox-toolbar__group'\n      }), config('toolbar-events', [onAttached])]);\n    };\n    const renderMoreToolbarCommon = toolbarSpec => {\n      const modeName = toolbarSpec.cyclicKeying ? 'cyclic' : 'acyclic';\n      return {\n        uid: toolbarSpec.uid,\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar-overlord']\n        },\n        parts: {\n          'overflow-group': renderToolbarGroupCommon({\n            title: Optional.none(),\n            items: []\n          }),\n          'overflow-button': renderIconButtonSpec({\n            name: 'more',\n            icon: Optional.some('more-drawer'),\n            enabled: true,\n            tooltip: Optional.some('Reveal or hide additional toolbar items'),\n            primary: false,\n            buttonType: Optional.none(),\n            borderless: false\n          }, Optional.none(), toolbarSpec.providers)\n        },\n        splitToolbarBehaviours: getToolbarBehaviours(toolbarSpec, modeName)\n      };\n    };\n    const renderFloatingMoreToolbar = toolbarSpec => {\n      const baseSpec = renderMoreToolbarCommon(toolbarSpec);\n      const overflowXOffset = 4;\n      const primary = SplitFloatingToolbar.parts.primary({\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar__primary']\n        }\n      });\n      return SplitFloatingToolbar.sketch({\n        ...baseSpec,\n        lazySink: toolbarSpec.getSink,\n        getOverflowBounds: () => {\n          const headerElem = toolbarSpec.moreDrawerData.lazyHeader().element;\n          const headerBounds = absolute$2(headerElem);\n          const docElem = documentElement(headerElem);\n          const docBounds = absolute$2(docElem);\n          const height = Math.max(docElem.dom.scrollHeight, docBounds.height);\n          return bounds(headerBounds.x + overflowXOffset, docBounds.y, headerBounds.width - overflowXOffset * 2, height);\n        },\n        parts: {\n          ...baseSpec.parts,\n          overflow: {\n            dom: {\n              tag: 'div',\n              classes: ['tox-toolbar__overflow'],\n              attributes: toolbarSpec.attributes\n            }\n          }\n        },\n        components: [primary],\n        markers: {\n          overflowToggledClass: 'tox-tbtn--enabled'\n        },\n        onOpened: comp => toolbarSpec.onToggled(comp, true),\n        onClosed: comp => toolbarSpec.onToggled(comp, false)\n      });\n    };\n    const renderSlidingMoreToolbar = toolbarSpec => {\n      const primary = SplitSlidingToolbar.parts.primary({\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar__primary']\n        }\n      });\n      const overflow = SplitSlidingToolbar.parts.overflow({\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar__overflow']\n        }\n      });\n      const baseSpec = renderMoreToolbarCommon(toolbarSpec);\n      return SplitSlidingToolbar.sketch({\n        ...baseSpec,\n        components: [primary, overflow],\n        markers: {\n          openClass: 'tox-toolbar__overflow--open',\n          closedClass: 'tox-toolbar__overflow--closed',\n          growingClass: 'tox-toolbar__overflow--growing',\n          shrinkingClass: 'tox-toolbar__overflow--shrinking',\n          overflowToggledClass: 'tox-tbtn--enabled'\n        },\n        onOpened: comp => {\n          comp.getSystem().broadcastOn([toolbarHeightChange()], {\n            type: 'opened'\n          });\n          toolbarSpec.onToggled(comp, true);\n        },\n        onClosed: comp => {\n          comp.getSystem().broadcastOn([toolbarHeightChange()], {\n            type: 'closed'\n          });\n          toolbarSpec.onToggled(comp, false);\n        }\n      });\n    };\n    const renderToolbar = toolbarSpec => {\n      const modeName = toolbarSpec.cyclicKeying ? 'cyclic' : 'acyclic';\n      return Toolbar.sketch({\n        uid: toolbarSpec.uid,\n        dom: {\n          tag: 'div',\n          classes: ['tox-toolbar'].concat(toolbarSpec.type === ToolbarMode$1.scrolling ? ['tox-toolbar--scrolling'] : [])\n        },\n        components: [Toolbar.parts.groups({})],\n        toolbarBehaviours: getToolbarBehaviours(toolbarSpec, modeName)\n      });\n    };\n\n    const baseButtonFields = [optionalText, optionalIcon, optionString('tooltip'), defaultedStringEnum('buttonType', 'secondary', ['primary', 'secondary']), defaultedBoolean('borderless', false), requiredFunction('onAction')];\n    const normalButtonFields = [...baseButtonFields, text, requiredStringEnum('type', ['button'])];\n    const toggleButtonFields = [...baseButtonFields, defaultedBoolean('active', false), requiredStringEnum('type', ['togglebutton'])];\n    const schemaWithoutGroupButton = {\n      button: normalButtonFields,\n      togglebutton: toggleButtonFields\n    };\n    const groupFields = [requiredStringEnum('type', ['group']), defaultedArrayOf('buttons', [], choose$1('type', schemaWithoutGroupButton))];\n    const viewButtonSchema = choose$1('type', {\n      ...schemaWithoutGroupButton,\n      group: groupFields\n    });\n\n    const viewSchema = objOf([defaultedArrayOf('buttons', [], viewButtonSchema), requiredFunction('onShow'), requiredFunction('onHide')]);\n    const createView = spec => asRaw('view', viewSchema, spec);\n\n    const renderButton = (spec, providers) => {\n      var _a, _b;\n      const isToggleButton = spec.type === 'togglebutton';\n      const optMemIcon = spec.icon.map(memIcon => renderReplaceableIconFromPack(memIcon, providers.icons)).map(record);\n      const getAction = () => comp => {\n        const setIcon = newIcon => {\n          optMemIcon.map(memIcon => memIcon.getOpt(comp).each(displayIcon => {\n            Replacing.set(displayIcon, [renderReplaceableIconFromPack(newIcon, providers.icons)]);\n          }));\n        };\n        const setActive = state => {\n          const elm = comp.element;\n          if (state) {\n            add$2(elm, 'tox-button--enabled');\n            set$9(elm, 'aria-pressed', true);\n          } else {\n            remove$2(elm, 'tox-button--enabled');\n            remove$7(elm, 'aria-pressed');\n          }\n        };\n        const isActive = () => has(comp.element, 'tox-button--enabled');\n        if (isToggleButton) {\n          return spec.onAction({\n            setIcon,\n            setActive,\n            isActive\n          });\n        }\n        if (spec.type === 'button') {\n          return spec.onAction({\n            setIcon\n          });\n        }\n      };\n      const action = getAction();\n      const buttonSpec = {\n        ...spec,\n        name: isToggleButton ? spec.text.getOr(spec.icon.getOr('')) : (_a = spec.text) !== null && _a !== void 0 ? _a : spec.icon.getOr(''),\n        primary: spec.buttonType === 'primary',\n        buttonType: Optional.from(spec.buttonType),\n        tooltip: spec.tooltip,\n        icon: spec.icon,\n        enabled: true,\n        borderless: spec.borderless\n      };\n      const buttonTypeClasses = calculateClassesFromButtonType((_b = spec.buttonType) !== null && _b !== void 0 ? _b : 'secondary');\n      const optTranslatedText = isToggleButton ? spec.text.map(providers.translate) : Optional.some(providers.translate(spec.text));\n      const optTranslatedTextComponed = optTranslatedText.map(text$2);\n      const tooltipAttributes = buttonSpec.tooltip.or(optTranslatedText).map(tooltip => ({\n        'aria-label': providers.translate(tooltip),\n        'title': providers.translate(tooltip)\n      })).getOr({});\n      const optIconSpec = optMemIcon.map(memIcon => memIcon.asSpec());\n      const components = componentRenderPipeline([optIconSpec, optTranslatedTextComponed]);\n      const hasIconAndText = spec.icon.isSome() && optTranslatedTextComponed.isSome();\n      const dom = {\n        tag: 'button',\n        classes: buttonTypeClasses.concat(...(spec.icon.isSome() && !hasIconAndText ? ['tox-button--icon'] : [])).concat(...(hasIconAndText ? ['tox-button--icon-and-text'] : [])).concat(...(spec.borderless ? ['tox-button--naked'] : [])).concat(...(spec.type === 'togglebutton' && spec.active ? ['tox-button--enabled'] : [])),\n        attributes: tooltipAttributes\n      };\n      const extraBehaviours = [];\n      const iconButtonSpec = renderCommonSpec(buttonSpec, Optional.some(action), extraBehaviours, dom, components, providers);\n      return Button.sketch(iconButtonSpec);\n    };\n\n    const renderViewButton = (spec, providers) => renderButton(spec, providers);\n    const renderButtonsGroup = (spec, providers) => {\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-view__toolbar__group']\n        },\n        components: map$2(spec.buttons, button => renderViewButton(button, providers))\n      };\n    };\n    const deviceDetection = detect$2().deviceType;\n    const isPhone = deviceDetection.isPhone();\n    const isTablet = deviceDetection.isTablet();\n    const renderViewHeader = spec => {\n      let hasGroups = false;\n      const endButtons = map$2(spec.buttons, btnspec => {\n        if (btnspec.type === 'group') {\n          hasGroups = true;\n          return renderButtonsGroup(btnspec, spec.providers);\n        } else {\n          return renderViewButton(btnspec, spec.providers);\n        }\n      });\n      return {\n        uid: spec.uid,\n        dom: {\n          tag: 'div',\n          classes: [!hasGroups ? 'tox-view__header' : 'tox-view__toolbar', ...(isPhone || isTablet ? ['tox-view--mobile', 'tox-view--scrolling'] : [])]\n        },\n        behaviours: derive$1([Focusing.config({}), Keying.config({\n          mode: 'flow',\n          selector: 'button, .tox-button',\n          focusInside: FocusInsideModes.OnEnterOrSpaceMode\n        })]),\n        components: hasGroups ? endButtons : [Container.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-view__header-start']\n          },\n          components: []\n        }), Container.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-view__header-end']\n          },\n          components: endButtons\n        })]\n      };\n    };\n    const renderViewPane = spec => {\n      return {\n        uid: spec.uid,\n        dom: {\n          tag: 'div',\n          classes: ['tox-view__pane']\n        }\n      };\n    };\n    const factory$8 = (detail, components, _spec, _externals) => {\n      const apis = {\n        getPane: comp => parts$a.getPart(comp, detail, 'pane'),\n        getOnShow: _comp => detail.viewConfig.onShow,\n        getOnHide: _comp => detail.viewConfig.onHide\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        apis\n      };\n    };\n    var View = composite({\n      name: 'silver.View',\n      configFields: [required$1('viewConfig')],\n      partFields: [optional({\n        factory: {\n          sketch: renderViewHeader\n        },\n        schema: [required$1('buttons'), required$1('providers')],\n        name: 'header'\n      }), optional({\n        factory: {\n          sketch: renderViewPane\n        },\n        schema: [],\n        name: 'pane'\n      })],\n      factory: factory$8,\n      apis: {\n        getPane: (apis, comp) => apis.getPane(comp),\n        getOnShow: (apis, comp) => apis.getOnShow(comp),\n        getOnHide: (apis, comp) => apis.getOnHide(comp)\n      }\n    });\n\n    const makeViews = (parts, viewConfigs, providers) => {\n      return mapToArray(viewConfigs, (config, name) => {\n        const internalViewConfig = getOrDie(createView(config));\n        return parts.slot(name, View.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox-view']\n          },\n          viewConfig: internalViewConfig,\n          components: [...(internalViewConfig.buttons.length > 0 ? [View.parts.header({\n            buttons: internalViewConfig.buttons,\n            providers\n          })] : []), View.parts.pane({})]\n        }));\n      });\n    };\n    const makeSlotContainer = (viewConfigs, providers) => SlotContainer.sketch(parts => ({\n      dom: {\n        tag: 'div',\n        classes: ['tox-view-wrap__slot-container']\n      },\n      components: makeViews(parts, viewConfigs, providers),\n      slotBehaviours: SimpleBehaviours.unnamedEvents([runOnAttached(slotContainer => SlotContainer.hideAllSlots(slotContainer))])\n    }));\n    const getCurrentName = slotContainer => {\n      return find$5(SlotContainer.getSlotNames(slotContainer), name => SlotContainer.isShowing(slotContainer, name));\n    };\n    const hideContainer = comp => {\n      const element = comp.element;\n      set$8(element, 'display', 'none');\n      set$9(element, 'aria-hidden', 'true');\n    };\n    const showContainer = comp => {\n      const element = comp.element;\n      remove$6(element, 'display');\n      remove$7(element, 'aria-hidden');\n    };\n    const makeViewInstanceApi = slot => ({\n      getContainer: constant$1(slot)\n    });\n    const runOnPaneWithInstanceApi = (slotContainer, name, get) => {\n      SlotContainer.getSlot(slotContainer, name).each(view => {\n        View.getPane(view).each(pane => {\n          const onCallback = get(view);\n          onCallback(makeViewInstanceApi(pane.element.dom));\n        });\n      });\n    };\n    const runOnShow = (slotContainer, name) => runOnPaneWithInstanceApi(slotContainer, name, View.getOnShow);\n    const runOnHide = (slotContainer, name) => runOnPaneWithInstanceApi(slotContainer, name, View.getOnHide);\n    const factory$7 = (detail, spec) => {\n      const setViews = (comp, viewConfigs) => {\n        Replacing.set(comp, [makeSlotContainer(viewConfigs, spec.backstage.shared.providers)]);\n      };\n      const whichView = comp => {\n        return Composing.getCurrent(comp).bind(getCurrentName);\n      };\n      const toggleView = (comp, showMainView, hideMainView, name) => {\n        return Composing.getCurrent(comp).exists(slotContainer => {\n          const optCurrentSlotName = getCurrentName(slotContainer);\n          const isTogglingCurrentView = optCurrentSlotName.exists(current => name === current);\n          const exists = SlotContainer.getSlot(slotContainer, name).isSome();\n          if (exists) {\n            SlotContainer.hideAllSlots(slotContainer);\n            if (!isTogglingCurrentView) {\n              hideMainView();\n              showContainer(comp);\n              SlotContainer.showSlot(slotContainer, name);\n              runOnShow(slotContainer, name);\n            } else {\n              hideContainer(comp);\n              showMainView();\n            }\n            optCurrentSlotName.each(prevName => runOnHide(slotContainer, prevName));\n          }\n          return exists;\n        });\n      };\n      const apis = {\n        setViews,\n        whichView,\n        toggleView\n      };\n      return {\n        uid: detail.uid,\n        dom: {\n          tag: 'div',\n          classes: ['tox-view-wrap'],\n          attributes: {\n            'aria-hidden': 'true'\n          },\n          styles: {\n            display: 'none'\n          }\n        },\n        components: [],\n        behaviours: derive$1([Replacing.config({}), Composing.config({\n          find: comp => {\n            const children = Replacing.contents(comp);\n            return head(children);\n          }\n        })]),\n        apis\n      };\n    };\n    var ViewWrapper = single({\n      factory: factory$7,\n      name: 'silver.ViewWrapper',\n      configFields: [required$1('backstage')],\n      apis: {\n        setViews: (apis, comp, views) => apis.setViews(comp, views),\n        toggleView: (apis, comp, outerContainer, editorCont, name) => apis.toggleView(comp, outerContainer, editorCont, name),\n        whichView: (apis, comp) => apis.whichView(comp)\n      }\n    });\n\n    const factory$6 = (detail, components, _spec) => {\n      let toolbarDrawerOpenState = false;\n      const apis = {\n        getSocket: comp => {\n          return parts$a.getPart(comp, detail, 'socket');\n        },\n        setSidebar: (comp, panelConfigs, showSidebar) => {\n          parts$a.getPart(comp, detail, 'sidebar').each(sidebar => setSidebar(sidebar, panelConfigs, showSidebar));\n        },\n        toggleSidebar: (comp, name) => {\n          parts$a.getPart(comp, detail, 'sidebar').each(sidebar => toggleSidebar(sidebar, name));\n        },\n        whichSidebar: comp => {\n          return parts$a.getPart(comp, detail, 'sidebar').bind(whichSidebar).getOrNull();\n        },\n        getHeader: comp => {\n          return parts$a.getPart(comp, detail, 'header');\n        },\n        getToolbar: comp => {\n          return parts$a.getPart(comp, detail, 'toolbar');\n        },\n        setToolbar: (comp, groups) => {\n          parts$a.getPart(comp, detail, 'toolbar').each(toolbar => {\n            const renderedGroups = map$2(groups, renderToolbarGroup);\n            toolbar.getApis().setGroups(toolbar, renderedGroups);\n          });\n        },\n        setToolbars: (comp, toolbars) => {\n          parts$a.getPart(comp, detail, 'multiple-toolbar').each(mToolbar => {\n            const renderedToolbars = map$2(toolbars, g => map$2(g, renderToolbarGroup));\n            CustomList.setItems(mToolbar, renderedToolbars);\n          });\n        },\n        refreshToolbar: comp => {\n          const toolbar = parts$a.getPart(comp, detail, 'toolbar');\n          toolbar.each(toolbar => toolbar.getApis().refresh(toolbar));\n        },\n        toggleToolbarDrawer: comp => {\n          parts$a.getPart(comp, detail, 'toolbar').each(toolbar => {\n            mapFrom(toolbar.getApis().toggle, toggle => toggle(toolbar));\n          });\n        },\n        toggleToolbarDrawerWithoutFocusing: comp => {\n          parts$a.getPart(comp, detail, 'toolbar').each(toolbar => {\n            mapFrom(toolbar.getApis().toggleWithoutFocusing, toggleWithoutFocusing => toggleWithoutFocusing(toolbar));\n          });\n        },\n        isToolbarDrawerToggled: comp => {\n          return parts$a.getPart(comp, detail, 'toolbar').bind(toolbar => Optional.from(toolbar.getApis().isOpen).map(isOpen => isOpen(toolbar))).getOr(false);\n        },\n        getThrobber: comp => {\n          return parts$a.getPart(comp, detail, 'throbber');\n        },\n        focusToolbar: comp => {\n          const optToolbar = parts$a.getPart(comp, detail, 'toolbar').orThunk(() => parts$a.getPart(comp, detail, 'multiple-toolbar'));\n          optToolbar.each(toolbar => {\n            Keying.focusIn(toolbar);\n          });\n        },\n        setMenubar: (comp, menus) => {\n          parts$a.getPart(comp, detail, 'menubar').each(menubar => {\n            SilverMenubar.setMenus(menubar, menus);\n          });\n        },\n        focusMenubar: comp => {\n          parts$a.getPart(comp, detail, 'menubar').each(menubar => {\n            SilverMenubar.focus(menubar);\n          });\n        },\n        setViews: (comp, viewConfigs) => {\n          parts$a.getPart(comp, detail, 'viewWrapper').each(wrapper => {\n            ViewWrapper.setViews(wrapper, viewConfigs);\n          });\n        },\n        toggleView: (comp, name) => {\n          return parts$a.getPart(comp, detail, 'viewWrapper').exists(wrapper => ViewWrapper.toggleView(wrapper, () => apis.showMainView(comp), () => apis.hideMainView(comp), name));\n        },\n        whichView: comp => {\n          return parts$a.getPart(comp, detail, 'viewWrapper').bind(ViewWrapper.whichView).getOrNull();\n        },\n        hideMainView: comp => {\n          toolbarDrawerOpenState = apis.isToolbarDrawerToggled(comp);\n          if (toolbarDrawerOpenState) {\n            apis.toggleToolbarDrawer(comp);\n          }\n          parts$a.getPart(comp, detail, 'editorContainer').each(editorContainer => {\n            const element = editorContainer.element;\n            set$8(element, 'display', 'none');\n            set$9(element, 'aria-hidden', 'true');\n          });\n        },\n        showMainView: comp => {\n          if (toolbarDrawerOpenState) {\n            apis.toggleToolbarDrawer(comp);\n          }\n          parts$a.getPart(comp, detail, 'editorContainer').each(editorContainer => {\n            const element = editorContainer.element;\n            remove$6(element, 'display');\n            remove$7(element, 'aria-hidden');\n          });\n        }\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        apis,\n        behaviours: detail.behaviours\n      };\n    };\n    const partMenubar = partType.optional({\n      factory: SilverMenubar,\n      name: 'menubar',\n      schema: [required$1('backstage')]\n    });\n    const toolbarFactory = spec => {\n      if (spec.type === ToolbarMode$1.sliding) {\n        return renderSlidingMoreToolbar;\n      } else if (spec.type === ToolbarMode$1.floating) {\n        return renderFloatingMoreToolbar;\n      } else {\n        return renderToolbar;\n      }\n    };\n    const partMultipleToolbar = partType.optional({\n      factory: {\n        sketch: spec => CustomList.sketch({\n          uid: spec.uid,\n          dom: spec.dom,\n          listBehaviours: derive$1([Keying.config({\n            mode: 'acyclic',\n            selector: '.tox-toolbar'\n          })]),\n          makeItem: () => renderToolbar({\n            type: spec.type,\n            uid: generate$6('multiple-toolbar-item'),\n            cyclicKeying: false,\n            initGroups: [],\n            providers: spec.providers,\n            onEscape: () => {\n              spec.onEscape();\n              return Optional.some(true);\n            }\n          }),\n          setupItem: (_mToolbar, tc, data, _index) => {\n            Toolbar.setGroups(tc, data);\n          },\n          shell: true\n        })\n      },\n      name: 'multiple-toolbar',\n      schema: [required$1('dom'), required$1('onEscape')]\n    });\n    const partToolbar = partType.optional({\n      factory: {\n        sketch: spec => {\n          const renderer = toolbarFactory(spec);\n          const toolbarSpec = {\n            type: spec.type,\n            uid: spec.uid,\n            onEscape: () => {\n              spec.onEscape();\n              return Optional.some(true);\n            },\n            onToggled: (_comp, state) => spec.onToolbarToggled(state),\n            cyclicKeying: false,\n            initGroups: [],\n            getSink: spec.getSink,\n            providers: spec.providers,\n            moreDrawerData: {\n              lazyToolbar: spec.lazyToolbar,\n              lazyMoreButton: spec.lazyMoreButton,\n              lazyHeader: spec.lazyHeader\n            },\n            attributes: spec.attributes\n          };\n          return renderer(toolbarSpec);\n        }\n      },\n      name: 'toolbar',\n      schema: [required$1('dom'), required$1('onEscape'), required$1('getSink')]\n    });\n    const partHeader = partType.optional({\n      factory: {\n        sketch: renderHeader\n      },\n      name: 'header',\n      schema: [required$1('dom')]\n    });\n    const partPromotion = partType.optional({\n      factory: {\n        sketch: renderPromotion\n      },\n      name: 'promotion',\n      schema: [required$1('dom')]\n    });\n    const partSocket = partType.optional({\n      name: 'socket',\n      schema: [required$1('dom')]\n    });\n    const partSidebar = partType.optional({\n      factory: {\n        sketch: renderSidebar\n      },\n      name: 'sidebar',\n      schema: [required$1('dom')]\n    });\n    const partThrobber = partType.optional({\n      factory: {\n        sketch: renderThrobber\n      },\n      name: 'throbber',\n      schema: [required$1('dom')]\n    });\n    const partViewWrapper = partType.optional({\n      factory: ViewWrapper,\n      name: 'viewWrapper',\n      schema: [required$1('backstage')]\n    });\n    const renderEditorContainer = spec => ({\n      uid: spec.uid,\n      dom: {\n        tag: 'div',\n        classes: ['tox-editor-container']\n      },\n      components: spec.components\n    });\n    const partEditorContainer = partType.optional({\n      factory: {\n        sketch: renderEditorContainer\n      },\n      name: 'editorContainer',\n      schema: []\n    });\n    var OuterContainer = composite({\n      name: 'OuterContainer',\n      factory: factory$6,\n      configFields: [required$1('dom'), required$1('behaviours')],\n      partFields: [partHeader, partMenubar, partToolbar, partMultipleToolbar, partSocket, partSidebar, partPromotion, partThrobber, partViewWrapper, partEditorContainer],\n      apis: {\n        getSocket: (apis, comp) => {\n          return apis.getSocket(comp);\n        },\n        setSidebar: (apis, comp, panelConfigs, showSidebar) => {\n          apis.setSidebar(comp, panelConfigs, showSidebar);\n        },\n        toggleSidebar: (apis, comp, name) => {\n          apis.toggleSidebar(comp, name);\n        },\n        whichSidebar: (apis, comp) => {\n          return apis.whichSidebar(comp);\n        },\n        getHeader: (apis, comp) => {\n          return apis.getHeader(comp);\n        },\n        getToolbar: (apis, comp) => {\n          return apis.getToolbar(comp);\n        },\n        setToolbar: (apis, comp, groups) => {\n          apis.setToolbar(comp, groups);\n        },\n        setToolbars: (apis, comp, toolbars) => {\n          apis.setToolbars(comp, toolbars);\n        },\n        refreshToolbar: (apis, comp) => {\n          return apis.refreshToolbar(comp);\n        },\n        toggleToolbarDrawer: (apis, comp) => {\n          apis.toggleToolbarDrawer(comp);\n        },\n        toggleToolbarDrawerWithoutFocusing: (apis, comp) => {\n          apis.toggleToolbarDrawerWithoutFocusing(comp);\n        },\n        isToolbarDrawerToggled: (apis, comp) => {\n          return apis.isToolbarDrawerToggled(comp);\n        },\n        getThrobber: (apis, comp) => {\n          return apis.getThrobber(comp);\n        },\n        setMenubar: (apis, comp, menus) => {\n          apis.setMenubar(comp, menus);\n        },\n        focusMenubar: (apis, comp) => {\n          apis.focusMenubar(comp);\n        },\n        focusToolbar: (apis, comp) => {\n          apis.focusToolbar(comp);\n        },\n        setViews: (apis, comp, views) => {\n          apis.setViews(comp, views);\n        },\n        toggleView: (apis, comp, name) => {\n          return apis.toggleView(comp, name);\n        },\n        whichView: (apis, comp) => {\n          return apis.whichView(comp);\n        }\n      }\n    });\n\n    const defaultMenubar = 'file edit view insert format tools table help';\n    const defaultMenus = {\n      file: {\n        title: 'File',\n        items: 'newdocument restoredraft | preview | export print | deleteallconversations'\n      },\n      edit: {\n        title: 'Edit',\n        items: 'undo redo | cut copy paste pastetext | selectall | searchreplace'\n      },\n      view: {\n        title: 'View',\n        items: 'code | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments'\n      },\n      insert: {\n        title: 'Insert',\n        items: 'image link media addcomment pageembed template inserttemplate codesample inserttable accordion | charmap emoticons hr | pagebreak nonbreaking anchor tableofcontents footnotes | mergetags | insertdatetime'\n      },\n      format: {\n        title: 'Format',\n        items: 'bold italic underline strikethrough superscript subscript codeformat | styles blocks fontfamily fontsize align lineheight | forecolor backcolor | language | removeformat'\n      },\n      tools: {\n        title: 'Tools',\n        items: 'aidialog aishortcuts | spellchecker spellcheckerlanguage | autocorrect capitalization | a11ycheck code typography wordcount addtemplate'\n      },\n      table: {\n        title: 'Table',\n        items: 'inserttable | cell row column | advtablesort | tableprops deletetable'\n      },\n      help: {\n        title: 'Help',\n        items: 'help'\n      }\n    };\n    const make = (menu, registry, editor) => {\n      const removedMenuItems = getRemovedMenuItems(editor).split(/[ ,]/);\n      return {\n        text: menu.title,\n        getItems: () => bind$3(menu.items, i => {\n          const itemName = i.toLowerCase();\n          if (itemName.trim().length === 0) {\n            return [];\n          } else if (exists(removedMenuItems, removedMenuItem => removedMenuItem === itemName)) {\n            return [];\n          } else if (itemName === 'separator' || itemName === '|') {\n            return [{\n              type: 'separator'\n            }];\n          } else if (registry.menuItems[itemName]) {\n            return [registry.menuItems[itemName]];\n          } else {\n            return [];\n          }\n        })\n      };\n    };\n    const parseItemsString = items => {\n      return items.split(' ');\n    };\n    const identifyMenus = (editor, registry) => {\n      const rawMenuData = {\n        ...defaultMenus,\n        ...registry.menus\n      };\n      const userDefinedMenus = keys(registry.menus).length > 0;\n      const menubar = registry.menubar === undefined || registry.menubar === true ? parseItemsString(defaultMenubar) : parseItemsString(registry.menubar === false ? '' : registry.menubar);\n      const validMenus = filter$2(menubar, menuName => {\n        const isDefaultMenu = has$2(defaultMenus, menuName);\n        if (userDefinedMenus) {\n          return isDefaultMenu || get$g(registry.menus, menuName).exists(menu => has$2(menu, 'items'));\n        } else {\n          return isDefaultMenu;\n        }\n      });\n      const menus = map$2(validMenus, menuName => {\n        const menuData = rawMenuData[menuName];\n        return make({\n          title: menuData.title,\n          items: parseItemsString(menuData.items)\n        }, registry, editor);\n      });\n      return filter$2(menus, menu => {\n        const isNotSeparator = item => isString(item) || item.type !== 'separator';\n        return menu.getItems().length > 0 && exists(menu.getItems(), isNotSeparator);\n      });\n    };\n\n    const fireSkinLoaded = editor => {\n      const done = () => {\n        editor._skinLoaded = true;\n        fireSkinLoaded$1(editor);\n      };\n      return () => {\n        if (editor.initialized) {\n          done();\n        } else {\n          editor.on('init', done);\n        }\n      };\n    };\n    const fireSkinLoadError = (editor, err) => () => fireSkinLoadError$1(editor, {\n      message: err\n    });\n\n    const loadStylesheet = (editor, stylesheetUrl, styleSheetLoader) => {\n      editor.on('remove', () => styleSheetLoader.unload(stylesheetUrl));\n      return styleSheetLoader.load(stylesheetUrl);\n    };\n    const loadRawCss = (editor, key, css, styleSheetLoader) => {\n      editor.on('remove', () => styleSheetLoader.unloadRawCss(key));\n      return styleSheetLoader.loadRawCss(key, css);\n    };\n    const loadUiSkins = async (editor, skinUrl) => {\n      const skinResourceIdentifier = getSkinUrlOption(editor).getOr('default');\n      const skinUiCss = 'ui/' + skinResourceIdentifier + '/skin.css';\n      const css = tinymce.Resource.get(skinUiCss);\n      if (isString(css)) {\n        return Promise.resolve(loadRawCss(editor, skinUiCss, css, editor.ui.styleSheetLoader));\n      } else {\n        const skinUiCss = skinUrl + '/skin.min.css';\n        return loadStylesheet(editor, skinUiCss, editor.ui.styleSheetLoader);\n      }\n    };\n    const loadShadowDomUiSkins = async (editor, skinUrl) => {\n      const isInShadowRoot$1 = isInShadowRoot(SugarElement.fromDom(editor.getElement()));\n      if (isInShadowRoot$1) {\n        const skinResourceIdentifier = getSkinUrlOption(editor).getOr('default');\n        const shadowDomSkinCss = 'ui/' + skinResourceIdentifier + '/skin.shadowdom.css';\n        const css = tinymce.Resource.get(shadowDomSkinCss);\n        if (isString(css)) {\n          loadRawCss(editor, shadowDomSkinCss, css, global$7.DOM.styleSheetLoader);\n          return Promise.resolve();\n        } else {\n          const shadowDomSkinCss = skinUrl + '/skin.shadowdom.min.css';\n          return loadStylesheet(editor, shadowDomSkinCss, global$7.DOM.styleSheetLoader);\n        }\n      }\n    };\n    const loadUrlSkin = async (isInline, editor) => {\n      getSkinUrlOption(editor).fold(() => {\n        const skinResourceIdentifier = getSkinUrl(editor);\n        if (skinResourceIdentifier) {\n          editor.contentCSS.push(skinResourceIdentifier + (isInline ? '/content.inline' : '/content') + '.min.css');\n        }\n      }, skinUrl => {\n        const skinContentCss = 'ui/' + skinUrl + (isInline ? '/content.inline' : '/content') + '.css';\n        const css = tinymce.Resource.get(skinContentCss);\n        if (isString(css)) {\n          loadRawCss(editor, skinContentCss, css, editor.ui.styleSheetLoader);\n        } else {\n          const skinResourceIdentifier = getSkinUrl(editor);\n          if (skinResourceIdentifier) {\n            editor.contentCSS.push(skinResourceIdentifier + (isInline ? '/content.inline' : '/content') + '.min.css');\n          }\n        }\n      });\n      const skinUrl = getSkinUrl(editor);\n      if (!isSkinDisabled(editor) && isString(skinUrl)) {\n        return Promise.all([loadUiSkins(editor, skinUrl), loadShadowDomUiSkins(editor, skinUrl)]).then();\n      }\n    };\n    const loadSkin = (isInline, editor) => {\n      return loadUrlSkin(isInline, editor).then(fireSkinLoaded(editor), fireSkinLoadError(editor, 'Skin could not be loaded'));\n    };\n    const iframe = curry(loadSkin, false);\n    const inline = curry(loadSkin, true);\n\n    const makeTooltipText = (editor, labelWithPlaceholder, value) => editor.translate([labelWithPlaceholder, editor.translate(value)]);\n\n    const generateSelectItems = (backstage, spec) => {\n      const generateItem = (rawItem, response, invalid, value) => {\n        const translatedText = backstage.shared.providers.translate(rawItem.title);\n        if (rawItem.type === 'separator') {\n          return Optional.some({\n            type: 'separator',\n            text: translatedText\n          });\n        } else if (rawItem.type === 'submenu') {\n          const items = bind$3(rawItem.getStyleItems(), si => validate(si, response, value));\n          if (response === 0 && items.length <= 0) {\n            return Optional.none();\n          } else {\n            return Optional.some({\n              type: 'nestedmenuitem',\n              text: translatedText,\n              enabled: items.length > 0,\n              getSubmenuItems: () => bind$3(rawItem.getStyleItems(), si => validate(si, response, value))\n            });\n          }\n        } else {\n          return Optional.some({\n            type: 'togglemenuitem',\n            text: translatedText,\n            icon: rawItem.icon,\n            active: rawItem.isSelected(value),\n            enabled: !invalid,\n            onAction: spec.onAction(rawItem),\n            ...rawItem.getStylePreview().fold(() => ({}), preview => ({\n              meta: {\n                style: preview\n              }\n            }))\n          });\n        }\n      };\n      const validate = (item, response, value) => {\n        const invalid = item.type === 'formatter' && spec.isInvalid(item);\n        if (response === 0) {\n          return invalid ? [] : generateItem(item, response, false, value).toArray();\n        } else {\n          return generateItem(item, response, invalid, value).toArray();\n        }\n      };\n      const validateItems = preItems => {\n        const value = spec.getCurrentValue();\n        const response = spec.shouldHide ? 0 : 1;\n        return bind$3(preItems, item => validate(item, response, value));\n      };\n      const getFetch = (backstage, getStyleItems) => (comp, callback) => {\n        const preItems = getStyleItems();\n        const items = validateItems(preItems);\n        const menu = build(items, ItemResponse$1.CLOSE_ON_EXECUTE, backstage, {\n          isHorizontalMenu: false,\n          search: Optional.none()\n        });\n        callback(menu);\n      };\n      return {\n        validateItems,\n        getFetch\n      };\n    };\n    const createMenuItems = (editor, backstage, spec) => {\n      const dataset = spec.dataset;\n      const getStyleItems = dataset.type === 'basic' ? () => map$2(dataset.data, d => processBasic(d, spec.isSelectedFor, spec.getPreviewFor)) : dataset.getData;\n      return {\n        items: generateSelectItems(backstage, spec),\n        getStyleItems\n      };\n    };\n    const createSelectButton = (editor, backstage, spec, tooltipWithPlaceholder, textUpdateEventName) => {\n      const {\n        items,\n        getStyleItems\n      } = createMenuItems(editor, backstage, spec);\n      const getApi = comp => ({\n        getComponent: constant$1(comp),\n        setTooltip: tooltip => {\n          const translatedTooltip = backstage.shared.providers.translate(tooltip);\n          setAll$1(comp.element, {\n            'aria-label': translatedTooltip,\n            'title': translatedTooltip\n          });\n        }\n      });\n      const onSetup = api => {\n        const handler = e => api.setTooltip(makeTooltipText(editor, tooltipWithPlaceholder, e.value));\n        editor.on(textUpdateEventName, handler);\n        return composeUnbinders(onSetupEvent(editor, 'NodeChange', api => {\n          const comp = api.getComponent();\n          spec.updateText(comp);\n          Disabling.set(api.getComponent(), !editor.selection.isEditable());\n        })(api), () => editor.off(textUpdateEventName, handler));\n      };\n      return renderCommonDropdown({\n        text: spec.icon.isSome() ? Optional.none() : spec.text,\n        icon: spec.icon,\n        tooltip: Optional.from(spec.tooltip),\n        role: Optional.none(),\n        fetch: items.getFetch(backstage, getStyleItems),\n        onSetup,\n        getApi,\n        columns: 1,\n        presets: 'normal',\n        classes: spec.icon.isSome() ? [] : ['bespoke'],\n        dropdownBehaviours: []\n      }, 'tox-tbtn', backstage.shared);\n    };\n\n    const process = rawFormats => map$2(rawFormats, item => {\n      let title = item,\n        format = item;\n      const values = item.split('=');\n      if (values.length > 1) {\n        title = values[0];\n        format = values[1];\n      }\n      return {\n        title,\n        format\n      };\n    });\n    const buildBasicStaticDataset = data => ({\n      type: 'basic',\n      data\n    });\n    var Delimiter;\n    (function (Delimiter) {\n      Delimiter[Delimiter['SemiColon'] = 0] = 'SemiColon';\n      Delimiter[Delimiter['Space'] = 1] = 'Space';\n    })(Delimiter || (Delimiter = {}));\n    const split = (rawFormats, delimiter) => {\n      if (delimiter === Delimiter.SemiColon) {\n        return rawFormats.replace(/;$/, '').split(';');\n      } else {\n        return rawFormats.split(' ');\n      }\n    };\n    const buildBasicSettingsDataset = (editor, settingName, delimiter) => {\n      const rawFormats = editor.options.get(settingName);\n      const data = process(split(rawFormats, delimiter));\n      return {\n        type: 'basic',\n        data\n      };\n    };\n\n    const menuTitle$4 = 'Align';\n    const btnTooltip$4 = 'Alignment {0}';\n    const fallbackAlignment = 'left';\n    const alignMenuItems = [{\n      title: 'Left',\n      icon: 'align-left',\n      format: 'alignleft',\n      command: 'JustifyLeft'\n    }, {\n      title: 'Center',\n      icon: 'align-center',\n      format: 'aligncenter',\n      command: 'JustifyCenter'\n    }, {\n      title: 'Right',\n      icon: 'align-right',\n      format: 'alignright',\n      command: 'JustifyRight'\n    }, {\n      title: 'Justify',\n      icon: 'align-justify',\n      format: 'alignjustify',\n      command: 'JustifyFull'\n    }];\n    const getSpec$4 = editor => {\n      const getMatchingValue = () => find$5(alignMenuItems, item => editor.formatter.match(item.format));\n      const isSelectedFor = format => () => editor.formatter.match(format);\n      const getPreviewFor = _format => Optional.none;\n      const updateSelectMenuIcon = comp => {\n        const match = getMatchingValue();\n        const alignment = match.fold(constant$1(fallbackAlignment), item => item.title.toLowerCase());\n        emitWith(comp, updateMenuIcon, {\n          icon: \"align-\".concat(alignment)\n        });\n        fireAlignTextUpdate(editor, {\n          value: alignment\n        });\n      };\n      const dataset = buildBasicStaticDataset(alignMenuItems);\n      const onAction = rawItem => () => find$5(alignMenuItems, item => item.format === rawItem.format).each(item => editor.execCommand(item.command));\n      return {\n        tooltip: makeTooltipText(editor, btnTooltip$4, fallbackAlignment),\n        text: Optional.none(),\n        icon: Optional.some('align-left'),\n        isSelectedFor,\n        getCurrentValue: Optional.none,\n        getPreviewFor,\n        onAction,\n        updateText: updateSelectMenuIcon,\n        dataset,\n        shouldHide: false,\n        isInvalid: item => !editor.formatter.canApply(item.format)\n      };\n    };\n    const createAlignButton = (editor, backstage) => createSelectButton(editor, backstage, getSpec$4(editor), btnTooltip$4, 'AlignTextUpdate');\n    const createAlignMenu = (editor, backstage) => {\n      const menuItems = createMenuItems(editor, backstage, getSpec$4(editor));\n      editor.ui.registry.addNestedMenuItem('align', {\n        text: backstage.shared.providers.translate(menuTitle$4),\n        onSetup: onSetupEditableToggle(editor),\n        getSubmenuItems: () => menuItems.items.validateItems(menuItems.getStyleItems())\n      });\n    };\n\n    const findNearest = (editor, getStyles) => {\n      const styles = getStyles();\n      const formats = map$2(styles, style => style.format);\n      return Optional.from(editor.formatter.closest(formats)).bind(fmt => find$5(styles, data => data.format === fmt)).orThunk(() => someIf(editor.formatter.match('p'), {\n        title: 'Paragraph',\n        format: 'p'\n      }));\n    };\n\n    const menuTitle$3 = 'Blocks';\n    const btnTooltip$3 = 'Block {0}';\n    const fallbackFormat = 'Paragraph';\n    const getSpec$3 = editor => {\n      const isSelectedFor = format => () => editor.formatter.match(format);\n      const getPreviewFor = format => () => {\n        const fmt = editor.formatter.get(format);\n        if (fmt) {\n          return Optional.some({\n            tag: fmt.length > 0 ? fmt[0].inline || fmt[0].block || 'div' : 'div',\n            styles: editor.dom.parseStyle(editor.formatter.getCssText(format))\n          });\n        } else {\n          return Optional.none();\n        }\n      };\n      const updateSelectMenuText = comp => {\n        const detectedFormat = findNearest(editor, () => dataset.data);\n        const text = detectedFormat.fold(constant$1(fallbackFormat), fmt => fmt.title);\n        emitWith(comp, updateMenuText, {\n          text\n        });\n        fireBlocksTextUpdate(editor, {\n          value: text\n        });\n      };\n      const dataset = buildBasicSettingsDataset(editor, 'block_formats', Delimiter.SemiColon);\n      return {\n        tooltip: makeTooltipText(editor, btnTooltip$3, fallbackFormat),\n        text: Optional.some(fallbackFormat),\n        icon: Optional.none(),\n        isSelectedFor,\n        getCurrentValue: Optional.none,\n        getPreviewFor,\n        onAction: onActionToggleFormat$1(editor),\n        updateText: updateSelectMenuText,\n        dataset,\n        shouldHide: false,\n        isInvalid: item => !editor.formatter.canApply(item.format)\n      };\n    };\n    const createBlocksButton = (editor, backstage) => createSelectButton(editor, backstage, getSpec$3(editor), btnTooltip$3, 'BlocksTextUpdate');\n    const createBlocksMenu = (editor, backstage) => {\n      const menuItems = createMenuItems(editor, backstage, getSpec$3(editor));\n      editor.ui.registry.addNestedMenuItem('blocks', {\n        text: menuTitle$3,\n        onSetup: onSetupEditableToggle(editor),\n        getSubmenuItems: () => menuItems.items.validateItems(menuItems.getStyleItems())\n      });\n    };\n\n    const menuTitle$2 = 'Fonts';\n    const btnTooltip$2 = 'Font {0}';\n    const systemFont = 'System Font';\n    const systemStackFonts = ['-apple-system', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'sans-serif'];\n    const splitFonts = fontFamily => {\n      const fonts = fontFamily.split(/\\s*,\\s*/);\n      return map$2(fonts, font => font.replace(/^['\"]+|['\"]+$/g, ''));\n    };\n    const matchesStack = (fonts, stack) => stack.length > 0 && forall(stack, font => fonts.indexOf(font.toLowerCase()) > -1);\n    const isSystemFontStack = (fontFamily, userStack) => {\n      if (fontFamily.indexOf('-apple-system') === 0 || userStack.length > 0) {\n        const fonts = splitFonts(fontFamily.toLowerCase());\n        return matchesStack(fonts, systemStackFonts) || matchesStack(fonts, userStack);\n      } else {\n        return false;\n      }\n    };\n    const getSpec$2 = editor => {\n      const getMatchingValue = () => {\n        const getFirstFont = fontFamily => fontFamily ? splitFonts(fontFamily)[0] : '';\n        const fontFamily = editor.queryCommandValue('FontName');\n        const items = dataset.data;\n        const font = fontFamily ? fontFamily.toLowerCase() : '';\n        const userStack = getDefaultFontStack(editor);\n        const matchOpt = find$5(items, item => {\n          const format = item.format;\n          return format.toLowerCase() === font || getFirstFont(format).toLowerCase() === getFirstFont(font).toLowerCase();\n        }).orThunk(() => {\n          return someIf(isSystemFontStack(font, userStack), {\n            title: systemFont,\n            format: font\n          });\n        });\n        return {\n          matchOpt,\n          font: fontFamily\n        };\n      };\n      const isSelectedFor = item => valueOpt => valueOpt.exists(value => value.format === item);\n      const getCurrentValue = () => {\n        const {\n          matchOpt\n        } = getMatchingValue();\n        return matchOpt;\n      };\n      const getPreviewFor = item => () => Optional.some({\n        tag: 'div',\n        styles: item.indexOf('dings') === -1 ? {\n          'font-family': item\n        } : {}\n      });\n      const onAction = rawItem => () => {\n        editor.undoManager.transact(() => {\n          editor.focus();\n          editor.execCommand('FontName', false, rawItem.format);\n        });\n      };\n      const updateSelectMenuText = comp => {\n        const {\n          matchOpt,\n          font\n        } = getMatchingValue();\n        const text = matchOpt.fold(constant$1(font), item => item.title);\n        emitWith(comp, updateMenuText, {\n          text\n        });\n        fireFontFamilyTextUpdate(editor, {\n          value: text\n        });\n      };\n      const dataset = buildBasicSettingsDataset(editor, 'font_family_formats', Delimiter.SemiColon);\n      return {\n        tooltip: makeTooltipText(editor, btnTooltip$2, systemFont),\n        text: Optional.some(systemFont),\n        icon: Optional.none(),\n        isSelectedFor,\n        getCurrentValue,\n        getPreviewFor,\n        onAction,\n        updateText: updateSelectMenuText,\n        dataset,\n        shouldHide: false,\n        isInvalid: never\n      };\n    };\n    const createFontFamilyButton = (editor, backstage) => createSelectButton(editor, backstage, getSpec$2(editor), btnTooltip$2, 'FontFamilyTextUpdate');\n    const createFontFamilyMenu = (editor, backstage) => {\n      const menuItems = createMenuItems(editor, backstage, getSpec$2(editor));\n      editor.ui.registry.addNestedMenuItem('fontfamily', {\n        text: backstage.shared.providers.translate(menuTitle$2),\n        onSetup: onSetupEditableToggle(editor),\n        getSubmenuItems: () => menuItems.items.validateItems(menuItems.getStyleItems())\n      });\n    };\n\n    const units = {\n      unsupportedLength: ['em', 'ex', 'cap', 'ch', 'ic', 'rem', 'lh', 'rlh', 'vw', 'vh', 'vi', 'vb', 'vmin', 'vmax', 'cm', 'mm', 'Q', 'in', 'pc', 'pt', 'px'],\n      fixed: ['px', 'pt'],\n      relative: ['%'],\n      empty: ['']\n    };\n    const pattern = (() => {\n      const decimalDigits = '[0-9]+';\n      const signedInteger = '[+-]?' + decimalDigits;\n      const exponentPart = '[eE]' + signedInteger;\n      const dot = '\\\\.';\n      const opt = input => \"(?:\".concat(input, \")?\");\n      const unsignedDecimalLiteral = ['Infinity', decimalDigits + dot + opt(decimalDigits) + opt(exponentPart), dot + decimalDigits + opt(exponentPart), decimalDigits + opt(exponentPart)].join('|');\n      const float = \"[+-]?(?:\".concat(unsignedDecimalLiteral, \")\");\n      return new RegExp(\"^(\".concat(float, \")(.*)$\"));\n    })();\n    const isUnit = (unit, accepted) => exists(accepted, acc => exists(units[acc], check => unit === check));\n    const parse = (input, accepted) => {\n      const match = Optional.from(pattern.exec(input));\n      return match.bind(array => {\n        const value = Number(array[1]);\n        const unitRaw = array[2];\n        if (isUnit(unitRaw, accepted)) {\n          return Optional.some({\n            value,\n            unit: unitRaw\n          });\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    const normalise = (input, accepted) => parse(input, accepted).map(({\n      value,\n      unit\n    }) => value + unit);\n\n    const Keys = {\n      tab: constant$1(9),\n      escape: constant$1(27),\n      enter: constant$1(13),\n      backspace: constant$1(8),\n      delete: constant$1(46),\n      left: constant$1(37),\n      up: constant$1(38),\n      right: constant$1(39),\n      down: constant$1(40),\n      space: constant$1(32),\n      home: constant$1(36),\n      end: constant$1(35),\n      pageUp: constant$1(33),\n      pageDown: constant$1(34)\n    };\n\n    const createBespokeNumberInput = (editor, backstage, spec) => {\n      let currentComp = Optional.none();\n      const getValueFromCurrentComp = comp => comp.map(alloyComp => Representing.getValue(alloyComp)).getOr('');\n      const onSetup = onSetupEvent(editor, 'NodeChange SwitchMode', api => {\n        const comp = api.getComponent();\n        currentComp = Optional.some(comp);\n        spec.updateInputValue(comp);\n        Disabling.set(comp, !editor.selection.isEditable());\n      });\n      const getApi = comp => ({\n        getComponent: constant$1(comp)\n      });\n      const editorOffCell = Cell(noop);\n      const customEvents = generate$6('custom-number-input-events');\n      const changeValue = (f, fromInput, focusBack) => {\n        const text = getValueFromCurrentComp(currentComp);\n        const newValue = spec.getNewValue(text, f);\n        const lenghtDelta = text.length - \"\".concat(newValue).length;\n        const oldStart = currentComp.map(comp => comp.element.dom.selectionStart - lenghtDelta);\n        const oldEnd = currentComp.map(comp => comp.element.dom.selectionEnd - lenghtDelta);\n        spec.onAction(newValue, focusBack);\n        currentComp.each(comp => {\n          Representing.setValue(comp, newValue);\n          if (fromInput) {\n            oldStart.each(oldStart => comp.element.dom.selectionStart = oldStart);\n            oldEnd.each(oldEnd => comp.element.dom.selectionEnd = oldEnd);\n          }\n        });\n      };\n      const decrease = (fromInput, focusBack) => changeValue((n, s) => n - s, fromInput, focusBack);\n      const increase = (fromInput, focusBack) => changeValue((n, s) => n + s, fromInput, focusBack);\n      const goToParent = comp => parentElement(comp.element).fold(Optional.none, parent => {\n        focus$3(parent);\n        return Optional.some(true);\n      });\n      const focusInput = comp => {\n        if (hasFocus(comp.element)) {\n          firstChild(comp.element).each(input => focus$3(input));\n          return Optional.some(true);\n        } else {\n          return Optional.none();\n        }\n      };\n      const makeStepperButton = (action, title, tooltip, classes) => {\n        const editorOffCellStepButton = Cell(noop);\n        const translatedTooltip = backstage.shared.providers.translate(tooltip);\n        const altExecuting = generate$6('altExecuting');\n        const onSetup = onSetupEvent(editor, 'NodeChange SwitchMode', api => {\n          Disabling.set(api.getComponent(), !editor.selection.isEditable());\n        });\n        const onClick = comp => {\n          if (!Disabling.isDisabled(comp)) {\n            action(true);\n          }\n        };\n        return Button.sketch({\n          dom: {\n            tag: 'button',\n            attributes: {\n              'title': translatedTooltip,\n              'aria-label': translatedTooltip\n            },\n            classes: classes.concat(title)\n          },\n          components: [renderIconFromPack$1(title, backstage.shared.providers.icons)],\n          buttonBehaviours: derive$1([Disabling.config({}), config(altExecuting, [onControlAttached({\n            onSetup,\n            getApi\n          }, editorOffCellStepButton), onControlDetached({\n            getApi\n          }, editorOffCellStepButton), run$1(keydown(), (comp, se) => {\n            if (se.event.raw.keyCode === Keys.space() || se.event.raw.keyCode === Keys.enter()) {\n              if (!Disabling.isDisabled(comp)) {\n                action(false);\n              }\n            }\n          }), run$1(click(), onClick), run$1(touchend(), onClick)])]),\n          eventOrder: {\n            [keydown()]: [altExecuting, 'keying'],\n            [click()]: [altExecuting, 'alloy.base.behaviour'],\n            [touchend()]: [altExecuting, 'alloy.base.behaviour']\n          }\n        });\n      };\n      const memMinus = record(makeStepperButton(focusBack => decrease(false, focusBack), 'minus', 'Decrease font size', []));\n      const memPlus = record(makeStepperButton(focusBack => increase(false, focusBack), 'plus', 'Increase font size', []));\n      const memInput = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-input-wrapper']\n        },\n        components: [Input.sketch({\n          inputBehaviours: derive$1([Disabling.config({}), config(customEvents, [onControlAttached({\n            onSetup,\n            getApi\n          }, editorOffCell), onControlDetached({\n            getApi\n          }, editorOffCell)]), config('input-update-display-text', [run$1(updateMenuText, (comp, se) => {\n            Representing.setValue(comp, se.event.text);\n          }), run$1(focusout(), comp => {\n            spec.onAction(Representing.getValue(comp));\n          }), run$1(change(), comp => {\n            spec.onAction(Representing.getValue(comp));\n          })]), Keying.config({\n            mode: 'special',\n            onEnter: _comp => {\n              changeValue(identity, true, true);\n              return Optional.some(true);\n            },\n            onEscape: goToParent,\n            onUp: _comp => {\n              increase(true, false);\n              return Optional.some(true);\n            },\n            onDown: _comp => {\n              decrease(true, false);\n              return Optional.some(true);\n            },\n            onLeft: (_comp, se) => {\n              se.cut();\n              return Optional.none();\n            },\n            onRight: (_comp, se) => {\n              se.cut();\n              return Optional.none();\n            }\n          })])\n        })],\n        behaviours: derive$1([Focusing.config({}), Keying.config({\n          mode: 'special',\n          onEnter: focusInput,\n          onSpace: focusInput,\n          onEscape: goToParent\n        }), config('input-wrapper-events', [run$1(mouseover(), comp => {\n          each$1([memMinus, memPlus], button => {\n            const buttonNode = SugarElement.fromDom(button.get(comp).element.dom);\n            if (hasFocus(buttonNode)) {\n              blur$1(buttonNode);\n            }\n          });\n        })])])\n      });\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-number-input']\n        },\n        components: [memMinus.asSpec(), memInput.asSpec(), memPlus.asSpec()],\n        behaviours: derive$1([Focusing.config({}), Keying.config({\n          mode: 'flow',\n          focusInside: FocusInsideModes.OnEnterOrSpaceMode,\n          cycles: false,\n          selector: 'button, .tox-input-wrapper',\n          onEscape: wrapperComp => {\n            if (hasFocus(wrapperComp.element)) {\n              return Optional.none();\n            } else {\n              focus$3(wrapperComp.element);\n              return Optional.some(true);\n            }\n          }\n        })])\n      };\n    };\n\n    const menuTitle$1 = 'Font sizes';\n    const btnTooltip$1 = 'Font size {0}';\n    const fallbackFontSize = '12pt';\n    const legacyFontSizes = {\n      '8pt': '1',\n      '10pt': '2',\n      '12pt': '3',\n      '14pt': '4',\n      '18pt': '5',\n      '24pt': '6',\n      '36pt': '7'\n    };\n    const keywordFontSizes = {\n      'xx-small': '7pt',\n      'x-small': '8pt',\n      'small': '10pt',\n      'medium': '12pt',\n      'large': '14pt',\n      'x-large': '18pt',\n      'xx-large': '24pt'\n    };\n    const round = (number, precision) => {\n      const factor = Math.pow(10, precision);\n      return Math.round(number * factor) / factor;\n    };\n    const toPt = (fontSize, precision) => {\n      if (/[0-9.]+px$/.test(fontSize)) {\n        return round(parseInt(fontSize, 10) * 72 / 96, precision || 0) + 'pt';\n      } else {\n        return get$g(keywordFontSizes, fontSize).getOr(fontSize);\n      }\n    };\n    const toLegacy = fontSize => get$g(legacyFontSizes, fontSize).getOr('');\n    const getSpec$1 = editor => {\n      const getMatchingValue = () => {\n        let matchOpt = Optional.none();\n        const items = dataset.data;\n        const fontSize = editor.queryCommandValue('FontSize');\n        if (fontSize) {\n          for (let precision = 3; matchOpt.isNone() && precision >= 0; precision--) {\n            const pt = toPt(fontSize, precision);\n            const legacy = toLegacy(pt);\n            matchOpt = find$5(items, item => item.format === fontSize || item.format === pt || item.format === legacy);\n          }\n        }\n        return {\n          matchOpt,\n          size: fontSize\n        };\n      };\n      const isSelectedFor = item => valueOpt => valueOpt.exists(value => value.format === item);\n      const getCurrentValue = () => {\n        const {\n          matchOpt\n        } = getMatchingValue();\n        return matchOpt;\n      };\n      const getPreviewFor = constant$1(Optional.none);\n      const onAction = rawItem => () => {\n        editor.undoManager.transact(() => {\n          editor.focus();\n          editor.execCommand('FontSize', false, rawItem.format);\n        });\n      };\n      const updateSelectMenuText = comp => {\n        const {\n          matchOpt,\n          size\n        } = getMatchingValue();\n        const text = matchOpt.fold(constant$1(size), match => match.title);\n        emitWith(comp, updateMenuText, {\n          text\n        });\n        fireFontSizeTextUpdate(editor, {\n          value: text\n        });\n      };\n      const dataset = buildBasicSettingsDataset(editor, 'font_size_formats', Delimiter.Space);\n      return {\n        tooltip: makeTooltipText(editor, btnTooltip$1, fallbackFontSize),\n        text: Optional.some(fallbackFontSize),\n        icon: Optional.none(),\n        isSelectedFor,\n        getPreviewFor,\n        getCurrentValue,\n        onAction,\n        updateText: updateSelectMenuText,\n        dataset,\n        shouldHide: false,\n        isInvalid: never\n      };\n    };\n    const createFontSizeButton = (editor, backstage) => createSelectButton(editor, backstage, getSpec$1(editor), btnTooltip$1, 'FontSizeTextUpdate');\n    const getConfigFromUnit = unit => {\n      var _a;\n      const baseConfig = {\n        step: 1\n      };\n      const configs = {\n        em: {\n          step: 0.1\n        },\n        cm: {\n          step: 0.1\n        },\n        in: {\n          step: 0.1\n        },\n        pc: {\n          step: 0.1\n        },\n        ch: {\n          step: 0.1\n        },\n        rem: {\n          step: 0.1\n        }\n      };\n      return (_a = configs[unit]) !== null && _a !== void 0 ? _a : baseConfig;\n    };\n    const defaultValue = 16;\n    const isValidValue = value => value >= 0;\n    const getNumberInputSpec = editor => {\n      const getCurrentValue = () => editor.queryCommandValue('FontSize');\n      const updateInputValue = comp => emitWith(comp, updateMenuText, {\n        text: getCurrentValue()\n      });\n      return {\n        updateInputValue,\n        onAction: (format, focusBack) => editor.execCommand('FontSize', false, format, {\n          skip_focus: !focusBack\n        }),\n        getNewValue: (text, updateFunction) => {\n          parse(text, ['unsupportedLength', 'empty']);\n          const currentValue = getCurrentValue();\n          const parsedText = parse(text, ['unsupportedLength', 'empty']).or(parse(currentValue, ['unsupportedLength', 'empty']));\n          const value = parsedText.map(res => res.value).getOr(defaultValue);\n          const defaultUnit = getFontSizeInputDefaultUnit(editor);\n          const unit = parsedText.map(res => res.unit).filter(u => u !== '').getOr(defaultUnit);\n          const newValue = updateFunction(value, getConfigFromUnit(unit).step);\n          const res = \"\".concat(isValidValue(newValue) ? newValue : value).concat(unit);\n          if (res !== currentValue) {\n            fireFontSizeInputTextUpdate(editor, {\n              value: res\n            });\n          }\n          return res;\n        }\n      };\n    };\n    const createFontSizeInputButton = (editor, backstage) => createBespokeNumberInput(editor, backstage, getNumberInputSpec(editor));\n    const createFontSizeMenu = (editor, backstage) => {\n      const menuItems = createMenuItems(editor, backstage, getSpec$1(editor));\n      editor.ui.registry.addNestedMenuItem('fontsize', {\n        text: menuTitle$1,\n        onSetup: onSetupEditableToggle(editor),\n        getSubmenuItems: () => menuItems.items.validateItems(menuItems.getStyleItems())\n      });\n    };\n\n    const menuTitle = 'Formats';\n    const btnTooltip = 'Format {0}';\n    const getSpec = (editor, dataset) => {\n      const fallbackFormat = 'Paragraph';\n      const isSelectedFor = format => () => editor.formatter.match(format);\n      const getPreviewFor = format => () => {\n        const fmt = editor.formatter.get(format);\n        return fmt !== undefined ? Optional.some({\n          tag: fmt.length > 0 ? fmt[0].inline || fmt[0].block || 'div' : 'div',\n          styles: editor.dom.parseStyle(editor.formatter.getCssText(format))\n        }) : Optional.none();\n      };\n      const updateSelectMenuText = comp => {\n        const getFormatItems = fmt => {\n          if (isNestedFormat(fmt)) {\n            return bind$3(fmt.items, getFormatItems);\n          } else if (isFormatReference(fmt)) {\n            return [{\n              title: fmt.title,\n              format: fmt.format\n            }];\n          } else {\n            return [];\n          }\n        };\n        const flattenedItems = bind$3(getStyleFormats(editor), getFormatItems);\n        const detectedFormat = findNearest(editor, constant$1(flattenedItems));\n        const text = detectedFormat.fold(constant$1(fallbackFormat), fmt => fmt.title);\n        emitWith(comp, updateMenuText, {\n          text\n        });\n        fireStylesTextUpdate(editor, {\n          value: text\n        });\n      };\n      return {\n        tooltip: makeTooltipText(editor, btnTooltip, fallbackFormat),\n        text: Optional.some(fallbackFormat),\n        icon: Optional.none(),\n        isSelectedFor,\n        getCurrentValue: Optional.none,\n        getPreviewFor,\n        onAction: onActionToggleFormat$1(editor),\n        updateText: updateSelectMenuText,\n        shouldHide: shouldAutoHideStyleFormats(editor),\n        isInvalid: item => !editor.formatter.canApply(item.format),\n        dataset\n      };\n    };\n    const createStylesButton = (editor, backstage) => {\n      const dataset = {\n        type: 'advanced',\n        ...backstage.styles\n      };\n      return createSelectButton(editor, backstage, getSpec(editor, dataset), btnTooltip, 'StylesTextUpdate');\n    };\n    const createStylesMenu = (editor, backstage) => {\n      const dataset = {\n        type: 'advanced',\n        ...backstage.styles\n      };\n      const menuItems = createMenuItems(editor, backstage, getSpec(editor, dataset));\n      editor.ui.registry.addNestedMenuItem('styles', {\n        text: menuTitle,\n        onSetup: onSetupEditableToggle(editor),\n        getSubmenuItems: () => menuItems.items.validateItems(menuItems.getStyleItems())\n      });\n    };\n\n    const schema$7 = constant$1([required$1('toggleClass'), required$1('fetch'), onStrictHandler('onExecute'), defaulted('getHotspot', Optional.some), defaulted('getAnchorOverrides', constant$1({})), schema$y(), onStrictHandler('onItemExecute'), option$3('lazySink'), required$1('dom'), onHandler('onOpen'), field('splitDropdownBehaviours', [Coupling, Keying, Focusing]), defaulted('matchWidth', false), defaulted('useMinWidth', false), defaulted('eventOrder', {}), option$3('role')].concat(sandboxFields()));\n    const arrowPart = required({\n      factory: Button,\n      schema: [required$1('dom')],\n      name: 'arrow',\n      defaults: () => {\n        return {\n          buttonBehaviours: derive$1([Focusing.revoke()])\n        };\n      },\n      overrides: detail => {\n        return {\n          dom: {\n            tag: 'span',\n            attributes: {\n              role: 'presentation'\n            }\n          },\n          action: arrow => {\n            arrow.getSystem().getByUid(detail.uid).each(emitExecute);\n          },\n          buttonBehaviours: derive$1([Toggling.config({\n            toggleOnExecute: false,\n            toggleClass: detail.toggleClass\n          })])\n        };\n      }\n    });\n    const buttonPart = required({\n      factory: Button,\n      schema: [required$1('dom')],\n      name: 'button',\n      defaults: () => {\n        return {\n          buttonBehaviours: derive$1([Focusing.revoke()])\n        };\n      },\n      overrides: detail => {\n        return {\n          dom: {\n            tag: 'span',\n            attributes: {\n              role: 'presentation'\n            }\n          },\n          action: btn => {\n            btn.getSystem().getByUid(detail.uid).each(splitDropdown => {\n              detail.onExecute(splitDropdown, btn);\n            });\n          }\n        };\n      }\n    });\n    const parts$3 = constant$1([arrowPart, buttonPart, optional({\n      factory: {\n        sketch: spec => {\n          return {\n            uid: spec.uid,\n            dom: {\n              tag: 'span',\n              styles: {\n                display: 'none'\n              },\n              attributes: {\n                'aria-hidden': 'true'\n              },\n              innerHtml: spec.text\n            }\n          };\n        }\n      },\n      schema: [required$1('text')],\n      name: 'aria-descriptor'\n    }), external({\n      schema: [tieredMenuMarkers()],\n      name: 'menu',\n      defaults: detail => {\n        return {\n          onExecute: (tmenu, item) => {\n            tmenu.getSystem().getByUid(detail.uid).each(splitDropdown => {\n              detail.onItemExecute(splitDropdown, tmenu, item);\n            });\n          }\n        };\n      }\n    }), partType$1()]);\n\n    const factory$5 = (detail, components, spec, externals) => {\n      const switchToMenu = sandbox => {\n        Composing.getCurrent(sandbox).each(current => {\n          Highlighting.highlightFirst(current);\n          Keying.focusIn(current);\n        });\n      };\n      const action = component => {\n        const onOpenSync = switchToMenu;\n        togglePopup(detail, identity, component, externals, onOpenSync, HighlightOnOpen.HighlightMenuAndItem).get(noop);\n      };\n      const openMenu = comp => {\n        action(comp);\n        return Optional.some(true);\n      };\n      const executeOnButton = comp => {\n        const button = getPartOrDie(comp, detail, 'button');\n        emitExecute(button);\n        return Optional.some(true);\n      };\n      const buttonEvents = {\n        ...derive$2([runOnAttached((component, _simulatedEvent) => {\n          const ariaDescriptor = getPart(component, detail, 'aria-descriptor');\n          ariaDescriptor.each(descriptor => {\n            const descriptorId = generate$6('aria');\n            set$9(descriptor.element, 'id', descriptorId);\n            set$9(component.element, 'aria-describedby', descriptorId);\n          });\n        })]),\n        ...events$a(Optional.some(action))\n      };\n      const apis = {\n        repositionMenus: comp => {\n          if (Toggling.isOn(comp)) {\n            repositionMenus(comp);\n          }\n        }\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        apis,\n        eventOrder: {\n          ...detail.eventOrder,\n          [execute$5()]: ['disabling', 'toggling', 'alloy.base.behaviour']\n        },\n        events: buttonEvents,\n        behaviours: augment(detail.splitDropdownBehaviours, [Coupling.config({\n          others: {\n            sandbox: hotspot => {\n              const arrow = getPartOrDie(hotspot, detail, 'arrow');\n              const extras = {\n                onOpen: () => {\n                  Toggling.on(arrow);\n                  Toggling.on(hotspot);\n                },\n                onClose: () => {\n                  Toggling.off(arrow);\n                  Toggling.off(hotspot);\n                }\n              };\n              return makeSandbox$1(detail, hotspot, extras);\n            }\n          }\n        }), Keying.config({\n          mode: 'special',\n          onSpace: executeOnButton,\n          onEnter: executeOnButton,\n          onDown: openMenu\n        }), Focusing.config({}), Toggling.config({\n          toggleOnExecute: false,\n          aria: {\n            mode: 'expanded'\n          }\n        })]),\n        domModification: {\n          attributes: {\n            'role': detail.role.getOr('button'),\n            'aria-haspopup': true\n          }\n        }\n      };\n    };\n    const SplitDropdown = composite({\n      name: 'SplitDropdown',\n      configFields: schema$7(),\n      partFields: parts$3(),\n      factory: factory$5,\n      apis: {\n        repositionMenus: (apis, comp) => apis.repositionMenus(comp)\n      }\n    });\n\n    const getButtonApi = component => ({\n      isEnabled: () => !Disabling.isDisabled(component),\n      setEnabled: state => Disabling.set(component, !state),\n      setText: text => emitWith(component, updateMenuText, {\n        text\n      }),\n      setIcon: icon => emitWith(component, updateMenuIcon, {\n        icon\n      })\n    });\n    const getToggleApi = component => ({\n      setActive: state => {\n        Toggling.set(component, state);\n      },\n      isActive: () => Toggling.isOn(component),\n      isEnabled: () => !Disabling.isDisabled(component),\n      setEnabled: state => Disabling.set(component, !state),\n      setText: text => emitWith(component, updateMenuText, {\n        text\n      }),\n      setIcon: icon => emitWith(component, updateMenuIcon, {\n        icon\n      })\n    });\n    const getTooltipAttributes = (tooltip, providersBackstage) => tooltip.map(tooltip => ({\n      'aria-label': providersBackstage.translate(tooltip),\n      'title': providersBackstage.translate(tooltip)\n    })).getOr({});\n    const focusButtonEvent = generate$6('focus-button');\n    const renderCommonStructure = (optIcon, optText, tooltip, behaviours, providersBackstage) => {\n      const optMemDisplayText = optText.map(text => record(renderLabel$1(text, 'tox-tbtn', providersBackstage)));\n      const optMemDisplayIcon = optIcon.map(icon => record(renderReplaceableIconFromPack(icon, providersBackstage.icons)));\n      return {\n        dom: {\n          tag: 'button',\n          classes: ['tox-tbtn'].concat(optText.isSome() ? ['tox-tbtn--select'] : []),\n          attributes: getTooltipAttributes(tooltip, providersBackstage)\n        },\n        components: componentRenderPipeline([optMemDisplayIcon.map(mem => mem.asSpec()), optMemDisplayText.map(mem => mem.asSpec())]),\n        eventOrder: {\n          [mousedown()]: ['focusing', 'alloy.base.behaviour', commonButtonDisplayEvent],\n          [attachedToDom()]: [commonButtonDisplayEvent, 'toolbar-group-button-events']\n        },\n        buttonBehaviours: derive$1([DisablingConfigs.toolbarButton(providersBackstage.isDisabled), receivingConfig(), config(commonButtonDisplayEvent, [runOnAttached((comp, _se) => forceInitialSize(comp)), run$1(updateMenuText, (comp, se) => {\n          optMemDisplayText.bind(mem => mem.getOpt(comp)).each(displayText => {\n            Replacing.set(displayText, [text$2(providersBackstage.translate(se.event.text))]);\n          });\n        }), run$1(updateMenuIcon, (comp, se) => {\n          optMemDisplayIcon.bind(mem => mem.getOpt(comp)).each(displayIcon => {\n            Replacing.set(displayIcon, [renderReplaceableIconFromPack(se.event.icon, providersBackstage.icons)]);\n          });\n        }), run$1(mousedown(), (button, se) => {\n          se.event.prevent();\n          emit(button, focusButtonEvent);\n        })])].concat(behaviours.getOr([])))\n      };\n    };\n    const renderFloatingToolbarButton = (spec, backstage, identifyButtons, attributes) => {\n      const sharedBackstage = backstage.shared;\n      const editorOffCell = Cell(noop);\n      const specialisation = {\n        toolbarButtonBehaviours: [],\n        getApi: getButtonApi,\n        onSetup: spec.onSetup\n      };\n      const behaviours = [config('toolbar-group-button-events', [onControlAttached(specialisation, editorOffCell), onControlDetached(specialisation, editorOffCell)])];\n      return FloatingToolbarButton.sketch({\n        lazySink: sharedBackstage.getSink,\n        fetch: () => Future.nu(resolve => {\n          resolve(map$2(identifyButtons(spec.items), renderToolbarGroup));\n        }),\n        markers: {\n          toggledClass: 'tox-tbtn--enabled'\n        },\n        parts: {\n          button: renderCommonStructure(spec.icon, spec.text, spec.tooltip, Optional.some(behaviours), sharedBackstage.providers),\n          toolbar: {\n            dom: {\n              tag: 'div',\n              classes: ['tox-toolbar__overflow'],\n              attributes\n            }\n          }\n        }\n      });\n    };\n    const renderCommonToolbarButton = (spec, specialisation, providersBackstage) => {\n      var _d;\n      const editorOffCell = Cell(noop);\n      const structure = renderCommonStructure(spec.icon, spec.text, spec.tooltip, Optional.none(), providersBackstage);\n      return Button.sketch({\n        dom: structure.dom,\n        components: structure.components,\n        eventOrder: toolbarButtonEventOrder,\n        buttonBehaviours: {\n          ...derive$1([config('toolbar-button-events', [onToolbarButtonExecute({\n            onAction: spec.onAction,\n            getApi: specialisation.getApi\n          }), onControlAttached(specialisation, editorOffCell), onControlDetached(specialisation, editorOffCell)]), DisablingConfigs.toolbarButton(() => !spec.enabled || providersBackstage.isDisabled()), receivingConfig()].concat(specialisation.toolbarButtonBehaviours)),\n          [commonButtonDisplayEvent]: (_d = structure.buttonBehaviours) === null || _d === void 0 ? void 0 : _d[commonButtonDisplayEvent]\n        }\n      });\n    };\n    const renderToolbarButton = (spec, providersBackstage) => renderToolbarButtonWith(spec, providersBackstage, []);\n    const renderToolbarButtonWith = (spec, providersBackstage, bonusEvents) => renderCommonToolbarButton(spec, {\n      toolbarButtonBehaviours: bonusEvents.length > 0 ? [config('toolbarButtonWith', bonusEvents)] : [],\n      getApi: getButtonApi,\n      onSetup: spec.onSetup\n    }, providersBackstage);\n    const renderToolbarToggleButton = (spec, providersBackstage) => renderToolbarToggleButtonWith(spec, providersBackstage, []);\n    const renderToolbarToggleButtonWith = (spec, providersBackstage, bonusEvents) => renderCommonToolbarButton(spec, {\n      toolbarButtonBehaviours: [Replacing.config({}), Toggling.config({\n        toggleClass: 'tox-tbtn--enabled',\n        aria: {\n          mode: 'pressed'\n        },\n        toggleOnExecute: false\n      })].concat(bonusEvents.length > 0 ? [config('toolbarToggleButtonWith', bonusEvents)] : []),\n      getApi: getToggleApi,\n      onSetup: spec.onSetup\n    }, providersBackstage);\n    const fetchChoices = (getApi, spec, providersBackstage) => comp => Future.nu(callback => spec.fetch(callback)).map(items => Optional.from(createTieredDataFrom(deepMerge(createPartialChoiceMenu(generate$6('menu-value'), items, value => {\n      spec.onItemAction(getApi(comp), value);\n    }, spec.columns, spec.presets, ItemResponse$1.CLOSE_ON_EXECUTE, spec.select.getOr(never), providersBackstage), {\n      movement: deriveMenuMovement(spec.columns, spec.presets),\n      menuBehaviours: SimpleBehaviours.unnamedEvents(spec.columns !== 'auto' ? [] : [runOnAttached((comp, _se) => {\n        detectSize(comp, 4, classForPreset(spec.presets)).each(({\n          numRows,\n          numColumns\n        }) => {\n          Keying.setGridSize(comp, numRows, numColumns);\n        });\n      })])\n    }))));\n    const renderSplitButton = (spec, sharedBackstage) => {\n      const getApi = comp => ({\n        isEnabled: () => !Disabling.isDisabled(comp),\n        setEnabled: state => Disabling.set(comp, !state),\n        setIconFill: (id, value) => {\n          descendant(comp.element, \"svg path[class=\\\"\".concat(id, \"\\\"], rect[class=\\\"\").concat(id, \"\\\"]\")).each(underlinePath => {\n            set$9(underlinePath, 'fill', value);\n          });\n        },\n        setActive: state => {\n          set$9(comp.element, 'aria-pressed', state);\n          descendant(comp.element, 'span').each(button => {\n            comp.getSystem().getByDom(button).each(buttonComp => Toggling.set(buttonComp, state));\n          });\n        },\n        isActive: () => descendant(comp.element, 'span').exists(button => comp.getSystem().getByDom(button).exists(Toggling.isOn)),\n        setText: text => descendant(comp.element, 'span').each(button => comp.getSystem().getByDom(button).each(buttonComp => emitWith(buttonComp, updateMenuText, {\n          text\n        }))),\n        setIcon: icon => descendant(comp.element, 'span').each(button => comp.getSystem().getByDom(button).each(buttonComp => emitWith(buttonComp, updateMenuIcon, {\n          icon\n        }))),\n        setTooltip: tooltip => {\n          const translatedTooltip = sharedBackstage.providers.translate(tooltip);\n          setAll$1(comp.element, {\n            'aria-label': translatedTooltip,\n            'title': translatedTooltip\n          });\n        }\n      });\n      const editorOffCell = Cell(noop);\n      const specialisation = {\n        getApi,\n        onSetup: spec.onSetup\n      };\n      return SplitDropdown.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-split-button'],\n          attributes: {\n            'aria-pressed': false,\n            ...getTooltipAttributes(spec.tooltip, sharedBackstage.providers)\n          }\n        },\n        onExecute: button => {\n          const api = getApi(button);\n          if (api.isEnabled()) {\n            spec.onAction(api);\n          }\n        },\n        onItemExecute: (_a, _b, _c) => {},\n        splitDropdownBehaviours: derive$1([DisablingConfigs.splitButton(sharedBackstage.providers.isDisabled), receivingConfig(), config('split-dropdown-events', [runOnAttached((comp, _se) => forceInitialSize(comp)), run$1(focusButtonEvent, Focusing.focus), onControlAttached(specialisation, editorOffCell), onControlDetached(specialisation, editorOffCell)]), Unselecting.config({})]),\n        eventOrder: {\n          [attachedToDom()]: ['alloy.base.behaviour', 'split-dropdown-events']\n        },\n        toggleClass: 'tox-tbtn--enabled',\n        lazySink: sharedBackstage.getSink,\n        fetch: fetchChoices(getApi, spec, sharedBackstage.providers),\n        parts: {\n          menu: part(false, spec.columns, spec.presets)\n        },\n        components: [SplitDropdown.parts.button(renderCommonStructure(spec.icon, spec.text, Optional.none(), Optional.some([Toggling.config({\n          toggleClass: 'tox-tbtn--enabled',\n          toggleOnExecute: false\n        })]), sharedBackstage.providers)), SplitDropdown.parts.arrow({\n          dom: {\n            tag: 'button',\n            classes: ['tox-tbtn', 'tox-split-button__chevron'],\n            innerHtml: get$2('chevron-down', sharedBackstage.providers.icons)\n          },\n          buttonBehaviours: derive$1([DisablingConfigs.splitButton(sharedBackstage.providers.isDisabled), receivingConfig(), addFocusableBehaviour()])\n        }), SplitDropdown.parts['aria-descriptor']({\n          text: sharedBackstage.providers.translate('To open the popup, press Shift+Enter')\n        })]\n      });\n    };\n\n    const defaultToolbar = [{\n      name: 'history',\n      items: ['undo', 'redo']\n    }, {\n      name: 'ai',\n      items: ['aidialog', 'aishortcuts']\n    }, {\n      name: 'styles',\n      items: ['styles']\n    }, {\n      name: 'formatting',\n      items: ['bold', 'italic']\n    }, {\n      name: 'alignment',\n      items: ['alignleft', 'aligncenter', 'alignright', 'alignjustify']\n    }, {\n      name: 'indentation',\n      items: ['outdent', 'indent']\n    }, {\n      name: 'permanent pen',\n      items: ['permanentpen']\n    }, {\n      name: 'comments',\n      items: ['addcomment']\n    }];\n    const renderFromBridge = (bridgeBuilder, render) => (spec, backstage, editor) => {\n      const internal = bridgeBuilder(spec).mapError(errInfo => formatError(errInfo)).getOrDie();\n      return render(internal, backstage, editor);\n    };\n    const types = {\n      button: renderFromBridge(createToolbarButton, (s, backstage) => renderToolbarButton(s, backstage.shared.providers)),\n      togglebutton: renderFromBridge(createToggleButton, (s, backstage) => renderToolbarToggleButton(s, backstage.shared.providers)),\n      menubutton: renderFromBridge(createMenuButton, (s, backstage) => renderMenuButton(s, 'tox-tbtn', backstage, Optional.none(), false)),\n      splitbutton: renderFromBridge(createSplitButton, (s, backstage) => renderSplitButton(s, backstage.shared)),\n      grouptoolbarbutton: renderFromBridge(createGroupToolbarButton, (s, backstage, editor) => {\n        const buttons = editor.ui.registry.getAll().buttons;\n        const identify = toolbar => identifyButtons(editor, {\n          buttons,\n          toolbar,\n          allowToolbarGroups: false\n        }, backstage, Optional.none());\n        const attributes = {\n          [Attribute]: backstage.shared.header.isPositionedAtTop() ? AttributeValue.TopToBottom : AttributeValue.BottomToTop\n        };\n        switch (getToolbarMode(editor)) {\n          case ToolbarMode$1.floating:\n            return renderFloatingToolbarButton(s, backstage, identify, attributes);\n          default:\n            throw new Error('Toolbar groups are only supported when using floating toolbar mode');\n        }\n      })\n    };\n    const extractFrom = (spec, backstage, editor) => get$g(types, spec.type).fold(() => {\n      console.error('skipping button defined by', spec);\n      return Optional.none();\n    }, render => Optional.some(render(spec, backstage, editor)));\n    const bespokeButtons = {\n      styles: createStylesButton,\n      fontsize: createFontSizeButton,\n      fontsizeinput: createFontSizeInputButton,\n      fontfamily: createFontFamilyButton,\n      blocks: createBlocksButton,\n      align: createAlignButton\n    };\n    const removeUnusedDefaults = buttons => {\n      const filteredItemGroups = map$2(defaultToolbar, group => {\n        const items = filter$2(group.items, subItem => has$2(buttons, subItem) || has$2(bespokeButtons, subItem));\n        return {\n          name: group.name,\n          items\n        };\n      });\n      return filter$2(filteredItemGroups, group => group.items.length > 0);\n    };\n    const convertStringToolbar = strToolbar => {\n      const groupsStrings = strToolbar.split('|');\n      return map$2(groupsStrings, g => ({\n        items: g.trim().split(' ')\n      }));\n    };\n    const isToolbarGroupSettingArray = toolbar => isArrayOf(toolbar, t => has$2(t, 'name') && has$2(t, 'items'));\n    const createToolbar = toolbarConfig => {\n      const toolbar = toolbarConfig.toolbar;\n      const buttons = toolbarConfig.buttons;\n      if (toolbar === false) {\n        return [];\n      } else if (toolbar === undefined || toolbar === true) {\n        return removeUnusedDefaults(buttons);\n      } else if (isString(toolbar)) {\n        return convertStringToolbar(toolbar);\n      } else if (isToolbarGroupSettingArray(toolbar)) {\n        return toolbar;\n      } else {\n        console.error('Toolbar type should be string, string[], boolean or ToolbarGroup[]');\n        return [];\n      }\n    };\n    const lookupButton = (editor, buttons, toolbarItem, allowToolbarGroups, backstage, prefixes) => get$g(buttons, toolbarItem.toLowerCase()).orThunk(() => prefixes.bind(ps => findMap(ps, prefix => get$g(buttons, prefix + toolbarItem.toLowerCase())))).fold(() => get$g(bespokeButtons, toolbarItem.toLowerCase()).map(r => r(editor, backstage)), spec => {\n      if (spec.type === 'grouptoolbarbutton' && !allowToolbarGroups) {\n        console.warn(\"Ignoring the '\".concat(toolbarItem, \"' toolbar button. Group toolbar buttons are only supported when using floating toolbar mode and cannot be nested.\"));\n        return Optional.none();\n      } else {\n        return extractFrom(spec, backstage, editor);\n      }\n    });\n    const identifyButtons = (editor, toolbarConfig, backstage, prefixes) => {\n      const toolbarGroups = createToolbar(toolbarConfig);\n      const groups = map$2(toolbarGroups, group => {\n        const items = bind$3(group.items, toolbarItem => {\n          return toolbarItem.trim().length === 0 ? [] : lookupButton(editor, toolbarConfig.buttons, toolbarItem, toolbarConfig.allowToolbarGroups, backstage, prefixes).toArray();\n        });\n        return {\n          title: Optional.from(editor.translate(group.name)),\n          items\n        };\n      });\n      return filter$2(groups, group => group.items.length > 0);\n    };\n\n    const setToolbar = (editor, uiRefs, rawUiConfig, backstage) => {\n      const outerContainer = uiRefs.mainUi.outerContainer;\n      const toolbarConfig = rawUiConfig.toolbar;\n      const toolbarButtonsConfig = rawUiConfig.buttons;\n      if (isArrayOf(toolbarConfig, isString)) {\n        const toolbars = toolbarConfig.map(t => {\n          const config = {\n            toolbar: t,\n            buttons: toolbarButtonsConfig,\n            allowToolbarGroups: rawUiConfig.allowToolbarGroups\n          };\n          return identifyButtons(editor, config, backstage, Optional.none());\n        });\n        OuterContainer.setToolbars(outerContainer, toolbars);\n      } else {\n        OuterContainer.setToolbar(outerContainer, identifyButtons(editor, rawUiConfig, backstage, Optional.none()));\n      }\n    };\n\n    const detection = detect$2();\n    const isiOS12 = detection.os.isiOS() && detection.os.version.major <= 12;\n    const setupEvents$1 = (editor, uiRefs) => {\n      const {\n        uiMotherships\n      } = uiRefs;\n      const dom = editor.dom;\n      let contentWindow = editor.getWin();\n      const initialDocEle = editor.getDoc().documentElement;\n      const lastWindowDimensions = Cell(SugarPosition(contentWindow.innerWidth, contentWindow.innerHeight));\n      const lastDocumentDimensions = Cell(SugarPosition(initialDocEle.offsetWidth, initialDocEle.offsetHeight));\n      const resizeWindow = () => {\n        const outer = lastWindowDimensions.get();\n        if (outer.left !== contentWindow.innerWidth || outer.top !== contentWindow.innerHeight) {\n          lastWindowDimensions.set(SugarPosition(contentWindow.innerWidth, contentWindow.innerHeight));\n          fireResizeContent(editor);\n        }\n      };\n      const resizeDocument = () => {\n        const docEle = editor.getDoc().documentElement;\n        const inner = lastDocumentDimensions.get();\n        if (inner.left !== docEle.offsetWidth || inner.top !== docEle.offsetHeight) {\n          lastDocumentDimensions.set(SugarPosition(docEle.offsetWidth, docEle.offsetHeight));\n          fireResizeContent(editor);\n        }\n      };\n      const scroll = e => {\n        fireScrollContent(editor, e);\n      };\n      dom.bind(contentWindow, 'resize', resizeWindow);\n      dom.bind(contentWindow, 'scroll', scroll);\n      const elementLoad = capture(SugarElement.fromDom(editor.getBody()), 'load', resizeDocument);\n      editor.on('hide', () => {\n        each$1(uiMotherships, m => {\n          set$8(m.element, 'display', 'none');\n        });\n      });\n      editor.on('show', () => {\n        each$1(uiMotherships, m => {\n          remove$6(m.element, 'display');\n        });\n      });\n      editor.on('NodeChange', resizeDocument);\n      editor.on('remove', () => {\n        elementLoad.unbind();\n        dom.unbind(contentWindow, 'resize', resizeWindow);\n        dom.unbind(contentWindow, 'scroll', scroll);\n        contentWindow = null;\n      });\n    };\n    const attachUiMotherships = (editor, uiRoot, uiRefs) => {\n      if (isSplitUiMode(editor)) {\n        attachSystemAfter(uiRefs.mainUi.mothership.element, uiRefs.popupUi.mothership);\n      }\n      attachSystem(uiRoot, uiRefs.dialogUi.mothership);\n    };\n    const render$1 = (editor, uiRefs, rawUiConfig, backstage, args) => {\n      const {\n        mainUi,\n        uiMotherships\n      } = uiRefs;\n      const lastToolbarWidth = Cell(0);\n      const outerContainer = mainUi.outerContainer;\n      iframe(editor);\n      const eTargetNode = SugarElement.fromDom(args.targetNode);\n      const uiRoot = getContentContainer(getRootNode(eTargetNode));\n      attachSystemAfter(eTargetNode, mainUi.mothership);\n      attachUiMotherships(editor, uiRoot, uiRefs);\n      editor.on('SkinLoaded', () => {\n        OuterContainer.setSidebar(outerContainer, rawUiConfig.sidebar, getSidebarShow(editor));\n        setToolbar(editor, uiRefs, rawUiConfig, backstage);\n        lastToolbarWidth.set(editor.getWin().innerWidth);\n        OuterContainer.setMenubar(outerContainer, identifyMenus(editor, rawUiConfig));\n        OuterContainer.setViews(outerContainer, rawUiConfig.views);\n        setupEvents$1(editor, uiRefs);\n      });\n      const socket = OuterContainer.getSocket(outerContainer).getOrDie('Could not find expected socket element');\n      if (isiOS12) {\n        setAll(socket.element, {\n          'overflow': 'scroll',\n          '-webkit-overflow-scrolling': 'touch'\n        });\n        const limit = first(() => {\n          editor.dispatch('ScrollContent');\n        }, 20);\n        const unbinder = bind(socket.element, 'scroll', limit.throttle);\n        editor.on('remove', unbinder.unbind);\n      }\n      setupReadonlyModeSwitch(editor, uiRefs);\n      editor.addCommand('ToggleSidebar', (_ui, value) => {\n        OuterContainer.toggleSidebar(outerContainer, value);\n        editor.dispatch('ToggleSidebar');\n      });\n      editor.addQueryValueHandler('ToggleSidebar', () => {\n        var _a;\n        return (_a = OuterContainer.whichSidebar(outerContainer)) !== null && _a !== void 0 ? _a : '';\n      });\n      editor.addCommand('ToggleView', (_ui, value) => {\n        if (OuterContainer.toggleView(outerContainer, value)) {\n          const target = outerContainer.element;\n          mainUi.mothership.broadcastOn([dismissPopups()], {\n            target\n          });\n          each$1(uiMotherships, m => {\n            m.broadcastOn([dismissPopups()], {\n              target\n            });\n          });\n          if (isNull(OuterContainer.whichView(outerContainer))) {\n            editor.focus();\n            editor.nodeChanged();\n            OuterContainer.refreshToolbar(outerContainer);\n          }\n        }\n      });\n      editor.addQueryValueHandler('ToggleView', () => {\n        var _a;\n        return (_a = OuterContainer.whichView(outerContainer)) !== null && _a !== void 0 ? _a : '';\n      });\n      const toolbarMode = getToolbarMode(editor);\n      const refreshDrawer = () => {\n        OuterContainer.refreshToolbar(uiRefs.mainUi.outerContainer);\n      };\n      if (toolbarMode === ToolbarMode$1.sliding || toolbarMode === ToolbarMode$1.floating) {\n        editor.on('ResizeWindow ResizeEditor ResizeContent', () => {\n          const width = editor.getWin().innerWidth;\n          if (width !== lastToolbarWidth.get()) {\n            refreshDrawer();\n            lastToolbarWidth.set(width);\n          }\n        });\n      }\n      const api = {\n        setEnabled: state => {\n          broadcastReadonly(uiRefs, !state);\n        },\n        isEnabled: () => !Disabling.isDisabled(outerContainer)\n      };\n      return {\n        iframeContainer: socket.element.dom,\n        editorContainer: outerContainer.element.dom,\n        api\n      };\n    };\n\n    var Iframe = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        render: render$1\n    });\n\n    const parseToInt = val => {\n      const re = /^[0-9\\.]+(|px)$/i;\n      if (re.test('' + val)) {\n        return Optional.some(parseInt('' + val, 10));\n      }\n      return Optional.none();\n    };\n    const numToPx = val => isNumber(val) ? val + 'px' : val;\n    const calcCappedSize = (size, minSize, maxSize) => {\n      const minOverride = minSize.filter(min => size < min);\n      const maxOverride = maxSize.filter(max => size > max);\n      return minOverride.or(maxOverride).getOr(size);\n    };\n\n    const getHeight = editor => {\n      const baseHeight = getHeightOption(editor);\n      const minHeight = getMinHeightOption(editor);\n      const maxHeight = getMaxHeightOption(editor);\n      return parseToInt(baseHeight).map(height => calcCappedSize(height, minHeight, maxHeight));\n    };\n    const getHeightWithFallback = editor => {\n      const height = getHeight(editor);\n      return height.getOr(getHeightOption(editor));\n    };\n    const getWidth = editor => {\n      const baseWidth = getWidthOption(editor);\n      const minWidth = getMinWidthOption(editor);\n      const maxWidth = getMaxWidthOption(editor);\n      return parseToInt(baseWidth).map(width => calcCappedSize(width, minWidth, maxWidth));\n    };\n    const getWidthWithFallback = editor => {\n      const width = getWidth(editor);\n      return width.getOr(getWidthOption(editor));\n    };\n\n    const {\n      ToolbarLocation,\n      ToolbarMode\n    } = Options;\n    const maximumDistanceToEdge = 40;\n    const InlineHeader = (editor, targetElm, uiRefs, backstage, floatContainer) => {\n      const {\n        mainUi,\n        uiMotherships\n      } = uiRefs;\n      const DOM = global$7.DOM;\n      const useFixedToolbarContainer = useFixedContainer(editor);\n      const isSticky = isStickyToolbar(editor);\n      const editorMaxWidthOpt = getMaxWidthOption(editor).or(getWidth(editor));\n      const headerBackstage = backstage.shared.header;\n      const isPositionedAtTop = headerBackstage.isPositionedAtTop;\n      const toolbarMode = getToolbarMode(editor);\n      const isSplitToolbar = toolbarMode === ToolbarMode.sliding || toolbarMode === ToolbarMode.floating;\n      const visible = Cell(false);\n      const isVisible = () => visible.get() && !editor.removed;\n      const calcToolbarOffset = toolbar => isSplitToolbar ? toolbar.fold(constant$1(0), tbar => tbar.components().length > 1 ? get$d(tbar.components()[1].element) : 0) : 0;\n      const calcMode = container => {\n        switch (getToolbarLocation(editor)) {\n          case ToolbarLocation.auto:\n            const toolbar = OuterContainer.getToolbar(mainUi.outerContainer);\n            const offset = calcToolbarOffset(toolbar);\n            const toolbarHeight = get$d(container.element) - offset;\n            const targetBounds = box$1(targetElm);\n            const roomAtTop = targetBounds.y > toolbarHeight;\n            if (roomAtTop) {\n              return 'top';\n            } else {\n              const doc = documentElement(targetElm);\n              const docHeight = Math.max(doc.dom.scrollHeight, get$d(doc));\n              const roomAtBottom = targetBounds.bottom < docHeight - toolbarHeight;\n              if (roomAtBottom) {\n                return 'bottom';\n              } else {\n                const winBounds = win();\n                const isRoomAtBottomViewport = winBounds.bottom < targetBounds.bottom - toolbarHeight;\n                return isRoomAtBottomViewport ? 'bottom' : 'top';\n              }\n            }\n          case ToolbarLocation.bottom:\n            return 'bottom';\n          case ToolbarLocation.top:\n          default:\n            return 'top';\n        }\n      };\n      const setupMode = mode => {\n        floatContainer.on(container => {\n          Docking.setModes(container, [mode]);\n          headerBackstage.setDockingMode(mode);\n          const verticalDir = isPositionedAtTop() ? AttributeValue.TopToBottom : AttributeValue.BottomToTop;\n          set$9(container.element, Attribute, verticalDir);\n        });\n      };\n      const updateChromeWidth = () => {\n        floatContainer.on(container => {\n          const maxWidth = editorMaxWidthOpt.getOrThunk(() => {\n            const bodyMargin = parseToInt(get$e(body(), 'margin-left')).getOr(0);\n            return get$c(body()) - absolute$3(targetElm).left + bodyMargin;\n          });\n          set$8(container.element, 'max-width', maxWidth + 'px');\n        });\n      };\n      const updateChromePosition = optToolbarWidth => {\n        floatContainer.on(container => {\n          const toolbar = OuterContainer.getToolbar(mainUi.outerContainer);\n          const offset = calcToolbarOffset(toolbar);\n          const targetBounds = box$1(targetElm);\n          const {\n            top,\n            left\n          } = getOffsetParent$1(editor, mainUi.outerContainer.element).fold(() => {\n            return {\n              top: isPositionedAtTop() ? Math.max(targetBounds.y - get$d(container.element) + offset, 0) : targetBounds.bottom,\n              left: targetBounds.x\n            };\n          }, offsetParent => {\n            var _a;\n            const offsetBox = box$1(offsetParent);\n            const scrollDelta = (_a = offsetParent.dom.scrollTop) !== null && _a !== void 0 ? _a : 0;\n            const isOffsetParentBody = eq(offsetParent, body());\n            const topValue = isOffsetParentBody ? Math.max(targetBounds.y - get$d(container.element) + offset, 0) : targetBounds.y - offsetBox.y + scrollDelta - get$d(container.element) + offset;\n            return {\n              top: isPositionedAtTop() ? topValue : targetBounds.bottom,\n              left: isOffsetParentBody ? targetBounds.x : targetBounds.x - offsetBox.x\n            };\n          });\n          const baseProperties = {\n            position: 'absolute',\n            left: Math.round(left) + 'px',\n            top: Math.round(top) + 'px'\n          };\n          const widthProperties = optToolbarWidth.map(toolbarWidth => {\n            const scroll = get$b();\n            const minimumToolbarWidth = 150;\n            const availableWidth = window.innerWidth - (left - scroll.left);\n            const width = Math.max(Math.min(toolbarWidth, availableWidth), minimumToolbarWidth);\n            return {\n              width: width + 'px'\n            };\n          }).getOr({});\n          setAll(mainUi.outerContainer.element, {\n            ...baseProperties,\n            ...widthProperties\n          });\n        });\n      };\n      const getOffsetParent$1 = (editor, element) => isSplitUiMode(editor) ? getOffsetParent(element) : Optional.none();\n      const repositionPopups$1 = () => {\n        each$1(uiMotherships, m => {\n          m.broadcastOn([repositionPopups()], {});\n        });\n      };\n      const restoreAndGetCompleteOuterContainerWidth = () => {\n        if (!useFixedToolbarContainer) {\n          const toolbarCurrentRightsidePosition = absolute$3(mainUi.outerContainer.element).left + getOuter$1(mainUi.outerContainer.element);\n          if (toolbarCurrentRightsidePosition >= window.innerWidth - maximumDistanceToEdge || getRaw(mainUi.outerContainer.element, 'width').isSome()) {\n            set$8(mainUi.outerContainer.element, 'position', 'absolute');\n            set$8(mainUi.outerContainer.element, 'left', '0px');\n            remove$6(mainUi.outerContainer.element, 'width');\n            const w = getOuter$1(mainUi.outerContainer.element);\n            return Optional.some(w);\n          } else {\n            return Optional.none();\n          }\n        } else {\n          return Optional.none();\n        }\n      };\n      const update = stickyAction => {\n        if (!isVisible()) {\n          return;\n        }\n        if (!useFixedToolbarContainer) {\n          updateChromeWidth();\n        }\n        const optToolbarWidth = useFixedToolbarContainer ? Optional.none() : restoreAndGetCompleteOuterContainerWidth();\n        if (isSplitToolbar) {\n          OuterContainer.refreshToolbar(mainUi.outerContainer);\n        }\n        if (!useFixedToolbarContainer) {\n          updateChromePosition(optToolbarWidth);\n        }\n        if (isSticky) {\n          floatContainer.on(stickyAction);\n        }\n        repositionPopups$1();\n      };\n      const doUpdateMode = () => {\n        if (useFixedToolbarContainer || !isSticky || !isVisible()) {\n          return false;\n        }\n        return floatContainer.get().exists(fc => {\n          const currentMode = headerBackstage.getDockingMode();\n          const newMode = calcMode(fc);\n          if (newMode !== currentMode) {\n            setupMode(newMode);\n            return true;\n          } else {\n            return false;\n          }\n        });\n      };\n      const show = () => {\n        visible.set(true);\n        set$8(mainUi.outerContainer.element, 'display', 'flex');\n        DOM.addClass(editor.getBody(), 'mce-edit-focus');\n        each$1(uiMotherships, m => {\n          remove$6(m.element, 'display');\n        });\n        doUpdateMode();\n        if (isSplitUiMode(editor)) {\n          update(elem => Docking.isDocked(elem) ? Docking.reset(elem) : Docking.refresh(elem));\n        } else {\n          update(Docking.refresh);\n        }\n      };\n      const hide = () => {\n        visible.set(false);\n        set$8(mainUi.outerContainer.element, 'display', 'none');\n        DOM.removeClass(editor.getBody(), 'mce-edit-focus');\n        each$1(uiMotherships, m => {\n          set$8(m.element, 'display', 'none');\n        });\n      };\n      const updateMode = () => {\n        const changedMode = doUpdateMode();\n        if (changedMode) {\n          update(Docking.reset);\n        }\n      };\n      return {\n        isVisible,\n        isPositionedAtTop,\n        show,\n        hide,\n        update,\n        updateMode,\n        repositionPopups: repositionPopups$1\n      };\n    };\n\n    const getTargetPosAndBounds = (targetElm, isToolbarTop) => {\n      const bounds = box$1(targetElm);\n      return {\n        pos: isToolbarTop ? bounds.y : bounds.bottom,\n        bounds\n      };\n    };\n    const setupEvents = (editor, targetElm, ui, toolbarPersist) => {\n      const prevPosAndBounds = Cell(getTargetPosAndBounds(targetElm, ui.isPositionedAtTop()));\n      const resizeContent = e => {\n        const {\n          pos,\n          bounds\n        } = getTargetPosAndBounds(targetElm, ui.isPositionedAtTop());\n        const {\n          pos: prevPos,\n          bounds: prevBounds\n        } = prevPosAndBounds.get();\n        const hasResized = bounds.height !== prevBounds.height || bounds.width !== prevBounds.width;\n        prevPosAndBounds.set({\n          pos,\n          bounds\n        });\n        if (hasResized) {\n          fireResizeContent(editor, e);\n        }\n        if (ui.isVisible()) {\n          if (prevPos !== pos) {\n            ui.update(Docking.reset);\n          } else if (hasResized) {\n            ui.updateMode();\n            ui.repositionPopups();\n          }\n        }\n      };\n      if (!toolbarPersist) {\n        editor.on('activate', ui.show);\n        editor.on('deactivate', ui.hide);\n      }\n      editor.on('SkinLoaded ResizeWindow', () => ui.update(Docking.reset));\n      editor.on('NodeChange keydown', e => {\n        requestAnimationFrame(() => resizeContent(e));\n      });\n      let lastScrollX = 0;\n      const updateUi = last(() => ui.update(Docking.refresh), 33);\n      editor.on('ScrollWindow', () => {\n        const newScrollX = get$b().left;\n        if (newScrollX !== lastScrollX) {\n          lastScrollX = newScrollX;\n          updateUi.throttle();\n        }\n        ui.updateMode();\n      });\n      if (isSplitUiMode(editor)) {\n        editor.on('ElementScroll', _args => {\n          ui.update(Docking.refresh);\n        });\n      }\n      const elementLoad = unbindable();\n      elementLoad.set(capture(SugarElement.fromDom(editor.getBody()), 'load', e => resizeContent(e.raw)));\n      editor.on('remove', () => {\n        elementLoad.clear();\n      });\n    };\n    const render = (editor, uiRefs, rawUiConfig, backstage, args) => {\n      const {\n        mainUi\n      } = uiRefs;\n      const floatContainer = value$2();\n      const targetElm = SugarElement.fromDom(args.targetNode);\n      const ui = InlineHeader(editor, targetElm, uiRefs, backstage, floatContainer);\n      const toolbarPersist = isToolbarPersist(editor);\n      inline(editor);\n      const render = () => {\n        if (floatContainer.isSet()) {\n          ui.show();\n          return;\n        }\n        floatContainer.set(OuterContainer.getHeader(mainUi.outerContainer).getOrDie());\n        const uiContainer = getUiContainer(editor);\n        if (isSplitUiMode(editor)) {\n          attachSystemAfter(targetElm, mainUi.mothership);\n          attachSystemAfter(targetElm, uiRefs.popupUi.mothership);\n        } else {\n          attachSystem(uiContainer, mainUi.mothership);\n        }\n        attachSystem(uiContainer, uiRefs.dialogUi.mothership);\n        setToolbar(editor, uiRefs, rawUiConfig, backstage);\n        OuterContainer.setMenubar(mainUi.outerContainer, identifyMenus(editor, rawUiConfig));\n        ui.show();\n        setupEvents(editor, targetElm, ui, toolbarPersist);\n        editor.nodeChanged();\n      };\n      editor.on('show', render);\n      editor.on('hide', ui.hide);\n      if (!toolbarPersist) {\n        editor.on('focus', render);\n        editor.on('blur', ui.hide);\n      }\n      editor.on('init', () => {\n        if (editor.hasFocus() || toolbarPersist) {\n          render();\n        }\n      });\n      setupReadonlyModeSwitch(editor, uiRefs);\n      const api = {\n        show: render,\n        hide: ui.hide,\n        setEnabled: state => {\n          broadcastReadonly(uiRefs, !state);\n        },\n        isEnabled: () => !Disabling.isDisabled(mainUi.outerContainer)\n      };\n      return {\n        editorContainer: mainUi.outerContainer.element.dom,\n        api\n      };\n    };\n\n    var Inline = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        render: render\n    });\n\n    const LazyUiReferences = () => {\n      const dialogUi = value$2();\n      const popupUi = value$2();\n      const mainUi = value$2();\n      const lazyGetInOuterOrDie = (label, f) => () => mainUi.get().bind(oc => f(oc.outerContainer)).getOrDie(\"Could not find \".concat(label, \" element in OuterContainer\"));\n      const getUiMotherships = () => {\n        const optDialogMothership = dialogUi.get().map(ui => ui.mothership);\n        const optPopupMothership = popupUi.get().map(ui => ui.mothership);\n        return optDialogMothership.fold(() => optPopupMothership.toArray(), dm => optPopupMothership.fold(() => [dm], pm => eq(dm.element, pm.element) ? [dm] : [dm, pm]));\n      };\n      return {\n        dialogUi,\n        popupUi,\n        mainUi,\n        getUiMotherships,\n        lazyGetInOuterOrDie\n      };\n    };\n\n    const showContextToolbarEvent = 'contexttoolbar-show';\n    const hideContextToolbarEvent = 'contexttoolbar-hide';\n\n    const getFormApi = input => ({\n      hide: () => emit(input, sandboxClose()),\n      getValue: () => Representing.getValue(input)\n    });\n    const runOnExecute = (memInput, original) => run$1(internalToolbarButtonExecute, (comp, se) => {\n      const input = memInput.get(comp);\n      const formApi = getFormApi(input);\n      original.onAction(formApi, se.event.buttonApi);\n    });\n    const renderContextButton = (memInput, button, providers) => {\n      const {\n        primary,\n        ...rest\n      } = button.original;\n      const bridged = getOrDie(createToolbarButton({\n        ...rest,\n        type: 'button',\n        onAction: noop\n      }));\n      return renderToolbarButtonWith(bridged, providers, [runOnExecute(memInput, button)]);\n    };\n    const renderContextToggleButton = (memInput, button, providers) => {\n      const {\n        primary,\n        ...rest\n      } = button.original;\n      const bridged = getOrDie(createToggleButton({\n        ...rest,\n        type: 'togglebutton',\n        onAction: noop\n      }));\n      return renderToolbarToggleButtonWith(bridged, providers, [runOnExecute(memInput, button)]);\n    };\n    const isToggleButton = button => button.type === 'contextformtogglebutton';\n    const generateOne = (memInput, button, providersBackstage) => {\n      if (isToggleButton(button)) {\n        return renderContextToggleButton(memInput, button, providersBackstage);\n      } else {\n        return renderContextButton(memInput, button, providersBackstage);\n      }\n    };\n    const generate = (memInput, buttons, providersBackstage) => {\n      const mementos = map$2(buttons, button => record(generateOne(memInput, button, providersBackstage)));\n      const asSpecs = () => map$2(mementos, mem => mem.asSpec());\n      const findPrimary = compInSystem => findMap(buttons, (button, i) => {\n        if (button.primary) {\n          return Optional.from(mementos[i]).bind(mem => mem.getOpt(compInSystem)).filter(not(Disabling.isDisabled));\n        } else {\n          return Optional.none();\n        }\n      });\n      return {\n        asSpecs,\n        findPrimary\n      };\n    };\n\n    const buildInitGroups = (ctx, providers) => {\n      const inputAttributes = ctx.label.fold(() => ({}), label => ({\n        'aria-label': label\n      }));\n      const memInput = record(Input.sketch({\n        inputClasses: ['tox-toolbar-textfield', 'tox-toolbar-nav-js'],\n        data: ctx.initValue(),\n        inputAttributes,\n        selectOnFocus: true,\n        inputBehaviours: derive$1([Keying.config({\n          mode: 'special',\n          onEnter: input => commands.findPrimary(input).map(primary => {\n            emitExecute(primary);\n            return true;\n          }),\n          onLeft: (comp, se) => {\n            se.cut();\n            return Optional.none();\n          },\n          onRight: (comp, se) => {\n            se.cut();\n            return Optional.none();\n          }\n        })])\n      }));\n      const commands = generate(memInput, ctx.commands, providers);\n      return [{\n        title: Optional.none(),\n        items: [memInput.asSpec()]\n      }, {\n        title: Optional.none(),\n        items: commands.asSpecs()\n      }];\n    };\n    const renderContextForm = (toolbarType, ctx, providers) => renderToolbar({\n      type: toolbarType,\n      uid: generate$6('context-toolbar'),\n      initGroups: buildInitGroups(ctx, providers),\n      onEscape: Optional.none,\n      cyclicKeying: true,\n      providers\n    });\n    const ContextForm = {\n      renderContextForm,\n      buildInitGroups\n    };\n\n    const isVerticalOverlap = (a, b, threshold) => b.bottom - a.y >= threshold && a.bottom - b.y >= threshold;\n    const getRangeRect = rng => {\n      const rect = rng.getBoundingClientRect();\n      if (rect.height <= 0 && rect.width <= 0) {\n        const leaf$1 = leaf(SugarElement.fromDom(rng.startContainer), rng.startOffset).element;\n        const elm = isText(leaf$1) ? parent(leaf$1) : Optional.some(leaf$1);\n        return elm.filter(isElement$1).map(e => e.dom.getBoundingClientRect()).getOr(rect);\n      } else {\n        return rect;\n      }\n    };\n    const getSelectionBounds = editor => {\n      const rng = editor.selection.getRng();\n      const rect = getRangeRect(rng);\n      if (editor.inline) {\n        const scroll = get$b();\n        return bounds(scroll.left + rect.left, scroll.top + rect.top, rect.width, rect.height);\n      } else {\n        const bodyPos = absolute$2(SugarElement.fromDom(editor.getBody()));\n        return bounds(bodyPos.x + rect.left, bodyPos.y + rect.top, rect.width, rect.height);\n      }\n    };\n    const getAnchorElementBounds = (editor, lastElement) => lastElement.filter(elem => inBody(elem) && isHTMLElement(elem)).map(absolute$2).getOrThunk(() => getSelectionBounds(editor));\n    const getHorizontalBounds = (contentAreaBox, viewportBounds, margin) => {\n      const x = Math.max(contentAreaBox.x + margin, viewportBounds.x);\n      const right = Math.min(contentAreaBox.right - margin, viewportBounds.right);\n      return {\n        x,\n        width: right - x\n      };\n    };\n    const getVerticalBounds = (editor, contentAreaBox, viewportBounds, isToolbarLocationTop, toolbarType, margin) => {\n      const container = SugarElement.fromDom(editor.getContainer());\n      const header = descendant(container, '.tox-editor-header').getOr(container);\n      const headerBox = box$1(header);\n      const isToolbarBelowContentArea = headerBox.y >= contentAreaBox.bottom;\n      const isToolbarAbove = isToolbarLocationTop && !isToolbarBelowContentArea;\n      if (editor.inline && isToolbarAbove) {\n        return {\n          y: Math.max(headerBox.bottom + margin, viewportBounds.y),\n          bottom: viewportBounds.bottom\n        };\n      }\n      if (editor.inline && !isToolbarAbove) {\n        return {\n          y: viewportBounds.y,\n          bottom: Math.min(headerBox.y - margin, viewportBounds.bottom)\n        };\n      }\n      const containerBounds = toolbarType === 'line' ? box$1(container) : contentAreaBox;\n      if (isToolbarAbove) {\n        return {\n          y: Math.max(headerBox.bottom + margin, viewportBounds.y),\n          bottom: Math.min(containerBounds.bottom - margin, viewportBounds.bottom)\n        };\n      }\n      return {\n        y: Math.max(containerBounds.y + margin, viewportBounds.y),\n        bottom: Math.min(headerBox.y - margin, viewportBounds.bottom)\n      };\n    };\n    const getContextToolbarBounds = (editor, sharedBackstage, toolbarType, margin = 0) => {\n      const viewportBounds = getBounds$3(window);\n      const contentAreaBox = box$1(SugarElement.fromDom(editor.getContentAreaContainer()));\n      const toolbarOrMenubarEnabled = isMenubarEnabled(editor) || isToolbarEnabled(editor) || isMultipleToolbars(editor);\n      const {\n        x,\n        width\n      } = getHorizontalBounds(contentAreaBox, viewportBounds, margin);\n      if (editor.inline && !toolbarOrMenubarEnabled) {\n        return bounds(x, viewportBounds.y, width, viewportBounds.height);\n      } else {\n        const isToolbarTop = sharedBackstage.header.isPositionedAtTop();\n        const {\n          y,\n          bottom\n        } = getVerticalBounds(editor, contentAreaBox, viewportBounds, isToolbarTop, toolbarType, margin);\n        return bounds(x, y, width, bottom - y);\n      }\n    };\n\n    const bubbleSize$1 = 12;\n    const bubbleAlignments$1 = {\n      valignCentre: [],\n      alignCentre: [],\n      alignLeft: ['tox-pop--align-left'],\n      alignRight: ['tox-pop--align-right'],\n      right: ['tox-pop--right'],\n      left: ['tox-pop--left'],\n      bottom: ['tox-pop--bottom'],\n      top: ['tox-pop--top'],\n      inset: ['tox-pop--inset']\n    };\n    const anchorOverrides = {\n      maxHeightFunction: expandable$1(),\n      maxWidthFunction: expandable()\n    };\n    const isEntireElementSelected = (editor, elem) => {\n      const rng = editor.selection.getRng();\n      const leaf$1 = leaf(SugarElement.fromDom(rng.startContainer), rng.startOffset);\n      return rng.startContainer === rng.endContainer && rng.startOffset === rng.endOffset - 1 && eq(leaf$1.element, elem);\n    };\n    const preservePosition = (elem, position, f) => {\n      const currentPosition = getRaw(elem, 'position');\n      set$8(elem, 'position', position);\n      const result = f(elem);\n      currentPosition.each(pos => set$8(elem, 'position', pos));\n      return result;\n    };\n    const shouldUseInsetLayouts = position => position === 'node';\n    const determineInsetLayout = (editor, contextbar, elem, data, bounds) => {\n      const selectionBounds = getSelectionBounds(editor);\n      const isSameAnchorElement = data.lastElement().exists(prev => eq(elem, prev));\n      if (isEntireElementSelected(editor, elem)) {\n        return isSameAnchorElement ? preserve : north;\n      } else if (isSameAnchorElement) {\n        return preservePosition(contextbar, data.getMode(), () => {\n          const isOverlapping = isVerticalOverlap(selectionBounds, box$1(contextbar), -20);\n          return isOverlapping && !data.isReposition() ? flip : preserve;\n        });\n      } else {\n        const yBounds = data.getMode() === 'fixed' ? bounds.y + get$b().top : bounds.y;\n        const contextbarHeight = get$d(contextbar) + bubbleSize$1;\n        return yBounds + contextbarHeight <= selectionBounds.y ? north : south;\n      }\n    };\n    const getAnchorSpec$2 = (editor, mobile, data, position) => {\n      const smartInsetLayout = elem => (anchor, element, bubbles, placee, bounds) => {\n        const layout = determineInsetLayout(editor, placee, elem, data, bounds);\n        const newAnchor = {\n          ...anchor,\n          y: bounds.y,\n          height: bounds.height\n        };\n        return {\n          ...layout(newAnchor, element, bubbles, placee, bounds),\n          alwaysFit: true\n        };\n      };\n      const getInsetLayouts = elem => shouldUseInsetLayouts(position) ? [smartInsetLayout(elem)] : [];\n      const desktopAnchorSpecLayouts = {\n        onLtr: elem => [north$2, south$2, northeast$2, southeast$2, northwest$2, southwest$2].concat(getInsetLayouts(elem)),\n        onRtl: elem => [north$2, south$2, northwest$2, southwest$2, northeast$2, southeast$2].concat(getInsetLayouts(elem))\n      };\n      const mobileAnchorSpecLayouts = {\n        onLtr: elem => [south$2, southeast$2, southwest$2, northeast$2, northwest$2, north$2].concat(getInsetLayouts(elem)),\n        onRtl: elem => [south$2, southwest$2, southeast$2, northwest$2, northeast$2, north$2].concat(getInsetLayouts(elem))\n      };\n      return mobile ? mobileAnchorSpecLayouts : desktopAnchorSpecLayouts;\n    };\n    const getAnchorLayout = (editor, position, isTouch, data) => {\n      if (position === 'line') {\n        return {\n          bubble: nu$5(bubbleSize$1, 0, bubbleAlignments$1),\n          layouts: {\n            onLtr: () => [east$2],\n            onRtl: () => [west$2]\n          },\n          overrides: anchorOverrides\n        };\n      } else {\n        return {\n          bubble: nu$5(0, bubbleSize$1, bubbleAlignments$1, 1 / bubbleSize$1),\n          layouts: getAnchorSpec$2(editor, isTouch, data, position),\n          overrides: anchorOverrides\n        };\n      }\n    };\n\n    const matchTargetWith = (elem, candidates) => {\n      const ctxs = filter$2(candidates, toolbarApi => toolbarApi.predicate(elem.dom));\n      const {\n        pass,\n        fail\n      } = partition$3(ctxs, t => t.type === 'contexttoolbar');\n      return {\n        contextToolbars: pass,\n        contextForms: fail\n      };\n    };\n    const filterByPositionForStartNode = toolbars => {\n      if (toolbars.length <= 1) {\n        return toolbars;\n      } else {\n        const doesPositionExist = value => exists(toolbars, t => t.position === value);\n        const filterToolbarsByPosition = value => filter$2(toolbars, t => t.position === value);\n        const hasSelectionToolbars = doesPositionExist('selection');\n        const hasNodeToolbars = doesPositionExist('node');\n        if (hasSelectionToolbars || hasNodeToolbars) {\n          if (hasNodeToolbars && hasSelectionToolbars) {\n            const nodeToolbars = filterToolbarsByPosition('node');\n            const selectionToolbars = map$2(filterToolbarsByPosition('selection'), t => ({\n              ...t,\n              position: 'node'\n            }));\n            return nodeToolbars.concat(selectionToolbars);\n          } else {\n            return hasSelectionToolbars ? filterToolbarsByPosition('selection') : filterToolbarsByPosition('node');\n          }\n        } else {\n          return filterToolbarsByPosition('line');\n        }\n      }\n    };\n    const filterByPositionForAncestorNode = toolbars => {\n      if (toolbars.length <= 1) {\n        return toolbars;\n      } else {\n        const findPosition = value => find$5(toolbars, t => t.position === value);\n        const basePosition = findPosition('selection').orThunk(() => findPosition('node')).orThunk(() => findPosition('line')).map(t => t.position);\n        return basePosition.fold(() => [], pos => filter$2(toolbars, t => t.position === pos));\n      }\n    };\n    const matchStartNode = (elem, nodeCandidates, editorCandidates) => {\n      const nodeMatches = matchTargetWith(elem, nodeCandidates);\n      if (nodeMatches.contextForms.length > 0) {\n        return Optional.some({\n          elem,\n          toolbars: [nodeMatches.contextForms[0]]\n        });\n      } else {\n        const editorMatches = matchTargetWith(elem, editorCandidates);\n        if (editorMatches.contextForms.length > 0) {\n          return Optional.some({\n            elem,\n            toolbars: [editorMatches.contextForms[0]]\n          });\n        } else if (nodeMatches.contextToolbars.length > 0 || editorMatches.contextToolbars.length > 0) {\n          const toolbars = filterByPositionForStartNode(nodeMatches.contextToolbars.concat(editorMatches.contextToolbars));\n          return Optional.some({\n            elem,\n            toolbars\n          });\n        } else {\n          return Optional.none();\n        }\n      }\n    };\n    const matchAncestor = (isRoot, startNode, scopes) => {\n      if (isRoot(startNode)) {\n        return Optional.none();\n      } else {\n        return ancestor$2(startNode, ancestorElem => {\n          if (isElement$1(ancestorElem)) {\n            const {\n              contextToolbars,\n              contextForms\n            } = matchTargetWith(ancestorElem, scopes.inNodeScope);\n            const toolbars = contextForms.length > 0 ? contextForms : filterByPositionForAncestorNode(contextToolbars);\n            return toolbars.length > 0 ? Optional.some({\n              elem: ancestorElem,\n              toolbars\n            }) : Optional.none();\n          } else {\n            return Optional.none();\n          }\n        }, isRoot);\n      }\n    };\n    const lookup$1 = (scopes, editor) => {\n      const rootElem = SugarElement.fromDom(editor.getBody());\n      const isRoot = elem => eq(elem, rootElem);\n      const isOutsideRoot = startNode => !isRoot(startNode) && !contains(rootElem, startNode);\n      const startNode = SugarElement.fromDom(editor.selection.getNode());\n      if (isOutsideRoot(startNode)) {\n        return Optional.none();\n      }\n      return matchStartNode(startNode, scopes.inNodeScope, scopes.inEditorScope).orThunk(() => matchAncestor(isRoot, startNode, scopes));\n    };\n\n    const categorise = (contextToolbars, navigate) => {\n      const forms = {};\n      const inNodeScope = [];\n      const inEditorScope = [];\n      const formNavigators = {};\n      const lookupTable = {};\n      const registerForm = (key, toolbarSpec) => {\n        const contextForm = getOrDie(createContextForm(toolbarSpec));\n        forms[key] = contextForm;\n        contextForm.launch.map(launch => {\n          formNavigators['form:' + key + ''] = {\n            ...toolbarSpec.launch,\n            type: launch.type === 'contextformtogglebutton' ? 'togglebutton' : 'button',\n            onAction: () => {\n              navigate(contextForm);\n            }\n          };\n        });\n        if (contextForm.scope === 'editor') {\n          inEditorScope.push(contextForm);\n        } else {\n          inNodeScope.push(contextForm);\n        }\n        lookupTable[key] = contextForm;\n      };\n      const registerToolbar = (key, toolbarSpec) => {\n        createContextToolbar(toolbarSpec).each(contextToolbar => {\n          if (toolbarSpec.scope === 'editor') {\n            inEditorScope.push(contextToolbar);\n          } else {\n            inNodeScope.push(contextToolbar);\n          }\n          lookupTable[key] = contextToolbar;\n        });\n      };\n      const keys$1 = keys(contextToolbars);\n      each$1(keys$1, key => {\n        const toolbarApi = contextToolbars[key];\n        if (toolbarApi.type === 'contextform') {\n          registerForm(key, toolbarApi);\n        } else if (toolbarApi.type === 'contexttoolbar') {\n          registerToolbar(key, toolbarApi);\n        }\n      });\n      return {\n        forms,\n        inNodeScope,\n        inEditorScope,\n        lookupTable,\n        formNavigators\n      };\n    };\n\n    const forwardSlideEvent = generate$6('forward-slide');\n    const backSlideEvent = generate$6('backward-slide');\n    const changeSlideEvent = generate$6('change-slide-event');\n    const resizingClass = 'tox-pop--resizing';\n    const renderContextToolbar = spec => {\n      const stack = Cell([]);\n      return InlineView.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-pop']\n        },\n        fireDismissalEventInstead: {\n          event: 'doNotDismissYet'\n        },\n        onShow: comp => {\n          stack.set([]);\n          InlineView.getContent(comp).each(c => {\n            remove$6(c.element, 'visibility');\n          });\n          remove$2(comp.element, resizingClass);\n          remove$6(comp.element, 'width');\n        },\n        inlineBehaviours: derive$1([config('context-toolbar-events', [runOnSource(transitionend(), (comp, se) => {\n          if (se.event.raw.propertyName === 'width') {\n            remove$2(comp.element, resizingClass);\n            remove$6(comp.element, 'width');\n          }\n        }), run$1(changeSlideEvent, (comp, se) => {\n          const elem = comp.element;\n          remove$6(elem, 'width');\n          const currentWidth = get$c(elem);\n          InlineView.setContent(comp, se.event.contents);\n          add$2(elem, resizingClass);\n          const newWidth = get$c(elem);\n          set$8(elem, 'width', currentWidth + 'px');\n          InlineView.getContent(comp).each(newContents => {\n            se.event.focus.bind(f => {\n              focus$3(f);\n              return search(elem);\n            }).orThunk(() => {\n              Keying.focusIn(newContents);\n              return active$1(getRootNode(elem));\n            });\n          });\n          setTimeout(() => {\n            set$8(comp.element, 'width', newWidth + 'px');\n          }, 0);\n        }), run$1(forwardSlideEvent, (comp, se) => {\n          InlineView.getContent(comp).each(oldContents => {\n            stack.set(stack.get().concat([{\n              bar: oldContents,\n              focus: active$1(getRootNode(comp.element))\n            }]));\n          });\n          emitWith(comp, changeSlideEvent, {\n            contents: se.event.forwardContents,\n            focus: Optional.none()\n          });\n        }), run$1(backSlideEvent, (comp, _se) => {\n          last$1(stack.get()).each(last => {\n            stack.set(stack.get().slice(0, stack.get().length - 1));\n            emitWith(comp, changeSlideEvent, {\n              contents: premade(last.bar),\n              focus: last.focus\n            });\n          });\n        })]), Keying.config({\n          mode: 'special',\n          onEscape: comp => last$1(stack.get()).fold(() => spec.onEscape(), _ => {\n            emit(comp, backSlideEvent);\n            return Optional.some(true);\n          })\n        })]),\n        lazySink: () => Result.value(spec.sink)\n      });\n    };\n\n    const transitionClass = 'tox-pop--transition';\n    const register$9 = (editor, registryContextToolbars, sink, extras) => {\n      const backstage = extras.backstage;\n      const sharedBackstage = backstage.shared;\n      const isTouch = detect$2().deviceType.isTouch;\n      const lastElement = value$2();\n      const lastTrigger = value$2();\n      const lastContextPosition = value$2();\n      const contextbar = build$1(renderContextToolbar({\n        sink,\n        onEscape: () => {\n          editor.focus();\n          return Optional.some(true);\n        }\n      }));\n      const getBounds = () => {\n        const position = lastContextPosition.get().getOr('node');\n        const margin = shouldUseInsetLayouts(position) ? 1 : 0;\n        return getContextToolbarBounds(editor, sharedBackstage, position, margin);\n      };\n      const canLaunchToolbar = () => {\n        return !editor.removed && !(isTouch() && backstage.isContextMenuOpen());\n      };\n      const isSameLaunchElement = elem => is$1(lift2(elem, lastElement.get(), eq), true);\n      const shouldContextToolbarHide = () => {\n        if (!canLaunchToolbar()) {\n          return true;\n        } else {\n          const contextToolbarBounds = getBounds();\n          const anchorBounds = is$1(lastContextPosition.get(), 'node') ? getAnchorElementBounds(editor, lastElement.get()) : getSelectionBounds(editor);\n          return contextToolbarBounds.height <= 0 || !isVerticalOverlap(anchorBounds, contextToolbarBounds, 0.01);\n        }\n      };\n      const close = () => {\n        lastElement.clear();\n        lastTrigger.clear();\n        lastContextPosition.clear();\n        InlineView.hide(contextbar);\n      };\n      const hideOrRepositionIfNecessary = () => {\n        if (InlineView.isOpen(contextbar)) {\n          const contextBarEle = contextbar.element;\n          remove$6(contextBarEle, 'display');\n          if (shouldContextToolbarHide()) {\n            set$8(contextBarEle, 'display', 'none');\n          } else {\n            lastTrigger.set(0);\n            InlineView.reposition(contextbar);\n          }\n        }\n      };\n      const wrapInPopDialog = toolbarSpec => ({\n        dom: {\n          tag: 'div',\n          classes: ['tox-pop__dialog']\n        },\n        components: [toolbarSpec],\n        behaviours: derive$1([Keying.config({\n          mode: 'acyclic'\n        }), config('pop-dialog-wrap-events', [runOnAttached(comp => {\n          editor.shortcuts.add('ctrl+F9', 'focus statusbar', () => Keying.focusIn(comp));\n        }), runOnDetached(_comp => {\n          editor.shortcuts.remove('ctrl+F9');\n        })])])\n      });\n      const getScopes = cached(() => categorise(registryContextToolbars, toolbarApi => {\n        const alloySpec = buildToolbar([toolbarApi]);\n        emitWith(contextbar, forwardSlideEvent, {\n          forwardContents: wrapInPopDialog(alloySpec)\n        });\n      }));\n      const buildContextToolbarGroups = (allButtons, ctx) => identifyButtons(editor, {\n        buttons: allButtons,\n        toolbar: ctx.items,\n        allowToolbarGroups: false\n      }, extras.backstage, Optional.some(['form:']));\n      const buildContextFormGroups = (ctx, providers) => ContextForm.buildInitGroups(ctx, providers);\n      const buildToolbar = toolbars => {\n        const {\n          buttons\n        } = editor.ui.registry.getAll();\n        const scopes = getScopes();\n        const allButtons = {\n          ...buttons,\n          ...scopes.formNavigators\n        };\n        const toolbarType = getToolbarMode(editor) === ToolbarMode$1.scrolling ? ToolbarMode$1.scrolling : ToolbarMode$1.default;\n        const initGroups = flatten(map$2(toolbars, ctx => ctx.type === 'contexttoolbar' ? buildContextToolbarGroups(allButtons, ctx) : buildContextFormGroups(ctx, sharedBackstage.providers)));\n        return renderToolbar({\n          type: toolbarType,\n          uid: generate$6('context-toolbar'),\n          initGroups,\n          onEscape: Optional.none,\n          cyclicKeying: true,\n          providers: sharedBackstage.providers\n        });\n      };\n      const getAnchor = (position, element) => {\n        const anchorage = position === 'node' ? sharedBackstage.anchors.node(element) : sharedBackstage.anchors.cursor();\n        const anchorLayout = getAnchorLayout(editor, position, isTouch(), {\n          lastElement: lastElement.get,\n          isReposition: () => is$1(lastTrigger.get(), 0),\n          getMode: () => Positioning.getMode(sink)\n        });\n        return deepMerge(anchorage, anchorLayout);\n      };\n      const launchContext = (toolbarApi, elem) => {\n        launchContextToolbar.cancel();\n        if (!canLaunchToolbar()) {\n          return;\n        }\n        const toolbarSpec = buildToolbar(toolbarApi);\n        const position = toolbarApi[0].position;\n        const anchor = getAnchor(position, elem);\n        lastContextPosition.set(position);\n        lastTrigger.set(1);\n        const contextBarEle = contextbar.element;\n        remove$6(contextBarEle, 'display');\n        if (!isSameLaunchElement(elem)) {\n          remove$2(contextBarEle, transitionClass);\n          Positioning.reset(sink, contextbar);\n        }\n        InlineView.showWithinBounds(contextbar, wrapInPopDialog(toolbarSpec), {\n          anchor,\n          transition: {\n            classes: [transitionClass],\n            mode: 'placement'\n          }\n        }, () => Optional.some(getBounds()));\n        elem.fold(lastElement.clear, lastElement.set);\n        if (shouldContextToolbarHide()) {\n          set$8(contextBarEle, 'display', 'none');\n        }\n      };\n      let isDragging = false;\n      const launchContextToolbar = last(() => {\n        if (!editor.hasFocus() || editor.removed || isDragging) {\n          return;\n        }\n        if (has(contextbar.element, transitionClass)) {\n          launchContextToolbar.throttle();\n        } else {\n          const scopes = getScopes();\n          lookup$1(scopes, editor).fold(close, info => {\n            launchContext(info.toolbars, Optional.some(info.elem));\n          });\n        }\n      }, 17);\n      editor.on('init', () => {\n        editor.on('remove', close);\n        editor.on('ScrollContent ScrollWindow ObjectResized ResizeEditor longpress', hideOrRepositionIfNecessary);\n        editor.on('click keyup focus SetContent', launchContextToolbar.throttle);\n        editor.on(hideContextToolbarEvent, close);\n        editor.on(showContextToolbarEvent, e => {\n          const scopes = getScopes();\n          get$g(scopes.lookupTable, e.toolbarKey).each(ctx => {\n            launchContext([ctx], someIf(e.target !== editor, e.target));\n            InlineView.getContent(contextbar).each(Keying.focusIn);\n          });\n        });\n        editor.on('focusout', _e => {\n          global$9.setEditorTimeout(editor, () => {\n            if (search(sink.element).isNone() && search(contextbar.element).isNone()) {\n              close();\n            }\n          }, 0);\n        });\n        editor.on('SwitchMode', () => {\n          if (editor.mode.isReadOnly()) {\n            close();\n          }\n        });\n        editor.on('AfterProgressState', event => {\n          if (event.state) {\n            close();\n          } else if (editor.hasFocus()) {\n            launchContextToolbar.throttle();\n          }\n        });\n        editor.on('dragstart', () => {\n          isDragging = true;\n        });\n        editor.on('dragend drop', () => {\n          isDragging = false;\n        });\n        editor.on('NodeChange', _e => {\n          search(contextbar.element).fold(launchContextToolbar.throttle, noop);\n        });\n      });\n    };\n\n    const register$8 = editor => {\n      const alignToolbarButtons = [{\n        name: 'alignleft',\n        text: 'Align left',\n        cmd: 'JustifyLeft',\n        icon: 'align-left'\n      }, {\n        name: 'aligncenter',\n        text: 'Align center',\n        cmd: 'JustifyCenter',\n        icon: 'align-center'\n      }, {\n        name: 'alignright',\n        text: 'Align right',\n        cmd: 'JustifyRight',\n        icon: 'align-right'\n      }, {\n        name: 'alignjustify',\n        text: 'Justify',\n        cmd: 'JustifyFull',\n        icon: 'align-justify'\n      }];\n      each$1(alignToolbarButtons, item => {\n        editor.ui.registry.addToggleButton(item.name, {\n          tooltip: item.text,\n          icon: item.icon,\n          onAction: onActionExecCommand(editor, item.cmd),\n          onSetup: onSetupStateToggle(editor, item.name)\n        });\n      });\n      editor.ui.registry.addButton('alignnone', {\n        tooltip: 'No alignment',\n        icon: 'align-none',\n        onSetup: onSetupEditableToggle(editor),\n        onAction: onActionExecCommand(editor, 'JustifyNone')\n      });\n    };\n\n    const registerController = (editor, spec) => {\n      const getMenuItems = () => {\n        const options = spec.getOptions(editor);\n        const initial = spec.getCurrent(editor).map(spec.hash);\n        const current = value$2();\n        return map$2(options, value => ({\n          type: 'togglemenuitem',\n          text: spec.display(value),\n          onSetup: api => {\n            const setActive = active => {\n              if (active) {\n                current.on(oldApi => oldApi.setActive(false));\n                current.set(api);\n              }\n              api.setActive(active);\n            };\n            setActive(is$1(initial, spec.hash(value)));\n            const unbindWatcher = spec.watcher(editor, value, setActive);\n            return () => {\n              current.clear();\n              unbindWatcher();\n            };\n          },\n          onAction: () => spec.setCurrent(editor, value)\n        }));\n      };\n      editor.ui.registry.addMenuButton(spec.name, {\n        tooltip: spec.text,\n        icon: spec.icon,\n        fetch: callback => callback(getMenuItems()),\n        onSetup: spec.onToolbarSetup\n      });\n      editor.ui.registry.addNestedMenuItem(spec.name, {\n        type: 'nestedmenuitem',\n        text: spec.text,\n        getSubmenuItems: getMenuItems,\n        onSetup: spec.onMenuSetup\n      });\n    };\n    const lineHeightSpec = editor => ({\n      name: 'lineheight',\n      text: 'Line height',\n      icon: 'line-height',\n      getOptions: getLineHeightFormats,\n      hash: input => normalise(input, ['fixed', 'relative', 'empty']).getOr(input),\n      display: identity,\n      watcher: (editor, value, callback) => editor.formatter.formatChanged('lineheight', callback, false, {\n        value\n      }).unbind,\n      getCurrent: editor => Optional.from(editor.queryCommandValue('LineHeight')),\n      setCurrent: (editor, value) => editor.execCommand('LineHeight', false, value),\n      onToolbarSetup: onSetupEditableToggle(editor),\n      onMenuSetup: onSetupEditableToggle(editor)\n    });\n    const languageSpec = editor => {\n      const settingsOpt = Optional.from(getContentLanguages(editor));\n      return settingsOpt.map(settings => ({\n        name: 'language',\n        text: 'Language',\n        icon: 'language',\n        getOptions: constant$1(settings),\n        hash: input => isUndefined(input.customCode) ? input.code : \"\".concat(input.code, \"/\").concat(input.customCode),\n        display: input => input.title,\n        watcher: (editor, value, callback) => {\n          var _a;\n          return editor.formatter.formatChanged('lang', callback, false, {\n            value: value.code,\n            customValue: (_a = value.customCode) !== null && _a !== void 0 ? _a : null\n          }).unbind;\n        },\n        getCurrent: editor => {\n          const node = SugarElement.fromDom(editor.selection.getNode());\n          return closest$4(node, n => Optional.some(n).filter(isElement$1).bind(ele => {\n            const codeOpt = getOpt(ele, 'lang');\n            return codeOpt.map(code => {\n              const customCode = getOpt(ele, 'data-mce-lang').getOrUndefined();\n              return {\n                code,\n                customCode,\n                title: ''\n              };\n            });\n          }));\n        },\n        setCurrent: (editor, lang) => editor.execCommand('Lang', false, lang),\n        onToolbarSetup: api => {\n          const unbinder = unbindable();\n          api.setActive(editor.formatter.match('lang', {}, undefined, true));\n          unbinder.set(editor.formatter.formatChanged('lang', api.setActive, true));\n          return composeUnbinders(unbinder.clear, onSetupEditableToggle(editor)(api));\n        },\n        onMenuSetup: onSetupEditableToggle(editor)\n      }));\n    };\n    const register$7 = editor => {\n      registerController(editor, lineHeightSpec(editor));\n      languageSpec(editor).each(spec => registerController(editor, spec));\n    };\n\n    const register$6 = (editor, backstage) => {\n      createAlignMenu(editor, backstage);\n      createFontFamilyMenu(editor, backstage);\n      createStylesMenu(editor, backstage);\n      createBlocksMenu(editor, backstage);\n      createFontSizeMenu(editor, backstage);\n    };\n\n    const onSetupOutdentState = editor => onSetupEvent(editor, 'NodeChange', api => {\n      api.setEnabled(editor.queryCommandState('outdent') && editor.selection.isEditable());\n    });\n    const registerButtons$2 = editor => {\n      editor.ui.registry.addButton('outdent', {\n        tooltip: 'Decrease indent',\n        icon: 'outdent',\n        onSetup: onSetupOutdentState(editor),\n        onAction: onActionExecCommand(editor, 'outdent')\n      });\n      editor.ui.registry.addButton('indent', {\n        tooltip: 'Increase indent',\n        icon: 'indent',\n        onSetup: onSetupEditableToggle(editor),\n        onAction: onActionExecCommand(editor, 'indent')\n      });\n    };\n    const register$5 = editor => {\n      registerButtons$2(editor);\n    };\n\n    const makeSetupHandler = (editor, pasteAsText) => api => {\n      api.setActive(pasteAsText.get());\n      const pastePlainTextToggleHandler = e => {\n        pasteAsText.set(e.state);\n        api.setActive(e.state);\n      };\n      editor.on('PastePlainTextToggle', pastePlainTextToggleHandler);\n      return composeUnbinders(() => editor.off('PastePlainTextToggle', pastePlainTextToggleHandler), onSetupEditableToggle(editor)(api));\n    };\n    const register$4 = editor => {\n      const pasteAsText = Cell(getPasteAsText(editor));\n      const onAction = () => editor.execCommand('mceTogglePlainTextPaste');\n      editor.ui.registry.addToggleButton('pastetext', {\n        active: false,\n        icon: 'paste-text',\n        tooltip: 'Paste as text',\n        onAction,\n        onSetup: makeSetupHandler(editor, pasteAsText)\n      });\n      editor.ui.registry.addToggleMenuItem('pastetext', {\n        text: 'Paste as text',\n        icon: 'paste-text',\n        onAction,\n        onSetup: makeSetupHandler(editor, pasteAsText)\n      });\n    };\n\n    const onActionToggleFormat = (editor, fmt) => () => {\n      editor.execCommand('mceToggleFormat', false, fmt);\n    };\n    const registerFormatButtons = editor => {\n      global$1.each([{\n        name: 'bold',\n        text: 'Bold',\n        icon: 'bold'\n      }, {\n        name: 'italic',\n        text: 'Italic',\n        icon: 'italic'\n      }, {\n        name: 'underline',\n        text: 'Underline',\n        icon: 'underline'\n      }, {\n        name: 'strikethrough',\n        text: 'Strikethrough',\n        icon: 'strike-through'\n      }, {\n        name: 'subscript',\n        text: 'Subscript',\n        icon: 'subscript'\n      }, {\n        name: 'superscript',\n        text: 'Superscript',\n        icon: 'superscript'\n      }], (btn, _idx) => {\n        editor.ui.registry.addToggleButton(btn.name, {\n          tooltip: btn.text,\n          icon: btn.icon,\n          onSetup: onSetupStateToggle(editor, btn.name),\n          onAction: onActionToggleFormat(editor, btn.name)\n        });\n      });\n      for (let i = 1; i <= 6; i++) {\n        const name = 'h' + i;\n        editor.ui.registry.addToggleButton(name, {\n          text: name.toUpperCase(),\n          tooltip: 'Heading ' + i,\n          onSetup: onSetupStateToggle(editor, name),\n          onAction: onActionToggleFormat(editor, name)\n        });\n      }\n    };\n    const registerCommandButtons = editor => {\n      global$1.each([{\n        name: 'copy',\n        text: 'Copy',\n        action: 'Copy',\n        icon: 'copy'\n      }, {\n        name: 'help',\n        text: 'Help',\n        action: 'mceHelp',\n        icon: 'help'\n      }, {\n        name: 'selectall',\n        text: 'Select all',\n        action: 'SelectAll',\n        icon: 'select-all'\n      }, {\n        name: 'newdocument',\n        text: 'New document',\n        action: 'mceNewDocument',\n        icon: 'new-document'\n      }, {\n        name: 'print',\n        text: 'Print',\n        action: 'mcePrint',\n        icon: 'print'\n      }], btn => {\n        editor.ui.registry.addButton(btn.name, {\n          tooltip: btn.text,\n          icon: btn.icon,\n          onAction: onActionExecCommand(editor, btn.action)\n        });\n      });\n      global$1.each([{\n        name: 'cut',\n        text: 'Cut',\n        action: 'Cut',\n        icon: 'cut'\n      }, {\n        name: 'paste',\n        text: 'Paste',\n        action: 'Paste',\n        icon: 'paste'\n      }, {\n        name: 'removeformat',\n        text: 'Clear formatting',\n        action: 'RemoveFormat',\n        icon: 'remove-formatting'\n      }, {\n        name: 'remove',\n        text: 'Remove',\n        action: 'Delete',\n        icon: 'remove'\n      }, {\n        name: 'hr',\n        text: 'Horizontal line',\n        action: 'InsertHorizontalRule',\n        icon: 'horizontal-rule'\n      }], btn => {\n        editor.ui.registry.addButton(btn.name, {\n          tooltip: btn.text,\n          icon: btn.icon,\n          onSetup: onSetupEditableToggle(editor),\n          onAction: onActionExecCommand(editor, btn.action)\n        });\n      });\n    };\n    const registerCommandToggleButtons = editor => {\n      global$1.each([{\n        name: 'blockquote',\n        text: 'Blockquote',\n        action: 'mceBlockQuote',\n        icon: 'quote'\n      }], btn => {\n        editor.ui.registry.addToggleButton(btn.name, {\n          tooltip: btn.text,\n          icon: btn.icon,\n          onAction: onActionExecCommand(editor, btn.action),\n          onSetup: onSetupStateToggle(editor, btn.name)\n        });\n      });\n    };\n    const registerButtons$1 = editor => {\n      registerFormatButtons(editor);\n      registerCommandButtons(editor);\n      registerCommandToggleButtons(editor);\n    };\n    const registerMenuItems$2 = editor => {\n      global$1.each([{\n        name: 'newdocument',\n        text: 'New document',\n        action: 'mceNewDocument',\n        icon: 'new-document'\n      }, {\n        name: 'copy',\n        text: 'Copy',\n        action: 'Copy',\n        icon: 'copy',\n        shortcut: 'Meta+C'\n      }, {\n        name: 'selectall',\n        text: 'Select all',\n        action: 'SelectAll',\n        icon: 'select-all',\n        shortcut: 'Meta+A'\n      }, {\n        name: 'print',\n        text: 'Print...',\n        action: 'mcePrint',\n        icon: 'print',\n        shortcut: 'Meta+P'\n      }], menuitem => {\n        editor.ui.registry.addMenuItem(menuitem.name, {\n          text: menuitem.text,\n          icon: menuitem.icon,\n          shortcut: menuitem.shortcut,\n          onAction: onActionExecCommand(editor, menuitem.action)\n        });\n      });\n      global$1.each([{\n        name: 'bold',\n        text: 'Bold',\n        action: 'Bold',\n        icon: 'bold',\n        shortcut: 'Meta+B'\n      }, {\n        name: 'italic',\n        text: 'Italic',\n        action: 'Italic',\n        icon: 'italic',\n        shortcut: 'Meta+I'\n      }, {\n        name: 'underline',\n        text: 'Underline',\n        action: 'Underline',\n        icon: 'underline',\n        shortcut: 'Meta+U'\n      }, {\n        name: 'strikethrough',\n        text: 'Strikethrough',\n        action: 'Strikethrough',\n        icon: 'strike-through'\n      }, {\n        name: 'subscript',\n        text: 'Subscript',\n        action: 'Subscript',\n        icon: 'subscript'\n      }, {\n        name: 'superscript',\n        text: 'Superscript',\n        action: 'Superscript',\n        icon: 'superscript'\n      }, {\n        name: 'removeformat',\n        text: 'Clear formatting',\n        action: 'RemoveFormat',\n        icon: 'remove-formatting'\n      }, {\n        name: 'cut',\n        text: 'Cut',\n        action: 'Cut',\n        icon: 'cut',\n        shortcut: 'Meta+X'\n      }, {\n        name: 'paste',\n        text: 'Paste',\n        action: 'Paste',\n        icon: 'paste',\n        shortcut: 'Meta+V'\n      }, {\n        name: 'hr',\n        text: 'Horizontal line',\n        action: 'InsertHorizontalRule',\n        icon: 'horizontal-rule'\n      }], menuitem => {\n        editor.ui.registry.addMenuItem(menuitem.name, {\n          text: menuitem.text,\n          icon: menuitem.icon,\n          shortcut: menuitem.shortcut,\n          onSetup: onSetupEditableToggle(editor),\n          onAction: onActionExecCommand(editor, menuitem.action)\n        });\n      });\n      editor.ui.registry.addMenuItem('codeformat', {\n        text: 'Code',\n        icon: 'sourcecode',\n        onSetup: onSetupEditableToggle(editor),\n        onAction: onActionToggleFormat(editor, 'code')\n      });\n    };\n    const register$3 = editor => {\n      registerButtons$1(editor);\n      registerMenuItems$2(editor);\n    };\n\n    const onSetupUndoRedoState = (editor, type) => onSetupEvent(editor, 'Undo Redo AddUndo TypingUndo ClearUndos SwitchMode', api => {\n      api.setEnabled(!editor.mode.isReadOnly() && editor.undoManager[type]());\n    });\n    const registerMenuItems$1 = editor => {\n      editor.ui.registry.addMenuItem('undo', {\n        text: 'Undo',\n        icon: 'undo',\n        shortcut: 'Meta+Z',\n        onSetup: onSetupUndoRedoState(editor, 'hasUndo'),\n        onAction: onActionExecCommand(editor, 'undo')\n      });\n      editor.ui.registry.addMenuItem('redo', {\n        text: 'Redo',\n        icon: 'redo',\n        shortcut: 'Meta+Y',\n        onSetup: onSetupUndoRedoState(editor, 'hasRedo'),\n        onAction: onActionExecCommand(editor, 'redo')\n      });\n    };\n    const registerButtons = editor => {\n      editor.ui.registry.addButton('undo', {\n        tooltip: 'Undo',\n        icon: 'undo',\n        enabled: false,\n        onSetup: onSetupUndoRedoState(editor, 'hasUndo'),\n        onAction: onActionExecCommand(editor, 'undo')\n      });\n      editor.ui.registry.addButton('redo', {\n        tooltip: 'Redo',\n        icon: 'redo',\n        enabled: false,\n        onSetup: onSetupUndoRedoState(editor, 'hasRedo'),\n        onAction: onActionExecCommand(editor, 'redo')\n      });\n    };\n    const register$2 = editor => {\n      registerMenuItems$1(editor);\n      registerButtons(editor);\n    };\n\n    const onSetupVisualAidState = editor => onSetupEvent(editor, 'VisualAid', api => {\n      api.setActive(editor.hasVisual);\n    });\n    const registerMenuItems = editor => {\n      editor.ui.registry.addToggleMenuItem('visualaid', {\n        text: 'Visual aids',\n        onSetup: onSetupVisualAidState(editor),\n        onAction: onActionExecCommand(editor, 'mceToggleVisualAid')\n      });\n    };\n    const registerToolbarButton = editor => {\n      editor.ui.registry.addButton('visualaid', {\n        tooltip: 'Visual aids',\n        text: 'Visual aids',\n        onAction: onActionExecCommand(editor, 'mceToggleVisualAid')\n      });\n    };\n    const register$1 = editor => {\n      registerToolbarButton(editor);\n      registerMenuItems(editor);\n    };\n\n    const setup$6 = (editor, backstage) => {\n      register$8(editor);\n      register$3(editor);\n      register$6(editor, backstage);\n      register$2(editor);\n      register$c(editor);\n      register$1(editor);\n      register$5(editor);\n      register$7(editor);\n      register$4(editor);\n    };\n\n    const patchPipeConfig = config => isString(config) ? config.split(/[ ,]/) : config;\n    const option = name => editor => editor.options.get(name);\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('contextmenu_avoid_overlap', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('contextmenu_never_use_native', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('contextmenu', {\n        processor: value => {\n          if (value === false) {\n            return {\n              value: [],\n              valid: true\n            };\n          } else if (isString(value) || isArrayOf(value, isString)) {\n            return {\n              value: patchPipeConfig(value),\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be false or a string.'\n            };\n          }\n        },\n        default: 'link linkchecker image editimage table spellchecker configurepermanentpen'\n      });\n    };\n    const shouldNeverUseNative = option('contextmenu_never_use_native');\n    const getAvoidOverlapSelector = option('contextmenu_avoid_overlap');\n    const isContextMenuDisabled = editor => getContextMenu(editor).length === 0;\n    const getContextMenu = editor => {\n      const contextMenus = editor.ui.registry.getAll().contextMenus;\n      const contextMenu = editor.options.get('contextmenu');\n      if (editor.options.isSet('contextmenu')) {\n        return contextMenu;\n      } else {\n        return filter$2(contextMenu, item => has$2(contextMenus, item));\n      }\n    };\n\n    const nu = (x, y) => ({\n      type: 'makeshift',\n      x,\n      y\n    });\n    const transpose = (pos, dx, dy) => {\n      return nu(pos.x + dx, pos.y + dy);\n    };\n    const isTouchEvent$1 = e => e.type === 'longpress' || e.type.indexOf('touch') === 0;\n    const fromPageXY = e => {\n      if (isTouchEvent$1(e)) {\n        const touch = e.touches[0];\n        return nu(touch.pageX, touch.pageY);\n      } else {\n        return nu(e.pageX, e.pageY);\n      }\n    };\n    const fromClientXY = e => {\n      if (isTouchEvent$1(e)) {\n        const touch = e.touches[0];\n        return nu(touch.clientX, touch.clientY);\n      } else {\n        return nu(e.clientX, e.clientY);\n      }\n    };\n    const transposeContentAreaContainer = (element, pos) => {\n      const containerPos = global$7.DOM.getPos(element);\n      return transpose(pos, containerPos.x, containerPos.y);\n    };\n    const getPointAnchor = (editor, e) => {\n      if (e.type === 'contextmenu' || e.type === 'longpress') {\n        if (editor.inline) {\n          return fromPageXY(e);\n        } else {\n          return transposeContentAreaContainer(editor.getContentAreaContainer(), fromClientXY(e));\n        }\n      } else {\n        return getSelectionAnchor(editor);\n      }\n    };\n    const getSelectionAnchor = editor => {\n      return {\n        type: 'selection',\n        root: SugarElement.fromDom(editor.selection.getNode())\n      };\n    };\n    const getNodeAnchor = editor => ({\n      type: 'node',\n      node: Optional.some(SugarElement.fromDom(editor.selection.getNode())),\n      root: SugarElement.fromDom(editor.getBody())\n    });\n    const getAnchorSpec$1 = (editor, e, anchorType) => {\n      switch (anchorType) {\n        case 'node':\n          return getNodeAnchor(editor);\n        case 'point':\n          return getPointAnchor(editor, e);\n        case 'selection':\n          return getSelectionAnchor(editor);\n      }\n    };\n\n    const initAndShow$1 = (editor, e, buildMenu, backstage, contextmenu, anchorType) => {\n      const items = buildMenu();\n      const anchorSpec = getAnchorSpec$1(editor, e, anchorType);\n      build(items, ItemResponse$1.CLOSE_ON_EXECUTE, backstage, {\n        isHorizontalMenu: false,\n        search: Optional.none()\n      }).map(menuData => {\n        e.preventDefault();\n        InlineView.showMenuAt(contextmenu, {\n          anchor: anchorSpec\n        }, {\n          menu: {\n            markers: markers('normal')\n          },\n          data: menuData\n        });\n      });\n    };\n\n    const layouts = {\n      onLtr: () => [south$2, southeast$2, southwest$2, northeast$2, northwest$2, north$2, north, south, northeast, southeast, northwest, southwest],\n      onRtl: () => [south$2, southwest$2, southeast$2, northwest$2, northeast$2, north$2, north, south, northwest, southwest, northeast, southeast]\n    };\n    const bubbleSize = 12;\n    const bubbleAlignments = {\n      valignCentre: [],\n      alignCentre: [],\n      alignLeft: ['tox-pop--align-left'],\n      alignRight: ['tox-pop--align-right'],\n      right: ['tox-pop--right'],\n      left: ['tox-pop--left'],\n      bottom: ['tox-pop--bottom'],\n      top: ['tox-pop--top']\n    };\n    const isTouchWithinSelection = (editor, e) => {\n      const selection = editor.selection;\n      if (selection.isCollapsed() || e.touches.length < 1) {\n        return false;\n      } else {\n        const touch = e.touches[0];\n        const rng = selection.getRng();\n        const rngRectOpt = getFirstRect(editor.getWin(), SimSelection.domRange(rng));\n        return rngRectOpt.exists(rngRect => rngRect.left <= touch.clientX && rngRect.right >= touch.clientX && rngRect.top <= touch.clientY && rngRect.bottom >= touch.clientY);\n      }\n    };\n    const setupiOSOverrides = editor => {\n      const originalSelection = editor.selection.getRng();\n      const selectionReset = () => {\n        global$9.setEditorTimeout(editor, () => {\n          editor.selection.setRng(originalSelection);\n        }, 10);\n        unbindEventListeners();\n      };\n      editor.once('touchend', selectionReset);\n      const preventMousedown = e => {\n        e.preventDefault();\n        e.stopImmediatePropagation();\n      };\n      editor.on('mousedown', preventMousedown, true);\n      const clearSelectionReset = () => unbindEventListeners();\n      editor.once('longpresscancel', clearSelectionReset);\n      const unbindEventListeners = () => {\n        editor.off('touchend', selectionReset);\n        editor.off('longpresscancel', clearSelectionReset);\n        editor.off('mousedown', preventMousedown);\n      };\n    };\n    const getAnchorSpec = (editor, e, anchorType) => {\n      const anchorSpec = getAnchorSpec$1(editor, e, anchorType);\n      const bubbleYOffset = anchorType === 'point' ? bubbleSize : 0;\n      return {\n        bubble: nu$5(0, bubbleYOffset, bubbleAlignments),\n        layouts,\n        overrides: {\n          maxWidthFunction: expandable(),\n          maxHeightFunction: expandable$1()\n        },\n        ...anchorSpec\n      };\n    };\n    const show = (editor, e, items, backstage, contextmenu, anchorType, highlightImmediately) => {\n      const anchorSpec = getAnchorSpec(editor, e, anchorType);\n      build(items, ItemResponse$1.CLOSE_ON_EXECUTE, backstage, {\n        isHorizontalMenu: true,\n        search: Optional.none()\n      }).map(menuData => {\n        e.preventDefault();\n        const highlightOnOpen = highlightImmediately ? HighlightOnOpen.HighlightMenuAndItem : HighlightOnOpen.HighlightNone;\n        InlineView.showMenuWithinBounds(contextmenu, {\n          anchor: anchorSpec\n        }, {\n          menu: {\n            markers: markers('normal'),\n            highlightOnOpen\n          },\n          data: menuData,\n          type: 'horizontal'\n        }, () => Optional.some(getContextToolbarBounds(editor, backstage.shared, anchorType === 'node' ? 'node' : 'selection')));\n        editor.dispatch(hideContextToolbarEvent);\n      });\n    };\n    const initAndShow = (editor, e, buildMenu, backstage, contextmenu, anchorType) => {\n      const detection = detect$2();\n      const isiOS = detection.os.isiOS();\n      const isMacOS = detection.os.isMacOS();\n      const isAndroid = detection.os.isAndroid();\n      const isTouch = detection.deviceType.isTouch();\n      const shouldHighlightImmediately = () => !(isAndroid || isiOS || isMacOS && isTouch);\n      const open = () => {\n        const items = buildMenu();\n        show(editor, e, items, backstage, contextmenu, anchorType, shouldHighlightImmediately());\n      };\n      if ((isMacOS || isiOS) && anchorType !== 'node') {\n        const openiOS = () => {\n          setupiOSOverrides(editor);\n          open();\n        };\n        if (isTouchWithinSelection(editor, e)) {\n          openiOS();\n        } else {\n          editor.once('selectionchange', openiOS);\n          editor.once('touchend', () => editor.off('selectionchange', openiOS));\n        }\n      } else {\n        open();\n      }\n    };\n\n    const isSeparator = item => isString(item) ? item === '|' : item.type === 'separator';\n    const separator = {\n      type: 'separator'\n    };\n    const makeContextItem = item => {\n      const commonMenuItem = item => ({\n        text: item.text,\n        icon: item.icon,\n        enabled: item.enabled,\n        shortcut: item.shortcut\n      });\n      if (isString(item)) {\n        return item;\n      } else {\n        switch (item.type) {\n          case 'separator':\n            return separator;\n          case 'submenu':\n            return {\n              type: 'nestedmenuitem',\n              ...commonMenuItem(item),\n              getSubmenuItems: () => {\n                const items = item.getSubmenuItems();\n                if (isString(items)) {\n                  return items;\n                } else {\n                  return map$2(items, makeContextItem);\n                }\n              }\n            };\n          default:\n            const commonItem = item;\n            return {\n              type: 'menuitem',\n              ...commonMenuItem(commonItem),\n              onAction: noarg(commonItem.onAction)\n            };\n        }\n      }\n    };\n    const addContextMenuGroup = (xs, groupItems) => {\n      if (groupItems.length === 0) {\n        return xs;\n      }\n      const lastMenuItem = last$1(xs).filter(item => !isSeparator(item));\n      const before = lastMenuItem.fold(() => [], _ => [separator]);\n      return xs.concat(before).concat(groupItems).concat([separator]);\n    };\n    const generateContextMenu = (contextMenus, menuConfig, selectedElement) => {\n      const sections = foldl(menuConfig, (acc, name) => {\n        return get$g(contextMenus, name.toLowerCase()).map(menu => {\n          const items = menu.update(selectedElement);\n          if (isString(items) && isNotEmpty(trim$1(items))) {\n            return addContextMenuGroup(acc, items.split(' '));\n          } else if (isArray(items) && items.length > 0) {\n            const allItems = map$2(items, makeContextItem);\n            return addContextMenuGroup(acc, allItems);\n          } else {\n            return acc;\n          }\n        }).getOrThunk(() => acc.concat([name]));\n      }, []);\n      if (sections.length > 0 && isSeparator(sections[sections.length - 1])) {\n        sections.pop();\n      }\n      return sections;\n    };\n    const isNativeOverrideKeyEvent = (editor, e) => e.ctrlKey && !shouldNeverUseNative(editor);\n    const isTouchEvent = e => e.type === 'longpress' || has$2(e, 'touches');\n    const isTriggeredByKeyboard = (editor, e) => !isTouchEvent(e) && (e.button !== 2 || e.target === editor.getBody() && e.pointerType === '');\n    const getSelectedElement = (editor, e) => isTriggeredByKeyboard(editor, e) ? editor.selection.getStart(true) : e.target;\n    const getAnchorType = (editor, e) => {\n      const selector = getAvoidOverlapSelector(editor);\n      const anchorType = isTriggeredByKeyboard(editor, e) ? 'selection' : 'point';\n      if (isNotEmpty(selector)) {\n        const target = getSelectedElement(editor, e);\n        const selectorExists = closest(SugarElement.fromDom(target), selector);\n        return selectorExists ? 'node' : anchorType;\n      } else {\n        return anchorType;\n      }\n    };\n    const setup$5 = (editor, lazySink, backstage) => {\n      const detection = detect$2();\n      const isTouch = detection.deviceType.isTouch;\n      const contextmenu = build$1(InlineView.sketch({\n        dom: {\n          tag: 'div'\n        },\n        lazySink,\n        onEscape: () => editor.focus(),\n        onShow: () => backstage.setContextMenuState(true),\n        onHide: () => backstage.setContextMenuState(false),\n        fireDismissalEventInstead: {},\n        inlineBehaviours: derive$1([config('dismissContextMenu', [run$1(dismissRequested(), (comp, _se) => {\n          Sandboxing.close(comp);\n          editor.focus();\n        })])])\n      }));\n      const hideContextMenu = () => InlineView.hide(contextmenu);\n      const showContextMenu = e => {\n        if (shouldNeverUseNative(editor)) {\n          e.preventDefault();\n        }\n        if (isNativeOverrideKeyEvent(editor, e) || isContextMenuDisabled(editor)) {\n          return;\n        }\n        const anchorType = getAnchorType(editor, e);\n        const buildMenu = () => {\n          const selectedElement = getSelectedElement(editor, e);\n          const registry = editor.ui.registry.getAll();\n          const menuConfig = getContextMenu(editor);\n          return generateContextMenu(registry.contextMenus, menuConfig, selectedElement);\n        };\n        const initAndShow$2 = isTouch() ? initAndShow : initAndShow$1;\n        initAndShow$2(editor, e, buildMenu, backstage, contextmenu, anchorType);\n      };\n      editor.on('init', () => {\n        const hideEvents = 'ResizeEditor ScrollContent ScrollWindow longpresscancel' + (isTouch() ? '' : ' ResizeWindow');\n        editor.on(hideEvents, hideContextMenu);\n        editor.on('longpress contextmenu', showContextMenu);\n      });\n    };\n\n    const adt = Adt.generate([{\n      offset: ['x', 'y']\n    }, {\n      absolute: ['x', 'y']\n    }, {\n      fixed: ['x', 'y']\n    }]);\n    const subtract = change => point => point.translate(-change.left, -change.top);\n    const add = change => point => point.translate(change.left, change.top);\n    const transform = changes => (x, y) => foldl(changes, (rest, f) => f(rest), SugarPosition(x, y));\n    const asFixed = (coord, scroll, origin) => coord.fold(transform([add(origin), subtract(scroll)]), transform([subtract(scroll)]), transform([]));\n    const asAbsolute = (coord, scroll, origin) => coord.fold(transform([add(origin)]), transform([]), transform([add(scroll)]));\n    const asOffset = (coord, scroll, origin) => coord.fold(transform([]), transform([subtract(origin)]), transform([add(scroll), subtract(origin)]));\n    const withinRange = (coord1, coord2, xRange, yRange, scroll, origin) => {\n      const a1 = asAbsolute(coord1, scroll, origin);\n      const a2 = asAbsolute(coord2, scroll, origin);\n      return Math.abs(a1.left - a2.left) <= xRange && Math.abs(a1.top - a2.top) <= yRange;\n    };\n    const getDeltas = (coord1, coord2, xRange, yRange, scroll, origin) => {\n      const a1 = asAbsolute(coord1, scroll, origin);\n      const a2 = asAbsolute(coord2, scroll, origin);\n      const left = Math.abs(a1.left - a2.left);\n      const top = Math.abs(a1.top - a2.top);\n      return SugarPosition(left, top);\n    };\n    const toStyles = (coord, scroll, origin) => {\n      const stylesOpt = coord.fold((x, y) => ({\n        position: Optional.some('absolute'),\n        left: Optional.some(x + 'px'),\n        top: Optional.some(y + 'px')\n      }), (x, y) => ({\n        position: Optional.some('absolute'),\n        left: Optional.some(x - origin.left + 'px'),\n        top: Optional.some(y - origin.top + 'px')\n      }), (x, y) => ({\n        position: Optional.some('fixed'),\n        left: Optional.some(x + 'px'),\n        top: Optional.some(y + 'px')\n      }));\n      return {\n        right: Optional.none(),\n        bottom: Optional.none(),\n        ...stylesOpt\n      };\n    };\n    const translate = (coord, deltaX, deltaY) => coord.fold((x, y) => offset(x + deltaX, y + deltaY), (x, y) => absolute(x + deltaX, y + deltaY), (x, y) => fixed(x + deltaX, y + deltaY));\n    const absorb = (partialCoord, originalCoord, scroll, origin) => {\n      const absorbOne = (stencil, nu) => (optX, optY) => {\n        const original = stencil(originalCoord, scroll, origin);\n        return nu(optX.getOr(original.left), optY.getOr(original.top));\n      };\n      return partialCoord.fold(absorbOne(asOffset, offset), absorbOne(asAbsolute, absolute), absorbOne(asFixed, fixed));\n    };\n    const offset = adt.offset;\n    const absolute = adt.absolute;\n    const fixed = adt.fixed;\n\n    const parseAttrToInt = (element, name) => {\n      const value = get$f(element, name);\n      return isUndefined(value) ? NaN : parseInt(value, 10);\n    };\n    const get = (component, snapsInfo) => {\n      const element = component.element;\n      const x = parseAttrToInt(element, snapsInfo.leftAttr);\n      const y = parseAttrToInt(element, snapsInfo.topAttr);\n      return isNaN(x) || isNaN(y) ? Optional.none() : Optional.some(SugarPosition(x, y));\n    };\n    const set = (component, snapsInfo, pt) => {\n      const element = component.element;\n      set$9(element, snapsInfo.leftAttr, pt.left + 'px');\n      set$9(element, snapsInfo.topAttr, pt.top + 'px');\n    };\n    const clear = (component, snapsInfo) => {\n      const element = component.element;\n      remove$7(element, snapsInfo.leftAttr);\n      remove$7(element, snapsInfo.topAttr);\n    };\n\n    const getCoords = (component, snapInfo, coord, delta) => get(component, snapInfo).fold(() => coord, fixed$1 => fixed(fixed$1.left + delta.left, fixed$1.top + delta.top));\n    const moveOrSnap = (component, snapInfo, coord, delta, scroll, origin) => {\n      const newCoord = getCoords(component, snapInfo, coord, delta);\n      const snap = snapInfo.mustSnap ? findClosestSnap(component, snapInfo, newCoord, scroll, origin) : findSnap(component, snapInfo, newCoord, scroll, origin);\n      const fixedCoord = asFixed(newCoord, scroll, origin);\n      set(component, snapInfo, fixedCoord);\n      return snap.fold(() => ({\n        coord: fixed(fixedCoord.left, fixedCoord.top),\n        extra: Optional.none()\n      }), spanned => ({\n        coord: spanned.output,\n        extra: spanned.extra\n      }));\n    };\n    const stopDrag = (component, snapInfo) => {\n      clear(component, snapInfo);\n    };\n    const findMatchingSnap = (snaps, newCoord, scroll, origin) => findMap(snaps, snap => {\n      const sensor = snap.sensor;\n      const inRange = withinRange(newCoord, sensor, snap.range.left, snap.range.top, scroll, origin);\n      return inRange ? Optional.some({\n        output: absorb(snap.output, newCoord, scroll, origin),\n        extra: snap.extra\n      }) : Optional.none();\n    });\n    const findClosestSnap = (component, snapInfo, newCoord, scroll, origin) => {\n      const snaps = snapInfo.getSnapPoints(component);\n      const matchSnap = findMatchingSnap(snaps, newCoord, scroll, origin);\n      return matchSnap.orThunk(() => {\n        const bestSnap = foldl(snaps, (acc, snap) => {\n          const sensor = snap.sensor;\n          const deltas = getDeltas(newCoord, sensor, snap.range.left, snap.range.top, scroll, origin);\n          return acc.deltas.fold(() => ({\n            deltas: Optional.some(deltas),\n            snap: Optional.some(snap)\n          }), bestDeltas => {\n            const currAvg = (deltas.left + deltas.top) / 2;\n            const bestAvg = (bestDeltas.left + bestDeltas.top) / 2;\n            if (currAvg <= bestAvg) {\n              return {\n                deltas: Optional.some(deltas),\n                snap: Optional.some(snap)\n              };\n            } else {\n              return acc;\n            }\n          });\n        }, {\n          deltas: Optional.none(),\n          snap: Optional.none()\n        });\n        return bestSnap.snap.map(snap => ({\n          output: absorb(snap.output, newCoord, scroll, origin),\n          extra: snap.extra\n        }));\n      });\n    };\n    const findSnap = (component, snapInfo, newCoord, scroll, origin) => {\n      const snaps = snapInfo.getSnapPoints(component);\n      return findMatchingSnap(snaps, newCoord, scroll, origin);\n    };\n    const snapTo$1 = (snap, scroll, origin) => ({\n      coord: absorb(snap.output, snap.output, scroll, origin),\n      extra: snap.extra\n    });\n\n    const snapTo = (component, dragConfig, _state, snap) => {\n      const target = dragConfig.getTarget(component.element);\n      if (dragConfig.repositionTarget) {\n        const doc = owner$4(component.element);\n        const scroll = get$b(doc);\n        const origin = getOrigin(target);\n        const snapPin = snapTo$1(snap, scroll, origin);\n        const styles = toStyles(snapPin.coord, scroll, origin);\n        setOptions(target, styles);\n      }\n    };\n\n    var DraggingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        snapTo: snapTo\n    });\n\n    const initialAttribute = 'data-initial-z-index';\n    const resetZIndex = blocker => {\n      parent(blocker.element).filter(isElement$1).each(root => {\n        getOpt(root, initialAttribute).fold(() => remove$6(root, 'z-index'), zIndex => set$8(root, 'z-index', zIndex));\n        remove$7(root, initialAttribute);\n      });\n    };\n    const changeZIndex = blocker => {\n      parent(blocker.element).filter(isElement$1).each(root => {\n        getRaw(root, 'z-index').each(zindex => {\n          set$9(root, initialAttribute, zindex);\n        });\n        set$8(root, 'z-index', get$e(blocker.element, 'z-index'));\n      });\n    };\n    const instigate = (anyComponent, blocker) => {\n      anyComponent.getSystem().addToGui(blocker);\n      changeZIndex(blocker);\n    };\n    const discard = blocker => {\n      resetZIndex(blocker);\n      blocker.getSystem().removeFromGui(blocker);\n    };\n    const createComponent = (component, blockerClass, blockerEvents) => component.getSystem().build(Container.sketch({\n      dom: {\n        styles: {\n          'left': '0px',\n          'top': '0px',\n          'width': '100%',\n          'height': '100%',\n          'position': 'fixed',\n          'z-index': '1000000000000000'\n        },\n        classes: [blockerClass]\n      },\n      events: blockerEvents\n    }));\n\n    var SnapSchema = optionObjOf('snaps', [required$1('getSnapPoints'), onHandler('onSensor'), required$1('leftAttr'), required$1('topAttr'), defaulted('lazyViewport', win), defaulted('mustSnap', false)]);\n\n    const schema$6 = [defaulted('useFixed', never), required$1('blockerClass'), defaulted('getTarget', identity), defaulted('onDrag', noop), defaulted('repositionTarget', true), defaulted('onDrop', noop), defaultedFunction('getBounds', win), SnapSchema];\n\n    const getCurrentCoord = target => lift3(getRaw(target, 'left'), getRaw(target, 'top'), getRaw(target, 'position'), (left, top, position) => {\n      const nu = position === 'fixed' ? fixed : offset;\n      return nu(parseInt(left, 10), parseInt(top, 10));\n    }).getOrThunk(() => {\n      const location = absolute$3(target);\n      return absolute(location.left, location.top);\n    });\n    const clampCoords = (component, coords, scroll, origin, startData) => {\n      const bounds = startData.bounds;\n      const absoluteCoord = asAbsolute(coords, scroll, origin);\n      const newX = clamp(absoluteCoord.left, bounds.x, bounds.x + bounds.width - startData.width);\n      const newY = clamp(absoluteCoord.top, bounds.y, bounds.y + bounds.height - startData.height);\n      const newCoords = absolute(newX, newY);\n      return coords.fold(() => {\n        const offset$1 = asOffset(newCoords, scroll, origin);\n        return offset(offset$1.left, offset$1.top);\n      }, constant$1(newCoords), () => {\n        const fixed$1 = asFixed(newCoords, scroll, origin);\n        return fixed(fixed$1.left, fixed$1.top);\n      });\n    };\n    const calcNewCoord = (component, optSnaps, currentCoord, scroll, origin, delta, startData) => {\n      const newCoord = optSnaps.fold(() => {\n        const translated = translate(currentCoord, delta.left, delta.top);\n        const fixedCoord = asFixed(translated, scroll, origin);\n        return fixed(fixedCoord.left, fixedCoord.top);\n      }, snapInfo => {\n        const snapping = moveOrSnap(component, snapInfo, currentCoord, delta, scroll, origin);\n        snapping.extra.each(extra => {\n          snapInfo.onSensor(component, extra);\n        });\n        return snapping.coord;\n      });\n      return clampCoords(component, newCoord, scroll, origin, startData);\n    };\n    const dragBy = (component, dragConfig, startData, delta) => {\n      const target = dragConfig.getTarget(component.element);\n      if (dragConfig.repositionTarget) {\n        const doc = owner$4(component.element);\n        const scroll = get$b(doc);\n        const origin = getOrigin(target);\n        const currentCoord = getCurrentCoord(target);\n        const newCoord = calcNewCoord(component, dragConfig.snaps, currentCoord, scroll, origin, delta, startData);\n        const styles = toStyles(newCoord, scroll, origin);\n        setOptions(target, styles);\n      }\n      dragConfig.onDrag(component, target, delta);\n    };\n\n    const calcStartData = (dragConfig, comp) => ({\n      bounds: dragConfig.getBounds(),\n      height: getOuter$2(comp.element),\n      width: getOuter$1(comp.element)\n    });\n    const move = (component, dragConfig, dragState, dragMode, event) => {\n      const delta = dragState.update(dragMode, event);\n      const dragStartData = dragState.getStartData().getOrThunk(() => calcStartData(dragConfig, component));\n      delta.each(dlt => {\n        dragBy(component, dragConfig, dragStartData, dlt);\n      });\n    };\n    const stop = (component, blocker, dragConfig, dragState) => {\n      blocker.each(discard);\n      dragConfig.snaps.each(snapInfo => {\n        stopDrag(component, snapInfo);\n      });\n      const target = dragConfig.getTarget(component.element);\n      dragState.reset();\n      dragConfig.onDrop(component, target);\n    };\n    const handlers = events => (dragConfig, dragState) => {\n      const updateStartState = comp => {\n        dragState.setStartData(calcStartData(dragConfig, comp));\n      };\n      return derive$2([run$1(windowScroll(), comp => {\n        dragState.getStartData().each(() => updateStartState(comp));\n      }), ...events(dragConfig, dragState, updateStartState)]);\n    };\n\n    const init$3 = dragApi => derive$2([run$1(mousedown(), dragApi.forceDrop), run$1(mouseup(), dragApi.drop), run$1(mousemove(), (comp, simulatedEvent) => {\n      dragApi.move(simulatedEvent.event);\n    }), run$1(mouseout(), dragApi.delayDrop)]);\n\n    const getData$1 = event => Optional.from(SugarPosition(event.x, event.y));\n    const getDelta$1 = (old, nu) => SugarPosition(nu.left - old.left, nu.top - old.top);\n\n    var MouseData = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        getData: getData$1,\n        getDelta: getDelta$1\n    });\n\n    const events$3 = (dragConfig, dragState, updateStartState) => [run$1(mousedown(), (component, simulatedEvent) => {\n      const raw = simulatedEvent.event.raw;\n      if (raw.button !== 0) {\n        return;\n      }\n      simulatedEvent.stop();\n      const stop$1 = () => stop(component, Optional.some(blocker), dragConfig, dragState);\n      const delayDrop = DelayedFunction(stop$1, 200);\n      const dragApi = {\n        drop: stop$1,\n        delayDrop: delayDrop.schedule,\n        forceDrop: stop$1,\n        move: event => {\n          delayDrop.cancel();\n          move(component, dragConfig, dragState, MouseData, event);\n        }\n      };\n      const blocker = createComponent(component, dragConfig.blockerClass, init$3(dragApi));\n      const start = () => {\n        updateStartState(component);\n        instigate(component, blocker);\n      };\n      start();\n    })];\n    const schema$5 = [...schema$6, output$1('dragger', {\n      handlers: handlers(events$3)\n    })];\n\n    const init$2 = dragApi => derive$2([run$1(touchstart(), dragApi.forceDrop), run$1(touchend(), dragApi.drop), run$1(touchcancel(), dragApi.drop), run$1(touchmove(), (comp, simulatedEvent) => {\n      dragApi.move(simulatedEvent.event);\n    })]);\n\n    const getDataFrom = touches => {\n      const touch = touches[0];\n      return Optional.some(SugarPosition(touch.clientX, touch.clientY));\n    };\n    const getData = event => {\n      const raw = event.raw;\n      const touches = raw.touches;\n      return touches.length === 1 ? getDataFrom(touches) : Optional.none();\n    };\n    const getDelta = (old, nu) => SugarPosition(nu.left - old.left, nu.top - old.top);\n\n    var TouchData = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        getData: getData,\n        getDelta: getDelta\n    });\n\n    const events$2 = (dragConfig, dragState, updateStartState) => {\n      const blockerSingleton = value$2();\n      const stopBlocking = component => {\n        stop(component, blockerSingleton.get(), dragConfig, dragState);\n        blockerSingleton.clear();\n      };\n      return [run$1(touchstart(), (component, simulatedEvent) => {\n        simulatedEvent.stop();\n        const stop = () => stopBlocking(component);\n        const dragApi = {\n          drop: stop,\n          delayDrop: noop,\n          forceDrop: stop,\n          move: event => {\n            move(component, dragConfig, dragState, TouchData, event);\n          }\n        };\n        const blocker = createComponent(component, dragConfig.blockerClass, init$2(dragApi));\n        blockerSingleton.set(blocker);\n        const start = () => {\n          updateStartState(component);\n          instigate(component, blocker);\n        };\n        start();\n      }), run$1(touchmove(), (component, simulatedEvent) => {\n        simulatedEvent.stop();\n        move(component, dragConfig, dragState, TouchData, simulatedEvent.event);\n      }), run$1(touchend(), (component, simulatedEvent) => {\n        simulatedEvent.stop();\n        stopBlocking(component);\n      }), run$1(touchcancel(), stopBlocking)];\n    };\n    const schema$4 = [...schema$6, output$1('dragger', {\n      handlers: handlers(events$2)\n    })];\n\n    const events$1 = (dragConfig, dragState, updateStartState) => [...events$3(dragConfig, dragState, updateStartState), ...events$2(dragConfig, dragState, updateStartState)];\n    const schema$3 = [...schema$6, output$1('dragger', {\n      handlers: handlers(events$1)\n    })];\n\n    const mouse = schema$5;\n    const touch = schema$4;\n    const mouseOrTouch = schema$3;\n\n    var DraggingBranches = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        mouse: mouse,\n        touch: touch,\n        mouseOrTouch: mouseOrTouch\n    });\n\n    const init$1 = () => {\n      let previous = Optional.none();\n      let startData = Optional.none();\n      const reset = () => {\n        previous = Optional.none();\n        startData = Optional.none();\n      };\n      const calculateDelta = (mode, nu) => {\n        const result = previous.map(old => mode.getDelta(old, nu));\n        previous = Optional.some(nu);\n        return result;\n      };\n      const update = (mode, dragEvent) => mode.getData(dragEvent).bind(nuData => calculateDelta(mode, nuData));\n      const setStartData = data => {\n        startData = Optional.some(data);\n      };\n      const getStartData = () => startData;\n      const readState = constant$1({});\n      return nu$8({\n        readState,\n        reset,\n        update,\n        getStartData,\n        setStartData\n      });\n    };\n\n    var DragState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init$1\n    });\n\n    const Dragging = createModes({\n      branchKey: 'mode',\n      branches: DraggingBranches,\n      name: 'dragging',\n      active: {\n        events: (dragConfig, dragState) => {\n          const dragger = dragConfig.dragger;\n          return dragger.handlers(dragConfig, dragState);\n        }\n      },\n      extra: {\n        snap: sConfig => ({\n          sensor: sConfig.sensor,\n          range: sConfig.range,\n          output: sConfig.output,\n          extra: Optional.from(sConfig.extra)\n        })\n      },\n      state: DragState,\n      apis: DraggingApis\n    });\n\n    const snapWidth = 40;\n    const snapOffset = snapWidth / 2;\n    const calcSnap = (selectorOpt, td, x, y, width, height) => selectorOpt.fold(() => Dragging.snap({\n      sensor: absolute(x - snapOffset, y - snapOffset),\n      range: SugarPosition(width, height),\n      output: absolute(Optional.some(x), Optional.some(y)),\n      extra: {\n        td\n      }\n    }), selectorHandle => {\n      const sensorLeft = x - snapOffset;\n      const sensorTop = y - snapOffset;\n      const sensorWidth = snapWidth;\n      const sensorHeight = snapWidth;\n      const rect = selectorHandle.element.dom.getBoundingClientRect();\n      return Dragging.snap({\n        sensor: absolute(sensorLeft, sensorTop),\n        range: SugarPosition(sensorWidth, sensorHeight),\n        output: absolute(Optional.some(x - rect.width / 2), Optional.some(y - rect.height / 2)),\n        extra: {\n          td\n        }\n      });\n    });\n    const getSnapsConfig = (getSnapPoints, cell, onChange) => {\n      const isSameCell = (cellOpt, td) => cellOpt.exists(currentTd => eq(currentTd, td));\n      return {\n        getSnapPoints,\n        leftAttr: 'data-drag-left',\n        topAttr: 'data-drag-top',\n        onSensor: (component, extra) => {\n          const td = extra.td;\n          if (!isSameCell(cell.get(), td)) {\n            cell.set(td);\n            onChange(td);\n          }\n        },\n        mustSnap: true\n      };\n    };\n    const createSelector = snaps => record(Button.sketch({\n      dom: {\n        tag: 'div',\n        classes: ['tox-selector']\n      },\n      buttonBehaviours: derive$1([Dragging.config({\n        mode: 'mouseOrTouch',\n        blockerClass: 'blocker',\n        snaps\n      }), Unselecting.config({})]),\n      eventOrder: {\n        mousedown: ['dragging', 'alloy.base.behaviour'],\n        touchstart: ['dragging', 'alloy.base.behaviour']\n      }\n    }));\n    const setup$4 = (editor, sink) => {\n      const tlTds = Cell([]);\n      const brTds = Cell([]);\n      const isVisible = Cell(false);\n      const startCell = value$2();\n      const finishCell = value$2();\n      const getTopLeftSnap = td => {\n        const box = absolute$2(td);\n        return calcSnap(memTopLeft.getOpt(sink), td, box.x, box.y, box.width, box.height);\n      };\n      const getTopLeftSnaps = () => map$2(tlTds.get(), td => getTopLeftSnap(td));\n      const getBottomRightSnap = td => {\n        const box = absolute$2(td);\n        return calcSnap(memBottomRight.getOpt(sink), td, box.right, box.bottom, box.width, box.height);\n      };\n      const getBottomRightSnaps = () => map$2(brTds.get(), td => getBottomRightSnap(td));\n      const topLeftSnaps = getSnapsConfig(getTopLeftSnaps, startCell, start => {\n        finishCell.get().each(finish => {\n          editor.dispatch('TableSelectorChange', {\n            start,\n            finish\n          });\n        });\n      });\n      const bottomRightSnaps = getSnapsConfig(getBottomRightSnaps, finishCell, finish => {\n        startCell.get().each(start => {\n          editor.dispatch('TableSelectorChange', {\n            start,\n            finish\n          });\n        });\n      });\n      const memTopLeft = createSelector(topLeftSnaps);\n      const memBottomRight = createSelector(bottomRightSnaps);\n      const topLeft = build$1(memTopLeft.asSpec());\n      const bottomRight = build$1(memBottomRight.asSpec());\n      const showOrHideHandle = (selector, cell, isAbove, isBelow) => {\n        const cellRect = cell.dom.getBoundingClientRect();\n        remove$6(selector.element, 'display');\n        const viewportHeight = defaultView(SugarElement.fromDom(editor.getBody())).dom.innerHeight;\n        const aboveViewport = isAbove(cellRect);\n        const belowViewport = isBelow(cellRect, viewportHeight);\n        if (aboveViewport || belowViewport) {\n          set$8(selector.element, 'display', 'none');\n        }\n      };\n      const snapTo = (selector, cell, getSnapConfig, pos) => {\n        const snap = getSnapConfig(cell);\n        Dragging.snapTo(selector, snap);\n        const isAbove = rect => rect[pos] < 0;\n        const isBelow = (rect, viewportHeight) => rect[pos] > viewportHeight;\n        showOrHideHandle(selector, cell, isAbove, isBelow);\n      };\n      const snapTopLeft = cell => snapTo(topLeft, cell, getTopLeftSnap, 'top');\n      const snapLastTopLeft = () => startCell.get().each(snapTopLeft);\n      const snapBottomRight = cell => snapTo(bottomRight, cell, getBottomRightSnap, 'bottom');\n      const snapLastBottomRight = () => finishCell.get().each(snapBottomRight);\n      if (detect$2().deviceType.isTouch()) {\n        editor.on('TableSelectionChange', e => {\n          if (!isVisible.get()) {\n            attach(sink, topLeft);\n            attach(sink, bottomRight);\n            isVisible.set(true);\n          }\n          startCell.set(e.start);\n          finishCell.set(e.finish);\n          e.otherCells.each(otherCells => {\n            tlTds.set(otherCells.upOrLeftCells);\n            brTds.set(otherCells.downOrRightCells);\n            snapTopLeft(e.start);\n            snapBottomRight(e.finish);\n          });\n        });\n        editor.on('ResizeEditor ResizeWindow ScrollContent', () => {\n          snapLastTopLeft();\n          snapLastBottomRight();\n        });\n        editor.on('TableSelectionClear', () => {\n          if (isVisible.get()) {\n            detach(topLeft);\n            detach(bottomRight);\n            isVisible.set(false);\n          }\n          startCell.clear();\n          finishCell.clear();\n        });\n      }\n    };\n\n    var Logo = \"<svg width=\\\"50px\\\" height=\\\"16px\\\" viewBox=\\\"0 0 50 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M10.143 0c2.608.015 5.186 2.178 5.186 5.331 0 0 .077 3.812-.084 4.87-.361 2.41-2.164 4.074-4.65 4.496-1.453.284-2.523.49-3.212.623-.373.071-.634.122-.785.152-.184.038-.997.145-1.35.145-2.732 0-5.21-2.04-5.248-5.33 0 0 0-3.514.03-4.442.093-2.4 1.758-4.342 4.926-4.963 0 0 3.875-.752 4.036-.782.368-.07.775-.1 1.15-.1Zm1.826 2.8L5.83 3.989v2.393l-2.455.475v5.968l6.137-1.189V9.243l2.456-.476V2.8ZM5.83 6.382l3.682-.713v3.574l-3.682.713V6.382Zm27.173-1.64-.084-1.066h-2.226v9.132h2.456V7.743c-.008-1.151.998-2.064 2.149-2.072 1.15-.008 1.987.92 1.995 2.072v5.065h2.455V7.359c-.015-2.18-1.657-3.929-3.837-3.913a3.993 3.993 0 0 0-2.908 1.296Zm-6.3-4.266L29.16 0v2.387l-2.456.475V.476Zm0 3.2v9.132h2.456V3.676h-2.456Zm18.179 11.787L49.11 3.676H46.58l-1.612 4.527-.46 1.382-.384-1.382-1.611-4.527H39.98l3.3 9.132L42.15 16l2.732-.537ZM22.867 9.738c0 .752.568 1.075.921 1.075.353 0 .668-.047.998-.154l.537 1.765c-.23.154-.92.537-2.225.537-1.305 0-2.655-.997-2.686-2.686a136.877 136.877 0 0 1 0-4.374H18.8V3.676h1.612v-1.98l2.455-.476v2.456h2.302V5.9h-2.302v3.837Z\\\"/>\\n<\/svg>\\n\";\n\n    const isHidden = elm => elm.nodeName === 'BR' || !!elm.getAttribute('data-mce-bogus') || elm.getAttribute('data-mce-type') === 'bookmark';\n    const renderElementPath = (editor, settings, providersBackstage) => {\n      var _a;\n      const delimiter = (_a = settings.delimiter) !== null && _a !== void 0 ? _a : '\\u203A';\n      const renderElement = (name, element, index) => Button.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-statusbar__path-item'],\n          attributes: {\n            'data-index': index,\n            'aria-level': index + 1\n          }\n        },\n        components: [text$2(name)],\n        action: _btn => {\n          editor.focus();\n          editor.selection.select(element);\n          editor.nodeChanged();\n        },\n        buttonBehaviours: derive$1([DisablingConfigs.button(providersBackstage.isDisabled), receivingConfig()])\n      });\n      const renderDivider = () => ({\n        dom: {\n          tag: 'div',\n          classes: ['tox-statusbar__path-divider'],\n          attributes: {\n            'aria-hidden': true\n          }\n        },\n        components: [text$2(\" \".concat(delimiter, \" \"))]\n      });\n      const renderPathData = data => foldl(data, (acc, path, index) => {\n        const element = renderElement(path.name, path.element, index);\n        if (index === 0) {\n          return acc.concat([element]);\n        } else {\n          return acc.concat([renderDivider(), element]);\n        }\n      }, []);\n      const updatePath = parents => {\n        const newPath = [];\n        let i = parents.length;\n        while (i-- > 0) {\n          const parent = parents[i];\n          if (parent.nodeType === 1 && !isHidden(parent)) {\n            const args = fireResolveName(editor, parent);\n            if (!args.isDefaultPrevented()) {\n              newPath.push({\n                name: args.name,\n                element: parent\n              });\n            }\n            if (args.isPropagationStopped()) {\n              break;\n            }\n          }\n        }\n        return newPath;\n      };\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-statusbar__path'],\n          attributes: {\n            role: 'navigation'\n          }\n        },\n        behaviours: derive$1([Keying.config({\n          mode: 'flow',\n          selector: 'div[role=button]'\n        }), Disabling.config({\n          disabled: providersBackstage.isDisabled\n        }), receivingConfig(), Tabstopping.config({}), Replacing.config({}), config('elementPathEvents', [runOnAttached((comp, _e) => {\n          editor.shortcuts.add('alt+F11', 'focus statusbar elementpath', () => Keying.focusIn(comp));\n          editor.on('NodeChange', e => {\n            const newPath = updatePath(e.parents);\n            const newChildren = newPath.length > 0 ? renderPathData(newPath) : [];\n            Replacing.set(comp, newChildren);\n          });\n        })])]),\n        components: []\n      };\n    };\n\n    var ResizeTypes;\n    (function (ResizeTypes) {\n      ResizeTypes[ResizeTypes['None'] = 0] = 'None';\n      ResizeTypes[ResizeTypes['Both'] = 1] = 'Both';\n      ResizeTypes[ResizeTypes['Vertical'] = 2] = 'Vertical';\n    })(ResizeTypes || (ResizeTypes = {}));\n    const getDimensions = (editor, deltas, resizeType, originalHeight, originalWidth) => {\n      const dimensions = {\n        height: calcCappedSize(originalHeight + deltas.top, getMinHeightOption(editor), getMaxHeightOption(editor))\n      };\n      if (resizeType === ResizeTypes.Both) {\n        dimensions.width = calcCappedSize(originalWidth + deltas.left, getMinWidthOption(editor), getMaxWidthOption(editor));\n      }\n      return dimensions;\n    };\n    const resize = (editor, deltas, resizeType) => {\n      const container = SugarElement.fromDom(editor.getContainer());\n      const dimensions = getDimensions(editor, deltas, resizeType, get$d(container), get$c(container));\n      each(dimensions, (val, dim) => {\n        if (isNumber(val)) {\n          set$8(container, dim, numToPx(val));\n        }\n      });\n      fireResizeEditor(editor);\n    };\n\n    const getResizeType = editor => {\n      const resize = getResize(editor);\n      if (resize === false) {\n        return ResizeTypes.None;\n      } else if (resize === 'both') {\n        return ResizeTypes.Both;\n      } else {\n        return ResizeTypes.Vertical;\n      }\n    };\n    const keyboardHandler = (editor, resizeType, x, y) => {\n      const scale = 20;\n      const delta = SugarPosition(x * scale, y * scale);\n      resize(editor, delta, resizeType);\n      return Optional.some(true);\n    };\n    const renderResizeHandler = (editor, providersBackstage) => {\n      const resizeType = getResizeType(editor);\n      if (resizeType === ResizeTypes.None) {\n        return Optional.none();\n      }\n      const resizeLabel = resizeType === ResizeTypes.Both ? 'Press the arrow keys to resize the editor.' : 'Press the Up and Down arrow keys to resize the editor.';\n      return Optional.some(render$3('resize-handle', {\n        tag: 'div',\n        classes: ['tox-statusbar__resize-handle'],\n        attributes: {\n          'title': providersBackstage.translate('Resize'),\n          'aria-label': providersBackstage.translate(resizeLabel)\n        },\n        behaviours: [Dragging.config({\n          mode: 'mouse',\n          repositionTarget: false,\n          onDrag: (_comp, _target, delta) => resize(editor, delta, resizeType),\n          blockerClass: 'tox-blocker'\n        }), Keying.config({\n          mode: 'special',\n          onLeft: () => keyboardHandler(editor, resizeType, -1, 0),\n          onRight: () => keyboardHandler(editor, resizeType, 1, 0),\n          onUp: () => keyboardHandler(editor, resizeType, 0, -1),\n          onDown: () => keyboardHandler(editor, resizeType, 0, 1)\n        }), Tabstopping.config({}), Focusing.config({})]\n      }, providersBackstage.icons));\n    };\n\n    const renderWordCount = (editor, providersBackstage) => {\n      const replaceCountText = (comp, count, mode) => Replacing.set(comp, [text$2(providersBackstage.translate(['{0} ' + mode, count[mode]]))]);\n      return Button.sketch({\n        dom: {\n          tag: 'button',\n          classes: ['tox-statusbar__wordcount']\n        },\n        components: [],\n        buttonBehaviours: derive$1([DisablingConfigs.button(providersBackstage.isDisabled), receivingConfig(), Tabstopping.config({}), Replacing.config({}), Representing.config({\n          store: {\n            mode: 'memory',\n            initialValue: {\n              mode: 'words',\n              count: {\n                words: 0,\n                characters: 0\n              }\n            }\n          }\n        }), config('wordcount-events', [runOnExecute$1(comp => {\n          const currentVal = Representing.getValue(comp);\n          const newMode = currentVal.mode === 'words' ? 'characters' : 'words';\n          Representing.setValue(comp, {\n            mode: newMode,\n            count: currentVal.count\n          });\n          replaceCountText(comp, currentVal.count, newMode);\n        }), runOnAttached(comp => {\n          editor.on('wordCountUpdate', e => {\n            const {\n              mode\n            } = Representing.getValue(comp);\n            Representing.setValue(comp, {\n              mode,\n              count: e.wordCount\n            });\n            replaceCountText(comp, e.wordCount, mode);\n          });\n        })])]),\n        eventOrder: {\n          [execute$5()]: ['disabling', 'alloy.base.behaviour', 'wordcount-events']\n        }\n      });\n    };\n\n    const renderStatusbar = (editor, providersBackstage) => {\n      const renderBranding = () => {\n        return {\n          dom: {\n            tag: 'span',\n            classes: ['tox-statusbar__branding']\n          },\n          components: [{\n            dom: {\n              tag: 'a',\n              attributes: {\n                'href': 'https://www.tiny.cloud/powered-by-tiny?utm_campaign=poweredby&utm_source=tiny&utm_medium=referral&utm_content=v6',\n                'rel': 'noopener',\n                'target': '_blank',\n                'aria-label': global$8.translate(['Powered by {0}', 'Tiny'])\n              },\n              innerHtml: Logo.trim()\n            },\n            behaviours: derive$1([Focusing.config({})])\n          }]\n        };\n      };\n      const renderHelpAccessibility = () => {\n        const shortcutText = convertText('Alt+0');\n        const text = \"Press {0} for help\";\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-statusbar__help-text']\n          },\n          components: [text$2(global$8.translate([text, shortcutText]))]\n        };\n      };\n      const renderRightContainer = () => {\n        const components = [];\n        if (editor.hasPlugin('wordcount')) {\n          components.push(renderWordCount(editor, providersBackstage));\n        }\n        if (useBranding(editor)) {\n          components.push(renderBranding());\n        }\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-statusbar__right-container']\n          },\n          components\n        };\n      };\n      const getTextComponents = () => {\n        const components = [];\n        const shouldRenderHelp = useHelpAccessibility(editor);\n        const shouldRenderElementPath = useElementPath(editor);\n        const shouldRenderRightContainer = useBranding(editor) || editor.hasPlugin('wordcount');\n        const getTextComponentClasses = () => {\n          const flexStart = 'tox-statusbar__text-container--flex-start';\n          const flexEnd = 'tox-statusbar__text-container--flex-end';\n          const spaceAround = 'tox-statusbar__text-container--space-around';\n          if (shouldRenderHelp) {\n            const container3Columns = 'tox-statusbar__text-container-3-cols';\n            if (!shouldRenderRightContainer && !shouldRenderElementPath) {\n              return [container3Columns, spaceAround];\n            }\n            if (shouldRenderRightContainer && !shouldRenderElementPath) {\n              return [container3Columns, flexEnd];\n            }\n            return [container3Columns, flexStart];\n          }\n          return [shouldRenderRightContainer && !shouldRenderElementPath ? flexEnd : flexStart];\n        };\n        if (shouldRenderElementPath) {\n          components.push(renderElementPath(editor, {}, providersBackstage));\n        }\n        if (shouldRenderHelp) {\n          components.push(renderHelpAccessibility());\n        }\n        if (shouldRenderRightContainer) {\n          components.push(renderRightContainer());\n        }\n        if (components.length > 0) {\n          return [{\n            dom: {\n              tag: 'div',\n              classes: ['tox-statusbar__text-container', ...getTextComponentClasses()]\n            },\n            components\n          }];\n        }\n        return [];\n      };\n      const getComponents = () => {\n        const components = getTextComponents();\n        const resizeHandler = renderResizeHandler(editor, providersBackstage);\n        return components.concat(resizeHandler.toArray());\n      };\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-statusbar']\n        },\n        components: getComponents()\n      };\n    };\n\n    const getLazyMothership = (label, singleton) => singleton.get().getOrDie(\"UI for \".concat(label, \" has not been rendered\"));\n    const setup$3 = (editor, setupForTheme) => {\n      const isInline = editor.inline;\n      const mode = isInline ? Inline : Iframe;\n      const header = isStickyToolbar(editor) ? StickyHeader : StaticHeader;\n      const lazyUiRefs = LazyUiReferences();\n      const lazyMothership = value$2();\n      const lazyDialogMothership = value$2();\n      const lazyPopupMothership = value$2();\n      const platform = detect$2();\n      const isTouch = platform.deviceType.isTouch();\n      const touchPlatformClass = 'tox-platform-touch';\n      const deviceClasses = isTouch ? [touchPlatformClass] : [];\n      const isToolbarBottom = isToolbarLocationBottom(editor);\n      const toolbarMode = getToolbarMode(editor);\n      const memAnchorBar = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-anchorbar']\n        }\n      });\n      const memBottomAnchorBar = record({\n        dom: {\n          tag: 'div',\n          classes: ['tox-bottom-anchorbar']\n        }\n      });\n      const lazyHeader = () => lazyUiRefs.mainUi.get().map(ui => ui.outerContainer).bind(OuterContainer.getHeader);\n      const lazyDialogSinkResult = () => Result.fromOption(lazyUiRefs.dialogUi.get().map(ui => ui.sink), 'UI has not been rendered');\n      const lazyPopupSinkResult = () => Result.fromOption(lazyUiRefs.popupUi.get().map(ui => ui.sink), '(popup) UI has not been rendered');\n      const lazyAnchorBar = lazyUiRefs.lazyGetInOuterOrDie('anchor bar', memAnchorBar.getOpt);\n      const lazyBottomAnchorBar = lazyUiRefs.lazyGetInOuterOrDie('bottom anchor bar', memBottomAnchorBar.getOpt);\n      const lazyToolbar = lazyUiRefs.lazyGetInOuterOrDie('toolbar', OuterContainer.getToolbar);\n      const lazyThrobber = lazyUiRefs.lazyGetInOuterOrDie('throbber', OuterContainer.getThrobber);\n      const backstages = init$6({\n        popup: lazyPopupSinkResult,\n        dialog: lazyDialogSinkResult\n      }, editor, lazyAnchorBar, lazyBottomAnchorBar);\n      const makeHeaderPart = () => {\n        const verticalDirAttributes = {\n          attributes: {\n            [Attribute]: isToolbarBottom ? AttributeValue.BottomToTop : AttributeValue.TopToBottom\n          }\n        };\n        const partMenubar = OuterContainer.parts.menubar({\n          dom: {\n            tag: 'div',\n            classes: ['tox-menubar']\n          },\n          backstage: backstages.popup,\n          onEscape: () => {\n            editor.focus();\n          }\n        });\n        const partToolbar = OuterContainer.parts.toolbar({\n          dom: {\n            tag: 'div',\n            classes: ['tox-toolbar']\n          },\n          getSink: backstages.popup.shared.getSink,\n          providers: backstages.popup.shared.providers,\n          onEscape: () => {\n            editor.focus();\n          },\n          onToolbarToggled: state => {\n            fireToggleToolbarDrawer(editor, state);\n          },\n          type: toolbarMode,\n          lazyToolbar,\n          lazyHeader: () => lazyHeader().getOrDie('Could not find header element'),\n          ...verticalDirAttributes\n        });\n        const partMultipleToolbar = OuterContainer.parts['multiple-toolbar']({\n          dom: {\n            tag: 'div',\n            classes: ['tox-toolbar-overlord']\n          },\n          providers: backstages.popup.shared.providers,\n          onEscape: () => {\n            editor.focus();\n          },\n          type: toolbarMode\n        });\n        const hasMultipleToolbar = isMultipleToolbars(editor);\n        const hasToolbar = isToolbarEnabled(editor);\n        const hasMenubar = isMenubarEnabled(editor);\n        const shouldHavePromotion = promotionEnabled(editor);\n        const partPromotion = makePromotion();\n        const hasAnyContents = hasMultipleToolbar || hasToolbar || hasMenubar;\n        const getPartToolbar = () => {\n          if (hasMultipleToolbar) {\n            return [partMultipleToolbar];\n          } else if (hasToolbar) {\n            return [partToolbar];\n          } else {\n            return [];\n          }\n        };\n        const menubarCollection = shouldHavePromotion ? [partPromotion, partMenubar] : [partMenubar];\n        return OuterContainer.parts.header({\n          dom: {\n            tag: 'div',\n            classes: ['tox-editor-header'].concat(hasAnyContents ? [] : ['tox-editor-header--empty']),\n            ...verticalDirAttributes\n          },\n          components: flatten([hasMenubar ? menubarCollection : [], getPartToolbar(), useFixedContainer(editor) ? [] : [memAnchorBar.asSpec()]]),\n          sticky: isStickyToolbar(editor),\n          editor,\n          sharedBackstage: backstages.popup.shared\n        });\n      };\n      const makePromotion = () => {\n        return OuterContainer.parts.promotion({\n          dom: {\n            tag: 'div',\n            classes: ['tox-promotion']\n          }\n        });\n      };\n      const makeSidebarDefinition = () => {\n        const partSocket = OuterContainer.parts.socket({\n          dom: {\n            tag: 'div',\n            classes: ['tox-edit-area']\n          }\n        });\n        const partSidebar = OuterContainer.parts.sidebar({\n          dom: {\n            tag: 'div',\n            classes: ['tox-sidebar']\n          }\n        });\n        return {\n          dom: {\n            tag: 'div',\n            classes: ['tox-sidebar-wrap']\n          },\n          components: [partSocket, partSidebar]\n        };\n      };\n      const renderDialogUi = () => {\n        const uiContainer = getUiContainer(editor);\n        const isGridUiContainer = eq(body(), uiContainer) && get$e(uiContainer, 'display') === 'grid';\n        const sinkSpec = {\n          dom: {\n            tag: 'div',\n            classes: ['tox', 'tox-silver-sink', 'tox-tinymce-aux'].concat(deviceClasses),\n            attributes: {\n              ...(global$8.isRtl() ? {\n                dir: 'rtl'\n              } : {})\n            }\n          },\n          behaviours: derive$1([Positioning.config({\n            useFixed: () => header.isDocked(lazyHeader)\n          })])\n        };\n        const reactiveWidthSpec = {\n          dom: {\n            styles: {\n              width: document.body.clientWidth + 'px'\n            }\n          },\n          events: derive$2([run$1(windowResize(), comp => {\n            set$8(comp.element, 'width', document.body.clientWidth + 'px');\n          })])\n        };\n        const sink = build$1(deepMerge(sinkSpec, isGridUiContainer ? reactiveWidthSpec : {}));\n        const uiMothership = takeover(sink);\n        lazyDialogMothership.set(uiMothership);\n        return {\n          sink,\n          mothership: uiMothership\n        };\n      };\n      const renderPopupUi = () => {\n        const sinkSpec = {\n          dom: {\n            tag: 'div',\n            classes: ['tox', 'tox-silver-sink', 'tox-silver-popup-sink', 'tox-tinymce-aux'].concat(deviceClasses),\n            attributes: {\n              ...(global$8.isRtl() ? {\n                dir: 'rtl'\n              } : {})\n            }\n          },\n          behaviours: derive$1([Positioning.config({\n            useFixed: () => header.isDocked(lazyHeader),\n            getBounds: () => setupForTheme.getPopupSinkBounds()\n          })])\n        };\n        const sink = build$1(sinkSpec);\n        const uiMothership = takeover(sink);\n        lazyPopupMothership.set(uiMothership);\n        return {\n          sink,\n          mothership: uiMothership\n        };\n      };\n      const renderMainUi = () => {\n        const partHeader = makeHeaderPart();\n        const sidebarContainer = makeSidebarDefinition();\n        const partThrobber = OuterContainer.parts.throbber({\n          dom: {\n            tag: 'div',\n            classes: ['tox-throbber']\n          },\n          backstage: backstages.popup\n        });\n        const partViewWrapper = OuterContainer.parts.viewWrapper({\n          backstage: backstages.popup\n        });\n        const statusbar = useStatusBar(editor) && !isInline ? Optional.some(renderStatusbar(editor, backstages.popup.shared.providers)) : Optional.none();\n        const editorComponents = flatten([isToolbarBottom ? [] : [partHeader], isInline ? [] : [sidebarContainer], isToolbarBottom ? [partHeader] : []]);\n        const editorContainer = OuterContainer.parts.editorContainer({\n          components: flatten([editorComponents, isInline ? [] : [memBottomAnchorBar.asSpec(), ...statusbar.toArray()]])\n        });\n        const isHidden = isDistractionFree(editor);\n        const attributes = {\n          role: 'application',\n          ...(global$8.isRtl() ? {\n            dir: 'rtl'\n          } : {}),\n          ...(isHidden ? {\n            'aria-hidden': 'true'\n          } : {})\n        };\n        const outerContainer = build$1(OuterContainer.sketch({\n          dom: {\n            tag: 'div',\n            classes: ['tox', 'tox-tinymce'].concat(isInline ? ['tox-tinymce-inline'] : []).concat(isToolbarBottom ? ['tox-tinymce--toolbar-bottom'] : []).concat(deviceClasses),\n            styles: {\n              visibility: 'hidden',\n              ...(isHidden ? {\n                opacity: '0',\n                border: '0'\n              } : {})\n            },\n            attributes\n          },\n          components: [editorContainer, ...(isInline ? [] : [partViewWrapper]), partThrobber],\n          behaviours: derive$1([receivingConfig(), Disabling.config({\n            disableClass: 'tox-tinymce--disabled'\n          }), Keying.config({\n            mode: 'cyclic',\n            selector: '.tox-menubar, .tox-toolbar, .tox-toolbar__primary, .tox-toolbar__overflow--open, .tox-sidebar__overflow--open, .tox-statusbar__path, .tox-statusbar__wordcount, .tox-statusbar__branding a, .tox-statusbar__resize-handle'\n          })])\n        }));\n        const mothership = takeover(outerContainer);\n        lazyMothership.set(mothership);\n        return {\n          mothership,\n          outerContainer\n        };\n      };\n      const setEditorSize = outerContainer => {\n        const parsedHeight = numToPx(getHeightWithFallback(editor));\n        const parsedWidth = numToPx(getWidthWithFallback(editor));\n        if (!editor.inline) {\n          if (isValidValue$1('div', 'width', parsedWidth)) {\n            set$8(outerContainer.element, 'width', parsedWidth);\n          }\n          if (isValidValue$1('div', 'height', parsedHeight)) {\n            set$8(outerContainer.element, 'height', parsedHeight);\n          } else {\n            set$8(outerContainer.element, 'height', '400px');\n          }\n        }\n        return parsedHeight;\n      };\n      const setupShortcutsAndCommands = outerContainer => {\n        editor.addShortcut('alt+F9', 'focus menubar', () => {\n          OuterContainer.focusMenubar(outerContainer);\n        });\n        editor.addShortcut('alt+F10', 'focus toolbar', () => {\n          OuterContainer.focusToolbar(outerContainer);\n        });\n        editor.addCommand('ToggleToolbarDrawer', (_ui, options) => {\n          if (options === null || options === void 0 ? void 0 : options.skipFocus) {\n            OuterContainer.toggleToolbarDrawerWithoutFocusing(outerContainer);\n          } else {\n            OuterContainer.toggleToolbarDrawer(outerContainer);\n          }\n        });\n        editor.addQueryStateHandler('ToggleToolbarDrawer', () => OuterContainer.isToolbarDrawerToggled(outerContainer));\n      };\n      const renderUIWithRefs = uiRefs => {\n        const {\n          mainUi,\n          popupUi,\n          uiMotherships\n        } = uiRefs;\n        map$1(getToolbarGroups(editor), (toolbarGroupButtonConfig, name) => {\n          editor.ui.registry.addGroupToolbarButton(name, toolbarGroupButtonConfig);\n        });\n        const {\n          buttons,\n          menuItems,\n          contextToolbars,\n          sidebars,\n          views\n        } = editor.ui.registry.getAll();\n        const toolbarOpt = getMultipleToolbarsOption(editor);\n        const rawUiConfig = {\n          menuItems,\n          menus: getMenus(editor),\n          menubar: getMenubar(editor),\n          toolbar: toolbarOpt.getOrThunk(() => getToolbar(editor)),\n          allowToolbarGroups: toolbarMode === ToolbarMode$1.floating,\n          buttons,\n          sidebar: sidebars,\n          views\n        };\n        setupShortcutsAndCommands(mainUi.outerContainer);\n        setup$b(editor, mainUi.mothership, uiMotherships);\n        header.setup(editor, backstages.popup.shared, lazyHeader);\n        setup$6(editor, backstages.popup);\n        setup$5(editor, backstages.popup.shared.getSink, backstages.popup);\n        setup$8(editor);\n        setup$7(editor, lazyThrobber, backstages.popup.shared);\n        register$9(editor, contextToolbars, popupUi.sink, {\n          backstage: backstages.popup\n        });\n        setup$4(editor, popupUi.sink);\n        const elm = editor.getElement();\n        const height = setEditorSize(mainUi.outerContainer);\n        const args = {\n          targetNode: elm,\n          height\n        };\n        return mode.render(editor, uiRefs, rawUiConfig, backstages.popup, args);\n      };\n      const reuseDialogUiForPopuUi = dialogUi => {\n        lazyPopupMothership.set(dialogUi.mothership);\n        return dialogUi;\n      };\n      const renderUI = () => {\n        const mainUi = renderMainUi();\n        const dialogUi = renderDialogUi();\n        const popupUi = isSplitUiMode(editor) ? renderPopupUi() : reuseDialogUiForPopuUi(dialogUi);\n        lazyUiRefs.dialogUi.set(dialogUi);\n        lazyUiRefs.popupUi.set(popupUi);\n        lazyUiRefs.mainUi.set(mainUi);\n        const uiRefs = {\n          popupUi,\n          dialogUi,\n          mainUi,\n          uiMotherships: lazyUiRefs.getUiMotherships()\n        };\n        return renderUIWithRefs(uiRefs);\n      };\n      return {\n        popups: {\n          backstage: backstages.popup,\n          getMothership: () => getLazyMothership('popups', lazyPopupMothership)\n        },\n        dialogs: {\n          backstage: backstages.dialog,\n          getMothership: () => getLazyMothership('dialogs', lazyDialogMothership)\n        },\n        renderUI\n      };\n    };\n\n    const labelledBy = (labelledElement, labelElement) => {\n      const labelId = getOpt(labelledElement, 'id').fold(() => {\n        const id = generate$6('dialog-label');\n        set$9(labelElement, 'id', id);\n        return id;\n      }, identity);\n      set$9(labelledElement, 'aria-labelledby', labelId);\n    };\n\n    const schema$2 = constant$1([required$1('lazySink'), option$3('dragBlockClass'), defaultedFunction('getBounds', win), defaulted('useTabstopAt', always), defaulted('firstTabstop', 0), defaulted('eventOrder', {}), field('modalBehaviours', [Keying]), onKeyboardHandler('onExecute'), onStrictKeyboardHandler('onEscape')]);\n    const basic = {\n      sketch: identity\n    };\n    const parts$2 = constant$1([optional({\n      name: 'draghandle',\n      overrides: (detail, spec) => {\n        return {\n          behaviours: derive$1([Dragging.config({\n            mode: 'mouse',\n            getTarget: handle => {\n              return ancestor(handle, '[role=\"dialog\"]').getOr(handle);\n            },\n            blockerClass: detail.dragBlockClass.getOrDie(new Error('The drag blocker class was not specified for a dialog with a drag handle: \\n' + JSON.stringify(spec, null, 2)).message),\n            getBounds: detail.getDragBounds\n          })])\n        };\n      }\n    }), required({\n      schema: [required$1('dom')],\n      name: 'title'\n    }), required({\n      factory: basic,\n      schema: [required$1('dom')],\n      name: 'close'\n    }), required({\n      factory: basic,\n      schema: [required$1('dom')],\n      name: 'body'\n    }), optional({\n      factory: basic,\n      schema: [required$1('dom')],\n      name: 'footer'\n    }), external({\n      factory: {\n        sketch: (spec, detail) => ({\n          ...spec,\n          dom: detail.dom,\n          components: detail.components\n        })\n      },\n      schema: [defaulted('dom', {\n        tag: 'div',\n        styles: {\n          position: 'fixed',\n          left: '0px',\n          top: '0px',\n          right: '0px',\n          bottom: '0px'\n        }\n      }), defaulted('components', [])],\n      name: 'blocker'\n    })]);\n\n    const factory$4 = (detail, components, spec, externals) => {\n      const dialogComp = value$2();\n      const showDialog = dialog => {\n        dialogComp.set(dialog);\n        const sink = detail.lazySink(dialog).getOrDie();\n        const externalBlocker = externals.blocker();\n        const blocker = sink.getSystem().build({\n          ...externalBlocker,\n          components: externalBlocker.components.concat([premade(dialog)]),\n          behaviours: derive$1([Focusing.config({}), config('dialog-blocker-events', [runOnSource(focusin(), () => {\n            Blocking.isBlocked(dialog) ? noop() : Keying.focusIn(dialog);\n          })])])\n        });\n        attach(sink, blocker);\n        Keying.focusIn(dialog);\n      };\n      const hideDialog = dialog => {\n        dialogComp.clear();\n        parent(dialog.element).each(blockerDom => {\n          dialog.getSystem().getByDom(blockerDom).each(blocker => {\n            detach(blocker);\n          });\n        });\n      };\n      const getDialogBody = dialog => getPartOrDie(dialog, detail, 'body');\n      const getDialogFooter = dialog => getPart(dialog, detail, 'footer');\n      const setBusy = (dialog, getBusySpec) => {\n        Blocking.block(dialog, getBusySpec);\n      };\n      const setIdle = dialog => {\n        Blocking.unblock(dialog);\n      };\n      const modalEventsId = generate$6('modal-events');\n      const eventOrder = {\n        ...detail.eventOrder,\n        [attachedToDom()]: [modalEventsId].concat(detail.eventOrder['alloy.system.attached'] || [])\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        apis: {\n          show: showDialog,\n          hide: hideDialog,\n          getBody: getDialogBody,\n          getFooter: getDialogFooter,\n          setIdle,\n          setBusy\n        },\n        eventOrder,\n        domModification: {\n          attributes: {\n            'role': 'dialog',\n            'aria-modal': 'true'\n          }\n        },\n        behaviours: augment(detail.modalBehaviours, [Replacing.config({}), Keying.config({\n          mode: 'cyclic',\n          onEnter: detail.onExecute,\n          onEscape: detail.onEscape,\n          useTabstopAt: detail.useTabstopAt,\n          firstTabstop: detail.firstTabstop\n        }), Blocking.config({\n          getRoot: dialogComp.get\n        }), config(modalEventsId, [runOnAttached(c => {\n          labelledBy(c.element, getPartOrDie(c, detail, 'title').element);\n        })])])\n      };\n    };\n    const ModalDialog = composite({\n      name: 'ModalDialog',\n      configFields: schema$2(),\n      partFields: parts$2(),\n      factory: factory$4,\n      apis: {\n        show: (apis, dialog) => {\n          apis.show(dialog);\n        },\n        hide: (apis, dialog) => {\n          apis.hide(dialog);\n        },\n        getBody: (apis, dialog) => apis.getBody(dialog),\n        getFooter: (apis, dialog) => apis.getFooter(dialog),\n        setBusy: (apis, dialog, getBusySpec) => {\n          apis.setBusy(dialog, getBusySpec);\n        },\n        setIdle: (apis, dialog) => {\n          apis.setIdle(dialog);\n        }\n      }\n    });\n\n    const dialogToggleMenuItemSchema = objOf([type, name$1].concat(commonMenuItemFields));\n    const dialogToggleMenuItemDataProcessor = boolean;\n\n    const baseFooterButtonFields = [generatedName('button'), optionalIcon, defaultedStringEnum('align', 'end', ['start', 'end']), primary, enabled, optionStringEnum('buttonType', ['primary', 'secondary'])];\n    const dialogFooterButtonFields = [...baseFooterButtonFields, text];\n    const normalFooterButtonFields = [requiredStringEnum('type', ['submit', 'cancel', 'custom']), ...dialogFooterButtonFields];\n    const menuFooterButtonFields = [requiredStringEnum('type', ['menu']), optionalText, optionalTooltip, optionalIcon, requiredArrayOf('items', dialogToggleMenuItemSchema), ...baseFooterButtonFields];\n    const toggleButtonSpecFields = [...baseFooterButtonFields, requiredStringEnum('type', ['togglebutton']), requiredString('tooltip'), optionalIcon, optionalText, defaultedBoolean('active', false)];\n    const dialogFooterButtonSchema = choose$1('type', {\n      submit: normalFooterButtonFields,\n      cancel: normalFooterButtonFields,\n      custom: normalFooterButtonFields,\n      menu: menuFooterButtonFields,\n      togglebutton: toggleButtonSpecFields\n    });\n\n    const alertBannerFields = [type, text, requiredStringEnum('level', ['info', 'warn', 'error', 'success']), icon, defaulted('url', '')];\n    const alertBannerSchema = objOf(alertBannerFields);\n\n    const createBarFields = itemsField => [type, itemsField];\n\n    const buttonFields = [type, text, enabled, generatedName('button'), optionalIcon, borderless, optionStringEnum('buttonType', ['primary', 'secondary', 'toolbar']), primary];\n    const buttonSchema = objOf(buttonFields);\n\n    const formComponentFields = [type, name$1];\n    const formComponentWithLabelFields = formComponentFields.concat([optionalLabel]);\n\n    const checkboxFields = formComponentFields.concat([label, enabled]);\n    const checkboxSchema = objOf(checkboxFields);\n    const checkboxDataProcessor = boolean;\n\n    const collectionFields = formComponentWithLabelFields.concat([defaultedColumns('auto')]);\n    const collectionSchema = objOf(collectionFields);\n    const collectionDataProcessor = arrOfObj([value$1, text, icon]);\n\n    const colorInputFields = formComponentWithLabelFields.concat([defaultedString('storageKey', 'default')]);\n    const colorInputSchema = objOf(colorInputFields);\n    const colorInputDataProcessor = string;\n\n    const colorPickerFields = formComponentWithLabelFields;\n    const colorPickerSchema = objOf(colorPickerFields);\n    const colorPickerDataProcessor = string;\n\n    const customEditorFields = formComponentFields.concat([defaultedString('tag', 'textarea'), requiredString('scriptId'), requiredString('scriptUrl'), defaultedPostMsg('settings', undefined)]);\n    const customEditorFieldsOld = formComponentFields.concat([defaultedString('tag', 'textarea'), requiredFunction('init')]);\n    const customEditorSchema = valueOf(v => asRaw('customeditor.old', objOfOnly(customEditorFieldsOld), v).orThunk(() => asRaw('customeditor.new', objOfOnly(customEditorFields), v)));\n    const customEditorDataProcessor = string;\n\n    const dropZoneFields = formComponentWithLabelFields;\n    const dropZoneSchema = objOf(dropZoneFields);\n    const dropZoneDataProcessor = arrOfVal();\n\n    const createGridFields = itemsField => [type, requiredNumber('columns'), itemsField];\n\n    const htmlPanelFields = [type, requiredString('html'), defaultedStringEnum('presets', 'presentation', ['presentation', 'document'])];\n    const htmlPanelSchema = objOf(htmlPanelFields);\n\n    const iframeFields = formComponentWithLabelFields.concat([defaultedBoolean('border', false), defaultedBoolean('sandboxed', true), defaultedBoolean('streamContent', false), defaultedBoolean('transparent', true)]);\n    const iframeSchema = objOf(iframeFields);\n    const iframeDataProcessor = string;\n\n    const imagePreviewSchema = objOf(formComponentFields.concat([optionString('height')]));\n    const imagePreviewDataProcessor = objOf([requiredString('url'), optionNumber('zoom'), optionNumber('cachedWidth'), optionNumber('cachedHeight')]);\n\n    const inputFields = formComponentWithLabelFields.concat([optionString('inputMode'), optionString('placeholder'), defaultedBoolean('maximized', false), enabled]);\n    const inputSchema = objOf(inputFields);\n    const inputDataProcessor = string;\n\n    const createLabelFields = itemsField => [type, label, itemsField, defaultedStringEnum('align', 'start', ['start', 'center', 'end'])];\n\n    const listBoxSingleItemFields = [text, value$1];\n    const listBoxNestedItemFields = [text, requiredArrayOf('items', thunkOf('items', () => listBoxItemSchema))];\n    const listBoxItemSchema = oneOf([objOf(listBoxSingleItemFields), objOf(listBoxNestedItemFields)]);\n    const listBoxFields = formComponentWithLabelFields.concat([requiredArrayOf('items', listBoxItemSchema), enabled]);\n    const listBoxSchema = objOf(listBoxFields);\n    const listBoxDataProcessor = string;\n\n    const selectBoxFields = formComponentWithLabelFields.concat([requiredArrayOfObj('items', [text, value$1]), defaultedNumber('size', 1), enabled]);\n    const selectBoxSchema = objOf(selectBoxFields);\n    const selectBoxDataProcessor = string;\n\n    const sizeInputFields = formComponentWithLabelFields.concat([defaultedBoolean('constrain', true), enabled]);\n    const sizeInputSchema = objOf(sizeInputFields);\n    const sizeInputDataProcessor = objOf([requiredString('width'), requiredString('height')]);\n\n    const sliderFields = formComponentFields.concat([label, defaultedNumber('min', 0), defaultedNumber('max', 0)]);\n    const sliderSchema = objOf(sliderFields);\n    const sliderInputDataProcessor = number;\n\n    const tableFields = [type, requiredArrayOf('header', string), requiredArrayOf('cells', arrOf(string))];\n    const tableSchema = objOf(tableFields);\n\n    const textAreaFields = formComponentWithLabelFields.concat([optionString('placeholder'), defaultedBoolean('maximized', false), enabled]);\n    const textAreaSchema = objOf(textAreaFields);\n    const textAreaDataProcessor = string;\n\n    const baseTreeItemFields = [requiredStringEnum('type', ['directory', 'leaf']), title, requiredString('id'), optionOf('menu', MenuButtonSchema)];\n    const treeItemLeafFields = baseTreeItemFields;\n    const treeItemLeafSchema = objOf(treeItemLeafFields);\n    const treeItemDirectoryFields = baseTreeItemFields.concat([requiredArrayOf('children', thunkOf('children', () => {\n      return choose$2('type', {\n        directory: treeItemDirectorySchema,\n        leaf: treeItemLeafSchema\n      });\n    }))]);\n    const treeItemDirectorySchema = objOf(treeItemDirectoryFields);\n    const treeItemSchema = choose$2('type', {\n      directory: treeItemDirectorySchema,\n      leaf: treeItemLeafSchema\n    });\n    const treeFields = [type, requiredArrayOf('items', treeItemSchema), optionFunction('onLeafAction'), optionFunction('onToggleExpand'), defaultedArrayOf('defaultExpandedIds', [], string), optionString('defaultSelectedId')];\n    const treeSchema = objOf(treeFields);\n\n    const urlInputFields = formComponentWithLabelFields.concat([defaultedStringEnum('filetype', 'file', ['image', 'media', 'file']), enabled, optionString('picker_text')]);\n    const urlInputSchema = objOf(urlInputFields);\n    const urlInputDataProcessor = objOf([value$1, defaultedMeta]);\n\n    const createItemsField = name => field$1('items', 'items', required$2(), arrOf(valueOf(v => asRaw(\"Checking item of \".concat(name), itemSchema, v).fold(sErr => Result.error(formatError(sErr)), passValue => Result.value(passValue)))));\n    const itemSchema = valueThunk(() => choose$2('type', {\n      alertbanner: alertBannerSchema,\n      bar: objOf(createBarFields(createItemsField('bar'))),\n      button: buttonSchema,\n      checkbox: checkboxSchema,\n      colorinput: colorInputSchema,\n      colorpicker: colorPickerSchema,\n      dropzone: dropZoneSchema,\n      grid: objOf(createGridFields(createItemsField('grid'))),\n      iframe: iframeSchema,\n      input: inputSchema,\n      listbox: listBoxSchema,\n      selectbox: selectBoxSchema,\n      sizeinput: sizeInputSchema,\n      slider: sliderSchema,\n      textarea: textAreaSchema,\n      urlinput: urlInputSchema,\n      customeditor: customEditorSchema,\n      htmlpanel: htmlPanelSchema,\n      imagepreview: imagePreviewSchema,\n      collection: collectionSchema,\n      label: objOf(createLabelFields(createItemsField('label'))),\n      table: tableSchema,\n      tree: treeSchema,\n      panel: panelSchema\n    }));\n    const panelFields = [type, defaulted('classes', []), requiredArrayOf('items', itemSchema)];\n    const panelSchema = objOf(panelFields);\n\n    const tabFields = [generatedName('tab'), title, requiredArrayOf('items', itemSchema)];\n    const tabPanelFields = [type, requiredArrayOfObj('tabs', tabFields)];\n    const tabPanelSchema = objOf(tabPanelFields);\n\n    const dialogButtonFields = dialogFooterButtonFields;\n    const dialogButtonSchema = dialogFooterButtonSchema;\n    const dialogSchema = objOf([requiredString('title'), requiredOf('body', choose$2('type', {\n      panel: panelSchema,\n      tabpanel: tabPanelSchema\n    })), defaultedString('size', 'normal'), defaultedArrayOf('buttons', [], dialogButtonSchema), defaulted('initialData', {}), defaultedFunction('onAction', noop), defaultedFunction('onChange', noop), defaultedFunction('onSubmit', noop), defaultedFunction('onClose', noop), defaultedFunction('onCancel', noop), defaultedFunction('onTabChange', noop)]);\n    const createDialog = spec => asRaw('dialog', dialogSchema, spec);\n\n    const urlDialogButtonSchema = objOf([requiredStringEnum('type', ['cancel', 'custom']), ...dialogButtonFields]);\n    const urlDialogSchema = objOf([requiredString('title'), requiredString('url'), optionNumber('height'), optionNumber('width'), optionArrayOf('buttons', urlDialogButtonSchema), defaultedFunction('onAction', noop), defaultedFunction('onCancel', noop), defaultedFunction('onClose', noop), defaultedFunction('onMessage', noop)]);\n    const createUrlDialog = spec => asRaw('dialog', urlDialogSchema, spec);\n\n    const getAllObjects = obj => {\n      if (isObject(obj)) {\n        return [obj].concat(bind$3(values(obj), getAllObjects));\n      } else if (isArray(obj)) {\n        return bind$3(obj, getAllObjects);\n      } else {\n        return [];\n      }\n    };\n\n    const isNamedItem = obj => isString(obj.type) && isString(obj.name);\n    const dataProcessors = {\n      checkbox: checkboxDataProcessor,\n      colorinput: colorInputDataProcessor,\n      colorpicker: colorPickerDataProcessor,\n      dropzone: dropZoneDataProcessor,\n      input: inputDataProcessor,\n      iframe: iframeDataProcessor,\n      imagepreview: imagePreviewDataProcessor,\n      selectbox: selectBoxDataProcessor,\n      sizeinput: sizeInputDataProcessor,\n      slider: sliderInputDataProcessor,\n      listbox: listBoxDataProcessor,\n      size: sizeInputDataProcessor,\n      textarea: textAreaDataProcessor,\n      urlinput: urlInputDataProcessor,\n      customeditor: customEditorDataProcessor,\n      collection: collectionDataProcessor,\n      togglemenuitem: dialogToggleMenuItemDataProcessor\n    };\n    const getDataProcessor = item => Optional.from(dataProcessors[item.type]);\n    const getNamedItems = structure => filter$2(getAllObjects(structure), isNamedItem);\n\n    const createDataValidator = structure => {\n      const namedItems = getNamedItems(structure);\n      const fields = bind$3(namedItems, item => getDataProcessor(item).fold(() => [], schema => [requiredOf(item.name, schema)]));\n      return objOf(fields);\n    };\n\n    const extract = structure => {\n      var _a;\n      const internalDialog = getOrDie(createDialog(structure));\n      const dataValidator = createDataValidator(structure);\n      const initialData = (_a = structure.initialData) !== null && _a !== void 0 ? _a : {};\n      return {\n        internalDialog,\n        dataValidator,\n        initialData\n      };\n    };\n    const DialogManager = {\n      open: (factory, structure) => {\n        const extraction = extract(structure);\n        return factory(extraction.internalDialog, extraction.initialData, extraction.dataValidator);\n      },\n      openUrl: (factory, structure) => {\n        const internalDialog = getOrDie(createUrlDialog(structure));\n        return factory(internalDialog);\n      },\n      redial: structure => extract(structure)\n    };\n\n    const events = (reflectingConfig, reflectingState) => {\n      const update = (component, data) => {\n        reflectingConfig.updateState.each(updateState => {\n          const newState = updateState(component, data);\n          reflectingState.set(newState);\n        });\n        reflectingConfig.renderComponents.each(renderComponents => {\n          const newComponents = renderComponents(data, reflectingState.get());\n          const replacer = reflectingConfig.reuseDom ? withReuse : withoutReuse;\n          replacer(component, newComponents);\n        });\n      };\n      return derive$2([run$1(receive(), (component, message) => {\n        const receivingData = message;\n        if (!receivingData.universal) {\n          const channel = reflectingConfig.channel;\n          if (contains$2(receivingData.channels, channel)) {\n            update(component, receivingData.data);\n          }\n        }\n      }), runOnAttached((comp, _se) => {\n        reflectingConfig.initialData.each(rawData => {\n          update(comp, rawData);\n        });\n      })]);\n    };\n\n    var ActiveReflecting = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        events: events\n    });\n\n    const getState = (component, replaceConfig, reflectState) => reflectState;\n\n    var ReflectingApis = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        getState: getState\n    });\n\n    var ReflectingSchema = [required$1('channel'), option$3('renderComponents'), option$3('updateState'), option$3('initialData'), defaultedBoolean('reuseDom', true)];\n\n    const init = () => {\n      const cell = Cell(Optional.none());\n      const clear = () => cell.set(Optional.none());\n      const readState = () => cell.get().getOr('none');\n      return {\n        readState,\n        get: cell.get,\n        set: cell.set,\n        clear\n      };\n    };\n\n    var ReflectingState = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        init: init\n    });\n\n    const Reflecting = create$4({\n      fields: ReflectingSchema,\n      name: 'reflecting',\n      active: ActiveReflecting,\n      apis: ReflectingApis,\n      state: ReflectingState\n    });\n\n    const toValidValues = values => {\n      const errors = [];\n      const result = {};\n      each(values, (value, name) => {\n        value.fold(() => {\n          errors.push(name);\n        }, v => {\n          result[name] = v;\n        });\n      });\n      return errors.length > 0 ? Result.error(errors) : Result.value(result);\n    };\n\n    const renderBodyPanel = (spec, dialogData, backstage) => {\n      const memForm = record(Form.sketch(parts => ({\n        dom: {\n          tag: 'div',\n          classes: ['tox-form'].concat(spec.classes)\n        },\n        components: map$2(spec.items, item => interpretInForm(parts, item, dialogData, backstage))\n      })));\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__body']\n        },\n        components: [{\n          dom: {\n            tag: 'div',\n            classes: ['tox-dialog__body-content']\n          },\n          components: [memForm.asSpec()]\n        }],\n        behaviours: derive$1([Keying.config({\n          mode: 'acyclic',\n          useTabstopAt: not(isPseudoStop)\n        }), ComposingConfigs.memento(memForm), memento(memForm, {\n          postprocess: formValue => toValidValues(formValue).fold(err => {\n            console.error(err);\n            return {};\n          }, identity)\n        }), config('dialog-body-panel', [run$1(focusin(), (comp, se) => {\n          comp.getSystem().broadcastOn([dialogFocusShiftedChannel], {\n            newFocus: Optional.some(se.event.target)\n          });\n        })])])\n      };\n    };\n\n    const factory$3 = (detail, _spec) => ({\n      uid: detail.uid,\n      dom: detail.dom,\n      components: detail.components,\n      events: events$a(detail.action),\n      behaviours: augment(detail.tabButtonBehaviours, [Focusing.config({}), Keying.config({\n        mode: 'execution',\n        useSpace: true,\n        useEnter: true\n      }), Representing.config({\n        store: {\n          mode: 'memory',\n          initialValue: detail.value\n        }\n      })]),\n      domModification: detail.domModification\n    });\n    const TabButton = single({\n      name: 'TabButton',\n      configFields: [defaulted('uid', undefined), required$1('value'), field$1('dom', 'dom', mergeWithThunk(() => ({\n        attributes: {\n          'role': 'tab',\n          'id': generate$6('aria'),\n          'aria-selected': 'false'\n        }\n      })), anyValue()), option$3('action'), defaulted('domModification', {}), field('tabButtonBehaviours', [Focusing, Keying, Representing]), required$1('view')],\n      factory: factory$3\n    });\n\n    const schema$1 = constant$1([required$1('tabs'), required$1('dom'), defaulted('clickToDismiss', false), field('tabbarBehaviours', [Highlighting, Keying]), markers$1(['tabClass', 'selectedClass'])]);\n    const tabsPart = group({\n      factory: TabButton,\n      name: 'tabs',\n      unit: 'tab',\n      overrides: barDetail => {\n        const dismissTab$1 = (tabbar, button) => {\n          Highlighting.dehighlight(tabbar, button);\n          emitWith(tabbar, dismissTab(), {\n            tabbar,\n            button\n          });\n        };\n        const changeTab$1 = (tabbar, button) => {\n          Highlighting.highlight(tabbar, button);\n          emitWith(tabbar, changeTab(), {\n            tabbar,\n            button\n          });\n        };\n        return {\n          action: button => {\n            const tabbar = button.getSystem().getByUid(barDetail.uid).getOrDie();\n            const activeButton = Highlighting.isHighlighted(tabbar, button);\n            const response = (() => {\n              if (activeButton && barDetail.clickToDismiss) {\n                return dismissTab$1;\n              } else if (!activeButton) {\n                return changeTab$1;\n              } else {\n                return noop;\n              }\n            })();\n            response(tabbar, button);\n          },\n          domModification: {\n            classes: [barDetail.markers.tabClass]\n          }\n        };\n      }\n    });\n    const parts$1 = constant$1([tabsPart]);\n\n    const factory$2 = (detail, components, _spec, _externals) => ({\n      'uid': detail.uid,\n      'dom': detail.dom,\n      components,\n      'debug.sketcher': 'Tabbar',\n      'domModification': {\n        attributes: {\n          role: 'tablist'\n        }\n      },\n      'behaviours': augment(detail.tabbarBehaviours, [Highlighting.config({\n        highlightClass: detail.markers.selectedClass,\n        itemClass: detail.markers.tabClass,\n        onHighlight: (tabbar, tab) => {\n          set$9(tab.element, 'aria-selected', 'true');\n        },\n        onDehighlight: (tabbar, tab) => {\n          set$9(tab.element, 'aria-selected', 'false');\n        }\n      }), Keying.config({\n        mode: 'flow',\n        getInitial: tabbar => {\n          return Highlighting.getHighlighted(tabbar).map(tab => tab.element);\n        },\n        selector: '.' + detail.markers.tabClass,\n        executeOnMove: true\n      })])\n    });\n    const Tabbar = composite({\n      name: 'Tabbar',\n      configFields: schema$1(),\n      partFields: parts$1(),\n      factory: factory$2\n    });\n\n    const factory$1 = (detail, _spec) => ({\n      uid: detail.uid,\n      dom: detail.dom,\n      behaviours: augment(detail.tabviewBehaviours, [Replacing.config({})]),\n      domModification: {\n        attributes: {\n          role: 'tabpanel'\n        }\n      }\n    });\n    const Tabview = single({\n      name: 'Tabview',\n      configFields: [field('tabviewBehaviours', [Replacing])],\n      factory: factory$1\n    });\n\n    const schema = constant$1([defaulted('selectFirst', true), onHandler('onChangeTab'), onHandler('onDismissTab'), defaulted('tabs', []), field('tabSectionBehaviours', [])]);\n    const barPart = required({\n      factory: Tabbar,\n      schema: [required$1('dom'), requiredObjOf('markers', [required$1('tabClass'), required$1('selectedClass')])],\n      name: 'tabbar',\n      defaults: detail => {\n        return {\n          tabs: detail.tabs\n        };\n      }\n    });\n    const viewPart = required({\n      factory: Tabview,\n      name: 'tabview'\n    });\n    const parts = constant$1([barPart, viewPart]);\n\n    const factory = (detail, components, _spec, _externals) => {\n      const changeTab$1 = button => {\n        const tabValue = Representing.getValue(button);\n        getPart(button, detail, 'tabview').each(tabview => {\n          const tabWithValue = find$5(detail.tabs, t => t.value === tabValue);\n          tabWithValue.each(tabData => {\n            const panel = tabData.view();\n            getOpt(button.element, 'id').each(id => {\n              set$9(tabview.element, 'aria-labelledby', id);\n            });\n            Replacing.set(tabview, panel);\n            detail.onChangeTab(tabview, button, panel);\n          });\n        });\n      };\n      const changeTabBy = (section, byPred) => {\n        getPart(section, detail, 'tabbar').each(tabbar => {\n          byPred(tabbar).each(emitExecute);\n        });\n      };\n      return {\n        uid: detail.uid,\n        dom: detail.dom,\n        components,\n        behaviours: get$3(detail.tabSectionBehaviours),\n        events: derive$2(flatten([detail.selectFirst ? [runOnAttached((section, _simulatedEvent) => {\n          changeTabBy(section, Highlighting.getFirst);\n        })] : [], [run$1(changeTab(), (section, simulatedEvent) => {\n          const button = simulatedEvent.event.button;\n          changeTab$1(button);\n        }), run$1(dismissTab(), (section, simulatedEvent) => {\n          const button = simulatedEvent.event.button;\n          detail.onDismissTab(section, button);\n        })]])),\n        apis: {\n          getViewItems: section => {\n            return getPart(section, detail, 'tabview').map(tabview => Replacing.contents(tabview)).getOr([]);\n          },\n          showTab: (section, tabKey) => {\n            const getTabIfNotActive = tabbar => {\n              const candidates = Highlighting.getCandidates(tabbar);\n              const optTab = find$5(candidates, c => Representing.getValue(c) === tabKey);\n              return optTab.filter(tab => !Highlighting.isHighlighted(tabbar, tab));\n            };\n            changeTabBy(section, getTabIfNotActive);\n          }\n        }\n      };\n    };\n    const TabSection = composite({\n      name: 'TabSection',\n      configFields: schema(),\n      partFields: parts(),\n      factory,\n      apis: {\n        getViewItems: (apis, component) => apis.getViewItems(component),\n        showTab: (apis, component, tabKey) => {\n          apis.showTab(component, tabKey);\n        }\n      }\n    });\n\n    const measureHeights = (allTabs, tabview, tabviewComp) => map$2(allTabs, (_tab, i) => {\n      Replacing.set(tabviewComp, allTabs[i].view());\n      const rect = tabview.dom.getBoundingClientRect();\n      Replacing.set(tabviewComp, []);\n      return rect.height;\n    });\n    const getMaxHeight = heights => head(sort(heights, (a, b) => {\n      if (a > b) {\n        return -1;\n      } else if (a < b) {\n        return +1;\n      } else {\n        return 0;\n      }\n    }));\n    const getMaxTabviewHeight = (dialog, tabview, tablist) => {\n      const documentElement$1 = documentElement(dialog).dom;\n      const rootElm = ancestor(dialog, '.tox-dialog-wrap').getOr(dialog);\n      const isFixed = get$e(rootElm, 'position') === 'fixed';\n      let maxHeight;\n      if (isFixed) {\n        maxHeight = Math.max(documentElement$1.clientHeight, window.innerHeight);\n      } else {\n        maxHeight = Math.max(documentElement$1.offsetHeight, documentElement$1.scrollHeight);\n      }\n      const tabviewHeight = get$d(tabview);\n      const isTabListBeside = tabview.dom.offsetLeft >= tablist.dom.offsetLeft + get$c(tablist);\n      const currentTabHeight = isTabListBeside ? Math.max(get$d(tablist), tabviewHeight) : tabviewHeight;\n      const dialogTopMargin = parseInt(get$e(dialog, 'margin-top'), 10) || 0;\n      const dialogBottomMargin = parseInt(get$e(dialog, 'margin-bottom'), 10) || 0;\n      const dialogHeight = get$d(dialog) + dialogTopMargin + dialogBottomMargin;\n      const chromeHeight = dialogHeight - currentTabHeight;\n      return maxHeight - chromeHeight;\n    };\n    const showTab = (allTabs, comp) => {\n      head(allTabs).each(tab => TabSection.showTab(comp, tab.value));\n    };\n    const setTabviewHeight = (tabview, height) => {\n      set$8(tabview, 'height', height + 'px');\n      set$8(tabview, 'flex-basis', height + 'px');\n    };\n    const updateTabviewHeight = (dialogBody, tabview, maxTabHeight) => {\n      ancestor(dialogBody, '[role=\"dialog\"]').each(dialog => {\n        descendant(dialog, '[role=\"tablist\"]').each(tablist => {\n          maxTabHeight.get().map(height => {\n            set$8(tabview, 'height', '0');\n            set$8(tabview, 'flex-basis', '0');\n            return Math.min(height, getMaxTabviewHeight(dialog, tabview, tablist));\n          }).each(height => {\n            setTabviewHeight(tabview, height);\n          });\n        });\n      });\n    };\n    const getTabview = dialog => descendant(dialog, '[role=\"tabpanel\"]');\n    const smartMode = allTabs => {\n      const maxTabHeight = value$2();\n      const extraEvents = [runOnAttached(comp => {\n        const dialog = comp.element;\n        getTabview(dialog).each(tabview => {\n          set$8(tabview, 'visibility', 'hidden');\n          comp.getSystem().getByDom(tabview).toOptional().each(tabviewComp => {\n            const heights = measureHeights(allTabs, tabview, tabviewComp);\n            const maxTabHeightOpt = getMaxHeight(heights);\n            maxTabHeightOpt.fold(maxTabHeight.clear, maxTabHeight.set);\n          });\n          updateTabviewHeight(dialog, tabview, maxTabHeight);\n          remove$6(tabview, 'visibility');\n          showTab(allTabs, comp);\n          requestAnimationFrame(() => {\n            updateTabviewHeight(dialog, tabview, maxTabHeight);\n          });\n        });\n      }), run$1(windowResize(), comp => {\n        const dialog = comp.element;\n        getTabview(dialog).each(tabview => {\n          updateTabviewHeight(dialog, tabview, maxTabHeight);\n        });\n      }), run$1(formResizeEvent, (comp, _se) => {\n        const dialog = comp.element;\n        getTabview(dialog).each(tabview => {\n          const oldFocus = active$1(getRootNode(tabview));\n          set$8(tabview, 'visibility', 'hidden');\n          const oldHeight = getRaw(tabview, 'height').map(h => parseInt(h, 10));\n          remove$6(tabview, 'height');\n          remove$6(tabview, 'flex-basis');\n          const newHeight = tabview.dom.getBoundingClientRect().height;\n          const hasGrown = oldHeight.forall(h => newHeight > h);\n          if (hasGrown) {\n            maxTabHeight.set(newHeight);\n            updateTabviewHeight(dialog, tabview, maxTabHeight);\n          } else {\n            oldHeight.each(h => {\n              setTabviewHeight(tabview, h);\n            });\n          }\n          remove$6(tabview, 'visibility');\n          oldFocus.each(focus$3);\n        });\n      })];\n      const selectFirst = false;\n      return {\n        extraEvents,\n        selectFirst\n      };\n    };\n\n    const SendDataToSectionChannel = 'send-data-to-section';\n    const SendDataToViewChannel = 'send-data-to-view';\n    const renderTabPanel = (spec, dialogData, backstage) => {\n      const storedValue = Cell({});\n      const updateDataWithForm = form => {\n        const formData = Representing.getValue(form);\n        const validData = toValidValues(formData).getOr({});\n        const currentData = storedValue.get();\n        const newData = deepMerge(currentData, validData);\n        storedValue.set(newData);\n      };\n      const setDataOnForm = form => {\n        const tabData = storedValue.get();\n        Representing.setValue(form, tabData);\n      };\n      const oldTab = Cell(null);\n      const allTabs = map$2(spec.tabs, tab => {\n        return {\n          value: tab.name,\n          dom: {\n            tag: 'div',\n            classes: ['tox-dialog__body-nav-item']\n          },\n          components: [text$2(backstage.shared.providers.translate(tab.title))],\n          view: () => {\n            return [Form.sketch(parts => ({\n              dom: {\n                tag: 'div',\n                classes: ['tox-form']\n              },\n              components: map$2(tab.items, item => interpretInForm(parts, item, dialogData, backstage)),\n              formBehaviours: derive$1([Keying.config({\n                mode: 'acyclic',\n                useTabstopAt: not(isPseudoStop)\n              }), config('TabView.form.events', [runOnAttached(setDataOnForm), runOnDetached(updateDataWithForm)]), Receiving.config({\n                channels: wrapAll([{\n                  key: SendDataToSectionChannel,\n                  value: {\n                    onReceive: updateDataWithForm\n                  }\n                }, {\n                  key: SendDataToViewChannel,\n                  value: {\n                    onReceive: setDataOnForm\n                  }\n                }])\n              })])\n            }))];\n          }\n        };\n      });\n      const tabMode = smartMode(allTabs);\n      return TabSection.sketch({\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__body']\n        },\n        onChangeTab: (section, button, _viewItems) => {\n          const name = Representing.getValue(button);\n          emitWith(section, formTabChangeEvent, {\n            name,\n            oldName: oldTab.get()\n          });\n          oldTab.set(name);\n        },\n        tabs: allTabs,\n        components: [TabSection.parts.tabbar({\n          dom: {\n            tag: 'div',\n            classes: ['tox-dialog__body-nav']\n          },\n          components: [Tabbar.parts.tabs({})],\n          markers: {\n            tabClass: 'tox-tab',\n            selectedClass: 'tox-dialog__body-nav-item--active'\n          },\n          tabbarBehaviours: derive$1([Tabstopping.config({})])\n        }), TabSection.parts.tabview({\n          dom: {\n            tag: 'div',\n            classes: ['tox-dialog__body-content']\n          }\n        })],\n        selectFirst: tabMode.selectFirst,\n        tabSectionBehaviours: derive$1([config('tabpanel', tabMode.extraEvents), Keying.config({\n          mode: 'acyclic'\n        }), Composing.config({\n          find: comp => head(TabSection.getViewItems(comp))\n        }), withComp(Optional.none(), tsection => {\n          tsection.getSystem().broadcastOn([SendDataToSectionChannel], {});\n          return storedValue.get();\n        }, (tsection, value) => {\n          storedValue.set(value);\n          tsection.getSystem().broadcastOn([SendDataToViewChannel], {});\n        })])\n      });\n    };\n\n    const renderBody = (spec, dialogId, contentId, backstage, ariaAttrs) => {\n      const renderComponents = incoming => {\n        const body = incoming.body;\n        switch (body.type) {\n          case 'tabpanel':\n            {\n              return [renderTabPanel(body, incoming.initialData, backstage)];\n            }\n          default:\n            {\n              return [renderBodyPanel(body, incoming.initialData, backstage)];\n            }\n        }\n      };\n      const updateState = (_comp, incoming) => Optional.some({\n        isTabPanel: () => incoming.body.type === 'tabpanel'\n      });\n      const ariaAttributes = {\n        'aria-live': 'polite'\n      };\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__content-js'],\n          attributes: {\n            ...contentId.map(x => ({\n              id: x\n            })).getOr({}),\n            ...(ariaAttrs ? ariaAttributes : {})\n          }\n        },\n        components: [],\n        behaviours: derive$1([ComposingConfigs.childAt(0), Reflecting.config({\n          channel: \"\".concat(bodyChannel, \"-\").concat(dialogId),\n          updateState,\n          renderComponents,\n          initialData: spec\n        })])\n      };\n    };\n    const renderInlineBody = (spec, dialogId, contentId, backstage, ariaAttrs) => renderBody(spec, dialogId, Optional.some(contentId), backstage, ariaAttrs);\n    const renderModalBody = (spec, dialogId, backstage) => {\n      const bodySpec = renderBody(spec, dialogId, Optional.none(), backstage, false);\n      return ModalDialog.parts.body(bodySpec);\n    };\n    const renderIframeBody = spec => {\n      const bodySpec = {\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__content-js']\n        },\n        components: [{\n          dom: {\n            tag: 'div',\n            classes: ['tox-dialog__body-iframe']\n          },\n          components: [craft(Optional.none(), {\n            dom: {\n              tag: 'iframe',\n              attributes: {\n                src: spec.url\n              }\n            },\n            behaviours: derive$1([Tabstopping.config({}), Focusing.config({})])\n          })]\n        }],\n        behaviours: derive$1([Keying.config({\n          mode: 'acyclic',\n          useTabstopAt: not(isPseudoStop)\n        })])\n      };\n      return ModalDialog.parts.body(bodySpec);\n    };\n\n    const isTouch = global$5.deviceType.isTouch();\n    const hiddenHeader = (title, close) => ({\n      dom: {\n        tag: 'div',\n        styles: {\n          display: 'none'\n        },\n        classes: ['tox-dialog__header']\n      },\n      components: [title, close]\n    });\n    const pClose = (onClose, providersBackstage) => ModalDialog.parts.close(Button.sketch({\n      dom: {\n        tag: 'button',\n        classes: ['tox-button', 'tox-button--icon', 'tox-button--naked'],\n        attributes: {\n          'type': 'button',\n          'aria-label': providersBackstage.translate('Close')\n        }\n      },\n      action: onClose,\n      buttonBehaviours: derive$1([Tabstopping.config({})])\n    }));\n    const pUntitled = () => ModalDialog.parts.title({\n      dom: {\n        tag: 'div',\n        classes: ['tox-dialog__title'],\n        innerHtml: '',\n        styles: {\n          display: 'none'\n        }\n      }\n    });\n    const pBodyMessage = (message, providersBackstage) => ModalDialog.parts.body({\n      dom: {\n        tag: 'div',\n        classes: ['tox-dialog__body']\n      },\n      components: [{\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__body-content']\n        },\n        components: [{\n          dom: fromHtml(\"<p>\".concat(sanitizeHtmlString(providersBackstage.translate(message)), \"<\/p>\"))\n        }]\n      }]\n    });\n    const pFooter = buttons => ModalDialog.parts.footer({\n      dom: {\n        tag: 'div',\n        classes: ['tox-dialog__footer']\n      },\n      components: buttons\n    });\n    const pFooterGroup = (startButtons, endButtons) => [Container.sketch({\n      dom: {\n        tag: 'div',\n        classes: ['tox-dialog__footer-start']\n      },\n      components: startButtons\n    }), Container.sketch({\n      dom: {\n        tag: 'div',\n        classes: ['tox-dialog__footer-end']\n      },\n      components: endButtons\n    })];\n    const renderDialog$1 = spec => {\n      const dialogClass = 'tox-dialog';\n      const blockerClass = dialogClass + '-wrap';\n      const blockerBackdropClass = blockerClass + '__backdrop';\n      const scrollLockClass = dialogClass + '__disable-scroll';\n      return ModalDialog.sketch({\n        lazySink: spec.lazySink,\n        onEscape: comp => {\n          spec.onEscape(comp);\n          return Optional.some(true);\n        },\n        useTabstopAt: elem => !isPseudoStop(elem),\n        firstTabstop: spec.firstTabstop,\n        dom: {\n          tag: 'div',\n          classes: [dialogClass].concat(spec.extraClasses),\n          styles: {\n            position: 'relative',\n            ...spec.extraStyles\n          }\n        },\n        components: [spec.header, spec.body, ...spec.footer.toArray()],\n        parts: {\n          blocker: {\n            dom: fromHtml(\"<div class=\\\"\".concat(blockerClass, \"\\\"><\/div>\")),\n            components: [{\n              dom: {\n                tag: 'div',\n                classes: isTouch ? [blockerBackdropClass, blockerBackdropClass + '--opaque'] : [blockerBackdropClass]\n              }\n            }]\n          }\n        },\n        dragBlockClass: blockerClass,\n        modalBehaviours: derive$1([Focusing.config({}), config('dialog-events', spec.dialogEvents.concat([runOnSource(focusin(), (comp, _se) => {\n          Blocking.isBlocked(comp) ? noop() : Keying.focusIn(comp);\n        }), run$1(focusShifted(), (comp, se) => {\n          comp.getSystem().broadcastOn([dialogFocusShiftedChannel], {\n            newFocus: se.event.newFocus\n          });\n        })])), config('scroll-lock', [runOnAttached(() => {\n          add$2(body(), scrollLockClass);\n        }), runOnDetached(() => {\n          remove$2(body(), scrollLockClass);\n        })]), ...spec.extraBehaviours]),\n        eventOrder: {\n          [execute$5()]: ['dialog-events'],\n          [attachedToDom()]: ['scroll-lock', 'dialog-events', 'alloy.base.behaviour'],\n          [detachedFromDom()]: ['alloy.base.behaviour', 'dialog-events', 'scroll-lock'],\n          ...spec.eventOrder\n        }\n      });\n    };\n\n    const renderClose = providersBackstage => Button.sketch({\n      dom: {\n        tag: 'button',\n        classes: ['tox-button', 'tox-button--icon', 'tox-button--naked'],\n        attributes: {\n          'type': 'button',\n          'aria-label': providersBackstage.translate('Close'),\n          'title': providersBackstage.translate('Close')\n        }\n      },\n      buttonBehaviours: derive$1([Tabstopping.config({})]),\n      components: [render$3('close', {\n        tag: 'span',\n        classes: ['tox-icon']\n      }, providersBackstage.icons)],\n      action: comp => {\n        emit(comp, formCancelEvent);\n      }\n    });\n    const renderTitle = (spec, dialogId, titleId, providersBackstage) => {\n      const renderComponents = data => [text$2(providersBackstage.translate(data.title))];\n      return {\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog__title'],\n          attributes: {\n            ...titleId.map(x => ({\n              id: x\n            })).getOr({})\n          }\n        },\n        components: [],\n        behaviours: derive$1([Reflecting.config({\n          channel: \"\".concat(titleChannel, \"-\").concat(dialogId),\n          initialData: spec,\n          renderComponents\n        })])\n      };\n    };\n    const renderDragHandle = () => ({\n      dom: fromHtml('<div class=\"tox-dialog__draghandle\"><\/div>')\n    });\n    const renderInlineHeader = (spec, dialogId, titleId, providersBackstage) => Container.sketch({\n      dom: fromHtml('<div class=\"tox-dialog__header\"><\/div>'),\n      components: [renderTitle(spec, dialogId, Optional.some(titleId), providersBackstage), renderDragHandle(), renderClose(providersBackstage)],\n      containerBehaviours: derive$1([Dragging.config({\n        mode: 'mouse',\n        blockerClass: 'blocker',\n        getTarget: handle => {\n          return closest$1(handle, '[role=\"dialog\"]').getOrDie();\n        },\n        snaps: {\n          getSnapPoints: () => [],\n          leftAttr: 'data-drag-left',\n          topAttr: 'data-drag-top'\n        }\n      })])\n    });\n    const renderModalHeader = (spec, dialogId, providersBackstage) => {\n      const pTitle = ModalDialog.parts.title(renderTitle(spec, dialogId, Optional.none(), providersBackstage));\n      const pHandle = ModalDialog.parts.draghandle(renderDragHandle());\n      const pClose = ModalDialog.parts.close(renderClose(providersBackstage));\n      const components = [pTitle].concat(spec.draggable ? [pHandle] : []).concat([pClose]);\n      return Container.sketch({\n        dom: fromHtml('<div class=\"tox-dialog__header\"><\/div>'),\n        components\n      });\n    };\n\n    const getHeader = (title, dialogId, backstage) => renderModalHeader({\n      title: backstage.shared.providers.translate(title),\n      draggable: backstage.dialog.isDraggableModal()\n    }, dialogId, backstage.shared.providers);\n    const getBusySpec = (message, bs, providers, headerHeight) => ({\n      dom: {\n        tag: 'div',\n        classes: ['tox-dialog__busy-spinner'],\n        attributes: {\n          'aria-label': providers.translate(message)\n        },\n        styles: {\n          left: '0px',\n          right: '0px',\n          bottom: '0px',\n          top: \"\".concat(headerHeight.getOr(0), \"px\"),\n          position: 'absolute'\n        }\n      },\n      behaviours: bs,\n      components: [{\n        dom: fromHtml('<div class=\"tox-spinner\"><div><\/div><div><\/div><div><\/div><\/div>')\n      }]\n    });\n    const getEventExtras = (lazyDialog, providers, extra) => ({\n      onClose: () => extra.closeWindow(),\n      onBlock: blockEvent => {\n        const headerHeight = descendant(lazyDialog().element, '.tox-dialog__header').map(header => get$d(header));\n        ModalDialog.setBusy(lazyDialog(), (_comp, bs) => getBusySpec(blockEvent.message, bs, providers, headerHeight));\n      },\n      onUnblock: () => {\n        ModalDialog.setIdle(lazyDialog());\n      }\n    });\n    const fullscreenClass = 'tox-dialog--fullscreen';\n    const largeDialogClass = 'tox-dialog--width-lg';\n    const mediumDialogClass = 'tox-dialog--width-md';\n    const getDialogSizeClass = size => {\n      switch (size) {\n        case 'large':\n          return Optional.some(largeDialogClass);\n        case 'medium':\n          return Optional.some(mediumDialogClass);\n        default:\n          return Optional.none();\n      }\n    };\n    const updateDialogSizeClass = (size, component) => {\n      const dialogBody = SugarElement.fromDom(component.element.dom);\n      if (!has(dialogBody, fullscreenClass)) {\n        remove$1(dialogBody, [largeDialogClass, mediumDialogClass]);\n        getDialogSizeClass(size).each(dialogSizeClass => add$2(dialogBody, dialogSizeClass));\n      }\n    };\n    const toggleFullscreen = (comp, currentSize) => {\n      const dialogBody = SugarElement.fromDom(comp.element.dom);\n      const classes = get$7(dialogBody);\n      const currentSizeClass = find$5(classes, c => c === largeDialogClass || c === mediumDialogClass).or(getDialogSizeClass(currentSize));\n      toggle$3(dialogBody, [fullscreenClass, ...currentSizeClass.toArray()]);\n    };\n    const renderModalDialog = (spec, dialogEvents, backstage) => build$1(renderDialog$1({\n      ...spec,\n      firstTabstop: 1,\n      lazySink: backstage.shared.getSink,\n      extraBehaviours: [memory({}), ...spec.extraBehaviours],\n      onEscape: comp => {\n        emit(comp, formCancelEvent);\n      },\n      dialogEvents,\n      eventOrder: {\n        [receive()]: [Reflecting.name(), Receiving.name()],\n        [attachedToDom()]: ['scroll-lock', Reflecting.name(), 'messages', 'dialog-events', 'alloy.base.behaviour'],\n        [detachedFromDom()]: ['alloy.base.behaviour', 'dialog-events', 'messages', Reflecting.name(), 'scroll-lock']\n      }\n    }));\n    const mapMenuButtons = (buttons, menuItemStates = {}) => {\n      const mapItems = button => {\n        const items = map$2(button.items, item => {\n          const cell = get$g(menuItemStates, item.name).getOr(Cell(false));\n          return {\n            ...item,\n            storage: cell\n          };\n        });\n        return {\n          ...button,\n          items\n        };\n      };\n      return map$2(buttons, button => {\n        return button.type === 'menu' ? mapItems(button) : button;\n      });\n    };\n    const extractCellsToObject = buttons => foldl(buttons, (acc, button) => {\n      if (button.type === 'menu') {\n        const menuButton = button;\n        return foldl(menuButton.items, (innerAcc, item) => {\n          innerAcc[item.name] = item.storage;\n          return innerAcc;\n        }, acc);\n      }\n      return acc;\n    }, {});\n\n    const initCommonEvents = (fireApiEvent, extras) => [runWithTarget(focusin(), onFocus), fireApiEvent(formCloseEvent, (_api, spec, _event, self) => {\n      active$1(getRootNode(self.element)).fold(noop, blur$1);\n      extras.onClose();\n      spec.onClose();\n    }), fireApiEvent(formCancelEvent, (api, spec, _event, self) => {\n      spec.onCancel(api);\n      emit(self, formCloseEvent);\n    }), run$1(formUnblockEvent, (_c, _se) => extras.onUnblock()), run$1(formBlockEvent, (_c, se) => extras.onBlock(se.event))];\n    const initUrlDialog = (getInstanceApi, extras) => {\n      const fireApiEvent = (eventName, f) => run$1(eventName, (c, se) => {\n        withSpec(c, (spec, _c) => {\n          f(getInstanceApi(), spec, se.event, c);\n        });\n      });\n      const withSpec = (c, f) => {\n        Reflecting.getState(c).get().each(currentDialog => {\n          f(currentDialog, c);\n        });\n      };\n      return [...initCommonEvents(fireApiEvent, extras), fireApiEvent(formActionEvent, (api, spec, event) => {\n        spec.onAction(api, {\n          name: event.name\n        });\n      })];\n    };\n    const initDialog = (getInstanceApi, extras, getSink) => {\n      const fireApiEvent = (eventName, f) => run$1(eventName, (c, se) => {\n        withSpec(c, (spec, _c) => {\n          f(getInstanceApi(), spec, se.event, c);\n        });\n      });\n      const withSpec = (c, f) => {\n        Reflecting.getState(c).get().each(currentDialogInit => {\n          f(currentDialogInit.internalDialog, c);\n        });\n      };\n      return [...initCommonEvents(fireApiEvent, extras), fireApiEvent(formSubmitEvent, (api, spec) => spec.onSubmit(api)), fireApiEvent(formChangeEvent, (api, spec, event) => {\n        spec.onChange(api, {\n          name: event.name\n        });\n      }), fireApiEvent(formActionEvent, (api, spec, event, component) => {\n        const focusIn = () => component.getSystem().isConnected() ? Keying.focusIn(component) : undefined;\n        const isDisabled = focused => has$1(focused, 'disabled') || getOpt(focused, 'aria-disabled').exists(val => val === 'true');\n        const rootNode = getRootNode(component.element);\n        const current = active$1(rootNode);\n        spec.onAction(api, {\n          name: event.name,\n          value: event.value\n        });\n        active$1(rootNode).fold(focusIn, focused => {\n          if (isDisabled(focused)) {\n            focusIn();\n          } else if (current.exists(cur => contains(focused, cur) && isDisabled(cur))) {\n            focusIn();\n          } else {\n            getSink().toOptional().filter(sink => !contains(sink.element, focused)).each(focusIn);\n          }\n        });\n      }), fireApiEvent(formTabChangeEvent, (api, spec, event) => {\n        spec.onTabChange(api, {\n          newTabName: event.name,\n          oldTabName: event.oldName\n        });\n      }), runOnDetached(component => {\n        const api = getInstanceApi();\n        Representing.setValue(component, api.getData());\n      })];\n    };\n\n    const makeButton = (button, backstage) => renderFooterButton(button, button.type, backstage);\n    const lookup = (compInSystem, footerButtons, buttonName) => find$5(footerButtons, button => button.name === buttonName).bind(memButton => memButton.memento.getOpt(compInSystem));\n    const renderComponents = (_data, state) => {\n      const footerButtons = state.map(s => s.footerButtons).getOr([]);\n      const buttonGroups = partition$3(footerButtons, button => button.align === 'start');\n      const makeGroup = (edge, buttons) => Container.sketch({\n        dom: {\n          tag: 'div',\n          classes: [\"tox-dialog__footer-\".concat(edge)]\n        },\n        components: map$2(buttons, button => button.memento.asSpec())\n      });\n      const startButtons = makeGroup('start', buttonGroups.pass);\n      const endButtons = makeGroup('end', buttonGroups.fail);\n      return [startButtons, endButtons];\n    };\n    const renderFooter = (initSpec, dialogId, backstage) => {\n      const updateState = (comp, data) => {\n        const footerButtons = map$2(data.buttons, button => {\n          const memButton = record(makeButton(button, backstage));\n          return {\n            name: button.name,\n            align: button.align,\n            memento: memButton\n          };\n        });\n        const lookupByName = buttonName => lookup(comp, footerButtons, buttonName);\n        return Optional.some({\n          lookupByName,\n          footerButtons\n        });\n      };\n      return {\n        dom: fromHtml('<div class=\"tox-dialog__footer\"><\/div>'),\n        components: [],\n        behaviours: derive$1([Reflecting.config({\n          channel: \"\".concat(footerChannel, \"-\").concat(dialogId),\n          initialData: initSpec,\n          updateState,\n          renderComponents\n        })])\n      };\n    };\n    const renderInlineFooter = (initSpec, dialogId, backstage) => renderFooter(initSpec, dialogId, backstage);\n    const renderModalFooter = (initSpec, dialogId, backstage) => ModalDialog.parts.footer(renderFooter(initSpec, dialogId, backstage));\n\n    const getCompByName = (access, name) => {\n      const root = access.getRoot();\n      if (root.getSystem().isConnected()) {\n        const form = Composing.getCurrent(access.getFormWrapper()).getOr(access.getFormWrapper());\n        return Form.getField(form, name).orThunk(() => {\n          const footer = access.getFooter();\n          const footerState = footer.bind(f => Reflecting.getState(f).get());\n          return footerState.bind(f => f.lookupByName(name));\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const validateData$1 = (access, data) => {\n      const root = access.getRoot();\n      return Reflecting.getState(root).get().map(dialogState => getOrDie(asRaw('data', dialogState.dataValidator, data))).getOr(data);\n    };\n    const getDialogApi = (access, doRedial, menuItemStates) => {\n      const withRoot = f => {\n        const root = access.getRoot();\n        if (root.getSystem().isConnected()) {\n          f(root);\n        }\n      };\n      const getData = () => {\n        const root = access.getRoot();\n        const valueComp = root.getSystem().isConnected() ? access.getFormWrapper() : root;\n        const representedValues = Representing.getValue(valueComp);\n        const menuItemCurrentState = map$1(menuItemStates, cell => cell.get());\n        return {\n          ...representedValues,\n          ...menuItemCurrentState\n        };\n      };\n      const setData = newData => {\n        withRoot(_ => {\n          const prevData = instanceApi.getData();\n          const mergedData = deepMerge(prevData, newData);\n          const newInternalData = validateData$1(access, mergedData);\n          const form = access.getFormWrapper();\n          Representing.setValue(form, newInternalData);\n          each(menuItemStates, (v, k) => {\n            if (has$2(mergedData, k)) {\n              v.set(mergedData[k]);\n            }\n          });\n        });\n      };\n      const setEnabled = (name, state) => {\n        getCompByName(access, name).each(state ? Disabling.enable : Disabling.disable);\n      };\n      const focus = name => {\n        getCompByName(access, name).each(Focusing.focus);\n      };\n      const block = message => {\n        if (!isString(message)) {\n          throw new Error('The dialogInstanceAPI.block function should be passed a blocking message of type string as an argument');\n        }\n        withRoot(root => {\n          emitWith(root, formBlockEvent, {\n            message\n          });\n        });\n      };\n      const unblock = () => {\n        withRoot(root => {\n          emit(root, formUnblockEvent);\n        });\n      };\n      const showTab = name => {\n        withRoot(_ => {\n          const body = access.getBody();\n          const bodyState = Reflecting.getState(body);\n          if (bodyState.get().exists(b => b.isTabPanel())) {\n            Composing.getCurrent(body).each(tabSection => {\n              TabSection.showTab(tabSection, name);\n            });\n          }\n        });\n      };\n      const redial = d => {\n        withRoot(root => {\n          const id = access.getId();\n          const dialogInit = doRedial(d);\n          const storedMenuButtons = mapMenuButtons(dialogInit.internalDialog.buttons, menuItemStates);\n          root.getSystem().broadcastOn([\"\".concat(dialogChannel, \"-\").concat(id)], dialogInit);\n          root.getSystem().broadcastOn([\"\".concat(titleChannel, \"-\").concat(id)], dialogInit.internalDialog);\n          root.getSystem().broadcastOn([\"\".concat(bodyChannel, \"-\").concat(id)], dialogInit.internalDialog);\n          root.getSystem().broadcastOn([\"\".concat(footerChannel, \"-\").concat(id)], {\n            ...dialogInit.internalDialog,\n            buttons: storedMenuButtons\n          });\n          instanceApi.setData(dialogInit.initialData);\n        });\n      };\n      const close = () => {\n        withRoot(root => {\n          emit(root, formCloseEvent);\n        });\n      };\n      const instanceApi = {\n        getData,\n        setData,\n        setEnabled,\n        focus,\n        block,\n        unblock,\n        showTab,\n        redial,\n        close,\n        toggleFullscreen: access.toggleFullscreen\n      };\n      return instanceApi;\n    };\n\n    const renderDialog = (dialogInit, extra, backstage) => {\n      const dialogId = generate$6('dialog');\n      const internalDialog = dialogInit.internalDialog;\n      const header = getHeader(internalDialog.title, dialogId, backstage);\n      const dialogSize = Cell(internalDialog.size);\n      const dialogSizeClasses = getDialogSizeClass(dialogSize.get()).toArray();\n      const updateState = (comp, incoming) => {\n        dialogSize.set(incoming.internalDialog.size);\n        updateDialogSizeClass(incoming.internalDialog.size, comp);\n        return Optional.some(incoming);\n      };\n      const body = renderModalBody({\n        body: internalDialog.body,\n        initialData: internalDialog.initialData\n      }, dialogId, backstage);\n      const storedMenuButtons = mapMenuButtons(internalDialog.buttons);\n      const objOfCells = extractCellsToObject(storedMenuButtons);\n      const footer = someIf(storedMenuButtons.length !== 0, renderModalFooter({\n        buttons: storedMenuButtons\n      }, dialogId, backstage));\n      const dialogEvents = initDialog(() => instanceApi, getEventExtras(() => dialog, backstage.shared.providers, extra), backstage.shared.getSink);\n      const spec = {\n        id: dialogId,\n        header,\n        body,\n        footer,\n        extraClasses: dialogSizeClasses,\n        extraBehaviours: [Reflecting.config({\n          channel: \"\".concat(dialogChannel, \"-\").concat(dialogId),\n          updateState,\n          initialData: dialogInit\n        })],\n        extraStyles: {}\n      };\n      const dialog = renderModalDialog(spec, dialogEvents, backstage);\n      const modalAccess = (() => {\n        const getForm = () => {\n          const outerForm = ModalDialog.getBody(dialog);\n          return Composing.getCurrent(outerForm).getOr(outerForm);\n        };\n        const toggleFullscreen$1 = () => {\n          toggleFullscreen(dialog, dialogSize.get());\n        };\n        return {\n          getId: constant$1(dialogId),\n          getRoot: constant$1(dialog),\n          getBody: () => ModalDialog.getBody(dialog),\n          getFooter: () => ModalDialog.getFooter(dialog),\n          getFormWrapper: getForm,\n          toggleFullscreen: toggleFullscreen$1\n        };\n      })();\n      const instanceApi = getDialogApi(modalAccess, extra.redial, objOfCells);\n      return {\n        dialog,\n        instanceApi\n      };\n    };\n\n    const renderInlineDialog = (dialogInit, extra, backstage, ariaAttrs = false, refreshDocking) => {\n      const dialogId = generate$6('dialog');\n      const dialogLabelId = generate$6('dialog-label');\n      const dialogContentId = generate$6('dialog-content');\n      const internalDialog = dialogInit.internalDialog;\n      const dialogSize = Cell(internalDialog.size);\n      const dialogSizeClass = getDialogSizeClass(dialogSize.get()).toArray();\n      const updateState = (comp, incoming) => {\n        dialogSize.set(incoming.internalDialog.size);\n        updateDialogSizeClass(incoming.internalDialog.size, comp);\n        refreshDocking();\n        return Optional.some(incoming);\n      };\n      const memHeader = record(renderInlineHeader({\n        title: internalDialog.title,\n        draggable: true\n      }, dialogId, dialogLabelId, backstage.shared.providers));\n      const memBody = record(renderInlineBody({\n        body: internalDialog.body,\n        initialData: internalDialog.initialData\n      }, dialogId, dialogContentId, backstage, ariaAttrs));\n      const storagedMenuButtons = mapMenuButtons(internalDialog.buttons);\n      const objOfCells = extractCellsToObject(storagedMenuButtons);\n      const optMemFooter = someIf(storagedMenuButtons.length !== 0, record(renderInlineFooter({\n        buttons: storagedMenuButtons\n      }, dialogId, backstage)));\n      const dialogEvents = initDialog(() => instanceApi, {\n        onBlock: event => {\n          Blocking.block(dialog, (_comp, bs) => {\n            const headerHeight = memHeader.getOpt(dialog).map(dialog => get$d(dialog.element));\n            return getBusySpec(event.message, bs, backstage.shared.providers, headerHeight);\n          });\n        },\n        onUnblock: () => {\n          Blocking.unblock(dialog);\n        },\n        onClose: () => extra.closeWindow()\n      }, backstage.shared.getSink);\n      const inlineClass = 'tox-dialog-inline';\n      const dialog = build$1({\n        dom: {\n          tag: 'div',\n          classes: ['tox-dialog', inlineClass, ...dialogSizeClass],\n          attributes: {\n            role: 'dialog',\n            ['aria-labelledby']: dialogLabelId\n          }\n        },\n        eventOrder: {\n          [receive()]: [Reflecting.name(), Receiving.name()],\n          [execute$5()]: ['execute-on-form'],\n          [attachedToDom()]: ['reflecting', 'execute-on-form']\n        },\n        behaviours: derive$1([Keying.config({\n          mode: 'cyclic',\n          onEscape: c => {\n            emit(c, formCloseEvent);\n            return Optional.some(true);\n          },\n          useTabstopAt: elem => !isPseudoStop(elem) && (name$3(elem) !== 'button' || get$f(elem, 'disabled') !== 'disabled'),\n          firstTabstop: 1\n        }), Reflecting.config({\n          channel: \"\".concat(dialogChannel, \"-\").concat(dialogId),\n          updateState,\n          initialData: dialogInit\n        }), Focusing.config({}), config('execute-on-form', dialogEvents.concat([runOnSource(focusin(), (comp, _se) => {\n          Keying.focusIn(comp);\n        }), run$1(focusShifted(), (comp, se) => {\n          comp.getSystem().broadcastOn([dialogFocusShiftedChannel], {\n            newFocus: se.event.newFocus\n          });\n        })])), Blocking.config({\n          getRoot: () => Optional.some(dialog)\n        }), Replacing.config({}), memory({})]),\n        components: [memHeader.asSpec(), memBody.asSpec(), ...optMemFooter.map(memFooter => memFooter.asSpec()).toArray()]\n      });\n      const toggleFullscreen$1 = () => {\n        toggleFullscreen(dialog, dialogSize.get());\n      };\n      const instanceApi = getDialogApi({\n        getId: constant$1(dialogId),\n        getRoot: constant$1(dialog),\n        getFooter: () => optMemFooter.map(memFooter => memFooter.get(dialog)),\n        getBody: () => memBody.get(dialog),\n        getFormWrapper: () => {\n          const body = memBody.get(dialog);\n          return Composing.getCurrent(body).getOr(body);\n        },\n        toggleFullscreen: toggleFullscreen$1\n      }, extra.redial, objOfCells);\n      return {\n        dialog,\n        instanceApi\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    const getUrlDialogApi = root => {\n      const withRoot = f => {\n        if (root.getSystem().isConnected()) {\n          f(root);\n        }\n      };\n      const block = message => {\n        if (!isString(message)) {\n          throw new Error('The urlDialogInstanceAPI.block function should be passed a blocking message of type string as an argument');\n        }\n        withRoot(root => {\n          emitWith(root, formBlockEvent, {\n            message\n          });\n        });\n      };\n      const unblock = () => {\n        withRoot(root => {\n          emit(root, formUnblockEvent);\n        });\n      };\n      const close = () => {\n        withRoot(root => {\n          emit(root, formCloseEvent);\n        });\n      };\n      const sendMessage = data => {\n        withRoot(root => {\n          root.getSystem().broadcastOn([bodySendMessageChannel], data);\n        });\n      };\n      return {\n        block,\n        unblock,\n        close,\n        sendMessage\n      };\n    };\n\n    const SUPPORTED_MESSAGE_ACTIONS = ['insertContent', 'setContent', 'execCommand', 'close', 'block', 'unblock'];\n    const isSupportedMessage = data => isObject(data) && SUPPORTED_MESSAGE_ACTIONS.indexOf(data.mceAction) !== -1;\n    const isCustomMessage = data => !isSupportedMessage(data) && isObject(data) && has$2(data, 'mceAction');\n    const handleMessage = (editor, api, data) => {\n      switch (data.mceAction) {\n        case 'insertContent':\n          editor.insertContent(data.content);\n          break;\n        case 'setContent':\n          editor.setContent(data.content);\n          break;\n        case 'execCommand':\n          const ui = isBoolean(data.ui) ? data.ui : false;\n          editor.execCommand(data.cmd, ui, data.value);\n          break;\n        case 'close':\n          api.close();\n          break;\n        case 'block':\n          api.block(data.message);\n          break;\n        case 'unblock':\n          api.unblock();\n          break;\n      }\n    };\n    const renderUrlDialog = (internalDialog, extra, editor, backstage) => {\n      const dialogId = generate$6('dialog');\n      const header = getHeader(internalDialog.title, dialogId, backstage);\n      const body = renderIframeBody(internalDialog);\n      const footer = internalDialog.buttons.bind(buttons => {\n        if (buttons.length === 0) {\n          return Optional.none();\n        } else {\n          return Optional.some(renderModalFooter({\n            buttons\n          }, dialogId, backstage));\n        }\n      });\n      const dialogEvents = initUrlDialog(() => instanceApi, getEventExtras(() => dialog, backstage.shared.providers, extra));\n      const styles = {\n        ...internalDialog.height.fold(() => ({}), height => ({\n          'height': height + 'px',\n          'max-height': height + 'px'\n        })),\n        ...internalDialog.width.fold(() => ({}), width => ({\n          'width': width + 'px',\n          'max-width': width + 'px'\n        }))\n      };\n      const classes = internalDialog.width.isNone() && internalDialog.height.isNone() ? ['tox-dialog--width-lg'] : [];\n      const iframeUri = new global(internalDialog.url, {\n        base_uri: new global(window.location.href)\n      });\n      const iframeDomain = \"\".concat(iframeUri.protocol, \"://\").concat(iframeUri.host).concat(iframeUri.port ? ':' + iframeUri.port : '');\n      const messageHandlerUnbinder = unbindable();\n      const updateState = (_comp, incoming) => Optional.some(incoming);\n      const extraBehaviours = [Reflecting.config({\n        channel: \"\".concat(dialogChannel, \"-\").concat(dialogId),\n        updateState,\n        initialData: internalDialog\n      }), config('messages', [runOnAttached(() => {\n        const unbind = bind(SugarElement.fromDom(window), 'message', e => {\n          if (iframeUri.isSameOrigin(new global(e.raw.origin))) {\n            const data = e.raw.data;\n            if (isSupportedMessage(data)) {\n              handleMessage(editor, instanceApi, data);\n            } else if (isCustomMessage(data)) {\n              internalDialog.onMessage(instanceApi, data);\n            }\n          }\n        });\n        messageHandlerUnbinder.set(unbind);\n      }), runOnDetached(messageHandlerUnbinder.clear)]), Receiving.config({\n        channels: {\n          [bodySendMessageChannel]: {\n            onReceive: (comp, data) => {\n              descendant(comp.element, 'iframe').each(iframeEle => {\n                const iframeWin = iframeEle.dom.contentWindow;\n                if (isNonNullable(iframeWin)) {\n                  iframeWin.postMessage(data, iframeDomain);\n                }\n              });\n            }\n          }\n        }\n      })];\n      const spec = {\n        id: dialogId,\n        header,\n        body,\n        footer,\n        extraClasses: classes,\n        extraBehaviours,\n        extraStyles: styles\n      };\n      const dialog = renderModalDialog(spec, dialogEvents, backstage);\n      const instanceApi = getUrlDialogApi(dialog);\n      return {\n        dialog,\n        instanceApi\n      };\n    };\n\n    const setup$2 = backstage => {\n      const sharedBackstage = backstage.shared;\n      const open = (message, callback) => {\n        const closeDialog = () => {\n          ModalDialog.hide(alertDialog);\n          callback();\n        };\n        const memFooterClose = record(renderFooterButton({\n          name: 'close-alert',\n          text: 'OK',\n          primary: true,\n          buttonType: Optional.some('primary'),\n          align: 'end',\n          enabled: true,\n          icon: Optional.none()\n        }, 'cancel', backstage));\n        const titleSpec = pUntitled();\n        const closeSpec = pClose(closeDialog, sharedBackstage.providers);\n        const alertDialog = build$1(renderDialog$1({\n          lazySink: () => sharedBackstage.getSink(),\n          header: hiddenHeader(titleSpec, closeSpec),\n          body: pBodyMessage(message, sharedBackstage.providers),\n          footer: Optional.some(pFooter(pFooterGroup([], [memFooterClose.asSpec()]))),\n          onEscape: closeDialog,\n          extraClasses: ['tox-alert-dialog'],\n          extraBehaviours: [],\n          extraStyles: {},\n          dialogEvents: [run$1(formCancelEvent, closeDialog)],\n          eventOrder: {}\n        }));\n        ModalDialog.show(alertDialog);\n        const footerCloseButton = memFooterClose.get(alertDialog);\n        Focusing.focus(footerCloseButton);\n      };\n      return {\n        open\n      };\n    };\n\n    const setup$1 = backstage => {\n      const sharedBackstage = backstage.shared;\n      const open = (message, callback) => {\n        const closeDialog = state => {\n          ModalDialog.hide(confirmDialog);\n          callback(state);\n        };\n        const memFooterYes = record(renderFooterButton({\n          name: 'yes',\n          text: 'Yes',\n          primary: true,\n          buttonType: Optional.some('primary'),\n          align: 'end',\n          enabled: true,\n          icon: Optional.none()\n        }, 'submit', backstage));\n        const footerNo = renderFooterButton({\n          name: 'no',\n          text: 'No',\n          primary: false,\n          buttonType: Optional.some('secondary'),\n          align: 'end',\n          enabled: true,\n          icon: Optional.none()\n        }, 'cancel', backstage);\n        const titleSpec = pUntitled();\n        const closeSpec = pClose(() => closeDialog(false), sharedBackstage.providers);\n        const confirmDialog = build$1(renderDialog$1({\n          lazySink: () => sharedBackstage.getSink(),\n          header: hiddenHeader(titleSpec, closeSpec),\n          body: pBodyMessage(message, sharedBackstage.providers),\n          footer: Optional.some(pFooter(pFooterGroup([], [footerNo, memFooterYes.asSpec()]))),\n          onEscape: () => closeDialog(false),\n          extraClasses: ['tox-confirm-dialog'],\n          extraBehaviours: [],\n          extraStyles: {},\n          dialogEvents: [run$1(formCancelEvent, () => closeDialog(false)), run$1(formSubmitEvent, () => closeDialog(true))],\n          eventOrder: {}\n        }));\n        ModalDialog.show(confirmDialog);\n        const footerYesButton = memFooterYes.get(confirmDialog);\n        Focusing.focus(footerYesButton);\n      };\n      return {\n        open\n      };\n    };\n\n    const validateData = (data, validator) => getOrDie(asRaw('data', validator, data));\n    const isAlertOrConfirmDialog = target => closest(target, '.tox-alert-dialog') || closest(target, '.tox-confirm-dialog');\n    const inlineAdditionalBehaviours = (editor, isStickyToolbar, isToolbarLocationTop) => {\n      if (isStickyToolbar && isToolbarLocationTop) {\n        return [];\n      } else {\n        return [Docking.config({\n          contextual: {\n            lazyContext: () => Optional.some(box$1(SugarElement.fromDom(editor.getContentAreaContainer()))),\n            fadeInClass: 'tox-dialog-dock-fadein',\n            fadeOutClass: 'tox-dialog-dock-fadeout',\n            transitionClass: 'tox-dialog-dock-transition'\n          },\n          modes: ['top'],\n          lazyViewport: comp => {\n            const optScrollingContext = detectWhenSplitUiMode(editor, comp.element);\n            return optScrollingContext.map(sc => {\n              const combinedBounds = getBoundsFrom(sc);\n              return {\n                bounds: combinedBounds,\n                optScrollEnv: Optional.some({\n                  currentScrollTop: sc.element.dom.scrollTop,\n                  scrollElmTop: absolute$3(sc.element).top\n                })\n              };\n            }).getOrThunk(() => ({\n              bounds: win(),\n              optScrollEnv: Optional.none()\n            }));\n          }\n        })];\n      }\n    };\n    const setup = extras => {\n      const editor = extras.editor;\n      const isStickyToolbar$1 = isStickyToolbar(editor);\n      const alertDialog = setup$2(extras.backstages.dialog);\n      const confirmDialog = setup$1(extras.backstages.dialog);\n      const open = (config, params, closeWindow) => {\n        if (!isUndefined(params)) {\n          if (params.inline === 'toolbar') {\n            return openInlineDialog(config, extras.backstages.popup.shared.anchors.inlineDialog(), closeWindow, params);\n          } else if (params.inline === 'bottom') {\n            return openBottomInlineDialog(config, extras.backstages.popup.shared.anchors.inlineBottomDialog(), closeWindow, params);\n          } else if (params.inline === 'cursor') {\n            return openInlineDialog(config, extras.backstages.popup.shared.anchors.cursor(), closeWindow, params);\n          }\n        }\n        return openModalDialog(config, closeWindow);\n      };\n      const openUrl = (config, closeWindow) => openModalUrlDialog(config, closeWindow);\n      const openModalUrlDialog = (config, closeWindow) => {\n        const factory = contents => {\n          const dialog = renderUrlDialog(contents, {\n            closeWindow: () => {\n              ModalDialog.hide(dialog.dialog);\n              closeWindow(dialog.instanceApi);\n            }\n          }, editor, extras.backstages.dialog);\n          ModalDialog.show(dialog.dialog);\n          return dialog.instanceApi;\n        };\n        return DialogManager.openUrl(factory, config);\n      };\n      const openModalDialog = (config, closeWindow) => {\n        const factory = (contents, internalInitialData, dataValidator) => {\n          const initialData = internalInitialData;\n          const dialogInit = {\n            dataValidator,\n            initialData,\n            internalDialog: contents\n          };\n          const dialog = renderDialog(dialogInit, {\n            redial: DialogManager.redial,\n            closeWindow: () => {\n              ModalDialog.hide(dialog.dialog);\n              closeWindow(dialog.instanceApi);\n            }\n          }, extras.backstages.dialog);\n          ModalDialog.show(dialog.dialog);\n          dialog.instanceApi.setData(initialData);\n          return dialog.instanceApi;\n        };\n        return DialogManager.open(factory, config);\n      };\n      const openInlineDialog = (config$1, anchor, closeWindow, windowParams) => {\n        const factory = (contents, internalInitialData, dataValidator) => {\n          const initialData = validateData(internalInitialData, dataValidator);\n          const inlineDialog = value$2();\n          const isToolbarLocationTop = extras.backstages.popup.shared.header.isPositionedAtTop();\n          const dialogInit = {\n            dataValidator,\n            initialData,\n            internalDialog: contents\n          };\n          const refreshDocking = () => inlineDialog.on(dialog => {\n            InlineView.reposition(dialog);\n            if (!isStickyToolbar$1 || !isToolbarLocationTop) {\n              Docking.refresh(dialog);\n            }\n          });\n          const dialogUi = renderInlineDialog(dialogInit, {\n            redial: DialogManager.redial,\n            closeWindow: () => {\n              inlineDialog.on(InlineView.hide);\n              editor.off('ResizeEditor', refreshDocking);\n              inlineDialog.clear();\n              closeWindow(dialogUi.instanceApi);\n            }\n          }, extras.backstages.popup, windowParams.ariaAttrs, refreshDocking);\n          const inlineDialogComp = build$1(InlineView.sketch({\n            lazySink: extras.backstages.popup.shared.getSink,\n            dom: {\n              tag: 'div',\n              classes: []\n            },\n            fireDismissalEventInstead: windowParams.persistent ? {\n              event: 'doNotDismissYet'\n            } : {},\n            ...(isToolbarLocationTop ? {} : {\n              fireRepositionEventInstead: {}\n            }),\n            inlineBehaviours: derive$1([config('window-manager-inline-events', [run$1(dismissRequested(), (_comp, _se) => {\n              emit(dialogUi.dialog, formCancelEvent);\n            })]), ...inlineAdditionalBehaviours(editor, isStickyToolbar$1, isToolbarLocationTop)]),\n            isExtraPart: (_comp, target) => isAlertOrConfirmDialog(target)\n          }));\n          inlineDialog.set(inlineDialogComp);\n          const getInlineDialogBounds = () => {\n            const elem = editor.inline ? body() : SugarElement.fromDom(editor.getContainer());\n            const bounds = box$1(elem);\n            return Optional.some(bounds);\n          };\n          InlineView.showWithinBounds(inlineDialogComp, premade(dialogUi.dialog), {\n            anchor\n          }, getInlineDialogBounds);\n          if (!isStickyToolbar$1 || !isToolbarLocationTop) {\n            Docking.refresh(inlineDialogComp);\n            editor.on('ResizeEditor', refreshDocking);\n          }\n          dialogUi.instanceApi.setData(initialData);\n          Keying.focusIn(dialogUi.dialog);\n          return dialogUi.instanceApi;\n        };\n        return DialogManager.open(factory, config$1);\n      };\n      const openBottomInlineDialog = (config$1, anchor, closeWindow, windowParams) => {\n        const factory = (contents, internalInitialData, dataValidator) => {\n          const initialData = validateData(internalInitialData, dataValidator);\n          const inlineDialog = value$2();\n          const isToolbarLocationTop = extras.backstages.popup.shared.header.isPositionedAtTop();\n          const dialogInit = {\n            dataValidator,\n            initialData,\n            internalDialog: contents\n          };\n          const refreshDocking = () => inlineDialog.on(dialog => {\n            InlineView.reposition(dialog);\n            Docking.refresh(dialog);\n          });\n          const dialogUi = renderInlineDialog(dialogInit, {\n            redial: DialogManager.redial,\n            closeWindow: () => {\n              inlineDialog.on(InlineView.hide);\n              editor.off('ResizeEditor ScrollWindow ElementScroll', refreshDocking);\n              inlineDialog.clear();\n              closeWindow(dialogUi.instanceApi);\n            }\n          }, extras.backstages.popup, windowParams.ariaAttrs, refreshDocking);\n          const inlineDialogComp = build$1(InlineView.sketch({\n            lazySink: extras.backstages.popup.shared.getSink,\n            dom: {\n              tag: 'div',\n              classes: []\n            },\n            fireDismissalEventInstead: windowParams.persistent ? {\n              event: 'doNotDismissYet'\n            } : {},\n            ...(isToolbarLocationTop ? {} : {\n              fireRepositionEventInstead: {}\n            }),\n            inlineBehaviours: derive$1([config('window-manager-inline-events', [run$1(dismissRequested(), (_comp, _se) => {\n              emit(dialogUi.dialog, formCancelEvent);\n            })]), Docking.config({\n              contextual: {\n                lazyContext: () => Optional.some(box$1(SugarElement.fromDom(editor.getContentAreaContainer()))),\n                fadeInClass: 'tox-dialog-dock-fadein',\n                fadeOutClass: 'tox-dialog-dock-fadeout',\n                transitionClass: 'tox-dialog-dock-transition'\n              },\n              modes: ['top', 'bottom'],\n              lazyViewport: comp => {\n                const optScrollingContext = detectWhenSplitUiMode(editor, comp.element);\n                return optScrollingContext.map(sc => {\n                  const combinedBounds = getBoundsFrom(sc);\n                  return {\n                    bounds: combinedBounds,\n                    optScrollEnv: Optional.some({\n                      currentScrollTop: sc.element.dom.scrollTop,\n                      scrollElmTop: absolute$3(sc.element).top\n                    })\n                  };\n                }).getOrThunk(() => ({\n                  bounds: win(),\n                  optScrollEnv: Optional.none()\n                }));\n              }\n            })]),\n            isExtraPart: (_comp, target) => isAlertOrConfirmDialog(target)\n          }));\n          inlineDialog.set(inlineDialogComp);\n          const getInlineDialogBounds = () => {\n            return extras.backstages.popup.shared.getSink().toOptional().bind(s => {\n              const optScrollingContext = detectWhenSplitUiMode(editor, s.element);\n              const margin = 15;\n              const bounds$1 = optScrollingContext.map(sc => getBoundsFrom(sc)).getOr(win());\n              const contentAreaContainer = box$1(SugarElement.fromDom(editor.getContentAreaContainer()));\n              const constrainedBounds = constrain(contentAreaContainer, bounds$1);\n              return Optional.some(bounds(constrainedBounds.x, constrainedBounds.y, constrainedBounds.width, constrainedBounds.height - margin));\n            });\n          };\n          InlineView.showWithinBounds(inlineDialogComp, premade(dialogUi.dialog), {\n            anchor\n          }, getInlineDialogBounds);\n          Docking.refresh(inlineDialogComp);\n          editor.on('ResizeEditor ScrollWindow ElementScroll ResizeWindow', refreshDocking);\n          dialogUi.instanceApi.setData(initialData);\n          Keying.focusIn(dialogUi.dialog);\n          return dialogUi.instanceApi;\n        };\n        return DialogManager.open(factory, config$1);\n      };\n      const confirm = (message, callback) => {\n        confirmDialog.open(message, callback);\n      };\n      const alert = (message, callback) => {\n        alertDialog.open(message, callback);\n      };\n      const close = instanceApi => {\n        instanceApi.close();\n      };\n      return {\n        open,\n        openUrl,\n        alert,\n        close,\n        confirm\n      };\n    };\n\n    const registerOptions = editor => {\n      register$e(editor);\n      register$d(editor);\n      register(editor);\n    };\n    var Theme = (() => {\n      global$a.add('silver', editor => {\n        registerOptions(editor);\n        let popupSinkBounds = () => win();\n        const {\n          dialogs,\n          popups,\n          renderUI: renderModeUI\n        } = setup$3(editor, {\n          getPopupSinkBounds: () => popupSinkBounds()\n        });\n        const renderUI = () => {\n          const renderResult = renderModeUI();\n          const optScrollingContext = detectWhenSplitUiMode(editor, popups.getMothership().element);\n          optScrollingContext.each(sc => {\n            popupSinkBounds = () => {\n              return getBoundsFrom(sc);\n            };\n          });\n          return renderResult;\n        };\n        Autocompleter.register(editor, popups.backstage.shared);\n        const windowMgr = setup({\n          editor,\n          backstages: {\n            popup: popups.backstage,\n            dialog: dialogs.backstage\n          }\n        });\n        const getNotificationManagerImpl = () => NotificationManagerImpl(editor, {\n          backstage: popups.backstage\n        }, popups.getMothership());\n        return {\n          renderUI,\n          getWindowManagerImpl: constant$1(windowMgr),\n          getNotificationManagerImpl,\n          ui: {\n            getRootComponent: dialogs.getMothership,\n            getBackstage: constant$1(dialogs.backstage.shared),\n            resizeBy: (delta, resizeType) => {\n              resize(editor, delta, resizeType);\n            }\n          }\n        };\n      });\n    });\n\n    Theme();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    let unique = 0;\n    const generate = prefix => {\n      const date = new Date();\n      const time = date.getTime();\n      const random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldl = (xs, f, acc) => {\n      each$1(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$2 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll = (element, attrs) => {\n      const dom = element.dom;\n      each(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const get$2 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$2(element, key));\n    const remove$2 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const clone = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is$2 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const is$1 = is$2;\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$1 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const get$1 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const remove$1 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$2(element, 'style');\n      }\n    };\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$1 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap = (element, wrapper) => {\n      before(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after = (marker, elements) => {\n      each$1(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$1(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$1(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each$1(children(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    var ClosestOrAncestor = ((is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    });\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children$1 = children(wrapper);\n      if (children$1.length > 0) {\n        after(wrapper, children$1);\n      }\n      remove(wrapper);\n    };\n\n    const descendants = (scope, selector) => all(selector, scope);\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is$2(e, selector), isRoot);\n    const descendant = (scope, selector) => one(selector, scope);\n    const closest = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$2(element, selector);\n      return ClosestOrAncestor(is, ancestor, scope, selector, isRoot);\n    };\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText, 'text');\n    const get = element => api.get(element);\n    const set = (element, value) => api.set(element, value);\n\n    var TagBoundaries = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'li', 'table', 'thead', 'tbody', 'tfoot', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n\n    var DomUniverse = (() => {\n      const clone$1 = element => {\n        return SugarElement.fromDom(element.dom.cloneNode(false));\n      };\n      const document = element => documentOrOwner(element).dom;\n      const isBoundary = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        if (name(element) === 'body') {\n          return true;\n        }\n        return contains(TagBoundaries, name(element));\n      };\n      const isEmptyTag = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        return contains(['br', 'img', 'hr', 'input'], name(element));\n      };\n      const isNonEditable = element => isElement(element) && get$2(element, 'contenteditable') === 'false';\n      const comparePosition = (element, other) => {\n        return element.dom.compareDocumentPosition(other.dom);\n      };\n      const copyAttributesTo = (source, destination) => {\n        const as = clone(source);\n        setAll(destination, as);\n      };\n      const isSpecial = element => {\n        const tag = name(element);\n        return contains(['script', 'noscript', 'iframe', 'noframes', 'noembed', 'title', 'style', 'textarea', 'xmp'], tag);\n      };\n      const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none();\n      return {\n        up: constant({\n          selector: ancestor,\n          closest: closest,\n          predicate: ancestor$1,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants,\n          predicate: descendants$1\n        }),\n        styles: constant({\n          get: get$1,\n          getRaw: getRaw,\n          set: set$1,\n          remove: remove$1\n        }),\n        attrs: constant({\n          get: get$2,\n          set: set$2,\n          remove: remove$2,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before,\n          after: after$1,\n          afterAll: after,\n          append: append$1,\n          appendAll: append,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove\n        }),\n        create: constant({\n          nu: SugarElement.fromTag,\n          clone: clone$1,\n          text: SugarElement.fromText\n        }),\n        query: constant({\n          comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children,\n          name: name,\n          parent: parent,\n          document,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          isSpecial,\n          getLanguage,\n          getText: get,\n          setText: set,\n          isBoundary,\n          isEmptyTag,\n          isNonEditable\n        }),\n        eq: eq,\n        is: is$1\n      };\n    });\n\n    const point = (element, offset) => ({\n      element,\n      offset\n    });\n\n    const scan = (universe, element, direction) => {\n      if (universe.property().isText(element) && universe.property().getText(element).trim().length === 0 || universe.property().isComment(element)) {\n        return direction(element).bind(elem => {\n          return scan(universe, elem, direction).orThunk(() => {\n            return Optional.some(elem);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const toEnd = (universe, element) => {\n      if (universe.property().isText(element)) {\n        return universe.property().getText(element).length;\n      }\n      const children = universe.property().children(element);\n      return children.length;\n    };\n    const freefallRtl$2 = (universe, element) => {\n      const candidate = scan(universe, element, universe.query().prevSibling).getOr(element);\n      if (universe.property().isText(candidate)) {\n        return point(candidate, toEnd(universe, candidate));\n      }\n      const children = universe.property().children(candidate);\n      return children.length > 0 ? freefallRtl$2(universe, children[children.length - 1]) : point(candidate, toEnd(universe, candidate));\n    };\n\n    const freefallRtl$1 = freefallRtl$2;\n\n    const universe = DomUniverse();\n    const freefallRtl = element => {\n      return freefallRtl$1(universe, element);\n    };\n\n    const fireToggleAccordionEvent = (editor, element, state) => editor.dispatch('ToggledAccordion', {\n      element,\n      state\n    });\n    const fireToggleAllAccordionsEvent = (editor, elements, state) => editor.dispatch('ToggledAllAccordions', {\n      elements,\n      state\n    });\n\n    const accordionTag = 'details';\n    const accordionDetailsClass = 'mce-accordion';\n    const accordionSummaryClass = 'mce-accordion-summary';\n    const accordionBodyWrapperClass = 'mce-accordion-body';\n    const accordionBodyWrapperTag = 'div';\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const isSummary = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'SUMMARY';\n    const isDetails = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'DETAILS';\n    const isOpen = details => details.hasAttribute('open');\n    const isInSummary = editor => {\n      const node = editor.selection.getNode();\n      return isSummary(node) || Boolean(editor.dom.getParent(node, isSummary));\n    };\n    const isAtDetailsStart = editor => {\n      const rng = editor.selection.getRng();\n      return isDetails(rng.startContainer) && rng.collapsed && rng.startOffset === 0;\n    };\n    const isInsertAllowed = editor => !isInSummary(editor) && editor.dom.isEditable(editor.selection.getNode());\n    const getSelectedDetails = editor => Optional.from(editor.dom.getParent(editor.selection.getNode(), isDetails));\n    const isDetailsSelected = editor => getSelectedDetails(editor).isSome();\n    const insertBogus = element => {\n      element.innerHTML = '<br data-mce-bogus=\"1\" />';\n      return element;\n    };\n    const createParagraph = editor => insertBogus(editor.dom.create('p'));\n    const createSummary = editor => insertBogus(editor.dom.create('summary'));\n    const insertAndSelectParagraphAfter = (editor, target) => {\n      const paragraph = createParagraph(editor);\n      target.insertAdjacentElement('afterend', paragraph);\n      editor.selection.setCursorLocation(paragraph, 0);\n    };\n    const normalizeContent = (editor, accordion) => {\n      if (isSummary(accordion === null || accordion === void 0 ? void 0 : accordion.lastChild)) {\n        const paragraph = createParagraph(editor);\n        accordion.appendChild(paragraph);\n        editor.selection.setCursorLocation(paragraph, 0);\n      }\n    };\n    const normalizeSummary = (editor, accordion) => {\n      if (!isSummary(accordion === null || accordion === void 0 ? void 0 : accordion.firstChild)) {\n        const summary = createSummary(editor);\n        accordion.prepend(summary);\n        editor.selection.setCursorLocation(summary, 0);\n      }\n    };\n    const normalizeAccordion = editor => accordion => {\n      normalizeContent(editor, accordion);\n      normalizeSummary(editor, accordion);\n    };\n    const normalizeDetails = editor => {\n      global$3.each(global$3.grep(editor.dom.select('details', editor.getBody())), normalizeAccordion(editor));\n    };\n\n    const insertAccordion = editor => {\n      if (!isInsertAllowed(editor)) {\n        return;\n      }\n      const editorBody = SugarElement.fromDom(editor.getBody());\n      const uid = generate('acc');\n      const summaryText = editor.dom.encode(editor.selection.getRng().toString() || editor.translate('Accordion summary...'));\n      const bodyText = editor.dom.encode(editor.translate('Accordion body...'));\n      const accordionSummaryHtml = \"<summary class=\\\"\".concat(accordionSummaryClass, \"\\\">\").concat(summaryText, \"<\/summary>\");\n      const accordionBodyHtml = \"<\".concat(accordionBodyWrapperTag, \" class=\\\"\").concat(accordionBodyWrapperClass, \"\\\"><p>\").concat(bodyText, \"<\/p><\/\").concat(accordionBodyWrapperTag, \">\");\n      editor.undoManager.transact(() => {\n        editor.insertContent([\"<details data-mce-id=\\\"\".concat(uid, \"\\\" class=\\\"\").concat(accordionDetailsClass, \"\\\" open=\\\"open\\\">\"), accordionSummaryHtml, accordionBodyHtml, \"<\/details>\"].join(''));\n        descendant(editorBody, \"[data-mce-id=\\\"\".concat(uid, \"\\\"]\")).each(detailsElm => {\n          remove$2(detailsElm, 'data-mce-id');\n          descendant(detailsElm, \"summary\").each(summaryElm => {\n            const rng = editor.dom.createRng();\n            const des = freefallRtl(summaryElm);\n            rng.setStart(des.element.dom, des.offset);\n            rng.setEnd(des.element.dom, des.offset);\n            editor.selection.setRng(rng);\n          });\n        });\n      });\n    };\n    const toggleDetailsElement = (details, state) => {\n      const shouldOpen = state !== null && state !== void 0 ? state : !isOpen(details);\n      if (shouldOpen) {\n        details.setAttribute('open', 'open');\n      } else {\n        details.removeAttribute('open');\n      }\n      return shouldOpen;\n    };\n    const toggleAccordion = (editor, state) => {\n      getSelectedDetails(editor).each(details => {\n        fireToggleAccordionEvent(editor, details, toggleDetailsElement(details, state));\n      });\n    };\n    const removeAccordion = editor => {\n      getSelectedDetails(editor).each(details => {\n        const {\n          nextSibling\n        } = details;\n        if (nextSibling) {\n          editor.selection.select(nextSibling, true);\n          editor.selection.collapse(true);\n        } else {\n          insertAndSelectParagraphAfter(editor, details);\n        }\n        details.remove();\n      });\n    };\n    const toggleAllAccordions = (editor, state) => {\n      const accordions = Array.from(editor.getBody().querySelectorAll('details'));\n      if (accordions.length === 0) {\n        return;\n      }\n      each$1(accordions, accordion => toggleDetailsElement(accordion, state !== null && state !== void 0 ? state : !isOpen(accordion)));\n      fireToggleAllAccordionsEvent(editor, accordions, state);\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('InsertAccordion', () => insertAccordion(editor));\n      editor.addCommand('ToggleAccordion', (_ui, value) => toggleAccordion(editor, value));\n      editor.addCommand('ToggleAllAccordions', (_ui, value) => toggleAllAccordions(editor, value));\n      editor.addCommand('RemoveAccordion', () => removeAccordion(editor));\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    const getClassList = node => {\n      var _a, _b;\n      return (_b = (_a = node.attr('class')) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];\n    };\n    const addClasses = (node, classes) => {\n      const classListSet = new Set([...getClassList(node), ...classes]);\n      const newClassList = Array.from(classListSet);\n      if (newClassList.length > 0) {\n        node.attr('class', newClassList.join(' '));\n      }\n    };\n    const removeClasses = (node, classes) => {\n      const newClassList = filter(getClassList(node), clazz => !classes.has(clazz));\n      node.attr('class', newClassList.length > 0 ? newClassList.join(' ') : null);\n    };\n    const isAccordionDetailsNode = node => node.name === accordionTag && contains(getClassList(node), accordionDetailsClass);\n    const isAccordionBodyWrapperNode = node => node.name === accordionBodyWrapperTag && contains(getClassList(node), accordionBodyWrapperClass);\n    const getAccordionChildren = accordionNode => {\n      const children = accordionNode.children();\n      let summaryNode;\n      let wrapperNode;\n      const otherNodes = [];\n      for (let i = 0; i < children.length; i++) {\n        const child = children[i];\n        if (child.name === 'summary' && isNullable(summaryNode)) {\n          summaryNode = child;\n        } else if (isAccordionBodyWrapperNode(child) && isNullable(wrapperNode)) {\n          wrapperNode = child;\n        } else {\n          otherNodes.push(child);\n        }\n      }\n      return {\n        summaryNode,\n        wrapperNode,\n        otherNodes\n      };\n    };\n    const padInputNode = node => {\n      const br = new global$2('br', 1);\n      br.attr('data-mce-bogus', '1');\n      node.empty();\n      node.append(br);\n    };\n    const setup$2 = editor => {\n      editor.on('PreInit', () => {\n        const {\n          serializer,\n          parser\n        } = editor;\n        parser.addNodeFilter(accordionTag, nodes => {\n          for (let i = 0; i < nodes.length; i++) {\n            const node = nodes[i];\n            if (isAccordionDetailsNode(node)) {\n              const accordionNode = node;\n              const {\n                summaryNode,\n                wrapperNode,\n                otherNodes\n              } = getAccordionChildren(accordionNode);\n              const hasSummaryNode = isNonNullable(summaryNode);\n              const newSummaryNode = hasSummaryNode ? summaryNode : new global$2('summary', 1);\n              if (isNullable(newSummaryNode.firstChild)) {\n                padInputNode(newSummaryNode);\n              }\n              addClasses(newSummaryNode, [accordionSummaryClass]);\n              if (!hasSummaryNode) {\n                if (isNonNullable(accordionNode.firstChild)) {\n                  accordionNode.insert(newSummaryNode, accordionNode.firstChild, true);\n                } else {\n                  accordionNode.append(newSummaryNode);\n                }\n              }\n              const hasWrapperNode = isNonNullable(wrapperNode);\n              const newWrapperNode = hasWrapperNode ? wrapperNode : new global$2(accordionBodyWrapperTag, 1);\n              newWrapperNode.attr('data-mce-bogus', '1');\n              addClasses(newWrapperNode, [accordionBodyWrapperClass]);\n              if (otherNodes.length > 0) {\n                for (let j = 0; j < otherNodes.length; j++) {\n                  const otherNode = otherNodes[j];\n                  newWrapperNode.append(otherNode);\n                }\n              }\n              if (isNullable(newWrapperNode.firstChild)) {\n                const pNode = new global$2('p', 1);\n                padInputNode(pNode);\n                newWrapperNode.append(pNode);\n              }\n              if (!hasWrapperNode) {\n                accordionNode.append(newWrapperNode);\n              }\n            }\n          }\n        });\n        serializer.addNodeFilter(accordionTag, nodes => {\n          const summaryClassRemoveSet = new Set([accordionSummaryClass]);\n          for (let i = 0; i < nodes.length; i++) {\n            const node = nodes[i];\n            if (isAccordionDetailsNode(node)) {\n              const accordionNode = node;\n              const {\n                summaryNode,\n                wrapperNode\n              } = getAccordionChildren(accordionNode);\n              if (isNonNullable(summaryNode)) {\n                removeClasses(summaryNode, summaryClassRemoveSet);\n              }\n              if (isNonNullable(wrapperNode)) {\n                wrapperNode.unwrap();\n              }\n            }\n          }\n        });\n      });\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const setupEnterKeyInSummary = editor => {\n      editor.on('keydown', event => {\n        if (!event.shiftKey && event.keyCode === global$1.ENTER && isInSummary(editor) || isAtDetailsStart(editor)) {\n          event.preventDefault();\n          editor.execCommand('ToggleAccordion');\n        }\n      });\n    };\n    const setup$1 = editor => {\n      setupEnterKeyInSummary(editor);\n      editor.on('ExecCommand', e => {\n        const cmd = e.command.toLowerCase();\n        if ((cmd === 'delete' || cmd === 'forwarddelete') && isDetailsSelected(editor)) {\n          normalizeDetails(editor);\n        }\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const setup = editor => {\n      if (global.browser.isSafari()) {\n        editor.on('click', e => {\n          if (isSummary(e.target)) {\n            const summary = e.target;\n            const rng = editor.selection.getRng();\n            if (rng.collapsed && rng.startContainer === summary.parentNode && rng.startOffset === 0) {\n              editor.selection.setCursorLocation(summary, 0);\n            }\n          }\n        });\n      }\n    };\n\n    const onSetup = editor => buttonApi => {\n      const onNodeChange = () => buttonApi.setEnabled(isInsertAllowed(editor));\n      editor.on('NodeChange', onNodeChange);\n      return () => editor.off('NodeChange', onNodeChange);\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('InsertAccordion');\n      editor.ui.registry.addButton('accordion', {\n        icon: 'accordion',\n        tooltip: 'Insert accordion',\n        onSetup: onSetup(editor),\n        onAction\n      });\n      editor.ui.registry.addMenuItem('accordion', {\n        icon: 'accordion',\n        text: 'Accordion',\n        onSetup: onSetup(editor),\n        onAction\n      });\n      editor.ui.registry.addToggleButton('accordiontoggle', {\n        icon: 'accordion-toggle',\n        tooltip: 'Toggle accordion',\n        onAction: () => editor.execCommand('ToggleAccordion')\n      });\n      editor.ui.registry.addToggleButton('accordionremove', {\n        icon: 'remove',\n        tooltip: 'Delete accordion',\n        onAction: () => editor.execCommand('RemoveAccordion')\n      });\n      editor.ui.registry.addContextToolbar('accordion', {\n        predicate: accordion => editor.dom.is(accordion, 'details') && editor.getBody().contains(accordion) && editor.dom.isEditable(accordion.parentNode),\n        items: 'accordiontoggle accordionremove',\n        scope: 'node',\n        position: 'node'\n      });\n    };\n\n    var Plugin = (() => {\n      global$4.add('accordion', editor => {\n        register(editor);\n        register$1(editor);\n        setup$1(editor);\n        setup$2(editor);\n        setup(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const applyListFormat = (editor, listName, styleValue) => {\n      const cmd = listName === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList';\n      editor.execCommand(cmd, false, styleValue === false ? null : {\n        'list-style-type': styleValue\n      });\n    };\n\n    const register$2 = editor => {\n      editor.addCommand('ApplyUnorderedListStyle', (ui, value) => {\n        applyListFormat(editor, 'UL', value['list-style-type']);\n      });\n      editor.addCommand('ApplyOrderedListStyle', (ui, value) => {\n        applyListFormat(editor, 'OL', value['list-style-type']);\n      });\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('advlist_number_styles', {\n        processor: 'string[]',\n        default: 'default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman'.split(',')\n      });\n      registerOption('advlist_bullet_styles', {\n        processor: 'string[]',\n        default: 'default,circle,square'.split(',')\n      });\n    };\n    const getNumberStyles = option('advlist_number_styles');\n    const getBulletStyles = option('advlist_bullet_styles');\n\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const isCustomList = list => /\\btox\\-/.test(list.className);\n    const isChildOfBody = (editor, elm) => {\n      return editor.dom.isChildOf(elm, editor.getBody());\n    };\n    const matchNodeNames = regex => node => isNonNullable(node) && regex.test(node.nodeName);\n    const isListNode = matchNodeNames(/^(OL|UL|DL)$/);\n    const isTableCellNode = matchNodeNames(/^(TH|TD)$/);\n    const inList = (editor, parents, nodeName) => findUntil(parents, parent => isListNode(parent) && !isCustomList(parent), isTableCellNode).exists(list => list.nodeName === nodeName && isChildOfBody(editor, list));\n    const getSelectedStyleType = editor => {\n      const listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');\n      const style = editor.dom.getStyle(listElm, 'listStyleType');\n      return Optional.from(style);\n    };\n    const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element);\n    const isWithinNonEditableList = (editor, element) => {\n      const parentList = editor.dom.getParent(element, 'ol,ul,dl');\n      return isWithinNonEditable(editor, parentList) && editor.selection.isEditable();\n    };\n    const setNodeChangeHandler = (editor, nodeChangeHandler) => {\n      const initialNode = editor.selection.getNode();\n      nodeChangeHandler({\n        parents: editor.dom.getParents(initialNode),\n        element: initialNode\n      });\n      editor.on('NodeChange', nodeChangeHandler);\n      return () => editor.off('NodeChange', nodeChangeHandler);\n    };\n\n    const styleValueToText = styleValue => {\n      return styleValue.replace(/\\-/g, ' ').replace(/\\b\\w/g, chr => {\n        return chr.toUpperCase();\n      });\n    };\n    const normalizeStyleValue = styleValue => isNullable(styleValue) || styleValue === 'default' ? '' : styleValue;\n    const makeSetupHandler = (editor, nodeName) => api => {\n      const updateButtonState = (editor, parents) => {\n        const element = editor.selection.getStart(true);\n        api.setActive(inList(editor, parents, nodeName));\n        api.setEnabled(!isWithinNonEditableList(editor, element) && editor.selection.isEditable());\n      };\n      const nodeChangeHandler = e => updateButtonState(editor, e.parents);\n      return setNodeChangeHandler(editor, nodeChangeHandler);\n    };\n    const addSplitButton = (editor, id, tooltip, cmd, nodeName, styles) => {\n      editor.ui.registry.addSplitButton(id, {\n        tooltip,\n        icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list',\n        presets: 'listpreview',\n        columns: 3,\n        fetch: callback => {\n          const items = global.map(styles, styleValue => {\n            const iconStyle = nodeName === 'OL' ? 'num' : 'bull';\n            const iconName = styleValue === 'disc' || styleValue === 'decimal' ? 'default' : styleValue;\n            const itemValue = normalizeStyleValue(styleValue);\n            const displayText = styleValueToText(styleValue);\n            return {\n              type: 'choiceitem',\n              value: itemValue,\n              icon: 'list-' + iconStyle + '-' + iconName,\n              text: displayText\n            };\n          });\n          callback(items);\n        },\n        onAction: () => editor.execCommand(cmd),\n        onItemAction: (_splitButtonApi, value) => {\n          applyListFormat(editor, nodeName, value);\n        },\n        select: value => {\n          const listStyleType = getSelectedStyleType(editor);\n          return listStyleType.map(listStyle => value === listStyle).getOr(false);\n        },\n        onSetup: makeSetupHandler(editor, nodeName)\n      });\n    };\n    const addButton = (editor, id, tooltip, cmd, nodeName, styleValue) => {\n      editor.ui.registry.addToggleButton(id, {\n        active: false,\n        tooltip,\n        icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list',\n        onSetup: makeSetupHandler(editor, nodeName),\n        onAction: () => editor.queryCommandState(cmd) || styleValue === '' ? editor.execCommand(cmd) : applyListFormat(editor, nodeName, styleValue)\n      });\n    };\n    const addControl = (editor, id, tooltip, cmd, nodeName, styles) => {\n      if (styles.length > 1) {\n        addSplitButton(editor, id, tooltip, cmd, nodeName, styles);\n      } else {\n        addButton(editor, id, tooltip, cmd, nodeName, normalizeStyleValue(styles[0]));\n      }\n    };\n    const register = editor => {\n      addControl(editor, 'numlist', 'Numbered list', 'InsertOrderedList', 'OL', getNumberStyles(editor));\n      addControl(editor, 'bullist', 'Bullet list', 'InsertUnorderedList', 'UL', getBulletStyles(editor));\n    };\n\n    var Plugin = (() => {\n      global$1.add('advlist', editor => {\n        if (editor.hasPlugin('lists')) {\n          register$1(editor);\n          register(editor);\n          register$2(editor);\n        } else {\n          console.error('Please use the Lists plugin together with the Advanced List plugin.');\n        }\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var Plugin = (() => {\n      global.add('align_listitems', editor => {\n        const addListStylePosition = node => node ? editor.dom.setStyle(node, 'list-style-position', 'inside') : null;\n        editor.on('ExecCommand', ({\n          command,\n          target\n        }) => {\n          let tag;\n          switch (command) {\n            case 'InsertOrderedList':\n              tag = 'ol';\n              break;\n            case 'InsertUnorderedList':\n              tag = 'ul';\n              break;\n            default:\n              return;\n          }\n          const node = target.selection.getStart().closest(tag);\n          addListStylePosition(node);\n        });\n        editor.on('PastePostProcess', ({\n          node\n        }) => {\n          const nodes = [...node.querySelectorAll('ol,ul')];\n          nodes.forEach(addListStylePosition);\n        });\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('allow_html_in_named_anchor', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const allowHtmlInNamedAnchor = option('allow_html_in_named_anchor');\n\n    const namedAnchorSelector = 'a:not([href])';\n    const isEmptyString = str => !str;\n    const getIdFromAnchor = elm => {\n      const id = elm.getAttribute('id') || elm.getAttribute('name');\n      return id || '';\n    };\n    const isAnchor = elm => elm.nodeName.toLowerCase() === 'a';\n    const isNamedAnchor = elm => isAnchor(elm) && !elm.getAttribute('href') && getIdFromAnchor(elm) !== '';\n    const isEmptyNamedAnchor = elm => isNamedAnchor(elm) && !elm.firstChild;\n\n    const removeEmptyNamedAnchorsInSelection = editor => {\n      const dom = editor.dom;\n      global$1(dom).walk(editor.selection.getRng(), nodes => {\n        global.each(nodes, node => {\n          if (isEmptyNamedAnchor(node)) {\n            dom.remove(node, false);\n          }\n        });\n      });\n    };\n    const isValidId = id => /^[A-Za-z][A-Za-z0-9\\-:._]*$/.test(id);\n    const getNamedAnchor = editor => editor.dom.getParent(editor.selection.getStart(), namedAnchorSelector);\n    const getId = editor => {\n      const anchor = getNamedAnchor(editor);\n      if (anchor) {\n        return getIdFromAnchor(anchor);\n      } else {\n        return '';\n      }\n    };\n    const createAnchor = (editor, id) => {\n      editor.undoManager.transact(() => {\n        if (!allowHtmlInNamedAnchor(editor)) {\n          editor.selection.collapse(true);\n        }\n        if (editor.selection.isCollapsed()) {\n          editor.insertContent(editor.dom.createHTML('a', {\n            id\n          }));\n        } else {\n          removeEmptyNamedAnchorsInSelection(editor);\n          editor.formatter.remove('namedAnchor', undefined, undefined, true);\n          editor.formatter.apply('namedAnchor', {\n            value: id\n          });\n          editor.addVisual();\n        }\n      });\n    };\n    const updateAnchor = (editor, id, anchorElement) => {\n      anchorElement.removeAttribute('name');\n      anchorElement.id = id;\n      editor.addVisual();\n      editor.undoManager.add();\n    };\n    const insert = (editor, id) => {\n      const anchor = getNamedAnchor(editor);\n      if (anchor) {\n        updateAnchor(editor, id, anchor);\n      } else {\n        createAnchor(editor, id);\n      }\n      editor.focus();\n    };\n\n    const insertAnchor = (editor, newId) => {\n      if (!isValidId(newId)) {\n        editor.windowManager.alert('ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.');\n        return false;\n      } else {\n        insert(editor, newId);\n        return true;\n      }\n    };\n    const open = editor => {\n      const currentId = getId(editor);\n      editor.windowManager.open({\n        title: 'Anchor',\n        size: 'normal',\n        body: {\n          type: 'panel',\n          items: [{\n            name: 'id',\n            type: 'input',\n            label: 'ID',\n            placeholder: 'example'\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: {\n          id: currentId\n        },\n        onSubmit: api => {\n          if (insertAnchor(editor, api.getData().id)) {\n            api.close();\n          }\n        }\n      });\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceAnchor', () => {\n        open(editor);\n      });\n    };\n\n    const isNamedAnchorNode = node => isEmptyString(node.attr('href')) && !isEmptyString(node.attr('id') || node.attr('name'));\n    const isEmptyNamedAnchorNode = node => isNamedAnchorNode(node) && !node.firstChild;\n    const setContentEditable = state => nodes => {\n      for (let i = 0; i < nodes.length; i++) {\n        const node = nodes[i];\n        if (isEmptyNamedAnchorNode(node)) {\n          node.attr('contenteditable', state);\n        }\n      }\n    };\n    const setup = editor => {\n      editor.on('PreInit', () => {\n        editor.parser.addNodeFilter('a', setContentEditable('false'));\n        editor.serializer.addNodeFilter('a', setContentEditable(null));\n      });\n    };\n\n    const registerFormats = editor => {\n      editor.formatter.register('namedAnchor', {\n        inline: 'a',\n        selector: namedAnchorSelector,\n        remove: 'all',\n        split: true,\n        deep: true,\n        attributes: {\n          id: '%value'\n        },\n        onmatch: (node, _fmt, _itemName) => {\n          return isNamedAnchor(node);\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceAnchor');\n      editor.ui.registry.addToggleButton('anchor', {\n        icon: 'bookmark',\n        tooltip: 'Anchor',\n        onAction,\n        onSetup: buttonApi => {\n          const unbindSelectorChanged = editor.selection.selectorChangedWithUnbind('a:not([href])', buttonApi.setActive).unbind;\n          const unbindEditableChanged = onSetupEditable(editor)(buttonApi);\n          return () => {\n            unbindSelectorChanged();\n            unbindEditableChanged();\n          };\n        }\n      });\n      editor.ui.registry.addMenuItem('anchor', {\n        icon: 'bookmark',\n        text: 'Anchor...',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = (() => {\n      global$2.add('anchor', editor => {\n        register$2(editor);\n        setup(editor);\n        register$1(editor);\n        register(editor);\n        editor.on('PreInit', () => {\n          registerFormats(editor);\n        });\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n  'use strict';\n\n  var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n  const link = () => /(?:[A-Za-z][A-Za-z\\d.+-]{0,14}:\\/\\/(?:[-.~*+=!&;:'%@?^${}(),\\w]+@)?|www\\.|[-;:&=+$,.\\w]+@)[A-Za-z\\d-]+(?:\\.[A-Za-z\\d-]+)*(?::\\d+)?(?:\\/(?:[-.~*+=!;:'%@$(),\\/\\w]*[-~*+=%@$()\\/\\w])?)?(?:\\?(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?/g;\n\n  const option = name => editor => editor.options.get(name);\n  const register = editor => {\n    const registerOption = editor.options.register;\n    registerOption('autolink_pattern', {\n      processor: 'regexp',\n      default: new RegExp('^' + link().source + '$', 'i')\n    });\n    registerOption('link_default_target', {\n      processor: 'string'\n    });\n    registerOption('link_default_protocol', {\n      processor: 'string',\n      default: 'https'\n    });\n  };\n  const getAutoLinkPattern = option('autolink_pattern');\n  const getDefaultLinkTarget = option('link_default_target');\n  const getDefaultLinkProtocol = option('link_default_protocol');\n  const allowUnsafeLinkTarget = option('allow_unsafe_link_target');\n\n  const hasProto = (v, constructor, predicate) => {\n    var _a;\n    if (predicate(v, constructor.prototype)) {\n      return true;\n    } else {\n      return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n    }\n  };\n  const typeOf = x => {\n    const t = typeof x;\n    if (x === null) {\n      return 'null';\n    } else if (t === 'object' && Array.isArray(x)) {\n      return 'array';\n    } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n      return 'string';\n    } else {\n      return t;\n    }\n  };\n  const isType = type => value => typeOf(value) === type;\n  const eq = t => a => t === a;\n  const isString = isType('string');\n  const isUndefined = eq(undefined);\n  const isNullable = a => a === null || a === undefined;\n  const isNonNullable = a => !isNullable(a);\n\n  const not = f => t => !f(t);\n\n  const hasOwnProperty = Object.hasOwnProperty;\n  const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n  const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n  const contains = (str, substr, start = 0, end) => {\n    const idx = str.indexOf(substr, start);\n    if (idx !== -1) {\n      return isUndefined(end) ? true : idx + substr.length <= end;\n    } else {\n      return false;\n    }\n  };\n  const startsWith = (str, prefix) => {\n    return checkRange(str, prefix, 0);\n  };\n\n  const zeroWidth = '\\uFEFF';\n  const isZwsp = char => char === zeroWidth;\n  const removeZwsp = s => s.replace(/\\uFEFF/g, '');\n\n  var global = tinymce.util.Tools.resolve('tinymce.dom.TextSeeker');\n\n  const isTextNode = node => node.nodeType === 3;\n  const isElement = node => node.nodeType === 1;\n  const isBracketOrSpace = char => /^[(\\[{ \\u00a0]$/.test(char);\n  const hasProtocol = url => /^([A-Za-z][A-Za-z\\d.+-]*:\\/\\/)|mailto:/.test(url);\n  const isPunctuation = char => /[?!,.;:]/.test(char);\n  const findChar = (text, index, predicate) => {\n    for (let i = index - 1; i >= 0; i--) {\n      const char = text.charAt(i);\n      if (!isZwsp(char) && predicate(char)) {\n        return i;\n      }\n    }\n    return -1;\n  };\n  const freefallRtl = (container, offset) => {\n    let tempNode = container;\n    let tempOffset = offset;\n    while (isElement(tempNode) && tempNode.childNodes[tempOffset]) {\n      tempNode = tempNode.childNodes[tempOffset];\n      tempOffset = isTextNode(tempNode) ? tempNode.data.length : tempNode.childNodes.length;\n    }\n    return {\n      container: tempNode,\n      offset: tempOffset\n    };\n  };\n\n  const parseCurrentLine = (editor, offset) => {\n    var _a;\n    const voidElements = editor.schema.getVoidElements();\n    const autoLinkPattern = getAutoLinkPattern(editor);\n    const {\n      dom,\n      selection\n    } = editor;\n    if (dom.getParent(selection.getNode(), 'a[href]') !== null) {\n      return null;\n    }\n    const rng = selection.getRng();\n    const textSeeker = global(dom, node => {\n      return dom.isBlock(node) || has(voidElements, node.nodeName.toLowerCase()) || dom.getContentEditable(node) === 'false';\n    });\n    const {\n      container: endContainer,\n      offset: endOffset\n    } = freefallRtl(rng.endContainer, rng.endOffset);\n    const root = (_a = dom.getParent(endContainer, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();\n    const endSpot = textSeeker.backwards(endContainer, endOffset + offset, (node, offset) => {\n      const text = node.data;\n      const idx = findChar(text, offset, not(isBracketOrSpace));\n      return idx === -1 || isPunctuation(text[idx]) ? idx : idx + 1;\n    }, root);\n    if (!endSpot) {\n      return null;\n    }\n    let lastTextNode = endSpot.container;\n    const startSpot = textSeeker.backwards(endSpot.container, endSpot.offset, (node, offset) => {\n      lastTextNode = node;\n      const idx = findChar(node.data, offset, isBracketOrSpace);\n      return idx === -1 ? idx : idx + 1;\n    }, root);\n    const newRng = dom.createRng();\n    if (!startSpot) {\n      newRng.setStart(lastTextNode, 0);\n    } else {\n      newRng.setStart(startSpot.container, startSpot.offset);\n    }\n    newRng.setEnd(endSpot.container, endSpot.offset);\n    const rngText = removeZwsp(newRng.toString());\n    const matches = rngText.match(autoLinkPattern);\n    if (matches) {\n      let url = matches[0];\n      if (startsWith(url, 'www.')) {\n        const protocol = getDefaultLinkProtocol(editor);\n        url = protocol + '://' + url;\n      } else if (contains(url, '@') && !hasProtocol(url)) {\n        url = 'mailto:' + url;\n      }\n      return {\n        rng: newRng,\n        url\n      };\n    } else {\n      return null;\n    }\n  };\n  const convertToLink = (editor, result) => {\n    const {\n      dom,\n      selection\n    } = editor;\n    const {\n      rng,\n      url\n    } = result;\n    const bookmark = selection.getBookmark();\n    selection.setRng(rng);\n    const command = 'createlink';\n    const args = {\n      command,\n      ui: false,\n      value: url\n    };\n    const beforeExecEvent = editor.dispatch('BeforeExecCommand', args);\n    if (!beforeExecEvent.isDefaultPrevented()) {\n      editor.getDoc().execCommand(command, false, url);\n      editor.dispatch('ExecCommand', args);\n      const defaultLinkTarget = getDefaultLinkTarget(editor);\n      if (isString(defaultLinkTarget)) {\n        const anchor = selection.getNode();\n        dom.setAttrib(anchor, 'target', defaultLinkTarget);\n        if (defaultLinkTarget === '_blank' && !allowUnsafeLinkTarget(editor)) {\n          dom.setAttrib(anchor, 'rel', 'noopener');\n        }\n      }\n    }\n    selection.moveToBookmark(bookmark);\n    editor.nodeChanged();\n  };\n  const handleSpacebar = editor => {\n    const result = parseCurrentLine(editor, -1);\n    if (isNonNullable(result)) {\n      convertToLink(editor, result);\n    }\n  };\n  const handleBracket = handleSpacebar;\n  const handleEnter = editor => {\n    const result = parseCurrentLine(editor, 0);\n    if (isNonNullable(result)) {\n      convertToLink(editor, result);\n    }\n  };\n  const setup = editor => {\n    editor.on('keydown', e => {\n      if (e.keyCode === 13 && !e.isDefaultPrevented()) {\n        handleEnter(editor);\n      }\n    });\n    editor.on('keyup', e => {\n      if (e.keyCode === 32) {\n        handleSpacebar(editor);\n      } else if (e.keyCode === 48 && e.shiftKey || e.keyCode === 221) {\n        handleBracket(editor);\n      }\n    });\n  };\n\n  var Plugin = (() => {\n    global$1.add('autolink', editor => {\n      register(editor);\n      setup(editor);\n    });\n  });\n\n  Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const fireInsertCustomChar = (editor, chr) => {\n      return editor.dispatch('insertCustomChar', {\n        chr\n      });\n    };\n\n    const insertChar = (editor, chr) => {\n      const evtChr = fireInsertCustomChar(editor, chr).chr;\n      editor.execCommand('mceInsertContent', false, evtChr);\n    };\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isArray$1 = isType('array');\n    const isNull = eq(null);\n    const isUndefined = eq(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray$1(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      const charMapProcessor = value => isFunction(value) || isArray$1(value);\n      registerOption('charmap', {\n        processor: charMapProcessor\n      });\n      registerOption('charmap_append', {\n        processor: charMapProcessor\n      });\n    };\n    const getCharMap$1 = option('charmap');\n    const getCharMapAppend = option('charmap_append');\n\n    const isArray = global.isArray;\n    const UserDefined = 'User Defined';\n    const getDefaultCharMap = () => {\n      return [{\n        name: 'Currency',\n        characters: [[36, 'dollar sign'], [162, 'cent sign'], [8364, 'euro sign'], [163, 'pound sign'], [165, 'yen sign'], [164, 'currency sign'], [8352, 'euro-currency sign'], [8353, 'colon sign'], [8354, 'cruzeiro sign'], [8355, 'french franc sign'], [8356, 'lira sign'], [8357, 'mill sign'], [8358, 'naira sign'], [8359, 'peseta sign'], [8360, 'rupee sign'], [8361, 'won sign'], [8362, 'new sheqel sign'], [8363, 'dong sign'], [8365, 'kip sign'], [8366, 'tugrik sign'], [8367, 'drachma sign'], [8368, 'german penny symbol'], [8369, 'peso sign'], [8370, 'guarani sign'], [8371, 'austral sign'], [8372, 'hryvnia sign'], [8373, 'cedi sign'], [8374, 'livre tournois sign'], [8375, 'spesmilo sign'], [8376, 'tenge sign'], [8377, 'indian rupee sign'], [8378, 'turkish lira sign'], [8379, 'nordic mark sign'], [8380, 'manat sign'], [8381, 'ruble sign'], [20870, 'yen character'], [20803, 'yuan character'], [22291, 'yuan character, in hong kong and taiwan'], [22278, 'yen/yuan character variant one']]\n      }, {\n        name: 'Text',\n        characters: [[169, 'copyright sign'], [174, 'registered sign'], [8482, 'trade mark sign'], [8240, 'per mille sign'], [181, 'micro sign'], [183, 'middle dot'], [8226, 'bullet'], [8230, 'three dot leader'], [8242, 'minutes / feet'], [8243, 'seconds / inches'], [167, 'section sign'], [182, 'paragraph sign'], [223, 'sharp s / ess-zed']]\n      }, {\n        name: 'Quotations',\n        characters: [[8249, 'single left-pointing angle quotation mark'], [8250, 'single right-pointing angle quotation mark'], [171, 'left pointing guillemet'], [187, 'right pointing guillemet'], [8216, 'left single quotation mark'], [8217, 'right single quotation mark'], [8220, 'left double quotation mark'], [8221, 'right double quotation mark'], [8218, 'single low-9 quotation mark'], [8222, 'double low-9 quotation mark'], [60, 'less-than sign'], [62, 'greater-than sign'], [8804, 'less-than or equal to'], [8805, 'greater-than or equal to'], [8211, 'en dash'], [8212, 'em dash'], [175, 'macron'], [8254, 'overline'], [164, 'currency sign'], [166, 'broken bar'], [168, 'diaeresis'], [161, 'inverted exclamation mark'], [191, 'turned question mark'], [710, 'circumflex accent'], [732, 'small tilde'], [176, 'degree sign'], [8722, 'minus sign'], [177, 'plus-minus sign'], [247, 'division sign'], [8260, 'fraction slash'], [215, 'multiplication sign'], [185, 'superscript one'], [178, 'superscript two'], [179, 'superscript three'], [188, 'fraction one quarter'], [189, 'fraction one half'], [190, 'fraction three quarters']]\n      }, {\n        name: 'Mathematical',\n        characters: [[402, 'function / florin'], [8747, 'integral'], [8721, 'n-ary sumation'], [8734, 'infinity'], [8730, 'square root'], [8764, 'similar to'], [8773, 'approximately equal to'], [8776, 'almost equal to'], [8800, 'not equal to'], [8801, 'identical to'], [8712, 'element of'], [8713, 'not an element of'], [8715, 'contains as member'], [8719, 'n-ary product'], [8743, 'logical and'], [8744, 'logical or'], [172, 'not sign'], [8745, 'intersection'], [8746, 'union'], [8706, 'partial differential'], [8704, 'for all'], [8707, 'there exists'], [8709, 'diameter'], [8711, 'backward difference'], [8727, 'asterisk operator'], [8733, 'proportional to'], [8736, 'angle']]\n      }, {\n        name: 'Extended Latin',\n        characters: [[192, 'A - grave'], [193, 'A - acute'], [194, 'A - circumflex'], [195, 'A - tilde'], [196, 'A - diaeresis'], [197, 'A - ring above'], [256, 'A - macron'], [198, 'ligature AE'], [199, 'C - cedilla'], [200, 'E - grave'], [201, 'E - acute'], [202, 'E - circumflex'], [203, 'E - diaeresis'], [274, 'E - macron'], [204, 'I - grave'], [205, 'I - acute'], [206, 'I - circumflex'], [207, 'I - diaeresis'], [298, 'I - macron'], [208, 'ETH'], [209, 'N - tilde'], [210, 'O - grave'], [211, 'O - acute'], [212, 'O - circumflex'], [213, 'O - tilde'], [214, 'O - diaeresis'], [216, 'O - slash'], [332, 'O - macron'], [338, 'ligature OE'], [352, 'S - caron'], [217, 'U - grave'], [218, 'U - acute'], [219, 'U - circumflex'], [220, 'U - diaeresis'], [362, 'U - macron'], [221, 'Y - acute'], [376, 'Y - diaeresis'], [562, 'Y - macron'], [222, 'THORN'], [224, 'a - grave'], [225, 'a - acute'], [226, 'a - circumflex'], [227, 'a - tilde'], [228, 'a - diaeresis'], [229, 'a - ring above'], [257, 'a - macron'], [230, 'ligature ae'], [231, 'c - cedilla'], [232, 'e - grave'], [233, 'e - acute'], [234, 'e - circumflex'], [235, 'e - diaeresis'], [275, 'e - macron'], [236, 'i - grave'], [237, 'i - acute'], [238, 'i - circumflex'], [239, 'i - diaeresis'], [299, 'i - macron'], [240, 'eth'], [241, 'n - tilde'], [242, 'o - grave'], [243, 'o - acute'], [244, 'o - circumflex'], [245, 'o - tilde'], [246, 'o - diaeresis'], [248, 'o slash'], [333, 'o macron'], [339, 'ligature oe'], [353, 's - caron'], [249, 'u - grave'], [250, 'u - acute'], [251, 'u - circumflex'], [252, 'u - diaeresis'], [363, 'u - macron'], [253, 'y - acute'], [254, 'thorn'], [255, 'y - diaeresis'], [563, 'y - macron'], [913, 'Alpha'], [914, 'Beta'], [915, 'Gamma'], [916, 'Delta'], [917, 'Epsilon'], [918, 'Zeta'], [919, 'Eta'], [920, 'Theta'], [921, 'Iota'], [922, 'Kappa'], [923, 'Lambda'], [924, 'Mu'], [925, 'Nu'], [926, 'Xi'], [927, 'Omicron'], [928, 'Pi'], [929, 'Rho'], [931, 'Sigma'], [932, 'Tau'], [933, 'Upsilon'], [934, 'Phi'], [935, 'Chi'], [936, 'Psi'], [937, 'Omega'], [945, 'alpha'], [946, 'beta'], [947, 'gamma'], [948, 'delta'], [949, 'epsilon'], [950, 'zeta'], [951, 'eta'], [952, 'theta'], [953, 'iota'], [954, 'kappa'], [955, 'lambda'], [956, 'mu'], [957, 'nu'], [958, 'xi'], [959, 'omicron'], [960, 'pi'], [961, 'rho'], [962, 'final sigma'], [963, 'sigma'], [964, 'tau'], [965, 'upsilon'], [966, 'phi'], [967, 'chi'], [968, 'psi'], [969, 'omega']]\n      }, {\n        name: 'Symbols',\n        characters: [[8501, 'alef symbol'], [982, 'pi symbol'], [8476, 'real part symbol'], [978, 'upsilon - hook symbol'], [8472, 'Weierstrass p'], [8465, 'imaginary part']]\n      }, {\n        name: 'Arrows',\n        characters: [[8592, 'leftwards arrow'], [8593, 'upwards arrow'], [8594, 'rightwards arrow'], [8595, 'downwards arrow'], [8596, 'left right arrow'], [8629, 'carriage return'], [8656, 'leftwards double arrow'], [8657, 'upwards double arrow'], [8658, 'rightwards double arrow'], [8659, 'downwards double arrow'], [8660, 'left right double arrow'], [8756, 'therefore'], [8834, 'subset of'], [8835, 'superset of'], [8836, 'not a subset of'], [8838, 'subset of or equal to'], [8839, 'superset of or equal to'], [8853, 'circled plus'], [8855, 'circled times'], [8869, 'perpendicular'], [8901, 'dot operator'], [8968, 'left ceiling'], [8969, 'right ceiling'], [8970, 'left floor'], [8971, 'right floor'], [9001, 'left-pointing angle bracket'], [9002, 'right-pointing angle bracket'], [9674, 'lozenge'], [9824, 'black spade suit'], [9827, 'black club suit'], [9829, 'black heart suit'], [9830, 'black diamond suit'], [8194, 'en space'], [8195, 'em space'], [8201, 'thin space'], [8204, 'zero width non-joiner'], [8205, 'zero width joiner'], [8206, 'left-to-right mark'], [8207, 'right-to-left mark']]\n      }];\n    };\n    const charmapFilter = charmap => {\n      return global.grep(charmap, item => {\n        return isArray(item) && item.length === 2;\n      });\n    };\n    const getCharsFromOption = optionValue => {\n      if (isArray(optionValue)) {\n        return charmapFilter(optionValue);\n      }\n      if (typeof optionValue === 'function') {\n        return optionValue();\n      }\n      return [];\n    };\n    const extendCharMap = (editor, charmap) => {\n      const userCharMap = getCharMap$1(editor);\n      if (userCharMap) {\n        charmap = [{\n          name: UserDefined,\n          characters: getCharsFromOption(userCharMap)\n        }];\n      }\n      const userCharMapAppend = getCharMapAppend(editor);\n      if (userCharMapAppend) {\n        const userDefinedGroup = global.grep(charmap, cg => cg.name === UserDefined);\n        if (userDefinedGroup.length) {\n          userDefinedGroup[0].characters = [...userDefinedGroup[0].characters, ...getCharsFromOption(userCharMapAppend)];\n          return charmap;\n        }\n        return charmap.concat({\n          name: UserDefined,\n          characters: getCharsFromOption(userCharMapAppend)\n        });\n      }\n      return charmap;\n    };\n    const getCharMap = editor => {\n      const groups = extendCharMap(editor, getDefaultCharMap());\n      return groups.length > 1 ? [{\n        name: 'All',\n        characters: bind(groups, g => g.characters)\n      }].concat(groups) : groups;\n    };\n\n    const get = editor => {\n      const getCharMap$1 = () => {\n        return getCharMap(editor);\n      };\n      const insertChar$1 = chr => {\n        insertChar(editor, chr);\n      };\n      return {\n        getCharMap: getCharMap$1,\n        insertChar: insertChar$1\n      };\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const last = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const fromCodePoint = String.fromCodePoint;\n\n    const charMatches = (charCode, name, lowerCasePattern) => {\n      if (contains(fromCodePoint(charCode).toLowerCase(), lowerCasePattern)) {\n        return true;\n      } else {\n        return contains(name.toLowerCase(), lowerCasePattern) || contains(name.toLowerCase().replace(/\\s+/g, ''), lowerCasePattern);\n      }\n    };\n    const scan = (group, pattern) => {\n      const matches = [];\n      const lowerCasePattern = pattern.toLowerCase();\n      each(group.characters, g => {\n        if (charMatches(g[0], g[1], lowerCasePattern)) {\n          matches.push(g);\n        }\n      });\n      return map(matches, m => ({\n        text: m[1],\n        value: fromCodePoint(m[0]),\n        icon: fromCodePoint(m[0])\n      }));\n    };\n\n    const patternName = 'pattern';\n    const open = (editor, charMap) => {\n      const makeGroupItems = () => [{\n        label: 'Search',\n        type: 'input',\n        name: patternName\n      }, {\n        type: 'collection',\n        name: 'results'\n      }];\n      const makeTabs = () => map(charMap, charGroup => ({\n        title: charGroup.name,\n        name: charGroup.name,\n        items: makeGroupItems()\n      }));\n      const makePanel = () => ({\n        type: 'panel',\n        items: makeGroupItems()\n      });\n      const makeTabPanel = () => ({\n        type: 'tabpanel',\n        tabs: makeTabs()\n      });\n      const currentTab = charMap.length === 1 ? Cell(UserDefined) : Cell('All');\n      const scanAndSet = (dialogApi, pattern) => {\n        find(charMap, group => group.name === currentTab.get()).each(f => {\n          const items = scan(f, pattern);\n          dialogApi.setData({\n            results: items\n          });\n        });\n      };\n      const SEARCH_DELAY = 40;\n      const updateFilter = last(dialogApi => {\n        const pattern = dialogApi.getData().pattern;\n        scanAndSet(dialogApi, pattern);\n      }, SEARCH_DELAY);\n      const body = charMap.length === 1 ? makePanel() : makeTabPanel();\n      const initialData = {\n        pattern: '',\n        results: scan(charMap[0], '')\n      };\n      const bridgeSpec = {\n        title: 'Special Character',\n        size: 'normal',\n        body,\n        buttons: [{\n          type: 'cancel',\n          name: 'close',\n          text: 'Close',\n          primary: true\n        }],\n        initialData,\n        onAction: (api, details) => {\n          if (details.name === 'results') {\n            insertChar(editor, details.value);\n            api.close();\n          }\n        },\n        onTabChange: (dialogApi, details) => {\n          currentTab.set(details.newTabName);\n          updateFilter.throttle(dialogApi);\n        },\n        onChange: (dialogApi, changeData) => {\n          if (changeData.name === patternName) {\n            updateFilter.throttle(dialogApi);\n          }\n        }\n      };\n      const dialogApi = editor.windowManager.open(bridgeSpec);\n      dialogApi.focus(patternName);\n    };\n\n    const register$1 = (editor, charMap) => {\n      editor.addCommand('mceShowCharmap', () => {\n        open(editor, charMap);\n      });\n    };\n\n    const init = (editor, all) => {\n      editor.ui.registry.addAutocompleter('charmap', {\n        trigger: ':',\n        columns: 'auto',\n        minChars: 2,\n        fetch: (pattern, _maxResults) => new Promise((resolve, _reject) => {\n          resolve(scan(all, pattern));\n        }),\n        onAction: (autocompleteApi, rng, value) => {\n          editor.selection.setRng(rng);\n          editor.insertContent(value);\n          autocompleteApi.hide();\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceShowCharmap');\n      editor.ui.registry.addButton('charmap', {\n        icon: 'insert-character',\n        tooltip: 'Special character',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('charmap', {\n        icon: 'insert-character',\n        text: 'Special character...',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = (() => {\n      global$1.add('charmap', editor => {\n        register$2(editor);\n        const charMap = getCharMap(editor);\n        register$1(editor, charMap);\n        register(editor);\n        init(editor, charMap[0]);\n        return get(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isElement = isType(ELEMENT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const isEqualNode = (e1, e2) => e1.dom.isEqualNode(e2.dom);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$1 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const has = (element, key) => {\n      const dom = element.dom;\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getContentContainer = dos => isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n\n    const ancestor = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n\n    const read = (element, attr) => {\n      const value = get(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$3 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set$1(element, attr, nu.join(' '));\n      return true;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const add$2 = (element, clazz) => add$3(element, 'class', clazz);\n\n    const add$1 = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$2(element, clazz);\n      }\n    };\n\n    const focus = (element, preventScroll = false) => element.dom.focus({\n      preventScroll\n    });\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.EditorManager');\n\n    var global = tinymce.util.Tools.resolve('tinymce.Resource');\n\n    const CM_SETTINGS = {\n      lineWrapping: true,\n      lineNumbers: true,\n      foldGutter: true,\n      gutter: true,\n      matchBrackets: true,\n      styleActiveLine: true,\n      indentUnit: 1,\n      tabSize: 1\n    };\n    const CURSOR_MARKER_CODE = '<!--sn_cursor-->';\n    const CUSTOM_EDITOR_ID = 'plugins.codemirrror.customeditor';\n    const CANCEL_BUTTON = 0;\n    const SAVE_BUTTON = 1;\n\n    const stopPropagation = event => event.stopPropagation();\n    const load = baseUrl => new Promise(resolve => tinymce.ScriptLoader.loadScript(\"\".concat(baseUrl, \"/codemirror.min.js\")).then(() => resolve(CodeMirror)));\n    const getAutocompleteConfig = (codeMirror, container) => {\n      const completeAfter = (cm, pred) => {\n        if (!pred || pred()) {\n          const showHint = () => {\n            if (!cm.state.completionActive) {\n              cm.showHint({\n                completeSingle: false,\n                container: container.dom\n              });\n            }\n          };\n          setTimeout(showHint, 100);\n        }\n        return codeMirror.Pass;\n      };\n      return {\n        completeAfter,\n        completeIfAfterLt: cm => completeAfter(cm, () => {\n          const cursor = cm.getCursor();\n          return '<' === cm.getRange(codeMirror.Pos(cursor.line, cursor.ch - 1), cursor);\n        }),\n        completeIfInTag: cm => completeAfter(cm, () => {\n          const tok = cm.getTokenAt(cm.getCursor());\n          const isString = tok.type === 'string';\n          const isStringEdge = /['\"]/.test(tok.string.charAt(tok.string.length - 1));\n          if (isString && (!isStringEdge || tok.string.length === 1)) {\n            return false;\n          }\n          return codeMirror.innerMode(cm.getMode(), tok.state).state.tagName;\n        })\n      };\n    };\n    const setupCodemirror = (codeMirror, div, settings, editor) => {\n      const container = getContentContainer(getRootNode(SugarElement.fromDom(editor.getElement())));\n      const autoComplete = getAutocompleteConfig(codeMirror, container);\n      const config = {\n        lineWrapping: settings.lineWrapping,\n        lineNumbers: settings.lineNumbers,\n        foldGutter: settings.foldGutter,\n        theme: settings.theme,\n        direction: settings.direction,\n        matchTags: {\n          bothTags: true\n        },\n        keyMap: 'sublime',\n        gutters: settings.gutter ? ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'] : [],\n        extraKeys: {\n          'Alt-F': 'findPersistent',\n          'Ctrl-J': 'toMatchingTag',\n          'Ctrl-B': 'selectNextOccurrence',\n          '\\'<\\'': autoComplete.completeAfter,\n          '\\'/\\'': autoComplete.completeIfAfterLt,\n          '\\' \\'': autoComplete.completeIfInTag,\n          '\\'=\\'': autoComplete.completeIfInTag,\n          'Ctrl-Q': cmi => cmi.foldCode(cmi.getCursor())\n        },\n        mode: 'text/html',\n        value: '',\n        styleActiveLine: true,\n        screenReaderLabel: 'Source code'\n      };\n      const cmi = codeMirror(div, config);\n      div.addEventListener('keyup', stopPropagation);\n      div.addEventListener('keydown', stopPropagation);\n      div.addEventListener('keypress', stopPropagation);\n      setTimeout(() => {\n        cmi.focus();\n        if (settings.cursor) {\n          cmi.doc.setCursor(settings.cursor);\n        }\n      });\n      setTimeout(() => cmi.refresh(), 200);\n      return {\n        cmi,\n        unbind: () => {\n          div.removeEventListener('keyup', stopPropagation);\n          div.removeEventListener('keydown', stopPropagation);\n          div.removeEventListener('keypress', stopPropagation);\n        }\n      };\n    };\n    const checkLineBoundary = (charPos, line) => !(charPos === 0 || charPos === line.length);\n    const checkMode = ({\n      name\n    }) => !name || name === 'xml';\n    const moveCursorIfInEntity = cmi => {\n      const cursor = cmi.getCursor();\n      const token = cmi.getTokenAt(cursor, true);\n      if (token && token.type === 'atom' && token.end !== cursor.ch) {\n        cmi.doc.setCursor({\n          line: cursor.line,\n          ch: token.start\n        });\n      }\n    };\n    const moveCursorIfInTag = (codeMirror, cmi) => {\n      const cursor = cmi.getCursor();\n      const {\n        line,\n        ch\n      } = cursor;\n      const range = cmi.getViewport();\n      const match = codeMirror.findMatchingTag(cmi, cursor, range);\n      if (match) {\n        let pos;\n        const isOpen = match.at === 'open';\n        const hit = match[match.at][isOpen ? 'to' : 'from'];\n        if (isOpen && !(hit.line === line && hit.ch === ch)) {\n          pos = {\n            line: match.open.to.line,\n            ch: match.open.to.ch\n          };\n        } else if (!isOpen && !(hit.line === line && hit.ch === ch)) {\n          pos = {\n            line: match.close.from.line,\n            ch: match.close.from.ch\n          };\n        }\n        if (pos) {\n          cmi.doc.setCursor(pos);\n        }\n      }\n    };\n    const moveCursorIfInIframe = (codeMirror, cmi) => {\n      var _a;\n      const cursor = cmi.getCursor();\n      const range = cmi.getViewport();\n      const match = codeMirror.findEnclosingTag(cmi, cursor, range, 'iframe');\n      const openingTagCursorLocation = (_a = match === null || match === void 0 ? void 0 : match.open) === null || _a === void 0 ? void 0 : _a.from;\n      if (match && openingTagCursorLocation) {\n        cmi.doc.setCursor(openingTagCursorLocation);\n      }\n    };\n    const markCursorPosition = (codeMirror, id, cmi) => {\n      const {\n        doc\n      } = cmi;\n      if (doc.somethingSelected()) {\n        doc.setCursor(doc.getCursor());\n      }\n      moveCursorIfInEntity(cmi);\n      moveCursorIfInTag(codeMirror, cmi);\n      moveCursorIfInIframe(codeMirror, cmi);\n      const cursor = cmi.getCursor();\n      const {\n        line,\n        ch\n      } = cursor;\n      const curLine = cmi.getLine(line);\n      let addCursorMarker = true;\n      addCursorMarker = addCursorMarker && checkLineBoundary(ch, curLine);\n      addCursorMarker = addCursorMarker && checkMode(cmi.getModeAt(cursor, true));\n      const tinyCursor = \"<span id=\\\"\".concat(id, \"\\\"><\/span>\");\n      if (addCursorMarker) {\n        doc.replaceSelection(tinyCursor);\n      }\n      return {\n        id,\n        value: cmi.doc.getValue()\n      };\n    };\n    const setupSourceEscape = (cmi, div) => {\n      const handleTab = index => {\n        const focusableElements = all('.tox-dialog__footer .tox-button', getRootNode(div));\n        if (focusableElements.length === 2) {\n          focus(focusableElements[index]);\n        }\n      };\n      const escKeyMap = {\n        Esc: cmi => {\n          cmi.addKeyMap(tabKeyMap);\n          return CodeMirror.pass;\n        }\n      };\n      const tabKeyMap = {\n        'Tab': cmi => {\n          handleTab(CANCEL_BUTTON);\n          cmi.removeKeyMap(tabKeyMap);\n          return false;\n        },\n        'Shift-Tab': cmi => {\n          handleTab(SAVE_BUTTON);\n          cmi.removeKeyMap(tabKeyMap);\n          return false;\n        },\n        'default': cmi => {\n          cmi.removeKeyMap(tabKeyMap);\n          return CodeMirror.pass;\n        }\n      };\n      const focusableElement = cmi.getInputField();\n      focusableElement === null || focusableElement === void 0 ? void 0 : focusableElement.setAttribute('tabIndex', '-1');\n      focusableElement === null || focusableElement === void 0 ? void 0 : focusableElement.setAttribute('data-alloy-tabstop', 'true');\n      cmi.addKeyMap(escKeyMap);\n    };\n    const addAccessKeyInfoPanel = div => {\n      const isMac = tinymce.Env.os.isMacOS();\n      const dom = one('.tox-dialog__footer .tox-dialog__footer-start', getRootNode(div));\n      const node = document.createElement('div');\n      const dtKey = '<dt class=\"footer-key-info-panel-key\">';\n      const ddValue = '<dd class=\"footer-key-info-panel-value\">';\n      const shortcuts = [{\n        key: isMac ? '&#8984;-F' : 'Ctrl-F',\n        value: tinymce.translate('Start search')\n      }, {\n        key: isMac ? '&#8984;-G' : 'Ctrl-G',\n        value: 'Find next'\n      }, {\n        key: isMac ? '&#8984;-Shift-G' : 'Shift-Ctrl-F',\n        value: tinymce.translate('Find previous')\n      }, {\n        key: isMac ? '&#8984;-Option-F' : 'Shift-Ctrl-F',\n        value: tinymce.translate('Replace')\n      }, {\n        key: isMac ? 'Shift-&#8984;-Option-F' : 'Shift-Ctrl-R',\n        value: tinymce.translate('Replace all')\n      }];\n      const tableRows = [];\n      for (let i = 0; i < shortcuts.length; i += 1) {\n        const row = \"\\n      \".concat(dtKey).concat(shortcuts[i].key, \"<\/dt>\\n      \").concat(ddValue).concat(shortcuts[i].value, \"<\/dd>\");\n        tableRows.push(row);\n      }\n      const sList = one('.footer-key-info-panel-parent', getRootNode(div));\n      if (!sList.getOrUndefined()) {\n        node.innerHTML = \"\\n      <div class=\\\"footer-key-info-panel-parent\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\">\\n        <dl class=\\\"footer-key-info-panel-dlist\\\">\".concat(tableRows.join(''), \"<\/dl>\\n      <\/div>\\n    \");\n        dom.each(parent => append(parent, SugarElement.fromDom(node)));\n      }\n    };\n    const setupResource = (root, settings) => new Promise(resolve => {\n      const editor = global$1.get(settings.editorId);\n      const div = SugarElement.fromDom(root);\n      set(div, 'width', '100%');\n      parent(div).filter(isElement).each(el => add$1(el, 'sn-codemirror'));\n      load(settings.baseUrl).then(codeMirror => {\n        const {\n          cmi,\n          unbind\n        } = setupCodemirror(codeMirror, root, settings, editor);\n        setupSourceEscape(cmi, div);\n        addAccessKeyInfoPanel(div);\n        return Promise.resolve({\n          getValue: () => markCursorPosition(codeMirror, editor.dom.uniqueId(), cmi),\n          setValue: value => cmi.doc.setValue(value),\n          destroy: unbind\n        });\n      }).then(resolve);\n    });\n    const add = () => {\n      global.add(CUSTOM_EDITOR_ID, setupResource);\n    };\n    var CustomEditor = {\n      add\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('_do_not_use_is_dark_theme', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const isDarkTheme = option('_do_not_use_is_dark_theme');\n\n    const isBogus = node => has(node, 'data-mce-bogus');\n    const isIndexBookmark = bookmark => bookmark.hasOwnProperty('name');\n    const addCursorMarkers = (bookmarkNode, isBody) => {\n      const cursorElement = SugarElement.fromHtml(CURSOR_MARKER_CODE);\n      let bookmark = SugarElement.fromDom(bookmarkNode);\n      bookmark = ancestor(bookmark, isBogus, isBody).getOr(bookmark);\n      before(bookmark, cursorElement);\n      return cursorElement;\n    };\n    const createCursorPosition = (line, ch) => ({\n      line,\n      ch\n    });\n    const getCursorPosition = content => {\n      const lines = content.split(/\\r?\\n/);\n      const length = lines.length;\n      for (let lineIdx = 0; lineIdx < length; ++lineIdx) {\n        const line = lines[lineIdx];\n        const cursorIndex = line.indexOf(CURSOR_MARKER_CODE);\n        if (cursorIndex >= 0) {\n          if (line === CURSOR_MARKER_CODE) {\n            return lineIdx === 0 ? createCursorPosition(lineIdx, 0) : createCursorPosition(lineIdx - 1, lines[lineIdx - 1].length);\n          }\n          return createCursorPosition(lineIdx, cursorIndex);\n        }\n      }\n      return createCursorPosition(0, 0);\n    };\n    const getContentWithMarkers = editor => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const bookmark = editor.selection.getBookmark();\n      const bookmarkNode = isIndexBookmark(bookmark) ? editor.dom.select(bookmark.name)[bookmark.index] : editor.dom.select(\"#\".concat(bookmark.id, \"_start\"))[0];\n      const cursorMarker = Optional.from(bookmarkNode).map(node => addCursorMarkers(node, node => isEqualNode(node, body)));\n      const content = editor.getContent({\n        source_view: true\n      });\n      cursorMarker.each(remove);\n      editor.selection.moveToBookmark(bookmark);\n      return content;\n    };\n    const collectSettings = (editor, url) => new Promise(resolve => {\n      resolve({\n        ...CM_SETTINGS,\n        baseUrl: url,\n        direction: editor.getBody().dir || 'ltr',\n        editorId: editor.id,\n        theme: isDarkTheme(editor) ? 'tomorrow-night-eighties' : 'default'\n      });\n    });\n    const contentProcessor = editor => () => {\n      const markedContent = getContentWithMarkers(editor);\n      const cursor = getCursorPosition(markedContent);\n      return {\n        content: editor.getContent({\n          source_view: true\n        }),\n        cursor\n      };\n    };\n    const submitHandler = editor => ({\n      id,\n      value\n    }) => {\n      editor.focus();\n      editor.undoManager.transact(() => {\n        editor.setContent(value);\n      });\n      const el = editor.dom.select(\"span#\".concat(id))[0];\n      if (el) {\n        editor.selection.scrollIntoView(el);\n        editor.selection.setCursorLocation(el, 0);\n        editor.dom.remove(el);\n      } else {\n        const firstChildIsStyleTag = firstChild(SugarElement.fromDom(editor.getBody())).map(isTag('style')).getOrNull();\n        if (firstChildIsStyleTag) {\n          const val = \"<span id=\\\"\".concat(id, \"\\\"><\/span>\").concat(value);\n          editor.setContent(val);\n          const el = editor.dom.select(\"span#\".concat(id))[0];\n          editor.selection.setCursorLocation(el, 0);\n          editor.dom.remove(el);\n        } else {\n          editor.selection.setCursorLocation();\n        }\n      }\n      editor.nodeChanged();\n    };\n    const makeDialog = helpers => settings => {\n      const {\n        content: codeview,\n        cursor\n      } = helpers.processContent();\n      const cmSettings = {\n        ...settings,\n        cursor\n      };\n      const config = {\n        title: 'Source Code',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n            name: 'codeview',\n            type: 'customeditor',\n            tag: 'div',\n            scriptId: CUSTOM_EDITOR_ID,\n            scriptUrl: \"\".concat(cmSettings.baseUrl, \"/customeditor.min.js\"),\n            settings: cmSettings\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: {\n          codeview\n        },\n        onSubmit: api => {\n          helpers.onSubmit(api.getData().codeview);\n          api.close();\n        }\n      };\n      return config;\n    };\n    const Dialog = (editor, url) => {\n      const helpers = {\n        onSubmit: submitHandler(editor),\n        processContent: contentProcessor(editor)\n      };\n      const open = () => {\n        collectSettings(editor, url).then(makeDialog(helpers)).then(editor.windowManager.open).then(CustomEditor.add);\n      };\n      return {\n        open\n      };\n    };\n\n    const register$1 = (editor, url) => {\n      editor.addCommand('mceCodeEditor', Dialog(editor, url).open);\n    };\n\n    const register = editor => {\n      editor.ui.registry.addToggleButton('code', {\n        icon: 'sourcecode',\n        tooltip: 'Source code',\n        onAction: () => editor.execCommand('mceCodeEditor')\n      });\n      editor.ui.registry.addMenuItem('code', {\n        icon: 'sourcecode',\n        text: 'Source code',\n        onAction: () => editor.execCommand('mceCodeEditor')\n      });\n    };\n\n    var Plugin = (() => {\n      global$2.add('codemirror', (editor, url) => {\n        register$2(editor);\n        register(editor);\n        register$1(editor, url);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$1(xs, 0);\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const prismjs = function (global, module, exports) {\n      const oldprism = window.Prism;\n      window.Prism = {\n        manual: true\n      };\n      var _self = typeof window !== 'undefined' ? window : typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self : {};\n      var Prism = function (_self) {\n        var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n        var uniqueId = 0;\n        var plainTextGrammar = {};\n        var _ = {\n          manual: _self.Prism && _self.Prism.manual,\n          disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n          util: {\n            encode: function encode(tokens) {\n              if (tokens instanceof Token) {\n                return new Token(tokens.type, encode(tokens.content), tokens.alias);\n              } else if (Array.isArray(tokens)) {\n                return tokens.map(encode);\n              } else {\n                return tokens.replace(/&/g, '&amp;').replace(/<\/g, '&lt;').replace(/\\u00a0/g, ' ');\n              }\n            },\n            type: function (o) {\n              return Object.prototype.toString.call(o).slice(8, -1);\n            },\n            objId: function (obj) {\n              if (!obj['__id']) {\n                Object.defineProperty(obj, '__id', {\n                  value: ++uniqueId\n                });\n              }\n              return obj['__id'];\n            },\n            clone: function deepClone(o, visited) {\n              visited = visited || {};\n              var clone;\n              var id;\n              switch (_.util.type(o)) {\n                case 'Object':\n                  id = _.util.objId(o);\n                  if (visited[id]) {\n                    return visited[id];\n                  }\n                  clone = {};\n                  visited[id] = clone;\n                  for (var key in o) {\n                    if (o.hasOwnProperty(key)) {\n                      clone[key] = deepClone(o[key], visited);\n                    }\n                  }\n                  return clone;\n                case 'Array':\n                  id = _.util.objId(o);\n                  if (visited[id]) {\n                    return visited[id];\n                  }\n                  clone = [];\n                  visited[id] = clone;\n                  o.forEach(function (v, i) {\n                    clone[i] = deepClone(v, visited);\n                  });\n                  return clone;\n                default:\n                  return o;\n              }\n            },\n            getLanguage: function (element) {\n              while (element) {\n                var m = lang.exec(element.className);\n                if (m) {\n                  return m[1].toLowerCase();\n                }\n                element = element.parentElement;\n              }\n              return 'none';\n            },\n            setLanguage: function (element, language) {\n              element.className = element.className.replace(RegExp(lang, 'gi'), '');\n              element.classList.add('language-' + language);\n            },\n            currentScript: function () {\n              if (typeof document === 'undefined') {\n                return null;\n              }\n              if ('currentScript' in document && 1 < 2) {\n                return document.currentScript;\n              }\n              try {\n                throw new Error();\n              } catch (err) {\n                var src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n                if (src) {\n                  var scripts = document.getElementsByTagName('script');\n                  for (var i in scripts) {\n                    if (scripts[i].src == src) {\n                      return scripts[i];\n                    }\n                  }\n                }\n                return null;\n              }\n            },\n            isActive: function (element, className, defaultActivation) {\n              var no = 'no-' + className;\n              while (element) {\n                var classList = element.classList;\n                if (classList.contains(className)) {\n                  return true;\n                }\n                if (classList.contains(no)) {\n                  return false;\n                }\n                element = element.parentElement;\n              }\n              return !!defaultActivation;\n            }\n          },\n          languages: {\n            plain: plainTextGrammar,\n            plaintext: plainTextGrammar,\n            text: plainTextGrammar,\n            txt: plainTextGrammar,\n            extend: function (id, redef) {\n              var lang = _.util.clone(_.languages[id]);\n              for (var key in redef) {\n                lang[key] = redef[key];\n              }\n              return lang;\n            },\n            insertBefore: function (inside, before, insert, root) {\n              root = root || _.languages;\n              var grammar = root[inside];\n              var ret = {};\n              for (var token in grammar) {\n                if (grammar.hasOwnProperty(token)) {\n                  if (token == before) {\n                    for (var newToken in insert) {\n                      if (insert.hasOwnProperty(newToken)) {\n                        ret[newToken] = insert[newToken];\n                      }\n                    }\n                  }\n                  if (!insert.hasOwnProperty(token)) {\n                    ret[token] = grammar[token];\n                  }\n                }\n              }\n              var old = root[inside];\n              root[inside] = ret;\n              _.languages.DFS(_.languages, function (key, value) {\n                if (value === old && key != inside) {\n                  this[key] = ret;\n                }\n              });\n              return ret;\n            },\n            DFS: function DFS(o, callback, type, visited) {\n              visited = visited || {};\n              var objId = _.util.objId;\n              for (var i in o) {\n                if (o.hasOwnProperty(i)) {\n                  callback.call(o, i, o[i], type || i);\n                  var property = o[i];\n                  var propertyType = _.util.type(property);\n                  if (propertyType === 'Object' && !visited[objId(property)]) {\n                    visited[objId(property)] = true;\n                    DFS(property, callback, null, visited);\n                  } else if (propertyType === 'Array' && !visited[objId(property)]) {\n                    visited[objId(property)] = true;\n                    DFS(property, callback, i, visited);\n                  }\n                }\n              }\n            }\n          },\n          plugins: {},\n          highlightAll: function (async, callback) {\n            _.highlightAllUnder(document, async, callback);\n          },\n          highlightAllUnder: function (container, async, callback) {\n            var env = {\n              callback: callback,\n              container: container,\n              selector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n            };\n            _.hooks.run('before-highlightall', env);\n            env.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n            _.hooks.run('before-all-elements-highlight', env);\n            for (var i = 0, element; element = env.elements[i++];) {\n              _.highlightElement(element, async === true, env.callback);\n            }\n          },\n          highlightElement: function (element, async, callback) {\n            var language = _.util.getLanguage(element);\n            var grammar = _.languages[language];\n            _.util.setLanguage(element, language);\n            var parent = element.parentElement;\n            if (parent && parent.nodeName.toLowerCase() === 'pre') {\n              _.util.setLanguage(parent, language);\n            }\n            var code = element.textContent;\n            var env = {\n              element: element,\n              language: language,\n              grammar: grammar,\n              code: code\n            };\n            function insertHighlightedCode(highlightedCode) {\n              env.highlightedCode = highlightedCode;\n              _.hooks.run('before-insert', env);\n              env.element.innerHTML = env.highlightedCode;\n              _.hooks.run('after-highlight', env);\n              _.hooks.run('complete', env);\n              callback && callback.call(env.element);\n            }\n            _.hooks.run('before-sanity-check', env);\n            parent = env.element.parentElement;\n            if (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n              parent.setAttribute('tabindex', '0');\n            }\n            if (!env.code) {\n              _.hooks.run('complete', env);\n              callback && callback.call(env.element);\n              return;\n            }\n            _.hooks.run('before-highlight', env);\n            if (!env.grammar) {\n              insertHighlightedCode(_.util.encode(env.code));\n              return;\n            }\n            if (async && _self.Worker) {\n              var worker = new Worker(_.filename);\n              worker.onmessage = function (evt) {\n                insertHighlightedCode(evt.data);\n              };\n              worker.postMessage(JSON.stringify({\n                language: env.language,\n                code: env.code,\n                immediateClose: true\n              }));\n            } else {\n              insertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n            }\n          },\n          highlight: function (text, grammar, language) {\n            var env = {\n              code: text,\n              grammar: grammar,\n              language: language\n            };\n            _.hooks.run('before-tokenize', env);\n            if (!env.grammar) {\n              throw new Error('The language \"' + env.language + '\" has no grammar.');\n            }\n            env.tokens = _.tokenize(env.code, env.grammar);\n            _.hooks.run('after-tokenize', env);\n            return Token.stringify(_.util.encode(env.tokens), env.language);\n          },\n          tokenize: function (text, grammar) {\n            var rest = grammar.rest;\n            if (rest) {\n              for (var token in rest) {\n                grammar[token] = rest[token];\n              }\n              delete grammar.rest;\n            }\n            var tokenList = new LinkedList();\n            addAfter(tokenList, tokenList.head, text);\n            matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n            return toArray(tokenList);\n          },\n          hooks: {\n            all: {},\n            add: function (name, callback) {\n              var hooks = _.hooks.all;\n              hooks[name] = hooks[name] || [];\n              hooks[name].push(callback);\n            },\n            run: function (name, env) {\n              var callbacks = _.hooks.all[name];\n              if (!callbacks || !callbacks.length) {\n                return;\n              }\n              for (var i = 0, callback; callback = callbacks[i++];) {\n                callback(env);\n              }\n            }\n          },\n          Token: Token\n        };\n        _self.Prism = _;\n        function Token(type, content, alias, matchedStr) {\n          this.type = type;\n          this.content = content;\n          this.alias = alias;\n          this.length = (matchedStr || '').length | 0;\n        }\n        Token.stringify = function stringify(o, language) {\n          if (typeof o == 'string') {\n            return o;\n          }\n          if (Array.isArray(o)) {\n            var s = '';\n            o.forEach(function (e) {\n              s += stringify(e, language);\n            });\n            return s;\n          }\n          var env = {\n            type: o.type,\n            content: stringify(o.content, language),\n            tag: 'span',\n            classes: ['token', o.type],\n            attributes: {},\n            language: language\n          };\n          var aliases = o.alias;\n          if (aliases) {\n            if (Array.isArray(aliases)) {\n              Array.prototype.push.apply(env.classes, aliases);\n            } else {\n              env.classes.push(aliases);\n            }\n          }\n          _.hooks.run('wrap', env);\n          var attributes = '';\n          for (var name in env.attributes) {\n            attributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '&quot;') + '\"';\n          }\n          return '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '<\/' + env.tag + '>';\n        };\n        function matchPattern(pattern, pos, text, lookbehind) {\n          pattern.lastIndex = pos;\n          var match = pattern.exec(text);\n          if (match && lookbehind && match[1]) {\n            var lookbehindLength = match[1].length;\n            match.index += lookbehindLength;\n            match[0] = match[0].slice(lookbehindLength);\n          }\n          return match;\n        }\n        function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n          for (var token in grammar) {\n            if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n              continue;\n            }\n            var patterns = grammar[token];\n            patterns = Array.isArray(patterns) ? patterns : [patterns];\n            for (var j = 0; j < patterns.length; ++j) {\n              if (rematch && rematch.cause == token + ',' + j) {\n                return;\n              }\n              var patternObj = patterns[j];\n              var inside = patternObj.inside;\n              var lookbehind = !!patternObj.lookbehind;\n              var greedy = !!patternObj.greedy;\n              var alias = patternObj.alias;\n              if (greedy && !patternObj.pattern.global) {\n                var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n                patternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n              }\n              var pattern = patternObj.pattern || patternObj;\n              for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n                if (rematch && pos >= rematch.reach) {\n                  break;\n                }\n                var str = currentNode.value;\n                if (tokenList.length > text.length) {\n                  return;\n                }\n                if (str instanceof Token) {\n                  continue;\n                }\n                var removeCount = 1;\n                var match;\n                if (greedy) {\n                  match = matchPattern(pattern, pos, text, lookbehind);\n                  if (!match || match.index >= text.length) {\n                    break;\n                  }\n                  var from = match.index;\n                  var to = match.index + match[0].length;\n                  var p = pos;\n                  p += currentNode.value.length;\n                  while (from >= p) {\n                    currentNode = currentNode.next;\n                    p += currentNode.value.length;\n                  }\n                  p -= currentNode.value.length;\n                  pos = p;\n                  if (currentNode.value instanceof Token) {\n                    continue;\n                  }\n                  for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === 'string'); k = k.next) {\n                    removeCount++;\n                    p += k.value.length;\n                  }\n                  removeCount--;\n                  str = text.slice(pos, p);\n                  match.index -= pos;\n                } else {\n                  match = matchPattern(pattern, 0, str, lookbehind);\n                  if (!match) {\n                    continue;\n                  }\n                }\n                var from = match.index;\n                var matchStr = match[0];\n                var before = str.slice(0, from);\n                var after = str.slice(from + matchStr.length);\n                var reach = pos + str.length;\n                if (rematch && reach > rematch.reach) {\n                  rematch.reach = reach;\n                }\n                var removeFrom = currentNode.prev;\n                if (before) {\n                  removeFrom = addAfter(tokenList, removeFrom, before);\n                  pos += before.length;\n                }\n                removeRange(tokenList, removeFrom, removeCount);\n                var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n                currentNode = addAfter(tokenList, removeFrom, wrapped);\n                if (after) {\n                  addAfter(tokenList, currentNode, after);\n                }\n                if (removeCount > 1) {\n                  var nestedRematch = {\n                    cause: token + ',' + j,\n                    reach: reach\n                  };\n                  matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n                  if (rematch && nestedRematch.reach > rematch.reach) {\n                    rematch.reach = nestedRematch.reach;\n                  }\n                }\n              }\n            }\n          }\n        }\n        function LinkedList() {\n          var head = {\n            value: null,\n            prev: null,\n            next: null\n          };\n          var tail = {\n            value: null,\n            prev: head,\n            next: null\n          };\n          head.next = tail;\n          this.head = head;\n          this.tail = tail;\n          this.length = 0;\n        }\n        function addAfter(list, node, value) {\n          var next = node.next;\n          var newNode = {\n            value: value,\n            prev: node,\n            next: next\n          };\n          node.next = newNode;\n          next.prev = newNode;\n          list.length++;\n          return newNode;\n        }\n        function removeRange(list, node, count) {\n          var next = node.next;\n          for (var i = 0; i < count && next !== list.tail; i++) {\n            next = next.next;\n          }\n          node.next = next;\n          next.prev = node;\n          list.length -= i;\n        }\n        function toArray(list) {\n          var array = [];\n          var node = list.head.next;\n          while (node !== list.tail) {\n            array.push(node.value);\n            node = node.next;\n          }\n          return array;\n        }\n        if (!_self.document) {\n          if (!_self.addEventListener) {\n            return _;\n          }\n          if (!_.disableWorkerMessageHandler) {\n            _self.addEventListener('message', function (evt) {\n              var message = JSON.parse(evt.data);\n              var lang = message.language;\n              var code = message.code;\n              var immediateClose = message.immediateClose;\n              _self.postMessage(_.highlight(code, _.languages[lang], lang));\n              if (immediateClose) {\n                _self.close();\n              }\n            }, false);\n          }\n          return _;\n        }\n        var script = _.util.currentScript();\n        if (script) {\n          _.filename = script.src;\n          if (script.hasAttribute('data-manual')) {\n            _.manual = true;\n          }\n        }\n        function highlightAutomaticallyCallback() {\n          if (!_.manual) {\n            _.highlightAll();\n          }\n        }\n        if (!_.manual) {\n          var readyState = document.readyState;\n          if (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n            document.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n          } else {\n            if (window.requestAnimationFrame) {\n              window.requestAnimationFrame(highlightAutomaticallyCallback);\n            } else {\n              window.setTimeout(highlightAutomaticallyCallback, 16);\n            }\n          }\n        }\n        return _;\n      }(_self);\n      if (typeof module !== 'undefined' && module.exports) {\n        module.exports = Prism;\n      }\n      if (typeof global !== 'undefined') {\n        global.Prism = Prism;\n      }\n      Prism.languages.clike = {\n        'comment': [{\n          pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n          lookbehind: true,\n          greedy: true\n        }, {\n          pattern: /(^|[^\\\\:])\\/\\/.*/,\n          lookbehind: true,\n          greedy: true\n        }],\n        'string': {\n          pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n          greedy: true\n        },\n        'class-name': {\n          pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n          lookbehind: true,\n          inside: {\n            'punctuation': /[.\\\\]/\n          }\n        },\n        'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n        'boolean': /\\b(?:false|true)\\b/,\n        'function': /\\b\\w+(?=\\()/,\n        'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n        'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n        'punctuation': /[{}[\\];(),.:]/\n      };\n      (function (Prism) {\n        function getPlaceholder(language, index) {\n          return '___' + language.toUpperCase() + index + '___';\n        }\n        Object.defineProperties(Prism.languages['markup-templating'] = {}, {\n          buildPlaceholders: {\n            value: function (env, language, placeholderPattern, replaceFilter) {\n              if (env.language !== language) {\n                return;\n              }\n              var tokenStack = env.tokenStack = [];\n              env.code = env.code.replace(placeholderPattern, function (match) {\n                if (typeof replaceFilter === 'function' && !replaceFilter(match)) {\n                  return match;\n                }\n                var i = tokenStack.length;\n                var placeholder;\n                while (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1) {\n                  ++i;\n                }\n                tokenStack[i] = match;\n                return placeholder;\n              });\n              env.grammar = Prism.languages.markup;\n            }\n          },\n          tokenizePlaceholders: {\n            value: function (env, language) {\n              if (env.language !== language || !env.tokenStack) {\n                return;\n              }\n              env.grammar = Prism.languages[language];\n              var j = 0;\n              var keys = Object.keys(env.tokenStack);\n              function walkTokens(tokens) {\n                for (var i = 0; i < tokens.length; i++) {\n                  if (j >= keys.length) {\n                    break;\n                  }\n                  var token = tokens[i];\n                  if (typeof token === 'string' || token.content && typeof token.content === 'string') {\n                    var k = keys[j];\n                    var t = env.tokenStack[k];\n                    var s = typeof token === 'string' ? token : token.content;\n                    var placeholder = getPlaceholder(language, k);\n                    var index = s.indexOf(placeholder);\n                    if (index > -1) {\n                      ++j;\n                      var before = s.substring(0, index);\n                      var middle = new Prism.Token(language, Prism.tokenize(t, env.grammar), 'language-' + language, t);\n                      var after = s.substring(index + placeholder.length);\n                      var replacement = [];\n                      if (before) {\n                        replacement.push.apply(replacement, walkTokens([before]));\n                      }\n                      replacement.push(middle);\n                      if (after) {\n                        replacement.push.apply(replacement, walkTokens([after]));\n                      }\n                      if (typeof token === 'string') {\n                        tokens.splice.apply(tokens, [i, 1].concat(replacement));\n                      } else {\n                        token.content = replacement;\n                      }\n                    }\n                  } else if (token.content) {\n                    walkTokens(token.content);\n                  }\n                }\n                return tokens;\n              }\n              walkTokens(env.tokens);\n            }\n          }\n        });\n      })(Prism);\n      Prism.languages.c = Prism.languages.extend('clike', {\n        'comment': {\n          pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n          greedy: true\n        },\n        'string': {\n          pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n          greedy: true\n        },\n        'class-name': {\n          pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n          lookbehind: true\n        },\n        'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n        'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n        'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n        'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n      });\n      Prism.languages.insertBefore('c', 'string', {\n        'char': {\n          pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n          greedy: true\n        }\n      });\n      Prism.languages.insertBefore('c', 'string', {\n        'macro': {\n          pattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n          lookbehind: true,\n          greedy: true,\n          alias: 'property',\n          inside: {\n            'string': [{\n              pattern: /^(#\\s*include\\s*)<[^>]+>/,\n              lookbehind: true\n            }, Prism.languages.c['string']],\n            'char': Prism.languages.c['char'],\n            'comment': Prism.languages.c['comment'],\n            'macro-name': [{\n              pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n              lookbehind: true\n            }, {\n              pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n              lookbehind: true,\n              alias: 'function'\n            }],\n            'directive': {\n              pattern: /^(#\\s*)[a-z]+/,\n              lookbehind: true,\n              alias: 'keyword'\n            },\n            'directive-hash': /^#/,\n            'punctuation': /##|\\\\(?=[\\r\\n])/,\n            'expression': {\n              pattern: /\\S[\\s\\S]*/,\n              inside: Prism.languages.c\n            }\n          }\n        }\n      });\n      Prism.languages.insertBefore('c', 'function', {\n        'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n      });\n      delete Prism.languages.c['boolean'];\n      (function (Prism) {\n        var keyword = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/;\n        var modName = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function () {\n          return keyword.source;\n        });\n        Prism.languages.cpp = Prism.languages.extend('c', {\n          'class-name': [{\n            pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function () {\n              return keyword.source;\n            })),\n            lookbehind: true\n          }, /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/],\n          'keyword': keyword,\n          'number': {\n            pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n            greedy: true\n          },\n          'operator': />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n          'boolean': /\\b(?:false|true)\\b/\n        });\n        Prism.languages.insertBefore('cpp', 'string', {\n          'module': {\n            pattern: RegExp(/(\\b(?:import|module)\\s+)/.source + '(?:' + /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source + '|' + /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function () {\n              return modName;\n            }) + ')'),\n            lookbehind: true,\n            greedy: true,\n            inside: {\n              'string': /^[<\"][\\s\\S]+/,\n              'operator': /:/,\n              'punctuation': /\\./\n            }\n          },\n          'raw-string': {\n            pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n            alias: 'string',\n            greedy: true\n          }\n        });\n        Prism.languages.insertBefore('cpp', 'keyword', {\n          'generic-function': {\n            pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,\n            inside: {\n              'function': /^\\w+/,\n              'generic': {\n                pattern: /<[\\s\\S]+/,\n                alias: 'class-name',\n                inside: Prism.languages.cpp\n              }\n            }\n          }\n        });\n        Prism.languages.insertBefore('cpp', 'operator', {\n          'double-colon': {\n            pattern: /::/,\n            alias: 'punctuation'\n          }\n        });\n        Prism.languages.insertBefore('cpp', 'class-name', {\n          'base-clause': {\n            pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n            lookbehind: true,\n            greedy: true,\n            inside: Prism.languages.extend('cpp', {})\n          }\n        });\n        Prism.languages.insertBefore('inside', 'double-colon', {\n          'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i\n        }, Prism.languages.cpp['base-clause']);\n      })(Prism);\n      (function (Prism) {\n        function replace(pattern, replacements) {\n          return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n            return '(?:' + replacements[+index] + ')';\n          });\n        }\n        function re(pattern, replacements, flags) {\n          return RegExp(replace(pattern, replacements), flags || '');\n        }\n        function nested(pattern, depthLog2) {\n          for (var i = 0; i < depthLog2; i++) {\n            pattern = pattern.replace(/<<self>>/g, function () {\n              return '(?:' + pattern + ')';\n            });\n          }\n          return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]');\n        }\n        var keywordKinds = {\n          type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',\n          typeDeclaration: 'class enum interface record struct',\n          contextual: 'add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)',\n          other: 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'\n        };\n        function keywordsToPattern(words) {\n          return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b';\n        }\n        var typeDeclarationKeywords = keywordsToPattern(keywordKinds.typeDeclaration);\n        var keywords = RegExp(keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other));\n        var nonTypeKeywords = keywordsToPattern(keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other);\n        var nonContextualKeywords = keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.other);\n        var generic = nested(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source, 2);\n        var nestedRound = nested(/\\((?:[^()]|<<self>>)*\\)/.source, 2);\n        var name = /@?\\b[A-Za-z_]\\w*\\b/.source;\n        var genericName = replace(/<<0>>(?:\\s*<<1>>)?/.source, [name, generic]);\n        var identifier = replace(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source, [nonTypeKeywords, genericName]);\n        var array = /\\[\\s*(?:,\\s*)*\\]/.source;\n        var typeExpressionWithoutTuple = replace(/<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source, [identifier, array]);\n        var tupleElement = replace(/[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source, [generic, nestedRound, array]);\n        var tuple = replace(/\\(<<0>>+(?:,<<0>>+)+\\)/.source, [tupleElement]);\n        var typeExpression = replace(/(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source, [tuple, identifier, array]);\n        var typeInside = {\n          'keyword': keywords,\n          'punctuation': /[<>()?,.:[\\]]/\n        };\n        var character = /'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'/.source;\n        var regularString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/.source;\n        var verbatimString = /@\"(?:\"\"|\\\\[\\s\\S]|[^\\\\\"])*\"(?!\")/.source;\n        Prism.languages.csharp = Prism.languages.extend('clike', {\n          'string': [{\n            pattern: re(/(^|[^$\\\\])<<0>>/.source, [verbatimString]),\n            lookbehind: true,\n            greedy: true\n          }, {\n            pattern: re(/(^|[^@$\\\\])<<0>>/.source, [regularString]),\n            lookbehind: true,\n            greedy: true\n          }],\n          'class-name': [{\n            pattern: re(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source, [identifier]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source, [name, typeExpression]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\busing\\s+)<<0>>(?=\\s*=)/.source, [name]),\n            lookbehind: true\n          }, {\n            pattern: re(/(\\b<<0>>\\s+)<<1>>/.source, [typeDeclarationKeywords, genericName]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\bcatch\\s*\\(\\s*)<<0>>/.source, [identifier]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\bwhere\\s+)<<0>>/.source, [name]),\n            lookbehind: true\n          }, {\n            pattern: re(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source, [typeExpressionWithoutTuple]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/.source, [typeExpression, nonContextualKeywords, name]),\n            inside: typeInside\n          }],\n          'keyword': keywords,\n          'number': /(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,\n          'operator': />>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,\n          'punctuation': /\\?\\.?|::|[{}[\\];(),.:]/\n        });\n        Prism.languages.insertBefore('csharp', 'number', {\n          'range': {\n            pattern: /\\.\\./,\n            alias: 'operator'\n          }\n        });\n        Prism.languages.insertBefore('csharp', 'punctuation', {\n          'named-parameter': {\n            pattern: re(/([(,]\\s*)<<0>>(?=\\s*:)/.source, [name]),\n            lookbehind: true,\n            alias: 'punctuation'\n          }\n        });\n        Prism.languages.insertBefore('csharp', 'class-name', {\n          'namespace': {\n            pattern: re(/(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source, [name]),\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\./\n            }\n          },\n          'type-expression': {\n            pattern: re(/(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/.source, [nestedRound]),\n            lookbehind: true,\n            alias: 'class-name',\n            inside: typeInside\n          },\n          'return-type': {\n            pattern: re(/<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source, [typeExpression, identifier]),\n            inside: typeInside,\n            alias: 'class-name'\n          },\n          'constructor-invocation': {\n            pattern: re(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source, [typeExpression]),\n            lookbehind: true,\n            inside: typeInside,\n            alias: 'class-name'\n          },\n          'generic-method': {\n            pattern: re(/<<0>>\\s*<<1>>(?=\\s*\\()/.source, [name, generic]),\n            inside: {\n              'function': re(/^<<0>>/.source, [name]),\n              'generic': {\n                pattern: RegExp(generic),\n                alias: 'class-name',\n                inside: typeInside\n              }\n            }\n          },\n          'type-list': {\n            pattern: re(/\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/.source, [typeDeclarationKeywords, genericName, name, typeExpression, keywords.source, nestedRound, /\\bnew\\s*\\(\\s*\\)/.source]),\n            lookbehind: true,\n            inside: {\n              'record-arguments': {\n                pattern: re(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source, [genericName, nestedRound]),\n                lookbehind: true,\n                greedy: true,\n                inside: Prism.languages.csharp\n              },\n              'keyword': keywords,\n              'class-name': {\n                pattern: RegExp(typeExpression),\n                greedy: true,\n                inside: typeInside\n              },\n              'punctuation': /[,()]/\n            }\n          },\n          'preprocessor': {\n            pattern: /(^[\\t ]*)#.*/m,\n            lookbehind: true,\n            alias: 'property',\n            inside: {\n              'directive': {\n                pattern: /(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,\n                lookbehind: true,\n                alias: 'keyword'\n              }\n            }\n          }\n        });\n        var regularStringOrCharacter = regularString + '|' + character;\n        var regularStringCharacterOrComment = replace(/\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source, [regularStringOrCharacter]);\n        var roundExpression = nested(replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [regularStringCharacterOrComment]), 2);\n        var attrTarget = /\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/.source;\n        var attr = replace(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source, [identifier, roundExpression]);\n        Prism.languages.insertBefore('csharp', 'class-name', {\n          'attribute': {\n            pattern: re(/((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/.source, [attrTarget, attr]),\n            lookbehind: true,\n            greedy: true,\n            inside: {\n              'target': {\n                pattern: re(/^<<0>>(?=\\s*:)/.source, [attrTarget]),\n                alias: 'keyword'\n              },\n              'attribute-arguments': {\n                pattern: re(/\\(<<0>>*\\)/.source, [roundExpression]),\n                inside: Prism.languages.csharp\n              },\n              'class-name': {\n                pattern: RegExp(identifier),\n                inside: {\n                  'punctuation': /\\./\n                }\n              },\n              'punctuation': /[:,]/\n            }\n          }\n        });\n        var formatString = /:[^}\\r\\n]+/.source;\n        var mInterpolationRound = nested(replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [regularStringCharacterOrComment]), 2);\n        var mInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [mInterpolationRound, formatString]);\n        var sInterpolationRound = nested(replace(/[^\"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/.source, [regularStringOrCharacter]), 2);\n        var sInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [sInterpolationRound, formatString]);\n        function createInterpolationInside(interpolation, interpolationRound) {\n          return {\n            'interpolation': {\n              pattern: re(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source, [interpolation]),\n              lookbehind: true,\n              inside: {\n                'format-string': {\n                  pattern: re(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source, [interpolationRound, formatString]),\n                  lookbehind: true,\n                  inside: {\n                    'punctuation': /^:/\n                  }\n                },\n                'punctuation': /^\\{|\\}$/,\n                'expression': {\n                  pattern: /[\\s\\S]+/,\n                  alias: 'language-csharp',\n                  inside: Prism.languages.csharp\n                }\n              }\n            },\n            'string': /[\\s\\S]+/\n          };\n        }\n        Prism.languages.insertBefore('csharp', 'string', {\n          'interpolation-string': [{\n            pattern: re(/(^|[^\\\\])(?:\\$@|@\\$)\"(?:\"\"|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{\"])*\"/.source, [mInterpolation]),\n            lookbehind: true,\n            greedy: true,\n            inside: createInterpolationInside(mInterpolation, mInterpolationRound)\n          }, {\n            pattern: re(/(^|[^@\\\\])\\$\"(?:\\\\.|\\{\\{|<<0>>|[^\\\\\"{])*\"/.source, [sInterpolation]),\n            lookbehind: true,\n            greedy: true,\n            inside: createInterpolationInside(sInterpolation, sInterpolationRound)\n          }],\n          'char': {\n            pattern: RegExp(character),\n            greedy: true\n          }\n        });\n        Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;\n      })(Prism);\n      (function (Prism) {\n        var string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n        Prism.languages.css = {\n          'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n          'atrule': {\n            pattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n            inside: {\n              'rule': /^@[\\w-]+/,\n              'selector-function-argument': {\n                pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n                lookbehind: true,\n                alias: 'selector'\n              },\n              'keyword': {\n                pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n                lookbehind: true\n              }\n            }\n          },\n          'url': {\n            pattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n            greedy: true,\n            inside: {\n              'function': /^url/i,\n              'punctuation': /^\\(|\\)$/,\n              'string': {\n                pattern: RegExp('^' + string.source + '$'),\n                alias: 'url'\n              }\n            }\n          },\n          'selector': {\n            pattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n            lookbehind: true\n          },\n          'string': {\n            pattern: string,\n            greedy: true\n          },\n          'property': {\n            pattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n            lookbehind: true\n          },\n          'important': /!important\\b/i,\n          'function': {\n            pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n            lookbehind: true\n          },\n          'punctuation': /[(){};:,]/\n        };\n        Prism.languages.css['atrule'].inside.rest = Prism.languages.css;\n        var markup = Prism.languages.markup;\n        if (markup) {\n          markup.tag.addInlined('style', 'css');\n          markup.tag.addAttribute('style', 'css');\n        }\n      })(Prism);\n      (function (Prism) {\n        var keywords = /\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\\s*[(){}[\\]<>=%~.:,;?+\\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/;\n        var classNamePrefix = /(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source;\n        var className = {\n          pattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n          lookbehind: true,\n          inside: {\n            'namespace': {\n              pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n              inside: {\n                'punctuation': /\\./\n              }\n            },\n            'punctuation': /\\./\n          }\n        };\n        Prism.languages.java = Prism.languages.extend('clike', {\n          'string': {\n            pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n            lookbehind: true,\n            greedy: true\n          },\n          'class-name': [className, {\n            pattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)/.source),\n            lookbehind: true,\n            inside: className.inside\n          }, {\n            pattern: RegExp(/(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)/.source + classNamePrefix + /[A-Z]\\w*\\b/.source),\n            lookbehind: true,\n            inside: className.inside\n          }],\n          'keyword': keywords,\n          'function': [Prism.languages.clike.function, {\n            pattern: /(::\\s*)[a-z_]\\w*/,\n            lookbehind: true\n          }],\n          'number': /\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n          'operator': {\n            pattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n            lookbehind: true\n          },\n          'constant': /\\b[A-Z][A-Z_\\d]+\\b/\n        });\n        Prism.languages.insertBefore('java', 'string', {\n          'triple-quoted-string': {\n            pattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n            greedy: true,\n            alias: 'string'\n          },\n          'char': {\n            pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,\n            greedy: true\n          }\n        });\n        Prism.languages.insertBefore('java', 'class-name', {\n          'annotation': {\n            pattern: /(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,\n            lookbehind: true,\n            alias: 'punctuation'\n          },\n          'generics': {\n            pattern: /<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,\n            inside: {\n              'class-name': className,\n              'keyword': keywords,\n              'punctuation': /[<>(),.:]/,\n              'operator': /[?&|]/\n            }\n          },\n          'import': [{\n            pattern: RegExp(/(\\bimport\\s+)/.source + classNamePrefix + /(?:[A-Z]\\w*|\\*)(?=\\s*;)/.source),\n            lookbehind: true,\n            inside: {\n              'namespace': className.inside.namespace,\n              'punctuation': /\\./,\n              'operator': /\\*/,\n              'class-name': /\\w+/\n            }\n          }, {\n            pattern: RegExp(/(\\bimport\\s+static\\s+)/.source + classNamePrefix + /(?:\\w+|\\*)(?=\\s*;)/.source),\n            lookbehind: true,\n            alias: 'static',\n            inside: {\n              'namespace': className.inside.namespace,\n              'static': /\\b\\w+$/,\n              'punctuation': /\\./,\n              'operator': /\\*/,\n              'class-name': /\\w+/\n            }\n          }],\n          'namespace': {\n            pattern: RegExp(/(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(/<keyword>/g, function () {\n              return keywords.source;\n            })),\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\./\n            }\n          }\n        });\n      })(Prism);\n      Prism.languages.javascript = Prism.languages.extend('clike', {\n        'class-name': [Prism.languages.clike['class-name'], {\n          pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n          lookbehind: true\n        }],\n        'keyword': [{\n          pattern: /((?:^|\\})\\s*)catch\\b/,\n          lookbehind: true\n        }, {\n          pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n          lookbehind: true\n        }],\n        'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n        'number': {\n          pattern: RegExp(/(^|[^\\w$])/.source + '(?:' + (/NaN|Infinity/.source + '|' + /0[bB][01]+(?:_[01]+)*n?/.source + '|' + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + '|' + /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source + '|' + /\\d+(?:_\\d+)*n/.source + '|' + /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source) + ')' + /(?![\\w$])/.source),\n          lookbehind: true\n        },\n        'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n      });\n      Prism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n      Prism.languages.insertBefore('javascript', 'keyword', {\n        'regex': {\n          pattern: RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source + /\\//.source + '(?:' + /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source + '|' + /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ')' + /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source),\n          lookbehind: true,\n          greedy: true,\n          inside: {\n            'regex-source': {\n              pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n              lookbehind: true,\n              alias: 'language-regex',\n              inside: Prism.languages.regex\n            },\n            'regex-delimiter': /^\\/|\\/$/,\n            'regex-flags': /^[a-z]+$/\n          }\n        },\n        'function-variable': {\n          pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n          alias: 'function'\n        },\n        'parameter': [{\n          pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }, {\n          pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }, {\n          pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }, {\n          pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }],\n        'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n      });\n      Prism.languages.insertBefore('javascript', 'string', {\n        'hashbang': {\n          pattern: /^#!.*/,\n          greedy: true,\n          alias: 'comment'\n        },\n        'template-string': {\n          pattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n          greedy: true,\n          inside: {\n            'template-punctuation': {\n              pattern: /^`|`$/,\n              alias: 'string'\n            },\n            'interpolation': {\n              pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n              lookbehind: true,\n              inside: {\n                'interpolation-punctuation': {\n                  pattern: /^\\$\\{|\\}$/,\n                  alias: 'punctuation'\n                },\n                rest: Prism.languages.javascript\n              }\n            },\n            'string': /[\\s\\S]+/\n          }\n        },\n        'string-property': {\n          pattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n          lookbehind: true,\n          greedy: true,\n          alias: 'property'\n        }\n      });\n      Prism.languages.insertBefore('javascript', 'operator', {\n        'literal-property': {\n          pattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n          lookbehind: true,\n          alias: 'property'\n        }\n      });\n      if (Prism.languages.markup) {\n        Prism.languages.markup.tag.addInlined('script', 'javascript');\n        Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, 'javascript');\n      }\n      Prism.languages.js = Prism.languages.javascript;\n      Prism.languages.markup = {\n        'comment': {\n          pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n          greedy: true\n        },\n        'prolog': {\n          pattern: /<\\?[\\s\\S]+?\\?>/,\n          greedy: true\n        },\n        'doctype': {\n          pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n          greedy: true,\n          inside: {\n            'internal-subset': {\n              pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n              lookbehind: true,\n              greedy: true,\n              inside: null\n            },\n            'string': {\n              pattern: /\"[^\"]*\"|'[^']*'/,\n              greedy: true\n            },\n            'punctuation': /^<!|>$|[[\\]]/,\n            'doctype-tag': /^DOCTYPE/i,\n            'name': /[^\\s<>'\"]+/\n          }\n        },\n        'cdata': {\n          pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n          greedy: true\n        },\n        'tag': {\n          pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n          greedy: true,\n          inside: {\n            'tag': {\n              pattern: /^<\\/?[^\\s>\\/]+/,\n              inside: {\n                'punctuation': /^<\\/?/,\n                'namespace': /^[^\\s>\\/:]+:/\n              }\n            },\n            'special-attr': [],\n            'attr-value': {\n              pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n              inside: {\n                'punctuation': [{\n                  pattern: /^=/,\n                  alias: 'attr-equals'\n                }, {\n                  pattern: /^(\\s*)[\"']|[\"']$/,\n                  lookbehind: true\n                }]\n              }\n            },\n            'punctuation': /\\/?>/,\n            'attr-name': {\n              pattern: /[^\\s>\\/]+/,\n              inside: {\n                'namespace': /^[^\\s>\\/:]+:/\n              }\n            }\n          }\n        },\n        'entity': [{\n          pattern: /&[\\da-z]{1,8};/i,\n          alias: 'named-entity'\n        }, /&#x?[\\da-f]{1,8};/i]\n      };\n      Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] = Prism.languages.markup['entity'];\n      Prism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n      Prism.hooks.add('wrap', function (env) {\n        if (env.type === 'entity') {\n          env.attributes['title'] = env.content.replace(/&amp;/, '&');\n        }\n      });\n      Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n        value: function addInlined(tagName, lang) {\n          var includedCdataInside = {};\n          includedCdataInside['language-' + lang] = {\n            pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n            lookbehind: true,\n            inside: Prism.languages[lang]\n          };\n          includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n          var inside = {\n            'included-cdata': {\n              pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n              inside: includedCdataInside\n            }\n          };\n          inside['language-' + lang] = {\n            pattern: /[\\s\\S]+/,\n            inside: Prism.languages[lang]\n          };\n          var def = {};\n          def[tagName] = {\n            pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () {\n              return tagName;\n            }), 'i'),\n            lookbehind: true,\n            greedy: true,\n            inside: inside\n          };\n          Prism.languages.insertBefore('markup', 'cdata', def);\n        }\n      });\n      Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n        value: function (attrName, lang) {\n          Prism.languages.markup.tag.inside['special-attr'].push({\n            pattern: RegExp(/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source, 'i'),\n            lookbehind: true,\n            inside: {\n              'attr-name': /^[^\\s=]+/,\n              'attr-value': {\n                pattern: /=[\\s\\S]+/,\n                inside: {\n                  'value': {\n                    pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n                    lookbehind: true,\n                    alias: [lang, 'language-' + lang],\n                    inside: Prism.languages[lang]\n                  },\n                  'punctuation': [{\n                    pattern: /^=/,\n                    alias: 'attr-equals'\n                  }, /\"|'/]\n                }\n              }\n            }\n          });\n        }\n      });\n      Prism.languages.html = Prism.languages.markup;\n      Prism.languages.mathml = Prism.languages.markup;\n      Prism.languages.svg = Prism.languages.markup;\n      Prism.languages.xml = Prism.languages.extend('markup', {});\n      Prism.languages.ssml = Prism.languages.xml;\n      Prism.languages.atom = Prism.languages.xml;\n      Prism.languages.rss = Prism.languages.xml;\n      (function (Prism) {\n        var comment = /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/;\n        var constant = [{\n          pattern: /\\b(?:false|true)\\b/i,\n          alias: 'boolean'\n        }, {\n          pattern: /(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,\n          greedy: true,\n          lookbehind: true\n        }, {\n          pattern: /(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,\n          greedy: true,\n          lookbehind: true\n        }, /\\b(?:null)\\b/i, /\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/];\n        var number = /\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i;\n        var operator = /<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/;\n        var punctuation = /[{}\\[\\](),:;]/;\n        Prism.languages.php = {\n          'delimiter': {\n            pattern: /\\?>$|^<\\?(?:php(?=\\s)|=)?/i,\n            alias: 'important'\n          },\n          'comment': comment,\n          'variable': /\\$+(?:\\w+\\b|(?=\\{))/,\n          'package': {\n            pattern: /(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          },\n          'class-name-definition': {\n            pattern: /(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            lookbehind: true,\n            alias: 'class-name'\n          },\n          'function-definition': {\n            pattern: /(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,\n            lookbehind: true,\n            alias: 'function'\n          },\n          'keyword': [{\n            pattern: /(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,\n            alias: 'type-casting',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,\n            alias: 'type-hint',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|never|object|self|static|string|void)\\b/i,\n            alias: 'return-type',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,\n            alias: 'type-declaration',\n            greedy: true\n          }, {\n            pattern: /(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,\n            alias: 'type-declaration',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /\\b(?:parent|self|static)(?=\\s*::)/i,\n            alias: 'static-context',\n            greedy: true\n          }, {\n            pattern: /(\\byield\\s+)from\\b/i,\n            lookbehind: true\n          }, /\\bclass\\b/i, {\n            pattern: /((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,\n            lookbehind: true\n          }],\n          'argument-name': {\n            pattern: /([(,]\\s*)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n            lookbehind: true\n          },\n          'class-name': [{\n            pattern: /(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,\n            greedy: true\n          }, {\n            pattern: /(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,\n            alias: 'class-name-fully-qualified',\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,\n            alias: 'class-name-fully-qualified',\n            greedy: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n            alias: 'class-name-fully-qualified',\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /\\b[a-z_]\\w*(?=\\s*\\$)/i,\n            alias: 'type-declaration',\n            greedy: true\n          }, {\n            pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n            alias: ['class-name-fully-qualified', 'type-declaration'],\n            greedy: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /\\b[a-z_]\\w*(?=\\s*::)/i,\n            alias: 'static-context',\n            greedy: true\n          }, {\n            pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,\n            alias: ['class-name-fully-qualified', 'static-context'],\n            greedy: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,\n            alias: 'type-hint',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n            alias: ['class-name-fully-qualified', 'type-hint'],\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            alias: 'return-type',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n            alias: ['class-name-fully-qualified', 'return-type'],\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }],\n          'constant': constant,\n          'function': {\n            pattern: /(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          },\n          'property': {\n            pattern: /(->\\s*)\\w+/,\n            lookbehind: true\n          },\n          'number': number,\n          'operator': operator,\n          'punctuation': punctuation\n        };\n        var string_interpolation = {\n          pattern: /\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,\n          lookbehind: true,\n          inside: Prism.languages.php\n        };\n        var string = [{\n          pattern: /<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,\n          alias: 'nowdoc-string',\n          greedy: true,\n          inside: {\n            'delimiter': {\n              pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n              alias: 'symbol',\n              inside: {\n                'punctuation': /^<<<'?|[';]$/\n              }\n            }\n          }\n        }, {\n          pattern: /<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,\n          alias: 'heredoc-string',\n          greedy: true,\n          inside: {\n            'delimiter': {\n              pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n              alias: 'symbol',\n              inside: {\n                'punctuation': /^<<<\"?|[\";]$/\n              }\n            },\n            'interpolation': string_interpolation\n          }\n        }, {\n          pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n          alias: 'backtick-quoted-string',\n          greedy: true\n        }, {\n          pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n          alias: 'single-quoted-string',\n          greedy: true\n        }, {\n          pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n          alias: 'double-quoted-string',\n          greedy: true,\n          inside: {\n            'interpolation': string_interpolation\n          }\n        }];\n        Prism.languages.insertBefore('php', 'variable', {\n          'string': string,\n          'attribute': {\n            pattern: /#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,\n            greedy: true,\n            inside: {\n              'attribute-content': {\n                pattern: /^(#\\[)[\\s\\S]+(?=\\]$)/,\n                lookbehind: true,\n                inside: {\n                  'comment': comment,\n                  'string': string,\n                  'attribute-class-name': [{\n                    pattern: /([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n                    alias: 'class-name',\n                    greedy: true,\n                    lookbehind: true\n                  }, {\n                    pattern: /([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,\n                    alias: ['class-name', 'class-name-fully-qualified'],\n                    greedy: true,\n                    lookbehind: true,\n                    inside: {\n                      'punctuation': /\\\\/\n                    }\n                  }],\n                  'constant': constant,\n                  'number': number,\n                  'operator': operator,\n                  'punctuation': punctuation\n                }\n              },\n              'delimiter': {\n                pattern: /^#\\[|\\]$/,\n                alias: 'punctuation'\n              }\n            }\n          }\n        });\n        Prism.hooks.add('before-tokenize', function (env) {\n          if (!/<\\?/.test(env.code)) {\n            return;\n          }\n          var phpPattern = /<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g;\n          Prism.languages['markup-templating'].buildPlaceholders(env, 'php', phpPattern);\n        });\n        Prism.hooks.add('after-tokenize', function (env) {\n          Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php');\n        });\n      })(Prism);\n      Prism.languages.python = {\n        'comment': {\n          pattern: /(^|[^\\\\])#.*/,\n          lookbehind: true,\n          greedy: true\n        },\n        'string-interpolation': {\n          pattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n          greedy: true,\n          inside: {\n            'interpolation': {\n              pattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n              lookbehind: true,\n              inside: {\n                'format-spec': {\n                  pattern: /(:)[^:(){}]+(?=\\}$)/,\n                  lookbehind: true\n                },\n                'conversion-option': {\n                  pattern: /![sra](?=[:}]$)/,\n                  alias: 'punctuation'\n                },\n                rest: null\n              }\n            },\n            'string': /[\\s\\S]+/\n          }\n        },\n        'triple-quoted-string': {\n          pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n          greedy: true,\n          alias: 'string'\n        },\n        'string': {\n          pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n          greedy: true\n        },\n        'function': {\n          pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n          lookbehind: true\n        },\n        'class-name': {\n          pattern: /(\\bclass\\s+)\\w+/i,\n          lookbehind: true\n        },\n        'decorator': {\n          pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n          lookbehind: true,\n          alias: ['annotation', 'punctuation'],\n          inside: {\n            'punctuation': /\\./\n          }\n        },\n        'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n        'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n        'boolean': /\\b(?:False|None|True)\\b/,\n        'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n        'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n        'punctuation': /[{}[\\];(),.:]/\n      };\n      Prism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n      Prism.languages.py = Prism.languages.python;\n      (function (Prism) {\n        Prism.languages.ruby = Prism.languages.extend('clike', {\n          'comment': {\n            pattern: /#.*|^=begin\\s[\\s\\S]*?^=end/m,\n            greedy: true\n          },\n          'class-name': {\n            pattern: /(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,\n            lookbehind: true,\n            inside: {\n              'punctuation': /[.\\\\]/\n            }\n          },\n          'keyword': /\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,\n          'operator': /\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,\n          'punctuation': /[(){}[\\].,;]/\n        });\n        Prism.languages.insertBefore('ruby', 'operator', {\n          'double-colon': {\n            pattern: /::/,\n            alias: 'punctuation'\n          }\n        });\n        var interpolation = {\n          pattern: /((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,\n          lookbehind: true,\n          inside: {\n            'content': {\n              pattern: /^(#\\{)[\\s\\S]+(?=\\}$)/,\n              lookbehind: true,\n              inside: Prism.languages.ruby\n            },\n            'delimiter': {\n              pattern: /^#\\{|\\}$/,\n              alias: 'punctuation'\n            }\n          }\n        };\n        delete Prism.languages.ruby.function;\n        var percentExpression = '(?:' + [/([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source, /\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source, /\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source, /\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source, /<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source].join('|') + ')';\n        var symbolName = /(?:\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/.source;\n        Prism.languages.insertBefore('ruby', 'keyword', {\n          'regex-literal': [{\n            pattern: RegExp(/%r/.source + percentExpression + /[egimnosux]{0,6}/.source),\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'regex': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,\n            lookbehind: true,\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'regex': /[\\s\\S]+/\n            }\n          }],\n          'variable': /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n          'symbol': [{\n            pattern: RegExp(/(^|[^:]):/.source + symbolName),\n            lookbehind: true,\n            greedy: true\n          }, {\n            pattern: RegExp(/([\\r\\n{(,][ \\t]*)/.source + symbolName + /(?=:(?!:))/.source),\n            lookbehind: true,\n            greedy: true\n          }],\n          'method-definition': {\n            pattern: /(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,\n            lookbehind: true,\n            inside: {\n              'function': /\\b\\w+$/,\n              'keyword': /^self\\b/,\n              'class-name': /^\\w+/,\n              'punctuation': /\\./\n            }\n          }\n        });\n        Prism.languages.insertBefore('ruby', 'string', {\n          'string-literal': [{\n            pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'string': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'string': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n            alias: 'heredoc-string',\n            greedy: true,\n            inside: {\n              'delimiter': {\n                pattern: /^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,\n                inside: {\n                  'symbol': /\\b\\w+/,\n                  'punctuation': /^<<[-~]?/\n                }\n              },\n              'interpolation': interpolation,\n              'string': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /<<[-~]?'([a-z_]\\w*)'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n            alias: 'heredoc-string',\n            greedy: true,\n            inside: {\n              'delimiter': {\n                pattern: /^<<[-~]?'[a-z_]\\w*'|\\b[a-z_]\\w*$/i,\n                inside: {\n                  'symbol': /\\b\\w+/,\n                  'punctuation': /^<<[-~]?'|'$/\n                }\n              },\n              'string': /[\\s\\S]+/\n            }\n          }],\n          'command-literal': [{\n            pattern: RegExp(/%x/.source + percentExpression),\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'command': {\n                pattern: /[\\s\\S]+/,\n                alias: 'string'\n              }\n            }\n          }, {\n            pattern: /`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'command': {\n                pattern: /[\\s\\S]+/,\n                alias: 'string'\n              }\n            }\n          }]\n        });\n        delete Prism.languages.ruby.string;\n        Prism.languages.insertBefore('ruby', 'number', {\n          'builtin': /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,\n          'constant': /\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/\n        });\n        Prism.languages.rb = Prism.languages.ruby;\n      })(Prism);\n      window.Prism = oldprism;\n      return Prism;\n    }(undefined, undefined);\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('codesample_languages', {\n        processor: 'object[]'\n      });\n      registerOption('codesample_global_prismjs', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getLanguages$1 = option('codesample_languages');\n    const useGlobalPrismJS = option('codesample_global_prismjs');\n\n    const get = editor => Global.Prism && useGlobalPrismJS(editor) ? Global.Prism : prismjs;\n\n    const isCodeSample = elm => {\n      return isNonNullable(elm) && elm.nodeName === 'PRE' && elm.className.indexOf('language-') !== -1;\n    };\n\n    const getSelectedCodeSample = editor => {\n      const node = editor.selection ? editor.selection.getNode() : null;\n      return isCodeSample(node) ? Optional.some(node) : Optional.none();\n    };\n    const insertCodeSample = (editor, language, code) => {\n      const dom = editor.dom;\n      editor.undoManager.transact(() => {\n        const node = getSelectedCodeSample(editor);\n        code = global$1.DOM.encode(code);\n        return node.fold(() => {\n          editor.insertContent('<pre id=\"__new\" class=\"language-' + language + '\">' + code + '<\/pre>');\n          const newPre = dom.select('#__new')[0];\n          dom.setAttrib(newPre, 'id', null);\n          editor.selection.select(newPre);\n        }, n => {\n          dom.setAttrib(n, 'class', 'language-' + language);\n          n.innerHTML = code;\n          get(editor).highlightElement(n);\n          editor.selection.select(n);\n        });\n      });\n    };\n    const getCurrentCode = editor => {\n      const node = getSelectedCodeSample(editor);\n      return node.bind(n => Optional.from(n.textContent)).getOr('');\n    };\n\n    const getLanguages = editor => {\n      const defaultLanguages = [{\n        text: 'HTML/XML',\n        value: 'markup'\n      }, {\n        text: 'JavaScript',\n        value: 'javascript'\n      }, {\n        text: 'CSS',\n        value: 'css'\n      }, {\n        text: 'PHP',\n        value: 'php'\n      }, {\n        text: 'Ruby',\n        value: 'ruby'\n      }, {\n        text: 'Python',\n        value: 'python'\n      }, {\n        text: 'Java',\n        value: 'java'\n      }, {\n        text: 'C',\n        value: 'c'\n      }, {\n        text: 'C#',\n        value: 'csharp'\n      }, {\n        text: 'C++',\n        value: 'cpp'\n      }];\n      const customLanguages = getLanguages$1(editor);\n      return customLanguages ? customLanguages : defaultLanguages;\n    };\n    const getCurrentLanguage = (editor, fallback) => {\n      const node = getSelectedCodeSample(editor);\n      return node.fold(() => fallback, n => {\n        const matches = n.className.match(/language-(\\w+)/);\n        return matches ? matches[1] : fallback;\n      });\n    };\n\n    const open = editor => {\n      const languages = getLanguages(editor);\n      const defaultLanguage = head(languages).fold(constant(''), l => l.value);\n      const currentLanguage = getCurrentLanguage(editor, defaultLanguage);\n      const currentCode = getCurrentCode(editor);\n      editor.windowManager.open({\n        title: 'Insert/Edit Code Sample',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'listbox',\n            name: 'language',\n            label: 'Language',\n            items: languages\n          }, {\n            type: 'textarea',\n            name: 'code',\n            label: 'Code view'\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: {\n          language: currentLanguage,\n          code: currentCode\n        },\n        onSubmit: api => {\n          const data = api.getData();\n          insertCodeSample(editor, data.language, data.code);\n          api.close();\n        }\n      });\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('codesample', () => {\n        const node = editor.selection.getNode();\n        if (editor.selection.isCollapsed() || isCodeSample(node)) {\n          open(editor);\n        } else {\n          editor.formatter.toggle('code');\n        }\n      });\n    };\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const setup = editor => {\n      editor.on('PreProcess', e => {\n        const dom = editor.dom;\n        const pres = dom.select('pre[contenteditable=false]', e.node);\n        global.each(global.grep(pres, isCodeSample), elm => {\n          const code = elm.textContent;\n          dom.setAttrib(elm, 'class', trim(dom.getAttrib(elm, 'class')));\n          dom.setAttrib(elm, 'contentEditable', null);\n          dom.setAttrib(elm, 'data-mce-highlighted', null);\n          let child;\n          while (child = elm.firstChild) {\n            elm.removeChild(child);\n          }\n          const codeElm = dom.add(elm, 'code');\n          codeElm.textContent = code;\n        });\n      });\n      editor.on('SetContent', () => {\n        const dom = editor.dom;\n        const unprocessedCodeSamples = global.grep(dom.select('pre'), elm => {\n          return isCodeSample(elm) && dom.getAttrib(elm, 'data-mce-highlighted') !== 'true';\n        });\n        if (unprocessedCodeSamples.length) {\n          editor.undoManager.transact(() => {\n            global.each(unprocessedCodeSamples, elm => {\n              var _a;\n              global.each(dom.select('br', elm), elm => {\n                dom.replace(editor.getDoc().createTextNode('\\n'), elm);\n              });\n              elm.innerHTML = dom.encode((_a = elm.textContent) !== null && _a !== void 0 ? _a : '');\n              get(editor).highlightElement(elm);\n              dom.setAttrib(elm, 'data-mce-highlighted', true);\n              elm.className = trim(elm.className);\n            });\n          });\n        }\n      });\n      editor.on('PreInit', () => {\n        editor.parser.addNodeFilter('pre', nodes => {\n          var _a;\n          for (let i = 0, l = nodes.length; i < l; i++) {\n            const node = nodes[i];\n            const isCodeSample = ((_a = node.attr('class')) !== null && _a !== void 0 ? _a : '').indexOf('language-') !== -1;\n            if (isCodeSample) {\n              node.attr('contenteditable', 'false');\n              node.attr('data-mce-highlighted', 'false');\n            }\n          }\n        });\n      });\n    };\n\n    const onSetupEditable = (editor, onChanged = noop) => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n        onChanged(api);\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const isCodeSampleSelection = editor => {\n      const node = editor.selection.getStart();\n      return editor.dom.is(node, 'pre[class*=\"language-\"]');\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('codesample');\n      editor.ui.registry.addToggleButton('codesample', {\n        icon: 'code-sample',\n        tooltip: 'Insert/edit code sample',\n        onAction,\n        onSetup: onSetupEditable(editor, api => {\n          api.setActive(isCodeSampleSelection(editor));\n        })\n      });\n      editor.ui.registry.addMenuItem('codesample', {\n        text: 'Code sample...',\n        icon: 'code-sample',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = (() => {\n      global$2.add('codesample', editor => {\n        register$2(editor);\n        setup(editor);\n        register(editor);\n        register$1(editor);\n        editor.on('dblclick', ev => {\n          if (isCodeSample(ev.target)) {\n            open(editor);\n          }\n        });\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const children$2 = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const remove = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is(e, selector), isRoot);\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const get = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n\n    const getDirection = element => get(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';\n\n    const children$1 = (scope, predicate) => filter(children$2(scope), predicate);\n\n    const children = (scope, selector) => children$1(scope, e => is(e, selector));\n\n    const getParentElement = element => parent(element).filter(isElement);\n    const getNormalizedBlock = (element, isListItem) => {\n      const normalizedElement = isListItem ? ancestor(element, 'ol,ul') : Optional.some(element);\n      return normalizedElement.getOr(element);\n    };\n    const isListItem = isTag('li');\n    const setDirOnElements = (dom, blocks, dir) => {\n      each(blocks, block => {\n        const blockElement = SugarElement.fromDom(block);\n        const isBlockElementListItem = isListItem(blockElement);\n        const normalizedBlock = getNormalizedBlock(blockElement, isBlockElementListItem);\n        const normalizedBlockParent = getParentElement(normalizedBlock);\n        normalizedBlockParent.each(parent => {\n          dom.setStyle(normalizedBlock.dom, 'direction', null);\n          const parentDirection = getDirection(parent);\n          if (parentDirection === dir) {\n            remove(normalizedBlock, 'dir');\n          } else {\n            set(normalizedBlock, 'dir', dir);\n          }\n          if (getDirection(normalizedBlock) !== dir) {\n            dom.setStyle(normalizedBlock.dom, 'direction', dir);\n          }\n          if (isBlockElementListItem) {\n            const listItems = children(normalizedBlock, 'li[dir],li[style]');\n            each(listItems, listItem => {\n              remove(listItem, 'dir');\n              dom.setStyle(listItem.dom, 'direction', null);\n            });\n          }\n        });\n      });\n    };\n    const setDir = (editor, dir) => {\n      if (editor.selection.isEditable()) {\n        setDirOnElements(editor.dom, editor.selection.getSelectedBlocks(), dir);\n        editor.nodeChanged();\n      }\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceDirectionLTR', () => {\n        setDir(editor, 'ltr');\n      });\n      editor.addCommand('mceDirectionRTL', () => {\n        setDir(editor, 'rtl');\n      });\n    };\n\n    const getNodeChangeHandler = (editor, dir) => api => {\n      const nodeChangeHandler = e => {\n        const element = SugarElement.fromDom(e.element);\n        api.setActive(getDirection(element) === dir);\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChangeHandler);\n      api.setEnabled(editor.selection.isEditable());\n      return () => editor.off('NodeChange', nodeChangeHandler);\n    };\n    const register = editor => {\n      editor.ui.registry.addToggleButton('ltr', {\n        tooltip: 'Left to right',\n        icon: 'ltr',\n        onAction: () => editor.execCommand('mceDirectionLTR'),\n        onSetup: getNodeChangeHandler(editor, 'ltr')\n      });\n      editor.ui.registry.addToggleButton('rtl', {\n        tooltip: 'Right to left',\n        icon: 'rtl',\n        onAction: () => editor.execCommand('mceDirectionRTL'),\n        onSetup: getNodeChangeHandler(editor, 'rtl')\n      });\n    };\n\n    var Plugin = (() => {\n      global.add('directionality', editor => {\n        register$1(editor);\n        register(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const eq = t => a => t === a;\n    const isNull = eq(null);\n    const isUndefined = eq(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const map$1 = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const last = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const insertEmoticon = (editor, ch) => {\n      editor.insertContent(ch);\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const map = (obj, f) => {\n      return tupleMap(obj, (x, i) => ({\n        k: i,\n        v: f(x, i)\n      }));\n    };\n    const tupleMap = (obj, f) => {\n      const r = {};\n      each(obj, (x, i) => {\n        const tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    const shallow = (old, nu) => {\n      return nu;\n    };\n    const baseMerge = merger => {\n      return (...objects) => {\n        if (objects.length === 0) {\n          throw new Error(\"Can't merge zero objects\");\n        }\n        const ret = {};\n        for (let j = 0; j < objects.length; j++) {\n          const curObject = objects[j];\n          for (const key in curObject) {\n            if (has(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    const merge = baseMerge(shallow);\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.Resource');\n\n    const DEFAULT_ID = 'tinymce.plugins.emoticons';\n    const option = name => editor => editor.options.get(name);\n    const register$2 = (editor, pluginUrl) => {\n      const registerOption = editor.options.register;\n      registerOption('emoticons_database', {\n        processor: 'string',\n        default: 'emojis'\n      });\n      registerOption('emoticons_database_url', {\n        processor: 'string',\n        default: \"\".concat(pluginUrl, \"/js/\").concat(getEmojiDatabase(editor)).concat(editor.suffix, \".js\")\n      });\n      registerOption('emoticons_database_id', {\n        processor: 'string',\n        default: DEFAULT_ID\n      });\n      registerOption('emoticons_append', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('emoticons_images_url', {\n        processor: 'string',\n        default: 'https://twemoji.maxcdn.com/v/13.0.1/72x72/'\n      });\n    };\n    const getEmojiDatabase = option('emoticons_database');\n    const getEmojiDatabaseUrl = option('emoticons_database_url');\n    const getEmojiDatabaseId = option('emoticons_database_id');\n    const getAppendedEmoji = option('emoticons_append');\n    const getEmojiImageUrl = option('emoticons_images_url');\n\n    const ALL_CATEGORY = 'All';\n    const categoryNameMap = {\n      symbols: 'Symbols',\n      people: 'People',\n      animals_and_nature: 'Animals and Nature',\n      food_and_drink: 'Food and Drink',\n      activity: 'Activity',\n      travel_and_places: 'Travel and Places',\n      objects: 'Objects',\n      flags: 'Flags',\n      user: 'User Defined'\n    };\n    const translateCategory = (categories, name) => has(categories, name) ? categories[name] : name;\n    const getUserDefinedEmoji = editor => {\n      const userDefinedEmoticons = getAppendedEmoji(editor);\n      return map(userDefinedEmoticons, value => ({\n        keywords: [],\n        category: 'user',\n        ...value\n      }));\n    };\n    const initDatabase = (editor, databaseUrl, databaseId) => {\n      const categories = value();\n      const all = value();\n      const emojiImagesUrl = getEmojiImageUrl(editor);\n      const getEmoji = lib => {\n        if (startsWith(lib.char, '<img')) {\n          return lib.char.replace(/src=\"([^\"]+)\"/, (match, url) => \"src=\\\"\".concat(emojiImagesUrl).concat(url, \"\\\"\"));\n        } else {\n          return lib.char;\n        }\n      };\n      const processEmojis = emojis => {\n        const cats = {};\n        const everything = [];\n        each(emojis, (lib, title) => {\n          const entry = {\n            title,\n            keywords: lib.keywords,\n            char: getEmoji(lib),\n            category: translateCategory(categoryNameMap, lib.category)\n          };\n          const current = cats[entry.category] !== undefined ? cats[entry.category] : [];\n          cats[entry.category] = current.concat([entry]);\n          everything.push(entry);\n        });\n        categories.set(cats);\n        all.set(everything);\n      };\n      editor.on('init', () => {\n        global.load(databaseId, databaseUrl).then(emojis => {\n          const userEmojis = getUserDefinedEmoji(editor);\n          processEmojis(merge(emojis, userEmojis));\n        }, err => {\n          console.log(\"Failed to load emojis: \".concat(err));\n          categories.set({});\n          all.set([]);\n        });\n      });\n      const listCategory = category => {\n        if (category === ALL_CATEGORY) {\n          return listAll();\n        }\n        return categories.get().bind(cats => Optional.from(cats[category])).getOr([]);\n      };\n      const listAll = () => all.get().getOr([]);\n      const listCategories = () => [ALL_CATEGORY].concat(keys(categories.get().getOr({})));\n      const waitForLoad = () => {\n        if (hasLoaded()) {\n          return Promise.resolve(true);\n        } else {\n          return new Promise((resolve, reject) => {\n            let numRetries = 15;\n            const interval = setInterval(() => {\n              if (hasLoaded()) {\n                clearInterval(interval);\n                resolve(true);\n              } else {\n                numRetries--;\n                if (numRetries < 0) {\n                  console.log('Could not load emojis from url: ' + databaseUrl);\n                  clearInterval(interval);\n                  reject(false);\n                }\n              }\n            }, 100);\n          });\n        }\n      };\n      const hasLoaded = () => categories.isSet() && all.isSet();\n      return {\n        listCategories,\n        hasLoaded,\n        waitForLoad,\n        listAll,\n        listCategory\n      };\n    };\n\n    const emojiMatches = (emoji, lowerCasePattern) => contains(emoji.title.toLowerCase(), lowerCasePattern) || exists(emoji.keywords, k => contains(k.toLowerCase(), lowerCasePattern));\n    const emojisFrom = (list, pattern, maxResults) => {\n      const matches = [];\n      const lowerCasePattern = pattern.toLowerCase();\n      const reachedLimit = maxResults.fold(() => never, max => size => size >= max);\n      for (let i = 0; i < list.length; i++) {\n        if (pattern.length === 0 || emojiMatches(list[i], lowerCasePattern)) {\n          matches.push({\n            value: list[i].char,\n            text: list[i].title,\n            icon: list[i].char\n          });\n          if (reachedLimit(matches.length)) {\n            break;\n          }\n        }\n      }\n      return matches;\n    };\n\n    const patternName = 'pattern';\n    const open = (editor, database) => {\n      const initialState = {\n        pattern: '',\n        results: emojisFrom(database.listAll(), '', Optional.some(300))\n      };\n      const currentTab = Cell(ALL_CATEGORY);\n      const scan = dialogApi => {\n        const dialogData = dialogApi.getData();\n        const category = currentTab.get();\n        const candidates = database.listCategory(category);\n        const results = emojisFrom(candidates, dialogData[patternName], category === ALL_CATEGORY ? Optional.some(300) : Optional.none());\n        dialogApi.setData({\n          results\n        });\n      };\n      const updateFilter = last(dialogApi => {\n        scan(dialogApi);\n      }, 200);\n      const searchField = {\n        label: 'Search',\n        type: 'input',\n        name: patternName\n      };\n      const resultsField = {\n        type: 'collection',\n        name: 'results'\n      };\n      const getInitialState = () => {\n        const body = {\n          type: 'tabpanel',\n          tabs: map$1(database.listCategories(), cat => ({\n            title: cat,\n            name: cat,\n            items: [searchField, resultsField]\n          }))\n        };\n        return {\n          title: 'Emojis',\n          size: 'normal',\n          body,\n          initialData: initialState,\n          onTabChange: (dialogApi, details) => {\n            currentTab.set(details.newTabName);\n            updateFilter.throttle(dialogApi);\n          },\n          onChange: updateFilter.throttle,\n          onAction: (dialogApi, actionData) => {\n            if (actionData.name === 'results') {\n              insertEmoticon(editor, actionData.value);\n              dialogApi.close();\n            }\n          },\n          buttons: [{\n            type: 'cancel',\n            text: 'Close',\n            primary: true\n          }]\n        };\n      };\n      const dialogApi = editor.windowManager.open(getInitialState());\n      dialogApi.focus(patternName);\n      if (!database.hasLoaded()) {\n        dialogApi.block('Loading emojis...');\n        database.waitForLoad().then(() => {\n          dialogApi.redial(getInitialState());\n          updateFilter.throttle(dialogApi);\n          dialogApi.focus(patternName);\n          dialogApi.unblock();\n        }).catch(_err => {\n          dialogApi.redial({\n            title: 'Emojis',\n            body: {\n              type: 'panel',\n              items: [{\n                type: 'alertbanner',\n                level: 'error',\n                icon: 'warning',\n                text: 'Could not load emojis'\n              }]\n            },\n            buttons: [{\n              type: 'cancel',\n              text: 'Close',\n              primary: true\n            }],\n            initialData: {\n              pattern: '',\n              results: []\n            }\n          });\n          dialogApi.focus(patternName);\n          dialogApi.unblock();\n        });\n      }\n    };\n\n    const register$1 = (editor, database) => {\n      editor.addCommand('mceEmoticons', () => open(editor, database));\n    };\n\n    const setup = editor => {\n      editor.on('PreInit', () => {\n        editor.parser.addAttributeFilter('data-emoticon', nodes => {\n          each$1(nodes, node => {\n            node.attr('data-mce-resize', 'false');\n            node.attr('data-mce-placeholder', '1');\n          });\n        });\n      });\n    };\n\n    const init = (editor, database) => {\n      editor.ui.registry.addAutocompleter('emoticons', {\n        trigger: ':',\n        columns: 'auto',\n        minChars: 2,\n        fetch: (pattern, maxResults) => database.waitForLoad().then(() => {\n          const candidates = database.listAll();\n          return emojisFrom(candidates, pattern, Optional.some(maxResults));\n        }),\n        onAction: (autocompleteApi, rng, value) => {\n          editor.selection.setRng(rng);\n          editor.insertContent(value);\n          autocompleteApi.hide();\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceEmoticons');\n      editor.ui.registry.addButton('emoticons', {\n        tooltip: 'Emojis',\n        icon: 'emoji',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('emoticons', {\n        text: 'Emojis...',\n        icon: 'emoji',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = (() => {\n      global$1.add('emoticons', (editor, pluginUrl) => {\n        register$2(editor, pluginUrl);\n        const databaseUrl = getEmojiDatabaseUrl(editor);\n        const databaseId = getEmojiDatabaseId(editor);\n        const database = initDatabase(editor, databaseUrl, databaseId);\n        register$1(editor, database);\n        register(editor);\n        init(editor, database);\n        setup(editor);\n      });\n    });\n\n    Plugin();\n\n})();\nwindow.tinymce.Resource.add(\"tinymce.plugins.emoticons\",{100:{keywords:[\"score\",\"perfect\",\"numbers\",\"century\",\"exam\",\"quiz\",\"test\",\"pass\",\"hundred\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💯\" src=\"1f4af.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},1234:{keywords:[\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔢\" src=\"1f522.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grinning:{keywords:[\"face\",\"smile\",\"happy\",\"joy\",\":D\",\"grin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😀\" src=\"1f600.png\"/>',fitzpatrick_scale:false,category:\"people\"},grimacing:{keywords:[\"face\",\"grimace\",\"teeth\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😬\" src=\"1f62c.png\"/>',fitzpatrick_scale:false,category:\"people\"},grin:{keywords:[\"face\",\"happy\",\"smile\",\"joy\",\"kawaii\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😁\" src=\"1f601.png\"/>',fitzpatrick_scale:false,category:\"people\"},joy:{keywords:[\"face\",\"cry\",\"tears\",\"weep\",\"happy\",\"happytears\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😂\" src=\"1f602.png\"/>',fitzpatrick_scale:false,category:\"people\"},rofl:{keywords:[\"face\",\"rolling\",\"floor\",\"laughing\",\"lol\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤣\" src=\"1f923.png\"/>',fitzpatrick_scale:false,category:\"people\"},partying:{keywords:[\"face\",\"celebration\",\"woohoo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥳\" src=\"1f973.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiley:{keywords:[\"face\",\"happy\",\"joy\",\"haha\",\":D\",\":)\",\"smile\",\"funny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😃\" src=\"1f603.png\"/>',fitzpatrick_scale:false,category:\"people\"},smile:{keywords:[\"face\",\"happy\",\"joy\",\"funny\",\"haha\",\"laugh\",\"like\",\":D\",\":)\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😄\" src=\"1f604.png\"/>',fitzpatrick_scale:false,category:\"people\"},sweat_smile:{keywords:[\"face\",\"hot\",\"happy\",\"laugh\",\"sweat\",\"smile\",\"relief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😅\" src=\"1f605.png\"/>',fitzpatrick_scale:false,category:\"people\"},laughing:{keywords:[\"happy\",\"joy\",\"lol\",\"satisfied\",\"haha\",\"face\",\"glad\",\"XD\",\"laugh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😆\" src=\"1f606.png\"/>',fitzpatrick_scale:false,category:\"people\"},innocent:{keywords:[\"face\",\"angel\",\"heaven\",\"halo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😇\" src=\"1f607.png\"/>',fitzpatrick_scale:false,category:\"people\"},wink:{keywords:[\"face\",\"happy\",\"mischievous\",\"secret\",\";)\",\"smile\",\"eye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😉\" src=\"1f609.png\"/>',fitzpatrick_scale:false,category:\"people\"},blush:{keywords:[\"face\",\"smile\",\"happy\",\"flushed\",\"crush\",\"embarrassed\",\"shy\",\"joy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😊\" src=\"1f60a.png\"/>',fitzpatrick_scale:false,category:\"people\"},slightly_smiling_face:{keywords:[\"face\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙂\" src=\"1f642.png\"/>',fitzpatrick_scale:false,category:\"people\"},upside_down_face:{keywords:[\"face\",\"flipped\",\"silly\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙃\" src=\"1f643.png\"/>',fitzpatrick_scale:false,category:\"people\"},relaxed:{keywords:[\"face\",\"blush\",\"massage\",\"happiness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☺️\" src=\"263a.png\"/>',fitzpatrick_scale:false,category:\"people\"},yum:{keywords:[\"happy\",\"joy\",\"tongue\",\"smile\",\"face\",\"silly\",\"yummy\",\"nom\",\"delicious\",\"savouring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😋\" src=\"1f60b.png\"/>',fitzpatrick_scale:false,category:\"people\"},relieved:{keywords:[\"face\",\"relaxed\",\"phew\",\"massage\",\"happiness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😌\" src=\"1f60c.png\"/>',fitzpatrick_scale:false,category:\"people\"},heart_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😍\" src=\"1f60d.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiling_face_with_three_hearts:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"hearts\",\"adore\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥰\" src=\"1f970.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_heart:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😘\" src=\"1f618.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing:{keywords:[\"love\",\"like\",\"face\",\"3\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😗\" src=\"1f617.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_smiling_eyes:{keywords:[\"face\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😙\" src=\"1f619.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_closed_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😚\" src=\"1f61a.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_winking_eye:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"wink\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😜\" src=\"1f61c.png\"/>',fitzpatrick_scale:false,category:\"people\"},zany:{keywords:[\"face\",\"goofy\",\"crazy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤪\" src=\"1f92a.png\"/>',fitzpatrick_scale:false,category:\"people\"},raised_eyebrow:{keywords:[\"face\",\"distrust\",\"scepticism\",\"disapproval\",\"disbelief\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤨\" src=\"1f928.png\"/>',fitzpatrick_scale:false,category:\"people\"},monocle:{keywords:[\"face\",\"stuffy\",\"wealthy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧐\" src=\"1f9d0.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_closed_eyes:{keywords:[\"face\",\"prank\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😝\" src=\"1f61d.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😛\" src=\"1f61b.png\"/>',fitzpatrick_scale:false,category:\"people\"},money_mouth_face:{keywords:[\"face\",\"rich\",\"dollar\",\"money\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤑\" src=\"1f911.png\"/>',fitzpatrick_scale:false,category:\"people\"},nerd_face:{keywords:[\"face\",\"nerdy\",\"geek\",\"dork\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤓\" src=\"1f913.png\"/>',fitzpatrick_scale:false,category:\"people\"},sunglasses:{keywords:[\"face\",\"cool\",\"smile\",\"summer\",\"beach\",\"sunglass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😎\" src=\"1f60e.png\"/>',fitzpatrick_scale:false,category:\"people\"},star_struck:{keywords:[\"face\",\"smile\",\"starry\",\"eyes\",\"grinning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤩\" src=\"1f929.png\"/>',fitzpatrick_scale:false,category:\"people\"},clown_face:{keywords:[\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤡\" src=\"1f921.png\"/>',fitzpatrick_scale:false,category:\"people\"},cowboy_hat_face:{keywords:[\"face\",\"cowgirl\",\"hat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤠\" src=\"1f920.png\"/>',fitzpatrick_scale:false,category:\"people\"},hugs:{keywords:[\"face\",\"smile\",\"hug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤗\" src=\"1f917.png\"/>',fitzpatrick_scale:false,category:\"people\"},smirk:{keywords:[\"face\",\"smile\",\"mean\",\"prank\",\"smug\",\"sarcasm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😏\" src=\"1f60f.png\"/>',fitzpatrick_scale:false,category:\"people\"},no_mouth:{keywords:[\"face\",\"hellokitty\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😶\" src=\"1f636.png\"/>',fitzpatrick_scale:false,category:\"people\"},neutral_face:{keywords:[\"indifference\",\"meh\",\":|\",\"neutral\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😐\" src=\"1f610.png\"/>',fitzpatrick_scale:false,category:\"people\"},expressionless:{keywords:[\"face\",\"indifferent\",\"-_-\",\"meh\",\"deadpan\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😑\" src=\"1f611.png\"/>',fitzpatrick_scale:false,category:\"people\"},unamused:{keywords:[\"indifference\",\"bored\",\"straight face\",\"serious\",\"sarcasm\",\"unimpressed\",\"skeptical\",\"dubious\",\"side_eye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😒\" src=\"1f612.png\"/>',fitzpatrick_scale:false,category:\"people\"},roll_eyes:{keywords:[\"face\",\"eyeroll\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙄\" src=\"1f644.png\"/>',fitzpatrick_scale:false,category:\"people\"},thinking:{keywords:[\"face\",\"hmmm\",\"think\",\"consider\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤔\" src=\"1f914.png\"/>',fitzpatrick_scale:false,category:\"people\"},lying_face:{keywords:[\"face\",\"lie\",\"pinocchio\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤥\" src=\"1f925.png\"/>',fitzpatrick_scale:false,category:\"people\"},hand_over_mouth:{keywords:[\"face\",\"whoops\",\"shock\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤭\" src=\"1f92d.png\"/>',fitzpatrick_scale:false,category:\"people\"},shushing:{keywords:[\"face\",\"quiet\",\"shhh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤫\" src=\"1f92b.png\"/>',fitzpatrick_scale:false,category:\"people\"},symbols_over_mouth:{keywords:[\"face\",\"swearing\",\"cursing\",\"cussing\",\"profanity\",\"expletive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤬\" src=\"1f92c.png\"/>',fitzpatrick_scale:false,category:\"people\"},exploding_head:{keywords:[\"face\",\"shocked\",\"mind\",\"blown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤯\" src=\"1f92f.png\"/>',fitzpatrick_scale:false,category:\"people\"},flushed:{keywords:[\"face\",\"blush\",\"shy\",\"flattered\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😳\" src=\"1f633.png\"/>',fitzpatrick_scale:false,category:\"people\"},disappointed:{keywords:[\"face\",\"sad\",\"upset\",\"depressed\",\":(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😞\" src=\"1f61e.png\"/>',fitzpatrick_scale:false,category:\"people\"},worried:{keywords:[\"face\",\"concern\",\"nervous\",\":(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😟\" src=\"1f61f.png\"/>',fitzpatrick_scale:false,category:\"people\"},angry:{keywords:[\"mad\",\"face\",\"annoyed\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😠\" src=\"1f620.png\"/>',fitzpatrick_scale:false,category:\"people\"},rage:{keywords:[\"angry\",\"mad\",\"hate\",\"despise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😡\" src=\"1f621.png\"/>',fitzpatrick_scale:false,category:\"people\"},pensive:{keywords:[\"face\",\"sad\",\"depressed\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😔\" src=\"1f614.png\"/>',fitzpatrick_scale:false,category:\"people\"},confused:{keywords:[\"face\",\"indifference\",\"huh\",\"weird\",\"hmmm\",\":/\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😕\" src=\"1f615.png\"/>',fitzpatrick_scale:false,category:\"people\"},slightly_frowning_face:{keywords:[\"face\",\"frowning\",\"disappointed\",\"sad\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙁\" src=\"1f641.png\"/>',fitzpatrick_scale:false,category:\"people\"},frowning_face:{keywords:[\"face\",\"sad\",\"upset\",\"frown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☹\" src=\"2639.png\"/>',fitzpatrick_scale:false,category:\"people\"},persevere:{keywords:[\"face\",\"sick\",\"no\",\"upset\",\"oops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😣\" src=\"1f623.png\"/>',fitzpatrick_scale:false,category:\"people\"},confounded:{keywords:[\"face\",\"confused\",\"sick\",\"unwell\",\"oops\",\":S\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😖\" src=\"1f616.png\"/>',fitzpatrick_scale:false,category:\"people\"},tired_face:{keywords:[\"sick\",\"whine\",\"upset\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😫\" src=\"1f62b.png\"/>',fitzpatrick_scale:false,category:\"people\"},weary:{keywords:[\"face\",\"tired\",\"sleepy\",\"sad\",\"frustrated\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😩\" src=\"1f629.png\"/>',fitzpatrick_scale:false,category:\"people\"},pleading:{keywords:[\"face\",\"begging\",\"mercy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥺\" src=\"1f97a.png\"/>',fitzpatrick_scale:false,category:\"people\"},triumph:{keywords:[\"face\",\"gas\",\"phew\",\"proud\",\"pride\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😤\" src=\"1f624.png\"/>',fitzpatrick_scale:false,category:\"people\"},open_mouth:{keywords:[\"face\",\"surprise\",\"impressed\",\"wow\",\"whoa\",\":O\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😮\" src=\"1f62e.png\"/>',fitzpatrick_scale:false,category:\"people\"},scream:{keywords:[\"face\",\"munch\",\"scared\",\"omg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😱\" src=\"1f631.png\"/>',fitzpatrick_scale:false,category:\"people\"},fearful:{keywords:[\"face\",\"scared\",\"terrified\",\"nervous\",\"oops\",\"huh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😨\" src=\"1f628.png\"/>',fitzpatrick_scale:false,category:\"people\"},cold_sweat:{keywords:[\"face\",\"nervous\",\"sweat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😰\" src=\"1f630.png\"/>',fitzpatrick_scale:false,category:\"people\"},hushed:{keywords:[\"face\",\"woo\",\"shh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😯\" src=\"1f62f.png\"/>',fitzpatrick_scale:false,category:\"people\"},frowning:{keywords:[\"face\",\"aw\",\"what\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😦\" src=\"1f626.png\"/>',fitzpatrick_scale:false,category:\"people\"},anguished:{keywords:[\"face\",\"stunned\",\"nervous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😧\" src=\"1f627.png\"/>',fitzpatrick_scale:false,category:\"people\"},cry:{keywords:[\"face\",\"tears\",\"sad\",\"depressed\",\"upset\",\":'(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😢\" src=\"1f622.png\"/>',fitzpatrick_scale:false,category:\"people\"},disappointed_relieved:{keywords:[\"face\",\"phew\",\"sweat\",\"nervous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😥\" src=\"1f625.png\"/>',fitzpatrick_scale:false,category:\"people\"},drooling_face:{keywords:[\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤤\" src=\"1f924.png\"/>',fitzpatrick_scale:false,category:\"people\"},sleepy:{keywords:[\"face\",\"tired\",\"rest\",\"nap\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😪\" src=\"1f62a.png\"/>',fitzpatrick_scale:false,category:\"people\"},sweat:{keywords:[\"face\",\"hot\",\"sad\",\"tired\",\"exercise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😓\" src=\"1f613.png\"/>',fitzpatrick_scale:false,category:\"people\"},hot:{keywords:[\"face\",\"feverish\",\"heat\",\"red\",\"sweating\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥵\" src=\"1f975.png\"/>',fitzpatrick_scale:false,category:\"people\"},cold:{keywords:[\"face\",\"blue\",\"freezing\",\"frozen\",\"frostbite\",\"icicles\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥶\" src=\"1f976.png\"/>',fitzpatrick_scale:false,category:\"people\"},sob:{keywords:[\"face\",\"cry\",\"tears\",\"sad\",\"upset\",\"depressed\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😭\" src=\"1f62d.png\"/>',fitzpatrick_scale:false,category:\"people\"},dizzy_face:{keywords:[\"spent\",\"unconscious\",\"xox\",\"dizzy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😵\" src=\"1f635.png\"/>',fitzpatrick_scale:false,category:\"people\"},astonished:{keywords:[\"face\",\"xox\",\"surprised\",\"poisoned\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😲\" src=\"1f632.png\"/>',fitzpatrick_scale:false,category:\"people\"},zipper_mouth_face:{keywords:[\"face\",\"sealed\",\"zipper\",\"secret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤐\" src=\"1f910.png\"/>',fitzpatrick_scale:false,category:\"people\"},nauseated_face:{keywords:[\"face\",\"vomit\",\"gross\",\"green\",\"sick\",\"throw up\",\"ill\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤢\" src=\"1f922.png\"/>',fitzpatrick_scale:false,category:\"people\"},sneezing_face:{keywords:[\"face\",\"gesundheit\",\"sneeze\",\"sick\",\"allergy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤧\" src=\"1f927.png\"/>',fitzpatrick_scale:false,category:\"people\"},vomiting:{keywords:[\"face\",\"sick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤮\" src=\"1f92e.png\"/>',fitzpatrick_scale:false,category:\"people\"},mask:{keywords:[\"face\",\"sick\",\"ill\",\"disease\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😷\" src=\"1f637.png\"/>',fitzpatrick_scale:false,category:\"people\"},face_with_thermometer:{keywords:[\"sick\",\"temperature\",\"thermometer\",\"cold\",\"fever\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤒\" src=\"1f912.png\"/>',fitzpatrick_scale:false,category:\"people\"},face_with_head_bandage:{keywords:[\"injured\",\"clumsy\",\"bandage\",\"hurt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤕\" src=\"1f915.png\"/>',fitzpatrick_scale:false,category:\"people\"},woozy:{keywords:[\"face\",\"dizzy\",\"intoxicated\",\"tipsy\",\"wavy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥴\" src=\"1f974.png\"/>',fitzpatrick_scale:false,category:\"people\"},sleeping:{keywords:[\"face\",\"tired\",\"sleepy\",\"night\",\"zzz\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😴\" src=\"1f634.png\"/>',fitzpatrick_scale:false,category:\"people\"},zzz:{keywords:[\"sleepy\",\"tired\",\"dream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💤\" src=\"1f4a4.png\"/>',fitzpatrick_scale:false,category:\"people\"},poop:{keywords:[\"hankey\",\"shitface\",\"fail\",\"turd\",\"shit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💩\" src=\"1f4a9.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiling_imp:{keywords:[\"devil\",\"horns\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😈\" src=\"1f608.png\"/>',fitzpatrick_scale:false,category:\"people\"},imp:{keywords:[\"devil\",\"angry\",\"horns\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👿\" src=\"1f47f.png\"/>',fitzpatrick_scale:false,category:\"people\"},japanese_ogre:{keywords:[\"monster\",\"red\",\"mask\",\"halloween\",\"scary\",\"creepy\",\"devil\",\"demon\",\"japanese\",\"ogre\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👹\" src=\"1f479.png\"/>',fitzpatrick_scale:false,category:\"people\"},japanese_goblin:{keywords:[\"red\",\"evil\",\"mask\",\"monster\",\"scary\",\"creepy\",\"japanese\",\"goblin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👺\" src=\"1f47a.png\"/>',fitzpatrick_scale:false,category:\"people\"},skull:{keywords:[\"dead\",\"skeleton\",\"creepy\",\"death\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💀\" src=\"1f480.png\"/>',fitzpatrick_scale:false,category:\"people\"},ghost:{keywords:[\"halloween\",\"spooky\",\"scary\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👻\" src=\"1f47b.png\"/>',fitzpatrick_scale:false,category:\"people\"},alien:{keywords:[\"UFO\",\"paul\",\"weird\",\"outer_space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👽\" src=\"1f47d.png\"/>',fitzpatrick_scale:false,category:\"people\"},robot:{keywords:[\"computer\",\"machine\",\"bot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤖\" src=\"1f916.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiley_cat:{keywords:[\"animal\",\"cats\",\"happy\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😺\" src=\"1f63a.png\"/>',fitzpatrick_scale:false,category:\"people\"},smile_cat:{keywords:[\"animal\",\"cats\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😸\" src=\"1f638.png\"/>',fitzpatrick_scale:false,category:\"people\"},joy_cat:{keywords:[\"animal\",\"cats\",\"haha\",\"happy\",\"tears\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😹\" src=\"1f639.png\"/>',fitzpatrick_scale:false,category:\"people\"},heart_eyes_cat:{keywords:[\"animal\",\"love\",\"like\",\"affection\",\"cats\",\"valentines\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😻\" src=\"1f63b.png\"/>',fitzpatrick_scale:false,category:\"people\"},smirk_cat:{keywords:[\"animal\",\"cats\",\"smirk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😼\" src=\"1f63c.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_cat:{keywords:[\"animal\",\"cats\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😽\" src=\"1f63d.png\"/>',fitzpatrick_scale:false,category:\"people\"},scream_cat:{keywords:[\"animal\",\"cats\",\"munch\",\"scared\",\"scream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙀\" src=\"1f640.png\"/>',fitzpatrick_scale:false,category:\"people\"},crying_cat_face:{keywords:[\"animal\",\"tears\",\"weep\",\"sad\",\"cats\",\"upset\",\"cry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😿\" src=\"1f63f.png\"/>',fitzpatrick_scale:false,category:\"people\"},pouting_cat:{keywords:[\"animal\",\"cats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😾\" src=\"1f63e.png\"/>',fitzpatrick_scale:false,category:\"people\"},palms_up:{keywords:[\"hands\",\"gesture\",\"cupped\",\"prayer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤲\" src=\"1f932.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hands:{keywords:[\"gesture\",\"hooray\",\"yea\",\"celebration\",\"hands\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙌\" src=\"1f64c.png\"/>',fitzpatrick_scale:true,category:\"people\"},clap:{keywords:[\"hands\",\"praise\",\"applause\",\"congrats\",\"yay\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👏\" src=\"1f44f.png\"/>',fitzpatrick_scale:true,category:\"people\"},wave:{keywords:[\"hands\",\"gesture\",\"goodbye\",\"solong\",\"farewell\",\"hello\",\"hi\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👋\" src=\"1f44b.png\"/>',fitzpatrick_scale:true,category:\"people\"},call_me_hand:{keywords:[\"hands\",\"gesture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤙\" src=\"1f919.png\"/>',fitzpatrick_scale:true,category:\"people\"},\"+1\":{keywords:[\"thumbsup\",\"yes\",\"awesome\",\"good\",\"agree\",\"accept\",\"cool\",\"hand\",\"like\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👍\" src=\"1f44d.png\"/>',fitzpatrick_scale:true,category:\"people\"},\"-1\":{keywords:[\"thumbsdown\",\"no\",\"dislike\",\"hand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👎\" src=\"1f44e.png\"/>',fitzpatrick_scale:true,category:\"people\"},facepunch:{keywords:[\"angry\",\"violence\",\"fist\",\"hit\",\"attack\",\"hand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👊\" src=\"1f44a.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist:{keywords:[\"fingers\",\"hand\",\"grasp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✊\" src=\"270a.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist_left:{keywords:[\"hand\",\"fistbump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤛\" src=\"1f91b.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist_right:{keywords:[\"hand\",\"fistbump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤜\" src=\"1f91c.png\"/>',fitzpatrick_scale:true,category:\"people\"},v:{keywords:[\"fingers\",\"ohyeah\",\"hand\",\"peace\",\"victory\",\"two\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✌\" src=\"270c.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_hand:{keywords:[\"fingers\",\"limbs\",\"perfect\",\"ok\",\"okay\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👌\" src=\"1f44c.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hand:{keywords:[\"fingers\",\"stop\",\"highfive\",\"palm\",\"ban\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✋\" src=\"270b.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_back_of_hand:{keywords:[\"fingers\",\"raised\",\"backhand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤚\" src=\"1f91a.png\"/>',fitzpatrick_scale:true,category:\"people\"},open_hands:{keywords:[\"fingers\",\"butterfly\",\"hands\",\"open\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👐\" src=\"1f450.png\"/>',fitzpatrick_scale:true,category:\"people\"},muscle:{keywords:[\"arm\",\"flex\",\"hand\",\"summer\",\"strong\",\"biceps\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💪\" src=\"1f4aa.png\"/>',fitzpatrick_scale:true,category:\"people\"},pray:{keywords:[\"please\",\"hope\",\"wish\",\"namaste\",\"highfive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙏\" src=\"1f64f.png\"/>',fitzpatrick_scale:true,category:\"people\"},foot:{keywords:[\"kick\",\"stomp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦶\" src=\"1f9b6.png\"/>',fitzpatrick_scale:true,category:\"people\"},leg:{keywords:[\"kick\",\"limb\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦵\" src=\"1f9b5.png\"/>',fitzpatrick_scale:true,category:\"people\"},handshake:{keywords:[\"agreement\",\"shake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤝\" src=\"1f91d.png\"/>',fitzpatrick_scale:false,category:\"people\"},point_up:{keywords:[\"hand\",\"fingers\",\"direction\",\"up\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☝\" src=\"261d.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_up_2:{keywords:[\"fingers\",\"hand\",\"direction\",\"up\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👆\" src=\"1f446.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_down:{keywords:[\"fingers\",\"hand\",\"direction\",\"down\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👇\" src=\"1f447.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_left:{keywords:[\"direction\",\"fingers\",\"hand\",\"left\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👈\" src=\"1f448.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_right:{keywords:[\"fingers\",\"hand\",\"direction\",\"right\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👉\" src=\"1f449.png\"/>',fitzpatrick_scale:true,category:\"people\"},fu:{keywords:[\"hand\",\"fingers\",\"rude\",\"middle\",\"flipping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖕\" src=\"1f595.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hand_with_fingers_splayed:{keywords:[\"hand\",\"fingers\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖐\" src=\"1f590.png\"/>',fitzpatrick_scale:true,category:\"people\"},love_you:{keywords:[\"hand\",\"fingers\",\"gesture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤟\" src=\"1f91f.png\"/>',fitzpatrick_scale:true,category:\"people\"},metal:{keywords:[\"hand\",\"fingers\",\"evil_eye\",\"sign_of_horns\",\"rock_on\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤘\" src=\"1f918.png\"/>',fitzpatrick_scale:true,category:\"people\"},crossed_fingers:{keywords:[\"good\",\"lucky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤞\" src=\"1f91e.png\"/>',fitzpatrick_scale:true,category:\"people\"},vulcan_salute:{keywords:[\"hand\",\"fingers\",\"spock\",\"star trek\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖖\" src=\"1f596.png\"/>',fitzpatrick_scale:true,category:\"people\"},writing_hand:{keywords:[\"lower_left_ballpoint_pen\",\"stationery\",\"write\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✍\" src=\"270d.png\"/>',fitzpatrick_scale:true,category:\"people\"},selfie:{keywords:[\"camera\",\"phone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤳\" src=\"1f933.png\"/>',fitzpatrick_scale:true,category:\"people\"},nail_care:{keywords:[\"beauty\",\"manicure\",\"finger\",\"fashion\",\"nail\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💅\" src=\"1f485.png\"/>',fitzpatrick_scale:true,category:\"people\"},lips:{keywords:[\"mouth\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👄\" src=\"1f444.png\"/>',fitzpatrick_scale:false,category:\"people\"},tooth:{keywords:[\"teeth\",\"dentist\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦷\" src=\"1f9b7.png\"/>',fitzpatrick_scale:false,category:\"people\"},tongue:{keywords:[\"mouth\",\"playful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👅\" src=\"1f445.png\"/>',fitzpatrick_scale:false,category:\"people\"},ear:{keywords:[\"face\",\"hear\",\"sound\",\"listen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👂\" src=\"1f442.png\"/>',fitzpatrick_scale:true,category:\"people\"},nose:{keywords:[\"smell\",\"sniff\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👃\" src=\"1f443.png\"/>',fitzpatrick_scale:true,category:\"people\"},eye:{keywords:[\"face\",\"look\",\"see\",\"watch\",\"stare\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👁\" src=\"1f441.png\"/>',fitzpatrick_scale:false,category:\"people\"},eyes:{keywords:[\"look\",\"watch\",\"stalk\",\"peek\",\"see\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👀\" src=\"1f440.png\"/>',fitzpatrick_scale:false,category:\"people\"},brain:{keywords:[\"smart\",\"intelligent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧠\" src=\"1f9e0.png\"/>',fitzpatrick_scale:false,category:\"people\"},bust_in_silhouette:{keywords:[\"user\",\"person\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👤\" src=\"1f464.png\"/>',fitzpatrick_scale:false,category:\"people\"},busts_in_silhouette:{keywords:[\"user\",\"person\",\"human\",\"group\",\"team\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👥\" src=\"1f465.png\"/>',fitzpatrick_scale:false,category:\"people\"},speaking_head:{keywords:[\"user\",\"person\",\"human\",\"sing\",\"say\",\"talk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗣\" src=\"1f5e3.png\"/>',fitzpatrick_scale:false,category:\"people\"},baby:{keywords:[\"child\",\"boy\",\"girl\",\"toddler\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👶\" src=\"1f476.png\"/>',fitzpatrick_scale:true,category:\"people\"},child:{keywords:[\"gender-neutral\",\"young\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧒\" src=\"1f9d2.png\"/>',fitzpatrick_scale:true,category:\"people\"},boy:{keywords:[\"man\",\"male\",\"guy\",\"teenager\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👦\" src=\"1f466.png\"/>',fitzpatrick_scale:true,category:\"people\"},girl:{keywords:[\"female\",\"woman\",\"teenager\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👧\" src=\"1f467.png\"/>',fitzpatrick_scale:true,category:\"people\"},adult:{keywords:[\"gender-neutral\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧑\" src=\"1f9d1.png\"/>',fitzpatrick_scale:true,category:\"people\"},man:{keywords:[\"mustache\",\"father\",\"dad\",\"guy\",\"classy\",\"sir\",\"moustache\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨\" src=\"1f468.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman:{keywords:[\"female\",\"girls\",\"lady\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩\" src=\"1f469.png\"/>',fitzpatrick_scale:true,category:\"people\"},blonde_woman:{keywords:[\"woman\",\"female\",\"girl\",\"blonde\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👱‍♀️\" src=\"1f471-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},blonde_man:{keywords:[\"man\",\"male\",\"boy\",\"blonde\",\"guy\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👱\" src=\"1f471.png\"/>',fitzpatrick_scale:true,category:\"people\"},bearded_person:{keywords:[\"person\",\"bewhiskered\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧔\" src=\"1f9d4.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_adult:{keywords:[\"human\",\"elder\",\"senior\",\"gender-neutral\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧓\" src=\"1f9d3.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_man:{keywords:[\"human\",\"male\",\"men\",\"old\",\"elder\",\"senior\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👴\" src=\"1f474.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_woman:{keywords:[\"human\",\"female\",\"women\",\"lady\",\"old\",\"elder\",\"senior\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👵\" src=\"1f475.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_with_gua_pi_mao:{keywords:[\"male\",\"boy\",\"chinese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👲\" src=\"1f472.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_with_headscarf:{keywords:[\"female\",\"hijab\",\"mantilla\",\"tichel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧕\" src=\"1f9d5.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_with_turban:{keywords:[\"female\",\"indian\",\"hinduism\",\"arabs\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👳‍♀️\" src=\"1f473-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_with_turban:{keywords:[\"male\",\"indian\",\"hinduism\",\"arabs\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👳\" src=\"1f473.png\"/>',fitzpatrick_scale:true,category:\"people\"},policewoman:{keywords:[\"woman\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👮‍♀️\" src=\"1f46e-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},policeman:{keywords:[\"man\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👮\" src=\"1f46e.png\"/>',fitzpatrick_scale:true,category:\"people\"},construction_worker_woman:{keywords:[\"female\",\"human\",\"wip\",\"build\",\"construction\",\"worker\",\"labor\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👷‍♀️\" src=\"1f477-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},construction_worker_man:{keywords:[\"male\",\"human\",\"wip\",\"guy\",\"build\",\"construction\",\"worker\",\"labor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👷\" src=\"1f477.png\"/>',fitzpatrick_scale:true,category:\"people\"},guardswoman:{keywords:[\"uk\",\"gb\",\"british\",\"female\",\"royal\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💂‍♀️\" src=\"1f482-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},guardsman:{keywords:[\"uk\",\"gb\",\"british\",\"male\",\"guy\",\"royal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💂\" src=\"1f482.png\"/>',fitzpatrick_scale:true,category:\"people\"},female_detective:{keywords:[\"human\",\"spy\",\"detective\",\"female\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕵️‍♀️\" src=\"1f575-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},male_detective:{keywords:[\"human\",\"spy\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕵\" src=\"1f575.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍⚕️\" src=\"1f469-200d-2695-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍⚕️\" src=\"1f468-200d-2695-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_farmer:{keywords:[\"rancher\",\"gardener\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🌾\" src=\"1f469-200d-1f33e.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_farmer:{keywords:[\"rancher\",\"gardener\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🌾\" src=\"1f468-200d-1f33e.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_cook:{keywords:[\"chef\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🍳\" src=\"1f469-200d-1f373.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_cook:{keywords:[\"chef\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🍳\" src=\"1f468-200d-1f373.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_student:{keywords:[\"graduate\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎓\" src=\"1f469-200d-1f393.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_student:{keywords:[\"graduate\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎓\" src=\"1f468-200d-1f393.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_singer:{keywords:[\"rockstar\",\"entertainer\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎤\" src=\"1f469-200d-1f3a4.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_singer:{keywords:[\"rockstar\",\"entertainer\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎤\" src=\"1f468-200d-1f3a4.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_teacher:{keywords:[\"instructor\",\"professor\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🏫\" src=\"1f469-200d-1f3eb.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_teacher:{keywords:[\"instructor\",\"professor\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🏫\" src=\"1f468-200d-1f3eb.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_factory_worker:{keywords:[\"assembly\",\"industrial\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🏭\" src=\"1f469-200d-1f3ed.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_factory_worker:{keywords:[\"assembly\",\"industrial\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🏭\" src=\"1f468-200d-1f3ed.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"woman\",\"human\",\"laptop\",\"computer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍💻\" src=\"1f469-200d-1f4bb.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"man\",\"human\",\"laptop\",\"computer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍💻\" src=\"1f468-200d-1f4bb.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_office_worker:{keywords:[\"business\",\"manager\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍💼\" src=\"1f469-200d-1f4bc.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_office_worker:{keywords:[\"business\",\"manager\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍💼\" src=\"1f468-200d-1f4bc.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_mechanic:{keywords:[\"plumber\",\"woman\",\"human\",\"wrench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🔧\" src=\"1f469-200d-1f527.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_mechanic:{keywords:[\"plumber\",\"man\",\"human\",\"wrench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🔧\" src=\"1f468-200d-1f527.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🔬\" src=\"1f469-200d-1f52c.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🔬\" src=\"1f468-200d-1f52c.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_artist:{keywords:[\"painter\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎨\" src=\"1f469-200d-1f3a8.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_artist:{keywords:[\"painter\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎨\" src=\"1f468-200d-1f3a8.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_firefighter:{keywords:[\"fireman\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🚒\" src=\"1f469-200d-1f692.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_firefighter:{keywords:[\"fireman\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🚒\" src=\"1f468-200d-1f692.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_pilot:{keywords:[\"aviator\",\"plane\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍✈️\" src=\"1f469-200d-2708-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_pilot:{keywords:[\"aviator\",\"plane\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍✈️\" src=\"1f468-200d-2708-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_astronaut:{keywords:[\"space\",\"rocket\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🚀\" src=\"1f469-200d-1f680.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_astronaut:{keywords:[\"space\",\"rocket\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🚀\" src=\"1f468-200d-1f680.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_judge:{keywords:[\"justice\",\"court\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍⚖️\" src=\"1f469-200d-2696-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_judge:{keywords:[\"justice\",\"court\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍⚖️\" src=\"1f468-200d-2696-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_superhero:{keywords:[\"woman\",\"female\",\"good\",\"heroine\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦸‍♀️\" src=\"1f9b8-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_superhero:{keywords:[\"man\",\"male\",\"good\",\"hero\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦸‍♂️\" src=\"1f9b8-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_supervillain:{keywords:[\"woman\",\"female\",\"evil\",\"bad\",\"criminal\",\"heroine\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦹‍♀️\" src=\"1f9b9-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_supervillain:{keywords:[\"man\",\"male\",\"evil\",\"bad\",\"criminal\",\"hero\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦹‍♂️\" src=\"1f9b9-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},mrs_claus:{keywords:[\"woman\",\"female\",\"xmas\",\"mother christmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤶\" src=\"1f936.png\"/>',fitzpatrick_scale:true,category:\"people\"},santa:{keywords:[\"festival\",\"man\",\"male\",\"xmas\",\"father christmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎅\" src=\"1f385.png\"/>',fitzpatrick_scale:true,category:\"people\"},sorceress:{keywords:[\"woman\",\"female\",\"mage\",\"witch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧙‍♀️\" src=\"1f9d9-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},wizard:{keywords:[\"man\",\"male\",\"mage\",\"sorcerer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧙‍♂️\" src=\"1f9d9-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_elf:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧝‍♀️\" src=\"1f9dd-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_elf:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧝‍♂️\" src=\"1f9dd-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_vampire:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧛‍♀️\" src=\"1f9db-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_vampire:{keywords:[\"man\",\"male\",\"dracula\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧛‍♂️\" src=\"1f9db-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_zombie:{keywords:[\"woman\",\"female\",\"undead\",\"walking dead\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧟‍♀️\" src=\"1f9df-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},man_zombie:{keywords:[\"man\",\"male\",\"dracula\",\"undead\",\"walking dead\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧟‍♂️\" src=\"1f9df-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},woman_genie:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧞‍♀️\" src=\"1f9de-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},man_genie:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧞‍♂️\" src=\"1f9de-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},mermaid:{keywords:[\"woman\",\"female\",\"merwoman\",\"ariel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧜‍♀️\" src=\"1f9dc-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},merman:{keywords:[\"man\",\"male\",\"triton\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧜‍♂️\" src=\"1f9dc-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_fairy:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧚‍♀️\" src=\"1f9da-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_fairy:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧚‍♂️\" src=\"1f9da-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},angel:{keywords:[\"heaven\",\"wings\",\"halo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👼\" src=\"1f47c.png\"/>',fitzpatrick_scale:true,category:\"people\"},pregnant_woman:{keywords:[\"baby\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤰\" src=\"1f930.png\"/>',fitzpatrick_scale:true,category:\"people\"},breastfeeding:{keywords:[\"nursing\",\"baby\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤱\" src=\"1f931.png\"/>',fitzpatrick_scale:true,category:\"people\"},princess:{keywords:[\"girl\",\"woman\",\"female\",\"blond\",\"crown\",\"royal\",\"queen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👸\" src=\"1f478.png\"/>',fitzpatrick_scale:true,category:\"people\"},prince:{keywords:[\"boy\",\"man\",\"male\",\"crown\",\"royal\",\"king\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤴\" src=\"1f934.png\"/>',fitzpatrick_scale:true,category:\"people\"},bride_with_veil:{keywords:[\"couple\",\"marriage\",\"wedding\",\"woman\",\"bride\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👰\" src=\"1f470.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_in_tuxedo:{keywords:[\"couple\",\"marriage\",\"wedding\",\"groom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤵\" src=\"1f935.png\"/>',fitzpatrick_scale:true,category:\"people\"},running_woman:{keywords:[\"woman\",\"walking\",\"exercise\",\"race\",\"running\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏃‍♀️\" src=\"1f3c3-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},running_man:{keywords:[\"man\",\"walking\",\"exercise\",\"race\",\"running\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏃\" src=\"1f3c3.png\"/>',fitzpatrick_scale:true,category:\"people\"},walking_woman:{keywords:[\"human\",\"feet\",\"steps\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚶‍♀️\" src=\"1f6b6-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},walking_man:{keywords:[\"human\",\"feet\",\"steps\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚶\" src=\"1f6b6.png\"/>',fitzpatrick_scale:true,category:\"people\"},dancer:{keywords:[\"female\",\"girl\",\"woman\",\"fun\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💃\" src=\"1f483.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_dancing:{keywords:[\"male\",\"boy\",\"fun\",\"dancer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕺\" src=\"1f57a.png\"/>',fitzpatrick_scale:true,category:\"people\"},dancing_women:{keywords:[\"female\",\"bunny\",\"women\",\"girls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👯\" src=\"1f46f.png\"/>',fitzpatrick_scale:false,category:\"people\"},dancing_men:{keywords:[\"male\",\"bunny\",\"men\",\"boys\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👯‍♂️\" src=\"1f46f-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple:{keywords:[\"pair\",\"people\",\"human\",\"love\",\"date\",\"dating\",\"like\",\"affection\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👫\" src=\"1f46b.png\"/>',fitzpatrick_scale:false,category:\"people\"},two_men_holding_hands:{keywords:[\"pair\",\"couple\",\"love\",\"like\",\"bromance\",\"friendship\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👬\" src=\"1f46c.png\"/>',fitzpatrick_scale:false,category:\"people\"},two_women_holding_hands:{keywords:[\"pair\",\"friendship\",\"couple\",\"love\",\"like\",\"female\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👭\" src=\"1f46d.png\"/>',fitzpatrick_scale:false,category:\"people\"},bowing_woman:{keywords:[\"woman\",\"female\",\"girl\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙇‍♀️\" src=\"1f647-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},bowing_man:{keywords:[\"man\",\"male\",\"boy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙇\" src=\"1f647.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_facepalming:{keywords:[\"man\",\"male\",\"boy\",\"disbelief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤦‍♂️\" src=\"1f926-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_facepalming:{keywords:[\"woman\",\"female\",\"girl\",\"disbelief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤦‍♀️\" src=\"1f926-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_shrugging:{keywords:[\"woman\",\"female\",\"girl\",\"confused\",\"indifferent\",\"doubt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤷\" src=\"1f937.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_shrugging:{keywords:[\"man\",\"male\",\"boy\",\"confused\",\"indifferent\",\"doubt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤷‍♂️\" src=\"1f937-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},tipping_hand_woman:{keywords:[\"female\",\"girl\",\"woman\",\"human\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💁\" src=\"1f481.png\"/>',fitzpatrick_scale:true,category:\"people\"},tipping_hand_man:{keywords:[\"male\",\"boy\",\"man\",\"human\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💁‍♂️\" src=\"1f481-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},no_good_woman:{keywords:[\"female\",\"girl\",\"woman\",\"nope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙅\" src=\"1f645.png\"/>',fitzpatrick_scale:true,category:\"people\"},no_good_man:{keywords:[\"male\",\"boy\",\"man\",\"nope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙅‍♂️\" src=\"1f645-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_woman:{keywords:[\"women\",\"girl\",\"female\",\"pink\",\"human\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙆\" src=\"1f646.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_man:{keywords:[\"men\",\"boy\",\"male\",\"blue\",\"human\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙆‍♂️\" src=\"1f646-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},raising_hand_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙋\" src=\"1f64b.png\"/>',fitzpatrick_scale:true,category:\"people\"},raising_hand_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙋‍♂️\" src=\"1f64b-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},pouting_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙎\" src=\"1f64e.png\"/>',fitzpatrick_scale:true,category:\"people\"},pouting_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙎‍♂️\" src=\"1f64e-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},frowning_woman:{keywords:[\"female\",\"girl\",\"woman\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙍\" src=\"1f64d.png\"/>',fitzpatrick_scale:true,category:\"people\"},frowning_man:{keywords:[\"male\",\"boy\",\"man\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙍‍♂️\" src=\"1f64d-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},haircut_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💇\" src=\"1f487.png\"/>',fitzpatrick_scale:true,category:\"people\"},haircut_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💇‍♂️\" src=\"1f487-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},massage_woman:{keywords:[\"female\",\"girl\",\"woman\",\"head\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💆\" src=\"1f486.png\"/>',fitzpatrick_scale:true,category:\"people\"},massage_man:{keywords:[\"male\",\"boy\",\"man\",\"head\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💆‍♂️\" src=\"1f486-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_in_steamy_room:{keywords:[\"female\",\"woman\",\"spa\",\"steamroom\",\"sauna\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧖‍♀️\" src=\"1f9d6-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_in_steamy_room:{keywords:[\"male\",\"man\",\"spa\",\"steamroom\",\"sauna\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧖‍♂️\" src=\"1f9d6-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},couple_with_heart_woman_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💑\" src=\"1f491.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple_with_heart_woman_woman:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍❤️‍👩\" src=\"1f469-200d-2764-fe0f-200d-1f469.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple_with_heart_man_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍❤️‍👨\" src=\"1f468-200d-2764-fe0f-200d-1f468.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_man_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💏\" src=\"1f48f.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_woman_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍❤️‍💋‍👩\" src=\"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_man_man:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍❤️‍💋‍👨\" src=\"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy:{keywords:[\"home\",\"parents\",\"child\",\"mom\",\"dad\",\"father\",\"mother\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👪\" src=\"1f46a.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧\" src=\"1f468-200d-1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧‍👦\" src=\"1f468-200d-1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👦‍👦\" src=\"1f468-200d-1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧‍👧\" src=\"1f468-200d-1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👦\" src=\"1f469-200d-1f469-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧\" src=\"1f469-200d-1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧‍👦\" src=\"1f469-200d-1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👦‍👦\" src=\"1f469-200d-1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧‍👧\" src=\"1f469-200d-1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👦\" src=\"1f468-200d-1f468-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧\" src=\"1f468-200d-1f468-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧‍👦\" src=\"1f468-200d-1f468-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👦‍👦\" src=\"1f468-200d-1f468-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧‍👧\" src=\"1f468-200d-1f468-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👦\" src=\"1f469-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧\" src=\"1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧‍👦\" src=\"1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👦‍👦\" src=\"1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧‍👧\" src=\"1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👦\" src=\"1f468-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧\" src=\"1f468-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧‍👦\" src=\"1f468-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👦‍👦\" src=\"1f468-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧‍👧\" src=\"1f468-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},yarn:{keywords:[\"ball\",\"crochet\",\"knit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧶\" src=\"1f9f6.png\"/>',fitzpatrick_scale:false,category:\"people\"},thread:{keywords:[\"needle\",\"sewing\",\"spool\",\"string\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧵\" src=\"1f9f5.png\"/>',fitzpatrick_scale:false,category:\"people\"},coat:{keywords:[\"jacket\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧥\" src=\"1f9e5.png\"/>',fitzpatrick_scale:false,category:\"people\"},labcoat:{keywords:[\"doctor\",\"experiment\",\"scientist\",\"chemist\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥼\" src=\"1f97c.png\"/>',fitzpatrick_scale:false,category:\"people\"},womans_clothes:{keywords:[\"fashion\",\"shopping_bags\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👚\" src=\"1f45a.png\"/>',fitzpatrick_scale:false,category:\"people\"},tshirt:{keywords:[\"fashion\",\"cloth\",\"casual\",\"shirt\",\"tee\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👕\" src=\"1f455.png\"/>',fitzpatrick_scale:false,category:\"people\"},jeans:{keywords:[\"fashion\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👖\" src=\"1f456.png\"/>',fitzpatrick_scale:false,category:\"people\"},necktie:{keywords:[\"shirt\",\"suitup\",\"formal\",\"fashion\",\"cloth\",\"business\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👔\" src=\"1f454.png\"/>',fitzpatrick_scale:false,category:\"people\"},dress:{keywords:[\"clothes\",\"fashion\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👗\" src=\"1f457.png\"/>',fitzpatrick_scale:false,category:\"people\"},bikini:{keywords:[\"swimming\",\"female\",\"woman\",\"girl\",\"fashion\",\"beach\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👙\" src=\"1f459.png\"/>',fitzpatrick_scale:false,category:\"people\"},kimono:{keywords:[\"dress\",\"fashion\",\"women\",\"female\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👘\" src=\"1f458.png\"/>',fitzpatrick_scale:false,category:\"people\"},lipstick:{keywords:[\"female\",\"girl\",\"fashion\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💄\" src=\"1f484.png\"/>',fitzpatrick_scale:false,category:\"people\"},kiss:{keywords:[\"face\",\"lips\",\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💋\" src=\"1f48b.png\"/>',fitzpatrick_scale:false,category:\"people\"},footprints:{keywords:[\"feet\",\"tracking\",\"walking\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👣\" src=\"1f463.png\"/>',fitzpatrick_scale:false,category:\"people\"},flat_shoe:{keywords:[\"ballet\",\"slip-on\",\"slipper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥿\" src=\"1f97f.png\"/>',fitzpatrick_scale:false,category:\"people\"},high_heel:{keywords:[\"fashion\",\"shoes\",\"female\",\"pumps\",\"stiletto\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👠\" src=\"1f460.png\"/>',fitzpatrick_scale:false,category:\"people\"},sandal:{keywords:[\"shoes\",\"fashion\",\"flip flops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👡\" src=\"1f461.png\"/>',fitzpatrick_scale:false,category:\"people\"},boot:{keywords:[\"shoes\",\"fashion\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👢\" src=\"1f462.png\"/>',fitzpatrick_scale:false,category:\"people\"},mans_shoe:{keywords:[\"fashion\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👞\" src=\"1f45e.png\"/>',fitzpatrick_scale:false,category:\"people\"},athletic_shoe:{keywords:[\"shoes\",\"sports\",\"sneakers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👟\" src=\"1f45f.png\"/>',fitzpatrick_scale:false,category:\"people\"},hiking_boot:{keywords:[\"backpacking\",\"camping\",\"hiking\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥾\" src=\"1f97e.png\"/>',fitzpatrick_scale:false,category:\"people\"},socks:{keywords:[\"stockings\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧦\" src=\"1f9e6.png\"/>',fitzpatrick_scale:false,category:\"people\"},gloves:{keywords:[\"hands\",\"winter\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧤\" src=\"1f9e4.png\"/>',fitzpatrick_scale:false,category:\"people\"},scarf:{keywords:[\"neck\",\"winter\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧣\" src=\"1f9e3.png\"/>',fitzpatrick_scale:false,category:\"people\"},womans_hat:{keywords:[\"fashion\",\"accessories\",\"female\",\"lady\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👒\" src=\"1f452.png\"/>',fitzpatrick_scale:false,category:\"people\"},tophat:{keywords:[\"magic\",\"gentleman\",\"classy\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎩\" src=\"1f3a9.png\"/>',fitzpatrick_scale:false,category:\"people\"},billed_hat:{keywords:[\"cap\",\"baseball\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧢\" src=\"1f9e2.png\"/>',fitzpatrick_scale:false,category:\"people\"},rescue_worker_helmet:{keywords:[\"construction\",\"build\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛑\" src=\"26d1.png\"/>',fitzpatrick_scale:false,category:\"people\"},mortar_board:{keywords:[\"school\",\"college\",\"degree\",\"university\",\"graduation\",\"cap\",\"hat\",\"legal\",\"learn\",\"education\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎓\" src=\"1f393.png\"/>',fitzpatrick_scale:false,category:\"people\"},crown:{keywords:[\"king\",\"kod\",\"leader\",\"royalty\",\"lord\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👑\" src=\"1f451.png\"/>',fitzpatrick_scale:false,category:\"people\"},school_satchel:{keywords:[\"student\",\"education\",\"bag\",\"backpack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎒\" src=\"1f392.png\"/>',fitzpatrick_scale:false,category:\"people\"},luggage:{keywords:[\"packing\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧳\" src=\"1f9f3.png\"/>',fitzpatrick_scale:false,category:\"people\"},pouch:{keywords:[\"bag\",\"accessories\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👝\" src=\"1f45d.png\"/>',fitzpatrick_scale:false,category:\"people\"},purse:{keywords:[\"fashion\",\"accessories\",\"money\",\"sales\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👛\" src=\"1f45b.png\"/>',fitzpatrick_scale:false,category:\"people\"},handbag:{keywords:[\"fashion\",\"accessory\",\"accessories\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👜\" src=\"1f45c.png\"/>',fitzpatrick_scale:false,category:\"people\"},briefcase:{keywords:[\"business\",\"documents\",\"work\",\"law\",\"legal\",\"job\",\"career\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💼\" src=\"1f4bc.png\"/>',fitzpatrick_scale:false,category:\"people\"},eyeglasses:{keywords:[\"fashion\",\"accessories\",\"eyesight\",\"nerdy\",\"dork\",\"geek\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👓\" src=\"1f453.png\"/>',fitzpatrick_scale:false,category:\"people\"},dark_sunglasses:{keywords:[\"face\",\"cool\",\"accessories\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕶\" src=\"1f576.png\"/>',fitzpatrick_scale:false,category:\"people\"},goggles:{keywords:[\"eyes\",\"protection\",\"safety\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥽\" src=\"1f97d.png\"/>',fitzpatrick_scale:false,category:\"people\"},ring:{keywords:[\"wedding\",\"propose\",\"marriage\",\"valentines\",\"diamond\",\"fashion\",\"jewelry\",\"gem\",\"engagement\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💍\" src=\"1f48d.png\"/>',fitzpatrick_scale:false,category:\"people\"},closed_umbrella:{keywords:[\"weather\",\"rain\",\"drizzle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌂\" src=\"1f302.png\"/>',fitzpatrick_scale:false,category:\"people\"},dog:{keywords:[\"animal\",\"friend\",\"nature\",\"woof\",\"puppy\",\"pet\",\"faithful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐶\" src=\"1f436.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cat:{keywords:[\"animal\",\"meow\",\"nature\",\"pet\",\"kitten\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐱\" src=\"1f431.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse:{keywords:[\"animal\",\"nature\",\"cheese_wedge\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐭\" src=\"1f42d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hamster:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐹\" src=\"1f439.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit:{keywords:[\"animal\",\"nature\",\"pet\",\"spring\",\"magic\",\"bunny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐰\" src=\"1f430.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fox_face:{keywords:[\"animal\",\"nature\",\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦊\" src=\"1f98a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bear:{keywords:[\"animal\",\"nature\",\"wild\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐻\" src=\"1f43b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},panda_face:{keywords:[\"animal\",\"nature\",\"panda\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐼\" src=\"1f43c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},koala:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐨\" src=\"1f428.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger:{keywords:[\"animal\",\"cat\",\"danger\",\"wild\",\"nature\",\"roar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐯\" src=\"1f42f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lion:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦁\" src=\"1f981.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cow:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐮\" src=\"1f42e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig:{keywords:[\"animal\",\"oink\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐷\" src=\"1f437.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig_nose:{keywords:[\"animal\",\"oink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐽\" src=\"1f43d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},frog:{keywords:[\"animal\",\"nature\",\"croak\",\"toad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐸\" src=\"1f438.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},squid:{keywords:[\"animal\",\"nature\",\"ocean\",\"sea\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦑\" src=\"1f991.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},octopus:{keywords:[\"animal\",\"creature\",\"ocean\",\"sea\",\"nature\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐙\" src=\"1f419.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shrimp:{keywords:[\"animal\",\"ocean\",\"nature\",\"seafood\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦐\" src=\"1f990.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey_face:{keywords:[\"animal\",\"nature\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐵\" src=\"1f435.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},gorilla:{keywords:[\"animal\",\"nature\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦍\" src=\"1f98d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},see_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙈\" src=\"1f648.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hear_no_evil:{keywords:[\"animal\",\"monkey\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙉\" src=\"1f649.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},speak_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"omg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙊\" src=\"1f64a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey:{keywords:[\"animal\",\"nature\",\"banana\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐒\" src=\"1f412.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chicken:{keywords:[\"animal\",\"cluck\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐔\" src=\"1f414.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},penguin:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐧\" src=\"1f427.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bird:{keywords:[\"animal\",\"nature\",\"fly\",\"tweet\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐦\" src=\"1f426.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},baby_chick:{keywords:[\"animal\",\"chicken\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐤\" src=\"1f424.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hatching_chick:{keywords:[\"animal\",\"chicken\",\"egg\",\"born\",\"baby\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐣\" src=\"1f423.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hatched_chick:{keywords:[\"animal\",\"chicken\",\"baby\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐥\" src=\"1f425.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},duck:{keywords:[\"animal\",\"nature\",\"bird\",\"mallard\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦆\" src=\"1f986.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},eagle:{keywords:[\"animal\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦅\" src=\"1f985.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},owl:{keywords:[\"animal\",\"nature\",\"bird\",\"hoot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦉\" src=\"1f989.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bat:{keywords:[\"animal\",\"nature\",\"blind\",\"vampire\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦇\" src=\"1f987.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wolf:{keywords:[\"animal\",\"nature\",\"wild\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐺\" src=\"1f43a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},boar:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐗\" src=\"1f417.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},horse:{keywords:[\"animal\",\"brown\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐴\" src=\"1f434.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},unicorn:{keywords:[\"animal\",\"nature\",\"mystical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦄\" src=\"1f984.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},honeybee:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\",\"spring\",\"honey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐝\" src=\"1f41d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bug:{keywords:[\"animal\",\"insect\",\"nature\",\"worm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐛\" src=\"1f41b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},butterfly:{keywords:[\"animal\",\"insect\",\"nature\",\"caterpillar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦋\" src=\"1f98b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snail:{keywords:[\"slow\",\"animal\",\"shell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐌\" src=\"1f40c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},beetle:{keywords:[\"animal\",\"insect\",\"nature\",\"ladybug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐞\" src=\"1f41e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ant:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐜\" src=\"1f41c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},grasshopper:{keywords:[\"animal\",\"cricket\",\"chirp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦗\" src=\"1f997.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},spider:{keywords:[\"animal\",\"arachnid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕷\" src=\"1f577.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},scorpion:{keywords:[\"animal\",\"arachnid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦂\" src=\"1f982.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crab:{keywords:[\"animal\",\"crustacean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦀\" src=\"1f980.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snake:{keywords:[\"animal\",\"evil\",\"nature\",\"hiss\",\"python\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐍\" src=\"1f40d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lizard:{keywords:[\"animal\",\"nature\",\"reptile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦎\" src=\"1f98e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},\"t-rex\":{keywords:[\"animal\",\"nature\",\"dinosaur\",\"tyrannosaurus\",\"extinct\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦖\" src=\"1f996.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sauropod:{keywords:[\"animal\",\"nature\",\"dinosaur\",\"brachiosaurus\",\"brontosaurus\",\"diplodocus\",\"extinct\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦕\" src=\"1f995.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},turtle:{keywords:[\"animal\",\"slow\",\"nature\",\"tortoise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐢\" src=\"1f422.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tropical_fish:{keywords:[\"animal\",\"swim\",\"ocean\",\"beach\",\"nemo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐠\" src=\"1f420.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fish:{keywords:[\"animal\",\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐟\" src=\"1f41f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},blowfish:{keywords:[\"animal\",\"nature\",\"food\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐡\" src=\"1f421.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dolphin:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"flipper\",\"fins\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐬\" src=\"1f42c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shark:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"jaws\",\"fins\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦈\" src=\"1f988.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},whale:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐳\" src=\"1f433.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},whale2:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐋\" src=\"1f40b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crocodile:{keywords:[\"animal\",\"nature\",\"reptile\",\"lizard\",\"alligator\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐊\" src=\"1f40a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},leopard:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐆\" src=\"1f406.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},zebra:{keywords:[\"animal\",\"nature\",\"stripes\",\"safari\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦓\" src=\"1f993.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger2:{keywords:[\"animal\",\"nature\",\"roar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐅\" src=\"1f405.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},water_buffalo:{keywords:[\"animal\",\"nature\",\"ox\",\"cow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐃\" src=\"1f403.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ox:{keywords:[\"animal\",\"cow\",\"beef\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐂\" src=\"1f402.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cow2:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐄\" src=\"1f404.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},deer:{keywords:[\"animal\",\"nature\",\"horns\",\"venison\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦌\" src=\"1f98c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dromedary_camel:{keywords:[\"animal\",\"hot\",\"desert\",\"hump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐪\" src=\"1f42a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},camel:{keywords:[\"animal\",\"nature\",\"hot\",\"desert\",\"hump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐫\" src=\"1f42b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},giraffe:{keywords:[\"animal\",\"nature\",\"spots\",\"safari\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦒\" src=\"1f992.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},elephant:{keywords:[\"animal\",\"nature\",\"nose\",\"th\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐘\" src=\"1f418.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rhinoceros:{keywords:[\"animal\",\"nature\",\"horn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦏\" src=\"1f98f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},goat:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐐\" src=\"1f410.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ram:{keywords:[\"animal\",\"sheep\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐏\" src=\"1f40f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sheep:{keywords:[\"animal\",\"nature\",\"wool\",\"shipit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐑\" src=\"1f411.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},racehorse:{keywords:[\"animal\",\"gamble\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐎\" src=\"1f40e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig2:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐖\" src=\"1f416.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rat:{keywords:[\"animal\",\"mouse\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐀\" src=\"1f400.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse2:{keywords:[\"animal\",\"nature\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐁\" src=\"1f401.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rooster:{keywords:[\"animal\",\"nature\",\"chicken\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐓\" src=\"1f413.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},turkey:{keywords:[\"animal\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦃\" src=\"1f983.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dove:{keywords:[\"animal\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕊\" src=\"1f54a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dog2:{keywords:[\"animal\",\"nature\",\"friend\",\"doge\",\"pet\",\"faithful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐕\" src=\"1f415.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},poodle:{keywords:[\"dog\",\"animal\",\"101\",\"nature\",\"pet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐩\" src=\"1f429.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cat2:{keywords:[\"animal\",\"meow\",\"pet\",\"cats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐈\" src=\"1f408.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit2:{keywords:[\"animal\",\"nature\",\"pet\",\"magic\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐇\" src=\"1f407.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chipmunk:{keywords:[\"animal\",\"nature\",\"rodent\",\"squirrel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐿\" src=\"1f43f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hedgehog:{keywords:[\"animal\",\"nature\",\"spiny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦔\" src=\"1f994.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},raccoon:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦝\" src=\"1f99d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},llama:{keywords:[\"animal\",\"nature\",\"alpaca\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦙\" src=\"1f999.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hippopotamus:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦛\" src=\"1f99b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},kangaroo:{keywords:[\"animal\",\"nature\",\"australia\",\"joey\",\"hop\",\"marsupial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦘\" src=\"1f998.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},badger:{keywords:[\"animal\",\"nature\",\"honey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦡\" src=\"1f9a1.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},swan:{keywords:[\"animal\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦢\" src=\"1f9a2.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},peacock:{keywords:[\"animal\",\"nature\",\"peahen\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦚\" src=\"1f99a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},parrot:{keywords:[\"animal\",\"nature\",\"bird\",\"pirate\",\"talk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦜\" src=\"1f99c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lobster:{keywords:[\"animal\",\"nature\",\"bisque\",\"claws\",\"seafood\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦞\" src=\"1f99e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mosquito:{keywords:[\"animal\",\"nature\",\"insect\",\"malaria\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦟\" src=\"1f99f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},paw_prints:{keywords:[\"animal\",\"tracking\",\"footprints\",\"dog\",\"cat\",\"pet\",\"feet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐾\" src=\"1f43e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐉\" src=\"1f409.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon_face:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐲\" src=\"1f432.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cactus:{keywords:[\"vegetable\",\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌵\" src=\"1f335.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},christmas_tree:{keywords:[\"festival\",\"vacation\",\"december\",\"xmas\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎄\" src=\"1f384.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},evergreen_tree:{keywords:[\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌲\" src=\"1f332.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},deciduous_tree:{keywords:[\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌳\" src=\"1f333.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},palm_tree:{keywords:[\"plant\",\"vegetable\",\"nature\",\"summer\",\"beach\",\"mojito\",\"tropical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌴\" src=\"1f334.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},seedling:{keywords:[\"plant\",\"nature\",\"grass\",\"lawn\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌱\" src=\"1f331.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},herb:{keywords:[\"vegetable\",\"plant\",\"medicine\",\"weed\",\"grass\",\"lawn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌿\" src=\"1f33f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shamrock:{keywords:[\"vegetable\",\"plant\",\"nature\",\"irish\",\"clover\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☘\" src=\"2618.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},four_leaf_clover:{keywords:[\"vegetable\",\"plant\",\"nature\",\"lucky\",\"irish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍀\" src=\"1f340.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bamboo:{keywords:[\"plant\",\"nature\",\"vegetable\",\"panda\",\"pine_decoration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎍\" src=\"1f38d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tanabata_tree:{keywords:[\"plant\",\"nature\",\"branch\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎋\" src=\"1f38b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},leaves:{keywords:[\"nature\",\"plant\",\"tree\",\"vegetable\",\"grass\",\"lawn\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍃\" src=\"1f343.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fallen_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"leaves\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍂\" src=\"1f342.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},maple_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"ca\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍁\" src=\"1f341.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ear_of_rice:{keywords:[\"nature\",\"plant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌾\" src=\"1f33e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hibiscus:{keywords:[\"plant\",\"vegetable\",\"flowers\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌺\" src=\"1f33a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sunflower:{keywords:[\"nature\",\"plant\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌻\" src=\"1f33b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rose:{keywords:[\"flowers\",\"valentines\",\"love\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌹\" src=\"1f339.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wilted_flower:{keywords:[\"plant\",\"nature\",\"flower\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥀\" src=\"1f940.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tulip:{keywords:[\"flowers\",\"plant\",\"nature\",\"summer\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌷\" src=\"1f337.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},blossom:{keywords:[\"nature\",\"flowers\",\"yellow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌼\" src=\"1f33c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cherry_blossom:{keywords:[\"nature\",\"plant\",\"spring\",\"flower\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌸\" src=\"1f338.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bouquet:{keywords:[\"flowers\",\"nature\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💐\" src=\"1f490.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mushroom:{keywords:[\"plant\",\"vegetable\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍄\" src=\"1f344.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chestnut:{keywords:[\"food\",\"squirrel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌰\" src=\"1f330.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},jack_o_lantern:{keywords:[\"halloween\",\"light\",\"pumpkin\",\"creepy\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎃\" src=\"1f383.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shell:{keywords:[\"nature\",\"sea\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐚\" src=\"1f41a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},spider_web:{keywords:[\"animal\",\"insect\",\"arachnid\",\"silk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕸\" src=\"1f578.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_americas:{keywords:[\"globe\",\"world\",\"USA\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌎\" src=\"1f30e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_africa:{keywords:[\"globe\",\"world\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌍\" src=\"1f30d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_asia:{keywords:[\"globe\",\"world\",\"east\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌏\" src=\"1f30f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon:{keywords:[\"nature\",\"yellow\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌕\" src=\"1f315.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_gibbous_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\",\"waxing_gibbous_moon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌖\" src=\"1f316.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌗\" src=\"1f317.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌘\" src=\"1f318.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌑\" src=\"1f311.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌒\" src=\"1f312.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌓\" src=\"1f313.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_gibbous_moon:{keywords:[\"nature\",\"night\",\"sky\",\"gray\",\"twilight\",\"planet\",\"space\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌔\" src=\"1f314.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌚\" src=\"1f31a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌝\" src=\"1f31d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌛\" src=\"1f31b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌜\" src=\"1f31c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_with_face:{keywords:[\"nature\",\"morning\",\"sky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌞\" src=\"1f31e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crescent_moon:{keywords:[\"night\",\"sleep\",\"sky\",\"evening\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌙\" src=\"1f319.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},star:{keywords:[\"night\",\"yellow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⭐\" src=\"2b50.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},star2:{keywords:[\"night\",\"sparkle\",\"awesome\",\"good\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌟\" src=\"1f31f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dizzy:{keywords:[\"star\",\"sparkle\",\"shoot\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💫\" src=\"1f4ab.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sparkles:{keywords:[\"stars\",\"shine\",\"shiny\",\"cool\",\"awesome\",\"good\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✨\" src=\"2728.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},comet:{keywords:[\"space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☄\" src=\"2604.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sunny:{keywords:[\"weather\",\"nature\",\"brightness\",\"summer\",\"beach\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☀️\" src=\"2600.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_small_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌤\" src=\"1f324.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},partly_sunny:{keywords:[\"weather\",\"nature\",\"cloudy\",\"morning\",\"fall\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛅\" src=\"26c5.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_large_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌥\" src=\"1f325.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_rain_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌦\" src=\"1f326.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud:{keywords:[\"weather\",\"sky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☁️\" src=\"2601.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_rain:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌧\" src=\"1f327.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning_and_rain:{keywords:[\"weather\",\"lightning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛈\" src=\"26c8.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning:{keywords:[\"weather\",\"thunder\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌩\" src=\"1f329.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},zap:{keywords:[\"thunder\",\"weather\",\"lightning bolt\",\"fast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚡\" src=\"26a1.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fire:{keywords:[\"hot\",\"cook\",\"flame\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔥\" src=\"1f525.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},boom:{keywords:[\"bomb\",\"explode\",\"explosion\",\"collision\",\"blown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💥\" src=\"1f4a5.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowflake:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❄️\" src=\"2744.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_snow:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌨\" src=\"1f328.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\",\"without_snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛄\" src=\"26c4.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman_with_snow:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☃\" src=\"2603.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wind_face:{keywords:[\"gust\",\"air\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌬\" src=\"1f32c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dash:{keywords:[\"wind\",\"air\",\"fast\",\"shoo\",\"fart\",\"smoke\",\"puff\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💨\" src=\"1f4a8.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tornado:{keywords:[\"weather\",\"cyclone\",\"twister\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌪\" src=\"1f32a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fog:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌫\" src=\"1f32b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},open_umbrella:{keywords:[\"weather\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☂\" src=\"2602.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},umbrella:{keywords:[\"rainy\",\"weather\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☔\" src=\"2614.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},droplet:{keywords:[\"water\",\"drip\",\"faucet\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💧\" src=\"1f4a7.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sweat_drops:{keywords:[\"water\",\"drip\",\"oops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💦\" src=\"1f4a6.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ocean:{keywords:[\"sea\",\"water\",\"wave\",\"nature\",\"tsunami\",\"disaster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌊\" src=\"1f30a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},green_apple:{keywords:[\"fruit\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍏\" src=\"1f34f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},apple:{keywords:[\"fruit\",\"mac\",\"school\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍎\" src=\"1f34e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pear:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍐\" src=\"1f350.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tangerine:{keywords:[\"food\",\"fruit\",\"nature\",\"orange\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍊\" src=\"1f34a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},lemon:{keywords:[\"fruit\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍋\" src=\"1f34b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},banana:{keywords:[\"fruit\",\"food\",\"monkey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍌\" src=\"1f34c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},watermelon:{keywords:[\"fruit\",\"food\",\"picnic\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍉\" src=\"1f349.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},grapes:{keywords:[\"fruit\",\"food\",\"wine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍇\" src=\"1f347.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},strawberry:{keywords:[\"fruit\",\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍓\" src=\"1f353.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},melon:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍈\" src=\"1f348.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cherries:{keywords:[\"food\",\"fruit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍒\" src=\"1f352.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},peach:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍑\" src=\"1f351.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pineapple:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍍\" src=\"1f34d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},coconut:{keywords:[\"fruit\",\"nature\",\"food\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥥\" src=\"1f965.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},kiwi_fruit:{keywords:[\"fruit\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥝\" src=\"1f95d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},mango:{keywords:[\"fruit\",\"food\",\"tropical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥭\" src=\"1f96d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},avocado:{keywords:[\"fruit\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥑\" src=\"1f951.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},broccoli:{keywords:[\"fruit\",\"food\",\"vegetable\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥦\" src=\"1f966.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tomato:{keywords:[\"fruit\",\"vegetable\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍅\" src=\"1f345.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},eggplant:{keywords:[\"vegetable\",\"nature\",\"food\",\"aubergine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍆\" src=\"1f346.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cucumber:{keywords:[\"fruit\",\"food\",\"pickle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥒\" src=\"1f952.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},carrot:{keywords:[\"vegetable\",\"food\",\"orange\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥕\" src=\"1f955.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hot_pepper:{keywords:[\"food\",\"spicy\",\"chilli\",\"chili\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌶\" src=\"1f336.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},potato:{keywords:[\"food\",\"tuber\",\"vegatable\",\"starch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥔\" src=\"1f954.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},corn:{keywords:[\"food\",\"vegetable\",\"plant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌽\" src=\"1f33d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},leafy_greens:{keywords:[\"food\",\"vegetable\",\"plant\",\"bok choy\",\"cabbage\",\"kale\",\"lettuce\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥬\" src=\"1f96c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sweet_potato:{keywords:[\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍠\" src=\"1f360.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},peanuts:{keywords:[\"food\",\"nut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥜\" src=\"1f95c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},honey_pot:{keywords:[\"bees\",\"sweet\",\"kitchen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍯\" src=\"1f36f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},croissant:{keywords:[\"food\",\"bread\",\"french\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥐\" src=\"1f950.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bread:{keywords:[\"food\",\"wheat\",\"breakfast\",\"toast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍞\" src=\"1f35e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},baguette_bread:{keywords:[\"food\",\"bread\",\"french\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥖\" src=\"1f956.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bagel:{keywords:[\"food\",\"bread\",\"bakery\",\"schmear\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥯\" src=\"1f96f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pretzel:{keywords:[\"food\",\"bread\",\"twisted\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥨\" src=\"1f968.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cheese:{keywords:[\"food\",\"chadder\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧀\" src=\"1f9c0.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},egg:{keywords:[\"food\",\"chicken\",\"breakfast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥚\" src=\"1f95a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bacon:{keywords:[\"food\",\"breakfast\",\"pork\",\"pig\",\"meat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥓\" src=\"1f953.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},steak:{keywords:[\"food\",\"cow\",\"meat\",\"cut\",\"chop\",\"lambchop\",\"porkchop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥩\" src=\"1f969.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pancakes:{keywords:[\"food\",\"breakfast\",\"flapjacks\",\"hotcakes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥞\" src=\"1f95e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},poultry_leg:{keywords:[\"food\",\"meat\",\"drumstick\",\"bird\",\"chicken\",\"turkey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍗\" src=\"1f357.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},meat_on_bone:{keywords:[\"good\",\"food\",\"drumstick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍖\" src=\"1f356.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bone:{keywords:[\"skeleton\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦴\" src=\"1f9b4.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fried_shrimp:{keywords:[\"food\",\"animal\",\"appetizer\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍤\" src=\"1f364.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fried_egg:{keywords:[\"food\",\"breakfast\",\"kitchen\",\"egg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍳\" src=\"1f373.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hamburger:{keywords:[\"meat\",\"fast food\",\"beef\",\"cheeseburger\",\"mcdonalds\",\"burger king\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍔\" src=\"1f354.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fries:{keywords:[\"chips\",\"snack\",\"fast food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍟\" src=\"1f35f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},stuffed_flatbread:{keywords:[\"food\",\"flatbread\",\"stuffed\",\"gyro\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥙\" src=\"1f959.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hotdog:{keywords:[\"food\",\"frankfurter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌭\" src=\"1f32d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pizza:{keywords:[\"food\",\"party\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍕\" src=\"1f355.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sandwich:{keywords:[\"food\",\"lunch\",\"bread\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥪\" src=\"1f96a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},canned_food:{keywords:[\"food\",\"soup\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥫\" src=\"1f96b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},spaghetti:{keywords:[\"food\",\"italian\",\"noodle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍝\" src=\"1f35d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},taco:{keywords:[\"food\",\"mexican\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌮\" src=\"1f32e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},burrito:{keywords:[\"food\",\"mexican\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌯\" src=\"1f32f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},green_salad:{keywords:[\"food\",\"healthy\",\"lettuce\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥗\" src=\"1f957.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},shallow_pan_of_food:{keywords:[\"food\",\"cooking\",\"casserole\",\"paella\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥘\" src=\"1f958.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},ramen:{keywords:[\"food\",\"japanese\",\"noodle\",\"chopsticks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍜\" src=\"1f35c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},stew:{keywords:[\"food\",\"meat\",\"soup\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍲\" src=\"1f372.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fish_cake:{keywords:[\"food\",\"japan\",\"sea\",\"beach\",\"narutomaki\",\"pink\",\"swirl\",\"kamaboko\",\"surimi\",\"ramen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍥\" src=\"1f365.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fortune_cookie:{keywords:[\"food\",\"prophecy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥠\" src=\"1f960.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sushi:{keywords:[\"food\",\"fish\",\"japanese\",\"rice\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍣\" src=\"1f363.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bento:{keywords:[\"food\",\"japanese\",\"box\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍱\" src=\"1f371.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},curry:{keywords:[\"food\",\"spicy\",\"hot\",\"indian\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍛\" src=\"1f35b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice_ball:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍙\" src=\"1f359.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice:{keywords:[\"food\",\"china\",\"asian\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍚\" src=\"1f35a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice_cracker:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍘\" src=\"1f358.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},oden:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍢\" src=\"1f362.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},dango:{keywords:[\"food\",\"dessert\",\"sweet\",\"japanese\",\"barbecue\",\"meat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍡\" src=\"1f361.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},shaved_ice:{keywords:[\"hot\",\"dessert\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍧\" src=\"1f367.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},ice_cream:{keywords:[\"food\",\"hot\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍨\" src=\"1f368.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},icecream:{keywords:[\"food\",\"hot\",\"dessert\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍦\" src=\"1f366.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pie:{keywords:[\"food\",\"dessert\",\"pastry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥧\" src=\"1f967.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cake:{keywords:[\"food\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍰\" src=\"1f370.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cupcake:{keywords:[\"food\",\"dessert\",\"bakery\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧁\" src=\"1f9c1.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},moon_cake:{keywords:[\"food\",\"autumn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥮\" src=\"1f96e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},birthday:{keywords:[\"food\",\"dessert\",\"cake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎂\" src=\"1f382.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},custard:{keywords:[\"dessert\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍮\" src=\"1f36e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},candy:{keywords:[\"snack\",\"dessert\",\"sweet\",\"lolly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍬\" src=\"1f36c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},lollipop:{keywords:[\"food\",\"snack\",\"candy\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍭\" src=\"1f36d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},chocolate_bar:{keywords:[\"food\",\"snack\",\"dessert\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍫\" src=\"1f36b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},popcorn:{keywords:[\"food\",\"movie theater\",\"films\",\"snack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍿\" src=\"1f37f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},dumpling:{keywords:[\"food\",\"empanada\",\"pierogi\",\"potsticker\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥟\" src=\"1f95f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},doughnut:{keywords:[\"food\",\"dessert\",\"snack\",\"sweet\",\"donut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍩\" src=\"1f369.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cookie:{keywords:[\"food\",\"snack\",\"oreo\",\"chocolate\",\"sweet\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍪\" src=\"1f36a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},milk_glass:{keywords:[\"beverage\",\"drink\",\"cow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥛\" src=\"1f95b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},beer:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍺\" src=\"1f37a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},beers:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍻\" src=\"1f37b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},clinking_glasses:{keywords:[\"beverage\",\"drink\",\"party\",\"alcohol\",\"celebrate\",\"cheers\",\"wine\",\"champagne\",\"toast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥂\" src=\"1f942.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},wine_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍷\" src=\"1f377.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tumbler_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"liquor\",\"booze\",\"bourbon\",\"scotch\",\"whisky\",\"glass\",\"shot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥃\" src=\"1f943.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cocktail:{keywords:[\"drink\",\"drunk\",\"alcohol\",\"beverage\",\"booze\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍸\" src=\"1f378.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tropical_drink:{keywords:[\"beverage\",\"cocktail\",\"summer\",\"beach\",\"alcohol\",\"booze\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍹\" src=\"1f379.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},champagne:{keywords:[\"drink\",\"wine\",\"bottle\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍾\" src=\"1f37e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sake:{keywords:[\"wine\",\"drink\",\"drunk\",\"beverage\",\"japanese\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍶\" src=\"1f376.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tea:{keywords:[\"drink\",\"bowl\",\"breakfast\",\"green\",\"british\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍵\" src=\"1f375.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cup_with_straw:{keywords:[\"drink\",\"soda\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥤\" src=\"1f964.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},coffee:{keywords:[\"beverage\",\"caffeine\",\"latte\",\"espresso\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☕\" src=\"2615.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},baby_bottle:{keywords:[\"food\",\"container\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍼\" src=\"1f37c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},salt:{keywords:[\"condiment\",\"shaker\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧂\" src=\"1f9c2.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},spoon:{keywords:[\"cutlery\",\"kitchen\",\"tableware\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥄\" src=\"1f944.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fork_and_knife:{keywords:[\"cutlery\",\"kitchen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍴\" src=\"1f374.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},plate_with_cutlery:{keywords:[\"food\",\"eat\",\"meal\",\"lunch\",\"dinner\",\"restaurant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍽\" src=\"1f37d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bowl_with_spoon:{keywords:[\"food\",\"breakfast\",\"cereal\",\"oatmeal\",\"porridge\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥣\" src=\"1f963.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},takeout_box:{keywords:[\"food\",\"leftovers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥡\" src=\"1f961.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},chopsticks:{keywords:[\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥢\" src=\"1f962.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},soccer:{keywords:[\"sports\",\"football\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚽\" src=\"26bd.png\"/>',fitzpatrick_scale:false,category:\"activity\"},basketball:{keywords:[\"sports\",\"balls\",\"NBA\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏀\" src=\"1f3c0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},football:{keywords:[\"sports\",\"balls\",\"NFL\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏈\" src=\"1f3c8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},baseball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚾\" src=\"26be.png\"/>',fitzpatrick_scale:false,category:\"activity\"},softball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥎\" src=\"1f94e.png\"/>',fitzpatrick_scale:false,category:\"activity\"},tennis:{keywords:[\"sports\",\"balls\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎾\" src=\"1f3be.png\"/>',fitzpatrick_scale:false,category:\"activity\"},volleyball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏐\" src=\"1f3d0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rugby_football:{keywords:[\"sports\",\"team\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏉\" src=\"1f3c9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},flying_disc:{keywords:[\"sports\",\"frisbee\",\"ultimate\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥏\" src=\"1f94f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"8ball\":{keywords:[\"pool\",\"hobby\",\"game\",\"luck\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎱\" src=\"1f3b1.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golf:{keywords:[\"sports\",\"business\",\"flag\",\"hole\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛳\" src=\"26f3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golfing_woman:{keywords:[\"sports\",\"business\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏌️‍♀️\" src=\"1f3cc-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golfing_man:{keywords:[\"sports\",\"business\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏌\" src=\"1f3cc.png\"/>',fitzpatrick_scale:true,category:\"activity\"},ping_pong:{keywords:[\"sports\",\"pingpong\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏓\" src=\"1f3d3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},badminton:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏸\" src=\"1f3f8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},goal_net:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥅\" src=\"1f945.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ice_hockey:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏒\" src=\"1f3d2.png\"/>',fitzpatrick_scale:false,category:\"activity\"},field_hockey:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏑\" src=\"1f3d1.png\"/>',fitzpatrick_scale:false,category:\"activity\"},lacrosse:{keywords:[\"sports\",\"ball\",\"stick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥍\" src=\"1f94d.png\"/>',fitzpatrick_scale:false,category:\"activity\"},cricket:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏏\" src=\"1f3cf.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ski:{keywords:[\"sports\",\"winter\",\"cold\",\"snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎿\" src=\"1f3bf.png\"/>',fitzpatrick_scale:false,category:\"activity\"},skier:{keywords:[\"sports\",\"winter\",\"snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛷\" src=\"26f7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},snowboarder:{keywords:[\"sports\",\"winter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏂\" src=\"1f3c2.png\"/>',fitzpatrick_scale:true,category:\"activity\"},person_fencing:{keywords:[\"sports\",\"fencing\",\"sword\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤺\" src=\"1f93a.png\"/>',fitzpatrick_scale:false,category:\"activity\"},women_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤼‍♀️\" src=\"1f93c-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},men_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤼‍♂️\" src=\"1f93c-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},woman_cartwheeling:{keywords:[\"gymnastics\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤸‍♀️\" src=\"1f938-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_cartwheeling:{keywords:[\"gymnastics\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤸‍♂️\" src=\"1f938-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_playing_handball:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤾‍♀️\" src=\"1f93e-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_playing_handball:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤾‍♂️\" src=\"1f93e-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},ice_skate:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛸\" src=\"26f8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},curling_stone:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥌\" src=\"1f94c.png\"/>',fitzpatrick_scale:false,category:\"activity\"},skateboard:{keywords:[\"board\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛹\" src=\"1f6f9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},sled:{keywords:[\"sleigh\",\"luge\",\"toboggan\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛷\" src=\"1f6f7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},bow_and_arrow:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏹\" src=\"1f3f9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},fishing_pole_and_fish:{keywords:[\"food\",\"hobby\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎣\" src=\"1f3a3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},boxing_glove:{keywords:[\"sports\",\"fighting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥊\" src=\"1f94a.png\"/>',fitzpatrick_scale:false,category:\"activity\"},martial_arts_uniform:{keywords:[\"judo\",\"karate\",\"taekwondo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥋\" src=\"1f94b.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rowing_woman:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚣‍♀️\" src=\"1f6a3-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},rowing_man:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚣\" src=\"1f6a3.png\"/>',fitzpatrick_scale:true,category:\"activity\"},climbing_woman:{keywords:[\"sports\",\"hobby\",\"woman\",\"female\",\"rock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧗‍♀️\" src=\"1f9d7-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},climbing_man:{keywords:[\"sports\",\"hobby\",\"man\",\"male\",\"rock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧗‍♂️\" src=\"1f9d7-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},swimming_woman:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏊‍♀️\" src=\"1f3ca-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},swimming_man:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏊\" src=\"1f3ca.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤽‍♀️\" src=\"1f93d-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤽‍♂️\" src=\"1f93d-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_in_lotus_position:{keywords:[\"woman\",\"female\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧘‍♀️\" src=\"1f9d8-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_in_lotus_position:{keywords:[\"man\",\"male\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧘‍♂️\" src=\"1f9d8-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},surfing_woman:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏄‍♀️\" src=\"1f3c4-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},surfing_man:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏄\" src=\"1f3c4.png\"/>',fitzpatrick_scale:true,category:\"activity\"},bath:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛀\" src=\"1f6c0.png\"/>',fitzpatrick_scale:true,category:\"activity\"},basketball_woman:{keywords:[\"sports\",\"human\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛹️‍♀️\" src=\"26f9-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},basketball_man:{keywords:[\"sports\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛹\" src=\"26f9.png\"/>',fitzpatrick_scale:true,category:\"activity\"},weight_lifting_woman:{keywords:[\"sports\",\"training\",\"exercise\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏋️‍♀️\" src=\"1f3cb-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},weight_lifting_man:{keywords:[\"sports\",\"training\",\"exercise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏋\" src=\"1f3cb.png\"/>',fitzpatrick_scale:true,category:\"activity\"},biking_woman:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚴‍♀️\" src=\"1f6b4-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},biking_man:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚴\" src=\"1f6b4.png\"/>',fitzpatrick_scale:true,category:\"activity\"},mountain_biking_woman:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚵‍♀️\" src=\"1f6b5-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},mountain_biking_man:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚵\" src=\"1f6b5.png\"/>',fitzpatrick_scale:true,category:\"activity\"},horse_racing:{keywords:[\"animal\",\"betting\",\"competition\",\"gambling\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏇\" src=\"1f3c7.png\"/>',fitzpatrick_scale:true,category:\"activity\"},business_suit_levitating:{keywords:[\"suit\",\"business\",\"levitate\",\"hover\",\"jump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕴\" src=\"1f574.png\"/>',fitzpatrick_scale:true,category:\"activity\"},trophy:{keywords:[\"win\",\"award\",\"contest\",\"place\",\"ftw\",\"ceremony\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏆\" src=\"1f3c6.png\"/>',fitzpatrick_scale:false,category:\"activity\"},running_shirt_with_sash:{keywords:[\"play\",\"pageant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎽\" src=\"1f3bd.png\"/>',fitzpatrick_scale:false,category:\"activity\"},medal_sports:{keywords:[\"award\",\"winning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏅\" src=\"1f3c5.png\"/>',fitzpatrick_scale:false,category:\"activity\"},medal_military:{keywords:[\"award\",\"winning\",\"army\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎖\" src=\"1f396.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"1st_place_medal\":{keywords:[\"award\",\"winning\",\"first\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥇\" src=\"1f947.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"2nd_place_medal\":{keywords:[\"award\",\"second\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥈\" src=\"1f948.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"3rd_place_medal\":{keywords:[\"award\",\"third\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥉\" src=\"1f949.png\"/>',fitzpatrick_scale:false,category:\"activity\"},reminder_ribbon:{keywords:[\"sports\",\"cause\",\"support\",\"awareness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎗\" src=\"1f397.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rosette:{keywords:[\"flower\",\"decoration\",\"military\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏵\" src=\"1f3f5.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ticket:{keywords:[\"event\",\"concert\",\"pass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎫\" src=\"1f3ab.png\"/>',fitzpatrick_scale:false,category:\"activity\"},tickets:{keywords:[\"sports\",\"concert\",\"entrance\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎟\" src=\"1f39f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},performing_arts:{keywords:[\"acting\",\"theater\",\"drama\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎭\" src=\"1f3ad.png\"/>',fitzpatrick_scale:false,category:\"activity\"},art:{keywords:[\"design\",\"paint\",\"draw\",\"colors\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎨\" src=\"1f3a8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},circus_tent:{keywords:[\"festival\",\"carnival\",\"party\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎪\" src=\"1f3aa.png\"/>',fitzpatrick_scale:false,category:\"activity\"},woman_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤹‍♀️\" src=\"1f939-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤹‍♂️\" src=\"1f939-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},microphone:{keywords:[\"sound\",\"music\",\"PA\",\"sing\",\"talkshow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎤\" src=\"1f3a4.png\"/>',fitzpatrick_scale:false,category:\"activity\"},headphones:{keywords:[\"music\",\"score\",\"gadgets\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎧\" src=\"1f3a7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},musical_score:{keywords:[\"treble\",\"clef\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎼\" src=\"1f3bc.png\"/>',fitzpatrick_scale:false,category:\"activity\"},musical_keyboard:{keywords:[\"piano\",\"instrument\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎹\" src=\"1f3b9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},drum:{keywords:[\"music\",\"instrument\",\"drumsticks\",\"snare\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥁\" src=\"1f941.png\"/>',fitzpatrick_scale:false,category:\"activity\"},saxophone:{keywords:[\"music\",\"instrument\",\"jazz\",\"blues\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎷\" src=\"1f3b7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},trumpet:{keywords:[\"music\",\"brass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎺\" src=\"1f3ba.png\"/>',fitzpatrick_scale:false,category:\"activity\"},guitar:{keywords:[\"music\",\"instrument\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎸\" src=\"1f3b8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},violin:{keywords:[\"music\",\"instrument\",\"orchestra\",\"symphony\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎻\" src=\"1f3bb.png\"/>',fitzpatrick_scale:false,category:\"activity\"},clapper:{keywords:[\"movie\",\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎬\" src=\"1f3ac.png\"/>',fitzpatrick_scale:false,category:\"activity\"},video_game:{keywords:[\"play\",\"console\",\"PS4\",\"controller\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎮\" src=\"1f3ae.png\"/>',fitzpatrick_scale:false,category:\"activity\"},space_invader:{keywords:[\"game\",\"arcade\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👾\" src=\"1f47e.png\"/>',fitzpatrick_scale:false,category:\"activity\"},dart:{keywords:[\"game\",\"play\",\"bar\",\"target\",\"bullseye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎯\" src=\"1f3af.png\"/>',fitzpatrick_scale:false,category:\"activity\"},game_die:{keywords:[\"dice\",\"random\",\"tabletop\",\"play\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎲\" src=\"1f3b2.png\"/>',fitzpatrick_scale:false,category:\"activity\"},chess_pawn:{keywords:[\"expendable\"],char:\"♟\",fitzpatrick_scale:false,category:\"activity\"},slot_machine:{keywords:[\"bet\",\"gamble\",\"vegas\",\"fruit machine\",\"luck\",\"casino\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎰\" src=\"1f3b0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},jigsaw:{keywords:[\"interlocking\",\"puzzle\",\"piece\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧩\" src=\"1f9e9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},bowling:{keywords:[\"sports\",\"fun\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎳\" src=\"1f3b3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},red_car:{keywords:[\"red\",\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚗\" src=\"1f697.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},taxi:{keywords:[\"uber\",\"vehicle\",\"cars\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚕\" src=\"1f695.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},blue_car:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚙\" src=\"1f699.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bus:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚌\" src=\"1f68c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},trolleybus:{keywords:[\"bart\",\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚎\" src=\"1f68e.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},racing_car:{keywords:[\"sports\",\"race\",\"fast\",\"formula\",\"f1\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏎\" src=\"1f3ce.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},police_car:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"law\",\"legal\",\"enforcement\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚓\" src=\"1f693.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ambulance:{keywords:[\"health\",\"911\",\"hospital\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚑\" src=\"1f691.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fire_engine:{keywords:[\"transportation\",\"cars\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚒\" src=\"1f692.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},minibus:{keywords:[\"vehicle\",\"car\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚐\" src=\"1f690.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},truck:{keywords:[\"cars\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚚\" src=\"1f69a.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},articulated_lorry:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"express\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚛\" src=\"1f69b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tractor:{keywords:[\"vehicle\",\"car\",\"farming\",\"agriculture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚜\" src=\"1f69c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},kick_scooter:{keywords:[\"vehicle\",\"kick\",\"razor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛴\" src=\"1f6f4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motorcycle:{keywords:[\"race\",\"sports\",\"fast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏍\" src=\"1f3cd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bike:{keywords:[\"sports\",\"bicycle\",\"exercise\",\"hipster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚲\" src=\"1f6b2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motor_scooter:{keywords:[\"vehicle\",\"vespa\",\"sasha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛵\" src=\"1f6f5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rotating_light:{keywords:[\"police\",\"ambulance\",\"911\",\"emergency\",\"alert\",\"error\",\"pinged\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚨\" src=\"1f6a8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_police_car:{keywords:[\"vehicle\",\"law\",\"legal\",\"enforcement\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚔\" src=\"1f694.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_bus:{keywords:[\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚍\" src=\"1f68d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_automobile:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚘\" src=\"1f698.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_taxi:{keywords:[\"vehicle\",\"cars\",\"uber\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚖\" src=\"1f696.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},aerial_tramway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚡\" src=\"1f6a1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_cableway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚠\" src=\"1f6a0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},suspension_railway:{keywords:[\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚟\" src=\"1f69f.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},railway_car:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚃\" src=\"1f683.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},train:{keywords:[\"transportation\",\"vehicle\",\"carriage\",\"public\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚋\" src=\"1f68b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},monorail:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚝\" src=\"1f69d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_side:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚄\" src=\"1f684.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_front:{keywords:[\"transportation\",\"vehicle\",\"speed\",\"fast\",\"public\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚅\" src=\"1f685.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},light_rail:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚈\" src=\"1f688.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_railway:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚞\" src=\"1f69e.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},steam_locomotive:{keywords:[\"transportation\",\"vehicle\",\"train\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚂\" src=\"1f682.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},train2:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚆\" src=\"1f686.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},metro:{keywords:[\"transportation\",\"blue-square\",\"mrt\",\"underground\",\"tube\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚇\" src=\"1f687.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tram:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚊\" src=\"1f68a.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},station:{keywords:[\"transportation\",\"vehicle\",\"public\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚉\" src=\"1f689.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flying_saucer:{keywords:[\"transportation\",\"vehicle\",\"ufo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛸\" src=\"1f6f8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},helicopter:{keywords:[\"transportation\",\"vehicle\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚁\" src=\"1f681.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},small_airplane:{keywords:[\"flight\",\"transportation\",\"fly\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛩\" src=\"1f6e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},airplane:{keywords:[\"vehicle\",\"transportation\",\"flight\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✈️\" src=\"2708.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flight_departure:{keywords:[\"airport\",\"flight\",\"landing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛫\" src=\"1f6eb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flight_arrival:{keywords:[\"airport\",\"flight\",\"boarding\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛬\" src=\"1f6ec.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sailboat:{keywords:[\"ship\",\"summer\",\"transportation\",\"water\",\"sailing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛵\" src=\"26f5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motor_boat:{keywords:[\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛥\" src=\"1f6e5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},speedboat:{keywords:[\"ship\",\"transportation\",\"vehicle\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚤\" src=\"1f6a4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ferry:{keywords:[\"boat\",\"ship\",\"yacht\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛴\" src=\"26f4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},passenger_ship:{keywords:[\"yacht\",\"cruise\",\"ferry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛳\" src=\"1f6f3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rocket:{keywords:[\"launch\",\"ship\",\"staffmode\",\"NASA\",\"outer space\",\"outer_space\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚀\" src=\"1f680.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},artificial_satellite:{keywords:[\"communication\",\"gps\",\"orbit\",\"spaceflight\",\"NASA\",\"ISS\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛰\" src=\"1f6f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},seat:{keywords:[\"sit\",\"airplane\",\"transport\",\"bus\",\"flight\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💺\" src=\"1f4ba.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},canoe:{keywords:[\"boat\",\"paddle\",\"water\",\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛶\" src=\"1f6f6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},anchor:{keywords:[\"ship\",\"ferry\",\"sea\",\"boat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚓\" src=\"2693.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},construction:{keywords:[\"wip\",\"progress\",\"caution\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚧\" src=\"1f6a7.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fuelpump:{keywords:[\"gas station\",\"petroleum\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛽\" src=\"26fd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},busstop:{keywords:[\"transportation\",\"wait\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚏\" src=\"1f68f.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},vertical_traffic_light:{keywords:[\"transportation\",\"driving\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚦\" src=\"1f6a6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},traffic_light:{keywords:[\"transportation\",\"signal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚥\" src=\"1f6a5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},checkered_flag:{keywords:[\"contest\",\"finishline\",\"race\",\"gokart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏁\" src=\"1f3c1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ship:{keywords:[\"transportation\",\"titanic\",\"deploy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚢\" src=\"1f6a2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ferris_wheel:{keywords:[\"photo\",\"carnival\",\"londoneye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎡\" src=\"1f3a1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},roller_coaster:{keywords:[\"carnival\",\"playground\",\"photo\",\"fun\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎢\" src=\"1f3a2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},carousel_horse:{keywords:[\"photo\",\"carnival\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎠\" src=\"1f3a0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},building_construction:{keywords:[\"wip\",\"working\",\"progress\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏗\" src=\"1f3d7.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},foggy:{keywords:[\"photo\",\"mountain\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌁\" src=\"1f301.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tokyo_tower:{keywords:[\"photo\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗼\" src=\"1f5fc.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},factory:{keywords:[\"building\",\"industry\",\"pollution\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏭\" src=\"1f3ed.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fountain:{keywords:[\"photo\",\"summer\",\"water\",\"fresh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛲\" src=\"26f2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rice_scene:{keywords:[\"photo\",\"japan\",\"asia\",\"tsukimi\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎑\" src=\"1f391.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain:{keywords:[\"photo\",\"nature\",\"environment\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛰\" src=\"26f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_snow:{keywords:[\"photo\",\"nature\",\"environment\",\"winter\",\"cold\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏔\" src=\"1f3d4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mount_fuji:{keywords:[\"photo\",\"mountain\",\"nature\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗻\" src=\"1f5fb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},volcano:{keywords:[\"photo\",\"nature\",\"disaster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌋\" src=\"1f30b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},japan:{keywords:[\"nation\",\"country\",\"japanese\",\"asia\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗾\" src=\"1f5fe.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},camping:{keywords:[\"photo\",\"outdoors\",\"tent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏕\" src=\"1f3d5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tent:{keywords:[\"photo\",\"camping\",\"outdoors\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛺\" src=\"26fa.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},national_park:{keywords:[\"photo\",\"environment\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏞\" src=\"1f3de.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motorway:{keywords:[\"road\",\"cupertino\",\"interstate\",\"highway\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛣\" src=\"1f6e3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},railway_track:{keywords:[\"train\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛤\" src=\"1f6e4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise:{keywords:[\"morning\",\"view\",\"vacation\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌅\" src=\"1f305.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise_over_mountains:{keywords:[\"view\",\"vacation\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌄\" src=\"1f304.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},desert:{keywords:[\"photo\",\"warm\",\"saharah\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏜\" src=\"1f3dc.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},beach_umbrella:{keywords:[\"weather\",\"summer\",\"sunny\",\"sand\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏖\" src=\"1f3d6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},desert_island:{keywords:[\"photo\",\"tropical\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏝\" src=\"1f3dd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunrise:{keywords:[\"photo\",\"good morning\",\"dawn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌇\" src=\"1f307.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunset:{keywords:[\"photo\",\"evening\",\"sky\",\"buildings\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌆\" src=\"1f306.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},cityscape:{keywords:[\"photo\",\"night life\",\"urban\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏙\" src=\"1f3d9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},night_with_stars:{keywords:[\"evening\",\"city\",\"downtown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌃\" src=\"1f303.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bridge_at_night:{keywords:[\"photo\",\"sanfrancisco\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌉\" src=\"1f309.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},milky_way:{keywords:[\"photo\",\"space\",\"stars\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌌\" src=\"1f30c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},stars:{keywords:[\"night\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌠\" src=\"1f320.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sparkler:{keywords:[\"stars\",\"night\",\"shine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎇\" src=\"1f387.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fireworks:{keywords:[\"photo\",\"festival\",\"carnival\",\"congratulations\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎆\" src=\"1f386.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rainbow:{keywords:[\"nature\",\"happy\",\"unicorn_face\",\"photo\",\"sky\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌈\" src=\"1f308.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},houses:{keywords:[\"buildings\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏘\" src=\"1f3d8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},european_castle:{keywords:[\"building\",\"royalty\",\"history\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏰\" src=\"1f3f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},japanese_castle:{keywords:[\"photo\",\"building\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏯\" src=\"1f3ef.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},stadium:{keywords:[\"photo\",\"place\",\"sports\",\"concert\",\"venue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏟\" src=\"1f3df.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},statue_of_liberty:{keywords:[\"american\",\"newyork\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗽\" src=\"1f5fd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},house:{keywords:[\"building\",\"home\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏠\" src=\"1f3e0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},house_with_garden:{keywords:[\"home\",\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏡\" src=\"1f3e1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},derelict_house:{keywords:[\"abandon\",\"evict\",\"broken\",\"building\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏚\" src=\"1f3da.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},office:{keywords:[\"building\",\"bureau\",\"work\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏢\" src=\"1f3e2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},department_store:{keywords:[\"building\",\"shopping\",\"mall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏬\" src=\"1f3ec.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},post_office:{keywords:[\"building\",\"envelope\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏣\" src=\"1f3e3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},european_post_office:{keywords:[\"building\",\"email\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏤\" src=\"1f3e4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},hospital:{keywords:[\"building\",\"health\",\"surgery\",\"doctor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏥\" src=\"1f3e5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bank:{keywords:[\"building\",\"money\",\"sales\",\"cash\",\"business\",\"enterprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏦\" src=\"1f3e6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},hotel:{keywords:[\"building\",\"accomodation\",\"checkin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏨\" src=\"1f3e8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},convenience_store:{keywords:[\"building\",\"shopping\",\"groceries\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏪\" src=\"1f3ea.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},school:{keywords:[\"building\",\"student\",\"education\",\"learn\",\"teach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏫\" src=\"1f3eb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},love_hotel:{keywords:[\"like\",\"affection\",\"dating\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏩\" src=\"1f3e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},wedding:{keywords:[\"love\",\"like\",\"affection\",\"couple\",\"marriage\",\"bride\",\"groom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💒\" src=\"1f492.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},classical_building:{keywords:[\"art\",\"culture\",\"history\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏛\" src=\"1f3db.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},church:{keywords:[\"building\",\"religion\",\"christ\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛪\" src=\"26ea.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mosque:{keywords:[\"islam\",\"worship\",\"minaret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕌\" src=\"1f54c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},synagogue:{keywords:[\"judaism\",\"worship\",\"temple\",\"jewish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕍\" src=\"1f54d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},kaaba:{keywords:[\"mecca\",\"mosque\",\"islam\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕋\" src=\"1f54b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},shinto_shrine:{keywords:[\"temple\",\"japan\",\"kyoto\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛩\" src=\"26e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},watch:{keywords:[\"time\",\"accessories\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌚\" src=\"231a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},iphone:{keywords:[\"technology\",\"apple\",\"gadgets\",\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📱\" src=\"1f4f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},calling:{keywords:[\"iphone\",\"incoming\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📲\" src=\"1f4f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},computer:{keywords:[\"technology\",\"laptop\",\"screen\",\"display\",\"monitor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💻\" src=\"1f4bb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},keyboard:{keywords:[\"technology\",\"computer\",\"type\",\"input\",\"text\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌨\" src=\"2328.png\"/>',fitzpatrick_scale:false,category:\"objects\"},desktop_computer:{keywords:[\"technology\",\"computing\",\"screen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖥\" src=\"1f5a5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},printer:{keywords:[\"paper\",\"ink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖨\" src=\"1f5a8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},computer_mouse:{keywords:[\"click\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖱\" src=\"1f5b1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},trackball:{keywords:[\"technology\",\"trackpad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖲\" src=\"1f5b2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},joystick:{keywords:[\"game\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕹\" src=\"1f579.png\"/>',fitzpatrick_scale:false,category:\"objects\"},clamp:{keywords:[\"tool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗜\" src=\"1f5dc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},minidisc:{keywords:[\"technology\",\"record\",\"data\",\"disk\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💽\" src=\"1f4bd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},floppy_disk:{keywords:[\"oldschool\",\"technology\",\"save\",\"90s\",\"80s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💾\" src=\"1f4be.png\"/>',fitzpatrick_scale:false,category:\"objects\"},cd:{keywords:[\"technology\",\"dvd\",\"disk\",\"disc\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💿\" src=\"1f4bf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dvd:{keywords:[\"cd\",\"disk\",\"disc\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📀\" src=\"1f4c0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},vhs:{keywords:[\"record\",\"video\",\"oldschool\",\"90s\",\"80s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📼\" src=\"1f4fc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},camera:{keywords:[\"gadgets\",\"photography\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📷\" src=\"1f4f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},camera_flash:{keywords:[\"photography\",\"gadgets\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📸\" src=\"1f4f8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},video_camera:{keywords:[\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📹\" src=\"1f4f9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},movie_camera:{keywords:[\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎥\" src=\"1f3a5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},film_projector:{keywords:[\"video\",\"tape\",\"record\",\"movie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📽\" src=\"1f4fd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},film_strip:{keywords:[\"movie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎞\" src=\"1f39e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},telephone_receiver:{keywords:[\"technology\",\"communication\",\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📞\" src=\"1f4de.png\"/>',fitzpatrick_scale:false,category:\"objects\"},phone:{keywords:[\"technology\",\"communication\",\"dial\",\"telephone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☎️\" src=\"260e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pager:{keywords:[\"bbcall\",\"oldschool\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📟\" src=\"1f4df.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fax:{keywords:[\"communication\",\"technology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📠\" src=\"1f4e0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},tv:{keywords:[\"technology\",\"program\",\"oldschool\",\"show\",\"television\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📺\" src=\"1f4fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},radio:{keywords:[\"communication\",\"music\",\"podcast\",\"program\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📻\" src=\"1f4fb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},studio_microphone:{keywords:[\"sing\",\"recording\",\"artist\",\"talkshow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎙\" src=\"1f399.png\"/>',fitzpatrick_scale:false,category:\"objects\"},level_slider:{keywords:[\"scale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎚\" src=\"1f39a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},control_knobs:{keywords:[\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎛\" src=\"1f39b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},compass:{keywords:[\"magnetic\",\"navigation\",\"orienteering\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧭\" src=\"1f9ed.png\"/>',fitzpatrick_scale:false,category:\"objects\"},stopwatch:{keywords:[\"time\",\"deadline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏱\" src=\"23f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},timer_clock:{keywords:[\"alarm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏲\" src=\"23f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},alarm_clock:{keywords:[\"time\",\"wake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏰\" src=\"23f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mantelpiece_clock:{keywords:[\"time\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕰\" src=\"1f570.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hourglass_flowing_sand:{keywords:[\"oldschool\",\"time\",\"countdown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏳\" src=\"23f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hourglass:{keywords:[\"time\",\"clock\",\"oldschool\",\"limit\",\"exam\",\"quiz\",\"test\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌛\" src=\"231b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},satellite:{keywords:[\"communication\",\"future\",\"radio\",\"space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📡\" src=\"1f4e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},battery:{keywords:[\"power\",\"energy\",\"sustain\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔋\" src=\"1f50b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},electric_plug:{keywords:[\"charger\",\"power\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔌\" src=\"1f50c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bulb:{keywords:[\"light\",\"electricity\",\"idea\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💡\" src=\"1f4a1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},flashlight:{keywords:[\"dark\",\"camping\",\"sight\",\"night\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔦\" src=\"1f526.png\"/>',fitzpatrick_scale:false,category:\"objects\"},candle:{keywords:[\"fire\",\"wax\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕯\" src=\"1f56f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fire_extinguisher:{keywords:[\"quench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧯\" src=\"1f9ef.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wastebasket:{keywords:[\"bin\",\"trash\",\"rubbish\",\"garbage\",\"toss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗑\" src=\"1f5d1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},oil_drum:{keywords:[\"barrell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛢\" src=\"1f6e2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},money_with_wings:{keywords:[\"dollar\",\"bills\",\"payment\",\"sale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💸\" src=\"1f4b8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dollar:{keywords:[\"money\",\"sales\",\"bill\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💵\" src=\"1f4b5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},yen:{keywords:[\"money\",\"sales\",\"japanese\",\"dollar\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💴\" src=\"1f4b4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},euro:{keywords:[\"money\",\"sales\",\"dollar\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💶\" src=\"1f4b6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pound:{keywords:[\"british\",\"sterling\",\"money\",\"sales\",\"bills\",\"uk\",\"england\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💷\" src=\"1f4b7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},moneybag:{keywords:[\"dollar\",\"payment\",\"coins\",\"sale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💰\" src=\"1f4b0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},credit_card:{keywords:[\"money\",\"sales\",\"dollar\",\"bill\",\"payment\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💳\" src=\"1f4b3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gem:{keywords:[\"blue\",\"ruby\",\"diamond\",\"jewelry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💎\" src=\"1f48e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},balance_scale:{keywords:[\"law\",\"fairness\",\"weight\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚖\" src=\"2696.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toolbox:{keywords:[\"tools\",\"diy\",\"fix\",\"maintainer\",\"mechanic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧰\" src=\"1f9f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wrench:{keywords:[\"tools\",\"diy\",\"ikea\",\"fix\",\"maintainer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔧\" src=\"1f527.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔨\" src=\"1f528.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer_and_pick:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚒\" src=\"2692.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer_and_wrench:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛠\" src=\"1f6e0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pick:{keywords:[\"tools\",\"dig\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛏\" src=\"26cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},nut_and_bolt:{keywords:[\"handy\",\"tools\",\"fix\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔩\" src=\"1f529.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gear:{keywords:[\"cog\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚙\" src=\"2699.png\"/>',fitzpatrick_scale:false,category:\"objects\"},brick:{keywords:[\"bricks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧱\" src=\"1f9f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chains:{keywords:[\"lock\",\"arrest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛓\" src=\"26d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},magnet:{keywords:[\"attraction\",\"magnetic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧲\" src=\"1f9f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gun:{keywords:[\"violence\",\"weapon\",\"pistol\",\"revolver\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔫\" src=\"1f52b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bomb:{keywords:[\"boom\",\"explode\",\"explosion\",\"terrorism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💣\" src=\"1f4a3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},firecracker:{keywords:[\"dynamite\",\"boom\",\"explode\",\"explosion\",\"explosive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧨\" src=\"1f9e8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hocho:{keywords:[\"knife\",\"blade\",\"cutlery\",\"kitchen\",\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔪\" src=\"1f52a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dagger:{keywords:[\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗡\" src=\"1f5e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crossed_swords:{keywords:[\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚔\" src=\"2694.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shield:{keywords:[\"protection\",\"security\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛡\" src=\"1f6e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},smoking:{keywords:[\"kills\",\"tobacco\",\"cigarette\",\"joint\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚬\" src=\"1f6ac.png\"/>',fitzpatrick_scale:false,category:\"objects\"},skull_and_crossbones:{keywords:[\"poison\",\"danger\",\"deadly\",\"scary\",\"death\",\"pirate\",\"evil\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☠\" src=\"2620.png\"/>',fitzpatrick_scale:false,category:\"objects\"},coffin:{keywords:[\"vampire\",\"dead\",\"die\",\"death\",\"rip\",\"graveyard\",\"cemetery\",\"casket\",\"funeral\",\"box\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚰\" src=\"26b0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},funeral_urn:{keywords:[\"dead\",\"die\",\"death\",\"rip\",\"ashes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚱\" src=\"26b1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},amphora:{keywords:[\"vase\",\"jar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏺\" src=\"1f3fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crystal_ball:{keywords:[\"disco\",\"party\",\"magic\",\"circus\",\"fortune_teller\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔮\" src=\"1f52e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},prayer_beads:{keywords:[\"dhikr\",\"religious\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📿\" src=\"1f4ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},nazar_amulet:{keywords:[\"bead\",\"charm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧿\" src=\"1f9ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},barber:{keywords:[\"hair\",\"salon\",\"style\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💈\" src=\"1f488.png\"/>',fitzpatrick_scale:false,category:\"objects\"},alembic:{keywords:[\"distilling\",\"science\",\"experiment\",\"chemistry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚗\" src=\"2697.png\"/>',fitzpatrick_scale:false,category:\"objects\"},telescope:{keywords:[\"stars\",\"space\",\"zoom\",\"science\",\"astronomy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔭\" src=\"1f52d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},microscope:{keywords:[\"laboratory\",\"experiment\",\"zoomin\",\"science\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔬\" src=\"1f52c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hole:{keywords:[\"embarrassing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕳\" src=\"1f573.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pill:{keywords:[\"health\",\"medicine\",\"doctor\",\"pharmacy\",\"drug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💊\" src=\"1f48a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},syringe:{keywords:[\"health\",\"hospital\",\"drugs\",\"blood\",\"medicine\",\"needle\",\"doctor\",\"nurse\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💉\" src=\"1f489.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dna:{keywords:[\"biologist\",\"genetics\",\"life\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧬\" src=\"1f9ec.png\"/>',fitzpatrick_scale:false,category:\"objects\"},microbe:{keywords:[\"amoeba\",\"bacteria\",\"germs\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦠\" src=\"1f9a0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},petri_dish:{keywords:[\"bacteria\",\"biology\",\"culture\",\"lab\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧫\" src=\"1f9eb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},test_tube:{keywords:[\"chemistry\",\"experiment\",\"lab\",\"science\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧪\" src=\"1f9ea.png\"/>',fitzpatrick_scale:false,category:\"objects\"},thermometer:{keywords:[\"weather\",\"temperature\",\"hot\",\"cold\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌡\" src=\"1f321.png\"/>',fitzpatrick_scale:false,category:\"objects\"},broom:{keywords:[\"cleaning\",\"sweeping\",\"witch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧹\" src=\"1f9f9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},basket:{keywords:[\"laundry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧺\" src=\"1f9fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toilet_paper:{keywords:[\"roll\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧻\" src=\"1f9fb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},label:{keywords:[\"sale\",\"tag\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏷\" src=\"1f3f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bookmark:{keywords:[\"favorite\",\"label\",\"save\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔖\" src=\"1f516.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toilet:{keywords:[\"restroom\",\"wc\",\"washroom\",\"bathroom\",\"potty\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚽\" src=\"1f6bd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shower:{keywords:[\"clean\",\"water\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚿\" src=\"1f6bf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bathtub:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛁\" src=\"1f6c1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},soap:{keywords:[\"bar\",\"bathing\",\"cleaning\",\"lather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧼\" src=\"1f9fc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},sponge:{keywords:[\"absorbing\",\"cleaning\",\"porous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧽\" src=\"1f9fd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lotion_bottle:{keywords:[\"moisturizer\",\"sunscreen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧴\" src=\"1f9f4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},key:{keywords:[\"lock\",\"door\",\"password\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔑\" src=\"1f511.png\"/>',fitzpatrick_scale:false,category:\"objects\"},old_key:{keywords:[\"lock\",\"door\",\"password\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗝\" src=\"1f5dd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},couch_and_lamp:{keywords:[\"read\",\"chill\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛋\" src=\"1f6cb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},sleeping_bed:{keywords:[\"bed\",\"rest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛌\" src=\"1f6cc.png\"/>',fitzpatrick_scale:true,category:\"objects\"},bed:{keywords:[\"sleep\",\"rest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛏\" src=\"1f6cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},door:{keywords:[\"house\",\"entry\",\"exit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚪\" src=\"1f6aa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bellhop_bell:{keywords:[\"service\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛎\" src=\"1f6ce.png\"/>',fitzpatrick_scale:false,category:\"objects\"},teddy_bear:{keywords:[\"plush\",\"stuffed\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧸\" src=\"1f9f8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},framed_picture:{keywords:[\"photography\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖼\" src=\"1f5bc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},world_map:{keywords:[\"location\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗺\" src=\"1f5fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},parasol_on_ground:{keywords:[\"weather\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛱\" src=\"26f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},moyai:{keywords:[\"rock\",\"easter island\",\"moai\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗿\" src=\"1f5ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shopping:{keywords:[\"mall\",\"buy\",\"purchase\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛍\" src=\"1f6cd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shopping_cart:{keywords:[\"trolley\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛒\" src=\"1f6d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},balloon:{keywords:[\"party\",\"celebration\",\"birthday\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎈\" src=\"1f388.png\"/>',fitzpatrick_scale:false,category:\"objects\"},flags:{keywords:[\"fish\",\"japanese\",\"koinobori\",\"carp\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎏\" src=\"1f38f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ribbon:{keywords:[\"decoration\",\"pink\",\"girl\",\"bowtie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎀\" src=\"1f380.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gift:{keywords:[\"present\",\"birthday\",\"christmas\",\"xmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎁\" src=\"1f381.png\"/>',fitzpatrick_scale:false,category:\"objects\"},confetti_ball:{keywords:[\"festival\",\"party\",\"birthday\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎊\" src=\"1f38a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},tada:{keywords:[\"party\",\"congratulations\",\"birthday\",\"magic\",\"circus\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎉\" src=\"1f389.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dolls:{keywords:[\"japanese\",\"toy\",\"kimono\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎎\" src=\"1f38e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wind_chime:{keywords:[\"nature\",\"ding\",\"spring\",\"bell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎐\" src=\"1f390.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crossed_flags:{keywords:[\"japanese\",\"nation\",\"country\",\"border\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎌\" src=\"1f38c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},izakaya_lantern:{keywords:[\"light\",\"paper\",\"halloween\",\"spooky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏮\" src=\"1f3ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},red_envelope:{keywords:[\"gift\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧧\" src=\"1f9e7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},email:{keywords:[\"letter\",\"postal\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✉️\" src=\"2709.png\"/>',fitzpatrick_scale:false,category:\"objects\"},envelope_with_arrow:{keywords:[\"email\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📩\" src=\"1f4e9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},incoming_envelope:{keywords:[\"email\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📨\" src=\"1f4e8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},\"e-mail\":{keywords:[\"communication\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📧\" src=\"1f4e7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},love_letter:{keywords:[\"email\",\"like\",\"affection\",\"envelope\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💌\" src=\"1f48c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},postbox:{keywords:[\"email\",\"letter\",\"envelope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📮\" src=\"1f4ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_closed:{keywords:[\"email\",\"communication\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📪\" src=\"1f4ea.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox:{keywords:[\"email\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📫\" src=\"1f4eb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_with_mail:{keywords:[\"email\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📬\" src=\"1f4ec.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_with_no_mail:{keywords:[\"email\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📭\" src=\"1f4ed.png\"/>',fitzpatrick_scale:false,category:\"objects\"},package:{keywords:[\"mail\",\"gift\",\"cardboard\",\"box\",\"moving\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📦\" src=\"1f4e6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},postal_horn:{keywords:[\"instrument\",\"music\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📯\" src=\"1f4ef.png\"/>',fitzpatrick_scale:false,category:\"objects\"},inbox_tray:{keywords:[\"email\",\"documents\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📥\" src=\"1f4e5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},outbox_tray:{keywords:[\"inbox\",\"email\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📤\" src=\"1f4e4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},scroll:{keywords:[\"documents\",\"ancient\",\"history\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📜\" src=\"1f4dc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},page_with_curl:{keywords:[\"documents\",\"office\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📃\" src=\"1f4c3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bookmark_tabs:{keywords:[\"favorite\",\"save\",\"order\",\"tidy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📑\" src=\"1f4d1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},receipt:{keywords:[\"accounting\",\"expenses\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧾\" src=\"1f9fe.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bar_chart:{keywords:[\"graph\",\"presentation\",\"stats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📊\" src=\"1f4ca.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chart_with_upwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recovery\",\"business\",\"economics\",\"money\",\"sales\",\"good\",\"success\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📈\" src=\"1f4c8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chart_with_downwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recession\",\"business\",\"economics\",\"money\",\"sales\",\"bad\",\"failure\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📉\" src=\"1f4c9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},page_facing_up:{keywords:[\"documents\",\"office\",\"paper\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📄\" src=\"1f4c4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},date:{keywords:[\"calendar\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📅\" src=\"1f4c5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},calendar:{keywords:[\"schedule\",\"date\",\"planning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📆\" src=\"1f4c6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},spiral_calendar:{keywords:[\"date\",\"schedule\",\"planning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗓\" src=\"1f5d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_index:{keywords:[\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📇\" src=\"1f4c7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_file_box:{keywords:[\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗃\" src=\"1f5c3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ballot_box:{keywords:[\"election\",\"vote\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗳\" src=\"1f5f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},file_cabinet:{keywords:[\"filing\",\"organizing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗄\" src=\"1f5c4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},clipboard:{keywords:[\"stationery\",\"documents\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📋\" src=\"1f4cb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},spiral_notepad:{keywords:[\"memo\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗒\" src=\"1f5d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},file_folder:{keywords:[\"documents\",\"business\",\"office\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📁\" src=\"1f4c1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},open_file_folder:{keywords:[\"documents\",\"load\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📂\" src=\"1f4c2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_index_dividers:{keywords:[\"organizing\",\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗂\" src=\"1f5c2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},newspaper_roll:{keywords:[\"press\",\"headline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗞\" src=\"1f5de.png\"/>',fitzpatrick_scale:false,category:\"objects\"},newspaper:{keywords:[\"press\",\"headline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📰\" src=\"1f4f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},notebook:{keywords:[\"stationery\",\"record\",\"notes\",\"paper\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📓\" src=\"1f4d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},closed_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"learn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📕\" src=\"1f4d5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},green_book:{keywords:[\"read\",\"library\",\"knowledge\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📗\" src=\"1f4d7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},blue_book:{keywords:[\"read\",\"library\",\"knowledge\",\"learn\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📘\" src=\"1f4d8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},orange_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📙\" src=\"1f4d9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},notebook_with_decorative_cover:{keywords:[\"classroom\",\"notes\",\"record\",\"paper\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📔\" src=\"1f4d4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ledger:{keywords:[\"notes\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📒\" src=\"1f4d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},books:{keywords:[\"literature\",\"library\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📚\" src=\"1f4da.png\"/>',fitzpatrick_scale:false,category:\"objects\"},open_book:{keywords:[\"book\",\"read\",\"library\",\"knowledge\",\"literature\",\"learn\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📖\" src=\"1f4d6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},safety_pin:{keywords:[\"diaper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧷\" src=\"1f9f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},link:{keywords:[\"rings\",\"url\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔗\" src=\"1f517.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paperclip:{keywords:[\"documents\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📎\" src=\"1f4ce.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paperclips:{keywords:[\"documents\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖇\" src=\"1f587.png\"/>',fitzpatrick_scale:false,category:\"objects\"},scissors:{keywords:[\"stationery\",\"cut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✂️\" src=\"2702.png\"/>',fitzpatrick_scale:false,category:\"objects\"},triangular_ruler:{keywords:[\"stationery\",\"math\",\"architect\",\"sketch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📐\" src=\"1f4d0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},straight_ruler:{keywords:[\"stationery\",\"calculate\",\"length\",\"math\",\"school\",\"drawing\",\"architect\",\"sketch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📏\" src=\"1f4cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},abacus:{keywords:[\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧮\" src=\"1f9ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pushpin:{keywords:[\"stationery\",\"mark\",\"here\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📌\" src=\"1f4cc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},round_pushpin:{keywords:[\"stationery\",\"location\",\"map\",\"here\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📍\" src=\"1f4cd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},triangular_flag_on_post:{keywords:[\"mark\",\"milestone\",\"place\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚩\" src=\"1f6a9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},white_flag:{keywords:[\"losing\",\"loser\",\"lost\",\"surrender\",\"give up\",\"fail\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏳\" src=\"1f3f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},black_flag:{keywords:[\"pirate\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴\" src=\"1f3f4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},rainbow_flag:{keywords:[\"flag\",\"rainbow\",\"pride\",\"gay\",\"lgbt\",\"glbt\",\"queer\",\"homosexual\",\"lesbian\",\"bisexual\",\"transgender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏳️‍🌈\" src=\"1f3f3-fe0f-200d-1f308.png\"/>',fitzpatrick_scale:false,category:\"objects\"},closed_lock_with_key:{keywords:[\"security\",\"privacy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔐\" src=\"1f510.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lock:{keywords:[\"security\",\"password\",\"padlock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔒\" src=\"1f512.png\"/>',fitzpatrick_scale:false,category:\"objects\"},unlock:{keywords:[\"privacy\",\"security\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔓\" src=\"1f513.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lock_with_ink_pen:{keywords:[\"security\",\"secret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔏\" src=\"1f50f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖊\" src=\"1f58a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fountain_pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖋\" src=\"1f58b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},black_nib:{keywords:[\"pen\",\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✒️\" src=\"2712.png\"/>',fitzpatrick_scale:false,category:\"objects\"},memo:{keywords:[\"write\",\"documents\",\"stationery\",\"pencil\",\"paper\",\"writing\",\"legal\",\"exam\",\"quiz\",\"test\",\"study\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📝\" src=\"1f4dd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pencil2:{keywords:[\"stationery\",\"write\",\"paper\",\"writing\",\"school\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✏️\" src=\"270f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crayon:{keywords:[\"drawing\",\"creativity\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖍\" src=\"1f58d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paintbrush:{keywords:[\"drawing\",\"creativity\",\"art\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖌\" src=\"1f58c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mag:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔍\" src=\"1f50d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mag_right:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔎\" src=\"1f50e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},heart:{keywords:[\"love\",\"like\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❤️\" src=\"2764.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},orange_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧡\" src=\"1f9e1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},yellow_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💛\" src=\"1f49b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},green_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💚\" src=\"1f49a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},blue_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💙\" src=\"1f499.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},purple_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💜\" src=\"1f49c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_heart:{keywords:[\"evil\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖤\" src=\"1f5a4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},broken_heart:{keywords:[\"sad\",\"sorry\",\"break\",\"heart\",\"heartbreak\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💔\" src=\"1f494.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_heart_exclamation:{keywords:[\"decoration\",\"love\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❣\" src=\"2763.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},two_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💕\" src=\"1f495.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},revolving_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💞\" src=\"1f49e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heartbeat:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"pink\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💓\" src=\"1f493.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heartpulse:{keywords:[\"like\",\"love\",\"affection\",\"valentines\",\"pink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💗\" src=\"1f497.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sparkling_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💖\" src=\"1f496.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cupid:{keywords:[\"love\",\"like\",\"heart\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💘\" src=\"1f498.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},gift_heart:{keywords:[\"love\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💝\" src=\"1f49d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heart_decoration:{keywords:[\"purple-square\",\"love\",\"like\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💟\" src=\"1f49f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},peace_symbol:{keywords:[\"hippie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☮\" src=\"262e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},latin_cross:{keywords:[\"christianity\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✝\" src=\"271d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},star_and_crescent:{keywords:[\"islam\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☪\" src=\"262a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},om:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕉\" src=\"1f549.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wheel_of_dharma:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☸\" src=\"2638.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},star_of_david:{keywords:[\"judaism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✡\" src=\"2721.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},six_pointed_star:{keywords:[\"purple-square\",\"religion\",\"jewish\",\"hexagram\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔯\" src=\"1f52f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},menorah:{keywords:[\"hanukkah\",\"candles\",\"jewish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕎\" src=\"1f54e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},yin_yang:{keywords:[\"balance\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☯\" src=\"262f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},orthodox_cross:{keywords:[\"suppedaneum\",\"religion\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☦\" src=\"2626.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},place_of_worship:{keywords:[\"religion\",\"church\",\"temple\",\"prayer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛐\" src=\"1f6d0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ophiuchus:{keywords:[\"sign\",\"purple-square\",\"constellation\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛎\" src=\"26ce.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},aries:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♈\" src=\"2648.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},taurus:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♉\" src=\"2649.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},gemini:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♊\" src=\"264a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cancer:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♋\" src=\"264b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},leo:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♌\" src=\"264c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},virgo:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♍\" src=\"264d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},libra:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♎\" src=\"264e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},scorpius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\",\"scorpio\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♏\" src=\"264f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sagittarius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♐\" src=\"2650.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},capricorn:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♑\" src=\"2651.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},aquarius:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♒\" src=\"2652.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},pisces:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♓\" src=\"2653.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},id:{keywords:[\"purple-square\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆔\" src=\"1f194.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},atom_symbol:{keywords:[\"science\",\"physics\",\"chemistry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚛\" src=\"269b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7a7a:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"empty\",\"sky\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈳\" src=\"1f233.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u5272:{keywords:[\"cut\",\"divide\",\"chinese\",\"kanji\",\"pink-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈹\" src=\"1f239.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},radioactive:{keywords:[\"nuclear\",\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☢\" src=\"2622.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},biohazard:{keywords:[\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☣\" src=\"2623.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mobile_phone_off:{keywords:[\"mute\",\"orange-square\",\"silence\",\"quiet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📴\" src=\"1f4f4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},vibration_mode:{keywords:[\"orange-square\",\"phone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📳\" src=\"1f4f3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6709:{keywords:[\"orange-square\",\"chinese\",\"have\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈶\" src=\"1f236.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7121:{keywords:[\"nothing\",\"chinese\",\"kanji\",\"japanese\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈚\" src=\"1f21a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7533:{keywords:[\"chinese\",\"japanese\",\"kanji\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈸\" src=\"1f238.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u55b6:{keywords:[\"japanese\",\"opening hours\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈺\" src=\"1f23a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6708:{keywords:[\"chinese\",\"month\",\"moon\",\"japanese\",\"orange-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈷️\" src=\"1f237.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight_pointed_black_star:{keywords:[\"orange-square\",\"shape\",\"polygon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✴️\" src=\"2734.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},vs:{keywords:[\"words\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆚\" src=\"1f19a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},accept:{keywords:[\"ok\",\"good\",\"chinese\",\"kanji\",\"agree\",\"yes\",\"orange-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🉑\" src=\"1f251.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_flower:{keywords:[\"japanese\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💮\" src=\"1f4ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ideograph_advantage:{keywords:[\"chinese\",\"kanji\",\"obtain\",\"get\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🉐\" src=\"1f250.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},secret:{keywords:[\"privacy\",\"chinese\",\"sshh\",\"kanji\",\"red-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"㊙️\" src=\"3299.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},congratulations:{keywords:[\"chinese\",\"kanji\",\"japanese\",\"red-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"㊗️\" src=\"3297.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u5408:{keywords:[\"japanese\",\"chinese\",\"join\",\"kanji\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈴\" src=\"1f234.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6e80:{keywords:[\"full\",\"chinese\",\"japanese\",\"red-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈵\" src=\"1f235.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7981:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"forbidden\",\"limit\",\"restricted\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈲\" src=\"1f232.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},a:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅰️\" src=\"1f170.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},b:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅱️\" src=\"1f171.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ab:{keywords:[\"red-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆎\" src=\"1f18e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cl:{keywords:[\"alphabet\",\"words\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆑\" src=\"1f191.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},o2:{keywords:[\"alphabet\",\"red-square\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅾️\" src=\"1f17e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sos:{keywords:[\"help\",\"red-square\",\"words\",\"emergency\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆘\" src=\"1f198.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_entry:{keywords:[\"limit\",\"security\",\"privacy\",\"bad\",\"denied\",\"stop\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛔\" src=\"26d4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},name_badge:{keywords:[\"fire\",\"forbid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📛\" src=\"1f4db.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_entry_sign:{keywords:[\"forbid\",\"stop\",\"limit\",\"denied\",\"disallow\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚫\" src=\"1f6ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},x:{keywords:[\"no\",\"delete\",\"remove\",\"cancel\",\"red\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❌\" src=\"274c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},o:{keywords:[\"circle\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⭕\" src=\"2b55.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},stop_sign:{keywords:[\"stop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛑\" src=\"1f6d1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},anger:{keywords:[\"angry\",\"mad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💢\" src=\"1f4a2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hotsprings:{keywords:[\"bath\",\"warm\",\"relax\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♨️\" src=\"2668.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_pedestrians:{keywords:[\"rules\",\"crossing\",\"walking\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚷\" src=\"1f6b7.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},do_not_litter:{keywords:[\"trash\",\"bin\",\"garbage\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚯\" src=\"1f6af.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_bicycles:{keywords:[\"cyclist\",\"prohibited\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚳\" src=\"1f6b3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},\"non-potable_water\":{keywords:[\"drink\",\"faucet\",\"tap\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚱\" src=\"1f6b1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},underage:{keywords:[\"18\",\"drink\",\"pub\",\"night\",\"minor\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔞\" src=\"1f51e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_mobile_phones:{keywords:[\"iphone\",\"mute\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📵\" src=\"1f4f5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},exclamation:{keywords:[\"heavy_exclamation_mark\",\"danger\",\"surprise\",\"punctuation\",\"wow\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❗\" src=\"2757.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grey_exclamation:{keywords:[\"surprise\",\"punctuation\",\"gray\",\"wow\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❕\" src=\"2755.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},question:{keywords:[\"doubt\",\"confused\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❓\" src=\"2753.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grey_question:{keywords:[\"doubts\",\"gray\",\"huh\",\"confused\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❔\" src=\"2754.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},bangbang:{keywords:[\"exclamation\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"‼️\" src=\"203c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},interrobang:{keywords:[\"wat\",\"punctuation\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⁉️\" src=\"2049.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},low_brightness:{keywords:[\"sun\",\"afternoon\",\"warm\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔅\" src=\"1f505.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},high_brightness:{keywords:[\"sun\",\"light\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔆\" src=\"1f506.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},trident:{keywords:[\"weapon\",\"spear\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔱\" src=\"1f531.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},fleur_de_lis:{keywords:[\"decorative\",\"scout\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚜\" src=\"269c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},part_alternation_mark:{keywords:[\"graph\",\"presentation\",\"stats\",\"business\",\"economics\",\"bad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"〽️\" src=\"303d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},warning:{keywords:[\"exclamation\",\"wip\",\"alert\",\"error\",\"problem\",\"issue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚠️\" src=\"26a0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},children_crossing:{keywords:[\"school\",\"warning\",\"danger\",\"sign\",\"driving\",\"yellow-diamond\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚸\" src=\"1f6b8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},beginner:{keywords:[\"badge\",\"shield\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔰\" src=\"1f530.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},recycle:{keywords:[\"arrow\",\"environment\",\"garbage\",\"trash\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♻️\" src=\"267b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6307:{keywords:[\"chinese\",\"point\",\"green-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈯\" src=\"1f22f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},chart:{keywords:[\"green-square\",\"graph\",\"presentation\",\"stats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💹\" src=\"1f4b9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sparkle:{keywords:[\"stars\",\"green-square\",\"awesome\",\"good\",\"fireworks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❇️\" src=\"2747.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight_spoked_asterisk:{keywords:[\"star\",\"sparkle\",\"green-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✳️\" src=\"2733.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},negative_squared_cross_mark:{keywords:[\"x\",\"green-square\",\"no\",\"deny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❎\" src=\"274e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_check_mark:{keywords:[\"green-square\",\"ok\",\"agree\",\"vote\",\"election\",\"answer\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✅\" src=\"2705.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},diamond_shape_with_a_dot_inside:{keywords:[\"jewel\",\"blue\",\"gem\",\"crystal\",\"fancy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💠\" src=\"1f4a0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cyclone:{keywords:[\"weather\",\"swirl\",\"blue\",\"cloud\",\"vortex\",\"spiral\",\"whirlpool\",\"spin\",\"tornado\",\"hurricane\",\"typhoon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌀\" src=\"1f300.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loop:{keywords:[\"tape\",\"cassette\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➿\" src=\"27bf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},globe_with_meridians:{keywords:[\"earth\",\"international\",\"world\",\"internet\",\"interweb\",\"i18n\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌐\" src=\"1f310.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},m:{keywords:[\"alphabet\",\"blue-circle\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"Ⓜ️\" src=\"24c2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},atm:{keywords:[\"money\",\"sales\",\"cash\",\"blue-square\",\"payment\",\"bank\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏧\" src=\"1f3e7.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sa:{keywords:[\"japanese\",\"blue-square\",\"katakana\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈂️\" src=\"1f202.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},passport_control:{keywords:[\"custom\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛂\" src=\"1f6c2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},customs:{keywords:[\"passport\",\"border\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛃\" src=\"1f6c3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},baggage_claim:{keywords:[\"blue-square\",\"airport\",\"transport\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛄\" src=\"1f6c4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_luggage:{keywords:[\"blue-square\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛅\" src=\"1f6c5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wheelchair:{keywords:[\"blue-square\",\"disabled\",\"a11y\",\"accessibility\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♿\" src=\"267f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_smoking:{keywords:[\"cigarette\",\"blue-square\",\"smell\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚭\" src=\"1f6ad.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wc:{keywords:[\"toilet\",\"restroom\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚾\" src=\"1f6be.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},parking:{keywords:[\"cars\",\"blue-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅿️\" src=\"1f17f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},potable_water:{keywords:[\"blue-square\",\"liquid\",\"restroom\",\"cleaning\",\"faucet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚰\" src=\"1f6b0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mens:{keywords:[\"toilet\",\"restroom\",\"wc\",\"blue-square\",\"gender\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚹\" src=\"1f6b9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},womens:{keywords:[\"purple-square\",\"woman\",\"female\",\"toilet\",\"loo\",\"restroom\",\"gender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚺\" src=\"1f6ba.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},baby_symbol:{keywords:[\"orange-square\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚼\" src=\"1f6bc.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},restroom:{keywords:[\"blue-square\",\"toilet\",\"refresh\",\"wc\",\"gender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚻\" src=\"1f6bb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},put_litter_in_its_place:{keywords:[\"blue-square\",\"sign\",\"human\",\"info\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚮\" src=\"1f6ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cinema:{keywords:[\"blue-square\",\"record\",\"film\",\"movie\",\"curtain\",\"stage\",\"theater\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎦\" src=\"1f3a6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},signal_strength:{keywords:[\"blue-square\",\"reception\",\"phone\",\"internet\",\"connection\",\"wifi\",\"bluetooth\",\"bars\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📶\" src=\"1f4f6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},koko:{keywords:[\"blue-square\",\"here\",\"katakana\",\"japanese\",\"destination\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈁\" src=\"1f201.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ng:{keywords:[\"blue-square\",\"words\",\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆖\" src=\"1f196.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ok:{keywords:[\"good\",\"agree\",\"yes\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆗\" src=\"1f197.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},up:{keywords:[\"blue-square\",\"above\",\"high\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆙\" src=\"1f199.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cool:{keywords:[\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆒\" src=\"1f192.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},new:{keywords:[\"blue-square\",\"words\",\"start\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆕\" src=\"1f195.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},free:{keywords:[\"blue-square\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆓\" src=\"1f193.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},zero:{keywords:[\"0\",\"numbers\",\"blue-square\",\"null\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"0️⃣\" src=\"30-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},one:{keywords:[\"blue-square\",\"numbers\",\"1\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"1️⃣\" src=\"31-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},two:{keywords:[\"numbers\",\"2\",\"prime\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"2️⃣\" src=\"32-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},three:{keywords:[\"3\",\"numbers\",\"prime\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"3️⃣\" src=\"33-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},four:{keywords:[\"4\",\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"4️⃣\" src=\"34-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},five:{keywords:[\"5\",\"numbers\",\"blue-square\",\"prime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"5️⃣\" src=\"35-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},six:{keywords:[\"6\",\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"6️⃣\" src=\"36-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},seven:{keywords:[\"7\",\"numbers\",\"blue-square\",\"prime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"7️⃣\" src=\"37-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight:{keywords:[\"8\",\"blue-square\",\"numbers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"8️⃣\" src=\"38-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},nine:{keywords:[\"blue-square\",\"numbers\",\"9\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"9️⃣\" src=\"39-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},keycap_ten:{keywords:[\"numbers\",\"10\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔟\" src=\"1f51f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},asterisk:{keywords:[\"star\",\"keycap\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"*⃣\" src=\"2a-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eject_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏏️\" src=\"23cf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_forward:{keywords:[\"blue-square\",\"right\",\"direction\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▶️\" src=\"25b6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},pause_button:{keywords:[\"pause\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏸\" src=\"23f8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},next_track_button:{keywords:[\"forward\",\"next\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏭\" src=\"23ed.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},stop_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏹\" src=\"23f9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},record_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏺\" src=\"23fa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},play_or_pause_button:{keywords:[\"blue-square\",\"play\",\"pause\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏯\" src=\"23ef.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},previous_track_button:{keywords:[\"backward\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏮\" src=\"23ee.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},fast_forward:{keywords:[\"blue-square\",\"play\",\"speed\",\"continue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏩\" src=\"23e9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},rewind:{keywords:[\"play\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏪\" src=\"23ea.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},twisted_rightwards_arrows:{keywords:[\"blue-square\",\"shuffle\",\"music\",\"random\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔀\" src=\"1f500.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},repeat:{keywords:[\"loop\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔁\" src=\"1f501.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},repeat_one:{keywords:[\"blue-square\",\"loop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔂\" src=\"1f502.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_backward:{keywords:[\"blue-square\",\"left\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◀️\" src=\"25c0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up_small:{keywords:[\"blue-square\",\"triangle\",\"direction\",\"point\",\"forward\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔼\" src=\"1f53c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_down_small:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔽\" src=\"1f53d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_double_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏫\" src=\"23eb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_double_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏬\" src=\"23ec.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_right:{keywords:[\"blue-square\",\"next\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➡️\" src=\"27a1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_left:{keywords:[\"blue-square\",\"previous\",\"back\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬅️\" src=\"2b05.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up:{keywords:[\"blue-square\",\"continue\",\"top\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬆️\" src=\"2b06.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬇️\" src=\"2b07.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_right:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northeast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↗️\" src=\"2197.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_right:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southeast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↘️\" src=\"2198.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_left:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southwest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↙️\" src=\"2199.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_left:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northwest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↖️\" src=\"2196.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up_down:{keywords:[\"blue-square\",\"direction\",\"way\",\"vertical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↕️\" src=\"2195.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_right_arrow:{keywords:[\"shape\",\"direction\",\"horizontal\",\"sideways\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↔️\" src=\"2194.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrows_counterclockwise:{keywords:[\"blue-square\",\"sync\",\"cycle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔄\" src=\"1f504.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_right_hook:{keywords:[\"blue-square\",\"return\",\"rotate\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↪️\" src=\"21aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},leftwards_arrow_with_hook:{keywords:[\"back\",\"return\",\"blue-square\",\"undo\",\"enter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↩️\" src=\"21a9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⤴️\" src=\"2934.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⤵️\" src=\"2935.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hash:{keywords:[\"symbol\",\"blue-square\",\"twitter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"#️⃣\" src=\"23-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},information_source:{keywords:[\"blue-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"ℹ️\" src=\"2139.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},abc:{keywords:[\"blue-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔤\" src=\"1f524.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},abcd:{keywords:[\"blue-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔡\" src=\"1f521.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},capital_abcd:{keywords:[\"alphabet\",\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔠\" src=\"1f520.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},symbols:{keywords:[\"blue-square\",\"music\",\"note\",\"ampersand\",\"percent\",\"glyphs\",\"characters\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔣\" src=\"1f523.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},musical_note:{keywords:[\"score\",\"tone\",\"sound\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎵\" src=\"1f3b5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},notes:{keywords:[\"music\",\"score\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎶\" src=\"1f3b6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wavy_dash:{keywords:[\"draw\",\"line\",\"moustache\",\"mustache\",\"squiggle\",\"scribble\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"〰️\" src=\"3030.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},curly_loop:{keywords:[\"scribble\",\"draw\",\"shape\",\"squiggle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➰\" src=\"27b0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_check_mark:{keywords:[\"ok\",\"nike\",\"answer\",\"yes\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✔️\" src=\"2714.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrows_clockwise:{keywords:[\"sync\",\"cycle\",\"round\",\"repeat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔃\" src=\"1f503.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_plus_sign:{keywords:[\"math\",\"calculation\",\"addition\",\"more\",\"increase\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➕\" src=\"2795.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_minus_sign:{keywords:[\"math\",\"calculation\",\"subtract\",\"less\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➖\" src=\"2796.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_division_sign:{keywords:[\"divide\",\"math\",\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➗\" src=\"2797.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_multiplication_x:{keywords:[\"math\",\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✖️\" src=\"2716.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},infinity:{keywords:[\"forever\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♾\" src=\"267e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_dollar_sign:{keywords:[\"money\",\"sales\",\"payment\",\"currency\",\"buck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💲\" src=\"1f4b2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},currency_exchange:{keywords:[\"money\",\"sales\",\"dollar\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💱\" src=\"1f4b1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},copyright:{keywords:[\"ip\",\"license\",\"circle\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"©️\" src=\"a9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},registered:{keywords:[\"alphabet\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"®️\" src=\"ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},tm:{keywords:[\"trademark\",\"brand\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"™️\" src=\"2122.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},end:{keywords:[\"words\",\"arrow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔚\" src=\"1f51a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},back:{keywords:[\"arrow\",\"words\",\"return\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔙\" src=\"1f519.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},on:{keywords:[\"arrow\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔛\" src=\"1f51b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},top:{keywords:[\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔝\" src=\"1f51d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},soon:{keywords:[\"arrow\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔜\" src=\"1f51c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ballot_box_with_check:{keywords:[\"ok\",\"agree\",\"confirm\",\"black-square\",\"vote\",\"election\",\"yes\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☑️\" src=\"2611.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},radio_button:{keywords:[\"input\",\"old\",\"music\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔘\" src=\"1f518.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_circle:{keywords:[\"shape\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚪\" src=\"26aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_circle:{keywords:[\"shape\",\"button\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚫\" src=\"26ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},red_circle:{keywords:[\"shape\",\"error\",\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔴\" src=\"1f534.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_blue_circle:{keywords:[\"shape\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔵\" src=\"1f535.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔸\" src=\"1f538.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔹\" src=\"1f539.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔶\" src=\"1f536.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔷\" src=\"1f537.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle:{keywords:[\"shape\",\"direction\",\"up\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔺\" src=\"1f53a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_small_square:{keywords:[\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▪️\" src=\"25aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_small_square:{keywords:[\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▫️\" src=\"25ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_large_square:{keywords:[\"shape\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬛\" src=\"2b1b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_large_square:{keywords:[\"shape\",\"icon\",\"stone\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬜\" src=\"2b1c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle_down:{keywords:[\"shape\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔻\" src=\"1f53b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_medium_square:{keywords:[\"shape\",\"button\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◼️\" src=\"25fc.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_medium_square:{keywords:[\"shape\",\"stone\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◻️\" src=\"25fb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_medium_small_square:{keywords:[\"icon\",\"shape\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◾\" src=\"25fe.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_medium_small_square:{keywords:[\"shape\",\"stone\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◽\" src=\"25fd.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_square_button:{keywords:[\"shape\",\"input\",\"frame\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔲\" src=\"1f532.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_square_button:{keywords:[\"shape\",\"input\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔳\" src=\"1f533.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},speaker:{keywords:[\"sound\",\"volume\",\"silence\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔈\" src=\"1f508.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sound:{keywords:[\"volume\",\"speaker\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔉\" src=\"1f509.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loud_sound:{keywords:[\"volume\",\"noise\",\"noisy\",\"speaker\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔊\" src=\"1f50a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mute:{keywords:[\"sound\",\"volume\",\"silence\",\"quiet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔇\" src=\"1f507.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mega:{keywords:[\"sound\",\"speaker\",\"volume\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📣\" src=\"1f4e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loudspeaker:{keywords:[\"volume\",\"sound\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📢\" src=\"1f4e2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},bell:{keywords:[\"sound\",\"notification\",\"christmas\",\"xmas\",\"chime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔔\" src=\"1f514.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_bell:{keywords:[\"sound\",\"volume\",\"mute\",\"quiet\",\"silent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔕\" src=\"1f515.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_joker:{keywords:[\"poker\",\"cards\",\"game\",\"play\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🃏\" src=\"1f0cf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mahjong:{keywords:[\"game\",\"play\",\"chinese\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🀄\" src=\"1f004.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},spades:{keywords:[\"poker\",\"cards\",\"suits\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♠️\" src=\"2660.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clubs:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♣️\" src=\"2663.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hearts:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♥️\" src=\"2665.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},diamonds:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♦️\" src=\"2666.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},flower_playing_cards:{keywords:[\"game\",\"sunset\",\"red\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎴\" src=\"1f3b4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},thought_balloon:{keywords:[\"bubble\",\"cloud\",\"speech\",\"thinking\",\"dream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💭\" src=\"1f4ad.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},right_anger_bubble:{keywords:[\"caption\",\"speech\",\"thinking\",\"mad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗯\" src=\"1f5ef.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},speech_balloon:{keywords:[\"bubble\",\"words\",\"message\",\"talk\",\"chatting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💬\" src=\"1f4ac.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_speech_bubble:{keywords:[\"words\",\"message\",\"talk\",\"chatting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗨\" src=\"1f5e8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕐\" src=\"1f550.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock2:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕑\" src=\"1f551.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock3:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕒\" src=\"1f552.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock4:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕓\" src=\"1f553.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock5:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕔\" src=\"1f554.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock6:{keywords:[\"time\",\"late\",\"early\",\"schedule\",\"dawn\",\"dusk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕕\" src=\"1f555.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock7:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕖\" src=\"1f556.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock8:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕗\" src=\"1f557.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock9:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕘\" src=\"1f558.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock10:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕙\" src=\"1f559.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock11:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕚\" src=\"1f55a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock12:{keywords:[\"time\",\"noon\",\"midnight\",\"midday\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕛\" src=\"1f55b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕜\" src=\"1f55c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕝\" src=\"1f55d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock330:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕞\" src=\"1f55e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock430:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕟\" src=\"1f55f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock530:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕠\" src=\"1f560.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock630:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕡\" src=\"1f561.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock730:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕢\" src=\"1f562.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock830:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕣\" src=\"1f563.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock930:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕤\" src=\"1f564.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1030:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕥\" src=\"1f565.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕦\" src=\"1f566.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕧\" src=\"1f567.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},afghanistan:{keywords:[\"af\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇫\" src=\"1f1e6-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},aland_islands:{keywords:[\"Åland\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇽\" src=\"1f1e6-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},albania:{keywords:[\"al\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇱\" src=\"1f1e6-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},algeria:{keywords:[\"dz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇿\" src=\"1f1e9-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},american_samoa:{keywords:[\"american\",\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇸\" src=\"1f1e6-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},andorra:{keywords:[\"ad\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇩\" src=\"1f1e6-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},angola:{keywords:[\"ao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇴\" src=\"1f1e6-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},anguilla:{keywords:[\"ai\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇮\" src=\"1f1e6-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},antarctica:{keywords:[\"aq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇶\" src=\"1f1e6-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},antigua_barbuda:{keywords:[\"antigua\",\"barbuda\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇬\" src=\"1f1e6-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},argentina:{keywords:[\"ar\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇷\" src=\"1f1e6-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},armenia:{keywords:[\"am\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇲\" src=\"1f1e6-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},aruba:{keywords:[\"aw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇼\" src=\"1f1e6-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},australia:{keywords:[\"au\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇺\" src=\"1f1e6-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},austria:{keywords:[\"at\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇹\" src=\"1f1e6-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},azerbaijan:{keywords:[\"az\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇿\" src=\"1f1e6-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bahamas:{keywords:[\"bs\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇸\" src=\"1f1e7-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bahrain:{keywords:[\"bh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇭\" src=\"1f1e7-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bangladesh:{keywords:[\"bd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇩\" src=\"1f1e7-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},barbados:{keywords:[\"bb\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇧\" src=\"1f1e7-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belarus:{keywords:[\"by\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇾\" src=\"1f1e7-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belgium:{keywords:[\"be\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇪\" src=\"1f1e7-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belize:{keywords:[\"bz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇿\" src=\"1f1e7-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},benin:{keywords:[\"bj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇯\" src=\"1f1e7-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bermuda:{keywords:[\"bm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇲\" src=\"1f1e7-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bhutan:{keywords:[\"bt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇹\" src=\"1f1e7-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bolivia:{keywords:[\"bo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇴\" src=\"1f1e7-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},caribbean_netherlands:{keywords:[\"bonaire\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇶\" src=\"1f1e7-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bosnia_herzegovina:{keywords:[\"bosnia\",\"herzegovina\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇦\" src=\"1f1e7-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},botswana:{keywords:[\"bw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇼\" src=\"1f1e7-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},brazil:{keywords:[\"br\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇷\" src=\"1f1e7-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},british_indian_ocean_territory:{keywords:[\"british\",\"indian\",\"ocean\",\"territory\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇴\" src=\"1f1ee-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},british_virgin_islands:{keywords:[\"british\",\"virgin\",\"islands\",\"bvi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇬\" src=\"1f1fb-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},brunei:{keywords:[\"bn\",\"darussalam\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇳\" src=\"1f1e7-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bulgaria:{keywords:[\"bg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇬\" src=\"1f1e7-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},burkina_faso:{keywords:[\"burkina\",\"faso\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇫\" src=\"1f1e7-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},burundi:{keywords:[\"bi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇮\" src=\"1f1e7-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cape_verde:{keywords:[\"cabo\",\"verde\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇻\" src=\"1f1e8-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cambodia:{keywords:[\"kh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇭\" src=\"1f1f0-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cameroon:{keywords:[\"cm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇲\" src=\"1f1e8-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},canada:{keywords:[\"ca\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇦\" src=\"1f1e8-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},canary_islands:{keywords:[\"canary\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇨\" src=\"1f1ee-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cayman_islands:{keywords:[\"cayman\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇾\" src=\"1f1f0-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},central_african_republic:{keywords:[\"central\",\"african\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇫\" src=\"1f1e8-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},chad:{keywords:[\"td\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇩\" src=\"1f1f9-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},chile:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇱\" src=\"1f1e8-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cn:{keywords:[\"china\",\"chinese\",\"prc\",\"flag\",\"country\",\"nation\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇳\" src=\"1f1e8-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},christmas_island:{keywords:[\"christmas\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇽\" src=\"1f1e8-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cocos_islands:{keywords:[\"cocos\",\"keeling\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇨\" src=\"1f1e8-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},colombia:{keywords:[\"co\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇴\" src=\"1f1e8-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},comoros:{keywords:[\"km\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇲\" src=\"1f1f0-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},congo_brazzaville:{keywords:[\"congo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇬\" src=\"1f1e8-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},congo_kinshasa:{keywords:[\"congo\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇩\" src=\"1f1e8-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cook_islands:{keywords:[\"cook\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇰\" src=\"1f1e8-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},costa_rica:{keywords:[\"costa\",\"rica\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇷\" src=\"1f1e8-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},croatia:{keywords:[\"hr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇷\" src=\"1f1ed-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cuba:{keywords:[\"cu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇺\" src=\"1f1e8-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},curacao:{keywords:[\"curaçao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇼\" src=\"1f1e8-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cyprus:{keywords:[\"cy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇾\" src=\"1f1e8-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},czech_republic:{keywords:[\"cz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇿\" src=\"1f1e8-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},denmark:{keywords:[\"dk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇰\" src=\"1f1e9-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},djibouti:{keywords:[\"dj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇯\" src=\"1f1e9-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},dominica:{keywords:[\"dm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇲\" src=\"1f1e9-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},dominican_republic:{keywords:[\"dominican\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇴\" src=\"1f1e9-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ecuador:{keywords:[\"ec\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇨\" src=\"1f1ea-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},egypt:{keywords:[\"eg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇬\" src=\"1f1ea-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},el_salvador:{keywords:[\"el\",\"salvador\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇻\" src=\"1f1f8-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},equatorial_guinea:{keywords:[\"equatorial\",\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇶\" src=\"1f1ec-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},eritrea:{keywords:[\"er\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇷\" src=\"1f1ea-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},estonia:{keywords:[\"ee\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇪\" src=\"1f1ea-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ethiopia:{keywords:[\"et\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇹\" src=\"1f1ea-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},eu:{keywords:[\"european\",\"union\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇺\" src=\"1f1ea-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},falkland_islands:{keywords:[\"falkland\",\"islands\",\"malvinas\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇰\" src=\"1f1eb-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},faroe_islands:{keywords:[\"faroe\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇴\" src=\"1f1eb-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},fiji:{keywords:[\"fj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇯\" src=\"1f1eb-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},finland:{keywords:[\"fi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇮\" src=\"1f1eb-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},fr:{keywords:[\"banner\",\"flag\",\"nation\",\"france\",\"french\",\"country\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇷\" src=\"1f1eb-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_guiana:{keywords:[\"french\",\"guiana\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇫\" src=\"1f1ec-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_polynesia:{keywords:[\"french\",\"polynesia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇫\" src=\"1f1f5-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_southern_territories:{keywords:[\"french\",\"southern\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇫\" src=\"1f1f9-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gabon:{keywords:[\"ga\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇦\" src=\"1f1ec-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gambia:{keywords:[\"gm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇲\" src=\"1f1ec-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},georgia:{keywords:[\"ge\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇪\" src=\"1f1ec-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},de:{keywords:[\"german\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇪\" src=\"1f1e9-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ghana:{keywords:[\"gh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇭\" src=\"1f1ec-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gibraltar:{keywords:[\"gi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇮\" src=\"1f1ec-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},greece:{keywords:[\"gr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇷\" src=\"1f1ec-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},greenland:{keywords:[\"gl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇱\" src=\"1f1ec-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},grenada:{keywords:[\"gd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇩\" src=\"1f1ec-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guadeloupe:{keywords:[\"gp\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇵\" src=\"1f1ec-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guam:{keywords:[\"gu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇺\" src=\"1f1ec-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guatemala:{keywords:[\"gt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇹\" src=\"1f1ec-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guernsey:{keywords:[\"gg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇬\" src=\"1f1ec-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guinea:{keywords:[\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇳\" src=\"1f1ec-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guinea_bissau:{keywords:[\"gw\",\"bissau\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇼\" src=\"1f1ec-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guyana:{keywords:[\"gy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇾\" src=\"1f1ec-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},haiti:{keywords:[\"ht\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇹\" src=\"1f1ed-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},honduras:{keywords:[\"hn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇳\" src=\"1f1ed-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},hong_kong:{keywords:[\"hong\",\"kong\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇰\" src=\"1f1ed-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},hungary:{keywords:[\"hu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇺\" src=\"1f1ed-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iceland:{keywords:[\"is\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇸\" src=\"1f1ee-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},india:{keywords:[\"in\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇳\" src=\"1f1ee-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},indonesia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇩\" src=\"1f1ee-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iran:{keywords:[\"iran,\",\"islamic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇷\" src=\"1f1ee-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iraq:{keywords:[\"iq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇶\" src=\"1f1ee-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ireland:{keywords:[\"ie\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇪\" src=\"1f1ee-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},isle_of_man:{keywords:[\"isle\",\"man\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇲\" src=\"1f1ee-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},israel:{keywords:[\"il\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇱\" src=\"1f1ee-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},it:{keywords:[\"italy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇹\" src=\"1f1ee-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cote_divoire:{keywords:[\"ivory\",\"coast\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇮\" src=\"1f1e8-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jamaica:{keywords:[\"jm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇲\" src=\"1f1ef-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jp:{keywords:[\"japanese\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇵\" src=\"1f1ef-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jersey:{keywords:[\"je\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇪\" src=\"1f1ef-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jordan:{keywords:[\"jo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇴\" src=\"1f1ef-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kazakhstan:{keywords:[\"kz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇿\" src=\"1f1f0-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kenya:{keywords:[\"ke\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇪\" src=\"1f1f0-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kiribati:{keywords:[\"ki\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇮\" src=\"1f1f0-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kosovo:{keywords:[\"xk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇽🇰\" src=\"1f1fd-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kuwait:{keywords:[\"kw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇼\" src=\"1f1f0-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kyrgyzstan:{keywords:[\"kg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇬\" src=\"1f1f0-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},laos:{keywords:[\"lao\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇦\" src=\"1f1f1-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},latvia:{keywords:[\"lv\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇻\" src=\"1f1f1-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lebanon:{keywords:[\"lb\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇧\" src=\"1f1f1-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lesotho:{keywords:[\"ls\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇸\" src=\"1f1f1-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},liberia:{keywords:[\"lr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇷\" src=\"1f1f1-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},libya:{keywords:[\"ly\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇾\" src=\"1f1f1-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},liechtenstein:{keywords:[\"li\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇮\" src=\"1f1f1-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lithuania:{keywords:[\"lt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇹\" src=\"1f1f1-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},luxembourg:{keywords:[\"lu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇺\" src=\"1f1f1-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},macau:{keywords:[\"macao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇴\" src=\"1f1f2-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},macedonia:{keywords:[\"macedonia,\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇰\" src=\"1f1f2-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},madagascar:{keywords:[\"mg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇬\" src=\"1f1f2-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malawi:{keywords:[\"mw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇼\" src=\"1f1f2-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malaysia:{keywords:[\"my\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇾\" src=\"1f1f2-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},maldives:{keywords:[\"mv\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇻\" src=\"1f1f2-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mali:{keywords:[\"ml\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇱\" src=\"1f1f2-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malta:{keywords:[\"mt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇹\" src=\"1f1f2-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},marshall_islands:{keywords:[\"marshall\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇭\" src=\"1f1f2-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},martinique:{keywords:[\"mq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇶\" src=\"1f1f2-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mauritania:{keywords:[\"mr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇷\" src=\"1f1f2-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mauritius:{keywords:[\"mu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇺\" src=\"1f1f2-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mayotte:{keywords:[\"yt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇾🇹\" src=\"1f1fe-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mexico:{keywords:[\"mx\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇽\" src=\"1f1f2-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},micronesia:{keywords:[\"micronesia,\",\"federated\",\"states\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇲\" src=\"1f1eb-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},moldova:{keywords:[\"moldova,\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇩\" src=\"1f1f2-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},monaco:{keywords:[\"mc\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇨\" src=\"1f1f2-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mongolia:{keywords:[\"mn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇳\" src=\"1f1f2-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},montenegro:{keywords:[\"me\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇪\" src=\"1f1f2-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},montserrat:{keywords:[\"ms\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇸\" src=\"1f1f2-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},morocco:{keywords:[\"ma\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇦\" src=\"1f1f2-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mozambique:{keywords:[\"mz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇿\" src=\"1f1f2-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},myanmar:{keywords:[\"mm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇲\" src=\"1f1f2-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},namibia:{keywords:[\"na\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇦\" src=\"1f1f3-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nauru:{keywords:[\"nr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇷\" src=\"1f1f3-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nepal:{keywords:[\"np\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇵\" src=\"1f1f3-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},netherlands:{keywords:[\"nl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇱\" src=\"1f1f3-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},new_caledonia:{keywords:[\"new\",\"caledonia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇨\" src=\"1f1f3-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},new_zealand:{keywords:[\"new\",\"zealand\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇿\" src=\"1f1f3-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nicaragua:{keywords:[\"ni\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇮\" src=\"1f1f3-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},niger:{keywords:[\"ne\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇪\" src=\"1f1f3-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nigeria:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇬\" src=\"1f1f3-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},niue:{keywords:[\"nu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇺\" src=\"1f1f3-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},norfolk_island:{keywords:[\"norfolk\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇫\" src=\"1f1f3-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},northern_mariana_islands:{keywords:[\"northern\",\"mariana\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇵\" src=\"1f1f2-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},north_korea:{keywords:[\"north\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇵\" src=\"1f1f0-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},norway:{keywords:[\"no\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇴\" src=\"1f1f3-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},oman:{keywords:[\"om_symbol\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇴🇲\" src=\"1f1f4-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pakistan:{keywords:[\"pk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇰\" src=\"1f1f5-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},palau:{keywords:[\"pw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇼\" src=\"1f1f5-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},palestinian_territories:{keywords:[\"palestine\",\"palestinian\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇸\" src=\"1f1f5-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},panama:{keywords:[\"pa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇦\" src=\"1f1f5-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},papua_new_guinea:{keywords:[\"papua\",\"new\",\"guinea\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇬\" src=\"1f1f5-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},paraguay:{keywords:[\"py\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇾\" src=\"1f1f5-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},peru:{keywords:[\"pe\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇪\" src=\"1f1f5-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},philippines:{keywords:[\"ph\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇭\" src=\"1f1f5-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pitcairn_islands:{keywords:[\"pitcairn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇳\" src=\"1f1f5-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},poland:{keywords:[\"pl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇱\" src=\"1f1f5-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},portugal:{keywords:[\"pt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇹\" src=\"1f1f5-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},puerto_rico:{keywords:[\"puerto\",\"rico\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇷\" src=\"1f1f5-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},qatar:{keywords:[\"qa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇶🇦\" src=\"1f1f6-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},reunion:{keywords:[\"réunion\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇪\" src=\"1f1f7-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},romania:{keywords:[\"ro\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇴\" src=\"1f1f7-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ru:{keywords:[\"russian\",\"federation\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇺\" src=\"1f1f7-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},rwanda:{keywords:[\"rw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇼\" src=\"1f1f7-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_barthelemy:{keywords:[\"saint\",\"barthélemy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇱\" src=\"1f1e7-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_helena:{keywords:[\"saint\",\"helena\",\"ascension\",\"tristan\",\"cunha\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇭\" src=\"1f1f8-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_kitts_nevis:{keywords:[\"saint\",\"kitts\",\"nevis\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇳\" src=\"1f1f0-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_lucia:{keywords:[\"saint\",\"lucia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇨\" src=\"1f1f1-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_pierre_miquelon:{keywords:[\"saint\",\"pierre\",\"miquelon\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇲\" src=\"1f1f5-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_vincent_grenadines:{keywords:[\"saint\",\"vincent\",\"grenadines\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇨\" src=\"1f1fb-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},samoa:{keywords:[\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇼🇸\" src=\"1f1fc-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},san_marino:{keywords:[\"san\",\"marino\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇲\" src=\"1f1f8-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sao_tome_principe:{keywords:[\"sao\",\"tome\",\"principe\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇹\" src=\"1f1f8-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},saudi_arabia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇦\" src=\"1f1f8-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},senegal:{keywords:[\"sn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇳\" src=\"1f1f8-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},serbia:{keywords:[\"rs\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇸\" src=\"1f1f7-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},seychelles:{keywords:[\"sc\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇨\" src=\"1f1f8-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sierra_leone:{keywords:[\"sierra\",\"leone\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇱\" src=\"1f1f8-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},singapore:{keywords:[\"sg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇬\" src=\"1f1f8-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sint_maarten:{keywords:[\"sint\",\"maarten\",\"dutch\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇽\" src=\"1f1f8-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},slovakia:{keywords:[\"sk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇰\" src=\"1f1f8-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},slovenia:{keywords:[\"si\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇮\" src=\"1f1f8-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},solomon_islands:{keywords:[\"solomon\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇧\" src=\"1f1f8-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},somalia:{keywords:[\"so\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇴\" src=\"1f1f8-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_africa:{keywords:[\"south\",\"africa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇦\" src=\"1f1ff-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_georgia_south_sandwich_islands:{keywords:[\"south\",\"georgia\",\"sandwich\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇸\" src=\"1f1ec-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kr:{keywords:[\"south\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇷\" src=\"1f1f0-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_sudan:{keywords:[\"south\",\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇸\" src=\"1f1f8-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},es:{keywords:[\"spain\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇸\" src=\"1f1ea-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sri_lanka:{keywords:[\"sri\",\"lanka\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇰\" src=\"1f1f1-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sudan:{keywords:[\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇩\" src=\"1f1f8-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},suriname:{keywords:[\"sr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇷\" src=\"1f1f8-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},swaziland:{keywords:[\"sz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇿\" src=\"1f1f8-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sweden:{keywords:[\"se\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇪\" src=\"1f1f8-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},switzerland:{keywords:[\"ch\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇭\" src=\"1f1e8-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},syria:{keywords:[\"syrian\",\"arab\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇾\" src=\"1f1f8-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},taiwan:{keywords:[\"tw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇼\" src=\"1f1f9-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tajikistan:{keywords:[\"tj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇯\" src=\"1f1f9-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tanzania:{keywords:[\"tanzania,\",\"united\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇿\" src=\"1f1f9-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},thailand:{keywords:[\"th\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇭\" src=\"1f1f9-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},timor_leste:{keywords:[\"timor\",\"leste\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇱\" src=\"1f1f9-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},togo:{keywords:[\"tg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇬\" src=\"1f1f9-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tokelau:{keywords:[\"tk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇰\" src=\"1f1f9-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tonga:{keywords:[\"to\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇴\" src=\"1f1f9-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},trinidad_tobago:{keywords:[\"trinidad\",\"tobago\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇹\" src=\"1f1f9-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tunisia:{keywords:[\"tn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇳\" src=\"1f1f9-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tr:{keywords:[\"turkey\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇷\" src=\"1f1f9-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},turkmenistan:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇲\" src=\"1f1f9-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},turks_caicos_islands:{keywords:[\"turks\",\"caicos\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇨\" src=\"1f1f9-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tuvalu:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇻\" src=\"1f1f9-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uganda:{keywords:[\"ug\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇬\" src=\"1f1fa-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ukraine:{keywords:[\"ua\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇦\" src=\"1f1fa-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},united_arab_emirates:{keywords:[\"united\",\"arab\",\"emirates\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇪\" src=\"1f1e6-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uk:{keywords:[\"united\",\"kingdom\",\"great\",\"britain\",\"northern\",\"ireland\",\"flag\",\"nation\",\"country\",\"banner\",\"british\",\"UK\",\"english\",\"england\",\"union jack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇧\" src=\"1f1ec-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},england:{keywords:[\"flag\",\"english\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁥󠁮󠁧󠁿\" src=\"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},scotland:{keywords:[\"flag\",\"scottish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁳󠁣󠁴󠁿\" src=\"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},wales:{keywords:[\"flag\",\"welsh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁷󠁬󠁳󠁿\" src=\"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},us:{keywords:[\"united\",\"states\",\"america\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇸\" src=\"1f1fa-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},us_virgin_islands:{keywords:[\"virgin\",\"islands\",\"us\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇮\" src=\"1f1fb-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uruguay:{keywords:[\"uy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇾\" src=\"1f1fa-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uzbekistan:{keywords:[\"uz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇿\" src=\"1f1fa-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vanuatu:{keywords:[\"vu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇺\" src=\"1f1fb-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vatican_city:{keywords:[\"vatican\",\"city\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇦\" src=\"1f1fb-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},venezuela:{keywords:[\"ve\",\"bolivarian\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇪\" src=\"1f1fb-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vietnam:{keywords:[\"viet\",\"nam\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇳\" src=\"1f1fb-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},wallis_futuna:{keywords:[\"wallis\",\"futuna\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇼🇫\" src=\"1f1fc-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},western_sahara:{keywords:[\"western\",\"sahara\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇭\" src=\"1f1ea-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},yemen:{keywords:[\"ye\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇾🇪\" src=\"1f1fe-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},zambia:{keywords:[\"zm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇲\" src=\"1f1ff-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},zimbabwe:{keywords:[\"zw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇼\" src=\"1f1ff-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},united_nations:{keywords:[\"un\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇳\" src=\"1f1fa-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pirate_flag:{keywords:[\"skull\",\"crossbones\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴‍☠️\" src=\"1f3f4-200d-2620-fe0f.png\"/>',fitzpatrick_scale:false,category:\"flags\"}});window.tinymce.Resource.add(\"tinymce.plugins.emoticons\",{grinning:{keywords:[\"face\",\"smile\",\"happy\",\"joy\",\":D\",\"grin\"],char:\"😀\",fitzpatrick_scale:false,category:\"people\"},grimacing:{keywords:[\"face\",\"grimace\",\"teeth\"],char:\"😬\",fitzpatrick_scale:false,category:\"people\"},grin:{keywords:[\"face\",\"happy\",\"smile\",\"joy\",\"kawaii\"],char:\"😁\",fitzpatrick_scale:false,category:\"people\"},joy:{keywords:[\"face\",\"cry\",\"tears\",\"weep\",\"happy\",\"happytears\",\"haha\"],char:\"😂\",fitzpatrick_scale:false,category:\"people\"},rofl:{keywords:[\"face\",\"rolling\",\"floor\",\"laughing\",\"lol\",\"haha\"],char:\"🤣\",fitzpatrick_scale:false,category:\"people\"},partying:{keywords:[\"face\",\"celebration\",\"woohoo\"],char:\"🥳\",fitzpatrick_scale:false,category:\"people\"},smiley:{keywords:[\"face\",\"happy\",\"joy\",\"haha\",\":D\",\":)\",\"smile\",\"funny\"],char:\"😃\",fitzpatrick_scale:false,category:\"people\"},smile:{keywords:[\"face\",\"happy\",\"joy\",\"funny\",\"haha\",\"laugh\",\"like\",\":D\",\":)\"],char:\"😄\",fitzpatrick_scale:false,category:\"people\"},sweat_smile:{keywords:[\"face\",\"hot\",\"happy\",\"laugh\",\"sweat\",\"smile\",\"relief\"],char:\"😅\",fitzpatrick_scale:false,category:\"people\"},laughing:{keywords:[\"happy\",\"joy\",\"lol\",\"satisfied\",\"haha\",\"face\",\"glad\",\"XD\",\"laugh\"],char:\"😆\",fitzpatrick_scale:false,category:\"people\"},innocent:{keywords:[\"face\",\"angel\",\"heaven\",\"halo\"],char:\"😇\",fitzpatrick_scale:false,category:\"people\"},wink:{keywords:[\"face\",\"happy\",\"mischievous\",\"secret\",\";)\",\"smile\",\"eye\"],char:\"😉\",fitzpatrick_scale:false,category:\"people\"},blush:{keywords:[\"face\",\"smile\",\"happy\",\"flushed\",\"crush\",\"embarrassed\",\"shy\",\"joy\"],char:\"😊\",fitzpatrick_scale:false,category:\"people\"},slightly_smiling_face:{keywords:[\"face\",\"smile\"],char:\"🙂\",fitzpatrick_scale:false,category:\"people\"},upside_down_face:{keywords:[\"face\",\"flipped\",\"silly\",\"smile\"],char:\"🙃\",fitzpatrick_scale:false,category:\"people\"},relaxed:{keywords:[\"face\",\"blush\",\"massage\",\"happiness\"],char:\"☺️\",fitzpatrick_scale:false,category:\"people\"},yum:{keywords:[\"happy\",\"joy\",\"tongue\",\"smile\",\"face\",\"silly\",\"yummy\",\"nom\",\"delicious\",\"savouring\"],char:\"😋\",fitzpatrick_scale:false,category:\"people\"},relieved:{keywords:[\"face\",\"relaxed\",\"phew\",\"massage\",\"happiness\"],char:\"😌\",fitzpatrick_scale:false,category:\"people\"},heart_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"heart\"],char:\"😍\",fitzpatrick_scale:false,category:\"people\"},smiling_face_with_three_hearts:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"hearts\",\"adore\"],char:\"🥰\",fitzpatrick_scale:false,category:\"people\"},kissing_heart:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😘\",fitzpatrick_scale:false,category:\"people\"},kissing:{keywords:[\"love\",\"like\",\"face\",\"3\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😗\",fitzpatrick_scale:false,category:\"people\"},kissing_smiling_eyes:{keywords:[\"face\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😙\",fitzpatrick_scale:false,category:\"people\"},kissing_closed_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😚\",fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_winking_eye:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"wink\",\"tongue\"],char:\"😜\",fitzpatrick_scale:false,category:\"people\"},zany:{keywords:[\"face\",\"goofy\",\"crazy\"],char:\"🤪\",fitzpatrick_scale:false,category:\"people\"},raised_eyebrow:{keywords:[\"face\",\"distrust\",\"scepticism\",\"disapproval\",\"disbelief\",\"surprise\"],char:\"🤨\",fitzpatrick_scale:false,category:\"people\"},monocle:{keywords:[\"face\",\"stuffy\",\"wealthy\"],char:\"🧐\",fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_closed_eyes:{keywords:[\"face\",\"prank\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:\"😝\",fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:\"😛\",fitzpatrick_scale:false,category:\"people\"},money_mouth_face:{keywords:[\"face\",\"rich\",\"dollar\",\"money\"],char:\"🤑\",fitzpatrick_scale:false,category:\"people\"},nerd_face:{keywords:[\"face\",\"nerdy\",\"geek\",\"dork\"],char:\"🤓\",fitzpatrick_scale:false,category:\"people\"},sunglasses:{keywords:[\"face\",\"cool\",\"smile\",\"summer\",\"beach\",\"sunglass\"],char:\"😎\",fitzpatrick_scale:false,category:\"people\"},star_struck:{keywords:[\"face\",\"smile\",\"starry\",\"eyes\",\"grinning\"],char:\"🤩\",fitzpatrick_scale:false,category:\"people\"},clown_face:{keywords:[\"face\"],char:\"🤡\",fitzpatrick_scale:false,category:\"people\"},cowboy_hat_face:{keywords:[\"face\",\"cowgirl\",\"hat\"],char:\"🤠\",fitzpatrick_scale:false,category:\"people\"},hugs:{keywords:[\"face\",\"smile\",\"hug\"],char:\"🤗\",fitzpatrick_scale:false,category:\"people\"},smirk:{keywords:[\"face\",\"smile\",\"mean\",\"prank\",\"smug\",\"sarcasm\"],char:\"😏\",fitzpatrick_scale:false,category:\"people\"},no_mouth:{keywords:[\"face\",\"hellokitty\"],char:\"😶\",fitzpatrick_scale:false,category:\"people\"},neutral_face:{keywords:[\"indifference\",\"meh\",\":|\",\"neutral\"],char:\"😐\",fitzpatrick_scale:false,category:\"people\"},expressionless:{keywords:[\"face\",\"indifferent\",\"-_-\",\"meh\",\"deadpan\"],char:\"😑\",fitzpatrick_scale:false,category:\"people\"},unamused:{keywords:[\"indifference\",\"bored\",\"straight face\",\"serious\",\"sarcasm\",\"unimpressed\",\"skeptical\",\"dubious\",\"side_eye\"],char:\"😒\",fitzpatrick_scale:false,category:\"people\"},roll_eyes:{keywords:[\"face\",\"eyeroll\",\"frustrated\"],char:\"🙄\",fitzpatrick_scale:false,category:\"people\"},thinking:{keywords:[\"face\",\"hmmm\",\"think\",\"consider\"],char:\"🤔\",fitzpatrick_scale:false,category:\"people\"},lying_face:{keywords:[\"face\",\"lie\",\"pinocchio\"],char:\"🤥\",fitzpatrick_scale:false,category:\"people\"},hand_over_mouth:{keywords:[\"face\",\"whoops\",\"shock\",\"surprise\"],char:\"🤭\",fitzpatrick_scale:false,category:\"people\"},shushing:{keywords:[\"face\",\"quiet\",\"shhh\"],char:\"🤫\",fitzpatrick_scale:false,category:\"people\"},symbols_over_mouth:{keywords:[\"face\",\"swearing\",\"cursing\",\"cussing\",\"profanity\",\"expletive\"],char:\"🤬\",fitzpatrick_scale:false,category:\"people\"},exploding_head:{keywords:[\"face\",\"shocked\",\"mind\",\"blown\"],char:\"🤯\",fitzpatrick_scale:false,category:\"people\"},flushed:{keywords:[\"face\",\"blush\",\"shy\",\"flattered\"],char:\"😳\",fitzpatrick_scale:false,category:\"people\"},disappointed:{keywords:[\"face\",\"sad\",\"upset\",\"depressed\",\":(\"],char:\"😞\",fitzpatrick_scale:false,category:\"people\"},worried:{keywords:[\"face\",\"concern\",\"nervous\",\":(\"],char:\"😟\",fitzpatrick_scale:false,category:\"people\"},angry:{keywords:[\"mad\",\"face\",\"annoyed\",\"frustrated\"],char:\"😠\",fitzpatrick_scale:false,category:\"people\"},rage:{keywords:[\"angry\",\"mad\",\"hate\",\"despise\"],char:\"😡\",fitzpatrick_scale:false,category:\"people\"},pensive:{keywords:[\"face\",\"sad\",\"depressed\",\"upset\"],char:\"😔\",fitzpatrick_scale:false,category:\"people\"},confused:{keywords:[\"face\",\"indifference\",\"huh\",\"weird\",\"hmmm\",\":/\"],char:\"😕\",fitzpatrick_scale:false,category:\"people\"},slightly_frowning_face:{keywords:[\"face\",\"frowning\",\"disappointed\",\"sad\",\"upset\"],char:\"🙁\",fitzpatrick_scale:false,category:\"people\"},frowning_face:{keywords:[\"face\",\"sad\",\"upset\",\"frown\"],char:\"☹\",fitzpatrick_scale:false,category:\"people\"},persevere:{keywords:[\"face\",\"sick\",\"no\",\"upset\",\"oops\"],char:\"😣\",fitzpatrick_scale:false,category:\"people\"},confounded:{keywords:[\"face\",\"confused\",\"sick\",\"unwell\",\"oops\",\":S\"],char:\"😖\",fitzpatrick_scale:false,category:\"people\"},tired_face:{keywords:[\"sick\",\"whine\",\"upset\",\"frustrated\"],char:\"😫\",fitzpatrick_scale:false,category:\"people\"},weary:{keywords:[\"face\",\"tired\",\"sleepy\",\"sad\",\"frustrated\",\"upset\"],char:\"😩\",fitzpatrick_scale:false,category:\"people\"},pleading:{keywords:[\"face\",\"begging\",\"mercy\"],char:\"🥺\",fitzpatrick_scale:false,category:\"people\"},triumph:{keywords:[\"face\",\"gas\",\"phew\",\"proud\",\"pride\"],char:\"😤\",fitzpatrick_scale:false,category:\"people\"},open_mouth:{keywords:[\"face\",\"surprise\",\"impressed\",\"wow\",\"whoa\",\":O\"],char:\"😮\",fitzpatrick_scale:false,category:\"people\"},scream:{keywords:[\"face\",\"munch\",\"scared\",\"omg\"],char:\"😱\",fitzpatrick_scale:false,category:\"people\"},fearful:{keywords:[\"face\",\"scared\",\"terrified\",\"nervous\",\"oops\",\"huh\"],char:\"😨\",fitzpatrick_scale:false,category:\"people\"},cold_sweat:{keywords:[\"face\",\"nervous\",\"sweat\"],char:\"😰\",fitzpatrick_scale:false,category:\"people\"},hushed:{keywords:[\"face\",\"woo\",\"shh\"],char:\"😯\",fitzpatrick_scale:false,category:\"people\"},frowning:{keywords:[\"face\",\"aw\",\"what\"],char:\"😦\",fitzpatrick_scale:false,category:\"people\"},anguished:{keywords:[\"face\",\"stunned\",\"nervous\"],char:\"😧\",fitzpatrick_scale:false,category:\"people\"},cry:{keywords:[\"face\",\"tears\",\"sad\",\"depressed\",\"upset\",\":'(\"],char:\"😢\",fitzpatrick_scale:false,category:\"people\"},disappointed_relieved:{keywords:[\"face\",\"phew\",\"sweat\",\"nervous\"],char:\"😥\",fitzpatrick_scale:false,category:\"people\"},drooling_face:{keywords:[\"face\"],char:\"🤤\",fitzpatrick_scale:false,category:\"people\"},sleepy:{keywords:[\"face\",\"tired\",\"rest\",\"nap\"],char:\"😪\",fitzpatrick_scale:false,category:\"people\"},sweat:{keywords:[\"face\",\"hot\",\"sad\",\"tired\",\"exercise\"],char:\"😓\",fitzpatrick_scale:false,category:\"people\"},hot:{keywords:[\"face\",\"feverish\",\"heat\",\"red\",\"sweating\"],char:\"🥵\",fitzpatrick_scale:false,category:\"people\"},cold:{keywords:[\"face\",\"blue\",\"freezing\",\"frozen\",\"frostbite\",\"icicles\"],char:\"🥶\",fitzpatrick_scale:false,category:\"people\"},sob:{keywords:[\"face\",\"cry\",\"tears\",\"sad\",\"upset\",\"depressed\"],char:\"😭\",fitzpatrick_scale:false,category:\"people\"},dizzy_face:{keywords:[\"spent\",\"unconscious\",\"xox\",\"dizzy\"],char:\"😵\",fitzpatrick_scale:false,category:\"people\"},astonished:{keywords:[\"face\",\"xox\",\"surprised\",\"poisoned\"],char:\"😲\",fitzpatrick_scale:false,category:\"people\"},zipper_mouth_face:{keywords:[\"face\",\"sealed\",\"zipper\",\"secret\"],char:\"🤐\",fitzpatrick_scale:false,category:\"people\"},nauseated_face:{keywords:[\"face\",\"vomit\",\"gross\",\"green\",\"sick\",\"throw up\",\"ill\"],char:\"🤢\",fitzpatrick_scale:false,category:\"people\"},sneezing_face:{keywords:[\"face\",\"gesundheit\",\"sneeze\",\"sick\",\"allergy\"],char:\"🤧\",fitzpatrick_scale:false,category:\"people\"},vomiting:{keywords:[\"face\",\"sick\"],char:\"🤮\",fitzpatrick_scale:false,category:\"people\"},mask:{keywords:[\"face\",\"sick\",\"ill\",\"disease\"],char:\"😷\",fitzpatrick_scale:false,category:\"people\"},face_with_thermometer:{keywords:[\"sick\",\"temperature\",\"thermometer\",\"cold\",\"fever\"],char:\"🤒\",fitzpatrick_scale:false,category:\"people\"},face_with_head_bandage:{keywords:[\"injured\",\"clumsy\",\"bandage\",\"hurt\"],char:\"🤕\",fitzpatrick_scale:false,category:\"people\"},woozy:{keywords:[\"face\",\"dizzy\",\"intoxicated\",\"tipsy\",\"wavy\"],char:\"🥴\",fitzpatrick_scale:false,category:\"people\"},sleeping:{keywords:[\"face\",\"tired\",\"sleepy\",\"night\",\"zzz\"],char:\"😴\",fitzpatrick_scale:false,category:\"people\"},zzz:{keywords:[\"sleepy\",\"tired\",\"dream\"],char:\"💤\",fitzpatrick_scale:false,category:\"people\"},poop:{keywords:[\"hankey\",\"shitface\",\"fail\",\"turd\",\"shit\"],char:\"💩\",fitzpatrick_scale:false,category:\"people\"},smiling_imp:{keywords:[\"devil\",\"horns\"],char:\"😈\",fitzpatrick_scale:false,category:\"people\"},imp:{keywords:[\"devil\",\"angry\",\"horns\"],char:\"👿\",fitzpatrick_scale:false,category:\"people\"},japanese_ogre:{keywords:[\"monster\",\"red\",\"mask\",\"halloween\",\"scary\",\"creepy\",\"devil\",\"demon\",\"japanese\",\"ogre\"],char:\"👹\",fitzpatrick_scale:false,category:\"people\"},japanese_goblin:{keywords:[\"red\",\"evil\",\"mask\",\"monster\",\"scary\",\"creepy\",\"japanese\",\"goblin\"],char:\"👺\",fitzpatrick_scale:false,category:\"people\"},skull:{keywords:[\"dead\",\"skeleton\",\"creepy\",\"death\"],char:\"💀\",fitzpatrick_scale:false,category:\"people\"},ghost:{keywords:[\"halloween\",\"spooky\",\"scary\"],char:\"👻\",fitzpatrick_scale:false,category:\"people\"},alien:{keywords:[\"UFO\",\"paul\",\"weird\",\"outer_space\"],char:\"👽\",fitzpatrick_scale:false,category:\"people\"},robot:{keywords:[\"computer\",\"machine\",\"bot\"],char:\"🤖\",fitzpatrick_scale:false,category:\"people\"},smiley_cat:{keywords:[\"animal\",\"cats\",\"happy\",\"smile\"],char:\"😺\",fitzpatrick_scale:false,category:\"people\"},smile_cat:{keywords:[\"animal\",\"cats\",\"smile\"],char:\"😸\",fitzpatrick_scale:false,category:\"people\"},joy_cat:{keywords:[\"animal\",\"cats\",\"haha\",\"happy\",\"tears\"],char:\"😹\",fitzpatrick_scale:false,category:\"people\"},heart_eyes_cat:{keywords:[\"animal\",\"love\",\"like\",\"affection\",\"cats\",\"valentines\",\"heart\"],char:\"😻\",fitzpatrick_scale:false,category:\"people\"},smirk_cat:{keywords:[\"animal\",\"cats\",\"smirk\"],char:\"😼\",fitzpatrick_scale:false,category:\"people\"},kissing_cat:{keywords:[\"animal\",\"cats\",\"kiss\"],char:\"😽\",fitzpatrick_scale:false,category:\"people\"},scream_cat:{keywords:[\"animal\",\"cats\",\"munch\",\"scared\",\"scream\"],char:\"🙀\",fitzpatrick_scale:false,category:\"people\"},crying_cat_face:{keywords:[\"animal\",\"tears\",\"weep\",\"sad\",\"cats\",\"upset\",\"cry\"],char:\"😿\",fitzpatrick_scale:false,category:\"people\"},pouting_cat:{keywords:[\"animal\",\"cats\"],char:\"😾\",fitzpatrick_scale:false,category:\"people\"},palms_up:{keywords:[\"hands\",\"gesture\",\"cupped\",\"prayer\"],char:\"🤲\",fitzpatrick_scale:true,category:\"people\"},raised_hands:{keywords:[\"gesture\",\"hooray\",\"yea\",\"celebration\",\"hands\"],char:\"🙌\",fitzpatrick_scale:true,category:\"people\"},clap:{keywords:[\"hands\",\"praise\",\"applause\",\"congrats\",\"yay\"],char:\"👏\",fitzpatrick_scale:true,category:\"people\"},wave:{keywords:[\"hands\",\"gesture\",\"goodbye\",\"solong\",\"farewell\",\"hello\",\"hi\",\"palm\"],char:\"👋\",fitzpatrick_scale:true,category:\"people\"},call_me_hand:{keywords:[\"hands\",\"gesture\"],char:\"🤙\",fitzpatrick_scale:true,category:\"people\"},\"+1\":{keywords:[\"thumbsup\",\"yes\",\"awesome\",\"good\",\"agree\",\"accept\",\"cool\",\"hand\",\"like\"],char:\"👍\",fitzpatrick_scale:true,category:\"people\"},\"-1\":{keywords:[\"thumbsdown\",\"no\",\"dislike\",\"hand\"],char:\"👎\",fitzpatrick_scale:true,category:\"people\"},facepunch:{keywords:[\"angry\",\"violence\",\"fist\",\"hit\",\"attack\",\"hand\"],char:\"👊\",fitzpatrick_scale:true,category:\"people\"},fist:{keywords:[\"fingers\",\"hand\",\"grasp\"],char:\"✊\",fitzpatrick_scale:true,category:\"people\"},fist_left:{keywords:[\"hand\",\"fistbump\"],char:\"🤛\",fitzpatrick_scale:true,category:\"people\"},fist_right:{keywords:[\"hand\",\"fistbump\"],char:\"🤜\",fitzpatrick_scale:true,category:\"people\"},v:{keywords:[\"fingers\",\"ohyeah\",\"hand\",\"peace\",\"victory\",\"two\"],char:\"✌\",fitzpatrick_scale:true,category:\"people\"},ok_hand:{keywords:[\"fingers\",\"limbs\",\"perfect\",\"ok\",\"okay\"],char:\"👌\",fitzpatrick_scale:true,category:\"people\"},raised_hand:{keywords:[\"fingers\",\"stop\",\"highfive\",\"palm\",\"ban\"],char:\"✋\",fitzpatrick_scale:true,category:\"people\"},raised_back_of_hand:{keywords:[\"fingers\",\"raised\",\"backhand\"],char:\"🤚\",fitzpatrick_scale:true,category:\"people\"},open_hands:{keywords:[\"fingers\",\"butterfly\",\"hands\",\"open\"],char:\"👐\",fitzpatrick_scale:true,category:\"people\"},muscle:{keywords:[\"arm\",\"flex\",\"hand\",\"summer\",\"strong\",\"biceps\"],char:\"💪\",fitzpatrick_scale:true,category:\"people\"},pray:{keywords:[\"please\",\"hope\",\"wish\",\"namaste\",\"highfive\"],char:\"🙏\",fitzpatrick_scale:true,category:\"people\"},foot:{keywords:[\"kick\",\"stomp\"],char:\"🦶\",fitzpatrick_scale:true,category:\"people\"},leg:{keywords:[\"kick\",\"limb\"],char:\"🦵\",fitzpatrick_scale:true,category:\"people\"},handshake:{keywords:[\"agreement\",\"shake\"],char:\"🤝\",fitzpatrick_scale:false,category:\"people\"},point_up:{keywords:[\"hand\",\"fingers\",\"direction\",\"up\"],char:\"☝\",fitzpatrick_scale:true,category:\"people\"},point_up_2:{keywords:[\"fingers\",\"hand\",\"direction\",\"up\"],char:\"👆\",fitzpatrick_scale:true,category:\"people\"},point_down:{keywords:[\"fingers\",\"hand\",\"direction\",\"down\"],char:\"👇\",fitzpatrick_scale:true,category:\"people\"},point_left:{keywords:[\"direction\",\"fingers\",\"hand\",\"left\"],char:\"👈\",fitzpatrick_scale:true,category:\"people\"},point_right:{keywords:[\"fingers\",\"hand\",\"direction\",\"right\"],char:\"👉\",fitzpatrick_scale:true,category:\"people\"},fu:{keywords:[\"hand\",\"fingers\",\"rude\",\"middle\",\"flipping\"],char:\"🖕\",fitzpatrick_scale:true,category:\"people\"},raised_hand_with_fingers_splayed:{keywords:[\"hand\",\"fingers\",\"palm\"],char:\"🖐\",fitzpatrick_scale:true,category:\"people\"},love_you:{keywords:[\"hand\",\"fingers\",\"gesture\"],char:\"🤟\",fitzpatrick_scale:true,category:\"people\"},metal:{keywords:[\"hand\",\"fingers\",\"evil_eye\",\"sign_of_horns\",\"rock_on\"],char:\"🤘\",fitzpatrick_scale:true,category:\"people\"},crossed_fingers:{keywords:[\"good\",\"lucky\"],char:\"🤞\",fitzpatrick_scale:true,category:\"people\"},vulcan_salute:{keywords:[\"hand\",\"fingers\",\"spock\",\"star trek\"],char:\"🖖\",fitzpatrick_scale:true,category:\"people\"},writing_hand:{keywords:[\"lower_left_ballpoint_pen\",\"stationery\",\"write\",\"compose\"],char:\"✍\",fitzpatrick_scale:true,category:\"people\"},selfie:{keywords:[\"camera\",\"phone\"],char:\"🤳\",fitzpatrick_scale:true,category:\"people\"},nail_care:{keywords:[\"beauty\",\"manicure\",\"finger\",\"fashion\",\"nail\"],char:\"💅\",fitzpatrick_scale:true,category:\"people\"},lips:{keywords:[\"mouth\",\"kiss\"],char:\"👄\",fitzpatrick_scale:false,category:\"people\"},tooth:{keywords:[\"teeth\",\"dentist\"],char:\"🦷\",fitzpatrick_scale:false,category:\"people\"},tongue:{keywords:[\"mouth\",\"playful\"],char:\"👅\",fitzpatrick_scale:false,category:\"people\"},ear:{keywords:[\"face\",\"hear\",\"sound\",\"listen\"],char:\"👂\",fitzpatrick_scale:true,category:\"people\"},nose:{keywords:[\"smell\",\"sniff\"],char:\"👃\",fitzpatrick_scale:true,category:\"people\"},eye:{keywords:[\"face\",\"look\",\"see\",\"watch\",\"stare\"],char:\"👁\",fitzpatrick_scale:false,category:\"people\"},eyes:{keywords:[\"look\",\"watch\",\"stalk\",\"peek\",\"see\"],char:\"👀\",fitzpatrick_scale:false,category:\"people\"},brain:{keywords:[\"smart\",\"intelligent\"],char:\"🧠\",fitzpatrick_scale:false,category:\"people\"},bust_in_silhouette:{keywords:[\"user\",\"person\",\"human\"],char:\"👤\",fitzpatrick_scale:false,category:\"people\"},busts_in_silhouette:{keywords:[\"user\",\"person\",\"human\",\"group\",\"team\"],char:\"👥\",fitzpatrick_scale:false,category:\"people\"},speaking_head:{keywords:[\"user\",\"person\",\"human\",\"sing\",\"say\",\"talk\"],char:\"🗣\",fitzpatrick_scale:false,category:\"people\"},baby:{keywords:[\"child\",\"boy\",\"girl\",\"toddler\"],char:\"👶\",fitzpatrick_scale:true,category:\"people\"},child:{keywords:[\"gender-neutral\",\"young\"],char:\"🧒\",fitzpatrick_scale:true,category:\"people\"},boy:{keywords:[\"man\",\"male\",\"guy\",\"teenager\"],char:\"👦\",fitzpatrick_scale:true,category:\"people\"},girl:{keywords:[\"female\",\"woman\",\"teenager\"],char:\"👧\",fitzpatrick_scale:true,category:\"people\"},adult:{keywords:[\"gender-neutral\",\"person\"],char:\"🧑\",fitzpatrick_scale:true,category:\"people\"},man:{keywords:[\"mustache\",\"father\",\"dad\",\"guy\",\"classy\",\"sir\",\"moustache\"],char:\"👨\",fitzpatrick_scale:true,category:\"people\"},woman:{keywords:[\"female\",\"girls\",\"lady\"],char:\"👩\",fitzpatrick_scale:true,category:\"people\"},blonde_woman:{keywords:[\"woman\",\"female\",\"girl\",\"blonde\",\"person\"],char:\"👱‍♀️\",fitzpatrick_scale:true,category:\"people\"},blonde_man:{keywords:[\"man\",\"male\",\"boy\",\"blonde\",\"guy\",\"person\"],char:\"👱\",fitzpatrick_scale:true,category:\"people\"},bearded_person:{keywords:[\"person\",\"bewhiskered\"],char:\"🧔\",fitzpatrick_scale:true,category:\"people\"},older_adult:{keywords:[\"human\",\"elder\",\"senior\",\"gender-neutral\"],char:\"🧓\",fitzpatrick_scale:true,category:\"people\"},older_man:{keywords:[\"human\",\"male\",\"men\",\"old\",\"elder\",\"senior\"],char:\"👴\",fitzpatrick_scale:true,category:\"people\"},older_woman:{keywords:[\"human\",\"female\",\"women\",\"lady\",\"old\",\"elder\",\"senior\"],char:\"👵\",fitzpatrick_scale:true,category:\"people\"},man_with_gua_pi_mao:{keywords:[\"male\",\"boy\",\"chinese\"],char:\"👲\",fitzpatrick_scale:true,category:\"people\"},woman_with_headscarf:{keywords:[\"female\",\"hijab\",\"mantilla\",\"tichel\"],char:\"🧕\",fitzpatrick_scale:true,category:\"people\"},woman_with_turban:{keywords:[\"female\",\"indian\",\"hinduism\",\"arabs\",\"woman\"],char:\"👳‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_with_turban:{keywords:[\"male\",\"indian\",\"hinduism\",\"arabs\"],char:\"👳\",fitzpatrick_scale:true,category:\"people\"},policewoman:{keywords:[\"woman\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\",\"female\"],char:\"👮‍♀️\",fitzpatrick_scale:true,category:\"people\"},policeman:{keywords:[\"man\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\"],char:\"👮\",fitzpatrick_scale:true,category:\"people\"},construction_worker_woman:{keywords:[\"female\",\"human\",\"wip\",\"build\",\"construction\",\"worker\",\"labor\",\"woman\"],char:\"👷‍♀️\",fitzpatrick_scale:true,category:\"people\"},construction_worker_man:{keywords:[\"male\",\"human\",\"wip\",\"guy\",\"build\",\"construction\",\"worker\",\"labor\"],char:\"👷\",fitzpatrick_scale:true,category:\"people\"},guardswoman:{keywords:[\"uk\",\"gb\",\"british\",\"female\",\"royal\",\"woman\"],char:\"💂‍♀️\",fitzpatrick_scale:true,category:\"people\"},guardsman:{keywords:[\"uk\",\"gb\",\"british\",\"male\",\"guy\",\"royal\"],char:\"💂\",fitzpatrick_scale:true,category:\"people\"},female_detective:{keywords:[\"human\",\"spy\",\"detective\",\"female\",\"woman\"],char:\"🕵️‍♀️\",fitzpatrick_scale:true,category:\"people\"},male_detective:{keywords:[\"human\",\"spy\",\"detective\"],char:\"🕵\",fitzpatrick_scale:true,category:\"people\"},woman_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"woman\",\"human\"],char:\"👩‍⚕️\",fitzpatrick_scale:true,category:\"people\"},man_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"man\",\"human\"],char:\"👨‍⚕️\",fitzpatrick_scale:true,category:\"people\"},woman_farmer:{keywords:[\"rancher\",\"gardener\",\"woman\",\"human\"],char:\"👩‍🌾\",fitzpatrick_scale:true,category:\"people\"},man_farmer:{keywords:[\"rancher\",\"gardener\",\"man\",\"human\"],char:\"👨‍🌾\",fitzpatrick_scale:true,category:\"people\"},woman_cook:{keywords:[\"chef\",\"woman\",\"human\"],char:\"👩‍🍳\",fitzpatrick_scale:true,category:\"people\"},man_cook:{keywords:[\"chef\",\"man\",\"human\"],char:\"👨‍🍳\",fitzpatrick_scale:true,category:\"people\"},woman_student:{keywords:[\"graduate\",\"woman\",\"human\"],char:\"👩‍🎓\",fitzpatrick_scale:true,category:\"people\"},man_student:{keywords:[\"graduate\",\"man\",\"human\"],char:\"👨‍🎓\",fitzpatrick_scale:true,category:\"people\"},woman_singer:{keywords:[\"rockstar\",\"entertainer\",\"woman\",\"human\"],char:\"👩‍🎤\",fitzpatrick_scale:true,category:\"people\"},man_singer:{keywords:[\"rockstar\",\"entertainer\",\"man\",\"human\"],char:\"👨‍🎤\",fitzpatrick_scale:true,category:\"people\"},woman_teacher:{keywords:[\"instructor\",\"professor\",\"woman\",\"human\"],char:\"👩‍🏫\",fitzpatrick_scale:true,category:\"people\"},man_teacher:{keywords:[\"instructor\",\"professor\",\"man\",\"human\"],char:\"👨‍🏫\",fitzpatrick_scale:true,category:\"people\"},woman_factory_worker:{keywords:[\"assembly\",\"industrial\",\"woman\",\"human\"],char:\"👩‍🏭\",fitzpatrick_scale:true,category:\"people\"},man_factory_worker:{keywords:[\"assembly\",\"industrial\",\"man\",\"human\"],char:\"👨‍🏭\",fitzpatrick_scale:true,category:\"people\"},woman_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"woman\",\"human\",\"laptop\",\"computer\"],char:\"👩‍💻\",fitzpatrick_scale:true,category:\"people\"},man_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"man\",\"human\",\"laptop\",\"computer\"],char:\"👨‍💻\",fitzpatrick_scale:true,category:\"people\"},woman_office_worker:{keywords:[\"business\",\"manager\",\"woman\",\"human\"],char:\"👩‍💼\",fitzpatrick_scale:true,category:\"people\"},man_office_worker:{keywords:[\"business\",\"manager\",\"man\",\"human\"],char:\"👨‍💼\",fitzpatrick_scale:true,category:\"people\"},woman_mechanic:{keywords:[\"plumber\",\"woman\",\"human\",\"wrench\"],char:\"👩‍🔧\",fitzpatrick_scale:true,category:\"people\"},man_mechanic:{keywords:[\"plumber\",\"man\",\"human\",\"wrench\"],char:\"👨‍🔧\",fitzpatrick_scale:true,category:\"people\"},woman_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"woman\",\"human\"],char:\"👩‍🔬\",fitzpatrick_scale:true,category:\"people\"},man_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"man\",\"human\"],char:\"👨‍🔬\",fitzpatrick_scale:true,category:\"people\"},woman_artist:{keywords:[\"painter\",\"woman\",\"human\"],char:\"👩‍🎨\",fitzpatrick_scale:true,category:\"people\"},man_artist:{keywords:[\"painter\",\"man\",\"human\"],char:\"👨‍🎨\",fitzpatrick_scale:true,category:\"people\"},woman_firefighter:{keywords:[\"fireman\",\"woman\",\"human\"],char:\"👩‍🚒\",fitzpatrick_scale:true,category:\"people\"},man_firefighter:{keywords:[\"fireman\",\"man\",\"human\"],char:\"👨‍🚒\",fitzpatrick_scale:true,category:\"people\"},woman_pilot:{keywords:[\"aviator\",\"plane\",\"woman\",\"human\"],char:\"👩‍✈️\",fitzpatrick_scale:true,category:\"people\"},man_pilot:{keywords:[\"aviator\",\"plane\",\"man\",\"human\"],char:\"👨‍✈️\",fitzpatrick_scale:true,category:\"people\"},woman_astronaut:{keywords:[\"space\",\"rocket\",\"woman\",\"human\"],char:\"👩‍🚀\",fitzpatrick_scale:true,category:\"people\"},man_astronaut:{keywords:[\"space\",\"rocket\",\"man\",\"human\"],char:\"👨‍🚀\",fitzpatrick_scale:true,category:\"people\"},woman_judge:{keywords:[\"justice\",\"court\",\"woman\",\"human\"],char:\"👩‍⚖️\",fitzpatrick_scale:true,category:\"people\"},man_judge:{keywords:[\"justice\",\"court\",\"man\",\"human\"],char:\"👨‍⚖️\",fitzpatrick_scale:true,category:\"people\"},woman_superhero:{keywords:[\"woman\",\"female\",\"good\",\"heroine\",\"superpowers\"],char:\"🦸‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_superhero:{keywords:[\"man\",\"male\",\"good\",\"hero\",\"superpowers\"],char:\"🦸‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_supervillain:{keywords:[\"woman\",\"female\",\"evil\",\"bad\",\"criminal\",\"heroine\",\"superpowers\"],char:\"🦹‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_supervillain:{keywords:[\"man\",\"male\",\"evil\",\"bad\",\"criminal\",\"hero\",\"superpowers\"],char:\"🦹‍♂️\",fitzpatrick_scale:true,category:\"people\"},mrs_claus:{keywords:[\"woman\",\"female\",\"xmas\",\"mother christmas\"],char:\"🤶\",fitzpatrick_scale:true,category:\"people\"},santa:{keywords:[\"festival\",\"man\",\"male\",\"xmas\",\"father christmas\"],char:\"🎅\",fitzpatrick_scale:true,category:\"people\"},sorceress:{keywords:[\"woman\",\"female\",\"mage\",\"witch\"],char:\"🧙‍♀️\",fitzpatrick_scale:true,category:\"people\"},wizard:{keywords:[\"man\",\"male\",\"mage\",\"sorcerer\"],char:\"🧙‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_elf:{keywords:[\"woman\",\"female\"],char:\"🧝‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_elf:{keywords:[\"man\",\"male\"],char:\"🧝‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_vampire:{keywords:[\"woman\",\"female\"],char:\"🧛‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_vampire:{keywords:[\"man\",\"male\",\"dracula\"],char:\"🧛‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_zombie:{keywords:[\"woman\",\"female\",\"undead\",\"walking dead\"],char:\"🧟‍♀️\",fitzpatrick_scale:false,category:\"people\"},man_zombie:{keywords:[\"man\",\"male\",\"dracula\",\"undead\",\"walking dead\"],char:\"🧟‍♂️\",fitzpatrick_scale:false,category:\"people\"},woman_genie:{keywords:[\"woman\",\"female\"],char:\"🧞‍♀️\",fitzpatrick_scale:false,category:\"people\"},man_genie:{keywords:[\"man\",\"male\"],char:\"🧞‍♂️\",fitzpatrick_scale:false,category:\"people\"},mermaid:{keywords:[\"woman\",\"female\",\"merwoman\",\"ariel\"],char:\"🧜‍♀️\",fitzpatrick_scale:true,category:\"people\"},merman:{keywords:[\"man\",\"male\",\"triton\"],char:\"🧜‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_fairy:{keywords:[\"woman\",\"female\"],char:\"🧚‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_fairy:{keywords:[\"man\",\"male\"],char:\"🧚‍♂️\",fitzpatrick_scale:true,category:\"people\"},angel:{keywords:[\"heaven\",\"wings\",\"halo\"],char:\"👼\",fitzpatrick_scale:true,category:\"people\"},pregnant_woman:{keywords:[\"baby\"],char:\"🤰\",fitzpatrick_scale:true,category:\"people\"},breastfeeding:{keywords:[\"nursing\",\"baby\"],char:\"🤱\",fitzpatrick_scale:true,category:\"people\"},princess:{keywords:[\"girl\",\"woman\",\"female\",\"blond\",\"crown\",\"royal\",\"queen\"],char:\"👸\",fitzpatrick_scale:true,category:\"people\"},prince:{keywords:[\"boy\",\"man\",\"male\",\"crown\",\"royal\",\"king\"],char:\"🤴\",fitzpatrick_scale:true,category:\"people\"},bride_with_veil:{keywords:[\"couple\",\"marriage\",\"wedding\",\"woman\",\"bride\"],char:\"👰\",fitzpatrick_scale:true,category:\"people\"},man_in_tuxedo:{keywords:[\"couple\",\"marriage\",\"wedding\",\"groom\"],char:\"🤵\",fitzpatrick_scale:true,category:\"people\"},running_woman:{keywords:[\"woman\",\"walking\",\"exercise\",\"race\",\"running\",\"female\"],char:\"🏃‍♀️\",fitzpatrick_scale:true,category:\"people\"},running_man:{keywords:[\"man\",\"walking\",\"exercise\",\"race\",\"running\"],char:\"🏃\",fitzpatrick_scale:true,category:\"people\"},walking_woman:{keywords:[\"human\",\"feet\",\"steps\",\"woman\",\"female\"],char:\"🚶‍♀️\",fitzpatrick_scale:true,category:\"people\"},walking_man:{keywords:[\"human\",\"feet\",\"steps\"],char:\"🚶\",fitzpatrick_scale:true,category:\"people\"},dancer:{keywords:[\"female\",\"girl\",\"woman\",\"fun\"],char:\"💃\",fitzpatrick_scale:true,category:\"people\"},man_dancing:{keywords:[\"male\",\"boy\",\"fun\",\"dancer\"],char:\"🕺\",fitzpatrick_scale:true,category:\"people\"},dancing_women:{keywords:[\"female\",\"bunny\",\"women\",\"girls\"],char:\"👯\",fitzpatrick_scale:false,category:\"people\"},dancing_men:{keywords:[\"male\",\"bunny\",\"men\",\"boys\"],char:\"👯‍♂️\",fitzpatrick_scale:false,category:\"people\"},couple:{keywords:[\"pair\",\"people\",\"human\",\"love\",\"date\",\"dating\",\"like\",\"affection\",\"valentines\",\"marriage\"],char:\"👫\",fitzpatrick_scale:false,category:\"people\"},two_men_holding_hands:{keywords:[\"pair\",\"couple\",\"love\",\"like\",\"bromance\",\"friendship\",\"people\",\"human\"],char:\"👬\",fitzpatrick_scale:false,category:\"people\"},two_women_holding_hands:{keywords:[\"pair\",\"friendship\",\"couple\",\"love\",\"like\",\"female\",\"people\",\"human\"],char:\"👭\",fitzpatrick_scale:false,category:\"people\"},bowing_woman:{keywords:[\"woman\",\"female\",\"girl\"],char:\"🙇‍♀️\",fitzpatrick_scale:true,category:\"people\"},bowing_man:{keywords:[\"man\",\"male\",\"boy\"],char:\"🙇\",fitzpatrick_scale:true,category:\"people\"},man_facepalming:{keywords:[\"man\",\"male\",\"boy\",\"disbelief\"],char:\"🤦‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_facepalming:{keywords:[\"woman\",\"female\",\"girl\",\"disbelief\"],char:\"🤦‍♀️\",fitzpatrick_scale:true,category:\"people\"},woman_shrugging:{keywords:[\"woman\",\"female\",\"girl\",\"confused\",\"indifferent\",\"doubt\"],char:\"🤷\",fitzpatrick_scale:true,category:\"people\"},man_shrugging:{keywords:[\"man\",\"male\",\"boy\",\"confused\",\"indifferent\",\"doubt\"],char:\"🤷‍♂️\",fitzpatrick_scale:true,category:\"people\"},tipping_hand_woman:{keywords:[\"female\",\"girl\",\"woman\",\"human\",\"information\"],char:\"💁\",fitzpatrick_scale:true,category:\"people\"},tipping_hand_man:{keywords:[\"male\",\"boy\",\"man\",\"human\",\"information\"],char:\"💁‍♂️\",fitzpatrick_scale:true,category:\"people\"},no_good_woman:{keywords:[\"female\",\"girl\",\"woman\",\"nope\"],char:\"🙅\",fitzpatrick_scale:true,category:\"people\"},no_good_man:{keywords:[\"male\",\"boy\",\"man\",\"nope\"],char:\"🙅‍♂️\",fitzpatrick_scale:true,category:\"people\"},ok_woman:{keywords:[\"women\",\"girl\",\"female\",\"pink\",\"human\",\"woman\"],char:\"🙆\",fitzpatrick_scale:true,category:\"people\"},ok_man:{keywords:[\"men\",\"boy\",\"male\",\"blue\",\"human\",\"man\"],char:\"🙆‍♂️\",fitzpatrick_scale:true,category:\"people\"},raising_hand_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:\"🙋\",fitzpatrick_scale:true,category:\"people\"},raising_hand_man:{keywords:[\"male\",\"boy\",\"man\"],char:\"🙋‍♂️\",fitzpatrick_scale:true,category:\"people\"},pouting_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:\"🙎\",fitzpatrick_scale:true,category:\"people\"},pouting_man:{keywords:[\"male\",\"boy\",\"man\"],char:\"🙎‍♂️\",fitzpatrick_scale:true,category:\"people\"},frowning_woman:{keywords:[\"female\",\"girl\",\"woman\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:\"🙍\",fitzpatrick_scale:true,category:\"people\"},frowning_man:{keywords:[\"male\",\"boy\",\"man\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:\"🙍‍♂️\",fitzpatrick_scale:true,category:\"people\"},haircut_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:\"💇\",fitzpatrick_scale:true,category:\"people\"},haircut_man:{keywords:[\"male\",\"boy\",\"man\"],char:\"💇‍♂️\",fitzpatrick_scale:true,category:\"people\"},massage_woman:{keywords:[\"female\",\"girl\",\"woman\",\"head\"],char:\"💆\",fitzpatrick_scale:true,category:\"people\"},massage_man:{keywords:[\"male\",\"boy\",\"man\",\"head\"],char:\"💆‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_in_steamy_room:{keywords:[\"female\",\"woman\",\"spa\",\"steamroom\",\"sauna\"],char:\"🧖‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_in_steamy_room:{keywords:[\"male\",\"man\",\"spa\",\"steamroom\",\"sauna\"],char:\"🧖‍♂️\",fitzpatrick_scale:true,category:\"people\"},couple_with_heart_woman_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:\"💑\",fitzpatrick_scale:false,category:\"people\"},couple_with_heart_woman_woman:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:\"👩‍❤️‍👩\",fitzpatrick_scale:false,category:\"people\"},couple_with_heart_man_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:\"👨‍❤️‍👨\",fitzpatrick_scale:false,category:\"people\"},couplekiss_man_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:\"💏\",fitzpatrick_scale:false,category:\"people\"},couplekiss_woman_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:\"👩‍❤️‍💋‍👩\",fitzpatrick_scale:false,category:\"people\"},couplekiss_man_man:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:\"👨‍❤️‍💋‍👨\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy:{keywords:[\"home\",\"parents\",\"child\",\"mom\",\"dad\",\"father\",\"mother\",\"people\",\"human\"],char:\"👪\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"child\"],char:\"👨‍👩‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👩‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👩‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👩‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_man_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_man_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_man_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👩‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👩‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👩‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👩‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👩‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👨‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👨‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👨‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👨‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👨‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},yarn:{keywords:[\"ball\",\"crochet\",\"knit\"],char:\"🧶\",fitzpatrick_scale:false,category:\"people\"},thread:{keywords:[\"needle\",\"sewing\",\"spool\",\"string\"],char:\"🧵\",fitzpatrick_scale:false,category:\"people\"},coat:{keywords:[\"jacket\"],char:\"🧥\",fitzpatrick_scale:false,category:\"people\"},labcoat:{keywords:[\"doctor\",\"experiment\",\"scientist\",\"chemist\"],char:\"🥼\",fitzpatrick_scale:false,category:\"people\"},womans_clothes:{keywords:[\"fashion\",\"shopping_bags\",\"female\"],char:\"👚\",fitzpatrick_scale:false,category:\"people\"},tshirt:{keywords:[\"fashion\",\"cloth\",\"casual\",\"shirt\",\"tee\"],char:\"👕\",fitzpatrick_scale:false,category:\"people\"},jeans:{keywords:[\"fashion\",\"shopping\"],char:\"👖\",fitzpatrick_scale:false,category:\"people\"},necktie:{keywords:[\"shirt\",\"suitup\",\"formal\",\"fashion\",\"cloth\",\"business\"],char:\"👔\",fitzpatrick_scale:false,category:\"people\"},dress:{keywords:[\"clothes\",\"fashion\",\"shopping\"],char:\"👗\",fitzpatrick_scale:false,category:\"people\"},bikini:{keywords:[\"swimming\",\"female\",\"woman\",\"girl\",\"fashion\",\"beach\",\"summer\"],char:\"👙\",fitzpatrick_scale:false,category:\"people\"},kimono:{keywords:[\"dress\",\"fashion\",\"women\",\"female\",\"japanese\"],char:\"👘\",fitzpatrick_scale:false,category:\"people\"},lipstick:{keywords:[\"female\",\"girl\",\"fashion\",\"woman\"],char:\"💄\",fitzpatrick_scale:false,category:\"people\"},kiss:{keywords:[\"face\",\"lips\",\"love\",\"like\",\"affection\",\"valentines\"],char:\"💋\",fitzpatrick_scale:false,category:\"people\"},footprints:{keywords:[\"feet\",\"tracking\",\"walking\",\"beach\"],char:\"👣\",fitzpatrick_scale:false,category:\"people\"},flat_shoe:{keywords:[\"ballet\",\"slip-on\",\"slipper\"],char:\"🥿\",fitzpatrick_scale:false,category:\"people\"},high_heel:{keywords:[\"fashion\",\"shoes\",\"female\",\"pumps\",\"stiletto\"],char:\"👠\",fitzpatrick_scale:false,category:\"people\"},sandal:{keywords:[\"shoes\",\"fashion\",\"flip flops\"],char:\"👡\",fitzpatrick_scale:false,category:\"people\"},boot:{keywords:[\"shoes\",\"fashion\"],char:\"👢\",fitzpatrick_scale:false,category:\"people\"},mans_shoe:{keywords:[\"fashion\",\"male\"],char:\"👞\",fitzpatrick_scale:false,category:\"people\"},athletic_shoe:{keywords:[\"shoes\",\"sports\",\"sneakers\"],char:\"👟\",fitzpatrick_scale:false,category:\"people\"},hiking_boot:{keywords:[\"backpacking\",\"camping\",\"hiking\"],char:\"🥾\",fitzpatrick_scale:false,category:\"people\"},socks:{keywords:[\"stockings\",\"clothes\"],char:\"🧦\",fitzpatrick_scale:false,category:\"people\"},gloves:{keywords:[\"hands\",\"winter\",\"clothes\"],char:\"🧤\",fitzpatrick_scale:false,category:\"people\"},scarf:{keywords:[\"neck\",\"winter\",\"clothes\"],char:\"🧣\",fitzpatrick_scale:false,category:\"people\"},womans_hat:{keywords:[\"fashion\",\"accessories\",\"female\",\"lady\",\"spring\"],char:\"👒\",fitzpatrick_scale:false,category:\"people\"},tophat:{keywords:[\"magic\",\"gentleman\",\"classy\",\"circus\"],char:\"🎩\",fitzpatrick_scale:false,category:\"people\"},billed_hat:{keywords:[\"cap\",\"baseball\"],char:\"🧢\",fitzpatrick_scale:false,category:\"people\"},rescue_worker_helmet:{keywords:[\"construction\",\"build\"],char:\"⛑\",fitzpatrick_scale:false,category:\"people\"},mortar_board:{keywords:[\"school\",\"college\",\"degree\",\"university\",\"graduation\",\"cap\",\"hat\",\"legal\",\"learn\",\"education\"],char:\"🎓\",fitzpatrick_scale:false,category:\"people\"},crown:{keywords:[\"king\",\"kod\",\"leader\",\"royalty\",\"lord\"],char:\"👑\",fitzpatrick_scale:false,category:\"people\"},school_satchel:{keywords:[\"student\",\"education\",\"bag\",\"backpack\"],char:\"🎒\",fitzpatrick_scale:false,category:\"people\"},luggage:{keywords:[\"packing\",\"travel\"],char:\"🧳\",fitzpatrick_scale:false,category:\"people\"},pouch:{keywords:[\"bag\",\"accessories\",\"shopping\"],char:\"👝\",fitzpatrick_scale:false,category:\"people\"},purse:{keywords:[\"fashion\",\"accessories\",\"money\",\"sales\",\"shopping\"],char:\"👛\",fitzpatrick_scale:false,category:\"people\"},handbag:{keywords:[\"fashion\",\"accessory\",\"accessories\",\"shopping\"],char:\"👜\",fitzpatrick_scale:false,category:\"people\"},briefcase:{keywords:[\"business\",\"documents\",\"work\",\"law\",\"legal\",\"job\",\"career\"],char:\"💼\",fitzpatrick_scale:false,category:\"people\"},eyeglasses:{keywords:[\"fashion\",\"accessories\",\"eyesight\",\"nerdy\",\"dork\",\"geek\"],char:\"👓\",fitzpatrick_scale:false,category:\"people\"},dark_sunglasses:{keywords:[\"face\",\"cool\",\"accessories\"],char:\"🕶\",fitzpatrick_scale:false,category:\"people\"},goggles:{keywords:[\"eyes\",\"protection\",\"safety\"],char:\"🥽\",fitzpatrick_scale:false,category:\"people\"},ring:{keywords:[\"wedding\",\"propose\",\"marriage\",\"valentines\",\"diamond\",\"fashion\",\"jewelry\",\"gem\",\"engagement\"],char:\"💍\",fitzpatrick_scale:false,category:\"people\"},closed_umbrella:{keywords:[\"weather\",\"rain\",\"drizzle\"],char:\"🌂\",fitzpatrick_scale:false,category:\"people\"},dog:{keywords:[\"animal\",\"friend\",\"nature\",\"woof\",\"puppy\",\"pet\",\"faithful\"],char:\"🐶\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cat:{keywords:[\"animal\",\"meow\",\"nature\",\"pet\",\"kitten\"],char:\"🐱\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse:{keywords:[\"animal\",\"nature\",\"cheese_wedge\",\"rodent\"],char:\"🐭\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hamster:{keywords:[\"animal\",\"nature\"],char:\"🐹\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit:{keywords:[\"animal\",\"nature\",\"pet\",\"spring\",\"magic\",\"bunny\"],char:\"🐰\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fox_face:{keywords:[\"animal\",\"nature\",\"face\"],char:\"🦊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bear:{keywords:[\"animal\",\"nature\",\"wild\"],char:\"🐻\",fitzpatrick_scale:false,category:\"animals_and_nature\"},panda_face:{keywords:[\"animal\",\"nature\",\"panda\"],char:\"🐼\",fitzpatrick_scale:false,category:\"animals_and_nature\"},koala:{keywords:[\"animal\",\"nature\"],char:\"🐨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger:{keywords:[\"animal\",\"cat\",\"danger\",\"wild\",\"nature\",\"roar\"],char:\"🐯\",fitzpatrick_scale:false,category:\"animals_and_nature\"},lion:{keywords:[\"animal\",\"nature\"],char:\"🦁\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cow:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:\"🐮\",fitzpatrick_scale:false,category:\"animals_and_nature\"},pig:{keywords:[\"animal\",\"oink\",\"nature\"],char:\"🐷\",fitzpatrick_scale:false,category:\"animals_and_nature\"},pig_nose:{keywords:[\"animal\",\"oink\"],char:\"🐽\",fitzpatrick_scale:false,category:\"animals_and_nature\"},frog:{keywords:[\"animal\",\"nature\",\"croak\",\"toad\"],char:\"🐸\",fitzpatrick_scale:false,category:\"animals_and_nature\"},squid:{keywords:[\"animal\",\"nature\",\"ocean\",\"sea\"],char:\"🦑\",fitzpatrick_scale:false,category:\"animals_and_nature\"},octopus:{keywords:[\"animal\",\"creature\",\"ocean\",\"sea\",\"nature\",\"beach\"],char:\"🐙\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shrimp:{keywords:[\"animal\",\"ocean\",\"nature\",\"seafood\"],char:\"🦐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey_face:{keywords:[\"animal\",\"nature\",\"circus\"],char:\"🐵\",fitzpatrick_scale:false,category:\"animals_and_nature\"},gorilla:{keywords:[\"animal\",\"nature\",\"circus\"],char:\"🦍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},see_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"haha\"],char:\"🙈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hear_no_evil:{keywords:[\"animal\",\"monkey\",\"nature\"],char:\"🙉\",fitzpatrick_scale:false,category:\"animals_and_nature\"},speak_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"omg\"],char:\"🙊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey:{keywords:[\"animal\",\"nature\",\"banana\",\"circus\"],char:\"🐒\",fitzpatrick_scale:false,category:\"animals_and_nature\"},chicken:{keywords:[\"animal\",\"cluck\",\"nature\",\"bird\"],char:\"🐔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},penguin:{keywords:[\"animal\",\"nature\"],char:\"🐧\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bird:{keywords:[\"animal\",\"nature\",\"fly\",\"tweet\",\"spring\"],char:\"🐦\",fitzpatrick_scale:false,category:\"animals_and_nature\"},baby_chick:{keywords:[\"animal\",\"chicken\",\"bird\"],char:\"🐤\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hatching_chick:{keywords:[\"animal\",\"chicken\",\"egg\",\"born\",\"baby\",\"bird\"],char:\"🐣\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hatched_chick:{keywords:[\"animal\",\"chicken\",\"baby\",\"bird\"],char:\"🐥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},duck:{keywords:[\"animal\",\"nature\",\"bird\",\"mallard\"],char:\"🦆\",fitzpatrick_scale:false,category:\"animals_and_nature\"},eagle:{keywords:[\"animal\",\"nature\",\"bird\"],char:\"🦅\",fitzpatrick_scale:false,category:\"animals_and_nature\"},owl:{keywords:[\"animal\",\"nature\",\"bird\",\"hoot\"],char:\"🦉\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bat:{keywords:[\"animal\",\"nature\",\"blind\",\"vampire\"],char:\"🦇\",fitzpatrick_scale:false,category:\"animals_and_nature\"},wolf:{keywords:[\"animal\",\"nature\",\"wild\"],char:\"🐺\",fitzpatrick_scale:false,category:\"animals_and_nature\"},boar:{keywords:[\"animal\",\"nature\"],char:\"🐗\",fitzpatrick_scale:false,category:\"animals_and_nature\"},horse:{keywords:[\"animal\",\"brown\",\"nature\"],char:\"🐴\",fitzpatrick_scale:false,category:\"animals_and_nature\"},unicorn:{keywords:[\"animal\",\"nature\",\"mystical\"],char:\"🦄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},honeybee:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\",\"spring\",\"honey\"],char:\"🐝\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bug:{keywords:[\"animal\",\"insect\",\"nature\",\"worm\"],char:\"🐛\",fitzpatrick_scale:false,category:\"animals_and_nature\"},butterfly:{keywords:[\"animal\",\"insect\",\"nature\",\"caterpillar\"],char:\"🦋\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snail:{keywords:[\"slow\",\"animal\",\"shell\"],char:\"🐌\",fitzpatrick_scale:false,category:\"animals_and_nature\"},beetle:{keywords:[\"animal\",\"insect\",\"nature\",\"ladybug\"],char:\"🐞\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ant:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\"],char:\"🐜\",fitzpatrick_scale:false,category:\"animals_and_nature\"},grasshopper:{keywords:[\"animal\",\"cricket\",\"chirp\"],char:\"🦗\",fitzpatrick_scale:false,category:\"animals_and_nature\"},spider:{keywords:[\"animal\",\"arachnid\"],char:\"🕷\",fitzpatrick_scale:false,category:\"animals_and_nature\"},scorpion:{keywords:[\"animal\",\"arachnid\"],char:\"🦂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},crab:{keywords:[\"animal\",\"crustacean\"],char:\"🦀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snake:{keywords:[\"animal\",\"evil\",\"nature\",\"hiss\",\"python\"],char:\"🐍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},lizard:{keywords:[\"animal\",\"nature\",\"reptile\"],char:\"🦎\",fitzpatrick_scale:false,category:\"animals_and_nature\"},\"t-rex\":{keywords:[\"animal\",\"nature\",\"dinosaur\",\"tyrannosaurus\",\"extinct\"],char:\"🦖\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sauropod:{keywords:[\"animal\",\"nature\",\"dinosaur\",\"brachiosaurus\",\"brontosaurus\",\"diplodocus\",\"extinct\"],char:\"🦕\",fitzpatrick_scale:false,category:\"animals_and_nature\"},turtle:{keywords:[\"animal\",\"slow\",\"nature\",\"tortoise\"],char:\"🐢\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tropical_fish:{keywords:[\"animal\",\"swim\",\"ocean\",\"beach\",\"nemo\"],char:\"🐠\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fish:{keywords:[\"animal\",\"food\",\"nature\"],char:\"🐟\",fitzpatrick_scale:false,category:\"animals_and_nature\"},blowfish:{keywords:[\"animal\",\"nature\",\"food\",\"sea\",\"ocean\"],char:\"🐡\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dolphin:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"flipper\",\"fins\",\"beach\"],char:\"🐬\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shark:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"jaws\",\"fins\",\"beach\"],char:\"🦈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},whale:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:\"🐳\",fitzpatrick_scale:false,category:\"animals_and_nature\"},whale2:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:\"🐋\",fitzpatrick_scale:false,category:\"animals_and_nature\"},crocodile:{keywords:[\"animal\",\"nature\",\"reptile\",\"lizard\",\"alligator\"],char:\"🐊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},leopard:{keywords:[\"animal\",\"nature\"],char:\"🐆\",fitzpatrick_scale:false,category:\"animals_and_nature\"},zebra:{keywords:[\"animal\",\"nature\",\"stripes\",\"safari\"],char:\"🦓\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger2:{keywords:[\"animal\",\"nature\",\"roar\"],char:\"🐅\",fitzpatrick_scale:false,category:\"animals_and_nature\"},water_buffalo:{keywords:[\"animal\",\"nature\",\"ox\",\"cow\"],char:\"🐃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ox:{keywords:[\"animal\",\"cow\",\"beef\"],char:\"🐂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cow2:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:\"🐄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},deer:{keywords:[\"animal\",\"nature\",\"horns\",\"venison\"],char:\"🦌\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dromedary_camel:{keywords:[\"animal\",\"hot\",\"desert\",\"hump\"],char:\"🐪\",fitzpatrick_scale:false,category:\"animals_and_nature\"},camel:{keywords:[\"animal\",\"nature\",\"hot\",\"desert\",\"hump\"],char:\"🐫\",fitzpatrick_scale:false,category:\"animals_and_nature\"},giraffe:{keywords:[\"animal\",\"nature\",\"spots\",\"safari\"],char:\"🦒\",fitzpatrick_scale:false,category:\"animals_and_nature\"},elephant:{keywords:[\"animal\",\"nature\",\"nose\",\"th\",\"circus\"],char:\"🐘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rhinoceros:{keywords:[\"animal\",\"nature\",\"horn\"],char:\"🦏\",fitzpatrick_scale:false,category:\"animals_and_nature\"},goat:{keywords:[\"animal\",\"nature\"],char:\"🐐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ram:{keywords:[\"animal\",\"sheep\",\"nature\"],char:\"🐏\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sheep:{keywords:[\"animal\",\"nature\",\"wool\",\"shipit\"],char:\"🐑\",fitzpatrick_scale:false,category:\"animals_and_nature\"},racehorse:{keywords:[\"animal\",\"gamble\",\"luck\"],char:\"🐎\",fitzpatrick_scale:false,category:\"animals_and_nature\"},pig2:{keywords:[\"animal\",\"nature\"],char:\"🐖\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rat:{keywords:[\"animal\",\"mouse\",\"rodent\"],char:\"🐀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse2:{keywords:[\"animal\",\"nature\",\"rodent\"],char:\"🐁\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rooster:{keywords:[\"animal\",\"nature\",\"chicken\"],char:\"🐓\",fitzpatrick_scale:false,category:\"animals_and_nature\"},turkey:{keywords:[\"animal\",\"bird\"],char:\"🦃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dove:{keywords:[\"animal\",\"bird\"],char:\"🕊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dog2:{keywords:[\"animal\",\"nature\",\"friend\",\"doge\",\"pet\",\"faithful\"],char:\"🐕\",fitzpatrick_scale:false,category:\"animals_and_nature\"},poodle:{keywords:[\"dog\",\"animal\",\"101\",\"nature\",\"pet\"],char:\"🐩\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cat2:{keywords:[\"animal\",\"meow\",\"pet\",\"cats\"],char:\"🐈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit2:{keywords:[\"animal\",\"nature\",\"pet\",\"magic\",\"spring\"],char:\"🐇\",fitzpatrick_scale:false,category:\"animals_and_nature\"},chipmunk:{keywords:[\"animal\",\"nature\",\"rodent\",\"squirrel\"],char:\"🐿\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hedgehog:{keywords:[\"animal\",\"nature\",\"spiny\"],char:\"🦔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},raccoon:{keywords:[\"animal\",\"nature\"],char:\"🦝\",fitzpatrick_scale:false,category:\"animals_and_nature\"},llama:{keywords:[\"animal\",\"nature\",\"alpaca\"],char:\"🦙\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hippopotamus:{keywords:[\"animal\",\"nature\"],char:\"🦛\",fitzpatrick_scale:false,category:\"animals_and_nature\"},kangaroo:{keywords:[\"animal\",\"nature\",\"australia\",\"joey\",\"hop\",\"marsupial\"],char:\"🦘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},badger:{keywords:[\"animal\",\"nature\",\"honey\"],char:\"🦡\",fitzpatrick_scale:false,category:\"animals_and_nature\"},swan:{keywords:[\"animal\",\"nature\",\"bird\"],char:\"🦢\",fitzpatrick_scale:false,category:\"animals_and_nature\"},peacock:{keywords:[\"animal\",\"nature\",\"peahen\",\"bird\"],char:\"🦚\",fitzpatrick_scale:false,category:\"animals_and_nature\"},parrot:{keywords:[\"animal\",\"nature\",\"bird\",\"pirate\",\"talk\"],char:\"🦜\",fitzpatrick_scale:false,category:\"animals_and_nature\"},lobster:{keywords:[\"animal\",\"nature\",\"bisque\",\"claws\",\"seafood\"],char:\"🦞\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mosquito:{keywords:[\"animal\",\"nature\",\"insect\",\"malaria\"],char:\"🦟\",fitzpatrick_scale:false,category:\"animals_and_nature\"},paw_prints:{keywords:[\"animal\",\"tracking\",\"footprints\",\"dog\",\"cat\",\"pet\",\"feet\"],char:\"🐾\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:\"🐉\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon_face:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:\"🐲\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cactus:{keywords:[\"vegetable\",\"plant\",\"nature\"],char:\"🌵\",fitzpatrick_scale:false,category:\"animals_and_nature\"},christmas_tree:{keywords:[\"festival\",\"vacation\",\"december\",\"xmas\",\"celebration\"],char:\"🎄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},evergreen_tree:{keywords:[\"plant\",\"nature\"],char:\"🌲\",fitzpatrick_scale:false,category:\"animals_and_nature\"},deciduous_tree:{keywords:[\"plant\",\"nature\"],char:\"🌳\",fitzpatrick_scale:false,category:\"animals_and_nature\"},palm_tree:{keywords:[\"plant\",\"vegetable\",\"nature\",\"summer\",\"beach\",\"mojito\",\"tropical\"],char:\"🌴\",fitzpatrick_scale:false,category:\"animals_and_nature\"},seedling:{keywords:[\"plant\",\"nature\",\"grass\",\"lawn\",\"spring\"],char:\"🌱\",fitzpatrick_scale:false,category:\"animals_and_nature\"},herb:{keywords:[\"vegetable\",\"plant\",\"medicine\",\"weed\",\"grass\",\"lawn\"],char:\"🌿\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shamrock:{keywords:[\"vegetable\",\"plant\",\"nature\",\"irish\",\"clover\"],char:\"☘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},four_leaf_clover:{keywords:[\"vegetable\",\"plant\",\"nature\",\"lucky\",\"irish\"],char:\"🍀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bamboo:{keywords:[\"plant\",\"nature\",\"vegetable\",\"panda\",\"pine_decoration\"],char:\"🎍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tanabata_tree:{keywords:[\"plant\",\"nature\",\"branch\",\"summer\"],char:\"🎋\",fitzpatrick_scale:false,category:\"animals_and_nature\"},leaves:{keywords:[\"nature\",\"plant\",\"tree\",\"vegetable\",\"grass\",\"lawn\",\"spring\"],char:\"🍃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fallen_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"leaves\"],char:\"🍂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},maple_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"ca\",\"fall\"],char:\"🍁\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ear_of_rice:{keywords:[\"nature\",\"plant\"],char:\"🌾\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hibiscus:{keywords:[\"plant\",\"vegetable\",\"flowers\",\"beach\"],char:\"🌺\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sunflower:{keywords:[\"nature\",\"plant\",\"fall\"],char:\"🌻\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rose:{keywords:[\"flowers\",\"valentines\",\"love\",\"spring\"],char:\"🌹\",fitzpatrick_scale:false,category:\"animals_and_nature\"},wilted_flower:{keywords:[\"plant\",\"nature\",\"flower\"],char:\"🥀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tulip:{keywords:[\"flowers\",\"plant\",\"nature\",\"summer\",\"spring\"],char:\"🌷\",fitzpatrick_scale:false,category:\"animals_and_nature\"},blossom:{keywords:[\"nature\",\"flowers\",\"yellow\"],char:\"🌼\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cherry_blossom:{keywords:[\"nature\",\"plant\",\"spring\",\"flower\"],char:\"🌸\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bouquet:{keywords:[\"flowers\",\"nature\",\"spring\"],char:\"💐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mushroom:{keywords:[\"plant\",\"vegetable\"],char:\"🍄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},chestnut:{keywords:[\"food\",\"squirrel\"],char:\"🌰\",fitzpatrick_scale:false,category:\"animals_and_nature\"},jack_o_lantern:{keywords:[\"halloween\",\"light\",\"pumpkin\",\"creepy\",\"fall\"],char:\"🎃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shell:{keywords:[\"nature\",\"sea\",\"beach\"],char:\"🐚\",fitzpatrick_scale:false,category:\"animals_and_nature\"},spider_web:{keywords:[\"animal\",\"insect\",\"arachnid\",\"silk\"],char:\"🕸\",fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_americas:{keywords:[\"globe\",\"world\",\"USA\",\"international\"],char:\"🌎\",fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_africa:{keywords:[\"globe\",\"world\",\"international\"],char:\"🌍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_asia:{keywords:[\"globe\",\"world\",\"east\",\"international\"],char:\"🌏\",fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon:{keywords:[\"nature\",\"yellow\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌕\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_gibbous_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\",\"waxing_gibbous_moon\"],char:\"🌖\",fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌗\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌑\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌒\",fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌓\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_gibbous_moon:{keywords:[\"nature\",\"night\",\"sky\",\"gray\",\"twilight\",\"planet\",\"space\",\"evening\",\"sleep\"],char:\"🌔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌚\",fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌝\",fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌛\",fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌜\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_with_face:{keywords:[\"nature\",\"morning\",\"sky\"],char:\"🌞\",fitzpatrick_scale:false,category:\"animals_and_nature\"},crescent_moon:{keywords:[\"night\",\"sleep\",\"sky\",\"evening\",\"magic\"],char:\"🌙\",fitzpatrick_scale:false,category:\"animals_and_nature\"},star:{keywords:[\"night\",\"yellow\"],char:\"⭐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},star2:{keywords:[\"night\",\"sparkle\",\"awesome\",\"good\",\"magic\"],char:\"🌟\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dizzy:{keywords:[\"star\",\"sparkle\",\"shoot\",\"magic\"],char:\"💫\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sparkles:{keywords:[\"stars\",\"shine\",\"shiny\",\"cool\",\"awesome\",\"good\",\"magic\"],char:\"✨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},comet:{keywords:[\"space\"],char:\"☄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sunny:{keywords:[\"weather\",\"nature\",\"brightness\",\"summer\",\"beach\",\"spring\"],char:\"☀️\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_small_cloud:{keywords:[\"weather\"],char:\"🌤\",fitzpatrick_scale:false,category:\"animals_and_nature\"},partly_sunny:{keywords:[\"weather\",\"nature\",\"cloudy\",\"morning\",\"fall\",\"spring\"],char:\"⛅\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_large_cloud:{keywords:[\"weather\"],char:\"🌥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_rain_cloud:{keywords:[\"weather\"],char:\"🌦\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud:{keywords:[\"weather\",\"sky\"],char:\"☁️\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_rain:{keywords:[\"weather\"],char:\"🌧\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning_and_rain:{keywords:[\"weather\",\"lightning\"],char:\"⛈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning:{keywords:[\"weather\",\"thunder\"],char:\"🌩\",fitzpatrick_scale:false,category:\"animals_and_nature\"},zap:{keywords:[\"thunder\",\"weather\",\"lightning bolt\",\"fast\"],char:\"⚡\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fire:{keywords:[\"hot\",\"cook\",\"flame\"],char:\"🔥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},boom:{keywords:[\"bomb\",\"explode\",\"explosion\",\"collision\",\"blown\"],char:\"💥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snowflake:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\"],char:\"❄️\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_snow:{keywords:[\"weather\"],char:\"🌨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\",\"without_snow\"],char:\"⛄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman_with_snow:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\"],char:\"☃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},wind_face:{keywords:[\"gust\",\"air\"],char:\"🌬\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dash:{keywords:[\"wind\",\"air\",\"fast\",\"shoo\",\"fart\",\"smoke\",\"puff\"],char:\"💨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tornado:{keywords:[\"weather\",\"cyclone\",\"twister\"],char:\"🌪\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fog:{keywords:[\"weather\"],char:\"🌫\",fitzpatrick_scale:false,category:\"animals_and_nature\"},open_umbrella:{keywords:[\"weather\",\"spring\"],char:\"☂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},umbrella:{keywords:[\"rainy\",\"weather\",\"spring\"],char:\"☔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},droplet:{keywords:[\"water\",\"drip\",\"faucet\",\"spring\"],char:\"💧\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sweat_drops:{keywords:[\"water\",\"drip\",\"oops\"],char:\"💦\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ocean:{keywords:[\"sea\",\"water\",\"wave\",\"nature\",\"tsunami\",\"disaster\"],char:\"🌊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},green_apple:{keywords:[\"fruit\",\"nature\"],char:\"🍏\",fitzpatrick_scale:false,category:\"food_and_drink\"},apple:{keywords:[\"fruit\",\"mac\",\"school\"],char:\"🍎\",fitzpatrick_scale:false,category:\"food_and_drink\"},pear:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍐\",fitzpatrick_scale:false,category:\"food_and_drink\"},tangerine:{keywords:[\"food\",\"fruit\",\"nature\",\"orange\"],char:\"🍊\",fitzpatrick_scale:false,category:\"food_and_drink\"},lemon:{keywords:[\"fruit\",\"nature\"],char:\"🍋\",fitzpatrick_scale:false,category:\"food_and_drink\"},banana:{keywords:[\"fruit\",\"food\",\"monkey\"],char:\"🍌\",fitzpatrick_scale:false,category:\"food_and_drink\"},watermelon:{keywords:[\"fruit\",\"food\",\"picnic\",\"summer\"],char:\"🍉\",fitzpatrick_scale:false,category:\"food_and_drink\"},grapes:{keywords:[\"fruit\",\"food\",\"wine\"],char:\"🍇\",fitzpatrick_scale:false,category:\"food_and_drink\"},strawberry:{keywords:[\"fruit\",\"food\",\"nature\"],char:\"🍓\",fitzpatrick_scale:false,category:\"food_and_drink\"},melon:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍈\",fitzpatrick_scale:false,category:\"food_and_drink\"},cherries:{keywords:[\"food\",\"fruit\"],char:\"🍒\",fitzpatrick_scale:false,category:\"food_and_drink\"},peach:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍑\",fitzpatrick_scale:false,category:\"food_and_drink\"},pineapple:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍍\",fitzpatrick_scale:false,category:\"food_and_drink\"},coconut:{keywords:[\"fruit\",\"nature\",\"food\",\"palm\"],char:\"🥥\",fitzpatrick_scale:false,category:\"food_and_drink\"},kiwi_fruit:{keywords:[\"fruit\",\"food\"],char:\"🥝\",fitzpatrick_scale:false,category:\"food_and_drink\"},mango:{keywords:[\"fruit\",\"food\",\"tropical\"],char:\"🥭\",fitzpatrick_scale:false,category:\"food_and_drink\"},avocado:{keywords:[\"fruit\",\"food\"],char:\"🥑\",fitzpatrick_scale:false,category:\"food_and_drink\"},broccoli:{keywords:[\"fruit\",\"food\",\"vegetable\"],char:\"🥦\",fitzpatrick_scale:false,category:\"food_and_drink\"},tomato:{keywords:[\"fruit\",\"vegetable\",\"nature\",\"food\"],char:\"🍅\",fitzpatrick_scale:false,category:\"food_and_drink\"},eggplant:{keywords:[\"vegetable\",\"nature\",\"food\",\"aubergine\"],char:\"🍆\",fitzpatrick_scale:false,category:\"food_and_drink\"},cucumber:{keywords:[\"fruit\",\"food\",\"pickle\"],char:\"🥒\",fitzpatrick_scale:false,category:\"food_and_drink\"},carrot:{keywords:[\"vegetable\",\"food\",\"orange\"],char:\"🥕\",fitzpatrick_scale:false,category:\"food_and_drink\"},hot_pepper:{keywords:[\"food\",\"spicy\",\"chilli\",\"chili\"],char:\"🌶\",fitzpatrick_scale:false,category:\"food_and_drink\"},potato:{keywords:[\"food\",\"tuber\",\"vegatable\",\"starch\"],char:\"🥔\",fitzpatrick_scale:false,category:\"food_and_drink\"},corn:{keywords:[\"food\",\"vegetable\",\"plant\"],char:\"🌽\",fitzpatrick_scale:false,category:\"food_and_drink\"},leafy_greens:{keywords:[\"food\",\"vegetable\",\"plant\",\"bok choy\",\"cabbage\",\"kale\",\"lettuce\"],char:\"🥬\",fitzpatrick_scale:false,category:\"food_and_drink\"},sweet_potato:{keywords:[\"food\",\"nature\"],char:\"🍠\",fitzpatrick_scale:false,category:\"food_and_drink\"},peanuts:{keywords:[\"food\",\"nut\"],char:\"🥜\",fitzpatrick_scale:false,category:\"food_and_drink\"},honey_pot:{keywords:[\"bees\",\"sweet\",\"kitchen\"],char:\"🍯\",fitzpatrick_scale:false,category:\"food_and_drink\"},croissant:{keywords:[\"food\",\"bread\",\"french\"],char:\"🥐\",fitzpatrick_scale:false,category:\"food_and_drink\"},bread:{keywords:[\"food\",\"wheat\",\"breakfast\",\"toast\"],char:\"🍞\",fitzpatrick_scale:false,category:\"food_and_drink\"},baguette_bread:{keywords:[\"food\",\"bread\",\"french\"],char:\"🥖\",fitzpatrick_scale:false,category:\"food_and_drink\"},bagel:{keywords:[\"food\",\"bread\",\"bakery\",\"schmear\"],char:\"🥯\",fitzpatrick_scale:false,category:\"food_and_drink\"},pretzel:{keywords:[\"food\",\"bread\",\"twisted\"],char:\"🥨\",fitzpatrick_scale:false,category:\"food_and_drink\"},cheese:{keywords:[\"food\",\"chadder\"],char:\"🧀\",fitzpatrick_scale:false,category:\"food_and_drink\"},egg:{keywords:[\"food\",\"chicken\",\"breakfast\"],char:\"🥚\",fitzpatrick_scale:false,category:\"food_and_drink\"},bacon:{keywords:[\"food\",\"breakfast\",\"pork\",\"pig\",\"meat\"],char:\"🥓\",fitzpatrick_scale:false,category:\"food_and_drink\"},steak:{keywords:[\"food\",\"cow\",\"meat\",\"cut\",\"chop\",\"lambchop\",\"porkchop\"],char:\"🥩\",fitzpatrick_scale:false,category:\"food_and_drink\"},pancakes:{keywords:[\"food\",\"breakfast\",\"flapjacks\",\"hotcakes\"],char:\"🥞\",fitzpatrick_scale:false,category:\"food_and_drink\"},poultry_leg:{keywords:[\"food\",\"meat\",\"drumstick\",\"bird\",\"chicken\",\"turkey\"],char:\"🍗\",fitzpatrick_scale:false,category:\"food_and_drink\"},meat_on_bone:{keywords:[\"good\",\"food\",\"drumstick\"],char:\"🍖\",fitzpatrick_scale:false,category:\"food_and_drink\"},bone:{keywords:[\"skeleton\"],char:\"🦴\",fitzpatrick_scale:false,category:\"food_and_drink\"},fried_shrimp:{keywords:[\"food\",\"animal\",\"appetizer\",\"summer\"],char:\"🍤\",fitzpatrick_scale:false,category:\"food_and_drink\"},fried_egg:{keywords:[\"food\",\"breakfast\",\"kitchen\",\"egg\"],char:\"🍳\",fitzpatrick_scale:false,category:\"food_and_drink\"},hamburger:{keywords:[\"meat\",\"fast food\",\"beef\",\"cheeseburger\",\"mcdonalds\",\"burger king\"],char:\"🍔\",fitzpatrick_scale:false,category:\"food_and_drink\"},fries:{keywords:[\"chips\",\"snack\",\"fast food\"],char:\"🍟\",fitzpatrick_scale:false,category:\"food_and_drink\"},stuffed_flatbread:{keywords:[\"food\",\"flatbread\",\"stuffed\",\"gyro\"],char:\"🥙\",fitzpatrick_scale:false,category:\"food_and_drink\"},hotdog:{keywords:[\"food\",\"frankfurter\"],char:\"🌭\",fitzpatrick_scale:false,category:\"food_and_drink\"},pizza:{keywords:[\"food\",\"party\"],char:\"🍕\",fitzpatrick_scale:false,category:\"food_and_drink\"},sandwich:{keywords:[\"food\",\"lunch\",\"bread\"],char:\"🥪\",fitzpatrick_scale:false,category:\"food_and_drink\"},canned_food:{keywords:[\"food\",\"soup\"],char:\"🥫\",fitzpatrick_scale:false,category:\"food_and_drink\"},spaghetti:{keywords:[\"food\",\"italian\",\"noodle\"],char:\"🍝\",fitzpatrick_scale:false,category:\"food_and_drink\"},taco:{keywords:[\"food\",\"mexican\"],char:\"🌮\",fitzpatrick_scale:false,category:\"food_and_drink\"},burrito:{keywords:[\"food\",\"mexican\"],char:\"🌯\",fitzpatrick_scale:false,category:\"food_and_drink\"},green_salad:{keywords:[\"food\",\"healthy\",\"lettuce\"],char:\"🥗\",fitzpatrick_scale:false,category:\"food_and_drink\"},shallow_pan_of_food:{keywords:[\"food\",\"cooking\",\"casserole\",\"paella\"],char:\"🥘\",fitzpatrick_scale:false,category:\"food_and_drink\"},ramen:{keywords:[\"food\",\"japanese\",\"noodle\",\"chopsticks\"],char:\"🍜\",fitzpatrick_scale:false,category:\"food_and_drink\"},stew:{keywords:[\"food\",\"meat\",\"soup\"],char:\"🍲\",fitzpatrick_scale:false,category:\"food_and_drink\"},fish_cake:{keywords:[\"food\",\"japan\",\"sea\",\"beach\",\"narutomaki\",\"pink\",\"swirl\",\"kamaboko\",\"surimi\",\"ramen\"],char:\"🍥\",fitzpatrick_scale:false,category:\"food_and_drink\"},fortune_cookie:{keywords:[\"food\",\"prophecy\"],char:\"🥠\",fitzpatrick_scale:false,category:\"food_and_drink\"},sushi:{keywords:[\"food\",\"fish\",\"japanese\",\"rice\"],char:\"🍣\",fitzpatrick_scale:false,category:\"food_and_drink\"},bento:{keywords:[\"food\",\"japanese\",\"box\"],char:\"🍱\",fitzpatrick_scale:false,category:\"food_and_drink\"},curry:{keywords:[\"food\",\"spicy\",\"hot\",\"indian\"],char:\"🍛\",fitzpatrick_scale:false,category:\"food_and_drink\"},rice_ball:{keywords:[\"food\",\"japanese\"],char:\"🍙\",fitzpatrick_scale:false,category:\"food_and_drink\"},rice:{keywords:[\"food\",\"china\",\"asian\"],char:\"🍚\",fitzpatrick_scale:false,category:\"food_and_drink\"},rice_cracker:{keywords:[\"food\",\"japanese\"],char:\"🍘\",fitzpatrick_scale:false,category:\"food_and_drink\"},oden:{keywords:[\"food\",\"japanese\"],char:\"🍢\",fitzpatrick_scale:false,category:\"food_and_drink\"},dango:{keywords:[\"food\",\"dessert\",\"sweet\",\"japanese\",\"barbecue\",\"meat\"],char:\"🍡\",fitzpatrick_scale:false,category:\"food_and_drink\"},shaved_ice:{keywords:[\"hot\",\"dessert\",\"summer\"],char:\"🍧\",fitzpatrick_scale:false,category:\"food_and_drink\"},ice_cream:{keywords:[\"food\",\"hot\",\"dessert\"],char:\"🍨\",fitzpatrick_scale:false,category:\"food_and_drink\"},icecream:{keywords:[\"food\",\"hot\",\"dessert\",\"summer\"],char:\"🍦\",fitzpatrick_scale:false,category:\"food_and_drink\"},pie:{keywords:[\"food\",\"dessert\",\"pastry\"],char:\"🥧\",fitzpatrick_scale:false,category:\"food_and_drink\"},cake:{keywords:[\"food\",\"dessert\"],char:\"🍰\",fitzpatrick_scale:false,category:\"food_and_drink\"},cupcake:{keywords:[\"food\",\"dessert\",\"bakery\",\"sweet\"],char:\"🧁\",fitzpatrick_scale:false,category:\"food_and_drink\"},moon_cake:{keywords:[\"food\",\"autumn\"],char:\"🥮\",fitzpatrick_scale:false,category:\"food_and_drink\"},birthday:{keywords:[\"food\",\"dessert\",\"cake\"],char:\"🎂\",fitzpatrick_scale:false,category:\"food_and_drink\"},custard:{keywords:[\"dessert\",\"food\"],char:\"🍮\",fitzpatrick_scale:false,category:\"food_and_drink\"},candy:{keywords:[\"snack\",\"dessert\",\"sweet\",\"lolly\"],char:\"🍬\",fitzpatrick_scale:false,category:\"food_and_drink\"},lollipop:{keywords:[\"food\",\"snack\",\"candy\",\"sweet\"],char:\"🍭\",fitzpatrick_scale:false,category:\"food_and_drink\"},chocolate_bar:{keywords:[\"food\",\"snack\",\"dessert\",\"sweet\"],char:\"🍫\",fitzpatrick_scale:false,category:\"food_and_drink\"},popcorn:{keywords:[\"food\",\"movie theater\",\"films\",\"snack\"],char:\"🍿\",fitzpatrick_scale:false,category:\"food_and_drink\"},dumpling:{keywords:[\"food\",\"empanada\",\"pierogi\",\"potsticker\"],char:\"🥟\",fitzpatrick_scale:false,category:\"food_and_drink\"},doughnut:{keywords:[\"food\",\"dessert\",\"snack\",\"sweet\",\"donut\"],char:\"🍩\",fitzpatrick_scale:false,category:\"food_and_drink\"},cookie:{keywords:[\"food\",\"snack\",\"oreo\",\"chocolate\",\"sweet\",\"dessert\"],char:\"🍪\",fitzpatrick_scale:false,category:\"food_and_drink\"},milk_glass:{keywords:[\"beverage\",\"drink\",\"cow\"],char:\"🥛\",fitzpatrick_scale:false,category:\"food_and_drink\"},beer:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:\"🍺\",fitzpatrick_scale:false,category:\"food_and_drink\"},beers:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:\"🍻\",fitzpatrick_scale:false,category:\"food_and_drink\"},clinking_glasses:{keywords:[\"beverage\",\"drink\",\"party\",\"alcohol\",\"celebrate\",\"cheers\",\"wine\",\"champagne\",\"toast\"],char:\"🥂\",fitzpatrick_scale:false,category:\"food_and_drink\"},wine_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"booze\"],char:\"🍷\",fitzpatrick_scale:false,category:\"food_and_drink\"},tumbler_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"liquor\",\"booze\",\"bourbon\",\"scotch\",\"whisky\",\"glass\",\"shot\"],char:\"🥃\",fitzpatrick_scale:false,category:\"food_and_drink\"},cocktail:{keywords:[\"drink\",\"drunk\",\"alcohol\",\"beverage\",\"booze\",\"mojito\"],char:\"🍸\",fitzpatrick_scale:false,category:\"food_and_drink\"},tropical_drink:{keywords:[\"beverage\",\"cocktail\",\"summer\",\"beach\",\"alcohol\",\"booze\",\"mojito\"],char:\"🍹\",fitzpatrick_scale:false,category:\"food_and_drink\"},champagne:{keywords:[\"drink\",\"wine\",\"bottle\",\"celebration\"],char:\"🍾\",fitzpatrick_scale:false,category:\"food_and_drink\"},sake:{keywords:[\"wine\",\"drink\",\"drunk\",\"beverage\",\"japanese\",\"alcohol\",\"booze\"],char:\"🍶\",fitzpatrick_scale:false,category:\"food_and_drink\"},tea:{keywords:[\"drink\",\"bowl\",\"breakfast\",\"green\",\"british\"],char:\"🍵\",fitzpatrick_scale:false,category:\"food_and_drink\"},cup_with_straw:{keywords:[\"drink\",\"soda\"],char:\"🥤\",fitzpatrick_scale:false,category:\"food_and_drink\"},coffee:{keywords:[\"beverage\",\"caffeine\",\"latte\",\"espresso\"],char:\"☕\",fitzpatrick_scale:false,category:\"food_and_drink\"},baby_bottle:{keywords:[\"food\",\"container\",\"milk\"],char:\"🍼\",fitzpatrick_scale:false,category:\"food_and_drink\"},salt:{keywords:[\"condiment\",\"shaker\"],char:\"🧂\",fitzpatrick_scale:false,category:\"food_and_drink\"},spoon:{keywords:[\"cutlery\",\"kitchen\",\"tableware\"],char:\"🥄\",fitzpatrick_scale:false,category:\"food_and_drink\"},fork_and_knife:{keywords:[\"cutlery\",\"kitchen\"],char:\"🍴\",fitzpatrick_scale:false,category:\"food_and_drink\"},plate_with_cutlery:{keywords:[\"food\",\"eat\",\"meal\",\"lunch\",\"dinner\",\"restaurant\"],char:\"🍽\",fitzpatrick_scale:false,category:\"food_and_drink\"},bowl_with_spoon:{keywords:[\"food\",\"breakfast\",\"cereal\",\"oatmeal\",\"porridge\"],char:\"🥣\",fitzpatrick_scale:false,category:\"food_and_drink\"},takeout_box:{keywords:[\"food\",\"leftovers\"],char:\"🥡\",fitzpatrick_scale:false,category:\"food_and_drink\"},chopsticks:{keywords:[\"food\"],char:\"🥢\",fitzpatrick_scale:false,category:\"food_and_drink\"},soccer:{keywords:[\"sports\",\"football\"],char:\"⚽\",fitzpatrick_scale:false,category:\"activity\"},basketball:{keywords:[\"sports\",\"balls\",\"NBA\"],char:\"🏀\",fitzpatrick_scale:false,category:\"activity\"},football:{keywords:[\"sports\",\"balls\",\"NFL\"],char:\"🏈\",fitzpatrick_scale:false,category:\"activity\"},baseball:{keywords:[\"sports\",\"balls\"],char:\"⚾\",fitzpatrick_scale:false,category:\"activity\"},softball:{keywords:[\"sports\",\"balls\"],char:\"🥎\",fitzpatrick_scale:false,category:\"activity\"},tennis:{keywords:[\"sports\",\"balls\",\"green\"],char:\"🎾\",fitzpatrick_scale:false,category:\"activity\"},volleyball:{keywords:[\"sports\",\"balls\"],char:\"🏐\",fitzpatrick_scale:false,category:\"activity\"},rugby_football:{keywords:[\"sports\",\"team\"],char:\"🏉\",fitzpatrick_scale:false,category:\"activity\"},flying_disc:{keywords:[\"sports\",\"frisbee\",\"ultimate\"],char:\"🥏\",fitzpatrick_scale:false,category:\"activity\"},\"8ball\":{keywords:[\"pool\",\"hobby\",\"game\",\"luck\",\"magic\"],char:\"🎱\",fitzpatrick_scale:false,category:\"activity\"},golf:{keywords:[\"sports\",\"business\",\"flag\",\"hole\",\"summer\"],char:\"⛳\",fitzpatrick_scale:false,category:\"activity\"},golfing_woman:{keywords:[\"sports\",\"business\",\"woman\",\"female\"],char:\"🏌️‍♀️\",fitzpatrick_scale:false,category:\"activity\"},golfing_man:{keywords:[\"sports\",\"business\"],char:\"🏌\",fitzpatrick_scale:true,category:\"activity\"},ping_pong:{keywords:[\"sports\",\"pingpong\"],char:\"🏓\",fitzpatrick_scale:false,category:\"activity\"},badminton:{keywords:[\"sports\"],char:\"🏸\",fitzpatrick_scale:false,category:\"activity\"},goal_net:{keywords:[\"sports\"],char:\"🥅\",fitzpatrick_scale:false,category:\"activity\"},ice_hockey:{keywords:[\"sports\"],char:\"🏒\",fitzpatrick_scale:false,category:\"activity\"},field_hockey:{keywords:[\"sports\"],char:\"🏑\",fitzpatrick_scale:false,category:\"activity\"},lacrosse:{keywords:[\"sports\",\"ball\",\"stick\"],char:\"🥍\",fitzpatrick_scale:false,category:\"activity\"},cricket:{keywords:[\"sports\"],char:\"🏏\",fitzpatrick_scale:false,category:\"activity\"},ski:{keywords:[\"sports\",\"winter\",\"cold\",\"snow\"],char:\"🎿\",fitzpatrick_scale:false,category:\"activity\"},skier:{keywords:[\"sports\",\"winter\",\"snow\"],char:\"⛷\",fitzpatrick_scale:false,category:\"activity\"},snowboarder:{keywords:[\"sports\",\"winter\"],char:\"🏂\",fitzpatrick_scale:true,category:\"activity\"},person_fencing:{keywords:[\"sports\",\"fencing\",\"sword\"],char:\"🤺\",fitzpatrick_scale:false,category:\"activity\"},women_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:\"🤼‍♀️\",fitzpatrick_scale:false,category:\"activity\"},men_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:\"🤼‍♂️\",fitzpatrick_scale:false,category:\"activity\"},woman_cartwheeling:{keywords:[\"gymnastics\"],char:\"🤸‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_cartwheeling:{keywords:[\"gymnastics\"],char:\"🤸‍♂️\",fitzpatrick_scale:true,category:\"activity\"},woman_playing_handball:{keywords:[\"sports\"],char:\"🤾‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_playing_handball:{keywords:[\"sports\"],char:\"🤾‍♂️\",fitzpatrick_scale:true,category:\"activity\"},ice_skate:{keywords:[\"sports\"],char:\"⛸\",fitzpatrick_scale:false,category:\"activity\"},curling_stone:{keywords:[\"sports\"],char:\"🥌\",fitzpatrick_scale:false,category:\"activity\"},skateboard:{keywords:[\"board\"],char:\"🛹\",fitzpatrick_scale:false,category:\"activity\"},sled:{keywords:[\"sleigh\",\"luge\",\"toboggan\"],char:\"🛷\",fitzpatrick_scale:false,category:\"activity\"},bow_and_arrow:{keywords:[\"sports\"],char:\"🏹\",fitzpatrick_scale:false,category:\"activity\"},fishing_pole_and_fish:{keywords:[\"food\",\"hobby\",\"summer\"],char:\"🎣\",fitzpatrick_scale:false,category:\"activity\"},boxing_glove:{keywords:[\"sports\",\"fighting\"],char:\"🥊\",fitzpatrick_scale:false,category:\"activity\"},martial_arts_uniform:{keywords:[\"judo\",\"karate\",\"taekwondo\"],char:\"🥋\",fitzpatrick_scale:false,category:\"activity\"},rowing_woman:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\",\"woman\",\"female\"],char:\"🚣‍♀️\",fitzpatrick_scale:true,category:\"activity\"},rowing_man:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\"],char:\"🚣\",fitzpatrick_scale:true,category:\"activity\"},climbing_woman:{keywords:[\"sports\",\"hobby\",\"woman\",\"female\",\"rock\"],char:\"🧗‍♀️\",fitzpatrick_scale:true,category:\"activity\"},climbing_man:{keywords:[\"sports\",\"hobby\",\"man\",\"male\",\"rock\"],char:\"🧗‍♂️\",fitzpatrick_scale:true,category:\"activity\"},swimming_woman:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\",\"woman\",\"female\"],char:\"🏊‍♀️\",fitzpatrick_scale:true,category:\"activity\"},swimming_man:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\"],char:\"🏊\",fitzpatrick_scale:true,category:\"activity\"},woman_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:\"🤽‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:\"🤽‍♂️\",fitzpatrick_scale:true,category:\"activity\"},woman_in_lotus_position:{keywords:[\"woman\",\"female\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:\"🧘‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_in_lotus_position:{keywords:[\"man\",\"male\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:\"🧘‍♂️\",fitzpatrick_scale:true,category:\"activity\"},surfing_woman:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\",\"woman\",\"female\"],char:\"🏄‍♀️\",fitzpatrick_scale:true,category:\"activity\"},surfing_man:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\"],char:\"🏄\",fitzpatrick_scale:true,category:\"activity\"},bath:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:\"🛀\",fitzpatrick_scale:true,category:\"activity\"},basketball_woman:{keywords:[\"sports\",\"human\",\"woman\",\"female\"],char:\"⛹️‍♀️\",fitzpatrick_scale:true,category:\"activity\"},basketball_man:{keywords:[\"sports\",\"human\"],char:\"⛹\",fitzpatrick_scale:true,category:\"activity\"},weight_lifting_woman:{keywords:[\"sports\",\"training\",\"exercise\",\"woman\",\"female\"],char:\"🏋️‍♀️\",fitzpatrick_scale:true,category:\"activity\"},weight_lifting_man:{keywords:[\"sports\",\"training\",\"exercise\"],char:\"🏋\",fitzpatrick_scale:true,category:\"activity\"},biking_woman:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\",\"woman\",\"female\"],char:\"🚴‍♀️\",fitzpatrick_scale:true,category:\"activity\"},biking_man:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\"],char:\"🚴\",fitzpatrick_scale:true,category:\"activity\"},mountain_biking_woman:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\",\"woman\",\"female\"],char:\"🚵‍♀️\",fitzpatrick_scale:true,category:\"activity\"},mountain_biking_man:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\"],char:\"🚵\",fitzpatrick_scale:true,category:\"activity\"},horse_racing:{keywords:[\"animal\",\"betting\",\"competition\",\"gambling\",\"luck\"],char:\"🏇\",fitzpatrick_scale:true,category:\"activity\"},business_suit_levitating:{keywords:[\"suit\",\"business\",\"levitate\",\"hover\",\"jump\"],char:\"🕴\",fitzpatrick_scale:true,category:\"activity\"},trophy:{keywords:[\"win\",\"award\",\"contest\",\"place\",\"ftw\",\"ceremony\"],char:\"🏆\",fitzpatrick_scale:false,category:\"activity\"},running_shirt_with_sash:{keywords:[\"play\",\"pageant\"],char:\"🎽\",fitzpatrick_scale:false,category:\"activity\"},medal_sports:{keywords:[\"award\",\"winning\"],char:\"🏅\",fitzpatrick_scale:false,category:\"activity\"},medal_military:{keywords:[\"award\",\"winning\",\"army\"],char:\"🎖\",fitzpatrick_scale:false,category:\"activity\"},\"1st_place_medal\":{keywords:[\"award\",\"winning\",\"first\"],char:\"🥇\",fitzpatrick_scale:false,category:\"activity\"},\"2nd_place_medal\":{keywords:[\"award\",\"second\"],char:\"🥈\",fitzpatrick_scale:false,category:\"activity\"},\"3rd_place_medal\":{keywords:[\"award\",\"third\"],char:\"🥉\",fitzpatrick_scale:false,category:\"activity\"},reminder_ribbon:{keywords:[\"sports\",\"cause\",\"support\",\"awareness\"],char:\"🎗\",fitzpatrick_scale:false,category:\"activity\"},rosette:{keywords:[\"flower\",\"decoration\",\"military\"],char:\"🏵\",fitzpatrick_scale:false,category:\"activity\"},ticket:{keywords:[\"event\",\"concert\",\"pass\"],char:\"🎫\",fitzpatrick_scale:false,category:\"activity\"},tickets:{keywords:[\"sports\",\"concert\",\"entrance\"],char:\"🎟\",fitzpatrick_scale:false,category:\"activity\"},performing_arts:{keywords:[\"acting\",\"theater\",\"drama\"],char:\"🎭\",fitzpatrick_scale:false,category:\"activity\"},art:{keywords:[\"design\",\"paint\",\"draw\",\"colors\"],char:\"🎨\",fitzpatrick_scale:false,category:\"activity\"},circus_tent:{keywords:[\"festival\",\"carnival\",\"party\"],char:\"🎪\",fitzpatrick_scale:false,category:\"activity\"},woman_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:\"🤹‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:\"🤹‍♂️\",fitzpatrick_scale:true,category:\"activity\"},microphone:{keywords:[\"sound\",\"music\",\"PA\",\"sing\",\"talkshow\"],char:\"🎤\",fitzpatrick_scale:false,category:\"activity\"},headphones:{keywords:[\"music\",\"score\",\"gadgets\"],char:\"🎧\",fitzpatrick_scale:false,category:\"activity\"},musical_score:{keywords:[\"treble\",\"clef\",\"compose\"],char:\"🎼\",fitzpatrick_scale:false,category:\"activity\"},musical_keyboard:{keywords:[\"piano\",\"instrument\",\"compose\"],char:\"🎹\",fitzpatrick_scale:false,category:\"activity\"},drum:{keywords:[\"music\",\"instrument\",\"drumsticks\",\"snare\"],char:\"🥁\",fitzpatrick_scale:false,category:\"activity\"},saxophone:{keywords:[\"music\",\"instrument\",\"jazz\",\"blues\"],char:\"🎷\",fitzpatrick_scale:false,category:\"activity\"},trumpet:{keywords:[\"music\",\"brass\"],char:\"🎺\",fitzpatrick_scale:false,category:\"activity\"},guitar:{keywords:[\"music\",\"instrument\"],char:\"🎸\",fitzpatrick_scale:false,category:\"activity\"},violin:{keywords:[\"music\",\"instrument\",\"orchestra\",\"symphony\"],char:\"🎻\",fitzpatrick_scale:false,category:\"activity\"},clapper:{keywords:[\"movie\",\"film\",\"record\"],char:\"🎬\",fitzpatrick_scale:false,category:\"activity\"},video_game:{keywords:[\"play\",\"console\",\"PS4\",\"controller\"],char:\"🎮\",fitzpatrick_scale:false,category:\"activity\"},space_invader:{keywords:[\"game\",\"arcade\",\"play\"],char:\"👾\",fitzpatrick_scale:false,category:\"activity\"},dart:{keywords:[\"game\",\"play\",\"bar\",\"target\",\"bullseye\"],char:\"🎯\",fitzpatrick_scale:false,category:\"activity\"},game_die:{keywords:[\"dice\",\"random\",\"tabletop\",\"play\",\"luck\"],char:\"🎲\",fitzpatrick_scale:false,category:\"activity\"},chess_pawn:{keywords:[\"expendable\"],char:\"♟\",fitzpatrick_scale:false,category:\"activity\"},slot_machine:{keywords:[\"bet\",\"gamble\",\"vegas\",\"fruit machine\",\"luck\",\"casino\"],char:\"🎰\",fitzpatrick_scale:false,category:\"activity\"},jigsaw:{keywords:[\"interlocking\",\"puzzle\",\"piece\"],char:\"🧩\",fitzpatrick_scale:false,category:\"activity\"},bowling:{keywords:[\"sports\",\"fun\",\"play\"],char:\"🎳\",fitzpatrick_scale:false,category:\"activity\"},red_car:{keywords:[\"red\",\"transportation\",\"vehicle\"],char:\"🚗\",fitzpatrick_scale:false,category:\"travel_and_places\"},taxi:{keywords:[\"uber\",\"vehicle\",\"cars\",\"transportation\"],char:\"🚕\",fitzpatrick_scale:false,category:\"travel_and_places\"},blue_car:{keywords:[\"transportation\",\"vehicle\"],char:\"🚙\",fitzpatrick_scale:false,category:\"travel_and_places\"},bus:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:\"🚌\",fitzpatrick_scale:false,category:\"travel_and_places\"},trolleybus:{keywords:[\"bart\",\"transportation\",\"vehicle\"],char:\"🚎\",fitzpatrick_scale:false,category:\"travel_and_places\"},racing_car:{keywords:[\"sports\",\"race\",\"fast\",\"formula\",\"f1\"],char:\"🏎\",fitzpatrick_scale:false,category:\"travel_and_places\"},police_car:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"law\",\"legal\",\"enforcement\"],char:\"🚓\",fitzpatrick_scale:false,category:\"travel_and_places\"},ambulance:{keywords:[\"health\",\"911\",\"hospital\"],char:\"🚑\",fitzpatrick_scale:false,category:\"travel_and_places\"},fire_engine:{keywords:[\"transportation\",\"cars\",\"vehicle\"],char:\"🚒\",fitzpatrick_scale:false,category:\"travel_and_places\"},minibus:{keywords:[\"vehicle\",\"car\",\"transportation\"],char:\"🚐\",fitzpatrick_scale:false,category:\"travel_and_places\"},truck:{keywords:[\"cars\",\"transportation\"],char:\"🚚\",fitzpatrick_scale:false,category:\"travel_and_places\"},articulated_lorry:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"express\"],char:\"🚛\",fitzpatrick_scale:false,category:\"travel_and_places\"},tractor:{keywords:[\"vehicle\",\"car\",\"farming\",\"agriculture\"],char:\"🚜\",fitzpatrick_scale:false,category:\"travel_and_places\"},kick_scooter:{keywords:[\"vehicle\",\"kick\",\"razor\"],char:\"🛴\",fitzpatrick_scale:false,category:\"travel_and_places\"},motorcycle:{keywords:[\"race\",\"sports\",\"fast\"],char:\"🏍\",fitzpatrick_scale:false,category:\"travel_and_places\"},bike:{keywords:[\"sports\",\"bicycle\",\"exercise\",\"hipster\"],char:\"🚲\",fitzpatrick_scale:false,category:\"travel_and_places\"},motor_scooter:{keywords:[\"vehicle\",\"vespa\",\"sasha\"],char:\"🛵\",fitzpatrick_scale:false,category:\"travel_and_places\"},rotating_light:{keywords:[\"police\",\"ambulance\",\"911\",\"emergency\",\"alert\",\"error\",\"pinged\",\"law\",\"legal\"],char:\"🚨\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_police_car:{keywords:[\"vehicle\",\"law\",\"legal\",\"enforcement\",\"911\"],char:\"🚔\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_bus:{keywords:[\"vehicle\",\"transportation\"],char:\"🚍\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_automobile:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:\"🚘\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_taxi:{keywords:[\"vehicle\",\"cars\",\"uber\"],char:\"🚖\",fitzpatrick_scale:false,category:\"travel_and_places\"},aerial_tramway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:\"🚡\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_cableway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:\"🚠\",fitzpatrick_scale:false,category:\"travel_and_places\"},suspension_railway:{keywords:[\"vehicle\",\"transportation\"],char:\"🚟\",fitzpatrick_scale:false,category:\"travel_and_places\"},railway_car:{keywords:[\"transportation\",\"vehicle\"],char:\"🚃\",fitzpatrick_scale:false,category:\"travel_and_places\"},train:{keywords:[\"transportation\",\"vehicle\",\"carriage\",\"public\",\"travel\"],char:\"🚋\",fitzpatrick_scale:false,category:\"travel_and_places\"},monorail:{keywords:[\"transportation\",\"vehicle\"],char:\"🚝\",fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_side:{keywords:[\"transportation\",\"vehicle\"],char:\"🚄\",fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_front:{keywords:[\"transportation\",\"vehicle\",\"speed\",\"fast\",\"public\",\"travel\"],char:\"🚅\",fitzpatrick_scale:false,category:\"travel_and_places\"},light_rail:{keywords:[\"transportation\",\"vehicle\"],char:\"🚈\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_railway:{keywords:[\"transportation\",\"vehicle\"],char:\"🚞\",fitzpatrick_scale:false,category:\"travel_and_places\"},steam_locomotive:{keywords:[\"transportation\",\"vehicle\",\"train\"],char:\"🚂\",fitzpatrick_scale:false,category:\"travel_and_places\"},train2:{keywords:[\"transportation\",\"vehicle\"],char:\"🚆\",fitzpatrick_scale:false,category:\"travel_and_places\"},metro:{keywords:[\"transportation\",\"blue-square\",\"mrt\",\"underground\",\"tube\"],char:\"🚇\",fitzpatrick_scale:false,category:\"travel_and_places\"},tram:{keywords:[\"transportation\",\"vehicle\"],char:\"🚊\",fitzpatrick_scale:false,category:\"travel_and_places\"},station:{keywords:[\"transportation\",\"vehicle\",\"public\"],char:\"🚉\",fitzpatrick_scale:false,category:\"travel_and_places\"},flying_saucer:{keywords:[\"transportation\",\"vehicle\",\"ufo\"],char:\"🛸\",fitzpatrick_scale:false,category:\"travel_and_places\"},helicopter:{keywords:[\"transportation\",\"vehicle\",\"fly\"],char:\"🚁\",fitzpatrick_scale:false,category:\"travel_and_places\"},small_airplane:{keywords:[\"flight\",\"transportation\",\"fly\",\"vehicle\"],char:\"🛩\",fitzpatrick_scale:false,category:\"travel_and_places\"},airplane:{keywords:[\"vehicle\",\"transportation\",\"flight\",\"fly\"],char:\"✈️\",fitzpatrick_scale:false,category:\"travel_and_places\"},flight_departure:{keywords:[\"airport\",\"flight\",\"landing\"],char:\"🛫\",fitzpatrick_scale:false,category:\"travel_and_places\"},flight_arrival:{keywords:[\"airport\",\"flight\",\"boarding\"],char:\"🛬\",fitzpatrick_scale:false,category:\"travel_and_places\"},sailboat:{keywords:[\"ship\",\"summer\",\"transportation\",\"water\",\"sailing\"],char:\"⛵\",fitzpatrick_scale:false,category:\"travel_and_places\"},motor_boat:{keywords:[\"ship\"],char:\"🛥\",fitzpatrick_scale:false,category:\"travel_and_places\"},speedboat:{keywords:[\"ship\",\"transportation\",\"vehicle\",\"summer\"],char:\"🚤\",fitzpatrick_scale:false,category:\"travel_and_places\"},ferry:{keywords:[\"boat\",\"ship\",\"yacht\"],char:\"⛴\",fitzpatrick_scale:false,category:\"travel_and_places\"},passenger_ship:{keywords:[\"yacht\",\"cruise\",\"ferry\"],char:\"🛳\",fitzpatrick_scale:false,category:\"travel_and_places\"},rocket:{keywords:[\"launch\",\"ship\",\"staffmode\",\"NASA\",\"outer space\",\"outer_space\",\"fly\"],char:\"🚀\",fitzpatrick_scale:false,category:\"travel_and_places\"},artificial_satellite:{keywords:[\"communication\",\"gps\",\"orbit\",\"spaceflight\",\"NASA\",\"ISS\"],char:\"🛰\",fitzpatrick_scale:false,category:\"travel_and_places\"},seat:{keywords:[\"sit\",\"airplane\",\"transport\",\"bus\",\"flight\",\"fly\"],char:\"💺\",fitzpatrick_scale:false,category:\"travel_and_places\"},canoe:{keywords:[\"boat\",\"paddle\",\"water\",\"ship\"],char:\"🛶\",fitzpatrick_scale:false,category:\"travel_and_places\"},anchor:{keywords:[\"ship\",\"ferry\",\"sea\",\"boat\"],char:\"⚓\",fitzpatrick_scale:false,category:\"travel_and_places\"},construction:{keywords:[\"wip\",\"progress\",\"caution\",\"warning\"],char:\"🚧\",fitzpatrick_scale:false,category:\"travel_and_places\"},fuelpump:{keywords:[\"gas station\",\"petroleum\"],char:\"⛽\",fitzpatrick_scale:false,category:\"travel_and_places\"},busstop:{keywords:[\"transportation\",\"wait\"],char:\"🚏\",fitzpatrick_scale:false,category:\"travel_and_places\"},vertical_traffic_light:{keywords:[\"transportation\",\"driving\"],char:\"🚦\",fitzpatrick_scale:false,category:\"travel_and_places\"},traffic_light:{keywords:[\"transportation\",\"signal\"],char:\"🚥\",fitzpatrick_scale:false,category:\"travel_and_places\"},checkered_flag:{keywords:[\"contest\",\"finishline\",\"race\",\"gokart\"],char:\"🏁\",fitzpatrick_scale:false,category:\"travel_and_places\"},ship:{keywords:[\"transportation\",\"titanic\",\"deploy\"],char:\"🚢\",fitzpatrick_scale:false,category:\"travel_and_places\"},ferris_wheel:{keywords:[\"photo\",\"carnival\",\"londoneye\"],char:\"🎡\",fitzpatrick_scale:false,category:\"travel_and_places\"},roller_coaster:{keywords:[\"carnival\",\"playground\",\"photo\",\"fun\"],char:\"🎢\",fitzpatrick_scale:false,category:\"travel_and_places\"},carousel_horse:{keywords:[\"photo\",\"carnival\"],char:\"🎠\",fitzpatrick_scale:false,category:\"travel_and_places\"},building_construction:{keywords:[\"wip\",\"working\",\"progress\"],char:\"🏗\",fitzpatrick_scale:false,category:\"travel_and_places\"},foggy:{keywords:[\"photo\",\"mountain\"],char:\"🌁\",fitzpatrick_scale:false,category:\"travel_and_places\"},tokyo_tower:{keywords:[\"photo\",\"japanese\"],char:\"🗼\",fitzpatrick_scale:false,category:\"travel_and_places\"},factory:{keywords:[\"building\",\"industry\",\"pollution\",\"smoke\"],char:\"🏭\",fitzpatrick_scale:false,category:\"travel_and_places\"},fountain:{keywords:[\"photo\",\"summer\",\"water\",\"fresh\"],char:\"⛲\",fitzpatrick_scale:false,category:\"travel_and_places\"},rice_scene:{keywords:[\"photo\",\"japan\",\"asia\",\"tsukimi\"],char:\"🎑\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain:{keywords:[\"photo\",\"nature\",\"environment\"],char:\"⛰\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_snow:{keywords:[\"photo\",\"nature\",\"environment\",\"winter\",\"cold\"],char:\"🏔\",fitzpatrick_scale:false,category:\"travel_and_places\"},mount_fuji:{keywords:[\"photo\",\"mountain\",\"nature\",\"japanese\"],char:\"🗻\",fitzpatrick_scale:false,category:\"travel_and_places\"},volcano:{keywords:[\"photo\",\"nature\",\"disaster\"],char:\"🌋\",fitzpatrick_scale:false,category:\"travel_and_places\"},japan:{keywords:[\"nation\",\"country\",\"japanese\",\"asia\"],char:\"🗾\",fitzpatrick_scale:false,category:\"travel_and_places\"},camping:{keywords:[\"photo\",\"outdoors\",\"tent\"],char:\"🏕\",fitzpatrick_scale:false,category:\"travel_and_places\"},tent:{keywords:[\"photo\",\"camping\",\"outdoors\"],char:\"⛺\",fitzpatrick_scale:false,category:\"travel_and_places\"},national_park:{keywords:[\"photo\",\"environment\",\"nature\"],char:\"🏞\",fitzpatrick_scale:false,category:\"travel_and_places\"},motorway:{keywords:[\"road\",\"cupertino\",\"interstate\",\"highway\"],char:\"🛣\",fitzpatrick_scale:false,category:\"travel_and_places\"},railway_track:{keywords:[\"train\",\"transportation\"],char:\"🛤\",fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise:{keywords:[\"morning\",\"view\",\"vacation\",\"photo\"],char:\"🌅\",fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise_over_mountains:{keywords:[\"view\",\"vacation\",\"photo\"],char:\"🌄\",fitzpatrick_scale:false,category:\"travel_and_places\"},desert:{keywords:[\"photo\",\"warm\",\"saharah\"],char:\"🏜\",fitzpatrick_scale:false,category:\"travel_and_places\"},beach_umbrella:{keywords:[\"weather\",\"summer\",\"sunny\",\"sand\",\"mojito\"],char:\"🏖\",fitzpatrick_scale:false,category:\"travel_and_places\"},desert_island:{keywords:[\"photo\",\"tropical\",\"mojito\"],char:\"🏝\",fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunrise:{keywords:[\"photo\",\"good morning\",\"dawn\"],char:\"🌇\",fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunset:{keywords:[\"photo\",\"evening\",\"sky\",\"buildings\"],char:\"🌆\",fitzpatrick_scale:false,category:\"travel_and_places\"},cityscape:{keywords:[\"photo\",\"night life\",\"urban\"],char:\"🏙\",fitzpatrick_scale:false,category:\"travel_and_places\"},night_with_stars:{keywords:[\"evening\",\"city\",\"downtown\"],char:\"🌃\",fitzpatrick_scale:false,category:\"travel_and_places\"},bridge_at_night:{keywords:[\"photo\",\"sanfrancisco\"],char:\"🌉\",fitzpatrick_scale:false,category:\"travel_and_places\"},milky_way:{keywords:[\"photo\",\"space\",\"stars\"],char:\"🌌\",fitzpatrick_scale:false,category:\"travel_and_places\"},stars:{keywords:[\"night\",\"photo\"],char:\"🌠\",fitzpatrick_scale:false,category:\"travel_and_places\"},sparkler:{keywords:[\"stars\",\"night\",\"shine\"],char:\"🎇\",fitzpatrick_scale:false,category:\"travel_and_places\"},fireworks:{keywords:[\"photo\",\"festival\",\"carnival\",\"congratulations\"],char:\"🎆\",fitzpatrick_scale:false,category:\"travel_and_places\"},rainbow:{keywords:[\"nature\",\"happy\",\"unicorn_face\",\"photo\",\"sky\",\"spring\"],char:\"🌈\",fitzpatrick_scale:false,category:\"travel_and_places\"},houses:{keywords:[\"buildings\",\"photo\"],char:\"🏘\",fitzpatrick_scale:false,category:\"travel_and_places\"},european_castle:{keywords:[\"building\",\"royalty\",\"history\"],char:\"🏰\",fitzpatrick_scale:false,category:\"travel_and_places\"},japanese_castle:{keywords:[\"photo\",\"building\"],char:\"🏯\",fitzpatrick_scale:false,category:\"travel_and_places\"},stadium:{keywords:[\"photo\",\"place\",\"sports\",\"concert\",\"venue\"],char:\"🏟\",fitzpatrick_scale:false,category:\"travel_and_places\"},statue_of_liberty:{keywords:[\"american\",\"newyork\"],char:\"🗽\",fitzpatrick_scale:false,category:\"travel_and_places\"},house:{keywords:[\"building\",\"home\"],char:\"🏠\",fitzpatrick_scale:false,category:\"travel_and_places\"},house_with_garden:{keywords:[\"home\",\"plant\",\"nature\"],char:\"🏡\",fitzpatrick_scale:false,category:\"travel_and_places\"},derelict_house:{keywords:[\"abandon\",\"evict\",\"broken\",\"building\"],char:\"🏚\",fitzpatrick_scale:false,category:\"travel_and_places\"},office:{keywords:[\"building\",\"bureau\",\"work\"],char:\"🏢\",fitzpatrick_scale:false,category:\"travel_and_places\"},department_store:{keywords:[\"building\",\"shopping\",\"mall\"],char:\"🏬\",fitzpatrick_scale:false,category:\"travel_and_places\"},post_office:{keywords:[\"building\",\"envelope\",\"communication\"],char:\"🏣\",fitzpatrick_scale:false,category:\"travel_and_places\"},european_post_office:{keywords:[\"building\",\"email\"],char:\"🏤\",fitzpatrick_scale:false,category:\"travel_and_places\"},hospital:{keywords:[\"building\",\"health\",\"surgery\",\"doctor\"],char:\"🏥\",fitzpatrick_scale:false,category:\"travel_and_places\"},bank:{keywords:[\"building\",\"money\",\"sales\",\"cash\",\"business\",\"enterprise\"],char:\"🏦\",fitzpatrick_scale:false,category:\"travel_and_places\"},hotel:{keywords:[\"building\",\"accomodation\",\"checkin\"],char:\"🏨\",fitzpatrick_scale:false,category:\"travel_and_places\"},convenience_store:{keywords:[\"building\",\"shopping\",\"groceries\"],char:\"🏪\",fitzpatrick_scale:false,category:\"travel_and_places\"},school:{keywords:[\"building\",\"student\",\"education\",\"learn\",\"teach\"],char:\"🏫\",fitzpatrick_scale:false,category:\"travel_and_places\"},love_hotel:{keywords:[\"like\",\"affection\",\"dating\"],char:\"🏩\",fitzpatrick_scale:false,category:\"travel_and_places\"},wedding:{keywords:[\"love\",\"like\",\"affection\",\"couple\",\"marriage\",\"bride\",\"groom\"],char:\"💒\",fitzpatrick_scale:false,category:\"travel_and_places\"},classical_building:{keywords:[\"art\",\"culture\",\"history\"],char:\"🏛\",fitzpatrick_scale:false,category:\"travel_and_places\"},church:{keywords:[\"building\",\"religion\",\"christ\"],char:\"⛪\",fitzpatrick_scale:false,category:\"travel_and_places\"},mosque:{keywords:[\"islam\",\"worship\",\"minaret\"],char:\"🕌\",fitzpatrick_scale:false,category:\"travel_and_places\"},synagogue:{keywords:[\"judaism\",\"worship\",\"temple\",\"jewish\"],char:\"🕍\",fitzpatrick_scale:false,category:\"travel_and_places\"},kaaba:{keywords:[\"mecca\",\"mosque\",\"islam\"],char:\"🕋\",fitzpatrick_scale:false,category:\"travel_and_places\"},shinto_shrine:{keywords:[\"temple\",\"japan\",\"kyoto\"],char:\"⛩\",fitzpatrick_scale:false,category:\"travel_and_places\"},watch:{keywords:[\"time\",\"accessories\"],char:\"⌚\",fitzpatrick_scale:false,category:\"objects\"},iphone:{keywords:[\"technology\",\"apple\",\"gadgets\",\"dial\"],char:\"📱\",fitzpatrick_scale:false,category:\"objects\"},calling:{keywords:[\"iphone\",\"incoming\"],char:\"📲\",fitzpatrick_scale:false,category:\"objects\"},computer:{keywords:[\"technology\",\"laptop\",\"screen\",\"display\",\"monitor\"],char:\"💻\",fitzpatrick_scale:false,category:\"objects\"},keyboard:{keywords:[\"technology\",\"computer\",\"type\",\"input\",\"text\"],char:\"⌨\",fitzpatrick_scale:false,category:\"objects\"},desktop_computer:{keywords:[\"technology\",\"computing\",\"screen\"],char:\"🖥\",fitzpatrick_scale:false,category:\"objects\"},printer:{keywords:[\"paper\",\"ink\"],char:\"🖨\",fitzpatrick_scale:false,category:\"objects\"},computer_mouse:{keywords:[\"click\"],char:\"🖱\",fitzpatrick_scale:false,category:\"objects\"},trackball:{keywords:[\"technology\",\"trackpad\"],char:\"🖲\",fitzpatrick_scale:false,category:\"objects\"},joystick:{keywords:[\"game\",\"play\"],char:\"🕹\",fitzpatrick_scale:false,category:\"objects\"},clamp:{keywords:[\"tool\"],char:\"🗜\",fitzpatrick_scale:false,category:\"objects\"},minidisc:{keywords:[\"technology\",\"record\",\"data\",\"disk\",\"90s\"],char:\"💽\",fitzpatrick_scale:false,category:\"objects\"},floppy_disk:{keywords:[\"oldschool\",\"technology\",\"save\",\"90s\",\"80s\"],char:\"💾\",fitzpatrick_scale:false,category:\"objects\"},cd:{keywords:[\"technology\",\"dvd\",\"disk\",\"disc\",\"90s\"],char:\"💿\",fitzpatrick_scale:false,category:\"objects\"},dvd:{keywords:[\"cd\",\"disk\",\"disc\"],char:\"📀\",fitzpatrick_scale:false,category:\"objects\"},vhs:{keywords:[\"record\",\"video\",\"oldschool\",\"90s\",\"80s\"],char:\"📼\",fitzpatrick_scale:false,category:\"objects\"},camera:{keywords:[\"gadgets\",\"photography\"],char:\"📷\",fitzpatrick_scale:false,category:\"objects\"},camera_flash:{keywords:[\"photography\",\"gadgets\"],char:\"📸\",fitzpatrick_scale:false,category:\"objects\"},video_camera:{keywords:[\"film\",\"record\"],char:\"📹\",fitzpatrick_scale:false,category:\"objects\"},movie_camera:{keywords:[\"film\",\"record\"],char:\"🎥\",fitzpatrick_scale:false,category:\"objects\"},film_projector:{keywords:[\"video\",\"tape\",\"record\",\"movie\"],char:\"📽\",fitzpatrick_scale:false,category:\"objects\"},film_strip:{keywords:[\"movie\"],char:\"🎞\",fitzpatrick_scale:false,category:\"objects\"},telephone_receiver:{keywords:[\"technology\",\"communication\",\"dial\"],char:\"📞\",fitzpatrick_scale:false,category:\"objects\"},phone:{keywords:[\"technology\",\"communication\",\"dial\",\"telephone\"],char:\"☎️\",fitzpatrick_scale:false,category:\"objects\"},pager:{keywords:[\"bbcall\",\"oldschool\",\"90s\"],char:\"📟\",fitzpatrick_scale:false,category:\"objects\"},fax:{keywords:[\"communication\",\"technology\"],char:\"📠\",fitzpatrick_scale:false,category:\"objects\"},tv:{keywords:[\"technology\",\"program\",\"oldschool\",\"show\",\"television\"],char:\"📺\",fitzpatrick_scale:false,category:\"objects\"},radio:{keywords:[\"communication\",\"music\",\"podcast\",\"program\"],char:\"📻\",fitzpatrick_scale:false,category:\"objects\"},studio_microphone:{keywords:[\"sing\",\"recording\",\"artist\",\"talkshow\"],char:\"🎙\",fitzpatrick_scale:false,category:\"objects\"},level_slider:{keywords:[\"scale\"],char:\"🎚\",fitzpatrick_scale:false,category:\"objects\"},control_knobs:{keywords:[\"dial\"],char:\"🎛\",fitzpatrick_scale:false,category:\"objects\"},compass:{keywords:[\"magnetic\",\"navigation\",\"orienteering\"],char:\"🧭\",fitzpatrick_scale:false,category:\"objects\"},stopwatch:{keywords:[\"time\",\"deadline\"],char:\"⏱\",fitzpatrick_scale:false,category:\"objects\"},timer_clock:{keywords:[\"alarm\"],char:\"⏲\",fitzpatrick_scale:false,category:\"objects\"},alarm_clock:{keywords:[\"time\",\"wake\"],char:\"⏰\",fitzpatrick_scale:false,category:\"objects\"},mantelpiece_clock:{keywords:[\"time\"],char:\"🕰\",fitzpatrick_scale:false,category:\"objects\"},hourglass_flowing_sand:{keywords:[\"oldschool\",\"time\",\"countdown\"],char:\"⏳\",fitzpatrick_scale:false,category:\"objects\"},hourglass:{keywords:[\"time\",\"clock\",\"oldschool\",\"limit\",\"exam\",\"quiz\",\"test\"],char:\"⌛\",fitzpatrick_scale:false,category:\"objects\"},satellite:{keywords:[\"communication\",\"future\",\"radio\",\"space\"],char:\"📡\",fitzpatrick_scale:false,category:\"objects\"},battery:{keywords:[\"power\",\"energy\",\"sustain\"],char:\"🔋\",fitzpatrick_scale:false,category:\"objects\"},electric_plug:{keywords:[\"charger\",\"power\"],char:\"🔌\",fitzpatrick_scale:false,category:\"objects\"},bulb:{keywords:[\"light\",\"electricity\",\"idea\"],char:\"💡\",fitzpatrick_scale:false,category:\"objects\"},flashlight:{keywords:[\"dark\",\"camping\",\"sight\",\"night\"],char:\"🔦\",fitzpatrick_scale:false,category:\"objects\"},candle:{keywords:[\"fire\",\"wax\"],char:\"🕯\",fitzpatrick_scale:false,category:\"objects\"},fire_extinguisher:{keywords:[\"quench\"],char:\"🧯\",fitzpatrick_scale:false,category:\"objects\"},wastebasket:{keywords:[\"bin\",\"trash\",\"rubbish\",\"garbage\",\"toss\"],char:\"🗑\",fitzpatrick_scale:false,category:\"objects\"},oil_drum:{keywords:[\"barrell\"],char:\"🛢\",fitzpatrick_scale:false,category:\"objects\"},money_with_wings:{keywords:[\"dollar\",\"bills\",\"payment\",\"sale\"],char:\"💸\",fitzpatrick_scale:false,category:\"objects\"},dollar:{keywords:[\"money\",\"sales\",\"bill\",\"currency\"],char:\"💵\",fitzpatrick_scale:false,category:\"objects\"},yen:{keywords:[\"money\",\"sales\",\"japanese\",\"dollar\",\"currency\"],char:\"💴\",fitzpatrick_scale:false,category:\"objects\"},euro:{keywords:[\"money\",\"sales\",\"dollar\",\"currency\"],char:\"💶\",fitzpatrick_scale:false,category:\"objects\"},pound:{keywords:[\"british\",\"sterling\",\"money\",\"sales\",\"bills\",\"uk\",\"england\",\"currency\"],char:\"💷\",fitzpatrick_scale:false,category:\"objects\"},moneybag:{keywords:[\"dollar\",\"payment\",\"coins\",\"sale\"],char:\"💰\",fitzpatrick_scale:false,category:\"objects\"},credit_card:{keywords:[\"money\",\"sales\",\"dollar\",\"bill\",\"payment\",\"shopping\"],char:\"💳\",fitzpatrick_scale:false,category:\"objects\"},gem:{keywords:[\"blue\",\"ruby\",\"diamond\",\"jewelry\"],char:\"💎\",fitzpatrick_scale:false,category:\"objects\"},balance_scale:{keywords:[\"law\",\"fairness\",\"weight\"],char:\"⚖\",fitzpatrick_scale:false,category:\"objects\"},toolbox:{keywords:[\"tools\",\"diy\",\"fix\",\"maintainer\",\"mechanic\"],char:\"🧰\",fitzpatrick_scale:false,category:\"objects\"},wrench:{keywords:[\"tools\",\"diy\",\"ikea\",\"fix\",\"maintainer\"],char:\"🔧\",fitzpatrick_scale:false,category:\"objects\"},hammer:{keywords:[\"tools\",\"build\",\"create\"],char:\"🔨\",fitzpatrick_scale:false,category:\"objects\"},hammer_and_pick:{keywords:[\"tools\",\"build\",\"create\"],char:\"⚒\",fitzpatrick_scale:false,category:\"objects\"},hammer_and_wrench:{keywords:[\"tools\",\"build\",\"create\"],char:\"🛠\",fitzpatrick_scale:false,category:\"objects\"},pick:{keywords:[\"tools\",\"dig\"],char:\"⛏\",fitzpatrick_scale:false,category:\"objects\"},nut_and_bolt:{keywords:[\"handy\",\"tools\",\"fix\"],char:\"🔩\",fitzpatrick_scale:false,category:\"objects\"},gear:{keywords:[\"cog\"],char:\"⚙\",fitzpatrick_scale:false,category:\"objects\"},brick:{keywords:[\"bricks\"],char:\"🧱\",fitzpatrick_scale:false,category:\"objects\"},chains:{keywords:[\"lock\",\"arrest\"],char:\"⛓\",fitzpatrick_scale:false,category:\"objects\"},magnet:{keywords:[\"attraction\",\"magnetic\"],char:\"🧲\",fitzpatrick_scale:false,category:\"objects\"},gun:{keywords:[\"violence\",\"weapon\",\"pistol\",\"revolver\"],char:\"🔫\",fitzpatrick_scale:false,category:\"objects\"},bomb:{keywords:[\"boom\",\"explode\",\"explosion\",\"terrorism\"],char:\"💣\",fitzpatrick_scale:false,category:\"objects\"},firecracker:{keywords:[\"dynamite\",\"boom\",\"explode\",\"explosion\",\"explosive\"],char:\"🧨\",fitzpatrick_scale:false,category:\"objects\"},hocho:{keywords:[\"knife\",\"blade\",\"cutlery\",\"kitchen\",\"weapon\"],char:\"🔪\",fitzpatrick_scale:false,category:\"objects\"},dagger:{keywords:[\"weapon\"],char:\"🗡\",fitzpatrick_scale:false,category:\"objects\"},crossed_swords:{keywords:[\"weapon\"],char:\"⚔\",fitzpatrick_scale:false,category:\"objects\"},shield:{keywords:[\"protection\",\"security\"],char:\"🛡\",fitzpatrick_scale:false,category:\"objects\"},smoking:{keywords:[\"kills\",\"tobacco\",\"cigarette\",\"joint\",\"smoke\"],char:\"🚬\",fitzpatrick_scale:false,category:\"objects\"},skull_and_crossbones:{keywords:[\"poison\",\"danger\",\"deadly\",\"scary\",\"death\",\"pirate\",\"evil\"],char:\"☠\",fitzpatrick_scale:false,category:\"objects\"},coffin:{keywords:[\"vampire\",\"dead\",\"die\",\"death\",\"rip\",\"graveyard\",\"cemetery\",\"casket\",\"funeral\",\"box\"],char:\"⚰\",fitzpatrick_scale:false,category:\"objects\"},funeral_urn:{keywords:[\"dead\",\"die\",\"death\",\"rip\",\"ashes\"],char:\"⚱\",fitzpatrick_scale:false,category:\"objects\"},amphora:{keywords:[\"vase\",\"jar\"],char:\"🏺\",fitzpatrick_scale:false,category:\"objects\"},crystal_ball:{keywords:[\"disco\",\"party\",\"magic\",\"circus\",\"fortune_teller\"],char:\"🔮\",fitzpatrick_scale:false,category:\"objects\"},prayer_beads:{keywords:[\"dhikr\",\"religious\"],char:\"📿\",fitzpatrick_scale:false,category:\"objects\"},nazar_amulet:{keywords:[\"bead\",\"charm\"],char:\"🧿\",fitzpatrick_scale:false,category:\"objects\"},barber:{keywords:[\"hair\",\"salon\",\"style\"],char:\"💈\",fitzpatrick_scale:false,category:\"objects\"},alembic:{keywords:[\"distilling\",\"science\",\"experiment\",\"chemistry\"],char:\"⚗\",fitzpatrick_scale:false,category:\"objects\"},telescope:{keywords:[\"stars\",\"space\",\"zoom\",\"science\",\"astronomy\"],char:\"🔭\",fitzpatrick_scale:false,category:\"objects\"},microscope:{keywords:[\"laboratory\",\"experiment\",\"zoomin\",\"science\",\"study\"],char:\"🔬\",fitzpatrick_scale:false,category:\"objects\"},hole:{keywords:[\"embarrassing\"],char:\"🕳\",fitzpatrick_scale:false,category:\"objects\"},pill:{keywords:[\"health\",\"medicine\",\"doctor\",\"pharmacy\",\"drug\"],char:\"💊\",fitzpatrick_scale:false,category:\"objects\"},syringe:{keywords:[\"health\",\"hospital\",\"drugs\",\"blood\",\"medicine\",\"needle\",\"doctor\",\"nurse\"],char:\"💉\",fitzpatrick_scale:false,category:\"objects\"},dna:{keywords:[\"biologist\",\"genetics\",\"life\"],char:\"🧬\",fitzpatrick_scale:false,category:\"objects\"},microbe:{keywords:[\"amoeba\",\"bacteria\",\"germs\"],char:\"🦠\",fitzpatrick_scale:false,category:\"objects\"},petri_dish:{keywords:[\"bacteria\",\"biology\",\"culture\",\"lab\"],char:\"🧫\",fitzpatrick_scale:false,category:\"objects\"},test_tube:{keywords:[\"chemistry\",\"experiment\",\"lab\",\"science\"],char:\"🧪\",fitzpatrick_scale:false,category:\"objects\"},thermometer:{keywords:[\"weather\",\"temperature\",\"hot\",\"cold\"],char:\"🌡\",fitzpatrick_scale:false,category:\"objects\"},broom:{keywords:[\"cleaning\",\"sweeping\",\"witch\"],char:\"🧹\",fitzpatrick_scale:false,category:\"objects\"},basket:{keywords:[\"laundry\"],char:\"🧺\",fitzpatrick_scale:false,category:\"objects\"},toilet_paper:{keywords:[\"roll\"],char:\"🧻\",fitzpatrick_scale:false,category:\"objects\"},label:{keywords:[\"sale\",\"tag\"],char:\"🏷\",fitzpatrick_scale:false,category:\"objects\"},bookmark:{keywords:[\"favorite\",\"label\",\"save\"],char:\"🔖\",fitzpatrick_scale:false,category:\"objects\"},toilet:{keywords:[\"restroom\",\"wc\",\"washroom\",\"bathroom\",\"potty\"],char:\"🚽\",fitzpatrick_scale:false,category:\"objects\"},shower:{keywords:[\"clean\",\"water\",\"bathroom\"],char:\"🚿\",fitzpatrick_scale:false,category:\"objects\"},bathtub:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:\"🛁\",fitzpatrick_scale:false,category:\"objects\"},soap:{keywords:[\"bar\",\"bathing\",\"cleaning\",\"lather\"],char:\"🧼\",fitzpatrick_scale:false,category:\"objects\"},sponge:{keywords:[\"absorbing\",\"cleaning\",\"porous\"],char:\"🧽\",fitzpatrick_scale:false,category:\"objects\"},lotion_bottle:{keywords:[\"moisturizer\",\"sunscreen\"],char:\"🧴\",fitzpatrick_scale:false,category:\"objects\"},key:{keywords:[\"lock\",\"door\",\"password\"],char:\"🔑\",fitzpatrick_scale:false,category:\"objects\"},old_key:{keywords:[\"lock\",\"door\",\"password\"],char:\"🗝\",fitzpatrick_scale:false,category:\"objects\"},couch_and_lamp:{keywords:[\"read\",\"chill\"],char:\"🛋\",fitzpatrick_scale:false,category:\"objects\"},sleeping_bed:{keywords:[\"bed\",\"rest\"],char:\"🛌\",fitzpatrick_scale:true,category:\"objects\"},bed:{keywords:[\"sleep\",\"rest\"],char:\"🛏\",fitzpatrick_scale:false,category:\"objects\"},door:{keywords:[\"house\",\"entry\",\"exit\"],char:\"🚪\",fitzpatrick_scale:false,category:\"objects\"},bellhop_bell:{keywords:[\"service\"],char:\"🛎\",fitzpatrick_scale:false,category:\"objects\"},teddy_bear:{keywords:[\"plush\",\"stuffed\"],char:\"🧸\",fitzpatrick_scale:false,category:\"objects\"},framed_picture:{keywords:[\"photography\"],char:\"🖼\",fitzpatrick_scale:false,category:\"objects\"},world_map:{keywords:[\"location\",\"direction\"],char:\"🗺\",fitzpatrick_scale:false,category:\"objects\"},parasol_on_ground:{keywords:[\"weather\",\"summer\"],char:\"⛱\",fitzpatrick_scale:false,category:\"objects\"},moyai:{keywords:[\"rock\",\"easter island\",\"moai\"],char:\"🗿\",fitzpatrick_scale:false,category:\"objects\"},shopping:{keywords:[\"mall\",\"buy\",\"purchase\"],char:\"🛍\",fitzpatrick_scale:false,category:\"objects\"},shopping_cart:{keywords:[\"trolley\"],char:\"🛒\",fitzpatrick_scale:false,category:\"objects\"},balloon:{keywords:[\"party\",\"celebration\",\"birthday\",\"circus\"],char:\"🎈\",fitzpatrick_scale:false,category:\"objects\"},flags:{keywords:[\"fish\",\"japanese\",\"koinobori\",\"carp\",\"banner\"],char:\"🎏\",fitzpatrick_scale:false,category:\"objects\"},ribbon:{keywords:[\"decoration\",\"pink\",\"girl\",\"bowtie\"],char:\"🎀\",fitzpatrick_scale:false,category:\"objects\"},gift:{keywords:[\"present\",\"birthday\",\"christmas\",\"xmas\"],char:\"🎁\",fitzpatrick_scale:false,category:\"objects\"},confetti_ball:{keywords:[\"festival\",\"party\",\"birthday\",\"circus\"],char:\"🎊\",fitzpatrick_scale:false,category:\"objects\"},tada:{keywords:[\"party\",\"congratulations\",\"birthday\",\"magic\",\"circus\",\"celebration\"],char:\"🎉\",fitzpatrick_scale:false,category:\"objects\"},dolls:{keywords:[\"japanese\",\"toy\",\"kimono\"],char:\"🎎\",fitzpatrick_scale:false,category:\"objects\"},wind_chime:{keywords:[\"nature\",\"ding\",\"spring\",\"bell\"],char:\"🎐\",fitzpatrick_scale:false,category:\"objects\"},crossed_flags:{keywords:[\"japanese\",\"nation\",\"country\",\"border\"],char:\"🎌\",fitzpatrick_scale:false,category:\"objects\"},izakaya_lantern:{keywords:[\"light\",\"paper\",\"halloween\",\"spooky\"],char:\"🏮\",fitzpatrick_scale:false,category:\"objects\"},red_envelope:{keywords:[\"gift\"],char:\"🧧\",fitzpatrick_scale:false,category:\"objects\"},email:{keywords:[\"letter\",\"postal\",\"inbox\",\"communication\"],char:\"✉️\",fitzpatrick_scale:false,category:\"objects\"},envelope_with_arrow:{keywords:[\"email\",\"communication\"],char:\"📩\",fitzpatrick_scale:false,category:\"objects\"},incoming_envelope:{keywords:[\"email\",\"inbox\"],char:\"📨\",fitzpatrick_scale:false,category:\"objects\"},\"e-mail\":{keywords:[\"communication\",\"inbox\"],char:\"📧\",fitzpatrick_scale:false,category:\"objects\"},love_letter:{keywords:[\"email\",\"like\",\"affection\",\"envelope\",\"valentines\"],char:\"💌\",fitzpatrick_scale:false,category:\"objects\"},postbox:{keywords:[\"email\",\"letter\",\"envelope\"],char:\"📮\",fitzpatrick_scale:false,category:\"objects\"},mailbox_closed:{keywords:[\"email\",\"communication\",\"inbox\"],char:\"📪\",fitzpatrick_scale:false,category:\"objects\"},mailbox:{keywords:[\"email\",\"inbox\",\"communication\"],char:\"📫\",fitzpatrick_scale:false,category:\"objects\"},mailbox_with_mail:{keywords:[\"email\",\"inbox\",\"communication\"],char:\"📬\",fitzpatrick_scale:false,category:\"objects\"},mailbox_with_no_mail:{keywords:[\"email\",\"inbox\"],char:\"📭\",fitzpatrick_scale:false,category:\"objects\"},package:{keywords:[\"mail\",\"gift\",\"cardboard\",\"box\",\"moving\"],char:\"📦\",fitzpatrick_scale:false,category:\"objects\"},postal_horn:{keywords:[\"instrument\",\"music\"],char:\"📯\",fitzpatrick_scale:false,category:\"objects\"},inbox_tray:{keywords:[\"email\",\"documents\"],char:\"📥\",fitzpatrick_scale:false,category:\"objects\"},outbox_tray:{keywords:[\"inbox\",\"email\"],char:\"📤\",fitzpatrick_scale:false,category:\"objects\"},scroll:{keywords:[\"documents\",\"ancient\",\"history\",\"paper\"],char:\"📜\",fitzpatrick_scale:false,category:\"objects\"},page_with_curl:{keywords:[\"documents\",\"office\",\"paper\"],char:\"📃\",fitzpatrick_scale:false,category:\"objects\"},bookmark_tabs:{keywords:[\"favorite\",\"save\",\"order\",\"tidy\"],char:\"📑\",fitzpatrick_scale:false,category:\"objects\"},receipt:{keywords:[\"accounting\",\"expenses\"],char:\"🧾\",fitzpatrick_scale:false,category:\"objects\"},bar_chart:{keywords:[\"graph\",\"presentation\",\"stats\"],char:\"📊\",fitzpatrick_scale:false,category:\"objects\"},chart_with_upwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recovery\",\"business\",\"economics\",\"money\",\"sales\",\"good\",\"success\"],char:\"📈\",fitzpatrick_scale:false,category:\"objects\"},chart_with_downwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recession\",\"business\",\"economics\",\"money\",\"sales\",\"bad\",\"failure\"],char:\"📉\",fitzpatrick_scale:false,category:\"objects\"},page_facing_up:{keywords:[\"documents\",\"office\",\"paper\",\"information\"],char:\"📄\",fitzpatrick_scale:false,category:\"objects\"},date:{keywords:[\"calendar\",\"schedule\"],char:\"📅\",fitzpatrick_scale:false,category:\"objects\"},calendar:{keywords:[\"schedule\",\"date\",\"planning\"],char:\"📆\",fitzpatrick_scale:false,category:\"objects\"},spiral_calendar:{keywords:[\"date\",\"schedule\",\"planning\"],char:\"🗓\",fitzpatrick_scale:false,category:\"objects\"},card_index:{keywords:[\"business\",\"stationery\"],char:\"📇\",fitzpatrick_scale:false,category:\"objects\"},card_file_box:{keywords:[\"business\",\"stationery\"],char:\"🗃\",fitzpatrick_scale:false,category:\"objects\"},ballot_box:{keywords:[\"election\",\"vote\"],char:\"🗳\",fitzpatrick_scale:false,category:\"objects\"},file_cabinet:{keywords:[\"filing\",\"organizing\"],char:\"🗄\",fitzpatrick_scale:false,category:\"objects\"},clipboard:{keywords:[\"stationery\",\"documents\"],char:\"📋\",fitzpatrick_scale:false,category:\"objects\"},spiral_notepad:{keywords:[\"memo\",\"stationery\"],char:\"🗒\",fitzpatrick_scale:false,category:\"objects\"},file_folder:{keywords:[\"documents\",\"business\",\"office\"],char:\"📁\",fitzpatrick_scale:false,category:\"objects\"},open_file_folder:{keywords:[\"documents\",\"load\"],char:\"📂\",fitzpatrick_scale:false,category:\"objects\"},card_index_dividers:{keywords:[\"organizing\",\"business\",\"stationery\"],char:\"🗂\",fitzpatrick_scale:false,category:\"objects\"},newspaper_roll:{keywords:[\"press\",\"headline\"],char:\"🗞\",fitzpatrick_scale:false,category:\"objects\"},newspaper:{keywords:[\"press\",\"headline\"],char:\"📰\",fitzpatrick_scale:false,category:\"objects\"},notebook:{keywords:[\"stationery\",\"record\",\"notes\",\"paper\",\"study\"],char:\"📓\",fitzpatrick_scale:false,category:\"objects\"},closed_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"learn\"],char:\"📕\",fitzpatrick_scale:false,category:\"objects\"},green_book:{keywords:[\"read\",\"library\",\"knowledge\",\"study\"],char:\"📗\",fitzpatrick_scale:false,category:\"objects\"},blue_book:{keywords:[\"read\",\"library\",\"knowledge\",\"learn\",\"study\"],char:\"📘\",fitzpatrick_scale:false,category:\"objects\"},orange_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"study\"],char:\"📙\",fitzpatrick_scale:false,category:\"objects\"},notebook_with_decorative_cover:{keywords:[\"classroom\",\"notes\",\"record\",\"paper\",\"study\"],char:\"📔\",fitzpatrick_scale:false,category:\"objects\"},ledger:{keywords:[\"notes\",\"paper\"],char:\"📒\",fitzpatrick_scale:false,category:\"objects\"},books:{keywords:[\"literature\",\"library\",\"study\"],char:\"📚\",fitzpatrick_scale:false,category:\"objects\"},open_book:{keywords:[\"book\",\"read\",\"library\",\"knowledge\",\"literature\",\"learn\",\"study\"],char:\"📖\",fitzpatrick_scale:false,category:\"objects\"},safety_pin:{keywords:[\"diaper\"],char:\"🧷\",fitzpatrick_scale:false,category:\"objects\"},link:{keywords:[\"rings\",\"url\"],char:\"🔗\",fitzpatrick_scale:false,category:\"objects\"},paperclip:{keywords:[\"documents\",\"stationery\"],char:\"📎\",fitzpatrick_scale:false,category:\"objects\"},paperclips:{keywords:[\"documents\",\"stationery\"],char:\"🖇\",fitzpatrick_scale:false,category:\"objects\"},scissors:{keywords:[\"stationery\",\"cut\"],char:\"✂️\",fitzpatrick_scale:false,category:\"objects\"},triangular_ruler:{keywords:[\"stationery\",\"math\",\"architect\",\"sketch\"],char:\"📐\",fitzpatrick_scale:false,category:\"objects\"},straight_ruler:{keywords:[\"stationery\",\"calculate\",\"length\",\"math\",\"school\",\"drawing\",\"architect\",\"sketch\"],char:\"📏\",fitzpatrick_scale:false,category:\"objects\"},abacus:{keywords:[\"calculation\"],char:\"🧮\",fitzpatrick_scale:false,category:\"objects\"},pushpin:{keywords:[\"stationery\",\"mark\",\"here\"],char:\"📌\",fitzpatrick_scale:false,category:\"objects\"},round_pushpin:{keywords:[\"stationery\",\"location\",\"map\",\"here\"],char:\"📍\",fitzpatrick_scale:false,category:\"objects\"},triangular_flag_on_post:{keywords:[\"mark\",\"milestone\",\"place\"],char:\"🚩\",fitzpatrick_scale:false,category:\"objects\"},white_flag:{keywords:[\"losing\",\"loser\",\"lost\",\"surrender\",\"give up\",\"fail\"],char:\"🏳\",fitzpatrick_scale:false,category:\"objects\"},black_flag:{keywords:[\"pirate\"],char:\"🏴\",fitzpatrick_scale:false,category:\"objects\"},rainbow_flag:{keywords:[\"flag\",\"rainbow\",\"pride\",\"gay\",\"lgbt\",\"glbt\",\"queer\",\"homosexual\",\"lesbian\",\"bisexual\",\"transgender\"],char:\"🏳️‍🌈\",fitzpatrick_scale:false,category:\"objects\"},closed_lock_with_key:{keywords:[\"security\",\"privacy\"],char:\"🔐\",fitzpatrick_scale:false,category:\"objects\"},lock:{keywords:[\"security\",\"password\",\"padlock\"],char:\"🔒\",fitzpatrick_scale:false,category:\"objects\"},unlock:{keywords:[\"privacy\",\"security\"],char:\"🔓\",fitzpatrick_scale:false,category:\"objects\"},lock_with_ink_pen:{keywords:[\"security\",\"secret\"],char:\"🔏\",fitzpatrick_scale:false,category:\"objects\"},pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:\"🖊\",fitzpatrick_scale:false,category:\"objects\"},fountain_pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:\"🖋\",fitzpatrick_scale:false,category:\"objects\"},black_nib:{keywords:[\"pen\",\"stationery\",\"writing\",\"write\"],char:\"✒️\",fitzpatrick_scale:false,category:\"objects\"},memo:{keywords:[\"write\",\"documents\",\"stationery\",\"pencil\",\"paper\",\"writing\",\"legal\",\"exam\",\"quiz\",\"test\",\"study\",\"compose\"],char:\"📝\",fitzpatrick_scale:false,category:\"objects\"},pencil2:{keywords:[\"stationery\",\"write\",\"paper\",\"writing\",\"school\",\"study\"],char:\"✏️\",fitzpatrick_scale:false,category:\"objects\"},crayon:{keywords:[\"drawing\",\"creativity\"],char:\"🖍\",fitzpatrick_scale:false,category:\"objects\"},paintbrush:{keywords:[\"drawing\",\"creativity\",\"art\"],char:\"🖌\",fitzpatrick_scale:false,category:\"objects\"},mag:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:\"🔍\",fitzpatrick_scale:false,category:\"objects\"},mag_right:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:\"🔎\",fitzpatrick_scale:false,category:\"objects\"},heart:{keywords:[\"love\",\"like\",\"valentines\"],char:\"❤️\",fitzpatrick_scale:false,category:\"symbols\"},orange_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"🧡\",fitzpatrick_scale:false,category:\"symbols\"},yellow_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💛\",fitzpatrick_scale:false,category:\"symbols\"},green_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💚\",fitzpatrick_scale:false,category:\"symbols\"},blue_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💙\",fitzpatrick_scale:false,category:\"symbols\"},purple_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💜\",fitzpatrick_scale:false,category:\"symbols\"},black_heart:{keywords:[\"evil\"],char:\"🖤\",fitzpatrick_scale:false,category:\"symbols\"},broken_heart:{keywords:[\"sad\",\"sorry\",\"break\",\"heart\",\"heartbreak\"],char:\"💔\",fitzpatrick_scale:false,category:\"symbols\"},heavy_heart_exclamation:{keywords:[\"decoration\",\"love\"],char:\"❣\",fitzpatrick_scale:false,category:\"symbols\"},two_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"heart\"],char:\"💕\",fitzpatrick_scale:false,category:\"symbols\"},revolving_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💞\",fitzpatrick_scale:false,category:\"symbols\"},heartbeat:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"pink\",\"heart\"],char:\"💓\",fitzpatrick_scale:false,category:\"symbols\"},heartpulse:{keywords:[\"like\",\"love\",\"affection\",\"valentines\",\"pink\"],char:\"💗\",fitzpatrick_scale:false,category:\"symbols\"},sparkling_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💖\",fitzpatrick_scale:false,category:\"symbols\"},cupid:{keywords:[\"love\",\"like\",\"heart\",\"affection\",\"valentines\"],char:\"💘\",fitzpatrick_scale:false,category:\"symbols\"},gift_heart:{keywords:[\"love\",\"valentines\"],char:\"💝\",fitzpatrick_scale:false,category:\"symbols\"},heart_decoration:{keywords:[\"purple-square\",\"love\",\"like\"],char:\"💟\",fitzpatrick_scale:false,category:\"symbols\"},peace_symbol:{keywords:[\"hippie\"],char:\"☮\",fitzpatrick_scale:false,category:\"symbols\"},latin_cross:{keywords:[\"christianity\"],char:\"✝\",fitzpatrick_scale:false,category:\"symbols\"},star_and_crescent:{keywords:[\"islam\"],char:\"☪\",fitzpatrick_scale:false,category:\"symbols\"},om:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:\"🕉\",fitzpatrick_scale:false,category:\"symbols\"},wheel_of_dharma:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:\"☸\",fitzpatrick_scale:false,category:\"symbols\"},star_of_david:{keywords:[\"judaism\"],char:\"✡\",fitzpatrick_scale:false,category:\"symbols\"},six_pointed_star:{keywords:[\"purple-square\",\"religion\",\"jewish\",\"hexagram\"],char:\"🔯\",fitzpatrick_scale:false,category:\"symbols\"},menorah:{keywords:[\"hanukkah\",\"candles\",\"jewish\"],char:\"🕎\",fitzpatrick_scale:false,category:\"symbols\"},yin_yang:{keywords:[\"balance\"],char:\"☯\",fitzpatrick_scale:false,category:\"symbols\"},orthodox_cross:{keywords:[\"suppedaneum\",\"religion\"],char:\"☦\",fitzpatrick_scale:false,category:\"symbols\"},place_of_worship:{keywords:[\"religion\",\"church\",\"temple\",\"prayer\"],char:\"🛐\",fitzpatrick_scale:false,category:\"symbols\"},ophiuchus:{keywords:[\"sign\",\"purple-square\",\"constellation\",\"astrology\"],char:\"⛎\",fitzpatrick_scale:false,category:\"symbols\"},aries:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♈\",fitzpatrick_scale:false,category:\"symbols\"},taurus:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:\"♉\",fitzpatrick_scale:false,category:\"symbols\"},gemini:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♊\",fitzpatrick_scale:false,category:\"symbols\"},cancer:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♋\",fitzpatrick_scale:false,category:\"symbols\"},leo:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♌\",fitzpatrick_scale:false,category:\"symbols\"},virgo:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♍\",fitzpatrick_scale:false,category:\"symbols\"},libra:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♎\",fitzpatrick_scale:false,category:\"symbols\"},scorpius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\",\"scorpio\"],char:\"♏\",fitzpatrick_scale:false,category:\"symbols\"},sagittarius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♐\",fitzpatrick_scale:false,category:\"symbols\"},capricorn:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♑\",fitzpatrick_scale:false,category:\"symbols\"},aquarius:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♒\",fitzpatrick_scale:false,category:\"symbols\"},pisces:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:\"♓\",fitzpatrick_scale:false,category:\"symbols\"},id:{keywords:[\"purple-square\",\"words\"],char:\"🆔\",fitzpatrick_scale:false,category:\"symbols\"},atom_symbol:{keywords:[\"science\",\"physics\",\"chemistry\"],char:\"⚛\",fitzpatrick_scale:false,category:\"symbols\"},u7a7a:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"empty\",\"sky\",\"blue-square\"],char:\"🈳\",fitzpatrick_scale:false,category:\"symbols\"},u5272:{keywords:[\"cut\",\"divide\",\"chinese\",\"kanji\",\"pink-square\"],char:\"🈹\",fitzpatrick_scale:false,category:\"symbols\"},radioactive:{keywords:[\"nuclear\",\"danger\"],char:\"☢\",fitzpatrick_scale:false,category:\"symbols\"},biohazard:{keywords:[\"danger\"],char:\"☣\",fitzpatrick_scale:false,category:\"symbols\"},mobile_phone_off:{keywords:[\"mute\",\"orange-square\",\"silence\",\"quiet\"],char:\"📴\",fitzpatrick_scale:false,category:\"symbols\"},vibration_mode:{keywords:[\"orange-square\",\"phone\"],char:\"📳\",fitzpatrick_scale:false,category:\"symbols\"},u6709:{keywords:[\"orange-square\",\"chinese\",\"have\",\"kanji\"],char:\"🈶\",fitzpatrick_scale:false,category:\"symbols\"},u7121:{keywords:[\"nothing\",\"chinese\",\"kanji\",\"japanese\",\"orange-square\"],char:\"🈚\",fitzpatrick_scale:false,category:\"symbols\"},u7533:{keywords:[\"chinese\",\"japanese\",\"kanji\",\"orange-square\"],char:\"🈸\",fitzpatrick_scale:false,category:\"symbols\"},u55b6:{keywords:[\"japanese\",\"opening hours\",\"orange-square\"],char:\"🈺\",fitzpatrick_scale:false,category:\"symbols\"},u6708:{keywords:[\"chinese\",\"month\",\"moon\",\"japanese\",\"orange-square\",\"kanji\"],char:\"🈷️\",fitzpatrick_scale:false,category:\"symbols\"},eight_pointed_black_star:{keywords:[\"orange-square\",\"shape\",\"polygon\"],char:\"✴️\",fitzpatrick_scale:false,category:\"symbols\"},vs:{keywords:[\"words\",\"orange-square\"],char:\"🆚\",fitzpatrick_scale:false,category:\"symbols\"},accept:{keywords:[\"ok\",\"good\",\"chinese\",\"kanji\",\"agree\",\"yes\",\"orange-circle\"],char:\"🉑\",fitzpatrick_scale:false,category:\"symbols\"},white_flower:{keywords:[\"japanese\",\"spring\"],char:\"💮\",fitzpatrick_scale:false,category:\"symbols\"},ideograph_advantage:{keywords:[\"chinese\",\"kanji\",\"obtain\",\"get\",\"circle\"],char:\"🉐\",fitzpatrick_scale:false,category:\"symbols\"},secret:{keywords:[\"privacy\",\"chinese\",\"sshh\",\"kanji\",\"red-circle\"],char:\"㊙️\",fitzpatrick_scale:false,category:\"symbols\"},congratulations:{keywords:[\"chinese\",\"kanji\",\"japanese\",\"red-circle\"],char:\"㊗️\",fitzpatrick_scale:false,category:\"symbols\"},u5408:{keywords:[\"japanese\",\"chinese\",\"join\",\"kanji\",\"red-square\"],char:\"🈴\",fitzpatrick_scale:false,category:\"symbols\"},u6e80:{keywords:[\"full\",\"chinese\",\"japanese\",\"red-square\",\"kanji\"],char:\"🈵\",fitzpatrick_scale:false,category:\"symbols\"},u7981:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"forbidden\",\"limit\",\"restricted\",\"red-square\"],char:\"🈲\",fitzpatrick_scale:false,category:\"symbols\"},a:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:\"🅰️\",fitzpatrick_scale:false,category:\"symbols\"},b:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:\"🅱️\",fitzpatrick_scale:false,category:\"symbols\"},ab:{keywords:[\"red-square\",\"alphabet\"],char:\"🆎\",fitzpatrick_scale:false,category:\"symbols\"},cl:{keywords:[\"alphabet\",\"words\",\"red-square\"],char:\"🆑\",fitzpatrick_scale:false,category:\"symbols\"},o2:{keywords:[\"alphabet\",\"red-square\",\"letter\"],char:\"🅾️\",fitzpatrick_scale:false,category:\"symbols\"},sos:{keywords:[\"help\",\"red-square\",\"words\",\"emergency\",\"911\"],char:\"🆘\",fitzpatrick_scale:false,category:\"symbols\"},no_entry:{keywords:[\"limit\",\"security\",\"privacy\",\"bad\",\"denied\",\"stop\",\"circle\"],char:\"⛔\",fitzpatrick_scale:false,category:\"symbols\"},name_badge:{keywords:[\"fire\",\"forbid\"],char:\"📛\",fitzpatrick_scale:false,category:\"symbols\"},no_entry_sign:{keywords:[\"forbid\",\"stop\",\"limit\",\"denied\",\"disallow\",\"circle\"],char:\"🚫\",fitzpatrick_scale:false,category:\"symbols\"},x:{keywords:[\"no\",\"delete\",\"remove\",\"cancel\",\"red\"],char:\"❌\",fitzpatrick_scale:false,category:\"symbols\"},o:{keywords:[\"circle\",\"round\"],char:\"⭕\",fitzpatrick_scale:false,category:\"symbols\"},stop_sign:{keywords:[\"stop\"],char:\"🛑\",fitzpatrick_scale:false,category:\"symbols\"},anger:{keywords:[\"angry\",\"mad\"],char:\"💢\",fitzpatrick_scale:false,category:\"symbols\"},hotsprings:{keywords:[\"bath\",\"warm\",\"relax\"],char:\"♨️\",fitzpatrick_scale:false,category:\"symbols\"},no_pedestrians:{keywords:[\"rules\",\"crossing\",\"walking\",\"circle\"],char:\"🚷\",fitzpatrick_scale:false,category:\"symbols\"},do_not_litter:{keywords:[\"trash\",\"bin\",\"garbage\",\"circle\"],char:\"🚯\",fitzpatrick_scale:false,category:\"symbols\"},no_bicycles:{keywords:[\"cyclist\",\"prohibited\",\"circle\"],char:\"🚳\",fitzpatrick_scale:false,category:\"symbols\"},\"non-potable_water\":{keywords:[\"drink\",\"faucet\",\"tap\",\"circle\"],char:\"🚱\",fitzpatrick_scale:false,category:\"symbols\"},underage:{keywords:[\"18\",\"drink\",\"pub\",\"night\",\"minor\",\"circle\"],char:\"🔞\",fitzpatrick_scale:false,category:\"symbols\"},no_mobile_phones:{keywords:[\"iphone\",\"mute\",\"circle\"],char:\"📵\",fitzpatrick_scale:false,category:\"symbols\"},exclamation:{keywords:[\"heavy_exclamation_mark\",\"danger\",\"surprise\",\"punctuation\",\"wow\",\"warning\"],char:\"❗\",fitzpatrick_scale:false,category:\"symbols\"},grey_exclamation:{keywords:[\"surprise\",\"punctuation\",\"gray\",\"wow\",\"warning\"],char:\"❕\",fitzpatrick_scale:false,category:\"symbols\"},question:{keywords:[\"doubt\",\"confused\"],char:\"❓\",fitzpatrick_scale:false,category:\"symbols\"},grey_question:{keywords:[\"doubts\",\"gray\",\"huh\",\"confused\"],char:\"❔\",fitzpatrick_scale:false,category:\"symbols\"},bangbang:{keywords:[\"exclamation\",\"surprise\"],char:\"‼️\",fitzpatrick_scale:false,category:\"symbols\"},interrobang:{keywords:[\"wat\",\"punctuation\",\"surprise\"],char:\"⁉️\",fitzpatrick_scale:false,category:\"symbols\"},100:{keywords:[\"score\",\"perfect\",\"numbers\",\"century\",\"exam\",\"quiz\",\"test\",\"pass\",\"hundred\"],char:\"💯\",fitzpatrick_scale:false,category:\"symbols\"},low_brightness:{keywords:[\"sun\",\"afternoon\",\"warm\",\"summer\"],char:\"🔅\",fitzpatrick_scale:false,category:\"symbols\"},high_brightness:{keywords:[\"sun\",\"light\"],char:\"🔆\",fitzpatrick_scale:false,category:\"symbols\"},trident:{keywords:[\"weapon\",\"spear\"],char:\"🔱\",fitzpatrick_scale:false,category:\"symbols\"},fleur_de_lis:{keywords:[\"decorative\",\"scout\"],char:\"⚜\",fitzpatrick_scale:false,category:\"symbols\"},part_alternation_mark:{keywords:[\"graph\",\"presentation\",\"stats\",\"business\",\"economics\",\"bad\"],char:\"〽️\",fitzpatrick_scale:false,category:\"symbols\"},warning:{keywords:[\"exclamation\",\"wip\",\"alert\",\"error\",\"problem\",\"issue\"],char:\"⚠️\",fitzpatrick_scale:false,category:\"symbols\"},children_crossing:{keywords:[\"school\",\"warning\",\"danger\",\"sign\",\"driving\",\"yellow-diamond\"],char:\"🚸\",fitzpatrick_scale:false,category:\"symbols\"},beginner:{keywords:[\"badge\",\"shield\"],char:\"🔰\",fitzpatrick_scale:false,category:\"symbols\"},recycle:{keywords:[\"arrow\",\"environment\",\"garbage\",\"trash\"],char:\"♻️\",fitzpatrick_scale:false,category:\"symbols\"},u6307:{keywords:[\"chinese\",\"point\",\"green-square\",\"kanji\"],char:\"🈯\",fitzpatrick_scale:false,category:\"symbols\"},chart:{keywords:[\"green-square\",\"graph\",\"presentation\",\"stats\"],char:\"💹\",fitzpatrick_scale:false,category:\"symbols\"},sparkle:{keywords:[\"stars\",\"green-square\",\"awesome\",\"good\",\"fireworks\"],char:\"❇️\",fitzpatrick_scale:false,category:\"symbols\"},eight_spoked_asterisk:{keywords:[\"star\",\"sparkle\",\"green-square\"],char:\"✳️\",fitzpatrick_scale:false,category:\"symbols\"},negative_squared_cross_mark:{keywords:[\"x\",\"green-square\",\"no\",\"deny\"],char:\"❎\",fitzpatrick_scale:false,category:\"symbols\"},white_check_mark:{keywords:[\"green-square\",\"ok\",\"agree\",\"vote\",\"election\",\"answer\",\"tick\"],char:\"✅\",fitzpatrick_scale:false,category:\"symbols\"},diamond_shape_with_a_dot_inside:{keywords:[\"jewel\",\"blue\",\"gem\",\"crystal\",\"fancy\"],char:\"💠\",fitzpatrick_scale:false,category:\"symbols\"},cyclone:{keywords:[\"weather\",\"swirl\",\"blue\",\"cloud\",\"vortex\",\"spiral\",\"whirlpool\",\"spin\",\"tornado\",\"hurricane\",\"typhoon\"],char:\"🌀\",fitzpatrick_scale:false,category:\"symbols\"},loop:{keywords:[\"tape\",\"cassette\"],char:\"➿\",fitzpatrick_scale:false,category:\"symbols\"},globe_with_meridians:{keywords:[\"earth\",\"international\",\"world\",\"internet\",\"interweb\",\"i18n\"],char:\"🌐\",fitzpatrick_scale:false,category:\"symbols\"},m:{keywords:[\"alphabet\",\"blue-circle\",\"letter\"],char:\"Ⓜ️\",fitzpatrick_scale:false,category:\"symbols\"},atm:{keywords:[\"money\",\"sales\",\"cash\",\"blue-square\",\"payment\",\"bank\"],char:\"🏧\",fitzpatrick_scale:false,category:\"symbols\"},sa:{keywords:[\"japanese\",\"blue-square\",\"katakana\"],char:\"🈂️\",fitzpatrick_scale:false,category:\"symbols\"},passport_control:{keywords:[\"custom\",\"blue-square\"],char:\"🛂\",fitzpatrick_scale:false,category:\"symbols\"},customs:{keywords:[\"passport\",\"border\",\"blue-square\"],char:\"🛃\",fitzpatrick_scale:false,category:\"symbols\"},baggage_claim:{keywords:[\"blue-square\",\"airport\",\"transport\"],char:\"🛄\",fitzpatrick_scale:false,category:\"symbols\"},left_luggage:{keywords:[\"blue-square\",\"travel\"],char:\"🛅\",fitzpatrick_scale:false,category:\"symbols\"},wheelchair:{keywords:[\"blue-square\",\"disabled\",\"a11y\",\"accessibility\"],char:\"♿\",fitzpatrick_scale:false,category:\"symbols\"},no_smoking:{keywords:[\"cigarette\",\"blue-square\",\"smell\",\"smoke\"],char:\"🚭\",fitzpatrick_scale:false,category:\"symbols\"},wc:{keywords:[\"toilet\",\"restroom\",\"blue-square\"],char:\"🚾\",fitzpatrick_scale:false,category:\"symbols\"},parking:{keywords:[\"cars\",\"blue-square\",\"alphabet\",\"letter\"],char:\"🅿️\",fitzpatrick_scale:false,category:\"symbols\"},potable_water:{keywords:[\"blue-square\",\"liquid\",\"restroom\",\"cleaning\",\"faucet\"],char:\"🚰\",fitzpatrick_scale:false,category:\"symbols\"},mens:{keywords:[\"toilet\",\"restroom\",\"wc\",\"blue-square\",\"gender\",\"male\"],char:\"🚹\",fitzpatrick_scale:false,category:\"symbols\"},womens:{keywords:[\"purple-square\",\"woman\",\"female\",\"toilet\",\"loo\",\"restroom\",\"gender\"],char:\"🚺\",fitzpatrick_scale:false,category:\"symbols\"},baby_symbol:{keywords:[\"orange-square\",\"child\"],char:\"🚼\",fitzpatrick_scale:false,category:\"symbols\"},restroom:{keywords:[\"blue-square\",\"toilet\",\"refresh\",\"wc\",\"gender\"],char:\"🚻\",fitzpatrick_scale:false,category:\"symbols\"},put_litter_in_its_place:{keywords:[\"blue-square\",\"sign\",\"human\",\"info\"],char:\"🚮\",fitzpatrick_scale:false,category:\"symbols\"},cinema:{keywords:[\"blue-square\",\"record\",\"film\",\"movie\",\"curtain\",\"stage\",\"theater\"],char:\"🎦\",fitzpatrick_scale:false,category:\"symbols\"},signal_strength:{keywords:[\"blue-square\",\"reception\",\"phone\",\"internet\",\"connection\",\"wifi\",\"bluetooth\",\"bars\"],char:\"📶\",fitzpatrick_scale:false,category:\"symbols\"},koko:{keywords:[\"blue-square\",\"here\",\"katakana\",\"japanese\",\"destination\"],char:\"🈁\",fitzpatrick_scale:false,category:\"symbols\"},ng:{keywords:[\"blue-square\",\"words\",\"shape\",\"icon\"],char:\"🆖\",fitzpatrick_scale:false,category:\"symbols\"},ok:{keywords:[\"good\",\"agree\",\"yes\",\"blue-square\"],char:\"🆗\",fitzpatrick_scale:false,category:\"symbols\"},up:{keywords:[\"blue-square\",\"above\",\"high\"],char:\"🆙\",fitzpatrick_scale:false,category:\"symbols\"},cool:{keywords:[\"words\",\"blue-square\"],char:\"🆒\",fitzpatrick_scale:false,category:\"symbols\"},new:{keywords:[\"blue-square\",\"words\",\"start\"],char:\"🆕\",fitzpatrick_scale:false,category:\"symbols\"},free:{keywords:[\"blue-square\",\"words\"],char:\"🆓\",fitzpatrick_scale:false,category:\"symbols\"},zero:{keywords:[\"0\",\"numbers\",\"blue-square\",\"null\"],char:\"0️⃣\",fitzpatrick_scale:false,category:\"symbols\"},one:{keywords:[\"blue-square\",\"numbers\",\"1\"],char:\"1️⃣\",fitzpatrick_scale:false,category:\"symbols\"},two:{keywords:[\"numbers\",\"2\",\"prime\",\"blue-square\"],char:\"2️⃣\",fitzpatrick_scale:false,category:\"symbols\"},three:{keywords:[\"3\",\"numbers\",\"prime\",\"blue-square\"],char:\"3️⃣\",fitzpatrick_scale:false,category:\"symbols\"},four:{keywords:[\"4\",\"numbers\",\"blue-square\"],char:\"4️⃣\",fitzpatrick_scale:false,category:\"symbols\"},five:{keywords:[\"5\",\"numbers\",\"blue-square\",\"prime\"],char:\"5️⃣\",fitzpatrick_scale:false,category:\"symbols\"},six:{keywords:[\"6\",\"numbers\",\"blue-square\"],char:\"6️⃣\",fitzpatrick_scale:false,category:\"symbols\"},seven:{keywords:[\"7\",\"numbers\",\"blue-square\",\"prime\"],char:\"7️⃣\",fitzpatrick_scale:false,category:\"symbols\"},eight:{keywords:[\"8\",\"blue-square\",\"numbers\"],char:\"8️⃣\",fitzpatrick_scale:false,category:\"symbols\"},nine:{keywords:[\"blue-square\",\"numbers\",\"9\"],char:\"9️⃣\",fitzpatrick_scale:false,category:\"symbols\"},keycap_ten:{keywords:[\"numbers\",\"10\",\"blue-square\"],char:\"🔟\",fitzpatrick_scale:false,category:\"symbols\"},asterisk:{keywords:[\"star\",\"keycap\"],char:\"*⃣\",fitzpatrick_scale:false,category:\"symbols\"},1234:{keywords:[\"numbers\",\"blue-square\"],char:\"🔢\",fitzpatrick_scale:false,category:\"symbols\"},eject_button:{keywords:[\"blue-square\"],char:\"⏏️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_forward:{keywords:[\"blue-square\",\"right\",\"direction\",\"play\"],char:\"▶️\",fitzpatrick_scale:false,category:\"symbols\"},pause_button:{keywords:[\"pause\",\"blue-square\"],char:\"⏸\",fitzpatrick_scale:false,category:\"symbols\"},next_track_button:{keywords:[\"forward\",\"next\",\"blue-square\"],char:\"⏭\",fitzpatrick_scale:false,category:\"symbols\"},stop_button:{keywords:[\"blue-square\"],char:\"⏹\",fitzpatrick_scale:false,category:\"symbols\"},record_button:{keywords:[\"blue-square\"],char:\"⏺\",fitzpatrick_scale:false,category:\"symbols\"},play_or_pause_button:{keywords:[\"blue-square\",\"play\",\"pause\"],char:\"⏯\",fitzpatrick_scale:false,category:\"symbols\"},previous_track_button:{keywords:[\"backward\"],char:\"⏮\",fitzpatrick_scale:false,category:\"symbols\"},fast_forward:{keywords:[\"blue-square\",\"play\",\"speed\",\"continue\"],char:\"⏩\",fitzpatrick_scale:false,category:\"symbols\"},rewind:{keywords:[\"play\",\"blue-square\"],char:\"⏪\",fitzpatrick_scale:false,category:\"symbols\"},twisted_rightwards_arrows:{keywords:[\"blue-square\",\"shuffle\",\"music\",\"random\"],char:\"🔀\",fitzpatrick_scale:false,category:\"symbols\"},repeat:{keywords:[\"loop\",\"record\"],char:\"🔁\",fitzpatrick_scale:false,category:\"symbols\"},repeat_one:{keywords:[\"blue-square\",\"loop\"],char:\"🔂\",fitzpatrick_scale:false,category:\"symbols\"},arrow_backward:{keywords:[\"blue-square\",\"left\",\"direction\"],char:\"◀️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_up_small:{keywords:[\"blue-square\",\"triangle\",\"direction\",\"point\",\"forward\",\"top\"],char:\"🔼\",fitzpatrick_scale:false,category:\"symbols\"},arrow_down_small:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"🔽\",fitzpatrick_scale:false,category:\"symbols\"},arrow_double_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:\"⏫\",fitzpatrick_scale:false,category:\"symbols\"},arrow_double_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"⏬\",fitzpatrick_scale:false,category:\"symbols\"},arrow_right:{keywords:[\"blue-square\",\"next\"],char:\"➡️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_left:{keywords:[\"blue-square\",\"previous\",\"back\"],char:\"⬅️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_up:{keywords:[\"blue-square\",\"continue\",\"top\",\"direction\"],char:\"⬆️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"⬇️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_right:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northeast\"],char:\"↗️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_right:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southeast\"],char:\"↘️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_left:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southwest\"],char:\"↙️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_left:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northwest\"],char:\"↖️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_up_down:{keywords:[\"blue-square\",\"direction\",\"way\",\"vertical\"],char:\"↕️\",fitzpatrick_scale:false,category:\"symbols\"},left_right_arrow:{keywords:[\"shape\",\"direction\",\"horizontal\",\"sideways\"],char:\"↔️\",fitzpatrick_scale:false,category:\"symbols\"},arrows_counterclockwise:{keywords:[\"blue-square\",\"sync\",\"cycle\"],char:\"🔄\",fitzpatrick_scale:false,category:\"symbols\"},arrow_right_hook:{keywords:[\"blue-square\",\"return\",\"rotate\",\"direction\"],char:\"↪️\",fitzpatrick_scale:false,category:\"symbols\"},leftwards_arrow_with_hook:{keywords:[\"back\",\"return\",\"blue-square\",\"undo\",\"enter\"],char:\"↩️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:\"⤴️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"⤵️\",fitzpatrick_scale:false,category:\"symbols\"},hash:{keywords:[\"symbol\",\"blue-square\",\"twitter\"],char:\"#️⃣\",fitzpatrick_scale:false,category:\"symbols\"},information_source:{keywords:[\"blue-square\",\"alphabet\",\"letter\"],char:\"ℹ️\",fitzpatrick_scale:false,category:\"symbols\"},abc:{keywords:[\"blue-square\",\"alphabet\"],char:\"🔤\",fitzpatrick_scale:false,category:\"symbols\"},abcd:{keywords:[\"blue-square\",\"alphabet\"],char:\"🔡\",fitzpatrick_scale:false,category:\"symbols\"},capital_abcd:{keywords:[\"alphabet\",\"words\",\"blue-square\"],char:\"🔠\",fitzpatrick_scale:false,category:\"symbols\"},symbols:{keywords:[\"blue-square\",\"music\",\"note\",\"ampersand\",\"percent\",\"glyphs\",\"characters\"],char:\"🔣\",fitzpatrick_scale:false,category:\"symbols\"},musical_note:{keywords:[\"score\",\"tone\",\"sound\"],char:\"🎵\",fitzpatrick_scale:false,category:\"symbols\"},notes:{keywords:[\"music\",\"score\"],char:\"🎶\",fitzpatrick_scale:false,category:\"symbols\"},wavy_dash:{keywords:[\"draw\",\"line\",\"moustache\",\"mustache\",\"squiggle\",\"scribble\"],char:\"〰️\",fitzpatrick_scale:false,category:\"symbols\"},curly_loop:{keywords:[\"scribble\",\"draw\",\"shape\",\"squiggle\"],char:\"➰\",fitzpatrick_scale:false,category:\"symbols\"},heavy_check_mark:{keywords:[\"ok\",\"nike\",\"answer\",\"yes\",\"tick\"],char:\"✔️\",fitzpatrick_scale:false,category:\"symbols\"},arrows_clockwise:{keywords:[\"sync\",\"cycle\",\"round\",\"repeat\"],char:\"🔃\",fitzpatrick_scale:false,category:\"symbols\"},heavy_plus_sign:{keywords:[\"math\",\"calculation\",\"addition\",\"more\",\"increase\"],char:\"➕\",fitzpatrick_scale:false,category:\"symbols\"},heavy_minus_sign:{keywords:[\"math\",\"calculation\",\"subtract\",\"less\"],char:\"➖\",fitzpatrick_scale:false,category:\"symbols\"},heavy_division_sign:{keywords:[\"divide\",\"math\",\"calculation\"],char:\"➗\",fitzpatrick_scale:false,category:\"symbols\"},heavy_multiplication_x:{keywords:[\"math\",\"calculation\"],char:\"✖️\",fitzpatrick_scale:false,category:\"symbols\"},infinity:{keywords:[\"forever\"],char:\"♾\",fitzpatrick_scale:false,category:\"symbols\"},heavy_dollar_sign:{keywords:[\"money\",\"sales\",\"payment\",\"currency\",\"buck\"],char:\"💲\",fitzpatrick_scale:false,category:\"symbols\"},currency_exchange:{keywords:[\"money\",\"sales\",\"dollar\",\"travel\"],char:\"💱\",fitzpatrick_scale:false,category:\"symbols\"},copyright:{keywords:[\"ip\",\"license\",\"circle\",\"law\",\"legal\"],char:\"©️\",fitzpatrick_scale:false,category:\"symbols\"},registered:{keywords:[\"alphabet\",\"circle\"],char:\"®️\",fitzpatrick_scale:false,category:\"symbols\"},tm:{keywords:[\"trademark\",\"brand\",\"law\",\"legal\"],char:\"™️\",fitzpatrick_scale:false,category:\"symbols\"},end:{keywords:[\"words\",\"arrow\"],char:\"🔚\",fitzpatrick_scale:false,category:\"symbols\"},back:{keywords:[\"arrow\",\"words\",\"return\"],char:\"🔙\",fitzpatrick_scale:false,category:\"symbols\"},on:{keywords:[\"arrow\",\"words\"],char:\"🔛\",fitzpatrick_scale:false,category:\"symbols\"},top:{keywords:[\"words\",\"blue-square\"],char:\"🔝\",fitzpatrick_scale:false,category:\"symbols\"},soon:{keywords:[\"arrow\",\"words\"],char:\"🔜\",fitzpatrick_scale:false,category:\"symbols\"},ballot_box_with_check:{keywords:[\"ok\",\"agree\",\"confirm\",\"black-square\",\"vote\",\"election\",\"yes\",\"tick\"],char:\"☑️\",fitzpatrick_scale:false,category:\"symbols\"},radio_button:{keywords:[\"input\",\"old\",\"music\",\"circle\"],char:\"🔘\",fitzpatrick_scale:false,category:\"symbols\"},white_circle:{keywords:[\"shape\",\"round\"],char:\"⚪\",fitzpatrick_scale:false,category:\"symbols\"},black_circle:{keywords:[\"shape\",\"button\",\"round\"],char:\"⚫\",fitzpatrick_scale:false,category:\"symbols\"},red_circle:{keywords:[\"shape\",\"error\",\"danger\"],char:\"🔴\",fitzpatrick_scale:false,category:\"symbols\"},large_blue_circle:{keywords:[\"shape\",\"icon\",\"button\"],char:\"🔵\",fitzpatrick_scale:false,category:\"symbols\"},small_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔸\",fitzpatrick_scale:false,category:\"symbols\"},small_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔹\",fitzpatrick_scale:false,category:\"symbols\"},large_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔶\",fitzpatrick_scale:false,category:\"symbols\"},large_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔷\",fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle:{keywords:[\"shape\",\"direction\",\"up\",\"top\"],char:\"🔺\",fitzpatrick_scale:false,category:\"symbols\"},black_small_square:{keywords:[\"shape\",\"icon\"],char:\"▪️\",fitzpatrick_scale:false,category:\"symbols\"},white_small_square:{keywords:[\"shape\",\"icon\"],char:\"▫️\",fitzpatrick_scale:false,category:\"symbols\"},black_large_square:{keywords:[\"shape\",\"icon\",\"button\"],char:\"⬛\",fitzpatrick_scale:false,category:\"symbols\"},white_large_square:{keywords:[\"shape\",\"icon\",\"stone\",\"button\"],char:\"⬜\",fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle_down:{keywords:[\"shape\",\"direction\",\"bottom\"],char:\"🔻\",fitzpatrick_scale:false,category:\"symbols\"},black_medium_square:{keywords:[\"shape\",\"button\",\"icon\"],char:\"◼️\",fitzpatrick_scale:false,category:\"symbols\"},white_medium_square:{keywords:[\"shape\",\"stone\",\"icon\"],char:\"◻️\",fitzpatrick_scale:false,category:\"symbols\"},black_medium_small_square:{keywords:[\"icon\",\"shape\",\"button\"],char:\"◾\",fitzpatrick_scale:false,category:\"symbols\"},white_medium_small_square:{keywords:[\"shape\",\"stone\",\"icon\",\"button\"],char:\"◽\",fitzpatrick_scale:false,category:\"symbols\"},black_square_button:{keywords:[\"shape\",\"input\",\"frame\"],char:\"🔲\",fitzpatrick_scale:false,category:\"symbols\"},white_square_button:{keywords:[\"shape\",\"input\"],char:\"🔳\",fitzpatrick_scale:false,category:\"symbols\"},speaker:{keywords:[\"sound\",\"volume\",\"silence\",\"broadcast\"],char:\"🔈\",fitzpatrick_scale:false,category:\"symbols\"},sound:{keywords:[\"volume\",\"speaker\",\"broadcast\"],char:\"🔉\",fitzpatrick_scale:false,category:\"symbols\"},loud_sound:{keywords:[\"volume\",\"noise\",\"noisy\",\"speaker\",\"broadcast\"],char:\"🔊\",fitzpatrick_scale:false,category:\"symbols\"},mute:{keywords:[\"sound\",\"volume\",\"silence\",\"quiet\"],char:\"🔇\",fitzpatrick_scale:false,category:\"symbols\"},mega:{keywords:[\"sound\",\"speaker\",\"volume\"],char:\"📣\",fitzpatrick_scale:false,category:\"symbols\"},loudspeaker:{keywords:[\"volume\",\"sound\"],char:\"📢\",fitzpatrick_scale:false,category:\"symbols\"},bell:{keywords:[\"sound\",\"notification\",\"christmas\",\"xmas\",\"chime\"],char:\"🔔\",fitzpatrick_scale:false,category:\"symbols\"},no_bell:{keywords:[\"sound\",\"volume\",\"mute\",\"quiet\",\"silent\"],char:\"🔕\",fitzpatrick_scale:false,category:\"symbols\"},black_joker:{keywords:[\"poker\",\"cards\",\"game\",\"play\",\"magic\"],char:\"🃏\",fitzpatrick_scale:false,category:\"symbols\"},mahjong:{keywords:[\"game\",\"play\",\"chinese\",\"kanji\"],char:\"🀄\",fitzpatrick_scale:false,category:\"symbols\"},spades:{keywords:[\"poker\",\"cards\",\"suits\",\"magic\"],char:\"♠️\",fitzpatrick_scale:false,category:\"symbols\"},clubs:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:\"♣️\",fitzpatrick_scale:false,category:\"symbols\"},hearts:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:\"♥️\",fitzpatrick_scale:false,category:\"symbols\"},diamonds:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:\"♦️\",fitzpatrick_scale:false,category:\"symbols\"},flower_playing_cards:{keywords:[\"game\",\"sunset\",\"red\"],char:\"🎴\",fitzpatrick_scale:false,category:\"symbols\"},thought_balloon:{keywords:[\"bubble\",\"cloud\",\"speech\",\"thinking\",\"dream\"],char:\"💭\",fitzpatrick_scale:false,category:\"symbols\"},right_anger_bubble:{keywords:[\"caption\",\"speech\",\"thinking\",\"mad\"],char:\"🗯\",fitzpatrick_scale:false,category:\"symbols\"},speech_balloon:{keywords:[\"bubble\",\"words\",\"message\",\"talk\",\"chatting\"],char:\"💬\",fitzpatrick_scale:false,category:\"symbols\"},left_speech_bubble:{keywords:[\"words\",\"message\",\"talk\",\"chatting\"],char:\"🗨\",fitzpatrick_scale:false,category:\"symbols\"},clock1:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕐\",fitzpatrick_scale:false,category:\"symbols\"},clock2:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕑\",fitzpatrick_scale:false,category:\"symbols\"},clock3:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕒\",fitzpatrick_scale:false,category:\"symbols\"},clock4:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕓\",fitzpatrick_scale:false,category:\"symbols\"},clock5:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕔\",fitzpatrick_scale:false,category:\"symbols\"},clock6:{keywords:[\"time\",\"late\",\"early\",\"schedule\",\"dawn\",\"dusk\"],char:\"🕕\",fitzpatrick_scale:false,category:\"symbols\"},clock7:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕖\",fitzpatrick_scale:false,category:\"symbols\"},clock8:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕗\",fitzpatrick_scale:false,category:\"symbols\"},clock9:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕘\",fitzpatrick_scale:false,category:\"symbols\"},clock10:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕙\",fitzpatrick_scale:false,category:\"symbols\"},clock11:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕚\",fitzpatrick_scale:false,category:\"symbols\"},clock12:{keywords:[\"time\",\"noon\",\"midnight\",\"midday\",\"late\",\"early\",\"schedule\"],char:\"🕛\",fitzpatrick_scale:false,category:\"symbols\"},clock130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕜\",fitzpatrick_scale:false,category:\"symbols\"},clock230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕝\",fitzpatrick_scale:false,category:\"symbols\"},clock330:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕞\",fitzpatrick_scale:false,category:\"symbols\"},clock430:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕟\",fitzpatrick_scale:false,category:\"symbols\"},clock530:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕠\",fitzpatrick_scale:false,category:\"symbols\"},clock630:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕡\",fitzpatrick_scale:false,category:\"symbols\"},clock730:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕢\",fitzpatrick_scale:false,category:\"symbols\"},clock830:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕣\",fitzpatrick_scale:false,category:\"symbols\"},clock930:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕤\",fitzpatrick_scale:false,category:\"symbols\"},clock1030:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕥\",fitzpatrick_scale:false,category:\"symbols\"},clock1130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕦\",fitzpatrick_scale:false,category:\"symbols\"},clock1230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕧\",fitzpatrick_scale:false,category:\"symbols\"},afghanistan:{keywords:[\"af\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇫\",fitzpatrick_scale:false,category:\"flags\"},aland_islands:{keywords:[\"Åland\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇽\",fitzpatrick_scale:false,category:\"flags\"},albania:{keywords:[\"al\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇱\",fitzpatrick_scale:false,category:\"flags\"},algeria:{keywords:[\"dz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇿\",fitzpatrick_scale:false,category:\"flags\"},american_samoa:{keywords:[\"american\",\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇸\",fitzpatrick_scale:false,category:\"flags\"},andorra:{keywords:[\"ad\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇩\",fitzpatrick_scale:false,category:\"flags\"},angola:{keywords:[\"ao\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇴\",fitzpatrick_scale:false,category:\"flags\"},anguilla:{keywords:[\"ai\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇮\",fitzpatrick_scale:false,category:\"flags\"},antarctica:{keywords:[\"aq\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇶\",fitzpatrick_scale:false,category:\"flags\"},antigua_barbuda:{keywords:[\"antigua\",\"barbuda\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇬\",fitzpatrick_scale:false,category:\"flags\"},argentina:{keywords:[\"ar\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇷\",fitzpatrick_scale:false,category:\"flags\"},armenia:{keywords:[\"am\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇲\",fitzpatrick_scale:false,category:\"flags\"},aruba:{keywords:[\"aw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇼\",fitzpatrick_scale:false,category:\"flags\"},australia:{keywords:[\"au\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇺\",fitzpatrick_scale:false,category:\"flags\"},austria:{keywords:[\"at\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇹\",fitzpatrick_scale:false,category:\"flags\"},azerbaijan:{keywords:[\"az\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇿\",fitzpatrick_scale:false,category:\"flags\"},bahamas:{keywords:[\"bs\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇸\",fitzpatrick_scale:false,category:\"flags\"},bahrain:{keywords:[\"bh\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇭\",fitzpatrick_scale:false,category:\"flags\"},bangladesh:{keywords:[\"bd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇩\",fitzpatrick_scale:false,category:\"flags\"},barbados:{keywords:[\"bb\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇧\",fitzpatrick_scale:false,category:\"flags\"},belarus:{keywords:[\"by\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇾\",fitzpatrick_scale:false,category:\"flags\"},belgium:{keywords:[\"be\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇪\",fitzpatrick_scale:false,category:\"flags\"},belize:{keywords:[\"bz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇿\",fitzpatrick_scale:false,category:\"flags\"},benin:{keywords:[\"bj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇯\",fitzpatrick_scale:false,category:\"flags\"},bermuda:{keywords:[\"bm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇲\",fitzpatrick_scale:false,category:\"flags\"},bhutan:{keywords:[\"bt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇹\",fitzpatrick_scale:false,category:\"flags\"},bolivia:{keywords:[\"bo\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇴\",fitzpatrick_scale:false,category:\"flags\"},caribbean_netherlands:{keywords:[\"bonaire\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇶\",fitzpatrick_scale:false,category:\"flags\"},bosnia_herzegovina:{keywords:[\"bosnia\",\"herzegovina\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇦\",fitzpatrick_scale:false,category:\"flags\"},botswana:{keywords:[\"bw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇼\",fitzpatrick_scale:false,category:\"flags\"},brazil:{keywords:[\"br\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇷\",fitzpatrick_scale:false,category:\"flags\"},british_indian_ocean_territory:{keywords:[\"british\",\"indian\",\"ocean\",\"territory\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇴\",fitzpatrick_scale:false,category:\"flags\"},british_virgin_islands:{keywords:[\"british\",\"virgin\",\"islands\",\"bvi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇬\",fitzpatrick_scale:false,category:\"flags\"},brunei:{keywords:[\"bn\",\"darussalam\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇳\",fitzpatrick_scale:false,category:\"flags\"},bulgaria:{keywords:[\"bg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇬\",fitzpatrick_scale:false,category:\"flags\"},burkina_faso:{keywords:[\"burkina\",\"faso\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇫\",fitzpatrick_scale:false,category:\"flags\"},burundi:{keywords:[\"bi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇮\",fitzpatrick_scale:false,category:\"flags\"},cape_verde:{keywords:[\"cabo\",\"verde\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇻\",fitzpatrick_scale:false,category:\"flags\"},cambodia:{keywords:[\"kh\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇭\",fitzpatrick_scale:false,category:\"flags\"},cameroon:{keywords:[\"cm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇲\",fitzpatrick_scale:false,category:\"flags\"},canada:{keywords:[\"ca\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇦\",fitzpatrick_scale:false,category:\"flags\"},canary_islands:{keywords:[\"canary\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇨\",fitzpatrick_scale:false,category:\"flags\"},cayman_islands:{keywords:[\"cayman\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇾\",fitzpatrick_scale:false,category:\"flags\"},central_african_republic:{keywords:[\"central\",\"african\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇫\",fitzpatrick_scale:false,category:\"flags\"},chad:{keywords:[\"td\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇩\",fitzpatrick_scale:false,category:\"flags\"},chile:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇱\",fitzpatrick_scale:false,category:\"flags\"},cn:{keywords:[\"china\",\"chinese\",\"prc\",\"flag\",\"country\",\"nation\",\"banner\"],char:\"🇨🇳\",fitzpatrick_scale:false,category:\"flags\"},christmas_island:{keywords:[\"christmas\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇽\",fitzpatrick_scale:false,category:\"flags\"},cocos_islands:{keywords:[\"cocos\",\"keeling\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇨\",fitzpatrick_scale:false,category:\"flags\"},colombia:{keywords:[\"co\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇴\",fitzpatrick_scale:false,category:\"flags\"},comoros:{keywords:[\"km\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇲\",fitzpatrick_scale:false,category:\"flags\"},congo_brazzaville:{keywords:[\"congo\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇬\",fitzpatrick_scale:false,category:\"flags\"},congo_kinshasa:{keywords:[\"congo\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇩\",fitzpatrick_scale:false,category:\"flags\"},cook_islands:{keywords:[\"cook\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇰\",fitzpatrick_scale:false,category:\"flags\"},costa_rica:{keywords:[\"costa\",\"rica\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇷\",fitzpatrick_scale:false,category:\"flags\"},croatia:{keywords:[\"hr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇷\",fitzpatrick_scale:false,category:\"flags\"},cuba:{keywords:[\"cu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇺\",fitzpatrick_scale:false,category:\"flags\"},curacao:{keywords:[\"curaçao\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇼\",fitzpatrick_scale:false,category:\"flags\"},cyprus:{keywords:[\"cy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇾\",fitzpatrick_scale:false,category:\"flags\"},czech_republic:{keywords:[\"cz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇿\",fitzpatrick_scale:false,category:\"flags\"},denmark:{keywords:[\"dk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇰\",fitzpatrick_scale:false,category:\"flags\"},djibouti:{keywords:[\"dj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇯\",fitzpatrick_scale:false,category:\"flags\"},dominica:{keywords:[\"dm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇲\",fitzpatrick_scale:false,category:\"flags\"},dominican_republic:{keywords:[\"dominican\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇴\",fitzpatrick_scale:false,category:\"flags\"},ecuador:{keywords:[\"ec\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇨\",fitzpatrick_scale:false,category:\"flags\"},egypt:{keywords:[\"eg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇬\",fitzpatrick_scale:false,category:\"flags\"},el_salvador:{keywords:[\"el\",\"salvador\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇻\",fitzpatrick_scale:false,category:\"flags\"},equatorial_guinea:{keywords:[\"equatorial\",\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇶\",fitzpatrick_scale:false,category:\"flags\"},eritrea:{keywords:[\"er\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇷\",fitzpatrick_scale:false,category:\"flags\"},estonia:{keywords:[\"ee\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇪\",fitzpatrick_scale:false,category:\"flags\"},ethiopia:{keywords:[\"et\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇹\",fitzpatrick_scale:false,category:\"flags\"},eu:{keywords:[\"european\",\"union\",\"flag\",\"banner\"],char:\"🇪🇺\",fitzpatrick_scale:false,category:\"flags\"},falkland_islands:{keywords:[\"falkland\",\"islands\",\"malvinas\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇰\",fitzpatrick_scale:false,category:\"flags\"},faroe_islands:{keywords:[\"faroe\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇴\",fitzpatrick_scale:false,category:\"flags\"},fiji:{keywords:[\"fj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇯\",fitzpatrick_scale:false,category:\"flags\"},finland:{keywords:[\"fi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇮\",fitzpatrick_scale:false,category:\"flags\"},fr:{keywords:[\"banner\",\"flag\",\"nation\",\"france\",\"french\",\"country\"],char:\"🇫🇷\",fitzpatrick_scale:false,category:\"flags\"},french_guiana:{keywords:[\"french\",\"guiana\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇫\",fitzpatrick_scale:false,category:\"flags\"},french_polynesia:{keywords:[\"french\",\"polynesia\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇫\",fitzpatrick_scale:false,category:\"flags\"},french_southern_territories:{keywords:[\"french\",\"southern\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇫\",fitzpatrick_scale:false,category:\"flags\"},gabon:{keywords:[\"ga\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇦\",fitzpatrick_scale:false,category:\"flags\"},gambia:{keywords:[\"gm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇲\",fitzpatrick_scale:false,category:\"flags\"},georgia:{keywords:[\"ge\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇪\",fitzpatrick_scale:false,category:\"flags\"},de:{keywords:[\"german\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇩🇪\",fitzpatrick_scale:false,category:\"flags\"},ghana:{keywords:[\"gh\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇭\",fitzpatrick_scale:false,category:\"flags\"},gibraltar:{keywords:[\"gi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇮\",fitzpatrick_scale:false,category:\"flags\"},greece:{keywords:[\"gr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇷\",fitzpatrick_scale:false,category:\"flags\"},greenland:{keywords:[\"gl\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇱\",fitzpatrick_scale:false,category:\"flags\"},grenada:{keywords:[\"gd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇩\",fitzpatrick_scale:false,category:\"flags\"},guadeloupe:{keywords:[\"gp\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇵\",fitzpatrick_scale:false,category:\"flags\"},guam:{keywords:[\"gu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇺\",fitzpatrick_scale:false,category:\"flags\"},guatemala:{keywords:[\"gt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇹\",fitzpatrick_scale:false,category:\"flags\"},guernsey:{keywords:[\"gg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇬\",fitzpatrick_scale:false,category:\"flags\"},guinea:{keywords:[\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇳\",fitzpatrick_scale:false,category:\"flags\"},guinea_bissau:{keywords:[\"gw\",\"bissau\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇼\",fitzpatrick_scale:false,category:\"flags\"},guyana:{keywords:[\"gy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇾\",fitzpatrick_scale:false,category:\"flags\"},haiti:{keywords:[\"ht\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇹\",fitzpatrick_scale:false,category:\"flags\"},honduras:{keywords:[\"hn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇳\",fitzpatrick_scale:false,category:\"flags\"},hong_kong:{keywords:[\"hong\",\"kong\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇰\",fitzpatrick_scale:false,category:\"flags\"},hungary:{keywords:[\"hu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇺\",fitzpatrick_scale:false,category:\"flags\"},iceland:{keywords:[\"is\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇸\",fitzpatrick_scale:false,category:\"flags\"},india:{keywords:[\"in\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇳\",fitzpatrick_scale:false,category:\"flags\"},indonesia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇩\",fitzpatrick_scale:false,category:\"flags\"},iran:{keywords:[\"iran,\",\"islamic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇷\",fitzpatrick_scale:false,category:\"flags\"},iraq:{keywords:[\"iq\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇶\",fitzpatrick_scale:false,category:\"flags\"},ireland:{keywords:[\"ie\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇪\",fitzpatrick_scale:false,category:\"flags\"},isle_of_man:{keywords:[\"isle\",\"man\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇲\",fitzpatrick_scale:false,category:\"flags\"},israel:{keywords:[\"il\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇱\",fitzpatrick_scale:false,category:\"flags\"},it:{keywords:[\"italy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇹\",fitzpatrick_scale:false,category:\"flags\"},cote_divoire:{keywords:[\"ivory\",\"coast\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇮\",fitzpatrick_scale:false,category:\"flags\"},jamaica:{keywords:[\"jm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇯🇲\",fitzpatrick_scale:false,category:\"flags\"},jp:{keywords:[\"japanese\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇯🇵\",fitzpatrick_scale:false,category:\"flags\"},jersey:{keywords:[\"je\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇯🇪\",fitzpatrick_scale:false,category:\"flags\"},jordan:{keywords:[\"jo\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇯🇴\",fitzpatrick_scale:false,category:\"flags\"},kazakhstan:{keywords:[\"kz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇿\",fitzpatrick_scale:false,category:\"flags\"},kenya:{keywords:[\"ke\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇪\",fitzpatrick_scale:false,category:\"flags\"},kiribati:{keywords:[\"ki\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇮\",fitzpatrick_scale:false,category:\"flags\"},kosovo:{keywords:[\"xk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇽🇰\",fitzpatrick_scale:false,category:\"flags\"},kuwait:{keywords:[\"kw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇼\",fitzpatrick_scale:false,category:\"flags\"},kyrgyzstan:{keywords:[\"kg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇬\",fitzpatrick_scale:false,category:\"flags\"},laos:{keywords:[\"lao\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇦\",fitzpatrick_scale:false,category:\"flags\"},latvia:{keywords:[\"lv\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇻\",fitzpatrick_scale:false,category:\"flags\"},lebanon:{keywords:[\"lb\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇧\",fitzpatrick_scale:false,category:\"flags\"},lesotho:{keywords:[\"ls\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇸\",fitzpatrick_scale:false,category:\"flags\"},liberia:{keywords:[\"lr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇷\",fitzpatrick_scale:false,category:\"flags\"},libya:{keywords:[\"ly\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇾\",fitzpatrick_scale:false,category:\"flags\"},liechtenstein:{keywords:[\"li\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇮\",fitzpatrick_scale:false,category:\"flags\"},lithuania:{keywords:[\"lt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇹\",fitzpatrick_scale:false,category:\"flags\"},luxembourg:{keywords:[\"lu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇺\",fitzpatrick_scale:false,category:\"flags\"},macau:{keywords:[\"macao\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇴\",fitzpatrick_scale:false,category:\"flags\"},macedonia:{keywords:[\"macedonia,\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇰\",fitzpatrick_scale:false,category:\"flags\"},madagascar:{keywords:[\"mg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇬\",fitzpatrick_scale:false,category:\"flags\"},malawi:{keywords:[\"mw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇼\",fitzpatrick_scale:false,category:\"flags\"},malaysia:{keywords:[\"my\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇾\",fitzpatrick_scale:false,category:\"flags\"},maldives:{keywords:[\"mv\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇻\",fitzpatrick_scale:false,category:\"flags\"},mali:{keywords:[\"ml\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇱\",fitzpatrick_scale:false,category:\"flags\"},malta:{keywords:[\"mt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇹\",fitzpatrick_scale:false,category:\"flags\"},marshall_islands:{keywords:[\"marshall\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇭\",fitzpatrick_scale:false,category:\"flags\"},martinique:{keywords:[\"mq\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇶\",fitzpatrick_scale:false,category:\"flags\"},mauritania:{keywords:[\"mr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇷\",fitzpatrick_scale:false,category:\"flags\"},mauritius:{keywords:[\"mu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇺\",fitzpatrick_scale:false,category:\"flags\"},mayotte:{keywords:[\"yt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇾🇹\",fitzpatrick_scale:false,category:\"flags\"},mexico:{keywords:[\"mx\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇽\",fitzpatrick_scale:false,category:\"flags\"},micronesia:{keywords:[\"micronesia,\",\"federated\",\"states\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇲\",fitzpatrick_scale:false,category:\"flags\"},moldova:{keywords:[\"moldova,\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇩\",fitzpatrick_scale:false,category:\"flags\"},monaco:{keywords:[\"mc\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇨\",fitzpatrick_scale:false,category:\"flags\"},mongolia:{keywords:[\"mn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇳\",fitzpatrick_scale:false,category:\"flags\"},montenegro:{keywords:[\"me\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇪\",fitzpatrick_scale:false,category:\"flags\"},montserrat:{keywords:[\"ms\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇸\",fitzpatrick_scale:false,category:\"flags\"},morocco:{keywords:[\"ma\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇦\",fitzpatrick_scale:false,category:\"flags\"},mozambique:{keywords:[\"mz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇿\",fitzpatrick_scale:false,category:\"flags\"},myanmar:{keywords:[\"mm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇲\",fitzpatrick_scale:false,category:\"flags\"},namibia:{keywords:[\"na\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇦\",fitzpatrick_scale:false,category:\"flags\"},nauru:{keywords:[\"nr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇷\",fitzpatrick_scale:false,category:\"flags\"},nepal:{keywords:[\"np\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇵\",fitzpatrick_scale:false,category:\"flags\"},netherlands:{keywords:[\"nl\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇱\",fitzpatrick_scale:false,category:\"flags\"},new_caledonia:{keywords:[\"new\",\"caledonia\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇨\",fitzpatrick_scale:false,category:\"flags\"},new_zealand:{keywords:[\"new\",\"zealand\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇿\",fitzpatrick_scale:false,category:\"flags\"},nicaragua:{keywords:[\"ni\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇮\",fitzpatrick_scale:false,category:\"flags\"},niger:{keywords:[\"ne\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇪\",fitzpatrick_scale:false,category:\"flags\"},nigeria:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇬\",fitzpatrick_scale:false,category:\"flags\"},niue:{keywords:[\"nu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇺\",fitzpatrick_scale:false,category:\"flags\"},norfolk_island:{keywords:[\"norfolk\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇫\",fitzpatrick_scale:false,category:\"flags\"},northern_mariana_islands:{keywords:[\"northern\",\"mariana\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇵\",fitzpatrick_scale:false,category:\"flags\"},north_korea:{keywords:[\"north\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇰🇵\",fitzpatrick_scale:false,category:\"flags\"},norway:{keywords:[\"no\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇴\",fitzpatrick_scale:false,category:\"flags\"},oman:{keywords:[\"om_symbol\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇴🇲\",fitzpatrick_scale:false,category:\"flags\"},pakistan:{keywords:[\"pk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇰\",fitzpatrick_scale:false,category:\"flags\"},palau:{keywords:[\"pw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇼\",fitzpatrick_scale:false,category:\"flags\"},palestinian_territories:{keywords:[\"palestine\",\"palestinian\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇸\",fitzpatrick_scale:false,category:\"flags\"},panama:{keywords:[\"pa\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇦\",fitzpatrick_scale:false,category:\"flags\"},papua_new_guinea:{keywords:[\"papua\",\"new\",\"guinea\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇬\",fitzpatrick_scale:false,category:\"flags\"},paraguay:{keywords:[\"py\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇾\",fitzpatrick_scale:false,category:\"flags\"},peru:{keywords:[\"pe\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇪\",fitzpatrick_scale:false,category:\"flags\"},philippines:{keywords:[\"ph\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇭\",fitzpatrick_scale:false,category:\"flags\"},pitcairn_islands:{keywords:[\"pitcairn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇳\",fitzpatrick_scale:false,category:\"flags\"},poland:{keywords:[\"pl\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇱\",fitzpatrick_scale:false,category:\"flags\"},portugal:{keywords:[\"pt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇹\",fitzpatrick_scale:false,category:\"flags\"},puerto_rico:{keywords:[\"puerto\",\"rico\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇷\",fitzpatrick_scale:false,category:\"flags\"},qatar:{keywords:[\"qa\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇶🇦\",fitzpatrick_scale:false,category:\"flags\"},reunion:{keywords:[\"réunion\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇪\",fitzpatrick_scale:false,category:\"flags\"},romania:{keywords:[\"ro\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇴\",fitzpatrick_scale:false,category:\"flags\"},ru:{keywords:[\"russian\",\"federation\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇺\",fitzpatrick_scale:false,category:\"flags\"},rwanda:{keywords:[\"rw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇼\",fitzpatrick_scale:false,category:\"flags\"},st_barthelemy:{keywords:[\"saint\",\"barthélemy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇱\",fitzpatrick_scale:false,category:\"flags\"},st_helena:{keywords:[\"saint\",\"helena\",\"ascension\",\"tristan\",\"cunha\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇭\",fitzpatrick_scale:false,category:\"flags\"},st_kitts_nevis:{keywords:[\"saint\",\"kitts\",\"nevis\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇳\",fitzpatrick_scale:false,category:\"flags\"},st_lucia:{keywords:[\"saint\",\"lucia\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇨\",fitzpatrick_scale:false,category:\"flags\"},st_pierre_miquelon:{keywords:[\"saint\",\"pierre\",\"miquelon\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇲\",fitzpatrick_scale:false,category:\"flags\"},st_vincent_grenadines:{keywords:[\"saint\",\"vincent\",\"grenadines\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇨\",fitzpatrick_scale:false,category:\"flags\"},samoa:{keywords:[\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇼🇸\",fitzpatrick_scale:false,category:\"flags\"},san_marino:{keywords:[\"san\",\"marino\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇲\",fitzpatrick_scale:false,category:\"flags\"},sao_tome_principe:{keywords:[\"sao\",\"tome\",\"principe\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇹\",fitzpatrick_scale:false,category:\"flags\"},saudi_arabia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇦\",fitzpatrick_scale:false,category:\"flags\"},senegal:{keywords:[\"sn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇳\",fitzpatrick_scale:false,category:\"flags\"},serbia:{keywords:[\"rs\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇸\",fitzpatrick_scale:false,category:\"flags\"},seychelles:{keywords:[\"sc\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇨\",fitzpatrick_scale:false,category:\"flags\"},sierra_leone:{keywords:[\"sierra\",\"leone\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇱\",fitzpatrick_scale:false,category:\"flags\"},singapore:{keywords:[\"sg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇬\",fitzpatrick_scale:false,category:\"flags\"},sint_maarten:{keywords:[\"sint\",\"maarten\",\"dutch\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇽\",fitzpatrick_scale:false,category:\"flags\"},slovakia:{keywords:[\"sk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇰\",fitzpatrick_scale:false,category:\"flags\"},slovenia:{keywords:[\"si\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇮\",fitzpatrick_scale:false,category:\"flags\"},solomon_islands:{keywords:[\"solomon\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇧\",fitzpatrick_scale:false,category:\"flags\"},somalia:{keywords:[\"so\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇴\",fitzpatrick_scale:false,category:\"flags\"},south_africa:{keywords:[\"south\",\"africa\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇿🇦\",fitzpatrick_scale:false,category:\"flags\"},south_georgia_south_sandwich_islands:{keywords:[\"south\",\"georgia\",\"sandwich\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇸\",fitzpatrick_scale:false,category:\"flags\"},kr:{keywords:[\"south\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇰🇷\",fitzpatrick_scale:false,category:\"flags\"},south_sudan:{keywords:[\"south\",\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇸\",fitzpatrick_scale:false,category:\"flags\"},es:{keywords:[\"spain\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇸\",fitzpatrick_scale:false,category:\"flags\"},sri_lanka:{keywords:[\"sri\",\"lanka\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇰\",fitzpatrick_scale:false,category:\"flags\"},sudan:{keywords:[\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇩\",fitzpatrick_scale:false,category:\"flags\"},suriname:{keywords:[\"sr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇷\",fitzpatrick_scale:false,category:\"flags\"},swaziland:{keywords:[\"sz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇿\",fitzpatrick_scale:false,category:\"flags\"},sweden:{keywords:[\"se\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇪\",fitzpatrick_scale:false,category:\"flags\"},switzerland:{keywords:[\"ch\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇭\",fitzpatrick_scale:false,category:\"flags\"},syria:{keywords:[\"syrian\",\"arab\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇾\",fitzpatrick_scale:false,category:\"flags\"},taiwan:{keywords:[\"tw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇼\",fitzpatrick_scale:false,category:\"flags\"},tajikistan:{keywords:[\"tj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇯\",fitzpatrick_scale:false,category:\"flags\"},tanzania:{keywords:[\"tanzania,\",\"united\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇿\",fitzpatrick_scale:false,category:\"flags\"},thailand:{keywords:[\"th\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇭\",fitzpatrick_scale:false,category:\"flags\"},timor_leste:{keywords:[\"timor\",\"leste\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇱\",fitzpatrick_scale:false,category:\"flags\"},togo:{keywords:[\"tg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇬\",fitzpatrick_scale:false,category:\"flags\"},tokelau:{keywords:[\"tk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇰\",fitzpatrick_scale:false,category:\"flags\"},tonga:{keywords:[\"to\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇴\",fitzpatrick_scale:false,category:\"flags\"},trinidad_tobago:{keywords:[\"trinidad\",\"tobago\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇹\",fitzpatrick_scale:false,category:\"flags\"},tunisia:{keywords:[\"tn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇳\",fitzpatrick_scale:false,category:\"flags\"},tr:{keywords:[\"turkey\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇷\",fitzpatrick_scale:false,category:\"flags\"},turkmenistan:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇲\",fitzpatrick_scale:false,category:\"flags\"},turks_caicos_islands:{keywords:[\"turks\",\"caicos\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇨\",fitzpatrick_scale:false,category:\"flags\"},tuvalu:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇻\",fitzpatrick_scale:false,category:\"flags\"},uganda:{keywords:[\"ug\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇬\",fitzpatrick_scale:false,category:\"flags\"},ukraine:{keywords:[\"ua\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇦\",fitzpatrick_scale:false,category:\"flags\"},united_arab_emirates:{keywords:[\"united\",\"arab\",\"emirates\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇪\",fitzpatrick_scale:false,category:\"flags\"},uk:{keywords:[\"united\",\"kingdom\",\"great\",\"britain\",\"northern\",\"ireland\",\"flag\",\"nation\",\"country\",\"banner\",\"british\",\"UK\",\"english\",\"england\",\"union jack\"],char:\"🇬🇧\",fitzpatrick_scale:false,category:\"flags\"},england:{keywords:[\"flag\",\"english\"],char:\"🏴󠁧󠁢󠁥󠁮󠁧󠁿\",fitzpatrick_scale:false,category:\"flags\"},scotland:{keywords:[\"flag\",\"scottish\"],char:\"🏴󠁧󠁢󠁳󠁣󠁴󠁿\",fitzpatrick_scale:false,category:\"flags\"},wales:{keywords:[\"flag\",\"welsh\"],char:\"🏴󠁧󠁢󠁷󠁬󠁳󠁿\",fitzpatrick_scale:false,category:\"flags\"},us:{keywords:[\"united\",\"states\",\"america\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇸\",fitzpatrick_scale:false,category:\"flags\"},us_virgin_islands:{keywords:[\"virgin\",\"islands\",\"us\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇮\",fitzpatrick_scale:false,category:\"flags\"},uruguay:{keywords:[\"uy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇾\",fitzpatrick_scale:false,category:\"flags\"},uzbekistan:{keywords:[\"uz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇿\",fitzpatrick_scale:false,category:\"flags\"},vanuatu:{keywords:[\"vu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇺\",fitzpatrick_scale:false,category:\"flags\"},vatican_city:{keywords:[\"vatican\",\"city\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇦\",fitzpatrick_scale:false,category:\"flags\"},venezuela:{keywords:[\"ve\",\"bolivarian\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇪\",fitzpatrick_scale:false,category:\"flags\"},vietnam:{keywords:[\"viet\",\"nam\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇳\",fitzpatrick_scale:false,category:\"flags\"},wallis_futuna:{keywords:[\"wallis\",\"futuna\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇼🇫\",fitzpatrick_scale:false,category:\"flags\"},western_sahara:{keywords:[\"western\",\"sahara\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇭\",fitzpatrick_scale:false,category:\"flags\"},yemen:{keywords:[\"ye\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇾🇪\",fitzpatrick_scale:false,category:\"flags\"},zambia:{keywords:[\"zm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇿🇲\",fitzpatrick_scale:false,category:\"flags\"},zimbabwe:{keywords:[\"zw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇿🇼\",fitzpatrick_scale:false,category:\"flags\"},united_nations:{keywords:[\"un\",\"flag\",\"banner\"],char:\"🇺🇳\",fitzpatrick_scale:false,category:\"flags\"},pirate_flag:{keywords:[\"skull\",\"crossbones\",\"flag\",\"banner\"],char:\"🏴‍☠️\",fitzpatrick_scale:false,category:\"flags\"}});/*!\n * Tiny FormatPainter plugin\n *\n * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.\n * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/\n *\n * Version: 2.0.2-52\n */\n\n!function(){\"use strict\";const e=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},t=e=>parseInt(e,10),r=(e,t)=>{const r=e-t;return 0===r?0:r>0?1:-1},o=(e,t,r)=>({major:e,minor:t,patch:r}),n=e=>{const r=/([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:(\\-.+)?)/.exec(e);return r?o(t(r[1]),t(r[2]),t(r[3])):o(0,0,0)},s=e=>t=>(e=>{const t=typeof e;return null===e?\"null\":\"object\"===t&&Array.isArray(e)?\"array\":\"object\"===t&&(r=o=e,(n=String).prototype.isPrototypeOf(r)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===n.name)?\"string\":t;var r,o,n,s})(t)===e,i=e=>t=>typeof t===e,a=s(\"string\"),c=s(\"array\"),l=i(\"boolean\"),m=(void 0,e=>undefined===e);const u=e=>!(e=>null==e)(e),d=i(\"function\"),g=i(\"number\"),h=e=>()=>e,f=e=>e,p=h(!1),v=h(!0);class b{constructor(e,t){this.tag=e,this.value=t}static some(e){return new b(!0,e)}static none(){return b.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?b.some(e(this.value)):b.none()}bind(e){return this.tag?e(this.value):b.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:b.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:\"Called getOrDie on None\")}static from(e){return u(e)?b.some(e):b.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:\"none()\"}}b.singletonNone=new b(!1);const y=Array.prototype.indexOf,S=Array.prototype.push,w=(e,t)=>((e,t)=>y.call(e,t))(e,t)>-1,x=(e,t)=>{for(let r=0,o=e.length;r<o;r++)if(t(e[r],r))return!0;return!1},k=(e,t)=>{const r=e.length,o=new Array(r);for(let n=0;n<r;n++){const r=e[n];o[n]=t(r,n)}return o},A=(e,t)=>{const r=[];for(let o=0,n=e.length;o<n;o++){const n=e[o];t(n,o)&&r.push(n)}return r},O=(e,t)=>((e,t,r)=>{for(let o=0,n=e.length;o<n;o++){const n=e[o];if(t(n,o))return b.some(n);if(r(n,o))break}return b.none()})(e,t,p),C=(e,t)=>(e=>{const t=[];for(let r=0,o=e.length;r<o;++r){if(!c(e[r]))throw new Error(\"Arr.flatten item \"+r+\" was not an array, input: \"+e);S.apply(t,e[r])}return t})(k(e,t)),L=()=>R(0,0),R=(e,t)=>({major:e,minor:t}),T={nu:R,detect:(e,t)=>{const r=String(t).toLowerCase();return 0===e.length?L():((e,t)=>{const r=((e,t)=>{for(let r=0;r<e.length;r++){const o=e[r];if(o.test(t))return o}})(e,t);if(!r)return{major:0,minor:0};const o=e=>Number(t.replace(r,\"$\"+e));return R(o(1),o(2))})(e,r)},unknown:L},_=(e,t)=>{const r=String(t).toLowerCase();return O(e,(e=>e.search(r)))},P=(e,t,r=0,o)=>{const n=e.indexOf(t,r);return-1!==n&&(!!m(o)||n+t.length<=o)},F=/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,E=e=>t=>P(t,e),N=[{name:\"Edge\",versionRegexes:[/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],search:e=>P(e,\"edge/\")&&P(e,\"chrome\")&&P(e,\"safari\")&&P(e,\"applewebkit\")},{name:\"Chromium\",brand:\"Chromium\",versionRegexes:[/.*?chrome\\/([0-9]+)\\.([0-9]+).*/,F],search:e=>P(e,\"chrome\")&&!P(e,\"chromeframe\")},{name:\"IE\",versionRegexes:[/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,/.*?rv:([0-9]+)\\.([0-9]+).*/],search:e=>P(e,\"msie\")||P(e,\"trident\")},{name:\"Opera\",versionRegexes:[F,/.*?opera\\/([0-9]+)\\.([0-9]+).*/],search:E(\"opera\")},{name:\"Firefox\",versionRegexes:[/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],search:E(\"firefox\")},{name:\"Safari\",versionRegexes:[F,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(P(e,\"safari\")||P(e,\"mobile/\"))&&P(e,\"applewebkit\")}],B=[{name:\"Windows\",search:E(\"win\"),versionRegexes:[/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]},{name:\"iOS\",search:e=>P(e,\"iphone\")||P(e,\"ipad\"),versionRegexes:[/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:\"Android\",search:E(\"android\"),versionRegexes:[/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]},{name:\"macOS\",search:E(\"mac os x\"),versionRegexes:[/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]},{name:\"Linux\",search:E(\"linux\"),versionRegexes:[]},{name:\"Solaris\",search:E(\"sunos\"),versionRegexes:[]},{name:\"FreeBSD\",search:E(\"freebsd\"),versionRegexes:[]},{name:\"ChromeOS\",search:E(\"cros\"),versionRegexes:[/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]}],D={browsers:h(N),oses:h(B)},I=\"Edge\",j=\"Chromium\",M=\"Opera\",V=\"Firefox\",U=\"Safari\",W=e=>{const t=e.current,r=e.version,o=e=>()=>t===e;return{current:t,version:r,isEdge:o(I),isChromium:o(j),isIE:o(\"IE\"),isOpera:o(M),isFirefox:o(V),isSafari:o(U)}},$=()=>W({current:void 0,version:T.unknown()}),q=W,z=(h(I),h(j),h(\"IE\"),h(M),h(V),h(U),\"Windows\"),K=\"Android\",Z=\"Linux\",G=\"macOS\",H=\"Solaris\",J=\"FreeBSD\",Q=\"ChromeOS\",X=e=>{const t=e.current,r=e.version,o=e=>()=>t===e;return{current:t,version:r,isWindows:o(z),isiOS:o(\"iOS\"),isAndroid:o(K),isMacOS:o(G),isLinux:o(Z),isSolaris:o(H),isFreeBSD:o(J),isChromeOS:o(Q)}},Y=()=>X({current:void 0,version:T.unknown()}),ee=X,te=(h(z),h(\"iOS\"),h(K),h(Z),h(G),h(H),h(J),h(Q),(e,t,r)=>{const o=D.browsers(),n=D.oses(),s=t.bind((e=>((e,t)=>((e,t)=>{for(let r=0;r<e.length;r++){const o=t(e[r]);if(o.isSome())return o}return b.none()})(t.brands,(t=>{const r=t.brand.toLowerCase();return O(e,(e=>{var t;return r===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:T.nu(parseInt(t.version,10),0)})))})))(o,e))).orThunk((()=>((e,t)=>_(e,t).map((e=>{const r=T.detect(e.versionRegexes,t);return{current:e.name,version:r}})))(o,e))).fold($,q),i=((e,t)=>_(e,t).map((e=>{const r=T.detect(e.versionRegexes,t);return{current:e.name,version:r}})))(n,e).fold(Y,ee),a=((e,t,r,o)=>{const n=e.isiOS()&&!0===/ipad/i.test(r),s=e.isiOS()&&!n,i=e.isiOS()||e.isAndroid(),a=i||o(\"(pointer:coarse)\"),c=n||!s&&i&&o(\"(min-device-width:768px)\"),l=s||i&&!c,m=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(r),u=!l&&!c&&!m;return{isiPad:h(n),isiPhone:h(s),isTablet:h(c),isPhone:h(l),isTouch:h(a),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:h(m),isDesktop:h(u)}})(i,s,e,r);return{browser:s,os:i,deviceType:a}}),re=e=>window.matchMedia(e).matches;let oe=(e=>{let t,r=!1;return(...o)=>(r||(r=!0,t=e.apply(null,o)),t)})((()=>te(navigator.userAgent,b.from(navigator.userAgentData),re)));const ne=()=>oe(),se=Object.keys,ie=Object.hasOwnProperty,ae=(e,t)=>{const r=se(e);for(let o=0,n=r.length;o<n;o++){const n=r[o];t(e[n],n)}},ce=(e,t)=>{const r={};return ae(e,((e,o)=>{const n=t(e,o);r[n.k]=n.v})),r},le=e=>(t,r)=>{e[r]=t},me=e=>((e,t)=>{const r=[];return ae(e,((e,o)=>{r.push(t(e,o))})),r})(e,f),ue=(e,t)=>de(e,t)?b.from(e[t]):b.none(),de=(e,t)=>ie.call(e,t);\"undefined\"!=typeof window?window:Function(\"return this;\")();const ge=e=>t=>(e=>e.dom.nodeType)(t)===e,he=ge(1),fe=ge(3),pe=ge(9),ve=ge(11),be=(e,t,r)=>{((e,t,r)=>{if(!(a(r)||l(r)||g(r)))throw console.error(\"Invalid call to Attribute.set. Key \",t,\":: Value \",r,\":: Element \",e),new Error(\"Attribute value was not simple\");e.setAttribute(t,r+\"\")})(e.dom,t,r)},ye=(e,t)=>{const r=e.dom.getAttribute(t);return null===r?void 0:r},Se=(e,t)=>{e.dom.removeAttribute(t)},we=(e,t)=>{const r=ye(e,t);return void 0===r||\"\"===r?[]:r.split(\" \")},xe=e=>void 0!==e.dom.classList,ke=e=>we(e,\"class\"),Ae=(e,t)=>{xe(e)?e.dom.classList.remove(t):((e,t)=>{((e,t,r)=>{const o=A(we(e,t),(e=>e!==r));o.length>0?be(e,t,o.join(\" \")):Se(e,t)})(e,\"class\",t)})(e,t),(e=>{0===(xe(e)?e.dom.classList:ke(e)).length&&Se(e,\"class\")})(e)},Oe=e=>{if(null==e)throw new Error(\"Node cannot be null or undefined\");return{dom:e}},Ce=Oe,Le=(e,t)=>{e.dispatch(\"FormatPainterToggle\",{state:t})};var Re,Te,_e,Pe;!function(e){e.Retrival=\"Retrieval\",e.Application=\"Application\"}(Re||(Re={})),function(e){e.ListSchema=\"ListSchema\",e.SubstitutionSchema=\"SubstitionSchema\"}(Te||(Te={})),function(e){e.InsertUnorderedList=\"InsertUnorderedList\",e.InsertOrderedList=\"InsertOrderedList\",e.InsertDefinitionList=\"InsertDefinitionList\"}(_e||(_e={})),function(e){e.Table=\"Table\",e.Unspecified=\"Unspecified\"}(Pe||(Pe={}));const Fe=e=>{var t,r;t=Ce(e.getBody()),r=\"tox-cursor-format-painter\",xe(t)?t.dom.classList.add(r):((e,t)=>{((e,t,r)=>{const o=we(e,t).concat([r]);be(e,t,o.join(\" \"))})(e,\"class\",t)})(t,r)},Ee=(e,t)=>{(e=>{Ae(Ce(e.getBody()),\"tox-cursor-format-painter\")})(e),t.set(Re.Retrival),Le(e,!1)},Ne=(e,t)=>e.dom===t.dom,Be=(e,t)=>{const r=e.dom;if(1!==r.nodeType)return!1;{const e=r;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error(\"Browser lacks native selectors\")}},De=d(Element.prototype.attachShadow)&&d(Node.prototype.getRootNode)?e=>Ce(e.dom.getRootNode()):e=>pe(e)?e:Ce(e.dom.ownerDocument),Ie=e=>Ce(e.dom.host),je=e=>{const t=fe(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const r=t.ownerDocument;return(e=>{const t=De(e);return ve(r=t)&&u(r.dom.host)?b.some(t):b.none();var r})(Ce(t)).fold((()=>r.body.contains(t)),(o=je,n=Ie,e=>o(n(e))));var o,n},Me=(e,t,r)=>{let o=e.dom;const n=d(r)?r:p;for(;o.parentNode;){o=o.parentNode;const e=Ce(o);if(t(e))return b.some(e);if(n(e))break}return b.none()},Ve=(e,t,r)=>((e,t,r,o,n)=>o(r)?b.some(r):d(n)&&n(r)?b.none():t(r,o,n))(0,Me,e,t,r),Ue={formatpainter_checklist:{selector:\"ul\",classes:\"tox-checklist\"},formatpainter_liststyletype:{selector:\"ul,ol\",styles:{listStyleType:\"%value\"}},formatpainter_borderstyle:{selector:\"td,th\",styles:{borderTopStyle:\"%valueTop\",borderRightStyle:\"%valueRight\",borderBottomStyle:\"%valueBottom\",borderLeftStyle:\"%valueLeft\"},remove_similar:!0},formatpainter_bordercolor:{selector:\"td,th\",styles:{borderTopColor:\"%valueTop\",borderRightColor:\"%valueRight\",borderBottomColor:\"%valueBottom\",borderLeftColor:\"%valueLeft\"},remove_similar:!0},formatpainter_backgroundcolor:{selector:\"td,th\",styles:{backgroundColor:\"%value\"},remove_similar:!0},formatpainter_removeformat:[{selector:\"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins\",remove:\"all\",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:\"span\",attributes:[\"style\",\"class\"],remove:\"empty\",split:!0,expand:!1,deep:!0},{selector:\"*:not(tr,td,th,table)\",attributes:[\"style\",\"class\"],split:!1,expand:!1,deep:!0}],formatpainter_legacy_font:{inline:\"font\",attributes:{size:\"%value\"}}},We=(e,t)=>ue(t,\"selector\").exists((t=>{const r=e.getBody(),o=e.selection.getStart(),n=e.dom.getParents(o,v,r),s=e.selection.getSelectedBlocks();return e.dom.is([...n,...s],t)})),$e=e=>e.length>1&&\"%\"===e.charAt(0),qe=(e,t)=>ue(e,t).filter((e=>!c(e))),ze=e=>Be(e,\"OL,UL,DL\"),Ke=e=>Be(e,\"LI,DT,DD\"),Ze=e=>e.replace(/([A-Z])/g,(e=>`-${e[0].toLowerCase()}`)),Ge=(e,t,r)=>{const o=e.formatter,n=((e,t)=>x(e.formatter.get(t),(t=>((e,t)=>de(t,\"inline\")&&!We(e,t))(e,t))))(e,r.formatName),s=((e,t,r)=>x(t.get(r),(t=>((e,t)=>de(t,\"block\")||We(e,t))(e,t))))(e,o,r.formatName),i=(a=r.formatName,w([\"formatpainter_borderstyle\",\"formatpainter_bordercolor\",\"formatpainter_backgroundcolor\"],a));var a;(t.table&&i||t.inline&&n||t.block&&s&&!i)&&o.apply(r.formatName,r.substitutedVariables)},He=e=>{const t=e.selection,r=t.getRng(),o=Ce(e.getBody()),n=(e=>A(e.selection.getSelectedBlocks().map(Ce),Ke))(e),s=r.collapsed&&n.length,i=n.length&&!((e,t)=>{const r=e=>Ne(e,t);return(o=Ve(Ce(e.getStart()),ze,r),n=Ve(Ce(e.getEnd()),ze,r),s=(e,t)=>Ne(e,t),o.isSome()&&n.isSome()?b.some(s(o.getOrDie(),n.getOrDie())):b.none()).getOr(!1);var o,n,s})(t,o);return n.length>1||s||i},Je=(e,t)=>{const r=e.dom,o=window.getComputedStyle(r).getPropertyValue(t);return\"\"!==o||je(e)?o:Qe(r,t)},Qe=(e,t)=>(e=>void 0!==e.style&&d(e.style.getPropertyValue))(e)?e.style.getPropertyValue(t):\"\",Xe=(\"formatpainter_ignored_formats\",e=>e.options.get(\"formatpainter_ignored_formats\"));const Ye=(e,t)=>{return\"class\"===t?(e=>xe(e)?(e=>{const t=e.dom.classList,r=new Array(t.length);for(let e=0;e<t.length;e++){const o=t.item(e);null!==o&&(r[e]=o)}return r})(e):ke(e))(e).filter((e=>!/^(mce-.*)/.test(e))).join(\" \"):(r=e,o=t,b.from(ye(r,o))).getOr(\"\");var r,o},et=e=>((e,t)=>{const r={},o={};return((e,t,r,o)=>{ae(e,((e,n)=>{(t(e,n)?r:o)(e,n)}))})(e,t,le(r),le(o)),{t:r,f:o}})(e,(e=>{return(t=e).length>1&&\"%\"===t.charAt(0);var t})).t,tt=(e,t)=>(e=>{const t=Xe(e);return se(e.formatter.get()).filter((e=>!w(t,e)))})(e).filter((r=>{const o=((e,t)=>x(e.formatter.get(t),(e=>(e=>{const t=qe(e,\"styles\").exists((e=>x(me(e),$e))),r=qe(e,\"attributes\").exists((e=>x(me(e),$e)));return t||r})(e))))(e,r);return e.formatter.matchNode(t.dom,r,{},o)})),rt=(e,t)=>{const r=k(e.dom.getParents(t,v),Ce);return C(A(r,he),(t=>C(tt(e,t),(r=>((e,t,r)=>{return(o=e.get(t),((e,t)=>0<e.length?b.some(e[0]):b.none())(o)).bind((e=>((e,t)=>{const r=qe(e,\"styles\").map((e=>{return r=t,o=et(e),ce(o,((e,t)=>({k:e.slice(1,e.length),v:Je(r,Ze(t))})));var r,o})),o=qe(e,\"attributes\").map((e=>{return r=t,o=et(e),ce(o,((e,t)=>({k:e.slice(1,e.length),v:Ye(r,t)})));var r,o})),n={...r.getOr({}),...o.getOr({})};return me(n).every((e=>\"\"!==e))?b.some(n):b.none()})(e,r))).map((e=>({kind:Te.SubstitutionSchema,formatName:t,substitutedVariables:e})));var o})(e.formatter,r,t).toArray()))))},ot=e=>(e=>O(me(_e),(t=>e.queryCommandState(t))))(e).map((e=>({kind:Te.ListSchema,command:e}))),nt=(e,t)=>e.getParent(t,\"TABLE\")?Pe.Table:Pe.Unspecified,st=(t,r,o)=>{t.addCommand(\"mceToggleFormatPainter\",(()=>{((t,r)=>{r.get()===Re.Application?Ee(t,r):((t,r)=>{const o=ne(),n=e(!1);Fe(t),r.set(Re.Application),Le(t,!0),t.execCommand(\"mceRetrieveFormats\");const s=()=>{t.execCommand(\"mcePaintFormats\"),Ee(t,r)},i=()=>{r.get()===Re.Application&&s(),m()},a=e=>{r.get()===Re.Application&&(\"touchcancel\"===e.type&&o.os.isAndroid()?t.once(\"contextmenu\",s):n.get()?s():t.once(\"selectionchange\",s)),m()},c=e=>{27===e.keyCode&&(Ee(t,r),m())},l=e=>{n.set(\"touchmove\"===e.type)};t.on(\"click\",i),t.on(\"touchstart touchmove\",l),t.on(\"touchend touchcancel\",a),t.on(\"keydown\",c);const m=()=>{t.off(\"click\",i),t.off(\"touchstart touchmove\",l),t.off(\"touchend touchcancel\",a),t.off(\"keydown\",c)}})(t,r)})(t,r)})),t.addCommand(\"mcePaintFormats\",(()=>{t.selection.isEditable()&&t.undoManager.transact((()=>{((e,t)=>{((e,t)=>{e.formatter.remove(\"formatpainter_removeformat\"),t===Pe.Table&&((t,r)=>{for(let r=0,n=t.length;r<n;r++)o=t[r],e.formatter.remove(o);var o})([\"formatpainter_borderstyle\",\"formatpainter_bordercolor\",\"formatpainter_backgroundcolor\"]),He(e)&&e.execCommand(\"RemoveList\")})(e,t.context);const r=(e=>{const t=e.selection.getStart(),r=e.selection.getRng().collapsed,o=e.dom.select(\"td[data-mce-selected]\").length>0,n=!!e.dom.getParent(t,\"TABLE\");return{inline:!0,table:r&&n||o,block:r||(s=e.selection,s.getSelectedBlocks().length>1)||o};var s})(e);t.schemas.forEach((t=>{switch(t.kind){case Te.ListSchema:((e,t,r)=>{r.block&&e.execCommand(t.command)})(e,t,r);break;case Te.SubstitutionSchema:Ge(e,r,t)}}))})(t,o.get())}))})),t.addCommand(\"mceRetrieveFormats\",(()=>{o.set((e=>{const t=e.dom,r=e.selection.getStart();return{schemas:[...ot(e).toArray(),...rt(e,r)],context:nt(t,r)}})(t))}))};tinymce.PluginManager.add(\"formatpainter\",(t=>{if(((e,t)=>!!e&&-1===((e,t)=>{const o=r(e.major,t.major);if(0!==o)return o;const n=r(e.minor,t.minor);if(0!==n)return n;const s=r(e.patch,t.patch);return 0!==s?s:0})((e=>n((e=>[e.majorVersion,e.minorVersion].join(\".\").split(\".\").slice(0,3).join(\".\"))(e)))(e),n(t)))(tinymce,\"6.0.0\"))return void window.console.error(\"The format painter plugin requires at least version 6.0.0 of TinyMCE.\");const o=e(Re.Retrival),s=e({schemas:[],context:Pe.Unspecified});(e=>{(0,e.options.register)(\"formatpainter_ignored_formats\",{processor:\"string[]\",default:\"link,address,removeformat,formatpainter_removeformat\".split(\",\")})})(t),(e=>{e.on(\"PreInit\",(()=>{ae(Ue,((t,r)=>{e.formatter.get(r)||e.formatter.register(r,t)}))}))})(t),st(t,o,s),(e=>{e.ui.registry.addToggleButton(\"formatpainter\",{active:!1,icon:\"format-painter\",tooltip:\"Format painter\",onAction:()=>e.execCommand(\"mceToggleFormatPainter\"),onSetup:t=>{const r=e=>{t.setActive(e.state)};return e.on(\"FormatPainterToggle\",r),()=>e.off(\"FormatPainterToggle\",r)}})})(t),((e,t)=>{e.ui.registry.addToggleMenuItem(\"formatpainter\",{active:!1,icon:\"format-painter\",text:\"Format painter\",onAction:()=>e.execCommand(\"mceToggleFormatPainter\"),onSetup:r=>{const o=e=>{r.setActive(e.state)};return r.setActive(t.get()===Re.Application),e.on(\"FormatPainterToggle\",o),()=>e.off(\"FormatPainterToggle\",o)}})})(t,o),(e=>{e.addShortcut(\"Meta+alt+C\",\"\",(()=>{e.execCommand(\"mceRetrieveFormats\")})),e.addShortcut(\"Meta+alt+V\",\"\",(()=>{e.execCommand(\"mcePaintFormats\")}))})(t)}))}();/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const get$5 = fullscreenState => ({\n      isFullscreen: () => fullscreenState.get() !== null\n    });\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$1 = t => a => t === a;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isArray = isType$1('array');\n    const isNull = eq$1(null);\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$1(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter$1 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find$1 = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind$3 = (xs, f) => flatten(map(xs, f));\n    const get$4 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$4(xs, 0);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const unbindable = () => singleton(s => s.unbind());\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const first = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom);\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$1 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get$3 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const remove = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n\n    const isSupported$1 = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all$1 = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const siblings$2 = element => {\n      const filterSelf = elements => filter$1(elements, x => !eq(element, x));\n      return parent(element).map(children).map(filterSelf).getOr([]);\n    };\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported = constant(supported);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n    const getOriginalEventTarget = event => {\n      if (isSupported() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n    const getBody = doc => {\n      const b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported$1(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const get$2 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported$1(dom) ? dom.style.getPropertyValue(property) : '';\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$2 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const filter = always;\n    const bind$1 = (element, event, handler) => bind$2(element, event, filter, handler);\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const DeviceType = (os, browser, userAgent, mediaMatch) => {\n      const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      const isiPhone = os.isiOS() && !isiPad;\n      const isMobile = os.isiOS() || os.isAndroid();\n      const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      const isPhone = isiPhone || isMobile && !isTablet;\n      const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      const isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    const firstMatch = (regexes, s) => {\n      for (let i = 0; i < regexes.length; i++) {\n        const x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    const find = (regexes, agent) => {\n      const r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      const group = i => {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$2(group(1), group(2));\n    };\n    const detect$3 = (versionRegexes, agent) => {\n      const cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find(versionRegexes, cleanedAgent);\n    };\n    const unknown$2 = () => {\n      return nu$2(0, 0);\n    };\n    const nu$2 = (major, minor) => {\n      return {\n        major,\n        minor\n      };\n    };\n    const Version = {\n      nu: nu$2,\n      detect: detect$3,\n      unknown: unknown$2\n    };\n\n    const detectBrowser$1 = (browsers, userAgentData) => {\n      return findMap(userAgentData.brands, uaBrand => {\n        const lcBrand = uaBrand.brand.toLowerCase();\n        return find$1(browsers, browser => {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(info => ({\n          current: info.name,\n          version: Version.nu(parseInt(uaBrand.version, 10), 0)\n        }));\n      });\n    };\n\n    const detect$2 = (candidates, userAgent) => {\n      const agent = String(userAgent).toLowerCase();\n      return find$1(candidates, candidate => {\n        return candidate.search(agent);\n      });\n    };\n    const detectBrowser = (browsers, userAgent) => {\n      return detect$2(browsers, userAgent).map(browser => {\n        const version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version\n        };\n      });\n    };\n    const detectOs = (oses, userAgent) => {\n      return detect$2(oses, userAgent).map(os => {\n        const version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version\n        };\n      });\n    };\n\n    const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    const checkContains = target => {\n      return uastring => {\n        return contains(uastring, target);\n      };\n    };\n    const browsers = [{\n      name: 'Edge',\n      versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n      search: uastring => {\n        return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');\n      }\n    }, {\n      name: 'Chromium',\n      brand: 'Chromium',\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/, normalVersionRegex],\n      search: uastring => {\n        return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe');\n      }\n    }, {\n      name: 'IE',\n      versionRegexes: [/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/, /.*?rv:([0-9]+)\\.([0-9]+).*/],\n      search: uastring => {\n        return contains(uastring, 'msie') || contains(uastring, 'trident');\n      }\n    }, {\n      name: 'Opera',\n      versionRegexes: [normalVersionRegex, /.*?opera\\/([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('opera')\n    }, {\n      name: 'Firefox',\n      versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('firefox')\n    }, {\n      name: 'Safari',\n      versionRegexes: [normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/],\n      search: uastring => {\n        return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit');\n      }\n    }];\n    const oses = [{\n      name: 'Windows',\n      search: checkContains('win'),\n      versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'iOS',\n      search: uastring => {\n        return contains(uastring, 'iphone') || contains(uastring, 'ipad');\n      },\n      versionRegexes: [/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Android',\n      search: checkContains('android'),\n      versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'macOS',\n      search: checkContains('mac os x'),\n      versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Linux',\n      search: checkContains('linux'),\n      versionRegexes: []\n    }, {\n      name: 'Solaris',\n      search: checkContains('sunos'),\n      versionRegexes: []\n    }, {\n      name: 'FreeBSD',\n      search: checkContains('freebsd'),\n      versionRegexes: []\n    }, {\n      name: 'ChromeOS',\n      search: checkContains('cros'),\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n    }];\n    const PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    const edge = 'Edge';\n    const chromium = 'Chromium';\n    const ie = 'IE';\n    const opera = 'Opera';\n    const firefox = 'Firefox';\n    const safari = 'Safari';\n    const unknown$1 = () => {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$1 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isBrowser = name => () => current === name;\n      return {\n        current,\n        version,\n        isEdge: isBrowser(edge),\n        isChromium: isBrowser(chromium),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    const Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chromium: constant(chromium),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    const windows = 'Windows';\n    const ios = 'iOS';\n    const android = 'Android';\n    const linux = 'Linux';\n    const macos = 'macOS';\n    const solaris = 'Solaris';\n    const freebsd = 'FreeBSD';\n    const chromeos = 'ChromeOS';\n    const unknown = () => {\n      return nu({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu = info => {\n      const current = info.current;\n      const version = info.version;\n      const isOS = name => () => current === name;\n      return {\n        current,\n        version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isMacOS: isOS(macos),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    const OperatingSystem = {\n      unknown,\n      nu,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      macos: constant(macos),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    const detect$1 = (userAgent, userAgentDataOpt, mediaMatch) => {\n      const browsers = PlatformInfo.browsers();\n      const oses = PlatformInfo.oses();\n      const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n      const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser,\n        os,\n        deviceType\n      };\n    };\n    const PlatformDetection = {\n      detect: detect$1\n    };\n\n    const mediaMatch = query => window.matchMedia(query).matches;\n    let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n    const detect = () => platform();\n\n    const r = (left, top) => {\n      const translate = (x, y) => r(left + x, top + y);\n      return {\n        left,\n        top,\n        translate\n      };\n    };\n    const SugarPosition = r;\n\n    const get$1 = _DOC => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n\n    const get = _win => {\n      const win = _win === undefined ? window : _win;\n      if (detect().browser.isFirefox()) {\n        return Optional.none();\n      } else {\n        return Optional.from(win.visualViewport);\n      }\n    };\n    const bounds = (x, y, width, height) => ({\n      x,\n      y,\n      width,\n      height,\n      right: x + width,\n      bottom: y + height\n    });\n    const getBounds = _win => {\n      const win = _win === undefined ? window : _win;\n      const doc = win.document;\n      const scroll = get$1(SugarElement.fromDom(doc));\n      return get(win).fold(() => {\n        const html = win.document.documentElement;\n        const width = html.clientWidth;\n        const height = html.clientHeight;\n        return bounds(scroll.left, scroll.top, width, height);\n      }, visualViewport => bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height));\n    };\n    const bind = (name, callback, _win) => get(_win).map(visualViewport => {\n      const handler = e => callback(fromRawEvent(e));\n      visualViewport.addEventListener(name, handler);\n      return {\n        unbind: () => visualViewport.removeEventListener(name, handler)\n      };\n    }).getOrThunk(() => ({\n      unbind: noop\n    }));\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const fireFullscreenStateChanged = (editor, state) => {\n      editor.dispatch('FullscreenStateChanged', {\n        state\n      });\n      editor.dispatch('ResizeEditor');\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('fullscreen_native', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getFullscreenNative = option('fullscreen_native');\n\n    const getFullscreenRoot = editor => {\n      const elem = SugarElement.fromDom(editor.getElement());\n      return getShadowRoot(elem).map(getShadowHost).getOrThunk(() => getBody(owner(elem)));\n    };\n    const getFullscreenElement = root => {\n      if (root.fullscreenElement !== undefined) {\n        return root.fullscreenElement;\n      } else if (root.msFullscreenElement !== undefined) {\n        return root.msFullscreenElement;\n      } else if (root.webkitFullscreenElement !== undefined) {\n        return root.webkitFullscreenElement;\n      } else {\n        return null;\n      }\n    };\n    const getFullscreenchangeEventName = () => {\n      if (document.fullscreenElement !== undefined) {\n        return 'fullscreenchange';\n      } else if (document.msFullscreenElement !== undefined) {\n        return 'MSFullscreenChange';\n      } else if (document.webkitFullscreenElement !== undefined) {\n        return 'webkitfullscreenchange';\n      } else {\n        return 'fullscreenchange';\n      }\n    };\n    const requestFullscreen = sugarElem => {\n      const elem = sugarElem.dom;\n      if (elem.requestFullscreen) {\n        elem.requestFullscreen();\n      } else if (elem.msRequestFullscreen) {\n        elem.msRequestFullscreen();\n      } else if (elem.webkitRequestFullScreen) {\n        elem.webkitRequestFullScreen();\n      }\n    };\n    const exitFullscreen = sugarDoc => {\n      const doc = sugarDoc.dom;\n      if (doc.exitFullscreen) {\n        doc.exitFullscreen();\n      } else if (doc.msExitFullscreen) {\n        doc.msExitFullscreen();\n      } else if (doc.webkitCancelFullScreen) {\n        doc.webkitCancelFullScreen();\n      }\n    };\n    const isFullscreenElement = elem => elem.dom === getFullscreenElement(owner(elem).dom);\n\n    const ancestors$1 = (scope, predicate, isRoot) => filter$1(parents(scope, isRoot), predicate);\n    const siblings$1 = (scope, predicate) => filter$1(siblings$2(scope), predicate);\n\n    const all = selector => all$1(selector);\n    const ancestors = (scope, selector, isRoot) => ancestors$1(scope, e => is(e, selector), isRoot);\n    const siblings = (scope, selector) => siblings$1(scope, e => is(e, selector));\n\n    const attr = 'data-ephox-mobile-fullscreen-style';\n    const siblingStyles = 'display:none!important;';\n    const ancestorPosition = 'position:absolute!important;';\n    const ancestorStyles = 'top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;';\n    const bgFallback = 'background-color:rgb(255,255,255)!important;';\n    const isAndroid = global.os.isAndroid();\n    const matchColor = editorBody => {\n      const color = get$2(editorBody, 'background-color');\n      return color !== undefined && color !== '' ? 'background-color:' + color + '!important' : bgFallback;\n    };\n    const clobberStyles = (dom, container, editorBody) => {\n      const gatherSiblings = element => {\n        return siblings(element, '*:not(.tox-silver-sink)');\n      };\n      const clobber = clobberStyle => element => {\n        const styles = get$3(element, 'style');\n        const backup = styles === undefined ? 'no-styles' : styles.trim();\n        if (backup === clobberStyle) {\n          return;\n        } else {\n          set$1(element, attr, backup);\n          setAll(element, dom.parseStyle(clobberStyle));\n        }\n      };\n      const ancestors$1 = ancestors(container, '*');\n      const siblings$1 = bind$3(ancestors$1, gatherSiblings);\n      const bgColor = matchColor(editorBody);\n      each$1(siblings$1, clobber(siblingStyles));\n      each$1(ancestors$1, clobber(ancestorPosition + ancestorStyles + bgColor));\n      const containerStyles = isAndroid === true ? '' : ancestorPosition;\n      clobber(containerStyles + ancestorStyles + bgColor)(container);\n    };\n    const restoreStyles = dom => {\n      const clobberedEls = all('[' + attr + ']');\n      each$1(clobberedEls, element => {\n        const restore = get$3(element, attr);\n        if (restore && restore !== 'no-styles') {\n          setAll(element, dom.parseStyle(restore));\n        } else {\n          remove(element, 'style');\n        }\n        remove(element, attr);\n      });\n    };\n\n    const DOM = global$1.DOM;\n    const getScrollPos = () => getBounds(window);\n    const setScrollPos = pos => window.scrollTo(pos.x, pos.y);\n    const viewportUpdate = get().fold(() => ({\n      bind: noop,\n      unbind: noop\n    }), visualViewport => {\n      const editorContainer = value();\n      const resizeBinder = unbindable();\n      const scrollBinder = unbindable();\n      const refreshScroll = () => {\n        document.body.scrollTop = 0;\n        document.documentElement.scrollTop = 0;\n      };\n      const refreshVisualViewport = () => {\n        window.requestAnimationFrame(() => {\n          editorContainer.on(container => setAll(container, {\n            top: visualViewport.offsetTop + 'px',\n            left: visualViewport.offsetLeft + 'px',\n            height: visualViewport.height + 'px',\n            width: visualViewport.width + 'px'\n          }));\n        });\n      };\n      const update = first(() => {\n        refreshScroll();\n        refreshVisualViewport();\n      }, 50);\n      const bind$1 = element => {\n        editorContainer.set(element);\n        update.throttle();\n        resizeBinder.set(bind('resize', update.throttle));\n        scrollBinder.set(bind('scroll', update.throttle));\n      };\n      const unbind = () => {\n        editorContainer.on(() => {\n          resizeBinder.clear();\n          scrollBinder.clear();\n        });\n        editorContainer.clear();\n      };\n      return {\n        bind: bind$1,\n        unbind\n      };\n    });\n    const toggleFullscreen = (editor, fullscreenState) => {\n      const body = document.body;\n      const documentElement = document.documentElement;\n      const editorContainer = editor.getContainer();\n      const editorContainerS = SugarElement.fromDom(editorContainer);\n      const sinkContainerS = nextSibling(editorContainerS).filter(elm => isHTMLElement(elm) && has(elm, 'tox-silver-sink'));\n      const fullscreenRoot = getFullscreenRoot(editor);\n      const fullscreenInfo = fullscreenState.get();\n      const editorBody = SugarElement.fromDom(editor.getBody());\n      const isTouch = global.deviceType.isTouch();\n      const editorContainerStyle = editorContainer.style;\n      const iframe = editor.iframeElement;\n      const iframeStyle = iframe === null || iframe === void 0 ? void 0 : iframe.style;\n      const handleClasses = handler => {\n        handler(body, 'tox-fullscreen');\n        handler(documentElement, 'tox-fullscreen');\n        handler(editorContainer, 'tox-fullscreen');\n        getShadowRoot(editorContainerS).map(root => getShadowHost(root).dom).each(host => {\n          handler(host, 'tox-fullscreen');\n          handler(host, 'tox-shadowhost');\n        });\n      };\n      const cleanup = () => {\n        if (isTouch) {\n          restoreStyles(editor.dom);\n        }\n        handleClasses(DOM.removeClass);\n        viewportUpdate.unbind();\n        Optional.from(fullscreenState.get()).each(info => info.fullscreenChangeHandler.unbind());\n      };\n      if (!fullscreenInfo) {\n        const fullscreenChangeHandler = bind$1(owner(fullscreenRoot), getFullscreenchangeEventName(), _evt => {\n          if (getFullscreenNative(editor)) {\n            if (!isFullscreenElement(fullscreenRoot) && fullscreenState.get() !== null) {\n              toggleFullscreen(editor, fullscreenState);\n            }\n          }\n        });\n        const newFullScreenInfo = {\n          scrollPos: getScrollPos(),\n          containerWidth: editorContainerStyle.width,\n          containerHeight: editorContainerStyle.height,\n          containerTop: editorContainerStyle.top,\n          containerLeft: editorContainerStyle.left,\n          iframeWidth: iframeStyle.width,\n          iframeHeight: iframeStyle.height,\n          fullscreenChangeHandler,\n          sinkCssPosition: sinkContainerS.map(elm => get$2(elm, 'position'))\n        };\n        if (isTouch) {\n          clobberStyles(editor.dom, editorContainerS, editorBody);\n        }\n        iframeStyle.width = iframeStyle.height = '100%';\n        editorContainerStyle.width = editorContainerStyle.height = '';\n        handleClasses(DOM.addClass);\n        sinkContainerS.each(elm => {\n          set(elm, 'position', 'fixed');\n        });\n        viewportUpdate.bind(editorContainerS);\n        editor.on('remove', cleanup);\n        fullscreenState.set(newFullScreenInfo);\n        if (getFullscreenNative(editor)) {\n          requestFullscreen(fullscreenRoot);\n        }\n        fireFullscreenStateChanged(editor, true);\n      } else {\n        fullscreenInfo.fullscreenChangeHandler.unbind();\n        if (getFullscreenNative(editor) && isFullscreenElement(fullscreenRoot)) {\n          exitFullscreen(owner(fullscreenRoot));\n        }\n        iframeStyle.width = fullscreenInfo.iframeWidth;\n        iframeStyle.height = fullscreenInfo.iframeHeight;\n        editorContainerStyle.width = fullscreenInfo.containerWidth;\n        editorContainerStyle.height = fullscreenInfo.containerHeight;\n        editorContainerStyle.top = fullscreenInfo.containerTop;\n        editorContainerStyle.left = fullscreenInfo.containerLeft;\n        lift2(sinkContainerS, fullscreenInfo.sinkCssPosition, (elm, val) => {\n          set(elm, 'position', val);\n        });\n        cleanup();\n        setScrollPos(fullscreenInfo.scrollPos);\n        fullscreenState.set(null);\n        fireFullscreenStateChanged(editor, false);\n        editor.off('remove', cleanup);\n      }\n    };\n\n    const register$1 = (editor, fullscreenState) => {\n      editor.addCommand('mceFullScreen', () => {\n        toggleFullscreen(editor, fullscreenState);\n      });\n    };\n\n    const makeSetupHandler = (editor, fullscreenState) => api => {\n      api.setActive(fullscreenState.get() !== null);\n      const editorEventCallback = e => api.setActive(e.state);\n      editor.on('FullscreenStateChanged', editorEventCallback);\n      return () => editor.off('FullscreenStateChanged', editorEventCallback);\n    };\n    const register = (editor, fullscreenState) => {\n      const onAction = () => editor.execCommand('mceFullScreen');\n      editor.ui.registry.addToggleMenuItem('fullscreen', {\n        text: 'Fullscreen',\n        icon: 'fullscreen',\n        shortcut: 'Meta+Shift+F',\n        onAction,\n        onSetup: makeSetupHandler(editor, fullscreenState)\n      });\n      editor.ui.registry.addToggleButton('fullscreen', {\n        tooltip: 'Fullscreen',\n        icon: 'fullscreen',\n        onAction,\n        onSetup: makeSetupHandler(editor, fullscreenState)\n      });\n    };\n\n    var Plugin = (() => {\n      global$2.add('fullscreen', editor => {\n        const fullscreenState = Cell(null);\n        if (editor.inline) {\n          return get$5(fullscreenState);\n        }\n        register$2(editor);\n        register$1(editor, fullscreenState);\n        register(editor, fullscreenState);\n        editor.addShortcut('Meta+Shift+F', '', 'mceFullScreen');\n        return get$5(fullscreenState);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const is = (value, constructor) => isObject(value) && hasProto(value, constructor, (o, proto) => getPrototypeOf(o) === proto);\n    const isString = isType('string');\n    const isObject = isType('object');\n    const isPlainObject = value => is(value, Object);\n    const isArray = isType('array');\n    const isNull = eq(null);\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n    const isArrayOf = (value, pred) => {\n      if (isArray(value)) {\n        for (let i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    const noop = () => {};\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n\n    const nativePush = Array.prototype.push;\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const get = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get(xs, 0);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const remove = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    const isNotEmpty = s => s.length > 0;\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('image_dimensions', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('image_advtab', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('image_uploadtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('image_prepend_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('image_class_list', {\n        processor: 'object[]'\n      });\n      registerOption('image_description', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('image_title', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('image_caption', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('image_list', {\n        processor: value => {\n          const valid = value === false || isString(value) || isArrayOf(value, isObject) || isFunction(value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be false, a string, an array or a function.'\n          };\n        },\n        default: false\n      });\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const hasDimensions = option('image_dimensions');\n    const hasAdvTab = option('image_advtab');\n    const hasUploadTab = option('image_uploadtab');\n    const getPrependUrl = option('image_prepend_url');\n    const getClassList = option('image_class_list');\n    const hasDescription = option('image_description');\n    const hasImageTitle = option('image_title');\n    const hasImageCaption = option('image_caption');\n    const getImageList = option('image_list');\n    const showAccessibilityOptions = option('a11y_advanced_options');\n    const isAutomaticUploadsEnabled = option('automatic_uploads');\n    const hasUploadUrl = editor => isNotEmpty(editor.options.get('images_upload_url'));\n    const hasUploadHandler = editor => isNonNullable(editor.options.get('images_upload_handler'));\n    const getSnImageSettings = editor => {\n      const {\n        allowLibraryUploads = true,\n        showLibraryTab = false,\n        libraryFilePicker = callback => callback(null),\n        labels = {}\n      } = editor.options.get('sn_settings').image || {};\n      return {\n        allowLibraryUploads,\n        showLibraryTab,\n        libraryFilePicker,\n        labels: {\n          tabName: 'Image Library',\n          dropzone: 'Upload to Public Library',\n          search: 'Search Library',\n          ...labels\n        }\n      };\n    };\n\n    const parseIntAndGetMax = (val1, val2) => Math.max(parseInt(val1, 10), parseInt(val2, 10));\n    const getImageSize = url => new Promise(callback => {\n      const img = document.createElement('img');\n      const done = dimensions => {\n        img.onload = img.onerror = null;\n        if (img.parentNode) {\n          img.parentNode.removeChild(img);\n        }\n        callback(dimensions);\n      };\n      img.onload = () => {\n        const width = parseIntAndGetMax(img.width, img.clientWidth);\n        const height = parseIntAndGetMax(img.height, img.clientHeight);\n        const dimensions = {\n          width,\n          height\n        };\n        done(Promise.resolve(dimensions));\n      };\n      img.onerror = () => {\n        done(Promise.reject(\"Failed to get image dimensions for: \".concat(url)));\n      };\n      const style = img.style;\n      style.visibility = 'hidden';\n      style.position = 'fixed';\n      style.bottom = style.left = '0px';\n      style.width = style.height = 'auto';\n      document.body.appendChild(img);\n      img.src = url;\n    });\n    const removePixelSuffix = value => {\n      if (value) {\n        value = value.replace(/px$/, '');\n      }\n      return value;\n    };\n    const addPixelSuffix = value => {\n      if (value.length > 0 && /^[0-9]+$/.test(value)) {\n        value += 'px';\n      }\n      return value;\n    };\n    const mergeMargins = css => {\n      if (css.margin) {\n        const splitMargin = String(css.margin).split(' ');\n        switch (splitMargin.length) {\n          case 1:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[0];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];\n            css['margin-left'] = css['margin-left'] || splitMargin[0];\n            break;\n          case 2:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[1];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];\n            css['margin-left'] = css['margin-left'] || splitMargin[1];\n            break;\n          case 3:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[1];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];\n            css['margin-left'] = css['margin-left'] || splitMargin[1];\n            break;\n          case 4:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[1];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];\n            css['margin-left'] = css['margin-left'] || splitMargin[3];\n        }\n        delete css.margin;\n      }\n      return css;\n    };\n    const createImageList = (editor, callback) => {\n      const imageList = getImageList(editor);\n      if (isString(imageList)) {\n        fetch(imageList).then(res => {\n          if (res.ok) {\n            res.json().then(callback);\n          }\n        });\n      } else if (isFunction(imageList)) {\n        imageList(callback);\n      } else {\n        callback(imageList);\n      }\n    };\n    const waitLoadImage = (editor, data, imgElm) => {\n      const selectImage = () => {\n        imgElm.onload = imgElm.onerror = null;\n        if (editor.selection) {\n          editor.selection.select(imgElm);\n          editor.nodeChanged();\n        }\n      };\n      imgElm.onload = () => {\n        if (!data.width && !data.height && hasDimensions(editor)) {\n          editor.dom.setAttribs(imgElm, {\n            width: String(imgElm.clientWidth),\n            height: String(imgElm.clientHeight)\n          });\n        }\n        selectImage();\n      };\n      imgElm.onerror = selectImage;\n    };\n    const blobToDataUri = blob => new Promise((resolve, reject) => {\n      const reader = new FileReader();\n      reader.onload = () => {\n        resolve(reader.result);\n      };\n      reader.onerror = () => {\n        var _a;\n        reject((_a = reader.error) === null || _a === void 0 ? void 0 : _a.message);\n      };\n      reader.readAsDataURL(blob);\n    });\n    const isPlaceholderImage = imgElm => imgElm.nodeName === 'IMG' && (imgElm.hasAttribute('data-mce-object') || imgElm.hasAttribute('data-mce-placeholder'));\n    const isSafeImageUrl = (editor, src) => {\n      const getOption = editor.options.get;\n      return global$2.isDomSafe(src, 'img', {\n        allow_html_data_urls: getOption('allow_html_data_urls'),\n        allow_script_urls: getOption('allow_script_urls'),\n        allow_svg_data_urls: getOption('allow_svg_data_urls')\n      });\n    };\n\n    const DOM = global$3.DOM;\n    const getHspace = image => {\n      if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) {\n        return removePixelSuffix(image.style.marginLeft);\n      } else {\n        return '';\n      }\n    };\n    const getVspace = image => {\n      if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) {\n        return removePixelSuffix(image.style.marginTop);\n      } else {\n        return '';\n      }\n    };\n    const getBorder = image => {\n      if (image.style.borderWidth) {\n        return removePixelSuffix(image.style.borderWidth);\n      } else {\n        return '';\n      }\n    };\n    const getAttrib = (image, name) => {\n      var _a;\n      if (image.hasAttribute(name)) {\n        return (_a = image.getAttribute(name)) !== null && _a !== void 0 ? _a : '';\n      } else {\n        return '';\n      }\n    };\n    const hasCaption = image => image.parentNode !== null && image.parentNode.nodeName === 'FIGURE';\n    const updateAttrib = (image, name, value) => {\n      if (value === '' || value === null) {\n        image.removeAttribute(name);\n      } else {\n        image.setAttribute(name, value);\n      }\n    };\n    const wrapInFigure = image => {\n      const figureElm = DOM.create('figure', {\n        class: 'image'\n      });\n      DOM.insertAfter(figureElm, image);\n      figureElm.appendChild(image);\n      figureElm.appendChild(DOM.create('figcaption', {\n        contentEditable: 'true'\n      }, 'Caption'));\n      figureElm.contentEditable = 'false';\n    };\n    const removeFigure = image => {\n      const figureElm = image.parentNode;\n      if (isNonNullable(figureElm)) {\n        DOM.insertAfter(image, figureElm);\n        DOM.remove(figureElm);\n      }\n    };\n    const toggleCaption = image => {\n      if (hasCaption(image)) {\n        removeFigure(image);\n      } else {\n        wrapInFigure(image);\n      }\n    };\n    const normalizeStyle = (image, normalizeCss) => {\n      const attrValue = image.getAttribute('style');\n      const value = normalizeCss(attrValue !== null ? attrValue : '');\n      if (value.length > 0) {\n        image.setAttribute('style', value);\n        image.setAttribute('data-mce-style', value);\n      } else {\n        image.removeAttribute('style');\n      }\n    };\n    const setSize = (name, normalizeCss) => (image, name, value) => {\n      const styles = image.style;\n      if (styles[name]) {\n        styles[name] = addPixelSuffix(value);\n        normalizeStyle(image, normalizeCss);\n      } else {\n        updateAttrib(image, name, value);\n      }\n    };\n    const getSize = (image, name) => {\n      if (image.style[name]) {\n        return removePixelSuffix(image.style[name]);\n      } else {\n        return getAttrib(image, name);\n      }\n    };\n    const setHspace = (image, value) => {\n      const pxValue = addPixelSuffix(value);\n      image.style.marginLeft = pxValue;\n      image.style.marginRight = pxValue;\n    };\n    const setVspace = (image, value) => {\n      const pxValue = addPixelSuffix(value);\n      image.style.marginTop = pxValue;\n      image.style.marginBottom = pxValue;\n    };\n    const setBorder = (image, value) => {\n      const pxValue = addPixelSuffix(value);\n      image.style.borderWidth = pxValue;\n    };\n    const setBorderStyle = (image, value) => {\n      image.style.borderStyle = value;\n    };\n    const getBorderStyle = image => {\n      var _a;\n      return (_a = image.style.borderStyle) !== null && _a !== void 0 ? _a : '';\n    };\n    const isFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE';\n    const isImage = elm => elm.nodeName === 'IMG';\n    const getIsDecorative = image => DOM.getAttrib(image, 'alt').length === 0 && DOM.getAttrib(image, 'role') === 'presentation';\n    const getAlt = image => {\n      if (getIsDecorative(image)) {\n        return '';\n      } else {\n        return getAttrib(image, 'alt');\n      }\n    };\n    const defaultData = () => ({\n      src: '',\n      alt: '',\n      title: '',\n      width: '',\n      height: '',\n      class: '',\n      style: '',\n      caption: false,\n      hspace: '',\n      vspace: '',\n      border: '',\n      borderStyle: '',\n      isDecorative: false\n    });\n    const getStyleValue = (normalizeCss, data) => {\n      var _a;\n      const image = document.createElement('img');\n      updateAttrib(image, 'style', data.style);\n      if (getHspace(image) || data.hspace !== '') {\n        setHspace(image, data.hspace);\n      }\n      if (getVspace(image) || data.vspace !== '') {\n        setVspace(image, data.vspace);\n      }\n      if (getBorder(image) || data.border !== '') {\n        setBorder(image, data.border);\n      }\n      if (getBorderStyle(image) || data.borderStyle !== '') {\n        setBorderStyle(image, data.borderStyle);\n      }\n      return normalizeCss((_a = image.getAttribute('style')) !== null && _a !== void 0 ? _a : '');\n    };\n    const create = (normalizeCss, data) => {\n      const image = document.createElement('img');\n      write(normalizeCss, {\n        ...data,\n        caption: false\n      }, image);\n      setAlt(image, data.alt, data.isDecorative);\n      if (data.caption) {\n        const figure = DOM.create('figure', {\n          class: 'image'\n        });\n        figure.appendChild(image);\n        figure.appendChild(DOM.create('figcaption', {\n          contentEditable: 'true'\n        }, 'Caption'));\n        figure.contentEditable = 'false';\n        return figure;\n      } else {\n        return image;\n      }\n    };\n    const read = (normalizeCss, image) => ({\n      src: getAttrib(image, 'src'),\n      alt: getAlt(image),\n      title: getAttrib(image, 'title'),\n      width: getSize(image, 'width'),\n      height: getSize(image, 'height'),\n      class: getAttrib(image, 'class'),\n      style: normalizeCss(getAttrib(image, 'style')),\n      caption: hasCaption(image),\n      hspace: getHspace(image),\n      vspace: getVspace(image),\n      border: getBorder(image),\n      borderStyle: getBorderStyle(image),\n      isDecorative: getIsDecorative(image)\n    });\n    const updateProp = (image, oldData, newData, name, set) => {\n      if (newData[name] !== oldData[name]) {\n        set(image, name, String(newData[name]));\n      }\n    };\n    const setAlt = (image, alt, isDecorative) => {\n      if (isDecorative) {\n        DOM.setAttrib(image, 'role', 'presentation');\n        const sugarImage = SugarElement.fromDom(image);\n        set(sugarImage, 'alt', '');\n      } else {\n        if (isNull(alt)) {\n          const sugarImage = SugarElement.fromDom(image);\n          remove(sugarImage, 'alt');\n        } else {\n          const sugarImage = SugarElement.fromDom(image);\n          set(sugarImage, 'alt', alt);\n        }\n        if (DOM.getAttrib(image, 'role') === 'presentation') {\n          DOM.setAttrib(image, 'role', '');\n        }\n      }\n    };\n    const updateAlt = (image, oldData, newData) => {\n      if (newData.alt !== oldData.alt || newData.isDecorative !== oldData.isDecorative) {\n        setAlt(image, newData.alt, newData.isDecorative);\n      }\n    };\n    const normalized = (set, normalizeCss) => (image, name, value) => {\n      set(image, value);\n      normalizeStyle(image, normalizeCss);\n    };\n    const write = (normalizeCss, newData, image) => {\n      const oldData = read(normalizeCss, image);\n      updateProp(image, oldData, newData, 'caption', (image, _name, _value) => toggleCaption(image));\n      updateProp(image, oldData, newData, 'src', updateAttrib);\n      updateProp(image, oldData, newData, 'title', updateAttrib);\n      updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss));\n      updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss));\n      updateProp(image, oldData, newData, 'class', updateAttrib);\n      updateProp(image, oldData, newData, 'style', normalized((image, value) => updateAttrib(image, 'style', value), normalizeCss));\n      updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss));\n      updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss));\n      updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss));\n      updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss));\n      updateAlt(image, oldData, newData);\n    };\n\n    const normalizeCss$1 = (editor, cssText) => {\n      const css = editor.dom.styles.parse(cssText);\n      const mergedCss = mergeMargins(css);\n      const compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss));\n      return editor.dom.styles.serialize(compressed);\n    };\n    const getSelectedImage = editor => {\n      const imgElm = editor.selection.getNode();\n      const figureElm = editor.dom.getParent(imgElm, 'figure.image');\n      if (figureElm) {\n        return editor.dom.select('img', figureElm)[0];\n      }\n      if (imgElm && (imgElm.nodeName !== 'IMG' || isPlaceholderImage(imgElm))) {\n        return null;\n      }\n      return imgElm;\n    };\n    const splitTextBlock = (editor, figure) => {\n      var _a;\n      const dom = editor.dom;\n      const textBlockElements = filter(editor.schema.getTextBlockElements(), (_, parentElm) => !editor.schema.isValidChild(parentElm, 'figure'));\n      const textBlock = dom.getParent(figure.parentNode, node => hasNonNullableKey(textBlockElements, node.nodeName), editor.getBody());\n      if (textBlock) {\n        return (_a = dom.split(textBlock, figure)) !== null && _a !== void 0 ? _a : figure;\n      } else {\n        return figure;\n      }\n    };\n    const readImageDataFromSelection = editor => {\n      const image = getSelectedImage(editor);\n      return image ? read(css => normalizeCss$1(editor, css), image) : defaultData();\n    };\n    const insertImageAtCaret = (editor, data) => {\n      const elm = create(css => normalizeCss$1(editor, css), data);\n      editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew');\n      editor.focus();\n      editor.selection.setContent(elm.outerHTML);\n      const insertedElm = editor.dom.select('*[data-mce-id=\"__mcenew\"]')[0];\n      editor.dom.setAttrib(insertedElm, 'data-mce-id', null);\n      editor.dom.setAttrib(insertedElm, 'data-library', data.fromLibrary);\n      if (isFigure(insertedElm)) {\n        const figure = splitTextBlock(editor, insertedElm);\n        editor.selection.select(figure);\n      } else {\n        editor.selection.select(insertedElm);\n      }\n    };\n    const syncSrcAttr = (editor, image) => {\n      editor.dom.setAttrib(image, 'src', image.getAttribute('src'));\n    };\n    const deleteImage = (editor, image) => {\n      if (image) {\n        const elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image;\n        editor.dom.remove(elm);\n        editor.focus();\n        editor.nodeChanged();\n        if (editor.dom.isEmpty(editor.getBody())) {\n          editor.setContent('');\n          editor.selection.setCursorLocation();\n        }\n      }\n    };\n    const writeImageDataToSelection = (editor, data) => {\n      const image = getSelectedImage(editor);\n      if (image) {\n        write(css => normalizeCss$1(editor, css), data, image);\n        syncSrcAttr(editor, image);\n        if (isFigure(image.parentNode)) {\n          const figure = image.parentNode;\n          splitTextBlock(editor, figure);\n          editor.selection.select(image.parentNode);\n        } else {\n          editor.selection.select(image);\n          waitLoadImage(editor, data, image);\n        }\n      }\n    };\n    const sanitizeImageData = (editor, data) => {\n      const src = data.src;\n      return {\n        ...data,\n        src: isSafeImageUrl(editor, src) ? src : ''\n      };\n    };\n    const insertOrUpdateImage = (editor, partialData) => {\n      const image = getSelectedImage(editor);\n      if (image) {\n        const selectedImageData = read(css => normalizeCss$1(editor, css), image);\n        const data = {\n          ...selectedImageData,\n          ...partialData\n        };\n        const sanitizedData = sanitizeImageData(editor, data);\n        if (data.src) {\n          writeImageDataToSelection(editor, sanitizedData);\n        } else {\n          deleteImage(editor, image);\n        }\n      } else if (partialData.src) {\n        insertImageAtCaret(editor, {\n          ...defaultData(),\n          ...partialData\n        });\n      }\n    };\n\n    const deep = (old, nu) => {\n      const bothObjects = isPlainObject(old) && isPlainObject(nu);\n      return bothObjects ? deepMerge(old, nu) : nu;\n    };\n    const baseMerge = merger => {\n      return (...objects) => {\n        if (objects.length === 0) {\n          throw new Error(\"Can't merge zero objects\");\n        }\n        const ret = {};\n        for (let j = 0; j < objects.length; j++) {\n          const curObject = objects[j];\n          for (const key in curObject) {\n            if (has(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    const deepMerge = baseMerge(deep);\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.ImageUploader');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const getValue = item => isString(item.value) ? item.value : '';\n    const getText = item => {\n      if (isString(item.text)) {\n        return item.text;\n      } else if (isString(item.title)) {\n        return item.title;\n      } else {\n        return '';\n      }\n    };\n    const sanitizeList = (list, extractValue) => {\n      const out = [];\n      global.each(list, item => {\n        const text = getText(item);\n        if (item.menu !== undefined) {\n          const items = sanitizeList(item.menu, extractValue);\n          out.push({\n            text,\n            items\n          });\n        } else {\n          const value = extractValue(item);\n          out.push({\n            text,\n            value\n          });\n        }\n      });\n      return out;\n    };\n    const sanitizer = (extractor = getValue) => list => {\n      if (list) {\n        return Optional.from(list).map(list => sanitizeList(list, extractor));\n      } else {\n        return Optional.none();\n      }\n    };\n    const sanitize = list => sanitizer(getValue)(list);\n    const isGroup = item => has(item, 'items');\n    const findEntryDelegate = (list, value) => findMap(list, item => {\n      if (isGroup(item)) {\n        return findEntryDelegate(item.items, value);\n      } else if (item.value === value) {\n        return Optional.some(item);\n      } else {\n        return Optional.none();\n      }\n    });\n    const findEntry = (optList, value) => optList.bind(list => findEntryDelegate(list, value));\n    const ListUtils = {\n      sanitizer,\n      sanitize,\n      findEntry\n    };\n\n    const makeTab$3 = _info => ({\n      title: 'Advanced',\n      name: 'advanced',\n      items: [{\n        type: 'grid',\n        columns: 2,\n        items: [{\n          type: 'input',\n          label: 'Vertical space',\n          name: 'vspace',\n          inputMode: 'numeric'\n        }, {\n          type: 'input',\n          label: 'Horizontal space',\n          name: 'hspace',\n          inputMode: 'numeric'\n        }, {\n          type: 'input',\n          label: 'Border width',\n          name: 'border',\n          inputMode: 'numeric'\n        }, {\n          type: 'listbox',\n          name: 'borderstyle',\n          label: 'Border style',\n          items: [{\n            text: 'Select...',\n            value: ''\n          }, {\n            text: 'Solid',\n            value: 'solid'\n          }, {\n            text: 'Dotted',\n            value: 'dotted'\n          }, {\n            text: 'Dashed',\n            value: 'dashed'\n          }, {\n            text: 'Double',\n            value: 'double'\n          }, {\n            text: 'Groove',\n            value: 'groove'\n          }, {\n            text: 'Ridge',\n            value: 'ridge'\n          }, {\n            text: 'Inset',\n            value: 'inset'\n          }, {\n            text: 'Outset',\n            value: 'outset'\n          }, {\n            text: 'None',\n            value: 'none'\n          }, {\n            text: 'Hidden',\n            value: 'hidden'\n          }]\n        }]\n      }]\n    });\n    const AdvTab = {\n      makeTab: makeTab$3\n    };\n\n    const collect = editor => {\n      const urlListSanitizer = ListUtils.sanitizer(item => editor.convertURL(item.value || item.url || '', 'src'));\n      const futureImageList = new Promise(completer => {\n        createImageList(editor, imageList => {\n          completer(urlListSanitizer(imageList).map(items => flatten([[{\n            text: 'None',\n            value: ''\n          }], items])));\n        });\n      });\n      const classList = ListUtils.sanitize(getClassList(editor));\n      const hasAdvTab$1 = hasAdvTab(editor);\n      const hasUploadTab$1 = hasUploadTab(editor);\n      const hasUploadUrl$1 = hasUploadUrl(editor);\n      const hasUploadHandler$1 = hasUploadHandler(editor);\n      const image = readImageDataFromSelection(editor);\n      const hasDescription$1 = hasDescription(editor);\n      const hasImageTitle$1 = hasImageTitle(editor);\n      const hasDimensions$1 = hasDimensions(editor);\n      const hasImageCaption$1 = hasImageCaption(editor);\n      const hasAccessibilityOptions = showAccessibilityOptions(editor);\n      const automaticUploads = isAutomaticUploadsEnabled(editor);\n      const prependURL = Optional.some(getPrependUrl(editor)).filter(preUrl => isString(preUrl) && preUrl.length > 0);\n      const libraryTab = getSnImageSettings(editor);\n      return futureImageList.then(imageList => ({\n        image,\n        imageList,\n        classList,\n        hasAdvTab: hasAdvTab$1,\n        hasUploadTab: hasUploadTab$1,\n        hasUploadUrl: hasUploadUrl$1,\n        hasUploadHandler: hasUploadHandler$1,\n        hasDescription: hasDescription$1,\n        hasImageTitle: hasImageTitle$1,\n        hasDimensions: hasDimensions$1,\n        hasImageCaption: hasImageCaption$1,\n        prependURL,\n        hasAccessibilityOptions,\n        automaticUploads,\n        libraryTab\n      }));\n    };\n\n    const makeTab$2 = _info => {\n      const {\n        allowLibraryUploads,\n        labels\n      } = _info.libraryTab;\n      const {\n        tabName,\n        dropZone,\n        search\n      } = labels;\n      const items = [{\n        type: 'label',\n        label: search,\n        items: [{\n          type: 'button',\n          name: 'librarysearch',\n          text: search,\n          icon: 'search'\n        }]\n      }];\n      if (allowLibraryUploads) {\n        items.push({\n          type: 'dropzone',\n          name: 'libraryfile',\n          label: dropZone\n        });\n      }\n      return {\n        title: tabName,\n        name: 'librarytab',\n        items\n      };\n    };\n    const LibraryTab = {\n      makeTab: makeTab$2\n    };\n\n    const makeItems = info => {\n      const imageUrl = {\n        name: 'src',\n        type: 'urlinput',\n        filetype: 'image',\n        label: 'Source',\n        picker_text: 'Browse files'\n      };\n      const imageList = info.imageList.map(items => ({\n        name: 'images',\n        type: 'listbox',\n        label: 'Image list',\n        items\n      }));\n      const imageDescription = {\n        name: 'alt',\n        type: 'input',\n        label: 'Alternative description',\n        enabled: !(info.hasAccessibilityOptions && info.image.isDecorative)\n      };\n      const imageTitle = {\n        name: 'title',\n        type: 'input',\n        label: 'Image title'\n      };\n      const imageDimensions = {\n        name: 'dimensions',\n        type: 'sizeinput'\n      };\n      const isDecorative = {\n        type: 'label',\n        label: 'Accessibility',\n        items: [{\n          name: 'isDecorative',\n          type: 'checkbox',\n          label: 'Image is decorative'\n        }]\n      };\n      const classList = info.classList.map(items => ({\n        name: 'classes',\n        type: 'listbox',\n        label: 'Class',\n        items\n      }));\n      const caption = {\n        type: 'label',\n        label: 'Caption',\n        items: [{\n          type: 'checkbox',\n          name: 'caption',\n          label: 'Show caption'\n        }]\n      };\n      const getDialogContainerType = useColumns => useColumns ? {\n        type: 'grid',\n        columns: 2\n      } : {\n        type: 'panel'\n      };\n      return flatten([[imageUrl], imageList.toArray(), info.hasAccessibilityOptions && info.hasDescription ? [isDecorative] : [], info.hasDescription ? [imageDescription] : [], info.hasImageTitle ? [imageTitle] : [], info.hasDimensions ? [imageDimensions] : [], [{\n        ...getDialogContainerType(info.classList.isSome() && info.hasImageCaption),\n        items: flatten([classList.toArray(), info.hasImageCaption ? [caption] : []])\n      }]]);\n    };\n    const makeTab$1 = info => ({\n      title: 'General',\n      name: 'general',\n      items: makeItems(info)\n    });\n    const MainTab = {\n      makeTab: makeTab$1,\n      makeItems\n    };\n\n    const makeTab = _info => {\n      const items = [{\n        type: 'dropzone',\n        name: 'fileinput'\n      }];\n      return {\n        title: 'Upload',\n        name: 'upload',\n        items\n      };\n    };\n    const UploadTab = {\n      makeTab\n    };\n\n    const createState = info => ({\n      prevImage: ListUtils.findEntry(info.imageList, info.image.src),\n      prevAlt: info.image.alt,\n      open: true\n    });\n    const fromImageData = image => ({\n      src: {\n        value: image.src,\n        meta: {}\n      },\n      images: image.src,\n      alt: image.alt,\n      title: image.title,\n      dimensions: {\n        width: image.width,\n        height: image.height\n      },\n      classes: image.class,\n      caption: image.caption,\n      style: image.style,\n      vspace: image.vspace,\n      border: image.border,\n      hspace: image.hspace,\n      borderstyle: image.borderStyle,\n      fileinput: [],\n      libraryfile: [],\n      isDecorative: image.isDecorative\n    });\n    const toImageData = (data, removeEmptyAlt) => ({\n      src: data.src.value,\n      alt: (data.alt === null || data.alt.length === 0) && removeEmptyAlt ? null : data.alt,\n      title: data.title,\n      width: data.dimensions.width,\n      height: data.dimensions.height,\n      class: data.classes,\n      style: data.style,\n      caption: data.caption,\n      hspace: data.hspace,\n      vspace: data.vspace,\n      border: data.border,\n      borderStyle: data.borderstyle,\n      isDecorative: data.isDecorative,\n      fromLibrary: data.libraryfile.length > 0\n    });\n    const addPrependUrl2 = (info, srcURL) => {\n      if (!/^(?:[a-zA-Z]+:)?\\/\\//.test(srcURL)) {\n        return info.prependURL.bind(prependUrl => {\n          if (srcURL.substring(0, prependUrl.length) !== prependUrl) {\n            return Optional.some(prependUrl + srcURL);\n          }\n          return Optional.none();\n        });\n      }\n      return Optional.none();\n    };\n    const addPrependUrl = (info, api) => {\n      const data = api.getData();\n      addPrependUrl2(info, data.src.value).each(srcURL => {\n        api.setData({\n          src: {\n            value: srcURL,\n            meta: data.src.meta\n          }\n        });\n      });\n    };\n    const formFillFromMeta2 = (info, data, meta) => {\n      if (info.hasDescription && isString(meta.alt)) {\n        data.alt = meta.alt;\n      }\n      if (info.hasAccessibilityOptions) {\n        data.isDecorative = meta.isDecorative || data.isDecorative || false;\n      }\n      if (info.hasImageTitle && isString(meta.title)) {\n        data.title = meta.title;\n      }\n      if (info.hasDimensions) {\n        if (isString(meta.width)) {\n          data.dimensions.width = meta.width;\n        }\n        if (isString(meta.height)) {\n          data.dimensions.height = meta.height;\n        }\n      }\n      if (isString(meta.class)) {\n        ListUtils.findEntry(info.classList, meta.class).each(entry => {\n          data.classes = entry.value;\n        });\n      }\n      if (info.hasImageCaption) {\n        if (isBoolean(meta.caption)) {\n          data.caption = meta.caption;\n        }\n      }\n      if (info.hasAdvTab) {\n        if (isString(meta.style)) {\n          data.style = meta.style;\n        }\n        if (isString(meta.vspace)) {\n          data.vspace = meta.vspace;\n        }\n        if (isString(meta.border)) {\n          data.border = meta.border;\n        }\n        if (isString(meta.hspace)) {\n          data.hspace = meta.hspace;\n        }\n        if (isString(meta.borderstyle)) {\n          data.borderstyle = meta.borderstyle;\n        }\n      }\n    };\n    const formFillFromMeta = (info, api) => {\n      const data = api.getData();\n      const meta = data.src.meta;\n      if (meta !== undefined) {\n        const newData = deepMerge({}, data);\n        formFillFromMeta2(info, newData, meta);\n        api.setData(newData);\n      }\n    };\n    const calculateImageSize = (helpers, info, state, api) => {\n      const data = api.getData();\n      const url = data.src.value;\n      const meta = data.src.meta || {};\n      if (!meta.width && !meta.height && info.hasDimensions) {\n        if (isNotEmpty(url)) {\n          helpers.imageSize(url).then(size => {\n            if (state.open) {\n              api.setData({\n                dimensions: size\n              });\n            }\n          }).catch(e => console.error(e));\n        } else {\n          api.setData({\n            dimensions: {\n              width: '',\n              height: ''\n            }\n          });\n        }\n      }\n    };\n    const updateImagesDropdown = (info, state, api) => {\n      const data = api.getData();\n      const image = ListUtils.findEntry(info.imageList, data.src.value);\n      state.prevImage = image;\n      api.setData({\n        images: image.map(entry => entry.value).getOr('')\n      });\n    };\n    const changeSrc = (helpers, info, state, api) => {\n      addPrependUrl(info, api);\n      formFillFromMeta(info, api);\n      calculateImageSize(helpers, info, state, api);\n      updateImagesDropdown(info, state, api);\n    };\n    const changeImages = (helpers, info, state, api) => {\n      const data = api.getData();\n      const image = ListUtils.findEntry(info.imageList, data.images);\n      image.each(img => {\n        const updateAlt = data.alt === '' || state.prevImage.map(image => image.text === data.alt).getOr(false);\n        if (updateAlt) {\n          if (img.value === '') {\n            api.setData({\n              src: img,\n              alt: state.prevAlt\n            });\n          } else {\n            api.setData({\n              src: img,\n              alt: img.text\n            });\n          }\n        } else {\n          api.setData({\n            src: img\n          });\n        }\n      });\n      state.prevImage = image;\n      changeSrc(helpers, info, state, api);\n    };\n    const changeFileInput = (helpers, info, state, api) => {\n      const data = api.getData();\n      api.block('Uploading image');\n      head(data.fileinput).fold(() => {\n        api.unblock();\n      }, file => {\n        const blobUri = URL.createObjectURL(file);\n        const finalize = () => {\n          api.unblock();\n          URL.revokeObjectURL(blobUri);\n        };\n        const updateSrcAndSwitchTab = url => {\n          api.setData({\n            src: {\n              value: url,\n              meta: {}\n            }\n          });\n          api.showTab('general');\n          changeSrc(helpers, info, state, api);\n        };\n        blobToDataUri(file).then(dataUrl => {\n          const blobInfo = helpers.createBlobCache(file, blobUri, dataUrl);\n          if (info.automaticUploads) {\n            helpers.uploadImage(blobInfo).then(result => {\n              updateSrcAndSwitchTab(result.url);\n              finalize();\n            }).catch(err => {\n              finalize();\n              helpers.alertErr(err);\n            });\n          } else {\n            helpers.addToBlobCache(blobInfo);\n            updateSrcAndSwitchTab(blobInfo.blobUri());\n            api.unblock();\n          }\n        });\n      });\n    };\n    const changeLibraryFileHandler = (helpers, info, state, api) => {\n      const data = api.getData();\n      api.block('Uploading image');\n      head(data.libraryfile).fold(() => {\n        api.unblock();\n      }, file => {\n        const blobUri = URL.createObjectURL(file);\n        const updateSrcAndSwitchTab = url => {\n          api.setData({\n            src: {\n              value: url,\n              meta: {}\n            }\n          });\n          api.showTab('general');\n          changeSrc(helpers, info, state, api);\n        };\n        blobToDataUri(file).then(dataUrl => {\n          const blobInfo = helpers.createBlobCache(file, blobUri, dataUrl);\n          helpers.addToBlobCache(blobInfo);\n          updateSrcAndSwitchTab(blobInfo.blobUri());\n          api.unblock();\n        });\n      });\n    };\n    const changeHandler = (helpers, info, state) => (api, evt) => {\n      if (evt.name === 'src') {\n        changeSrc(helpers, info, state, api);\n      } else if (evt.name === 'images') {\n        changeImages(helpers, info, state, api);\n      } else if (evt.name === 'alt') {\n        state.prevAlt = api.getData().alt;\n      } else if (evt.name === 'fileinput') {\n        changeFileInput(helpers, info, state, api);\n      } else if (evt.name === 'isDecorative') {\n        api.setEnabled('alt', !api.getData().isDecorative);\n      } else if (evt.name === 'libraryfile') {\n        changeLibraryFileHandler(helpers, info, state, api);\n      }\n    };\n    const actionHandler = (helpers, info, state) => (api, evt) => {\n      if (evt.name === 'librarysearch') {\n        const successCallback = filename => {\n          api.setData({\n            src: {\n              value: filename,\n              meta: {}\n            }\n          });\n          api.showTab('general');\n          changeSrc(helpers, info, state, api);\n        };\n        info.libraryTab.libraryFilePicker(helpers.getEditor(), successCallback);\n      }\n    };\n    const closeHandler = state => () => {\n      state.open = false;\n    };\n    const makeDialogBody = info => {\n      if (info.hasAdvTab || info.hasUploadUrl || info.hasUploadHandler) {\n        const tabPanel = {\n          type: 'tabpanel',\n          tabs: flatten([[MainTab.makeTab(info)], info.hasAdvTab ? [AdvTab.makeTab(info)] : [], info.hasUploadTab && (info.hasUploadUrl || info.hasUploadHandler) ? [UploadTab.makeTab(info)] : [], info.libraryTab.showLibraryTab ? [LibraryTab.makeTab(info)] : []])\n        };\n        return tabPanel;\n      } else {\n        const panel = {\n          type: 'panel',\n          items: MainTab.makeItems(info)\n        };\n        return panel;\n      }\n    };\n    const submitHandler = (editor, info, helpers) => api => {\n      const data = deepMerge(fromImageData(info.image), api.getData());\n      const finalData = {\n        ...data,\n        style: getStyleValue(helpers.normalizeCss, toImageData(data, false))\n      };\n      editor.execCommand('mceUpdateImage', false, toImageData(finalData, info.hasAccessibilityOptions));\n      editor.editorUpload.uploadImagesAuto();\n      api.close();\n    };\n    const imageSize = editor => url => {\n      if (!isSafeImageUrl(editor, url)) {\n        return Promise.resolve({\n          width: '',\n          height: ''\n        });\n      } else {\n        return getImageSize(editor.documentBaseURI.toAbsolute(url)).then(dimensions => ({\n          width: String(dimensions.width),\n          height: String(dimensions.height)\n        }));\n      }\n    };\n    const createBlobCache = editor => (file, blobUri, dataUrl) => {\n      var _a;\n      return editor.editorUpload.blobCache.create({\n        blob: file,\n        blobUri,\n        name: (_a = file.name) === null || _a === void 0 ? void 0 : _a.replace(/\\.[^\\.]+$/, ''),\n        filename: file.name,\n        base64: dataUrl.split(',')[1]\n      });\n    };\n    const addToBlobCache = editor => blobInfo => {\n      editor.editorUpload.blobCache.add(blobInfo);\n    };\n    const alertErr = editor => message => {\n      editor.windowManager.alert(message);\n    };\n    const normalizeCss = editor => cssText => normalizeCss$1(editor, cssText);\n    const parseStyle = editor => cssText => editor.dom.parseStyle(cssText);\n    const serializeStyle = editor => (stylesArg, name) => editor.dom.serializeStyle(stylesArg, name);\n    const uploadImage = editor => blobInfo => global$1(editor).upload([blobInfo], false).then(results => {\n      var _a;\n      if (results.length === 0) {\n        return Promise.reject('Failed to upload image');\n      } else if (results[0].status === false) {\n        return Promise.reject((_a = results[0].error) === null || _a === void 0 ? void 0 : _a.message);\n      } else {\n        return results[0];\n      }\n    });\n    const Dialog = editor => {\n      const helpers = {\n        imageSize: imageSize(editor),\n        addToBlobCache: addToBlobCache(editor),\n        createBlobCache: createBlobCache(editor),\n        alertErr: alertErr(editor),\n        normalizeCss: normalizeCss(editor),\n        parseStyle: parseStyle(editor),\n        serializeStyle: serializeStyle(editor),\n        uploadImage: uploadImage(editor),\n        getEditor: () => editor\n      };\n      const open = () => {\n        collect(editor).then(info => {\n          const state = createState(info);\n          return {\n            title: 'Insert/Edit Image',\n            size: 'normal',\n            body: makeDialogBody(info),\n            buttons: [{\n              type: 'cancel',\n              name: 'cancel',\n              text: 'Cancel'\n            }, {\n              type: 'submit',\n              name: 'save',\n              text: 'Save',\n              primary: true\n            }],\n            initialData: fromImageData(info.image),\n            onSubmit: submitHandler(editor, info, helpers),\n            onChange: changeHandler(helpers, info, state),\n            onAction: actionHandler(helpers, info, state),\n            onClose: closeHandler(state)\n          };\n        }).then(editor.windowManager.open);\n      };\n      return {\n        open\n      };\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceImage', Dialog(editor).open);\n      editor.addCommand('mceUpdateImage', (_ui, data) => {\n        editor.undoManager.transact(() => insertOrUpdateImage(editor, data));\n      });\n    };\n\n    const hasImageClass = node => {\n      const className = node.attr('class');\n      return isNonNullable(className) && /\\bimage\\b/.test(className);\n    };\n    const toggleContentEditableState = state => nodes => {\n      let i = nodes.length;\n      const toggleContentEditable = node => {\n        node.attr('contenteditable', state ? 'true' : null);\n      };\n      while (i--) {\n        const node = nodes[i];\n        if (hasImageClass(node)) {\n          node.attr('contenteditable', state ? 'false' : null);\n          global.each(node.getAll('figcaption'), toggleContentEditable);\n        }\n      }\n    };\n    const setup = editor => {\n      editor.on('PreInit', () => {\n        editor.parser.addNodeFilter('figure', toggleContentEditableState(true));\n        editor.serializer.addNodeFilter('figure', toggleContentEditableState(false));\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      editor.ui.registry.addToggleButton('image', {\n        icon: 'image',\n        tooltip: 'Insert/edit image',\n        onAction: Dialog(editor).open,\n        onSetup: buttonApi => {\n          buttonApi.setActive(isNonNullable(getSelectedImage(editor)));\n          const unbindSelectorChanged = editor.selection.selectorChangedWithUnbind('img:not([data-mce-object]):not([data-mce-placeholder]),figure.image', buttonApi.setActive).unbind;\n          const unbindEditable = onSetupEditable(editor)(buttonApi);\n          return () => {\n            unbindSelectorChanged();\n            unbindEditable();\n          };\n        }\n      });\n      editor.ui.registry.addMenuItem('image', {\n        icon: 'image',\n        text: 'Image...',\n        onAction: Dialog(editor).open,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addContextMenu('image', {\n        update: element => editor.selection.isEditable() && (isFigure(element) || isImage(element) && !isPlaceholderImage(element)) ? ['image'] : []\n      });\n    };\n\n    var Plugin = (() => {\n      global$4.add('image', editor => {\n        setup(editor);\n        register$2(editor);\n        register(editor);\n        register$1(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('insertdatetime_dateformat', {\n        processor: 'string',\n        default: editor.translate('%Y-%m-%d')\n      });\n      registerOption('insertdatetime_timeformat', {\n        processor: 'string',\n        default: editor.translate('%H:%M:%S')\n      });\n      registerOption('insertdatetime_formats', {\n        processor: 'string[]',\n        default: ['%H:%M:%S', '%Y-%m-%d', '%I:%M:%S %p', '%D']\n      });\n      registerOption('insertdatetime_element', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getDateFormat = option('insertdatetime_dateformat');\n    const getTimeFormat = option('insertdatetime_timeformat');\n    const getFormats = option('insertdatetime_formats');\n    const shouldInsertTimeElement = option('insertdatetime_element');\n    const getDefaultDateTime = editor => {\n      const formats = getFormats(editor);\n      return formats.length > 0 ? formats[0] : getTimeFormat(editor);\n    };\n\n    const daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');\n    const daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');\n    const monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');\n    const monthsLong = 'January February March April May June July August September October November December'.split(' ');\n    const addZeros = (value, len) => {\n      value = '' + value;\n      if (value.length < len) {\n        for (let i = 0; i < len - value.length; i++) {\n          value = '0' + value;\n        }\n      }\n      return value;\n    };\n    const getDateTime = (editor, fmt, date = new Date()) => {\n      fmt = fmt.replace('%D', '%m/%d/%Y');\n      fmt = fmt.replace('%r', '%I:%M:%S %p');\n      fmt = fmt.replace('%Y', '' + date.getFullYear());\n      fmt = fmt.replace('%y', '' + date.getYear());\n      fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));\n      fmt = fmt.replace('%d', addZeros(date.getDate(), 2));\n      fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));\n      fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));\n      fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));\n      fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));\n      fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));\n      fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));\n      fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));\n      fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));\n      fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));\n      fmt = fmt.replace('%%', '%');\n      return fmt;\n    };\n    const updateElement = (editor, timeElm, computerTime, userTime) => {\n      const newTimeElm = editor.dom.create('time', {\n        datetime: computerTime\n      }, userTime);\n      editor.dom.replace(newTimeElm, timeElm);\n      editor.selection.select(newTimeElm, true);\n      editor.selection.collapse(false);\n    };\n    const insertDateTime = (editor, format) => {\n      if (shouldInsertTimeElement(editor)) {\n        const userTime = getDateTime(editor, format);\n        let computerTime;\n        if (/%[HMSIp]/.test(format)) {\n          computerTime = getDateTime(editor, '%Y-%m-%dT%H:%M');\n        } else {\n          computerTime = getDateTime(editor, '%Y-%m-%d');\n        }\n        const timeElm = editor.dom.getParent(editor.selection.getStart(), 'time');\n        if (timeElm) {\n          updateElement(editor, timeElm, computerTime, userTime);\n        } else {\n          editor.insertContent('<time datetime=\"' + computerTime + '\">' + userTime + '<\/time>');\n        }\n      } else {\n        editor.insertContent(getDateTime(editor, format));\n      }\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceInsertDate', (_ui, value) => {\n        insertDateTime(editor, value !== null && value !== void 0 ? value : getDateFormat(editor));\n      });\n      editor.addCommand('mceInsertTime', (_ui, value) => {\n        insertDateTime(editor, value !== null && value !== void 0 ? value : getTimeFormat(editor));\n      });\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const formats = getFormats(editor);\n      const defaultFormat = Cell(getDefaultDateTime(editor));\n      const insertDateTime = format => editor.execCommand('mceInsertDate', false, format);\n      editor.ui.registry.addSplitButton('insertdatetime', {\n        icon: 'insert-time',\n        tooltip: 'Insert date/time',\n        select: value => value === defaultFormat.get(),\n        fetch: done => {\n          done(global.map(formats, format => ({\n            type: 'choiceitem',\n            text: getDateTime(editor, format),\n            value: format\n          })));\n        },\n        onAction: _api => {\n          insertDateTime(defaultFormat.get());\n        },\n        onItemAction: (_api, value) => {\n          defaultFormat.set(value);\n          insertDateTime(value);\n        },\n        onSetup: onSetupEditable(editor)\n      });\n      const makeMenuItemHandler = format => () => {\n        defaultFormat.set(format);\n        insertDateTime(format);\n      };\n      editor.ui.registry.addNestedMenuItem('insertdatetime', {\n        icon: 'insert-time',\n        text: 'Date/time',\n        getSubmenuItems: () => global.map(formats, format => ({\n          type: 'menuitem',\n          text: getDateTime(editor, format),\n          onAction: makeMenuItemHandler(format)\n        })),\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = (() => {\n      global$1.add('insertdatetime', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isString = isType('string');\n    const isObject = isType('object');\n    const isArray = isType('array');\n    const isNull = eq(null);\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isArrayOf = (value, pred) => {\n      if (isArray(value)) {\n        for (let i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const foldl = (xs, f, acc) => {\n      each$1(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('link_assume_external_targets', {\n        processor: value => {\n          const valid = isString(value) || isBoolean(value);\n          if (valid) {\n            if (value === true) {\n              return {\n                value: 1,\n                valid\n              };\n            } else if (value === 'http' || value === 'https') {\n              return {\n                value,\n                valid\n              };\n            } else {\n              return {\n                value: 0,\n                valid\n              };\n            }\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a string or a boolean.'\n            };\n          }\n        },\n        default: false\n      });\n      registerOption('link_context_toolbar', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('link_list', {\n        processor: value => isString(value) || isFunction(value) || isArrayOf(value, isObject)\n      });\n      registerOption('link_default_target', {\n        processor: 'string'\n      });\n      registerOption('link_default_protocol', {\n        processor: 'string',\n        default: 'https'\n      });\n      registerOption('link_target_list', {\n        processor: value => isBoolean(value) || isArrayOf(value, isObject),\n        default: true\n      });\n      registerOption('link_rel_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('link_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('link_title', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('allow_unsafe_link_target', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('link_quicklink', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const assumeExternalTargets = option('link_assume_external_targets');\n    const hasContextToolbar = option('link_context_toolbar');\n    const getLinkList = option('link_list');\n    const getDefaultLinkTarget = option('link_default_target');\n    const getDefaultLinkProtocol = option('link_default_protocol');\n    const getTargetList = option('link_target_list');\n    const getRelList = option('link_rel_list');\n    const getLinkClassList = option('link_class_list');\n    const shouldShowLinkTitle = option('link_title');\n    const allowUnsafeLinkTarget = option('allow_unsafe_link_target');\n    const useQuickLink = option('link_quicklink');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const getValue = item => isString(item.value) ? item.value : '';\n    const getText = item => {\n      if (isString(item.text)) {\n        return item.text;\n      } else if (isString(item.title)) {\n        return item.title;\n      } else {\n        return '';\n      }\n    };\n    const sanitizeList = (list, extractValue) => {\n      const out = [];\n      global$4.each(list, item => {\n        const text = getText(item);\n        if (item.menu !== undefined) {\n          const items = sanitizeList(item.menu, extractValue);\n          out.push({\n            text,\n            items\n          });\n        } else {\n          const value = extractValue(item);\n          out.push({\n            text,\n            value\n          });\n        }\n      });\n      return out;\n    };\n    const sanitizeWith = (extracter = getValue) => list => Optional.from(list).map(list => sanitizeList(list, extracter));\n    const sanitize = list => sanitizeWith(getValue)(list);\n    const createUi = (name, label) => items => ({\n      name,\n      type: 'listbox',\n      label,\n      items\n    });\n    const ListOptions = {\n      sanitize,\n      sanitizeWith,\n      createUi,\n      getValue\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    const isAnchor = elm => isNonNullable(elm) && elm.nodeName.toLowerCase() === 'a';\n    const isLink = elm => isAnchor(elm) && !!getHref(elm);\n    const collectNodesInRange = (rng, predicate) => {\n      if (rng.collapsed) {\n        return [];\n      } else {\n        const contents = rng.cloneContents();\n        const firstChild = contents.firstChild;\n        const walker = new global$3(firstChild, contents);\n        const elements = [];\n        let current = firstChild;\n        do {\n          if (predicate(current)) {\n            elements.push(current);\n          }\n        } while (current = walker.next());\n        return elements;\n      }\n    };\n    const hasProtocol = url => /^\\w+:/i.test(url);\n    const getHref = elm => {\n      var _a, _b;\n      return (_b = (_a = elm.getAttribute('data-mce-href')) !== null && _a !== void 0 ? _a : elm.getAttribute('href')) !== null && _b !== void 0 ? _b : '';\n    };\n    const applyRelTargetRules = (rel, isUnsafe) => {\n      const rules = ['noopener'];\n      const rels = rel ? rel.split(/\\s+/) : [];\n      const toString = rels => global$4.trim(rels.sort().join(' '));\n      const addTargetRules = rels => {\n        rels = removeTargetRules(rels);\n        return rels.length > 0 ? rels.concat(rules) : rules;\n      };\n      const removeTargetRules = rels => rels.filter(val => global$4.inArray(rules, val) === -1);\n      const newRels = isUnsafe ? addTargetRules(rels) : removeTargetRules(rels);\n      return newRels.length > 0 ? toString(newRels) : '';\n    };\n    const trimCaretContainers = text => text.replace(/\\uFEFF/g, '');\n    const getAnchorElement = (editor, selectedElm) => {\n      selectedElm = selectedElm || getLinksInSelection(editor.selection.getRng())[0] || editor.selection.getNode();\n      if (isImageFigure(selectedElm)) {\n        return Optional.from(editor.dom.select('a[href]', selectedElm)[0]);\n      } else {\n        return Optional.from(editor.dom.getParent(selectedElm, 'a[href]'));\n      }\n    };\n    const isInAnchor = (editor, selectedElm) => getAnchorElement(editor, selectedElm).isSome();\n    const getAnchorText = (selection, anchorElm) => {\n      const text = anchorElm.fold(() => selection.getContent({\n        format: 'text'\n      }), anchorElm => anchorElm.innerText || anchorElm.textContent || '');\n      return trimCaretContainers(text);\n    };\n    const getLinksInSelection = rng => collectNodesInRange(rng, isLink);\n    const getLinks$1 = elements => global$4.grep(elements, isLink);\n    const hasLinks = elements => getLinks$1(elements).length > 0;\n    const hasLinksInSelection = rng => getLinksInSelection(rng).length > 0;\n    const isOnlyTextSelected = editor => {\n      const inlineTextElements = editor.schema.getTextInlineElements();\n      const isElement = elm => elm.nodeType === 1 && !isAnchor(elm) && !has(inlineTextElements, elm.nodeName.toLowerCase());\n      const isInBlockAnchor = getAnchorElement(editor).exists(anchor => anchor.hasAttribute('data-mce-block'));\n      if (isInBlockAnchor) {\n        return false;\n      }\n      const rng = editor.selection.getRng();\n      if (!rng.collapsed) {\n        const elements = collectNodesInRange(rng, isElement);\n        return elements.length === 0;\n      } else {\n        return true;\n      }\n    };\n    const isImageFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE' && /\\bimage\\b/i.test(elm.className);\n    const getLinkAttrs = data => {\n      const attrs = ['title', 'rel', 'class', 'target'];\n      return foldl(attrs, (acc, key) => {\n        data[key].each(value => {\n          acc[key] = value.length > 0 ? value : null;\n        });\n        return acc;\n      }, {\n        href: data.href\n      });\n    };\n    const handleExternalTargets = (href, assumeExternalTargets) => {\n      if ((assumeExternalTargets === 'http' || assumeExternalTargets === 'https') && !hasProtocol(href)) {\n        return assumeExternalTargets + '://' + href;\n      }\n      return href;\n    };\n    const applyLinkOverrides = (editor, linkAttrs) => {\n      const newLinkAttrs = {\n        ...linkAttrs\n      };\n      if (getRelList(editor).length === 0 && !allowUnsafeLinkTarget(editor)) {\n        const newRel = applyRelTargetRules(newLinkAttrs.rel, newLinkAttrs.target === '_blank');\n        newLinkAttrs.rel = newRel ? newRel : null;\n      }\n      if (Optional.from(newLinkAttrs.target).isNone() && getTargetList(editor) === false) {\n        newLinkAttrs.target = getDefaultLinkTarget(editor);\n      }\n      newLinkAttrs.href = handleExternalTargets(newLinkAttrs.href, assumeExternalTargets(editor));\n      return newLinkAttrs;\n    };\n    const updateLink = (editor, anchorElm, text, linkAttrs) => {\n      text.each(text => {\n        if (has(anchorElm, 'innerText')) {\n          anchorElm.innerText = text;\n        } else {\n          anchorElm.textContent = text;\n        }\n      });\n      editor.dom.setAttribs(anchorElm, linkAttrs);\n      editor.selection.select(anchorElm);\n    };\n    const createLink = (editor, selectedElm, text, linkAttrs) => {\n      const dom = editor.dom;\n      if (isImageFigure(selectedElm)) {\n        linkImageFigure(dom, selectedElm, linkAttrs);\n      } else {\n        text.fold(() => {\n          editor.execCommand('mceInsertLink', false, linkAttrs);\n        }, text => {\n          editor.insertContent(dom.createHTML('a', linkAttrs, dom.encode(text)));\n        });\n      }\n    };\n    const linkDomMutation = (editor, attachState, data) => {\n      const selectedElm = editor.selection.getNode();\n      const anchorElm = getAnchorElement(editor, selectedElm);\n      const linkAttrs = applyLinkOverrides(editor, getLinkAttrs(data));\n      editor.undoManager.transact(() => {\n        if (data.href === attachState.href) {\n          attachState.attach();\n        }\n        anchorElm.fold(() => {\n          createLink(editor, selectedElm, data.text, linkAttrs);\n        }, elm => {\n          editor.focus();\n          updateLink(editor, elm, data.text, linkAttrs);\n        });\n      });\n    };\n    const unlinkSelection = editor => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const bookmark = selection.getBookmark();\n      const rng = selection.getRng().cloneRange();\n      const startAnchorElm = dom.getParent(rng.startContainer, 'a[href]', editor.getBody());\n      const endAnchorElm = dom.getParent(rng.endContainer, 'a[href]', editor.getBody());\n      if (startAnchorElm) {\n        rng.setStartBefore(startAnchorElm);\n      }\n      if (endAnchorElm) {\n        rng.setEndAfter(endAnchorElm);\n      }\n      selection.setRng(rng);\n      editor.execCommand('unlink');\n      selection.moveToBookmark(bookmark);\n    };\n    const unlinkDomMutation = editor => {\n      editor.undoManager.transact(() => {\n        const node = editor.selection.getNode();\n        if (isImageFigure(node)) {\n          unlinkImageFigure(editor, node);\n        } else {\n          unlinkSelection(editor);\n        }\n        editor.focus();\n      });\n    };\n    const unwrapOptions = data => {\n      const {\n        class: cls,\n        href,\n        rel,\n        target,\n        text,\n        title\n      } = data;\n      return filter({\n        class: cls.getOrNull(),\n        href,\n        rel: rel.getOrNull(),\n        target: target.getOrNull(),\n        text: text.getOrNull(),\n        title: title.getOrNull()\n      }, (v, _k) => isNull(v) === false);\n    };\n    const sanitizeData = (editor, data) => {\n      const getOption = editor.options.get;\n      const uriOptions = {\n        allow_html_data_urls: getOption('allow_html_data_urls'),\n        allow_script_urls: getOption('allow_script_urls'),\n        allow_svg_data_urls: getOption('allow_svg_data_urls')\n      };\n      const href = data.href;\n      return {\n        ...data,\n        href: global$2.isDomSafe(href, 'a', uriOptions) ? href : ''\n      };\n    };\n    const link = (editor, attachState, data) => {\n      const sanitizedData = sanitizeData(editor, data);\n      editor.hasPlugin('rtc', true) ? editor.execCommand('createlink', false, unwrapOptions(sanitizedData)) : linkDomMutation(editor, attachState, sanitizedData);\n    };\n    const unlink = editor => {\n      editor.hasPlugin('rtc', true) ? editor.execCommand('unlink') : unlinkDomMutation(editor);\n    };\n    const unlinkImageFigure = (editor, fig) => {\n      var _a;\n      const img = editor.dom.select('img', fig)[0];\n      if (img) {\n        const a = editor.dom.getParents(img, 'a[href]', fig)[0];\n        if (a) {\n          (_a = a.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(img, a);\n          editor.dom.remove(a);\n        }\n      }\n    };\n    const linkImageFigure = (dom, fig, attrs) => {\n      var _a;\n      const img = dom.select('img', fig)[0];\n      if (img) {\n        const a = dom.create('a', attrs);\n        (_a = img.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(a, img);\n        a.appendChild(img);\n      }\n    };\n\n    const isListGroup = item => hasNonNullableKey(item, 'items');\n    const findTextByValue = (value, catalog) => findMap(catalog, item => {\n      if (isListGroup(item)) {\n        return findTextByValue(value, item.items);\n      } else {\n        return someIf(item.value === value, item);\n      }\n    });\n    const getDelta = (persistentText, fieldName, catalog, data) => {\n      const value = data[fieldName];\n      const hasPersistentText = persistentText.length > 0;\n      return value !== undefined ? findTextByValue(value, catalog).map(i => ({\n        url: {\n          value: i.value,\n          meta: {\n            text: hasPersistentText ? persistentText : i.text,\n            attach: noop\n          }\n        },\n        text: hasPersistentText ? persistentText : i.text\n      })) : Optional.none();\n    };\n    const findCatalog = (catalogs, fieldName) => {\n      if (fieldName === 'link') {\n        return catalogs.link;\n      } else if (fieldName === 'anchor') {\n        return catalogs.anchor;\n      } else {\n        return Optional.none();\n      }\n    };\n    const init = (initialData, linkCatalog) => {\n      const persistentData = {\n        text: initialData.text,\n        title: initialData.title\n      };\n      const getTitleFromUrlChange = url => {\n        var _a;\n        return someIf(persistentData.title.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.title).getOr(''));\n      };\n      const getTextFromUrlChange = url => {\n        var _a;\n        return someIf(persistentData.text.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.text).getOr(url.value));\n      };\n      const onUrlChange = data => {\n        const text = getTextFromUrlChange(data.url);\n        const title = getTitleFromUrlChange(data.url);\n        if (text.isSome() || title.isSome()) {\n          return Optional.some({\n            ...text.map(text => ({\n              text\n            })).getOr({}),\n            ...title.map(title => ({\n              title\n            })).getOr({})\n          });\n        } else {\n          return Optional.none();\n        }\n      };\n      const onCatalogChange = (data, change) => {\n        const catalog = findCatalog(linkCatalog, change).getOr([]);\n        return getDelta(persistentData.text, change, catalog, data);\n      };\n      const onChange = (getData, change) => {\n        const name = change.name;\n        if (name === 'url') {\n          return onUrlChange(getData());\n        } else if (contains(['anchor', 'link'], name)) {\n          return onCatalogChange(getData(), name);\n        } else if (name === 'text' || name === 'title') {\n          persistentData[name] = getData()[name];\n          return Optional.none();\n        } else {\n          return Optional.none();\n        }\n      };\n      return {\n        onChange\n      };\n    };\n    const DialogChanges = {\n      init,\n      getDelta\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    const delayedConfirm = (editor, message, callback) => {\n      const rng = editor.selection.getRng();\n      global$1.setEditorTimeout(editor, () => {\n        editor.windowManager.confirm(message, state => {\n          editor.selection.setRng(rng);\n          callback(state);\n        });\n      });\n    };\n    const tryEmailTransform = data => {\n      const url = data.href;\n      const suggestMailTo = url.indexOf('@') > 0 && url.indexOf('/') === -1 && url.indexOf('mailto:') === -1;\n      return suggestMailTo ? Optional.some({\n        message: 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?',\n        preprocess: oldData => ({\n          ...oldData,\n          href: 'mailto:' + url\n        })\n      }) : Optional.none();\n    };\n    const tryProtocolTransform = (assumeExternalTargets, defaultLinkProtocol) => data => {\n      const url = data.href;\n      const suggestProtocol = assumeExternalTargets === 1 && !hasProtocol(url) || assumeExternalTargets === 0 && /^\\s*www(\\.|\\d\\.)/i.test(url);\n      return suggestProtocol ? Optional.some({\n        message: \"The URL you entered seems to be an external link. Do you want to add the required \".concat(defaultLinkProtocol, \":// prefix?\"),\n        preprocess: oldData => ({\n          ...oldData,\n          href: defaultLinkProtocol + '://' + url\n        })\n      }) : Optional.none();\n    };\n    const preprocess = (editor, data) => findMap([tryEmailTransform, tryProtocolTransform(assumeExternalTargets(editor), getDefaultLinkProtocol(editor))], f => f(data)).fold(() => Promise.resolve(data), transform => new Promise(callback => {\n      delayedConfirm(editor, transform.message, state => {\n        callback(state ? transform.preprocess(data) : data);\n      });\n    }));\n    const DialogConfirms = {\n      preprocess\n    };\n\n    const getAnchors = editor => {\n      const anchorNodes = editor.dom.select('a:not([href])');\n      const anchors = bind(anchorNodes, anchor => {\n        const id = anchor.name || anchor.id;\n        return id ? [{\n          text: id,\n          value: '#' + id\n        }] : [];\n      });\n      return anchors.length > 0 ? Optional.some([{\n        text: 'None',\n        value: ''\n      }].concat(anchors)) : Optional.none();\n    };\n    const AnchorListOptions = {\n      getAnchors\n    };\n\n    const getClasses = editor => {\n      const list = getLinkClassList(editor);\n      if (list.length > 0) {\n        return ListOptions.sanitize(list);\n      }\n      return Optional.none();\n    };\n    const ClassListOptions = {\n      getClasses\n    };\n\n    const parseJson = text => {\n      try {\n        return Optional.some(JSON.parse(text));\n      } catch (err) {\n        return Optional.none();\n      }\n    };\n    const getLinks = editor => {\n      const extractor = item => editor.convertURL(item.value || item.url || '', 'href');\n      const linkList = getLinkList(editor);\n      return new Promise(resolve => {\n        if (isString(linkList)) {\n          fetch(linkList).then(res => res.ok ? res.text().then(parseJson) : Promise.reject()).then(resolve, () => resolve(Optional.none()));\n        } else if (isFunction(linkList)) {\n          linkList(output => resolve(Optional.some(output)));\n        } else {\n          resolve(Optional.from(linkList));\n        }\n      }).then(optItems => optItems.bind(ListOptions.sanitizeWith(extractor)).map(items => {\n        if (items.length > 0) {\n          const noneItem = [{\n            text: 'None',\n            value: ''\n          }];\n          return noneItem.concat(items);\n        } else {\n          return items;\n        }\n      }));\n    };\n    const LinkListOptions = {\n      getLinks\n    };\n\n    const getRels = (editor, initialTarget) => {\n      const list = getRelList(editor);\n      if (list.length > 0) {\n        const isTargetBlank = is(initialTarget, '_blank');\n        const enforceSafe = allowUnsafeLinkTarget(editor) === false;\n        const safeRelExtractor = item => applyRelTargetRules(ListOptions.getValue(item), isTargetBlank);\n        const sanitizer = enforceSafe ? ListOptions.sanitizeWith(safeRelExtractor) : ListOptions.sanitize;\n        return sanitizer(list);\n      }\n      return Optional.none();\n    };\n    const RelOptions = {\n      getRels\n    };\n\n    const fallbacks = [{\n      text: 'Current window',\n      value: ''\n    }, {\n      text: 'New window',\n      value: '_blank'\n    }];\n    const getTargets = editor => {\n      const list = getTargetList(editor);\n      if (isArray(list)) {\n        return ListOptions.sanitize(list).orThunk(() => Optional.some(fallbacks));\n      } else if (list === false) {\n        return Optional.none();\n      }\n      return Optional.some(fallbacks);\n    };\n    const TargetOptions = {\n      getTargets\n    };\n\n    const nonEmptyAttr = (dom, elem, name) => {\n      const val = dom.getAttrib(elem, name);\n      return val !== null && val.length > 0 ? Optional.some(val) : Optional.none();\n    };\n    const extractFromAnchor = (editor, anchor) => {\n      const dom = editor.dom;\n      const onlyText = isOnlyTextSelected(editor);\n      const text = onlyText ? Optional.some(getAnchorText(editor.selection, anchor)) : Optional.none();\n      const url = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'href')));\n      const target = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'target')));\n      const rel = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'rel'));\n      const linkClass = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'class'));\n      const title = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'title'));\n      return {\n        url,\n        text,\n        title,\n        target,\n        rel,\n        linkClass\n      };\n    };\n    const collect = (editor, linkNode) => LinkListOptions.getLinks(editor).then(links => {\n      const anchor = extractFromAnchor(editor, linkNode);\n      return {\n        anchor,\n        catalogs: {\n          targets: TargetOptions.getTargets(editor),\n          rels: RelOptions.getRels(editor, anchor.target),\n          classes: ClassListOptions.getClasses(editor),\n          anchor: AnchorListOptions.getAnchors(editor),\n          link: links\n        },\n        optNode: linkNode,\n        flags: {\n          titleEnabled: shouldShowLinkTitle(editor)\n        }\n      };\n    });\n    const DialogInfo = {\n      collect\n    };\n\n    const handleSubmit = (editor, info) => api => {\n      const data = api.getData();\n      if (!data.url.value) {\n        unlink(editor);\n        api.close();\n        return;\n      }\n      const getChangedValue = key => Optional.from(data[key]).filter(value => !is(info.anchor[key], value));\n      const changedData = {\n        href: data.url.value,\n        text: getChangedValue('text'),\n        target: getChangedValue('target'),\n        rel: getChangedValue('rel'),\n        class: getChangedValue('linkClass'),\n        title: getChangedValue('title')\n      };\n      const attachState = {\n        href: data.url.value,\n        attach: data.url.meta !== undefined && data.url.meta.attach ? data.url.meta.attach : noop\n      };\n      DialogConfirms.preprocess(editor, changedData).then(pData => {\n        link(editor, attachState, pData);\n      });\n      api.close();\n    };\n    const collectData = editor => {\n      const anchorNode = getAnchorElement(editor);\n      return DialogInfo.collect(editor, anchorNode);\n    };\n    const getInitialData = (info, defaultTarget) => {\n      const anchor = info.anchor;\n      const url = anchor.url.getOr('');\n      return {\n        url: {\n          value: url,\n          meta: {\n            original: {\n              value: url\n            }\n          }\n        },\n        text: anchor.text.getOr(''),\n        title: anchor.title.getOr(''),\n        anchor: url,\n        link: url,\n        rel: anchor.rel.getOr(''),\n        target: anchor.target.or(defaultTarget).getOr(''),\n        linkClass: anchor.linkClass.getOr('')\n      };\n    };\n    const makeDialog = (settings, onSubmit, editor) => {\n      const urlInput = [{\n        name: 'url',\n        type: 'urlinput',\n        filetype: 'file',\n        label: 'URL',\n        picker_text: 'Browse links'\n      }];\n      const displayText = settings.anchor.text.map(() => ({\n        name: 'text',\n        type: 'input',\n        label: 'Text to display'\n      })).toArray();\n      const titleText = settings.flags.titleEnabled ? [{\n        name: 'title',\n        type: 'input',\n        label: 'Title'\n      }] : [];\n      const defaultTarget = Optional.from(getDefaultLinkTarget(editor));\n      const initialData = getInitialData(settings, defaultTarget);\n      const catalogs = settings.catalogs;\n      const dialogDelta = DialogChanges.init(initialData, catalogs);\n      const body = {\n        type: 'panel',\n        items: flatten([urlInput, displayText, titleText, cat([catalogs.anchor.map(ListOptions.createUi('anchor', 'Anchors')), catalogs.rels.map(ListOptions.createUi('rel', 'Rel')), catalogs.targets.map(ListOptions.createUi('target', 'Open link in...')), catalogs.link.map(ListOptions.createUi('link', 'Link list')), catalogs.classes.map(ListOptions.createUi('linkClass', 'Class'))])])\n      };\n      return {\n        title: 'Insert/Edit Link',\n        size: 'normal',\n        body,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData,\n        onChange: (api, {\n          name\n        }) => {\n          dialogDelta.onChange(api.getData, {\n            name\n          }).each(newData => {\n            api.setData(newData);\n          });\n        },\n        onSubmit\n      };\n    };\n    const open$1 = editor => {\n      const data = collectData(editor);\n      data.then(info => {\n        const onSubmit = handleSubmit(editor, info);\n        return makeDialog(info, onSubmit, editor);\n      }).then(spec => {\n        editor.windowManager.open(spec);\n      });\n    };\n\n    const register = editor => {\n      editor.addCommand('mceLink', (_ui, value) => {\n        if ((value === null || value === void 0 ? void 0 : value.dialog) === true || !useQuickLink(editor)) {\n          open$1(editor);\n        } else {\n          editor.dispatch('contexttoolbar-show', {\n            toolbarKey: 'quicklink'\n          });\n        }\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const appendClickRemove = (link, evt) => {\n      document.body.appendChild(link);\n      link.dispatchEvent(evt);\n      document.body.removeChild(link);\n    };\n    const open = url => {\n      const link = document.createElement('a');\n      link.target = '_blank';\n      link.href = url;\n      link.rel = 'noreferrer noopener';\n      const evt = document.createEvent('MouseEvents');\n      evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n      appendClickRemove(link, evt);\n    };\n\n    const getLink = (editor, elm) => editor.dom.getParent(elm, 'a[href]');\n    const getSelectedLink = editor => getLink(editor, editor.selection.getStart());\n    const hasOnlyAltModifier = e => {\n      return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false;\n    };\n    const gotoLink = (editor, a) => {\n      if (a) {\n        const href = getHref(a);\n        if (/^#/.test(href)) {\n          const targetEl = editor.dom.select(href);\n          if (targetEl.length) {\n            editor.selection.scrollIntoView(targetEl[0], true);\n          }\n        } else {\n          open(a.href);\n        }\n      }\n    };\n    const openDialog = editor => () => {\n      editor.execCommand('mceLink', false, {\n        dialog: true\n      });\n    };\n    const gotoSelectedLink = editor => () => {\n      gotoLink(editor, getSelectedLink(editor));\n    };\n    const setupGotoLinks = editor => {\n      editor.on('click', e => {\n        const link = getLink(editor, e.target);\n        if (link && global.metaKeyPressed(e)) {\n          e.preventDefault();\n          gotoLink(editor, link);\n        }\n      });\n      editor.on('keydown', e => {\n        if (!e.isDefaultPrevented() && e.keyCode === 13 && hasOnlyAltModifier(e)) {\n          const link = getSelectedLink(editor);\n          if (link) {\n            e.preventDefault();\n            gotoLink(editor, link);\n          }\n        }\n      });\n    };\n    const toggleState = (editor, toggler) => {\n      editor.on('NodeChange', toggler);\n      return () => editor.off('NodeChange', toggler);\n    };\n    const toggleLinkState = editor => api => {\n      const updateState = () => {\n        api.setActive(!editor.mode.isReadOnly() && isInAnchor(editor, editor.selection.getNode()));\n        api.setEnabled(editor.selection.isEditable());\n      };\n      updateState();\n      return toggleState(editor, updateState);\n    };\n    const toggleLinkMenuState = editor => api => {\n      const updateState = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      updateState();\n      return toggleState(editor, updateState);\n    };\n    const hasExactlyOneLinkInSelection = editor => {\n      const links = editor.selection.isCollapsed() ? getLinks$1(editor.dom.getParents(editor.selection.getStart())) : getLinksInSelection(editor.selection.getRng());\n      return links.length === 1;\n    };\n    const toggleGotoLinkState = editor => api => {\n      const updateState = () => api.setEnabled(hasExactlyOneLinkInSelection(editor));\n      updateState();\n      return toggleState(editor, updateState);\n    };\n    const toggleUnlinkState = editor => api => {\n      const hasLinks$1 = parents => hasLinks(parents) || hasLinksInSelection(editor.selection.getRng());\n      const parents = editor.dom.getParents(editor.selection.getStart());\n      const updateEnabled = parents => {\n        api.setEnabled(hasLinks$1(parents) && editor.selection.isEditable());\n      };\n      updateEnabled(parents);\n      return toggleState(editor, e => updateEnabled(e.parents));\n    };\n\n    const setup = editor => {\n      editor.addShortcut('Meta+K', '', () => {\n        editor.execCommand('mceLink');\n      });\n    };\n\n    const setupButtons = editor => {\n      editor.ui.registry.addToggleButton('link', {\n        icon: 'link',\n        tooltip: 'Insert/edit link',\n        onAction: openDialog(editor),\n        onSetup: toggleLinkState(editor)\n      });\n      editor.ui.registry.addButton('openlink', {\n        icon: 'new-tab',\n        tooltip: 'Open link',\n        onAction: gotoSelectedLink(editor),\n        onSetup: toggleGotoLinkState(editor)\n      });\n      editor.ui.registry.addButton('unlink', {\n        icon: 'unlink',\n        tooltip: 'Remove link',\n        onAction: () => unlink(editor),\n        onSetup: toggleUnlinkState(editor)\n      });\n    };\n    const setupMenuItems = editor => {\n      editor.ui.registry.addMenuItem('openlink', {\n        text: 'Open link',\n        icon: 'new-tab',\n        onAction: gotoSelectedLink(editor),\n        onSetup: toggleGotoLinkState(editor)\n      });\n      editor.ui.registry.addMenuItem('link', {\n        icon: 'link',\n        text: 'Link...',\n        shortcut: 'Meta+K',\n        onSetup: toggleLinkMenuState(editor),\n        onAction: openDialog(editor)\n      });\n      editor.ui.registry.addMenuItem('unlink', {\n        icon: 'unlink',\n        text: 'Remove link',\n        onAction: () => unlink(editor),\n        onSetup: toggleUnlinkState(editor)\n      });\n    };\n    const setupContextMenu = editor => {\n      const inLink = 'link unlink openlink';\n      const noLink = 'link';\n      editor.ui.registry.addContextMenu('link', {\n        update: element => {\n          const isEditable = editor.dom.isEditable(element);\n          if (!isEditable) {\n            return '';\n          }\n          return hasLinks(editor.dom.getParents(element, 'a')) ? inLink : noLink;\n        }\n      });\n    };\n    const setupContextToolbars = editor => {\n      const collapseSelectionToEnd = editor => {\n        editor.selection.collapse(false);\n      };\n      const onSetupLink = buttonApi => {\n        const node = editor.selection.getNode();\n        buttonApi.setEnabled(isInAnchor(editor, node));\n        return noop;\n      };\n      const getLinkText = value => {\n        const anchor = getAnchorElement(editor);\n        const onlyText = isOnlyTextSelected(editor);\n        if (anchor.isNone() && onlyText) {\n          const text = getAnchorText(editor.selection, anchor);\n          return someIf(text.length === 0, value);\n        } else {\n          return Optional.none();\n        }\n      };\n      editor.ui.registry.addContextForm('quicklink', {\n        launch: {\n          type: 'contextformtogglebutton',\n          icon: 'link',\n          tooltip: 'Link',\n          onSetup: toggleLinkState(editor)\n        },\n        label: 'Link',\n        predicate: node => hasContextToolbar(editor) && isInAnchor(editor, node),\n        initValue: () => {\n          const elm = getAnchorElement(editor);\n          return elm.fold(constant(''), getHref);\n        },\n        commands: [{\n          type: 'contextformtogglebutton',\n          icon: 'link',\n          tooltip: 'Link',\n          primary: true,\n          onSetup: buttonApi => {\n            const node = editor.selection.getNode();\n            buttonApi.setActive(isInAnchor(editor, node));\n            return toggleLinkState(editor)(buttonApi);\n          },\n          onAction: formApi => {\n            const value = formApi.getValue();\n            const text = getLinkText(value);\n            const attachState = {\n              href: value,\n              attach: noop\n            };\n            link(editor, attachState, {\n              href: value,\n              text,\n              title: Optional.none(),\n              rel: Optional.none(),\n              target: Optional.none(),\n              class: Optional.none()\n            });\n            collapseSelectionToEnd(editor);\n            formApi.hide();\n          }\n        }, {\n          type: 'contextformbutton',\n          icon: 'unlink',\n          tooltip: 'Remove link',\n          onSetup: onSetupLink,\n          onAction: formApi => {\n            unlink(editor);\n            formApi.hide();\n          }\n        }, {\n          type: 'contextformbutton',\n          icon: 'new-tab',\n          tooltip: 'Open link',\n          onSetup: onSetupLink,\n          onAction: formApi => {\n            gotoSelectedLink(editor)();\n            formApi.hide();\n          }\n        }]\n      });\n    };\n\n    var Plugin = (() => {\n      global$5.add('link', editor => {\n        register$1(editor);\n        setupButtons(editor);\n        setupMenuItems(editor);\n        setupContextMenu(editor);\n        setupContextToolbars(editor);\n        setupGotoLinks(editor);\n        register(editor);\n        setup(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isArray = isType$1('array');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const not = f => t => !f(t);\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains$1 = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter$1 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const groupBy = (xs, f) => {\n      if (xs.length === 0) {\n        return [];\n      } else {\n        let wasType = f(xs[0]);\n        const r = [];\n        let group = [];\n        for (let i = 0, len = xs.length; i < len; i++) {\n          const x = xs[i];\n          const type = f(x);\n          if (type !== wasType) {\n            r.push(group);\n            group = [];\n          }\n          wasType = type;\n          group.push(x);\n        }\n        if (group.length !== 0) {\n          r.push(group);\n        }\n        return r;\n      }\n    };\n    const foldl = (xs, f, acc) => {\n      each$1(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n    const reverse = xs => {\n      const r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$1(xs, 0);\n    const last = xs => get$1(xs, xs.length - 1);\n    const unique = (xs, comparator) => {\n      const r = [];\n      const isDuplicated = isFunction(comparator) ? x => exists(r, i => comparator(i, x)) : x => contains$1(r, x);\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (!isDuplicated(x)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const is$2 = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint\n    };\n\n    const is$1 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const contains = (e1, e2) => {\n      const d1 = e1.dom;\n      const d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    const is = is$1;\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isHTMLElement = element => isElement$1(element) && isPrototypeOf(element.dom);\n    const isElement$1 = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement$1(e) && name(e) === tag;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n    const lastChild = element => child(element, element.dom.childNodes.length - 1);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    var ClosestOrAncestor = ((is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    });\n\n    const ancestor$3 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$2 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$3, scope, predicate, isRoot);\n    };\n\n    const ancestor$2 = (scope, selector, isRoot) => ancestor$3(scope, e => is$1(e, selector), isRoot);\n    const closest$1 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$1(element, selector);\n      return ClosestOrAncestor(is, ancestor$2, scope, selector, isRoot);\n    };\n\n    const closest = target => closest$1(target, '[contenteditable]');\n    const isEditable = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true');\n      }\n    };\n    const getRaw = element => element.dom.contentEditable;\n\n    const before$1 = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before$1(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const before = (marker, elements) => {\n      each$1(elements, x => {\n        before$1(marker, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$1(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each$1(children(element), rogue => {\n        remove(rogue);\n      });\n    };\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const fromDom = nodes => map(nodes, SugarElement.fromDom);\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const setAll = (element, attrs) => {\n      const dom = element.dom;\n      each(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const clone$1 = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const clone = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    const deep = original => clone(original, true);\n    const shallowAs = (original, tag) => {\n      const nu = SugarElement.fromTag(tag);\n      const attributes = clone$1(original);\n      setAll(nu, attributes);\n      return nu;\n    };\n    const mutate = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      after(original, nu);\n      const children$1 = children(original);\n      append(nu, children$1);\n      remove(original);\n      return nu;\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const matchNodeName = name => node => isNonNullable(node) && node.nodeName.toLowerCase() === name;\n    const matchNodeNames = regex => node => isNonNullable(node) && regex.test(node.nodeName);\n    const isTextNode$1 = node => isNonNullable(node) && node.nodeType === 3;\n    const isElement = node => isNonNullable(node) && node.nodeType === 1;\n    const isListNode = matchNodeNames(/^(OL|UL|DL)$/);\n    const isOlUlNode = matchNodeNames(/^(OL|UL)$/);\n    const isOlNode = matchNodeName('ol');\n    const isListItemNode = matchNodeNames(/^(LI|DT|DD)$/);\n    const isDlItemNode = matchNodeNames(/^(DT|DD)$/);\n    const isTableCellNode = matchNodeNames(/^(TH|TD)$/);\n    const isBr = matchNodeName('br');\n    const isFirstChild = node => {\n      var _a;\n      return ((_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === node;\n    };\n    const isTextBlock = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getTextBlockElements();\n    const isBlock = (node, blockElements) => isNonNullable(node) && node.nodeName in blockElements;\n    const isVoid = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getVoidElements();\n    const isBogusBr = (dom, node) => {\n      if (!isBr(node)) {\n        return false;\n      }\n      return dom.isBlock(node.nextSibling) && !isBr(node.previousSibling);\n    };\n    const isEmpty$2 = (dom, elm, keepBookmarks) => {\n      const empty = dom.isEmpty(elm);\n      if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) {\n        return false;\n      }\n      return empty;\n    };\n    const isChildOfBody = (dom, elm) => dom.isChildOf(elm, dom.getRoot());\n\n    const option = name => editor => editor.options.get(name);\n    const register$3 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('lists_indent_on_tab', {\n        processor: 'boolean',\n        default: true\n      });\n    };\n    const shouldIndentOnTab = option('lists_indent_on_tab');\n    const getForcedRootBlock = option('forced_root_block');\n    const getForcedRootBlockAttrs = option('forced_root_block_attrs');\n\n    const createTextBlock = (editor, contentNode) => {\n      const dom = editor.dom;\n      const blockElements = editor.schema.getBlockElements();\n      const fragment = dom.createFragment();\n      const blockName = getForcedRootBlock(editor);\n      const blockAttrs = getForcedRootBlockAttrs(editor);\n      let node;\n      let textBlock;\n      let hasContentNode = false;\n      textBlock = dom.create(blockName, blockAttrs);\n      if (!isBlock(contentNode.firstChild, blockElements)) {\n        fragment.appendChild(textBlock);\n      }\n      while (node = contentNode.firstChild) {\n        const nodeName = node.nodeName;\n        if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) {\n          hasContentNode = true;\n        }\n        if (isBlock(node, blockElements)) {\n          fragment.appendChild(node);\n          textBlock = null;\n        } else {\n          if (!textBlock) {\n            textBlock = dom.create(blockName, blockAttrs);\n            fragment.appendChild(textBlock);\n          }\n          textBlock.appendChild(node);\n        }\n      }\n      if (!hasContentNode && textBlock) {\n        textBlock.appendChild(dom.create('br', {\n          'data-mce-bogus': '1'\n        }));\n      }\n      return fragment;\n    };\n\n    const DOM$2 = global$3.DOM;\n    const splitList = (editor, list, li) => {\n      const removeAndKeepBookmarks = targetNode => {\n        const parent = targetNode.parentNode;\n        if (parent) {\n          global$2.each(bookmarks, node => {\n            parent.insertBefore(node, li.parentNode);\n          });\n        }\n        DOM$2.remove(targetNode);\n      };\n      const bookmarks = DOM$2.select('span[data-mce-type=\"bookmark\"]', list);\n      const newBlock = createTextBlock(editor, li);\n      const tmpRng = DOM$2.createRng();\n      tmpRng.setStartAfter(li);\n      tmpRng.setEndAfter(list);\n      const fragment = tmpRng.extractContents();\n      for (let node = fragment.firstChild; node; node = node.firstChild) {\n        if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) {\n          DOM$2.remove(node);\n          break;\n        }\n      }\n      if (!editor.dom.isEmpty(fragment)) {\n        DOM$2.insertAfter(fragment, list);\n      }\n      DOM$2.insertAfter(newBlock, list);\n      const parent = li.parentElement;\n      if (parent && isEmpty$2(editor.dom, parent)) {\n        removeAndKeepBookmarks(parent);\n      }\n      DOM$2.remove(li);\n      if (isEmpty$2(editor.dom, list)) {\n        DOM$2.remove(list);\n      }\n    };\n\n    const isDescriptionDetail = isTag('dd');\n    const isDescriptionTerm = isTag('dt');\n    const outdentDlItem = (editor, item) => {\n      if (isDescriptionDetail(item)) {\n        mutate(item, 'dt');\n      } else if (isDescriptionTerm(item)) {\n        parentElement(item).each(dl => splitList(editor, dl.dom, item.dom));\n      }\n    };\n    const indentDlItem = item => {\n      if (isDescriptionTerm(item)) {\n        mutate(item, 'dd');\n      }\n    };\n    const dlIndentation = (editor, indentation, dlItems) => {\n      if (indentation === 'Indent') {\n        each$1(dlItems, indentDlItem);\n      } else {\n        each$1(dlItems, item => outdentDlItem(editor, item));\n      }\n    };\n\n    const getNormalizedPoint = (container, offset) => {\n      if (isTextNode$1(container)) {\n        return {\n          container,\n          offset\n        };\n      }\n      const node = global$6.getNode(container, offset);\n      if (isTextNode$1(node)) {\n        return {\n          container: node,\n          offset: offset >= container.childNodes.length ? node.data.length : 0\n        };\n      } else if (node.previousSibling && isTextNode$1(node.previousSibling)) {\n        return {\n          container: node.previousSibling,\n          offset: node.previousSibling.data.length\n        };\n      } else if (node.nextSibling && isTextNode$1(node.nextSibling)) {\n        return {\n          container: node.nextSibling,\n          offset: 0\n        };\n      }\n      return {\n        container,\n        offset\n      };\n    };\n    const normalizeRange = rng => {\n      const outRng = rng.cloneRange();\n      const rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset);\n      outRng.setStart(rangeStart.container, rangeStart.offset);\n      const rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset);\n      outRng.setEnd(rangeEnd.container, rangeEnd.offset);\n      return outRng;\n    };\n\n    const listNames = ['OL', 'UL', 'DL'];\n    const listSelector = listNames.join(',');\n    const getParentList = (editor, node) => {\n      const selectionStart = node || editor.selection.getStart(true);\n      return editor.dom.getParent(selectionStart, listSelector, getClosestListHost(editor, selectionStart));\n    };\n    const isParentListSelected = (parentList, selectedBlocks) => isNonNullable(parentList) && selectedBlocks.length === 1 && selectedBlocks[0] === parentList;\n    const findSubLists = parentList => filter$1(parentList.querySelectorAll(listSelector), isListNode);\n    const getSelectedSubLists = editor => {\n      const parentList = getParentList(editor);\n      const selectedBlocks = editor.selection.getSelectedBlocks();\n      if (isParentListSelected(parentList, selectedBlocks)) {\n        return findSubLists(parentList);\n      } else {\n        return filter$1(selectedBlocks, elm => {\n          return isListNode(elm) && parentList !== elm;\n        });\n      }\n    };\n    const findParentListItemsNodes = (editor, elms) => {\n      const listItemsElms = global$2.map(elms, elm => {\n        const parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListHost(editor, elm));\n        return parentLi ? parentLi : elm;\n      });\n      return unique(listItemsElms);\n    };\n    const getSelectedListItems = editor => {\n      const selectedBlocks = editor.selection.getSelectedBlocks();\n      return filter$1(findParentListItemsNodes(editor, selectedBlocks), isListItemNode);\n    };\n    const getSelectedDlItems = editor => filter$1(getSelectedListItems(editor), isDlItemNode);\n    const getClosestEditingHost = (editor, elm) => {\n      const parentTableCell = editor.dom.getParents(elm, 'TD,TH');\n      return parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody();\n    };\n    const isListHost = (schema, node) => !isListNode(node) && !isListItemNode(node) && exists(listNames, listName => schema.isValidChild(node.nodeName, listName));\n    const getClosestListHost = (editor, elm) => {\n      const parentBlocks = editor.dom.getParents(elm, editor.dom.isBlock);\n      const parentBlock = find(parentBlocks, elm => isListHost(editor.schema, elm));\n      return parentBlock.getOr(editor.getBody());\n    };\n    const isListInsideAnLiWithFirstAndLastNotListElement = list => parent(list).exists(parent => isListItemNode(parent.dom) && firstChild(parent).exists(firstChild => !isListNode(firstChild.dom)) && lastChild(parent).exists(lastChild => !isListNode(lastChild.dom)));\n    const findLastParentListNode = (editor, elm) => {\n      const parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));\n      return last(parentLists);\n    };\n    const getSelectedLists = editor => {\n      const firstList = findLastParentListNode(editor, editor.selection.getStart());\n      const subsequentLists = filter$1(editor.selection.getSelectedBlocks(), isOlUlNode);\n      return firstList.toArray().concat(subsequentLists);\n    };\n    const getParentLists = editor => {\n      const elm = editor.selection.getStart();\n      return editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));\n    };\n    const getSelectedListRoots = editor => {\n      const selectedLists = getSelectedLists(editor);\n      const parentLists = getParentLists(editor);\n      return find(parentLists, p => isListInsideAnLiWithFirstAndLastNotListElement(SugarElement.fromDom(p))).fold(() => getUniqueListRoots(editor, selectedLists), l => [l]);\n    };\n    const getUniqueListRoots = (editor, lists) => {\n      const listRoots = map(lists, list => findLastParentListNode(editor, list).getOr(list));\n      return unique(listRoots);\n    };\n\n    const isCustomList = list => /\\btox\\-/.test(list.className);\n    const inList = (parents, listName) => findUntil(parents, isListNode, isTableCellNode).exists(list => list.nodeName === listName && !isCustomList(list));\n    const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element);\n    const selectionIsWithinNonEditableList = editor => {\n      const parentList = getParentList(editor);\n      return isWithinNonEditable(editor, parentList);\n    };\n    const isWithinNonEditableList = (editor, element) => {\n      const parentList = editor.dom.getParent(element, 'ol,ul,dl');\n      return isWithinNonEditable(editor, parentList);\n    };\n    const setNodeChangeHandler = (editor, nodeChangeHandler) => {\n      const initialNode = editor.selection.getNode();\n      nodeChangeHandler({\n        parents: editor.dom.getParents(initialNode),\n        element: initialNode\n      });\n      editor.on('NodeChange', nodeChangeHandler);\n      return () => editor.off('NodeChange', nodeChangeHandler);\n    };\n\n    const fromElements = (elements, scope) => {\n      const doc = scope || document;\n      const fragment = doc.createDocumentFragment();\n      each$1(elements, element => {\n        fragment.appendChild(element.dom);\n      });\n      return SugarElement.fromDom(fragment);\n    };\n\n    const fireListEvent = (editor, action, element) => editor.dispatch('ListMutation', {\n      action,\n      element\n    });\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const isEmpty$1 = s => !isNotEmpty(s);\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n\n    const isList = el => is(el, 'OL,UL');\n    const isListItem = el => is(el, 'LI');\n    const hasFirstChildList = el => firstChild(el).exists(isList);\n    const hasLastChildList = el => lastChild(el).exists(isList);\n\n    const isEntryList = entry => 'listAttributes' in entry;\n    const isEntryComment = entry => 'isComment' in entry;\n    const isEntryFragment = entry => 'isFragment' in entry;\n    const isIndented = entry => entry.depth > 0;\n    const isSelected = entry => entry.isSelected;\n    const cloneItemContent = li => {\n      const children$1 = children(li);\n      const content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;\n      return map(content, deep);\n    };\n    const createEntry = (li, depth, isSelected) => parent(li).filter(isElement$1).map(list => ({\n      depth,\n      dirty: false,\n      isSelected,\n      content: cloneItemContent(li),\n      itemAttributes: clone$1(li),\n      listAttributes: clone$1(list),\n      listType: name(list),\n      isInPreviousLi: false\n    }));\n\n    const joinSegment = (parent, child) => {\n      append$1(parent.item, child.list);\n    };\n    const joinSegments = segments => {\n      for (let i = 1; i < segments.length; i++) {\n        joinSegment(segments[i - 1], segments[i]);\n      }\n    };\n    const appendSegments = (head$1, tail) => {\n      lift2(last(head$1), head(tail), joinSegment);\n    };\n    const createSegment = (scope, listType) => {\n      const segment = {\n        list: SugarElement.fromTag(listType, scope),\n        item: SugarElement.fromTag('li', scope)\n      };\n      append$1(segment.list, segment.item);\n      return segment;\n    };\n    const createSegments = (scope, entry, size) => {\n      const segments = [];\n      for (let i = 0; i < size; i++) {\n        segments.push(createSegment(scope, isEntryList(entry) ? entry.listType : entry.parentListType));\n      }\n      return segments;\n    };\n    const populateSegments = (segments, entry) => {\n      for (let i = 0; i < segments.length - 1; i++) {\n        set(segments[i].item, 'list-style-type', 'none');\n      }\n      last(segments).each(segment => {\n        if (isEntryList(entry)) {\n          setAll(segment.list, entry.listAttributes);\n          setAll(segment.item, entry.itemAttributes);\n        }\n        append(segment.item, entry.content);\n      });\n    };\n    const normalizeSegment = (segment, entry) => {\n      if (name(segment.list) !== entry.listType) {\n        segment.list = mutate(segment.list, entry.listType);\n      }\n      setAll(segment.list, entry.listAttributes);\n    };\n    const createItem = (scope, attr, content) => {\n      const item = SugarElement.fromTag('li', scope);\n      setAll(item, attr);\n      append(item, content);\n      return item;\n    };\n    const appendItem = (segment, item) => {\n      append$1(segment.list, item);\n      segment.item = item;\n    };\n    const writeShallow = (scope, cast, entry) => {\n      const newCast = cast.slice(0, entry.depth);\n      last(newCast).each(segment => {\n        if (isEntryList(entry)) {\n          const item = createItem(scope, entry.itemAttributes, entry.content);\n          appendItem(segment, item);\n          normalizeSegment(segment, entry);\n        } else if (isEntryFragment(entry)) {\n          append(segment.item, entry.content);\n        } else {\n          const item = SugarElement.fromHtml(\"<!--\".concat(entry.content, \"-->\"));\n          append$1(segment.list, item);\n        }\n      });\n      return newCast;\n    };\n    const writeDeep = (scope, cast, entry) => {\n      const segments = createSegments(scope, entry, entry.depth - cast.length);\n      joinSegments(segments);\n      populateSegments(segments, entry);\n      appendSegments(cast, segments);\n      return cast.concat(segments);\n    };\n    const composeList = (scope, entries) => {\n      let firstCommentEntryOpt = Optional.none();\n      const cast = foldl(entries, (cast, entry, i) => {\n        if (!isEntryComment(entry)) {\n          return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry);\n        } else {\n          if (i === 0) {\n            firstCommentEntryOpt = Optional.some(entry);\n            return cast;\n          }\n          return writeShallow(scope, cast, entry);\n        }\n      }, []);\n      firstCommentEntryOpt.each(firstCommentEntry => {\n        const item = SugarElement.fromHtml(\"<!--\".concat(firstCommentEntry.content, \"-->\"));\n        head(cast).each(fistCast => {\n          prepend(fistCast.list, item);\n        });\n      });\n      return head(cast).map(segment => segment.list);\n    };\n\n    const indentEntry = (indentation, entry) => {\n      switch (indentation) {\n        case 'Indent':\n          entry.depth++;\n          break;\n        case 'Outdent':\n          entry.depth--;\n          break;\n        case 'Flatten':\n          entry.depth = 0;\n      }\n      entry.dirty = true;\n    };\n\n    const cloneListProperties = (target, source) => {\n      if (isEntryList(target) && isEntryList(source)) {\n        target.listType = source.listType;\n        target.listAttributes = {\n          ...source.listAttributes\n        };\n      }\n    };\n    const cleanListProperties = entry => {\n      entry.listAttributes = filter(entry.listAttributes, (_value, key) => key !== 'start');\n    };\n    const closestSiblingEntry = (entries, start) => {\n      const depth = entries[start].depth;\n      const matches = entry => entry.depth === depth && !entry.dirty;\n      const until = entry => entry.depth < depth;\n      return findUntil(reverse(entries.slice(0, start)), matches, until).orThunk(() => findUntil(entries.slice(start + 1), matches, until));\n    };\n    const normalizeEntries = entries => {\n      each$1(entries, (entry, i) => {\n        closestSiblingEntry(entries, i).fold(() => {\n          if (entry.dirty && isEntryList(entry)) {\n            cleanListProperties(entry);\n          }\n        }, matchingEntry => cloneListProperties(entry, matchingEntry));\n      });\n      return entries;\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const parseSingleItem = (depth, itemSelection, selectionState, item) => {\n      var _a;\n      if (isComment(item)) {\n        return [{\n          depth: depth + 1,\n          content: (_a = item.dom.nodeValue) !== null && _a !== void 0 ? _a : '',\n          dirty: false,\n          isSelected: false,\n          isComment: true\n        }];\n      }\n      itemSelection.each(selection => {\n        if (eq(selection.start, item)) {\n          selectionState.set(true);\n        }\n      });\n      const currentItemEntry = createEntry(item, depth, selectionState.get());\n      itemSelection.each(selection => {\n        if (eq(selection.end, item)) {\n          selectionState.set(false);\n        }\n      });\n      const childListEntries = lastChild(item).filter(isList).map(list => parseList(depth, itemSelection, selectionState, list)).getOr([]);\n      return currentItemEntry.toArray().concat(childListEntries);\n    };\n    const parseItem = (depth, itemSelection, selectionState, item) => firstChild(item).filter(isList).fold(() => parseSingleItem(depth, itemSelection, selectionState, item), list => {\n      const parsedSiblings = foldl(children(item), (acc, liChild, i) => {\n        if (i === 0) {\n          return acc;\n        } else {\n          if (isListItem(liChild)) {\n            return acc.concat(parseSingleItem(depth, itemSelection, selectionState, liChild));\n          } else {\n            const fragment = {\n              isFragment: true,\n              depth,\n              content: [liChild],\n              isSelected: false,\n              dirty: false,\n              parentListType: name(list)\n            };\n            return acc.concat(fragment);\n          }\n        }\n      }, []);\n      return parseList(depth, itemSelection, selectionState, list).concat(parsedSiblings);\n    });\n    const parseList = (depth, itemSelection, selectionState, list) => bind(children(list), element => {\n      const parser = isList(element) ? parseList : parseItem;\n      const newDepth = depth + 1;\n      return parser(newDepth, itemSelection, selectionState, element);\n    });\n    const parseLists = (lists, itemSelection) => {\n      const selectionState = Cell(false);\n      const initialDepth = 0;\n      return map(lists, list => ({\n        sourceList: list,\n        entries: parseList(initialDepth, itemSelection, selectionState, list)\n      }));\n    };\n\n    const outdentedComposer = (editor, entries) => {\n      const normalizedEntries = normalizeEntries(entries);\n      return map(normalizedEntries, entry => {\n        const content = !isEntryComment(entry) ? fromElements(entry.content) : fromElements([SugarElement.fromHtml(\"<!--\".concat(entry.content, \"-->\"))]);\n        return SugarElement.fromDom(createTextBlock(editor, content.dom));\n      });\n    };\n    const indentedComposer = (editor, entries) => {\n      const normalizedEntries = normalizeEntries(entries);\n      return composeList(editor.contentDocument, normalizedEntries).toArray();\n    };\n    const composeEntries = (editor, entries) => bind(groupBy(entries, isIndented), entries => {\n      const groupIsIndented = head(entries).exists(isIndented);\n      return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries);\n    });\n    const indentSelectedEntries = (entries, indentation) => {\n      each$1(filter$1(entries, isSelected), entry => indentEntry(indentation, entry));\n    };\n    const getItemSelection = editor => {\n      const selectedListItems = map(getSelectedListItems(editor), SugarElement.fromDom);\n      return lift2(find(selectedListItems, not(hasFirstChildList)), find(reverse(selectedListItems), not(hasFirstChildList)), (start, end) => ({\n        start,\n        end\n      }));\n    };\n    const listIndentation = (editor, lists, indentation) => {\n      const entrySets = parseLists(lists, getItemSelection(editor));\n      each$1(entrySets, entrySet => {\n        indentSelectedEntries(entrySet.entries, indentation);\n        const composedLists = composeEntries(editor, entrySet.entries);\n        each$1(composedLists, composedList => {\n          fireListEvent(editor, indentation === 'Indent' ? 'IndentList' : 'OutdentList', composedList.dom);\n        });\n        before(entrySet.sourceList, composedLists);\n        remove(entrySet.sourceList);\n      });\n    };\n\n    const selectionIndentation = (editor, indentation) => {\n      const lists = fromDom(getSelectedListRoots(editor));\n      const dlItems = fromDom(getSelectedDlItems(editor));\n      let isHandled = false;\n      if (lists.length || dlItems.length) {\n        const bookmark = editor.selection.getBookmark();\n        listIndentation(editor, lists, indentation);\n        dlIndentation(editor, indentation, dlItems);\n        editor.selection.moveToBookmark(bookmark);\n        editor.selection.setRng(normalizeRange(editor.selection.getRng()));\n        editor.nodeChanged();\n        isHandled = true;\n      }\n      return isHandled;\n    };\n    const handleIndentation = (editor, indentation) => !selectionIsWithinNonEditableList(editor) && selectionIndentation(editor, indentation);\n    const indentListSelection = editor => handleIndentation(editor, 'Indent');\n    const outdentListSelection = editor => handleIndentation(editor, 'Outdent');\n    const flattenListSelection = editor => handleIndentation(editor, 'Flatten');\n\n    const zeroWidth = '\\uFEFF';\n    const isZwsp = char => char === zeroWidth;\n\n    const ancestor$1 = (scope, predicate, isRoot) => ancestor$3(scope, predicate, isRoot).isSome();\n\n    const ancestor = (element, target) => ancestor$1(element, curry(eq, target));\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager');\n\n    const DOM$1 = global$3.DOM;\n    const createBookmark = rng => {\n      const bookmark = {};\n      const setupEndPoint = start => {\n        let container = rng[start ? 'startContainer' : 'endContainer'];\n        let offset = rng[start ? 'startOffset' : 'endOffset'];\n        if (isElement(container)) {\n          const offsetNode = DOM$1.create('span', {\n            'data-mce-type': 'bookmark'\n          });\n          if (container.hasChildNodes()) {\n            offset = Math.min(offset, container.childNodes.length - 1);\n            if (start) {\n              container.insertBefore(offsetNode, container.childNodes[offset]);\n            } else {\n              DOM$1.insertAfter(offsetNode, container.childNodes[offset]);\n            }\n          } else {\n            container.appendChild(offsetNode);\n          }\n          container = offsetNode;\n          offset = 0;\n        }\n        bookmark[start ? 'startContainer' : 'endContainer'] = container;\n        bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n      };\n      setupEndPoint(true);\n      if (!rng.collapsed) {\n        setupEndPoint();\n      }\n      return bookmark;\n    };\n    const resolveBookmark = bookmark => {\n      const restoreEndPoint = start => {\n        const nodeIndex = container => {\n          var _a;\n          let node = (_a = container.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild;\n          let idx = 0;\n          while (node) {\n            if (node === container) {\n              return idx;\n            }\n            if (!isElement(node) || node.getAttribute('data-mce-type') !== 'bookmark') {\n              idx++;\n            }\n            node = node.nextSibling;\n          }\n          return -1;\n        };\n        let container = bookmark[start ? 'startContainer' : 'endContainer'];\n        let offset = bookmark[start ? 'startOffset' : 'endOffset'];\n        if (!container) {\n          return;\n        }\n        if (isElement(container) && container.parentNode) {\n          const node = container;\n          offset = nodeIndex(container);\n          container = container.parentNode;\n          DOM$1.remove(node);\n          if (!container.hasChildNodes() && DOM$1.isBlock(container)) {\n            container.appendChild(DOM$1.create('br'));\n          }\n        }\n        bookmark[start ? 'startContainer' : 'endContainer'] = container;\n        bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n      };\n      restoreEndPoint(true);\n      restoreEndPoint();\n      const rng = DOM$1.createRng();\n      rng.setStart(bookmark.startContainer, bookmark.startOffset);\n      if (bookmark.endContainer) {\n        rng.setEnd(bookmark.endContainer, bookmark.endOffset);\n      }\n      return normalizeRange(rng);\n    };\n\n    const listToggleActionFromListName = listName => {\n      switch (listName) {\n        case 'UL':\n          return 'ToggleUlList';\n        case 'OL':\n          return 'ToggleOlList';\n        case 'DL':\n          return 'ToggleDLList';\n      }\n    };\n\n    const updateListStyle = (dom, el, detail) => {\n      const type = detail['list-style-type'] ? detail['list-style-type'] : null;\n      dom.setStyle(el, 'list-style-type', type);\n    };\n    const setAttribs = (elm, attrs) => {\n      global$2.each(attrs, (value, key) => {\n        elm.setAttribute(key, value);\n      });\n    };\n    const updateListAttrs = (dom, el, detail) => {\n      setAttribs(el, detail['list-attributes']);\n      global$2.each(dom.select('li', el), li => {\n        setAttribs(li, detail['list-item-attributes']);\n      });\n    };\n    const updateListWithDetails = (dom, el, detail) => {\n      updateListStyle(dom, el, detail);\n      updateListAttrs(dom, el, detail);\n    };\n    const removeStyles = (dom, element, styles) => {\n      global$2.each(styles, style => dom.setStyle(element, style, ''));\n    };\n    const isInline = (editor, node) => isNonNullable(node) && !isBlock(node, editor.schema.getBlockElements());\n    const getEndPointNode = (editor, rng, start, root) => {\n      let container = rng[start ? 'startContainer' : 'endContainer'];\n      const offset = rng[start ? 'startOffset' : 'endOffset'];\n      if (isElement(container)) {\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n      }\n      if (!start && isBr(container.nextSibling)) {\n        container = container.nextSibling;\n      }\n      const findBlockAncestor = node => {\n        while (!editor.dom.isBlock(node) && node.parentNode && root !== node) {\n          node = node.parentNode;\n        }\n        return node;\n      };\n      const findBetterContainer = (container, forward) => {\n        var _a;\n        const walker = new global$5(container, findBlockAncestor(container));\n        const dir = forward ? 'next' : 'prev';\n        let node;\n        while (node = walker[dir]()) {\n          if (!(isVoid(editor, node) || isZwsp(node.textContent) || ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.length) === 0)) {\n            return Optional.some(node);\n          }\n        }\n        return Optional.none();\n      };\n      if (start && isTextNode$1(container)) {\n        if (isZwsp(container.textContent)) {\n          container = findBetterContainer(container, false).getOr(container);\n        } else {\n          if (container.parentNode !== null && isInline(editor, container.parentNode)) {\n            container = container.parentNode;\n          }\n          while (container.previousSibling !== null && (isInline(editor, container.previousSibling) || isTextNode$1(container.previousSibling))) {\n            container = container.previousSibling;\n          }\n        }\n      }\n      if (!start && isTextNode$1(container)) {\n        if (isZwsp(container.textContent)) {\n          container = findBetterContainer(container, true).getOr(container);\n        } else {\n          if (container.parentNode !== null && isInline(editor, container.parentNode)) {\n            container = container.parentNode;\n          }\n          while (container.nextSibling !== null && (isInline(editor, container.nextSibling) || isTextNode$1(container.nextSibling))) {\n            container = container.nextSibling;\n          }\n        }\n      }\n      while (container.parentNode !== root) {\n        const parent = container.parentNode;\n        if (isTextBlock(editor, container)) {\n          return container;\n        }\n        if (/^(TD|TH)$/.test(parent.nodeName)) {\n          return container;\n        }\n        container = parent;\n      }\n      return container;\n    };\n    const getSelectedTextBlocks = (editor, rng, root) => {\n      const textBlocks = [];\n      const dom = editor.dom;\n      const startNode = getEndPointNode(editor, rng, true, root);\n      const endNode = getEndPointNode(editor, rng, false, root);\n      let block;\n      const siblings = [];\n      for (let node = startNode; node; node = node.nextSibling) {\n        siblings.push(node);\n        if (node === endNode) {\n          break;\n        }\n      }\n      global$2.each(siblings, node => {\n        var _a;\n        if (isTextBlock(editor, node)) {\n          textBlocks.push(node);\n          block = null;\n          return;\n        }\n        if (dom.isBlock(node) || isBr(node)) {\n          if (isBr(node)) {\n            dom.remove(node);\n          }\n          block = null;\n          return;\n        }\n        const nextSibling = node.nextSibling;\n        if (global$1.isBookmarkNode(node)) {\n          if (isListNode(nextSibling) || isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) {\n            block = null;\n            return;\n          }\n        }\n        if (!block) {\n          block = dom.create('p');\n          (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(block, node);\n          textBlocks.push(block);\n        }\n        block.appendChild(node);\n      });\n      return textBlocks;\n    };\n    const hasCompatibleStyle = (dom, sib, detail) => {\n      const sibStyle = dom.getStyle(sib, 'list-style-type');\n      let detailStyle = detail ? detail['list-style-type'] : '';\n      detailStyle = detailStyle === null ? '' : detailStyle;\n      return sibStyle === detailStyle;\n    };\n    const getRootSearchStart = (editor, range) => {\n      const start = editor.selection.getStart(true);\n      const startPoint = getEndPointNode(editor, range, true, editor.getBody());\n      if (ancestor(SugarElement.fromDom(startPoint), SugarElement.fromDom(range.commonAncestorContainer))) {\n        return range.commonAncestorContainer;\n      } else {\n        return start;\n      }\n    };\n    const applyList = (editor, listName, detail) => {\n      const rng = editor.selection.getRng();\n      let listItemName = 'LI';\n      const root = getClosestListHost(editor, getRootSearchStart(editor, rng));\n      const dom = editor.dom;\n      if (dom.getContentEditable(editor.selection.getNode()) === 'false') {\n        return;\n      }\n      listName = listName.toUpperCase();\n      if (listName === 'DL') {\n        listItemName = 'DT';\n      }\n      const bookmark = createBookmark(rng);\n      const selectedTextBlocks = filter$1(getSelectedTextBlocks(editor, rng, root), editor.dom.isEditable);\n      global$2.each(selectedTextBlocks, block => {\n        let listBlock;\n        const sibling = block.previousSibling;\n        const parent = block.parentNode;\n        if (!isListItemNode(parent)) {\n          if (sibling && isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) {\n            listBlock = sibling;\n            block = dom.rename(block, listItemName);\n            sibling.appendChild(block);\n          } else {\n            listBlock = dom.create(listName);\n            parent.insertBefore(listBlock, block);\n            listBlock.appendChild(block);\n            block = dom.rename(block, listItemName);\n          }\n          removeStyles(dom, block, ['margin', 'margin-right', 'margin-bottom', 'margin-left', 'margin-top', 'padding', 'padding-right', 'padding-bottom', 'padding-left', 'padding-top']);\n          updateListWithDetails(dom, listBlock, detail);\n          mergeWithAdjacentLists(editor.dom, listBlock);\n        }\n      });\n      editor.selection.setRng(resolveBookmark(bookmark));\n    };\n    const isValidLists = (list1, list2) => {\n      return isListNode(list1) && list1.nodeName === (list2 === null || list2 === void 0 ? void 0 : list2.nodeName);\n    };\n    const hasSameListStyle = (dom, list1, list2) => {\n      const targetStyle = dom.getStyle(list1, 'list-style-type', true);\n      const style = dom.getStyle(list2, 'list-style-type', true);\n      return targetStyle === style;\n    };\n    const hasSameClasses = (elm1, elm2) => {\n      return elm1.className === elm2.className;\n    };\n    const shouldMerge = (dom, list1, list2) => {\n      return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2);\n    };\n    const mergeWithAdjacentLists = (dom, listBlock) => {\n      let node;\n      let sibling = listBlock.nextSibling;\n      if (shouldMerge(dom, listBlock, sibling)) {\n        const liSibling = sibling;\n        while (node = liSibling.firstChild) {\n          listBlock.appendChild(node);\n        }\n        dom.remove(liSibling);\n      }\n      sibling = listBlock.previousSibling;\n      if (shouldMerge(dom, listBlock, sibling)) {\n        const liSibling = sibling;\n        while (node = liSibling.lastChild) {\n          listBlock.insertBefore(node, listBlock.firstChild);\n        }\n        dom.remove(liSibling);\n      }\n    };\n    const updateList$1 = (editor, list, listName, detail) => {\n      if (list.nodeName !== listName) {\n        const newList = editor.dom.rename(list, listName);\n        updateListWithDetails(editor.dom, newList, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), newList);\n      } else {\n        updateListWithDetails(editor.dom, list, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), list);\n      }\n    };\n    const updateCustomList = (editor, list, listName, detail) => {\n      list.classList.forEach((cls, _, classList) => {\n        if (cls.startsWith('tox-')) {\n          classList.remove(cls);\n          if (classList.length === 0) {\n            list.removeAttribute('class');\n          }\n        }\n      });\n      if (list.nodeName !== listName) {\n        const newList = editor.dom.rename(list, listName);\n        updateListWithDetails(editor.dom, newList, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), newList);\n      } else {\n        updateListWithDetails(editor.dom, list, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), list);\n      }\n    };\n    const toggleMultipleLists = (editor, parentList, lists, listName, detail) => {\n      const parentIsList = isListNode(parentList);\n      if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {\n        flattenListSelection(editor);\n      } else {\n        applyList(editor, listName, detail);\n        const bookmark = createBookmark(editor.selection.getRng());\n        const allLists = parentIsList ? [parentList, ...lists] : lists;\n        const updateFunction = parentIsList && isCustomList(parentList) ? updateCustomList : updateList$1;\n        global$2.each(allLists, elm => {\n          updateFunction(editor, elm, listName, detail);\n        });\n        editor.selection.setRng(resolveBookmark(bookmark));\n      }\n    };\n    const hasListStyleDetail = detail => {\n      return 'list-style-type' in detail;\n    };\n    const toggleSingleList = (editor, parentList, listName, detail) => {\n      if (parentList === editor.getBody()) {\n        return;\n      }\n      if (parentList) {\n        if (parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {\n          flattenListSelection(editor);\n        } else {\n          const bookmark = createBookmark(editor.selection.getRng());\n          if (isCustomList(parentList)) {\n            parentList.classList.forEach((cls, _, classList) => {\n              if (cls.startsWith('tox-')) {\n                classList.remove(cls);\n                if (classList.length === 0) {\n                  parentList.removeAttribute('class');\n                }\n              }\n            });\n          }\n          updateListWithDetails(editor.dom, parentList, detail);\n          const newList = editor.dom.rename(parentList, listName);\n          mergeWithAdjacentLists(editor.dom, newList);\n          editor.selection.setRng(resolveBookmark(bookmark));\n          applyList(editor, listName, detail);\n          fireListEvent(editor, listToggleActionFromListName(listName), newList);\n        }\n      } else {\n        applyList(editor, listName, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), parentList);\n      }\n    };\n    const toggleList = (editor, listName, _detail) => {\n      const parentList = getParentList(editor);\n      if (isWithinNonEditableList(editor, parentList)) {\n        return;\n      }\n      const selectedSubLists = getSelectedSubLists(editor);\n      const detail = isObject(_detail) ? _detail : {};\n      if (selectedSubLists.length > 0) {\n        toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail);\n      } else {\n        toggleSingleList(editor, parentList, listName, detail);\n      }\n    };\n\n    const DOM = global$3.DOM;\n    const normalizeList = (dom, list) => {\n      const parentNode = list.parentElement;\n      if (parentNode && parentNode.nodeName === 'LI' && parentNode.firstChild === list) {\n        const sibling = parentNode.previousSibling;\n        if (sibling && sibling.nodeName === 'LI') {\n          sibling.appendChild(list);\n          if (isEmpty$2(dom, parentNode)) {\n            DOM.remove(parentNode);\n          }\n        } else {\n          DOM.setStyle(parentNode, 'listStyleType', 'none');\n        }\n      }\n      if (isListNode(parentNode)) {\n        const sibling = parentNode.previousSibling;\n        if (sibling && sibling.nodeName === 'LI') {\n          sibling.appendChild(list);\n        }\n      }\n    };\n    const normalizeLists = (dom, element) => {\n      const lists = global$2.grep(dom.select('ol,ul', element));\n      global$2.each(lists, list => {\n        normalizeList(dom, list);\n      });\n    };\n\n    const findNextCaretContainer = (editor, rng, isForward, root) => {\n      let node = rng.startContainer;\n      const offset = rng.startOffset;\n      if (isTextNode$1(node) && (isForward ? offset < node.data.length : offset > 0)) {\n        return node;\n      }\n      const nonEmptyBlocks = editor.schema.getNonEmptyElements();\n      if (isElement(node)) {\n        node = global$6.getNode(node, offset);\n      }\n      const walker = new global$5(node, root);\n      if (isForward) {\n        if (isBogusBr(editor.dom, node)) {\n          walker.next();\n        }\n      }\n      const walkFn = isForward ? walker.next.bind(walker) : walker.prev2.bind(walker);\n      while (node = walkFn()) {\n        if (node.nodeName === 'LI' && !node.hasChildNodes()) {\n          return node;\n        }\n        if (nonEmptyBlocks[node.nodeName]) {\n          return node;\n        }\n        if (isTextNode$1(node) && node.data.length > 0) {\n          return node;\n        }\n      }\n      return null;\n    };\n    const hasOnlyOneBlockChild = (dom, elm) => {\n      const childNodes = elm.childNodes;\n      return childNodes.length === 1 && !isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);\n    };\n    const isUnwrappable = node => Optional.from(node).map(SugarElement.fromDom).filter(isHTMLElement).exists(el => isEditable(el) && !contains$1(['details'], name(el)));\n    const unwrapSingleBlockChild = (dom, elm) => {\n      if (hasOnlyOneBlockChild(dom, elm) && isUnwrappable(elm.firstChild)) {\n        dom.remove(elm.firstChild, true);\n      }\n    };\n    const moveChildren = (dom, fromElm, toElm) => {\n      let node;\n      const targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm;\n      unwrapSingleBlockChild(dom, fromElm);\n      if (!isEmpty$2(dom, fromElm, true)) {\n        while (node = fromElm.firstChild) {\n          targetElm.appendChild(node);\n        }\n      }\n    };\n    const mergeLiElements = (dom, fromElm, toElm) => {\n      let listNode;\n      const ul = fromElm.parentNode;\n      if (!isChildOfBody(dom, fromElm) || !isChildOfBody(dom, toElm)) {\n        return;\n      }\n      if (isListNode(toElm.lastChild)) {\n        listNode = toElm.lastChild;\n      }\n      if (ul === toElm.lastChild) {\n        if (isBr(ul.previousSibling)) {\n          dom.remove(ul.previousSibling);\n        }\n      }\n      const node = toElm.lastChild;\n      if (node && isBr(node) && fromElm.hasChildNodes()) {\n        dom.remove(node);\n      }\n      if (isEmpty$2(dom, toElm, true)) {\n        empty(SugarElement.fromDom(toElm));\n      }\n      moveChildren(dom, fromElm, toElm);\n      if (listNode) {\n        toElm.appendChild(listNode);\n      }\n      const contains$1 = contains(SugarElement.fromDom(toElm), SugarElement.fromDom(fromElm));\n      const nestedLists = contains$1 ? dom.getParents(fromElm, isListNode, toElm) : [];\n      dom.remove(fromElm);\n      each$1(nestedLists, list => {\n        if (isEmpty$2(dom, list) && list !== dom.getRoot()) {\n          dom.remove(list);\n        }\n      });\n    };\n    const mergeIntoEmptyLi = (editor, fromLi, toLi) => {\n      empty(SugarElement.fromDom(toLi));\n      mergeLiElements(editor.dom, fromLi, toLi);\n      editor.selection.setCursorLocation(toLi, 0);\n    };\n    const mergeForward = (editor, rng, fromLi, toLi) => {\n      const dom = editor.dom;\n      if (dom.isEmpty(toLi)) {\n        mergeIntoEmptyLi(editor, fromLi, toLi);\n      } else {\n        const bookmark = createBookmark(rng);\n        mergeLiElements(dom, fromLi, toLi);\n        editor.selection.setRng(resolveBookmark(bookmark));\n      }\n    };\n    const mergeBackward = (editor, rng, fromLi, toLi) => {\n      const bookmark = createBookmark(rng);\n      mergeLiElements(editor.dom, fromLi, toLi);\n      const resolvedBookmark = resolveBookmark(bookmark);\n      editor.selection.setRng(resolvedBookmark);\n    };\n    const backspaceDeleteFromListToListCaret = (editor, isForward) => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const selectionStartElm = selection.getStart();\n      const root = getClosestEditingHost(editor, selectionStartElm);\n      const li = dom.getParent(selection.getStart(), 'LI', root);\n      if (li) {\n        const ul = li.parentElement;\n        if (ul === editor.getBody() && isEmpty$2(dom, ul)) {\n          return true;\n        }\n        const rng = normalizeRange(selection.getRng());\n        const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n        const willMergeParentIntoChild = otherLi && (isForward ? dom.isChildOf(li, otherLi) : dom.isChildOf(otherLi, li));\n        if (otherLi && otherLi !== li && !willMergeParentIntoChild) {\n          editor.undoManager.transact(() => {\n            if (isForward) {\n              mergeForward(editor, rng, otherLi, li);\n            } else {\n              if (isFirstChild(li)) {\n                outdentListSelection(editor);\n              } else {\n                mergeBackward(editor, rng, li, otherLi);\n              }\n            }\n          });\n          return true;\n        } else if (willMergeParentIntoChild && !isForward && otherLi !== li) {\n          editor.undoManager.transact(() => {\n            if (rng.commonAncestorContainer.parentElement) {\n              const bookmark = createBookmark(rng);\n              const oldParentElRef = rng.commonAncestorContainer.parentElement;\n              moveChildren(dom, rng.commonAncestorContainer.parentElement, otherLi);\n              oldParentElRef.remove();\n              const resolvedBookmark = resolveBookmark(bookmark);\n              editor.selection.setRng(resolvedBookmark);\n            }\n          });\n          return true;\n        } else if (!otherLi) {\n          if (!isForward && rng.startOffset === 0 && rng.endOffset === 0) {\n            editor.undoManager.transact(() => {\n              flattenListSelection(editor);\n            });\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    const removeBlock = (dom, block, root) => {\n      const parentBlock = dom.getParent(block.parentNode, dom.isBlock, root);\n      dom.remove(block);\n      if (parentBlock && dom.isEmpty(parentBlock)) {\n        dom.remove(parentBlock);\n      }\n    };\n    const backspaceDeleteIntoListCaret = (editor, isForward) => {\n      const dom = editor.dom;\n      const selectionStartElm = editor.selection.getStart();\n      const root = getClosestEditingHost(editor, selectionStartElm);\n      const block = dom.getParent(selectionStartElm, dom.isBlock, root);\n      if (block && dom.isEmpty(block)) {\n        const rng = normalizeRange(editor.selection.getRng());\n        const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n        if (otherLi) {\n          const findValidElement = element => contains$1(['td', 'th', 'caption'], name(element));\n          const findRoot = node => node.dom === root;\n          const otherLiCell = closest$2(SugarElement.fromDom(otherLi), findValidElement, findRoot);\n          const caretCell = closest$2(SugarElement.fromDom(rng.startContainer), findValidElement, findRoot);\n          if (!equals(otherLiCell, caretCell, eq)) {\n            return false;\n          }\n          editor.undoManager.transact(() => {\n            const parentNode = otherLi.parentNode;\n            removeBlock(dom, block, root);\n            mergeWithAdjacentLists(dom, parentNode);\n            editor.selection.select(otherLi, true);\n            editor.selection.collapse(isForward);\n          });\n          return true;\n        }\n      }\n      return false;\n    };\n    const backspaceDeleteCaret = (editor, isForward) => {\n      return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward);\n    };\n    const hasListSelection = editor => {\n      const selectionStartElm = editor.selection.getStart();\n      const root = getClosestEditingHost(editor, selectionStartElm);\n      const startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root);\n      return startListParent || getSelectedListItems(editor).length > 0;\n    };\n    const backspaceDeleteRange = editor => {\n      if (hasListSelection(editor)) {\n        editor.undoManager.transact(() => {\n          editor.execCommand('Delete');\n          normalizeLists(editor.dom, editor.getBody());\n        });\n        return true;\n      }\n      return false;\n    };\n    const backspaceDelete = (editor, isForward) => {\n      const selection = editor.selection;\n      return !isWithinNonEditableList(editor, selection.getNode()) && (selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor));\n    };\n    const setup$2 = editor => {\n      editor.on('ExecCommand', e => {\n        const cmd = e.command.toLowerCase();\n        if ((cmd === 'delete' || cmd === 'forwarddelete') && hasListSelection(editor)) {\n          normalizeLists(editor.dom, editor.getBody());\n        }\n      });\n      editor.on('keydown', e => {\n        if (e.keyCode === global$4.BACKSPACE) {\n          if (backspaceDelete(editor, false)) {\n            e.preventDefault();\n          }\n        } else if (e.keyCode === global$4.DELETE) {\n          if (backspaceDelete(editor, true)) {\n            e.preventDefault();\n          }\n        }\n      });\n    };\n\n    const get = editor => ({\n      backspaceDelete: isForward => {\n        backspaceDelete(editor, isForward);\n      }\n    });\n\n    const updateList = (editor, update) => {\n      const parentList = getParentList(editor);\n      if (parentList === null || isWithinNonEditableList(editor, parentList)) {\n        return;\n      }\n      editor.undoManager.transact(() => {\n        if (isObject(update.styles)) {\n          editor.dom.setStyles(parentList, update.styles);\n        }\n        if (isObject(update.attrs)) {\n          each(update.attrs, (v, k) => editor.dom.setAttrib(parentList, k, v));\n        }\n      });\n    };\n\n    const parseAlphabeticBase26 = str => {\n      const chars = reverse(trim(str).split(''));\n      const values = map(chars, (char, i) => {\n        const charValue = char.toUpperCase().charCodeAt(0) - 'A'.charCodeAt(0) + 1;\n        return Math.pow(26, i) * charValue;\n      });\n      return foldl(values, (sum, v) => sum + v, 0);\n    };\n    const composeAlphabeticBase26 = value => {\n      value--;\n      if (value < 0) {\n        return '';\n      } else {\n        const remainder = value % 26;\n        const quotient = Math.floor(value / 26);\n        const rest = composeAlphabeticBase26(quotient);\n        const char = String.fromCharCode('A'.charCodeAt(0) + remainder);\n        return rest + char;\n      }\n    };\n    const isUppercase = str => /^[A-Z]+$/.test(str);\n    const isLowercase = str => /^[a-z]+$/.test(str);\n    const isNumeric = str => /^[0-9]+$/.test(str);\n    const deduceListType = start => {\n      if (isNumeric(start)) {\n        return 2;\n      } else if (isUppercase(start)) {\n        return 0;\n      } else if (isLowercase(start)) {\n        return 1;\n      } else if (isEmpty$1(start)) {\n        return 3;\n      } else {\n        return 4;\n      }\n    };\n    const parseStartValue = start => {\n      switch (deduceListType(start)) {\n        case 2:\n          return Optional.some({\n            listStyleType: Optional.none(),\n            start\n          });\n        case 0:\n          return Optional.some({\n            listStyleType: Optional.some('upper-alpha'),\n            start: parseAlphabeticBase26(start).toString()\n          });\n        case 1:\n          return Optional.some({\n            listStyleType: Optional.some('lower-alpha'),\n            start: parseAlphabeticBase26(start).toString()\n          });\n        case 3:\n          return Optional.some({\n            listStyleType: Optional.none(),\n            start: ''\n          });\n        case 4:\n          return Optional.none();\n      }\n    };\n    const parseDetail = detail => {\n      const start = parseInt(detail.start, 10);\n      if (is$2(detail.listStyleType, 'upper-alpha')) {\n        return composeAlphabeticBase26(start);\n      } else if (is$2(detail.listStyleType, 'lower-alpha')) {\n        return composeAlphabeticBase26(start).toLowerCase();\n      } else {\n        return detail.start;\n      }\n    };\n\n    const open = editor => {\n      const currentList = getParentList(editor);\n      if (!isOlNode(currentList) || isWithinNonEditableList(editor, currentList)) {\n        return;\n      }\n      editor.windowManager.open({\n        title: 'List Properties',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'input',\n            name: 'start',\n            label: 'Start list at number',\n            inputMode: 'numeric'\n          }]\n        },\n        initialData: {\n          start: parseDetail({\n            start: editor.dom.getAttrib(currentList, 'start', '1'),\n            listStyleType: Optional.from(editor.dom.getStyle(currentList, 'list-style-type'))\n          })\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        onSubmit: api => {\n          const data = api.getData();\n          parseStartValue(data.start).each(detail => {\n            editor.execCommand('mceListUpdate', false, {\n              attrs: {\n                start: detail.start === '1' ? '' : detail.start\n              },\n              styles: {\n                'list-style-type': detail.listStyleType.getOr('')\n              }\n            });\n          });\n          api.close();\n        }\n      });\n    };\n\n    const queryListCommandState = (editor, listName) => () => {\n      const parentList = getParentList(editor);\n      return isNonNullable(parentList) && parentList.nodeName === listName;\n    };\n    const registerDialog = editor => {\n      editor.addCommand('mceListProps', () => {\n        open(editor);\n      });\n    };\n    const register$2 = editor => {\n      editor.on('BeforeExecCommand', e => {\n        const cmd = e.command.toLowerCase();\n        if (cmd === 'indent') {\n          indentListSelection(editor);\n        } else if (cmd === 'outdent') {\n          outdentListSelection(editor);\n        }\n      });\n      editor.addCommand('InsertUnorderedList', (ui, detail) => {\n        toggleList(editor, 'UL', detail);\n      });\n      editor.addCommand('InsertOrderedList', (ui, detail) => {\n        toggleList(editor, 'OL', detail);\n      });\n      editor.addCommand('InsertDefinitionList', (ui, detail) => {\n        toggleList(editor, 'DL', detail);\n      });\n      editor.addCommand('RemoveList', () => {\n        flattenListSelection(editor);\n      });\n      registerDialog(editor);\n      editor.addCommand('mceListUpdate', (ui, detail) => {\n        if (isObject(detail)) {\n          updateList(editor, detail);\n        }\n      });\n      editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL'));\n      editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL'));\n      editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL'));\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    const isTextNode = node => node.type === 3;\n    const isEmpty = nodeBuffer => nodeBuffer.length === 0;\n    const wrapInvalidChildren = list => {\n      const insertListItem = (buffer, refNode) => {\n        const li = global.create('li');\n        each$1(buffer, node => li.append(node));\n        if (refNode) {\n          list.insert(li, refNode, true);\n        } else {\n          list.append(li);\n        }\n      };\n      const reducer = (buffer, node) => {\n        if (isTextNode(node)) {\n          return [...buffer, node];\n        } else if (!isEmpty(buffer) && !isTextNode(node)) {\n          insertListItem(buffer, node);\n          return [];\n        } else {\n          return buffer;\n        }\n      };\n      const restBuffer = foldl(list.children(), reducer, []);\n      if (!isEmpty(restBuffer)) {\n        insertListItem(restBuffer);\n      }\n    };\n    const setup$1 = editor => {\n      editor.on('PreInit', () => {\n        const {\n          parser\n        } = editor;\n        parser.addNodeFilter('ul,ol', nodes => each$1(nodes, wrapInvalidChildren));\n      });\n    };\n\n    const setupTabKey = editor => {\n      editor.on('keydown', e => {\n        if (e.keyCode !== global$4.TAB || global$4.metaKeyPressed(e)) {\n          return;\n        }\n        editor.undoManager.transact(() => {\n          if (e.shiftKey ? outdentListSelection(editor) : indentListSelection(editor)) {\n            e.preventDefault();\n          }\n        });\n      });\n    };\n    const setup = editor => {\n      if (shouldIndentOnTab(editor)) {\n        setupTabKey(editor);\n      }\n      setup$2(editor);\n    };\n\n    const setupToggleButtonHandler = (editor, listName) => api => {\n      const toggleButtonHandler = e => {\n        api.setActive(inList(e.parents, listName));\n        api.setEnabled(!isWithinNonEditableList(editor, e.element) && editor.selection.isEditable());\n      };\n      api.setEnabled(editor.selection.isEditable());\n      return setNodeChangeHandler(editor, toggleButtonHandler);\n    };\n    const register$1 = editor => {\n      const exec = command => () => editor.execCommand(command);\n      if (!editor.hasPlugin('advlist')) {\n        editor.ui.registry.addToggleButton('numlist', {\n          icon: 'ordered-list',\n          active: false,\n          tooltip: 'Numbered list',\n          onAction: exec('InsertOrderedList'),\n          onSetup: setupToggleButtonHandler(editor, 'OL')\n        });\n        editor.ui.registry.addToggleButton('bullist', {\n          icon: 'unordered-list',\n          active: false,\n          tooltip: 'Bullet list',\n          onAction: exec('InsertUnorderedList'),\n          onSetup: setupToggleButtonHandler(editor, 'UL')\n        });\n      }\n    };\n\n    const setupMenuButtonHandler = (editor, listName) => api => {\n      const menuButtonHandler = e => api.setEnabled(inList(e.parents, listName) && !isWithinNonEditableList(editor, e.element));\n      return setNodeChangeHandler(editor, menuButtonHandler);\n    };\n    const register = editor => {\n      const listProperties = {\n        text: 'List properties...',\n        icon: 'ordered-list',\n        onAction: () => editor.execCommand('mceListProps'),\n        onSetup: setupMenuButtonHandler(editor, 'OL')\n      };\n      editor.ui.registry.addMenuItem('listprops', listProperties);\n      editor.ui.registry.addContextMenu('lists', {\n        update: node => {\n          const parentList = getParentList(editor, node);\n          return isOlNode(parentList) ? ['listprops'] : [];\n        }\n      });\n    };\n\n    var Plugin = (() => {\n      global$7.add('lists', editor => {\n        register$3(editor);\n        setup$1(editor);\n        if (!editor.hasPlugin('rtc', true)) {\n          setup(editor);\n          register$2(editor);\n        } else {\n          registerDialog(editor);\n        }\n        register$1(editor);\n        register(editor);\n        return get(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isString = isType('string');\n    const isObject = isType('object');\n    const isArray = isType('array');\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const apply = f => {\n      return f();\n    };\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const from = isFunction(Array.from) ? Array.from : x => nativeSlice.call(x);\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const get$2 = (obj, key) => {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('audio_template_callback', {\n        processor: 'function'\n      });\n      registerOption('video_template_callback', {\n        processor: 'function'\n      });\n      registerOption('iframe_template_callback', {\n        processor: 'function'\n      });\n      registerOption('media_live_embeds', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_filter_html', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_url_resolver', {\n        processor: 'function'\n      });\n      registerOption('media_alt_source', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_poster', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_dimensions', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const getAudioTemplateCallback = option('audio_template_callback');\n    const getVideoTemplateCallback = option('video_template_callback');\n    const getIframeTemplateCallback = option('iframe_template_callback');\n    const hasLiveEmbeds = option('media_live_embeds');\n    const shouldFilterHtml = option('media_filter_html');\n    const getUrlResolver = option('media_url_resolver');\n    const hasAltSource = option('media_alt_source');\n    const hasPoster = option('media_poster');\n    const hasDimensions = option('media_dimensions');\n    const getSnMediaSettings = editor => {\n      const snSettings = option('sn_settings')(editor);\n      const {\n        allowLibrarySearch = true,\n        attachmentList = [],\n        showLocalsTab = false,\n        libraryFilePicker = (_editor, callback) => callback(''),\n        labels = {},\n        mediaUploadHandler\n      } = (snSettings === null || snSettings === void 0 ? void 0 : snSettings.media) || {};\n      return {\n        allowLibrarySearch,\n        attachmentList,\n        showLocalsTab,\n        libraryFilePicker,\n        labels: {\n          tabName: 'Local Media',\n          search: 'Search Library',\n          attachmentList: 'Attachment List',\n          typeAttachment: 'Attachment',\n          typeLibrary: 'Public Library',\n          waitOpen: 'Loading Attachments',\n          ...labels\n        },\n        mediaUploadHandler\n      };\n    };\n    const isAutomaticUploadsEnabled = editor => option('automatic_uploads');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.html.DomParser');\n\n    const DOM$1 = global$4.DOM;\n    const trimPx = value => value.replace(/px$/, '');\n    const getEphoxEmbedData = node => {\n      const style = node.attr('style');\n      const styles = style ? DOM$1.parseStyle(style) : {};\n      return {\n        type: 'ephox-embed-iri',\n        source: node.attr('data-ephox-embed-iri'),\n        altsource: '',\n        poster: '',\n        width: get$2(styles, 'max-width').map(trimPx).getOr(''),\n        height: get$2(styles, 'max-height').map(trimPx).getOr('')\n      };\n    };\n    const htmlToData = (html, schema) => {\n      let data = {};\n      const parser = global$3({\n        validate: false,\n        forced_root_block: false\n      }, schema);\n      const rootNode = parser.parse(html);\n      for (let node = rootNode; node; node = node.walk()) {\n        if (node.type === 1) {\n          const name = node.name;\n          if (node.attr('data-ephox-embed-iri')) {\n            data = getEphoxEmbedData(node);\n            break;\n          } else {\n            if (!data.source && name === 'param') {\n              data.source = node.attr('movie');\n            }\n            if (name === 'iframe' || name === 'object' || name === 'embed' || name === 'video' || name === 'audio') {\n              if (!data.type) {\n                data.type = name;\n              }\n              data = global$5.extend(node.attributes.map, data);\n            }\n            if (name === 'source') {\n              if (!data.source) {\n                data.source = node.attr('src');\n              } else if (!data.altsource) {\n                data.altsource = node.attr('src');\n              }\n            }\n            if (name === 'img' && !data.poster) {\n              data.poster = node.attr('src');\n            }\n          }\n        }\n      }\n      data.source = data.source || data.src || '';\n      data.altsource = data.altsource || '';\n      data.poster = data.poster || '';\n      return data;\n    };\n\n    const guess = url => {\n      var _a;\n      const mimes = {\n        mp3: 'audio/mpeg',\n        m4a: 'audio/x-m4a',\n        wav: 'audio/wav',\n        mp4: 'video/mp4',\n        webm: 'video/webm',\n        ogg: 'video/ogg',\n        swf: 'application/x-shockwave-flash'\n      };\n      const fileEnd = (_a = url.toLowerCase().split('.').pop()) !== null && _a !== void 0 ? _a : '';\n      return get$2(mimes, fileEnd).getOr('');\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.html.Serializer');\n\n    const Parser = (schema, settings = {}) => global$3({\n      forced_root_block: false,\n      validate: false,\n      allow_conditional_comments: true,\n      ...settings\n    }, schema);\n\n    const DOM = global$4.DOM;\n    const addPx = value => /^[0-9.]+$/.test(value) ? value + 'px' : value;\n    const updateEphoxEmbed = (data, node) => {\n      const style = node.attr('style');\n      const styleMap = style ? DOM.parseStyle(style) : {};\n      if (isNonNullable(data.width)) {\n        styleMap['max-width'] = addPx(data.width);\n      }\n      if (isNonNullable(data.height)) {\n        styleMap['max-height'] = addPx(data.height);\n      }\n      node.attr('style', DOM.serializeStyle(styleMap));\n    };\n    const sources = ['source', 'altsource'];\n    const updateHtml = (html, data, updateAll, schema) => {\n      let numSources = 0;\n      let sourceCount = 0;\n      const parser = Parser(schema);\n      parser.addNodeFilter('source', nodes => numSources = nodes.length);\n      const rootNode = parser.parse(html);\n      for (let node = rootNode; node; node = node.walk()) {\n        if (node.type === 1) {\n          const name = node.name;\n          if (node.attr('data-ephox-embed-iri')) {\n            updateEphoxEmbed(data, node);\n            break;\n          } else {\n            switch (name) {\n              case 'video':\n              case 'object':\n              case 'embed':\n              case 'img':\n              case 'iframe':\n                if (data.height !== undefined && data.width !== undefined) {\n                  node.attr('width', data.width);\n                  node.attr('height', data.height);\n                }\n                break;\n            }\n            if (updateAll) {\n              switch (name) {\n                case 'video':\n                  node.attr('poster', data.poster);\n                  node.attr('src', null);\n                  for (let index = numSources; index < 2; index++) {\n                    if (data[sources[index]]) {\n                      const source = new global$2('source', 1);\n                      source.attr('src', data[sources[index]]);\n                      source.attr('type', data[sources[index] + 'mime'] || null);\n                      node.append(source);\n                    }\n                  }\n                  break;\n                case 'iframe':\n                  node.attr('src', data.source);\n                  break;\n                case 'object':\n                  const hasImage = node.getAll('img').length > 0;\n                  if (data.poster && !hasImage) {\n                    node.attr('src', data.poster);\n                    const img = new global$2('img', 1);\n                    img.attr('src', data.poster);\n                    img.attr('width', data.width);\n                    img.attr('height', data.height);\n                    node.append(img);\n                  }\n                  break;\n                case 'source':\n                  if (sourceCount < 2) {\n                    node.attr('src', data[sources[sourceCount]]);\n                    node.attr('type', data[sources[sourceCount] + 'mime'] || null);\n                    if (!data[sources[sourceCount]]) {\n                      node.remove();\n                      continue;\n                    }\n                  }\n                  sourceCount++;\n                  break;\n                case 'img':\n                  if (!data.poster) {\n                    node.remove();\n                  }\n                  break;\n              }\n            }\n          }\n        }\n      }\n      return global$1({}, schema).serialize(rootNode);\n    };\n\n    const urlPatterns = [{\n      regex: /youtu\\.be\\/([\\w\\-_\\?&=.]+)/i,\n      type: 'iframe',\n      w: 560,\n      h: 314,\n      url: 'www.youtube.com/embed/$1',\n      allowFullscreen: true\n    }, {\n      regex: /youtube\\.com(.+)v=([^&]+)(&([a-z0-9&=\\-_]+))?/i,\n      type: 'iframe',\n      w: 560,\n      h: 314,\n      url: 'www.youtube.com/embed/$2?$4',\n      allowFullscreen: true\n    }, {\n      regex: /youtube.com\\/embed\\/([a-z0-9\\?&=\\-_]+)/i,\n      type: 'iframe',\n      w: 560,\n      h: 314,\n      url: 'www.youtube.com/embed/$1',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/([0-9]+)\\?h=(\\w+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$1?h=$2&title=0&byline=0&portrait=0&color=8dc7dc',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/(.*)\\/([0-9]+)\\?h=(\\w+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$2?h=$3&title=0&amp;byline=0',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/([0-9]+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/(.*)\\/([0-9]+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$2?title=0&amp;byline=0',\n      allowFullscreen: true\n    }, {\n      regex: /maps\\.google\\.([a-z]{2,3})\\/maps\\/(.+)msid=(.+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'maps.google.com/maps/ms?msid=$2&output=embed\"',\n      allowFullscreen: false\n    }, {\n      regex: /dailymotion\\.com\\/video\\/([^_]+)/,\n      type: 'iframe',\n      w: 480,\n      h: 270,\n      url: 'www.dailymotion.com/embed/video/$1',\n      allowFullscreen: true\n    }, {\n      regex: /dai\\.ly\\/([^_]+)/,\n      type: 'iframe',\n      w: 480,\n      h: 270,\n      url: 'www.dailymotion.com/embed/video/$1',\n      allowFullscreen: true\n    }];\n    const getProtocol = url => {\n      const protocolMatches = url.match(/^(https?:\\/\\/|www\\.)(.+)$/i);\n      if (protocolMatches && protocolMatches.length > 1) {\n        return protocolMatches[1] === 'www.' ? 'https://' : protocolMatches[1];\n      } else {\n        return 'https://';\n      }\n    };\n    const getUrl = (pattern, url) => {\n      const protocol = getProtocol(url);\n      const match = pattern.regex.exec(url);\n      let newUrl = protocol + pattern.url;\n      if (isNonNullable(match)) {\n        for (let i = 0; i < match.length; i++) {\n          newUrl = newUrl.replace('$' + i, () => match[i] ? match[i] : '');\n        }\n      }\n      return newUrl.replace(/\\?$/, '');\n    };\n    const matchPattern = url => {\n      const patterns = urlPatterns.filter(pattern => pattern.regex.test(url));\n      if (patterns.length > 0) {\n        return global$5.extend({}, patterns[0], {\n          url: getUrl(patterns[0], url)\n        });\n      } else {\n        return null;\n      }\n    };\n\n    const getIframeHtml = (data, iframeTemplateCallback) => {\n      if (iframeTemplateCallback) {\n        return iframeTemplateCallback(data);\n      } else {\n        const allowFullscreen = data.allowfullscreen ? ' allowFullscreen=\"1\"' : '';\n        return '<iframe src=\"' + data.source + '\" width=\"' + data.width + '\" height=\"' + data.height + '\"' + allowFullscreen + '><\/iframe>';\n      }\n    };\n    const getFlashHtml = data => {\n      let html = '<object data=\"' + data.source + '\" width=\"' + data.width + '\" height=\"' + data.height + '\" type=\"application/x-shockwave-flash\">';\n      if (data.poster) {\n        html += '<img src=\"' + data.poster + '\" width=\"' + data.width + '\" height=\"' + data.height + '\" />';\n      }\n      html += '<\/object>';\n      return html;\n    };\n    const getAudioHtml = (data, audioTemplateCallback) => {\n      if (audioTemplateCallback) {\n        return audioTemplateCallback(data);\n      } else {\n        return '<audio controls=\"controls\" src=\"' + data.source + '\">' + (data.altsource ? '\\n<source src=\"' + data.altsource + '\"' + (data.altsourcemime ? ' type=\"' + data.altsourcemime + '\"' : '') + ' />\\n' : '') + '<\/audio>';\n      }\n    };\n    const getVideoHtml = (data, videoTemplateCallback) => {\n      if (videoTemplateCallback) {\n        return videoTemplateCallback(data);\n      } else {\n        return '<video width=\"' + data.width + '\" height=\"' + data.height + '\"' + (data.poster ? ' poster=\"' + data.poster + '\"' : '') + ' controls=\"controls\">\\n' + '<source src=\"' + data.source + '\"' + (data.sourcemime ? ' type=\"' + data.sourcemime + '\"' : '') + ' />\\n' + (data.altsource ? '<source src=\"' + data.altsource + '\"' + (data.altsourcemime ? ' type=\"' + data.altsourcemime + '\"' : '') + ' />\\n' : '') + '<\/video>';\n      }\n    };\n    const dataToHtml = (editor, dataIn) => {\n      var _a;\n      const data = global$5.extend({}, dataIn);\n      if (!data.source) {\n        global$5.extend(data, htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema));\n        if (!data.source) {\n          return '';\n        }\n      }\n      if (!data.altsource) {\n        data.altsource = '';\n      }\n      if (!data.poster) {\n        data.poster = '';\n      }\n      data.source = editor.convertURL(data.source, 'source');\n      data.altsource = editor.convertURL(data.altsource, 'source');\n      data.sourcemime = guess(data.source);\n      data.altsourcemime = guess(data.altsource);\n      data.poster = editor.convertURL(data.poster, 'poster');\n      const pattern = matchPattern(data.source);\n      if (pattern) {\n        data.source = pattern.url;\n        data.type = pattern.type;\n        data.allowfullscreen = pattern.allowFullscreen;\n        data.width = data.width || String(pattern.w);\n        data.height = data.height || String(pattern.h);\n      }\n      if (data.embed) {\n        return updateHtml(data.embed, data, true, editor.schema);\n      } else {\n        const audioTemplateCallback = getAudioTemplateCallback(editor);\n        const videoTemplateCallback = getVideoTemplateCallback(editor);\n        const iframeTemplateCallback = getIframeTemplateCallback(editor);\n        data.width = data.width || '300';\n        data.height = data.height || '150';\n        global$5.each(data, (value, key) => {\n          data[key] = editor.dom.encode('' + value);\n        });\n        if (data.type === 'iframe') {\n          return getIframeHtml(data, iframeTemplateCallback);\n        } else if (data.sourcemime === 'application/x-shockwave-flash') {\n          return getFlashHtml(data);\n        } else if (data.sourcemime.indexOf('audio') !== -1) {\n          return getAudioHtml(data, audioTemplateCallback);\n        } else {\n          return getVideoHtml(data, videoTemplateCallback);\n        }\n      }\n    };\n\n    const isMediaElement = element => element.hasAttribute('data-mce-object') || element.hasAttribute('data-ephox-embed-iri');\n    const setup$3 = editor => {\n      editor.on('click keyup touchend', () => {\n        const selectedNode = editor.selection.getNode();\n        if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) {\n          if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) {\n            selectedNode.setAttribute('data-mce-selected', '2');\n          }\n        }\n      });\n      editor.on('ObjectResized', e => {\n        const target = e.target;\n        if (target.getAttribute('data-mce-object')) {\n          let html = target.getAttribute('data-mce-html');\n          if (html) {\n            html = unescape(html);\n            target.setAttribute('data-mce-html', escape(updateHtml(html, {\n              width: String(e.width),\n              height: String(e.height)\n            }, false, editor.schema)));\n          }\n        }\n      });\n    };\n\n    const cache = {};\n    const embedPromise = (data, dataToHtml, handler) => {\n      return new Promise((res, rej) => {\n        const wrappedResolve = response => {\n          if (response.html) {\n            cache[data.source] = response;\n          }\n          return res({\n            url: data.source,\n            html: response.html ? response.html : dataToHtml(data)\n          });\n        };\n        if (cache[data.source]) {\n          wrappedResolve(cache[data.source]);\n        } else {\n          handler({\n            url: data.source\n          }, wrappedResolve, rej);\n        }\n      });\n    };\n    const defaultPromise = (data, dataToHtml) => Promise.resolve({\n      html: dataToHtml(data),\n      url: data.source\n    });\n    const loadedData = editor => data => dataToHtml(editor, data);\n    const getEmbedHtml = (editor, data) => {\n      const embedHandler = getUrlResolver(editor);\n      return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor));\n    };\n    const isCached = url => has(cache, url);\n\n    const handleBrowseLibrary = (editor, settings) => api => settings.libraryFilePicker(editor, file => {\n      api.setData({\n        source: {\n          value: file,\n          meta: {}\n        }\n      });\n      api.showTab('general');\n    });\n    const handleSourceUpdate = (editor, config, settings, dialog) => {\n      new Promise(resolve => {\n        dialog.block('');\n        const body = config.body;\n        const index = body.tabs.findIndex(({\n          title\n        }) => title === settings.labels.tabName);\n        body.tabs[index] = makeTab(editor, dialog.getData(), settings, resolve);\n        config.initialData = dialog.getData();\n      }).then(() => {\n        dialog.redial(config);\n        dialog.showTab('local');\n        dialog.unblock();\n      });\n    };\n    const urlListSanitizer = (editor, list) => {\n      return [...(list === null || list === void 0 ? void 0 : list.map(({\n        title,\n        value\n      }) => ({\n        text: title,\n        value: editor.convertURL(value, '')\n      })))];\n    };\n    const makeTab = (editor, {\n      localsTabSourceType\n    }, settings, onListLoaded) => {\n      const items = [];\n      const {\n        allowLibrarySearch,\n        attachmentList,\n        labels\n      } = settings;\n      if (allowLibrarySearch) {\n        items.push({\n          type: 'selectbox',\n          name: 'localsTabSourceType',\n          label: 'Source',\n          size: 1,\n          items: [{\n            text: labels.typeAttachment,\n            value: 'attachment'\n          }, {\n            text: labels.typeLibrary,\n            value: 'library'\n          }]\n        });\n      }\n      let callLoaded = true;\n      if (localsTabSourceType === 'attachment') {\n        if (attachmentList) {\n          const attachConfig = {\n            type: 'listbox',\n            name: 'attachments',\n            label: labels.attachmentList,\n            items: [{\n              text: 'None',\n              value: ''\n            }]\n          };\n          if (isFunction(attachmentList)) {\n            attachmentList(attachmentItems => {\n              attachConfig.items = [...attachConfig.items, ...urlListSanitizer(editor, attachmentItems || [])];\n              onListLoaded();\n            });\n            callLoaded = false;\n          } else if (isArray(attachmentList)) {\n            attachConfig.items = [...attachConfig.items, ...urlListSanitizer(editor, attachmentList || [])];\n          }\n          items.push(attachConfig);\n        }\n      } else {\n        items.push({\n          type: 'label',\n          label: labels.search,\n          items: [{\n            type: 'button',\n            name: 'librarysearch',\n            text: labels.search,\n            icon: 'search'\n          }]\n        });\n      }\n      if (callLoaded) {\n        onListLoaded();\n      }\n      return {\n        title: labels.tabName,\n        name: 'local',\n        items\n      };\n    };\n    const LocalsTab = {\n      makeTab,\n      handleSourceUpdate,\n      handleBrowseLibrary\n    };\n\n    const extractMeta = (sourceInput, data) => get$2(data, sourceInput).bind(mainData => get$2(mainData, 'meta'));\n    const getValue = (data, metaData, sourceInput) => prop => {\n      const getFromData = () => get$2(data, prop);\n      const getFromMetaData = () => get$2(metaData, prop);\n      const getNonEmptyValue = c => get$2(c, 'value').bind(v => v.length > 0 ? Optional.some(v) : Optional.none());\n      const getFromValueFirst = () => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child).orThunk(getFromMetaData) : getFromMetaData().orThunk(() => Optional.from(child)));\n      const getFromMetaFirst = () => getFromMetaData().orThunk(() => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child) : Optional.from(child)));\n      return {\n        [prop]: (prop === sourceInput ? getFromValueFirst() : getFromMetaFirst()).getOr('')\n      };\n    };\n    const getDimensions = (data, metaData) => {\n      const dimensions = {};\n      get$2(data, 'dimensions').each(dims => {\n        each$1(['width', 'height'], prop => {\n          get$2(metaData, prop).orThunk(() => get$2(dims, prop)).each(value => dimensions[prop] = value);\n        });\n      });\n      return dimensions;\n    };\n    const unwrap = (data, sourceInput) => {\n      const metaData = sourceInput && sourceInput !== 'dimensions' ? extractMeta(sourceInput, data).getOr({}) : {};\n      const get = getValue(data, metaData, sourceInput);\n      return {\n        ...get('source'),\n        ...get('altsource'),\n        ...get('poster'),\n        ...get('embed'),\n        ...getDimensions(data, metaData),\n        ...get('attachments')\n      };\n    };\n    const wrap = (data, localsTabSourceType) => {\n      const wrapped = {\n        ...data,\n        source: {\n          value: get$2(data, 'source').getOr('')\n        },\n        altsource: {\n          value: get$2(data, 'altsource').getOr('')\n        },\n        poster: {\n          value: get$2(data, 'poster').getOr('')\n        },\n        ...(localsTabSourceType ? {\n          localsTabSourceType\n        } : {})\n      };\n      each$1(['width', 'height'], prop => {\n        get$2(data, prop).each(value => {\n          const dimensions = wrapped.dimensions || {};\n          dimensions[prop] = value;\n          wrapped.dimensions = dimensions;\n        });\n      });\n      return wrapped;\n    };\n    const handleError = editor => error => {\n      const errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.';\n      editor.notificationManager.open({\n        type: 'error',\n        text: errorMessage\n      });\n    };\n    const getEditorData = editor => {\n      const element = editor.selection.getNode();\n      const snippet = isMediaElement(element) ? editor.serializer.serialize(element, {\n        selection: true\n      }) : '';\n      const data = htmlToData(snippet, editor.schema);\n      const getDimensionsOfElement = () => {\n        if (isEmbedIframe(data.source, data.type)) {\n          const rect = editor.dom.getRect(element);\n          return {\n            width: rect.w.toString().replace(/px$/, ''),\n            height: rect.h.toString().replace(/px$/, '')\n          };\n        } else {\n          return {};\n        }\n      };\n      const dimensions = getDimensionsOfElement();\n      return {\n        embed: snippet,\n        ...data,\n        ...dimensions\n      };\n    };\n    const addEmbedHtml = (api, editor) => response => {\n      if (isString(response.url) && response.url.trim().length > 0) {\n        const html = response.html;\n        const snippetData = htmlToData(html, editor.schema);\n        const nuData = {\n          ...snippetData,\n          source: response.url,\n          embed: html\n        };\n        api.setData(wrap(nuData));\n      }\n    };\n    const selectPlaceholder = (editor, beforeObjects) => {\n      const afterObjects = editor.dom.select('*[data-mce-object]');\n      for (let i = 0; i < beforeObjects.length; i++) {\n        for (let y = afterObjects.length - 1; y >= 0; y--) {\n          if (beforeObjects[i] === afterObjects[y]) {\n            afterObjects.splice(y, 1);\n          }\n        }\n      }\n      editor.selection.select(afterObjects[0]);\n    };\n    const handleInsert = (editor, html) => {\n      const beforeObjects = editor.dom.select('*[data-mce-object]');\n      editor.insertContent(html);\n      selectPlaceholder(editor, beforeObjects);\n      editor.nodeChanged();\n    };\n    const isEmbedIframe = (url, mediaDataType) => isNonNullable(mediaDataType) && mediaDataType === 'ephox-embed-iri' && isNonNullable(matchPattern(url));\n    const shouldInsertAsNewIframe = (prevData, newData) => {\n      const hasDimensionsChanged = (prevData, newData) => prevData.width !== newData.width || prevData.height !== newData.height;\n      return hasDimensionsChanged(prevData, newData) && isEmbedIframe(newData.source, prevData.type);\n    };\n    const submitForm = (prevData, newData, editor) => {\n      var _a;\n      newData.embed = shouldInsertAsNewIframe(prevData, newData) && hasDimensions(editor) ? dataToHtml(editor, {\n        ...newData,\n        embed: ''\n      }) : updateHtml((_a = newData.embed) !== null && _a !== void 0 ? _a : '', newData, false, editor.schema);\n      if (newData.embed && (prevData.source === newData.source || isCached(newData.source))) {\n        handleInsert(editor, newData.embed);\n      } else {\n        getEmbedHtml(editor, newData).then(response => {\n          handleInsert(editor, response.html);\n        }).catch(handleError(editor));\n      }\n    };\n    const showDialog = editor => {\n      const editorData = getEditorData(editor);\n      const currentData = Cell(editorData);\n      const initialData = wrap(editorData, 'attachment');\n      const handleSource = (prevData, api) => {\n        const serviceData = unwrap(api.getData(), 'source');\n        if (prevData.source !== serviceData.source) {\n          addEmbedHtml(win, editor)({\n            url: serviceData.source,\n            html: ''\n          });\n          getEmbedHtml(editor, serviceData).then(addEmbedHtml(win, editor)).catch(handleError(editor));\n        }\n      };\n      const handleEmbed = api => {\n        var _a;\n        const data = unwrap(api.getData());\n        const dataFromEmbed = htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema);\n        api.setData(wrap(dataFromEmbed));\n      };\n      const handleUpdate = (api, sourceInput, prevData) => {\n        const dialogData = unwrap(api.getData(), sourceInput);\n        const data = shouldInsertAsNewIframe(prevData, dialogData) && hasDimensions(editor) ? {\n          ...dialogData,\n          embed: ''\n        } : dialogData;\n        const embed = dataToHtml(editor, data);\n        api.setData(wrap({\n          ...data,\n          embed\n        }));\n      };\n      const mediaInput = [{\n        name: 'source',\n        type: 'urlinput',\n        filetype: 'media',\n        label: 'Source',\n        picker_text: 'Browse files'\n      }];\n      const sizeInput = !hasDimensions(editor) ? [] : [{\n        type: 'sizeinput',\n        name: 'dimensions',\n        label: 'Constrain proportions',\n        constrain: true\n      }];\n      const generalTab = {\n        title: 'General',\n        name: 'general',\n        items: flatten([mediaInput, sizeInput])\n      };\n      const embedTextarea = {\n        type: 'textarea',\n        name: 'embed',\n        label: 'Paste your embed code below:'\n      };\n      const embedTab = {\n        title: 'Embed',\n        items: [embedTextarea]\n      };\n      const advancedFormItems = [];\n      if (hasAltSource(editor)) {\n        advancedFormItems.push({\n          name: 'altsource',\n          type: 'urlinput',\n          filetype: 'media',\n          label: 'Alternative source URL'\n        });\n      }\n      if (hasPoster(editor)) {\n        advancedFormItems.push({\n          name: 'poster',\n          type: 'urlinput',\n          filetype: 'image',\n          label: 'Media poster (Image URL)'\n        });\n      }\n      const advancedTab = {\n        title: 'Advanced',\n        name: 'advanced',\n        items: advancedFormItems\n      };\n      const tabs = [generalTab, embedTab];\n      if (advancedFormItems.length > 0) {\n        tabs.push(advancedTab);\n      }\n      const snMediaSettings = getSnMediaSettings(editor);\n      let attachmentsLoaded = null;\n      if (snMediaSettings.showLocalsTab) {\n        attachmentsLoaded = new Promise(resolve => {\n          tabs.push(LocalsTab.makeTab(editor, initialData, snMediaSettings, resolve));\n        });\n      }\n      const body = {\n        type: 'tabpanel',\n        tabs\n      };\n      const config = {\n        title: 'Insert/Edit Media',\n        size: 'normal',\n        body,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        onAction: LocalsTab.handleBrowseLibrary(editor, snMediaSettings),\n        onSubmit: api => {\n          const serviceData = unwrap(api.getData());\n          submitForm(currentData.get(), serviceData, editor);\n          api.close();\n        },\n        onChange: (api, detail) => {\n          switch (detail.name) {\n            case 'source':\n              handleSource(currentData.get(), api);\n              break;\n            case 'embed':\n              handleEmbed(api);\n              break;\n            case 'dimensions':\n            case 'altsource':\n            case 'poster':\n              handleUpdate(api, detail.name, currentData.get());\n              break;\n            case 'attachments':\n              const data = global$5.extend({}, unwrap(api.getData()));\n              data.source = data.attachments;\n              api.setData(wrap(data));\n              handleSource(currentData.get(), api);\n              api.showTab('general');\n              break;\n            case 'localsTabSourceType':\n              LocalsTab.handleSourceUpdate(editor, config, snMediaSettings, win);\n              break;\n          }\n          currentData.set(unwrap(api.getData()));\n        },\n        initialData\n      };\n      const win = editor.windowManager.open(config);\n      const firstItem = 'name' in body.tabs[0].items[0] ? body.tabs[0].items[0].name : 'source';\n      if (attachmentsLoaded) {\n        win.block(snMediaSettings.labels.waitOpen);\n        attachmentsLoaded.then(() => win.redial(config)).then(() => win.unblock()).then(() => win.focus(firstItem));\n      } else {\n        win.focus(firstItem);\n      }\n    };\n\n    const get$1 = editor => {\n      const showDialog$1 = () => {\n        showDialog(editor);\n      };\n      return {\n        showDialog: showDialog$1\n      };\n    };\n\n    const register$1 = editor => {\n      const showDialog$1 = () => {\n        showDialog(editor);\n      };\n      editor.addCommand('mceMedia', showDialog$1);\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint\n    };\n\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    const fromDom = nodes => map(nodes, SugarElement.fromDom);\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const getSrc = el => {\n      var _a;\n      return !el ? '' : el.src || ((_a = el.querySelector('source')) === null || _a === void 0 ? void 0 : _a.src);\n    };\n    const setSrc = (el, src) => {\n      if (el) {\n        const sourceEl = el.querySelector('source') || el;\n        if (sourceEl.src !== src) {\n          sourceEl.src = src;\n        }\n      }\n    };\n\n    const videoToBlobInfo = (blobCache, video) => {\n      const videoSrc = getSrc(video);\n      if (startsWith(videoSrc, 'blob:')) {\n        const blobInfo = blobCache.getByUri(videoSrc);\n        if (isNonNullable(blobInfo)) {\n          return Promise.resolve(blobInfo);\n        }\n      }\n      return Promise.reject('Unknown media format');\n    };\n    const getAllVideos = elm => {\n      return elm ? from(elm.getElementsByTagName('video')) : [];\n    };\n    const VideoScanner = (uploadStatus, blobCache) => {\n      const cachedPromises = {};\n      const findAll = (elm, predicate = always) => {\n        const videos = filter(getAllVideos(elm), video => {\n          const src = getSrc(video);\n          if (video.hasAttribute('data-mce-bogus')) {\n            return false;\n          }\n          if (video.hasAttribute('data-mce-placeholder')) {\n            return false;\n          }\n          if (!src || src === global.transparentSrc) {\n            return false;\n          }\n          if (startsWith(src, 'blob:')) {\n            return !uploadStatus.isUploaded(src) && predicate(video);\n          }\n          if (startsWith(src, 'data:')) {\n            return predicate(video);\n          }\n          return false;\n        });\n        const promises = map(videos, video => {\n          const videoSrc = getSrc(video);\n          if (has(cachedPromises, videoSrc)) {\n            return cachedPromises[getSrc(video)].then(videoInfo => {\n              if (isString(videoInfo)) {\n                return videoInfo;\n              } else {\n                return {\n                  video,\n                  blobInfo: videoInfo.blobInfo\n                };\n              }\n            });\n          } else {\n            const newPromise = videoToBlobInfo(blobCache, video).then(blobInfo => {\n              delete cachedPromises[getSrc(video)];\n              return {\n                video,\n                blobInfo\n              };\n            }).catch(error => {\n              delete cachedPromises[getSrc(video)];\n              return error;\n            });\n            cachedPromises[getSrc(video)] = newPromise;\n            return newPromise;\n          }\n        });\n        return Promise.all(promises);\n      };\n      return {\n        findAll\n      };\n    };\n\n    const Uploader = (uploadStatus, settings) => {\n      const pendingPromises = {};\n      const handlerSuccess = (blobInfo, url) => ({\n        url,\n        blobInfo,\n        status: true\n      });\n      const handlerFailure = (blobInfo, error) => ({\n        url: '',\n        blobInfo,\n        status: false,\n        error\n      });\n      const resolvePending = (blobUri, result) => {\n        global$5.each(pendingPromises[blobUri], resolve => {\n          resolve(result);\n        });\n        delete pendingPromises[blobUri];\n      };\n      const uploadBlobInfo = (blobInfo, handler, openNotification) => {\n        uploadStatus.markPending(blobInfo.blobUri());\n        return new Promise(resolve => {\n          let notification;\n          let progress;\n          try {\n            const closeNotification = () => {\n              if (notification) {\n                notification.close();\n                progress = noop;\n              }\n            };\n            const success = url => {\n              closeNotification();\n              uploadStatus.markUploaded(blobInfo.blobUri(), url);\n              resolvePending(blobInfo.blobUri(), handlerSuccess(blobInfo, url));\n              resolve(handlerSuccess(blobInfo, url));\n            };\n            const failure = error => {\n              closeNotification();\n              uploadStatus.removeFailed(blobInfo.blobUri());\n              resolvePending(blobInfo.blobUri(), handlerFailure(blobInfo, error));\n              resolve(handlerFailure(blobInfo, error));\n            };\n            progress = percent => {\n              if (percent < 0 || percent > 100) {\n                return;\n              }\n              Optional.from(notification).orThunk(() => Optional.from(openNotification).map(apply)).each(n => {\n                notification = n;\n                n.progressBar.value(percent);\n              });\n            };\n            handler(blobInfo, progress).then(success, err => {\n              failure(isString(err) ? {\n                message: err\n              } : err);\n            });\n          } catch (ex) {\n            resolve(handlerFailure(blobInfo, ex));\n          }\n        });\n      };\n      const pendingUploadBlobInfo = blobInfo => {\n        const blobUri = blobInfo.blobUri();\n        return new Promise(resolve => {\n          pendingPromises[blobUri] = pendingPromises[blobUri] || [];\n          pendingPromises[blobUri].push(resolve);\n        });\n      };\n      const noUpload = () => new Promise(resolve => {\n        resolve([]);\n      });\n      const uploadBlobs = (blobInfos, openNotification) => {\n        if (isUndefined(settings.handler)) return noUpload();\n        blobInfos = global$5.grep(blobInfos, blobInfo => !uploadStatus.isUploaded(blobInfo.blobUri()));\n        return Promise.all(global$5.map(blobInfos, blobInfo => uploadStatus.isPending(blobInfo.blobUri()) ? pendingUploadBlobInfo(blobInfo) : uploadBlobInfo(blobInfo, settings.handler, openNotification)));\n      };\n      const upload = uploadBlobs;\n      return {\n        upload\n      };\n    };\n\n    const openNotification = editor => () => editor.notificationManager.open({\n      text: editor.translate('Media uploading...'),\n      type: 'info',\n      timeout: -1,\n      progressBar: true\n    });\n    const displayError = (editor, message) => editor.notificationManager.open({\n      type: 'error',\n      text: editor.translate(message)\n    });\n    const createUploader = (editor, uploadStatus) => Uploader(uploadStatus, {\n      handler: getSnMediaSettings(editor).mediaUploadHandler\n    });\n\n    const Rtc = {\n      isRtc: editor => has(editor.plugins, 'rtc')\n    };\n    const isEmptyForPadding = (editor, element) => editor.dom.isEmpty(element.dom) && isNonNullable(editor.schema.getTextBlockElements()[name(element)]);\n    const addPaddingToEmpty = editor => element => {\n      if (isEmptyForPadding(editor, element)) {\n        append(element, SugarElement.fromHtml('<br data-mce-bogus=\"1\" />'));\n      }\n    };\n    const EditorUpload = editor => {\n      let blobCache, uploader, videoScanner;\n      let uploadStatus;\n      const aliveGuard = (editor, callback) => {\n        return result => {\n          if (editor.selection) {\n            return callback(result);\n          }\n          return [];\n        };\n      };\n      const replaceString = (content, search, replace) => {\n        let index = 0;\n        do {\n          index = content.indexOf(search, index);\n          if (index !== -1) {\n            content = content.substring(0, index) + replace + content.substr(index + search.length);\n            index += replace.length - search.length + 1;\n          }\n        } while (index !== -1);\n        return content;\n      };\n      const replaceVideoUrl = (content, targetUrl, replacementUrl) => {\n        const replacementString = \"src=\\\"\".concat(replacementUrl, \"\\\"\").concat(replacementUrl === global.transparentSrc ? ' data-mce-placeholder=\"1\"' : '');\n        content = replaceString(content, \"src=\\\"\".concat(targetUrl, \"\\\"\"), replacementString);\n        content = replaceString(content, \"data-mce-html=\\\"\".concat(escape(\"\\n<source src=\\\"\".concat(targetUrl, \"\\\" />\")), \"\\\"\"), \"data-mce-html=\\\"\".concat(escape(\"\\n<source src=\\\"\".concat(replacementUrl, \"\\\" />\")), \"\\\"\"));\n        return content;\n      };\n      const replaceUrlInUndoStack = (targetUrl, replacementUrl) => {\n        each$1(editor.undoManager.data, level => {\n          if (level.type === 'fragmented') {\n            level.fragments = map(level.fragments, fragment => replaceVideoUrl(fragment, targetUrl, replacementUrl));\n          } else {\n            level.content = replaceVideoUrl(level.content, targetUrl, replacementUrl);\n          }\n        });\n      };\n      const replaceVideoUriInView = (video, resultUri) => {\n        const src = editor.convertURL(resultUri, 'src');\n        replaceUrlInUndoStack(getSrc(video), resultUri);\n        setSrc(video, resultUri);\n        parentElement(SugarElement.fromDom(video)).each(parent => set(parent, 'data-mce-html', \"\".concat(escape(\"\\n<source src=\\\"\".concat(src, \"\\\" />\")))));\n        video.load();\n      };\n      const uploadVideos = () => {\n        if (!uploader) {\n          uploader = createUploader(editor, uploadStatus);\n        }\n        return scanForVideos().then(aliveGuard(editor, videoInfo => {\n          const blobInfos = map(videoInfo, videoInfo => videoInfo.blobInfo);\n          return uploader.upload(blobInfos, openNotification(editor)).then(aliveGuard(editor, result => {\n            const videosToRemove = [];\n            let shouldDispatchChange = false;\n            const filteredResult = map(result, (uploadInfo, index) => {\n              const {\n                blobInfo,\n                video\n              } = videoInfo[index];\n              let removed = false;\n              if (uploadInfo.status) {\n                if (uploadInfo.url && !contains(getSrc(video), uploadInfo.url)) {\n                  shouldDispatchChange = true;\n                }\n                blobCache.removeByUri(getSrc(video));\n                if (Rtc.isRtc(editor)) ; else {\n                  replaceVideoUriInView(video, uploadInfo.url);\n                }\n              } else if (uploadInfo.error) {\n                if (uploadInfo.error.remove) {\n                  replaceUrlInUndoStack(getSrc(video), global.transparentSrc);\n                  videosToRemove.push(video);\n                  removed = true;\n                }\n                const errorMessage = \"Failed to upload video: \".concat(uploadInfo.error.message);\n                displayError(editor, errorMessage);\n              }\n              return {\n                element: video,\n                status: uploadInfo.status,\n                uploadUri: uploadInfo.url,\n                blobInfo,\n                removed\n              };\n            });\n            if (videosToRemove.length > 0 && !Rtc.isRtc(editor)) {\n              editor.undoManager.transact(() => {\n                each$1(fromDom(videosToRemove), sugarElement => {\n                  const parentOpt = parent(sugarElement);\n                  const grandParentOpt = parentOpt.bind(parent);\n                  parentOpt.each(remove);\n                  grandParentOpt.each(addPaddingToEmpty(editor));\n                  const src = getSrc(sugarElement.dom);\n                  blobCache.removeByUri(src);\n                  const selectorAttr = get(sugarElement, 'src') ? \"[data-mce-p-src='\".concat(src, \"']\") : \"[data-mce-html='\".concat(escape(\"\\n<source src=\\\"\".concat(src, \"\\\" />\")), \"']\");\n                  one(selectorAttr).map(element => editor.dom.getParent(element.dom, '.mce-offscreen-selection')).each(editor.dom.remove);\n                });\n              });\n            } else if (shouldDispatchChange) {\n              editor.undoManager.dispatchChange();\n            }\n            return filteredResult;\n          }));\n        }));\n      };\n      const uploadVideoAuto = () => {\n        isAutomaticUploadsEnabled() ? uploadVideos() : Promise.resolve([]);\n      };\n      const scanForVideos = () => {\n        return videoScanner.findAll(editor.getBody()).then(aliveGuard(editor, result => {\n          const filteredResult = filter(result, resultItem => {\n            if (isString(resultItem)) {\n              return false;\n            } else {\n              return true;\n            }\n          });\n          if (Rtc.isRtc(editor)) ; else {\n            each$1(filteredResult, resultItem => {\n              replaceUrlInUndoStack(getSrc(resultItem.video), resultItem.blobInfo.blobUri());\n              setSrc(resultItem.video, resultItem.blobInfo.blobUri());\n            });\n          }\n          return filteredResult;\n        }));\n      };\n      const destroy = () => {\n        uploadStatus.destroy();\n        videoScanner = uploader = null;\n      };\n      editor.on('SetContent', () => {\n        if (isAutomaticUploadsEnabled()) {\n          uploadVideoAuto();\n        } else {\n          scanForVideos();\n        }\n      });\n      editor.on('PostRender', () => {\n        editor.parser.addNodeFilter('video', videos => {\n          each$1(videos, vid => {\n            const src = vid.attr('src');\n            if (!src || blobCache.getByUri(src)) {\n              return;\n            }\n            const resultUri = uploadStatus.getResultUri(src);\n            if (resultUri) {\n              vid.attr('src', resultUri);\n            }\n          });\n        });\n      });\n      editor.on('PreInit', () => {\n        blobCache = editor.editorUpload.blobCache;\n        uploadStatus = editor.editorUpload.uploadStatus;\n        videoScanner = VideoScanner(uploadStatus, blobCache);\n      });\n      editor.on('remove', () => {\n        destroy();\n      });\n    };\n    const setup$2 = EditorUpload;\n\n    const isLiveEmbedNode = node => {\n      const name = node.name;\n      return name === 'iframe' || name === 'video' || name === 'audio';\n    };\n    const getDimension = (node, styles, dimension, defaultValue = null) => {\n      const value = node.attr(dimension);\n      if (isNonNullable(value)) {\n        return value;\n      } else if (!has(styles, dimension)) {\n        return defaultValue;\n      } else {\n        return null;\n      }\n    };\n    const setDimensions = (node, previewNode, styles) => {\n      const useDefaults = previewNode.name === 'img' || node.name === 'video';\n      const defaultWidth = useDefaults ? '300' : null;\n      const fallbackHeight = node.name === 'audio' ? '30' : '150';\n      const defaultHeight = useDefaults ? fallbackHeight : null;\n      previewNode.attr({\n        width: getDimension(node, styles, 'width', defaultWidth),\n        height: getDimension(node, styles, 'height', defaultHeight)\n      });\n    };\n    const appendNodeContent = (editor, nodeName, previewNode, html) => {\n      const newNode = Parser(editor.schema).parse(html, {\n        context: nodeName\n      });\n      while (newNode.firstChild) {\n        previewNode.append(newNode.firstChild);\n      }\n    };\n    const createPlaceholderNode = (editor, node) => {\n      const name = node.name;\n      const placeHolder = new global$2('img', 1);\n      retainAttributesAndInnerHtml(editor, node, placeHolder);\n      setDimensions(node, placeHolder, {});\n      placeHolder.attr({\n        'style': node.attr('style'),\n        'src': global.transparentSrc,\n        'data-mce-object': name,\n        'class': 'mce-object mce-object-' + name\n      });\n      return placeHolder;\n    };\n    const createPreviewNode = (editor, node) => {\n      var _a;\n      const name = node.name;\n      const previewWrapper = new global$2('span', 1);\n      previewWrapper.attr({\n        'contentEditable': 'false',\n        'style': node.attr('style'),\n        'data-mce-object': name,\n        'class': 'mce-preview-object mce-object-' + name\n      });\n      retainAttributesAndInnerHtml(editor, node, previewWrapper);\n      const styles = editor.dom.parseStyle((_a = node.attr('style')) !== null && _a !== void 0 ? _a : '');\n      const previewNode = new global$2(name, 1);\n      setDimensions(node, previewNode, styles);\n      previewNode.attr({\n        src: node.attr('src'),\n        style: node.attr('style'),\n        class: node.attr('class')\n      });\n      if (name === 'iframe') {\n        previewNode.attr({\n          allowfullscreen: node.attr('allowfullscreen'),\n          frameborder: '0',\n          sandbox: node.attr('sandbox')\n        });\n      } else {\n        const attrs = ['controls', 'crossorigin', 'currentTime', 'loop', 'muted', 'poster', 'preload'];\n        each$1(attrs, attrName => {\n          previewNode.attr(attrName, node.attr(attrName));\n        });\n        const sanitizedHtml = previewWrapper.attr('data-mce-html');\n        if (isNonNullable(sanitizedHtml)) {\n          appendNodeContent(editor, name, previewNode, unescape(sanitizedHtml));\n        }\n      }\n      const shimNode = new global$2('span', 1);\n      shimNode.attr('class', 'mce-shim');\n      previewWrapper.append(previewNode);\n      previewWrapper.append(shimNode);\n      return previewWrapper;\n    };\n    const retainAttributesAndInnerHtml = (editor, sourceNode, targetNode) => {\n      var _a;\n      const attribs = (_a = sourceNode.attributes) !== null && _a !== void 0 ? _a : [];\n      let ai = attribs.length;\n      while (ai--) {\n        const attrName = attribs[ai].name;\n        let attrValue = attribs[ai].value;\n        if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style' && !startsWith(attrName, 'data-mce-')) {\n          if (attrName === 'data' || attrName === 'src') {\n            attrValue = editor.convertURL(attrValue, attrName);\n          }\n          targetNode.attr('data-mce-p-' + attrName, attrValue);\n        }\n      }\n      const serializer = global$1({\n        inner: true\n      }, editor.schema);\n      const tempNode = new global$2('div', 1);\n      each$1(sourceNode.children(), child => tempNode.append(child));\n      const innerHtml = serializer.serialize(tempNode);\n      if (innerHtml) {\n        targetNode.attr('data-mce-html', escape(innerHtml));\n        targetNode.empty();\n      }\n    };\n    const isPageEmbedWrapper = node => {\n      const nodeClass = node.attr('class');\n      return isString(nodeClass) && /\\btiny-pageembed\\b/.test(nodeClass);\n    };\n    const isWithinEmbedWrapper = node => {\n      let tempNode = node;\n      while (tempNode = tempNode.parent) {\n        if (tempNode.attr('data-ephox-embed-iri') || isPageEmbedWrapper(tempNode)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const placeHolderConverter = editor => nodes => {\n      let i = nodes.length;\n      let node;\n      while (i--) {\n        node = nodes[i];\n        if (!node.parent) {\n          continue;\n        }\n        if (node.parent.attr('data-mce-object')) {\n          continue;\n        }\n        if (isLiveEmbedNode(node) && hasLiveEmbeds(editor)) {\n          if (!isWithinEmbedWrapper(node)) {\n            node.replace(createPreviewNode(editor, node));\n          }\n        } else {\n          if (!isWithinEmbedWrapper(node)) {\n            node.replace(createPlaceholderNode(editor, node));\n          }\n        }\n      }\n    };\n\n    const parseAndSanitize = (editor, context, html) => {\n      const getEditorOption = editor.options.get;\n      const sanitize = getEditorOption('xss_sanitization');\n      const validate = shouldFilterHtml(editor);\n      return Parser(editor.schema, {\n        sanitize,\n        validate\n      }).parse(html, {\n        context\n      });\n    };\n\n    const setup$1 = editor => {\n      editor.on('PreInit', () => {\n        const {\n          schema,\n          serializer,\n          parser\n        } = editor;\n        const boolAttrs = schema.getBoolAttrs();\n        each$1('webkitallowfullscreen mozallowfullscreen'.split(' '), name => {\n          boolAttrs[name] = {};\n        });\n        each({\n          embed: ['wmode']\n        }, (attrs, name) => {\n          const rule = schema.getElementRule(name);\n          if (rule) {\n            each$1(attrs, attr => {\n              rule.attributes[attr] = {};\n              rule.attributesOrder.push(attr);\n            });\n          }\n        });\n        parser.addNodeFilter('iframe,video,audio,object,embed', placeHolderConverter(editor));\n        serializer.addAttributeFilter('data-mce-object', (nodes, name) => {\n          var _a;\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            if (!node.parent) {\n              continue;\n            }\n            const realElmName = node.attr(name);\n            const realElm = new global$2(realElmName, 1);\n            if (realElmName !== 'audio') {\n              const className = node.attr('class');\n              if (className && className.indexOf('mce-preview-object') !== -1 && node.firstChild) {\n                realElm.attr({\n                  width: node.firstChild.attr('width'),\n                  height: node.firstChild.attr('height')\n                });\n              } else {\n                realElm.attr({\n                  width: node.attr('width'),\n                  height: node.attr('height')\n                });\n              }\n            }\n            realElm.attr({\n              style: node.attr('style')\n            });\n            const attribs = (_a = node.attributes) !== null && _a !== void 0 ? _a : [];\n            let ai = attribs.length;\n            while (ai--) {\n              const attrName = attribs[ai].name;\n              if (attrName.indexOf('data-mce-p-') === 0) {\n                realElm.attr(attrName.substr(11), attribs[ai].value);\n              }\n            }\n            const innerHtml = node.attr('data-mce-html');\n            if (innerHtml) {\n              const fragment = parseAndSanitize(editor, realElmName, unescape(innerHtml));\n              each$1(fragment.children(), child => realElm.append(child));\n            }\n            node.replace(realElm);\n          }\n        });\n      });\n      editor.on('SetContent', () => {\n        const dom = editor.dom;\n        each$1(dom.select('span.mce-preview-object'), elm => {\n          if (dom.select('span.mce-shim', elm).length === 0) {\n            dom.add(elm, 'span', {\n              class: 'mce-shim'\n            });\n          }\n        });\n      });\n    };\n\n    const setup = editor => {\n      editor.on('ResolveName', e => {\n        let name;\n        if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) {\n          e.name = name;\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceMedia');\n      editor.ui.registry.addToggleButton('media', {\n        tooltip: 'Insert/edit media',\n        icon: 'embed',\n        onAction,\n        onSetup: buttonApi => {\n          const selection = editor.selection;\n          buttonApi.setActive(isMediaElement(selection.getNode()));\n          const unbindSelectorChanged = selection.selectorChangedWithUnbind('img[data-mce-object],span[data-mce-object],div[data-ephox-embed-iri]', buttonApi.setActive).unbind;\n          const unbindEditable = onSetupEditable(editor)(buttonApi);\n          return () => {\n            unbindSelectorChanged();\n            unbindEditable();\n          };\n        }\n      });\n      editor.ui.registry.addMenuItem('media', {\n        icon: 'embed',\n        text: 'Media...',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = (() => {\n      global$6.add('media', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n        setup(editor);\n        setup$1(editor);\n        setup$3(editor);\n        setup$2(editor);\n        return get$1(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const isSimpleType = type => value => typeof value === type;\n    const isBoolean = isSimpleType('boolean');\n    const isNumber = isSimpleType('number');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('nonbreaking_force_tab', {\n        processor: value => {\n          if (isBoolean(value)) {\n            return {\n              value: value ? 3 : 0,\n              valid: true\n            };\n          } else if (isNumber(value)) {\n            return {\n              value,\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a boolean or number.'\n            };\n          }\n        },\n        default: false\n      });\n      registerOption('nonbreaking_wrap', {\n        processor: 'boolean',\n        default: true\n      });\n    };\n    const getKeyboardSpaces = option('nonbreaking_force_tab');\n    const wrapNbsps = option('nonbreaking_wrap');\n\n    const stringRepeat = (string, repeats) => {\n      let str = '';\n      for (let index = 0; index < repeats; index++) {\n        str += string;\n      }\n      return str;\n    };\n    const isVisualCharsEnabled = editor => editor.plugins.visualchars ? editor.plugins.visualchars.isEnabled() : false;\n    const insertNbsp = (editor, times) => {\n      const classes = () => isVisualCharsEnabled(editor) ? 'mce-nbsp-wrap mce-nbsp' : 'mce-nbsp-wrap';\n      const nbspSpan = () => \"<span class=\\\"\".concat(classes(), \"\\\" contenteditable=\\\"false\\\">\").concat(stringRepeat('&nbsp;', times), \"<\/span>\");\n      const shouldWrap = wrapNbsps(editor);\n      const html = shouldWrap || editor.plugins.visualchars ? nbspSpan() : stringRepeat('&nbsp;', times);\n      editor.undoManager.transact(() => editor.insertContent(html));\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceNonBreaking', () => {\n        insertNbsp(editor, 1);\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const setup = editor => {\n      const spaces = getKeyboardSpaces(editor);\n      if (spaces > 0) {\n        editor.on('keydown', e => {\n          if (e.keyCode === global.TAB && !e.isDefaultPrevented()) {\n            if (e.shiftKey) {\n              return;\n            }\n            e.preventDefault();\n            e.stopImmediatePropagation();\n            insertNbsp(editor, spaces);\n          }\n        });\n      }\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceNonBreaking');\n      editor.ui.registry.addButton('nonbreaking', {\n        icon: 'non-breaking',\n        tooltip: 'Nonbreaking space',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('nonbreaking', {\n        icon: 'non-breaking',\n        text: 'Nonbreaking space',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = (() => {\n      global$1.add('nonbreaking', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n        setup(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('pagebreak_separator', {\n        processor: 'string',\n        default: '<!-- pagebreak -->'\n      });\n      registerOption('pagebreak_split_block', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getSeparatorHtml = option('pagebreak_separator');\n    const shouldSplitBlock = option('pagebreak_split_block');\n\n    const pageBreakClass = 'mce-pagebreak';\n    const getPlaceholderHtml = shouldSplitBlock => {\n      const html = \"<img src=\\\"\".concat(global.transparentSrc, \"\\\" class=\\\"\").concat(pageBreakClass, \"\\\" data-mce-resize=\\\"false\\\" data-mce-placeholder />\");\n      return shouldSplitBlock ? \"<p>\".concat(html, \"<\/p>\") : html;\n    };\n    const setup$1 = editor => {\n      const separatorHtml = getSeparatorHtml(editor);\n      const shouldSplitBlock$1 = () => shouldSplitBlock(editor);\n      const pageBreakSeparatorRegExp = new RegExp(separatorHtml.replace(/[\\?\\.\\*\\[\\]\\(\\)\\{\\}\\+\\^\\$\\:]/g, a => {\n        return '\\\\' + a;\n      }), 'gi');\n      editor.on('BeforeSetContent', e => {\n        e.content = e.content.replace(pageBreakSeparatorRegExp, getPlaceholderHtml(shouldSplitBlock$1()));\n      });\n      editor.on('PreInit', () => {\n        editor.serializer.addNodeFilter('img', nodes => {\n          let i = nodes.length,\n            node,\n            className;\n          while (i--) {\n            node = nodes[i];\n            className = node.attr('class');\n            if (className && className.indexOf(pageBreakClass) !== -1) {\n              const parentNode = node.parent;\n              if (parentNode && editor.schema.getBlockElements()[parentNode.name] && shouldSplitBlock$1()) {\n                parentNode.type = 3;\n                parentNode.value = separatorHtml;\n                parentNode.raw = true;\n                node.remove();\n                continue;\n              }\n              node.type = 3;\n              node.value = separatorHtml;\n              node.raw = true;\n            }\n          }\n        });\n      });\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mcePageBreak', () => {\n        editor.insertContent(getPlaceholderHtml(shouldSplitBlock(editor)));\n      });\n    };\n\n    const setup = editor => {\n      editor.on('ResolveName', e => {\n        if (e.target.nodeName === 'IMG' && editor.dom.hasClass(e.target, pageBreakClass)) {\n          e.name = 'pagebreak';\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mcePageBreak');\n      editor.ui.registry.addButton('pagebreak', {\n        icon: 'page-break',\n        tooltip: 'Page break',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('pagebreak', {\n        text: 'Page break',\n        icon: 'page-break',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = (() => {\n      global$1.add('pagebreak', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n        setup$1(editor);\n        setup(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const getContentStyle = option('content_style');\n    const shouldUseContentCssCors = option('content_css_cors');\n    const getBodyClass = option('body_class');\n    const getBodyId = option('body_id');\n\n    const getPreviewHtml = editor => {\n      var _a;\n      let headHtml = '';\n      const encode = editor.dom.encode;\n      const contentStyle = (_a = getContentStyle(editor)) !== null && _a !== void 0 ? _a : '';\n      headHtml += '<base href=\"' + encode(editor.documentBaseURI.getURI()) + '\">';\n      const cors = shouldUseContentCssCors(editor) ? ' crossorigin=\"anonymous\"' : '';\n      global.each(editor.contentCSS, url => {\n        headHtml += '<link type=\"text/css\" rel=\"stylesheet\" href=\"' + encode(editor.documentBaseURI.toAbsolute(url)) + '\"' + cors + '>';\n      });\n      if (contentStyle) {\n        headHtml += '<style type=\"text/css\">' + contentStyle + '<\/style>';\n      }\n      const bodyId = getBodyId(editor);\n      const bodyClass = getBodyClass(editor);\n      const isMetaKeyPressed = global$1.os.isMacOS() || global$1.os.isiOS() ? 'e.metaKey' : 'e.ctrlKey && !e.altKey';\n      const preventClicksOnLinksScript = '<script>' + 'document.addEventListener && document.addEventListener(\"click\", function(e) {' + 'for (var elm = e.target; elm; elm = elm.parentNode) {' + 'if (elm.nodeName === \"A\" && !(' + isMetaKeyPressed + ')) {' + 'e.preventDefault();' + '}' + '}' + '}, false);' + '<\/script> ';\n      const directionality = editor.getBody().dir;\n      const dirAttr = directionality ? ' dir=\"' + encode(directionality) + '\"' : '';\n      const previewHtml = '<!DOCTYPE html>' + '<html>' + '<head>' + headHtml + '<\/head>' + '<body id=\"' + encode(bodyId) + '\" class=\"mce-content-body ' + encode(bodyClass) + '\"' + dirAttr + '>' + editor.getContent() + preventClicksOnLinksScript + '<\/body>' + '<\/html>';\n      return previewHtml;\n    };\n\n    const open = editor => {\n      const content = getPreviewHtml(editor);\n      const dataApi = editor.windowManager.open({\n        title: 'Preview',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n            name: 'preview',\n            type: 'iframe',\n            sandboxed: true,\n            transparent: false\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'close',\n          text: 'Close',\n          primary: true\n        }],\n        initialData: {\n          preview: content\n        }\n      });\n      dataApi.focus('close');\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mcePreview', () => {\n        open(editor);\n      });\n    };\n\n    const register = editor => {\n      const onAction = () => editor.execCommand('mcePreview');\n      editor.ui.registry.addButton('preview', {\n        icon: 'preview',\n        tooltip: 'Preview',\n        onAction\n      });\n      editor.ui.registry.addMenuItem('preview', {\n        icon: 'preview',\n        text: 'Preview',\n        onAction\n      });\n    };\n\n    var Plugin = (() => {\n      global$2.add('preview', editor => {\n        register$1(editor);\n        register(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const isSimpleType = type => value => typeof value === type;\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const hasOwnProperty = Object.hasOwnProperty;\n    const get$1 = (obj, key) => {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const showBottomBorder = editor => {\n      const snSettings = option('sn_settings')(editor);\n      return get$1(snSettings, 'readonlyBottomBorder').getOr(false);\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const ELEMENT = 1;\n\n    const get = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get(element, key));\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n\n    var ClosestOrAncestor = ((is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    });\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is(e, selector), isRoot);\n    const closest = (scope, selector, isRoot) => {\n      const is$1 = (element, selector) => is(element, selector);\n      return ClosestOrAncestor(is$1, ancestor, scope, selector, isRoot);\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const BUFFER_HEIGHT = 34;\n    const getHeight = editor => editor.dom.getStyle(editor.getContainer(), 'height');\n    const setHeight = (editor, height) => {\n      editor.dom.setStyle(editor.getContainer(), 'height', height);\n    };\n    const getDimensions = editor => ({\n      min_height: editor.options.get('min_height'),\n      height: editor.options.get('height'),\n      max_height: editor.options.get('max_height'),\n      current: getHeight(editor)\n    });\n    const setDimmensions = (editor, dimensions) => {\n      const {\n        min_height,\n        height,\n        max_height,\n        current\n      } = dimensions;\n      editor.options.set('min_height', min_height);\n      editor.options.set('height', height);\n      editor.options.set('max_height', max_height);\n      setHeight(editor, current);\n    };\n    const toggleClasses = editor => {\n      const container = editor.getContainer();\n      const {\n        toggleClass\n      } = editor.dom;\n      toggleClass(container, 'sn-mce-readonly');\n      if (showBottomBorder(editor)) {\n        toggleClass(container, 'sn-mce-readonly-border-bottom');\n      }\n    };\n    const getAnchorHrefOpt = (editor, elm) => {\n      const isRoot = elm => eq(elm, SugarElement.fromDom(editor.getBody()));\n      return closest(elm, 'a', isRoot).bind(a => getOpt(a, 'href'));\n    };\n    const handleOnClick = editor => event => {\n      const target = event.target;\n      const elm = SugarElement.fromDom(target);\n      getAnchorHrefOpt(editor, elm).each(href => {\n        if (!global.metaKeyPressed(event) && !/^#/.test(href)) {\n          event.stopImmediatePropagation();\n        }\n      });\n    };\n    const addClickEventListener = editor => {\n      editor.getWin().addEventListener('click', handleOnClick(editor), true);\n    };\n    const removeClickEventListener = editor => {\n      editor.getWin().removeEventListener('click', handleOnClick(editor), true);\n    };\n    const calculateContentHeight = editor => {\n      var _a, _b, _c;\n      const body = editor.getBody();\n      const configuredHeight = Number(editor.options.get('height')) || 0;\n      const isEmpty = !(body === null || body === void 0 ? void 0 : body.textContent) || ((_a = body === null || body === void 0 ? void 0 : body.textContent) === null || _a === void 0 ? void 0 : _a.trim().length) === 0;\n      const bodyScrollHeight = (_b = body === null || body === void 0 ? void 0 : body.scrollHeight) !== null && _b !== void 0 ? _b : 0;\n      const bodyOffsetHeight = (_c = body === null || body === void 0 ? void 0 : body.offsetHeight) !== null && _c !== void 0 ? _c : 0;\n      const contentHeight = Math.max(bodyScrollHeight, bodyOffsetHeight);\n      const finalHeight = contentHeight <= configuredHeight ? isEmpty ? bodyOffsetHeight : bodyOffsetHeight + BUFFER_HEIGHT : contentHeight + BUFFER_HEIGHT;\n      return finalHeight;\n    };\n    const adjustHeightToContent = editor => {\n      setTimeout(() => {\n        const height = calculateContentHeight(editor);\n        setHeight(editor, height);\n      }, 0);\n    };\n    const register = editor => {\n      let dimensions;\n      editor.mode.register('readonlynoborder', {\n        activate: () => {\n          dimensions = getDimensions(editor);\n          toggleClasses(editor);\n          addClickEventListener(editor);\n          adjustHeightToContent(editor);\n        },\n        deactivate: () => {\n          toggleClasses(editor);\n          setDimmensions(editor, dimensions);\n          removeClickEventListener(editor);\n        },\n        editorReadOnly: true\n      });\n      editor.on('SwitchMode', ({\n        mode\n      }) => {\n        if (mode === 'readonly') {\n          editor.mode.set('readonlynoborder');\n        }\n      });\n    };\n\n    var Plugin = (() => {\n      global$1.add('readonlynoborder', editor => {\n        register$1(editor);\n        register(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isArray = isType$1('array');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const always = constant(true);\n\n    const punctuationStr = \"[~\\u2116|!-*+-\\\\/:;?@\\\\[-`{}\\xA1\\xAB\\xB7\\xBB\\xBF;\\xB7\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1361-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u3008\\u3009\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30\\u2E31\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]\";\n\n    const punctuation$1 = constant(punctuationStr);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const punctuation = punctuation$1;\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const nativeSlice = Array.prototype.slice;\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const groupBy = (xs, f) => {\n      if (xs.length === 0) {\n        return [];\n      } else {\n        let wasType = f(xs[0]);\n        const r = [];\n        let group = [];\n        for (let i = 0, len = xs.length; i < len; i++) {\n          const x = xs[i];\n          const type = f(x);\n          if (type !== wasType) {\n            r.push(group);\n            group = [];\n          }\n          wasType = type;\n          group.push(x);\n        }\n        if (group.length !== 0) {\n          r.push(group);\n        }\n        return r;\n      }\n    };\n    const foldl = (xs, f, acc) => {\n      each(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n    const sort = (xs, comparator) => {\n      const copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n\n    const hasOwnProperty = Object.hasOwnProperty;\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isText$1 = isType(TEXT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const spot = (element, offset) => ({\n      element,\n      offset\n    });\n    const leaf = (element, offset) => {\n      const cs = children(element);\n      return cs.length > 0 && offset < cs.length ? spot(cs[offset], 0) : spot(element, offset);\n    };\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap = (element, wrapper) => {\n      before(element, wrapper);\n      append(wrapper, element);\n    };\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText$1, 'text');\n    const get$1 = element => api.get(element);\n\n    const compareDocumentPosition = (a, b, match) => {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    const documentPositionPreceding = (a, b) => {\n      return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_PRECEDING);\n    };\n\n    const descendants = (scope, selector) => all(selector, scope);\n\n    var global = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    const isSimpleBoundary = (dom, node) => dom.isBlock(node) || has(dom.schema.getVoidElements(), node.nodeName);\n    const isContentEditableFalse = (dom, node) => !dom.isEditable(node);\n    const isContentEditableTrueInCef = (dom, node) => dom.getContentEditable(node) === 'true' && node.parentNode && !dom.isEditable(node.parentNode);\n    const isHidden = (dom, node) => !dom.isBlock(node) && has(dom.schema.getWhitespaceElements(), node.nodeName);\n    const isBoundary = (dom, node) => isSimpleBoundary(dom, node) || isContentEditableFalse(dom, node) || isHidden(dom, node) || isContentEditableTrueInCef(dom, node);\n    const isText = node => node.nodeType === 3;\n    const nuSection = () => ({\n      sOffset: 0,\n      fOffset: 0,\n      elements: []\n    });\n    const toLeaf = (node, offset) => leaf(SugarElement.fromDom(node), offset);\n    const walk = (dom, walkerFn, startNode, callbacks, endNode, skipStart = true) => {\n      let next = skipStart ? walkerFn(false) : startNode;\n      while (next) {\n        const isCefNode = isContentEditableFalse(dom, next);\n        if (isCefNode || isHidden(dom, next)) {\n          const stopWalking = isCefNode ? callbacks.cef(next) : callbacks.boundary(next);\n          if (stopWalking) {\n            break;\n          } else {\n            next = walkerFn(true);\n            continue;\n          }\n        } else if (isSimpleBoundary(dom, next)) {\n          if (callbacks.boundary(next)) {\n            break;\n          }\n        } else if (isText(next)) {\n          callbacks.text(next);\n        }\n        if (next === endNode) {\n          break;\n        } else {\n          next = walkerFn(false);\n        }\n      }\n    };\n    const collectTextToBoundary = (dom, section, node, rootNode, forwards) => {\n      var _a;\n      if (isBoundary(dom, node)) {\n        return;\n      }\n      const rootBlock = (_a = dom.getParent(rootNode, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      const walker = new global(node, rootBlock);\n      const walkerFn = forwards ? walker.next.bind(walker) : walker.prev.bind(walker);\n      walk(dom, walkerFn, node, {\n        boundary: always,\n        cef: always,\n        text: next => {\n          if (forwards) {\n            section.fOffset += next.length;\n          } else {\n            section.sOffset += next.length;\n          }\n          section.elements.push(SugarElement.fromDom(next));\n        }\n      });\n    };\n    const collect = (dom, rootNode, startNode, endNode, callbacks, skipStart = true) => {\n      const walker = new global(startNode, rootNode);\n      const sections = [];\n      let current = nuSection();\n      collectTextToBoundary(dom, current, startNode, rootNode, false);\n      const finishSection = () => {\n        if (current.elements.length > 0) {\n          sections.push(current);\n          current = nuSection();\n        }\n        return false;\n      };\n      walk(dom, walker.next.bind(walker), startNode, {\n        boundary: finishSection,\n        cef: node => {\n          finishSection();\n          if (callbacks) {\n            sections.push(...callbacks.cef(node));\n          }\n          return false;\n        },\n        text: next => {\n          current.elements.push(SugarElement.fromDom(next));\n          if (callbacks) {\n            callbacks.text(next, current);\n          }\n        }\n      }, endNode, skipStart);\n      if (endNode) {\n        collectTextToBoundary(dom, current, endNode, rootNode, true);\n      }\n      finishSection();\n      return sections;\n    };\n    const collectRangeSections = (dom, rng) => {\n      const start = toLeaf(rng.startContainer, rng.startOffset);\n      const startNode = start.element.dom;\n      const end = toLeaf(rng.endContainer, rng.endOffset);\n      const endNode = end.element.dom;\n      return collect(dom, rng.commonAncestorContainer, startNode, endNode, {\n        text: (node, section) => {\n          if (node === endNode) {\n            section.fOffset += node.length - end.offset;\n          } else if (node === startNode) {\n            section.sOffset += start.offset;\n          }\n        },\n        cef: node => {\n          const sections = bind(descendants(SugarElement.fromDom(node), '*[contenteditable=true]'), e => {\n            const ceTrueNode = e.dom;\n            return collect(dom, ceTrueNode, ceTrueNode);\n          });\n          return sort(sections, (a, b) => documentPositionPreceding(a.elements[0].dom, b.elements[0].dom) ? 1 : -1);\n        }\n      }, false);\n    };\n    const fromRng = (dom, rng) => rng.collapsed ? [] : collectRangeSections(dom, rng);\n    const fromNode = (dom, node) => {\n      const rng = dom.createRng();\n      rng.selectNode(node);\n      return fromRng(dom, rng);\n    };\n    const fromNodes = (dom, nodes) => bind(nodes, node => fromNode(dom, node));\n\n    const find$2 = (text, pattern, start = 0, finish = text.length) => {\n      const regex = pattern.regex;\n      regex.lastIndex = start;\n      const results = [];\n      let match;\n      while (match = regex.exec(text)) {\n        const matchedText = match[pattern.matchIndex];\n        const matchStart = match.index + match[0].indexOf(matchedText);\n        const matchFinish = matchStart + matchedText.length;\n        if (matchFinish > finish) {\n          break;\n        }\n        results.push({\n          start: matchStart,\n          finish: matchFinish\n        });\n        regex.lastIndex = matchFinish;\n      }\n      return results;\n    };\n    const extract = (elements, matches) => {\n      const nodePositions = foldl(elements, (acc, element) => {\n        const content = get$1(element);\n        const start = acc.last;\n        const finish = start + content.length;\n        const positions = bind(matches, (match, matchIdx) => {\n          if (match.start < finish && match.finish > start) {\n            return [{\n              element,\n              start: Math.max(start, match.start) - start,\n              finish: Math.min(finish, match.finish) - start,\n              matchId: matchIdx\n            }];\n          } else {\n            return [];\n          }\n        });\n        return {\n          results: acc.results.concat(positions),\n          last: finish\n        };\n      }, {\n        results: [],\n        last: 0\n      }).results;\n      return groupBy(nodePositions, position => position.matchId);\n    };\n\n    const find$1 = (pattern, sections) => bind(sections, section => {\n      const elements = section.elements;\n      const content = map(elements, get$1).join('');\n      const positions = find$2(content, pattern, section.sOffset, content.length - section.fOffset);\n      return extract(elements, positions);\n    });\n    const mark = (matches, replacementNode) => {\n      eachr(matches, (match, idx) => {\n        eachr(match, pos => {\n          const wrapper = SugarElement.fromDom(replacementNode.cloneNode(false));\n          set(wrapper, 'data-mce-index', idx);\n          const textNode = pos.element.dom;\n          if (textNode.length === pos.finish && pos.start === 0) {\n            wrap(pos.element, wrapper);\n          } else {\n            if (textNode.length !== pos.finish) {\n              textNode.splitText(pos.finish);\n            }\n            const matchNode = textNode.splitText(pos.start);\n            wrap(SugarElement.fromDom(matchNode), wrapper);\n          }\n        });\n      });\n    };\n    const findAndMark = (dom, pattern, node, replacementNode) => {\n      const textSections = fromNode(dom, node);\n      const matches = find$1(pattern, textSections);\n      mark(matches, replacementNode);\n      return matches.length;\n    };\n    const findAndMarkInSelection = (dom, pattern, selection, replacementNode) => {\n      const bookmark = selection.getBookmark();\n      const nodes = dom.select('td[data-mce-selected],th[data-mce-selected]');\n      const textSections = nodes.length > 0 ? fromNodes(dom, nodes) : fromRng(dom, selection.getRng());\n      const matches = find$1(pattern, textSections);\n      mark(matches, replacementNode);\n      selection.moveToBookmark(bookmark);\n      return matches.length;\n    };\n\n    const getElmIndex = elm => {\n      return elm.getAttribute('data-mce-index');\n    };\n    const markAllMatches = (editor, currentSearchState, pattern, inSelection) => {\n      const marker = editor.dom.create('span', {\n        'data-mce-bogus': 1\n      });\n      marker.className = 'mce-match-marker';\n      const node = editor.getBody();\n      done(editor, currentSearchState, false);\n      if (inSelection) {\n        return findAndMarkInSelection(editor.dom, pattern, editor.selection, marker);\n      } else {\n        return findAndMark(editor.dom, pattern, node, marker);\n      }\n    };\n    const unwrap = node => {\n      var _a;\n      const parentNode = node.parentNode;\n      if (node.firstChild) {\n        parentNode.insertBefore(node.firstChild, node);\n      }\n      (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(node);\n    };\n    const findSpansByIndex = (editor, index) => {\n      const spans = [];\n      const nodes = global$1.toArray(editor.getBody().getElementsByTagName('span'));\n      if (nodes.length) {\n        for (let i = 0; i < nodes.length; i++) {\n          const nodeIndex = getElmIndex(nodes[i]);\n          if (nodeIndex === null || !nodeIndex.length) {\n            continue;\n          }\n          if (nodeIndex === index.toString()) {\n            spans.push(nodes[i]);\n          }\n        }\n      }\n      return spans;\n    };\n    const moveSelection = (editor, currentSearchState, forward) => {\n      const searchState = currentSearchState.get();\n      let testIndex = searchState.index;\n      const dom = editor.dom;\n      if (forward) {\n        if (testIndex + 1 === searchState.count) {\n          testIndex = 0;\n        } else {\n          testIndex++;\n        }\n      } else {\n        if (testIndex - 1 === -1) {\n          testIndex = searchState.count - 1;\n        } else {\n          testIndex--;\n        }\n      }\n      dom.removeClass(findSpansByIndex(editor, searchState.index), 'mce-match-marker-selected');\n      const spans = findSpansByIndex(editor, testIndex);\n      if (spans.length) {\n        dom.addClass(findSpansByIndex(editor, testIndex), 'mce-match-marker-selected');\n        editor.selection.scrollIntoView(spans[0]);\n        return testIndex;\n      }\n      return -1;\n    };\n    const removeNode = (dom, node) => {\n      const parent = node.parentNode;\n      dom.remove(node);\n      if (parent && dom.isEmpty(parent)) {\n        dom.remove(parent);\n      }\n    };\n    const escapeSearchText = (text, wholeWord) => {\n      const escapedText = text.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&').replace(/\\s/g, '[^\\\\S\\\\r\\\\n\\\\uFEFF]');\n      const wordRegex = '(' + escapedText + ')';\n      return wholeWord ? \"(?:^|\\\\s|\".concat(punctuation(), \")\") + wordRegex + \"(?=$|\\\\s|\".concat(punctuation(), \")\") : wordRegex;\n    };\n    const find = (editor, currentSearchState, text, matchCase, wholeWord, inSelection) => {\n      const selection = editor.selection;\n      const escapedText = escapeSearchText(text, wholeWord);\n      const isForwardSelection = selection.isForward();\n      const pattern = {\n        regex: new RegExp(escapedText, matchCase ? 'g' : 'gi'),\n        matchIndex: 1\n      };\n      const count = markAllMatches(editor, currentSearchState, pattern, inSelection);\n      if (global$2.browser.isSafari()) {\n        selection.setRng(selection.getRng(), isForwardSelection);\n      }\n      if (count) {\n        const newIndex = moveSelection(editor, currentSearchState, true);\n        currentSearchState.set({\n          index: newIndex,\n          count,\n          text,\n          matchCase,\n          wholeWord,\n          inSelection\n        });\n      }\n      return count;\n    };\n    const next = (editor, currentSearchState) => {\n      const index = moveSelection(editor, currentSearchState, true);\n      currentSearchState.set({\n        ...currentSearchState.get(),\n        index\n      });\n    };\n    const prev = (editor, currentSearchState) => {\n      const index = moveSelection(editor, currentSearchState, false);\n      currentSearchState.set({\n        ...currentSearchState.get(),\n        index\n      });\n    };\n    const isMatchSpan = node => {\n      const matchIndex = getElmIndex(node);\n      return matchIndex !== null && matchIndex.length > 0;\n    };\n    const replace = (editor, currentSearchState, text, forward, all) => {\n      const searchState = currentSearchState.get();\n      const currentIndex = searchState.index;\n      let currentMatchIndex,\n        nextIndex = currentIndex;\n      forward = forward !== false;\n      const node = editor.getBody();\n      const nodes = global$1.grep(global$1.toArray(node.getElementsByTagName('span')), isMatchSpan);\n      for (let i = 0; i < nodes.length; i++) {\n        const nodeIndex = getElmIndex(nodes[i]);\n        let matchIndex = currentMatchIndex = parseInt(nodeIndex, 10);\n        if (all || matchIndex === searchState.index) {\n          if (text.length) {\n            nodes[i].innerText = text;\n            unwrap(nodes[i]);\n          } else {\n            removeNode(editor.dom, nodes[i]);\n          }\n          while (nodes[++i]) {\n            matchIndex = parseInt(getElmIndex(nodes[i]), 10);\n            if (matchIndex === currentMatchIndex) {\n              removeNode(editor.dom, nodes[i]);\n            } else {\n              i--;\n              break;\n            }\n          }\n          if (forward) {\n            nextIndex--;\n          }\n        } else if (currentMatchIndex > currentIndex) {\n          nodes[i].setAttribute('data-mce-index', String(currentMatchIndex - 1));\n        }\n      }\n      currentSearchState.set({\n        ...searchState,\n        count: all ? 0 : searchState.count - 1,\n        index: nextIndex\n      });\n      if (forward) {\n        next(editor, currentSearchState);\n      } else {\n        prev(editor, currentSearchState);\n      }\n      return !all && currentSearchState.get().count > 0;\n    };\n    const done = (editor, currentSearchState, keepEditorSelection) => {\n      let startContainer;\n      let endContainer;\n      const searchState = currentSearchState.get();\n      const nodes = global$1.toArray(editor.getBody().getElementsByTagName('span'));\n      for (let i = 0; i < nodes.length; i++) {\n        const nodeIndex = getElmIndex(nodes[i]);\n        if (nodeIndex !== null && nodeIndex.length) {\n          if (nodeIndex === searchState.index.toString()) {\n            if (!startContainer) {\n              startContainer = nodes[i].firstChild;\n            }\n            endContainer = nodes[i].firstChild;\n          }\n          unwrap(nodes[i]);\n        }\n      }\n      currentSearchState.set({\n        ...searchState,\n        index: -1,\n        count: 0,\n        text: ''\n      });\n      if (startContainer && endContainer) {\n        const rng = editor.dom.createRng();\n        rng.setStart(startContainer, 0);\n        rng.setEnd(endContainer, endContainer.data.length);\n        if (keepEditorSelection !== false) {\n          editor.selection.setRng(rng);\n        }\n        return rng;\n      } else {\n        return undefined;\n      }\n    };\n    const hasNext = (editor, currentSearchState) => currentSearchState.get().count > 1;\n    const hasPrev = (editor, currentSearchState) => currentSearchState.get().count > 1;\n\n    const get = (editor, currentState) => {\n      const done$1 = keepEditorSelection => {\n        return done(editor, currentState, keepEditorSelection);\n      };\n      const find$1 = (text, matchCase, wholeWord, inSelection = false) => {\n        return find(editor, currentState, text, matchCase, wholeWord, inSelection);\n      };\n      const next$1 = () => {\n        return next(editor, currentState);\n      };\n      const prev$1 = () => {\n        return prev(editor, currentState);\n      };\n      const replace$1 = (text, forward, all) => {\n        return replace(editor, currentState, text, forward, all);\n      };\n      return {\n        done: done$1,\n        find: find$1,\n        next: next$1,\n        prev: prev$1,\n        replace: replace$1\n      };\n    };\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const open = (editor, currentSearchState) => {\n      const dialogApi = value();\n      editor.undoManager.add();\n      const selectedText = global$1.trim(editor.selection.getContent({\n        format: 'text'\n      }));\n      const updateButtonStates = api => {\n        api.setEnabled('next', hasNext(editor, currentSearchState));\n        api.setEnabled('prev', hasPrev(editor, currentSearchState));\n      };\n      const updateSearchState = api => {\n        const data = api.getData();\n        const current = currentSearchState.get();\n        currentSearchState.set({\n          ...current,\n          matchCase: data.matchcase,\n          wholeWord: data.wholewords,\n          inSelection: data.inselection\n        });\n      };\n      const disableAll = (api, disable) => {\n        const buttons = ['replace', 'replaceall', 'prev', 'next'];\n        const toggle = name => api.setEnabled(name, !disable);\n        each(buttons, toggle);\n      };\n      const toggleNotFoundAlert = (isVisible, api) => {\n        api.redial(getDialogSpec(isVisible, api.getData()));\n      };\n      const focusButtonIfRequired = (api, name) => {\n        if (global$2.browser.isSafari() && global$2.deviceType.isTouch() && (name === 'find' || name === 'replace' || name === 'replaceall')) {\n          api.focus(name);\n        }\n      };\n      const reset = api => {\n        done(editor, currentSearchState, false);\n        disableAll(api, true);\n        updateButtonStates(api);\n      };\n      const doFind = api => {\n        const data = api.getData();\n        const last = currentSearchState.get();\n        if (!data.findtext.length) {\n          reset(api);\n          return;\n        }\n        if (last.text === data.findtext && last.matchCase === data.matchcase && last.wholeWord === data.wholewords) {\n          next(editor, currentSearchState);\n        } else {\n          const count = find(editor, currentSearchState, data.findtext, data.matchcase, data.wholewords, data.inselection);\n          if (count <= 0) {\n            toggleNotFoundAlert(true, api);\n          }\n          disableAll(api, count === 0);\n        }\n        updateButtonStates(api);\n      };\n      const initialState = currentSearchState.get();\n      const initialData = {\n        findtext: selectedText,\n        replacetext: '',\n        wholewords: initialState.wholeWord,\n        matchcase: initialState.matchCase,\n        inselection: initialState.inSelection\n      };\n      const getPanelItems = error => {\n        const items = [{\n          type: 'bar',\n          items: [{\n            type: 'input',\n            name: 'findtext',\n            placeholder: 'Find',\n            maximized: true,\n            inputMode: 'search'\n          }, {\n            type: 'button',\n            name: 'prev',\n            text: 'Previous',\n            icon: 'action-prev',\n            enabled: false,\n            borderless: true\n          }, {\n            type: 'button',\n            name: 'next',\n            text: 'Next',\n            icon: 'action-next',\n            enabled: false,\n            borderless: true\n          }]\n        }, {\n          type: 'input',\n          name: 'replacetext',\n          placeholder: 'Replace with',\n          inputMode: 'search'\n        }];\n        if (error) {\n          items.push({\n            type: 'alertbanner',\n            level: 'error',\n            text: 'Could not find the specified string.',\n            icon: 'warning'\n          });\n        }\n        return items;\n      };\n      const getDialogSpec = (showNoMatchesAlertBanner, initialData) => ({\n        title: 'Find and Replace',\n        size: 'normal',\n        body: {\n          type: 'panel',\n          items: getPanelItems(showNoMatchesAlertBanner)\n        },\n        buttons: [{\n          type: 'menu',\n          name: 'options',\n          icon: 'preferences',\n          tooltip: 'Preferences',\n          align: 'start',\n          items: [{\n            type: 'togglemenuitem',\n            name: 'matchcase',\n            text: 'Match case'\n          }, {\n            type: 'togglemenuitem',\n            name: 'wholewords',\n            text: 'Find whole words only'\n          }, {\n            type: 'togglemenuitem',\n            name: 'inselection',\n            text: 'Find in selection'\n          }]\n        }, {\n          type: 'custom',\n          name: 'find',\n          text: 'Find',\n          primary: true\n        }, {\n          type: 'custom',\n          name: 'replace',\n          text: 'Replace',\n          enabled: false\n        }, {\n          type: 'custom',\n          name: 'replaceall',\n          text: 'Replace all',\n          enabled: false\n        }],\n        initialData,\n        onChange: (api, details) => {\n          if (showNoMatchesAlertBanner) {\n            toggleNotFoundAlert(false, api);\n          }\n          if (details.name === 'findtext' && currentSearchState.get().count > 0) {\n            reset(api);\n          }\n        },\n        onAction: (api, details) => {\n          const data = api.getData();\n          switch (details.name) {\n            case 'find':\n              doFind(api);\n              break;\n            case 'replace':\n              if (!replace(editor, currentSearchState, data.replacetext)) {\n                reset(api);\n              } else {\n                updateButtonStates(api);\n              }\n              break;\n            case 'replaceall':\n              replace(editor, currentSearchState, data.replacetext, true, true);\n              reset(api);\n              break;\n            case 'prev':\n              prev(editor, currentSearchState);\n              updateButtonStates(api);\n              break;\n            case 'next':\n              next(editor, currentSearchState);\n              updateButtonStates(api);\n              break;\n            case 'matchcase':\n            case 'wholewords':\n            case 'inselection':\n              toggleNotFoundAlert(false, api);\n              updateSearchState(api);\n              reset(api);\n              break;\n          }\n          focusButtonIfRequired(api, details.name);\n        },\n        onSubmit: api => {\n          doFind(api);\n          focusButtonIfRequired(api, 'find');\n        },\n        onClose: () => {\n          editor.focus();\n          done(editor, currentSearchState);\n          editor.undoManager.add();\n        }\n      });\n      dialogApi.set(editor.windowManager.open(getDialogSpec(false, initialData), {\n        inline: 'toolbar'\n      }));\n    };\n\n    const register$1 = (editor, currentSearchState) => {\n      editor.addCommand('SearchReplace', () => {\n        open(editor, currentSearchState);\n      });\n    };\n\n    const showDialog = (editor, currentSearchState) => () => {\n      open(editor, currentSearchState);\n    };\n    const register = (editor, currentSearchState) => {\n      editor.ui.registry.addMenuItem('searchreplace', {\n        text: 'Find and replace...',\n        shortcut: 'Meta+F',\n        onAction: showDialog(editor, currentSearchState),\n        icon: 'search'\n      });\n      editor.ui.registry.addButton('searchreplace', {\n        tooltip: 'Find and replace',\n        onAction: showDialog(editor, currentSearchState),\n        icon: 'search'\n      });\n      editor.shortcuts.add('Meta+F', '', showDialog(editor, currentSearchState));\n    };\n\n    var Plugin = (() => {\n      global$3.add('searchreplace', editor => {\n        const currentSearchState = Cell({\n          index: -1,\n          count: 0,\n          text: '',\n          matchCase: false,\n          wholeWord: false,\n          inSelection: false\n        });\n        register$1(editor, currentSearchState);\n        register(editor, currentSearchState);\n        return get(editor, currentSearchState);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isArray = isType$1('array');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getContentContainer = dos => isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n\n    const body = () => getBody(SugarElement.fromDom(document));\n    const getBody = doc => {\n      const b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const prefixName = name => constant('alloy.' + name);\n    const attachedToDom = prefixName('system.attached');\n\n    const emit = (component, event) => {\n      dispatchWith(component, component.element, event, {});\n    };\n    const dispatchWith = (component, target, event, properties) => {\n      const data = {\n        target,\n        ...properties\n      };\n      component.getSystem().triggerEvent(event, target, data);\n    };\n\n    const keys = Object.keys;\n\n    const generate$1 = cases => {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate: generate$1\n    };\n\n    Adt.generate([{\n      bothErrors: ['error1', 'error2']\n    }, {\n      firstError: ['error1', 'value2']\n    }, {\n      secondError: ['value1', 'error2']\n    }, {\n      bothValues: ['value1', 'value2']\n    }]);\n\n    let unique = 0;\n    const generate = prefix => {\n      const date = new Date();\n      const time = date.getTime();\n      const random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    generate('alloy-premade');\n\n    const fireAttaching = component => {\n      const children = component.components();\n      each(children, fireAttaching);\n      emit(component, attachedToDom());\n    };\n\n    const attachSystem = (element, guiSystem) => {\n      attachSystemWith(element, guiSystem, append);\n    };\n    const attachSystemWith = (element, guiSystem, inserter) => {\n      inserter(element, guiSystem.element);\n      const children$1 = children(guiSystem.element);\n      each(children$1, child => {\n        guiSystem.getByDom(child).each(fireAttaching);\n      });\n    };\n\n    const getDocument = () => SugarElement.fromDom(document);\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.StyleSheetLoader');\n\n    var global = tinymce.util.Tools.resolve('tinymce.EditorManager');\n\n    const getSkinUrl = editor => {\n      const skin = editor.options.get('skin');\n      let skinUrl = editor.options.get('skin_url');\n      if (skin !== false) {\n        const skinName = skin ? skin : 'oxide';\n        if (skinUrl) {\n          skinUrl = editor.documentBaseURI.toAbsolute(skinUrl);\n        } else {\n          skinUrl = global.baseURL + '/skins/ui/' + skinName;\n        }\n      }\n      return skinUrl;\n    };\n    const isSkinDisabled = editor => editor.options.get('skin') === false;\n\n    const SN_TINYMCE_HOIST_TAG = 'sn-tinymce-hoist';\n    let skinLoaded = false;\n    let hoistEl;\n    const createHoistElement = () => {\n      if (!hoistEl) {\n        hoistEl = getDocument().dom.createElement(SN_TINYMCE_HOIST_TAG);\n        hoistEl.attachShadow({\n          mode: 'open'\n        });\n        append(body(), SugarElement.fromDom(hoistEl));\n      }\n    };\n    const loadSkin = editor => {\n      if (!skinLoaded && hoistEl) {\n        const {\n          shadowRoot\n        } = hoistEl;\n        if (!shadowRoot) return;\n        const styleSheetLoader = global$1(shadowRoot, {\n          contentCssCors: editor.getParam('content_css_cors'),\n          referrerPolicy: editor.getParam('referrer_policy', '', 'string')\n        });\n        const stylesheetUrl = \"\".concat(getSkinUrl(editor), \"/skin.min.css\");\n        if (isSkinDisabled(editor) === false) {\n          styleSheetLoader.load(stylesheetUrl);\n        }\n        skinLoaded = true;\n      }\n    };\n    const moveSink = (editor, parent) => {\n      if (!parent) return;\n      const root = SugarElement.fromDom(parent);\n      const uiRoot = getContentContainer(getRootNode(root));\n      const uiMothership = editor.theme.ui.getRootComponent();\n      if (!uiRoot.dom.contains(uiMothership.element.dom)) {\n        attachSystem(uiRoot, uiMothership);\n      }\n      const style = uiMothership.element.dom.style;\n      style.zIndex = '65536';\n      style.position = 'absolute';\n      style.width = '100%';\n    };\n    const hoistSink = editor => {\n      if (hoistEl) moveSink(editor, hoistEl.shadowRoot);\n    };\n    const restoreSink = editor => {\n      moveSink(editor, editor.getElement());\n    };\n    const setupHoist = editor => {\n      createHoistElement();\n      loadSkin(editor);\n    };\n    const removeHoist = editor => {\n      if (!hoistEl) return;\n      editor.theme.ui.getRootComponent().destroy();\n      const editors = global.get();\n      if (editors.length === 0 || editors.length === 1 && editors[0] === editor) {\n        hoistEl.remove();\n        hoistEl = null;\n        skinLoaded = false;\n      }\n    };\n\n    const isFullScreen = editor => {\n      return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen();\n    };\n    const areNotificationsOpen = editor => {\n      const notifications = editor.notificationManager.getNotifications();\n      return notifications === null || notifications === void 0 ? void 0 : notifications.length;\n    };\n    const hoistNotificationsOnFullScreen = editor => {\n      editor.on('FullscreenStateChanged', ({\n        state\n      }) => {\n        if (state && areNotificationsOpen(editor)) {\n          hoistSink(editor);\n        } else {\n          restoreSink(editor);\n        }\n      });\n      editor.on('BeforeOpenNotification', () => {\n        if (isFullScreen(editor)) {\n          hoistSink(editor);\n        }\n      });\n    };\n\n    const dismissPopups$1 = constant('dismiss.popups');\n\n    const debounce = (callback, time) => {\n      let timeout = null;\n      let debounced = false;\n      let stopped = false;\n      const func = function (...args) {\n        const context = this;\n        debounced = !!timeout;\n        return new Promise(resolve => {\n          const later = () => {\n            timeout = null;\n            if (debounced) {\n              callback.apply(context, args).then(data => !stopped && resolve(data));\n            }\n          };\n          stopped = false;\n          clearTimeout(timeout);\n          timeout = setTimeout(later, time);\n          if (!debounced) {\n            callback.apply(context, args).then(data => !stopped && resolve(data));\n          }\n        });\n      };\n      func.stop = () => {\n        stopped = true;\n        clearTimeout(timeout);\n      };\n      return func;\n    };\n\n    let count = 0;\n    const seed = () => {\n      const rnd = () => {\n        return Math.round(Math.random() * 4294967295).toString(36);\n      };\n      const now = new Date().getTime();\n      return 's' + now.toString(36) + rnd() + rnd() + rnd();\n    };\n    const uuid = prefix => {\n      return prefix + count++ + seed();\n    };\n\n    const EVENT_PREFIX = 'sn-tinymce-findAncestors';\n    const hostMap = new WeakMap();\n    const editorMap = new Map();\n    const findAncestors = element => new Promise(resolve => {\n      const eventName = uuid(EVENT_PREFIX);\n      const findListener = e => {\n        window.removeEventListener(eventName, findListener);\n        const path = e.composedPath();\n        resolve([...path.filter(n => n !== element && n.nodeType === Node.ELEMENT_NODE), document, window]);\n      };\n      window.addEventListener(eventName, findListener);\n      const event = new window.CustomEvent(eventName, {\n        bubbles: true,\n        composed: true,\n        cancelable: false\n      });\n      element.dispatchEvent(event);\n    });\n    const dismissPopups = editor => {\n      const channel = dismissPopups$1();\n      editor.theme.ui.getRootComponent().broadcastOn([channel], {\n        target: editor.theme.ui.getRootComponent().element\n      });\n      editor.dispatch('sn_popups_fix.dismiss_popups');\n    };\n    const scrollHandler = debounce(source => new Promise(() => {\n      for (const [editor, ancestors] of Array.from(editorMap.entries())) {\n        if (ancestors.indexOf(source) >= 0) {\n          dismissPopups(editor);\n          restoreSink(editor);\n          editor.nodeChanged();\n        }\n      }\n    }), 100);\n    const scrollListener = event => {\n      const [source] = event.composedPath();\n      scrollHandler(source);\n    };\n    const addWindowHandlers = editor => {\n      const windowManagerImpl = editor.windowManager;\n      const oldOpen = windowManagerImpl.open;\n      const oldAlert = windowManagerImpl.alert;\n      const oldConfirm = windowManagerImpl.confirm;\n      windowManagerImpl.open = (...args) => {\n        hoistSink(editor);\n        return oldOpen.apply(windowManagerImpl, args);\n      };\n      windowManagerImpl.alert = (message, callback, scope) => {\n        hoistSink(editor);\n        oldAlert.call(windowManagerImpl, message, () => {\n          restoreSink(editor);\n          callback === null || callback === void 0 ? void 0 : callback();\n        }, scope);\n      };\n      windowManagerImpl.confirm = (message, callback, scope) => {\n        hoistSink(editor);\n        oldConfirm.call(windowManagerImpl, message, state => {\n          restoreSink(editor);\n          callback === null || callback === void 0 ? void 0 : callback(state);\n        }, scope);\n      };\n      editor.on('CloseWindow', () => {\n        restoreSink(editor);\n      });\n    };\n    const getPopupButtons = editor => {\n      const tinymceContainer = editor.getContainer();\n      return [...tinymceContainer.querySelectorAll('button.tox-tbtn--select[aria-haspopup=\"true\"], div.tox-split-button[aria-haspopup=\"true\"], button.tox-mbtn.tox-mbtn--select[aria-haspopup=\"true\"]')];\n    };\n    const addPopupButtonClickListenersOnNodeChange = editor => {\n      const onNodeChange = () => {\n        const buttons = getPopupButtons(editor);\n        if (buttons.length !== 0) {\n          addPopupButtonClickListeners(editor);\n          editor.off('NodeChange', onNodeChange);\n        }\n      };\n      editor.on('NodeChange', onNodeChange);\n    };\n    const addPopupButtonClickListeners = editor => {\n      const buttons = getPopupButtons(editor);\n      for (const button of buttons) {\n        button.addEventListener('click', () => {\n          hoistSink(editor);\n        });\n      }\n      editor.on('click focus', () => {\n        restoreSink(editor);\n      });\n    };\n    const getHostsFromAncestors = ancestors => [...ancestors.map(el => el.shadowRoot).filter(identity), window];\n    const addOutsideScrollListener = editor => {\n      const target = editor.getContainer();\n      findAncestors(target).then(ancestors => {\n        const hosts = getHostsFromAncestors(ancestors);\n        for (const host of hosts) {\n          let editorSet = hostMap.get(host);\n          if (!editorSet) {\n            host.addEventListener('scroll', scrollListener, true);\n            editorSet = new Set();\n            hostMap.set(host, editorSet);\n          }\n          editorSet.add(editor);\n        }\n        editorMap.set(editor, ancestors);\n      });\n    };\n    const removeOutsideScrollListener = editor => {\n      const ancestors = editorMap.get(editor);\n      if (!ancestors) return;\n      const hosts = getHostsFromAncestors(ancestors);\n      for (const host of hosts) {\n        const editorSet = hostMap.get(host);\n        editorSet === null || editorSet === void 0 ? void 0 : editorSet.delete(editor);\n        if (!editorSet || editorSet.size === 0) {\n          host.removeEventListener('scroll', scrollListener, true);\n          hostMap.delete(host);\n        }\n      }\n      editorMap.delete(editor);\n    };\n\n    var Plugin = (() => {\n      global$2.add('sn_popups_fix', editor => {\n        editor.on('init', () => {\n          setupHoist(editor);\n          addPopupButtonClickListenersOnNodeChange(editor);\n          addOutsideScrollListener(editor);\n          addWindowHandlers(editor);\n          hoistNotificationsOnFullScreen(editor);\n        });\n        editor.on('remove', () => {\n          removeHoist(editor);\n          removeOutsideScrollListener(editor);\n        });\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$1 = t => a => t === a;\n    const isString = isType$1('string');\n    const isArray = isType$1('array');\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$1(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const call = f => {\n      f();\n    };\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each$1 = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each$1(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter$1 = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const mapToArray = (obj, f) => {\n      const r = [];\n      each$1(obj, (value, name) => {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    const values = obj => {\n      return mapToArray(obj, identity);\n    };\n    const size = obj => {\n      return keys(obj).length;\n    };\n    const get$4 = (obj, key) => {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    const isEmpty$1 = r => {\n      for (const x in r) {\n        if (hasOwnProperty.call(r, x)) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const range = (num, f) => {\n      const r = [];\n      for (let i = 0; i < num; i++) {\n        r.push(f(i));\n      }\n      return r;\n    };\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const partition = (xs, pred) => {\n      const pass = [];\n      const fail = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        const arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass,\n        fail\n      };\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldr = (xs, f, acc) => {\n      eachr(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const foldl = (xs, f, acc) => {\n      each(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten$1 = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten$1(map(xs, f));\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const mapToObject = (xs, f) => {\n      const r = {};\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    const get$3 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$3(xs, 0);\n    const last = xs => get$3(xs, xs.length - 1);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint\n    };\n\n    const is$2 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all$1 = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const is$1 = is$2;\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children$3 = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const child$3 = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child$3(element, 0);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    var ClosestOrAncestor = ((is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    });\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$2 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$1, scope, predicate, isRoot);\n    };\n    const child$2 = (scope, predicate) => {\n      const pred = node => predicate(SugarElement.fromDom(node));\n      const result = find(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is$2(e, selector), isRoot);\n    const child$1 = (scope, selector) => child$2(scope, e => is$2(e, selector));\n    const descendant = (scope, selector) => one(selector, scope);\n    const closest$1 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$2(element, selector);\n      return ClosestOrAncestor(is, ancestor, scope, selector, isRoot);\n    };\n\n    const closest = target => closest$1(target, '[contenteditable]');\n    const isEditable = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest(element).fold(constant(assumeEditable), editable => getRaw$1(editable) === 'true');\n      }\n    };\n    const getRaw$1 = element => element.dom.contentEditable;\n\n    const getNodeName = elm => elm.nodeName.toLowerCase();\n    const getBody = editor => SugarElement.fromDom(editor.getBody());\n    const getIsRoot = editor => element => eq(element, getBody(editor));\n    const removePxSuffix = size => size ? size.replace(/px$/, '') : '';\n    const addPxSuffix = size => /^\\d+(\\.\\d+)?$/.test(size) ? size + 'px' : size;\n    const getSelectionStart = editor => SugarElement.fromDom(editor.selection.getStart());\n    const getSelectionEnd = editor => SugarElement.fromDom(editor.selection.getEnd());\n    const isInEditableContext = cell => closest$2(cell, isTag('table')).forall(isEditable);\n\n    const children$2 = (scope, predicate) => filter(children$3(scope), predicate);\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each(children$3(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    const children$1 = (scope, selector) => children$2(scope, e => is$2(e, selector));\n    const descendants = (scope, selector) => all$1(selector, scope);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$2 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll = (element, attrs) => {\n      const dom = element.dom;\n      each$1(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const get$2 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$2(element, key));\n    const remove$2 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const clone = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    const flatten = oot => oot.bind(identity);\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const removeFromStart = (str, numChars) => {\n      return str.substring(numChars);\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const removeLeading = (str, prefix) => {\n      return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const isEmpty = s => !isNotEmpty(s);\n    const toInt = (value, radix = 10) => {\n      const num = parseInt(value, radix);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n    const toFloat = value => {\n      const num = parseFloat(value);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$1 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const get$1 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const remove$1 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$2(element, 'style');\n      }\n    };\n\n    const getAttrValue = (cell, name, fallback = 0) => getOpt(cell, name).map(value => parseInt(value, 10)).getOr(fallback);\n\n    const firstLayer = (scope, selector) => {\n      return filterFirstLayer(scope, selector, always);\n    };\n    const filterFirstLayer = (scope, selector, predicate) => {\n      return bind(children$3(scope), x => {\n        if (is$2(x, selector)) {\n          return predicate(x) ? [x] : [];\n        } else {\n          return filterFirstLayer(x, selector, predicate);\n        }\n      });\n    };\n\n    const validSectionList = ['tfoot', 'thead', 'tbody', 'colgroup'];\n    const isValidSection = parentName => contains(validSectionList, parentName);\n    const grid = (rows, columns) => ({\n      rows,\n      columns\n    });\n    const detail = (element, rowspan, colspan) => ({\n      element,\n      rowspan,\n      colspan\n    });\n    const extended = (element, rowspan, colspan, row, column, isLocked) => ({\n      element,\n      rowspan,\n      colspan,\n      row,\n      column,\n      isLocked\n    });\n    const rowdetail = (element, cells, section) => ({\n      element,\n      cells,\n      section\n    });\n    const bounds = (startRow, startCol, finishRow, finishCol) => ({\n      startRow,\n      startCol,\n      finishRow,\n      finishCol\n    });\n    const columnext = (element, colspan, column) => ({\n      element,\n      colspan,\n      column\n    });\n    const colgroup = (element, columns) => ({\n      element,\n      columns\n    });\n\n    const lookup = (tags, element, isRoot = never) => {\n      if (isRoot(element)) {\n        return Optional.none();\n      }\n      if (contains(tags, name(element))) {\n        return Optional.some(element);\n      }\n      const isRootOrUpperTable = elm => is$2(elm, 'table') || isRoot(elm);\n      return ancestor(element, tags.join(','), isRootOrUpperTable);\n    };\n    const cell = (element, isRoot) => lookup(['td', 'th'], element, isRoot);\n    const cells = ancestor => firstLayer(ancestor, 'th,td');\n    const columns = ancestor => {\n      if (is$2(ancestor, 'colgroup')) {\n        return children$1(ancestor, 'col');\n      } else {\n        return bind(columnGroups(ancestor), columnGroup => children$1(columnGroup, 'col'));\n      }\n    };\n    const table = (element, isRoot) => closest$1(element, 'table', isRoot);\n    const rows = ancestor => firstLayer(ancestor, 'tr');\n    const columnGroups = ancestor => table(ancestor).fold(constant([]), table => children$1(table, 'colgroup'));\n\n    const fromRowsOrColGroups = (elems, getSection) => map(elems, row => {\n      if (name(row) === 'colgroup') {\n        const cells = map(columns(row), column => {\n          const colspan = getAttrValue(column, 'span', 1);\n          return detail(column, 1, colspan);\n        });\n        return rowdetail(row, cells, 'colgroup');\n      } else {\n        const cells$1 = map(cells(row), cell => {\n          const rowspan = getAttrValue(cell, 'rowspan', 1);\n          const colspan = getAttrValue(cell, 'colspan', 1);\n          return detail(cell, rowspan, colspan);\n        });\n        return rowdetail(row, cells$1, getSection(row));\n      }\n    });\n    const getParentSection = group => parent(group).map(parent => {\n      const parentName = name(parent);\n      return isValidSection(parentName) ? parentName : 'tbody';\n    }).getOr('tbody');\n    const fromTable$1 = table => {\n      const rows$1 = rows(table);\n      const columnGroups$1 = columnGroups(table);\n      const elems = [...columnGroups$1, ...rows$1];\n      return fromRowsOrColGroups(elems, getParentSection);\n    };\n\n    const LOCKED_COL_ATTR = 'data-snooker-locked-cols';\n    const getLockedColumnsFromTable = table => getOpt(table, LOCKED_COL_ATTR).bind(lockedColStr => Optional.from(lockedColStr.match(/\\d+/g))).map(lockedCols => mapToObject(lockedCols, always));\n\n    const key = (row, column) => {\n      return row + ',' + column;\n    };\n    const getAt = (warehouse, row, column) => Optional.from(warehouse.access[key(row, column)]);\n    const findItem = (warehouse, item, comparator) => {\n      const filtered = filterItems(warehouse, detail => {\n        return comparator(item, detail.element);\n      });\n      return filtered.length > 0 ? Optional.some(filtered[0]) : Optional.none();\n    };\n    const filterItems = (warehouse, predicate) => {\n      const all = bind(warehouse.all, r => {\n        return r.cells;\n      });\n      return filter(all, predicate);\n    };\n    const generateColumns = rowData => {\n      const columnsGroup = {};\n      let index = 0;\n      each(rowData.cells, column => {\n        const colspan = column.colspan;\n        range(colspan, columnIndex => {\n          const colIndex = index + columnIndex;\n          columnsGroup[colIndex] = columnext(column.element, colspan, colIndex);\n        });\n        index += colspan;\n      });\n      return columnsGroup;\n    };\n    const generate$1 = list => {\n      const access = {};\n      const cells = [];\n      const tableOpt = head(list).map(rowData => rowData.element).bind(table);\n      const lockedColumns = tableOpt.bind(getLockedColumnsFromTable).getOr({});\n      let maxRows = 0;\n      let maxColumns = 0;\n      let rowCount = 0;\n      const {\n        pass: colgroupRows,\n        fail: rows\n      } = partition(list, rowData => rowData.section === 'colgroup');\n      each(rows, rowData => {\n        const currentRow = [];\n        each(rowData.cells, rowCell => {\n          let start = 0;\n          while (access[key(rowCount, start)] !== undefined) {\n            start++;\n          }\n          const isLocked = hasNonNullableKey(lockedColumns, start.toString());\n          const current = extended(rowCell.element, rowCell.rowspan, rowCell.colspan, rowCount, start, isLocked);\n          for (let occupiedColumnPosition = 0; occupiedColumnPosition < rowCell.colspan; occupiedColumnPosition++) {\n            for (let occupiedRowPosition = 0; occupiedRowPosition < rowCell.rowspan; occupiedRowPosition++) {\n              const rowPosition = rowCount + occupiedRowPosition;\n              const columnPosition = start + occupiedColumnPosition;\n              const newpos = key(rowPosition, columnPosition);\n              access[newpos] = current;\n              maxColumns = Math.max(maxColumns, columnPosition + 1);\n            }\n          }\n          currentRow.push(current);\n        });\n        maxRows++;\n        cells.push(rowdetail(rowData.element, currentRow, rowData.section));\n        rowCount++;\n      });\n      const {\n        columns,\n        colgroups\n      } = last(colgroupRows).map(rowData => {\n        const columns = generateColumns(rowData);\n        const colgroup$1 = colgroup(rowData.element, values(columns));\n        return {\n          colgroups: [colgroup$1],\n          columns\n        };\n      }).getOrThunk(() => ({\n        colgroups: [],\n        columns: {}\n      }));\n      const grid$1 = grid(maxRows, maxColumns);\n      return {\n        grid: grid$1,\n        access,\n        all: cells,\n        columns,\n        colgroups\n      };\n    };\n    const fromTable = table => {\n      const list = fromTable$1(table);\n      return generate$1(list);\n    };\n    const justCells = warehouse => bind(warehouse.all, w => w.cells);\n    const justColumns = warehouse => values(warehouse.columns);\n    const hasColumns = warehouse => keys(warehouse.columns).length > 0;\n    const getColumnAt = (warehouse, columnIndex) => Optional.from(warehouse.columns[columnIndex]);\n    const Warehouse = {\n      fromTable,\n      generate: generate$1,\n      getAt,\n      findItem,\n      filterItems,\n      justCells,\n      justColumns,\n      hasColumns,\n      getColumnAt\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const getTDTHOverallStyle = (dom, elm, name) => {\n      const cells = dom.select('td,th', elm);\n      let firstChildStyle;\n      for (let i = 0; i < cells.length; i++) {\n        const currentStyle = dom.getStyle(cells[i], name);\n        if (isUndefined(firstChildStyle)) {\n          firstChildStyle = currentStyle;\n        }\n        if (firstChildStyle !== currentStyle) {\n          return '';\n        }\n      }\n      return firstChildStyle;\n    };\n    const setAlign = (editor, elm, name) => {\n      global$2.each('left center right'.split(' '), align => {\n        if (align !== name) {\n          editor.formatter.remove('align' + align, {}, elm);\n        }\n      });\n      if (name) {\n        editor.formatter.apply('align' + name, {}, elm);\n      }\n    };\n    const setVAlign = (editor, elm, name) => {\n      global$2.each('top middle bottom'.split(' '), align => {\n        if (align !== name) {\n          editor.formatter.remove('valign' + align, {}, elm);\n        }\n      });\n      if (name) {\n        editor.formatter.apply('valign' + name, {}, elm);\n      }\n    };\n\n    const fireTableModified = (editor, table, data) => {\n      editor.dispatch('TableModified', {\n        ...data,\n        table\n      });\n    };\n\n    const toNumber = (px, fallback) => toFloat(px).getOr(fallback);\n    const getProp = (element, name, fallback) => toNumber(get$1(element, name), fallback);\n    const calcContentBoxSize = (element, size, upper, lower) => {\n      const paddingUpper = getProp(element, \"padding-\".concat(upper), 0);\n      const paddingLower = getProp(element, \"padding-\".concat(lower), 0);\n      const borderUpper = getProp(element, \"border-\".concat(upper, \"-width\"), 0);\n      const borderLower = getProp(element, \"border-\".concat(lower, \"-width\"), 0);\n      return size - paddingUpper - paddingLower - borderUpper - borderLower;\n    };\n    const getCalculatedWidth = (element, boxSizing) => {\n      const dom = element.dom;\n      const width = dom.getBoundingClientRect().width || dom.offsetWidth;\n      return boxSizing === 'border-box' ? width : calcContentBoxSize(element, width, 'left', 'right');\n    };\n    const getInnerWidth = element => getCalculatedWidth(element, 'content-box');\n\n    const getInner = getInnerWidth;\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const defaultTableToolbar = 'tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol';\n    const defaultCellBorderWidths = range(5, i => {\n      const size = \"\".concat(i + 1, \"px\");\n      return {\n        title: size,\n        value: size\n      };\n    });\n    const defaultCellBorderStyles = map(['Solid', 'Dotted', 'Dashed', 'Double', 'Groove', 'Ridge', 'Inset', 'Outset', 'None', 'Hidden'], type => {\n      return {\n        title: type,\n        value: type.toLowerCase()\n      };\n    });\n    const defaultWidth = '100%';\n    const getPixelForcedWidth = editor => {\n      var _a;\n      const dom = editor.dom;\n      const parentBlock = (_a = dom.getParent(editor.selection.getStart(), dom.isBlock)) !== null && _a !== void 0 ? _a : editor.getBody();\n      return getInner(SugarElement.fromDom(parentBlock)) + 'px';\n    };\n    const determineDefaultStyles = (editor, defaultStyles) => {\n      if (isResponsiveForced(editor) || !shouldStyleWithCss(editor)) {\n        return defaultStyles;\n      } else if (isPixelsForced(editor)) {\n        return {\n          ...defaultStyles,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultStyles,\n          width: defaultWidth\n        };\n      }\n    };\n    const determineDefaultAttributes = (editor, defaultAttributes) => {\n      if (isResponsiveForced(editor) || shouldStyleWithCss(editor)) {\n        return defaultAttributes;\n      } else if (isPixelsForced(editor)) {\n        return {\n          ...defaultAttributes,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultAttributes,\n          width: defaultWidth\n        };\n      }\n    };\n    const option = name => editor => editor.options.get(name);\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('table_border_widths', {\n        processor: 'object[]',\n        default: defaultCellBorderWidths\n      });\n      registerOption('table_border_styles', {\n        processor: 'object[]',\n        default: defaultCellBorderStyles\n      });\n      registerOption('table_cell_advtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_row_advtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_advtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_appearance_options', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_grid', {\n        processor: 'boolean',\n        default: !global$1.deviceType.isTouch()\n      });\n      registerOption('table_cell_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_row_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_toolbar', {\n        processor: 'string',\n        default: defaultTableToolbar\n      });\n      registerOption('table_background_color_map', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_border_color_map', {\n        processor: 'object[]',\n        default: []\n      });\n    };\n    const getTableSizingMode = option('table_sizing_mode');\n    const getTableBorderWidths = option('table_border_widths');\n    const getTableBorderStyles = option('table_border_styles');\n    const hasAdvancedCellTab = option('table_cell_advtab');\n    const hasAdvancedRowTab = option('table_row_advtab');\n    const hasAdvancedTableTab = option('table_advtab');\n    const hasAppearanceOptions = option('table_appearance_options');\n    const hasTableGrid = option('table_grid');\n    const shouldStyleWithCss = option('table_style_by_css');\n    const getCellClassList = option('table_cell_class_list');\n    const getRowClassList = option('table_row_class_list');\n    const getTableClassList = option('table_class_list');\n    const getToolbar = option('table_toolbar');\n    const getTableBackgroundColorMap = option('table_background_color_map');\n    const getTableBorderColorMap = option('table_border_color_map');\n    const isPixelsForced = editor => getTableSizingMode(editor) === 'fixed';\n    const isResponsiveForced = editor => getTableSizingMode(editor) === 'responsive';\n    const getDefaultStyles = editor => {\n      const options = editor.options;\n      const defaultStyles = options.get('table_default_styles');\n      return options.isSet('table_default_styles') ? defaultStyles : determineDefaultStyles(editor, defaultStyles);\n    };\n    const getDefaultAttributes = editor => {\n      const options = editor.options;\n      const defaultAttributes = options.get('table_default_attributes');\n      return options.isSet('table_default_attributes') ? defaultAttributes : determineDefaultAttributes(editor, defaultAttributes);\n    };\n\n    const isWithin = (bounds, detail) => {\n      return detail.column >= bounds.startCol && detail.column + detail.colspan - 1 <= bounds.finishCol && detail.row >= bounds.startRow && detail.row + detail.rowspan - 1 <= bounds.finishRow;\n    };\n    const isRectangular = (warehouse, bounds) => {\n      let isRect = true;\n      const detailIsWithin = curry(isWithin, bounds);\n      for (let i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (let j = bounds.startCol; j <= bounds.finishCol; j++) {\n          isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);\n        }\n      }\n      return isRect ? Optional.some(bounds) : Optional.none();\n    };\n\n    const getBounds = (detailA, detailB) => {\n      return bounds(Math.min(detailA.row, detailB.row), Math.min(detailA.column, detailB.column), Math.max(detailA.row + detailA.rowspan - 1, detailB.row + detailB.rowspan - 1), Math.max(detailA.column + detailA.colspan - 1, detailB.column + detailB.colspan - 1));\n    };\n    const getAnyBox = (warehouse, startCell, finishCell) => {\n      const startCoords = Warehouse.findItem(warehouse, startCell, eq);\n      const finishCoords = Warehouse.findItem(warehouse, finishCell, eq);\n      return startCoords.bind(sc => {\n        return finishCoords.map(fc => {\n          return getBounds(sc, fc);\n        });\n      });\n    };\n    const getBox$1 = (warehouse, startCell, finishCell) => {\n      return getAnyBox(warehouse, startCell, finishCell).bind(bounds => {\n        return isRectangular(warehouse, bounds);\n      });\n    };\n\n    const getBox = (table, first, last) => {\n      const warehouse = getWarehouse(table);\n      return getBox$1(warehouse, first, last);\n    };\n    const getWarehouse = Warehouse.fromTable;\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$1 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap = (element, wrapper) => {\n      before(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after = (marker, elements) => {\n      each(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$1(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children = children$3(wrapper);\n      if (children.length > 0) {\n        after(wrapper, children);\n      }\n      remove(wrapper);\n    };\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText, 'text');\n    const get = element => api.get(element);\n    const set = (element, value) => api.set(element, value);\n\n    var TagBoundaries = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'li', 'table', 'thead', 'tbody', 'tfoot', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n\n    var DomUniverse = (() => {\n      const clone$1 = element => {\n        return SugarElement.fromDom(element.dom.cloneNode(false));\n      };\n      const document = element => documentOrOwner(element).dom;\n      const isBoundary = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        if (name(element) === 'body') {\n          return true;\n        }\n        return contains(TagBoundaries, name(element));\n      };\n      const isEmptyTag = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        return contains(['br', 'img', 'hr', 'input'], name(element));\n      };\n      const isNonEditable = element => isElement(element) && get$2(element, 'contenteditable') === 'false';\n      const comparePosition = (element, other) => {\n        return element.dom.compareDocumentPosition(other.dom);\n      };\n      const copyAttributesTo = (source, destination) => {\n        const as = clone(source);\n        setAll(destination, as);\n      };\n      const isSpecial = element => {\n        const tag = name(element);\n        return contains(['script', 'noscript', 'iframe', 'noframes', 'noembed', 'title', 'style', 'textarea', 'xmp'], tag);\n      };\n      const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none();\n      return {\n        up: constant({\n          selector: ancestor,\n          closest: closest$1,\n          predicate: ancestor$1,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants,\n          predicate: descendants$1\n        }),\n        styles: constant({\n          get: get$1,\n          getRaw: getRaw,\n          set: set$1,\n          remove: remove$1\n        }),\n        attrs: constant({\n          get: get$2,\n          set: set$2,\n          remove: remove$2,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before,\n          after: after$1,\n          afterAll: after,\n          append: append$1,\n          appendAll: append,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove\n        }),\n        create: constant({\n          nu: SugarElement.fromTag,\n          clone: clone$1,\n          text: SugarElement.fromText\n        }),\n        query: constant({\n          comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children$3,\n          name: name,\n          parent: parent,\n          document,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          isSpecial,\n          getLanguage,\n          getText: get,\n          setText: set,\n          isBoundary,\n          isEmptyTag,\n          isNonEditable\n        }),\n        eq: eq,\n        is: is$1\n      };\n    });\n\n    const all = (universe, look, elements, f) => {\n      const head = elements[0];\n      const tail = elements.slice(1);\n      return f(universe, look, head, tail);\n    };\n    const oneAll = (universe, look, elements) => {\n      return elements.length > 0 ? all(universe, look, elements, unsafeOne) : Optional.none();\n    };\n    const unsafeOne = (universe, look, head, tail) => {\n      const start = look(universe, head);\n      return foldr(tail, (b, a) => {\n        const current = look(universe, a);\n        return commonElement(universe, b, current);\n      }, start);\n    };\n    const commonElement = (universe, start, end) => {\n      return start.bind(s => {\n        return end.filter(curry(universe.eq, s));\n      });\n    };\n\n    const sharedOne$1 = oneAll;\n\n    const universe = DomUniverse();\n    const sharedOne = (look, elements) => {\n      return sharedOne$1(universe, (_universe, element) => {\n        return look(element);\n      }, elements);\n    };\n\n    const lookupTable = container => {\n      return ancestor(container, 'table');\n    };\n    const retrieve$1 = (container, selector) => {\n      const sels = descendants(container, selector);\n      return sels.length > 0 ? Optional.some(sels) : Optional.none();\n    };\n    const getEdges = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return descendant(container, firstSelectedSelector).bind(first => {\n        return descendant(container, lastSelectedSelector).bind(last => {\n          return sharedOne(lookupTable, [first, last]).map(table => {\n            return {\n              first,\n              last,\n              table\n            };\n          });\n        });\n      });\n    };\n\n    const retrieve = (container, selector) => {\n      return retrieve$1(container, selector);\n    };\n    const retrieveBox = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(edges => {\n        const isRoot = ancestor => {\n          return eq(container, ancestor);\n        };\n        const sectionSelector = 'thead,tfoot,tbody,table';\n        const firstAncestor = ancestor(edges.first, sectionSelector, isRoot);\n        const lastAncestor = ancestor(edges.last, sectionSelector, isRoot);\n        return firstAncestor.bind(fA => {\n          return lastAncestor.bind(lA => {\n            return eq(fA, lA) ? getBox(edges.table, edges.first, edges.last) : Optional.none();\n          });\n        });\n      });\n    };\n\n    const fromDom = nodes => map(nodes, SugarElement.fromDom);\n\n    const strSelected = 'data-mce-selected';\n    const strSelectedSelector = 'td[' + strSelected + '],th[' + strSelected + ']';\n    const strFirstSelected = 'data-mce-first-selected';\n    const strFirstSelectedSelector = 'td[' + strFirstSelected + '],th[' + strFirstSelected + ']';\n    const strLastSelected = 'data-mce-last-selected';\n    const strLastSelectedSelector = 'td[' + strLastSelected + '],th[' + strLastSelected + ']';\n    const ephemera = {\n      selected: strSelected,\n      selectedSelector: strSelectedSelector,\n      firstSelected: strFirstSelected,\n      firstSelectedSelector: strFirstSelectedSelector,\n      lastSelected: strLastSelected,\n      lastSelectedSelector: strLastSelectedSelector\n    };\n\n    const getSelectionCellFallback = element => table(element).bind(table => retrieve(table, ephemera.firstSelectedSelector)).fold(constant(element), cells => cells[0]);\n    const getSelectionFromSelector = selector => (initCell, isRoot) => {\n      const cellName = name(initCell);\n      const cell = cellName === 'col' || cellName === 'colgroup' ? getSelectionCellFallback(initCell) : initCell;\n      return closest$1(cell, selector, isRoot);\n    };\n    const getSelectionCellOrCaption = getSelectionFromSelector('th,td,caption');\n    const getSelectionCell = getSelectionFromSelector('th,td');\n    const getCellsFromSelection = editor => fromDom(editor.model.table.getSelectedCells());\n    const getRowsFromSelection = (selected, selector) => {\n      const cellOpt = getSelectionCell(selected);\n      const rowsOpt = cellOpt.bind(cell => table(cell)).map(table => rows(table));\n      return lift2(cellOpt, rowsOpt, (cell, rows) => filter(rows, row => exists(fromDom(row.dom.cells), rowCell => get$2(rowCell, selector) === '1' || eq(rowCell, cell)))).getOr([]);\n    };\n\n    const verticalAlignValues = [{\n      text: 'None',\n      value: ''\n    }, {\n      text: 'Top',\n      value: 'top'\n    }, {\n      text: 'Middle',\n      value: 'middle'\n    }, {\n      text: 'Bottom',\n      value: 'bottom'\n    }];\n\n    const hexColour = value => ({\n      value: normalizeHex(value)\n    });\n    const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n    const longformRegex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\n    const isHexString = hex => shorthandRegex.test(hex) || longformRegex.test(hex);\n    const normalizeHex = hex => removeLeading(hex, '#').toUpperCase();\n    const fromString$1 = hex => isHexString(hex) ? Optional.some({\n      value: normalizeHex(hex)\n    }) : Optional.none();\n    const toHex = component => {\n      const hex = component.toString(16);\n      return (hex.length === 1 ? '0' + hex : hex).toUpperCase();\n    };\n    const fromRgba = rgbaColour => {\n      const value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue);\n      return hexColour(value);\n    };\n\n    const rgbRegex = /^\\s*rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)\\s*$/i;\n    const rgbaRegex = /^\\s*rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?(?:\\.\\d+)?)\\s*\\)\\s*$/i;\n    const rgbaColour = (red, green, blue, alpha) => ({\n      red,\n      green,\n      blue,\n      alpha\n    });\n    const fromStringValues = (red, green, blue, alpha) => {\n      const r = parseInt(red, 10);\n      const g = parseInt(green, 10);\n      const b = parseInt(blue, 10);\n      const a = parseFloat(alpha);\n      return rgbaColour(r, g, b, a);\n    };\n    const fromString = rgbaString => {\n      if (rgbaString === 'transparent') {\n        return Optional.some(rgbaColour(0, 0, 0, 0));\n      }\n      const rgbMatch = rgbRegex.exec(rgbaString);\n      if (rgbMatch !== null) {\n        return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1'));\n      }\n      const rgbaMatch = rgbaRegex.exec(rgbaString);\n      if (rgbaMatch !== null) {\n        return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4]));\n      }\n      return Optional.none();\n    };\n\n    const anyToHex = color => fromString$1(color).orThunk(() => fromString(color).map(fromRgba)).getOrThunk(() => {\n      const canvas = document.createElement('canvas');\n      canvas.height = 1;\n      canvas.width = 1;\n      const canvasContext = canvas.getContext('2d');\n      canvasContext.clearRect(0, 0, canvas.width, canvas.height);\n      canvasContext.fillStyle = '#FFFFFF';\n      canvasContext.fillStyle = color;\n      canvasContext.fillRect(0, 0, 1, 1);\n      const rgba = canvasContext.getImageData(0, 0, 1, 1).data;\n      const r = rgba[0];\n      const g = rgba[1];\n      const b = rgba[2];\n      const a = rgba[3];\n      return fromRgba(rgbaColour(r, g, b, a));\n    });\n    const rgbaToHexString = color => fromString(color).map(fromRgba).map(h => '#' + h.value).getOr(color);\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const unbindable = () => singleton(s => s.unbind());\n\n    const onSetupToggle = (editor, formatName, formatValue) => {\n      return api => {\n        const boundCallback = unbindable();\n        const isNone = isEmpty(formatValue);\n        const init = () => {\n          const selectedCells = getCellsFromSelection(editor);\n          const checkNode = cell => editor.formatter.match(formatName, {\n            value: formatValue\n          }, cell.dom, isNone);\n          if (isNone) {\n            api.setActive(!exists(selectedCells, checkNode));\n            boundCallback.set(editor.formatter.formatChanged(formatName, match => api.setActive(!match), true));\n          } else {\n            api.setActive(forall(selectedCells, checkNode));\n            boundCallback.set(editor.formatter.formatChanged(formatName, api.setActive, false, {\n              value: formatValue\n            }));\n          }\n        };\n        editor.initialized ? init() : editor.on('init', init);\n        return boundCallback.clear;\n      };\n    };\n    const isListGroup = item => hasNonNullableKey(item, 'menu');\n    const buildListItems = items => map(items, item => {\n      const text = item.text || item.title || '';\n      if (isListGroup(item)) {\n        return {\n          text,\n          items: buildListItems(item.menu)\n        };\n      } else {\n        return {\n          text,\n          value: item.value\n        };\n      }\n    });\n    const buildMenuItems = (editor, items, format, onAction) => map(items, item => {\n      const text = item.text || item.title;\n      if (isListGroup(item)) {\n        return {\n          type: 'nestedmenuitem',\n          text,\n          getSubmenuItems: () => buildMenuItems(editor, item.menu, format, onAction)\n        };\n      } else {\n        return {\n          text,\n          type: 'togglemenuitem',\n          onAction: () => onAction(item.value),\n          onSetup: onSetupToggle(editor, format, item.value)\n        };\n      }\n    });\n    const applyTableCellStyle = (editor, style) => value => {\n      editor.execCommand('mceTableApplyCellStyle', false, {\n        [style]: value\n      });\n    };\n    const filterNoneItem = list => bind(list, item => {\n      if (isListGroup(item)) {\n        return [{\n          ...item,\n          menu: filterNoneItem(item.menu)\n        }];\n      } else {\n        return isNotEmpty(item.value) ? [item] : [];\n      }\n    });\n    const generateMenuItemsCallback = (editor, items, format, onAction) => callback => callback(buildMenuItems(editor, items, format, onAction));\n    const buildColorMenu = (editor, colorList, style) => {\n      const colorMap = map(colorList, entry => ({\n        text: entry.title,\n        value: '#' + anyToHex(entry.value).value,\n        type: 'choiceitem'\n      }));\n      return [{\n        type: 'fancymenuitem',\n        fancytype: 'colorswatch',\n        initData: {\n          colors: colorMap.length > 0 ? colorMap : undefined,\n          allowCustomColors: false\n        },\n        onAction: data => {\n          const value = data.value === 'remove' ? '' : data.value;\n          editor.execCommand('mceTableApplyCellStyle', false, {\n            [style]: value\n          });\n        }\n      }];\n    };\n    const changeRowHeader = editor => () => {\n      const currentType = editor.queryCommandValue('mceTableRowType');\n      const newType = currentType === 'header' ? 'body' : 'header';\n      editor.execCommand('mceTableRowType', false, {\n        type: newType\n      });\n    };\n    const changeColumnHeader = editor => () => {\n      const currentType = editor.queryCommandValue('mceTableColType');\n      const newType = currentType === 'th' ? 'td' : 'th';\n      editor.execCommand('mceTableColType', false, {\n        type: newType\n      });\n    };\n\n    const getClassList$1 = editor => {\n      const classes = buildListItems(getCellClassList(editor));\n      if (classes.length > 0) {\n        return Optional.some({\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          items: classes\n        });\n      }\n      return Optional.none();\n    };\n    const children = [{\n      name: 'width',\n      type: 'input',\n      label: 'Width'\n    }, {\n      name: 'height',\n      type: 'input',\n      label: 'Height'\n    }, {\n      name: 'celltype',\n      type: 'listbox',\n      label: 'Cell type',\n      items: [{\n        text: 'Cell',\n        value: 'td'\n      }, {\n        text: 'Header cell',\n        value: 'th'\n      }]\n    }, {\n      name: 'scope',\n      type: 'listbox',\n      label: 'Scope',\n      items: [{\n        text: 'None',\n        value: ''\n      }, {\n        text: 'Row',\n        value: 'row'\n      }, {\n        text: 'Column',\n        value: 'col'\n      }, {\n        text: 'Row group',\n        value: 'rowgroup'\n      }, {\n        text: 'Column group',\n        value: 'colgroup'\n      }]\n    }, {\n      name: 'halign',\n      type: 'listbox',\n      label: 'Horizontal align',\n      items: [{\n        text: 'None',\n        value: ''\n      }, {\n        text: 'Left',\n        value: 'left'\n      }, {\n        text: 'Center',\n        value: 'center'\n      }, {\n        text: 'Right',\n        value: 'right'\n      }]\n    }, {\n      name: 'valign',\n      type: 'listbox',\n      label: 'Vertical align',\n      items: verticalAlignValues\n    }];\n    const getItems$2 = editor => children.concat(getClassList$1(editor).toArray());\n\n    const getAdvancedTab = (editor, dialogName) => {\n      const emptyBorderStyle = [{\n        text: 'Select...',\n        value: ''\n      }];\n      const advTabItems = [{\n        name: 'borderstyle',\n        type: 'listbox',\n        label: 'Border style',\n        items: emptyBorderStyle.concat(buildListItems(getTableBorderStyles(editor)))\n      }, {\n        name: 'bordercolor',\n        type: 'colorinput',\n        label: 'Border color'\n      }, {\n        name: 'backgroundcolor',\n        type: 'colorinput',\n        label: 'Background color'\n      }];\n      const borderWidth = {\n        name: 'borderwidth',\n        type: 'input',\n        label: 'Border width'\n      };\n      const items = dialogName === 'cell' ? [borderWidth].concat(advTabItems) : advTabItems;\n      return {\n        title: 'Advanced',\n        name: 'advanced',\n        items\n      };\n    };\n\n    const normal = (editor, element) => {\n      const dom = editor.dom;\n      const setAttrib = (attr, value) => {\n        dom.setAttrib(element, attr, value);\n      };\n      const setStyle = (prop, value) => {\n        dom.setStyle(element, prop, value);\n      };\n      const setFormat = (formatName, value) => {\n        if (value === '') {\n          editor.formatter.remove(formatName, {\n            value: null\n          }, element, true);\n        } else {\n          editor.formatter.apply(formatName, {\n            value\n          }, element);\n        }\n      };\n      return {\n        setAttrib,\n        setStyle,\n        setFormat\n      };\n    };\n    const DomModifier = {\n      normal\n    };\n\n    const isHeaderCell = isTag('th');\n    const getRowHeaderType = (isHeaderRow, isHeaderCells) => {\n      if (isHeaderRow && isHeaderCells) {\n        return 'sectionCells';\n      } else if (isHeaderRow) {\n        return 'section';\n      } else {\n        return 'cells';\n      }\n    };\n    const getRowType$1 = row => {\n      const isHeaderRow = row.section === 'thead';\n      const isHeaderCells = is(findCommonCellType(row.cells), 'th');\n      if (row.section === 'tfoot') {\n        return {\n          type: 'footer'\n        };\n      } else if (isHeaderRow || isHeaderCells) {\n        return {\n          type: 'header',\n          subType: getRowHeaderType(isHeaderRow, isHeaderCells)\n        };\n      } else {\n        return {\n          type: 'body'\n        };\n      }\n    };\n    const findCommonCellType = cells => {\n      const headerCells = filter(cells, cell => isHeaderCell(cell.element));\n      if (headerCells.length === 0) {\n        return Optional.some('td');\n      } else if (headerCells.length === cells.length) {\n        return Optional.some('th');\n      } else {\n        return Optional.none();\n      }\n    };\n    const findCommonRowType = rows => {\n      const rowTypes = map(rows, row => getRowType$1(row).type);\n      const hasHeader = contains(rowTypes, 'header');\n      const hasFooter = contains(rowTypes, 'footer');\n      if (!hasHeader && !hasFooter) {\n        return Optional.some('body');\n      } else {\n        const hasBody = contains(rowTypes, 'body');\n        if (hasHeader && !hasBody && !hasFooter) {\n          return Optional.some('header');\n        } else if (!hasHeader && !hasBody && hasFooter) {\n          return Optional.some('footer');\n        } else {\n          return Optional.none();\n        }\n      }\n    };\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const findInWarehouse = (warehouse, element) => findMap(warehouse.all, r => find(r.cells, e => eq(element, e.element)));\n    const extractCells = (warehouse, target, predicate) => {\n      const details = map(target.selection, cell$1 => {\n        return cell(cell$1).bind(lc => findInWarehouse(warehouse, lc)).filter(predicate);\n      });\n      const cells = cat(details);\n      return someIf(cells.length > 0, cells);\n    };\n    const onMergable = (_warehouse, target) => target.mergable;\n    const onUnmergable = (_warehouse, target) => target.unmergable;\n    const onCells = (warehouse, target) => extractCells(warehouse, target, always);\n    const isUnlockedTableCell = (warehouse, cell) => findInWarehouse(warehouse, cell).exists(detail => !detail.isLocked);\n    const allUnlocked = (warehouse, cells) => forall(cells, cell => isUnlockedTableCell(warehouse, cell));\n    const onUnlockedMergable = (warehouse, target) => onMergable(warehouse, target).filter(mergeable => allUnlocked(warehouse, mergeable.cells));\n    const onUnlockedUnmergable = (warehouse, target) => onUnmergable(warehouse, target).filter(cells => allUnlocked(warehouse, cells));\n\n    const generate = cases => {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate\n    };\n\n    const adt = Adt.generate([{\n      none: []\n    }, {\n      only: ['index']\n    }, {\n      left: ['index', 'next']\n    }, {\n      middle: ['prev', 'index', 'next']\n    }, {\n      right: ['prev', 'index']\n    }]);\n    ({\n      ...adt\n    });\n\n    const opGetRowsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minRowRange = selectedCells[0].row;\n        const maxRowRange = lastSelectedCell.row + lastSelectedCell.rowspan;\n        const selectedRows = house.all.slice(minRowRange, maxRowRange);\n        return findCommonRowType(selectedRows);\n      }).getOr('');\n    };\n    const getRowsType = opGetRowsType;\n\n    const rgbToHex = value => startsWith(value, 'rgb') ? rgbaToHexString(value) : value;\n    const extractAdvancedStyles = elm => {\n      const element = SugarElement.fromDom(elm);\n      return {\n        borderwidth: getRaw(element, 'border-width').getOr(''),\n        borderstyle: getRaw(element, 'border-style').getOr(''),\n        bordercolor: getRaw(element, 'border-color').map(rgbToHex).getOr(''),\n        backgroundcolor: getRaw(element, 'background-color').map(rgbToHex).getOr('')\n      };\n    };\n    const getSharedValues = data => {\n      const baseData = data[0];\n      const comparisonData = data.slice(1);\n      each(comparisonData, items => {\n        each(keys(baseData), key => {\n          each$1(items, (itemValue, itemKey) => {\n            const comparisonValue = baseData[key];\n            if (comparisonValue !== '' && key === itemKey) {\n              if (comparisonValue !== itemValue) {\n                baseData[key] = '';\n              }\n            }\n          });\n        });\n      });\n      return baseData;\n    };\n    const getAlignment = (formats, formatName, editor, elm) => find(formats, name => !isUndefined(editor.formatter.matchNode(elm, formatName + name))).getOr('');\n    const getHAlignment = curry(getAlignment, ['left', 'center', 'right'], 'align');\n    const getVAlignment = curry(getAlignment, ['top', 'middle', 'bottom'], 'valign');\n    const extractDataFromSettings = (editor, hasAdvTableTab) => {\n      const style = getDefaultStyles(editor);\n      const attrs = getDefaultAttributes(editor);\n      const extractAdvancedStyleData = () => ({\n        borderstyle: get$4(style, 'border-style').getOr(''),\n        bordercolor: rgbToHex(get$4(style, 'border-color').getOr('')),\n        backgroundcolor: rgbToHex(get$4(style, 'background-color').getOr(''))\n      });\n      const defaultData = {\n        height: '',\n        width: '100%',\n        cellspacing: '',\n        cellpadding: '',\n        caption: false,\n        class: '',\n        align: '',\n        border: ''\n      };\n      const getBorder = () => {\n        const borderWidth = style['border-width'];\n        if (shouldStyleWithCss(editor) && borderWidth) {\n          return {\n            border: borderWidth\n          };\n        }\n        return get$4(attrs, 'border').fold(() => ({}), border => ({\n          border\n        }));\n      };\n      const advStyle = hasAdvTableTab ? extractAdvancedStyleData() : {};\n      const getCellPaddingCellSpacing = () => {\n        const spacing = get$4(style, 'border-spacing').or(get$4(attrs, 'cellspacing')).fold(() => ({}), cellspacing => ({\n          cellspacing\n        }));\n        const padding = get$4(style, 'border-padding').or(get$4(attrs, 'cellpadding')).fold(() => ({}), cellpadding => ({\n          cellpadding\n        }));\n        return {\n          ...spacing,\n          ...padding\n        };\n      };\n      const data = {\n        ...defaultData,\n        ...style,\n        ...attrs,\n        ...advStyle,\n        ...getBorder(),\n        ...getCellPaddingCellSpacing()\n      };\n      return data;\n    };\n    const getRowType = elm => table(SugarElement.fromDom(elm)).map(table => {\n      const target = {\n        selection: fromDom(elm.cells)\n      };\n      return getRowsType(table, target);\n    }).getOr('');\n    const extractDataFromTableElement = (editor, elm, hasAdvTableTab) => {\n      const getBorder = (dom, elm) => {\n        const optBorderWidth = getRaw(SugarElement.fromDom(elm), 'border-width');\n        if (shouldStyleWithCss(editor) && optBorderWidth.isSome()) {\n          return optBorderWidth.getOr('');\n        }\n        return dom.getAttrib(elm, 'border') || getTDTHOverallStyle(editor.dom, elm, 'border-width') || getTDTHOverallStyle(editor.dom, elm, 'border') || '';\n      };\n      const dom = editor.dom;\n      const cellspacing = shouldStyleWithCss(editor) ? dom.getStyle(elm, 'border-spacing') || dom.getAttrib(elm, 'cellspacing') : dom.getAttrib(elm, 'cellspacing') || dom.getStyle(elm, 'border-spacing');\n      const cellpadding = shouldStyleWithCss(editor) ? getTDTHOverallStyle(dom, elm, 'padding') || dom.getAttrib(elm, 'cellpadding') : dom.getAttrib(elm, 'cellpadding') || getTDTHOverallStyle(dom, elm, 'padding');\n      return {\n        width: dom.getStyle(elm, 'width') || dom.getAttrib(elm, 'width'),\n        height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),\n        cellspacing: cellspacing !== null && cellspacing !== void 0 ? cellspacing : '',\n        cellpadding: cellpadding !== null && cellpadding !== void 0 ? cellpadding : '',\n        border: getBorder(dom, elm),\n        caption: !!dom.select('caption', elm)[0],\n        class: dom.getAttrib(elm, 'class', ''),\n        align: getHAlignment(editor, elm),\n        ...(hasAdvTableTab ? extractAdvancedStyles(elm) : {})\n      };\n    };\n    const extractDataFromRowElement = (editor, elm, hasAdvancedRowTab) => {\n      const dom = editor.dom;\n      return {\n        height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),\n        class: dom.getAttrib(elm, 'class', ''),\n        type: getRowType(elm),\n        align: getHAlignment(editor, elm),\n        ...(hasAdvancedRowTab ? extractAdvancedStyles(elm) : {})\n      };\n    };\n    const extractDataFromCellElement = (editor, cell, hasAdvancedCellTab, column) => {\n      const dom = editor.dom;\n      const colElm = column.getOr(cell);\n      const getStyle = (element, style) => dom.getStyle(element, style) || dom.getAttrib(element, style);\n      return {\n        width: getStyle(colElm, 'width'),\n        height: getStyle(cell, 'height'),\n        scope: dom.getAttrib(cell, 'scope'),\n        celltype: getNodeName(cell),\n        class: dom.getAttrib(cell, 'class', ''),\n        halign: getHAlignment(editor, cell),\n        valign: getVAlignment(editor, cell),\n        ...(hasAdvancedCellTab ? extractAdvancedStyles(cell) : {})\n      };\n    };\n\n    const getSelectedCells = (table, cells) => {\n      const warehouse = Warehouse.fromTable(table);\n      const allCells = Warehouse.justCells(warehouse);\n      const filtered = filter(allCells, cellA => exists(cells, cellB => eq(cellA.element, cellB)));\n      return map(filtered, cell => ({\n        element: cell.element.dom,\n        column: Warehouse.getColumnAt(warehouse, cell.column).map(col => col.element.dom)\n      }));\n    };\n    const updateSimpleProps$1 = (modifier, colModifier, data, shouldUpdate) => {\n      if (shouldUpdate('scope')) {\n        modifier.setAttrib('scope', data.scope);\n      }\n      if (shouldUpdate('class')) {\n        modifier.setAttrib('class', data.class);\n      }\n      if (shouldUpdate('height')) {\n        modifier.setStyle('height', addPxSuffix(data.height));\n      }\n      if (shouldUpdate('width')) {\n        colModifier.setStyle('width', addPxSuffix(data.width));\n      }\n    };\n    const updateAdvancedProps$1 = (modifier, data, shouldUpdate) => {\n      if (shouldUpdate('backgroundcolor')) {\n        modifier.setFormat('tablecellbackgroundcolor', data.backgroundcolor);\n      }\n      if (shouldUpdate('bordercolor')) {\n        modifier.setFormat('tablecellbordercolor', data.bordercolor);\n      }\n      if (shouldUpdate('borderstyle')) {\n        modifier.setFormat('tablecellborderstyle', data.borderstyle);\n      }\n      if (shouldUpdate('borderwidth')) {\n        modifier.setFormat('tablecellborderwidth', addPxSuffix(data.borderwidth));\n      }\n    };\n    const applyStyleData$1 = (editor, cells, data, wasChanged) => {\n      const isSingleCell = cells.length === 1;\n      each(cells, item => {\n        const cellElm = item.element;\n        const shouldOverrideCurrentValue = isSingleCell ? always : wasChanged;\n        const modifier = DomModifier.normal(editor, cellElm);\n        const colModifier = item.column.map(col => DomModifier.normal(editor, col)).getOr(modifier);\n        updateSimpleProps$1(modifier, colModifier, data, shouldOverrideCurrentValue);\n        if (hasAdvancedCellTab(editor)) {\n          updateAdvancedProps$1(modifier, data, shouldOverrideCurrentValue);\n        }\n        if (wasChanged('halign')) {\n          setAlign(editor, cellElm, data.halign);\n        }\n        if (wasChanged('valign')) {\n          setVAlign(editor, cellElm, data.valign);\n        }\n      });\n    };\n    const applyStructureData$1 = (editor, data) => {\n      editor.execCommand('mceTableCellType', false, {\n        type: data.celltype,\n        no_events: true\n      });\n    };\n    const applyCellData = (editor, cells, oldData, data) => {\n      const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);\n      if (size(modifiedData) > 0 && cells.length >= 1) {\n        table(cells[0]).each(table => {\n          const selectedCells = getSelectedCells(table, cells);\n          const styleModified = size(filter$1(modifiedData, (_value, key) => key !== 'scope' && key !== 'celltype')) > 0;\n          const structureModified = has(modifiedData, 'celltype');\n          if (styleModified || has(modifiedData, 'scope')) {\n            applyStyleData$1(editor, selectedCells, data, curry(has, modifiedData));\n          }\n          if (structureModified) {\n            applyStructureData$1(editor, data);\n          }\n          fireTableModified(editor, table.dom, {\n            structure: structureModified,\n            style: styleModified\n          });\n        });\n      }\n    };\n    const onSubmitCellForm = (editor, cells, oldData, api) => {\n      const data = api.getData();\n      api.close();\n      editor.undoManager.transact(() => {\n        applyCellData(editor, cells, oldData, data);\n        editor.focus();\n      });\n    };\n    const getData$1 = (editor, cells) => {\n      const cellsData = table(cells[0]).map(table => map(getSelectedCells(table, cells), item => extractDataFromCellElement(editor, item.element, hasAdvancedCellTab(editor), item.column)));\n      return getSharedValues(cellsData.getOrDie());\n    };\n    const open$2 = editor => {\n      const cells = getCellsFromSelection(editor);\n      if (cells.length === 0) {\n        return;\n      }\n      const data = getData$1(editor, cells);\n      const dialogTabPanel = {\n        type: 'tabpanel',\n        tabs: [{\n          title: 'General',\n          name: 'general',\n          items: getItems$2(editor)\n        }, getAdvancedTab(editor, 'cell')]\n      };\n      const dialogPanel = {\n        type: 'panel',\n        items: [{\n          type: 'grid',\n          columns: 2,\n          items: getItems$2(editor)\n        }]\n      };\n      editor.windowManager.open({\n        title: 'Cell Properties',\n        size: 'normal',\n        body: hasAdvancedCellTab(editor) ? dialogTabPanel : dialogPanel,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: data,\n        onSubmit: curry(onSubmitCellForm, editor, cells, data)\n      });\n    };\n\n    const getClassList = editor => {\n      const classes = buildListItems(getRowClassList(editor));\n      if (classes.length > 0) {\n        return Optional.some({\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          items: classes\n        });\n      }\n      return Optional.none();\n    };\n    const formChildren = [{\n      type: 'listbox',\n      name: 'type',\n      label: 'Row type',\n      items: [{\n        text: 'Header',\n        value: 'header'\n      }, {\n        text: 'Body',\n        value: 'body'\n      }, {\n        text: 'Footer',\n        value: 'footer'\n      }]\n    }, {\n      type: 'listbox',\n      name: 'align',\n      label: 'Alignment',\n      items: [{\n        text: 'None',\n        value: ''\n      }, {\n        text: 'Left',\n        value: 'left'\n      }, {\n        text: 'Center',\n        value: 'center'\n      }, {\n        text: 'Right',\n        value: 'right'\n      }]\n    }, {\n      label: 'Height',\n      name: 'height',\n      type: 'input'\n    }];\n    const getItems$1 = editor => formChildren.concat(getClassList(editor).toArray());\n\n    const updateSimpleProps = (modifier, data, shouldUpdate) => {\n      if (shouldUpdate('class')) {\n        modifier.setAttrib('class', data.class);\n      }\n      if (shouldUpdate('height')) {\n        modifier.setStyle('height', addPxSuffix(data.height));\n      }\n    };\n    const updateAdvancedProps = (modifier, data, shouldUpdate) => {\n      if (shouldUpdate('backgroundcolor')) {\n        modifier.setStyle('background-color', data.backgroundcolor);\n      }\n      if (shouldUpdate('bordercolor')) {\n        modifier.setStyle('border-color', data.bordercolor);\n      }\n      if (shouldUpdate('borderstyle')) {\n        modifier.setStyle('border-style', data.borderstyle);\n      }\n    };\n    const applyStyleData = (editor, rows, data, wasChanged) => {\n      const isSingleRow = rows.length === 1;\n      const shouldOverrideCurrentValue = isSingleRow ? always : wasChanged;\n      each(rows, rowElm => {\n        const modifier = DomModifier.normal(editor, rowElm);\n        updateSimpleProps(modifier, data, shouldOverrideCurrentValue);\n        if (hasAdvancedRowTab(editor)) {\n          updateAdvancedProps(modifier, data, shouldOverrideCurrentValue);\n        }\n        if (wasChanged('align')) {\n          setAlign(editor, rowElm, data.align);\n        }\n      });\n    };\n    const applyStructureData = (editor, data) => {\n      editor.execCommand('mceTableRowType', false, {\n        type: data.type,\n        no_events: true\n      });\n    };\n    const applyRowData = (editor, rows, oldData, data) => {\n      const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);\n      if (size(modifiedData) > 0) {\n        const typeModified = has(modifiedData, 'type');\n        const styleModified = typeModified ? size(modifiedData) > 1 : true;\n        if (styleModified) {\n          applyStyleData(editor, rows, data, curry(has, modifiedData));\n        }\n        if (typeModified) {\n          applyStructureData(editor, data);\n        }\n        table(SugarElement.fromDom(rows[0])).each(table => fireTableModified(editor, table.dom, {\n          structure: typeModified,\n          style: styleModified\n        }));\n      }\n    };\n    const onSubmitRowForm = (editor, rows, oldData, api) => {\n      const data = api.getData();\n      api.close();\n      editor.undoManager.transact(() => {\n        applyRowData(editor, rows, oldData, data);\n        editor.focus();\n      });\n    };\n    const open$1 = editor => {\n      const rows = getRowsFromSelection(getSelectionStart(editor), ephemera.selected);\n      if (rows.length === 0) {\n        return;\n      }\n      const rowsData = map(rows, rowElm => extractDataFromRowElement(editor, rowElm.dom, hasAdvancedRowTab(editor)));\n      const data = getSharedValues(rowsData);\n      const dialogTabPanel = {\n        type: 'tabpanel',\n        tabs: [{\n          title: 'General',\n          name: 'general',\n          items: getItems$1(editor)\n        }, getAdvancedTab(editor, 'row')]\n      };\n      const dialogPanel = {\n        type: 'panel',\n        items: [{\n          type: 'grid',\n          columns: 2,\n          items: getItems$1(editor)\n        }]\n      };\n      editor.windowManager.open({\n        title: 'Row Properties',\n        size: 'normal',\n        body: hasAdvancedRowTab(editor) ? dialogTabPanel : dialogPanel,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: data,\n        onSubmit: curry(onSubmitRowForm, editor, map(rows, r => r.dom), data)\n      });\n    };\n\n    const getItems = (editor, classes, insertNewTable) => {\n      const rowColCountItems = !insertNewTable ? [] : [{\n        type: 'input',\n        name: 'cols',\n        label: 'Cols',\n        inputMode: 'numeric'\n      }, {\n        type: 'input',\n        name: 'rows',\n        label: 'Rows',\n        inputMode: 'numeric'\n      }];\n      const alwaysItems = [{\n        type: 'input',\n        name: 'width',\n        label: 'Width'\n      }, {\n        type: 'input',\n        name: 'height',\n        label: 'Height'\n      }];\n      const appearanceItems = hasAppearanceOptions(editor) ? [{\n        type: 'input',\n        name: 'cellspacing',\n        label: 'Cell spacing',\n        inputMode: 'numeric'\n      }, {\n        type: 'input',\n        name: 'cellpadding',\n        label: 'Cell padding',\n        inputMode: 'numeric'\n      }, {\n        type: 'input',\n        name: 'border',\n        label: 'Border width'\n      }, {\n        type: 'label',\n        label: 'Caption',\n        items: [{\n          type: 'checkbox',\n          name: 'caption',\n          label: 'Show caption'\n        }]\n      }] : [];\n      const alignmentItem = [{\n        type: 'listbox',\n        name: 'align',\n        label: 'Alignment',\n        items: [{\n          text: 'None',\n          value: ''\n        }, {\n          text: 'Left',\n          value: 'left'\n        }, {\n          text: 'Center',\n          value: 'center'\n        }, {\n          text: 'Right',\n          value: 'right'\n        }]\n      }];\n      const classListItem = classes.length > 0 ? [{\n        type: 'listbox',\n        name: 'class',\n        label: 'Class',\n        items: classes\n      }] : [];\n      return rowColCountItems.concat(alwaysItems).concat(appearanceItems).concat(alignmentItem).concat(classListItem);\n    };\n\n    const styleTDTH = (dom, elm, name, value) => {\n      if (elm.tagName === 'TD' || elm.tagName === 'TH') {\n        if (isString(name) && isNonNullable(value)) {\n          dom.setStyle(elm, name, value);\n        } else {\n          dom.setStyles(elm, name);\n        }\n      } else {\n        if (elm.children) {\n          for (let i = 0; i < elm.children.length; i++) {\n            styleTDTH(dom, elm.children[i], name, value);\n          }\n        }\n      }\n    };\n    const applyDataToElement = (editor, tableElm, data, shouldApplyOnCell) => {\n      const dom = editor.dom;\n      const attrs = {};\n      const styles = {};\n      const shouldStyleWithCss$1 = shouldStyleWithCss(editor);\n      const hasAdvancedTableTab$1 = hasAdvancedTableTab(editor);\n      if (!isUndefined(data.class)) {\n        attrs.class = data.class;\n      }\n      styles.height = addPxSuffix(data.height);\n      if (shouldStyleWithCss$1) {\n        styles.width = addPxSuffix(data.width);\n      } else if (dom.getAttrib(tableElm, 'width')) {\n        attrs.width = removePxSuffix(data.width);\n      }\n      if (shouldStyleWithCss$1) {\n        styles['border-width'] = addPxSuffix(data.border);\n        styles['border-spacing'] = addPxSuffix(data.cellspacing);\n      } else {\n        attrs.border = data.border;\n        attrs.cellpadding = data.cellpadding;\n        attrs.cellspacing = data.cellspacing;\n      }\n      if (shouldStyleWithCss$1 && tableElm.children) {\n        const cellStyles = {};\n        if (shouldApplyOnCell.border) {\n          cellStyles['border-width'] = addPxSuffix(data.border);\n        }\n        if (shouldApplyOnCell.cellpadding) {\n          cellStyles.padding = addPxSuffix(data.cellpadding);\n        }\n        if (hasAdvancedTableTab$1 && shouldApplyOnCell.bordercolor) {\n          cellStyles['border-color'] = data.bordercolor;\n        }\n        if (!isEmpty$1(cellStyles)) {\n          for (let i = 0; i < tableElm.children.length; i++) {\n            styleTDTH(dom, tableElm.children[i], cellStyles);\n          }\n        }\n      }\n      if (hasAdvancedTableTab$1) {\n        const advData = data;\n        styles['background-color'] = advData.backgroundcolor;\n        styles['border-color'] = advData.bordercolor;\n        styles['border-style'] = advData.borderstyle;\n      }\n      dom.setStyles(tableElm, {\n        ...getDefaultStyles(editor),\n        ...styles\n      });\n      dom.setAttribs(tableElm, {\n        ...getDefaultAttributes(editor),\n        ...attrs\n      });\n    };\n    const onSubmitTableForm = (editor, tableElm, oldData, api) => {\n      const dom = editor.dom;\n      const data = api.getData();\n      const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);\n      api.close();\n      if (data.class === '') {\n        delete data.class;\n      }\n      editor.undoManager.transact(() => {\n        if (!tableElm) {\n          const cols = toInt(data.cols).getOr(1);\n          const rows = toInt(data.rows).getOr(1);\n          editor.execCommand('mceInsertTable', false, {\n            rows,\n            columns: cols\n          });\n          tableElm = getSelectionCell(getSelectionStart(editor), getIsRoot(editor)).bind(cell => table(cell, getIsRoot(editor))).map(table => table.dom).getOrDie();\n        }\n        if (size(modifiedData) > 0) {\n          const applicableCellProperties = {\n            border: has(modifiedData, 'border'),\n            bordercolor: has(modifiedData, 'bordercolor'),\n            cellpadding: has(modifiedData, 'cellpadding')\n          };\n          applyDataToElement(editor, tableElm, data, applicableCellProperties);\n          const captionElm = dom.select('caption', tableElm)[0];\n          if (captionElm && !data.caption || !captionElm && data.caption) {\n            editor.execCommand('mceTableToggleCaption');\n          }\n          setAlign(editor, tableElm, data.align);\n        }\n        editor.focus();\n        editor.addVisual();\n        if (size(modifiedData) > 0) {\n          const captionModified = has(modifiedData, 'caption');\n          const styleModified = captionModified ? size(modifiedData) > 1 : true;\n          fireTableModified(editor, tableElm, {\n            structure: captionModified,\n            style: styleModified\n          });\n        }\n      });\n    };\n    const open = (editor, insertNewTable) => {\n      const dom = editor.dom;\n      let tableElm;\n      let data = extractDataFromSettings(editor, hasAdvancedTableTab(editor));\n      if (insertNewTable) {\n        data.cols = '1';\n        data.rows = '1';\n        if (hasAdvancedTableTab(editor)) {\n          data.borderstyle = '';\n          data.bordercolor = '';\n          data.backgroundcolor = '';\n        }\n      } else {\n        tableElm = dom.getParent(editor.selection.getStart(), 'table', editor.getBody());\n        if (tableElm) {\n          data = extractDataFromTableElement(editor, tableElm, hasAdvancedTableTab(editor));\n        } else {\n          if (hasAdvancedTableTab(editor)) {\n            data.borderstyle = '';\n            data.bordercolor = '';\n            data.backgroundcolor = '';\n          }\n        }\n      }\n      const classes = buildListItems(getTableClassList(editor));\n      if (classes.length > 0) {\n        if (data.class) {\n          data.class = data.class.replace(/\\s*mce\\-item\\-table\\s*/g, '');\n        }\n      }\n      const generalPanel = {\n        type: 'grid',\n        columns: 2,\n        items: getItems(editor, classes, insertNewTable)\n      };\n      const nonAdvancedForm = () => ({\n        type: 'panel',\n        items: [generalPanel]\n      });\n      const advancedForm = () => ({\n        type: 'tabpanel',\n        tabs: [{\n          title: 'General',\n          name: 'general',\n          items: [generalPanel]\n        }, getAdvancedTab(editor, 'table')]\n      });\n      const dialogBody = hasAdvancedTableTab(editor) ? advancedForm() : nonAdvancedForm();\n      editor.windowManager.open({\n        title: 'Table Properties',\n        size: 'normal',\n        body: dialogBody,\n        onSubmit: curry(onSubmitTableForm, editor, tableElm, data),\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: data\n      });\n    };\n\n    const registerCommands = editor => {\n      const runAction = f => {\n        if (isInEditableContext(getSelectionStart(editor))) {\n          f();\n        }\n      };\n      each$1({\n        mceTableProps: curry(open, editor, false),\n        mceTableRowProps: curry(open$1, editor),\n        mceTableCellProps: curry(open$2, editor),\n        mceInsertTableDialog: curry(open, editor, true)\n      }, (func, name) => editor.addCommand(name, () => runAction(func)));\n    };\n\n    const child = (scope, selector) => child$1(scope, selector).isSome();\n\n    const selection = identity;\n    const unmergable = selectedCells => {\n      const hasSpan = (elem, type) => getOpt(elem, type).exists(span => parseInt(span, 10) > 1);\n      const hasRowOrColSpan = elem => hasSpan(elem, 'rowspan') || hasSpan(elem, 'colspan');\n      return selectedCells.length > 0 && forall(selectedCells, hasRowOrColSpan) ? Optional.some(selectedCells) : Optional.none();\n    };\n    const mergable = (table, selectedCells, ephemera) => {\n      if (selectedCells.length <= 1) {\n        return Optional.none();\n      } else {\n        return retrieveBox(table, ephemera.firstSelectedSelector, ephemera.lastSelectedSelector).map(bounds => ({\n          bounds,\n          cells: selectedCells\n        }));\n      }\n    };\n\n    const noMenu = cell => ({\n      element: cell,\n      mergable: Optional.none(),\n      unmergable: Optional.none(),\n      selection: [cell]\n    });\n    const forMenu = (selectedCells, table, cell) => ({\n      element: cell,\n      mergable: mergable(table, selectedCells, ephemera),\n      unmergable: unmergable(selectedCells),\n      selection: selection(selectedCells)\n    });\n\n    const getSelectionTargets = editor => {\n      const targets = Cell(Optional.none());\n      const changeHandlers = Cell([]);\n      let selectionDetails = Optional.none();\n      const isCaption = isTag('caption');\n      const isDisabledForSelection = key => selectionDetails.forall(details => !details[key]);\n      const getStart = () => getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor));\n      const getEnd = () => getSelectionCellOrCaption(getSelectionEnd(editor), getIsRoot(editor));\n      const findTargets = () => getStart().bind(startCellOrCaption => flatten(lift2(table(startCellOrCaption), getEnd().bind(table), (startTable, endTable) => {\n        if (eq(startTable, endTable)) {\n          if (isCaption(startCellOrCaption)) {\n            return Optional.some(noMenu(startCellOrCaption));\n          } else {\n            return Optional.some(forMenu(getCellsFromSelection(editor), startTable, startCellOrCaption));\n          }\n        }\n        return Optional.none();\n      })));\n      const getExtractedDetails = targets => {\n        const tableOpt = table(targets.element);\n        return tableOpt.map(table => {\n          const warehouse = Warehouse.fromTable(table);\n          const selectedCells = onCells(warehouse, targets).getOr([]);\n          const locked = foldl(selectedCells, (acc, cell) => {\n            if (cell.isLocked) {\n              acc.onAny = true;\n              if (cell.column === 0) {\n                acc.onFirst = true;\n              } else if (cell.column + cell.colspan >= warehouse.grid.columns) {\n                acc.onLast = true;\n              }\n            }\n            return acc;\n          }, {\n            onAny: false,\n            onFirst: false,\n            onLast: false\n          });\n          return {\n            mergeable: onUnlockedMergable(warehouse, targets).isSome(),\n            unmergeable: onUnlockedUnmergable(warehouse, targets).isSome(),\n            locked\n          };\n        });\n      };\n      const resetTargets = () => {\n        targets.set(cached(findTargets)());\n        selectionDetails = targets.get().bind(getExtractedDetails);\n        each(changeHandlers.get(), call);\n      };\n      const setupHandler = handler => {\n        handler();\n        changeHandlers.set(changeHandlers.get().concat([handler]));\n        return () => {\n          changeHandlers.set(filter(changeHandlers.get(), h => h !== handler));\n        };\n      };\n      const onSetup = (api, isDisabled) => setupHandler(() => targets.get().fold(() => {\n        api.setEnabled(false);\n      }, targets => {\n        api.setEnabled(!isDisabled(targets) && editor.selection.isEditable());\n      }));\n      const onSetupWithToggle = (api, isDisabled, isActive) => setupHandler(() => targets.get().fold(() => {\n        api.setEnabled(false);\n        api.setActive(false);\n      }, targets => {\n        api.setEnabled(!isDisabled(targets) && editor.selection.isEditable());\n        api.setActive(isActive(targets));\n      }));\n      const isDisabledFromLocked = lockedDisable => selectionDetails.exists(details => details.locked[lockedDisable]);\n      const onSetupTable = api => onSetup(api, _ => false);\n      const onSetupCellOrRow = api => onSetup(api, targets => isCaption(targets.element));\n      const onSetupColumn = lockedDisable => api => onSetup(api, targets => isCaption(targets.element) || isDisabledFromLocked(lockedDisable));\n      const onSetupPasteable = getClipboardData => api => onSetup(api, targets => isCaption(targets.element) || getClipboardData().isNone());\n      const onSetupPasteableColumn = (getClipboardData, lockedDisable) => api => onSetup(api, targets => isCaption(targets.element) || getClipboardData().isNone() || isDisabledFromLocked(lockedDisable));\n      const onSetupMergeable = api => onSetup(api, _targets => isDisabledForSelection('mergeable'));\n      const onSetupUnmergeable = api => onSetup(api, _targets => isDisabledForSelection('unmergeable'));\n      const onSetupTableWithCaption = api => {\n        return onSetupWithToggle(api, never, targets => {\n          const tableOpt = table(targets.element, getIsRoot(editor));\n          return tableOpt.exists(table => child(table, 'caption'));\n        });\n      };\n      const onSetupTableHeaders = (command, headerType) => api => {\n        return onSetupWithToggle(api, targets => isCaption(targets.element), () => editor.queryCommandValue(command) === headerType);\n      };\n      const onSetupTableRowHeaders = onSetupTableHeaders('mceTableRowType', 'header');\n      const onSetupTableColumnHeaders = onSetupTableHeaders('mceTableColType', 'th');\n      editor.on('NodeChange ExecCommand TableSelectorChange', resetTargets);\n      return {\n        onSetupTable,\n        onSetupCellOrRow,\n        onSetupColumn,\n        onSetupPasteable,\n        onSetupPasteableColumn,\n        onSetupMergeable,\n        onSetupUnmergeable,\n        resetTargets,\n        onSetupTableWithCaption,\n        onSetupTableRowHeaders,\n        onSetupTableColumnHeaders,\n        targets: targets.get\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.FakeClipboard');\n\n    const tableTypeBase = 'x-tinymce/dom-table-';\n    const tableTypeRow = tableTypeBase + 'rows';\n    const tableTypeColumn = tableTypeBase + 'columns';\n    const getData = type => {\n      var _a;\n      const items = (_a = global.read()) !== null && _a !== void 0 ? _a : [];\n      return findMap(items, item => Optional.from(item.getType(type)));\n    };\n    const getRows = () => getData(tableTypeRow);\n    const getColumns = () => getData(tableTypeColumn);\n\n    const onSetupEditable$1 = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const addButtons = (editor, selectionTargets) => {\n      editor.ui.registry.addMenuButton('table', {\n        tooltip: 'Table',\n        icon: 'table',\n        onSetup: onSetupEditable$1(editor),\n        fetch: callback => callback('inserttable | cell row column | advtablesort | tableprops deletetable')\n      });\n      const cmd = command => () => editor.execCommand(command);\n      const addButtonIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addButton(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n        }\n      };\n      const addToggleButtonIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addToggleButton(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n        }\n      };\n      addButtonIfRegistered('tableprops', {\n        tooltip: 'Table properties',\n        command: 'mceTableProps',\n        icon: 'table',\n        onSetup: selectionTargets.onSetupTable\n      });\n      addButtonIfRegistered('tabledelete', {\n        tooltip: 'Delete table',\n        command: 'mceTableDelete',\n        icon: 'table-delete-table',\n        onSetup: selectionTargets.onSetupTable\n      });\n      addButtonIfRegistered('tablecellprops', {\n        tooltip: 'Cell properties',\n        command: 'mceTableCellProps',\n        icon: 'table-cell-properties',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablemergecells', {\n        tooltip: 'Merge cells',\n        command: 'mceTableMergeCells',\n        icon: 'table-merge-cells',\n        onSetup: selectionTargets.onSetupMergeable\n      });\n      addButtonIfRegistered('tablesplitcells', {\n        tooltip: 'Split cell',\n        command: 'mceTableSplitCells',\n        icon: 'table-split-cells',\n        onSetup: selectionTargets.onSetupUnmergeable\n      });\n      addButtonIfRegistered('tableinsertrowbefore', {\n        tooltip: 'Insert row before',\n        command: 'mceTableInsertRowBefore',\n        icon: 'table-insert-row-above',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tableinsertrowafter', {\n        tooltip: 'Insert row after',\n        command: 'mceTableInsertRowAfter',\n        icon: 'table-insert-row-after',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tabledeleterow', {\n        tooltip: 'Delete row',\n        command: 'mceTableDeleteRow',\n        icon: 'table-delete-row',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablerowprops', {\n        tooltip: 'Row properties',\n        command: 'mceTableRowProps',\n        icon: 'table-row-properties',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tableinsertcolbefore', {\n        tooltip: 'Insert column before',\n        command: 'mceTableInsertColBefore',\n        icon: 'table-insert-column-before',\n        onSetup: selectionTargets.onSetupColumn('onFirst')\n      });\n      addButtonIfRegistered('tableinsertcolafter', {\n        tooltip: 'Insert column after',\n        command: 'mceTableInsertColAfter',\n        icon: 'table-insert-column-after',\n        onSetup: selectionTargets.onSetupColumn('onLast')\n      });\n      addButtonIfRegistered('tabledeletecol', {\n        tooltip: 'Delete column',\n        command: 'mceTableDeleteCol',\n        icon: 'table-delete-column',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      addButtonIfRegistered('tablecutrow', {\n        tooltip: 'Cut row',\n        command: 'mceTableCutRow',\n        icon: 'cut-row',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablecopyrow', {\n        tooltip: 'Copy row',\n        command: 'mceTableCopyRow',\n        icon: 'duplicate-row',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablepasterowbefore', {\n        tooltip: 'Paste row before',\n        command: 'mceTablePasteRowBefore',\n        icon: 'paste-row-before',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      });\n      addButtonIfRegistered('tablepasterowafter', {\n        tooltip: 'Paste row after',\n        command: 'mceTablePasteRowAfter',\n        icon: 'paste-row-after',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      });\n      addButtonIfRegistered('tablecutcol', {\n        tooltip: 'Cut column',\n        command: 'mceTableCutCol',\n        icon: 'cut-column',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      addButtonIfRegistered('tablecopycol', {\n        tooltip: 'Copy column',\n        command: 'mceTableCopyCol',\n        icon: 'duplicate-column',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      addButtonIfRegistered('tablepastecolbefore', {\n        tooltip: 'Paste column before',\n        command: 'mceTablePasteColBefore',\n        icon: 'paste-column-before',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onFirst')\n      });\n      addButtonIfRegistered('tablepastecolafter', {\n        tooltip: 'Paste column after',\n        command: 'mceTablePasteColAfter',\n        icon: 'paste-column-after',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onLast')\n      });\n      addButtonIfRegistered('tableinsertdialog', {\n        tooltip: 'Insert table',\n        command: 'mceInsertTableDialog',\n        icon: 'table',\n        onSetup: onSetupEditable$1(editor)\n      });\n      const tableClassList = filterNoneItem(getTableClassList(editor));\n      if (tableClassList.length !== 0 && editor.queryCommandSupported('mceTableToggleClass')) {\n        editor.ui.registry.addMenuButton('tableclass', {\n          icon: 'table-classes',\n          tooltip: 'Table styles',\n          fetch: generateMenuItemsCallback(editor, tableClassList, 'tableclass', value => editor.execCommand('mceTableToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupTable\n        });\n      }\n      const tableCellClassList = filterNoneItem(getCellClassList(editor));\n      if (tableCellClassList.length !== 0 && editor.queryCommandSupported('mceTableCellToggleClass')) {\n        editor.ui.registry.addMenuButton('tablecellclass', {\n          icon: 'table-cell-classes',\n          tooltip: 'Cell styles',\n          fetch: generateMenuItemsCallback(editor, tableCellClassList, 'tablecellclass', value => editor.execCommand('mceTableCellToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      if (editor.queryCommandSupported('mceTableApplyCellStyle')) {\n        editor.ui.registry.addMenuButton('tablecellvalign', {\n          icon: 'vertical-align',\n          tooltip: 'Vertical align',\n          fetch: generateMenuItemsCallback(editor, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellborderwidth', {\n          icon: 'border-width',\n          tooltip: 'Border width',\n          fetch: generateMenuItemsCallback(editor, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellborderstyle', {\n          icon: 'border-style',\n          tooltip: 'Border style',\n          fetch: generateMenuItemsCallback(editor, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellbackgroundcolor', {\n          icon: 'cell-background-color',\n          tooltip: 'Background color',\n          fetch: callback => callback(buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellbordercolor', {\n          icon: 'cell-border-color',\n          tooltip: 'Border color',\n          fetch: callback => callback(buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      addToggleButtonIfRegistered('tablecaption', {\n        tooltip: 'Table caption',\n        icon: 'table-caption',\n        command: 'mceTableToggleCaption',\n        onSetup: selectionTargets.onSetupTableWithCaption\n      });\n      addToggleButtonIfRegistered('tablerowheader', {\n        tooltip: 'Row header',\n        icon: 'table-top-header',\n        command: 'mceTableRowType',\n        onAction: changeRowHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n      addToggleButtonIfRegistered('tablecolheader', {\n        tooltip: 'Column header',\n        icon: 'table-left-header',\n        command: 'mceTableColType',\n        onAction: changeColumnHeader(editor),\n        onSetup: selectionTargets.onSetupTableColumnHeaders\n      });\n    };\n    const addToolbars = editor => {\n      const isEditableTable = table => editor.dom.is(table, 'table') && editor.getBody().contains(table) && editor.dom.isEditable(table.parentNode);\n      const toolbar = getToolbar(editor);\n      if (toolbar.length > 0) {\n        editor.ui.registry.addContextToolbar('table', {\n          predicate: isEditableTable,\n          items: toolbar,\n          scope: 'node',\n          position: 'node'\n        });\n      }\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const addMenuItems = (editor, selectionTargets) => {\n      const cmd = command => () => editor.execCommand(command);\n      const addMenuIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addMenuItem(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n          return true;\n        } else {\n          return false;\n        }\n      };\n      const addToggleMenuIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addToggleMenuItem(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n        }\n      };\n      const insertTableAction = data => {\n        editor.execCommand('mceInsertTable', false, {\n          rows: data.numRows,\n          columns: data.numColumns\n        });\n      };\n      const hasRowMenuItems = [addMenuIfRegistered('tableinsertrowbefore', {\n        text: 'Insert row before',\n        icon: 'table-insert-row-above',\n        command: 'mceTableInsertRowBefore',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tableinsertrowafter', {\n        text: 'Insert row after',\n        icon: 'table-insert-row-after',\n        command: 'mceTableInsertRowAfter',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tabledeleterow', {\n        text: 'Delete row',\n        icon: 'table-delete-row',\n        command: 'mceTableDeleteRow',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablerowprops', {\n        text: 'Row properties',\n        icon: 'table-row-properties',\n        command: 'mceTableRowProps',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablecutrow', {\n        text: 'Cut row',\n        icon: 'cut-row',\n        command: 'mceTableCutRow',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablecopyrow', {\n        text: 'Copy row',\n        icon: 'duplicate-row',\n        command: 'mceTableCopyRow',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablepasterowbefore', {\n        text: 'Paste row before',\n        icon: 'paste-row-before',\n        command: 'mceTablePasteRowBefore',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      }), addMenuIfRegistered('tablepasterowafter', {\n        text: 'Paste row after',\n        icon: 'paste-row-after',\n        command: 'mceTablePasteRowAfter',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      })];\n      const hasColumnMenuItems = [addMenuIfRegistered('tableinsertcolumnbefore', {\n        text: 'Insert column before',\n        icon: 'table-insert-column-before',\n        command: 'mceTableInsertColBefore',\n        onSetup: selectionTargets.onSetupColumn('onFirst')\n      }), addMenuIfRegistered('tableinsertcolumnafter', {\n        text: 'Insert column after',\n        icon: 'table-insert-column-after',\n        command: 'mceTableInsertColAfter',\n        onSetup: selectionTargets.onSetupColumn('onLast')\n      }), addMenuIfRegistered('tabledeletecolumn', {\n        text: 'Delete column',\n        icon: 'table-delete-column',\n        command: 'mceTableDeleteCol',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      }), addMenuIfRegistered('tablecutcolumn', {\n        text: 'Cut column',\n        icon: 'cut-column',\n        command: 'mceTableCutCol',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      }), addMenuIfRegistered('tablecopycolumn', {\n        text: 'Copy column',\n        icon: 'duplicate-column',\n        command: 'mceTableCopyCol',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      }), addMenuIfRegistered('tablepastecolumnbefore', {\n        text: 'Paste column before',\n        icon: 'paste-column-before',\n        command: 'mceTablePasteColBefore',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onFirst')\n      }), addMenuIfRegistered('tablepastecolumnafter', {\n        text: 'Paste column after',\n        icon: 'paste-column-after',\n        command: 'mceTablePasteColAfter',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onLast')\n      })];\n      const hasCellMenuItems = [addMenuIfRegistered('tablecellprops', {\n        text: 'Cell properties',\n        icon: 'table-cell-properties',\n        command: 'mceTableCellProps',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablemergecells', {\n        text: 'Merge cells',\n        icon: 'table-merge-cells',\n        command: 'mceTableMergeCells',\n        onSetup: selectionTargets.onSetupMergeable\n      }), addMenuIfRegistered('tablesplitcells', {\n        text: 'Split cell',\n        icon: 'table-split-cells',\n        command: 'mceTableSplitCells',\n        onSetup: selectionTargets.onSetupUnmergeable\n      })];\n      if (!hasTableGrid(editor)) {\n        editor.ui.registry.addMenuItem('inserttable', {\n          text: 'Table',\n          icon: 'table',\n          onAction: cmd('mceInsertTableDialog'),\n          onSetup: onSetupEditable(editor)\n        });\n      } else {\n        editor.ui.registry.addNestedMenuItem('inserttable', {\n          text: 'Table',\n          icon: 'table',\n          getSubmenuItems: () => [{\n            type: 'fancymenuitem',\n            fancytype: 'inserttable',\n            onAction: insertTableAction\n          }],\n          onSetup: onSetupEditable(editor)\n        });\n      }\n      editor.ui.registry.addMenuItem('inserttabledialog', {\n        text: 'Insert table',\n        icon: 'table',\n        onAction: cmd('mceInsertTableDialog'),\n        onSetup: onSetupEditable(editor)\n      });\n      addMenuIfRegistered('tableprops', {\n        text: 'Table properties',\n        onSetup: selectionTargets.onSetupTable,\n        command: 'mceTableProps'\n      });\n      addMenuIfRegistered('deletetable', {\n        text: 'Delete table',\n        icon: 'table-delete-table',\n        onSetup: selectionTargets.onSetupTable,\n        command: 'mceTableDelete'\n      });\n      if (contains(hasRowMenuItems, true)) {\n        editor.ui.registry.addNestedMenuItem('row', {\n          type: 'nestedmenuitem',\n          text: 'Row',\n          getSubmenuItems: constant('tableinsertrowbefore tableinsertrowafter tabledeleterow tablerowprops | tablecutrow tablecopyrow tablepasterowbefore tablepasterowafter')\n        });\n      }\n      if (contains(hasColumnMenuItems, true)) {\n        editor.ui.registry.addNestedMenuItem('column', {\n          type: 'nestedmenuitem',\n          text: 'Column',\n          getSubmenuItems: constant('tableinsertcolumnbefore tableinsertcolumnafter tabledeletecolumn | tablecutcolumn tablecopycolumn tablepastecolumnbefore tablepastecolumnafter')\n        });\n      }\n      if (contains(hasCellMenuItems, true)) {\n        editor.ui.registry.addNestedMenuItem('cell', {\n          type: 'nestedmenuitem',\n          text: 'Cell',\n          getSubmenuItems: constant('tablecellprops tablemergecells tablesplitcells')\n        });\n      }\n      editor.ui.registry.addContextMenu('table', {\n        update: () => {\n          selectionTargets.resetTargets();\n          return selectionTargets.targets().fold(constant(''), targets => {\n            if (name(targets.element) === 'caption') {\n              return 'tableprops deletetable';\n            } else {\n              return 'cell row column | advtablesort | tableprops deletetable';\n            }\n          });\n        }\n      });\n      const tableClassList = filterNoneItem(getTableClassList(editor));\n      if (tableClassList.length !== 0 && editor.queryCommandSupported('mceTableToggleClass')) {\n        editor.ui.registry.addNestedMenuItem('tableclass', {\n          icon: 'table-classes',\n          text: 'Table styles',\n          getSubmenuItems: () => buildMenuItems(editor, tableClassList, 'tableclass', value => editor.execCommand('mceTableToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupTable\n        });\n      }\n      const tableCellClassList = filterNoneItem(getCellClassList(editor));\n      if (tableCellClassList.length !== 0 && editor.queryCommandSupported('mceTableCellToggleClass')) {\n        editor.ui.registry.addNestedMenuItem('tablecellclass', {\n          icon: 'table-cell-classes',\n          text: 'Cell styles',\n          getSubmenuItems: () => buildMenuItems(editor, tableCellClassList, 'tablecellclass', value => editor.execCommand('mceTableCellToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      if (editor.queryCommandSupported('mceTableApplyCellStyle')) {\n        editor.ui.registry.addNestedMenuItem('tablecellvalign', {\n          icon: 'vertical-align',\n          text: 'Vertical align',\n          getSubmenuItems: () => buildMenuItems(editor, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellborderwidth', {\n          icon: 'border-width',\n          text: 'Border width',\n          getSubmenuItems: () => buildMenuItems(editor, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellborderstyle', {\n          icon: 'border-style',\n          text: 'Border style',\n          getSubmenuItems: () => buildMenuItems(editor, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellbackgroundcolor', {\n          icon: 'cell-background-color',\n          text: 'Background color',\n          getSubmenuItems: () => buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color'),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellbordercolor', {\n          icon: 'cell-border-color',\n          text: 'Border color',\n          getSubmenuItems: () => buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color'),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      addToggleMenuIfRegistered('tablecaption', {\n        icon: 'table-caption',\n        text: 'Table caption',\n        command: 'mceTableToggleCaption',\n        onSetup: selectionTargets.onSetupTableWithCaption\n      });\n      addToggleMenuIfRegistered('tablerowheader', {\n        text: 'Row header',\n        icon: 'table-top-header',\n        command: 'mceTableRowType',\n        onAction: changeRowHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n      addToggleMenuIfRegistered('tablecolheader', {\n        text: 'Column header',\n        icon: 'table-left-header',\n        command: 'mceTableColType',\n        onAction: changeColumnHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n    };\n\n    const Plugin = editor => {\n      const selectionTargets = getSelectionTargets(editor);\n      register(editor);\n      registerCommands(editor);\n      addMenuItems(editor, selectionTargets);\n      addButtons(editor, selectionTargets);\n      addToolbars(editor);\n    };\n    var Plugin$1 = (() => {\n      global$3.add('table', Plugin);\n    });\n\n    Plugin$1();\n\n})();\n/*!\n * Tiny Table of Contents plugin\n *\n * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.\n * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/\n *\n * Version: 1.2.0-51\n */\n\n!function(){\"use strict\";const t=t=>parseInt(t,10),e=(t,e)=>{const n=t-e;return 0===n?0:n>0?1:-1},n=(t,e,n)=>({major:t,minor:e,patch:n}),o=e=>{const o=/([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:(\\-.+)?)/.exec(e);return o?n(t(o[1]),t(o[2]),t(o[3])):n(0,0,0)},r=(\"string\",t=>\"string\"===(t=>{const e=typeof t;return null===t?\"null\":\"object\"===e&&Array.isArray(t)?\"array\":\"object\"===e&&(n=o=t,(r=String).prototype.isPrototypeOf(n)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===r.name)?\"string\":e;var n,o,r,s})(t));const s=t=>!(t=>null==t)(t),i=t=>\"number\"==typeof t;class l{constructor(t,e){this.tag=t,this.value=e}static some(t){return new l(!0,t)}static none(){return l.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?l.some(t(this.value)):l.none()}bind(t){return this.tag?t(this.value):l.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:l.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:\"Called getOrDie on None\")}static from(t){return s(t)?l.some(t):l.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:\"none()\"}}l.singletonNone=new l(!1);const a=t=>e=>e.options.get(t),c=a(\"tableofcontents_class\"),d=a(\"tableofcontents_header\"),u=a(\"tableofcontents_depth\"),h=a(\"tableofcontents_includeheader\"),f=a(\"tableofcontents_orderedlist\"),g=a(\"tableofcontents_orderedlist_type\"),m=(t=>{let e=0;return()=>\"mcetoc_\"+(new Date).getTime().toString(32)+(e++).toString(32)})(),p=t=>{const e=c(t),n=d(t),o=(t=>{const e=[];for(let n=1;n<=t;n++)e.push(\"h\"+n);return e.join(\",\")})(u(t));let r=t.dom.select(o);return r.length&&/^h[1-9]$/i.test(n)&&(r=((t,e)=>{const n=[];for(let o=0,r=t.length;o<r;o++){const r=t[o];e(r)&&n.push(r)}return n})(r,(n=>{const o=n.parentElement;return s(o)&&!t.dom.hasClass(o,e)&&!t.dom.isEmpty(n)}))),((t,e)=>{const n=t.length,o=new Array(n);for(let r=0;r<n;r++){const n=t[r];o[r]=e(n)}return o})(r,(t=>({id:t.id||m(),level:parseInt(t.nodeName.replace(/^H/i,\"\"),10),title:t.innerText,element:t})))},b=(t,e)=>{let n=\"\";const o=p(t),r=f(t)?\"ol\":\"ul\",s=[r];let i=(t=>{let e=9;for(const n of t)if(n.level<e&&(e=n.level),1===e)return e;return e})(o)-1;if(!o.length)return\"\";if(f(t)&&s.push(`type=\"${g(t)}\"`),h(t)){const o=e.getOr(t.translate(\"Table of Contents\"));n+=((t,e)=>{const n=\"<\/\"+t+\">\";return\"<\"+t+' contenteditable=\"true\">'+tinymce.DOM.encode(e)+n})(d(t),o)}for(let t=0;t<o.length;t++){const e=o[t];e.element.id=e.id;const l=o[t+1]&&o[t+1].level;if(i===e.level)n+=\"<li>\";else for(let t=i;t<e.level;t++)n+=`<${s.join(\" \")}><li>`;if(n+='<a href=\"#'+e.id+'\">'+e.title+\"<\/a>\",l!==e.level&&l)for(let t=e.level;t>l;t--)n+=t===l+1?`<\/li><\/${r}><li>`:`<\/li><\/${r}>`;else n+=\"<\/li>\",l||(n+=`<\/${r}>`);i=e.level}return n},v=t=>{const e=c(t),n=t.dom.select(\".\"+e);n.length&&t.undoManager.transact((()=>{var e,o;t.dom.setHTML(n,b(t,(e=n[0],l.from(null===(o=e.firstElementChild)||void 0===o?void 0:o.innerHTML))))}))},_=t=>e=>{const n=()=>{const n=t.selection.isEditable();e.setEnabled(!t.readonly&&n&&(t=>p(t).length>0)(t))};return t.on(\"NodeChange LoadContent SetContent change\",n),n(),()=>t.off(\"NodeChange LoadContent SetContent change\",n)},y=t=>e=>t.dom.is(e,\".\"+c(t))&&t.getBody().contains(e);tinymce.PluginManager.requireLangPack(\"tableofcontents\",\"ar,bg_BG,ca,cs,da,de,el,es,eu,fa,fi,fr_FR,he_IL,hi,hr,hu_HU,id,it,ja,kk,ko_KR,ms,nb_NO,nl,pl,pt_BR,pt_PT,ro,ru,sk,sl_SI,sv_SE,th_TH,tr,uk,vi,zh_CN,zh_TW\"),tinymce.PluginManager.add(\"tableofcontents\",(t=>{((t,n)=>!!t&&-1===((t,n)=>{const o=e(t.major,n.major);if(0!==o)return o;const r=e(t.minor,n.minor);if(0!==r)return r;const s=e(t.patch,n.patch);return 0!==s?s:0})((t=>o((t=>[t.majorVersion,t.minorVersion].join(\".\").split(\".\").slice(0,3).join(\".\"))(t)))(t),o(n)))(tinymce,\"6.4.0\")?console.error(\"The tinydrive plugin requires at least version 6.4.0 of TinyMCE.\"):((t=>{const e=t.options.register;e(\"tableofcontents_class\",{processor:\"string\",default:\"mce-toc\"}),e(\"tableofcontents_header\",{processor:t=>r(t)&&/^h[1-6]$/.test(t),default:\"h2\"}),e(\"tableofcontents_depth\",{processor:t=>i(t)&&t>=1&&t<=9,default:3}),e(\"tableofcontents_includeheader\",{processor:\"boolean\",default:!0}),e(\"tableofcontents_orderedlist\",{processor:\"boolean\",default:!1}),e(\"tableofcontents_orderedlist_type\",{processor:t=>r(t)&&[\"1\",\"A\",\"a\",\"I\",\"i\"].includes(t),default:\"1\"})})(t),(t=>{t.addCommand(\"mceInsertToc\",(()=>{(t=>{const e=c(t),n=t.dom.select(\".\"+e);((t,e)=>!e.length||t.dom.getParents(e[0],\".mce-offscreen-selection\").length>0)(t,n)?t.insertContent(((t,e)=>{const n=b(t,e);return'<div class=\"'+t.dom.encode(c(t))+'\" contenteditable=\"false\" data-mce-toc=\"true\">'+n+\"<\/div>\"})(t,l.none())):v(t)})(t)})),t.addCommand(\"mceUpdateToc\",(()=>{v(t)}))})(t),(t=>{const e=()=>t.execCommand(\"mceInsertToc\");t.ui.registry.addButton(\"tableofcontents\",{icon:\"toc\",tooltip:\"Table of contents\",onAction:e,onSetup:_(t)}),t.ui.registry.addButton(\"tableofcontentsupdate\",{icon:\"reload\",tooltip:\"Update\",onAction:()=>t.execCommand(\"mceUpdateToc\")}),t.ui.registry.addMenuItem(\"tableofcontents\",{icon:\"toc\",text:\"Table of contents\",onAction:e,onSetup:_(t)}),t.ui.registry.addContextToolbar(\"tableofcontents\",{items:\"tableofcontentsupdate\",predicate:y(t),scope:\"node\",position:\"node\"})})(t),(t=>{const e=c(t),n=\"data-mce-toc\";t.on(\"PreProcess\",(n=>{const o=t.dom,r=o.select(\".\"+e,n.node)[0];r&&((t,e)=>{for(let e=0,r=t.length;e<r;e++)n=t[e],o.setAttrib(n,\"contentEditable\",null);var n})([r].concat(o.select(\"[contenteditable]\",r)))})),t.on(\"PreInit\",(()=>{t.serializer.addTempAttr(n)})),t.on(\"SetContent\",(()=>{const o=t.dom,r=o.select(\".\"+e)[0];if(r){o.setAttribs(r,{contentEditable:!1,[n]:!0});const t=r.firstElementChild;s(t)&&o.setAttrib(t,\"contentEditable\",!0)}}))})(t))}))}();/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const fireVisualBlocks = (editor, state) => {\n      editor.dispatch('VisualBlocks', {\n        state\n      });\n    };\n\n    const toggleVisualBlocks = (editor, pluginUrl, enabledState) => {\n      const dom = editor.dom;\n      dom.toggleClass(editor.getBody(), 'mce-visualblocks');\n      enabledState.set(!enabledState.get());\n      fireVisualBlocks(editor, enabledState.get());\n    };\n\n    const register$2 = (editor, pluginUrl, enabledState) => {\n      editor.addCommand('mceVisualBlocks', () => {\n        toggleVisualBlocks(editor, pluginUrl, enabledState);\n      });\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('visualblocks_default_state', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const isEnabledByDefault = option('visualblocks_default_state');\n\n    const setup = (editor, pluginUrl, enabledState) => {\n      editor.on('PreviewFormats AfterPreviewFormats', e => {\n        if (enabledState.get()) {\n          editor.dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type === 'afterpreviewformats');\n        }\n      });\n      editor.on('init', () => {\n        if (isEnabledByDefault(editor)) {\n          toggleVisualBlocks(editor, pluginUrl, enabledState);\n        }\n      });\n    };\n\n    const toggleActiveState = (editor, enabledState) => api => {\n      api.setActive(enabledState.get());\n      const editorEventCallback = e => api.setActive(e.state);\n      editor.on('VisualBlocks', editorEventCallback);\n      return () => editor.off('VisualBlocks', editorEventCallback);\n    };\n    const register = (editor, enabledState) => {\n      const onAction = () => editor.execCommand('mceVisualBlocks');\n      editor.ui.registry.addToggleButton('visualblocks', {\n        icon: 'visualblocks',\n        tooltip: 'Show blocks',\n        onAction,\n        onSetup: toggleActiveState(editor, enabledState)\n      });\n      editor.ui.registry.addToggleMenuItem('visualblocks', {\n        text: 'Show blocks',\n        icon: 'visualblocks',\n        onAction,\n        onSetup: toggleActiveState(editor, enabledState)\n      });\n    };\n\n    var Plugin = (() => {\n      global.add('visualblocks', (editor, pluginUrl) => {\n        register$1(editor);\n        const enabledState = Cell(false);\n        register$2(editor, pluginUrl, enabledState);\n        register(editor, enabledState);\n        setup(editor, pluginUrl, enabledState);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const get$2 = toggleState => {\n      const isEnabled = () => {\n        return toggleState.get();\n      };\n      return {\n        isEnabled\n      };\n    };\n\n    const fireVisualChars = (editor, state) => {\n      return editor.dispatch('VisualChars', {\n        state\n      });\n    };\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isNull = eq(null);\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isNumber = isSimpleType('number');\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const type = element => element.dom.nodeType;\n    const value = element => element.dom.nodeValue;\n    const isType = t => element => type(element) === t;\n    const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom);\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get$1 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const remove$3 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const read = (element, attr) => {\n      const value = get$1(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$2 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$2 = (element, attr, id) => {\n      const nu = filter(read(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set(element, attr, nu.join(' '));\n      } else {\n        remove$3(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get = element => read(element, 'class');\n    const add$1 = (element, clazz) => add$2(element, 'class', clazz);\n    const remove$1 = (element, clazz) => remove$2(element, 'class', clazz);\n\n    const add = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$1(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get(element);\n      if (classList.length === 0) {\n        remove$3(element, 'class');\n      }\n    };\n    const remove = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$1(element, clazz);\n      }\n      cleanClass(element);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const charMap = {\n      '\\xA0': 'nbsp',\n      '\\xAD': 'shy'\n    };\n    const charMapToRegExp = (charMap, global) => {\n      let regExp = '';\n      each(charMap, (_value, key) => {\n        regExp += key;\n      });\n      return new RegExp('[' + regExp + ']', global ? 'g' : '');\n    };\n    const charMapToSelector = charMap => {\n      let selector = '';\n      each(charMap, value => {\n        if (selector) {\n          selector += ',';\n        }\n        selector += 'span.mce-' + value;\n      });\n      return selector;\n    };\n    const regExp = charMapToRegExp(charMap);\n    const regExpGlobal = charMapToRegExp(charMap, true);\n    const selector = charMapToSelector(charMap);\n    const nbspClass = 'mce-nbsp';\n\n    const getRaw = element => element.dom.contentEditable;\n\n    const wrapCharWithSpan = value => '<span data-mce-bogus=\"1\" class=\"mce-' + charMap[value] + '\">' + value + '<\/span>';\n\n    const isWrappedNbsp = node => node.nodeName.toLowerCase() === 'span' && node.classList.contains('mce-nbsp-wrap');\n    const isMatch = n => {\n      const value$1 = value(n);\n      return isText(n) && isString(value$1) && regExp.test(value$1);\n    };\n    const isContentEditableFalse = node => isHTMLElement(node) && getRaw(node) === 'false';\n    const isChildEditable = (node, currentState) => {\n      if (isHTMLElement(node) && !isWrappedNbsp(node.dom)) {\n        const value = getRaw(node);\n        if (value === 'true') {\n          return true;\n        } else if (value === 'false') {\n          return false;\n        }\n      }\n      return currentState;\n    };\n    const filterEditableDescendants = (scope, predicate, editable) => {\n      let result = [];\n      const dom = scope.dom;\n      const children = map(dom.childNodes, SugarElement.fromDom);\n      const isEditable = node => isWrappedNbsp(node.dom) || !isContentEditableFalse(node);\n      each$1(children, x => {\n        if (editable && isEditable(x) && predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(filterEditableDescendants(x, predicate, isChildEditable(x, editable)));\n      });\n      return result;\n    };\n    const findParentElm = (elm, rootElm) => {\n      while (elm.parentNode) {\n        if (elm.parentNode === rootElm) {\n          return rootElm;\n        }\n        elm = elm.parentNode;\n      }\n      return undefined;\n    };\n    const replaceWithSpans = text => text.replace(regExpGlobal, wrapCharWithSpan);\n\n    const show = (editor, rootElm) => {\n      const dom = editor.dom;\n      const nodeList = filterEditableDescendants(SugarElement.fromDom(rootElm), isMatch, editor.dom.isEditable(rootElm));\n      each$1(nodeList, n => {\n        var _a;\n        const parent = n.dom.parentNode;\n        if (isWrappedNbsp(parent)) {\n          add(SugarElement.fromDom(parent), nbspClass);\n        } else {\n          const withSpans = replaceWithSpans(dom.encode((_a = value(n)) !== null && _a !== void 0 ? _a : ''));\n          const div = dom.create('div', {}, withSpans);\n          let node;\n          while (node = div.lastChild) {\n            dom.insertAfter(node, n.dom);\n          }\n          editor.dom.remove(n.dom);\n        }\n      });\n    };\n    const hide = (editor, rootElm) => {\n      const nodeList = editor.dom.select(selector, rootElm);\n      each$1(nodeList, node => {\n        if (isWrappedNbsp(node)) {\n          remove(SugarElement.fromDom(node), nbspClass);\n        } else {\n          editor.dom.remove(node, true);\n        }\n      });\n    };\n    const toggle = editor => {\n      const body = editor.getBody();\n      const bookmark = editor.selection.getBookmark();\n      let parentNode = findParentElm(editor.selection.getNode(), body);\n      parentNode = parentNode !== undefined ? parentNode : body;\n      hide(editor, parentNode);\n      show(editor, parentNode);\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const applyVisualChars = (editor, toggleState) => {\n      fireVisualChars(editor, toggleState.get());\n      const body = editor.getBody();\n      if (toggleState.get() === true) {\n        show(editor, body);\n      } else {\n        hide(editor, body);\n      }\n    };\n    const toggleVisualChars = (editor, toggleState) => {\n      toggleState.set(!toggleState.get());\n      const bookmark = editor.selection.getBookmark();\n      applyVisualChars(editor, toggleState);\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const register$2 = (editor, toggleState) => {\n      editor.addCommand('mceVisualChars', () => {\n        toggleVisualChars(editor, toggleState);\n      });\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('visualchars_default_state', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const isEnabledByDefault = option('visualchars_default_state');\n\n    const setup$1 = (editor, toggleState) => {\n      editor.on('init', () => {\n        applyVisualChars(editor, toggleState);\n      });\n    };\n\n    const first = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const setup = (editor, toggleState) => {\n      const debouncedToggle = first(() => {\n        toggle(editor);\n      }, 300);\n      editor.on('keydown', e => {\n        if (toggleState.get() === true) {\n          e.keyCode === 13 ? toggle(editor) : debouncedToggle.throttle();\n        }\n      });\n      editor.on('remove', debouncedToggle.cancel);\n    };\n\n    const toggleActiveState = (editor, enabledStated) => api => {\n      api.setActive(enabledStated.get());\n      const editorEventCallback = e => api.setActive(e.state);\n      editor.on('VisualChars', editorEventCallback);\n      return () => editor.off('VisualChars', editorEventCallback);\n    };\n    const register = (editor, toggleState) => {\n      const onAction = () => editor.execCommand('mceVisualChars');\n      editor.ui.registry.addToggleButton('visualchars', {\n        tooltip: 'Show invisible characters',\n        icon: 'visualchars',\n        onAction,\n        onSetup: toggleActiveState(editor, toggleState)\n      });\n      editor.ui.registry.addToggleMenuItem('visualchars', {\n        text: 'Show invisible characters',\n        icon: 'visualchars',\n        onAction,\n        onSetup: toggleActiveState(editor, toggleState)\n      });\n    };\n\n    var Plugin = (() => {\n      global.add('visualchars', editor => {\n        register$1(editor);\n        const toggleState = Cell(isEnabledByDefault(editor));\n        register$2(editor, toggleState);\n        register(editor, toggleState);\n        setup(editor, toggleState);\n        setup$1(editor, toggleState);\n        return get$2(toggleState);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const eq = t => a => t === a;\n    const isNull = eq(null);\n\n    const identity = x => {\n      return x;\n    };\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n\n    const punctuationStr = \"[~\\u2116|!-*+-\\\\/:;?@\\\\[-`{}\\xA1\\xAB\\xB7\\xBB\\xBF;\\xB7\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1361-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u3008\\u3009\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30\\u2E31\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]\";\n    const regExps = {\n      aletter: '[A-Za-z\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05F3\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u10a0-\\u10c5\\u10d0-\\u10fa\\u10fc\\u1100-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1a00-\\u1a16\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bc0-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u24B6-\\u24E9\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2d00-\\u2d25\\u2d30-\\u2d65\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005\\u303b\\u303c\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790\\ua791\\ua7a0-\\ua7a9\\ua7fa-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]',\n      midnumlet: \"[-'\\\\.\\u2018\\u2019\\u2024\\uFE52\\uFF07\\uFF0E]\",\n      midletter: '[:\\xB7\\xB7\\u05F4\\u2027\\uFE13\\uFE55\\uFF1A]',\n      midnum: '[\\xB1+*/,;;\\u0589\\u060C\\u060D\\u066C\\u07F8\\u2044\\uFE10\\uFE14\\uFE50\\uFE54\\uFF0C\\uFF1B]',\n      numeric: '[0-9\\u0660-\\u0669\\u066B\\u06f0-\\u06f9\\u07c0-\\u07c9\\u0966-\\u096f\\u09e6-\\u09ef\\u0a66-\\u0a6f\\u0ae6-\\u0aef\\u0b66-\\u0b6f\\u0be6-\\u0bef\\u0c66-\\u0c6f\\u0ce6-\\u0cef\\u0d66-\\u0d6f\\u0e50-\\u0e59\\u0ed0-\\u0ed9\\u0f20-\\u0f29\\u1040-\\u1049\\u1090-\\u1099\\u17e0-\\u17e9\\u1810-\\u1819\\u1946-\\u194f\\u19d0-\\u19d9\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1b50-\\u1b59\\u1bb0-\\u1bb9\\u1c40-\\u1c49\\u1c50-\\u1c59\\ua620-\\ua629\\ua8d0-\\ua8d9\\ua900-\\ua909\\ua9d0-\\ua9d9\\uaa50-\\uaa59\\uabf0-\\uabf9]',\n      cr: '\\\\r',\n      lf: '\\\\n',\n      newline: '[\\x0B\\f\\x85\\u2028\\u2029]',\n      extend: '[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0c01-\\u0c03\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d02\\u0d03\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f\\u109a-\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b6-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u19b0-\\u19c0\\u19c8\\u19c9\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1baa\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf2\\u1dc0-\\u1de6\\u1dfc-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\uA672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua880\\ua881\\ua8b4-\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa7b\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe3-\\uabea\\uabec\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]',\n      format: '[\\xAD\\u0600-\\u0603\\u06DD\\u070F\\u17b4\\u17b5\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\uFEFF\\uFFF9-\\uFFFB]',\n      katakana: '[\\u3031-\\u3035\\u309B\\u309C\\u30A0-\\u30fa\\u30fc-\\u30ff\\u31f0-\\u31ff\\u32D0-\\u32FE\\u3300-\\u3357\\uff66-\\uff9d]',\n      extendnumlet: '[=_\\u203f\\u2040\\u2054\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff3f\\u2200-\\u22FF<>]',\n      punctuation: punctuationStr\n    };\n    const characterIndices = {\n      ALETTER: 0,\n      MIDNUMLET: 1,\n      MIDLETTER: 2,\n      MIDNUM: 3,\n      NUMERIC: 4,\n      CR: 5,\n      LF: 6,\n      NEWLINE: 7,\n      EXTEND: 8,\n      FORMAT: 9,\n      KATAKANA: 10,\n      EXTENDNUMLET: 11,\n      AT: 12,\n      OTHER: 13\n    };\n    const SETS$1 = [new RegExp(regExps.aletter), new RegExp(regExps.midnumlet), new RegExp(regExps.midletter), new RegExp(regExps.midnum), new RegExp(regExps.numeric), new RegExp(regExps.cr), new RegExp(regExps.lf), new RegExp(regExps.newline), new RegExp(regExps.extend), new RegExp(regExps.format), new RegExp(regExps.katakana), new RegExp(regExps.extendnumlet), new RegExp('@')];\n    const EMPTY_STRING$1 = '';\n    const PUNCTUATION$1 = new RegExp('^' + regExps.punctuation + '$');\n    const WHITESPACE$1 = /^\\s+$/;\n\n    const SETS = SETS$1;\n    const OTHER = characterIndices.OTHER;\n    const getType = char => {\n      let type = OTHER;\n      const setsLength = SETS.length;\n      for (let j = 0; j < setsLength; ++j) {\n        const set = SETS[j];\n        if (set && set.test(char)) {\n          type = j;\n          break;\n        }\n      }\n      return type;\n    };\n    const memoize = func => {\n      const cache = {};\n      return char => {\n        if (cache[char]) {\n          return cache[char];\n        } else {\n          const result = func(char);\n          cache[char] = result;\n          return result;\n        }\n      };\n    };\n    const classify = characters => {\n      const memoized = memoize(getType);\n      return map(characters, memoized);\n    };\n\n    const isWordBoundary = (map, index) => {\n      const type = map[index];\n      const nextType = map[index + 1];\n      if (index < 0 || index > map.length - 1 && index !== 0) {\n        return false;\n      }\n      if (type === characterIndices.ALETTER && nextType === characterIndices.ALETTER) {\n        return false;\n      }\n      const nextNextType = map[index + 2];\n      if (type === characterIndices.ALETTER && (nextType === characterIndices.MIDLETTER || nextType === characterIndices.MIDNUMLET || nextType === characterIndices.AT) && nextNextType === characterIndices.ALETTER) {\n        return false;\n      }\n      const prevType = map[index - 1];\n      if ((type === characterIndices.MIDLETTER || type === characterIndices.MIDNUMLET || nextType === characterIndices.AT) && nextType === characterIndices.ALETTER && prevType === characterIndices.ALETTER) {\n        return false;\n      }\n      if ((type === characterIndices.NUMERIC || type === characterIndices.ALETTER) && (nextType === characterIndices.NUMERIC || nextType === characterIndices.ALETTER)) {\n        return false;\n      }\n      if ((type === characterIndices.MIDNUM || type === characterIndices.MIDNUMLET) && nextType === characterIndices.NUMERIC && prevType === characterIndices.NUMERIC) {\n        return false;\n      }\n      if (type === characterIndices.NUMERIC && (nextType === characterIndices.MIDNUM || nextType === characterIndices.MIDNUMLET) && nextNextType === characterIndices.NUMERIC) {\n        return false;\n      }\n      if ((type === characterIndices.EXTEND || type === characterIndices.FORMAT) && (nextType === characterIndices.ALETTER || nextType === characterIndices.NUMERIC || nextType === characterIndices.KATAKANA || nextType === characterIndices.EXTEND || nextType === characterIndices.FORMAT) || (nextType === characterIndices.EXTEND || nextType === characterIndices.FORMAT && (nextNextType === characterIndices.ALETTER || nextNextType === characterIndices.NUMERIC || nextNextType === characterIndices.KATAKANA || nextNextType === characterIndices.EXTEND || nextNextType === characterIndices.FORMAT)) && (type === characterIndices.ALETTER || type === characterIndices.NUMERIC || type === characterIndices.KATAKANA || type === characterIndices.EXTEND || type === characterIndices.FORMAT)) {\n        return false;\n      }\n      if (type === characterIndices.CR && nextType === characterIndices.LF) {\n        return false;\n      }\n      if (type === characterIndices.NEWLINE || type === characterIndices.CR || type === characterIndices.LF) {\n        return true;\n      }\n      if (nextType === characterIndices.NEWLINE || nextType === characterIndices.CR || nextType === characterIndices.LF) {\n        return true;\n      }\n      if (type === characterIndices.KATAKANA && nextType === characterIndices.KATAKANA) {\n        return false;\n      }\n      if (nextType === characterIndices.EXTENDNUMLET && (type === characterIndices.ALETTER || type === characterIndices.NUMERIC || type === characterIndices.KATAKANA || type === characterIndices.EXTENDNUMLET)) {\n        return false;\n      }\n      if (type === characterIndices.EXTENDNUMLET && (nextType === characterIndices.ALETTER || nextType === characterIndices.NUMERIC || nextType === characterIndices.KATAKANA)) {\n        return false;\n      }\n      if (type === characterIndices.AT) {\n        return false;\n      }\n      return true;\n    };\n\n    const EMPTY_STRING = EMPTY_STRING$1;\n    const WHITESPACE = WHITESPACE$1;\n    const PUNCTUATION = PUNCTUATION$1;\n    const isProtocol = str => str === 'http' || str === 'https';\n    const findWordEnd = (characters, startIndex) => {\n      let i;\n      for (i = startIndex; i < characters.length; i++) {\n        if (WHITESPACE.test(characters[i])) {\n          break;\n        }\n      }\n      return i;\n    };\n    const findUrlEnd = (characters, startIndex) => {\n      const endIndex = findWordEnd(characters, startIndex + 1);\n      const peakedWord = characters.slice(startIndex + 1, endIndex).join(EMPTY_STRING);\n      return peakedWord.substr(0, 3) === '://' ? endIndex : startIndex;\n    };\n    const findWordsWithIndices = (chars, sChars, characterMap, options) => {\n      const words = [];\n      const indices = [];\n      let word = [];\n      for (let i = 0; i < characterMap.length; ++i) {\n        word.push(chars[i]);\n        if (isWordBoundary(characterMap, i)) {\n          const ch = sChars[i];\n          if ((options.includeWhitespace || !WHITESPACE.test(ch)) && (options.includePunctuation || !PUNCTUATION.test(ch))) {\n            const startOfWord = i - word.length + 1;\n            const endOfWord = i + 1;\n            const str = sChars.slice(startOfWord, endOfWord).join(EMPTY_STRING);\n            if (isProtocol(str)) {\n              const endOfUrl = findUrlEnd(sChars, i);\n              const url = chars.slice(endOfWord, endOfUrl);\n              Array.prototype.push.apply(word, url);\n              i = endOfUrl;\n            }\n            words.push(word);\n            indices.push({\n              start: startOfWord,\n              end: endOfWord\n            });\n          }\n          word = [];\n        }\n      }\n      return {\n        words,\n        indices\n      };\n    };\n    const getDefaultOptions = () => ({\n      includeWhitespace: false,\n      includePunctuation: false\n    });\n    const getWordsWithIndices = (chars, extract, options) => {\n      options = {\n        ...getDefaultOptions(),\n        ...options\n      };\n      const extractedChars = map(chars, extract);\n      const characterMap = classify(extractedChars);\n      return findWordsWithIndices(chars, extractedChars, characterMap, options);\n    };\n    const getWords$1 = (chars, extract, options) => getWordsWithIndices(chars, extract, options).words;\n\n    const getWords = getWords$1;\n\n    const removeZwsp$1 = s => s.replace(/\\uFEFF/g, '');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    const getText = (node, schema) => {\n      const blockElements = schema.getBlockElements();\n      const voidElements = schema.getVoidElements();\n      const isNewline = node => blockElements[node.nodeName] || voidElements[node.nodeName];\n      const textBlocks = [];\n      let txt = '';\n      const treeWalker = new global$1(node, node);\n      let tempNode;\n      while (tempNode = treeWalker.next()) {\n        if (tempNode.nodeType === 3) {\n          txt += removeZwsp$1(tempNode.data);\n        } else if (isNewline(tempNode) && txt.length) {\n          textBlocks.push(txt);\n          txt = '';\n        }\n      }\n      if (txt.length) {\n        textBlocks.push(txt);\n      }\n      return textBlocks;\n    };\n\n    const removeZwsp = text => text.replace(/\\u200B/g, '');\n    const strLen = str => str.replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, '_').length;\n    const countWords = (node, schema) => {\n      const text = removeZwsp(getText(node, schema).join('\\n'));\n      return getWords(text.split(''), identity).length;\n    };\n    const countCharacters = (node, schema) => {\n      const text = getText(node, schema).join('');\n      return strLen(text);\n    };\n    const countCharactersWithoutSpaces = (node, schema) => {\n      const text = getText(node, schema).join('').replace(/\\s/g, '');\n      return strLen(text);\n    };\n\n    const createBodyCounter = (editor, count) => () => count(editor.getBody(), editor.schema);\n    const createSelectionCounter = (editor, count) => () => count(editor.selection.getRng().cloneContents(), editor.schema);\n    const createBodyWordCounter = editor => createBodyCounter(editor, countWords);\n    const get = editor => ({\n      body: {\n        getWordCount: createBodyWordCounter(editor),\n        getCharacterCount: createBodyCounter(editor, countCharacters),\n        getCharacterCountWithoutSpaces: createBodyCounter(editor, countCharactersWithoutSpaces)\n      },\n      selection: {\n        getWordCount: createSelectionCounter(editor, countWords),\n        getCharacterCount: createSelectionCounter(editor, countCharacters),\n        getCharacterCountWithoutSpaces: createSelectionCounter(editor, countCharactersWithoutSpaces)\n      },\n      getCount: createBodyWordCounter(editor)\n    });\n\n    const open = (editor, api) => {\n      editor.windowManager.open({\n        title: 'Word Count',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'table',\n            header: ['Count', 'Document', 'Selection'],\n            cells: [['Words', String(api.body.getWordCount()), String(api.selection.getWordCount())], ['Characters (no spaces)', String(api.body.getCharacterCountWithoutSpaces()), String(api.selection.getCharacterCountWithoutSpaces())], ['Characters', String(api.body.getCharacterCount()), String(api.selection.getCharacterCount())]]\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'close',\n          text: 'Close',\n          primary: true\n        }]\n      });\n    };\n\n    const register$1 = (editor, api) => {\n      editor.addCommand('mceWordCount', () => open(editor, api));\n    };\n\n    const first = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    const fireWordCountUpdate = (editor, api) => {\n      editor.dispatch('wordCountUpdate', {\n        wordCount: {\n          words: api.body.getWordCount(),\n          characters: api.body.getCharacterCount(),\n          charactersWithoutSpaces: api.body.getCharacterCountWithoutSpaces()\n        }\n      });\n    };\n\n    const updateCount = (editor, api) => {\n      fireWordCountUpdate(editor, api);\n    };\n    const setup = (editor, api, delay) => {\n      const debouncedUpdate = first(() => updateCount(editor, api), delay);\n      editor.on('init', () => {\n        updateCount(editor, api);\n        global.setEditorTimeout(editor, () => {\n          editor.on('SetContent BeforeAddUndo Undo Redo ViewUpdate keyup', debouncedUpdate.throttle);\n        }, 0);\n        editor.on('remove', debouncedUpdate.cancel);\n      });\n    };\n\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceWordCount');\n      editor.ui.registry.addButton('wordcount', {\n        tooltip: 'Word count',\n        icon: 'character-count',\n        onAction\n      });\n      editor.ui.registry.addMenuItem('wordcount', {\n        text: 'Word count',\n        icon: 'character-count',\n        onAction\n      });\n    };\n\n    var Plugin = ((delay = 300) => {\n      global$2.add('wordcount', editor => {\n        const api = get(editor);\n        register$1(editor, api);\n        register(editor);\n        setup(editor, api, delay);\n        return api;\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const option = name => editor => editor.options.get(name);\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const isShowTooltipEnabled = editor => {\n      const snSettings = option('sn_settings')(editor);\n      const {\n        showTooltipTitle\n      } = snSettings.a11y || {};\n      return showTooltipTitle;\n    };\n    const getStatusMessage = editor => {\n      const snSettings = option('sn_settings')(editor);\n      const {\n        statusMessage\n      } = snSettings.a11y || {};\n      return statusMessage;\n    };\n\n    const replaceDialogHeader = sink => {\n      var _a;\n      const dialogTitle = sink === null || sink === void 0 ? void 0 : sink.querySelector('div.tox-dialog__title');\n      const dialogElement = sink === null || sink === void 0 ? void 0 : sink.querySelector(\"div#\".concat(dialogTitle === null || dialogTitle === void 0 ? void 0 : dialogTitle.id));\n      if (dialogTitle && dialogElement) {\n        const headingElement = document.createElement('h1');\n        for (const attr of Array.from(dialogElement.attributes)) {\n          headingElement.setAttribute(attr.name, attr.value);\n        }\n        headingElement.innerHTML = dialogElement === null || dialogElement === void 0 ? void 0 : dialogElement.innerHTML;\n        (_a = dialogElement.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(headingElement, dialogElement);\n      }\n    };\n    const addAriaAndTooltipStatusBar = editor => {\n      editor.on('SelectionChange', () => {\n        var _a;\n        const statusMessage = getStatusMessage(editor);\n        const statusPath = Array.from(((_a = editor.getContainer()) === null || _a === void 0 ? void 0 : _a.querySelectorAll('div.tox-statusbar__path-item')) || []);\n        Array.from(statusPath).forEach(ele => {\n          if (statusMessage && typeof statusMessage == 'function') {\n            ele.setAttribute('data-original-title', statusMessage(ele.innerText));\n            ele.setAttribute('aria-label', statusMessage(ele.innerText));\n            ele.setAttribute('title', '');\n          }\n        });\n      });\n    };\n    const removeRoleListBox = sink => {\n      const menuBox = sink === null || sink === void 0 ? void 0 : sink.querySelector('div.tox.tox-silver-sink.tox-tinymce-aux');\n      if (menuBox) {\n        menuBox === null || menuBox === void 0 ? void 0 : menuBox.childNodes.forEach(ele => {\n          if (ele instanceof HTMLElement && ele.role == 'listbox') {\n            ele.removeAttribute('role');\n          }\n        });\n      }\n    };\n    const removeRoleComboBox = sink => {\n      const dialogComboBox = sink === null || sink === void 0 ? void 0 : sink.querySelectorAll('div.tox-textfield');\n      if (dialogComboBox && dialogComboBox.length >= 0) {\n        dialogComboBox.forEach(ele => {\n          if (ele.role == 'combobox') {\n            ele.removeAttribute('role');\n          }\n        });\n      }\n    };\n    const addA11yFixes = editor => {\n      addAriaAndTooltipStatusBar(editor);\n      editor.on('OpenWindow', function (e) {\n        const sink = editor.theme.ui.getRootComponent().element.dom;\n        replaceDialogHeader(sink);\n        removeRoleListBox(sink);\n        removeRoleComboBox(sink);\n      });\n    };\n\n    const SPACING = 8;\n    const NON_TOOLTIP_ELEMS = ['IFRAME', 'LINK'];\n    const createElement = (className, styles) => {\n      const element = document.createElement('div');\n      Object.keys(styles).forEach(key => {\n        element.style[key] = styles[key];\n      });\n      element.className = className;\n      return element;\n    };\n    const createTooltipSink = () => {\n      const styles = {\n        position: 'absolute',\n        zIndex: '65536',\n        width: '100%',\n        left: '0',\n        top: '0'\n      };\n      const tooltipSink = createElement('tox tox-silver-sink tox-tinymce-aux tox-sn-tooltip', styles);\n      tooltipSink.setAttribute('sn-tooltip', 'true');\n      return tooltipSink;\n    };\n    let tinyMCEhoist = null;\n    const replaceTitle = nodes => {\n      if (nodes.getAttribute('title') && NON_TOOLTIP_ELEMS.indexOf(nodes.tagName) == -1) {\n        const drawTooltip = () => {\n          const hoistContainer = createTooltipSink();\n          if (tinyMCEhoist) {\n            tinyMCEhoist.appendChild(hoistContainer);\n          }\n          let val = nodes.getAttribute('title') || '';\n          nodes.removeAttribute('title');\n          nodes.setAttribute('data-sn-title', val);\n          const absoluteStyles = {\n            position: 'absolute',\n            left: '0',\n            top: '0'\n          };\n          const tooltipContainer = createElement('tox-tooltip tox-tooltip--up tox-sn-container__tooltip', absoluteStyles);\n          const tooltip = createElement('tox-tooltip__body', absoluteStyles);\n          tooltip.innerHTML = val || '';\n          if (hoistContainer) {\n            hoistContainer.appendChild(tooltipContainer);\n            tooltipContainer.appendChild(tooltip);\n            tooltip.style.width = 'max-content';\n            const targetNode = nodes.getBoundingClientRect();\n            const left = targetNode.left + targetNode.width / 2 - tooltip.offsetWidth / 2;\n            const top = targetNode.bottom + SPACING;\n            tooltip.style.left = \"\".concat(left, \"px\");\n            tooltip.style.top = \"\".concat(top, \"px\");\n          }\n        };\n        const removeTooltip = () => {\n          var _a;\n          if (tinyMCEhoist) {\n            const tooltip = tinyMCEhoist.querySelector('div.tox.tox-silver-sink.tox-tinymce-aux.tox-sn-tooltip');\n            if (tooltip) {\n              (_a = tooltip === null || tooltip === void 0 ? void 0 : tooltip.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(tooltip);\n            }\n            if (nodes.hasAttribute('data-sn-title')) {\n              nodes.setAttribute('title', nodes.getAttribute('data-sn-title') || '');\n              nodes.removeAttribute('data-sn-title');\n            }\n          }\n        };\n        nodes.addEventListener('mouseenter', () => {\n          removeTooltip();\n          drawTooltip();\n        });\n        nodes.addEventListener('focus', () => {\n          removeTooltip();\n          drawTooltip();\n        });\n        nodes.addEventListener('blur', () => {\n          removeTooltip();\n        });\n        nodes.addEventListener('mouseleave', () => {\n          removeTooltip();\n        });\n      }\n      for (let i = 0; i < nodes.children.length; i++) {\n        const currElem = nodes.children[i];\n        replaceTitle(currElem);\n      }\n    };\n    const handleChevronClick = () => {\n      requestAnimationFrame(() => {\n        var _a;\n        const shadowRoot = (_a = document.querySelector('sn-tinymce-hoist')) === null || _a === void 0 ? void 0 : _a.shadowRoot;\n        if (!shadowRoot) return;\n        const validChildren = Array.from(shadowRoot.children).filter(el => !(el.hasAttribute('sn-tooltip') && el.tagName === 'LINK'));\n        validChildren.forEach(replaceTitle);\n      });\n    };\n    const attachToolTipForChevron = editor => {\n      var _a;\n      const chevrons = Array.from(((_a = editor.getContainer()) === null || _a === void 0 ? void 0 : _a.querySelectorAll('span.tox-tbtn.tox-split-button__chevron')) || []);\n      chevrons.forEach(chevron => {\n        chevron.removeEventListener('click', handleChevronClick);\n        chevron.addEventListener('click', handleChevronClick);\n      });\n    };\n    const addTooltipForTitle = editor => {\n      var _a;\n      tinyMCEhoist = ((_a = document.querySelector('sn-tinymce-hoist')) === null || _a === void 0 ? void 0 : _a.shadowRoot) || editor.theme.ui.getRootComponent().element.dom;\n      setTimeout(() => {\n        replaceTitle(editor.getContainer());\n        attachToolTipForChevron(editor);\n      }, 0);\n      let resizeTimeout = null;\n      editor.on('OpenWindow', () => {\n        var _a;\n        const shadowRoot = (_a = document.querySelector('sn-tinymce-hoist')) === null || _a === void 0 ? void 0 : _a.shadowRoot;\n        if (shadowRoot) {\n          const validChildren = Array.from(shadowRoot.children).filter(el => !(el.hasAttribute('sn-tooltip') && el.tagName === 'LINK'));\n          validChildren.forEach(replaceTitle);\n        }\n      });\n      editor.on('ResizeContent', () => {\n        if (resizeTimeout) clearTimeout(resizeTimeout);\n        resizeTimeout = setTimeout(() => {\n          attachToolTipForChevron(editor);\n        }, 100);\n      });\n    };\n\n    var Plugin = (() => {\n      global.add('sn_a11y_fix', editor => {\n        register(editor);\n        editor.on('init', () => {\n          addA11yFixes(editor);\n          if (isShowTooltipEnabled(editor)) {\n            addTooltipForTitle(editor);\n          }\n        });\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const MIN_LEFT = 8;\n    const VERTICAL_MARGIN = 4;\n    var Plugin = (() => {\n      global.add('sn_tooltip', editor => {\n        let tooltipContainer;\n        let tooltip;\n        const setupTooltip = editor => {\n          const editorParent = editor.getContainer().parentElement;\n          if (!tooltip) {\n            tooltip = editorParent.querySelector('.sn-mce-tooltip');\n          }\n          if (!tooltip) {\n            tooltipContainer = document.createElement('div');\n            tooltipContainer.className = 'sn-mce-tooltip-container';\n            tooltip = document.createElement('div');\n            tooltip.className = 'sn-mce-tooltip';\n            editorParent.appendChild(tooltipContainer);\n            tooltipContainer.appendChild(tooltip);\n          }\n        };\n        const hideTooltip = () => {\n          if (tooltip && tooltip.classList.contains('visible')) {\n            tooltip.style.top = '';\n            tooltip.style.left = '';\n            tooltip.textContent = '';\n            tooltip.classList.remove('visible');\n          }\n        };\n        editor.on('mouseover', e => {\n          const target = e.target;\n          if (target.hasAttribute('data-sn-mce-tooltip')) {\n            if (!tooltip) setupTooltip(editor);\n            if (tooltip) {\n              const tooltipContent = target.getAttribute('data-sn-mce-tooltip');\n              tooltip.textContent = tooltipContent;\n              const rect = target.getBoundingClientRect();\n              const editorContainer = editor.getContainer();\n              const editorContainerRect = editorContainer.getBoundingClientRect();\n              const editorHeader = editorContainer.querySelector('.tox-editor-header');\n              const editorHeaderRect = editorHeader.getBoundingClientRect();\n              let top = rect.top + editorHeaderRect.height - tooltip.offsetHeight - VERTICAL_MARGIN;\n              let left = rect.left + (rect.width - tooltip.offsetWidth) / 2;\n              if (editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen()) {\n                if (!tooltip.classList.contains('fullscreen')) {\n                  tooltip.classList.add('fullscreen');\n                }\n              } else {\n                if (tooltip.classList.contains('fullscreen')) {\n                  tooltip.classList.remove('fullscreen');\n                }\n                top = top - editorContainerRect.height;\n              }\n              if (left < MIN_LEFT) left = MIN_LEFT;\n              tooltip.style.top = \"\".concat(top, \"px\");\n              tooltip.style.left = \"\".concat(left, \"px\");\n              tooltip.classList.add('visible');\n            }\n          }\n        });\n        editor.on('mouseout', e => {\n          const target = e.target;\n          if (target.hasAttribute('data-sn-mce-tooltip')) {\n            hideTooltip();\n          }\n        });\n        editor.on('keydown', e => {\n          if (e.key === 'Backspace') {\n            hideTooltip();\n          }\n        });\n        editor.on('sn_tooltip.hide_tooltip', hideTooltip);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const option = name => editor => editor.options.get(name);\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const getForcedRootBlock = option('forced_root_block');\n    const getPlaceholder = editor => {\n      var _a;\n      return (_a = option('sn_settings')(editor).placeholder) !== null && _a !== void 0 ? _a : '';\n    };\n\n    const isSimpleType = type => value => typeof value === type;\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n\n    const isNotEmpty = s => s.length > 0;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const firePlaceholderToggle = (editor, state) => editor.fire('PlaceholderToggle', {\n      state\n    });\n\n    const ELEMENT = 1;\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const ancestor$2 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const ancestor$1 = (scope, selector, isRoot) => ancestor$2(scope, e => is(e, selector), isRoot);\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, selector, isRoot).isSome();\n\n    var global = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    const isNodeType = type => {\n      return node => {\n        return !!node && node.nodeType === type;\n      };\n    };\n    const isElement$1 = isNodeType(1);\n    const matchNodeName = name => {\n      const lowerCasedName = name.toLowerCase();\n      return node => isNonNullable(node) && node.nodeName.toLowerCase() === lowerCasedName;\n    };\n    const matchNodeNames = names => {\n      const lowerCasedNames = names.map(s => s.toLowerCase());\n      return node => {\n        if (node && node.nodeName) {\n          const nodeName = node.nodeName.toLowerCase();\n          return contains(lowerCasedNames, nodeName);\n        }\n        return false;\n      };\n    };\n    const hasAttribute = attrName => {\n      return node => {\n        return isElement$1(node) && node.hasAttribute(attrName);\n      };\n    };\n    const hasContentEditableState = value => {\n      return node => {\n        if (isElement$1(node)) {\n          if (node.contentEditable === value) {\n            return true;\n          }\n          if (node.getAttribute('data-mce-contenteditable') === value) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    const isText$2 = isNodeType(3);\n    const isBr$1 = matchNodeName('br');\n    const isContentEditableFalse$1 = hasContentEditableState('false');\n\n    const zeroWidth = '\\uFEFF';\n    const isZwsp$1 = char => char === zeroWidth;\n\n    const isZwsp = isZwsp$1;\n\n    const isElement = isElement$1;\n    const isText$1 = isText$2;\n    const isCaretContainerBlock = node => {\n      if (isText$1(node)) {\n        node = node.parentNode;\n      }\n      return isElement(node) && node.hasAttribute('data-mce-caret');\n    };\n    const isCaretContainerInline = node => isText$1(node) && isZwsp(node.data);\n    const isCaretContainer$1 = node => isCaretContainerBlock(node) || isCaretContainerInline(node);\n\n    const isContentEditableFalse = isContentEditableFalse$1;\n    const isBr = isBr$1;\n    const isText = isText$2;\n    const isInvalidTextElement = matchNodeNames(['script', 'style', 'textarea']);\n    const isAtomicInline = matchNodeNames(['img', 'input', 'textarea', 'hr', 'iframe', 'video', 'audio', 'object', 'embed']);\n    const isTable = matchNodeNames(['table']);\n    const isCaretContainer = isCaretContainer$1;\n    const isCaretCandidate = node => {\n      if (isCaretContainer(node)) {\n        return false;\n      }\n      if (isText(node)) {\n        return !isInvalidTextElement(node.parentNode);\n      }\n      return isAtomicInline(node) || isBr(node) || isTable(node) || isNonUiContentEditableFalse(node);\n    };\n    const isUnselectable = node => isElement$1(node) && node.getAttribute('unselectable') === 'true';\n    const isNonUiContentEditableFalse = node => !isUnselectable(node) && isContentEditableFalse(node);\n\n    const isWhitespaceText = text => /^[ \\t\\r\\n]*$/.test(text);\n    const hasWhitespacePreserveParent = (node, rootNode) => {\n      const rootElement = SugarElement.fromDom(rootNode);\n      const startNode = SugarElement.fromDom(node);\n      return ancestor(startNode, 'pre,code', curry(eq, rootElement));\n    };\n    const isWhitespace = (node, rootNode) => {\n      return isText$2(node) && isWhitespaceText(node.data) && !hasWhitespacePreserveParent(node, rootNode);\n    };\n    const isNamedAnchor = node => {\n      return isElement$1(node) && node.nodeName === 'A' && !node.hasAttribute('href') && (node.hasAttribute('name') || node.hasAttribute('id'));\n    };\n    const isContent = (node, rootNode) => {\n      return isCaretCandidate(node) && !isWhitespace(node, rootNode) || isNamedAnchor(node) || isBookmark(node);\n    };\n    const isBookmark = hasAttribute('data-mce-bookmark');\n    const isEmptyNode = targetNode => {\n      let brCount = 0;\n      if (isContent(targetNode, targetNode)) {\n        return false;\n      } else {\n        let node = targetNode.firstChild;\n        if (!node) {\n          return true;\n        }\n        const walker = new global(node, targetNode);\n        do {\n          if (isBr$1(node)) {\n            brCount++;\n            node = walker.next();\n            continue;\n          }\n          if (isContent(node, targetNode)) {\n            return false;\n          }\n          node = walker.next();\n        } while (node);\n        return brCount <= 1;\n      }\n    };\n    const isEmpty = elm => isEmptyNode(elm.dom);\n\n    const nonTypingKeycodes = [9, 27, global$1.HOME, global$1.END, 19, 20, 44, 144, 145, 33, 34, 45, 16, 17, 18, 91, 92, 93, global$1.DOWN, global$1.UP, global$1.LEFT, global$1.RIGHT].concat(global$3.browser.isFirefox() ? [224] : []);\n    const placeholderAttr = 'data-mce-placeholder';\n    const isKeyboardEvent = e => e.type === 'keydown' || e.type === 'keyup';\n    const isDeleteEvent = e => {\n      const keyCode = e.keyCode;\n      return keyCode === global$1.BACKSPACE || keyCode === global$1.DELETE;\n    };\n    const isNonTypingKeyboardEvent = e => {\n      if (isKeyboardEvent(e)) {\n        const keyCode = e.keyCode;\n        return !isDeleteEvent(e) && (global$1.metaKeyPressed(e) || e.altKey || keyCode >= 112 && keyCode <= 123 || contains(nonTypingKeycodes, keyCode));\n      } else {\n        return false;\n      }\n    };\n    const isTypingKeyboardEvent = e => isKeyboardEvent(e) && !(isDeleteEvent(e) || e.type === 'keyup' && e.keyCode === 229);\n    const isVisuallyEmpty = (dom, rootElm, forcedRootBlock) => {\n      if (isEmpty(SugarElement.fromDom(rootElm))) {\n        const firstElement = rootElm.firstElementChild;\n        if (!firstElement) {\n          return true;\n        } else if (dom.getStyle(rootElm.firstElementChild, 'padding-left') || dom.getStyle(rootElm.firstElementChild, 'padding-right')) {\n          return false;\n        } else {\n          return forcedRootBlock === firstElement.nodeName.toLowerCase();\n        }\n      } else {\n        return false;\n      }\n    };\n    const isPlaceholderShown = editor => editor.dom.getAttrib(editor.getBody(), placeholderAttr) !== '';\n    const updatePlaceholderText = (editor, placeholder) => {\n      const dom = editor.dom;\n      const body = editor.getBody();\n      dom.setAttrib(body, placeholderAttr, placeholder);\n      dom.setAttrib(body, 'aria-placeholder', placeholder);\n    };\n    const setup = editor => {\n      var _a;\n      let rootBlock = getForcedRootBlock(editor);\n      let placeholder = (_a = getPlaceholder(editor)) !== null && _a !== void 0 ? _a : '';\n      const updatePlaceholder = (e, initial) => {\n        var _a;\n        if (isNonTypingKeyboardEvent(e)) {\n          return;\n        }\n        rootBlock = getForcedRootBlock(editor);\n        placeholder = (_a = getPlaceholder(editor)) !== null && _a !== void 0 ? _a : '';\n        const body = editor.getBody();\n        const showPlaceholder = isTypingKeyboardEvent(e) ? false : isVisuallyEmpty(editor.dom, body, rootBlock);\n        if (isPlaceholderShown(editor) !== showPlaceholder || initial) {\n          updatePlaceholderText(editor, showPlaceholder ? placeholder : null);\n          firePlaceholderToggle(editor, showPlaceholder);\n          editor.on(showPlaceholder ? 'keydown' : 'keyup', updatePlaceholder);\n          editor.off(showPlaceholder ? 'keyup' : 'keydown', updatePlaceholder);\n        }\n      };\n      if (isNotEmpty(placeholder)) {\n        editor.on('init', e => {\n          updatePlaceholder(e, true);\n          editor.on('change SetContent ExecCommand', updatePlaceholder);\n          editor.on('paste', e => global$2.setEditorTimeout(editor, () => updatePlaceholder(e)));\n        });\n      }\n    };\n\n    const get = editor => ({\n      updatePlaceholder: placeholder => {\n        const sn_settings = editor.options.get('sn_settings');\n        Object.assign(sn_settings, {\n          placeholder\n        });\n        editor.options.set('sn_settings', sn_settings);\n        if (isPlaceholderShown(editor)) {\n          updatePlaceholderText(editor, placeholder);\n        }\n      }\n    });\n\n    var Plugin = (() => {\n      global$4.add('placeholder', editor => {\n        register(editor);\n        setup(editor);\n        return get(editor);\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const setContent = (editor, html) => {\n      editor.focus();\n      editor.undoManager.transact(() => {\n        editor.setContent(html);\n      });\n      editor.selection.setCursorLocation();\n      editor.nodeChanged();\n    };\n    const getContent = editor => {\n      return editor.getContent({\n        source_view: true\n      });\n    };\n\n    const open = editor => {\n      const editorContent = getContent(editor);\n      editor.windowManager.open({\n        title: 'Source Code',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'textarea',\n            name: 'code'\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: {\n          code: editorContent\n        },\n        onSubmit: api => {\n          setContent(editor, api.getData().code);\n          api.close();\n        }\n      });\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceCodeEditor', () => {\n        open(editor);\n      });\n    };\n\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceCodeEditor');\n      editor.ui.registry.addButton('code', {\n        icon: 'sourcecode',\n        tooltip: 'Source code',\n        onAction\n      });\n      editor.ui.registry.addMenuItem('code', {\n        icon: 'sourcecode',\n        text: 'Source code',\n        onAction\n      });\n    };\n\n    var Plugin = (() => {\n      global.add('code', editor => {\n        register$1(editor);\n        register(editor);\n        return {};\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.geom.Rect');\n\n    const round = Math.round;\n    const create = (x, y, w, h) => ({\n      x,\n      y,\n      w,\n      h\n    });\n    const relativePosition = (rect, targetRect, rel) => {\n      const w = rect.w;\n      const h = rect.h;\n      const targetW = targetRect.w;\n      const targetH = targetRect.h;\n      let x = targetRect.x;\n      let y = targetRect.y;\n      rel = (rel || '').split('');\n      if (rel[0] === 'b') {\n        y += targetH;\n      }\n      if (rel[1] === 'r') {\n        x += targetW;\n      }\n      if (rel[0] === 'c') {\n        y += round(targetH / 2);\n      }\n      if (rel[1] === 'c') {\n        x += round(targetW / 2);\n      }\n      if (rel[3] === 'b') {\n        y -= h;\n      }\n      if (rel[4] === 'r') {\n        x -= w;\n      }\n      if (rel[3] === 'c') {\n        y -= round(h / 2);\n      }\n      if (rel[4] === 'c') {\n        x -= round(w / 2);\n      }\n      return create(x, y, w, h);\n    };\n    const findBestRelativePosition = (rect, targetRect, constrainRect, rels) => {\n      let pos, i;\n      for (i = 0; i < rels.length; i++) {\n        pos = relativePosition(rect, targetRect, rels[i]);\n        if (pos.x >= constrainRect.x && pos.x + pos.w <= constrainRect.w + constrainRect.x && pos.y >= constrainRect.y && pos.y + pos.h <= constrainRect.h + constrainRect.y) {\n          return rels[i];\n        }\n      }\n      return null;\n    };\n    var Rect = {\n      create,\n      relativePosition,\n      findBestRelativePosition,\n      ...(global$2 || {})\n    };\n\n    const debounce$1 = (callback, time) => {\n      let timeout;\n      let debounced = false;\n      let stopped = false;\n      const func = function (...args) {\n        const context = this;\n        debounced = !!timeout;\n        return new Promise(resolve => {\n          const later = () => {\n            timeout = undefined;\n            if (debounced) {\n              callback.apply(context, args).then(data => !stopped && resolve(data));\n            }\n          };\n          stopped = false;\n          clearTimeout(timeout);\n          timeout = setTimeout(later, time);\n          if (!debounced) {\n            callback.apply(context, args).then(data => !stopped && resolve(data));\n          }\n        });\n      };\n      func.stop = () => {\n        stopped = true;\n        clearTimeout(timeout);\n      };\n      return func;\n    };\n    var DUtils = {\n      debounce: debounce$1\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    const DOM = global$1.DOM;\n    const isDeleteKey = key => key === 'Backspace' || key === 'Delete';\n    const isEnterKey = key => key === 'Enter';\n    const isTextNode = node => node.nodeType === Node.TEXT_NODE;\n    const isElement$1 = node => node.nodeType === Node.ELEMENT_NODE;\n    const isMentions = node => DOM.is(node, '.sn-mention');\n    const isPrintableKey = key => key.length === 1;\n    const getMentionListRelPos = relativePosition => relativePosition ? relativePosition.substring(3) : null;\n    const isRightCornerAttached = position => position[1] === 'r';\n    const stopEventAndExec = (event, func) => {\n      event.preventDefault();\n      func(event.key);\n    };\n    const mergeNodes = nodes => {\n      const length = nodes.length;\n      if (length > 1) {\n        const wholeText = nodes[0].wholeText;\n        nodes[0].data = wholeText;\n        const parentNode = nodes[0].parentNode;\n        for (let i = 1; i < length; ++i) {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.removeChild(nodes[i]);\n        }\n      }\n    };\n    const normalize = node => {\n      node.normalize();\n      const nodeChildren = [...Array.from(node.childNodes), null];\n      const cLength = nodeChildren.length;\n      if (cLength) {\n        let textNodeSet = [];\n        for (let i = 0; i < cLength; ++i) {\n          const child = nodeChildren[i];\n          if (child && isTextNode(child)) {\n            textNodeSet.push(child);\n          } else if (textNodeSet.length) {\n            mergeNodes(textNodeSet);\n            textNodeSet = [];\n          }\n        }\n      }\n    };\n    const getScrollOrConstrainedParents = node => {\n      if (!node) {\n        return null;\n      }\n      let scrollXParent = null;\n      let scrollYParent = null;\n      let parent = node.host || node.parentNode;\n      while (parent) {\n        if (isElement$1(parent)) {\n          const {\n            overflowX,\n            overflowY\n          } = window.getComputedStyle(parent);\n          const isScrollableX = overflowX !== 'visible';\n          const isScrollableY = overflowY !== 'visible';\n          if (!scrollXParent && isScrollableX && parent.scrollWidth >= parent.clientWidth) {\n            scrollXParent = parent;\n          }\n          if (!scrollYParent && isScrollableY && parent.scrollHeight >= parent.clientHeight) {\n            scrollYParent = parent;\n          }\n        }\n        if (scrollXParent && scrollYParent) {\n          break;\n        }\n        parent = parent.host || parent.parentNode;\n      }\n      return {\n        xParent: scrollXParent,\n        yParent: scrollYParent\n      };\n    };\n    const getConstrainRect = node => {\n      const {\n        xParent,\n        yParent\n      } = getScrollOrConstrainedParents(node);\n      const vpRect = DOM.getViewPort();\n      const xRect = xParent ? DOM.getRect(xParent) : vpRect;\n      const yRect = yParent ? DOM.getRect(yParent) : vpRect;\n      return {\n        x: xRect.x,\n        y: yRect.y,\n        w: xRect.w,\n        h: yRect.h\n      };\n    };\n    const filterMentions = (result = [], preloadMentions = [], searchTerm = '', cannotSeeRecordMessage) => {\n      if (!searchTerm) return [];\n      const lowerCaseSearchTerm = searchTerm.toLowerCase();\n      result = Array.isArray(result) ? result : [];\n      const pMentionsSearchedMatch = (Array.isArray(preloadMentions) ? preloadMentions : []).filter(user => {\n        const userName = user.name ? user.name.toLowerCase() : '';\n        const userLastName = user.lastname ? user.lastname.toLowerCase() : '';\n        return userName.startsWith(lowerCaseSearchTerm) || userLastName.startsWith(lowerCaseSearchTerm);\n      });\n      const userMap = new Map([...pMentionsSearchedMatch, ...result].filter(user => (user === null || user === void 0 ? void 0 : user.id) || (user === null || user === void 0 ? void 0 : user.sys_id)).map(user => [user.id || user.sys_id, {\n        ...user,\n        id: user.id || user.sys_id\n      }]));\n      return Array.from(userMap.values()).map(user => ({\n        ...user,\n        secondary: user.record_is_visible === false ? cannotSeeRecordMessage : user.secondary,\n        id: user.id || user.sys_id\n      }));\n    };\n    const debounce = (func, wait) => {\n      let timeout = null;\n      return function (...args) {\n        if (timeout) {\n          clearTimeout(timeout);\n        }\n        timeout = setTimeout(() => {\n          timeout = null;\n          func.apply(this, args);\n        }, wait);\n      };\n    };\n    var Utils = {\n      isDeleteKey,\n      isEnterKey,\n      isTextNode,\n      isMentions,\n      isPrintableKey,\n      getConstrainRect,\n      getMentionListRelPos,\n      isRightCornerAttached,\n      stopEventAndExec,\n      normalize,\n      filterMentions,\n      debounce\n    };\n\n    const MENTION_PATH = '/api/now/form/mention/record';\n    const getRequestHeaders = () => {\n      const userToken = window.g_ck;\n      const requestHeaders = new Headers();\n      if (userToken) requestHeaders.set('X-UserToken', userToken);\n      return requestHeaders;\n    };\n    class SNMentionService {\n      static retrieveUsers(table, resourceId, term) {\n        const params = \"term=\".concat(encodeURI(term));\n        return new Promise(resolve => {\n          fetch(\"\".concat(MENTION_PATH, \"/\").concat(table, \"/\").concat(resourceId, \"?\").concat(params), {\n            headers: getRequestHeaders()\n          }).then(response => {\n            if (response.ok) {\n              response.json().then(({\n                result\n              }) => {\n                const users = result.map(({\n                  sys_id,\n                  avatar,\n                  email,\n                  initials,\n                  name,\n                  record_is_visible,\n                  lastname\n                }) => ({\n                  sys_id,\n                  name,\n                  email,\n                  secondary: email,\n                  initials,\n                  image: avatar,\n                  record_is_visible,\n                  lastname\n                }));\n                resolve(users);\n              });\n            } else {\n              resolve([]);\n            }\n          }).catch(() => resolve([]));\n        });\n      }\n    }\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each$1 = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const get$3 = (obj, key) => {\n      return has$1(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has$1 = (obj, key) => hasOwnProperty.call(obj, key);\n\n    const option = name => editor => editor.options.get(name);\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const getSnSettings = option('sn_settings');\n    const getDirectionality = editor => {\n      const snSettings = getSnSettings(editor);\n      return get$3(snSettings, 'directionality').getOr('');\n    };\n    const getMentionsConfig = editor => {\n      const snSettings = getSnSettings(editor);\n      return get$3(snSettings, 'mentions').getOr({});\n    };\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter$1 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const get$2 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$2(xs, 0);\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const ELEMENT = 1;\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isElement = isType(ELEMENT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$1 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get$1 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$1(element, key));\n    const remove$5 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const read = (element, attr) => {\n      const value = get$1(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$2 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set$1(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$4 = (element, attr, id) => {\n      const nu = filter$1(read(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set$1(element, attr, nu.join(' '));\n      } else {\n        remove$5(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get = element => read(element, 'class');\n    const add$1 = (element, clazz) => add$2(element, 'class', clazz);\n    const remove$3 = (element, clazz) => remove$4(element, 'class', clazz);\n\n    const add = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$1(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get(element);\n      if (classList.length === 0) {\n        remove$5(element, 'class');\n      }\n    };\n    const remove$2 = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$3(element, clazz);\n      }\n      cleanClass(element);\n    };\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n\n    const isSupported$1 = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported = constant(supported);\n    const getOriginalEventTarget = event => {\n      if (isSupported() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported$1(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported$1(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each$1(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const remove$1 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$5(element, 'style');\n      }\n    };\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$1 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const filter = always;\n    const bind = (element, event, handler) => bind$1(element, event, filter, handler);\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each(children(element), rogue => {\n        remove(rogue);\n      });\n    };\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    const getDocument = () => SugarElement.fromDom(document);\n\n    const USER_ICON = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\" viewbox=\\\"0 0 12 12\\\" height=\\\"12px\\\" width=\\\"12px\\\">\\n    <g stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\n      <path d=\\\"M6,6 C4.61928813,6 3.5,4.88071187 3.5,3.5 C3.5,2.11928813 4.61928813,1 \\n        6,1 C7.38071187,1 8.5,2.11928813 8.5,3.5 C8.5,4.88071187 7.38071187,6 6,6 Z \\n        M10,11 L2,11 C2,8.790861 3.790861,7 6,7 C8.209139,7 10,8.790861 10,11 Z\\\" fill=\\\"currentColor\\\"><\/path>\\n    <\/g>\\n  <\/svg>\";\n    const createImage = image => \"<img class='sn-mention-avatar-img' src='/\".concat(image, \"'>\");\n    const createContent = avatar => \"<div class='sn-mention-avatar' role='button'>\".concat(avatar, \"<\/div>\");\n    const createContainer = content => \"<div class='sn-mention-avatar-container'>\".concat(content, \"<\/div>\");\n    const createAvatar = (image, initials) => {\n      if (image) {\n        return createImage(image);\n      }\n      return initials ? initials : USER_ICON;\n    };\n    var SNAvatar = {\n      create: (image, initials) => {\n        const avatar = createAvatar(image, initials);\n        const content = createContent(avatar);\n        return createContainer(content);\n      }\n    };\n\n    const ANNOUNCER_ATTR = 'data-sn-aria-announcer';\n    const timerMap = new WeakMap();\n    const getAnnouncerElement = editor => {\n      if (!editor) return null;\n      const body = editor.getBody();\n      if (!body) return null;\n      let el = body.querySelector(\"[\".concat(ANNOUNCER_ATTR, \"]\"));\n      if (!el) {\n        const doc = editor.getDoc();\n        el = doc.createElement('div');\n        el.setAttribute(ANNOUNCER_ATTR, '');\n        el.setAttribute('data-mce-bogus', 'all');\n        el.setAttribute('aria-live', 'assertive');\n        el.setAttribute('aria-atomic', 'true');\n        el.setAttribute('role', 'status');\n        el.style.cssText = 'position:absolute;width:1px;height:1px;overflow:hidden;' + 'clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px;';\n        body.appendChild(el);\n      }\n      return el;\n    };\n    const announce = (editor, message, delay = 50) => {\n      const el = getAnnouncerElement(editor);\n      if (!el) return;\n      const prevTimer = timerMap.get(el);\n      if (prevTimer) clearTimeout(prevTimer);\n      el.textContent = '';\n      const timer = setTimeout(() => {\n        el.textContent = message;\n        timerMap.delete(el);\n      }, delay);\n      timerMap.set(el, timer);\n    };\n    const clearAnnouncement = editor => {\n      const body = editor.getBody();\n      if (!body) return;\n      const el = body.querySelector(\"[\".concat(ANNOUNCER_ATTR, \"]\"));\n      if (el) {\n        const prevTimer = timerMap.get(el);\n        if (prevTimer) clearTimeout(prevTimer);\n        timerMap.delete(el);\n        el.textContent = '';\n      }\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const HIDE_OFFSET = -10000;\n    const DEFAULT_MESSAGES = {\n      loading: 'Loading',\n      noMatches: 'No matches found',\n      init: 'Enter the name of the person you want to mention'\n    };\n    const isChildOf = (target, parent) => {\n      while (target) {\n        if (target === parent) {\n          return true;\n        }\n        target = target.parentNode;\n      }\n      return false;\n    };\n    const insertAfter = (source, node) => {\n      const parent = source.parentNode;\n      parent === null || parent === void 0 ? void 0 : parent.insertBefore(node, source.nextSibling);\n    };\n    class SNMentionsList {\n      constructor(target, messages, rtl, editor, parentMentions) {\n        this.convertStyleToString = (cssValue, cssName) => {\n          const numericalCssMap = global.makeMap('fill-opacity font-weight line-height opacity orphans widows z-index zoom', ' ');\n          if (isNumber(cssValue)) {\n            return has$1(numericalCssMap, cssName) ? cssValue + '' : cssValue + 'px';\n          } else {\n            return cssValue;\n          }\n        };\n        this.visible = false;\n        this.rtl = rtl;\n        this.hoist = null;\n        this.itemMap = new Map();\n        this.init(target, messages, editor);\n        this.parentMentions = parentMentions;\n        this.editor = editor;\n      }\n      onSelect(fn) {\n        this.selectFunc = fn;\n      }\n      getMentionsContainerElement() {\n        return this.mentionsContainer.dom;\n      }\n      isVisible() {\n        return this.visible;\n      }\n      show(position) {\n        if (!this.hoist) {\n          this.hoist = document.querySelector('sn-tinymce-hoist');\n        }\n        let top = position.y;\n        let left = position.x;\n        if (this.hoist) {\n          this.hoist.shadowRoot.appendChild(this.offsetContainer.dom);\n          const hoistRect = this.hoist.getBoundingClientRect();\n          const containerRect = this.editor.getContainer().getBoundingClientRect();\n          const {\n            width: popupWidth,\n            height: popupHeight\n          } = this.mentionsContainer.dom.getBoundingClientRect();\n          top = (hoistRect.top - (containerRect.top + position.y)) * -1;\n          left = containerRect.left - hoistRect.left + position.x;\n          const viewportWidth = window.innerWidth;\n          const viewportHeight = window.innerHeight;\n          const rightEdge = hoistRect.left + left + popupWidth;\n          const bottomEdge = hoistRect.top + top + popupHeight;\n          if (rightEdge > viewportWidth) {\n            const newLeft = left - popupWidth - 20;\n            left = Math.max(newLeft, -hoistRect.left + 10);\n          }\n          if (bottomEdge > viewportHeight) {\n            top = top - popupHeight - 10;\n          }\n        }\n        setAll(this.mentionsContainer, {\n          visibility: 'visible',\n          top: this.convertStyleToString(top, 'top'),\n          left: this.convertStyleToString(left, 'left')\n        });\n        this.visible = true;\n      }\n      hide() {\n        if (this.hoist) {\n          before(SugarElement.fromDom(this.editor.getElement()), this.offsetContainer);\n        }\n        setAll(this.mentionsContainer, {\n          visibility: 'hidden',\n          top: this.convertStyleToString(HIDE_OFFSET, 'top'),\n          left: this.convertStyleToString(HIDE_OFFSET, 'left')\n        });\n        this.visible = false;\n        this.clearHighlightedItem();\n        this.editor && clearAnnouncement(this.editor);\n      }\n      highlight(index, shouldAnnounce = true) {\n        if (this.itemMap) {\n          let i = 0;\n          this.itemMap.forEach(value => {\n            if (i !== index) {\n              remove$2(value.element, 'is-hover');\n            } else {\n              add(value.element, 'is-hover');\n              this.highlightedItem = value;\n              this.scrollToView(value.element.dom);\n              if (shouldAnnounce) {\n                const label = value.data.name || value.data.value || '';\n                announce(this.editor, \"\".concat(label, \", \").concat(index + 1, \" of \").concat(this.itemMap.size));\n              }\n            }\n            ++i;\n          });\n        }\n      }\n      highlightNext() {\n        let index = 0;\n        if (this.highlightedItem) {\n          index = this.highlightedItem.index + 1;\n          index = index >= this.itemMap.size ? this.itemMap.size - 1 : index;\n        }\n        this.highlight(index);\n      }\n      highlightPrev() {\n        let index = 0;\n        if (this.highlightedItem && this.highlightedItem.index > 0) {\n          index = this.highlightedItem.index - 1;\n        }\n        this.highlight(index);\n      }\n      select() {\n        if (this.highlightedItem) {\n          this.selectFunc(this.highlightedItem.data);\n          this.editor.dispatch('sn_mentions.item_selected', {\n            data: this.highlightedItem.data\n          });\n          const userId = this.highlightedItem.data.sys_id || this.highlightedItem.data.id;\n          const name = this.highlightedItem.data.value || this.highlightedItem.data.name;\n          const isUnique = this.editor.dom.select(\"sn-mention[sysid=\\\"\".concat(userId, \"\\\"]\")).length === 1;\n          if (isUnique) {\n            this.parentMentions.addMention(userId, name);\n            this.editor.dispatch('sn_mentions.add_mention', {\n              data: {\n                id: [userId]\n              }\n            });\n            console.log('add_mention', userId);\n          }\n          this.hide();\n        }\n      }\n      render(isLoading, items, text) {\n        this.clearItems();\n        this.clearMessage();\n        if (isLoading) {\n          if (items === null || items === void 0 ? void 0 : items.length) {\n            this.renderItems(items);\n            this.highlight(0, false);\n          }\n          this.renderMessage(this.messages.loading);\n          announce(this.editor, (items === null || items === void 0 ? void 0 : items.length) ? \"\".concat(items.length, \" suggestions, loading more\") : this.messages.loading, 300);\n          return;\n        }\n        const hasText = (text === null || text === void 0 ? void 0 : text.length) > 0;\n        const hasItems = (items === null || items === void 0 ? void 0 : items.length) > 0;\n        if (hasText && hasItems) {\n          this.renderItems(items);\n          this.highlight(0, false);\n          announce(this.editor, \"\".concat(items.length, \" suggestions available\"), 300);\n        } else {\n          const message = hasText ? this.messages.noMatches : this.messages.init;\n          this.renderMessage(message);\n          announce(this.editor, message, 300);\n        }\n      }\n      cleanup() {\n        remove(this.offsetContainer);\n        this.documentClickHandler.unbind();\n      }\n      hasMatches() {\n        if (!this.itemMap || this.itemMap.size === 0) {\n          return false;\n        }\n        if (has(this.mentionsContainer, 'with-message')) {\n          const messageText = this.message.dom.innerText;\n          if (messageText === this.messages.noMatches) {\n            return false;\n          }\n        }\n        return true;\n      }\n      init(target, messages, editor) {\n        this.setupMessages(messages);\n        this.buildMentionsList(target);\n        this.bindDocumentClickHandler();\n        if (editor && typeof editor.on === 'function') {\n          editor.on('sn_popups_fix.dismiss_popups', () => this.hide());\n        }\n      }\n      setupMessages(messages) {\n        this.messages = {\n          ...DEFAULT_MESSAGES,\n          ...messages\n        };\n      }\n      buildMentionsList(target) {\n        this.offsetContainer = SugarElement.fromHtml('<div class=\"sn-mention-list-offset-container\"/>');\n        this.mentionsContainer = SugarElement.fromHtml('<div class=\"sn-mention-list-container\"/>');\n        this.mentionsList = SugarElement.fromHtml('<ul class=\"sn-mention-list\" role=\"listbox\" aria-label=\"Mention suggestions\" />');\n        this.message = SugarElement.fromHtml('<p />');\n        this.hide();\n        before(target, this.offsetContainer);\n        append(this.offsetContainer, this.mentionsContainer);\n        append(this.mentionsContainer, this.mentionsList);\n        append(this.mentionsContainer, this.message);\n        add(this.mentionsContainer, this.rtl ? '-rtl' : '-ltr');\n      }\n      bindDocumentClickHandler() {\n        this.documentClickHandler = bind(getDocument(), 'click', ({\n          target\n        }) => {\n          if (this.isVisible()) {\n            const menu = this.getMentionsContainerElement();\n            const isChild = isChildOf(target.dom, menu);\n            if (!isChild) {\n              this.hide();\n            }\n          }\n        });\n      }\n      getInitials(name) {\n        if (name.length === 0) return '';\n        const words = name.split(' ').filter(word => word.length > 0);\n        if (words.length <= 2) {\n          return words.map(word => word[0].toUpperCase()).join('');\n        }\n        return (words[0][0] + words[words.length - 1][0]).toUpperCase();\n      }\n      renderItem({\n        name,\n        value,\n        secondary,\n        image,\n        avatar,\n        initials,\n        id\n      }) {\n        const img = image || avatar;\n        const displayName = name || value;\n        initials = initials || this.getInitials(displayName);\n        const itemEl = SugarElement.fromHtml(\"<li class='sn-mention-list-item tox-sn' role='option'>\\n        \".concat(SNAvatar.create(img, initials), \"\\n        <div class='sn-mention-list-item-content'>\\n          <span class='sn-mention-list-item-title' title=\\\"\").concat(displayName, \"\\\">\").concat(displayName, \"<\/span>\\n          \").concat(secondary ? \"<span class='sn-mention-list-item-secondary' title=\\\"\".concat(secondary, \"\\\">\").concat(secondary, \"<\/span>\") : '', \"\\n        <\/div>\\n      <\/li>\"));\n        bind(itemEl, 'mouseenter', () => {\n          set$1(itemEl, 'tabindex', 0);\n          const {\n            index\n          } = this.itemMap.get(id);\n          this.highlight(index);\n        });\n        bind(itemEl, 'mouseleave', () => {\n          remove$5(itemEl, 'tabIndex');\n        });\n        bind(itemEl, 'click', e => {\n          e.raw.stopPropagation();\n          e.raw.preventDefault();\n          e.raw.stopImmediatePropagation();\n          this.select();\n        });\n        const preventAllEvents = e => {\n          e.stopPropagation();\n          e.preventDefault();\n          e.stopImmediatePropagation();\n        };\n        ['mousedown', 'mouseup'].forEach(eventType => {\n          itemEl.dom.addEventListener(eventType, preventAllEvents, {\n            capture: true\n          });\n        });\n        return itemEl;\n      }\n      renderItems(items) {\n        const itemMap = new Map();\n        empty(this.mentionsList);\n        let index = 0;\n        let last = null;\n        for (const item of items) {\n          const {\n            id\n          } = item;\n          const itemEl = this.renderItem(item);\n          const entry = {\n            index,\n            element: itemEl,\n            data: item\n          };\n          if (last) {\n            insertAfter(last.dom, itemEl.dom);\n          } else {\n            prepend(this.mentionsList, itemEl);\n          }\n          itemMap.set(id, entry);\n          last = entry.element;\n          index++;\n        }\n        this.itemMap = itemMap;\n        remove$1(this.mentionsList, 'display');\n      }\n      clearItems() {\n        set(this.mentionsList, 'display', 'none');\n        this.itemMap = new Map();\n      }\n      renderMessage(message) {\n        add(this.mentionsContainer, 'with-message');\n        this.message.dom.innerText = message;\n        remove$1(this.message, 'display');\n      }\n      clearMessage() {\n        remove$2(this.mentionsContainer, 'with-message');\n        set(this.message, 'display', 'none');\n      }\n      clearHighlightedItem() {\n        this.highlightedItem = null;\n      }\n      scrollToView(element) {\n        const viewHeight = this.getMentionsContainerElement().scrollHeight;\n        const scrollElement = this.mentionsList.dom;\n        const scrollTop = scrollElement.scrollTop;\n        const {\n          offsetTop,\n          offsetHeight\n        } = element;\n        const clippedOrHiddenTop = offsetTop < scrollTop;\n        const clippedOrHiddenBottom = offsetTop + offsetHeight > scrollTop + viewHeight;\n        if (clippedOrHiddenTop) {\n          scrollElement.scrollTop = offsetTop;\n        } else if (clippedOrHiddenBottom) {\n          scrollElement.scrollTop += offsetTop + offsetHeight - viewHeight;\n        }\n      }\n    }\n\n    const BREAK_SPACE = /\\s+/;\n    const MENTIONS_SYMBOL = '@';\n    const DEFAULT_RELATIVE_POSITION = 'bl-tl';\n    const RELATIVE_POSITIONS = [DEFAULT_RELATIVE_POSITION, 'bl-tr', 'tl-bl', 'tl-br'];\n    const VERTICAL_MARGIN = 4;\n    const DEFAULT_TABLE = 'sys_user';\n    const DEBOUNCE_TIME_MS = 500;\n    const MIN_CHARS = 0;\n    const isBetween = (num, min, max) => num > min && num < max;\n    class SNMentions {\n      constructor() {\n        this.addedMentions = new Set();\n        this.addedMentionsTracker = {};\n        this.isCutPasteRunning = false;\n        this.isCursorAtMention = false;\n        this.hasFetchedExternally = false;\n        this.escapePressed = false;\n        this.keyPressed = '';\n        this.isFullscreenTransitioning = false;\n        this.setListeners = () => {\n          const {\n            editor\n          } = this;\n          const rtl = getDirectionality(editor) === 'rtl';\n          const {\n            messages = {}\n          } = getMentionsConfig(editor);\n          let isInitialLoad = true;\n          let fetchedInitialMentions = false;\n          editor.on('PreInit', this.updateValidElements);\n          editor.on('init', () => {\n            this.mentionsList = new SNMentionsList(SugarElement.fromDom(editor.getElement()), messages, rtl, this.editor, this);\n            this.mentionsList.onSelect((...args) => {\n              this.fetchData.stop();\n              this.appendMention.apply(this, args);\n            });\n          });\n          editor.on('SetContent', () => {\n            if (fetchedInitialMentions) {\n              if (!editor.getContent()) {\n                this.syncMentionsState();\n              }\n              return;\n            }\n            if (isInitialLoad && editor.getContent({\n              format: 'raw'\n            }).trim() !== '') {\n              isInitialLoad = false;\n            } else if (!isInitialLoad) {\n              this.syncMentionsState();\n              fetchedInitialMentions = true;\n            }\n          });\n          editor.on('remove', () => {\n            if (this.mentionsList) {\n              this.mentionsList.cleanup();\n            }\n          });\n          editor.on('keydown', this.onKeyDown);\n          editor.on('keyup', this.onKeyUp);\n          editor.on('focus click', () => {\n            if (this.mentionsList && this.mentionsList.isVisible()) {\n              this.mentionsList.hide();\n            }\n          });\n          editor.on('input', e => {\n            this.keyPressed === 'Backspace' ? this.debouncedSyncMentionsState() : this.syncMentionsState();\n          });\n          editor.on('paste', e => {\n            setTimeout(() => {\n              editor.fire('input');\n            }, 10);\n          });\n          editor.on('change', e => {\n            if (this.isCutPasteRunning) {\n              console.log('inside change');\n              this.isCutPasteRunning = false;\n              this.debouncedSyncMentionsState();\n              setTimeout(() => {\n                this.filterTextFromMentions();\n              }, 300);\n            }\n          });\n          editor.on('redo undo', e => {\n            this.debouncedSyncMentionsState();\n          });\n          editor.on('cut', e => {});\n          editor.on('cut paste', e => {\n            this.isCutPasteRunning = true;\n          });\n          editor.on('FullscreenStateChanged', () => {\n            if (this.mentionsList.isVisible()) {\n              this.isFullscreenTransitioning = true;\n              setTimeout(() => this.search(), 100);\n            }\n          });\n          editor.on('blur', () => {\n            this.isCutPasteRunning = false;\n          });\n        };\n        this.updateValidElements = () => {\n          this.editor.schema.addCustomElements('~sn-mention');\n          this.editor.schema.addValidElements(\"sn-mention[class|sysid\".concat(!this.hasFetchedExternally ? '|table]' : ']'));\n          this.editor.schema.addValidChildren('sn-mention[#text]');\n        };\n        this.setProperties = () => {\n          const mentions = getMentionsConfig(this.editor);\n          const {\n            minChars = MIN_CHARS,\n            messages = {},\n            resourceTable,\n            resourceSysId,\n            fetch\n          } = mentions;\n          const {\n            cannotSeeRecordMsg\n          } = messages;\n          this.minChars = minChars;\n          this.cannotSeeRecordMessage = cannotSeeRecordMsg;\n          this.setFetch({\n            debounce: DEBOUNCE_TIME_MS,\n            fetch,\n            resourceTable,\n            resourceSysId\n          });\n        };\n        this.setFetch = ({\n          debounce = DEBOUNCE_TIME_MS,\n          fetch,\n          resourceTable,\n          resourceSysId\n        }) => {\n          let fetchFn = noop;\n          if (fetch) {\n            this.hasFetchedExternally = true;\n            fetchFn = query => fetch({\n              term: query\n            });\n          } else if (resourceTable && resourceSysId) {\n            this.hasFetchedExternally = false;\n            fetchFn = query => {\n              var _a;\n              const snSettings = (_a = this.editor.options.get('sn_settings')) === null || _a === void 0 ? void 0 : _a.mentions;\n              const preloadedMentions = Array.isArray(snSettings === null || snSettings === void 0 ? void 0 : snSettings.preloadMentions) ? snSettings.preloadMentions : [];\n              return SNMentionService.retrieveUsers(resourceTable, resourceSysId, query).then(suggestions => {\n                return Utils.filterMentions(suggestions, preloadedMentions, query, this.cannotSeeRecordMessage);\n              });\n            };\n          }\n          this.fetchData = DUtils.debounce(fetchFn, debounce);\n        };\n        this.search = () => {\n          const mentionData = this.findLastMention();\n          if (this.escapePressed) return;\n          if (mentionData && !/\\s{2,}/.test(mentionData.text)) {\n            this.showMentionsList(mentionData);\n          } else {\n            this.mentionsList.hide();\n          }\n        };\n        this.dispatcherToMentionsList = fn => this.mentionsList[fn].bind(this.mentionsList);\n        this.appendMention = mentionItem => {\n          const {\n            id,\n            sys_id,\n            name,\n            value,\n            avatar,\n            record_is_visible,\n            secondary\n          } = mentionItem;\n          const displayText = name !== null && name !== void 0 ? name : value;\n          this.editor.undoManager.transact(() => {\n            var _a;\n            const {\n              table = DEFAULT_TABLE\n            } = (_a = this.editor.getParam('sn_settings')) === null || _a === void 0 ? void 0 : _a.mentions;\n            const mentionsTag = this.editor.dom.create('sn-mention', {\n              class: 'sn-mention',\n              sysid: id || sys_id,\n              table,\n              value: displayText,\n              avatar,\n              record_is_visible,\n              secondary\n            });\n            mentionsTag.appendChild(this.editor.dom.doc.createTextNode(\"@\".concat(displayText)));\n            const currentNode = this.editor.selection.getNode();\n            const styledParent = this.editor.dom.getParent(currentNode, '[style*=\"color\"], [style*=\"background\"]');\n            const toReplace = '@' + this.searchTerm;\n            Optional.from(this.findLastMention()).each(selection => {\n              this.editor.selection.setRng(selection.range);\n              if (styledParent) {\n                const textNodes = Array.from(styledParent.childNodes).filter(node => node.nodeType === Node.TEXT_NODE && node.textContent.includes(toReplace));\n                const cursorNode = selection.range.startContainer;\n                const targetNode = textNodes.find(node => node === cursorNode || node.contains(cursorNode));\n                if (targetNode) {\n                  const mentionIndex = targetNode.textContent.indexOf(toReplace);\n                  const beforeText = targetNode.textContent.substring(0, mentionIndex);\n                  const afterText = targetNode.textContent.substring(mentionIndex + toReplace.length);\n                  const beforeNode = this.editor.dom.doc.createTextNode(beforeText);\n                  const afterNode = this.editor.dom.doc.createTextNode(afterText);\n                  const fragment = this.editor.dom.doc.createDocumentFragment();\n                  if (beforeText) fragment.appendChild(beforeNode);\n                  fragment.appendChild(mentionsTag);\n                  if (afterText) fragment.appendChild(afterNode);\n                  targetNode.parentNode.replaceChild(fragment, targetNode);\n                  const newRange = this.editor.dom.createRng();\n                  newRange.setStartAfter(mentionsTag);\n                  newRange.setEndAfter(mentionsTag);\n                  this.editor.selection.setRng(newRange);\n                  this.editor.insertContent(' ');\n                }\n              } else {\n                this.editor.insertContent(mentionsTag.outerHTML + '&nbsp;');\n              }\n            });\n          });\n          this.editor.focus();\n        };\n        this.onKeyDown = event => {\n          const {\n            key\n          } = event;\n          this.keyPressed = key;\n          this.isSpecialKey = global$3.modifierPressed(event) || global$3.metaKeyPressed(event);\n          if (this.mentionsList.isVisible() && !global$3.modifierPressed(event)) {\n            switch (key) {\n              case 'Esc':\n              case 'Escape':\n                this.escapePressed = true;\n                Utils.stopEventAndExec(event, this.dispatcherToMentionsList('hide'));\n                break;\n              case 'Up':\n              case 'ArrowUp':\n                Utils.stopEventAndExec(event, this.dispatcherToMentionsList('highlightPrev'));\n                break;\n              case 'Down':\n              case 'ArrowDown':\n                Utils.stopEventAndExec(event, this.dispatcherToMentionsList('highlightNext'));\n                break;\n              case 'Left':\n              case 'ArrowLeft':\n              case 'Right':\n              case 'ArrowRight':\n                event.preventDefault();\n                break;\n              case 'Enter':\n              case 'Tab':\n                event.preventDefault();\n                event.stopPropagation();\n                if (this.mentionsList.hasMatches()) {\n                  Utils.stopEventAndExec(event, this.dispatcherToMentionsList('select'));\n                } else {\n                  this.mentionsList.hide();\n                }\n                break;\n            }\n          }\n        };\n        this.filterTextFromMentions = () => {\n          const body = this.editor.getBody();\n          const mentions = body.querySelectorAll('sn-mention');\n          if (mentions.length === 0) return;\n          const range = this.editor.selection.getRng();\n          const cursorOffset = range.startOffset;\n          let firstModifiedNode = null;\n          let lastModifiedNode = null;\n          let isTriggerDeleted = false;\n          mentions.forEach(element => {\n            var _a;\n            if (element && element.tagName === 'SN-MENTION') {\n              const id = element.getAttribute('sysid');\n              const hasMentionTrigger = (_a = element.textContent) === null || _a === void 0 ? void 0 : _a.includes('@');\n              const text = element.textContent.replace('@', '');\n              element.parentNode;\n              const isMentionMutated = this.addedMentionsTracker[id] !== text;\n              if (!isTriggerDeleted) isTriggerDeleted = !hasMentionTrigger && !isMentionMutated;\n              if (isMentionMutated || !hasMentionTrigger) {\n                const textNode = this.editor.getDoc().createTextNode(element.textContent);\n                element.parentNode.replaceChild(textNode, element);\n                if (!firstModifiedNode) {\n                  firstModifiedNode = textNode;\n                }\n                lastModifiedNode = textNode;\n                Math.min(text.length, cursorOffset);\n              }\n            }\n          });\n          if (firstModifiedNode && !isTriggerDeleted) {\n            const newRange = this.editor.dom.createRng();\n            const safeOffset = firstModifiedNode.length;\n            newRange.setStart(firstModifiedNode, safeOffset);\n            newRange.setEnd(firstModifiedNode, safeOffset);\n            this.editor.selection.setRng(newRange);\n          } else if (lastModifiedNode) {\n            const newRange = this.editor.dom.createRng();\n            newRange.setStart(lastModifiedNode, 0);\n            newRange.setEnd(lastModifiedNode, 0);\n            this.editor.selection.setRng(newRange);\n          }\n        };\n        this.handleBackspaceOnMention = () => {\n          var _a;\n          const node = this.editor.selection.getNode();\n          Utils.isMentions(node) && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.includes('@'));\n          const cursorPosition = this.getCursorPositionRelativeToNode();\n          if (!this.isCursorAtMention && cursorPosition !== 'middle' || !Utils.isMentions(node)) return;\n          node.getAttribute('sysid');\n          const text = node.textContent;\n          const range = this.editor.selection.getRng();\n          const cursorOffset = range.startOffset;\n          const textNode = this.editor.getDoc().createTextNode(text);\n          node.parentNode.replaceChild(textNode, node);\n          const newRange = this.editor.selection.getRng();\n          newRange.setStart(textNode, cursorOffset);\n          newRange.setEnd(textNode, cursorOffset);\n          this.editor.selection.setRng(newRange);\n        };\n        this.handleDeleteKey = () => {\n          if (this.escapePressed) this.escapePressed = false;\n          this.handleBackspaceOnMention();\n        };\n        this.onKeyUp = event => {\n          const {\n            key\n          } = event;\n          const selection = this.editor.selection;\n          const isPartialMentionSelected = Utils.isMentions(selection.getNode());\n          const isCutCommand = key.toLowerCase() === 'x' && global$3.metaKeyPressed({\n            metaKey: true,\n            ctrlKey: true\n          });\n          if (Utils.isDeleteKey(key) || isCutCommand && (isPartialMentionSelected || this.isCutPasteRunning)) {\n            this.handleDeleteKey();\n          }\n          if (!this.isSpecialKey && key !== 'z') {\n            this.filterTextFromMentions();\n          }\n          if (Utils.isDeleteKey(key) || Utils.isPrintableKey(key)) {\n            setTimeout(() => {\n              this.search();\n            }, 0);\n          }\n          this.keyPressed = '';\n        };\n        this.debouncedSyncMentionsState = Utils.debounce(this.syncMentionsState.bind(this), 100);\n      }\n      init(editor) {\n        this.editor = editor;\n        this.setListeners();\n        this.setProperties();\n        this.setupMentionProtection();\n      }\n      findSearchSpace(text, start) {\n        let i = start - 1;\n        for (; i >= 0; --i) {\n          const char = text.charAt(i);\n          if (MENTIONS_SYMBOL === char) {\n            this.mentionPos = i;\n            break;\n          }\n        }\n        if (i >= 0) {\n          const spaceBefore = i > 0 ? BREAK_SPACE.test(text.charAt(i - 1)) : i === 0;\n          if (spaceBefore) {\n            return text.substring(i + 1, start);\n          }\n        }\n        this.mentionPos = null;\n        return null;\n      }\n      getTextAtCursor() {\n        const selectionRange = this.editor.selection.getRng();\n        const startContainer = selectionRange.startContainer;\n        if (selectionRange.collapsed && Utils.isTextNode(startContainer)) {\n          return startContainer.data.replace(/\\s/g, ' ');\n        }\n        return null;\n      }\n      findLastMention() {\n        const selectionRange = this.editor.selection.getRng();\n        const startOffset = selectionRange.startOffset;\n        const data = this.getTextAtCursor();\n        const mentionTerm = data ? this.findSearchSpace(data, startOffset) : null;\n        if (!mentionTerm) {\n          this.escapePressed = false;\n        }\n        if (mentionTerm === null) {\n          return null;\n        }\n        const range = selectionRange.cloneRange();\n        const textNode = selectionRange.startContainer;\n        range.setStart(textNode, startOffset - mentionTerm.length - 1);\n        range.setEnd(textNode, startOffset);\n        this.searchTerm = mentionTerm.trim();\n        return {\n          text: mentionTerm,\n          range\n        };\n      }\n      findBestFit(range) {\n        const clonedRange = range.cloneRange();\n        const contentContainer = this.editor.getContentAreaContainer();\n        const offsetLeft = contentContainer.offsetLeft;\n        const offsetTop = contentContainer.offsetTop;\n        const rangeRect = clonedRange.getClientRects()[0];\n        const rangeGeomRect = Rect.create(rangeRect.left + offsetLeft, rangeRect.top + offsetTop, rangeRect.width, rangeRect.height + VERTICAL_MARGIN);\n        let absRangeRect;\n        const vp = this.editor.dom.getViewPort();\n        const constraintRect = Utils.getConstrainRect(this.editor.getContainer());\n        if (this.editor.plugins.fullscreen && this.editor.plugins.fullscreen.isFullscreen()) {\n          absRangeRect = Rect.create(rangeGeomRect.x + vp.x, rangeGeomRect.y + vp.y, rangeGeomRect.w, rangeGeomRect.h);\n        } else {\n          absRangeRect = this.editor.dom.getRect(contentContainer);\n          absRangeRect.x += rangeGeomRect.x + vp.x - offsetLeft;\n          absRangeRect.y += rangeGeomRect.y + vp.y - offsetTop;\n          absRangeRect.w = rangeGeomRect.w;\n          absRangeRect.h = rangeGeomRect.h;\n        }\n        absRangeRect.x = Math.min(vp.x + vp.w, absRangeRect.x);\n        absRangeRect.y = Math.min(vp.y + vp.h, absRangeRect.y);\n        const mentionsContainerRect = this.editor.dom.getRect(this.mentionsList.getMentionsContainerElement());\n        const bestRelPos = Rect.findBestRelativePosition(mentionsContainerRect, absRangeRect, constraintRect, RELATIVE_POSITIONS) || DEFAULT_RELATIVE_POSITION;\n        const mentionListRelPos = Utils.getMentionListRelPos(bestRelPos);\n        if (Utils.isRightCornerAttached(mentionListRelPos)) {\n          clonedRange.setStart(clonedRange.startContainer, clonedRange.startOffset + 1);\n          const clientRects = clonedRange.getClientRects()[0];\n          rangeRect.x = clientRects.left + offsetLeft;\n        }\n        return Rect.relativePosition(mentionsContainerRect, rangeGeomRect, bestRelPos);\n      }\n      showMentionsList({\n        text,\n        range\n      }) {\n        var _a;\n        const bestFit = this.findBestFit(range);\n        if (this.mentionsList.isVisible() && this.isFullscreenTransitioning) {\n          this.mentionsList.show(bestFit);\n          this.isFullscreenTransitioning = false;\n        }\n        if (text && text.length >= this.minChars) {\n          const snSettings = (_a = this.editor.options.get('sn_settings')) === null || _a === void 0 ? void 0 : _a.mentions;\n          const preloadedMentions = Array.isArray(snSettings === null || snSettings === void 0 ? void 0 : snSettings.preloadMentions) ? snSettings.preloadMentions : [];\n          const initialFilteredSuggestions = Utils.filterMentions([], preloadedMentions, text, this.cannotSeeRecordMessage);\n          this.mentionsList.render(true, initialFilteredSuggestions, text);\n          if (!this.mentionsList.isVisible()) {\n            this.mentionsList.show(bestFit);\n          }\n          this.fetchData(this.searchTerm).then(suggestions => {\n            this.mentionsList.render(false, suggestions, this.searchTerm);\n            this.mentionsList.show(bestFit);\n          }, noop);\n        } else {\n          this.mentionsList.render(false, null, text);\n          this.mentionsList.show(bestFit);\n        }\n      }\n      replaceMention() {\n        this.editor.undoManager.transact(() => {\n          var _a;\n          const node = this.editor.selection.getNode();\n          const bm = this.editor.selection.getBookmark();\n          const sysid = node.getAttribute('sysid');\n          const name = node.innerText;\n          const isUnique = this.editor.dom.select(\"sn-mention[sysid=\\\"\".concat(sysid, \"\\\"]\")).length === 1;\n          if (isUnique) {\n            this.editor.dispatch('sn_mentions.delete_mention', {\n              data: {\n                id: [sysid]\n              }\n            });\n            console.log('delete_mention', sysid);\n            this.removeMention(sysid, name);\n          }\n          const text = node.innerHTML.replace(/\\s/g, ' ');\n          const textNode = this.editor.dom.create('text', {}, text);\n          (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(textNode, node);\n          this.editor.selection.select(textNode);\n          this.editor.selection.collapse(false);\n          Utils.normalize(textNode.parentNode);\n          this.editor.selection.moveToBookmark(bm);\n        });\n      }\n      replaceIfInMention() {\n        const selection = this.editor.selection;\n        const node = selection.getNode();\n        const isMentions = Utils.isMentions(node);\n        if (isMentions) {\n          const currentText = node.textContent;\n          this.replaceMention();\n          const textNode = this.editor.selection.getNode();\n          const range = this.editor.selection.getRng();\n          const atIndex = currentText.indexOf('@');\n          if (atIndex !== -1) {\n            range.setStart(textNode.firstChild, atIndex + 1);\n            range.setEnd(textNode.firstChild, currentText.length);\n            this.editor.selection.setRng(range);\n            this.search();\n          }\n        }\n      }\n      syncMentionsState() {\n        const seenIds = new Set();\n        let mentionsDOMElements = this.editor.dom.select('sn-mention');\n        const isPureMention = el => {\n          var _a;\n          const hasMentionTrigger = (_a = el.textContent) === null || _a === void 0 ? void 0 : _a.includes('@');\n          const textMatches = this.addedMentionsTracker[el.getAttribute('sysid')] === undefined || this.addedMentionsTracker[el.getAttribute('sysid')] === el.innerText.replace('@', '');\n          return hasMentionTrigger && textMatches;\n        };\n        mentionsDOMElements = mentionsDOMElements.filter(el => {\n          const shouldRemain = !seenIds.has(el.getAttribute('sysid')) && seenIds.add(el.getAttribute('sysid'));\n          return shouldRemain;\n        });\n        mentionsDOMElements = mentionsDOMElements.filter(isPureMention);\n        const isMentionsDeleted = mentionsDOMElements.length < this.addedMentions.size;\n        const isMentionsAdded = mentionsDOMElements.length > this.addedMentions.size;\n        const presentMentions = {};\n        if (isMentionsDeleted || isMentionsAdded) {\n          for (let i = 0; i < mentionsDOMElements.length; i++) {\n            const node = mentionsDOMElements[i];\n            const name = node.innerText.replace('@', '');\n            if (name) {\n              const id = node.getAttribute('sysid');\n              presentMentions[id] = this.addedMentionsTracker[id] || name;\n            }\n          }\n          if (isMentionsDeleted) {\n            const deletedMentions = this.findDeletedMentions(presentMentions);\n            this.editor.dispatch('sn_mentions.delete_mention', {\n              data: {\n                id: deletedMentions\n              }\n            });\n            console.log('delete_mention', deletedMentions);\n          } else if (isMentionsAdded) {\n            const addedMentions = this.findAddedMentions(presentMentions);\n            this.editor.dispatch('sn_mentions.add_mention', {\n              data: {\n                id: addedMentions\n              }\n            });\n            console.log('add_mention', addedMentions);\n          }\n        }\n      }\n      addMention(id, name) {\n        if (!id) {\n          console.warn('Mention must have either id or sys_id');\n          return;\n        }\n        this.addedMentions.add(id.toString());\n        this.addedMentionsTracker[id] = name;\n      }\n      removeMention(id, name) {\n        if (id) {\n          this.addedMentions.delete(id.toString());\n        }\n      }\n      replaceAddedMention(newMentions) {\n        if (newMentions) {\n          this.addedMentionsTracker = newMentions;\n          this.addedMentions = new Set(Object.keys(newMentions));\n        }\n      }\n      getMentions() {\n        return Array.from(this.addedMentions);\n      }\n      findDeletedMentions(currentMentions) {\n        const deletedMentions = [];\n        for (const id of this.addedMentions) {\n          if (!currentMentions.hasOwnProperty(id)) {\n            deletedMentions.push(id.toString());\n          }\n        }\n        this.replaceAddedMention(currentMentions);\n        return deletedMentions;\n      }\n      findAddedMentions(currentMentions) {\n        const addedMentions = [];\n        for (const id of Object.keys(currentMentions)) {\n          if (!this.addedMentions.has(id)) {\n            addedMentions.push(id.toString());\n          }\n        }\n        this.replaceAddedMention(currentMentions);\n        return addedMentions;\n      }\n      setupMentionProtection() {\n        this.editor.on('beforeinput', e => {\n          var _a;\n          const node = this.editor.selection.getNode();\n          const range = this.editor.selection.getRng();\n          const cursorOffset = range.startOffset;\n          this.isCursorAtMention = cursorOffset >= node.textContent.length;\n          if (e.inputType === 'deleteContentBackward' || e.inputType === 'deleteContentForward') return;\n          const selection = this.editor.selection;\n          const container = range.startContainer;\n          const mentionElement = (_a = container.parentElement) === null || _a === void 0 ? void 0 : _a.closest('sn-mention');\n          if (mentionElement) {\n            const mentionText = mentionElement.textContent || '';\n            const cursorOffset = range.startOffset;\n            const isAtEnd = cursorOffset === mentionText.length;\n            const isAtStart = cursorOffset === 0;\n            const isAtMiddle = isBetween(cursorOffset, 0, mentionText.length);\n            cursorOffset < mentionText.length / 2;\n            const newRange = this.editor.dom.createRng();\n            if (!this.isSingleSelection()) {\n              return;\n            }\n            if (isAtStart) {\n              e.preventDefault();\n              newRange.setStartBefore(mentionElement);\n              newRange.setEndBefore(mentionElement);\n            } else if (isAtEnd) {\n              e.preventDefault();\n              newRange.setStartAfter(mentionElement);\n              newRange.setEndAfter(mentionElement);\n            }\n            selection.setRng(newRange);\n            if (isAtMiddle) {\n              if (!Utils.isMentions(selection.getNode())) return;\n              const textNode = this.editor.getDoc().createTextNode(mentionText);\n              mentionElement.parentNode.replaceChild(textNode, mentionElement);\n              const newRange = this.editor.selection.getRng();\n              newRange.setStart(textNode, cursorOffset);\n              newRange.setEnd(textNode, cursorOffset);\n              this.editor.selection.setRng(newRange);\n            } else if (e.data) {\n              this.editor.insertContent(e.data);\n            }\n          }\n        });\n      }\n      isSingleSelection() {\n        const content = this.editor.selection.getContent();\n        const mentions = content.match(/<sn-mention/g);\n        return !(mentions === null || mentions === void 0 ? void 0 : mentions.length) ? true : (mentions === null || mentions === void 0 ? void 0 : mentions.length) <= 1;\n      }\n      getCursorPositionRelativeToNode() {\n        var _a;\n        const node = this.editor.selection.getNode();\n        if (!Utils.isMentions(node)) return null;\n        const range = this.editor.selection.getRng();\n        const cursorOffset = range.startOffset;\n        const container = range.startContainer;\n        const mentionElement = (_a = container.parentElement) === null || _a === void 0 ? void 0 : _a.closest('sn-mention');\n        const mentionText = mentionElement.textContent || '';\n        const isAtEnd = cursorOffset === mentionText.length;\n        const isAtStart = cursorOffset === 0;\n        const isAtMiddle = isBetween(cursorOffset, 0, mentionText.length);\n        return isAtMiddle ? 'middle' : isAtStart ? 'before' : isAtEnd ? 'after' : null;\n      }\n    }\n\n    var Plugin = (() => {\n      global$4.add('sn_mentions', editor => {\n        register(editor);\n        return new SNMentions();\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    const DOM = global$2.DOM;\n    const isElement$1 = node => node.nodeType === Node.ELEMENT_NODE;\n    const isTextNode = node => node.nodeType === Node.TEXT_NODE;\n    const getResultListRelPos = relativePosition => relativePosition ? relativePosition.substring(3) : null;\n    const getScrollOrConstrainedParents = node => {\n      if (!node) {\n        return null;\n      }\n      let scrollXParent = null;\n      let scrollYParent = null;\n      let parent = node.host || node.parentNode;\n      while (parent) {\n        if (isElement$1(parent)) {\n          const {\n            overflowX,\n            overflowY\n          } = window.getComputedStyle(parent);\n          const isScrollableX = overflowX !== 'visible';\n          const isScrollableY = overflowY !== 'visible';\n          if (!scrollXParent && isScrollableX && parent.scrollWidth >= parent.clientWidth) {\n            scrollXParent = parent;\n          }\n          if (!scrollYParent && isScrollableY && parent.scrollHeight >= parent.clientHeight) {\n            scrollYParent = parent;\n          }\n        }\n        if (scrollXParent && scrollYParent) {\n          break;\n        }\n        parent = parent.host || parent.parentNode;\n      }\n      return {\n        xParent: scrollXParent,\n        yParent: scrollYParent\n      };\n    };\n    const getConstrainRect = node => {\n      const {\n        xParent,\n        yParent\n      } = getScrollOrConstrainedParents(node);\n      const vpRect = DOM.getViewPort();\n      const xRect = xParent ? DOM.getRect(xParent) : vpRect;\n      const yRect = yParent ? DOM.getRect(yParent) : vpRect;\n      return {\n        x: xRect.x,\n        y: yRect.y,\n        w: xRect.w,\n        h: yRect.h\n      };\n    };\n    const stripTags = str => {\n      if (!str) return str;\n      const sanitized = str.replace(/(<([^>]+)>)/ig, '').replace(/&nbsp;/ig, ' ');\n      return tinymce.html.Entities.decode(sanitized);\n    };\n    var domUtils = {\n      isTextNode,\n      getConstrainRect,\n      getResultListRelPos,\n      stripTags,\n      encode: tinymce.html.Entities.encodeAllRaw\n    };\n\n    const isDeleteKey = key => key === 'Backspace' || key === 'Delete';\n    const isPrintableKey = key => key.length === 1;\n    function getSearchSpace() {\n      const selectionRange = this.editor.selection.getRng();\n      const cursorPos = selectionRange.startOffset;\n      const startContainer = selectionRange.startContainer;\n      let textAtNode = null;\n      if (selectionRange.collapsed && domUtils.isTextNode(startContainer)) {\n        textAtNode = startContainer.data.replace(/\\s/g, ' ');\n      }\n      if (textAtNode === null) return null;\n      const valueTillCursor = textAtNode.substring(0, cursorPos);\n      const tokens = valueTillCursor.split(/\\s+/g);\n      const currentToken = tokens[tokens.length - 1];\n      const range = selectionRange.cloneRange();\n      const textNode = startContainer;\n      if (this.activeHotkey) range.setStart(textNode, this.hotkeyPos);else range.setStart(textNode, cursorPos - currentToken.length);\n      range.setEnd(textNode, cursorPos);\n      return {\n        currentToken,\n        range,\n        cursorPos\n      };\n    }\n    var searchUtils = {\n      isDeleteKey,\n      isPrintableKey,\n      getSearchSpace\n    };\n\n    const TEXT_COMMANDS_TRIGGER = 'text_commands_trigger';\n    const TEXT_COMMANDS_PREFIX = '/';\n    const TEXT_COMMAND_ACTION = 'text_command#';\n    const ACTION_TYPES = {\n      INSERT_CONTENT: 'insert_content',\n      REPLACE_CONTENT: 'replace_content',\n      CUSTOM_EVENT: 'custom_event'\n    };\n    const svgMap = {\n      'no-search-results': \"<svg width=\\\"73\\\" height=\\\"56\\\" viewBox=\\\"0 0 73 56\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M5.00049 1.50024V45.5002H43.0005V13.1862L30.9995 1.50024H5.00049Z\\\" fill=\\\"white\\\"/>\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M30.9995 13.5H43.0005L30.9995 1.5V13.5Z\\\" fill=\\\"#EBD8F8\\\"/>\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M38 29H10C9.724 29 9.5 29.224 9.5 29.5C9.5 29.776 9.724 30 10 30H38C38.276 30 38.5 29.776 38.5 29.5C38.5 29.224 38.276 29 38 29Z\\\" fill=\\\"#1F204B\\\"/>\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M38 33H10C9.724 33 9.5 33.224 9.5 33.5C9.5 33.776 9.724 34 10 34H38C38.276 34 38.5 33.776 38.5 33.5C38.5 33.224 38.276 33 38 33Z\\\" fill=\\\"#1F204B\\\"/>\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M38 37H10C9.724 37 9.5 37.224 9.5 37.5C9.5 37.776 9.724 38 10 38H38C38.276 38 38.5 37.776 38.5 37.5C38.5 37.224 38.276 37 38 37Z\\\" fill=\\\"#1F204B\\\"/>\\n<mask id=\\\"mask0_787_9013\\\" style=\\\"mask-type:luminance\\\" maskUnits=\\\"userSpaceOnUse\\\" x=\\\"4\\\" y=\\\"1\\\" width=\\\"49\\\" height=\\\"53\\\">\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M4.5 54H52.5V1H4.5V54Z\\\" fill=\\\"white\\\"/>\\n<\/mask>\\n<g mask=\\\"url(#mask0_787_9013)\\\">\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M11.5 27H39.5V20H11.5V27Z\\\" fill=\\\"#BB77E9\\\"/>\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M42.5 45H5.5V2H30.5V13.5C30.5 13.776 30.724 14 31 14H42.5V45ZM31.5 2.685L42.093 13H31.5V2.685ZM43.349 12.827L31.349 1.142C31.256 1.051 31.131 1 31 1H5C4.724 1 4.5 1.224 4.5 1.5V45.5C4.5 45.776 4.724 46 5 46H43C43.276 46 43.5 45.776 43.5 45.5V13.186C43.5 13.051 43.445 12.922 43.349 12.827Z\\\" fill=\\\"#1F204B\\\"/>\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M52 44.5C52 49.471 47.971 53.5 43 53.5C38.029 53.5 34 49.471 34 44.5C34 39.529 38.029 35.5 43 35.5C47.971 35.5 52 39.529 52 44.5Z\\\" fill=\\\"white\\\"/>\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M43 53C38.313 53 34.5 49.187 34.5 44.5C34.5 39.813 38.313 36 43 36C47.687 36 51.5 39.813 51.5 44.5C51.5 49.187 47.687 53 43 53ZM43 35C37.762 35 33.5 39.262 33.5 44.5C33.5 49.738 37.762 54 43 54C48.238 54 52.5 49.738 52.5 44.5C52.5 39.262 48.238 35 43 35Z\\\" fill=\\\"#1F204B\\\"/>\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M41.5 46C39.846 46 38.5 44.654 38.5 43C38.5 41.346 39.846 40 41.5 40C43.154 40 44.5 41.346 44.5 43C44.5 44.654 43.154 46 41.5 46ZM44.646 45.439C45.174 44.763 45.5 43.923 45.5 43C45.5 40.794 43.705 39 41.5 39C39.295 39 37.5 40.794 37.5 43C37.5 45.206 39.295 47 41.5 47C42.423 47 43.263 46.674 43.939 46.146L46.646 48.854C46.744 48.951 46.872 49 47 49C47.128 49 47.256 48.951 47.354 48.854C47.549 48.658 47.549 48.342 47.354 48.146L44.646 45.439Z\\\" fill=\\\"#1F204B\\\"/>\\n<path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M10.5 25H37.5V19H10.5V25ZM38 26H10C9.724 26 9.5 25.776 9.5 25.5V18.5C9.5 18.224 9.724 18 10 18H38C38.276 18 38.5 18.224 38.5 18.5V25.5C38.5 25.776 38.276 26 38 26Z\\\" fill=\\\"#1F204B\\\"/>\\n<\/g>\\n<\/svg>\"\n    };\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const get$3 = (obj, key) => {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    const option = name => editor => editor.options.get(name);\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const getSnSettings = option('sn_settings');\n    const getTextCommandsConfig = editor => {\n      const snSettings = getSnSettings(editor);\n      return get$3(snSettings, 'textCommandsConfig').getOr({});\n    };\n    const getDirectionality = option('directionality');\n\n    const GRAPHQL_ENDPOINT$1 = '/api/now/graphql';\n    const INVOKE_ACTION_QUERY = \"\\n mutation ($table: String!, $sysId: String!, $commandId: String!, $query: String!) {\\n  now {\\n    textCommands {\\n      invokeAction(\\n        recordTable: $table\\n        recordSysId: $sysId\\n        commandId: $commandId\\n        query: $query\\n      ) {\\n        message\\n        header\\n        templateMessage {\\n          illustration\\n          headingLabel\\n          content\\n        }\\n        items {\\n          ... on now_textCommands_InsertContentItems {\\n            id\\n            title\\n            insertContent\\n            displayContent\\n            actionPayload\\n            recommended\\n          }\\n          ... on now_textCommands_ReplaceContentItems {\\n            id\\n            title\\n            replaceContent\\n            displayContent\\n            actionPayload\\n            recommended\\n          }\\n          ... on now_textCommands_CustomEventItems {\\n            id\\n            title\\n            customEvent\\n            displayContent\\n            actionPayload\\n            recommended\\n          }\\n        }\\n      }\\n    }\\n  }\\n}\\n\";\n    const getRequestHeaders$1 = () => {\n      const requestHeaders = new Headers();\n      requestHeaders.set('Content-Type', 'application/json');\n      const userToken = window.g_ck;\n      if (userToken) requestHeaders.set('X-UserToken', userToken);\n      return requestHeaders;\n    };\n    async function invokeCommand(variables) {\n      var _a, _b, _c;\n      const response = await fetch(GRAPHQL_ENDPOINT$1, {\n        method: 'POST',\n        headers: getRequestHeaders$1(),\n        body: JSON.stringify({\n          query: INVOKE_ACTION_QUERY,\n          variables\n        })\n      });\n      if (!response.ok) {\n        throw new Error(\"GraphQL error: \".concat(response.statusText));\n      }\n      const result = await response.json();\n      return ((_c = (_b = (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.now) === null || _b === void 0 ? void 0 : _b.textCommands) === null || _c === void 0 ? void 0 : _c.invokeAction) || {};\n    }\n\n    const GRAPHQL_ENDPOINT = '/api/now/graphql';\n    const ACTIONS_QUERY = \"\\n  query ($table: String!, $sysId: String!, $type: String!, $fieldType: String) {\\n    now {\\n      textCommands {\\n        actions(\\n          recordTable: $table\\n          recordSysId: $sysId\\n          type: $type\\n          fieldType: $fieldType\\n        ) {\\n          commandName\\n          sysId\\n          name\\n          actionType\\n        }\\n      }\\n    }\\n  }\\n\";\n    const getRequestHeaders = () => {\n      const requestHeaders = new Headers();\n      requestHeaders.set('Content-Type', 'application/json');\n      const userToken = window.g_ck;\n      if (userToken) requestHeaders.set('X-UserToken', userToken);\n      return requestHeaders;\n    };\n    async function fetchTextCommands(variables) {\n      var _a, _b, _c;\n      const response = await fetch(GRAPHQL_ENDPOINT, {\n        method: 'POST',\n        headers: getRequestHeaders(),\n        body: JSON.stringify({\n          query: ACTIONS_QUERY,\n          variables\n        })\n      });\n      if (!response.ok) {\n        throw new Error(\"GraphQL error: \".concat(response.statusText));\n      }\n      const result = await response.json();\n      return ((_c = (_b = (_a = result.data) === null || _a === void 0 ? void 0 : _a.now) === null || _b === void 0 ? void 0 : _b.textCommands) === null || _c === void 0 ? void 0 : _c.actions) || [];\n    }\n\n    const debounce = (callback, time, config = {\n      leading: true\n    }) => {\n      let timeout;\n      let debounced = false;\n      let stopped = false;\n      const func = function (...args) {\n        const context = this;\n        debounced = !!timeout;\n        return new Promise((resolve, reject) => {\n          const later = () => {\n            timeout = undefined;\n            if (!config.leading || debounced) {\n              callback.apply(context, args).then(data => !stopped && resolve(data)).catch(err => !stopped && reject(err));\n            }\n          };\n          stopped = false;\n          clearTimeout(timeout);\n          timeout = setTimeout(later, time);\n          if (!debounced && config.leading) {\n            callback.apply(context, args).then(data => !stopped && resolve(data)).catch(err => !stopped && reject(err));\n          }\n        });\n      };\n      func.stop = () => {\n        stopped = true;\n        clearTimeout(timeout);\n      };\n      return func;\n    };\n    const trailingDebounce = (callback, time) => {\n      return debounce(callback, time, {\n        leading: false\n      });\n    };\n    const debounceTime = 500;\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.geom.Rect');\n\n    const filter$1 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const get$2 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$2(xs, 0);\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const ELEMENT = 1;\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isElement = isType(ELEMENT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$1 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get$1 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$1(element, key));\n    const remove$5 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const read = (element, attr) => {\n      const value = get$1(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$2 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set$1(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$4 = (element, attr, id) => {\n      const nu = filter$1(read(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set$1(element, attr, nu.join(' '));\n      } else {\n        remove$5(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get = element => read(element, 'class');\n    const add$1 = (element, clazz) => add$2(element, 'class', clazz);\n    const remove$3 = (element, clazz) => remove$4(element, 'class', clazz);\n\n    const add = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$1(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get(element);\n      if (classList.length === 0) {\n        remove$5(element, 'class');\n      }\n    };\n    const remove$2 = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$3(element, clazz);\n      }\n      cleanClass(element);\n    };\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n\n    const isSupported$1 = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported = constant(supported);\n    const getOriginalEventTarget = event => {\n      if (isSupported() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported$1(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported$1(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const remove$1 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$5(element, 'style');\n      }\n    };\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$1 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const filter = always;\n    const bind = (element, event, handler) => bind$1(element, event, filter, handler);\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    const getDocument = () => SugarElement.fromDom(document);\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const ANNOUNCER_ATTR = 'data-sn-aria-announcer';\n    const timerMap = new WeakMap();\n    const getAnnouncerElement = editor => {\n      if (!editor) return null;\n      const body = editor.getBody();\n      if (!body) return null;\n      let el = body.querySelector(\"[\".concat(ANNOUNCER_ATTR, \"]\"));\n      if (!el) {\n        const doc = editor.getDoc();\n        el = doc.createElement('div');\n        el.setAttribute(ANNOUNCER_ATTR, '');\n        el.setAttribute('data-mce-bogus', 'all');\n        el.setAttribute('aria-live', 'assertive');\n        el.setAttribute('aria-atomic', 'true');\n        el.setAttribute('role', 'status');\n        el.style.cssText = 'position:absolute;width:1px;height:1px;overflow:hidden;' + 'clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px;';\n        body.appendChild(el);\n      }\n      return el;\n    };\n    const announce = (editor, message, delay = 50) => {\n      const el = getAnnouncerElement(editor);\n      if (!el) return;\n      const prevTimer = timerMap.get(el);\n      if (prevTimer) clearTimeout(prevTimer);\n      el.textContent = '';\n      const timer = setTimeout(() => {\n        el.textContent = message;\n        timerMap.delete(el);\n      }, delay);\n      timerMap.set(el, timer);\n    };\n    const clearAnnouncement = editor => {\n      const body = editor.getBody();\n      if (!body) return;\n      const el = body.querySelector(\"[\".concat(ANNOUNCER_ATTR, \"]\"));\n      if (el) {\n        const prevTimer = timerMap.get(el);\n        if (prevTimer) clearTimeout(prevTimer);\n        timerMap.delete(el);\n        el.textContent = '';\n      }\n    };\n\n    const HIDE_OFFSET = -10000;\n    const DEFAULT_RELATIVE_POSITION = 'bl-tl';\n    const RELATIVE_POSITIONS = [DEFAULT_RELATIVE_POSITION, 'bl-tr', 'tl-bl', 'tl-br'];\n    const VERTICAL_MARGIN = 4;\n    const DEFAULT_MESSAGES = {\n      loading: 'Loading...',\n      noMatches: 'No matches found'\n    };\n    const isChildOf = (target, parent) => {\n      while (target) {\n        if (target === parent) {\n          return true;\n        }\n        target = target.parentNode;\n      }\n      return false;\n    };\n    const insertAfter = (source, node) => {\n      const parent = source.parentNode;\n      parent === null || parent === void 0 ? void 0 : parent.insertBefore(node, source.nextSibling);\n    };\n    class HotkeyResultsList {\n      constructor(editor, rtl, sysMessages) {\n        this.convertStyleToString = (cssValue, cssName) => {\n          const numericalCssMap = global.makeMap('fill-opacity font-weight line-height opacity orphans widows z-index zoom', ' ');\n          if (isNumber(cssValue)) {\n            return has(numericalCssMap, cssName) ? cssValue + '' : cssValue + 'px';\n          } else {\n            return cssValue;\n          }\n        };\n        this.visible = false;\n        this.editor = editor;\n        this.rtl = rtl;\n        this.init(sysMessages);\n        this.handleFullScreen();\n      }\n      getResultsContainerElement() {\n        return this.resultsContainer.dom;\n      }\n      isVisible() {\n        return this.visible;\n      }\n      handleFullScreen() {\n        this.editor.on('FullscreenStateChanged', () => {\n          if (this.visible) {\n            setTimeout(() => this.showList(), 0);\n          }\n        });\n      }\n      findBestFit(range) {\n        const clonedRange = range.cloneRange();\n        const contentContainer = this.editor.getContentAreaContainer();\n        const offsetLeft = contentContainer.offsetLeft;\n        const offsetTop = contentContainer.offsetTop;\n        const rangeRect = clonedRange.getClientRects()[0];\n        const rangeGeomRect = global$1.create(rangeRect.left + offsetLeft, rangeRect.top + offsetTop, rangeRect.width, rangeRect.height + VERTICAL_MARGIN);\n        let absRangeRect;\n        const vp = this.editor.dom.getViewPort();\n        const constraintRect = domUtils.getConstrainRect(this.editor.getContainer());\n        if (this.editor.plugins.fullscreen && this.editor.plugins.fullscreen.isFullscreen()) {\n          absRangeRect = rangeGeomRect;\n        } else {\n          absRangeRect = this.editor.dom.getRect(contentContainer);\n          absRangeRect.x += rangeGeomRect.x + vp.x - offsetLeft;\n          absRangeRect.y += rangeGeomRect.y + vp.y - offsetTop;\n          absRangeRect.w = rangeGeomRect.w;\n          absRangeRect.h = rangeGeomRect.h;\n        }\n        absRangeRect.x = Math.min(vp.x + vp.w, absRangeRect.x);\n        absRangeRect.y = Math.min(vp.y + vp.h, absRangeRect.y);\n        const resultsContainerRect = this.editor.dom.getRect(this.getResultsContainerElement());\n        const bestRelPos = global$1.findBestRelativePosition(resultsContainerRect, absRangeRect, constraintRect, RELATIVE_POSITIONS) || DEFAULT_RELATIVE_POSITION;\n        return global$1.relativePosition(resultsContainerRect, rangeGeomRect, bestRelPos);\n      }\n      show(range) {\n        this.range = range;\n        this.showList();\n      }\n      showList() {\n        const position = this.findBestFit(this.range);\n        if (!this.hoist) {\n          this.hoist = document.querySelector('sn-tinymce-hoist');\n        }\n        if (this.hoist) {\n          this.hoist.shadowRoot.appendChild(this.offsetContainer.dom);\n          const hoistRect = this.hoist.getBoundingClientRect();\n          const containerRect = this.editor.getContainer().getBoundingClientRect();\n          position.y = (hoistRect.top - (containerRect.top + position.y)) * -1;\n          position.x = containerRect.left - hoistRect.left + position.x;\n        }\n        setAll(this.resultsContainer, {\n          visibility: 'visible',\n          top: this.convertStyleToString(position.y, 'top'),\n          left: this.convertStyleToString(position.x, 'left')\n        });\n        this.visible = true;\n      }\n      hide() {\n        if (this.hoist) {\n          before(SugarElement.fromDom(this.editor.getElement()), this.offsetContainer);\n        }\n        setAll(this.resultsContainer, {\n          visibility: 'hidden',\n          top: this.convertStyleToString(HIDE_OFFSET, 'top'),\n          left: this.convertStyleToString(HIDE_OFFSET, 'left')\n        });\n        this.visible = false;\n        this.clearHighlightedItem();\n        this.clearItems();\n        this.editor && clearAnnouncement(this.editor);\n      }\n      highlight(index, shouldAnnounce = true) {\n        if (this.itemMap) {\n          let i = 0;\n          this.itemMap.forEach(value => {\n            if (i !== index) {\n              remove$2(value.element, 'is-hover');\n            } else {\n              add(value.element, 'is-hover');\n              this.highlightedItem = value;\n              this.scrollToView(value.element.dom);\n              if (shouldAnnounce) {\n                announce(this.editor, \"\".concat(value.data.title, \", \").concat(index + 1, \" of \").concat(this.itemMap.size));\n              }\n            }\n            ++i;\n          });\n        }\n      }\n      highlightNext() {\n        let index = 0;\n        if (this.highlightedItem) {\n          index = this.highlightedItem.index + 1;\n          index = index >= this.itemMap.size ? this.itemMap.size - 1 : index;\n        }\n        this.highlight(index);\n      }\n      highlightPrev() {\n        let index = 0;\n        if (this.highlightedItem && this.highlightedItem.index > 0) {\n          index = this.highlightedItem.index - 1;\n        }\n        this.highlight(index);\n      }\n      select() {\n        if (this.highlightedItem) {\n          this.editor.dispatch('sn_hotkey.internal.item_selected', this.highlightedItem.data);\n        }\n      }\n      render(result) {\n        this.clearMessage();\n        this.clearHeader();\n        this.clearItems();\n        if (result === null || result === void 0 ? void 0 : result.isLoading) {\n          this.renderMessage(this.messages.loading);\n          announce(this.editor, this.messages.loading, 300);\n        } else if (result === null || result === void 0 ? void 0 : result.items) {\n          this.setHeader(result.header);\n          if (result.items.length) {\n            this.renderItems(result.items);\n            this.highlight(0, false);\n            announce(this.editor, \"\".concat(result.items.length, \" results available\"), 300);\n          } else {\n            this.clearHighlightedItem();\n            this.renderMessage(this.messages.noMatches);\n            announce(this.editor, this.messages.noMatches, 300);\n          }\n        } else if (result === null || result === void 0 ? void 0 : result.templateMessage) {\n          this.renderMessage(result.templateMessage);\n          if (typeof result.templateMessage === 'object') {\n            const parts = [result.templateMessage.headingLabel, result.templateMessage.content].filter(Boolean);\n            announce(this.editor, parts.join('. '), 300);\n          } else {\n            announce(this.editor, String(result.templateMessage), 300);\n          }\n        } else if (result === null || result === void 0 ? void 0 : result.message) {\n          this.renderMessage(result.message);\n          announce(this.editor, result.message, 300);\n        }\n      }\n      cleanup() {\n        remove(this.offsetContainer);\n        this.documentClickHandler.unbind();\n      }\n      init(sysMessages) {\n        this.setupMessages(sysMessages);\n        this.buildresultsList(SugarElement.fromDom(this.editor.getElement()));\n        this.bindDocumentClickHandler();\n        this.editor.on('sn_popups_fix.dismiss_popups', () => {\n          if (this.isVisible()) this.editor.dispatch('sn_hotkey.internal.unsetHotkey');\n        });\n      }\n      setupMessages(sysMessages = {}) {\n        this.messages = {\n          ...DEFAULT_MESSAGES,\n          ...sysMessages\n        };\n      }\n      buildresultsList(target) {\n        this.offsetContainer = SugarElement.fromHtml('<div class=\"sn-hk-result-list-offset-container\"/>');\n        this.resultsContainer = SugarElement.fromHtml('<div class=\"sn-hk-result-list-container\"/>');\n        this.resultsList = SugarElement.fromHtml('<ul class=\"sn-hk-result-list\" role=\"listbox\" aria-label=\"Suggestions\" />');\n        this.resultsHeader = SugarElement.fromHtml('<span class=\"sn-hk-result-list-header\" />');\n        this.message = SugarElement.fromHtml('<div class=\"sn-hk-message-box\"/>');\n        this.hide();\n        before(target, this.offsetContainer);\n        append(this.offsetContainer, this.resultsContainer);\n        append(this.resultsContainer, this.message);\n        append(this.resultsContainer, this.resultsHeader);\n        append(this.resultsContainer, this.resultsList);\n        add(this.resultsContainer, this.rtl ? '-rtl' : '-ltr');\n      }\n      bindDocumentClickHandler() {\n        this.documentClickHandler = bind(getDocument(), 'mousedown', ({\n          target\n        }) => {\n          if (this.isVisible()) {\n            const menu = this.getResultsContainerElement();\n            const isChild = isChildOf(target.dom, menu);\n            if (!isChild) {\n              this.editor.dispatch('sn_hotkey.internal.unsetHotkey');\n            }\n          }\n        });\n      }\n      renderItem({\n        title,\n        displayContent,\n        id\n      }) {\n        const itemEl = SugarElement.fromHtml(\"<li class='sn-hk-result-list-item tox-sn' role='option'>\\n        <div class='sn-hk-result-list-item-content'>\\n          <span class='sn-hk-result-list-item-title'>\".concat(domUtils.encode(title), \"<\/span>\\n          \").concat(displayContent ? \"<span class='sn-hk-result-list-item-secondary'>\".concat(domUtils.encode(displayContent), \"<\/span>\") : '', \"\\n        <\/div>\\n      <\/li>\"));\n        bind(itemEl, 'mouseenter', () => {\n          set$1(itemEl, 'tabindex', 0);\n          const item = this.itemMap.get(id);\n          item && this.highlight(item.index);\n        });\n        bind(itemEl, 'mouseleave', () => {\n          remove$5(itemEl, 'tabIndex');\n        });\n        bind(itemEl, 'mousedown', e => {\n          e.stop();\n          e.prevent();\n          this.select();\n        });\n        return itemEl;\n      }\n      renderItems(items) {\n        const itemMap = new Map();\n        const currentMap = this.itemMap || new Map();\n        let index = 0;\n        let last = null;\n        for (const item of items) {\n          const {\n            id\n          } = item;\n          let entry = currentMap.get(id);\n          if (entry) {\n            currentMap.delete(id);\n          } else {\n            const itemEl = this.renderItem(item);\n            entry = {\n              index: 0,\n              element: itemEl,\n              data: item\n            };\n            if (last) {\n              insertAfter(last.dom, itemEl.dom);\n            } else {\n              prepend(this.resultsList, itemEl);\n            }\n          }\n          entry.index = index++;\n          itemMap.set(id, entry);\n          last = entry.element;\n        }\n        currentMap.forEach(({\n          element\n        }) => remove(element));\n        this.itemMap = itemMap;\n        remove$1(this.resultsList, 'display');\n      }\n      clearItems() {\n        set(this.resultsList, 'display', 'none');\n      }\n      setHeader(header) {\n        if (header) {\n          add(this.resultsContainer, 'with-header');\n          this.resultsHeader.dom.innerText = header;\n          remove$1(this.resultsHeader, 'display');\n        }\n      }\n      clearHeader() {\n        remove$2(this.resultsContainer, 'with-header');\n        set(this.resultsHeader, 'display', 'none');\n      }\n      renderMessage(message) {\n        add(this.resultsContainer, 'with-message');\n        if (typeof message === 'string') {\n          this.message.dom.innerText = message;\n        } else {\n          this.message.dom.innerText = '';\n          const msgContainer = SugarElement.fromHtml(\"<div class='sn-hk-message-container'><\/div>\");\n          append(this.message, msgContainer);\n          const img = SugarElement.fromHtml(svgMap[message.illustration]);\n          append(msgContainer, img);\n          const textContainer = SugarElement.fromHtml(\"<div class='sn-hk-msg-text-container'><\/div>\");\n          const header = message.headingLabel && SugarElement.fromHtml(\"<span class=\\\"sn-hk-msg-header\\\">\".concat(message.headingLabel, \"<\/span>\"));\n          const subHead = message.content && SugarElement.fromHtml(\"<span class=\\\"sn-hk-msg-sub-header\\\">\".concat(message.content, \"<\/span>\"));\n          append(textContainer, header);\n          append(textContainer, subHead);\n          append(msgContainer, textContainer);\n        }\n        remove$1(this.message, 'display');\n      }\n      clearMessage() {\n        remove$2(this.resultsContainer, 'with-message');\n        set(this.message, 'display', 'none');\n      }\n      clearHighlightedItem() {\n        this.highlightedItem = null;\n      }\n      scrollToView(element) {\n        const viewHeight = this.getResultsContainerElement().scrollHeight;\n        const scrollElement = this.resultsList.dom;\n        const scrollTop = scrollElement.scrollTop;\n        const {\n          offsetTop,\n          offsetHeight\n        } = element;\n        const clippedOrHiddenTop = offsetTop < scrollTop;\n        const clippedOrHiddenBottom = offsetTop + offsetHeight > scrollTop + viewHeight;\n        if (clippedOrHiddenTop) {\n          scrollElement.scrollTop = offsetTop;\n        } else if (clippedOrHiddenBottom) {\n          scrollElement.scrollTop += offsetTop + offsetHeight - viewHeight;\n        }\n      }\n    }\n\n    class SNHotkeys {\n      constructor() {\n        this.setProperties = () => {\n          this.activeHotkey = null;\n          this.searchTerm = '';\n          this.hotkeyMap = {};\n          this.rtl = getDirectionality(this.editor) === 'rtl';\n          const {\n            recordTable,\n            recordSysId,\n            type,\n            fieldType,\n            sysMessages\n          } = getTextCommandsConfig(this.editor);\n          this.commandFetcherVariables = {\n            table: recordTable,\n            sysId: recordSysId,\n            type: type,\n            fieldType: fieldType\n          };\n          this.triggerMessages = sysMessages === null || sysMessages === void 0 ? void 0 : sysMessages.triggerMessages;\n          this.actionMessages = sysMessages === null || sysMessages === void 0 ? void 0 : sysMessages.actionMessages;\n          this.textCommandListHeader = sysMessages === null || sysMessages === void 0 ? void 0 : sysMessages.textCommandListHeader;\n          this.textCommandsFetched = false;\n          this.textCommands = [];\n          this.hotkeyMap[TEXT_COMMANDS_PREFIX] = {\n            type: TEXT_COMMANDS_TRIGGER,\n            prefix: TEXT_COMMANDS_PREFIX,\n            name: TEXT_COMMANDS_TRIGGER,\n            fetchData: debounce(fetchTextCommands, debounceTime),\n            displayList: null,\n            actionType: ACTION_TYPES.INSERT_CONTENT\n          };\n        };\n        this.setListeners = () => {\n          const {\n            editor,\n            hotkeyMap\n          } = this;\n          editor.on('init', () => {\n            hotkeyMap[TEXT_COMMANDS_PREFIX].displayList = new HotkeyResultsList(editor, this.rtl, this.triggerMessages);\n          });\n          editor.on('sn_hotkey.internal.item_selected', (...args) => {\n            var _a, _b, _c, _d, _e;\n            (_a = this.activeHotkey) === null || _a === void 0 ? void 0 : _a.fetchData.stop();\n            const {\n              actionType,\n              name\n            } = this.activeHotkey || {};\n            const {\n              actionPayload,\n              customEvent,\n              id,\n              recommended\n            } = args[0] || {};\n            if (actionType === ACTION_TYPES.INSERT_CONTENT) {\n              this.insertData.apply(this, args);\n              this.editor.dispatch('sn_hotkey.custom_event', {\n                payload: {\n                  actionType,\n                  name,\n                  actionPayload\n                }\n              });\n            } else if (actionType === ACTION_TYPES.REPLACE_CONTENT) {\n              this.setContent.apply(this, args);\n              this.editor.dispatch('sn_hotkey.custom_event', {\n                payload: {\n                  actionType,\n                  name,\n                  actionPayload\n                }\n              });\n            } else if (actionType === ACTION_TYPES.CUSTOM_EVENT) {\n              this.editor.selection.setRng(this.hotkeyRange);\n              this.editor.insertContent('');\n              this.editor.dispatch('sn_hotkey.custom_event', {\n                payload: {\n                  actionType,\n                  name,\n                  actionPayload,\n                  customEvent\n                }\n              });\n            }\n            this.editor.dispatch('sn_hotkey.item_selected', {\n              payload: {\n                type: (_b = this.activeHotkey) === null || _b === void 0 ? void 0 : _b.type,\n                id,\n                recommended\n              }\n            });\n            if (((_c = this.activeHotkey) === null || _c === void 0 ? void 0 : _c.type) === TEXT_COMMANDS_TRIGGER) {\n              this.unsetHotkey();\n              const searchSpace = searchUtils.getSearchSpace.apply(this);\n              this.hotkeyRange = (searchSpace === null || searchSpace === void 0 ? void 0 : searchSpace.range) || null;\n              this.activeHotkey = this.hotkeyMap[args[0].insertContent];\n              this.hotkeyPos = (_e = (_d = this.hotkeyRange) === null || _d === void 0 ? void 0 : _d.startOffset) !== null && _e !== void 0 ? _e : null;\n              this.editor.dispatch('sn_hotkey.hotkey_set', {\n                payload: {\n                  type: this.activeHotkey.type\n                }\n              });\n              this.search();\n            } else {\n              this.unsetHotkey();\n            }\n          });\n          editor.on('remove', () => {\n            const hotkeys = Object.keys(hotkeyMap);\n            hotkeys.forEach(hotkey => {\n              var _a;\n              return (_a = hotkeyMap[hotkey].displayList) === null || _a === void 0 ? void 0 : _a.cleanup();\n            });\n          });\n          editor.on('keydown', this.onKeyDown);\n          editor.on('keyup', trailingDebounce(this.onKeyUp, 250));\n          editor.on('click', () => {\n            if (this.activeHotkey) {\n              this.unsetHotkey();\n            }\n          });\n          editor.on('sn_hotkey.internal.unsetHotkey', () => {\n            if (this.activeHotkey) {\n              this.unsetHotkey();\n            }\n          });\n        };\n        this.onKeyDown = event => {\n          var _a, _b;\n          const {\n            key\n          } = event;\n          if (((_b = (_a = this.activeHotkey) === null || _a === void 0 ? void 0 : _a.displayList) === null || _b === void 0 ? void 0 : _b.isVisible()) && !global$3.modifierPressed(event)) {\n            switch (key) {\n              case 'Esc':\n              case 'Escape':\n                {\n                  event.preventDefault();\n                  this.unsetHotkey();\n                  break;\n                }\n              case 'Up':\n              case 'ArrowUp':\n                {\n                  event.preventDefault();\n                  this.activeHotkey.displayList.highlightPrev();\n                  break;\n                }\n              case 'Down':\n              case 'ArrowDown':\n                {\n                  event.preventDefault();\n                  this.activeHotkey.displayList.highlightNext();\n                  break;\n                }\n              case 'Left':\n              case 'ArrowLeft':\n              case 'Right':\n              case 'ArrowRight':\n                event.preventDefault();\n                break;\n              case 'Enter':\n              case 'Tab':\n                {\n                  event.preventDefault();\n                  this.activeHotkey.displayList.select();\n                  break;\n                }\n            }\n          }\n        };\n        this.onKeyUp = async ({\n          key\n        }) => {\n          if (searchUtils.isDeleteKey(key) || searchUtils.isPrintableKey(key)) {\n            if (this.textCommandsFetched && this.textCommands.length === 0) {\n              if (this.activeHotkey) {\n                this.unsetHotkey();\n              }\n              return;\n            }\n            const searchSpace = searchUtils.getSearchSpace.apply(this);\n            if (!searchSpace) {\n              if (this.activeHotkey) this.unsetHotkey();\n              return;\n            }\n            const {\n              currentToken,\n              cursorPos,\n              range\n            } = searchSpace;\n            if (this.activeHotkey && this.hotkeyPos !== null) {\n              if (cursorPos <= this.hotkeyPos + this.activeHotkey.prefix.length) {\n                this.unsetHotkey();\n              } else {\n                const data = range.startContainer.data.replace(/\\s/g, ' ');\n                this.searchTerm = data.substring(this.hotkeyPos + this.activeHotkey.prefix.length, cursorPos).trim();\n                this.hotkeyRange = range;\n                this.search();\n                return;\n              }\n            }\n            if (currentToken.startsWith(TEXT_COMMANDS_PREFIX)) {\n              this.activeHotkey = this.hotkeyMap[TEXT_COMMANDS_PREFIX];\n              this.searchTerm = currentToken.substring(this.activeHotkey.prefix.length).trim();\n              this.hotkeyPos = range.startOffset;\n              this.hotkeyRange = range;\n              this.editor.dispatch('sn_hotkey.hotkey_set', {\n                payload: {\n                  type: this.activeHotkey.type\n                }\n              });\n              this.search();\n            }\n          }\n        };\n      }\n      init(editor) {\n        this.editor = editor;\n        this.setProperties();\n        this.setListeners();\n      }\n      unsetHotkey() {\n        var _a, _b;\n        (_b = (_a = this.activeHotkey) === null || _a === void 0 ? void 0 : _a.displayList) === null || _b === void 0 ? void 0 : _b.hide();\n        this.activeHotkey = null;\n        this.hotkeyPos = null;\n        this.searchTerm = '';\n        this.hotkeyRange = null;\n      }\n      insertData(data) {\n        this.editor.undoManager.transact(() => {\n          this.hotkeyRange && this.editor.selection.setRng(this.hotkeyRange);\n          if (data.insertContent) this.editor.insertContent(data.insertContent);\n        });\n      }\n      setContent(data) {\n        this.editor.undoManager.transact(() => {\n          if (data.replaceContent) this.editor.setContent(data.replaceContent);\n        });\n      }\n      search() {\n        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n        if (this.activeHotkey && this.activeHotkey.type === TEXT_COMMANDS_TRIGGER) {\n          if (!this.textCommandsFetched) {\n            (_a = this.activeHotkey.displayList) === null || _a === void 0 ? void 0 : _a.render({\n              isLoading: true\n            });\n            this.hotkeyRange && ((_c = (_b = this.activeHotkey) === null || _b === void 0 ? void 0 : _b.displayList) === null || _c === void 0 ? void 0 : _c.show(this.hotkeyRange));\n            this.activeHotkey.fetchData(this.commandFetcherVariables).then(commands => {\n              var _a, _b, _c, _d, _e, _f;\n              this.textCommandsFetched = true;\n              this.textCommands = commands;\n              if (commands.length) {\n                let filteredTextCommands = this.textCommands;\n                if (this.searchTerm) {\n                  filteredTextCommands = this.textCommands.filter(cmd => {\n                    return cmd.commandName.toLowerCase().startsWith(this.searchTerm.toLowerCase());\n                  });\n                }\n                const hotkeyResults = filteredTextCommands.map(command => {\n                  return {\n                    id: command.sysId,\n                    title: \"\".concat(TEXT_COMMANDS_PREFIX).concat(command.commandName),\n                    displayContent: command.name,\n                    insertContent: \"\".concat(TEXT_COMMANDS_PREFIX).concat(command.commandName)\n                  };\n                });\n                (_b = (_a = this.activeHotkey) === null || _a === void 0 ? void 0 : _a.displayList) === null || _b === void 0 ? void 0 : _b.render({\n                  items: hotkeyResults,\n                  header: this.textCommandListHeader\n                });\n                commands.forEach(cmd => {\n                  this.hotkeyMap[\"\".concat(TEXT_COMMANDS_PREFIX).concat(cmd.commandName)] = {\n                    type: \"\".concat(TEXT_COMMAND_ACTION).concat(cmd.name.replace(/\\s+/g, '_')),\n                    name: cmd.name,\n                    prefix: \"\".concat(TEXT_COMMANDS_PREFIX).concat(cmd.commandName),\n                    actionType: cmd.actionType,\n                    commandId: cmd.sysId,\n                    displayList: new HotkeyResultsList(this.editor, this.rtl, this.actionMessages),\n                    fetchData: debounce(invokeCommand, debounceTime)\n                  };\n                });\n              } else {\n                delete this.hotkeyMap[TEXT_COMMANDS_PREFIX];\n                (_d = (_c = this.activeHotkey) === null || _c === void 0 ? void 0 : _c.displayList) === null || _d === void 0 ? void 0 : _d.render({\n                  items: []\n                });\n              }\n              this.hotkeyRange && ((_f = (_e = this.activeHotkey) === null || _e === void 0 ? void 0 : _e.displayList) === null || _f === void 0 ? void 0 : _f.show(this.hotkeyRange));\n            }).catch(e => {\n              var _a, _b, _c, _d;\n              console.error(e);\n              this.textCommandsFetched = true;\n              this.textCommands = [];\n              delete this.hotkeyMap[TEXT_COMMANDS_PREFIX];\n              (_b = (_a = this.activeHotkey) === null || _a === void 0 ? void 0 : _a.displayList) === null || _b === void 0 ? void 0 : _b.render({\n                items: []\n              });\n              this.hotkeyRange && ((_d = (_c = this.activeHotkey) === null || _c === void 0 ? void 0 : _c.displayList) === null || _d === void 0 ? void 0 : _d.show(this.hotkeyRange));\n            });\n          } else {\n            if (this.textCommands.length) {\n              let filteredTextCommands = this.textCommands;\n              if (this.searchTerm) {\n                filteredTextCommands = this.textCommands.filter(cmd => {\n                  return cmd.commandName.toLowerCase().startsWith(this.searchTerm.toLowerCase());\n                });\n              }\n              const hotkeyResults = filteredTextCommands.map(command => {\n                return {\n                  id: command.sysId,\n                  title: \"\".concat(TEXT_COMMANDS_PREFIX).concat(command.commandName),\n                  displayContent: command.name,\n                  insertContent: \"\".concat(TEXT_COMMANDS_PREFIX).concat(command.commandName)\n                };\n              });\n              (_e = (_d = this.activeHotkey) === null || _d === void 0 ? void 0 : _d.displayList) === null || _e === void 0 ? void 0 : _e.render({\n                items: hotkeyResults,\n                header: hotkeyResults.length ? this.textCommandListHeader : undefined\n              });\n              this.hotkeyRange && ((_g = (_f = this.activeHotkey) === null || _f === void 0 ? void 0 : _f.displayList) === null || _g === void 0 ? void 0 : _g.show(this.hotkeyRange));\n            }\n          }\n        } else {\n          if (this.activeHotkey) {\n            (_h = this.activeHotkey.displayList) === null || _h === void 0 ? void 0 : _h.render({\n              isLoading: true\n            });\n            if (!((_j = this.activeHotkey.displayList) === null || _j === void 0 ? void 0 : _j.isVisible())) {\n              (_k = this.activeHotkey.displayList) === null || _k === void 0 ? void 0 : _k.show(this.hotkeyRange);\n            }\n            const variables = {\n              table: this.commandFetcherVariables.table,\n              sysId: this.commandFetcherVariables.sysId,\n              commandId: this.activeHotkey.commandId,\n              query: this.searchTerm.trim()\n            };\n            (_l = this.activeHotkey) === null || _l === void 0 ? void 0 : _l.fetchData(variables).then(results => {\n              var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n              if (results.items) {\n                if (results.items.length) {\n                  const items = results.items.map(item => {\n                    return {\n                      ...item,\n                      displayContent: domUtils.stripTags(item.displayContent)\n                    };\n                  });\n                  let header;\n                  if (results.header) header = results.header;\n                  (_b = (_a = this.activeHotkey) === null || _a === void 0 ? void 0 : _a.displayList) === null || _b === void 0 ? void 0 : _b.render({\n                    items,\n                    header\n                  });\n                } else {\n                  (_d = (_c = this.activeHotkey) === null || _c === void 0 ? void 0 : _c.displayList) === null || _d === void 0 ? void 0 : _d.render({\n                    items: []\n                  });\n                }\n              } else if (results.templateMessage) {\n                (_f = (_e = this.activeHotkey) === null || _e === void 0 ? void 0 : _e.displayList) === null || _f === void 0 ? void 0 : _f.render({\n                  templateMessage: results.templateMessage\n                });\n              } else if (results.message) {\n                (_h = (_g = this.activeHotkey) === null || _g === void 0 ? void 0 : _g.displayList) === null || _h === void 0 ? void 0 : _h.render({\n                  message: results.message\n                });\n              } else {\n                (_k = (_j = this.activeHotkey) === null || _j === void 0 ? void 0 : _j.displayList) === null || _k === void 0 ? void 0 : _k.render({\n                  items: []\n                });\n              }\n              this.hotkeyRange && ((_m = (_l = this.activeHotkey) === null || _l === void 0 ? void 0 : _l.displayList) === null || _m === void 0 ? void 0 : _m.show(this.hotkeyRange));\n            }).catch(e => {\n              var _a, _b, _c, _d;\n              console.error(e);\n              (_b = (_a = this.activeHotkey) === null || _a === void 0 ? void 0 : _a.displayList) === null || _b === void 0 ? void 0 : _b.render({\n                items: []\n              });\n              this.hotkeyRange && ((_d = (_c = this.activeHotkey) === null || _c === void 0 ? void 0 : _c.displayList) === null || _d === void 0 ? void 0 : _d.show(this.hotkeyRange));\n            });\n          }\n        }\n      }\n    }\n\n    var Plugin = (() => {\n      global$4.add('sn_hotkeys', editor => {\n        register(editor);\n        return new SNHotkeys();\n      });\n    });\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const getOption = name => editor => editor.options.get(name);\n    const register = editor => {\n      editor.options.register('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const getSnSettings = getOption('sn_settings');\n    const getPredictiveTextConfig = editor => {\n      const snSettings = getSnSettings(editor) || {};\n      return snSettings.predictive_text || {};\n    };\n\n    class SNPredictiveTextService {\n      static async fetchPrediction({\n        text,\n        mode,\n        resourceSysId,\n        resourceTable,\n        nowId,\n        additionalInfo\n      }) {\n        var _a, _b;\n        if (!(text === null || text === void 0 ? void 0 : text.trim())) return null;\n        const body = {\n          text,\n          mode,\n          sys_id: resourceSysId,\n          table: resourceTable,\n          additional_info: additionalInfo\n        };\n        const headers = {\n          'Content-Type': 'application/json',\n          'X-UserToken': window.g_ck,\n          ...(nowId && {\n            'x-request-cancelable': nowId\n          })\n        };\n        try {\n          const response = await fetch(this.apiUrl, {\n            method: 'POST',\n            headers,\n            body: JSON.stringify(body)\n          });\n          if (!response.ok) {\n            console.warn(\"Prediction request failed: HTTP \".concat(response.status));\n            return null;\n          }\n          const data = await response.json();\n          return (_b = (_a = data === null || data === void 0 ? void 0 : data.result) === null || _a === void 0 ? void 0 : _a.model_output) !== null && _b !== void 0 ? _b : null;\n        } catch (error) {\n          console.error('Prediction API error:', error);\n          return null;\n        }\n      }\n    }\n    SNPredictiveTextService.apiUrl = '/api/sn_wwna/predictive_text_assistance/predict';\n\n    const DELETE_KEYS = new Set([global.BACKSPACE, global.DELETE]);\n    const ACCEPT_KEYS = new Set([global.TAB, global.RIGHT]);\n    const SKIP_KEYS = new Set([global.ESC, global.ENTER]);\n    class SNPredictiveText {\n      constructor() {\n        this.ghostNode = null;\n        this.currentGhostText = '';\n        this.debounceDelay = 500;\n        this.suppressNextPrediction = false;\n        this.activeRequestId = 0;\n      }\n      init(editor) {\n        this.editor = editor;\n        this.updateSettings();\n        this.bindEvents();\n      }\n      isEnabled() {\n        return !!this.settings && Object.keys(this.settings).length > 0;\n      }\n      updateSettings() {\n        var _a, _b;\n        this.settings = getPredictiveTextConfig(this.editor);\n        this.debounceDelay = (_b = (_a = this.settings) === null || _a === void 0 ? void 0 : _a.debounce) !== null && _b !== void 0 ? _b : this.debounceDelay;\n        this.resetGhostText();\n      }\n      cancelPendingPrediction() {\n        clearTimeout(this.debounceTimer);\n        this.suppressNextPrediction = true;\n      }\n      bindEvents() {\n        const editor = this.editor;\n        editor.on('keydown', e => {\n          if (!this.ghostNode) return;\n          if (ACCEPT_KEYS.has(e.keyCode)) {\n            e.preventDefault();\n            return this.commitGhostText();\n          }\n          if (SKIP_KEYS.has(e.keyCode)) {\n            e.preventDefault();\n            this.cancelPendingPrediction();\n            return this.resetGhostText();\n          }\n          const isChar = e.key.length === 1;\n          if (DELETE_KEYS.has(e.keyCode) || isChar) {\n            this.cancelPendingPrediction();\n            return this.resetGhostText();\n          }\n        });\n        editor.on('keyup', e => {\n          var _a;\n          if (e.keyCode === global.ESC || e.isComposing) return;\n          const isChar = ((_a = e.key) === null || _a === void 0 ? void 0 : _a.length) === 1 && !e.ctrlKey && !e.metaKey && !e.altKey;\n          const isDelete = DELETE_KEYS.has(e.keyCode);\n          if (isChar || isDelete) {\n            this.resetGhostText();\n            this.debounceFetchPrediction();\n            return;\n          }\n          this.resetGhostText();\n        });\n        editor.on('ExecCommand', e => {\n          const cmd = e.command;\n          if (cmd === 'Undo' || cmd === 'Redo') {\n            this.cancelPendingPrediction();\n            this.resetGhostText();\n          }\n        });\n        editor.on('click', () => {\n          this.cancelPendingPrediction();\n          this.resetGhostText();\n        });\n        editor.on('sn_predictive_text.update_settings', () => {\n          this.updateSettings();\n        });\n      }\n      resetGhostText() {\n        this.removeGhostTextNode();\n        this.currentGhostText = '';\n      }\n      getCurrentFragment() {\n        const editor = this.editor;\n        const sel = editor.selection;\n        const cursorRng = sel.getRng();\n        const body = editor.getBody();\n        if (!body) return null;\n        const fragmentRange = editor.dom.createRng();\n        fragmentRange.setStart(body, 0);\n        fragmentRange.setEnd(cursorRng.startContainer, cursorRng.startOffset);\n        const fragment = fragmentRange.toString();\n        if (!fragment.trim()) return null;\n        return {\n          fragment,\n          range: cursorRng\n        };\n      }\n      getGhostText(typed, prediction) {\n        if (!typed || !prediction) return '';\n        return prediction;\n      }\n      debounceFetchPrediction() {\n        if (!this.isEnabled()) return;\n        if (this.suppressNextPrediction) {\n          this.suppressNextPrediction = false;\n          return;\n        }\n        clearTimeout(this.debounceTimer);\n        this.debounceTimer = window.setTimeout(() => this.fetchPrediction(), this.debounceDelay);\n      }\n      async fetchPrediction() {\n        var _a, _b, _c, _d, _e;\n        if (!this.isEnabled()) return;\n        const fragmentInfo = this.getCurrentFragment();\n        if (!fragmentInfo) {\n          this.resetGhostText();\n          return;\n        }\n        const requestId = ++this.activeRequestId;\n        const request = SNPredictiveTextService.fetchPrediction({\n          text: fragmentInfo.fragment,\n          mode: ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.mode) || 'chat',\n          resourceTable: ((_b = this.settings) === null || _b === void 0 ? void 0 : _b.resourceTable) || '',\n          resourceSysId: ((_c = this.settings) === null || _c === void 0 ? void 0 : _c.resourceSysId) || '',\n          nowId: ((_d = this.settings) === null || _d === void 0 ? void 0 : _d.nowId) || '',\n          additionalInfo: ((_e = this.settings) === null || _e === void 0 ? void 0 : _e.additionalInfo) || {}\n        });\n        const result = await request;\n        if (requestId !== this.activeRequestId) return;\n        if (!result) return this.resetGhostText();\n        const currentFragment = this.getCurrentFragment();\n        if (!currentFragment || currentFragment.fragment !== fragmentInfo.fragment) {\n          return this.resetGhostText();\n        }\n        this.renderGhostText(fragmentInfo, result);\n      }\n      renderGhostText(fragmentInfo, prediction) {\n        if (!this.isEnabled()) return;\n        this.removeGhostTextNode();\n        const remaining = this.getGhostText(fragmentInfo.fragment, prediction);\n        if (!remaining) return;\n        const span = this.editor.dom.create('span', {\n          class: 'sn-ghost-text',\n          'data-mce-bogus': 'all',\n          style: 'color:#999;opacity:0.7;user-select:none;pointer-events:none;white-space:pre;'\n        }, remaining);\n        const rng = fragmentInfo.range.cloneRange();\n        rng.collapse(false);\n        rng.insertNode(span);\n        this.ghostNode = span;\n        this.currentGhostText = prediction;\n      }\n      removeGhostTextNode() {\n        var _a;\n        (_a = this.ghostNode) === null || _a === void 0 ? void 0 : _a.remove();\n        this.ghostNode = null;\n      }\n      commitGhostText() {\n        const info = this.getCurrentFragment();\n        if (!info || !this.currentGhostText) return;\n        const remaining = this.getGhostText(info.fragment, this.currentGhostText);\n        if (!remaining) return this.resetGhostText();\n        this.cancelPendingPrediction();\n        this.resetGhostText();\n        this.editor.selection.setRng(info.range);\n        this.editor.insertContent(remaining);\n      }\n    }\n\n    var Plugin = (() => {\n      global$1.add('sn_predictive_text', editor => {\n        register(editor);\n        return new SNPredictiveText();\n      });\n    });\n\n    Plugin();\n\n})();\ntinymce.IconManager.add('default', {\n  icons: {\n    'accessibility-check': '<svg width=\"24\" height=\"24\"><path d=\"M12 2a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2c0-1.1.9-2 2-2Zm8 7h-5v12c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-5c0-.6-.4-1-1-1a1 1 0 0 0-1 1v5c0 .6-.4 1-1 1a1 1 0 0 1-1-1V9H4a1 1 0 1 1 0-2h16c.6 0 1 .4 1 1s-.4 1-1 1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'accordion-toggle': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 15c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1h-6a1 1 0 0 1-1-1Z\"/><path opacity=\".2\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 15c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1-1-1Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 19c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1h-6a1 1 0 0 1-1-1Z\"/><path opacity=\".2\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 19c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1-1-1Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.3 7.3a1 1 0 0 1 1.4 0L16 9.6l2.3-2.3a1 1 0 1 1 1.4 1.4L16 12.4l-3.7-3.7a1 1 0 0 1 0-1.4ZM4.3 11.7a1 1 0 0 1 0-1.4L6.6 8 4.3 5.7a1 1 0 0 1 1.4-1.4L9.4 8l-3.7 3.7a1 1 0 0 1-1.4 0Z\"/><\/svg>',\n    'accordion': '<svg width=\"24\" height=\"24\"><rect x=\"12\" y=\"7\" width=\"10\" height=\"2\" rx=\"1\"/><rect x=\"12\" y=\"11\" width=\"10\" height=\"2\" rx=\"1\"/><rect x=\"12\" y=\"15\" width=\"6\" height=\"2\" rx=\"1\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.3 7.3a1 1 0 0 1 1.4 0L6 9.6l2.3-2.3a1 1 0 0 1 1.4 1.4L6 12.4 2.3 8.7a1 1 0 0 1 0-1.4Z\"/><\/svg>',\n    'action-next': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M5.7 7.3a1 1 0 0 0-1.4 1.4l7.7 7.7 7.7-7.7a1 1 0 1 0-1.4-1.4L12 13.6 5.7 7.3Z\"/><\/svg>',\n    'action-prev': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M18.3 15.7a1 1 0 0 0 1.4-1.4L12 6.6l-7.7 7.7a1 1 0 0 0 1.4 1.4L12 9.4l6.3 6.3Z\"/><\/svg>',\n    'addtag': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 5a2 2 0 0 1 1.6.8L21 12l-4.4 6.2a2 2 0 0 1-1.6.8h-3v-2h3l3.5-5L15 7H5v3H3V7c0-1.1.9-2 2-2h10Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 12a1 1 0 0 0-1 1v2H3a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2H7v-2c0-.6-.4-1-1-1Z\"/><\/svg>',\n    'ai-prompt': '<svg width=\"24\" height=\"24\"><g clip-path=\"url(#a)\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 6.7a1 1 0 0 0-1.4 0l-9.9 10a1 1 0 0 0 0 1.3l2.1 2.1c.4.4 1 .4 1.4 0l10-9.9c.3-.3.3-1 0-1.4l-2.2-2Zm1.4 2.8-2-2-3 2.7 2.2 2.2 2.8-2.9Z\"/><path d=\"m18.5 7.3-.7-1.5-1.5-.8 1.5-.7.7-1.5.7 1.5 1.5.7-1.5.8-.7 1.5ZM18.5 16.5l-.7-1.6-1.5-.7 1.5-.7.7-1.6.7 1.6 1.5.7-1.5.7-.7 1.6ZM9.7 7.3 9 5.8 7.5 5 9 4.3l.7-1.5.7 1.5L12 5l-1.5.8-.7 1.5Z\"/><\/g><defs><clipPath id=\"a\"><path d=\"M0 0h24v24H0z\"/><\/clipPath><\/defs><\/svg>',\n    'ai': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H5Zm6.8 11.5.5 1.2a68.3 68.3 0 0 0 .7 1.1l.4.1c.3 0 .5 0 .7-.3.2-.1.3-.3.3-.6l-.3-1-2.6-6.2a20.4 20.4 0 0 0-.5-1.3l-.5-.4-.7-.2c-.2 0-.5 0-.6.2-.2 0-.4.2-.5.4l-.3.6-.3.7L5.7 15l-.2.6-.1.4c0 .3 0 .5.3.7l.6.2c.3 0 .5 0 .7-.2l.4-1 .5-1.2h3.9ZM9.8 9l1.5 4h-3l1.5-4Zm5.6-.9v7.6c0 .4 0 .7.2 1l.7.2c.3 0 .6 0 .8-.3l.2-.9V8.1c0-.4 0-.7-.2-.9a1 1 0 0 0-.8-.3c-.2 0-.5.1-.7.3l-.2 1Z\"/><\/svg>',\n    'align-center': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm3 4h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 1 1 0-2Zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Zm-3-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'align-justify': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'align-left': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 4h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Zm0-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'align-none': '<svg width=\"24\" height=\"24\"><path d=\"M14.2 5 13 7H5a1 1 0 1 1 0-2h9.2Zm4 0h.8a1 1 0 0 1 0 2h-2l1.2-2Zm-6.4 4-1.2 2H5a1 1 0 0 1 0-2h6.8Zm4 0H19a1 1 0 0 1 0 2h-4.4l1.2-2Zm-6.4 4-1.2 2H5a1 1 0 0 1 0-2h4.4Zm4 0H19a1 1 0 0 1 0 2h-6.8l1.2-2ZM7 17l-1.2 2H5a1 1 0 0 1 0-2h2Zm4 0h8a1 1 0 0 1 0 2H9.8l1.2-2Zm5.2-13.5 1.3.7-9.7 16.3-1.3-.7 9.7-16.3Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'align-right': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm6 4h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm-6-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'arrow-left': '<svg width=\"24\" height=\"24\"><path d=\"m5.6 13 12 6a1 1 0 0 0 1.4-1V6a1 1 0 0 0-1.4-.9l-12 6a1 1 0 0 0 0 1.8Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'arrow-right': '<svg width=\"24\" height=\"24\"><path d=\"m18.5 13-12 6A1 1 0 0 1 5 18V6a1 1 0 0 1 1.4-.9l12 6a1 1 0 0 1 0 1.8Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'bold': '<svg width=\"24\" height=\"24\"><path d=\"M7.8 19c-.3 0-.5 0-.6-.2l-.2-.5V5.7c0-.2 0-.4.2-.5l.6-.2h5c1.5 0 2.7.3 3.5 1 .7.6 1.1 1.4 1.1 2.5a3 3 0 0 1-.6 1.9c-.4.6-1 1-1.6 1.2.4.1.9.3 1.3.6s.8.7 1 1.2c.4.4.5 1 .5 1.6 0 1.3-.4 2.3-1.3 3-.8.7-2.1 1-3.8 1H7.8Zm5-8.3c.6 0 1.2-.1 1.6-.5.4-.3.6-.7.6-1.3 0-1.1-.8-1.7-2.3-1.7H9.3v3.5h3.4Zm.5 6c.7 0 1.3-.1 1.7-.4.4-.4.6-.9.6-1.5s-.2-1-.7-1.4c-.4-.3-1-.4-2-.4H9.4v3.8h4Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'bookmark': '<svg width=\"24\" height=\"24\"><path d=\"M6 4v17l6-4 6 4V4c0-.6-.4-1-1-1H7a1 1 0 0 0-1 1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'border-style': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><rect width=\"18\" height=\"2\" x=\"3\" y=\"6\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"3\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"6.8\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"10.6\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"14.4\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"18.2\" y=\"16\" rx=\"1\"/><rect width=\"8\" height=\"2\" x=\"3\" y=\"11\" rx=\"1\"/><rect width=\"8\" height=\"2\" x=\"13\" y=\"11\" rx=\"1\"/><\/g><\/svg>',\n    'border-width': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><rect width=\"18\" height=\"5\" x=\"3\" y=\"5\" rx=\"1\"/><rect width=\"18\" height=\"3.5\" x=\"3\" y=\"11.5\" rx=\"1\"/><rect width=\"18\" height=\"2\" x=\"3\" y=\"17\" rx=\"1\"/><\/g><\/svg>',\n    'brightness': '<svg width=\"24\" height=\"24\"><path d=\"M12 17c.3 0 .5.1.7.3.2.2.3.4.3.7v1c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7v-1c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3Zm0-10a1 1 0 0 1-.7-.3A1 1 0 0 1 11 6V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3.3 0 .5.1.7.3.2.2.3.4.3.7v1c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3Zm7 4c.3 0 .5.1.7.3.2.2.3.4.3.7 0 .3-.1.5-.3.7a1 1 0 0 1-.7.3h-1a1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h1ZM7 12c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3H5a1 1 0 0 1-.7-.3A1 1 0 0 1 4 12c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h1c.3 0 .5.1.7.3.2.2.3.4.3.7Zm10 3.5.7.8c.2.1.3.4.3.6 0 .3-.1.6-.3.8a1 1 0 0 1-.8.3 1 1 0 0 1-.6-.3l-.8-.7a1 1 0 0 1-.3-.8c0-.2.1-.5.3-.7a1 1 0 0 1 1.4 0Zm-10-7-.7-.8a1 1 0 0 1-.3-.6c0-.3.1-.6.3-.8.2-.2.5-.3.8-.3.2 0 .5.1.7.3l.7.7c.2.2.3.5.3.8 0 .2-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.8-.3Zm10 0a1 1 0 0 1-.8.3 1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.3.1-.6.3-.8l.8-.7c.1-.2.4-.3.6-.3.3 0 .6.1.8.3.2.2.3.5.3.8 0 .2-.1.5-.3.7l-.7.7Zm-10 7c.2-.2.5-.3.8-.3.2 0 .5.1.7.3a1 1 0 0 1 0 1.4l-.8.8a1 1 0 0 1-.6.3 1 1 0 0 1-.8-.3 1 1 0 0 1-.3-.8c0-.2.1-.5.3-.6l.7-.8ZM12 8a4 4 0 0 1 3.7 2.4 4 4 0 0 1 0 3.2A4 4 0 0 1 12 16a4 4 0 0 1-3.7-2.4 4 4 0 0 1 0-3.2A4 4 0 0 1 12 8Zm0 6.5c.7 0 1.3-.2 1.8-.7.5-.5.7-1.1.7-1.8s-.2-1.3-.7-1.8c-.5-.5-1.1-.7-1.8-.7s-1.3.2-1.8.7c-.5.5-.7 1.1-.7 1.8s.2 1.3.7 1.8c.5.5 1.1.7 1.8.7Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'browse': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4v-2h4V8H5v10h4v2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 9.4-2.3 2.3a1 1 0 1 1-1.4-1.4l4-4a1 1 0 0 1 1.4 0l4 4a1 1 0 0 1-1.4 1.4L13 13.4V20a1 1 0 0 1-2 0v-6.6Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'cancel': '<svg width=\"24\" height=\"24\"><path d=\"M12 4.6a7.4 7.4 0 1 1 0 14.8 7.4 7.4 0 0 1 0-14.8ZM12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm0 8L14.8 8l1 1.1-2.7 2.8 2.7 2.7-1.1 1.1-2.7-2.7-2.7 2.7-1-1.1 2.6-2.7-2.7-2.7 1-1.1 2.8 2.7Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'cell-background-color': '<svg width=\"24\" height=\"24\"><path d=\"m15.7 2 1.6 1.6-2.7 2.6 5.9 5.8c.7.7.7 1.7 0 2.4l-6.3 6.1a1.7 1.7 0 0 1-2.4 0l-6.3-6.1c-.7-.7-.7-1.7 0-2.4L15.7 2ZM18 12l-4.5-4L9 12h9ZM4 16s2 2.4 2 3.8C6 21 5.1 22 4 22s-2-1-2-2.2C2 18.4 4 16 4 16Z\"/><\/svg>',\n    'cell-border-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M5 13v5h2v2H5a2 2 0 0 1-2-2v-5h2zm8-7V4h6a2 2 0 0 1 2 2h-8z\" opacity=\".2\"/><path fill-rule=\"nonzero\" d=\"M13 4v2H5v7H3V6c0-1.1.9-2 2-2h8zm-2.6 14.1.1-.1.1.1.2.3.2.2.2.2c.4.6.8 1.2.8 1.7 0 .8-.7 1.5-1.5 1.5S9 21.3 9 20.5c0-.5.4-1.1.8-1.7l.2-.2.2-.2.2-.3z\"/><path d=\"m13 11-2 2H5v-2h6V6h2z\"/><path fill-rule=\"nonzero\" d=\"m18.4 8 1 1-1.8 1.9 4 4c.5.4.5 1.1 0 1.6l-4.3 4.2a1.2 1.2 0 0 1-1.6 0l-4.4-4.2c-.4-.5-.4-1.2 0-1.7l7-6.8Zm1.6 7-3-3-3 3h6Z\"/><\/g><\/svg>',\n    'change-case': '<svg width=\"24\" height=\"24\"><path d=\"M18.4 18.2v-.6c-.5.8-1.3 1.2-2.4 1.2-2.2 0-3.3-1.6-3.3-4.8 0-3.1 1-4.7 3.3-4.7 1.1 0 1.8.3 2.4 1.1v-.6c0-.5.4-.8.8-.8s.8.3.8.8v8.4c0 .5-.4.8-.8.8a.8.8 0 0 1-.8-.8zm-2-7.4c-1.3 0-1.8.9-1.8 3.2 0 2.4.5 3.3 1.7 3.3 1.3 0 1.8-.9 1.8-3.2 0-2.4-.5-3.3-1.7-3.3zM10 15.7H5.5l-.8 2.6a1 1 0 0 1-1 .7h-.2a.7.7 0 0 1-.7-1l4-12a1 1 0 0 1 2 0l4 12a.7.7 0 0 1-.8 1h-.2a1 1 0 0 1-1-.7l-.8-2.6zm-.3-1.5-2-6.5-1.9 6.5h3.9z\" fill-rule=\"evenodd\"/><\/svg>',\n    'character-count': '<svg width=\"24\" height=\"24\"><path d=\"M4 11.5h16v1H4v-1Zm4.8-6.8V10H7.7V5.8h-1v-1h2ZM11 8.3V9h2v1h-3V7.7l2-1v-.9h-2v-1h3v2.4l-2 1Zm6.3-3.4V10h-3.1V9h2.1V8h-2.1V6.8h2.1v-1h-2.1v-1h3.1ZM5.8 16.4c0-.5.2-.8.5-1 .2-.2.6-.3 1.2-.3l.8.1c.2 0 .4.2.5.3l.4.4v2.8l.2.3H8.2V18.7l-.6.3H7c-.4 0-.7 0-1-.2a1 1 0 0 1-.3-.9c0-.3 0-.6.3-.8.3-.2.7-.4 1.2-.4l.6-.2h.3v-.2l-.1-.2a.8.8 0 0 0-.5-.1 1 1 0 0 0-.4 0l-.3.4h-1Zm2.3.8h-.2l-.2.1-.4.1a1 1 0 0 0-.4.2l-.2.2.1.3.5.1h.4l.4-.4v-.6Zm2-3.4h1.2v1.7l.5-.3h.5c.5 0 .9.1 1.2.5.3.4.5.8.5 1.4 0 .6-.2 1.1-.5 1.5-.3.4-.7.6-1.3.6l-.6-.1-.4-.4v.4h-1.1v-5.4Zm1.1 3.3c0 .3 0 .6.2.8a.7.7 0 0 0 1.2 0l.2-.8c0-.4 0-.6-.2-.8a.7.7 0 0 0-.6-.3l-.6.3-.2.8Zm6.1-.5c0-.2 0-.3-.2-.4a.8.8 0 0 0-.5-.2c-.3 0-.5.1-.6.3l-.2.9c0 .3 0 .6.2.8.1.2.3.3.6.3.2 0 .4 0 .5-.2l.2-.4h1.1c0 .5-.3.8-.6 1.1a2 2 0 0 1-1.3.4c-.5 0-1-.2-1.3-.6a2 2 0 0 1-.5-1.4c0-.6.1-1.1.5-1.5.3-.4.8-.5 1.4-.5.5 0 1 0 1.2.3.4.3.5.7.5 1.2h-1v-.1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'checklist-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M5 17h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2zm14.2 11c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 20c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 14c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 8c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8z\" fill-rule=\"evenodd\"/><\/svg>',\n    'checklist': '<svg width=\"24\" height=\"24\"><path d=\"M11 17h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8a1 1 0 0 1 0 2h-8a1 1 0 0 1 0-2ZM7.2 16c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 20c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8Zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 14c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8Zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 8c-.2.3-.7.4-1 0L3.8 6.9a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'checkmark': '<svg width=\"24\" height=\"24\"><path d=\"M18.2 5.4a1 1 0 0 1 1.6 1.2l-8 12a1 1 0 0 1-1.5.1l-5-5a1 1 0 1 1 1.4-1.4l4.1 4.1 7.4-11Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'chevron-down': '<svg width=\"10\" height=\"10\"><path d=\"M8.7 2.2c.3-.3.8-.3 1 0 .4.4.4.9 0 1.2L5.7 7.8c-.3.3-.9.3-1.2 0L.2 3.4a.8.8 0 0 1 0-1.2c.3-.3.8-.3 1.1 0L5 6l3.7-3.8Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'chevron-left': '<svg width=\"10\" height=\"10\"><path d=\"M7.8 1.3 4 5l3.8 3.7c.3.3.3.8 0 1-.4.4-.9.4-1.2 0L2.2 5.7a.8.8 0 0 1 0-1.2L6.6.2C7 0 7.4 0 7.8.2c.3.3.3.8 0 1.1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'chevron-right': '<svg width=\"10\" height=\"10\"><path d=\"M2.2 1.3a.8.8 0 0 1 0-1c.4-.4.9-.4 1.2 0l4.4 4.1c.3.4.3.9 0 1.2L3.4 9.8c-.3.3-.8.3-1.2 0a.8.8 0 0 1 0-1.1L6 5 2.2 1.3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'chevron-up': '<svg width=\"10\" height=\"10\"><path d=\"M8.7 7.8 5 4 1.3 7.8c-.3.3-.8.3-1 0a.8.8 0 0 1 0-1.2l4.1-4.4c.3-.3.9-.3 1.2 0l4.2 4.4c.3.3.3.9 0 1.2-.3.3-.8.3-1.1 0Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'close': '<svg width=\"24\" height=\"24\"><path d=\"M17.3 8.2 13.4 12l3.9 3.8a1 1 0 0 1-1.5 1.5L12 13.4l-3.8 3.9a1 1 0 0 1-1.5-1.5l3.9-3.8-3.9-3.8a1 1 0 0 1 1.5-1.5l3.8 3.9 3.8-3.9a1 1 0 0 1 1.5 1.5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'code-sample': '<svg width=\"24\" height=\"26\"><path d=\"M7.1 11a2.8 2.8 0 0 1-.8 2 2.8 2.8 0 0 1 .8 2v1.7c0 .3.1.6.4.8.2.3.5.4.8.4.3 0 .4.2.4.4v.8c0 .2-.1.4-.4.4-.7 0-1.4-.3-2-.8-.5-.6-.8-1.3-.8-2V15c0-.3-.1-.6-.4-.8-.2-.3-.5-.4-.8-.4a.4.4 0 0 1-.4-.4v-.8c0-.2.2-.4.4-.4.3 0 .6-.1.8-.4.3-.2.4-.5.4-.8V9.3c0-.7.3-1.4.8-2 .6-.5 1.3-.8 2-.8.3 0 .4.2.4.4v.8c0 .2-.1.4-.4.4-.3 0-.6.1-.8.4-.3.2-.4.5-.4.8V11Zm9.8 0V9.3c0-.3-.1-.6-.4-.8-.2-.3-.5-.4-.8-.4a.4.4 0 0 1-.4-.4V7c0-.2.1-.4.4-.4.7 0 1.4.3 2 .8.5.6.8 1.3.8 2V11c0 .3.1.6.4.8.2.3.5.4.8.4.2 0 .4.2.4.4v.8c0 .2-.2.4-.4.4-.3 0-.6.1-.8.4-.3.2-.4.5-.4.8v1.7c0 .7-.3 1.4-.8 2-.6.5-1.3.8-2 .8a.4.4 0 0 1-.4-.4v-.8c0-.2.1-.4.4-.4.3 0 .6-.1.8-.4.3-.2.4-.5.4-.8V15a2.8 2.8 0 0 1 .8-2 2.8 2.8 0 0 1-.8-2Zm-3.3-.4c0 .4-.1.8-.5 1.1-.3.3-.7.5-1.1.5-.4 0-.8-.2-1.1-.5-.4-.3-.5-.7-.5-1.1 0-.5.1-.9.5-1.2.3-.3.7-.4 1.1-.4.4 0 .8.1 1.1.4.4.3.5.7.5 1.2ZM12 13c.4 0 .8.1 1.1.5.4.3.5.7.5 1.1 0 1-.1 1.6-.5 2a3 3 0 0 1-1.1 1c-.4.3-.8.4-1.1.4a.5.5 0 0 1-.5-.5V17a3 3 0 0 0 1-.2l.6-.6c-.6 0-1-.2-1.3-.5-.2-.3-.3-.7-.3-1 0-.5.1-1 .5-1.2.3-.4.7-.5 1.1-.5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'color-levels': '<svg width=\"24\" height=\"24\"><path d=\"M17.5 11.4A9 9 0 0 1 18 14c0 .5 0 1-.2 1.4 0 .4-.3.9-.5 1.3a6.2 6.2 0 0 1-3.7 3 5.7 5.7 0 0 1-3.2 0A5.9 5.9 0 0 1 7.6 18a6.2 6.2 0 0 1-1.4-2.6 6.7 6.7 0 0 1 0-2.8c0-.4.1-.9.3-1.3a13.6 13.6 0 0 1 2.3-4A20 20 0 0 1 12 4a26.4 26.4 0 0 1 3.2 3.4 18.2 18.2 0 0 1 2.3 4Zm-2 4.5c.4-.7.5-1.4.5-2a7.3 7.3 0 0 0-1-3.2c.2.6.2 1.2.2 1.9a4.5 4.5 0 0 1-1.3 3 5.3 5.3 0 0 1-2.3 1.5 4.9 4.9 0 0 1-2 .1 4.3 4.3 0 0 0 2.4.8 4 4 0 0 0 2-.6 4 4 0 0 0 1.5-1.5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'color-picker': '<svg width=\"24\" height=\"24\"><path d=\"M12 3a9 9 0 0 0 0 18 1.5 1.5 0 0 0 1.1-2.5c-.2-.3-.4-.6-.4-1 0-.8.7-1.5 1.5-1.5H16a5 5 0 0 0 5-5c0-4.4-4-8-9-8Zm-5.5 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm3-4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm3 4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'color-swatch-remove-color': '<svg width=\"24\" height=\"24\"><path stroke=\"#000\" stroke-width=\"2\" d=\"M21 3 3 21\" fill-rule=\"evenodd\"/><\/svg>',\n    'color-swatch': '<svg width=\"24\" height=\"24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"1\" fill-rule=\"evenodd\"/><\/svg>',\n    'comment-add': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"m9 19 3-2h7c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H5a1 1 0 0 0-1 1v10c0 .6.4 1 1 1h4v2Zm-2 4v-4H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-6.4L7 23Z\"/><path d=\"M13 10h2a1 1 0 0 1 0 2h-2v2a1 1 0 0 1-2 0v-2H9a1 1 0 0 1 0-2h2V8a1 1 0 0 1 2 0v2Z\"/><\/g><\/svg>',\n    'comment': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"m9 19 3-2h7c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H5a1 1 0 0 0-1 1v10c0 .6.4 1 1 1h4v2Zm-2 4v-4H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-6.4L7 23Z\"/><\/svg>',\n    'contrast': '<svg width=\"24\" height=\"24\"><path d=\"M12 4a7.8 7.8 0 0 1 5.7 2.3A8 8 0 1 1 12 4Zm-6 8a6 6 0 0 0 6 6V6a6 6 0 0 0-6 6Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'copy': '<svg width=\"24\" height=\"24\"><path d=\"M16 3H6a2 2 0 0 0-2 2v11h2V5h10V3Zm1 4a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V9c0-1.2.9-2 2-2h7Zm0 12V9h-7v10h7Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'crop': '<svg width=\"24\" height=\"24\"><path d=\"M17 8v7h2c.6 0 1 .4 1 1s-.4 1-1 1h-2v2c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-2H7V9H5a1 1 0 1 1 0-2h2V5c0-.6.4-1 1-1s1 .4 1 1v2h7l3-3 1 1-3 3ZM9 9v5l5-5H9Zm1 6h5v-5l-5 5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'cut-column': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M7.2 4.5c.9 0 1.6.4 2.2 1A3.7 3.7 0 0 1 10.5 8v.5l1 1 4-4 1-.5a3.3 3.3 0 0 1 2 0c.4 0 .7.3 1 .5L17 8h4v13h-6V10l-1.5 1.5.5.5v4l-2.5-2.5-1 1v.5c0 .4 0 .8-.3 1.2-.2.5-.4.9-.8 1.2-.6.7-1.3 1-2.2 1-.8.2-1.5 0-2-.6l-.5-.8-.2-1c0-.4 0-.8.3-1.2A3.9 3.9 0 0 1 7 12.7c.5-.2 1-.3 1.5-.2l1-1-1-1c-.5 0-1 0-1.5-.2-.5-.1-1-.4-1.4-.9-.4-.3-.6-.7-.8-1.2L4.5 7c0-.4 0-.7.2-1 0-.3.3-.6.5-.8.5-.5 1.2-.8 2-.7Zm12.3 5h-3v10h3v-10ZM8 13.8h-.3l-.4.2a2.8 2.8 0 0 0-.7.4v.1a2.8 2.8 0 0 0-.6.8l-.1.4v.7l.2.5.5.2h.7a2.6 2.6 0 0 0 .8-.3 2.4 2.4 0 0 0 .7-.7 2.5 2.5 0 0 0 .3-.8 1.5 1.5 0 0 0 0-.8 1 1 0 0 0-.2-.4 1 1 0 0 0-.5-.2H8Zm3.5-3.7c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4ZM7 5.8h-.4a1 1 0 0 0-.5.3 1 1 0 0 0-.2.5v.7a2.5 2.5 0 0 0 .3.8l.2.3h.1l.4.4.4.2.4.1h.7L9 9l.2-.4a1.6 1.6 0 0 0 0-.8 2.6 2.6 0 0 0-.3-.8A2.5 2.5 0 0 0 7.7 6l-.4-.1H7Z\"/><\/svg>',\n    'cut-row': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M22 3v5H9l3 3 2-2h4l-4 4 1 1h.5c.4 0 .8 0 1.2.3.5.2.9.4 1.2.8.7.6 1 1.3 1 2.2.2.8 0 1.5-.6 2l-.8.5-1 .2c-.4 0-.8 0-1.2-.3a3.9 3.9 0 0 1-2.1-2.2c-.2-.5-.3-1-.2-1.5l-1-1-1 1c0 .5 0 1-.2 1.5-.1.5-.4 1-.9 1.4-.3.4-.7.6-1.2.8l-1.2.3c-.4 0-.7 0-1-.2-.3 0-.6-.3-.8-.5-.5-.5-.8-1.2-.7-2 0-.9.4-1.6 1-2.2A3.7 3.7 0 0 1 8.6 14H9l1-1-4-4-.5-1a3.3 3.3 0 0 1 0-2c0-.4.3-.7.5-1l2 2V3h14ZM8.5 15.3h-.3a2.6 2.6 0 0 0-.8.4 2.5 2.5 0 0 0-.9 1.1l-.1.4v.7l.2.5.5.2h.7a2.5 2.5 0 0 0 .8-.3L9 18V18l.4-.4.2-.4.1-.4v-.7a1 1 0 0 0-.2-.5 1 1 0 0 0-.4-.2h-.5Zm7 0H15a1 1 0 0 0-.4.3 1 1 0 0 0-.2.5 1.5 1.5 0 0 0 0 .7v.4a2.8 2.8 0 0 0 .5.7h.1a2.8 2.8 0 0 0 .8.6l.4.1h.7l.5-.2.2-.5v-.7a2.6 2.6 0 0 0-.3-.8 2.4 2.4 0 0 0-.7-.7 2.5 2.5 0 0 0-.8-.3h-.3ZM12 11.6c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4Zm8.5-7.1h-11v2h11v-2Z\"/><\/svg>',\n    'cut': '<svg width=\"24\" height=\"24\"><path d=\"M18 15c.6.7 1 1.4 1 2.3 0 .8-.2 1.5-.7 2l-.8.5-1 .2c-.4 0-.8 0-1.2-.3a3.9 3.9 0 0 1-2.1-2.2c-.2-.5-.3-1-.2-1.5l-1-1-1 1c0 .5 0 1-.2 1.5-.1.5-.4 1-.9 1.4-.3.4-.7.6-1.2.8l-1.2.3c-.4 0-.7 0-1-.2-.3 0-.6-.3-.8-.5-.5-.5-.8-1.2-.7-2 0-.9.4-1.6 1-2.2A3.7 3.7 0 0 1 8.6 14H9l1-1-4-4-.5-1a3.3 3.3 0 0 1 0-2c0-.4.3-.7.5-1l6 6 6-6 .5 1a3.3 3.3 0 0 1 0 2c0 .4-.3.7-.5 1l-4 4 1 1h.5c.4 0 .8 0 1.2.3.5.2.9.4 1.2.8Zm-8.5 2.2.1-.4v-.7a1 1 0 0 0-.2-.5 1 1 0 0 0-.4-.2 1.6 1.6 0 0 0-.8 0 2.6 2.6 0 0 0-.8.3 2.5 2.5 0 0 0-.9 1.1l-.1.4v.7l.2.5.5.2h.7a2.5 2.5 0 0 0 .8-.3 2.8 2.8 0 0 0 1-1Zm2.5-2.8c.4 0 .7-.1 1-.4.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4s-.7.1-1 .4c-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4Zm5.4 4 .2-.5v-.7a2.6 2.6 0 0 0-.3-.8 2.4 2.4 0 0 0-.7-.7 2.5 2.5 0 0 0-.8-.3 1.5 1.5 0 0 0-.8 0 1 1 0 0 0-.4.2 1 1 0 0 0-.2.5 1.5 1.5 0 0 0 0 .7v.4l.3.4.3.4a2.8 2.8 0 0 0 .8.5l.4.1h.7l.5-.2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'document-properties': '<svg width=\"24\" height=\"24\"><path d=\"M14.4 3H7a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h10a2 2 0 0 0 2-2V7.6L14.4 3ZM17 19H7V5h6v4h4v10Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'drag': '<svg width=\"24\" height=\"24\"><path d=\"M13 5h2v2h-2V5Zm0 4h2v2h-2V9ZM9 9h2v2H9V9Zm4 4h2v2h-2v-2Zm-4 0h2v2H9v-2Zm0 4h2v2H9v-2Zm4 0h2v2h-2v-2ZM9 5h2v2H9V5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'duplicate-column': '<svg width=\"24\" height=\"24\"><path d=\"M17 6v16h-7V6h7Zm-2 2h-3v12h3V8Zm-2-6v2H8v15H6V2h7Z\"/><\/svg>',\n    'duplicate-row': '<svg width=\"24\" height=\"24\"><path d=\"M22 11v7H6v-7h16Zm-2 2H8v3h12v-3Zm-1-6v2H4v5H2V7h17Z\"/><\/svg>',\n    'duplicate': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M16 3v2H6v11H4V5c0-1.1.9-2 2-2h10Zm3 8h-2V9h-7v10h9a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V9c0-1.2.9-2 2-2h7a2 2 0 0 1 2 2v2Z\"/><path d=\"M17 14h1a1 1 0 0 1 0 2h-1v1a1 1 0 0 1-2 0v-1h-1a1 1 0 0 1 0-2h1v-1a1 1 0 0 1 2 0v1Z\"/><\/g><\/svg>',\n    'edit-block': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"m19.8 8.8-9.4 9.4c-.2.2-.5.4-.9.4l-5.4 1.2 1.2-5.4.5-.8 9.4-9.4c.7-.7 1.8-.7 2.5 0l2.1 2.1c.7.7.7 1.8 0 2.5Zm-2-.2 1-.9v-.3l-2.2-2.2a.3.3 0 0 0-.3 0l-1 1L18 8.5Zm-1 1-2.5-2.4-6 6 2.5 2.5 6-6Zm-7 7.1-2.6-2.4-.3.3-.1.2-.7 3 3.1-.6h.1l.4-.5Z\"/><\/svg>',\n    'edit-image': '<svg width=\"24\" height=\"24\"><path d=\"M18 16h2V7a2 2 0 0 0-2-2H7v2h11v9ZM6 17h15a1 1 0 0 1 0 2h-1v1a1 1 0 0 1-2 0v-1H6a2 2 0 0 1-2-2V7H3a1 1 0 1 1 0-2h1V4a1 1 0 1 1 2 0v13Zm3-5.3 1.3 2 3-4.7 3.7 6H7l2-3.3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'embed-page': '<svg width=\"24\" height=\"24\"><path d=\"M19 6V5H5v14h2A13 13 0 0 1 19 6Zm0 1.4c-.8.8-1.6 2.4-2.2 4.6H19V7.4Zm0 5.6h-2.4c-.4 1.8-.6 3.8-.6 6h3v-6Zm-4 6c0-2.2.2-4.2.6-6H13c-.7 1.8-1.1 3.8-1.1 6h3Zm-4 0c0-2.2.4-4.2 1-6H9.6A12 12 0 0 0 8 19h3ZM4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm11.8 9c.4-1.9 1-3.4 1.8-4.5a9.2 9.2 0 0 0-4 4.5h2.2Zm-3.4 0a12 12 0 0 1 2.8-4 12 12 0 0 0-5 4h2.2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'embed': '<svg width=\"24\" height=\"24\"><path d=\"M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm1 2v14h14V5H5Zm4.8 2.6 5.6 4a.5.5 0 0 1 0 .8l-5.6 4A.5.5 0 0 1 9 16V8a.5.5 0 0 1 .8-.4Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'emoji': '<svg width=\"24\" height=\"24\"><path d=\"M9 11c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm6 0c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm-3 5.5c2.1 0 4-1.5 4.4-3.5H7.6c.5 2 2.3 3.5 4.4 3.5ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'export': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M14.4 3 18 7v1h-5V5H7v14h9a1 1 0 0 1 2 0c0 1-.8 2-1.9 2H7c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2h7.5Z\"/><path d=\"M18.1 12c.5 0 .9.4.9 1 0 .5-.3 1-.8 1h-7.3c-.5 0-.9-.4-.9-1 0-.5.3-1 .8-1h7.3Z\"/><path d=\"M16.4 9.2a1 1 0 0 1 1.4.2l2.4 3.6-2.4 3.6a1 1 0 0 1-1.7-1v-.2l1.7-2.4-1.6-2.4a1 1 0 0 1 .2-1.4Z\"/><\/g><\/svg>',\n    'fill': '<svg width=\"24\" height=\"26\"><path d=\"m16.6 12-9-9-1.4 1.4 2.4 2.4-5.2 5.1c-.5.6-.5 1.6 0 2.2L9 19.6a1.5 1.5 0 0 0 2.2 0l5.5-5.5c.5-.6.5-1.6 0-2.2ZM5.2 13 10 8.2l4.8 4.8H5.2ZM19 14.5s-2 2.2-2 3.5c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.3-2-3.5-2-3.5Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'flip-horizontally': '<svg width=\"24\" height=\"24\"><path d=\"M14 19h2v-2h-2v2Zm4-8h2V9h-2v2ZM4 7v10c0 1.1.9 2 2 2h3v-2H6V7h3V5H6a2 2 0 0 0-2 2Zm14-2v2h2a2 2 0 0 0-2-2Zm-7 16h2V3h-2v18Zm7-6h2v-2h-2v2Zm-4-8h2V5h-2v2Zm4 12a2 2 0 0 0 2-2h-2v2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'flip-vertically': '<svg width=\"24\" height=\"24\"><path d=\"M5 14v2h2v-2H5Zm8 4v2h2v-2h-2Zm4-14H7a2 2 0 0 0-2 2v3h2V6h10v3h2V6a2 2 0 0 0-2-2Zm2 14h-2v2a2 2 0 0 0 2-2ZM3 11v2h18v-2H3Zm6 7v2h2v-2H9Zm8-4v2h2v-2h-2ZM5 18c0 1.1.9 2 2 2v-2H5Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'footnote': '<svg width=\"24\" height=\"24\"><path d=\"M19 13c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2h14Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19 4v6h-1V5h-1.5V4h2.6Z\"/><path d=\"M12 18c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2h7ZM14 8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2h9Z\"/><\/svg>',\n    'format-painter': '<svg width=\"24\" height=\"24\"><path d=\"M18 5V4c0-.5-.4-1-1-1H5a1 1 0 0 0-1 1v4c0 .6.5 1 1 1h12c.6 0 1-.4 1-1V7h1v4H9v9c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-7h8V5h-3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'format': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M17 5a1 1 0 0 1 0 2h-4v11a1 1 0 0 1-2 0V7H7a1 1 0 1 1 0-2h10Z\"/><\/svg>',\n    'fullscreen': '<svg width=\"24\" height=\"24\"><path d=\"m15.3 10-1.2-1.3 2.9-3h-2.3a.9.9 0 1 1 0-1.7H19c.5 0 .9.4.9.9v4.4a.9.9 0 1 1-1.8 0V7l-2.9 3Zm0 4 3 3v-2.3a.9.9 0 1 1 1.7 0V19c0 .5-.4.9-.9.9h-4.4a.9.9 0 1 1 0-1.8H17l-3-2.9 1.3-1.2ZM10 15.4l-2.9 3h2.3a.9.9 0 1 1 0 1.7H5a.9.9 0 0 1-.9-.9v-4.4a.9.9 0 1 1 1.8 0V17l2.9-3 1.2 1.3ZM8.7 10 5.7 7v2.3a.9.9 0 0 1-1.7 0V5c0-.5.4-.9.9-.9h4.4a.9.9 0 0 1 0 1.8H7l3 2.9-1.3 1.2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'gallery': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"m5 15.7 2.3-2.2c.3-.3.7-.3 1 0L11 16l5.1-5c.3-.4.8-.4 1 0l2 1.9V8H5v7.7ZM5 18V19h3l1.8-1.9-2-2L5 17.9Zm14-3-2.5-2.4-6.4 6.5H19v-4ZM4 6h16c.6 0 1 .4 1 1v13c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V7c0-.6.4-1 1-1Zm6 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4ZM4.5 4h15a.5.5 0 1 1 0 1h-15a.5.5 0 0 1 0-1Zm2-2h11a.5.5 0 1 1 0 1h-11a.5.5 0 0 1 0-1Z\"/><\/svg>',\n    'gamma': '<svg width=\"24\" height=\"24\"><path d=\"M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm1 2v14h14V5H5Zm6.5 11.8V14L9.2 8.7a5.1 5.1 0 0 0-.4-.8l-.1-.2H8v-1l.3-.1.3-.1h.7a1 1 0 0 1 .6.5l.1.3a8.5 8.5 0 0 1 .3.6l1.9 4.6 2-5.2a1 1 0 0 1 1-.6.5.5 0 0 1 .5.6L13 14v2.8a.7.7 0 0 1-1.4 0Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'help': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M12 5.5a6.5 6.5 0 0 0-6 9 6.3 6.3 0 0 0 1.4 2l1 1a6.3 6.3 0 0 0 3.6 1 6.5 6.5 0 0 0 6-9 6.3 6.3 0 0 0-1.4-2l-1-1a6.3 6.3 0 0 0-3.6-1ZM12 4a7.8 7.8 0 0 1 5.7 2.3A8 8 0 1 1 12 4Z\"/><path d=\"M9.6 9.7a.7.7 0 0 1-.7-.8c0-1.1 1.5-1.8 3.2-1.8 1.8 0 3.2.8 3.2 2.4 0 1.4-.4 2.1-1.5 2.8-.2 0-.3.1-.3.2a2 2 0 0 0-.8.8.8.8 0 0 1-1.4-.6c.3-.7.8-1 1.3-1.5l.4-.2c.7-.4.8-.6.8-1.5 0-.5-.6-.9-1.7-.9-.5 0-1 .1-1.4.3-.2 0-.3.1-.3.2v-.2c0 .4-.4.8-.8.8Z\" fill-rule=\"nonzero\"/><circle cx=\"12\" cy=\"16\" r=\"1\"/><\/g><\/svg>',\n    'highlight-bg-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path class=\"tox-icon-highlight-bg-color__color\" d=\"M3 18h18v3H3z\"/><path fill-rule=\"nonzero\" d=\"M7.7 16.7H3l3.3-3.3-.7-.8L10.2 8l4 4.1-4 4.2c-.2.2-.6.2-.8 0l-.6-.7-1.1 1.1zm5-7.5L11 7.4l3-2.9a2 2 0 0 1 2.6 0L18 6c.7.7.7 2 0 2.7l-2.9 2.9-1.8-1.8-.5-.6\"/><\/g><\/svg>',\n    'home': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"/><\/svg>',\n    'horizontal-rule': '<svg width=\"24\" height=\"24\"><path d=\"M4 11h16v2H4z\" fill-rule=\"evenodd\"/><\/svg>',\n    'image-options': '<svg width=\"24\" height=\"24\"><path d=\"M6 10a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm12 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm-6 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'image': '<svg width=\"24\" height=\"24\"><path d=\"m5 15.7 3.3-3.2c.3-.3.7-.3 1 0L12 15l4.1-4c.3-.4.8-.4 1 0l2 1.9V5H5v10.7ZM5 18V19h3l2.8-2.9-2-2L5 17.9Zm14-3-2.5-2.4-6.4 6.5H19v-4ZM4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm6 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'indent': '<svg width=\"24\" height=\"24\"><path d=\"M7 5h12c.6 0 1 .4 1 1s-.4 1-1 1H7a1 1 0 1 1 0-2Zm5 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm0 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm-5 4h12a1 1 0 0 1 0 2H7a1 1 0 0 1 0-2Zm-2.6-3.8L6.2 12l-1.8-1.2a1 1 0 0 1 1.2-1.6l3 2a1 1 0 0 1 0 1.6l-3 2a1 1 0 1 1-1.2-1.6Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'info': '<svg width=\"24\" height=\"24\"><path d=\"M12 4a7.8 7.8 0 0 1 5.7 2.3A8 8 0 1 1 12 4Zm-1 3v2h2V7h-2Zm3 10v-1h-1v-5h-3v1h1v4h-1v1h4Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'insert-character': '<svg width=\"24\" height=\"24\"><path d=\"M15 18h4l1-2v4h-6v-3.3l1.4-1a6 6 0 0 0 1.8-2.9 6.3 6.3 0 0 0-.1-4.1 5.8 5.8 0 0 0-3-3.2c-.6-.3-1.3-.5-2.1-.5a5.1 5.1 0 0 0-3.9 1.8 6.3 6.3 0 0 0-1.3 6 6.2 6.2 0 0 0 1.8 3l1.4.9V20H4v-4l1 2h4v-.5l-2-1L5.4 15A6.5 6.5 0 0 1 4 11c0-1 .2-1.9.6-2.7A7 7 0 0 1 6.3 6C7.1 5.4 8 5 9 4.5c1-.3 2-.5 3.1-.5a8.8 8.8 0 0 1 5.7 2 7 7 0 0 1 1.7 2.3 6 6 0 0 1 .2 4.8c-.2.7-.6 1.3-1 1.9a7.6 7.6 0 0 1-3.6 2.5v.5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'insert-time': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm0 2a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z\"/><path d=\"M16 12h-3V7c0-.6-.4-1-1-1a1 1 0 0 0-1 1v7h5c.6 0 1-.4 1-1s-.4-1-1-1Z\"/><\/g><\/svg>',\n    'invert': '<svg width=\"24\" height=\"24\"><path d=\"M18 19.3 16.5 18a5.8 5.8 0 0 1-3.1 1.9 6.1 6.1 0 0 1-5.5-1.6A5.8 5.8 0 0 1 6 14v-.3l.1-1.2A13.9 13.9 0 0 1 7.7 9l-3-3 .7-.8 2.8 2.9 9 8.9 1.5 1.6-.7.6Zm0-5.5v.3l-.1 1.1-.4 1-1.2-1.2a4.3 4.3 0 0 0 .2-1v-.2c0-.4 0-.8-.2-1.3l-.5-1.4a14.8 14.8 0 0 0-3-4.2L12 6a26.1 26.1 0 0 0-2.2 2.5l-1-1a20.9 20.9 0 0 1 2.9-3.3L12 4l1 .8a22.2 22.2 0 0 1 4 5.4c.6 1.2 1 2.4 1 3.6Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'italic': '<svg width=\"24\" height=\"24\"><path d=\"m16.7 4.7-.1.9h-.3c-.6 0-1 0-1.4.3-.3.3-.4.6-.5 1.1l-2.1 9.8v.6c0 .5.4.8 1.4.8h.2l-.2.8H8l.2-.8h.2c1.1 0 1.8-.5 2-1.5l2-9.8.1-.5c0-.6-.4-.8-1.4-.8h-.3l.2-.9h5.8Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'language': '<svg width=\"24\" height=\"24\"><path d=\"M12 3a9 9 0 1 1 0 18 9 9 0 0 1 0-18Zm4.3 13.3c-.5 1-1.2 2-2 2.9a7.5 7.5 0 0 0 3.2-2.1l-.2-.2a6 6 0 0 0-1-.6Zm-8.6 0c-.5.2-.9.5-1.2.8.9 1 2 1.7 3.2 2a10 10 0 0 1-2-2.8Zm3.6-.8c-.8 0-1.6.1-2.2.3.5 1 1.2 1.9 2.1 2.7Zm1.5 0v3c.9-.8 1.6-1.7 2.1-2.7-.6-.2-1.4-.3-2.1-.3Zm-6-2.7H4.5c.2 1 .5 2.1 1 3h.3l1.3-1a10 10 0 0 1-.3-2Zm12.7 0h-2.3c0 .7-.1 1.4-.3 2l1.6 1.1c.5-1 .9-2 1-3.1Zm-3.8 0h-3V14c1 0 2 .1 2.7.4.2-.5.3-1 .3-1.6Zm-4.4 0h-3l.3 1.6c.8-.3 1.7-.4 2.7-.4v-1.3Zm-5.5-5c-.7 1-1.1 2.2-1.3 3.5h2.3c0-1 .2-1.8.5-2.6l-1.5-1Zm2.9 1.4v.1c-.2.6-.4 1.3-.4 2h3V9.4c-1 0-1.8-.1-2.6-.3Zm6.6 0h-.1l-2.4.3v1.8h3l-.5-2.1Zm3-1.4-.3.1-1.3.8c.3.8.5 1.6.5 2.6h2.3a7.5 7.5 0 0 0-1.3-3.5Zm-9 0 2 .2V5.5a9 9 0 0 0-2 2.2Zm3.5-2.3V8c.6 0 1.3 0 1.9-.2a9 9 0 0 0-2-2.3Zm-3-.7h-.1c-1.1.4-2.1 1-3 1.8l1.2.7a10 10 0 0 1 1.9-2.5Zm4.4 0 .1.1a10 10 0 0 1 1.8 2.4l1.1-.7a7.5 7.5 0 0 0-3-1.8Z\"/><\/svg>',\n    'line-height': '<svg width=\"24\" height=\"24\"><path d=\"M21 5a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zm0 4a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zm0 4a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zm0 4a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zM7 3.6l3.7 3.7a1 1 0 0 1-1.3 1.5h-.1L8 7.3v9.2l1.3-1.3a1 1 0 0 1 1.3 0h.1c.4.4.4 1 0 1.3v.1L7 20.4l-3.7-3.7a1 1 0 0 1 1.3-1.5h.1L6 16.7V7.4L4.7 8.7a1 1 0 0 1-1.3 0h-.1a1 1 0 0 1 0-1.3v-.1L7 3.6z\"/><\/svg>',\n    'line': '<svg width=\"24\" height=\"24\"><path d=\"m15 9-8 8H4v-3l8-8 3 3Zm1-1-3-3 1-1h1c-.2 0 0 0 0 0l2 2s0 .2 0 0v1l-1 1ZM4 18h16v2H4v-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'link': '<svg width=\"24\" height=\"24\"><path d=\"M6.2 12.3a1 1 0 0 1 1.4 1.4l-2 2a2 2 0 1 0 2.6 2.8l4.8-4.8a1 1 0 0 0 0-1.4 1 1 0 1 1 1.4-1.3 2.9 2.9 0 0 1 0 4L9.6 20a3.9 3.9 0 0 1-5.5-5.5l2-2Zm11.6-.6a1 1 0 0 1-1.4-1.4l2-2a2 2 0 1 0-2.6-2.8L11 10.3a1 1 0 0 0 0 1.4A1 1 0 1 1 9.6 13a2.9 2.9 0 0 1 0-4L14.4 4a3.9 3.9 0 0 1 5.5 5.5l-2 2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'list-bull-circle': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path d=\"M11 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 1a3 3 0 1 1 0-6 3 3 0 0 1 0 6ZM11 26a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 1a3 3 0 1 1 0-6 3 3 0 0 1 0 6ZM11 36a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 1a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z\" fill-rule=\"nonzero\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><\/g><\/svg>',\n    'list-bull-default': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><circle cx=\"11\" cy=\"14\" r=\"3\"/><circle cx=\"11\" cy=\"24\" r=\"3\"/><circle cx=\"11\" cy=\"34\" r=\"3\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><\/g><\/svg>',\n    'list-bull-square': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path d=\"M8 11h6v6H8zM8 21h6v6H8zM8 31h6v6H8z\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><\/g><\/svg>',\n    'list-num-default-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M37.4 17v-4.8h-.1l-1.5 1v-1.1l1.6-1.1h1.2v6zM33.3 17.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm1.7 5.7c0-1.2 1-2 2.2-2 1.3 0 2.1.8 2.1 1.8 0 .7-.3 1.2-1.3 2.2l-1.2 1v.2h2.6v1h-4.3v-.9l2-1.9c.8-.8 1-1.1 1-1.5 0-.5-.4-.8-1-.8-.5 0-.9.3-.9.9H35zm-1.7 4.3c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm3.2 7.3v-1h.7c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7s-1 .3-1 .8H35c0-1.1 1-1.8 2.2-1.8 1.2 0 2.1.6 2.1 1.6 0 .7-.4 1.2-1 1.3v.1c.7.1 1.3.7 1.3 1.4 0 1-1 1.9-2.4 1.9-1.3 0-2.2-.8-2.3-2h1.2c0 .6.5 1 1.1 1 .6 0 1-.4 1-1 0-.5-.3-.8-1-.8h-.7zm-3.3 2.7c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7z\"/><\/g><\/svg>',\n    'list-num-default': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10 17v-4.8l-1.5 1v-1.1l1.6-1h1.2V17h-1.2Zm3.6.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7Zm-5 5.7c0-1.2.8-2 2.1-2s2.1.8 2.1 1.8c0 .7-.3 1.2-1.4 2.2l-1.1 1v.2h2.6v1H8.6v-.9l2-1.9c.8-.8 1-1.1 1-1.5 0-.5-.4-.8-1-.8-.5 0-.9.3-.9.9H8.5Zm6.3 4.3c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7ZM10 34.4v-1h.7c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7s-1 .3-1 .8H8.6c0-1.1 1-1.8 2.2-1.8 1.3 0 2.1.6 2.1 1.6 0 .7-.4 1.2-1 1.3v.1c.8.1 1.3.7 1.3 1.4 0 1-1 1.9-2.4 1.9-1.3 0-2.2-.8-2.3-2h1.2c0 .6.5 1 1.1 1 .7 0 1-.4 1-1 0-.5-.3-.8-1-.8h-.7Zm4.7 2.7c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7Z\"/><\/g><\/svg>',\n    'list-num-lower-alpha-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M36.5 16c-.9 0-1.5-.5-1.5-1.3s.6-1.3 1.8-1.4h1v-.4c0-.4-.2-.6-.7-.6-.4 0-.7.1-.8.4h-1.1c0-.8.8-1.4 2-1.4S39 12 39 13V16h-1.2v-.6c-.3.4-.8.7-1.4.7Zm.4-.8c.6 0 1-.4 1-.9V14h-1c-.5.1-.7.3-.7.6 0 .4.3.6.7.6ZM33.1 16.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7ZM37.7 26c-.7 0-1.2-.2-1.5-.7v.7H35v-6.3h1.2v2.5c.3-.5.8-.9 1.5-.9 1.1 0 1.8 1 1.8 2.4 0 1.5-.7 2.4-1.8 2.4Zm-.5-3.6c-.6 0-1 .5-1 1.3s.4 1.4 1 1.4c.7 0 1-.6 1-1.4 0-.8-.3-1.3-1-1.3ZM33.2 26.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7zm6 7h-1c-.1-.5-.4-.8-1-.8s-1 .5-1 1.4c0 1 .4 1.4 1 1.4.5 0 .9-.2 1-.7h1c0 1-.8 1.7-2 1.7-1.4 0-2.2-.9-2.2-2.4s.8-2.4 2.2-2.4c1.2 0 2 .7 2 1.7zm-6.1 3c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7z\"/><\/g><\/svg>',\n    'list-num-lower-alpha': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10.3 15.2c.5 0 1-.4 1-.9V14h-1c-.5.1-.8.3-.8.6 0 .4.3.6.8.6Zm-.4.9c-1 0-1.5-.6-1.5-1.4 0-.8.6-1.3 1.7-1.4h1.1v-.4c0-.4-.2-.6-.7-.6-.5 0-.8.1-.9.4h-1c0-.8.8-1.4 2-1.4 1.1 0 1.8.6 1.8 1.6V16h-1.1v-.6h-.1c-.2.4-.7.7-1.3.7Zm4.6 0c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm-3.2 10c-.6 0-1.2-.3-1.4-.8v.7H8.5v-6.3H10v2.5c.3-.5.8-.9 1.4-.9 1.2 0 1.9 1 1.9 2.4 0 1.5-.7 2.4-1.9 2.4Zm-.4-3.7c-.7 0-1 .5-1 1.3s.3 1.4 1 1.4c.6 0 1-.6 1-1.4 0-.8-.4-1.3-1-1.3Zm4 3.7c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm-2.2 7h-1.2c0-.5-.4-.8-.9-.8-.6 0-1 .5-1 1.4 0 1 .4 1.4 1 1.4.5 0 .8-.2 1-.7h1c0 1-.8 1.7-2 1.7-1.4 0-2.2-.9-2.2-2.4s.8-2.4 2.2-2.4c1.2 0 2 .7 2 1.7Zm1.8 3c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/><\/g><\/svg>',\n    'list-num-lower-greek-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M37.4 16c-1.2 0-2-.8-2-2.3 0-1.5.8-2.4 2-2.4.6 0 1 .4 1.3 1v-.9H40v3.2c0 .4.1.5.4.5h.2v.9h-.6c-.6 0-1-.2-1-.7h-.2c-.2.4-.7.8-1.3.8Zm.3-1c.6 0 1-.5 1-1.3s-.4-1.3-1-1.3-1 .5-1 1.3.4 1.4 1 1.4ZM33.3 16.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7ZM36 21.9c0-1.5.8-2.3 2.1-2.3 1.2 0 2 .6 2 1.6 0 .6-.3 1-.9 1.3.9.3 1.3.8 1.3 1.7 0 1.2-.7 1.9-1.8 1.9-.6 0-1.1-.3-1.4-.8v2.2H36V22Zm1.8 1.2v-1h.3c.5 0 .9-.2.9-.7 0-.5-.3-.8-.9-.8-.5 0-.8.3-.8 1v2.2c0 .8.4 1.3 1 1.3s1-.4 1-1-.4-1-1.2-1h-.3ZM33.3 26.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7ZM37.1 34.6 34.8 30h1.4l1.7 3.5 1.7-3.5h1.1l-2.2 4.6v.1c.5.8.7 1.4.7 1.8 0 .4-.2.8-.4 1-.2.2-.6.3-1 .3-.9 0-1.3-.4-1.3-1.2 0-.5.2-1 .5-1.7l.1-.2Zm.7 1a2 2 0 0 0-.4.9c0 .3.1.4.4.4.3 0 .4-.1.4-.4 0-.2-.1-.6-.4-1ZM33.3 36.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/><\/g><\/svg>',\n    'list-num-lower-greek': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10.5 15c.7 0 1-.5 1-1.3s-.3-1.3-1-1.3c-.5 0-.9.5-.9 1.3s.4 1.4 1 1.4Zm-.3 1c-1.1 0-1.8-.8-1.8-2.3 0-1.5.7-2.4 1.8-2.4.7 0 1.1.4 1.3 1h.1v-.9h1.2v3.2c0 .4.1.5.4.5h.2v.9h-.6c-.6 0-1-.2-1.1-.7h-.1c-.2.4-.7.8-1.4.8Zm5 .1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7Zm-4.9 7v-1h.3c.6 0 1-.2 1-.7 0-.5-.4-.8-1-.8-.5 0-.8.3-.8 1v2.2c0 .8.4 1.3 1.1 1.3.6 0 1-.4 1-1s-.5-1-1.3-1h-.3ZM8.6 22c0-1.5.7-2.3 2-2.3 1.2 0 2 .6 2 1.6 0 .6-.3 1-.8 1.3.8.3 1.3.8 1.3 1.7 0 1.2-.8 1.9-1.9 1.9-.6 0-1.1-.3-1.3-.8v2.2H8.5V22Zm6.2 4.2c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7Zm-4.5 8.5L8 30h1.4l1.7 3.5 1.7-3.5h1.1l-2.2 4.6v.1c.5.8.7 1.4.7 1.8 0 .4-.1.8-.4 1-.2.2-.6.3-1 .3-.9 0-1.3-.4-1.3-1.2 0-.5.2-1 .5-1.7l.1-.2Zm.7 1a2 2 0 0 0-.4.9c0 .3.1.4.4.4.3 0 .4-.1.4-.4 0-.2-.1-.6-.4-1Zm4.5.5c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/><\/g><\/svg>',\n    'list-num-lower-roman-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M32.9 16v-1.2h-1.3V16H33Zm0 10v-1.2h-1.3V26H33Zm0 10v-1.2h-1.3V36H33Z\"/><path fill-rule=\"nonzero\" d=\"M36 21h-1.5v5H36zM36 31h-1.5v5H36zM39 21h-1.5v5H39zM39 31h-1.5v5H39zM42 31h-1.5v5H42zM36 11h-1.5v5H36zM36 19h-1.5v1H36zM36 29h-1.5v1H36zM39 19h-1.5v1H39zM39 29h-1.5v1H39zM42 29h-1.5v1H42zM36 9h-1.5v1H36z\"/><\/g><\/svg>',\n    'list-num-lower-roman': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M15.1 16v-1.2h1.3V16H15Zm0 10v-1.2h1.3V26H15Zm0 10v-1.2h1.3V36H15Z\"/><path fill-rule=\"nonzero\" d=\"M12 21h1.5v5H12zM12 31h1.5v5H12zM9 21h1.5v5H9zM9 31h1.5v5H9zM6 31h1.5v5H6zM12 11h1.5v5H12zM12 19h1.5v1H12zM12 29h1.5v1H12zM9 19h1.5v1H9zM9 29h1.5v1H9zM6 29h1.5v1H6zM12 9h1.5v1H12z\"/><\/g><\/svg>',\n    'list-num-upper-alpha-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"m39.3 17-.5-1.4h-2l-.5 1.4H35l2-6h1.6l2 6h-1.3Zm-1.6-4.7-.7 2.3h1.6l-.8-2.3ZM33.4 17c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7Zm4.7 9.9h-2.7v-6H38c1.2 0 1.9.6 1.9 1.5 0 .6-.5 1.2-1 1.3.7.1 1.3.7 1.3 1.5 0 1-.8 1.7-2 1.7Zm-1.4-5v1.5h1c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7h-1Zm0 4h1.1c.7 0 1.1-.3 1.1-.8 0-.6-.4-.9-1.1-.9h-1.1V26ZM33 27.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm4.9 10c-1.8 0-2.8-1.1-2.8-3.1s1-3.1 2.8-3.1c1.4 0 2.5.9 2.6 2.2h-1.3c0-.7-.6-1.1-1.3-1.1-1 0-1.6.7-1.6 2s.6 2 1.6 2c.7 0 1.2-.4 1.4-1h1.2c-.1 1.3-1.2 2.2-2.6 2.2Zm-4.5 0c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/><\/g><\/svg>',\n    'list-num-upper-alpha': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"m12.6 17-.5-1.4h-2L9.5 17H8.3l2-6H12l2 6h-1.3ZM11 12.3l-.7 2.3h1.6l-.8-2.3Zm4.7 4.8c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7ZM11.4 27H8.7v-6h2.6c1.2 0 1.9.6 1.9 1.5 0 .6-.5 1.2-1 1.3.7.1 1.3.7 1.3 1.5 0 1-.8 1.7-2 1.7ZM10 22v1.5h1c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7h-1Zm0 4H11c.7 0 1.1-.3 1.1-.8 0-.6-.4-.9-1.1-.9H10V26Zm5.4 1.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm-4.1 10c-1.8 0-2.8-1.1-2.8-3.1s1-3.1 2.8-3.1c1.4 0 2.5.9 2.6 2.2h-1.3c0-.7-.6-1.1-1.3-1.1-1 0-1.6.7-1.6 2s.6 2 1.6 2c.7 0 1.2-.4 1.4-1h1.2c-.1 1.3-1.2 2.2-2.6 2.2Zm4.5 0c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/><\/g><\/svg>',\n    'list-num-upper-roman-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M31.6 17v-1.2H33V17h-1.3Zm0 10v-1.2H33V27h-1.3Zm0 10v-1.2H33V37h-1.3Z\"/><path fill-rule=\"nonzero\" d=\"M34.5 20H36v7h-1.5zM34.5 30H36v7h-1.5zM37.5 20H39v7h-1.5zM37.5 30H39v7h-1.5zM40.5 30H42v7h-1.5zM34.5 10H36v7h-1.5z\"/><\/g><\/svg>',\n    'list-num-upper-roman': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M15.1 17v-1.2h1.3V17H15Zm0 10v-1.2h1.3V27H15Zm0 10v-1.2h1.3V37H15Z\"/><path fill-rule=\"nonzero\" d=\"M12 20h1.5v7H12zM12 30h1.5v7H12zM9 20h1.5v7H9zM9 30h1.5v7H9zM6 30h1.5v7H6zM12 10h1.5v7H12z\"/><\/g><\/svg>',\n    'lock': '<svg width=\"24\" height=\"24\"><path d=\"M16.3 11c.2 0 .3 0 .5.2l.2.6v7.4c0 .3 0 .4-.2.6l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6v-7.4c0-.3 0-.4.2-.6l.5-.2H8V8c0-.8.3-1.5.9-2.1.6-.6 1.3-.9 2.1-.9h2c.8 0 1.5.3 2.1.9.6.6.9 1.3.9 2.1v3h.3ZM10 8v3h4V8a1 1 0 0 0-.3-.7A1 1 0 0 0 13 7h-2a1 1 0 0 0-.7.3 1 1 0 0 0-.3.7Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'ltr': '<svg width=\"24\" height=\"24\"><path d=\"M11 5h7a1 1 0 0 1 0 2h-1v11a1 1 0 0 1-2 0V7h-2v11a1 1 0 0 1-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 7.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L11 5ZM4.4 16.2 6.2 15l-1.8-1.2a1 1 0 0 1 1.2-1.6l3 2a1 1 0 0 1 0 1.6l-3 2a1 1 0 1 1-1.2-1.6Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'minus': '<svg width=\"24\" height=\"24\"><path d=\"M19 11a1 1 0 0 1 .1 2H5a1 1 0 0 1-.1-2H19Z\"/><\/svg>',\n    'more-drawer': '<svg width=\"24\" height=\"24\"><path d=\"M6 10a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm12 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm-6 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'new-document': '<svg width=\"24\" height=\"24\"><path d=\"M14.4 3H7a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h10a2 2 0 0 0 2-2V7.6L14.4 3ZM17 19H7V5h6v4h4v10Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'new-tab': '<svg width=\"24\" height=\"24\"><path d=\"m15 13 2-2v8H5V7h8l-2 2H7v8h8v-4Zm4-8v5.5l-2-2-5.6 5.5H10v-1.4L15.5 7l-2-2H19Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'non-breaking': '<svg width=\"24\" height=\"24\"><path d=\"M11 11H8a1 1 0 1 1 0-2h3V6c0-.6.4-1 1-1s1 .4 1 1v3h3c.6 0 1 .4 1 1s-.4 1-1 1h-3v3c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-3Zm10 4v5H3v-5c0-.6.4-1 1-1s1 .4 1 1v3h14v-3c0-.6.4-1 1-1s1 .4 1 1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'notice': '<svg width=\"24\" height=\"24\"><path d=\"M15.5 4 20 8.5v7L15.5 20h-7L4 15.5v-7L8.5 4h7ZM13 17v-2h-2v2h2Zm0-4V7h-2v6h2Z\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"/><\/svg>',\n    'ordered-list-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M6 17h8a1 1 0 0 1 0 2H6a1 1 0 0 1 0-2Zm0-6h8a1 1 0 0 1 0 2H6a1 1 0 0 1 0-2Zm0-6h8a1 1 0 0 1 0 2H6a1 1 0 1 1 0-2Zm13-1v3.5a.5.5 0 1 1-1 0V5h-.5a.5.5 0 1 1 0-1H19Zm-1 8.8.2.2h1.3a.5.5 0 1 1 0 1h-1.6a1 1 0 0 1-.9-1V13c0-.4.3-.8.6-1l1.2-.4.2-.3a.2.2 0 0 0-.2-.2h-1.3a.5.5 0 0 1-.5-.5c0-.3.2-.5.5-.5h1.6c.5 0 .9.4.9 1v.1c0 .4-.3.8-.6 1l-1.2.4-.2.3Zm2 4.2v2c0 .6-.4 1-1 1h-1.5a.5.5 0 0 1 0-1h1.2a.3.3 0 1 0 0-.6h-1.3a.4.4 0 1 1 0-.8h1.3a.3.3 0 0 0 0-.6h-1.2a.5.5 0 1 1 0-1H19c.6 0 1 .4 1 1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'ordered-list': '<svg width=\"24\" height=\"24\"><path d=\"M10 17h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 1 1 0-2ZM6 4v3.5c0 .3-.2.5-.5.5a.5.5 0 0 1-.5-.5V5h-.5a.5.5 0 0 1 0-1H6Zm-1 8.8.2.2h1.3c.3 0 .5.2.5.5s-.2.5-.5.5H4.9a1 1 0 0 1-.9-1V13c0-.4.3-.8.6-1l1.2-.4.2-.3a.2.2 0 0 0-.2-.2H4.5a.5.5 0 0 1-.5-.5c0-.3.2-.5.5-.5h1.6c.5 0 .9.4.9 1v.1c0 .4-.3.8-.6 1l-1.2.4-.2.3ZM7 17v2c0 .6-.4 1-1 1H4.5a.5.5 0 0 1 0-1h1.2c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3H4.4a.4.4 0 1 1 0-.8h1.3c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3H4.5a.5.5 0 1 1 0-1H6c.6 0 1 .4 1 1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'orientation': '<svg width=\"24\" height=\"24\"><path d=\"M7.3 6.4 1 13l6.4 6.5 6.5-6.5-6.5-6.5ZM3.7 13l3.6-3.7L11 13l-3.7 3.7-3.6-3.7ZM12 6l2.8 2.7c.3.3.3.8 0 1-.3.4-.9.4-1.2 0L9.2 5.7a.8.8 0 0 1 0-1.2L13.6.2c.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.1L12 4h1a9 9 0 1 1-4.3 16.9l1.5-1.5A7 7 0 1 0 13 6h-1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'outdent': '<svg width=\"24\" height=\"24\"><path d=\"M7 5h12c.6 0 1 .4 1 1s-.4 1-1 1H7a1 1 0 1 1 0-2Zm5 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm0 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm-5 4h12a1 1 0 0 1 0 2H7a1 1 0 0 1 0-2Zm1.6-3.8a1 1 0 0 1-1.2 1.6l-3-2a1 1 0 0 1 0-1.6l3-2a1 1 0 0 1 1.2 1.6L6.8 12l1.8 1.2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'page-break': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M5 11c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h1c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Zm4 0c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h1c.6 0 1 .4 1 1s-.4 1-1 1h-1a1 1 0 0 1 0-2Zm4 0c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2ZM7 3v5h10V3c0-.6.4-1 1-1s1 .4 1 1v7H5V3c0-.6.4-1 1-1s1 .4 1 1ZM6 22a1 1 0 0 1-1-1v-7h14v7c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-5H7v5c0 .6-.4 1-1 1Z\"/><\/g><\/svg>',\n    'paragraph': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M10 5h7a1 1 0 0 1 0 2h-1v11a1 1 0 0 1-2 0V7h-2v11a1 1 0 0 1-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 6.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L10 5Z\"/><\/svg>',\n    'paste-column-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h7v2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm8 7v12h-6V8h6Zm-1.5 1.5h-3v9h3v-9ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/><\/svg>',\n    'paste-column-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V18c0 1-.8 2-1.9 2H11v-2h7V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v2H4V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm-2 7v12H4V8h6ZM8.5 9.5h-3v9h3v-9ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/><\/svg>',\n    'paste-row-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V11h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h14c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm10 11v5H8v-5h14Zm-1.5 1.5h-11v2h11v-2ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/><\/svg>',\n    'paste-row-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h12v-4h2v4c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm10 7v5H8V8h14Zm-1.5 1.5h-11v2h11v-2ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/><\/svg>',\n    'paste-text': '<svg width=\"24\" height=\"24\"><path d=\"M18 9V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h3V9h9ZM9 20H6a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.2A3 3 0 0 1 12 1a3 3 0 0 1 2.8 2H18a2 2 0 0 1 2 2v4h1v12H9v-1Zm1.5-9.5v9h9v-9h-9ZM12 3a1 1 0 0 0-1 1c0 .5.4 1 1 1s1-.5 1-1-.4-1-1-1Zm0 9h6v2h-.5l-.5-1h-1v4h.8v1h-3.6v-1h.8v-4h-1l-.5 1H12v-2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'paste': '<svg width=\"24\" height=\"24\"><path d=\"M18 9V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h3V9h9ZM9 20H6a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.2A3 3 0 0 1 12 1a3 3 0 0 1 2.8 2H18a2 2 0 0 1 2 2v4h1v12H9v-1Zm1.5-9.5v9h9v-9h-9ZM12 3a1 1 0 0 0-1 1c0 .5.4 1 1 1s1-.5 1-1-.4-1-1-1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'permanent-pen': '<svg width=\"24\" height=\"24\"><path d=\"M10.5 17.5 8 20H3v-3l3.5-3.5a2 2 0 0 1 0-3L14 3l1 1-7.3 7.3a1 1 0 0 0 0 1.4l3.6 3.6c.4.4 1 .4 1.4 0L20 9l1 1-7.6 7.6a2 2 0 0 1-2.8 0l-.1-.1Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'plus': '<svg width=\"24\" height=\"24\"><path d=\"M12 4c.5 0 1 .4 1 .9V11h6a1 1 0 0 1 .1 2H13v6a1 1 0 0 1-2 .1V13H5a1 1 0 0 1-.1-2H11V5c0-.6.4-1 1-1Z\"/><\/svg>',\n    'preferences': '<svg width=\"24\" height=\"24\"><path d=\"m20.1 13.5-1.9.2a5.8 5.8 0 0 1-.6 1.5l1.2 1.5c.4.4.3 1 0 1.4l-.7.7a1 1 0 0 1-1.4 0l-1.5-1.2a6.2 6.2 0 0 1-1.5.6l-.2 1.9c0 .5-.5.9-1 .9h-1a1 1 0 0 1-1-.9l-.2-1.9a5.8 5.8 0 0 1-1.5-.6l-1.5 1.2a1 1 0 0 1-1.4 0l-.7-.7a1 1 0 0 1 0-1.4l1.2-1.5a6.2 6.2 0 0 1-.6-1.5l-1.9-.2a1 1 0 0 1-.9-1v-1c0-.5.4-1 .9-1l1.9-.2a5.8 5.8 0 0 1 .6-1.5L5.2 7.3a1 1 0 0 1 0-1.4l.7-.7a1 1 0 0 1 1.4 0l1.5 1.2a6.2 6.2 0 0 1 1.5-.6l.2-1.9c0-.5.5-.9 1-.9h1c.5 0 1 .4 1 .9l.2 1.9a5.8 5.8 0 0 1 1.5.6l1.5-1.2a1 1 0 0 1 1.4 0l.7.7c.3.4.4 1 0 1.4l-1.2 1.5a6.2 6.2 0 0 1 .6 1.5l1.9.2c.5 0 .9.5.9 1v1c0 .5-.4 1-.9 1ZM12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'preview': '<svg width=\"24\" height=\"24\"><path d=\"M3.5 12.5c.5.8 1.1 1.6 1.8 2.3 2 2 4.2 3.2 6.7 3.2s4.7-1.2 6.7-3.2a16.2 16.2 0 0 0 2.1-2.8 15.7 15.7 0 0 0-2.1-2.8c-2-2-4.2-3.2-6.7-3.2a9.3 9.3 0 0 0-6.7 3.2A16.2 16.2 0 0 0 3.2 12c0 .2.2.3.3.5Zm-2.4-1 .7-1.2L4 7.8C6.2 5.4 8.9 4 12 4c3 0 5.8 1.4 8.1 3.8a18.2 18.2 0 0 1 2.8 3.7v1l-.7 1.2-2.1 2.5c-2.3 2.4-5 3.8-8.1 3.8-3 0-5.8-1.4-8.1-3.8a18.2 18.2 0 0 1-2.8-3.7 1 1 0 0 1 0-1Zm12-3.3a2 2 0 1 0 2.7 2.6 4 4 0 1 1-2.6-2.6Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'print': '<svg width=\"24\" height=\"24\"><path d=\"M18 8H6a3 3 0 0 0-3 3v6h2v3h14v-3h2v-6a3 3 0 0 0-3-3Zm-1 10H7v-4h10v4Zm.5-5c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5Zm.5-8H6v2h12V5Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'quote': '<svg width=\"24\" height=\"24\"><path d=\"M7.5 17h.9c.4 0 .7-.2.9-.6L11 13V8c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v4c0 .6.4 1 1 1h2l-1.3 2.7a1 1 0 0 0 .8 1.3Zm8 0h.9c.4 0 .7-.2.9-.6L19 13V8c0-.6-.4-1-1-1h-4a1 1 0 0 0-1 1v4c0 .6.4 1 1 1h2l-1.3 2.7a1 1 0 0 0 .8 1.3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'redo': '<svg width=\"24\" height=\"24\"><path d=\"M17.6 10H12c-2.8 0-4.4 1.4-4.9 3.5-.4 2 .3 4 1.4 4.6a1 1 0 1 1-1 1.8c-2-1.2-2.9-4.1-2.3-6.8.6-3 3-5.1 6.8-5.1h5.6l-3.3-3.3a1 1 0 1 1 1.4-1.4l5 5a1 1 0 0 1 0 1.4l-5 5a1 1 0 0 1-1.4-1.4l3.3-3.3Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'reload': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"m5 22.1-1.2-4.7v-.2a1 1 0 0 1 1-1l5 .4a1 1 0 1 1-.2 2l-2.2-.2a7.8 7.8 0 0 0 8.4.2 7.5 7.5 0 0 0 3.5-6.4 1 1 0 1 1 2 0 9.5 9.5 0 0 1-4.5 8 9.9 9.9 0 0 1-10.2 0l.4 1.4a1 1 0 1 1-2 .5ZM13.6 7.4c0-.5.5-1 1-.9l2.8.2a8 8 0 0 0-9.5-1 7.5 7.5 0 0 0-3.6 7 1 1 0 0 1-2 0 9.5 9.5 0 0 1 4.5-8.6 10 10 0 0 1 10.9.3l-.3-1a1 1 0 0 1 2-.5l1.1 4.8a1 1 0 0 1-1 1.2l-5-.4a1 1 0 0 1-.9-1Z\"/><\/g><\/svg>',\n    'remove-formatting': '<svg width=\"24\" height=\"24\"><path d=\"M13.2 6a1 1 0 0 1 0 .2l-2.6 10a1 1 0 0 1-1 .8h-.2a.8.8 0 0 1-.8-1l2.6-10H8a1 1 0 1 1 0-2h9a1 1 0 0 1 0 2h-3.8ZM5 18h7a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2Zm13 1.5L16.5 18 15 19.5a.7.7 0 0 1-1-1l1.5-1.5-1.5-1.5a.7.7 0 0 1 1-1l1.5 1.5 1.5-1.5a.7.7 0 0 1 1 1L17.5 17l1.5 1.5a.7.7 0 0 1-1 1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'remove': '<svg width=\"24\" height=\"24\"><path d=\"M16 7h3a1 1 0 0 1 0 2h-1v9a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V9H5a1 1 0 1 1 0-2h3V6a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v1Zm-2 0V6c0-.6-.4-1-1-1h-2a1 1 0 0 0-1 1v1h4Zm2 2H8v9c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V9Zm-7 3a1 1 0 0 1 2 0v4a1 1 0 0 1-2 0v-4Zm4 0a1 1 0 0 1 2 0v4a1 1 0 0 1-2 0v-4Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'resize-handle': '<svg width=\"10\" height=\"10\"><g fill-rule=\"nonzero\"><path d=\"M8.1 1.1A.5.5 0 1 1 9 2l-7 7A.5.5 0 1 1 1 8l7-7ZM8.1 5.1A.5.5 0 1 1 9 6l-3 3A.5.5 0 1 1 5 8l3-3Z\"/><\/g><\/svg>',\n    'resize': '<svg width=\"24\" height=\"24\"><path d=\"M4 5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h6c.3 0 .5.1.7.3.2.2.3.4.3.7 0 .3-.1.5-.3.7a1 1 0 0 1-.7.3H7.4L18 16.6V13c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3.3 0 .5.1.7.3.2.2.3.4.3.7v6c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3h-6a1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h3.6L6 7.4V11c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.7-.3A1 1 0 0 1 4 11V5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'restore-draft': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M17 13c0 .6-.4 1-1 1h-4V8c0-.6.4-1 1-1s1 .4 1 1v4h2c.6 0 1 .4 1 1Z\"/><path d=\"M4.7 10H9a1 1 0 0 1 0 2H3a1 1 0 0 1-1-1V5a1 1 0 1 1 2 0v3l2.5-2.4a9.2 9.2 0 0 1 10.8-1.5A9 9 0 0 1 13.4 21c-2.4.1-4.7-.7-6.5-2.2a1 1 0 1 1 1.3-1.5 7.2 7.2 0 0 0 11.6-3.7 7 7 0 0 0-3.5-7.7A7.2 7.2 0 0 0 8 7L4.7 10Z\" fill-rule=\"nonzero\"/><\/g><\/svg>',\n    'rotate-left': '<svg width=\"24\" height=\"24\"><path d=\"M4.7 10H9a1 1 0 0 1 0 2H3a1 1 0 0 1-1-1V5a1 1 0 1 1 2 0v3l2.5-2.4a9.2 9.2 0 0 1 10.8-1.5A9 9 0 0 1 13.4 21c-2.4.1-4.7-.7-6.5-2.2a1 1 0 1 1 1.3-1.5 7.2 7.2 0 0 0 11.6-3.7 7 7 0 0 0-3.5-7.7A7.2 7.2 0 0 0 8 7L4.7 10Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'rotate-right': '<svg width=\"24\" height=\"24\"><path d=\"M20 8V5a1 1 0 0 1 2 0v6c0 .6-.4 1-1 1h-6a1 1 0 0 1 0-2h4.3L16 7A7.2 7.2 0 0 0 7.7 6a7 7 0 0 0 3 13.1c1.9.1 3.7-.5 5-1.7a1 1 0 0 1 1.4 1.5A9.2 9.2 0 0 1 2.2 14c-.9-3.9 1-8 4.5-9.9 3.5-1.9 8-1.3 10.8 1.5L20 8Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'rtl': '<svg width=\"24\" height=\"24\"><path d=\"M8 5h8v2h-2v12h-2V7h-2v12H8v-7c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 4.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L8 5Zm12 11.2a1 1 0 1 1-1 1.6l-3-2a1 1 0 0 1 0-1.6l3-2a1 1 0 1 1 1 1.6L18.4 15l1.8 1.2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'save': '<svg width=\"24\" height=\"24\"><path d=\"M5 16h14a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2Zm0 2v2h14v-2H5Zm10 0h2v2h-2v-2Zm-4-6.4L8.7 9.3a1 1 0 1 0-1.4 1.4l4 4c.4.4 1 .4 1.4 0l4-4a1 1 0 1 0-1.4-1.4L13 11.6V4a1 1 0 0 0-2 0v7.6Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'search': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 1 1 1.4-1.4l4.3 4.4a1 1 0 0 1-1.4 1.4l-4.4-4.3Zm-5-.3a6 6 0 1 0 0-12 6 6 0 0 0 0 12Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'select-all': '<svg width=\"24\" height=\"24\"><path d=\"M3 5h2V3a2 2 0 0 0-2 2Zm0 8h2v-2H3v2Zm4 8h2v-2H7v2ZM3 9h2V7H3v2Zm10-6h-2v2h2V3Zm6 0v2h2a2 2 0 0 0-2-2ZM5 21v-2H3c0 1.1.9 2 2 2Zm-2-4h2v-2H3v2ZM9 3H7v2h2V3Zm2 18h2v-2h-2v2Zm8-8h2v-2h-2v2Zm0 8a2 2 0 0 0 2-2h-2v2Zm0-12h2V7h-2v2Zm0 8h2v-2h-2v2Zm-4 4h2v-2h-2v2Zm0-16h2V3h-2v2ZM7 17h10V7H7v10Zm2-8h6v6H9V9Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'selected': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Zm3.6 10.9L7 12.3a.7.7 0 0 0-1 1L9.6 17 18 8.6a.7.7 0 0 0 0-1 .7.7 0 0 0-1 0l-7.4 7.3Z\"/><\/svg>',\n    'send': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"m13.3 22 7-18.3-18.3 7L9 15l4.3 7ZM18 6.8l-.7-.7L9.4 14l.7.7L18 6.8Z\"/><\/svg>',\n    'settings': '<svg width=\"24\" height=\"24\"><path d=\"M11 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8v.3c0 .2 0 .3-.2.5l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6V8H5a1 1 0 1 1 0-2h2v-.3c0-.2 0-.3.2-.5l.5-.2h2.5c.3 0 .4 0 .6.2l.2.5V6ZM8 8h2V6H8v2Zm9 2.8v.2h2c.6 0 1 .4 1 1s-.4 1-1 1h-2v.3c0 .2 0 .3-.2.5l-.6.2h-2.4c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6V13H5a1 1 0 0 1 0-2h8v-.3c0-.2 0-.3.2-.5l.6-.2h2.4c.3 0 .4 0 .6.2l.2.6ZM14 13h2v-2h-2v2Zm-3 2.8v.2h8c.6 0 1 .4 1 1s-.4 1-1 1h-8v.3c0 .2 0 .3-.2.5l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6V18H5a1 1 0 0 1 0-2h2v-.3c0-.2 0-.3.2-.5l.5-.2h2.5c.3 0 .4 0 .6.2l.2.6ZM8 18h2v-2H8v2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'sharpen': '<svg width=\"24\" height=\"24\"><path d=\"m16 6 4 4-8 9-8-9 4-4h8Zm-4 10.2 5.5-6.2-.1-.1H12v-.3h5.1l-.2-.2H12V9h4.6l-.2-.2H12v-.3h4.1l-.2-.2H12V8h3.6l-.2-.2H8.7L6.5 10l.1.1H12v.3H6.9l.2.2H12v.3H7.3l.2.2H12v.3H7.7l.3.2h4v.3H8.2l.2.2H12v.3H8.6l.3.2H12v.3H9l.3.2H12v.3H9.5l.2.2H12v.3h-2l.2.2H12v.3h-1.6l.2.2H12v.3h-1.1l.2.2h.9v.3h-.7l.2.2h.5v.3h-.3l.3.2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'sourcecode': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M9.8 15.7c.3.3.3.8 0 1-.3.4-.9.4-1.2 0l-4.4-4.1a.8.8 0 0 1 0-1.2l4.4-4.2c.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.1L6 12l3.8 3.7ZM14.2 15.7c-.3.3-.3.8 0 1 .4.4.9.4 1.2 0l4.4-4.1c.3-.3.3-.9 0-1.2l-4.4-4.2a.8.8 0 0 0-1.2 0c-.3.3-.3.8 0 1.1L18 12l-3.8 3.7Z\"/><\/g><\/svg>',\n    'spell-check': '<svg width=\"24\" height=\"24\"><path d=\"M6 8v3H5V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h2c.3 0 .5.1.7.3.2.2.3.4.3.7v6H8V8H6Zm0-3v2h2V5H6Zm13 0h-3v5h3v1h-3a1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h3v1Zm-5 1.5-.1.7c-.1.2-.3.3-.6.3.3 0 .5.1.6.3l.1.7V10c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3h-3V4h3c.3 0 .5.1.7.3.2.2.3.4.3.7v1.5ZM13 10V8h-2v2h2Zm0-3V5h-2v2h2Zm3 5 1 1-6.5 7L7 15.5l1.3-1 2.2 2.2L16 12Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'strike-through': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M15.6 8.5c-.5-.7-1-1.1-1.3-1.3-.6-.4-1.3-.6-2-.6-2.7 0-2.8 1.7-2.8 2.1 0 1.6 1.8 2 3.2 2.3 4.4.9 4.6 2.8 4.6 3.9 0 1.4-.7 4.1-5 4.1A6.2 6.2 0 0 1 7 16.4l1.5-1.1c.4.6 1.6 2 3.7 2 1.6 0 2.5-.4 3-1.2.4-.8.3-2-.8-2.6-.7-.4-1.6-.7-2.9-1-1-.2-3.9-.8-3.9-3.6C7.6 6 10.3 5 12.4 5c2.9 0 4.2 1.6 4.7 2.4l-1.5 1.1Z\"/><path d=\"M5 11h14a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2Z\" fill-rule=\"nonzero\"/><\/g><\/svg>',\n    'subscript': '<svg width=\"24\" height=\"24\"><path d=\"m10.4 10 4.6 4.6-1.4 1.4L9 11.4 4.4 16 3 14.6 7.6 10 3 5.4 4.4 4 9 8.6 13.6 4 15 5.4 10.4 10ZM21 19h-5v-1l1-.8 1.7-1.6c.3-.4.5-.8.5-1.2 0-.3 0-.6-.2-.7-.2-.2-.5-.3-.9-.3a2 2 0 0 0-.8.2l-.7.3-.4-1.1 1-.6 1.2-.2c.8 0 1.4.3 1.8.7.4.4.6.9.6 1.5s-.2 1.1-.5 1.6a8 8 0 0 1-1.3 1.3l-.6.6h2.6V19Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'superscript': '<svg width=\"24\" height=\"24\"><path d=\"M15 9.4 10.4 14l4.6 4.6-1.4 1.4L9 15.4 4.4 20 3 18.6 7.6 14 3 9.4 4.4 8 9 12.6 13.6 8 15 9.4Zm5.9 1.6h-5v-1l1-.8 1.7-1.6c.3-.5.5-.9.5-1.3 0-.3 0-.5-.2-.7-.2-.2-.5-.3-.9-.3l-.8.2-.7.4-.4-1.2c.2-.2.5-.4 1-.5.3-.2.8-.2 1.2-.2.8 0 1.4.2 1.8.6.4.4.6 1 .6 1.6 0 .5-.2 1-.5 1.5l-1.3 1.4-.6.5h2.6V11Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'table-caption': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><rect width=\"12\" height=\"2\" x=\"3\" y=\"4\" rx=\"1\"/><path d=\"M19 8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-8c0-1.1.9-2 2-2h14ZM5 15v3h6v-3H5Zm14 0h-6v3h6v-3Zm0-5h-6v3h6v-3ZM5 13h6v-3H5v3Z\"/><\/g><\/svg>',\n    'table-cell-classes': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M13 4v9H3V6c0-1.1.9-2 2-2h8Zm-2 2H5v5h6V6Z\"/><path fill-rule=\"nonzero\" d=\"M13 4h6a2 2 0 0 1 2 2v7h-8v-2h6V6h-6V4Z\" opacity=\".2\"/><path d=\"m18 20-2.6 1.6.7-3-2.4-2 3.1-.2 1.2-2.9 1.2 2.9 3.1.2-2.4 2 .7 3z\"/><path fill-rule=\"nonzero\" d=\"M3 13v5c0 1.1.9 2 2 2h8v-7h-2v5H5v-5H3Z\" opacity=\".2\"/><\/g><\/svg>',\n    'table-cell-properties': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 9H5v5h6v-5Zm8 0h-6v5h6v-5Zm-8-7H5v5h6V6Z\"/><\/svg>',\n    'table-cell-select-all': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 2H5v12h14V6Z\"/><path d=\"M13 6v5h6v2h-6v5h-2v-5H5v-2h6V6h2Z\" opacity=\".2\"/><\/g><\/svg>',\n    'table-cell-select-inner': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 2H5v12h14V6Z\" opacity=\".2\"/><path d=\"M13 6v5h6v2h-6v5h-2v-5H5v-2h6V6h2Z\"/><\/g><\/svg>',\n    'table-classes': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v7h-8v7H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 9H5v5h6v-5Zm8-7h-6v5h6V6Zm-8 0H5v5h6V6Z\"/><path d=\"m18 20-2.6 1.6.7-3-2.4-2 3.1-.2 1.2-2.9 1.2 2.9 3.1.2-2.4 2 .7 3z\"/><\/g><\/svg>',\n    'table-delete-column': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-4 4h-2V6h-2v2H9V6H5v12h4v-2h2v2h2v-2h2v2h4V6h-4v2Zm.3.5 1 1.2-3 2.3 3 2.3-1 1.2L12 13l-3.3 2.6-1-1.2 3-2.3-3-2.3 1-1.2L12 11l3.3-2.5Z\"/><\/svg>',\n    'table-delete-row': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 2H5v3h2.5v2H5v2h2.5v2H5v3h14v-3h-2.5v-2H19v-2h-2.5V9H19V6Zm-4.7 1.8 1.2 1L13 12l2.6 3.3-1.2 1-2.3-3-2.3 3-1.2-1L11 12 8.5 8.7l1.2-1 2.3 3 2.3-3Z\"/><\/svg>',\n    'table-delete-table': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 6v12h14V6H5Z\"/><path d=\"m14.4 8.6 1.1 1-2.4 2.4 2.4 2.4-1.1 1.1-2.4-2.4-2.4 2.4-1-1.1 2.3-2.4-2.3-2.4 1-1 2.4 2.3z\"/><\/g><\/svg>',\n    'table-insert-column-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M20 4c.6 0 1 .4 1 1v2a1 1 0 0 1-2 0V6h-8v12h8v-1a1 1 0 0 1 2 0v2c0 .5-.4 1-.9 1H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h15ZM9 13H5v5h4v-5Zm7-5c.5 0 1 .4 1 .9V11h2a1 1 0 0 1 .1 2H17v2a1 1 0 0 1-2 .1V13h-2a1 1 0 0 1-.1-2H15V9c0-.6.4-1 1-1ZM9 6H5v5h4V6Z\"/><\/svg>',\n    'table-insert-column-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 2 0v1h8V6H5v1a1 1 0 1 1-2 0V5c0-.6.4-1 1-1h15Zm0 9h-4v5h4v-5ZM8 8c.5 0 1 .4 1 .9V11h2a1 1 0 0 1 .1 2H9v2a1 1 0 0 1-2 .1V13H5a1 1 0 0 1-.1-2H7V9c0-.6.4-1 1-1Zm11-2h-4v5h4V6Z\"/><\/svg>',\n    'table-insert-row-above': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4a1 1 0 1 1 0 2H5v6h14V6h-1a1 1 0 0 1 0-2h2c.6 0 1 .4 1 1v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5c0-.6.4-1 1-1h2Zm5 10H5v4h6v-4Zm8 0h-6v4h6v-4ZM12 3c.5 0 1 .4 1 .9V6h2a1 1 0 0 1 0 2h-2v2a1 1 0 0 1-2 .1V8H9a1 1 0 0 1 0-2h2V4c0-.6.4-1 1-1Z\"/><\/svg>',\n    'table-insert-row-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M12 13c.5 0 1 .4 1 .9V16h2a1 1 0 0 1 .1 2H13v2a1 1 0 0 1-2 .1V18H9a1 1 0 0 1-.1-2H11v-2c0-.6.4-1 1-1Zm6 7a1 1 0 0 1 0-2h1v-6H5v6h1a1 1 0 0 1 0 2H4a1 1 0 0 1-1-1V6c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v13c0 .5-.4 1-.9 1H18ZM11 6H5v4h6V6Zm8 0h-6v4h6V6Z\"/><\/svg>',\n    'table-left-header': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 9h-4v5h4v-5Zm-6 0H9v5h4v-5Zm0-7H9v5h4V6Zm6 0h-4v5h4V6Z\"/><\/svg>',\n    'table-merge-cells': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 15.5V18h3v-2.5H5Zm14-5h-9V18h9v-7.5ZM19 6h-4v2.5h4V6ZM8 6H5v2.5h3V6Zm5 0h-3v2.5h3V6Zm-8 7.5h3v-3H5v3Z\"/><\/svg>',\n    'table-row-numbering-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M6 4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H6Zm0 12h8v3H6v-3Zm11 0c.6 0 1 .4 1 1v1a1 1 0 0 1-2 0v-1c0-.6.4-1 1-1ZM6 11h8v3H6v-3Zm11 0c.6 0 1 .4 1 1v1a1 1 0 0 1-2 0v-1c0-.6.4-1 1-1ZM6 6h8v3H6V6Zm11 0c.6 0 1 .4 1 1v1a1 1 0 1 1-2 0V7c0-.6.4-1 1-1Z\"/><\/svg>',\n    'table-row-numbering': '<svg width=\"24\" height=\"24\"><path d=\"M18 4a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h12Zm0 12h-8v3h8v-3ZM7 16a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1c0-.6-.4-1-1-1Zm11-5h-8v3h8v-3ZM7 11a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1c0-.6-.4-1-1-1Zm11-5h-8v3h8V6ZM7 6a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0V7c0-.6-.4-1-1-1Z\"/><\/svg>',\n    'table-row-properties': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 15v3h6v-3H5Zm14 0h-6v3h6v-3Zm0-9h-6v3h6V6ZM5 9h6V6H5v3Z\"/><\/svg>',\n    'table-split-cells': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM8 15.5H5V18h3v-2.5Zm11-5h-9V18h9v-7.5Zm-2.5 1 1 1-2 2 2 2-1 1-2-2-2 2-1-1 2-2-2-2 1-1 2 2 2-2Zm-8.5-1H5v3h3v-3ZM19 6h-4v2.5h4V6ZM8 6H5v2.5h3V6Zm5 0h-3v2.5h3V6Z\"/><\/svg>',\n    'table-top-header': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 11H5v3h6v-3Zm8 0h-6v3h6v-3Zm0-5h-6v3h6v-3ZM5 13h6v-3H5v3Z\"/><\/svg>',\n    'table': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 14v4h6v-4H5Zm14 0h-6v4h6v-4Zm0-6h-6v4h6V8ZM5 12h6V8H5v4Z\"/><\/svg>',\n    'template-add': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9 12v4H5a2 2 0 0 0-2 2v3h9.3a6 6 0 0 1-.3-2H5v-1h7a6 6 0 0 1 .8-2H11v-5l-.8-.6a3 3 0 1 1 3.6 0l-.8.6v4.7a6 6 0 0 1 2-1.9V12a5 5 0 1 0-6 0Z\"/><path d=\"M18 15c.5 0 1 .4 1 .9V18h2a1 1 0 0 1 .1 2H19v2a1 1 0 0 1-2 .1V20h-2a1 1 0 0 1-.1-2H17v-2c0-.6.4-1 1-1Z\"/><\/svg>',\n    'template': '<svg width=\"24\" height=\"24\"><path d=\"M19 19v-1H5v1h14ZM9 16v-4a5 5 0 1 1 6 0v4h4a2 2 0 0 1 2 2v3H3v-3c0-1.1.9-2 2-2h4Zm4 0v-5l.8-.6a3 3 0 1 0-3.6 0l.8.6v5h2Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'temporary-placeholder': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M9 7.6V6h2.5V4.5a.5.5 0 1 1 1 0V6H15v1.6a8 8 0 1 1-6 0Zm-2.6 5.3a.5.5 0 0 0 .3.6c.3 0 .6 0 .6-.3l.1-.2a5 5 0 0 1 3.3-2.8c.3-.1.4-.4.4-.6-.1-.3-.4-.5-.6-.4a6 6 0 0 0-4.1 3.7Z\"/><circle cx=\"14\" cy=\"4\" r=\"1\"/><circle cx=\"12\" cy=\"2\" r=\"1\"/><circle cx=\"10\" cy=\"4\" r=\"1\"/><\/g><\/svg>',\n    'text-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path class=\"tox-icon-text-color__color\" d=\"M3 18h18v3H3z\"/><path d=\"M8.7 16h-.8a.5.5 0 0 1-.5-.6l2.7-9c.1-.3.3-.4.5-.4h2.8c.2 0 .4.1.5.4l2.7 9a.5.5 0 0 1-.5.6h-.8a.5.5 0 0 1-.4-.4l-.7-2.2c0-.3-.3-.4-.5-.4h-3.4c-.2 0-.4.1-.5.4l-.7 2.2c0 .3-.2.4-.4.4Zm2.6-7.6-.6 2a.5.5 0 0 0 .5.6h1.6a.5.5 0 0 0 .5-.6l-.6-2c0-.3-.3-.4-.5-.4h-.4c-.2 0-.4.1-.5.4Z\"/><\/g><\/svg>',\n    'text-size-decrease': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 5a1 1 0 1 1 0 2h-4v11a1 1 0 1 1-2 0V7H4a1 1 0 0 1 0-2h10ZM14 12a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Z\"/><\/svg>',\n    'text-size-increase': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 5a1 1 0 1 1 0 2h-4v11a1 1 0 1 1-2 0V7H4a1 1 0 0 1 0-2h10ZM17 9a1 1 0 0 0-1 1v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2c0-.6-.4-1-1-1Z\"/><\/svg>',\n    'toc': '<svg width=\"24\" height=\"24\"><path d=\"M5 5c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 1 1 0-2Zm3 0h11c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 1 1 0-2Zm-3 8c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h11c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Zm0-4c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 1 1 0-2Zm3 0h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm-3 8c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'translate': '<svg width=\"24\" height=\"24\"><path d=\"m12.7 14.3-.3.7-.4.7-2.2-2.2-3.1 3c-.3.4-.8.4-1 0a.7.7 0 0 1 0-1l3.1-3A12.4 12.4 0 0 1 6.7 9H8a10.1 10.1 0 0 0 1.7 2.4c.5-.5 1-1.1 1.4-1.8l.9-2H4.7a.7.7 0 1 1 0-1.5h4.4v-.7c0-.4.3-.8.7-.8.4 0 .7.4.7.8v.7H15c.4 0 .8.3.8.7 0 .4-.4.8-.8.8h-1.4a12.3 12.3 0 0 1-1 2.4 13.5 13.5 0 0 1-1.7 2.3l1.9 1.8Zm4.3-3 2.7 7.3a.5.5 0 0 1-.4.7 1 1 0 0 1-1-.7l-.6-1.5h-3.4l-.6 1.5a1 1 0 0 1-1 .7.5.5 0 0 1-.4-.7l2.7-7.4a1 1 0 0 1 2 0Zm-2.2 4.4h2.4L16 12.5l-1.2 3.2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'typography': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 5a1 1 0 1 1 0 2h-4v11a1 1 0 1 1-2 0V7H7a1 1 0 0 1 0-2h10Z\"/><path d=\"m17.5 14 .8-1.7 1.7-.8-1.7-.8-.8-1.7-.8 1.7-1.7.8 1.7.8.8 1.7ZM7 14l1 2 2 1-2 1-1 2-1-2-2-1 2-1 1-2Z\"/><\/svg>',\n    'underline': '<svg width=\"24\" height=\"24\"><path d=\"M16 5c.6 0 1 .4 1 1v5.5a4 4 0 0 1-.4 1.8l-1 1.4a5.3 5.3 0 0 1-5.5 1 5 5 0 0 1-1.6-1c-.5-.4-.8-.9-1.1-1.4a4 4 0 0 1-.4-1.8V6c0-.6.4-1 1-1s1 .4 1 1v5.5c0 .3 0 .6.2 1l.6.7a3.3 3.3 0 0 0 2.2.8 3.4 3.4 0 0 0 2.2-.8c.3-.2.4-.5.6-.8l.2-.9V6c0-.6.4-1 1-1ZM8 17h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'undo': '<svg width=\"24\" height=\"24\"><path d=\"M6.4 8H12c3.7 0 6.2 2 6.8 5.1.6 2.7-.4 5.6-2.3 6.8a1 1 0 0 1-1-1.8c1.1-.6 1.8-2.7 1.4-4.6-.5-2.1-2.1-3.5-4.9-3.5H6.4l3.3 3.3a1 1 0 1 1-1.4 1.4l-5-5a1 1 0 0 1 0-1.4l5-5a1 1 0 0 1 1.4 1.4L6.4 8Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'unlink': '<svg width=\"24\" height=\"24\"><path d=\"M6.2 12.3a1 1 0 0 1 1.4 1.4l-2 2a2 2 0 1 0 2.6 2.8l4.8-4.8a1 1 0 0 0 0-1.4 1 1 0 1 1 1.4-1.3 2.9 2.9 0 0 1 0 4L9.6 20a3.9 3.9 0 0 1-5.5-5.5l2-2Zm11.6-.6a1 1 0 0 1-1.4-1.4l2.1-2a2 2 0 1 0-2.7-2.8L11 10.3a1 1 0 0 0 0 1.4A1 1 0 1 1 9.6 13a2.9 2.9 0 0 1 0-4L14.4 4a3.9 3.9 0 0 1 5.5 5.5l-2 2ZM7.6 6.3a.8.8 0 0 1-1 1.1L3.3 4.2a.7.7 0 1 1 1-1l3.2 3.1ZM5.1 8.6a.8.8 0 0 1 0 1.5H3a.8.8 0 0 1 0-1.5H5Zm5-3.5a.8.8 0 0 1-1.5 0V3a.8.8 0 0 1 1.5 0V5Zm6 11.8a.8.8 0 0 1 1-1l3.2 3.2a.8.8 0 0 1-1 1L16 17Zm-2.2 2a.8.8 0 0 1 1.5 0V21a.8.8 0 0 1-1.5 0V19Zm5-3.5a.7.7 0 1 1 0-1.5H21a.8.8 0 0 1 0 1.5H19Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'unlock': '<svg width=\"24\" height=\"24\"><path d=\"M16 5c.8 0 1.5.3 2.1.9.6.6.9 1.3.9 2.1v3h-2V8a1 1 0 0 0-.3-.7A1 1 0 0 0 16 7h-2a1 1 0 0 0-.7.3 1 1 0 0 0-.3.7v3h.3c.2 0 .3 0 .5.2l.2.6v7.4c0 .3 0 .4-.2.6l-.6.2H4.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6v-7.4c0-.3 0-.4.2-.6l.5-.2H11V8c0-.8.3-1.5.9-2.1.6-.6 1.3-.9 2.1-.9h2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'unordered-list': '<svg width=\"24\" height=\"24\"><path d=\"M11 5h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2ZM4.5 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1Zm0 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1Zm0 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'unselected': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Zm0 1a1 1 0 0 0-1 1v12c0 .6.4 1 1 1h12c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H6Z\"/><\/svg>',\n    'upload': '<svg width=\"24\" height=\"24\"><path d=\"M18 19v-2a1 1 0 0 1 2 0v3c0 .6-.4 1-1 1H5a1 1 0 0 1-1-1v-3a1 1 0 0 1 2 0v2h12ZM11 6.4 8.7 8.7a1 1 0 0 1-1.4-1.4l4-4a1 1 0 0 1 1.4 0l4 4a1 1 0 1 1-1.4 1.4L13 6.4V16a1 1 0 0 1-2 0V6.4Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'user': '<svg width=\"24\" height=\"24\"><path d=\"M12 24a12 12 0 1 1 0-24 12 12 0 0 1 0 24Zm-8.7-5.3a11 11 0 0 0 17.4 0C19.4 16.3 14.6 15 12 15c-2.6 0-7.4 1.3-8.7 3.7ZM12 13c2.2 0 4-2 4-4.5S14.2 4 12 4 8 6 8 8.5 9.8 13 12 13Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'vertical-align': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><rect width=\"18\" height=\"2\" x=\"3\" y=\"11\" rx=\"1\"/><path d=\"M12 2c.6 0 1 .4 1 1v4l2-1.3a1 1 0 0 1 1.2 1.5l-.1.1-4.1 3-4-3a1 1 0 0 1 1-1.7l2 1.5V3c0-.6.4-1 1-1zm0 11.8 4 2.9a1 1 0 0 1-1 1.7l-2-1.5V21c0 .5-.4 1-.9 1H12a1 1 0 0 1-1-1v-4l-2 1.3a1 1 0 0 1-1.2-.1l-.1-.1a1 1 0 0 1 .1-1.3l.1-.1 4.1-3z\"/><\/g><\/svg>',\n    'visualblocks': '<svg width=\"24\" height=\"24\"><path d=\"M9 19v2H7v-2h2Zm-4 0v2a2 2 0 0 1-2-2h2Zm8 0v2h-2v-2h2Zm8 0a2 2 0 0 1-2 2v-2h2Zm-4 0v2h-2v-2h2ZM15 7a1 1 0 0 1 0 2v7a1 1 0 0 1-2 0V9h-1v7a1 1 0 0 1-2 0v-4a2.5 2.5 0 0 1-.2-5H15ZM5 15v2H3v-2h2Zm16 0v2h-2v-2h2ZM5 11v2H3v-2h2Zm16 0v2h-2v-2h2ZM5 7v2H3V7h2Zm16 0v2h-2V7h2ZM5 3v2H3c0-1.1.9-2 2-2Zm8 0v2h-2V3h2Zm6 0a2 2 0 0 1 2 2h-2V3ZM9 3v2H7V3h2Zm8 0v2h-2V3h2Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'visualchars': '<svg width=\"24\" height=\"24\"><path d=\"M10 5h7a1 1 0 0 1 0 2h-1v11a1 1 0 0 1-2 0V7h-2v11a1 1 0 0 1-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 6.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L10 5Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'warning': '<svg width=\"24\" height=\"24\"><path d=\"M19.8 18.3c.2.5.3.9 0 1.2-.1.3-.5.5-1 .5H5.2c-.5 0-.9-.2-1-.5-.3-.3-.2-.7 0-1.2L11 4.7l.5-.5.5-.2c.2 0 .3 0 .5.2.2 0 .3.3.5.5l6.8 13.6ZM12 18c.3 0 .5-.1.7-.3.2-.2.3-.4.3-.7a1 1 0 0 0-.3-.7 1 1 0 0 0-.7-.3 1 1 0 0 0-.7.3 1 1 0 0 0-.3.7c0 .3.1.5.3.7.2.2.4.3.7.3Zm.7-3 .3-4a1 1 0 0 0-.3-.7 1 1 0 0 0-.7-.3 1 1 0 0 0-.7.3 1 1 0 0 0-.3.7l.3 4h1.4Z\" fill-rule=\"evenodd\"/><\/svg>',\n    'zoom-in': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 1 1 1.4-1.4l4.3 4.4a1 1 0 0 1-1.4 1.4l-4.4-4.3Zm-5-.3a6 6 0 1 0 0-12 6 6 0 0 0 0 12Zm-1-9a1 1 0 0 1 2 0v6a1 1 0 0 1-2 0V8Zm-2 4a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2H8Z\" fill-rule=\"nonzero\"/><\/svg>',\n    'zoom-out': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 1 1 1.4-1.4l4.3 4.4a1 1 0 0 1-1.4 1.4l-4.4-4.3Zm-5-.3a6 6 0 1 0 0-12 6 6 0 0 0 0 12Zm-3-5a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2H8Z\" fill-rule=\"nonzero\"/><\/svg>',\n  }\n});/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.ModelManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$2 = t => a => t === a;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isArray = isType$1('array');\n    const isNull = eq$2(null);\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$2(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const not = f => t => !f(t);\n    const die = msg => {\n      return () => {\n        throw new Error(msg);\n      };\n    };\n    const apply = f => {\n      return f();\n    };\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains$2 = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const range$1 = (num, f) => {\n      const r = [];\n      for (let i = 0; i < num; i++) {\n        r.push(f(i));\n      }\n      return r;\n    };\n    const map$1 = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$2 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const partition = (xs, pred) => {\n      const pass = [];\n      const fail = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        const arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass,\n        fail\n      };\n    };\n    const filter$2 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldr = (xs, f, acc) => {\n      eachr(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const foldl = (xs, f, acc) => {\n      each$2(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find$1 = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const findIndex = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(i);\n        }\n      }\n      return Optional.none();\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind$2 = (xs, f) => flatten(map$1(xs, f));\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const reverse = xs => {\n      const r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    const mapToObject = (xs, f) => {\n      const r = {};\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    const sort$1 = (xs, comparator) => {\n      const copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    const get$d = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$d(xs, 0);\n    const last$2 = xs => get$d(xs, xs.length - 1);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each$1 = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const map = (obj, f) => {\n      return tupleMap(obj, (x, i) => ({\n        k: i,\n        v: f(x, i)\n      }));\n    };\n    const tupleMap = (obj, f) => {\n      const r = {};\n      each$1(obj, (x, i) => {\n        const tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each$1(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter$1 = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const mapToArray = (obj, f) => {\n      const r = [];\n      each$1(obj, (value, name) => {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    const values = obj => {\n      return mapToArray(obj, identity);\n    };\n    const get$c = (obj, key) => {\n      return has$1(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has$1 = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has$1(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    const isEmpty = r => {\n      for (const x in r) {\n        if (hasOwnProperty.call(r, x)) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve$2 = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve$2(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve$2('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom);\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$2 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll$1 = (element, attrs) => {\n      const dom = element.dom;\n      each$1(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const setOptions = (element, attrs) => {\n      each$1(attrs, (v, k) => {\n        v.fold(() => {\n          remove$7(element, k);\n        }, value => {\n          rawSet(element.dom, k, value);\n        });\n      });\n    };\n    const get$b = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$b(element, key));\n    const remove$7 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const clone$2 = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const fromHtml$1 = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint$1 = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml: fromHtml$1,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint: fromPoint$1\n    };\n\n    const is$2 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all$1 = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map$1(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq$1 = (e1, e2) => e1.dom === e2.dom;\n    const contains$1 = (e1, e2) => {\n      const d1 = e1.dom;\n      const d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    const is$1 = is$2;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const documentElement = element => SugarElement.fromDom(documentOrOwner(element).dom.documentElement);\n    const defaultView = element => SugarElement.fromDom(documentOrOwner(element).dom.defaultView);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children$2 = element => map$1(element.dom.childNodes, SugarElement.fromDom);\n    const child$2 = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child$2(element, 0);\n\n    const before$3 = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$5 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before$3(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const appendAt = (parent, element, index) => {\n      child$2(parent, index).fold(() => {\n        append$1(parent, element);\n      }, v => {\n        before$3(v, element);\n      });\n    };\n    const wrap = (element, wrapper) => {\n      before$3(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after$4 = (marker, elements) => {\n      each$2(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$5(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$2(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each$2(children$2(element), rogue => {\n        remove$6(rogue);\n      });\n    };\n    const remove$6 = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children = children$2(wrapper);\n      if (children.length > 0) {\n        after$4(wrapper, children);\n      }\n      remove$6(wrapper);\n    };\n\n    const clone$1 = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    const shallow = original => clone$1(original, false);\n    const deep = original => clone$1(original, true);\n    const shallowAs = (original, tag) => {\n      const nu = SugarElement.fromTag(tag);\n      const attributes = clone$2(original);\n      setAll$1(nu, attributes);\n      return nu;\n    };\n    const copy$2 = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      const cloneChildren = children$2(deep(original));\n      append(nu, cloneChildren);\n      return nu;\n    };\n    const mutate$1 = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      after$5(original, nu);\n      const children = children$2(original);\n      append(nu, children);\n      remove$6(original);\n      return nu;\n    };\n\n    const validSectionList = ['tfoot', 'thead', 'tbody', 'colgroup'];\n    const isValidSection = parentName => contains$2(validSectionList, parentName);\n    const grid = (rows, columns) => ({\n      rows,\n      columns\n    });\n    const address = (row, column) => ({\n      row,\n      column\n    });\n    const detail = (element, rowspan, colspan) => ({\n      element,\n      rowspan,\n      colspan\n    });\n    const detailnew = (element, rowspan, colspan, isNew) => ({\n      element,\n      rowspan,\n      colspan,\n      isNew\n    });\n    const extended = (element, rowspan, colspan, row, column, isLocked) => ({\n      element,\n      rowspan,\n      colspan,\n      row,\n      column,\n      isLocked\n    });\n    const rowdetail = (element, cells, section) => ({\n      element,\n      cells,\n      section\n    });\n    const rowdetailnew = (element, cells, section, isNew) => ({\n      element,\n      cells,\n      section,\n      isNew\n    });\n    const elementnew = (element, isNew, isLocked) => ({\n      element,\n      isNew,\n      isLocked\n    });\n    const rowcells = (element, cells, section, isNew) => ({\n      element,\n      cells,\n      section,\n      isNew\n    });\n    const bounds = (startRow, startCol, finishRow, finishCol) => ({\n      startRow,\n      startCol,\n      finishRow,\n      finishCol\n    });\n    const columnext = (element, colspan, column) => ({\n      element,\n      colspan,\n      column\n    });\n    const colgroup = (element, columns) => ({\n      element,\n      columns\n    });\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported$1 = constant(supported);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n    const getOriginalEventTarget = event => {\n      if (isSupported$1() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n    const body$1 = () => getBody$1(SugarElement.fromDom(document));\n    const getBody$1 = doc => {\n      const b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const ancestors$4 = (scope, predicate, isRoot) => filter$2(parents(scope, isRoot), predicate);\n    const children$1 = (scope, predicate) => filter$2(children$2(scope), predicate);\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each$2(children$2(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    const ancestors$3 = (scope, selector, isRoot) => ancestors$4(scope, e => is$2(e, selector), isRoot);\n    const children = (scope, selector) => children$1(scope, e => is$2(e, selector));\n    const descendants = (scope, selector) => all$1(selector, scope);\n\n    var ClosestOrAncestor = ((is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    });\n\n    const ancestor$2 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$2 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$2, scope, predicate, isRoot);\n    };\n    const child$1 = (scope, predicate) => {\n      const pred = node => predicate(SugarElement.fromDom(node));\n      const result = find$1(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n    const descendant$1 = (scope, predicate) => {\n      const descend = node => {\n        for (let i = 0; i < node.childNodes.length; i++) {\n          const child = SugarElement.fromDom(node.childNodes[i]);\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(node.childNodes[i]);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope.dom);\n    };\n\n    const ancestor$1 = (scope, selector, isRoot) => ancestor$2(scope, e => is$2(e, selector), isRoot);\n    const child = (scope, selector) => child$1(scope, e => is$2(e, selector));\n    const descendant = (scope, selector) => one(selector, scope);\n    const closest$1 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$2(element, selector);\n      return ClosestOrAncestor(is, ancestor$1, scope, selector, isRoot);\n    };\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const bindFrom = (a, f) => a !== undefined && a !== null ? f(a) : Optional.none();\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n    const endsWith = (str, suffix) => {\n      return checkRange(str, suffix, str.length - suffix.length);\n    };\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const toFloat = value => {\n      const num = parseFloat(value);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$1 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each$1(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const get$a = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw$2 = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const remove$5 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$7(element, 'style');\n      }\n    };\n    const copy$1 = (source, target) => {\n      const sourceDom = source.dom;\n      const targetDom = target.dom;\n      if (isSupported(sourceDom) && isSupported(targetDom)) {\n        targetDom.style.cssText = sourceDom.style.cssText;\n      }\n    };\n\n    const getAttrValue = (cell, name, fallback = 0) => getOpt(cell, name).map(value => parseInt(value, 10)).getOr(fallback);\n    const getSpan = (cell, type) => getAttrValue(cell, type, 1);\n    const hasColspan = cellOrCol => {\n      if (isTag('col')(cellOrCol)) {\n        return getAttrValue(cellOrCol, 'span', 1) > 1;\n      } else {\n        return getSpan(cellOrCol, 'colspan') > 1;\n      }\n    };\n    const hasRowspan = cell => getSpan(cell, 'rowspan') > 1;\n    const getCssValue = (element, property) => parseInt(get$a(element, property), 10);\n    const minWidth = constant(10);\n    const minHeight = constant(10);\n\n    const firstLayer = (scope, selector) => {\n      return filterFirstLayer(scope, selector, always);\n    };\n    const filterFirstLayer = (scope, selector, predicate) => {\n      return bind$2(children$2(scope), x => {\n        if (is$2(x, selector)) {\n          return predicate(x) ? [x] : [];\n        } else {\n          return filterFirstLayer(x, selector, predicate);\n        }\n      });\n    };\n\n    const lookup = (tags, element, isRoot = never) => {\n      if (isRoot(element)) {\n        return Optional.none();\n      }\n      if (contains$2(tags, name(element))) {\n        return Optional.some(element);\n      }\n      const isRootOrUpperTable = elm => is$2(elm, 'table') || isRoot(elm);\n      return ancestor$1(element, tags.join(','), isRootOrUpperTable);\n    };\n    const cell = (element, isRoot) => lookup(['td', 'th'], element, isRoot);\n    const cells$1 = ancestor => firstLayer(ancestor, 'th,td');\n    const columns$1 = ancestor => {\n      if (is$2(ancestor, 'colgroup')) {\n        return children(ancestor, 'col');\n      } else {\n        return bind$2(columnGroups(ancestor), columnGroup => children(columnGroup, 'col'));\n      }\n    };\n    const table = (element, isRoot) => closest$1(element, 'table', isRoot);\n    const rows$1 = ancestor => firstLayer(ancestor, 'tr');\n    const columnGroups = ancestor => table(ancestor).fold(constant([]), table => children(table, 'colgroup'));\n\n    const fromRowsOrColGroups = (elems, getSection) => map$1(elems, row => {\n      if (name(row) === 'colgroup') {\n        const cells = map$1(columns$1(row), column => {\n          const colspan = getAttrValue(column, 'span', 1);\n          return detail(column, 1, colspan);\n        });\n        return rowdetail(row, cells, 'colgroup');\n      } else {\n        const cells = map$1(cells$1(row), cell => {\n          const rowspan = getAttrValue(cell, 'rowspan', 1);\n          const colspan = getAttrValue(cell, 'colspan', 1);\n          return detail(cell, rowspan, colspan);\n        });\n        return rowdetail(row, cells, getSection(row));\n      }\n    });\n    const getParentSection = group => parent(group).map(parent => {\n      const parentName = name(parent);\n      return isValidSection(parentName) ? parentName : 'tbody';\n    }).getOr('tbody');\n    const fromTable$1 = table => {\n      const rows = rows$1(table);\n      const columnGroups$1 = columnGroups(table);\n      const elems = [...columnGroups$1, ...rows];\n      return fromRowsOrColGroups(elems, getParentSection);\n    };\n    const fromPastedRows = (elems, section) => fromRowsOrColGroups(elems, () => section);\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const DeviceType = (os, browser, userAgent, mediaMatch) => {\n      const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      const isiPhone = os.isiOS() && !isiPad;\n      const isMobile = os.isiOS() || os.isAndroid();\n      const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      const isPhone = isiPhone || isMobile && !isTablet;\n      const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      const isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    const firstMatch = (regexes, s) => {\n      for (let i = 0; i < regexes.length; i++) {\n        const x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    const find = (regexes, agent) => {\n      const r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      const group = i => {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$2(group(1), group(2));\n    };\n    const detect$5 = (versionRegexes, agent) => {\n      const cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find(versionRegexes, cleanedAgent);\n    };\n    const unknown$2 = () => {\n      return nu$2(0, 0);\n    };\n    const nu$2 = (major, minor) => {\n      return {\n        major,\n        minor\n      };\n    };\n    const Version = {\n      nu: nu$2,\n      detect: detect$5,\n      unknown: unknown$2\n    };\n\n    const detectBrowser$1 = (browsers, userAgentData) => {\n      return findMap(userAgentData.brands, uaBrand => {\n        const lcBrand = uaBrand.brand.toLowerCase();\n        return find$1(browsers, browser => {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(info => ({\n          current: info.name,\n          version: Version.nu(parseInt(uaBrand.version, 10), 0)\n        }));\n      });\n    };\n\n    const detect$4 = (candidates, userAgent) => {\n      const agent = String(userAgent).toLowerCase();\n      return find$1(candidates, candidate => {\n        return candidate.search(agent);\n      });\n    };\n    const detectBrowser = (browsers, userAgent) => {\n      return detect$4(browsers, userAgent).map(browser => {\n        const version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version\n        };\n      });\n    };\n    const detectOs = (oses, userAgent) => {\n      return detect$4(oses, userAgent).map(os => {\n        const version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version\n        };\n      });\n    };\n\n    const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    const checkContains = target => {\n      return uastring => {\n        return contains(uastring, target);\n      };\n    };\n    const browsers = [{\n      name: 'Edge',\n      versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n      search: uastring => {\n        return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');\n      }\n    }, {\n      name: 'Chromium',\n      brand: 'Chromium',\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/, normalVersionRegex],\n      search: uastring => {\n        return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe');\n      }\n    }, {\n      name: 'IE',\n      versionRegexes: [/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/, /.*?rv:([0-9]+)\\.([0-9]+).*/],\n      search: uastring => {\n        return contains(uastring, 'msie') || contains(uastring, 'trident');\n      }\n    }, {\n      name: 'Opera',\n      versionRegexes: [normalVersionRegex, /.*?opera\\/([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('opera')\n    }, {\n      name: 'Firefox',\n      versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('firefox')\n    }, {\n      name: 'Safari',\n      versionRegexes: [normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/],\n      search: uastring => {\n        return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit');\n      }\n    }];\n    const oses = [{\n      name: 'Windows',\n      search: checkContains('win'),\n      versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'iOS',\n      search: uastring => {\n        return contains(uastring, 'iphone') || contains(uastring, 'ipad');\n      },\n      versionRegexes: [/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Android',\n      search: checkContains('android'),\n      versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'macOS',\n      search: checkContains('mac os x'),\n      versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Linux',\n      search: checkContains('linux'),\n      versionRegexes: []\n    }, {\n      name: 'Solaris',\n      search: checkContains('sunos'),\n      versionRegexes: []\n    }, {\n      name: 'FreeBSD',\n      search: checkContains('freebsd'),\n      versionRegexes: []\n    }, {\n      name: 'ChromeOS',\n      search: checkContains('cros'),\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n    }];\n    const PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    const edge = 'Edge';\n    const chromium = 'Chromium';\n    const ie = 'IE';\n    const opera = 'Opera';\n    const firefox = 'Firefox';\n    const safari = 'Safari';\n    const unknown$1 = () => {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$1 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isBrowser = name => () => current === name;\n      return {\n        current,\n        version,\n        isEdge: isBrowser(edge),\n        isChromium: isBrowser(chromium),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    const Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chromium: constant(chromium),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    const windows = 'Windows';\n    const ios = 'iOS';\n    const android = 'Android';\n    const linux = 'Linux';\n    const macos = 'macOS';\n    const solaris = 'Solaris';\n    const freebsd = 'FreeBSD';\n    const chromeos = 'ChromeOS';\n    const unknown = () => {\n      return nu({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu = info => {\n      const current = info.current;\n      const version = info.version;\n      const isOS = name => () => current === name;\n      return {\n        current,\n        version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isMacOS: isOS(macos),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    const OperatingSystem = {\n      unknown,\n      nu,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      macos: constant(macos),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    const detect$3 = (userAgent, userAgentDataOpt, mediaMatch) => {\n      const browsers = PlatformInfo.browsers();\n      const oses = PlatformInfo.oses();\n      const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n      const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser,\n        os,\n        deviceType\n      };\n    };\n    const PlatformDetection = {\n      detect: detect$3\n    };\n\n    const mediaMatch = query => window.matchMedia(query).matches;\n    let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n    const detect$2 = () => platform();\n\n    const Dimension = (name, getOffset) => {\n      const set = (element, h) => {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/)) {\n          throw new Error(name + '.set accepts only positive integer values. Value was ' + h);\n        }\n        const dom = element.dom;\n        if (isSupported(dom)) {\n          dom.style[name] = h + 'px';\n        }\n      };\n      const get = element => {\n        const r = getOffset(element);\n        if (r <= 0 || r === null) {\n          const css = get$a(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      const getOuter = get;\n      const aggregate = (element, properties) => foldl(properties, (acc, property) => {\n        const val = get$a(element, property);\n        const value = val === undefined ? 0 : parseInt(val, 10);\n        return isNaN(value) ? acc : acc + value;\n      }, 0);\n      const max = (element, value, properties) => {\n        const cumulativeInclusions = aggregate(element, properties);\n        const absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set,\n        get,\n        getOuter,\n        aggregate,\n        max\n      };\n    };\n\n    const toNumber = (px, fallback) => toFloat(px).getOr(fallback);\n    const getProp = (element, name, fallback) => toNumber(get$a(element, name), fallback);\n    const calcContentBoxSize = (element, size, upper, lower) => {\n      const paddingUpper = getProp(element, \"padding-\".concat(upper), 0);\n      const paddingLower = getProp(element, \"padding-\".concat(lower), 0);\n      const borderUpper = getProp(element, \"border-\".concat(upper, \"-width\"), 0);\n      const borderLower = getProp(element, \"border-\".concat(lower, \"-width\"), 0);\n      return size - paddingUpper - paddingLower - borderUpper - borderLower;\n    };\n    const getCalculatedWidth = (element, boxSizing) => {\n      const dom = element.dom;\n      const width = dom.getBoundingClientRect().width || dom.offsetWidth;\n      return boxSizing === 'border-box' ? width : calcContentBoxSize(element, width, 'left', 'right');\n    };\n    const getHeight$1 = element => getProp(element, 'height', element.dom.offsetHeight);\n    const getWidth = element => getProp(element, 'width', element.dom.offsetWidth);\n    const getInnerWidth = element => getCalculatedWidth(element, 'content-box');\n\n    const api$2 = Dimension('width', element => element.dom.offsetWidth);\n    const get$9 = element => api$2.get(element);\n    const getOuter$2 = element => api$2.getOuter(element);\n    const getInner = getInnerWidth;\n    const getRuntime$1 = getWidth;\n\n    const addCells = (gridRow, index, cells) => {\n      const existingCells = gridRow.cells;\n      const before = existingCells.slice(0, index);\n      const after = existingCells.slice(index);\n      const newCells = before.concat(cells).concat(after);\n      return setCells(gridRow, newCells);\n    };\n    const addCell = (gridRow, index, cell) => addCells(gridRow, index, [cell]);\n    const mutateCell = (gridRow, index, cell) => {\n      const cells = gridRow.cells;\n      cells[index] = cell;\n    };\n    const setCells = (gridRow, cells) => rowcells(gridRow.element, cells, gridRow.section, gridRow.isNew);\n    const mapCells = (gridRow, f) => {\n      const cells = gridRow.cells;\n      const r = map$1(cells, f);\n      return rowcells(gridRow.element, r, gridRow.section, gridRow.isNew);\n    };\n    const getCell = (gridRow, index) => gridRow.cells[index];\n    const getCellElement = (gridRow, index) => getCell(gridRow, index).element;\n    const cellLength = gridRow => gridRow.cells.length;\n    const extractGridDetails = grid => {\n      const result = partition(grid, row => row.section === 'colgroup');\n      return {\n        rows: result.fail,\n        cols: result.pass\n      };\n    };\n    const clone = (gridRow, cloneRow, cloneCell) => {\n      const newCells = map$1(gridRow.cells, cloneCell);\n      return rowcells(cloneRow(gridRow.element), newCells, gridRow.section, true);\n    };\n\n    const LOCKED_COL_ATTR = 'data-snooker-locked-cols';\n    const getLockedColumnsFromTable = table => getOpt(table, LOCKED_COL_ATTR).bind(lockedColStr => Optional.from(lockedColStr.match(/\\d+/g))).map(lockedCols => mapToObject(lockedCols, always));\n    const getLockedColumnsFromGrid = grid => {\n      const locked = foldl(extractGridDetails(grid).rows, (acc, row) => {\n        each$2(row.cells, (cell, idx) => {\n          if (cell.isLocked) {\n            acc[idx] = true;\n          }\n        });\n        return acc;\n      }, {});\n      const lockedArr = mapToArray(locked, (_val, key) => parseInt(key, 10));\n      return sort$1(lockedArr);\n    };\n\n    const key = (row, column) => {\n      return row + ',' + column;\n    };\n    const getAt = (warehouse, row, column) => Optional.from(warehouse.access[key(row, column)]);\n    const findItem = (warehouse, item, comparator) => {\n      const filtered = filterItems(warehouse, detail => {\n        return comparator(item, detail.element);\n      });\n      return filtered.length > 0 ? Optional.some(filtered[0]) : Optional.none();\n    };\n    const filterItems = (warehouse, predicate) => {\n      const all = bind$2(warehouse.all, r => {\n        return r.cells;\n      });\n      return filter$2(all, predicate);\n    };\n    const generateColumns = rowData => {\n      const columnsGroup = {};\n      let index = 0;\n      each$2(rowData.cells, column => {\n        const colspan = column.colspan;\n        range$1(colspan, columnIndex => {\n          const colIndex = index + columnIndex;\n          columnsGroup[colIndex] = columnext(column.element, colspan, colIndex);\n        });\n        index += colspan;\n      });\n      return columnsGroup;\n    };\n    const generate$1 = list => {\n      const access = {};\n      const cells = [];\n      const tableOpt = head(list).map(rowData => rowData.element).bind(table);\n      const lockedColumns = tableOpt.bind(getLockedColumnsFromTable).getOr({});\n      let maxRows = 0;\n      let maxColumns = 0;\n      let rowCount = 0;\n      const {\n        pass: colgroupRows,\n        fail: rows\n      } = partition(list, rowData => rowData.section === 'colgroup');\n      each$2(rows, rowData => {\n        const currentRow = [];\n        each$2(rowData.cells, rowCell => {\n          let start = 0;\n          while (access[key(rowCount, start)] !== undefined) {\n            start++;\n          }\n          const isLocked = hasNonNullableKey(lockedColumns, start.toString());\n          const current = extended(rowCell.element, rowCell.rowspan, rowCell.colspan, rowCount, start, isLocked);\n          for (let occupiedColumnPosition = 0; occupiedColumnPosition < rowCell.colspan; occupiedColumnPosition++) {\n            for (let occupiedRowPosition = 0; occupiedRowPosition < rowCell.rowspan; occupiedRowPosition++) {\n              const rowPosition = rowCount + occupiedRowPosition;\n              const columnPosition = start + occupiedColumnPosition;\n              const newpos = key(rowPosition, columnPosition);\n              access[newpos] = current;\n              maxColumns = Math.max(maxColumns, columnPosition + 1);\n            }\n          }\n          currentRow.push(current);\n        });\n        maxRows++;\n        cells.push(rowdetail(rowData.element, currentRow, rowData.section));\n        rowCount++;\n      });\n      const {\n        columns,\n        colgroups\n      } = last$2(colgroupRows).map(rowData => {\n        const columns = generateColumns(rowData);\n        const colgroup$1 = colgroup(rowData.element, values(columns));\n        return {\n          colgroups: [colgroup$1],\n          columns\n        };\n      }).getOrThunk(() => ({\n        colgroups: [],\n        columns: {}\n      }));\n      const grid$1 = grid(maxRows, maxColumns);\n      return {\n        grid: grid$1,\n        access,\n        all: cells,\n        columns,\n        colgroups\n      };\n    };\n    const fromTable = table => {\n      const list = fromTable$1(table);\n      return generate$1(list);\n    };\n    const justCells = warehouse => bind$2(warehouse.all, w => w.cells);\n    const justColumns = warehouse => values(warehouse.columns);\n    const hasColumns = warehouse => keys(warehouse.columns).length > 0;\n    const getColumnAt = (warehouse, columnIndex) => Optional.from(warehouse.columns[columnIndex]);\n    const Warehouse = {\n      fromTable,\n      generate: generate$1,\n      getAt,\n      findItem,\n      filterItems,\n      justCells,\n      justColumns,\n      hasColumns,\n      getColumnAt\n    };\n\n    const columns = (warehouse, isValidCell = always) => {\n      const grid = warehouse.grid;\n      const cols = range$1(grid.columns, identity);\n      const rowsArr = range$1(grid.rows, identity);\n      return map$1(cols, col => {\n        const getBlock = () => bind$2(rowsArr, r => Warehouse.getAt(warehouse, r, col).filter(detail => detail.column === col).toArray());\n        const isValid = detail => detail.colspan === 1 && isValidCell(detail.element);\n        const getFallback = () => Warehouse.getAt(warehouse, 0, col);\n        return decide(getBlock, isValid, getFallback);\n      });\n    };\n    const decide = (getBlock, isValid, getFallback) => {\n      const inBlock = getBlock();\n      const validInBlock = find$1(inBlock, isValid);\n      const detailOption = validInBlock.orThunk(() => Optional.from(inBlock[0]).orThunk(getFallback));\n      return detailOption.map(detail => detail.element);\n    };\n    const rows = warehouse => {\n      const grid = warehouse.grid;\n      const rowsArr = range$1(grid.rows, identity);\n      const cols = range$1(grid.columns, identity);\n      return map$1(rowsArr, row => {\n        const getBlock = () => bind$2(cols, c => Warehouse.getAt(warehouse, row, c).filter(detail => detail.row === row).fold(constant([]), detail => [detail]));\n        const isSingle = detail => detail.rowspan === 1;\n        const getFallback = () => Warehouse.getAt(warehouse, row, 0);\n        return decide(getBlock, isSingle, getFallback);\n      });\n    };\n\n    const deduce = (xs, index) => {\n      if (index < 0 || index >= xs.length - 1) {\n        return Optional.none();\n      }\n      const current = xs[index].fold(() => {\n        const rest = reverse(xs.slice(0, index));\n        return findMap(rest, (a, i) => a.map(aa => ({\n          value: aa,\n          delta: i + 1\n        })));\n      }, c => Optional.some({\n        value: c,\n        delta: 0\n      }));\n      const next = xs[index + 1].fold(() => {\n        const rest = xs.slice(index + 1);\n        return findMap(rest, (a, i) => a.map(aa => ({\n          value: aa,\n          delta: i + 1\n        })));\n      }, n => Optional.some({\n        value: n,\n        delta: 1\n      }));\n      return current.bind(c => next.map(n => {\n        const extras = n.delta + c.delta;\n        return Math.abs(n.value - c.value) / extras;\n      }));\n    };\n\n    const onDirection = (isLtr, isRtl) => element => getDirection(element) === 'rtl' ? isRtl : isLtr;\n    const getDirection = element => get$a(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';\n\n    const api$1 = Dimension('height', element => {\n      const dom = element.dom;\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    const get$8 = element => api$1.get(element);\n    const getOuter$1 = element => api$1.getOuter(element);\n    const getRuntime = getHeight$1;\n\n    const r = (left, top) => {\n      const translate = (x, y) => r(left + x, top + y);\n      return {\n        left,\n        top,\n        translate\n      };\n    };\n    const SugarPosition = r;\n\n    const boxPosition = dom => {\n      const box = dom.getBoundingClientRect();\n      return SugarPosition(box.left, box.top);\n    };\n    const firstDefinedOrZero = (a, b) => {\n      if (a !== undefined) {\n        return a;\n      } else {\n        return b !== undefined ? b : 0;\n      }\n    };\n    const absolute = element => {\n      const doc = element.dom.ownerDocument;\n      const body = doc.body;\n      const win = doc.defaultView;\n      const html = doc.documentElement;\n      if (body === element.dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      const scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop);\n      const scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft);\n      const clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      const clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    const viewport = element => {\n      const dom = element.dom;\n      const doc = dom.ownerDocument;\n      const body = doc.body;\n      if (body === dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      if (!inBody(element)) {\n        return SugarPosition(0, 0);\n      }\n      return boxPosition(dom);\n    };\n\n    const rowInfo = (row, y) => ({\n      row,\n      y\n    });\n    const colInfo = (col, x) => ({\n      col,\n      x\n    });\n    const rtlEdge = cell => {\n      const pos = absolute(cell);\n      return pos.left + getOuter$2(cell);\n    };\n    const ltrEdge = cell => {\n      return absolute(cell).left;\n    };\n    const getLeftEdge = (index, cell) => {\n      return colInfo(index, ltrEdge(cell));\n    };\n    const getRightEdge = (index, cell) => {\n      return colInfo(index, rtlEdge(cell));\n    };\n    const getTop$1 = cell => {\n      return absolute(cell).top;\n    };\n    const getTopEdge = (index, cell) => {\n      return rowInfo(index, getTop$1(cell));\n    };\n    const getBottomEdge = (index, cell) => {\n      return rowInfo(index, getTop$1(cell) + getOuter$1(cell));\n    };\n    const findPositions = (getInnerEdge, getOuterEdge, array) => {\n      if (array.length === 0) {\n        return [];\n      }\n      const lines = map$1(array.slice(1), (cellOption, index) => {\n        return cellOption.map(cell => {\n          return getInnerEdge(index, cell);\n        });\n      });\n      const lastLine = array[array.length - 1].map(cell => {\n        return getOuterEdge(array.length - 1, cell);\n      });\n      return lines.concat([lastLine]);\n    };\n    const negate = step => {\n      return -step;\n    };\n    const height = {\n      delta: identity,\n      positions: optElements => findPositions(getTopEdge, getBottomEdge, optElements),\n      edge: getTop$1\n    };\n    const ltr$1 = {\n      delta: identity,\n      edge: ltrEdge,\n      positions: optElements => findPositions(getLeftEdge, getRightEdge, optElements)\n    };\n    const rtl$1 = {\n      delta: negate,\n      edge: rtlEdge,\n      positions: optElements => findPositions(getRightEdge, getLeftEdge, optElements)\n    };\n    const detect$1 = onDirection(ltr$1, rtl$1);\n    const width = {\n      delta: (amount, table) => detect$1(table).delta(amount, table),\n      positions: (cols, table) => detect$1(table).positions(cols, table),\n      edge: cell => detect$1(cell).edge(cell)\n    };\n\n    const units = {\n      unsupportedLength: ['em', 'ex', 'cap', 'ch', 'ic', 'rem', 'lh', 'rlh', 'vw', 'vh', 'vi', 'vb', 'vmin', 'vmax', 'cm', 'mm', 'Q', 'in', 'pc', 'pt', 'px'],\n      fixed: ['px', 'pt'],\n      relative: ['%'],\n      empty: ['']\n    };\n    const pattern = (() => {\n      const decimalDigits = '[0-9]+';\n      const signedInteger = '[+-]?' + decimalDigits;\n      const exponentPart = '[eE]' + signedInteger;\n      const dot = '\\\\.';\n      const opt = input => \"(?:\".concat(input, \")?\");\n      const unsignedDecimalLiteral = ['Infinity', decimalDigits + dot + opt(decimalDigits) + opt(exponentPart), dot + decimalDigits + opt(exponentPart), decimalDigits + opt(exponentPart)].join('|');\n      const float = \"[+-]?(?:\".concat(unsignedDecimalLiteral, \")\");\n      return new RegExp(\"^(\".concat(float, \")(.*)$\"));\n    })();\n    const isUnit = (unit, accepted) => exists(accepted, acc => exists(units[acc], check => unit === check));\n    const parse = (input, accepted) => {\n      const match = Optional.from(pattern.exec(input));\n      return match.bind(array => {\n        const value = Number(array[1]);\n        const unitRaw = array[2];\n        if (isUnit(unitRaw, accepted)) {\n          return Optional.some({\n            value,\n            unit: unitRaw\n          });\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n\n    const rPercentageBasedSizeRegex = /(\\d+(\\.\\d+)?)%/;\n    const rPixelBasedSizeRegex = /(\\d+(\\.\\d+)?)px|em/;\n    const isCol$2 = isTag('col');\n    const getPercentSize = (elm, outerGetter, innerGetter) => {\n      const relativeParent = parentElement(elm).getOrThunk(() => getBody$1(owner(elm)));\n      return outerGetter(elm) / innerGetter(relativeParent) * 100;\n    };\n    const setPixelWidth = (cell, amount) => {\n      set$1(cell, 'width', amount + 'px');\n    };\n    const setPercentageWidth = (cell, amount) => {\n      set$1(cell, 'width', amount + '%');\n    };\n    const setHeight = (cell, amount) => {\n      set$1(cell, 'height', amount + 'px');\n    };\n    const getHeightValue = cell => getRuntime(cell) + 'px';\n    const convert = (cell, number, getter, setter) => {\n      const newSize = table(cell).map(table => {\n        const total = getter(table);\n        return Math.floor(number / 100 * total);\n      }).getOr(number);\n      setter(cell, newSize);\n      return newSize;\n    };\n    const normalizePixelSize = (value, cell, getter, setter) => {\n      const number = parseFloat(value);\n      return endsWith(value, '%') && name(cell) !== 'table' ? convert(cell, number, getter, setter) : number;\n    };\n    const getTotalHeight = cell => {\n      const value = getHeightValue(cell);\n      if (!value) {\n        return get$8(cell);\n      }\n      return normalizePixelSize(value, cell, get$8, setHeight);\n    };\n    const get$7 = (cell, type, f) => {\n      const v = f(cell);\n      const span = getSpan(cell, type);\n      return v / span;\n    };\n    const getRaw$1 = (element, prop) => {\n      return getRaw$2(element, prop).orThunk(() => {\n        return getOpt(element, prop).map(val => val + 'px');\n      });\n    };\n    const getRawWidth$1 = element => getRaw$1(element, 'width');\n    const getRawHeight = element => getRaw$1(element, 'height');\n    const getPercentageWidth = cell => getPercentSize(cell, get$9, getInner);\n    const getPixelWidth$1 = cell => isCol$2(cell) ? get$9(cell) : getRuntime$1(cell);\n    const getHeight = cell => {\n      return get$7(cell, 'rowspan', getTotalHeight);\n    };\n    const getGenericWidth = cell => {\n      const width = getRawWidth$1(cell);\n      return width.bind(w => parse(w, ['fixed', 'relative', 'empty']));\n    };\n    const setGenericWidth = (cell, amount, unit) => {\n      set$1(cell, 'width', amount + unit);\n    };\n    const getPixelTableWidth = table => get$9(table) + 'px';\n    const getPercentTableWidth = table => getPercentSize(table, get$9, getInner) + '%';\n    const isPercentSizing$1 = table => getRawWidth$1(table).exists(size => rPercentageBasedSizeRegex.test(size));\n    const isPixelSizing$1 = table => getRawWidth$1(table).exists(size => rPixelBasedSizeRegex.test(size));\n    const isNoneSizing$1 = table => getRawWidth$1(table).isNone();\n    const percentageBasedSizeRegex = constant(rPercentageBasedSizeRegex);\n\n    const isCol$1 = isTag('col');\n    const getRawW = cell => {\n      return getRawWidth$1(cell).getOrThunk(() => getPixelWidth$1(cell) + 'px');\n    };\n    const getRawH = cell => {\n      return getRawHeight(cell).getOrThunk(() => getHeight(cell) + 'px');\n    };\n    const justCols = warehouse => map$1(Warehouse.justColumns(warehouse), column => Optional.from(column.element));\n    const isValidColumn = cell => {\n      const browser = detect$2().browser;\n      const supportsColWidths = browser.isChromium() || browser.isFirefox();\n      return isCol$1(cell) ? supportsColWidths : true;\n    };\n    const getDimension = (cellOpt, index, backups, filter, getter, fallback) => cellOpt.filter(filter).fold(() => fallback(deduce(backups, index)), cell => getter(cell));\n    const getWidthFrom = (warehouse, table, getWidth, fallback) => {\n      const columnCells = columns(warehouse);\n      const columns$1 = Warehouse.hasColumns(warehouse) ? justCols(warehouse) : columnCells;\n      const backups = [Optional.some(width.edge(table))].concat(map$1(width.positions(columnCells, table), pos => pos.map(p => p.x)));\n      const colFilter = not(hasColspan);\n      return map$1(columns$1, (cellOption, c) => {\n        return getDimension(cellOption, c, backups, colFilter, column => {\n          if (isValidColumn(column)) {\n            return getWidth(column);\n          } else {\n            const cell = bindFrom(columnCells[c], identity);\n            return getDimension(cell, c, backups, colFilter, cell => fallback(Optional.some(get$9(cell))), fallback);\n          }\n        }, fallback);\n      });\n    };\n    const getDeduced = deduced => {\n      return deduced.map(d => {\n        return d + 'px';\n      }).getOr('');\n    };\n    const getRawWidths = (warehouse, table) => {\n      return getWidthFrom(warehouse, table, getRawW, getDeduced);\n    };\n    const getPercentageWidths = (warehouse, table, tableSize) => {\n      return getWidthFrom(warehouse, table, getPercentageWidth, deduced => {\n        return deduced.fold(() => {\n          return tableSize.minCellWidth();\n        }, cellWidth => {\n          return cellWidth / tableSize.pixelWidth() * 100;\n        });\n      });\n    };\n    const getPixelWidths = (warehouse, table, tableSize) => {\n      return getWidthFrom(warehouse, table, getPixelWidth$1, deduced => {\n        return deduced.getOrThunk(tableSize.minCellWidth);\n      });\n    };\n    const getHeightFrom = (warehouse, table, direction, getHeight, fallback) => {\n      const rows$1 = rows(warehouse);\n      const backups = [Optional.some(direction.edge(table))].concat(map$1(direction.positions(rows$1, table), pos => pos.map(p => p.y)));\n      return map$1(rows$1, (cellOption, c) => {\n        return getDimension(cellOption, c, backups, not(hasRowspan), getHeight, fallback);\n      });\n    };\n    const getPixelHeights = (warehouse, table, direction) => {\n      return getHeightFrom(warehouse, table, direction, getHeight, deduced => {\n        return deduced.getOrThunk(minHeight);\n      });\n    };\n    const getRawHeights = (warehouse, table, direction) => {\n      return getHeightFrom(warehouse, table, direction, getRawH, getDeduced);\n    };\n\n    const widthLookup = (table, getter) => () => {\n      if (inBody(table)) {\n        return getter(table);\n      } else {\n        return parseFloat(getRaw$2(table, 'width').getOr('0'));\n      }\n    };\n    const noneSize = table => {\n      const getWidth = widthLookup(table, get$9);\n      const zero = constant(0);\n      const getWidths = (warehouse, tableSize) => getPixelWidths(warehouse, table, tableSize);\n      return {\n        width: getWidth,\n        pixelWidth: getWidth,\n        getWidths,\n        getCellDelta: zero,\n        singleColumnWidth: constant([0]),\n        minCellWidth: zero,\n        setElementWidth: noop,\n        adjustTableWidth: noop,\n        isRelative: true,\n        label: 'none'\n      };\n    };\n    const percentageSize = table => {\n      const getFloatWidth = widthLookup(table, elem => parseFloat(getPercentTableWidth(elem)));\n      const getWidth = widthLookup(table, get$9);\n      const getCellDelta = delta => delta / getWidth() * 100;\n      const singleColumnWidth = (w, _delta) => [100 - w];\n      const minCellWidth = () => minWidth() / getWidth() * 100;\n      const adjustTableWidth = delta => {\n        const currentWidth = getFloatWidth();\n        const change = delta / 100 * currentWidth;\n        const newWidth = currentWidth + change;\n        setPercentageWidth(table, newWidth);\n      };\n      const getWidths = (warehouse, tableSize) => getPercentageWidths(warehouse, table, tableSize);\n      return {\n        width: getFloatWidth,\n        pixelWidth: getWidth,\n        getWidths,\n        getCellDelta,\n        singleColumnWidth,\n        minCellWidth,\n        setElementWidth: setPercentageWidth,\n        adjustTableWidth,\n        isRelative: true,\n        label: 'percent'\n      };\n    };\n    const pixelSize = table => {\n      const getWidth = widthLookup(table, get$9);\n      const getCellDelta = identity;\n      const singleColumnWidth = (w, delta) => {\n        const newNext = Math.max(minWidth(), w + delta);\n        return [newNext - w];\n      };\n      const adjustTableWidth = delta => {\n        const newWidth = getWidth() + delta;\n        setPixelWidth(table, newWidth);\n      };\n      const getWidths = (warehouse, tableSize) => getPixelWidths(warehouse, table, tableSize);\n      return {\n        width: getWidth,\n        pixelWidth: getWidth,\n        getWidths,\n        getCellDelta,\n        singleColumnWidth,\n        minCellWidth: minWidth,\n        setElementWidth: setPixelWidth,\n        adjustTableWidth,\n        isRelative: false,\n        label: 'pixel'\n      };\n    };\n    const chooseSize = (element, width) => {\n      const percentMatch = percentageBasedSizeRegex().exec(width);\n      if (percentMatch !== null) {\n        return percentageSize(element);\n      } else {\n        return pixelSize(element);\n      }\n    };\n    const getTableSize = table => {\n      const width = getRawWidth$1(table);\n      return width.fold(() => noneSize(table), w => chooseSize(table, w));\n    };\n    const TableSize = {\n      getTableSize,\n      pixelSize,\n      percentageSize,\n      noneSize\n    };\n\n    const statsStruct = (minRow, minCol, maxRow, maxCol, allCells, selectedCells) => ({\n      minRow,\n      minCol,\n      maxRow,\n      maxCol,\n      allCells,\n      selectedCells\n    });\n    const findSelectedStats = (house, isSelected) => {\n      const totalColumns = house.grid.columns;\n      const totalRows = house.grid.rows;\n      let minRow = totalRows;\n      let minCol = totalColumns;\n      let maxRow = 0;\n      let maxCol = 0;\n      const allCells = [];\n      const selectedCells = [];\n      each$1(house.access, detail => {\n        allCells.push(detail);\n        if (isSelected(detail)) {\n          selectedCells.push(detail);\n          const startRow = detail.row;\n          const endRow = startRow + detail.rowspan - 1;\n          const startCol = detail.column;\n          const endCol = startCol + detail.colspan - 1;\n          if (startRow < minRow) {\n            minRow = startRow;\n          } else if (endRow > maxRow) {\n            maxRow = endRow;\n          }\n          if (startCol < minCol) {\n            minCol = startCol;\n          } else if (endCol > maxCol) {\n            maxCol = endCol;\n          }\n        }\n      });\n      return statsStruct(minRow, minCol, maxRow, maxCol, allCells, selectedCells);\n    };\n    const makeCell = (list, seenSelected, rowIndex) => {\n      const row = list[rowIndex].element;\n      const td = SugarElement.fromTag('td');\n      append$1(td, SugarElement.fromTag('br'));\n      const f = seenSelected ? append$1 : prepend;\n      f(row, td);\n    };\n    const fillInGaps = (list, house, stats, isSelected) => {\n      const rows = filter$2(list, row => row.section !== 'colgroup');\n      const totalColumns = house.grid.columns;\n      const totalRows = house.grid.rows;\n      for (let i = 0; i < totalRows; i++) {\n        let seenSelected = false;\n        for (let j = 0; j < totalColumns; j++) {\n          if (!(i < stats.minRow || i > stats.maxRow || j < stats.minCol || j > stats.maxCol)) {\n            const needCell = Warehouse.getAt(house, i, j).filter(isSelected).isNone();\n            if (needCell) {\n              makeCell(rows, seenSelected, i);\n            } else {\n              seenSelected = true;\n            }\n          }\n        }\n      }\n    };\n    const clean = (replica, stats, house, widthDelta) => {\n      each$1(house.columns, col => {\n        if (col.column < stats.minCol || col.column > stats.maxCol) {\n          remove$6(col.element);\n        }\n      });\n      const emptyRows = filter$2(firstLayer(replica, 'tr'), row => row.dom.childElementCount === 0);\n      each$2(emptyRows, remove$6);\n      if (stats.minCol === stats.maxCol || stats.minRow === stats.maxRow) {\n        each$2(firstLayer(replica, 'th,td'), cell => {\n          remove$7(cell, 'rowspan');\n          remove$7(cell, 'colspan');\n        });\n      }\n      remove$7(replica, LOCKED_COL_ATTR);\n      remove$7(replica, 'data-snooker-col-series');\n      const tableSize = TableSize.getTableSize(replica);\n      tableSize.adjustTableWidth(widthDelta);\n    };\n    const getTableWidthDelta = (table, warehouse, tableSize, stats) => {\n      if (stats.minCol === 0 && warehouse.grid.columns === stats.maxCol + 1) {\n        return 0;\n      }\n      const colWidths = getPixelWidths(warehouse, table, tableSize);\n      const allColsWidth = foldl(colWidths, (acc, width) => acc + width, 0);\n      const selectedColsWidth = foldl(colWidths.slice(stats.minCol, stats.maxCol + 1), (acc, width) => acc + width, 0);\n      const newWidth = selectedColsWidth / allColsWidth * tableSize.pixelWidth();\n      const delta = newWidth - tableSize.pixelWidth();\n      return tableSize.getCellDelta(delta);\n    };\n    const extract$1 = (table, selectedSelector) => {\n      const isSelected = detail => is$2(detail.element, selectedSelector);\n      const replica = deep(table);\n      const list = fromTable$1(replica);\n      const tableSize = TableSize.getTableSize(table);\n      const replicaHouse = Warehouse.generate(list);\n      const replicaStats = findSelectedStats(replicaHouse, isSelected);\n      const selector = 'th:not(' + selectedSelector + ')' + ',td:not(' + selectedSelector + ')';\n      const unselectedCells = filterFirstLayer(replica, 'th,td', cell => is$2(cell, selector));\n      each$2(unselectedCells, remove$6);\n      fillInGaps(list, replicaHouse, replicaStats, isSelected);\n      const house = Warehouse.fromTable(table);\n      const widthDelta = getTableWidthDelta(table, house, tableSize, replicaStats);\n      clean(replica, replicaStats, replicaHouse, widthDelta);\n      return replica;\n    };\n\n    const nbsp = '\\xA0';\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText, 'text');\n    const get$6 = element => api.get(element);\n    const getOption = element => api.getOption(element);\n    const set = (element, value) => api.set(element, value);\n\n    const getEnd = element => name(element) === 'img' ? 1 : getOption(element).fold(() => children$2(element).length, v => v.length);\n    const isTextNodeWithCursorPosition = el => getOption(el).filter(text => text.trim().length !== 0 || text.indexOf(nbsp) > -1).isSome();\n    const isContentEditableFalse = elem => isHTMLElement(elem) && get$b(elem, 'contenteditable') === 'false';\n    const elementsWithCursorPosition = ['img', 'br'];\n    const isCursorPosition = elem => {\n      const hasCursorPosition = isTextNodeWithCursorPosition(elem);\n      return hasCursorPosition || contains$2(elementsWithCursorPosition, name(elem)) || isContentEditableFalse(elem);\n    };\n\n    const first = element => descendant$1(element, isCursorPosition);\n    const last$1 = element => descendantRtl(element, isCursorPosition);\n    const descendantRtl = (scope, predicate) => {\n      const descend = element => {\n        const children = children$2(element);\n        for (let i = children.length - 1; i >= 0; i--) {\n          const child = children[i];\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(child);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope);\n    };\n\n    const transferableAttributes = {\n      scope: ['row', 'col']\n    };\n    const createCell = doc => () => {\n      const td = SugarElement.fromTag('td', doc.dom);\n      append$1(td, SugarElement.fromTag('br', doc.dom));\n      return td;\n    };\n    const createCol = doc => () => {\n      return SugarElement.fromTag('col', doc.dom);\n    };\n    const createColgroup = doc => () => {\n      return SugarElement.fromTag('colgroup', doc.dom);\n    };\n    const createRow$1 = doc => () => {\n      return SugarElement.fromTag('tr', doc.dom);\n    };\n    const replace$1 = (cell, tag, attrs) => {\n      const replica = copy$2(cell, tag);\n      each$1(attrs, (v, k) => {\n        if (v === null) {\n          remove$7(replica, k);\n        } else {\n          set$2(replica, k, v);\n        }\n      });\n      return replica;\n    };\n    const pasteReplace = cell => {\n      return cell;\n    };\n    const cloneFormats = (oldCell, newCell, formats) => {\n      const first$1 = first(oldCell);\n      return first$1.map(firstText => {\n        const formatSelector = formats.join(',');\n        const parents = ancestors$3(firstText, formatSelector, element => {\n          return eq$1(element, oldCell);\n        });\n        return foldr(parents, (last, parent) => {\n          const clonedFormat = shallow(parent);\n          append$1(last, clonedFormat);\n          return clonedFormat;\n        }, newCell);\n      }).getOr(newCell);\n    };\n    const cloneAppropriateAttributes = (original, clone) => {\n      each$1(transferableAttributes, (validAttributes, attributeName) => getOpt(original, attributeName).filter(attribute => contains$2(validAttributes, attribute)).each(attribute => set$2(clone, attributeName, attribute)));\n    };\n    const cellOperations = (mutate, doc, formatsToClone) => {\n      const cloneCss = (prev, clone) => {\n        copy$1(prev.element, clone);\n        remove$5(clone, 'height');\n        if (prev.colspan !== 1) {\n          remove$5(clone, 'width');\n        }\n      };\n      const newCell = prev => {\n        const td = SugarElement.fromTag(name(prev.element), doc.dom);\n        const formats = formatsToClone.getOr(['strong', 'em', 'b', 'i', 'span', 'font', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'div']);\n        const lastNode = formats.length > 0 ? cloneFormats(prev.element, td, formats) : td;\n        append$1(lastNode, SugarElement.fromTag('br'));\n        cloneCss(prev, td);\n        cloneAppropriateAttributes(prev.element, td);\n        mutate(prev.element, td);\n        return td;\n      };\n      const newCol = prev => {\n        const col = SugarElement.fromTag(name(prev.element), doc.dom);\n        cloneCss(prev, col);\n        mutate(prev.element, col);\n        return col;\n      };\n      return {\n        col: newCol,\n        colgroup: createColgroup(doc),\n        row: createRow$1(doc),\n        cell: newCell,\n        replace: replace$1,\n        colGap: createCol(doc),\n        gap: createCell(doc)\n      };\n    };\n    const paste$1 = doc => {\n      return {\n        col: createCol(doc),\n        colgroup: createColgroup(doc),\n        row: createRow$1(doc),\n        cell: createCell(doc),\n        replace: pasteReplace,\n        colGap: createCol(doc),\n        gap: createCell(doc)\n      };\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      return children$2(SugarElement.fromDom(div));\n    };\n    const fromDom = nodes => map$1(nodes, SugarElement.fromDom);\n\n    const option = name => editor => editor.options.get(name);\n    const defaultWidth = '100%';\n    const getPixelForcedWidth = editor => {\n      var _a;\n      const dom = editor.dom;\n      const parentBlock = (_a = dom.getParent(editor.selection.getStart(), dom.isBlock)) !== null && _a !== void 0 ? _a : editor.getBody();\n      return getInner(SugarElement.fromDom(parentBlock)) + 'px';\n    };\n    const determineDefaultTableStyles = (editor, defaultStyles) => {\n      if (isTableResponsiveForced(editor) || !shouldStyleWithCss(editor)) {\n        return defaultStyles;\n      } else if (isTablePixelsForced(editor)) {\n        return {\n          ...defaultStyles,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultStyles,\n          width: defaultWidth\n        };\n      }\n    };\n    const determineDefaultTableAttributes = (editor, defaultAttributes) => {\n      if (isTableResponsiveForced(editor) || shouldStyleWithCss(editor)) {\n        return defaultAttributes;\n      } else if (isTablePixelsForced(editor)) {\n        return {\n          ...defaultAttributes,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultAttributes,\n          width: defaultWidth\n        };\n      }\n    };\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('table_clone_elements', {\n        processor: 'string[]'\n      });\n      registerOption('table_use_colgroups', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_header_type', {\n        processor: value => {\n          const valid = contains$2(['section', 'cells', 'sectionCells', 'auto'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: section, cells, sectionCells or auto.'\n          };\n        },\n        default: 'section'\n      });\n      registerOption('table_sizing_mode', {\n        processor: 'string',\n        default: 'auto'\n      });\n      registerOption('table_default_attributes', {\n        processor: 'object',\n        default: {\n          border: '1'\n        }\n      });\n      registerOption('table_default_styles', {\n        processor: 'object',\n        default: {\n          'border-collapse': 'collapse'\n        }\n      });\n      registerOption('table_column_resizing', {\n        processor: value => {\n          const valid = contains$2(['preservetable', 'resizetable'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be preservetable, or resizetable.'\n          };\n        },\n        default: 'preservetable'\n      });\n      registerOption('table_resize_bars', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_style_by_css', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_merge_content_on_paste', {\n        processor: 'boolean',\n        default: true\n      });\n    };\n    const getTableCloneElements = editor => {\n      return Optional.from(editor.options.get('table_clone_elements'));\n    };\n    const hasTableObjectResizing = editor => {\n      const objectResizing = editor.options.get('object_resizing');\n      return contains$2(objectResizing.split(','), 'table');\n    };\n    const getTableHeaderType = option('table_header_type');\n    const getTableColumnResizingBehaviour = option('table_column_resizing');\n    const isPreserveTableColumnResizing = editor => getTableColumnResizingBehaviour(editor) === 'preservetable';\n    const isResizeTableColumnResizing = editor => getTableColumnResizingBehaviour(editor) === 'resizetable';\n    const getTableSizingMode = option('table_sizing_mode');\n    const isTablePercentagesForced = editor => getTableSizingMode(editor) === 'relative';\n    const isTablePixelsForced = editor => getTableSizingMode(editor) === 'fixed';\n    const isTableResponsiveForced = editor => getTableSizingMode(editor) === 'responsive';\n    const hasTableResizeBars = option('table_resize_bars');\n    const shouldStyleWithCss = option('table_style_by_css');\n    const shouldMergeContentOnPaste = option('table_merge_content_on_paste');\n    const getTableDefaultAttributes = editor => {\n      const options = editor.options;\n      const defaultAttributes = options.get('table_default_attributes');\n      return options.isSet('table_default_attributes') ? defaultAttributes : determineDefaultTableAttributes(editor, defaultAttributes);\n    };\n    const getTableDefaultStyles = editor => {\n      const options = editor.options;\n      const defaultStyles = options.get('table_default_styles');\n      return options.isSet('table_default_styles') ? defaultStyles : determineDefaultTableStyles(editor, defaultStyles);\n    };\n    const tableUseColumnGroup = option('table_use_colgroups');\n\n    const closest = target => closest$1(target, '[contenteditable]');\n    const isEditable$1 = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true');\n      }\n    };\n    const getRaw = element => element.dom.contentEditable;\n\n    const getBody = editor => SugarElement.fromDom(editor.getBody());\n    const getIsRoot = editor => element => eq$1(element, getBody(editor));\n    const removeDataStyle = table => {\n      remove$7(table, 'data-mce-style');\n      const removeStyleAttribute = element => remove$7(element, 'data-mce-style');\n      each$2(cells$1(table), removeStyleAttribute);\n      each$2(columns$1(table), removeStyleAttribute);\n      each$2(rows$1(table), removeStyleAttribute);\n    };\n    const getSelectionStart = editor => SugarElement.fromDom(editor.selection.getStart());\n    const getPixelWidth = elm => elm.getBoundingClientRect().width;\n    const getPixelHeight = elm => elm.getBoundingClientRect().height;\n    const getRawWidth = (editor, elm) => {\n      const raw = editor.dom.getStyle(elm, 'width') || editor.dom.getAttrib(elm, 'width');\n      return Optional.from(raw).filter(isNotEmpty);\n    };\n    const isPercentage$1 = value => /^(\\d+(\\.\\d+)?)%$/.test(value);\n    const isPixel = value => /^(\\d+(\\.\\d+)?)px$/.test(value);\n    const isInEditableContext$1 = cell => closest$2(cell, isTag('table')).exists(isEditable$1);\n\n    const inSelection = (bounds, detail) => {\n      const leftEdge = detail.column;\n      const rightEdge = detail.column + detail.colspan - 1;\n      const topEdge = detail.row;\n      const bottomEdge = detail.row + detail.rowspan - 1;\n      return leftEdge <= bounds.finishCol && rightEdge >= bounds.startCol && topEdge <= bounds.finishRow && bottomEdge >= bounds.startRow;\n    };\n    const isWithin = (bounds, detail) => {\n      return detail.column >= bounds.startCol && detail.column + detail.colspan - 1 <= bounds.finishCol && detail.row >= bounds.startRow && detail.row + detail.rowspan - 1 <= bounds.finishRow;\n    };\n    const isRectangular = (warehouse, bounds) => {\n      let isRect = true;\n      const detailIsWithin = curry(isWithin, bounds);\n      for (let i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (let j = bounds.startCol; j <= bounds.finishCol; j++) {\n          isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);\n        }\n      }\n      return isRect ? Optional.some(bounds) : Optional.none();\n    };\n\n    const getBounds = (detailA, detailB) => {\n      return bounds(Math.min(detailA.row, detailB.row), Math.min(detailA.column, detailB.column), Math.max(detailA.row + detailA.rowspan - 1, detailB.row + detailB.rowspan - 1), Math.max(detailA.column + detailA.colspan - 1, detailB.column + detailB.colspan - 1));\n    };\n    const getAnyBox = (warehouse, startCell, finishCell) => {\n      const startCoords = Warehouse.findItem(warehouse, startCell, eq$1);\n      const finishCoords = Warehouse.findItem(warehouse, finishCell, eq$1);\n      return startCoords.bind(sc => {\n        return finishCoords.map(fc => {\n          return getBounds(sc, fc);\n        });\n      });\n    };\n    const getBox$1 = (warehouse, startCell, finishCell) => {\n      return getAnyBox(warehouse, startCell, finishCell).bind(bounds => {\n        return isRectangular(warehouse, bounds);\n      });\n    };\n\n    const moveBy$1 = (warehouse, cell, row, column) => {\n      return Warehouse.findItem(warehouse, cell, eq$1).bind(detail => {\n        const startRow = row > 0 ? detail.row + detail.rowspan - 1 : detail.row;\n        const startCol = column > 0 ? detail.column + detail.colspan - 1 : detail.column;\n        const dest = Warehouse.getAt(warehouse, startRow + row, startCol + column);\n        return dest.map(d => {\n          return d.element;\n        });\n      });\n    };\n    const intercepts$1 = (warehouse, start, finish) => {\n      return getAnyBox(warehouse, start, finish).map(bounds => {\n        const inside = Warehouse.filterItems(warehouse, curry(inSelection, bounds));\n        return map$1(inside, detail => {\n          return detail.element;\n        });\n      });\n    };\n    const parentCell = (warehouse, innerCell) => {\n      const isContainedBy = (c1, c2) => {\n        return contains$1(c2, c1);\n      };\n      return Warehouse.findItem(warehouse, innerCell, isContainedBy).map(detail => {\n        return detail.element;\n      });\n    };\n\n    const moveBy = (cell, deltaRow, deltaColumn) => {\n      return table(cell).bind(table => {\n        const warehouse = getWarehouse(table);\n        return moveBy$1(warehouse, cell, deltaRow, deltaColumn);\n      });\n    };\n    const intercepts = (table, first, last) => {\n      const warehouse = getWarehouse(table);\n      return intercepts$1(warehouse, first, last);\n    };\n    const nestedIntercepts = (table, first, firstTable, last, lastTable) => {\n      const warehouse = getWarehouse(table);\n      const optStartCell = eq$1(table, firstTable) ? Optional.some(first) : parentCell(warehouse, first);\n      const optLastCell = eq$1(table, lastTable) ? Optional.some(last) : parentCell(warehouse, last);\n      return optStartCell.bind(startCell => optLastCell.bind(lastCell => intercepts$1(warehouse, startCell, lastCell)));\n    };\n    const getBox = (table, first, last) => {\n      const warehouse = getWarehouse(table);\n      return getBox$1(warehouse, first, last);\n    };\n    const getWarehouse = Warehouse.fromTable;\n\n    var TagBoundaries = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'li', 'table', 'thead', 'tbody', 'tfoot', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n\n    var DomUniverse = (() => {\n      const clone = element => {\n        return SugarElement.fromDom(element.dom.cloneNode(false));\n      };\n      const document = element => documentOrOwner(element).dom;\n      const isBoundary = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        if (name(element) === 'body') {\n          return true;\n        }\n        return contains$2(TagBoundaries, name(element));\n      };\n      const isEmptyTag = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        return contains$2(['br', 'img', 'hr', 'input'], name(element));\n      };\n      const isNonEditable = element => isElement(element) && get$b(element, 'contenteditable') === 'false';\n      const comparePosition = (element, other) => {\n        return element.dom.compareDocumentPosition(other.dom);\n      };\n      const copyAttributesTo = (source, destination) => {\n        const as = clone$2(source);\n        setAll$1(destination, as);\n      };\n      const isSpecial = element => {\n        const tag = name(element);\n        return contains$2(['script', 'noscript', 'iframe', 'noframes', 'noembed', 'title', 'style', 'textarea', 'xmp'], tag);\n      };\n      const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none();\n      return {\n        up: constant({\n          selector: ancestor$1,\n          closest: closest$1,\n          predicate: ancestor$2,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants,\n          predicate: descendants$1\n        }),\n        styles: constant({\n          get: get$a,\n          getRaw: getRaw$2,\n          set: set$1,\n          remove: remove$5\n        }),\n        attrs: constant({\n          get: get$b,\n          set: set$2,\n          remove: remove$7,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before$3,\n          after: after$5,\n          afterAll: after$4,\n          append: append$1,\n          appendAll: append,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove$6\n        }),\n        create: constant({\n          nu: SugarElement.fromTag,\n          clone,\n          text: SugarElement.fromText\n        }),\n        query: constant({\n          comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children$2,\n          name: name,\n          parent: parent,\n          document,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          isSpecial,\n          getLanguage,\n          getText: get$6,\n          setText: set,\n          isBoundary,\n          isEmptyTag,\n          isNonEditable\n        }),\n        eq: eq$1,\n        is: is$1\n      };\n    });\n\n    const all = (universe, look, elements, f) => {\n      const head = elements[0];\n      const tail = elements.slice(1);\n      return f(universe, look, head, tail);\n    };\n    const oneAll = (universe, look, elements) => {\n      return elements.length > 0 ? all(universe, look, elements, unsafeOne) : Optional.none();\n    };\n    const unsafeOne = (universe, look, head, tail) => {\n      const start = look(universe, head);\n      return foldr(tail, (b, a) => {\n        const current = look(universe, a);\n        return commonElement(universe, b, current);\n      }, start);\n    };\n    const commonElement = (universe, start, end) => {\n      return start.bind(s => {\n        return end.filter(curry(universe.eq, s));\n      });\n    };\n\n    const eq = (universe, item) => {\n      return curry(universe.eq, item);\n    };\n    const ancestors$2 = (universe, start, end, isRoot = never) => {\n      const ps1 = [start].concat(universe.up().all(start));\n      const ps2 = [end].concat(universe.up().all(end));\n      const prune = path => {\n        const index = findIndex(path, isRoot);\n        return index.fold(() => {\n          return path;\n        }, ind => {\n          return path.slice(0, ind + 1);\n        });\n      };\n      const pruned1 = prune(ps1);\n      const pruned2 = prune(ps2);\n      const shared = find$1(pruned1, x => {\n        return exists(pruned2, eq(universe, x));\n      });\n      return {\n        firstpath: pruned1,\n        secondpath: pruned2,\n        shared\n      };\n    };\n\n    const sharedOne$1 = oneAll;\n    const ancestors$1 = ancestors$2;\n\n    const universe$3 = DomUniverse();\n    const sharedOne = (look, elements) => {\n      return sharedOne$1(universe$3, (_universe, element) => {\n        return look(element);\n      }, elements);\n    };\n    const ancestors = (start, finish, isRoot) => {\n      return ancestors$1(universe$3, start, finish, isRoot);\n    };\n\n    const lookupTable = container => {\n      return ancestor$1(container, 'table');\n    };\n    const identify = (start, finish, isRoot) => {\n      const getIsRoot = rootTable => {\n        return element => {\n          return isRoot !== undefined && isRoot(element) || eq$1(element, rootTable);\n        };\n      };\n      if (eq$1(start, finish)) {\n        return Optional.some({\n          boxes: Optional.some([start]),\n          start,\n          finish\n        });\n      } else {\n        return lookupTable(start).bind(startTable => {\n          return lookupTable(finish).bind(finishTable => {\n            if (eq$1(startTable, finishTable)) {\n              return Optional.some({\n                boxes: intercepts(startTable, start, finish),\n                start,\n                finish\n              });\n            } else if (contains$1(startTable, finishTable)) {\n              const ancestorCells = ancestors$3(finish, 'td,th', getIsRoot(startTable));\n              const finishCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : finish;\n              return Optional.some({\n                boxes: nestedIntercepts(startTable, start, startTable, finish, finishTable),\n                start,\n                finish: finishCell\n              });\n            } else if (contains$1(finishTable, startTable)) {\n              const ancestorCells = ancestors$3(start, 'td,th', getIsRoot(finishTable));\n              const startCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : start;\n              return Optional.some({\n                boxes: nestedIntercepts(finishTable, start, startTable, finish, finishTable),\n                start,\n                finish: startCell\n              });\n            } else {\n              return ancestors(start, finish).shared.bind(lca => {\n                return closest$1(lca, 'table', isRoot).bind(lcaTable => {\n                  const finishAncestorCells = ancestors$3(finish, 'td,th', getIsRoot(lcaTable));\n                  const finishCell = finishAncestorCells.length > 0 ? finishAncestorCells[finishAncestorCells.length - 1] : finish;\n                  const startAncestorCells = ancestors$3(start, 'td,th', getIsRoot(lcaTable));\n                  const startCell = startAncestorCells.length > 0 ? startAncestorCells[startAncestorCells.length - 1] : start;\n                  return Optional.some({\n                    boxes: nestedIntercepts(lcaTable, start, startTable, finish, finishTable),\n                    start: startCell,\n                    finish: finishCell\n                  });\n                });\n              });\n            }\n          });\n        });\n      }\n    };\n    const retrieve$1 = (container, selector) => {\n      const sels = descendants(container, selector);\n      return sels.length > 0 ? Optional.some(sels) : Optional.none();\n    };\n    const getLast = (boxes, lastSelectedSelector) => {\n      return find$1(boxes, box => {\n        return is$2(box, lastSelectedSelector);\n      });\n    };\n    const getEdges = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return descendant(container, firstSelectedSelector).bind(first => {\n        return descendant(container, lastSelectedSelector).bind(last => {\n          return sharedOne(lookupTable, [first, last]).map(table => {\n            return {\n              first,\n              last,\n              table\n            };\n          });\n        });\n      });\n    };\n    const expandTo = (finish, firstSelectedSelector) => {\n      return ancestor$1(finish, 'table').bind(table => {\n        return descendant(table, firstSelectedSelector).bind(start => {\n          return identify(start, finish).bind(identified => {\n            return identified.boxes.map(boxes => {\n              return {\n                boxes,\n                start: identified.start,\n                finish: identified.finish\n              };\n            });\n          });\n        });\n      });\n    };\n    const shiftSelection = (boxes, deltaRow, deltaColumn, firstSelectedSelector, lastSelectedSelector) => {\n      return getLast(boxes, lastSelectedSelector).bind(last => {\n        return moveBy(last, deltaRow, deltaColumn).bind(finish => {\n          return expandTo(finish, firstSelectedSelector);\n        });\n      });\n    };\n\n    const retrieve = (container, selector) => {\n      return retrieve$1(container, selector);\n    };\n    const retrieveBox = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(edges => {\n        const isRoot = ancestor => {\n          return eq$1(container, ancestor);\n        };\n        const sectionSelector = 'thead,tfoot,tbody,table';\n        const firstAncestor = ancestor$1(edges.first, sectionSelector, isRoot);\n        const lastAncestor = ancestor$1(edges.last, sectionSelector, isRoot);\n        return firstAncestor.bind(fA => {\n          return lastAncestor.bind(lA => {\n            return eq$1(fA, lA) ? getBox(edges.table, edges.first, edges.last) : Optional.none();\n          });\n        });\n      });\n    };\n\n    const selection = identity;\n    const unmergable = selectedCells => {\n      const hasSpan = (elem, type) => getOpt(elem, type).exists(span => parseInt(span, 10) > 1);\n      const hasRowOrColSpan = elem => hasSpan(elem, 'rowspan') || hasSpan(elem, 'colspan');\n      return selectedCells.length > 0 && forall(selectedCells, hasRowOrColSpan) ? Optional.some(selectedCells) : Optional.none();\n    };\n    const mergable = (table, selectedCells, ephemera) => {\n      if (selectedCells.length <= 1) {\n        return Optional.none();\n      } else {\n        return retrieveBox(table, ephemera.firstSelectedSelector, ephemera.lastSelectedSelector).map(bounds => ({\n          bounds,\n          cells: selectedCells\n        }));\n      }\n    };\n\n    const strSelected = 'data-mce-selected';\n    const strSelectedSelector = 'td[' + strSelected + '],th[' + strSelected + ']';\n    const strAttributeSelector = '[' + strSelected + ']';\n    const strFirstSelected = 'data-mce-first-selected';\n    const strFirstSelectedSelector = 'td[' + strFirstSelected + '],th[' + strFirstSelected + ']';\n    const strLastSelected = 'data-mce-last-selected';\n    const strLastSelectedSelector = 'td[' + strLastSelected + '],th[' + strLastSelected + ']';\n    const attributeSelector = strAttributeSelector;\n    const ephemera = {\n      selected: strSelected,\n      selectedSelector: strSelectedSelector,\n      firstSelected: strFirstSelected,\n      firstSelectedSelector: strFirstSelectedSelector,\n      lastSelected: strLastSelected,\n      lastSelectedSelector: strLastSelectedSelector\n    };\n\n    const forMenu = (selectedCells, table, cell) => ({\n      element: cell,\n      mergable: mergable(table, selectedCells, ephemera),\n      unmergable: unmergable(selectedCells),\n      selection: selection(selectedCells)\n    });\n    const paste = (element, clipboard, generators) => ({\n      element,\n      clipboard,\n      generators\n    });\n    const pasteRows = (selectedCells, _cell, clipboard, generators) => ({\n      selection: selection(selectedCells),\n      clipboard,\n      generators\n    });\n\n    const getSelectionCellFallback = element => table(element).bind(table => retrieve(table, ephemera.firstSelectedSelector)).fold(constant(element), cells => cells[0]);\n    const getSelectionFromSelector = selector => (initCell, isRoot) => {\n      const cellName = name(initCell);\n      const cell = cellName === 'col' || cellName === 'colgroup' ? getSelectionCellFallback(initCell) : initCell;\n      return closest$1(cell, selector, isRoot);\n    };\n    const getSelectionCellOrCaption = getSelectionFromSelector('th,td,caption');\n    const getSelectionCell = getSelectionFromSelector('th,td');\n    const getCellsFromSelection = editor => fromDom(editor.model.table.getSelectedCells());\n    const getCellsFromFakeSelection = editor => filter$2(getCellsFromSelection(editor), cell => is$2(cell, ephemera.selectedSelector));\n\n    const extractSelected = cells => {\n      return table(cells[0]).map(table => {\n        const replica = extract$1(table, attributeSelector);\n        removeDataStyle(replica);\n        return [replica];\n      });\n    };\n    const serializeElements = (editor, elements) => map$1(elements, elm => editor.selection.serializer.serialize(elm.dom, {})).join('');\n    const getTextContent = elements => map$1(elements, element => element.dom.innerText).join('');\n    const registerEvents = (editor, actions) => {\n      editor.on('BeforeGetContent', e => {\n        const multiCellContext = cells => {\n          e.preventDefault();\n          extractSelected(cells).each(elements => {\n            e.content = e.format === 'text' ? getTextContent(elements) : serializeElements(editor, elements);\n          });\n        };\n        if (e.selection === true) {\n          const cells = getCellsFromFakeSelection(editor);\n          if (cells.length >= 1) {\n            multiCellContext(cells);\n          }\n        }\n      });\n      editor.on('BeforeSetContent', e => {\n        if (e.selection === true && e.paste === true) {\n          const selectedCells = getCellsFromSelection(editor);\n          head(selectedCells).each(cell => {\n            table(cell).each(table => {\n              const elements = filter$2(fromHtml(e.content), content => {\n                return name(content) !== 'meta';\n              });\n              const isTable = isTag('table');\n              if (shouldMergeContentOnPaste(editor) && elements.length === 1 && isTable(elements[0])) {\n                e.preventDefault();\n                const doc = SugarElement.fromDom(editor.getDoc());\n                const generators = paste$1(doc);\n                const targets = paste(cell, elements[0], generators);\n                actions.pasteCells(table, targets).each(() => {\n                  editor.focus();\n                });\n              }\n            });\n          });\n        }\n      });\n    };\n\n    const point = (element, offset) => ({\n      element,\n      offset\n    });\n\n    const scan$1 = (universe, element, direction) => {\n      if (universe.property().isText(element) && universe.property().getText(element).trim().length === 0 || universe.property().isComment(element)) {\n        return direction(element).bind(elem => {\n          return scan$1(universe, elem, direction).orThunk(() => {\n            return Optional.some(elem);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const toEnd = (universe, element) => {\n      if (universe.property().isText(element)) {\n        return universe.property().getText(element).length;\n      }\n      const children = universe.property().children(element);\n      return children.length;\n    };\n    const freefallRtl$2 = (universe, element) => {\n      const candidate = scan$1(universe, element, universe.query().prevSibling).getOr(element);\n      if (universe.property().isText(candidate)) {\n        return point(candidate, toEnd(universe, candidate));\n      }\n      const children = universe.property().children(candidate);\n      return children.length > 0 ? freefallRtl$2(universe, children[children.length - 1]) : point(candidate, toEnd(universe, candidate));\n    };\n\n    const freefallRtl$1 = freefallRtl$2;\n\n    const universe$2 = DomUniverse();\n    const freefallRtl = element => {\n      return freefallRtl$1(universe$2, element);\n    };\n\n    const halve = (main, other) => {\n      if (!hasColspan(main)) {\n        const width = getGenericWidth(main);\n        width.each(w => {\n          const newWidth = w.value / 2;\n          setGenericWidth(main, newWidth, w.unit);\n          setGenericWidth(other, newWidth, w.unit);\n        });\n      }\n    };\n\n    const zero = array => map$1(array, constant(0));\n    const surround = (sizes, startIndex, endIndex, results, f) => f(sizes.slice(0, startIndex)).concat(results).concat(f(sizes.slice(endIndex)));\n    const clampDeltaHelper = predicate => (sizes, index, delta, minCellSize) => {\n      if (!predicate(delta)) {\n        return delta;\n      } else {\n        const newSize = Math.max(minCellSize, sizes[index] - Math.abs(delta));\n        const diff = Math.abs(newSize - sizes[index]);\n        return delta >= 0 ? diff : -diff;\n      }\n    };\n    const clampNegativeDelta = clampDeltaHelper(delta => delta < 0);\n    const clampDelta = clampDeltaHelper(always);\n    const resizeTable = () => {\n      const calcFixedDeltas = (sizes, index, next, delta, minCellSize) => {\n        const clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize);\n        return surround(sizes, index, next + 1, [clampedDelta, 0], zero);\n      };\n      const calcRelativeDeltas = (sizes, index, delta, minCellSize) => {\n        const ratio = (100 + delta) / 100;\n        const newThis = Math.max(minCellSize, (sizes[index] + delta) / ratio);\n        return map$1(sizes, (size, idx) => {\n          const newSize = idx === index ? newThis : size / ratio;\n          return newSize - size;\n        });\n      };\n      const calcLeftEdgeDeltas = (sizes, index, next, delta, minCellSize, isRelative) => {\n        if (isRelative) {\n          return calcRelativeDeltas(sizes, index, delta, minCellSize);\n        } else {\n          return calcFixedDeltas(sizes, index, next, delta, minCellSize);\n        }\n      };\n      const calcMiddleDeltas = (sizes, _prev, index, next, delta, minCellSize, isRelative) => calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize, isRelative);\n      const resizeTable = (resizer, delta) => resizer(delta);\n      const calcRightEdgeDeltas = (sizes, _prev, index, delta, minCellSize, isRelative) => {\n        if (isRelative) {\n          return calcRelativeDeltas(sizes, index, delta, minCellSize);\n        } else {\n          const clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize);\n          return zero(sizes.slice(0, index)).concat([clampedDelta]);\n        }\n      };\n      const calcRedestributedWidths = (sizes, totalWidth, pixelDelta, isRelative) => {\n        if (isRelative) {\n          const tableWidth = totalWidth + pixelDelta;\n          const ratio = tableWidth / totalWidth;\n          const newSizes = map$1(sizes, size => size / ratio);\n          return {\n            delta: ratio * 100 - 100,\n            newSizes\n          };\n        } else {\n          return {\n            delta: pixelDelta,\n            newSizes: sizes\n          };\n        }\n      };\n      return {\n        resizeTable,\n        clampTableDelta: clampNegativeDelta,\n        calcLeftEdgeDeltas,\n        calcMiddleDeltas,\n        calcRightEdgeDeltas,\n        calcRedestributedWidths\n      };\n    };\n    const preserveTable = () => {\n      const calcLeftEdgeDeltas = (sizes, index, next, delta, minCellSize) => {\n        const idx = delta >= 0 ? next : index;\n        const clampedDelta = clampDelta(sizes, idx, delta, minCellSize);\n        return surround(sizes, index, next + 1, [clampedDelta, -clampedDelta], zero);\n      };\n      const calcMiddleDeltas = (sizes, _prev, index, next, delta, minCellSize) => calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize);\n      const resizeTable = (resizer, delta, isLastColumn) => {\n        if (isLastColumn) {\n          resizer(delta);\n        }\n      };\n      const calcRightEdgeDeltas = (sizes, _prev, _index, delta, _minCellSize, isRelative) => {\n        if (isRelative) {\n          return zero(sizes);\n        } else {\n          const diff = delta / sizes.length;\n          return map$1(sizes, constant(diff));\n        }\n      };\n      const clampTableDelta = (sizes, index, delta, minCellSize, isLastColumn) => {\n        if (isLastColumn) {\n          if (delta >= 0) {\n            return delta;\n          } else {\n            const maxDelta = foldl(sizes, (a, b) => a + b - minCellSize, 0);\n            return Math.max(-maxDelta, delta);\n          }\n        } else {\n          return clampNegativeDelta(sizes, index, delta, minCellSize);\n        }\n      };\n      const calcRedestributedWidths = (sizes, _totalWidth, _pixelDelta, _isRelative) => ({\n        delta: 0,\n        newSizes: sizes\n      });\n      return {\n        resizeTable,\n        clampTableDelta,\n        calcLeftEdgeDeltas,\n        calcMiddleDeltas,\n        calcRightEdgeDeltas,\n        calcRedestributedWidths\n      };\n    };\n\n    const getGridSize = table => {\n      const warehouse = Warehouse.fromTable(table);\n      return warehouse.grid;\n    };\n\n    const isHeaderCell = isTag('th');\n    const isHeaderCells = cells => forall(cells, cell => isHeaderCell(cell.element));\n    const getRowHeaderType = (isHeaderRow, isHeaderCells) => {\n      if (isHeaderRow && isHeaderCells) {\n        return 'sectionCells';\n      } else if (isHeaderRow) {\n        return 'section';\n      } else {\n        return 'cells';\n      }\n    };\n    const getRowType = row => {\n      const isHeaderRow = row.section === 'thead';\n      const isHeaderCells = is(findCommonCellType(row.cells), 'th');\n      if (row.section === 'tfoot') {\n        return {\n          type: 'footer'\n        };\n      } else if (isHeaderRow || isHeaderCells) {\n        return {\n          type: 'header',\n          subType: getRowHeaderType(isHeaderRow, isHeaderCells)\n        };\n      } else {\n        return {\n          type: 'body'\n        };\n      }\n    };\n    const findCommonCellType = cells => {\n      const headerCells = filter$2(cells, cell => isHeaderCell(cell.element));\n      if (headerCells.length === 0) {\n        return Optional.some('td');\n      } else if (headerCells.length === cells.length) {\n        return Optional.some('th');\n      } else {\n        return Optional.none();\n      }\n    };\n    const findCommonRowType = rows => {\n      const rowTypes = map$1(rows, row => getRowType(row).type);\n      const hasHeader = contains$2(rowTypes, 'header');\n      const hasFooter = contains$2(rowTypes, 'footer');\n      if (!hasHeader && !hasFooter) {\n        return Optional.some('body');\n      } else {\n        const hasBody = contains$2(rowTypes, 'body');\n        if (hasHeader && !hasBody && !hasFooter) {\n          return Optional.some('header');\n        } else if (!hasHeader && !hasBody && hasFooter) {\n          return Optional.some('footer');\n        } else {\n          return Optional.none();\n        }\n      }\n    };\n    const findTableRowHeaderType = warehouse => findMap(warehouse.all, row => {\n      const rowType = getRowType(row);\n      return rowType.type === 'header' ? Optional.from(rowType.subType) : Optional.none();\n    });\n\n    const transformCell = (cell, comparator, substitution) => elementnew(substitution(cell.element, comparator), true, cell.isLocked);\n    const transformRow = (row, section) => row.section !== section ? rowcells(row.element, row.cells, section, row.isNew) : row;\n    const section = () => ({\n      transformRow,\n      transformCell: (cell, comparator, substitution) => {\n        const newCell = substitution(cell.element, comparator);\n        const fixedCell = name(newCell) !== 'td' ? mutate$1(newCell, 'td') : newCell;\n        return elementnew(fixedCell, cell.isNew, cell.isLocked);\n      }\n    });\n    const sectionCells = () => ({\n      transformRow,\n      transformCell\n    });\n    const cells = () => ({\n      transformRow: (row, section) => {\n        const newSection = section === 'thead' ? 'tbody' : section;\n        return transformRow(row, newSection);\n      },\n      transformCell\n    });\n    const fallback = () => ({\n      transformRow: identity,\n      transformCell\n    });\n    const getTableSectionType = (table, fallback) => {\n      const warehouse = Warehouse.fromTable(table);\n      const type = findTableRowHeaderType(warehouse).getOr(fallback);\n      switch (type) {\n        case 'section':\n          return section();\n        case 'sectionCells':\n          return sectionCells();\n        case 'cells':\n          return cells();\n      }\n    };\n    const TableSection = {\n      getTableSectionType,\n      section,\n      sectionCells,\n      cells,\n      fallback\n    };\n\n    const setIfNot = (element, property, value, ignore) => {\n      if (value === ignore) {\n        remove$7(element, property);\n      } else {\n        set$2(element, property, value);\n      }\n    };\n    const insert$1 = (table, selector, element) => {\n      last$2(children(table, selector)).fold(() => prepend(table, element), child => after$5(child, element));\n    };\n    const generateSection = (table, sectionName) => {\n      const section = child(table, sectionName).getOrThunk(() => {\n        const newSection = SugarElement.fromTag(sectionName, owner(table).dom);\n        if (sectionName === 'thead') {\n          insert$1(table, 'caption,colgroup', newSection);\n        } else if (sectionName === 'colgroup') {\n          insert$1(table, 'caption', newSection);\n        } else {\n          append$1(table, newSection);\n        }\n        return newSection;\n      });\n      empty(section);\n      return section;\n    };\n    const render$1 = (table, grid) => {\n      const newRows = [];\n      const newCells = [];\n      const syncRows = gridSection => map$1(gridSection, row => {\n        if (row.isNew) {\n          newRows.push(row.element);\n        }\n        const tr = row.element;\n        empty(tr);\n        each$2(row.cells, cell => {\n          if (cell.isNew) {\n            newCells.push(cell.element);\n          }\n          setIfNot(cell.element, 'colspan', cell.colspan, 1);\n          setIfNot(cell.element, 'rowspan', cell.rowspan, 1);\n          append$1(tr, cell.element);\n        });\n        return tr;\n      });\n      const syncColGroup = gridSection => bind$2(gridSection, colGroup => map$1(colGroup.cells, col => {\n        setIfNot(col.element, 'span', col.colspan, 1);\n        return col.element;\n      }));\n      const renderSection = (gridSection, sectionName) => {\n        const section = generateSection(table, sectionName);\n        const sync = sectionName === 'colgroup' ? syncColGroup : syncRows;\n        const sectionElems = sync(gridSection);\n        append(section, sectionElems);\n      };\n      const removeSection = sectionName => {\n        child(table, sectionName).each(remove$6);\n      };\n      const renderOrRemoveSection = (gridSection, sectionName) => {\n        if (gridSection.length > 0) {\n          renderSection(gridSection, sectionName);\n        } else {\n          removeSection(sectionName);\n        }\n      };\n      const headSection = [];\n      const bodySection = [];\n      const footSection = [];\n      const columnGroupsSection = [];\n      each$2(grid, row => {\n        switch (row.section) {\n          case 'thead':\n            headSection.push(row);\n            break;\n          case 'tbody':\n            bodySection.push(row);\n            break;\n          case 'tfoot':\n            footSection.push(row);\n            break;\n          case 'colgroup':\n            columnGroupsSection.push(row);\n            break;\n        }\n      });\n      renderOrRemoveSection(columnGroupsSection, 'colgroup');\n      renderOrRemoveSection(headSection, 'thead');\n      renderOrRemoveSection(bodySection, 'tbody');\n      renderOrRemoveSection(footSection, 'tfoot');\n      return {\n        newRows,\n        newCells\n      };\n    };\n    const copy = grid => map$1(grid, row => {\n      const tr = shallow(row.element);\n      each$2(row.cells, cell => {\n        const clonedCell = deep(cell.element);\n        setIfNot(clonedCell, 'colspan', cell.colspan, 1);\n        setIfNot(clonedCell, 'rowspan', cell.rowspan, 1);\n        append$1(tr, clonedCell);\n      });\n      return tr;\n    });\n\n    const getColumn = (grid, index) => {\n      return map$1(grid, row => {\n        return getCell(row, index);\n      });\n    };\n    const getRow = (grid, index) => {\n      return grid[index];\n    };\n    const findDiff = (xs, comp) => {\n      if (xs.length === 0) {\n        return 0;\n      }\n      const first = xs[0];\n      const index = findIndex(xs, x => {\n        return !comp(first.element, x.element);\n      });\n      return index.getOr(xs.length);\n    };\n    const subgrid = (grid, row, column, comparator) => {\n      const gridRow = getRow(grid, row);\n      const isColRow = gridRow.section === 'colgroup';\n      const colspan = findDiff(gridRow.cells.slice(column), comparator);\n      const rowspan = isColRow ? 1 : findDiff(getColumn(grid.slice(row), column), comparator);\n      return {\n        colspan,\n        rowspan\n      };\n    };\n\n    const toDetails = (grid, comparator) => {\n      const seen = map$1(grid, row => map$1(row.cells, never));\n      const updateSeen = (rowIndex, columnIndex, rowspan, colspan) => {\n        for (let row = rowIndex; row < rowIndex + rowspan; row++) {\n          for (let column = columnIndex; column < columnIndex + colspan; column++) {\n            seen[row][column] = true;\n          }\n        }\n      };\n      return map$1(grid, (row, rowIndex) => {\n        const details = bind$2(row.cells, (cell, columnIndex) => {\n          if (seen[rowIndex][columnIndex] === false) {\n            const result = subgrid(grid, rowIndex, columnIndex, comparator);\n            updateSeen(rowIndex, columnIndex, result.rowspan, result.colspan);\n            return [detailnew(cell.element, result.rowspan, result.colspan, cell.isNew)];\n          } else {\n            return [];\n          }\n        });\n        return rowdetailnew(row.element, details, row.section, row.isNew);\n      });\n    };\n    const toGrid = (warehouse, generators, isNew) => {\n      const grid = [];\n      each$2(warehouse.colgroups, colgroup => {\n        const colgroupCols = [];\n        for (let columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) {\n          const element = Warehouse.getColumnAt(warehouse, columnIndex).map(column => elementnew(column.element, isNew, false)).getOrThunk(() => elementnew(generators.colGap(), true, false));\n          colgroupCols.push(element);\n        }\n        grid.push(rowcells(colgroup.element, colgroupCols, 'colgroup', isNew));\n      });\n      for (let rowIndex = 0; rowIndex < warehouse.grid.rows; rowIndex++) {\n        const rowCells = [];\n        for (let columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) {\n          const element = Warehouse.getAt(warehouse, rowIndex, columnIndex).map(item => elementnew(item.element, isNew, item.isLocked)).getOrThunk(() => elementnew(generators.gap(), true, false));\n          rowCells.push(element);\n        }\n        const rowDetail = warehouse.all[rowIndex];\n        const row = rowcells(rowDetail.element, rowCells, rowDetail.section, isNew);\n        grid.push(row);\n      }\n      return grid;\n    };\n\n    const fromWarehouse = (warehouse, generators) => toGrid(warehouse, generators, false);\n    const toDetailList = grid => toDetails(grid, eq$1);\n    const findInWarehouse = (warehouse, element) => findMap(warehouse.all, r => find$1(r.cells, e => eq$1(element, e.element)));\n    const extractCells = (warehouse, target, predicate) => {\n      const details = map$1(target.selection, cell$1 => {\n        return cell(cell$1).bind(lc => findInWarehouse(warehouse, lc)).filter(predicate);\n      });\n      const cells = cat(details);\n      return someIf(cells.length > 0, cells);\n    };\n    const run = (operation, extract, adjustment, postAction, genWrappers) => (table, target, generators, behaviours) => {\n      const warehouse = Warehouse.fromTable(table);\n      const tableSection = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.section).getOrThunk(TableSection.fallback);\n      const output = extract(warehouse, target).map(info => {\n        const model = fromWarehouse(warehouse, generators);\n        const result = operation(model, info, eq$1, genWrappers(generators), tableSection);\n        const lockedColumns = getLockedColumnsFromGrid(result.grid);\n        const grid = toDetailList(result.grid);\n        return {\n          info,\n          grid,\n          cursor: result.cursor,\n          lockedColumns\n        };\n      });\n      return output.bind(out => {\n        const newElements = render$1(table, out.grid);\n        const tableSizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.sizing).getOrThunk(() => TableSize.getTableSize(table));\n        const resizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.resize).getOrThunk(preserveTable);\n        adjustment(table, out.grid, out.info, {\n          sizing: tableSizing,\n          resize: resizing,\n          section: tableSection\n        });\n        postAction(table);\n        remove$7(table, LOCKED_COL_ATTR);\n        if (out.lockedColumns.length > 0) {\n          set$2(table, LOCKED_COL_ATTR, out.lockedColumns.join(','));\n        }\n        return Optional.some({\n          cursor: out.cursor,\n          newRows: newElements.newRows,\n          newCells: newElements.newCells\n        });\n      });\n    };\n    const onPaste = (warehouse, target) => cell(target.element).bind(cell => findInWarehouse(warehouse, cell).map(details => {\n      const value = {\n        ...details,\n        generators: target.generators,\n        clipboard: target.clipboard\n      };\n      return value;\n    }));\n    const onPasteByEditor = (warehouse, target) => extractCells(warehouse, target, always).map(cells => ({\n      cells,\n      generators: target.generators,\n      clipboard: target.clipboard\n    }));\n    const onMergable = (_warehouse, target) => target.mergable;\n    const onUnmergable = (_warehouse, target) => target.unmergable;\n    const onCells = (warehouse, target) => extractCells(warehouse, target, always);\n    const onUnlockedCells = (warehouse, target) => extractCells(warehouse, target, detail => !detail.isLocked);\n    const isUnlockedTableCell = (warehouse, cell) => findInWarehouse(warehouse, cell).exists(detail => !detail.isLocked);\n    const allUnlocked = (warehouse, cells) => forall(cells, cell => isUnlockedTableCell(warehouse, cell));\n    const onUnlockedMergable = (warehouse, target) => onMergable(warehouse, target).filter(mergeable => allUnlocked(warehouse, mergeable.cells));\n    const onUnlockedUnmergable = (warehouse, target) => onUnmergable(warehouse, target).filter(cells => allUnlocked(warehouse, cells));\n\n    const merge$2 = (grid, bounds, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      if (rows.length === 0) {\n        return grid;\n      }\n      for (let i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (let j = bounds.startCol; j <= bounds.finishCol; j++) {\n          const row = rows[i];\n          const isLocked = getCell(row, j).isLocked;\n          mutateCell(row, j, elementnew(substitution(), false, isLocked));\n        }\n      }\n      return grid;\n    };\n    const unmerge = (grid, target, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      let first = true;\n      for (let i = 0; i < rows.length; i++) {\n        for (let j = 0; j < cellLength(rows[0]); j++) {\n          const row = rows[i];\n          const currentCell = getCell(row, j);\n          const currentCellElm = currentCell.element;\n          const isToReplace = comparator(currentCellElm, target);\n          if (isToReplace && !first) {\n            mutateCell(row, j, elementnew(substitution(), true, currentCell.isLocked));\n          } else if (isToReplace) {\n            first = false;\n          }\n        }\n      }\n      return grid;\n    };\n    const uniqueCells = (row, comparator) => {\n      return foldl(row, (rest, cell) => {\n        return exists(rest, currentCell => {\n          return comparator(currentCell.element, cell.element);\n        }) ? rest : rest.concat([cell]);\n      }, []);\n    };\n    const splitCols = (grid, index, comparator, substitution) => {\n      if (index > 0 && index < grid[0].cells.length) {\n        each$2(grid, row => {\n          const prevCell = row.cells[index - 1];\n          let offset = 0;\n          const substitute = substitution();\n          while (row.cells.length > index + offset && comparator(prevCell.element, row.cells[index + offset].element)) {\n            mutateCell(row, index + offset, elementnew(substitute, true, row.cells[index + offset].isLocked));\n            offset++;\n          }\n        });\n      }\n      return grid;\n    };\n    const splitRows = (grid, index, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      if (index > 0 && index < rows.length) {\n        const rowPrevCells = rows[index - 1].cells;\n        const cells = uniqueCells(rowPrevCells, comparator);\n        each$2(cells, cell => {\n          let replacement = Optional.none();\n          for (let i = index; i < rows.length; i++) {\n            for (let j = 0; j < cellLength(rows[0]); j++) {\n              const row = rows[i];\n              const current = getCell(row, j);\n              const isToReplace = comparator(current.element, cell.element);\n              if (isToReplace) {\n                if (replacement.isNone()) {\n                  replacement = Optional.some(substitution());\n                }\n                replacement.each(sub => {\n                  mutateCell(row, j, elementnew(sub, true, current.isLocked));\n                });\n              }\n            }\n          }\n        });\n      }\n      return grid;\n    };\n\n    const value$1 = value => {\n      const applyHelper = fn => fn(value);\n      const constHelper = constant(value);\n      const outputHelper = () => output;\n      const output = {\n        tag: true,\n        inner: value,\n        fold: (_onError, onValue) => onValue(value),\n        isValue: always,\n        isError: never,\n        map: mapper => Result.value(mapper(value)),\n        mapError: outputHelper,\n        bind: applyHelper,\n        exists: applyHelper,\n        forall: applyHelper,\n        getOr: constHelper,\n        or: outputHelper,\n        getOrThunk: constHelper,\n        orThunk: outputHelper,\n        getOrDie: constHelper,\n        each: fn => {\n          fn(value);\n        },\n        toOptional: () => Optional.some(value)\n      };\n      return output;\n    };\n    const error = error => {\n      const outputHelper = () => output;\n      const output = {\n        tag: false,\n        inner: error,\n        fold: (onError, _onValue) => onError(error),\n        isValue: never,\n        isError: always,\n        map: outputHelper,\n        mapError: mapper => Result.error(mapper(error)),\n        bind: outputHelper,\n        exists: never,\n        forall: always,\n        getOr: identity,\n        or: identity,\n        getOrThunk: apply,\n        orThunk: apply,\n        getOrDie: die(String(error)),\n        each: noop,\n        toOptional: Optional.none\n      };\n      return output;\n    };\n    const fromOption = (optional, err) => optional.fold(() => error(err), value$1);\n    const Result = {\n      value: value$1,\n      error,\n      fromOption\n    };\n\n    const measure = (startAddress, gridA, gridB) => {\n      if (startAddress.row >= gridA.length || startAddress.column > cellLength(gridA[0])) {\n        return Result.error('invalid start address out of table bounds, row: ' + startAddress.row + ', column: ' + startAddress.column);\n      }\n      const rowRemainder = gridA.slice(startAddress.row);\n      const colRemainder = rowRemainder[0].cells.slice(startAddress.column);\n      const colRequired = cellLength(gridB[0]);\n      const rowRequired = gridB.length;\n      return Result.value({\n        rowDelta: rowRemainder.length - rowRequired,\n        colDelta: colRemainder.length - colRequired\n      });\n    };\n    const measureWidth = (gridA, gridB) => {\n      const colLengthA = cellLength(gridA[0]);\n      const colLengthB = cellLength(gridB[0]);\n      return {\n        rowDelta: 0,\n        colDelta: colLengthA - colLengthB\n      };\n    };\n    const measureHeight = (gridA, gridB) => {\n      const rowLengthA = gridA.length;\n      const rowLengthB = gridB.length;\n      return {\n        rowDelta: rowLengthA - rowLengthB,\n        colDelta: 0\n      };\n    };\n    const generateElements = (amount, row, generators, isLocked) => {\n      const generator = row.section === 'colgroup' ? generators.col : generators.cell;\n      return range$1(amount, idx => elementnew(generator(), true, isLocked(idx)));\n    };\n    const rowFill = (grid, amount, generators, lockedColumns) => {\n      const exampleRow = grid[grid.length - 1];\n      return grid.concat(range$1(amount, () => {\n        const generator = exampleRow.section === 'colgroup' ? generators.colgroup : generators.row;\n        const row = clone(exampleRow, generator, identity);\n        const elements = generateElements(row.cells.length, row, generators, idx => has$1(lockedColumns, idx.toString()));\n        return setCells(row, elements);\n      }));\n    };\n    const colFill = (grid, amount, generators, startIndex) => map$1(grid, row => {\n      const newChildren = generateElements(amount, row, generators, never);\n      return addCells(row, startIndex, newChildren);\n    });\n    const lockedColFill = (grid, generators, lockedColumns) => map$1(grid, row => {\n      return foldl(lockedColumns, (acc, colNum) => {\n        const newChild = generateElements(1, row, generators, always)[0];\n        return addCell(acc, colNum, newChild);\n      }, row);\n    });\n    const tailor = (gridA, delta, generators) => {\n      const fillCols = delta.colDelta < 0 ? colFill : identity;\n      const fillRows = delta.rowDelta < 0 ? rowFill : identity;\n      const lockedColumns = getLockedColumnsFromGrid(gridA);\n      const gridWidth = cellLength(gridA[0]);\n      const isLastColLocked = exists(lockedColumns, locked => locked === gridWidth - 1);\n      const modifiedCols = fillCols(gridA, Math.abs(delta.colDelta), generators, isLastColLocked ? gridWidth - 1 : gridWidth);\n      const newLockedColumns = getLockedColumnsFromGrid(modifiedCols);\n      return fillRows(modifiedCols, Math.abs(delta.rowDelta), generators, mapToObject(newLockedColumns, always));\n    };\n\n    const isSpanning = (grid, row, col, comparator) => {\n      const candidate = getCell(grid[row], col);\n      const matching = curry(comparator, candidate.element);\n      const currentRow = grid[row];\n      return grid.length > 1 && cellLength(currentRow) > 1 && (col > 0 && matching(getCellElement(currentRow, col - 1)) || col < currentRow.cells.length - 1 && matching(getCellElement(currentRow, col + 1)) || row > 0 && matching(getCellElement(grid[row - 1], col)) || row < grid.length - 1 && matching(getCellElement(grid[row + 1], col)));\n    };\n    const mergeTables = (startAddress, gridA, gridBRows, generator, comparator, lockedColumns) => {\n      const startRow = startAddress.row;\n      const startCol = startAddress.column;\n      const mergeHeight = gridBRows.length;\n      const mergeWidth = cellLength(gridBRows[0]);\n      const endRow = startRow + mergeHeight;\n      const endCol = startCol + mergeWidth + lockedColumns.length;\n      const lockedColumnObj = mapToObject(lockedColumns, always);\n      for (let r = startRow; r < endRow; r++) {\n        let skippedCol = 0;\n        for (let c = startCol; c < endCol; c++) {\n          if (lockedColumnObj[c]) {\n            skippedCol++;\n            continue;\n          }\n          if (isSpanning(gridA, r, c, comparator)) {\n            unmerge(gridA, getCellElement(gridA[r], c), comparator, generator.cell);\n          }\n          const gridBColIndex = c - startCol - skippedCol;\n          const newCell = getCell(gridBRows[r - startRow], gridBColIndex);\n          const newCellElm = newCell.element;\n          const replacement = generator.replace(newCellElm);\n          mutateCell(gridA[r], c, elementnew(replacement, true, newCell.isLocked));\n        }\n      }\n      return gridA;\n    };\n    const getValidStartAddress = (currentStartAddress, grid, lockedColumns) => {\n      const gridColLength = cellLength(grid[0]);\n      const adjustedRowAddress = extractGridDetails(grid).cols.length + currentStartAddress.row;\n      const possibleColAddresses = range$1(gridColLength - currentStartAddress.column, num => num + currentStartAddress.column);\n      const validColAddress = find$1(possibleColAddresses, num => forall(lockedColumns, col => col !== num)).getOr(gridColLength - 1);\n      return {\n        row: adjustedRowAddress,\n        column: validColAddress\n      };\n    };\n    const getLockedColumnsWithinBounds = (startAddress, rows, lockedColumns) => filter$2(lockedColumns, colNum => colNum >= startAddress.column && colNum <= cellLength(rows[0]) + startAddress.column);\n    const merge$1 = (startAddress, gridA, gridB, generator, comparator) => {\n      const lockedColumns = getLockedColumnsFromGrid(gridA);\n      const validStartAddress = getValidStartAddress(startAddress, gridA, lockedColumns);\n      const gridBRows = extractGridDetails(gridB).rows;\n      const lockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, lockedColumns);\n      const result = measure(validStartAddress, gridA, gridBRows);\n      return result.map(diff => {\n        const delta = {\n          ...diff,\n          colDelta: diff.colDelta - lockedColumnsWithinBounds.length\n        };\n        const fittedGrid = tailor(gridA, delta, generator);\n        const newLockedColumns = getLockedColumnsFromGrid(fittedGrid);\n        const newLockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, newLockedColumns);\n        return mergeTables(validStartAddress, fittedGrid, gridBRows, generator, comparator, newLockedColumnsWithinBounds);\n      });\n    };\n    const insertCols = (index, gridA, gridB, generator, comparator) => {\n      splitCols(gridA, index, comparator, generator.cell);\n      const delta = measureHeight(gridB, gridA);\n      const fittedNewGrid = tailor(gridB, delta, generator);\n      const secondDelta = measureHeight(gridA, fittedNewGrid);\n      const fittedOldGrid = tailor(gridA, secondDelta, generator);\n      return map$1(fittedOldGrid, (gridRow, i) => {\n        return addCells(gridRow, index, fittedNewGrid[i].cells);\n      });\n    };\n    const insertRows = (index, gridA, gridB, generator, comparator) => {\n      splitRows(gridA, index, comparator, generator.cell);\n      const locked = getLockedColumnsFromGrid(gridA);\n      const diff = measureWidth(gridA, gridB);\n      const delta = {\n        ...diff,\n        colDelta: diff.colDelta - locked.length\n      };\n      const fittedOldGrid = tailor(gridA, delta, generator);\n      const {\n        cols: oldCols,\n        rows: oldRows\n      } = extractGridDetails(fittedOldGrid);\n      const newLocked = getLockedColumnsFromGrid(fittedOldGrid);\n      const secondDiff = measureWidth(gridB, gridA);\n      const secondDelta = {\n        ...secondDiff,\n        colDelta: secondDiff.colDelta + newLocked.length\n      };\n      const fittedGridB = lockedColFill(gridB, generator, newLocked);\n      const fittedNewGrid = tailor(fittedGridB, secondDelta, generator);\n      return [...oldCols, ...oldRows.slice(0, index), ...fittedNewGrid, ...oldRows.slice(index, oldRows.length)];\n    };\n\n    const cloneRow = (row, cloneCell, comparator, substitution) => clone(row, elem => substitution(elem, comparator), cloneCell);\n    const insertRowAt = (grid, index, example, comparator, substitution) => {\n      const {\n        rows,\n        cols\n      } = extractGridDetails(grid);\n      const before = rows.slice(0, index);\n      const after = rows.slice(index);\n      const newRow = cloneRow(rows[example], (ex, c) => {\n        const withinSpan = index > 0 && index < rows.length && comparator(getCellElement(rows[index - 1], c), getCellElement(rows[index], c));\n        const ret = withinSpan ? getCell(rows[index], c) : elementnew(substitution(ex.element, comparator), true, ex.isLocked);\n        return ret;\n      }, comparator, substitution);\n      return [...cols, ...before, newRow, ...after];\n    };\n    const getElementFor = (row, column, section, withinSpan, example, comparator, substitution) => {\n      if (section === 'colgroup' || !withinSpan) {\n        const cell = getCell(row, example);\n        return elementnew(substitution(cell.element, comparator), true, false);\n      } else {\n        return getCell(row, column);\n      }\n    };\n    const insertColumnAt = (grid, index, example, comparator, substitution) => map$1(grid, row => {\n      const withinSpan = index > 0 && index < cellLength(row) && comparator(getCellElement(row, index - 1), getCellElement(row, index));\n      const sub = getElementFor(row, index, row.section, withinSpan, example, comparator, substitution);\n      return addCell(row, index, sub);\n    });\n    const deleteColumnsAt = (grid, columns) => bind$2(grid, row => {\n      const existingCells = row.cells;\n      const cells = foldr(columns, (acc, column) => column >= 0 && column < acc.length ? acc.slice(0, column).concat(acc.slice(column + 1)) : acc, existingCells);\n      return cells.length > 0 ? [rowcells(row.element, cells, row.section, row.isNew)] : [];\n    });\n    const deleteRowsAt = (grid, start, finish) => {\n      const {\n        rows,\n        cols\n      } = extractGridDetails(grid);\n      return [...cols, ...rows.slice(0, start), ...rows.slice(finish + 1)];\n    };\n\n    const notInStartRow = (grid, rowIndex, colIndex, comparator) => getCellElement(grid[rowIndex], colIndex) !== undefined && rowIndex > 0 && comparator(getCellElement(grid[rowIndex - 1], colIndex), getCellElement(grid[rowIndex], colIndex));\n    const notInStartColumn = (row, index, comparator) => index > 0 && comparator(getCellElement(row, index - 1), getCellElement(row, index));\n    const isDuplicatedCell = (grid, rowIndex, colIndex, comparator) => notInStartRow(grid, rowIndex, colIndex, comparator) || notInStartColumn(grid[rowIndex], colIndex, comparator);\n    const rowReplacerPredicate = (targetRow, columnHeaders) => {\n      const entireTableIsHeader = forall(columnHeaders, identity) && isHeaderCells(targetRow.cells);\n      return entireTableIsHeader ? always : (cell, _rowIndex, colIndex) => {\n        const type = name(cell.element);\n        return !(type === 'th' && columnHeaders[colIndex]);\n      };\n    };\n    const columnReplacePredicate = (targetColumn, rowHeaders) => {\n      const entireTableIsHeader = forall(rowHeaders, identity) && isHeaderCells(targetColumn);\n      return entireTableIsHeader ? always : (cell, rowIndex, _colIndex) => {\n        const type = name(cell.element);\n        return !(type === 'th' && rowHeaders[rowIndex]);\n      };\n    };\n    const determineScope = (applyScope, cell, newScope, isInHeader) => {\n      const hasSpan = scope => scope === 'row' ? hasRowspan(cell) : hasColspan(cell);\n      const getScope = scope => hasSpan(scope) ? \"\".concat(scope, \"group\") : scope;\n      if (applyScope) {\n        return isHeaderCell(cell) ? getScope(newScope) : null;\n      } else if (isInHeader && isHeaderCell(cell)) {\n        const oppositeScope = newScope === 'row' ? 'col' : 'row';\n        return getScope(oppositeScope);\n      } else {\n        return null;\n      }\n    };\n    const rowScopeGenerator = (applyScope, columnHeaders) => (cell, rowIndex, columnIndex) => Optional.some(determineScope(applyScope, cell.element, 'col', columnHeaders[columnIndex]));\n    const columnScopeGenerator = (applyScope, rowHeaders) => (cell, rowIndex) => Optional.some(determineScope(applyScope, cell.element, 'row', rowHeaders[rowIndex]));\n    const replace = (cell, comparator, substitute) => elementnew(substitute(cell.element, comparator), true, cell.isLocked);\n    const replaceIn = (grid, targets, comparator, substitute, replacer, genScope, shouldReplace) => {\n      const isTarget = cell => {\n        return exists(targets, target => {\n          return comparator(cell.element, target.element);\n        });\n      };\n      return map$1(grid, (row, rowIndex) => {\n        return mapCells(row, (cell, colIndex) => {\n          if (isTarget(cell)) {\n            const newCell = shouldReplace(cell, rowIndex, colIndex) ? replacer(cell, comparator, substitute) : cell;\n            genScope(newCell, rowIndex, colIndex).each(scope => {\n              setOptions(newCell.element, {\n                scope: Optional.from(scope)\n              });\n            });\n            return newCell;\n          } else {\n            return cell;\n          }\n        });\n      });\n    };\n    const getColumnCells = (rows, columnIndex, comparator) => bind$2(rows, (row, i) => {\n      return isDuplicatedCell(rows, i, columnIndex, comparator) ? [] : [getCell(row, columnIndex)];\n    });\n    const getRowCells = (rows, rowIndex, comparator) => {\n      const targetRow = rows[rowIndex];\n      return bind$2(targetRow.cells, (item, i) => {\n        return isDuplicatedCell(rows, rowIndex, i, comparator) ? [] : [item];\n      });\n    };\n    const replaceColumns = (grid, indexes, applyScope, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      const targets = bind$2(indexes, index => getColumnCells(rows, index, comparator));\n      const rowHeaders = map$1(rows, row => isHeaderCells(row.cells));\n      const shouldReplaceCell = columnReplacePredicate(targets, rowHeaders);\n      const scopeGenerator = columnScopeGenerator(applyScope, rowHeaders);\n      return replaceIn(grid, targets, comparator, substitution, replace, scopeGenerator, shouldReplaceCell);\n    };\n    const replaceRows = (grid, indexes, section, applyScope, comparator, substitution, tableSection) => {\n      const {\n        cols,\n        rows\n      } = extractGridDetails(grid);\n      const targetRow = rows[indexes[0]];\n      const targets = bind$2(indexes, index => getRowCells(rows, index, comparator));\n      const columnHeaders = map$1(targetRow.cells, (_cell, index) => isHeaderCells(getColumnCells(rows, index, comparator)));\n      const newRows = [...rows];\n      each$2(indexes, index => {\n        newRows[index] = tableSection.transformRow(rows[index], section);\n      });\n      const newGrid = [...cols, ...newRows];\n      const shouldReplaceCell = rowReplacerPredicate(targetRow, columnHeaders);\n      const scopeGenerator = rowScopeGenerator(applyScope, columnHeaders);\n      return replaceIn(newGrid, targets, comparator, substitution, tableSection.transformCell, scopeGenerator, shouldReplaceCell);\n    };\n    const replaceCells = (grid, details, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      const targetCells = map$1(details, detail => getCell(rows[detail.row], detail.column));\n      return replaceIn(grid, targetCells, comparator, substitution, replace, Optional.none, always);\n    };\n\n    const generate = cases => {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each$2(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains$2(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate\n    };\n\n    const adt$6 = Adt.generate([{\n      none: []\n    }, {\n      only: ['index']\n    }, {\n      left: ['index', 'next']\n    }, {\n      middle: ['prev', 'index', 'next']\n    }, {\n      right: ['prev', 'index']\n    }]);\n    const ColumnContext = {\n      ...adt$6\n    };\n\n    const neighbours = (input, index) => {\n      if (input.length === 0) {\n        return ColumnContext.none();\n      }\n      if (input.length === 1) {\n        return ColumnContext.only(0);\n      }\n      if (index === 0) {\n        return ColumnContext.left(0, 1);\n      }\n      if (index === input.length - 1) {\n        return ColumnContext.right(index - 1, index);\n      }\n      if (index > 0 && index < input.length - 1) {\n        return ColumnContext.middle(index - 1, index, index + 1);\n      }\n      return ColumnContext.none();\n    };\n    const determine = (input, column, step, tableSize, resize) => {\n      const result = input.slice(0);\n      const context = neighbours(input, column);\n      const onNone = constant(map$1(result, constant(0)));\n      const onOnly = index => tableSize.singleColumnWidth(result[index], step);\n      const onLeft = (index, next) => resize.calcLeftEdgeDeltas(result, index, next, step, tableSize.minCellWidth(), tableSize.isRelative);\n      const onMiddle = (prev, index, next) => resize.calcMiddleDeltas(result, prev, index, next, step, tableSize.minCellWidth(), tableSize.isRelative);\n      const onRight = (prev, index) => resize.calcRightEdgeDeltas(result, prev, index, step, tableSize.minCellWidth(), tableSize.isRelative);\n      return context.fold(onNone, onOnly, onLeft, onMiddle, onRight);\n    };\n\n    const total = (start, end, measures) => {\n      let r = 0;\n      for (let i = start; i < end; i++) {\n        r += measures[i] !== undefined ? measures[i] : 0;\n      }\n      return r;\n    };\n    const recalculateWidthForCells = (warehouse, widths) => {\n      const all = Warehouse.justCells(warehouse);\n      return map$1(all, cell => {\n        const width = total(cell.column, cell.column + cell.colspan, widths);\n        return {\n          element: cell.element,\n          width,\n          colspan: cell.colspan\n        };\n      });\n    };\n    const recalculateWidthForColumns = (warehouse, widths) => {\n      const groups = Warehouse.justColumns(warehouse);\n      return map$1(groups, (column, index) => ({\n        element: column.element,\n        width: widths[index],\n        colspan: column.colspan\n      }));\n    };\n    const recalculateHeightForCells = (warehouse, heights) => {\n      const all = Warehouse.justCells(warehouse);\n      return map$1(all, cell => {\n        const height = total(cell.row, cell.row + cell.rowspan, heights);\n        return {\n          element: cell.element,\n          height,\n          rowspan: cell.rowspan\n        };\n      });\n    };\n    const matchRowHeight = (warehouse, heights) => {\n      return map$1(warehouse.all, (row, i) => {\n        return {\n          element: row.element,\n          height: heights[i]\n        };\n      });\n    };\n\n    const sumUp = newSize => foldr(newSize, (b, a) => b + a, 0);\n    const recalculate = (warehouse, widths) => {\n      if (Warehouse.hasColumns(warehouse)) {\n        return recalculateWidthForColumns(warehouse, widths);\n      } else {\n        return recalculateWidthForCells(warehouse, widths);\n      }\n    };\n    const recalculateAndApply = (warehouse, widths, tableSize) => {\n      const newSizes = recalculate(warehouse, widths);\n      each$2(newSizes, cell => {\n        tableSize.setElementWidth(cell.element, cell.width);\n      });\n    };\n    const adjustWidth = (table, delta, index, resizing, tableSize) => {\n      const warehouse = Warehouse.fromTable(table);\n      const step = tableSize.getCellDelta(delta);\n      const widths = tableSize.getWidths(warehouse, tableSize);\n      const isLastColumn = index === warehouse.grid.columns - 1;\n      const clampedStep = resizing.clampTableDelta(widths, index, step, tableSize.minCellWidth(), isLastColumn);\n      const deltas = determine(widths, index, clampedStep, tableSize, resizing);\n      const newWidths = map$1(deltas, (dx, i) => dx + widths[i]);\n      recalculateAndApply(warehouse, newWidths, tableSize);\n      resizing.resizeTable(tableSize.adjustTableWidth, clampedStep, isLastColumn);\n    };\n    const adjustHeight = (table, delta, index, direction) => {\n      const warehouse = Warehouse.fromTable(table);\n      const heights = getPixelHeights(warehouse, table, direction);\n      const newHeights = map$1(heights, (dy, i) => index === i ? Math.max(delta + dy, minHeight()) : dy);\n      const newCellSizes = recalculateHeightForCells(warehouse, newHeights);\n      const newRowSizes = matchRowHeight(warehouse, newHeights);\n      each$2(newRowSizes, row => {\n        setHeight(row.element, row.height);\n      });\n      each$2(newCellSizes, cell => {\n        setHeight(cell.element, cell.height);\n      });\n      const total = sumUp(newHeights);\n      setHeight(table, total);\n    };\n    const adjustAndRedistributeWidths$1 = (_table, list, details, tableSize, resizeBehaviour) => {\n      const warehouse = Warehouse.generate(list);\n      const sizes = tableSize.getWidths(warehouse, tableSize);\n      const tablePixelWidth = tableSize.pixelWidth();\n      const {\n        newSizes,\n        delta\n      } = resizeBehaviour.calcRedestributedWidths(sizes, tablePixelWidth, details.pixelDelta, tableSize.isRelative);\n      recalculateAndApply(warehouse, newSizes, tableSize);\n      tableSize.adjustTableWidth(delta);\n    };\n    const adjustWidthTo = (_table, list, _info, tableSize) => {\n      const warehouse = Warehouse.generate(list);\n      const widths = tableSize.getWidths(warehouse, tableSize);\n      recalculateAndApply(warehouse, widths, tableSize);\n    };\n\n    const uniqueColumns = details => {\n      const uniqueCheck = (rest, detail) => {\n        const columnExists = exists(rest, currentDetail => currentDetail.column === detail.column);\n        return columnExists ? rest : rest.concat([detail]);\n      };\n      return foldl(details, uniqueCheck, []).sort((detailA, detailB) => detailA.column - detailB.column);\n    };\n\n    const isCol = isTag('col');\n    const isColgroup = isTag('colgroup');\n    const isRow$1 = element => name(element) === 'tr' || isColgroup(element);\n    const elementToData = element => {\n      const colspan = getAttrValue(element, 'colspan', 1);\n      const rowspan = getAttrValue(element, 'rowspan', 1);\n      return {\n        element,\n        colspan,\n        rowspan\n      };\n    };\n    const modification = (generators, toData = elementToData) => {\n      const nuCell = data => isCol(data.element) ? generators.col(data) : generators.cell(data);\n      const nuRow = data => isColgroup(data.element) ? generators.colgroup(data) : generators.row(data);\n      const add = element => {\n        if (isRow$1(element)) {\n          return nuRow({\n            element\n          });\n        } else {\n          const cell = element;\n          const replacement = nuCell(toData(cell));\n          recent = Optional.some({\n            item: cell,\n            replacement\n          });\n          return replacement;\n        }\n      };\n      let recent = Optional.none();\n      const getOrInit = (element, comparator) => {\n        return recent.fold(() => {\n          return add(element);\n        }, p => {\n          return comparator(element, p.item) ? p.replacement : add(element);\n        });\n      };\n      return {\n        getOrInit\n      };\n    };\n    const transform$1 = tag => {\n      return generators => {\n        const list = [];\n        const find = (element, comparator) => {\n          return find$1(list, x => {\n            return comparator(x.item, element);\n          });\n        };\n        const makeNew = element => {\n          const attrs = tag === 'td' ? {\n            scope: null\n          } : {};\n          const cell = generators.replace(element, tag, attrs);\n          list.push({\n            item: element,\n            sub: cell\n          });\n          return cell;\n        };\n        const replaceOrInit = (element, comparator) => {\n          if (isRow$1(element) || isCol(element)) {\n            return element;\n          } else {\n            const cell = element;\n            return find(cell, comparator).fold(() => {\n              return makeNew(cell);\n            }, p => {\n              return comparator(element, p.item) ? p.sub : makeNew(cell);\n            });\n          }\n        };\n        return {\n          replaceOrInit\n        };\n      };\n    };\n    const getScopeAttribute = cell => getOpt(cell, 'scope').map(attribute => attribute.substr(0, 3));\n    const merging = generators => {\n      const unmerge = cell => {\n        const scope = getScopeAttribute(cell);\n        scope.each(attribute => set$2(cell, 'scope', attribute));\n        return () => {\n          const raw = generators.cell({\n            element: cell,\n            colspan: 1,\n            rowspan: 1\n          });\n          remove$5(raw, 'width');\n          remove$5(cell, 'width');\n          scope.each(attribute => set$2(raw, 'scope', attribute));\n          return raw;\n        };\n      };\n      const merge = cells => {\n        const getScopeProperty = () => {\n          const stringAttributes = cat(map$1(cells, getScopeAttribute));\n          if (stringAttributes.length === 0) {\n            return Optional.none();\n          } else {\n            const baseScope = stringAttributes[0];\n            const scopes = ['row', 'col'];\n            const isMixed = exists(stringAttributes, attribute => {\n              return attribute !== baseScope && contains$2(scopes, attribute);\n            });\n            return isMixed ? Optional.none() : Optional.from(baseScope);\n          }\n        };\n        remove$5(cells[0], 'width');\n        getScopeProperty().fold(() => remove$7(cells[0], 'scope'), attribute => set$2(cells[0], 'scope', attribute + 'group'));\n        return constant(cells[0]);\n      };\n      return {\n        unmerge,\n        merge\n      };\n    };\n    const Generators = {\n      modification,\n      transform: transform$1,\n      merging\n    };\n\n    const blockList = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'table', 'thead', 'tfoot', 'tbody', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n    const isList$1 = (universe, item) => {\n      const tagName = universe.property().name(item);\n      return contains$2(['ol', 'ul'], tagName);\n    };\n    const isBlock$1 = (universe, item) => {\n      const tagName = universe.property().name(item);\n      return contains$2(blockList, tagName);\n    };\n    const isEmptyTag$1 = (universe, item) => {\n      return contains$2(['br', 'img', 'hr', 'input'], universe.property().name(item));\n    };\n\n    const universe$1 = DomUniverse();\n    const isBlock = element => {\n      return isBlock$1(universe$1, element);\n    };\n    const isList = element => {\n      return isList$1(universe$1, element);\n    };\n    const isEmptyTag = element => {\n      return isEmptyTag$1(universe$1, element);\n    };\n\n    const merge = cells => {\n      const isBr = isTag('br');\n      const advancedBr = children => {\n        return forall(children, c => {\n          return isBr(c) || isText(c) && get$6(c).trim().length === 0;\n        });\n      };\n      const isListItem = el => {\n        return name(el) === 'li' || ancestor$2(el, isList).isSome();\n      };\n      const siblingIsBlock = el => {\n        return nextSibling(el).map(rightSibling => {\n          if (isBlock(rightSibling)) {\n            return true;\n          }\n          if (isEmptyTag(rightSibling)) {\n            return name(rightSibling) === 'img' ? false : true;\n          }\n          return false;\n        }).getOr(false);\n      };\n      const markCell = cell => {\n        return last$1(cell).bind(rightEdge => {\n          const rightSiblingIsBlock = siblingIsBlock(rightEdge);\n          return parent(rightEdge).map(parent => {\n            return rightSiblingIsBlock === true || isListItem(parent) || isBr(rightEdge) || isBlock(parent) && !eq$1(cell, parent) ? [] : [SugarElement.fromTag('br')];\n          });\n        }).getOr([]);\n      };\n      const markContent = () => {\n        const content = bind$2(cells, cell => {\n          const children = children$2(cell);\n          return advancedBr(children) ? [] : children.concat(markCell(cell));\n        });\n        return content.length === 0 ? [SugarElement.fromTag('br')] : content;\n      };\n      const contents = markContent();\n      empty(cells[0]);\n      append(cells[0], contents);\n    };\n\n    const isEditable = elem => isEditable$1(elem, true);\n    const prune = table => {\n      const cells = cells$1(table);\n      if (cells.length === 0) {\n        remove$6(table);\n      }\n    };\n    const outcome = (grid, cursor) => ({\n      grid,\n      cursor\n    });\n    const findEditableCursorPosition = rows => findMap(rows, row => findMap(row.cells, cell => {\n      const elem = cell.element;\n      return someIf(isEditable(elem), elem);\n    }));\n    const elementFromGrid = (grid, row, column) => {\n      var _a, _b;\n      const rows = extractGridDetails(grid).rows;\n      return Optional.from((_b = (_a = rows[row]) === null || _a === void 0 ? void 0 : _a.cells[column]) === null || _b === void 0 ? void 0 : _b.element).filter(isEditable).orThunk(() => findEditableCursorPosition(rows));\n    };\n    const bundle = (grid, row, column) => {\n      const cursorElement = elementFromGrid(grid, row, column);\n      return outcome(grid, cursorElement);\n    };\n    const uniqueRows = details => {\n      const rowCompilation = (rest, detail) => {\n        const rowExists = exists(rest, currentDetail => currentDetail.row === detail.row);\n        return rowExists ? rest : rest.concat([detail]);\n      };\n      return foldl(details, rowCompilation, []).sort((detailA, detailB) => detailA.row - detailB.row);\n    };\n    const opInsertRowsBefore = (grid, details, comparator, genWrappers) => {\n      const targetIndex = details[0].row;\n      const rows = uniqueRows(details);\n      const newGrid = foldr(rows, (acc, row) => {\n        const newG = insertRowAt(acc.grid, targetIndex, row.row + acc.delta, comparator, genWrappers.getOrInit);\n        return {\n          grid: newG,\n          delta: acc.delta + 1\n        };\n      }, {\n        grid,\n        delta: 0\n      }).grid;\n      return bundle(newGrid, targetIndex, details[0].column);\n    };\n    const opInsertRowsAfter = (grid, details, comparator, genWrappers) => {\n      const rows = uniqueRows(details);\n      const target = rows[rows.length - 1];\n      const targetIndex = target.row + target.rowspan;\n      const newGrid = foldr(rows, (newG, row) => {\n        return insertRowAt(newG, targetIndex, row.row, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, targetIndex, details[0].column);\n    };\n    const opInsertColumnsBefore = (grid, extractDetail, comparator, genWrappers) => {\n      const details = extractDetail.details;\n      const columns = uniqueColumns(details);\n      const targetIndex = columns[0].column;\n      const newGrid = foldr(columns, (acc, col) => {\n        const newG = insertColumnAt(acc.grid, targetIndex, col.column + acc.delta, comparator, genWrappers.getOrInit);\n        return {\n          grid: newG,\n          delta: acc.delta + 1\n        };\n      }, {\n        grid,\n        delta: 0\n      }).grid;\n      return bundle(newGrid, details[0].row, targetIndex);\n    };\n    const opInsertColumnsAfter = (grid, extractDetail, comparator, genWrappers) => {\n      const details = extractDetail.details;\n      const target = details[details.length - 1];\n      const targetIndex = target.column + target.colspan;\n      const columns = uniqueColumns(details);\n      const newGrid = foldr(columns, (newG, col) => {\n        return insertColumnAt(newG, targetIndex, col.column, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, details[0].row, targetIndex);\n    };\n    const opMakeColumnsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const columns = uniqueColumns(details);\n      const columnIndexes = map$1(columns, detail => detail.column);\n      const newGrid = replaceColumns(initialGrid, columnIndexes, true, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opMakeCellsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const newGrid = replaceCells(initialGrid, details, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opUnmakeColumnsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const columns = uniqueColumns(details);\n      const columnIndexes = map$1(columns, detail => detail.column);\n      const newGrid = replaceColumns(initialGrid, columnIndexes, false, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opUnmakeCellsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const newGrid = replaceCells(initialGrid, details, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const makeRowsSection = (section, applyScope) => (initialGrid, details, comparator, genWrappers, tableSection) => {\n      const rows = uniqueRows(details);\n      const rowIndexes = map$1(rows, detail => detail.row);\n      const newGrid = replaceRows(initialGrid, rowIndexes, section, applyScope, comparator, genWrappers.replaceOrInit, tableSection);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opMakeRowsHeader = makeRowsSection('thead', true);\n    const opMakeRowsBody = makeRowsSection('tbody', false);\n    const opMakeRowsFooter = makeRowsSection('tfoot', false);\n    const opEraseColumns = (grid, extractDetail, _comparator, _genWrappers) => {\n      const columns = uniqueColumns(extractDetail.details);\n      const newGrid = deleteColumnsAt(grid, map$1(columns, column => column.column));\n      const maxColIndex = newGrid.length > 0 ? newGrid[0].cells.length - 1 : 0;\n      return bundle(newGrid, columns[0].row, Math.min(columns[0].column, maxColIndex));\n    };\n    const opEraseRows = (grid, details, _comparator, _genWrappers) => {\n      const rows = uniqueRows(details);\n      const newGrid = deleteRowsAt(grid, rows[0].row, rows[rows.length - 1].row);\n      const maxRowIndex = newGrid.length > 0 ? newGrid.length - 1 : 0;\n      return bundle(newGrid, Math.min(details[0].row, maxRowIndex), details[0].column);\n    };\n    const opMergeCells = (grid, mergable, comparator, genWrappers) => {\n      const cells = mergable.cells;\n      merge(cells);\n      const newGrid = merge$2(grid, mergable.bounds, comparator, genWrappers.merge(cells));\n      return outcome(newGrid, Optional.from(cells[0]));\n    };\n    const opUnmergeCells = (grid, unmergable, comparator, genWrappers) => {\n      const unmerge$1 = (b, cell) => unmerge(b, cell, comparator, genWrappers.unmerge(cell));\n      const newGrid = foldr(unmergable, unmerge$1, grid);\n      return outcome(newGrid, Optional.from(unmergable[0]));\n    };\n    const opPasteCells = (grid, pasteDetails, comparator, _genWrappers) => {\n      const gridify = (table, generators) => {\n        const wh = Warehouse.fromTable(table);\n        return toGrid(wh, generators, true);\n      };\n      const gridB = gridify(pasteDetails.clipboard, pasteDetails.generators);\n      const startAddress = address(pasteDetails.row, pasteDetails.column);\n      const mergedGrid = merge$1(startAddress, grid, gridB, pasteDetails.generators, comparator);\n      return mergedGrid.fold(() => outcome(grid, Optional.some(pasteDetails.element)), newGrid => {\n        return bundle(newGrid, pasteDetails.row, pasteDetails.column);\n      });\n    };\n    const gridifyRows = (rows, generators, context) => {\n      const pasteDetails = fromPastedRows(rows, context.section);\n      const wh = Warehouse.generate(pasteDetails);\n      return toGrid(wh, generators, true);\n    };\n    const opPasteColsBefore = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[0].column;\n      const context = rows[pasteDetails.cells[0].row];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opPasteColsAfter = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[pasteDetails.cells.length - 1].column + pasteDetails.cells[pasteDetails.cells.length - 1].colspan;\n      const context = rows[pasteDetails.cells[0].row];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opPasteRowsBefore = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[0].row;\n      const context = rows[index];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opPasteRowsAfter = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[pasteDetails.cells.length - 1].row + pasteDetails.cells[pasteDetails.cells.length - 1].rowspan;\n      const context = rows[pasteDetails.cells[0].row];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opGetColumnsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minColRange = selectedCells[0].column;\n        const maxColRange = lastSelectedCell.column + lastSelectedCell.colspan;\n        const selectedColumnCells = flatten(map$1(house.all, row => filter$2(row.cells, cell => cell.column >= minColRange && cell.column < maxColRange)));\n        return findCommonCellType(selectedColumnCells);\n      }).getOr('');\n    };\n    const opGetCellsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(findCommonCellType).getOr('');\n    };\n    const opGetRowsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minRowRange = selectedCells[0].row;\n        const maxRowRange = lastSelectedCell.row + lastSelectedCell.rowspan;\n        const selectedRows = house.all.slice(minRowRange, maxRowRange);\n        return findCommonRowType(selectedRows);\n      }).getOr('');\n    };\n    const resize = (table, list, details, behaviours) => adjustWidthTo(table, list, details, behaviours.sizing);\n    const adjustAndRedistributeWidths = (table, list, details, behaviours) => adjustAndRedistributeWidths$1(table, list, details, behaviours.sizing, behaviours.resize);\n    const firstColumnIsLocked = (_warehouse, details) => exists(details, detail => detail.column === 0 && detail.isLocked);\n    const lastColumnIsLocked = (warehouse, details) => exists(details, detail => detail.column + detail.colspan >= warehouse.grid.columns && detail.isLocked);\n    const getColumnsWidth = (warehouse, details) => {\n      const columns$1 = columns(warehouse);\n      const uniqueCols = uniqueColumns(details);\n      return foldl(uniqueCols, (acc, detail) => {\n        const column = columns$1[detail.column];\n        const colWidth = column.map(getOuter$2).getOr(0);\n        return acc + colWidth;\n      }, 0);\n    };\n    const insertColumnsExtractor = before => (warehouse, target) => onCells(warehouse, target).filter(details => {\n      const checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked;\n      return !checkLocked(warehouse, details);\n    }).map(details => ({\n      details,\n      pixelDelta: getColumnsWidth(warehouse, details)\n    }));\n    const eraseColumnsExtractor = (warehouse, target) => onUnlockedCells(warehouse, target).map(details => ({\n      details,\n      pixelDelta: -getColumnsWidth(warehouse, details)\n    }));\n    const pasteColumnsExtractor = before => (warehouse, target) => onPasteByEditor(warehouse, target).filter(details => {\n      const checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked;\n      return !checkLocked(warehouse, details.cells);\n    });\n    const headerCellGenerator = Generators.transform('th');\n    const bodyCellGenerator = Generators.transform('td');\n    const insertRowsBefore = run(opInsertRowsBefore, onCells, noop, noop, Generators.modification);\n    const insertRowsAfter = run(opInsertRowsAfter, onCells, noop, noop, Generators.modification);\n    const insertColumnsBefore = run(opInsertColumnsBefore, insertColumnsExtractor(true), adjustAndRedistributeWidths, noop, Generators.modification);\n    const insertColumnsAfter = run(opInsertColumnsAfter, insertColumnsExtractor(false), adjustAndRedistributeWidths, noop, Generators.modification);\n    const eraseColumns = run(opEraseColumns, eraseColumnsExtractor, adjustAndRedistributeWidths, prune, Generators.modification);\n    const eraseRows = run(opEraseRows, onCells, noop, prune, Generators.modification);\n    const makeColumnsHeader = run(opMakeColumnsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    const unmakeColumnsHeader = run(opUnmakeColumnsHeader, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const makeRowsHeader = run(opMakeRowsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    const makeRowsBody = run(opMakeRowsBody, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const makeRowsFooter = run(opMakeRowsFooter, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const makeCellsHeader = run(opMakeCellsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    const unmakeCellsHeader = run(opUnmakeCellsHeader, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const mergeCells = run(opMergeCells, onUnlockedMergable, resize, noop, Generators.merging);\n    const unmergeCells = run(opUnmergeCells, onUnlockedUnmergable, resize, noop, Generators.merging);\n    const pasteCells = run(opPasteCells, onPaste, resize, noop, Generators.modification);\n    const pasteColsBefore = run(opPasteColsBefore, pasteColumnsExtractor(true), noop, noop, Generators.modification);\n    const pasteColsAfter = run(opPasteColsAfter, pasteColumnsExtractor(false), noop, noop, Generators.modification);\n    const pasteRowsBefore = run(opPasteRowsBefore, onPasteByEditor, noop, noop, Generators.modification);\n    const pasteRowsAfter = run(opPasteRowsAfter, onPasteByEditor, noop, noop, Generators.modification);\n    const getColumnsType = opGetColumnsType;\n    const getCellsType = opGetCellsType;\n    const getRowsType = opGetRowsType;\n\n    const fireNewRow = (editor, row) => editor.dispatch('NewRow', {\n      node: row\n    });\n    const fireNewCell = (editor, cell) => editor.dispatch('NewCell', {\n      node: cell\n    });\n    const fireTableModified = (editor, table, data) => {\n      editor.dispatch('TableModified', {\n        ...data,\n        table\n      });\n    };\n    const fireTableSelectionChange = (editor, cells, start, finish, otherCells) => {\n      editor.dispatch('TableSelectionChange', {\n        cells,\n        start,\n        finish,\n        otherCells\n      });\n    };\n    const fireTableSelectionClear = editor => {\n      editor.dispatch('TableSelectionClear');\n    };\n    const fireObjectResizeStart = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResizeStart', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const fireObjectResized = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResized', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const styleModified = {\n      structure: false,\n      style: true\n    };\n    const structureModified = {\n      structure: true,\n      style: false\n    };\n    const styleAndStructureModified = {\n      structure: true,\n      style: true\n    };\n\n    const get$5 = (editor, table) => {\n      if (isTablePercentagesForced(editor)) {\n        return TableSize.percentageSize(table);\n      } else if (isTablePixelsForced(editor)) {\n        return TableSize.pixelSize(table);\n      } else {\n        return TableSize.getTableSize(table);\n      }\n    };\n\n    const TableActions = (editor, resizeHandler, cellSelectionHandler) => {\n      const isTableBody = editor => name(getBody(editor)) === 'table';\n      const lastRowGuard = table => !isTableBody(editor) || getGridSize(table).rows > 1;\n      const lastColumnGuard = table => !isTableBody(editor) || getGridSize(table).columns > 1;\n      const cloneFormats = getTableCloneElements(editor);\n      const colMutationOp = isResizeTableColumnResizing(editor) ? noop : halve;\n      const getTableSectionType = table => {\n        switch (getTableHeaderType(editor)) {\n          case 'section':\n            return TableSection.section();\n          case 'sectionCells':\n            return TableSection.sectionCells();\n          case 'cells':\n            return TableSection.cells();\n          default:\n            return TableSection.getTableSectionType(table, 'section');\n        }\n      };\n      const setSelectionFromAction = (table, result) => result.cursor.fold(() => {\n        const cells = cells$1(table);\n        return head(cells).filter(inBody).map(firstCell => {\n          cellSelectionHandler.clearSelectedCells(table.dom);\n          const rng = editor.dom.createRng();\n          rng.selectNode(firstCell.dom);\n          editor.selection.setRng(rng);\n          set$2(firstCell, 'data-mce-selected', '1');\n          return rng;\n        });\n      }, cell => {\n        const des = freefallRtl(cell);\n        const rng = editor.dom.createRng();\n        rng.setStart(des.element.dom, des.offset);\n        rng.setEnd(des.element.dom, des.offset);\n        editor.selection.setRng(rng);\n        cellSelectionHandler.clearSelectedCells(table.dom);\n        return Optional.some(rng);\n      });\n      const execute = (operation, guard, mutate, effect) => (table, target, noEvents = false) => {\n        removeDataStyle(table);\n        const doc = SugarElement.fromDom(editor.getDoc());\n        const generators = cellOperations(mutate, doc, cloneFormats);\n        const behaviours = {\n          sizing: get$5(editor, table),\n          resize: isResizeTableColumnResizing(editor) ? resizeTable() : preserveTable(),\n          section: getTableSectionType(table)\n        };\n        return guard(table) ? operation(table, target, generators, behaviours).bind(result => {\n          resizeHandler.refresh(table.dom);\n          each$2(result.newRows, row => {\n            fireNewRow(editor, row.dom);\n          });\n          each$2(result.newCells, cell => {\n            fireNewCell(editor, cell.dom);\n          });\n          const range = setSelectionFromAction(table, result);\n          if (inBody(table)) {\n            removeDataStyle(table);\n            if (!noEvents) {\n              fireTableModified(editor, table.dom, effect);\n            }\n          }\n          return range.map(rng => ({\n            rng,\n            effect\n          }));\n        }) : Optional.none();\n      };\n      const deleteRow = execute(eraseRows, lastRowGuard, noop, structureModified);\n      const deleteColumn = execute(eraseColumns, lastColumnGuard, noop, structureModified);\n      const insertRowsBefore$1 = execute(insertRowsBefore, always, noop, structureModified);\n      const insertRowsAfter$1 = execute(insertRowsAfter, always, noop, structureModified);\n      const insertColumnsBefore$1 = execute(insertColumnsBefore, always, colMutationOp, structureModified);\n      const insertColumnsAfter$1 = execute(insertColumnsAfter, always, colMutationOp, structureModified);\n      const mergeCells$1 = execute(mergeCells, always, noop, structureModified);\n      const unmergeCells$1 = execute(unmergeCells, always, noop, structureModified);\n      const pasteColsBefore$1 = execute(pasteColsBefore, always, noop, structureModified);\n      const pasteColsAfter$1 = execute(pasteColsAfter, always, noop, structureModified);\n      const pasteRowsBefore$1 = execute(pasteRowsBefore, always, noop, structureModified);\n      const pasteRowsAfter$1 = execute(pasteRowsAfter, always, noop, structureModified);\n      const pasteCells$1 = execute(pasteCells, always, noop, styleAndStructureModified);\n      const makeCellsHeader$1 = execute(makeCellsHeader, always, noop, structureModified);\n      const unmakeCellsHeader$1 = execute(unmakeCellsHeader, always, noop, structureModified);\n      const makeColumnsHeader$1 = execute(makeColumnsHeader, always, noop, structureModified);\n      const unmakeColumnsHeader$1 = execute(unmakeColumnsHeader, always, noop, structureModified);\n      const makeRowsHeader$1 = execute(makeRowsHeader, always, noop, structureModified);\n      const makeRowsBody$1 = execute(makeRowsBody, always, noop, structureModified);\n      const makeRowsFooter$1 = execute(makeRowsFooter, always, noop, structureModified);\n      const getTableCellType = getCellsType;\n      const getTableColType = getColumnsType;\n      const getTableRowType = getRowsType;\n      return {\n        deleteRow,\n        deleteColumn,\n        insertRowsBefore: insertRowsBefore$1,\n        insertRowsAfter: insertRowsAfter$1,\n        insertColumnsBefore: insertColumnsBefore$1,\n        insertColumnsAfter: insertColumnsAfter$1,\n        mergeCells: mergeCells$1,\n        unmergeCells: unmergeCells$1,\n        pasteColsBefore: pasteColsBefore$1,\n        pasteColsAfter: pasteColsAfter$1,\n        pasteRowsBefore: pasteRowsBefore$1,\n        pasteRowsAfter: pasteRowsAfter$1,\n        pasteCells: pasteCells$1,\n        makeCellsHeader: makeCellsHeader$1,\n        unmakeCellsHeader: unmakeCellsHeader$1,\n        makeColumnsHeader: makeColumnsHeader$1,\n        unmakeColumnsHeader: unmakeColumnsHeader$1,\n        makeRowsHeader: makeRowsHeader$1,\n        makeRowsBody: makeRowsBody$1,\n        makeRowsFooter: makeRowsFooter$1,\n        getTableRowType,\n        getTableCellType,\n        getTableColType\n      };\n    };\n\n    const constrainSpan = (element, property, value) => {\n      const currentColspan = getAttrValue(element, property, 1);\n      if (value === 1 || currentColspan <= 1) {\n        remove$7(element, property);\n      } else {\n        set$2(element, property, Math.min(value, currentColspan));\n      }\n    };\n    const isColInRange = (minColRange, maxColRange) => cell => {\n      const endCol = cell.column + cell.colspan - 1;\n      const startCol = cell.column;\n      return endCol >= minColRange && startCol < maxColRange;\n    };\n    const generateColGroup = (house, minColRange, maxColRange) => {\n      if (Warehouse.hasColumns(house)) {\n        const colsToCopy = filter$2(Warehouse.justColumns(house), isColInRange(minColRange, maxColRange));\n        const copiedCols = map$1(colsToCopy, c => {\n          const clonedCol = deep(c.element);\n          constrainSpan(clonedCol, 'span', maxColRange - minColRange);\n          return clonedCol;\n        });\n        const fakeColgroup = SugarElement.fromTag('colgroup');\n        append(fakeColgroup, copiedCols);\n        return [fakeColgroup];\n      } else {\n        return [];\n      }\n    };\n    const generateRows = (house, minColRange, maxColRange) => map$1(house.all, row => {\n      const cellsToCopy = filter$2(row.cells, isColInRange(minColRange, maxColRange));\n      const copiedCells = map$1(cellsToCopy, cell => {\n        const clonedCell = deep(cell.element);\n        constrainSpan(clonedCell, 'colspan', maxColRange - minColRange);\n        return clonedCell;\n      });\n      const fakeTR = SugarElement.fromTag('tr');\n      append(fakeTR, copiedCells);\n      return fakeTR;\n    });\n    const copyCols = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onUnlockedCells(house, target);\n      return details.map(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minColRange = selectedCells[0].column;\n        const maxColRange = lastSelectedCell.column + lastSelectedCell.colspan;\n        const fakeColGroups = generateColGroup(house, minColRange, maxColRange);\n        const fakeRows = generateRows(house, minColRange, maxColRange);\n        return [...fakeColGroups, ...fakeRows];\n      });\n    };\n\n    const copyRows = (table, target, generators) => {\n      const warehouse = Warehouse.fromTable(table);\n      const details = onCells(warehouse, target);\n      return details.bind(selectedCells => {\n        const grid = toGrid(warehouse, generators, false);\n        const rows = extractGridDetails(grid).rows;\n        const slicedGrid = rows.slice(selectedCells[0].row, selectedCells[selectedCells.length - 1].row + selectedCells[selectedCells.length - 1].rowspan);\n        const filteredGrid = bind$2(slicedGrid, row => {\n          const newCells = filter$2(row.cells, cell => !cell.isLocked);\n          return newCells.length > 0 ? [{\n            ...row,\n            cells: newCells\n          }] : [];\n        });\n        const slicedDetails = toDetailList(filteredGrid);\n        return someIf(slicedDetails.length > 0, slicedDetails);\n      }).map(slicedDetails => copy(slicedDetails));\n    };\n\n    const adt$5 = Adt.generate([{\n      invalid: ['raw']\n    }, {\n      pixels: ['value']\n    }, {\n      percent: ['value']\n    }]);\n    const validateFor = (suffix, type, value) => {\n      const rawAmount = value.substring(0, value.length - suffix.length);\n      const amount = parseFloat(rawAmount);\n      return rawAmount === amount.toString() ? type(amount) : adt$5.invalid(value);\n    };\n    const from = value => {\n      if (endsWith(value, '%')) {\n        return validateFor('%', adt$5.percent, value);\n      }\n      if (endsWith(value, 'px')) {\n        return validateFor('px', adt$5.pixels, value);\n      }\n      return adt$5.invalid(value);\n    };\n    const Size = {\n      ...adt$5,\n      from\n    };\n\n    const redistributeToPercent = (widths, totalWidth) => {\n      return map$1(widths, w => {\n        const colType = Size.from(w);\n        return colType.fold(() => {\n          return w;\n        }, px => {\n          const ratio = px / totalWidth * 100;\n          return ratio + '%';\n        }, pc => {\n          return pc + '%';\n        });\n      });\n    };\n    const redistributeToPx = (widths, totalWidth, newTotalWidth) => {\n      const scale = newTotalWidth / totalWidth;\n      return map$1(widths, w => {\n        const colType = Size.from(w);\n        return colType.fold(() => {\n          return w;\n        }, px => {\n          return px * scale + 'px';\n        }, pc => {\n          return pc / 100 * newTotalWidth + 'px';\n        });\n      });\n    };\n    const redistributeEmpty = (newWidthType, columns) => {\n      const f = newWidthType.fold(() => constant(''), pixels => {\n        const num = pixels / columns;\n        return constant(num + 'px');\n      }, () => {\n        const num = 100 / columns;\n        return constant(num + '%');\n      });\n      return range$1(columns, f);\n    };\n    const redistributeValues = (newWidthType, widths, totalWidth) => {\n      return newWidthType.fold(() => {\n        return widths;\n      }, px => {\n        return redistributeToPx(widths, totalWidth, px);\n      }, _pc => {\n        return redistributeToPercent(widths, totalWidth);\n      });\n    };\n    const redistribute$1 = (widths, totalWidth, newWidth) => {\n      const newType = Size.from(newWidth);\n      const floats = forall(widths, s => {\n        return s === '0px';\n      }) ? redistributeEmpty(newType, widths.length) : redistributeValues(newType, widths, totalWidth);\n      return normalize(floats);\n    };\n    const sum = (values, fallback) => {\n      if (values.length === 0) {\n        return fallback;\n      }\n      return foldr(values, (rest, v) => {\n        return Size.from(v).fold(constant(0), identity, identity) + rest;\n      }, 0);\n    };\n    const roundDown = (num, unit) => {\n      const floored = Math.floor(num);\n      return {\n        value: floored + unit,\n        remainder: num - floored\n      };\n    };\n    const add$3 = (value, amount) => {\n      return Size.from(value).fold(constant(value), px => {\n        return px + amount + 'px';\n      }, pc => {\n        return pc + amount + '%';\n      });\n    };\n    const normalize = values => {\n      if (values.length === 0) {\n        return values;\n      }\n      const scan = foldr(values, (rest, value) => {\n        const info = Size.from(value).fold(() => ({\n          value,\n          remainder: 0\n        }), num => roundDown(num, 'px'), num => ({\n          value: num + '%',\n          remainder: 0\n        }));\n        return {\n          output: [info.value].concat(rest.output),\n          remainder: rest.remainder + info.remainder\n        };\n      }, {\n        output: [],\n        remainder: 0\n      });\n      const r = scan.output;\n      return r.slice(0, r.length - 1).concat([add$3(r[r.length - 1], Math.round(scan.remainder))]);\n    };\n    const validate = Size.from;\n\n    const redistributeToW = (newWidths, cells, unit) => {\n      each$2(cells, cell => {\n        const widths = newWidths.slice(cell.column, cell.colspan + cell.column);\n        const w = sum(widths, minWidth());\n        set$1(cell.element, 'width', w + unit);\n      });\n    };\n    const redistributeToColumns = (newWidths, columns, unit) => {\n      each$2(columns, (column, index) => {\n        const width = sum([newWidths[index]], minWidth());\n        set$1(column.element, 'width', width + unit);\n      });\n    };\n    const redistributeToH = (newHeights, rows, cells, unit) => {\n      each$2(cells, cell => {\n        const heights = newHeights.slice(cell.row, cell.rowspan + cell.row);\n        const h = sum(heights, minHeight());\n        set$1(cell.element, 'height', h + unit);\n      });\n      each$2(rows, (row, i) => {\n        set$1(row.element, 'height', newHeights[i]);\n      });\n    };\n    const getUnit = newSize => {\n      return validate(newSize).fold(constant('px'), constant('px'), constant('%'));\n    };\n    const redistribute = (table, optWidth, optHeight) => {\n      const warehouse = Warehouse.fromTable(table);\n      const rows = warehouse.all;\n      const cells = Warehouse.justCells(warehouse);\n      const columns = Warehouse.justColumns(warehouse);\n      optWidth.each(newWidth => {\n        const widthUnit = getUnit(newWidth);\n        const totalWidth = get$9(table);\n        const oldWidths = getRawWidths(warehouse, table);\n        const nuWidths = redistribute$1(oldWidths, totalWidth, newWidth);\n        if (Warehouse.hasColumns(warehouse)) {\n          redistributeToColumns(nuWidths, columns, widthUnit);\n        } else {\n          redistributeToW(nuWidths, cells, widthUnit);\n        }\n        set$1(table, 'width', newWidth);\n      });\n      optHeight.each(newHeight => {\n        const hUnit = getUnit(newHeight);\n        const totalHeight = get$8(table);\n        const oldHeights = getRawHeights(warehouse, table, height);\n        const nuHeights = redistribute$1(oldHeights, totalHeight, newHeight);\n        redistributeToH(nuHeights, rows, cells, hUnit);\n        set$1(table, 'height', newHeight);\n      });\n    };\n    const isPercentSizing = isPercentSizing$1;\n    const isPixelSizing = isPixelSizing$1;\n    const isNoneSizing = isNoneSizing$1;\n\n    const cleanupLegacyAttributes = element => {\n      remove$7(element, 'width');\n    };\n    const convertToPercentSize = table => {\n      const newWidth = getPercentTableWidth(table);\n      redistribute(table, Optional.some(newWidth), Optional.none());\n      cleanupLegacyAttributes(table);\n    };\n    const convertToPixelSize = table => {\n      const newWidth = getPixelTableWidth(table);\n      redistribute(table, Optional.some(newWidth), Optional.none());\n      cleanupLegacyAttributes(table);\n    };\n    const convertToNoneSize = table => {\n      remove$5(table, 'width');\n      const columns = columns$1(table);\n      const rowElements = columns.length > 0 ? columns : cells$1(table);\n      each$2(rowElements, cell => {\n        remove$5(cell, 'width');\n        cleanupLegacyAttributes(cell);\n      });\n      cleanupLegacyAttributes(table);\n    };\n\n    const DefaultRenderOptions = {\n      styles: {\n        'border-collapse': 'collapse',\n        'width': '100%'\n      },\n      attributes: {\n        border: '1'\n      },\n      colGroups: false\n    };\n    const tableHeaderCell = () => SugarElement.fromTag('th');\n    const tableCell = () => SugarElement.fromTag('td');\n    const tableColumn = () => SugarElement.fromTag('col');\n    const createRow = (columns, rowHeaders, columnHeaders, rowIndex) => {\n      const tr = SugarElement.fromTag('tr');\n      for (let j = 0; j < columns; j++) {\n        const td = rowIndex < rowHeaders || j < columnHeaders ? tableHeaderCell() : tableCell();\n        if (j < columnHeaders) {\n          set$2(td, 'scope', 'row');\n        }\n        if (rowIndex < rowHeaders) {\n          set$2(td, 'scope', 'col');\n        }\n        append$1(td, SugarElement.fromTag('br'));\n        append$1(tr, td);\n      }\n      return tr;\n    };\n    const createGroupRow = columns => {\n      const columnGroup = SugarElement.fromTag('colgroup');\n      range$1(columns, () => append$1(columnGroup, tableColumn()));\n      return columnGroup;\n    };\n    const createRows = (rows, columns, rowHeaders, columnHeaders) => range$1(rows, r => createRow(columns, rowHeaders, columnHeaders, r));\n    const render = (rows, columns, rowHeaders, columnHeaders, headerType, renderOpts = DefaultRenderOptions) => {\n      const table = SugarElement.fromTag('table');\n      const rowHeadersGoInThead = headerType !== 'cells';\n      setAll(table, renderOpts.styles);\n      setAll$1(table, renderOpts.attributes);\n      if (renderOpts.colGroups) {\n        append$1(table, createGroupRow(columns));\n      }\n      const actualRowHeaders = Math.min(rows, rowHeaders);\n      if (rowHeadersGoInThead && rowHeaders > 0) {\n        const thead = SugarElement.fromTag('thead');\n        append$1(table, thead);\n        const theadRowHeaders = headerType === 'sectionCells' ? actualRowHeaders : 0;\n        const theadRows = createRows(rowHeaders, columns, theadRowHeaders, columnHeaders);\n        append(thead, theadRows);\n      }\n      const tbody = SugarElement.fromTag('tbody');\n      append$1(table, tbody);\n      const numRows = rowHeadersGoInThead ? rows - actualRowHeaders : rows;\n      const numRowHeaders = rowHeadersGoInThead ? 0 : rowHeaders;\n      const tbodyRows = createRows(numRows, columns, numRowHeaders, columnHeaders);\n      append(tbody, tbodyRows);\n      return table;\n    };\n\n    const get$4 = element => element.dom.innerHTML;\n    const getOuter = element => {\n      const container = SugarElement.fromTag('div');\n      const clone = SugarElement.fromDom(element.dom.cloneNode(true));\n      append$1(container, clone);\n      return get$4(container);\n    };\n\n    const placeCaretInCell = (editor, cell) => {\n      editor.selection.select(cell.dom, true);\n      editor.selection.collapse(true);\n    };\n    const selectFirstCellInTable = (editor, tableElm) => {\n      descendant(tableElm, 'td,th').each(curry(placeCaretInCell, editor));\n    };\n    const fireEvents = (editor, table) => {\n      each$2(descendants(table, 'tr'), row => {\n        fireNewRow(editor, row.dom);\n        each$2(descendants(row, 'th,td'), cell => {\n          fireNewCell(editor, cell.dom);\n        });\n      });\n    };\n    const isPercentage = width => isString(width) && width.indexOf('%') !== -1;\n    const insert = (editor, columns, rows, colHeaders, rowHeaders) => {\n      const defaultStyles = getTableDefaultStyles(editor);\n      const options = {\n        styles: defaultStyles,\n        attributes: getTableDefaultAttributes(editor),\n        colGroups: tableUseColumnGroup(editor)\n      };\n      editor.undoManager.ignore(() => {\n        const table = render(rows, columns, rowHeaders, colHeaders, getTableHeaderType(editor), options);\n        set$2(table, 'data-mce-id', '__mce');\n        const html = getOuter(table);\n        editor.insertContent(html);\n        editor.addVisual();\n      });\n      return descendant(getBody(editor), 'table[data-mce-id=\"__mce\"]').map(table => {\n        if (isTablePixelsForced(editor)) {\n          convertToPixelSize(table);\n        } else if (isTableResponsiveForced(editor)) {\n          convertToNoneSize(table);\n        } else if (isTablePercentagesForced(editor) || isPercentage(defaultStyles.width)) {\n          convertToPercentSize(table);\n        }\n        removeDataStyle(table);\n        remove$7(table, 'data-mce-id');\n        fireEvents(editor, table);\n        selectFirstCellInTable(editor, table);\n        return table.dom;\n      }).getOrNull();\n    };\n    const insertTable = (editor, rows, columns, options = {}) => {\n      const checkInput = val => isNumber(val) && val > 0;\n      if (checkInput(rows) && checkInput(columns)) {\n        const headerRows = options.headerRows || 0;\n        const headerColumns = options.headerColumns || 0;\n        return insert(editor, columns, rows, headerColumns, headerRows);\n      } else {\n        console.error('Invalid values for mceInsertTable - rows and columns values are required to insert a table.');\n        return null;\n      }\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.FakeClipboard');\n\n    const tableTypeBase = 'x-tinymce/dom-table-';\n    const tableTypeRow = tableTypeBase + 'rows';\n    const tableTypeColumn = tableTypeBase + 'columns';\n    const setData = items => {\n      const fakeClipboardItem = global.FakeClipboardItem(items);\n      global.write([fakeClipboardItem]);\n    };\n    const getData = type => {\n      var _a;\n      const items = (_a = global.read()) !== null && _a !== void 0 ? _a : [];\n      return findMap(items, item => Optional.from(item.getType(type)));\n    };\n    const clearData = type => {\n      if (getData(type).isSome()) {\n        global.clear();\n      }\n    };\n    const setRows = rowsOpt => {\n      rowsOpt.fold(clearRows, rows => setData({\n        [tableTypeRow]: rows\n      }));\n    };\n    const getRows = () => getData(tableTypeRow);\n    const clearRows = () => clearData(tableTypeRow);\n    const setColumns = columnsOpt => {\n      columnsOpt.fold(clearColumns, columns => setData({\n        [tableTypeColumn]: columns\n      }));\n    };\n    const getColumns = () => getData(tableTypeColumn);\n    const clearColumns = () => clearData(tableTypeColumn);\n\n    const getSelectionStartCellOrCaption = editor => getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor)).filter(isInEditableContext$1);\n    const getSelectionStartCell = editor => getSelectionCell(getSelectionStart(editor), getIsRoot(editor)).filter(isInEditableContext$1);\n    const registerCommands = (editor, actions) => {\n      const isRoot = getIsRoot(editor);\n      const eraseTable = () => getSelectionStartCellOrCaption(editor).each(cellOrCaption => {\n        table(cellOrCaption, isRoot).filter(not(isRoot)).each(table => {\n          const cursor = SugarElement.fromText('');\n          after$5(table, cursor);\n          remove$6(table);\n          if (editor.dom.isEmpty(editor.getBody())) {\n            editor.setContent('');\n            editor.selection.setCursorLocation();\n          } else {\n            const rng = editor.dom.createRng();\n            rng.setStart(cursor.dom, 0);\n            rng.setEnd(cursor.dom, 0);\n            editor.selection.setRng(rng);\n            editor.nodeChanged();\n          }\n        });\n      });\n      const setSizingMode = sizing => getSelectionStartCellOrCaption(editor).each(cellOrCaption => {\n        const isForcedSizing = isTableResponsiveForced(editor) || isTablePixelsForced(editor) || isTablePercentagesForced(editor);\n        if (!isForcedSizing) {\n          table(cellOrCaption, isRoot).each(table => {\n            if (sizing === 'relative' && !isPercentSizing(table)) {\n              convertToPercentSize(table);\n            } else if (sizing === 'fixed' && !isPixelSizing(table)) {\n              convertToPixelSize(table);\n            } else if (sizing === 'responsive' && !isNoneSizing(table)) {\n              convertToNoneSize(table);\n            }\n            removeDataStyle(table);\n            fireTableModified(editor, table.dom, structureModified);\n          });\n        }\n      });\n      const getTableFromCell = cell => table(cell, isRoot);\n      const performActionOnSelection = action => getSelectionStartCell(editor).bind(cell => getTableFromCell(cell).map(table => action(table, cell)));\n      const toggleTableClass = (_ui, clazz) => {\n        performActionOnSelection(table => {\n          editor.formatter.toggle('tableclass', {\n            value: clazz\n          }, table.dom);\n          fireTableModified(editor, table.dom, styleModified);\n        });\n      };\n      const toggleTableCellClass = (_ui, clazz) => {\n        performActionOnSelection(table => {\n          const selectedCells = getCellsFromSelection(editor);\n          const allHaveClass = forall(selectedCells, cell => editor.formatter.match('tablecellclass', {\n            value: clazz\n          }, cell.dom));\n          const formatterAction = allHaveClass ? editor.formatter.remove : editor.formatter.apply;\n          each$2(selectedCells, cell => formatterAction('tablecellclass', {\n            value: clazz\n          }, cell.dom));\n          fireTableModified(editor, table.dom, styleModified);\n        });\n      };\n      const toggleCaption = () => {\n        getSelectionStartCellOrCaption(editor).each(cellOrCaption => {\n          table(cellOrCaption, isRoot).each(table => {\n            child(table, 'caption').fold(() => {\n              const caption = SugarElement.fromTag('caption');\n              append$1(caption, SugarElement.fromText('Caption'));\n              appendAt(table, caption, 0);\n              editor.selection.setCursorLocation(caption.dom, 0);\n            }, caption => {\n              if (isTag('caption')(cellOrCaption)) {\n                one('td', table).each(td => editor.selection.setCursorLocation(td.dom, 0));\n              }\n              remove$6(caption);\n            });\n            fireTableModified(editor, table.dom, structureModified);\n          });\n        });\n      };\n      const postExecute = _data => {\n        editor.focus();\n      };\n      const actOnSelection = (execute, noEvents = false) => performActionOnSelection((table, startCell) => {\n        const targets = forMenu(getCellsFromSelection(editor), table, startCell);\n        execute(table, targets, noEvents).each(postExecute);\n      });\n      const copyRowSelection = () => performActionOnSelection((table, startCell) => {\n        const targets = forMenu(getCellsFromSelection(editor), table, startCell);\n        const generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), Optional.none());\n        return copyRows(table, targets, generators);\n      });\n      const copyColSelection = () => performActionOnSelection((table, startCell) => {\n        const targets = forMenu(getCellsFromSelection(editor), table, startCell);\n        return copyCols(table, targets);\n      });\n      const pasteOnSelection = (execute, getRows) => getRows().each(rows => {\n        const clonedRows = map$1(rows, row => deep(row));\n        performActionOnSelection((table, startCell) => {\n          const generators = paste$1(SugarElement.fromDom(editor.getDoc()));\n          const targets = pasteRows(getCellsFromSelection(editor), startCell, clonedRows, generators);\n          execute(table, targets).each(postExecute);\n        });\n      });\n      const actOnType = getAction => (_ui, args) => get$c(args, 'type').each(type => {\n        actOnSelection(getAction(type), args.no_events);\n      });\n      each$1({\n        mceTableSplitCells: () => actOnSelection(actions.unmergeCells),\n        mceTableMergeCells: () => actOnSelection(actions.mergeCells),\n        mceTableInsertRowBefore: () => actOnSelection(actions.insertRowsBefore),\n        mceTableInsertRowAfter: () => actOnSelection(actions.insertRowsAfter),\n        mceTableInsertColBefore: () => actOnSelection(actions.insertColumnsBefore),\n        mceTableInsertColAfter: () => actOnSelection(actions.insertColumnsAfter),\n        mceTableDeleteCol: () => actOnSelection(actions.deleteColumn),\n        mceTableDeleteRow: () => actOnSelection(actions.deleteRow),\n        mceTableCutCol: () => copyColSelection().each(selection => {\n          setColumns(selection);\n          actOnSelection(actions.deleteColumn);\n        }),\n        mceTableCutRow: () => copyRowSelection().each(selection => {\n          setRows(selection);\n          actOnSelection(actions.deleteRow);\n        }),\n        mceTableCopyCol: () => copyColSelection().each(selection => setColumns(selection)),\n        mceTableCopyRow: () => copyRowSelection().each(selection => setRows(selection)),\n        mceTablePasteColBefore: () => pasteOnSelection(actions.pasteColsBefore, getColumns),\n        mceTablePasteColAfter: () => pasteOnSelection(actions.pasteColsAfter, getColumns),\n        mceTablePasteRowBefore: () => pasteOnSelection(actions.pasteRowsBefore, getRows),\n        mceTablePasteRowAfter: () => pasteOnSelection(actions.pasteRowsAfter, getRows),\n        mceTableDelete: eraseTable,\n        mceTableCellToggleClass: toggleTableCellClass,\n        mceTableToggleClass: toggleTableClass,\n        mceTableToggleCaption: toggleCaption,\n        mceTableSizingMode: (_ui, sizing) => setSizingMode(sizing),\n        mceTableCellType: actOnType(type => type === 'th' ? actions.makeCellsHeader : actions.unmakeCellsHeader),\n        mceTableColType: actOnType(type => type === 'th' ? actions.makeColumnsHeader : actions.unmakeColumnsHeader),\n        mceTableRowType: actOnType(type => {\n          switch (type) {\n            case 'header':\n              return actions.makeRowsHeader;\n            case 'footer':\n              return actions.makeRowsFooter;\n            default:\n              return actions.makeRowsBody;\n          }\n        })\n      }, (func, name) => editor.addCommand(name, func));\n      editor.addCommand('mceInsertTable', (_ui, args) => {\n        insertTable(editor, args.rows, args.columns, args.options);\n      });\n      editor.addCommand('mceTableApplyCellStyle', (_ui, args) => {\n        const getFormatName = style => 'tablecell' + style.toLowerCase().replace('-', '');\n        if (!isObject(args)) {\n          return;\n        }\n        const cells = filter$2(getCellsFromSelection(editor), isInEditableContext$1);\n        if (cells.length === 0) {\n          return;\n        }\n        const validArgs = filter$1(args, (value, style) => editor.formatter.has(getFormatName(style)) && isString(value));\n        if (isEmpty(validArgs)) {\n          return;\n        }\n        each$1(validArgs, (value, style) => {\n          const formatName = getFormatName(style);\n          each$2(cells, cell => {\n            if (value === '') {\n              editor.formatter.remove(formatName, {\n                value: null\n              }, cell.dom, true);\n            } else {\n              editor.formatter.apply(formatName, {\n                value\n              }, cell.dom);\n            }\n          });\n        });\n        getTableFromCell(cells[0]).each(table => fireTableModified(editor, table.dom, styleModified));\n      });\n    };\n\n    const registerQueryCommands = (editor, actions) => {\n      const isRoot = getIsRoot(editor);\n      const lookupOnSelection = action => getSelectionCell(getSelectionStart(editor)).bind(cell => table(cell, isRoot).map(table => {\n        const targets = forMenu(getCellsFromSelection(editor), table, cell);\n        return action(table, targets);\n      })).getOr('');\n      each$1({\n        mceTableRowType: () => lookupOnSelection(actions.getTableRowType),\n        mceTableCellType: () => lookupOnSelection(actions.getTableCellType),\n        mceTableColType: () => lookupOnSelection(actions.getTableColType)\n      }, (func, name) => editor.addQueryValueHandler(name, func));\n    };\n\n    const adt$4 = Adt.generate([{\n      before: ['element']\n    }, {\n      on: ['element', 'offset']\n    }, {\n      after: ['element']\n    }]);\n    const cata$1 = (subject, onBefore, onOn, onAfter) => subject.fold(onBefore, onOn, onAfter);\n    const getStart$1 = situ => situ.fold(identity, identity, identity);\n    const before$2 = adt$4.before;\n    const on = adt$4.on;\n    const after$3 = adt$4.after;\n    const Situ = {\n      before: before$2,\n      on,\n      after: after$3,\n      cata: cata$1,\n      getStart: getStart$1\n    };\n\n    const create$4 = (selection, kill) => ({\n      selection,\n      kill\n    });\n    const Response = {\n      create: create$4\n    };\n\n    const selectNode = (win, element) => {\n      const rng = win.document.createRange();\n      rng.selectNode(element.dom);\n      return rng;\n    };\n    const selectNodeContents = (win, element) => {\n      const rng = win.document.createRange();\n      selectNodeContentsUsing(rng, element);\n      return rng;\n    };\n    const selectNodeContentsUsing = (rng, element) => rng.selectNodeContents(element.dom);\n    const setStart = (rng, situ) => {\n      situ.fold(e => {\n        rng.setStartBefore(e.dom);\n      }, (e, o) => {\n        rng.setStart(e.dom, o);\n      }, e => {\n        rng.setStartAfter(e.dom);\n      });\n    };\n    const setFinish = (rng, situ) => {\n      situ.fold(e => {\n        rng.setEndBefore(e.dom);\n      }, (e, o) => {\n        rng.setEnd(e.dom, o);\n      }, e => {\n        rng.setEndAfter(e.dom);\n      });\n    };\n    const relativeToNative = (win, startSitu, finishSitu) => {\n      const range = win.document.createRange();\n      setStart(range, startSitu);\n      setFinish(range, finishSitu);\n      return range;\n    };\n    const exactToNative = (win, start, soffset, finish, foffset) => {\n      const rng = win.document.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    const toRect = rect => ({\n      left: rect.left,\n      top: rect.top,\n      right: rect.right,\n      bottom: rect.bottom,\n      width: rect.width,\n      height: rect.height\n    });\n    const getFirstRect$1 = rng => {\n      const rects = rng.getClientRects();\n      const rect = rects.length > 0 ? rects[0] : rng.getBoundingClientRect();\n      return rect.width > 0 || rect.height > 0 ? Optional.some(rect).map(toRect) : Optional.none();\n    };\n\n    const adt$3 = Adt.generate([{\n      ltr: ['start', 'soffset', 'finish', 'foffset']\n    }, {\n      rtl: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const fromRange = (win, type, range) => type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset);\n    const getRanges = (win, selection) => selection.match({\n      domRange: rng => {\n        return {\n          ltr: constant(rng),\n          rtl: Optional.none\n        };\n      },\n      relative: (startSitu, finishSitu) => {\n        return {\n          ltr: cached(() => relativeToNative(win, startSitu, finishSitu)),\n          rtl: cached(() => Optional.some(relativeToNative(win, finishSitu, startSitu)))\n        };\n      },\n      exact: (start, soffset, finish, foffset) => {\n        return {\n          ltr: cached(() => exactToNative(win, start, soffset, finish, foffset)),\n          rtl: cached(() => Optional.some(exactToNative(win, finish, foffset, start, soffset)))\n        };\n      }\n    });\n    const doDiagnose = (win, ranges) => {\n      const rng = ranges.ltr();\n      if (rng.collapsed) {\n        const reversed = ranges.rtl().filter(rev => rev.collapsed === false);\n        return reversed.map(rev => adt$3.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset)).getOrThunk(() => fromRange(win, adt$3.ltr, rng));\n      } else {\n        return fromRange(win, adt$3.ltr, rng);\n      }\n    };\n    const diagnose = (win, selection) => {\n      const ranges = getRanges(win, selection);\n      return doDiagnose(win, ranges);\n    };\n    const asLtrRange = (win, selection) => {\n      const diagnosis = diagnose(win, selection);\n      return diagnosis.match({\n        ltr: (start, soffset, finish, foffset) => {\n          const rng = win.document.createRange();\n          rng.setStart(start.dom, soffset);\n          rng.setEnd(finish.dom, foffset);\n          return rng;\n        },\n        rtl: (start, soffset, finish, foffset) => {\n          const rng = win.document.createRange();\n          rng.setStart(finish.dom, foffset);\n          rng.setEnd(start.dom, soffset);\n          return rng;\n        }\n      });\n    };\n    adt$3.ltr;\n    adt$3.rtl;\n\n    const create$3 = (start, soffset, finish, foffset) => ({\n      start,\n      soffset,\n      finish,\n      foffset\n    });\n    const SimRange = {\n      create: create$3\n    };\n\n    const create$2 = (start, soffset, finish, foffset) => {\n      return {\n        start: Situ.on(start, soffset),\n        finish: Situ.on(finish, foffset)\n      };\n    };\n    const Situs = {\n      create: create$2\n    };\n\n    const convertToRange = (win, selection) => {\n      const rng = asLtrRange(win, selection);\n      return SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset);\n    };\n    const makeSitus = Situs.create;\n\n    const sync = (container, isRoot, start, soffset, finish, foffset, selectRange) => {\n      if (!(eq$1(start, finish) && soffset === foffset)) {\n        return closest$1(start, 'td,th', isRoot).bind(s => {\n          return closest$1(finish, 'td,th', isRoot).bind(f => {\n            return detect(container, isRoot, s, f, selectRange);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const detect = (container, isRoot, start, finish, selectRange) => {\n      if (!eq$1(start, finish)) {\n        return identify(start, finish, isRoot).bind(cellSel => {\n          const boxes = cellSel.boxes.getOr([]);\n          if (boxes.length > 1) {\n            selectRange(container, boxes, cellSel.start, cellSel.finish);\n            return Optional.some(Response.create(Optional.some(makeSitus(start, 0, start, getEnd(start))), true));\n          } else {\n            return Optional.none();\n          }\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const update = (rows, columns, container, selected, annotations) => {\n      const updateSelection = newSels => {\n        annotations.clearBeforeUpdate(container);\n        annotations.selectRange(container, newSels.boxes, newSels.start, newSels.finish);\n        return newSels.boxes;\n      };\n      return shiftSelection(selected, rows, columns, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(updateSelection);\n    };\n\n    const traverse = (item, mode) => ({\n      item,\n      mode\n    });\n    const backtrack = (universe, item, _direction, transition = sidestep) => {\n      return universe.property().parent(item).map(p => {\n        return traverse(p, transition);\n      });\n    };\n    const sidestep = (universe, item, direction, transition = advance) => {\n      return direction.sibling(universe, item).map(p => {\n        return traverse(p, transition);\n      });\n    };\n    const advance = (universe, item, direction, transition = advance) => {\n      const children = universe.property().children(item);\n      const result = direction.first(children);\n      return result.map(r => {\n        return traverse(r, transition);\n      });\n    };\n    const successors = [{\n      current: backtrack,\n      next: sidestep,\n      fallback: Optional.none()\n    }, {\n      current: sidestep,\n      next: advance,\n      fallback: Optional.some(backtrack)\n    }, {\n      current: advance,\n      next: advance,\n      fallback: Optional.some(sidestep)\n    }];\n    const go = (universe, item, mode, direction, rules = successors) => {\n      const ruleOpt = find$1(rules, succ => {\n        return succ.current === mode;\n      });\n      return ruleOpt.bind(rule => {\n        return rule.current(universe, item, direction, rule.next).orThunk(() => {\n          return rule.fallback.bind(fb => {\n            return go(universe, item, fb, direction);\n          });\n        });\n      });\n    };\n\n    const left$1 = () => {\n      const sibling = (universe, item) => {\n        return universe.query().prevSibling(item);\n      };\n      const first = children => {\n        return children.length > 0 ? Optional.some(children[children.length - 1]) : Optional.none();\n      };\n      return {\n        sibling,\n        first\n      };\n    };\n    const right$1 = () => {\n      const sibling = (universe, item) => {\n        return universe.query().nextSibling(item);\n      };\n      const first = children => {\n        return children.length > 0 ? Optional.some(children[0]) : Optional.none();\n      };\n      return {\n        sibling,\n        first\n      };\n    };\n    const Walkers = {\n      left: left$1,\n      right: right$1\n    };\n\n    const hone = (universe, item, predicate, mode, direction, isRoot) => {\n      const next = go(universe, item, mode, direction);\n      return next.bind(n => {\n        if (isRoot(n.item)) {\n          return Optional.none();\n        } else {\n          return predicate(n.item) ? Optional.some(n.item) : hone(universe, n.item, predicate, n.mode, direction, isRoot);\n        }\n      });\n    };\n    const left = (universe, item, predicate, isRoot) => {\n      return hone(universe, item, predicate, sidestep, Walkers.left(), isRoot);\n    };\n    const right = (universe, item, predicate, isRoot) => {\n      return hone(universe, item, predicate, sidestep, Walkers.right(), isRoot);\n    };\n\n    const isLeaf = universe => element => universe.property().children(element).length === 0;\n    const before$1 = (universe, item, isRoot) => {\n      return seekLeft$1(universe, item, isLeaf(universe), isRoot);\n    };\n    const after$2 = (universe, item, isRoot) => {\n      return seekRight$1(universe, item, isLeaf(universe), isRoot);\n    };\n    const seekLeft$1 = left;\n    const seekRight$1 = right;\n\n    const universe = DomUniverse();\n    const before = (element, isRoot) => {\n      return before$1(universe, element, isRoot);\n    };\n    const after$1 = (element, isRoot) => {\n      return after$2(universe, element, isRoot);\n    };\n    const seekLeft = (element, predicate, isRoot) => {\n      return seekLeft$1(universe, element, predicate, isRoot);\n    };\n    const seekRight = (element, predicate, isRoot) => {\n      return seekRight$1(universe, element, predicate, isRoot);\n    };\n\n    const ancestor = (scope, predicate, isRoot) => ancestor$2(scope, predicate, isRoot).isSome();\n\n    const adt$2 = Adt.generate([{\n      none: ['message']\n    }, {\n      success: []\n    }, {\n      failedUp: ['cell']\n    }, {\n      failedDown: ['cell']\n    }]);\n    const isOverlapping = (bridge, before, after) => {\n      const beforeBounds = bridge.getRect(before);\n      const afterBounds = bridge.getRect(after);\n      return afterBounds.right > beforeBounds.left && afterBounds.left < beforeBounds.right;\n    };\n    const isRow = elem => {\n      return closest$1(elem, 'tr');\n    };\n    const verify = (bridge, before, beforeOffset, after, afterOffset, failure, isRoot) => {\n      return closest$1(after, 'td,th', isRoot).bind(afterCell => {\n        return closest$1(before, 'td,th', isRoot).map(beforeCell => {\n          if (!eq$1(afterCell, beforeCell)) {\n            return sharedOne(isRow, [afterCell, beforeCell]).fold(() => {\n              return isOverlapping(bridge, beforeCell, afterCell) ? adt$2.success() : failure(beforeCell);\n            }, _sharedRow => {\n              return failure(beforeCell);\n            });\n          } else {\n            return eq$1(after, afterCell) && getEnd(afterCell) === afterOffset ? failure(beforeCell) : adt$2.none('in same cell');\n          }\n        });\n      }).getOr(adt$2.none('default'));\n    };\n    const cata = (subject, onNone, onSuccess, onFailedUp, onFailedDown) => {\n      return subject.fold(onNone, onSuccess, onFailedUp, onFailedDown);\n    };\n    const BeforeAfter = {\n      ...adt$2,\n      verify,\n      cata\n    };\n\n    const inParent = (parent, children, element, index) => ({\n      parent,\n      children,\n      element,\n      index\n    });\n    const indexInParent = element => parent(element).bind(parent => {\n      const children = children$2(parent);\n      return indexOf(children, element).map(index => inParent(parent, children, element, index));\n    });\n    const indexOf = (elements, element) => findIndex(elements, curry(eq$1, element));\n\n    const isBr = isTag('br');\n    const gatherer = (cand, gather, isRoot) => {\n      return gather(cand, isRoot).bind(target => {\n        return isText(target) && get$6(target).trim().length === 0 ? gatherer(target, gather, isRoot) : Optional.some(target);\n      });\n    };\n    const handleBr = (isRoot, element, direction) => {\n      return direction.traverse(element).orThunk(() => {\n        return gatherer(element, direction.gather, isRoot);\n      }).map(direction.relative);\n    };\n    const findBr = (element, offset) => {\n      return child$2(element, offset).filter(isBr).orThunk(() => {\n        return child$2(element, offset - 1).filter(isBr);\n      });\n    };\n    const handleParent = (isRoot, element, offset, direction) => {\n      return findBr(element, offset).bind(br => {\n        return direction.traverse(br).fold(() => {\n          return gatherer(br, direction.gather, isRoot).map(direction.relative);\n        }, adjacent => {\n          return indexInParent(adjacent).map(info => {\n            return Situ.on(info.parent, info.index);\n          });\n        });\n      });\n    };\n    const tryBr = (isRoot, element, offset, direction) => {\n      const target = isBr(element) ? handleBr(isRoot, element, direction) : handleParent(isRoot, element, offset, direction);\n      return target.map(tgt => {\n        return {\n          start: tgt,\n          finish: tgt\n        };\n      });\n    };\n    const process = analysis => {\n      return BeforeAfter.cata(analysis, _message => {\n        return Optional.none();\n      }, () => {\n        return Optional.none();\n      }, cell => {\n        return Optional.some(point(cell, 0));\n      }, cell => {\n        return Optional.some(point(cell, getEnd(cell)));\n      });\n    };\n\n    const moveDown = (caret, amount) => {\n      return {\n        left: caret.left,\n        top: caret.top + amount,\n        right: caret.right,\n        bottom: caret.bottom + amount\n      };\n    };\n    const moveUp = (caret, amount) => {\n      return {\n        left: caret.left,\n        top: caret.top - amount,\n        right: caret.right,\n        bottom: caret.bottom - amount\n      };\n    };\n    const translate = (caret, xDelta, yDelta) => {\n      return {\n        left: caret.left + xDelta,\n        top: caret.top + yDelta,\n        right: caret.right + xDelta,\n        bottom: caret.bottom + yDelta\n      };\n    };\n    const getTop = caret => {\n      return caret.top;\n    };\n    const getBottom = caret => {\n      return caret.bottom;\n    };\n\n    const getPartialBox = (bridge, element, offset) => {\n      if (offset >= 0 && offset < getEnd(element)) {\n        return bridge.getRangedRect(element, offset, element, offset + 1);\n      } else if (offset > 0) {\n        return bridge.getRangedRect(element, offset - 1, element, offset);\n      }\n      return Optional.none();\n    };\n    const toCaret = rect => ({\n      left: rect.left,\n      top: rect.top,\n      right: rect.right,\n      bottom: rect.bottom\n    });\n    const getElemBox = (bridge, element) => {\n      return Optional.some(bridge.getRect(element));\n    };\n    const getBoxAt = (bridge, element, offset) => {\n      if (isElement(element)) {\n        return getElemBox(bridge, element).map(toCaret);\n      } else if (isText(element)) {\n        return getPartialBox(bridge, element, offset).map(toCaret);\n      } else {\n        return Optional.none();\n      }\n    };\n    const getEntireBox = (bridge, element) => {\n      if (isElement(element)) {\n        return getElemBox(bridge, element).map(toCaret);\n      } else if (isText(element)) {\n        return bridge.getRangedRect(element, 0, element, getEnd(element)).map(toCaret);\n      } else {\n        return Optional.none();\n      }\n    };\n\n    const JUMP_SIZE = 5;\n    const NUM_RETRIES = 100;\n    const adt$1 = Adt.generate([{\n      none: []\n    }, {\n      retry: ['caret']\n    }]);\n    const isOutside = (caret, box) => {\n      return caret.left < box.left || Math.abs(box.right - caret.left) < 1 || caret.left > box.right;\n    };\n    const inOutsideBlock = (bridge, element, caret) => {\n      return closest$2(element, isBlock).fold(never, cell => {\n        return getEntireBox(bridge, cell).exists(box => {\n          return isOutside(caret, box);\n        });\n      });\n    };\n    const adjustDown = (bridge, element, guessBox, original, caret) => {\n      const lowerCaret = moveDown(caret, JUMP_SIZE);\n      if (Math.abs(guessBox.bottom - original.bottom) < 1) {\n        return adt$1.retry(lowerCaret);\n      } else if (guessBox.top > caret.bottom) {\n        return adt$1.retry(lowerCaret);\n      } else if (guessBox.top === caret.bottom) {\n        return adt$1.retry(moveDown(caret, 1));\n      } else {\n        return inOutsideBlock(bridge, element, caret) ? adt$1.retry(translate(lowerCaret, JUMP_SIZE, 0)) : adt$1.none();\n      }\n    };\n    const adjustUp = (bridge, element, guessBox, original, caret) => {\n      const higherCaret = moveUp(caret, JUMP_SIZE);\n      if (Math.abs(guessBox.top - original.top) < 1) {\n        return adt$1.retry(higherCaret);\n      } else if (guessBox.bottom < caret.top) {\n        return adt$1.retry(higherCaret);\n      } else if (guessBox.bottom === caret.top) {\n        return adt$1.retry(moveUp(caret, 1));\n      } else {\n        return inOutsideBlock(bridge, element, caret) ? adt$1.retry(translate(higherCaret, JUMP_SIZE, 0)) : adt$1.none();\n      }\n    };\n    const upMovement = {\n      point: getTop,\n      adjuster: adjustUp,\n      move: moveUp,\n      gather: before\n    };\n    const downMovement = {\n      point: getBottom,\n      adjuster: adjustDown,\n      move: moveDown,\n      gather: after$1\n    };\n    const isAtTable = (bridge, x, y) => {\n      return bridge.elementFromPoint(x, y).filter(elm => {\n        return name(elm) === 'table';\n      }).isSome();\n    };\n    const adjustForTable = (bridge, movement, original, caret, numRetries) => {\n      return adjustTil(bridge, movement, original, movement.move(caret, JUMP_SIZE), numRetries);\n    };\n    const adjustTil = (bridge, movement, original, caret, numRetries) => {\n      if (numRetries === 0) {\n        return Optional.some(caret);\n      }\n      if (isAtTable(bridge, caret.left, movement.point(caret))) {\n        return adjustForTable(bridge, movement, original, caret, numRetries - 1);\n      }\n      return bridge.situsFromPoint(caret.left, movement.point(caret)).bind(guess => {\n        return guess.start.fold(Optional.none, element => {\n          return getEntireBox(bridge, element).bind(guessBox => {\n            return movement.adjuster(bridge, element, guessBox, original, caret).fold(Optional.none, newCaret => {\n              return adjustTil(bridge, movement, original, newCaret, numRetries - 1);\n            });\n          }).orThunk(() => {\n            return Optional.some(caret);\n          });\n        }, Optional.none);\n      });\n    };\n    const checkScroll = (movement, adjusted, bridge) => {\n      if (movement.point(adjusted) > bridge.getInnerHeight()) {\n        return Optional.some(movement.point(adjusted) - bridge.getInnerHeight());\n      } else if (movement.point(adjusted) < 0) {\n        return Optional.some(-movement.point(adjusted));\n      } else {\n        return Optional.none();\n      }\n    };\n    const retry = (movement, bridge, caret) => {\n      const moved = movement.move(caret, JUMP_SIZE);\n      const adjusted = adjustTil(bridge, movement, caret, moved, NUM_RETRIES).getOr(moved);\n      return checkScroll(movement, adjusted, bridge).fold(() => {\n        return bridge.situsFromPoint(adjusted.left, movement.point(adjusted));\n      }, delta => {\n        bridge.scrollBy(0, delta);\n        return bridge.situsFromPoint(adjusted.left, movement.point(adjusted) - delta);\n      });\n    };\n    const Retries = {\n      tryUp: curry(retry, upMovement),\n      tryDown: curry(retry, downMovement),\n      getJumpSize: constant(JUMP_SIZE)\n    };\n\n    const MAX_RETRIES = 20;\n    const findSpot = (bridge, isRoot, direction) => {\n      return bridge.getSelection().bind(sel => {\n        return tryBr(isRoot, sel.finish, sel.foffset, direction).fold(() => {\n          return Optional.some(point(sel.finish, sel.foffset));\n        }, brNeighbour => {\n          const range = bridge.fromSitus(brNeighbour);\n          const analysis = BeforeAfter.verify(bridge, sel.finish, sel.foffset, range.finish, range.foffset, direction.failure, isRoot);\n          return process(analysis);\n        });\n      });\n    };\n    const scan = (bridge, isRoot, element, offset, direction, numRetries) => {\n      if (numRetries === 0) {\n        return Optional.none();\n      }\n      return tryCursor(bridge, isRoot, element, offset, direction).bind(situs => {\n        const range = bridge.fromSitus(situs);\n        const analysis = BeforeAfter.verify(bridge, element, offset, range.finish, range.foffset, direction.failure, isRoot);\n        return BeforeAfter.cata(analysis, () => {\n          return Optional.none();\n        }, () => {\n          return Optional.some(situs);\n        }, cell => {\n          if (eq$1(element, cell) && offset === 0) {\n            return tryAgain(bridge, element, offset, moveUp, direction);\n          } else {\n            return scan(bridge, isRoot, cell, 0, direction, numRetries - 1);\n          }\n        }, cell => {\n          if (eq$1(element, cell) && offset === getEnd(cell)) {\n            return tryAgain(bridge, element, offset, moveDown, direction);\n          } else {\n            return scan(bridge, isRoot, cell, getEnd(cell), direction, numRetries - 1);\n          }\n        });\n      });\n    };\n    const tryAgain = (bridge, element, offset, move, direction) => {\n      return getBoxAt(bridge, element, offset).bind(box => {\n        return tryAt(bridge, direction, move(box, Retries.getJumpSize()));\n      });\n    };\n    const tryAt = (bridge, direction, box) => {\n      const browser = detect$2().browser;\n      if (browser.isChromium() || browser.isSafari() || browser.isFirefox()) {\n        return direction.retry(bridge, box);\n      } else {\n        return Optional.none();\n      }\n    };\n    const tryCursor = (bridge, isRoot, element, offset, direction) => {\n      return getBoxAt(bridge, element, offset).bind(box => {\n        return tryAt(bridge, direction, box);\n      });\n    };\n    const handle$1 = (bridge, isRoot, direction) => {\n      return findSpot(bridge, isRoot, direction).bind(spot => {\n        return scan(bridge, isRoot, spot.element, spot.offset, direction, MAX_RETRIES).map(bridge.fromSitus);\n      });\n    };\n\n    const inSameTable = (elem, table) => {\n      return ancestor(elem, e => {\n        return parent(e).exists(p => {\n          return eq$1(p, table);\n        });\n      });\n    };\n    const simulate = (bridge, isRoot, direction, initial, anchor) => {\n      return closest$1(initial, 'td,th', isRoot).bind(start => {\n        return closest$1(start, 'table', isRoot).bind(table => {\n          if (!inSameTable(anchor, table)) {\n            return Optional.none();\n          }\n          return handle$1(bridge, isRoot, direction).bind(range => {\n            return closest$1(range.finish, 'td,th', isRoot).map(finish => {\n              return {\n                start,\n                finish,\n                range\n              };\n            });\n          });\n        });\n      });\n    };\n    const navigate = (bridge, isRoot, direction, initial, anchor, precheck) => {\n      return precheck(initial, isRoot).orThunk(() => {\n        return simulate(bridge, isRoot, direction, initial, anchor).map(info => {\n          const range = info.range;\n          return Response.create(Optional.some(makeSitus(range.start, range.soffset, range.finish, range.foffset)), true);\n        });\n      });\n    };\n    const firstUpCheck = (initial, isRoot) => {\n      return closest$1(initial, 'tr', isRoot).bind(startRow => {\n        return closest$1(startRow, 'table', isRoot).bind(table => {\n          const rows = descendants(table, 'tr');\n          if (eq$1(startRow, rows[0])) {\n            return seekLeft(table, element => {\n              return last$1(element).isSome();\n            }, isRoot).map(last => {\n              const lastOffset = getEnd(last);\n              return Response.create(Optional.some(makeSitus(last, lastOffset, last, lastOffset)), true);\n            });\n          } else {\n            return Optional.none();\n          }\n        });\n      });\n    };\n    const lastDownCheck = (initial, isRoot) => {\n      return closest$1(initial, 'tr', isRoot).bind(startRow => {\n        return closest$1(startRow, 'table', isRoot).bind(table => {\n          const rows = descendants(table, 'tr');\n          if (eq$1(startRow, rows[rows.length - 1])) {\n            return seekRight(table, element => {\n              return first(element).isSome();\n            }, isRoot).map(first => {\n              return Response.create(Optional.some(makeSitus(first, 0, first, 0)), true);\n            });\n          } else {\n            return Optional.none();\n          }\n        });\n      });\n    };\n    const select = (bridge, container, isRoot, direction, initial, anchor, selectRange) => {\n      return simulate(bridge, isRoot, direction, initial, anchor).bind(info => {\n        return detect(container, isRoot, info.start, info.finish, selectRange);\n      });\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const findCell = (target, isRoot) => closest$1(target, 'td,th', isRoot);\n    const isInEditableContext = cell => parentElement(cell).exists(isEditable$1);\n    const MouseSelection = (bridge, container, isRoot, annotations) => {\n      const cursor = value();\n      const clearstate = cursor.clear;\n      const applySelection = event => {\n        cursor.on(start => {\n          annotations.clearBeforeUpdate(container);\n          findCell(event.target, isRoot).each(finish => {\n            identify(start, finish, isRoot).each(cellSel => {\n              const boxes = cellSel.boxes.getOr([]);\n              if (boxes.length === 1) {\n                const singleCell = boxes[0];\n                const isNonEditableCell = getRaw(singleCell) === 'false';\n                const isCellClosestContentEditable = is(closest(event.target), singleCell, eq$1);\n                if (isNonEditableCell && isCellClosestContentEditable) {\n                  annotations.selectRange(container, boxes, singleCell, singleCell);\n                  bridge.selectContents(singleCell);\n                }\n              } else if (boxes.length > 1) {\n                annotations.selectRange(container, boxes, cellSel.start, cellSel.finish);\n                bridge.selectContents(finish);\n              }\n            });\n          });\n        });\n      };\n      const mousedown = event => {\n        annotations.clear(container);\n        findCell(event.target, isRoot).filter(isInEditableContext).each(cursor.set);\n      };\n      const mouseover = event => {\n        applySelection(event);\n      };\n      const mouseup = event => {\n        applySelection(event);\n        clearstate();\n      };\n      return {\n        clearstate,\n        mousedown,\n        mouseover,\n        mouseup\n      };\n    };\n\n    const down = {\n      traverse: nextSibling,\n      gather: after$1,\n      relative: Situ.before,\n      retry: Retries.tryDown,\n      failure: BeforeAfter.failedDown\n    };\n    const up = {\n      traverse: prevSibling,\n      gather: before,\n      relative: Situ.before,\n      retry: Retries.tryUp,\n      failure: BeforeAfter.failedUp\n    };\n\n    const isKey = key => {\n      return keycode => {\n        return keycode === key;\n      };\n    };\n    const isUp = isKey(38);\n    const isDown = isKey(40);\n    const isNavigation = keycode => {\n      return keycode >= 37 && keycode <= 40;\n    };\n    const ltr = {\n      isBackward: isKey(37),\n      isForward: isKey(39)\n    };\n    const rtl = {\n      isBackward: isKey(39),\n      isForward: isKey(37)\n    };\n\n    const get$3 = _DOC => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n    const by = (x, y, _DOC) => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const win = doc.defaultView;\n      if (win) {\n        win.scrollBy(x, y);\n      }\n    };\n\n    const adt = Adt.generate([{\n      domRange: ['rng']\n    }, {\n      relative: ['startSitu', 'finishSitu']\n    }, {\n      exact: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const exactFromRange = simRange => adt.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset);\n    const getStart = selection => selection.match({\n      domRange: rng => SugarElement.fromDom(rng.startContainer),\n      relative: (startSitu, _finishSitu) => Situ.getStart(startSitu),\n      exact: (start, _soffset, _finish, _foffset) => start\n    });\n    const domRange = adt.domRange;\n    const relative = adt.relative;\n    const exact = adt.exact;\n    const getWin = selection => {\n      const start = getStart(selection);\n      return defaultView(start);\n    };\n    const range = SimRange.create;\n    const SimSelection = {\n      domRange,\n      relative,\n      exact,\n      exactFromRange,\n      getWin,\n      range\n    };\n\n    const caretPositionFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretPositionFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)).bind(pos => {\n        if (pos.offsetNode === null) {\n          return Optional.none();\n        }\n        const r = doc.dom.createRange();\n        r.setStart(pos.offsetNode, pos.offset);\n        r.collapse();\n        return Optional.some(r);\n      });\n    };\n    const caretRangeFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretRangeFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y));\n    };\n    const availableSearch = (() => {\n      if (document.caretPositionFromPoint) {\n        return caretPositionFromPoint;\n      } else if (document.caretRangeFromPoint) {\n        return caretRangeFromPoint;\n      } else {\n        return Optional.none;\n      }\n    })();\n    const fromPoint = (win, x, y) => {\n      const doc = SugarElement.fromDom(win.document);\n      return availableSearch(doc, x, y).map(rng => SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset));\n    };\n\n    const beforeSpecial = (element, offset) => {\n      const name$1 = name(element);\n      if ('input' === name$1) {\n        return Situ.after(element);\n      } else if (!contains$2(['br', 'img'], name$1)) {\n        return Situ.on(element, offset);\n      } else {\n        return offset === 0 ? Situ.before(element) : Situ.after(element);\n      }\n    };\n    const preprocessRelative = (startSitu, finishSitu) => {\n      const start = startSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      const finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      return SimSelection.relative(start, finish);\n    };\n    const preprocessExact = (start, soffset, finish, foffset) => {\n      const startSitu = beforeSpecial(start, soffset);\n      const finishSitu = beforeSpecial(finish, foffset);\n      return SimSelection.relative(startSitu, finishSitu);\n    };\n\n    const makeRange = (start, soffset, finish, foffset) => {\n      const doc = owner(start);\n      const rng = doc.dom.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    const after = (start, soffset, finish, foffset) => {\n      const r = makeRange(start, soffset, finish, foffset);\n      const same = eq$1(start, finish) && soffset === foffset;\n      return r.collapsed && !same;\n    };\n\n    const getNativeSelection = win => Optional.from(win.getSelection());\n    const doSetNativeRange = (win, rng) => {\n      getNativeSelection(win).each(selection => {\n        selection.removeAllRanges();\n        selection.addRange(rng);\n      });\n    };\n    const doSetRange = (win, start, soffset, finish, foffset) => {\n      const rng = exactToNative(win, start, soffset, finish, foffset);\n      doSetNativeRange(win, rng);\n    };\n    const setLegacyRtlRange = (win, selection, start, soffset, finish, foffset) => {\n      selection.collapse(start.dom, soffset);\n      selection.extend(finish.dom, foffset);\n    };\n    const setRangeFromRelative = (win, relative) => diagnose(win, relative).match({\n      ltr: (start, soffset, finish, foffset) => {\n        doSetRange(win, start, soffset, finish, foffset);\n      },\n      rtl: (start, soffset, finish, foffset) => {\n        getNativeSelection(win).each(selection => {\n          if (selection.setBaseAndExtent) {\n            selection.setBaseAndExtent(start.dom, soffset, finish.dom, foffset);\n          } else if (selection.extend) {\n            try {\n              setLegacyRtlRange(win, selection, start, soffset, finish, foffset);\n            } catch (e) {\n              doSetRange(win, finish, foffset, start, soffset);\n            }\n          } else {\n            doSetRange(win, finish, foffset, start, soffset);\n          }\n        });\n      }\n    });\n    const setExact = (win, start, soffset, finish, foffset) => {\n      const relative = preprocessExact(start, soffset, finish, foffset);\n      setRangeFromRelative(win, relative);\n    };\n    const setRelative = (win, startSitu, finishSitu) => {\n      const relative = preprocessRelative(startSitu, finishSitu);\n      setRangeFromRelative(win, relative);\n    };\n    const readRange = selection => {\n      if (selection.rangeCount > 0) {\n        const firstRng = selection.getRangeAt(0);\n        const lastRng = selection.getRangeAt(selection.rangeCount - 1);\n        return Optional.some(SimRange.create(SugarElement.fromDom(firstRng.startContainer), firstRng.startOffset, SugarElement.fromDom(lastRng.endContainer), lastRng.endOffset));\n      } else {\n        return Optional.none();\n      }\n    };\n    const doGetExact = selection => {\n      if (selection.anchorNode === null || selection.focusNode === null) {\n        return readRange(selection);\n      } else {\n        const anchor = SugarElement.fromDom(selection.anchorNode);\n        const focus = SugarElement.fromDom(selection.focusNode);\n        return after(anchor, selection.anchorOffset, focus, selection.focusOffset) ? Optional.some(SimRange.create(anchor, selection.anchorOffset, focus, selection.focusOffset)) : readRange(selection);\n      }\n    };\n    const setToElement = (win, element, selectNodeContents$1 = true) => {\n      const rngGetter = selectNodeContents$1 ? selectNodeContents : selectNode;\n      const rng = rngGetter(win, element);\n      doSetNativeRange(win, rng);\n    };\n    const getExact = win => getNativeSelection(win).filter(sel => sel.rangeCount > 0).bind(doGetExact);\n    const get$2 = win => getExact(win).map(range => SimSelection.exact(range.start, range.soffset, range.finish, range.foffset));\n    const getFirstRect = (win, selection) => {\n      const rng = asLtrRange(win, selection);\n      return getFirstRect$1(rng);\n    };\n    const getAtPoint = (win, x, y) => fromPoint(win, x, y);\n    const clear = win => {\n      getNativeSelection(win).each(selection => selection.removeAllRanges());\n    };\n\n    const WindowBridge = win => {\n      const elementFromPoint = (x, y) => {\n        return SugarElement.fromPoint(SugarElement.fromDom(win.document), x, y);\n      };\n      const getRect = element => {\n        return element.dom.getBoundingClientRect();\n      };\n      const getRangedRect = (start, soffset, finish, foffset) => {\n        const sel = SimSelection.exact(start, soffset, finish, foffset);\n        return getFirstRect(win, sel);\n      };\n      const getSelection = () => {\n        return get$2(win).map(exactAdt => {\n          return convertToRange(win, exactAdt);\n        });\n      };\n      const fromSitus = situs => {\n        const relative = SimSelection.relative(situs.start, situs.finish);\n        return convertToRange(win, relative);\n      };\n      const situsFromPoint = (x, y) => {\n        return getAtPoint(win, x, y).map(exact => {\n          return Situs.create(exact.start, exact.soffset, exact.finish, exact.foffset);\n        });\n      };\n      const clearSelection = () => {\n        clear(win);\n      };\n      const collapseSelection = (toStart = false) => {\n        get$2(win).each(sel => sel.fold(rng => rng.collapse(toStart), (startSitu, finishSitu) => {\n          const situ = toStart ? startSitu : finishSitu;\n          setRelative(win, situ, situ);\n        }, (start, soffset, finish, foffset) => {\n          const node = toStart ? start : finish;\n          const offset = toStart ? soffset : foffset;\n          setExact(win, node, offset, node, offset);\n        }));\n      };\n      const selectNode = element => {\n        setToElement(win, element, false);\n      };\n      const selectContents = element => {\n        setToElement(win, element);\n      };\n      const setSelection = sel => {\n        setExact(win, sel.start, sel.soffset, sel.finish, sel.foffset);\n      };\n      const setRelativeSelection = (start, finish) => {\n        setRelative(win, start, finish);\n      };\n      const getInnerHeight = () => {\n        return win.innerHeight;\n      };\n      const getScrollY = () => {\n        const pos = get$3(SugarElement.fromDom(win.document));\n        return pos.top;\n      };\n      const scrollBy = (x, y) => {\n        by(x, y, SugarElement.fromDom(win.document));\n      };\n      return {\n        elementFromPoint,\n        getRect,\n        getRangedRect,\n        getSelection,\n        fromSitus,\n        situsFromPoint,\n        clearSelection,\n        collapseSelection,\n        setSelection,\n        setRelativeSelection,\n        selectNode,\n        selectContents,\n        getInnerHeight,\n        getScrollY,\n        scrollBy\n      };\n    };\n\n    const rc = (rows, cols) => ({\n      rows,\n      cols\n    });\n    const mouse = (win, container, isRoot, annotations) => {\n      const bridge = WindowBridge(win);\n      const handlers = MouseSelection(bridge, container, isRoot, annotations);\n      return {\n        clearstate: handlers.clearstate,\n        mousedown: handlers.mousedown,\n        mouseover: handlers.mouseover,\n        mouseup: handlers.mouseup\n      };\n    };\n    const isEditableNode = node => closest$2(node, isHTMLElement).exists(isEditable$1);\n    const isEditableSelection = (start, finish) => isEditableNode(start) || isEditableNode(finish);\n    const keyboard = (win, container, isRoot, annotations) => {\n      const bridge = WindowBridge(win);\n      const clearToNavigate = () => {\n        annotations.clear(container);\n        return Optional.none();\n      };\n      const keydown = (event, start, soffset, finish, foffset, direction) => {\n        const realEvent = event.raw;\n        const keycode = realEvent.which;\n        const shiftKey = realEvent.shiftKey === true;\n        const handler = retrieve$1(container, annotations.selectedSelector).fold(() => {\n          if (isNavigation(keycode) && !shiftKey) {\n            annotations.clearBeforeUpdate(container);\n          }\n          if (isNavigation(keycode) && shiftKey && !isEditableSelection(start, finish)) {\n            return Optional.none;\n          } else if (isDown(keycode) && shiftKey) {\n            return curry(select, bridge, container, isRoot, down, finish, start, annotations.selectRange);\n          } else if (isUp(keycode) && shiftKey) {\n            return curry(select, bridge, container, isRoot, up, finish, start, annotations.selectRange);\n          } else if (isDown(keycode)) {\n            return curry(navigate, bridge, isRoot, down, finish, start, lastDownCheck);\n          } else if (isUp(keycode)) {\n            return curry(navigate, bridge, isRoot, up, finish, start, firstUpCheck);\n          } else {\n            return Optional.none;\n          }\n        }, selected => {\n          const update$1 = attempts => {\n            return () => {\n              const navigation = findMap(attempts, delta => {\n                return update(delta.rows, delta.cols, container, selected, annotations);\n              });\n              return navigation.fold(() => {\n                return getEdges(container, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(edges => {\n                  const relative = isDown(keycode) || direction.isForward(keycode) ? Situ.after : Situ.before;\n                  bridge.setRelativeSelection(Situ.on(edges.first, 0), relative(edges.table));\n                  annotations.clear(container);\n                  return Response.create(Optional.none(), true);\n                });\n              }, _ => {\n                return Optional.some(Response.create(Optional.none(), true));\n              });\n            };\n          };\n          if (isNavigation(keycode) && shiftKey && !isEditableSelection(start, finish)) {\n            return Optional.none;\n          } else if (isDown(keycode) && shiftKey) {\n            return update$1([rc(+1, 0)]);\n          } else if (isUp(keycode) && shiftKey) {\n            return update$1([rc(-1, 0)]);\n          } else if (direction.isBackward(keycode) && shiftKey) {\n            return update$1([rc(0, -1), rc(-1, 0)]);\n          } else if (direction.isForward(keycode) && shiftKey) {\n            return update$1([rc(0, +1), rc(+1, 0)]);\n          } else if (isNavigation(keycode) && !shiftKey) {\n            return clearToNavigate;\n          } else {\n            return Optional.none;\n          }\n        });\n        return handler();\n      };\n      const keyup = (event, start, soffset, finish, foffset) => {\n        return retrieve$1(container, annotations.selectedSelector).fold(() => {\n          const realEvent = event.raw;\n          const keycode = realEvent.which;\n          const shiftKey = realEvent.shiftKey === true;\n          if (!shiftKey) {\n            return Optional.none();\n          }\n          if (isNavigation(keycode) && isEditableSelection(start, finish)) {\n            return sync(container, isRoot, start, soffset, finish, foffset, annotations.selectRange);\n          } else {\n            return Optional.none();\n          }\n        }, Optional.none);\n      };\n      return {\n        keydown,\n        keyup\n      };\n    };\n    const external = (win, container, isRoot, annotations) => {\n      const bridge = WindowBridge(win);\n      return (start, finish) => {\n        annotations.clearBeforeUpdate(container);\n        identify(start, finish, isRoot).each(cellSel => {\n          const boxes = cellSel.boxes.getOr([]);\n          annotations.selectRange(container, boxes, cellSel.start, cellSel.finish);\n          bridge.selectContents(finish);\n          bridge.collapseSelection();\n        });\n      };\n    };\n\n    const read = (element, attr) => {\n      const value = get$b(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$2 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set$2(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$4 = (element, attr, id) => {\n      const nu = filter$2(read(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set$2(element, attr, nu.join(' '));\n      } else {\n        remove$7(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get$1 = element => read(element, 'class');\n    const add$1 = (element, clazz) => add$2(element, 'class', clazz);\n    const remove$3 = (element, clazz) => remove$4(element, 'class', clazz);\n\n    const add = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$1(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get$1(element);\n      if (classList.length === 0) {\n        remove$7(element, 'class');\n      }\n    };\n    const remove$2 = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$3(element, clazz);\n      }\n      cleanClass(element);\n    };\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const remove$1 = (element, classes) => {\n      each$2(classes, x => {\n        remove$2(element, x);\n      });\n    };\n\n    const addClass = clazz => element => {\n      add(element, clazz);\n    };\n    const removeClasses = classes => element => {\n      remove$1(element, classes);\n    };\n\n    const byClass = ephemera => {\n      const addSelectionClass = addClass(ephemera.selected);\n      const removeSelectionClasses = removeClasses([ephemera.selected, ephemera.lastSelected, ephemera.firstSelected]);\n      const clear = container => {\n        const sels = descendants(container, ephemera.selectedSelector);\n        each$2(sels, removeSelectionClasses);\n      };\n      const selectRange = (container, cells, start, finish) => {\n        clear(container);\n        each$2(cells, addSelectionClass);\n        add(start, ephemera.firstSelected);\n        add(finish, ephemera.lastSelected);\n      };\n      return {\n        clearBeforeUpdate: clear,\n        clear,\n        selectRange,\n        selectedSelector: ephemera.selectedSelector,\n        firstSelectedSelector: ephemera.firstSelectedSelector,\n        lastSelectedSelector: ephemera.lastSelectedSelector\n      };\n    };\n    const byAttr = (ephemera, onSelection, onClear) => {\n      const removeSelectionAttributes = element => {\n        remove$7(element, ephemera.selected);\n        remove$7(element, ephemera.firstSelected);\n        remove$7(element, ephemera.lastSelected);\n      };\n      const addSelectionAttribute = element => {\n        set$2(element, ephemera.selected, '1');\n      };\n      const clear = container => {\n        clearBeforeUpdate(container);\n        onClear();\n      };\n      const clearBeforeUpdate = container => {\n        const sels = descendants(container, \"\".concat(ephemera.selectedSelector, \",\").concat(ephemera.firstSelectedSelector, \",\").concat(ephemera.lastSelectedSelector));\n        each$2(sels, removeSelectionAttributes);\n      };\n      const selectRange = (container, cells, start, finish) => {\n        clear(container);\n        each$2(cells, addSelectionAttribute);\n        set$2(start, ephemera.firstSelected, '1');\n        set$2(finish, ephemera.lastSelected, '1');\n        onSelection(cells, start, finish);\n      };\n      return {\n        clearBeforeUpdate,\n        clear,\n        selectRange,\n        selectedSelector: ephemera.selectedSelector,\n        firstSelectedSelector: ephemera.firstSelectedSelector,\n        lastSelectedSelector: ephemera.lastSelectedSelector\n      };\n    };\n    const SelectionAnnotation = {\n      byClass,\n      byAttr\n    };\n\n    const fold = (subject, onNone, onMultiple, onSingle) => {\n      switch (subject.tag) {\n        case 'none':\n          return onNone();\n        case 'single':\n          return onSingle(subject.element);\n        case 'multiple':\n          return onMultiple(subject.elements);\n      }\n    };\n    const none = () => ({\n      tag: 'none'\n    });\n    const multiple = elements => ({\n      tag: 'multiple',\n      elements\n    });\n    const single = element => ({\n      tag: 'single',\n      element\n    });\n\n    const Selections = (lazyRoot, getStart, selectedSelector) => {\n      const get = () => retrieve(lazyRoot(), selectedSelector).fold(() => getStart().fold(none, single), multiple);\n      return {\n        get\n      };\n    };\n\n    const getUpOrLeftCells = (grid, selectedCells) => {\n      const upGrid = grid.slice(0, selectedCells[selectedCells.length - 1].row + 1);\n      const upDetails = toDetailList(upGrid);\n      return bind$2(upDetails, detail => {\n        const slicedCells = detail.cells.slice(0, selectedCells[selectedCells.length - 1].column + 1);\n        return map$1(slicedCells, cell => cell.element);\n      });\n    };\n    const getDownOrRightCells = (grid, selectedCells) => {\n      const downGrid = grid.slice(selectedCells[0].row + selectedCells[0].rowspan - 1, grid.length);\n      const downDetails = toDetailList(downGrid);\n      return bind$2(downDetails, detail => {\n        const slicedCells = detail.cells.slice(selectedCells[0].column + selectedCells[0].colspan - 1, detail.cells.length);\n        return map$1(slicedCells, cell => cell.element);\n      });\n    };\n    const getOtherCells = (table, target, generators) => {\n      const warehouse = Warehouse.fromTable(table);\n      const details = onCells(warehouse, target);\n      return details.map(selectedCells => {\n        const grid = toGrid(warehouse, generators, false);\n        const {\n          rows\n        } = extractGridDetails(grid);\n        const upOrLeftCells = getUpOrLeftCells(rows, selectedCells);\n        const downOrRightCells = getDownOrRightCells(rows, selectedCells);\n        return {\n          upOrLeftCells,\n          downOrRightCells\n        };\n      });\n    };\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent$1 = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent$1(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$1 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const filter = always;\n    const bind = (element, event, handler) => bind$1(element, event, filter, handler);\n    const fromRawEvent = fromRawEvent$1;\n\n    const hasInternalTarget = e => !has(SugarElement.fromDom(e.target), 'ephox-snooker-resizer-bar');\n    const TableCellSelectionHandler = (editor, resizeHandler) => {\n      const cellSelection = Selections(() => SugarElement.fromDom(editor.getBody()), () => getSelectionCell(getSelectionStart(editor), getIsRoot(editor)), ephemera.selectedSelector);\n      const onSelection = (cells, start, finish) => {\n        const tableOpt = table(start);\n        tableOpt.each(table => {\n          const cloneFormats = getTableCloneElements(editor);\n          const generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), cloneFormats);\n          const selectedCells = getCellsFromSelection(editor);\n          const otherCells = getOtherCells(table, {\n            selection: selectedCells\n          }, generators);\n          fireTableSelectionChange(editor, cells, start, finish, otherCells);\n        });\n      };\n      const onClear = () => fireTableSelectionClear(editor);\n      const annotations = SelectionAnnotation.byAttr(ephemera, onSelection, onClear);\n      editor.on('init', _e => {\n        const win = editor.getWin();\n        const body = getBody(editor);\n        const isRoot = getIsRoot(editor);\n        const syncSelection = () => {\n          const sel = editor.selection;\n          const start = SugarElement.fromDom(sel.getStart());\n          const end = SugarElement.fromDom(sel.getEnd());\n          const shared = sharedOne(table, [start, end]);\n          shared.fold(() => annotations.clear(body), noop);\n        };\n        const mouseHandlers = mouse(win, body, isRoot, annotations);\n        const keyHandlers = keyboard(win, body, isRoot, annotations);\n        const external$1 = external(win, body, isRoot, annotations);\n        const hasShiftKey = event => event.raw.shiftKey === true;\n        editor.on('TableSelectorChange', e => external$1(e.start, e.finish));\n        const handleResponse = (event, response) => {\n          if (!hasShiftKey(event)) {\n            return;\n          }\n          if (response.kill) {\n            event.kill();\n          }\n          response.selection.each(ns => {\n            const relative = SimSelection.relative(ns.start, ns.finish);\n            const rng = asLtrRange(win, relative);\n            editor.selection.setRng(rng);\n          });\n        };\n        const keyup = event => {\n          const wrappedEvent = fromRawEvent(event);\n          if (wrappedEvent.raw.shiftKey && isNavigation(wrappedEvent.raw.which)) {\n            const rng = editor.selection.getRng();\n            const start = SugarElement.fromDom(rng.startContainer);\n            const end = SugarElement.fromDom(rng.endContainer);\n            keyHandlers.keyup(wrappedEvent, start, rng.startOffset, end, rng.endOffset).each(response => {\n              handleResponse(wrappedEvent, response);\n            });\n          }\n        };\n        const keydown = event => {\n          const wrappedEvent = fromRawEvent(event);\n          resizeHandler.hide();\n          const rng = editor.selection.getRng();\n          const start = SugarElement.fromDom(rng.startContainer);\n          const end = SugarElement.fromDom(rng.endContainer);\n          const direction = onDirection(ltr, rtl)(SugarElement.fromDom(editor.selection.getStart()));\n          keyHandlers.keydown(wrappedEvent, start, rng.startOffset, end, rng.endOffset, direction).each(response => {\n            handleResponse(wrappedEvent, response);\n          });\n          resizeHandler.show();\n        };\n        const isLeftMouse = raw => raw.button === 0;\n        const isLeftButtonPressed = raw => {\n          if (raw.buttons === undefined) {\n            return true;\n          }\n          return (raw.buttons & 1) !== 0;\n        };\n        const dragStart = _e => {\n          mouseHandlers.clearstate();\n        };\n        const mouseDown = e => {\n          if (isLeftMouse(e) && hasInternalTarget(e)) {\n            mouseHandlers.mousedown(fromRawEvent(e));\n          }\n        };\n        const mouseOver = e => {\n          if (isLeftButtonPressed(e) && hasInternalTarget(e)) {\n            mouseHandlers.mouseover(fromRawEvent(e));\n          }\n        };\n        const mouseUp = e => {\n          if (isLeftMouse(e) && hasInternalTarget(e)) {\n            mouseHandlers.mouseup(fromRawEvent(e));\n          }\n        };\n        const getDoubleTap = () => {\n          const lastTarget = Cell(SugarElement.fromDom(body));\n          const lastTimeStamp = Cell(0);\n          const touchEnd = t => {\n            const target = SugarElement.fromDom(t.target);\n            if (isTag('td')(target) || isTag('th')(target)) {\n              const lT = lastTarget.get();\n              const lTS = lastTimeStamp.get();\n              if (eq$1(lT, target) && t.timeStamp - lTS < 300) {\n                t.preventDefault();\n                external$1(target, target);\n              }\n            }\n            lastTarget.set(target);\n            lastTimeStamp.set(t.timeStamp);\n          };\n          return {\n            touchEnd\n          };\n        };\n        const doubleTap = getDoubleTap();\n        editor.on('dragstart', dragStart);\n        editor.on('mousedown', mouseDown);\n        editor.on('mouseover', mouseOver);\n        editor.on('mouseup', mouseUp);\n        editor.on('touchend', doubleTap.touchEnd);\n        editor.on('keyup', keyup);\n        editor.on('keydown', keydown);\n        editor.on('NodeChange', syncSelection);\n      });\n      editor.on('PreInit', () => {\n        editor.serializer.addTempAttr(ephemera.firstSelected);\n        editor.serializer.addTempAttr(ephemera.lastSelected);\n      });\n      const clearSelectedCells = container => annotations.clear(SugarElement.fromDom(container));\n      const getSelectedCells = () => fold(cellSelection.get(), constant([]), cells => {\n        return map$1(cells, cell => cell.dom);\n      }, cell => [cell.dom]);\n      return {\n        getSelectedCells,\n        clearSelectedCells\n      };\n    };\n\n    const Event = fields => {\n      let handlers = [];\n      const bind = handler => {\n        if (handler === undefined) {\n          throw new Error('Event bind error: undefined handler');\n        }\n        handlers.push(handler);\n      };\n      const unbind = handler => {\n        handlers = filter$2(handlers, h => {\n          return h !== handler;\n        });\n      };\n      const trigger = (...args) => {\n        const event = {};\n        each$2(fields, (name, i) => {\n          event[name] = args[i];\n        });\n        each$2(handlers, handler => {\n          handler(event);\n        });\n      };\n      return {\n        bind,\n        unbind,\n        trigger\n      };\n    };\n\n    const create$1 = typeDefs => {\n      const registry = map(typeDefs, event => {\n        return {\n          bind: event.bind,\n          unbind: event.unbind\n        };\n      });\n      const trigger = map(typeDefs, event => {\n        return event.trigger;\n      });\n      return {\n        registry,\n        trigger\n      };\n    };\n\n    const last = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const sort = arr => {\n      return arr.slice(0).sort();\n    };\n    const reqMessage = (required, keys) => {\n      throw new Error('All required keys (' + sort(required).join(', ') + ') were not specified. Specified keys were: ' + sort(keys).join(', ') + '.');\n    };\n    const unsuppMessage = unsupported => {\n      throw new Error('Unsupported keys for object: ' + sort(unsupported).join(', '));\n    };\n    const validateStrArr = (label, array) => {\n      if (!isArray(array)) {\n        throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.');\n      }\n      each$2(array, a => {\n        if (!isString(a)) {\n          throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.');\n        }\n      });\n    };\n    const invalidTypeMessage = (incorrect, type) => {\n      throw new Error('All values need to be of type: ' + type + '. Keys (' + sort(incorrect).join(', ') + ') were not.');\n    };\n    const checkDupes = everything => {\n      const sorted = sort(everything);\n      const dupe = find$1(sorted, (s, i) => {\n        return i < sorted.length - 1 && s === sorted[i + 1];\n      });\n      dupe.each(d => {\n        throw new Error('The field: ' + d + ' occurs more than once in the combined fields: [' + sorted.join(', ') + '].');\n      });\n    };\n\n    const base = (handleUnsupported, required) => {\n      return baseWith(handleUnsupported, required, {\n        validate: isFunction,\n        label: 'function'\n      });\n    };\n    const baseWith = (handleUnsupported, required, pred) => {\n      if (required.length === 0) {\n        throw new Error('You must specify at least one required field.');\n      }\n      validateStrArr('required', required);\n      checkDupes(required);\n      return obj => {\n        const keys$1 = keys(obj);\n        const allReqd = forall(required, req => {\n          return contains$2(keys$1, req);\n        });\n        if (!allReqd) {\n          reqMessage(required, keys$1);\n        }\n        handleUnsupported(required, keys$1);\n        const invalidKeys = filter$2(required, key => {\n          return !pred.validate(obj[key], key);\n        });\n        if (invalidKeys.length > 0) {\n          invalidTypeMessage(invalidKeys, pred.label);\n        }\n        return obj;\n      };\n    };\n    const handleExact = (required, keys) => {\n      const unsupported = filter$2(keys, key => {\n        return !contains$2(required, key);\n      });\n      if (unsupported.length > 0) {\n        unsuppMessage(unsupported);\n      }\n    };\n    const exactly = required => base(handleExact, required);\n\n    const DragMode = exactly(['compare', 'extract', 'mutate', 'sink']);\n    const DragSink = exactly(['element', 'start', 'stop', 'destroy']);\n    const DragApi = exactly(['forceDrop', 'drop', 'move', 'delayDrop']);\n\n    const InDrag = () => {\n      let previous = Optional.none();\n      const reset = () => {\n        previous = Optional.none();\n      };\n      const update = (mode, nu) => {\n        const result = previous.map(old => {\n          return mode.compare(old, nu);\n        });\n        previous = Optional.some(nu);\n        return result;\n      };\n      const onEvent = (event, mode) => {\n        const dataOption = mode.extract(event);\n        dataOption.each(data => {\n          const offset = update(mode, data);\n          offset.each(d => {\n            events.trigger.move(d);\n          });\n        });\n      };\n      const events = create$1({\n        move: Event(['info'])\n      });\n      return {\n        onEvent,\n        reset,\n        events: events.registry\n      };\n    };\n\n    const NoDrag = () => {\n      const events = create$1({\n        move: Event(['info'])\n      });\n      return {\n        onEvent: noop,\n        reset: noop,\n        events: events.registry\n      };\n    };\n\n    const Movement = () => {\n      const noDragState = NoDrag();\n      const inDragState = InDrag();\n      let dragState = noDragState;\n      const on = () => {\n        dragState.reset();\n        dragState = inDragState;\n      };\n      const off = () => {\n        dragState.reset();\n        dragState = noDragState;\n      };\n      const onEvent = (event, mode) => {\n        dragState.onEvent(event, mode);\n      };\n      const isOn = () => {\n        return dragState === inDragState;\n      };\n      return {\n        on,\n        off,\n        isOn,\n        onEvent,\n        events: inDragState.events\n      };\n    };\n\n    const setup = (mutation, mode, settings) => {\n      let active = false;\n      const events = create$1({\n        start: Event([]),\n        stop: Event([])\n      });\n      const movement = Movement();\n      const drop = () => {\n        sink.stop();\n        if (movement.isOn()) {\n          movement.off();\n          events.trigger.stop();\n        }\n      };\n      const throttledDrop = last(drop, 200);\n      const go = parent => {\n        sink.start(parent);\n        movement.on();\n        events.trigger.start();\n      };\n      const mousemove = event => {\n        throttledDrop.cancel();\n        movement.onEvent(event, mode);\n      };\n      movement.events.move.bind(event => {\n        mode.mutate(mutation, event.info);\n      });\n      const on = () => {\n        active = true;\n      };\n      const off = () => {\n        active = false;\n      };\n      const isActive = () => active;\n      const runIfActive = f => {\n        return (...args) => {\n          if (active) {\n            f.apply(null, args);\n          }\n        };\n      };\n      const sink = mode.sink(DragApi({\n        forceDrop: drop,\n        drop: runIfActive(drop),\n        move: runIfActive(mousemove),\n        delayDrop: runIfActive(throttledDrop.throttle)\n      }), settings);\n      const destroy = () => {\n        sink.destroy();\n      };\n      return {\n        element: sink.element,\n        go,\n        on,\n        off,\n        isActive,\n        destroy,\n        events: events.registry\n      };\n    };\n\n    const css = namespace => {\n      const dashNamespace = namespace.replace(/\\./g, '-');\n      const resolve = str => {\n        return dashNamespace + '-' + str;\n      };\n      return {\n        resolve\n      };\n    };\n\n    const styles$1 = css('ephox-dragster');\n    const resolve$1 = styles$1.resolve;\n\n    const Blocker = options => {\n      const settings = {\n        layerClass: resolve$1('blocker'),\n        ...options\n      };\n      const div = SugarElement.fromTag('div');\n      set$2(div, 'role', 'presentation');\n      setAll(div, {\n        position: 'fixed',\n        left: '0px',\n        top: '0px',\n        width: '100%',\n        height: '100%'\n      });\n      add(div, resolve$1('blocker'));\n      add(div, settings.layerClass);\n      const element = constant(div);\n      const destroy = () => {\n        remove$6(div);\n      };\n      return {\n        element,\n        destroy\n      };\n    };\n\n    const compare = (old, nu) => {\n      return SugarPosition(nu.left - old.left, nu.top - old.top);\n    };\n    const extract = event => {\n      return Optional.some(SugarPosition(event.x, event.y));\n    };\n    const mutate = (mutation, info) => {\n      mutation.mutate(info.left, info.top);\n    };\n    const sink = (dragApi, settings) => {\n      const blocker = Blocker(settings);\n      const mdown = bind(blocker.element(), 'mousedown', dragApi.forceDrop);\n      const mup = bind(blocker.element(), 'mouseup', dragApi.drop);\n      const mmove = bind(blocker.element(), 'mousemove', dragApi.move);\n      const mout = bind(blocker.element(), 'mouseout', dragApi.delayDrop);\n      const destroy = () => {\n        blocker.destroy();\n        mup.unbind();\n        mmove.unbind();\n        mout.unbind();\n        mdown.unbind();\n      };\n      const start = parent => {\n        append$1(parent, blocker.element());\n      };\n      const stop = () => {\n        remove$6(blocker.element());\n      };\n      return DragSink({\n        element: blocker.element,\n        start,\n        stop,\n        destroy\n      });\n    };\n    var MouseDrag = DragMode({\n      compare,\n      extract,\n      sink,\n      mutate\n    });\n\n    const transform = (mutation, settings = {}) => {\n      var _a;\n      const mode = (_a = settings.mode) !== null && _a !== void 0 ? _a : MouseDrag;\n      return setup(mutation, mode, settings);\n    };\n\n    const styles = css('ephox-snooker');\n    const resolve = styles.resolve;\n\n    const Mutation = () => {\n      const events = create$1({\n        drag: Event(['xDelta', 'yDelta'])\n      });\n      const mutate = (x, y) => {\n        events.trigger.drag(x, y);\n      };\n      return {\n        mutate,\n        events: events.registry\n      };\n    };\n\n    const BarMutation = () => {\n      const events = create$1({\n        drag: Event(['xDelta', 'yDelta', 'target'])\n      });\n      let target = Optional.none();\n      const delegate = Mutation();\n      delegate.events.drag.bind(event => {\n        target.each(t => {\n          events.trigger.drag(event.xDelta, event.yDelta, t);\n        });\n      });\n      const assign = t => {\n        target = Optional.some(t);\n      };\n      const get = () => {\n        return target;\n      };\n      return {\n        assign,\n        get,\n        mutate: delegate.mutate,\n        events: events.registry\n      };\n    };\n\n    const col = (column, x, y, w, h) => {\n      const bar = SugarElement.fromTag('div');\n      setAll(bar, {\n        position: 'absolute',\n        left: x - w / 2 + 'px',\n        top: y + 'px',\n        height: h + 'px',\n        width: w + 'px'\n      });\n      setAll$1(bar, {\n        'data-column': column,\n        'role': 'presentation'\n      });\n      return bar;\n    };\n    const row = (r, x, y, w, h) => {\n      const bar = SugarElement.fromTag('div');\n      setAll(bar, {\n        position: 'absolute',\n        left: x + 'px',\n        top: y - h / 2 + 'px',\n        height: h + 'px',\n        width: w + 'px'\n      });\n      setAll$1(bar, {\n        'data-row': r,\n        'role': 'presentation'\n      });\n      return bar;\n    };\n\n    const resizeBar = resolve('resizer-bar');\n    const resizeRowBar = resolve('resizer-rows');\n    const resizeColBar = resolve('resizer-cols');\n    const BAR_THICKNESS = 7;\n    const resizableRows = (warehouse, isResizable) => bind$2(warehouse.all, (row, i) => isResizable(row.element) ? [i] : []);\n    const resizableColumns = (warehouse, isResizable) => {\n      const resizableCols = [];\n      range$1(warehouse.grid.columns, index => {\n        const colElmOpt = Warehouse.getColumnAt(warehouse, index).map(col => col.element);\n        if (colElmOpt.forall(isResizable)) {\n          resizableCols.push(index);\n        }\n      });\n      return filter$2(resizableCols, colIndex => {\n        const columnCells = Warehouse.filterItems(warehouse, cell => cell.column === colIndex);\n        return forall(columnCells, cell => isResizable(cell.element));\n      });\n    };\n    const destroy = wire => {\n      const previous = descendants(wire.parent(), '.' + resizeBar);\n      each$2(previous, remove$6);\n    };\n    const drawBar = (wire, positions, create) => {\n      const origin = wire.origin();\n      each$2(positions, cpOption => {\n        cpOption.each(cp => {\n          const bar = create(origin, cp);\n          add(bar, resizeBar);\n          append$1(wire.parent(), bar);\n        });\n      });\n    };\n    const refreshCol = (wire, colPositions, position, tableHeight) => {\n      drawBar(wire, colPositions, (origin, cp) => {\n        const colBar = col(cp.col, cp.x - origin.left, position.top - origin.top, BAR_THICKNESS, tableHeight);\n        add(colBar, resizeColBar);\n        return colBar;\n      });\n    };\n    const refreshRow = (wire, rowPositions, position, tableWidth) => {\n      drawBar(wire, rowPositions, (origin, cp) => {\n        const rowBar = row(cp.row, position.left - origin.left, cp.y - origin.top, tableWidth, BAR_THICKNESS);\n        add(rowBar, resizeRowBar);\n        return rowBar;\n      });\n    };\n    const refreshGrid = (warhouse, wire, table, rows, cols) => {\n      const position = absolute(table);\n      const isResizable = wire.isResizable;\n      const rowPositions = rows.length > 0 ? height.positions(rows, table) : [];\n      const resizableRowBars = rowPositions.length > 0 ? resizableRows(warhouse, isResizable) : [];\n      const resizableRowPositions = filter$2(rowPositions, (_pos, i) => exists(resizableRowBars, barIndex => i === barIndex));\n      refreshRow(wire, resizableRowPositions, position, getOuter$2(table));\n      const colPositions = cols.length > 0 ? width.positions(cols, table) : [];\n      const resizableColBars = colPositions.length > 0 ? resizableColumns(warhouse, isResizable) : [];\n      const resizableColPositions = filter$2(colPositions, (_pos, i) => exists(resizableColBars, barIndex => i === barIndex));\n      refreshCol(wire, resizableColPositions, position, getOuter$1(table));\n    };\n    const refresh = (wire, table) => {\n      destroy(wire);\n      if (wire.isResizable(table)) {\n        const warehouse = Warehouse.fromTable(table);\n        const rows$1 = rows(warehouse);\n        const cols = columns(warehouse);\n        refreshGrid(warehouse, wire, table, rows$1, cols);\n      }\n    };\n    const each = (wire, f) => {\n      const bars = descendants(wire.parent(), '.' + resizeBar);\n      each$2(bars, f);\n    };\n    const hide = wire => {\n      each(wire, bar => {\n        set$1(bar, 'display', 'none');\n      });\n    };\n    const show = wire => {\n      each(wire, bar => {\n        set$1(bar, 'display', 'block');\n      });\n    };\n    const isRowBar = element => {\n      return has(element, resizeRowBar);\n    };\n    const isColBar = element => {\n      return has(element, resizeColBar);\n    };\n\n    const resizeBarDragging = resolve('resizer-bar-dragging');\n    const BarManager = wire => {\n      const mutation = BarMutation();\n      const resizing = transform(mutation, {});\n      let hoverTable = Optional.none();\n      const getResizer = (element, type) => {\n        return Optional.from(get$b(element, type));\n      };\n      mutation.events.drag.bind(event => {\n        getResizer(event.target, 'data-row').each(_dataRow => {\n          const currentRow = getCssValue(event.target, 'top');\n          set$1(event.target, 'top', currentRow + event.yDelta + 'px');\n        });\n        getResizer(event.target, 'data-column').each(_dataCol => {\n          const currentCol = getCssValue(event.target, 'left');\n          set$1(event.target, 'left', currentCol + event.xDelta + 'px');\n        });\n      });\n      const getDelta = (target, dir) => {\n        const newX = getCssValue(target, dir);\n        const oldX = getAttrValue(target, 'data-initial-' + dir, 0);\n        return newX - oldX;\n      };\n      resizing.events.stop.bind(() => {\n        mutation.get().each(target => {\n          hoverTable.each(table => {\n            getResizer(target, 'data-row').each(row => {\n              const delta = getDelta(target, 'top');\n              remove$7(target, 'data-initial-top');\n              events.trigger.adjustHeight(table, delta, parseInt(row, 10));\n            });\n            getResizer(target, 'data-column').each(column => {\n              const delta = getDelta(target, 'left');\n              remove$7(target, 'data-initial-left');\n              events.trigger.adjustWidth(table, delta, parseInt(column, 10));\n            });\n            refresh(wire, table);\n          });\n        });\n      });\n      const handler = (target, dir) => {\n        events.trigger.startAdjust();\n        mutation.assign(target);\n        set$2(target, 'data-initial-' + dir, getCssValue(target, dir));\n        add(target, resizeBarDragging);\n        set$1(target, 'opacity', '0.2');\n        resizing.go(wire.parent());\n      };\n      const mousedown = bind(wire.parent(), 'mousedown', event => {\n        if (isRowBar(event.target)) {\n          handler(event.target, 'top');\n        }\n        if (isColBar(event.target)) {\n          handler(event.target, 'left');\n        }\n      });\n      const isRoot = e => {\n        return eq$1(e, wire.view());\n      };\n      const findClosestEditableTable = target => closest$1(target, 'table', isRoot).filter(isEditable$1);\n      const mouseover = bind(wire.view(), 'mouseover', event => {\n        findClosestEditableTable(event.target).fold(() => {\n          if (inBody(event.target)) {\n            destroy(wire);\n          }\n        }, table => {\n          if (resizing.isActive()) {\n            hoverTable = Optional.some(table);\n            refresh(wire, table);\n          }\n        });\n      });\n      const destroy$1 = () => {\n        mousedown.unbind();\n        mouseover.unbind();\n        resizing.destroy();\n        destroy(wire);\n      };\n      const refresh$1 = tbl => {\n        refresh(wire, tbl);\n      };\n      const events = create$1({\n        adjustHeight: Event(['table', 'delta', 'row']),\n        adjustWidth: Event(['table', 'delta', 'column']),\n        startAdjust: Event([])\n      });\n      return {\n        destroy: destroy$1,\n        refresh: refresh$1,\n        on: resizing.on,\n        off: resizing.off,\n        hideBars: curry(hide, wire),\n        showBars: curry(show, wire),\n        events: events.registry\n      };\n    };\n\n    const create = (wire, resizing, lazySizing) => {\n      const hdirection = height;\n      const vdirection = width;\n      const manager = BarManager(wire);\n      const events = create$1({\n        beforeResize: Event(['table', 'type']),\n        afterResize: Event(['table', 'type']),\n        startDrag: Event([])\n      });\n      manager.events.adjustHeight.bind(event => {\n        const table = event.table;\n        events.trigger.beforeResize(table, 'row');\n        const delta = hdirection.delta(event.delta, table);\n        adjustHeight(table, delta, event.row, hdirection);\n        events.trigger.afterResize(table, 'row');\n      });\n      manager.events.startAdjust.bind(_event => {\n        events.trigger.startDrag();\n      });\n      manager.events.adjustWidth.bind(event => {\n        const table = event.table;\n        events.trigger.beforeResize(table, 'col');\n        const delta = vdirection.delta(event.delta, table);\n        const tableSize = lazySizing(table);\n        adjustWidth(table, delta, event.column, resizing, tableSize);\n        events.trigger.afterResize(table, 'col');\n      });\n      return {\n        on: manager.on,\n        off: manager.off,\n        refreshBars: manager.refresh,\n        hideBars: manager.hideBars,\n        showBars: manager.showBars,\n        destroy: manager.destroy,\n        events: events.registry\n      };\n    };\n    const TableResize = {\n      create\n    };\n\n    const only = (element, isResizable) => {\n      const parent = isDocument(element) ? documentElement(element) : element;\n      return {\n        parent: constant(parent),\n        view: constant(element),\n        origin: constant(SugarPosition(0, 0)),\n        isResizable\n      };\n    };\n    const detached = (editable, chrome, isResizable) => {\n      const origin = () => absolute(chrome);\n      return {\n        parent: constant(chrome),\n        view: constant(editable),\n        origin,\n        isResizable\n      };\n    };\n    const body = (editable, chrome, isResizable) => {\n      return {\n        parent: constant(chrome),\n        view: constant(editable),\n        origin: constant(SugarPosition(0, 0)),\n        isResizable\n      };\n    };\n    const ResizeWire = {\n      only,\n      detached,\n      body\n    };\n\n    const createContainer = () => {\n      const container = SugarElement.fromTag('div');\n      setAll(container, {\n        position: 'static',\n        height: '0',\n        width: '0',\n        padding: '0',\n        margin: '0',\n        border: '0'\n      });\n      append$1(body$1(), container);\n      return container;\n    };\n    const get = (editor, isResizable) => {\n      return editor.inline ? ResizeWire.body(SugarElement.fromDom(editor.getBody()), createContainer(), isResizable) : ResizeWire.only(SugarElement.fromDom(editor.getDoc()), isResizable);\n    };\n    const remove = (editor, wire) => {\n      if (editor.inline) {\n        remove$6(wire.parent());\n      }\n    };\n\n    const isTable = node => isNonNullable(node) && node.nodeName === 'TABLE';\n    const barResizerPrefix = 'bar-';\n    const isResizable = elm => get$b(elm, 'data-mce-resize') !== 'false';\n    const syncPixels = table => {\n      const warehouse = Warehouse.fromTable(table);\n      if (!Warehouse.hasColumns(warehouse)) {\n        each$2(cells$1(table), cell => {\n          const computedWidth = get$a(cell, 'width');\n          set$1(cell, 'width', computedWidth);\n          remove$7(cell, 'width');\n        });\n      }\n    };\n    const TableResizeHandler = editor => {\n      const selectionRng = value();\n      const tableResize = value();\n      const resizeWire = value();\n      let startW;\n      let startRawW;\n      const lazySizing = table => get$5(editor, table);\n      const lazyResizingBehaviour = () => isPreserveTableColumnResizing(editor) ? preserveTable() : resizeTable();\n      const getNumColumns = table => getGridSize(table).columns;\n      const afterCornerResize = (table, origin, width) => {\n        const isRightEdgeResize = endsWith(origin, 'e');\n        if (startRawW === '') {\n          convertToPercentSize(table);\n        }\n        if (width !== startW && startRawW !== '') {\n          set$1(table, 'width', startRawW);\n          const resizing = lazyResizingBehaviour();\n          const tableSize = lazySizing(table);\n          const col = isPreserveTableColumnResizing(editor) || isRightEdgeResize ? getNumColumns(table) - 1 : 0;\n          adjustWidth(table, width - startW, col, resizing, tableSize);\n        } else if (isPercentage$1(startRawW)) {\n          const percentW = parseFloat(startRawW.replace('%', ''));\n          const targetPercentW = width * percentW / startW;\n          set$1(table, 'width', targetPercentW + '%');\n        }\n        if (isPixel(startRawW)) {\n          syncPixels(table);\n        }\n      };\n      const destroy = () => {\n        tableResize.on(sz => {\n          sz.destroy();\n        });\n        resizeWire.on(w => {\n          remove(editor, w);\n        });\n      };\n      editor.on('init', () => {\n        const rawWire = get(editor, isResizable);\n        resizeWire.set(rawWire);\n        if (hasTableObjectResizing(editor) && hasTableResizeBars(editor)) {\n          const resizing = lazyResizingBehaviour();\n          const sz = TableResize.create(rawWire, resizing, lazySizing);\n          sz.on();\n          sz.events.startDrag.bind(_event => {\n            selectionRng.set(editor.selection.getRng());\n          });\n          sz.events.beforeResize.bind(event => {\n            const rawTable = event.table.dom;\n            fireObjectResizeStart(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type);\n          });\n          sz.events.afterResize.bind(event => {\n            const table = event.table;\n            const rawTable = table.dom;\n            removeDataStyle(table);\n            selectionRng.on(rng => {\n              editor.selection.setRng(rng);\n              editor.focus();\n            });\n            fireObjectResized(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type);\n            editor.undoManager.add();\n          });\n          tableResize.set(sz);\n        }\n      });\n      editor.on('ObjectResizeStart', e => {\n        const targetElm = e.target;\n        if (isTable(targetElm)) {\n          const table = SugarElement.fromDom(targetElm);\n          each$2(editor.dom.select('.mce-clonedresizable'), clone => {\n            editor.dom.addClass(clone, 'mce-' + getTableColumnResizingBehaviour(editor) + '-columns');\n          });\n          if (!isPixelSizing(table) && isTablePixelsForced(editor)) {\n            convertToPixelSize(table);\n          } else if (!isPercentSizing(table) && isTablePercentagesForced(editor)) {\n            convertToPercentSize(table);\n          }\n          if (isNoneSizing(table) && startsWith(e.origin, barResizerPrefix)) {\n            convertToPercentSize(table);\n          }\n          startW = e.width;\n          startRawW = isTableResponsiveForced(editor) ? '' : getRawWidth(editor, targetElm).getOr('');\n        }\n      });\n      editor.on('ObjectResized', e => {\n        const targetElm = e.target;\n        if (isTable(targetElm)) {\n          const table = SugarElement.fromDom(targetElm);\n          const origin = e.origin;\n          if (startsWith(origin, 'corner-')) {\n            afterCornerResize(table, origin, e.width);\n          }\n          removeDataStyle(table);\n          fireTableModified(editor, table.dom, styleModified);\n        }\n      });\n      editor.on('SwitchMode', () => {\n        tableResize.on(resize => {\n          if (editor.mode.isReadOnly()) {\n            resize.hideBars();\n          } else {\n            resize.showBars();\n          }\n        });\n      });\n      editor.on('dragstart dragend', e => {\n        tableResize.on(resize => {\n          if (e.type === 'dragstart') {\n            resize.hideBars();\n            resize.off();\n          } else {\n            resize.on();\n            resize.showBars();\n          }\n        });\n      });\n      editor.on('remove', () => {\n        destroy();\n      });\n      const refresh = table => {\n        tableResize.on(resize => resize.refreshBars(SugarElement.fromDom(table)));\n      };\n      const hide = () => {\n        tableResize.on(resize => resize.hideBars());\n      };\n      const show = () => {\n        tableResize.on(resize => resize.showBars());\n      };\n      return {\n        refresh,\n        hide,\n        show\n      };\n    };\n\n    const setupTable = editor => {\n      register(editor);\n      const resizeHandler = TableResizeHandler(editor);\n      const cellSelectionHandler = TableCellSelectionHandler(editor, resizeHandler);\n      const actions = TableActions(editor, resizeHandler, cellSelectionHandler);\n      registerCommands(editor, actions);\n      registerQueryCommands(editor, actions);\n      registerEvents(editor, actions);\n      return {\n        getSelectedCells: cellSelectionHandler.getSelectedCells,\n        clearSelectedCells: cellSelectionHandler.clearSelectedCells\n      };\n    };\n\n    const DomModel = editor => {\n      const table = setupTable(editor);\n      return {\n        table\n      };\n    };\n    var Model = (() => {\n      global$1.add('dom', DomModel);\n    });\n\n    Model();\n\n})();\n","function _arrayLikeToArray(r, a) {\n  (null == a || a > r.length) && (a = r.length);\n  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n  return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(r) {\n  if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n  if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n  var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n  if (null != t) {\n    var e,\n      n,\n      i,\n      u,\n      a = [],\n      f = !0,\n      o = !1;\n    try {\n      if (i = (t = t.call(r)).next, 0 === l) {\n        if (Object(t) !== t) return;\n        f = !1;\n      } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n    } catch (r) {\n      o = !0, n = r;\n    } finally {\n      try {\n        if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n      } finally {\n        if (o) throw n;\n      }\n    }\n    return a;\n  }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n  if (null == e) return {};\n  var o,\n    r,\n    i = objectWithoutPropertiesLoose(e, t);\n  if (Object.getOwnPropertySymbols) {\n    var n = Object.getOwnPropertySymbols(e);\n    for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n  }\n  return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (-1 !== e.indexOf(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n  return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(r) {\n  return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n  if (r) {\n    if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n    var t = {}.toString.call(r).slice(8, -1);\n    return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n  }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","export const tinymce = require('./js/tinymce/tinymce.full.js');\nrequire('./js/tinymce/plugins/powerpaste/plugin.full.js');"],"version":3}},{"offset":{"line":487,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/now-dot-walk/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","import","_extends","Object","assign","bind","target","arguments","source","key","prototype","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","d","a","definition","o","defineProperty","enumerable","get","obj","prop","r","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","view","state","properties","componentVersion","contentType","dotWalkConfig","dotWalkPath","enableSearchAutofocus","error","hideDotWalking","initialPanelSource","leafPathSource","manageCache","metadata","panelDefinitions","customSearchTerm","showSearch","size","schema","type","dir","required","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","debounce","first","has","isArray","isEmpty","isFunction","isObject","last","uniqBy","uniqWith","ARIA_LIVE_MESSAGE_UPDATED","PATH_UPDATED","NOW_BUTTON_BARE_CLICKED","NOW_BUTTON_ICONIC_CLICKED","DOT_WALK_TRIGGERED","PANEL_ITEM_CLICKED","DOTWALK_TRIGGER_BUTTON","SEARCH_INPUT_VALUE_CHANGED","SEARCH_INPUT_BLURRED","SEARCH_INPUT_FOCUSED","SEARCH_RIGHT_ARROW_PRESSED","SEARCH_LEFT_ARROW_PRESSED","SEARCH_UP_ARROW_PRESSED","SEARCH_DOWN_ARROW_PRESSED","SEARCH_ENTER_PRESSED","BREADCRUMB_SEPARATOR_BUTTON_CLICKED","NAVIGATION_PATH_UPDATED","CONTENT_PATH_UPDATED","ACTIVE_PANEL_UPDATED","panelItemContentTypes","FIELD_METADATA","VARIABLES","EXTENDED_FIELDS","variableSearchOperatorTypes","ENDSWITH","LIKE","STARTSWITH","METADATA_TABLE_FETCH_FAILED","METADATA_TABLE_FETCH_SUCCEEDED","METADATA_TABLE_FETCHED","METADATA_PATH_FETCH_FAILED","METADATA_PATH_FETCH_SUCCEEDED","METADATA_VARIABLES_FETCH_FAILED","METADATA_VARIABLES_FETCH_SUCCEEDED","METADATA_VARIABLES_FETCHED","METADATA_VARIABLES_SEARCH_FETCH_FAILED","METADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED","METADATA_VARIABLES_SEARCH_FETCHED","METADATA_EXTENDED_FIELDS_FETCH_FAILED","METADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED","METADATA_EXTENDED_FIELDS_FETCHED","DOT_WALK_TABLE_CONFIG_FETCH_FAILED","DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED","DOT_WALK_TABLE_CONFIG_FETCHED","NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED","BREADCRUMB_PATH_UPDATED","METADATA_PATH_FETCHED","METADATA_VARIABLES_SEARCH_FETCH_QUERY","updatedPath","filter","pathItem","displayValue","defaultOptions","coeffects","action","payload","options","getBehaviorOptions","getMetadata","getNonFieldPathMetadata","path","pathMetadata","forEach","field","getPathMetadata","dotWalkMetadata","_ref","parent","logMissingGetMetadataOption","console","pathUpdatedHandler","dispatch","dotWalkModel","updateState","combinedPath","fromBreadcrumb","getDotWalkBehaviorOptions","variablesSearchMetadata","handleQueryMetadataVariablesSearch","combinedPathDisplay","getCombinedPathDisplay","selectedFieldData","variablePathUpdatedHandler","tableName","includeFieldMetadata","includeOnlyFilterableFields","extendedFieldsMetadata","truncatedDotWalkPath","slice","extendedFieldsPathUpdatedHandler","dotWalkModelPath","getCombinedPath","fieldPathUpdatedHandler","searchTerm","operator","lastVariableId","updatedSearch","actionHandlers","referenceSource","fieldName","pathIndex","fieldInclusionList","fieldExclusionList","referenceDataKey","referenceTable","referenceTableDefaultField","referenceKey","initialTable","behavior","name","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","t","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__","startsWith","componentErrorMessage","componentErrorHandler","_ref3","message","className","role","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__","keyEventDefaultHandler","event","keyCodes","includes","preventDefault","arrowDownHandler","panelItems","activeItemIndex","activeIndex","panelItemClicked","arrowUpHandler","enterPressedHandler","activePanelIndex","disabled","hidden","panelIndex","leftArrowPressedHandler","newPanelIndex","panelItemButtonClickHandler","panelItemContentType","currentContent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__","fields","selectedItem","selectedItemIndex","keys","indexOf","cuid","excludedOperators","getSelectedItemIndex","findIndex","getPanelItems","computedFields","itemContentType","prefixPanelItem","fieldValues","rowId","f","sort","b","getPanels","panels","currentPath","newPanel","createPanelModel","leafPanel","loading","contains","val","toLowerCase","searchCriteria","matcher","order","_ref2","secondaryValue","searchFields","resultPartsMap","Map","fieldKey","partitionMatches","updatedMap","set","resultPartKeys","Array","from","partKey","part","ariaLiveMessageHandler","ariaLiveMessage","updateErrorStateHandler","componentPropertyChangedHandler","searchInputFocused","navigationPath","contentPath","openedPanelsCount","getOpenedPanelsCount","Math","min","shouldUpdateCurrentContent","operation","shouldUpdate","updateMetadata","updateDotWalkConfig","getVariablesSearchMetadata","cache","variables_search","getAriaLiveSearchResultText","updatedPanels","totalSearchResultCount","combinedResultMessage","amount","getPanelSearchResultMessage","panelCount","handleFieldSearch","getUpdatedPanels","panel","searchResultAriaLiveMessage","getSearchFilteringMessage","searchResultMessage","handleVariablesSearch","searchTermCache","previousValue","items","NoResultsPanel","NoSearchResultsPanel","label","heading","level","illustration","CONNECTED_PATH_UPDATED","QUESTIONS_DISPLAY_VALUE","VARIABLES_DISPLAY_VALUE","VARIABLES_QUESTIONS_SECONDARY_DISPLAY_VALUE","EXPAND_LABEL","handleIconVersion","getDotWalkButtonClassName","ariaLabel","ariaExpanded","renderer","snabbdom","helpers","targetRef","elm","ref","setTimeout","icon","e","handleDotWalkButtonClick","stopPropagation","delay","styles","getClassName","selected","active","isReference","getSecondaryLabelClassName","leadingImageSrc","handleItemClick","panelItem","scrollIntoViewIfNeeded","scrollIntoView","hintText","ariaDisabled","ariaSelected","dotwalkFieldLabel","style","backgroundImage","title","hostId","panelId","tabIndex","renderPanelItems","isHeading","PanelItemHeading","PanelItem","COMPONENT_PROPERTY_CHANGED","COMPONENT_RENDERED","dispatches","behaviors","rtlBehavior","host","listElement","shadowRoot","querySelector","focus","focusOnSelectedItem","block","shouldRender","slots","baseStyle","nowId","Panel","conditionallyRenderPanels","p","showNoResults","COMPONENT_ERROR_THROWN","COMPONENT_BOOTSTRAPPED","componentActionTypes","createPath","lastUpdatedPathItem","effect","activePanel","updatedIndex","activePanelItems","currentPanelIndex","isDotWalkedFieldSelected","actionToDispatch","actionName","focusBehavior","keyBindingBehavior","keyBindings","onEnterKeyPress","onArrowKeyPress","handlers","keyCode","initialState","isLoading","StackedPanel","AriaLiveRegion","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__","END_OF_RESULTS_MESSAGE","END_OF_SEARCHED_RESULTS_MESSAGE","FINDING_RESULTS_LABEL","LOAD_MORE_LABEL","LOADING_MORE_LABEL","renderVariableSearchLoader","props","isLoadingMore","lastPanelItemIndex","variant","handleComponentPropertyChanged","searchTermProp","searchTermMetadata","variable","_variable$catalogItem","_variable$variableSet","catalogItem","variableSet","sysId","variables","variableId","find","getSelectedItem","nextState","showQuestions","variableParent","variableParentLabel","variableParentId","variableTable","variableReferenceTable","variableReferenceTableDefaultField","table","splice","isPanelLoading","isActive","searchMetadata","allRecordsSearched","slot","classnames","variableSearchStyle","extendedFields","metadataFields","entries","displayHeader","headerMatch","section","unshift","OTHER_DISPLAY_VALUE","currentItemIndex","tableMetadata","additionalOptions","getOptionsToDisplay","optionsToDisplay","showVariables","getActiveItemIndex","snDotWalkNavigationPanelStyles","testKey","breadCrumbKey","itemIndex","breadCrumbIndexId","bare","index","renderBreadcrumbItems","breadCrumbs","filteredPath","BreadcrumbItem","panelName","separatorLabel","BreadcrumbSeparator","noop","transformInputChangeHandler","handleInputChange","handleEnterPress","handleEscapePress","handleUpArrowPress","handleRightArrowPress","handleDownArrowPress","handleLeftArrowPress","onBlur","onFocus","placeholder","wrapperClassName","autoComplete","debounceDispatch","fn","text","handleInputBlur","handleInputFocus","handleArrowDownPress","inputRef","stackedPanelContentRef","metadataKey","getParentFromDotWalkPath","contentPanel","getContentPanel","Input","conditionallyRenderBreadcrumbs","breadcrumbItemClickHandler","Breadcrumb","onItemClick","scrollLeft","handleBreadCrumbItemClickHandler","input","nowRootNode","breadcrumbTrimmedHandler","blur","_ref4","newPath","shouldTriggerDotWalk","openedPanelCount","updatedActivePanelIndex","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","variableList","successActionType","errorActionType","startActionType","dotWalkVariableSearchFragment","dotwalkPathDataQuery","dotwalkVariableSearchDataQuery","fetchErrorMessage","fetchErrorHandler","transformMetadataKeys","dotWalkFieldData","labelCounter","dotwalkable","fieldMetadata","transformVariableMetadataKeys","dotWalkVariableData","innerFn","transformExtendedFieldsMetadataKeys","dotWalkExtendedFieldsData","extendedTableData","tableLabel","dotwalkFieldData","_ref5","transformVariablesSearchMetadata","previousMetadata","updatedMetadata","updatedVariables","timestamp","Date","getTime","updateMetadataState","getMetadataBehaviorOptions","metadataWithNewFields","updateVariableSearchMetadataState","_ref6","data","previousSearchTermMeta","updatedSearchTermMeta","getContentType","nowDotWalkMode","variablesKey","questionsKey","getDotWalkConfigData","dotWalkTableConfigData","showExtendedFields","inclusionSet","Set","exclusionSet","ignoreVariables","ignoreQuestions","meta","searchForVariables","tableDataPath","dotWalkTableDataArr","variableDataPath","dotWalkVariables","dotWalkModeDataPath","dotWalkMode","dotWalkDataPath","tableData","dotWalkPathFetchEffect","dotWalkTableData","dotWalkTableFetchEffect","dotWalkVariableFetchEffect","dotwalkVariableData","updateVariableMetadataState","dotWalkVariableSearchFetchEffect","dotwalkVariableSearchData","updateExtendedFieldsMetadataState","dotWalkExtendedFieldsFetchEffect","dotWalkTableConfigFetchEffect","dotWalkConfigForTable","updateDotWalkConfigState","TRANSFORM_ERROR_MESSAGE","INVALID_TRANSFORM_MESSAGE","getTransformedMetadata","transformMetadata","metadataWithTransform","dotWalkEnabledFieldTypeOptions","dotWalkEnabledFieldTypes","includeAllColumns","includeTemplateMetadata","isVariablePath","dotWalkBehavior","metadataBehavior","config","leafPathSourceWithDefaults","NOW_DOT_WALK_SEARCH_TERM_CHANGED","NOW_DOT_WALK_LOAD_MORE_REQUESTED","NOW_DOT_WALK_PATH_UPDATED","NOW_DOT_WALK_FETCH_PANEL_DEFINITIONS","PANEL_ITEM_TYPES","VARIABLES_PATH","VARIABLES_REFERENCE_SOURCE","VARIABLES_SEARCH_OPERATOR_TYPES","UPDATE_OPERATIONS","DYNAMIC_QUERY_PREFIXES","some","isVariableSource","reference","SN_DOT_WALK_CONNECTED_BEHAVIOR_PATH_UPDATED","SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_REQUESTED","SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS","getPanelDefinitions","reduce","accumulator","panelDefinition","searchResults","getLoadMorePanelDefinition","loadMoreRequestParams","allItemsLoaded","newLoadMoreRequestParams","loadMore","updateOperation","getTableMetadata","tableItem","panelDataFragment","tableMetadataFragment","dotWalkConnectedDataQuery","fetchDataEffect","fetchNowDotwalkConnectedData","queryVariables","tableFieldActions","dotWalkConnectedDataBehavior","fetchedPanelDefinitions","fetchedTableMetadata","getDotwalkPath","newState","SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_REQUESTED","SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_SUCCEEDED","SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_REQUESTED","SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_SUCCEEDED","dynamicAttributesQuery","fetchDynamicAttributesSearch","dynamicCategoriesQuery","fetchDynamicCategoriesSearch","isDynamicCategory","isDynamicDataStore","isDynamicUnknownCategory","isDynamicSchemaSource","fetchDynamicCategories","dataPath","fetchDynamicAttributes","handleDynamicSchemaFetchSuccess","newPanelDefinition","handleSearchChangeWithDynamicSchema","initialLoadMoreParams","newRequestParams","firstRow","lastRow","getDynamicSchemaSearchVariables","disableDotwalking","dynamicSchemaActions","SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_REQUESTED","SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_SUCCESS","SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_REQUESTED","SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED","variablesSearchFragment","fetchDataWithVariablesEffect","dotwalkVariablesSearchDataQuery","fetchVariablesSearch","fetchVariablesSearchData","createVariablesData","description","initialPanelOnly","internalValue","itemType","selectable","getVariablesMetadataFromQuery","updatedQueryVariables","handleBootstrapWithVariables","fetchNowDotwalkConnectedDataWithVariables","includeTableMetadata","variableActions","variablesTableMetadata","variablePanelDefinitions","variableTableMetadata","getVariablesDotwalkPathFromQuery","fetchedVariablesMetadata","variablesData","VARIABLES_TABLEMETADATA_PATH","fetchedMetadata","handleBootstrap","handleBootstrapWithTableFields","setInitialState","handleInitialState","deepCompare","handleFetchPanelDefinitionsWithVariables","categoryNamespacedName","substring","namespaceName","handleFetchPanelDefinitionsWithDynamicSchema","handleFetchPanelDefinitionsWithTableFields","handleLoadMoreRequestedWithDynamicSchema","handleLoadMoreRequestedWithVariables","hasBeenPreviouslySearched","handleSearchChangeWithVariables","updatedItem","handleDotwalkPathUpdatedWithVariables","handleDotwalkPathUpdatedWithTableFields","handleComponentBootstrapped","BEHAVIOR_NAME","statePanelDefinitions","newPanelDefinitions","createStatePanelDefinitions","currentPanel","createLoadMorePanelDefinition","createPanelDefinition","stateItems","mergeItems","currentSearchResults","currentItems","newItems","window","__TECTONIC__$servicenow_now_dot_walk"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/now-dot-walk.scss","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/components/panel/_panelItemArrow.scss","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/now-dot-walk.scss","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-variable-content/now-dot-walk-variable-search.scss","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/now-dot-walk.scss","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-navigation-panel/snDotWalkNavigationPanel.scss","webpack:///./src/v1/now-dot-walk-connected/now-dot-walk.scss?65e9","webpack:///./src/v1/now-dot-walk-panel/components/panel/_panelItemArrow.scss?c4ad","webpack:///./src/v1/now-dot-walk-panel/now-dot-walk.scss?1419","webpack:///./src/v1/now-dot-walk-variable-content/now-dot-walk-variable-search.scss?7f3e","webpack:///./src/v1/now-dot-walk/now-dot-walk.scss?67a1","webpack:///./src/v1/sn-dot-walk-navigation-panel/snDotWalkNavigationPanel.scss?f807","webpack:///external import \"/uxasset/externals/@servicenow/now-dot-walk/v1/now-dot-walk-connected/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@servicenow/now-dot-walk/v1/now-dot-walk/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@servicenow/now-dot-walk/v2/sn-dot-walk-connected/index.jsdbx\"","webpack:///external import \"/uxasset/externals/@servicenow/now-dot-walk/v2/sn-dot-walk/index.jsdbx\"","webpack:///@babel/runtime/7.18.9/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/now-dot-walk/now-dot-walk.element.js","webpack:///@servicenow/now-dot-walk/src/now-dot-walk/view.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/29.0.3/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/actions.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/constants.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/actions.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/actions.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/util/getCombinedPath.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/util/getCombinedPathDisplay.js","webpack:///@servicenow/now-dot-walk/src/v1/common/getBehaviorOptions.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/util/getDotWalkBehaviorOptions.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/util/getPathMetadata.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/actionHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/index.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-key-binding/29.0.3/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/dotWalk/util/isVariablePath.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/state/globalHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/common/AriaLiveRegion.js","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/29.0.3/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/common/keyboardActionHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/panelHandlers.js","webpack:///external module \"/uxasset/externals/cuid/2.1.8/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/createPanelModel.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/createPath.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/getItemIndex.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/getPanelItems.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/getPanels.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/util/searchFields.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/globalHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/util/getMetadataBehaviorOptions.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/util/getVariablesSearchMetadata.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/searchInputHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-field-content/actionHandler.js","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/panel/NoResultsPanel.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/common/constants.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/components/panel/PanelItemArrow.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/components/panel/PanelItem.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/components/panel/PanelItemHeading.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/components/panel/Panel.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/NowDotWalkPanelElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-field-content/components/panel/StackedPanel.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-panel/NowDotWalkPanel.view.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-field-content/NowDotWalkFieldContentElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-field-content/NowDotWalkFieldContent.view.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/classnames/2.3.1/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-variable-content/NowDotWalkVariableSearchContent.view.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-variable-content/state/actionHandler.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-variable-content/NowDotWalkVariableContentElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-extended-fields-content/snDotWalkExtendedFieldsContentElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-variable-content/state/panelHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-navigation-panel/actionHandler.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-extended-fields-content/state/panelHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-extended-fields-content/snDotWalkExtendedFieldsContent.view.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-navigation-panel/sn-dot-walk-navigation-panel.element.js","webpack:///@servicenow/now-dot-walk/src/v1/sn-dot-walk-navigation-panel/view.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/breadcrumb/BreadcrumbItem.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/breadcrumb/BreadcrumbSeparator.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/breadcrumb/Breadcrumb.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/input/Input.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/input/index.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/components/panel/StackedPanel.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/NowDotWalkElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/state/breadcrumbHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk/NowDotWalk.view.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkExtendedFieldsFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkVariableSearchFragment.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkPathFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkTableFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkVariableFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkVariableSearchFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/http/dotWalkTableConfigFetchEffect.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/actionHandlers.js","webpack:///@servicenow/now-dot-walk/src/v1/behaviors/metadata/index.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/getTransformedMetadata.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/NowDotWalkConnectedElement.element.js","webpack:///@servicenow/now-dot-walk/src/v1/now-dot-walk-connected/NowDotWalkConnected.view.js","webpack:///@servicenow/now-dot-walk/src/now-dot-walk-connected/now-dot-walk-connected.element.js","webpack:///@servicenow/now-dot-walk/src/now-dot-walk-connected/view.js","webpack:///@servicenow/now-dot-walk/src/v2/sn-dot-walk/actionTypes.js","webpack:///@servicenow/now-dot-walk/src/v2/common/constants.js","webpack:///@servicenow/now-dot-walk/src/v2/utils/variableUtils.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/actionTypes.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/tableFieldActions/actionTypes.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/utils.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/tableFieldActions/fetchingEffects/fetchDataEffectFragment.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/tableFieldActions/fetchingEffects/fetchDataEffect.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/tableFieldActions/actions.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/dynamicSchemaActions/actionTypes.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/dynamicSchemaActions/fetchingEffects/fetchDyamicAttributesEffect.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/dynamicSchemaActions/fetchingEffects/fetchDynamicCategoriesEffect.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/dynamicSchemaActions/actions.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/variablesActions/actionTypes.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/variablesActions/fetchingEffects/variablesSearchFragment.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/variablesActions/fetchingEffects/fetchDataWithVariablesEffect.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/variablesActions/fetchingEffects/fetchVariablesSearchEffect.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/variablesActions/actions.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/actions.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/dotWalkConnectedDataBehavior/dotWalkConnectedDataBehavior.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/panelDefinitionsCachingBehavior/actions.js","webpack:///@servicenow/now-dot-walk/src/v2/behaviors/panelDefinitionsCachingBehavior/panelDefinitionsCachingBehavior.js","webpack:///@servicenow/now-dot-walk/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@media(forced-colors:active){now-icon{background-color:ButtonFace;border-style:solid;border-width:1px;color:ButtonText;cursor:pointer;forced-color-adjust:none}now-icon:focus{outline:1px solid Highlight}now-icon:focus,now-icon:hover{background-color:HighlightText;border-color:Highlight;color:Highlight}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.aria-sr{clip:rect(0 0 0 0);border:0;clip-path:inset(50%);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ndw-panel{border-right:1px solid RGB(var(--now-color--neutral-3,209,214,214));flex-shrink:0;height:100%;position:relative;width:260px}.ndw-panel-content{border:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));border-left:none;flex-grow:1;height:100%;overflow-y:auto}.ndw-panel-content ul{flex:0 0 auto;margin:0;padding:0}.ndw-panel-content-loader,.ndw-panel-content.no-results{align-items:center;display:flex;justify-content:center}.ndw-panel-content-loader{height:100%}.ndw-panel-content-item,.ndw-panel-content-item-heading{align-items:center;display:flex;font-size:1rem;height:2rem;line-height:1.25;margin-bottom:.125rem}:host(:not([dir=rtl])) .ndw-panel-content-item,:host(:not([dir=rtl])) .ndw-panel-content-item-heading,:root:not([dir=rtl]) .ndw-panel-content-item,:root:not([dir=rtl]) .ndw-panel-content-item-heading{padding-left:1rem}:host([dir=rtl]) .ndw-panel-content-item,:host([dir=rtl]) .ndw-panel-content-item-heading,:root[dir=rtl] .ndw-panel-content-item,:root[dir=rtl] .ndw-panel-content-item-heading{padding-right:1rem}:host(:not([dir=rtl])) .ndw-panel-content-item,:host(:not([dir=rtl])) .ndw-panel-content-item-heading,:root:not([dir=rtl]) .ndw-panel-content-item,:root:not([dir=rtl]) .ndw-panel-content-item-heading{padding-right:.5rem}:host([dir=rtl]) .ndw-panel-content-item,:host([dir=rtl]) .ndw-panel-content-item-heading,:root[dir=rtl] .ndw-panel-content-item,:root[dir=rtl] .ndw-panel-content-item-heading{padding-left:.5rem}.ndw-panel-content-item-heading.secondary-value,.ndw-panel-content-item.secondary-value{height:2.5rem}.ndw-panel-content-item-heading{font-size:.75rem}.ndw-panel-content-item{cursor:pointer}.ndw-panel-content-item-icon{color:RGB(var(--now-color--primary-1,30,133,109))}.ndw-panel-content-item-label{cursor:inherit;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndw-panel-content-item-label:after{content:\\\"\\\";display:block}.ndw-panel-content-item-heading{background-color:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:auto}.ndw-panel-content-item-leading-image{background-color:RGB(var(--now-color--neutral-3,209,214,214));background-position:50%;background-size:cover;border-radius:24px;height:24px;width:24px}:host(:not([dir=rtl])) .ndw-panel-content-item-leading-image,:root:not([dir=rtl]) .ndw-panel-content-item-leading-image{margin-right:.5rem}:host([dir=rtl]) .ndw-panel-content-item-leading-image,:root[dir=rtl] .ndw-panel-content-item-leading-image{margin-left:.5rem}.ndw-panel-content-item-secondary-value,.ndw-panel-content-item-secondary-value-image{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndw-panel-content-item-secondary-value-image{max-width:175px}.ndw-panel-content-item.is-active,.ndw-panel-content-item:hover{background-color:RGB(var(--now-color--secondary-0,217,235,238));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));outline:none}.ndw-panel-content-item.is-selected,.ndw-panel-content-item:hover{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.ndw-panel-content-item.is-selected{background-color:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5));cursor:pointer;outline:none}.ndw-panel-content-item.is-selected .ndw-panel-content-item-icon{color:RGB(RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.45))}.ndw-panel-content-item.is-disabled{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));cursor:default}.ndw-panel-content-item.is-disabled.is-active,.ndw-panel-content-item.is-disabled:hover{background-color:RGB(var(--now-color--secondary-0,217,235,238))}.ndw-panel-content-item.is-disabled.is-selected{background-color:RGBA(var(--now-color--secondary-1,1,119,142),var(--now-opacity--mid,.5))}.ndw-panel-content-item.is-disabled .ndw-panel-content-item-label{cursor:default}@media(forced-colors:active){.ndw-panel-content-item.is-selected{background-color:SelectedItem}.ndw-panel-content-item.is-selected .ndw-panel-content-item-label{color:SelectedItemText}.ndw-panel-content-item.is-disabled{background-color:Canvas;cursor:not-allowed}.ndw-panel-content-item.is-disabled .ndw-panel-content-item-label,.ndw-panel-content-item.is-disabled:hover .ndw-panel-content-item-label{color:GrayText}.ndw-panel-content-item.is-disabled.dot-walkable.is-selected,.ndw-panel-content-item.is-disabled.dot-walkable:focus,.ndw-panel-content-item.is-disabled.dot-walkable:hover{background-color:Highlight}.ndw-panel-content-item.is-disabled.dot-walkable.is-selected .ndw-panel-content-item-label,.ndw-panel-content-item.is-disabled.dot-walkable:focus .ndw-panel-content-item-label,.ndw-panel-content-item.is-disabled.dot-walkable:hover .ndw-panel-content-item-label{color:HighlightText}.ndw-panel-content-item.is-active,.ndw-panel-content-item:hover{background-color:Highlight}.ndw-panel-content-item.is-active .ndw-panel-content-item-label,.ndw-panel-content-item:hover .ndw-panel-content-item-label{color:HighlightText}.ndw-panel-content-item .ndw-panel-content-item-label{color:CanvasText;forced-color-adjust:none}}.sr-only:before{content:\\\" \\\"}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.ndw-panel-loader{align-items:center;border-top:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));display:grid;height:100%;justify-items:center;width:260px}.ndw-panel-end{align-items:center;display:flex;justify-content:center;min-height:40px;text-align:center;width:100%}.ndw-panel-end .loader{padding:.5rem 1rem}.ndw-panel-end .search-results-message{border-top:1px solid RGB(var(--now-color_chrome--divider-0,169,178,179));font-size:.75rem;margin:0;padding:.75rem 1rem;width:100%}.ndw-panel-end .search-results-message.has-search-term{padding:.25rem 1rem}.ndw-panel-end .search-term{display:flex;justify-content:center}.ndw-panel-end .line-clamp{-webkit-box-orient:vertical;-webkit-line-clamp:1;word-wrap:break-word;display:-webkit-box;overflow:hidden}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ndw-breadcrumb{max-width:300px}:host(:not([dir=rtl])) .ndw-breadcrumb,:root:not([dir=rtl]) .ndw-breadcrumb{margin-left:1.5rem}:host([dir=rtl]) .ndw-breadcrumb,:root[dir=rtl] .ndw-breadcrumb{margin-right:1.5rem}.ndw-breadcrumb-item-text{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.ndw-breadcrumb ol{display:flex;flex-shrink:1;flex-wrap:wrap;list-style-type:none;margin:4px 0 0;padding:0;width:100%}.ndw-breadcrumb ol li{align-items:center;display:flex;font-size:.75rem;height:26px;margin-right:.25rem}@media(forced-colors:active){.ndw-breadcrumb-item-text{color:canvastext}}.ndw-search-input-wrapper{align-items:center;display:flex;flex-shrink:0;min-height:35px;transition:border-color .15s ease;width:160px}.ndw-input{background:transparent;border:none;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;height:100%;outline:none;width:100%}.ndw-search-input-icon{margin:0 .25rem}@media(forced-colors:active){.ndw-input::placeholder{color:GrayText}}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.ndw-panel{align-items:center;display:grid;height:100%;justify-items:center}:host(now-dot-walk-field-content) .ndw-stacked-panel{max-width:none}:host(now-dot-walk-field-content) .ndw-stacked-panel-content{border-left:0;overflow:visible;width:100%}.ndw-panel{border-top:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));width:260px}.ndw-panel .ndw-panel-content{padding:5px}.ndw-stacked-panel{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;height:320px;max-width:100%;min-width:260px;overflow:hidden;position:relative}@media(forced-colors:active){.ndw-stacked-panel{border:1px solid Highlight}}.ndw-stacked-panel-loader{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.ndw-stacked-panel-header{align-items:flex-start;border:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));border-bottom:0;display:flex;flex-shrink:0;min-height:32px;padding:0 .5rem;width:100%}.ndw-stacked-panel-content{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-left:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));border-right:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;font-size:1rem;height:100%;overflow-x:auto;overflow-y:hidden}.ndw-stacked-panel-error-container{align-items:center;display:flex;height:100%;justify-content:center;padding:.75rem;text-align:center;width:400px}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.aria-sr{clip:rect(0 0 0 0);border:0;clip-path:inset(50%);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ndw-panel{align-items:center;border-top:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));display:grid;height:100%;justify-items:center;width:260px}.ndw-panel .ndw-panel-content{padding:5px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./now-dot-walk.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_panelItemArrow.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./now-dot-walk.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./now-dot-walk-variable-search.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./now-dot-walk.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.7_webpack@5.74.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./snDotWalkNavigationPanel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","module.exports = import(\"/uxasset/externals/@servicenow/now-dot-walk/v1/now-dot-walk-connected/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@servicenow/now-dot-walk/v1/now-dot-walk/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@servicenow/now-dot-walk/v2/sn-dot-walk-connected/index.jsdbx\");;","module.exports = import(\"/uxasset/externals/@servicenow/now-dot-walk/v2/sn-dot-walk/index.jsdbx\");;","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;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './view';\n\ncreateCustomElement('now-dot-walk', {\n\tview,\n\tproperties: {\n\t\t/********************** Props used by both Version 1 and 2 ************************/\n\t\t/**\n\t\t * Specifies which dot walk version to use, 1 or 2 (2 is latest)\n\t\t */\n\t\tcomponentVersion: {\n\t\t\tdefault: 1,\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\t/**\n\t\t * Specifies direction of layout\n\t\t * rtl = right to left\n\t\t * ltr = left to right\n\t\t * Required: No\n\t\t * @type {string}\n\t\t */\n\t\tdir: {\n\t\t\tdefault: 'ltr',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Array that represents the current selected dot-walk path.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkPath[]}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/********************** Props only used by Version 2 ******************************/\n\t\t/**\n\t\t * The source for the first panel's list of fields\n\t\t *\n\t\t */\n\t\tinitialPanelSource: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Flag to cache the panel definition items coming in.\n\t\t * If this is true, then dot walk will merge all panel definitions coming in and use that as the state.\n\t\t * If this is false, dot walk will use panel defintions coming in via prop as the state.\n\t\t * Required; No\n\t\t */\n\t\tmanageCache: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Object that represents the panel definitions\n\t\t */\n\t\tpanelDefinitions: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\n\t\t/********************** Props only used by Version 1 ******************************/\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Enum to describe what type of content will be shown for dot walk, specifically for variables and extended fields.\n\t\t * You can import contentTypes from now-dot-walk for the values defined.\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcontentType: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * The key used to get field data for the last panel.\n\t\t * Useful when no path is selected or when a panel is dot-walked but no item has been selected on the new panel.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkData}\n\t\t */\n\t\tleafPathSource: {\n\t\t\tdefault: undefined,\n\t\t\tschema: { type: 'string' },\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Configs for determining if extra fields should be shown on the dot walk panel\n\t\t * Required: No\n\t\t * @type {DotWalkConfig}\n\t\t */\n\t\tdotWalkConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Set to true if you want to autofocus the search input\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tenableSearchAutofocus: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Allow an external search term to be passed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcustomSearchTerm: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Set to true if you want to show the search bar\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tshowSearch: { default: true, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * The size of the Dot Walk element.\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n});\n","export default (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcomponentVersion,\n\t\t\tcontentType,\n\t\t\tdotWalkConfig,\n\t\t\tdotWalkPath,\n\t\t\tenableSearchAutofocus,\n\t\t\terror,\n\t\t\thideDotWalking,\n\t\t\tinitialPanelSource,\n\t\t\tleafPathSource,\n\t\t\tmanageCache,\n\t\t\tmetadata,\n\t\t\tpanelDefinitions,\n\t\t\tcustomSearchTerm,\n\t\t\tshowSearch,\n\t\t\tsize,\n\t\t},\n\t} = state;\n\n\tif (componentVersion === 1) {\n\t\timport('../v1/now-dot-walk');\n\t\treturn (\n\t\t\t<sn-dot-walk-v1\n\t\t\t\tmetadata={metadata}\n\t\t\t\tcontentType={contentType}\n\t\t\t\tleafPathSource={leafPathSource}\n\t\t\t\terror={error}\n\t\t\t\tdotWalkPath={dotWalkPath}\n\t\t\t\tdotWalkConfig={dotWalkConfig}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (componentVersion === 2) {\n\t\timport('../v2/sn-dot-walk/index');\n\t\treturn (\n\t\t\t<sn-dot-walk-v2\n\t\t\t\tdotWalkPath={dotWalkPath}\n\t\t\t\tenableSearchAutofocus={enableSearchAutofocus}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\tinitialPanelSource={initialPanelSource}\n\t\t\t\tmanageCache={manageCache}\n\t\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\t\tcustomSearchTerm={customSearchTerm}\n\t\t\t\tshowSearch={showSearch}\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_3_index_jsdbx_2f2e8d21__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"first\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'first' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].first;\n\t\t\t\t\t} else if ('first' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.first || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].first;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isObject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t\t} else if ('isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isObject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t}, [\"last\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'last' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].last;\n\t\t\t\t\t} else if ('last' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.last || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].last;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"uniqBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t\t} else if ('uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t}, [\"uniqWith\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqWith;\n\t\t\t\t\t} else if ('uniqWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqWith || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqWith;\n\t\t\t\t} });","export const ARIA_LIVE_MESSAGE_UPDATED =\n\t'NOW_DOT_WALK#ARIA_LIVE_MESSAGE_UPDATED';\nexport const PATH_UPDATED = 'NOW_DOT_WALK#PATH_UPDATED';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const DOT_WALK_TRIGGERED = 'NOW_DOT_WALK#DOT_WALK_TRIGGERED';\n\nexport const PANEL_ITEM_CLICKED = 'NOW_DOT_WALK_PANEL#PANEL_ITEM_CLICKED';\nexport const DOTWALK_TRIGGER_BUTTON =\n\t'NOW_DOT_WALK_PANEL#DOTWALK_TRIGGER_BUTTON';\n\nexport const SEARCH_INPUT_VALUE_CHANGED =\n\t'NOW_DOT_WALK#SEARCH_INPUT_VALUE_CHANGED';\nexport const SEARCH_INPUT_BLURRED = 'NOW_DOT_WALK#SEARCH_INPUT_BLURRED';\nexport const SEARCH_INPUT_FOCUSED = 'NOW_DOT_WALK#SEARCH_INPUT_FOCUSED';\nexport const SEARCH_RIGHT_ARROW_PRESSED =\n\t'NOW_DOT_WALK#SEARCH_RIGHT_ARROW_PRESSED';\nexport const SEARCH_LEFT_ARROW_PRESSED =\n\t'NOW_DOT_WALK#SEARCH_LEFT_ARROW_PRESSED';\nexport const SEARCH_UP_ARROW_PRESSED = 'NOW_DOT_WALK#SEARCH_UP_ARROW_PRESSED';\nexport const SEARCH_DOWN_ARROW_PRESSED =\n\t'NOW_DOT_WALK#SEARCH_DOWN_ARROW_PRESSED';\nexport const SEARCH_ENTER_PRESSED = 'NOW_DOT_WALK#SEARCH_ENTER_PRESSED';\nexport const SEARCH_ESCAPE_PRESSED = 'NOW_DOT_WALK#SEARCH_ESCAPE_PRESSED';\n\n// Scoped action types\nexport const BREADCRUMB_SEPARATOR_BUTTON_CLICKED =\n\t'NOW_DOT_WALK#BREADCRUMB_SEPARATOR_BUTTON_CLICKED';\n\nexport const NAVIGATION_PATH_UPDATED =\n\t'PRIVATE_NOW_DOT_WALK#NAVIGATION_PATH_UPDATED';\nexport const CONTENT_PATH_UPDATED = 'PRIVATE_NOW_DOT_WALK#CONTENT_PATH_UDPATED';\n\nexport const ACTIVE_PANEL_UPDATED = 'PRIVATE_NOW_DOT_WALK#ACTIVE_PANEL_UPDATED';\n","// eslint-disable-next-line import/prefer-default-export\n\nexport const panelItemContentTypes = {\n\tFIELD_METADATA: `TABLE_FIELDS`,\n\tVARIABLES: `VARIABLES`,\n\tEXTENDED_FIELDS: `EXTENDED_FIELDS`,\n};\n\nexport const variableSearchOperatorTypes = {\n\tENDSWITH: 'ENDSWITH',\n\tLIKE: 'LIKE',\n\tSTARTSWITH: 'STARTSWITH',\n};\n","export const METADATA_TABLE_FETCH_FAILED = 'METADATA_TABLE_FETCH_FAILED';\nexport const METADATA_TABLE_FETCH_STARTED = 'METADATA_TABLE_FETCH_STARTED';\nexport const METADATA_TABLE_FETCH_SUCCEEDED = 'METADATA_TABLE_FETCH_SUCCEEDED';\n\nexport const METADATA_TABLE_FETCHED = 'NOW_DOT_WALK#METADATA_TABLE_FETCHED';\n\nexport const METADATA_PATH_FETCH_FAILED = 'METADATA_PATH_FETCH_FAILED';\nexport const METADATA_PATH_FETCH_STARTED = 'METADATA_PATH_FETCH_STARTED';\nexport const METADATA_PATH_FETCH_SUCCEEDED = 'METADATA_PATH_FETCH_SUCCEEDED';\n\nexport const METADATA_PATH_FETCHED = 'NOW_DOT_WALK#METADATA_PATH_FETCHED';\n\n// TODO: deprecate\nexport const METADATA_VARIABLES_FETCH_FAILED =\n\t'METADATA_VARIABLES_FETCH_FAILED';\nexport const METADATA_VARIABLES_FETCH_STARTED =\n\t'METADATA_VARIABLES_FETCH_STARTED';\nexport const METADATA_VARIABLES_FETCH_SUCCEEDED =\n\t'METADATA_VARIABLES_FETCH_SUCCEEDED';\nexport const METADATA_VARIABLES_FETCHED =\n\t'NOW_DOT_WALK#METADATA_VARIABLES_FETCHED';\n// deprecate remove\n\nexport const METADATA_VARIABLES_SEARCH_FETCH_FAILED =\n\t'METADATA_VARIABLES_SEARCH_FETCH_FAILED';\nexport const METADATA_VARIABLES_SEARCH_FETCH_STARTED =\n\t'METADATA_VARIABLES_SEARCH_FETCH_STARTED';\nexport const METADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED =\n\t'METADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED';\nexport const METADATA_VARIABLES_SEARCH_FETCHED =\n\t'NOW_DOT_WALK#METADATA_VARIABLES_SEARCH_FETCHED';\n\nexport const METADATA_EXTENDED_FIELDS_FETCH_FAILED =\n\t'METADATA_EXTENDED_FIELDS_FETCH_FAILED';\nexport const METADATA_EXTENDED_FIELDS_FETCH_STARTED =\n\t'METADATA_EXTENDED_FIELDS_FETCH_STARTED';\nexport const METADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED =\n\t'METADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED';\nexport const METADATA_EXTENDED_FIELDS_FETCHED =\n\t'METADATA_EXTENDED_FIELDS_FETCHED';\n\nexport const DOT_WALK_TABLE_CONFIG_FETCH_FAILED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_FAILED';\nexport const DOT_WALK_TABLE_CONFIG_FETCH_STARTED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_STARTED';\nexport const DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED =\n\t'DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED';\nexport const DOT_WALK_TABLE_CONFIG_FETCHED = 'DOT_WALK_TABLE_CONFIG_FETCHED';\n","export const NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED =\n\t'NOW_DOT_WALK_BEHAVIOR#PATH_UPDATED';\n\nexport const BREADCRUMB_PATH_UPDATED = 'NOW_DOT_WALK#BREADCRUMB_PATH_UPDATED';\nexport const DOT_WALK_TRIGGERED = 'NOW_DOT_WALK#DOT_WALK_TRIGGERED';\nexport const METADATA_TABLE_FETCHED = 'NOW_DOT_WALK#METADATA_TABLE_FETCHED';\nexport const METADATA_PATH_FETCHED = 'NOW_DOT_WALK#METADATA_PATH_FETCHED';\nexport const METADATA_VARIABLES_SEARCH_FETCH_QUERY =\n\t'NOW_DOT_WALK#METADATA_VARIABLES_SEARCH_FETCH_QUERY';\n","import map from 'lodash/map';\n\nconst getCombinedPath = (updatedPath) => map(updatedPath, 'field').join('.');\n\nexport default getCombinedPath;\n","export const DOT_WALK_PATH_SEPARATOR = ' > ';\nconst getCombinedPathDisplay = (updatedPath = []) =>\n\tupdatedPath\n\t\t.filter((pathItem) => pathItem.displayValue)\n\t\t.map((pathItem) => pathItem.displayValue)\n\t\t.join(DOT_WALK_PATH_SEPARATOR);\n\nexport default getCombinedPathDisplay;\n","import isObject from 'lodash/isObject';\n\nconst getBehaviorOptions = (defaultOptions) => (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { options },\n\t\t},\n\t} = coeffects;\n\n\tconst updatedOptions =\n\t\toptions && isObject(options)\n\t\t\t? { ...defaultOptions, ...options }\n\t\t\t: defaultOptions;\n\n\treturn updatedOptions;\n};\n\nexport default getBehaviorOptions;\n","import getBehaviorOptions from '../../../common/getBehaviorOptions';\n\nconst defaultOptions = {\n\tgetMetadata: (coeffects) => coeffects.state.metadata,\n};\n\nexport default getBehaviorOptions(defaultOptions);\n","import get from 'lodash/get';\n\nconst getPathMetadata = (path, dotWalkMetadata) => {\n\tconst pathMetadata = {};\n\tif (!path || !dotWalkMetadata) return pathMetadata;\n\n\tpath.forEach(({ field, parent }) => {\n\t\tpathMetadata[field] = {\n\t\t\t...get(dotWalkMetadata, `${parent}.${field}`, {}),\n\t\t};\n\t});\n\n\treturn pathMetadata;\n};\n\nexport const getNonFieldPathMetadata = (path) => {\n\tconst pathMetadata = {};\n\tif (!path) return pathMetadata;\n\n\tpath.forEach((item) => {\n\t\tconst { field } = item;\n\t\tpathMetadata[field] = {\n\t\t\t...item,\n\t\t};\n\t});\n\n\treturn pathMetadata;\n};\nexport default getPathMetadata;\n","import get from 'lodash/get';\nimport isArray from 'lodash/isArray';\nimport isEmpty from 'lodash/isEmpty';\nimport last from 'lodash/last';\n\nimport { PATH_UPDATED } from '../../now-dot-walk/actions';\nimport {\n\tpanelItemContentTypes,\n\tvariableSearchOperatorTypes,\n} from '../../now-dot-walk/constants';\nimport {\n\tMETADATA_VARIABLES_SEARCH_FETCHED,\n\tMETADATA_EXTENDED_FIELDS_FETCHED,\n} from '../metadata/actions';\n\nimport {\n\tBREADCRUMB_PATH_UPDATED,\n\tDOT_WALK_TRIGGERED,\n\tMETADATA_TABLE_FETCHED,\n\tMETADATA_VARIABLES_SEARCH_FETCH_QUERY,\n\tNOW_DOT_WALK_BEHAVIOR_PATH_UPDATED,\n} from './actions';\nimport {\n\tgetCombinedPath,\n\tgetCombinedPathDisplay,\n\tgetPathMetadata,\n\tgetDotWalkBehaviorOptions,\n} from './util';\nimport { getNonFieldPathMetadata } from './util/getPathMetadata';\n\nconst { VARIABLES, FIELD_METADATA, EXTENDED_FIELDS } = panelItemContentTypes;\n\nconst componentBootstrappedHandler = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: {\n\t\t\tdotWalkModel,\n\t\t\tdotWalkModel: { path, leafPathSource },\n\t\t},\n\t} = coeffects;\n\tupdateState({\n\t\tdotWalkModel: {\n\t\t\t...dotWalkModel,\n\t\t\tpath,\n\t\t\tleafPathSource,\n\t\t},\n\t});\n};\n\nconst logMissingGetMetadataOption = () => {\n\t// eslint-disable-next-line no-console\n\tconsole.error(\n\t\t'Error occured in dotWalkBehavior. Expected getMetadata to be defined'\n\t);\n};\n\nconst fieldPathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { path, fromBreadcrumb },\n\t\t},\n\t\tdispatch,\n\t\tstate: {\n\t\t\tdotWalkModel,\n\t\t\tdotWalkModel: { path: dotWalkModelPath },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { getMetadata } = getDotWalkBehaviorOptions(coeffects);\n\tif (!getMetadata) {\n\t\tlogMissingGetMetadataOption();\n\t\treturn;\n\t}\n\n\tlet leafPathSource = null;\n\tif (\n\t\tisEmpty(path) &&\n\t\tisArray(dotWalkModelPath) &&\n\t\t!isEmpty(dotWalkModelPath)\n\t) {\n\t\tleafPathSource = dotWalkModelPath[0].parent;\n\t}\n\n\tconst updatedPath = path || [];\n\tupdateState({\n\t\tdotWalkModel: {\n\t\t\t...dotWalkModel,\n\t\t\tpath,\n\t\t\tleafPathSource,\n\t\t},\n\t\tcontentType: !isEmpty(updatedPath)\n\t\t\t? panelItemContentTypes.FIELD_METADATA\n\t\t\t: '',\n\t\terror: null,\n\t});\n\n\tdispatch(NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED, {\n\t\tpath: updatedPath,\n\t\tcombinedPath: getCombinedPath(updatedPath),\n\t\tcombinedPathDisplay: getCombinedPathDisplay(updatedPath),\n\t\tselectedFieldData: last(updatedPath),\n\t\tmetadata: getPathMetadata(updatedPath, getMetadata(coeffects)),\n\t\tfromBreadcrumb,\n\t});\n};\n\nconst dotWalkTriggeredHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\treferenceSource,\n\t\t\t\tfieldName,\n\t\t\t\tdisplayValue,\n\t\t\t\tsource,\n\t\t\t\tpathIndex,\n\t\t\t},\n\t\t},\n\t\tproperties: {\n\t\t\ttableName,\n\t\t\tfieldInclusionList,\n\t\t\tfieldExclusionList,\n\t\t\tincludeFieldMetadata,\n\t\t\tincludeOnlyFilterableFields,\n\t\t},\n\t\tdispatch,\n\t\tstate: {\n\t\t\tdotWalkModel,\n\t\t\tdotWalkModel: { path },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { getMetadata } = getDotWalkBehaviorOptions(coeffects);\n\n\tif (!getMetadata) {\n\t\tlogMissingGetMetadataOption();\n\t\treturn;\n\t}\n\tconst metadata = getMetadata(coeffects);\n\n\tconst {\n\t\treferenceDataKey: referenceTable = null,\n\t\treferenceTableDefaultField = null,\n\t\treferenceKey = null,\n\t\ttype,\n\t} = get(metadata, `${source}.${fieldName}`, {});\n\n\tconst updatedPath = [\n\t\t...path.slice(0, pathIndex),\n\t\t{\n\t\t\tdisplayValue,\n\t\t\tfield: fieldName,\n\t\t\tparent: source,\n\t\t\ttype,\n\t\t\treferenceTable,\n\t\t\treferenceTableDefaultField,\n\t\t\treferenceKey,\n\t\t},\n\t];\n\n\tupdateState({\n\t\tdotWalkModel: {\n\t\t\t...dotWalkModel,\n\t\t\tpath: updatedPath,\n\t\t\tleafPathSource: referenceSource,\n\t\t},\n\t\tcontentType: FIELD_METADATA,\n\t});\n\n\tdispatch(METADATA_TABLE_FETCHED, {\n\t\ttableName: referenceSource,\n\t\tfieldInclusionList,\n\t\tfieldExclusionList,\n\t\tinitialTable: tableName,\n\t\tincludeFieldMetadata,\n\t\tincludeOnlyFilterableFields,\n\t});\n};\n\nconst variablePathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tstate: { dotWalkModel },\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { combinedPath, path, fromBreadcrumb },\n\t\t},\n\t} = coeffects;\n\n\tconst { getMetadata } = getDotWalkBehaviorOptions(coeffects);\n\n\tif (!getMetadata) {\n\t\tlogMissingGetMetadataOption();\n\t\treturn;\n\t}\n\n\tconst metadata = getMetadata(coeffects);\n\tconst variablesSearchMetadata = get(metadata, 'variables_search');\n\tif (isEmpty(variablesSearchMetadata)) {\n\t\thandleQueryMetadataVariablesSearch(coeffects);\n\t}\n\n\tconst leafPathSource =\n\t\tpath.length > 1 ? '' : panelItemContentTypes.VARIABLES;\n\tupdateState({\n\t\tdotWalkModel: {\n\t\t\t...dotWalkModel,\n\t\t\tpath,\n\t\t\tleafPathSource,\n\t\t},\n\t\terror: null,\n\t\tcontentType: !isEmpty(path) ? panelItemContentTypes.VARIABLES : '',\n\t});\n\n\tdispatch(NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED, {\n\t\tpath,\n\t\tcombinedPath,\n\t\tcombinedPathDisplay: getCombinedPathDisplay(path),\n\t\tselectedFieldData: last(path),\n\t\tmetadata: getNonFieldPathMetadata(path),\n\t\tfromBreadcrumb,\n\t});\n};\n\nconst extendedFieldsPathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: {\n\t\t\ttableName,\n\t\t\tincludeFieldMetadata,\n\t\t\tincludeOnlyFilterableFields,\n\t\t},\n\t\tstate: { dotWalkModel },\n\t\taction: {\n\t\t\tpayload: { combinedPath, path = [], fromBreadcrumb },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { getMetadata } = getDotWalkBehaviorOptions(coeffects);\n\n\tif (!getMetadata) {\n\t\tlogMissingGetMetadataOption();\n\t\treturn;\n\t}\n\n\tconst metadata = getMetadata(coeffects);\n\tconst extendedFieldsMetadata = get(metadata, 'extendedFields', {});\n\n\tif (isEmpty(extendedFieldsMetadata))\n\t\tdispatch(METADATA_EXTENDED_FIELDS_FETCHED, {\n\t\t\ttableName,\n\t\t\tincludeFieldMetadata,\n\t\t\tincludeOnlyFilterableFields,\n\t\t});\n\n\tconst leafPathSource =\n\t\tpath.length > 1 ? '' : panelItemContentTypes.EXTENDED_FIELDS;\n\n\tupdateState({\n\t\tdotWalkModel: {\n\t\t\t...dotWalkModel,\n\t\t\tpath,\n\t\t\tleafPathSource,\n\t\t},\n\t\terror: null,\n\t\tcontentType: !isEmpty(path)\n\t\t\t? panelItemContentTypes.EXTENDED_FIELDS\n\t\t\t: '',\n\t});\n\n\t// Remove first item because it'll be an extended-fields placeholder,\n\t// which is needed to highlight the extended field panel in the navigation panel\n\tconst truncatedDotWalkPath = path.length > 1 ? path.slice(1) : path;\n\n\tdispatch(NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED, {\n\t\tpath: truncatedDotWalkPath,\n\t\tcombinedPath,\n\t\tcombinedPathDisplay: getCombinedPathDisplay(truncatedDotWalkPath),\n\t\tselectedFieldData: last(truncatedDotWalkPath),\n\t\tmetadata: getNonFieldPathMetadata(truncatedDotWalkPath),\n\t\tfromBreadcrumb,\n\t});\n};\n\nconst pathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { contentType },\n\t\t},\n\t} = coeffects;\n\n\tswitch (contentType) {\n\t\tcase VARIABLES:\n\t\t\tvariablePathUpdatedHandler(coeffects);\n\t\t\tbreak;\n\t\tcase EXTENDED_FIELDS:\n\t\t\textendedFieldsPathUpdatedHandler(coeffects);\n\t\t\tbreak;\n\t\tcase FIELD_METADATA:\n\t\tdefault:\n\t\t\tfieldPathUpdatedHandler(coeffects);\n\t\t\tbreak;\n\t}\n};\n\nconst handleQueryMetadataVariablesSearch = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst {\n\t\tsearchTerm = '',\n\t\toperator = variableSearchOperatorTypes.LIKE,\n\t\tlastVariableId = '',\n\t} = payload;\n\n\tconst updatedSearch = {\n\t\tsearchTerm,\n\t\toperator,\n\t\tlastVariableId,\n\t};\n\n\tdispatch(METADATA_VARIABLES_SEARCH_FETCHED, updatedSearch, updatedSearch); // second argument is for meta reference\n};\n\nconst actionHandlers = {\n\t[BREADCRUMB_PATH_UPDATED]: pathUpdatedHandler,\n\t[DOT_WALK_TRIGGERED]: dotWalkTriggeredHandler,\n\t[PATH_UPDATED]: pathUpdatedHandler,\n\t[METADATA_VARIABLES_SEARCH_FETCH_QUERY]: handleQueryMetadataVariablesSearch,\n};\n\nexport {\n\tactionHandlers as default,\n\tcomponentBootstrappedHandler,\n\tdotWalkTriggeredHandler,\n\tpathUpdatedHandler,\n};\n","import actionHandlers from './actionHandlers';\n\nconst ELEMENT_NAME = 'dotWalkBehavior';\nconst behavior = {\n\tname: ELEMENT_NAME,\n\tactionHandlers,\n};\n\nexport { behavior as default };\nexport * from './actions';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_key_binding_29_0_3_index_jsdbx_2aec08b4__[\"default\"][\"default\"];\n\t\t\t\t} });","const isVariablePath = (path) => !!path?.startsWith('variables.');\n\nexport default isVariablePath;\n","import { t } from 'sn-translate';\n\nimport { METADATA_PATH_FETCHED } from '../../behaviors/dotWalk';\nimport isVariablePath from '../../behaviors/dotWalk/util/isVariablePath';\n\nconst componentBootstrappedHandler = ({\n\tproperties: {\n\t\tdotWalkPath,\n\t\ttableName,\n\t\tfieldInclusionList,\n\t\tfieldExclusionList,\n\t\tincludeFieldMetadata,\n\t\tincludeOnlyFilterableFields,\n\t},\n\tdispatch,\n}) => {\n\tdispatch(METADATA_PATH_FETCHED, {\n\t\tpath: dotWalkPath || '',\n\t\ttableName,\n\t\tfieldInclusionList,\n\t\tfieldExclusionList,\n\t\tincludeFieldMetadata,\n\t\tincludeOnlyFilterableFields,\n\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t});\n};\n\nconst componentPropertyChangedHandler = ({\n\tdispatch,\n\taction: { payload },\n\tupdateState,\n\tproperties: {\n\t\tdotWalkPath,\n\t\ttableName,\n\t\tfieldInclusionList,\n\t\tfieldExclusionList,\n\t\tincludeFieldMetadata,\n\t\tincludeOnlyFilterableFields,\n\t},\n}) => {\n\tupdateState({ [payload.name]: payload.value });\n\tconst path = dotWalkPath || '';\n\n\tswitch (payload.name) {\n\t\tcase 'dotWalkPath': {\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath: payload.value || '',\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'tableName': {\n\t\t\tupdateState({\n\t\t\t\tmetadata: {},\n\t\t\t});\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName: payload.value,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'fieldInclusionList': {\n\t\t\tupdateState({\n\t\t\t\tmetadata: {},\n\t\t\t});\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList: payload.value,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'fieldExclusionList': {\n\t\t\tupdateState({\n\t\t\t\tmetadata: {},\n\t\t\t});\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList: payload.value,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'includeAllColumns': {\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'includeTemplateMetadata': {\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'includeFieldMetadata': {\n\t\t\tupdateState({\n\t\t\t\tmetadata: {},\n\t\t\t});\n\t\t\tdispatch(METADATA_PATH_FETCHED, {\n\t\t\t\tpath,\n\t\t\t\ttableName,\n\t\t\t\tfieldInclusionList,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tincludeFieldMetadata,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\tsearchForVariables: isVariablePath(dotWalkPath),\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nconst componentErrorMessage = t(\n\t'Error occurred. Please contact your System Administrator'\n);\n\nconst componentErrorHandler = ({ updateState }) => {\n\tupdateState({\n\t\terror: componentErrorMessage,\n\t});\n};\n\nexport {\n\tcomponentBootstrappedHandler,\n\tcomponentErrorHandler,\n\tcomponentErrorMessage,\n\tcomponentPropertyChangedHandler,\n};\n","/**\n * Aria live function for notifying users of component changes via screenreader\n * @param {string} message - Aria live message to be read by screenreader\n */\nconst AriaLiveRegion = ({ message }) => (\n\t<div className=\"aria-sr\" role=\"status\" id=\"aria-region\">\n\t\t{message}\n\t<\/div>\n);\n\nexport default AriaLiveRegion;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_0_3_index_jsdbx_06b620cb__[\"default\"][\"default\"];\n\t\t\t\t} });","import {\n\tACTIVE_PANEL_UPDATED,\n\tPANEL_ITEM_CLICKED,\n\tSEARCH_INPUT_FOCUSED,\n} from '../now-dot-walk/actions';\n\nconst keyEventDefaultHandler = (event, key, keyCodes) => {\n\tif (!event || !key || !keyCodes || keyCodes.length === 0) return;\n\n\tif (keyCodes.includes(key)) event.preventDefault();\n};\n\nconst arrowDownHandler = (coeffects) => {\n\tconst {\n\t\tstate: { panelItems, activeItemIndex },\n\t\tupdateState,\n\t} = coeffects;\n\n\tlet activeIndex = activeItemIndex;\n\tif (panelItems.length - 1 > activeItemIndex) {\n\t\tactiveIndex += 1;\n\t}\n\tupdateState({\n\t\tactiveItemIndex: activeIndex,\n\t\tpanelItemClicked: false,\n\t});\n};\n\nconst arrowUpHandler = (coeffects) => {\n\tconst {\n\t\tstate: { activeItemIndex },\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (activeItemIndex !== 0) {\n\t\tupdateState({\n\t\t\tactiveItemIndex: activeItemIndex - 1,\n\t\t});\n\t} else {\n\t\t// move control back to search if we are pressing up arrow at the top of a panel\n\t\tdispatch(SEARCH_INPUT_FOCUSED);\n\t}\n\tupdateState({ panelItemClicked: false });\n};\n\nconst enterPressedHandler = (coeffects) => {\n\tconst {\n\t\tstate: { activeItemIndex, panelItems },\n\t\tproperties: { source, activePanelIndex },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst item = panelItems[activeItemIndex];\n\tif (item && !item.disabled && !item.hidden) {\n\t\tdispatch(PANEL_ITEM_CLICKED, {\n\t\t\t...item,\n\t\t\tfield: item.name,\n\t\t\tpanelIndex: activePanelIndex,\n\t\t\tsource,\n\t\t});\n\t}\n\tupdateState({ panelItemClicked: false });\n};\n\nconst leftArrowPressedHandler = (coeffects) => {\n\tconst {\n\t\tproperties: { activePanelIndex },\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(ACTIVE_PANEL_UPDATED, {\n\t\tnewPanelIndex: activePanelIndex - 1,\n\t});\n};\n\nexport {\n\tkeyEventDefaultHandler,\n\tarrowDownHandler,\n\tarrowUpHandler,\n\tenterPressedHandler,\n\tleftArrowPressedHandler,\n};\n","import get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport {\n\tARIA_LIVE_MESSAGE_UPDATED,\n\tSEARCH_INPUT_VALUE_CHANGED,\n\tDOT_WALK_TRIGGERED,\n} from '../actions';\n\nconst panelItemButtonClickHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tdisplayValue,\n\t\t\t\tfieldName,\n\t\t\t\tpanelIndex,\n\t\t\t\tsource,\n\t\t\t\tpanelItemContentType,\n\t\t\t},\n\t\t},\n\t\tproperties: { metadata = {} },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({\n\t\tcurrentContent: panelItemContentType,\n\t});\n\n\tconst referenceSource = get(\n\t\tmetadata,\n\t\t`${source}[${fieldName}].referenceDataKey`\n\t);\n\n\tif (!referenceSource) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(\n\t\t\t'Attempting to dot walk on a field that had no reference'\n\t\t);\n\t}\n\n\tdispatch(DOT_WALK_TRIGGERED, {\n\t\tfieldName,\n\t\tdisplayValue,\n\t\treferenceSource,\n\t\tsource,\n\t\tpathIndex: panelIndex,\n\t});\n\tdispatch(ARIA_LIVE_MESSAGE_UPDATED, {\n\t\tmessage: t(\n\t\t\t'Panel expanded on {0} field for {1} panel',\n\t\t\tdisplayValue,\n\t\t\tsource\n\t\t),\n\t});\n\tdispatch(SEARCH_INPUT_VALUE_CHANGED, { searchTerm: null });\n};\n\nconst shouldTriggerDotWalk = (\n\tisDotWalkedFieldSelected,\n\topenedPanelCount,\n\tactivePanelIndex\n) => {\n\tconst isNextPanelAlreadyLoaded =\n\t\tisDotWalkedFieldSelected && activePanelIndex !== openedPanelCount - 1;\n\n\treturn !isDotWalkedFieldSelected || !isNextPanelAlreadyLoaded;\n};\n\nconst handleActivePanelUpdated = (coeffects) => {\n\tconst {\n\t\tstate: { activePanelIndex, openedPanelsCount },\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tactionToDispatch,\n\t\t\t\tnewPanelIndex,\n\t\t\t\tisDotWalkedFieldSelected,\n\t\t\t},\n\t\t},\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (\n\t\tactionToDispatch &&\n\t\tshouldTriggerDotWalk(\n\t\t\tisDotWalkedFieldSelected,\n\t\t\topenedPanelsCount,\n\t\t\tactivePanelIndex\n\t\t)\n\t) {\n\t\tconst { actionName, payload } = actionToDispatch;\n\t\tdispatch(actionName, { ...payload });\n\t\treturn;\n\t}\n\n\tlet updatedActivePanelIndex = activePanelIndex;\n\tif (newPanelIndex < openedPanelsCount && newPanelIndex >= 0) {\n\t\tupdatedActivePanelIndex = newPanelIndex;\n\t}\n\n\tupdateState({\n\t\tactivePanelIndex: updatedActivePanelIndex,\n\t});\n};\n\nexport { panelItemButtonClickHandler, handleActivePanelUpdated };\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_cuid_2_1_8_index_jsdbx_ecfbd97c__[\"default\"][\"default\"];\n\t\t\t\t} });","import cuid from 'cuid';\n\n/**\n * Params used to define panel model to be created\n * @typedef {{\n *  id: string\n *  fields: object\n *  source: string\n *  selectedItem: string\n *  panelIndex: number\n *  }} CreatePanelModelParams\n */\n\n/**\n *\n * @param {CreatePanelModelParams} params\n */\nconst createPanelModel = ({ id, fields, source, selectedItem, panelIndex }) => {\n\tconst selectedItemIndex = Object.keys(fields).indexOf(selectedItem);\n\tconst activeIndex =\n\t\tselectedItem && selectedItemIndex !== -1 ? selectedItemIndex : 0;\n\n\treturn {\n\t\tid: id || cuid(),\n\t\tfields,\n\t\tsearchTerm: '',\n\t\tselectedItem,\n\t\tsource,\n\t\tactiveIndex,\n\t\tpanelIndex,\n\t};\n};\n\nexport default createPanelModel;\n","const createPath = ({\n\tdisplayValue,\n\tfield,\n\tsource,\n\treferenceDataKey,\n\treferenceTableDefaultField,\n\treferenceKey,\n\ttype,\n\texcludedOperators,\n}) => ({\n\tdisplayValue,\n\tfield,\n\ttype,\n\tparent: source,\n\treferenceTable: referenceDataKey,\n\treferenceTableDefaultField,\n\treferenceKey,\n\texcludedOperators,\n});\n\nexport default createPath;\n","const getSelectedItemIndex = (selectedItem, panelItems) => {\n\tif (!selectedItem) {\n\t\treturn 0;\n\t}\n\n\tconst selectedItemIndex = panelItems.findIndex(\n\t\t(item) => selectedItem === item.name\n\t);\n\treturn selectedItemIndex !== -1 ? selectedItemIndex : 0;\n};\n\nconst getActiveItemIndex = (coeffects, panelItems, selectedItem) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tstate: { panelItemClicked = false },\n\t} = coeffects;\n\n\t// Case: where the focus is on the search bar, but a user clicks on the panel item.\n\t// I know the panelItemClicked is hacky :(\n\t// Case:  where you're coming from a panel that is to the left of the active index, panel 0 -> 1\n\tif (\n\t\tname === 'activePanelIndex' &&\n\t\tvalue > previousValue &&\n\t\t!panelItemClicked\n\t) {\n\t\treturn 0;\n\t}\n\n\treturn getSelectedItemIndex(selectedItem, panelItems);\n};\n\nexport { getActiveItemIndex, getSelectedItemIndex };\n","import has from 'lodash/has';\n/**\n * Get panel items from metadata\n * @param {{[key: string]: {}}} fields - Fields related to a specific metadata entry\n * @param {{[key: string]: {}}} computedFields - Computed or filtered fields\n * @param {string} selectedItem - The panel's selected item\n * @param {string} itemContentType - Optional. The content type of the panel item\n */\nconst getPanelItems = (\n\tfields,\n\tcomputedFields,\n\tselectedItem,\n\titemContentType\n) => {\n\tlet panelItems = Object.keys(computedFields || fields);\n\tlet prefixPanelItem;\n\n\tif (computedFields && selectedItem && has(fields, selectedItem)) {\n\t\tconst fieldValues = fields[selectedItem];\n\t\tprefixPanelItem = {\n\t\t\tname: selectedItem,\n\t\t\trowId: selectedItem,\n\t\t\t...fieldValues,\n\t\t};\n\t\tif (itemContentType) {\n\t\t\tprefixPanelItem.panelItemContentType = itemContentType;\n\t\t}\n\n\t\tpanelItems = panelItems.filter((key) => key !== selectedItem);\n\t}\n\n\tpanelItems = panelItems\n\t\t.map((f) => {\n\t\t\tconst fieldValues = fields[f];\n\t\t\tconst item = {\n\t\t\t\tname: f,\n\t\t\t\trowId: f,\n\t\t\t\t...fieldValues,\n\t\t\t};\n\n\t\t\tif (itemContentType) {\n\t\t\t\titem.panelItemContentType = itemContentType;\n\t\t\t}\n\n\t\t\treturn item;\n\t\t})\n\t\t.sort((a, b) => a.displayValue - b.displayValue);\n\n\treturn prefixPanelItem ? [prefixPanelItem, ...panelItems] : panelItems;\n};\n\nexport default getPanelItems;\n","import cuid from 'cuid';\n\nimport createPanelModel from './createPanelModel';\n\nconst getPanels = (metadata, path, leafPathSource) => {\n\tif (!metadata) return [];\n\n\tlet panels = [];\n\tconst currentPath = [];\n\tif (path && path.length > 0) {\n\t\tpanels = path.map(({ field, parent }, i) => {\n\t\t\tconst newPanel = createPanelModel({\n\t\t\t\tid: cuid(),\n\t\t\t\tfields: metadata[parent] || {},\n\t\t\t\tsource: parent,\n\t\t\t\tselectedItem: field,\n\t\t\t\tpanelIndex: i,\n\t\t\t});\n\t\t\tif (field) currentPath.push(field);\n\t\t\treturn newPanel;\n\t\t});\n\t}\n\n\tif (leafPathSource) {\n\t\tconst fields = metadata[leafPathSource];\n\t\tconst leafPanel = createPanelModel({\n\t\t\tid: cuid(),\n\t\t\tfields: fields || {},\n\t\t\tsource: leafPathSource,\n\t\t\tselectedItem: undefined,\n\t\t\tpanelIndex: Object.keys(panels).length,\n\t\t});\n\n\t\tleafPanel.loading = !fields;\n\n\t\tpanels.push(leafPanel);\n\t}\n\n\treturn panels;\n};\n\nexport const getOpenedPanelsCount = (path, leafPathSource) => {\n\tlet openedPanelsCount = 0;\n\tif (leafPathSource) openedPanelsCount += 1;\n\tif (path) openedPanelsCount += path.length;\n\n\treturn openedPanelsCount;\n};\n\nexport default getPanels;\n","export const contains = (val, searchTerm) => {\n\tif (!val || !searchTerm) return false;\n\n\treturn val.toLowerCase().includes(searchTerm.toLowerCase());\n};\n\nconst searchCriteria = [\n\t{\n\t\tmatcher: (searchTerm, { displayValue }) =>\n\t\t\tcontains(displayValue, searchTerm),\n\t\torder: 100,\n\t},\n\t{\n\t\tmatcher: (searchTerm, { secondaryValue }) =>\n\t\t\tcontains(secondaryValue, searchTerm),\n\t\torder: 200,\n\t},\n];\n\nconst partitionMatches = (fieldKey, field, searchTerm, resultPartsMap) => {\n\tconst updatedMap = new Map(resultPartsMap);\n\n\tsearchCriteria.forEach(({ matcher, order }) => {\n\t\tif (!updatedMap.get(order)) updatedMap.set(order, {});\n\n\t\tif (matcher(searchTerm, field)) updatedMap.get(order)[fieldKey] = field;\n\t});\n\n\treturn updatedMap;\n};\n\nconst searchFields = (fields, searchTerm) => {\n\tlet resultPartsMap = new Map();\n\tconst fieldKeys = Object.keys(fields);\n\tfieldKeys.forEach((fieldKey) => {\n\t\tresultPartsMap = partitionMatches(\n\t\t\tfieldKey,\n\t\t\tfields[fieldKey],\n\t\t\tsearchTerm,\n\t\t\tresultPartsMap\n\t\t);\n\t});\n\n\tconst resultPartKeys = Array.from(resultPartsMap.keys()).sort();\n\tconst result = {};\n\tresultPartKeys.forEach((partKey) => {\n\t\tconst part = resultPartsMap.get(partKey);\n\t\tObject.keys(part).forEach((key) => {\n\t\t\tresult[key] = part[key];\n\t\t});\n\t});\n\n\treturn result;\n};\n\nexport default searchFields;\n","import get from 'lodash/get';\n\nimport { getCombinedPath } from '../../behaviors/dotWalk/util';\nimport {\n\tBREADCRUMB_SEPARATOR_BUTTON_CLICKED,\n\tDOTWALK_TRIGGER_BUTTON,\n\tPATH_UPDATED,\n} from '../actions';\nimport { panelItemContentTypes } from '../constants';\n\nimport { breadcrumbTrimmedHandler } from './breadcrumbHandlers';\nimport { panelItemButtonClickHandler } from './panelHandlers';\nimport { getOpenedPanelsCount, getPanels } from './util';\n\nconst ariaLiveMessageHandler = ({\n\taction: {\n\t\tpayload: { message },\n\t},\n\tupdateState,\n}) => {\n\tupdateState({\n\t\tariaLiveMessage: message,\n\t});\n};\n\nconst navigationPathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { panelItemContentType, path },\n\t\t},\n\t\taction,\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\taction.stopPropagation();\n\tupdateState({\n\t\tcurrentContent: panelItemContentType,\n\t});\n\n\tconst field = get(path, '[0].field', '');\n\tdispatch(PATH_UPDATED, {\n\t\tpath,\n\t\tcombinedPath: field,\n\t\tcontentType: panelItemContentType,\n\t});\n};\n\nconst contentPathUpdatedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { path },\n\t\t},\n\t\tstate: { navigationPath, currentContent },\n\t\taction,\n\t\tdispatch,\n\t} = coeffects;\n\taction.stopPropagation();\n\n\tconst newPath = [...navigationPath, ...path];\n\tconst combinedPath = getCombinedPath(newPath);\n\n\tdispatch(PATH_UPDATED, {\n\t\tpath: newPath,\n\t\tcombinedPath,\n\t\tcontentType: currentContent,\n\t});\n};\n\nconst buttonIconicClickHandler = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t} = coeffects;\n\n\tswitch (payload.type) {\n\t\tcase BREADCRUMB_SEPARATOR_BUTTON_CLICKED:\n\t\t\tbreadcrumbTrimmedHandler(coeffects);\n\t\t\tbreak;\n\t\tcase DOTWALK_TRIGGER_BUTTON:\n\t\t\tpanelItemButtonClickHandler(coeffects);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nconst updateErrorStateHandler = ({ properties: { error }, updateState }) => {\n\tif (error) {\n\t\tupdateState({ error });\n\t}\n};\n\nconst componentPropertyChangedHandler = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: {\n\t\t\tsearchInputFocused,\n\t\t\tcurrentContent,\n\t\t\tproperties: { metadata, dotWalkPath, leafPathSource, contentType },\n\t\t},\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tupdateErrorStateHandler(coeffects);\n\n\tconst navigationPath = dotWalkPath ? dotWalkPath.slice(0, 1) : [];\n\tconst contentPath = dotWalkPath ? dotWalkPath.slice(1) : [];\n\tconst panels = getPanels(metadata, dotWalkPath, leafPathSource);\n\n\tlet openedPanelsCount = getOpenedPanelsCount(dotWalkPath, leafPathSource);\n\tif (contentType === panelItemContentTypes.VARIABLES) {\n\t\topenedPanelsCount = Math.min(openedPanelsCount, 2);\n\t}\n\n\tconst shouldUpdateCurrentContent =\n\t\t(!contentType && !currentContent) || contentType || currentContent;\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'currentContent',\n\t\t\tvalue:\n\t\t\t\tcontentType ||\n\t\t\t\tcurrentContent ||\n\t\t\t\tpanelItemContentTypes.FIELD_METADATA,\n\t\t\toperation: 'set',\n\t\t\tshouldUpdate: shouldUpdateCurrentContent,\n\t\t},\n\t\t{\n\t\t\tpath: 'activePanelIndex',\n\t\t\tvalue: searchInputFocused ? -1 : openedPanelsCount - 1,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'error',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'panels',\n\t\t\tvalue: panels,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'searchTerm',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t\tshouldUpdate: name === 'dotWalkPath',\n\t\t},\n\t\t{\n\t\t\tpath: 'navigationPath',\n\t\t\tvalue: navigationPath,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'contentPath',\n\t\t\tvalue: contentPath,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'openedPanelsCount',\n\t\t\tvalue: openedPanelsCount,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nexport {\n\tariaLiveMessageHandler,\n\tbuttonIconicClickHandler,\n\tcomponentPropertyChangedHandler,\n\tupdateErrorStateHandler,\n\tgetPanels,\n\tnavigationPathUpdatedHandler,\n\tcontentPathUpdatedHandler,\n};\n","import get from 'lodash/get';\n\nimport getBehaviorOptions from '../../../common/getBehaviorOptions';\n\nconst defaultOptions = {\n\tgetMetadata: (coeffects) => (path = 'metadata') => {\n\t\tif (!coeffects || !coeffects.state) return;\n\t\treturn get(coeffects.state, path);\n\t},\n\tupdateMetadata: (coeffects) => (metadata, path = 'metadata') => {\n\t\tif (!coeffects || !coeffects.updateState) return;\n\t\tconst { updateState } = coeffects;\n\t\tupdateState({ path, value: metadata, operation: 'merge' });\n\t},\n\tupdateDotWalkConfig: (coeffects) => (dotWalkConfig) => {\n\t\tif (!coeffects || !coeffects.updateState) return;\n\t\tconst { updateState } = coeffects;\n\t\tupdateState({\n\t\t\tpath: 'dotWalkConfig',\n\t\t\tvalue: dotWalkConfig,\n\t\t\toperation: 'merge',\n\t\t});\n\t},\n};\n\nexport default getBehaviorOptions(defaultOptions);\n","/**\n * Utility function to get the variable search metadata from the metadata object\n * @param {object} metadata\n * @param {string} searchTerm\n * @returns {object}\n */\nexport const getVariablesSearchMetadata = (metadata, searchTerm) => {\n\tconst cache = metadata?.variables_search || {};\n\n\tif (typeof searchTerm === 'string') {\n\t\treturn cache[searchTerm] || {};\n\t}\n\n\treturn cache;\n};\n","import isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport { METADATA_VARIABLES_SEARCH_FETCH_QUERY } from '../../behaviors/dotWalk/actions';\nimport { getVariablesSearchMetadata } from '../../behaviors/metadata/util';\nimport { ARIA_LIVE_MESSAGE_UPDATED } from '../actions';\nimport { panelItemContentTypes } from '../constants';\n\nimport { searchFields } from './util';\n\nconst arrowDownHandler = ({ state, host, updateState }) => {\n\tconst { searchInputFocused, activePanelIndex } = state;\n\n\tif (searchInputFocused) {\n\t\tconst input = host.nowRootNode.querySelector('input');\n\t\tif (input) input.blur();\n\t\tupdateState({ searchInputFocused: false, activePanelIndex: 0 });\n\t} else if (activePanelIndex === -1) {\n\t\t// this handles the case where they may be tabbed on a breadcrumb\n\t\tupdateState({ activePanelIndex: 0 });\n\t}\n};\n\nconst getPanelSearchResultMessage = (panelCount, source) =>\n\tt('{0} matching results for {1} panel. ', panelCount, source);\n\nconst getAriaLiveSearchResultText = (updatedPanels) => {\n\tlet totalSearchResultCount = 0;\n\tlet combinedResultMessage = '';\n\n\tconst searchResultCountAccumulator = ({ computedFields, source }) => {\n\t\tconst amount = Object.keys(computedFields).length;\n\t\ttotalSearchResultCount += amount;\n\t\tcombinedResultMessage += getPanelSearchResultMessage(amount, source);\n\t};\n\n\tupdatedPanels.forEach(searchResultCountAccumulator);\n\n\tconst searchResults = t(\n\t\t'Filtered to show {0} matching results. {1}',\n\t\ttotalSearchResultCount,\n\t\tcombinedResultMessage\n\t);\n\n\treturn searchResults;\n};\n\nconst getSearchFilteringMessage = (state, searchTerm, updatedPanels) => {\n\tlet searchResultMessage;\n\tif (state.searchTerm && searchTerm === '') {\n\t\tsearchResultMessage = t('Filter is now off');\n\t} else if (state.searchTerm && searchTerm === null) {\n\t\tsearchResultMessage = t(\n\t\t\t'Filter is now off. {0}',\n\t\t\tstate.ariaLiveMessage\n\t\t);\n\t} else if (searchTerm) {\n\t\tsearchResultMessage = getAriaLiveSearchResultText(updatedPanels);\n\t} else {\n\t\tsearchResultMessage = null;\n\t}\n\n\treturn searchResultMessage;\n};\n\n// Takes all DW panels that will be displayed and filters them with the search term\nconst getUpdatedPanels = (panels, searchTerm) => {\n\treturn panels.map((panel) => {\n\t\tconst { fields } = panel;\n\n\t\tconst computedFields = searchTerm\n\t\t\t? searchFields(fields, searchTerm)\n\t\t\t: undefined;\n\n\t\treturn { ...panel, computedFields, activeIndex: 0 };\n\t});\n};\n\nconst searchTermUpdatedHandler = (coeffects) => {\n\tconst {\n\t\tproperties: { contentType },\n\t} = coeffects;\n\n\tswitch (contentType) {\n\t\tcase panelItemContentTypes.VARIABLES:\n\t\t\thandleVariablesSearch(coeffects);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\thandleFieldSearch(coeffects);\n\t\t\tbreak;\n\t}\n};\n\nconst handleFieldSearch = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { searchTerm },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { panels } = state;\n\tconst updatedPanels = getUpdatedPanels(panels, searchTerm);\n\n\tconst searchResultAriaLiveMessage = getSearchFilteringMessage(\n\t\tstate,\n\t\tsearchTerm,\n\t\tupdatedPanels\n\t);\n\n\tif (searchResultAriaLiveMessage)\n\t\tdispatch(ARIA_LIVE_MESSAGE_UPDATED, {\n\t\t\tmessage: searchResultAriaLiveMessage,\n\t\t});\n\n\tupdateState({\n\t\tsearchTerm,\n\t\tpanels: updatedPanels,\n\t});\n};\n\nconst handleVariablesSearch = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { searchTerm },\n\t\t},\n\t\tproperties: { metadata },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst searchTermCache = getVariablesSearchMetadata(metadata, searchTerm);\n\n\t// Fetch for searchTerm metadata if no existing cache\n\tif (isEmpty(searchTermCache)) {\n\t\tdispatch(METADATA_VARIABLES_SEARCH_FETCH_QUERY, { searchTerm });\n\t}\n\n\tupdateState({\n\t\tsearchTerm,\n\t});\n};\n\nconst searchInputBlurredHandler = ({\n\tupdateState,\n\tstate: { searchInputFocused },\n}) => {\n\tif (searchInputFocused) {\n\t\tupdateState({ searchInputFocused: false });\n\t}\n};\n\nconst searchInputFocusedHandler = ({ updateState }) => {\n\tupdateState({ searchInputFocused: true, activePanelIndex: -1 });\n};\n\nexport {\n\tarrowDownHandler,\n\tsearchInputBlurredHandler,\n\tsearchInputFocusedHandler,\n\tsearchTermUpdatedHandler,\n};\n","import {\n\tACTIVE_PANEL_UPDATED,\n\tCONTENT_PATH_UPDATED,\n\tDOT_WALK_TRIGGERED,\n\tDOTWALK_TRIGGER_BUTTON,\n\tPANEL_ITEM_CLICKED,\n\tSEARCH_INPUT_FOCUSED,\n} from '../now-dot-walk/actions';\nimport { panelItemButtonClickHandler } from '../now-dot-walk/state';\nimport { updateErrorStateHandler } from '../now-dot-walk/state/globalHandlers';\nimport {\n\tgetPanels,\n\tsearchFields,\n\tgetPanelItems,\n} from '../now-dot-walk/state/util';\nimport createPath from '../now-dot-walk/state/util/createPath';\nimport { getSelectedItemIndex } from '../now-dot-walk/state/util/getItemIndex';\n\nconst buttonIconicClickHandler = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\taction,\n\t} = coeffects;\n\n\t// TODO: BAD HACK for now.. :( should be able to clean it up later\n\tpayload.panelIndex += 1;\n\tswitch (payload.type) {\n\t\tcase DOTWALK_TRIGGER_BUTTON:\n\t\t\tpanelItemButtonClickHandler(coeffects);\n\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\taction.stopPropagation();\n};\n\nconst panelItemClickHandler = (coeffects) => {\n\tconst {\n\t\taction,\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: { panelIndex, field, displayValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { dotWalkPath: path },\n\t} = coeffects;\n\n\tlet updatedPath;\n\tif (panelIndex > path.length - 1) {\n\t\tupdatedPath = [...path, createPath(payload)];\n\t} else {\n\t\tupdatedPath = path.slice(0, panelIndex + 1);\n\t\tconst lastUpdatedPathItem = updatedPath[updatedPath.length - 1];\n\n\t\tupdatedPath[updatedPath.length - 1] = {\n\t\t\t...lastUpdatedPathItem,\n\t\t\tdisplayValue,\n\t\t\tfield,\n\t\t};\n\t}\n\n\taction.stopPropagation();\n\n\tdispatch(CONTENT_PATH_UPDATED, {\n\t\tpath: updatedPath,\n\t});\n};\n\nconst componentPropertyChangedHandler = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tmetadata,\n\t\t\tdotWalkPath,\n\t\t\tleafPathSource,\n\t\t\tactivePanelIndex,\n\t\t\terror,\n\t\t\tsearchTerm,\n\t\t},\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tupdateState,\n\t\tstate: { panels },\n\t} = coeffects;\n\tupdateErrorStateHandler(coeffects);\n\tlet updatedPanels = panels;\n\n\tif (\n\t\t!name ||\n\t\tname === 'metadata' ||\n\t\tname === 'dotWalkPath' ||\n\t\tname === 'leafPathSource' ||\n\t\tname === 'searchTerm' ||\n\t\tname === 'activePanelIndex'\n\t) {\n\t\tupdatedPanels = getPanels(metadata, dotWalkPath, leafPathSource).map(\n\t\t\t(panel) => {\n\t\t\t\tconst { fields, selectedItem } = panel;\n\t\t\t\tconst computedFields = searchTerm\n\t\t\t\t\t? searchFields(fields, searchTerm)\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst panelItems = getPanelItems(\n\t\t\t\t\tfields,\n\t\t\t\t\tcomputedFields,\n\t\t\t\t\tselectedItem\n\t\t\t\t);\n\n\t\t\t\tlet activeItemIndex;\n\t\t\t\tif (name === 'activePanelIndex' && value > previousValue) {\n\t\t\t\t\tactiveItemIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tactiveItemIndex = getSelectedItemIndex(\n\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\tpanelItems\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...panel,\n\t\t\t\t\tcomputedFields,\n\t\t\t\t\tactiveIndex: activeItemIndex,\n\t\t\t\t\titems: panelItems,\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\t}\n\n\tupdateState({\n\t\terror,\n\t\tactivePanelIndex: activePanelIndex !== -1 ? activePanelIndex - 1 : -1,\n\t\tpanels: updatedPanels,\n\t});\n};\n\nconst arrowDownHandler = (coeffects) => {\n\tconst {\n\t\tstate: { panels, activePanelIndex },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst activePanel = panels[activePanelIndex];\n\tconst { items } = activePanel;\n\tlet { activeIndex: updatedIndex } = activePanel;\n\n\tif (items.length - 1 > updatedIndex) {\n\t\tupdatedIndex += 1;\n\t}\n\n\tconst updatedPanels = [...panels];\n\tupdatedPanels[activePanelIndex] = {\n\t\t...activePanel,\n\t\tactiveIndex: updatedIndex,\n\t};\n\n\tupdateState({\n\t\tpanels: updatedPanels,\n\t});\n};\n\nconst arrowUpHandler = ({ state, updateState, dispatch }) => {\n\tconst { activePanelIndex, panels } = state;\n\tconst { activeIndex } = panels[activePanelIndex];\n\n\t// move control back to search if we are pressing up arrow at the top of a panel\n\tif (activeIndex === 0) {\n\t\tdispatch(SEARCH_INPUT_FOCUSED);\n\t\treturn;\n\t}\n\n\tlet updatedIndex = activeIndex;\n\tif (activeIndex !== 0) updatedIndex -= 1;\n\n\tconst updatedPanels = [...panels];\n\tupdatedPanels[activePanelIndex].activeIndex = updatedIndex;\n\n\tupdateState({\n\t\tpanels: updatedPanels,\n\t});\n};\n\nconst arrowRightHandler = ({ state, dispatch }) => {\n\tconst {\n\t\tproperties: { activePanelIndex },\n\t\tactivePanelIndex: currentPanelIndex,\n\t\tpanels,\n\t} = state;\n\n\tconst { items, activeIndex, selectedItem, source, panelIndex } = panels[\n\t\tcurrentPanelIndex\n\t];\n\tconst panelItems = items[activeIndex];\n\n\tif (!panelItems) {\n\t\treturn;\n\t}\n\n\tconst { displayValue, referenceDataKey, isReference, name } = panelItems;\n\n\tconst actionToDispatch = {\n\t\tactionName: DOT_WALK_TRIGGERED,\n\t\tpayload: {\n\t\t\tfieldName: name,\n\t\t\tdisplayValue,\n\t\t\treferenceSource: referenceDataKey,\n\t\t\tsource,\n\t\t\tpathIndex: panelIndex + 1,\n\t\t},\n\t};\n\n\tdispatch(ACTIVE_PANEL_UPDATED, {\n\t\tnewPanelIndex: activePanelIndex + 1,\n\t\tisDotWalkedFieldSelected: name === selectedItem,\n\t\tactionToDispatch: isReference ? actionToDispatch : null,\n\t});\n};\n\nconst enterPressedHandler = ({ state, dispatch }) => {\n\tconst { activePanelIndex, panels } = state;\n\tconst { items: activePanelItems, activeIndex, source } = panels[\n\t\tactivePanelIndex\n\t];\n\tconst { displayValue, disabled, name } = activePanelItems[activeIndex];\n\n\tif (!disabled) {\n\t\tdispatch(PANEL_ITEM_CLICKED, {\n\t\t\tdisplayValue,\n\t\t\tfield: name,\n\t\t\tpanelIndex: activePanelIndex,\n\t\t\tsource,\n\t\t});\n\t}\n};\n\nexport {\n\tenterPressedHandler,\n\tarrowDownHandler,\n\tarrowRightHandler,\n\tarrowUpHandler,\n\tbuttonIconicClickHandler,\n\tpanelItemClickHandler,\n\tcomponentPropertyChangedHandler,\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-template-message';\nimport { t } from 'sn-translate';\n\n/**\n * NoResultsPanel component\n */\nconst NoResultsPanel = () => {\n\treturn (\n\t\t<div className=\"ndw-panel\" data-testId=\"ndw-panel\">\n\t\t\t<div\n\t\t\t\tclassName=\"ndw-panel-content no-results\"\n\t\t\t\tdata-testId=\"no_results_panel\"\n\t\t\t>\n\t\t\t\t{t('No results')}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default NoResultsPanel;\n\nexport const NoSearchResultsPanel = ({ searchTerm = '' }) => {\n\tconst label = t('No results found for \"{searchTerm}\"', { searchTerm });\n\treturn (\n\t\t<div className=\"ndw-panel\" data-testId=\"ndw-panel\">\n\t\t\t<div\n\t\t\t\tclassName=\"ndw-panel-content no-results\"\n\t\t\t\tdata-testId=\"no_results_panel\"\n\t\t\t>\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\theading={{\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tlevel: 5,\n\t\t\t\t\t}}\n\t\t\t\t\tcontent={t('Try searching for something else')}\n\t\t\t\t\tillustration=\"no-search-results\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","export const METADATA_PATH_FETCH_FAILED = 'METADATA_PATH_FETCH_FAILED';\nexport const METADATA_PATH_FETCH_STARTED = 'METADATA_PATH_FETCH_STARTED';\nexport const METADATA_PATH_FETCH_SUCCEEDED = 'METADATA_PATH_FETCH_SUCCEEDED';\n\nexport const METADATA_TABLE_FETCH_FAILED = 'METADATA_TABLE_FETCH_FAILED';\nexport const METADATA_TABLE_FETCH_STARTED = 'METADATA_TABLE_FETCH_STARTED';\nexport const METADATA_TABLE_FETCH_SUCCEEDED = 'METADATA_TABLE_FETCH_SUCCEEDED';\n\nexport const BREADCRUMB_PATH_UPDATED = 'NOW_DOT_WALK#BREADCRUMB_PATH_UPDATED';\nexport const DOT_WALK_TRIGGERED = 'NOW_DOT_WALK#DOT_WALK_TRIGGERED';\nexport const PATH_UPDATED = 'NOW_DOT_WALK#PATH_UPDATED';\n\nexport const CONNECTED_PATH_UPDATED = 'NOW_DOT_WALK_CONNECTED#PATH_UPDATED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nexport const RTL_DIRECTION = 'rtl';\n\nexport const QUESTIONS_DISPLAY_VALUE = t('Questions');\nexport const VARIABLES_DISPLAY_VALUE = t('Variables');\nexport const VARIABLES_QUESTIONS_SECONDARY_DISPLAY_VALUE = t(\n\t'Select from variables and variable sets'\n);\n","import '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\n\nimport {\n\tDOTWALK_TRIGGER_BUTTON,\n\tNOW_BUTTON_ICONIC_CLICKED,\n} from '../../../now-dot-walk/actions';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport { RTL_DIRECTION } from '../../../common/constants';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport styles from './_panelItemArrow.scss';\nimport { t } from 'sn-translate';\n\nconst RIGHT = 'right';\nconst LEFT = 'left';\n\nconst EXPAND_LABEL = t('Expand');\n\n/**\n * Handles Dotwalk arrow click\n * @param {object} options\n * @param {object} options.dispatch - Dispatch function to update app state\n * @param {string} options.source - Source of the panel this item belongs to\n * @param {string} options.fieldName - Name of the PanelItems field\n * @param {string} options.panelIndex - Index of the panel this item belongs to\n * @param {string} options.displayValue - Display value of the panel item\n * @param {string} options.panelItemContentType - Content type to render for field selection\n */\nconst handleDotWalkButtonClick = (options) => {\n\tconst {\n\t\tdispatch,\n\t\tsource,\n\t\tfieldName,\n\t\tpanelIndex,\n\t\tdisplayValue,\n\t\tpanelItemContentType,\n\t} = options;\n\n\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\tsource,\n\t\tfieldName,\n\t\tpanelIndex,\n\t\tdisplayValue,\n\t\tpanelItemContentType,\n\t\ttype: DOTWALK_TRIGGER_BUTTON,\n\t});\n};\n\nconst handleIconVersion = (dir) => {\n\tconst chevronDirection = dir === RTL_DIRECTION ? LEFT : RIGHT;\n\tconst iconVersion = `caret-${chevronDirection}-fill`;\n\n\treturn iconVersion;\n};\n\nconst getDotWalkButtonClassName = (panelIndex, fieldName) =>\n\t`ndw-panel-content-item-icon panel-${panelIndex}-panelItem-${fieldName}-dotWalkButton`;\n\nconst view = (state, helpers) => {\n\tconst {\n\t\tproperties: {\n\t\t\tariaLabel,\n\t\t\tariaExpanded,\n\t\t\tdir,\n\t\t\tsource,\n\t\t\tfieldName,\n\t\t\tpanelIndex,\n\t\t\tdisplayValue,\n\t\t\tpanelItemContentType,\n\t\t},\n\t\ttargetRef,\n\t} = state;\n\tconst { dispatch, updateState } = helpers;\n\tconst setTargetRef = (ref) =>\n\t\tsetTimeout(() => updateState({ targetRef: ref }));\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-icon\n\t\t\t\tclassName={getDotWalkButtonClassName(panelIndex, fieldName)}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-expanded={ariaExpanded}\n\t\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\t\ticon={handleIconVersion(dir)}\n\t\t\t\ton-click={(e) => {\n\t\t\t\t\thandleDotWalkButtonClick({\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tsource,\n\t\t\t\t\t\tfieldName,\n\t\t\t\t\t\tpanelIndex,\n\t\t\t\t\t\tdisplayValue,\n\t\t\t\t\t\tpanelItemContentType,\n\t\t\t\t\t});\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<now-tooltip\n\t\t\t\ttarget-ref={targetRef}\n\t\t\t\tcontent={EXPAND_LABEL}\n\t\t\t\tdelay={500}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\ncreateCustomElement('sn-dot-walk-panel-item-arrow', {\n\tproperties: {\n\t\tariaLabel: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tariaExpanded: {\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\tdir: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tfieldName: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tpanelIndex: {\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\tdisplayValue: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tpanelItemContentType: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tview,\n\tstyles,\n});\n","import './PanelItemArrow';\n\nimport { t } from 'sn-translate';\n\nimport { PANEL_ITEM_CLICKED } from '../../../now-dot-walk/actions';\n\n/**\n * Construct class name based on component state\n * @param {boolean} selected - Represents whether or not the item is selected\n * @param {boolean} active - Represents whether or not the item is active\n * @param {boolean} disabled - Represents whether or not the item is disabled\n * @param {string} panelIndex - Represents the index of the panel from the StackedPanel\n * @param {string} fieldName - Represents the name of the field this panel represents\n * @param {string} secondaryValue - Represents the optional secondary value derived from the transformMetaData function\n */\nconst getClassName = (\n\tselected,\n\tactive,\n\tdisabled,\n\tpanelIndex,\n\tfieldName,\n\tsecondaryValue,\n\tisReference\n) => {\n\tconst baseClassName = `ndw-panel-content-item`;\n\tconst selectedClassName = selected ? ' is-selected' : '';\n\tconst activeClassName = active ? ' is-active' : '';\n\tconst disabledClassName = disabled ? ' is-disabled' : '';\n\tconst testIdClassName = ` panel-${panelIndex}-panelItem-${fieldName}`;\n\tconst secondaryValueClassName = secondaryValue ? ` secondary-value` : '';\n\tconst dotwalkableClassName = isReference ? ` dot-walkable` : '';\n\n\treturn `${baseClassName}${selectedClassName}${disabledClassName}${activeClassName}${testIdClassName}${secondaryValueClassName}${dotwalkableClassName}`;\n};\n\nconst getSecondaryLabelClassName = (leadingImageSrc) => {\n\treturn leadingImageSrc\n\t\t? 'ndw-panel-content-item-secondary-value-image'\n\t\t: 'ndw-panel-content-item-secondary-value';\n};\n\n/**\n * Handles item click\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n * @param {string} displayValue - Display value of the panel item\n * @param {string} field - Name of the PanelItems field\n * @param {string} panelIndex - Index of the panel this item belongs to\n * @param {string} source - Source of the panel this item belongs to\n * @param {string} disabled - Indicates whether the item is disabled or not\n */\nconst handleItemClick = (\n\tdispatch,\n\tpanelItem,\n\tfield,\n\tpanelIndex,\n\tsource\n) => () => {\n\tconst { disabled } = panelItem;\n\tif (disabled) return;\n\tdispatch(PANEL_ITEM_CLICKED, { ...panelItem, field, panelIndex, source });\n};\n\nconst scrollIntoViewIfNeeded = (active) => ({ elm }) => {\n\tif (!active) return;\n\n\tif (elm.scrollIntoViewIfNeeded) {\n\t\telm.scrollIntoViewIfNeeded(false);\n\t\treturn;\n\t}\n\telm.scrollIntoView(false);\n};\n\n/**\n * Item rendered inside a panel\n * @param {Object} props - Component props\n * @param {boolean} props.active - Indicated whether or not the item is active\n * @param {string} props.ariaLabel - Aria label used for accessibility requirements\n * @param {string} props.dir - The directionality of the text of the document\n * @param {string} props.disabled - Indicated whether or not the item is disabled\n * @param {(type: string, payload: {}) => void)} props.dispatch Dispatch function to update app state\n * @param {string} props.displayValue - Display value of the panel item\n * @param {string} props.fieldName - Name of the field this panelItem references\n * @param {string} props.hidden - Indicates whether or not the panel item should be displayed\n * @param {string} props.hintText - Text to be displayed in the title attribute of the panel text\n * @param {boolean} props.isReference - Indicates whether or not the item has references\n * @param {boolean} props.leadingImageSrc - Source of the image used in the panel item\n * @param {string} props.panelItemContentType - Content type to render for field selection\n * @param {boolean} props.selected - Indicates whether or not the item is selected\n * @param {boolean} props.panelIndex - Index of the panel items' parent in the group\n * @param {string} props.source - Name of the source metadata of this PanelItem\n */\nconst PanelItem = ({\n\tactive,\n\tariaLabel,\n\tdir,\n\tdisabled,\n\tdispatch,\n\tdisplayValue,\n\tsecondaryValue,\n\tfieldName,\n\thidden,\n\thintText,\n\tid,\n\tisReference,\n\tleadingImageSrc,\n\tpanelItem,\n\tpanelIndex,\n\tpanelItemContentType,\n\tselected,\n\tsource,\n\thideDotWalking,\n}) => {\n\tif (hidden) return null;\n\n\t// \"true\" when property is disabled, \"false\" otherwise\n\t// Force to a \"false\" string if undefined\n\tconst ariaDisabled = disabled === undefined ? 'false' : `${disabled}`;\n\n\t// If the property can be dotwalked, the screen reader should indicate the\n\t// state the property's content panel.\n\tconst ariaExpanded = isReference && !hideDotWalking ? `${selected}` : null;\n\n\t// \"true\" when property is disabled, \"false\" otherwise\n\tconst ariaSelected = `${selected}`;\n\n\tconst dotwalkFieldLabel =\n\t\tisReference && !hideDotWalking\n\t\t\t? t(' Press Right Arrow to expand options')\n\t\t\t: '';\n\n\treturn (\n\t\t<li\n\t\t\tdata-testId=\"ndw-panel-content-item\"\n\t\t\tdata-testFieldName={fieldName}\n\t\t\tdata-testDisplayValue={displayValue}\n\t\t\tid={id}\n\t\t\trole=\"option\"\n\t\t\taria-label={`${displayValue}${dotwalkFieldLabel}`}\n\t\t\taria-disabled={ariaDisabled}\n\t\t\taria-selected={ariaSelected}\n\t\t\tclassName={getClassName(\n\t\t\t\tselected,\n\t\t\t\tactive,\n\t\t\t\tdisabled,\n\t\t\t\tpanelIndex,\n\t\t\t\tfieldName,\n\t\t\t\tsecondaryValue,\n\t\t\t\tisReference\n\t\t\t)}\n\t\t\ton-click={handleItemClick(\n\t\t\t\tdispatch,\n\t\t\t\tpanelItem,\n\t\t\t\tfieldName,\n\t\t\t\tpanelIndex,\n\t\t\t\tsource\n\t\t\t)}\n\t\t\thook-update={scrollIntoViewIfNeeded(active)}\n\t\t>\n\t\t\t{leadingImageSrc && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"ndw-panel-content-item-leading-image\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundImage: `url(${leadingImageSrc})`,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<span\n\t\t\t\tclassName=\"ndw-panel-content-item-label\"\n\t\t\t\ttitle={t('{0}', hintText) || displayValue}\n\t\t\t>\n\t\t\t\t{displayValue}\n\t\t\t\t{secondaryValue ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={getSecondaryLabelClassName(leadingImageSrc)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{secondaryValue}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t<span className=\"sr-only\">{dotwalkFieldLabel}<\/span>\n\t\t\t<\/span>\n\t\t\t{isReference && !hideDotWalking ? (\n\t\t\t\t<sn-dot-walk-panel-item-arrow\n\t\t\t\t\tariaLabel={ariaLabel}\n\t\t\t\t\tariaExpanded={ariaExpanded}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tsource={source}\n\t\t\t\t\tfieldName={fieldName}\n\t\t\t\t\tpanelIndex={panelIndex}\n\t\t\t\t\tdisplayValue={displayValue}\n\t\t\t\t\tpanelItemContentType={panelItemContentType}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/li>\n\t);\n};\n\nexport default PanelItem;\n","import { t } from 'sn-translate';\n\n/**\n * Heading item rendered inside a panel\n * @param {Object} props - Component props\n * @param {string} props.ariaLabel - Aria label used for accessibility requirements\n * @param {string} props.displayValue - Display value of the panel item\n */\nconst PanelItemHeading = ({ ariaLabel, displayValue, hidden, hintText }) =>\n\thidden ? null : (\n\t\t<li aria-label={ariaLabel} className=\"ndw-panel-content-item-heading\">\n\t\t\t<span\n\t\t\t\tclassName=\"ndw-panel-content-item-label\"\n\t\t\t\ttitle={t('{0}', hintText) || displayValue}\n\t\t\t>\n\t\t\t\t{displayValue}\n\t\t\t<\/span>\n\t\t<\/li>\n\t);\n\nexport default PanelItemHeading;\n","import '@servicenow/now-loader';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport PanelItem from './PanelItem';\nimport PanelItemHeading from './PanelItemHeading';\n\n/**\n * Render function for list items inside of a Panel\n * @param {string} ariaLabel - Aria label used for accessibility requirements\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n * @param {[{name: string, displayValue: string, isReference: boolean}]]} items - Value to be mapped to list items\n * @param {string} selectedItem - Name of the list item to receive active state classes\n * @param {string} activeIndex - Index of the panel item that has an active state\n * @param {string} active - Represents whether or not the panel is active\n * @param {boolean} panelId - Id of the panel\n * @param {boolean} panelIndex - Index of the panel in the group\n * @param {string} props.source - Name of the source metadata of this Panel\n * @param {string} dir - The directionality of the text of the document\n * @param {string} hostId - Id of the host element\n */\nconst renderPanelItems = (\n\tdispatch,\n\titems,\n\tselectedItem,\n\tactiveIndex,\n\tactive,\n\tpanelId,\n\tpanelIndex,\n\tsource,\n\tdir,\n\thideDotWalking,\n\thostId\n) =>\n\titems.map((panelItem, i) => {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tdisplayValue,\n\t\t\tsecondaryValue,\n\t\t\thidden,\n\t\t\thintText,\n\t\t\tisReference,\n\t\t\tisHeading,\n\t\t\tleadingImageSrc,\n\t\t\tname,\n\t\t\trowId,\n\t\t\tpanelItemContentType,\n\t\t} = panelItem;\n\n\t\treturn isHeading ? (\n\t\t\t<PanelItemHeading\n\t\t\t\tdisplayValue={displayValue}\n\t\t\t\tariaLabel={t('{0} heading', displayValue)}\n\t\t\t/>\n\t\t) : (\n\t\t\t<PanelItem\n\t\t\t\tactive={active && i === activeIndex}\n\t\t\t\tariaLabel={t('Expand reference fields for {0} field', name)}\n\t\t\t\tdir={dir}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tdisplayValue={displayValue}\n\t\t\t\tsecondaryValue={secondaryValue}\n\t\t\t\tfieldName={name}\n\t\t\t\thidden={hidden}\n\t\t\t\thintText={hintText}\n\t\t\t\tid={`${hostId}-${panelIndex}-${i}`}\n\t\t\t\tisReference={isReference}\n\t\t\t\tkey={name}\n\t\t\t\tleadingImageSrc={leadingImageSrc}\n\t\t\t\tpanelItem={panelItem}\n\t\t\t\tpanelIndex={panelIndex}\n\t\t\t\tpanelItemContentType={panelItemContentType}\n\t\t\t\tselected={rowId === selectedItem}\n\t\t\t\tsource={source}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t/>\n\t\t);\n\t});\n\n/**\n * Panel components\n * @param {{}} props - Component props\n * @param {(type: string, payload: {}) => void)} props.dispatch Dispatch function to update app state\n * @param {string} props.dir - The directionality of the text of the document\n * @param {[{name: string, displayValue: string, isReference: boolean}]} props.items - Value to be mapped to list items\n * @param {string} props.panelId - Id of the component\n * @param {string} props.loading - Loading state of the component\n * @param {string} props.selectedItem - Name of the list item to receive active state classes\n * @param {boolean} props.active - Indicates whether the panel is active\n * @param {boolean} props.panelIndex - Index of the panel in the group\n * @param {boolean} props.activeIndex - Index of the active panel item\n * @param {string} props.source - Name of the source metadata of this Panel\n */\nconst Panel = ({\n\tdispatch: d,\n\tdir,\n\tloading,\n\tactive,\n\thostId,\n\tpanelId,\n\tpanelIndex,\n\titems,\n\tselectedItem,\n\tactiveIndex,\n\tsource,\n\thideDotWalking,\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`ndw-panel panel-${panelIndex}`}\n\t\t\tdata-testId=\"ndw-panel\"\n\t\t>\n\t\t\t<div className=\"ndw-panel-content\">\n\t\t\t\t{loading ? (\n\t\t\t\t\t<div className=\"ndw-panel-content-loader\">\n\t\t\t\t\t\t<now-loader />\n\t\t\t\t\t<\/div>\n\t\t\t\t) : (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\t\ttabIndex={active ? '0' : '-1'}\n\t\t\t\t\t\t\taria-label={t('Select')}\n\t\t\t\t\t\t\taria-activedescendant={`${hostId}-${panelIndex}-${activeIndex}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderPanelItems(\n\t\t\t\t\t\t\t\td,\n\t\t\t\t\t\t\t\titems,\n\t\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\tactive,\n\t\t\t\t\t\t\t\tpanelId,\n\t\t\t\t\t\t\t\tpanelIndex,\n\t\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\t\tdir,\n\t\t\t\t\t\t\t\thideDotWalking,\n\t\t\t\t\t\t\t\thostId\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<slot name=\"panel-end\" />\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default Panel;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { DOT_WALK_TRIGGERED } from '../now-dot-walk-connected/actions';\nimport { PANEL_ITEM_CLICKED } from '../now-dot-walk/actions';\n\nimport baseStyle from './now-dot-walk.scss';\nimport view from './NowDotWalkPanel.view';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED } = actionTypes;\n/**\n * Metadata used for the dot-walk components\n * @typedef {[key: string]: {\n *              [key: string]: {\n *                  displayValue: string,\n *                  isReference: boolean,\n *                  referenceDataKey?: string\n *              }}\n *      } DotWalkMetadata\n */\n\n/**\n * Represents a dot walk path\n * @typedef {{ field: string, loading: boolean, parent: string }[]} DotWalkPath\n */\n\n/**\n * The Dot Walk component is a data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n *\n * ```\n *  <now-dot-walk dot-walk-model={dotWalkModel} error={error} />\n * ```\n *\n * @seismicElement now-dot-walk\n * @summary A data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n */\nconst element = createCustomElement('now-dot-walk-panel', {\n\tdispatches: {\n\t\t/**\n\t\t * Indicates that a field was dot-walked\n\t\t *\n\t\t * @type {{fieldName: string, displayValue: string, referenceSource: string, source: string, pathIndex: number}}\n\t\t */\n\t\t[DOT_WALK_TRIGGERED]: {},\n\t\t/**\n\t\t * Indicates that the panel item was clicked\n\t\t *\n\t\t * @type {{displayValue: string, field: string, panelIndex: number, source: string}}\n\t\t */\n\t\t[PANEL_ITEM_CLICKED]: {},\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Values to be mapped to list items\n\t\t * Required: No\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\tname: 'string',\n\t\t\t\t\trowId: 'string',\n\t\t\t\t\tdisplayValue: 'string',\n\t\t\t\t\tisReference: 'boolean',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Id of the component\n\t\t * Required: No\n\t\t */\n\t\tpanelId: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Loading state\n\t\t * Required: No\n\t\t */\n\t\tloading: {\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Name of the list item to receive active state classes\n\t\t * Required: No\n\t\t */\n\t\tselectedItem: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Indicates whether the panel is active.\n\t\t * This property is used for keyboard navigation\n\t\t * Required: No\n\t\t */\n\t\tactive: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Index of the panel in the group\n\t\t * Required: No\n\t\t */\n\t\tpanelIndex: {\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\t/**\n\t\t * Index of the active panel item\n\t\t * Required: No\n\t\t */\n\t\tactiveIndex: {\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\t/**\n\t\t * Name of the source metadata of this Panel\n\t\t * Required: No\n\t\t */\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t},\n\tbehaviors: [rtlBehavior],\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { name, value },\n\t\t\t\t},\n\t\t\t\tproperties: { active },\n\t\t\t\tupdateState,\n\t\t\t} = coeffects;\n\n\t\t\t// When the panel is set to active, it should receive focus\n\t\t\tif (name === 'active' && value) {\n\t\t\t\tconst listElement = host.shadowRoot.querySelector('ul');\n\t\t\t\tif (listElement) listElement.focus();\n\t\t\t}\n\n\t\t\t// If the panel is active and has finished loading, it should receive focus\n\t\t\tif (name === 'loading' && !value && active) {\n\t\t\t\tconst listElement = host.shadowRoot.querySelector('ul');\n\t\t\t\tif (listElement) listElement.focus();\n\t\t\t}\n\n\t\t\tif (name === 'selectedItem' && value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'focusOnSelectedItem',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t[COMPONENT_RENDERED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\tproperties: { active, selectedItem },\n\t\t\t\tupdateState,\n\t\t\t\tstate: { focusOnSelectedItem },\n\t\t\t} = coeffects;\n\n\t\t\t// This is for the case in which a user has a search term and selects an item. We currently\n\t\t\t// remove the search term which causes the selected item to move out of view. This will move it\n\t\t\t// back into view, albeit with some jumpiness\n\t\t\tif (active && focusOnSelectedItem) {\n\t\t\t\tconst elm = host.shadowRoot.querySelector(\n\t\t\t\t\t`li[data-test-field-name=\"${selectedItem}\"]`\n\t\t\t\t);\n\t\t\t\tif (elm) {\n\t\t\t\t\telm.scrollIntoView({ block: 'nearest' });\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'focusOnSelectedItem',\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\trenderer: { type: snabbdom },\n\tslots: {\n\t\t/**\n\t\t * Slot to add content at the bottom of the panel\n\t\t */\n\t\t'panel-end': {},\n\t},\n\tstyles: [baseStyle],\n\tview,\n});\n\nexport default element;\n","import '@servicenow/now-loader';\nimport NoResultsPanel from '../../../now-dot-walk/components/panel/NoResultsPanel';\nimport '../../../now-dot-walk-panel';\n\n/**\n * Render function for panels related to each path item\n * @param {(type: string, payload: {}) => void)} dispatch Dispatch function to update app state\n * @param {Object[]} panels - Value to be mapped to list items\n * @param {number} activePanelIndex - Index of the dot walk component's active panel\n * @param {string} error - Error message to be displayed\n * @param {string} searchTerm - Value of the search input\n * @param {string} dir - The directionality of the text of the document\n * */\nconst conditionallyRenderPanels = (\n\tdispatch,\n\tpanels,\n\tactivePanelIndex,\n\terror,\n\tsearchTerm,\n\tdir,\n\thideDotWalking\n) => {\n\tif (error) {\n\t\treturn (\n\t\t\t<div className=\"ndw-stacked-panel-error-container\">\n\t\t\t\t<span>{error}<\/span>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\treturn panels.map((p, i) => {\n\t\tconst { activeIndex, id, selectedItem, source, loading, items } = p;\n\n\t\tconst showNoResults =\n\t\t\tsearchTerm && (!items || (items && items.length === 0));\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{showNoResults ? (\n\t\t\t\t\t<NoResultsPanel />\n\t\t\t\t) : (\n\t\t\t\t\t<now-dot-walk-panel\n\t\t\t\t\t\tactiveIndex={activeIndex}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\titems={items}\n\t\t\t\t\t\tactive={activePanelIndex === i}\n\t\t\t\t\t\tpanelId={id}\n\t\t\t\t\t\tpanelIndex={i}\n\t\t\t\t\t\tselectedItem={selectedItem}\n\t\t\t\t\t\tsource={source}\n\t\t\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t});\n};\n\n/**\n * Component containing horizontally stacked panels\n * @param {Object} props - Component props\n * @param {number} props.activePanelIndex - Index of the currently active panel\n * @param {string} props.dir - The directionality of the text of the document\n * @param {(type: string, payload: {}) => void)} props.dispatch Dispatch function to update app state\n * @param {boolean} props.loading - Loading state for entire stacked panel\n * @param {Object[]} props.panels - Array of panels to be rendered\n * @param {string} props.error - Error message to be displayed\n * @param {string} props.searchTerm - Search input value\n */\nconst StackedPanel = ({\n\tactivePanelIndex,\n\tdir,\n\tdispatch,\n\terror,\n\tloading,\n\tpanels,\n\tsearchTerm,\n\thideDotWalking,\n}) => {\n\tif (loading)\n\t\treturn (\n\t\t\t<div className=\"ndw-stacked-panel\" data-testId=\"loading-panel\">\n\t\t\t\t<div className=\"ndw-stacked-panel-loader\">\n\t\t\t\t\t<now-loader />\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\n\treturn (\n\t\t<div className=\"ndw-stacked-panel-content\">\n\t\t\t{conditionallyRenderPanels(\n\t\t\t\tdispatch,\n\t\t\t\tpanels,\n\t\t\t\tactivePanelIndex,\n\t\t\t\terror,\n\t\t\t\tsearchTerm,\n\t\t\t\tdir,\n\t\t\t\thideDotWalking\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nexport default StackedPanel;\n","import Panel from './components/panel/Panel';\n\nexport default (\n\t{\n\t\tproperties: {\n\t\t\tdir,\n\t\t\tloading,\n\t\t\tactive,\n\t\t\tpanelId,\n\t\t\tpanelIndex,\n\t\t\titems,\n\t\t\tselectedItem,\n\t\t\tactiveIndex,\n\t\t\tsource,\n\t\t\thideDotWalking,\n\t\t\tnowId,\n\t\t},\n\t},\n\t{ dispatch }\n) => {\n\treturn (\n\t\t<Panel\n\t\t\tactiveIndex={activeIndex}\n\t\t\tdir={dir}\n\t\t\tdispatch={dispatch}\n\t\t\tloading={loading}\n\t\t\titems={items}\n\t\t\tactive={active}\n\t\t\thostId={nowId}\n\t\t\tpanelId={panelId}\n\t\t\tpanelIndex={panelIndex}\n\t\t\tselectedItem={selectedItem}\n\t\t\tsource={source}\n\t\t\thideDotWalking={hideDotWalking}\n\t\t/>\n\t);\n};\n","import focusBehavior from '@servicenow/behavior-focus';\nimport keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport {\n\tactionTypes as componentActionTypes,\n\tcreateCustomElement,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tkeyEventDefaultHandler,\n\tleftArrowPressedHandler,\n} from '../common/keyboardActionHandlers';\nimport { componentErrorHandler } from '../now-dot-walk-connected/state';\nimport {\n\tARIA_LIVE_MESSAGE_UPDATED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tPANEL_ITEM_CLICKED,\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_ENTER_PRESSED,\n\tSEARCH_LEFT_ARROW_PRESSED,\n\tSEARCH_RIGHT_ARROW_PRESSED,\n\tSEARCH_UP_ARROW_PRESSED,\n} from '../now-dot-walk/actions';\nimport baseStyle from '../now-dot-walk/now-dot-walk.scss';\nimport { ariaLiveMessageHandler } from '../now-dot-walk/state';\n\nimport {\n\tbuttonIconicClickHandler,\n\tpanelItemClickHandler,\n\tcomponentPropertyChangedHandler,\n\tarrowDownHandler,\n\tarrowRightHandler,\n\tenterPressedHandler,\n\tarrowUpHandler,\n} from './actionHandler';\nimport view from './NowDotWalkFieldContent.view';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_BOOTSTRAPPED,\n} = componentActionTypes;\n\n/**\n * Metadata used for the dot-walk components\n * @typedef {[key: string]: {\n *              [key: string]: {\n *                  displayValue: string,\n *                  isReference: boolean,\n *                  referenceDataKey?: string\n *              }}\n *      } DotWalkMetadata\n */\n\n/**\n * Represents a dot walk path\n * @typedef {{ field: string, loading: boolean, parent: string }[]} DotWalkPath\n */\n\n/**\n * The Dot Walk component is a data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n *\n * ```\n *  <now-dot-walk dot-walk-model={dotWalkModel} error={error} />\n * ```\n *\n * @seismicElement now-dot-walk\n * @summary A data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n */\nconst element = createCustomElement('now-dot-walk-field-content', {\n\tproperties: {\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * The key used to get field data for the last panel.\n\t\t * Useful when no path is selected or when a panel is dot-walked but no item has been selected on the new panel.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkData}\n\t\t */\n\t\tleafPathSource: {\n\t\t\tdefault: undefined,\n\t\t\tschema: { type: 'string' },\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Array that represents the current selected dot-walk path.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkPath[]}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * Term to filter fields from\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Index of the active panel out of all panels in dot walk\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tactivePanelIndex: {\n\t\t\tschema: { type: 'number' },\n\t\t\tdefault: -1,\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t},\n\tactionHandlers: {\n\t\t[ARIA_LIVE_MESSAGE_UPDATED]: ariaLiveMessageHandler,\n\t\t[COMPONENT_BOOTSTRAPPED]: componentPropertyChangedHandler,\n\t\t[COMPONENT_ERROR_THROWN]: componentErrorHandler,\n\t\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedHandler,\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: buttonIconicClickHandler,\n\t\t[PANEL_ITEM_CLICKED]: panelItemClickHandler,\n\t\t[SEARCH_LEFT_ARROW_PRESSED]: {\n\t\t\teffect: leftArrowPressedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_DOWN_ARROW_PRESSED]: {\n\t\t\teffect: arrowDownHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_ENTER_PRESSED]: {\n\t\t\teffect: enterPressedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_RIGHT_ARROW_PRESSED]: {\n\t\t\teffect: arrowRightHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_UP_ARROW_PRESSED]: {\n\t\t\teffect: arrowUpHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\tbehaviors: [\n\t\trtlBehavior,\n\t\tfocusBehavior,\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tonEnterKeyPress: 'Enter',\n\t\t\t\t\tonArrowKeyPress: [\n\t\t\t\t\t\t'ArrowUp',\n\t\t\t\t\t\t'ArrowDown',\n\t\t\t\t\t\t'ArrowLeft',\n\t\t\t\t\t\t'ArrowRight',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonArrowKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tkeyEventDefaultHandler(event, event.keyCode, [\n\t\t\t\t\t\t\t37,\n\t\t\t\t\t\t\t38,\n\t\t\t\t\t\t\t39,\n\t\t\t\t\t\t\t40,\n\t\t\t\t\t\t]);\n\n\t\t\t\t\t\tswitch (event.keyCode) {\n\t\t\t\t\t\t\tcase 37:\n\t\t\t\t\t\t\t\t// arrow-left\n\t\t\t\t\t\t\t\tdispatch(SEARCH_LEFT_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 38:\n\t\t\t\t\t\t\t\t// arrow-up\n\t\t\t\t\t\t\t\tdispatch(SEARCH_UP_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 39:\n\t\t\t\t\t\t\t\t// arrow-right\n\t\t\t\t\t\t\t\tdispatch(SEARCH_RIGHT_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t\t\t// arrow-down\n\t\t\t\t\t\t\t\tdispatch(SEARCH_DOWN_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonEnterKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tdispatch(SEARCH_ENTER_PRESSED);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tinitialState: {\n\t\tpanels: [],\n\t\tactivePanelIndex: -1,\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles: [baseStyle],\n});\n\nexport default element;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport isEmpty from 'lodash/isEmpty';\n\nimport AriaLiveRegion from '../common/AriaLiveRegion';\n\nimport StackedPanel from './components/panel/StackedPanel';\n\nexport default (\n\t{\n\t\tactivePanelIndex,\n\t\tariaLiveMessage,\n\t\tpanels,\n\t\tproperties: {\n\t\t\tdir,\n\t\t\tleafPathSource,\n\t\t\tmetadata,\n\t\t\tdotWalkPath,\n\t\t\tsearchTerm,\n\t\t\thideDotWalking,\n\t\t},\n\t\terror,\n\t},\n\t{ dispatch }\n) => {\n\tconst isLoading =\n\t\t(!dotWalkPath && !metadata && !leafPathSource) ||\n\t\t!metadata ||\n\t\tObject.keys(metadata).length === 0;\n\tconst shouldRender = !isEmpty(dotWalkPath) || leafPathSource;\n\n\treturn shouldRender ? (\n\t\t<Fragment>\n\t\t\t<StackedPanel\n\t\t\t\tactivePanelIndex={activePanelIndex}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tdir={dir}\n\t\t\t\tleafPathSource={leafPathSource}\n\t\t\t\tpath={dotWalkPath}\n\t\t\t\terror={error}\n\t\t\t\tloading={isLoading}\n\t\t\t\tpanels={panels}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t/>\n\t\t\t<AriaLiveRegion message={ariaLiveMessage} />\n\t\t<\/Fragment>\n\t) : null;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"];\n\t\t\t\t} });","import '@servicenow/now-button';\nimport '@servicenow/now-loader';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classnames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport { getVariablesSearchMetadata } from '../behaviors/metadata/util';\nimport '../now-dot-walk-panel';\nimport { NoSearchResultsPanel } from '../now-dot-walk/components/panel/NoResultsPanel';\n\n// End of results message to show when no search term is used\nconst END_OF_RESULTS_MESSAGE = t('End of results.');\n// End of results message to show when a search term is used\nconst END_OF_SEARCHED_RESULTS_MESSAGE = t('End of result matching');\nconst FINDING_RESULTS_LABEL = t('Finding results');\nconst LOAD_MORE_LABEL = t('Load More');\nconst LOADING_MORE_LABEL = t('Loading More');\n\nexport default (\n\t{\n\t\tproperties: { dir, metadata, source, searchTerm: searchTermProp },\n\t\tactiveItemIndex,\n\t\tpanelItems,\n\t\tselectedItem,\n\t\tactivePanelIndex,\n\t\thideDotWalking,\n\t\tisLoadingMore,\n\t},\n\t{ dispatch }\n) => {\n\t// By default, searchTerm is intended to be null when the search input is empty on initally load\n\tconst searchTerm = searchTermProp === null ? '' : searchTermProp;\n\n\t// initial panel load\n\tconst isPanelLoading =\n\t\t!metadata || isEmpty(metadata) || !metadata.variables_search;\n\n\tconst isActive = activePanelIndex === 0;\n\tconst showNoResults = isEmpty(panelItems);\n\n\tconst searchMetadata = getVariablesSearchMetadata(metadata, searchTerm);\n\tconst { allRecordsSearched, lastVariableId } = searchMetadata;\n\n\t// Render search results loading state\n\tif (isEmpty(searchMetadata)) {\n\t\treturn (\n\t\t\t<div className=\"ndw-panel-loader\">\n\t\t\t\t<now-loader\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tsearchTerm\n\t\t\t\t\t\t\t? t('Finding results for \"{searchTerm}\"', {\n\t\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t  })\n\t\t\t\t\t\t\t: FINDING_RESULTS_LABEL\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\t// Render no search results\n\tif (showNoResults) {\n\t\treturn <NoSearchResultsPanel searchTerm={searchTerm} />;\n\t}\n\n\tlet message;\n\n\tif (!searchTerm) {\n\t\tmessage = END_OF_RESULTS_MESSAGE;\n\t} else {\n\t\tmessage = (\n\t\t\t<Fragment>\n\t\t\t\t{END_OF_SEARCHED_RESULTS_MESSAGE}\n\t\t\t\t<span className=\"search-term\">\n\t\t\t\t\t<span className=\"line-clamp\">\"{searchTerm}<\/span>\n\t\t\t\t\t<span>\"<\/span>\n\t\t\t\t<\/span>\n\t\t\t<\/Fragment>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-dot-walk-panel\n\t\t\t\ttabIndex={isActive ? '0' : '-1'}\n\t\t\t\tdir={dir}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tloading={isPanelLoading}\n\t\t\t\titems={panelItems}\n\t\t\t\tpanelIndex={0}\n\t\t\t\tsource={source}\n\t\t\t\tselectedItem={selectedItem}\n\t\t\t\tactiveIndex={activeItemIndex}\n\t\t\t\tactive={isActive}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t>\n\t\t\t\t<div className=\"ndw-panel-end\" slot=\"panel-end\">\n\t\t\t\t\t{!allRecordsSearched ? (\n\t\t\t\t\t\trenderVariableSearchLoader({\n\t\t\t\t\t\t\tisLoadingMore,\n\t\t\t\t\t\t\tlastPanelItemIndex: panelItems.length - 1,\n\t\t\t\t\t\t\tlastVariableId,\n\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName={classnames('search-results-message', {\n\t\t\t\t\t\t\t\t'has-search-term': searchTerm,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{message}\n\t\t\t\t\t\t<\/p>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/now-dot-walk-panel>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderVariableSearchLoader = (props) => {\n\tconst {\n\t\tisLoadingMore,\n\t\tlastPanelItemIndex,\n\t\tlastVariableId,\n\t\tsearchTerm,\n\t} = props;\n\n\treturn (\n\t\t<div className=\"loader\">\n\t\t\t{isLoadingMore ? (\n\t\t\t\t<now-loader\n\t\t\t\t\tconfig-aria={{ 'aria-label': LOADING_MORE_LABEL }}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<now-button-bare\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tlastPanelItemIndex,\n\t\t\t\t\t\tlastVariableId,\n\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\tsource: 'loadMore',\n\t\t\t\t\t}}\n\t\t\t\t\tlabel={LOAD_MORE_LABEL}\n\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\t// prevent default keybinding behavior from triggering\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t}}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n","import get from 'lodash/get';\n\nimport { getVariablesSearchMetadata } from '../../behaviors/metadata/util';\n\nconst getPanelItems = (variables = []) => {\n\treturn variables.map((variable) => {\n\t\tconst displayValue = variable?.displayValue;\n\n\t\t// Note: if a variable is associated with both a catalogItem AND a variableSet, show the catalogItem name\n\t\tconst secondaryValue =\n\t\t\tvariable?.catalogItem?.name || variable?.variableSet?.name;\n\n\t\treturn {\n\t\t\t...variable,\n\t\t\tcatalogItem: variable?.catalogItem,\n\t\t\tdisplayValue,\n\t\t\thintText: secondaryValue\n\t\t\t\t? `${displayValue} ${secondaryValue}`\n\t\t\t\t: displayValue,\n\t\t\tid: variable.sysId, // use to be variables.name\n\t\t\tisReference: false,\n\t\t\tlabel: variable.displayValue,\n\t\t\tname: variable.sysId,\n\t\t\trowId: variable.sysId,\n\t\t\tsecondaryValue,\n\t\t\tvariableSet: variable?.variableSet,\n\t\t};\n\t});\n};\n\nconst getSelectedItem = (variables = [], dotWalkPath = []) => {\n\tconst variableId = get(dotWalkPath, '[1].field');\n\n\tif (!variableId) return;\n\n\tconst variable = variables.find(\n\t\t(variable) => variableId === variable.sysId\n\t);\n\n\treturn get(variable, 'sysId');\n};\n\nconst handleComponentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tactivePanelIndex,\n\t\t\t\tdotWalkPath,\n\t\t\t\tmetadata,\n\t\t\t\tsearchTerm: searchTermProp,\n\t\t\t},\n\t\t\tisLoadingMore,\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst searchTerm = searchTermProp === null ? '' : searchTermProp;\n\tconst searchTermMetadata = getVariablesSearchMetadata(metadata, searchTerm);\n\n\tconst panelItems = getPanelItems(searchTermMetadata?.variables);\n\tconst selectedItem = getSelectedItem(\n\t\tsearchTermMetadata?.variables,\n\t\tdotWalkPath\n\t);\n\n\t// Ignoring this logic for now since it causes unexpected scrollto behavior during variable pagination\n\t// const activeItemIndex = getSelectedItemIndex(selectedItem, panelItems);\n\n\tconst nextState = {\n\t\t// activeItemIndex,\n\t\tactivePanelIndex: activePanelIndex - 1,\n\t\tpanelItems,\n\t\tselectedItem,\n\t};\n\n\tif (name === 'metadata' && isLoadingMore) {\n\t\tnextState.isLoadingMore = false;\n\t}\n\n\tupdateState(nextState);\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport { handleComponentPropertyChanged };\n","import keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport {\n\tactionTypes as componentActionTypes,\n\tcreateCustomElement,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tkeyEventDefaultHandler,\n\tarrowDownHandler,\n\tarrowUpHandler,\n\tenterPressedHandler,\n\tleftArrowPressedHandler,\n} from '../common/keyboardActionHandlers';\nimport { componentErrorHandler } from '../now-dot-walk-connected/state';\nimport {\n\tARIA_LIVE_MESSAGE_UPDATED,\n\tNOW_BUTTON_BARE_CLICKED,\n\tPATH_UPDATED,\n\tPANEL_ITEM_CLICKED,\n\tSEARCH_UP_ARROW_PRESSED,\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_ENTER_PRESSED,\n\tSEARCH_LEFT_ARROW_PRESSED,\n} from '../now-dot-walk/actions';\nimport baseStyle from '../now-dot-walk/now-dot-walk.scss';\nimport { ariaLiveMessageHandler } from '../now-dot-walk/state';\n\nimport variableSearchStyle from './now-dot-walk-variable-search.scss';\nimport view from './NowDotWalkVariableSearchContent.view';\nimport {\n\thandleComponentPropertyChanged,\n\thandleVariableSearchLoadMore,\n\tpanelItemClickHandler,\n} from './state';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_BOOTSTRAPPED,\n} = componentActionTypes;\n\nconst element = createCustomElement('now-dot-walk-variable-content', {\n\tdispatches: {\n\t\t/**\n\t\t * Indicates that the path was updated\n\t\t *\n\t\t * @type {{path: string}}\n\t\t */\n\t\t[PATH_UPDATED]: {},\n\t},\n\tproperties: {\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Array that represents the current selected dot-walk path.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkPath[]}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * Configs for determining if extra fields should be shown on the dot walk panel\n\t\t * Required: No\n\t\t * @type {DotWalkConfig}\n\t\t */\n\t\tdotWalkConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Root table of the component\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Term to filter fields from\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Index of the active panel out of all panels in dot walk\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tactivePanelIndex: {\n\t\t\tdefault: -1,\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t},\n\tactionHandlers: {\n\t\t[ARIA_LIVE_MESSAGE_UPDATED]: ariaLiveMessageHandler,\n\t\t[COMPONENT_BOOTSTRAPPED]: handleComponentPropertyChanged,\n\t\t[COMPONENT_ERROR_THROWN]: componentErrorHandler,\n\t\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t\t[NOW_BUTTON_BARE_CLICKED]: handleVariableSearchLoadMore,\n\t\t[PANEL_ITEM_CLICKED]: panelItemClickHandler,\n\t\t[SEARCH_UP_ARROW_PRESSED]: {\n\t\t\teffect: arrowUpHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_DOWN_ARROW_PRESSED]: {\n\t\t\teffect: arrowDownHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_ENTER_PRESSED]: {\n\t\t\teffect: enterPressedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_LEFT_ARROW_PRESSED]: {\n\t\t\teffect: leftArrowPressedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\tbehaviors: [\n\t\trtlBehavior,\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tonEnterKeyPress: 'Enter',\n\t\t\t\t\tonArrowKeyPress: ['ArrowUp', 'ArrowDown', 'ArrowLeft'],\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonArrowKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tkeyEventDefaultHandler(event, event.keyCode, [\n\t\t\t\t\t\t\t37,\n\t\t\t\t\t\t\t38,\n\t\t\t\t\t\t\t40,\n\t\t\t\t\t\t]);\n\n\t\t\t\t\t\tswitch (event.keyCode) {\n\t\t\t\t\t\t\tcase 37:\n\t\t\t\t\t\t\t\t// arrow-left\n\t\t\t\t\t\t\t\tdispatch(SEARCH_LEFT_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 38:\n\t\t\t\t\t\t\t\t// arrow-up\n\t\t\t\t\t\t\t\tdispatch(SEARCH_UP_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t\t\t// arrow-down\n\t\t\t\t\t\t\t\tdispatch(SEARCH_DOWN_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonEnterKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tdispatch(SEARCH_ENTER_PRESSED);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tinitialState: {\n\t\tactiveItemIndex: 0,\n\t\tpanelItems: [],\n\t\tselectedItem: '',\n\t\tactivePanelIndex: -1,\n\t\tisLoadingMore: false, // pagination loading state\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles: [baseStyle, variableSearchStyle],\n});\n\nexport default element;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport {\n\tactionTypes as componentActionTypes,\n\tcreateCustomElement,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { componentErrorHandler } from '../now-dot-walk-connected/state';\nimport {\n\tPATH_UPDATED,\n\tARIA_LIVE_MESSAGE_UPDATED,\n\tPANEL_ITEM_CLICKED,\n} from '../now-dot-walk/actions';\nimport baseStyle from '../now-dot-walk/now-dot-walk.scss';\nimport { ariaLiveMessageHandler } from '../now-dot-walk/state';\nimport { updateErrorStateHandler } from '../now-dot-walk/state/globalHandlers';\n\nimport view from './snDotWalkExtendedFieldsContent.view';\nimport { panelItemClickHandler } from './state';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_BOOTSTRAPPED,\n} = componentActionTypes;\n\nconst element = createCustomElement('sn-dot-walk-extended-fields-content', {\n\tdispatches: {\n\t\t/**\n\t\t * Indicates that the path was updated\n\t\t *\n\t\t * @type {{path: string}}\n\t\t */\n\t\t[PATH_UPDATED]: {},\n\t},\n\tproperties: {\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Array that represents the current selected dot-walk path.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkPath[]}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * Root table of the component\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tsearchTerm: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[ARIA_LIVE_MESSAGE_UPDATED]: ariaLiveMessageHandler,\n\t\t[COMPONENT_BOOTSTRAPPED]: updateErrorStateHandler,\n\t\t[COMPONENT_ERROR_THROWN]: componentErrorHandler,\n\t\t[COMPONENT_PROPERTY_CHANGED]: updateErrorStateHandler,\n\t\t[PANEL_ITEM_CLICKED]: panelItemClickHandler,\n\t},\n\tbehaviors: [rtlBehavior],\n\tinitialState: {\n\t\tpanels: [],\n\t\tactivePanelIndex: 0,\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles: [baseStyle],\n});\n\nexport default element;\n","import get from 'lodash/get';\n\nimport { METADATA_VARIABLES_SEARCH_FETCH_QUERY } from '../../behaviors/dotWalk/actions';\nimport { PATH_UPDATED } from '../../now-dot-walk/actions';\nimport { panelItemContentTypes } from '../../now-dot-walk/constants';\n\nimport {\n\tQUESTIONS_DISPLAY_VALUE,\n\tVARIABLES_DISPLAY_VALUE,\n} from '../../common/constants';\n\nconst panelItemClickHandler = (coeffects) => {\n\tconst {\n\t\taction,\n\t\taction: {\n\t\t\tpayload: { catalogItem, displayValue, id, type, variableSet },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { dotWalkConfig, source },\n\t} = coeffects;\n\n\taction.stopPropagation();\n\n\tconst { showQuestions } = dotWalkConfig || {};\n\tconst variableParent = catalogItem || variableSet;\n\n\t// Note: It is possible that a variable may neither have a catalogItem nor a variableSet\n\tconst variableParentLabel = variableParent?.name;\n\tconst variableParentId = variableParent?.sysId;\n\tconst variableTable = variableSet ? 'item_option_new_set' : 'sc_cat_item';\n\n\tconst variableReferenceTable = get(action, 'payload.referenceTable', null);\n\tconst variableReferenceTableDefaultField = get(\n\t\taction,\n\t\t'payload.referenceTableDefaultField',\n\t\tnull\n\t);\n\n\tconst combinedPath = `variables.${id}`;\n\n\tconst path = [\n\t\t{\n\t\t\tfield: 'variables',\n\t\t\tdisplayValue: showQuestions\n\t\t\t\t? QUESTIONS_DISPLAY_VALUE\n\t\t\t\t: VARIABLES_DISPLAY_VALUE,\n\t\t\tparent: source,\n\t\t\ttable: source,\n\t\t\ttype: 'reference',\n\t\t\treferenceTable: variableTable,\n\t\t},\n\t\t{\n\t\t\tfield: variableParentId,\n\t\t\tdisplayValue: variableParentLabel,\n\t\t\tparent: variableTable,\n\t\t\ttable: variableTable,\n\t\t\ttype: 'reference',\n\t\t\treferenceTable: 'item_option_new',\n\t\t},\n\t\t{\n\t\t\tfield: id,\n\t\t\tdisplayValue: displayValue,\n\t\t\tparent: 'item_option_new',\n\t\t\ttable: 'item_option_new',\n\t\t\ttype,\n\t\t\treferenceTable: variableReferenceTable,\n\t\t\treferenceTableDefaultField: variableReferenceTableDefaultField,\n\t\t},\n\t];\n\n\t// remove parent path if variableParent is not present\n\tif (!variableParent) {\n\t\tpath.splice(1, 1);\n\t}\n\n\tdispatch(PATH_UPDATED, {\n\t\tpath,\n\t\tcombinedPath,\n\t\tcontentType: panelItemContentTypes.VARIABLES,\n\t});\n};\n\nconst handleVariableSearchLoadMore = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { lastVariableId, searchTerm, source, lastPanelItemIndex },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (source === 'loadMore') {\n\t\tupdateState({\n\t\t\tisLoadingMore: true,\n\t\t\tactiveItemIndex: lastPanelItemIndex,\n\t\t});\n\n\t\tdispatch(METADATA_VARIABLES_SEARCH_FETCH_QUERY, {\n\t\t\tlastVariableId,\n\t\t\tsearchTerm,\n\t\t});\n\t}\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport { handleVariableSearchLoadMore, panelItemClickHandler };\n","import { actionTypes } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\nimport get from 'lodash/get';\n\nimport {\n\tQUESTIONS_DISPLAY_VALUE,\n\tVARIABLES_DISPLAY_VALUE,\n\tVARIABLES_QUESTIONS_SECONDARY_DISPLAY_VALUE,\n} from '../common/constants';\nimport {\n\tarrowDownHandler,\n\tarrowUpHandler,\n\tenterPressedHandler,\n} from '../common/keyboardActionHandlers';\nimport {\n\tACTIVE_PANEL_UPDATED,\n\tDOT_WALK_TRIGGERED,\n\tNAVIGATION_PATH_UPDATED,\n\tPANEL_ITEM_CLICKED,\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_ENTER_PRESSED,\n\tSEARCH_RIGHT_ARROW_PRESSED,\n\tSEARCH_UP_ARROW_PRESSED,\n} from '../now-dot-walk/actions';\nimport { panelItemContentTypes } from '../now-dot-walk/constants';\nimport {\n\tcreatePath,\n\tgetActiveItemIndex,\n\tgetPanelItems,\n\tsearchFields,\n} from '../now-dot-walk/state/util';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst OTHER_DISPLAY_VALUE = t('Other');\n\nconst getOptionsToDisplay = (optionsToDisplay, source) => {\n\tconst { showVariables, showQuestions } = optionsToDisplay;\n\n\tconst items = [];\n\tif (!showVariables && !showQuestions) {\n\t\treturn items;\n\t}\n\n\titems.push({\n\t\tname: OTHER_DISPLAY_VALUE,\n\t\tdisplayValue: OTHER_DISPLAY_VALUE,\n\t\tisHeading: true,\n\t\tisReference: false,\n\t\tdisabled: true,\n\t});\n\n\tif (showVariables) {\n\t\titems.push({\n\t\t\tname: 'variables.',\n\t\t\trowId: 'variables.',\n\t\t\tdisplayValue: VARIABLES_DISPLAY_VALUE,\n\t\t\tsecondaryValue: VARIABLES_QUESTIONS_SECONDARY_DISPLAY_VALUE,\n\t\t\thintText: VARIABLES_DISPLAY_VALUE,\n\t\t\thidden: !showVariables,\n\t\t\tisReference: false,\n\t\t\tparent: source,\n\t\t\tpanelItemContentType: panelItemContentTypes.VARIABLES,\n\t\t});\n\t} else if (showQuestions) {\n\t\titems.push({\n\t\t\tname: 'variables.',\n\t\t\trowId: 'variables.',\n\t\t\tdisplayValue: QUESTIONS_DISPLAY_VALUE,\n\t\t\tsecondaryValue: VARIABLES_QUESTIONS_SECONDARY_DISPLAY_VALUE,\n\t\t\thintText: QUESTIONS_DISPLAY_VALUE,\n\t\t\thidden: !showQuestions,\n\t\t\tisReference: false,\n\t\t\tparent: source,\n\t\t\tpanelItemContentType: panelItemContentTypes.VARIABLES,\n\t\t});\n\t}\n\n\treturn items;\n};\n\nconst handleComponentPropertyChanged = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tactivePanelIndex,\n\t\t\t\tmetadata,\n\t\t\t\tsource,\n\t\t\t\tsearchTerm,\n\t\t\t\tdotWalkConfig,\n\t\t\t\tdotWalkPath,\n\t\t\t\tleafPathSource,\n\t\t\t},\n\t\t\tactiveItemIndex: currentItemIndex,\n\t\t},\n\t} = coeffects;\n\n\tif (metadata && source) {\n\t\tconst tableMetadata = metadata[source];\n\t\tconst computedFields = searchTerm\n\t\t\t? searchFields(tableMetadata, searchTerm)\n\t\t\t: undefined;\n\n\t\tconst selectedItem = get(dotWalkPath, 'field', leafPathSource);\n\t\tlet panelItems = getPanelItems(\n\t\t\ttableMetadata,\n\t\t\tcomputedFields,\n\t\t\tselectedItem,\n\t\t\tpanelItemContentTypes.FIELD_METADATA\n\t\t);\n\n\t\tconst additionalOptions = getOptionsToDisplay(dotWalkConfig, source);\n\t\tpanelItems = panelItems.concat(additionalOptions);\n\n\t\tconst activeItemIndex =\n\t\t\tactivePanelIndex !== 0\n\t\t\t\t? currentItemIndex\n\t\t\t\t: getActiveItemIndex(coeffects, panelItems, selectedItem);\n\n\t\tupdateState({\n\t\t\tselectedItem,\n\t\t\tpanelItems,\n\t\t\tactiveItemIndex,\n\t\t\tactivePanelIndex,\n\t\t});\n\t}\n};\n\nconst arrowRightHandler = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tpanelItems,\n\t\t\tactiveItemIndex,\n\t\t\tselectedItem,\n\t\t\tproperties: { source },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst { displayValue, referenceDataKey, isReference, name } = panelItems[\n\t\tactiveItemIndex\n\t];\n\n\tconst actionToDispatch = {\n\t\tactionName: DOT_WALK_TRIGGERED,\n\t\tpayload: {\n\t\t\tfieldName: name,\n\t\t\tdisplayValue,\n\t\t\treferenceSource: referenceDataKey,\n\t\t\tsource,\n\t\t\tpathIndex: 0,\n\t\t},\n\t};\n\tdispatch(ACTIVE_PANEL_UPDATED, {\n\t\tnewPanelIndex: 1,\n\t\tisDotWalkedFieldSelected: name === selectedItem,\n\t\tactionToDispatch: isReference ? actionToDispatch : null,\n\t});\n};\n\nexport default {\n\t[PANEL_ITEM_CLICKED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload,\n\t\t\t\tpayload: { panelItemContentType },\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t} = coeffects;\n\t\tconst path = [createPath(payload)];\n\n\t\tdispatch(NAVIGATION_PATH_UPDATED, {\n\t\t\tpath,\n\t\t\tpanelItemContentType,\n\t\t});\n\t\tupdateState({\n\t\t\tpanelItemClicked: true,\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleComponentPropertyChanged,\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentPropertyChanged,\n\t[SEARCH_DOWN_ARROW_PRESSED]: {\n\t\teffect: arrowDownHandler,\n\t\tstopPropagation: true,\n\t},\n\t[SEARCH_ENTER_PRESSED]: {\n\t\teffect: enterPressedHandler,\n\t\tstopPropagation: true,\n\t},\n\t[SEARCH_RIGHT_ARROW_PRESSED]: {\n\t\teffect: arrowRightHandler,\n\t\tstopPropagation: true,\n\t},\n\t[SEARCH_UP_ARROW_PRESSED]: {\n\t\teffect: arrowUpHandler,\n\t\tstopPropagation: true,\n\t},\n};\n","import { PATH_UPDATED } from '../../now-dot-walk/actions';\nimport { panelItemContentTypes } from '../../now-dot-walk/constants';\n\nconst panelItemClickHandler = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: {\n\t\t\tsource,\n\t\t\tmetadata: { extendedFields },\n\t\t},\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tdisplayValue,\n\t\t\t\tfield,\n\t\t\t\tparent,\n\t\t\t\ttype,\n\t\t\t\treferenceTableDefaultField,\n\t\t\t\treferenceKey,\n\t\t\t\treferenceTable,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tconst combinedPath = `${parent}.${field}`;\n\n\tconst path = [\n\t\t{\n\t\t\tfield: 'extended fields',\n\t\t\tdisplayValue: 'Extended Fields',\n\t\t\tparent: source,\n\t\t},\n\t\t{\n\t\t\tdisplayValue: extendedFields[parent].displayValue,\n\t\t\tfield: parent,\n\t\t\tparent: source,\n\t\t},\n\t\t{\n\t\t\tdisplayValue,\n\t\t\tfield,\n\t\t\tparent,\n\t\t\ttype,\n\t\t\treferenceTable,\n\t\t\treferenceKey,\n\t\t\treferenceTableDefaultField,\n\t\t},\n\t];\n\n\tdispatch(PATH_UPDATED, {\n\t\tpath,\n\t\tcombinedPath,\n\t\tcontentType: panelItemContentTypes.EXTENDED_FIELDS,\n\t});\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport { panelItemClickHandler };\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport AriaLiveRegion from '../common/AriaLiveRegion';\nimport '../now-dot-walk-panel';\nimport NoResultsPanel from '../now-dot-walk/components/panel/NoResultsPanel';\nimport { contains } from '../now-dot-walk/state/util/searchFields';\n\nconst getPanelItems = (metadataFields, searchTerm, selectedItem) => {\n\tconst items = [];\n\n\tObject.entries(metadataFields).forEach(([key, value]) => {\n\t\tconst extendedFields = get(value, 'dotwalkFieldData', []);\n\n\t\tif (!extendedFields.length) return;\n\n\t\tconst displayHeader = metadataFields[key].displayValue;\n\t\tconst headerMatch = searchTerm\n\t\t\t? contains(displayHeader, searchTerm)\n\t\t\t: true;\n\n\t\tconst section = [];\n\t\tif (headerMatch) {\n\t\t\tsection.push({\n\t\t\t\tdisplayValue: displayHeader,\n\t\t\t\tisHeading: true,\n\t\t\t});\n\t\t}\n\n\t\textendedFields.forEach((item) => {\n\t\t\tconst { displayValue, name, parent } = item;\n\t\t\tconst rowId = `${parent}.${name}`;\n\t\t\tconst shouldInsert =\n\t\t\t\theaderMatch ||\n\t\t\t\tcontains(displayValue, searchTerm) ||\n\t\t\t\trowId === selectedItem;\n\n\t\t\tif (shouldInsert) {\n\t\t\t\tsection.push({\n\t\t\t\t\t...item,\n\t\t\t\t\tdisplayValue,\n\t\t\t\t\thintText: displayValue,\n\t\t\t\t\tisReference: false,\n\t\t\t\t\trowId,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t// if there's an row inserted without its displayHeader, add it here;\n\t\t// occurs when the section has a search term but the header does not\n\t\tif (section.length && !headerMatch) {\n\t\t\tsection.unshift({\n\t\t\t\tdisplayValue: displayHeader,\n\t\t\t\tisHeading: true,\n\t\t\t});\n\t\t}\n\n\t\titems.push(...section);\n\t});\n\n\treturn items;\n};\n\nconst getSelectedItem = (dotWalkPath) => {\n\tconst parent = get(dotWalkPath, '[0].field', '');\n\tconst field = get(dotWalkPath, '[1].field', '');\n\treturn `${parent}.${field}`;\n};\n\nexport default (\n\t{\n\t\tariaLiveMessage,\n\t\tproperties: { dir, metadata, dotWalkPath, searchTerm, source },\n\t},\n\t{ dispatch }\n) => {\n\tconst isLoading = isEmpty(metadata) || !metadata.extendedFields;\n\tconst selectedItem = getSelectedItem(dotWalkPath);\n\tconst items = isLoading\n\t\t? []\n\t\t: getPanelItems(metadata.extendedFields, searchTerm, selectedItem);\n\tconst showNoResults = !items.length;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{showNoResults ? (\n\t\t\t\t<NoResultsPanel />\n\t\t\t) : (\n\t\t\t\t<now-dot-walk-panel\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tloading={isLoading}\n\t\t\t\t\titems={items}\n\t\t\t\t\tpanelIndex={0}\n\t\t\t\t\tsource={source}\n\t\t\t\t\tselectedItem={selectedItem}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<AriaLiveRegion message={ariaLiveMessage}><\/AriaLiveRegion>\n\t\t<\/Fragment>\n\t);\n};\n","import keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { keyEventDefaultHandler } from '../common/keyboardActionHandlers';\nimport {\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_ENTER_PRESSED,\n\tSEARCH_RIGHT_ARROW_PRESSED,\n\tSEARCH_UP_ARROW_PRESSED,\n} from '../now-dot-walk/actions';\n\nimport actionHandlers from './actionHandler';\nimport snDotWalkNavigationPanelStyles from './snDotWalkNavigationPanel.scss';\nimport view from './view';\n\nexport default createCustomElement('sn-dot-walk-navigation-panel', {\n\tproperties: {\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * The key used to get field data for the panel\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsource: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Object that represents the first entry of the DotWalkPath array.\n\t\t * Required: No\n\t\t *\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Configs for determining if extra fields should be shown on the dot walk panel\n\t\t * Required: No\n\t\t * @type {DotWalkConfig}\n\t\t */\n\t\tdotWalkConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Term to filter fields from\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Index of the active panel out of all panels in dot walk\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tactivePanelIndex: {\n\t\t\tschema: { type: 'number' },\n\t\t\tdefault: -1,\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t},\n\tinitialState: {\n\t\tpanelItems: [],\n\t\tactiveItemIndex: 0,\n\t\tpanelItemClicked: false,\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\trtlBehavior,\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\t// accepts a single key value (string) or array of key values (string[])\n\t\t\t\t\tonEnterKeyPress: 'Enter',\n\t\t\t\t\tonArrowKeyPress: [\n\t\t\t\t\t\t'ArrowUp',\n\t\t\t\t\t\t'ArrowDown',\n\t\t\t\t\t\t'ArrowLeft',\n\t\t\t\t\t\t'ArrowRight',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonArrowKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tkeyEventDefaultHandler(event, event.keyCode, [\n\t\t\t\t\t\t\t38,\n\t\t\t\t\t\t\t39,\n\t\t\t\t\t\t\t40,\n\t\t\t\t\t\t]);\n\n\t\t\t\t\t\tswitch (event.keyCode) {\n\t\t\t\t\t\t\tcase 38:\n\t\t\t\t\t\t\t\t// arrow-up\n\t\t\t\t\t\t\t\tdispatch(SEARCH_UP_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 39:\n\t\t\t\t\t\t\t\t// arrow-right\n\t\t\t\t\t\t\t\tdispatch(SEARCH_RIGHT_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t\t\t// arrow-down\n\t\t\t\t\t\t\t\tdispatch(SEARCH_DOWN_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonEnterKeyPress(host, event, dispatch) {\n\t\t\t\t\t\tdispatch(SEARCH_ENTER_PRESSED);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles: [snDotWalkNavigationPanelStyles],\n});\n","import isEmpty from 'lodash/isEmpty';\n\nimport NoResultsPanel from '../now-dot-walk/components/panel/NoResultsPanel';\n\nexport default ({\n\tproperties: { dir, source, searchTerm, hideDotWalking },\n\terror,\n\tpanelItems,\n\tactiveItemIndex,\n\tselectedItem,\n\tdispatch,\n\tactivePanelIndex,\n}) => {\n\tif (error) {\n\t\treturn (\n\t\t\t<div className=\"ndw-stacked-panel-error-container\">\n\t\t\t\t<span>{error}<\/span>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\tconst isActive = activePanelIndex === 0;\n\n\tconst showNoResults = !isEmpty(searchTerm) && isEmpty(panelItems);\n\n\treturn showNoResults ? (\n\t\t<NoResultsPanel />\n\t) : (\n\t\t<now-dot-walk-panel\n\t\t\tdir={dir}\n\t\t\titems={panelItems}\n\t\t\tdispatch={dispatch}\n\t\t\tselectedItem={selectedItem}\n\t\t\tsource={source}\n\t\t\tpanelIndex={0}\n\t\t\tactiveIndex={activeItemIndex}\n\t\t\tactive={isActive}\n\t\t\thideDotWalking={hideDotWalking}\n\t\t/>\n\t);\n};\n","/**\n * Component used as Breadcrumb item\n * @param {Object} props - Component props\n * @param {string} props.className - Component class name\n * @param {string} props.testKey - Breadcrumb test key\n * @param {string} props.label - Label to be used for the item's pill\n */\nconst BreadcrumbItem = ({ testKey, label, className }) => {\n\tconst breadCrumbKey = `breadcrumbItem-${testKey}`;\n\treturn (\n\t\t<li className={className}>\n\t\t\t<span\n\t\t\t\tclassName={`ndw-breadcrumb-item-text ${breadCrumbKey}`}\n\t\t\t\tdata-testId={breadCrumbKey}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t<\/span>\n\t\t<\/li>\n\t);\n};\nexport default BreadcrumbItem;\n","import '@servicenow/now-button';\nimport { t } from 'sn-translate';\n\nimport { RTL_DIRECTION } from '../../../common/constants';\nimport { BREADCRUMB_SEPARATOR_BUTTON_CLICKED } from '../../actions';\n\n/**\n * Component used as a separator of breadcrumb items\n * @param {Object} props - Component props\n * @param {string} props.ariaLabel - Aria label used for accessibility requirements\n * @param {string} props.dir - The directionality of the text of the document\n * @param {number} props.itemIndex - Index of the breadcrumb item in the breadcrumb group\n */\nconst BreadcrumbSeparator = ({ ariaLabel, dir, itemIndex }) => {\n\tconst breadCrumbIndexId = `breadcrumbButton-${itemIndex}`;\n\treturn (\n\t\t<li>\n\t\t\t<now-button-iconic\n\t\t\t\tclassName={breadCrumbIndexId}\n\t\t\t\tdata-testId={breadCrumbIndexId}\n\t\t\t\tconfig-aria={{ 'aria-label': ariaLabel }}\n\t\t\t\tbare\n\t\t\t\ticon={\n\t\t\t\t\tdir === RTL_DIRECTION\n\t\t\t\t\t\t? 'arrow-left-fill'\n\t\t\t\t\t\t: 'arrow-right-fill'\n\t\t\t\t}\n\t\t\t\tsize=\"sm\"\n\t\t\t\ttooltip-content={t('Remove breadcrumb')}\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tindex: itemIndex,\n\t\t\t\t\ttype: BREADCRUMB_SEPARATOR_BUTTON_CLICKED,\n\t\t\t\t}}\n\t\t\t><\/now-button-iconic>\n\t\t<\/li>\n\t);\n};\n\nexport default BreadcrumbSeparator;\n","import { t } from 'sn-translate';\n\nimport { panelItemContentTypes } from '../../constants';\n\nimport BreadcrumbItem from './BreadcrumbItem';\nimport BreadcrumbSeparator from './BreadcrumbSeparator';\n\n/**\n * Render function for items in a breadcrumb navigation list\n * @param {{}[]} path - Dot walk path to be displayed by breadcrumb\n * @param {string} leafPathSource - Source for the leaf panel fields\n * @param {string} dir - The directionality of the text of the document\n */\nconst renderBreadcrumbItems = (path, leafPathSource, dir) => {\n\tconst breadCrumbs = [];\n\tconst filteredPath = path.filter((pathItem) => pathItem.displayValue);\n\n\tfilteredPath.forEach((pathItem, i) => {\n\t\tif (pathItem) {\n\t\t\tconst { field, displayValue } = pathItem;\n\t\t\tbreadCrumbs.push(\n\t\t\t\t<BreadcrumbItem\n\t\t\t\t\tkey={`${field}-${i}`}\n\t\t\t\t\ttestKey={field}\n\t\t\t\t\tlabel={displayValue}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tconst lastIndex = filteredPath.length - 1;\n\t\tif (i !== lastIndex) {\n\t\t\t//breadcrumb button removes the following panel\n\t\t\tconst panelName = `${filteredPath[i + 1].displayValue}`;\n\t\t\tconst separatorLabel = t('Breadcrumb. Close {0} panel', panelName);\n\t\t\tbreadCrumbs.push(\n\t\t\t\t<BreadcrumbSeparator\n\t\t\t\t\tariaLabel={separatorLabel}\n\t\t\t\t\titemIndex={i}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t});\n\n\tif (\n\t\tleafPathSource &&\n\t\tleafPathSource !== panelItemContentTypes.EXTENDED_FIELDS\n\t) {\n\t\tconst panelName = `${\n\t\t\tfilteredPath[filteredPath.length - 1].displayValue\n\t\t}`;\n\t\tconst separatorLabel = t('Breadcrumb. Close {0} panel', panelName);\n\t\tbreadCrumbs.push(\n\t\t\t<BreadcrumbSeparator\n\t\t\t\tariaLabel={separatorLabel}\n\t\t\t\titemIndex={filteredPath.length}\n\t\t\t\tdir={dir}\n\t\t\t/>,\n\t\t\t<BreadcrumbItem\n\t\t\t\ttestKey={leafPathSource}\n\t\t\t\tkey={`leafPathSource-${leafPathSource}`}\n\t\t\t\tlabel={t('{0} fields', panelName)}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn breadCrumbs;\n};\n/**\n * Component containing breadcrumb links used to update path\n * @param {Object} props - Component props\n * @param {string} props.dir - The directionality of the text of the document\n * @param {string} props.leafPathSource - Source for the leaf panel fields\n * @param {{}[]} props.path - Dot walk path to be displayed by breadcrumb\n */\nconst Breadcrumb = ({ dir, leafPathSource, path }) => {\n\tif (!path) return <div />;\n\n\treturn (\n\t\t<nav className=\"ndw-breadcrumb\" aria-label=\"breadcrumb\">\n\t\t\t<ol>{renderBreadcrumbItems(path, leafPathSource, dir)}<\/ol>\n\t\t<\/nav>\n\t);\n};\n\nexport default Breadcrumb;\n","import '@servicenow/now-icon';\nimport { t } from 'sn-translate';\n\nconst noop = () => null;\n\nconst keyCodes = {\n\tARROW_DOWN: 40,\n\tARROW_LEFT: 37,\n\tARROW_RIGHT: 39,\n\tARROW_UP: 38,\n\tESCAPE: 27,\n\tENTER: 13,\n};\n\n/**\n * Responds to input change\n * @param {(event: any, data: {elm: {value: string}}) => void} handlers - Map of functions used to handle input change\n * @param {(text: string) => void} handlers.handleInputChange - Function used to handle input change\n * @param {() => void} handlers.handleEnterPress - Function used to handle enter event\n * @param {() => void} handlers.handleEscapePress - Function used to handle escape event\n * @param {() => void} handlers.handleUpArrowPress - Function used to handle up arrow event\n * @param {() => void} handlers.handleRightArrowPress - Function used to handle right arrow event\n * @param {() => void} handlers.handleDownArrowPress - Function used to handle down arrow event\n * @param {() => void} handlers.handleLeftArrowPress - Function used to handle left arrow event\n */\nconst transformInputChangeHandler = ({\n\thandleInputChange = noop,\n\thandleEnterPress = noop,\n\thandleEscapePress = noop,\n\thandleUpArrowPress = noop,\n\thandleRightArrowPress = noop,\n\thandleDownArrowPress = noop,\n\thandleLeftArrowPress = noop,\n}) => (e, { elm: { value } }) => {\n\tconst { keyCode } = e;\n\tswitch (keyCode) {\n\t\tcase keyCodes.ARROW_DOWN:\n\t\t\thandleDownArrowPress();\n\t\t\tbreak;\n\t\tcase keyCodes.ARROW_LEFT:\n\t\t\thandleLeftArrowPress();\n\t\t\tbreak;\n\t\tcase keyCodes.ARROW_RIGHT:\n\t\t\thandleRightArrowPress();\n\t\t\tbreak;\n\t\tcase keyCodes.ARROW_UP:\n\t\t\thandleUpArrowPress();\n\t\t\tbreak;\n\t\tcase keyCodes.ESCAPE:\n\t\t\thandleEscapePress();\n\t\t\tbreak;\n\t\tcase keyCodes.ENTER:\n\t\t\thandleEnterPress();\n\t\t\tbreak;\n\t\tdefault:\n\t\t\thandleInputChange(value);\n\t}\n};\n\n// TODO: update icon on input change, dispatch action on focus\n\n/**\n * Input component for panel search\n * @param {Object} props - Component props\n * @param {string} props.ariaLabel - Aria label used for accessibility requirements\n * @param {string} props.className - Class name to be added to the wrapper component\n * @param {(text: string) => void} props.handleInputChange - Function used to handle input change\n * @param {() => void} props.disabled - Determines whether the input is disabled or not\n * @param {() => void} props.handleEnterPress - Function used to handle enter event\n * @param {() => void} props.handleEscapePress - Function used to handle escape event\n * @param {() => void} props.handleUpArrowPress - Function used to handle up arrow event\n * @param {() => void} props.handleRightArrowPress - Function used to handle right arrow event\n * @param {() => void} props.handleDownArrowPress - Function used to handle down arrow event\n * @param {() => void} props.handleLeftArrowPress - Function used to handle left arrow event\n * @param {() => void} props.onBlur - Function used to handle input blur event\n * @param {() => void} props.onFocus - Function used to handle input focus event\n * @param {string} props.placeholder - Placeholder text\n * @param {(ref: any) => void} props.ref - Function used to receive a reference to the input\n * @param {string} props.value - Controlled value of the input\n */\nconst Input = ({\n\tariaLabel,\n\tclassName,\n\tdisabled,\n\thandleInputChange,\n\thandleEnterPress,\n\thandleEscapePress,\n\thandleUpArrowPress,\n\thandleRightArrowPress,\n\thandleDownArrowPress,\n\thandleLeftArrowPress,\n\tonBlur,\n\tonFocus,\n\tplaceholder,\n\tref,\n\tvalue,\n}) => {\n\tconst wrapperClassName = `ndw-search-input-wrapper${\n\t\tclassName ? ` ${className}` : ''\n\t}`;\n\n\treturn (\n\t\t<div className={wrapperClassName} role=\"combobox\" aria-expanded=\"true\">\n\t\t\t<now-icon\n\t\t\t\tclassName=\"ndw-search-input-icon\"\n\t\t\t\ticon=\"magnifying-glass-outline\"\n\t\t\t\tsize=\"sm\"\n\t\t\t><\/now-icon>\n\t\t\t<input\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-describedby=\"aria-region\"\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\taria-autoComplete=\"list\"\n\t\t\t\tref={ref}\n\t\t\t\tclassName=\"ndw-input\"\n\t\t\t\tplaceholder={placeholder && t('{0}', placeholder)}\n\t\t\t\ttype=\"text\"\n\t\t\t\tdisabled={disabled}\n\t\t\t\ton-focus={onFocus}\n\t\t\t\ton-blur={onBlur}\n\t\t\t\ton-keyup={transformInputChangeHandler({\n\t\t\t\t\thandleInputChange,\n\t\t\t\t\thandleEnterPress,\n\t\t\t\t\thandleEscapePress,\n\t\t\t\t\thandleUpArrowPress,\n\t\t\t\t\thandleRightArrowPress,\n\t\t\t\t\thandleDownArrowPress,\n\t\t\t\t\thandleLeftArrowPress,\n\t\t\t\t})}\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\tvalue={value}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default Input;\n","import Input from './Input';\n\nexport default Input;\n","import '@servicenow/now-loader';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport debounce from 'lodash/debounce';\nimport first from 'lodash/first';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport '../../../now-dot-walk-field-content';\nimport '../../../now-dot-walk-variable-content';\nimport '../../../sn-dot-walk-extended-fields-content';\nimport '../../../now-dot-walk-panel';\nimport '../../../sn-dot-walk-navigation-panel';\nimport {\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_ESCAPE_PRESSED,\n\tSEARCH_INPUT_BLURRED,\n\tSEARCH_INPUT_FOCUSED,\n\tSEARCH_INPUT_VALUE_CHANGED,\n\tSEARCH_RIGHT_ARROW_PRESSED,\n} from '../../actions';\nimport { panelItemContentTypes } from '../../constants';\nimport { Breadcrumb } from '../breadcrumb';\nimport Input from '../input';\n\nconst debounceDispatch = debounce((fn) => fn(), 500);\n\n/**\n * Render function for breadcrumbs\n * @param {Object[]} path Dispatch function to update app state\n * @param {string} error - Error message to be displayed\n * @param {() => void} breadcrumbItemClickHandler - Function to be called on breadcrumb item click\n * @param {string} leafPathSource - Source for the leaf panel fields\n * @param {string} dir - The directionality of the text of the document\n * */\nconst conditionallyRenderBreadcrumbs = (\n\tpath,\n\terror,\n\tbreadcrumbItemClickHandler,\n\tleafPathSource,\n\tdir\n) => {\n\tconst shouldRender =\n\t\tpath &&\n\t\t(path.length > 1 || (path.length > 0 && !!leafPathSource)) &&\n\t\t!error;\n\n\tif (!shouldRender) return null;\n\treturn (\n\t\t<Breadcrumb\n\t\t\tpath={path}\n\t\t\tonItemClick={breadcrumbItemClickHandler}\n\t\t\tleafPathSource={leafPathSource}\n\t\t\tdir={dir}\n\t\t/>\n\t);\n};\n\n/**\n * Handle input's text change event - debounced to prevent rapid input updating state too frequently\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n */\nconst handleInputChange = (dispatch) => (text) => {\n\tdebounceDispatch(() => {\n\t\tdispatch(SEARCH_INPUT_VALUE_CHANGED, {\n\t\t\tsearchTerm: text,\n\t\t});\n\t});\n};\n\n/**\n * Handle input's right arrow pressed event\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n */\nconst handleRightArrowPress = (dispatch) => () => {\n\tdispatch(SEARCH_RIGHT_ARROW_PRESSED);\n};\n\n/**\n * Handle input's blur event\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n */\nconst handleInputBlur = (dispatch) => () => {\n\tdispatch(SEARCH_INPUT_BLURRED);\n};\n\n/**\n * Handle input's focus event\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n */\nconst handleInputFocus = (dispatch) => () => {\n\tdispatch(SEARCH_INPUT_FOCUSED);\n};\n\n/**\n * Handle input's escape pressed event\n * @param {(type: string, payload: {}) => void)} dispatch - Dispatch function to update app state\n */\nconst handleEscapePress = (dispatch) => () => {\n\tdispatch(SEARCH_ESCAPE_PRESSED);\n};\n\nconst handleArrowDownPress = (dispatch) => () => {\n\tdispatch(SEARCH_DOWN_ARROW_PRESSED);\n};\n\nconst handleBreadCrumbItemClickHandler = (stackedPanelContentRef) => () => {\n\t// eslint-disable-next-line no-param-reassign\n\tstackedPanelContentRef.scrollLeft = 0;\n};\n\nconst getContentPanel = ({\n\tcurrentContent,\n\tcontentPath,\n\tmetadata,\n\tleafPathSource,\n\terror,\n\tdir,\n\tsearchTerm,\n\tsource,\n\tactivePanelIndex,\n\tdotWalkConfig,\n\thideDotWalking,\n}) => {\n\tswitch (currentContent) {\n\t\tcase panelItemContentTypes.FIELD_METADATA:\n\t\t\treturn (\n\t\t\t\t<now-dot-walk-field-content\n\t\t\t\t\tactivePanelIndex={activePanelIndex}\n\t\t\t\t\tdotWalkPath={contentPath}\n\t\t\t\t\tmetadata={metadata}\n\t\t\t\t\tleafPathSource={leafPathSource}\n\t\t\t\t\terror={error}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase panelItemContentTypes.VARIABLES:\n\t\t\treturn (\n\t\t\t\t<now-dot-walk-variable-content\n\t\t\t\t\tactivePanelIndex={activePanelIndex}\n\t\t\t\t\tdotWalkPath={contentPath}\n\t\t\t\t\tmetadata={metadata}\n\t\t\t\t\terror={error}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tsource={source}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tdotWalkConfig={dotWalkConfig}\n\t\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\t/>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\nconst getParentFromDotWalkPath = (path) => {\n\treturn get(first(path), 'parent');\n};\n\n/**\n * Component containing horizontally stacked panels\n * @param {Object} props - Component props\n * @param {string} props.currentContent - The content to be displayed in the stacked panel\n * @param {string} props.dir - The directionality of the text of the document\n * @param {{}[]} props.path - Path value used to render panels\n * @param {string} props.leafPathSource - Source name of the leaf panel\n * @param {(type: string, payload: {}) => void)} props.dispatch Dispatch function to update app state\n * @param {boolean} props.loading - Loading state for entire stacked panel\n * @param {string} props.error - Error message to be displayed\n * @param {string} props.searchTerm - Search input value\n * @param {Object} props.dotWalkConfig - boolean options for displaying extra items in the panel\n */\nconst StackedPanel = ({\n\tcurrentContent,\n\tdir,\n\tdispatch,\n\terror,\n\tleafPathSource,\n\tloading,\n\tmetadata,\n\tsearchTerm,\n\tdotWalkConfig,\n\tactivePanelIndex,\n\tpath,\n\thideDotWalking,\n}) => {\n\tif (loading)\n\t\treturn (\n\t\t\t<div className=\"ndw-stacked-panel\" data-testId=\"loading-panel\">\n\t\t\t\t<div className=\"ndw-stacked-panel-loader\">\n\t\t\t\t\t<now-loader />\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\n\tconst inputRef = createRef();\n\tconst stackedPanelContentRef = createRef();\n\tconst navigationPath = path.slice(0, 1) || [];\n\n\tconst metadataKey = getParentFromDotWalkPath(navigationPath);\n\tconst source = metadataKey || leafPathSource || '';\n\tconst contentPath = path.slice(1) || [];\n\tconst contentPanel = isEmpty(navigationPath)\n\t\t? null\n\t\t: getContentPanel({\n\t\t\t\tcurrentContent,\n\t\t\t\tcontentPath,\n\t\t\t\tmetadata,\n\t\t\t\tleafPathSource,\n\t\t\t\terror,\n\t\t\t\tdir,\n\t\t\t\tsearchTerm,\n\t\t\t\tsource,\n\t\t\t\tactivePanelIndex,\n\t\t\t\tdotWalkConfig,\n\t\t\t\thideDotWalking,\n\t\t  });\n\n\treturn (\n\t\t<div className=\"ndw-stacked-panel\">\n\t\t\t<div className=\"ndw-stacked-panel-header\">\n\t\t\t\t<Input\n\t\t\t\t\tariaLabel={t('Search field')}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\thandleInputChange={handleInputChange(dispatch)}\n\t\t\t\t\thandleRightArrowPress={handleRightArrowPress(dispatch)}\n\t\t\t\t\thandleEscapePress={handleEscapePress(dispatch)}\n\t\t\t\t\thandleDownArrowPress={handleArrowDownPress(dispatch)}\n\t\t\t\t\tonBlur={handleInputBlur(dispatch)}\n\t\t\t\t\tonFocus={handleInputFocus(dispatch)}\n\t\t\t\t\tplaceholder={t('Search')}\n\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t/>\n\t\t\t\t{conditionallyRenderBreadcrumbs(\n\t\t\t\t\tpath || [],\n\t\t\t\t\terror,\n\t\t\t\t\thandleBreadCrumbItemClickHandler(stackedPanelContentRef),\n\t\t\t\t\tleafPathSource,\n\t\t\t\t\tdir\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName=\"ndw-stacked-panel-content\"\n\t\t\t\tref={stackedPanelContentRef}\n\t\t\t>\n\t\t\t\t<sn-dot-walk-navigation-panel\n\t\t\t\t\tactivePanelIndex={activePanelIndex}\n\t\t\t\t\terror={error}\n\t\t\t\t\tdir={dir}\n\t\t\t\t\tmetadata={metadata}\n\t\t\t\t\tsource={source}\n\t\t\t\t\tdotWalkPath={first(navigationPath)}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\tdotWalkConfig={dotWalkConfig}\n\t\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\t/>\n\t\t\t\t{contentPanel}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default StackedPanel;\n","import keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport {\n\tactionTypes as componentActionTypes,\n\tcreateCustomElement,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tDOT_WALK_TRIGGERED,\n\tBREADCRUMB_PATH_UPDATED,\n} from '../behaviors/dotWalk';\nimport { componentErrorHandler } from '../now-dot-walk-connected/state';\n\nimport {\n\tARIA_LIVE_MESSAGE_UPDATED,\n\tCONTENT_PATH_UPDATED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tSEARCH_DOWN_ARROW_PRESSED,\n\tSEARCH_INPUT_BLURRED,\n\tSEARCH_INPUT_FOCUSED,\n\tSEARCH_INPUT_VALUE_CHANGED,\n\tNAVIGATION_PATH_UPDATED,\n\tPATH_UPDATED,\n\tACTIVE_PANEL_UPDATED,\n} from './actions';\nimport baseStyle from './now-dot-walk.scss';\nimport NowDotWalk from './NowDotWalk.view';\nimport {\n\tariaLiveMessageHandler,\n\tarrowDownHandler,\n\tbuttonIconicClickHandler,\n\tcomponentPropertyChangedHandler,\n\tsearchInputBlurredHandler,\n\tsearchInputFocusedHandler,\n\tsearchTermUpdatedHandler,\n\thandleActivePanelUpdated,\n} from './state';\nimport {\n\tcontentPathUpdatedHandler,\n\tnavigationPathUpdatedHandler,\n} from './state/globalHandlers';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDERED,\n} = componentActionTypes;\n\n/**\n * Metadata used for the dot-walk components\n * @typedef {[key: string]: {\n *              [key: string]: {\n *                  displayValue: string,\n *                  isReference: boolean,\n *                  referenceDataKey?: string\n *              }}\n *      } DotWalkMetadata\n */\n\n/**\n * Represents a dot walk path\n * @typedef {{ field: string, loading: boolean, parent: string }[]} DotWalkPath\n */\n\n/**\n * Configs used for the dot-walk first panel\n * @typedef {\n * \t\t\tshowVariables: boolean\n *\t\t\tshowQuestions: boolean\n *\t\t\tshowExtendedFields: boolean\n *      } DotWalkConfig\n */\n\n/**\n * The Dot Walk component is a data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n *\n * ```\n *  <now-dot-walk dot-walk-model={dotWalkModel} error={error} />\n * ```\n *\n * @seismicElement now-dot-walk\n * @summary A data source agnostic, panel-based, inverted tree component for navigating through fields and their descendants.\n */\nconst nowDotWalkElement = createCustomElement('sn-dot-walk-v1', {\n\tdispatches: {\n\t\t/**\n\t\t * Indicates that the path was updated by breadcrumb click\n\t\t *\n\t\t * @type {{path: string}}\n\t\t */\n\t\t[BREADCRUMB_PATH_UPDATED]: {},\n\t\t/**\n\t\t * Indicates that a field was dot-walked\n\t\t *\n\t\t * @type {{fieldName: string, displayValue: string, referenceSource: string, source: string, pathIndex: number}}\n\t\t */\n\t\t[DOT_WALK_TRIGGERED]: {},\n\t\t/**\n\t\t * Indicates that the path was updated\n\t\t *\n\t\t * @type {{path: string, dotWalkPath: array, contentType: string }}\n\t\t */\n\t\t[PATH_UPDATED]: {},\n\t},\n\tproperties: {\n\t\t/**\n\t\t * The map of metadata that will be used to display data and navigate through fields and their descendants\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {DotWalkMetadata}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Enum to describe what type of content will be shown for dot walk, specifically for variables and extended fields.\n\t\t * You can import contentTypes from now-dot-walk for the values defined.\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcontentType: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * The key used to get field data for the last panel.\n\t\t * Useful when no path is selected or when a panel is dot-walked but no item has been selected on the new panel.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkData}\n\t\t */\n\t\tleafPathSource: {\n\t\t\tdefault: undefined,\n\t\t\tschema: { type: 'string' },\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * An error message to be displayed by the component.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\terror: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Array that represents the current selected dot-walk path.\n\t\t * Required: No\n\t\t *\n\t\t * @type {DotWalkPath[]}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * Configs for determining if extra fields should be shown on the dot walk panel\n\t\t * Required: No\n\t\t * @type {DotWalkConfig}\n\t\t */\n\t\tdotWalkConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies direction of layout\n\t\t * rtl = right to left\n\t\t * ltr = left to right\n\t\t * Required: No\n\t\t * @type {string}\n\t\t */\n\t\tdir: {\n\t\t\tdefault: 'ltr',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[ARIA_LIVE_MESSAGE_UPDATED]: ariaLiveMessageHandler,\n\t\t[COMPONENT_BOOTSTRAPPED]: componentPropertyChangedHandler,\n\t\t[COMPONENT_ERROR_THROWN]: componentErrorHandler,\n\t\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedHandler,\n\t\t[COMPONENT_RENDERED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\tstate: { searchInputFocused },\n\t\t\t} = coeffects;\n\t\t\tif (searchInputFocused) {\n\t\t\t\tconst input = host.nowRootNode.querySelector('input');\n\t\t\t\tif (input) input.focus();\n\t\t\t}\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: buttonIconicClickHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SEARCH_DOWN_ARROW_PRESSED]: arrowDownHandler,\n\t\t[SEARCH_INPUT_BLURRED]: searchInputBlurredHandler,\n\t\t[SEARCH_INPUT_FOCUSED]: searchInputFocusedHandler,\n\t\t[SEARCH_INPUT_VALUE_CHANGED]: searchTermUpdatedHandler,\n\t\t[NAVIGATION_PATH_UPDATED]: navigationPathUpdatedHandler,\n\t\t[CONTENT_PATH_UPDATED]: contentPathUpdatedHandler,\n\t\t[ACTIVE_PANEL_UPDATED]: handleActivePanelUpdated,\n\t},\n\tbehaviors: [\n\t\trtlBehavior,\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tonArrowKeyPress: ['ArrowDown'],\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonArrowKeyPress: (host, event, dispatch) => {\n\t\t\t\t\t\tswitch (event.keyCode) {\n\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t\t\t// arrow-down\n\t\t\t\t\t\t\t\tdispatch(SEARCH_DOWN_ARROW_PRESSED);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tinitialState: {\n\t\tpanels: [],\n\t\tactivePanelIndex: -1,\n\t\tcurrentContent: '',\n\t\tnavigationPath: [],\n\t\tcontentPath: [],\n\t\tsearchInputFocused: true,\n\t\topenedPanelsCount: 0,\n\t},\n\trenderer: { type: snabbdom },\n\tview: NowDotWalk,\n\tstyles: [baseStyle],\n});\n\nexport default nowDotWalkElement;\n","import { t } from 'sn-translate';\n\nimport { BREADCRUMB_PATH_UPDATED } from '../../behaviors/dotWalk';\nimport { getCombinedPath } from '../../behaviors/dotWalk/util';\nimport { ARIA_LIVE_MESSAGE_UPDATED } from '../actions';\nimport { panelItemContentTypes } from '../constants';\n\nconst breadcrumbTrimmedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { index },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { dotWalkPath },\n\t\tstate: { currentContent },\n\t} = coeffects;\n\n\tif (currentContent !== panelItemContentTypes.FIELD_METADATA) {\n\t\tdispatch(ARIA_LIVE_MESSAGE_UPDATED, {\n\t\t\tmessage: t('Closed {0} panel and fields', currentContent),\n\t\t});\n\n\t\tdispatch(BREADCRUMB_PATH_UPDATED, {\n\t\t\tpath: [],\n\t\t\tcombinedPath: '',\n\t\t\tcontentType: currentContent,\n\t\t\tfromBreadcrumb: true,\n\t\t});\n\n\t\treturn;\n\t}\n\n\tdispatch(ARIA_LIVE_MESSAGE_UPDATED, {\n\t\tmessage: t('Closed panel {0} and its fields', index),\n\t});\n\n\tconst updatedPath = dotWalkPath.slice(0, index + 1);\n\tdispatch(BREADCRUMB_PATH_UPDATED, {\n\t\tpath: updatedPath,\n\t\tcombinedPath: getCombinedPath(updatedPath),\n\t\tcontentType: panelItemContentTypes.FIELD_METADATA,\n\t\tfromBreadcrumb: true,\n\t});\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport { breadcrumbTrimmedHandler };\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport AriaLiveRegion from '../common/AriaLiveRegion';\n\nimport StackedPanel from './components/panel/StackedPanel';\n\nexport default (\n\t{\n\t\tactivePanelIndex,\n\t\tariaLiveMessage,\n\t\tcurrentContent,\n\t\tproperties: {\n\t\t\tdir,\n\t\t\tleafPathSource,\n\t\t\tmetadata,\n\t\t\tdotWalkPath,\n\t\t\tdotWalkConfig,\n\t\t\thideDotWalking,\n\t\t},\n\t\terror,\n\t\tsearchTerm,\n\t},\n\t{ dispatch }\n) => {\n\tconst isLoading =\n\t\t(!dotWalkPath && !metadata && !leafPathSource) ||\n\t\t!metadata ||\n\t\tObject.keys(metadata).length === 0;\n\treturn (\n\t\t<Fragment>\n\t\t\t<StackedPanel\n\t\t\t\tactivePanelIndex={activePanelIndex}\n\t\t\t\tcurrentContent={currentContent}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tdir={dir}\n\t\t\t\tleafPathSource={leafPathSource}\n\t\t\t\tpath={dotWalkPath}\n\t\t\t\terror={error}\n\t\t\t\tloading={isLoading}\n\t\t\t\tmetadata={metadata}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\tdotWalkConfig={dotWalkConfig}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t/>\n\t\t\t<AriaLiveRegion message={ariaLiveMessage} />\n\t\t<\/Fragment>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tMETADATA_EXTENDED_FIELDS_FETCH_FAILED,\n\tMETADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED,\n\tMETADATA_EXTENDED_FIELDS_FETCH_STARTED,\n} from '../actions';\n\nconst dotwalkExtendedFieldsDataQuery = `\n    query ($tableName: String!, $includeFieldMetadata: Boolean, $includeOnlyFilterableFields: Boolean) {\n        GlideConditionBuilder_Query {\n            dotwalkExtendedFieldsData(tableName: $tableName, includeFieldMetadata: $includeFieldMetadata, includeOnlyFilterableFields:$includeOnlyFilterableFields) {\n                parentTableName,\n                parentTableLabel,\n                extendedTableData {\n                    tableName\n                    tableLabel\n                    dotwalkFieldData {\n                        name\n                        label\n                        type\n                        dotwalkable\n                        referenceTable\n                        referenceTableDefaultField\n                        fieldMetadata {\n\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\ttype\n\t\t\t\t\t\t\tbase_type\n\t\t\t\t\t\t\tinternal_type\n\t\t\t\t\t\t\tis_function\n\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\tmultitext\n\t\t\t\t\t\t\tedge_encrypted\n\t\t\t\t\t\t\tedge_encryption_type\n\t\t\t\t\t\t\tglide_encrypted\n\t\t\t\t\t\t\tcanmatch\n\t\t\t\t\t\t\tcansort\n\t\t\t\t\t\t\tcangroup\n\t\t\t\t\t\t\tmandatory\n\t\t\t\t\t\t\tread_only\n\t\t\t\t\t\t\tmax_length\n\t\t\t\t\t\t\thint\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\treference\n\t\t\t\t\t\t\treference_attributes {\n\t\t\t\t\t\t\t\treference_key\n\t\t\t\t\t\t\t\tdisplay_field\n\t\t\t\t\t\t\t\tref_ac_columns\n\t\t\t\t\t\t\t\tref_auto_completer\n\t\t\t\t\t\t\t\tref_ac_columns_search\n\t\t\t\t\t\t\t\tref_ac_display_value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treference_display_field\n\t\t\t\t\t\t\tchoice_type\n\t\t\t\t\t\t\tfilterable\n\t\t\t\t\t\t\tmax_unit\n\t\t\t\t\t\t\textended_table\n\t\t\t\t\t\t}\n                    }\n                }\n            }\n        }\n    }\n`;\n\nconst fetchExtendedFieldsMetadata = createGraphQLEffect(\n\tdotwalkExtendedFieldsDataQuery,\n\t{\n\t\tvariableList: [\n\t\t\t'tableName',\n\t\t\t'includeFieldMetadata',\n\t\t\t'includeOnlyFilterableFields',\n\t\t],\n\t\tsuccessActionType: METADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED,\n\t\terrorActionType: METADATA_EXTENDED_FIELDS_FETCH_FAILED,\n\t\tstartActionType: METADATA_EXTENDED_FIELDS_FETCH_STARTED,\n\t}\n);\n\nexport default fetchExtendedFieldsMetadata;\n","export const dotWalkVariableSearchFragment = `\n    fragment dotWalkVariableSearchFragment on GlideVariables_VariableSearchResultType {\n        allRecordsSearched\n        lastVariableId\n        variables {\n            sysId\n            displayValue\n            referenceTable\n            referenceTableDefaultField\n            type\n            catalogItem {\n                sysId\n                name\n            }\n            variableSet {\n                sysId\n                name\n            }\n        }\n    }\n`;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tMETADATA_PATH_FETCH_FAILED,\n\tMETADATA_PATH_FETCH_STARTED,\n\tMETADATA_PATH_FETCH_SUCCEEDED,\n} from '../actions';\n\nimport { dotWalkVariableSearchFragment } from './dotWalkVariableSearchFragment';\n\nconst dotwalkPathDataQuery = `\n    query ($tableName: String!, $path: String!, $fieldInclusionList: [String], $fieldExclusionList: [String], $includeFieldMetadata: Boolean, $includeOnlyFilterableFields: Boolean, $searchForVariables: Boolean!) {\n        GlideConditionBuilder_Query @skip(if: $searchForVariables) {\n            dotwalkData(tableName: $tableName, path: $path, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, includeFieldMetadata: $includeFieldMetadata, includeOnlyFilterableFields: $includeOnlyFilterableFields) {\n                pathData {\n                    dotwalkMode\n                    path {\n                        field: fieldName\n                        displayValue: fieldLabel\n                        table\n                        type\n                        referenceTable\n                        referenceTableDefaultField\n                        referenceKey\n                    }\n                }\n                tableData {\n                    tableName\n                    dotwalkFieldData {\n                        name\n                        label\n                        type\n                        dotwalkable\n                        referenceTable\n                        referenceTableDefaultField\n                        referenceKey\n                        fieldMetadata {\n\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\ttype\n\t\t\t\t\t\t\tbase_type\n\t\t\t\t\t\t\tinternal_type\n\t\t\t\t\t\t\tis_function\n\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\tmultitext\n\t\t\t\t\t\t\tedge_encrypted\n\t\t\t\t\t\t\tedge_encryption_type\n\t\t\t\t\t\t\tglide_encrypted\n\t\t\t\t\t\t\tcanmatch\n\t\t\t\t\t\t\tcansort\n\t\t\t\t\t\t\tcangroup\n\t\t\t\t\t\t\tmandatory\n\t\t\t\t\t\t\tread_only\n\t\t\t\t\t\t\tmax_length\n\t\t\t\t\t\t\thint\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\treference\n\t\t\t\t\t\t\treference_attributes {\n\t\t\t\t\t\t\t\treference_key\n\t\t\t\t\t\t\t\tdisplay_field\n\t\t\t\t\t\t\t\tref_ac_columns\n\t\t\t\t\t\t\t\tref_auto_completer\n\t\t\t\t\t\t\t\tref_ac_columns_search\n\t\t\t\t\t\t\t\tref_ac_display_value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treference_display_field\n\t\t\t\t\t\t\tchoice_type\n\t\t\t\t\t\t\tfilterable\n\t\t\t\t\t\t\tmax_unit\n\t\t\t\t\t\t\textended_table\n\t\t\t\t\t\t}\n                    }\n                }\n                variableData {\n                    catalogItems {\n                      id\n                      label\n                      variables {\n                        id\n                        name\n                        label\n                        type\n                        catalogItemId\n                        variableSetId\n                        referenceTable\n                        referenceTableDefaultField\n                      }\n                    }\n                    variableSets {\n                        id\n                        label\n                        variables {\n                          id\n                          name\n                          label\n                          type\n                          catalogItemId\n                          variableSetId\n                          referenceTable\n                          referenceTableDefaultField\n                        }\n                    }\n                }\n            }\n            dotwalkTableConfig(tableName: $tableName) {\n\t\t\t\tshowVariables\n\t\t\t\tshowQuestions\n\t\t\t\tshowExtendedFields\n\t\t\t}\n        }\n\n        GlideConditionBuilder_Query @include(if: $searchForVariables) {\n            dotwalkTableData(\n                tableName: $tableName\n                fieldInclusionList: $fieldInclusionList\n                fieldExclusionList: $fieldExclusionList\n                includeFieldMetadata: $includeFieldMetadata\n                includeOnlyFilterableFields: $includeOnlyFilterableFields\n            ) {\n                tableName\n                tableLabel\n                dotwalkFieldData {\n                    name\n                    label\n                    type\n                    referenceTable\n                    referenceTableDefaultField\n                    referenceKey\n                    dotwalkable\n                    excludedOperators\n                    fieldMetadata {\n                        name\n                        type\n                        base_type\n                        internal_type\n                        is_function\n                        attributes\n                        multitext\n                        edge_encrypted\n                        edge_encryption_type\n                        glide_encrypted\n                        canmatch\n                        cansort\n                        cangroup\n                        mandatory\n                        read_only\n                        max_length\n                        hint\n                        label\n                        reference\n                        reference_attributes {\n                            reference_key\n                            display_field\n                            ref_ac_columns\n                            ref_auto_completer\n                            ref_ac_columns_search\n                            ref_ac_display_value\n                        }\n                        reference_display_field\n                        choice_type\n                        filterable\n                        max_unit\n                        extended_table\n                    }\n                }\n            }\n    \n            dotwalkPathData(tableName: $tableName, path: $path) {\n                dotwalkMode\n                path {\n                    field: fieldName\n                    displayValue: fieldLabel\n                    table\n                    type\n                    referenceTable\n                    referenceTableDefaultField\n                    referenceKey\n                }\n            }\n    \n            dotwalkTableConfig(tableName: $tableName) {\n                showVariables\n                showQuestions\n                showExtendedFields\n            }\n        }\n    \n        GlideVariables_Query @include(if: $searchForVariables) {\n            getVariableSearchResult(searchTerm: \"\", lastVariableId: \"\") {\n                ...dotWalkVariableSearchFragment\n            }\n        }\n    }\n    ${dotWalkVariableSearchFragment}\n`;\n\nconst fetchPathMetadata = createGraphQLEffect(dotwalkPathDataQuery, {\n\tvariableList: [\n\t\t'tableName',\n\t\t'path',\n\t\t'fieldInclusionList',\n\t\t'fieldExclusionList',\n\t\t'includeFieldMetadata',\n\t\t'includeOnlyFilterableFields',\n\t\t'searchForVariables',\n\t],\n\tsuccessActionType: METADATA_PATH_FETCH_SUCCEEDED,\n\terrorActionType: METADATA_PATH_FETCH_FAILED,\n\tstartActionType: METADATA_PATH_FETCH_STARTED,\n});\n\nexport default fetchPathMetadata;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tMETADATA_TABLE_FETCH_FAILED,\n\tMETADATA_TABLE_FETCH_STARTED,\n\tMETADATA_TABLE_FETCH_SUCCEEDED,\n} from '../actions';\n\nconst dotwalkTableDataQuery = `\n    query($tableName: String!, $fieldInclusionList: [String], $fieldExclusionList: [String], $initialTable: String!, $includeFieldMetadata: Boolean, $includeOnlyFilterableFields: Boolean, $shouldExcludeOperators: Boolean){\n        GlideConditionBuilder_Query {\n            dotwalkTableData(tableName: $tableName, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, includeFieldMetadata: $includeFieldMetadata, includeOnlyFilterableFields: $includeOnlyFilterableFields, shouldExcludeOperators: $shouldExcludeOperators) {\n                tableName\n                tableLabel\n                dotwalkFieldData {\n                    name\n                    label\n                    type\n                    referenceTable\n                    referenceTableDefaultField\n\t\t\t\t\treferenceKey\n                    dotwalkable\n                    excludedOperators\n                    fieldMetadata {\n\t\t\t\t\t\tname\n\t\t\t\t\t\ttype\n\t\t\t\t\t\tbase_type\n\t\t\t\t\t\tinternal_type\n\t\t\t\t\t\tis_function\n\t\t\t\t\t\tattributes\n\t\t\t\t\t\tmultitext\n\t\t\t\t\t\tedge_encrypted\n\t\t\t\t\t\tedge_encryption_type\n\t\t\t\t\t\tglide_encrypted\n\t\t\t\t\t\tcanmatch\n\t\t\t\t\t\tcansort\n\t\t\t\t\t\tcangroup\n\t\t\t\t\t\tmandatory\n\t\t\t\t\t\tread_only\n\t\t\t\t\t\tmax_length\n\t\t\t\t\t\thint\n\t\t\t\t\t\tlabel\n\t\t\t\t\t\treference\n\t\t\t\t\t\treference_attributes {\n\t\t\t\t\t\t\treference_key\n\t\t\t\t\t\t\tdisplay_field\n\t\t\t\t\t\t\tref_ac_columns\n\t\t\t\t\t\t\tref_auto_completer\n\t\t\t\t\t\t\tref_ac_columns_search\n\t\t\t\t\t\t\tref_ac_display_value\n\t\t\t\t\t\t}\n\t\t\t\t\t\treference_display_field\n\t\t\t\t\t\tchoice_type\n\t\t\t\t\t\tfilterable\n\t\t\t\t\t\tmax_unit\n\t\t\t\t\t\textended_table\n\t\t\t\t\t}\n                }\n            }\n            dotwalkTableConfig(tableName: $initialTable) {\n\t\t\t\tshowVariables\n\t\t\t\tshowQuestions\n\t\t\t\tshowExtendedFields\n\t\t\t}\n        }\n    }\n`;\nconst fetchTableMetadata = createGraphQLEffect(dotwalkTableDataQuery, {\n\tvariableList: [\n\t\t'tableName',\n\t\t'fieldInclusionList',\n\t\t'fieldExclusionList',\n\t\t'initialTable',\n\t\t'includeFieldMetadata',\n\t\t'includeOnlyFilterableFields',\n\t\t'shouldExcludeOperators',\n\t],\n\tsuccessActionType: METADATA_TABLE_FETCH_SUCCEEDED,\n\terrorActionType: METADATA_TABLE_FETCH_FAILED,\n\tstartActionType: METADATA_TABLE_FETCH_STARTED,\n});\n\nexport default fetchTableMetadata;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tMETADATA_VARIABLES_FETCH_FAILED,\n\tMETADATA_VARIABLES_FETCH_STARTED,\n\tMETADATA_VARIABLES_FETCH_SUCCEEDED,\n} from '../actions';\n\nconst dotwalkVariableDataQuery = `\n    query ($tableName: String!) {\n        GlideConditionBuilder_Query {\n            dotwalkVariableData(tableName: $tableName) {\n                catalogItems {\n                    id\n                    label\n                    variables {\n                        id\n                        name\n                        label\n                        type\n                        catalogItemId\n                        variableSetId\n                        referenceTable\n                        referenceTableDefaultField\n                    }\n                }\n                variableSets {\n                    id\n                    label\n                    variables {\n                        id\n                        name\n                        label\n                        type\n                        catalogItemId\n                        variableSetId\n                        referenceTable\n                        referenceTableDefaultField\n                    }\n                }\n            }\n        }\n    }\n\n`;\n\nconst fetchTableMetadata = createGraphQLEffect(dotwalkVariableDataQuery, {\n\tvariableList: ['tableName'],\n\tsuccessActionType: METADATA_VARIABLES_FETCH_SUCCEEDED,\n\terrorActionType: METADATA_VARIABLES_FETCH_FAILED,\n\tstartActionType: METADATA_VARIABLES_FETCH_STARTED,\n});\n\nexport default fetchTableMetadata;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tMETADATA_VARIABLES_SEARCH_FETCH_FAILED,\n\tMETADATA_VARIABLES_SEARCH_FETCH_STARTED,\n\tMETADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED,\n} from '../actions';\n\nimport { dotWalkVariableSearchFragment } from './dotWalkVariableSearchFragment';\n\nconst dotwalkVariableSearchDataQuery = `\n    query ($searchTerm: String, $lastVariableId: String, $operator: String) {\n        GlideVariables_Query {\n            getVariableSearchResult(\n                searchTerm: $searchTerm\n                operator: $operator\n                lastVariableId: $lastVariableId\n            ) {\n                ...dotWalkVariableSearchFragment\n            }\n        }\n    }\n    ${dotWalkVariableSearchFragment}\n`;\n\nconst fetchVariableSearchMetadata = createGraphQLEffect(\n\tdotwalkVariableSearchDataQuery,\n\t{\n\t\tvariableList: ['searchTerm', 'lastVariableId', 'operator'],\n\t\tsuccessActionType: METADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED,\n\t\terrorActionType: METADATA_VARIABLES_SEARCH_FETCH_FAILED,\n\t\tstartActionType: METADATA_VARIABLES_SEARCH_FETCH_STARTED,\n\t}\n);\n\nexport default fetchVariableSearchMetadata;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tDOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_STARTED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n} from '../actions';\n\nconst dotWalkTableConfigQuery = `\n    query($tableName: String!){\n        GlideConditionBuilder_Query {\n            dotwalkTableConfig(tableName: $tableName) {\n\t\t\t\tshowVariables\n\t\t\t\tshowQuestions\n\t\t\t\tshowExtendedFields\n\t\t\t}\n        }\n    }\n`;\nconst fetchDotWalkConfig = createGraphQLEffect(dotWalkTableConfigQuery, {\n\tvariableList: ['tableName'],\n\tsuccessActionType: DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n\terrorActionType: DOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n\tstartActionType: DOT_WALK_TABLE_CONFIG_FETCH_STARTED,\n});\n\nexport default fetchDotWalkConfig;\n","import get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport uniqWith from 'lodash/uniqWith';\nimport { t } from 'sn-translate';\n\nimport { METADATA_PATH_FETCHED } from '../../now-dot-walk';\nimport { panelItemContentTypes } from '../../now-dot-walk/constants';\nimport { getVariablesSearchMetadata } from '../metadata/util';\n\nimport {\n\tMETADATA_PATH_FETCH_FAILED,\n\tMETADATA_PATH_FETCH_SUCCEEDED,\n\tMETADATA_TABLE_FETCHED,\n\tMETADATA_TABLE_FETCH_FAILED,\n\tMETADATA_TABLE_FETCH_SUCCEEDED,\n\t// TODO: deprecate\n\tMETADATA_VARIABLES_FETCHED,\n\tMETADATA_VARIABLES_FETCH_FAILED,\n\tMETADATA_VARIABLES_FETCH_SUCCEEDED,\n\t// end deprecate\n\tMETADATA_VARIABLES_SEARCH_FETCHED,\n\tMETADATA_VARIABLES_SEARCH_FETCH_FAILED,\n\tMETADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED,\n\tMETADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED,\n\tMETADATA_EXTENDED_FIELDS_FETCH_FAILED,\n\tMETADATA_EXTENDED_FIELDS_FETCHED,\n\tDOT_WALK_TABLE_CONFIG_FETCHED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED,\n\tDOT_WALK_TABLE_CONFIG_FETCH_FAILED,\n} from './actions';\nimport {\n\tdotWalkPathFetchEffect,\n\tdotWalkTableFetchEffect,\n\tdotWalkVariableFetchEffect,\n\tdotWalkVariableSearchFetchEffect,\n\tdotWalkExtendedFieldsFetchEffect,\n} from './http';\nimport dotWalkTableConfigFetchEffect from './http/dotWalkTableConfigFetchEffect';\nimport { getMetadataBehaviorOptions } from './util';\n\nconst fetchErrorMessage = t(\n\t'Error occurred while fetching data. Please contact your system administrator'\n);\n\nconst fetchErrorHandler = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({\n\t\terror: fetchErrorMessage,\n\t});\n};\n\nconst transformMetadataKeys = (dotWalkFieldData, tableName) => {\n\tif (!dotWalkFieldData) return {};\n\n\t// Some tables have duplicate labels. In order to differentiate the items in the panel, we\n\t// identify which labels are duplicated so that a secondary value can be added to the item\n\tconst labelCounter = {};\n\tdotWalkFieldData.forEach(({ label }) => {\n\t\tif (labelCounter[label]) {\n\t\t\tlabelCounter[label]++;\n\t\t} else {\n\t\t\tlabelCounter[label] = 1;\n\t\t}\n\t});\n\n\tconst result = {};\n\tdotWalkFieldData.forEach(\n\t\t({\n\t\t\tname,\n\t\t\tlabel,\n\t\t\treferenceTable,\n\t\t\ttype,\n\t\t\tdotwalkable,\n\t\t\treferenceTableDefaultField,\n\t\t\treferenceKey,\n\t\t\tfieldMetadata,\n\t\t\texcludedOperators,\n\t\t}) => {\n\t\t\tresult[name] = {\n\t\t\t\tdisplayValue: label,\n\t\t\t\tsecondaryValue: labelCounter[label] > 1 ? name : undefined,\n\t\t\t\tisReference: dotwalkable,\n\t\t\t\tparent: tableName,\n\t\t\t\treferenceDataKey: referenceTable,\n\t\t\t\treferenceTableDefaultField,\n\t\t\t\treferenceKey,\n\t\t\t\ttype,\n\t\t\t\tdisabled: type === 'extended_table',\n\t\t\t\tfieldMetadata: fieldMetadata ? { ...fieldMetadata } : null,\n\t\t\t\texcludedOperators,\n\t\t\t};\n\t\t}\n\t);\n\n\treturn result;\n};\n\n// TODO: deprecate\nconst transformVariableMetadataKeys = (dotWalkVariableData) => {\n\tif (!dotWalkVariableData) return {};\n\n\tconst result = {};\n\n\tconst innerFn = ({ id, label, variables }) => {\n\t\tif (isEmpty(variables)) return;\n\t\tresult[id] = {\n\t\t\tid,\n\t\t\tlabel,\n\t\t\tvariables,\n\t\t};\n\t};\n\n\tconst catalogItems = get(dotWalkVariableData, 'catalogItems', []);\n\tcatalogItems.forEach(innerFn);\n\n\tconst variableSets = get(dotWalkVariableData, 'variableSets', []);\n\tvariableSets.forEach(innerFn);\n\n\treturn result;\n};\n\nconst transformExtendedFieldsMetadataKeys = (dotWalkExtendedFieldsData) => {\n\tconst extendedTableData = get(\n\t\tdotWalkExtendedFieldsData,\n\t\t'extendedTableData'\n\t);\n\tconst result = {};\n\n\tif (!extendedTableData) return result;\n\n\textendedTableData.forEach(({ tableLabel, tableName, dotwalkFieldData }) => {\n\t\tresult[tableName] = {\n\t\t\tdisplayValue: tableLabel,\n\t\t\tdotwalkFieldData: dotwalkFieldData.map(\n\t\t\t\t({\n\t\t\t\t\tlabel,\n\t\t\t\t\tname,\n\t\t\t\t\ttype,\n\t\t\t\t\treferenceTable,\n\t\t\t\t\treferenceTableDefaultField,\n\t\t\t\t\tfieldMetadata,\n\t\t\t\t}) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdisplayValue: label,\n\t\t\t\t\t\tisReference: false,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\treferenceTable,\n\t\t\t\t\t\treferenceTableDefaultField,\n\t\t\t\t\t\tparent: tableName,\n\t\t\t\t\t\tfieldMetadata: fieldMetadata\n\t\t\t\t\t\t\t? { ...fieldMetadata }\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t),\n\t\t};\n\t});\n\n\treturn result;\n};\n\nconst transformVariablesSearchMetadata = (\n\tpreviousMetadata,\n\tupdatedMetadata\n) => {\n\t// remove duplicate variables by sysId\n\tconst updatedVariables = uniqWith(\n\t\t[\n\t\t\t...(previousMetadata?.variables || []),\n\t\t\t...(updatedMetadata?.variables || []),\n\t\t],\n\t\t(a, b) => a.sysId === b.sysId\n\t);\n\n\treturn {\n\t\t...previousMetadata,\n\t\t...updatedMetadata,\n\t\ttimestamp: new Date().getTime(), // cache busting for seismic\n\t\tvariables: updatedVariables,\n\t};\n};\n\nconst updateDotWalkConfigState = (coeffects) => (tableName, dotWalkConfig) => {\n\tconst { updateDotWalkConfig } = getMetadataBehaviorOptions(coeffects);\n\tconst dotWalkConfigForTable = {\n\t\t[tableName]: dotWalkConfig,\n\t};\n\tupdateDotWalkConfig(coeffects)(dotWalkConfigForTable);\n};\n\nconst updateMetadataState = (coeffects) => (tableName, dotWalkFieldData) => {\n\tconst { updateMetadata } = getMetadataBehaviorOptions(coeffects);\n\tconst metadataWithNewFields = {\n\t\t[tableName]: transformMetadataKeys(dotWalkFieldData, tableName),\n\t};\n\n\tupdateMetadata(coeffects)(metadataWithNewFields);\n};\n\n// TODO: deprecate\nconst updateVariableMetadataState = (coeffects) => (dotWalkVariableData) => {\n\tconst { updateMetadata } = getMetadataBehaviorOptions(coeffects);\n\tconst metadataWithNewFields = {\n\t\tvariables: transformVariableMetadataKeys(dotWalkVariableData),\n\t};\n\n\tupdateMetadata(coeffects)(metadataWithNewFields);\n};\n\nconst updateVariableSearchMetadataState = (coeffects) => ({\n\tdata,\n\tsearchTerm,\n}) => {\n\tconst { getMetadata, updateMetadata } = getMetadataBehaviorOptions(\n\t\tcoeffects\n\t);\n\tconst previousMetadata = getMetadata(coeffects)();\n\n\tconst previousSearchTermMeta = getVariablesSearchMetadata(\n\t\tpreviousMetadata,\n\t\tsearchTerm\n\t);\n\n\tconst updatedSearchTermMeta = {\n\t\t[searchTerm]: transformVariablesSearchMetadata(\n\t\t\tpreviousSearchTermMeta,\n\t\t\tdata\n\t\t),\n\t};\n\n\tupdateMetadata(coeffects)(\n\t\tupdatedSearchTermMeta,\n\t\t'metadata.variables_search'\n\t);\n};\n\nconst updateExtendedFieldsMetadataState = (coeffects) => (\n\tdotWalkExtendedFieldsData\n) => {\n\tconst { updateMetadata } = getMetadataBehaviorOptions(coeffects);\n\tconst metadataWithNewFields = {\n\t\textendedFields: transformExtendedFieldsMetadataKeys(\n\t\t\tdotWalkExtendedFieldsData\n\t\t),\n\t};\n\n\tupdateMetadata(coeffects)(metadataWithNewFields);\n};\n\nconst tableMetadataFetchSuccessHandler = (coeffects) => {\n\tconst { action, updateState } = coeffects;\n\tconst dotWalkTableData = get(\n\t\taction,\n\t\t'payload.data.GlideConditionBuilder_Query.dotwalkTableData'\n\t);\n\tconst dotWalkTableConfigData = getDotWalkConfigData(coeffects, action);\n\n\tconst tableName = get(dotWalkTableData, 'tableName');\n\tconst dotWalkFieldData = get(dotWalkTableData, 'dotwalkFieldData');\n\tif (!tableName || !dotWalkFieldData) return;\n\n\tupdateMetadataState(coeffects)(tableName, dotWalkFieldData);\n\n\tupdateState({\n\t\tpath: 'dotWalkModel.config',\n\t\tvalue: dotWalkTableConfigData,\n\t\toperation: 'set',\n\t});\n};\n\nconst getContentType = (nowDotWalkMode) => {\n\tswitch (nowDotWalkMode) {\n\t\tcase 'VARIABLES':\n\t\t\treturn panelItemContentTypes.VARIABLES;\n\t\tcase 'EXTENDED_FIELDS': // since extended fields are interleaved with field metadata we want the content type as field metadata\n\t\tcase 'TABLE_FIELDS':\n\t\t\treturn panelItemContentTypes.FIELD_METADATA;\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n};\n\nconst variablesKey = 'variables';\nconst questionsKey = 'questions';\n\n/**\n * Helper function to get the dot walk config data while accounting for inclusion and exclusion list\n * @param {Object} coeffects seismic coeffects\n * @param {Object} action seismic action with config data\n * @returns {Object} Config with transformed showQuestions and showVariables fields\n */\nexport const getDotWalkConfigData = (coeffects, action) => {\n\tconst dotWalkTableConfigData = get(\n\t\taction,\n\t\t'payload.data.GlideConditionBuilder_Query.dotwalkTableConfig',\n\t\t{\n\t\t\tshowExtendedFields: false,\n\t\t\tshowQuestions: false,\n\t\t\tshowVariables: false,\n\t\t}\n\t);\n\n\tconst fieldInclusionList = get(\n\t\tcoeffects,\n\t\t'properties.fieldInclusionList',\n\t\t[]\n\t);\n\n\tconst fieldExclusionList = get(\n\t\tcoeffects,\n\t\t'properties.fieldExclusionList',\n\t\t[]\n\t);\n\n\tconst inclusionSet = new Set(fieldInclusionList);\n\tconst exclusionSet = new Set(fieldExclusionList);\n\n\tconst ignoreVariables =\n\t\t(inclusionSet.size > 0 && !inclusionSet.has(variablesKey)) ||\n\t\texclusionSet.has(variablesKey);\n\tconst ignoreQuestions =\n\t\t(inclusionSet.size > 0 && !inclusionSet.has(questionsKey)) ||\n\t\texclusionSet.has(questionsKey);\n\n\tif (ignoreVariables) dotWalkTableConfigData.showVariables = false;\n\n\tif (ignoreQuestions) dotWalkTableConfigData.showQuestions = false;\n\n\treturn dotWalkTableConfigData;\n};\n\nconst pathMetadataFetchSuccessHandler = (coeffects) => {\n\tconst { action, updateState } = coeffects;\n\tconst {\n\t\taction: {\n\t\t\tmeta: {\n\t\t\t\toptions: {\n\t\t\t\t\tvariables: { searchForVariables },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\tconst tableDataPath = searchForVariables\n\t\t? 'payload.data.GlideConditionBuilder_Query.dotwalkTableData'\n\t\t: 'payload.data.GlideConditionBuilder_Query.dotwalkData.tableData';\n\tlet dotWalkTableDataArr = get(action, tableDataPath);\n\tif (!Array.isArray(dotWalkTableDataArr)) {\n\t\tdotWalkTableDataArr = [dotWalkTableDataArr];\n\t}\n\n\tconst variableDataPath = searchForVariables\n\t\t? 'payload.data.GlideVariables_Query.getVariableSearchResult'\n\t\t: 'payload.data.GlideConditionBuilder_Query.dotwalkData.variableData';\n\tconst dotWalkVariables = get(action, variableDataPath);\n\n\tconst dotWalkModeDataPath = searchForVariables\n\t\t? 'payload.data.GlideConditionBuilder_Query.dotwalkPathData.dotwalkMode'\n\t\t: 'payload.data.GlideConditionBuilder_Query.dotwalkData.pathData.dotwalkMode';\n\tconst dotWalkMode = get(action, dotWalkModeDataPath);\n\n\tconst dotWalkTableConfigData = getDotWalkConfigData(coeffects, action);\n\n\tconst dotWalkDataPath = searchForVariables\n\t\t? 'payload.data.GlideConditionBuilder_Query.dotwalkPathData.path'\n\t\t: 'payload.data.GlideConditionBuilder_Query.dotwalkData.pathData.path';\n\tconst dotWalkPath = get(action, dotWalkDataPath, []).map((path) => {\n\t\treturn { ...path, parent: path.table };\n\t});\n\n\tif (!dotWalkTableDataArr) return;\n\n\tdotWalkTableDataArr.forEach((tableData) => {\n\t\tconst tableName = get(tableData, 'tableName');\n\t\tconst dotWalkFieldData = get(tableData, 'dotwalkFieldData');\n\t\tif (!tableName || !dotWalkFieldData) return;\n\t\tupdateMetadataState(coeffects)(tableName, dotWalkFieldData);\n\t});\n\n\tif (dotWalkVariables) {\n\t\tupdateVariableSearchMetadataState(coeffects)({\n\t\t\tdata: dotWalkVariables,\n\t\t\tsearchTerm: '',\n\t\t});\n\t}\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'contentType',\n\t\t\tvalue: getContentType(dotWalkMode),\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'dotWalkModel.path',\n\t\t\tvalue: dotWalkPath,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'dotWalkModel.config',\n\t\t\tvalue: dotWalkTableConfigData,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n// TODO: deprecate\nconst variableMetadataSuccessHandler = (coeffects) => {\n\tconst { action } = coeffects;\n\n\tconst dotwalkVariableData = get(\n\t\taction,\n\t\t'payload.data.GlideConditionBuilder_Query.dotwalkVariableData'\n\t);\n\n\tif (!dotwalkVariableData) return;\n\n\tupdateVariableMetadataState(coeffects)(dotwalkVariableData);\n};\n\nconst variableSearchMetadataSuccessHandler = (coeffects) => {\n\tconst {\n\t\taction,\n\t\taction: {\n\t\t\tmeta: { searchTerm = '' },\n\t\t},\n\t} = coeffects;\n\n\tconst dotwalkVariableSearchData = get(\n\t\taction,\n\t\t'payload.data.GlideVariables_Query.getVariableSearchResult'\n\t);\n\n\tif (!dotwalkVariableSearchData) return;\n\n\tupdateVariableSearchMetadataState(coeffects)({\n\t\tdata: dotwalkVariableSearchData,\n\t\tsearchTerm,\n\t});\n};\n\nconst extendedFieldsMetadataSuccessHandler = (coeffects) => {\n\tconst { action } = coeffects;\n\n\tconst dotWalkExtendedFieldsData = get(\n\t\taction,\n\t\t'payload.data.GlideConditionBuilder_Query.dotwalkExtendedFieldsData'\n\t);\n\n\tif (!dotWalkExtendedFieldsData) return;\n\n\tupdateExtendedFieldsMetadataState(coeffects)(dotWalkExtendedFieldsData);\n};\n\nconst dotWalkTableConfigSuccessHandler = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tstate: {\n\t\t\tproperties: { tableName },\n\t\t},\n\t} = coeffects;\n\tconst dotWalkTableConfigData = getDotWalkConfigData(coeffects, action);\n\n\tupdateDotWalkConfigState(coeffects)(tableName, dotWalkTableConfigData);\n};\n\nconst actionHandlers = {\n\t[METADATA_PATH_FETCH_FAILED]: fetchErrorHandler,\n\t[METADATA_PATH_FETCH_SUCCEEDED]: pathMetadataFetchSuccessHandler,\n\t[METADATA_PATH_FETCHED]: dotWalkPathFetchEffect,\n\t[METADATA_TABLE_FETCH_FAILED]: fetchErrorHandler,\n\t[METADATA_TABLE_FETCH_SUCCEEDED]: tableMetadataFetchSuccessHandler,\n\t[METADATA_TABLE_FETCHED]: dotWalkTableFetchEffect,\n\n\t// TODO: deprecate\n\t[METADATA_VARIABLES_FETCHED]: dotWalkVariableFetchEffect,\n\t[METADATA_VARIABLES_FETCH_FAILED]: fetchErrorHandler,\n\t[METADATA_VARIABLES_FETCH_SUCCEEDED]: variableMetadataSuccessHandler,\n\t// end deprecate\n\n\t[METADATA_VARIABLES_SEARCH_FETCHED]: dotWalkVariableSearchFetchEffect,\n\t[METADATA_VARIABLES_SEARCH_FETCH_FAILED]: fetchErrorHandler,\n\t[METADATA_VARIABLES_SEARCH_FETCH_SUCCEEDED]: variableSearchMetadataSuccessHandler,\n\n\t[METADATA_EXTENDED_FIELDS_FETCH_FAILED]: fetchErrorHandler,\n\t[METADATA_EXTENDED_FIELDS_FETCH_SUCCEEDED]: extendedFieldsMetadataSuccessHandler,\n\t[METADATA_EXTENDED_FIELDS_FETCHED]: dotWalkExtendedFieldsFetchEffect,\n\t[DOT_WALK_TABLE_CONFIG_FETCHED]: dotWalkTableConfigFetchEffect,\n\t[DOT_WALK_TABLE_CONFIG_FETCH_SUCCEEDED]: dotWalkTableConfigSuccessHandler,\n\t[DOT_WALK_TABLE_CONFIG_FETCH_FAILED]: fetchErrorHandler,\n};\n\nexport {\n\tactionHandlers as default,\n\tfetchErrorHandler,\n\tfetchErrorMessage,\n\ttableMetadataFetchSuccessHandler,\n\tpathMetadataFetchSuccessHandler,\n};\n","import actionHandlers from './actionHandlers';\n\nconst metadataBehavior = {\n\tname: 'dotWalkMetadataBehavior',\n\tactionHandlers,\n};\n\nexport default metadataBehavior;\n","/* eslint-disable no-console */\nimport isFunction from 'lodash/isFunction';\nimport isObject from 'lodash/isObject';\nimport { t } from 'sn-translate';\n\nconst TRANSFORM_ERROR_MESSAGE = t(\n\t'Invalid transformMetadata function provided to NowDotWalkConnected. Expected an object return value.'\n);\n\nconst INVALID_TRANSFORM_MESSAGE = t(\n\t'Expected transformMetadata to be a function'\n);\n\nconst getTransformedMetadata = (metadata, transformMetadata) => {\n\tif (!metadata) return {};\n\tif (!isFunction(transformMetadata)) {\n\t\tconsole.error(INVALID_TRANSFORM_MESSAGE);\n\t\treturn metadata;\n\t}\n\n\tconst metadataWithTransform = transformMetadata(metadata);\n\tif (!isObject(metadataWithTransform)) {\n\t\tconsole.error(TRANSFORM_ERROR_MESSAGE);\n\t\treturn metadata;\n\t}\n\n\treturn metadataWithTransform;\n};\n\nexport default getTransformedMetadata;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { dotWalkBehavior, metadataBehavior } from '../behaviors';\nimport { NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED } from '../behaviors/dotWalk';\n\nimport { CONNECTED_PATH_UPDATED } from './actions';\nimport baseStyle from './now-dot-walk.scss';\nimport NowDotWalk from './NowDotWalkConnected.view';\nimport {\n\tcomponentBootstrappedHandler,\n\tcomponentErrorHandler,\n\tcomponentPropertyChangedHandler,\n} from './state';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\n/**\n * @enum {dotWalkEnabledFieldTypeOptions}\n */\nexport const dotWalkEnabledFieldTypeOptions = {\n\tREFERENCE: 'reference',\n\tGLIDE_LIST: 'glide_list',\n};\n\n/**\n * Now Dot Walk Connected is a table-based wrapper component for Now Dot Walk.\n *\n * ```\n *  <now-dot-walk-connected\n *     dot-walk-path={path}\n *     table-name={table}\n *  />\n * ```\n *\n * @seismicElement now-dot-walk-connected\n * @summary A table-based wrapper component for Now Dot Walk.\n */\nconst nowDotWalkConnectedElement = createCustomElement(\n\t'sn-dot-walk-connected-v1',\n\t{\n\t\tdispatches: {\n\t\t\t/**\n\t\t\t * Dispatched when the dot walk path is updated\n\t\t\t *\n\t\t\t * @type {{path: string}}\n\t\t\t */\n\t\t\t[CONNECTED_PATH_UPDATED]: {},\n\t\t},\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * The field types that can be dot walked. `dotWalkEnabledFieldTypeOptions` can be imported from now-dot-walk-connected.\n\t\t\t * Required: No\n\t\t\t *\n\t\t\t * @type {dotWalkEnabledFieldTypeOptions[]}\n\t\t\t */\n\t\t\tdotWalkEnabledFieldTypes: {\n\t\t\t\tdefault: [dotWalkEnabledFieldTypeOptions.REFERENCE],\n\t\t\t\tschema: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t},\n\t\t\t},\n\t\t\t/**\n\t\t\t * Initial path value.\n\t\t\t * Required: No\n\t\t\t *\n\t\t\t * @type {string}\n\t\t\t */\n\t\t\tdotWalkPath: {\n\t\t\t\tdefault: '',\n\t\t\t\tschema: { type: 'string' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * The table used to fetch metadata.\n\t\t\t * Required: Yes\n\t\t\t *\n\t\t\t * @type {string}\n\t\t\t */\n\t\t\ttableName: {\n\t\t\t\tdefault: '',\n\t\t\t\tschema: { type: 'string' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * List of fields to limit dotwalk to\n\t\t\t *\n\t\t\t * @type {string[]}\n\t\t\t */\n\t\t\tfieldInclusionList: {\n\t\t\t\tdefault: [],\n\t\t\t\tschema: { type: 'array' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * List of fields to filter from the dotwalk\n\t\t\t *\n\t\t\t * @type {string[]}\n\t\t\t */\n\t\t\tfieldExclusionList: {\n\t\t\t\tdefault: [],\n\t\t\t\tschema: { type: 'array' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * Flag to enable showing all columns for the given table\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tincludeAllColumns: {\n\t\t\t\tdefault: false,\n\t\t\t\tschema: { type: 'boolean' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * Flag to enable the inclusion of template metadata attributes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tincludeTemplateMetadata: {\n\t\t\t\tdefault: false,\n\t\t\t\tschema: { type: 'boolean' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * Function to transform the metadata model\n\t\t\t * Required: No\n\t\t\t * @type {function (metadata)}\n\t\t\t */\n\t\t\ttransformMetadata: {\n\t\t\t\tdefault: (metadata) => metadata,\n\t\t\t},\n\t\t\t/**\n\t\t\t * Set to true if you want to disable dot walking\n\t\t\t * Required: No\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t\t\t/**\n\t\t\t * Flag to enable fetching of additional field metadata\n\t\t\t * Required: No\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tincludeFieldMetadata: {\n\t\t\t\tdefault: false,\n\t\t\t\tschema: { type: 'boolean' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * Boolean option to allow journal fields to show up in dotwalk\n\t\t\t * Required: No\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tincludeOnlyFilterableFields: {\n\t\t\t\tdefault: true,\n\t\t\t\tschema: { type: 'boolean' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * Specifies direction of layout\n\t\t\t * rtl = right to left\n\t\t\t * ltr = left to right\n\t\t\t * Required: No\n\t\t\t * @type {string}\n\t\t\t */\n\t\t\tdir: {\n\t\t\t\tdefault: 'ltr',\n\t\t\t\tschema: { type: 'string' },\n\t\t\t},\n\t\t\t/**\n\t\t\t * ---- HANDLED IN METADATA BEHAVIOR ----\n\t\t\t * Metadata used to render dot walk panels\n\t\t\t * Required: No\n\t\t\t * @type {object}\n\t\t\t * interface {\n\t\t\t *   [tableKey: string]: {\n\t\t\t *     [fieldKey: string]: {\n\t\t\t *       displayValue: string;\n\t\t\t *       isReference: boolean;\n\t\t\t *       referenceDataKey: string;\n\t\t\t *     }\n\t\t\t *   }\n\t\t\t * }\n\t\t\t * metadata: {\n\t\t\t *   default: {},\n\t\t\t *   schema: { type: 'object' },\n\t\t\t * },\n\t\t\t */\n\t\t},\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedHandler,\n\t\t\t[COMPONENT_ERROR_THROWN]: componentErrorHandler,\n\t\t\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedHandler,\n\t\t\t[NOW_DOT_WALK_BEHAVIOR_PATH_UPDATED]: {\n\t\t\t\teffect: ({ action: { payload }, dispatch }) => {\n\t\t\t\t\tif (payload.combinedPath !== 'variables.') {\n\t\t\t\t\t\tdispatch(CONNECTED_PATH_UPDATED, payload);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true,\n\t\t\t},\n\t\t},\n\t\tbehaviors: [dotWalkBehavior, metadataBehavior, rtlBehavior],\n\t\tinitialState: {\n\t\t\tdotWalkModel: {\n\t\t\t\tpath: [],\n\t\t\t\tmetadata: {},\n\t\t\t},\n\t\t},\n\t\trenderer: { type: snabbdom },\n\t\tview: NowDotWalk,\n\t\tstyles: [baseStyle],\n\t}\n);\n\nexport default nowDotWalkConnectedElement;\n","import isEmpty from 'lodash/isEmpty';\n\nimport '../../now-dot-walk';\nimport getTransformedMetadata from './getTransformedMetadata';\n\nexport default (state) => {\n\tconst {\n\t\tdotWalkModel,\n\t\terror,\n\t\tproperties: { dir, transformMetadata, tableName, hideDotWalking },\n\t\tmetadata,\n\t\tcontentType,\n\t} = state;\n\n\tconst { path, leafPathSource, config } = dotWalkModel;\n\tconst metadataWithTransform = getTransformedMetadata(\n\t\tmetadata,\n\t\ttransformMetadata\n\t);\n\n\tconst leafPathSourceWithDefaults = isEmpty(path)\n\t\t? tableName\n\t\t: leafPathSource || '';\n\n\treturn (\n\t\t<now-dot-walk\n\t\t\tdotWalkPath={path}\n\t\t\tmetadata={metadataWithTransform}\n\t\t\tleafPathSource={leafPathSourceWithDefaults}\n\t\t\terror={error}\n\t\t\tdir={dir}\n\t\t\ttableName={tableName}\n\t\t\tcontentType={contentType}\n\t\t\tdotWalkConfig={config}\n\t\t\thideDotWalking={hideDotWalking}\n\t\t\tcomponentVersion={1}\n\t\t/>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { dotWalkEnabledFieldTypeOptions } from '../v1/now-dot-walk-connected';\n\nimport view from './view';\n\ncreateCustomElement('now-dot-walk-connected', {\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * The field types that can be dot walked. `dotWalkEnabledFieldTypeOptions` can be imported from now-dot-walk-connected.\n\t\t * Required: No\n\t\t *\n\t\t * @type {dotWalkEnabledFieldTypeOptions[]}\n\t\t */\n\t\tdotWalkEnabledFieldTypes: {\n\t\t\tdefault: [dotWalkEnabledFieldTypeOptions.REFERENCE],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Initial path value.\n\t\t * Required: No\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdotWalkPath: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * The table used to fetch metadata.\n\t\t * Required: Yes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * List of fields to limit dotwalk to\n\t\t *\n\t\t * @type {string[]}\n\t\t */\n\t\tfieldInclusionList: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * List of fields to filter from the dotwalk\n\t\t *\n\t\t * @type {string[]}\n\t\t */\n\t\tfieldExclusionList: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\t/**\n\t\t * Flag to enable showing all columns for the given table\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeAllColumns: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Flag to enable the inclusion of template metadata attributes\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeTemplateMetadata: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Function to transform the metadata model\n\t\t * Required: No\n\t\t * @type {function (metadata)}\n\t\t */\n\t\ttransformMetadata: {\n\t\t\tdefault: (metadata) => metadata,\n\t\t},\n\t\t/**\n\t\t * Set to true if you want to disable dot walking\n\t\t * Required: No\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotWalking: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Flag to enable fetching of additional field metadata\n\t\t * Required: No\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeFieldMetadata: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Boolean option to allow journal fields to show up in dotwalk\n\t\t * Required: No\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeOnlyFilterableFields: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Specifies direction of layout\n\t\t * rtl = right to left\n\t\t * ltr = left to right\n\t\t * Required: No\n\t\t * @type {string}\n\t\t */\n\t\tdir: {\n\t\t\tdefault: 'ltr',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tcomponentVersion: {\n\t\t\tdefault: 1,\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t},\n});\n","export default (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcomponentVersion,\n\t\t\tdotWalkEnabledFieldTypes,\n\t\t\tdotWalkPath,\n\t\t\ttableName,\n\t\t\tfieldInclusionList,\n\t\t\tfieldExclusionList,\n\t\t\tincludeAllColumns,\n\t\t\tincludeTemplateMetadata,\n\t\t\ttransformMetadata,\n\t\t\thideDotWalking,\n\t\t\tincludeFieldMetadata,\n\t\t\tincludeOnlyFilterableFields,\n\t\t\tdir,\n\t\t},\n\t} = state;\n\n\tif (componentVersion === 1) {\n\t\timport('../v1/now-dot-walk-connected');\n\t\treturn (\n\t\t\t<sn-dot-walk-connected-v1\n\t\t\t\tdotWalkEnabledFieldTypes={dotWalkEnabledFieldTypes}\n\t\t\t\tdotWalkPath={dotWalkPath}\n\t\t\t\ttableName={tableName}\n\t\t\t\tfieldInclusionList={fieldInclusionList}\n\t\t\t\tfieldExclusionList={fieldExclusionList}\n\t\t\t\tincludeAllColumns={includeAllColumns}\n\t\t\t\tincludeTemplateMetadata={includeTemplateMetadata}\n\t\t\t\ttransformMetadata={transformMetadata}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\tincludeFieldMetadata={includeFieldMetadata}\n\t\t\t\tincludeOnlyFilterableFields={includeOnlyFilterableFields}\n\t\t\t\tdir={dir}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (componentVersion === 2) {\n\t\timport('../v2/sn-dot-walk-connected');\n\t\treturn (\n\t\t\t<sn-dot-walk-connected-v2\n\t\t\t\tdir={dir}\n\t\t\t\tdotWalkPath={dotWalkPath}\n\t\t\t\tfieldExclusionList={fieldExclusionList}\n\t\t\t\tfieldInclusionList={fieldInclusionList}\n\t\t\t\thideDotWalking={hideDotWalking}\n\t\t\t\ttableName={tableName}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n};\n","export const SN_DOT_WALK_SEARCH_INPUTTED = 'SN_DOT_WALK#SEARCH_INPUTTED';\nexport const NOW_DOT_WALK_SEARCH_TERM_CHANGED =\n\t'NOW_DOT_WALK#SEARCH_TERM_CHANGED';\nexport const NOW_DOT_WALK_LOAD_MORE_REQUESTED =\n\t'NOW_DOT_WALK#LOAD_MORE_REQUESTED';\n\nexport const SN_DOT_WALK_BREADCRUMBS_CLICKED =\n\t'SN_DOT_WALK#BREADCRUMBS_CLICKED';\nexport const SN_DOT_WALK_PATH_UPDATED = 'SN_DOT_WALK#PATH_UPDATED';\n\nexport const NOW_DOT_WALK_PATH_UPDATED = 'NOW_DOT_WALK#PATH_UPDATED';\nexport const SN_DOT_WALK_ITEM_CLICKED = 'SN_DOT_WALK#ITEM_CLICKED';\nexport const SN_DOT_WALK_SEARCH_KEY_PRESSED = 'SN_DOT_WALK_SEARCH#KEY_PRESSED';\nexport const NOW_DOT_WALK_FETCH_PANEL_DEFINITIONS =\n\t'NOW_DOT_WALK#FETCH_PANEL_DEFINITIONS';\nexport const SN_DOT_WALK_PANEL_ITEM_ARROW_UP_DOWN_PRESSED =\n\t'SN_DOT_WALK_PANEL_ITEM#ARROW_UP_DOWN_PRESSED';\n\nexport const SN_DOT_WALK_PANEL_LOAD_MORE_CLICKED =\n\t'SN_DOT_WALK_PANEL#LOAD_MORE_CLICKED';\n","export const PANEL_ITEM_TYPES = {\n\titem: 'ITEM',\n\tdotWalkable: 'DOTWALKABLE',\n\theading: 'HEADING',\n};\n\nexport const VARIABLES_PATH = 'variables'; // internalValue\nexport const VARIABLES_REFERENCE_SOURCE = 'variable~question';\n\n// These values are defined in the GlideVariables_Query api\nexport const VARIABLES_SEARCH_OPERATOR_TYPES = {\n\tENDSWITH: 'ENDSWITH',\n\tLIKE: 'LIKE',\n\tSTARTSWITH: 'STARTSWITH',\n};\n\nexport const UPDATE_OPERATIONS = {\n\tMERGE: 'MERGE',\n\tSET: 'SET',\n};\n\nexport const DYNAMIC_QUERY_PREFIXES = {\n\tDATA_STORE_PREFIX: '__dynamic_data_store__',\n\tCATEGORY_PREFIX: '__dynamic_category__',\n\tUNKNOWN_CATEGORY_PREFIX: '__dynamic_category_unknown__',\n};\n","import {\n\tVARIABLES_PATH,\n\tVARIABLES_REFERENCE_SOURCE,\n} from '../common/constants';\n\n/**\n * Utility function to determine is a dotwalk path is a variable path\n * @param {(string|array)} path\n * @returns {boolean}\n */\nexport const isVariablePath = (path) => {\n\t// dotwalk path string\n\tif (typeof path === 'string') {\n\t\treturn (\n\t\t\tpath === VARIABLES_PATH || path?.startsWith(`${VARIABLES_PATH}.`)\n\t\t);\n\t}\n\t// dotwalk path array\n\telse if (Array.isArray(path)) {\n\t\treturn path.some((item) => isVariableSource(item.reference));\n\t}\n\n\treturn false;\n};\n\n/**\n * Utility function to determine if a source is a variable source (variables~question)\n * @param {string} string\n * @returns {boolean}\n */\nexport const isVariableSource = (source) =>\n\tsource === VARIABLES_REFERENCE_SOURCE;\n","export const SN_DOT_WALK_CONNECTED_BEHAVIOR_PATH_UPDATED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#PATH_UPDATED';\n","export const SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_REQUESTED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#FETCH_DATA_REQUESTED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#FETCH_DATA_SUCCESS';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_FAILURE =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#FETCH_DATA_FAILURE';\n","import get from 'lodash/get';\n\nimport { UPDATE_OPERATIONS } from '../../common/constants';\n\nexport const getPanelDefinitions = (payload) => {\n\tconst data = get(\n\t\tpayload,\n\t\t'data.GlidePredicateBuilder_Query.getPanelData.panelData.panelDefinitions',\n\t\t[]\n\t);\n\n\tif (!Array.isArray(data)) {\n\t\treturn {};\n\t}\n\n\treturn data.reduce((accumulator, panelDefinition) => {\n\t\tconst {source, items, searchResults } = panelDefinition;\n\n\t\taccumulator[source] = searchResults\n\t\t\t? getLoadMorePanelDefinition(panelDefinition)\n\t\t\t: { items };\n\t\treturn accumulator;\n\t}, {});\n};\n\nexport const getLoadMorePanelDefinition = (panelDefinition) => {\n\tconst { items, searchResults, source } = panelDefinition;\n\n\tif (!searchResults) {\n\t\treturn { source, items };\n\t}\n\n\tconst { loadMoreRequestParams, allItemsLoaded, searchTerm } = searchResults;\n\n\t// graphQL returns loadMoreRequestParams as a name value pair\n\tconst newLoadMoreRequestParams = {\n\t\tsource,\n\t};\n\n\tloadMoreRequestParams.forEach(({ name, value }) => {\n\t\tnewLoadMoreRequestParams[name] = value;\n\t});\n\n\treturn {\n\t\tallItemsLoaded: allItemsLoaded,\n\t\titems,\n\t\tloadMore: true,\n\t\tloadMoreRequestParams: newLoadMoreRequestParams,\n\t\tsearchTerm,\n\t\tupdateOperation: UPDATE_OPERATIONS.MERGE,\n\t};\n};\n\nexport const getTableMetadata = (payload) => {\n\tconst data = get(\n\t\tpayload,\n\t\t'data.GlidePredicateBuilder_Query.getTableMetadata.tableMetadata',\n\t\t[]\n\t);\n\n\tif (!Array.isArray(data)) {\n\t\treturn {};\n\t}\n\n\treturn data.reduce((accumulator, { name, fieldMetadata }) => {\n\t\tconst tableItem = {};\n\n\t\tfieldMetadata.forEach((field) => {\n\t\t\ttableItem[field.name] = field;\n\t\t});\n\n\t\taccumulator[name] = tableItem;\n\t\treturn accumulator;\n\t}, {});\n};\n\nexport const getDotwalkPath = (payload) => {\n\treturn get(\n\t\tpayload,\n\t\t'data.GlidePredicateBuilder_Query.getPanelData.panelData.dotwalkPath',\n\t\t[]\n\t);\n};\n\nexport const getCombinedPathDisplay = (updatedPath = []) => {\n\tconst DOT_WALK_PATH_SEPARATOR = ' > ';\n\n\treturn updatedPath\n\t\t.filter((pathItem) => pathItem.displayValue)\n\t\t.map((pathItem) => pathItem.displayValue)\n\t\t.join(DOT_WALK_PATH_SEPARATOR);\n};\n","export const panelDataFragment = `\n    fragment panelDataFragment on GlidePredicateBuilder_DotwalkPanelDataWithInfoMessagesType { \n    \tpanelData {\n\t\t\tdotwalkPath {\n\t\t\t\tinternalValue\n\t\t\t\tdisplayValue\n\t\t\t\tsource\n\t\t\t\treference\n\t\t\t\tprecedingSeparatorTerm\n\t\t\t}\n\t\t\tpanelDefinitions {\n\t\t\t\tsource\n\t\t\t\tsearchResults {\n\t\t\t\t\tsource\n\t\t\t\t\tfirstRow\n\t\t\t\t\tlastRow\n\t\t\t\t\tallItemsLoaded\n\t\t\t\t\tsearchTerm\n\t\t\t\t\tloadMoreRequestParams {\n\t\t\t\t\t\tname\n\t\t\t\t\t\tvalue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\titems {\n\t\t    \t\titemType\n\t\t\t\t\tinternalValue\n\t\t\t\t\tdisplayValue\n\t\t\t\t\treference\n\t\t\t\t\tselectable\n\t\t\t\t\tinitialPanelOnly\n\t\t\t\t\tprecedingSeparatorTerm\n\t\t\t\t\texcludeFromPath\n\t\t\t\t\tmetadata {\n\t\t\t\t\t\tname\n\t\t\t\t\t\tvalue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}   \n        infoMessages {\n            status\n            header\n            content\n        }\n    }\n`;\n\nexport const tableMetadataFragment = `\n    fragment tableMetadataFragment on GlidePredicateBuilder_TableMetadataWithInfoMessagesType { \n        tableMetadata {\n            name\n            label\n            fieldMetadata {\n                name\n                label\n                type\n                referenceTable\n                referenceTableDefaultField\n                referenceKey\n            }\n        }\n        infoMessages {\n            status\n            header\n            content\n        }\n    }\n`;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tpanelDataFragment,\n\ttableMetadataFragment,\n} from './fetchDataEffectFragment';\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_FAILURE,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS,\n} from '../actionTypes';\n\nconst dotWalkConnectedDataQuery = `\n    query ($tableName: String!, $path: String, $includeOnlyFilterableFields: Boolean, $fieldInclusionList: [String], $fieldExclusionList: [String], $disableDotwalking: Boolean, $includeTableMetadata: Boolean!) {\n        GlidePredicateBuilder_Query  @include(if: $includeTableMetadata) {\n\t\t    getTableMetadata(tableName: $tableName, path: \"\", includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList) {\n                ...tableMetadataFragment\n            }\n\t\t\n            getPanelData(tableName: $tableName, path: $path, includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, disableDotwalking: $disableDotwalking) {\n                ...panelDataFragment\n            }\n        }\n\n\t\tGlidePredicateBuilder_Query  @skip(if: $includeTableMetadata) {\n\t\t\tgetPanelData(tableName: $tableName, path: $path, includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, disableDotwalking: $disableDotwalking) {\n\t\t\t\t...panelDataFragment\n\t\t\t}\n\t\t}\n    }\n\t${panelDataFragment}\n\t${tableMetadataFragment}\n`;\n\nexport const fetchDataEffect = createGraphQLEffect(dotWalkConnectedDataQuery, {\n\terrorActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_FAILURE,\n\tsuccessActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS,\n\tvariableList: [\n\t\t'disableDotwalking',\n\t\t'fieldInclusionList',\n\t\t'fieldExclusionList',\n\t\t'includeOnlyFilterableFields',\n\t\t'includeTableMetadata',\n\t\t'path',\n\t\t'tableName',\n\t],\n});\n","import get from 'lodash/get';\nimport last from 'lodash/last';\n\nimport { SN_DOT_WALK_CONNECTED_BEHAVIOR_PATH_UPDATED } from '../actionTypes';\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_REQUESTED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS,\n} from './actionTypes';\nimport {\n\tgetCombinedPathDisplay,\n\tgetDotwalkPath,\n\tgetPanelDefinitions,\n\tgetTableMetadata,\n} from '../utils';\nimport { fetchDataEffect } from './fetchingEffects/fetchDataEffect';\n\n/**\n * Get DW connected data like panel definitions and table metadata\n * @param {*} dispatch\n * @param {object} queryVariables\n */\nconst fetchNowDotwalkConnectedData = (dispatch, queryVariables) => {\n\tdispatch(\n\t\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_REQUESTED,\n\t\tqueryVariables\n\t);\n};\n\n/**\n * Default succsss handler when fetching DW connected data.\n * @param {*} coeffects\n */\nconst handleFetchDataSuccess = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst dotWalkConnectedDataBehavior = get(\n\t\tstate,\n\t\t'behaviors.dotWalkConnectedDataBehavior',\n\t\t{}\n\t);\n\n\tconst { panelDefinitions, tableMetadata } = dotWalkConnectedDataBehavior;\n\n\tconst fetchedPanelDefinitions = getPanelDefinitions(payload);\n\tconst fetchedTableMetadata = getTableMetadata(payload);\n\n\tlet dotWalkPath = getDotwalkPath(payload);\n\n\tconst newState = {\n\t\t...dotWalkConnectedDataBehavior,\n\t\tpanelDefinitions: {\n\t\t\t// we probably don't need this because we're already merging it into now-dot-walk state\n\t\t\t...panelDefinitions,\n\t\t\t...fetchedPanelDefinitions,\n\t\t},\n\t\ttableMetadata: {\n\t\t\t...tableMetadata,\n\t\t\t...fetchedTableMetadata,\n\t\t},\n\t};\n\n\t// have to check since now dot walk may only be fetching for new panel definitions\n\tif (dotWalkPath) {\n\t\tnewState.dotWalkPath = dotWalkPath;\n\t}\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'behaviors.dotWalkConnectedDataBehavior',\n\t\tvalue: newState,\n\t});\n};\n\nexport const handleBootstrapWithTableFields = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { options },\n\t\t},\n\t\tdispatch,\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tdotWalkPath: path,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tfieldInclusionList,\n\t\t\t\thideDotWalking,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\ttableName,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tconst includeTableMetadata = get(options, 'includeTableMetadata', false);\n\n\tconst queryVariables = {\n\t\tdisableDotwalking: hideDotWalking,\n\t\tincludeOnlyFilterableFields,\n\t\tincludeTableMetadata,\n\t\tfieldExclusionList,\n\t\tfieldInclusionList,\n\t\tpath,\n\t\ttableName,\n\t};\n\n\tfetchNowDotwalkConnectedData(dispatch, queryVariables);\n};\n\nexport const handleFetchPanelDefinitionsWithTableFields = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { options, path, source },\n\t\t},\n\t\tproperties: {\n\t\t\tfieldExclusionList,\n\t\t\tfieldInclusionList,\n\t\t\thideDotWalking,\n\t\t\tincludeOnlyFilterableFields,\n\t\t},\n\t} = coeffects;\n\n\tconst includeTableMetadata = get(options, 'includeTableMetadata', false);\n\n\tconst queryVariables = {\n\t\tdisableDotwalking: hideDotWalking,\n\t\tfieldExclusionList,\n\t\tfieldInclusionList,\n\t\tincludeOnlyFilterableFields,\n\t\tincludeTableMetadata,\n\t\tpath: path || '',\n\t\ttableName: source,\n\t};\n\tfetchNowDotwalkConnectedData(dispatch, queryVariables);\n};\n\nexport const handleDotwalkPathUpdatedWithTableFields = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { combinedPath, path },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(SN_DOT_WALK_CONNECTED_BEHAVIOR_PATH_UPDATED, {\n\t\tcombinedPath,\n\t\tcombinedPathDisplay: getCombinedPathDisplay(path),\n\t\tpath,\n\t\tselectedFieldData: last(path),\n\t});\n};\n\nexport const tableFieldActions = {\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_REQUESTED]: {\n\t\t...fetchDataEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_SUCCESS]: {\n\t\teffect: handleFetchDataSuccess,\n\t\tstopPropagation: true,\n\t},\n};\n","export const SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_REQUESTED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#DYNAMIC_CATEGORIES_FETCH_REQUESTED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_FAILED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#DYNAMIC_CATEGORIES_FETCH_FAILED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_SUCCEEDED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#DYNAMIC_CATEGORIES_FETCH_SUCEEDED';\n\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_REQUESTED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#DYNAMIC_ATTRIBUTES_FETCH_REQUESTED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_FAILED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#DYNAMIC_ATTRIBUTES_FETCH_FAILED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_SUCCEEDED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#DYNAMIC_ATTRIBUTES_FETCH_SUCEEDED';\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_FAILED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_SUCCEEDED,\n} from '../actionTypes';\nimport { panelDataFragment } from '../../tableFieldActions/fetchingEffects/fetchDataEffectFragment';\n\nconst dynamicAttributesQuery = `\nquery (\n\t$categoryNamespacedName: String\n\t$namespaceName: String\n\t$searchTerm: String\n\t$firstRow: Int\n\t$lastRow: Int\n) {\n\tGlidePredicateBuilder_Query {\n\t\tgetDynamicAttributesPanelData(\n\t\t\tcategoryNamespacedName: $categoryNamespacedName\n\t\t\tnamespaceName: $namespaceName\n\t\t\tsearchTerm: $searchTerm\n\t\t\tfirstRow: $firstRow\n\t\t\tlastRow: $lastRow\n\t\t) {\n\t\t\t...panelDataFragment\n\t\t}\n\t}\n}\n${panelDataFragment}\n`;\n\nexport const fetchDynamicAttributesSearch = createGraphQLEffect(\n\tdynamicAttributesQuery,\n\t{\n\t\terrorActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_FAILED,\n\t\tsuccessActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_SUCCEEDED,\n\t\tvariableList: [\n\t\t\t'categoryNamespacedName',\n\t\t\t'namespaceName',\n\t\t\t'searchTerm',\n\t\t\t'firstRow',\n\t\t\t'lastRow',\n\t\t],\n\t}\n);\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_FAILED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_SUCCEEDED,\n} from '../actionTypes';\nimport { panelDataFragment } from '../../tableFieldActions/fetchingEffects/fetchDataEffectFragment';\n\nconst dynamicCategoriesQuery = `\nquery (\n\t$tableName: String!\n\t$fieldName: String!\n\t$disableDotwalking: Boolean\n\t$searchTerm: String\n\t$firstRow: Int\n\t$lastRow: Int\n) {\n\tGlidePredicateBuilder_Query {\n\t\tgetDynamicCategoriesPanelData(\n\t\t\ttableName: $tableName\n\t\t\tfieldName: $fieldName\n\t\t\tdisableDotwalking: $disableDotwalking\n\t\t\tsearchTerm: $searchTerm\n\t\t\tfirstRow: $firstRow\n\t\t\tlastRow: $lastRow\n\t\t) {\n\t\t\t...panelDataFragment\n\t\t}\n\t}\n}\n${panelDataFragment}\n`;\n\nexport const fetchDynamicCategoriesSearch = createGraphQLEffect(\n\tdynamicCategoriesQuery,\n\t{\n\t\terrorActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_FAILED,\n\t\tsuccessActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_SUCCEEDED,\n\t\tvariableList: [\n\t\t\t'tableName',\n\t\t\t'fieldName',\n\t\t\t'disableDotwalking',\n\t\t\t'searchTerm',\n\t\t\t'firstRow',\n\t\t\t'lastRow',\n\t\t],\n\t}\n);\n","import get from 'lodash/get';\n\nimport {\n\tDYNAMIC_QUERY_PREFIXES,\n\tUPDATE_OPERATIONS,\n} from '../../../common/constants';\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_REQUESTED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_SUCCEEDED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_REQUESTED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_SUCCEEDED,\n} from './actionTypes';\nimport { fetchDynamicAttributesSearch } from './fetchingEffects/fetchDyamicAttributesEffect';\nimport { fetchDynamicCategoriesSearch } from './fetchingEffects/fetchDynamicCategoriesEffect';\nimport { getLoadMorePanelDefinition } from '../utils';\n\nconst isDynamicCategory = (source) =>\n\tsource.startsWith(DYNAMIC_QUERY_PREFIXES.CATEGORY_PREFIX);\nconst isDynamicDataStore = (source) =>\n\tsource.startsWith(DYNAMIC_QUERY_PREFIXES.DATA_STORE_PREFIX);\nconst isDynamicUnknownCategory = (source) =>\n\tsource.startsWith(DYNAMIC_QUERY_PREFIXES.UNKNOWN_CATEGORY_PREFIX);\n\nexport const isDynamicSchemaSource = (source) =>\n\tisDynamicCategory(source) || isDynamicDataStore(source) || isDynamicUnknownCategory(source);\n\nconst fetchDynamicCategories = (dispatch, queryVariables) => {\n\tdispatch(\n\t\tSN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_REQUESTED,\n\t\t{\n\t\t\t...queryVariables,\n\t\t},\n\t\t{\n\t\t\tdataPath: 'getDynamicCategoriesPanelData',\n\t\t}\n\t);\n};\n\nconst fetchDynamicAttributes = (dispatch, queryVariables) => {\n\tdispatch(\n\t\tSN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_REQUESTED,\n\t\t{\n\t\t\t...queryVariables,\n\t\t},\n\t\t{\n\t\t\tdataPath: 'getDynamicAttributesPanelData',\n\t\t}\n\t);\n};\n\nconst getDynamicSchemaSearchVariables = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { \n\t\t\t\tinitialLoadMoreParams,\n\t\t\t\tsearchTerm, \n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tconst newRequestParams = {\n\t\t...initialLoadMoreParams,\n\t};\n\n\t// Since it hasn't been searched, remove the rows so it defaults to firstRow: 0, lastRow: 100\n\tdelete newRequestParams.firstRow;\n\tdelete newRequestParams.lastRow;\n\n\tnewRequestParams.searchTerm = searchTerm;\n\n\treturn newRequestParams;\n};\n\nconst handleDynamicSchemaFetchSuccess = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload,\n\t\t\tmeta: { dataPath },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst panelDefinition = get(\n\t\tpayload,\n\t\t`data.GlidePredicateBuilder_Query.${dataPath}.panelData.panelDefinitions[0]`,\n\t\t{}\n\t);\n\n\tconst newPanelDefinition = getLoadMorePanelDefinition(panelDefinition);\n\n\tupdateState({\n\t\tpath: `behaviors.dotWalkConnectedDataBehavior.panelDefinitions[${panelDefinition.source}]`,\n\t\tvalue: newPanelDefinition,\n\t\toperation: 'set',\n\t});\n};\n\nexport const handleFetchPanelDefinitionsWithDynamicSchema = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tpanelItem: {\n\t\t\t\t\tinternalValue: fieldName,\n\t\t\t\t\tsource: tableName, // previous panel that we are coming from\n\t\t\t\t},\n\t\t\t\tsource,\n\t\t\t},\n\t\t},\n\t\tproperties: { hideDotWalking },\n\t} = coeffects;\n\n\tif (isDynamicDataStore(source)) {\n\t\tconst queryVariables = {\n\t\t\tdisableDotwalking: hideDotWalking,\n\t\t\tfieldName,\n\t\t\tsearchTerm: '',\n\t\t\ttableName,\n\t\t};\n\n\t\tfetchDynamicCategories(dispatch, queryVariables);\n\t}\n\n\tif (isDynamicCategory(source)) {\n\t\tconst queryVariables = {\n\t\t\tcategoryNamespacedName: source.substring(\n\t\t\t\tDYNAMIC_QUERY_PREFIXES.CATEGORY_PREFIX.length\n\t\t\t),\n\t\t\tnamespaceName: '',\n\t\t\tsearchTerm: '',\n\t\t};\n\n\t\tfetchDynamicAttributes(dispatch, queryVariables);\n\t}\n\n\tif (isDynamicUnknownCategory(source)) {\n\t\tconst queryVariables = {\n\t\t\tcategoryNamespacedName: '',\n\t\t\tnamespaceName: source.substring(\n\t\t\t\tDYNAMIC_QUERY_PREFIXES.UNKNOWN_CATEGORY_PREFIX.length\n\t\t\t),\n\t\t\tsearchTerm: '',\n\t\t};\n\n\t\tfetchDynamicAttributes(dispatch, queryVariables);\n\t}\n};\n\nexport const handleSearchChangeWithDynamicSchema = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { source },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { hideDotWalking },\n\t} = coeffects;\n\n\tconst queryVariables = getDynamicSchemaSearchVariables(coeffects);\n\n\tif (isDynamicDataStore(source)) {\n\t\tqueryVariables.disableDotwalking = hideDotWalking;\n\t\tfetchDynamicCategories(dispatch, queryVariables);\n\t}\n\n\tif (isDynamicCategory(source) || isDynamicUnknownCategory(source)) {\n\t\tfetchDynamicAttributes(dispatch, queryVariables);\n\t}\n};\n\nexport const handleLoadMoreRequestedWithDynamicSchema = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: { source },\n\t\t},\n\t\tproperties: { hideDotWalking },\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (isDynamicDataStore(source)) {\n\t\tconst queryVariables = {\n\t\t\tdisableDotwalking: hideDotWalking,\n\t\t\tfieldName: payload.fieldName,\n\t\t\tfirstRow: payload.firstRow,\n\t\t\tlastRow: payload.lastRow,\n\t\t\tsearchTerm: payload.searchTerm,\n\t\t\ttableName: payload.tableName,\n\t\t};\n\n\t\tfetchDynamicCategories(dispatch, queryVariables);\n\t}\n\n\tif (isDynamicCategory(source)) {\n\t\tconst queryVariables = {\n\t\t\tcategoryNamespacedName: payload.categoryNamespacedName,\n\t\t\tfirstRow: payload.firstRow,\n\t\t\tlastRow: payload.lastRow,\n\t\t\tnamespaceName: '',\n\t\t\tsearchTerm: payload.searchTerm,\n\t\t};\n\n\t\tfetchDynamicAttributes(dispatch, queryVariables);\n\t}\n\n\tif (isDynamicUnknownCategory(source)) {\n\t\tconst queryVariables = {\n\t\t\tcategoryNamespacedName: '',\n\t\t\tfirstRow: payload.firstRow,\n\t\t\tlastRow: payload.lastRow,\n\t\t\tnamespaceName: payload.namespaceName,\n\t\t\tsearchTerm: payload.searchTerm,\n\t\t};\n\n\t\tfetchDynamicAttributes(dispatch, queryVariables);\n\t}\n};\n\nexport const dynamicSchemaActions = {\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_REQUESTED]: {\n\t\t...fetchDynamicCategoriesSearch,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_CATEGORIES_FETCH_SUCCEEDED]: {\n\t\teffect: handleDynamicSchemaFetchSuccess,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_REQUESTED]: {\n\t\t...fetchDynamicAttributesSearch,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_DYNAMIC_ATTRIBUTES_FETCH_SUCCEEDED]: {\n\t\teffect: handleDynamicSchemaFetchSuccess,\n\t\tstopPropagation: true,\n\t},\n};\n","export const SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_REQUESTED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#FETCH_DATA_WITH_VARIABLES_REQUESTED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_SUCCESS =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#FETCH_DATA_WITH_VARIABLES_SUCCESS';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_FAIURE =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR#FETCH_DATA_WITH_VARIABLES_FAILED';\n\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_REQUESTED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES#FETCH_REQUESTED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_FAILED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES#FETCH_FAILED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_STARTED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES#FETCH_STARTED';\nexport const SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED =\n\t'SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES#FETCH_SUCCEEDED';\n","export const variablesSearchFragment = `\n    fragment variablesSearchFragment on GlideVariables_VariableSearchResultType {\n        allRecordsSearched\n        lastVariableId\n        variables {\n            sysId\n            displayValue\n            referenceTable\n            referenceTableDefaultField\n            type\n            catalogItem {\n                sysId\n                name\n            }\n            variableSet {\n                sysId\n                name\n            }\n        }\n    }\n`;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport { variablesSearchFragment } from './variablesSearchFragment';\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_FAIURE,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_SUCCESS,\n} from '../actionTypes';\nimport {\n\tpanelDataFragment,\n\ttableMetadataFragment,\n} from '../../tableFieldActions/fetchingEffects/fetchDataEffectFragment';\n\n/**\n * This query is primarily used when coming in with a variable dotwalk (aka. \"variables.90b72d4b4f7b4200086eeed18110c701\"). The primary difference\n * between this query and the normal \"fetchDataEffect\" is that this query needs to fetch the first panel's panelData using a hardcoded empty string,\n * as well as the variable search data.\n */\n\nconst dotWalkConnectedDataQuery = `\n    query ($tableName: String!, $path: String, $includeOnlyFilterableFields: Boolean, $fieldInclusionList: [String], $fieldExclusionList: [String], $disableDotwalking: Boolean, $includeTableMetadata: Boolean!) {\n        GlidePredicateBuilder_Query  @include(if: $includeTableMetadata) {\n\t\t    getTableMetadata(tableName: $tableName, path: \"\", includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList) {\n                ...tableMetadataFragment\n            }\n\t\t\n            getPanelData(tableName: $tableName, path: $path, includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, disableDotwalking: $disableDotwalking) {\n                ...panelDataFragment\n            }\n        }\n\n\t\tGlidePredicateBuilder_Query  @skip(if: $includeTableMetadata) {\n\t\t\tgetPanelData(tableName: $tableName, path: $path, includeOnlyFilterableFields: $includeOnlyFilterableFields, fieldInclusionList: $fieldInclusionList, fieldExclusionList: $fieldExclusionList, disableDotwalking: $disableDotwalking) {\n\t\t\t\t...panelDataFragment\n\t\t\t}\n\t\t}\n\n        GlidePredicateBuilder_Query {\n            getDotwalkVariablePathData: getDotwalkPathData(tableName: $tableName, path: $path) {\n                internalValue\n                displayValue\n                source\n                reference\n            }\n        }\n\n        GlideVariables_Query {\n            getVariableSearchResult(searchTerm: \"\", lastVariableId: \"\") {\n                ...variablesSearchFragment\n            }\n        }\n        \n    }\n    \n    ${panelDataFragment}\n    ${tableMetadataFragment}\n    ${variablesSearchFragment}\n`;\n\nexport const fetchDataWithVariablesEffect = createGraphQLEffect(\n\tdotWalkConnectedDataQuery,\n\t{\n\t\terrorActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_FAIURE,\n\t\tsuccessActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_SUCCESS,\n\t\tvariableList: [\n\t\t\t'disableDotwalking',\n\t\t\t'fieldInclusionList',\n\t\t\t'fieldExclusionList',\n\t\t\t'includeOnlyFilterableFields',\n\t\t\t'includeTableMetadata',\n\t\t\t'path',\n\t\t\t'tableName',\n\t\t],\n\t}\n);\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport { variablesSearchFragment } from './variablesSearchFragment';\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_FAILED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_STARTED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED,\n} from '../actionTypes';\n\nconst dotwalkVariablesSearchDataQuery = `\n    query ($searchTerm: String, $lastVariableId: String, $operator: String) {\n        GlideVariables_Query {\n            getVariableSearchResult(\n                searchTerm: $searchTerm\n                operator: $operator\n                lastVariableId: $lastVariableId\n            ) {\n                ...variablesSearchFragment\n            }\n        }\n    }\n    ${variablesSearchFragment}\n`;\n\nexport const fetchVariablesSearch = createGraphQLEffect(\n\tdotwalkVariablesSearchDataQuery,\n\t{\n\t\terrorActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_FAILED,\n\t\tstartActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_STARTED,\n\t\tsuccessActionType: SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED,\n\t\tvariableList: ['searchTerm', 'lastVariableId', 'operator'],\n\t}\n);\n","import get from 'lodash/get';\nimport last from 'lodash/last';\n\nimport {\n\tPANEL_ITEM_TYPES,\n\tUPDATE_OPERATIONS,\n\tVARIABLES_REFERENCE_SOURCE,\n\tVARIABLES_SEARCH_OPERATOR_TYPES,\n} from '../../../common/constants';\nimport {\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_REQUESTED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_SUCCESS,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_REQUESTED,\n\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED,\n} from './actionTypes';\nimport { fetchDataWithVariablesEffect } from './fetchingEffects/fetchDataWithVariablesEffect';\nimport { fetchVariablesSearch } from './fetchingEffects/fetchVariablesSearchEffect';\nimport {\n\tgetCombinedPathDisplay,\n\tgetPanelDefinitions,\n\tgetTableMetadata,\n} from '../utils';\nimport { SN_DOT_WALK_CONNECTED_BEHAVIOR_PATH_UPDATED } from '../actionTypes';\n\n/**\n * Get DW connected data like panel definitions, table metadata, and variables search\n * Used when the initial query is for a variable path\n * @param {*} dispatch\n * @param {object} queryVariables\n */\nconst fetchNowDotwalkConnectedDataWithVariables = (\n\tdispatch,\n\tqueryVariables\n) => {\n\tdispatch(\n\t\tSN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_REQUESTED,\n\t\tqueryVariables\n\t);\n};\n\n/**\n * Handles searching for variables\n * Checks variable cache first before fetching\n * @param {*} coeffect\n */\nconst handleVariablesSearch = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { lastVariableId, searchTerm },\n\t\t},\n\t} = coeffects;\n\n\tconst queryVariables = {\n\t\tlastVariableId,\n\t\tsearchTerm: searchTerm ?? '',\n\t};\n\tfetchVariablesSearchData(dispatch, queryVariables);\n};\n\n/**\n * Custom function to create panel definitions and table metadata for the variables panel from a variables search api response\n * @param {*} metadata\n * @returns {object}\n */\nexport const createVariablesData = (metadata) => {\n\tconst { variables } = metadata || {};\n\tconst panelDefinitions = [];\n\tconst tableMetadata = {};\n\n\tif (Array.isArray(variables)) {\n\t\tvariables.forEach((variable) => {\n\t\t\t// Note: if a variable is associated with both a catalogItem AND a variableSet, show the catalogItem name\n\t\t\tconst description =\n\t\t\t\tvariable?.catalogItem?.name || variable?.variableSet?.name;\n\n\t\t\tpanelDefinitions.push({\n\t\t\t\tdescription,\n\t\t\t\tdisplayValue: variable.displayValue,\n\t\t\t\tinitialPanelOnly: false,\n\t\t\t\tinternalValue: variable.sysId,\n\t\t\t\titemType: PANEL_ITEM_TYPES.item,\n\t\t\t\treference: variable.referenceTable,\n\t\t\t\tselectable: true,\n\t\t\t});\n\n\t\t\ttableMetadata[variable.sysId] = {\n\t\t\t\tname: variable.sysId,\n\t\t\t\tlabel: variable.displayValue,\n\t\t\t\ttype: variable.type,\n\t\t\t\treferenceTable: variable.referenceTable,\n\t\t\t\treferenceTableDefaultField: variable.referenceTableDefaultField,\n\t\t\t\treferenceKey: null,\n\t\t\t};\n\t\t});\n\t}\n\n\treturn { panelDefinitions, tableMetadata };\n};\n\nconst getVariablesMetadataFromQuery = (payload) => {\n\treturn get(\n\t\tpayload,\n\t\t'data.GlideVariables_Query.getVariableSearchResult',\n\t\t{}\n\t);\n};\n\nconst getVariablesDotwalkPathFromQuery = (payload) => {\n\treturn get(\n\t\tpayload,\n\t\t'data.GlidePredicateBuilder_Query.getDotwalkVariablePathData',\n\t\t[]\n\t);\n};\n\n/**\n * Get variables search data with a search term. Also handles loading more variables (pagination)\n * @param {*} dispatch\n * @param {object} queryVariables\n */\nconst fetchVariablesSearchData = (dispatch, queryVariables = {}) => {\n\tconst { lastVariableId, operator, searchTerm } = queryVariables;\n\n\tconst updatedQueryVariables = {\n\t\tlastVariableId: lastVariableId || '',\n\t\toperator: operator || VARIABLES_SEARCH_OPERATOR_TYPES.LIKE,\n\t\tsearchTerm: searchTerm || '',\n\t};\n\n\tdispatch(\n\t\tSN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_REQUESTED,\n\t\tupdatedQueryVariables,\n\t\tupdatedQueryVariables // second argument is for action meta reference\n\t);\n};\n\n/**\n * Default succsss handler when fetching DW connected variable data.\n * @param {*} coeffects\n */\nconst handleFetchDataSuccess = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst dotWalkConnectedDataBehavior = get(\n\t\tstate,\n\t\t'behaviors.dotWalkConnectedDataBehavior',\n\t\t{}\n\t);\n\n\tconst variablesTableMetadata = get(\n\t\tdotWalkConnectedDataBehavior,\n\t\t`tableMetadata.${VARIABLES_REFERENCE_SOURCE}`,\n\t\t{}\n\t);\n\n\tconst { panelDefinitions, tableMetadata } = dotWalkConnectedDataBehavior;\n\n\tconst fetchedPanelDefinitions = getPanelDefinitions(payload);\n\tconst fetchedTableMetadata = getTableMetadata(payload);\n\n\tlet variablePanelDefinitions = {};\n\tlet variableTableMetadata = {};\n\n\tconst dotWalkPath = getVariablesDotwalkPathFromQuery(payload);\n\n\tconst fetchedVariablesMetadata = getVariablesMetadataFromQuery(payload);\n\n\tconst { allRecordsSearched, lastVariableId } =\n\t\tfetchedVariablesMetadata || {};\n\n\tconst variablesData = createVariablesData(fetchedVariablesMetadata);\n\n\tvariablePanelDefinitions = {\n\t\t[VARIABLES_REFERENCE_SOURCE]: {\n\t\t\tallItemsLoaded: allRecordsSearched,\n\t\t\titems: variablesData.panelDefinitions,\n\t\t\tloadMore: true,\n\t\t\tloadMoreRequestParams: {\n\t\t\t\tlastVariableId,\n\t\t\t\tsearchTerm: '',\n\t\t\t\tsource: VARIABLES_REFERENCE_SOURCE,\n\t\t\t},\n\t\t\tsearchTerm: '',\n\t\t\tupdateOperation: UPDATE_OPERATIONS.MERGE,\n\t\t},\n\t};\n\n\tvariableTableMetadata = {\n\t\t[VARIABLES_REFERENCE_SOURCE]: {\n\t\t\t...variablesTableMetadata,\n\t\t\t...variablesData.tableMetadata,\n\t\t},\n\t};\n\n\tconst newState = {\n\t\t...dotWalkConnectedDataBehavior,\n\t\tpanelDefinitions: {\n\t\t\t...panelDefinitions,\n\t\t\t...fetchedPanelDefinitions,\n\t\t\t...variablePanelDefinitions,\n\t\t},\n\t\ttableMetadata: {\n\t\t\t...tableMetadata,\n\t\t\t...fetchedTableMetadata,\n\t\t\t...variableTableMetadata,\n\t\t},\n\t};\n\n\tif (dotWalkPath) {\n\t\tnewState.dotWalkPath = dotWalkPath;\n\t}\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'behaviors.dotWalkConnectedDataBehavior',\n\t\tvalue: newState,\n\t});\n};\n\n/**\n * Success handler for fetching variable data only\n * @param {*} coeffects\n */\nconst handleVariablesFetchSuccess = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tmeta: { searchTerm: searchTermProp },\n\t\t\tpayload,\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst VARIABLES_TABLEMETADATA_PATH = `behaviors.dotWalkConnectedDataBehavior.tableMetadata.${VARIABLES_REFERENCE_SOURCE}`;\n\n\tconst variablesTableMetadata = get(state, VARIABLES_TABLEMETADATA_PATH, {});\n\n\tconst searchTerm = searchTermProp ?? '';\n\n\t// get fetched metatdata from query response\n\tconst fetchedMetadata = getVariablesMetadataFromQuery(payload);\n\n\tconst { panelDefinitions, tableMetadata } = createVariablesData(\n\t\tfetchedMetadata\n\t);\n\n\tconst { allRecordsSearched, lastVariableId } = fetchedMetadata || {};\n\n\tupdateState([\n\t\t{\n\t\t\tpath: VARIABLES_TABLEMETADATA_PATH,\n\t\t\t// always merge with existing table metadata since we cache results on the presentational level\n\t\t\tvalue: {\n\t\t\t\t...variablesTableMetadata,\n\t\t\t\t...tableMetadata,\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.dotWalkConnectedDataBehavior.panelDefinitions.${VARIABLES_REFERENCE_SOURCE}`,\n\t\t\tvalue: {\n\t\t\t\tallItemsLoaded: allRecordsSearched,\n\t\t\t\titems: panelDefinitions, // only contains the most recent query results\n\t\t\t\tloadMore: true,\n\t\t\t\tloadMoreRequestParams: {\n\t\t\t\t\tlastVariableId,\n\t\t\t\t\tsearchTerm,\n\t\t\t\t\tsource: VARIABLES_REFERENCE_SOURCE,\n\t\t\t\t},\n\t\t\t\tsearchTerm,\n\t\t\t\tupdateOperation: UPDATE_OPERATIONS.MERGE,\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nexport const handleBootstrapWithVariables = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { options },\n\t\t},\n\t\tdispatch,\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tdotWalkPath: path,\n\t\t\t\tfieldExclusionList,\n\t\t\t\tfieldInclusionList,\n\t\t\t\thideDotWalking,\n\t\t\t\tincludeOnlyFilterableFields,\n\t\t\t\ttableName,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tconst includeTableMetadata = get(options, 'includeTableMetadata', false);\n\n\tconst queryVariables = {\n\t\tdisableDotwalking: hideDotWalking,\n\t\tincludeOnlyFilterableFields,\n\t\tincludeTableMetadata,\n\t\tfieldExclusionList,\n\t\tfieldInclusionList,\n\t\tpath,\n\t\ttableName,\n\t};\n\n\tfetchNowDotwalkConnectedDataWithVariables(dispatch, queryVariables);\n};\n\nexport const handleFetchPanelDefinitionsWithVariables = (coeffects) => {\n\thandleVariablesSearch(coeffects);\n};\n\nexport const handleSearchChangeWithVariables = (coeffects) => {\n\thandleVariablesSearch(coeffects);\n};\n\n/**\n * Variable load more handler\n * @param {*} coeffects\n */\nexport const handleLoadMoreRequestedWithVariables = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { lastVariableId, searchTerm },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tfetchVariablesSearchData(dispatch, {\n\t\tlastVariableId,\n\t\tsearchTerm,\n\t});\n};\n\nexport const handleDotwalkPathUpdatedWithVariables = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\tconst { path, combinedPath } = payload;\n\n\tlet updatedPath = path;\n\n\tif (Array.isArray(path)) {\n\t\tupdatedPath = path.map((item) => {\n\t\t\tconst updatedItem = { ...item };\n\n\t\t\tObject.keys(updatedItem).forEach((key) => {\n\t\t\t\t// replace the variable~question source/refence with item_option_new\n\t\t\t\tif (updatedItem[key] === VARIABLES_REFERENCE_SOURCE) {\n\t\t\t\t\tupdatedItem[key] = 'item_option_new';\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn updatedItem;\n\t\t});\n\t}\n\n\tdispatch(SN_DOT_WALK_CONNECTED_BEHAVIOR_PATH_UPDATED, {\n\t\tcombinedPath,\n\t\tcombinedPathDisplay: getCombinedPathDisplay(path),\n\t\tpath: updatedPath,\n\t\tselectedFieldData: last(updatedPath),\n\t});\n};\n\nexport const variableActions = {\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_REQUESTED]: {\n\t\t...fetchDataWithVariablesEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_FETCH_DATA_WITH_VARIABLES_SUCCESS]: {\n\t\teffect: handleFetchDataSuccess,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_REQUESTED]: {\n\t\t...fetchVariablesSearch,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_CONNECTED_BEHAVIOR_VARIABLES_FETCH_SUCCEEDED]: {\n\t\teffect: handleVariablesFetchSuccess,\n\t\tstopPropagation: true,\n\t},\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tNOW_DOT_WALK_FETCH_PANEL_DEFINITIONS,\n\tNOW_DOT_WALK_PATH_UPDATED,\n\tNOW_DOT_WALK_SEARCH_TERM_CHANGED,\n\tNOW_DOT_WALK_LOAD_MORE_REQUESTED,\n} from '../../sn-dot-walk/actionTypes';\nimport { isVariablePath, isVariableSource } from '../../utils/variableUtils';\n\nimport {\n\thandleBootstrapWithTableFields,\n\thandleDotwalkPathUpdatedWithTableFields,\n\thandleFetchPanelDefinitionsWithTableFields,\n\ttableFieldActions,\n} from './tableFieldActions/actions';\nimport {\n\tdynamicSchemaActions,\n\thandleFetchPanelDefinitionsWithDynamicSchema,\n\thandleLoadMoreRequestedWithDynamicSchema,\n\thandleSearchChangeWithDynamicSchema,\n\tisDynamicSchemaSource,\n} from './dynamicSchemaActions/actions';\nimport {\n\thandleBootstrapWithVariables,\n\thandleDotwalkPathUpdatedWithVariables,\n\thandleFetchPanelDefinitionsWithVariables,\n\thandleLoadMoreRequestedWithVariables,\n\thandleSearchChangeWithVariables,\n} from './variablesActions/actions';\nimport { variableActions } from './variablesActions/actions';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: { dotWalkPath },\n\t\t},\n\t} = coeffects;\n\n\tif (isVariablePath(dotWalkPath)) {\n\t\thandleBootstrapWithVariables(coeffects);\n\t}\n\t// dynamic schema will go here\n\telse {\n\t\thandleBootstrapWithTableFields(coeffects);\n\t}\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (\n\t\t[\n\t\t\t'dotWalkPath',\n\t\t\t'fieldExclusionList',\n\t\t\t'fieldInclusionList',\n\t\t\t'hideDotWalking',\n\t\t\t'includeOnlyFilterableFields',\n\t\t\t'tableName',\n\t\t].includes(name)\n\t) {\n\t\thandleBootstrap(coeffects);\n\t}\n};\n\nconst handleNowDotwalkFetchPanelDefinitions = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { dotWalkPath, source },\n\t\t},\n\t} = coeffects;\n\n\tif (!source) {\n\t\treturn;\n\t} else if (isVariableSource(source) || isVariablePath(dotWalkPath)) {\n\t\thandleFetchPanelDefinitionsWithVariables(coeffects);\n\t} else if (isDynamicSchemaSource(source)) {\n\t\thandleFetchPanelDefinitionsWithDynamicSchema(coeffects);\n\t} else {\n\t\thandleFetchPanelDefinitionsWithTableFields(coeffects);\n\t}\n};\n\nconst handleNowDotWalkSearchTermChange = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { hasBeenPreviouslySearched, source },\n\t\t},\n\t} = coeffects;\n\n\tif (!source || hasBeenPreviouslySearched) {\n\t\treturn;\n\t}\n\tif (isVariableSource(source)) {\n\t\thandleSearchChangeWithVariables(coeffects);\n\t} else if (isDynamicSchemaSource(source)) {\n\t\thandleSearchChangeWithDynamicSchema(coeffects);\n\t}\n};\n\nconst handleLoadMoreRequested = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { source },\n\t\t},\n\t} = coeffects;\n\n\tif (!source) {\n\t\treturn;\n\t} else if (isDynamicSchemaSource(source)) {\n\t\thandleLoadMoreRequestedWithDynamicSchema(coeffects);\n\t} else if (isVariableSource(source)) {\n\t\thandleLoadMoreRequestedWithVariables(coeffects);\n\t}\n};\n\nconst handleNowDotwalkPathUpdated = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t} = coeffects;\n\tconst { path } = payload;\n\n\tif (isVariablePath(path)) {\n\t\thandleDotwalkPathUpdatedWithVariables(coeffects);\n\t}\n\t// handle dynamic schema here\n\telse {\n\t\thandleDotwalkPathUpdatedWithTableFields(coeffects);\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_FETCH_PANEL_DEFINITIONS]: {\n\t\teffect: handleNowDotwalkFetchPanelDefinitions,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_LOAD_MORE_REQUESTED]: {\n\t\teffect: handleLoadMoreRequested,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_SEARCH_TERM_CHANGED]: {\n\t\teffect: handleNowDotWalkSearchTermChange,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_PATH_UPDATED]: {\n\t\teffect: handleNowDotwalkPathUpdated,\n\t\tstopPropagation: true,\n\t},\n\t...dynamicSchemaActions,\n\t...tableFieldActions,\n\t...variableActions,\n};\n\nexport default actionHandlers;\n","import actionHandlers from './actions';\n\nconst handleInitialState = () => {\n\treturn { dotWalkPath: [], panelDefinitions: {}, tableMetadata: {} };\n};\n\nconst dotWalkConnectedDataBehavior = {\n\tname: 'dotWalkConnectedDataBehavior',\n\tsetInitialState: handleInitialState,\n\tproperties: {\n\t\tdir: {\n\t\t\tdefault: 'ltr',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tdotWalkPath: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tfieldExclusionList: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t},\n\t\tfieldInclusionList: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t},\n\t\thideDotWalking: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tincludeOnlyFilterableFields: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\ttableName: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers,\n};\n\nexport default dotWalkConnectedDataBehavior;\n","import { actionTypes } from '@servicenow/ui-core';\nimport uniqBy from 'lodash/uniqBy';\n\nimport { UPDATE_OPERATIONS } from '../../common/constants';\nimport { BEHAVIOR_NAME } from './panelDefinitionsCachingBehavior';\nimport { get } from 'lodash';\n\nconst {\n    COMPONENT_BOOTSTRAPPED,\n    COMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\n/**\n * Handles when the component renders for the first time\n * @param {*} coeffects\n */\nconst handleComponentBootstrapped = (coeffects) => {\n    const {\n        updateState,\n        state: {\n            behaviors: {\n                [BEHAVIOR_NAME]: {\n                    panelDefinitions: statePanelDefinitions\n                }\n            }\n        },\n        properties: {\n            manageCache,\n            panelDefinitions\n        },\n    } = coeffects;\n\n    let newPanelDefinitions = panelDefinitions;\n\n    if (manageCache) {\n        newPanelDefinitions = createStatePanelDefinitions(\n            panelDefinitions,\n            statePanelDefinitions\n        );\n    }\n\n    updateState({\n        path: `behaviors.${BEHAVIOR_NAME}.panelDefinitions`,\n        operation: 'set',\n        value: newPanelDefinitions\n    });\n};\n\n/**\n * Handles when the component property changes\n * @param {*} coeffects\n */\nconst handleComponentPropertyChanged = (coeffects) => {\n    const {\n        action: {\n            payload: { name },\n        },\n    } = coeffects;\n\n\n    if (name === 'panelDefinitions') {\n        handleComponentBootstrapped(coeffects);\n    }\n};\n\nexport const createStatePanelDefinitions = (\n    panelDefinitions,\n    statePanelDefinitions\n) => {\n    const newStatePanelDefinitions = Object.keys(panelDefinitions).reduce(\n        (newPanelDefinitions, panel) => {\n            const currentPanel = panelDefinitions[panel];\n\n            if (!currentPanel) {\n                return newPanelDefinitions;\n            }\n\n            // support backwards compatibility for array of items\n            if (Array.isArray(currentPanel)) {\n                newPanelDefinitions[panel] = { items: currentPanel };\n            }\n            // load more panel\n            else if (get(currentPanel, 'loadMore', false)) {\n                newPanelDefinitions[panel] = createLoadMorePanelDefinition({\n                    currentPanel,\n                    panel,\n                    statePanelDefinitions,\n                });\n            }\n            // normal panel when currentPanel is an object\n            else {\n                newPanelDefinitions[panel] = createPanelDefinition({\n                    currentPanel,\n                    panel,\n                    statePanelDefinitions,\n                });\n            }\n            return newPanelDefinitions;\n        },\n        { ...statePanelDefinitions }\n    );\n\n    return newStatePanelDefinitions;\n};\n\nconst createLoadMorePanelDefinition = ({\n    currentPanel,\n    panel,\n    statePanelDefinitions,\n}) => {\n    const searchTerm = get(currentPanel, 'searchTerm', '');\n    const allItemsLoaded = get(currentPanel, 'allItemsLoaded', true);\n    const loadMoreRequestParams = get(\n        currentPanel,\n        'loadMoreRequestParams',\n        {}\n    );\n    const updateOperation = get(\n        currentPanel,\n        'updateOperation',\n        UPDATE_OPERATIONS.SET\n    );\n\n    const stateItems = get(\n        statePanelDefinitions,\n        [panel, 'searchResults', searchTerm, 'items'],\n        []\n    );\n\n    let items = get(currentPanel, 'items', []);\n\n    // only merge if updateOperation is merge, default is set\n    if (updateOperation === UPDATE_OPERATIONS.MERGE) {\n        items = mergeItems(stateItems, items);\n    }\n\n    const currentSearchResults = get(\n        statePanelDefinitions,\n        [panel, 'searchResults'],\n        {}\n    );\n\n    return {\n        loadMore: true,\n        searchResults: {\n            ...currentSearchResults,\n            [searchTerm]: {\n                allItemsLoaded,\n                loadMoreRequestParams,\n                items,\n            },\n        },\n    };\n};\n\nconst createPanelDefinition = ({\n    currentPanel,\n    panel,\n    statePanelDefinitions,\n}) => {\n    const updateOperation = get(\n        currentPanel,\n        'updateOperation',\n        UPDATE_OPERATIONS.SET\n    );\n\n    let items = get(currentPanel, 'items', []);\n    const stateItems = get(statePanelDefinitions, `${panel}.items`, []);\n\n    if (updateOperation === UPDATE_OPERATIONS.MERGE) {\n        items = mergeItems(stateItems, items);\n    }\n\n    return {\n        items,\n    };\n};\n\nconst mergeItems = (currentItems = [], newItems = []) => {\n    // uniqBy keeps the first of a duplicate pair, if this is an issue we can reverse it\n    // remove any duplicate variables by internalValue.\n    return uniqBy([...currentItems, ...newItems], 'internalValue');\n};\n\nconst actionHandlers = {\n    [COMPONENT_BOOTSTRAPPED]: {\n        effect: handleComponentBootstrapped,\n        stopPropagation: true,\n    },\n    [COMPONENT_PROPERTY_CHANGED]: {\n        effect: handleComponentPropertyChanged,\n        stopPropagation: true,\n    },\n};\n\nexport default actionHandlers;","import actionHandlers from \"./actions\";\n\nexport const BEHAVIOR_NAME = 'panelDefinitionsCachingBehavior';\n\nconst panelDefinitionsCachingBehavior = {\n    name: BEHAVIOR_NAME,\n    initialState: {\n        panelDefinitions: {}\n    },\n    properties: {\n        /**\n         * The object that defines the panels.\n         */\n        panelDefinitions: {\n            default: {},\n            schema: {\n                type: 'object',\n            },\n        },\n        /**\n         * If true, this behavior will cache all panel definitions that come in via props into state.\n         * If false, this only the passed in panel definitions that come in via props will be in state.\n         */\n        manageCache: {\n            default: true,\n            schema: {\n                type: 'boolean'\n            }\n        }\n    },\n    actionHandlers,\n};\n\nexport default panelDefinitionsCachingBehavior;","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_dot_walk=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":520,"column":0},"map":{"mappings":"qEACA;AAAA;AAAA,IAAIA,EAAsB,CCA1BA,EAAwB,CAACC,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDH,EAAwB,CAACS,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,I,uFCElF,MAAM,EAFEI,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7Bf,EAAoBgB,EAAED,EAAGD,GAAWC,CAAC,EAE3BA,CAAE,CAAE,iEAAsE,KAC1G,MAAME,EAAYC,EAAuFC,SAAWD,EAAuFE,WAGpM,OAAIH,EACHC,EAAgG,QAAEG,iEAInGH,EAAuFG,kEAAoEH,EAAgG,SAAKA,EAAgG,QAAEG,gEAAgE,I","file":"externals/@devsnc/uxf-effect-macroponent-loader/29.1.11/index.min.js","names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","y","x","d","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","default","__esModule","__DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect"],"sources":["webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\""],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"__DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && '__DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].__DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect;\n\t\t\t\t\t} else if ('__DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].__DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect;\n\t\t\t\t} });"],"version":3}},{"offset":{"line":530,"column":0},"map":{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAMAA,EAAOC,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA6FX,OA3FAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,KAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GA4B5B,OA1BIA,EAAK,KACPC,GAAW,cAAcE,OAAOH,EAAK,GAAI,QAGvCA,EAAK,KACPC,GAAW,UAAUE,OAAOH,EAAK,GAAI,OAGnCE,IACFD,GAAW,SAASE,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,OAG5EC,GAAWN,EAAuBK,GAE9BE,IACFD,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGNA,CACT,IAAGI,KAAK,GACV,EAGAT,EAAKU,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAG7B,IAAIC,EAAyB,CAAC,EAE9B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIhB,KAAKM,OAAQU,IAAK,CACpC,IAAIC,EAAKjB,KAAKgB,GAAG,GAEP,MAANC,IACFF,EAAuBE,IAAM,EAEjC,CAGF,IAAK,IAAIC,EAAK,EAAGA,EAAKT,EAAQH,OAAQY,IAAM,CAC1C,IAAIhB,EAAO,GAAGG,OAAOI,EAAQS,IAEzBP,GAAUI,EAAuBb,EAAK,WAIrB,IAAVW,SACc,IAAZX,EAAK,KAGdA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKW,GAOVH,IACGR,EAAK,IAGRA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKQ,GAHVR,EAAK,GAAKQ,GAOVE,IACGV,EAAK,IAGRA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKU,GAHVV,EAAK,GAAK,GAAGG,OAAOO,IAOxBd,EAAKqB,KAAKjB,GACZ,CACF,EAEOJ,CACT,C,UCnGAH,EAAOC,QAAU,SAAUY,GACzB,OAAOA,EAAE,EACX,C,WCJA,MAQMY,EAAkC,6BAClCC,EAAY,WACZC,EAAa,YAEbC,EAAyB,CAC9BH,EACAC,EACAC,GAGD3B,EAAOC,QAAU,CAChB4B,uBAnB8B,oBAoB9BD,yBACAD,aACAD,YACAI,2BApBkC,CAClCC,KAAM,OACNC,MAAO,MAmBPC,uBAvB8B,oBAwB9BR,kC,uBCzBDzB,EAAOC,QAAU,CAChBiC,mBAAoB,CACnBC,MAAO,gBACPC,YAAa,wDACbC,KAAM,SACNC,WAAY,CACXC,WAAY,CACXF,KAAM,QACNG,QAAS,GACTC,MAAO,CACNJ,KAAM,SACND,YAAa,oBACbE,WAAY,CACXI,cAAe,CACdL,KAAM,SACNM,KAAM,CAAC,YAAa,MAAO,MAC3BC,UAAU,GAEXC,MAAO,CACNR,KAAM,SACNC,WAAY,CACXD,KAAM,CACLA,KAAM,SACNM,KAAM,CACL,eACA,kBACA,YACA,UACA,QACA,aACA,aACA,eACA,iBACA,WACA,cACA,SACA,MACA,sBACA,kBACA,iBACA,aACA,SACA,kBACA,aACA,cACA,qBACA,YACA,sBACA,QACA,iBACA,gBACA,YACA,QACA,QACA,YACA,MACA,aACA,aACA,iBACA,eACA,aACA,oBACA,UACA,aACA,cACA,SACA,YACA,cACA,aACA,kBACA,OACA,aACA,gBACA,QACA,mBACA,gBACA,aACA,iBACA,UACA,QACA,cACA,eACA,UACA,kBACA,OACA,QACA,WACA,YACA,WACA,aACA,eACA,aACA,iBACA,kBACA,4BAEDC,UAAU,GAEXE,cAAe,CACdT,KAAM,SACNG,QAAS,IAEVO,aAAc,CACbV,KAAM,SACNG,QAAS,IAEVQ,YAAa,CACZX,KAAM,QACNG,QAAS,GACTC,MAAO,CACNJ,KAAM,SACNC,WAAY,CACXQ,cAAe,CACdT,KAAM,SACNG,QAAS,IAEVO,aAAc,CACbV,KAAM,SACNG,QAAS,IAEVS,OAAQ,CACPZ,KAAM,SACNG,QAAS,IAEVU,UAAW,CA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","file":"externals/@servicenow/now-predicate-builder/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","USE_SHOW_FIELD_LABELS_USER_PREF","LABELS_ON","LABELS_OFF","DISPLAY_LABELS_OPTIONS","CONDITION_BUILDER_TYPE","MAX_CONTENT_HEIGHT_OPTIONS","FULL","SMALL","PREDICATE_BUILDER_TYPE","decodedQuerySchema","title","description","type","properties","conditions","default","items","conditionType","enum","required","field","internalValue","displayValue","dotwalkPath","source","reference","operator","value","conditionMetadataList","key","$id","$schema","defaults","component","operatorOrder","oneOf","operators","patternProperties","label","display","additionalProperties","fieldTypes","operatorsComplete","ref","panelDefinitionsSchema","itemType","selectable","initialPanelOnly","updateOperation","loadMore","allItemsLoaded","searchTerm","loadMoreRequestParams","___CSS_LOADER_EXPORT___","result","__esModule","a","n","TypeError","toPropertyKey","require","_defineProperties","e","r","t","o","enumerable","configurable","writable","Object","defineProperty","prototype","_extends","assign","bind","arguments","hasOwnProperty","call","apply","includes","_typeof","Symbol","toPrimitive","String","Number","iterator","constructor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","definition","get","obj","prop","toStringTag","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","componentModes","createCustomElement","createPresentationalCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","compact","first","flatMap","isEmpty","isEqual","isNil","last","merge","set","NOW_PREDICATE_BUILDER_ERROR_DETECTED","SN_PREDICATE_BUILDER_DECODED_QUERY_UPDATED","NOW_PREDICATE_BUILDER_METADATA_REQUEST","NOW_PREDICATE_BUILDER_METRIC_TRACKED","NOW_PREDICATE_BUILDER_FETCH_METADATA","NOW_PREDICATE_BUILDER_PREDICATE_UPDATED","NOW_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS","NOW_PREDICATE_BUILDER_DECODED_QUERY_UPDATED","NOW_PREDICATE_BUILDER_RELATED_LIST_CONDITION_EVENT","UNKNOWN_FIELD_TYPE","COMPONENT_LOADED_STATUS","freeze","ERROR","SUCCESS","LOADING","conditionBuilderRowTagName","stringTagName","dateChoiceTagName","betweenTagName","dateTrendTagName","dateRelativeTagName","dateEquivalentTagName","dateComparativeTagName","referenceTagName","choiceFieldNamesTagName","choiceDynamicTagName","dynamicAttributeChoiceTagName","booleanTagName","yesNoTagName","textAreaTagName","numberTagName","choiceTagName","durationTagName","currencyTagName","currencyFxTagName","tagTagName","variableChoiceTagName","hierarchyReferenceTagName","valueEditorFetchedComponents","customTagName","status","NOW_PREDICATE_BUILDER_FETCH_COMPONENT","NOW_PREDICATE_BUILDER_LOAD_MACROPONENT","NOW_PREDICATE_BUILDER_LOAD_MACROPONENT_SUCCEEDED","NOW_PREDICATE_BUILDER_LOAD_MACROPONENT_FAILED","NOW_PREDICATE_BUILDER_LOAD_COMPONENT","NOW_PREDICATE_BUILDER_LOAD_COMPONENT_SUCCEEDED","NOW_PREDICATE_BUILDER_LOAD_COMPONENT_FAILED","COMPONENT_BOOTSTRAPPED","FETCHED_COMPONENTS_PATH","updateComponentFetchStatus","updateState","componentTag","path","operation","updateMacroponentFetchStatus","macroponentSysId","fetchComponent","coeffects","state","behaviors","componentLoaderBehavior","fetchedComponents","dispatch","components","customElements","fetchCount","tagName","fetchMacroponent","macroponents","sysId","handleLoadFailed","action","statePath","payload","request","logger","keys","error","eventName","metadata","shouldRender","name","setInitialState","actionHandlers","effect","customComponents","isCustomComponentsEmpty","macroponentSysIds","componentTags","forEach","tag","stopPropagation","createMacroponentLoaderEffect","successActionType","errorActionType","customElementTagName","createComponentLoaderEffect","requestTagName","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","QUERY_CONDITION_TYPE","GLOBAL_DOMAIN_ID","GLOBAL_DOMAIN_LABEL","code","message","comment","USER_ROLES","KEYWORDS_INTERNAL_VALUE","DECODED_QUERY_MODEL_TYPE","CONDITIONS","GROUP_BY","RELATED_LIST_CONDITIONS","SORT_BY","DECODED_QUERY_MODEL_PATH","SORT_BY_LABEL","GROUP_BY_LABEL","TAB_CONDITION","TAB_RELATED_LIST","TAB_GROUP_BY","TAB_SORT_BY","TAB_IDS","SHOW_LABELS_USER_PREF","TOGGLE_LABELS_SOURCE","FIXED_QUERY_MODE","BASIC_FILTERS_PRESETS","row","boolean","choice","due_date","glide_date","glide_date_time","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","NOW_DOT_WALK_SEARCH_TERM_CHANGED","NOW_DOT_WALK_LOAD_MORE_REQUESTED","NOW_DOT_WALK_FETCH_PANEL_DEFINITIONS","SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS","SN_PREDICATE_BUILDER_PREDICATE_UPDATED","NOW_PREDICATE_BUILDER_PREDICATE_ACTION","_ref","decodedQuery","fixedDecodedQuery","fixedQueryMode","track","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__","createLoadingView","view","cachePath","helpers","_behaviors$fetchingVa","metadataCache","metadataCachePath","fetchingValueEditorBehavior","style","alignItems","justifyContent","paddingTop","NOW_TABS_SELECTED_ITEM_SET","NOW_ALERT_ACTION_CLICKED","SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CLOSED","SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED","SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED","SN_CONDITION_BUILDER_SAVED_FILTER_SELECTED","SN_CONDITION_BUILDER_UPDATE_METADATA_CACHE","NOW_TOGGLE_CHECKED_SET","SN_CONDITION_BUILDER_SAVE_FILTER_ERROR","SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA","SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_SUCCESS","SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_FAILURE","schema","options","computeCachePathFn","disableFetchOnBootstrap","Error","data","transformFn","uuid","crypto","randomUUID","Math","random","Date","getTime","toUpperCase","replace","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","createFetchingValueEditorGraphQLEffect","query","variableList","allElementsMatchedOnProperties","arr1","arr2","every","elem","idx","isMatchedOnProperties","obj1","obj2","_parentFieldTypeConfig","WeakMap","_opName","_component","_label","_display","FieldOperatorConfig","fieldTypeConfig","opName","_classCallCheck","_classPrivateFieldInitSpec","_isInternalConstructing","_","FieldTypeConfig","_classPrivateFieldSet","_createClass","_classPrivateFieldGet","_getComponentForOperator","_getLabelForOperator","_getDisplayForOperator","fieldOperatorChange","inherited","_parentFieldOperatorMappings","_fieldType","_defaultComponent","_fieldOperatorConfigsByOperatorName","_orderedOperatorNames","_referencedFieldType","fieldOperatorMappings","fieldType","FieldOperatorMappings","Map","op","_createFromInherited","Array","_getFieldTypeConfig","_operators","opNames","_operatorOrder","ops","fieldOperatorConfig","editor","fOC","entries","toJSON","operatorName","fieldTypeChange","clear","referencedFieldType","refFTJSON","_copyOfFieldOperatorConfigsByOperatorName","_ref2","opConfig","_applyChange","delete","fieldOpConfig","_eliminateUnneededProperties","origOps","origOrderedOpNames","inheritedOps","OperatorConfig","_defaultLabel","operatorChange","defaultComponent","_operatorsByOpName","_defaultOperatorOrder","_fieldTypeConfigsByTypeName","ft","fTCName","baseType","fieldOperatorMappingChange","operatorConfig","defaultOperatorOrder","_ref3","ftName","ftConfig","refChanges","uniqueConfigs","fieldTypeName","match","findIndex","uniqueConfigOperators","applyChange","typeName","fTConfig","operatorDisplay","PREDICATE_TYPES","DATA_MODEL_ACTIONS","GROUP_TYPES","SEPARATION_TYPES","BRACKET_COLORS","AND_LABEL","OR_LABEL","OR_TOOLTIP_CONTENT","AND_TOOLTIP_CONTENT","REMOVE_TOOLTIP_CONTENT","AND_BUTTON_A11Y_LABEL","OR_BUTTON_A11Y_LABEL","DROPDOWN_TYPES","ROW_ACTION_OR","ROW_ACTION_AND","ROW_ACTION_REMOVE","MACROPONENT_PREFIX","OPERATOR_DISPLAY_OPTIONS","STATUS_TYPES","FIELD_TYPES","INVALID_ROW_CONTENT","UNKNOWN_DYNAMIC_CATEGORY_FIELD_CONTENT","UNKNOWN_FIELD_TYPE_CONTENT","UNMAPPED_FIELD_CONTENT","OPERATOR_WARNING_CONTENT","INVALID_DURATION_INPUT_CONTENT","INVALID_NUMBER_INPUT_CONTENT","MISSING_VALUE_INPUT_CONTENT","INVALID_RANGE_DURATION_CONTENT","INVALID_RANGE_VALUES_CONTENT","MISSING_RANGE_VALUES_CONTENT","UNKNOWN_DYNAMIC_CATEGORY_VALUE_CONTENT","INVALID_ROW_MESSAGE","UNKNOWN_DYNAMIC_CATEGORY_FIELD_MESSAGE","UNKNOWN_FIELD_TYPE_MESSAGE","UNMAPPED_FIELD_MESSAGE","UNMAPPED_OPERATOR_MESSAGE","INVALID_DURATION_INPUT_MESSAGE","INVALID_NUMBER_INPUT_MESSAGE","MISSING_VALUE_INPUT_MESSAGE","INVALID_RANGE_DURATION_MESSAGE","INVALID_RANGE_VALUES_MESSAGE","MISSING_RANGE_VALUES_MESSAGE","UNKNOWN_DYNAMIC_CATEGORY_VALUE_MESSAGE","OPERATORS_WITH_FIELD_VALUES","getFieldMessages","fieldOperatorRelationship","hasUncategorizedAttribute","rowMessages","selectedField","messagesArr","isUnknownFieldType","isUnmappedField","lastSelection","LABEL_IS_NOT","LABEL_LESS_THAN","LABEL_LESS_THAN_OR_IS","LABEL_IS","LABEL_INSTANCE_OF","LABEL_GREATER_THAN","LABEL_GREATER_THAN_OR_IS","LABEL_IS_ANYTHING","LABEL_BETWEEN","LABEL_CONTAINS","LABEL_TREND","LABEL_DOES_NOT_HAVE","LABEL_EXCLUDING","LABEL_IS_DYNAMIC","LABEL_IS_EMPTY_STRING","LABEL_ENDS_WITH","LABEL_GREATER_THAN_FIELD","LABEL_GREATER_THAN_OR_IS_FIELD","LABEL_IS_ONE_OF","LABEL_IS_EMPTY","LABEL_IS_NOT_EMPTY","LABEL_IS_LESS_THAN","LABEL_LESS_THAN_FIELD","LABEL_LESS_THAN_OR_IS_FIELD","LABEL_IS_MORE_THAN","LABEL_IS_NOT_ONE_OF","LABEL_DOES_NOT_CONTAIN","LABEL_NOT_ON","LABEL_IS_DIFFERENT_FROM","LABEL_ON","LABEL_RELATIVE","LABEL_IS_SAME_AS","LABEL_STARTS_WITH","LABEL_BEFORE","LABEL_AT_OR_BEFORE","LABEL_AFTER","LABEL_AT_OR_AFTER","LABEL_IS_SAME","LABEL_IS_DIFFERENT","LABEL_GREATER_THAN_OR_EQUAL_TO","LABEL_LESS_THAN_OR_EQUAL_TO","LABEL_HAVE","LABEL_ARE","LABEL_CHANGES","LABEL_CHANGES_TO","builtinFieldOperatorRelationships","ANYTHING","BETWEEN","CHANGESFROM","CHANGESTO","CONTAINS","DATEPART","DOESNOTHAVE","DYNAMIC","EMPTYSTRING","ENDSWITH","EXCLUDING","GT_FIELD","GT_OR_EQUALS_FIELD","IN","IN_HIERARCHY","IN_HIERARCHY_DYNAMIC","INSTANCEOF","ISEMPTY","ISNOTEMPTY","LESSTHAN","LIKE","LT_FIELD","LT_OR_EQUALS_FIELD","MORETHAN","NOTON","NSAMEAS","ON","RELATIVE","SAMEAS","STARTSWITH","VALCHANGES","address_simple","approval_rules","audio","auto_increment","auto_number","bootstrap_color","breakdown_element","calendar_date_time","catalog_preview","char","collection","color","color_display","composite_field","composite_name","compressed","condition_string","counter","css","currency","currency2","data_array","data_object","data_structure","date","datetime","day_of_week","days_of_week","decimal","document_id","documentation_field","domain_id","domain_path","dynamic_attribute_choice","dynamic_attribute_store","email","email_script","expression","external_names","field_list","field_name","file_attachment","float","formula","geo_point","glide_action_list","glide_duration","glide_encrypted","glide_list","glide_precise_time","glide_static_list","glide_time","glide_utc_time","glide_var","glyphicon","graphql_schema","GUID","html","html_script","html_template","icon","image","index_name","insert_timestamp","int","integer","integer_date","integer_time","internal_type","ip_addr","ip_address","journal","journal_input","journal_list","json","json_translations","keywords_query","language","long","longint","mask_code","metric_absolute","metric_counter","metric_derive","metric_gauge","mid_config","month_of_year","multi_small","multi_two_lines","name_values","nds_icon","nl_task_int1","numeric","order_index","password","password2","percent_complete","ph_number","phone_number","phone_number_e164","price","radio","record_hierarchy_path","reference_name","related_tags","records","reminder_field_name","repeat_count","repeat_type","replication_payload","schedule_date_time","schedule_interval_count","script","script_client","script_plain","script_server","short_field_name","short_table_name","slushbucket","snapshot_template_value","source_id","source_name","source_table","string","string_boolean","string_full_utf8","structure","sys_class_name","sys_class_path","sysevent_name","sysrule_field_name","table_name","template_value","time","timer","transient_attribute","translated","translated_field","translated_html","translated_text","tree_code","tree_path","url","unsupported_field_type","user_image","user_input","user_roles","version","video","variable_conditions","variables","variable_attachment_question","variable_choice","variable_duration","variable_multiple_choice","variable_requested_for","variable_string","yesno","week_of_month","wide_text","wiki_text","workflow","workflow_conditions","xml","deepFreeze","object","propNames","Reflect","ownKeys","CHANGES_FROM","CHANGES_TO","SUPPORTED_EXTENDED_OPERATORS","getFieldTypeOperators","getExtendedOperators","extendedOperators","extendedFieldTypeOperators","isArray","_fieldTypeOperators$f","equalsOperatorComponentTag","find","fieldTypeOperator","operatorType","matchedOperator","extOp","modifiedMatchedOperator","isUnmappedOperator","_ref4","selectedOperator","operatorsToExclude","getOperatorItems","_ref5","excludedOperators","fieldTypeOperators","unknownFieldType","unknownTypeOperators","unmappedOperators","unmappedOperator","createOperator","filteredFieldTypeOperators","filter","handleFilterExcludedOperator","uniqueOperatorsMap","has","from","values","transformOperator","currencyField","currencyFxField","durationField","parseRange","checkValidity","parsedValues","split","parseCurrency","parsedValue","startsWith","NaN","isInvalidNumber","val","isNaN","isInvalidDuration","duration","parse","getRangeMessages","isBeforeDirty","isAfterDirty","messages","missingValueMessages","start","end","checkMissingRangeValues","checkInvalidNumberRange","PANEL_DEFINITION_REQUEST_TYPE","VARIABLE_MODE","DYNAMIC_QUERY_PREFIXES","getDotwalkPathDisplayValue","isDynamicCategory","isDynamicUnknownCategory","isDynamicDataStore","getPanelDefinitionRequestType","HIERARCHY_EDITOR_LABELS","HIERARCHY_TYPE","STARTING_POINT","INCLUDE_EXCLUDE_STARTING_POINT","TRUE","FALSE","HIERARCHY_TYPE_TRIGGER","INCLUDE_EXCLUDE_STARTING_POINT_TRIGGER","HIERARCHY_EDITOR_DEFAULTS","HIERARCHY_REFERENCE_SELECT_IDS","INCLUSIVE_OPTIONS","HIERARCHY_OPERATOR_INTERNAL_VALUE","HIERARCHY_OPERATOR_DISPLAY_VALUE","HIERARCHY_DYNAMIC_OPERATOR_INTERNAL_VALUE","HIERARCHY_DYNAMIC_OPERATOR_DISPLAY_VALUE","parseHierarchyValue","valueStr","hierarchyIdentifier","startingPoint","offset","inclusive","parts","buildCanonicalHierarchy","recordHierarchiesState","startingPointDisplayValue","buildHierarchyValue","selectedHierarchy","h","getFieldRecordHierarchiesFromTableMetadata","fieldName","recordHierarchies","getExtendedOperatorsFromMetadata","prevReference","getAllErrorMessages","_fieldMessages","isFieldUncategorized","isValueUncategorized","hasGlobalFieldOverride","selectedValue","predicateContext","valueEditorMetadata","getRowMessages","fieldMessages","operatorMessages","valueMessages","unmappedMessage","getOperatorMessages","operatorStateMessages","hasUnknownCategory","isDirty","dirtyMetadata","getValueMessages","SN_LOAD_FILTER_CONTENT_POPOVER_ITEM_CLICKED","SN_LOAD_FILTER_CONTENT_POPOVER_SET_FOCUS_ON_LAST_DELETE_BUTTON","SN_LOAD_FILTER_LOADING_COMPLETED","SN_LOAD_FILTER_LOADING_INITIATED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__","getUserPrefContext","currencyCodes","currencyToSymbolMap","reduce","accumulator","symbol","METADATA_CACHE_PATH","AFTER","BEFORE","DATE_FORMAT","DATE_FORMAT_WITH_TIME","DYNAMIC_OPTION","DATE_TIME_REGEX_PATTERN","OPERATOR_BETWEEN","OPERATOR_TYPES","OPERATORS_WITH_TIME","SN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_KEY_PRESSED","SN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_SELECTED","SN_VALUE_EDITOR_DATE_CHOICE_RELATIVE_SELECTED","isTimeOperator","getTypeForOperator","dateChoiceDisplayValues","parent","children","child","parentId","timeAgoDates","NOW_BUTTON_BARE_CLICKED","NOW_BUTTON_CLICKED","NOW_BUTTON_ICONIC_CLICKED","NOW_DOT_WALK_PATH_UPDATED","NOW_DROPDOWN_ITEM_CLICKED","NOW_DROPDOWN_OPENED_SET","NOW_INPUT_INPUT","NOW_INPUT_VALUE_SET","NOW_MODAL_FOOTER_ACTION_CLICKED","NOW_POPOVER_CONTENT_HIDDEN","NOW_POPOVER_OPENED_SET","NOW_SELECT_SELECTED_ITEM_SET","NOW_PILL_SELECTED_SET","NOW_TEXTAREA_INPUT","NOW_TEXTAREA_VALUE_SET","SN_CONDITION_BUILDER_FETCH_VARIABLE_METADATA","SN_DOT_WALK_PATH_UPDATED","SN_RECORD_CURRENCY_CONNECTED_VALUE_CHANGED","SN_VALUE_EDITOR_VALUE_SET","TREND_VALUES_WITH_FIELDS_PLURAL","updateComparativeStateAndDispatch","pathToUpdate","valueToUpdate","fieldValue","dateValue","relativeValue","valueAmount","displayValueMap","editorValue","newState","dateDisplayValue","relativeDisplayValue","pickerDisplayValue","fieldInternalValue","newValue","oldValue","equivalentDurations","equivalentDurationsMap","getDisplayableTabs","showGroupBy","showRelatedListConditions","showSortBy","tabs","getShowLabelsValue","displayLabelOptions","context","showLabelsUserPrefKey","showLabelsValue","getShowLabelsUserPref","getSortByIcon","orderBy","renderSubLabel","_items$0$field","_item$field","COMPONENT_PROPERTY_CHANGED","COMPONENT_DOM_TREE_READY","COMPONENT_RENDERED","applyCustomFieldOperatorMappings","customFieldOperatorMappings","_toLut","getSelectedTab","updatedSelectedTab","selectedTab","stateSelectedTab","tab","getDecodedQueryWithIds","updatedConditions","condition","conditionId","fetchingValueEditorGraphQLEffect","customizations","showLabels","decodedQueryWithIds","fixedDecodedQueryWithIds","metricMetadata","simplifiedTags","fromEntries","override","customizationType","_decodedQueryWithCond","decodedQueryWithConditionIds","interaction","queryType","_objectWithoutPropertiesLoose","_excluded","previousRenderState","alternativeView","prevAlternativeView","returnFocusElementRef","current","focus","host","focusOnRender","setTimeout","_host$shadowRoot","firstButton","shadowRoot","querySelector","showAlertMessage","warn","basicFilters","componentProps","conditionObj","model","modelType","preventDecodedQueryUpdatedActionDispatch","preventActionDispatch","modelPath","_state$infoMessages","_state$properties","infoMessages","isFilterLoading","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__","klona","SN_CONDITIONS_ADD_NEW_CONDITION_SET","SN_CONDITIONS_FOCUS_NEW_CONDITION_BUTTON","SN_CONDITIONS_SET_FOCUS","SN_CONDITIONS_CONDITION_UPDATE_REQUESTED","SN_CONDITIONS_ALTERNATIVE_VIEW_REQUESTED","ADD_CONDITION_SET_TOOLTIP_CONTENT","Counter","separator","num","counters","_defineProperty","noPredicateHeading","makePathMap","predicateComposition","predicate","pathMap","predicateId","parentPath","predicates","makePathMapHelper","res","index","newPath","createSinglePredicate","predicateProperties","next","createGroupPredicate","groupType","insertAfter","pred","splice","removePredicateHelper","remainingPredicate","pathInfo","console","conditionMetadata","groupPredicate","updatedPredicates","replaceLastPredicate","transformDecodedQuery","andGroupPredicate","separatedGroupPredicate","prevConditionType","prevPredicate","singlePredicate","transformCondition","customComponentTag","orGroupPredicate","transformPredicate","transformGroupPredicate","transformSinglePredicate","groupConditionType","getConditionType","innerPredicate","flat","Infinity","transformPredicateComposition","generateEmptyConditionsModel","getConditionIdWithKeywords","_conditions$find","_condition$field","_conditionsModel","conditionsModel","keywordsConditionId","_updatedPredicateComp","_predicateProperties$","updatedPredicateComposition","predicateActionPayload","updatedConditionsModel","updatedKeywordsConditionId","shouldUpdate","conditionPayloadId","valueToModelPaths","newCondition","targetPath","newConditions","NOW_CONDITION_BUILDER_FIELD_SELECT","NOW_CONDITION_BUILDER_OPERATOR_SELECT","SN_CONDITION_BUILDER_VALUE_EDITOR_VALUE_SET","NOW_CONDITION_BUILDER_ROW_ALTERNATIVE_VIEW_REQUESTED","getEditorTagFromOperator","trim","getExcludedOperators","handleClick","dropdownType","predicateMetadata","parentGroupType","parentPredicateId","newConditionId","isKeywords","handleRowActionClick","handleComponentBootstrap","_customizations$field","_operatorItem","customFieldType","operatorItems","operatorItem","operatorDisplayOption","firstOperator","newSelectedOperator","newSelectedValue","handleBootstrap","currentSelectedItemInternalValue","currentSelectedItemDisplayValue","dotWalkPath","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__","TOOLTIP_ADD_TARGET","TOOLTIP_REMOVE_TARGET","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__","COMPONENT_TREE_RENDERED","_items$find","displayName","stateDisplayName","panelDefinitions","isFirstRender","panel","handleFetchDynamicSchemaPanelDefinitions","handleFetchDynamicCategories","handleFetchDynamicAttributes","handleFetchDynamicUnknownAttributes","panelItem","params","tableName","requestType","categoryNamespacedName","substring","namespaceName","isPopoverOpened","hasInitialFocus","combinedPath","popoverType","shouldFetchPanelDefinitions","some","pathItem","variableMode","initialLoadMoreParams","firstRow","lastRow","isDynamicSchemaSource","KEYS","KEY_ENTER","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","ARROW_LEFT","UP","RIGHT","DOWN","LEFT","SPACE","SPACEBAR","ENTER","ESC","ESCAPE","PAGE_UP","PAGE_DOWN","HOME","END","TAB","events","event","preventDefault","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__","_messages$","dir","isLocked","readOnly","buttonClasses","classnames","className","size","configAria","input","readonly","appendToPayload","bare","opened","disabled","slot","variant","componentVersion","enableSearchAutofocus","initialPanelSource","manageCache","initialState","deepCompare","styles","truncationBehavior","tooltipBehavior","rtlBehavior","eventHandlers","renderer","snabbdom","ICONS","critical","warning","info","positive","isRowMessage","getClassNames","toLowerCase","role","VARIABLE_QUESTION_TABLE","ITEM_OPTION_NEW_TABLE","ITEM_PLACEHOLDER","ITEM_LABEL","VARIABLE_PLACEHOLDER","QUESTION_PLACEHOLDER","VARIABLE_LABEL","QUESTION_LABEL","categoryItemDisplayValueTargetPath","categoryItemInternalValueTargetPath","variableDisplayValueTargetPath","variableInternalValueTargetPath","rawVariableTypeTargetPath","listTableTargetPath","variableTypeMap","isVariableTable","isVariableField","getCatalogItemTable","getVariablesQueryString","encodedQuery","additionalQueryString","queryString","amountLabel","defaultInputPlaceholder","defaultNumberInputPlaceholder","SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES","INVALID_GROUP_BY_TYPES","filterKeywordsFn","props","newPanelItem","filterInvalidGroupByTypesFn","table","filterDotwalkFn","panelItemInternalValue","panelItemMetadata","internalType","isReference","isDynamicCategoryFn","sameType","isSameType","type1","type2","getFilteredPanelDefinitions","tableMetadata","transformFunctions","filteredPanelDefinitions","clonedPanelDefinitions","applyTransformFns","panelItems","filteredPanelItems","fn","panelDefinition","searchResults","updateEditorDisplayValueWithInternalValue","fieldLabel","variablesDisplayValue","questionsDisplayValue","showKeywords","fetchedComponent","TAG_NAME","newDisplayValue","newDotwalkPath","dispatches","fieldMetadata","selectOperatorLabel","operatorLabel","containerClassnames","messagesWithIcon","trigger","manageSelectedItem","selectedItem","EMPTY_VALUE_INTERNAL_VALUE","ENTER_FIRST_VALUE_PLACEHOLDER","ENTER_SECOND_VALUE_PLACEHOLDER","SEPARATOR","CHOICE_END_LABEL","CHOICE_START_LABEL","CURRENCY_END_LABEL","CURRENCY_START_LABEL","DATE_END_LABEL","DATE_START_LABEL","DURATION_END_LABEL","DURATION_START_LABEL","NUMBER_END_LABEL","NUMBER_START_LABEL","SELECTED_OPERATOR_BETWEEN","STRING_END_LABEL","STRING_START_LABEL","SN_VALUE_EDITOR_BETWEEN_FIELD_VALUE_SET","handleValueEditorValueSet","newDirtyMetadata","initialSource","showReferenceLookup","behavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","getProperty","SN_RECORD_LOOKUP_ADDITIONAL_FIELDS_SET","SN_RECORD_LOOKUP_BUTTON_ICONIC_CLICKED","SN_RECORD_LOOKUP_FETCH_SUCCESS","SN_RECORD_LOOKUP_VALUE_CHANGED","VARIABLE_SET_IDS_FETCH_REQUEST","VARIABLE_SET_IDS_FETCH_REQUEST_SUCCESS","VARIABLE_SET_IDS_FETCH_REQUEST_FAILURE","CATALOG_ITEM_ID_SEARCH_REQUEST","CATALOG_ITEM_ID_SEARCH_REQUEST_SUCCESS","CATALOG_ITEM_ID_SEARCH_REQUEST_FAILURE","searchQuery","variableSetIdResultsLimit","fetchVariableSetIds","searchCatalogItemId","dispatchVariableSetIdRequest","categoryItemId","paginationLimit","handleVariableSetIdCompletion","isFetchingVariableSetId","JSON","results","getVariableSetIdsCondition","handleSearchCatalogItemIdCompletion","catalogItemTable","catalogItemDisplayValue","getCatalogItemDisplayValue","isSearchingCatalogItemId","itemDisplayValue","variablesSource","sourceType","catalogItemInternalValue","variableInternalValue","variableDisplayValue","variableType","idToFilterVariablesOn","itemInternalValue","previousValue","stateAdditionalQueryString","listTable","rawVariableType","previousCatalogItemInternalValue","previousVariableInternalValue","getVariableType","newInternalValue","updatedSelectedField","setDefaultSelectedField","variableFieldsMetadata","variableData","refElement","isItemField","itemActionModelPaths","sourcePath","variableActionModelPaths","tableToDisplay","actionToModelPaths","columns","fixedQuery","NOW_TYPEAHEAD_LIST_HIDDEN","NOW_TYPEAHEAD_LIST_VISIBLE","NOW_TYPEAHEAD_VALUE_SET","NOW_TYPEAHEAD_SELECTED_ITEM_SET","NOW_TYPEAHEAD_MULTI_LIST_HIDDEN","NOW_TYPEAHEAD_MULTI_LIST_VISIBLE","NOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET","NOW_TYPEAHEAD_MULTI_VALUE_SET","SN_TYPEAHEAD_WRAPPER_BUTTON_ICONIC_CLICKED","SN_TYPEAHEAD_WRAPPER_LIST_HIDDEN","SN_TYPEAHEAD_WRAPPER_LIST_VISIBLE","SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET","SN_TYPEAHEAD_WRAPPER_VALUE_SET","SN_TYPEAHEAD_WRAPPER_MULTI_LIST_HIDDEN","SN_TYPEAHEAD_WRAPPER_MULTI_LIST_VISIBLE","SN_TYPEAHEAD_WRAPPER_MULTI_SELECTED_ITEMS_SET","SN_TYPEAHEAD_WRAPPER_MULTI_VALUE_SET","SN_TYPEAHEAD_WRAPPER_QUERY_FETCH","SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_START","SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_SUCCESS","SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_FAILURE","SN_TYPEAHEAD_SEARCH_STATUS","COMPLETE","INITIAL_LOAD","SEARCHING","settings","getVariables","mapResults","onErrorActionType","onStartActionType","onSuccessActionType","queryFetchEffect","headerList","startActionType","handleListHidden","typeaheadSearchStatus","handleListVisible","handleValueSet","meta","errors","updatedState","errorType","stringify","queryVariables","typeaheadResults","EMPTY_LIST_LABEL","snTypeaheadQueryActionHandlers","snTypeaheadWrapperQuery","additionalFieldsToRetrieve","starPrefixRegex","isStarPrefixed","test","strippedInputVal","baseConditions","realData","option","totalCount","payloadValue","internalValueProp","additionalFieldData","inputValue","updatedValue","updatedDisplayValue","NO_RESULTS_FOUND_TEXT","SEARCHING_TEXT","createHeaderLabel","displayCount","displayCountValue","loading","loadingMessage","hasListSections","iconInfo","placeholder","buttonRef","viewableItems","selectedItems","_displayValue$split","displayValues","headerLabel","selectedItemIds","hidePadding","tooltip","itemsProp","isMultiSelection","searchStatus","hasDropdownListSections","TypeaheadMulti","Typeahead","isSearching","private","hasMessages","hasFieldMessages","isVariable","isReadOnly","divClassNames","itemIconLabel","itemIconInfo","bottomLabel","bottomIconLabel","bottomIconInfo","Boolean","slots","_metadataCache$tableM","_errorMessages$rowMes","_last","conditionIdToFocus","isFullWidthValueEditor","fieldComponentTag","fieldMacroponentSysId","fieldCustomizations","processFieldOverrides","fieldDotwalkPath","valueDotwalkPath","isVariableFieldUtils","baseOperatorsToExclude","_selectedField$dotwal","fieldSource","lastPathItem","getHierarchyOperatorsToExclude","errorMessages","hasRowMessages","hasOperatorMessages","hasValueMessages","isRowReadOnly","shouldBeReadOnly","isFieldReadOnly","isOperatorReadOnly","isValueEditorReadOnly","disableRemoveButton","shouldDisableRemoveButton","isLastPredicate","operatorInternalValue","appendToRowActionPayload","disableOrAction","disableAndAction","fieldElement","operatorElement","valueWrapperSource","valueElement","isOperatorHidden","isValueEditorHidden","rowGroupClasses","actionsClassnames","removeButtonA11yLabel","formatRemoveConditionA11yLabel","tooltipContent","trueDisplayValue","falseDisplayValue","trueOrfalse","choices","translatedAriaLabel","column","_coeffects$properties","rawValue","handleSnTypeaheadSelectedItemSet","displayValueMutated","tableReference","tableMetadataGraphQLEffect","tableMetadataBehavior","newTableMetadata","defaultSlot","variableMetadataGraphQLEffect","variableMetadataBehavior","variableMetadata","newMetadata","variableIds","valueLabel","isNumber","containerClassNames","escapeEmbeddedQueryTermSeparator","transformState","placeHolderText","divClassnames","dispatchTransformedEditorValue","replaceNewlinesWithCommas","text","mapObj","RegExp","matched","manageValue","afterDisplayValue","beforeDisplayValue","periodLabel","periodTriggerLabel","PERIOD_SELECT_OPTIONS","daysDisplayValue","hoursDisplayValue","minutesDisplayValue","monthsDisplayValue","quartersDisplayValue","yearsDisplayValue","timeLabel","timeTriggerLabel","TIME_UNIT_SELECT_OPTIONS","agoDisplayValue","fromNowDisplayValue","relativeToLabel","relativeToTriggerLabel","RELATIVE_TO_SELECT_OPTIONS","BLOCKED_KEY_CODES","handleNegativeKeyDown","keyCode","handleNegativePaste","clipboardData","getData","dispatchValueSet","updatedInternalValue","periodValue","relativeToValue","timeUnitValue","timeValue","transformStateToInternalValue","_PERIOD_SELECT_OPTION","_RELATIVE_TO_SELECT_O","_TIME_UNIT_SELECT_OPT","transformStateToDisplayValue","_value$match","matches","_all","transformInternalValueToState","handleItemClicked","select","min","onkeydown","onpaste","SN_DATE_POPOVER_CONTENT_BACK_BUTTON_CLICKED","SN_DATE_POPOVER_CONTENT_PANEL_UPDATED","SN_DATE_POPOVER_CONTENT_ITEM_SELECTED","SN_DATE_POPOVER_CONTENT_KEY_PRESSED","SN_DATE_POPOVER_CONTENT_KEY_PRESSED_ICONIC","FIRST_PANEL","SECOND_PANEL","FIRST_PANEL_ITEMS","SECOND_PANEL_ITEMS","findItem","array","foundItem","returnFocusToTrigger","hostElement","_nativeButton$focus","nowPopoverElement","snConditionPopoverButtonElement","nativeButton","buildAndDispatchTrendValue","trendOptionValue","trendOptionDisplayValue","trendDateValue","trendDateDisplayValue","trendCombinedValue","trendValue","trendDateCategory","buildTrendValue","setInitialValues","trendOptions","trendDateOptions","trendDateDisplay","getTrendDate","getTrendOptionDisplayValue","trendOption","trendCategory","trendDate","minYearLimit","maxYearLimit","day","January","February","March","April","May","June","July","August","September","October","November","December","month","abbreviation","generateYear","years","year","generateTime","hours","hour","enterAValueLabel","translatedString","iconStart","SECOND_PANEL_BUTTON","handleBackItemButtonEvent","slideContainerElement","firstPanelSelectedItem","secondPanelSelectedItem","showPanelIndex","focusOnFirstItem","seismicHoist","document","nextFocusedElement","dateOptions","selectedCalendarId","secondPanelValue","firstPanelValue","useRelativeSelected","matchingDate","itemChildren","itemLabel","focusOnSelectedItem","calendarHasBeenOpened","getCalendarFirstFocusableItem","_seismicHoist$shadowR","_seismicHoist$shadowR2","_nowDateTimeCalendar$","_nowDateTimeCalendar$2","nowDateTimeCalendar","itemIndex","panelType","elementToFocus","target","querySelectorAll","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__","endOfDay","format","isValid","parseISO","customListItemLabel","customListItemAriaLabel","useRelativeButtonLabel","useRelativeButtonAriaLabel","renderCalendar","defaultTime","hasTimePicker","dateFormat","dateType","initialCalendarValue","getInitialCalendarValue","dateFnsParse","dateFnsIsValid","dateFnsFormat","dateWithDefaultTime","hideFooter","on-click","renderRelativeList","isDateChoice","backItemButtonLabel","chevronIconAriaLabel","vnode","elm","repeat","isSelected","listItemLabel","tabindex","renderCustomItem","renderHomeIcon","renderChevronIcon","showCalendar","optionLabel","elementToSlot","positions","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__","getDurationFromTimestamp","timestamp","moment","epoch","getEpoch","difference","diff","asDays","floor","subtract","asMilliseconds","days","minutes","seconds","createDurationFromDateObj","sanitizeToNumber","utc","buildValueLabel","setInitialDurationState","getDurationFromJavascriptDurationDate","nextState","normalizedDuration","momentDuration","normalizeDuration","nextInternalValue","buildJavascriptDurationDate","nextDisplayValue","SN_VALUE_EDITOR_DURATION_CONTENT_POPOVER_KEY_PRESSED","daysLabel","hoursLabel","minutesLabel","secondsLabel","inputType","step","interactionType","currencyQueryValuePattern","handleComponentBootstrapped","queryValue","currencyQueryValuePatternResult","exec","extractCurrencyValueFromQueryValue","internalEditorMetadata","parsedCurrencyValue","currencyValue","ariaLabel","invalid","ariaDescribedBy","newQueryValue","formattedValue","relativeDateIntervalOptions","relativeDateOptions","getRelativeDateOptions","handleDropdownClicked","itemId","dropdownId","dotwalkLabel","updateStateAndDispatch","currentPayload","durationDisplayName","equivalentChoiceOptions","REF_LIST_TYPE","LIST_SOURCE","RUN_BUTTON","SN_REFERENCE_LOOKUP_BUTTON_ICONIC_CLICKED","SN_REFERENCE_LOOKUP_VALUE_CHANGED","handleReferenceFieldValueChanged","handleButtonIconicClicked","isVariableFlow","referenceKey","listType","RECENT_SELECTIONS_LABEL","resultLimit","transformReferenceItems","referenceKeyValue","referenceData","sublabel","slice","chars","additionalListItems","recentOptions","matchesCount","transformedRecentData","transformedData","additionalListItemsCount","prependItems","combinedResults","sections","resultsHeaderLabel","getGlobalSessionUserRoles","window","isGlobalDomainUser","globalUserDomain","globalUserRoles","referenceTable","referenceTableDefaultField","__internalTableMetadata","internalReferenceTable","internalReferenceTableDefaultField","internalReferenceKey","iconLabel","isCustomReferenceField","referenceFieldProps","questionId","ignoreRefQual","valueFieldLabel","NOT_IN","NOW_DATE_TIME_CALENDAR_SELECTED_ITEMS_SET","_timeAgo$value","hasTime","useTime","specificDate","calendarDate","calendarTime","showTimePicker","timeAgo","operationType","dateParts","findTimeAgo","hasTimeAgoLoaded","previousMetadataCache","updatedMetadataCache","previousTimeAgoDates","parsedTime","parsedDate","formattedTime","glide_date_choice","timeAgoDate","before","after","getInternalValue","nodeList","elementArray","calendarIconAriaLabel","getDefaultTime","beforeValue","afterValue","isDirtyByLoading","beforeLabel","afterLabel","originalValue","payloadDisplayValue","payloadInternalValue","displayValueLabel","beforeAppendToPayload","afterAppendToPayload","beforeBetweenFieldValue","afterBetweenFieldValue","renderNumberEditors","isDecimal","renderBetweenFields","renderChoiceEditors","renderCurrencyEditors","afterInternalValue","beforeInternalValue","renderCurrency2Editors","renderDurationEditors","_ref7","renderDateChoiceEditors","_ref6","renderStringEditors","OPERATORS","getDynamicChoicePayload","lastSection","dynamicSchemaData","attributeNamespacedName","getDynamicAttributes","namespaces","includeInactive","SN_VALUE_EDITOR_HIERARCHY_REFERENCE_STARTING_POINT_SET","newHierarchyIdentifier","newStartingPoint","newStartingPointDisplayValue","newInclusive","canonicalValue","_field$dotwalkPath","fieldInternalName","parsedStartingPointDisplayValue","extractStartingPointDisplayValue","newStartingPointValue","selectId","updates","restProps","currentSelectedField","lookupEditorValue","hierarchyOptions","currentHierarchySysId","SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_TITLE_UPDATED","SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CONDITION_UPDATED","SOURCE_ID","updateConditionsModel","updatedCondition","_host$shadowRoot$focu","scrollIntoView","appended","currentTitle","_condition$operator","processedCondition","originalCondition","c","processHierarchyCondition","updatedModel","NOW_RECORD_LIST_CONNECTED_ROW_CLICKED","NOW_CONDITION_BUILDER_ENCODED_QUERY_SET","NOW_RECORD_LIST_CONNECTED_QUERY_UPDATED","NOW_RECORD_LIST_CONNECTED_DATA_FETCH_SUCCEEDED","OPEN_PANEL","COMPONENT_DOM_READY","isFilterOverviewCollapsed","clonedPayload","mappedRow","updatedconditionObj","sourceValue","partial","queryModel","comparisonModel","filterCount","conditionValue","internal","displayParts","stagedQuery","componentName","listQuery","renderErrorMessage","msg","heading","level","illustration","renderPredicateModelError","triggerHeaderLabel","triggerButtonLabel","runButtonLabel","renderList","limit","renderConditionBuilder","conditionBuilderQuery","collapsedDirection","controls","round","expanded","compactMode","hideActionBar","hideEditorDescription","hideFilterOverview","hideRelatedListQueryConditions","hideSortByDescription","hideSortBy","hideCellFilter","hideColumnGrouping","hideColumnReorder","hideColumnResizing","hideHeader","hideInlineEditing","hidePanel","hideQuickEdit","hideRowSelector","hideSelectAll","isRefList","recordSysId","renderReferenceList","headerTitle","SN_SINGLE_PREDICATE_UPDATE_ACTION","defaultGroupedPredicateConfig","GLOBAL","groupLabel","displayType","AND","bracketColor","OR","SEPARATED_GROUP","updatePathMapState","stateUpdates","updateGroupedPredicateConfig","groupedPredicateConfig","updatePredicateModel","collated","showAddConditionSet","updatedPathMap","isLast","groupPredicateId","pathObj","oldPredicate","prevPredicateProperties","updatedPredicateProperties","newPredicateComposition","updatePredicateProperties","newPredicate","groupPathInfo","updatedGroupPredicates","predicatePathInfo","existingPredicate","newGroupPredicate","existingGroupPredicate","addPredicateToGroup","removePredicate","nextConditionId","getNextConditionId","decodedQueryConditions","prevPredicateComposition","modifier","delay","maxWait","collate","isInitialLoad","globalMacroponentSysId","globalComponentTag","tabIndex","missingPredicateMessage","renderPredicate","_predicate$componentT","numPredicates","parentGroupLabel","predicateIndex","totalNumPredicates","renderTypeError","predicateContainerClassNames","fetchingPath","getFetchingPath","getTranslatedGroupLabel","_groupConfig$displayT","groupConfig","renderGroupTypeError","renderBracketContainer","translatedGroupLabel","bracketContainerClassNames","renderNewLineSeparator","showDefaultSeparator","errorMessage","addConditionSetLabel","fixedConditionsModel","updatePredicateComposition","componentProperties","shouldRenderWhenSet","RELATED_LIST_FETCH_SUCCESS","RELATED_LIST_FETCH_FAILED","RELATED_LIST_FETCH_REQUESTED","RELATED_LIST_SELECTED","NOW_SELECT_LIST_VISIBLE","NOW_SELECT_LIST_HIDDEN","BETWEEN_INPUT_NAME","CONDITION_INPUT_NAME","BETWEEN_ID","NONE_ID","NO_CONDITION_ITEM","CONDITION_ITEMS","INITIAL_OPERATOR_ID","CLEAR_ROW_LABEL","CLEAR_ROW_ID","OPERATOR_LABEL","RELATED_LIST_LABEL","VALUE_LABEL","OPERATOR_SOURCE","getDefaultRLQCModel","relationType","relationValue","relatedTableName","relationOperator","relatedTableLabel","relatedListIdentifier","setDefaultValues","relatedListConditionsModel","relatedListModel","dispatchRelatedListConditionsUpdate","quantity","relatedTable","operand","currRelationOperator","updatedRelationValue","operatorDropdownOpened","_relatedListCondition","conditionInputValue","conditionBetweenInputValue","relationOperatorField","updatedRelatedConditionsModel","handleFetchRelatedListMetadataRequested","selectedId","tables","tableData","mapResponseToDropdown","additionalInfo","search","showPadding","DESCRIPTION_TEXT","CLEAR_TEXT","RELATED_LIST_INFO_TEXT","handleKeyDown","isBetweenSelected","isNoneSelected","appendToMeta","CLEAR_BUTTON_LABEL","DOT_WALK_LABEL","groupByModel","buildMetadata","dotWalkButton","_first","rest","updatedGroupByModel","ASCENDING_DISPLAY_VALUE","DEFAULT_DISPLAY_VALUE","DESCENDING_DISPLAY_VALUE","FIELD_LABEL","REMOVE_ICON_TOOLTIP","fixedGroupByModel","hasFixedGroupByModel","SN_SORT_BY_FIELD_UPDATED","SN_SORT_BY_TYPE_UPDATED","SN_SORT_BY_SET_FOCUS","BUTTON_LABEL","SORT_BY_ASCENDING","ARIA_LIVE_REGION_UPDATE_REQUESTED","focusOnRemoveButton","snSortByRow","removeSortByRowButton","element","selector","_element$shadowRoot","generateEmptySortBy","updateSortByModel","sortByModel","fixedSortByModel","ensureIds","updatedFixedSortByModel","updatedSortByModel","fieldTypesAndOrderByTypes","orderByType","order","emptySortBy","sortByRowIdToFocus","nextIdToFocus","indexToRemove","_updatedSortByModel$i","getNextSortByModelIdToFocus","_updatedSortByModel$l","fromLastRow","count","lastIndex","isLastItem","_updatedSortByModel$","focusAfterRemoveSortRow","dotWalkPayload","sortByRowId","previousRenderProperties","previousSortByRowIdToFocus","sortData","snDotWalkPopover","getSnDotWalkPopover","snDotWalkPopoverButton","_snDotWalkPopover$sha","getSnDotWalkPopoverButton","isOnlyRow","orderType","isDeleteReadOnly","tooltipOrderType","hideLabel","sortByModelFromProps","renderSortByRow","sort","indexOfSortRow","BEHAVIOR_NAME","DB_API_EXEC_REST_URL","GRAPHQL_DATA_BROKER_TYPE","NOW_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY","SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_FAILED","SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_REQUESTED","SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_SUCCESS","NOW_PREDICATE_BUILDER_CTRL_DECODED_QUERY_UPDATED","NOW_PREDICATE_BUILDER_BEHAVIOR_DECODED_QUERY_UPDATED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","handleFetchFailedClientScript","async","_event$payload","_event$payload2","api","eventId","dataElemId","serverError","header","translate","setState","isTestMode","process","env","convertObjectToDatabrokerParamsFormat","inputValues","createClientScriptProxyObject","behaviorName","additionalPayload","original","convertDatabrokerParamsToObjectFormat","emit","Promise","resolve","createFailureClientScriptProxyObject","handleDecodeEncodedQuerySuccess","predicate_builder_controller_decode_encoded_query_string","_newDecodedQuery$cond","_newFixedDecodedQuery","output","queryPayload","GlidePredicateBuilder_Query","getDecodedQuery","queryInfoMessages","newDecodedQuery","fixedQueryPayload","GlidePredicateBuilder_FixedQuery","getFixedDecodedQuery","fixedQueryInfoMessages","newFixedDecodedQuery","mapDynamicSchemaData","newField","combinedMetadata","tableItem","newTableItem","combineTableMetadata","handleDecodeEncodedQuerySuccessClientScript","handleDecodeEncodedQueryFailed","fixedEncodedQuery","disableFetchOnPropertyChanged","definitionSysId","method","batch","dataParam","NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY","SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_FAILED","SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_REQUESTED","SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_SUCCESS","NOW_PREDICATE_BUILDER_CTRL_ENCODED_QUERY_UPDATED","NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODED_QUERY_UPDATED","stripConditionId","otherProps","err","formatData","useHasItemVariableSyntax","updatedDecodedQuery","updatedFixedDecodedQuery","handleEncodeDecodedQuerySuccess","queryData","getEncodedQuery","combinedEncodedQuery","handleEncodeDecodedQuerySuccessClientScript","handleEncodeDecodedQueryFailed","decodedQueryString","fixedDecodedQueryString","NOW_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS","NOW_PREDICATE_BUILDER_CTRL_PANEL_DEFINITIONS_UPDATED","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_SCHEMA_PANEL_DEFINITIONS","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_FAILED","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_REQUESTED","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_SUCCESS","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_FAILED","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_REQUESTED","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_SUCCESS","handleFetchDynamicCategoriesPanelDefinitionsSuccess","_queryData$getDynamic","_panelData$panelDefin","panelData","getDynamicCategoriesPanelData","loadMoreRequestParamsList","newPanelDefinitions","handleDynamicCategoriesPanelDefinitionsSuccessClientScript","handleFetchDynamicAttributesPanelDefinitionsSuccess","getDynamicAttributesPanelData","tableMetadataItem","parsedMetadata","handleDynamicAttributesPanelDefinitionsSuccessClientScript","handleFetchDynamicSchemaPanelDefinitionsFailed","dynamicAttributesActionHandlers","enableDotwalking","updatedParams","disableDotwalking","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_FAILED","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_REQUESTED","SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_SUCCESS","handleFetchPanelDefinitionsSuccess","_getPanelData$panelDa","_getPanelData$panelDa2","getPanelData","getTableMetadata","panelDataInfoMessages","tableMetadataInfoMessages","createLabelCountMap","counterMap","transformPanelDefinition","oldItems","duplicateMap","secondaryLabel","newLoadMoreRequestParams","createDynamicAttributeTableMetadata","handlePanelDefinitionsSuccessClientScript","handleFetchPanelDefinitionsFailed","panelDefinitionActionHandlers","fieldExclusionList","fieldInclusionList","includeExcludedOperators","includeExtendedOperators","decodeEncodedQueryBehavior","panelDefinitionsBehavior","encodeDecodedQueryBehavior","updatedPayload","NOW_MODAL_OPENED_SET","SN_LOAD_FILTER_POPOVER_CLOSED","SN_LOAD_FILTER_DELETE_CONFIRMATION_MODAL_OPENED","SN_LOAD_FILTER_DELETE_FILTER_FAILED","SN_LOAD_FILTER_DELETE_FILTER_REQUESTED","SN_LOAD_FILTER_DELETE_FILTER_SUCCEEDED","SN_LOAD_FILTER_FETCH_SAVED_FILTERS_REQUESTED","SN_LOAD_FILTER_FILTER_TABLE_FETCH_FAILED","SN_LOAD_FILTER_FILTER_TABLE_FETCH_SUCCEEDED","EMPTY_FILTERS_CONTENT","FILTER_ACTION_REMOVE","SAVE_ACTIVE_FILTERS_LABEL","SAVE_FILTER_POPOVER","NOW_INPUT_VALUE_CHANGED","NOW_RADIO_BUTTONS_CLICKED","SN_SAVE_FILTER_BUTTON_CLICKED","SN_SAVE_FILTER_CANCEL_CLICKED","SN_SAVE_FILTER_GROUP_FIELD_CHANGED","SN_SAVE_FILTER_LABEL_UPDATED","SN_SAVE_FILTER_REQUESTED","SN_SAVE_FILTER_SAVE_TYPE_UPDATED","SN_SAVE_FILTER_TABLE_SAVE_FAILED","SN_SAVE_FILTER_TABLE_SAVE_STARTED","SN_SAVE_FILTER_TABLE_SAVE_SUCCEEDED","SAVE_TYPE","ROLES","saveFilterInitialValues","filterLabel","saveType","groupId","saveTypeOptions","checked","fetching","saveFilterInitialState","SAVING_FILTER","SEARCH_PLACEHOLDER","CANCEL_BUTTON_ARIA","FILTER_LABEL","GROUP_PERMISSION_ARIA","PERMISSIONS_LABEL","SAVE_BUTTON_ARIA","SAVE_FILTER","BUILD_EFFECT_VALUE","FILTER_SAVE_ERROR","pathParams","buildEffect","_len","payloadFields","_key","actionToDispatch","trackMetadata","trackFieldTypesAndOperators","group","fetchSavedFiltersEffect","userRoles","hasGlobalRole","hasGroupRole","hasAdminRole","showGroupPicker","isSaveButtonDisabled","sz","minLength","layout","buildAdditionalQueryString","buildSaveTypeOptions","HEADER_LABEL","SHARED_FILTER_HEADER_LABEL","DELETE_FILTER_LABEL","DELETE_SHARED_FILTER_LABEL","LOAD_FILTER_ARIA","POPOVER_TRIGGER_DISPLAY_NAME","SAVE_LABEL","queryParams","parseSavedFilterResponse","category","canDelete","shared","item1","item2","localeCompare","showLoadFilter","savedFilters","_payload$footerAction","selectedFilter","footerAction","sys_id","showDeleteConfirmationModal","savePopoverTrigger","response","deleteFilterEffect","updatedFilters","isFocusOnLastDeleteButton","actionType","handleSetFocusOnLastDeleteButton","snLoadFilterContentPopover","filterListItems","nowIconicButton","showSaveFilter","isPersonal","modalContent","manageOpened","PRESOURCE_USER_ROLES","showPill","headingLevel","hideDividers","weight","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH","SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_START","SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_SUCCESS","SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_FAILURE","NOW_RADIO_BUTTONS_VALUE_SET","NOW_DATE_TIME_INTERVAL_VALUES_START_END_SET","IS_ONE_OF_LABEL","ANYTHING_LABEL","IS_LABEL","_deviceInfoContext$de","deviceType","deviceInfoContext","hasNoEffectiveChange","selectedChoices","newSelectedChoices","getOperatorByCount","internalValueMutated","hasHiddenChoices","formattedChoices","selectedInternalValues","choicesInView","updatedToggleState","getToggleButtonLabel","baseId","labelId","pillsId","isMobile","containerCx","classNames","manageSelected","selected","labelPosition","dispatchPredicateAction","CUSTOM_DATE","DEFAULT_DATE_SELECTIONS","END_DATE_LABEL","ISO_DATE_TYPES","ON_DISPLAY_VALUE","PRESET_DATE","START_DATE_LABEL","IS_ANYTHING_INTERNAL_VALUE","IS_ANYTHING_DISPLAY_VALUE","parseDateFromEncodedQuery","str","getParsedDateAndTime","location","_val$internalValue","currentSelection","getCurrentSelection","dates","startDate","endDate","getValue","applyOperator","ON_OPERATOR","isoDateEnd","isoDateStart","parsedStart","parsedEnd","valueStart","valueEnd","labelStart","labelEnd","adaptive","gap","selectedDate","datesToSelect","subLabel","tooltipValue","buttonCx","NOW_DROPDOWN_LIST_ITEM_CLICKED","_conditionObj$value","updatedConditionObj","referenceItems","manageSelectedItems","_resize$size","panelDefinitionsCachingBehavior","resize","relatedListQuery","groupBy","fixedConditions","fixedOrderBy","fixedGroupBy","maxContentHeight","displayableTabs","isCompactMode","width","showTabs","getNowModeState","currentTab","SUSPEND","contentClassNames","sm","renderActionBar","shouldShowLabelToggle","snConditionBaseProps","hide","hideDivider","infoMessage","_infoMessage$status","formattedContent","href","resizeBehavior","wait","transformCurrency","transformDateChoice","glide_date_comparative","transformDateComparative","glide_date_equivalent","transformDateEquivalent","fieldOperatorMappingsSchema","builderTypes","isComponentsLoading","builderType","showLoader","renderPredicateBuilder","panelDefinitionSchema","updateCondition","referenceId","clonedConditions","clonedRelatedListQueryConditions","NOW_FILTER_OVERVIEW_DECODED_QUERY_UPDATED","NOW_FILTER_OVERVIEW_COPY_QUERY","SN_FILTER_CARD_MENU_ITEM_CLICKED","SN_FILTER_OVERVIEW_CARD_FOCUSED","NOW_DROPDOWN_ACTIVE_ITEM_SET","SN_FILTER_CARD_MOUSE_LEAVE","SN_FILTER_CARD_FOCUS_AFTER","FILTER_SUMMARY_TITLE","FILTER_SUMMARY_DESCRIPTION","COPY_QUERY_DISPLAY_VALUE","DELETE_ALL_AFTER_DISPLAY_VALUE","DELETE_CONDITION_DISPLAY_VALUE","INCOMPLETE_QUERY_DISPLAY_VALUE","OPEN_EDITOR_DISPLAY_VALUE","QUALIFIER_STATEMENT_CLEAR_RELATED_LIST_DISPLAY_VALUE","QUERY_CONDITION_TYPE_OR","RELATED_LIST_CONDITIONS_LABEL","SHOW_LESS_LABEL","COPY_QUERY","DELETE_ALL_AFTER","DELETE_CONDITION","OPEN_EDITOR","QUALIFIER_STATEMENT_CLEAR_RELATED_LIST","QUALIFIER_STATEMENT_COPY_QUERY","QUALIFIER_STATEMENT_DELETE_ALL_AFTER","FIXED_CONDITIONS","FIXED_RELATED_LIST_CONDITIONS","SHOW_MORE_ID","SHOW_LESS_ID","PAYLOAD_KEYS","MENU_ITEMS","FILTER_TYPES","EXPAND_FILTERS_BTN_ID","VALID_EMPTY_VALUE_OPERATORS","BETWEEN_LABEL","findRemovalIndex","createMenuItems","showCopyQuery","showDeleteAllAfter","showDeleteCondition","showOpenEditor","showQualifierStatementClearRelatedList","showQualifierStatementCopyQuery","showQualifierStatementDeleteAllAfter","menuItems","deleteAllAfterCondition","removalIndex","toSpliced","stripReferenceId","areQueryConditionsEqual","stateConditions","payloadConditions","stateCondition","payloadCondition","stateField","stateOperator","stateValue","payloadField","payloadOperator","isShallowEqual","areQueryPropertiesEqual","stateQueryProperties","payloadQueryProperties","left","right","getDecodedQueryDisplayableCount","_decodedQuery$conditi","_decodedQuery$related","createLabel","_condition$operator2","_condition$operator3","_condition$value2","fieldDisplayValue","operatorDisplayValue","valueDisplayValue","_condition$value","isIncompleteCondition","getConditionTypePrefix","generateConditionsDisplayData","displayableCount","groups","isExpanded","isQualifierStatementDeleteAllAfter","removalFilterType","removalReferenceId","conditionGroups","filterType","hideQualifierStatement","transformedCondition","prefix","queryConditionType","isHidden","isStrikeThru","allConditionsCount","getIndexToFocus","containers","setInitialFilterOverviewState","decodedQueryDisplayableCount","fixedDecodedQueryDisplayableCount","fixedRelatedListQuery","handleCopyQuery","filterCardEl","sanitizedConditions","handleDeleteConditionOrDeleteAllAfter","resetRemovalState","_value$relatedListQue","queryConditionsAreEqual","relatedListQueryConditionsAreEqual","relatedListQueryPropertiesAreEqual","_value$relatedListQue2","fixedRelatedListQueryPropertiesAreEqual","_host$shadowRoot2","containerWidth","firstChild","offsetWidth","visibleWidth","scrollWidthAndPadding","scrollWidth","relatedListQueryConditions","selectedAction","targetConditions","handleCopyQueryAction","indexToDelete","nextIndex","currentCondition","nextCondition","deleteCondition","indexToFocus","container","getAttribute","currentIndex","classList","contains","moveBackKey","_host$shadowRoot3","_firstRevealedConditi","conditionElement","_host$shadowRoot4","buttonElement","_host$shadowRoot5","lastVisibleBeforeHidden","conditionEl","_lastVisibleBeforeHid","el","nextElement","_host$closest","conditionsGroupEl","closest","filterCards","filterCardsLength","card","nowFilterOverviewParentEl","isRTL","moveNextKey","movePrevKey","_nextConditionContain","_nextCardContainerEl$","nextConditionContainerEl","nextCardContainerEl","_toggleButtonEl$shado","_toggleButtonEl$shado2","_filterCards$nextInde","FIXED_FILTER_SIMPLE_MODE","FIXED_FILTER_DISTRIBUTED_MODE","SELECT_ACTION_LABEL","setTargetRef","targetRef","hideMenu","isFixed","parentPrefix","strikeThru","tooltipText","filterCardClassNames","lockTooltip","hook-destroy","hideCaret","hideBlockPadding","hideTail","renderConditions","menuItemSettings","conditionsLength","conditionClassNames","displayOr","shouldDisplayOrElement","isLastPosition","nowAvoidRender","CONDITION_GROUPS","hiddenCount","showMoreLabel","groupConditions","isFilterTypeLocked","qualifierStatementClassNames","relationString","newRelationValue","firstValue","secondValue","renderQualifierStatement","preventRenderUntilSizeAvailable","SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_REQUESTED","SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_SUCCESS","SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_FAILED","NOW_PREDICATE_BUILDER_BEHAVIOR_COPY_QUERY_SUCCESS","handleCopyEncodedQueryFailed","onError","navigator","clipboard","writeText","_filterCardEl$shadowR","textarea","position","body","appendChild","execCommand","removeChild","filterOverviewConnectedBehavior","copyQueryBehavior","conditionBuilderConnectedBehavior","__TECTONIC__$servicenow_now_predicate_builder"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-predicate-builder/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/resources/decodedQuery.schema.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/resources/fieldOperatorMappings.schema.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/resources/panelDefinition.schema.js","webpack:///@servicenow/now-predicate-builder/example/demo/stories/customFieldDemo/sn-field-override-example/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/now-filter-overview/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/sn-filter-card/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-field-wrapper/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-operator-wrapper/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-row/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-value-editor-wrapper/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-predicate-builder/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-alternative-view/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-row-messages/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-variables-row/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-conditions/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-date-popover-content/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-dot-walk-popover/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/sn-load-filter-content-popover/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-fixed-query-wrapper/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-group-by/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-grouped-predicate/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-popover-trigger/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-predicate-builder/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-list-connected-wrapper/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-lookup/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions-table-picker-connected/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-save-filter/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by-row/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-drill-in-button/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-reference-drill-in/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-boolean/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-choice/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-date-field/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-reference/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-typeahead-wrapper/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-between-field/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-boolean/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency-fx/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-choice/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-comparative/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-equivalent/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-relative/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-trend/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/sn-value-editor-duration-content-popover/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-hierarchy-reference/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-number/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-string/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-textarea/styles.scss","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-yes-no/styles.scss","webpack:///./example/demo/stories/customFieldDemo/sn-field-override-example/styles.scss?4999","webpack:///./src/now-filter-overview/components/now-filter-overview/styles.scss?eb06","webpack:///./src/now-filter-overview/components/sn-filter-card/styles.scss?400e","webpack:///./src/now-predicate-builder/components/now-condition-builder-field-wrapper/styles.scss?4579","webpack:///./src/now-predicate-builder/components/now-condition-builder-operator-wrapper/styles.scss?a652","webpack:///./src/now-predicate-builder/components/now-condition-builder-row/styles.scss?aeac","webpack:///./src/now-predicate-builder/components/now-condition-builder-value-editor-wrapper/styles.scss?bcba","webpack:///./src/now-predicate-builder/components/now-predicate-builder/styles.scss?d9f1","webpack:///./src/now-predicate-builder/components/sn-condition-builder-alternative-view/styles.scss?526d","webpack:///./src/now-predicate-builder/components/sn-condition-builder-row-messages/styles.scss?c610","webpack:///./src/now-predicate-builder/components/sn-condition-builder-variables-row/styles.scss?8afa","webpack:///./src/now-predicate-builder/components/sn-condition-builder/styles.scss?a2ea","webpack:///./src/now-predicate-builder/components/sn-conditions/styles.scss?82f8","webpack:///./src/now-predicate-builder/components/sn-date-popover-content/styles.scss?eb9d","webpack:///./src/now-predicate-builder/components/sn-dot-walk-popover/styles.scss?b967","webpack:///./src/now-predicate-builder/components/sn-filter-manager/sn-load-filter-content-popover/styles.scss?496f","webpack:///./src/now-predicate-builder/components/sn-filter-manager/styles.scss?e63a","webpack:///./src/now-predicate-builder/components/sn-fixed-query-wrapper/styles.scss?5dc0","webpack:///./src/now-predicate-builder/components/sn-group-by/styles.scss?335a","webpack:///./src/now-predicate-builder/components/sn-grouped-predicate/styles.scss?5420","webpack:///./src/now-predicate-builder/components/sn-popover-trigger/styles.scss?bead","webpack:///./src/now-predicate-builder/components/sn-predicate-builder/styles.scss?2cc0","webpack:///./src/now-predicate-builder/components/sn-record-list-connected-wrapper/styles.scss?db40","webpack:///./src/now-predicate-builder/components/sn-record-lookup/styles.scss?80b8","webpack:///./src/now-predicate-builder/components/sn-related-list-conditions-table-picker-connected/styles.scss?dde9","webpack:///./src/now-predicate-builder/components/sn-related-list-conditions/styles.scss?565e","webpack:///./src/now-predicate-builder/components/sn-save-filter/styles.scss?ccf6","webpack:///./src/now-predicate-builder/components/sn-sort-by-row/styles.scss?d440","webpack:///./src/now-predicate-builder/components/sn-sort-by/styles.scss?845c","webpack:///./src/now-predicate-builder/components/sn-taxonomy-drill-in-button/styles.scss?2e43","webpack:///./src/now-predicate-builder/components/sn-taxonomy-reference-drill-in/styles.scss?9737","webpack:///./src/now-predicate-builder/components/sn-taxonomy-row-boolean/styles.scss?c7ab","webpack:///./src/now-predicate-builder/components/sn-taxonomy-row-choice/styles.scss?4c6d","webpack:///./src/now-predicate-builder/components/sn-taxonomy-row-date-field/styles.scss?a21f","webpack:///./src/now-predicate-builder/components/sn-taxonomy-row-reference/styles.scss?50d9","webpack:///./src/now-predicate-builder/components/sn-typeahead-wrapper/styles.scss?2f24","webpack:///./src/now-predicate-builder/components/sn-value-editor-between-field/styles.scss?7d39","webpack:///./src/now-predicate-builder/components/sn-value-editor-boolean/styles.scss?9166","webpack:///./src/now-predicate-builder/components/sn-value-editor-currency-fx/styles.scss?44a1","webpack:///./src/now-predicate-builder/components/sn-value-editor-currency/styles.scss?f3bd","webpack:///./src/now-predicate-builder/components/sn-value-editor-date-choice/styles.scss?85f8","webpack:///./src/now-predicate-builder/components/sn-value-editor-date-comparative/styles.scss?568a","webpack:///./src/now-predicate-builder/components/sn-value-editor-date-equivalent/styles.scss?b0a9","webpack:///./src/now-predicate-builder/components/sn-value-editor-date-relative/styles.scss?ffad","webpack:///./src/now-predicate-builder/components/sn-value-editor-date-trend/styles.scss?2dbf","webpack:///./src/now-predicate-builder/components/sn-value-editor-duration/sn-value-editor-duration-content-popover/styles.scss?bebe","webpack:///./src/now-predicate-builder/components/sn-value-editor-duration/styles.scss?0d80","webpack:///./src/now-predicate-builder/components/sn-value-editor-hierarchy-reference/styles.scss?cabd","webpack:///./src/now-predicate-builder/components/sn-value-editor-number/styles.scss?268c","webpack:///./src/now-predicate-builder/components/sn-value-editor-string/styles.scss?2704","webpack:///./src/now-predicate-builder/components/sn-value-editor-textarea/styles.scss?69d5","webpack:///./src/now-predicate-builder/components/sn-value-editor-yes-no/styles.scss?3d98","webpack:///@babel/runtime/7.25.7/helpers/classCallCheck.js","webpack:///@babel/runtime/7.25.7/helpers/createClass.js","webpack:///@babel/runtime/7.25.7/helpers/defineProperty.js","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.25.7/helpers/toPrimitive.js","webpack:///@babel/runtime/7.25.7/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.25.7/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/29.0.5/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-effect-component-loader/26.0.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-effect-macroponent-loader/27.0.6/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-predicate-builder/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder/telemetryEvents.constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-commons/fetchedEditorComponents.constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/componentLoaderBehavior/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/componentLoaderBehavior/componentLoaderBehavior.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/componentLoaderBehavior/index.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/commons/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder/constants.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-dot-walk-popover/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-predicate-builder/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-predicate-builder/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/29.0.5/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-dot-walk/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/fetchingValueEditorBehavior/createLoading.view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/fetchingValueEditorBehavior/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/fetchingValueEditorBehavior/fetchingValueEditorBehavior.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/fetchingValueEditorBehavior/index.js","webpack:///@servicenow/now-predicate-builder/src/commons/utils/uuid.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/fetchingValueEditorBehavior/createFetchingValueEditorGraphQLEffect.query.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/utils/comparisonUtils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/model/FieldOperatorConfig.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/model/FieldTypeConfig.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/model/OperatorConfig.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/model/FieldOperatorMappings.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-predicate-builder/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-row/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-field-wrapper/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder/builtinFieldOperatorRelationships.constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-operator-wrapper/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-operator-wrapper/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-value-editor-wrapper/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-value-editor-wrapper/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-dot-walk-popover/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-dot-walk-popover/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-hierarchy-reference/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-hierarchy-reference/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-row/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/sn-load-filter-content-popover/actionTypes.js","webpack:///external module \"/uxasset/externals/sn-ux-core/26.0.5/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-choice/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-choice/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-commons/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-comparative/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-comparative/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-equivalent/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder/valueEditorMetadata.query.js","webpack:///external module \"/uxasset/externals/klona/2.0.6/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-conditions/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-conditions/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/utils/counter.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/utils/predicateUtils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-conditions/transformUtils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-conditions/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-field-wrapper/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-operator-wrapper/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-value-editor-wrapper/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-row/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-row/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-input/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-dropdown/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-field-wrapper/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/29.0.5/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/29.0.5/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-dot-walk-popover/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/keyboardNavBehavior/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-dot-walk-popover/events.js","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/classnames/2.3.1/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-dot-walk-popover/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-dot-walk-popover/sn-dot-walk-popover.element.js","webpack:///@servicenow/now-predicate-builder/example/demo/stories/customFieldDemo/sn-field-override-example/actions.js","webpack:///@servicenow/now-predicate-builder/example/demo/stories/customFieldDemo/sn-field-override-example/view.js","webpack:///@servicenow/now-predicate-builder/example/demo/stories/customFieldDemo/sn-field-override-example/sn-field-override-example.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-row-messages/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-row-messages/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-row-messages/sn-condition-builder-row-messages.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-variables-row/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-variables-row/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-commons/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-commons/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-field-wrapper/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-field-wrapper/now-condition-builder-field-wrapper.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-operator-wrapper/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-select/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-operator-wrapper/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-operator-wrapper/now-condition-builder-operator-wrapper.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-between-field/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-value-editor-wrapper/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-value-editor-wrapper/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-value-editor-wrapper/now-condition-builder-value-editor-wrapper.element.js","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-lookup/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-variables-row/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-variables-row/query.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-variables-row/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-typeahead-wrapper/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-typeahead-wrapper/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-typeahead-wrapper/queryActionHandlers.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-lookup/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-lookup/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-lookup/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-typeahead-wrapper/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-typeahead/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-typeahead-wrapper/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-typeahead-wrapper/typeahead-multi.view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-typeahead-wrapper/typeahead.view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-typeahead-wrapper/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-typeahead-wrapper/sn-typeahead-wrapper.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-lookup/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-lookup/sn-record-lookup.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-variables-row/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-variables-row/sn-condition-builder-variables-row.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-row/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-condition-builder-row/now-condition-builder-row.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-boolean/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-boolean/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-boolean/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-boolean/sn-value-editor-boolean.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-choice/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-choice/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-choice/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-choice/sn-value-editor-choice.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-choice-dynamic/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-commons/tableMetadataBehavior.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-query-table-metadata/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-query-table-metadata/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-query-table-metadata/sn-query-table-metadata.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-commons/variableMetadataBehavior.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-query-variable-metadata/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-query-variable-metadata/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-query-variable-metadata/sn-query-variable-metadata.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-choice-dynamic/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-choice-dynamic/sn-value-editor-choice-dynamic.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-choice-field-names/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-choice-field-names/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-choice-field-names/sn-value-editor-choice-field-names.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-number/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-number/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/utils/escapeEmbeddedQueryTermSeparator.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-number/sn-value-editor-number.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-string/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-string/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-string/sn-value-editor-string.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-yes-no/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-yes-no/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-yes-no/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-yes-no/sn-value-editor-yes-no.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-textarea/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-textarea/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-textarea/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-textarea/sn-value-editor-textarea.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-tag/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-record-field-lookup-connected/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-tag/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-tag/sn-value-editor-tag.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-relative/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-relative/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-relative/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-relative/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-relative/sn-value-editor-date-relative.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-date-popover-content/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-date-popover-content/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-trend/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-trend/generateTrendOptions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-popover-trigger/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-popover-trigger/sn-popover-trigger.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-date-popover-content/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-date-time/index.jsdbx\"","webpack:///external module \"/uxasset/externals/date-fns/2.28.0/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-date-popover-content/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-date-popover-content/sn-date-popover-content.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-trend/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-trend/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-trend/sn-value-editor-date-trend.element.js","webpack:///external module \"/uxasset/externals/moment/2.30.1/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/events.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/sn-value-editor-duration-content-popover/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/sn-value-editor-duration-content-popover/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/sn-value-editor-duration-content-popover/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/sn-value-editor-duration-content-popover/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/sn-value-editor-duration-content-popover/sn-value-editor-duration-content-popover.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-duration/sn-value-editor-duration.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency/constants.js","webpack:///external module \"/uxasset/externals/@devsnc/sn-record-currency-connected/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency/sn-value-editor-currency.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency-fx/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency-fx/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency-fx/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-currency-fx/sn-value-editor-currency-fx.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-comparative/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-comparative/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-comparative/sn-value-editor-date-comparative.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-equivalent/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-equivalent/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-equivalent/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-equivalent/sn-value-editor-date-equivalent.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-list-connected-wrapper/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-reference-lookup/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-reference/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-reference-lookup/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-reference-lookup/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-reference-lookup/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-reference-lookup/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-reference-lookup/sn-reference-lookup.element.js","webpack:///@servicenow/now-predicate-builder/src/commons/utils/uxGlobalsUtils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-reference/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-reference/sn-value-editor-reference.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-variable-choice/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-variable-choice/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-variable-choice/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-variable-choice/sn-value-editor-variable-choice.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-choice/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-choice/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-choice/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-date-choice/sn-value-editor-date-choice.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-between-field/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-between-field/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-between-field/sn-value-editor-between-field.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-dynamic-attribute-choice/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-dynamic-attribute-choice/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-dynamic-attribute-choice/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-dynamic-attribute-choice/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-dynamic-attribute-choice/sn-value-editor-dynamic-attribute-choice.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-hierarchy-reference/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-hierarchy-reference/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-hierarchy-reference-wrapper/sn-hierarchy-reference-wrapper.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-hierarchy-reference/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-value-editor-hierarchy-reference/sn-value-editor-hierarchy-reference.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-alternative-view/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-alternative-view/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-alternative-view/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-list-connected-wrapper/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-list-connected-wrapper/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-collapse/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/utils/errorUtils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-list-connected-wrapper/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-record-list-connected-wrapper/sn-record-list-connected-wrapper.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-alternative-view/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder-alternative-view/sn-condition-builder-alternative-view.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-single-predicate/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-predicate-builder/groupedPredicateConfig.constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-predicate-builder/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-single-predicate/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-single-predicate/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-single-predicate/sn-single-predicate.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/utils/fetchingPath.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/utils/renderUtils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-grouped-predicate/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-grouped-predicate/sn-grouped-predicate.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-predicate-builder/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-predicate-builder/sn-predicate-builder.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-conditions/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-conditions/sn-conditions.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions-table-picker-connected/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions-table-picker-connected/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions-table-picker-connected/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions-table-picker-connected/sn-related-list-conditions-table-picker-connected.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-related-list-conditions/sn-related-list-conditions.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-group-by/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-group-by/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-group-by/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by-row/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-group-by/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-group-by/sn-group-by.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by-row/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by-row/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by-row/sn-sort-by-row.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-sort-by/sn-sort-by.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/decodeEncodedQueryBehavior/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/fetchFailedClientScript.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/decodeEncodedQueryBehavior/decodeEncodedQueryBehavior.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/decodeEncodedQueryBehavior/decodeEncodedQuerySuccessClientScript.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/encodeDecodedQueryBehavior/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/encodeDecodedQueryBehavior/encodeDecodedQueryBehavior.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/encodeDecodedQueryBehavior/encodeDecodedQuerySuccessClientScript.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/panelDefinitionsBehavior/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/panelDefinitionsBehavior/dynamicAttributes/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/panelDefinitionsBehavior/dynamicAttributes/dynamicAttributes.actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/panelDefinitionsBehavior/dynamicAttributes/dynamicCategoriesPanelDefinitionsSuccess.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/panelDefinitionsBehavior/dynamicAttributes/dynamicAttributesPanelDefinitionsSuccessClientScript.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/panelDefinitionsBehavior/panelDefinitions/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/panelDefinitionsBehavior/panelDefinitions/panelDefinitions.actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/panelDefinitionsBehavior/panelDefinitions/panelDefinitionsSuccessClientScript.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/panelDefinitionsBehavior/panelDefinitionsBehavior.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/conditionBuilderConnectedBehavior.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/sn-load-filter-content-popover/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-save-filter/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-save-filter/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-save-filter/saveFilterEffect.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-save-filter/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-save-filter/buildSaveTypeOptions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-radio-buttons/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-save-filter/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-save-filter/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-save-filter/sn-save-filter.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/deleteFilterEffect.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/loadFilterEffect.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/sn-load-filter-content-popover/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/sn-load-filter-content-popover/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/sn-load-filter-content-popover/sn-load-filter-content-popover.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-filter-manager/sn-filter-manager.element.js","webpack:///external module \"/uxasset/externals/@servicenow/now-accordion/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-highlighted-value/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-fixed-query-wrapper/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-fixed-query-wrapper/sn-fixed-query-wrapper.element.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-commons/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-choice/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-choice/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-pill/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-choice/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-choice/sn-taxonomy-row-choice.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-boolean/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-toggle/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-boolean/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-boolean/sn-taxonomy-row-boolean.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-commons/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-date-field/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-date-field/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-date-field/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-checkbox/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-date-field/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-date-field/sn-taxonomy-row-date-field.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-drill-in-button/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-drill-in-button/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-drill-in-button/sn-taxonomy-drill-in-button.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-reference/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-row-reference/sn-taxonomy-row-reference.element.js","webpack:///@servicenow/now-predicate-builder/src/commons/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-reference-drill-in/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-reference-drill-in/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-taxonomy-reference-drill-in/sn-taxonomy-reference-drill-in.element.js","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tabs/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/sn-condition-builder/sn-condition-builder.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-predicate-builder/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/components/now-predicate-builder/now-predicate-builder.element.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/utils/transformUtils.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/now-filter-overview/actionTypes.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/now-filter-overview/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/now-filter-overview/utils.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/now-filter-overview/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/sn-filter-card/actions.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/sn-filter-card/events.js","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/sn-filter-card/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/sn-filter-card/view.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/now-filter-overview/view.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/sn-filter-card/sn-filter-card.element.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/components/now-filter-overview/now-filter-overview.element.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/copyQueryBehavior/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/copyQueryBehavior/copyQueryBehavior.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder/behaviors/copyQueryBehavior/index.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/behaviors/filterOverviewConnectedBehavior/constants.js","webpack:///@servicenow/now-predicate-builder/src/now-filter-overview/behaviors/filterOverviewConnectedBehavior/filterOverviewConnectedBehavior.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder-connected/view.js","webpack:///@servicenow/now-predicate-builder/src/now-predicate-builder-connected/now-predicate-builder-connected.element.js","webpack:///@servicenow/now-predicate-builder/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","const CONDITION_BUILDER_TYPE = 'CONDITION_BUILDER';\nconst PREDICATE_BUILDER_TYPE = 'PREDICATE_BUILDER';\n\nconst MAX_CONTENT_HEIGHT_OPTIONS = {\n\tFULL: 'full',\n\tSMALL: 'sm',\n};\n\nconst USE_SHOW_FIELD_LABELS_USER_PREF = 'useShowFieldLabelsUserPref';\nconst LABELS_ON = 'labelsOn';\nconst LABELS_OFF = 'labelsOff';\n\nconst DISPLAY_LABELS_OPTIONS = [\n\tUSE_SHOW_FIELD_LABELS_USER_PREF,\n\tLABELS_ON,\n\tLABELS_OFF,\n];\n\nmodule.exports = {\n\tCONDITION_BUILDER_TYPE,\n\tDISPLAY_LABELS_OPTIONS,\n\tLABELS_OFF,\n\tLABELS_ON,\n\tMAX_CONTENT_HEIGHT_OPTIONS,\n\tPREDICATE_BUILDER_TYPE,\n\tUSE_SHOW_FIELD_LABELS_USER_PREF,\n};\n","module.exports = {\n\tdecodedQuerySchema: {\n\t\ttitle: 'Decoded Query',\n\t\tdescription: 'Decoded Query data model derived from Encoded Queries',\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tconditions: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tdescription: 'Decoded Query Row',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tconditionType: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tenum: ['NEW_QUERY', 'AND', 'OR'],\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfield: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t\t'script_plain',\n\t\t\t\t\t\t\t\t\t\t'glide_date_time',\n\t\t\t\t\t\t\t\t\t\t'reference',\n\t\t\t\t\t\t\t\t\t\t'boolean',\n\t\t\t\t\t\t\t\t\t\t'yesno',\n\t\t\t\t\t\t\t\t\t\t'user_roles',\n\t\t\t\t\t\t\t\t\t\t'table_name',\n\t\t\t\t\t\t\t\t\t\t'days_of_week',\n\t\t\t\t\t\t\t\t\t\t'composite_name',\n\t\t\t\t\t\t\t\t\t\t'password',\n\t\t\t\t\t\t\t\t\t\t'auto_number',\n\t\t\t\t\t\t\t\t\t\t'string',\n\t\t\t\t\t\t\t\t\t\t'xml',\n\t\t\t\t\t\t\t\t\t\t'reminder_field_name',\n\t\t\t\t\t\t\t\t\t\t'glide_encrypted',\n\t\t\t\t\t\t\t\t\t\t'template_value',\n\t\t\t\t\t\t\t\t\t\t'user_image',\n\t\t\t\t\t\t\t\t\t\t'script',\n\t\t\t\t\t\t\t\t\t\t'translated_text',\n\t\t\t\t\t\t\t\t\t\t'conditions',\n\t\t\t\t\t\t\t\t\t\t'name_values',\n\t\t\t\t\t\t\t\t\t\t'schedule_date_time',\n\t\t\t\t\t\t\t\t\t\t'ph_number',\n\t\t\t\t\t\t\t\t\t\t'variable_conditions',\n\t\t\t\t\t\t\t\t\t\t'price',\n\t\t\t\t\t\t\t\t\t\t'glide_utc_time',\n\t\t\t\t\t\t\t\t\t\t'color_display',\n\t\t\t\t\t\t\t\t\t\t'password2',\n\t\t\t\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t\t\t\t\t'float',\n\t\t\t\t\t\t\t\t\t\t'variables',\n\t\t\t\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t\t\t\t\t'glide_date',\n\t\t\t\t\t\t\t\t\t\t'compressed',\n\t\t\t\t\t\t\t\t\t\t'external_names',\n\t\t\t\t\t\t\t\t\t\t'email_script',\n\t\t\t\t\t\t\t\t\t\t'glide_list',\n\t\t\t\t\t\t\t\t\t\t'glide_static_list',\n\t\t\t\t\t\t\t\t\t\t'integer',\n\t\t\t\t\t\t\t\t\t\t'translated',\n\t\t\t\t\t\t\t\t\t\t'document_id',\n\t\t\t\t\t\t\t\t\t\t'choice',\n\t\t\t\t\t\t\t\t\t\t'domain_id',\n\t\t\t\t\t\t\t\t\t\t'domain_path',\n\t\t\t\t\t\t\t\t\t\t'user_input',\n\t\t\t\t\t\t\t\t\t\t'multi_two_lines',\n\t\t\t\t\t\t\t\t\t\t'html',\n\t\t\t\t\t\t\t\t\t\t'field_list',\n\t\t\t\t\t\t\t\t\t\t'internal_type',\n\t\t\t\t\t\t\t\t\t\t'image',\n\t\t\t\t\t\t\t\t\t\t'translated_field',\n\t\t\t\t\t\t\t\t\t\t'sysevent_name',\n\t\t\t\t\t\t\t\t\t\t'glide_time',\n\t\t\t\t\t\t\t\t\t\t'glide_duration',\n\t\t\t\t\t\t\t\t\t\t'decimal',\n\t\t\t\t\t\t\t\t\t\t'color',\n\t\t\t\t\t\t\t\t\t\t'slushbucket',\n\t\t\t\t\t\t\t\t\t\t'integer_date',\n\t\t\t\t\t\t\t\t\t\t'numeric',\n\t\t\t\t\t\t\t\t\t\t'translated_html',\n\t\t\t\t\t\t\t\t\t\t'GUID',\n\t\t\t\t\t\t\t\t\t\t'timer',\n\t\t\t\t\t\t\t\t\t\t'currency',\n\t\t\t\t\t\t\t\t\t\t'currency2',\n\t\t\t\t\t\t\t\t\t\t'due_date',\n\t\t\t\t\t\t\t\t\t\t'ip_address',\n\t\t\t\t\t\t\t\t\t\t'related_tags',\n\t\t\t\t\t\t\t\t\t\t'field_name',\n\t\t\t\t\t\t\t\t\t\t'keywords_query',\n\t\t\t\t\t\t\t\t\t\t'variable_choice',\n\t\t\t\t\t\t\t\t\t\t'variable_multiple_choice',\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tinternalValue: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdisplayValue: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdotwalkPath: {\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\tinternalValue: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdisplayValue: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\treference: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\toperator: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tinternalValue: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdisplayValue: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tinternalValue: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdisplayValue: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdotwalkPath: {\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\tinternalValue: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdisplayValue: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\treference: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tconditionMetadataList: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tkey: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\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},\n\t\t\t},\n\t\t},\n\t},\n};\n","module.exports = {\n\t$id: 'https://servicenow.com/components/fieldOperatorMappingsSchema.json',\n\t$schema: 'http://json-schema.org/draft-07/schema',\n\ttype: 'object',\n\tproperties: {\n\t\tdefaults: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tcomponent: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\ttitle: 'Top-level component tag name',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'If no other applicable component tag is specified, this one applies',\n\t\t\t\t},\n\t\t\t\toperatorOrder: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\titems: {\n\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'null',\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},\n\t\t\t},\n\t\t},\n\t\toperators: {\n\t\t\toneOf: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\ttitle: 'Top-level configuration of operators',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'If not overridden in field or base types, these apply',\n\t\t\t\t\tpatternProperties: {\n\t\t\t\t\t\t'.*': {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: 'null',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcomponent: {\n\t\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: 'null',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdisplay: {\n\t\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tenum: ['normal', 'hidden'],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: 'null',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttype: 'null',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tfieldTypes: {\n\t\t\tpatternProperties: {\n\t\t\t\t'.*': {\n\t\t\t\t\toneOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tcomponent: {\n\t\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: 'null',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toperators: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tpatternProperties: {\n\t\t\t\t\t\t\t\t\t\t'.*': {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent: {\n\t\t\t\t\t\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'null',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'null',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: {\n\t\t\t\t\t\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'normal',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'hidden',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'null',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toperatorsComplete: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toperatorOrder: {\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tref: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'null',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tadditionalProperties: false,\n};\n","module.exports = {\n\tpanelDefinitionsSchema: {\n\t\ttype: 'object',\n\t\ttitle: 'Panel Definitions',\n\t\tdescription: 'Metadata used to render a dot walk panel',\n\t\tdefault: {},\n\t\tpatternProperties: {\n\t\t\t'^.*$': {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\titemType: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tenum: ['HEADING', 'ITEM', 'DOTWALKABLE'],\n\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tinternalValue: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdisplayValue: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tselectable: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdescription: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tinitialPanelOnly: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\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{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\titemType: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t\t\t\t'HEADING',\n\t\t\t\t\t\t\t\t\t\t\t\t'ITEM',\n\t\t\t\t\t\t\t\t\t\t\t\t'DOTWALKABLE',\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tinternalValue: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tdisplayValue: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tselectable: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\tdefault: true,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tdescription: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tinitialPanelOnly: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tupdateOperation: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: ['SET', 'MERGE'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tloadMore: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tallItemsLoaded: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsearchTerm: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tloadMoreRequestParams: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\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],\n\t\t\t},\n\t\t},\n\t},\n};\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-input{margin:0;width:100%}.sn-field-override-example{display:flex;flex-direction:column}.sn-field-override-example .sn-field-override-label{block-size:1rem;font-size:.75rem;margin-bottom:.125rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.sr-only{clip:rect(0 0 0 0);border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.now-filter-overview{align-items:center;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;gap:.5rem}.now-filter-overview.expanded .conditions-group{flex-wrap:wrap}.now-filter-overview .conditions-group{align-items:center;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;flex-wrap:nowrap;gap:.5rem;overflow:hidden;position:relative}.now-filter-overview .condition-container,.now-filter-overview .qualifier-statement-container{align-items:center;display:flex;flex:0 0 auto;gap:.5rem}.now-filter-overview .condition-container.hide,.now-filter-overview .qualifier-statement-container.hide{position:absolute;right:0;visibility:hidden}.now-filter-overview .condition-set-label,.now-filter-overview .qualifier-statement-label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;font-weight:700;gap:1rem;margin:0 .125rem;text-transform:uppercase}@media(forced-colors:active){.now-filter-overview .condition-set-label{color:canvastext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-filter-card{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));border-radius:.25rem;display:inline-flex;flex:0 0 auto;font-size:.75rem;gap:.25rem;height:1.5rem;inline-size:100%;min-height:1.5rem;padding-inline-end:.125rem;padding-inline-start:.5rem;position:relative;transition:background-color .15s,border-color .15s}.sn-filter-card:focus-visible{outline-color:RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}.sn-filter-card:focus-visible:after{block-size:100%;border-radius:inherit;box-shadow:inset 0 0 0 1px RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));content:\\\"\\\";inline-size:100%;inset-block-start:0;inset-inline-start:0;pointer-events:none;position:absolute}.sn-filter-card.menu-hidden{padding:.125rem .5rem}.sn-filter-card.strike-thru{text-decoration:line-through}.sn-filter-card.filter-card-locked,.sn-filter-card.filter-card-locked .label{cursor:default}.sn-filter-card .label{align-items:center;background:none;border:0;color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:block;gap:.125rem;line-height:1;max-width:240px;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.sn-filter-card .label .prefix{color:RGB(var(--now-color_grouped--orange-4,151,90,74));margin-inline-end:.125rem}.sn-filter-card now-icon{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));margin-inline-end:.125rem}.sn-filter-card now-button-iconic{cursor:pointer}@media(forced-colors:active){.sn-filter-card{background-color:ButtonFace;border-color:buttonborder;forced-color-adjust:none}.sn-filter-card .label{color:ButtonText}.sn-filter-card .label .prefix{color:inherit}.sn-filter-card:hover{background-color:HighlightText!important;border-color:Highlight!important}.sn-filter-card:hover .label{background-color:transparent;border:0!important;color:Highlight}.sn-filter-card:has(now-button-iconic:hover){background-color:ButtonFace!important}.sn-filter-card:has(now-button-iconic:hover) .label{color:ButtonText!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-condition-builder-field-wrapper label{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:block;font-size:.75rem;line-height:1;margin-bottom:.25rem}.now-condition-builder-field-wrapper now-dropdown{width:100%}.now-condition-builder-field-wrapper-loader{align-items:center;display:flex;justify-content:center;padding-top:1rem}.now-condition-builder-field-wrapper-error{padding-top:1rem}.now-condition-builder-field-wrapper-error .text-container{align-items:center;background:RGB(var(--now-color_alert--warning-1,227,218,96));border-radius:.25rem;display:flex;font-size:.75rem;gap:0 .25rem;justify-content:center;padding:.5rem}.now-condition-builder-field-wrapper-error .text-container p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-condition-builder-operator-wrapper label{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:block;font-size:.75rem;line-height:1;margin-bottom:.25rem}.now-condition-builder-operator-wrapper now-select{margin:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-condition-builder-row{container-type:inline-size}.now-condition-builder-row .row-group{align-items:center;display:grid;gap:.5rem;grid-template-areas:\\\"field     field     field\\\" \\\"operator  operator  operator\\\" \\\"value     value     value\\\" \\\"actions   actions   actions\\\";grid-template-columns:1fr auto;overflow:visible}.now-condition-builder-row .row-group.hidden-operator{grid-template-areas:\\\"field    field\\t   field\\\" \\\"value    value    value\\\" \\\"actions  actions  actions\\\"}.now-condition-builder-row .row-group.no-value-editor{grid-template-areas:\\\"field     field     field\\\" \\\"operator  operator  operator\\\" \\\"actions   actions   actions\\\"}.now-condition-builder-row .row-group.has-messages,.now-condition-builder-row .row-group.has-row-level-messages{row-gap:.125rem!important}.now-condition-builder-row .row-group.has-row-level-messages sn-condition-builder-row-messages{grid-column:1/3;width:100%}.now-condition-builder-row .row-group now-dropdown,.now-condition-builder-row .row-group now-input{width:100%}.now-condition-builder-row .row-group label{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:block;font-size:.75rem;line-height:1;margin-bottom:.25rem}.now-condition-builder-row .row-group>:not(.actions){min-width:1px}.now-condition-builder-row .row-group .field{-ms-grid-column-span:5;grid-area:field;-ms-grid-column:1;-ms-grid-row:1}.now-condition-builder-row .row-group .operator{-ms-grid-column-span:5;grid-area:operator;-ms-grid-column:2;-ms-grid-column:1;-ms-grid-row:1;-ms-grid-row:3}.now-condition-builder-row .row-group .value{-ms-grid-column-span:5;grid-area:value;-ms-grid-column:3;-ms-grid-column:1;-ms-grid-row:1;-ms-grid-row:5;min-width:120px}.now-condition-builder-row .row-group .actions{-ms-grid-column-span:5;align-items:center;display:flex;gap:.5rem;grid-area:actions;-ms-grid-column:4;-ms-grid-column:1;-ms-grid-row:1;-ms-grid-row:7;justify-content:flex-start;margin-left:auto;margin-top:.125rem}.now-condition-builder-row .row-group .actions.has-messages{margin-top:1rem}.now-condition-builder-row .row-group.full-width-variable-editor{align-items:end;gap:unset;grid-template-areas:\\\"field\\\" \\\"actions\\\";grid-template-columns:1fr auto;row-gap:.5rem}@container snpredicatebuilder (min-width: 556px){.now-condition-builder-row .row-group{align-items:end;grid-template-areas:\\\"field operator value actions\\\";grid-template-columns:1fr 1fr 1fr auto}.now-condition-builder-row .row-group.has-messages{align-items:start}.now-condition-builder-row .row-group.hidden-operator{grid-template-areas:\\\"field value actions\\\";grid-template-columns:1fr 1fr auto}.now-condition-builder-row .row-group.no-value-editor{grid-template-areas:\\\"field operator actions\\\";grid-template-columns:1fr 1fr auto}.now-condition-builder-row .row-group.full-width{grid-template-areas:\\\"field\\toperator\\tactions\\\" \\\"value\\tvalue\\t\\tactions\\\";grid-template-columns:1fr 1fr auto}.now-condition-builder-row .row-group.full-width-variable-editor,.now-condition-builder-row .row-group.full-width-variable-editor.has-two-field-value-editors{align-items:end;grid-template-areas:\\\"field actions\\\";grid-template-columns:1fr auto}.now-condition-builder-row .row-group.full-width-variable-editor{gap:.5rem}.now-condition-builder-row .row-group.has-two-field-value-editors{grid-template-areas:\\\"field    operator  .\\\" \\\"value    value     actions\\\";grid-template-columns:1fr 1fr auto}.now-condition-builder-row .row-group.has-three-field-value-editors{grid-template-areas:\\\"field    operator .\\\" \\\"value    value    actions\\\";grid-template-columns:1fr 1fr auto}.now-condition-builder-row .row-group.sn-value-editor-textarea{align-items:flex-start!important}.now-condition-builder-row .row-group.sn-value-editor-textarea .actions{margin-top:1.125rem}.now-condition-builder-row .row-group .actions{margin-left:.25rem;margin-top:auto}}@container snpredicatebuilder (min-width: 1024px){.now-condition-builder-row .row-group.has-two-field-value-editors{grid-template-areas:\\\"field\\toperator value actions\\\";grid-template-columns:.5fr .5fr 1fr auto}.now-condition-builder-row .row-group.has-three-field-value-editors{grid-template-areas:\\\"field operator value actions\\\";grid-template-columns:.32fr .32fr 1fr auto}}.now-condition-builder-row.no-field-labels .row-group .operator{padding-top:0}.now-condition-builder-row.no-field-labels .row-group .actions{margin-top:0;padding-top:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-condition-builder-value-editor-wrapper-loader{align-items:center;display:flex;justify-content:center;padding-top:1rem}.now-condition-builder-value-editor-wrapper-error{padding-top:1rem}.now-condition-builder-value-editor-wrapper-error .text-container{align-items:center;background:RGB(var(--now-color_alert--warning-1,227,218,96));border-radius:.25rem;display:flex;font-size:.75rem;gap:0 .25rem;justify-content:center;padding:.5rem}.now-condition-builder-value-editor-wrapper-error .text-container p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{height:inherit}.is-hidden{display:none}.now-predicate-builder-container{container-name:nowpredicatebuilder;container-type:inline-size}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-condition-builder-alternative-view{padding:1.5rem}.sn-condition-builder-alternative-view>header{align-items:center;display:flex;padding:1.5rem 0 1rem}.sn-condition-builder-alternative-view>header.is-basic-filter{padding-bottom:.75rem}.sn-condition-builder-alternative-view>header.is-basic-filter .title{font-size:1rem;font-weight:600;text-align:center;width:100%}.sn-condition-builder-alternative-view>hr{margin:0 0 1.5rem}.sn-condition-builder-alternative-view .back-button{margin-left:calc(-.5rem*var(--now-button--scale-size-inline, 1))}.sn-condition-builder-alternative-view .title{font-size:1.5rem;font-style:normal;font-weight:700;line-height:normal;margin:0 .25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.alert-message{border-radius:.125rem;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:.75rem;margin-block-start:.25rem;padding:calc(.125rem*var(--now-form-field_message--scale-size-block, 1));padding-left:calc(.25rem*var(--now-form-field_message--scale-size-block, 1))}.alert-message.critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.alert-message.warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.alert-message.positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.alert-message.info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.alert-message.suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.alert-message now-icon{padding-right:.125rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-condition-builder-variables-row{align-items:flex-start;display:grid;gap:.5rem;grid-template-areas:\\\"topRow\\\" \\\"bottomRow\\\";grid-template-columns:1fr}.sn-condition-builder-variables-row.has-messages .bottom-row{align-items:start}.sn-condition-builder-variables-row sn-record-lookup{display:block;width:100%}.sn-condition-builder-variables-row>*{min-width:0}.sn-condition-builder-variables-row .top-row{display:grid;gap:.5rem;grid-area:topRow;-ms-grid-column:1;-ms-grid-row:1;grid-template-columns:1fr}.sn-condition-builder-variables-row .bottom-row{align-items:end;display:grid;gap:.5rem;grid-area:bottomRow;-ms-grid-column:1;-ms-grid-row:3;grid-template-columns:1fr}@container snpredicatebuilder (min-width: 556px){.sn-condition-builder-variables-row.sn-value-editor-textarea .bottom-row{align-items:flex-start}.sn-condition-builder-variables-row.sn-value-editor-textarea .bottom-row .value{padding-top:4px}.sn-condition-builder-variables-row.sn-value-editor-between-field .bottom-row,.sn-condition-builder-variables-row.sn-value-editor-hierarchy-reference .bottom-row{grid-template-columns:1fr}.sn-condition-builder-variables-row .top-row{align-items:end;grid-template-columns:1fr 1fr}.sn-condition-builder-variables-row .top-row .question-item-readonly{padding-bottom:1.3rem}.sn-condition-builder-variables-row .bottom-row{grid-template-columns:1fr 1fr 1fr}.sn-condition-builder-variables-row .bottom-row .variable{padding-top:2px}.sn-condition-builder-variables-row .bottom-row .operator{padding-top:5px}}@container snpredicatebuilder (min-width: 1024px){.sn-condition-builder-variables-row{align-items:end}.sn-condition-builder-variables-row.sn-value-editor-between-field .bottom-row,.sn-condition-builder-variables-row.sn-value-editor-hierarchy-reference .bottom-row{grid-template-columns:1fr 1fr 1fr}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block;height:inherit}.sn-predicate-builder{container-name:snpredicatebuilder;container-type:inline-size;height:inherit;overflow:auto;padding:0 .75rem}.sn-predicate-builder.hide,.sn-predicate-builder>.content .hide{display:none}.sn-predicate-builder .header-container{width:100%}.sn-predicate-builder .header{display:flex;flex-direction:column}.sn-predicate-builder .header now-tabs{flex:1;margin:.5rem 0 0}.sn-predicate-builder .action-bar-container{display:flex;flex-direction:row;gap:.5rem}.sn-predicate-builder .action-bar-container.is-conditions-only{margin-bottom:1rem}.sn-predicate-builder .action-bar-container .action-bar-left-col{align-items:center;display:flex;gap:.5rem}.sn-predicate-builder .action-bar-container .action-bar-right-col{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.sn-predicate-builder hr{border:0;border-block-end:var(--now-tabs_divider--width,var(--now-navigation-tabs_divider--width,1px)) solid RGB(var(--now-tabs_divider--color,var(--now-navigation-tabs_divider--color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));height:1px;margin-bottom:.5rem;margin-top:0}.sn-predicate-builder hr.drill-in-buttons-separator{margin:.5rem 0}.sn-predicate-builder .content{height:auto}.sn-predicate-builder .content.sm{max-height:200px;overflow:auto;padding-inline-end:.75rem}@container snpredicatebuilder (min-width: 556px){.sn-predicate-builder .header{align-items:center;flex-direction:row}.sn-predicate-builder .action-bar-container{justify-content:flex-end}.sn-predicate-builder .action-bar-container.is-conditions-only{margin-left:auto}.sn-predicate-builder .action-bar-container .action-bar-right-col{margin-left:unset}.sn-predicate-builder hr{display:block}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-conditions.hide{display:none}.add-condition-set{grid-gap:.5rem;align-items:center;display:grid;grid-template-columns:minmax(20px,1fr) auto minmax(20px,1fr);margin:1rem 0;padding:0;text-align:center;width:100%}.horizontal-line{border-top:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-date-popover-content[dir=rtl] .list-item{padding:.5rem 1rem .5rem .5rem}.sn-date-popover-content[dir=rtl] .list-item span{margin-left:auto;margin-right:unset}.sn-date-popover-content .slides-container{display:flex;margin:0;overflow:hidden;padding:0;scroll-behavior:auto;width:272px}.sn-date-popover-content .slide{flex:1 0 100%;height:100%}.sn-date-popover-content .slide.is-hidden{display:none}.sn-date-popover-content .slide now-button-iconic{padding:.5rem 1rem 0 1rem}.sn-date-popover-content .slide ul{list-style-type:none;margin:0;max-height:248px;overflow:auto;padding:0}.sn-date-popover-content .list-item{cursor:pointer;display:flex;font-size:.75rem;padding:.5rem .5rem .5rem 1rem}.sn-date-popover-content .list-item:hover{background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--less,.25))}.sn-date-popover-content .list-item.is-selected{background-color:RGB(var(--now-color_selection--secondary-2,229,238,240),.1);font-weight:700}.sn-date-popover-content .list-item span{margin-right:auto}@media(forced-colors:active){.sn-date-popover-content .list-item{background:ButtonFace;color:ButtonText;forced-color-adjust:none}.sn-date-popover-content .list-item:focus,.sn-date-popover-content .list-item:hover{background:Highlight;color:HighlightText}.sn-date-popover-content .list-item:focus{outline:1px solid Highlight}.sn-date-popover-content .list-item.is-selected{background:selecteditem;color:selecteditemtext}}.sn-date-popover-content .second-panel-button-container{border-bottom:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));display:flex;padding:.125rem 1.5rem .125rem .5rem}.sn-date-popover-content .second-panel-button{align-items:center;border-radius:.25rem;cursor:pointer;display:flex;padding:.5rem}.sn-date-popover-content .second-panel-button:active,.sn-date-popover-content .second-panel-button:hover{background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--less,.25))}.sn-date-popover-content .second-panel-button:active::-moz-focus-inner{border-style:none}.sn-date-popover-content .second-panel-button:active:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-date-popover-content .second-panel-button:active:focus-visible{outline:1px solid highlight}}.sn-date-popover-content .container{align-items:center;display:inline-flex}.sn-date-popover-content .container>span{color:var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81));font-size:12px}.sn-date-popover-content .use-relative{align-items:center;border-top:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));display:flex;justify-content:center;padding:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-popover>now-button,now-popover>now-input{margin:0;width:100%}.sn-input-readonly{margin:0}.sn-dot-walk-popover{display:flex;flex-direction:column}.sn-dot-walk-popover label{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:block;font-size:.75rem;line-height:1;margin-bottom:.25rem}.sn-dot-walk-popover[dir=rtl] .sn-dot-walk-popover-button{padding:0 .5rem 0 1.5rem}.sn-dot-walk-popover[dir=rtl] .sn-dot-walk-popover-button now-icon{left:8px;right:unset}.sn-dot-walk-popover .sn-dot-walk-popover-label{block-size:1rem;font-size:.75rem;margin-bottom:.125rem}.sn-dot-walk-popover .sn-dot-walk-popover-button{background-color:RGB(var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-control-input--background-color-alpha,1));border:1px solid RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-button--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));box-shadow:inset 0 1px 0 1px RGB(var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)),var(--now-form-control-input_inner-shadow--color-alpha,.1)),0 var(--now-form-control-input--primary--border-block-end-width,1px) 0 0 RGB(var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:block;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:.75rem;height:24px;inline-size:100%;min-width:0;outline:0;overflow:hidden;padding:0 1.5rem 0 .5rem;position:relative;text-align:start;text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dot-walk-popover .sn-dot-walk-popover-button.is-open,.sn-dot-walk-popover .sn-dot-walk-popover-button:hover{background-color:RGB(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));cursor:pointer}.sn-dot-walk-popover .sn-dot-walk-popover-button:focus,.sn-dot-walk-popover .sn-dot-walk-popover-button:focus-visible,.sn-dot-walk-popover .sn-dot-walk-popover-button:focus:hover{background-color:RGB(var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-control-input--background-color-alpha,1));border-color:RGB(var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)));box-shadow:0 calc(var(--now-form-control-input--primary--border-block-end-width, 1px)*2) 0 0 RGB(var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),inset 0 .125rem 0 1px RGB(var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-control-input_inner-shadow--color-alpha,.1)),inset 0 0 0 var(--now-form-control-input--primary--border-width,0) RGB(var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)),var(--now-opacity--least,.1))}.sn-dot-walk-popover .sn-dot-walk-popover-button span{inline-size:100%;overflow:hidden;padding-block-end:calc(.25rem*var(--now-form-field--scale-size-block, 1));padding-block-start:calc(.25rem*var(--now-form-field--scale-size-block, 1));padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));padding-inline-start:0;text-overflow:ellipsis;white-space:nowrap}.sn-dot-walk-popover .sn-dot-walk-popover-button now-icon{align-items:center;block-size:.75rem;display:flex;inline-size:.75rem;justify-content:center;position:absolute;right:6px;top:5px}.sn-dot-walk-popover .sn-dot-walk-popover-button:disabled{background-color:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border:0;box-shadow:none;cursor:not-allowed}.sn-dot-walk-popover .sn-dot-walk-popover-button:disabled now-icon{display:none}@media(forced-colors:active){.sn-dot-walk-popover .sn-dot-walk-popover-button{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.sn-dot-walk-popover .sn-dot-walk-popover-button now-icon,.sn-dot-walk-popover .sn-dot-walk-popover-button now-icon-animated{color:inherit!important}.sn-dot-walk-popover .sn-dot-walk-popover-button:focus-visible,.sn-dot-walk-popover .sn-dot-walk-popover-button:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.sn-dot-walk-popover .sn-dot-walk-popover-button.is-disabled,.sn-dot-walk-popover .sn-dot-walk-popover-button.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.sn-dot-walk-popover .sn-dot-walk-popover-button .now-line-height-crop{forced-color-adjust:none}.sn-dot-walk-popover .sn-dot-walk-popover-button ::slotted(*){forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-load-filter-label{background-color:var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247));color:var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81));font-size:.75rem;padding-left:.75rem;padding-right:.75rem}.sn-load-filter-list-item{align-items:center;display:flex;gap:.75rem;justify-content:space-between;padding:0 .75rem}.sn-load-filter-list-item:hover{background-color:RGB(var(--now-color--secondary-0,217,235,238),.5);text-decoration:underline}.sn-load-filter-list-item.selected{background-color:RGB(var(--now-color_selection--secondary-2,229,238,240),.1);font-weight:700}.sn-load-filter-list-actions{display:flex;gap:.5rem}.sn-load-filter-empty-state{align-items:center;display:flex;font-size:.75rem;justify-content:center;padding-block:.5rem;padding-inline:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-load-filter-container{display:flex}.sn-load-filter-container [dir=rtl] now-icon{left:2px;right:unset}.sn-load-filter-container now-icon{align-items:center;block-size:1.5rem;display:flex;inline-size:1.5rem;justify-content:center;position:absolute;right:0;top:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.fixed-query-wrapper{margin-bottom:1rem}.fixed-query-wrapper now-accordion-item{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-radius:.25rem}.fixed-query-wrapper .accordion-container{border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem}.fixed-query-wrapper .accordion-content{margin:0 .75rem;padding:.5rem 0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-group-by-container{display:grid;grid-template-columns:auto min-content;margin-bottom:1.5rem;max-width:452px}.sn-group-by-container now-button-bare{align-self:end;margin-left:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.grouped-predicate-container{display:flex}.grouped-predicate-container[dir=rtl] .vertical-line{transform:scaleX(-1)}.grouped-predicate-container[dir=rtl] .sub-predicates-container{margin-left:0}.grouped-predicate-container[dir=rtl] .predicate-container.sn-grouped-predicate+.new-line-separator{padding-left:0;padding-right:56px}.grouped-predicate-container[dir=rtl] .bracket-container .vertical-line{margin-left:0;margin-right:.5rem}.grouped-predicate-container[dir=rtl] .bracket-container .label{margin-left:8px;margin-right:0}.grouped-predicate-container .sub-predicates-container{flex-basis:100%}.grouped-predicate-container .basic-filters+.basic-filters:before{background-color:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));content:\\\"\\\";display:block;height:1px;margin:1rem 0}.grouped-predicate-container .predicate-container+.predicate-container{margin-top:.5rem}.grouped-predicate-container .bracket-container{align-items:center;display:flex;flex-direction:column;flex-grow:1;margin:0;padding-bottom:30px;padding-right:.25rem}@container snpredicatebuilder (min-width: 556px){.grouped-predicate-container .bracket-container{padding-bottom:0}}.grouped-predicate-container .bracket-container.AND.-display-type-stacked{display:none}.grouped-predicate-container .bracket-container.AND .vertical-line{border-color:RGB(var(--now-color_grouped--blue-4,84,123,143))}.grouped-predicate-container .bracket-container.AND .label{background:RGB(var(--now-color_grouped--blue-0,215,231,240));color:RGB(var(--now-color_grouped--blue-5,66,97,112))}.grouped-predicate-container .bracket-container.OR .vertical-line{border-color:RGB(var(--now-color_grouped--orange-4,151,90,74))}.grouped-predicate-container .bracket-container.OR .label{background:RGB(var(--now-color_grouped--orange-0,243,217,210));color:RGB(var(--now-color_grouped--orange-5,118,71,58))}.grouped-predicate-container .bracket-container.-blue .vertical-line{border-color:RGB(var(--now-color_grouped--blue-4,84,123,143))}.grouped-predicate-container .bracket-container.-blue .label{background:RGB(var(--now-color_grouped--blue-0,215,231,240));color:RGB(var(--now-color_grouped--blue-5,66,97,112))}.grouped-predicate-container .bracket-container.-orange .vertical-line{border-color:RGB(var(--now-color_grouped--orange-4,151,90,74))}.grouped-predicate-container .bracket-container.-orange .label{background:RGB(var(--now-color_grouped--orange-0,243,217,210));color:RGB(var(--now-color_grouped--orange-5,118,71,58))}.grouped-predicate-container .bracket-container.-brown .vertical-line{border-color:RGB(var(--now-color_grouped--brown-4,109,97,83))}.grouped-predicate-container .bracket-container.-brown .label{background:RGB(var(--now-color_grouped--brown-0,225,220,214));color:RGB(var(--now-color_grouped--brown-5,86,76,66))}.grouped-predicate-container .bracket-container.-gray .vertical-line{border-color:RGB(var(--now-color_grouped--gray-4,97,102,105))}.grouped-predicate-container .bracket-container.-gray .label{background:RGB(var(--now-color_grouped--gray-0,220,222,224));color:RGB(var(--now-color_grouped--blue-5,66,97,112))}.grouped-predicate-container .bracket-container.-green .vertical-line{border-color:RGB(var(--now-color_grouped--green-4,103,119,88))}.grouped-predicate-container .bracket-container.-green .label{background:RGB(var(--now-color_grouped--green-0,223,230,216));color:RGB(var(--now-color_grouped--green-5,81,94,69))}.grouped-predicate-container .bracket-container.-green-yellow .vertical-line{border-color:RGB(var(--now-color_grouped--green-yellow-4,108,121,66))}.grouped-predicate-container .bracket-container.-green-yellow .label{background:RGB(var(--now-color_grouped--green-yellow-0,225,230,207));color:RGB(var(--now-color_grouped--green-yellow-5,85,95,52))}.grouped-predicate-container .bracket-container.-magenta .vertical-line{border-color:RGB(var(--now-color_grouped--magenta-4,142,85,135))}.grouped-predicate-container .bracket-container.-magenta .label{background:RGB(var(--now-color_grouped--magenta-0,239,215,236));color:RGB(var(--now-color_grouped--magenta-5,112,67,106))}.grouped-predicate-container .bracket-container.-pink .vertical-line{border-color:RGB(var(--now-color_grouped--pink-4,142,85,100))}.grouped-predicate-container .bracket-container.-pink .label{background:RGB(var(--now-color_grouped--pink-0,239,215,221));color:RGB(var(--now-color_grouped--pink-5,112,67,79))}.grouped-predicate-container .bracket-container.-purple .vertical-line{border-color:RGB(var(--now-color_grouped--purple-4,127,109,146))}.grouped-predicate-container .bracket-container.-purple .label{background:RGB(var(--now-color_grouped--purple-0,233,225,241));color:RGB(var(--now-color_grouped--purple-5,100,85,115))}.grouped-predicate-container .bracket-container.-teal .vertical-line{border-color:RGB(var(--now-color_grouped--teal-4,73,122,114))}.grouped-predicate-container .bracket-container.-teal .label{background:RGB(var(--now-color_grouped--teal-0,210,231,227));color:RGB(var(--now-color_grouped--teal-5,57,96,90))}.grouped-predicate-container .bracket-container.-yellow .vertical-line{border-color:RGB(var(--now-color_grouped--yellow-4,168,145,71))}.grouped-predicate-container .bracket-container.-yellow .label{background:RGB(var(--now-color_grouped--yellow-0,251,241,209));color:RGB(var(--now-color_grouped--yellow-5,132,114,56))}.grouped-predicate-container .bracket-container .vertical-line{align-items:flex-end;border:0 dashed RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-width:0 0 1px 1px;display:flex;flex:1 1 0;flex-direction:column;height:100%;margin-left:.5rem;width:1rem}.grouped-predicate-container .bracket-container .vertical-line:first-child{border-top-left-radius:.25rem;border-width:1px 0 0 1px}.grouped-predicate-container .bracket-container .vertical-line:last-child{border-bottom-left-radius:.25rem;border-width:0 0 1px 1px}.grouped-predicate-container .bracket-container .vertical-line.AND{border-color:RGB(var(--now-color_grouped--blue-4,84,123,143))}.grouped-predicate-container .bracket-container .vertical-line.OR{border-color:RGB(var(--now-color_grouped--orange-4,151,90,74))}.grouped-predicate-container .bracket-container .label{border-radius:.125rem;font-size:.75rem;line-height:1.2;margin:.25rem 10px .25rem 0;max-width:100px;min-width:28px;overflow:auto;padding:.125rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.grouped-predicate-container .bracket-container .label.AND{background:RGB(var(--now-color_grouped--blue-0,215,231,240));color:RGB(var(--now-color_grouped--blue-5,66,97,112))}.grouped-predicate-container .bracket-container .label.OR{background:RGB(var(--now-color_grouped--orange-0,243,217,210));color:RGB(var(--now-color_grouped--orange-5,118,71,58))}.grouped-predicate-container .bracket-container+.sub-predicates-container .predicate-container{border:0!important;padding:0!important}.grouped-predicate-container .now-template-message-container{border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.5rem;margin:.75rem;padding:1.5rem 0}.grouped-predicate-container .new-line-separator{grid-gap:.5rem;align-items:center;display:grid;grid-template-columns:minmax(20px,1fr) auto minmax(20px,1fr);margin:.75rem 0;padding:0;text-align:center;text-transform:lowercase;width:100%}.grouped-predicate-container .new-line-separator div:first-child,.grouped-predicate-container .new-line-separator div:last-child{border-top:1px dashed RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)))}.grouped-predicate-container .new-line-separator .label{border-radius:.125rem;font-size:1rem;padding:0 .5rem}.grouped-predicate-container .new-line-separator.OR div:first-child,.grouped-predicate-container .new-line-separator.OR div:last-child{border-color:RGB(var(--now-color_grouped--orange-4,151,90,74))}.grouped-predicate-container .new-line-separator.OR .label{background:RGB(var(--now-color_grouped--orange-0,243,217,210));color:RGB(var(--now-color_grouped--orange-5,118,71,58))}@container snpredicatebuilder (min-width: 556px){.grouped-predicate-container .new-line-separator .label{font-size:.75rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-popover-trigger-container[dir=rtl] .sn-popover-trigger{padding:0 .5rem 0 1.5rem}.sn-popover-trigger-container now-icon{align-items:center;block-size:1.5rem;display:flex;inline-size:1.5rem;justify-content:center;margin-inline-end:.25rem}.sn-popover-trigger-container.sn-value-editor-date-choice span{padding-inline-end:calc(1.5rem*var(--now-form-field--scale-size-inline, 1))}.sn-popover-trigger-container.sn-save-filter-trigger .sn-popover-trigger{padding:0 .5rem 0 .5rem}.sn-popover-trigger-container.sn-load-filter-content-popover .sn-popover-trigger{align-items:center;display:flex;padding:0 .5rem}.sn-popover-trigger-container.sn-load-filter-content-popover .sn-popover-trigger .button-text{padding-inline-start:8px}.sn-input-readonly{margin:0;width:100%}.sn-popover-trigger-label{font-size:.75rem;line-height:1.33;margin-block-end:.125rem}.sn-popover-trigger{background-color:RGB(var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-control-input--background-color-alpha,1));border:1px solid RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-button--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));box-shadow:inset 0 1px 0 1px RGB(var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)),var(--now-form-control-input_inner-shadow--color-alpha,.1)),0 var(--now-form-control-input--primary--border-block-end-width,1px) 0 0 RGB(var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:block;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:.75rem;font-style:normal;font-variant:normal;font-weight:400;height:24px;inline-size:100%;letter-spacing:inherit;min-width:0;outline:0;overflow:hidden;padding:0 1.5rem 0 .5rem;position:relative;text-align:start;text-indent:0;text-overflow:ellipsis;text-shadow:none;text-transform:none;white-space:normal;white-space:nowrap;width:100%;word-spacing:inherit}.sn-popover-trigger.is-open,.sn-popover-trigger:hover{background-color:RGB(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));cursor:pointer}.sn-popover-trigger:focus,.sn-popover-trigger:focus-visible,.sn-popover-trigger:focus:hover{background-color:RGB(var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-control-input--background-color-alpha,1));border-color:RGB(var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)));box-shadow:0 calc(var(--now-form-control-input--primary--border-block-end-width, 1px)*2) 0 0 RGB(var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),inset 0 .125rem 0 1px RGB(var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-control-input_inner-shadow--color-alpha,.1)),inset 0 0 0 var(--now-form-control-input--primary--border-width,0) RGB(var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)),var(--now-opacity--least,.1))}.sn-popover-trigger span{inline-size:100%;overflow:hidden;padding-block-end:calc(.25rem*var(--now-form-field--scale-size-block, 1));padding-block-start:calc(.25rem*var(--now-form-field--scale-size-block, 1));padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));padding-inline-start:0;text-overflow:ellipsis;white-space:nowrap}.sn-popover-trigger:disabled{background-color:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border:0;box-shadow:none;cursor:not-allowed}.sn-popover-trigger:disabled now-icon{display:none}@media(forced-colors:active){.sn-popover-trigger .sn-popover-trigger{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.sn-popover-trigger .sn-popover-trigger now-icon,.sn-popover-trigger .sn-popover-trigger now-icon-animated{color:inherit!important}.sn-popover-trigger .sn-popover-trigger:focus-visible,.sn-popover-trigger .sn-popover-trigger:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.sn-popover-trigger .sn-popover-trigger.is-disabled,.sn-popover-trigger .sn-popover-trigger.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.sn-popover-trigger .sn-popover-trigger .now-line-height-crop{forced-color-adjust:none}.sn-popover-trigger .sn-popover-trigger ::slotted(*){forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.predicate-container.is-now-condition-builder.sn-grouped-predicate.global-predicate.OR{background:unset!important;border:0;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.list-container{width:100%}.condition-builder-container{border-bottom:1px solid RGB(var(--now-color--neutral-3,209,214,214));border-top:1px solid RGB(var(--now-color--neutral-3,209,214,214));display:flex;flex-direction:column;margin-bottom:.75rem;padding:.75rem 0;position:relative}.condition-builder-container now-collapse-trigger{align-items:center;cursor:pointer;display:flex}.condition-builder-container now-collapse-trigger now-badge{margin-right:.75rem}.condition-builder-container now-collapse-trigger .collapse-trigger-label{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;font-weight:400;line-height:normal;margin:0 auto 0 .75rem}.condition-builder-container .action-container{display:flex;justify-content:flex-end;margin:.75rem 0 .5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.record-lookup{line-height:0}.record-lookup .input-container{align-items:flex-end;display:flex;gap:.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-select{margin:0;width:100%}@container snpredicatebuilder (min-width: 556px){now-select{min-width:200px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-related-list-conditions{margin-bottom:1.5rem}.sn-related-list-conditions .related-list-info{display:flex;font-size:.75rem;gap:.25rem;margin-bottom:.5rem;padding-block:.25rem}.sn-related-list-conditions .related-list-info now-icon{margin:auto 0}.sn-related-list-conditions div.header{display:flex;flex-direction:column;gap:.5rem;max-width:1024px}.sn-related-list-conditions .operator-wrapper{align-items:flex-end;display:flex;gap:.5rem}.sn-related-list-conditions .operator-wrapper now-select{margin:0;width:100%}.sn-related-list-conditions .inputs{align-items:flex-end;display:flex;gap:.75rem}.sn-related-list-conditions .inputs>span{font-size:.75rem;padding-bottom:.25rem}.sn-related-list-conditions .inputs now-input{margin:0;width:50px}.sn-related-list-conditions .verbiage{font-size:.75rem;white-space:nowrap}.sn-related-list-conditions .related-list{align-items:center;display:flex;gap:.75rem;justify-content:center}.sn-related-list-conditions .related-list sn-related-list-conditions-table-picker-connected{flex:1;margin:0}.sn-related-list-conditions .related-list now-button{margin-top:18px}.sn-related-list-conditions .sn-conditions{margin-top:1.5rem}.sn-related-list-conditions.no-field-labels .verbiage{padding-bottom:.125rem}.sn-related-list-conditions.no-field-labels .related-list now-button{margin-top:0}@container snpredicatebuilder (min-width: 556px){.sn-related-list-conditions .operator-wrapper now-select{min-width:200px}}@container snpredicatebuilder (min-width: 1024px){.sn-related-list-conditions div.header{align-items:flex-end;flex-direction:row;margin-bottom:.75rem}.sn-related-list-conditions .verbiage{padding-bottom:.25rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.sn-save-filter-container{border:1px solid RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));box-shadow:0 8px 12px 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));display:flex;flex-wrap:wrap;padding:1rem;width:292px}.sn-save-filter-container .row,.sn-save-filter-container sn-record-lookup{flex:0 0 100%;justify-content:flex-start;padding-bottom:1rem}.sn-save-filter-container .group-open{padding-bottom:0}.sn-save-filter-container .title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;font-weight:600;margin:0}.sn-save-filter-container sn-record-lookup{padding-left:1.5rem}.sn-save-filter-container now-input,.sn-save-filter-container now-radio-buttons{margin:0;padding:0}.sn-save-filter-container now-loader{align-items:center;display:flex;flex:0 0 100%;height:258px;justify-content:center;padding-bottom:.75rem}.sn-save-filter-container .save-filter-action-buttons{display:flex;flex:0 0 100%;justify-content:flex-end;padding-bottom:0}.sn-save-filter-container .save-filter-action-buttons .cancel-button{padding-right:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-sort-by-row-selector-container{display:grid;grid-template-columns:auto min-content;max-width:452px}.sn-sort-by-row-action-buttons{display:flex}.sn-sort-by-row-action-buttons now-button-iconic,.sn-sort-by-row-action-buttons now-dropdown{align-self:end;margin-left:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-sort-by-container{display:flex;flex-direction:column;gap:.75rem;max-width:452px}.sn-sort-by-container .sort-container{display:flex;flex-direction:column;gap:.5rem}.sn-sort-by-container .button-container{display:flex;justify-content:center;width:100%}.sn-sort-by-container .button-container now-button{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-taxonomy-drill-in-button{align-items:center;background:var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255));border:0;color:initial;cursor:pointer;display:flex;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);gap:.5rem;margin:0 0 .75rem;min-height:36px;padding:initial;position:relative;width:100%}.sn-taxonomy-drill-in-button:focus-visible{outline-color:RGB(var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))}.sn-taxonomy-drill-in-button:hover .label,.sn-taxonomy-drill-in-button:hover .sub-label,.sn-taxonomy-drill-in-button:hover now-icon{color:RGB(var(--now-color--secondary-1,1,119,142));cursor:pointer}.sn-taxonomy-drill-in-button.is-mobile .label{font-size:var(--now-font-size--md1,1rem)}.sn-taxonomy-drill-in-button now-icon:last-child{margin-inline-start:auto}.sn-taxonomy-drill-in-button .label{align-items:flex-start;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;flex-direction:column;font-size:.75rem}.sn-taxonomy-drill-in-button .sub-label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));cursor:pointer;font-size:.75rem;margin-top:.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-taxonomy-reference-drill-in .value-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.sn-taxonomy-reference-drill-in now-dropdown-list{max-height:500px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.container,.sn-taxonomy-row-boolean{margin:1rem 0}.label,.sn-taxonomy-row-boolean label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:block;font-size:.75rem;font-style:normal;font-weight:400;line-height:normal;margin-bottom:.75rem}.sn-taxonomy-row-boolean.is-mobile label{font-size:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.container,.sn-taxonomy-row-choice{margin:1rem 0}.label,.sn-taxonomy-row-choice .label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:block;font-size:.75rem;font-style:normal;font-weight:400;line-height:normal;margin-bottom:.75rem}.sn-taxonomy-row-choice.is-mobile .label{font-size:1rem}.sn-taxonomy-row-choice.is-mobile .sn-taxonomy-row-choice-pills{gap:.75rem}.sn-taxonomy-row-choice .sn-taxonomy-row-choice-pills{display:flex;flex-wrap:wrap;gap:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.container,.sn-taxonomy-row-date-field{margin:1rem 0}.label,.sn-taxonomy-row-date-field .label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:block;font-size:.75rem;font-style:normal;font-weight:400;line-height:normal;margin-bottom:.75rem}.sn-taxonomy-row-date-field.is-mobile .label{font-size:1rem}.sn-taxonomy-row-date-field.is-mobile .custom-date-range-container{margin-inline-start:1.5rem}.sn-taxonomy-row-date-field .label{margin-bottom:0}.sn-taxonomy-row-date-field .date-container{display:flex;flex-direction:column}.sn-taxonomy-row-date-field .date-container now-radio-buttons{margin:0}.sn-taxonomy-row-date-field .custom-date-range-container{margin-inline-start:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-taxonomy-row-reference hr{border:0;border-block-end:var(--now-tabs_divider--width,var(--now-navigation-tabs_divider--width,1px)) solid RGB(var(--now-tabs_divider--color,var(--now-navigation-tabs_divider--color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));height:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{width:100%}now-typeahead,now-typeahead-multi{margin:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{display:block}.sn-value-editor-container{align-items:end;display:grid;gap:.5rem;grid-template-columns:1fr}.sn-value-editor-container.choice{line-height:0}@container snpredicatebuilder (min-width: 556px){.sn-value-editor-container{grid-template-columns:repeat(2,minmax(100px,1fr))}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-boolean now-select{margin:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-currency-fx{margin-bottom:calc(-.5rem*var(--now-button--scale-size-inline, 1));margin-top:calc(-.5rem*var(--now-button--scale-size-inline, 1))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-currency{margin-bottom:calc(-.5rem*var(--now-button--scale-size-inline, 1));margin-top:calc(-.5rem*var(--now-button--scale-size-inline, 1))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-date-choice{position:relative}.sn-value-editor-date-choice[dir=rtl] now-button-iconic{left:3px;right:unset}.sn-value-editor-date-choice label{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:block;font-size:.75rem;line-height:1;margin-bottom:.25rem}.sn-value-editor-date-choice now-input{margin:0;width:100%}.sn-value-editor-date-choice now-button-iconic{padding-top:17px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.sn-value-editor-date-choice.no-field-labels now-button-iconic{padding-top:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-date-comparative{align-items:end;display:grid;gap:.5rem;grid-template-columns:1fr;margin-top:0}.sn-value-editor-date-comparative label{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:block;font-size:.75rem;line-height:1;margin-bottom:.25rem}.sn-value-editor-date-comparative now-input,.sn-value-editor-date-comparative now-select{margin:0;width:100%}.sn-value-editor-date-comparative .dot-walk-container,.sn-value-editor-date-comparative>*{min-width:0}.sn-value-editor-date-comparative.no-field-labels>*{line-height:0}.sn-value-editor-date-comparative.no-field-labels .dot-walk-container,.sn-value-editor-date-comparative.no-field-labels now-select{margin-top:0}@container snpredicatebuilder (min-width: 556px){.sn-value-editor-date-comparative{grid-template-columns:1fr 1fr 1fr}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-date-equivalent{align-items:end;display:grid;gap:.5rem;grid-template-columns:1fr}.sn-value-editor-date-equivalent now-select{margin:0;width:100%}.sn-value-editor-date-equivalent .dot-walk-container{min-width:0}@container snpredicatebuilder (min-width: 556px){.sn-value-editor-date-equivalent{grid-template-columns:1fr 1fr}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-date-relative{display:grid;gap:.5rem;grid-template-columns:1fr}.sn-value-editor-date-relative>*{line-height:1}.sn-value-editor-date-relative now-dropdown,.sn-value-editor-date-relative now-select{margin:0;width:100%}.sn-value-editor-date-relative now-dropdown{padding-top:.125rem}.sn-value-editor-date-relative now-input,.sn-value-editor-date-relative now-popover>now-input{margin:0;width:100%}@container snpredicatebuilder (min-width: 556px){.sn-value-editor-date-relative{align-items:end;grid-template-columns:1fr 1fr 1fr}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-date-trend{align-items:center;display:grid;gap:.5rem;grid-template-columns:1fr;position:relative}.sn-value-editor-date-trend now-popover>now-input,.sn-value-editor-date-trend>now-select{margin:0;width:100%}.sn-value-editor-date-trend now-icon{position:absolute;right:6px;top:50%;transform:translateY(-50%)}@container snpredicatebuilder (min-width: 556px){.sn-value-editor-date-trend{grid-template-columns:repeat(2,minmax(100px,1fr))}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.sn-value-editor-duration-content-popover-container{display:flex;gap:.5rem;padding:.75rem}.sn-value-editor-duration-content-popover-container now-input{width:60px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-value-editor-duration{position:relative}.sn-value-editor-duration[dir=rtl] now-icon{left:8px;right:unset}.sn-value-editor-duration now-popover>now-input{margin:0;width:100%}.sn-value-editor-duration now-icon{padding-top:0;position:absolute;right:6px;top:50%;transform:translateY(-50%)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{line-height:0}.sn-value-editor-hierarchy-reference{align-items:end;display:grid;gap:.5rem;grid-template-columns:1fr;margin-top:0}.sn-value-editor-hierarchy-reference now-select,.sn-value-editor-hierarchy-reference sn-query-table-metadata,.sn-value-editor-hierarchy-reference sn-query-variable-metadata{margin:0;width:100%}.sn-value-editor-hierarchy-reference>*{min-width:0}@container snpredicatebuilder (min-width: 556px){.sn-value-editor-hierarchy-reference{grid-template-columns:1fr 1fr 1fr}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-number now-input{margin:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-string now-input{margin:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-textarea{line-height:0}.sn-value-editor-textarea now-textarea{margin:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-value-editor-yes-no now-select{margin:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (e.includes(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_5_index_jsdbx_018a4161__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"componentModes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'componentModes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].componentModes;\n\t\t\t\t\t} else if ('componentModes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.componentModes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].componentModes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"createPresentationalCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createPresentationalCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createPresentationalCustomElement;\n\t\t\t\t\t} else if ('createPresentationalCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createPresentationalCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createPresentationalCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_26_0_21_index_jsdbx_2366d303__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_6_index_jsdbx_b2e0ffbb__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"compact\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'compact' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].compact;\n\t\t\t\t\t} else if ('compact' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.compact || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].compact;\n\t\t\t\t}, [\"first\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'first' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].first;\n\t\t\t\t\t} else if ('first' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.first || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].first;\n\t\t\t\t}, [\"flatMap\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'flatMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flatMap;\n\t\t\t\t\t} else if ('flatMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.flatMap || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flatMap;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"last\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'last' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].last;\n\t\t\t\t\t} else if ('last' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.last || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].last;\n\t\t\t\t}, [\"merge\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t\t} else if ('merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.merge || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t} });","export const NOW_PREDICATE_BUILDER_ERROR_DETECTED =\n\t'NOW_PREDICATE_BUILDER#ERROR_DETECTED';\nexport const SN_PREDICATE_BUILDER_DECODED_QUERY_UPDATED =\n\t'SN_PREDICATE_BUILDER#DECODED_QUERY_UPDATED';\n\nexport const NOW_PREDICATE_BUILDER_METADATA_REQUEST =\n\t'NOW_PREDICATE_BUILDER#METADATA_REQUEST';\n\nexport const NOW_PREDICATE_BUILDER_METRIC_TRACKED =\n\t'NOW_PREDICATE_BUILDER#METRIC_TRACKED';\n\n// Exposed in UIB\nexport const NOW_PREDICATE_BUILDER_FETCH_METADATA =\n\t'NOW_PREDICATE_BUILDER#FETCH_METADATA';\nexport const NOW_PREDICATE_BUILDER_PREDICATE_UPDATED =\n\t'NOW_PREDICATE_BUILDER#PREDICATE_UPDATED';\nexport const NOW_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS =\n\t'NOW_PREDICATE_BUILDER#FETCH_PANEL_DEFINITIONS';\nexport const NOW_PREDICATE_BUILDER_DECODED_QUERY_UPDATED =\n\t'NOW_PREDICATE_BUILDER#DECODED_QUERY_UPDATED';\n","export const ALTERNATIVE_VIEW_ACCESS_EVENT = 'Alternative view access';\n\nexport const LOAD_FILTER_EVENT = 'Load predicate filter';\n\nexport const NOW_PREDICATE_BUILDER_RELATED_LIST_CONDITION_EVENT =\n\t'Add predicate related list conditions';\n\nexport const SAVE_FILTER_EVENT = 'Save predicate filter';\n\nexport const SN_CONDITIONS_ADD_NEW_CONDITION_SET_EVENT =\n\t'Add predicate condition set';\n\nexport const SORT_BY_EVENT = 'Add predicate sort';\n\nexport const UNKNOWN_FIELD_TYPE = 'Unknown field type';\n\nexport const ERROR_LOADING_COMPONENT = 'Error loading component';\n\nexport const CUSTOMIZATION_LOADED = 'Customization loaded';\n","// Need to define here instead of importing because of circular dependencies\nconst COMPONENT_LOADED_STATUS = Object.freeze({\n\tERROR: 'ERROR',\n\tSUCCESS: 'SUCCESS',\n\tLOADING: 'LOADING',\n});\n\nexport const conditionBuilderRowTagName = 'now-condition-builder-row';\nexport const stringTagName = 'sn-value-editor-string';\nexport const dateChoiceTagName = 'sn-value-editor-date-choice';\nexport const betweenTagName = 'sn-value-editor-between-field';\nexport const dateTrendTagName = 'sn-value-editor-date-trend';\nexport const dateRelativeTagName = 'sn-value-editor-date-relative';\nexport const dateEquivalentTagName = 'sn-value-editor-date-equivalent';\nexport const dateComparativeTagName = 'sn-value-editor-date-comparative';\nexport const referenceTagName = 'sn-value-editor-reference';\nexport const choiceFieldNamesTagName = 'sn-value-editor-choice-field-names';\nexport const choiceDynamicTagName = 'sn-value-editor-choice-dynamic';\nexport const dynamicAttributeChoiceTagName =\n\t'sn-value-editor-dynamic-attribute-choice';\nexport const booleanTagName = 'sn-value-editor-boolean';\nexport const yesNoTagName = 'sn-value-editor-yes-no';\nexport const textAreaTagName = 'sn-value-editor-textarea';\nexport const numberTagName = 'sn-value-editor-number';\nexport const choiceTagName = 'sn-value-editor-choice';\nexport const durationTagName = 'sn-value-editor-duration';\nexport const currencyTagName = 'sn-value-editor-currency';\nexport const currencyFxTagName = 'sn-value-editor-currency-fx';\nexport const tagTagName = 'sn-value-editor-tag';\nexport const variableChoiceTagName = 'sn-value-editor-variable-choice';\nexport const hierarchyReferenceTagName = 'sn-value-editor-hierarchy-reference';\n\nexport const valueEditorFetchedComponents = {\n\t[conditionBuilderRowTagName]: {\n\t\tcustomTagName: conditionBuilderRowTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[stringTagName]: {\n\t\tcustomTagName: stringTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[dateChoiceTagName]: {\n\t\tcustomTagName: dateChoiceTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[betweenTagName]: {\n\t\tcustomTagName: betweenTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[dateTrendTagName]: {\n\t\tcustomTagName: dateTrendTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[dateRelativeTagName]: {\n\t\tcustomTagName: dateRelativeTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[dateEquivalentTagName]: {\n\t\tcustomTagName: dateEquivalentTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[dateComparativeTagName]: {\n\t\tcustomTagName: dateComparativeTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[referenceTagName]: {\n\t\tcustomTagName: referenceTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[choiceFieldNamesTagName]: {\n\t\tcustomTagName: choiceFieldNamesTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[choiceDynamicTagName]: {\n\t\tcustomTagName: choiceDynamicTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[booleanTagName]: {\n\t\tcustomTagName: booleanTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[yesNoTagName]: {\n\t\tcustomTagName: yesNoTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[textAreaTagName]: {\n\t\tcustomTagName: textAreaTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[numberTagName]: {\n\t\tcustomTagName: numberTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[choiceTagName]: {\n\t\tcustomTagName: choiceTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[durationTagName]: {\n\t\tcustomTagName: durationTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[currencyTagName]: {\n\t\tcustomTagName: currencyTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[currencyFxTagName]: {\n\t\tcustomTagName: currencyFxTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[tagTagName]: {\n\t\tcustomTagName: tagTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[variableChoiceTagName]: {\n\t\tcustomTagName: variableChoiceTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[dynamicAttributeChoiceTagName]: {\n\t\tcustomTagName: dynamicAttributeChoiceTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n\t[hierarchyReferenceTagName]: {\n\t\tcustomTagName: hierarchyReferenceTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t},\n};\n","export const COMPONENT_LOADED_STATUS = Object.freeze({\n\tERROR: 'ERROR',\n\tSUCCESS: 'SUCCESS',\n\tLOADING: 'LOADING',\n});\n\nexport const MAX_COMPONENT_LOAD_COUNT = 2;\n\nexport const NOW_PREDICATE_BUILDER_FETCH_COMPONENT =\n\t'NOW_PREDICATE_BUILDER#FETCH_COMPONENT';\n\nexport const NOW_PREDICATE_BUILDER_LOAD_MACROPONENT =\n\t'NOW_PREDICATE_BUILDER#LOAD_MACROPONENT';\nexport const NOW_PREDICATE_BUILDER_LOAD_MACROPONENT_SUCCEEDED =\n\t'NOW_PREDICATE_BUILDER#LOAD_MACROPONENT_SUCCEEDED';\nexport const NOW_PREDICATE_BUILDER_LOAD_MACROPONENT_FAILED =\n\t'NOW_PREDICATE_BUILDER#LOAD_MACROPONENT_FAILED';\n\nexport const NOW_PREDICATE_BUILDER_LOAD_COMPONENT =\n\t'NOW_PREDICATE_BUILDER#LOAD_COMPONENT';\nexport const NOW_PREDICATE_BUILDER_LOAD_COMPONENT_SUCCEEDED =\n\t'NOW_PREDICATE_BUILDER#LOAD_COMPONENT_SUCCEEDED';\nexport const NOW_PREDICATE_BUILDER_LOAD_COMPONENT_FAILED =\n\t'NOW_PREDICATE_BUILDER#LOAD_COMPONENT_FAILED';\n","import createComponentLoaderEffect from '@devsnc/uxf-effect-component-loader';\nimport createMacroponentLoaderEffect from '@devsnc/uxf-effect-macroponent-loader';\nimport { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nimport { NOW_PREDICATE_BUILDER_METRIC_TRACKED } from '../../components/now-predicate-builder/actionTypes';\nimport { ERROR_LOADING_COMPONENT } from '../../components/sn-condition-builder/telemetryEvents.constants';\nimport { valueEditorFetchedComponents } from '../../components/sn-value-editor-commons/fetchedEditorComponents.constants';\n\nimport {\n\tCOMPONENT_LOADED_STATUS,\n\tMAX_COMPONENT_LOAD_COUNT,\n\tNOW_PREDICATE_BUILDER_LOAD_COMPONENT,\n\tNOW_PREDICATE_BUILDER_LOAD_COMPONENT_SUCCEEDED,\n\tNOW_PREDICATE_BUILDER_LOAD_COMPONENT_FAILED,\n\tNOW_PREDICATE_BUILDER_LOAD_MACROPONENT,\n\tNOW_PREDICATE_BUILDER_LOAD_MACROPONENT_SUCCEEDED,\n\tNOW_PREDICATE_BUILDER_LOAD_MACROPONENT_FAILED,\n\tNOW_PREDICATE_BUILDER_FETCH_COMPONENT,\n} from './constants';\n\nconst FETCHED_COMPONENTS_PATH =\n\t'behaviors.componentLoaderBehavior.fetchedComponents';\n/**\n * Checks if customComponents have been passed in to preload component with UXF\n * @param {*} customComponents Object containing array of macroponentSysIds and componentTags to load\n * @returns\n */\nconst isCustomComponentsEmpty = (customComponents) =>\n\t!get(customComponents, 'macroponentSysIds.length') &&\n\t!get(customComponents, 'componentTags.length');\n\n/**\n * Loads components from macroponentSysId, componentTag, or customComponents properties\n * @param {object} coeffects\n */\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: { macroponentSysId, componentTag, customComponents },\n\t} = coeffects;\n\n\tif (isCustomComponentsEmpty(customComponents)) {\n\t\treturn;\n\t}\n\n\tconst { macroponentSysIds = [], componentTags = [] } = customComponents;\n\n\t[macroponentSysId, ...macroponentSysIds].forEach((sysId) => {\n\t\tfetchMacroponent(sysId, coeffects);\n\t});\n\n\t[componentTag, ...componentTags].forEach((tag) => {\n\t\tfetchComponent(tag, coeffects);\n\t});\n};\n\n/**\n * Updates component status in fetchedComponents state\n * @param {*} updateState\n * @param {*} componentTag  tag of component being updated\n * @param {*} value status of the compnoent\n */\nconst updateComponentFetchStatus = (updateState, componentTag, value) => {\n\tupdateState({\n\t\tpath: `${FETCHED_COMPONENTS_PATH}.components.${componentTag}`,\n\t\toperation: 'set',\n\t\tvalue,\n\t});\n};\n\n/**\n * Updates macroponent status in fetchedComponents state\n * @param {*} updateState\n * @param {*} macroponentSysId  macroponentSysId of component being updated\n * @param {*} value status of the compnoent\n */\nconst updateMacroponentFetchStatus = (updateState, macroponentSysId, value) => {\n\tupdateState({\n\t\tpath: `${FETCHED_COMPONENTS_PATH}.macroponents.${macroponentSysId}`,\n\t\toperation: 'set',\n\t\tvalue,\n\t});\n};\n\n/**\n * Called when a component wants to fetch a component dynamically\n * @param {*} coeffects\n */\nconst handleFetchComponent = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { componentTag, macroponentSysId },\n\t\t},\n\t} = coeffects;\n\n\tif (macroponentSysId) {\n\t\tfetchMacroponent(macroponentSysId, coeffects);\n\t} else if (componentTag) {\n\t\tfetchComponent(componentTag, coeffects);\n\t}\n};\n\n/**\n * Fetches the component (if necessary) and updates its fetchedComponent state status\n * @param {*} componentTag componentTag of the component to fetch\n * @param {*} coeffects\n */\nconst fetchComponent = (componentTag, coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tbehaviors: {\n\t\t\t\tcomponentLoaderBehavior: { fetchedComponents },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (!componentTag) {\n\t\treturn;\n\t}\n\tif (fetchedComponents.components[componentTag]) {\n\t\treturn;\n\t}\n\t// Checks if seismic already has this component locally\n\tif (customElements.get(componentTag)) {\n\t\tupdateComponentFetchStatus(updateState, componentTag, {\n\t\t\tcustomTagName: componentTag,\n\t\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t\t});\n\t\treturn;\n\t}\n\n\tupdateComponentFetchStatus(updateState, componentTag, {\n\t\tfetchCount: 1,\n\t\tstatus: COMPONENT_LOADED_STATUS.LOADING,\n\t});\n\n\tdispatch(NOW_PREDICATE_BUILDER_LOAD_COMPONENT, {\n\t\ttagName: componentTag,\n\t});\n};\n\n/**\n * Fetches the macroponent (if necessary) and updates its fetchedComponent state status\n * @param {*} macroponentSysId\n * @param {*} coeffects\n */\nconst fetchMacroponent = (macroponentSysId, coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tbehaviors: {\n\t\t\t\tcomponentLoaderBehavior: { fetchedComponents },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (!macroponentSysId) {\n\t\treturn;\n\t}\n\tif (fetchedComponents.macroponents[macroponentSysId]) {\n\t\treturn;\n\t}\n\n\tupdateMacroponentFetchStatus(updateState, macroponentSysId, {\n\t\tfetchCount: 1,\n\t\tstatus: COMPONENT_LOADED_STATUS.LOADING,\n\t});\n\n\tdispatch(NOW_PREDICATE_BUILDER_LOAD_MACROPONENT, {\n\t\tsysId: macroponentSysId,\n\t});\n};\n\n/**\n * Called when macroponent is sucessfully loaded\n * We call the macroponentLoaderEffect with a sysId and it returns a customElementTagName used to render the macroponent\n * For example, sysId a123b will become macroponent-a123b and we need to use <macroponent-a123b />  later to render it\n * @param {object} coeffects\n */\nconst handleMacroponentLoadSuccess = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tcustomElementTagName,\n\t\t\t\trequest: { sysId },\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\t// Keep track of the macroponent loading successfully and the tag to use later\n\tupdateMacroponentFetchStatus(updateState, sysId, {\n\t\tcustomTagName: customElementTagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t});\n};\n\n/**\n * Called when component is sucessfully loaded\n * We call the component with a tag and it returns a customElementTagName used to render the component\n * @param {object} coeffects\n */\nconst handleComponentLoadSuccess = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\ttagName,\n\t\t\t\trequest: { tagName: requestTagName },\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\t// Keep track of the component loading successfully and the tag to use later\n\tupdateComponentFetchStatus(updateState, requestTagName, {\n\t\tcustomTagName: tagName,\n\t\tstatus: COMPONENT_LOADED_STATUS.SUCCESS,\n\t});\n};\n\n/**\n * Calls generic handleLoadFailed with macroponent path details\n * @param {object} coeffects\n */\nconst handleMacroponentLoadFailed = (coeffects) =>\n\thandleLoadFailed(\n\t\tcoeffects,\n\t\tNOW_PREDICATE_BUILDER_LOAD_MACROPONENT,\n\t\t'macroponents'\n\t);\n\n/**\n * Calls generic handleLoadFailed with component path details\n * @param {*} coeffects\n */\nconst handleComponentLoadFailed = (coeffects) =>\n\thandleLoadFailed(\n\t\tcoeffects,\n\t\tNOW_PREDICATE_BUILDER_LOAD_COMPONENT,\n\t\t'components'\n\t);\n\n/**\n * Called when the macroponent or component loading has failed. Will retry if the fetchCount has not been reached.\n * Otherewise, set the status to error and stop.\n *\n * @param {object} coeffects\n * @param {string} action which action to dispatch, either NOW_PREDICATE_BUILDER_LOAD_MACROPONENT or NOW_PREDICATE_BUILDER_LOAD_COMPONENT\n * @param {*} statePath  key to update the status in fetchedComponents, either \"components\" or \"macroponents\"\n */\nconst handleLoadFailed = (coeffects, action, statePath) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { request },\n\t\t},\n\t\tstate: {\n\t\t\tbehaviors: {\n\t\t\t\tcomponentLoaderBehavior: { fetchedComponents = {} },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tlogger,\n\t} = coeffects;\n\n\t// Generic way to grab either tagName (for component loader) or sysId (for macroponent loader) in the request\n\tconst item = Object.keys(request)[0];\n\tconst id = request[item];\n\n\tconst { fetchCount } = get(fetchedComponents, `${statePath}.${id}`);\n\n\tif (fetchCount >= MAX_COMPONENT_LOAD_COUNT) {\n\t\tupdateState({\n\t\t\tpath: `${FETCHED_COMPONENTS_PATH}.${statePath}.${id}.status`,\n\t\t\toperation: 'set',\n\t\t\tvalue: COMPONENT_LOADED_STATUS.ERROR,\n\t\t});\n\t\tlogger.error(`error loading component: ${id}`);\n\t\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\t\teventName: ERROR_LOADING_COMPONENT,\n\t\t\tmetadata: {\n\t\t\t\tid,\n\t\t\t},\n\t\t});\n\t\treturn;\n\t}\n\n\t// dispatches passed in action, either NOW_PREDICATE_BUILDER_LOAD_MACROPONENT or NOW_PREDICATE_BUILDER_LOAD_COMPONENT\n\tdispatch(action, {\n\t\t[item]: id,\n\t});\n\tupdateState({\n\t\tpath: `${FETCHED_COMPONENTS_PATH}.${statePath}.${id}.fetchCount`,\n\t\toperation: 'set',\n\t\tvalue: fetchCount + 1,\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * The componentLoaderBehavior handles the loading of the components/macroponents based on the predicate model and updates state accordingly\n */\nconst componentLoaderBehavior = {\n\tname: 'componentLoaderBehavior',\n\tsetInitialState() {\n\t\t// TODO: REEVALUATE HOW TO DO FETCH COMPONENTS AT THE ROW LEVEL\n\t\treturn {\n\t\t\tfetchedComponents: {\n\t\t\t\tmacroponents: {},\n\t\t\t\tcomponents: valueEditorFetchedComponents,\n\t\t\t},\n\t\t};\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: handleComponentBootstrap,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_FETCH_COMPONENT]: {\n\t\t\teffect: handleFetchComponent,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_LOAD_MACROPONENT]: createMacroponentLoaderEffect(\n\t\t\t{\n\t\t\t\tsuccessActionType: NOW_PREDICATE_BUILDER_LOAD_MACROPONENT_SUCCEEDED,\n\t\t\t\terrorActionType: NOW_PREDICATE_BUILDER_LOAD_MACROPONENT_FAILED,\n\t\t\t}\n\t\t),\n\t\t[NOW_PREDICATE_BUILDER_LOAD_MACROPONENT_SUCCEEDED]: {\n\t\t\teffect: handleMacroponentLoadSuccess,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_LOAD_MACROPONENT_FAILED]: {\n\t\t\teffect: handleMacroponentLoadFailed,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_LOAD_COMPONENT]: createComponentLoaderEffect({\n\t\t\tsuccessActionType: NOW_PREDICATE_BUILDER_LOAD_COMPONENT_SUCCEEDED,\n\t\t\terrorActionType: NOW_PREDICATE_BUILDER_LOAD_COMPONENT_FAILED,\n\t\t}),\n\t\t[NOW_PREDICATE_BUILDER_LOAD_COMPONENT_SUCCEEDED]: {\n\t\t\teffect: handleComponentLoadSuccess,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_LOAD_COMPONENT_FAILED]: {\n\t\t\teffect: handleComponentLoadFailed,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default componentLoaderBehavior;\n","import componentLoaderBehavior from './componentLoaderBehavior';\nimport { COMPONENT_LOADED_STATUS } from './constants';\n\nexport { COMPONENT_LOADED_STATUS };\nexport default componentLoaderBehavior;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\nconst AND = 'AND';\nconst NEW_QUERY = 'NEW_QUERY';\nconst OR = 'OR';\n\nexport const QUERY_CONDITION_TYPE = {\n\tAND,\n\tNEW_QUERY,\n\tOR,\n};\n\nexport const DOMAIN_ID_FIELDTYPE = 'domain_id';\n\nexport const GLOBAL_DOMAIN_ID = 'global';\nexport const GLOBAL_DOMAIN_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Global',\n\tcomment: 'Label for the Global domain in a domain-separated environment',\n});\n\nexport const USER_ROLES = {\n\tADMIN: 'admin',\n};\n","import { t } from 'sn-translate';\n\nimport { QUERY_CONDITION_TYPE } from '../../../commons/constants';\n\nexport const KEYWORDS_INTERNAL_VALUE = '123TEXTQUERY321';\n\nexport const VIEWPORTS = {\n\tSMALL: 'sm',\n\tMEDIUM: 'md',\n\tLARGE: 'lg',\n};\n\nexport const DECODED_QUERY_MODEL_TYPE = {\n\tCONDITIONS: 'CONDITIONS',\n\tGROUP_BY: 'GROUP_BY',\n\tRELATED_LIST_CONDITIONS: 'RELATED_LIST_CONDITIONS',\n\tSORT_BY: 'SORT_BY',\n};\n\nexport const DECODED_QUERY_MODEL_PATH = {\n\tCONDITIONS: 'conditions',\n\tGROUP_BY: 'groupBy',\n\tRELATED_LIST_CONDITIONS: 'relatedListQuery',\n\tSORT_BY: 'orderBy',\n};\n\nexport const EMPTY_CONDITIONS_OBJECT = {\n\tconditionType: QUERY_CONDITION_TYPE.NEW_QUERY,\n};\n\nexport const SORT_BY_LABEL = t({\n\tcode: 'now_predicate_builder__sn_condition_builder',\n\tmessage: 'Sort by',\n\tcomment: 'Tab label for the sort by section of the predicate builder',\n});\n\nexport const GROUP_BY_LABEL = t({\n\tcode: 'now_predicate_builder__sn_condition_builder',\n\tmessage: 'Group by',\n\tcomment: 'Tab label for the group by section of the predicate builder',\n});\n\nexport const TAB_CONDITION = 'condition';\nexport const TAB_RELATED_LIST = 'related-list';\nexport const TAB_GROUP_BY = 'group-by';\nexport const TAB_SORT_BY = 'sort-by';\n\nexport const TAB_IDS = [\n\t{\n\t\tid: TAB_CONDITION,\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Conditions',\n\t\t\tcomment:\n\t\t\t\t'Tab label for the conditions section of the predicate builder',\n\t\t}),\n\t},\n\t{\n\t\tid: TAB_SORT_BY,\n\t\tlabel: SORT_BY_LABEL,\n\t},\n\t{\n\t\tid: TAB_GROUP_BY,\n\t\tlabel: GROUP_BY_LABEL,\n\t},\n\t{\n\t\tid: TAB_RELATED_LIST,\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder__sn_condition_builder',\n\t\t\tmessage: 'Related list conditions',\n\t\t\tcomment:\n\t\t\t\t'Tab label for the related list conditions section of the predicate builder',\n\t\t}),\n\t},\n];\n\nexport const SHOW_LABELS_USER_PREF = 'condition_builder.show_field_labels';\nexport const TOGGLE_LABELS_SOURCE = 'labelsToggle';\n\nexport const TRANSIENT_ATTRIBUTE_FIELD_TYPE = 'transient_attribute';\n\nexport const FIXED_QUERY_MODE = {\n\tSIMPLE: 'SIMPLE',\n\tDISTRIBUTED: 'DISTRIBUTED',\n};\n\nexport const BASIC_FILTERS_PRESETS = {\n\trow: {\n\t\tboolean: {\n\t\t\tcomponentTag: 'sn-taxonomy-row-boolean',\n\t\t},\n\t\tchoice: {\n\t\t\tcomponentTag: 'sn-taxonomy-row-choice',\n\t\t},\n\t\tdue_date: {\n\t\t\tcomponentTag: 'sn-taxonomy-row-date-field',\n\t\t},\n\t\tglide_date: {\n\t\t\tcomponentTag: 'sn-taxonomy-row-date-field',\n\t\t},\n\t\tglide_date_time: {\n\t\t\tcomponentTag: 'sn-taxonomy-row-date-field',\n\t\t},\n\t\treference: {\n\t\t\tcomponentTag: 'sn-taxonomy-row-reference',\n\t\t},\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","export const NOW_DOT_WALK_SEARCH_TERM_CHANGED =\n\t'NOW_DOT_WALK#SEARCH_TERM_CHANGED';\nexport const NOW_DOT_WALK_LOAD_MORE_REQUESTED =\n\t'NOW_DOT_WALK#LOAD_MORE_REQUESTED';\nexport const NOW_DOT_WALK_FETCH_PANEL_DEFINITIONS =\n\t'NOW_DOT_WALK#FETCH_PANEL_DEFINITIONS';\n\nexport const SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS =\n\t'SN_PREDICATE_BUILDER#FETCH_PANEL_DEFINITIONS';\n","// Predicate Composition Updated\nexport const SN_PREDICATE_BUILDER_PREDICATE_UPDATED =\n\t'SN_PREDICATE_BUILDER#PREDICATE_UPDATED';\n\n// Individual Predicate Updated\nexport const NOW_PREDICATE_BUILDER_PREDICATE_ACTION =\n\t'NOW_PREDICATE_BUILDER#PREDICATE_ACTION';\n","import track from '@devsnc/ux-metrics';\n\nimport { SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS } from '../sn-dot-walk-popover/actionTypes';\nimport { SN_PREDICATE_BUILDER_PREDICATE_UPDATED } from '../sn-predicate-builder/actionTypes';\n\nimport {\n\tNOW_PREDICATE_BUILDER_DECODED_QUERY_UPDATED,\n\tNOW_PREDICATE_BUILDER_ERROR_DETECTED,\n\tNOW_PREDICATE_BUILDER_FETCH_METADATA,\n\tNOW_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS,\n\tNOW_PREDICATE_BUILDER_METADATA_REQUEST,\n\tNOW_PREDICATE_BUILDER_METRIC_TRACKED,\n\tNOW_PREDICATE_BUILDER_PREDICATE_UPDATED,\n\tSN_PREDICATE_BUILDER_DECODED_QUERY_UPDATED,\n} from './actionTypes';\n\nconst handlePredicateAction = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_UPDATED, { ...payload });\n};\n\nconst handleErrorDetected = ({ updateState }) => {\n\tupdateState({\n\t\tpath: 'isInitialLoad',\n\t\tvalue: false,\n\t\toperation: 'set',\n\t});\n};\n\nconst handleMetadataRequest = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_FETCH_METADATA, {\n\t\t...payload,\n\t});\n};\n\nconst handleFetchPanelDefinitions = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS, {\n\t\t...payload,\n\t});\n};\n\nconst handleDecodedQueryUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { decodedQuery, fixedDecodedQuery },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { fixedQueryMode },\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_DECODED_QUERY_UPDATED, {\n\t\tdecodedQuery,\n\t\tfixedDecodedQuery,\n\t\tfixedQueryMode,\n\t});\n};\n\nconst handleMetricTracked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { eventName, metadata },\n\t\t},\n\t\tproperties: { source },\n\t} = coeffects;\n\n\ttrack(coeffects, eventName, { ...metadata, source });\n};\n\nconst actionHandlers = {\n\t[NOW_PREDICATE_BUILDER_ERROR_DETECTED]: {\n\t\teffect: handleErrorDetected,\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_PREDICATE_UPDATED]: {\n\t\teffect: handlePredicateAction,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_PREDICATE_BUILDER_METADATA_REQUEST]: {\n\t\teffect: handleMetadataRequest,\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS]: {\n\t\teffect: handleFetchPanelDefinitions,\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_DECODED_QUERY_UPDATED]: {\n\t\teffect: handleDecodedQueryUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_PREDICATE_BUILDER_METRIC_TRACKED]: {\n\t\teffect: handleMetricTracked,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_5_index_jsdbx_0c64e92f__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"behaviors\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__.__esModule\n\t\t\t\t\tif (cjsModule && 'behaviors' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"].behaviors;\n\t\t\t\t\t} else if ('behaviors' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__.behaviors || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dot_walk_index_jsdbx_e177a752__[\"default\"].behaviors;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-loader';\nimport get from 'lodash/get';\n\nconst createLoadingView = (view, cachePath) => (state, helpers) => {\n\tconst {\n\t\tproperties: { metadataCache },\n\t\tbehaviors,\n\t} = state;\n\n\tconst metadataCachePath =\n\t\tcachePath || behaviors?.fetchingValueEditorBehavior?.cachePath;\n\tif (!get(metadataCache, metadataCachePath)) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\talignItems: 'center',\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\tpaddingTop: '22px',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<now-loader />\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\treturn view(state, helpers);\n};\n\nexport default createLoadingView;\n","export const NOW_TABS_SELECTED_ITEM_SET = 'NOW_TABS#SELECTED_ITEM_SET';\nexport const NOW_ALERT_ACTION_CLICKED = 'NOW_ALERT#ACTION_CLICKED';\nexport const SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CLOSED =\n\t'SN_CONDITION_BUILDER#ALTERNATIVE_VIEW_CLOSED';\nexport const SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED =\n\t'SN_CONDITION_BUILDER#ALTERNATIVE_VIEW_OPENED';\nexport const SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED =\n\t'SN_CONDITION_BUILDER#DECODED_QUERY_UPDATED';\nexport const SN_CONDITION_BUILDER_SAVED_FILTER_SELECTED =\n\t'SN_CONDITION_BUILDER#SAVED_FILTER_SELECTED';\nexport const SN_CONDITION_BUILDER_UPDATE_METADATA_CACHE =\n\t'SN_CONDITION_BUILDER#UPDATE_METADATA_CACHE';\n\nexport const NOW_TOGGLE_CHECKED_SET = 'NOW_TOGGLE#CHECKED_SET';\n\nexport const USER_PREF_UPDATED = 'USER_PREF_UPDATED';\n\nexport const SN_CONDITION_BUILDER_SAVE_FILTER_ERROR =\n\t'SN_CONDITION_BUILDER#SAVE_FILTER_ERROR';\n","export const SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA =\n\t'SN_CONDITION_BUILDER#FETCH_EDITOR_METADATA';\nexport const SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_SUCCESS =\n\t'SN_CONDITION_BUILDER#FETCH_EDITOR_METADATA_SUCCESS';\nexport const SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_FAILURE =\n\t'SN_CONDITION_BUILDER#FETCH_EDITOR_METADATA_FAILURE';\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nimport { SN_CONDITION_BUILDER_UPDATE_METADATA_CACHE } from '../../components/sn-condition-builder/actionTypes';\n\nimport {\n\tSN_CONDITION_BUILDER_FETCH_EDITOR_METADATA,\n\tSN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_SUCCESS,\n\tSN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_FAILURE,\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { options },\n\t\t},\n\t\tproperties,\n\t\tproperties: { metadataCache },\n\t\tstate,\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (options?.disableFetchOnBootstrap) {\n\t\treturn;\n\t}\n\n\tconst cachePath = get(\n\t\tstate,\n\t\t'behaviors.fetchingValueEditorBehavior.cachePath'\n\t);\n\tif (!cachePath) {\n\t\tthrow new Error('Define cachePath in behavior option');\n\t}\n\n\tif (!get(metadataCache, cachePath)) {\n\t\tdispatch(SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA, {\n\t\t\t...properties,\n\t\t});\n\t}\n};\n\nconst handleFetchEditorMetadataSuccess = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tdata,\n\t\t\t\toptions: { transformFn },\n\t\t\t},\n\t\t},\n\t\tstate: {\n\t\t\tbehaviors: {\n\t\t\t\tfetchingValueEditorBehavior: { cachePath },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst metadata = transformFn ? transformFn(data) : data;\n\n\tdispatch(SN_CONDITION_BUILDER_UPDATE_METADATA_CACHE, {\n\t\tpath: cachePath,\n\t\tmetadata,\n\t});\n};\n\nconst fetchingValueEditorBehavior = {\n\tname: 'fetchingValueEditorBehavior',\n\tproperties: {\n\t\tmetadataCache: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t},\n\tsetInitialState: ({ options, properties }) => {\n\t\tconst { cachePath, computeCachePathFn } = options;\n\n\t\treturn {\n\t\t\tcachePath: computeCachePathFn\n\t\t\t\t? computeCachePathFn(properties)\n\t\t\t\t: cachePath,\n\t\t};\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: handleComponentBootstrap,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_SUCCESS]: {\n\t\t\teffect: handleFetchEditorMetadataSuccess,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// TODO: Show an error or something\n\t\t[SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_FAILURE]: {\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default fetchingValueEditorBehavior;\n","import createLoadingView from './createLoading.view';\nimport fetchingValueEditorBehavior from './fetchingValueEditorBehavior';\n\nexport { createLoadingView };\nexport default fetchingValueEditorBehavior;\n","export function uuid() {\n\tif (\n\t\ttypeof crypto !== 'undefined' &&\n\t\ttypeof crypto.randomUUID === 'function'\n\t) {\n\t\treturn crypto.randomUUID();\n\t}\n\n\t// Fred Luddy's uuid function. Not for cryptographic use.\n\treturn (Math.random() * new Date().getTime())\n\t\t.toString(36)\n\t\t.toUpperCase()\n\t\t.replace(/\\./g, '-');\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tSN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_SUCCESS,\n\tSN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_FAILURE,\n} from './constants';\n\nconst createFetchingValueEditorGraphQLEffect = (query, variableList) => ({\n\t...createGraphQLEffect(query, {\n\t\tvariableList,\n\t\tsuccessActionType: SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_SUCCESS,\n\t\terrorActionType: SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA_FAILURE,\n\t}),\n\tstopPropagation: true,\n});\n\nexport default createFetchingValueEditorGraphQLEffect;\n","export const isMatchedOnProperties = (properties, obj1, obj2) => {\n\treturn properties.every(\n\t\t(prop) =>\n\t\t\tObject.prototype.hasOwnProperty.call(obj1, prop) &&\n\t\t\tObject.prototype.hasOwnProperty.call(obj2, prop) &&\n\t\t\tobj1[prop] === obj2[prop]\n\t);\n};\n\nexport const allElementsMatchedOnProperties = (properties, arr1, arr2) => {\n\treturn (\n\t\tarr1.length === arr2.length &&\n\t\tarr1.every((elem, idx) =>\n\t\t\tisMatchedOnProperties(properties, elem, arr2[idx])\n\t\t)\n\t);\n};\n","import { FieldTypeConfig } from './FieldTypeConfig';\n\n/**\n * The configuration of an operator within the context of a field type.\n */\nexport class FieldOperatorConfig {\n\t#parentFieldTypeConfig;\n\t#opName; //string\n\t#component; //string\n\t#label; //string\n\t#display; //string\n\n\tstatic #isInternalConstructing = false;\n\tconstructor(fieldTypeConfig, opName, { component, label, display }) {\n\t\tif (!FieldOperatorConfig.#isInternalConstructing) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'FieldOperatorConfig is not constructable; use create method'\n\t\t\t);\n\t\t}\n\t\tFieldOperatorConfig.#isInternalConstructing = false;\n\n\t\tif (!fieldTypeConfig || !(fieldTypeConfig instanceof FieldTypeConfig)) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'fieldTypeConfig for this operator was not set or instance of FieldTypeConfig'\n\t\t\t);\n\t\t}\n\t\tthis.#parentFieldTypeConfig = fieldTypeConfig;\n\t\tif (!opName || typeof opName !== 'string') {\n\t\t\tthrow new TypeError(\n\t\t\t\t'opName for this operator was not set or instance of string'\n\t\t\t);\n\t\t}\n\t\tthis.#opName = opName;\n\t\tthis.#component = component;\n\t\tthis.#label = label;\n\t\tthis.#display = display;\n\t}\n\n\tget _component() {\n\t\tif (this.#component) {\n\t\t\treturn this.#component;\n\t\t} else {\n\t\t\treturn this.#parentFieldTypeConfig._getComponentForOperator(\n\t\t\t\tthis.#opName\n\t\t\t);\n\t\t}\n\t}\n\n\tget _label() {\n\t\tif (this.#label) {\n\t\t\treturn this.#label;\n\t\t} else {\n\t\t\treturn this.#parentFieldTypeConfig._getLabelForOperator(\n\t\t\t\tthis.#opName\n\t\t\t);\n\t\t}\n\t}\n\n\tget _display() {\n\t\tif (this.#display) {\n\t\t\treturn this.#display;\n\t\t} else {\n\t\t\treturn this.#parentFieldTypeConfig._getDisplayForOperator(\n\t\t\t\tthis.#opName\n\t\t\t);\n\t\t}\n\t}\n\n\tget _opName() {\n\t\treturn this.#opName;\n\t}\n\n\tstatic _createFromInherited(inherited, fieldTypeConfig, opName) {\n\t\tFieldOperatorConfig.#isInternalConstructing = true;\n\t\tconst instance = new FieldOperatorConfig(\n\t\t\tfieldTypeConfig,\n\t\t\topName,\n\t\t\tinherited\n\t\t);\n\t\treturn instance;\n\t}\n\n\t_applyChange(fieldOperatorChange) {\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\tfieldOperatorChange,\n\t\t\t\t'component'\n\t\t\t)\n\t\t) {\n\t\t\tthis.#component = fieldOperatorChange.component || undefined;\n\t\t}\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(fieldOperatorChange, 'label')\n\t\t) {\n\t\t\tthis.#label = fieldOperatorChange.label || undefined;\n\t\t}\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(fieldOperatorChange, 'display')\n\t\t) {\n\t\t\tthis.#display = fieldOperatorChange.display || undefined;\n\t\t}\n\t}\n\n\t_eliminateUnneededProperties() {\n\t\tif (\n\t\t\tthis.#component ===\n\t\t\tthis.#parentFieldTypeConfig._getComponentForOperator(this.#opName)\n\t\t) {\n\t\t\tthis.#component = undefined;\n\t\t}\n\t\tif (\n\t\t\tthis.#label ===\n\t\t\tthis.#parentFieldTypeConfig._getLabelForOperator(this.#opName)\n\t\t) {\n\t\t\tthis.#label = undefined;\n\t\t}\n\t}\n\n\ttoJSON() {\n\t\treturn {\n\t\t\tcomponent: this.#component,\n\t\t\tdisplay: this.#display,\n\t\t\tlabel: this.#label,\n\t\t};\n\t}\n}\n","import { allElementsMatchedOnProperties } from '../utils/comparisonUtils';\n\nimport { FieldOperatorConfig } from './FieldOperatorConfig';\nimport { FieldOperatorMappings } from './FieldOperatorMappings';\n\n/**\n * The configuration of a field type's' operators and value editors.\n */\nexport class FieldTypeConfig {\n\t#parentFieldOperatorMappings;\n\t#fieldType; //string\n\t#defaultComponent; //string\n\t#fieldOperatorConfigsByOperatorName; //Map<string, FieldOperatorConfig>\n\t#orderedOperatorNames; //Array<string>\n\t#referencedFieldType; //string\n\n\tstatic #isInternalConstructing = false;\n\tconstructor(\n\t\tfieldOperatorMappings,\n\t\tfieldType,\n\t\t{ component, operators, operatorOrder, ref }\n\t) {\n\t\tif (!FieldTypeConfig.#isInternalConstructing) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'FieldTypeConfig is not constructable; use create method'\n\t\t\t);\n\t\t}\n\t\tFieldTypeConfig.#isInternalConstructing = false;\n\n\t\tif (\n\t\t\t!fieldOperatorMappings ||\n\t\t\t!(fieldOperatorMappings instanceof FieldOperatorMappings)\n\t\t) {\n\t\t\tthrow new TypeError(\n\t\t\t\t`FieldOperatorMappings for this fieldType (${fieldType}) was not set or instance of FieldOperatorMappings`\n\t\t\t);\n\t\t}\n\t\tthis.#parentFieldOperatorMappings = fieldOperatorMappings;\n\t\tif (!fieldType || typeof fieldType !== 'string') {\n\t\t\tthrow new TypeError(\n\t\t\t\t`fieldType for this fieldType (${fieldType}) was not set or instance of string`\n\t\t\t);\n\t\t}\n\t\tthis.#fieldType = fieldType;\n\t\tif (component && typeof component !== 'string') {\n\t\t\tthrow new TypeError('defaultComponent was set and not a string');\n\t\t}\n\t\tif (ref && typeof ref === 'string') {\n\t\t\tthis.#referencedFieldType = ref;\n\t\t} else {\n\t\t\tthis.#defaultComponent = component;\n\t\t\tif (operators && operators instanceof Object) {\n\t\t\t\t// maybe use later:  && Array.from(operators.entries()).some(elem => !elem[1] instanceof FieldOperatorConfig)\n\t\t\t\tthis.#fieldOperatorConfigsByOperatorName = new Map();\n\t\t\t\tfor (const op in operators) {\n\t\t\t\t\tthis.#fieldOperatorConfigsByOperatorName.set(\n\t\t\t\t\t\top,\n\t\t\t\t\t\tFieldOperatorConfig._createFromInherited(\n\t\t\t\t\t\t\toperators[op],\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\top\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (operatorOrder && !(operatorOrder instanceof Array)) {\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\t'operatorOrder was set but was not an Array'\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis.#orderedOperatorNames = operatorOrder;\n\t\t}\n\t}\n\n\tget _fieldType() {\n\t\treturn this.#fieldType;\n\t}\n\n\tget _operators() {\n\t\tif (this.#referencedFieldType) {\n\t\t\treturn this.#parentFieldOperatorMappings._getFieldTypeConfig(\n\t\t\t\tthis.#referencedFieldType\n\t\t\t)._operators;\n\t\t}\n\t\tconst opNames = this.#orderedOperatorNames\n\t\t\t? this.#orderedOperatorNames\n\t\t\t: this.#parentFieldOperatorMappings._operatorOrder;\n\t\tconst ops = [];\n\t\topNames.forEach((opName) => {\n\t\t\tconst fieldOperatorConfig = this.#fieldOperatorConfigsByOperatorName.get(\n\t\t\t\topName\n\t\t\t);\n\t\t\tif (fieldOperatorConfig) {\n\t\t\t\tconst op = {\n\t\t\t\t\toperator: fieldOperatorConfig._opName,\n\t\t\t\t\tlabel: fieldOperatorConfig._label,\n\t\t\t\t\teditor: fieldOperatorConfig._component,\n\t\t\t\t};\n\t\t\t\tif (fieldOperatorConfig._display) {\n\t\t\t\t\top.display = fieldOperatorConfig._display;\n\t\t\t\t}\n\t\t\t\tops.push(op);\n\t\t\t}\n\t\t});\n\t\treturn ops;\n\t}\n\n\tget _copyOfFieldOperatorConfigsByOperatorName() {\n\t\tconst result = new Map();\n\t\tfor (const [\n\t\t\topName,\n\t\t\tfOC,\n\t\t] of this.#fieldOperatorConfigsByOperatorName.entries()) {\n\t\t\tresult.set(\n\t\t\t\topName,\n\t\t\t\tFieldOperatorConfig._createFromInherited(\n\t\t\t\t\tfOC.toJSON(),\n\t\t\t\t\tthis,\n\t\t\t\t\topName\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\treturn result;\n\t}\n\n\tstatic _createFromInherited(inherited, fieldOperatorMappings, fieldType) {\n\t\tFieldTypeConfig.#isInternalConstructing = true;\n\t\tconst instance = new FieldTypeConfig(\n\t\t\tfieldOperatorMappings,\n\t\t\tfieldType,\n\t\t\tinherited\n\t\t);\n\t\treturn instance;\n\t}\n\n\t_getLabelForOperator(operatorName) {\n\t\tif (this.#referencedFieldType) {\n\t\t\treturn this.#parentFieldOperatorMappings\n\t\t\t\t._getFieldTypeConfig(this.#referencedFieldType)\n\t\t\t\t._getLabelForOperator(operatorName);\n\t\t}\n\t\tlet label = this.#parentFieldOperatorMappings._getLabelForOperator(\n\t\t\toperatorName\n\t\t);\n\t\tif (!label) {\n\t\t\tlabel = operatorName + ' (!)';\n\t\t}\n\t\treturn label;\n\t}\n\n\t_getComponentForOperator(operatorName) {\n\t\tif (this.#referencedFieldType) {\n\t\t\treturn this.#parentFieldOperatorMappings\n\t\t\t\t._getFieldTypeConfig(this.#referencedFieldType)\n\t\t\t\t._getComponentForOperator(operatorName);\n\t\t}\n\t\tlet component = this.#defaultComponent;\n\t\tif (!component) {\n\t\t\tcomponent = this.#parentFieldOperatorMappings._getComponentForOperator(\n\t\t\t\toperatorName\n\t\t\t);\n\t\t}\n\t\treturn component;\n\t}\n\n\t_getDisplayForOperator(operatorName) {\n\t\tif (this.#referencedFieldType) {\n\t\t\treturn this.#parentFieldOperatorMappings\n\t\t\t\t._getFieldTypeConfig(this.#referencedFieldType)\n\t\t\t\t._getDisplayForOperator(operatorName);\n\t\t}\n\t\tconst display = this.#parentFieldOperatorMappings._getDisplayForOperator(\n\t\t\toperatorName\n\t\t);\n\t\treturn display;\n\t}\n\n\t_applyChange(fieldTypeChange) {\n\t\tif (!this.#fieldOperatorConfigsByOperatorName) {\n\t\t\tthis.#fieldOperatorConfigsByOperatorName = new Map();\n\t\t}\n\t\tif (Object.prototype.hasOwnProperty.call(fieldTypeChange, 'ref')) {\n\t\t\tif (\n\t\t\t\t!this.#parentFieldOperatorMappings._getFieldTypeConfig(\n\t\t\t\t\tfieldTypeChange.ref\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\t`No field type \"${fieldTypeChange.ref}\" found.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!this.#referencedFieldType) {\n\t\t\t\tthis.#defaultComponent = undefined;\n\t\t\t\tthis.#fieldOperatorConfigsByOperatorName.clear();\n\t\t\t\tthis.#orderedOperatorNames = undefined;\n\t\t\t}\n\t\t\tthis.#referencedFieldType = fieldTypeChange.ref;\n\t\t} else {\n\t\t\tif (this.#referencedFieldType) {\n\t\t\t\t//copy configuration of referred fieldType\n\t\t\t\tconst referencedFieldType = this.#parentFieldOperatorMappings._getFieldTypeConfig(\n\t\t\t\t\tthis.#referencedFieldType\n\t\t\t\t);\n\t\t\t\tconst refFTJSON = referencedFieldType.toJSON();\n\t\t\t\tthis.#defaultComponent = refFTJSON.component;\n\t\t\t\tthis.#orderedOperatorNames = refFTJSON.operatorOrder;\n\t\t\t\tthis.#fieldOperatorConfigsByOperatorName =\n\t\t\t\t\treferencedFieldType._copyOfFieldOperatorConfigsByOperatorName;\n\t\t\t\tthis.#referencedFieldType = undefined;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\tfieldTypeChange,\n\t\t\t\t\t'component'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthis.#defaultComponent = fieldTypeChange.component || undefined;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\tfieldTypeChange,\n\t\t\t\t\t'operators'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (\n\t\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\t\tfieldTypeChange,\n\t\t\t\t\t\t'operatorsComplete'\n\t\t\t\t\t) &&\n\t\t\t\t\tfieldTypeChange.operatorsComplete\n\t\t\t\t) {\n\t\t\t\t\tthis.#fieldOperatorConfigsByOperatorName.clear();\n\t\t\t\t}\n\t\t\t\tObject.entries(fieldTypeChange.operators).forEach(\n\t\t\t\t\t([opName, opConfig]) => {\n\t\t\t\t\t\tif (!opConfig) {\n\t\t\t\t\t\t\tthis.#fieldOperatorConfigsByOperatorName.delete(\n\t\t\t\t\t\t\t\topName\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlet fieldOperatorConfig = this.#fieldOperatorConfigsByOperatorName.get(\n\t\t\t\t\t\t\t\topName\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (!fieldOperatorConfig) {\n\t\t\t\t\t\t\t\tfieldOperatorConfig = FieldOperatorConfig._createFromInherited(\n\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\topName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tthis.#fieldOperatorConfigsByOperatorName.set(\n\t\t\t\t\t\t\t\t\topName,\n\t\t\t\t\t\t\t\t\tfieldOperatorConfig\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tfieldOperatorConfig._applyChange(opConfig);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\tfieldTypeChange,\n\t\t\t\t\t'operatorOrder'\n\t\t\t\t) &&\n\t\t\t\tfieldTypeChange.operatorOrder instanceof Array &&\n\t\t\t\tfieldTypeChange.operatorOrder.length > 0\n\t\t\t) {\n\t\t\t\tthis.#orderedOperatorNames = fieldTypeChange.operatorOrder;\n\t\t\t}\n\t\t}\n\t}\n\n\t_eliminateUnneededProperties() {\n\t\tif (this.#referencedFieldType) {\n\t\t\treturn;\n\t\t}\n\t\tthis.#fieldOperatorConfigsByOperatorName.forEach((fieldOpConfig) =>\n\t\t\tfieldOpConfig._eliminateUnneededProperties()\n\t\t);\n\n\t\t//There is no straightforward way to determine that this.#defaultComponent can be eliminated\n\t\t//because it is inherited before the (likely) differentiated operator defaultComponent values are\n\n\t\tif (this.#orderedOperatorNames) {\n\t\t\tconst origOps = this._operators;\n\t\t\tconst origOrderedOpNames = this.#orderedOperatorNames;\n\t\t\tthis.#orderedOperatorNames = undefined;\n\t\t\tconst inheritedOps = this._operators;\n\t\t\tif (\n\t\t\t\t!allElementsMatchedOnProperties(\n\t\t\t\t\t['operator'],\n\t\t\t\t\torigOps,\n\t\t\t\t\tinheritedOps\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthis.#orderedOperatorNames = origOrderedOpNames;\n\t\t\t}\n\t\t}\n\t}\n\n\ttoJSON() {\n\t\tif (this.#referencedFieldType) {\n\t\t\treturn { ref: this.#referencedFieldType };\n\t\t}\n\t\tconst obj = {\n\t\t\tcomponent: this.#defaultComponent,\n\t\t\toperatorOrder: this.#orderedOperatorNames,\n\t\t};\n\t\tconst operators = {};\n\t\tfor (const [\n\t\t\topName,\n\t\t\tfOC,\n\t\t] of this.#fieldOperatorConfigsByOperatorName.entries()) {\n\t\t\toperators[opName] = fOC.toJSON();\n\t\t}\n\t\tobj.operators = operators;\n\t\treturn obj;\n\t}\n}\n","/**\n * The configuration of an operator's default values.\n */\nexport class OperatorConfig {\n\t#defaultLabel; //string\n\t#defaultComponent; //string\n\t#display; //string\n\n\tstatic #isInternalConstructing = false;\n\tconstructor({ label, component, display }) {\n\t\tif (!OperatorConfig.#isInternalConstructing) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'OperatorConfig is not constructable; use create method'\n\t\t\t);\n\t\t}\n\t\tOperatorConfig.#isInternalConstructing = false;\n\t\tthis.#defaultLabel = label;\n\t\tthis.#defaultComponent = component;\n\t\tthis.#display = display;\n\t}\n\n\tstatic _createFromInherited(inherited) {\n\t\tOperatorConfig.#isInternalConstructing = true;\n\t\tconst instance = new OperatorConfig(inherited);\n\t\treturn instance;\n\t}\n\n\tget _label() {\n\t\treturn this.#defaultLabel;\n\t}\n\n\tget _component() {\n\t\treturn this.#defaultComponent;\n\t}\n\n\tget _display() {\n\t\treturn this.#display;\n\t}\n\n\t_applyChange(operatorChange) {\n\t\tif (Object.prototype.hasOwnProperty.call(operatorChange, 'component')) {\n\t\t\tthis.#defaultComponent = operatorChange.component || undefined;\n\t\t}\n\t\tif (Object.prototype.hasOwnProperty.call(operatorChange, 'label')) {\n\t\t\tthis.#defaultLabel = operatorChange.label || undefined;\n\t\t}\n\t\tif (Object.prototype.hasOwnProperty.call(operatorChange, 'display')) {\n\t\t\tthis.#display = operatorChange.display || undefined;\n\t\t}\n\t}\n\n\t_eliminateUnneededProperties(defaultComponent) {\n\t\tif (this.#defaultComponent === defaultComponent) {\n\t\t\tthis.#defaultComponent = undefined;\n\t\t}\n\t}\n\n\ttoJSON() {\n\t\treturn {\n\t\t\tcomponent: this.#defaultComponent,\n\t\t\tdisplay: this.#display,\n\t\t\tlabel: this.#defaultLabel,\n\t\t};\n\t}\n}\n","import { allElementsMatchedOnProperties } from '../utils/comparisonUtils';\n\nimport { FieldTypeConfig } from './FieldTypeConfig';\nimport { OperatorConfig } from './OperatorConfig';\n\n/**\n * The configuration of field types to operators and value editors.\n */\nexport class FieldOperatorMappings {\n\t#defaultComponent; //string\n\t#operatorsByOpName; //Map<string, OperatorConfig>\n\t#defaultOperatorOrder; //Array<string>\n\t#fieldTypeConfigsByTypeName; //Map<string, FieldTypeConfig>\n\n\tstatic #isInternalConstructing = false;\n\tconstructor({ inherited }) {\n\t\tif (!FieldOperatorMappings.#isInternalConstructing) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'FieldOperatorMappings is not constructable; use create method'\n\t\t\t);\n\t\t}\n\t\tFieldOperatorMappings.#isInternalConstructing = false;\n\n\t\tif (!inherited) {\n\t\t\t//TODO is schema validation possible in our code?\n\t\t\tthrow new TypeError('No inherited model passed in.');\n\t\t}\n\t\tif (Object.prototype.hasOwnProperty.call(inherited, 'defaults')) {\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\tinherited.defaults,\n\t\t\t\t\t'component'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthis.#defaultComponent = inherited.defaults.component;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\tinherited.defaults,\n\t\t\t\t\t'operatorOrder'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthis.#defaultOperatorOrder = inherited.defaults.operatorOrder;\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(inherited, 'operators') &&\n\t\t\ttypeof inherited.operators === 'object'\n\t\t) {\n\t\t\tthis.#operatorsByOpName = new Map();\n\t\t\tfor (const op in inherited.operators) {\n\t\t\t\tthis.#operatorsByOpName.set(\n\t\t\t\t\top,\n\t\t\t\t\tOperatorConfig._createFromInherited(inherited.operators[op])\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(inherited, 'fieldTypes') &&\n\t\t\ttypeof inherited.fieldTypes === 'object'\n\t\t) {\n\t\t\tthis.#fieldTypeConfigsByTypeName = new Map();\n\t\t\tfor (const ft in inherited.fieldTypes) {\n\t\t\t\tthis.#fieldTypeConfigsByTypeName.set(\n\t\t\t\t\tft,\n\t\t\t\t\tFieldTypeConfig._createFromInherited(\n\t\t\t\t\t\tinherited.fieldTypes[ft],\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\tft\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic _createFromInherited(inherited) {\n\t\tFieldOperatorMappings.#isInternalConstructing = true;\n\t\tconst instance = new FieldOperatorMappings({ inherited });\n\t\treturn instance;\n\t}\n\n\tget _operatorOrder() {\n\t\treturn this.#defaultOperatorOrder;\n\t}\n\n\tget _defaultComponent() {\n\t\treturn this.#defaultComponent ? this.#defaultComponent : 'none';\n\t}\n\n\t_getComponentForOperator(operatorName) {\n\t\tconst operator = this.#operatorsByOpName.get(operatorName);\n\t\treturn operator?._component\n\t\t\t? operator._component\n\t\t\t: this._defaultComponent;\n\t}\n\n\t_getLabelForOperator(operatorName) {\n\t\tconst operator = this.#operatorsByOpName.get(operatorName);\n\t\treturn operator?._label ? operator._label : 'opType: ' + operatorName;\n\t}\n\n\t_getDisplayForOperator(operatorName) {\n\t\tconst operator = this.#operatorsByOpName.get(operatorName);\n\t\treturn operator._display;\n\t}\n\n\t_getFieldTypeConfig(fTCName) {\n\t\treturn this.#fieldTypeConfigsByTypeName.get(fTCName);\n\t}\n\n\t/**\n\t * Get the operators based on (in order of precedence) fieldType, baseType, default (if configured)\n\t * @param {string} fieldType the Glide type for the field\n\t * @param {string} baseType a Glide type as a fallback\n\t * @returns {Array} the values for resolved operator/value-editor pairs\n\t */\n\tgetOperatorsForFieldType(fieldType, baseType) {\n\t\tlet ft = this._getFieldTypeConfig(fieldType);\n\t\tif (ft) {\n\t\t\treturn ft._operators;\n\t\t} else {\n\t\t\tft = this._getFieldTypeConfig(baseType);\n\t\t}\n\t\tif (ft) {\n\t\t\t// console.debug(`fieldType:${fieldType} not found, falling back to baseType:${baseType}`)\n\t\t\treturn ft._operators;\n\t\t} else {\n\t\t\tft = this._getFieldTypeConfig('default');\n\t\t}\n\t\tif (ft) {\n\t\t\t// console.debug(`fieldType:${fieldType} and baseType:${baseType} not found, falling back to \"default\"`);\n\t\t\treturn ft._operators;\n\t\t} else {\n\t\t\tthrow new Error(\n\t\t\t\t`No fieldType information for \"${fieldType}\"${\n\t\t\t\t\tbaseType ? ' or \"' + baseType + '\"' : ''\n\t\t\t\t}.`\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Customize the field operator mapping by merging\n\t * @param {Object} fieldOperatorMappingChange customizations in nearly the same format as used for constructor\n\t */\n\tapplyChange(fieldOperatorMappingChange) {\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\tfieldOperatorMappingChange,\n\t\t\t\t'defaults'\n\t\t\t)\n\t\t) {\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\tfieldOperatorMappingChange.defaults,\n\t\t\t\t\t'component'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthis.#defaultComponent =\n\t\t\t\t\tfieldOperatorMappingChange.defaults.component;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\tfieldOperatorMappingChange.defaults,\n\t\t\t\t\t'operatorOrder'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthis.#defaultOperatorOrder =\n\t\t\t\t\tfieldOperatorMappingChange.defaults.operatorOrder;\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\tfieldOperatorMappingChange,\n\t\t\t\t'operators'\n\t\t\t)\n\t\t) {\n\t\t\tObject.entries(fieldOperatorMappingChange.operators).forEach(\n\t\t\t\t([opName, opConfig]) => {\n\t\t\t\t\tif (!opConfig) {\n\t\t\t\t\t\tthis.#operatorsByOpName.delete(opName);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet operatorConfig = this.#operatorsByOpName.get(\n\t\t\t\t\t\t\topName\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!operatorConfig) {\n\t\t\t\t\t\t\toperatorConfig = OperatorConfig._createFromInherited(\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.#operatorsByOpName.set(opName, operatorConfig);\n\t\t\t\t\t\t}\n\t\t\t\t\t\toperatorConfig._applyChange(opConfig);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\tfieldOperatorMappingChange,\n\t\t\t\t'defaultOperatorOrder'\n\t\t\t) &&\n\t\t\tfieldOperatorMappingChange.defaultOperatorOrder\n\t\t) {\n\t\t\tthis.#defaultOperatorOrder =\n\t\t\t\tfieldOperatorMappingChange.defaultOperatorOrder;\n\t\t}\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\tfieldOperatorMappingChange,\n\t\t\t\t'fieldTypes'\n\t\t\t)\n\t\t) {\n\t\t\tObject.entries(fieldOperatorMappingChange.fieldTypes).forEach(\n\t\t\t\t([ftName, ftConfig]) => {\n\t\t\t\t\tif (!ftConfig) {\n\t\t\t\t\t\tthis.#fieldTypeConfigsByTypeName.delete(ftName);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet fieldTypeConfig = this.#fieldTypeConfigsByTypeName.get(\n\t\t\t\t\t\t\tftName\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!fieldTypeConfig) {\n\t\t\t\t\t\t\tfieldTypeConfig = FieldTypeConfig._createFromInherited(\n\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\tftName\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.#fieldTypeConfigsByTypeName.set(\n\t\t\t\t\t\t\t\tftName,\n\t\t\t\t\t\t\t\tfieldTypeConfig\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfieldTypeConfig._applyChange(ftConfig);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\t_eliminateUnneededProperties() {\n\t\t//defaultComponent is a fallback for operator.component\n\t\tthis.#operatorsByOpName.forEach((operator) =>\n\t\t\toperator._eliminateUnneededProperties(this._defaultComponent)\n\t\t);\n\t\tthis.#fieldTypeConfigsByTypeName.forEach((fieldTypeConfig) =>\n\t\t\tfieldTypeConfig._eliminateUnneededProperties()\n\t\t);\n\t}\n\n\t_createAllPossibleRefs() {\n\t\tconst refChanges = {};\n\t\tconst uniqueConfigs = [];\n\t\tfor (const [fieldTypeName, fieldTypeConfig] of this\n\t\t\t.#fieldTypeConfigsByTypeName) {\n\t\t\tconst operators = fieldTypeConfig._operators;\n\t\t\tconst match = uniqueConfigs.findIndex((elem) => {\n\t\t\t\tconst uniqueConfigOperators = elem._operators;\n\t\t\t\treturn allElementsMatchedOnProperties(\n\t\t\t\t\t['operator', 'label', 'editor', 'display'],\n\t\t\t\t\toperators,\n\t\t\t\t\tuniqueConfigOperators\n\t\t\t\t);\n\t\t\t});\n\t\t\tif (-1 !== match) {\n\t\t\t\trefChanges[fieldTypeName] = {\n\t\t\t\t\tref: uniqueConfigs[match]._fieldType,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tuniqueConfigs.push(fieldTypeConfig);\n\t\t\t}\n\t\t}\n\t\tthis.applyChange({ fieldTypes: refChanges });\n\t}\n\n\ttoJSON() {\n\t\tconst obj = {};\n\t\tif (this.#defaultOperatorOrder || this.#defaultComponent) {\n\t\t\tobj.defaults = {};\n\t\t\tif (this.#defaultComponent) {\n\t\t\t\tobj.defaults.component = this.#defaultComponent;\n\t\t\t}\n\t\t\tif (this.#defaultOperatorOrder) {\n\t\t\t\tobj.defaults.operatorOrder = this.#defaultOperatorOrder;\n\t\t\t}\n\t\t}\n\t\tconst operators = {};\n\t\tfor (const [opName, opConfig] of this.#operatorsByOpName.entries()) {\n\t\t\toperators[opName] = opConfig.toJSON();\n\t\t}\n\t\tobj.operators = operators;\n\t\tconst fieldTypes = {};\n\t\tfor (const [\n\t\t\ttypeName,\n\t\t\tfTConfig,\n\t\t] of this.#fieldTypeConfigsByTypeName.entries()) {\n\t\t\tfieldTypes[typeName] = fTConfig.toJSON();\n\t\t}\n\t\tobj.fieldTypes = fieldTypes;\n\t\treturn obj;\n\t}\n\n\t_toLut() {\n\t\tconst result = {};\n\t\tfor (const [key, value] of this.#fieldTypeConfigsByTypeName.entries()) {\n\t\t\tconst fieldType = { operators: [] };\n\t\t\tfor (const {\n\t\t\t\toperator: internalValue,\n\t\t\t\tlabel: displayValue,\n\t\t\t\teditor: componentTag,\n\t\t\t\tdisplay: operatorDisplay,\n\t\t\t} of value._operators) {\n\t\t\t\tconst op = { internalValue, displayValue, operatorDisplay };\n\t\t\t\tif ('none' !== componentTag) {\n\t\t\t\t\top.componentTag = componentTag;\n\t\t\t\t}\n\t\t\t\tfieldType.operators.push(op);\n\t\t\t}\n\t\t\tresult[key] = fieldType;\n\t\t}\n\t\treturn result;\n\t}\n}\n","const SINGLE_PREDICATE = 'SINGLE_PREDICATE';\nconst GROUPED_PREDICATE = 'GROUPED_PREDICATE';\n\nexport const PREDICATE_TYPES = {\n\tSINGLE_PREDICATE,\n\tGROUPED_PREDICATE,\n};\n\nconst AND = 'AND';\nconst OR = 'OR';\nconst SEPARATED_GROUP = 'SEPARATED_GROUP';\nconst GLOBAL = 'GLOBAL';\n\nconst UPDATE_PREDICATE_PROPERTIES = 'UPDATE_PREDICATE_PROPERTIES';\nconst ADD_PREDICATE_TO_GROUP = 'ADD_PREDICATE_TO_GROUP';\nconst REMOVE_PREDICATE = 'REMOVE_PREDICATE';\n\nexport const DATA_MODEL_ACTIONS = {\n\tUPDATE_PREDICATE_PROPERTIES,\n\tADD_PREDICATE_TO_GROUP,\n\tREMOVE_PREDICATE,\n};\n\nexport const GROUP_TYPES = {\n\tAND,\n\tOR,\n\tSEPARATED_GROUP,\n\tGLOBAL,\n};\n\nconst BRACKETED = 'BRACKETED';\nconst SEPARATED = 'SEPARATED';\nconst STACKED = 'STACKED';\n\nexport const SEPARATION_TYPES = {\n\tBRACKETED,\n\tSEPARATED,\n\tSTACKED,\n};\n\nexport const BRACKET_COLORS = {\n\tBLUE: 'blue',\n\tBROWN: 'brown',\n\tGRAY: 'gray',\n\tGREEN: 'green',\n\tGREEN_YELLOW: 'green-yellow',\n\tMAGENTA: 'magenta',\n\tORANGE: 'orange',\n\tPINK: 'pink',\n\tPURPLE: 'purple',\n\tTEAL: 'teal',\n\tYELLOW: 'yellow',\n};\n","import { t } from 'sn-translate';\n\nimport { GROUP_TYPES } from '../sn-predicate-builder/constants';\n\n/**\n * Disambiguation is necessary because \"and\", \"or\" can appear in multiple contexts with different casing.\n * This label is used *specifically for the logical \"and\", \"or\" button in a condition row,\n * which must remain lowercase across all languages for design consistency and to prevent translation mismatches.\n *\n * `code` is a unique identifier for translation systems to distinguish this usage from others.\n * `message` is the default fallback string shown in English.\n * `comment` provides translators with context on how and where the string is used.\n */\nexport const AND_LABEL = t({\n\tcode: 'condition-builder-and-lowercase',\n\tmessage: 'and',\n\tcomment:\n\t\t'Must be in lowercase in all languages, used for the and button on a condition row',\n});\n\nexport const OR_LABEL = t({\n\tcode: 'condition-builder-or-lowercase__now_condition_builder_row',\n\tmessage: 'or',\n\tcomment:\n\t\t'Must be in lowercase in all languages, used for the or button on a condition row',\n});\n\nexport const OR_TOOLTIP_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_or_tooltip_content',\n\tmessage: 'Use OR to return results matching at least one condition',\n\tcomment: 'Tooltip content for the OR button on a condition row',\n});\n\nexport const AND_TOOLTIP_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_and_tooltip_content',\n\tmessage: 'Use AND to return results matching all conditions',\n\tcomment: 'Tooltip content for the AND button on a condition row',\n});\n\nexport const REMOVE_TOOLTIP_CONTENT = t({\n\tcode:\n\t\t'now_predicate_builder_now_condition_builder_row_remove_tooltip_content',\n\tmessage: 'Remove this condition',\n\tcomment: 'Tooltip content for the remove button on a condition row',\n});\n\nexport const AND_BUTTON_A11Y_LABEL = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_and_a11y_label',\n\tmessage: 'Add AND condition',\n\tcomment: 'A11y label for the AND button on a condition row',\n});\n\nexport const OR_BUTTON_A11Y_LABEL = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_or_a11y_label',\n\tmessage: 'Add OR condition',\n\tcomment: 'A11y label for the OR button on a condition row',\n});\n\nexport const DROPDOWN_TYPES = {\n\tROW: 'ROW',\n};\n\nconst ADD_OR_LABEL = t('Add \"or\"');\nconst ADD_AND_LABEL = t('Add \"and\"');\nconst REMOVE_LABEL = t('Remove');\n\nexport const ROW_ACTION_OR = GROUP_TYPES.OR;\nexport const ROW_ACTION_AND = GROUP_TYPES.AND;\nexport const ROW_ACTION_REMOVE = 'REMOVE';\n\nexport const ROW_ACTION_DROPDOWN_ITEMS = [\n\t{ id: ROW_ACTION_OR, label: ADD_OR_LABEL },\n\t{ id: ROW_ACTION_AND, label: ADD_AND_LABEL },\n\t{ id: ROW_ACTION_REMOVE, label: REMOVE_LABEL },\n];\n\nexport const MACROPONENT_PREFIX = 'macroponent-';\n\nexport const SELECT_AN_ITEM = t('Select an item');\n\nexport const OPERATOR_DISPLAY_OPTIONS = {\n\tHIDDEN: 'hidden',\n\tVISIBLE: 'visible',\n};\n\nexport const STATUS_TYPES = {\n\tCRITICAL: 'critical',\n\tINFO: 'info',\n\tPOSITIVE: 'positive',\n\tSUGGESTION: 'suggestion',\n\tWARNING: 'warning',\n};\n\nexport const FIELD_TYPES = {\n\tREFERENCE: 'reference',\n};\n\n// Row validation message content\nconst INVALID_ROW_CONTENT = t({\n\tcode: 'now_predicate_builder_invalid_row',\n\tmessage: 'Invalid query. Please check your condition and try again.',\n\tcomment: 'Content for invalid row level message',\n});\n\n// Field validation message content\nconst UNKNOWN_DYNAMIC_CATEGORY_FIELD_CONTENT = t({\n\tcode:\n\t\t'now_predicate_builder_now_condition_builder_row_unknown_dynamic_field',\n\tmessage:\n\t\t'Items selected are schema-less and cannot be edited. To make changes, delete the row and start a new condition.',\n\tcomment: 'Content for unknown dynamic category field message',\n});\n\nconst UNKNOWN_FIELD_TYPE_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_unknown_field',\n\tmessage: 'Field type is unrecognized and may have limited support',\n\tcomment: 'Content for unknown field message',\n});\n\nconst UNMAPPED_FIELD_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_unmapped_field',\n\tmessage: 'Field does not exist on table.',\n\tcomment: 'Content for unmapped field message',\n});\n\n// Operator validation message content\nconst OPERATOR_WARNING_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_invalid_operator',\n\tmessage: 'Operator is unrecognized and may have limited support.',\n\tcomment: 'Content for invalid operator message',\n});\n\n// Value validation message content\nconst INVALID_DURATION_INPUT_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_invalid_duration',\n\tmessage: 'Input for duration field is invalid.',\n\tcomment: 'Content for invalid duration message',\n});\n\nconst INVALID_NUMBER_INPUT_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_invalid_value',\n\tmessage: 'Input is not a valid number.',\n\tcomment: 'Content for invalid number message',\n});\n\nconst MISSING_VALUE_INPUT_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_invalid_value',\n\tmessage: 'Value is missing.',\n\tcomment: 'Content for missing value message',\n});\n\nconst INVALID_RANGE_DURATION_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_invalid_durations',\n\tmessage:\n\t\t'Invalid input: Please enter valid dates for both start and end values',\n\tcomment: 'Content for invalid duration range message',\n});\n\nconst INVALID_RANGE_VALUES_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_invalid_values',\n\tmessage:\n\t\t'Invalid input: Please enter valid numbers for both start and end values',\n\tcomment: 'Content for invalid values message',\n});\n\nconst MISSING_RANGE_VALUES_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_missing_values',\n\tmessage: 'Both start and end values are required.',\n\tcomment: 'Content for empty or partial values message',\n});\n\nconst UNKNOWN_DYNAMIC_CATEGORY_VALUE_CONTENT = t({\n\tcode: 'now_predicate_builder_now_condition_builder_row_unknown_dynamic_val',\n\tmessage: 'Items selected are schema-less and cannot be edited.',\n\tcomment: 'Content for unknown dynamic category value',\n});\n\n// Row validation messages\nexport const INVALID_ROW_MESSAGE = {\n\tid: 'INVALID-ROW',\n\tstatus: STATUS_TYPES.CRITICAL,\n\tcontent: INVALID_ROW_CONTENT,\n};\n\n// Field validation messages\nexport const UNKNOWN_DYNAMIC_CATEGORY_FIELD_MESSAGE = {\n\tid: 'UNKNOWN-DYNAMIC-CATEGORY-FIELD',\n\tstatus: STATUS_TYPES.INFO,\n\tcontent: UNKNOWN_DYNAMIC_CATEGORY_FIELD_CONTENT,\n};\n\nexport const UNKNOWN_FIELD_TYPE_MESSAGE = {\n\tid: 'UNKNOWN_FIELD_TYPE',\n\tstatus: STATUS_TYPES.WARNING,\n\tcontent: UNKNOWN_FIELD_TYPE_CONTENT,\n};\n\nexport const UNMAPPED_FIELD_MESSAGE = {\n\tid: 'UNMAPPED-FIELD',\n\tstatus: STATUS_TYPES.WARNING,\n\tcontent: UNMAPPED_FIELD_CONTENT,\n};\n\n// Operator validation messages\nexport const UNMAPPED_OPERATOR_MESSAGE = {\n\tid: 'UNMAPPED-OPERATOR',\n\tstatus: STATUS_TYPES.WARNING,\n\tcontent: OPERATOR_WARNING_CONTENT,\n};\n\n// Value validation messages\nexport const INVALID_DURATION_INPUT_MESSAGE = {\n\tid: 'INVALID-DURATION-INPUT',\n\tstatus: STATUS_TYPES.WARNING,\n\tcontent: INVALID_DURATION_INPUT_CONTENT,\n};\n\nexport const INVALID_NUMBER_INPUT_MESSAGE = {\n\tid: 'INVALID-NUMBER-INPUT',\n\tstatus: STATUS_TYPES.WARNING,\n\tcontent: INVALID_NUMBER_INPUT_CONTENT,\n};\n\nexport const MISSING_VALUE_INPUT_MESSAGE = {\n\tid: 'MISSING-VALUE-INPUT',\n\tstatus: STATUS_TYPES.CRITICAL,\n\tcontent: MISSING_VALUE_INPUT_CONTENT,\n};\n\nexport const INVALID_RANGE_DURATION_MESSAGE = {\n\tid: 'INVALID-RANGE-DURATION',\n\tstatus: STATUS_TYPES.WARNING,\n\tcontent: INVALID_RANGE_DURATION_CONTENT,\n};\n\nexport const INVALID_RANGE_VALUES_MESSAGE = {\n\tid: 'INVALID-RANGE-VALUES',\n\tstatus: STATUS_TYPES.WARNING,\n\tcontent: INVALID_RANGE_VALUES_CONTENT,\n};\n\nexport const MISSING_RANGE_VALUES_MESSAGE = {\n\tid: 'MISSING-RANGE-VALUES',\n\tstatus: STATUS_TYPES.CRITICAL,\n\tcontent: MISSING_RANGE_VALUES_CONTENT,\n};\n\nexport const UNKNOWN_DYNAMIC_CATEGORY_VALUE_MESSAGE = {\n\tid: 'UNKNOWN-DYNAMIC-CATEGORY-VALUE',\n\tstatus: STATUS_TYPES.INFO,\n\tcontent: UNKNOWN_DYNAMIC_CATEGORY_VALUE_CONTENT,\n};\n\nexport const LESS_THAN_INTERNAL_VALUE = 'LESSTHAN';\nexport const MORE_THAN_INTERNAL_VALUE = 'MORETHAN';\nexport const SAMEAS_INTERNAL_VALUE = 'SAMEAS';\nexport const DIFFERENT_INTERNAL_VALUE = 'NSAMEAS';\n\nexport const OPERATORS_WITH_FIELD_VALUES = [\n\tLESS_THAN_INTERNAL_VALUE,\n\tMORE_THAN_INTERNAL_VALUE,\n\tSAMEAS_INTERNAL_VALUE,\n\tDIFFERENT_INTERNAL_VALUE,\n];\n","import get from 'lodash/get';\n\nimport {\n\tUNMAPPED_FIELD_MESSAGE,\n\tUNKNOWN_FIELD_TYPE_MESSAGE,\n\tUNKNOWN_DYNAMIC_CATEGORY_FIELD_MESSAGE,\n} from '../now-condition-builder-row/constants';\nimport { isUnknownFieldType } from '../now-condition-builder-row/utils';\n\n/**\n * Checks if field is unmapped to current table; returns true if field is not found on table.\n *\n * @param {Object} selectedField - The field that has been selected.\n * @param {Object} metadataCache - An object that contains the table metadata including associated fields.\n * @returns {boolean} - Returns true if the selected field type is not found in the fieldOperatorRelationship. If the selectedField.type is not defined, it will return false.\n */\nexport const isUnmappedField = (selectedField, metadataCache) => {\n\tconst dotwalkPath = selectedField?.dotwalkPath;\n\n\tif (dotwalkPath === null) {\n\t\treturn true;\n\t}\n\n\tif (!dotwalkPath || dotwalkPath.length === 0) {\n\t\treturn false;\n\t}\n\n\tconst lastSelection = dotwalkPath[dotwalkPath.length - 1];\n\n\tif (\n\t\t!lastSelection ||\n\t\ttypeof lastSelection.source !== 'string' ||\n\t\ttypeof lastSelection.internalValue !== 'string'\n\t) {\n\t\treturn true;\n\t}\n\n\tconst { source, internalValue } = lastSelection;\n\n\t// Special case for 'variables' (Questions) - always treat as valid\n\tif (internalValue === 'variables') {\n\t\treturn false;\n\t}\n\n\treturn !get(\n\t\tmetadataCache,\n\t\t`tableMetadata.${source}.${internalValue}`,\n\t\tfalse\n\t);\n};\n\n/**\n * Returns message to display under field if it is unmapped.\n *\n * @param {Object} selectedField - The field that has been selected.\n * @param {Object} metadataCache - An object that contains the table metadata including associated fields.\n * @returns {Array<Object>} - Returns an array of message objects.\n */\nexport const getFieldMessages = ({\n\tfieldOperatorRelationship,\n\thasUncategorizedAttribute,\n\tmetadataCache,\n\trowMessages,\n\tselectedField,\n}) => {\n\tlet messagesArr = [];\n\tif (isUnknownFieldType(selectedField, fieldOperatorRelationship)) {\n\t\tmessagesArr.push(UNKNOWN_FIELD_TYPE_MESSAGE);\n\t} else if (isUnmappedField(selectedField, metadataCache)) {\n\t\tmessagesArr.push(UNMAPPED_FIELD_MESSAGE);\n\t} else if (hasUncategorizedAttribute) {\n\t\tmessagesArr.push(UNKNOWN_DYNAMIC_CATEGORY_FIELD_MESSAGE);\n\t}\n\treturn rowMessages.concat(messagesArr);\n};\n\n/**\n * Process field customizations for global field override\n *\n * @param {Object} customizations - The customizations object\n * @returns {Object} - Returns an object with fieldComponentTag, fieldMacroponentSysId, and hasGlobalFieldOverride\n */\nexport const processFieldOverrides = (customizations) => {\n\tconst fieldCustomizations = customizations?.field || {};\n\tlet fieldComponentTag = fieldCustomizations?.componentTag;\n\tlet fieldMacroponentSysId = '';\n\tif (fieldComponentTag && fieldComponentTag.startsWith('macroponent-')) {\n\t\tfieldMacroponentSysId = fieldComponentTag.replace('macroponent-', '');\n\t\tfieldComponentTag = '';\n\t}\n\tconst hasGlobalFieldOverride = Object.keys(fieldCustomizations).length > 0;\n\n\treturn {\n\t\tfieldComponentTag,\n\t\tfieldMacroponentSysId,\n\t\thasGlobalFieldOverride,\n\t};\n};\n","import { t } from 'sn-translate';\n\nexport const UNSUPPORTED_FIELD_TYPE = 'unsupported_field_type';\n\nconst LABEL_IS_NOT = t('is not');\nconst LABEL_LESS_THAN = t('less than');\nconst LABEL_LESS_THAN_OR_IS = t('less than or is');\nconst LABEL_IS = t('is');\nconst LABEL_INSTANCE_OF = t('is a');\nconst LABEL_GREATER_THAN = t('greater than');\nconst LABEL_GREATER_THAN_OR_IS = t('greater than or is');\nconst LABEL_IS_ANYTHING = t('is anything');\nconst LABEL_BETWEEN = t('between');\nconst LABEL_CONTAINS = t('contains');\nconst LABEL_TREND = t('trend');\nconst LABEL_DOES_NOT_HAVE = t('does not have');\nconst LABEL_EXCLUDING = t('excluding');\nconst LABEL_IS_DYNAMIC = t('is (dynamic)');\nconst LABEL_IS_EMPTY_STRING = t('is empty string');\nconst LABEL_ENDS_WITH = t('ends with');\nconst LABEL_GREATER_THAN_FIELD = t('greater than field');\nconst LABEL_GREATER_THAN_OR_IS_FIELD = t('greater than or is field');\nconst LABEL_IS_ONE_OF = t('is one of');\nconst LABEL_IS_EMPTY = t('is empty');\nconst LABEL_IS_NOT_EMPTY = t('is not empty');\nconst LABEL_IS_LESS_THAN = t('is less than');\nconst LABEL_LESS_THAN_FIELD = t('less than field');\nconst LABEL_LESS_THAN_OR_IS_FIELD = t('less than or is field');\nconst LABEL_IS_MORE_THAN = t('is more than');\nconst LABEL_IS_NOT_ONE_OF = t('is not one of');\nconst LABEL_DOES_NOT_CONTAIN = t('does not contain');\nconst LABEL_NOT_ON = t('not on');\nconst LABEL_IS_DIFFERENT_FROM = t('is different from');\nconst LABEL_ON = t('on');\nconst LABEL_RELATIVE = t('relative');\nconst LABEL_IS_SAME_AS = t('is same as');\nconst LABEL_STARTS_WITH = t('starts with');\nconst LABEL_BEFORE = t('before');\nconst LABEL_AT_OR_BEFORE = t('at or before');\nconst LABEL_AFTER = t('after');\nconst LABEL_AT_OR_AFTER = t('at or after');\nconst LABEL_IS_SAME = t('is same');\nconst LABEL_IS_DIFFERENT = t('is different');\nconst LABEL_GREATER_THAN_OR_EQUAL_TO = t('greater than or equal to');\nconst LABEL_LESS_THAN_OR_EQUAL_TO = t('less than or equal to');\nconst LABEL_HAVE = t('have');\nconst LABEL_ARE = t('are');\nconst LABEL_CHANGES = t('changes');\nconst LABEL_CHANGES_TO = t('changes to');\nconst LABEL_CHANGES_FROM = t('changes from');\nconst LABEL_IN_HIERARCHY = t('is in hierarchy');\nconst LABEL_IN_HIERARCHY_DYNAMIC = t('is in hierarchy (dynamic)');\n\nexport const builtinFieldOperatorRelationships = {\n\tdefaults: {\n\t\toperatorOrder: [\n\t\t\t'=',\n\t\t\t'!=',\n\t\t\t'INSTANCEOF',\n\t\t\t'ISEMPTY',\n\t\t\t'ISNOTEMPTY',\n\t\t\t'IN',\n\t\t\t'NOT IN',\n\t\t\t'STARTSWITH',\n\t\t\t'ENDSWITH',\n\t\t\t'CONTAINS',\n\t\t\t'LIKE',\n\t\t\t'NOT LIKE',\n\t\t\t'ANYTHING',\n\t\t\t'SAMEAS',\n\t\t\t'NSAMEAS',\n\t\t\t'MORETHAN',\n\t\t\t'LESSTHAN',\n\t\t\t'EMPTYSTRING',\n\t\t\t'BETWEEN',\n\t\t\t'DATEPART',\n\t\t\t'RELATIVE',\n\t\t\t'ON',\n\t\t\t'NOTON',\n\t\t\t'<',\n\t\t\t'>',\n\t\t\t'>=',\n\t\t\t'<=',\n\t\t\t'GT_FIELD',\n\t\t\t'LT_FIELD',\n\t\t\t'GT_OR_EQUALS_FIELD',\n\t\t\t'LT_OR_EQUALS_FIELD',\n\t\t\t'DOESNOTHAVE',\n\t\t\t'EXCLUDING',\n\t\t\t'DYNAMIC',\n\t\t\t'CHANGESFROM',\n\t\t\t'CHANGESTO',\n\t\t\t'VALCHANGES',\n\t\t],\n\t\tcomponent: 'sn-value-editor-string',\n\t},\n\toperators: {\n\t\t'!=': {\n\t\t\tlabel: LABEL_IS_NOT,\n\t\t},\n\t\t'<': {\n\t\t\tlabel: LABEL_LESS_THAN,\n\t\t\tcomponent: 'sn-value-editor-date-choice',\n\t\t},\n\t\t'<=': {\n\t\t\tlabel: LABEL_LESS_THAN_OR_IS,\n\t\t},\n\t\t'=': {\n\t\t\tlabel: LABEL_IS,\n\t\t},\n\t\t'>': {\n\t\t\tlabel: LABEL_GREATER_THAN,\n\t\t\tcomponent: 'sn-value-editor-date-choice',\n\t\t},\n\t\t'>=': {\n\t\t\tlabel: LABEL_GREATER_THAN_OR_IS,\n\t\t},\n\t\tANYTHING: {\n\t\t\tlabel: LABEL_IS_ANYTHING,\n\t\t\tcomponent: 'none',\n\t\t},\n\t\tBETWEEN: {\n\t\t\tlabel: LABEL_BETWEEN,\n\t\t\tcomponent: 'sn-value-editor-between-field',\n\t\t},\n\t\tCHANGESFROM: {\n\t\t\tlabel: LABEL_CHANGES_FROM,\n\t\t},\n\t\tCHANGESTO: {\n\t\t\tlabel: LABEL_CHANGES_TO,\n\t\t},\n\t\tCONTAINS: {\n\t\t\tlabel: LABEL_CONTAINS,\n\t\t},\n\t\tDATEPART: {\n\t\t\tlabel: LABEL_TREND,\n\t\t\tcomponent: 'sn-value-editor-date-trend',\n\t\t},\n\t\tDOESNOTHAVE: {\n\t\t\tlabel: LABEL_DOES_NOT_HAVE,\n\t\t\tcomponent: 'sn-value-editor-tag',\n\t\t},\n\t\tDYNAMIC: {\n\t\t\tlabel: LABEL_IS_DYNAMIC,\n\t\t\tcomponent: 'sn-value-editor-choice-dynamic',\n\t\t},\n\t\tEMPTYSTRING: {\n\t\t\tlabel: LABEL_IS_EMPTY_STRING,\n\t\t\tcomponent: 'none',\n\t\t},\n\t\tENDSWITH: {\n\t\t\tlabel: LABEL_ENDS_WITH,\n\t\t},\n\t\tEXCLUDING: {\n\t\t\tlabel: LABEL_EXCLUDING,\n\t\t\tcomponent: 'sn-value-editor-tag',\n\t\t},\n\t\tGT_FIELD: {\n\t\t\tlabel: LABEL_GREATER_THAN_FIELD,\n\t\t\tcomponent: 'sn-value-editor-choice-field-names',\n\t\t},\n\t\tGT_OR_EQUALS_FIELD: {\n\t\t\tlabel: LABEL_GREATER_THAN_OR_IS_FIELD,\n\t\t\tcomponent: 'sn-value-editor-choice-field-names',\n\t\t},\n\t\tIN: {\n\t\t\tlabel: LABEL_IS_ONE_OF,\n\t\t\tcomponent: 'sn-value-editor-textarea',\n\t\t},\n\t\tIN_HIERARCHY: {\n\t\t\tlabel: LABEL_IN_HIERARCHY,\n\t\t\tcomponent: 'sn-value-editor-hierarchy-reference',\n\t\t},\n\t\tIN_HIERARCHY_DYNAMIC: {\n\t\t\tlabel: LABEL_IN_HIERARCHY_DYNAMIC,\n\t\t\tcomponent: 'sn-value-editor-hierarchy-reference',\n\t\t},\n\t\tINSTANCEOF: {\n\t\t\tlabel: LABEL_INSTANCE_OF,\n\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t},\n\t\tISEMPTY: {\n\t\t\tlabel: LABEL_IS_EMPTY,\n\t\t\tcomponent: 'none',\n\t\t},\n\t\tISNOTEMPTY: {\n\t\t\tlabel: LABEL_IS_NOT_EMPTY,\n\t\t\tcomponent: 'none',\n\t\t},\n\t\tLESSTHAN: {\n\t\t\tlabel: LABEL_IS_LESS_THAN,\n\t\t\tcomponent: 'sn-value-editor-date-comparative',\n\t\t},\n\t\tLIKE: {\n\t\t\tlabel: LABEL_CONTAINS,\n\t\t},\n\t\tLT_FIELD: {\n\t\t\tlabel: LABEL_LESS_THAN_FIELD,\n\t\t\tcomponent: 'sn-value-editor-choice-field-names',\n\t\t},\n\t\tLT_OR_EQUALS_FIELD: {\n\t\t\tlabel: LABEL_LESS_THAN_OR_IS_FIELD,\n\t\t\tcomponent: 'sn-value-editor-choice-field-names',\n\t\t},\n\t\tMORETHAN: {\n\t\t\tlabel: LABEL_IS_MORE_THAN,\n\t\t\tcomponent: 'sn-value-editor-date-comparative',\n\t\t},\n\t\t'NOT IN': {\n\t\t\tlabel: LABEL_IS_NOT_ONE_OF,\n\t\t\tcomponent: 'sn-value-editor-variable-choice',\n\t\t},\n\t\t'NOT LIKE': {\n\t\t\tlabel: LABEL_DOES_NOT_CONTAIN,\n\t\t},\n\t\tNOTON: {\n\t\t\tlabel: LABEL_NOT_ON,\n\t\t\tcomponent: 'sn-value-editor-date-choice',\n\t\t},\n\t\tNSAMEAS: {\n\t\t\tlabel: LABEL_IS_DIFFERENT_FROM,\n\t\t\tcomponent: 'sn-value-editor-choice-field-names',\n\t\t},\n\t\tON: {\n\t\t\tlabel: LABEL_ON,\n\t\t\tcomponent: 'sn-value-editor-date-choice',\n\t\t},\n\t\tRELATIVE: {\n\t\t\tlabel: LABEL_RELATIVE,\n\t\t\tcomponent: 'sn-value-editor-date-relative',\n\t\t},\n\t\tSAMEAS: {\n\t\t\tlabel: LABEL_IS_SAME_AS,\n\t\t\tcomponent: 'sn-value-editor-choice-field-names',\n\t\t},\n\t\tSTARTSWITH: {\n\t\t\tlabel: LABEL_STARTS_WITH,\n\t\t},\n\t\tVALCHANGES: {\n\t\t\tlabel: LABEL_CHANGES,\n\t\t},\n\t},\n\tfieldTypes: {\n\t\taddress_simple: {\n\t\t\tref: 'string',\n\t\t},\n\t\tapproval_rules: {\n\t\t\tref: 'string',\n\t\t},\n\t\taudio: {\n\t\t\tref: 'string',\n\t\t},\n\t\tauto_increment: {\n\t\t\tref: 'integer',\n\t\t},\n\t\tauto_number: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tbootstrap_color: {\n\t\t\tref: 'string',\n\t\t},\n\t\tbreakdown_element: {\n\t\t\tref: 'string',\n\t\t},\n\t\tboolean: {\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-boolean',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-boolean',\n\t\t\t\t},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t},\n\t\t},\n\t\tcalendar_date_time: {\n\t\t\tref: 'glide_date_time',\n\t\t},\n\t\tcatalog_preview: {\n\t\t\tref: 'string',\n\t\t},\n\t\tchar: {\n\t\t\toperatorOrder: ['=', '!=', 'ANYTHING'],\n\t\t\toperators: {\n\t\t\t\t'=': {},\n\t\t\t\t'!=': {},\n\t\t\t\tANYTHING: {},\n\t\t\t},\n\t\t},\n\t\tchoice: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'IN',\n\t\t\t\t'NOT IN',\n\t\t\t\t'<',\n\t\t\t\t'>',\n\t\t\t\t'<=',\n\t\t\t\t'>=',\n\t\t\t\t'LIKE',\n\t\t\t\t'STARTSWITH',\n\t\t\t\t'ENDSWITH',\n\t\t\t\t'NOT LIKE',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'NSAMEAS',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\tIN: {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\t'NOT IN': {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\t'<': {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\t'>': {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\t'<=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\t'>=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\tLIKE: {},\n\t\t\t\tSTARTSWITH: {},\n\t\t\t\tENDSWITH: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tBETWEEN: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t},\n\t\t},\n\t\tcollection: {\n\t\t\tref: 'string',\n\t\t},\n\t\tcolor: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tcolor_display: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tcomposite_field: {\n\t\t\tref: 'string',\n\t\t},\n\t\tcomposite_name: {\n\t\t\tref: 'string',\n\t\t},\n\t\tcompressed: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tcondition_string: {\n\t\t\tref: 'string',\n\t\t},\n\t\tconditions: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'IN',\n\t\t\t\t'STARTSWITH',\n\t\t\t\t'ENDSWITH',\n\t\t\t\t'LIKE',\n\t\t\t\t'NOT LIKE',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'EMPTYSTRING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'>=',\n\t\t\t\t'<=',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {},\n\t\t\t\t'!=': {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tIN: {},\n\t\t\t\tSTARTSWITH: {},\n\t\t\t\tENDSWITH: {},\n\t\t\t\tLIKE: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tEMPTYSTRING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tBETWEEN: {},\n\t\t\t\t'>=': {\n\t\t\t\t\tlabel: LABEL_GREATER_THAN_OR_EQUAL_TO,\n\t\t\t\t},\n\t\t\t\t'<=': {\n\t\t\t\t\tlabel: LABEL_LESS_THAN_OR_EQUAL_TO,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcounter: {\n\t\t\tref: 'string',\n\t\t},\n\t\tcss: {\n\t\t\tref: 'string',\n\t\t},\n\t\tcurrency: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'<',\n\t\t\t\t'>',\n\t\t\t\t'<=',\n\t\t\t\t'>=',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'GT_FIELD',\n\t\t\t\t'LT_FIELD',\n\t\t\t\t'GT_OR_EQUALS_FIELD',\n\t\t\t\t'LT_OR_EQUALS_FIELD',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency',\n\t\t\t\t},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\t'<': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency',\n\t\t\t\t},\n\t\t\t\t'>': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency',\n\t\t\t\t},\n\t\t\t\t'<=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency',\n\t\t\t\t},\n\t\t\t\t'>=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency',\n\t\t\t\t},\n\t\t\t\tBETWEEN: {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tGT_FIELD: {},\n\t\t\t\tLT_FIELD: {},\n\t\t\t\tGT_OR_EQUALS_FIELD: {},\n\t\t\t\tLT_OR_EQUALS_FIELD: {},\n\t\t\t},\n\t\t},\n\t\tcurrency2: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'<',\n\t\t\t\t'>',\n\t\t\t\t'<=',\n\t\t\t\t'>=',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'GT_FIELD',\n\t\t\t\t'LT_FIELD',\n\t\t\t\t'GT_OR_EQUALS_FIELD',\n\t\t\t\t'LT_OR_EQUALS_FIELD',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency-fx',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency-fx',\n\t\t\t\t},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\t'<': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency-fx',\n\t\t\t\t},\n\t\t\t\t'>': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency-fx',\n\t\t\t\t},\n\t\t\t\t'<=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency-fx',\n\t\t\t\t},\n\t\t\t\t'>=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-currency-fx',\n\t\t\t\t},\n\t\t\t\tBETWEEN: {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tGT_FIELD: {},\n\t\t\t\tLT_FIELD: {},\n\t\t\t\tGT_OR_EQUALS_FIELD: {},\n\t\t\t\tLT_OR_EQUALS_FIELD: {},\n\t\t\t},\n\t\t},\n\t\tdata_array: {\n\t\t\tref: 'string',\n\t\t},\n\t\tdata_object: {\n\t\t\tref: 'string',\n\t\t},\n\t\tdata_structure: {\n\t\t\tref: 'string',\n\t\t},\n\t\tdate: {\n\t\t\tref: 'glide_date_time',\n\t\t},\n\t\tdatetime: {\n\t\t\tref: 'glide_date_time',\n\t\t},\n\t\tday_of_week: {\n\t\t\tref: 'integer',\n\t\t},\n\t\tdays_of_week: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tdecimal: {\n\t\t\tref: 'integer',\n\t\t},\n\t\tdocument_id: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tdocumentation_field: {\n\t\t\tref: 'string',\n\t\t},\n\t\tdomain_id: {\n\t\t\tref: 'reference',\n\t\t},\n\t\tdomain_path: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'IN',\n\t\t\t\t'STARTSWITH',\n\t\t\t\t'ENDSWITH',\n\t\t\t\t'CONTAINS',\n\t\t\t\t'NOT LIKE',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'EMPTYSTRING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'>=',\n\t\t\t\t'<=',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {},\n\t\t\t\t'!=': {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tIN: {},\n\t\t\t\tSTARTSWITH: {},\n\t\t\t\tENDSWITH: {},\n\t\t\t\tCONTAINS: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tEMPTYSTRING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tBETWEEN: {},\n\t\t\t\t'>=': {},\n\t\t\t\t'<=': {},\n\t\t\t},\n\t\t},\n\t\tdue_date: {\n\t\t\tref: 'glide_date_time',\n\t\t},\n\t\tdynamic_attribute_choice: {\n\t\t\t// STRY60856560 This is the complete list of string operators that were included in that story.\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'IN',\n\t\t\t\t'STARTSWITH',\n\t\t\t\t'ENDSWITH',\n\t\t\t\t'CONTAINS',\n\t\t\t\t'NOT LIKE',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-dynamic-attribute-choice',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-dynamic-attribute-choice',\n\t\t\t\t},\n\t\t\t\tIN: {\n\t\t\t\t\tcomponent: 'sn-value-editor-dynamic-attribute-choice',\n\t\t\t\t},\n\t\t\t\tSTARTSWITH: {},\n\t\t\t\tENDSWITH: {},\n\t\t\t\tCONTAINS: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t},\n\t\t},\n\t\tdynamic_attribute_store: {\n\t\t\tref: 'string',\n\t\t},\n\t\temail: {\n\t\t\tref: 'string',\n\t\t},\n\t\temail_script: {\n\t\t\tref: 'string',\n\t\t},\n\t\texpression: {\n\t\t\tref: 'string',\n\t\t},\n\t\texternal_names: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tfield_list: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tfield_name: {\n\t\t\tref: 'string',\n\t\t},\n\t\tfile_attachment: {\n\t\t\tref: 'string',\n\t\t},\n\t\tfloat: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'<',\n\t\t\t\t'>',\n\t\t\t\t'<=',\n\t\t\t\t'>=',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'GT_FIELD',\n\t\t\t\t'LT_FIELD',\n\t\t\t\t'GT_OR_EQUALS_FIELD',\n\t\t\t\t'LT_OR_EQUALS_FIELD',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\tANYTHING: {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\t'<': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\t'>': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\t'<=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\t'>=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\tBETWEEN: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tGT_FIELD: {},\n\t\t\t\tLT_FIELD: {},\n\t\t\t\tGT_OR_EQUALS_FIELD: {},\n\t\t\t\tLT_OR_EQUALS_FIELD: {},\n\t\t\t},\n\t\t},\n\t\tformula: {\n\t\t\tref: 'string',\n\t\t},\n\t\tgeo_point: {\n\t\t\tref: 'string',\n\t\t},\n\t\tglide_action_list: {\n\t\t\tref: 'string',\n\t\t},\n\t\tglide_date: {\n\t\t\tref: 'glide_date_time',\n\t\t},\n\t\tglide_date_time: {\n\t\t\toperatorOrder: [\n\t\t\t\t'ON',\n\t\t\t\t'NOTON',\n\t\t\t\t'<',\n\t\t\t\t'<=',\n\t\t\t\t'>',\n\t\t\t\t'>=',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'DATEPART',\n\t\t\t\t'RELATIVE',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'MORETHAN',\n\t\t\t\t'LESSTHAN',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\tON: {},\n\t\t\t\tNOTON: {},\n\t\t\t\t'<': {\n\t\t\t\t\tlabel: LABEL_BEFORE,\n\t\t\t\t},\n\t\t\t\t'<=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-date-choice',\n\t\t\t\t\tlabel: LABEL_AT_OR_BEFORE,\n\t\t\t\t},\n\t\t\t\t'>': {\n\t\t\t\t\tlabel: LABEL_AFTER,\n\t\t\t\t},\n\t\t\t\t'>=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-date-choice',\n\t\t\t\t\tlabel: LABEL_AT_OR_AFTER,\n\t\t\t\t},\n\t\t\t\tBETWEEN: {},\n\t\t\t\tDATEPART: {},\n\t\t\t\tRELATIVE: {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tSAMEAS: {\n\t\t\t\t\tcomponent: 'sn-value-editor-date-equivalent',\n\t\t\t\t\tlabel: LABEL_IS_SAME,\n\t\t\t\t},\n\t\t\t\tNSAMEAS: {\n\t\t\t\t\tcomponent: 'sn-value-editor-date-equivalent',\n\t\t\t\t\tlabel: LABEL_IS_DIFFERENT,\n\t\t\t\t},\n\t\t\t\tMORETHAN: {},\n\t\t\t\tLESSTHAN: {},\n\t\t\t},\n\t\t},\n\t\tglide_duration: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'<',\n\t\t\t\t'>',\n\t\t\t\t'<=',\n\t\t\t\t'>=',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'ANYTHING',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\t'<': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'>': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'<=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'>=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\tBETWEEN: {},\n\t\t\t\tANYTHING: {},\n\t\t\t},\n\t\t},\n\t\tglide_encrypted: {\n\t\t\toperators: {\n\t\t\t\t'=': {},\n\t\t\t\t'!=': {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t},\n\t\t},\n\t\tglide_list: {\n\t\t\toperatorOrder: [\n\t\t\t\t'LIKE',\n\t\t\t\t'NOT LIKE',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'DYNAMIC',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\tLIKE: {\n\t\t\t\t\tcomponent: 'sn-value-editor-reference',\n\t\t\t\t},\n\t\t\t\t'NOT LIKE': {\n\t\t\t\t\tcomponent: 'sn-value-editor-reference',\n\t\t\t\t},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tDYNAMIC: {},\n\t\t\t},\n\t\t},\n\t\tglide_precise_time: {\n\t\t\tref: 'string',\n\t\t},\n\t\tglide_static_list: {\n\t\t\toperatorOrder: ['LIKE', 'NOT LIKE', 'ISEMPTY', 'ISNOTEMPTY'],\n\t\t\toperators: {\n\t\t\t\tLIKE: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t},\n\t\t},\n\t\tglide_time: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tglide_utc_time: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tglide_var: {\n\t\t\tref: 'string',\n\t\t},\n\t\tglyphicon: {\n\t\t\tref: 'string',\n\t\t},\n\t\tgraphql_schema: {\n\t\t\tref: 'string',\n\t\t},\n\t\tGUID: {\n\t\t\tref: 'string',\n\t\t},\n\t\thtml: {\n\t\t\tref: 'xml',\n\t\t},\n\t\thtml_script: {\n\t\t\tref: 'string',\n\t\t},\n\t\thtml_template: {\n\t\t\tref: 'string',\n\t\t},\n\t\ticon: {\n\t\t\tref: 'string',\n\t\t},\n\t\timage: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tindex_name: {\n\t\t\tref: 'string',\n\t\t},\n\t\tinsert_timestamp: {\n\t\t\tref: 'glide_date_time',\n\t\t},\n\t\tint: {\n\t\t\tref: 'string',\n\t\t},\n\t\tinteger: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'<',\n\t\t\t\t'>',\n\t\t\t\t'<=',\n\t\t\t\t'>=',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'GT_FIELD',\n\t\t\t\t'LT_FIELD',\n\t\t\t\t'GT_OR_EQUALS_FIELD',\n\t\t\t\t'LT_OR_EQUALS_FIELD',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\tANYTHING: {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\t'<': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\t'>': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\t'<=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\t'>=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-number',\n\t\t\t\t},\n\t\t\t\tBETWEEN: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tGT_FIELD: {},\n\t\t\t\tLT_FIELD: {},\n\t\t\t\tGT_OR_EQUALS_FIELD: {},\n\t\t\t\tLT_OR_EQUALS_FIELD: {},\n\t\t\t},\n\t\t},\n\t\tinteger_date: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tinteger_time: {\n\t\t\tref: 'integer',\n\t\t},\n\t\tinternal_type: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tip_addr: {\n\t\t\tref: 'string',\n\t\t},\n\t\tip_address: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tjournal: {\n\t\t\tref: 'string',\n\t\t},\n\t\tjournal_input: {\n\t\t\tref: 'string',\n\t\t},\n\t\tjournal_list: {\n\t\t\tref: 'string',\n\t\t},\n\t\tjson: {\n\t\t\tref: 'string',\n\t\t},\n\t\tjson_translations: {\n\t\t\tref: 'string',\n\t\t},\n\t\tkeywords_query: {\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tlabel: LABEL_ARE,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tlanguage: {\n\t\t\tref: 'string',\n\t\t},\n\t\tlong: {\n\t\t\tref: 'string',\n\t\t},\n\t\tlongint: {\n\t\t\tref: 'integer',\n\t\t},\n\t\tmask_code: {\n\t\t\tref: 'string',\n\t\t},\n\t\tmetric_absolute: {\n\t\t\tref: 'float',\n\t\t},\n\t\tmetric_counter: {\n\t\t\tref: 'float',\n\t\t},\n\t\tmetric_derive: {\n\t\t\tref: 'float',\n\t\t},\n\t\tmetric_gauge: {\n\t\t\tref: 'float',\n\t\t},\n\t\tmid_config: {\n\t\t\tref: 'string',\n\t\t},\n\t\tmonth_of_year: {\n\t\t\tref: 'integer',\n\t\t},\n\t\tmulti_small: {\n\t\t\tref: 'string',\n\t\t},\n\t\tmulti_two_lines: {\n\t\t\tref: 'string',\n\t\t},\n\t\tname_values: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tnds_icon: {\n\t\t\tref: 'string',\n\t\t},\n\t\tnl_task_int1: {\n\t\t\tref: 'integer',\n\t\t},\n\t\tnumeric: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\torder_index: {\n\t\t\tref: 'integer',\n\t\t},\n\t\tpassword: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tpassword2: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tpercent_complete: {\n\t\t\tref: 'integer',\n\t\t},\n\t\tph_number: {\n\t\t\tref: 'string',\n\t\t},\n\t\tphone_number: {\n\t\t\tref: 'string',\n\t\t},\n\t\tphone_number_e164: {\n\t\t\tref: 'string',\n\t\t},\n\t\tprice: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'<=',\n\t\t\t\t'>=',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'<',\n\t\t\t\t'>',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {},\n\t\t\t\t'!=': {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\t'<=': {},\n\t\t\t\t'>=': {},\n\t\t\t\tBETWEEN: {},\n\t\t\t\t'<': {\n\t\t\t\t\tcomponent: 'sn-value-editor-string',\n\t\t\t\t},\n\t\t\t\t'>': {\n\t\t\t\t\tcomponent: 'sn-value-editor-string',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tproperties: {\n\t\t\tref: 'string',\n\t\t},\n\t\tradio: {\n\t\t\toperatorOrder: ['=', '!=', 'ANYTHING'],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-string',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-string',\n\t\t\t\t},\n\t\t\t\tANYTHING: {},\n\t\t\t},\n\t\t},\n\t\trecord_hierarchy_path: {\n\t\t\tref: 'string',\n\t\t},\n\t\treference_name: {\n\t\t\tref: 'string',\n\t\t},\n\t\trelated_tags: {\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-tag',\n\t\t\t\t\tlabel: LABEL_HAVE,\n\t\t\t\t},\n\t\t\t\tDOESNOTHAVE: {},\n\t\t\t\tEXCLUDING: {},\n\t\t\t},\n\t\t},\n\t\trecords: {\n\t\t\tref: 'string',\n\t\t},\n\t\treference: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'STARTSWITH',\n\t\t\t\t'ENDSWITH',\n\t\t\t\t'LIKE',\n\t\t\t\t'NOT LIKE',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'EMPTYSTRING',\n\t\t\t\t'DYNAMIC',\n\t\t\t\t'IN_HIERARCHY',\n\t\t\t\t'IN_HIERARCHY_DYNAMIC',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-reference',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-reference',\n\t\t\t\t},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tSTARTSWITH: {},\n\t\t\t\tENDSWITH: {},\n\t\t\t\tLIKE: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tEMPTYSTRING: {},\n\t\t\t\tDYNAMIC: {},\n\t\t\t\tIN_HIERARCHY: {\n\t\t\t\t\tcomponent: 'sn-value-editor-hierarchy-reference',\n\t\t\t\t},\n\t\t\t\tIN_HIERARCHY_DYNAMIC: {\n\t\t\t\t\tcomponent: 'sn-value-editor-hierarchy-reference',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\treminder_field_name: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\trepeat_count: {\n\t\t\tref: 'integer',\n\t\t},\n\t\trepeat_type: {\n\t\t\tref: 'string',\n\t\t},\n\t\treplication_payload: {\n\t\t\tref: 'string',\n\t\t},\n\t\tschedule_date_time: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tschedule_interval_count: {\n\t\t\tref: 'integer',\n\t\t},\n\t\tscript: {\n\t\t\toperatorOrder: ['ANYTHING', 'LIKE', 'NOT LIKE', 'ISNOTEMPTY'],\n\t\t\toperators: {\n\t\t\t\tANYTHING: {},\n\t\t\t\tLIKE: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t},\n\t\t},\n\t\tscript_client: {\n\t\t\tref: 'script',\n\t\t},\n\t\tscript_plain: {\n\t\t\tref: 'script',\n\t\t},\n\t\tscript_server: {\n\t\t\tref: 'script',\n\t\t},\n\t\tshort_field_name: {\n\t\t\tref: 'string',\n\t\t},\n\t\tshort_table_name: {\n\t\t\tref: 'string',\n\t\t},\n\t\tslushbucket: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tsnapshot_template_value: {\n\t\t\tref: 'string',\n\t\t},\n\t\tsource_id: {\n\t\t\tref: 'string',\n\t\t},\n\t\tsource_name: {\n\t\t\tref: 'string',\n\t\t},\n\t\tsource_table: {\n\t\t\tref: 'string',\n\t\t},\n\t\tstring: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'IN',\n\t\t\t\t'STARTSWITH',\n\t\t\t\t'ENDSWITH',\n\t\t\t\t'LIKE',\n\t\t\t\t'NOT LIKE',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'EMPTYSTRING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'>=',\n\t\t\t\t'<=',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {},\n\t\t\t\t'!=': {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tIN: {},\n\t\t\t\tSTARTSWITH: {},\n\t\t\t\tENDSWITH: {},\n\t\t\t\tLIKE: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tEMPTYSTRING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tBETWEEN: {},\n\t\t\t\t'>=': {},\n\t\t\t\t'<=': {},\n\t\t\t},\n\t\t},\n\t\tstring_boolean: {\n\t\t\tref: 'string',\n\t\t},\n\t\tstring_full_utf8: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'IN',\n\t\t\t\t'STARTSWITH',\n\t\t\t\t'ENDSWITH',\n\t\t\t\t'LIKE',\n\t\t\t\t'NOT LIKE',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'EMPTYSTRING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'>=',\n\t\t\t\t'<=',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {},\n\t\t\t\t'!=': {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tIN: {},\n\t\t\t\tSTARTSWITH: {},\n\t\t\t\tENDSWITH: {},\n\t\t\t\tLIKE: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tEMPTYSTRING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tBETWEEN: {},\n\t\t\t\t'>=': {},\n\t\t\t\t'<=': {},\n\t\t\t},\n\t\t},\n\t\tstructure: {\n\t\t\tref: 'string',\n\t\t},\n\t\tsys_class_name: {\n\t\t\toperatorOrder: ['=', 'INSTANCEOF', '!=', 'ANYTHING'],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\tINSTANCEOF: {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-choice',\n\t\t\t\t},\n\t\t\t\tANYTHING: {},\n\t\t\t},\n\t\t},\n\t\tsys_class_path: {\n\t\t\tref: 'string',\n\t\t},\n\t\tsysevent_name: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tsysrule_field_name: {\n\t\t\tref: 'string',\n\t\t},\n\t\ttable_name: {\n\t\t\tref: 'string',\n\t\t},\n\t\ttemplate_value: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\ttime: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\ttimer: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'<',\n\t\t\t\t'>',\n\t\t\t\t'<=',\n\t\t\t\t'>=',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t\t'GT_FIELD',\n\t\t\t\t'LT_FIELD',\n\t\t\t\t'GT_OR_EQUALS_FIELD',\n\t\t\t\t'LT_OR_EQUALS_FIELD',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\t'<': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'>': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'<=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'>=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\tBETWEEN: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tGT_FIELD: {},\n\t\t\t\tLT_FIELD: {},\n\t\t\t\tGT_OR_EQUALS_FIELD: {},\n\t\t\t\tLT_OR_EQUALS_FIELD: {},\n\t\t\t},\n\t\t},\n\t\ttransient_attribute: {\n\t\t\tref: 'string',\n\t\t},\n\t\ttranslated: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\ttranslated_field: {\n\t\t\tref: 'string',\n\t\t},\n\t\ttranslated_html: {\n\t\t\tref: 'xml',\n\t\t},\n\t\ttranslated_text: {\n\t\t\tref: 'string',\n\t\t},\n\t\ttree_code: {\n\t\t\tref: 'string',\n\t\t},\n\t\ttree_path: {\n\t\t\tref: 'string',\n\t\t},\n\t\turl: {\n\t\t\tref: 'string',\n\t\t},\n\t\tunsupported_field_type: {\n\t\t\toperatorOrder: ['=', '!=', 'ANYTHING'],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-string',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-string',\n\t\t\t\t},\n\t\t\t\tANYTHING: {},\n\t\t\t},\n\t\t},\n\t\tuser_image: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tuser_input: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tuser_roles: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tversion: {\n\t\t\tref: 'string',\n\t\t},\n\t\tvideo: {\n\t\t\tref: 'string',\n\t\t},\n\t\tvariable_conditions: {\n\t\t\tref: 'unsupported_field_type',\n\t\t},\n\t\tvariables: {\n\t\t\toperators: {\n\t\t\t\t'=': {},\n\t\t\t\t'!=': {},\n\t\t\t\tANYTHING: {},\n\t\t\t},\n\t\t},\n\t\tvariable_attachment_question: {\n\t\t\toperators: {\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t},\n\t\t},\n\t\tvariable_choice: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'IN',\n\t\t\t\t'NOT IN',\n\t\t\t\t'LIKE',\n\t\t\t\t'STARTSWITH',\n\t\t\t\t'ENDSWITH',\n\t\t\t\t'NOT LIKE',\n\t\t\t\t'ANYTHING',\n\t\t\t\t'SAMEAS',\n\t\t\t\t'NSAMEAS',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-variable-choice',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-variable-choice',\n\t\t\t\t},\n\t\t\t\tIN: {\n\t\t\t\t\tcomponent: 'sn-value-editor-variable-choice',\n\t\t\t\t},\n\t\t\t\t'NOT IN': {},\n\t\t\t\tLIKE: {},\n\t\t\t\tSTARTSWITH: {},\n\t\t\t\tENDSWITH: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t},\n\t\t},\n\t\tvariable_duration: {\n\t\t\toperatorOrder: [\n\t\t\t\t'=',\n\t\t\t\t'!=',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t\t'<',\n\t\t\t\t'>',\n\t\t\t\t'<=',\n\t\t\t\t'>=',\n\t\t\t\t'BETWEEN',\n\t\t\t\t'ANYTHING',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\t'<': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'>': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'<=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\t'>=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-duration',\n\t\t\t\t},\n\t\t\t\tBETWEEN: {},\n\t\t\t\tANYTHING: {},\n\t\t\t},\n\t\t},\n\t\tvariable_multiple_choice: {\n\t\t\tref: 'variable_choice',\n\t\t},\n\t\tvariable_requested_for: {\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-reference',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-reference',\n\t\t\t\t},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tSTARTSWITH: {},\n\t\t\t\tENDSWITH: {},\n\t\t\t\tLIKE: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t\tEMPTYSTRING: {},\n\t\t\t\tDYNAMIC: {},\n\t\t\t},\n\t\t},\n\t\tvariable_string: {\n\t\t\toperators: {\n\t\t\t\t'=': {},\n\t\t\t\t'!=': {},\n\t\t\t\tIN: {},\n\t\t\t\t'NOT IN': {},\n\t\t\t\tLIKE: {},\n\t\t\t\tSTARTSWITH: {},\n\t\t\t\tENDSWITH: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tANYTHING: {},\n\t\t\t},\n\t\t},\n\t\tyesno: {\n\t\t\toperators: {\n\t\t\t\t'=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-yes-no',\n\t\t\t\t},\n\t\t\t\t'!=': {\n\t\t\t\t\tcomponent: 'sn-value-editor-yes-no',\n\t\t\t\t},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t\tANYTHING: {},\n\t\t\t\tSAMEAS: {},\n\t\t\t\tNSAMEAS: {},\n\t\t\t},\n\t\t},\n\t\tweek_of_month: {\n\t\t\tref: 'integer',\n\t\t},\n\t\twide_text: {\n\t\t\tref: 'string',\n\t\t},\n\t\twiki_text: {\n\t\t\tref: 'string',\n\t\t},\n\t\tworkflow: {\n\t\t\tref: 'string',\n\t\t},\n\t\tworkflow_conditions: {\n\t\t\tref: 'string',\n\t\t},\n\t\txml: {\n\t\t\toperatorOrder: [\n\t\t\t\t'ANYTHING',\n\t\t\t\t'LIKE',\n\t\t\t\t'NOT LIKE',\n\t\t\t\t'ISEMPTY',\n\t\t\t\t'ISNOTEMPTY',\n\t\t\t],\n\t\t\toperators: {\n\t\t\t\tANYTHING: {},\n\t\t\t\tLIKE: {},\n\t\t\t\t'NOT LIKE': {},\n\t\t\t\tISEMPTY: {},\n\t\t\t\tISNOTEMPTY: {},\n\t\t\t},\n\t\t},\n\t},\n};\n\nfunction deepFreeze(object) {\n\t//taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze#examples\n\tconst propNames = Reflect.ownKeys(object);\n\tfor (const name of propNames) {\n\t\tconst value = object[name];\n\t\tif (\n\t\t\t(value && typeof value === 'object') ||\n\t\t\ttypeof value === 'function'\n\t\t) {\n\t\t\tdeepFreeze(value);\n\t\t}\n\t}\n\treturn Object.freeze(object);\n}\ndeepFreeze(builtinFieldOperatorRelationships);\n","export const CHANGES_FROM = 'CHANGESFROM';\nexport const CHANGES_TO = 'CHANGESTO';\nexport const VALCHANGES = 'VALCHANGES';\n\nexport const SUPPORTED_EXTENDED_OPERATORS = [\n\t{\n\t\tinternalValue: VALCHANGES,\n\t\tdisplayValue: 'changes',\n\t\toperatorDisplay: undefined,\n\t},\n\t{\n\t\tinternalValue: CHANGES_FROM,\n\t\tdisplayValue: 'changes from',\n\t\toperatorDisplay: undefined,\n\t},\n\t{\n\t\tinternalValue: CHANGES_TO,\n\t\tdisplayValue: 'changes to',\n\t\toperatorDisplay: undefined,\n\t},\n];\n","import get from 'lodash/get';\n\nimport { OPERATOR_DISPLAY_OPTIONS } from '../now-condition-builder-row/constants';\nimport { isUnknownFieldType } from '../now-condition-builder-row/utils';\nimport { UNSUPPORTED_FIELD_TYPE } from '../sn-condition-builder/builtinFieldOperatorRelationships.constants';\n\nimport {\n\tCHANGES_FROM,\n\tCHANGES_TO,\n\tSUPPORTED_EXTENDED_OPERATORS,\n} from './constants';\n\n/**\n * Remap the operator object to a format suitable for the now-select dropdown\n * @param {object} operator - server-side operator object\n * @returns {object} - remapped operator object\n */\nconst transformOperator = (operator) => {\n\tconst {\n\t\tinternalValue,\n\t\tdisplayValue,\n\t\tmacroponentSysId,\n\t\tcomponentTag,\n\t\toperatorDisplay,\n\t} = operator;\n\n\treturn {\n\t\tid: internalValue,\n\t\tlabel: displayValue,\n\t\tmacroponentSysId,\n\t\tcomponentTag,\n\t\toperatorDisplay,\n\t};\n};\n\n/**\n * Basic operator generator from a selected operator\n * @param {Object} selectedOperator\n * @returns {Object} - operator object\n */\nconst createOperator = (selectedOperator) => ({\n\tinternalValue: selectedOperator.internalValue,\n\tdisplayValue: selectedOperator.displayValue,\n\tmacroponentSysId: '',\n\tcomponentTag: 'sn-value-editor-string',\n\toperatorDisplay: OPERATOR_DISPLAY_OPTIONS.VISIBLE,\n});\n\n/**\n * Retrieves all operators for a field type that are mapped in the fieldOperatorRelationship\n * @param {Object} fieldOperatorRelationship - Mapping of field types to their available operators\n * @param {string} fieldType - The field type to get operators for\n * @returns {Array} - Array of operator objects\n */\nexport const getFieldTypeOperators = ({\n\tfieldOperatorRelationship,\n\tfieldType,\n}) => {\n\treturn [...get(fieldOperatorRelationship, `${fieldType}.operators`, [])];\n};\n\n/**\n * Generates extended operator field type items\n * @param {Array<string>} extendedOperators - List of extended operators (from props)\n * @param {Object} fieldOperatorRelationship - Mapping of field types to their available operators\n * @param {string} fieldType - The field type to get operators for\n * @returns {Array} - Array of operator objects\n */\nexport const getExtendedOperators = ({\n\textendedOperators,\n\tfieldOperatorRelationship,\n\tfieldType,\n}) => {\n\tconst extendedFieldTypeOperators = [];\n\n\tif (Array.isArray(extendedOperators) && extendedOperators.length) {\n\t\tconst fieldTypeOperators = getFieldTypeOperators({\n\t\t\tfieldOperatorRelationship,\n\t\t\tfieldType,\n\t\t});\n\n\t\t// find the first fieldTypeOperator with the internalValue of '=' match to use as the componentTag for CHANGESTO and CHANGESFROM\n\t\tconst equalsOperatorComponentTag = fieldTypeOperators.find(\n\t\t\t(fieldTypeOperator) => fieldTypeOperator.internalValue === '='\n\t\t)?.componentTag;\n\n\t\textendedOperators.forEach((operatorType) => {\n\t\t\tconst matchedOperator = SUPPORTED_EXTENDED_OPERATORS.find(\n\t\t\t\t(extOp) => extOp.internalValue === operatorType\n\t\t\t);\n\n\t\t\tif (matchedOperator) {\n\t\t\t\tconst modifiedMatchedOperator = { ...matchedOperator };\n\n\t\t\t\t// Special condition for CHANGESTO or CHANGESFROM extended operators\n\t\t\t\tif (\n\t\t\t\t\t[CHANGES_FROM, CHANGES_TO].includes(\n\t\t\t\t\t\tmatchedOperator.internalValue\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\t// CHANGES_FROM and CHANGES_TO use the equality operator componentTag\n\t\t\t\t\tif (equalsOperatorComponentTag) {\n\t\t\t\t\t\tmodifiedMatchedOperator.componentTag = equalsOperatorComponentTag;\n\t\t\t\t\t}\n\t\t\t\t\t// Do not include the operator there is no equality operator componentTag\n\t\t\t\t\telse {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\textendedFieldTypeOperators.push(modifiedMatchedOperator);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn extendedFieldTypeOperators;\n};\n\n/**\n * Filter callback function that determines whether to include/exclude operator\n * @param {Array} excludedOperators - List of operator displayValues to exclude\n * @param {Object} fieldOperatorRelationship - Mapping of field types to their available operators\n * @param {Object} fieldTypeOperator - The field type operator to check (a property passed by the filter function)\n * @returns {boolean} - Returns true if the operator included, false if excluded\n */\nexport const handleFilterExcludedOperator = ({\n\texcludedOperators,\n\tfieldTypeOperator,\n\tselectedOperator = {},\n}) => {\n\tif (\n\t\t!Array.isArray(excludedOperators) ||\n\t\t!excludedOperators.length ||\n\t\t!fieldTypeOperator ||\n\t\t!fieldTypeOperator.displayValue\n\t) {\n\t\treturn true;\n\t}\n\n\treturn (\n\t\t!excludedOperators.includes(fieldTypeOperator.displayValue) ||\n\t\t// Note: the logic here allows for encoded queries the first time they are loaded to bypass the exclusion so the page loads properly\n\t\t// once the user switches off an excluded operator, they can't go back to it\n\t\tfieldTypeOperator.displayValue === selectedOperator.displayValue\n\t);\n};\n\n/**\n * Returns true if the operator is not mapped in the fieldOperatorRelationship\n * @param {Array} extendedOperators - List of extended operators.\n * @param {string} fieldType - The field type to get operators for\n * @param {Object} fieldOperatorRelationship - Mapping of field types to their available operators`\n * @param {Object} selectedOperator - Currently selected operator\n * @param {Array} operatorsToExclude - List of operator displayValues to exclude\n * @returns {boolean}\n */\nexport const isUnmappedOperator = ({\n\textendedOperators,\n\tfieldOperatorRelationship,\n\tfieldType,\n\tselectedOperator,\n\toperatorsToExclude = [],\n}) => {\n\tif (!selectedOperator?.internalValue) {\n\t\treturn false;\n\t}\n\n\t// If the operator is in the exclude list and not the currently selected one, treat it as unmapped\n\tif (\n\t\toperatorsToExclude.length &&\n\t\toperatorsToExclude.includes(selectedOperator.displayValue)\n\t) {\n\t\treturn true;\n\t}\n\n\tconst fieldTypeOperators = getFieldTypeOperators({\n\t\tfieldType,\n\t\tfieldOperatorRelationship,\n\t});\n\n\tconst availableExtendedOperators = getExtendedOperators({\n\t\textendedOperators,\n\t\tfieldType,\n\t\tfieldOperatorRelationship,\n\t});\n\n\tconst availableOperators = [\n\t\t...fieldTypeOperators,\n\t\t...availableExtendedOperators,\n\t];\n\n\treturn !availableOperators.find(\n\t\t(operator) => operator.internalValue === selectedOperator?.internalValue\n\t);\n};\n\n/**\n * Gets the list of available operators for a field type\n *\n * @param {string} type - The field type to get operators for\n * @param {Object} fieldOperatorRelationship - Mapping of field types to their available operators\n * @param {Array} [excludedOperators=[]] - List of operator displayValues to exclude\n * @param {Array} [extendedOperators=[]] - List of extended operators\n * @param {Object} [selectedOperator={}] - Currently selected operator\n * @param {string} selectedOperator.internalValue - Internal value of the selected operator\n * @param {string} selectedOperator.displayValue - Display value of the selected operator\n *\n * @returns {Array<Object>} Array of operator objects with properties:\n *   - id: Internal value of the operator\n *   - label: Display value of the operator\n *   - macroponentSysId: ID of associated macroponent if any\n *   - componentTag: Tag of component to use for value editor\n *   - operatorDisplay: Visibility setting for the operator\n */\nexport const getOperatorItems = ({\n\texcludedOperators = [],\n\textendedOperators = [],\n\tfieldOperatorRelationship,\n\tselectedOperator = {},\n\ttype,\n}) => {\n\tif (!type || !fieldOperatorRelationship) {\n\t\treturn [];\n\t}\n\n\tconst fieldTypeOperators = getFieldTypeOperators({\n\t\tfieldType: type,\n\t\tfieldOperatorRelationship,\n\t});\n\n\t// Accounting for the case where a user comes in with an unknown fieldType.\n\t// We fall back to the unknown_field_type operators so the row remains editable.\n\tconst unknownFieldType =\n\t\tselectedOperator?.internalValue &&\n\t\tisUnknownFieldType({ type }, fieldOperatorRelationship);\n\n\tif (unknownFieldType) {\n\t\tconst unknownTypeOperators = getFieldTypeOperators({\n\t\t\tfieldType: UNSUPPORTED_FIELD_TYPE,\n\t\t\tfieldOperatorRelationship,\n\t\t});\n\t\tfieldTypeOperators.push(...unknownTypeOperators);\n\t}\n\n\tconst extendedFieldTypeOperators = getExtendedOperators({\n\t\textendedOperators,\n\t\tfieldType: type,\n\t\tfieldOperatorRelationship,\n\t});\n\n\t// When the user comes in with an operator not defined for the fieldTypeOperators or extended operators. We want to show gracefully the operator. the value editor will be read only\n\tconst unmappedOperators = [];\n\tconst unmappedOperator = isUnmappedOperator({\n\t\textendedOperators,\n\t\tfieldOperatorRelationship,\n\t\tfieldType: type,\n\t\toperatorsToExclude: excludedOperators,\n\t\tselectedOperator,\n\t});\n\n\t// UnknownFieldType will already add the operator to the fieldTypeOperator so we don't want to add it again\n\tif (!unknownFieldType && unmappedOperator) {\n\t\tunmappedOperators.push(createOperator(selectedOperator));\n\t}\n\n\t// Filter fieldTypeOperators first to remove excluded operators\n\tconst filteredFieldTypeOperators = fieldTypeOperators.filter(\n\t\t(fieldTypeOperator) =>\n\t\t\thandleFilterExcludedOperator({\n\t\t\t\texcludedOperators,\n\t\t\t\tfieldTypeOperator,\n\t\t\t\tselectedOperator,\n\t\t\t})\n\t);\n\n\t// Create a map to track unique operators by their displayValue\n\tconst uniqueOperatorsMap = new Map();\n\n\t// Process operators in order of priority: fieldTypeOperators, then extended, then unmapped\n\t// This ensures that if there are duplicates, we keep the first occurrence based on priority\n\tconst allOperators = [\n\t\t...filteredFieldTypeOperators,\n\t\t...extendedFieldTypeOperators,\n\t\t...unmappedOperators,\n\t];\n\n\t// Add each operator to the map if its displayValue hasn't been seen before\n\tallOperators.forEach((operator) => {\n\t\tif (\n\t\t\toperator?.displayValue &&\n\t\t\t!uniqueOperatorsMap.has(operator.displayValue)\n\t\t) {\n\t\t\tuniqueOperatorsMap.set(operator.displayValue, operator);\n\t\t}\n\t});\n\n\t// Transform the unique operators and return them\n\tconst operatorItems = Array.from(\n\t\tuniqueOperatorsMap.values()\n\t).map((fieldTypeOperator) => transformOperator(fieldTypeOperator));\n\n\treturn operatorItems;\n};\n\n/**\n * Gets messages for operator field, combines messages coming from row level state and if operator is unmapped to selected field.\n *\n * @param {Object} unmappedMessage\n * @param {array} operatorStateMessages\n * @returns {Array<Object>} - array of message objects\n */\n\nexport const getOperatorMessages = (unmappedMessage, operatorStateMessages) => {\n\tlet operatorMessages = [];\n\tif (unmappedMessage) {\n\t\toperatorMessages.push(unmappedMessage);\n\t}\n\tif (operatorStateMessages.length > 0) {\n\t\toperatorMessages.concat(operatorStateMessages);\n\t}\n\treturn operatorMessages;\n};\n","export const currencyField = 'currency';\nexport const currencyFxField = 'currency2';\nexport const durationField = 'glide_duration';\nexport const floatField = 'float';\nexport const integerField = 'integer';\nexport const numberField = 'number';\n","import {\n\tINVALID_DURATION_INPUT_MESSAGE,\n\tINVALID_NUMBER_INPUT_MESSAGE,\n\tINVALID_RANGE_DURATION_MESSAGE,\n\tINVALID_RANGE_VALUES_MESSAGE,\n\tMISSING_RANGE_VALUES_MESSAGE,\n\tMISSING_VALUE_INPUT_MESSAGE,\n\tUNKNOWN_DYNAMIC_CATEGORY_VALUE_MESSAGE,\n} from '../now-condition-builder-row/constants';\nimport {\n\tbetweenTagName,\n\tcurrencyTagName,\n\tcurrencyFxTagName,\n\tdurationTagName,\n\tnumberTagName,\n} from '../sn-value-editor-commons/fetchedEditorComponents.constants';\n\nimport {\n\tcurrencyField,\n\tcurrencyFxField,\n\tdurationField,\n\tfloatField,\n\tintegerField,\n\tnumberField,\n} from './constants';\n\n/**\n * Separates selectedValue into start and end values\n *\n * @param {string} value - Currently selected number range\n * @param {string} fieldType - The field type of the value\n * @param {boolean} checkValidity - Flag so checkMissingRangeValues only extracts the input without checking for a valid number\n * @returns {string[]} - array of start and end values\n */\nexport const parseRange = (value, fieldType, checkValidity = false) => {\n\tif (!value || typeof value !== 'string') return [];\n\tlet parsedValues = value.split('@');\n\tif (fieldType === currencyField || fieldType === currencyFxField) {\n\t\tparsedValues[0] = parseCurrency(parsedValues[0], checkValidity);\n\t\tparsedValues[1] = parseCurrency(parsedValues[1], checkValidity);\n\t}\n\treturn parsedValues;\n};\n\n/**\n * Handle three formats:\n * 1. javascript:global.getCurrencyFilter('...','...','USD;123.45')\n * 2. USD;123.45\n * 3. USD,123.45\n *\n * @param {string} value\n * @param {boolean} checkValidity - Flag so checkMissingRangeValues only extracts the input without checking for a valid number\n * @returns {string | number}\n */\nexport const parseCurrency = (value, checkValidity = false) => {\n\tif (!value || typeof value !== 'string') return '';\n\tlet parsedValue = value;\n\n\t// javascript:global.getCurrencyFilter\n\tif (value.startsWith('javascript:global.getCurrencyFilter')) {\n\t\tconst match = value.match(/'([^']*)'(?=[^']*$)/);\n\t\tif (match && match[1] === '') return '';\n\t\tparsedValue = match[1];\n\t}\n\n\tif (!checkValidity) return parsedValue;\n\n\t// USD;123.45 or USD,123.45\n\tconst match = parsedValue.match(/[;,]([^);,]*)/);\n\treturn match ? match[1] : NaN;\n};\n\n/**\n * Checks if the value is an invalid number\n *\n * @param {string} val\n * @returns {boolean}\n */\nexport const isInvalidNumber = (val) => isNaN(Number(val));\n\n/**\n * Checks if the value is an invalid duration. Duration is either a date string or\n * a javascript duration date.\n *\n * @param {string} val\n * @returns {boolean}\n */\nexport const isInvalidDuration = (val) => {\n\tconst match = val.match(/javascript:gs\\.getDurationDate\\('([^']+)'\\)/);\n\tlet duration;\n\tif (!match) {\n\t\tduration = Date.parse(val);\n\t} else {\n\t\tduration = Date.parse(match[1]);\n\t}\n\treturn isNaN(duration);\n};\n\n/**\n * Checks if the start and end values of the range are fully/partially missing\n *\n * @param {string} value - Currently selected value\n * @param {string} fieldType - The field type of the value\n * @param {boolean} isBeforeDirty - Flag to check if the start value is dirty\n * @param {boolean} isAfterDirty - Flag to check if the end value is dirty\n * @returns {Object[]} - array of message objects\n */\nexport const checkMissingRangeValues = ({\n\tvalue,\n\tfieldType,\n\tisBeforeDirty,\n\tisAfterDirty,\n}) => {\n\tlet messages = [];\n\tconst [start, end] = parseRange(value, fieldType);\n\n\tif (isBeforeDirty && isAfterDirty) {\n\t\t// User interacted with both values but there's missing value(s)\n\t\tif (!start || !end) {\n\t\t\tmessages.push(MISSING_RANGE_VALUES_MESSAGE);\n\t\t}\n\t} else if (\n\t\t!isBeforeDirty &&\n\t\t!isAfterDirty &&\n\t\t((!start && end) || (start && !end))\n\t) {\n\t\t// Query loaded automatically with partially missing values\n\t\tmessages.push(MISSING_RANGE_VALUES_MESSAGE);\n\t}\n\n\treturn messages;\n};\n\n/**\n * Checks if the start and end values of the range are invalid numbers\n *\n * @param {string} value - Currently selected value\n * @param {string} fieldType - The field type of the value\n * @returns {Object[]} - array of message objects\n */\nexport const checkInvalidNumberRange = (value, fieldType) => {\n\tlet messages = [];\n\n\tconst [start, end] = parseRange(value, fieldType, true);\n\n\tif (fieldType === durationField) {\n\t\tif (isInvalidDuration(start) || isInvalidDuration(end)) {\n\t\t\tmessages.push(INVALID_RANGE_DURATION_MESSAGE);\n\t\t}\n\t} else if (isInvalidNumber(start) || isInvalidNumber(end)) {\n\t\tmessages.push(INVALID_RANGE_VALUES_MESSAGE);\n\t}\n\n\treturn messages;\n};\n\n/**\n * Gets messages for range fields.\n *\n * @param {string} value - Currently selected value\n * @param {string} fieldType - The field type of the value\n * @param {boolean} isBeforeDirty - Flag to check if the start value is dirty\n * @param {boolean} isAfterDirty - Flag to check if the end value is dirty\n * @returns {Object[]} - array of message objects\n */\nexport const getRangeMessages = ({\n\tvalue,\n\tfieldType,\n\tisBeforeDirty,\n\tisAfterDirty,\n}) => {\n\tlet messages = [];\n\t// No errors if both values are empty before user interaction\n\tif (!isBeforeDirty && !isAfterDirty && (value === '@' || value === ''))\n\t\treturn messages;\n\tconst missingValueMessages = checkMissingRangeValues({\n\t\tvalue,\n\t\tfieldType,\n\t\tisBeforeDirty,\n\t\tisAfterDirty,\n\t});\n\tif (missingValueMessages.length > 0) {\n\t\tmessages.push(...missingValueMessages);\n\t} else if (\n\t\tfieldType === integerField ||\n\t\tfieldType === floatField ||\n\t\tfieldType === numberField ||\n\t\tfieldType === currencyField ||\n\t\tfieldType === currencyFxField ||\n\t\tfieldType === durationField\n\t) {\n\t\tmessages.push(...checkInvalidNumberRange(value, fieldType));\n\t}\n\n\treturn messages;\n};\n\n/**\n * Gets messages for value field.\n *\n * @param {string} fieldType - The field type of the value\n * @param {Object} selectedValue - Currently selected value\n * @param {boolean} hasUnknownCategory - Flag to check if the value has an unknown category\n * @param {string} componentTag - Type of component getting the value\n * @returns {Object[]} - array of message objects\n */\nexport const getValueMessages = ({\n\tcomponentTag,\n\tfieldType,\n\thasUnknownCategory,\n\tselectedValue,\n}) => {\n\tlet messages = [];\n\tlet value = selectedValue?.internalValue;\n\tconst { isDirty = false } = selectedValue?.dirtyMetadata || {};\n\n\tif (componentTag !== betweenTagName && value === '') {\n\t\t// Single empty field only returns an error if user interacted with it\n\t\tisDirty && messages.push(MISSING_VALUE_INPUT_MESSAGE);\n\t\treturn messages;\n\t}\n\n\tswitch (componentTag) {\n\t\tcase betweenTagName: {\n\t\t\tconst { isBeforeDirty = false, isAfterDirty = false } =\n\t\t\t\tselectedValue?.dirtyMetadata || {};\n\t\t\tmessages.push(\n\t\t\t\t...getRangeMessages({\n\t\t\t\t\tvalue,\n\t\t\t\t\tfieldType,\n\t\t\t\t\tisBeforeDirty,\n\t\t\t\t\tisAfterDirty,\n\t\t\t\t})\n\t\t\t);\n\t\t\tbreak;\n\t\t}\n\t\tcase durationTagName:\n\t\t\tif (isInvalidDuration(value)) {\n\t\t\t\tmessages.push(INVALID_DURATION_INPUT_MESSAGE);\n\t\t\t}\n\t\t\tbreak;\n\t\t// Currency and number components share the same validation logic\n\t\tcase currencyTagName:\n\t\tcase currencyFxTagName:\n\t\t\tvalue = parseCurrency(value, true);\n\t\t// eslint-disable-next-line no-fallthrough\n\t\tcase numberTagName:\n\t\t\tif (isInvalidNumber(value)) {\n\t\t\t\tmessages.push(INVALID_NUMBER_INPUT_MESSAGE);\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tif (hasUnknownCategory) {\n\t\tmessages.push(UNKNOWN_DYNAMIC_CATEGORY_VALUE_MESSAGE);\n\t}\n\n\treturn messages;\n};\n","export const PANEL_DEFINITION_REQUEST_TYPE = {\n\tTABLE_FIELDS: 'TABLE_FIELDS',\n\tDYNAMIC_ATTRIBUTES: 'DYNAMIC_ATTRIBUTES',\n\tDYNAMIC_CATEGORIES: 'DYNAMIC_CATEGORIES',\n};\n\nexport const VARIABLE_MODE = {\n\tSELECTABLE: 'SELECTABLE',\n};\n\nexport const DYNAMIC_QUERY_PREFIXES = {\n\tDATA_STORE_PREFIX: '__dynamic_data_store__',\n\tCATEGORY_PREFIX: '__dynamic_category__',\n\tUNKNOWN_CATEGORY_PREFIX: '__dynamic_category_unknown__',\n};\n","import {\n\tDYNAMIC_QUERY_PREFIXES,\n\tPANEL_DEFINITION_REQUEST_TYPE,\n} from './constants';\n\n/**\n * Given a dotwalkPath return the display value.\n * @param {Array<Object>} dotWalkPath\n * @returns {string} Display value of dotwalkPath\n */\nexport const getDotwalkPathDisplayValue = (dotwalkPath) => {\n\treturn Array.isArray(dotwalkPath)\n\t\t? dotwalkPath.map(({ displayValue }) => displayValue).join(' > ')\n\t\t: '';\n};\n\nexport const isDynamicCategory = (source) =>\n\tsource ? source.startsWith(DYNAMIC_QUERY_PREFIXES.CATEGORY_PREFIX) : false;\n\nexport const isDynamicUnknownCategory = (source) =>\n\tsource\n\t\t? source.startsWith(DYNAMIC_QUERY_PREFIXES.UNKNOWN_CATEGORY_PREFIX)\n\t\t: false;\n\nexport const isDynamicDataStore = (source) =>\n\tsource\n\t\t? source.startsWith(DYNAMIC_QUERY_PREFIXES.DATA_STORE_PREFIX)\n\t\t: false;\n\nexport const isDynamicSchemaSource = (source) =>\n\tisDynamicCategory(source) ||\n\tisDynamicDataStore(source) ||\n\tisDynamicUnknownCategory(source);\n\nexport const getPanelDefinitionRequestType = (source) => {\n\tif (isDynamicDataStore(source)) {\n\t\treturn PANEL_DEFINITION_REQUEST_TYPE.DYNAMIC_CATEGORIES;\n\t} else if (isDynamicCategory(source) || isDynamicUnknownCategory(source)) {\n\t\treturn PANEL_DEFINITION_REQUEST_TYPE.DYNAMIC_ATTRIBUTES;\n\t}\n\n\treturn PANEL_DEFINITION_REQUEST_TYPE.TABLE_FIELDS;\n};\n","import { t } from 'sn-translate';\n\nexport const HIERARCHY_EDITOR_LABELS = {\n\tHIERARCHY_TYPE: t({\n\t\tcode: 'now_predicate_builder',\n\t\tmessage: 'Hierarchy type',\n\t\tcomment: 'Label for hierarchy type field in the hierarchy editor',\n\t}),\n\tSTARTING_POINT: t({\n\t\tcode: 'now_predicate_builder',\n\t\tmessage: 'Starting Point',\n\t\tcomment: 'Label for starting point field in the hierarchy editor',\n\t}),\n\tINCLUDE_EXCLUDE_STARTING_POINT: t({\n\t\tcode: 'now_predicate_builder',\n\t\tmessage: 'Include/exclude starting point',\n\t\tcomment:\n\t\t\t'Label for include/exclude starting point option in the hierarchy editor',\n\t}),\n\tTRUE: t({\n\t\tcode: 'now_predicate_builder',\n\t\tmessage: 'Included',\n\t\tcomment: 'Label for the included option in the hierarchy editor',\n\t}),\n\tFALSE: t({\n\t\tcode: 'now_predicate_builder',\n\t\tmessage: 'Excluded',\n\t\tcomment: 'Label for the excluded option in the hierarchy editor',\n\t}),\n\tHIERARCHY_TYPE_TRIGGER: t({\n\t\tcode: 'now_predicate_builder',\n\t\tmessage: 'Select Hierarchy Type',\n\t\tcomment:\n\t\t\t'Trigger label for selecting hierarchy type in the hierarchy editor',\n\t}),\n\tINCLUDE_EXCLUDE_STARTING_POINT_TRIGGER: t({\n\t\tcode: 'now_predicate_builder',\n\t\tmessage: 'Select Include/Exclude Starting Point',\n\t\tcomment:\n\t\t\t'Trigger label for selecting include/exclude starting point option in the hierarchy editor',\n\t}),\n};\n\nexport const HIERARCHY_EDITOR_DEFAULTS = {\n\tDELIMITER: '@',\n\tSTARTING_POINT_DISPLAY: '(empty)',\n\tOFFSET: '0',\n\tINCLUSIVE: 'true',\n};\n\nexport const HIERARCHY_REFERENCE_DROPDOWN_TYPES = {\n\tHIERARCHY_TYPE: 'HIERARCHY_TYPE',\n\tINCLUSIVITY: 'INCLUSIVITY',\n};\n\nexport const HIERARCHY_REFERENCE_SELECT_IDS = {\n\tHIERARCHY_TYPE: 'hierarchy_type',\n\tINCLUSIVITY: 'inclusive',\n};\n\nexport const INCLUSIVE_OPTIONS = [\n\t{ id: 'true', label: HIERARCHY_EDITOR_LABELS.TRUE },\n\t{ id: 'false', label: HIERARCHY_EDITOR_LABELS.FALSE },\n];\n\nexport const HIERARCHY_OPERATOR_INTERNAL_VALUE = 'IN_HIERARCHY';\nexport const HIERARCHY_OPERATOR_DISPLAY_VALUE = 'is in hierarchy';\nexport const HIERARCHY_DYNAMIC_OPERATOR_INTERNAL_VALUE = 'IN_HIERARCHY_DYNAMIC';\nexport const HIERARCHY_DYNAMIC_OPERATOR_DISPLAY_VALUE =\n\t'is in hierarchy (dynamic)';\n","import get from 'lodash/get';\n\nimport { HIERARCHY_EDITOR_DEFAULTS } from './constants';\n\n/**\n * Parses the value part of the hierarchy condition.\n * Example valueStr: \"hierarchyIdentifier@startingPoint@offset@inclusive\"\n * @param {string} valueStr - The raw internal value string for the hierarchy.\n * @returns {{hierarchyIdentifier: string, startingPoint: string, offset: string, inclusive: string}} The parsed parts of the value.\n */\nexport const parseHierarchyValue = (valueStr) => {\n\tif (!valueStr) {\n\t\t// Ensure defaults are strings, especially for 'inclusive' and 'offset'\n\t\treturn {\n\t\t\thierarchyIdentifier: '',\n\t\t\tstartingPoint: '',\n\t\t\toffset: HIERARCHY_EDITOR_DEFAULTS.OFFSET,\n\t\t\tinclusive: HIERARCHY_EDITOR_DEFAULTS.INCLUSIVE,\n\t\t};\n\t}\n\tconst parts = valueStr.split(HIERARCHY_EDITOR_DEFAULTS.DELIMITER);\n\treturn {\n\t\thierarchyIdentifier: parts[0] || '',\n\t\tstartingPoint: parts[1] || '',\n\t\toffset:\n\t\t\tparts[2] !== undefined\n\t\t\t\t? parts[2]\n\t\t\t\t: HIERARCHY_EDITOR_DEFAULTS.OFFSET,\n\t\tinclusive:\n\t\t\tparts[3] !== undefined\n\t\t\t\t? parts[3]\n\t\t\t\t: HIERARCHY_EDITOR_DEFAULTS.INCLUSIVE,\n\t};\n};\n\n/**\n * Reconstructs the value string from its parts.\n * @param {{hierarchyIdentifier: string, startingPoint: string, offset: string, inclusive: string}} parts - The component parts of the hierarchy value.\n * @returns {string} The fully constructed internal value string.\n */\nexport const buildHierarchyValue = ({\n\thierarchyIdentifier,\n\tstartingPoint,\n\toffset,\n\tinclusive,\n}) => {\n\t// Ensure defaults for undefined parts, matching parser's defaults\n\tconst hId = hierarchyIdentifier || '';\n\tconst sp = startingPoint || '';\n\tconst off =\n\t\toffset !== undefined ? offset : HIERARCHY_EDITOR_DEFAULTS.OFFSET;\n\tconst incl =\n\t\tinclusive !== undefined\n\t\t\t? inclusive\n\t\t\t: HIERARCHY_EDITOR_DEFAULTS.INCLUSIVE;\n\treturn `${hId}@${sp}@${off}@${incl}`;\n};\n\n/**\n * Builds the canonical value object containing both internal and display values.\n * This is the single source of truth for creating a hierarchy value.\n * @param {{hierarchyIdentifier: string, startingPoint: string, startingPointDisplayValue: string, offset: string, inclusive: string, recordHierarchies: Array<Object>}} config - The configuration object.\n * @returns {{internalValue: string, displayValue: string}} The canonical value object.\n */\nexport const buildCanonicalHierarchy = ({\n\thierarchyIdentifier,\n\tinclusive,\n\toffset,\n\trecordHierarchiesState,\n\tstartingPoint,\n\tstartingPointDisplayValue,\n}) => {\n\tconst internalValue = buildHierarchyValue({\n\t\thierarchyIdentifier,\n\t\tstartingPoint,\n\t\toffset,\n\t\tinclusive,\n\t});\n\n\tconst selectedHierarchy = recordHierarchiesState.find(\n\t\t(h) => h.sysId === hierarchyIdentifier\n\t);\n\tconst hierarchyName = selectedHierarchy\n\t\t? selectedHierarchy.label || selectedHierarchy.name\n\t\t: 'Hierarchy';\n\tconst startingPointName =\n\t\tstartingPointDisplayValue ||\n\t\tHIERARCHY_EDITOR_DEFAULTS.STARTING_POINT_DISPLAY;\n\tconst inclusiveStr = String(inclusive) === 'true' ? 'included' : 'excluded';\n\tconst displayValue = `${hierarchyName} for ${startingPointName} ${inclusiveStr}`;\n\n\treturn { internalValue, displayValue };\n};\n\n/**\n * Derives the record hierarchies for a specific field from the metadataCache.\n * @param {object} metadataCache - The cache object containing table metadata.\n * @param {string} source - The source table name.\n * @param {string} fieldName - The name of the field to get configuration for.\n * @returns {{recordHierarchies: Array<Object>}} The derived configuration.\n */\nexport const getFieldRecordHierarchiesFromTableMetadata = (\n\tmetadataCache,\n\tsource,\n\tfieldName\n) => {\n\treturn {\n\t\trecordHierarchies: get(\n\t\t\tmetadataCache,\n\t\t\t`tableMetadata.${source}.${fieldName}.recordHierarchies`,\n\t\t\t[]\n\t\t),\n\t};\n};\n\n/**\n * Extract the starting point display value from a hierarchy display value string\n * @param {string} displayValue - The display value to parse (e.g. \"Manager Hierarchy for Beth Anglin included\")\n * @returns {string} The extracted starting point display value or the original string if parsing fails\n */\nexport const extractStartingPointDisplayValue = (displayValue) => {\n\tif (!displayValue) {\n\t\treturn '';\n\t}\n\n\t// Example:\n\t// displayValue: \"Manager Hierarchy for Beth Anglin included\"\n\t// match: [\" for Beth Anglin included\", \"Beth Anglin\", \"included\"]\n\tconst regex = / for (.*?) (included|excluded)$/;\n\tconst match = displayValue.match(regex);\n\treturn match && match[1] ? match[1] : displayValue;\n};\n\n/**\n * Process a hierarchy condition to build a canonical value\n *\n * @param {Object} params - Parameters for processing\n * @param {Object} params.condition - The condition to process\n * @param {Array} params.model - The model containing conditions\n * @param {string} params.conditionId - ID of the condition being processed\n * @param {Object} params.metadataCache - Cache containing metadata\n * @param {string} params.source - Source of the data\n * @returns {Object} The canonical value object with internalValue and displayValue\n */\nexport const processHierarchyCondition = ({\n\tcondition = {},\n\tmodel = [],\n\tconditionId = '',\n\tmetadataCache = {},\n\tsource = '',\n}) => {\n\tconst originalCondition = model.find((c) => c.conditionId === conditionId);\n\tif (!originalCondition) {\n\t\treturn condition.value;\n\t}\n\n\tconst { recordHierarchies } = getFieldRecordHierarchiesFromTableMetadata(\n\t\tmetadataCache,\n\t\tsource,\n\t\toriginalCondition.field.internalValue\n\t);\n\tconst { hierarchyIdentifier, offset, inclusive } = parseHierarchyValue(\n\t\toriginalCondition.value.internalValue\n\t);\n\n\treturn buildCanonicalHierarchy({\n\t\thierarchyIdentifier,\n\t\tinclusive,\n\t\toffset,\n\t\trecordHierarchiesState: recordHierarchies,\n\t\tstartingPoint: condition.value.internalValue,\n\t\tstartingPointDisplayValue: condition.value.displayValue,\n\t});\n};\n","import get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport { getFieldMessages } from '../now-condition-builder-field-wrapper/utils';\nimport { getOperatorMessages } from '../now-condition-builder-operator-wrapper/utils';\nimport { getValueMessages } from '../now-condition-builder-value-editor-wrapper/utils';\nimport { TRANSIENT_ATTRIBUTE_FIELD_TYPE } from '../sn-condition-builder/constants';\nimport {\n\tisDynamicCategory,\n\tisDynamicDataStore,\n\tisDynamicUnknownCategory,\n} from '../sn-dot-walk-popover/utils';\nimport {\n\tHIERARCHY_OPERATOR_DISPLAY_VALUE,\n\tHIERARCHY_DYNAMIC_OPERATOR_DISPLAY_VALUE,\n} from '../sn-value-editor-hierarchy-reference/constants';\nimport { getFieldRecordHierarchiesFromTableMetadata } from '../sn-value-editor-hierarchy-reference/utils';\n\nimport {\n\tFIELD_TYPES,\n\tINVALID_ROW_MESSAGE,\n\tUNMAPPED_OPERATOR_MESSAGE,\n} from './constants';\n\n/**\n * Checks if the selected field has an associated field type operator mapping.\n *\n * @param {Object} selectedField - The field that has been selected.\n * @param {Object} fieldOperatorRelationship - An object mapping field types to their operator relationships.\n * @returns {boolean} - Returns true if the selected field type is not found in the fieldOperatorRelationship. If the selectedField.type is not defined, it will return false.\n */\nexport const isUnknownFieldType = (\n\tselectedField,\n\tfieldOperatorRelationship\n) => {\n\tif (!selectedField?.type) {\n\t\treturn false;\n\t}\n\n\treturn isEmpty(fieldOperatorRelationship[selectedField.type]);\n};\n\n/**\n * Determines if the condition builder row should be read-only based on the given state.\n *\n * @param {Object} state - The current state of the condition builder row.\n * @param {Object} state.properties - The properties of the condition builder row.\n * @param {Object} state.properties.predicateContext - The context of the predicate.\n * @param {Object} state.properties.predicateContext.fieldOperatorRelationship - The relationship between field and operator.\n * @param {Object} state.selectedField - The currently selected field in the condition builder row.\n *\n * @returns {boolean} - Returns true if the condition builder row should be read-only, otherwise false.\n */\nexport const shouldBeReadOnly = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tinfoMessages,\n\t\t\tpredicateContext: { fieldOperatorRelationship },\n\t\t\treadOnly,\n\t\t},\n\t\tselectedField,\n\t} = state;\n\n\treturn (\n\t\treadOnly ||\n\t\tinfoMessages?.length > 0 ||\n\t\t// TODO: STRY61638322 Eventually, will need to look into this to remove it\n\t\tselectedField?.type === TRANSIENT_ATTRIBUTE_FIELD_TYPE\n\t);\n};\n\n/**\n * Utility to return extended operators for metadataCache\n * @param {Object} field - The field object\n * @param {Object} metadataCache\n * @param {string} source\n * @returns\n */\nexport const getExtendedOperatorsFromMetadata = ({\n\tfield,\n\tmetadataCache,\n\tsource,\n}) => {\n\treturn (\n\t\tget(\n\t\t\tmetadataCache,\n\t\t\t`tableMetadata.${source}.${field?.internalValue}.extendedOperators`\n\t\t) || []\n\t);\n};\n\n/**\n * Formats a remove condition string based on the provided field, operator, and value.\n *\n * @param {string | undefined} field - The field name to remove a condition from.\n * @param {string | undefined} operator - The comparison operator.\n * @param {string | number | undefined} value - The value to compare the field against.\n * @returns {string} A formatted string indicating the removal condition.\n * If all arguments are defined, returns \"Remove field operator value\".\n *\n */\nexport const formatRemoveConditionA11yLabel = (\n\tfield = '',\n\toperator = '',\n\tvalue = ''\n) => {\n\tif (field !== '' && operator !== '' && value !== '') {\n\t\treturn t('Remove {field} {operator} {value}', {\n\t\t\tfield,\n\t\t\toperator,\n\t\t\tvalue,\n\t\t});\n\t} else {\n\t\treturn t('Remove condition');\n\t}\n};\n\n/**\n * Checks if the dotwalkPath has any uncategorized attributes. It does this by traversing the\n * path backwards. If it finds a path with a dynamic category source (should be a dynamic attribute).\n * It then looks at the next item to see if its a category or if its a data store.\n *\n * @param {*} dotwalkPath\n * @returns true if it is an uncategorized attribute, else false\n */\nexport const hasUncategorizedAttribute = (dotwalkPath) => {\n\tif (!dotwalkPath || !dotwalkPath.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = dotwalkPath.length - 1; i > 0; i--) {\n\t\tconst path = dotwalkPath[i];\n\t\tconst source = path.source;\n\n\t\tif (isDynamicUnknownCategory(source)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (!isDynamicCategory(source)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst prevPath = dotwalkPath[i - 1];\n\t\tconst prevReference = prevPath.reference;\n\t\tif (isDynamicDataStore(prevReference)) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n\n/**\n * Determines which hierarchy operators should be excluded based on field type and metadata\n *\n * @param {Object} params - Parameters for determining operators to exclude\n * @param {Object} params.selectedField - The selected field\n * @param {string} params.source - The data source\n * @param {Object} params.metadataCache - Cache containing metadata\n * @param {Array} params.baseOperatorsToExclude - Initial list of operators to exclude\n * @returns {Array} List of operators to exclude\n */\nexport const getHierarchyOperatorsToExclude = ({\n\tselectedField,\n\tsource,\n\tmetadataCache,\n\tbaseOperatorsToExclude = [],\n}) => {\n\tif (!selectedField) {\n\t\treturn baseOperatorsToExclude;\n\t}\n\n\tlet operatorsToExclude = [...baseOperatorsToExclude];\n\tconst fieldType = selectedField?.type;\n\n\t// Exclude hierarchy operators for reference fields without recordHierarchies\n\tif (fieldType === FIELD_TYPES.REFERENCE) {\n\t\tlet fieldName = selectedField?.internalValue;\n\t\tlet fieldSource = source;\n\n\t\t// If the selectedField has a dotwalkPath, use the last item in the path\n\t\tif (selectedField?.dotwalkPath?.length) {\n\t\t\tconst lastPathItem =\n\t\t\t\tselectedField.dotwalkPath[selectedField.dotwalkPath.length - 1];\n\t\t\tfieldName = lastPathItem.internalValue;\n\t\t\tfieldSource = lastPathItem.source;\n\t\t}\n\n\t\tconst {\n\t\t\trecordHierarchies,\n\t\t} = getFieldRecordHierarchiesFromTableMetadata(\n\t\t\tmetadataCache,\n\t\t\tfieldSource,\n\t\t\tfieldName\n\t\t);\n\n\t\tif (!recordHierarchies?.length) {\n\t\t\toperatorsToExclude = [\n\t\t\t\t...operatorsToExclude,\n\t\t\t\tHIERARCHY_OPERATOR_DISPLAY_VALUE,\n\t\t\t\tHIERARCHY_DYNAMIC_OPERATOR_DISPLAY_VALUE,\n\t\t\t];\n\t\t}\n\t}\n\n\treturn operatorsToExclude;\n};\n\n/**\n * Checks if the query row is null=null, which happens when the operator does not exist.\n *\n * @param {Object} selectedField - The field that has been selected.\n * @param {Object} selectedOperator - The operator that has been selected.\n * @param {Object} selectedValue - The value that has been selected.\n * @returns {Array<Object>} - Returns an array of message objects.\n */\nexport const getRowMessages = ({\n\tselectedField,\n\tselectedOperator,\n\tselectedValue,\n}) => {\n\tlet messages = [];\n\n\tif (\n\t\tselectedField?.internalValue === null &&\n\t\tselectedOperator?.internalValue === '=' &&\n\t\tselectedValue?.internalValue === null\n\t) {\n\t\tmessages.push(INVALID_ROW_MESSAGE);\n\t}\n\treturn messages;\n};\n\n/**\n * Gets row, field, operator, and value messages\n *\n * @param {Object} state - The state of the condition builder row.\n * @param {Object} state.selectedField - The currently selected field\n * @param {Object} state.selectedOperator - The currently selected operator\n * @param {Object} state.selectedValue - The currently selected value\n * @param {Object} state.messages - Error messages for the condition builder row.\n * @param {Object} state.properties\n * @param {Object} state.properties.predicateContext\n * @param {Object} state.properties.predicateContext.fieldOperatorRelationship - The field operator relationship object from the condition builder row.\n * @param {Object} state.properties.predicateContext.metadataCache - The metadata cache object from the condition builder row.\n * @param {Object} state.valueEditorMetadata\n * @param {string} state.valueEditorMetadata.componentTag - The component tag of the row.\n * @param {Object} fieldType - The type of the field.\n * @param {boolean} isFieldUncategorized - Flag to indicate if the field is uncategorized.\n * @param {boolean} isValueUncategorized - Flag to indicate if the value is uncategorized.\n * @param {boolean} hasGlobalFieldOverride - Flag to indicate if there is a global field override.\n * @param {Object} unmappedOperator - Flag to indicate if the operator is unmapped to selected field.\n * @returns {Array<Array<Object>>} - Returns an array of row, field, operator, and value message arrays\n */\nexport const getAllErrorMessages = ({\n\tstate,\n\tfieldType,\n\tisFieldUncategorized,\n\tisValueUncategorized,\n\thasGlobalFieldOverride,\n\tunmappedOperator,\n}) => {\n\tconst {\n\t\tselectedField,\n\t\tselectedOperator,\n\t\tselectedValue,\n\t\tmessages,\n\t\tproperties: {\n\t\t\tpredicateContext: { fieldOperatorRelationship, metadataCache },\n\t\t},\n\t\tvalueEditorMetadata: { componentTag },\n\t} = state;\n\n\t// Get row level messages\n\tconst rowMessages = getRowMessages({\n\t\tselectedField,\n\t\tselectedOperator,\n\t\tselectedValue,\n\t});\n\n\tif (rowMessages?.length > 0) {\n\t\treturn {\n\t\t\trowMessages,\n\t\t\tfieldMessages: [],\n\t\t\toperatorMessages: [],\n\t\t\tvalueMessages: [],\n\t\t};\n\t}\n\n\t// Get field messages\n\tlet fieldMessages = [];\n\tif (!hasGlobalFieldOverride) {\n\t\tfieldMessages = getFieldMessages({\n\t\t\tfieldOperatorRelationship,\n\t\t\thasUncategorizedAttribute: isFieldUncategorized,\n\t\t\tmetadataCache,\n\t\t\trowMessages: messages.field,\n\t\t\tselectedField,\n\t\t});\n\t}\n\t// Get operator messages\n\tlet operatorMessages = [];\n\tconst unmappedMessage = unmappedOperator ? UNMAPPED_OPERATOR_MESSAGE : null;\n\t// The isFieldUncategorized check is to make sure we are still showing the operator if it's uncategorized\n\tif (fieldMessages?.length > 0 && !isFieldUncategorized) {\n\t\treturn {\n\t\t\trowMessages: [],\n\t\t\tfieldMessages,\n\t\t\toperatorMessages: [],\n\t\t\tvalueMessages: [],\n\t\t};\n\t}\n\toperatorMessages = getOperatorMessages(unmappedMessage, messages.operator);\n\n\t// Get value messages\n\tlet valueMessages = [];\n\tvalueMessages = getValueMessages({\n\t\tcomponentTag,\n\t\tfieldType,\n\t\thasUnknownCategory: isValueUncategorized,\n\t\tselectedValue,\n\t});\n\n\treturn {\n\t\trowMessages,\n\t\tfieldMessages,\n\t\toperatorMessages,\n\t\tvalueMessages,\n\t};\n};\n","export const SN_LOAD_FILTER_CONTENT_POPOVER_ITEM_CLICKED =\n\t'SN_LOAD_FILTER_CONTENT_POPOVER#ITEM_CLICKED';\nexport const SN_LOAD_FILTER_CONTENT_POPOVER_SET_FOCUS_ON_LAST_DELETE_BUTTON =\n\t'SN_LOAD_FILTER_CONTENT_POPOVER#SET_FOCUS_ON_LAST_DELETE_BUTTON';\nexport const SN_LOAD_FILTER_LOADING_COMPLETED =\n\t'SN_LOAD_FILTER#LOADING_COMPLETED';\nexport const SN_LOAD_FILTER_LOADING_INITIATED =\n\t'SN_LOAD_FILTER#LOADING_INITIATED';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getUserPrefContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"].getUserPrefContext;\n\t\t\t\t\t} else if ('getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__.getUserPrefContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_26_0_5_index_jsdbx_da271c06__[\"default\"].getUserPrefContext;\n\t\t\t\t} });","import get from 'lodash/get';\n\nexport const transformFn = (data) => {\n\tconst currencyCodes = get(\n\t\tdata,\n\t\t'GlideConditionBuilder_Query.editors.currency.currencies',\n\t\t[]\n\t);\n\tconst currencyToSymbolMap = currencyCodes.reduce(\n\t\t(accumulator, { code, symbol }) => {\n\t\t\taccumulator[code] = symbol;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn {\n\t\tcurrencyCodes,\n\t\tcurrencyToSymbolMap,\n\t};\n};\n","import { t } from 'sn-translate';\n\nexport const METADATA_CACHE_PATH = 'internalEditorMetadata.glide_date_choice';\n\nexport const AFTER = 'after';\nexport const BEFORE = 'before';\nexport const BETWEEN = 'between';\nexport const DATE_FORMAT = 'yyyy-MM-dd';\nexport const DATE_FORMAT_WITH_TIME = 'yyyy-MM-dd HH:mm:ss';\nexport const DATE_FORMAT_WITH_TIME_SEPARATED = 'yyyy-MM-dd, HH:mm:ss';\n\nexport const DYNAMIC_OPTION = 'DYNAMIC_OPTION';\n\n/**\n * \"javascript:gs.dateGenerate('2023-12-12', '10:30-0500') Some additional text here\"\n * \"javascript:gs.dateGenerate('2023-12-12', '10:30-0500')\"\n * Regex pattern to match strings like the following:\n */\n// eslint-disable-next-line no-useless-escape\nexport const DATE_TIME_REGEX_PATTERN = /javascript:gs\\.dateGenerate\\(\\'([\\d-]*)\\',?\\s*\\'?([\\d:\\w-]*)\\'?\\)[\\w\\W]*/;\nexport const END_TIME = '23:59:59';\n\nexport const OPERATOR_AFTER = '>';\nexport const OPERATOR_AT_OR_AFTER = '>=';\nexport const OPERATOR_AT_OR_BEFORE = '<=';\nexport const OPERATOR_BEFORE = '<';\nexport const OPERATOR_BETWEEN = 'BETWEEN';\nexport const START_TIME = '00:00:00';\n\nexport const OPERATOR_TYPES = {\n\t'<': BEFORE,\n\t'<=': BETWEEN,\n\t'>': BETWEEN,\n\t'>=': BEFORE,\n};\n\nexport const OPERATORS_WITH_TIME = [\n\tOPERATOR_AFTER,\n\tOPERATOR_AT_OR_AFTER,\n\tOPERATOR_AT_OR_BEFORE,\n\tOPERATOR_BEFORE,\n];\n\nexport const NOW_DATE_TIME_CALENDAR_MONTH_LABELS = [\n\tt('January'),\n\tt('February'),\n\tt('March'),\n\tt('April'),\n\tt('May'),\n\tt('June'),\n\tt('July'),\n\tt('August'),\n\tt('September'),\n\tt('October'),\n\tt('November'),\n\tt('December'),\n];\n\nexport const SN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_KEY_PRESSED =\n\t'SN_VALUE_EDITOR_DATE_CHOICE#CUSTOM_KEY_PRESSED';\nexport const SN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_SELECTED =\n\t'SN_VALUE_EDITOR_DATE_CHOICE#CUSTOM_SELECTED';\nexport const SN_VALUE_EDITOR_DATE_CHOICE_RELATIVE_SELECTED =\n\t'SN_VALUE_EDITOR_DATE_CHOICE#RELATIVE_SELECTED';\n","import get from 'lodash/get';\n\nimport {\n\tAFTER,\n\tDYNAMIC_OPTION,\n\tOPERATOR_TYPES,\n\tOPERATORS_WITH_TIME,\n} from './constants';\n\nexport const isTimeOperator = (operator = '') => {\n\treturn OPERATORS_WITH_TIME.includes(operator);\n};\n\nexport const getTypeForOperator = (operator) => {\n\treturn OPERATOR_TYPES[operator] || AFTER;\n};\n\n/**\n * Find the proper time ago item so we can reverse lookup the displayValue.\n * This is based on various factors because we use different values if its a dynamic date\n * vs if its an ON vs if its the low or high value within a BETWEEN.\n * @param {*} internalValue internalValue, usually from the decodedQueryModel\n * @param {*} selectedOperator\n * @param {*} showTimePicker used to denote we're inside a BETWEEN operator\n * @param {*} timeAgoDates from metadataCache\n * @param {*} type BEFORE | AFTER | BETWEEN, if inside a BETWEEN, used to denote timeAgo property to select\n *\n * @returns selected timeAgo object if it exists\n */\nexport const findTimeAgo = ({\n\tinternalValue,\n\tselectedOperator,\n\tshowTimePicker,\n\ttimeAgoDates,\n\ttype,\n}) => {\n\tif (!internalValue || !timeAgoDates) {\n\t\treturn null;\n\t}\n\n\t// dynamic dates\n\tif (internalValue.startsWith(DYNAMIC_OPTION)) {\n\t\tconst sysId = internalValue.substring(DYNAMIC_OPTION.length);\n\t\treturn timeAgoDates.find((item) => item?.name === sysId);\n\t}\n\t// <, <=, >, >= operators\n\tif (isTimeOperator(selectedOperator)) {\n\t\tconst operationType = getTypeForOperator(selectedOperator);\n\t\treturn timeAgoDates.find(\n\t\t\t(item) => get(item, `value.${operationType}`) === internalValue\n\t\t);\n\t}\n\t// inside a between operator\n\telse if (showTimePicker) {\n\t\treturn timeAgoDates.find(\n\t\t\t(item) => get(item, `value.${type}`) === internalValue\n\t\t);\n\t}\n\n\t// on/not on operators\n\tconst dateParts = internalValue.split('@');\n\treturn timeAgoDates.find(\n\t\t(item) =>\n\t\t\tget(item, `value.before`) === dateParts?.[1] &&\n\t\t\tget(item, `value.after`) === dateParts?.[2]\n\t);\n};\n\n/**\n * Find the proper internalValue, opposite of the findTimeAgo method above.\n * This is based on various factors because we use different values if its a dynamic date\n * vs if its an ON vs if its the low or high value within a BETWEEN.\n * @param {*} id id of the timeAgo object that we want to find the internalValue of\n * @param {*} selectedOperator\n * @param {*} showTimePicker used to denote we're inside a BETWEEN operator\n * @param {*} timeAgoDates from metadataCache\n * @param {*} type BEFORE | AFTER | BETWEEN, if inside a BETWEEN, used to denote timeAgo property to select\n *\n * @returns selected timeAgo object if it exists\n */\nexport const getInternalValue = ({\n\tid,\n\tlabel,\n\tselectedOperator,\n\tshowTimePicker,\n\ttimeAgoDates,\n\ttype,\n}) => {\n\tif (!id || !timeAgoDates) {\n\t\treturn null;\n\t}\n\n\tconst timeAgoDate = timeAgoDates.find((option) => option.name === id);\n\n\t// <, <=, >, >= operators\n\tif (isTimeOperator(selectedOperator)) {\n\t\tconst operationType = getTypeForOperator(selectedOperator);\n\t\treturn get(timeAgoDate, `value.${operationType}`);\n\t}\n\t// inside a between operator\n\telse if (showTimePicker) {\n\t\treturn get(timeAgoDate, `value.${type}`);\n\t}\n\n\t// on/not on operators\n\tconst before = get(timeAgoDate, 'value.before');\n\tconst after = get(timeAgoDate, 'value.after');\n\n\t// Dynamic dates are unique where we don't need it in the normal ON format\n\tconst isDynamicValue =\n\t\tbefore?.startsWith(DYNAMIC_OPTION) && after?.startsWith(DYNAMIC_OPTION);\n\n\treturn isDynamicValue ? before : `${label}@${before}@${after}`;\n};\n\nexport const transformFn = (data) => {\n\tconst dataValues = get(\n\t\tdata,\n\t\t'GlideConditionBuilder_Query.editors.glide_date_choice.dateChoiceDisplayValues',\n\t\t[]\n\t);\n\n\tconst dateChoiceDisplayValues = dataValues.map((parent) => {\n\t\tif (!parent.children) return parent;\n\n\t\tconst children = parent.children.map((child) => {\n\t\t\tchild.parentId = parent.id;\n\t\t\treturn child;\n\t\t});\n\n\t\treturn {\n\t\t\t...parent,\n\t\t\tchildren,\n\t\t};\n\t});\n\n\tconst timeAgoDates = get(\n\t\tdata,\n\t\t'GlideConditionBuilder_Query.editors.glide_date_choice.timeAgoDates',\n\t\t[]\n\t);\n\n\treturn {\n\t\tdateChoiceDisplayValues,\n\t\ttimeAgoDates,\n\t};\n};\n","export const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_DOT_WALK_PATH_UPDATED = 'NOW_DOT_WALK#PATH_UPDATED';\nexport const NOW_DROPDOWN_ITEM_CLICKED = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const NOW_DROPDOWN_OPENED_SET = 'NOW_DROPDOWN#OPENED_SET';\nexport const NOW_INPUT_INPUT = 'NOW_INPUT#INPUT';\nexport const NOW_INPUT_VALUE_SET = 'NOW_INPUT#VALUE_SET';\nexport const NOW_MODAL_FOOTER_ACTION_CLICKED =\n\t'NOW_MODAL#FOOTER_ACTION_CLICKED';\nexport const NOW_POPOVER_CONTENT_HIDDEN = 'NOW_POPOVER#CONTENT_HIDDEN';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\nexport const NOW_SELECT_SELECTED_ITEM_SET = 'NOW_SELECT#SELECTED_ITEM_SET';\nexport const NOW_PILL_SELECTED_SET = 'NOW_PILL#SELECTED_SET';\n\nexport const NOW_TEXTAREA_INPUT = 'NOW_TEXTAREA#INPUT';\nexport const NOW_TEXTAREA_VALUE_SET = 'NOW_TEXTAREA#VALUE_SET';\n\nexport const NOW_TOGGLE_CHECKED_SET = 'NOW_TOGGLE#CHECKED_SET';\n\nexport const NOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET =\n\t'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET';\nexport const NOW_TYPEAHEAD_VALUE_SET = 'NOW_TYPEAHEAD#VALUE_SET';\n\nexport const SN_CONDITION_BUILDER_FETCH_VARIABLE_METADATA =\n\t'SN_CONDITION_BUILDER#FETCH_VARIABLE_METADATA';\nexport const SN_DOT_WALK_PATH_UPDATED = 'SN_DOT_WALK#PATH_UPDATED';\nexport const SN_DOT_WALK_POPOVER_OPENED = 'SN_DOT_WALK#POPOVER_OPENED';\nexport const SN_RECORD_CURRENCY_CONNECTED_VALUE_CHANGED =\n\t'SN_RECORD_CURRENCY_CONNECTED#VALUE_CHANGED';\nexport const SN_VALUE_EDITOR_TAG_VALUE_SET = 'SN_EDITOR_TAG#VALUE_SET';\nexport const SN_VALUE_EDITOR_VALUE_SET = 'SN_VALUE_EDITOR#VALUE_SET';\n","import { t } from 'sn-translate';\nexport const METADATA_CACHE_PATH =\n\t'internalEditorMetadata.glide_date_comparative';\n\n// weird name but i got this from https://code.devsnc.com/dev/glide/blob/track/midnightwatcher/glide-ng/src/main/java/com/glide/ui/filter/date_time/models/DateTimeModel.java#L109\nexport const TREND_VALUES_WITH_FIELDS_PLURAL = [\n\t{\n\t\tid: 'hour',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Hours',\n\t\t\tcomment: 'Label for the \"Hours\" time unit option in a dropdown',\n\t\t}),\n\t},\n\t{\n\t\tid: 'day',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Days',\n\t\t\tcomment: 'Label for the \"Days\" time unit option in a dropdown',\n\t\t}),\n\t},\n\t{\n\t\tid: 'week',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Weeks',\n\t\t\tcomment: 'Label for the \"Weeks\" time unit option in a dropdown',\n\t\t}),\n\t},\n\t{\n\t\tid: 'month',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Months',\n\t\t\tcomment: 'Label for the \"Months\" time unit option in a dropdown',\n\t\t}),\n\t},\n\t{\n\t\tid: 'quarter',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Quarters',\n\t\t\tcomment: 'Label for the \"Quarters\" time unit option in a dropdown',\n\t\t}),\n\t},\n\t{\n\t\tid: 'year',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Years',\n\t\t\tcomment: 'Label for the \"Years\" time unit option in a dropdown',\n\t\t}),\n\t},\n];\n","import get from 'lodash/get';\nimport set from 'lodash/set';\n\nimport { SN_VALUE_EDITOR_VALUE_SET } from '../sn-value-editor-commons/actionTypes';\n\nimport { TREND_VALUES_WITH_FIELDS_PLURAL } from './constants';\n\nexport const transformFn = (data) => {\n\tconst dateComparative = get(\n\t\tdata,\n\t\t'GlideConditionBuilder_Query.editors.glide_date_comparative',\n\t\t{}\n\t);\n\n\treturn dateComparative;\n};\n\n/**\n * @param {object} input updateComparativeStateAndDispatch input\n * @param {object} input.coeffects\n * @param {string} input.pathToUpdate the path of the state to update\n * @param {string} input.valueToUpdate the value of the state path\n */\nexport const updateComparativeStateAndDispatch = ({\n\tcoeffects,\n\tpathToUpdate,\n\tvalueToUpdate,\n}) => {\n\tconst {\n\t\tstate: {\n\t\t\tfieldValue,\n\t\t\tdateValue,\n\t\t\trelativeValue,\n\t\t\tvalueAmount,\n\t\t\tdisplayValueMap,\n\t\t},\n\t\tproperties: {\n\t\t\teditorValue: { internalValue },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst newState = {\n\t\tfieldValue,\n\t\tdateValue,\n\t\trelativeValue,\n\t\tvalueAmount,\n\t};\n\n\tset(newState, pathToUpdate, valueToUpdate);\n\tupdateState(newState);\n\n\tif (\n\t\t!newState.dateValue ||\n\t\t!newState.relativeValue ||\n\t\tnewState.valueAmount < 0\n\t) {\n\t\treturn;\n\t}\n\n\tconst dateDisplayValue = get(displayValueMap, newState.dateValue, '');\n\tconst relativeDisplayValue = get(\n\t\tdisplayValueMap,\n\t\tnewState.relativeValue,\n\t\t''\n\t);\n\tconst pickerDisplayValue = `${newState.valueAmount} ${dateDisplayValue} ${relativeDisplayValue}`;\n\n\tconst { fieldInternalValue, dotwalkPath } = newState.fieldValue;\n\n\tif (!fieldInternalValue) {\n\t\treturn;\n\t}\n\n\tconst newValue = `${fieldInternalValue}@${newState.dateValue}@${newState.relativeValue}@${newState.valueAmount}`;\n\n\tif (newValue === internalValue) {\n\t\treturn;\n\t}\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: internalValue,\n\t\tvalue: {\n\t\t\tinternalValue: newValue,\n\t\t\tdisplayValue: pickerDisplayValue,\n\t\t\tdotwalkPath,\n\t\t},\n\t});\n};\n\nexport function createDisplayValueMap(relativeDateOptionsArray) {\n\treturn relativeDateOptionsArray.reduce((accumulator, { id, label }) => {\n\t\taccumulator[id] = label;\n\t\treturn accumulator;\n\t}, {});\n}\n\nexport const getRelativeDateOptions = (metadataCache, selectedOperator) => {\n\tlet relativeDateIntervalOptions = get(\n\t\tmetadataCache,\n\t\t'internalEditorMetadata.glide_date_comparative.comparativeDurations',\n\t\t[]\n\t);\n\n\tif (['LESSTHAN', 'MORETHAN', 'SAMEAS'].includes(selectedOperator)) {\n\t\trelativeDateIntervalOptions = TREND_VALUES_WITH_FIELDS_PLURAL;\n\t}\n\n\tconst relativeDateOptions = get(\n\t\tmetadataCache,\n\t\t'internalEditorMetadata.glide_date_comparative.comparativeTypes',\n\t\t[]\n\t);\n\n\treturn { relativeDateIntervalOptions, relativeDateOptions };\n};\n","import get from 'lodash/get';\n\nexport const transformFn = (data) => {\n\tconst equivalentDurations = get(\n\t\tdata,\n\t\t'GlideConditionBuilder_Query.editors.glide_date_equivalent.equivalentDurations',\n\t\t[]\n\t);\n\n\tconst equivalentDurationsMap = equivalentDurations.reduce(\n\t\t(accumulator, { id, label }) => {\n\t\t\taccumulator[id] = label;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn { equivalentDurations, equivalentDurationsMap };\n};\n","import get from 'lodash/get';\nimport { getUserPrefContext } from 'sn-ux-core';\n\nimport { LABELS_OFF, LABELS_ON } from '../now-predicate-builder/constants';\nimport { transformFn as transformCurrency } from '../sn-value-editor-currency/utils';\nimport { transformFn as transformDateChoice } from '../sn-value-editor-date-choice/utils';\nimport { transformFn as transformDateComparative } from '../sn-value-editor-date-comparative/utils';\nimport { transformFn as transformDateEquivalent } from '../sn-value-editor-date-equivalent/utils';\n\nimport { SHOW_LABELS_USER_PREF, TAB_IDS } from './constants';\n\n/**\n * Gets tabs to display based on feature flags\n * @param {*} object with showGroupBy, showRelatedListConditions, showSortBy feature flags\n * @returns list of tab objects to display\n */\nexport const getDisplayableTabs = ({\n\tshowGroupBy,\n\tshowRelatedListConditions,\n\tshowSortBy,\n}) => {\n\tconst tabs = [TAB_IDS[0]];\n\n\tif (showSortBy) tabs.push(TAB_IDS[1]);\n\tif (showGroupBy) tabs.push(TAB_IDS[2]);\n\tif (showRelatedListConditions) tabs.push(TAB_IDS[3]);\n\treturn tabs;\n};\n\nexport const transformEditorMetadata = (data) => {\n\treturn {\n\t\tcurrency: transformCurrency(data),\n\t\tglide_date_choice: transformDateChoice(data),\n\t\tglide_date_comparative: transformDateComparative(data),\n\t\tglide_date_equivalent: transformDateEquivalent(data),\n\t};\n};\n\n/**\n * @param {Object} coeffects\n * @returns {boolean}\n */\nconst getShowLabelsUserPref = (coeffects) => {\n\tconst { context } = coeffects;\n\tconst showLabelsUserPrefKey = getUserPrefContext(SHOW_LABELS_USER_PREF);\n\tconst showLabelsValue = get(context, showLabelsUserPrefKey, true);\n\n\t// the values from the userPref context are strings not booleans. If the value is not false then we should show the labels\n\treturn showLabelsValue !== false && showLabelsValue !== 'false';\n};\n\n/** Returns whether labels should be shown based on the value of the prop and/or the user preference.\n * @param {Object} coeffects\n * @returns {boolean}\n */\nexport const getShowLabelsValue = (coeffects) => {\n\tconst {\n\t\tproperties: { displayLabelOptions },\n\t} = coeffects;\n\n\tif (displayLabelOptions === LABELS_ON) {\n\t\treturn true;\n\t}\n\n\tif (displayLabelOptions === LABELS_OFF) {\n\t\treturn false;\n\t}\n\n\treturn getShowLabelsUserPref(coeffects);\n};\n\nexport const getSortByIcon = (orderBy = []) => {\n\tif (orderBy.length === 1) {\n\t\tif (orderBy[0].type === 'ASCENDING') return 'sort-ascending-outline';\n\t\tif (orderBy[0].type === 'DESCENDING') return 'sort-descending-outline';\n\t}\n\treturn 'arrow-up-down-outline';\n};\n\nexport const renderSubLabel = (items = []) => {\n\tif (!items.length) return '';\n\n\tif (items.length === 1) return items[0].field?.displayValue;\n\n\treturn items.map((item) => item?.field?.displayValue).join(', ');\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { uuid } from '../../../commons/utils/uuid';\nimport { NOW_PREDICATE_BUILDER_FETCH_COMPONENT } from '../../behaviors/componentLoaderBehavior/constants';\nimport { SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA } from '../../behaviors/fetchingValueEditorBehavior/constants';\nimport createFetchingValueEditorGraphQLEffect from '../../behaviors/fetchingValueEditorBehavior/createFetchingValueEditorGraphQLEffect.query';\nimport { FieldOperatorMappings } from '../../model/FieldOperatorMappings';\nimport { isUnknownFieldType } from '../now-condition-builder-row/utils';\nimport {\n\tNOW_PREDICATE_BUILDER_METRIC_TRACKED,\n\tSN_PREDICATE_BUILDER_DECODED_QUERY_UPDATED,\n} from '../now-predicate-builder/actionTypes';\nimport {\n\tSN_LOAD_FILTER_LOADING_COMPLETED,\n\tSN_LOAD_FILTER_LOADING_INITIATED,\n} from '../sn-filter-manager/sn-load-filter-content-popover/actionTypes';\n\nimport {\n\tNOW_ALERT_ACTION_CLICKED,\n\tNOW_TABS_SELECTED_ITEM_SET,\n\tNOW_TOGGLE_CHECKED_SET,\n\tSN_CONDITION_BUILDER_DECODED_QUERY_UPDATED,\n\tSN_CONDITION_BUILDER_SAVE_FILTER_ERROR,\n\tUSER_PREF_UPDATED,\n} from './actionTypes';\nimport {\n\tSN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CLOSED,\n\tSN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED,\n\tSN_CONDITION_BUILDER_SAVED_FILTER_SELECTED,\n\tSN_CONDITION_BUILDER_UPDATE_METADATA_CACHE,\n} from './actionTypes';\nimport { builtinFieldOperatorRelationships } from './builtinFieldOperatorRelationships.constants';\nimport {\n\tDECODED_QUERY_MODEL_TYPE,\n\tDECODED_QUERY_MODEL_PATH,\n\tSHOW_LABELS_USER_PREF,\n\tTOGGLE_LABELS_SOURCE,\n} from './constants';\nimport {\n\tALTERNATIVE_VIEW_ACCESS_EVENT,\n\tUNKNOWN_FIELD_TYPE,\n\tCUSTOMIZATION_LOADED,\n} from './telemetryEvents.constants';\nimport { getDisplayableTabs, getShowLabelsValue } from './utils';\nimport valueEditorMetadataQuery from './valueEditorMetadata.query';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_RENDERED,\n} = actionTypes;\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: {\n\t\t\tcustomizations,\n\t\t\tdecodedQuery,\n\t\t\tfieldOperatorRelationship,\n\t\t\tfixedDecodedQuery,\n\t\t\tmetadataCache,\n\t\t\tselectedTab,\n\t\t\tsource,\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst showLabels = getShowLabelsValue(coeffects);\n\tconst decodedQueryWithIds = getDecodedQueryWithIds(decodedQuery);\n\tconst fixedDecodedQueryWithIds = getDecodedQueryWithIds(fixedDecodedQuery);\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'decodedQuery',\n\t\t\tvalue: decodedQueryWithIds,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'fieldOperatorRelationship',\n\t\t\tvalue: applyCustomFieldOperatorMappings(fieldOperatorRelationship),\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'fixedDecodedQuery',\n\t\t\tvalue: fixedDecodedQueryWithIds,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'metadataCache',\n\t\t\tvalue: metadataCache,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'selectedTab',\n\t\t\tvalue: getSelectedTab(selectedTab, state),\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'showLabels',\n\t\t\tvalue: showLabels,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n\tconst cachePath = get(\n\t\tstate,\n\t\t'behaviors.fetchingValueEditorBehavior.cachePath'\n\t);\n\tif (!get(metadataCache, cachePath)) {\n\t\tdispatch(SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA, { source });\n\t\t// Show the waiting indicator.\n\t\tdispatch(SN_LOAD_FILTER_LOADING_INITIATED);\n\t}\n\n\tif (!isEmpty(customizations)) {\n\t\tlet metricMetadata = {};\n\t\tif (!isEmpty(customizations.field)) {\n\t\t\tmetricMetadata = {\n\t\t\t\tcustomizationType: 'field',\n\t\t\t\tcomponentTag: customizations.field.componentTag,\n\t\t\t\tfieldType: customizations.field.type,\n\t\t\t};\n\t\t} else if (!isEmpty(customizations.row)) {\n\t\t\tconst simplifiedTags = Object.fromEntries(\n\t\t\t\tObject.entries(customizations.row).map(([type, override]) => [\n\t\t\t\t\ttype,\n\t\t\t\t\toverride?.componentTag,\n\t\t\t\t])\n\t\t\t);\n\t\t\tmetricMetadata = {\n\t\t\t\tcustomizationType: 'row',\n\t\t\t\t...simplifiedTags,\n\t\t\t};\n\t\t}\n\t\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\t\teventName: CUSTOMIZATION_LOADED,\n\t\t\tmetadata: metricMetadata,\n\t\t});\n\t}\n};\n\nconst handleDomTreeReady = (coeffects) => {\n\tconst {\n\t\thost,\n\t\tproperties: { focusOnRender },\n\t} = coeffects;\n\tif (focusOnRender) {\n\t\tsetTimeout(() => {\n\t\t\tconst firstButton = host?.shadowRoot\n\t\t\t\t?.querySelector('now-tabs')\n\t\t\t\t?.shadowRoot?.querySelector('button.is-selected');\n\n\t\t\tif (firstButton) {\n\t\t\t\tfirstButton?.focus();\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst applyCustomFieldOperatorMappings = (customFieldOperatorMappings) => {\n\tconst fieldOperatorMappings = FieldOperatorMappings._createFromInherited(\n\t\tbuiltinFieldOperatorRelationships\n\t);\n\tfieldOperatorMappings.applyChange(customFieldOperatorMappings);\n\treturn fieldOperatorMappings._toLut();\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tdispatch,\n\t\tstate: { metadataCache, fieldOperatorRelationship },\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tswitch (name) {\n\t\tcase 'fixedDecodedQuery':\n\t\tcase 'decodedQuery': {\n\t\t\tconst decodedQueryWithConditionIds = getDecodedQueryWithIds(value);\n\n\t\t\tupdateState({\n\t\t\t\tpath: name,\n\t\t\t\tvalue: decodedQueryWithConditionIds,\n\t\t\t\toperation: 'set',\n\t\t\t});\n\n\t\t\tdecodedQueryWithConditionIds?.conditions?.forEach((condition) => {\n\t\t\t\tif (\n\t\t\t\t\tisUnknownFieldType(\n\t\t\t\t\t\tcondition?.field,\n\t\t\t\t\t\tfieldOperatorRelationship\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\t\t\t\t\teventName: UNKNOWN_FIELD_TYPE,\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\tinteraction: 'Passed in unknown field type',\n\t\t\t\t\t\t\tfieldType: get(condition, 'field.type'),\n\t\t\t\t\t\t\tqueryType: name,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'infoMessages':\n\t\t\tupdateState({\n\t\t\t\tpath: 'infoMessages',\n\t\t\t\tvalue: value,\n\t\t\t\toperation: 'merge',\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'fieldOperatorRelationship':\n\t\t\tupdateState({\n\t\t\t\tpath: 'fieldOperatorRelationship',\n\t\t\t\tvalue: applyCustomFieldOperatorMappings(value),\n\t\t\t\toperation: 'set',\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'metadataCache': {\n\t\t\tupdateState({\n\t\t\t\tpath: 'metadataCache',\n\t\t\t\tvalue: value,\n\t\t\t\toperation: 'merge',\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'source': {\n\t\t\tconst {\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\tinternalEditorMetadata,\n\t\t\t\t...updatedMetadataCache\n\t\t\t} = metadataCache;\n\n\t\t\t// when the source changes we want to clear out the internalEditorMetadata and refetch it\n\t\t\tupdateState({\n\t\t\t\tpath: 'metadataCache',\n\t\t\t\tvalue: updatedMetadataCache,\n\t\t\t\toperation: 'set',\n\t\t\t});\n\t\t\tdispatch(SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA, {\n\t\t\t\tsource: value,\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'displayLabelOptions': {\n\t\t\tconst showLabels = getShowLabelsValue(coeffects);\n\t\t\tupdateState({\n\t\t\t\tpath: 'showLabels',\n\t\t\t\tvalue: showLabels,\n\t\t\t\toperation: 'set',\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase 'selectedTab':\n\t\t\tupdateState({\n\t\t\t\tpath: 'selectedTab',\n\t\t\t\tvalue: getSelectedTab(value, state),\n\t\t\t\toperation: 'set',\n\t\t\t});\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nconst getSelectedTab = (updatedSelectedTab, state) => {\n\tconst {\n\t\tproperties: { showGroupBy, showRelatedListConditions, showSortBy },\n\t\tselectedTab: stateSelectedTab,\n\t} = state;\n\n\tconst displayableTabs = getDisplayableTabs({\n\t\tshowGroupBy,\n\t\tshowRelatedListConditions,\n\t\tshowSortBy,\n\t});\n\n\tlet selectedTab = stateSelectedTab;\n\t// make sure incoming selected tab is valid, otherwise use state\n\tif (displayableTabs.filter((tab) => tab.id === updatedSelectedTab).length) {\n\t\tselectedTab = updatedSelectedTab;\n\t}\n\n\treturn selectedTab;\n};\n\nconst handleAlternativeViewDisplayed = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tbasicFilters,\n\t\t\t\tcomponentProps,\n\t\t\t\tcomponentTag,\n\t\t\t\tconditionId,\n\t\t\t\tconditionObj,\n\t\t\t\tmacroponentSysId,\n\t\t\t\tmodel,\n\t\t\t\tmodelType,\n\t\t\t\tpreventDecodedQueryUpdatedActionDispatch,\n\t\t\t\treturnFocusElementRef,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst metadata = {\n\t\tmacroponentSysId: macroponentSysId,\n\t\tcomponentTag: componentTag,\n\t};\n\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\teventName: ALTERNATIVE_VIEW_ACCESS_EVENT,\n\t\tmetadata,\n\t});\n\tif (macroponentSysId) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tmacroponentSysId,\n\t\t});\n\t} else if (componentTag) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tcomponentTag,\n\t\t});\n\t}\n\n\tupdateState({\n\t\talternativeView: {\n\t\t\tbasicFilters,\n\t\t\tcomponentProps,\n\t\t\tcomponentTag,\n\t\t\tconditionId,\n\t\t\tconditionObj,\n\t\t\tmacroponentSysId,\n\t\t\tmodel,\n\t\t\tmodelType,\n\t\t\treturnFocusElementRef,\n\t\t\tpreventDecodedQueryUpdatedActionDispatch,\n\t\t},\n\t});\n};\n\nconst handleAlternativeViewClosed = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({\n\t\talternativeView: null,\n\t});\n};\n\nconst handleAlternativeViewReturnFocus = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tpreviousRenderState: { alternativeView: prevAlternativeView },\n\t\t\t},\n\t\t},\n\t\tstate: { alternativeView },\n\t} = coeffects;\n\n\t// If the alternative view is closed via prev state change, return element focus on the next render\n\t// note: returnFocusElementRef (element ref) is nested in the alternativeView object\n\tif (\n\t\tprevAlternativeView &&\n\t\t!alternativeView &&\n\t\tprevAlternativeView.returnFocusElementRef\n\t) {\n\t\tprevAlternativeView.returnFocusElementRef.current.focus();\n\t}\n};\n\nconst handleUpdateMetadataCache = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { path, metadata },\n\t\t},\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tupdateState({\n\t\tpath: `metadataCache.${path}`,\n\t\tvalue: metadata,\n\t\toperation: 'merge',\n\t});\n\tdispatch(SN_LOAD_FILTER_LOADING_COMPLETED);\n};\n\n/**\n *\n * @param {Object} decodedQuery\n * @param {Array} decodedQuery.conditions\n * @param {Object} decodedQuery.relatedListQuery\n * @param {Object} decodedQuery.groupBy\n * @param {Object} decodedQuery.orderBy\n * @returns {Object} Returns the decoded query with ids set\n */\nconst getDecodedQueryWithIds = (decodedQuery) => {\n\tconst { conditions = [] } = decodedQuery;\n\n\tconst updatedConditions = conditions.map((condition) => ({\n\t\t...condition,\n\t\tconditionId: condition.conditionId || uuid(),\n\t}));\n\n\treturn {\n\t\t...decodedQuery,\n\t\tconditions: updatedConditions,\n\t};\n};\n\nconst handleDecodedQueryUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { modelType, preventActionDispatch = false, value },\n\t\t},\n\t\tdispatch,\n\t\tlogger,\n\t\tproperties: { fixedDecodedQuery },\n\t\tstate: { decodedQuery },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (!Object.values(DECODED_QUERY_MODEL_TYPE).includes(modelType)) {\n\t\tlogger.error(\n\t\t\t'Invalid modelType passed when trying to update decodedQuery. modelType:',\n\t\t\tmodelType\n\t\t);\n\t\treturn;\n\t}\n\n\tconst modelPath = DECODED_QUERY_MODEL_PATH[modelType];\n\tconst path = `decodedQuery.${modelPath}`;\n\tupdateState({\n\t\tpath,\n\t\tvalue,\n\t\toperation: 'set',\n\t});\n\n\t// In the case where questions updates conditionMetadata but we don't want it to fire off a new model update\n\t// or the case where the model needs to be updated but a new query should not be emitted out\n\tif (!preventActionDispatch) {\n\t\tdispatch(SN_PREDICATE_BUILDER_DECODED_QUERY_UPDATED, {\n\t\t\tdecodedQuery: {\n\t\t\t\t...decodedQuery,\n\t\t\t\t[modelPath]: value,\n\t\t\t},\n\t\t\tfixedDecodedQuery,\n\t\t});\n\t}\n};\n\nconst handleFilterLoadingCompleted = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({ isFilterLoading: false });\n};\n\nconst handleFilterLoadingInitiated = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({ isFilterLoading: true });\n};\n\nconst handleTabSelectedItemSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({\n\t\tselectedTab: value,\n\t});\n};\n\nconst handleSavedFilterSelected = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { fixedDecodedQuery },\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'decodedQuery',\n\t\tvalue,\n\t});\n\n\tdispatch(SN_PREDICATE_BUILDER_DECODED_QUERY_UPDATED, {\n\t\tdecodedQuery: value,\n\t\tfixedDecodedQuery,\n\t});\n};\n\nconst fetchingValueEditorGraphQLEffect = createFetchingValueEditorGraphQLEffect(\n\tvalueEditorMetadataQuery,\n\t['source']\n);\n\nconst handleToggleAlert = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({ showAlertMessage: false });\n};\n\nconst handleToggleSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { source, value },\n\t\t},\n\t\tdispatch,\n\t\tlogger,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (source !== TOGGLE_LABELS_SOURCE) {\n\t\tlogger.warn('Catching an unintended toggle set event. Ignoring it.');\n\t\treturn;\n\t}\n\n\tdispatch(USER_PREF_UPDATED, {\n\t\tname: SHOW_LABELS_USER_PREF,\n\t\tvalue,\n\t});\n\n\tupdateState({\n\t\tpath: 'showLabels',\n\t\tvalue,\n\t\toperation: 'set',\n\t});\n};\n\nconst handleSaveFilterError = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// TODO: Make it possible for both table and filter errors to be displayed simultaneously\n\tif (\n\t\tstate.infoMessages?.length > 0 ||\n\t\tstate.properties?.infoMessages?.length > 0\n\t)\n\t\treturn;\n\n\tupdateState({\n\t\tinfoMessages: [...(payload.infoMessages || [])],\n\t});\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_RENDERED]: {\n\t\teffect: handleAlternativeViewReturnFocus,\n\t},\n\t[COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleDomTreeReady,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_ALERT_ACTION_CLICKED]: {\n\t\teffect: handleToggleAlert,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TOGGLE_CHECKED_SET]: {\n\t\teffect: handleToggleSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TABS_SELECTED_ITEM_SET]: {\n\t\teffect: handleTabSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED]: {\n\t\teffect: handleAlternativeViewDisplayed,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CLOSED]: {\n\t\teffect: handleAlternativeViewClosed,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_UPDATE_METADATA_CACHE]: {\n\t\teffect: handleUpdateMetadataCache,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED]: {\n\t\teffect: handleDecodedQueryUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_SAVED_FILTER_SELECTED]: {\n\t\teffect: handleSavedFilterSelected,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_SAVE_FILTER_ERROR]: {\n\t\teffect: handleSaveFilterError,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_LOADING_COMPLETED]: {\n\t\teffect: handleFilterLoadingCompleted,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_LOADING_INITIATED]: {\n\t\teffect: handleFilterLoadingInitiated,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA]: fetchingValueEditorGraphQLEffect,\n};\n\nexport default actionHandlers;\n","const valueEditorMetadataQuery = `\n    query ($source: String!) {\n        GlideConditionBuilder_Query {\n            editors(tableName: $source) {\n                currency {\n                    currencies {\n                        code\n                        symbol\n                    }\n                }\n                glide_date_choice {\n                    dateChoiceDisplayValues {\n                        id: type\n                        label\n                        children: values {\n                            id: value\n                            label\n                        }\n                    }\n                    timeAgoDates {\n                        name\n                        value {\n                            label\n                            after\n                            before\n                            between\n                        }\n                    }\n                }\n                glide_date_comparative {\n                    comparativeDurations {\n                        id: value\n                        label\n                    }\n                    comparativeTypes {\n                        id: value\n                        label\n                    }\n                }\n                glide_date_equivalent {\n                    equivalentDurations {\n                        id: value\n                        label\n                    }\n                }\n            }\n        }\n    }\n`;\n\nexport default valueEditorMetadataQuery;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"klona\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.__esModule\n\t\t\t\t\tif (cjsModule && 'klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t\t} else if ('klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.klona || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t} });","export const SN_CONDITIONS_ADD_NEW_CONDITION_SET =\n\t'SN_CONDITIONS#ADD_NEW_CONDITION_SET';\n\nexport const SN_CONDITIONS_FOCUS_NEW_CONDITION_BUTTON =\n\t'SN_CONDITIONS#FOCUS_NEW_CONDITION_BUTTON';\n\nexport const SN_CONDITIONS_SET_FOCUS = 'SN_CONDITIONS#SET_FOCUS';\n\nexport const SN_CONDITIONS_CONDITION_UPDATE_REQUESTED =\n\t'SN_CONDITIONS#CONDITION_UPDATE_REQUESTED';\n\nexport const SN_CONDITIONS_ALTERNATIVE_VIEW_REQUESTED =\n\t'SN_CONDITIONS#ALTERNATIVE_VIEW_REQUESTED';\n","import { t } from 'sn-translate';\n\nexport const KEYWORDS_INTERNAL_VALUE = '123TEXTQUERY321';\nexport const ADD_CONDITION_SET_TOOLTIP_CONTENT = t({\n\tcode:\n\t\t'now_predicate_builder_sn_conditions_add_condition_set_tooltip_content',\n\tmessage: 'Add a condition set',\n\tcomment: 'Tooltip content for the \"Add condition set\" button',\n});\n","/**\n * This class provides a means to generate discrete (and optionally labelled)\n * incremenetal counters that can be used as unique IDs throughout the\n * lifecycle of the component\n */\nexport class Counter {\n\tconstructor() {}\n\n\tstatic counter = 0;\n\tstatic counters = new Map();\n\n\t/**\n\t * Generates the next discrete incremental counter for the given label\n\t *\n\t * @param {string} label the label for which the next counter is requested. Every\n\t * label will have its own counter starting at 0. If no label is passed, a\n\t * general incremenetal number will be returned\n\t * @param {string} separator optional separator that will be returned between the\n\t * given label and the next counter for that label\n\t *\n\t * @returns {string} the next incremental counter with optional label and separator\n\t * prepended\n\t */\n\tstatic next(label, separator) {\n\t\tif (!label) {\n\t\t\treturn this.counter++;\n\t\t}\n\n\t\tif (!separator) {\n\t\t\tseparator = '-';\n\t\t}\n\n\t\tlet num = this.counters.get(label);\n\t\tif (!num) {\n\t\t\tnum = 0;\n\t\t}\n\n\t\tthis.counters.set(label, num + 1);\n\t\treturn `${label}${separator}${num}`;\n\t}\n\n\t/**\n\t * Resets all counters. WARNING: Calling this function and then continuing to use this\n\t * class during normal component usage can result in collisions. This function is mainly\n\t * intended for testing purposes\n\t */\n\tstatic reset() {\n\t\tthis.counter = 0;\n\t\tthis.counters.clear();\n\t}\n}\n","import { klona } from 'klona';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport { t } from 'sn-translate';\n\nimport { uuid } from '../../commons/utils/uuid';\nimport { SN_CONDITIONS_SET_FOCUS } from '../components/sn-conditions/actionTypes';\nimport { PREDICATE_TYPES } from '../components/sn-predicate-builder/constants';\n\nimport { Counter } from './counter';\n\nconst noPredicateHeading = t('No predicates found');\n\n/**\n * Traverses the predicate object and returns a map of a predicate's id to paths inside the predicate objet\n *\n * @param {object} predicateComposition now-predicate-builder property\n *\n * @returns {object} map of a predicate's id to paths inside the predicate object\n */\nexport const makePathMap = (predicateComposition) => {\n\tconst predicate = get(predicateComposition, 'predicate', null);\n\n\tif (!predicate) {\n\t\tthrow new Error(noPredicateHeading);\n\t}\n\n\tconst pathMap = {\n\t\t[predicate.predicateId]: {\n\t\t\tpath: 'predicate',\n\t\t\tparentPath: '',\n\t\t},\n\t};\n\n\tif (!predicate.predicates) {\n\t\treturn pathMap;\n\t}\n\n\treturn makePathMapHelper(predicate.predicates, pathMap, 'predicate');\n};\n\n/**\n * Recursively build the pathMap\n *\n * @param {object} predicates predicates inside predicateComposition predicate object\n * @param {object} res object passed around used to build up the map\n * @param {string} path current path in the predicate\n *\n * @returns {object} map of a predicate's id to paths inside the predicate object\n */\nconst makePathMapHelper = (predicates, res, path) => {\n\tif (!predicates) {\n\t\treturn {};\n\t}\n\n\tpredicates.forEach((predicate, index) => {\n\t\tif (res[predicate.predicateId]) {\n\t\t\tthrow new Error(`Duplicate predicateId: ${predicate.predicateId}`);\n\t\t}\n\n\t\tconst newPath = path\n\t\t\t? `${path}.predicates[${index}]`\n\t\t\t: `predicates[${index}]`;\n\n\t\tconst parentPath = path ? path : null;\n\n\t\tObject.assign(res, {\n\t\t\t[predicate.predicateId]: {\n\t\t\t\tpath: newPath,\n\t\t\t\tparentPath,\n\t\t\t},\n\t\t});\n\n\t\tif (predicate.predicates) {\n\t\t\tmakePathMapHelper(predicate.predicates, res, newPath);\n\t\t}\n\t});\n\treturn res;\n};\n\n/**\n * Updates and returns a new predicate with updated propertProperties at the given predicateId\n *\n * @param {object} param\n * @param {object} predicateComposition now-predicate-builder property\n * @param {string} predicateId the predicateId of the predicate that you want to update\n * @param {object} predicateProperties the properties that will be updated\n * @param {object} pathMap map of predicateIds to their predicate paths\n *\n * @returns {object} updated predicate\n */\nexport const updatePredicateProperties = ({\n\tpredicateComposition,\n\tpredicateId,\n\tpredicateProperties,\n\tpathMap,\n}) => {\n\tconst pathObj = pathMap[predicateId];\n\tif (!pathObj) {\n\t\tthrow new Error(`No path found for predicateId: ${predicateId}`);\n\t}\n\n\tconst oldPredicate = get(predicateComposition, pathObj.path);\n\tif (\n\t\t!oldPredicate ||\n\t\toldPredicate.type !== PREDICATE_TYPES.SINGLE_PREDICATE\n\t) {\n\t\tthrow new Error(\n\t\t\t`No single predicate found with predicateId: ${predicateId}`\n\t\t);\n\t}\n\n\tconst prevPredicateProperties = get(\n\t\toldPredicate,\n\t\t'predicateProperties',\n\t\t{}\n\t);\n\tconst updatedPredicateProperties = {\n\t\t...prevPredicateProperties,\n\t\t...predicateProperties,\n\t};\n\n\tconst newPredicateComposition = klona(predicateComposition);\n\treturn set(\n\t\tnewPredicateComposition,\n\t\t`${pathObj.path}.predicateProperties`,\n\t\tupdatedPredicateProperties\n\t);\n};\n\n/**\n * Adds a new single predicate to a grouped predicate\n *\n * @param {object} predicateComposition now-predicate-builder property\n * @param {string} groupType the group type the new predicate will be added to. Ignored if\n * groupPredicateId is passed\n * @param {string} predicateId the predicateId of the predicate that triggered the addition.\n * Ignored if groupPredicateId is passed\n * @param {string} groupPredicateId the predicateId of the group predicate the new predicate\n * will be added to. If omitted, groupType and predicateId will be used to determine which\n * group the new predicate will be added to\n * @param {object} predicateProperties optional predicate properties that will be added to\n * the new predicate being added to the group\n * @param {object} pathMap map of predicateIds to their predicate paths\n *\n * @returns {object} updated predicate composition object\n */\nexport const addPredicateToGroup = ({\n\tpredicateComposition,\n\tgroupType,\n\tpredicateId,\n\tgroupPredicateId,\n\tpredicateProperties = {},\n\tpathMap,\n}) => {\n\tconst updatedPredicateComposition = klona(predicateComposition);\n\tconst newPredicate = createSinglePredicate(predicateProperties);\n\n\t// If groupPredicateId exists, attempt to add new predicate to that group\n\tif (groupPredicateId) {\n\t\tconst groupPathInfo = pathMap[groupPredicateId];\n\t\tif (!groupPathInfo) {\n\t\t\tthrow new Error(\n\t\t\t\t`No path found for predicateId: ${groupPredicateId}`\n\t\t\t);\n\t\t}\n\n\t\tconst groupPredicate = get(\n\t\t\tupdatedPredicateComposition,\n\t\t\tgroupPathInfo.path\n\t\t);\n\t\tif (\n\t\t\t!groupPredicate ||\n\t\t\tgroupPredicate.type !== PREDICATE_TYPES.GROUPED_PREDICATE\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t`No group predicate found with predicateId: ${groupPredicateId}`\n\t\t\t);\n\t\t}\n\n\t\tconst updatedGroupPredicates = insertAfter(\n\t\t\tgroupPredicate.predicates,\n\t\t\tpredicateId,\n\t\t\tnewPredicate\n\t\t);\n\t\treturn set(\n\t\t\tupdatedPredicateComposition,\n\t\t\t`${groupPathInfo.path}.predicates`,\n\t\t\tupdatedGroupPredicates\n\t\t);\n\t}\n\n\tif (!groupType) {\n\t\tthrow new Error(\n\t\t\t'groupType undefined when attempting to add predicate to group'\n\t\t);\n\t}\n\n\tconst predicatePathInfo = pathMap[predicateId];\n\tif (!predicatePathInfo) {\n\t\tthrow new Error(`No path found for predicateId: ${predicateId}`);\n\t}\n\n\tconst existingPredicate = get(\n\t\tupdatedPredicateComposition,\n\t\tpredicatePathInfo.path\n\t);\n\n\t// If parentPath doesn't exist, the existing predicate is the only predicate in the predicate composition\n\tif (!predicatePathInfo.parentPath) {\n\t\tconst newGroupPredicate = createGroupPredicate(groupType, [\n\t\t\texistingPredicate,\n\t\t\tnewPredicate,\n\t\t]);\n\n\t\treturn set(\n\t\t\tupdatedPredicateComposition,\n\t\t\tpredicatePathInfo.path,\n\t\t\tnewGroupPredicate\n\t\t);\n\t}\n\n\tconst existingGroupPredicate = get(\n\t\tupdatedPredicateComposition,\n\t\tpredicatePathInfo.parentPath\n\t);\n\tif (\n\t\t!existingGroupPredicate ||\n\t\texistingGroupPredicate.type !== PREDICATE_TYPES.GROUPED_PREDICATE\n\t) {\n\t\tthrow new Error(\n\t\t\t`No group predicate found containing the predicate with predicateId: ${predicateId}`\n\t\t);\n\t}\n\n\t// If the group containing the existing predicate has the same group type, we add the new predicate\n\tif (existingGroupPredicate.groupType === groupType) {\n\t\tconst updatedGroupPredicates = insertAfter(\n\t\t\texistingGroupPredicate.predicates,\n\t\t\tpredicateId,\n\t\t\tnewPredicate\n\t\t);\n\n\t\treturn set(\n\t\t\tupdatedPredicateComposition,\n\t\t\t`${predicatePathInfo.parentPath}.predicates`,\n\t\t\tupdatedGroupPredicates\n\t\t);\n\t}\n\n\t// Group type doesn't match the existing group type so create a new group, add the predicates, and set\n\t// it in place of the old predicate\n\tconst newGroupPredicate = createGroupPredicate(groupType, [\n\t\texistingPredicate,\n\t\tnewPredicate,\n\t]);\n\treturn set(\n\t\tupdatedPredicateComposition,\n\t\tpredicatePathInfo.path,\n\t\tnewGroupPredicate\n\t);\n};\n\nexport const createSinglePredicate = (predicateProperties) => {\n\treturn {\n\t\tpredicateId: Counter.next('single'),\n\t\ttype: PREDICATE_TYPES.SINGLE_PREDICATE,\n\t\tpredicateProperties: {\n\t\t\t...predicateProperties,\n\t\t},\n\t};\n};\n\nexport const createGroupPredicate = (groupType, predicates) => {\n\treturn {\n\t\tpredicateId: Counter.next('group'),\n\t\ttype: PREDICATE_TYPES.GROUPED_PREDICATE,\n\t\tgroupType,\n\t\tpredicates,\n\t};\n};\n\nconst insertAfter = (predicates, predicateId, predicate) => {\n\tconst index = predicates.findIndex(\n\t\t(pred) => pred.predicateId === predicateId\n\t);\n\tif (index !== -1) {\n\t\tpredicates.splice(index + 1, 0, predicate);\n\t} else {\n\t\tpredicates.push(predicate);\n\t}\n\n\treturn predicates;\n};\n\n/**\n * Removes predicate from the predicate composition. If the group that contained the predicate has <= 1 predicate remaining,\n * that group predicate is also removed and if there was a remaining predicate in that group it will be moved to the parent\n * of the group being removed recursively until a group of 2 or more predicates remain.\n *\n * @param {object} predicateComposition now-predicate-builder property\n * @param {string} predicateId the predicateId of the predicate that is being removed\n * @param {object} pathMap map of predicateIds to their predicate paths\n *\n * @returns {object} updated predicate composition object\n */\nexport const removePredicate = ({\n\tpredicateComposition,\n\tpredicateId,\n\tpathMap,\n\tdispatch,\n}) => {\n\tconst updatedPredicateComposition = klona(predicateComposition);\n\treturn removePredicateHelper({\n\t\tpredicateComposition: updatedPredicateComposition,\n\t\tpredicateId,\n\t\tpathMap,\n\t\tdispatch,\n\t});\n};\n\n/**\n * Recursive helper method for removing predicates from the predicate composition.\n *\n * @param {object} predicateComposition clone of now-predicate-builder property\n * @param {string} predicateId the predicateId of the predicate that is being removed\n * @param {object} pathMap map of predicateIds to their predicate paths\n * @param {object} remainingPredicate last remaining predicate in a group that is being\n * removed. This predicate will be moved to the parent of the group that is being removed\n *\n * @returns {object} updated predicate composition object\n */\nconst removePredicateHelper = ({\n\tpredicateComposition,\n\tpredicateId,\n\tpathMap,\n\tremainingPredicate,\n\tdispatch,\n}) => {\n\tconst pathInfo = pathMap[predicateId];\n\tif (!pathInfo) {\n\t\t// STRY56896684: No longer throwing an error here\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(`No path found for predicateId: ${predicateId}`);\n\t\treturn predicateComposition;\n\t}\n\n\t// The last group or single predicate is being removed\n\tif (!pathInfo.parentPath) {\n\t\tconst conditionId = uuid();\n\n\t\t// Putting focus on the newly created condition\n\t\tif (dispatch) {\n\t\t\tdispatch(SN_CONDITIONS_SET_FOCUS, { conditionId });\n\t\t}\n\n\t\tpredicateComposition.predicate = remainingPredicate\n\t\t\t? remainingPredicate\n\t\t\t: createSinglePredicate({\n\t\t\t\t\tfield: { displayValue: '', internalValue: '' },\n\t\t\t\t\toperator: { displayValue: '', internalValue: '' },\n\t\t\t\t\tval: { displayValue: '', internalValue: '' },\n\t\t\t\t\tconditionId,\n\t\t\t\t\tconditionMetadata: {},\n\t\t\t  });\n\t\treturn predicateComposition;\n\t}\n\n\tconst groupPredicate = get(predicateComposition, pathInfo.parentPath);\n\tif (\n\t\t!groupPredicate ||\n\t\tgroupPredicate.type !== PREDICATE_TYPES.GROUPED_PREDICATE\n\t) {\n\t\tthrow new Error(\n\t\t\t`No group predicate found containing the predicate with predicateId: ${predicateId}`\n\t\t);\n\t}\n\n\tif (remainingPredicate) {\n\t\tset(predicateComposition, pathInfo.path, remainingPredicate);\n\t} else {\n\t\tgroupPredicate.predicates = groupPredicate.predicates.filter(\n\t\t\t(pred) => pred.predicateId !== predicateId\n\t\t);\n\t}\n\n\tconst updatedPredicates = groupPredicate.predicates;\n\tif (!updatedPredicates.length) {\n\t\treturn removePredicateHelper({\n\t\t\tpredicateComposition,\n\t\t\tpredicateId: groupPredicate.predicateId,\n\t\t\tpathMap,\n\t\t});\n\t}\n\n\tif (updatedPredicates.length === 1) {\n\t\treturn removePredicateHelper({\n\t\t\tpredicateComposition,\n\t\t\tpredicateId: groupPredicate.predicateId,\n\t\t\tpathMap,\n\t\t\tremainingPredicate: updatedPredicates[0],\n\t\t});\n\t}\n\n\treturn predicateComposition;\n};\n","import get from 'lodash/get';\n\nimport { QUERY_CONDITION_TYPE } from '../../../commons/constants';\nimport { uuid } from '../../../commons/utils/uuid';\nimport {\n\tcreateSinglePredicate,\n\tcreateGroupPredicate,\n} from '../../utils/predicateUtils';\nimport {\n\tGROUP_TYPES,\n\tPREDICATE_TYPES,\n} from '../sn-predicate-builder/constants';\n\n/**\n * Transforms a graphQL condition into a single predicate\n *\n * @param {*} condition graphQL condition response with the following data:\n *   {\n *     field\n\t   operator\n *     value\n *     conditionMetadata\n *     conditionId\n *   }\n * @returns single predicate for use in a predicateModel\n */\nconst transformCondition = (condition) => {\n\tconst field = condition.field || {};\n\tconst operator = condition.operator || {};\n\tconst val = condition.value || {};\n\tconst conditionMetadata = condition.conditionMetadata || {};\n\tconst conditionId = condition.conditionId || uuid();\n\n\treturn createSinglePredicate({\n\t\tconditionId,\n\t\tconditionMetadata,\n\t\tfield,\n\t\toperator,\n\t\tval,\n\t});\n};\n\n/**\n * Given a reference to a groupPredicate, replaces the last predicate in its predicates array.\n * A lot of the transformation revolves around the logic of replacing a single predicate with a grouped predicate\n * with the single predicate being inserted into the group predicate. Since we are building it up one by one,\n * we know that its always the last predicate in a group that needs to be replaced, hence this function.\n *\n * @param {*} groupPredicate contains the predicates array that will have its last predicate replaced\n * @param {*} predicate the new last element\n */\nconst replaceLastPredicate = (groupPredicate, predicate) => {\n\tgroupPredicate.predicates[groupPredicate.predicates.length - 1] = predicate;\n};\n\n/**\n * Transforms the conditions model of the decoed query model into a predicateComposition\n *\n * @param {Array} conditionsModel []\n * @returns predicateComposition (for use in predicate builder)\n */\nexport const transformDecodedQuery = (\n\tconditionsModel = [],\n\tcustomizations = {}\n) => {\n\tconst predicateComposition = {};\n\n\tlet prevPredicate = {};\n\tlet andGroupPredicate;\n\tlet separatedGroupPredicate;\n\tlet prevConditionType;\n\n\tconditionsModel.forEach((condition) => {\n\t\tconst { conditionType } = condition;\n\t\tconst singlePredicate = transformCondition(condition);\n\t\tconst fieldType = get(\n\t\t\tsinglePredicate,\n\t\t\t'predicateProperties.field.type'\n\t\t);\n\t\tconst customComponentTag = get(customizations, [\n\t\t\t'row',\n\t\t\tfieldType,\n\t\t\t'componentTag',\n\t\t]);\n\t\tif (customComponentTag) {\n\t\t\tif (customComponentTag.startsWith('macroponent-')) {\n\t\t\t\tsinglePredicate.macroponentSysId = customComponentTag.replace(\n\t\t\t\t\t'macroponent-',\n\t\t\t\t\t''\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsinglePredicate.componentTag = customComponentTag;\n\t\t\t}\n\t\t}\n\n\t\tif (conditionType === QUERY_CONDITION_TYPE.NEW_QUERY) {\n\t\t\tprevConditionType = conditionType;\n\t\t\tandGroupPredicate = null;\n\t\t\tprevPredicate = singlePredicate;\n\n\t\t\t// First predicate that is read in, creates single predicate as the predicateComposition predicate\n\t\t\tif (!predicateComposition.predicate) {\n\t\t\t\tpredicateComposition.predicate = singlePredicate;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Add a new query to the existing separated group\n\t\t\tif (\n\t\t\t\tpredicateComposition.predicate.groupType ===\n\t\t\t\tGROUP_TYPES.SEPARATED_GROUP\n\t\t\t) {\n\t\t\t\tseparatedGroupPredicate.predicates.push(singlePredicate);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If second NEW_QUERY is read, we need to create a SEPARATED group with each one.\n\t\t\tseparatedGroupPredicate = createGroupPredicate(\n\t\t\t\tGROUP_TYPES.SEPARATED_GROUP,\n\t\t\t\t[predicateComposition.predicate, singlePredicate]\n\t\t\t);\n\t\t\tpredicateComposition.predicate = separatedGroupPredicate;\n\t\t}\n\t\tif (conditionType === QUERY_CONDITION_TYPE.AND) {\n\t\t\tprevConditionType = conditionType;\n\n\t\t\t// Currently in an and group (either within a separated group or at the predicateComposition predicate level).\n\t\t\tif (andGroupPredicate) {\n\t\t\t\tandGroupPredicate.predicates.push(singlePredicate);\n\t\t\t\tprevPredicate = singlePredicate;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tandGroupPredicate = createGroupPredicate(conditionType, [\n\t\t\t\tprevPredicate,\n\t\t\t\tsinglePredicate,\n\t\t\t]);\n\t\t\tprevPredicate = singlePredicate;\n\n\t\t\t// If we are inside a separated group, create the AND group here.\n\t\t\t// Otherwise, create it at the predicateComposition predicate level\n\t\t\tif (separatedGroupPredicate) {\n\t\t\t\treplaceLastPredicate(\n\t\t\t\t\tseparatedGroupPredicate,\n\t\t\t\t\tandGroupPredicate\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tpredicateComposition.predicate = andGroupPredicate;\n\t\t}\n\t\tif (conditionType === QUERY_CONDITION_TYPE.OR) {\n\t\t\t// If the previous condition was an OR, we know that we can continue adding to the same OR group\n\t\t\tif (prevConditionType === QUERY_CONDITION_TYPE.OR) {\n\t\t\t\tprevPredicate.predicates.push(singlePredicate);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst orGroupPredicate = createGroupPredicate(conditionType, [\n\t\t\t\tprevPredicate,\n\t\t\t\tsinglePredicate,\n\t\t\t]);\n\n\t\t\tprevPredicate = orGroupPredicate;\n\t\t\tprevConditionType = conditionType;\n\n\t\t\t// If we are in an AND group, we need to replace the last element with this OR group\n\t\t\tif (andGroupPredicate) {\n\t\t\t\treplaceLastPredicate(andGroupPredicate, orGroupPredicate);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If predicateComposition predicate level; need to replace the predicate with this OR group\n\t\t\tif (!separatedGroupPredicate) {\n\t\t\t\tpredicateComposition.predicate = orGroupPredicate;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Otherwise, we are in a separated group and can replace its last predicate with this OR group\n\t\t\treplaceLastPredicate(separatedGroupPredicate, orGroupPredicate);\n\t\t}\n\t});\n\n\treturn predicateComposition;\n};\n\nconst getConditionType = (groupType) => {\n\tswitch (groupType) {\n\t\tcase GROUP_TYPES.AND:\n\t\t\treturn QUERY_CONDITION_TYPE.AND;\n\n\t\tcase GROUP_TYPES.OR:\n\t\t\treturn QUERY_CONDITION_TYPE.OR;\n\n\t\tcase GROUP_TYPES.SEPARATED_GROUP:\n\t\t\treturn QUERY_CONDITION_TYPE.NEW_QUERY;\n\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\n/**\n * Transforms a predicate based on its type.\n * @param {*} predicate\n * @param {String} conditionType\n * @returns {Array} an array of conditions\n */\nconst transformPredicate = (predicate, conditionType) => {\n\tconst { type } = predicate;\n\tswitch (type) {\n\t\tcase PREDICATE_TYPES.GROUPED_PREDICATE:\n\t\t\treturn transformGroupPredicate(predicate, conditionType);\n\n\t\tcase PREDICATE_TYPES.SINGLE_PREDICATE:\n\t\t\treturn transformSinglePredicate(predicate, conditionType);\n\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\n/**\n * It transforms the group predicate and recursively maps through the inner predicates.\n * @param {*} predicate\n * @param {string} conditionType\n * @returns {Array} an array of conditions\n */\nconst transformGroupPredicate = (predicate, conditionType) => {\n\tconst { groupType, predicates = [] } = predicate;\n\tconst groupConditionType = getConditionType(groupType);\n\n\tconst conditions = predicates\n\t\t.map((innerPredicate) =>\n\t\t\ttransformPredicate(innerPredicate, groupConditionType)\n\t\t)\n\t\t.flat(Infinity);\n\n\tconditions[0].conditionType = conditionType;\n\treturn conditions;\n};\n\n/**\n * Sets a single predicate with the proper condition object\n * @param {*} predicate\n * @param {string} conditionType\n * @returns {Array} an array with the condition as the single item of the array\n */\nconst transformSinglePredicate = (predicate, conditionType) => {\n\tconst {\n\t\tpredicateProperties: {\n\t\t\tconditionId,\n\t\t\tconditionMetadata,\n\t\t\tfield,\n\t\t\toperator,\n\t\t\tval: value,\n\t\t},\n\t} = predicate;\n\tconst condition = {\n\t\tconditionId: conditionId || uuid(),\n\t\tconditionMetadata,\n\t\tconditionType,\n\t\tfield,\n\t\toperator,\n\t\tvalue,\n\t};\n\n\treturn [condition];\n};\n\n/**\n * Transforms a predicateComposition object to a valid parsedQueryModel object.\n * @param {*} predicateComposition\n * @returns {Array} The final array of conditions to use for the payload.\n */\nexport const transformPredicateComposition = (predicateComposition) => {\n\treturn transformPredicate(\n\t\tpredicateComposition.predicate,\n\t\tQUERY_CONDITION_TYPE.NEW_QUERY\n\t);\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { klona } from 'klona';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport set from 'lodash/set';\n\nimport { QUERY_CONDITION_TYPE } from '../../../commons/constants';\nimport { uuid } from '../../../commons/utils/uuid';\nimport { NOW_PREDICATE_BUILDER_METRIC_TRACKED } from '../now-predicate-builder/actionTypes';\nimport {\n\tSN_CONDITION_BUILDER_DECODED_QUERY_UPDATED,\n\tSN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED,\n} from '../sn-condition-builder/actionTypes';\nimport { DECODED_QUERY_MODEL_TYPE } from '../sn-condition-builder/constants';\nimport { SN_CONDITIONS_ADD_NEW_CONDITION_SET_EVENT } from '../sn-condition-builder/telemetryEvents.constants';\nimport { SN_PREDICATE_BUILDER_PREDICATE_UPDATED } from '../sn-predicate-builder/actionTypes';\n\nimport {\n\tSN_CONDITIONS_ADD_NEW_CONDITION_SET,\n\tSN_CONDITIONS_FOCUS_NEW_CONDITION_BUTTON,\n\tSN_CONDITIONS_SET_FOCUS,\n\tSN_CONDITIONS_CONDITION_UPDATE_REQUESTED,\n\tSN_CONDITIONS_ALTERNATIVE_VIEW_REQUESTED,\n} from './actionTypes';\nimport { KEYWORDS_INTERNAL_VALUE } from './constants';\nimport {\n\ttransformDecodedQuery,\n\ttransformPredicateComposition,\n} from './transformUtils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const generateEmptyConditionsModel = () => {\n\treturn [\n\t\t{\n\t\t\tconditionType: QUERY_CONDITION_TYPE.NEW_QUERY,\n\t\t\tconditionId: uuid(),\n\t\t},\n\t];\n};\n\nconst getConditionIdWithKeywords = (conditions = []) =>\n\tconditions.find(\n\t\t(condition) =>\n\t\t\tcondition?.field?.internalValue === KEYWORDS_INTERNAL_VALUE\n\t)?.conditionId;\n\nconst handleAddNewConditionSet = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: { customizations },\n\t\tstate: { conditionsModel },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst conditionId = uuid();\n\tconst newCondition = {\n\t\tconditionType: 'NEW_QUERY',\n\t\tconditionId: conditionId,\n\t};\n\tconst updatedConditionsModel = [...conditionsModel, newCondition];\n\n\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\teventName: SN_CONDITIONS_ADD_NEW_CONDITION_SET_EVENT,\n\t});\n\tupdateState([\n\t\t{\n\t\t\tpath: 'conditionsModel',\n\t\t\tvalue: updatedConditionsModel,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{\n\t\t\tpath: 'conditionIdToFocus',\n\t\t\tvalue: conditionId,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'predicateComposition',\n\t\t\tvalue: transformDecodedQuery(\n\t\t\t\tupdatedConditionsModel,\n\t\t\t\tcustomizations\n\t\t\t),\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: { conditionsModel: model = [], customizations },\n\t\tupdateState,\n\t} = coeffects;\n\n\tlet conditionsModel = model;\n\tif (conditionsModel?.length === 0) {\n\t\tconditionsModel = generateEmptyConditionsModel();\n\t}\n\n\tconst keywordsConditionId = getConditionIdWithKeywords(conditionsModel);\n\tupdateState([\n\t\t{\n\t\t\tpath: 'conditionsModel',\n\t\t\tvalue: conditionsModel,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{\n\t\t\tpath: 'predicateComposition',\n\t\t\tvalue: transformDecodedQuery(conditionsModel, customizations),\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'keywordsConditionId',\n\t\t\tvalue: keywordsConditionId,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tstate: { conditionsModel, customizations },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (name === 'conditionsModel' && !isEqual(value, conditionsModel)) {\n\t\tlet model = value;\n\t\tif (Array.isArray(value) && value.length === 0) {\n\t\t\tmodel = generateEmptyConditionsModel();\n\t\t}\n\n\t\tconst keywordsConditionId = getConditionIdWithKeywords(model);\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'conditionsModel',\n\t\t\t\tvalue: model,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'keywordsConditionId',\n\t\t\t\tvalue: keywordsConditionId,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'predicateComposition',\n\t\t\t\tvalue: transformDecodedQuery(model, customizations),\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t]);\n\n\t\treturn;\n\t}\n};\n\nconst handlePredicateUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tupdatedPredicateComposition,\n\t\t\t\tpredicateActionPayload: { predicateProperties },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tstate: { keywordsConditionId },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst updatedConditionsModel = transformPredicateComposition({\n\t\t...updatedPredicateComposition,\n\t\tpredicate: {\n\t\t\t...updatedPredicateComposition.predicate,\n\t\t\tpredicates: updatedPredicateComposition?.predicate?.predicates,\n\t\t},\n\t});\n\n\t// if an update happens on a condition with keywords or the field contains keywords check if there is a new keywords condition id\n\tconst updatedKeywordsConditionId =\n\t\tkeywordsConditionId === predicateProperties.conditionId ||\n\t\tpredicateProperties?.field?.internalValue === KEYWORDS_INTERNAL_VALUE\n\t\t\t? getConditionIdWithKeywords(updatedConditionsModel)\n\t\t\t: keywordsConditionId;\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'conditionsModel',\n\t\t\tvalue: updatedConditionsModel,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{\n\t\t\tpath: 'predicateComposition',\n\t\t\tvalue: updatedPredicateComposition,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'keywordsConditionId',\n\t\t\tvalue: updatedKeywordsConditionId,\n\t\t\toperation: 'set',\n\t\t\tshouldUpdate: updatedKeywordsConditionId !== keywordsConditionId,\n\t\t},\n\t]);\n\n\tif (!get(predicateProperties, 'field.internalValue')) {\n\t\treturn;\n\t}\n\n\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\tmodelType: DECODED_QUERY_MODEL_TYPE.CONDITIONS,\n\t\tvalue: updatedConditionsModel,\n\t});\n};\n\nconst handleSetFocusNewConditionButton = (coeffects) => {\n\tconst { host } = coeffects;\n\thost?.shadowRoot\n\t\t?.querySelector('now-button.add-condition-set-button')\n\t\t?.focus();\n};\n\nconst handleSetFocus = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { conditionId },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'conditionIdToFocus',\n\t\t\tvalue: conditionId,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nconst handleConditionUpdateRequested = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tcustomizations,\n\t\tlogger,\n\t\tstate: { conditionsModel },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { conditionId: conditionPayloadId, valueToModelPaths = [] } = payload;\n\n\tconst newCondition = klona(\n\t\tconditionsModel.find(\n\t\t\t({ conditionId }) => conditionId === conditionPayloadId\n\t\t)\n\t);\n\n\tif (isEmpty(newCondition)) {\n\t\tlogger.error(\n\t\t\t`conditionId:${conditionPayloadId} not found. Unable to update condition`\n\t\t);\n\t\treturn;\n\t}\n\n\tvalueToModelPaths.forEach(({ value, targetPath }) => {\n\t\tset(newCondition, targetPath, value);\n\t});\n\n\tconst newConditions = conditionsModel.map((condition) => {\n\t\treturn condition.conditionId === conditionPayloadId\n\t\t\t? newCondition\n\t\t\t: condition;\n\t});\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'conditionsModel',\n\t\t\tvalue: newConditions,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'predicateComposition',\n\t\t\tvalue: transformDecodedQuery(newConditions, customizations),\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nconst handleAlternativeViewRequested = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: { conditionId },\n\t\t},\n\t\tlogger,\n\t\tstate: { conditionsModel = [] },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst conditionObj = klona(\n\t\tconditionsModel?.find(\n\t\t\t(condition) => condition.conditionId === conditionId\n\t\t)\n\t);\n\tif (isEmpty(conditionObj)) {\n\t\tlogger.warn(\n\t\t\t`Condition with id: ${conditionId} was not found when requesting alternative view.\t`\n\t\t);\n\t}\n\n\tdispatch(SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED, {\n\t\t...payload,\n\t\tconditionObj,\n\t\tmodel: conditionsModel,\n\t\tmodelType: DECODED_QUERY_MODEL_TYPE.CONDITIONS,\n\t});\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITIONS_FOCUS_NEW_CONDITION_BUTTON]: {\n\t\teffect: handleSetFocusNewConditionButton,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITIONS_SET_FOCUS]: {\n\t\teffect: handleSetFocus,\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_PREDICATE_UPDATED]: {\n\t\teffect: handlePredicateUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITIONS_ADD_NEW_CONDITION_SET]: {\n\t\teffect: handleAddNewConditionSet,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITIONS_CONDITION_UPDATE_REQUESTED]: {\n\t\teffect: handleConditionUpdateRequested,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITIONS_ALTERNATIVE_VIEW_REQUESTED]: {\n\t\teffect: handleAlternativeViewRequested,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const NOW_CONDITION_BUILDER_FIELD_SELECT =\n\t'NOW_CONDITION_BUILDER#FIELD_SELECT';\n","export const NOW_CONDITION_BUILDER_OPERATOR_SELECT =\n\t'NOW_CONDITION_BUILDER#OPERATOR_SELECT';\n","export const SN_CONDITION_BUILDER_VALUE_EDITOR_VALUE_SET =\n\t'SN_CONDITION_BUILDER#VALUE_EDITOR_VALUE_SET';\n","export const NOW_CONDITION_BUILDER_ROW_ALTERNATIVE_VIEW_REQUESTED =\n\t'NOW_CONDITION_BUILDER_ROW#ALTERNATIVE_VIEW_REQUESTED';\n","import { actionTypes } from '@servicenow/ui-core';\nimport first from 'lodash/first';\nimport get from 'lodash/get';\n\nimport { uuid } from '../../../commons/utils/uuid';\nimport { NOW_CONDITION_BUILDER_FIELD_SELECT } from '../now-condition-builder-field-wrapper/actionTypes';\nimport { NOW_CONDITION_BUILDER_OPERATOR_SELECT } from '../now-condition-builder-operator-wrapper/actionTypes';\nimport { getOperatorItems } from '../now-condition-builder-operator-wrapper/utils';\nimport { SN_CONDITION_BUILDER_VALUE_EDITOR_VALUE_SET } from '../now-condition-builder-value-editor-wrapper/actionTypes';\nimport { NOW_PREDICATE_BUILDER_METRIC_TRACKED } from '../now-predicate-builder/actionTypes';\nimport { KEYWORDS_INTERNAL_VALUE } from '../sn-condition-builder/constants';\nimport { UNKNOWN_FIELD_TYPE } from '../sn-condition-builder/telemetryEvents.constants';\nimport {\n\tSN_CONDITIONS_ALTERNATIVE_VIEW_REQUESTED,\n\tSN_CONDITIONS_SET_FOCUS,\n} from '../sn-conditions/actionTypes';\nimport { NOW_PREDICATE_BUILDER_PREDICATE_ACTION } from '../sn-predicate-builder/actionTypes';\nimport { DATA_MODEL_ACTIONS } from '../sn-predicate-builder/constants';\nimport {\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_DROPDOWN_ITEM_CLICKED,\n\tNOW_BUTTON_CLICKED,\n} from '../sn-value-editor-commons/actionTypes';\n\nimport { NOW_CONDITION_BUILDER_ROW_ALTERNATIVE_VIEW_REQUESTED } from './actionTypes';\nimport {\n\tDROPDOWN_TYPES,\n\tMACROPONENT_PREFIX,\n\tROW_ACTION_AND,\n\tROW_ACTION_OR,\n\tROW_ACTION_REMOVE,\n} from './constants';\nimport { getExtendedOperatorsFromMetadata, isUnknownFieldType } from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n/**\n *  Given a selected operator this method will return the componentTag and macroponentSysId associate with it.\n * @param {Object} operator\n * @returns {Object} { componentTag, macroponentSysId }\n */\nconst getEditorTagFromOperator = (operator = {}) => {\n\tlet componentTag = operator?.componentTag || '';\n\tlet macroponentSysId = operator?.macroponentSysId || '';\n\n\tif (componentTag.startsWith(MACROPONENT_PREFIX)) {\n\t\tmacroponentSysId = componentTag.replace(MACROPONENT_PREFIX, '').trim();\n\t\tcomponentTag = '';\n\t}\n\n\treturn {\n\t\tcomponentTag,\n\t\tmacroponentSysId,\n\t};\n};\n\nconst handleFieldSelect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { selectedField },\n\t\t},\n\t\tlogger,\n\t\tproperties: {\n\t\t\tconditionId,\n\t\t\tpredicateContext: { fieldOperatorRelationship },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\t// Checks to see if the selected field type is in the field operator relationship.\n\t// If its not, it uses the unknown field type default operators.\n\tconst fieldType =\n\t\tfieldOperatorRelationship[selectedField.type] ||\n\t\tfieldOperatorRelationship.unsupported_field_type;\n\tconst excludedOperators = getExcludedOperators(selectedField, coeffects);\n\tconst operators = fieldType?.operators.filter(\n\t\t({ displayValue }) => !excludedOperators.includes(displayValue)\n\t);\n\tconst firstOperator = first(operators);\n\tconst selectedOperator = {\n\t\tdisplayValue: firstOperator?.displayValue || '',\n\t\tinternalValue: firstOperator?.internalValue || '',\n\t};\n\n\tconst selectedValue = {\n\t\tdisplayValue: '',\n\t\tinternalValue: '',\n\t};\n\n\tupdateState({\n\t\toperatorDisplayOption: firstOperator?.operatorDisplay,\n\t\tselectedField,\n\t\tselectedOperator,\n\t\tselectedValue,\n\t\tvalueEditorMetadata: {\n\t\t\t...getEditorTagFromOperator(firstOperator),\n\t\t},\n\t});\n\n\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_ACTION, {\n\t\teventName: DATA_MODEL_ACTIONS.UPDATE_PREDICATE_PROPERTIES,\n\t\tpredicateProperties: {\n\t\t\tconditionId,\n\t\t\tfield: selectedField,\n\t\t\toperator: selectedOperator,\n\t\t\tval: selectedValue,\n\t\t},\n\t});\n\n\tif (isUnknownFieldType(selectedField, fieldOperatorRelationship)) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\t\teventName: UNKNOWN_FIELD_TYPE,\n\t\t\tmetadata: {\n\t\t\t\tinteraction: 'Field selected',\n\t\t\t\tfieldType: get(selectedField, 'type'),\n\t\t\t},\n\t\t});\n\t\tlogger.warn('Unknown field type selected', selectedField);\n\t}\n};\n\nconst getExcludedOperators = (field, coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tpredicateContext: { metadataCache, source },\n\t\t},\n\t} = coeffects;\n\n\treturn (\n\t\tget(\n\t\t\tmetadataCache,\n\t\t\t`tableMetadata.${source}.${field?.internalValue}.excludedOperators`\n\t\t) || []\n\t);\n};\n\nconst getExtendedOperators = (field, coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tpredicateContext: { metadataCache, source },\n\t\t},\n\t} = coeffects;\n\n\treturn getExtendedOperatorsFromMetadata({ field, metadataCache, source });\n};\n\nconst handleOperatorSelect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { selectedOperator },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { conditionId },\n\t\tstate: { selectedField },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { id, label } = selectedOperator;\n\n\tconst newSelectedOperator = {\n\t\tdisplayValue: label,\n\t\tinternalValue: id,\n\t};\n\n\tconst newSelectedValue = {\n\t\tdisplayValue: '',\n\t\tinternalValue: '',\n\t};\n\n\tconst valueEditorMetadata = {\n\t\t...getEditorTagFromOperator(selectedOperator),\n\t};\n\n\tupdateState({\n\t\tselectedOperator: newSelectedOperator,\n\t\tselectedValue: newSelectedValue,\n\t\tvalueEditorMetadata,\n\t});\n\n\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_ACTION, {\n\t\teventName: DATA_MODEL_ACTIONS.UPDATE_PREDICATE_PROPERTIES,\n\t\tpredicateProperties: {\n\t\t\tconditionId,\n\t\t\tfield: selectedField,\n\t\t\toperator: newSelectedOperator,\n\t\t\tval: newSelectedValue,\n\t\t},\n\t});\n};\n\nconst handleRowActionClick = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem, // the selected dropdown item\n\t\t\t},\n\t\t},\n\t\tstate: {\n\t\t\tselectedField,\n\t\t\tselectedOperator,\n\t\t\tselectedValue,\n\t\t\tproperties: {\n\t\t\t\tconditionId,\n\t\t\t\tconditionMetadata = {},\n\t\t\t\tpredicateContext: { predicateMetadata = {} },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\tconst { parentGroupType, parentPredicateId } = predicateMetadata;\n\tif (item.id === ROW_ACTION_AND) {\n\t\tconst newConditionId = uuid();\n\t\tlet payload = {\n\t\t\teventName: DATA_MODEL_ACTIONS.ADD_PREDICATE_TO_GROUP,\n\t\t\tgroupType: item.id,\n\t\t\tpredicateProperties: {\n\t\t\t\tconditionId: newConditionId,\n\t\t\t\tconditionMetadata: {},\n\t\t\t\tfield: { displayValue: '', internalValue: '' },\n\t\t\t\toperator: { displayValue: '', internalValue: '' },\n\t\t\t\tval: { displayValue: '', internalValue: '' },\n\t\t\t},\n\t\t};\n\n\t\tif (parentGroupType === ROW_ACTION_OR) {\n\t\t\tpayload = {\n\t\t\t\t...payload,\n\t\t\t\tpredicateId: parentPredicateId,\n\t\t\t};\n\t\t}\n\t\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_ACTION, payload);\n\t\tdispatch(SN_CONDITIONS_SET_FOCUS, {\n\t\t\tconditionId: newConditionId,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (item.id === ROW_ACTION_OR) {\n\t\tconst newConditionId = uuid();\n\n\t\t// We don't want to copy the field & operator for keywords as only one can be present in an encoded query\n\t\tconst isKeywords =\n\t\t\tselectedField.internalValue === KEYWORDS_INTERNAL_VALUE;\n\t\tconst field = isKeywords\n\t\t\t? { displayValue: '', internalValue: '' }\n\t\t\t: selectedField;\n\t\tconst operator = isKeywords\n\t\t\t? { displayValue: '', internalValue: '' }\n\t\t\t: selectedOperator;\n\n\t\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_ACTION, {\n\t\t\teventName: DATA_MODEL_ACTIONS.ADD_PREDICATE_TO_GROUP,\n\t\t\tgroupType: item.id,\n\t\t\tpredicateProperties: {\n\t\t\t\tconditionMetadata,\n\t\t\t\tconditionId: newConditionId,\n\t\t\t\tfield,\n\t\t\t\toperator,\n\t\t\t\tval: {\n\t\t\t\t\tdisplayValue: '',\n\t\t\t\t\tinternalValue: '',\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tdispatch(SN_CONDITIONS_SET_FOCUS, {\n\t\t\tconditionId: newConditionId,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (item.id === ROW_ACTION_REMOVE) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_ACTION, {\n\t\t\teventName: DATA_MODEL_ACTIONS.REMOVE_PREDICATE,\n\t\t\tpredicateProperties: {\n\t\t\t\tconditionId,\n\t\t\t\tfield: selectedField,\n\t\t\t\toperator: selectedOperator,\n\t\t\t\tval: selectedValue,\n\t\t\t},\n\t\t});\n\t\treturn;\n\t}\n};\n/**\n * Handler for now-dropdown item and button clicked action. Will dispatch the appropriate action\n * @param {Coeffects<PopoverListContentProps, State>} coeffects\n */\nconst handleClick = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { dropdownType },\n\t\t},\n\t} = coeffects;\n\n\tif (dropdownType === DROPDOWN_TYPES.ROW) {\n\t\thandleRowActionClick(coeffects);\n\t\treturn;\n\t}\n};\n\n/**\n * Handler for the remove 'X' button icon.\n * @param {Coeffects<PopoverListContentProps, State>} coeffects\n */\nconst handleButtonClick = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: { conditionId },\n\t\tstate: { selectedField, selectedOperator, selectedValue },\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_ACTION, {\n\t\teventName: DATA_MODEL_ACTIONS.REMOVE_PREDICATE,\n\t\tpredicateProperties: {\n\t\t\tconditionId,\n\t\t\tfield: selectedField,\n\t\t\toperator: selectedOperator,\n\t\t\tval: selectedValue,\n\t\t},\n\t});\n};\n\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcustomizations,\n\t\t\tfield,\n\t\t\toperator,\n\t\t\tval,\n\t\t\tpredicateContext: { fieldOperatorRelationship },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst customFieldType = customizations?.field?.type;\n\tif (customFieldType) {\n\t\tfield.type = customFieldType;\n\t}\n\n\tconst { type } = field;\n\n\tconst excludedOperators = getExcludedOperators(field, coeffects);\n\tconst extendedOperators = getExtendedOperators(field, coeffects);\n\n\tconst operatorItems = getOperatorItems({\n\t\texcludedOperators,\n\t\textendedOperators,\n\t\tfieldOperatorRelationship,\n\t\tselectedOperator: operator,\n\t\ttype,\n\t});\n\n\tlet componentTag = '',\n\t\tmacroponentSysId = '',\n\t\toperatorItem = { ...operator };\n\n\tif (operatorItems?.length) {\n\t\toperatorItem = operatorItems.find(\n\t\t\t(fieldTypeOperator) =>\n\t\t\t\tfieldTypeOperator.id === operator.internalValue\n\t\t);\n\t\t({ componentTag, macroponentSysId } = getEditorTagFromOperator(\n\t\t\toperatorItem\n\t\t));\n\t}\n\n\tupdateState({\n\t\toperatorDisplayOption: operatorItem?.operatorDisplay,\n\t\tselectedField: { ...field },\n\t\tselectedOperator: { ...operator },\n\t\tselectedValue: { ...val },\n\t\tvalueEditorMetadata: {\n\t\t\tcomponentTag,\n\t\t\tmacroponentSysId,\n\t\t},\n\t});\n};\n\nconst handleValueEditorValueSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tinternalValue,\n\t\t\t\tdisplayValue,\n\t\t\t\tdotwalkPath,\n\t\t\t\tdirtyMetadata,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tproperties: { conditionId },\n\t\tstate: { selectedField, selectedOperator },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst selectedValue = {\n\t\tinternalValue,\n\t\tdisplayValue,\n\t\t...(!!dotwalkPath && { dotwalkPath }), // adds dotwalk path if it exists\n\t\tdirtyMetadata,\n\t};\n\n\tupdateState({\n\t\tselectedValue,\n\t});\n\n\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_ACTION, {\n\t\teventName: DATA_MODEL_ACTIONS.UPDATE_PREDICATE_PROPERTIES,\n\t\tpredicateProperties: {\n\t\t\tconditionId,\n\t\t\tfield: selectedField,\n\t\t\toperator: selectedOperator,\n\t\t\tval: selectedValue,\n\t\t},\n\t});\n};\n\nconst handleAlternativeViewRequested = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tproperties: { conditionId },\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(SN_CONDITIONS_ALTERNATIVE_VIEW_REQUESTED, {\n\t\t...payload,\n\t\tconditionId,\n\t});\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (['field', 'operator', 'val'].includes(name)) {\n\t\thandleComponentBootstrap(coeffects);\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DROPDOWN_ITEM_CLICKED]: {\n\t\teffect: handleClick,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: handleClick,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleButtonClick,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_CONDITION_BUILDER_FIELD_SELECT]: {\n\t\teffect: handleFieldSelect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_CONDITION_BUILDER_OPERATOR_SELECT]: {\n\t\teffect: handleOperatorSelect,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_VALUE_EDITOR_VALUE_SET]: {\n\t\teffect: handleValueEditorValueSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_CONDITION_BUILDER_ROW_ALTERNATIVE_VIEW_REQUESTED]: {\n\t\teffect: handleAlternativeViewRequested,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport last from 'lodash/last';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nimport { NOW_PREDICATE_BUILDER_FETCH_COMPONENT } from '../../behaviors/componentLoaderBehavior/constants';\nimport { SN_DOT_WALK_PATH_UPDATED } from '../sn-value-editor-commons/actionTypes';\n\nimport { NOW_CONDITION_BUILDER_FIELD_SELECT } from './actionTypes';\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: { componentTag, macroponentSysId },\n\t\tstate: {\n\t\t\tbehaviors: {\n\t\t\t\tcomponentLoaderBehavior: { fetchedComponents },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (componentTag && !fetchedComponents.components[componentTag]) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tcomponentTag,\n\t\t});\n\t\treturn;\n\t} else if (\n\t\tmacroponentSysId &&\n\t\t!fetchedComponents.macroponents[macroponentSysId]\n\t) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tmacroponentSysId,\n\t\t});\n\t}\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (['componentTag', 'macroponentSysId'].includes(name)) {\n\t\thandleBootstrap(coeffects);\n\t}\n};\n\nconst handleDotwalkPathUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tcurrentSelectedItemInternalValue,\n\t\t\t\tcurrentSelectedItemDisplayValue,\n\t\t\t\tdotWalkPath,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tstate: {\n\t\t\tproperties: { metadataCache },\n\t\t},\n\t} = coeffects;\n\n\tconst { internalValue = '', source = '' } = last(dotWalkPath);\n\tlet type = get(\n\t\tmetadataCache,\n\t\t`tableMetadata.${source}.${internalValue}.type`,\n\t\t''\n\t);\n\n\t// actual type will be coming from the selected variable, operator and value sections will be hidden until variable selected\n\tif (currentSelectedItemInternalValue === 'variables') {\n\t\ttype = currentSelectedItemInternalValue;\n\t}\n\n\tconst selectedField = {\n\t\tdisplayValue: currentSelectedItemDisplayValue,\n\t\tinternalValue: currentSelectedItemInternalValue,\n\t\ttype,\n\t\tdotwalkPath: dotWalkPath,\n\t};\n\n\tdispatch(NOW_CONDITION_BUILDER_FIELD_SELECT, {\n\t\tselectedField,\n\t});\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_PATH_UPDATED]: {\n\t\teffect: handleDotwalkPathUpdated,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"TOOLTIP_ADD_TARGET\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_ADD_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"].TOOLTIP_ADD_TARGET;\n\t\t\t\t\t} else if ('TOOLTIP_ADD_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__.TOOLTIP_ADD_TARGET || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"].TOOLTIP_ADD_TARGET;\n\t\t\t\t}, [\"TOOLTIP_REMOVE_TARGET\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_REMOVE_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"].TOOLTIP_REMOVE_TARGET;\n\t\t\t\t\t} else if ('TOOLTIP_REMOVE_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__.TOOLTIP_REMOVE_TARGET || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"].TOOLTIP_REMOVE_TARGET;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_0_5_index_jsdbx_f013662e__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_0_5_index_jsdbx_ff6bd0c6__[\"default\"][\"default\"];\n\t\t\t\t} });","import { actionTypes } from '@servicenow/ui-core';\nimport isEmpty from 'lodash/isEmpty';\n\nimport {\n\tNOW_DOT_WALK_PATH_UPDATED,\n\tNOW_POPOVER_OPENED_SET,\n\tSN_DOT_WALK_PATH_UPDATED,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_TREE_RENDERED,\n} = actionTypes;\nimport {\n\tNOW_DOT_WALK_FETCH_PANEL_DEFINITIONS,\n\tNOW_DOT_WALK_LOAD_MORE_REQUESTED,\n\tNOW_DOT_WALK_SEARCH_TERM_CHANGED,\n\tSN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS,\n} from './actionTypes';\nimport {\n\tDYNAMIC_QUERY_PREFIXES,\n\tPANEL_DEFINITION_REQUEST_TYPE,\n\tVARIABLE_MODE,\n} from './constants';\nimport {\n\tgetDotwalkPathDisplayValue,\n\tgetPanelDefinitionRequestType,\n\tisDynamicCategory,\n\tisDynamicDataStore,\n\tisDynamicSchemaSource,\n\tisDynamicUnknownCategory,\n} from './utils';\n\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tstate: { displayName: stateDisplayName },\n\t\tproperties: {\n\t\t\tdisplayValue,\n\t\t\tfieldInternalValue,\n\t\t\tpanelDefinitions = {},\n\t\t\tsource,\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({ isFirstRender: true });\n\n\tif (displayValue) {\n\t\tupdateState({ displayName: displayValue });\n\t\treturn;\n\t}\n\n\tif (stateDisplayName) {\n\t\t// if fieldInternalValue is blank just display empty string\n\t\tif (!fieldInternalValue) {\n\t\t\tupdateState({ displayName: '' });\n\t\t}\n\t\treturn;\n\t}\n\n\t// handling case when there is no display value\n\tconst panel = panelDefinitions[source];\n\n\tif (!panel) {\n\t\treturn;\n\t}\n\n\tlet items = panel;\n\tif (!Array.isArray(panel)) {\n\t\titems = panel.items;\n\t}\n\n\tconst displayName =\n\t\titems.find(({ internalValue }) => internalValue === fieldInternalValue)\n\t\t\t?.displayValue || '';\n\n\tupdateState({ displayName });\n};\n\nconst handleDotWalkPathUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { path, combinedPath },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst currentSelectedItemDisplayValue = getDotwalkPathDisplayValue(path);\n\n\tupdateState({\n\t\tdisplayName: currentSelectedItemDisplayValue,\n\t\tdotWalkPath: path,\n\t\tisPopoverOpened: false,\n\t});\n\tdispatch(SN_DOT_WALK_PATH_UPDATED, {\n\t\tdotWalkPath: path,\n\t\tcurrentSelectedItemInternalValue: combinedPath,\n\t\tcurrentSelectedItemDisplayValue,\n\t});\n};\n\nexport const shouldFetchPanelDefinitions = (\n\tdotwalkPath,\n\tpanelDefinitions,\n\tsource\n) => {\n\tif (isEmpty(dotwalkPath)) {\n\t\treturn !panelDefinitions[source];\n\t}\n\n\treturn dotwalkPath?.some((pathItem) => !panelDefinitions[pathItem?.source]);\n};\n\nconst handlePopoverOpened = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate,\n\t\taction: {\n\t\t\tpayload: { popoverType },\n\t\t},\n\t\tproperties: {\n\t\t\tdotwalkPath,\n\t\t\tfieldInternalValue,\n\t\t\tsource,\n\t\t\tpanelDefinitions,\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (popoverType === 'content') {\n\t\tupdateState({\n\t\t\tisPopoverOpened: !state.isPopoverOpened,\n\t\t});\n\n\t\tif (\n\t\t\t!state.isPopoverOpened &&\n\t\t\tshouldFetchPanelDefinitions(dotwalkPath, panelDefinitions, source)\n\t\t) {\n\t\t\tdispatch(SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS, {\n\t\t\t\tsource,\n\t\t\t\tpath: fieldInternalValue,\n\t\t\t\tvariableMode: VARIABLE_MODE.SELECTABLE,\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (\n\t\t[\n\t\t\t'displayValue',\n\t\t\t'fieldInternalValue',\n\t\t\t'panelDefinitions',\n\t\t\t'source',\n\t\t\t'hasInitialFocus',\n\t\t].includes(name)\n\t) {\n\t\thandleComponentBootstrap(coeffects);\n\t}\n};\n\nconst handleComponentTreeRendered = (coeffects) => {\n\tconst {\n\t\thost,\n\t\tstate: {\n\t\t\tisPopoverOpened,\n\t\t\tisFirstRender,\n\t\t\tproperties: { hasInitialFocus },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (hasInitialFocus && isFirstRender && !isPopoverOpened) {\n\t\thost?.shadowRoot\n\t\t\t?.querySelector('button.sn-dot-walk-popover-button')\n\t\t\t?.focus();\n\t\tupdateState({\n\t\t\tpath: 'isFirstRender',\n\t\t\tvalue: false,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n};\n\nconst handleFetchPanelDefinitions = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { path, source, panelItem },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (isDynamicSchemaSource(source)) {\n\t\thandleFetchDynamicSchemaPanelDefinitions(coeffects);\n\t\treturn;\n\t}\n\n\tdispatch(SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS, {\n\t\tpath,\n\t\tsource,\n\t\tpanelItem,\n\t\trequestType: PANEL_DEFINITION_REQUEST_TYPE.TABLE_FIELDS,\n\t\tvariableMode: VARIABLE_MODE.SELECTABLE,\n\t});\n};\n\nconst handleFetchDynamicSchemaPanelDefinitions = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { source },\n\t\t},\n\t} = coeffects;\n\n\tif (isDynamicDataStore(source)) {\n\t\thandleFetchDynamicCategories(coeffects);\n\t} else if (isDynamicCategory(source)) {\n\t\thandleFetchDynamicAttributes(coeffects);\n\t} else if (isDynamicUnknownCategory(source)) {\n\t\thandleFetchDynamicUnknownAttributes(coeffects);\n\t}\n};\n\nconst handleFetchDynamicCategories = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tpanelItem: { internalValue, source },\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tconst params = {\n\t\tfieldName: internalValue,\n\t\tsearchTerm: '',\n\t\ttableName: source,\n\t};\n\n\tdispatch(SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS, {\n\t\tsource,\n\t\tparams,\n\t\trequestType: PANEL_DEFINITION_REQUEST_TYPE.DYNAMIC_CATEGORIES,\n\t});\n};\n\nconst handleFetchDynamicAttributes = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { source },\n\t\t},\n\t} = coeffects;\n\n\tconst params = {\n\t\tsearchTerm: '',\n\t\tcategoryNamespacedName: source.substring(\n\t\t\tDYNAMIC_QUERY_PREFIXES.CATEGORY_PREFIX.length\n\t\t),\n\t};\n\n\tdispatch(SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS, {\n\t\tsource,\n\t\tparams,\n\t\trequestType: PANEL_DEFINITION_REQUEST_TYPE.DYNAMIC_ATTRIBUTES,\n\t});\n};\n\nconst handleFetchDynamicUnknownAttributes = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { source },\n\t\t},\n\t} = coeffects;\n\n\tconst params = {\n\t\tsearchTerm: '',\n\t\tnamespaceName: source.substring(\n\t\t\tDYNAMIC_QUERY_PREFIXES.UNKNOWN_CATEGORY_PREFIX.length\n\t\t),\n\t};\n\n\tdispatch(SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS, {\n\t\tsource,\n\t\tparams,\n\t\trequestType: PANEL_DEFINITION_REQUEST_TYPE.DYNAMIC_ATTRIBUTES,\n\t});\n};\n\nconst handleDotWalkLoadMoreRequested = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: { source },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst requestType = getPanelDefinitionRequestType(source);\n\n\tdispatch(SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS, {\n\t\tsource,\n\t\tparams: { ...payload },\n\t\trequestType,\n\t});\n};\n\nconst handleDotWalkSearchTermChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { searchTerm, source, initialLoadMoreParams },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst params = {\n\t\t...initialLoadMoreParams,\n\t};\n\n\t// Since it hasn't been searched, remove the rows so it defaults to firstRow: 0, lastRow: 100\n\tdelete params.firstRow;\n\tdelete params.lastRow;\n\n\tparams.searchTerm = searchTerm;\n\n\tconst requestType = getPanelDefinitionRequestType(source);\n\n\tdispatch(SN_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS, {\n\t\tsource,\n\t\tparams,\n\t\trequestType,\n\t});\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t[COMPONENT_TREE_RENDERED]: handleComponentTreeRendered,\n\t[NOW_DOT_WALK_PATH_UPDATED]: {\n\t\teffect: handleDotWalkPathUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\teffect: handlePopoverOpened,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_SEARCH_TERM_CHANGED]: {\n\t\teffect: handleDotWalkSearchTermChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_LOAD_MORE_REQUESTED]: {\n\t\teffect: handleDotWalkLoadMoreRequested,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DOT_WALK_FETCH_PANEL_DEFINITIONS]: {\n\t\teffect: handleFetchPanelDefinitions,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","export const KEYS = {\n\tKEY_ENTER: 'Enter',\n\tARROW_UP: 'ArrowUp',\n\tARROW_RIGHT: 'ArrowRight',\n\tARROW_DOWN: 'ArrowDown',\n\tARROW_LEFT: 'ArrowLeft',\n\tUP: 'Up',\n\tRIGHT: 'Right',\n\tDOWN: 'Down',\n\tLEFT: 'Left',\n\tSPACE: ' ',\n\tSPACEBAR: 'Spacebar',\n\tENTER: 'Enter',\n\tESC: 'Esc',\n\tESCAPE: 'Escape',\n\tPAGE_UP: 'PageUp',\n\tPAGE_DOWN: 'PageDown',\n\tHOME: 'Home',\n\tEND: 'End',\n\tTAB: 'Tab',\n};\n","import { KEYS } from '../../behaviors/keyboardNavBehavior/constants';\nimport { NOW_POPOVER_OPENED_SET } from '../sn-value-editor-commons/actionTypes';\n\nconst handleOnKeyDown = (coeffects) => {\n\tconst { action, dispatch } = coeffects;\n\n\tif (action.payload.event.key === KEYS.ARROW_DOWN) {\n\t\tdispatch(NOW_POPOVER_OPENED_SET, {\n\t\t\tpopoverType: 'content',\n\t\t\tvalue: true,\n\t\t});\n\n\t\taction.preventDefault();\n\t}\n};\n\nconst eventHandlers = [\n\t{\n\t\tevents: ['keydown'],\n\t\teffect: handleOnKeyDown,\n\t},\n];\n\nexport default eventHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_classnames_2_3_1_index_jsdbx_b076f67e__[\"default\"][\"default\"];\n\t\t\t\t} });","import '@servicenow/now-dot-walk';\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-icon';\n\nimport classnames from 'classnames';\nimport { t } from 'sn-translate';\n\nconst view = (state) => {\n\tconst {\n\t\tdisplayName,\n\t\tisPopoverOpened,\n\t\tproperties: {\n\t\t\tdotwalkPath,\n\t\t\tdir,\n\t\t\tisLocked,\n\t\t\tlabel,\n\t\t\tmessages,\n\t\t\tpanelDefinitions,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t\tsource,\n\t\t},\n\t} = state;\n\n\tconst buttonClasses = classnames('sn-dot-walk-popover-button', {\n\t\t'is-open': isPopoverOpened,\n\t});\n\n\tif (readOnly) {\n\t\treturn (\n\t\t\t<div className=\"sn-dot-walk-popover\" dir={dir}>\n\t\t\t\t{showLabels && label && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"sn-dot-walk-popover-label\"\n\t\t\t\t\t\tdata-testId=\"sn-dot-walk-popover-label\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}{' '}\n\t\t\t\t\t\t{isLocked && <now-icon icon=\"lock-fill\" size=\"sm\" />}\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t\t<now-input\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tinput: {\n\t\t\t\t\t\t\t'aria-label': label,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"sn-input-readonly\"\n\t\t\t\t\tdata-testId=\"sn-dot-walk-popover-value\"\n\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\tvalue={displayName}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"sn-dot-walk-popover\" dir={dir}>\n\t\t\t{showLabels && label && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"sn-dot-walk-popover-label\"\n\t\t\t\t\tdata-testId=\"sn-dot-walk-popover-label\"\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t<now-popover\n\t\t\t\tappendToPayload={{ popoverType: 'content' }}\n\t\t\t\tbare={true}\n\t\t\t\tconfigAria={{ 'aria-label': t('Field options') }}\n\t\t\t\thide-tail={true}\n\t\t\t\tmanage-opened={true}\n\t\t\t\topened={isPopoverOpened}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tdisplayName\n\t\t\t\t\t\t\t? t('{label} has {displayName} value', {\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tdisplayName,\n\t\t\t\t\t\t\t  })\n\t\t\t\t\t\t\t: t('Enter a {label} value', { label })\n\t\t\t\t\t}\n\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\taria-expanded={`${isPopoverOpened}`}\n\t\t\t\t\taria-readonly={readOnly}\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\tmessages?.length > 0 ? messages?.[0]?.id : undefined\n\t\t\t\t\t}\n\t\t\t\t\tclassName={buttonClasses}\n\t\t\t\t\tdata-testId=\"sn-dot-walk-popover-value\"\n\t\t\t\t\tdata-truncation\n\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t>\n\t\t\t\t\t{displayName}\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t/>\n\t\t\t\t<\/button>\n\t\t\t\t{isPopoverOpened ? (\n\t\t\t\t\t<now-dot-walk\n\t\t\t\t\t\tcomponentVersion={2}\n\t\t\t\t\t\tdotWalkPath={dotwalkPath}\n\t\t\t\t\t\tenableSearchAutofocus={true}\n\t\t\t\t\t\tinitialPanelSource={source}\n\t\t\t\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\tmanageCache={false}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/now-popover>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { createCustomElement } from '@servicenow/ui-core';\n\nimport actionHandlers from './actions';\nimport eventHandlers from './events';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-dot-walk-popover', {\n\tinitialState: {\n\t\tisFirstRender: true,\n\t\tisPopoverOpened: false,\n\t\tdisplayName: '',\n\t},\n\tview,\n\tproperties: {\n\t\tdisplayValue: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tdotwalkPath: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tfieldInternalValue: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\thasInitialFocus: {\n\t\t\tdefault: false,\n\t\t},\n\t\tisLocked: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tsource: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tshowLabels: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\n\tactionHandlers,\n\tbehaviors: [truncationBehavior, tooltipBehavior, rtlBehavior],\n\teventHandlers,\n});\n","import { NOW_CONDITION_BUILDER_FIELD_SELECT } from '../../../../../src/now-predicate-builder/components/now-condition-builder-field-wrapper/actionTypes';\nimport { NOW_INPUT_VALUE_SET } from '../../../../../src/now-predicate-builder/components/sn-value-editor-commons/actionTypes';\n\nconst handleNowInputValueSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { fieldType },\n\t} = coeffects;\n\n\tconst dotWalkPath = [];\n\n\tconst selectedField = {\n\t\tdisplayValue: value,\n\t\tinternalValue: value,\n\t\ttype: fieldType,\n\t\tdotWalkPath,\n\t};\n\n\tdispatch(NOW_CONDITION_BUILDER_FIELD_SELECT, {\n\t\tselectedField,\n\t});\n};\n\nexport const actionHandlers = {\n\t[NOW_INPUT_VALUE_SET]: {\n\t\teffect: handleNowInputValueSet,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import '@servicenow/now-input';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: { displayValue, label, readOnly, showLabels },\n\t} = state;\n\treturn (\n\t\t<div className=\"sn-field-override-example\">\n\t\t\t{showLabels && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"sn-field-override-label\"\n\t\t\t\t\tdata-testId=\"sn-field-override-label\"\n\t\t\t\t>\n\t\t\t\t\t{label?.length > 0 ? label : 'Custom Field'}\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t<now-input size=\"sm\" readonly={readOnly} value={displayValue} />\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-field-override-example', {\n\trenderer: { type: snabbdom },\n\tview,\n\tactionHandlers,\n\tstyles,\n\tproperties: {\n\t\tdisplayValue: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tfieldType: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tshowLabels: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t},\n});\n","export const ICONS = {\n\tcritical: 'exclamation-circle-outline',\n\twarning: 'triangle-exclamation-outline',\n\tinfo: 'info-circle-outline',\n\tpositive: 'check-circle-outline',\n};\n","import classnames from 'classnames';\n\nimport { ICONS } from './constants';\n\nconst view = ({ properties }) => {\n\tconst { messages, isRowMessage } = properties;\n\n\tconst getClassNames = (message) => {\n\t\treturn classnames('alert-message', {\n\t\t\t'row-level-message': isRowMessage,\n\t\t\t[`${message.status.toLowerCase()}`]: message.status,\n\t\t});\n\t};\n\n\treturn (\n\t\t<div>\n\t\t\t{messages?.map((message) => (\n\t\t\t\t<div\n\t\t\t\t\tid={message.id}\n\t\t\t\t\tclassName={getClassNames(message)}\n\t\t\t\t\trole=\"alert\"\n\t\t\t\t>\n\t\t\t\t\t<now-icon size=\"sm\" icon={ICONS[message.status]} />\n\t\t\t\t\t{message.content}\n\t\t\t\t<\/div>\n\t\t\t))}\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createPresentationalCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport styles from './styles.scss';\nimport view from './view';\n\ncreatePresentationalCustomElement('sn-condition-builder-row-messages', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tisRowMessage: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t\trequired: false,\n\t\t},\n\t},\n\tstyles,\n});\n","import { t } from 'sn-translate';\n\nexport const VARIABLE_QUESTION_TABLE = 'variable~question';\nexport const SC_CAT_ITEM_TABLE = 'sc_cat_item';\nexport const SC_CAT_ITEM_PRODUCER_TABLE = 'sc_cat_item_producer';\nexport const ITEM_OPTION_NEW_TABLE = 'item_option_new';\nexport const ITEM_PLACEHOLDER = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Select item',\n\tcomment: 'Placeholder text for an item selection dropdown',\n});\nexport const ITEM_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Item',\n\tcomment: 'Label for an item selection dropdown',\n});\nexport const VARIABLE_PLACEHOLDER = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Select variable',\n\tcomment: 'Placeholder text for a variable selection dropdown',\n});\nexport const QUESTION_PLACEHOLDER = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Select question',\n\tcomment: 'Placeholder text for a question selection dropdown',\n});\nexport const VARIABLE_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Variable',\n\tcomment: 'Label for a variable selection dropdown',\n});\nexport const QUESTION_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Question',\n\tcomment: 'Label for a question selection dropdown',\n});\n\nexport const itemFieldCategoryItemDisplayValueSourcePath =\n\t'row.displayValue.value';\nexport const variableFieldCategoryItemDisplayValueSourcePath =\n\t'row.rowData.cat_item.columnData.displayValue';\nexport const categoryItemDisplayValueTargetPath =\n\t'conditionMetadata.catalogItemDisplayValue';\n\nexport const itemFieldCategoryItemInternalValueSourcePath = 'sys_id';\nexport const variableFieldCategoryItemInternalValueSourcePath =\n\t'row.rowData.cat_item.columnData.value';\nexport const categoryItemInternalValueTargetPath =\n\t'conditionMetadata.catalogItemInternalValue';\n\nexport const variableDisplayValueSourcePath = 'row.displayValue.value';\nexport const variableDisplayValueTargetPath =\n\t'conditionMetadata.variableDisplayValue';\n\nexport const variableInternalValueSourcePath = 'sys_id';\nexport const variableInternalValueTargetPath =\n\t'conditionMetadata.variableInternalValue';\n\nexport const rawVariableTypeSourcePath = 'row.rowData.type.columnData.value';\nexport const rawVariableTypeTargetPath = 'conditionMetadata.rawVariableType';\n\nexport const listTableSourcePath = 'row.rowData.list_table.columnData.value';\nexport const listTableTargetPath = 'conditionMetadata.listTable';\n","import get from 'lodash/get';\n\nimport { SC_CAT_ITEM_TABLE, SC_CAT_ITEM_PRODUCER_TABLE } from './constants';\n\nconst variableTypeMap = {\n\t1: 'yesno',\n\t2: 'textarea',\n\t3: 'multiple_choice',\n\t4: 'numericscale',\n\t5: 'choice',\n\t6: 'string',\n\t7: 'boolean',\n\t8: 'reference',\n\t9: 'glide_date',\n\t10: 'glide_date_time',\n\t11: 'label',\n\t12: 'break',\n\t14: 'string',\n\t15: 'string',\n\t16: 'string',\n\t17: 'string',\n\t18: 'choice',\n\t19: 'string',\n\t20: 'string',\n\t21: 'glide_list',\n\t22: 'multiple_choice',\n\t23: 'html',\n\t24: 'string',\n\t25: 'masked',\n\t29: 'variable_duration',\n\t31: 'variable_requested_for',\n\t33: 'variable_attachment_question',\n};\n\n/**\n * Returns a type that the condition builder can understand\n * @param {string} type this is number but of type string\n * @param {string} listTable this is a string representing a table name only needed in the case of glide_list base type.\n * @returns {string}\n */\nexport const getVariableType = (type, listTable) => {\n\tconst baseType = variableTypeMap[type];\n\n\tif (!baseType) {\n\t\treturn 'string';\n\t}\n\n\tswitch (baseType) {\n\t\tcase 'choice':\n\t\t\treturn 'variable_choice';\n\t\tcase 'multiple_choice':\n\t\t\treturn 'variable_multiple_choice';\n\t\tcase 'textarea':\n\t\tcase 'numericscale':\n\t\t\treturn 'string';\n\t\tcase 'string':\n\t\t\treturn 'variable_string';\n\t\tcase 'glide_list':\n\t\t\t// question.getED().getReference() returns type_list field on variable record\n\t\t\tif (!listTable) {\n\t\t\t\treturn 'glide_static_list';\n\t\t\t}\n\t\t\treturn 'glide_list';\n\t\tdefault:\n\t\t\treturn baseType;\n\t}\n};\n\n/**\n * Parses a JSON payload string and returns an empty string or condition string.\n *\n * @param {string} payload - The JSON string payload to parse.\n * @returns {string} - A string representing the condition needed to add to additionalQuery\n */\nexport const getVariableSetIdsCondition = (payload) => {\n\tlet data;\n\n\ttry {\n\t\tdata = JSON.parse(\n\t\t\tget(payload, 'data.GlideLayout_Query.listLayout._graphql._result')\n\t\t);\n\t} catch (e) {\n\t\treturn '';\n\t}\n\n\tconst results = get(\n\t\tdata,\n\t\t'data.GlideRecord_Query.io_set_item._results',\n\t\t[]\n\t);\n\n\tif (!results.length) {\n\t\treturn '';\n\t}\n\n\t// filtering out just in case of falsy values, ie: empty string or null\n\tconst mappedResults = results\n\t\t.map((result) => get(result, 'variable_set.value'))\n\t\t.filter((result) => result);\n\n\treturn `^ORvariable_setIN${mappedResults.join(',')}`;\n};\n\n/**\n * Parses a JSON payload string and returns catalog item display value or empty string.\n *\n * @param {string} payload - The JSON string payload to parse.\n * @param {string} tableName - The catalog item table name\n * @returns {string} - A string representing the catalog item display value\n */\nexport const getCatalogItemDisplayValue = (payload, tableName) => {\n\tlet data;\n\n\ttry {\n\t\tdata = JSON.parse(\n\t\t\tget(payload, 'data.GlideLayout_Query.listLayout._graphql._result')\n\t\t);\n\t} catch (e) {\n\t\treturn '';\n\t}\n\n\treturn get(\n\t\tdata,\n\t\t`data.GlideRecord_Query.${tableName}._results[0]._row_data.displayValue`,\n\t\t''\n\t);\n};\n\n/**\n * Returns boolean if should be displaying variable or question content\n * @param {string} tableName\n * @returns {boolean}\n */\nexport const isVariableTable = (tableName) => {\n\t// these tables get sc_cat_item (VARIABLE LABEL), other tables will get sc_cat_item_producer (QUESTION LABEL)\n\tconst nonProducerTables = ['sc_req_item', 'sc_task'];\n\n\treturn nonProducerTables.includes(tableName);\n};\n\n/**\n * Returns boolean if field is a variable field\n * @param {string} fieldInternalValue\n * @returns {boolean}\n */\nexport const isVariableField = (fieldInternalValue) => {\n\tif (typeof fieldInternalValue === 'string') {\n\t\treturn fieldInternalValue.startsWith('variables');\n\t}\n\treturn false;\n};\n\n/**\n * Returns correct catalog item table to display given tableName\n * @param {string} tableName\n * @returns {string}\n */\nexport const getCatalogItemTable = (tableName) => {\n\treturn isVariableTable(tableName)\n\t\t? SC_CAT_ITEM_TABLE\n\t\t: SC_CAT_ITEM_PRODUCER_TABLE;\n};\n\n/**\n * Returns correctly crafted encodedQuery string\n * @param {string} encodedQuery\n * @param {string} additionalQueryString\n * @returns {string}\n */\nexport const getVariablesQueryString = (\n\tencodedQuery,\n\tadditionalQueryString\n) => {\n\t// below are \"variable view\" types which are not to be displayed\n\t// reference: https://code.devsnc.com/dev/glide/blob/df476c36db29674d8e9e63847294c0fca0e3f8de/glide-condition-builder/src/main/java/com/glide/variables/VariableGlideRecord.java#L25\n\tconst EXCLUDED_VARIABLE_TYPES = '11,12,19,20,24';\n\tconst EXCLUDED_VARIABLE_TYPES_QUERY = `typeNOT IN${EXCLUDED_VARIABLE_TYPES}`;\n\n\t// filtering out empty strings for the query\n\treturn [EXCLUDED_VARIABLE_TYPES_QUERY, encodedQuery, additionalQueryString]\n\t\t.filter((queryString) => queryString)\n\t\t.join('^');\n};\n","import { t } from 'sn-translate';\n\nexport const amountLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Amount',\n\tcomment: 'Label for a field that accepts a numeric amount',\n});\nexport const dateValueLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Date value',\n\tcomment: 'Label for a date input field',\n});\nexport const defaultFieldLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Value',\n\tcomment: 'Default label for a value input field',\n});\nexport const defaultInputPlaceholder = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Enter value',\n\tcomment: 'Default placeholder text for a value input field',\n});\nexport const defaultNumberInputPlaceholder = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Enter number',\n\tcomment: 'Placeholder text for a number input field',\n});\nexport const DYNAMIC_ATTRIBUTE_STORE = 'dynamic_attribute_store';\nexport const ITEM = 'ITEM';\nexport const noneDisplayLabel = t('--None--');\nexport const VARIABLES = 'variables';\n\n// Common properties between thwe sn-value-editor-reference and sn-value-editor-choice-dynamic\nexport const SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES = {\n\t/**\n\t * Value for input\n\t */\n\teditorValue: {\n\t\tschema: { type: 'object' },\n\t\tdefault: {\n\t\t\tinternalValue: '',\n\t\t\tdisplayValue: '',\n\t\t},\n\t},\n\t/**\n\t * The field name\n\t */\n\tfieldName: { schema: { type: 'string' } },\n\t/**\n\t * Label text that displays on top of the component\n\t */\n\tlabel: {\n\t\tschema: { type: 'string' },\n\t\tdefault: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Value',\n\t\t\tcomment: 'Default label for a value input field',\n\t\t}),\n\t},\n\t/**\n\t * Metadata cache\n\t */\n\tmetadataCache: {\n\t\tschema: { type: 'object' },\n\t\tdefault: {},\n\t},\n\t/**\n\t * The source where the data is coming from. Typically the table name\n\t */\n\tsource: { schema: { type: 'string' } },\n};\n\n/**\n * List of items that should not be shown in group by dot walk\n * Also includes:\n * - dynamic attribute store\n * - journal input\n * - journal list\n * (looks like these are filtered in the backend)\n */\nexport const INVALID_GROUP_BY_TYPES = [\n\t'currency2', // FX Currency\n\t'data_array',\n\t'glide_date_time',\n\t'html',\n\t'json',\n\t'password',\n\t'password2',\n\t'translated_html',\n\t'user_input',\n\t'xml',\n\t'xml',\n];\n","import { klona } from 'klona';\nimport get from 'lodash/get';\n\nimport { KEYWORDS_INTERNAL_VALUE } from '../sn-condition-builder/constants';\nimport { isDynamicCategory as isDynamicCategoryFn } from '../sn-dot-walk-popover/utils';\n\nimport { INVALID_GROUP_BY_TYPES, ITEM } from './constants';\n\n/**\n * Returns panel items that are not keywords.\n * @param {Object} props - The parameters required to execute functions in the transform functions array.\n * @param {Object} props.panelItem - The panel item to be transformed.\n * @returns {Object} - An updated panel item.\n */\nexport const filterKeywordsFn = (props = {}) => {\n\tconst { panelItem } = props;\n\n\tif (panelItem === null) {\n\t\treturn null;\n\t}\n\n\tconst newPanelItem = { ...panelItem };\n\n\tif (panelItem.internalValue !== KEYWORDS_INTERNAL_VALUE) {\n\t\treturn newPanelItem;\n\t}\n\n\treturn null;\n};\n\n/**\n * Returns panel items with valid group by types\n * @param {Object} props - The parameters required to execute functions in the transform functions array.\n * @param {Object} props.panelItem - The panel item to be transformed.\n * @returns {Object} - A panel item if the type is supported in group by, else null\n */\nexport const filterInvalidGroupByTypesFn = (props = {}) => {\n\tconst { panelItem, table } = props;\n\n\tif (panelItem === null) {\n\t\treturn null;\n\t}\n\n\tconst fieldType = get(table, `${panelItem.internalValue}.type`);\n\tif (fieldType && INVALID_GROUP_BY_TYPES.includes(fieldType)) {\n\t\treturn null;\n\t}\n\n\treturn { ...panelItem };\n};\n\n/**\n * This function checks if the internal type and field type are the same or compatible. This is used to filter the\n * panel items in the dot walk in the value editor. We want to show string options when a choice or dynamic schema choice\n * is selected and vice versa.\n * @param {*} internalType the type of the panel item\n * @param {*} fieldType the type of the field that is selected\n * @returns true if the types are the same or compatible\n */\nconst isSameType = (internalType, fieldType) => {\n\tconst compatibleTypes = [\n\t\t['dynamic_attribute_choice', 'string'],\n\t\t['string', 'dynamic_attribute_choice'],\n\t\t['choice', 'dynamic_attribute_choice'],\n\t\t['dynamic_attribute_choice', 'choice'],\n\t\t['string', 'choice'],\n\t\t['choice', 'string'],\n\t];\n\n\t// Check if the types are compatible\n\tconst isCompatible = compatibleTypes.some(\n\t\t([type1, type2]) => internalType === type1 && fieldType === type2\n\t);\n\n\t// Return true if they are compatible or the same\n\treturn isCompatible || internalType === fieldType;\n};\n\n/**\n * This function takes in a group of parameters needed to execute it. After doing so, it sets the panel item to false if it is a reference and the\n * types are different. Otherwise, it returns out fields that are same type or not selectable\n * @param {Object} props - The parameters required to execute functions in the transform functions array.\n * @param {Object} props.table - The table metadata.\n * @param {Object} props.panelItem - The panel item to be transformed.\n * @returns {Object} - An updated panel item.\n */\nexport const filterDotwalkFn = (props = {}) => {\n\tconst { table, panelItem, fieldType } = props;\n\n\tif (panelItem === null) {\n\t\treturn null;\n\t}\n\n\tconst newPanelItem = { ...panelItem };\n\tconst { internalValue: panelItemInternalValue } = newPanelItem;\n\n\tconst panelItemMetadata = get(table, panelItemInternalValue, null);\n\n\tconst internalType = get(panelItemMetadata, 'type');\n\tconst isReference = get(panelItemMetadata, 'referenceTable', false);\n\tconst isDynamicCategory = isDynamicCategoryFn(panelItemInternalValue);\n\tconst sameType = isSameType(internalType, fieldType);\n\n\t// If the panelDefinition is a reference or not the same type as the selected field, remove the panel if it is an item, or make it not selectable since we know it is dot-walkable (itemType is either 'ITEM' or 'DOTWALKABLE')\n\tif (isReference && !sameType) {\n\t\tif (newPanelItem.itemType === ITEM) {\n\t\t\treturn null;\n\t\t}\n\t\tnewPanelItem.selectable = false;\n\t}\n\n\t// If the panelDefinition is the same type as the selected field, or is not selectable (which means it is dotwalkable - see above) then push it to the return\n\tif (isDynamicCategory || sameType || !newPanelItem.selectable) {\n\t\treturn newPanelItem;\n\t}\n\n\treturn null;\n};\n\n/**\n * Filters and transforms panel definitions based on table metadata and specified transform functions.\n * Note: This function applies asymmetric filtering behavior:\n * - For dynamic attribute choices from data stores, items without metadata are included\n * - For regular panels, only items with corresponding metadata are included\n *\n * @param {Object} panelDefinitions - Panel definitions object containing properties and configuration.\n * @param {Object} tableMetadata - Table metadata used for filtering and transformation.\n * @param {string} fieldType - The type of the field being processed.\n * @param {Array} transformFunctions - Functions to apply to each panel item.\n * @returns {Object} Filtered and transformed panel definitions.\n */\nexport const getFilteredPanelDefinitions = ({\n\tpanelDefinitions,\n\ttableMetadata,\n\tfieldType,\n\ttransformFunctions,\n}) => {\n\tconst filteredPanelDefinitions = {};\n\n\tif (!tableMetadata || !panelDefinitions) {\n\t\treturn filteredPanelDefinitions;\n\t}\n\n\tconst clonedPanelDefinitions = klona(panelDefinitions);\n\n\tconst applyTransformFns = (panelItems, metadata) => {\n\t\tif (!panelItems || !panelItems.length) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst filteredPanelItems = [];\n\n\t\tpanelItems.forEach((panelItem) => {\n\t\t\tlet newPanelItem = panelItem;\n\n\t\t\t// keep updating the newPanelItem based on each transform function to make sure its valid\n\t\t\tfor (const fn of transformFunctions) {\n\t\t\t\tnewPanelItem = fn({\n\t\t\t\t\ttable: metadata,\n\t\t\t\t\tpanelItem: newPanelItem,\n\t\t\t\t\tfieldType,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (newPanelItem) {\n\t\t\t\tfilteredPanelItems.push(newPanelItem);\n\t\t\t}\n\t\t});\n\n\t\treturn filteredPanelItems;\n\t};\n\n\tObject.entries(clonedPanelDefinitions).forEach(\n\t\t([tableName, panelDefinition]) => {\n\t\t\tconst metadata = tableMetadata[tableName];\n\n\t\t\tif (!panelDefinition) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Normal route, just filter the panel items normally. We need to do this to make it backwards compatible..\n\t\t\tif (Array.isArray(panelDefinition)) {\n\t\t\t\tfilteredPanelDefinitions[tableName] = applyTransformFns(\n\t\t\t\t\tpanelDefinition,\n\t\t\t\t\tmetadata\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Updated route in Z, no search results\n\t\t\telse if (panelDefinition.items) {\n\t\t\t\tfilteredPanelDefinitions[tableName] = {\n\t\t\t\t\titems: applyTransformFns(panelDefinition.items, metadata),\n\t\t\t\t};\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Updated route in Z with search results\n\t\t\t// Load more panel definition route. Loop through each search result and build it up\n\t\t\tconst searchResults = get(panelDefinition, 'searchResults');\n\n\t\t\tif (!searchResults) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tObject.keys(searchResults).forEach((key) => {\n\t\t\t\tconst panelItems = get(searchResults, `${key}.items`);\n\t\t\t\tsearchResults[key].items = applyTransformFns(\n\t\t\t\t\tpanelItems,\n\t\t\t\t\tmetadata\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tfilteredPanelDefinitions[tableName] = panelDefinition;\n\t\t}\n\t);\n\n\treturn filteredPanelDefinitions;\n};\n\n/**\n * Updates the displayValue with the internalValue when the internalValue is a javascript string\n * @param {Object} state\n * @returns {Object}\n */\nexport const updateEditorDisplayValueWithInternalValue = (state) => {\n\tif (\n\t\tstate.properties?.editorValue?.internalValue?.startsWith('javascript:')\n\t) {\n\t\tconst {\n\t\t\tproperties: {\n\t\t\t\teditorValue: { internalValue },\n\t\t\t},\n\t\t} = state;\n\n\t\treturn {\n\t\t\t...state,\n\t\t\tproperties: {\n\t\t\t\t...state.properties,\n\t\t\t\teditorValue: {\n\t\t\t\t\tinternalValue: internalValue,\n\t\t\t\t\tdisplayValue: internalValue,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\treturn state;\n};\n","import get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport '../sn-dot-walk-popover';\nimport '../../../../example/demo/stories/customFieldDemo/sn-field-override-example';\nimport { COMPONENT_LOADED_STATUS } from '../../behaviors/componentLoaderBehavior';\nimport '../sn-condition-builder-row-messages';\nimport {\n\tisVariableTable,\n\tisVariableField,\n} from '../sn-condition-builder-variables-row/utils';\nimport {\n\tgetFilteredPanelDefinitions,\n\tfilterKeywordsFn,\n} from '../sn-value-editor-commons/utils';\n\nconst fieldLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Field',\n\tcomment: 'Label for the field selection input in the condition builder',\n});\nconst variablesDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Variables',\n\tcomment: 'Display value for the \"Variables\" option in the field selector',\n});\nconst questionsDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Questions',\n\tcomment:\n\t\t'Display value for the \"Questions\" option in the field selector, referring to variable questions',\n});\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\thasInitialFocus,\n\t\t\tmessages,\n\t\t\tpanelDefinitions,\n\t\t\treadOnly,\n\t\t\tselectedField: { displayValue, internalValue, dotwalkPath, type },\n\t\t\tselectedOperator,\n\t\t\tshowKeywords,\n\t\t\tsource,\n\t\t\tmetadataCache,\n\t\t\tcomponentTag,\n\t\t\tmacroponentSysId,\n\t\t\tshowLabels,\n\t\t},\n\t\tbehaviors: {\n\t\t\tcomponentLoaderBehavior: { fetchedComponents },\n\t\t},\n\t} = state;\n\n\tif (componentTag || macroponentSysId) {\n\t\tconst fetchedComponent = get(\n\t\t\tfetchedComponents,\n\t\t\t`components.${componentTag}`,\n\t\t\tget(fetchedComponents, `macroponents.${macroponentSysId}`, {})\n\t\t);\n\n\t\tif (fetchedComponent.status === COMPONENT_LOADED_STATUS.LOADING) {\n\t\t\treturn (\n\t\t\t\t<div className=\"now-condition-builder-field-wrapper-loader\">\n\t\t\t\t\t<now-loader />\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t}\n\n\t\tif (fetchedComponent.status === COMPONENT_LOADED_STATUS.ERROR) {\n\t\t\treturn (\n\t\t\t\t<div className=\"now-condition-builder-field-wrapper-error\">\n\t\t\t\t\t<div className=\"text-container\">\n\t\t\t\t\t\t<now-icon icon=\"circle-info-fill\" />\n\t\t\t\t\t\t<p>{t('Component not found')}<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t}\n\n\t\tif (isEmpty(fetchedComponent) || !fetchedComponent.customTagName) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst TAG_NAME = fetchedComponent.customTagName;\n\t\tconst props = {\n\t\t\tbare: true,\n\t\t\tdisplayValue,\n\t\t\tinternalValue,\n\t\t\tfieldType: type,\n\t\t\tmetadataCache,\n\t\t\tpanelDefinitions,\n\t\t\treadOnly: readOnly,\n\t\t\tselectedOperator,\n\t\t\tshowLabels,\n\t\t\tsource,\n\t\t};\n\t\treturn <TAG_NAME {...props} />;\n\t}\n\n\tlet newDisplayValue = displayValue;\n\tlet newDotwalkPath = dotwalkPath;\n\n\tif (isVariableField(internalValue)) {\n\t\t// display value is showing the dot walk path but in updated flow we only display variables/question\n\t\tnewDisplayValue = isVariableTable(source)\n\t\t\t? variablesDisplayValue\n\t\t\t: questionsDisplayValue;\n\n\t\t// we have to modify the path so that it doesn't move the dotwalk to the questions\n\t\tnewDotwalkPath = [\n\t\t\t{ internalValue: 'variables', reference: null, source },\n\t\t];\n\t}\n\n\tlet filteredPanelDefinitions = panelDefinitions;\n\n\tconst fieldType = get(\n\t\tmetadataCache,\n\t\t`tableMetadata.${source}.${internalValue}.type`,\n\t\t''\n\t);\n\n\tconst tableMetadata = get(metadataCache, `tableMetadata`, '');\n\n\tif (!showKeywords && !isEmpty(panelDefinitions)) {\n\t\tfilteredPanelDefinitions = getFilteredPanelDefinitions({\n\t\t\tpanelDefinitions,\n\t\t\ttableMetadata,\n\t\t\tfieldType,\n\t\t\ttransformFunctions: [filterKeywordsFn],\n\t\t});\n\t}\n\n\treturn (\n\t\t<div className=\"now-condition-builder-field-wrapper\">\n\t\t\t<sn-dot-walk-popover\n\t\t\t\tlabel={fieldLabel}\n\t\t\t\tdisplayValue={newDisplayValue}\n\t\t\t\tpanelDefinitions={filteredPanelDefinitions}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\tsource={source}\n\t\t\t\tfieldInternalValue={internalValue}\n\t\t\t\tdotwalkPath={newDotwalkPath}\n\t\t\t\thasInitialFocus={hasInitialFocus}\n\t\t\t\tmessages={messages}\n\t\t\t/>\n\t\t\t{messages.length ? (\n\t\t\t\t<sn-condition-builder-row-messages\n\t\t\t\t\tdata-testId=\"field-messages\"\n\t\t\t\t\tmessages={messages}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport componentLoaderBehavior from '../../behaviors/componentLoaderBehavior';\n\nimport actionHandlers from './actions';\nimport { NOW_CONDITION_BUILDER_FIELD_SELECT } from './actionTypes';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('now-condition-builder-field-wrapper', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tcomponentTag: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tmacroponentSysId: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tmetadataCache: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tselectedField: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tshowKeywords: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\tsource: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\thasInitialFocus: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tstyles,\n\tactionHandlers,\n\tbehaviors: [componentLoaderBehavior],\n\tdispatches: {\n\t\t[NOW_CONDITION_BUILDER_FIELD_SELECT]: {},\n\t},\n});\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nimport { NOW_SELECT_SELECTED_ITEM_SET } from '../sn-value-editor-commons/actionTypes';\n\nimport { NOW_CONDITION_BUILDER_OPERATOR_SELECT } from './actionTypes';\nimport { getOperatorItems } from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst handleOperatorClick = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { item },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_CONDITION_BUILDER_OPERATOR_SELECT, {\n\t\tselectedOperator: item,\n\t});\n};\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tfieldMetadata,\n\t\t\tfieldOperatorRelationship,\n\t\t\toperatorsToExclude,\n\t\t\tselectedField,\n\t\t\tselectedOperator,\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst metadataExcludedOperators =\n\t\tget(\n\t\t\tfieldMetadata,\n\t\t\t`${selectedField?.internalValue}.excludedOperators`\n\t\t) || [];\n\n\tconst excludedOperators = [\n\t\t...metadataExcludedOperators,\n\t\t...(Array.isArray(operatorsToExclude) ? operatorsToExclude : []),\n\t];\n\n\tconst extendedOperators =\n\t\tget(\n\t\t\tfieldMetadata,\n\t\t\t`${selectedField?.internalValue}.extendedOperators`\n\t\t) || [];\n\n\tconst operators = getOperatorItems({\n\t\texcludedOperators,\n\t\textendedOperators,\n\t\tfieldOperatorRelationship,\n\t\tselectedOperator,\n\t\ttype: selectedField?.type,\n\t});\n\n\tupdateState({\n\t\toperators,\n\t});\n};\n\nconst handlePropertyChange = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\tif (\n\t\t[\n\t\t\t'fieldOperatorRelationship',\n\t\t\t'fieldMetadata',\n\t\t\t'selectedField',\n\t\t\t'selectedOperator',\n\t\t].includes(name)\n\t) {\n\t\thandleBootstrap(coeffects);\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChange,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: handleOperatorClick,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import classnames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport '@servicenow/now-select';\nimport { ICONS } from '../sn-condition-builder-row-messages/constants';\n\nconst selectOperatorLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Select operator',\n\tcomment: 'Accessibility label for an operator selection dropdown',\n});\nconst operatorLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Operator',\n\tcomment:\n\t\t'Label for the operator selection dropdown in the condition builder',\n});\n\nconst view = (state) => {\n\tconst {\n\t\toperators,\n\t\tproperties: {\n\t\t\tmessages,\n\t\t\treadOnly,\n\t\t\tselectedOperator,\n\t\t\tselectedField,\n\t\t\tshowLabels,\n\t\t},\n\t} = state;\n\n\tconst containerClassnames = classnames(\n\t\t'now-condition-builder-operator-wrapper',\n\t\t{\n\t\t\t'no-field-labels': !showLabels,\n\t\t}\n\t);\n\n\tconst messagesWithIcon = messages?.map((message) => ({\n\t\t...message,\n\t\ticon: ICONS[message.status],\n\t}));\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<now-select\n\t\t\t\tconfig-aria={{\n\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t'aria-label': selectOperatorLabel,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\titems={operators}\n\t\t\t\tlabel={showLabels ? operatorLabel : null}\n\t\t\t\tmanageSelectedItem\n\t\t\t\tmessages={messagesWithIcon}\n\t\t\t\tselectedItem={selectedOperator?.internalValue}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tdisabled={!selectedField?.internalValue}\n\t\t\t\treadonly={readOnly}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport { NOW_CONDITION_BUILDER_OPERATOR_SELECT } from './actionTypes';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('now-condition-builder-operator-wrapper', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\toperators: [],\n\t},\n\tproperties: {\n\t\tfieldOperatorRelationship: {\n\t\t\tdefault: {},\n\t\t\ttype: 'object',\n\t\t},\n\t\tfieldMetadata: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array',\n\t\t},\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array',\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tselectedField: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tselectedOperator: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\toperatorsToExclude: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t},\n\tstyles,\n\tactionHandlers,\n\tdispatches: {\n\t\t[NOW_CONDITION_BUILDER_OPERATOR_SELECT]: {},\n\t},\n});\n","import { t } from 'sn-translate';\n\nexport const EMPTY_VALUE_INTERNAL_VALUE = t('(Empty)');\nexport const ENTER_FIRST_VALUE_PLACEHOLDER = t('Enter value 1');\nexport const ENTER_SECOND_VALUE_PLACEHOLDER = t('Enter value 2');\nexport const SEPARATOR = t(' and ');\n\nexport const CHOICE_END_LABEL = t('End Value');\nexport const CHOICE_START_LABEL = t('Start Value');\nexport const CURRENCY_END_LABEL = t('End Amount');\nexport const CURRENCY_START_LABEL = t('Start Amount');\nexport const DATE_END_LABEL = t('End Date');\nexport const DATE_START_LABEL = t('Start Date');\nexport const DURATION_END_LABEL = t('End Duration');\nexport const DURATION_START_LABEL = t('Start Duration');\nexport const NUMBER_END_LABEL = t('End Number');\nexport const NUMBER_START_LABEL = t('Start Number');\nexport const SELECTED_OPERATOR_BETWEEN = t('BETWEEN');\nexport const STRING_END_LABEL = t('End Value');\nexport const STRING_START_LABEL = t('Start Value');\nexport const TYPE_BEFORE = 'before';\nexport const TYPE_BETWEEN = 'between';\n\nexport const SN_VALUE_EDITOR_BETWEEN_FIELD_VALUE_SET =\n\t'SN_VALUE_EDITOR_BETWEEN_FIELD#VALUE_SET';\n","import { actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nimport { NOW_PREDICATE_BUILDER_FETCH_COMPONENT } from '../../behaviors/componentLoaderBehavior/constants';\nimport { SN_VALUE_EDITOR_BETWEEN_FIELD_VALUE_SET } from '../sn-value-editor-between-field/constants';\nimport { SN_VALUE_EDITOR_VALUE_SET } from '../sn-value-editor-commons/actionTypes';\n\nimport { SN_CONDITION_BUILDER_VALUE_EDITOR_VALUE_SET } from './actionTypes';\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: { componentTag, macroponentSysId },\n\t\tstate: {\n\t\t\tbehaviors: {\n\t\t\t\tcomponentLoaderBehavior: { fetchedComponents },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (componentTag && !fetchedComponents.components[componentTag]) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tcomponentTag,\n\t\t});\n\t\treturn;\n\t} else if (\n\t\tmacroponentSysId &&\n\t\t!fetchedComponents.macroponents[macroponentSysId]\n\t) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tmacroponentSysId,\n\t\t});\n\t}\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (['componentTag', 'macroponentSysId'].includes(name)) {\n\t\thandleBootstrap(coeffects);\n\t}\n};\n\nconst handleValueEditorValueSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tvalue: {\n\t\t\t\t\tinternalValue,\n\t\t\t\t\tdisplayValue,\n\t\t\t\t\tdotwalkPath,\n\t\t\t\t\tdirtyMetadata,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst newDirtyMetadata = {\n\t\tisBeforeDirty: dirtyMetadata?.isBeforeDirty,\n\t\tisAfterDirty: dirtyMetadata?.isAfterDirty,\n\t\tisDirty: true,\n\t};\n\n\tdispatch(SN_CONDITION_BUILDER_VALUE_EDITOR_VALUE_SET, {\n\t\tinternalValue,\n\t\tdisplayValue,\n\t\t...(!!dotwalkPath && { dotwalkPath }), // adds dotwalk path if it exists\n\t\tdirtyMetadata: newDirtyMetadata,\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[SN_VALUE_EDITOR_VALUE_SET]: {\n\t\teffect: handleValueEditorValueSet,\n\t\tstopPropagation: true,\n\t},\n\t[SN_VALUE_EDITOR_BETWEEN_FIELD_VALUE_SET]: {\n\t\teffect: handleValueEditorValueSet,\n\t\tstopPropagation: true,\n\t},\n};\n","import '@servicenow/now-loader';\nimport '@servicenow/now-icon';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport last from 'lodash/last';\nimport { t } from 'sn-translate';\n\nimport { COMPONENT_LOADED_STATUS } from '../../behaviors/componentLoaderBehavior';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcomponentTag,\n\t\t\tdir,\n\t\t\teditorValue,\n\t\t\tinitialSource,\n\t\t\tmacroponentSysId,\n\t\t\tmessages,\n\t\t\tmetadataCache,\n\t\t\tpanelDefinitions,\n\t\t\treadOnly,\n\t\t\tselectedOperator,\n\t\t\tselectedField,\n\t\t\tshowLabels,\n\t\t\tshowReferenceLookup,\n\t\t\tsource,\n\t\t},\n\t\tbehaviors: {\n\t\t\tcomponentLoaderBehavior: { fetchedComponents },\n\t\t},\n\t} = state;\n\n\tconst fetchedComponent = get(\n\t\tfetchedComponents,\n\t\t`components.${componentTag}`,\n\t\tget(fetchedComponents, `macroponents.${macroponentSysId}`, {})\n\t);\n\n\tif (fetchedComponent.status === COMPONENT_LOADED_STATUS.LOADING) {\n\t\treturn (\n\t\t\t<div className=\"now-condition-builder-value-editor-wrapper-loader\">\n\t\t\t\t<now-loader />\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\tif (fetchedComponent.status === COMPONENT_LOADED_STATUS.ERROR) {\n\t\treturn (\n\t\t\t<div className=\"now-condition-builder-value-editor-wrapper-error\">\n\t\t\t\t<div className=\"text-container\">\n\t\t\t\t\t<now-icon icon=\"circle-info-fill\" />\n\t\t\t\t\t<p>{t('Component not found')}<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\tif (isEmpty(fetchedComponent) || !fetchedComponent.customTagName) {\n\t\treturn null;\n\t}\n\n\tconst TAG_NAME = fetchedComponent.customTagName;\n\n\tconst { internalValue, type } = selectedField;\n\tconst fieldName = last(internalValue?.split('.'));\n\tconst props = {\n\t\tdir,\n\t\teditorValue,\n\t\tfieldName,\n\t\tfieldType: type,\n\t\tinitialSource,\n\t\tmessages,\n\t\tmetadataCache,\n\t\tpanelDefinitions,\n\t\treadOnly: readOnly,\n\t\tselectedOperator,\n\t\tshowLabels,\n\t\tshowReferenceLookup,\n\t\tselectedField,\n\t\tsource,\n\t};\n\n\treturn (\n\t\t<div className=\"now-condition-builder-value-editor-wrapper\">\n\t\t\t<TAG_NAME data-testId=\"value-editor\" {...props} />\n\t\t\t{messages?.length ? (\n\t\t\t\t<sn-condition-builder-row-messages\n\t\t\t\t\tdata-testId=\"warning-messages\"\n\t\t\t\t\tmessages={messages}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport componentLoaderBehavior from '../../behaviors/componentLoaderBehavior';\n\nimport { actionHandlers } from './actions';\nimport { SN_CONDITION_BUILDER_VALUE_EDITOR_VALUE_SET } from './actionTypes';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('now-condition-builder-value-editor-wrapper', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\tcomponentTag: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\teditorValue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tinitialSource: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tmacroponentSysId: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tmetadataCache: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tselectedField: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tselectedOperator: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\tshowReferenceLookup: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\tsource: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tactionHandlers,\n\tbehaviors: [componentLoaderBehavior, { behavior: rtlBehavior }],\n\tdispatches: {\n\t\t[SN_CONDITION_BUILDER_VALUE_EDITOR_VALUE_SET]: {},\n\t},\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","export const SN_RECORD_LOOKUP_ADDITIONAL_FIELDS_SET =\n\t'SN_RECORD_LOOKUP#ADDITIONAL_FIELDS_SET';\nexport const SN_RECORD_LOOKUP_BUTTON_ICONIC_CLICKED =\n\t'SN_RECORD_LOOKUP#BUTTON_ICONIC_CLICKED';\nexport const SN_RECORD_LOOKUP_FETCH_SUCCESS = 'SN_RECORD_LOOKUP#FETCH_SUCCESS';\nexport const SN_RECORD_LOOKUP_VALUE_CHANGED = 'SN_RECORD_LOOKUP#VALUE_CHANGED';\n","export const VARIABLE_SET_IDS_FETCH_REQUEST = 'VARIABLE_SET_IDS_FETCH_REQUEST';\nexport const VARIABLE_SET_IDS_FETCH_REQUEST_SUCCESS =\n\t'VARIABLE_SET_IDS_FETCH_REQUEST_SUCCESS';\nexport const VARIABLE_SET_IDS_FETCH_REQUEST_FAILURE =\n\t'VARIABLE_SET_IDS_FETCH_REQUEST_FAILURE';\n\nexport const CATALOG_ITEM_ID_SEARCH_REQUEST = 'CATALOG_ITEM_ID_SEARCH_REQUEST';\nexport const CATALOG_ITEM_ID_SEARCH_REQUEST_SUCCESS =\n\t'CATALOG_ITEM_ID_SEARCH_REQUEST_SUCCESS';\nexport const CATALOG_ITEM_ID_SEARCH_REQUEST_FAILURE =\n\t'CATALOG_ITEM_ID_SEARCH_REQUEST_FAILURE';\n","export const searchQuery = `query ($table: String!, $field: String!, $conditions: String, $paginationLimit: Int) {\n    GlideLayout_Query {\n          listLayout(\n              listTableName: $table,\n              listColumnNames: $field\n          ) {\n              _graphql(\n                  queryGeneratorArguments: [{\n                      name: \"fields\",\n                      value: \"value\"\n                  }]\n              ) {\n                  _result(\n                      variables: [\n                          { name: \"table\", value: $table },\n                          { name: \"queryConditions\", value: $conditions }\n                      ],\n                      pagination: {\n                          limit: $paginationLimit,\n                      }\n                  )\n              }\n      }\n    }\n  }`;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport get from 'lodash/get';\nimport { getProperty } from 'sn-uxpage-presource';\n\nimport { NOW_CONDITION_BUILDER_FIELD_SELECT } from '../now-condition-builder-field-wrapper/actionTypes';\nimport {\n\tSN_CONDITIONS_ALTERNATIVE_VIEW_REQUESTED,\n\tSN_CONDITIONS_CONDITION_UPDATE_REQUESTED,\n} from '../sn-conditions/actionTypes';\nimport {\n\tSN_RECORD_LOOKUP_ADDITIONAL_FIELDS_SET,\n\tSN_RECORD_LOOKUP_BUTTON_ICONIC_CLICKED,\n\tSN_RECORD_LOOKUP_VALUE_CHANGED,\n} from '../sn-record-lookup/actionTypes';\n\nimport {\n\tCATALOG_ITEM_ID_SEARCH_REQUEST,\n\tCATALOG_ITEM_ID_SEARCH_REQUEST_SUCCESS,\n\tCATALOG_ITEM_ID_SEARCH_REQUEST_FAILURE,\n\tVARIABLE_SET_IDS_FETCH_REQUEST,\n\tVARIABLE_SET_IDS_FETCH_REQUEST_SUCCESS,\n\tVARIABLE_SET_IDS_FETCH_REQUEST_FAILURE,\n} from './actionTypes';\nimport {\n\tITEM_OPTION_NEW_TABLE,\n\titemFieldCategoryItemDisplayValueSourcePath,\n\tvariableFieldCategoryItemDisplayValueSourcePath,\n\tcategoryItemDisplayValueTargetPath,\n\titemFieldCategoryItemInternalValueSourcePath,\n\tvariableFieldCategoryItemInternalValueSourcePath,\n\tcategoryItemInternalValueTargetPath,\n\tvariableDisplayValueSourcePath,\n\tvariableDisplayValueTargetPath,\n\tvariableInternalValueSourcePath,\n\tvariableInternalValueTargetPath,\n\trawVariableTypeSourcePath,\n\trawVariableTypeTargetPath,\n\tlistTableSourcePath,\n\tlistTableTargetPath,\n} from './constants';\nimport { searchQuery } from './query';\nimport {\n\tgetCatalogItemDisplayValue,\n\tgetVariableType,\n\tgetVariableSetIdsCondition,\n\tgetCatalogItemTable,\n\tgetVariablesQueryString,\n} from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst variableSetIdResultsLimit = getProperty(\n\t'glide.ui.conditionBuilder.variableSetIdResultsLimit',\n\t100\n);\n\nconst fetchVariableSetIds = createGraphQLEffect(searchQuery, {\n\tvariableList: ['table', 'field', 'conditions', 'paginationLimit'],\n\tsuccessActionType: VARIABLE_SET_IDS_FETCH_REQUEST_SUCCESS,\n\terrorActionType: VARIABLE_SET_IDS_FETCH_REQUEST_FAILURE,\n});\n\nconst searchCatalogItemId = createGraphQLEffect(searchQuery, {\n\tvariableList: ['table', 'field', 'conditions', 'paginationLimit'],\n\tsuccessActionType: CATALOG_ITEM_ID_SEARCH_REQUEST_SUCCESS,\n\terrorActionType: CATALOG_ITEM_ID_SEARCH_REQUEST_FAILURE,\n});\n\nconst dispatchVariableSetIdRequest = (dispatch, categoryItemId) => {\n\tdispatch(VARIABLE_SET_IDS_FETCH_REQUEST, {\n\t\tconditions: `sc_cat_item=${categoryItemId}`,\n\t\tfield: 'variable_set',\n\t\tpaginationLimit: variableSetIdResultsLimit,\n\t\ttable: 'io_set_item',\n\t});\n};\n\nconst handleReferenceFieldValueChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tvalue: { internalValue, displayValue },\n\t\t\t\tsource,\n\t\t\t},\n\t\t},\n\t\tstate: {\n\t\t\tvariableFieldsMetadata,\n\t\t\tproperties: { conditionId },\n\t\t},\n\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (source === 'item-field') {\n\t\tconst valueToModelPaths = [\n\t\t\t{\n\t\t\t\tvalue: displayValue, // catalog item display value ie MacbookPro\n\t\t\t\ttargetPath: categoryItemDisplayValueTargetPath,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: internalValue, // catalog item internal value is a sysId\n\t\t\t\ttargetPath: categoryItemInternalValueTargetPath,\n\t\t\t},\n\t\t];\n\n\t\t// if no catalog item internal value this means we cleared out the input so we clear out all values for variables/questions\n\t\tif (!internalValue) {\n\t\t\tvalueToModelPaths.push(\n\t\t\t\t{\n\t\t\t\t\tvalue: '',\n\t\t\t\t\ttargetPath: variableDisplayValueTargetPath,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: '',\n\t\t\t\t\ttargetPath: variableInternalValueTargetPath,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: '',\n\t\t\t\t\ttargetPath: rawVariableTypeTargetPath,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: '',\n\t\t\t\t\ttargetPath: listTableTargetPath,\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tdispatch(SN_CONDITIONS_CONDITION_UPDATE_REQUESTED, {\n\t\t\tconditionId,\n\t\t\tvalueToModelPaths,\n\t\t});\n\t} else if (source === 'variable-field') {\n\t\tconst variableData = get(variableFieldsMetadata, [internalValue], {});\n\n\t\tconst baseType = get(variableData, 'type.value');\n\t\t// list table is needed to perform logic on which type to return for glide_list only\n\t\tconst listTable = get(variableData, 'list_table.value');\n\n\t\tconst itemInternalValue = get(variableData, 'cat_item.value');\n\t\tconst itemDisplayValue = get(variableData, 'cat_item.displayValue');\n\n\t\tconst valueToModelPaths = [\n\t\t\t{\n\t\t\t\tvalue: displayValue, // variable/question display value\n\t\t\t\ttargetPath: variableDisplayValueTargetPath,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: internalValue, // variable/question internal value sysId\n\t\t\t\ttargetPath: variableInternalValueTargetPath,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: baseType,\n\t\t\t\ttargetPath: rawVariableTypeTargetPath,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: listTable,\n\t\t\t\ttargetPath: listTableTargetPath,\n\t\t\t},\n\t\t];\n\n\t\t// if no internalValue normally means it was deleted from input\n\t\tif (!internalValue) {\n\t\t\tdispatch(SN_CONDITIONS_CONDITION_UPDATE_REQUESTED, {\n\t\t\t\tconditionId,\n\t\t\t\tvalueToModelPaths,\n\t\t\t});\n\t\t\t// if were not clearing out the input we want to update values for catalog item\n\t\t} else {\n\t\t\tvalueToModelPaths.push(\n\t\t\t\t{\n\t\t\t\t\tvalue: itemDisplayValue,\n\t\t\t\t\ttargetPath: categoryItemDisplayValueTargetPath,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: itemInternalValue,\n\t\t\t\t\ttargetPath: categoryItemInternalValueTargetPath,\n\t\t\t\t}\n\t\t\t);\n\t\t\tdispatch(SN_CONDITIONS_CONDITION_UPDATE_REQUESTED, {\n\t\t\t\tconditionId,\n\t\t\t\tvalueToModelPaths,\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleButtonIconicClicked = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { refElement, source },\n\t\t},\n\t\tstate: {\n\t\t\tadditionalQueryString,\n\t\t\tproperties: { tableName, conditionId, variablesSource },\n\t\t},\n\t} = coeffects;\n\n\tconst { encodedQuery = '' } = variablesSource;\n\n\tconst isItemField = source === 'item-field';\n\n\tconst categoryItemDisplayValueSourcePath = isItemField\n\t\t? itemFieldCategoryItemDisplayValueSourcePath\n\t\t: variableFieldCategoryItemDisplayValueSourcePath;\n\n\tconst categoryItemInternalValueSourcePath = isItemField\n\t\t? itemFieldCategoryItemInternalValueSourcePath\n\t\t: variableFieldCategoryItemInternalValueSourcePath;\n\n\tconst itemActionModelPaths = [\n\t\t{\n\t\t\tsourcePath: categoryItemDisplayValueSourcePath,\n\t\t\ttargetPath: categoryItemDisplayValueTargetPath,\n\t\t},\n\t\t{\n\t\t\tsourcePath: categoryItemInternalValueSourcePath,\n\t\t\ttargetPath: categoryItemInternalValueTargetPath,\n\t\t},\n\t];\n\n\tconst variableActionModelPaths = [\n\t\t{\n\t\t\tsourcePath: variableDisplayValueSourcePath,\n\t\t\ttargetPath: variableDisplayValueTargetPath,\n\t\t},\n\t\t{\n\t\t\tsourcePath: variableInternalValueSourcePath,\n\t\t\ttargetPath: variableInternalValueTargetPath,\n\t\t},\n\t\t{\n\t\t\tsourcePath: rawVariableTypeSourcePath,\n\t\t\ttargetPath: rawVariableTypeTargetPath,\n\t\t},\n\t\t{\n\t\t\tsourcePath: listTableSourcePath,\n\t\t\ttargetPath: listTableTargetPath,\n\t\t},\n\t\t...itemActionModelPaths,\n\t];\n\n\tlet tableToDisplay = ITEM_OPTION_NEW_TABLE;\n\n\tif (isItemField) {\n\t\ttableToDisplay = getCatalogItemTable(tableName);\n\t}\n\n\tdispatch(SN_CONDITIONS_ALTERNATIVE_VIEW_REQUESTED, {\n\t\tcomponentProps: {\n\t\t\tactionToModelPaths: isItemField\n\t\t\t\t? itemActionModelPaths\n\t\t\t\t: variableActionModelPaths,\n\t\t\tcolumns: isItemField\n\t\t\t\t? undefined\n\t\t\t\t: 'question_text, cat_item, variable_set, type, list_table',\n\t\t\ttableName: tableToDisplay,\n\t\t\tfixedQuery:\n\t\t\t\tsource === 'variable-field'\n\t\t\t\t\t? getVariablesQueryString(\n\t\t\t\t\t\t\tencodedQuery,\n\t\t\t\t\t\t\tadditionalQueryString\n\t\t\t\t\t  )\n\t\t\t\t\t: undefined,\n\t\t},\n\t\tcomponentTag: 'sn-record-list-connected-wrapper',\n\t\tconditionId,\n\t\treturnFocusElementRef: refElement,\n\t\tpreventDecodedQueryUpdatedActionDispatch: true,\n\t});\n};\n\nconst handleAdditionalFieldsSet = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({ variableFieldsMetadata: coeffects.action.payload });\n};\n\nconst handleVariableSetIdCompletion = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: { additionalQueryString },\n\t} = coeffects;\n\n\tconst variableSetCondition = getVariableSetIdsCondition(\n\t\tcoeffects.action.payload\n\t);\n\t// existing additional query string will be cat_item=94296d6e4fc3c2c0960f95bd0210c756\n\t// adding this part to the query string ^ORvariable_setIN8c170df673221010c84e2bb43cf6a736,7a86c1f673221010c84e2bb43cf6a7d8\n\tconst newAdditionalQuery = `${additionalQueryString}${variableSetCondition}`;\n\tupdateState({\n\t\tisFetchingVariableSetId: false,\n\t\tadditionalQueryString: newAdditionalQuery,\n\t});\n};\n\nconst handleSearchCatalogItemIdCompletion = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: {\n\t\t\tproperties: { tableName },\n\t\t},\n\t} = coeffects;\n\n\tconst catalogItemTable = getCatalogItemTable(tableName);\n\n\tconst catalogItemDisplayValue = getCatalogItemDisplayValue(\n\t\tcoeffects.action.payload,\n\t\tcatalogItemTable\n\t);\n\n\tupdateState({\n\t\tisSearchingCatalogItemId: false,\n\t\titemDisplayValue: catalogItemDisplayValue,\n\t});\n};\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tlogger,\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tconditionMetadata = {},\n\t\t\t\ttableName,\n\t\t\t\tvariablesSource: { sysId, sourceType },\n\t\t\t},\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst {\n\t\tcatalogItemInternalValue,\n\t\tcatalogItemDisplayValue,\n\t\tvariableInternalValue,\n\t\tvariableDisplayValue,\n\t\tvariableType,\n\t} = conditionMetadata;\n\n\tconst idToFilterVariablesOn = sysId;\n\t// here we are handling the scenario when the user wants a prefiltered list of variables/questions\n\tif (idToFilterVariablesOn) {\n\t\tif (sourceType === 'CATALOG_ITEM') {\n\t\t\tupdateState({\n\t\t\t\tadditionalQueryString: `cat_item=${idToFilterVariablesOn}`,\n\t\t\t\tisFetchingVariableSetId: true,\n\t\t\t\tisSearchingCatalogItemId: true,\n\t\t\t\titemInternalValue: idToFilterVariablesOn,\n\t\t\t});\n\t\t\tdispatchVariableSetIdRequest(dispatch, idToFilterVariablesOn);\n\t\t\t// we need to get the catalog item display name since we are only given an ID to start\n\t\t\tdispatch(CATALOG_ITEM_ID_SEARCH_REQUEST, {\n\t\t\t\tconditions: `sys_id=${idToFilterVariablesOn}`,\n\t\t\t\tfield: 'sys_id',\n\t\t\t\tpaginationLimit: variableSetIdResultsLimit,\n\t\t\t\ttable: getCatalogItemTable(tableName),\n\t\t\t});\n\t\t} else if (sourceType === 'VARIABLE_SET') {\n\t\t\tupdateState({\n\t\t\t\tadditionalQueryString: `variable_setIN${idToFilterVariablesOn}`,\n\t\t\t});\n\t\t}\n\n\t\t// if mismatch between catalog item from encoded query and variables config\n\t\tif (\n\t\t\tcatalogItemInternalValue &&\n\t\t\tcatalogItemInternalValue !== idToFilterVariablesOn &&\n\t\t\tsourceType === 'CATALOG_ITEM'\n\t\t) {\n\t\t\tlogger.error(\n\t\t\t\t'The catalog item associated with the passed in encoded query does not match the catalog item in the variablesSource'\n\t\t\t);\n\t\t}\n\n\t\t// if encoded query surfaces variable data, display that\n\t\tif (variableInternalValue) {\n\t\t\tupdateState({\n\t\t\t\tvariableInternalValue,\n\t\t\t\tvariableDisplayValue,\n\t\t\t\tvariableType,\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\n\tupdateState({\n\t\tadditionalQueryString: catalogItemInternalValue\n\t\t\t? `cat_item=${catalogItemInternalValue}`\n\t\t\t: '',\n\t\tisFetchingVariableSetId:\n\t\t\t!!catalogItemInternalValue && !variableInternalValue,\n\t\titemInternalValue: catalogItemInternalValue,\n\t\titemDisplayValue: catalogItemDisplayValue,\n\t\tvariableInternalValue,\n\t\tvariableDisplayValue,\n\t\tvariableType,\n\t});\n\n\tif (catalogItemInternalValue) {\n\t\tdispatchVariableSetIdRequest(dispatch, catalogItemInternalValue);\n\t}\n};\n\nconst setDefaultSelectedField = (selectedField, dispatch) => {\n\tconst updatedSelectedField = {\n\t\tdisplayValue: selectedField.displayValue,\n\t\tinternalValue: 'variables',\n\t\ttype: 'variables',\n\t};\n\n\tdispatch(NOW_CONDITION_BUILDER_FIELD_SELECT, {\n\t\tselectedField: updatedSelectedField,\n\t});\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value = {}, previousValue = {}, name },\n\t\t},\n\t\tstate: {\n\t\t\tadditionalQueryString: stateAdditionalQueryString,\n\t\t\tproperties: { selectedField },\n\t\t},\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst {\n\t\tcatalogItemInternalValue,\n\t\tcatalogItemDisplayValue,\n\t\tvariableInternalValue,\n\t\tvariableDisplayValue,\n\t\tlistTable,\n\t\trawVariableType,\n\t} = value;\n\n\tconst {\n\t\tcatalogItemInternalValue: previousCatalogItemInternalValue,\n\t\tvariableInternalValue: previousVariableInternalValue,\n\t} = previousValue;\n\n\tif (name === 'variablesSource') {\n\t\thandleBootstrap(coeffects);\n\t\treturn;\n\t}\n\n\tif (name === 'conditionMetadata') {\n\t\t// handles selecting a question/variable\n\t\tif (\n\t\t\tvariableInternalValue &&\n\t\t\tvariableInternalValue !== previousVariableInternalValue\n\t\t) {\n\t\t\tconst variableType = getVariableType(rawVariableType, listTable);\n\n\t\t\tlet newState = {\n\t\t\t\tadditionalQueryString: catalogItemInternalValue\n\t\t\t\t\t? `cat_item=${catalogItemInternalValue}`\n\t\t\t\t\t: stateAdditionalQueryString,\n\t\t\t\tvariableInternalValue,\n\t\t\t\tvariableDisplayValue,\n\t\t\t\tvariableType,\n\t\t\t};\n\n\t\t\t// sometimes a variable/question is selected that doesn't have a catalog item but is part of a variable set\n\t\t\tif (catalogItemInternalValue && catalogItemDisplayValue) {\n\t\t\t\tnewState = {\n\t\t\t\t\t...newState,\n\t\t\t\t\titemDisplayValue: catalogItemDisplayValue,\n\t\t\t\t\titemInternalValue: catalogItemInternalValue,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tupdateState(newState);\n\n\t\t\tconst newInternalValue = `variables.${variableInternalValue}`;\n\n\t\t\tconst updatedSelectedField = {\n\t\t\t\tdisplayValue: selectedField.displayValue,\n\t\t\t\tinternalValue: newInternalValue,\n\t\t\t\ttype: variableType,\n\t\t\t};\n\n\t\t\tdispatch(NOW_CONDITION_BUILDER_FIELD_SELECT, {\n\t\t\t\tselectedField: updatedSelectedField,\n\t\t\t});\n\n\t\t\t// handles selecting a catalog item\n\t\t} else if (\n\t\t\tcatalogItemInternalValue &&\n\t\t\tcatalogItemInternalValue !== previousCatalogItemInternalValue\n\t\t) {\n\t\t\tupdateState({\n\t\t\t\tadditionalQueryString: `cat_item=${catalogItemInternalValue}`,\n\t\t\t\tisFetchingVariableSetId: true,\n\t\t\t\titemInternalValue: catalogItemInternalValue,\n\t\t\t\titemDisplayValue: catalogItemDisplayValue,\n\t\t\t\tvariableInternalValue: '',\n\t\t\t\tvariableDisplayValue: '',\n\t\t\t});\n\n\t\t\tdispatchVariableSetIdRequest(dispatch, catalogItemInternalValue);\n\n\t\t\t// handles if we clear out catalog item\n\t\t} else if (\n\t\t\t!catalogItemInternalValue &&\n\t\t\t!variableInternalValue &&\n\t\t\tcatalogItemInternalValue !== previousCatalogItemInternalValue\n\t\t) {\n\t\t\tupdateState({\n\t\t\t\tadditionalQueryString: '',\n\t\t\t\titemInternalValue: '',\n\t\t\t\titemDisplayValue: '',\n\t\t\t\tvariableInternalValue: '',\n\t\t\t\tvariableDisplayValue: '',\n\t\t\t});\n\n\t\t\t// if no variable internal value we clear\n\t\t} else if (!variableInternalValue) {\n\t\t\tupdateState({\n\t\t\t\tvariableInternalValue: '',\n\t\t\t\tvariableDisplayValue: '',\n\t\t\t});\n\t\t\tsetDefaultSelectedField(selectedField, dispatch);\n\t\t}\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[CATALOG_ITEM_ID_SEARCH_REQUEST]: {\n\t\t...searchCatalogItemId,\n\t\tstopPropagation: true,\n\t},\n\t[CATALOG_ITEM_ID_SEARCH_REQUEST_SUCCESS]: {\n\t\teffect: handleSearchCatalogItemIdCompletion,\n\t\tstopPropagation: true,\n\t},\n\t[CATALOG_ITEM_ID_SEARCH_REQUEST_FAILURE]: {\n\t\teffect: handleSearchCatalogItemIdCompletion,\n\t\tstopPropagation: true,\n\t},\n\t[SN_RECORD_LOOKUP_VALUE_CHANGED]: {\n\t\teffect: handleReferenceFieldValueChanged,\n\t\tstopPropagation: true,\n\t},\n\t[SN_RECORD_LOOKUP_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleButtonIconicClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_RECORD_LOOKUP_ADDITIONAL_FIELDS_SET]: {\n\t\teffect: handleAdditionalFieldsSet,\n\t\tstopPropagation: true,\n\t},\n\t[VARIABLE_SET_IDS_FETCH_REQUEST]: {\n\t\t...fetchVariableSetIds,\n\t\tstopPropagation: true,\n\t},\n\t[VARIABLE_SET_IDS_FETCH_REQUEST_SUCCESS]: {\n\t\teffect: handleVariableSetIdCompletion,\n\t\tstopPropagation: true,\n\t},\n\t[VARIABLE_SET_IDS_FETCH_REQUEST_FAILURE]: {\n\t\teffect: handleVariableSetIdCompletion,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","export const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\nexport const NOW_TYPEAHEAD_INTERACTION_FINISHED =\n\t'NOW_TYPEAHEAD#INTERACTION_FINISHED'; // similar to on-blur\nexport const NOW_TYPEAHEAD_LIST_HIDDEN = 'NOW_TYPEAHEAD#LIST_HIDDEN';\nexport const NOW_TYPEAHEAD_LIST_VISIBLE = 'NOW_TYPEAHEAD#LIST_VISIBLE';\nexport const NOW_TYPEAHEAD_VALUE_SET = 'NOW_TYPEAHEAD#VALUE_SET';\nexport const NOW_TYPEAHEAD_SELECTED_ITEM_SET =\n\t'NOW_TYPEAHEAD#SELECTED_ITEM_SET';\n\nexport const NOW_TYPEAHEAD_MULTI_LIST_HIDDEN =\n\t'NOW_TYPEAHEAD_MULTI#LIST_HIDDEN';\nexport const NOW_TYPEAHEAD_MULTI_LIST_VISIBLE =\n\t'NOW_TYPEAHEAD_MULTI#LIST_VISIBLE';\nexport const NOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET =\n\t'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET';\nexport const NOW_TYPEAHEAD_MULTI_VALUE_SET = 'NOW_TYPEAHEAD_MULTI#VALUE_SET';\n\nexport const SN_TYPEAHEAD_WRAPPER_BUTTON_ICONIC_CLICKED =\n\t'SN_TYPEAHEAD_WRAPPER#BUTTON_ICONIC_CLICKED';\nexport const SN_TYPEAHEAD_WRAPPER_LIST_HIDDEN =\n\t'SN_TYPEAHEAD_WRAPPER#LIST_HIDDEN';\nexport const SN_TYPEAHEAD_WRAPPER_LIST_VISIBLE =\n\t'SN_TYPEAHEAD_WRAPPER#LIST_VISIBLE';\nexport const SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET =\n\t'SN_TYPEAHEAD_WRAPPER#SELECTED_ITEM_SET';\nexport const SN_TYPEAHEAD_WRAPPER_VALUE_SET = 'SN_TYPEAHEAD_WRAPPER#VALUE_SET';\n\nexport const SN_TYPEAHEAD_WRAPPER_MULTI_LIST_HIDDEN =\n\t'SN_TYPEAHEAD_WRAPPER_MULTI#LIST_HIDDEN';\nexport const SN_TYPEAHEAD_WRAPPER_MULTI_LIST_VISIBLE =\n\t'SN_TYPEAHEAD_WRAPPER_MULTI#LIST_VISIBLE';\nexport const SN_TYPEAHEAD_WRAPPER_MULTI_SELECTED_ITEMS_SET =\n\t'SN_TYPEAHEAD_WRAPPER_MULTI#SELECTED_ITEMS_SET';\nexport const SN_TYPEAHEAD_WRAPPER_MULTI_VALUE_SET =\n\t'SN_TYPEAHEAD_WRAPPER_MULTI#VALUE_SET';\n\nexport const SN_TYPEAHEAD_WRAPPER_QUERY_FETCH =\n\t'SN_TYPEAHEAD_WRAPPER#QUERY_FETCH';\nexport const SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_START =\n\t'SN_TYPEAHEAD_WRAPPER#QUERY_FETCH_START';\nexport const SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_SUCCESS =\n\t'SN_TYPEAHEAD_WRAPPER#QUERY_FETCH_SUCCESS';\nexport const SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_FAILURE =\n\t'SN_TYPEAHEAD_WRAPPER#QUERY_FETCH_FAILURE';\n","/**\n * Enum for search status.\n * @readonly\n * @enum {string}\n */\nexport const SN_TYPEAHEAD_SEARCH_STATUS = {\n\tCOMPLETE: 'COMPLETE',\n\tERROR: 'ERROR',\n\tINITIAL_LOAD: 'INITIAL_LOAD',\n\tSEARCHING: 'SEARCHING',\n};\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport get from 'lodash/get';\n\nimport {\n\tSN_TYPEAHEAD_WRAPPER_LIST_HIDDEN,\n\tSN_TYPEAHEAD_WRAPPER_LIST_VISIBLE,\n\tSN_TYPEAHEAD_WRAPPER_MULTI_LIST_HIDDEN,\n\tSN_TYPEAHEAD_WRAPPER_MULTI_LIST_VISIBLE,\n\tSN_TYPEAHEAD_WRAPPER_MULTI_VALUE_SET,\n\tSN_TYPEAHEAD_WRAPPER_VALUE_SET,\n\tSN_TYPEAHEAD_WRAPPER_QUERY_FETCH,\n\tSN_TYPEAHEAD_WRAPPER_QUERY_FETCH_START,\n\tSN_TYPEAHEAD_WRAPPER_QUERY_FETCH_SUCCESS,\n\tSN_TYPEAHEAD_WRAPPER_QUERY_FETCH_FAILURE,\n} from './actionTypes';\nimport { SN_TYPEAHEAD_SEARCH_STATUS } from './constants';\n\n/*\n * Optional ActionHandlers to add glide querying as part of the typeahead wrapper\n * The sn-typeahead-wrapper does not need this query action handler to function\n *\n * @property {string} query - graphql query\n * @property {object} settings - query settings\n * @property {function} settings.getVariables - required function to return query variables from props\n * @property {function} settings.mapResults - required function to generate/map typeahead items from query response results\n * @property {string} settings.onErrorActionType - optional actionType to dispatch on query error\n * @property {string} settings.onStartActionType - optional actionType to dispatch on query start\n * @property {string} settings.onSuccessActionType - optional actionType to dispatch on query success\n * @property {string} settings.variableList - required list of variables to pass to the query\n *\n */\nexport default function (query, settings = {}) {\n\tconst {\n\t\tgetVariables, // required\n\t\tmapResults, // required\n\t\tonErrorActionType, // optional\n\t\tonStartActionType, // optional\n\t\tonSuccessActionType, // optional\n\t\tvariableList, // required\n\t} = settings;\n\n\tconst queryFetchEffect = createGraphQLEffect(query, {\n\t\tvariableList,\n\t\theaderList: ['x-request-cancelable'],\n\t\tstartActionType: SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_START,\n\t\tsuccessActionType: SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_SUCCESS,\n\t\terrorActionType: SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_FAILURE,\n\t});\n\n\tconst handleListHidden = (coeffects) => {\n\t\tconst { updateState } = coeffects;\n\n\t\tif (query) {\n\t\t\t// Reset search status when list is hidden since we query every time the list is visible\n\t\t\tupdateState({\n\t\t\t\ttypeaheadSearchStatus: SN_TYPEAHEAD_SEARCH_STATUS.SEARCHING,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst handleListVisible = (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { value = '' },\n\t\t\t},\n\t\t\tdispatch,\n\t\t} = coeffects;\n\n\t\tif (query) {\n\t\t\t// value is the input field value\n\t\t\tconst data = getVariables(coeffects, value);\n\n\t\t\t// Fetch every time when the list is visible\n\t\t\tdispatch(SN_TYPEAHEAD_WRAPPER_QUERY_FETCH, data);\n\t\t}\n\t};\n\n\tconst handleValueSet = (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { value },\n\t\t\t},\n\t\t\tdispatch,\n\t\t} = coeffects;\n\n\t\t// only fetch if query exists and if value has changed in the now-typeahead\n\t\tif (query) {\n\t\t\tconst data = getVariables(coeffects, value);\n\t\t\tdispatch(SN_TYPEAHEAD_WRAPPER_QUERY_FETCH, data);\n\t\t}\n\t};\n\n\tconst handleQueryFetchStart = (coeffects) => {\n\t\tconst {\n\t\t\taction: { payload },\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t} = coeffects;\n\n\t\tupdateState({\n\t\t\ttypeaheadSearchStatus: SN_TYPEAHEAD_SEARCH_STATUS.SEARCHING,\n\t\t});\n\n\t\tif (onStartActionType) {\n\t\t\tdispatch(onStartActionType, payload);\n\t\t}\n\t};\n\n\tconst handleQueryFetchSuccess = (coeffects) => {\n\t\tconst {\n\t\t\taction: { meta, payload },\n\t\t\tdispatch,\n\t\t\tlogger,\n\t\t\tupdateState,\n\t\t} = coeffects;\n\n\t\tconst { data, errors } = payload;\n\n\t\tconst updatedState = {\n\t\t\ttypeaheadSearchStatus: SN_TYPEAHEAD_SEARCH_STATUS.COMPLETE,\n\t\t};\n\n\t\tif (errors && errors.length !== 0) {\n\t\t\t// Only reset searching state when error is _not_ a transaction cancellation\n\t\t\tif (!errors.some((e) => e.errorType === 'ExecutionAborted')) {\n\t\t\t\tlogger.error(\n\t\t\t\t\t'Error fetching query - ExecutionAborted',\n\t\t\t\t\tJSON.stringify(errors, null, 2)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tupdateState(updatedState);\n\t\t\treturn;\n\t\t}\n\n\t\t// Get variables from the original query fetch effect\n\t\tconst queryVariables = get(meta, 'options.variables', {});\n\n\t\t// Map results to typeahead results which is an object with items and totalCount\n\t\tconst results = mapResults(data, coeffects, queryVariables);\n\n\t\tif (results) {\n\t\t\tupdatedState.typeaheadResults = results;\n\t\t}\n\n\t\tupdateState(updatedState);\n\n\t\tif (onSuccessActionType) {\n\t\t\tdispatch(onSuccessActionType, {\n\t\t\t\tdata,\n\t\t\t\tresults,\n\t\t\t\tqueryVariables,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst handleQueryFetchFailure = (coeffects) => {\n\t\tconst {\n\t\t\taction: { payload },\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t} = coeffects;\n\n\t\tupdateState({\n\t\t\ttypeaheadSearchStatus: SN_TYPEAHEAD_SEARCH_STATUS.ERROR,\n\t\t});\n\n\t\tif (onErrorActionType) {\n\t\t\tdispatch(onErrorActionType, payload);\n\t\t}\n\t};\n\n\tconst actionHandlers = {\n\t\t[SN_TYPEAHEAD_WRAPPER_LIST_HIDDEN]: {\n\t\t\teffect: handleListHidden,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_TYPEAHEAD_WRAPPER_LIST_VISIBLE]: {\n\t\t\teffect: handleListVisible,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_TYPEAHEAD_WRAPPER_VALUE_SET]: {\n\t\t\teffect: handleValueSet,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_TYPEAHEAD_WRAPPER_MULTI_LIST_HIDDEN]: {\n\t\t\teffect: handleListHidden,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_TYPEAHEAD_WRAPPER_MULTI_LIST_VISIBLE]: {\n\t\t\teffect: handleListVisible,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_TYPEAHEAD_WRAPPER_MULTI_VALUE_SET]: {\n\t\t\teffect: handleValueSet,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_TYPEAHEAD_WRAPPER_QUERY_FETCH]: queryFetchEffect,\n\t\t[SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_START]: {\n\t\t\teffect: handleQueryFetchStart,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_SUCCESS]: {\n\t\t\teffect: handleQueryFetchSuccess,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_TYPEAHEAD_WRAPPER_QUERY_FETCH_FAILURE]: {\n\t\t\teffect: handleQueryFetchFailure,\n\t\t\tstopPropagation: true,\n\t\t},\n\t};\n\n\treturn {\n\t\tactionHandlers,\n\t\tqueryFetchEffect,\n\t};\n}\n","import { t } from 'sn-translate';\n\nexport const EMPTY_LIST_LABEL = t('(empty)');\n","import get from 'lodash/get';\n\nimport {\n\tSN_TYPEAHEAD_WRAPPER_BUTTON_ICONIC_CLICKED,\n\tSN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET,\n} from '../sn-typeahead-wrapper/actionTypes';\nimport snTypeaheadWrapperQuery from '../sn-typeahead-wrapper/queryActionHandlers';\n\nimport {\n\tSN_RECORD_LOOKUP_ADDITIONAL_FIELDS_SET,\n\tSN_RECORD_LOOKUP_BUTTON_ICONIC_CLICKED,\n\tSN_RECORD_LOOKUP_FETCH_SUCCESS,\n\tSN_RECORD_LOOKUP_VALUE_CHANGED,\n} from './actionTypes';\nimport { getVariables, mapResults } from './utils';\n\nconst query = `\nquery ($table: String!, $field: String!, $conditions: String, $paginationLimit: Int) {\n  GlideLayout_Query {\n\t\tlistLayout(\n\t\t\tlistTableName: $table,\n\t\t\tlistColumnNames: $field\n\t\t) {\n\t\t\t_graphql(\n\t\t\t\tqueryGeneratorArguments: [{\n\t\t\t\t\tname: \"fields\",\n\t\t\t\t\tvalue: \"displayValue, value\"\n\t\t\t\t}]\n\t\t\t) {\n\t\t\t\t_result(\n\t\t\t\t\tvariables: [\n\t\t\t\t\t\t{ name: \"table\", value: $table },\n\t\t\t\t\t\t{ name: \"queryConditions\", value: $conditions }\n\t\t\t\t\t],\n\t\t\t\t\tpagination: {\n\t\t\t\t\t\tlimit: $paginationLimit,\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n    }\n  }\n}\n`;\n\nconst variableList = ['table', 'field', 'conditions', 'paginationLimit'];\n\nconst {\n\tactionHandlers: snTypeaheadQueryActionHandlers,\n} = snTypeaheadWrapperQuery(query, {\n\tgetVariables,\n\tmapResults,\n\tvariableList,\n\tonSuccessActionType: SN_RECORD_LOOKUP_FETCH_SUCCESS,\n});\n\nconst handleRecordFieldLookupValueChanged = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { value: payloadValue, displayValue },\n\t\t},\n\t\tproperties: { internalValue: internalValueProp },\n\t} = coeffects;\n\n\tif (payloadValue !== internalValueProp) {\n\t\tdispatch(SN_RECORD_LOOKUP_VALUE_CHANGED, {\n\t\t\tvalue: {\n\t\t\t\tinternalValue: payloadValue,\n\t\t\t\tdisplayValue,\n\t\t\t},\n\t\t\toldValue: internalValueProp,\n\t\t});\n\t}\n};\n\n// Side effect after a successful fetch\nconst handleFetchSuccess = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { data },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { tableName, additionalFieldsToRetrieve },\n\t} = coeffects;\n\n\tconst realData = JSON.parse(\n\t\tget(data, 'GlideLayout_Query.listLayout._graphql._result')\n\t);\n\n\tconst options = get(\n\t\trealData,\n\t\t['data', 'GlideRecord_Query', tableName, '_results'],\n\t\t[]\n\t);\n\n\t// this code surfaces additional field data on record results\n\tif (additionalFieldsToRetrieve?.length) {\n\t\tconst additionalFieldData = options?.reduce((accumulator, option) => {\n\t\t\tconst id = get(option, 'sys_id.value');\n\t\t\taccumulator[id] = additionalFieldsToRetrieve.reduce(\n\t\t\t\t(accumulator, field) => {\n\t\t\t\t\taccumulator[field] = get(option, [field], {});\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t\treturn accumulator;\n\t\t}, {});\n\n\t\tdispatch(SN_RECORD_LOOKUP_ADDITIONAL_FIELDS_SET, additionalFieldData);\n\t}\n};\n\nconst handleButtonIconicClicked = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: { payload },\n\t} = coeffects;\n\n\tdispatch(SN_RECORD_LOOKUP_BUTTON_ICONIC_CLICKED, payload);\n};\n\nconst actionHandlers = {\n\t[SN_TYPEAHEAD_WRAPPER_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleButtonIconicClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET]: {\n\t\teffect: handleRecordFieldLookupValueChanged,\n\t\tstopPropagation: true,\n\t},\n\t[SN_RECORD_LOOKUP_FETCH_SUCCESS]: {\n\t\teffect: handleFetchSuccess,\n\t\tstopPropagation: true,\n\t},\n\t...snTypeaheadQueryActionHandlers,\n};\n\nexport default actionHandlers;\n","import compact from 'lodash/compact';\nimport get from 'lodash/get';\nimport { getProperty } from 'sn-uxpage-presource';\n\nimport { EMPTY_LIST_LABEL } from './constants';\n\n/**\n * Gets the value of the global property window.ux_globals.sysprops['glide.ui.conditionBuilder.referenceResultLimit']\n * @returns {number} - returns the value of the global property or the default value\n */\nexport const resultLimit = () =>\n\tgetProperty('glide.ui.conditionBuilder.referenceResultLimit', 15);\n\n/**\n * getVariables and mapResults functions below were copied and modified for our use case\n * original code can be found here: https://code.devsnc.com/dev/controls-monorepo/blob/ci/master/packages/field-lookup-connected/src/index.js\n */\nexport const getVariables = (coeffects, searchTerm = '') => {\n\tconst {\n\t\tproperties: {\n\t\t\tadditionalFieldsToRetrieve,\n\t\t\tadditionalQueryString,\n\t\t\tfieldName,\n\t\t\ttableName,\n\t\t},\n\t} = coeffects;\n\n\tif (!tableName || !fieldName) {\n\t\treturn null;\n\t}\n\n\tconst value = (searchTerm || '').trim();\n\n\t// wildcard search (example: *searchTerm)\n\tconst starPrefixRegex = /^\\*(.*)$/;\n\tconst isStarPrefixed = starPrefixRegex.test(value);\n\n\t// remove the star prefix from the search term\n\tconst strippedInputVal = value.replace(starPrefixRegex, '$1');\n\n\t// if the search term is prefixed with a star, we want to use CONTAINS instead of STARTSWITH\n\tconst nameMatch = `${fieldName}${\n\t\tisStarPrefixed ? 'CONTAINS' : 'STARTSWITH'\n\t}${strippedInputVal}`;\n\n\tconst defaultOrderBy = `ORDERBY${fieldName}`;\n\n\tconst baseConditions = [defaultOrderBy, additionalQueryString];\n\n\tconst conditions = value ? [nameMatch, ...baseConditions] : baseConditions;\n\n\treturn {\n\t\t// example: nameSTARTSWITHAdd/Remove users^ORDERBYname\"\n\t\tconditions: compact(conditions).join('^'),\n\t\t// field can be a comma separated string which allows to get more field data\n\t\tfield: [fieldName, ...additionalFieldsToRetrieve].join(','),\n\t\tpaginationLimit: resultLimit(),\n\t\ttable: tableName,\n\t};\n};\n\n/**\n *\n * @param {*} data - graphql response\n * @param {*} coeffects\n * @returns {Array} - array of objects with id and label to be used in the typeahead\n */\nexport const mapResults = (data, coeffects) => {\n\tconst {\n\t\tproperties: { fieldName, tableName },\n\t} = coeffects;\n\n\tlet realData;\n\n\ttry {\n\t\trealData = JSON.parse(\n\t\t\tget(data, 'GlideLayout_Query.listLayout._graphql._result')\n\t\t);\n\t} catch (e) {\n\t\t// TODO: Beacon?\n\t}\n\n\tconst options = get(\n\t\trealData,\n\t\t['data', 'GlideRecord_Query', tableName, '_results'],\n\t\t[]\n\t);\n\n\tconst formattedItems = options?.map((option) => {\n\t\treturn {\n\t\t\tid: get(option, 'sys_id.value'),\n\t\t\tlabel: get(option, [fieldName, 'displayValue']) || EMPTY_LIST_LABEL,\n\t\t};\n\t});\n\n\tconst totalCount = get(realData, [\n\t\t'data',\n\t\t'GlideRecord_Query',\n\t\ttableName,\n\t\t'_rowCount',\n\t]);\n\n\treturn {\n\t\titems: formattedItems,\n\t\ttotalCount,\n\t};\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_POPOVER_OPENED_SET,\n\tNOW_TYPEAHEAD_LIST_HIDDEN,\n\tNOW_TYPEAHEAD_LIST_VISIBLE,\n\tNOW_TYPEAHEAD_MULTI_LIST_HIDDEN,\n\tNOW_TYPEAHEAD_MULTI_LIST_VISIBLE,\n\tNOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET,\n\tNOW_TYPEAHEAD_MULTI_VALUE_SET,\n\tNOW_TYPEAHEAD_SELECTED_ITEM_SET,\n\tNOW_TYPEAHEAD_VALUE_SET,\n\tSN_TYPEAHEAD_WRAPPER_BUTTON_ICONIC_CLICKED,\n\tSN_TYPEAHEAD_WRAPPER_LIST_HIDDEN,\n\tSN_TYPEAHEAD_WRAPPER_LIST_VISIBLE,\n\tSN_TYPEAHEAD_WRAPPER_MULTI_LIST_HIDDEN,\n\tSN_TYPEAHEAD_WRAPPER_MULTI_LIST_VISIBLE,\n\tSN_TYPEAHEAD_WRAPPER_MULTI_SELECTED_ITEMS_SET,\n\tSN_TYPEAHEAD_WRAPPER_MULTI_VALUE_SET,\n\tSN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET,\n\tSN_TYPEAHEAD_WRAPPER_VALUE_SET,\n} from './actionTypes';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: { displayValue },\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({ inputValue: displayValue });\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (name === 'displayValue') {\n\t\tupdateState({ inputValue: value });\n\t}\n};\n\n/**\n * Action handler for when the now-typeahead list is visible\n * @param {*} coeffects\n */\nconst handleNowTypeaheadListHidden = (coeffects) => {\n\tconst { dispatch } = coeffects;\n\n\tdispatch(SN_TYPEAHEAD_WRAPPER_LIST_HIDDEN); // TODO: pass input value?\n};\n\n/**\n * Action handler for when the now-typeahead list is visible\n * @param {*} coeffects\n */\nconst handleNowTypeaheadListVisible = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tstate: { inputValue },\n\t} = coeffects;\n\n\tdispatch(SN_TYPEAHEAD_WRAPPER_LIST_VISIBLE, { value: inputValue });\n};\n\n/**\n * Action handler for when an item is selected from the now-typeahead list\n * @param {*} coeffects\n */\nconst handleNowTypeaheadSelectedItemSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\t/**\n\t\t\t * @typedef {object} SelectedItemPayload\n\t\t\t * @property {string} payload.item.id - internalValue\n\t\t\t * @property {string} payload.item.label - displayValue\n\t\t\t * @property {string} payload.item.actionSource\n\t\t\t * @property {string} payload.name\n\t\t\t * @property {string} payload.value - displayValue\n\t\t\t */\n\t\t\tpayload: { item },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { internalValue },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst value = item?.id;\n\n\t// now-typeahead passes id:null for certain keyboard events like a blank field while continuously pressing the spacebar\n\t// We should not dispatch the internalValue in such cases\n\tif (value !== null && internalValue !== value) {\n\t\tdispatch(SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET, {\n\t\t\tvalue,\n\t\t\tdisplayValue: item.label,\n\t\t\t// additionalItems  // sn-glide-query-base passes this as well\n\t\t});\n\n\t\tupdateState({ inputValue: item.label });\n\t}\n};\n\n/**\n * Action handler for when the now-typeahead input field is changed\n * @param {*} coeffects\n */\nconst handleNowTypeaheadValueSet = (coeffects) => {\n\tconst {\n\t\t/**\n\t\t * @typedef {object} ValueSetPayload\n\t\t * @property {string} payload.item.actionSource\n\t\t * @property {string} payload.value - string value of the input field\n\t\t */\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties: { internalValue },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { value } = payload;\n\n\tdispatch(SN_TYPEAHEAD_WRAPPER_VALUE_SET, payload);\n\n\t// handle clearing the selected item when the input field is cleared\n\tif (value === '' && value !== internalValue) {\n\t\tdispatch(SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET, {\n\t\t\tvalue: '',\n\t\t\tdisplayValue: '',\n\t\t});\n\n\t\tupdateState({ inputValue: '' });\n\t\treturn;\n\t}\n\n\tupdateState({ inputValue: value });\n};\n\n/**\n * Action handler for when the now-typeahead-multi list is hidden\n * @param {*} coeffects\n */\nconst handleNowTypeaheadMultiListHidden = (coeffects) => {\n\tconst { dispatch } = coeffects;\n\n\tdispatch(SN_TYPEAHEAD_WRAPPER_MULTI_LIST_HIDDEN);\n};\n\n/**\n * Action handler for when the now-typeahead-multi list is visible\n * @param {*} coeffects\n */\nconst handleNowTypeaheadMultiListVisible = (coeffects) => {\n\tconst { dispatch } = coeffects;\n\n\tdispatch(SN_TYPEAHEAD_WRAPPER_MULTI_LIST_VISIBLE, { value: '' }); // mutli-selection does client side filtering so no need to pass inputValue\n};\n\n/**\n * @typedef {object} MultiSelectedItem\n * @property {string} id - internalValue\n * @property {string} label - displayValue\n */\n\n/**\n * Action handler for when an item is selected from the now-typeahead-multi list. Equivalent to SN_GLIDE_QUERY_BASE#VALUE_CHANGED\n * @param {*} coeffects\n */\nconst handleNowTypeaheadMultiSelectedItemSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tlogger,\n\t\t\t/**\n\t\t\t * @typedef {object} MultiSelectedItemPayload\n\t\t\t * @property {MultiSelectedItem[]} payload.value - array of MultiSelectedItem\n\t\t\t * @property {string} payload.name\n\t\t\t */\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\t// Now-typeahead-multi passes value as an array of objects with id and label properties but just doing a sanity check\n\tif (!Array.isArray(value)) {\n\t\tlogger.error('sn-typeahead-wrapper: expected value to be an array');\n\t\treturn;\n\t}\n\n\tconst updatedValue = value.map((item) => item.id);\n\tconst updatedDisplayValue = value.map((item) => item.label);\n\n\tdispatch(SN_TYPEAHEAD_WRAPPER_MULTI_SELECTED_ITEMS_SET, {\n\t\tvalue: updatedValue.join(','),\n\t\tdisplayValue: updatedDisplayValue,\n\t});\n};\n\n/**\n * Action handler for when the now-typeahead-multi input field is changed\n * @param {*} coeffects\n */\nconst handleNowTypeaheadMultiValueSet = (coeffects) => {\n\tconst {\n\t\t/**\n\t\t * @typedef {object} MultiSelectedItemPayload\n\t\t * @property {string} payload.name\n\t\t * @property {string} payload.value - string value of the input field\n\t\t */\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(SN_TYPEAHEAD_WRAPPER_MULTI_VALUE_SET, payload);\n};\n\n/**\n * Action handler for when icon button is clicked\n * @param {*} coeffects\n */\nconst handleButtonIconicClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { refElement },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(SN_TYPEAHEAD_WRAPPER_BUTTON_ICONIC_CLICKED, { refElement });\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleButtonIconicClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TYPEAHEAD_LIST_HIDDEN]: {\n\t\teffect: handleNowTypeaheadListHidden,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TYPEAHEAD_LIST_VISIBLE]: {\n\t\teffect: handleNowTypeaheadListVisible,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TYPEAHEAD_SELECTED_ITEM_SET]: {\n\t\teffect: handleNowTypeaheadSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TYPEAHEAD_VALUE_SET]: {\n\t\teffect: handleNowTypeaheadValueSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TYPEAHEAD_MULTI_LIST_HIDDEN]: {\n\t\teffect: handleNowTypeaheadMultiListHidden,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TYPEAHEAD_MULTI_LIST_VISIBLE]: {\n\t\teffect: handleNowTypeaheadMultiListVisible,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET]: {\n\t\teffect: handleNowTypeaheadMultiSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TYPEAHEAD_MULTI_VALUE_SET]: {\n\t\teffect: handleNowTypeaheadMultiValueSet,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nconst NO_RESULTS_FOUND_TEXT = t('No results found');\nconst SEARCHING_TEXT = t('Searching...');\n\n/**\n * Create Typeahead header label\n * @param {object} options\n * @param {number} [options.displayCount] - total displayed results if different from the totalCount (optional)\n * @param {boolean} [options.loading] - loading flag (optional)\n * @param {string} [options.loadingMessage] - custom loading message (optional)\n * @param {number} options.totalCount - total results\n * @returns {string} header label\n */\nexport function createHeaderLabel({\n\tdisplayCount: displayCountValue,\n\tloading,\n\tloadingMessage,\n\ttotalCount,\n}) {\n\tif (loading) {\n\t\treturn loadingMessage || SEARCHING_TEXT;\n\t}\n\n\t// returning empty string will hide the header label\n\tif (typeof totalCount !== 'number') {\n\t\treturn '';\n\t}\n\n\tif (totalCount === 0) {\n\t\treturn NO_RESULTS_FOUND_TEXT;\n\t}\n\n\treturn t('Showing 1-{displayCount} of {totalCount}', {\n\t\tdisplayCount: displayCountValue ?? totalCount,\n\t\ttotalCount,\n\t});\n}\n\n/**\n * Determine if the sn-typeahed dropdown list has sections\n * Docs: https://code.devsnc.com/dev/design-system/tree/dev/components/typeahead#now-typeahead_DropdownListSection\n * @param {Array.<DropdownListItem> | Array.<DropdownListSection>} items\n * @returns {boolean}\n */\nexport function hasDropdownListSections(items) {\n\treturn Array.isArray(items) && items.some((item) => item.children);\n}\n","import '@servicenow/now-typeahead';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\n\nimport { createHeaderLabel } from './utils';\n\n// Reference: https://code.devsnc.com/dev/design-system/tree/dev/components/typeahead\n\n// This view returns jsx\nconst view = (props) => {\n\tconst {\n\t\tdisplayValue,\n\t\tinternalValue,\n\t\tfieldName,\n\t\thasListSections,\n\t\ticonInfo,\n\t\titems,\n\t\tlabel,\n\t\tloading,\n\t\tloadingMessage,\n\t\tplaceholder,\n\t\treadOnly,\n\t\tshowLabels,\n\t\tsize,\n\t\ttotalCount,\n\t} = props;\n\n\tconst buttonRef = createRef();\n\tlet viewableItems;\n\n\t// default to empty array or now-typeahead-multi will throw an error\n\tlet selectedItems = [];\n\n\t// create now-typeahead-multi selectedItems array from internalValue and displayValue\n\tif (typeof internalValue === 'string' && internalValue !== '') {\n\t\tconst displayValues = displayValue?.split?.(',') || []; // Note: assumes displayValue is a comma-separated string when coming from a prop\n\t\tconst internalValues = internalValue.split(',');\n\t\tselectedItems = internalValues.map((value, index) => ({\n\t\t\tid: value,\n\t\t\tlabel: displayValues[index],\n\t\t}));\n\t}\n\n\t// If loading, always show the loading message\n\tif (loading) {\n\t\tviewableItems = [\n\t\t\t{\n\t\t\t\tlabel: createHeaderLabel({\n\t\t\t\t\tloading,\n\t\t\t\t\tloadingMessage,\n\t\t\t\t}),\n\t\t\t\tchildren: [],\n\t\t\t},\n\t\t];\n\t}\n\t// if the dropdown has sections, the parent should provide the labels, children/items, and ids. This includes filtering\n\telse if (hasListSections) {\n\t\tviewableItems = items;\n\t}\n\t// normal typeahead-multi list\n\telse {\n\t\tconst headerLabel = createHeaderLabel({\n\t\t\tdisplayCount: Array.isArray(items) ? items.length : 0,\n\t\t\ttotalCount,\n\t\t});\n\n\t\tconst selectedItemIds = selectedItems.map((item) => item.id);\n\n\t\tviewableItems = [\n\t\t\t{\n\t\t\t\tlabel: headerLabel,\n\t\t\t\tchildren:\n\t\t\t\t\tArray.isArray(items) &&\n\t\t\t\t\titems.filter((item) => !selectedItemIds.includes(item.id)),\n\t\t\t},\n\t\t];\n\t}\n\n\treturn (\n\t\t<now-typeahead-multi\n\t\t\tconfigAria={{ 'aria-label': label }}\n\t\t\theaderLabel\n\t\t\titems={viewableItems}\n\t\t\tlabel={showLabels ? label : null}\n\t\t\tmanageSelectedItem={true}\n\t\t\tname={fieldName}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={readOnly}\n\t\t\tselectedItems={selectedItems}\n\t\t\tsize={size}\n\t\t>\n\t\t\t{iconInfo && iconInfo.name ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tappend-to-payload={{ refElement: buttonRef }}\n\t\t\t\t\tconfigAria={{ 'aria-label': iconInfo.label }}\n\t\t\t\t\thidePadding=\"true\"\n\t\t\t\t\ticon={iconInfo.name}\n\t\t\t\t\tref={buttonRef}\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ttooltip-content={iconInfo.tooltip}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/now-typeahead-multi>\n\t);\n};\n\nexport default view;\n","import '@servicenow/now-typeahead';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\n\nimport { createHeaderLabel } from './utils';\n\n// Reference: https://code.devsnc.com/dev/design-system/tree/dev/components/typeahead\n\n// This view returns jsx\nconst view = (props) => {\n\tconst {\n\t\tdisplayValue,\n\t\tinternalValue,\n\t\tfieldName,\n\t\thasListSections,\n\t\ticonInfo,\n\t\titems: itemsProp,\n\t\tlabel,\n\t\tloading,\n\t\tloadingMessage,\n\t\tplaceholder,\n\t\treadOnly,\n\t\tshowLabels,\n\t\tsize,\n\t\ttotalCount,\n\t} = props;\n\n\tconst buttonRef = createRef();\n\tlet items;\n\n\t// If loading, always show the loading message\n\tif (loading) {\n\t\titems = [\n\t\t\t{\n\t\t\t\tlabel: createHeaderLabel({\n\t\t\t\t\tloading,\n\t\t\t\t\tloadingMessage,\n\t\t\t\t}),\n\t\t\t\tchildren: [],\n\t\t\t},\n\t\t];\n\t}\n\t// if the dropdown has sections, the parent should provide the labels, children/items, and ids\n\telse if (hasListSections) {\n\t\titems = itemsProp;\n\t}\n\t// normal typeahead list items\n\telse {\n\t\tconst headerLabel = createHeaderLabel({\n\t\t\tdisplayCount: Array.isArray(itemsProp) ? itemsProp.length : 0,\n\t\t\ttotalCount,\n\t\t});\n\n\t\titems = [\n\t\t\t{\n\t\t\t\tlabel: headerLabel,\n\t\t\t\tchildren: itemsProp,\n\t\t\t},\n\t\t];\n\t}\n\n\tconst selectedItem =\n\t\ttypeof internalValue !== 'undefined'\n\t\t\t? {\n\t\t\t\t\tid: internalValue,\n\t\t\t\t\tlabel: displayValue,\n\t\t\t  }\n\t\t\t: null;\n\n\treturn (\n\t\t<now-typeahead\n\t\t\tconfigAria={{ 'aria-label': label }}\n\t\t\titems={items}\n\t\t\tlabel={showLabels ? label : null}\n\t\t\tmanageSelectedItem={true}\n\t\t\tname={fieldName}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={readOnly}\n\t\t\tselectedItem={selectedItem} // internal state selected Item\n\t\t\tsize={size}\n\t\t\tvalue={displayValue} // required for display\n\t\t>\n\t\t\t{iconInfo && iconInfo.name ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tappend-to-payload={{ refElement: buttonRef }}\n\t\t\t\t\tconfigAria={{ 'aria-label': iconInfo.label }}\n\t\t\t\t\thidePadding=\"true\"\n\t\t\t\t\ticon={iconInfo.name}\n\t\t\t\t\tref={buttonRef}\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ttooltip-content={iconInfo.tooltip}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/now-typeahead>\n\t);\n};\n\nexport default view;\n","import { SN_TYPEAHEAD_SEARCH_STATUS } from './constants';\nimport TypeaheadMulti from './typeahead-multi.view';\nimport Typeahead from './typeahead.view';\nimport { hasDropdownListSections } from './utils';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: { isMultiSelection, results, searchStatus },\n\t} = state;\n\n\tconst loading = [\n\t\tSN_TYPEAHEAD_SEARCH_STATUS.INITIAL_LOAD,\n\t\tSN_TYPEAHEAD_SEARCH_STATUS.SEARCHING,\n\t].includes(searchStatus);\n\n\tconst { items, totalCount } = results || {};\n\tconst hasListSections = hasDropdownListSections(items);\n\n\tconst props = {\n\t\t...properties,\n\t\thasListSections,\n\t\titems,\n\t\tloading,\n\t\ttotalCount,\n\t};\n\n\tif (isMultiSelection) {\n\t\treturn <TypeaheadMulti {...props} />;\n\t}\n\n\treturn <Typeahead {...props} />;\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport { SN_TYPEAHEAD_SEARCH_STATUS } from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\n/*\n * The sn-typeahead-wrapper component is a wrapper around the now-typeahead component which\n * which can be used to support glide querying, multi-selection, and a standalone non-querying typeahead\n */\ncreateCustomElement('sn-typeahead-wrapper', {\n\tactionHandlers,\n\tproperties: {\n\t\tdisplayValue: {\n\t\t\tschema: { type: 'string', default: '' },\n\t\t},\n\t\tfieldName: {\n\t\t\tschema: { type: 'string', default: '' },\n\t\t},\n\t\t/**\n\t\t * Show icon\n\t\t * @typedef {Object} iconInfo - iconInfo object\n\t\t * @property {string} iconInfo.name - icon name to show (e.g. \"magnifying-glass-outline\")\n\t\t * @property {string} iconInfo.label - aria-label for icon\n\t\t * @property {string} iconInfo.tooltip - tooltip text for icon\n\t\t */\n\t\ticonInfo: {\n\t\t\tschema: { type: 'object', default: undefined },\n\t\t},\n\t\tinternalValue: {\n\t\t\tschema: { type: 'string', default: '' },\n\t\t},\n\t\tlabel: {\n\t\t\tschema: { type: 'string', default: '' },\n\t\t},\n\t\t/**\n\t\t * Flag to indicate if the typeahead is in multi-selection mode - uses multi-selection pills\n\t\t */\n\t\tisMultiSelection: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Hint text displayed in the input when the user has not yet entered a value.\n\t\t */\n\t\tplaceholder: { type: [null, 'string'], default: null },\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Dropdown list items with the following schema:\n\t\t * Docs: https://code.devsnc.com/dev/design-system/tree/dev/components/typeahead#now-typeahead_DropdownListSection\n\t\t */\n\t\tresults: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\titems: null, // Array.<DropdownListItem> | Array.<DropdownListSection>\n\t\t\t\ttotalCount: 0, // total number of results (can be different from items.length)\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the search status of the component. See SN_TYPEAHEAD_SEARCH_STATUS for possible values\n\t\t * Should be set to SN_TYPEAHEAD_SEARCH_STATUS.COMPLETE when using sn-typeahead-wrapper as a non-querying, presentational component.\n\t\t */\n\t\tsearchStatus: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: SN_TYPEAHEAD_SEARCH_STATUS.INITIAL_LOAD,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\tsize: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: 'sm',\n\t\t},\n\t},\n\trenderer: { type: snabbdom },\n\tsetInitialState: () => ({\n\t\t/**\n\t\t * Need to keep the value of the input field in state so that we can dispatch the value as part of the action payloads\n\t\t * However, this is not to be used as the now-typeahead value since a state managed input might introduce janky onKey behavior\n\t\t */\n\t\tinputValue: '',\n\t}),\n\tstyles,\n\tview,\n});\n","import '@servicenow/now-button';\n\nimport '../sn-typeahead-wrapper';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tdisplayValue,\n\t\t\tfieldName,\n\t\t\ticonInfo,\n\t\t\tinternalValue,\n\t\t\tlabel,\n\t\t\tplaceholder,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t\ttypeaheadResults: results,\n\t\ttypeaheadSearchStatus: searchStatus,\n\t} = state;\n\n\treturn (\n\t\t<div className=\"record-lookup\">\n\t\t\t<div className=\"input-container\">\n\t\t\t\t<sn-typeahead-wrapper\n\t\t\t\t\tdisplayValue={displayValue}\n\t\t\t\t\tfieldName={fieldName}\n\t\t\t\t\ticonInfo={!readOnly ? iconInfo : null}\n\t\t\t\t\tinternalValue={internalValue}\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tresults={results}\n\t\t\t\t\tsearchStatus={searchStatus}\n\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-record-lookup', {\n\tinitialState: {\n\t\theaderLabel: '',\n\t\ttypeaheadResults: {\n\t\t\titems: [],\n\t\t},\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * additionalFieldsToRetrieve\n\t\t * This property takes in an array of field names which will be used to retrieve additional information on records that match the search\n\t\t */\n\t\tadditionalFieldsToRetrieve: {\n\t\t\tschema: { type: 'array' },\n\t\t\tdefault: [],\n\t\t},\n\t\tadditionalQueryString: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tdisplayValue: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tfieldName: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Show icon\n\t\t * @typedef {Object} iconInfo - iconInfo object\n\t\t * @property {string} iconInfo.name - icon name to show (e.g. \"magnifying-glass-outline\")\n\t\t * @property {string} iconInfo.label - aria-label for icon\n\t\t * @property {string} iconInfo.tooltip - tooltip text for icon\n\t\t */\n\t\ticonInfo: {\n\t\t\tschema: { type: 'object', default: undefined },\n\t\t},\n\t\tinternalValue: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tisSearching: {\n\t\t\tprivate: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Value',\n\t\t\t\tcomment: 'Default label for a record lookup input field',\n\t\t\t}),\n\t\t},\n\t\tplaceholder: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\ttableName: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n\tactionHandlers,\n});\n","import '../sn-record-lookup';\nimport '@servicenow/now-loader';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classnames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport {\n\tITEM_OPTION_NEW_TABLE,\n\tITEM_PLACEHOLDER,\n\tITEM_LABEL,\n\tVARIABLE_PLACEHOLDER,\n\tQUESTION_PLACEHOLDER,\n\tVARIABLE_LABEL,\n\tQUESTION_LABEL,\n} from './constants';\nimport {\n\tgetCatalogItemTable,\n\tgetVariablesQueryString,\n\tisVariableTable,\n} from './utils';\n\nconst view = (state) => {\n\tconst {\n\t\tadditionalQueryString,\n\t\tisFetchingVariableSetId,\n\t\tisSearchingCatalogItemId,\n\t\titemInternalValue,\n\t\titemDisplayValue,\n\t\tvariableInternalValue,\n\t\tvariableDisplayValue,\n\t\tproperties: {\n\t\t\tcomponentTag,\n\t\t\thasMessages,\n\t\t\thasFieldMessages,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t\tshowReferenceLookup,\n\t\t\ttableName,\n\t\t\tvariablesSource: { sysId, encodedQuery },\n\t\t},\n\t} = state;\n\n\tconst isVariable = isVariableTable(tableName);\n\n\tconst isReadOnly = readOnly || hasFieldMessages;\n\n\tconst divClassNames = classnames(\n\t\t'sn-condition-builder-variables-row',\n\t\tcomponentTag,\n\t\t{\n\t\t\t'no-field-labels': !showLabels,\n\t\t\t'has-messages': hasMessages,\n\t\t}\n\t);\n\n\tconst itemIconLabel = t('Look Up {label}', { label: ITEM_LABEL });\n\tconst itemIconInfo = {\n\t\tlabel: itemIconLabel,\n\t\tname: 'magnifying-glass-outline',\n\t\ttooltip: itemIconLabel,\n\t};\n\n\tconst bottomLabel = isVariable ? VARIABLE_LABEL : QUESTION_LABEL;\n\tconst bottomIconLabel = t('Look Up {label}', { label: bottomLabel });\n\tconst bottomIconInfo = {\n\t\tlabel: bottomIconLabel,\n\t\tname: 'magnifying-glass-outline',\n\t\ttooltip: bottomIconLabel,\n\t};\n\n\treturn (\n\t\t<div className={divClassNames}>\n\t\t\t<div className=\"top-row\">\n\t\t\t\t<slot name=\"field\" />\n\t\t\t\t{isSearchingCatalogItemId ? (\n\t\t\t\t\t<now-loader />\n\t\t\t\t) : (\n\t\t\t\t\t<sn-record-lookup\n\t\t\t\t\t\tclassName={isReadOnly && 'question-item-readonly'}\n\t\t\t\t\t\tlabel={ITEM_LABEL}\n\t\t\t\t\t\ttableName={getCatalogItemTable(tableName)}\n\t\t\t\t\t\tfieldName=\"name\"\n\t\t\t\t\t\tinternalValue={itemInternalValue}\n\t\t\t\t\t\tdisplayValue={itemDisplayValue}\n\t\t\t\t\t\tplaceholder={ITEM_PLACEHOLDER}\n\t\t\t\t\t\ticonInfo={\n\t\t\t\t\t\t\tsysId || !showReferenceLookup\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: itemIconInfo\n\t\t\t\t\t\t}\n\t\t\t\t\t\tappend-to-payload={{ source: 'item-field' }}\n\t\t\t\t\t\treadOnly={Boolean(sysId) || isReadOnly}\n\t\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t<div className=\"bottom-row\">\n\t\t\t\t{isFetchingVariableSetId ? (\n\t\t\t\t\t<now-loader />\n\t\t\t\t) : (\n\t\t\t\t\t<sn-record-lookup\n\t\t\t\t\t\tlabel={isVariable ? VARIABLE_LABEL : QUESTION_LABEL}\n\t\t\t\t\t\ttableName={ITEM_OPTION_NEW_TABLE}\n\t\t\t\t\t\tfieldName=\"question_text\"\n\t\t\t\t\t\tinternalValue={variableInternalValue}\n\t\t\t\t\t\tdisplayValue={variableDisplayValue}\n\t\t\t\t\t\ticonInfo={\n\t\t\t\t\t\t\tshowReferenceLookup ? bottomIconInfo : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tappend-to-payload={{ source: 'variable-field' }}\n\t\t\t\t\t\tadditionalQueryString={getVariablesQueryString(\n\t\t\t\t\t\t\tencodedQuery,\n\t\t\t\t\t\t\tadditionalQueryString\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\tisVariable\n\t\t\t\t\t\t\t\t? VARIABLE_PLACEHOLDER\n\t\t\t\t\t\t\t\t: QUESTION_PLACEHOLDER\n\t\t\t\t\t\t}\n\t\t\t\t\t\tadditionalFieldsToRetrieve={[\n\t\t\t\t\t\t\t'type',\n\t\t\t\t\t\t\t'cat_item',\n\t\t\t\t\t\t\t'list_table',\n\t\t\t\t\t\t]}\n\t\t\t\t\t\treadOnly={isReadOnly}\n\t\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{variableInternalValue && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<slot name=\"operator\" />\n\t\t\t\t\t\t<slot name=\"value\" />\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-condition-builder-variables-row', {\n\tactionHandlers,\n\tinitialState: {\n\t\tadditionalQueryString: '',\n\t\titemInternalValue: '',\n\t\titemDisplayValue: '',\n\t\tisFetchingVariableSetId: false,\n\t\tisSearchingCatalogItemId: false,\n\t\tvariableInternalValue: '',\n\t\tvariableDisplayValue: '',\n\t\tvariableType: '',\n\t\tvariableFieldsMetadata: {},\n\t},\n\tproperties: {\n\t\tconditionId: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tconditionMetadata: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdeepCompare: true,\n\t\t},\n\t\thasMessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tslots: {\n\t\t\tfield: {},\n\t\t\toperator: {},\n\t\t\tvalue: {},\n\t\t},\n\t\tselectedField: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\ttableName: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tcomponentTag: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\thasFieldMessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowReferenceLookup: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tvariablesSource: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t},\n\t},\n\tstyles,\n\tview,\n});\n","import '@servicenow/now-button';\nimport '@servicenow/now-input';\nimport '@servicenow/now-dropdown';\nimport '../now-condition-builder-field-wrapper';\nimport '../now-condition-builder-operator-wrapper';\nimport '../now-condition-builder-value-editor-wrapper';\nimport '../sn-condition-builder-variables-row';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport last from 'lodash/last';\n\nimport { processFieldOverrides } from '../now-condition-builder-field-wrapper/utils';\nimport { isUnmappedOperator } from '../now-condition-builder-operator-wrapper/utils';\nimport { REMOVE_TOOLTIP_CONTENT } from '../now-condition-builder-row/constants';\nimport { VARIABLE_QUESTION_TABLE } from '../sn-condition-builder-variables-row/constants';\nimport { isVariableField as isVariableFieldUtils } from '../sn-condition-builder-variables-row/utils';\nimport { GROUP_TYPES } from '../sn-predicate-builder/constants';\nimport {\n\tchoiceFieldNamesTagName,\n\tdateComparativeTagName,\n\tdateEquivalentTagName,\n} from '../sn-value-editor-commons/fetchedEditorComponents.constants';\nimport {\n\tHIERARCHY_OPERATOR_DISPLAY_VALUE,\n\tHIERARCHY_DYNAMIC_OPERATOR_DISPLAY_VALUE,\n} from '../sn-value-editor-hierarchy-reference/constants';\n\nimport {\n\tAND_LABEL,\n\tDROPDOWN_TYPES,\n\tOPERATOR_DISPLAY_OPTIONS,\n\tOR_LABEL,\n\tROW_ACTION_AND,\n\tROW_ACTION_OR,\n\tROW_ACTION_REMOVE,\n\tOR_TOOLTIP_CONTENT,\n\tAND_TOOLTIP_CONTENT,\n\tAND_BUTTON_A11Y_LABEL,\n\tOR_BUTTON_A11Y_LABEL,\n\tOPERATORS_WITH_FIELD_VALUES,\n} from './constants';\nimport {\n\tformatRemoveConditionA11yLabel,\n\tgetExtendedOperatorsFromMetadata,\n\tgetHierarchyOperatorsToExclude,\n\thasUncategorizedAttribute,\n\tisUnknownFieldType,\n\tshouldBeReadOnly,\n\tgetAllErrorMessages,\n} from './utils';\n\nconst shouldDisableRemoveButton = (state) => {\n\tconst field = get(state, 'selectedField.internalValue');\n\tconst operator = get(state, 'selectedOperator.internalValue');\n\tconst value = get(state, 'selectedValue.internalValue');\n\tconst predicateMetadata = get(\n\t\tstate,\n\t\t'properties.predicateContext.predicateMetadata'\n\t);\n\tconst isReadOnly = get(state, 'properties.readOnly');\n\n\tif (isReadOnly) {\n\t\treturn true;\n\t}\n\n\t// If predicateMetadata exists it means it's in a group.\n\t// We want to disable if it's the only item in the condition builder (so no group)\n\treturn !predicateMetadata && !field && !operator && !value;\n};\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tconditionMetadata,\n\t\t\tpredicateContext: {\n\t\t\t\tfieldOperatorRelationship,\n\t\t\t\tmetadataCache,\n\t\t\t\tpanelDefinitions,\n\t\t\t\tpredicateMetadata = {},\n\t\t\t\tshowReferenceLookup,\n\t\t\t\tsource,\n\t\t\t\tkeywordsConditionId = '',\n\t\t\t\tvariablesSource,\n\t\t\t},\n\t\t\tconditionId,\n\t\t\tconditionIdToFocus,\n\t\t\tcustomizations,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t\tisFullWidthValueEditor,\n\t\toperatorDisplayOption,\n\t\tselectedField,\n\t\tselectedOperator,\n\t\tselectedValue,\n\t\tvalueEditorMetadata: { componentTag, macroponentSysId },\n\t} = state;\n\n\tconst {\n\t\tfieldComponentTag,\n\t\tfieldMacroponentSysId,\n\t\thasGlobalFieldOverride,\n\t} = processFieldOverrides(customizations);\n\n\tconst fieldDotwalkPath = selectedField.dotwalkPath;\n\tconst valueDotwalkPath = selectedValue.dotwalkPath;\n\tconst isFieldUncategorized = hasUncategorizedAttribute(fieldDotwalkPath);\n\tconst isValueUncategorized = hasUncategorizedAttribute(valueDotwalkPath);\n\n\tconst extendedOperators = getExtendedOperatorsFromMetadata({\n\t\tfield: selectedField,\n\t\tmetadataCache,\n\t\tsource,\n\t});\n\n\tconst isVariableField = isVariableFieldUtils(selectedField.internalValue);\n\n\tlet operatorsToExclude = [];\n\tif (isVariableField) {\n\t\toperatorsToExclude = [\n\t\t\tHIERARCHY_OPERATOR_DISPLAY_VALUE,\n\t\t\tHIERARCHY_DYNAMIC_OPERATOR_DISPLAY_VALUE,\n\t\t];\n\t}\n\n\toperatorsToExclude = getHierarchyOperatorsToExclude({\n\t\tselectedField,\n\t\tsource,\n\t\tmetadataCache,\n\t\tbaseOperatorsToExclude: operatorsToExclude,\n\t});\n\n\t// Determine if the selected operator is mapped to a fieldType from the fieldOperatorRelationship\n\tconst fieldType = selectedField?.type;\n\n\tconst unmappedOperator = isUnmappedOperator({\n\t\textendedOperators,\n\t\tfieldOperatorRelationship,\n\t\tfieldType,\n\t\toperatorsToExclude,\n\t\tselectedOperator,\n\t});\n\n\tconst fieldMetadata = metadataCache?.tableMetadata?.[source];\n\n\tconst errorMessages = getAllErrorMessages({\n\t\tstate,\n\t\tfieldType,\n\t\tisFieldUncategorized,\n\t\tisValueUncategorized,\n\t\thasGlobalFieldOverride,\n\t\tunmappedOperator,\n\t});\n\n\t// Determines if any of the fields have messages and adjust CSS for entire row\n\tconst hasRowMessages = errorMessages?.rowMessages?.length > 0;\n\tconst hasFieldMessages = errorMessages?.fieldMessages.length > 0;\n\tconst hasOperatorMessages = errorMessages?.operatorMessages.length > 0;\n\tconst hasValueMessages = errorMessages?.valueMessages.length > 0;\n\n\tconst isRowReadOnly = shouldBeReadOnly(state);\n\n\tlet isFieldReadOnly, isOperatorReadOnly, isValueEditorReadOnly;\n\n\tif (isRowReadOnly) {\n\t\tisFieldReadOnly = true;\n\t\tisOperatorReadOnly = true;\n\t\tisValueEditorReadOnly = true;\n\t} else {\n\t\tisFieldReadOnly = isFieldUncategorized;\n\t\tisOperatorReadOnly = hasRowMessages && !isFieldReadOnly;\n\t\tisValueEditorReadOnly = isValueUncategorized;\n\t}\n\n\tconst disableRemoveButton = shouldDisableRemoveButton(state);\n\tconst { parentGroupType, isLastPredicate } = predicateMetadata;\n\n\tconst showKeywords =\n\t\t!keywordsConditionId || keywordsConditionId === conditionId;\n\tconst { internalValue: operatorInternalValue } = selectedOperator;\n\n\tconst appendToRowActionPayload = {\n\t\tdropdownType: DROPDOWN_TYPES.ROW,\n\t};\n\n\t// disable the OR button so the user cannot duplicate the unmapped operator row\n\t// unknown field types use the unknown_field_type fallback operators and should not be blocked\n\tconst disableOrAction =\n\t\tunmappedOperator &&\n\t\t!isUnknownFieldType(selectedField, fieldOperatorRelationship);\n\n\t// If a row is in an OR group but is not the last row in that group,\n\t// it should not be able to add a row via AND (cannot press the AND button)\n\tconst disableAndAction =\n\t\t(parentGroupType === GROUP_TYPES.OR && !isLastPredicate) || readOnly;\n\n\tconst fieldElement = (\n\t\t<now-condition-builder-field-wrapper\n\t\t\tcomponentTag={fieldComponentTag}\n\t\t\tmacroponentSysId={fieldMacroponentSysId}\n\t\t\tmessages={errorMessages?.fieldMessages}\n\t\t\tmetadataCache={metadataCache}\n\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\treadOnly={isFieldReadOnly}\n\t\t\tselectedField={selectedField}\n\t\t\tshowKeywords={showKeywords}\n\t\t\tshowLabels={showLabels}\n\t\t\tsource={source}\n\t\t\tslot=\"field\"\n\t\t\thasInitialFocus={conditionId === conditionIdToFocus}\n\t\t/>\n\t);\n\n\tconst operatorElement = (\n\t\t<now-condition-builder-operator-wrapper\n\t\t\tfieldOperatorRelationship={fieldOperatorRelationship}\n\t\t\tfieldMetadata={fieldMetadata}\n\t\t\tmessages={errorMessages?.operatorMessages}\n\t\t\treadOnly={isOperatorReadOnly}\n\t\t\tselectedField={selectedField}\n\t\t\tselectedOperator={selectedOperator}\n\t\t\tshowLabels={showLabels}\n\t\t\tslot=\"operator\"\n\t\t\toperatorsToExclude={operatorsToExclude}\n\t\t/>\n\t);\n\n\tconst fieldSource = last(fieldDotwalkPath)?.source;\n\n\tconst useInitialSource = [\n\t\tchoiceFieldNamesTagName,\n\t\tdateEquivalentTagName,\n\t\tdateComparativeTagName,\n\t].includes(componentTag);\n\n\tlet valueWrapperSource = useInitialSource ? source : fieldSource;\n\n\t// variable~question needs to be populated in tableMetadata so we can look up based off of the variable id\n\t// selectedOperator is not is less than, is more than, is same and is different\n\tif (\n\t\tisVariableField &&\n\t\tcomponentTag !== choiceFieldNamesTagName &&\n\t\t!OPERATORS_WITH_FIELD_VALUES.includes(selectedOperator.internalValue)\n\t) {\n\t\tvalueWrapperSource = VARIABLE_QUESTION_TABLE;\n\t}\n\n\tconst valueElement = (\n\t\t<now-condition-builder-value-editor-wrapper\n\t\t\tcomponentTag={componentTag}\n\t\t\teditorValue={selectedValue}\n\t\t\thasFieldMessages={hasFieldMessages}\n\t\t\tinitialSource={source}\n\t\t\tmacroponentSysId={macroponentSysId}\n\t\t\tmessages={errorMessages?.valueMessages}\n\t\t\tmetadataCache={metadataCache}\n\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\treadOnly={isValueEditorReadOnly}\n\t\t\tselectedField={selectedField}\n\t\t\tselectedOperator={operatorInternalValue}\n\t\t\tshowLabels={showLabels}\n\t\t\tshowReferenceLookup={showReferenceLookup}\n\t\t\tslot=\"value\"\n\t\t\tsource={valueWrapperSource}\n\t\t/>\n\t);\n\n\tconst has2FieldValues = [\n\t\t'sn-value-editor-date-equivalent',\n\t\t'sn-value-editor-date-trend',\n\t\t'sn-value-editor-between-field',\n\t];\n\n\tconst has3OrMoreFieldValues = [\n\t\t'sn-value-editor-date-comparative',\n\t\t'sn-value-editor-date-relative',\n\t\t'sn-value-editor-hierarchy-reference',\n\t];\n\n\tconst isOperatorHidden =\n\t\tOPERATOR_DISPLAY_OPTIONS.HIDDEN === operatorDisplayOption;\n\n\tconst isValueEditorHidden = !(macroponentSysId || componentTag);\n\n\tconst hasMessages =\n\t\thasRowMessages ||\n\t\thasFieldMessages ||\n\t\thasOperatorMessages ||\n\t\thasValueMessages;\n\n\tconst rowGroupClasses = classnames('row-group', {\n\t\t[componentTag]: !isVariableField && componentTag, // DEF0533013: to fix layout when variable has between field\n\t\t'full-width': isFullWidthValueEditor,\n\t\t'full-width-variable-editor': isVariableField,\n\t\t'has-two-field-value-editors': has2FieldValues.includes(componentTag),\n\t\t'has-three-field-value-editors':\n\t\t\t!isVariableField && has3OrMoreFieldValues.includes(componentTag),\n\t\t'hidden-operator': isOperatorHidden,\n\t\t'no-value-editor': isValueEditorHidden,\n\t\t'has-messages': hasMessages,\n\t\t'has-row-level-messages': hasRowMessages,\n\t});\n\n\tconst containerClassnames = classnames('now-condition-builder-row', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\tconst actionsClassnames = classnames('actions', {\n\t\t'has-messages': hasMessages,\n\t});\n\n\tconst removeButtonA11yLabel = formatRemoveConditionA11yLabel(\n\t\tselectedField.displayValue,\n\t\tselectedOperator.displayValue,\n\t\tselectedValue.displayValue\n\t);\n\n\treturn (\n\t\t<div className={containerClassnames} id={conditionId}>\n\t\t\t<div className={rowGroupClasses}>\n\t\t\t\t{isVariableField ? (\n\t\t\t\t\t<div className=\"field\">\n\t\t\t\t\t\t<sn-condition-builder-variables-row\n\t\t\t\t\t\t\tconditionId={conditionId}\n\t\t\t\t\t\t\tconditionMetadata={conditionMetadata}\n\t\t\t\t\t\t\thasMessages={hasMessages}\n\t\t\t\t\t\t\tselectedField={selectedField}\n\t\t\t\t\t\t\ttableName={source}\n\t\t\t\t\t\t\tcomponentTag={componentTag}\n\t\t\t\t\t\t\treadOnly={isFieldReadOnly}\n\t\t\t\t\t\t\thasFieldMessages={hasFieldMessages}\n\t\t\t\t\t\t\tvariablesSource={variablesSource}\n\t\t\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\t\t\tshowReferenceLookup={showReferenceLookup}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{fieldElement}\n\t\t\t\t\t\t\t{isOperatorHidden ? null : operatorElement}\n\t\t\t\t\t\t\t{isValueEditorHidden ? null : valueElement}\n\t\t\t\t\t\t<\/sn-condition-builder-variables-row>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div className=\"field\">{fieldElement}<\/div>\n\t\t\t\t\t\t{isOperatorHidden ? null : (\n\t\t\t\t\t\t\t<div className=\"operator\">{operatorElement}<\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isValueEditorHidden ? null : (\n\t\t\t\t\t\t\t<div className=\"value\">{valueElement}<\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{hasRowMessages ? (\n\t\t\t\t\t\t\t<sn-condition-builder-row-messages\n\t\t\t\t\t\t\t\tdata-testId=\"warning-messages\"\n\t\t\t\t\t\t\t\tmessages={errorMessages?.rowMessages}\n\t\t\t\t\t\t\t\tisRowMessage={true}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t)}\n\n\t\t\t\t<div className={actionsClassnames}>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tdisabled={isFieldReadOnly || disableOrAction}\n\t\t\t\t\t\ttooltipContent={OR_TOOLTIP_CONTENT}\n\t\t\t\t\t\tlabel={OR_LABEL}\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\titem: {\n\t\t\t\t\t\t\t\tid: ROW_ACTION_OR,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...appendToRowActionPayload,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t'aria-label': OR_BUTTON_A11Y_LABEL,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdata-testId=\"or-condition-row-button\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tdisabled={disableAndAction || readOnly}\n\t\t\t\t\t\ttooltipContent={AND_TOOLTIP_CONTENT}\n\t\t\t\t\t\tlabel={AND_LABEL}\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\titem: {\n\t\t\t\t\t\t\t\tid: ROW_ACTION_AND,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...appendToRowActionPayload,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t'aria-label': AND_BUTTON_A11Y_LABEL,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdata-testId=\"and-condition-row-button\"\n\t\t\t\t\t/>\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tdisabled={disableRemoveButton || readOnly}\n\t\t\t\t\t\ttooltipContent={REMOVE_TOOLTIP_CONTENT}\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\ticon=\"trash-outline\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\tgroupType: ROW_ACTION_REMOVE,\n\t\t\t\t\t\t\tappendToRowActionPayload,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t'aria-label': removeButtonA11yLabel,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdata-testId=\"remove-condition-row-button\"\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('now-condition-builder-row', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\tmessages: {\n\t\t\toperator: [],\n\t\t\tfield: [],\n\t\t},\n\t\tselectedField: {},\n\t\tselectedOperator: {},\n\t\tselectedValue: {},\n\t\toperatorDisplayOption: '',\n\t\toperatorItems: [],\n\t\tvalueEditorMetadata: {\n\t\t\tcomponentTag: '',\n\t\t\tmacroponentSysId: '',\n\t\t},\n\t},\n\tproperties: {\n\t\tconditionId: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tconditionIdToFocus: {\n\t\t\tdefault: '',\n\t\t},\n\t\tconditionMetadata: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tcustomizations: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tfield: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\ttype: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\tinfoMessages: {\n\t\t\tdefault: [],\n\t\t},\n\t\tisFullWidthValueEditor: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\toperator: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\tpredicateContext: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tshowKeywords: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\tval: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers,\n\tstyles,\n});\n","import {\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst handleDropdownItemClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { item },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\tvalue: {\n\t\t\tinternalValue: item.id,\n\t\t\tdisplayValue: item.label,\n\t\t},\n\t});\n};\n\nexport const actionHandlers = {\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: handleDropdownItemClicked,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { t } from 'sn-translate';\n\n// boolean values\nexport const trueDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'true',\n\tcomment: 'Display value for the boolean \"true\" option',\n});\nexport const falseDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'false',\n\tcomment: 'Display value for the boolean \"false\" option',\n});\nexport const trueValue = 'true';\nexport const falseValue = 'false';\nexport const trueOrfalse = t('True/False');\nexport const choices = [\n\t{ id: trueValue, label: trueDisplayValue },\n\t{ id: falseValue, label: falseDisplayValue },\n];\n","import '@servicenow/now-select';\nimport classnames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { choices } from './constants';\n\nconst translatedAriaLabel = t('Select a value');\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: { label, editorValue, readOnly, showLabels },\n\t} = state;\n\n\tconst containerClassnames = classnames('sn-value-editor-boolean', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<now-select\n\t\t\t\tconfigAria={{\n\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t'aria-label': translatedAriaLabel,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\titems={choices}\n\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\tmanageSelectedItem\n\t\t\t\treadonly={readOnly}\n\t\t\t\tselectedItem={editorValue?.internalValue}\n\t\t\t\tsize=\"sm\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { actionHandlers } from './actions';\nimport { trueOrfalse } from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-boolean', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Value for input\n\t\t * @type {object}\n\t\t */\n\t\teditorValue: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Label text that displays on top of the component\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' }, default: trueOrfalse },\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tstyles,\n\tactionHandlers,\n});\n","import get from 'lodash/get';\n\nexport const getVariables = (coeffects, filter) => {\n\tconst {\n\t\tproperties: { fieldName, source },\n\t} = coeffects;\n\n\tif (source && fieldName) {\n\t\treturn {\n\t\t\tcolumn: fieldName,\n\t\t\ttable: source,\n\t\t\tfilter: filter || '',\n\t\t};\n\t}\n\n\treturn {};\n};\n\nexport const mapResults = (data, coeffects) => {\n\tconst options = get(data, 'GlideChoiceColumn_Query.getChoiceFields', []);\n\tlet items = options.map((option) => ({\n\t\tid: option?.rawValue,\n\t\tlabel: option?.displayValue,\n\t}));\n\n\tif (['IN', 'NOT IN'].includes(coeffects?.properties?.selectedOperator)) {\n\t\titems = items.filter((item) => item.id !== 'null');\n\t}\n\n\treturn {\n\t\titems,\n\t\ttotalCount: items.length,\n\t};\n};\n","import {\n\tSN_TYPEAHEAD_WRAPPER_MULTI_SELECTED_ITEMS_SET,\n\tSN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET,\n} from '../sn-typeahead-wrapper/actionTypes';\nimport snTypeaheadWrapperQuery from '../sn-typeahead-wrapper/queryActionHandlers';\nimport { SN_VALUE_EDITOR_VALUE_SET } from '../sn-value-editor-commons/actionTypes';\n\nimport { getVariables, mapResults } from './utils';\n\nexport const query = `\nquery($table: String!, $column: String!, $filter: String) {\n    GlideChoiceColumn_Query {\n      getChoiceFields(table: $table, column: $column, filter: $filter) {\n        rawValue\n        displayValue\n      }\n    }\n  }\n`;\n\nexport const variableList = ['table', 'column', 'filter'];\n\nconst {\n\tactionHandlers: snTypeaheadQueryActionHandlers,\n} = snTypeaheadWrapperQuery(query, {\n\tgetVariables,\n\tmapResults,\n\tvariableList,\n});\n\nconst handleSnTypeaheadSelectedItemSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: payloadValue, displayValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tconst displayValueMutated = Array.isArray(displayValue)\n\t\t? displayValue.join(',')\n\t\t: displayValue;\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue: payloadValue,\n\t\t\tdisplayValue: displayValueMutated,\n\t\t},\n\t});\n};\n\nexport const actionHandlers = {\n\t[SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET]: {\n\t\teffect: handleSnTypeaheadSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t[SN_TYPEAHEAD_WRAPPER_MULTI_SELECTED_ITEMS_SET]: {\n\t\teffect: handleSnTypeaheadSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t...snTypeaheadQueryActionHandlers,\n};\n\nexport default actionHandlers;\n","import classnames from 'classnames';\n\nimport '../sn-typeahead-wrapper';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { displayValue, internalValue },\n\t\t\tfieldName,\n\t\t\tlabel,\n\t\t\treadOnly,\n\t\t\tselectedOperator,\n\t\t\tshowLabels,\n\t\t},\n\t\ttypeaheadResults: results,\n\t\ttypeaheadSearchStatus: searchStatus,\n\t} = state;\n\n\tconst isMultiSelection = ['NOT IN', 'IN'].includes(selectedOperator);\n\n\tconst containerClassnames = classnames('sn-value-editor-choice', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<sn-typeahead-wrapper\n\t\t\t\tdisplayValue={displayValue}\n\t\t\t\tinternalValue={internalValue}\n\t\t\t\tisMultiSelection={isMultiSelection}\n\t\t\t\tlabel={label}\n\t\t\t\tname={fieldName}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tresults={results}\n\t\t\t\tsearchStatus={searchStatus}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport { actionHandlers } from './actions';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-choice', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Value for input\n\t\t */\n\t\teditorValue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\t/**\n\t\t * The field name\n\t\t */\n\t\tfieldName: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Label text that displays on top of the component\n\t\t */\n\t\tlabel: { schema: { type: 'string' }, default: t('Value') },\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * The selected operator internal value. Will be used to determine if the operator is multi selection.\n\t\t */\n\t\tselectedOperator: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * The table name\n\t\t */\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tactionHandlers,\n});\n","import get from 'lodash/get';\n\nimport { SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET } from '../sn-typeahead-wrapper/actionTypes';\nimport snTypeaheadWrapperQuery from '../sn-typeahead-wrapper/queryActionHandlers';\nimport { SN_VALUE_EDITOR_VALUE_SET } from '../sn-value-editor-commons/actionTypes';\n\nconst query = `\nquery ($tableReference:String!) {\n    GlideConditionBuilder_Query {\n        dynamicFilterOption(tableReference: $tableReference) {\n            dynamicFilterOptions {\n                value\n                label\n            }\n        }\n    }\n}\n`;\n\nconst getVariables = (coeffects) => {\n\tconst {\n\t\tproperties: { fieldName, metadataCache, source },\n\t} = coeffects;\n\n\tif (source) {\n\t\treturn {\n\t\t\ttableReference: get(\n\t\t\t\tmetadataCache,\n\t\t\t\t`tableMetadata.${source}.${fieldName}.referenceTable`,\n\t\t\t\t''\n\t\t\t),\n\t\t};\n\t}\n\n\treturn {};\n};\n\nconst mapResults = (data) => {\n\tconst options = get(\n\t\tdata,\n\t\t'GlideConditionBuilder_Query.dynamicFilterOption.dynamicFilterOptions',\n\t\t[]\n\t);\n\n\tconst items = options.map((option) => ({\n\t\tid: option?.value,\n\t\tlabel: option?.label,\n\t}));\n\n\treturn {\n\t\titems,\n\t\ttotalCount: items.length,\n\t};\n};\n\nconst variableList = ['tableReference'];\n\nconst {\n\tactionHandlers: snTypeaheadQueryActionHandlers,\n} = snTypeaheadWrapperQuery(query, {\n\tgetVariables,\n\tmapResults,\n\tvariableList,\n});\n\nconst handleSnTypeaheadSelectedItemSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: payloadValue, displayValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tconst displayValueMutated = Array.isArray(displayValue)\n\t\t? displayValue.join(',')\n\t\t: displayValue;\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue: payloadValue,\n\t\t\tdisplayValue: displayValueMutated,\n\t\t},\n\t});\n};\n\nexport const actionHandlers = {\n\t[SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET]: {\n\t\teffect: handleSnTypeaheadSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t...snTypeaheadQueryActionHandlers,\n};\n\nexport default actionHandlers;\n","import get from 'lodash/get';\n\nimport fetchingValueEditorBehavior from '../../behaviors/fetchingValueEditorBehavior';\nimport createFetchingValueEditorGraphQLEffect from '../../behaviors/fetchingValueEditorBehavior/createFetchingValueEditorGraphQLEffect.query';\n\nconst tableMetadataQuery = `\n    query ($source: String!) {\n        GlidePredicateBuilder_Query {\n            getTableMetadata(tableName: $source) {\n                tableMetadata {\n                    name\n                    label\n                    fieldMetadata {\n                        name\n                        label\n                        type\n                        referenceTable\n                        referenceTableDefaultField\n                        referenceKey\n                        dynamicSchemaData {\n                            name\n                            value\n                        }\n                        dictionaryAttributes {\n                            name\n                            value\n                        }\n                        recordHierarchies {\n                            sysId\n                            name\n                            label\n                            table\n                            referenceField\n                            pathField\n                        }\n                    }\n                }\n                infoMessages {\n                    header\n                    content\n                    status\n                }\n            }\n        }\n    }\n`;\n\nconst computeCachePathFn = ({ source }) => `tableMetadata.${source}`;\n\nconst transformFn = (data) => {\n\tconst tableMetadata = get(\n\t\tdata,\n\t\t'GlidePredicateBuilder_Query.getTableMetadata.tableMetadata[0].fieldMetadata',\n\t\t[]\n\t);\n\n\tconst newTableMetadata = {};\n\n\ttableMetadata.forEach((metadata) => {\n\t\tconst { name } = metadata;\n\t\tnewTableMetadata[name] = metadata;\n\t});\n\n\treturn newTableMetadata;\n};\n\nexport const tableMetadataGraphQLEffect = createFetchingValueEditorGraphQLEffect(\n\ttableMetadataQuery,\n\t['source']\n);\n\nexport const tableMetadataBehavior = {\n\tbehavior: fetchingValueEditorBehavior,\n\toptions: {\n\t\tcomputeCachePathFn,\n\t\tdisableFetchOnBootstrap: true,\n\t\ttransformFn,\n\t},\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nimport { SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA } from '../../behaviors/fetchingValueEditorBehavior/constants';\nimport { tableMetadataGraphQLEffect } from '../sn-value-editor-commons/tableMetadataBehavior';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties,\n\t\tproperties: { metadataCache, source },\n\t} = coeffects;\n\n\tconst hasCachedMetadata = get(metadataCache, `tableMetadata.${source}}`);\n\n\tif (!hasCachedMetadata) {\n\t\tdispatch(SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA, { ...properties });\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrap,\n\t[SN_CONDITION_BUILDER_FETCH_EDITOR_METADATA]: tableMetadataGraphQLEffect,\n};\n\nexport default actionHandlers;\n","const view = () => {\n\treturn <slot />;\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { createLoadingView } from '../../behaviors/fetchingValueEditorBehavior';\nimport { SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES } from '../sn-value-editor-commons/constants';\nimport { tableMetadataBehavior } from '../sn-value-editor-commons/tableMetadataBehavior';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\n/**\n * Wrapper component to handle querying for non-variable references.\n */\ncreateCustomElement('sn-query-table-metadata', {\n\tactionHandlers,\n\tbehaviors: [tableMetadataBehavior],\n\tproperties: {\n\t\t...SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES,\n\t},\n\trenderer: { type: snabbdom },\n\tslots: {\n\t\tdefaultSlot: {},\n\t},\n\tview: createLoadingView(view),\n});\n","import get from 'lodash/get';\n\nimport fetchingValueEditorBehavior from '../../behaviors/fetchingValueEditorBehavior';\nimport createFetchingValueEditorGraphQLEffect from '../../behaviors/fetchingValueEditorBehavior/createFetchingValueEditorGraphQLEffect.query';\n\nconst variableMetadataQuery = `\n    query ($variableIds: [String!]) {\n        GlideVariables_Query {\n            getVariableMetadata(variableIds: $variableIds) {\n                variableMetadata {\n                    name: sysId\n                    label: displayValue\n                    type\n                    referenceTable\n                    referenceTableDefaultField\n                }\n            }\n        }\n    }\n`;\n\nconst computeCachePathFn = ({ source }) => `tableMetadata.${source}`;\n\nconst transformFn = (data) => {\n\tconst variableMetadata = get(\n\t\tdata,\n\t\t'GlideVariables_Query.getVariableMetadata.variableMetadata',\n\t\t[]\n\t);\n\n\tconst newMetadata = {};\n\n\tvariableMetadata.forEach((metadata) => {\n\t\tconst { name } = metadata;\n\t\tnewMetadata[name] = metadata;\n\t});\n\n\treturn newMetadata;\n};\n\nexport const variableMetadataGraphQLEffect = createFetchingValueEditorGraphQLEffect(\n\tvariableMetadataQuery,\n\t['variableIds']\n);\n\nexport const variableMetadataBehavior = {\n\tbehavior: fetchingValueEditorBehavior,\n\toptions: {\n\t\tcomputeCachePathFn,\n\t\tdisableFetchOnBootstrap: true,\n\t\ttransformFn,\n\t},\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nimport { SN_CONDITION_BUILDER_FETCH_VARIABLE_METADATA } from '../sn-value-editor-commons/actionTypes';\nimport { variableMetadataGraphQLEffect } from '../sn-value-editor-commons/variableMetadataBehavior';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties,\n\t\tproperties: { fieldName, metadataCache, source },\n\t} = coeffects;\n\n\tconst hasCachedMetadata = get(\n\t\tmetadataCache,\n\t\t`tableMetadata.${source}.${fieldName}`\n\t);\n\n\tif (!hasCachedMetadata) {\n\t\tdispatch(SN_CONDITION_BUILDER_FETCH_VARIABLE_METADATA, {\n\t\t\t...properties,\n\t\t\tvariableIds: [fieldName],\n\t\t});\n\t}\n};\n\nconst handleComponentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (['fieldName'].includes(name)) {\n\t\thandleComponentBootstrap(coeffects);\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t[SN_CONDITION_BUILDER_FETCH_VARIABLE_METADATA]: variableMetadataGraphQLEffect,\n};\n\nexport default actionHandlers;\n","const view = () => {\n\treturn <slot />;\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { createLoadingView } from '../../behaviors/fetchingValueEditorBehavior';\nimport { SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES } from '../sn-value-editor-commons/constants';\nimport { variableMetadataBehavior } from '../sn-value-editor-commons/variableMetadataBehavior';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\n/**\n * Wrapper component to handle querying for variable references.\n */\ncreateCustomElement('sn-query-variable-metadata', {\n\tactionHandlers,\n\tbehaviors: [variableMetadataBehavior],\n\tproperties: SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES,\n\trenderer: { type: snabbdom },\n\tslots: {\n\t\tdefaultSlot: {},\n\t},\n\tview: createLoadingView(view),\n});\n","import classnames from 'classnames';\n\nimport { isVariableField } from '../sn-condition-builder-variables-row/utils';\n\nimport '../sn-typeahead-wrapper';\nimport '../sn-query-table-metadata';\nimport '../sn-query-variable-metadata';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\teditorValue: { displayValue, internalValue },\n\t\t\tselectedField: { internalValue: fieldInternalValue },\n\t\t\tfieldName,\n\t\t\tlabel,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t\ttypeaheadResults: results,\n\t\ttypeaheadSearchStatus: searchStatus,\n\t} = state;\n\n\tconst isVariableFlow = isVariableField(fieldInternalValue);\n\n\tconst TAG_NAME = isVariableFlow\n\t\t? 'sn-query-variable-metadata'\n\t\t: 'sn-query-table-metadata';\n\n\tconst containerClassnames = classnames('sn-value-editor-choice-dynamic', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<TAG_NAME {...properties}>\n\t\t\t\t<sn-typeahead-wrapper\n\t\t\t\t\tdisplayValue={displayValue}\n\t\t\t\t\tfieldName={fieldName}\n\t\t\t\t\tinternalValue={internalValue}\n\t\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tresults={results}\n\t\t\t\t\tsearchStatus={searchStatus}\n\t\t\t\t/>\n\t\t\t<\/TAG_NAME>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES } from '../sn-value-editor-commons/constants';\n\nimport { actionHandlers } from './actions';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-choice-dynamic', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t...SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES,\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tselectedField: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tactionHandlers,\n});\n","import {\n\tSN_DOT_WALK_PATH_UPDATED,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst handleDotwalkPathUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tcurrentSelectedItemInternalValue,\n\t\t\t\tcurrentSelectedItemDisplayValue,\n\t\t\t\tdotWalkPath: dotwalkPath,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: currentSelectedItemInternalValue,\n\t\tvalue: {\n\t\t\tinternalValue: currentSelectedItemInternalValue,\n\t\t\tdisplayValue: currentSelectedItemDisplayValue,\n\t\t\tdotwalkPath,\n\t\t},\n\t});\n};\n\nconst actionHandlers = {\n\t[SN_DOT_WALK_PATH_UPDATED]: {\n\t\teffect: handleDotwalkPathUpdated,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import '@servicenow/now-dot-walk';\n\nimport '../sn-dot-walk-popover';\nimport classnames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport {\n\tgetFilteredPanelDefinitions,\n\tfilterDotwalkFn,\n} from '../sn-value-editor-commons/utils';\n\nconst valueLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Value',\n\tcomment: \"Label for a field's value input\",\n});\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { internalValue, displayValue, dotwalkPath },\n\t\t\tmetadataCache: { tableMetadata },\n\t\t\tpanelDefinitions,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t\tsource,\n\t\t\tselectedField,\n\t\t},\n\t} = state;\n\n\tconst filteredPanelDefinitions = getFilteredPanelDefinitions({\n\t\tpanelDefinitions,\n\t\ttableMetadata,\n\t\tfieldType: selectedField.type,\n\t\ttransformFunctions: [filterDotwalkFn],\n\t});\n\n\tconst containerClassnames = classnames('sn-value-editor-choice-field', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<sn-dot-walk-popover\n\t\t\t\tdisplayValue={displayValue}\n\t\t\t\tdotwalkPath={dotwalkPath}\n\t\t\t\tfieldInternalValue={internalValue}\n\t\t\t\tlabel={valueLabel}\n\t\t\t\tpanelDefinitions={filteredPanelDefinitions}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\tsource={source}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-choice-field-names', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\teditorValue: { schema: { type: 'object' } },\n\t\tmetadataCache: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tdefault: {},\n\t\t},\n\t\tselectedField: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\tsource: { schema: { type: 'string' }, default: '' },\n\t},\n\tactionHandlers,\n});\n","import {\n\tNOW_INPUT_INPUT,\n\tNOW_INPUT_VALUE_SET,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst handleInputValueChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { fieldValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tdisplayValue: fieldValue,\n\t\t\tinternalValue: fieldValue,\n\t\t},\n\t});\n};\n\nexport const actionHandlers = {\n\t[NOW_INPUT_INPUT]: {\n\t\teffect: handleInputValueChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_INPUT_VALUE_SET]: {\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import '@servicenow/now-input';\nimport classnames from 'classnames';\n\nimport { defaultNumberInputPlaceholder } from '../sn-value-editor-commons/constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\tisNumber,\n\t\t\tmessages,\n\t\t\teditorValue: { internalValue },\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t} = state;\n\n\tconst containerClassNames = classnames('sn-value-editor-number', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassNames}>\n\t\t\t<now-input\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: {\n\t\t\t\t\t\t'aria-label': label,\n\t\t\t\t\t\t'aria-live': 'assertive',\n\t\t\t\t\t\t'aria-invalid': messages?.length > 0 ? 'true' : 'false',\n\t\t\t\t\t\t'aria-describedby': messages?.[0]?.id,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\tplaceholder={defaultNumberInputPlaceholder}\n\t\t\t\treadonly={readOnly}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvalue={internalValue}\n\t\t\t\ttype={isNumber ? 'number' : 'integer'}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\nexport default view;\n","/**\n * Escapes all the carets by doubling them. This is the convention for carets.\n * Escaping the carets should only be done when transporting the query.\n * carets should only be unescaped before displaying value or querying a GlideRecord\n * @param value query value eg. '<field>OPERAND<value>'\n * @returns {string}\n */\nexport function escapeEmbeddedQueryTermSeparator(value) {\n\tif (!value) return value;\n\treturn value.replace(/\\^/gm, '^^');\n}\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport { updateEditorDisplayValueWithInternalValue } from '../sn-value-editor-commons/utils';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-number', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\ttransformState: updateEditorDisplayValueWithInternalValue,\n\tproperties: {\n\t\teditorValue: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\tisNumber: { schema: { type: 'boolean' }, default: false },\n\t\tmessages: {\n\t\t\tschema: { type: 'array' },\n\t\t\tdefault: [],\n\t\t},\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Number',\n\t\t\t\tcomment: 'Default label for a number input field',\n\t\t\t}),\n\t\t},\n\t\treadOnly: { schema: { type: 'boolean' }, default: false },\n\t\tshowLabels: { schema: { type: 'boolean' }, default: true },\n\t},\n\tactionHandlers,\n});\n","import { escapeEmbeddedQueryTermSeparator } from '../../utils/escapeEmbeddedQueryTermSeparator';\nimport {\n\tNOW_INPUT_INPUT,\n\tNOW_INPUT_VALUE_SET,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst handleInputValueChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { fieldValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tconst displayValue = fieldValue;\n\tconst internalValue = escapeEmbeddedQueryTermSeparator(fieldValue);\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tdisplayValue,\n\t\t\tinternalValue,\n\t\t},\n\t});\n};\nexport const actionHandlers = {\n\t[NOW_INPUT_INPUT]: {\n\t\teffect: handleInputValueChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_INPUT_VALUE_SET]: {\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import '@servicenow/now-input';\nimport classnames from 'classnames';\n\nimport { defaultInputPlaceholder } from '../sn-value-editor-commons/constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\teditorValue: { displayValue },\n\t\t\tplaceHolderText,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t} = state;\n\n\tconst divClassnames = classnames('sn-value-editor-string', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={divClassnames}>\n\t\t\t<now-input\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: { 'aria-label': label },\n\t\t\t\t}}\n\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\tplaceholder={placeHolderText || defaultInputPlaceholder}\n\t\t\t\treadonly={readOnly}\n\t\t\t\tsize=\"sm\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tvalue={displayValue}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport { updateEditorDisplayValueWithInternalValue } from '../sn-value-editor-commons/utils';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-string', {\n\trenderer: { type: snabbdom },\n\tview,\n\ttransformState: updateEditorDisplayValueWithInternalValue,\n\tproperties: {\n\t\teditorValue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Value',\n\t\t\t\tcomment: 'Default label for a string input field',\n\t\t\t}),\n\t\t},\n\t\tplaceHolderText: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tstyles,\n\tactionHandlers,\n});\n","import {\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst handleDropdownItemClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { item },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue: item.id,\n\t\t\tdisplayValue: item.label,\n\t\t},\n\t});\n};\n\nexport const actionHandlers = {\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: handleDropdownItemClicked,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { t } from 'sn-translate';\n\nexport const SN_VALUE_EDITOR_YESNO = 'sn-value-editor-yes-no';\n// boolean values\nexport const yesDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Yes',\n\tcomment: 'Display value for the boolean \"Yes\" option',\n});\nexport const noDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'No',\n\tcomment: 'Display value for the boolean \"No\" option',\n});\nexport const yesValue = 'Yes';\nexport const noValue = 'No';\nexport const choices = [\n\t{ id: yesValue, label: yesDisplayValue },\n\t{ id: noValue, label: noDisplayValue },\n];\n","import '@servicenow/now-select';\n\nimport { t } from 'sn-translate';\n\nimport { choices } from './constants';\n\nconst translatedAriaLabel = t('Select a value');\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\teditorValue: { internalValue },\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t} = state;\n\n\treturn (\n\t\t<div className=\"sn-value-editor-yes-no\">\n\t\t\t<now-select\n\t\t\t\tconfigAria={{\n\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t'aria-label': translatedAriaLabel,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\titems={choices}\n\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\treadonly={readOnly}\n\t\t\t\tselectedItem={internalValue}\n\t\t\t\tsize=\"sm\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport { actionHandlers } from './actions';\nimport { SN_VALUE_EDITOR_YESNO } from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement(SN_VALUE_EDITOR_YESNO, {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Value for the component\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\teditorValue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Label text that displays on top of the component\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' }, default: t('Select Yes/No') },\n\t\treadOnly: { schema: { type: 'boolean' }, default: false },\n\t\tshowLabels: { schema: { type: 'boolean' }, default: true },\n\t},\n\tstyles,\n\tactionHandlers,\n});\n","import { escapeEmbeddedQueryTermSeparator } from '../../utils/escapeEmbeddedQueryTermSeparator';\nimport {\n\tNOW_TEXTAREA_INPUT,\n\tNOW_TEXTAREA_VALUE_SET,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst dispatchTransformedEditorValue = (\n\tdispatch,\n\teditorValue,\n\tpayloadValue\n) => {\n\tconst newValue = replaceNewlinesWithCommas(payloadValue);\n\tconst displayValue = newValue;\n\tconst internalValue = escapeEmbeddedQueryTermSeparator(newValue);\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tdisplayValue,\n\t\t\tinternalValue,\n\t\t},\n\t});\n};\n\nconst replaceNewlinesWithCommas = (text) => {\n\tconst mapObj = {\n\t\t'\\n': ',',\n\t};\n\n\treturn text\n\t\t? text.replace(\n\t\t\t\tnew RegExp(Object.keys(mapObj).join('|'), 'gi'),\n\t\t\t\t(matched) => {\n\t\t\t\t\treturn mapObj[matched];\n\t\t\t\t}\n\t\t  )\n\t\t: text;\n};\n\nconst handleTextAreaInput = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { fieldValue: payloadValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tdispatchTransformedEditorValue(dispatch, editorValue, payloadValue);\n};\n\nconst handleTextAreaValueSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: payloadValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tdispatchTransformedEditorValue(dispatch, editorValue, payloadValue);\n};\n\nexport const actionHandlers = {\n\t[NOW_TEXTAREA_INPUT]: {\n\t\teffect: handleTextAreaInput,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TEXTAREA_VALUE_SET]: {\n\t\teffect: handleTextAreaValueSet,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-textarea';\nimport classnames from 'classnames';\n\nimport { defaultInputPlaceholder } from '../sn-value-editor-commons/constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\teditorValue: { displayValue },\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t} = state;\n\n\tconst containerClassNames = classnames('sn-value-editor-textarea', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassNames}>\n\t\t\t<now-textarea\n\t\t\t\tcolor=\"initial\"\n\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\tmanageValue={true}\n\t\t\t\tplaceholder={defaultInputPlaceholder}\n\t\t\t\treadonly={readOnly}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvalue={displayValue}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport { updateEditorDisplayValueWithInternalValue } from '../sn-value-editor-commons/utils';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-textarea', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\ttransformState: updateEditorDisplayValueWithInternalValue,\n\tproperties: {\n\t\t/**\n\t\t * Value object for textarea\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\teditorValue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Label text that displays on top of the component\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Value',\n\t\t\t\tcomment: 'Default label for a textarea input field',\n\t\t\t}),\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: { schema: { type: 'boolean' }, default: true },\n\t},\n\tactionHandlers,\n});\n","import { SN_RECORD_LOOKUP_VALUE_CHANGED } from '../sn-record-lookup/actionTypes';\nimport { SN_VALUE_EDITOR_VALUE_SET } from '../sn-value-editor-commons/actionTypes';\n\nconst handleRecordLookupValueChanged = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tvalue: { internalValue, displayValue },\n\t\t\t},\n\t\t},\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tif (internalValue !== editorValue.internalValue) {\n\t\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\t\tvalue: {\n\t\t\t\tinternalValue,\n\t\t\t\tdisplayValue,\n\t\t\t},\n\t\t\toldValue: editorValue,\n\t\t});\n\t}\n};\n\nconst actionHandlers = {\n\t[SN_RECORD_LOOKUP_VALUE_CHANGED]: {\n\t\teffect: handleRecordLookupValueChanged,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-record-field-lookup-connected';\nimport classnames from 'classnames';\nimport '../sn-record-lookup';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { displayValue, internalValue },\n\t\t\tlabel,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t} = state;\n\n\tconst containerClassnames = classnames('sn-value-editor-tag', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<sn-record-lookup\n\t\t\t\tadditionalQueryString=\"nameISNOTEMPTY\"\n\t\t\t\tdisplayValue={displayValue}\n\t\t\t\tfieldName=\"name\"\n\t\t\t\tinternalValue={internalValue}\n\t\t\t\tlabel={label}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\ttableName=\"label\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-tag', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Value for tag\n\t\t * @type {object}\n\t\t */\n\t\teditorValue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Label that displays on top of the component\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Value',\n\t\t\t\tcomment: 'Default label for a tag input field',\n\t\t\t}),\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tactionHandlers,\n});\n","import { t } from 'sn-translate';\n\n// PERIOD VALUES & OPTIONS\nexport const afterDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'After',\n\tcomment: 'Label for the \"After\" option in a time period dropdown',\n});\nexport const afterInternalValue = 'GT';\nexport const beforeDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Before',\n\tcomment: 'Label for the \"Before\" option in a time period dropdown',\n});\nexport const beforeInternalValue = 'LT';\nexport const periodLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Before/After',\n\tcomment: 'Label for a dropdown that allows selecting \"Before\" or \"After\"',\n});\nexport const periodTriggerLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Select Before/After',\n\tcomment: 'Placeholder text for the \"Before/After\" dropdown',\n});\n\nexport const PERIOD_SELECT_OPTIONS = [\n\t{ id: afterInternalValue, label: afterDisplayValue },\n\t{ id: beforeInternalValue, label: beforeDisplayValue },\n];\n\n// TIME & TIME UNIT VALUES & OPTIONS\nexport const daysDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Days',\n\tcomment: 'Label for the \"Days\" time unit option in a dropdown',\n});\nexport const daysInternalValue = 'dayofweek';\nexport const hoursDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Hours',\n\tcomment: 'Label for the \"Hours\" time unit option in a dropdown',\n});\nexport const hoursInternalValue = 'hour';\nexport const minutesDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Minutes',\n\tcomment: 'Label for the \"Minutes\" time unit option in a dropdown',\n});\nexport const minutesInternalValue = 'minute';\nexport const monthsDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Months',\n\tcomment: 'Label for the \"Months\" time unit option in a dropdown',\n});\nexport const monthsInternalValue = 'month';\nexport const quartersDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Quarters',\n\tcomment: 'Label for the \"Quarters\" time unit option in a dropdown',\n});\nexport const quartersInternalValue = 'quarter';\nexport const secondsInternalValue = 'seconds';\nexport const yearsDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Years',\n\tcomment: 'Label for the \"Years\" time unit option in a dropdown',\n});\nexport const yearsInternalValue = 'year';\n\nexport const timeLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Time',\n\tcomment: 'Label for a time input field',\n});\nexport const timeTriggerLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Select a time',\n\tcomment: 'Placeholder text for a time unit selection dropdown',\n});\n\nexport const TIME_UNIT_SELECT_OPTIONS = [\n\t{ id: minutesInternalValue, label: minutesDisplayValue },\n\t{ id: hoursInternalValue, label: hoursDisplayValue },\n\t{ id: daysInternalValue, label: daysDisplayValue },\n\t{ id: monthsInternalValue, label: monthsDisplayValue },\n\t{ id: quartersInternalValue, label: quartersDisplayValue },\n\t{ id: yearsInternalValue, label: yearsDisplayValue },\n];\n\n// RELATIVE TO VALUES & OPTIONS\nexport const agoDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Ago',\n\tcomment: 'Label for the \"Ago\" option in a relative time dropdown',\n});\nexport const agoInternalValue = 'ago';\nexport const fromNowDisplayValue = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'From Now',\n\tcomment: 'Label for the \"From Now\" option in a relative time dropdown',\n});\nexport const fromNowInternalValue = 'ahead';\nexport const relativeToLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Now/Ago',\n\tcomment: 'Label for a dropdown that allows selecting \"Now\" or \"Ago\"',\n});\nexport const relativeToTriggerLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Select Now/Ago',\n\tcomment: 'Placeholder text for the \"Now/Ago\" dropdown',\n});\n\nexport const RELATIVE_TO_SELECT_OPTIONS = [\n\t{ id: agoInternalValue, label: agoDisplayValue },\n\t{ id: fromNowInternalValue, label: fromNowDisplayValue },\n];\n\n// Input validation - KeyCode 189 represents the minus/hyphen key\nexport const BLOCKED_KEY_CODES = [189];\nexport const NEGATIVE_SIGN = '-';\n","import {\n\tBLOCKED_KEY_CODES,\n\tNEGATIVE_SIGN,\n\tPERIOD_SELECT_OPTIONS,\n\tRELATIVE_TO_SELECT_OPTIONS,\n\tTIME_UNIT_SELECT_OPTIONS,\n} from './constants';\n\n/**\n * Transform the Decoded Query's editorValue.internalValue to a state object\n * @param {String} editorValue example: \"GT@minute@ago@8\"\n * @returns {object}\n */\nexport function transformInternalValueToState(value = '') {\n\t// regex is looking for an exact match (example: \"LT@hours@ahead@10\") or will default to empty array\n\tconst matches = value?.match?.(/(\\w*)@(\\w*)@(\\w*)@(\\w*)/) || [];\n\n\tconst [\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t_all, // not used\n\t\tperiodValue = '',\n\t\ttimeUnitValue = '',\n\t\trelativeToValue = '',\n\t\ttimeValue = '',\n\t] = matches;\n\n\treturn {\n\t\tperiodValue,\n\t\trelativeToValue,\n\t\ttimeUnitValue,\n\t\ttimeValue,\n\t};\n}\n\n/**\n * Transform a state object to an internalValue string\n * @param {object} state\n * @returns {string}\n */\nexport function transformStateToInternalValue(state) {\n\tconst { periodValue, relativeToValue, timeUnitValue, timeValue } = state;\n\n\t// all need to be defined to return a value\n\tif (periodValue && relativeToValue && timeUnitValue && timeValue) {\n\t\treturn `${periodValue}@${timeUnitValue}@${relativeToValue}@${timeValue}`;\n\t} else {\n\t\treturn '';\n\t}\n}\n\n/**\n * Transform a state object to a displayValue string\n * @param {object} state\n * @returns {string}\n */\nexport function transformStateToDisplayValue(state) {\n\tconst { periodValue, relativeToValue, timeUnitValue, timeValue } = state;\n\n\t// all need to be defined to return a value\n\tif (periodValue && relativeToValue && timeUnitValue && timeValue) {\n\t\tconst periodLabel = PERIOD_SELECT_OPTIONS.find(\n\t\t\t(option) => option.id === periodValue\n\t\t)?.label;\n\n\t\tconst relativeToLabel = RELATIVE_TO_SELECT_OPTIONS.find(\n\t\t\t(option) => option.id === relativeToValue\n\t\t)?.label;\n\n\t\tconst timeUnitLabel = TIME_UNIT_SELECT_OPTIONS.find(\n\t\t\t(option) => option.id === timeUnitValue\n\t\t)?.label;\n\n\t\treturn `${periodLabel} ${timeValue} ${timeUnitLabel} ${relativeToLabel}`;\n\t} else {\n\t\treturn '';\n\t}\n}\n\n/**\n * Prevents negative values from being entered via keyboard\n * by blocking specific key codes (like the minus sign)\n *\n * @param {KeyboardEvent} e - The keyboard event object\n * @returns {void}\n */\nexport const handleNegativeKeyDown = (e) => {\n\tif (BLOCKED_KEY_CODES.includes(e.keyCode)) e.preventDefault();\n};\n\n/**\n * Prevents negative values from being pasted into the input\n * by checking if the pasted content contains a minus sign\n *\n * @param {ClipboardEvent} e - The clipboard event object\n * @returns {void}\n */\nexport const handleNegativePaste = (e) => {\n\tif (!e || !e.clipboardData) {\n\t\treturn;\n\t}\n\n\tconst pastedData = e.clipboardData.getData('text');\n\n\tif (pastedData.includes(NEGATIVE_SIGN)) {\n\t\te.preventDefault();\n\t}\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nimport {\n\tNOW_DROPDOWN_ITEM_CLICKED,\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tNOW_INPUT_VALUE_SET,\n\tNOW_INPUT_INPUT,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nimport {\n\ttransformInternalValueToState,\n\ttransformStateToDisplayValue,\n\ttransformStateToInternalValue,\n} from './utils';\n\n// exports for testing purposes only\nexport const dispatchValueSet = (dispatch, updatedState) => {\n\tconst {\n\t\tproperties: { editorValue },\n\t} = updatedState;\n\n\tconst updatedInternalValue = transformStateToInternalValue(updatedState);\n\tconst updatedDisplayValue = transformStateToDisplayValue(updatedState);\n\n\tif (updatedInternalValue !== '') {\n\t\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\t\toldValue: editorValue,\n\t\t\tvalue: {\n\t\t\t\tdisplayValue: updatedDisplayValue,\n\t\t\t\tinternalValue: updatedInternalValue,\n\t\t\t},\n\t\t});\n\t}\n};\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { internalValue = '' },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst newState = transformInternalValueToState(internalValue);\n\n\tupdateState(newState);\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (name === 'editorValue') {\n\t\thandleBootstrap(coeffects);\n\t}\n};\n\nconst handleItemClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { item, source },\n\t\t},\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (source && item?.id) {\n\t\tupdateState({ [source]: item.id });\n\t\tdispatchValueSet(dispatch, { ...state, [source]: item.id });\n\t}\n};\nconst handleInputValueChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { fieldValue, source },\n\t\t},\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (source) {\n\t\tupdateState({ [source]: fieldValue });\n\n\t\t// only dispatch if the time input field is not empty\n\t\tif (fieldValue !== '') {\n\t\t\tdispatchValueSet(dispatch, { ...state, [source]: fieldValue });\n\t\t}\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DROPDOWN_ITEM_CLICKED]: {\n\t\teffect: handleItemClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: handleItemClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_INPUT_INPUT]: {\n\t\teffect: handleInputValueChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_INPUT_VALUE_SET]: {\n\t\tstopPropagation: true,\n\t},\n};\n","import '@servicenow/now-select';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-input';\nimport '@servicenow/now-icon';\nimport classnames from 'classnames';\n\nimport {\n\tperiodLabel,\n\tperiodTriggerLabel,\n\trelativeToLabel,\n\trelativeToTriggerLabel,\n\ttimeLabel,\n\ttimeTriggerLabel,\n\tPERIOD_SELECT_OPTIONS,\n\tTIME_UNIT_SELECT_OPTIONS,\n\tRELATIVE_TO_SELECT_OPTIONS,\n} from './constants';\nimport { handleNegativeKeyDown, handleNegativePaste } from './utils';\n\nconst view = (state) => {\n\tconst {\n\t\tperiodValue,\n\t\trelativeToValue,\n\t\ttimeUnitValue,\n\t\ttimeValue,\n\t\tproperties: { readOnly, showLabels },\n\t} = state;\n\n\tconst containerClassNames = classnames('sn-value-editor-date-relative', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassNames}>\n\t\t\t<div className=\"option-container\">\n\t\t\t\t<now-select\n\t\t\t\t\tappend-to-payload={{ source: 'periodValue' }}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tpanel: {\n\t\t\t\t\t\t\t'aria-label': periodLabel,\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t'aria-label': periodTriggerLabel,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\titems={PERIOD_SELECT_OPTIONS}\n\t\t\t\t\tlabel={showLabels ? periodLabel : null}\n\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\tselect=\"single\"\n\t\t\t\t\tselectedItem={periodValue}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div>\n\t\t\t\t<now-input\n\t\t\t\t\tappend-to-payload={{ source: 'timeValue' }}\n\t\t\t\t\tlabel={showLabels ? timeLabel : null}\n\t\t\t\t\tmin=\"0\"\n\t\t\t\t\tonkeydown={handleNegativeKeyDown}\n\t\t\t\t\tonpaste={handleNegativePaste}\n\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tvalue={timeValue}\n\t\t\t\t>\n\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\tappend-to-payload={{ source: 'timeUnitValue' }}\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\tpanel: {\n\t\t\t\t\t\t\t\t'aria-label': timeLabel,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t\t'aria-label': timeTriggerLabel,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\titems={TIME_UNIT_SELECT_OPTIONS}\n\t\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\t\tselect=\"single\"\n\t\t\t\t\t\tselected-items={timeUnitValue ? [timeUnitValue] : []}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t/>\n\t\t\t\t<\/now-input>\n\t\t\t<\/div>\n\t\t\t<div className=\"value-container\">\n\t\t\t\t<now-select\n\t\t\t\t\tappend-to-payload={{ source: 'relativeToValue' }}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tpanel: {\n\t\t\t\t\t\t\t'aria-label': relativeToLabel,\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t'aria-label': relativeToTriggerLabel,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\titems={RELATIVE_TO_SELECT_OPTIONS}\n\t\t\t\t\tlabel={showLabels ? relativeToLabel : null}\n\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\tselect=\"single\"\n\t\t\t\t\tselectedItem={relativeToValue}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-date-relative', {\n\tactionHandlers,\n\tinitialState: {\n\t\tperiodValue: '', // After, before\n\t\trelativeToValue: '', // Ago, From Now\n\t\ttimeUnitValue: '', // Minutes, Hours, Days...\n\t\ttimeValue: '', // (numeric time value) 1, 2, 3 ...\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Value for input\n\t\t * @type {object}\n\t\t */\n\t\teditorValue: {\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t},\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview,\n});\n","export const SN_DATE_POPOVER_CONTENT_BACK_BUTTON_CLICKED =\n\t'SN_DATE_POPOVER_CONTENT_BACK#BUTTON_CLICKED';\n\nexport const SN_DATE_POPOVER_CONTENT_PANEL_UPDATED =\n\t'SN_DATE_POPOVER_CONTENT#PANEL_UPDATED';\n\nexport const SN_DATE_POPOVER_CONTENT_ITEM_SELECTED =\n\t'SN_DATE_POPOVER_CONTENT#ITEM_SELECTED';\n\nexport const SN_DATE_POPOVER_CONTENT_KEY_PRESSED =\n\t'SN_DATE_POPOVER_CONTENT#KEY_PRESSED';\n\nexport const SN_DATE_POPOVER_CONTENT_KEY_PRESSED_ICONIC =\n\t'SN_DATE_POPOVER_CONTENT#KEY_PRESSED_ICONIC';\n\nexport const FIRST_PANEL = 'first-panel';\nexport const SECOND_PANEL = 'second-panel';\n\nexport const FIRST_PANEL_ITEMS = `div.slide.${FIRST_PANEL} ul li`;\nexport const SECOND_PANEL_ITEMS = `div.slide.${SECOND_PANEL} ul li`;\n\nexport const DATE_TREND_DATA = [\n\t{\n\t\tid: 'day',\n\t\tlabel: 'Day',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'Monday,dayofweek,monday',\n\t\t\t\tlabel: 'Monday',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Tuesday,dayofweek,tuesday',\n\t\t\t\tlabel: 'Tuesday',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Wednesday,dayofweek,wednesday',\n\t\t\t\tlabel: 'Wednesday',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Thursday,dayofweek,thursday',\n\t\t\t\tlabel: 'Thursday',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Friday,dayofweek,friday',\n\t\t\t\tlabel: 'Friday',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Saturday,dayofweek,saturday',\n\t\t\t\tlabel: 'Saturday',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Sunday,dayofweek,sunday',\n\t\t\t\tlabel: 'Sunday',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'month',\n\t\tlabel: 'Month',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'January,month,Jan',\n\t\t\t\tlabel: 'January',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'February,month,Feb',\n\t\t\t\tlabel: 'February',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'March,month,Mar',\n\t\t\t\tlabel: 'March',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'April,month,Apr',\n\t\t\t\tlabel: 'April',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'May,month,May',\n\t\t\t\tlabel: 'May',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'June,month,June',\n\t\t\t\tlabel: 'June',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'July,month,July',\n\t\t\t\tlabel: 'July',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'August,month,Aug',\n\t\t\t\tlabel: 'August',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'September,month,Sep',\n\t\t\t\tlabel: 'September',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'October,month,Oct',\n\t\t\t\tlabel: 'October',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'November,month,Nov',\n\t\t\t\tlabel: 'November',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'December,month,Dec',\n\t\t\t\tlabel: 'December',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'quarter',\n\t\tlabel: 'Quarter',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'Quarter1,quarter,1',\n\t\t\t\tlabel: 'Quarter1',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Quarter2,quarter,2',\n\t\t\t\tlabel: 'Quarter2',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Quarter3,quarter,3',\n\t\t\t\tlabel: 'Quarter3',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Quarter4,quarter,4',\n\t\t\t\tlabel: 'Quarter4',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'year',\n\t\tlabel: 'Year',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: '2000,year,2000',\n\t\t\t\tlabel: '2000',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2001,year,2001',\n\t\t\t\tlabel: '2001',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2002,year,2002',\n\t\t\t\tlabel: '2002',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2003,year,2003',\n\t\t\t\tlabel: '2003',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2004,year,2004',\n\t\t\t\tlabel: '2004',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2005,year,2005',\n\t\t\t\tlabel: '2005',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2006,year,2006',\n\t\t\t\tlabel: '2006',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2007,year,2007',\n\t\t\t\tlabel: '2007',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2008,year,2008',\n\t\t\t\tlabel: '2008',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2009,year,2009',\n\t\t\t\tlabel: '2009',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2010,year,2010',\n\t\t\t\tlabel: '2010',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2011,year,2011',\n\t\t\t\tlabel: '2011',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2012,year,2012',\n\t\t\t\tlabel: '2012',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2013,year,2013',\n\t\t\t\tlabel: '2013',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2014,year,2014',\n\t\t\t\tlabel: '2014',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2015,year,2015',\n\t\t\t\tlabel: '2015',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2016,year,2016',\n\t\t\t\tlabel: '2016',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2017,year,2017',\n\t\t\t\tlabel: '2017',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2018,year,2018',\n\t\t\t\tlabel: '2018',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2019,year,2019',\n\t\t\t\tlabel: '2019',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2020,year,2020',\n\t\t\t\tlabel: '2020',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2021,year,2021',\n\t\t\t\tlabel: '2021',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2022,year,2022',\n\t\t\t\tlabel: '2022',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2023,year,2023',\n\t\t\t\tlabel: '2023',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2024,year,2024',\n\t\t\t\tlabel: '2024',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2025,year,2025',\n\t\t\t\tlabel: '2025',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2026,year,2026',\n\t\t\t\tlabel: '2026',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2027,year,2027',\n\t\t\t\tlabel: '2027',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2028,year,2028',\n\t\t\t\tlabel: '2028',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2029,year,2029',\n\t\t\t\tlabel: '2029',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'week',\n\t\tlabel: 'Week',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'Week0,week,0',\n\t\t\t\tlabel: 'Week0',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week1,week,1',\n\t\t\t\tlabel: 'Week1',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week2,week,2',\n\t\t\t\tlabel: 'Week2',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week3,week,3',\n\t\t\t\tlabel: 'Week3',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week4,week,4',\n\t\t\t\tlabel: 'Week4',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week5,week,5',\n\t\t\t\tlabel: 'Week5',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week6,week,6',\n\t\t\t\tlabel: 'Week6',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week7,week,7',\n\t\t\t\tlabel: 'Week7',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week8,week,8',\n\t\t\t\tlabel: 'Week8',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week9,week,9',\n\t\t\t\tlabel: 'Week9',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week10,week,10',\n\t\t\t\tlabel: 'Week10',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week11,week,11',\n\t\t\t\tlabel: 'Week11',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week12,week,12',\n\t\t\t\tlabel: 'Week12',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week13,week,13',\n\t\t\t\tlabel: 'Week13',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week14,week,14',\n\t\t\t\tlabel: 'Week14',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week15,week,15',\n\t\t\t\tlabel: 'Week15',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week16,week,16',\n\t\t\t\tlabel: 'Week16',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week17,week,17',\n\t\t\t\tlabel: 'Week17',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week18,week,18',\n\t\t\t\tlabel: 'Week18',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week19,week,19',\n\t\t\t\tlabel: 'Week19',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week20,week,20',\n\t\t\t\tlabel: 'Week20',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week21,week,21',\n\t\t\t\tlabel: 'Week21',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week22,week,22',\n\t\t\t\tlabel: 'Week22',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week23,week,23',\n\t\t\t\tlabel: 'Week23',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week24,week,24',\n\t\t\t\tlabel: 'Week24',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week25,week,25',\n\t\t\t\tlabel: 'Week25',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week26,week,26',\n\t\t\t\tlabel: 'Week26',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week27,week,27',\n\t\t\t\tlabel: 'Week27',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week28,week,28',\n\t\t\t\tlabel: 'Week28',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week29,week,29',\n\t\t\t\tlabel: 'Week29',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week30,week,30',\n\t\t\t\tlabel: 'Week30',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week31,week,31',\n\t\t\t\tlabel: 'Week31',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week32,week,32',\n\t\t\t\tlabel: 'Week32',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week33,week,33',\n\t\t\t\tlabel: 'Week33',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week34,week,34',\n\t\t\t\tlabel: 'Week34',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week35,week,35',\n\t\t\t\tlabel: 'Week35',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week36,week,36',\n\t\t\t\tlabel: 'Week36',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week37,week,37',\n\t\t\t\tlabel: 'Week37',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week38,week,38',\n\t\t\t\tlabel: 'Week38',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week39,week,39',\n\t\t\t\tlabel: 'Week39',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week40,week,40',\n\t\t\t\tlabel: 'Week40',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week41,week,41',\n\t\t\t\tlabel: 'Week41',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week42,week,42',\n\t\t\t\tlabel: 'Week42',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week43,week,43',\n\t\t\t\tlabel: 'Week43',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week44,week,44',\n\t\t\t\tlabel: 'Week44',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week45,week,45',\n\t\t\t\tlabel: 'Week45',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week46,week,46',\n\t\t\t\tlabel: 'Week46',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week47,week,47',\n\t\t\t\tlabel: 'Week47',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week48,week,48',\n\t\t\t\tlabel: 'Week48',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week49,week,49',\n\t\t\t\tlabel: 'Week49',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week50,week,50',\n\t\t\t\tlabel: 'Week50',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week51,week,51',\n\t\t\t\tlabel: 'Week51',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week52,week,52',\n\t\t\t\tlabel: 'Week52',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Week53,week,53',\n\t\t\t\tlabel: 'Week53',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'time',\n\t\tlabel: 'Time',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'Midnight hour,hour,0',\n\t\t\t\tlabel: 'Midnight hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '1 am hour,hour,1',\n\t\t\t\tlabel: '1 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2 am hour,hour,2',\n\t\t\t\tlabel: '2 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '3 am hour,hour,3',\n\t\t\t\tlabel: '3 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '4 am hour,hour,4',\n\t\t\t\tlabel: '4 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '5 am hour,hour,5',\n\t\t\t\tlabel: '5 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '6 am hour,hour,6',\n\t\t\t\tlabel: '6 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '7 am hour,hour,7',\n\t\t\t\tlabel: '7 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '8 am hour,hour,8',\n\t\t\t\tlabel: '8 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '9 am hour,hour,9',\n\t\t\t\tlabel: '9 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '10 am hour,hour,10',\n\t\t\t\tlabel: '10 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '11 am hour,hour,11',\n\t\t\t\tlabel: '11 am hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'Noon hour,hour,12',\n\t\t\t\tlabel: 'Noon hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '1 pm hour,hour,13',\n\t\t\t\tlabel: '1 pm hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '2 pm hour,hour,14',\n\t\t\t\tlabel: '2 pm hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '3 pm hour,hour,15',\n\t\t\t\tlabel: '3 pm hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '4 pm hour,hour,16',\n\t\t\t\tlabel: '4 pm hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '5 pm hour,hour,17',\n\t\t\t\tlabel: '5 pm hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '6 pm hour,hour,18',\n\t\t\t\tlabel: '6 pm hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '7 pm hour,hour,19',\n\t\t\t\tlabel: '7 pm hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '8 pm hour,hour,20',\n\t\t\t\tlabel: '8 pm hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '9 pm hour,hour,21',\n\t\t\t\tlabel: '9 pm hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '10 pm hour,hour,22',\n\t\t\t\tlabel: '10 pm hour',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: '11 pm hour,hour,23',\n\t\t\t\tlabel: '11 pm hour',\n\t\t\t},\n\t\t],\n\t},\n];\n","export const findItem = (array, id) => {\n\tfor (const item of array) {\n\t\tif (item.id === id) {\n\t\t\treturn item;\n\t\t}\n\n\t\tif (Array.isArray(item.children)) {\n\t\t\tconst foundItem = findItem(item.children, id);\n\t\t\tif (foundItem) {\n\t\t\t\treturn foundItem;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n};\n\nexport function returnFocusToTrigger(hostElement) {\n\tconst nowPopoverElement = hostElement.shadowRoot.querySelector(\n\t\t'now-popover'\n\t);\n\tconst snConditionPopoverButtonElement = nowPopoverElement?.querySelector(\n\t\t'sn-popover-trigger'\n\t);\n\tconst nativeButton = snConditionPopoverButtonElement?.shadowRoot.querySelector(\n\t\t'.sn-popover-trigger'\n\t);\n\n\tnativeButton?.focus?.();\n}\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nimport { SN_DATE_POPOVER_CONTENT_ITEM_SELECTED } from '../sn-date-popover-content/constants';\nimport { returnFocusToTrigger } from '../sn-date-popover-content/utils';\nimport {\n\tNOW_POPOVER_OPENED_SET,\n\tNOW_POPOVER_CONTENT_HIDDEN,\n\tSN_VALUE_EDITOR_VALUE_SET,\n\tNOW_SELECT_SELECTED_ITEM_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n/**\n * @param {object} trend\n * @param {string} trend.trendOption\n * @param {string} trend.trendDateValue\n */\nconst buildTrendValue = ({ trendOptionValue, trendValue }) => {\n\tconst [\n\t\ttrendDateDisplayValue,\n\t\ttrendDateCategory,\n\t\ttrendDateValue,\n\t] = trendValue.split(',');\n\n\t// constructs the trend value that looks like this: 4 am hour@javascript:gs.datePart('hour','4','LT')\n\treturn `${trendDateDisplayValue}@javascript:gs.datePart('${trendDateCategory}','${trendDateValue}','${trendOptionValue}')`;\n};\n\n/**\n * @param {string} trend.trendOptionValue\n * @param {string} trend.trendOptionDisplayValue\n * @param {string} trend.trendDateValue\n * @param {string} trend.trendDateDisplayValue\n * @param {object} oldValue\n * @param {function} dispatch\n */\nconst buildAndDispatchTrendValue = (\n\t{\n\t\ttrendOptionValue,\n\t\ttrendOptionDisplayValue,\n\t\ttrendDateValue,\n\t\ttrendDateDisplayValue,\n\t},\n\toldValue,\n\tdispatch\n) => {\n\tconst trendCombinedValue = buildTrendValue({\n\t\ttrendOptionValue,\n\t\ttrendValue: trendDateValue,\n\t});\n\n\tconst trendCombinedDisplayValue = `${trendOptionDisplayValue} ${trendDateDisplayValue}`;\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: oldValue,\n\t\tvalue: {\n\t\t\tinternalValue: trendCombinedValue,\n\t\t\tdisplayValue: trendCombinedDisplayValue,\n\t\t},\n\t});\n};\n\nconst handleTrendValueSelected = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem: { id: value, label },\n\t\t\t},\n\t\t},\n\t\tproperties: { editorValue },\n\t\tstate: { trendDateValue, trendOptionValue, trendOptionDisplayValue },\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tupdateState({\n\t\tisPopoverOpened: false,\n\t});\n\n\tif (value !== trendDateValue) {\n\t\tupdateState({\n\t\t\ttrendDateValue: value,\n\t\t\ttrendDateDisplayValue: label,\n\t\t});\n\n\t\tif (trendOptionValue && value) {\n\t\t\tbuildAndDispatchTrendValue(\n\t\t\t\t{\n\t\t\t\t\ttrendOptionValue,\n\t\t\t\t\ttrendOptionDisplayValue,\n\t\t\t\t\ttrendDateValue: value,\n\t\t\t\t\ttrendDateDisplayValue: label,\n\t\t\t\t},\n\t\t\t\teditorValue,\n\t\t\t\tdispatch\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst handleTrendOptionSelected = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem: { id: value, label },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tstate: { trendDateValue, trendOptionValue, trendDateDisplayValue },\n\t\tupdateState,\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tif (value !== trendOptionValue) {\n\t\tupdateState({\n\t\t\ttrendOptionValue: value,\n\t\t\ttrendOptionDisplayValue: label,\n\t\t});\n\n\t\tif (value && trendDateValue) {\n\t\t\tbuildAndDispatchTrendValue(\n\t\t\t\t{\n\t\t\t\t\ttrendOptionValue: value,\n\t\t\t\t\ttrendOptionDisplayValue: label,\n\t\t\t\t\ttrendDateValue,\n\t\t\t\t\ttrendDateDisplayValue,\n\t\t\t\t},\n\t\t\t\teditorValue,\n\t\t\t\tdispatch\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst handlePopoverOpenedSet = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate,\n\t\taction: {\n\t\t\tpayload: { popoverType },\n\t\t},\n\t} = coeffects;\n\n\tif (popoverType === 'content') {\n\t\tupdateState({\n\t\t\tisPopoverOpened: !state.isPopoverOpened,\n\t\t});\n\t}\n};\n\nconst handleNowPopoverContentHidden = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { popoverType },\n\t\t},\n\t\thost,\n\t} = coeffects;\n\n\t// only for value editor popover\n\tif (popoverType === 'content') {\n\t\treturnFocusToTrigger(host);\n\t}\n};\n\nconst setInitialValues = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { internalValue },\n\t\t},\n\t\tstate: { trendOptions, trendDateOptions },\n\t\tupdateState,\n\t} = coeffects;\n\tconst matches = internalValue.match(\n\t\t/(\\w+(?:\\s\\w+)*)@javascript:gs\\.datePart\\('(\\w*)','(\\w*)','(\\w*)'\\)/\n\t);\n\tconst trendDateDisplay = get(matches, '[1]');\n\tconst trendDateCategory = get(matches, '[2]');\n\tconst trendOptionValue = get(matches, '[4]');\n\n\tconst {\n\t\tvalue: trendValue,\n\t\tdisplayValue: trendDateDisplayValue,\n\t} = getTrendDate(trendDateCategory, trendDateDisplay, trendDateOptions);\n\n\tconst trendOptionDisplayValue = getTrendOptionDisplayValue(\n\t\ttrendOptionValue,\n\t\ttrendOptions\n\t);\n\n\tupdateState({\n\t\ttrendOptionDisplayValue,\n\t\ttrendOptionValue,\n\t\ttrendDateDisplayValue,\n\t\ttrendDateValue: trendValue,\n\t});\n};\n\nconst handlePropChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (name === 'editorValue') {\n\t\tsetInitialValues(coeffects);\n\t}\n};\n\nconst getTrendOptionDisplayValue = (trendOptionValue, trendOptions) => {\n\tconst trendOption = trendOptions.find(\n\t\t(option) => option.id === trendOptionValue\n\t);\n\treturn trendOption ? trendOption.label : trendOptionValue;\n};\n\nconst getTrendDate = (\n\ttrendDateCategory,\n\ttrendDateDisplay,\n\ttrendDateOptions\n) => {\n\tconst trendCategory = trendDateOptions.find(\n\t\t(option) => option.id === trendDateCategory\n\t);\n\n\tconst trendDate = trendCategory?.children.find((option) =>\n\t\toption.id.startsWith(trendDateDisplay)\n\t);\n\n\tconst value = trendDate?.id;\n\tconst displayValue = trendDate?.label;\n\n\treturn {\n\t\tvalue,\n\t\tdisplayValue,\n\t};\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: setInitialValues,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropChanged,\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\teffect: handlePopoverOpenedSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: handleTrendOptionSelected,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_CONTENT_HIDDEN]: {\n\t\teffect: handleNowPopoverContentHidden,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DATE_POPOVER_CONTENT_ITEM_SELECTED]: {\n\t\teffect: handleTrendValueSelected,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { t } from 'sn-translate';\nimport { getProperty } from 'sn-uxpage-presource';\n\n// These methods are ported over from DatePeriod.java\n\nconst minYearLimit = getProperty('glide.ui.date_time.min_year', 2000);\nconst maxYearLimit = getProperty('glide.ui.date_time.max_year', 2030);\n\nexport const trendOptions = [\n\t{\n\t\tid: 'GE',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'on or after',\n\t\t\tcomment: 'Label for the \"on or after\" date trend option',\n\t\t}),\n\t},\n\t{\n\t\tid: 'LE',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'on or before',\n\t\t\tcomment: 'Label for the \"on or before\" date trend option',\n\t\t}),\n\t},\n\t{\n\t\tid: 'GT',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'after',\n\t\t\tcomment: 'Label for the \"after\" date trend option',\n\t\t}),\n\t},\n\t{\n\t\tid: 'LT',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'before',\n\t\t\tcomment: 'Label for the \"before\" date trend option',\n\t\t}),\n\t},\n\t{\n\t\tid: 'EE',\n\t\tlabel: t('on'),\n\t},\n];\n\nconst generateDay = () => {\n\tconst days = [\n\t\t'Monday',\n\t\t'Tuesday',\n\t\t'Wednesday',\n\t\t'Thursday',\n\t\t'Friday',\n\t\t'Saturday',\n\t\t'Sunday',\n\t];\n\treturn {\n\t\tid: 'dayofweek',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Day',\n\t\t\tcomment: 'Label for the \"Day\" date trend category',\n\t\t}),\n\t\tchildren: days.map((day) => ({\n\t\t\tid: `${day},dayofweek,${day.toLowerCase()}`,\n\t\t\tlabel: t('{0}', day),\n\t\t\tparentId: 'dayofweek',\n\t\t})),\n\t};\n};\n\nconst generateQuarter = () => {\n\treturn {\n\t\tid: 'quarter',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Quarter',\n\t\t\tcomment: 'Label for the \"Quarter\" date trend category',\n\t\t}),\n\t\tchildren: Array.from({ length: 4 }, (_, index) => {\n\t\t\tconst num = index + 1;\n\t\t\treturn {\n\t\t\t\tid: `Quarter${num},quarter,${num}`,\n\t\t\t\tlabel: t('Quarter {0}', num),\n\t\t\t\tparentId: 'quarter',\n\t\t\t};\n\t\t}),\n\t};\n};\n\nconst generateYear = () => {\n\tconst years = Array.from(\n\t\t{ length: maxYearLimit - minYearLimit },\n\t\t(_, index) => minYearLimit + index\n\t);\n\treturn {\n\t\tid: 'year',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Year',\n\t\t\tcomment: 'Label for the \"Year\" date trend category',\n\t\t}),\n\t\tchildren: years.map((year) => ({\n\t\t\tid: `${year},year,${year}`,\n\t\t\tlabel: t('{0}', year),\n\t\t\tparentId: 'year',\n\t\t})),\n\t};\n};\n\nconst generateMonth = () => {\n\tconst months = {\n\t\tJanuary: 'Jan',\n\t\tFebruary: 'Feb',\n\t\tMarch: 'Mar',\n\t\tApril: 'Apr',\n\t\tMay: 'May',\n\t\tJune: 'June',\n\t\tJuly: 'July',\n\t\tAugust: 'Aug',\n\t\tSeptember: 'Sep',\n\t\tOctober: 'Oct',\n\t\tNovember: 'Nov',\n\t\tDecember: 'Dec',\n\t};\n\treturn {\n\t\tid: 'month',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Month',\n\t\t\tcomment: 'Label for the \"Month\" date trend category',\n\t\t}),\n\t\tchildren: Object.entries(months).map(([month, abbreviation]) => ({\n\t\t\tid: `${month},month,${abbreviation}`,\n\t\t\tlabel: t('{0}', month),\n\t\t\tparentId: 'month',\n\t\t})),\n\t};\n};\n\nconst generateWeek = () => {\n\treturn {\n\t\tid: 'week',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Week',\n\t\t\tcomment: 'Label for the \"Week\" date trend category',\n\t\t}),\n\t\tchildren: Array.from({ length: 54 }, (_, index) => ({\n\t\t\tid: `Week${index},week,${index}`,\n\t\t\tlabel: t('Week {0}', index),\n\t\t\tparentId: 'week',\n\t\t})),\n\t};\n};\n\nconst generateTime = () => {\n\tconst hours = Array.from({ length: 24 }, (_, index) => {\n\t\tif (index === 0) return 'Midnight hour';\n\t\telse if (index === 12) return 'Noon hour';\n\t\telse if (index < 12) return `${index} am hour`;\n\t\telse return `${index - 12} pm hour`;\n\t});\n\treturn {\n\t\tid: 'hour',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'Time',\n\t\t\tcomment: 'Label for the \"Time\" date trend category',\n\t\t}),\n\t\tchildren: hours.map((hour, index) => ({\n\t\t\tid: `${hour},hour,${index}`,\n\t\t\tlabel: t('{0}', hour),\n\t\t\tparentId: 'hour',\n\t\t})),\n\t};\n};\n\nexport const trendDateOptions = [\n\tgenerateDay(),\n\tgenerateMonth(),\n\tgenerateQuarter(),\n\tgenerateYear(),\n\tgenerateWeek(),\n\tgenerateTime(),\n];\n","import { t } from 'sn-translate';\n\nconst enterAValueLabel = t('Enter a value');\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: { componentTag, displayName, label, opened, dir, readOnly },\n\t} = state;\n\n\tconst translatedString = t('{displayName}, {label}', {\n\t\tdisplayName,\n\t\tlabel,\n\t});\n\n\tif (readOnly) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`sn-popover-trigger-container ${componentTag}`}\n\t\t\t\tdir={dir}\n\t\t\t\ton-click={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{label ? (\n\t\t\t\t\t<div className=\"sn-popover-trigger-label\">{label}<\/div>\n\t\t\t\t) : null}\n\t\t\t\t<now-input\n\t\t\t\t\tclassName=\"sn-input-readonly\"\n\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\tvalue={displayName}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`sn-popover-trigger-container ${componentTag}`}\n\t\t\tdir={dir}\n\t\t>\n\t\t\t{label ? (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"sn-popover-trigger-label\"\n\t\t\t\t\ton-click={(event) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t<button\n\t\t\t\taria-expanded={`${opened}`}\n\t\t\t\taria-label={\n\t\t\t\t\tdisplayName && label\n\t\t\t\t\t\t? translatedString\n\t\t\t\t\t\t: displayName || enterAValueLabel\n\t\t\t\t}\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\taria-readonly={readOnly}\n\t\t\t\tclassName=\"sn-popover-trigger\"\n\t\t\t\tdata-truncation\n\t\t\t\tdisabled={readOnly}\n\t\t\t>\n\t\t\t\t<slot name=\"iconStart\" />\n\t\t\t\t<span className=\"button-text\">{displayName}<\/span>\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t<\/button>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-popover-trigger', {\n\tproperties: {\n\t\tcomponentTag: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\tdisplayName: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\topened: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tslots: {\n\t\t\ticon: {},\n\t\t\ticonStart: {},\n\t\t},\n\t},\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview,\n\tbehaviors: [truncationBehavior, tooltipBehavior, rtlBehavior],\n});\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport { KEYS } from '../../behaviors/keyboardNavBehavior/constants';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../sn-value-editor-commons/actionTypes';\nimport { SN_VALUE_EDITOR_DATE_CHOICE_RELATIVE_SELECTED } from '../sn-value-editor-date-choice/constants';\n\nimport {\n\tSN_DATE_POPOVER_CONTENT_BACK_BUTTON_CLICKED,\n\tSN_DATE_POPOVER_CONTENT_PANEL_UPDATED,\n\tSN_DATE_POPOVER_CONTENT_ITEM_SELECTED,\n\tSN_DATE_POPOVER_CONTENT_KEY_PRESSED,\n\tSN_DATE_POPOVER_CONTENT_KEY_PRESSED_ICONIC,\n\tFIRST_PANEL,\n\tSECOND_PANEL,\n\tFIRST_PANEL_ITEMS,\n\tSECOND_PANEL_ITEMS,\n} from './constants';\nimport { findItem } from './utils';\n\nconst SECOND_PANEL_BUTTON = `div.${SECOND_PANEL} .second-panel-button`;\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_TREE_RENDERED,\n} = actionTypes;\n\nconst handleButtonClickRight = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem: { id },\n\t\t\t},\n\t\t},\n\t\tproperties: { dateOptions },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst matchingDate = dateOptions.find((date) => date.id === id);\n\n\tif (typeof matchingDate === 'undefined') return;\n\n\tupdateState({\n\t\tfirstPanelSelectedItem: id,\n\t\titemChildren: matchingDate.children,\n\t\titemLabel: matchingDate.label,\n\t});\n\n\tupdateState({\n\t\tshowPanelIndex: 1,\n\t});\n};\n\nconst handlePopoverItemSelected = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { item },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst formattedString = item.id.replace(/[, ]+/g, '').trim();\n\n\tconst newState = {\n\t\titemChildren: [],\n\t\tsecondPanelSelectedItem: formattedString,\n\t\tslideContainerElement: null,\n\t};\n\n\tif (item?.parentId) {\n\t\tnewState.firstPanelSelectedItem = item?.parentId;\n\t}\n\n\tupdateState(newState);\n};\n\nconst handlePopoverKeyPressed = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { event, item, itemIndex, panelType },\n\t\t},\n\t\tstate: {\n\t\t\tproperties: { dir },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tswitch (event.key) {\n\t\tcase KEYS.ENTER:\n\t\tcase KEYS.ARROW_RIGHT: {\n\t\t\tif (panelType === FIRST_PANEL) {\n\t\t\t\tdispatch(SN_DATE_POPOVER_CONTENT_PANEL_UPDATED, {\n\t\t\t\t\titem,\n\t\t\t\t});\n\n\t\t\t\tconst elementToFocus = event.target.shadowRoot.querySelector(\n\t\t\t\t\tSECOND_PANEL_BUTTON\n\t\t\t\t);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (elementToFocus) elementToFocus.focus();\n\t\t\t\t}, 100);\n\t\t\t} else if (panelType === SECOND_PANEL && event.key === KEYS.ENTER) {\n\t\t\t\tdispatch(SN_DATE_POPOVER_CONTENT_ITEM_SELECTED, {\n\t\t\t\t\titem,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase KEYS.ARROW_DOWN: {\n\t\t\tconst nextFocusedElement = event.target.shadowRoot.querySelectorAll(\n\t\t\t\t`div.slide.${panelType} ul li`\n\t\t\t)[itemIndex + 1];\n\n\t\t\tif (nextFocusedElement) nextFocusedElement.focus();\n\n\t\t\tbreak;\n\t\t}\n\t\tcase KEYS.ARROW_UP: {\n\t\t\t// if we are on the first item of the second panel, focus on the back button\n\t\t\tif (itemIndex === 0 && panelType === SECOND_PANEL) {\n\t\t\t\tconst nextFocusedElement = event.target.shadowRoot.querySelector(\n\t\t\t\t\tSECOND_PANEL_BUTTON\n\t\t\t\t);\n\t\t\t\tif (nextFocusedElement) nextFocusedElement.focus();\n\t\t\t} else {\n\t\t\t\tconst nextFocusedElement = event.target.shadowRoot.querySelectorAll(\n\t\t\t\t\t`div.slide.${panelType} ul li`\n\t\t\t\t)[itemIndex - 1];\n\n\t\t\t\tif (nextFocusedElement) nextFocusedElement.focus();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase KEYS.ARROW_LEFT: {\n\t\t\tif (panelType === FIRST_PANEL && dir === 'rtl') {\n\t\t\t\tdispatch(SN_DATE_POPOVER_CONTENT_PANEL_UPDATED, {\n\t\t\t\t\titem,\n\t\t\t\t});\n\n\t\t\t\tconst elementToFocus = event.target.shadowRoot.querySelector(\n\t\t\t\t\tSECOND_PANEL_BUTTON\n\t\t\t\t);\n\n\t\t\t\tif (elementToFocus) elementToFocus.focus();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nconst handleBackItemButtonEvent = ({\n\tslideContainerElement,\n\tupdateState,\n\tfirstPanelSelectedItem,\n\tsecondPanelSelectedItem,\n}) => {\n\tif (firstPanelSelectedItem && secondPanelSelectedItem) {\n\t\tupdateState({\n\t\t\tshowPanelIndex: 1,\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tshowPanelIndex: 0,\n\t\t});\n\t}\n\n\tconst panelItem = slideContainerElement?.querySelector(\n\t\t`${FIRST_PANEL_ITEMS}[aria-selected=\"true\"]`\n\t);\n\n\t// Focus on the first item if no item is selected\n\tif (!panelItem) {\n\t\tfocusOnFirstItem();\n\t\treturn;\n\t}\n\n\t// return focus to the previously selected item\n\tsetTimeout(() => {\n\t\tpanelItem.focus();\n\t}, 100);\n};\n\nconst handlePopoverKeyPressedIconic = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { event },\n\t\t},\n\t\tstate: { slideContainerElement },\n\t\tupdateState,\n\t} = coeffects;\n\n\tswitch (event.key) {\n\t\tcase KEYS.ARROW_DOWN: {\n\t\t\tconst nextFocusedElement = event.target.shadowRoot.querySelector(\n\t\t\t\tSECOND_PANEL_ITEMS\n\t\t\t);\n\n\t\t\tif (nextFocusedElement) nextFocusedElement.focus();\n\n\t\t\tbreak;\n\t\t}\n\t\tcase KEYS.ENTER: {\n\t\t\thandleBackItemButtonEvent({ slideContainerElement, updateState });\n\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nconst focusOnFirstItem = () => {\n\tconst seismicHoist = document.querySelector(\n\t\t'now-popover-panel > seismic-hoist'\n\t);\n\tconst nextFocusedElement = seismicHoist?.shadowRoot.querySelector(\n\t\tFIRST_PANEL_ITEMS\n\t);\n\n\tsetTimeout(() => {\n\t\tif (nextFocusedElement) nextFocusedElement.focus();\n\t}, 100);\n};\n\nconst focusOnSelectedItem = ({\n\tdateOptions,\n\tfirstPanelSelectedItem,\n\tupdateState,\n\tslideContainerElement,\n}) => {\n\tconst matchingDate = dateOptions.find(\n\t\t(date) => date.id === firstPanelSelectedItem\n\t);\n\n\tupdateState({\n\t\titemChildren: matchingDate.children,\n\t\titemLabel: matchingDate.label,\n\t});\n\n\tconst panelItem = slideContainerElement?.querySelector(\n\t\t`${SECOND_PANEL_ITEMS}[aria-selected=\"true\"]`\n\t);\n\n\tsetTimeout(() => {\n\t\tif (panelItem) panelItem.focus();\n\t}, 100);\n};\n\nconst handleNextViewItemFocus = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tfirstPanelSelectedItem,\n\t\t\tsecondPanelSelectedItem,\n\t\t\tslideContainerElement,\n\t\t\tuseRelativeSelected,\n\t\t},\n\t\tproperties: { dateOptions },\n\t\tupdateState,\n\t} = coeffects;\n\n\t// selecting use relative button shares same behavior as clicking back button\n\tif (useRelativeSelected) {\n\t\thandleBackItemButtonEvent({\n\t\t\tslideContainerElement,\n\t\t\tupdateState,\n\t\t\tfirstPanelSelectedItem,\n\t\t\tsecondPanelSelectedItem,\n\t\t});\n\t\tupdateState({\n\t\t\tpath: 'useRelativeSelected',\n\t\t\tvalue: false,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (\n\t\t// when the relative date popover is opened, focus on the first item\n\t\tslideContainerElement?.id === 'slides-container' &&\n\t\t!firstPanelSelectedItem &&\n\t\t!secondPanelSelectedItem\n\t) {\n\t\tfocusOnFirstItem();\n\t} else if (\n\t\t// when the relative date popover is opened and there is something selected, focus on the selected item\n\t\tslideContainerElement?.id === 'slides-container' &&\n\t\tfirstPanelSelectedItem &&\n\t\tsecondPanelSelectedItem\n\t) {\n\t\tfocusOnSelectedItem({\n\t\t\tdateOptions,\n\t\t\tfirstPanelSelectedItem,\n\t\t\tslideContainerElement,\n\t\t\tupdateState,\n\t\t});\n\t}\n};\n\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: { dateOptions, selectedCalendarId },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (selectedCalendarId) {\n\t\tconst secondPanelValue = findItem(dateOptions, selectedCalendarId);\n\t\tconst firstPanelValue = dateOptions.find(\n\t\t\t(date) => date.id === secondPanelValue?.parentId\n\t\t);\n\n\t\tupdateState({\n\t\t\tfirstPanelSelectedItem: firstPanelValue?.id,\n\t\t\tsecondPanelSelectedItem: secondPanelValue?.id,\n\t\t\tshowPanelIndex: 1,\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tshowPanelIndex: 0,\n\t\t});\n\t}\n};\n\nconst handleBackItemButtonClicked = (coeffects) => {\n\tconst {\n\t\tstate: { slideContainerElement },\n\t\tupdateState,\n\t} = coeffects;\n\n\thandleBackItemButtonEvent({ slideContainerElement, updateState });\n};\n\nconst getCalendarFirstFocusableItem = () => {\n\tconst seismicHoist = document.querySelector(\n\t\t'now-popover-panel > seismic-hoist'\n\t);\n\tconst nowDateTimeCalendar = seismicHoist?.shadowRoot?.querySelector?.(\n\t\t'now-date-time-calendar'\n\t);\n\tconst nowButtonIconic = nowDateTimeCalendar?.shadowRoot?.querySelector?.(\n\t\t'now-button-iconic'\n\t);\n\n\treturn nowButtonIconic;\n};\n\nconst handleComponentTreeRendered = (coeffects) => {\n\tconst {\n\t\tstate: { calendarHasBeenOpened },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (!calendarHasBeenOpened) {\n\t\tconst nextFocusedElement = getCalendarFirstFocusableItem();\n\t\tif (nextFocusedElement) {\n\t\t\tnextFocusedElement.focus();\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'calendarHasBeenOpened',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleDateChoicePickerRelativeSelected = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'calendarHasBeenOpened',\n\t\t\tvalue: false,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{\n\t\t\tpath: 'useRelativeSelected',\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t]);\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_RENDERED]: {\n\t\teffect: handleNextViewItemFocus,\n\t},\n\t[COMPONENT_TREE_RENDERED]: {\n\t\teffect: handleComponentTreeRendered,\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\tstopPropagation: true,\n\t},\n\t[SN_DATE_POPOVER_CONTENT_BACK_BUTTON_CLICKED]: {\n\t\teffect: handleBackItemButtonClicked,\n\t},\n\t[SN_DATE_POPOVER_CONTENT_ITEM_SELECTED]: {\n\t\teffect: handlePopoverItemSelected,\n\t\tstopPropagation: false,\n\t},\n\t[SN_DATE_POPOVER_CONTENT_KEY_PRESSED]: {\n\t\teffect: handlePopoverKeyPressed,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DATE_POPOVER_CONTENT_KEY_PRESSED_ICONIC]: {\n\t\teffect: handlePopoverKeyPressedIconic,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DATE_POPOVER_CONTENT_PANEL_UPDATED]: {\n\t\teffect: handleButtonClickRight,\n\t\tstopPropagation: true,\n\t},\n\t[SN_VALUE_EDITOR_DATE_CHOICE_RELATIVE_SELECTED]: {\n\t\teffect: handleDateChoicePickerRelativeSelected,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"endOfDay\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.__esModule\n\t\t\t\t\tif (cjsModule && 'endOfDay' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"].endOfDay;\n\t\t\t\t\t} else if ('endOfDay' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.endOfDay || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"].endOfDay;\n\t\t\t\t}, [\"format\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.__esModule\n\t\t\t\t\tif (cjsModule && 'format' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"].format;\n\t\t\t\t\t} else if ('format' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.format || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"].format;\n\t\t\t\t}, [\"isValid\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.__esModule\n\t\t\t\t\tif (cjsModule && 'isValid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"].isValid;\n\t\t\t\t\t} else if ('isValid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.isValid || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"].isValid;\n\t\t\t\t}, [\"parse\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.__esModule\n\t\t\t\t\tif (cjsModule && 'parse' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"].parse;\n\t\t\t\t\t} else if ('parse' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.parse || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"].parse;\n\t\t\t\t}, [\"parseISO\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.__esModule\n\t\t\t\t\tif (cjsModule && 'parseISO' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"].parseISO;\n\t\t\t\t\t} else if ('parseISO' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__.parseISO || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_28_0_index_jsdbx_a573feca__[\"default\"].parseISO;\n\t\t\t\t} });","import '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-date-time';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classnames from 'classnames';\nimport {\n\tformat as dateFnsFormat,\n\tisValid as dateFnsIsValid,\n\tparse as dateFnsParse,\n} from 'date-fns';\nimport { t } from 'sn-translate';\n\nimport { KEYS } from '../../behaviors/keyboardNavBehavior/constants';\nimport { NOW_POPOVER_OPENED_SET } from '../sn-value-editor-commons/actionTypes';\nimport {\n\tDATE_FORMAT,\n\tDATE_FORMAT_WITH_TIME,\n\tSN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_SELECTED,\n\tSN_VALUE_EDITOR_DATE_CHOICE_RELATIVE_SELECTED,\n\tSN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_KEY_PRESSED,\n} from '../sn-value-editor-date-choice/constants';\n\nimport {\n\tFIRST_PANEL,\n\tSECOND_PANEL,\n\tSN_DATE_POPOVER_CONTENT_BACK_BUTTON_CLICKED,\n\tSN_DATE_POPOVER_CONTENT_ITEM_SELECTED,\n\tSN_DATE_POPOVER_CONTENT_KEY_PRESSED,\n\tSN_DATE_POPOVER_CONTENT_KEY_PRESSED_ICONIC,\n\tSN_DATE_POPOVER_CONTENT_PANEL_UPDATED,\n} from './constants';\n\nconst getInitialCalendarValue = (value, dateFormat, defaultTime) => {\n\tconst parsedValue = dateFnsParse(value, dateFormat, new Date());\n\n\tif (dateFnsIsValid(parsedValue)) {\n\t\treturn dateFnsFormat(parsedValue, dateFormat);\n\t}\n\n\tif (defaultTime.length > 0) {\n\t\tconst currentDate = dateFnsFormat(new Date(), DATE_FORMAT);\n\t\tconst dateWithDefaultTime = `${currentDate} ${defaultTime}`;\n\t\treturn dateFnsFormat(\n\t\t\tdateFnsParse(\n\t\t\t\tdateWithDefaultTime,\n\t\t\t\tDATE_FORMAT_WITH_TIME,\n\t\t\t\tnew Date()\n\t\t\t),\n\t\t\tdateFormat\n\t\t);\n\t}\n\n\treturn dateFnsFormat(new Date(), dateFormat);\n};\n\nconst customListItemLabel = t('Custom');\nconst customListItemAriaLabel = t('Calendar expand');\nconst useRelativeButtonLabel = t('Use relative');\nconst useRelativeButtonAriaLabel = t('Use relative dates');\n\nconst renderCalendar = (params) => {\n\tconst { defaultTime, displayValue, dispatch, hasTimePicker } = params;\n\n\tconst dateFormat = hasTimePicker ? DATE_FORMAT_WITH_TIME : DATE_FORMAT;\n\tconst dateType = hasTimePicker ? 'date-time' : 'date';\n\n\tconst initialCalendarValue = getInitialCalendarValue(\n\t\tdisplayValue.trim(),\n\t\tdateFormat,\n\t\tdefaultTime\n\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-date-time-calendar\n\t\t\t\tformat={dateFormat}\n\t\t\t\thideFooter={true}\n\t\t\t\ttype={dateType}\n\t\t\t\tselectedItems={[initialCalendarValue]}\n\t\t\t/>\n\t\t\t<div className=\"use-relative\">\n\t\t\t\t<now-button-bare\n\t\t\t\t\tlabel={useRelativeButtonLabel}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(SN_VALUE_EDITOR_DATE_CHOICE_RELATIVE_SELECTED);\n\t\t\t\t\t}}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': useRelativeButtonAriaLabel,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderHomeIcon = (params) => {\n\tconst { backItemButtonLabel, itemLabel, dispatch } = params;\n\treturn (\n\t\t<div className=\"second-panel-button-container\">\n\t\t\t<div\n\t\t\t\taria-label={backItemButtonLabel}\n\t\t\t\tclassName=\"second-panel-button\"\n\t\t\t\ton-click={(event) => {\n\t\t\t\t\tdispatch(SN_DATE_POPOVER_CONTENT_BACK_BUTTON_CLICKED, {\n\t\t\t\t\t\tevent,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ton-keydown={(event) => {\n\t\t\t\t\tif (!event.repeat) {\n\t\t\t\t\t\tdispatch(SN_DATE_POPOVER_CONTENT_KEY_PRESSED_ICONIC, {\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t>\n\t\t\t\t<now-icon icon={'home-outline'} size=\"sm\" />\n\t\t\t<\/div>\n\t\t\t<div className=\"container\">\n\t\t\t\t<span>{itemLabel}<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst renderChevronIcon = (params) => {\n\tconst { dir, chevronIconAriaLabel, dispatch } = params;\n\treturn (\n\t\t<div className=\"second-panel-button-container\">\n\t\t\t<div\n\t\t\t\taria-label={chevronIconAriaLabel}\n\t\t\t\tclassName=\"second-panel-button\"\n\t\t\t\ton-click={(event) => {\n\t\t\t\t\tdispatch(SN_DATE_POPOVER_CONTENT_BACK_BUTTON_CLICKED, {\n\t\t\t\t\t\tevent,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ton-keydown={(event) => {\n\t\t\t\t\tif (!event.repeat) {\n\t\t\t\t\t\tdispatch(SN_DATE_POPOVER_CONTENT_KEY_PRESSED_ICONIC, {\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t>\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={`chevron-${dir === 'rtl' ? 'right' : 'left'}-fill`}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst renderCustomItem = (params) => {\n\tconst { dateOptions, dispatch } = params;\n\treturn (\n\t\t<li\n\t\t\taria-label={customListItemAriaLabel}\n\t\t\taria-selected=\"false\"\n\t\t\tclassName=\"list-item\"\n\t\t\tdata-itemIndex={`${dateOptions.length}`}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(SN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_SELECTED);\n\t\t\t}}\n\t\t\ton-keydown={(event) => {\n\t\t\t\tif (!event.repeat) {\n\t\t\t\t\tdispatch(SN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_KEY_PRESSED, {\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\tpanelType: FIRST_PANEL,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\trole=\"option\"\n\t\t\ttabindex=\"-1\"\n\t\t>\n\t\t\t<span>{customListItemLabel}<\/span>\n\t\t<\/li>\n\t);\n};\n\nconst renderRelativeList = (params) => {\n\tconst {\n\t\tupdateState,\n\t\tdateOptions,\n\t\tfirstPanelSelectedItem,\n\t\tdir,\n\t\tisDateChoice,\n\t\titemLabel,\n\t\titemChildren,\n\t\tsecondPanelSelectedItem,\n\t\tdispatch,\n\t\tshowPanelIndex,\n\t} = params;\n\n\tconst translateItemLabel = (listItemLabel) => {\n\t\treturn t('{0} expand', listItemLabel);\n\t};\n\n\tconst backItemButtonLabel = t('Go back to {0}', itemLabel);\n\tconst chevronIconAriaLabel = t({\n\t\tcode: 'now_predicate_builder',\n\t\tmessage: 'Back',\n\t\tcomment: 'Accessibility label for a back button.',\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"slides-container\"\n\t\t\tid=\"slides-container\"\n\t\t\thook-insert={(vnode) =>\n\t\t\t\tupdateState({ slideContainerElement: vnode.elm })\n\t\t\t}\n\t\t\thook-update={(vnode) =>\n\t\t\t\tupdateState({ slideContainerElement: vnode.elm })\n\t\t\t}\n\t\t\ton-keydown={(event) => {\n\t\t\t\t// enable tabbing out of the popover for date-trend and date-choice\n\t\t\t\tif (!event.repeat && event.key === KEYS.TAB) {\n\t\t\t\t\tevent.preventDefault(); // prevent parent element event listeners from reacting to the key event\n\t\t\t\t\tdispatch(NOW_POPOVER_OPENED_SET, {\n\t\t\t\t\t\tpopoverType: 'content', // required for date-trend\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classnames(`slide ${FIRST_PANEL}`, {\n\t\t\t\t\t'is-hidden': showPanelIndex !== 0,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<ul role=\"listbox\">\n\t\t\t\t\t{dateOptions.map((item, index) => {\n\t\t\t\t\t\tconst isSelected = firstPanelSelectedItem === item.id;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\taria-label={translateItemLabel(item.label)}\n\t\t\t\t\t\t\t\taria-selected={`${isSelected}`}\n\t\t\t\t\t\t\t\tclassName={classnames('list-item', {\n\t\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tdata-itemIndex={index}\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tSN_DATE_POPOVER_CONTENT_PANEL_UPDATED,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ton-keydown={(event) => {\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tSN_DATE_POPOVER_CONTENT_KEY_PRESSED,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\t\t\titemIndex: index,\n\t\t\t\t\t\t\t\t\t\t\tpanelType: FIRST_PANEL,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span>{item.label}<\/span>\n\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\ticon={`chevron-${\n\t\t\t\t\t\t\t\t\t\tdir === 'rtl' ? 'left' : 'right'\n\t\t\t\t\t\t\t\t\t}-fill`}\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\t{isDateChoice &&\n\t\t\t\t\t\trenderCustomItem({\n\t\t\t\t\t\t\tdateOptions,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t})}\n\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t\t<div\n\t\t\t\tclassName={classnames(`slide ${SECOND_PANEL}`, {\n\t\t\t\t\t'is-hidden': showPanelIndex !== 1,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{isDateChoice\n\t\t\t\t\t? renderHomeIcon({\n\t\t\t\t\t\t\tbackItemButtonLabel,\n\t\t\t\t\t\t\titemLabel,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t  })\n\t\t\t\t\t: renderChevronIcon({\n\t\t\t\t\t\t\tdir,\n\t\t\t\t\t\t\tchevronIconAriaLabel,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t  })}\n\t\t\t\t<ul role=\"listbox\">\n\t\t\t\t\t{itemChildren.map((item, index) => {\n\t\t\t\t\t\tconst isSelected = secondPanelSelectedItem === item.id;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\taria-label={item.label}\n\t\t\t\t\t\t\t\taria-selected={`${isSelected}`}\n\t\t\t\t\t\t\t\tclassName={classnames('list-item', {\n\t\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tdata-itemIndex={`${index}`}\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tSN_DATE_POPOVER_CONTENT_ITEM_SELECTED,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ton-keydown={(event) => {\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tSN_DATE_POPOVER_CONTENT_KEY_PRESSED,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\t\t\titemIndex: index,\n\t\t\t\t\t\t\t\t\t\t\tpanelType: SECOND_PANEL,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span>{item.label}<\/span>\n\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst view = (state, { updateState, dispatch }) => {\n\tconst {\n\t\tfirstPanelSelectedItem,\n\t\tsecondPanelSelectedItem,\n\t\titemChildren,\n\t\titemLabel,\n\t\tshowPanelIndex,\n\t\tproperties: {\n\t\t\tdir,\n\t\t\tdisplayValue,\n\t\t\tdateOptions,\n\t\t\tdefaultTime,\n\t\t\tshowCalendar,\n\t\t\thasTimePicker,\n\t\t\tisDateChoice,\n\t\t},\n\t} = state;\n\n\treturn (\n\t\t<div className=\"sn-date-popover-content\" dir={dir}>\n\t\t\t{showCalendar\n\t\t\t\t? renderCalendar({\n\t\t\t\t\t\tdisplayValue,\n\t\t\t\t\t\tdefaultTime,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\thasTimePicker,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t  })\n\t\t\t\t: renderRelativeList({\n\t\t\t\t\t\tdateOptions,\n\t\t\t\t\t\tdir,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tfirstPanelSelectedItem,\n\t\t\t\t\t\tisDateChoice,\n\t\t\t\t\t\titemChildren,\n\t\t\t\t\t\titemLabel,\n\t\t\t\t\t\tsecondPanelSelectedItem,\n\t\t\t\t\t\tshowPanelIndex,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t  })}\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-date-popover-content', {\n\tinitialState: {\n\t\tcalendarHasBeenOpened: false,\n\t\tfirstPanelSelectedItem: null,\n\t\titemLabel: '',\n\t\titemChildren: [],\n\t\tslideContainerElement: null,\n\t\tsecondPanelSelectedItem: null,\n\t\tuseRelativeSelected: false,\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tactionHandlers,\n\tbehaviors: [{ behavior: rtlBehavior }],\n\tstyles,\n\tproperties: {\n\t\tdateOptions: {\n\t\t\tschema: { type: 'array' },\n\t\t\tdefault: [],\n\t\t},\n\t\tdefaultTime: { schema: { type: 'string' }, default: '' },\n\t\tdisplayValue: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\thasTimePicker: { schema: { type: 'boolean' }, default: false },\n\t\tisDateChoice: { schema: { type: 'boolean' }, default: false },\n\t\tselectedCalendarId: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\tshowCalendar: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t},\n});\n","import { t } from 'sn-translate';\nexport const SN_VALUE_EDITOR_DATE_TREND = 'sn-value-editor-date-trend';\n\nexport const optionLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Option',\n\tcomment: 'Label for a dropdown that contains date trend options',\n});\n","import '@servicenow/now-select';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-input';\nimport '@servicenow/now-icon';\nimport classnames from 'classnames';\n\nimport '../sn-popover-trigger';\nimport '../sn-date-popover-content';\nimport { KEYS } from '../../behaviors/keyboardNavBehavior/constants';\n\nimport { optionLabel } from './constants';\n\n/**\n * This acts as the content tree for the date/trend editor\n */\n\nconst view = (state, { updateState }) => {\n\tconst {\n\t\tproperties: { label, readOnly, showLabels },\n\t\tisPopoverOpened,\n\t\ttrendOptionValue,\n\t\ttrendDateDisplayValue,\n\t\ttrendDateValue,\n\t\ttrendOptions,\n\t\ttrendDateOptions,\n\t} = state;\n\n\tconst elementToSlot = isPopoverOpened ? (\n\t\t<sn-date-popover-content\n\t\t\tslot=\"content\"\n\t\t\taria-live=\"polite\"\n\t\t\tdate-options={trendDateOptions}\n\t\t\tdisplayValue={trendDateDisplayValue}\n\t\t\tselectedCalendarId={trendDateValue}\n\t\t/>\n\t) : null;\n\n\tconst containerClassnames = classnames('sn-value-editor-date-trend', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<now-select\n\t\t\t\tconfigAria={{\n\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t'aria-label': optionLabel,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\tlabel={showLabels ? optionLabel : null}\n\t\t\t\titems={trendOptions}\n\t\t\t\tmanageSelectedItem\n\t\t\t\treadonly={readOnly}\n\t\t\t\tselectedItem={trendOptionValue}\n\t\t\t\tselect=\"single\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<now-popover\n\t\t\t\t\tappendToPayload={{ popoverType: 'content' }}\n\t\t\t\t\thide-tail={true}\n\t\t\t\t\tinteraction-type=\"dialog\"\n\t\t\t\t\tmanage-opened={true}\n\t\t\t\t\topened={isPopoverOpened}\n\t\t\t\t\tpositions={[\n\t\t\t\t\t\t{ target: 'bottom-start', content: 'top-start' },\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<sn-popover-trigger\n\t\t\t\t\t\tdisplayName={trendDateDisplayValue}\n\t\t\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\t\t\topened={isPopoverOpened}\n\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\ton-keydown={(event) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!event.repeat &&\n\t\t\t\t\t\t\t\t[KEYS.ENTER, KEYS.ARROW_DOWN].includes(\n\t\t\t\t\t\t\t\t\tevent.key\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\tisPopoverOpened: !state.isPopoverOpened,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tevent.preventDefault();\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\t{!readOnly && (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\ticon=\"calendar-outline\"\n\t\t\t\t\t\t\t\tslot=\"icon\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/sn-popover-trigger>\n\t\t\t\t\t{elementToSlot}\n\t\t\t\t<\/now-popover>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport { actionHandlers } from './actions';\nimport { trendOptions, trendDateOptions } from './generateTrendOptions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-date-trend', {\n\tinitialState: {\n\t\tisPopoverOpened: false,\n\t\ttrendOptionValue: '',\n\t\ttrendOptionDisplayValue: '',\n\t\ttrendDateValue: '',\n\t\ttrendDateDisplayValue: '',\n\t\ttrendOptions: trendOptions,\n\t\ttrendDateOptions: trendDateOptions,\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Value for input\n\t\t * @type {object}\n\t\t */\n\t\teditorValue: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Label text that displays on top of the component\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Value',\n\t\t\t\tcomment: 'Default label for a date trend input field',\n\t\t\t}),\n\t\t},\n\t\tdir: { schema: { type: 'string' }, default: 'ltr' },\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tstyles,\n\tactionHandlers,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"];\n\t\t\t\t} });","import moment from 'moment';\n\n/**\n * Builds a JavaScript duration string.\n * @param {Object} duration - The duration object.\n * @param {number} duration.days - The number of days.\n * @param {number} duration.hours - The number of hours.\n * @param {number} duration.minutes - The number of minutes.\n * @param {number} duration.seconds - The number of seconds.\n * @returns {string} The JavaScript duration string.\n */\nexport const buildJavascriptDurationDate = (duration) => {\n\tconst { days = 0, hours = 0, minutes = 0, seconds = 0 } = duration || {};\n\treturn `javascript:gs.getDurationDate('${days} ${hours}:${minutes}:${seconds}')`;\n};\n\n/**\n * Creates a duration object from a Date object.\n * @param {Date} date - The date object.\n * @returns {Object} The duration object.\n * @returns {number} duration.days - The number of days.\n * @returns {number} duration.hours - The number of hours.\n * @returns {number} duration.minutes - The number of minutes.\n * @returns {number} duration.seconds - The number of seconds.\n * @example\n * // Date is a Date object that is in a Moment wrapper\n */\nexport const createDurationFromDateObj = (date) => {\n\tconst epoch = getEpoch();\n\tconst difference = moment.duration(date.diff(epoch));\n\tconst asDays = Math.floor(difference.asDays());\n\tdifference.subtract(moment.duration(asDays, 'days').asMilliseconds());\n\n\treturn {\n\t\tdays: asDays,\n\t\thours: difference.hours(),\n\t\tminutes: difference.minutes(),\n\t\tseconds: difference.seconds(),\n\t};\n};\n\n/**\n * Extracts duration from a JavaScript duration date string.\n * @param {string} internalValue - The JavaScript duration date string.\n * @returns {Object|null} The duration object or null if invalid.\n * @returns {number} duration.days - The number of days.\n * @returns {number} duration.hours - The number of hours.\n * @returns {number} duration.minutes - The number of minutes.\n * @returns {number} duration.seconds - The number of seconds.\n * @example\n * // Value is a string 'javascript:gs.getDurationDate('5 2:3:2')'\n */\nexport const getDurationFromJavascriptDurationDate = (internalValue) => {\n\tif (typeof internalValue !== 'string') {\n\t\treturn null;\n\t}\n\n\t// Look for the pattern inside the quotes of getDurationDate('X X:X:X')\n\tconst match = internalValue.match(\n\t\t/getDurationDate\\('(\\d+)\\s+(\\d+):(\\d+):(\\d+)'\\)/\n\t);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [, days, hours, minutes, seconds] = match;\n\n\treturn {\n\t\tdays: sanitizeToNumber(days),\n\t\thours: sanitizeToNumber(hours),\n\t\tminutes: sanitizeToNumber(minutes),\n\t\tseconds: sanitizeToNumber(seconds),\n\t};\n};\n\n/**\n * Extracts duration from a timestamp string.\n * @param {string} timestamp - The timestamp string.\n * @returns {Object|null} The duration object or null if invalid.\n * @returns {number} duration.days - The number of days.\n * @returns {number} duration.hours - The number of hours.\n * @returns {number} duration.minutes - The number of minutes.\n * @returns {number} duration.seconds - The number of seconds.\n * @example\n * // Timestamp is a string '1970-01-01 00:00:00'\n */\nexport const getDurationFromTimestamp = (timestamp) => {\n\tconst parsedValue = moment.utc(timestamp, 'YYYY-MM-DD HH:mm:ss');\n\tconst isValidTime = parsedValue.isValid();\n\n\tif (!isValidTime) {\n\t\treturn null;\n\t}\n\n\treturn createDurationFromDateObj(parsedValue);\n};\n\n/**\n * Sanitizes a value to a number.\n * @param {any} value - The value to sanitize.\n * @returns {number} The sanitized number.\n */\nexport const sanitizeToNumber = (value) => {\n\treturn Number(value) || 0;\n};\n\n/**\n * Gets the epoch date.\n * @returns {Date} The epoch date.\n */\nexport const getEpoch = () => {\n\treturn moment.unix(0).utc();\n};\n\n/**\n * Builds a human-readable label from a duration object.\n * @param {Object} duration - The duration object.\n * @param {number} [duration.days=0] - The number of days.\n * @param {number} [duration.hours=0] - The number of hours.\n * @param {number} [duration.minutes=0] - The number of minutes.\n * @param {number} [duration.seconds=0] - The number of seconds.\n * @returns {string} The human-readable duration label.\n * @example\n * // Returns '5d 2h 3m 2s'\n */\nexport const buildValueLabel = (duration) => {\n\tconst { days = 0, hours = 0, minutes = 0, seconds = 0 } = duration || {};\n\tconst label = [];\n\n\tif (days > 0) {\n\t\tlabel.push(`${days}d`);\n\t}\n\n\tif (hours > 0) {\n\t\tlabel.push(`${hours}h`);\n\t}\n\n\tif (minutes > 0) {\n\t\tlabel.push(`${minutes}m`);\n\t}\n\n\tif (seconds > 0) {\n\t\tlabel.push(`${seconds}s`);\n\t}\n\n\treturn label.join(' ');\n};\n\n/**\n * Normalizes a duration object by converting overflow values to appropriate units\n * (e.g., 24 hours becomes 1 day)\n *\n * @param {Object} duration - Object containing duration values\n * @param {number} duration.days - Number of days\n * @param {number} duration.hours - Number of hours\n * @param {number} duration.minutes - Number of minutes\n * @param {number} duration.seconds - Number of seconds\n * @returns {Object} Normalized duration object\n */\nexport const normalizeDuration = (duration) => {\n\tconst { days = 0, hours = 0, minutes = 0, seconds = 0 } = duration || {};\n\tconst momentDuration = moment.duration({\n\t\tdays,\n\t\thours,\n\t\tminutes,\n\t\tseconds,\n\t});\n\n\treturn {\n\t\tdays: Math.floor(momentDuration.asDays()),\n\t\thours: momentDuration.hours(),\n\t\tminutes: momentDuration.minutes(),\n\t\tseconds: momentDuration.seconds(),\n\t};\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport { returnFocusToTrigger } from '../sn-date-popover-content/utils';\nimport {\n\tNOW_INPUT_INPUT,\n\tNOW_POPOVER_CONTENT_HIDDEN,\n\tNOW_POPOVER_OPENED_SET,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nimport {\n\tbuildValueLabel,\n\tbuildJavascriptDurationDate,\n\tgetDurationFromJavascriptDurationDate,\n\tgetDurationFromTimestamp,\n\tnormalizeDuration,\n\tsanitizeToNumber,\n} from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst setInitialDurationState = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { internalValue = '' },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\t// Handle falsy case\n\tif (!internalValue) {\n\t\tupdateState({\n\t\t\tdays: 0,\n\t\t\thours: 0,\n\t\t\tminutes: 0,\n\t\t\tseconds: 0,\n\t\t\tdisplayValue: '',\n\t\t});\n\t\treturn;\n\t}\n\n\tlet duration;\n\n\t// Value is a string 'javascript:gs.getDurationDate('5 2:3:2')'\n\tif (internalValue.startsWith('javascript')) {\n\t\tduration = getDurationFromJavascriptDurationDate(internalValue);\n\t} else {\n\t\t// Value is a string '1970-01-01 00:00:00' (UTC)\n\t\tduration = getDurationFromTimestamp(internalValue);\n\t}\n\n\tupdateState({\n\t\t...duration,\n\t\tdisplayValue: buildValueLabel(duration),\n\t});\n};\n\nconst handleNowPopoverContentHidden = (coeffects) => {\n\tconst { host } = coeffects;\n\n\treturnFocusToTrigger(host);\n};\n\nconst handleComponentBootstrap = (coeffects) => {\n\tsetInitialDurationState(coeffects);\n};\n\nconst handleInputValueChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { fieldValue: payloadValue, path },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst nextState = {\n\t\tdays: sanitizeToNumber(state.days),\n\t\thours: sanitizeToNumber(state.hours),\n\t\tminutes: sanitizeToNumber(state.minutes),\n\t\tseconds: sanitizeToNumber(state.seconds),\n\t\t[path]: sanitizeToNumber(payloadValue),\n\t};\n\n\tconst normalizedDuration = normalizeDuration(nextState);\n\tconst nextInternalValue = buildJavascriptDurationDate(normalizedDuration);\n\tconst nextDisplayValue = buildValueLabel(normalizedDuration);\n\n\tupdateState({ ...nextState, displayValue: nextDisplayValue });\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue: nextInternalValue,\n\t\t\tdisplayValue: nextDisplayValue,\n\t\t},\n\t});\n};\n\nconst handlePopoverOpenedSet = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate,\n\t\taction: {\n\t\t\tpayload: { popoverType },\n\t\t},\n\t} = coeffects;\n\n\tif (popoverType === 'content') {\n\t\tupdateState({\n\t\t\tisPopoverOpened: !state.isPopoverOpened,\n\t\t});\n\t}\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (name === 'editorValue') setInitialDurationState(coeffects);\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t[NOW_INPUT_INPUT]: {\n\t\teffect: handleInputValueChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_CONTENT_HIDDEN]: {\n\t\teffect: handleNowPopoverContentHidden,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\teffect: handlePopoverOpenedSet,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { KEYS } from '../../behaviors/keyboardNavBehavior/constants';\n\nconst handleOnKeyDown = (coeffects) => {\n\tconst { action, state, updateState } = coeffects;\n\n\tif (\n\t\taction.payload.event.key === KEYS.ENTER ||\n\t\taction.payload.event.key === KEYS.ARROW_DOWN\n\t) {\n\t\tupdateState({\n\t\t\tisPopoverOpened: !state.isPopoverOpened,\n\t\t});\n\t\taction.preventDefault();\n\t}\n};\n\nconst eventHandlers = [\n\t{\n\t\tevents: ['keydown'],\n\t\teffect: handleOnKeyDown,\n\t},\n];\n\nexport default eventHandlers;\n","export const SN_VALUE_EDITOR_DURATION_CONTENT_POPOVER_KEY_PRESSED =\n\t'SN_VALUE_EDITOR_DURATION_CONTENT_POPOVER_KEY_PRESSED';\n","import { KEYS } from '../../../behaviors/keyboardNavBehavior/constants';\nimport { NOW_POPOVER_OPENED_SET } from '../../sn-value-editor-commons/actionTypes';\n\nimport { SN_VALUE_EDITOR_DURATION_CONTENT_POPOVER_KEY_PRESSED } from './actionTypes';\n\nconst handlePopoverKeyPressed = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { event },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (event.key === KEYS.ENTER) {\n\t\tdispatch(NOW_POPOVER_OPENED_SET, { popoverType: 'content' });\n\t}\n};\n\nconst actionHandlers = {\n\t[SN_VALUE_EDITOR_DURATION_CONTENT_POPOVER_KEY_PRESSED]: {\n\t\teffect: handlePopoverKeyPressed,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { t } from 'sn-translate';\n\nexport const daysLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Days',\n\tcomment: 'Label for the days input in a duration editor',\n});\nexport const hoursLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Hours',\n\tcomment: 'Label for the hours input in a duration editor',\n});\nexport const minutesLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Minutes',\n\tcomment: 'Label for the minutes input in a duration editor',\n});\nexport const secondsLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Seconds',\n\tcomment: 'Label for the seconds input in a duration editor',\n});\n","import { SN_VALUE_EDITOR_DURATION_CONTENT_POPOVER_KEY_PRESSED } from './actionTypes';\nimport { daysLabel, hoursLabel, minutesLabel, secondsLabel } from './constants';\n\nconst view = (state, helpers) => {\n\tconst { days, hours, minutes, seconds } = state.properties;\n\tconst inputType = 'number';\n\tconst step = '1';\n\tconst min = '0';\n\n\tconst { dispatch } = helpers;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"sn-value-editor-duration-content-popover-container\"\n\t\t\ton-keydown={(event) => {\n\t\t\t\tif (!event.repeat) {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tSN_VALUE_EDITOR_DURATION_CONTENT_POPOVER_KEY_PRESSED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<now-input\n\t\t\t\tappend-to-payload={{ path: 'days' }}\n\t\t\t\tdata-testId=\"Days\"\n\t\t\t\tlabel={daysLabel}\n\t\t\t\tmin={min}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tstep={step}\n\t\t\t\ttype={inputType}\n\t\t\t\tvalue={days}\n\t\t\t/>\n\t\t\t<now-input\n\t\t\t\tappend-to-payload={{ path: 'hours' }}\n\t\t\t\tdata-testId=\"Hours\"\n\t\t\t\tlabel={hoursLabel}\n\t\t\t\tmin={min}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tstep={step}\n\t\t\t\ttype={inputType}\n\t\t\t\tvalue={hours}\n\t\t\t/>\n\t\t\t<now-input\n\t\t\t\tappend-to-payload={{ path: 'minutes' }}\n\t\t\t\tdata-testId=\"Minutes\"\n\t\t\t\tlabel={minutesLabel}\n\t\t\t\tmin={min}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tstep={step}\n\t\t\t\ttype={inputType}\n\t\t\t\tvalue={minutes}\n\t\t\t/>\n\t\t\t<now-input\n\t\t\t\tappend-to-payload={{ path: 'seconds' }}\n\t\t\t\tdata-testId=\"Seconds\"\n\t\t\t\tlabel={secondsLabel}\n\t\t\t\tmin={min}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tstep={step}\n\t\t\t\ttype={inputType}\n\t\t\t\tvalue={seconds}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-duration-content-popover', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tdays: { schema: { type: 'string' } },\n\t\thours: { schema: { type: 'string' } },\n\t\tminutes: { schema: { type: 'string' } },\n\t\tseconds: { schema: { type: 'string' } },\n\t},\n\tstyles,\n\tactionHandlers,\n});\n","import '@servicenow/now-input';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-icon';\nimport '../sn-popover-trigger';\nimport './sn-value-editor-duration-content-popover';\nimport classnames from 'classnames';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: { dir, label, messages, readOnly, showLabels },\n\t\tisPopoverOpened,\n\t\tdisplayValue,\n\t\tdays,\n\t\thours,\n\t\tminutes,\n\t\tseconds,\n\t} = state;\n\n\tconst containerClassnames = classnames('sn-value-editor-duration', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames} dir={dir}>\n\t\t\t<now-popover\n\t\t\t\tappendToPayload={{ popoverType: 'content' }}\n\t\t\t\thide-tail={true}\n\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\tmanage-opened={true}\n\t\t\t\topened={isPopoverOpened}\n\t\t\t\tpositions={[{ target: 'bottom-start', content: 'top-start' }]}\n\t\t\t>\n\t\t\t\t<sn-popover-trigger\n\t\t\t\t\tdisplayName={displayValue}\n\t\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\t\topened={isPopoverOpened}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t>\n\t\t\t\t\t{!readOnly && (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"calendar-outline\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tslot=\"icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t<\/sn-popover-trigger>\n\t\t\t\t<sn-value-editor-duration-content-popover\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\tdays={days}\n\t\t\t\t\thours={hours}\n\t\t\t\t\tminutes={minutes}\n\t\t\t\t\tseconds={seconds}\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t/>\n\t\t\t<\/now-popover>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport actionHandlers from './actions';\nimport eventHandlers from './events';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-duration', {\n\tinitialState: {\n\t\tdisplayValue: '',\n\t\tisPopoverOpened: false,\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\teditorValue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Duration',\n\t\t\t\tcomment: 'Label for a time duration input field',\n\t\t\t}),\n\t\t},\n\t\tmessages: {\n\t\t\tschema: { type: 'array' },\n\t\t\tdefault: [],\n\t\t},\n\t\treadOnly: { schema: { type: 'boolean' }, default: false },\n\t\tshowLabels: { schema: { type: 'boolean' }, default: true },\n\t},\n\tstyles,\n\tactionHandlers,\n\teventHandlers,\n\tbehaviors: [rtlBehavior],\n});\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nimport {\n\tSN_VALUE_EDITOR_VALUE_SET,\n\tSN_RECORD_CURRENCY_CONNECTED_VALUE_CHANGED,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst currencyQueryValuePattern = /javascript:global\\.getCurrencyFilter\\('.*','.*','(.*)'\\)/;\nconst extractCurrencyValueFromQueryValue = (queryValue) => {\n\tif (!queryValue) {\n\t\treturn '';\n\t}\n\n\tconst currencyQueryValuePatternResult = currencyQueryValuePattern.exec(\n\t\tqueryValue\n\t);\n\n\t//example input: \"javascript:global.getCurrencyFilter('core_company','market_cap','USD;5000')\"\n\t//expected output 'USD;5000'\n\treturn get(currencyQueryValuePatternResult, '[1]', queryValue);\n};\n\nconst handleComponentBootstrapped = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { internalValue = '' },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\tconst currencyValue = extractCurrencyValueFromQueryValue(internalValue);\n\n\tupdateState({\n\t\tpath: 'currencyValue',\n\t\tvalue: currencyValue,\n\t\toperation: 'set',\n\t});\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (name === 'editorValue') {\n\t\thandleComponentBootstrapped(coeffects);\n\t}\n};\n\nconst handleValueChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: newValue = '', displayValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: {\n\t\t\teditorValue,\n\t\t\tfieldName,\n\t\t\tmetadataCache: {\n\t\t\t\tinternalEditorMetadata: {\n\t\t\t\t\tcurrency: { currencyToSymbolMap },\n\t\t\t\t},\n\t\t\t},\n\t\t\tsource,\n\t\t},\n\t} = coeffects;\n\n\tconst parsedCurrencyValue = newValue.split(';');\n\tconst symbol = get(currencyToSymbolMap, `${parsedCurrencyValue[0]}`, '');\n\n\tconst displayValueMutated = `${symbol}${displayValue}`;\n\tconst newQueryValue = `javascript:global.getCurrencyFilter('${source}','${fieldName}','${newValue}')`;\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue: newQueryValue,\n\t\t\tdisplayValue: displayValueMutated,\n\t\t},\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t[SN_RECORD_CURRENCY_CONNECTED_VALUE_CHANGED]: {\n\t\teffect: handleValueChanged,\n\t\tstopPropagation: true,\n\t},\n};\n","export const METADATA_CACHE_PATH = 'internalEditorMetadata.currency';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@devsnc/sn-record-currency-connected';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\n\nimport { METADATA_CACHE_PATH } from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: { label, messages, metadataCache, readOnly, showLabels },\n\t\tcurrencyValue,\n\t} = state;\n\n\tconst currencyCodes = get(\n\t\tmetadataCache,\n\t\t`${METADATA_CACHE_PATH}.currencyCodes`,\n\t\t[]\n\t);\n\n\tconst containerClassnames = classnames('sn-value-editor-currency', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<sn-record-currency-connected\n\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\tname=\"currency_value_editor\"\n\t\t\t\tvalue={currencyValue}\n\t\t\t\tcurrencyCodes={currencyCodes}\n\t\t\t\tfieldType=\"currency\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\treadonly={readOnly}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tariaLabel={label}\n\t\t\t\tinvalid={messages?.length > 0}\n\t\t\t\tariaDescribedBy={messages?.[0]?.id}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { createLoadingView } from '../../behaviors/fetchingValueEditorBehavior';\nimport { amountLabel } from '../sn-value-editor-commons/constants';\n\nimport { actionHandlers } from './actions';\nimport { METADATA_CACHE_PATH } from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-currency', {\n\trenderer: { type: snabbdom },\n\tview: createLoadingView(view, METADATA_CACHE_PATH),\n\tproperties: {\n\t\teditorValue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tlabel: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: amountLabel,\n\t\t},\n\t\tfieldName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tmetadataCache: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\tsource: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tactionHandlers,\n\tstyles,\n});\n","import {\n\tSN_VALUE_EDITOR_VALUE_SET,\n\tSN_RECORD_CURRENCY_CONNECTED_VALUE_CHANGED,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst handleValueChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: newValue = '', displayValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: {\n\t\t\teditorValue,\n\t\t\tmetadataCache: {\n\t\t\t\tinternalEditorMetadata: {\n\t\t\t\t\tcurrency: { currencyToSymbolMap },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tconst parsedCurrencyValue = newValue.split(';');\n\tconst symbol = currencyToSymbolMap[parsedCurrencyValue[0]] || '';\n\n\tconst displayValueMutated = `${symbol}${displayValue}`;\n\tconst newQueryValue = newValue.replace(';', ',');\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue: newQueryValue,\n\t\t\tdisplayValue: displayValueMutated,\n\t\t},\n\t});\n};\n\nexport const actionHandlers = {\n\t[SN_RECORD_CURRENCY_CONNECTED_VALUE_CHANGED]: {\n\t\teffect: handleValueChanged,\n\t\tstopPropagation: true,\n\t},\n};\n","export const METADATA_CACHE_PATH = 'internalEditorMetadata.currency'; // this references the same currency metadata cache path as the currency value editor due to the fact that the BE runs the same code for both currency & currecn\n","import '@devsnc/sn-record-currency-connected';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\n\nimport { METADATA_CACHE_PATH } from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { internalValue },\n\t\t\tlabel,\n\t\t\tmessages,\n\t\t\tmetadataCache,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t} = state;\n\n\tconst formattedValue = internalValue\n\t\t? internalValue.replace(',', ';')\n\t\t: internalValue;\n\n\tconst currencyCodes = get(\n\t\tmetadataCache,\n\t\t`${METADATA_CACHE_PATH}.currencyCodes`,\n\t\t[]\n\t);\n\n\tconst containerClassnames = classnames('sn-value-editor-currency-fx', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<sn-record-currency-connected\n\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\tname=\"fx_currency_value_editor\"\n\t\t\t\tvalue={formattedValue}\n\t\t\t\tcurrencyCodes={currencyCodes}\n\t\t\t\tfieldType=\"currency\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\treadonly={readOnly}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tariaLabel={label}\n\t\t\t\tinvalid={messages?.length > 0}\n\t\t\t\tariaDescribedBy={messages?.[0]?.id}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { createLoadingView } from '../../behaviors/fetchingValueEditorBehavior';\nimport { amountLabel } from '../sn-value-editor-commons/constants';\n\nimport { actionHandlers } from './actions';\nimport { METADATA_CACHE_PATH } from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-currency-fx', {\n\tview: createLoadingView(view, METADATA_CACHE_PATH),\n\tstyles,\n\tproperties: {\n\t\teditorValue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tlabel: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: amountLabel,\n\t\t},\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tmetadataCache: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\tsource: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tactionHandlers,\n});\n","import { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nimport {\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tNOW_DROPDOWN_ITEM_CLICKED,\n\tSN_DOT_WALK_PATH_UPDATED,\n\tNOW_INPUT_INPUT,\n} from '../sn-value-editor-commons/actionTypes';\n\nimport {\n\tcreateDisplayValueMap,\n\tgetRelativeDateOptions,\n\tupdateComparativeStateAndDispatch,\n} from './utils';\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { dotwalkPath, internalValue },\n\t\t\tmetadataCache,\n\t\t\tselectedOperator,\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst {\n\t\trelativeDateIntervalOptions,\n\t\trelativeDateOptions,\n\t} = getRelativeDateOptions(metadataCache, selectedOperator);\n\n\t// sample internalValue: work_end@minute@before@3\n\t// expected output is: ['work_end', 'minute', 'before', '3']\n\tconst [\n\t\tfieldInternalValue,\n\t\tdateValue,\n\t\trelativeValue,\n\t\tvalueAmount,\n\t] = internalValue.split('@');\n\n\tconst displayValueMap = createDisplayValueMap([\n\t\t...relativeDateIntervalOptions,\n\t\t...relativeDateOptions,\n\t]);\n\n\tupdateState({\n\t\tfieldValue: {\n\t\t\tdotwalkPath,\n\t\t\tfieldInternalValue,\n\t\t},\n\t\tdateValue,\n\t\trelativeValue,\n\t\tvalueAmount,\n\t\tdisplayValueMap,\n\t\trelativeDateIntervalOptions,\n\t\trelativeDateOptions,\n\t});\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (['editorValue', 'metadataCache', 'selectedOperator'].includes(name))\n\t\thandleBootstrap(coeffects);\n};\n\nconst handleDropdownClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem: { id: itemId },\n\t\t\t\tdropdownId,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\t// there are 2 dropdowns\n\t// date interval: minutes, hours, days, etc\n\t// relative: before, after, before or after\n\n\tupdateComparativeStateAndDispatch({\n\t\tcoeffects,\n\t\tpathToUpdate:\n\t\t\tdropdownId === 'date-interval-value'\n\t\t\t\t? 'dateValue'\n\t\t\t\t: 'relativeValue',\n\t\tvalueToUpdate: itemId,\n\t});\n};\n\nconst handleInputChange = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { fieldValue: valueAmount },\n\t\t},\n\t} = coeffects;\n\n\tupdateComparativeStateAndDispatch({\n\t\tcoeffects,\n\t\tpathToUpdate: 'valueAmount',\n\t\tvalueToUpdate: valueAmount,\n\t});\n};\n\nconst handleDotWalkPathUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tcurrentSelectedItemInternalValue,\n\t\t\t\tdotWalkPath: dotwalkPath,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tupdateComparativeStateAndDispatch({\n\t\tcoeffects,\n\t\tpathToUpdate: 'fieldValue',\n\t\tvalueToUpdate: {\n\t\t\tfieldInternalValue: currentSelectedItemInternalValue,\n\t\t\tdotwalkPath,\n\t\t},\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: handleDropdownClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DROPDOWN_ITEM_CLICKED]: {\n\t\teffect: handleDropdownClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_INPUT_INPUT]: {\n\t\teffect: handleInputChange,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_PATH_UPDATED]: {\n\t\teffect: handleDotWalkPathUpdated,\n\t\tstopPropagation: true,\n\t},\n};\n","import '@servicenow/now-input';\nimport '@servicenow/now-select';\nimport '@servicenow/now-dropdown';\nimport classnames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport '../sn-dot-walk-popover';\nimport { getDotwalkPathDisplayValue } from '../sn-dot-walk-popover/utils';\nimport {\n\tgetFilteredPanelDefinitions,\n\tfilterDotwalkFn,\n} from '../sn-value-editor-commons/utils';\n\nconst dotwalkLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Value',\n\tcomment:\n\t\t'Label for the dot-walk popover that allows selecting a field value',\n});\nconst timeLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Time',\n\tcomment: 'Label for a time input field',\n});\nconst optionLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Option',\n\tcomment: 'Label for a dropdown that contains relative date options',\n});\n\nconst view = (state) => {\n\tconst {\n\t\tdateValue = '',\n\t\tfieldValue: { fieldInternalValue, dotwalkPath },\n\t\tproperties: {\n\t\t\tpanelDefinitions,\n\t\t\tmetadataCache: { tableMetadata },\n\t\t\tselectedField,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t\tsource,\n\t\t},\n\t\trelativeDateIntervalOptions = [],\n\t\trelativeDateOptions = [],\n\t\trelativeValue,\n\t\tvalueAmount,\n\t} = state;\n\n\tconst filteredPanelDefinitions = getFilteredPanelDefinitions({\n\t\tpanelDefinitions,\n\t\ttableMetadata,\n\t\tfieldType: selectedField.type,\n\t\ttransformFunctions: [filterDotwalkFn],\n\t});\n\n\tconst displayValue = getDotwalkPathDisplayValue(dotwalkPath);\n\n\tconst containerClassnames = classnames('sn-value-editor-date-comparative', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<div>\n\t\t\t\t<now-input\n\t\t\t\t\tlabel={showLabels ? timeLabel : null}\n\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tvalue={valueAmount}\n\t\t\t\t>\n\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\tdropdownId: 'date-interval-value',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tbare\n\t\t\t\t\t\titems={relativeDateIntervalOptions}\n\t\t\t\t\t\tselectedItems={dateValue ? [dateValue] : []}\n\t\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t/>\n\t\t\t\t<\/now-input>\n\t\t\t<\/div>\n\t\t\t<div>\n\t\t\t\t<now-select\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t'aria-label': optionLabel,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{ dropdownId: 'relative-value' }}\n\t\t\t\t\titems={relativeDateOptions}\n\t\t\t\t\tlabel={showLabels ? optionLabel : null}\n\t\t\t\t\tmanageSelectedItem\n\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\tselectedItem={relativeValue}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div className=\"dot-walk-container\">\n\t\t\t\t<sn-dot-walk-popover\n\t\t\t\t\tdisplayValue={displayValue}\n\t\t\t\t\tdotwalkPath={dotwalkPath}\n\t\t\t\t\tlabel={showLabels ? dotwalkLabel : null}\n\t\t\t\t\tfieldInternalValue={fieldInternalValue}\n\t\t\t\t\tpanelDefinitions={filteredPanelDefinitions}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\tsource={source}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { createLoadingView } from '../../behaviors/fetchingValueEditorBehavior';\n\nimport { actionHandlers } from './actions';\nimport { METADATA_CACHE_PATH } from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-date-comparative', {\n\tview: createLoadingView(view, METADATA_CACHE_PATH),\n\tinitialState: {\n\t\tdateValue: '',\n\t\tfieldValue: {},\n\t\trelativeDateIntervalOptions: [],\n\t\trelativeDateOptions: [],\n\t\trelativeValue: '',\n\t\tvalueAmount: '',\n\t},\n\tproperties: {\n\t\teditorValue: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tmetadataCache: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tdefault: {},\n\t\t},\n\t\tselectedField: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tselectedOperator: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tstyles,\n\tactionHandlers,\n});\n","export const METADATA_CACHE_PATH =\n\t'internalEditorMetadata.glide_date_equivalent';\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\n\nimport {\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tSN_DOT_WALK_PATH_UPDATED,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nimport { METADATA_CACHE_PATH } from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst updateStateAndDispatch = (coeffects, currentPayload) => {\n\tconst {\n\t\tstate: { dateValue, fieldValue },\n\t\tdispatch,\n\t\tupdateState,\n\t\tproperties: {\n\t\t\teditorValue,\n\t\t\teditorValue: { internalValue },\n\t\t\tmetadataCache,\n\t\t},\n\t} = coeffects;\n\n\tconst newState = {\n\t\tfieldValue,\n\t\tdateValue,\n\t};\n\n\tconst { valueToUpdate, currentSelectedItemDisplayValue } = currentPayload;\n\n\tconst { key, value } = valueToUpdate;\n\n\tset(newState, key, value);\n\n\tupdateState(newState);\n\n\tconst { fieldInternalValue, dotwalkPath } = newState.fieldValue;\n\n\tif (!fieldInternalValue || !newState.dateValue) {\n\t\treturn;\n\t}\n\n\tconst newValue = `${fieldInternalValue}@${newState.dateValue}`;\n\n\tconst equivalentDurationsMap = get(\n\t\tmetadataCache,\n\t\t`${METADATA_CACHE_PATH}.equivalentDurationsMap`,\n\t\t{}\n\t);\n\n\tconst durationDisplayName =\n\t\tequivalentDurationsMap[newState.dateValue] || '';\n\n\tconst displayValue = `${durationDisplayName} ${\n\t\tcurrentSelectedItemDisplayValue || ''\n\t}`;\n\n\tif (newValue === internalValue) {\n\t\treturn;\n\t}\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue: newValue,\n\t\t\tdisplayValue,\n\t\t\tdotwalkPath,\n\t\t},\n\t});\n};\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { dotwalkPath, internalValue = '' },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst [fieldInternalValue, dateValue] = internalValue.split('@');\n\tconst fieldValue = {\n\t\tfieldInternalValue,\n\t\tdotwalkPath,\n\t};\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'fieldValue',\n\t\t\tvalue: fieldValue,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'dateValue',\n\t\t\tvalue: dateValue,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nconst handleComponentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (['editorValue'].includes(name)) handleBootstrap(coeffects);\n};\n\nconst handleDropdownClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem: { id: itemId },\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tconst valueToUpdate = { key: 'dateValue', value: itemId };\n\tconst currentPayload = {\n\t\tvalueToUpdate,\n\t};\n\tupdateStateAndDispatch(coeffects, currentPayload);\n};\n\nconst handleDotWalkPathUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tcurrentSelectedItemDisplayValue,\n\t\t\t\tcurrentSelectedItemInternalValue,\n\t\t\t\tdotWalkPath: dotwalkPath,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\tconst valueToUpdate = {\n\t\tkey: 'fieldValue',\n\t\tvalue: {\n\t\t\tfieldInternalValue: currentSelectedItemInternalValue,\n\t\t\tdotwalkPath,\n\t\t},\n\t};\n\n\tconst currentPayload = {\n\t\tcurrentSelectedItemDisplayValue,\n\t\tvalueToUpdate,\n\t};\n\n\tupdateStateAndDispatch(coeffects, currentPayload);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: handleDropdownClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_PATH_UPDATED]: {\n\t\teffect: handleDotWalkPathUpdated,\n\t\tstopPropagation: true,\n\t},\n};\n","import '@servicenow/now-input';\nimport '@servicenow/now-select';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport '../sn-dot-walk-popover';\nimport { getDotwalkPathDisplayValue } from '../sn-dot-walk-popover/utils';\nimport {\n\tgetFilteredPanelDefinitions,\n\tfilterDotwalkFn,\n} from '../sn-value-editor-commons/utils';\n\nimport { METADATA_CACHE_PATH } from './constants';\nconst optionLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Option',\n\tcomment: 'Label for a dropdown that contains equivalent date options',\n});\nconst dotwalkLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Value',\n\tcomment:\n\t\t'Label for the dot-walk popover that allows selecting a field value',\n});\n\nconst view = (state) => {\n\tconst {\n\t\tdateValue,\n\t\tfieldValue: { dotwalkPath, fieldInternalValue },\n\t\tproperties: {\n\t\t\tpanelDefinitions,\n\t\t\tmetadataCache,\n\t\t\tmetadataCache: { tableMetadata },\n\t\t\tselectedField,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t\tsource,\n\t\t},\n\t} = state;\n\n\tconst equivalentChoiceOptions = get(\n\t\tmetadataCache,\n\t\t`${METADATA_CACHE_PATH}.equivalentDurations`,\n\t\t[]\n\t);\n\n\tconst filteredPanelDefinitions = getFilteredPanelDefinitions({\n\t\tpanelDefinitions,\n\t\ttableMetadata,\n\t\tfieldType: selectedField.type,\n\t\ttransformFunctions: [filterDotwalkFn],\n\t});\n\n\tconst displayValue = getDotwalkPathDisplayValue(dotwalkPath);\n\n\tconst containerClassNames = classnames('sn-value-editor-date-equivalent', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassNames}>\n\t\t\t<div>\n\t\t\t\t<now-select\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t'aria-label': optionLabel,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\titems={equivalentChoiceOptions}\n\t\t\t\t\tlabel={showLabels ? optionLabel : null}\n\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\tselectedItem={dateValue}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div className=\"dot-walk-container\">\n\t\t\t\t<sn-dot-walk-popover\n\t\t\t\t\tdisplayValue={displayValue}\n\t\t\t\t\tdotwalkPath={dotwalkPath}\n\t\t\t\t\tlabel={dotwalkLabel}\n\t\t\t\t\tfieldInternalValue={fieldInternalValue}\n\t\t\t\t\tpanelDefinitions={filteredPanelDefinitions}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\tsource={source}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { createLoadingView } from '../../behaviors/fetchingValueEditorBehavior';\n\nimport { actionHandlers } from './actions';\nimport { METADATA_CACHE_PATH } from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-date-equivalent', {\n\tview: createLoadingView(view, METADATA_CACHE_PATH),\n\tinitialState: {\n\t\tdateValue: '',\n\t\tfieldValue: {},\n\t},\n\tproperties: {\n\t\teditorValue: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tmetadataCache: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tselectedField: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tselectedOperator: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tstyles,\n\tactionHandlers,\n});\n","export const REF_LIST_TYPE = 'REF_LIST';\nexport const LIST_SOURCE = 'now-record-list-connected';\nexport const RUN_BUTTON = 'RUN_BUTTON';\n\nexport const NEW_RECORD_SYS_ID = '-1';\n","export const SN_REFERENCE_LOOKUP_BUTTON_ICONIC_CLICKED =\n\t'SN_REFERENCE_LOOKUP#BUTTON_ICONIC_CLICKED';\nexport const SN_REFERENCE_LOOKUP_VALUE_CHANGED =\n\t'SN_REFERENCE_LOOKUP#VALUE_CHANGED';\n","import get from 'lodash/get';\n\nimport { NOW_CONDITION_BUILDER_ROW_ALTERNATIVE_VIEW_REQUESTED } from '../now-condition-builder-row/actionTypes';\nimport { VARIABLE_QUESTION_TABLE } from '../sn-condition-builder-variables-row/constants';\nimport { isVariableField } from '../sn-condition-builder-variables-row/utils';\nimport { REF_LIST_TYPE } from '../sn-record-list-connected-wrapper/constants';\nimport {\n\tSN_RECORD_LOOKUP_BUTTON_ICONIC_CLICKED,\n\tSN_RECORD_LOOKUP_VALUE_CHANGED,\n} from '../sn-record-lookup/actionTypes';\nimport {\n\tSN_REFERENCE_LOOKUP_BUTTON_ICONIC_CLICKED,\n\tSN_REFERENCE_LOOKUP_VALUE_CHANGED,\n} from '../sn-reference-lookup/actionTypes';\nimport { SN_VALUE_EDITOR_VALUE_SET } from '../sn-value-editor-commons/actionTypes';\n\nconst handleReferenceFieldValueChanged = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tvalue: { internalValue, displayValue },\n\t\t\t\toldValue,\n\t\t\t},\n\t\t},\n\t\tproperties: { value },\n\t} = coeffects;\n\n\tif (internalValue === value) return;\n\n\tconst payload = {\n\t\tvalue: { internalValue, displayValue },\n\t\toldValue,\n\t};\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, payload);\n};\n\nconst handleButtonIconicClicked = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { refElement },\n\t\t},\n\t\tproperties: { source, fieldName, selectedField, metadataCache },\n\t} = coeffects;\n\n\tconst sourceValuePath = 'row.referenceKeyValue.value';\n\tconst targetValuePath = 'value.internalValue';\n\n\tconst sourceDisplayValuePath = 'row.displayValue.value';\n\tconst targetDisplayValuePath = 'value.displayValue';\n\n\tconst isVariableFlow = isVariableField(selectedField.internalValue);\n\n\tconst tableName = isVariableFlow\n\t\t? get(\n\t\t\t\tmetadataCache,\n\t\t\t\t`tableMetadata.${VARIABLE_QUESTION_TABLE}.${fieldName}.referenceTable`\n\t\t  )\n\t\t: source.replace(/^ref_/, '');\n\n\tconst referenceKey = get(\n\t\tmetadataCache,\n\t\t`tableMetadata.${source}.${fieldName}.referenceKey`\n\t);\n\n\tdispatch(NOW_CONDITION_BUILDER_ROW_ALTERNATIVE_VIEW_REQUESTED, {\n\t\tcomponentProps: {\n\t\t\ttableName,\n\t\t\tfieldName,\n\t\t\tlistType: !isVariableFlow ? REF_LIST_TYPE : undefined,\n\t\t\tactionToModelPaths: [\n\t\t\t\t{ sourcePath: sourceValuePath, targetPath: targetValuePath },\n\t\t\t\t{\n\t\t\t\t\tsourcePath: sourceDisplayValuePath,\n\t\t\t\t\ttargetPath: targetDisplayValuePath,\n\t\t\t\t},\n\t\t\t],\n\t\t\treferenceKey,\n\t\t},\n\t\tcomponentTag: 'sn-record-list-connected-wrapper',\n\t\treturnFocusElementRef: refElement,\n\t});\n};\n\nconst actionHandlers = {\n\t[SN_RECORD_LOOKUP_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleButtonIconicClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_RECORD_LOOKUP_VALUE_CHANGED]: {\n\t\teffect: handleReferenceFieldValueChanged,\n\t\tstopPropagation: true,\n\t},\n\t[SN_REFERENCE_LOOKUP_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleButtonIconicClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_REFERENCE_LOOKUP_VALUE_CHANGED]: {\n\t\teffect: handleReferenceFieldValueChanged,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { t } from 'sn-translate';\n\nexport const EMPTY_LIST_LABEL = t('(empty)');\nexport const FETCH_ERROR_MESSAGE = t('An error occurred');\nexport const RECENT_SELECTIONS_LABEL = t('Recent Selections');\n","import get from 'lodash/get';\nimport { getProperty } from 'sn-uxpage-presource';\n\nimport { createHeaderLabel } from '../sn-typeahead-wrapper/utils';\n\nimport { EMPTY_LIST_LABEL, RECENT_SELECTIONS_LABEL } from './constants';\n\nconst WILDCARD_SEARCH_TERM = '**';\n\nexport const resultLimit = getProperty(\n\t'glide.ui.conditionBuilder.referenceResultLimit',\n\t15\n);\n\nexport const getVariables = (coeffects, searchTerm = '') => {\n\tconst {\n\t\tproperties: {\n\t\t\treferenceKey = '',\n\t\t\ttableName,\n\t\t\tselectedField: { internalValue },\n\t\t},\n\t} = coeffects;\n\n\tif (tableName && internalValue) {\n\t\tconst value = (searchTerm || '').trim();\n\n\t\t// '**' returns all records. If searchTerm is empty, we want to return all records.\n\t\tconst chars =\n\t\t\t!value || value === EMPTY_LIST_LABEL ? WILDCARD_SEARCH_TERM : value;\n\n\t\treturn {\n\t\t\tchars,\n\t\t\tfield: internalValue,\n\t\t\treferenceKey,\n\t\t\ttable: tableName,\n\t\t\tpaginationLimit: resultLimit,\n\t\t};\n\t}\n};\n\n/**\n * Transform reference items to the format expected by the typeahead component\n * @param {Array} items - Array of reference items from the API\n * @returns {Array} - Transformed items in typeahead format\n */\nconst transformReferenceItems = (items) => {\n\treturn items.map((item) => {\n\t\tconst { sysId, referenceKeyValue, referenceData } = item;\n\t\t// {id, label, sublabel} is the expected format for the typeahead component\n\t\treturn {\n\t\t\tid: referenceKeyValue || sysId, // if a referenceKeyValue is provided, the api should return a referenceKeyValue\n\t\t\tlabel:\n\t\t\t\tget(referenceData, '[0].value', EMPTY_LIST_LABEL) ||\n\t\t\t\tEMPTY_LIST_LABEL,\n\t\t\tsublabel:\n\t\t\t\treferenceData.length > 1\n\t\t\t\t\t? referenceData\n\t\t\t\t\t\t\t.slice(1)\n\t\t\t\t\t\t\t.map((ref) => ref.value)\n\t\t\t\t\t\t\t.join(' | ')\n\t\t\t\t\t: '',\n\t\t};\n\t});\n};\n\nexport const mapResults = (data, coeffects, queryVariables) => {\n\tconst {\n\t\tproperties: { additionalListItems },\n\t} = coeffects;\n\n\tconst recentOptions =\n\t\tget(\n\t\t\tdata,\n\t\t\t'GlideLayout_Query.referenceDataRetriever.referenceRecentDataList'\n\t\t) || [];\n\n\tconst options =\n\t\tget(\n\t\t\tdata,\n\t\t\t'GlideLayout_Query.referenceDataRetriever.referenceDataList'\n\t\t) || [];\n\n\tconst totalCount =\n\t\tget(data, 'GlideLayout_Query.referenceDataRetriever.totalCount') || 0;\n\n\tconst matchesCount =\n\t\tget(data, 'GlideLayout_Query.referenceDataRetriever.matchesCount') || 0;\n\n\tconst transformedRecentData = transformReferenceItems(recentOptions);\n\n\tconst transformedData = transformReferenceItems(options);\n\n\tconst additionalListItemsCount = additionalListItems?.length || 0;\n\tlet prependItems = [];\n\n\t// Filter out additionalListItems based on the search term\n\tif (Array.isArray(additionalListItems) && additionalListItemsCount > 0) {\n\t\tconst chars = queryVariables.chars || '';\n\t\tconst searchTerm = chars === WILDCARD_SEARCH_TERM ? '' : chars;\n\n\t\tprependItems = additionalListItems.filter((item) => {\n\t\t\tconst label = item.label || '';\n\n\t\t\treturn label.toLowerCase().startsWith(searchTerm.toLowerCase());\n\t\t});\n\t}\n\n\tconst combinedResults = [...prependItems, ...transformedData];\n\n\tif (transformedRecentData.length > 0) {\n\t\tconst sections = [];\n\n\t\tsections.push({\n\t\t\tlabel: RECENT_SELECTIONS_LABEL,\n\t\t\tchildren: transformedRecentData,\n\t\t});\n\n\t\tif (combinedResults.length > 0) {\n\t\t\tconst resultsHeaderLabel = createHeaderLabel({\n\t\t\t\tdisplayCount: combinedResults.length,\n\t\t\t\ttotalCount: matchesCount + prependItems.length, // Using matchesCount which excludes recent items, but include prepend items\n\t\t\t});\n\n\t\t\tsections.push({\n\t\t\t\tlabel: resultsHeaderLabel,\n\t\t\t\tchildren: combinedResults,\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\titems: sections,\n\t\t\thasListSections: true,\n\t\t\ttotalCount: Number(totalCount) + additionalListItemsCount,\n\t\t};\n\t}\n\n\treturn {\n\t\titems: combinedResults,\n\t\ttotalCount: Number(totalCount) + additionalListItemsCount,\n\t};\n};\n","import {\n\tSN_TYPEAHEAD_WRAPPER_BUTTON_ICONIC_CLICKED,\n\tSN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET,\n} from '../sn-typeahead-wrapper/actionTypes';\nimport snTypeaheadWrapperQuery from '../sn-typeahead-wrapper/queryActionHandlers';\n\nimport {\n\tSN_REFERENCE_LOOKUP_BUTTON_ICONIC_CLICKED,\n\tSN_REFERENCE_LOOKUP_VALUE_CHANGED,\n} from './actionTypes';\nimport { getVariables, mapResults } from './utils';\n\nconst query = `\nquery (\n    $table: String!\n    $field: String!\n    $chars: String!\n    $paginationLimit: Int\n    $paginationOffset: Int\n    $referenceKey: String\n    $sortBy: String\n    $query: String\n) {\n    GlideLayout_Query {\n        referenceDataRetriever(\n            tableName: $table\n            fieldName: $field\n            serializedChanges: \"{}\"\n            pagination: { limit: $paginationLimit, offset: $paginationOffset }\n            ignoreTotalCount: true\n            referenceKey: $referenceKey\n            sysId: \"-1\"\n            chars: $chars\n            sysparm_ignore_ref_qual: true\n            sortBy: $sortBy\n            query: $query\n        ) {\n            totalCount\n            recentCount\n            matchesCount\n            referenceRecentDataList {\n                sysId\n                referenceKeyValue\n                referenceData {\n                    key\n                    value\n                }\n            }\n            referenceDataList {\n                sysId\n                referenceKeyValue\n                referenceData {\n                    key\n                    value\n                }\n            }\n        }\n    }\n}\n`;\n\nconst variableList = [\n\t'chars',\n\t'field',\n\t'paginationLimit',\n\t'referenceKey',\n\t'sysId',\n\t'table',\n];\n\nconst {\n\tactionHandlers: snTypeaheadQueryActionHandlers,\n} = snTypeaheadWrapperQuery(query, {\n\tgetVariables,\n\tmapResults,\n\tvariableList,\n});\n\nconst handleReferenceFieldLookupValueChanged = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { value: payloadValue, displayValue },\n\t\t},\n\t\tproperties: { internalValue: internalValueProp },\n\t} = coeffects;\n\n\tif (payloadValue !== internalValueProp) {\n\t\tdispatch(SN_REFERENCE_LOOKUP_VALUE_CHANGED, {\n\t\t\tvalue: {\n\t\t\t\tinternalValue: payloadValue,\n\t\t\t\tdisplayValue,\n\t\t\t},\n\t\t\toldValue: internalValueProp,\n\t\t});\n\t}\n};\n\nconst handleButtonIconicClicked = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: { payload },\n\t} = coeffects;\n\n\tdispatch(SN_REFERENCE_LOOKUP_BUTTON_ICONIC_CLICKED, payload);\n};\n\nconst actionHandlers = {\n\t[SN_TYPEAHEAD_WRAPPER_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleButtonIconicClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET]: {\n\t\teffect: handleReferenceFieldLookupValueChanged,\n\t\tstopPropagation: true,\n\t},\n\t...snTypeaheadQueryActionHandlers,\n};\n\nexport default actionHandlers;\n","import '@servicenow/now-button';\n\nimport '../sn-typeahead-wrapper';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tdisplayValue,\n\t\t\tfieldName,\n\t\t\ticonInfo,\n\t\t\tinternalValue,\n\t\t\tlabel,\n\t\t\tplaceholder,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t\ttypeaheadResults: results,\n\t\ttypeaheadSearchStatus: searchStatus,\n\t} = state;\n\n\treturn (\n\t\t<div className=\"sn-reference-lookup\">\n\t\t\t<sn-typeahead-wrapper\n\t\t\t\tdisplayValue={displayValue}\n\t\t\t\tfieldName={fieldName}\n\t\t\t\ticonInfo={!readOnly ? iconInfo : null}\n\t\t\t\tinternalValue={internalValue}\n\t\t\t\tresults={results}\n\t\t\t\tlabel={label}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tsearchStatus={searchStatus}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\ncreateCustomElement('sn-reference-lookup', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Additional list items for the reference dropdown list to show. These items are prepended to any query results items.\n\t\t * @property {Object[]} additionalListItems - array of objects\n\t\t * @property {string} additionalListItems[].id - internal value for the item\n\t\t * @property {string} additionalListItems[].label - label for the item\n\t\t */\n\t\tadditionalListItems: {\n\t\t\tschema: { type: 'array' },\n\t\t\tdefault: [],\n\t\t},\n\t\tdisplayValue: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tfieldName: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\t/**\n\t\t * Show icon\n\t\t * @property {Object} iconInfo - iconInfo object\n\t\t * @property {string} iconInfo.name - icon name to show (e.g. \"magnifying-glass-outline\")\n\t\t * @property {string} iconInfo.label - aria-label for icon\n\t\t * @property {string} iconInfo.tooltip - tooltip text for icon\n\t\t */\n\t\ticonInfo: {\n\t\t\tschema: { type: 'object', default: undefined },\n\t\t},\n\t\tinternalValue: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Value',\n\t\t\t\tcomment: 'Default label for a reference lookup input field',\n\t\t\t}),\n\t\t},\n\t\tplaceholder: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Alternative reference field other than sys_id. A referenceKeyValue that is provided in the query response will be used as the internalValue.\n\t\t * Docs: https://www.servicenow.com/docs/bundle/washingtondc-platform-administration/page/administer/field-administration/task/t_DefineTheReferenceKey.html\n\t\t */\n\t\treferenceKey: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tselectedField: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\ttableName: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n\tactionHandlers,\n});\n","import get from 'lodash/get';\n\nimport { GLOBAL_DOMAIN_ID, USER_ROLES } from '../../commons/constants';\n\n/**\n * Returns the global session user's domain (typically \"global\" but users can be limited to a specific domain)\n * @returns {string}\n */\nexport const getGlobalSessionUserDomain = () => {\n\treturn get(window, 'ux_globals.session.output.user.domain', '');\n};\n\n/**\n * Returns the global session user's role(s)\n * @returns {string[]} - an array of user roles (example: ['admin'])\n */\nexport const getGlobalSessionUserRoles = () => {\n\tconst roles = get(window, 'ux_globals.session.output.user.roles', []);\n\n\t// sanity check to make sure roles is not null or falsey\n\treturn roles || [];\n};\n\n/**\n * Checks if the current admin user is provisioned in the global domain\n * @returns {boolean}\n */\nexport const isGlobalDomainUser = () => {\n\tconst globalUserDomain = getGlobalSessionUserDomain();\n\tconst globalUserRoles = getGlobalSessionUserRoles();\n\n\treturn (\n\t\tglobalUserDomain === GLOBAL_DOMAIN_ID &&\n\t\tglobalUserRoles.includes(USER_ROLES.ADMIN)\n\t);\n};\n","import get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport '../sn-record-lookup';\nimport '../sn-reference-lookup';\n\nimport '../sn-query-table-metadata';\nimport '../sn-query-variable-metadata';\nimport {\n\tDOMAIN_ID_FIELDTYPE,\n\tGLOBAL_DOMAIN_ID,\n\tGLOBAL_DOMAIN_LABEL,\n} from '../../../commons/constants';\nimport { isGlobalDomainUser } from '../../../commons/utils/uxGlobalsUtils';\nimport { isVariableField } from '../sn-condition-builder-variables-row/utils';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\teditorValue: { internalValue, displayValue },\n\t\t\tlabel,\n\t\t\tfieldName,\n\t\t\tfieldType,\n\t\t\tinitialSource,\n\t\t\treadOnly,\n\t\t\tselectedField,\n\t\t\tsource,\n\t\t\tshowLabels,\n\t\t\tmetadataCache,\n\t\t\tshowReferenceLookup,\n\t\t},\n\t} = state;\n\n\tconst additionalListItems = [];\n\n\tconst {\n\t\treferenceTable,\n\t\treferenceTableDefaultField,\n\t\treferenceKey,\n\t\ttype,\n\t\t__internalTableMetadata = {},\n\t} = get(metadataCache, `tableMetadata.${source}.${fieldName}`, {});\n\n\tconst {\n\t\treferenceTable: internalReferenceTable,\n\t\treferenceTableDefaultField: internalReferenceTableDefaultField,\n\t\treferenceKey: internalReferenceKey,\n\t} = __internalTableMetadata;\n\n\tconst isVariableFlow = isVariableField(selectedField.internalValue);\n\n\tconst showGlobalDomainListItem =\n\t\tfieldType === DOMAIN_ID_FIELDTYPE && isGlobalDomainUser();\n\n\t// STRY58896516: Add global domain list item to reference lookup if table.sys_domain and user is an admin\n\tif (showGlobalDomainListItem) {\n\t\tadditionalListItems.push({\n\t\t\tid: GLOBAL_DOMAIN_ID,\n\t\t\tlabel: GLOBAL_DOMAIN_LABEL,\n\t\t});\n\t}\n\n\tconst iconLabel = t('Look Up {label}', { label });\n\tconst iconInfo = {\n\t\tlabel: iconLabel,\n\t\tname: 'magnifying-glass-outline',\n\t\ttooltip: iconLabel,\n\t};\n\n\tconst isCustomReferenceField =\n\t\t(type === 'reference' &&\n\t\t\treferenceTable !== internalReferenceTable &&\n\t\t\treferenceTableDefaultField !==\n\t\t\t\tinternalReferenceTableDefaultField) ||\n\t\treferenceKey !== internalReferenceKey;\n\n\tconst referenceFieldProps = {\n\t\tdisplayValue,\n\t\tfieldName: referenceTableDefaultField,\n\t\ticonInfo: showReferenceLookup ? iconInfo : null,\n\t\tinternalValue,\n\t\tlabel,\n\t\treadOnly,\n\t\treferenceKey,\n\t\tselectedField,\n\t\tshowLabels,\n\t\ttableName:\n\t\t\tisVariableFlow || isCustomReferenceField\n\t\t\t\t? referenceTable\n\t\t\t\t: initialSource,\n\t};\n\n\tconst renderInnerComponent = () => {\n\t\tif (isCustomReferenceField) {\n\t\t\treturn <sn-record-lookup {...referenceFieldProps} />;\n\t\t}\n\n\t\treturn isVariableFlow ? (\n\t\t\t<sn-query-variable-metadata {...properties}>\n\t\t\t\t<sn-record-lookup {...referenceFieldProps} />\n\t\t\t<\/sn-query-variable-metadata>\n\t\t) : (\n\t\t\t<sn-query-table-metadata {...properties}>\n\t\t\t\t<sn-reference-lookup\n\t\t\t\t\t{...referenceFieldProps}\n\t\t\t\t\tadditionalListItems={additionalListItems}\n\t\t\t\t/>\n\t\t\t<\/sn-query-table-metadata>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className=\"sn-value-editor-reference\">\n\t\t\t{renderInnerComponent()}\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES } from '../sn-value-editor-commons/constants';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-reference', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t...SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES,\n\t\tfieldType: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\tinitialSource: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Selected field object from the reference lookup\n\t\t */\n\t\tselectedField: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Show reference lookup button icon\n\t\t */\n\t\tshowReferenceLookup: {\n\t\t\tschema: { type: 'boolean', default: true },\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tactionHandlers,\n});\n","import get from 'lodash/get';\n\nimport {\n\tSN_TYPEAHEAD_WRAPPER_MULTI_SELECTED_ITEMS_SET,\n\tSN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET,\n} from '../sn-typeahead-wrapper/actionTypes';\nimport snTypeaheadWrapperQuery from '../sn-typeahead-wrapper/queryActionHandlers';\nimport { SN_VALUE_EDITOR_VALUE_SET } from '../sn-value-editor-commons/actionTypes';\n\nconst query = `\n    query ($questionId: String!, $filter: String) {\n        GlideConditionBuilder_Query {\n            questionChoices(questionId: $questionId, filter: $filter) {\n                questionId\n                questionChoices {\n                    value\n                    label\n                }\n            }\n        }\n    }\n`;\n\nexport const getVariables = (coeffects, filter) => {\n\tconst {\n\t\tproperties: { fieldName },\n\t} = coeffects;\n\n\t// fieldName is just the variable/question id, ie a37363b9479102003db6d7527c9a71e2\n\tif (fieldName) {\n\t\treturn {\n\t\t\tquestionId: fieldName,\n\t\t\tignoreRefQual: true,\n\t\t\tfilter: filter || '',\n\t\t};\n\t}\n\n\treturn {};\n};\n\nconst mapResults = (data) => {\n\tconst options =\n\t\tget(\n\t\t\tdata,\n\t\t\t'GlideConditionBuilder_Query.questionChoices.questionChoices'\n\t\t) || [];\n\n\tconst items = options.map(({ value, label }) => ({\n\t\tid: value,\n\t\tlabel,\n\t}));\n\n\treturn {\n\t\titems,\n\t\ttotalCount: items.length,\n\t};\n};\n\nconst variableList = ['questionId', 'filter'];\n\nconst {\n\tactionHandlers: snTypeaheadQueryActionHandlers,\n} = snTypeaheadWrapperQuery(query, {\n\tgetVariables,\n\tmapResults,\n\tvariableList,\n});\n\nexport const handleSnTypeaheadSelectedItemSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: payloadValue, displayValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tconst valueFieldLabel = Array.isArray(displayValue)\n\t\t? displayValue.join(',')\n\t\t: displayValue;\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue: payloadValue,\n\t\t\tdisplayValue: valueFieldLabel,\n\t\t},\n\t});\n};\n\nexport const actionHandlers = {\n\t[SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET]: {\n\t\teffect: handleSnTypeaheadSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t[SN_TYPEAHEAD_WRAPPER_MULTI_SELECTED_ITEMS_SET]: {\n\t\teffect: handleSnTypeaheadSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t...snTypeaheadQueryActionHandlers,\n};\n","export const IN = 'IN';\nexport const NOT_IN = 'NOT IN';\n","import '../sn-typeahead-wrapper';\nimport { IN, NOT_IN } from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { internalValue, displayValue },\n\t\t\tfieldName,\n\t\t\tlabel,\n\t\t\treadOnly,\n\t\t\tselectedOperator,\n\t\t\tshowLabels,\n\t\t},\n\t\ttypeaheadResults: results,\n\t\ttypeaheadSearchStatus: searchStatus,\n\t} = state;\n\n\tconst isMultiSelection = [NOT_IN, IN].includes(selectedOperator);\n\n\treturn (\n\t\t<div className=\"sn-value-editor-variable-choice\">\n\t\t\t<sn-typeahead-wrapper\n\t\t\t\tfieldName={fieldName}\n\t\t\t\tinternalValue={internalValue}\n\t\t\t\tresults={results}\n\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\tisMultiSelection={isMultiSelection}\n\t\t\t\tdisplayValue={displayValue}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tsearchStatus={searchStatus}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport { actionHandlers } from './actions';\nimport view from './view';\n\nconst label = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Value',\n\tcomment: 'Default label for a variable choice input field',\n});\n\ncreateCustomElement('sn-value-editor-variable-choice', {\n\tview,\n\tproperties: {\n\t\teditorValue: { schema: { type: 'object' } },\n\t\tfieldName: { schema: { type: 'string' }, default: '' },\n\t\tlabel: { schema: { type: 'string' }, default: label },\n\t\tselectedOperator: { schema: { type: 'string' }, default: '' },\n\t\treadOnly: { schema: { type: 'boolean' }, default: false },\n\t\tshowLabels: { schema: { type: 'boolean' }, default: true },\n\t},\n\tactionHandlers,\n});\n","export const NOW_DATE_TIME_CALENDAR_SELECTED_ITEMS_SET =\n\t'NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET';\n","import { actionTypes } from '@servicenow/ui-core';\nimport { format as dateFnsFormat, parse as dateFnsParse } from 'date-fns';\nimport get from 'lodash/get';\n\nimport { KEYS } from '../../behaviors/keyboardNavBehavior/constants';\nimport { SN_DATE_POPOVER_CONTENT_ITEM_SELECTED } from '../sn-date-popover-content/constants';\nimport { returnFocusToTrigger } from '../sn-date-popover-content/utils';\nimport {\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_POPOVER_CONTENT_HIDDEN,\n\tNOW_POPOVER_OPENED_SET,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\nimport { NOW_DATE_TIME_CALENDAR_SELECTED_ITEMS_SET } from '../sn-value-editor-date-choice/actionTypes';\n\nimport {\n\tDATE_FORMAT,\n\tDATE_FORMAT_WITH_TIME,\n\tDATE_TIME_REGEX_PATTERN,\n\tEND_TIME,\n\tSN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_KEY_PRESSED,\n\tSN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_SELECTED,\n\tSN_VALUE_EDITOR_DATE_CHOICE_RELATIVE_SELECTED,\n\tSTART_TIME,\n} from './constants';\nimport { findTimeAgo, getInternalValue, isTimeOperator } from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { displayValue, internalValue },\n\t\t\thasTime,\n\t\t\tmetadataCache,\n\t\t\tselectedOperator,\n\t\t\ttype,\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst useTime = hasTime || isTimeOperator(selectedOperator);\n\n\t// Specific date chosen (i.e. '2025-02-06', '00:00:00')\n\t// Parse it to display properly\n\tconst specificDate = internalValue?.match(DATE_TIME_REGEX_PATTERN);\n\tif (specificDate) {\n\t\tconst calendarDate = get(specificDate, '[1]', '');\n\t\tlet calendarTime = get(specificDate, '[2]', '');\n\n\t\tif (useTime) {\n\t\t\tcalendarTime = calendarTime\n\t\t\t\t.replace('start', START_TIME)\n\t\t\t\t.replace('end', END_TIME)\n\t\t\t\t.trim();\n\t\t}\n\n\t\tconst updatedDisplayValue = `${calendarDate} ${\n\t\t\tuseTime ? calendarTime : ''\n\t\t}`.trim();\n\n\t\tupdateState({\n\t\t\tdisplayValue: updatedDisplayValue,\n\t\t\tshowCalendar: true,\n\t\t\tselectedCalendarId: '',\n\t\t\tshowTimePicker: useTime,\n\t\t});\n\t\treturn;\n\t}\n\n\t// Otherwise find it in the backend TimeAgo object\n\tconst timeAgoDates = get(\n\t\tmetadataCache,\n\t\t'internalEditorMetadata.glide_date_choice.timeAgoDates'\n\t);\n\tconst timeAgo = findTimeAgo({\n\t\tinternalValue,\n\t\tselectedOperator,\n\t\tshowTimePicker: useTime,\n\t\ttimeAgoDates,\n\t\ttype,\n\t});\n\n\t// If no timeAgo not found, and the displayValue is null, show the raw value\n\tconst updatedDisplayValue =\n\t\ttimeAgo?.value?.label || displayValue || internalValue;\n\tconst selectedCalendarId = timeAgo?.name || '';\n\tupdateState({\n\t\tdisplayValue: updatedDisplayValue,\n\t\tshowTimePicker: useTime,\n\t\tselectedCalendarId,\n\t});\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t} = coeffects;\n\n\t// Minimize internal state updates whenever the predicateComposition is updated.\n\t// We also need to run handleBootstrap when the selectedOperator is changed.\n\t// This ensures that the calendarValue is updated when the operator is changed.\n\tif (\n\t\tname === 'editorValue' ||\n\t\tname === 'selectedOperator' ||\n\t\t(name === 'metadataCache' && hasTimeAgoLoaded(previousValue, value))\n\t) {\n\t\thandleBootstrap(coeffects);\n\t}\n};\n\n// We want to check that the timeAgo dates are loaded so that we can cross reference the internalValues\n// and get the proper displayValues from it\nconst hasTimeAgoLoaded = (previousMetadataCache, updatedMetadataCache) => {\n\tif (!updatedMetadataCache) {\n\t\treturn false;\n\t}\n\n\tconst previousTimeAgoDates = get(\n\t\tpreviousMetadataCache,\n\t\t'internalEditorMetadata.glide_date_choice.timeAgoDates'\n\t);\n\n\tconst timeAgoDates = get(\n\t\tupdatedMetadataCache,\n\t\t'internalEditorMetadata.glide_date_choice.timeAgoDates'\n\t);\n\n\treturn !previousTimeAgoDates && timeAgoDates;\n};\n\nconst handlePopoverOpenedSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst nextState = {\n\t\tisPopoverOpened: !state.isPopoverOpened,\n\t};\n\n\t// hide the calendar when the popover is closed\n\tif (!value) {\n\t\tnextState.showCalendar = false;\n\t}\n\n\tupdateState(nextState);\n};\n\nconst handlePopoverItemSelected = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem: { id, label },\n\t\t\t\titem,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tproperties: {\n\t\t\teditorValue,\n\t\t\tmetadataCache: {\n\t\t\t\tinternalEditorMetadata: {\n\t\t\t\t\tglide_date_choice: { timeAgoDates },\n\t\t\t\t},\n\t\t\t},\n\t\t\tselectedOperator,\n\t\t\ttype,\n\t\t},\n\t\tstate: { showTimePicker },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (item.children) return;\n\n\tconst internalValue = getInternalValue({\n\t\tid,\n\t\tlabel,\n\t\tselectedOperator,\n\t\tshowTimePicker,\n\t\ttimeAgoDates,\n\t\ttype,\n\t});\n\n\tupdateState({\n\t\tdisplayValue: label,\n\t\tisPopoverOpened: false,\n\t\tselectedCalendarId: id,\n\t});\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue,\n\t\t\tdisplayValue: label,\n\t\t},\n\t});\n};\n\nconst handleButtonIconicClicked = (coeffects) => {\n\tconst {\n\t\tstate: { isPopoverOpened, showCalendar },\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({\n\t\tshowCalendar: isPopoverOpened && showCalendar ? false : true,\n\t});\n};\n\nconst handleDateTimeCalendarSelectedItemsSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tstate: { showTimePicker },\n\t\tproperties: { editorValue },\n\t\tupdateState,\n\t} = coeffects;\n\n\tlet parsedTime;\n\n\tconst newValue = value.join(', ');\n\n\tif (showTimePicker) {\n\t\tconst parsedDate = dateFnsParse(\n\t\t\tnewValue,\n\t\t\tDATE_FORMAT_WITH_TIME,\n\t\t\tnew Date()\n\t\t);\n\t\tconst formattedTime = dateFnsFormat(\n\t\t\tparsedDate,\n\t\t\t`''yyyy-MM-dd'', ''HH:mm:ss''`\n\t\t);\n\t\tparsedTime = `javascript:gs.dateGenerate(${formattedTime})`;\n\t} else {\n\t\tconst parsedDate = dateFnsParse(newValue, DATE_FORMAT, new Date());\n\t\tconst formattedTime = dateFnsFormat(parsedDate, DATE_FORMAT);\n\t\tconst start = `javascript:gs.dateGenerate('${formattedTime}','start')`;\n\t\tconst end = `javascript:gs.dateGenerate('${formattedTime}','end')`;\n\t\tparsedTime = `${newValue}@${start}@${end}`;\n\t}\n\n\tupdateState({\n\t\tdisplayValue: newValue,\n\t\tisPopoverOpened: false,\n\t\tshowCalendar: false,\n\t});\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue: parsedTime,\n\t\t\tdisplayValue: newValue,\n\t\t},\n\t});\n};\n\nconst handleDateChoicePickerCustomSelected = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({\n\t\tshowCalendar: true,\n\t});\n};\n\nconst handleDateChoicePickerRelativeSelected = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({\n\t\tshowCalendar: false,\n\t});\n};\n\nconst handleDateChoicePickerCustomKeyPressed = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { event, panelType },\n\t\t},\n\t} = coeffects;\n\n\tif ([KEYS.ENTER, KEYS.ARROW_RIGHT].includes(event.key)) {\n\t\tupdateState({\n\t\t\tshowCalendar: true,\n\t\t});\n\t} else if ([KEYS.ARROW_UP].includes(event.key)) {\n\t\tconst nodeList = event.target.shadowRoot.querySelectorAll(\n\t\t\t`div.slide.${panelType} ul li`\n\t\t);\n\n\t\tconst elementArray = Array.from(nodeList);\n\n\t\t// account for custom list item added at the end\n\t\tconst lastIndex = elementArray.length - 2;\n\n\t\tconst nextFocusedElement = elementArray[lastIndex];\n\n\t\tif (nextFocusedElement) nextFocusedElement.focus();\n\t}\n};\n\nconst handleNowPopoverContentHidden = (coeffects) => {\n\tconst { host } = coeffects;\n\n\treturnFocusToTrigger(host);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleButtonIconicClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DATE_TIME_CALENDAR_SELECTED_ITEMS_SET]: {\n\t\teffect: handleDateTimeCalendarSelectedItemsSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_CONTENT_HIDDEN]: {\n\t\teffect: handleNowPopoverContentHidden,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\teffect: handlePopoverOpenedSet,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DATE_POPOVER_CONTENT_ITEM_SELECTED]: {\n\t\teffect: handlePopoverItemSelected,\n\t\tstopPropagation: true,\n\t},\n\t[SN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_KEY_PRESSED]: {\n\t\teffect: handleDateChoicePickerCustomKeyPressed,\n\t\tstopPropagation: true,\n\t},\n\t[SN_VALUE_EDITOR_DATE_CHOICE_CUSTOM_SELECTED]: {\n\t\teffect: handleDateChoicePickerCustomSelected,\n\t\tstopPropagation: true,\n\t},\n\t[SN_VALUE_EDITOR_DATE_CHOICE_RELATIVE_SELECTED]: {\n\t\teffect: handleDateChoicePickerRelativeSelected,\n\t\tstopPropagation: true,\n\t},\n};\n","import '@servicenow/now-icon';\nimport '@servicenow/now-input';\nimport '@servicenow/now-popover';\nimport '../sn-popover-trigger';\nimport '../sn-date-popover-content';\n\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport { KEYS } from '../../behaviors/keyboardNavBehavior/constants';\n\nimport {\n\tBEFORE,\n\tMETADATA_CACHE_PATH,\n\tOPERATOR_AFTER,\n\tOPERATOR_AT_OR_AFTER,\n\tOPERATOR_AT_OR_BEFORE,\n\tOPERATOR_BEFORE,\n\tOPERATOR_BETWEEN,\n} from './constants';\n\nconst getDefaultTime = (operator, type) => {\n\tswitch (operator) {\n\t\tcase OPERATOR_BEFORE:\n\t\tcase OPERATOR_AT_OR_AFTER:\n\t\t\treturn '00:00:00';\n\t\tcase OPERATOR_AT_OR_BEFORE:\n\t\tcase OPERATOR_AFTER:\n\t\t\treturn '23:59:59';\n\t\tcase OPERATOR_BETWEEN:\n\t\t\treturn type === BEFORE ? '00:00:00' : '23:59:59';\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\nconst calendarIconAriaLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Calendar',\n\tcomment: 'Accessibility label for a calendar icon that opens a date picker',\n});\n\nconst view = (state, helpers) => {\n\tconst {\n\t\tproperties: {\n\t\t\tdir,\n\t\t\thasTime,\n\t\t\tlabel,\n\t\t\tmetadataCache,\n\t\t\treadOnly,\n\t\t\tselectedOperator,\n\t\t\tshowLabels,\n\t\t\ttype,\n\t\t},\n\t\tdisplayValue,\n\t\tisPopoverOpened,\n\t\tselectedCalendarId,\n\t\tshowCalendar,\n\t} = state;\n\n\tconst defaultTime = getDefaultTime(selectedOperator, type);\n\n\tconst { updateState } = helpers;\n\n\tconst dateChoiceDisplayValues = get(\n\t\tmetadataCache,\n\t\t`${METADATA_CACHE_PATH}.dateChoiceDisplayValues`,\n\t\t[]\n\t);\n\n\tconst elementToSlot = isPopoverOpened ? (\n\t\t<sn-date-popover-content\n\t\t\tslot=\"content\"\n\t\t\taria-live=\"polite\"\n\t\t\tdate-options={dateChoiceDisplayValues}\n\t\t\tdisplayValue={displayValue}\n\t\t\tselectedCalendarId={selectedCalendarId}\n\t\t\tdefault-time={defaultTime}\n\t\t\tshow-calendar={showCalendar}\n\t\t\thas-time-picker={hasTime || defaultTime.length > 0}\n\t\t\tis-date-choice={true}\n\t\t/>\n\t) : null;\n\n\tconst containerClassnames = classnames('sn-value-editor-date-choice', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames} dir={dir}>\n\t\t\t<now-popover\n\t\t\t\tappendToPayload={{ popoverType: 'content' }}\n\t\t\t\thide-tail={true}\n\t\t\t\tinteraction-type=\"dialog\"\n\t\t\t\tmanage-opened={true}\n\t\t\t\topened={isPopoverOpened}\n\t\t\t\tpositions={[{ target: 'bottom-start', content: 'top-start' }]}\n\t\t\t>\n\t\t\t\t<div slot=\"trigger\">\n\t\t\t\t\t<sn-popover-trigger\n\t\t\t\t\t\tcomponentTag=\"sn-value-editor-date-choice\"\n\t\t\t\t\t\tdisplayName={displayValue}\n\t\t\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\t\t\topened={isPopoverOpened}\n\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\ton-keydown={(event) => {\n\t\t\t\t\t\t\tif (!event.repeat) {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tevent.key === KEYS.ENTER ||\n\t\t\t\t\t\t\t\t\tevent.key === KEYS.ARROW_DOWN\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\t\tisPopoverOpened: !state.isPopoverOpened,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t}\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{!readOnly && (\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t'aria-label': calendarIconAriaLabel,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticon=\"calendar-outline\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ttooltipContent={calendarIconAriaLabel}\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t\t{elementToSlot}\n\t\t\t<\/now-popover>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport { createLoadingView } from '../../behaviors/fetchingValueEditorBehavior';\n\nimport { actionHandlers } from './actions';\nimport { AFTER } from './constants';\nimport { METADATA_CACHE_PATH } from './constants';\nimport styles from './styles.scss';\nimport view from './view';\ncreateCustomElement('sn-value-editor-date-choice', {\n\tactionHandlers,\n\tinitialState: {\n\t\tdisplayValue: '',\n\t\tisPopoverOpened: false,\n\t\tselectedCalendarId: '',\n\t\tshowCalendar: false,\n\t\tshowTimePicker: false,\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Value for date choice editor. Can be formatted in the following ways:\n\t\t * - 'activity_dueON2020-08-12@javascript:gs.dateGenerate('2020-08-12','start')@javascript:gs.dateGenerate('2020-08-12','end')'\n\t\t * - 'activity_dueONLast quarter@javascript:gs.beginningOfLastQuarter()@javascript:gs.endOfLastQuarter()'\n\t\t * - 'javascript:gs.beginningOfLastQuarter()'\n\t\t * - 'javascript:gs.dateGenerate('2020-08-12','20:12:30')'\n\t\t */\n\t\teditorValue: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: { schema: { type: 'string', default: '' } },\n\t\t\t\tinternalValue: { schema: { type: 'string', default: '' } },\n\t\t\t},\n\t\t},\n\t\thasTime: { schema: { type: 'boolean' }, default: false },\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Date',\n\t\t\t\tcomment: 'Default label for a date choice input field',\n\t\t\t}),\n\t\t},\n\t\tmetadataCache: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tselectedOperator: { schema: { type: 'string' }, default: '' },\n\t\treadOnly: { schema: { type: 'boolean' }, default: false },\n\t\tsource: { schema: { type: 'string' }, default: '' },\n\t\tshowLabels: { schema: { type: 'boolean' }, default: true },\n\t\t// These are the possible types: \"after\", \"before\", \"between\"\n\t\ttype: { schema: { type: 'string' }, default: AFTER },\n\t},\n\tstyles,\n\tbehaviors: [rtlBehavior],\n\tview: createLoadingView(view, METADATA_CACHE_PATH),\n});\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport isNil from 'lodash/isNil';\n\nimport { SN_VALUE_EDITOR_VALUE_SET } from '../sn-value-editor-commons/actionTypes';\n\nimport {\n\tEMPTY_VALUE_INTERNAL_VALUE,\n\tSEPARATOR,\n\tSN_VALUE_EDITOR_BETWEEN_FIELD_VALUE_SET,\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst handleBetweenEffect = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tproperties: {\n\t\t\teditorValue: { internalValue: originalValue },\n\t\t},\n\t\tstate: {\n\t\t\tbeforeValue,\n\t\t\tafterValue,\n\t\t\tbeforeLabel,\n\t\t\tafterLabel,\n\t\t\tisBeforeDirty,\n\t\t\tisAfterDirty,\n\t\t},\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tvalue: {\n\t\t\t\t\tdisplayValue: payloadDisplayValue,\n\t\t\t\t\tinternalValue: payloadInternalValue,\n\t\t\t\t},\n\t\t\t\tsource,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst newState = {\n\t\tbeforeValue,\n\t\tafterValue,\n\t\tbeforeLabel,\n\t\tafterLabel,\n\t\tisBeforeDirty,\n\t\tisAfterDirty,\n\t};\n\n\tconst displayValueLabel = isNil(payloadDisplayValue)\n\t\t? payloadInternalValue || EMPTY_VALUE_INTERNAL_VALUE\n\t\t: payloadDisplayValue;\n\n\tif (source === 'beforePayload') {\n\t\tnewState.beforeValue = payloadInternalValue;\n\t\tnewState.beforeLabel = displayValueLabel;\n\t\tnewState.isBeforeDirty = true;\n\t} else if (source === 'afterPayload') {\n\t\tnewState.afterValue = payloadInternalValue;\n\t\tnewState.afterLabel = displayValueLabel;\n\t\tnewState.isAfterDirty = true;\n\t}\n\n\tupdateState(newState);\n\n\tconst dirtyMetadata = {\n\t\tisBeforeDirty: newState.isBeforeDirty,\n\t\tisAfterDirty: newState.isAfterDirty,\n\t};\n\n\tif (!isNil(newState.beforeValue) && !isNil(newState.afterValue)) {\n\t\tconst newValue = `${newState.beforeValue}@${newState.afterValue}`;\n\n\t\tconst newDisplayValue = [newState.beforeLabel, newState.afterLabel];\n\n\t\tif (newValue !== originalValue) {\n\t\t\tdispatch(SN_VALUE_EDITOR_BETWEEN_FIELD_VALUE_SET, {\n\t\t\t\toldValue: originalValue,\n\t\t\t\tvalue: {\n\t\t\t\t\tdirtyMetadata,\n\t\t\t\t\tinternalValue: newValue,\n\t\t\t\t\tdisplayValue: newDisplayValue.join(SEPARATOR),\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tstate: { isBeforeDirty, isAfterDirty },\n\t\tproperties: {\n\t\t\teditorValue: { displayValue, internalValue = '' },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst matches = internalValue.match(/([\\w\\W]*)@([\\w\\W]*)/);\n\tconst beforeValue = get(matches, '[1]');\n\tconst afterValue = get(matches, '[2]');\n\n\tconst beforeLabel = get(displayValue.split(SEPARATOR), '[0]');\n\tconst afterLabel = get(displayValue.split(SEPARATOR), '[1]');\n\n\t// Values are dirty if the query was loaded automatically\n\tlet isDirtyByLoading = false;\n\tif (\n\t\t!isBeforeDirty &&\n\t\t!isAfterDirty &&\n\t\t(beforeValue !== '' || afterValue !== '')\n\t)\n\t\tisDirtyByLoading = true;\n\n\tupdateState({\n\t\tbeforeValue,\n\t\tafterValue,\n\t\tbeforeLabel,\n\t\tafterLabel,\n\t\tisBeforeDirty: isDirtyByLoading ? true : isBeforeDirty,\n\t\tisAfterDirty: isDirtyByLoading ? true : isAfterDirty,\n\t});\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (name === 'editorValue') handleComponentBootstrap(coeffects);\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t},\n\t[SN_VALUE_EDITOR_VALUE_SET]: {\n\t\teffect: handleBetweenEffect,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import '../sn-value-editor-choice';\nimport '../sn-value-editor-currency';\nimport '../sn-value-editor-currency-fx';\nimport '../sn-value-editor-date-choice';\nimport '../sn-value-editor-duration';\nimport '../sn-value-editor-number';\nimport '../sn-value-editor-string';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classnames from 'classnames';\n\nimport {\n\tCHOICE_END_LABEL,\n\tCHOICE_START_LABEL,\n\tCURRENCY_END_LABEL,\n\tCURRENCY_START_LABEL,\n\tDATE_END_LABEL,\n\tDATE_START_LABEL,\n\tDURATION_END_LABEL,\n\tDURATION_START_LABEL,\n\tENTER_FIRST_VALUE_PLACEHOLDER,\n\tENTER_SECOND_VALUE_PLACEHOLDER,\n\tNUMBER_END_LABEL,\n\tNUMBER_START_LABEL,\n\tSELECTED_OPERATOR_BETWEEN,\n\tSTRING_END_LABEL,\n\tSTRING_START_LABEL,\n\tTYPE_BEFORE,\n\tTYPE_BETWEEN,\n} from './constants';\n\nconst beforeAppendToPayload = {\n\tsource: 'beforePayload',\n};\n\nconst afterAppendToPayload = {\n\tsource: 'afterPayload',\n};\n\nconst beforeBetweenFieldValue = 'before-between-field-value';\nconst afterBetweenFieldValue = 'after-between-field-value';\n\nconst renderChoiceEditors = ({\n\tafterLabel,\n\tafterValue,\n\tbeforeLabel,\n\tbeforeValue,\n\tfieldName,\n\treadOnly,\n\tshowLabels,\n\tsource,\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<sn-value-editor-choice\n\t\t\t\tappend-to-payload={beforeAppendToPayload}\n\t\t\t\tdata-testId={beforeBetweenFieldValue}\n\t\t\t\teditorValue={{\n\t\t\t\t\tinternalValue: beforeValue,\n\t\t\t\t\tdisplayValue: beforeLabel,\n\t\t\t\t}}\n\t\t\t\tfieldName={fieldName}\n\t\t\t\tlabel={CHOICE_START_LABEL}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tselectedOperator={SELECTED_OPERATOR_BETWEEN}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\tsource={source}\n\t\t\t/>\n\t\t\t<sn-value-editor-choice\n\t\t\t\tappend-to-payload={afterAppendToPayload}\n\t\t\t\tdata-testId={afterBetweenFieldValue}\n\t\t\t\teditorValue={{\n\t\t\t\t\tinternalValue: afterValue,\n\t\t\t\t\tdisplayValue: afterLabel,\n\t\t\t\t}}\n\t\t\t\tfieldName={fieldName}\n\t\t\t\tlabel={CHOICE_END_LABEL}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tselectedOperator={SELECTED_OPERATOR_BETWEEN}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\tsource={source}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderCurrencyEditors = ({\n\tafterValue,\n\tbeforeValue,\n\tfieldName,\n\tmetadataCache,\n\treadOnly,\n\tshowLabels,\n\tsource,\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<sn-value-editor-currency\n\t\t\t\tappend-to-payload={beforeAppendToPayload}\n\t\t\t\tdata-testId={beforeBetweenFieldValue}\n\t\t\t\teditorValue={{ internalValue: beforeValue }}\n\t\t\t\tfieldName={fieldName}\n\t\t\t\tlabel={CURRENCY_START_LABEL}\n\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\tsource={source}\n\t\t\t/>\n\t\t\t<sn-value-editor-currency\n\t\t\t\tappend-to-payload={afterAppendToPayload}\n\t\t\t\tdata-testId={afterBetweenFieldValue}\n\t\t\t\teditorValue={{ internalValue: afterValue }}\n\t\t\t\tfieldName={fieldName}\n\t\t\t\tlabel={CURRENCY_END_LABEL}\n\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\tsource={source}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderCurrency2Editors = ({\n\tafterValue,\n\tbeforeValue,\n\tmetadataCache,\n\treadOnly,\n\tshowLabels,\n}) => {\n\tconst afterInternalValue = {\n\t\tinternalValue: afterValue,\n\t};\n\tconst beforeInternalValue = {\n\t\tinternalValue: beforeValue,\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<sn-value-editor-currency-fx\n\t\t\t\tappend-to-payload={beforeAppendToPayload}\n\t\t\t\tdata-testId={beforeBetweenFieldValue}\n\t\t\t\teditorValue={beforeInternalValue}\n\t\t\t\tlabel={CURRENCY_START_LABEL}\n\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t/>\n\t\t\t<sn-value-editor-currency-fx\n\t\t\t\tappend-to-payload={afterAppendToPayload}\n\t\t\t\tdata-testId={afterBetweenFieldValue}\n\t\t\t\teditorValue={afterInternalValue}\n\t\t\t\tlabel={CURRENCY_END_LABEL}\n\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderDurationEditors = ({\n\tbeforeValue,\n\tafterValue,\n\treadOnly,\n\tshowLabels,\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<sn-value-editor-duration\n\t\t\t\tappend-to-payload={beforeAppendToPayload}\n\t\t\t\tdata-testId={beforeBetweenFieldValue}\n\t\t\t\teditorValue={{ internalValue: beforeValue }}\n\t\t\t\tlabel={DURATION_START_LABEL}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t/>\n\t\t\t<sn-value-editor-duration\n\t\t\t\tappend-to-payload={afterAppendToPayload}\n\t\t\t\tdata-testId={afterBetweenFieldValue}\n\t\t\t\teditorValue={{ internalValue: afterValue }}\n\t\t\t\tlabel={DURATION_END_LABEL}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderNumberEditors = ({\n\tafterValue,\n\tbeforeValue,\n\tisDecimal,\n\treadOnly,\n\tshowLabels,\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<sn-value-editor-number\n\t\t\t\tappend-to-payload={beforeAppendToPayload}\n\t\t\t\tdata-testId={beforeBetweenFieldValue}\n\t\t\t\teditorValue={{ internalValue: beforeValue }}\n\t\t\t\tisNumber={isDecimal}\n\t\t\t\tlabel={NUMBER_START_LABEL}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t/>\n\t\t\t<sn-value-editor-number\n\t\t\t\tappend-to-payload={afterAppendToPayload}\n\t\t\t\tdata-testId={afterBetweenFieldValue}\n\t\t\t\teditorValue={{ internalValue: afterValue }}\n\t\t\t\tisNumber={isDecimal}\n\t\t\t\tlabel={NUMBER_END_LABEL}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderStringEditors = ({\n\tafterLabel,\n\tafterValue,\n\tbeforeLabel,\n\tbeforeValue,\n\treadOnly,\n\tshowLabels,\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<sn-value-editor-string\n\t\t\t\tappend-to-payload={beforeAppendToPayload}\n\t\t\t\tdata-testId={beforeBetweenFieldValue}\n\t\t\t\teditorValue={{\n\t\t\t\t\tdisplayValue: beforeLabel,\n\t\t\t\t\tinternalValue: beforeValue,\n\t\t\t\t}}\n\t\t\t\tlabel={STRING_START_LABEL}\n\t\t\t\tplaceHolderText={ENTER_FIRST_VALUE_PLACEHOLDER}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t/>\n\t\t\t<sn-value-editor-string\n\t\t\t\tappend-to-payload={afterAppendToPayload}\n\t\t\t\tdata-testId={afterBetweenFieldValue}\n\t\t\t\teditorValue={{\n\t\t\t\t\tdisplayValue: afterLabel,\n\t\t\t\t\tinternalValue: afterValue,\n\t\t\t\t}}\n\t\t\t\tlabel={STRING_END_LABEL}\n\t\t\t\tplaceHolderText={ENTER_SECOND_VALUE_PLACEHOLDER}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderDateChoiceEditors = ({\n\tafterLabel,\n\tafterValue,\n\tbeforeLabel,\n\tbeforeValue,\n\tmetadataCache,\n\treadOnly,\n\tshowLabels,\n}) => {\n\tconst afterInternalValue = {\n\t\tinternalValue: afterValue,\n\t\tdisplayValue: afterLabel,\n\t};\n\tconst beforeInternalValue = {\n\t\tinternalValue: beforeValue,\n\t\tdisplayValue: beforeLabel,\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<sn-value-editor-date-choice\n\t\t\t\tappend-to-payload={beforeAppendToPayload}\n\t\t\t\tdata-testId={beforeBetweenFieldValue}\n\t\t\t\teditorValue={beforeInternalValue}\n\t\t\t\thasTime={true}\n\t\t\t\tlabel={DATE_START_LABEL}\n\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tselectedOperator={SELECTED_OPERATOR_BETWEEN}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\ttype={TYPE_BEFORE}\n\t\t\t/>\n\t\t\t<sn-value-editor-date-choice\n\t\t\t\tappend-to-payload={afterAppendToPayload}\n\t\t\t\tdata-testId={afterBetweenFieldValue}\n\t\t\t\teditorValue={afterInternalValue}\n\t\t\t\thasTime={true}\n\t\t\t\tlabel={DATE_END_LABEL}\n\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tselectedOperator={SELECTED_OPERATOR_BETWEEN}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\ttype={TYPE_BETWEEN}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderBetweenFields = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tfieldName,\n\t\t\tfieldType,\n\t\t\tmetadataCache,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t\tsource,\n\t\t},\n\t\tafterLabel,\n\t\tafterValue,\n\t\tbeforeLabel,\n\t\tbeforeValue,\n\t} = state;\n\n\tswitch (fieldType) {\n\t\tcase 'choice':\n\t\t\treturn renderChoiceEditors({\n\t\t\t\tafterLabel,\n\t\t\t\tafterValue,\n\t\t\t\tbeforeLabel,\n\t\t\t\tbeforeValue,\n\t\t\t\tfieldName,\n\t\t\t\treadOnly,\n\t\t\t\tshowLabels,\n\t\t\t\tsource,\n\t\t\t});\n\t\tcase 'currency':\n\t\t\treturn renderCurrencyEditors({\n\t\t\t\tafterValue,\n\t\t\t\tbeforeValue,\n\t\t\t\tfieldName,\n\t\t\t\tmetadataCache,\n\t\t\t\treadOnly,\n\t\t\t\tshowLabels,\n\t\t\t\tsource,\n\t\t\t});\n\t\tcase 'currency2':\n\t\t\treturn renderCurrency2Editors({\n\t\t\t\tafterValue,\n\t\t\t\tbeforeValue,\n\t\t\t\tmetadataCache,\n\t\t\t\treadOnly,\n\t\t\t\tshowLabels,\n\t\t\t});\n\t\tcase 'glide_duration':\n\t\t\treturn renderDurationEditors({\n\t\t\t\tbeforeValue,\n\t\t\t\tafterValue,\n\t\t\t\treadOnly,\n\t\t\t\tshowLabels,\n\t\t\t});\n\t\tcase 'decimal':\n\t\tcase 'float':\n\t\t\treturn renderNumberEditors({\n\t\t\t\tafterValue,\n\t\t\t\tbeforeValue,\n\t\t\t\tisDecimal: true,\n\t\t\t\treadOnly,\n\t\t\t\tshowLabels,\n\t\t\t});\n\t\tcase 'integer':\n\t\t\treturn renderNumberEditors({\n\t\t\t\tafterValue,\n\t\t\t\tbeforeValue,\n\t\t\t\tisDecimal: false,\n\t\t\t\treadOnly,\n\t\t\t\tshowLabels,\n\t\t\t});\n\t\tcase 'glide_date_time':\n\t\tcase 'glide_date':\n\t\tcase 'due_date':\n\t\t\treturn renderDateChoiceEditors({\n\t\t\t\tafterLabel,\n\t\t\t\tafterValue,\n\t\t\t\tbeforeLabel,\n\t\t\t\tbeforeValue,\n\t\t\t\tmetadataCache,\n\t\t\t\treadOnly,\n\t\t\t\tshowLabels,\n\t\t\t});\n\t\tcase 'string':\n\t\tdefault:\n\t\t\treturn renderStringEditors({\n\t\t\t\tafterLabel,\n\t\t\t\tafterValue,\n\t\t\t\tbeforeLabel,\n\t\t\t\tbeforeValue,\n\t\t\t\treadOnly,\n\t\t\t\tshowLabels,\n\t\t\t});\n\t}\n};\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: { fieldType },\n\t} = state;\n\tconst divClassNames = classnames('sn-value-editor-container', fieldType);\n\treturn <div className={divClassNames}>{renderBetweenFields(state)}<\/div>;\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-between-field', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\teditorValue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tdefault: {},\n\t\t\t},\n\t\t},\n\t\tfieldName: { schema: { type: 'string' }, default: '' },\n\t\tfieldType: { schema: { type: 'string' }, default: '' },\n\t\tmetadataCache: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tschema: { type: 'array' },\n\t\t\tdefault: [],\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tsource: { schema: { type: 'string' } },\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tstyles,\n\tactionHandlers,\n});\n","export const MAX_ITEMS = 50;\n\nexport const NOT_IN = 'NOT IN';\nexport const IN = 'IN';\n\nexport const OPERATORS = {\n\tNOT_IN,\n\tIN,\n};\n","import get from 'lodash/get';\nimport last from 'lodash/last';\n\nimport { MAX_ITEMS } from './constants';\n\nexport const getDynamicAttributes = (coeffects, searchTerm) => {\n\tconst { properties } = coeffects;\n\tconst { metadataCache, selectedField } = properties;\n\n\tconst namespaces = getDynamicChoicePayload(metadataCache, selectedField);\n\n\treturn {\n\t\t...namespaces,\n\t\tincludeInactive: false,\n\t\tsearchTerm: searchTerm || '',\n\t\toperator: 'CONTAINS',\n\t\tfirstRow: 0,\n\t\tlastRow: MAX_ITEMS,\n\t};\n};\n\nexport const getDynamicChoicePayload = (metadataCache, selectedField) => {\n\tconst lastSection = last(selectedField?.dotwalkPath) || {};\n\tconst { source, internalValue } = lastSection;\n\tconst dynamicSchemaData =\n\t\tget(\n\t\t\tmetadataCache,\n\t\t\t`tableMetadata.${source}.${internalValue}.dynamicSchemaData`\n\t\t) || {};\n\treturn {\n\t\tcategoryNamespacedName: dynamicSchemaData.categoryNamespacedName || '',\n\t\tattributeNamespacedName:\n\t\t\tdynamicSchemaData.attributeNamespacedName || '',\n\t};\n};\n\nexport const mapResults = (data) => {\n\tconst choices =\n\t\tget(\n\t\t\tdata,\n\t\t\t'GlidePredicateBuilderDynamicAttributes_Query.getChoices.choices'\n\t\t) || [];\n\n\tconst items = choices.map((choice) => ({\n\t\tid: choice.internalValue,\n\t\tlabel: choice.displayValue,\n\t}));\n\n\treturn {\n\t\titems,\n\t\ttotalCount: items.length,\n\t};\n};\n","import {\n\tSN_TYPEAHEAD_WRAPPER_MULTI_SELECTED_ITEMS_SET,\n\tSN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET,\n} from '../sn-typeahead-wrapper/actionTypes';\nimport snTypeaheadWrapperQuery from '../sn-typeahead-wrapper/queryActionHandlers';\nimport { SN_VALUE_EDITOR_VALUE_SET } from '../sn-value-editor-commons/actionTypes';\n\nimport { getDynamicAttributes, mapResults } from './utils';\n\nconst query = `\nquery ($categoryNamespacedName: String, $attributeNamespacedName: String!, $includeInactive: Boolean, $searchTerm: String, $operator: GlidePredicateBuilderDynamicAttributes_SearchOperatorEnumType, $firstRow: Int, $lastRow: Int) {\n\tGlidePredicateBuilderDynamicAttributes_Query {\n\t\tgetChoices(\n\t\t\tcategoryNamespacedName: $categoryNamespacedName\n\t\t\tattributeNamespacedName: $attributeNamespacedName\n\t\t\tincludeInactive: $includeInactive\n\t\t\tsearchTerm: $searchTerm\n\t\t\toperator: $operator\n\t\t\tfirstRow: $firstRow\n\t\t\tlastRow: $lastRow\n\t\t) {\n\t\t\tsearchParams {\n\t\t\t\tincludeInactive\n\t\t\t\tsearchTerm\n\t\t\t\toperator\n\t\t\t\tfirstRow\n\t\t\t\tlastRow\n\t\t\t}\n\t\t\tchoices {\n\t\t\t\tdisplayValue\n\t\t\t\tinternalValue\n\t\t\t\torder\n\t\t\t\tactive\n\t\t\t}\n\t\t}\n\t}\n}\n`;\n\nconst variableList = [\n\t'categoryNamespacedName',\n\t'attributeNamespacedName',\n\t'includeInactive',\n\t'searchTerm',\n\t'operator',\n\t'firstRow',\n\t'lastRow',\n];\n\nconst {\n\tactionHandlers: snTypeaheadQueryActionHandlers,\n} = snTypeaheadWrapperQuery(query, {\n\tgetVariables: getDynamicAttributes,\n\tmapResults,\n\tvariableList,\n});\n\nconst handleSnTypeaheadSelectedItemSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: payloadValue, displayValue },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t} = coeffects;\n\n\tconst displayValueMutated = Array.isArray(displayValue)\n\t\t? displayValue.join(',')\n\t\t: displayValue;\n\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue,\n\t\tvalue: {\n\t\t\tinternalValue: payloadValue,\n\t\t\tdisplayValue: displayValueMutated,\n\t\t},\n\t});\n};\n\nexport const actionHandlers = {\n\t[SN_TYPEAHEAD_WRAPPER_SELECTED_ITEM_SET]: {\n\t\teffect: handleSnTypeaheadSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t[SN_TYPEAHEAD_WRAPPER_MULTI_SELECTED_ITEMS_SET]: {\n\t\teffect: handleSnTypeaheadSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t...snTypeaheadQueryActionHandlers,\n};\n\nexport default actionHandlers;\n","import classnames from 'classnames';\n\nimport '../sn-typeahead-wrapper';\n\nimport { OPERATORS } from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { displayValue, internalValue },\n\t\t\tfieldName,\n\t\t\tlabel,\n\t\t\treadOnly,\n\t\t\tselectedOperator,\n\t\t\tshowLabels,\n\t\t},\n\t\ttypeaheadResults: results,\n\t\ttypeaheadSearchStatus: searchStatus,\n\t} = state;\n\n\tconst isMultiSelection = [OPERATORS.NOT_IN, OPERATORS.IN].includes(\n\t\tselectedOperator\n\t);\n\n\tconst containerClassnames = classnames(\n\t\t'sn-value-editor-dynamic-attribute-choice',\n\t\t{\n\t\t\t'no-field-labels': !showLabels,\n\t\t}\n\t);\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<sn-typeahead-wrapper\n\t\t\t\tdisplayValue={displayValue}\n\t\t\t\tfieldName={fieldName}\n\t\t\t\tinternalValue={internalValue}\n\t\t\t\tisMultiSelection={isMultiSelection}\n\t\t\t\tlabel={showLabels ? label : null}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tresults={results}\n\t\t\t\tsearchStatus={searchStatus}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES } from '../sn-value-editor-commons/constants';\n\nimport { actionHandlers } from './actions';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-dynamic-attribute-choice', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t...SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES,\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tselectedField: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tselectedOperator: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tactionHandlers,\n});\n","export const SN_VALUE_EDITOR_HIERARCHY_REFERENCE_STARTING_POINT_SET =\n\t'SN_VALUE_EDITOR_HIERARCHY_REFERENCE#STARTING_POINT_SET';\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tSN_VALUE_EDITOR_VALUE_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nimport { SN_VALUE_EDITOR_HIERARCHY_REFERENCE_STARTING_POINT_SET } from './actionTypes';\nimport { HIERARCHY_REFERENCE_SELECT_IDS } from './constants';\nimport {\n\tbuildCanonicalHierarchy,\n\textractStartingPointDisplayValue,\n\tgetFieldRecordHierarchiesFromTableMetadata,\n\tparseHierarchyValue,\n} from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst updateStateAndDispatch = (\n\tcoeffects,\n\t{\n\t\tnewHierarchyIdentifier,\n\t\tnewStartingPoint,\n\t\tnewStartingPointDisplayValue,\n\t\tnewInclusive,\n\t}\n) => {\n\tconst {\n\t\tstate: {\n\t\t\thierarchyIdentifier,\n\t\t\tstartingPoint,\n\t\t\tstartingPointDisplayValue,\n\t\t\tinclusive,\n\t\t\trecordHierarchiesState,\n\t\t},\n\t\tdispatch,\n\t\tproperties: { editorValue },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst newState = {\n\t\thierarchyIdentifier: newHierarchyIdentifier ?? hierarchyIdentifier,\n\t\tstartingPoint: newStartingPoint ?? startingPoint,\n\t\tstartingPointDisplayValue:\n\t\t\tnewStartingPointDisplayValue ?? startingPointDisplayValue,\n\t\tinclusive: newInclusive ?? inclusive,\n\t\trecordHierarchiesState,\n\t};\n\n\tupdateState(newState);\n\n\tconst canonicalValue = buildCanonicalHierarchy(newState);\n\n\tif (\n\t\t!newState.hierarchyIdentifier ||\n\t\t!newState.inclusive ||\n\t\t!newState.startingPoint\n\t) {\n\t\treturn;\n\t}\n\n\t// Dispatch the authoritative value\n\tdispatch(SN_VALUE_EDITOR_VALUE_SET, {\n\t\toldValue: editorValue && editorValue.internalValue,\n\t\tvalue: canonicalValue,\n\t});\n};\n\nconst handleStartingPointChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: newStartingPointValue },\n\t\t},\n\t\tstate: { startingPoint, startingPointDisplayValue },\n\t} = coeffects;\n\n\tif (\n\t\tnewStartingPointValue.internalValue === startingPoint &&\n\t\tnewStartingPointValue.displayValue === startingPointDisplayValue\n\t) {\n\t\treturn;\n\t}\n\n\tupdateStateAndDispatch(coeffects, {\n\t\tnewStartingPoint: newStartingPointValue.internalValue,\n\t\tnewStartingPointDisplayValue: newStartingPointValue.displayValue,\n\t});\n};\n\nconst handleSelectChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { item, selectId },\n\t\t},\n\t\tstate: { hierarchyIdentifier, inclusive },\n\t} = coeffects;\n\tconst updates = {};\n\tif (selectId === HIERARCHY_REFERENCE_SELECT_IDS.HIERARCHY_TYPE) {\n\t\tif (item.id === hierarchyIdentifier) {\n\t\t\treturn;\n\t\t}\n\t\tupdates.newHierarchyIdentifier = item.id;\n\t}\n\tif (selectId === HIERARCHY_REFERENCE_SELECT_IDS.INCLUSIVITY) {\n\t\tif (item.id === inclusive) {\n\t\t\treturn;\n\t\t}\n\t\tupdates.newInclusive = item.id;\n\t}\n\tupdateStateAndDispatch(coeffects, updates);\n};\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorValue: { internalValue = '', displayValue = '' } = {},\n\t\t\tmetadataCache = {},\n\t\t\tsource = '',\n\t\t\tfieldName = '',\n\t\t\tfield = {},\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\t// Check if field has dotwalkPath and use the last item if available\n\tlet fieldSource = source;\n\tlet fieldInternalName = fieldName;\n\n\tif (field?.dotwalkPath?.length) {\n\t\tconst lastPathItem = field.dotwalkPath[field.dotwalkPath.length - 1];\n\t\tfieldSource = lastPathItem.source;\n\t\tfieldInternalName = lastPathItem.internalValue;\n\t}\n\n\tconst { recordHierarchies } = getFieldRecordHierarchiesFromTableMetadata(\n\t\tmetadataCache,\n\t\tfieldSource,\n\t\tfieldInternalName\n\t);\n\n\tif (!recordHierarchies || recordHierarchies?.length === 0) {\n\t\tconsole.warn(\n\t\t\t'[Hierarchy Bootstrap] No record hierarchies found for field:',\n\t\t\tfieldInternalName,\n\t\t\t'on table:',\n\t\t\tfieldSource,\n\t\t\t'- Check metadataCache.'\n\t\t);\n\t\treturn;\n\t}\n\n\tlet {\n\t\thierarchyIdentifier,\n\t\tstartingPoint,\n\t\toffset,\n\t\tinclusive,\n\t} = parseHierarchyValue(internalValue);\n\n\tif (\n\t\t!hierarchyIdentifier &&\n\t\trecordHierarchies &&\n\t\trecordHierarchies.length > 0\n\t) {\n\t\thierarchyIdentifier = recordHierarchies[0].sysId;\n\t}\n\n\tconst parsedStartingPointDisplayValue = extractStartingPointDisplayValue(\n\t\tdisplayValue\n\t);\n\n\tupdateState({\n\t\thierarchyIdentifier,\n\t\tstartingPoint,\n\t\toffset,\n\t\tinclusive,\n\t\trecordHierarchiesState: recordHierarchies,\n\t\tstartingPointDisplayValue: parsedStartingPointDisplayValue,\n\t});\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, previousValue, value },\n\t\t},\n\t} = coeffects;\n\n\tif (name !== 'editorValue') return;\n\n\tif (previousValue.internalValue === value.internalValue) {\n\t\treturn;\n\t}\n\n\thandleBootstrap(coeffects);\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[SN_VALUE_EDITOR_HIERARCHY_REFERENCE_STARTING_POINT_SET]: {\n\t\teffect: handleStartingPointChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: handleSelectChanged,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { SN_VALUE_EDITOR_VALUE_SET } from '../sn-value-editor-commons/actionTypes';\nimport { SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES } from '../sn-value-editor-commons/constants';\nimport '../sn-value-editor-reference';\nimport '../sn-value-editor-choice-dynamic';\nimport { SN_VALUE_EDITOR_HIERARCHY_REFERENCE_STARTING_POINT_SET } from '../sn-value-editor-hierarchy-reference/actionTypes';\nimport { HIERARCHY_DYNAMIC_OPERATOR_INTERNAL_VALUE } from '../sn-value-editor-hierarchy-reference/constants';\n\ncreateCustomElement('sn-hierarchy-reference-wrapper', {\n\trenderer: { type: snabbdom },\n\tview: ({ properties }) => {\n\t\tconst { selectedOperator, ...restProps } = properties;\n\n\t\tif (selectedOperator === HIERARCHY_DYNAMIC_OPERATOR_INTERNAL_VALUE) {\n\t\t\treturn <sn-value-editor-choice-dynamic {...restProps} />;\n\t\t} else {\n\t\t\treturn <sn-value-editor-reference {...restProps} />;\n\t\t}\n\t},\n\tproperties: {\n\t\t...SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES,\n\t\tfieldType: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\tinitialSource: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Selected field object from the reference lookup\n\t\t */\n\t\tselectedField: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tselectedOperator: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Show reference lookup button icon\n\t\t */\n\t\tshowReferenceLookup: {\n\t\t\tschema: { type: 'boolean', default: true },\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[SN_VALUE_EDITOR_VALUE_SET]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tdispatch,\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tvalue: { internalValue, displayValue },\n\t\t\t\t\t\t\toldValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tproperties: { value },\n\t\t\t\t} = coeffects;\n\n\t\t\t\tif (internalValue === value) return;\n\n\t\t\t\tconst payload = {\n\t\t\t\t\tvalue: { internalValue, displayValue },\n\t\t\t\t\toldValue,\n\t\t\t\t};\n\n\t\t\t\tdispatch(\n\t\t\t\t\tSN_VALUE_EDITOR_HIERARCHY_REFERENCE_STARTING_POINT_SET,\n\t\t\t\t\tpayload\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n});\n","import {\n\tHIERARCHY_EDITOR_LABELS,\n\tHIERARCHY_EDITOR_DEFAULTS,\n\tHIERARCHY_REFERENCE_SELECT_IDS,\n\tINCLUSIVE_OPTIONS,\n} from './constants';\n\nimport '@servicenow/now-select';\nimport '../sn-hierarchy-reference-wrapper';\n\nexport const view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tselectedField,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t\tsource,\n\t\t\tshowReferenceLookup,\n\t\t\tfieldName,\n\t\t\tselectedOperator,\n\t\t\tinitialSource,\n\t\t},\n\t\thierarchyIdentifier,\n\t\tstartingPoint,\n\t\tinclusive,\n\t\trecordHierarchiesState = [],\n\t\tstartingPointDisplayValue = '',\n\t} = state;\n\tconst currentSelectedField = selectedField;\n\n\t// Construct a specific editorValue for the lookup component, as the main editorValue\n\t// contains the composite hierarchy string, which is not what the lookup expects.\n\tconst lookupEditorValue = {\n\t\tinternalValue: startingPoint,\n\t\tdisplayValue:\n\t\t\tstartingPointDisplayValue ===\n\t\t\tHIERARCHY_EDITOR_DEFAULTS.STARTING_POINT_DISPLAY\n\t\t\t\t? ''\n\t\t\t\t: startingPointDisplayValue,\n\t};\n\n\tconst hierarchyOptions = recordHierarchiesState?.map((h) => ({\n\t\tid: h.sysId,\n\t\tlabel: h.label || h.name || h.sysId, // Prioritize label, then name\n\t}));\n\n\t// The `hierarchyIdentifier` from state is now considered canonical, as it's resolved\n\t// in `handleBootstrap`. The view no longer needs complex logic to derive it.\n\tconst currentHierarchySysId = hierarchyIdentifier;\n\n\treturn (\n\t\t<div className=\"sn-value-editor-hierarchy-reference\">\n\t\t\t<div>\n\t\t\t\t<now-select\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowLabels\n\t\t\t\t\t\t\t? HIERARCHY_EDITOR_LABELS.HIERARCHY_TYPE\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\titems={hierarchyOptions}\n\t\t\t\t\tselectedItem={currentHierarchySysId}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tselectId: HIERARCHY_REFERENCE_SELECT_IDS.HIERARCHY_TYPE,\n\t\t\t\t\t}}\n\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tselect=\"single\"\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tpanel: {\n\t\t\t\t\t\t\t'aria-label':\n\t\t\t\t\t\t\t\tHIERARCHY_EDITOR_LABELS.HIERARCHY_TYPE,\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t'aria-label':\n\t\t\t\t\t\t\t\tHIERARCHY_EDITOR_LABELS.HIERARCHY_TYPE_TRIGGER,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div>\n\t\t\t\t<sn-hierarchy-reference-wrapper\n\t\t\t\t\teditorValue={lookupEditorValue}\n\t\t\t\t\tlabel={HIERARCHY_EDITOR_LABELS.STARTING_POINT}\n\t\t\t\t\tsource={source}\n\t\t\t\t\tmetadataCache={state.properties.metadataCache}\n\t\t\t\t\tfieldName={fieldName}\n\t\t\t\t\tselectedField={currentSelectedField}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\tshowReferenceLookup={showReferenceLookup}\n\t\t\t\t\tinitialSource={initialSource}\n\t\t\t\t\tselectedOperator={selectedOperator}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<div>\n\t\t\t\t<now-select\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowLabels\n\t\t\t\t\t\t\t? HIERARCHY_EDITOR_LABELS.INCLUDE_EXCLUDE_STARTING_POINT\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\titems={INCLUSIVE_OPTIONS}\n\t\t\t\t\tselectedItem={inclusive}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tselectId: HIERARCHY_REFERENCE_SELECT_IDS.INCLUSIVITY,\n\t\t\t\t\t}}\n\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tselect=\"single\"\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tpanel: {\n\t\t\t\t\t\t\t'aria-label':\n\t\t\t\t\t\t\t\tHIERARCHY_EDITOR_LABELS.INCLUDE_EXCLUDE_STARTING_POINT,\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t'aria-label':\n\t\t\t\t\t\t\t\tHIERARCHY_EDITOR_LABELS.INCLUDE_EXCLUDE_STARTING_POINT_TRIGGER,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES } from '../sn-value-editor-commons/constants';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-value-editor-hierarchy-reference', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t...SN_VALUE_EDITOR_COMMON_METADATA_PROPERTIES, // Provides editorValue, metadataCache, source, fieldName, label\n\t\tselectedField: {\n\t\t\t// For isVariableFlow\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\tshowReferenceLookup: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\tselectedOperator: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\tinitialSource: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tactionHandlers,\n\tstyles,\n});\n","export const SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_TITLE_UPDATED =\n\t'SN_CONDITION_BUILDER_ALTERNATIVE_VIEW#TITLE_UPDATED';\n\nexport const SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CONDITION_UPDATED =\n\t'SN_CONDITION_BUILDER_ALTERNATIVE_VIEW#CONDITION_UPDATED';\n","export const SOURCE_ID = 'sn-condition-builder-alternative-view';\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tSN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CLOSED,\n\tSN_CONDITION_BUILDER_DECODED_QUERY_UPDATED,\n} from '../sn-condition-builder/actionTypes';\nimport { DECODED_QUERY_MODEL_TYPE } from '../sn-condition-builder/constants';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../sn-value-editor-commons/actionTypes';\nimport { HIERARCHY_OPERATOR_INTERNAL_VALUE } from '../sn-value-editor-hierarchy-reference/constants';\nimport { processHierarchyCondition } from '../sn-value-editor-hierarchy-reference/utils';\n\nimport {\n\tSN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CONDITION_UPDATED,\n\tSN_CONDITION_BUILDER_ALTERNATIVE_VIEW_TITLE_UPDATED,\n} from './actionTypes';\nimport { SOURCE_ID } from './constants';\n\nconst { COMPONENT_DOM_TREE_READY } = actionTypes;\n\nconst handleButtonIconicClicked = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tmeta: {\n\t\t\t\tappended: { source },\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\t// safeguard for the case that button iconic click action bleeds through the component rendered in the alternative view\n\tif (source === SOURCE_ID) {\n\t\tdispatch(SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CLOSED);\n\t}\n};\n\nconst handleTitleUpdated = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { title },\n\t\t},\n\t\tstate: { title: currentTitle },\n\t} = coeffects;\n\n\tif (currentTitle !== title) {\n\t\tupdateState({ title });\n\t}\n};\n\nconst handleComponentDomTreeReady = (coeffects) => {\n\tconst { host } = coeffects;\n\thost.scrollIntoView();\n\n\t// Focus first active element (back button) when alternative view is first loaded\n\thost?.shadowRoot?.querySelector('now-button-iconic.back-button')?.focus?.();\n};\n\nconst handleAlternativeViewConditionUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { condition },\n\t\t},\n\t\tlogger,\n\t\tproperties: { modelType, model, conditionId, source, metadataCache },\n\t\tdispatch,\n\t} = coeffects;\n\n\tlet processedCondition = condition;\n\tif (\n\t\tcondition.operator?.internalValue === HIERARCHY_OPERATOR_INTERNAL_VALUE\n\t) {\n\t\t// For hierarchy conditions, transform the condition value into a canonical format\n\t\t// that combines hierarchy identifier, starting point, offset, and inclusive flag\n\t\t// into standardized internalValue (format: \"hierarchyId@startingPoint@offset@inclusive\")\n\t\t// and human-readable displayValue (format: \"Hierarchy for StartingPoint included/excluded\")\n\t\tprocessedCondition = { ...condition };\n\t\tprocessedCondition.value = processHierarchyCondition({\n\t\t\tcondition,\n\t\t\tmodel,\n\t\t\tconditionId,\n\t\t\tmetadataCache,\n\t\t\tsource,\n\t\t});\n\t}\n\n\tif (modelType === DECODED_QUERY_MODEL_TYPE.CONDITIONS) {\n\t\tconst updatedConditionsModel = updateConditionsModel(\n\t\t\tconditionId,\n\t\t\tmodel,\n\t\t\tprocessedCondition\n\t\t);\n\n\t\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\t\tmodelType,\n\t\t\tvalue: updatedConditionsModel,\n\t\t});\n\t} else if (modelType === DECODED_QUERY_MODEL_TYPE.RELATED_LIST_CONDITIONS) {\n\t\tconst updatedConditionsModel = updateConditionsModel(\n\t\t\tconditionId,\n\t\t\tmodel?.conditions,\n\t\t\tprocessedCondition\n\t\t);\n\n\t\tconst updatedModel = {\n\t\t\t...model,\n\t\t\tconditions: updatedConditionsModel,\n\t\t};\n\n\t\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\t\tmodelType,\n\t\t\tvalue: updatedModel,\n\t\t});\n\t} else {\n\t\tlogger.error(\n\t\t\t'Invalid modelType passed when trying to update condition from alternative view',\n\t\t\tmodelType\n\t\t);\n\t}\n};\n\n/**\n * Update the conditions model with the updated condition\n * @param {string} conditionId - The conditionId of the condition to update\n * @param {array} conditionsModel - The conditions model to update\n * @param {object} updatedCondition - The updated condition\n * @returns {array} The updated conditions model\n */\nconst updateConditionsModel = (\n\tconditionId,\n\tconditionsModel,\n\tupdatedCondition\n) => {\n\tif (!Array.isArray(conditionsModel)) {\n\t\treturn [];\n\t}\n\n\treturn conditionsModel.map((condition) =>\n\t\tcondition.conditionId === conditionId ? updatedCondition : condition\n\t);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleComponentDomTreeReady,\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleButtonIconicClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_TITLE_UPDATED]: {\n\t\teffect: handleTitleUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CONDITION_UPDATED]: {\n\t\teffect: handleAlternativeViewConditionUpdated,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","export const NOW_RECORD_LIST_CONNECTED_ROW_CLICKED =\n\t'NOW_RECORD_LIST_CONNECTED#ROW_CLICKED';\nexport const NOW_CONDITION_BUILDER_ENCODED_QUERY_SET =\n\t'NOW_CONDITION_BUILDER#ENCODED_QUERY_SET';\nexport const NOW_RECORD_LIST_CONNECTED_QUERY_UPDATED =\n\t'NOW_RECORD_LIST_CONNECTED#QUERY_UPDATED';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\n\nexport const NOW_RECORD_LIST_CONNECTED_DATA_FETCH_SUCCEEDED =\n\t'NOW_RECORD_LIST_CONNECTED#DATA_FETCH_SUCCEEDED';\n\nexport const OPEN_PANEL = 'OPEN_PANEL';\n","import { actionTypes } from '@servicenow/ui-core';\nimport { klona } from 'klona';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport set from 'lodash/set';\n\nimport { NOW_PREDICATE_BUILDER_FETCH_COMPONENT } from '../../behaviors/componentLoaderBehavior/constants';\nimport {\n\tSN_CONDITION_BUILDER_ALTERNATIVE_VIEW_TITLE_UPDATED,\n\tSN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CONDITION_UPDATED,\n} from '../sn-condition-builder-alternative-view/actionTypes';\nimport { SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CLOSED } from '../sn-condition-builder/actionTypes';\n\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_CONDITION_BUILDER_ENCODED_QUERY_SET,\n\tNOW_RECORD_LIST_CONNECTED_ROW_CLICKED,\n\tNOW_RECORD_LIST_CONNECTED_DATA_FETCH_SUCCEEDED,\n\tNOW_RECORD_LIST_CONNECTED_QUERY_UPDATED,\n\tOPEN_PANEL,\n} from './actionTypes';\nimport { REF_LIST_TYPE, LIST_SOURCE, RUN_BUTTON } from './constants';\n\nconst { COMPONENT_DOM_READY, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst handleRowClicked = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tproperties: { conditionObj, actionToModelPaths },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst clonedPayload = klona(payload);\n\n\t// converting rowData from a map to an object in order to properly get/set values\n\tconst mappedRow = Object.fromEntries(\n\t\tget(clonedPayload, 'row.rowData.value', new Map())\n\t);\n\tset(clonedPayload, 'row.rowData', mappedRow);\n\n\tconst updatedconditionObj = klona(conditionObj);\n\tactionToModelPaths.forEach((item) => {\n\t\tconst { sourcePath, targetPath } = item;\n\t\tconst sourceValue = get(clonedPayload, sourcePath);\n\t\tset(updatedconditionObj, targetPath, sourceValue);\n\t});\n\n\tdispatch(SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CONDITION_UPDATED, {\n\t\tcondition: updatedconditionObj,\n\t});\n\tdispatch(SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CLOSED);\n};\n\nexport const handleEncodedQuerySet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { partial, queryModel, value },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (!partial) {\n\t\tconst comparisonModel = get(queryModel, 'comparisonModel', []);\n\n\t\tlet filterCount = comparisonModel.length;\n\n\t\tif (comparisonModel.length === 1 && comparisonModel[0].conditionValue) {\n\t\t\tconst { conditionValue } = comparisonModel[0];\n\t\t\tif (!isEmpty(conditionValue)) {\n\t\t\t\tconst { internal, display, displayParts } = conditionValue;\n\n\t\t\t\tif (!internal && !display && !displayParts.length) {\n\t\t\t\t\tfilterCount = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tupdateState({\n\t\t\tfilterCount,\n\t\t\tstagedQuery: value,\n\t\t});\n\t}\n};\n\nconst handleButtonClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tmeta: { componentName },\n\t\t},\n\t\tstate: { stagedQuery },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (componentName === RUN_BUTTON) {\n\t\tupdateState({\n\t\t\tlistQuery: stagedQuery,\n\t\t\tisFilterOverviewCollapsed: true,\n\t\t});\n\t}\n};\n\nconst handleListDataFetchSucceeded = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { model },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst title = get(model, 'tinyFields.tableLabel', '');\n\n\tdispatch(SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_TITLE_UPDATED, { title });\n};\n\nconst handleComponentDomReady = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: { listType },\n\t} = coeffects;\n\n\tif (listType === REF_LIST_TYPE) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tcomponentTag: 'now-record-list-connected-reference',\n\t\t});\n\t} else {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tcomponentTag: 'now-record-list-connected',\n\t\t});\n\t}\n};\n\nconst handleListQueryUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { query },\n\t\t\tmeta: {\n\t\t\t\tappended: { source },\n\t\t\t},\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (source !== LIST_SOURCE) return;\n\n\tupdateState({\n\t\tstagedQuery: query,\n\t\tlistQuery: query,\n\t});\n};\n\nconst handleOpenPanel = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({ isFilterOverviewCollapsed: false });\n};\n\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: { query },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (query) {\n\t\tupdateState({\n\t\t\tlistQuery: query,\n\t\t\tstagedQuery: query,\n\t\t});\n\t}\n};\n\nconst actionHandlers = {\n\t[OPEN_PANEL]: {\n\t\teffect: handleOpenPanel,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_RECORD_LIST_CONNECTED_ROW_CLICKED]: {\n\t\teffect: handleRowClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_CONDITION_BUILDER_ENCODED_QUERY_SET]: {\n\t\teffect: handleEncodedQuerySet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: handleButtonClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_RECORD_LIST_CONNECTED_QUERY_UPDATED]: {\n\t\teffect: handleListQueryUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_RECORD_LIST_CONNECTED_DATA_FETCH_SUCCEEDED]: {\n\t\teffect: handleListDataFetchSucceeded,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_DOM_READY]: {\n\t\teffect: handleComponentDomReady,\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrap,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-template-message';\nimport { t } from 'sn-translate';\n\n/**\n * Renders generic error message\n *\n * @param {string} msg Error message to display\n *\n * @returns {object} JSX error state rendering\n */\nexport const renderErrorMessage = (msg) => (\n\t<now-template-message-empty-state\n\t\theading={{ label: t('Error loading component'), level: 5 }}\n\t\tcontent={msg}\n\t\tillustration=\"error\"\n\t/>\n);\n\n/**\n * Renders error message for a bad predicate model\n *\n * @param {string} msg Error message to display\n *\n * @returns {object} JSX error state rendering\n */\nexport const renderPredicateModelError = (msg) => (\n\t<div className=\"now-template-message-container\">\n\t\t<now-template-message-empty-state\n\t\t\theading={{\n\t\t\t\tlabel: msg,\n\t\t\t\tlevel: 5,\n\t\t\t}}\n\t\t\tcontent={t('Fix the predicate in your predicate model and refresh')}\n\t\t\tillustration=\"error\"\n\t\t/>\n\t<\/div>\n);\n\n/**\n * Renders error message for a bad predicate groupType\n *\n * @param {string} predicateId predicateId property of the predicate\n * @param {string} groupType groupType property of the predicate\n *\n * @returns {object} JSX error state rendering\n */\nexport const renderGroupTypeError = (predicateId, groupType) => {\n\tconst message = groupType\n\t\t? t('Predicate {predicateId} has an invalid groupType: {groupType}', {\n\t\t\t\tpredicateId,\n\t\t\t\tgroupType,\n\t\t  })\n\t\t: t('Predicate {predicateId} is missing a groupType', { predicateId });\n\treturn renderPredicateModelError(message);\n};\n\n/**\n * Renders error message for a bad predicate type\n *\n * @param {string} predicateId predicateId property of the predicate\n * @param {string} type type property of the predicate\n *\n * @returns {object} JSX error state rendering\n */\nexport const renderTypeError = (predicateId, type) => {\n\tconst message = type\n\t\t? t('Predicate {predicateId} has an invalid predicate type: {type}', {\n\t\t\t\tpredicateId,\n\t\t\t\ttype,\n\t\t  })\n\t\t: t('Predicate {predicateId} is missing a type', { predicateId });\n\treturn renderPredicateModelError(message);\n};\n\n/**\n * Renders error message for a unable to load component\n *\n * @returns {object} JSX error state rendering\n */\nexport const renderComponentLoadingError = () => (\n\t<now-template-message-empty-state\n\t\ttabIndex=\"0\"\n\t\taria-label={t('Error loading component. Try refreshing the page')}\n\t\theading={{ label: t('Error loading component'), level: 5 }}\n\t\tcontent={t('Try refreshing the page')}\n\t\tillustration=\"error\"\n\t/>\n);\n","import '@servicenow/now-badge';\nimport '@servicenow/now-collapse';\nimport '@servicenow/now-loader';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport { COMPONENT_LOADED_STATUS } from '../../behaviors/componentLoaderBehavior/constants';\nimport { renderErrorMessage } from '../../utils/errorUtils';\n\nimport {\n\tREF_LIST_TYPE,\n\tRUN_BUTTON,\n\tLIST_SOURCE,\n\tNEW_RECORD_SYS_ID,\n} from './constants';\n\nconst triggerHeaderLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Filter',\n\tcomment: 'Header label for the filter section',\n});\nconst triggerButtonLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Filters',\n\tcomment:\n\t\t'Tooltip text for a button that shows or hides the filter controls',\n});\nconst runButtonLabel = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Run',\n\tcomment: 'Label for a button that runs or applies the current filter',\n});\n\nconst renderConditionBuilder = (properties, updateState) => {\n\tconst {\n\t\ttableName,\n\t\tisFilterOverviewCollapsed,\n\t\tfilterCount,\n\t\tconditionBuilderQuery,\n\t} = properties;\n\n\tconst collapsedDirection = isFilterOverviewCollapsed ? 'right' : 'down';\n\n\treturn (\n\t\t<div className=\"condition-builder-container\">\n\t\t\t<now-collapse-trigger\n\t\t\t\tcontrols=\"filter-overview-collapse\"\n\t\t\t\trole=\"none\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'isFilterOverviewCollapsed',\n\t\t\t\t\t\tvalue: !isFilterOverviewCollapsed,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<now-icon icon=\"filter-outline\" />\n\t\t\t\t<h2 data-truncation className=\"collapse-trigger-label\">\n\t\t\t\t\t{triggerHeaderLabel}\n\t\t\t\t<\/h2>\n\t\t\t\t{filterCount > 0 ? (\n\t\t\t\t\t<now-badge\n\t\t\t\t\t\tcolor=\"blue\"\n\t\t\t\t\t\tround={true}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvalue={filterCount}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<now-button-iconic\n\t\t\t\t\ticon={`chevron-${collapsedDirection}-outline`}\n\t\t\t\t\tid=\"collapse-button\"\n\t\t\t\t\ttooltipContent={triggerButtonLabel}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare={true}\n\t\t\t\t\thidePadding={true}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-expanded': `${!isFilterOverviewCollapsed}`,\n\t\t\t\t\t\t'aria-label': triggerButtonLabel,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t<\/now-collapse-trigger>\n\t\t\t<now-collapse\n\t\t\t\texpanded={!isFilterOverviewCollapsed}\n\t\t\t\tid=\"filter-overview-collapse\"\n\t\t\t>\n\t\t\t\t<now-condition-builder-connected\n\t\t\t\t\tcompactMode={true}\n\t\t\t\t\tencodedQuery={conditionBuilderQuery}\n\t\t\t\t\thideActionBar={true}\n\t\t\t\t\thideEditorDescription={true}\n\t\t\t\t\thideFilterOverview={true}\n\t\t\t\t\thideRelatedListQueryConditions={true}\n\t\t\t\t\thideSortByDescription={true}\n\t\t\t\t\ttableName={tableName}\n\t\t\t\t\thideSortBy={false}\n\t\t\t\t\tcomponentVersion={2}\n\t\t\t\t\tshowReferenceLookup={false}\n\t\t\t\t/>\n\t\t\t\t<div className=\"action-container\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tcomponent-name={RUN_BUTTON}\n\t\t\t\t\t\tlabel={runButtonLabel}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/now-collapse>\n\t\t<\/div>\n\t);\n};\n\nconst renderList = (state, updateState) => {\n\tconst {\n\t\tproperties: { columns, fixedQuery, tableName, limit, view },\n\t\tisFilterOverviewCollapsed,\n\t\tfilterCount,\n\t\tlistQuery,\n\t} = state;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{renderConditionBuilder(\n\t\t\t\t{\n\t\t\t\t\ttableName,\n\t\t\t\t\tisFilterOverviewCollapsed,\n\t\t\t\t\tfilterCount,\n\t\t\t\t\tconditionBuilderQuery: listQuery,\n\t\t\t\t},\n\t\t\t\tupdateState\n\t\t\t)}\n\t\t\t<now-record-list-connected\n\t\t\t\tappend-to-meta={{ source: LIST_SOURCE }}\n\t\t\t\tfixedQuery={fixedQuery}\n\t\t\t\thideCellFilter={true}\n\t\t\t\thideColumnGrouping={true}\n\t\t\t\thideColumnReorder={true}\n\t\t\t\thideColumnResizing={true}\n\t\t\t\thideHeader={true}\n\t\t\t\thideInlineEditing={true}\n\t\t\t\thidePanel={true}\n\t\t\t\thideQuickEdit={true}\n\t\t\t\thideRowSelector={true}\n\t\t\t\thideSelectAll={true}\n\t\t\t\tisRefList={true}\n\t\t\t\tlimit={limit}\n\t\t\t\tquery={listQuery}\n\t\t\t\ttable={tableName}\n\t\t\t\tview={view}\n\t\t\t\tcolumns={columns}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderReferenceList = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tfieldName,\n\t\t\tignoreRefQual,\n\t\t\treferenceKey,\n\t\t\ttableName,\n\t\t\tlimit,\n\t\t},\n\t} = state;\n\n\treturn (\n\t\t<now-record-list-connected-reference\n\t\t\tchars=\"**\"\n\t\t\tfield={fieldName}\n\t\t\tignoreRefQual={ignoreRefQual}\n\t\t\tlimit={limit}\n\t\t\trecordSysId={NEW_RECORD_SYS_ID} // this field has to be populated in order for the list to load data\n\t\t\treferenceKey={referenceKey}\n\t\t\ttable={tableName}\n\t\t/>\n\t);\n};\n\nconst view = (state, { updateState }) => {\n\tconst {\n\t\tproperties: { listType },\n\t\tbehaviors: {\n\t\t\tcomponentLoaderBehavior: { fetchedComponents },\n\t\t},\n\t} = state;\n\n\tconst componentTag =\n\t\tlistType === REF_LIST_TYPE\n\t\t\t? 'now-record-list-connected-reference'\n\t\t\t: 'now-record-list-connected';\n\n\tconst fetchedComponent = get(\n\t\tfetchedComponents,\n\t\t`components.[${componentTag}]`,\n\t\t{}\n\t);\n\n\tif (fetchedComponent.status === COMPONENT_LOADED_STATUS.LOADING) {\n\t\treturn <now-loader />;\n\t}\n\n\tif (fetchedComponent.status === COMPONENT_LOADED_STATUS.ERROR) {\n\t\treturn renderErrorMessage();\n\t}\n\n\tif (!fetchedComponent.customTagName) {\n\t\treturn renderErrorMessage(`Unable to load component ${componentTag}`);\n\t}\n\n\treturn (\n\t\t<div className=\"list-container\">\n\t\t\t{state.properties.listType === REF_LIST_TYPE\n\t\t\t\t? renderReferenceList(state)\n\t\t\t\t: renderList(state, updateState)}\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport componentLoaderBehavior from '../../behaviors/componentLoaderBehavior';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-record-list-connected-wrapper', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tinitialState: {\n\t\tlistQuery: '',\n\t\tstagedQuery: '',\n\t\tfilterCount: 0,\n\t\tisFilterOverviewCollapsed: true,\n\t},\n\tproperties: {\n\t\tactionToModelPaths: { default: [] },\n\t\tconditionObj: { default: {} },\n\t\tlimit: { default: 10 },\n\t\tlistType: { default: '' },\n\t\ttableName: { default: '' },\n\n\t\t// used for reference list\n\t\tfieldName: { default: '' },\n\t\tignoreRefQual: { default: true },\n\t\treferenceKey: { default: '' },\n\n\t\t// used for NRLC\n\t\tcolumns: { schema: { type: 'string' } },\n\t\tfixedQuery: { default: '' },\n\t\tquery: { default: '' },\n\t\tview: { default: 'sys_ref_list' },\n\t},\n\tactionHandlers,\n\tbehaviors: [componentLoaderBehavior],\n});\n","import '@servicenow/now-loader';\nimport '../sn-record-list-connected-wrapper';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport { COMPONENT_LOADED_STATUS } from '../../behaviors/componentLoaderBehavior';\nimport { renderErrorMessage } from '../../utils/errorUtils';\n\nimport { SOURCE_ID } from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tbasicFilters,\n\t\t\tcomponentProps,\n\t\t\tcomponentTag,\n\t\t\tconditionObj,\n\t\t\tfetchedComponents,\n\t\t\tmetadataCache,\n\t\t\tpanelDefinitions,\n\t\t},\n\t\ttitle,\n\t} = state;\n\n\tconst headerTitle = title || componentProps.title;\n\n\tconst fetchedComponent = get(\n\t\tfetchedComponents,\n\t\t`components.${componentTag}`,\n\t\t{}\n\t);\n\n\tif (fetchedComponent.status === COMPONENT_LOADED_STATUS.LOADING) {\n\t\treturn <now-loader />;\n\t}\n\n\tif (fetchedComponent.status === COMPONENT_LOADED_STATUS.ERROR) {\n\t\treturn renderErrorMessage();\n\t}\n\n\tif (!fetchedComponent.customTagName) {\n\t\treturn renderErrorMessage(`Unable to load component ${componentTag}`);\n\t}\n\n\tconst TAG_NAME = fetchedComponent.customTagName;\n\n\treturn (\n\t\t<div className=\"sn-condition-builder-alternative-view\">\n\t\t\t<header className={basicFilters ? 'is-basic-filter' : ''}>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tappend-to-meta={{\n\t\t\t\t\t\tsource: SOURCE_ID,\n\t\t\t\t\t}}\n\t\t\t\t\tbare={true}\n\t\t\t\t\tclassName=\"back-button\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': t({\n\t\t\t\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\t\t\t\tmessage: 'Back',\n\t\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t\t'Accessibility label for a back button to return to the previous view',\n\t\t\t\t\t\t}),\n\t\t\t\t\t}}\n\t\t\t\t\ticon=\"arrow-left-fill\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t/>\n\t\t\t\t<p className=\"title\">{headerTitle}<\/p>\n\t\t\t<\/header>\n\t\t\t{basicFilters ? <hr /> : null}\n\t\t\t<TAG_NAME\n\t\t\t\t{...componentProps}\n\t\t\t\tconditionObj={conditionObj}\n\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { DECODED_QUERY_MODEL_TYPE } from '../sn-condition-builder/constants';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-condition-builder-alternative-view', {\n\tactionHandlers,\n\tproperties: {\n\t\tbasicFilters: {\n\t\t\tdefault: false,\n\t\t},\n\t\tconditionId: {\n\t\t\tdefault: '',\n\t\t},\n\t\tconditionObj: {\n\t\t\tdefault: {},\n\t\t},\n\t\tcomponentProps: {\n\t\t\tdefault: {},\n\t\t},\n\t\tcomponentTag: {\n\t\t\tdefault: '',\n\t\t},\n\t\tfetchedComponents: {\n\t\t\tdefault: {},\n\t\t},\n\t\tmetadataCache: {\n\t\t\tdefault: {},\n\t\t},\n\t\tmodel: {\n\t\t\tdefault: [],\n\t\t},\n\t\tmodelType: {\n\t\t\tdefault: DECODED_QUERY_MODEL_TYPE.CONDITIONS,\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tdefault: {},\n\t\t},\n\t\tsource: {\n\t\t\tdefault: '',\n\t\t},\n\t},\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview,\n});\n","export const SN_SINGLE_PREDICATE_UPDATE_ACTION =\n\t'SN_SINGLE_PREDICATE#UPDATE_ACTION';\n","import { BRACKET_COLORS, GROUP_TYPES, SEPARATION_TYPES } from './constants';\n\nconst defaultGroupedPredicateConfig = {\n\tGLOBAL: {\n\t\tgroupLabel: GROUP_TYPES.GLOBAL,\n\t\tdisplayType: GROUP_TYPES.GLOBAL,\n\t},\n\tAND: {\n\t\tgroupLabel: GROUP_TYPES.AND,\n\t\tdisplayType: SEPARATION_TYPES.BRACKETED,\n\t\tbracketColor: BRACKET_COLORS.BLUE,\n\t},\n\tOR: {\n\t\tgroupLabel: GROUP_TYPES.OR,\n\t\tdisplayType: SEPARATION_TYPES.BRACKETED,\n\t\tbracketColor: BRACKET_COLORS.ORANGE,\n\t},\n\tSEPARATED_GROUP: {\n\t\tgroupLabel: GROUP_TYPES.OR,\n\t\tdisplayType: SEPARATION_TYPES.SEPARATED,\n\t},\n};\n\nexport { defaultGroupedPredicateConfig };\n","import { actionTypes } from '@servicenow/ui-core';\nimport merge from 'lodash/merge';\n\nimport {\n\tmakePathMap,\n\taddPredicateToGroup,\n\tremovePredicate,\n\tupdatePredicateProperties,\n} from '../../utils/predicateUtils';\nimport { NOW_PREDICATE_BUILDER_ERROR_DETECTED } from '../now-predicate-builder/actionTypes';\nimport {\n\tSN_CONDITIONS_FOCUS_NEW_CONDITION_BUTTON,\n\tSN_CONDITIONS_SET_FOCUS,\n} from '../sn-conditions/actionTypes';\nimport { transformPredicateComposition } from '../sn-conditions/transformUtils';\nimport { SN_PREDICATE_BUILDER_PREDICATE_UPDATED } from '../sn-predicate-builder/actionTypes';\nimport { SN_SINGLE_PREDICATE_UPDATE_ACTION } from '../sn-single-predicate/actionTypes';\n\nimport { DATA_MODEL_ACTIONS } from './constants';\nimport { defaultGroupedPredicateConfig } from './groupedPredicateConfig.constants';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\n/**\n * Creates the pathMap (map of predicateIds to predicate paths) on startup to\n * make predicate updates easier. Merges user defined grouped predicate configs\n * with the default configs\n *\n * @param {*} coeffects\n */\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: { groupedPredicateConfig = {}, predicateComposition = {} },\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdatePathMapState(dispatch, updateState, predicateComposition);\n\tupdateGroupedPredicateConfig(updateState, groupedPredicateConfig);\n};\n\n/**\n * Recreates the pathMap every time the predicate changes. Updates the grouped\n * predicate configs in state if they are changed\n *\n * @param {object} coeffects\n */\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value = {} },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (name === 'predicateComposition') {\n\t\tupdatePathMapState(dispatch, updateState, value);\n\t}\n\n\tif (name === 'groupedPredicateConfig') {\n\t\tupdateGroupedPredicateConfig(updateState, value);\n\t}\n};\n\n/**\n * Creates a map of predicateIds to predicate paths and saves it to state\n *\n * @param {function} updateState\n * @param {object} predicate predicate property passed into now-predicate-builder\n */\nconst updatePathMapState = (dispatch, updateState, predicateComposition) => {\n\tconst stateUpdates = [];\n\ttry {\n\t\tconst pathMap = makePathMap(predicateComposition);\n\t\tstateUpdates.push({\n\t\t\toperation: 'set',\n\t\t\tpath: 'pathMap',\n\t\t\tvalue: pathMap,\n\t\t\tshouldRender: false,\n\t\t});\n\t} catch (error) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_ERROR_DETECTED);\n\t\tstateUpdates.push({\n\t\t\toperation: 'set',\n\t\t\tpath: 'errorMessage',\n\t\t\tvalue: error.message,\n\t\t});\n\t}\n\n\tupdateState(stateUpdates);\n};\n\n/**\n * Merges user defined grouped predicate configs with default predicate configs\n * and adds the updated configs to state\n *\n * @param {function} updateState\n * @param {object} groupedPredicateConfig\n */\n\nconst updateGroupedPredicateConfig = (updateState, groupedPredicateConfig) => {\n\tconst value = merge(\n\t\t{},\n\t\tdefaultGroupedPredicateConfig,\n\t\tgroupedPredicateConfig\n\t);\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'groupedPredicateConfig',\n\t\tvalue,\n\t});\n};\n\n/**\n * Dispatches the new and previous predicate models, the payload the user passed in, and the event\n * The dispatched event is exposed in UIB so users can choose how they want to react\n * They can use the updated predicate model we provided or modify it on their own\n * Updated predicate model should be passed back into now-predicate-builder to update the UI\n *\n * @param {*} coeffects\n */\nconst handleSinglePredicateAction = (coeffects) => {\n\tconst {\n\t\tcollated,\n\t\tdispatch,\n\t\tproperties: { predicateComposition },\n\t\tstate: { pathMap },\n\t\taction,\n\t} = coeffects;\n\n\tconst { showAddConditionSet } = predicateComposition;\n\n\tconst {\n\t\tpredicateProperties: { conditionId },\n\t} = action.payload;\n\n\tconst updatedPredicateComposition = updatePredicateModel({\n\t\tcollated,\n\t\tconditionId,\n\t\tdispatch,\n\t\tpathMap,\n\t\tpredicateComposition,\n\t\tshowAddConditionSet,\n\t});\n\n\tdispatch(SN_PREDICATE_BUILDER_PREDICATE_UPDATED, {\n\t\tcollated,\n\t\tpredicateActionPayload: {\n\t\t\t...action.payload,\n\t\t},\n\t\tprevPredicateComposition: predicateComposition,\n\t\tupdatedPredicateComposition,\n\t});\n};\n/**\n * @typedef {Object.<string, { path: string, parentPath: string }>} PathMap\n * @example\n * // Sample PathMap object:\n * // {\n * //    \"group-0\": { path: \"predicate.predicates[0]\", parentPath: \"predicate\" },\n * //    \"group-1\": { path: \"predicate.predicates[0].predicates[1]\", parentPath: \"predicate.predicates[0]\" }\n * // }\n */\n\n/**\n * This function handles the generic events used to update the predicate model\n *\n * @param {object} predicateComposition predicate passed into now-predicate-builder\n * @param {PathMap} pathMap map of predicateIds to their predicate paths\n * @param {object} collated the collated objects dispatched with SN_SINGLE_PREDICATE_UPDATE_ACTION\n */\nconst updatePredicateModel = ({\n\tcollated,\n\tconditionId,\n\tdispatch,\n\tpathMap,\n\tpredicateComposition,\n\tshowAddConditionSet,\n}) => {\n\tlet updatedPredicateComposition = predicateComposition;\n\tlet updatedPathMap = pathMap;\n\n\tcollated.forEach(({ action }, index) => {\n\t\tconst isLast = index === collated.length - 1;\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\teventName,\n\t\t\t\tpredicateProperties = {},\n\t\t\t\tpredicateId = '',\n\t\t\t\tgroupType = '',\n\t\t\t\tgroupPredicateId = '',\n\t\t\t},\n\t\t} = action;\n\t\tswitch (eventName) {\n\t\t\tcase DATA_MODEL_ACTIONS.UPDATE_PREDICATE_PROPERTIES: {\n\t\t\t\tupdatedPredicateComposition = updatePredicateProperties({\n\t\t\t\t\tpredicateComposition,\n\t\t\t\t\tpredicateId,\n\t\t\t\t\tpredicateProperties,\n\t\t\t\t\tpathMap: updatedPathMap,\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase DATA_MODEL_ACTIONS.ADD_PREDICATE_TO_GROUP: {\n\t\t\t\tupdatedPredicateComposition = addPredicateToGroup({\n\t\t\t\t\tpredicateComposition,\n\t\t\t\t\tgroupType,\n\t\t\t\t\tpredicateId,\n\t\t\t\t\tgroupPredicateId,\n\t\t\t\t\tpredicateProperties,\n\t\t\t\t\tpathMap: updatedPathMap,\n\t\t\t\t});\n\t\t\t\tif (!isLast) {\n\t\t\t\t\tupdatedPathMap = makePathMap(updatedPredicateComposition);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase DATA_MODEL_ACTIONS.REMOVE_PREDICATE: {\n\t\t\t\tupdatedPredicateComposition = removePredicate({\n\t\t\t\t\tpredicateComposition,\n\t\t\t\t\tpredicateId,\n\t\t\t\t\tpathMap: updatedPathMap,\n\t\t\t\t\tdispatch,\n\t\t\t\t});\n\t\t\t\t// Logic to find next conditionId to set focus after deleting a row\n\t\t\t\tconst conditionsModel = transformPredicateComposition(\n\t\t\t\t\tpredicateComposition\n\t\t\t\t);\n\n\t\t\t\tconst nextConditionId = getNextConditionId(\n\t\t\t\t\tconditionsModel,\n\t\t\t\t\tconditionId,\n\t\t\t\t\tshowAddConditionSet\n\t\t\t\t);\n\t\t\t\tif (nextConditionId) {\n\t\t\t\t\tdispatch(SN_CONDITIONS_SET_FOCUS, {\n\t\t\t\t\t\tconditionId: nextConditionId,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// only go to the add condition set button if it isn't the last one\n\t\t\t\t\tif (showAddConditionSet && conditionsModel.length > 1) {\n\t\t\t\t\t\tdispatch(SN_CONDITIONS_SET_FOCUS, {\n\t\t\t\t\t\t\tconditionId: null,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tdispatch(SN_CONDITIONS_FOCUS_NEW_CONDITION_BUTTON);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!isLast) {\n\t\t\t\t\tupdatedPathMap = makePathMap(updatedPredicateComposition);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\treturn updatedPredicateComposition;\n};\n\nconst getNextConditionId = (\n\tdecodedQueryConditions,\n\tconditionId,\n\tshowAddConditionSet\n) => {\n\tconst index = decodedQueryConditions.findIndex(\n\t\t(condition) => condition.conditionId === conditionId\n\t);\n\t// If last row has previous condition and not showing add condition set button use that, otherwise return null\n\tif (index === decodedQueryConditions.length - 1) {\n\t\tif (decodedQueryConditions.length > 1 && !showAddConditionSet) {\n\t\t\treturn decodedQueryConditions[index - 1].conditionId;\n\t\t}\n\t\treturn null;\n\t}\n\treturn decodedQueryConditions[index + 1].conditionId;\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SINGLE_PREDICATE_UPDATE_ACTION]: {\n\t\teffect: handleSinglePredicateAction,\n\t\tmodifier: { name: 'debounce', delay: 50, maxWait: 700, collate: true },\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tCOMPONENT_LOADED_STATUS,\n\tNOW_PREDICATE_BUILDER_FETCH_COMPONENT,\n} from '../../behaviors/componentLoaderBehavior/constants';\nimport { NOW_PREDICATE_BUILDER_PREDICATE_ACTION } from '../sn-predicate-builder/actionTypes';\n\nimport { SN_SINGLE_PREDICATE_UPDATE_ACTION } from './actionTypes';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n/**\n * Redispatches the event from the now-condition-builer-predicate and appends the predicateId\n *\n * @param {object} coeffects\n */\nconst handlePredicateAction = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tproperties: { predicateId },\n\t} = coeffects;\n\n\tdispatch(SN_SINGLE_PREDICATE_UPDATE_ACTION, {\n\t\tpredicateId,\n\t\t...action.payload,\n\t});\n};\n\nconst handleBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: { component },\n\t\tupdateState,\n\t\tdispatch,\n\t\tstate: { isInitialLoad },\n\t} = coeffects;\n\n\tif (!component) {\n\t\tfetchComponent(properties, dispatch);\n\t\treturn;\n\t}\n\n\t// After initial loading, start showing loading indicator at row level\n\tif (isInitialLoad && component.status !== COMPONENT_LOADED_STATUS.LOADING) {\n\t\tupdateState({\n\t\t\tpath: 'isInitialLoad',\n\t\t\toperation: 'set',\n\t\t\tvalue: false,\n\t\t});\n\t}\n};\n\nconst fetchComponent = (components, dispatch) => {\n\tconst {\n\t\tmacroponentSysId,\n\t\tcomponentTag,\n\t\tglobalMacroponentSysId,\n\t\tglobalComponentTag,\n\t} = components;\n\n\tif (macroponentSysId) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tmacroponentSysId,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (componentTag) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tcomponentTag,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (globalMacroponentSysId) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tmacroponentSysId: globalMacroponentSysId,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (globalComponentTag) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_FETCH_COMPONENT, {\n\t\t\tcomponentTag: globalComponentTag,\n\t\t});\n\t\treturn;\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_PREDICATE_BUILDER_PREDICATE_ACTION]: {\n\t\teffect: handlePredicateAction,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import '@servicenow/now-loader';\n\nimport get from 'lodash/get';\n\nimport { COMPONENT_LOADED_STATUS } from '../../behaviors/componentLoaderBehavior';\nimport { renderComponentLoadingError } from '../../utils/errorUtils';\n\nconst view = (state) => {\n\tconst {\n\t\tisInitialLoad,\n\t\tproperties: {\n\t\t\tcomponent,\n\t\t\tconditionIdToFocus,\n\t\t\tcustomizations,\n\t\t\tinfoMessages,\n\t\t\tpredicateContext,\n\t\t\tpredicateProperties,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t} = state;\n\n\tif (!component) {\n\t\treturn null;\n\t}\n\n\tconst status = get(component, 'status', null);\n\n\t// Only show loading indicator after first load. First loader will be handled by now-predicate-builder\n\tif (isInitialLoad) {\n\t\treturn null;\n\t}\n\n\tif (status === COMPONENT_LOADED_STATUS.LOADING) {\n\t\treturn <now-loader className=\"loading-indicator\" />;\n\t}\n\tif (status === COMPONENT_LOADED_STATUS.ERROR) {\n\t\treturn renderComponentLoadingError();\n\t}\n\n\tconst { customTagName } = component;\n\tconst TAG_NAME = customTagName;\n\n\tconst props = {\n\t\t...predicateProperties,\n\t\tconditionIdToFocus,\n\t\tcustomizations,\n\t\tinfoMessages,\n\t\tpredicateContext,\n\t\treadOnly,\n\t\tshowLabels,\n\t};\n\n\treturn <TAG_NAME className=\"component-container\" {...props} />;\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { NOW_PREDICATE_BUILDER_FETCH_COMPONENT } from '../../behaviors/componentLoaderBehavior/constants';\n\nimport actionHandlers from './actions';\nimport { SN_SINGLE_PREDICATE_UPDATE_ACTION } from './actionTypes';\nimport view from './view';\n\ncreateCustomElement('sn-single-predicate', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\tisInitialLoad: true,\n\t},\n\tproperties: {\n\t\tpredicateId: {\n\t\t\tdefault: '',\n\t\t},\n\t\tmacroponentSysId: {\n\t\t\tdefault: '',\n\t\t},\n\t\tcomponent: {\n\t\t\tdefault: {},\n\t\t},\n\t\tcomponentTag: {\n\t\t\tdefault: '',\n\t\t},\n\t\tcustomizations: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tinfoMessages: {\n\t\t\tdefault: [],\n\t\t},\n\t\tpredicateProperties: {\n\t\t\tdefault: {},\n\t\t},\n\t\tglobalMacroponentSysId: {\n\t\t\tdefault: '',\n\t\t},\n\t\tglobalComponentTag: {\n\t\t\tdefault: '',\n\t\t},\n\t\tpredicateContext: {\n\t\t\tdefault: {},\n\t\t},\n\t\tconditionIdToFocus: {\n\t\t\tdefault: '',\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tdispatches: {\n\t\t[SN_SINGLE_PREDICATE_UPDATE_ACTION]: {},\n\t\t[NOW_PREDICATE_BUILDER_FETCH_COMPONENT]: {},\n\t},\n\tactionHandlers,\n});\n","/**\n * Determines the precedence of which componentTag or macroponentSysId to use\n *\n * @param {object} param\n * @param {string} macroponentSysId predicate macroponentSysId\n * @param {string} componentTag predicate componentTag\n * @param {string} globalMacroponentSysId now-predicate-builder macroponentSysId property\n * @param {string} globalComponentTag now-predicate-builder componentTag property\n *\n * @returns {string} the componentTag or macroponentSysId to use\n */\nexport const getFetchingPath = ({\n\tmacroponentSysId,\n\tcomponentTag,\n\tglobalMacroponentSysId,\n\tglobalComponentTag,\n}) => {\n\tif (macroponentSysId) {\n\t\treturn `macroponents.${macroponentSysId}`;\n\t} else if (componentTag) {\n\t\treturn `components.${componentTag}`;\n\t} else if (globalMacroponentSysId) {\n\t\treturn `macroponents.${globalMacroponentSysId}`;\n\t} else if (globalComponentTag) {\n\t\treturn `components.${globalComponentTag}`;\n\t}\n\treturn null;\n};\n","import classnames from 'classnames';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport { NOW_PREDICATE_BUILDER_ERROR_DETECTED } from '../components/now-predicate-builder/actionTypes';\nimport { PREDICATE_TYPES } from '../components/sn-predicate-builder/constants';\n\nimport { renderPredicateModelError, renderTypeError } from './errorUtils';\nimport { getFetchingPath } from './fetchingPath';\n\nconst missingPredicateMessage = t('Missing predicateId');\n\nexport const renderPredicate = ({\n\tpredicate,\n\tprops,\n\tindex,\n\tnumPredicates,\n\tparentGroupLabel,\n\tdispatch,\n}) => {\n\tif (!predicate.predicateId) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_ERROR_DETECTED);\n\t\treturn renderPredicateModelError(missingPredicateMessage);\n\t}\n\n\tconst type = get(predicate, 'type', null);\n\n\tconst {\n\t\tfetchedComponents,\n\t\tgroupedPredicateConfig,\n\t\tpredicateContext,\n\t} = props;\n\n\tlet ariaLabel, TAG_NAME, role;\n\n\tconst groupLabel = get(\n\t\tgroupedPredicateConfig,\n\t\t`${predicate.groupType}.groupLabel`,\n\t\t''\n\t);\n\n\tif (type === PREDICATE_TYPES.SINGLE_PREDICATE) {\n\t\tTAG_NAME = 'sn-single-predicate';\n\t\tariaLabel = t(\n\t\t\t'You are on predicate {predicateIndex} of {totalNumPredicates} in {parentGroupLabel} predicate group. Entering individual predicate row',\n\t\t\t{\n\t\t\t\tpredicateIndex: index + 1,\n\t\t\t\ttotalNumPredicates: numPredicates,\n\t\t\t\tparentGroupLabel,\n\t\t\t}\n\t\t);\n\t\trole = 'group';\n\t} else if (type === PREDICATE_TYPES.GROUPED_PREDICATE) {\n\t\tTAG_NAME = 'sn-grouped-predicate';\n\n\t\tariaLabel = t(\n\t\t\t'You are on predicate {predicateIndex} of {totalNumPredicates} in {parentGroupLabel} predicate group. Entering {groupLabel} predicate group',\n\t\t\t{\n\t\t\t\tpredicateIndex: index + 1,\n\t\t\t\ttotalNumPredicates: numPredicates,\n\t\t\t\tparentGroupLabel,\n\t\t\t\tgroupLabel,\n\t\t\t}\n\t\t);\n\t\trole = 'group';\n\t} else {\n\t\tdispatch(NOW_PREDICATE_BUILDER_ERROR_DETECTED);\n\t\treturn renderTypeError(predicate.predicateId, type);\n\t}\n\n\tconst predicateContainerClassNames = classnames(\n\t\t`predicate-container ${TAG_NAME}`,\n\t\t{\n\t\t\t'custom-component': predicate.componentTag,\n\t\t\t'basic-filters': predicate?.componentTag?.includes('sn-taxonomy'),\n\t\t\t'is-now-condition-builder':\n\t\t\t\tprops.globalComponentTag === 'now-condition-builder-row',\n\t\t\t'global-predicate': parentGroupLabel === 'GLOBAL',\n\t\t\t'inner-predicate': predicateContext.predicateMetadata,\n\t\t\t[`predicate-${index}`]: index >= 0 && parentGroupLabel !== 'GLOBAL',\n\t\t\t[groupLabel]: groupLabel,\n\t\t}\n\t);\n\n\tconst fetchingPath = getFetchingPath(props);\n\tconst component = get(fetchedComponents, fetchingPath, null);\n\n\treturn (\n\t\t<div\n\t\t\taria-label={ariaLabel}\n\t\t\trole={role}\n\t\t\tclassName={predicateContainerClassNames}\n\t\t>\n\t\t\t<TAG_NAME {...props} component={component} />\n\t\t<\/div>\n\t);\n};\n","import '../sn-single-predicate';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport { renderGroupTypeError } from '../../utils/errorUtils';\nimport { renderPredicate } from '../../utils/renderUtils';\nimport { NOW_PREDICATE_BUILDER_ERROR_DETECTED } from '../now-predicate-builder/actionTypes';\nimport {\n\tGROUP_TYPES,\n\tSEPARATION_TYPES,\n} from '../sn-predicate-builder/constants';\n\n/**\n * Translates supported group labels\n *\n * @param {string} groupLabel\n * @returns {string} Translated labels\n */\nconst getTranslatedGroupLabel = (groupLabel) => {\n\tif (groupLabel === GROUP_TYPES.OR) {\n\t\treturn t({\n\t\t\tcode: 'now_predicate_builder__sn_grouped_predicate',\n\t\t\tmessage: 'or',\n\t\t\tcomment: 'Logical operator \"or\" used to connect query conditions',\n\t\t});\n\t}\n\n\tif (groupLabel === GROUP_TYPES.AND) {\n\t\treturn t({\n\t\t\tcode: 'now_predicate_builder',\n\t\t\tmessage: 'and',\n\t\t\tcomment: 'Logical operator \"and\" used to connect query conditions',\n\t\t});\n\t}\n\n\t// If the group label is not AND or OR, pass it through to support custom group labels\n\treturn groupLabel;\n};\n\n/**\n * Renders the bracket container based on the group config\n * @param {String} groupType\n * @param {object} groupConfig config to help determine the brackets styling\n * @returns {object} JSX bracket rendering\n */\nconst renderBracketContainer = (groupType, groupConfig) => {\n\tconst displayType = get(groupConfig, 'displayType');\n\tconst groupLabel = get(groupConfig, 'groupLabel', '');\n\tconst bracketColor = get(groupConfig, 'bracketColor');\n\tconst translatedGroupLabel = getTranslatedGroupLabel(groupLabel);\n\n\tconst bracketContainerClassNames = classnames('bracket-container', {\n\t\t[`-${bracketColor}`]: bracketColor,\n\t\t[`-display-type-${displayType?.toLowerCase()}`]: displayType,\n\t\t[groupType]: groupType,\n\t});\n\n\treturn displayType === SEPARATION_TYPES.BRACKETED ||\n\t\tdisplayType === SEPARATION_TYPES.STACKED ? (\n\t\t<div\n\t\t\tclassName={bracketContainerClassNames}\n\t\t\tdata-displayType={displayType}\n\t\t>\n\t\t\t<div className=\"vertical-line\" />\n\t\t\t<span className=\"label\">{translatedGroupLabel.toLowerCase()}<\/span>\n\t\t\t<div className=\"vertical-line\" />\n\t\t<\/div>\n\t) : null;\n};\n\n/**\n * Renders the line separators\n *\n * @param {object} groupConfig config to help determine the new line styling\n * @param {number} index location of the predicate in its group\n * @returns {object} JSX bracket rendering\n */\nconst renderNewLineSeparator = (groupType, groupConfig, index) => {\n\tconst displayType = get(groupConfig, 'displayType');\n\tconst groupLabel = get(groupConfig, 'groupLabel', '');\n\tconst translatedGroupLabel = getTranslatedGroupLabel(groupLabel);\n\n\t// TODO: Make sure Andrew addresses this when he does his story to refactor the customization/component loaders.\n\tconst TAG_NAME = get(groupConfig, 'componentTag');\n\tconst props = get(groupConfig, 'componentProperties');\n\tconst showDefaultSeparator = get(groupConfig, 'showDefaultSeparator', true);\n\n\treturn index && displayType === SEPARATION_TYPES.SEPARATED ? (\n\t\t<Fragment>\n\t\t\t{showDefaultSeparator && (\n\t\t\t\t<div className={`new-line-separator ${groupType}`}>\n\t\t\t\t\t<div />\n\t\t\t\t\t<div className=\"label\">{translatedGroupLabel}<\/div>\n\t\t\t\t\t<div />\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t{TAG_NAME && <TAG_NAME {...props} />}\n\t\t<\/Fragment>\n\t) : null;\n};\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcustomizations,\n\t\t\tdir,\n\t\t\tgroupType,\n\t\t\tpredicateId,\n\t\t\tpredicates,\n\t\t\tgroupedPredicateConfig,\n\t\t\tfetchedComponents,\n\t\t\tglobalMacroponentSysId,\n\t\t\tglobalComponentTag,\n\t\t\tpredicateContext,\n\t\t\tconditionIdToFocus,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t} = state;\n\n\tconst groupConfig = get(groupedPredicateConfig, groupType, null);\n\n\tif (!groupConfig) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_ERROR_DETECTED);\n\t\treturn renderGroupTypeError(predicateId, groupType);\n\t}\n\tconst parentGroupLabel = get(groupConfig, 'groupLabel', '');\n\n\tconst containerClassnames = classnames('grouped-predicate-container', {\n\t\t[`-display-type-${groupConfig.displayType?.toLowerCase()}`]: groupConfig.displayType,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames} dir={dir}>\n\t\t\t{renderBracketContainer(groupType, groupConfig)}\n\t\t\t<div className=\"sub-predicates-container\">\n\t\t\t\t{predicates.map((predicate, index) => {\n\t\t\t\t\tconst hasMultipleRows = predicates.length > 1;\n\t\t\t\t\tconst isLastPredicate =\n\t\t\t\t\t\thasMultipleRows && index + 1 === predicates.length;\n\n\t\t\t\t\tconst props = {\n\t\t\t\t\t\t...predicate,\n\t\t\t\t\t\tcustomizations,\n\t\t\t\t\t\tdir,\n\t\t\t\t\t\tfetchedComponents,\n\t\t\t\t\t\tglobalMacroponentSysId,\n\t\t\t\t\t\tglobalComponentTag,\n\t\t\t\t\t\tgroupedPredicateConfig,\n\t\t\t\t\t\tpredicateContext: {\n\t\t\t\t\t\t\t...predicateContext,\n\t\t\t\t\t\t\tpredicateMetadata: {\n\t\t\t\t\t\t\t\tparentGroupType: groupType,\n\t\t\t\t\t\t\t\tparentPredicateId: predicateId,\n\t\t\t\t\t\t\t\tisLastPredicate,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tconditionIdToFocus,\n\t\t\t\t\t\treadOnly,\n\t\t\t\t\t\tshowLabels,\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{renderNewLineSeparator(\n\t\t\t\t\t\t\t\tgroupType,\n\t\t\t\t\t\t\t\tgroupConfig,\n\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{renderPredicate({\n\t\t\t\t\t\t\t\tpredicate,\n\t\t\t\t\t\t\t\tprops,\n\t\t\t\t\t\t\t\tindex: index,\n\t\t\t\t\t\t\t\tnumPredicates: predicates.length,\n\t\t\t\t\t\t\t\tparentGroupLabel,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-grouped-predicate', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tconditionIdToFocus: {\n\t\t\tdefault: '',\n\t\t},\n\t\tcustomizations: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tfetchedComponents: {\n\t\t\tdefault: {},\n\t\t},\n\t\tpredicateId: {\n\t\t\tdefault: '',\n\t\t},\n\t\tglobalMacroponentSysId: {\n\t\t\tdefault: '',\n\t\t},\n\t\tgroupedPredicateConfig: {\n\t\t\tdefault: {},\n\t\t},\n\t\tgroupType: {\n\t\t\tdefault: '',\n\t\t},\n\t\tglobalComponentTag: {\n\t\t\tdefault: '',\n\t\t},\n\t\tpredicateContext: {\n\t\t\tdefault: {},\n\t\t},\n\t\tpredicates: {\n\t\t\tdefault: [],\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [{ behavior: rtlBehavior }],\n});\n","import '@servicenow/now-loader';\nimport '../sn-single-predicate';\nimport '../sn-grouped-predicate';\n\nimport isEmpty from 'lodash/isEmpty';\n\nimport { renderErrorMessage } from '../../utils/errorUtils';\nimport { renderPredicate } from '../../utils/renderUtils';\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcomponentTag,\n\t\t\tconditionIdToFocus,\n\t\t\tcustomizations,\n\t\t\tdir,\n\t\t\tfetchedComponents,\n\t\t\tfixedQueryMode,\n\t\t\tinfoMessages,\n\t\t\tmacroponentSysId,\n\t\t\tpredicateComposition: { predicateContext = {}, predicate = {} },\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t},\n\t\tgroupedPredicateConfig,\n\t\terrorMessage,\n\t} = state;\n\n\tif (errorMessage) {\n\t\treturn renderErrorMessage(errorMessage);\n\t}\n\n\t// This is set on bootstrap, so dont render yet to prevent error flashing\n\tif (isEmpty(groupedPredicateConfig)) {\n\t\treturn null;\n\t}\n\n\tconst props = {\n\t\t...predicate,\n\t\tconditionIdToFocus,\n\t\tcustomizations,\n\t\tdir,\n\t\tfetchedComponents,\n\t\tfixedQueryMode,\n\t\tglobalMacroponentSysId: macroponentSysId,\n\t\tglobalComponentTag: componentTag,\n\t\tgroupedPredicateConfig,\n\t\tinfoMessages,\n\t\tpredicateContext,\n\t\treadOnly,\n\t\tshowLabels,\n\t};\n\n\t// TODO: probably need a better parentGroupLabel for this topmost one\n\treturn renderPredicate({\n\t\tpredicate,\n\t\tprops,\n\t\tindex: 0,\n\t\tnumPredicates: 1,\n\t\tparentGroupLabel: 'GLOBAL',\n\t\tmeta: {\n\t\t\tparentPredicateId: predicate.predicateId,\n\t\t},\n\t\tdispatch,\n\t});\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { SN_PREDICATE_BUILDER_PREDICATE_UPDATED } from '../sn-predicate-builder/actionTypes';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-predicate-builder', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tinitialState: {\n\t\terrorMessage: '',\n\t\tgroupedPredicateConfig: {},\n\t\tisInitialLoad: true,\n\t\tpathMap: {},\n\t},\n\tproperties: {\n\t\tcustomizations: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tinfoMessages: {\n\t\t\tdefault: [],\n\t\t},\n\t\tmacroponentSysId: {\n\t\t\tdefault: '',\n\t\t},\n\t\tcomponentTag: {\n\t\t\tdefault: '',\n\t\t},\n\t\tfetchedComponents: {\n\t\t\tdefault: {},\n\t\t},\n\t\tpredicateComposition: {\n\t\t\tdefault: {},\n\t\t},\n\t\tgroupedPredicateConfig: {\n\t\t\tdefault: {},\n\t\t},\n\t\tconditionIdToFocus: {\n\t\t\tdefault: '',\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tdispatches: {\n\t\t[SN_PREDICATE_BUILDER_PREDICATE_UPDATED]: {},\n\t},\n\tactionHandlers,\n});\n","import '@servicenow/now-button';\nimport '../now-condition-builder-row';\nimport '../sn-condition-builder-alternative-view';\nimport '../sn-predicate-builder';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport { FIXED_QUERY_MODE } from '../sn-condition-builder/constants';\nimport { SEPARATION_TYPES } from '../sn-predicate-builder/constants';\nimport { defaultGroupedPredicateConfig } from '../sn-predicate-builder/groupedPredicateConfig.constants';\n\nimport { SN_CONDITIONS_ADD_NEW_CONDITION_SET } from './actionTypes';\nimport { ADD_CONDITION_SET_TOOLTIP_CONTENT } from './constants';\n\nconst addConditionSetLabel = t('Add condition set');\n\nconst updatePredicateComposition = (state) => {\n\tconst {\n\t\tkeywordsConditionId,\n\t\tpredicateComposition,\n\t\tproperties: {\n\t\t\tfieldOperatorRelationship,\n\t\t\tmetadataCache,\n\t\t\tpanelDefinitions,\n\t\t\tshowReferenceLookup,\n\t\t\tsource,\n\t\t\tvariablesSource,\n\t\t},\n\t} = state;\n\n\tconst updatedPredicateComposition = {\n\t\t...predicateComposition,\n\t};\n\n\tupdatedPredicateComposition.predicateContext = {\n\t\tfieldOperatorRelationship,\n\t\tkeywordsConditionId,\n\t\tmetadataCache,\n\t\tpanelDefinitions,\n\t\tsource,\n\t\tshowReferenceLookup,\n\t\tvariablesSource,\n\t};\n\n\treturn updatedPredicateComposition;\n};\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tpredicateComposition,\n\t\tconditionIdToFocus,\n\t\tproperties: {\n\t\t\tcustomizations,\n\t\t\tfieldOperatorRelationship,\n\t\t\tfixedConditionsModel,\n\t\t\tfetchedComponents,\n\t\t\tfixedQueryMode,\n\t\t\tinfoMessages,\n\t\t\tmetadataCache,\n\t\t\treadOnly,\n\t\t\tshowAddConditionSet,\n\t\t\tshowLabels,\n\t\t\tsource,\n\t\t},\n\t} = state;\n\n\tif (!predicateComposition.predicate) {\n\t\treturn null;\n\t}\n\n\tconst updatedPredicateComposition = {\n\t\t...updatePredicateComposition(state),\n\t\tshowAddConditionSet,\n\t};\n\n\t// Overriding the AND bracketing to be stacked when rendering the predicate builder\n\tconst groupedPredicateConfig = {\n\t\t...defaultGroupedPredicateConfig,\n\t\tAND: {\n\t\t\t...defaultGroupedPredicateConfig.AND,\n\t\t\tdisplayType: SEPARATION_TYPES.STACKED,\n\t\t},\n\t\t...(fixedConditionsModel.length > 0 &&\n\t\t\tfixedQueryMode === FIXED_QUERY_MODE.DISTRIBUTED && {\n\t\t\t\tSEPARATED_GROUP: {\n\t\t\t\t\t...defaultGroupedPredicateConfig.SEPARATED_GROUP,\n\t\t\t\t\tcomponentTag: 'sn-fixed-query-wrapper',\n\t\t\t\t\tcomponentProperties: {\n\t\t\t\t\t\tconditions: fixedConditionsModel,\n\t\t\t\t\t\tfetchedComponents,\n\t\t\t\t\t\tfieldOperatorRelationship,\n\t\t\t\t\t\tmetadataCache,\n\t\t\t\t\t\tsource,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"sn-conditions\">\n\t\t\t\t<sn-predicate-builder\n\t\t\t\t\tcomponentTag=\"now-condition-builder-row\"\n\t\t\t\t\tconditionIdToFocus={conditionIdToFocus}\n\t\t\t\t\tcustomizations={customizations}\n\t\t\t\t\tfetchedComponents={fetchedComponents}\n\t\t\t\t\tgroupedPredicateConfig={groupedPredicateConfig}\n\t\t\t\t\tinfoMessages={infoMessages}\n\t\t\t\t\tpredicateComposition={updatedPredicateComposition}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t/>\n\t\t\t\t{showAddConditionSet && (\n\t\t\t\t\t<div className=\"add-condition-set\">\n\t\t\t\t\t\t<div className=\"horizontal-line\" />\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tlabel={addConditionSetLabel}\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tclassName=\"add-condition-set-button\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tdispatch(SN_CONDITIONS_ADD_NEW_CONDITION_SET);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttooltipContent={ADD_CONDITION_SET_TOOLTIP_CONTENT}\n\t\t\t\t\t\t\tdata-testId=\"add-condition-set-button\"\n\t\t\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"horizontal-line\" />\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { FIXED_QUERY_MODE } from '../sn-condition-builder/constants';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-conditions', {\n\trenderer: { type: snabbdom },\n\tview,\n\tsetInitialState: () => ({\n\t\tpredicateComposition: {\n\t\t\tpredicateContext: {},\n\t\t\tpredicate: {},\n\t\t},\n\t\tconditionsModel: [],\n\t\tconditionIdToFocus: '',\n\t}),\n\tproperties: {\n\t\tsource: {\n\t\t\tdefault: '',\n\t\t},\n\t\tconditionsModel: {\n\t\t\tdefault: [],\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tcustomizations: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tfetchedComponents: {\n\t\t\tdefault: {},\n\t\t},\n\t\tfieldOperatorRelationship: {\n\t\t\tdefault: {},\n\t\t},\n\t\tfixedConditionsModel: {\n\t\t\tdefault: [],\n\t\t},\n\t\tfixedQueryMode: {\n\t\t\tdefault: FIXED_QUERY_MODE.SIMPLE,\n\t\t},\n\t\tmetadataCache: {\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t},\n\t\tshowReferenceLookup: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowAddConditionSet: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\tvariablesSource: {\n\t\t\tdefault: {},\n\t\t},\n\t},\n\tactionHandlers,\n\tstyles,\n});\n","export const RELATED_LIST_FETCH_SUCCESS =\n\t'SN_RELATED_LIST_QUERY_CONDITION_TABLE_PICKER#FETCH_SUCCESS';\nexport const RELATED_LIST_FETCH_STARTED =\n\t'SN_RELATED_LIST_QUERY_CONDITION_TABLE_PICKER#FETCH_STARTED';\nexport const RELATED_LIST_FETCH_FAILED =\n\t'SN_RELATED_LIST_QUERY_CONDITION_TABLE_PICKER#FETCH_FAILED';\nexport const RELATED_LIST_FETCH_REQUESTED =\n\t'SN_RELATED_LIST_QUERY_CONDITION_TABLE_PICKER#FETCH_REQUESTED';\nexport const RELATED_LIST_SELECTED =\n\t'SN_RELATED_LIST_QUERY_CONDITION_TABLE_PICKER#RELATED_LIST_SELECTED';\n","export const NOW_SELECT_SELECTED_ITEM_SET = 'NOW_SELECT#SELECTED_ITEM_SET';\nexport const NOW_SELECT_LIST_VISIBLE = 'NOW_SELECT#LIST_VISIBLE';\nexport const NOW_SELECT_LIST_HIDDEN = 'NOW_SELECT#LIST_HIDDEN';\nexport const NOW_INPUT_VALUE_SET = 'NOW_INPUT#VALUE_SET';\nexport const NOW_INPUT_INPUT = 'NOW_INPUT#INPUT';\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\n","import { t } from 'sn-translate';\n\nexport const BETWEEN_INPUT_NAME = 'conditionBetweenInputValue';\nexport const CONDITION_INPUT_NAME = 'conditionInputValue';\n\nexport const BETWEEN_ID = 'BETWEEN';\nexport const NONE_ID = '=0';\n\nexport const NO_CONDITION_ITEM = {\n\tid: NONE_ID,\n\tlabel: t('No'),\n};\n\nexport const CONDITION_ITEMS = [\n\t{ id: '>=', label: t('Greater than or equal to') },\n\t{ id: '>', label: t('Greater than') },\n\t{ id: '<=', label: t('Less than or equal to') },\n\t{ id: '<', label: t('Less than') },\n\t{ id: '=', label: t('Equal to') },\n\t{ id: NONE_ID, label: t('None') },\n\t{ id: BETWEEN_ID, label: t('Between') },\n];\n\nexport const INITIAL_INPUT_VALUE = '0';\nexport const INITIAL_OPERATOR_ID = CONDITION_ITEMS[0].id;\n\nexport const AND = t('and');\nexport const CLEAR_ROW_LABEL = t('Clear related list conditions');\nexport const CLEAR_ROW_ID = 'clear-related-list-button';\nexport const OPERATOR_LABEL = t('Operator');\nexport const RELATED_LIST_LABEL = t('Related list');\nexport const VALUE_LABEL = t('Value');\nexport const OPERATOR_SOURCE = 'operator';\n","import { actionTypes } from '@servicenow/ui-core';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\n\nimport { NOW_PREDICATE_BUILDER_METRIC_TRACKED } from '../now-predicate-builder/actionTypes';\nimport {\n\tSN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED,\n\tSN_CONDITION_BUILDER_DECODED_QUERY_UPDATED,\n} from '../sn-condition-builder/actionTypes';\nimport { DECODED_QUERY_MODEL_TYPE } from '../sn-condition-builder/constants';\nimport { NOW_PREDICATE_BUILDER_RELATED_LIST_CONDITION_EVENT } from '../sn-condition-builder/telemetryEvents.constants';\nimport { RELATED_LIST_SELECTED } from '../sn-related-list-conditions-table-picker-connected/actionTypes';\n\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_INPUT_VALUE_SET,\n\tNOW_INPUT_INPUT,\n\tNOW_SELECT_LIST_HIDDEN,\n\tNOW_SELECT_LIST_VISIBLE,\n\tNOW_SELECT_SELECTED_ITEM_SET,\n} from './actionTypes';\nimport {\n\tBETWEEN_ID,\n\tBETWEEN_INPUT_NAME,\n\tCLEAR_ROW_ID,\n\tCONDITION_INPUT_NAME,\n\tINITIAL_INPUT_VALUE,\n\tINITIAL_OPERATOR_ID,\n\tNONE_ID,\n\tOPERATOR_SOURCE,\n} from './constants';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nexport const getDefaultRLQCModel = () => {\n\treturn {\n\t\trelationType: '',\n\t\trelationValue: INITIAL_INPUT_VALUE,\n\t\trelatedTableName: '',\n\t\trelationOperator: INITIAL_OPERATOR_ID,\n\t\trelatedTableLabel: '',\n\t\trelatedListIdentifier: '',\n\t\tconditions: [],\n\t};\n};\n\nconst setDefaultValues = (relatedListConditionsModel) => {\n\tlet relatedListModel = {\n\t\t...relatedListConditionsModel,\n\t};\n\n\tif (!relatedListModel?.relationOperator) {\n\t\trelatedListModel.relationOperator = INITIAL_OPERATOR_ID;\n\t}\n\n\tif (\n\t\t!relatedListModel?.relationValue &&\n\t\trelatedListModel?.relationOperator !== INITIAL_INPUT_VALUE\n\t) {\n\t\trelatedListModel.relationValue = INITIAL_INPUT_VALUE;\n\t}\n\n\treturn relatedListModel;\n};\n\nconst handleComponentBootstrapped = (coeffects) => {\n\tconst {\n\t\tproperties: { relatedListConditionsModel },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (!isEmpty(relatedListConditionsModel)) {\n\t\tupdateState({\n\t\t\trelatedListConditionsModel: setDefaultValues(\n\t\t\t\trelatedListConditionsModel\n\t\t\t),\n\t\t});\n\t}\n};\n\nconst handleComponentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tstate: { relatedListConditionsModel },\n\t\tupdateState,\n\t} = coeffects;\n\tif (\n\t\tname === 'relatedListConditionsModel' &&\n\t\t!isEqual(value, relatedListConditionsModel)\n\t) {\n\t\tif (isEmpty(value)) {\n\t\t\tupdateState({\n\t\t\t\trelatedListConditionsModel: getDefaultRLQCModel(),\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\trelatedListConditionsModel: setDefaultValues(value),\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const transformState = (state) => {\n\tconst { relatedListConditionsModel = {} } = state;\n\tconst { relationValue = '', relationOperator } = relatedListConditionsModel;\n\tlet conditionInputValue, conditionBetweenInputValue;\n\tif (relationOperator === BETWEEN_ID) {\n\t\t[conditionInputValue = 0, conditionBetweenInputValue = 0] =\n\t\t\trelationValue?.split('@') || [];\n\t} else {\n\t\tconditionInputValue = relationValue;\n\t}\n\n\treturn {\n\t\t...state,\n\t\tconditionInputValue: Number(conditionInputValue),\n\t\tconditionBetweenInputValue: Number(conditionBetweenInputValue),\n\t};\n};\n\nconst dispatchRelatedListConditionsUpdate = (\n\tdispatch,\n\tupdatedModel,\n\tsource\n) => {\n\tconst metadata = {\n\t\tquantity: updatedModel.relationValue,\n\t\tfieldType: updatedModel.relatedListIdentifier,\n\t\trelatedTable: updatedModel.relatedTableName,\n\t\toperand: updatedModel.relationOperator,\n\t\ttableName: source,\n\t};\n\n\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\teventName: NOW_PREDICATE_BUILDER_RELATED_LIST_CONDITION_EVENT,\n\t\tmetadata,\n\t});\n\n\t// We don't want to dispatch the public decoded query updated action in the case that the related list table has not been selected\n\tconst preventActionDispatch = !updatedModel.relatedListIdentifier;\n\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\tmodelType: DECODED_QUERY_MODEL_TYPE.RELATED_LIST_CONDITIONS,\n\t\tvalue: updatedModel,\n\t\tpreventActionDispatch,\n\t});\n};\n\nconst handleSelectedItemSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tstate: { relatedListConditionsModel = {} },\n\t\tupdateState,\n\t\tproperties: { source },\n\t} = coeffects;\n\n\tconst {\n\t\trelationOperator: currRelationOperator,\n\t\trelationValue,\n\t} = relatedListConditionsModel;\n\n\tif (currRelationOperator === value) {\n\t\treturn;\n\t}\n\n\tconst updates = [];\n\tlet updatedRelationValue = relationValue;\n\tif (value === NONE_ID) {\n\t\tupdatedRelationValue = '0';\n\t\tupdates.push({\n\t\t\tpath: 'relatedListConditionsModel.relationValue',\n\t\t\tvalue: updatedRelationValue,\n\t\t\toperation: 'set',\n\t\t});\n\t} else if (value === BETWEEN_ID) {\n\t\tupdatedRelationValue = `${relationValue}@0`;\n\t\tupdates.push({\n\t\t\tpath: 'relatedListConditionsModel.relationValue',\n\t\t\tvalue: updatedRelationValue,\n\t\t\toperation: 'set',\n\t\t});\n\t\t// if changing from BETWEEN -> a different operator we need to reset the value\n\t} else if (currRelationOperator === BETWEEN_ID) {\n\t\tupdatedRelationValue = relationValue.split('@')[0];\n\t\tupdates.push({\n\t\t\tpath: 'relatedListConditionsModel.relationValue',\n\t\t\tvalue: updatedRelationValue,\n\t\t\toperation: 'set',\n\t\t});\n\t}\n\n\tupdates.push({\n\t\tpath: 'relatedListConditionsModel.relationOperator',\n\t\tvalue,\n\t\toperation: 'set',\n\t});\n\tupdateState(updates);\n\n\tconst updatedModel = {\n\t\t...relatedListConditionsModel,\n\t\trelationOperator: value,\n\t\trelationValue: updatedRelationValue,\n\t};\n\n\tdispatchRelatedListConditionsUpdate(dispatch, updatedModel, source);\n};\n\n// Handles any input to now-input\nconst handleInputSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, fieldValue },\n\t\t},\n\t\tdispatch,\n\t\tstate: { relatedListConditionsModel },\n\t\tupdateState,\n\t\tproperties: { source },\n\t} = coeffects;\n\n\t// handle the case where this action leaks from components in the condition row\n\tif (name !== CONDITION_INPUT_NAME && name !== BETWEEN_INPUT_NAME) {\n\t\treturn;\n\t}\n\n\tconst { relationOperator } = relatedListConditionsModel;\n\tlet newValue;\n\tif (relationOperator === BETWEEN_ID) {\n\t\tconst [\n\t\t\tconditionInputValue,\n\t\t\tconditionBetweenInputValue,\n\t\t] = relatedListConditionsModel?.relationValue?.split('@'); // eslint-disable-line no-unsafe-optional-chaining\n\n\t\tif (name === CONDITION_INPUT_NAME) {\n\t\t\tnewValue = `${fieldValue}@${conditionBetweenInputValue}`;\n\t\t} else if (name === BETWEEN_INPUT_NAME) {\n\t\t\tnewValue = `${conditionInputValue}@${fieldValue}`;\n\t\t}\n\t} else {\n\t\tnewValue = fieldValue;\n\t}\n\n\tupdateState({\n\t\tpath: 'relatedListConditionsModel.relationValue',\n\t\tvalue: newValue,\n\t\toperation: 'set',\n\t});\n\n\tconst updatedModel = {\n\t\t...relatedListConditionsModel,\n\t\trelationOperator: relationOperator,\n\t\trelationValue: newValue,\n\t};\n\n\tdispatchRelatedListConditionsUpdate(dispatch, updatedModel, source);\n};\n\nconst handleClearButtonClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { source },\n\t\t},\n\t\tdispatch,\n\t\thost,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (source === CLEAR_ROW_ID) {\n\t\tupdateState({\n\t\t\trelatedListConditionsModel: getDefaultRLQCModel(),\n\t\t});\n\t\tif (host && host.shadowRoot) {\n\t\t\tconst relationOperatorField = host.shadowRoot\n\t\t\t\t.querySelector('.operator-wrapper now-select')\n\t\t\t\t.shadowRoot.querySelector('button');\n\t\t\trelationOperatorField?.focus();\n\t\t}\n\n\t\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\t\tmodelType: DECODED_QUERY_MODEL_TYPE.RELATED_LIST_CONDITIONS,\n\t\t\tvalue: null,\n\t\t});\n\t}\n};\n\nconst handleSelectListVisible = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tmeta: { appended = {} },\n\t\t},\n\t} = coeffects;\n\n\tconst { source } = appended;\n\tif (source === OPERATOR_SOURCE) {\n\t\tupdateState({\n\t\t\toperatorDropdownOpened: true,\n\t\t});\n\t}\n};\n\nconst handleSelectListHidden = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tmeta: { appended = {} },\n\t\t},\n\t} = coeffects;\n\n\tconst { source } = appended;\n\tif (source === OPERATOR_SOURCE) {\n\t\tupdateState({\n\t\t\toperatorDropdownOpened: false,\n\t\t});\n\t}\n};\n\nconst handleAlternativeViewRequested = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: { modelType },\n\t\t},\n\t\taction,\n\t\tstate: { relatedListConditionsModel },\n\t} = coeffects;\n\tif (modelType === DECODED_QUERY_MODEL_TYPE.CONDITIONS) {\n\t\tdispatch(SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED, {\n\t\t\t...payload,\n\t\t\tmodel: relatedListConditionsModel,\n\t\t\tmodelType: DECODED_QUERY_MODEL_TYPE.RELATED_LIST_CONDITIONS,\n\t\t});\n\t\taction.stopPropagation();\n\t}\n};\n\nconst handleConditionDecodedQueryUpdated = (coeffects) => {\n\tconst {\n\t\taction,\n\t\taction: {\n\t\t\tpayload: { value, modelType },\n\t\t},\n\t\tdispatch,\n\t\tstate: { relatedListConditionsModel },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (modelType === DECODED_QUERY_MODEL_TYPE.CONDITIONS) {\n\t\tconst updatedModel = {\n\t\t\t...relatedListConditionsModel,\n\t\t\tconditions: value,\n\t\t};\n\n\t\tupdateState({\n\t\t\tpath: 'relatedListConditionsModel.conditions',\n\t\t\tvalue: value,\n\t\t\toperation: 'set',\n\t\t});\n\n\t\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\t\tvalue: updatedModel,\n\t\t\tmodelType: DECODED_QUERY_MODEL_TYPE.RELATED_LIST_CONDITIONS,\n\t\t});\n\n\t\taction.stopPropagation();\n\t}\n};\n\nconst handleRelatedListSelected = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\trelatedListIdentifier,\n\t\t\t\trelatedTableName,\n\t\t\t\trelatedTableLabel,\n\t\t\t\trelationType,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tstate: { relatedListConditionsModel },\n\t\tupdateState,\n\t\tproperties: { source },\n\t} = coeffects;\n\n\tconst updatedRelatedConditionsModel = {\n\t\t...relatedListConditionsModel,\n\t\trelatedListIdentifier,\n\t\trelatedTableName,\n\t\trelatedTableLabel,\n\t\trelationType,\n\t\tconditions: [],\n\t};\n\n\tupdateState({\n\t\trelatedListConditionsModel: updatedRelatedConditionsModel,\n\t});\n\n\tdispatchRelatedListConditionsUpdate(\n\t\tdispatch,\n\t\tupdatedRelatedConditionsModel,\n\t\tsource\n\t);\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrapped,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleComponentPropertyChanged,\n\t},\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: handleSelectedItemSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_SELECT_LIST_VISIBLE]: {\n\t\teffect: handleSelectListVisible,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_SELECT_LIST_HIDDEN]: {\n\t\teffect: handleSelectListHidden,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_INPUT_VALUE_SET]: {\n\t\tstopPropagation: true,\n\t},\n\t[NOW_INPUT_INPUT]: {\n\t\teffect: handleInputSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: handleClearButtonClicked,\n\t\tstopPropagation: true,\n\t},\n\t[RELATED_LIST_SELECTED]: {\n\t\teffect: handleRelatedListSelected,\n\t\tstopPropagation: true,\n\t},\n\t[SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED]: {\n\t\teffect: handleAlternativeViewRequested,\n\t},\n\t[SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED]: {\n\t\teffect: handleConditionDecodedQueryUpdated,\n\t},\n};\n\nexport default actionHandlers;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport get from 'lodash/get';\n\nimport { NOW_PREDICATE_BUILDER_METRIC_TRACKED } from '../now-predicate-builder/actionTypes';\nimport { NOW_PREDICATE_BUILDER_RELATED_LIST_CONDITION_EVENT } from '../sn-condition-builder/telemetryEvents.constants';\nimport {\n\tNOW_DROPDOWN_OPENED_SET,\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tNOW_POPOVER_OPENED_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nimport {\n\tRELATED_LIST_FETCH_FAILED,\n\tRELATED_LIST_FETCH_REQUESTED,\n\tRELATED_LIST_FETCH_STARTED,\n\tRELATED_LIST_FETCH_SUCCESS,\n\tRELATED_LIST_SELECTED,\n} from './actionTypes';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst relatedListMetadataQuery = `\n    query ($tableName: String!) {\n        GlideConditionBuilder_Query {\n        relatedListData(tableName: $tableName) {\n                tableName\n                relatedLists {\n                    relatedListIdentifier\n                    relatedTableName\n                    relatedTableLabel\n                    relationType\n                }\n            }\n        }\n    }\n`;\n\nconst handleFetchRelatedListMetadataRequested = createGraphQLEffect(\n\trelatedListMetadataQuery,\n\t{\n\t\tvariableList: ['tableName'],\n\t\tsuccessActionType: RELATED_LIST_FETCH_SUCCESS,\n\t\terrorActionType: RELATED_LIST_FETCH_FAILED,\n\t\tstartActionType: RELATED_LIST_FETCH_STARTED,\n\t}\n);\n\nconst handleFetchFailed = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties: { tableName },\n\t\tlogger,\n\t} = coeffects;\n\n\tconst additionalInfo = get(payload, 'message', JSON.stringify(payload));\n\tconst errorMessage = `Could not fetch related lists for ${tableName}. If this problem persists please contact your system administrator.`;\n\tlogger.error(errorMessage, additionalInfo);\n\n\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\teventName: NOW_PREDICATE_BUILDER_RELATED_LIST_CONDITION_EVENT,\n\t\tpayload,\n\t});\n};\n\nconst mapResponseToDropdown = (tableData) =>\n\ttableData.map(\n\t\t({\n\t\t\trelatedListIdentifier,\n\t\t\trelatedTableName,\n\t\t\trelatedTableLabel,\n\t\t\trelationType,\n\t\t}) => ({\n\t\t\tid: relatedListIdentifier,\n\t\t\tlabel: relatedTableLabel,\n\t\t\trelatedListIdentifier,\n\t\t\trelatedTableName,\n\t\t\trelatedTableLabel,\n\t\t\trelationType,\n\t\t})\n\t);\n\nconst handleFetchSuccess = ({ updateState, action }) => {\n\tconst tableData = get(\n\t\taction,\n\t\t'payload.data.GlideConditionBuilder_Query.relatedListData.relatedLists',\n\t\t[]\n\t);\n\tconst tables = mapResponseToDropdown(tableData);\n\tupdateState({ tables });\n};\n\nconst handleSelectItemClicked = ({\n\tproperties: { selectedId },\n\tdispatch,\n\taction,\n}) => {\n\tconst {\n\t\tpayload: { item = {} },\n\t} = action;\n\n\tconst {\n\t\trelatedListIdentifier,\n\t\trelatedTableName,\n\t\trelatedTableLabel,\n\t\trelationType,\n\t} = item;\n\n\tif (selectedId !== relatedListIdentifier) {\n\t\tdispatch(RELATED_LIST_SELECTED, {\n\t\t\trelatedListIdentifier,\n\t\t\trelatedTableName,\n\t\t\trelatedTableLabel,\n\t\t\trelationType,\n\t\t});\n\t}\n};\n\nconst handleComponentBootstrapped = ({\n\tdispatch,\n\tproperties: { tableName },\n}) => {\n\tdispatch(RELATED_LIST_FETCH_REQUESTED, {\n\t\ttableName,\n\t});\n};\n\nconst handleComponentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (['tableName'].includes(name)) handleComponentBootstrapped(coeffects);\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrapped,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleComponentPropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\tstopPropagation: true,\n\t},\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: handleSelectItemClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DROPDOWN_OPENED_SET]: {\n\t\tstopPropagation: true,\n\t},\n\t[RELATED_LIST_FETCH_REQUESTED]: handleFetchRelatedListMetadataRequested,\n\t[RELATED_LIST_FETCH_SUCCESS]: {\n\t\teffect: handleFetchSuccess,\n\t\tstopPropagation: true,\n\t},\n\t[RELATED_LIST_FETCH_FAILED]: {\n\t\teffect: handleFetchFailed,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import '@servicenow/now-select';\n\nimport { RELATED_LIST_LABEL } from '../sn-related-list-conditions/constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: { readOnly, selectedId, showLabels },\n\t\ttables,\n\t} = state;\n\n\treturn (\n\t\t<now-select\n\t\t\tbare\n\t\t\tconfigAria={{\n\t\t\t\ttrigger: {\n\t\t\t\t\t'aria-label': RELATED_LIST_LABEL,\n\t\t\t\t},\n\t\t\t}}\n\t\t\titems={tables}\n\t\t\tlabel={showLabels ? RELATED_LIST_LABEL : null}\n\t\t\tmanageSelectedItem={true}\n\t\t\treadonly={readOnly}\n\t\t\tsearch=\"contains\"\n\t\t\tselectedItem={selectedId}\n\t\t\tshowPadding={false}\n\t\t\tsize=\"sm\"\n\t\t\tvariant=\"secondary\"\n\t\t/>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-related-list-conditions-table-picker-connected', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * True or false to set read only mode\n\t\t * @type {boolean}\n\t\t */\n\t\treadOnly: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Id of the table that is selected in the dropdown\n\t\t * Required: No\n\t\t * @type {string}\n\t\t */\n\t\tselectedId: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * True or false to show the label\n\t\t * @type {boolean}\n\t\t */\n\t\tshowLabels: { default: true, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Table name to fetch related records on\n\t\t * Required: Yes\n\t\t * @type {string}\n\t\t */\n\t\ttableName: { default: '', schema: { type: 'string' } },\n\t},\n\tinitialState: {\n\t\ttables: [],\n\t},\n\tactionHandlers,\n});\n","import '@servicenow/now-select';\nimport '@servicenow/now-input';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport '../sn-related-list-conditions-table-picker-connected';\nimport '../sn-conditions';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classnames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport {\n\tAND,\n\tBETWEEN_ID,\n\tBETWEEN_INPUT_NAME,\n\tCLEAR_ROW_ID,\n\tCLEAR_ROW_LABEL,\n\tCONDITION_INPUT_NAME,\n\tCONDITION_ITEMS,\n\tNONE_ID,\n\tNO_CONDITION_ITEM,\n\tOPERATOR_LABEL,\n\tOPERATOR_SOURCE,\n\tVALUE_LABEL,\n} from './constants';\n\nconst DESCRIPTION_TEXT = t(\n\t'selected table record(s) are related to a record on'\n);\n\nconst CLEAR_TEXT = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Clear',\n\tcomment: 'Label for a button that clears the selected related list table',\n});\nconst RELATED_LIST_INFO_TEXT = t(\n\t'Related list conditions allow you to include a relationship with another table filter.'\n);\n\nconst view = (state) => {\n\tconst {\n\t\toperatorDropdownOpened,\n\t\trelatedListConditionsModel = {},\n\t\tconditionInputValue,\n\t\tconditionBetweenInputValue,\n\t\tproperties: {\n\t\t\tcustomizations,\n\t\t\tfetchedComponents,\n\t\t\tfieldOperatorRelationship,\n\t\t\tmetadataCache,\n\t\t\tpanelDefinitions,\n\t\t\treadOnly,\n\t\t\tshowAddConditionSet,\n\t\t\tshowLabels,\n\t\t\tshowReferenceLookup,\n\t\t\tsource,\n\t\t\tvariablesSource,\n\t\t},\n\t} = state;\n\n\t// prevent users entering negative ('-') values and other foreign numerical numbers.\n\tconst handleKeyDown = (e) => {\n\t\t// 69(e|E) | 187(+) | 189(-)\n\t\tconst blockedKeyCodes = [69, 187, 189];\n\t\tif (blockedKeyCodes.includes(e.keyCode)) e.preventDefault();\n\t};\n\n\tconst {\n\t\trelationOperator,\n\t\tconditions,\n\t\trelatedTableName,\n\t\trelatedListIdentifier,\n\t} = relatedListConditionsModel;\n\tconst isBetweenSelected = relationOperator === BETWEEN_ID;\n\tconst isNoneSelected = relationOperator === NONE_ID;\n\n\tconst items =\n\t\tisNoneSelected && !operatorDropdownOpened\n\t\t\t? CONDITION_ITEMS.map((item) =>\n\t\t\t\t\titem.id === NONE_ID ? NO_CONDITION_ITEM : item\n\t\t\t  )\n\t\t\t: CONDITION_ITEMS;\n\n\tconst containerClassnames = classnames('sn-related-list-conditions', {\n\t\t'no-field-labels': !showLabels,\n\t});\n\n\treturn (\n\t\t<div className={containerClassnames}>\n\t\t\t<div className=\"related-list-info\">\n\t\t\t\t<now-icon icon=\"circle-info-outline\" />\n\t\t\t\t<div>{RELATED_LIST_INFO_TEXT}<\/div>\n\t\t\t<\/div>\n\t\t\t<div className=\"header\">\n\t\t\t\t<div className=\"operator-wrapper\">\n\t\t\t\t\t<now-select\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t\t'aria-label': OPERATOR_LABEL,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tappendToMeta={{ source: OPERATOR_SOURCE }}\n\t\t\t\t\t\titems={items}\n\t\t\t\t\t\tlabel={showLabels ? OPERATOR_LABEL : null}\n\t\t\t\t\t\tmanageSelectedItem={true}\n\t\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\t\tselectedItem={relationOperator}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"inputs\">\n\t\t\t\t\t\t{isNoneSelected ? null : (\n\t\t\t\t\t\t\t<now-input\n\t\t\t\t\t\t\t\tdata-testId=\"conditionInput\"\n\t\t\t\t\t\t\t\tlabel={showLabels ? VALUE_LABEL : null}\n\t\t\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\t\t\tname={CONDITION_INPUT_NAME}\n\t\t\t\t\t\t\t\tonkeydown={(e) => handleKeyDown(e)}\n\t\t\t\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tvalue={conditionInputValue}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isBetweenSelected ? (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<span>{AND}<\/span>\n\t\t\t\t\t\t\t\t<now-input\n\t\t\t\t\t\t\t\t\tdata-testId=\"conditionBetweenInput\"\n\t\t\t\t\t\t\t\t\tlabel={showLabels ? VALUE_LABEL : null}\n\t\t\t\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\t\t\t\tname={BETWEEN_INPUT_NAME}\n\t\t\t\t\t\t\t\t\tonkeydown={(e) => handleKeyDown(e)}\n\t\t\t\t\t\t\t\t\treadonly={readOnly}\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\tvalue={conditionBetweenInputValue}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div className=\"verbiage\">{DESCRIPTION_TEXT}<\/div>\n\t\t\t\t<div className=\"related-list\">\n\t\t\t\t\t<sn-related-list-conditions-table-picker-connected\n\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\t\tselectedId={relatedListIdentifier}\n\t\t\t\t\t\ttableName={source}\n\t\t\t\t\t/>\n\t\t\t\t\t{relatedListIdentifier && (\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\t\t\tlabel={CLEAR_TEXT}\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t'aria-label': CLEAR_ROW_LABEL,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdata-testId={CLEAR_ROW_ID}\n\t\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\t\tsource: CLEAR_ROW_ID,\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<\/div>\n\t\t\t<\/div>\n\t\t\t{relatedTableName ? (\n\t\t\t\t<div className=\"sn-conditions\">\n\t\t\t\t\t<sn-conditions\n\t\t\t\t\t\tconditionsModel={conditions}\n\t\t\t\t\t\tcustomizations={customizations}\n\t\t\t\t\t\tfetchedComponents={fetchedComponents}\n\t\t\t\t\t\tfieldOperatorRelationship={fieldOperatorRelationship}\n\t\t\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\tshowAddConditionSet={showAddConditionSet}\n\t\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\t\tshowReferenceLookup={showReferenceLookup}\n\t\t\t\t\t\tsource={relatedTableName}\n\t\t\t\t\t\tvariablesSource={variablesSource}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers, { getDefaultRLQCModel, transformState } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-related-list-conditions', {\n\tsetInitialState() {\n\t\treturn {\n\t\t\toperatorDropdownOpened: false,\n\t\t\trelatedListConditionsModel: getDefaultRLQCModel(),\n\t\t};\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\tcustomizations: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tfetchedComponents: {\n\t\t\tdefault: {},\n\t\t},\n\t\tfieldOperatorRelationship: {\n\t\t\tdefault: {},\n\t\t},\n\t\tmetadataCache: {\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\trelatedListConditionsModel: {\n\t\t\tdefault: {},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tshowAddConditionSet: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tshowLabels: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tshowReferenceLookup: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tsource: {\n\t\t\tdefault: '',\n\t\t},\n\t\tvariablesSource: {\n\t\t\tdefault: {},\n\t\t},\n\t},\n\tactionHandlers,\n\ttransformState: transformState,\n});\n","export const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\n","import { t } from 'sn-translate';\n\nexport const CLEAR_BUTTON_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Clear',\n\tcomment: 'Label for a button that clears the group by selection',\n});\nexport const DOT_WALK_LABEL = t({\n\tcode: 'now_predicate_builder__sn_group_by',\n\tmessage: 'Group by',\n\tcomment: 'Label for the Group By feature',\n});\nexport const GROUP_BY_MODEL = 'groupByModel';\nexport const NOW_PREDICATE_BUILDER_GROUP_BY_EVENT =\n\t'Predicate Builder Group By';\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport last from 'lodash/last';\n\nimport { NOW_PREDICATE_BUILDER_METRIC_TRACKED } from '../now-predicate-builder/actionTypes';\nimport { SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED } from '../sn-condition-builder/actionTypes';\nimport { DECODED_QUERY_MODEL_TYPE } from '../sn-condition-builder/constants';\nimport { SN_DOT_WALK_PATH_UPDATED } from '../sn-value-editor-commons/actionTypes';\n\nimport { NOW_BUTTON_BARE_CLICKED } from './actionTypes';\nimport { GROUP_BY_MODEL } from './constants';\nimport { NOW_PREDICATE_BUILDER_GROUP_BY_EVENT } from './constants';\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const buildMetadata = (groupByModel, source, logger) => {\n\tconst fieldTypes = [];\n\n\t// Validate that groupByModel is an array\n\tif (!Array.isArray(groupByModel)) {\n\t\tlogger.error('groupByModel is not iterable');\n\t\treturn [];\n\t}\n\n\tfor (const item of groupByModel) {\n\t\tif (!item.field) {\n\t\t\treturn []; // Return early if field is missing\n\t\t}\n\n\t\tfieldTypes.push({\n\t\t\tfieldType: item.field.type,\n\t\t\ttable: source,\n\t\t\tname: item.field.internalValue,\n\t\t});\n\t}\n\n\treturn fieldTypes;\n};\n\nexport const handleClearGroupBy = (coeffects) => {\n\tconst { dispatch, host } = coeffects;\n\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\tmodelType: DECODED_QUERY_MODEL_TYPE.GROUP_BY,\n\t\tvalue: [],\n\t});\n\n\tif (host?.shadowRoot) {\n\t\tconst dotWalkButton = host.shadowRoot\n\t\t\t?.querySelector('.sn-group-by-container sn-dot-walk-popover')\n\t\t\t?.shadowRoot?.querySelector('button');\n\t\tdotWalkButton?.focus();\n\t}\n};\n\nconst handleDotWalkPathUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tcurrentSelectedItemDisplayValue,\n\t\t\t\tcurrentSelectedItemInternalValue,\n\t\t\t\tdotWalkPath: dotwalkPath,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tproperties: { groupByModel, metadataCache },\n\t} = coeffects;\n\n\tif (Array.isArray(groupByModel)) {\n\t\tconst { internalValue = '', source = '' } = last(dotwalkPath) || {};\n\n\t\tconst type = get(\n\t\t\tmetadataCache,\n\t\t\t`tableMetadata.${source}.${internalValue}.type`,\n\t\t\t''\n\t\t);\n\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconst [_first, ...rest] = groupByModel;\n\t\tconst updatedGroupByModel = [\n\t\t\t{\n\t\t\t\tfield: {\n\t\t\t\t\tdisplayValue: currentSelectedItemDisplayValue,\n\t\t\t\t\tdotwalkPath,\n\t\t\t\t\tinternalValue: currentSelectedItemInternalValue,\n\t\t\t\t\ttype,\n\t\t\t\t},\n\t\t\t},\n\t\t\t...(rest || []),\n\t\t];\n\n\t\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\t\tmodelType: DECODED_QUERY_MODEL_TYPE.GROUP_BY,\n\t\t\tvalue: updatedGroupByModel,\n\t\t});\n\t}\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t\tdispatch,\n\t\tlogger,\n\t\tproperties: { groupByModel, source },\n\t} = coeffects;\n\n\tif (name === GROUP_BY_MODEL) {\n\t\tconst fieldTypes = buildMetadata(groupByModel, source, logger);\n\t\tconst metadata = { fieldTypes };\n\n\t\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\t\teventName: NOW_PREDICATE_BUILDER_GROUP_BY_EVENT,\n\t\t\tmetadata,\n\t\t});\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\teffect: handleClearGroupBy,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_PATH_UPDATED]: {\n\t\teffect: handleDotWalkPathUpdated,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { t } from 'sn-translate';\n\nexport const ASCENDING_DISPLAY_VALUE = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Ascending',\n\tcomment: 'Label for the \"Ascending\" sort order option',\n});\nexport const DEFAULT_DISPLAY_VALUE = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Select',\n\tcomment: 'Default placeholder text for a selection dropdown',\n});\nexport const DESCENDING_DISPLAY_VALUE = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Descending',\n\tcomment: 'Label for the \"Descending\" sort order option',\n});\nexport const FIELD_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Field',\n\tcomment: 'Label for the field selection dropdown in the sort by row',\n});\nexport const REMOVE_ICON_TOOLTIP = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Remove',\n\tcomment: 'Tooltip text for an icon that removes the sort by row',\n});\nexport const SORT_BY_ASCENDING = 'ASCENDING';\nexport const SORT_BY_DESCENDING = 'DESCENDING';\nexport const SORT_BY_LABEL = t('Sort by');\n\nexport const OPERATORS = [\n\t{\n\t\tchildren: [\n\t\t\t{\n\t\t\t\ticon: 'sort-ascending-outline',\n\t\t\t\tid: SORT_BY_ASCENDING,\n\t\t\t\tlabel: ASCENDING_DISPLAY_VALUE,\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: 'sort-descending-outline',\n\t\t\t\tid: SORT_BY_DESCENDING,\n\t\t\t\tlabel: DESCENDING_DISPLAY_VALUE,\n\t\t\t},\n\t\t],\n\t\tid: 'Sort by',\n\t\tlabel: SORT_BY_LABEL,\n\t},\n];\n","import '@servicenow/now-dot-walk';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport '../sn-dot-walk-popover';\nimport { UNKNOWN_DYNAMIC_CATEGORY_VALUE_MESSAGE } from '../now-condition-builder-row/constants';\nimport { hasUncategorizedAttribute } from '../now-condition-builder-row/utils';\nimport { DEFAULT_DISPLAY_VALUE } from '../sn-sort-by-row/constants';\nimport {\n\tgetFilteredPanelDefinitions,\n\tfilterKeywordsFn,\n\tfilterInvalidGroupByTypesFn,\n} from '../sn-value-editor-commons/utils';\n\nimport { CLEAR_BUTTON_LABEL, DOT_WALK_LABEL } from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tfixedGroupByModel,\n\t\t\tgroupByModel,\n\t\t\tmetadataCache,\n\t\t\tpanelDefinitions,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t\tsource,\n\t\t},\n\t} = state;\n\tlet field = get(groupByModel, '[0].field', {});\n\n\tlet isReadOnly = readOnly;\n\n\tconst hasFixedGroupByModel = fixedGroupByModel.length > 0;\n\n\tif (hasFixedGroupByModel) {\n\t\tfield = get(fixedGroupByModel, '[0].field', {});\n\t\tisReadOnly = true;\n\t}\n\n\tconst { internalValue = '', displayValue = '', dotwalkPath = [] } = field;\n\n\tconst messages = [];\n\tif (hasUncategorizedAttribute(dotwalkPath)) {\n\t\tisReadOnly = true;\n\t\tmessages.push(UNKNOWN_DYNAMIC_CATEGORY_VALUE_MESSAGE);\n\t}\n\n\tlet filteredPanelDefinitions = panelDefinitions;\n\n\tconst type = get(\n\t\tmetadataCache,\n\t\t`tableMetadata.${source}.${internalValue}.type`,\n\t\t''\n\t);\n\n\tconst tableMetadata = get(metadataCache, `tableMetadata`, '');\n\n\tif (!isEmpty(panelDefinitions)) {\n\t\tfilteredPanelDefinitions = getFilteredPanelDefinitions({\n\t\t\tpanelDefinitions,\n\t\t\ttableMetadata,\n\t\t\tfieldType: type,\n\t\t\ttransformFunctions: [filterKeywordsFn, filterInvalidGroupByTypesFn],\n\t\t});\n\t}\n\n\treturn (\n\t\t<div className=\"sn-group-by-container\">\n\t\t\t<sn-dot-walk-popover\n\t\t\t\tdisplayValue={displayValue || DEFAULT_DISPLAY_VALUE}\n\t\t\t\tdotwalkPath={dotwalkPath}\n\t\t\t\tfieldInternalValue={internalValue}\n\t\t\t\tlabel={DOT_WALK_LABEL}\n\t\t\t\tpanelDefinitions={filteredPanelDefinitions}\n\t\t\t\treadOnly={isReadOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\tsource={source}\n\t\t\t\tisLocked={hasFixedGroupByModel}\n\t\t\t/>\n\t\t\t{displayValue && !hasFixedGroupByModel ? (\n\t\t\t\t<now-button-bare\n\t\t\t\t\tdata-test-Id=\"clear-group-by-button\"\n\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\tlabel={CLEAR_BUTTON_LABEL}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div />\n\t\t\t)}\n\t\t\t<sn-condition-builder-row-messages\n\t\t\t\tdata-testId=\"group-by-warning-messages\"\n\t\t\t\tmessages={messages}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-group-by', {\n\tview,\n\tproperties: {\n\t\tgroupByModel: { schema: { type: 'array' }, default: [] },\n\t\tfixedGroupByModel: { schema: { type: 'array' }, default: [] },\n\t\tmetadataCache: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\tsource: { schema: { type: 'string' }, default: '' },\n\t},\n\tactionHandlers,\n\tstyles,\n});\n","export const SN_SORT_BY_FIELD_UPDATED = 'SN_SORT_BY#FIELD_UPDATED';\nexport const SN_SORT_BY_TYPE_UPDATED = 'SN_SORT_BY#TYPE_UPDATED';\nexport const SN_SORT_BY_SET_FOCUS = 'SN_SORT_BY#SET_FOCUS';\n","import { t } from 'sn-translate';\n\nexport const BUTTON_LABEL = t('Add sort');\nexport const SORT_BY_ASC = 'asc';\nexport const SORT_BY_ASCENDING = 'ASCENDING';\nexport const SORT_BY_DESC = 'desc';\nexport const SORT_BY_MODEL = 'sortByModel';\nexport const FIXED_SORT_BY_MODEL = 'fixedSortByModel';\n","import { actionTypes } from '@servicenow/ui-core';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport { uuid } from '../../../commons/utils/uuid';\nimport { NOW_PREDICATE_BUILDER_METRIC_TRACKED } from '../now-predicate-builder/actionTypes';\nimport { SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED } from '../sn-condition-builder/actionTypes';\nimport { DECODED_QUERY_MODEL_TYPE } from '../sn-condition-builder/constants';\nimport { SORT_BY_EVENT } from '../sn-condition-builder/telemetryEvents.constants';\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n} from '../sn-value-editor-commons/actionTypes';\n\nimport {\n\tSN_SORT_BY_FIELD_UPDATED,\n\tSN_SORT_BY_TYPE_UPDATED,\n\tSN_SORT_BY_SET_FOCUS,\n} from './actionTypes';\nimport {\n\tFIXED_SORT_BY_MODEL,\n\tSORT_BY_ASC,\n\tSORT_BY_ASCENDING,\n\tSORT_BY_DESC,\n\tSORT_BY_MODEL,\n} from './constants';\nconst {\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\nexport const buildMetadata = (sortByModel, logger) => {\n\tconst mapOrder = (order) =>\n\t\torder === SORT_BY_ASCENDING ? SORT_BY_ASC : SORT_BY_DESC;\n\n\tconst fieldTypesAndOrderByTypes = [];\n\n\t// Validate that sortByModel is an array\n\tif (!Array.isArray(sortByModel)) {\n\t\tlogger.error('sortByModel is not iterable');\n\t\treturn [];\n\t}\n\n\tfor (const { field, type } of sortByModel) {\n\t\tif (!field || !type) {\n\t\t\treturn []; // Return early if either field or type is missing\n\t\t}\n\n\t\tfieldTypesAndOrderByTypes.push({\n\t\t\tfieldType: field.type,\n\t\t\torderByType: mapOrder(type),\n\t\t});\n\t}\n\n\treturn fieldTypesAndOrderByTypes;\n};\n\n/**\n * Utility that determines if the next focus should be on the remove button or the popover button.\n * @param {boolean} fromLastRow - flag to indicate if the last row was removed. this is need to handle a special use case\n * @param {*} host\n * @param {string} nextIdToFocus - the next sortByModel id to focus\n * @param {Array} updatedSortByModel - the new sortByModel array after the removal\n * @param {*} updateState\n * @returns\n */\nconst focusAfterRemoveSortRow = ({\n\tfromLastRow,\n\thost,\n\tnextIdToFocus,\n\tupdatedSortByModel,\n\tupdateState,\n}) => {\n\tconst count = updatedSortByModel?.length;\n\n\t// nothing to focus\n\tif (count === 0) {\n\t\treturn;\n\t}\n\tconst lastIndex = count ? updatedSortByModel?.length - 1 : 0;\n\tconst isLastItem = updatedSortByModel?.[lastIndex]?.id === nextIdToFocus;\n\n\t// Only one item\n\tif (updatedSortByModel.length === 1) {\n\t\tconst isEmptyField = isEmpty(\n\t\t\tupdatedSortByModel[0]?.field.internalValue\n\t\t);\n\n\t\t// if the field is empty, focus on popover button\n\t\tif (isEmptyField) {\n\t\t\tupdateState({\n\t\t\t\tsortByRowIdToFocus: nextIdToFocus,\n\t\t\t});\n\t\t} else {\n\t\t\t// if field is set, focus on remove button\n\t\t\tfocusOnRemoveButton({\n\t\t\t\thost,\n\t\t\t\tindex: 0,\n\t\t\t});\n\t\t}\n\t} else if (isLastItem) {\n\t\t// if the previous last item was removed, then focus on the preceeding remove button\n\t\tif (fromLastRow) {\n\t\t\tfocusOnRemoveButton({\n\t\t\t\thost,\n\t\t\t\tindex: lastIndex,\n\t\t\t});\n\t\t} else {\n\t\t\t// if the previous item that was removed was not the last item, then focus on the next popover button\n\t\t\tupdateState({\n\t\t\t\tsortByRowIdToFocus: nextIdToFocus,\n\t\t\t});\n\t\t}\n\t} else {\n\t\t// default\n\t\tupdateState({\n\t\t\tsortByRowIdToFocus: nextIdToFocus,\n\t\t});\n\t}\n};\n\nconst focusOnRemoveButton = ({ host, index }) => {\n\tconst snSortByRow = querySelector(\n\t\thost,\n\t\t`.sn-sort-by-container [data-sort=\"sort-by-row-index-${index}\"]`\n\t);\n\tconst removeSortByRowButton = querySelector(\n\t\tsnSortByRow,\n\t\t`.sn-sort-by-row-selector-container now-button-iconic`\n\t);\n\tif (removeSortByRowButton) removeSortByRowButton.focus();\n};\n\nconst querySelector = (element, selector) =>\n\telement?.shadowRoot?.querySelector(selector);\n\n/**\n * Generates an object representing an empty sort criteria with a unique identifier.\n * @returns {Object} An object with the following structure:\n * - field: an object containing:\n *   - internalValue: a string, initially empty,\n *   - displayValue: a string, initially empty,\n *   - type: initially undefined,\n *   - dotwalkPath: an empty array,\n * - id: a unique identifier generated by uuid(),\n * - type: a constant representing the sort order, initially set to SORT_BY_ASCENDING.\n */\nexport const generateEmptySortBy = () => {\n\treturn {\n\t\tfield: {\n\t\t\tinternalValue: '',\n\t\t\tdisplayValue: '',\n\t\t\ttype: undefined,\n\t\t\tdotwalkPath: [],\n\t\t},\n\t\tid: uuid(),\n\t\ttype: SORT_BY_ASCENDING,\n\t};\n};\n\nconst handleFieldUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { dotWalkPayload, type, id },\n\t\t},\n\t\tdispatch,\n\t\tstate: { sortByModel },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst {\n\t\tcurrentSelectedItemDisplayValue,\n\t\tcurrentSelectedItemInternalValue,\n\t\tdotWalkPath: dotwalkPath,\n\t} = dotWalkPayload || {};\n\n\tif (Array.isArray(sortByModel)) {\n\t\tconst updatedSortByModel = sortByModel.map((item) => {\n\t\t\tconst { id: itemId } = item;\n\t\t\tif (itemId === id) {\n\t\t\t\treturn {\n\t\t\t\t\t...item,\n\t\t\t\t\tfield: {\n\t\t\t\t\t\tdisplayValue: currentSelectedItemDisplayValue,\n\t\t\t\t\t\tinternalValue: currentSelectedItemInternalValue,\n\t\t\t\t\t\tdotwalkPath,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn item;\n\t\t});\n\n\t\tupdateState({ sortByModel: updatedSortByModel });\n\t\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\t\tmodelType: DECODED_QUERY_MODEL_TYPE.SORT_BY,\n\t\t\tvalue: updatedSortByModel,\n\t\t});\n\t}\n};\n\nconst handleTypeUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { operator, id },\n\t\t},\n\t\tdispatch,\n\t\tstate: { sortByModel },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (Array.isArray(sortByModel) && sortByModel.length > 0) {\n\t\tconst updatedSortByModel = sortByModel.map((item) => {\n\t\t\tconst { id: itemId } = item;\n\t\t\tif (itemId === id) {\n\t\t\t\treturn {\n\t\t\t\t\t...item,\n\t\t\t\t\ttype: operator,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn item;\n\t\t});\n\n\t\tupdateState({ sortByModel: updatedSortByModel });\n\t\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\t\tmodelType: DECODED_QUERY_MODEL_TYPE.SORT_BY,\n\t\t\tvalue: updatedSortByModel,\n\t\t});\n\t}\n};\n\nconst handleRowAddButtonClicked = (coeffects) => {\n\tconst {\n\t\tstate: { sortByModel },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst emptySortBy = generateEmptySortBy();\n\tconst updatedSortByModel = Array.isArray(sortByModel)\n\t\t? [...sortByModel, emptySortBy]\n\t\t: [emptySortBy];\n\n\tupdateState({\n\t\tsortByModel: updatedSortByModel,\n\t\tsortByRowIdToFocus: emptySortBy?.id,\n\t});\n};\n\n/**\n * Utility that calulates the next sortByModel id to focus after removing a sort row.\n * @param {string} id - The id of the sort row that was removed.\n * @param {Array} sortByModel - The current sortByModel array.\n * @param {Array} updatedSortByModel - The updated sortByModel array after the removal.\n * @returns {string|null} - The id of the next sortByModel to focus, or null if none exists.\n */\nconst getNextSortByModelIdToFocus = ({\n\tid = '',\n\tsortByModel = [],\n\tupdatedSortByModel,\n}) => {\n\tconst indexToRemove = sortByModel?.findIndex((item) => item?.id === id);\n\n\t// If the id is not found in the sortByModel, return null\n\tif (indexToRemove < 0) {\n\t\treturn null;\n\t} else if (indexToRemove === 0) {\n\t\t// if the first item was removed\n\t\treturn updatedSortByModel[0].id;\n\t} else if (indexToRemove === sortByModel?.length - 1) {\n\t\t// last item/node was removed\n\t\treturn updatedSortByModel[updatedSortByModel.length - 1].id;\n\t} else {\n\t\t// everything else\n\t\treturn updatedSortByModel[indexToRemove]?.id;\n\t}\n};\n\nconst handleRowRemoveButtonClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { id },\n\t\t},\n\t\tdispatch,\n\t\thost,\n\t\tlogger,\n\t\tstate: { sortByModel },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst item = sortByModel?.find((item) => item.id === id);\n\tconst displayValue = item?.field?.displayValue || 'Unknown';\n\n\tif (!item) {\n\t\tlogger.error(`Item with id ${id} not found in sortByModel`);\n\t}\n\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: t('{displayValue} field sort by row removed', {\n\t\t\tdisplayValue,\n\t\t}),\n\t\ttype: 'polite',\n\t});\n\n\tlet updatedSortByModel = [];\n\n\t// When there is more than one sort available to remove\n\tif (Array.isArray(sortByModel) && sortByModel.length > 1) {\n\t\tupdatedSortByModel = sortByModel.filter((item) => item.id !== id);\n\t}\n\t// Only is triggered when trying to remove the last non-empty sort\n\telse {\n\t\tconst emptySortBy = generateEmptySortBy();\n\t\tupdatedSortByModel = [emptySortBy];\n\t}\n\n\tupdateState({\n\t\tsortByModel: updatedSortByModel,\n\t});\n\n\tconst nextIdToFocus = getNextSortByModelIdToFocus({\n\t\tid,\n\t\tsortByModel,\n\t\tupdatedSortByModel,\n\t});\n\n\tif (nextIdToFocus) {\n\t\tfocusAfterRemoveSortRow({\n\t\t\tfromLastRow: sortByModel[sortByModel.length - 1].id === id, // to handle a special case\n\t\t\thost,\n\t\t\tnextIdToFocus,\n\t\t\tupdatedSortByModel,\n\t\t\tupdateState,\n\t\t});\n\t}\n\n\tdispatch(SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED, {\n\t\tmodelType: DECODED_QUERY_MODEL_TYPE.SORT_BY,\n\t\tvalue: updatedSortByModel,\n\t});\n};\n\nconst updateSortByModel = (coeffects) => {\n\tconst {\n\t\tproperties: { sortByModel, fixedSortByModel },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst ensureIds = (items) =>\n\t\tArray.isArray(items) && items.length > 0\n\t\t\t? items.map((item) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tid: item.id || uuid(),\n\t\t\t  }))\n\t\t\t: [];\n\n\tconst updatedFixedSortByModel = ensureIds(fixedSortByModel);\n\n\tlet updatedSortByModel = ensureIds(sortByModel);\n\tif (updatedSortByModel.length === 0) {\n\t\tupdatedSortByModel = [generateEmptySortBy()];\n\t}\n\n\tupdateState({\n\t\tsortByModel: updatedSortByModel,\n\t\tfixedSortByModel: updatedFixedSortByModel,\n\t});\n};\n\nconst handleComponentBootstrap = (coeffects) => {\n\tupdateSortByModel(coeffects);\n};\n\nconst handleSortBySetFocus = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { sortByRowId },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'sortByRowIdToFocus',\n\t\t\tvalue: sortByRowId,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t\tdispatch,\n\t\tlogger,\n\t\tproperties: { sortByModel, source },\n\t} = coeffects;\n\n\tif (name === SORT_BY_MODEL || name === FIXED_SORT_BY_MODEL) {\n\t\tupdateSortByModel(coeffects);\n\t\tconst fieldTypesAndOrderByTypes = buildMetadata(sortByModel, logger);\n\t\tconst metadata = { fieldTypesAndOrderByTypes, table: source };\n\t\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\t\teventName: SORT_BY_EVENT,\n\t\t\tmetadata,\n\t\t});\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: handleRowAddButtonClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleRowRemoveButtonClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SORT_BY_FIELD_UPDATED]: {\n\t\teffect: handleFieldUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SORT_BY_TYPE_UPDATED]: {\n\t\teffect: handleTypeUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SORT_BY_SET_FOCUS]: {\n\t\teffect: handleSortBySetFocus,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport last from 'lodash/last';\n\nimport {\n\tSN_SORT_BY_FIELD_UPDATED,\n\tSN_SORT_BY_TYPE_UPDATED,\n\tSN_SORT_BY_SET_FOCUS,\n} from '../sn-sort-by/actionTypes';\nimport {\n\tNOW_DROPDOWN_ITEM_CLICKED,\n\tSN_DOT_WALK_PATH_UPDATED,\n} from '../sn-value-editor-commons/actionTypes';\n\nconst { COMPONENT_TREE_RENDERED } = actionTypes;\n\nconst getSnDotWalkPopover = (host) => {\n\treturn host?.shadowRoot?.querySelector(\n\t\t`.sn-sort-by-row-selector-container sn-dot-walk-popover`\n\t);\n};\n\nconst getSnDotWalkPopoverButton = (snDotWalkPopover) => {\n\treturn snDotWalkPopover?.shadowRoot?.querySelector(`now-popover button`);\n};\n\nconst handleComponentTreeRendered = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tpreviousRenderProperties: {\n\t\t\t\t\tsortByRowIdToFocus: previousSortByRowIdToFocus,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tproperties: { sortData, sortByRowIdToFocus },\n\t\thost,\n\t} = coeffects;\n\n\tif (!previousSortByRowIdToFocus && sortByRowIdToFocus === sortData?.id) {\n\t\tconst snDotWalkPopover = getSnDotWalkPopover(host);\n\t\tconst snDotWalkPopoverButton = getSnDotWalkPopoverButton(\n\t\t\tsnDotWalkPopover\n\t\t);\n\n\t\tif (snDotWalkPopoverButton) snDotWalkPopoverButton.focus();\n\t\tdispatch(SN_SORT_BY_SET_FOCUS, { sortByRowId: null });\n\t}\n};\n\nconst handleDotWalkPathUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tcurrentSelectedItemInternalValue,\n\t\t\t\tcurrentSelectedItemDisplayValue,\n\t\t\t\tdotWalkPath,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tproperties: {\n\t\t\tmetadataCache,\n\t\t\tsortData: { id },\n\t\t},\n\t} = coeffects;\n\n\tconst { internalValue = '', source = '' } = last(dotWalkPath);\n\tlet type = get(\n\t\tmetadataCache,\n\t\t`tableMetadata.${source}.${internalValue}.type`,\n\t\t''\n\t);\n\n\t// actual type will be coming from the selected variable\n\tif (currentSelectedItemInternalValue === 'variables') {\n\t\ttype = currentSelectedItemInternalValue;\n\t}\n\n\tdispatch(SN_SORT_BY_FIELD_UPDATED, {\n\t\tdotWalkPayload: {\n\t\t\tcurrentSelectedItemInternalValue,\n\t\t\tcurrentSelectedItemDisplayValue,\n\t\t\tdotWalkPath,\n\t\t},\n\t\tid,\n\t\ttype,\n\t});\n};\n\nconst handleDropdownItemClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { item },\n\t\t},\n\t\tdispatch,\n\t\tproperties: {\n\t\t\tsortData: { id },\n\t\t},\n\t} = coeffects;\n\n\tconst operator = item?.id;\n\tdispatch(SN_SORT_BY_TYPE_UPDATED, {\n\t\toperator,\n\t\tid,\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_TREE_RENDERED]: {\n\t\teffect: handleComponentTreeRendered,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DROPDOWN_ITEM_CLICKED]: {\n\t\teffect: handleDropdownItemClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_DOT_WALK_PATH_UPDATED]: {\n\t\teffect: handleDotWalkPathUpdated,\n\t\tstopPropagation: true,\n\t},\n};\n","import '@servicenow/now-button';\nimport '@servicenow/now-dot-walk';\nimport '@servicenow/now-dropdown';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport '../sn-dot-walk-popover';\nimport { UNKNOWN_DYNAMIC_CATEGORY_VALUE_MESSAGE } from '../now-condition-builder-row/constants';\nimport { hasUncategorizedAttribute } from '../now-condition-builder-row/utils';\nimport {\n\tgetFilteredPanelDefinitions,\n\tfilterKeywordsFn,\n} from '../sn-value-editor-commons/utils';\n\nimport {\n\tDEFAULT_DISPLAY_VALUE,\n\tFIELD_LABEL,\n\tOPERATORS,\n\tREMOVE_ICON_TOOLTIP,\n} from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tisLocked,\n\t\t\tisOnlyRow,\n\t\t\tmetadataCache,\n\t\t\tpanelDefinitions,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t\tsortData: {\n\t\t\t\tfield: {\n\t\t\t\t\tdisplayValue,\n\t\t\t\t\tdotwalkPath,\n\t\t\t\t\tinternalValue,\n\t\t\t\t\ttype: fieldType,\n\t\t\t\t},\n\t\t\t\tid,\n\t\t\t\ttype: orderType,\n\t\t\t},\n\t\t\tsource,\n\t\t},\n\t} = state;\n\tconst isDeleteReadOnly = (fieldType === undefined && isOnlyRow) || readOnly;\n\tconst tooltipOrderType = orderType.toLowerCase();\n\n\tconst type = get(\n\t\tmetadataCache,\n\t\t`tableMetadata.${source}.${internalValue}.type`,\n\t\t''\n\t);\n\n\tconst tableMetadata = get(metadataCache, `tableMetadata`, '');\n\n\tconst filteredPanelDefinitions = getFilteredPanelDefinitions({\n\t\tpanelDefinitions,\n\t\ttableMetadata,\n\t\tfieldType: type,\n\t\ttransformFunctions: [filterKeywordsFn],\n\t});\n\n\tlet isReadOnly = readOnly;\n\tconst messages = [];\n\tif (hasUncategorizedAttribute(dotwalkPath)) {\n\t\tisReadOnly = true;\n\t\tmessages.push(UNKNOWN_DYNAMIC_CATEGORY_VALUE_MESSAGE);\n\t}\n\n\treturn (\n\t\t<div className=\"sn-sort-by-row-selector-container\">\n\t\t\t<sn-dot-walk-popover\n\t\t\t\tdisplayValue={displayValue || DEFAULT_DISPLAY_VALUE}\n\t\t\t\tdotwalkPath={dotwalkPath}\n\t\t\t\tfieldInternalValue={internalValue}\n\t\t\t\tlabel={FIELD_LABEL}\n\t\t\t\tpanelDefinitions={filteredPanelDefinitions}\n\t\t\t\treadOnly={isReadOnly}\n\t\t\t\tshowLabels={showLabels}\n\t\t\t\tsource={source}\n\t\t\t\tisLocked={isLocked}\n\t\t\t/>\n\t\t\t<div className=\"sn-sort-by-row-action-buttons\">\n\t\t\t\t<now-dropdown\n\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\thideLabel=\"true\"\n\t\t\t\t\ticon=\"sort-ascending-outline\"\n\t\t\t\t\titems={OPERATORS}\n\t\t\t\t\tselectedItems={[orderType]}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ttooltipContent={t('Sort {0}', tooltipOrderType)}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t/>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tappendToPayload={{ id }}\n\t\t\t\t\tbare={true}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': t('Remove {displayValue} field', {\n\t\t\t\t\t\t\tdisplayValue,\n\t\t\t\t\t\t}),\n\t\t\t\t\t}}\n\t\t\t\t\tdata-test=\"remove-sort-by-row-button\"\n\t\t\t\t\tdisabled={isDeleteReadOnly}\n\t\t\t\t\ticon=\"trash-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ttooltipContent={REMOVE_ICON_TOOLTIP}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t<sn-condition-builder-row-messages\n\t\t\t\tdata-testId=\"sort-by-warning-messages\"\n\t\t\t\tmessages={messages}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-sort-by-row', {\n\tactionHandlers,\n\tproperties: {\n\t\tmetadataCache: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tisLocked: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tisOnlyRow: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\tsortByRowIdToFocus: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\tsortData: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tsource: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tstyles,\n\tview,\n});\n","import '@servicenow/now-button';\n\nimport '../sn-sort-by-row';\n\nimport { BUTTON_LABEL } from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tmetadataCache,\n\t\t\tpanelDefinitions,\n\t\t\treadOnly,\n\t\t\tshowLabels,\n\t\t\tsource,\n\t\t},\n\t\tfixedSortByModel,\n\t\tsortByModel: sortByModelFromProps,\n\t\tsortByRowIdToFocus,\n\t} = state;\n\n\tconst renderSortByRow = (sortByModel, isReadOnly) => {\n\t\tif (!sortByModel || sortByModel.length === 0) return null;\n\n\t\treturn (\n\t\t\t<div className=\"sort-container\">\n\t\t\t\t{sortByModel.map((sort) => {\n\t\t\t\t\tconst { id } = sort;\n\t\t\t\t\tconst indexOfSortRow = sortByModel.findIndex(\n\t\t\t\t\t\t(item) => item.id === id\n\t\t\t\t\t);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<sn-sort-by-row\n\t\t\t\t\t\t\tdata-sort={`sort-by-row-index-${indexOfSortRow}`}\n\t\t\t\t\t\t\tdata-test=\"sort-by-row\"\n\t\t\t\t\t\t\tisOnlyRow={sortByModel.length === 1}\n\t\t\t\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\t\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\t\t\t\t\treadOnly={isReadOnly}\n\t\t\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\t\t\tsortByRowIdToFocus={sortByRowIdToFocus}\n\t\t\t\t\t\t\tsortData={sort}\n\t\t\t\t\t\t\tsource={source}\n\t\t\t\t\t\t\tisLocked={isReadOnly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className=\"sn-sort-by-container\">\n\t\t\t{renderSortByRow(fixedSortByModel, true)}\n\n\t\t\t{renderSortByRow(sortByModelFromProps, readOnly)}\n\n\t\t\t<div className=\"button-container\">\n\t\t\t\t<now-button\n\t\t\t\t\tdata-test=\"add-sort-by-button\"\n\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\ticon=\"plus-fill\"\n\t\t\t\t\tlabel={BUTTON_LABEL}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { uuid } from '../../../commons/utils/uuid';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-sort-by', {\n\tactionHandlers,\n\tinitialState: {\n\t\tsortByModel: [\n\t\t\t{\n\t\t\t\tfield: {\n\t\t\t\t\tdisplayValue: '',\n\t\t\t\t\tdotwalkPath: [],\n\t\t\t\t\tinternalValue: '',\n\t\t\t\t},\n\t\t\t\tid: uuid(),\n\t\t\t\ttype: 'ASCENDING',\n\t\t\t},\n\t\t],\n\t\tsortByRowIdToFocus: '',\n\t},\n\tproperties: {\n\t\tfixedSortByModel: {\n\t\t\tschema: { type: 'array' },\n\t\t\tdefault: [],\n\t\t},\n\t\tmetadataCache: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: { default: {} },\n\t\treadOnly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false,\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true,\n\t\t},\n\t\tsortByModel: {\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t\tsource: { schema: { type: 'string' }, default: '' },\n\t},\n\tstyles: styles,\n\tview,\n});\n","// DON'T CHANGE, USED TO CREATE THE STATE\nexport const BEHAVIOR_NAME = 'conditionBuilderConnectedBehavior';\n\n// Databroker HTTP constants\nexport const DB_API_EXEC_REST_URL = '/api/now/uxf/databroker/exec';\nexport const GRAPHQL_DATA_BROKER_TYPE = 'GRAPHQL';\n","// DON'T CHANGE, USED TO CREATE THE STATE\nexport const BEHAVIOR_NAME = 'decodeEncodedQueryBehavior';\n\nexport const NOW_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY =\n\t'NOW_PREDICATE_BUILDER_BEHAVIOR#DECODE_ENCODED_QUERY';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_FAILED =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#DECODE_ENCODED_QUERY_FAILED';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_REQUESTED =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#DECODE_ENCODED_QUERY_REQUESTED';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_SUCCESS =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#DECODE_ENCODED_QUERY_SUCCESS';\n\n// This is what the controller dispatches out.\n// Since we're copying it, this behavior will catch it and redispatch it\nexport const NOW_PREDICATE_BUILDER_CTRL_DECODED_QUERY_UPDATED =\n\t'NOW_PREDICATE_BUILDER_CTRL#DECODED_QUERY_UPDATED';\n\n// Behavior redispatch of DECODED_QUERY_UPDATED above\nexport const NOW_PREDICATE_BUILDER_BEHAVIOR_DECODED_QUERY_UPDATED =\n\t'NOW_PREDICATE_BUILDER_BEHAVIOR#DECODED_QUERY_UPDATED';\n\nexport const DECODE_ENCODED_QUERY_DATA_BROKER_ID =\n\t'3c1bc333a3432110f8546721c31e6145';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","/**\n * sys_ux_client_script_988af7e9a34f3110ceb06eec041e61ac.xml\n * Takes any graphQL or server errors and updates the state appropriately.\n *\n * @param {*} api object that proxies UIB's setState/emit using updateState/dispatch\n * @param {*} event object that proxies UIB's graphQL data\n * @param {*} helpers object that proxies UIB's translate function\n */\nexport const handleFetchFailedClientScript = async ({\n\tapi,\n\tevent,\n\thelpers,\n}) => {\n\tconst eventId = event?.payload?.dataElemId;\n\tconst serverError = event?.payload?.errors?.[0]?.message;\n\tlet header;\n\tlet content;\n\n\tswitch (eventId) {\n\t\tcase 'predicate_builder_controller_fetch_panel_definitions': {\n\t\t\theader = await helpers.translate(\n\t\t\t\t'Error fetching panel definitions'\n\t\t\t);\n\t\t\tcontent = serverError\n\t\t\t\t? serverError\n\t\t\t\t: await helpers.translate(\n\t\t\t\t\t\t'Unknown error fetching panel definitions'\n\t\t\t\t  );\n\t\t\tbreak;\n\t\t}\n\t\tcase 'predicate_builder_controller_fetch_table_metadata': {\n\t\t\theader = await helpers.translate('Error fetching table metadata');\n\t\t\tcontent = serverError\n\t\t\t\t? serverError\n\t\t\t\t: await helpers.translate(\n\t\t\t\t\t\t'Unknown error fetching table metadata'\n\t\t\t\t  );\n\t\t\tbreak;\n\t\t}\n\t\tcase 'predicate_builder_controller_decode_encoded_query_string': {\n\t\t\theader = await helpers.translate(\n\t\t\t\t'Error decoding encoded query string'\n\t\t\t);\n\t\t\tcontent = serverError\n\t\t\t\t? serverError\n\t\t\t\t: await helpers.translate(\n\t\t\t\t\t\t'Unknown error decoding encoded query string'\n\t\t\t\t  );\n\t\t\tbreak;\n\t\t}\n\t\tcase 'predicate_builder_controller_encode_decoded_query': {\n\t\t\theader = await helpers.translate('Error encoding decoded query');\n\t\t\tcontent = serverError\n\t\t\t\t? serverError\n\t\t\t\t: await helpers.translate(\n\t\t\t\t\t\t'Unknown error encoding decoded query'\n\t\t\t\t  );\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\theader = await helpers.translate('Unknown error');\n\t\t\tcontent = serverError\n\t\t\t\t? serverError\n\t\t\t\t: await helpers.translate('Unknown network error');\n\t\t\tbreak;\n\t}\n\n\tconst infoMessages = [\n\t\t{\n\t\t\tstatus: 'critical',\n\t\t\theader,\n\t\t\tcontent,\n\t\t},\n\t];\n\n\tapi.setState('infoMessages', infoMessages);\n};\n","import get from 'lodash/get';\nimport { t } from 'sn-translate';\n\n/**\n * Returns if the current environment is currently running tests\n * @returns {boolean}\n */\nexport const isTestMode = () => {\n\tif (\n\t\ttypeof process !== 'undefined' &&\n\t\tprocess !== null &&\n\t\tprocess.env?.NODE_ENV\n\t) {\n\t\treturn (\n\t\t\tprocess.env.NODE_ENV === 'test' ||\n\t\t\tprocess.env.FUNCTIONAL_TEST === 'true'\n\t\t);\n\t}\n\treturn false;\n};\n\n/**\n * Converts a normal, easy-to-use event payload into the data broker REST api's convoluted, ugly payload.\n * @param {*} payload in key value pair, i.e. { aKey: 'a' }\n * @returns ugly payload, i.e. { aKey: { type: 'JSON_LITERAL', value: 'a' } }\n */\nexport const convertObjectToDatabrokerParamsFormat = (payload) => {\n\tconst inputValues = {};\n\n\tObject.keys(payload).forEach((key) => {\n\t\tinputValues[key] = {\n\t\t\ttype: 'JSON_LITERAL',\n\t\t\tvalue: payload[key],\n\t\t};\n\t});\n\n\treturn inputValues;\n};\n\nexport const convertDatabrokerParamsToObjectFormat = (params) => {\n\tconst original = {};\n\n\tObject.keys(params).forEach((key) => {\n\t\toriginal[key] = params[key].value;\n\t});\n\n\treturn original;\n};\n\n/**\n * Creates a proxy object to map the UIB API to the seismic API\n * @param {*} behaviorName used to know where to store the state\n * @param {*} coeffects\n * @returns proxy object to be used in the success client scripts\n */\nexport const createClientScriptProxyObject = (behaviorName, coeffects) => {\n\tconst { action, dispatch, properties, updateState } = coeffects;\n\n\t// Extract the original payload so we can dispatch it with the result\n\tconst params = get(action, `meta.request.data[0].inputValues`);\n\tconst additionalPayload = params\n\t\t? convertDatabrokerParamsToObjectFormat(params)\n\t\t: {};\n\n\tconst data = get(action, `payload.result[0].executionResult`, {});\n\n\treturn {\n\t\tapi: {\n\t\t\tsetState: (path, value) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: `behaviors.${behaviorName}.${path}`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t});\n\t\t\t},\n\t\t\temit: (eventName, payload) => {\n\t\t\t\tdispatch(eventName, { ...additionalPayload, ...payload });\n\t\t\t},\n\t\t\tcontext: {\n\t\t\t\t// be careful when using this, not everything in props is available in the UIB context\n\t\t\t\t// and we want to make sure we are only using properties that are\n\t\t\t\tprops: properties,\n\t\t\t},\n\t\t},\n\t\tevent: {\n\t\t\tpayload: {\n\t\t\t\tdata,\n\t\t\t},\n\t\t},\n\t\thelpers: {\n\t\t\ttranslate: (msg) => new Promise((resolve) => resolve(t(msg))),\n\t\t},\n\t};\n};\n\n/**\n * Creates a proxy object to map the UIB API to the seismic API for the failure client script\n * @param {*} behaviorName used to know where to store the state\n * @param {*} coeffects\n * @param {*} dataElemId the dataBrokerSysId of the call that failed\n * @returns proxy object to be used in the failure client script\n */\nexport const createFailureClientScriptProxyObject = ({\n\tbehaviorName,\n\tcoeffects,\n\tdataElemId,\n}) => {\n\tconst {\n\t\taction: { payload },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst message = get(payload, 'message');\n\n\treturn {\n\t\tapi: {\n\t\t\tsetState: (path, value) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: `behaviors.${behaviorName}.${path}`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\tevent: {\n\t\t\tpayload: {\n\t\t\t\tdataElemId,\n\t\t\t\terrors: [\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\thelpers: {\n\t\t\ttranslate: (msg) => new Promise((resolve) => resolve(t(msg))),\n\t\t},\n\t};\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport get from 'lodash/get';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nimport { FIXED_QUERY_MODE } from '../../../components/sn-condition-builder/constants';\nimport { DB_API_EXEC_REST_URL, GRAPHQL_DATA_BROKER_TYPE } from '../constants';\nimport { handleFetchFailedClientScript } from '../fetchFailedClientScript';\nimport {\n\tcreateFailureClientScriptProxyObject,\n\tcreateClientScriptProxyObject,\n\tconvertObjectToDatabrokerParamsFormat,\n} from '../utils';\n\nimport {\n\tBEHAVIOR_NAME,\n\tDECODE_ENCODED_QUERY_DATA_BROKER_ID,\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY,\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_DECODED_QUERY_UPDATED,\n\tNOW_PREDICATE_BUILDER_CTRL_DECODED_QUERY_UPDATED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_REQUESTED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_SUCCESS,\n} from './constants';\nimport { handleDecodeEncodedQuerySuccessClientScript } from './decodeEncodedQuerySuccessClientScript';\n\n/**\n * If options.disableFetchOnBootstrap is true (FALSE by default), then fetch the decodedQuery\n * using the encodedQuery prop on bootstrap\n * @param {*} coeffects\n */\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { options },\n\t\t},\n\t\tproperties: {\n\t\t\tencodedQuery,\n\t\t\tfixedEncodedQuery,\n\t\t\tfixedQueryMode,\n\t\t\ttableName,\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (options?.disableFetchOnBootstrap) {\n\t\treturn;\n\t}\n\n\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY, {\n\t\tencodedQuery,\n\t\tfixedEncodedQuery,\n\t\tfixedQueryMode,\n\t\ttableName,\n\t});\n};\n\n/**\n * If options.disableFetchOnPropertyChanged is true (FALSE by default), then fetch the decodedQuery\n * using the encodedQuery prop on property change\n * @param {*} coeffects\n */\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, options },\n\t\t},\n\t\tproperties: { encodedQuery, fixedEncodedQuery, tableName },\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (options?.disableFetchOnPropertyChanged) {\n\t\treturn;\n\t}\n\n\tif (\n\t\tname === 'encodedQuery' ||\n\t\tname === 'fixedEncodedQuery' ||\n\t\tname === 'tableName'\n\t) {\n\t\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY, {\n\t\t\tencodedQuery,\n\t\t\tfixedEncodedQuery,\n\t\t\ttableName,\n\t\t});\n\t}\n};\n\n/**\n * Event handler to call the data broker REST endpoint to retrieve the decodedQuery\n * @param {*} coeffects\n */\nconst handleDecodeEncodedQuery = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tencodedQuery,\n\t\t\t\tfixedEncodedQuery,\n\t\t\t\tfixedQueryMode,\n\t\t\t\ttableName,\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\n\t// Recreating because payload may have unnecessary data\n\tconst payload = {\n\t\tencodedQuery,\n\t\tfixedEncodedQuery,\n\t\tfixedQueryMode,\n\t\ttableName,\n\t};\n\n\tconst inputValues = convertObjectToDatabrokerParamsFormat(payload);\n\n\tconst data = [\n\t\t{\n\t\t\ttype: GRAPHQL_DATA_BROKER_TYPE,\n\t\t\tdefinitionSysId: DECODE_ENCODED_QUERY_DATA_BROKER_ID,\n\t\t\tinputValues,\n\t\t},\n\t];\n\n\tdispatch(SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_REQUESTED, {\n\t\tdata,\n\t});\n};\n\n/**\n * Event handler to handle the decodedQuery response when successful.\n * Creates a proxy object to copy UIB's API and calls the copy client script to update state.\n * @param {*} behaviorName Name of behavior, used to specify where update states will be\n */\nexport const handleDecodeEncodedQuerySuccess = (behaviorName) => (\n\tcoeffects\n) => {\n\tconst {\n\t\taction: { payload },\n\t} = coeffects;\n\n\tconst params = createClientScriptProxyObject(behaviorName, coeffects);\n\n\t// this data broker is a unique case because it has an output instead of event handler\n\tconst data = get(payload, 'result[0].executionResult', {});\n\n\tparams.api.data = {\n\t\tpredicate_builder_controller_decode_encoded_query_string: data,\n\t};\n\n\thandleDecodeEncodedQuerySuccessClientScript(params);\n};\n\n/**\n * Event handler to handle the decodedQuery response when it fails.\n * Creates a proxy object to copy UIB's API and calls the fail copy client script to update state.\n * @param {*} behaviorName Name of behavior, used to specify where update states will be\n */\nexport const handleDecodeEncodedQueryFailed = (behaviorName) => (coeffects) => {\n\tconst params = createFailureClientScriptProxyObject({\n\t\tbehaviorName,\n\t\tcoeffects,\n\t\tdataElemId: 'predicate_builder_controller_decode_encoded_query_string',\n\t});\n\n\thandleFetchFailedClientScript(params);\n};\n\n/**\n * Redispatches the decodedQuery action to contain the NOW_PREDICATE_BUILDER_BEHAVIOR namespace\n * @param {*} coeffects\n */\nconst handleDecodedQueryUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { decodedQuery, encodedQuery, infoMessages },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_DECODED_QUERY_UPDATED, {\n\t\tdecodedQuery,\n\t\tencodedQuery,\n\t\tinfoMessages,\n\t});\n};\nexport default {\n\tname: BEHAVIOR_NAME,\n\tsetInitialState: () => ({\n\t\tinfoMessages: [],\n\t}),\n\tproperties: {\n\t\tencodedQuery: {\n\t\t\tdefault: '',\n\t\t},\n\t\tfixedEncodedQuery: {\n\t\t\tdefault: '',\n\t\t},\n\t\tfixedQueryMode: {\n\t\t\tdefault: FIXED_QUERY_MODE.SIMPLE,\n\t\t},\n\t\ttableName: {\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: handleComponentBootstrap,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: handlePropertyChanged,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY]: {\n\t\t\teffect: handleDecodeEncodedQuery,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_REQUESTED]: {\n\t\t\t...createHttpEffect(DB_API_EXEC_REST_URL, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbatch: false,\n\t\t\t\tdataParam: 'data',\n\t\t\t\tsuccessActionType: SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_SUCCESS,\n\t\t\t\terrorActionType: SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_FAILED,\n\t\t\t}),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_SUCCESS]: {\n\t\t\teffect: handleDecodeEncodedQuerySuccess(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_FAILED]: {\n\t\t\teffect: handleDecodeEncodedQueryFailed(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_CTRL_DECODED_QUERY_UPDATED]: {\n\t\t\teffect: handleDecodedQueryUpdated,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","/**\n * The content of each of these functions are directly copied from the client scripts\n * in src/main/plugins/update. This is the same code used to transform the objects\n * when using the predicate builder controller in UIB.\n */\n\n/**\n * sys_ux_client_script_90f0a400a3533110ceb06eec041e61ae.xml\n * Takes the decodedEncodedQuery graphQL object (array of keys) and transforms it into an object.\n *\n * @param {*} api object that proxies UIB's setState/emit using updateState/dispatch\n * @param {*} event object that proxies UIB's graphQL data\n * @param {*} helpers object that proxies UIB's translate function\n */\nexport const handleDecodeEncodedQuerySuccessClientScript = async ({\n\tapi,\n\thelpers,\n}) => {\n\ttry {\n\t\tconst output =\n\t\t\tapi.data.predicate_builder_controller_decode_encoded_query_string\n\t\t\t\t.output;\n\t\tconst { fixedQueryMode } = api.context.props;\n\n\t\tconst queryPayload = output.data.GlidePredicateBuilder_Query;\n\t\tconst { getDecodedQuery } = queryPayload;\n\t\tconst decodedQuery = getDecodedQuery?.decodedQuery || {};\n\t\tconst queryInfoMessages = getDecodedQuery?.infoMessages || [];\n\t\tconst newDecodedQuery = { ...decodedQuery };\n\n\t\tnewDecodedQuery.conditions?.forEach(\n\t\t\t({ conditionMetadataList = [] }, index) => {\n\t\t\t\tconst updatedCondition = newDecodedQuery.conditions[index];\n\n\t\t\t\tconst conditionMetadata = {};\n\t\t\t\tconditionMetadataList.forEach(({ key, value }) => {\n\t\t\t\t\tconditionMetadata[key] = value;\n\t\t\t\t});\n\n\t\t\t\tupdatedCondition.conditionMetadata = conditionMetadata;\n\t\t\t\tdelete updatedCondition.conditionMetadataList;\n\t\t\t}\n\t\t);\n\n\t\t// Handle optional fixed decoded query\n\t\t// GlidePredicateBuilder_FixedQuery is an alias to GlidePredicateBuilder_Query\n\t\tconst fixedQueryPayload = output.data.GlidePredicateBuilder_FixedQuery;\n\t\tconst { getDecodedQuery: getFixedDecodedQuery } = fixedQueryPayload;\n\t\tconst fixedDecodedQuery = getFixedDecodedQuery?.decodedQuery || {};\n\t\tconst fixedQueryInfoMessages = fixedDecodedQuery?.infoMessages || [];\n\t\tconst newFixedDecodedQuery = { ...fixedDecodedQuery };\n\n\t\tnewFixedDecodedQuery.conditions?.forEach(\n\t\t\t({ conditionMetadataList = [] }, index) => {\n\t\t\t\tconst updatedCondition = newFixedDecodedQuery.conditions[index];\n\t\t\t\tconst conditionMetadata = {};\n\t\t\t\tconditionMetadataList.forEach(({ key, value }) => {\n\t\t\t\t\tconditionMetadata[key] = value;\n\t\t\t\t});\n\n\t\t\t\tupdatedCondition.conditionMetadata = conditionMetadata;\n\t\t\t\tdelete updatedCondition.conditionMetadataList;\n\t\t\t}\n\t\t);\n\n\t\t// Converts from { name: 'foo', value: 'bar' } => {foo: bar}\n\t\t// and puts it into the dynamicSchemaData object\n\t\tconst mapDynamicSchemaData = (field) => {\n\t\t\tif (!field.dynamicSchemaData) {\n\t\t\t\treturn field;\n\t\t\t}\n\n\t\t\tconst newField = { ...field };\n\n\t\t\tconst dynamicSchemaData = {};\n\t\t\tfield.dynamicSchemaData.forEach((item) => {\n\t\t\t\tdynamicSchemaData[item.name] = item.value;\n\t\t\t});\n\n\t\t\tnewField.dynamicSchemaData = dynamicSchemaData;\n\t\t\treturn newField;\n\t\t};\n\n\t\t// Merges two tableMetadatas, the fixedDecodedQuery and decodedQuery could have\n\t\t// the same table but different fields so we don't want to override\n\t\tconst combineTableMetadata = (\n\t\t\ttableMetadata = [],\n\t\t\tfixedQueryTableMetadata = []\n\t\t) => {\n\t\t\tconst combinedMetadata = {};\n\n\t\t\t// Process both metadata arrays\n\t\t\t[...tableMetadata, ...fixedQueryTableMetadata].forEach(\n\t\t\t\t(metadata) => {\n\t\t\t\t\tconst { name, fieldMetadata = [] } = metadata;\n\t\t\t\t\tconst tableItem = {};\n\n\t\t\t\t\t// Process each field in the field metadata\n\t\t\t\t\tfieldMetadata.forEach((field) => {\n\t\t\t\t\t\ttableItem[field.name] = mapDynamicSchemaData(field);\n\t\t\t\t\t});\n\n\t\t\t\t\t// If table already exists, merge the field metadata\n\t\t\t\t\tif (combinedMetadata[name]) {\n\t\t\t\t\t\tcombinedMetadata[name] = {\n\t\t\t\t\t\t\t...combinedMetadata[name],\n\t\t\t\t\t\t\t...tableItem,\n\t\t\t\t\t\t};\n\t\t\t\t\t\t// Then add __internalMetadata to all new fields\n\t\t\t\t\t\tfor (const field in tableItem) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!combinedMetadata[name][field]\n\t\t\t\t\t\t\t\t\t.__internalTableMetadata\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tcombinedMetadata[name][\n\t\t\t\t\t\t\t\t\tfield\n\t\t\t\t\t\t\t\t].__internalTableMetadata = {\n\t\t\t\t\t\t\t\t\t...combinedMetadata[name][field],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst newTableItem = { ...tableItem };\n\t\t\t\t\t\tfor (const field in newTableItem) {\n\t\t\t\t\t\t\tnewTableItem[field] = {\n\t\t\t\t\t\t\t\t...newTableItem[field],\n\t\t\t\t\t\t\t\t__internalTableMetadata: {\n\t\t\t\t\t\t\t\t\t...newTableItem[field],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcombinedMetadata[name] = newTableItem;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\treturn combinedMetadata;\n\t\t};\n\n\t\t// Convert table metadata graphQL array to object\n\t\tconst newTableMetadata = combineTableMetadata(\n\t\t\tgetDecodedQuery?.tableMetadata,\n\t\t\tgetFixedDecodedQuery?.tableMetadata\n\t\t);\n\n\t\t// Combine info messages\n\t\tconst infoMessages = [...queryInfoMessages, ...fixedQueryInfoMessages];\n\n\t\tapi.setState('decodedQuery', newDecodedQuery);\n\t\tapi.setState('fixedDecodedQuery', newFixedDecodedQuery);\n\t\tapi.setState('tableMetadata', newTableMetadata);\n\t\tapi.setState('infoMessages', infoMessages);\n\n\t\tapi.emit('NOW_PREDICATE_BUILDER_CTRL#DECODED_QUERY_UPDATED', {\n\t\t\tdecodedQuery: newDecodedQuery,\n\t\t\tfixedDecodedQuery: newFixedDecodedQuery,\n\t\t\tfixedQueryMode,\n\t\t\tinfoMessages,\n\t\t});\n\t} catch (error) {\n\t\tconst translatedHeader = await helpers.translate(\n\t\t\t'Error decoding encoded query string'\n\t\t);\n\t\tconst infoMessages = [\n\t\t\t{\n\t\t\t\tstatus: 'ERROR',\n\t\t\t\theader: translatedHeader,\n\t\t\t\tcontent: error.message,\n\t\t\t},\n\t\t];\n\n\t\tapi.setState('infoMessages', infoMessages);\n\t}\n};\n","// DON'T CHANGE, USED TO CREATE THE STATE\nexport const BEHAVIOR_NAME = 'encodeDecodedQueryBehavior';\n\nexport const NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY =\n\t'NOW_PREDICATE_BUILDER_BEHAVIOR#ENCODE_DECODED_QUERY';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_FAILED =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#ENCODE_DECODED_QUERY_FAILED';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_REQUESTED =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#ENCODE_DECODED_QUERY_REQUESTED';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_SUCCESS =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#ENCODE_DECODED_QUERY_SUCCESS';\n\n// This is what the controller dispatches out.\n// Since we're copying it, this behavior will catch it and redispatch it\nexport const NOW_PREDICATE_BUILDER_CTRL_ENCODED_QUERY_UPDATED =\n\t'NOW_PREDICATE_BUILDER_CTRL#ENCODED_QUERY_UPDATED';\n\n// Behavior redispatch of ENCODED_QUERY_UPDATED above\nexport const NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODED_QUERY_UPDATED =\n\t'NOW_PREDICATE_BUILDER_BEHAVIOR#ENCODED_QUERY_UPDATED';\n\nexport const ENCODE_DECODED_QUERY_DATA_BROKER_ID =\n\t'92897ae4a3133110ceb06eec041e61f7';\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\n\nimport { DB_API_EXEC_REST_URL, GRAPHQL_DATA_BROKER_TYPE } from '../constants';\nimport { handleFetchFailedClientScript } from '../fetchFailedClientScript';\nimport {\n\tcreateFailureClientScriptProxyObject,\n\tcreateClientScriptProxyObject,\n\tconvertObjectToDatabrokerParamsFormat,\n\tisTestMode,\n} from '../utils';\n\nimport {\n\tBEHAVIOR_NAME,\n\tENCODE_DECODED_QUERY_DATA_BROKER_ID,\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY,\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_ENCODED_QUERY_UPDATED,\n\tNOW_PREDICATE_BUILDER_CTRL_ENCODED_QUERY_UPDATED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_REQUESTED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_SUCCESS,\n} from './constants';\nimport { handleEncodeDecodedQuerySuccessClientScript } from './encodeDecodedQuerySuccessClientScript';\n\n/**\n * Function to strip the conditionId from the decodedQuery primarily to avoid sending it to the data broker\n * The dynamic conditionId is not needed by the data broker and causes the recording.har to be regenerated when running functional tests\n * @param {*} decodedQuery\n */\nfunction stripConditionId(decodedQuery) {\n\tif (!Array.isArray(decodedQuery?.conditions)) {\n\t\treturn decodedQuery;\n\t}\n\n\ttry {\n\t\treturn {\n\t\t\t...decodedQuery,\n\t\t\tconditions: decodedQuery.conditions.map((condition) => {\n\t\t\t\tconst { conditionId, ...otherProps } = condition || {};\n\n\t\t\t\tif (conditionId) {\n\t\t\t\t\treturn otherProps;\n\t\t\t\t}\n\n\t\t\t\treturn condition;\n\t\t\t}),\n\t\t};\n\t} catch (err) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error stripping conditionId from decodedQuery', err);\n\t\treturn decodedQuery;\n\t}\n}\n\n/**\n * Formats the decoded query and related data into the required payload format for the data broker.\n * Strips condition IDs in test mode to ensure consistent test results.\n *\n * @param {Object} params - The parameters object\n * @param {Object} params.decodedQuery - The main decoded query object\n * @param {Object} [params.fixedDecodedQuery] - Optional fixed decoded query object\n * @param {boolean} [params.fixedQueryMode=false] - Whether fixed query mode is enabled\n * @param {boolean} [params.useHasItemVariableSyntax=false] - Whether to use hasItem variable syntax\n * @returns {Array} An array containing the formatted data in databroker params format\n *\n * @example\n * const data = formatData({\n *   decodedQuery: { /* query object *\\/ },\n *   fixedDecodedQuery: { /* fixed query object *\\/ },\n *   fixedQueryMode: true,\n *   useHasItemVariableSyntax: false\n * });\n */\nexport function formatData({\n\tdecodedQuery,\n\tfixedDecodedQuery,\n\tfixedQueryMode,\n\tuseHasItemVariableSyntax,\n}) {\n\t// only strip conditionIds when running unit/functional tests\n\tconst updatedDecodedQuery = isTestMode()\n\t\t? stripConditionId(decodedQuery)\n\t\t: decodedQuery;\n\n\tconst updatedFixedDecodedQuery = isTestMode()\n\t\t? stripConditionId(fixedDecodedQuery)\n\t\t: fixedDecodedQuery;\n\n\tconst payload = {\n\t\tdecodedQuery: JSON.stringify(updatedDecodedQuery),\n\t\tfixedDecodedQuery: JSON.stringify(updatedFixedDecodedQuery),\n\t\tuseHasItemVariableSyntax,\n\t\tfixedQueryMode,\n\t};\n\tconst inputValues = convertObjectToDatabrokerParamsFormat(payload);\n\tconst data = [\n\t\t{\n\t\t\ttype: GRAPHQL_DATA_BROKER_TYPE,\n\t\t\tdefinitionSysId: ENCODE_DECODED_QUERY_DATA_BROKER_ID,\n\t\t\tinputValues,\n\t\t},\n\t];\n\n\treturn data;\n}\n\n/**\n * Event handler to call the data broker REST endpoint to retrieve the encodedQuery\n * @param {*} coeffects\n */\nconst handleEncodeDecodedQuery = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { decodedQuery, fixedDecodedQuery = {} },\n\t\t},\n\t\tproperties: { useHasItemVariableSyntax, fixedQueryMode },\n\t} = coeffects;\n\n\tconst data = formatData({\n\t\tdecodedQuery,\n\t\tfixedDecodedQuery,\n\t\tfixedQueryMode,\n\t\tuseHasItemVariableSyntax,\n\t});\n\n\tdispatch(SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_REQUESTED, {\n\t\tdata,\n\t});\n};\n\n/**\n * Event handler to handle the encodedQUery response when successful.\n * Creates a proxy object to copy UIB's API and calls the copy client script to update state.\n * @param {*} behaviorName Name of behavior, used to specify where update states will be\n */\nexport const handleEncodeDecodedQuerySuccess = (behaviorName) => (\n\tcoeffects\n) => {\n\tconst params = createClientScriptProxyObject(behaviorName, coeffects);\n\n\thandleEncodeDecodedQuerySuccessClientScript(params);\n};\n\n/**\n * Event handler to handle the encodedQuery response when it fails.\n * Creates a proxy object to copy UIB's API and calls the fail copy client script to update state.\n * @param {*} behaviorName Name of behavior, used to specify where update states will be\n */\nexport const handleEncodeDecodedQueryFailed = (behaviorName) => (coeffects) => {\n\tconst params = createFailureClientScriptProxyObject({\n\t\tbehaviorName,\n\t\tcoeffects,\n\t\tdataElemId: 'predicate_builder_controller_encode_decoded_query',\n\t});\n\n\thandleFetchFailedClientScript(params);\n};\n\n/**\n * Redispatches the encodedQuery action to contain the NOW_PREDICATE_BUILDER_BEHAVIOR namespace\n * @param {*} coeffects\n */\nconst handleEncodedQueryUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tcombinedEncodedQuery,\n\t\t\t\tdecodedQuery: decodedQueryString,\n\t\t\t\tencodedQuery,\n\t\t\t\tfixedDecodedQuery: fixedDecodedQueryString,\n\t\t\t\tinfoMessages,\n\t\t\t\tfixedEncodedQuery,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODED_QUERY_UPDATED, {\n\t\tcombinedEncodedQuery,\n\t\tdecodedQuery: decodedQueryString ? JSON.parse(decodedQueryString) : '',\n\t\tencodedQuery,\n\t\tfixedEncodedQuery,\n\t\tfixedDecodedQuery: fixedDecodedQueryString\n\t\t\t? JSON.parse(fixedDecodedQueryString)\n\t\t\t: '',\n\t\tinfoMessages,\n\t});\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tsetInitialState: () => ({\n\t\tinfoMessages: [],\n\t}),\n\tproperties: {\n\t\tuseHasItemVariableSyntax: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY]: {\n\t\t\teffect: handleEncodeDecodedQuery,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_REQUESTED]: {\n\t\t\t...createHttpEffect(DB_API_EXEC_REST_URL, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbatch: false,\n\t\t\t\tdataParam: 'data',\n\t\t\t\tsuccessActionType: SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_SUCCESS,\n\t\t\t\terrorActionType: SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_FAILED,\n\t\t\t}),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_SUCCESS]: {\n\t\t\teffect: handleEncodeDecodedQuerySuccess(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_FAILED]: {\n\t\t\teffect: handleEncodeDecodedQueryFailed(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_CTRL_ENCODED_QUERY_UPDATED]: {\n\t\t\teffect: handleEncodedQueryUpdated,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","/**\n * sys_ux_client_script_983a7628a3133110ceb06eec041e6108.xml\n * Takes the encodedQuery graphQL object and emits it\n *\n * @param {*} api object that proxies UIB's setState/emit using updateState/dispatch\n * @param {*} event object that proxies UIB's graphQL data\n * @param {*} helpers object that proxies UIB's translate function\n */\nexport const handleEncodeDecodedQuerySuccessClientScript = async ({\n\tapi,\n\tevent,\n\thelpers,\n}) => {\n\ttry {\n\t\tconst queryData =\n\t\t\tevent.payload.data.output.data.GlidePredicateBuilder_Query;\n\n\t\tconst { getEncodedQuery } = queryData;\n\n\t\tconst encodedQuery = getEncodedQuery?.encodedQuery || '';\n\t\tconst combinedEncodedQuery =\n\t\t\tgetEncodedQuery?.combinedEncodedQuery || '';\n\t\tconst fixedEncodedQuery = getEncodedQuery?.fixedEncodedQuery || '';\n\t\tconst fixedQueryMode = getEncodedQuery?.fixedQueryMode || '';\n\n\t\tlet infoMessages = getEncodedQuery?.infoMessages || [];\n\n\t\tapi.setState('infoMessages', infoMessages);\n\n\t\tapi.emit('NOW_PREDICATE_BUILDER_CTRL#ENCODED_QUERY_UPDATED', {\n\t\t\tencodedQuery,\n\t\t\tcombinedEncodedQuery,\n\t\t\tfixedEncodedQuery,\n\t\t\tfixedQueryMode,\n\t\t\tinfoMessages,\n\t\t});\n\t} catch (error) {\n\t\tconst translatedHeader = await helpers.translate(\n\t\t\t'Error encoding decoded query'\n\t\t);\n\t\tconst infoMessages = [\n\t\t\t{\n\t\t\t\tstatus: 'ERROR',\n\t\t\t\theader: translatedHeader,\n\t\t\t\tcontent: error.message,\n\t\t\t},\n\t\t];\n\n\t\tapi.setState('infoMessages', infoMessages);\n\t}\n};\n","// DON'T CHANGE, USED TO CREATE THE STATE\nexport const BEHAVIOR_NAME = 'panelDefinitionsBehavior';\n\nexport const NOW_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS =\n\t'NOW_PREDICATE_BUILDER_BEHAVIOR#FETCH_PANEL_DEFINITIONS';\n\n// This is what the controller dispatches out.\n// Since we're copying it, this behavior will catch it and redispatch it\nexport const NOW_PREDICATE_BUILDER_CTRL_PANEL_DEFINITIONS_UPDATED =\n\t'NOW_PREDICATE_BUILDER_CTRL#PANEL_DEFINITIONS_UPDATED';\n\n// Behavior redispatch of PANEL_DEFINITIONS_UPDATED above\nexport const NOW_PREDICATE_BUILDER_BEHAVIOR_PANEL_DEFINITIONS_UPDATED =\n\t'NOW_PREDICATE_BUILDER_BEHAVIOR#PANEL_DEFINITIONS_UPDATED';\n","export const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_SCHEMA_PANEL_DEFINITIONS =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_DYNAMIC_SCHEMA_PANEL_DEFINITIONS';\n\nexport const FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_DATA_BROKER_ID =\n\t'383c4905a3722210d2516eec041e61e5';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_FAILED =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_FAILED';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_REQUESTED =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_REQUESTED';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_SUCCESS =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_SUCCESS';\n\nexport const FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_DATA_BROKER_ID =\n\t'2069994da3722210d2516eec041e6110';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_FAILED =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_FAILED';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_REQUESTED =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_REQUESTED';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_SUCCESS =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_SUCCESS';\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\n\nimport { PANEL_DEFINITION_REQUEST_TYPE } from '../../../../components/sn-dot-walk-popover/constants';\nimport {\n\tDB_API_EXEC_REST_URL,\n\tGRAPHQL_DATA_BROKER_TYPE,\n} from '../../constants';\nimport { handleFetchFailedClientScript } from '../../fetchFailedClientScript';\nimport {\n\tconvertObjectToDatabrokerParamsFormat,\n\tcreateClientScriptProxyObject,\n\tcreateFailureClientScriptProxyObject,\n} from '../../utils';\nimport { BEHAVIOR_NAME } from '../constants';\n\nimport {\n\tFETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_DATA_BROKER_ID,\n\tFETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_DATA_BROKER_ID,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_REQUESTED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_SUCCESS,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_REQUESTED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_SUCCESS,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_SCHEMA_PANEL_DEFINITIONS,\n} from './constants';\nimport { handleDynamicAttributesPanelDefinitionsSuccessClientScript } from './dynamicAttributesPanelDefinitionsSuccessClientScript';\nimport { handleDynamicCategoriesPanelDefinitionsSuccessClientScript } from './dynamicCategoriesPanelDefinitionsSuccess';\n\n/**\n * Event handler to determine which data broker REST endpoint to call\n * @param {*} coeffects\n */\nconst handleFetchDynamicSchemaPanelDefinitions = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { requestType, params },\n\t\t},\n\t\tproperties: { enableDotwalking },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst updatedParams = { ...params };\n\n\tlet action, definitionSysId;\n\tif (requestType === PANEL_DEFINITION_REQUEST_TYPE.DYNAMIC_CATEGORIES) {\n\t\taction = SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_REQUESTED;\n\t\tdefinitionSysId = FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_DATA_BROKER_ID;\n\t\tupdatedParams.disableDotwalking = !enableDotwalking;\n\t} else if (\n\t\trequestType === PANEL_DEFINITION_REQUEST_TYPE.DYNAMIC_ATTRIBUTES\n\t) {\n\t\taction = SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_REQUESTED;\n\t\tdefinitionSysId = FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_DATA_BROKER_ID;\n\t}\n\n\tconst inputValues = convertObjectToDatabrokerParamsFormat(updatedParams);\n\tdispatch(action, {\n\t\tdata: [\n\t\t\t{\n\t\t\t\ttype: GRAPHQL_DATA_BROKER_TYPE,\n\t\t\t\tdefinitionSysId,\n\t\t\t\tinputValues,\n\t\t\t},\n\t\t],\n\t});\n};\n\nexport const handleFetchDynamicCategoriesPanelDefinitionsSuccess = (\n\tbehaviorName\n) => (coeffects) => {\n\tconst params = createClientScriptProxyObject(behaviorName, coeffects);\n\thandleDynamicCategoriesPanelDefinitionsSuccessClientScript(params);\n};\n\nexport const handleFetchDynamicAttributesPanelDefinitionsSuccess = (\n\tbehaviorName\n) => (coeffects) => {\n\tconst params = createClientScriptProxyObject(behaviorName, coeffects);\n\thandleDynamicAttributesPanelDefinitionsSuccessClientScript(params);\n};\n\nexport const handleFetchDynamicSchemaPanelDefinitionsFailed = (\n\tbehaviorName\n) => (coeffects) => {\n\tconst params = createFailureClientScriptProxyObject({\n\t\tbehaviorName,\n\t\tcoeffects,\n\t\tdataElemId: 'predicate_builder_controller_fetch_panel_definitions',\n\t});\n\thandleFetchFailedClientScript(params);\n};\n\nexport const dynamicAttributesActionHandlers = {\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_SCHEMA_PANEL_DEFINITIONS]: {\n\t\teffect: handleFetchDynamicSchemaPanelDefinitions,\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_REQUESTED]: {\n\t\t...createHttpEffect(DB_API_EXEC_REST_URL, {\n\t\t\tmethod: 'POST',\n\t\t\tbatch: false,\n\t\t\tdataParam: 'data',\n\t\t\tsuccessActionType: SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_SUCCESS,\n\t\t\terrorActionType: SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_FAILED,\n\t\t}),\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_REQUESTED]: {\n\t\t...createHttpEffect(DB_API_EXEC_REST_URL, {\n\t\t\tmethod: 'POST',\n\t\t\tbatch: false,\n\t\t\tdataParam: 'data',\n\t\t\tsuccessActionType: SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_SUCCESS,\n\t\t\terrorActionType: SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_FAILED,\n\t\t}),\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_SUCCESS]: {\n\t\teffect: handleFetchDynamicCategoriesPanelDefinitionsSuccess(\n\t\t\tBEHAVIOR_NAME\n\t\t),\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_FAILED]: {\n\t\teffect: handleFetchDynamicSchemaPanelDefinitionsFailed(BEHAVIOR_NAME),\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_SUCCESS]: {\n\t\teffect: handleFetchDynamicAttributesPanelDefinitionsSuccess(\n\t\t\tBEHAVIOR_NAME\n\t\t),\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_FAILED]: {\n\t\teffect: handleFetchDynamicSchemaPanelDefinitionsFailed(BEHAVIOR_NAME),\n\t\tstopPropagation: true,\n\t},\n};\n","/**\n * sys_ux_client_script_14ba1268ffa32210b6feffffffffff89.xml\n * Takes the panelDefinitions graphQL object (array of keys) and transforms it into an object.\n *\n * @param {*} api object that proxies UIB's setState/emit using updateState/dispatch\n * @param {*} event object that proxies UIB's graphQL data\n * @param {*} helpers object that proxies UIB's translate function\n */\nexport const handleDynamicCategoriesPanelDefinitionsSuccessClientScript = async ({\n\tapi,\n\tevent,\n\thelpers,\n}) => {\n\ttry {\n\t\tconst queryData =\n\t\t\tevent?.payload?.data?.output?.data?.GlidePredicateBuilder_Query;\n\t\tconst panelData = queryData?.getDynamicCategoriesPanelData?.panelData;\n\t\tconst panelDefinitions = panelData?.panelDefinitions?.[0] || {};\n\t\tconst infoMessages = panelData?.infoMessages || [];\n\n\t\tconst {\n\t\t\titems = [],\n\t\t\tsearchResults = {},\n\t\t\tsource = '',\n\t\t} = panelDefinitions;\n\n\t\tconst {\n\t\t\tloadMoreRequestParams: loadMoreRequestParamsList = [],\n\t\t\tallItemsLoaded = false,\n\t\t\tsearchTerm = '',\n\t\t} = searchResults || {};\n\n\t\tconst loadMoreRequestParams = {\n\t\t\tsource,\n\t\t};\n\n\t\tif (Array.isArray(loadMoreRequestParamsList)) {\n\t\t\tloadMoreRequestParamsList.forEach(({ name, value }) => {\n\t\t\t\tloadMoreRequestParams[name] = value;\n\t\t\t});\n\t\t}\n\n\t\tconst newPanelDefinitions = {\n\t\t\t[source]: {\n\t\t\t\tallItemsLoaded: allItemsLoaded,\n\t\t\t\titems,\n\t\t\t\tloadMore: true,\n\t\t\t\tloadMoreRequestParams,\n\t\t\t\tsearchTerm,\n\t\t\t\tupdateOperation: 'MERGE',\n\t\t\t},\n\t\t};\n\n\t\tapi.setState('panelDefinitions', newPanelDefinitions);\n\t\tapi.setState('infoMessages', infoMessages);\n\n\t\tapi.emit('NOW_PREDICATE_BUILDER_CTRL#PANEL_DEFINITIONS_UPDATED', {\n\t\t\tpanelDefinitions: newPanelDefinitions,\n\t\t\tinfoMessages,\n\t\t});\n\t} catch (error) {\n\t\tconst translatedHeader = await helpers.translate(\n\t\t\t'Error fetching panel definitions for dynamic categories'\n\t\t);\n\t\tconst infoMessages = [\n\t\t\t{\n\t\t\t\tstatus: 'ERROR',\n\t\t\t\theader: translatedHeader,\n\t\t\t\tcontent: error.message,\n\t\t\t},\n\t\t];\n\n\t\tapi.setState('infoMessages', infoMessages);\n\t}\n};\n","/**\n * sys_ux_client_script_ccb3e260ffe32210b6feffffffffff65.xml\n * Takes the panelDefinitions graphQL object (array of keys) and transforms it into an object.\n *\n * @param {*} api object that proxies UIB's setState/emit using updateState/dispatch\n * @param {*} event object that proxies UIB's graphQL data\n * @param {*} helpers object that proxies UIB's translate function\n */\nexport const handleDynamicAttributesPanelDefinitionsSuccessClientScript = async ({\n\tapi,\n\tevent,\n\thelpers,\n}) => {\n\ttry {\n\t\tconst queryData =\n\t\t\tevent?.payload?.data?.output?.data?.GlidePredicateBuilder_Query;\n\t\tconst panelData = queryData?.getDynamicAttributesPanelData?.panelData;\n\t\tconst panelDefinitions = panelData?.panelDefinitions?.[0] || {};\n\t\tconst infoMessages = panelData?.infoMessages || [];\n\n\t\tconst {\n\t\t\titems = [],\n\t\t\tsearchResults = {},\n\t\t\tsource = '',\n\t\t} = panelDefinitions;\n\n\t\tconst {\n\t\t\tloadMoreRequestParams: loadMoreRequestParamsList = [],\n\t\t\tallItemsLoaded = false,\n\t\t\tsearchTerm = '',\n\t\t} = searchResults || {};\n\n\t\tconst loadMoreRequestParams = {\n\t\t\tsource,\n\t\t};\n\n\t\tif (Array.isArray(loadMoreRequestParamsList)) {\n\t\t\tloadMoreRequestParamsList.forEach(({ name, value }) => {\n\t\t\t\tloadMoreRequestParams[name] = value;\n\t\t\t});\n\t\t}\n\n\t\tconst newPanelDefinitions = {\n\t\t\t[source]: {\n\t\t\t\tallItemsLoaded: allItemsLoaded,\n\t\t\t\titems,\n\t\t\t\tloadMore: true,\n\t\t\t\tloadMoreRequestParams,\n\t\t\t\tsearchTerm,\n\t\t\t\tupdateOperation: 'MERGE',\n\t\t\t},\n\t\t};\n\n\t\tconst tableMetadataItem = {};\n\t\titems.forEach(({ internalValue, metadata }) => {\n\t\t\tconst parsedMetadata = {};\n\n\t\t\tlet type;\n\t\t\tmetadata.forEach(({ name, value }) => {\n\t\t\t\tif (name === 'type') {\n\t\t\t\t\ttype = value;\n\t\t\t\t}\n\t\t\t\tparsedMetadata[name] = value;\n\t\t\t});\n\n\t\t\ttableMetadataItem[internalValue] = {\n\t\t\t\ttype: type,\n\t\t\t\tdynamicSchemaData: parsedMetadata,\n\t\t\t};\n\t\t});\n\n\t\tconst newTableMetadata = {\n\t\t\t[source]: tableMetadataItem,\n\t\t};\n\n\t\tapi.setState('panelDefinitions', newPanelDefinitions);\n\t\tapi.setState('tableMetadata', newTableMetadata);\n\t\tapi.setState('infoMessages', infoMessages);\n\n\t\tapi.emit('NOW_PREDICATE_BUILDER_CTRL#PANEL_DEFINITIONS_UPDATED', {\n\t\t\ttableMetadata: newTableMetadata,\n\t\t\tpanelDefinitions: newPanelDefinitions,\n\t\t\tinfoMessages,\n\t\t});\n\t} catch (error) {\n\t\tconst translatedHeader = await helpers.translate(\n\t\t\t'Error fetching panel definitions for dynamic attributes'\n\t\t);\n\t\tconst infoMessages = [\n\t\t\t{\n\t\t\t\tstatus: 'ERROR',\n\t\t\t\theader: translatedHeader,\n\t\t\t\tcontent: error.message,\n\t\t\t},\n\t\t];\n\n\t\tapi.setState('infoMessages', infoMessages);\n\t}\n};\n","export const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_PANEL_DEFINITIONS';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_FAILED =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_PANEL_DEFINITIONS_FAILED';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_REQUESTED =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_PANEL_DEFINITIONS_REQUESTED';\nexport const SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_SUCCESS =\n\t'SN_PREDICATE_BUILDER_BEHAVIOR#FETCH_PANEL_DEFINITIONS_SUCCESS';\n\nexport const FETCH_PANEL_DEFINITIONS_DATA_BROKER_ID =\n\t'36726be9a3cb3110ceb06eec041e61be';\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\n\nimport {\n\tDB_API_EXEC_REST_URL,\n\tGRAPHQL_DATA_BROKER_TYPE,\n} from '../../constants';\nimport { handleFetchFailedClientScript } from '../../fetchFailedClientScript';\nimport {\n\tcreateClientScriptProxyObject,\n\tcreateFailureClientScriptProxyObject,\n\tconvertObjectToDatabrokerParamsFormat,\n} from '../../utils';\nimport { BEHAVIOR_NAME } from '../constants';\n\nimport { SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS } from './constants';\nimport {\n\tFETCH_PANEL_DEFINITIONS_DATA_BROKER_ID,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_REQUESTED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_SUCCESS,\n} from './constants';\nimport { handlePanelDefinitionsSuccessClientScript } from './panelDefinitionsSuccessClientScript';\n\n/**\n * Event handler to call the data broker REST endpoint to retreive the panel definitions\n * @param {*} coeffects\n */\nconst handleFetchPanelDefinitions = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { path, source, variableMode },\n\t\t},\n\t\tproperties: {\n\t\t\tenableDotwalking,\n\t\t\tfieldExclusionList,\n\t\t\tfieldInclusionList,\n\t\t\tincludeExcludedOperators,\n\t\t\tincludeExtendedOperators,\n\t\t},\n\t} = coeffects;\n\n\t// Recreating because payload may have unecessary data\n\tconst payload = {\n\t\tpath,\n\t\ttableName: source,\n\t\tvariableMode,\n\t\tfieldExclusionList,\n\t\tfieldInclusionList,\n\t\tdisableDotwalking: !enableDotwalking,\n\t\tincludeExcludedOperators,\n\t\tincludeExtendedOperators,\n\t};\n\n\tconst inputValues = convertObjectToDatabrokerParamsFormat(payload);\n\tdispatch(SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_REQUESTED, {\n\t\tdata: [\n\t\t\t{\n\t\t\t\ttype: GRAPHQL_DATA_BROKER_TYPE,\n\t\t\t\tdefinitionSysId: FETCH_PANEL_DEFINITIONS_DATA_BROKER_ID,\n\t\t\t\tinputValues,\n\t\t\t},\n\t\t],\n\t});\n};\n\n/**\n * Event handler to handle the panelDefinitions response when successful.\n * Creates a proxy object to copy UIB's API and calls the copy client script to update state.\n * @param {*} behaviorName Name of behavior, used to specify where update states will be\n */\nexport const handleFetchPanelDefinitionsSuccess = (behaviorName) => (\n\tcoeffects\n) => {\n\tconst params = createClientScriptProxyObject(behaviorName, coeffects);\n\thandlePanelDefinitionsSuccessClientScript(params);\n};\n\n/**\n * Event handler to handle the panelDefinitions response when it fails.\n * Creates a proxy object to copy UIB's API and calls the fail copy client script to update state.\n * @param {*} behaviorName Name of behavior, used to specify where update states will be\n */\nexport const handleFetchPanelDefinitionsFailed = (behaviorName) => (\n\tcoeffects\n) => {\n\tconst params = createFailureClientScriptProxyObject({\n\t\tbehaviorName,\n\t\tcoeffects,\n\t\tdataElemId: 'predicate_builder_controller_fetch_panel_definitions',\n\t});\n\n\thandleFetchFailedClientScript(params);\n};\n\nexport const panelDefinitionActionHandlers = {\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS]: {\n\t\teffect: handleFetchPanelDefinitions,\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_REQUESTED]: {\n\t\t...createHttpEffect(DB_API_EXEC_REST_URL, {\n\t\t\tmethod: 'POST',\n\t\t\tbatch: false,\n\t\t\tdataParam: 'data',\n\t\t\tsuccessActionType: SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_SUCCESS,\n\t\t\terrorActionType: SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_FAILED,\n\t\t}),\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_SUCCESS]: {\n\t\teffect: handleFetchPanelDefinitionsSuccess(BEHAVIOR_NAME),\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_FAILED]: {\n\t\teffect: handleFetchPanelDefinitionsFailed(BEHAVIOR_NAME),\n\t\tstopPropagation: true,\n\t},\n};\n","/**\n * sys_ux_client_script_ede363ada3cb3110ceb06eec041e61d7.xml\n * Takes the panelDefinitions graphQL object (array of keys) and transforms it into an object.\n *\n * @param {*} api object that proxies UIB's setState/emit using updateState/dispatch\n * @param {*} event object that proxies UIB's graphQL data\n * @param {*} helpers object that proxies UIB's translate function\n */\nexport const handlePanelDefinitionsSuccessClientScript = async ({\n\tapi,\n\tevent,\n\thelpers,\n}) => {\n\ttry {\n\t\tconst queryData =\n\t\t\tevent.payload.data.output.data.GlidePredicateBuilder_Query;\n\n\t\tconst { getPanelData, getTableMetadata } = queryData;\n\n\t\tconst panelDefinitions =\n\t\t\tgetPanelData?.panelData?.panelDefinitions || [];\n\t\tconst panelDataInfoMessages =\n\t\t\tgetPanelData?.panelData?.infoMessages || [];\n\t\tconst tableMetadata = getTableMetadata?.tableMetadata || [];\n\t\tconst tableMetadataInfoMessages = getTableMetadata?.infoMessages || [];\n\n\t\t// Convert table metadata graphQL array ato object\n\t\tconst newTableMetadata = {};\n\t\ttableMetadata.forEach((metadata) => {\n\t\t\tconst { name, fieldMetadata } = metadata;\n\n\t\t\tconst tableItem = {};\n\n\t\t\tfieldMetadata.forEach((field) => {\n\t\t\t\ttableItem[field.name] = field;\n\t\t\t});\n\n\t\t\tconst newTableItem = { ...tableItem };\n\t\t\tfor (const field in newTableItem) {\n\t\t\t\tnewTableItem[field] = {\n\t\t\t\t\t...newTableItem[field],\n\t\t\t\t\t__internalTableMetadata: {\n\t\t\t\t\t\t...newTableItem[field],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tnewTableMetadata[name] = newTableItem;\n\t\t});\n\n\t\t// Convert panel definitions graphQL array to object\n\t\tconst newPanelDefinitions = {};\n\t\tconst createLabelCountMap = (items) => {\n\t\t\tconst counterMap = {};\n\t\t\titems.forEach(({ displayValue }) => {\n\t\t\t\tcounterMap[displayValue] = (counterMap[displayValue] || 0) + 1;\n\t\t\t});\n\t\t\treturn counterMap;\n\t\t};\n\n\t\tconst transformPanelDefinition = (panelDefinition) => {\n\t\t\tconst { items: oldItems, searchResults, source } = panelDefinition;\n\t\t\tconst duplicateMap = createLabelCountMap(oldItems);\n\n\t\t\tconst items = oldItems.map((item) => {\n\t\t\t\tif (duplicateMap[item.displayValue] <= 1) {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t\treturn { ...item, secondaryLabel: item.internalValue };\n\t\t\t});\n\n\t\t\tif (!searchResults) {\n\t\t\t\treturn { source, items };\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tloadMoreRequestParams,\n\t\t\t\tallItemsLoaded,\n\t\t\t\tsearchTerm,\n\t\t\t} = searchResults;\n\n\t\t\t// graphQL returns loadMoreRequestParams as a name value pair\n\t\t\tconst newLoadMoreRequestParams = {\n\t\t\t\tsource,\n\t\t\t};\n\n\t\t\tloadMoreRequestParams.forEach(({ name, value }) => {\n\t\t\t\tnewLoadMoreRequestParams[name] = value;\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tallItemsLoaded: allItemsLoaded,\n\t\t\t\titems,\n\t\t\t\tloadMore: true,\n\t\t\t\tloadMoreRequestParams: newLoadMoreRequestParams,\n\t\t\t\tsearchTerm,\n\t\t\t\tupdateOperation: 'MERGE',\n\t\t\t};\n\t\t};\n\n\t\tconst createDynamicAttributeTableMetadata = ({ items }) => {\n\t\t\tconst tableMetadataItem = {};\n\t\t\titems.forEach(({ internalValue, metadata }) => {\n\t\t\t\tconst parsedMetadata = {};\n\n\t\t\t\tlet type;\n\n\t\t\t\tmetadata.forEach(({ name, value }) => {\n\t\t\t\t\tif (name === 'type') {\n\t\t\t\t\t\ttype = value;\n\t\t\t\t\t}\n\t\t\t\t\tparsedMetadata[name] = value;\n\t\t\t\t});\n\n\t\t\t\ttableMetadataItem[internalValue] = {\n\t\t\t\t\ttype: type,\n\t\t\t\t\tdynamicSchemaData: parsedMetadata,\n\t\t\t\t};\n\t\t\t});\n\t\t\treturn tableMetadataItem;\n\t\t};\n\n\t\tpanelDefinitions.forEach((panelDefinition) => {\n\t\t\tconst source = panelDefinition.source;\n\t\t\tnewPanelDefinitions[source] = transformPanelDefinition(\n\t\t\t\tpanelDefinition\n\t\t\t);\n\t\t\tif (source.startsWith('__dynamic_category__')) {\n\t\t\t\tnewTableMetadata[source] = createDynamicAttributeTableMetadata(\n\t\t\t\t\tpanelDefinition\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\tconst infoMessages = [\n\t\t\t...panelDataInfoMessages,\n\t\t\t...tableMetadataInfoMessages,\n\t\t];\n\n\t\tapi.setState('tableMetadata', newTableMetadata);\n\t\tapi.setState('panelDefinitions', newPanelDefinitions);\n\t\tapi.setState('infoMessages', infoMessages);\n\n\t\tapi.emit('NOW_PREDICATE_BUILDER_CTRL#PANEL_DEFINITIONS_UPDATED', {\n\t\t\ttableMetadata: newTableMetadata,\n\t\t\tpanelDefinitions: newPanelDefinitions,\n\t\t\tinfoMessages,\n\t\t});\n\t} catch (error) {\n\t\tconst translatedHeader = await helpers.translate(\n\t\t\t'Error fetching panel definitions'\n\t\t);\n\t\tconst infoMessages = [\n\t\t\t{\n\t\t\t\tstatus: 'ERROR',\n\t\t\t\theader: translatedHeader,\n\t\t\t\tcontent: error.message,\n\t\t\t},\n\t\t];\n\n\t\tapi.setState('infoMessages', infoMessages);\n\t}\n};\n","import { PANEL_DEFINITION_REQUEST_TYPE } from '../../../components/sn-dot-walk-popover/constants';\n\nimport {\n\tBEHAVIOR_NAME,\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS,\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_PANEL_DEFINITIONS_UPDATED,\n\tNOW_PREDICATE_BUILDER_CTRL_PANEL_DEFINITIONS_UPDATED,\n} from './constants';\nimport { SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_SCHEMA_PANEL_DEFINITIONS } from './dynamicAttributes/constants';\nimport { dynamicAttributesActionHandlers } from './dynamicAttributes/dynamicAttributes.actions';\nimport { SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS } from './panelDefinitions/constants';\nimport { panelDefinitionActionHandlers } from './panelDefinitions/panelDefinitions.actions';\n\nconst handleFetchPanelDefinitions = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: { requestType },\n\t\t},\n\t} = coeffects;\n\n\tif (\n\t\trequestType === PANEL_DEFINITION_REQUEST_TYPE.DYNAMIC_ATTRIBUTES ||\n\t\trequestType === PANEL_DEFINITION_REQUEST_TYPE.DYNAMIC_CATEGORIES\n\t) {\n\t\tdispatch(\n\t\t\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_SCHEMA_PANEL_DEFINITIONS,\n\t\t\t{ ...payload }\n\t\t);\n\t} else {\n\t\tdispatch(SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS, {\n\t\t\t...payload,\n\t\t});\n\t}\n};\n\n/**\n * Redispatches the panelDefinitions action to contain the NOW_PREDICATE_BUILDER_BEHAVIOR namespace\n * @param {*} coeffects\n */\nconst handlePanelDefinitionsUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tinfoMessages,\n\t\t\t\tpanelDefinitions,\n\t\t\t\tpath,\n\t\t\t\ttableMetadata,\n\t\t\t\ttableName,\n\t\t\t\tvariableMode,\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_PANEL_DEFINITIONS_UPDATED, {\n\t\tinfoMessages,\n\t\tpanelDefinitions,\n\t\tpath,\n\t\ttableMetadata,\n\t\ttableName,\n\t\tvariableMode,\n\t});\n};\nexport default {\n\tname: BEHAVIOR_NAME,\n\tsetInitialState: () => ({\n\t\tpanelDefinitions: {},\n\t\ttableMetadata: {},\n\t\tinfoMessages: [],\n\t}),\n\tproperties: {\n\t\tenableDotwalking: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\tfieldInclusionList: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tfieldExclusionList: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tincludeExcludedOperators: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tincludeExtendedOperators: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[NOW_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS]: {\n\t\t\teffect: handleFetchPanelDefinitions,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_CTRL_PANEL_DEFINITIONS_UPDATED]: {\n\t\t\teffect: handlePanelDefinitionsUpdated,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t...panelDefinitionActionHandlers,\n\t\t...dynamicAttributesActionHandlers,\n\t},\n};\n","import {\n\tNOW_PREDICATE_BUILDER_DECODED_QUERY_UPDATED,\n\tNOW_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS,\n} from '../../components/now-predicate-builder/actionTypes';\n\nimport { BEHAVIOR_NAME } from './constants';\nimport {\n\tSN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_SUCCESS,\n} from './decodeEncodedQueryBehavior/constants';\nimport decodeEncodedQueryBehavior, {\n\thandleDecodeEncodedQueryFailed,\n\thandleDecodeEncodedQuerySuccess,\n} from './decodeEncodedQueryBehavior/decodeEncodedQueryBehavior';\nimport {\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_SUCCESS,\n} from './encodeDecodedQueryBehavior/constants';\nimport encodeDecodedQueryBehavior, {\n\thandleEncodeDecodedQueryFailed,\n\thandleEncodeDecodedQuerySuccess,\n} from './encodeDecodedQueryBehavior/encodeDecodedQueryBehavior';\nimport { NOW_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS } from './panelDefinitionsBehavior/constants';\nimport {\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_SUCCESS,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_SUCCESS,\n} from './panelDefinitionsBehavior/dynamicAttributes/constants';\nimport {\n\thandleFetchDynamicAttributesPanelDefinitionsSuccess,\n\thandleFetchDynamicCategoriesPanelDefinitionsSuccess,\n\thandleFetchDynamicSchemaPanelDefinitionsFailed,\n} from './panelDefinitionsBehavior/dynamicAttributes/dynamicAttributes.actions';\nimport {\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_SUCCESS,\n} from './panelDefinitionsBehavior/panelDefinitions/constants';\nimport {\n\thandleFetchPanelDefinitionsFailed,\n\thandleFetchPanelDefinitionsSuccess,\n} from './panelDefinitionsBehavior/panelDefinitions/panelDefinitions.actions';\nimport panelDefinitionsBehavior from './panelDefinitionsBehavior/panelDefinitionsBehavior';\n\nconst handleFetchPanelDefinitions = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst updatedPayload = { ...payload };\n\n\tdispatch(\n\t\tNOW_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS,\n\t\tupdatedPayload\n\t);\n};\n\nconst handleDecodedQueryUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { decodedQuery, fixedDecodedQuery, fixedQueryMode },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY, {\n\t\tfixedDecodedQuery,\n\t\tfixedQueryMode,\n\t\tdecodedQuery,\n\t});\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tsetInitialState: () => ({\n\t\t...decodeEncodedQueryBehavior.setInitialState(),\n\t\t...panelDefinitionsBehavior.setInitialState(),\n\t\t...encodeDecodedQueryBehavior.setInitialState(),\n\t}),\n\tproperties: {\n\t\t...decodeEncodedQueryBehavior.properties,\n\t\t...panelDefinitionsBehavior.properties,\n\t\t...encodeDecodedQueryBehavior.properties,\n\t},\n\tactionHandlers: {\n\t\t...decodeEncodedQueryBehavior.actionHandlers,\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_SUCCESS]: {\n\t\t\teffect: handleDecodeEncodedQuerySuccess(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_FAILED]: {\n\t\t\teffect: handleDecodeEncodedQueryFailed(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t...panelDefinitionsBehavior.actionHandlers,\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_SUCCESS]: {\n\t\t\teffect: handleFetchPanelDefinitionsSuccess(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_PANEL_DEFINITIONS_FAILED]: {\n\t\t\teffect: handleFetchPanelDefinitionsFailed(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_SUCCESS]: {\n\t\t\teffect: handleFetchDynamicCategoriesPanelDefinitionsSuccess(\n\t\t\t\tBEHAVIOR_NAME\n\t\t\t),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_CATEGORIES_PANEL_DEFINITIONS_FAILED]: {\n\t\t\teffect: handleFetchDynamicSchemaPanelDefinitionsFailed(\n\t\t\t\tBEHAVIOR_NAME\n\t\t\t),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_SUCCESS]: {\n\t\t\teffect: handleFetchDynamicAttributesPanelDefinitionsSuccess(\n\t\t\t\tBEHAVIOR_NAME\n\t\t\t),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_FETCH_DYNAMIC_ATTRIBUTES_PANEL_DEFINITIONS_FAILED]: {\n\t\t\teffect: handleFetchDynamicSchemaPanelDefinitionsFailed(\n\t\t\t\tBEHAVIOR_NAME\n\t\t\t),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t...encodeDecodedQueryBehavior.actionHandlers,\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_SUCCESS]: {\n\t\t\teffect: handleEncodeDecodedQuerySuccess(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_FAILED]: {\n\t\t\teffect: handleEncodeDecodedQueryFailed(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS]: {\n\t\t\teffect: handleFetchPanelDefinitions,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_PREDICATE_BUILDER_DECODED_QUERY_UPDATED]: {\n\t\t\teffect: handleDecodedQueryUpdated,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","export const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\nexport const SN_LOAD_FILTER_POPOVER_CLOSED = 'SN_LOAD_FILTER#POPOVER_CLOSED';\nexport const SN_LOAD_FILTER_DELETE_CONFIRMATION_MODAL_OPENED =\n\t'SN_LOAD_FILTER#DELETE_CONFIRMATION_MODAL_OPENED';\nexport const SN_LOAD_FILTER_DELETE_FILTER_FAILED =\n\t'SN_LOAD_FILTER#DELETE_FILTER_FAILED';\nexport const SN_LOAD_FILTER_DELETE_FILTER_REQUESTED =\n\t'SN_LOAD_FILTER#DELETE_FILTER_REQUESTED';\nexport const SN_LOAD_FILTER_DELETE_FILTER_SUCCEEDED =\n\t'SN_LOAD_FILTER#DELETE_FILTER_SUCCEEDED';\nexport const SN_LOAD_FILTER_FETCH_SAVED_FILTERS_REQUESTED =\n\t'SN_LOAD_FILTER#FETCH_SAVED_FILTERS_REQUESTED';\nexport const SN_LOAD_FILTER_FILTER_TABLE_FETCH_FAILED =\n\t'SN_LOAD_FILTER#FILTER_TABLE_FETCH_FAILED';\nexport const SN_LOAD_FILTER_FILTER_TABLE_FETCH_STARTED =\n\t'SN_LOAD_FILTER#FILTER_TABLE_FETCH_STARTED';\nexport const SN_LOAD_FILTER_FILTER_TABLE_FETCH_SUCCEEDED =\n\t'SN_LOAD_FILTER#FILTER_TABLE_FETCH_SUCCEEDED';\n","import { t } from 'sn-translate';\n\nexport const EDIT_FILTER_ARIA = t('Edit filter');\nexport const EMPTY_FILTERS_CONTENT = t('No saved filters');\nexport const FILTER_ACTION_EDIT = 'FILTER_ACTION_EDIT';\nexport const FILTER_ACTION_REMOVE = 'FILTER_ACTION_REMOVE';\nexport const SAVE_ACTIVE_FILTERS_LABEL = t('Save active filters');\nexport const SAVE_FILTER_POPOVER = 'SAVE_FILTER_POPOVER';\n","export const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_INPUT_VALUE_CHANGED = 'NOW_INPUT#INPUT';\nexport const NOW_RADIO_BUTTONS_CLICKED = 'NOW_RADIO_BUTTONS#VALUE_SET';\nexport const SN_SAVE_FILTER_BUTTON_CLICKED =\n\t'SN_SAVE_FILTER#SAVE_FILTER_BUTTON_CLICKED';\nexport const SN_SAVE_FILTER_CANCEL_CLICKED =\n\t'SN_SAVE_FILTER#SAVE_FILTER_CANCEL_CLICKED';\nexport const SN_SAVE_FILTER_GROUP_FIELD_CHANGED =\n\t'SN_SAVE_FILTER#GROUP_FIELD_CHANGED';\nexport const SN_SAVE_FILTER_LABEL_UPDATED =\n\t'SN_SAVE_FILTER#FILTER_LABEL_UDPATED';\nexport const SN_SAVE_FILTER_REQUESTED = 'SN_SAVE_FILTER#SAVE_FILTER_REQUESTED';\nexport const SN_SAVE_FILTER_SAVE_TYPE_UPDATED =\n\t'SN_SAVE_FILTER#SAVE_TYPE_UPDATED';\nexport const SN_SAVE_FILTER_TABLE_SAVE_FAILED =\n\t'SN_SAVE_FILTER#FILTER_TABLE_SAVE_FAILED';\nexport const SN_SAVE_FILTER_TABLE_SAVE_STARTED =\n\t'SN_SAVE_FILTER#FILTER_TABLE_SAVE_STARTED';\nexport const SN_SAVE_FILTER_TABLE_SAVE_SUCCEEDED =\n\t'SN_SAVE_FILTER#FILTER_TABLE_SAVE_SUCCEEDED';\n","import { klona } from 'klona';\nimport { t } from 'sn-translate';\n\nconst GLOBAL = 'global';\nconst GROUP = 'group';\nconst USER = 'user';\n\nexport const SAVE_TYPE = {\n\tGLOBAL,\n\tGROUP,\n\tUSER,\n};\n\nconst ADMIN = 'admin';\nconst FILTER_ADMIN = 'filter_admin';\nconst FILTER_GLOBAL = 'filter_global';\nconst FILTER_GROUP = 'filter_group';\nconst MAINT = 'maint';\n\nexport const ROLES = {\n\tADMIN,\n\tFILTER_ADMIN,\n\tFILTER_GLOBAL,\n\tFILTER_GROUP,\n\tMAINT,\n};\n\n// Use Klona on the initial value object\nconst saveFilterInitialValues = {\n\tfilterLabel: '',\n\tsaveType: SAVE_TYPE.USER,\n\tgroupId: '',\n\tsaveTypeOptions: [\n\t\t{\n\t\t\tid: SAVE_TYPE.USER,\n\t\t\tlabel: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Me',\n\t\t\t\tcomment:\n\t\t\t\t\t'Label for an option to save a filter for the current user (\"Me\")',\n\t\t\t}),\n\t\t\tchecked: true,\n\t\t},\n\t],\n\tfetching: false,\n};\n\nexport const saveFilterInitialState = klona(saveFilterInitialValues);\n\nexport const SAVING_FILTER = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Saving filter...',\n\tcomment: 'Status message displayed while a filter is being saved',\n});\nexport const SEARCH_PLACEHOLDER = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Search',\n\tcomment: 'Placeholder text for a search input field',\n});\nexport const CANCEL_BUTTON_ARIA = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Cancel',\n\tcomment: 'Label for a button that cancels the save filter action',\n});\nexport const FILTER_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Filter name',\n\tcomment:\n\t\t'Label for an input field where the user enters a name for the filter',\n});\nexport const GROUP_PERMISSION_ARIA = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Group Permission Input Field',\n\tcomment: 'Accessibility label for the group permission input field',\n});\n\nexport const BUILD_EFFECT_FILTER_LABEL = 'filterLabel';\nexport const BUILD_EFFECT_GROUP_ID = 'groupId';\nexport const BUILD_EFFECT_SAVE_TYPE = 'saveType';\nexport const BUILD_EFFECT_FIELD_VALUE = 'fieldValue';\nexport const PERMISSIONS_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Visible to:',\n\tcomment: \"Label for the section that controls the filter's permissions\",\n});\nexport const SAVE_BUTTON_ARIA = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Save',\n\tcomment: 'Label for a button that saves the current filter',\n});\nexport const SAVE_FILTER = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Save Filter',\n\tcomment: 'Title for the \"Save Filter\" dialog',\n});\n\nexport const BUILD_EFFECT_VALUE = 'value';\n\nexport const FILTER_SAVE_ERROR = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Filters not saved. Check conditions and try again.',\n\tcomment: 'Error message displayed when a filter cannot be saved',\n});\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\n\nimport {\n\tSN_SAVE_FILTER_TABLE_SAVE_FAILED,\n\tSN_SAVE_FILTER_TABLE_SAVE_STARTED,\n\tSN_SAVE_FILTER_TABLE_SAVE_SUCCEEDED,\n} from './actionTypes';\n\nexport default createHttpEffect('/api/now/ui/saved_filters/:table_name', {\n\tmethod: 'POST',\n\tpathParams: ['table_name'],\n\tdataParam: 'data',\n\tstartActionType: SN_SAVE_FILTER_TABLE_SAVE_STARTED,\n\tsuccessActionType: SN_SAVE_FILTER_TABLE_SAVE_SUCCEEDED,\n\terrorActionType: SN_SAVE_FILTER_TABLE_SAVE_FAILED,\n});\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nimport {\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY,\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_ENCODED_QUERY_UPDATED,\n} from '../../behaviors/conditionBuilderConnectedBehavior/encodeDecodedQueryBehavior/constants';\nimport { STATUS_TYPES } from '../now-condition-builder-row/constants';\nimport { NOW_PREDICATE_BUILDER_METRIC_TRACKED } from '../now-predicate-builder/actionTypes';\nimport { SN_CONDITION_BUILDER_SAVE_FILTER_ERROR } from '../sn-condition-builder/actionTypes';\nimport { SAVE_FILTER_EVENT } from '../sn-condition-builder/telemetryEvents.constants';\nimport { SN_LOAD_FILTER_FETCH_SAVED_FILTERS_REQUESTED } from '../sn-filter-manager/actionTypes';\nimport { SAVE_FILTER_POPOVER } from '../sn-filter-manager/sn-load-filter-content-popover/constants';\nimport { SN_RECORD_LOOKUP_VALUE_CHANGED } from '../sn-record-lookup/actionTypes';\nimport { NOW_POPOVER_OPENED_SET } from '../sn-value-editor-commons/actionTypes';\n\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_INPUT_VALUE_CHANGED,\n\tNOW_RADIO_BUTTONS_CLICKED,\n\tSN_SAVE_FILTER_BUTTON_CLICKED,\n\tSN_SAVE_FILTER_CANCEL_CLICKED,\n\tSN_SAVE_FILTER_GROUP_FIELD_CHANGED,\n\tSN_SAVE_FILTER_LABEL_UPDATED,\n\tSN_SAVE_FILTER_REQUESTED,\n\tSN_SAVE_FILTER_SAVE_TYPE_UPDATED,\n\tSN_SAVE_FILTER_TABLE_SAVE_FAILED,\n\tSN_SAVE_FILTER_TABLE_SAVE_STARTED,\n\tSN_SAVE_FILTER_TABLE_SAVE_SUCCEEDED,\n} from './actionTypes';\nimport {\n\tBUILD_EFFECT_FIELD_VALUE,\n\tBUILD_EFFECT_FILTER_LABEL,\n\tBUILD_EFFECT_GROUP_ID,\n\tBUILD_EFFECT_SAVE_TYPE,\n\tBUILD_EFFECT_VALUE,\n\tFILTER_SAVE_ERROR,\n\tSAVE_TYPE,\n\tsaveFilterInitialState,\n} from './constants';\nimport fetchSavedFiltersEffect from './saveFilterEffect';\n\nexport const buildEffect = (...payloadFields) => ({ dispatch, action }) => {\n\tconst {\n\t\tpayload: { actionToDispatch },\n\t} = action;\n\n\tif (!actionToDispatch) return;\n\n\tconst payload = {};\n\tpayloadFields.forEach((field) => {\n\t\tpayload[field] = action.payload[field];\n\t});\n\n\tdispatch(actionToDispatch, payload);\n};\n\nconst handleComponentBootstrap = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: { decodedQuery, fixedDecodedQuery },\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY, {\n\t\tdecodedQuery,\n\t\tfixedDecodedQuery,\n\t});\n};\n\nconst handleEncodedQueryUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { encodedQuery, fixedEncodedQuery },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({\n\t\tencodedQuery,\n\t\tfixedEncodedQuery,\n\t});\n};\n\nconst handleSaveFilterButtonClicked = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties: { tableName = '' },\n\t\tstate: { encodedQuery = '' },\n\t} = coeffects;\n\n\t// We perform this check to ensure that the request is not fired until we have the encoded query.\n\tif (!encodedQuery) return;\n\n\tconst { filterLabel = '', groupId = '', saveType = '' } = payload;\n\tconst data = {\n\t\tfilter: encodedQuery,\n\t\tsaveType: saveType.toUpperCase(),\n\t\ttableName,\n\t\ttitle: filterLabel,\n\t};\n\n\tconst trackMetadata = {\n\t\tsaveType: saveType.toUpperCase(),\n\t\ttableName,\n\t\ttitle: filterLabel,\n\t};\n\n\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\teventName: SAVE_FILTER_EVENT,\n\t\tmetadata: trackMetadata,\n\t\ttrackFieldTypesAndOperators: true,\n\t});\n\n\tif (saveType === SAVE_TYPE.GROUP) data.group = groupId;\n\tdispatch(SN_SAVE_FILTER_REQUESTED, {\n\t\tdata,\n\t\ttable_name: tableName,\n\t});\n};\n\nconst handleSaveFilterCancelClicked = (coeffects) => {\n\tconst { dispatch, updateState } = coeffects;\n\tupdateState({\n\t\t...saveFilterInitialState,\n\t});\n\tdispatch(NOW_POPOVER_OPENED_SET, {\n\t\tvalue: false,\n\t\tsource: SAVE_FILTER_POPOVER,\n\t});\n};\n\nconst handleSaveFilterGroupFieldChanged = (coeffects) => {\n\tconst { action, updateState } = coeffects;\n\tupdateState({\n\t\tgroupId: action.payload.value.internalValue,\n\t});\n};\n\nconst handleSaveFilterLabelUpdated = (coeffects) => {\n\tconst { action, updateState } = coeffects;\n\tconst trimmedFilterLabel = action.payload.fieldValue.trim();\n\tupdateState({\n\t\tfilterLabel: trimmedFilterLabel,\n\t});\n};\n\nconst handleSaveFilterSaveTypeUpdated = (coeffects) => {\n\tconst { action, updateState } = coeffects;\n\tupdateState({\n\t\tsaveType: action.payload.value,\n\t});\n};\n\nconst handleFilterTableSaveFailed = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tlogger,\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\tupdateState({ fetching: false });\n\tconst errorMessage = get(payload, 'message', JSON.stringify(payload));\n\tlogger.error(errorMessage);\n\tdispatch(SN_CONDITION_BUILDER_SAVE_FILTER_ERROR, {\n\t\tinfoMessages: [\n\t\t\t{\n\t\t\t\tstatus: STATUS_TYPES.CRITICAL,\n\t\t\t\tcontent: FILTER_SAVE_ERROR,\n\t\t\t},\n\t\t],\n\t});\n\tdispatch(NOW_POPOVER_OPENED_SET, {\n\t\tvalue: false,\n\t\tsource: SAVE_FILTER_POPOVER,\n\t});\n};\n\nconst handleFilterTableSaveStarted = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({ fetching: true });\n};\n\nconst handleFilterTableSaveSucceeded = (coeffects) => {\n\tconst { dispatch, properties, updateState } = coeffects;\n\tconst { tableName } = properties;\n\tupdateState({ fetching: false, filterLabel: '' });\n\tdispatch(NOW_POPOVER_OPENED_SET, {\n\t\tvalue: false,\n\t\tsource: SAVE_FILTER_POPOVER,\n\t});\n\tdispatch(SN_LOAD_FILTER_FETCH_SAVED_FILTERS_REQUESTED, {\n\t\ttable_name: tableName,\n\t});\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrap,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODED_QUERY_UPDATED]: {\n\t\teffect: handleEncodedQueryUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: buildEffect(\n\t\t\tBUILD_EFFECT_FILTER_LABEL,\n\t\t\tBUILD_EFFECT_GROUP_ID,\n\t\t\tBUILD_EFFECT_SAVE_TYPE\n\t\t),\n\t\tstopPropagation: true,\n\t},\n\t[NOW_INPUT_VALUE_CHANGED]: {\n\t\teffect: buildEffect(BUILD_EFFECT_FIELD_VALUE),\n\t\tstopPropagation: true,\n\t},\n\t[NOW_RADIO_BUTTONS_CLICKED]: {\n\t\teffect: buildEffect(BUILD_EFFECT_VALUE),\n\t\tstopPropagation: true,\n\t},\n\t[SN_RECORD_LOOKUP_VALUE_CHANGED]: {\n\t\teffect: buildEffect(BUILD_EFFECT_VALUE),\n\t\tstopPropagation: true,\n\t},\n\t[SN_SAVE_FILTER_BUTTON_CLICKED]: {\n\t\teffect: handleSaveFilterButtonClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SAVE_FILTER_CANCEL_CLICKED]: {\n\t\teffect: handleSaveFilterCancelClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SAVE_FILTER_GROUP_FIELD_CHANGED]: {\n\t\teffect: handleSaveFilterGroupFieldChanged,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SAVE_FILTER_LABEL_UPDATED]: {\n\t\teffect: handleSaveFilterLabelUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SAVE_FILTER_REQUESTED]: {\n\t\t...fetchSavedFiltersEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SAVE_FILTER_SAVE_TYPE_UPDATED]: {\n\t\teffect: handleSaveFilterSaveTypeUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SAVE_FILTER_TABLE_SAVE_FAILED]: {\n\t\teffect: handleFilterTableSaveFailed,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SAVE_FILTER_TABLE_SAVE_STARTED]: {\n\t\teffect: handleFilterTableSaveStarted,\n\t\tstopPropagation: true,\n\t},\n\t[SN_SAVE_FILTER_TABLE_SAVE_SUCCEEDED]: {\n\t\teffect: handleFilterTableSaveSucceeded,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import { t } from 'sn-translate';\n\nimport { SAVE_TYPE, ROLES } from './constants';\n\nconst buildSaveTypeOptions = (userRoles = [], saveType) => {\n\tconst saveTypeOptions = [\n\t\t{\n\t\t\tid: SAVE_TYPE.USER,\n\t\t\tlabel: t('Me'),\n\t\t\tchecked: saveType === SAVE_TYPE.USER,\n\t\t},\n\t];\n\n\tlet hasGlobalRole = false;\n\tlet hasGroupRole = false;\n\tlet hasAdminRole = false;\n\n\tuserRoles.forEach((role) => {\n\t\tif (role === ROLES.ADMIN || role === ROLES.FILTER_ADMIN) {\n\t\t\thasAdminRole = true;\n\t\t} else if (role === ROLES.FILTER_GROUP) {\n\t\t\thasGroupRole = true;\n\t\t} else if (role === ROLES.FILTER_GLOBAL) {\n\t\t\thasGlobalRole = true;\n\t\t}\n\t});\n\n\tif (hasGlobalRole || hasAdminRole)\n\t\tsaveTypeOptions.push({\n\t\t\tid: SAVE_TYPE.GLOBAL,\n\t\t\tlabel: t('Everyone'),\n\t\t\tchecked: saveType === SAVE_TYPE.GLOBAL,\n\t\t});\n\n\tif (hasGroupRole || hasAdminRole)\n\t\tsaveTypeOptions.push({\n\t\t\tid: SAVE_TYPE.GROUP,\n\t\t\tlabel: t('Group'),\n\t\t\tchecked: saveType === SAVE_TYPE.GROUP,\n\t\t});\n\n\treturn saveTypeOptions;\n};\n\nexport default buildSaveTypeOptions;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { ROLES } from './constants';\n\nconst buildAdditionalQueryString = (userRoles = []) => {\n\t// Bypass group filtering if user is an admin or maint role\n\tif (userRoles?.includes(ROLES.ADMIN) || userRoles?.includes(ROLES.MAINT))\n\t\treturn '';\n\n\treturn 'sys_idINjavascript:getMyGroups()';\n};\n\nexport default buildAdditionalQueryString;\n","import '@servicenow/now-button';\nimport '@servicenow/now-input';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-radio-buttons';\nimport '@servicenow/now-record-field-lookup-connected';\nimport '../sn-record-lookup';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tSN_SAVE_FILTER_BUTTON_CLICKED,\n\tSN_SAVE_FILTER_CANCEL_CLICKED,\n\tSN_SAVE_FILTER_GROUP_FIELD_CHANGED,\n\tSN_SAVE_FILTER_LABEL_UPDATED,\n\tSN_SAVE_FILTER_SAVE_TYPE_UPDATED,\n} from './actionTypes';\nimport {\n\tCANCEL_BUTTON_ARIA,\n\tFILTER_LABEL,\n\tGROUP_PERMISSION_ARIA,\n\tPERMISSIONS_LABEL,\n\tSAVE_BUTTON_ARIA,\n\tSAVE_FILTER,\n\tSAVE_TYPE,\n\tSAVING_FILTER,\n\tSEARCH_PLACEHOLDER,\n} from './constants';\nimport buildAdditionalQueryString from './utils';\n\nconst view = ({\n\tencodedQuery,\n\tfetching,\n\tfilterLabel,\n\tgroupId,\n\tproperties = {},\n\tsaveType,\n\tsaveTypeOptions,\n}) => {\n\tconst showGroupPicker = saveType === SAVE_TYPE.GROUP;\n\tconst isSaveButtonDisabled =\n\t\t!encodedQuery ||\n\t\tfetching ||\n\t\t!filterLabel ||\n\t\t(showGroupPicker && !groupId);\n\tconst { userRoles = [] } = properties;\n\n\treturn (\n\t\t<div className=\"sn-save-filter-container\">\n\t\t\t{fetching ? (\n\t\t\t\t<now-loader label={SAVING_FILTER} sz=\"lg\" />\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<h2 className=\"title row\">{SAVE_FILTER}<\/h2>\n\t\t\t\t\t<now-input\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\tactionToDispatch: SN_SAVE_FILTER_LABEL_UPDATED,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName=\"row\"\n\t\t\t\t\t\tlabel={FILTER_LABEL}\n\t\t\t\t\t\tminLength={1}\n\t\t\t\t\t\trequired={true}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t/>\n\t\t\t\t\t<now-radio-buttons\n\t\t\t\t\t\tlabel={PERMISSIONS_LABEL}\n\t\t\t\t\t\toptions={saveTypeOptions}\n\t\t\t\t\t\tlayout=\"vertical\"\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\tactionToDispatch: SN_SAVE_FILTER_SAVE_TYPE_UPDATED,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{showGroupPicker ? (\n\t\t\t\t\t\t<sn-record-lookup\n\t\t\t\t\t\t\tadditionalQueryString={buildAdditionalQueryString(\n\t\t\t\t\t\t\t\tuserRoles\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tactionToDispatch: SN_SAVE_FILTER_GROUP_FIELD_CHANGED,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tfieldName=\"name\"\n\t\t\t\t\t\t\tlabel={GROUP_PERMISSION_ARIA}\n\t\t\t\t\t\t\tplaceholder={SEARCH_PLACEHOLDER}\n\t\t\t\t\t\t\tshowLabels={false}\n\t\t\t\t\t\t\ttableName=\"sys_user_group\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t<\/Fragment>\n\t\t\t)}\n\n\t\t\t<div className=\"save-filter-action-buttons\">\n\t\t\t\t<now-button\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tactionToDispatch: SN_SAVE_FILTER_CANCEL_CLICKED,\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"cancel-button\"\n\t\t\t\t\tconfigAria={{ 'aria-label': CANCEL_BUTTON_ARIA }}\n\t\t\t\t\tdata-test=\"cancel-filter-button\"\n\t\t\t\t\tlabel={CANCEL_BUTTON_ARIA}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t/>\n\t\t\t\t<now-button\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tactionToDispatch: SN_SAVE_FILTER_BUTTON_CLICKED,\n\t\t\t\t\t\tgroupId,\n\t\t\t\t\t\tsaveType,\n\t\t\t\t\t\tfilterLabel,\n\t\t\t\t\t}}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': SAVE_BUTTON_ARIA,\n\t\t\t\t\t}}\n\t\t\t\t\tdata-test=\"save-filter-button\"\n\t\t\t\t\tdisabled={isSaveButtonDisabled}\n\t\t\t\t\tlabel={SAVE_BUTTON_ARIA}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { encodeDecodedQueryBehavior } from '../../../../src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior';\n\nimport actionHandlers from './actions';\nimport buildSaveTypeOptions from './buildSaveTypeOptions';\nimport { saveFilterInitialState } from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-save-filter', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tdecodedQuery: { default: {} },\n\t\ttableName: { default: '', schema: { type: 'string' } },\n\t\tuserRoles: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' },\n\t\t},\n\t},\n\tinitialState: {\n\t\t...saveFilterInitialState,\n\t\tencodedQuery: '',\n\t},\n\tstyles,\n\tactionHandlers,\n\ttransformState(state) {\n\t\tconst {\n\t\t\tproperties: { userRoles },\n\t\t\tsaveType,\n\t\t} = state;\n\n\t\tconst saveTypeOptions = buildSaveTypeOptions(userRoles, saveType);\n\n\t\treturn { ...state, saveTypeOptions };\n\t},\n\tbehaviors: [encodeDecodedQueryBehavior],\n});\n","import { t } from 'sn-translate';\n\nexport const HEADER_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Delete your filter',\n\tcomment:\n\t\t'Header text for a dialog that confirms deleting a personal filter',\n});\nexport const SHARED_FILTER_HEADER_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Delete shared filter',\n\tcomment: 'Header text for a dialog that confirms deleting a shared filter',\n});\nexport const DELETE_FILTER_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Delete for me',\n\tcomment: 'Button label to confirm deleting a personal saved filter',\n});\nexport const DELETE_SHARED_FILTER_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Delete for everyone',\n\tcomment: 'Button label to confirm deleting a shared filter for all users',\n});\nexport const LOAD_FILTER_ARIA = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Load a filter',\n\tcomment:\n\t\t'Accessibility label for a button that opens a list of saved filters',\n});\nexport const POPOVER_TRIGGER_DISPLAY_NAME = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Saved filters',\n\tcomment: 'Label for a button or menu that shows a list of saved filters',\n});\nexport const SAVE_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Save',\n\tcomment: 'Label for a button that saves the current filter',\n});\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\n\nimport {\n\tSN_LOAD_FILTER_DELETE_FILTER_FAILED,\n\tSN_LOAD_FILTER_DELETE_FILTER_SUCCEEDED,\n} from './actionTypes';\n\nexport default createHttpEffect('/api/now/ui/saved_filters/:table_name', {\n\tmethod: 'DELETE',\n\tpathParams: ['table_name'],\n\tqueryParams: 'sys_id',\n\tsuccessActionType: SN_LOAD_FILTER_DELETE_FILTER_SUCCEEDED,\n\terrorActionType: SN_LOAD_FILTER_DELETE_FILTER_FAILED,\n});\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\n\nimport {\n\tSN_LOAD_FILTER_FILTER_TABLE_FETCH_FAILED,\n\tSN_LOAD_FILTER_FILTER_TABLE_FETCH_STARTED,\n\tSN_LOAD_FILTER_FILTER_TABLE_FETCH_SUCCEEDED,\n} from './actionTypes';\n\nexport default createHttpEffect('/api/now/ui/saved_filters/:table_name', {\n\tmethod: 'GET',\n\tpathParams: ['table_name'],\n\tstartActionType: SN_LOAD_FILTER_FILTER_TABLE_FETCH_STARTED,\n\tsuccessActionType: SN_LOAD_FILTER_FILTER_TABLE_FETCH_SUCCEEDED,\n\terrorActionType: SN_LOAD_FILTER_FILTER_TABLE_FETCH_FAILED,\n});\n","import { actionTypes } from '@servicenow/ui-core';\nimport flatMap from 'lodash/flatMap';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport { STATUS_TYPES } from '../now-condition-builder-row/constants';\nimport { SN_CONDITION_BUILDER_SAVE_FILTER_ERROR } from '../sn-condition-builder/actionTypes';\nimport {\n\tNOW_MODAL_FOOTER_ACTION_CLICKED,\n\tNOW_POPOVER_CONTENT_HIDDEN,\n\tNOW_POPOVER_OPENED_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nimport {\n\tNOW_MODAL_OPENED_SET,\n\tSN_LOAD_FILTER_POPOVER_CLOSED,\n\tSN_LOAD_FILTER_DELETE_CONFIRMATION_MODAL_OPENED,\n\tSN_LOAD_FILTER_DELETE_FILTER_FAILED,\n\tSN_LOAD_FILTER_DELETE_FILTER_REQUESTED,\n\tSN_LOAD_FILTER_DELETE_FILTER_SUCCEEDED,\n\tSN_LOAD_FILTER_FETCH_SAVED_FILTERS_REQUESTED,\n\tSN_LOAD_FILTER_FILTER_TABLE_FETCH_FAILED,\n\tSN_LOAD_FILTER_FILTER_TABLE_FETCH_SUCCEEDED,\n} from './actionTypes';\nimport { DELETE_FILTER_LABEL, DELETE_SHARED_FILTER_LABEL } from './constants';\nimport deleteFilterEffect from './deleteFilterEffect';\nimport fetchSavedFiltersEffect from './loadFilterEffect';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst handleFilterTableFetchSucceeded = (coeffects) => {\n\tconst { action, updateState } = coeffects;\n\tconst response = action.payload.result;\n\tconst items = parseSavedFilterResponse(response);\n\tupdateState({ savedFilters: items });\n};\n\nconst handleFilterTableFetchFailed = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties: { tableName },\n\t\tlogger,\n\t} = coeffects;\n\n\tconst additionalInfo = get(payload, 'message', JSON.stringify(payload));\n\tconst errorMessage = `Could not fetch saved filters for table ${tableName}. Try clicking the Load Saved Filters button again. If this problem persists please contact your system administrator.`;\n\tlogger.error(errorMessage, additionalInfo);\n\n\tdispatch(SN_CONDITION_BUILDER_SAVE_FILTER_ERROR, {\n\t\tinfoMessages: [\n\t\t\t{\n\t\t\t\tstatus: STATUS_TYPES.CRITICAL,\n\t\t\t\tcontent: errorMessage,\n\t\t\t},\n\t\t],\n\t});\n};\n\nexport const parseSavedFilterResponse = (data = {}) =>\n\tflatMap(Object.entries(data), ([category, items]) =>\n\t\titems.map((item) => {\n\t\t\tconst { canDelete = '', filter = '', title = '', id = '' } = item;\n\n\t\t\treturn {\n\t\t\t\tcanDelete,\n\t\t\t\tencodedQuery: filter,\n\t\t\t\tid,\n\t\t\t\tlabel: t('{0}', title),\n\t\t\t\tshared: category !== 'USER',\n\t\t\t};\n\t\t})\n\t).sort((item1, item2) => item1.label.localeCompare(item2.label));\n\nconst handlePopoverOpenedSet = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { tableName } = properties;\n\tconst { value } = payload;\n\tconst { showDeleteConfirmationModal } = state;\n\n\t// Keep the panel open when the delete button is clicked, as it triggers a confirmation modal.\n\tif (!showDeleteConfirmationModal) {\n\t\tif (value && tableName) {\n\t\t\tdispatch(SN_LOAD_FILTER_FETCH_SAVED_FILTERS_REQUESTED, {\n\t\t\t\ttable_name: tableName,\n\t\t\t});\n\t\t}\n\t\tupdateState({\n\t\t\tisPopoverOpened: !state.isPopoverOpened,\n\t\t});\n\t}\n};\n\nconst handleComponentBootstrapped = (coeffects) => {\n\tconst { properties, dispatch } = coeffects;\n\n\tconst { tableName, showLoadFilter } = properties;\n\n\tif (tableName && showLoadFilter)\n\t\tdispatch(SN_LOAD_FILTER_FETCH_SAVED_FILTERS_REQUESTED, {\n\t\t\ttable_name: tableName,\n\t\t});\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst { dispatch, action, updateState, properties } = coeffects;\n\n\tconst {\n\t\tpayload: { name, value },\n\t} = action;\n\n\tconst { showLoadFilter } = properties;\n\n\tif (name === 'tableName') {\n\t\tupdateState({ savedFilters: [] });\n\n\t\tif (showLoadFilter && value) {\n\t\t\tdispatch(SN_LOAD_FILTER_FETCH_SAVED_FILTERS_REQUESTED, {\n\t\t\t\ttable_name: value,\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleDeleteConfirmationModalOpened = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { filter } = payload;\n\n\tupdateState({\n\t\tselectedFilter: filter,\n\t\tshowDeleteConfirmationModal: true,\n\t});\n};\n\nconst handleDeleteFilterFailed = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t\tlogger,\n\t\tproperties: { tableName },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { filter } = payload;\n\n\tconst additionalInfo = get(payload, 'message', JSON.stringify(payload));\n\tconst errorMessage = `Could not delete the saved filter ${filter?.label} for table ${tableName}. Try clicking the Delete Filter button again. If this problem persists please contact your system administrator.`;\n\tlogger.error(errorMessage, additionalInfo);\n\n\tupdateState({\n\t\tisPopoverOpened: false,\n\t\tshowDeleteConfirmationModal: false,\n\t});\n\n\tdispatch(SN_CONDITION_BUILDER_SAVE_FILTER_ERROR, {\n\t\tinfoMessages: [\n\t\t\t{\n\t\t\t\tstatus: STATUS_TYPES.CRITICAL,\n\t\t\t\tcontent: errorMessage,\n\t\t\t},\n\t\t],\n\t});\n};\n\nconst handleDeleteFilterSucceeded = (coeffects) => {\n\tconst { state, updateState } = coeffects;\n\n\tconst { selectedFilter, savedFilters } = state;\n\n\tconst updatedFilters = savedFilters.filter(\n\t\t(filter) => filter.id !== selectedFilter.id\n\t);\n\n\tconst index = savedFilters.findIndex(\n\t\t(filter) => filter.id === selectedFilter.id\n\t);\n\n\tconst isFocusOnLastDeleteButton =\n\t\tindex === savedFilters.length - 1 && index > -1;\n\n\tupdateState({\n\t\tisFocusOnLastDeleteButton,\n\t\tsavedFilters: updatedFilters,\n\t\tshowDeleteConfirmationModal: false,\n\t});\n};\n\nconst handleFocusSaveFilterPopoverTrigger = (coeffects) => {\n\tconst { host } = coeffects;\n\n\tconst savePopoverTrigger = host.shadowRoot.querySelector(\n\t\t'sn-popover-trigger'\n\t);\n\tconst nativeButton = savePopoverTrigger?.shadowRoot.querySelector(\n\t\t'.sn-popover-trigger'\n\t);\n\tnativeButton?.focus?.();\n};\n\nconst handleModalActions = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t\tstate: { selectedFilter },\n\t\tproperties: { tableName },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst deleteLabels = [DELETE_FILTER_LABEL, DELETE_SHARED_FILTER_LABEL];\n\tif (deleteLabels.includes(payload.footerAction?.label)) {\n\t\tdispatch(SN_LOAD_FILTER_DELETE_FILTER_REQUESTED, {\n\t\t\ttable_name: tableName,\n\t\t\tsys_id: selectedFilter.id,\n\t\t});\n\t} else {\n\t\t// If the cancel footer button is clicked, hide modal\n\t\tupdateState({ showDeleteConfirmationModal: false });\n\t}\n};\n\nconst handleModalOpenedSet = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { value } = payload;\n\n\tif (value === false) {\n\t\tupdateState({ showDeleteConfirmationModal: false });\n\t}\n};\n\nconst handleFilterPopoverClosed = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({ isPopoverOpened: false });\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrapped,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_MODAL_FOOTER_ACTION_CLICKED]: {\n\t\teffect: handleModalActions,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_MODAL_OPENED_SET]: {\n\t\teffect: handleModalOpenedSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_CONTENT_HIDDEN]: {\n\t\teffect: handleFocusSaveFilterPopoverTrigger,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\teffect: handlePopoverOpenedSet,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_POPOVER_CLOSED]: {\n\t\teffect: handleFilterPopoverClosed,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_FETCH_SAVED_FILTERS_REQUESTED]: {\n\t\t...fetchSavedFiltersEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_FILTER_TABLE_FETCH_SUCCEEDED]: {\n\t\teffect: handleFilterTableFetchSucceeded,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_FILTER_TABLE_FETCH_FAILED]: {\n\t\teffect: handleFilterTableFetchFailed,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_DELETE_CONFIRMATION_MODAL_OPENED]: {\n\t\teffect: handleDeleteConfirmationModalOpened,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_DELETE_FILTER_FAILED]: {\n\t\teffect: handleDeleteFilterFailed,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_DELETE_FILTER_REQUESTED]: {\n\t\t...deleteFilterEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_DELETE_FILTER_SUCCEEDED]: {\n\t\teffect: handleDeleteFilterSucceeded,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY,\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_DECODED_QUERY_UPDATED,\n} from '../../../behaviors/conditionBuilderConnectedBehavior/decodeEncodedQueryBehavior/constants';\nimport { NOW_PREDICATE_BUILDER_METRIC_TRACKED } from '../../now-predicate-builder/actionTypes';\nimport { SN_CONDITION_BUILDER_SAVED_FILTER_SELECTED } from '../../sn-condition-builder/actionTypes';\nimport { LOAD_FILTER_EVENT } from '../../sn-condition-builder/telemetryEvents.constants';\nimport {\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_POPOVER_CONTENT_HIDDEN,\n\tNOW_POPOVER_OPENED_SET,\n} from '../../sn-value-editor-commons/actionTypes';\nimport {\n\tSN_LOAD_FILTER_POPOVER_CLOSED,\n\tSN_LOAD_FILTER_DELETE_CONFIRMATION_MODAL_OPENED,\n} from '../actionTypes';\n\nimport {\n\tSN_LOAD_FILTER_CONTENT_POPOVER_ITEM_CLICKED,\n\tSN_LOAD_FILTER_CONTENT_POPOVER_SET_FOCUS_ON_LAST_DELETE_BUTTON,\n\tSN_LOAD_FILTER_LOADING_COMPLETED,\n\tSN_LOAD_FILTER_LOADING_INITIATED,\n} from './actionTypes';\nimport { FILTER_ACTION_REMOVE, SAVE_FILTER_POPOVER } from './constants';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst handleComponentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (name === 'isFocusOnLastDeleteButton' && value === true) {\n\t\tdispatch(\n\t\t\tSN_LOAD_FILTER_CONTENT_POPOVER_SET_FOCUS_ON_LAST_DELETE_BUTTON\n\t\t);\n\t}\n};\n\nconst handleButtonIconicClicked = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tproperties: { tableName },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst { actionType, filter } = action.payload;\n\n\tif (actionType === FILTER_ACTION_REMOVE) {\n\t\tdispatch(SN_LOAD_FILTER_DELETE_CONFIRMATION_MODAL_OPENED, {\n\t\t\tfilter,\n\t\t\ttableName,\n\t\t});\n\t}\n};\n\nconst handlePopoverOpenedSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value, source },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (source === SAVE_FILTER_POPOVER) {\n\t\tupdateState({ isPopoverOpened: value });\n\t}\n};\n\nconst handleDecodedQueryUpdated = (coeffects) => {\n\tconst { dispatch, state } = coeffects;\n\tconst { decodeEncodedQueryBehavior } = state.behaviors;\n\tconst { decodedQuery } = decodeEncodedQueryBehavior;\n\n\t// In lieu of SN_CONDITION_BUILDER_DECODED_QUERY_UPDATED which requires a modelType\n\tdispatch(SN_CONDITION_BUILDER_SAVED_FILTER_SELECTED, {\n\t\tvalue: decodedQuery,\n\t});\n\n\tdispatch(SN_LOAD_FILTER_LOADING_COMPLETED);\n\n\tdispatch(SN_LOAD_FILTER_POPOVER_CLOSED);\n};\n\nconst handleFocusSaveFilterPopoverTrigger = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t} = coeffects;\n\n\tif (payload?.source === SAVE_FILTER_POPOVER) {\n\t\tconst seismicHoist = document.querySelector(\n\t\t\t'now-popover-panel > seismic-hoist'\n\t\t);\n\t\tconst savePopoverTrigger = seismicHoist?.shadowRoot.querySelector(\n\t\t\t'sn-popover-trigger'\n\t\t);\n\t\tconst nativeButton = savePopoverTrigger?.shadowRoot.querySelector(\n\t\t\t'.sn-popover-trigger'\n\t\t);\n\t\tnativeButton?.focus?.();\n\t}\n};\n\nconst handleSaveFilterSelected = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tproperties: { tableName },\n\t} = coeffects;\n\n\tconst { filter } = action.payload;\n\t// eslint-disable-next-line no-unused-vars\n\tconst { canDelete, encodedQuery, sublabel, ...metadata } = filter || {};\n\n\tdispatch(NOW_PREDICATE_BUILDER_METRIC_TRACKED, {\n\t\teventName: LOAD_FILTER_EVENT,\n\t\tmetadata,\n\t\ttrackFieldTypesAndOperators: false,\n\t});\n\n\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY, {\n\t\tencodedQuery,\n\t\ttableName,\n\t});\n\n\tdispatch(SN_LOAD_FILTER_LOADING_INITIATED);\n};\n\nconst handleSetFocusOnLastDeleteButton = () => {\n\tconst seismicHoist = document.querySelector(\n\t\t'now-popover-panel > seismic-hoist'\n\t);\n\tconst snLoadFilterContentPopover = seismicHoist?.shadowRoot.querySelector(\n\t\t'[data-test-id=\"sn-load-filter-content-popover\"]'\n\t);\n\tconst filterListItems = snLoadFilterContentPopover?.querySelectorAll(\n\t\t'.sn-load-filter-list-item'\n\t);\n\n\tif (filterListItems?.length > 0) {\n\t\tconst lastFilterListItem = filterListItems[filterListItems.length - 1];\n\t\tconst nowIconicButton = lastFilterListItem.querySelector(\n\t\t\t'now-button-iconic'\n\t\t);\n\t\tconst nativeButton = nowIconicButton?.shadowRoot.querySelector(\n\t\t\t'button'\n\t\t);\n\n\t\tnativeButton?.focus();\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleComponentPropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: handleButtonIconicClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_CONTENT_HIDDEN]: {\n\t\teffect: handleFocusSaveFilterPopoverTrigger,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\teffect: handlePopoverOpenedSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_PREDICATE_BUILDER_BEHAVIOR_DECODED_QUERY_UPDATED]: {\n\t\teffect: handleDecodedQueryUpdated,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_CONTENT_POPOVER_ITEM_CLICKED]: {\n\t\teffect: handleSaveFilterSelected,\n\t\tstopPropagation: true,\n\t},\n\t[SN_LOAD_FILTER_CONTENT_POPOVER_SET_FOCUS_ON_LAST_DELETE_BUTTON]: {\n\t\teffect: handleSetFocusOnLastDeleteButton,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","import '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport '../../sn-popover-trigger';\nimport { t } from 'sn-translate';\n\nimport { REMOVE_ICON_TOOLTIP } from '../../sn-sort-by-row/constants';\n\nimport { SN_LOAD_FILTER_CONTENT_POPOVER_ITEM_CLICKED } from './actionTypes';\nimport {\n\tEMPTY_FILTERS_CONTENT,\n\tFILTER_ACTION_REMOVE,\n\tSAVE_ACTIVE_FILTERS_LABEL,\n\tSAVE_FILTER_POPOVER,\n} from './constants';\n\nconst view = (state, dispatch) => {\n\tconst {\n\t\tisPopoverOpened,\n\t\tproperties: {\n\t\t\tdecodedQuery,\n\t\t\tsavedFilters,\n\t\t\tshowSaveFilter,\n\t\t\ttableName,\n\t\t\tuserRoles,\n\t\t},\n\t} = state;\n\n\treturn (\n\t\t<div data-testId=\"sn-load-filter-content-popover\">\n\t\t\t<div>\n\t\t\t\t{showSaveFilter && (\n\t\t\t\t\t<now-popover\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t'aria-label': SAVE_ACTIVE_FILTERS_LABEL,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thide-tail={true}\n\t\t\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\t\t\tmanage-opened={true}\n\t\t\t\t\t\topened={isPopoverOpened}\n\t\t\t\t\t\tpositions={[\n\t\t\t\t\t\t\t{ target: 'top-start', content: 'top-start' },\n\t\t\t\t\t\t\t{ target: 'top-end', content: 'top-end' },\n\t\t\t\t\t\t]}\n\t\t\t\t\t\tappend-to-payload={{ source: SAVE_FILTER_POPOVER }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<sn-popover-trigger\n\t\t\t\t\t\t\tcomponentTag=\"sn-load-filter-content-popover\"\n\t\t\t\t\t\t\tdisplayName={SAVE_ACTIVE_FILTERS_LABEL}\n\t\t\t\t\t\t\topened={isPopoverOpened}\n\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\ticon=\"save-outline\"\n\t\t\t\t\t\t\t\tslot=\"iconStart\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/sn-popover-trigger>\n\t\t\t\t\t\t<sn-save-filter\n\t\t\t\t\t\t\tdecodedQuery={decodedQuery}\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\ttableName={tableName}\n\t\t\t\t\t\t\tuserRoles={userRoles}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/now-popover>\n\t\t\t\t)}\n\n\t\t\t\t{savedFilters.length === 0 && (\n\t\t\t\t\t<div className=\"sn-load-filter-empty-state\">\n\t\t\t\t\t\t<span>{EMPTY_FILTERS_CONTENT}<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t\t{savedFilters.map((filter, index) => {\n\t\t\t\t\tconst filterLabel = filter?.label;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"sn-load-filter-list-item\"\n\t\t\t\t\t\t\tdata-testId=\"sn-load-filter-list-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tSN_LOAD_FILTER_CONTENT_POPOVER_ITEM_CLICKED,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('{0}', filter.label)}\n\t\t\t\t\t\t\t<\/now-button-bare>\n\t\t\t\t\t\t\t<div className=\"sn-load-filter-list-actions\">\n\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\t\t\tdisabled={!filter.canDelete}\n\t\t\t\t\t\t\t\t\ttooltipContent={REMOVE_ICON_TOOLTIP}\n\t\t\t\t\t\t\t\t\ticon=\"trash-outline\"\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\t\t\t\tactionType: FILTER_ACTION_REMOVE,\n\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\t'aria-label': t(\n\t\t\t\t\t\t\t\t\t\t\t'Remove {0} filter',\n\t\t\t\t\t\t\t\t\t\t\tfilterLabel\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tdata-testId={`remove-filter-button-${index}`}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport decodeEncodedQueryBehavior from '../../../behaviors/conditionBuilderConnectedBehavior/decodeEncodedQueryBehavior/decodeEncodedQueryBehavior';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-load-filter-content-popover', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tdecodedQuery: { default: {} },\n\t\tisFocusOnLastDeleteButton: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\tsavedFilters: { default: [], schema: { type: 'array' } },\n\t\tshowSaveFilter: { default: true, schema: { type: 'boolean' } },\n\t\ttableName: { default: '', schema: { type: 'string' } },\n\t\tuserRoles: { default: [], schema: { type: 'array' } },\n\t},\n\tinitialState: {\n\t\tisPopoverOpened: false,\n\t\tselectedFilter: null,\n\t},\n\tstyles,\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: decodeEncodedQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tdisableFetchOnBootstrap: true,\n\t\t\t\tdisableFetchOnPropertyChanged: true,\n\t\t\t},\n\t\t},\n\t],\n});\n","import '@servicenow/now-icon';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-popover';\nimport '../sn-popover-trigger';\nimport './sn-load-filter-content-popover';\nimport { t } from 'sn-translate';\n\nimport {\n\tDELETE_FILTER_LABEL,\n\tDELETE_SHARED_FILTER_LABEL,\n\tHEADER_LABEL,\n\tLOAD_FILTER_ARIA,\n\tPOPOVER_TRIGGER_DISPLAY_NAME,\n\tSAVE_LABEL,\n\tSHARED_FILTER_HEADER_LABEL,\n} from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tisFocusOnLastDeleteButton,\n\t\tisPopoverOpened,\n\t\tproperties: { decodedQuery, showLoadFilter, showSaveFilter, tableName },\n\t\tsavedFilters = [],\n\t\tselectedFilter,\n\t\tshowDeleteConfirmationModal,\n\t\tuserRoles,\n\t} = state;\n\n\tconst fullscreen = false;\n\t// When shared is undefined (e.g., stale state or filter from alternate code path),\n\t// default to personal filter messaging as the safer, less destructive option\n\tconst isPersonal = selectedFilter.shared !== true;\n\tconst headerLabel = isPersonal ? HEADER_LABEL : SHARED_FILTER_HEADER_LABEL;\n\tconst modalContent = isPersonal\n\t\t? t(\n\t\t\t\t\"{0} will no longer be available in your saved filters. This action can't be undone.\",\n\t\t\t\tselectedFilter.label\n\t\t  )\n\t\t: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage:\n\t\t\t\t\t\"This shared filter will no longer be available to all users. This action can't be undone.\",\n\t\t\t\tcomment:\n\t\t\t\t\t'Body text for a dialog that confirms deleting a shared filter',\n\t\t  });\n\n\tconst renderLoadSaveFilter = () => {\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\tconfigAria={{ 'aria-label': LOAD_FILTER_ARIA }}\n\t\t\t\tdata-test=\"load-filter-popover\"\n\t\t\t\thide-tail={true}\n\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\tmanage-opened={true}\n\t\t\t\topened={isPopoverOpened}\n\t\t\t\tpositions={[\n\t\t\t\t\t{ target: 'bottom-start', content: 'top-start' },\n\t\t\t\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<sn-popover-trigger\n\t\t\t\t\tdisplayName={POPOVER_TRIGGER_DISPLAY_NAME}\n\t\t\t\t\topened={isPopoverOpened}\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t>\n\t\t\t\t\t<now-icon icon=\"caret-down-fill\" slot=\"icon\" size=\"sm\" />\n\t\t\t\t<\/sn-popover-trigger>\n\t\t\t\t{isPopoverOpened ? (\n\t\t\t\t\t<sn-load-filter-content-popover\n\t\t\t\t\t\tdecodedQuery={decodedQuery}\n\t\t\t\t\t\tisFocusOnLastDeleteButton={isFocusOnLastDeleteButton}\n\t\t\t\t\t\tsavedFilters={savedFilters}\n\t\t\t\t\t\tshowSaveFilter={showSaveFilter}\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\ttableName={tableName}\n\t\t\t\t\t\tuserRoles={userRoles}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/now-popover>\n\t\t);\n\t};\n\n\tconst renderSaveFilter = () => {\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\tconfigAria={{ 'aria-label': LOAD_FILTER_ARIA }}\n\t\t\t\tdata-test=\"load-filter-popover\"\n\t\t\t\thide-tail={true}\n\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\tmanage-opened={true}\n\t\t\t\topened={isPopoverOpened}\n\t\t\t\tpositions={[\n\t\t\t\t\t{ target: 'bottom-start', content: 'top-start' },\n\t\t\t\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<sn-popover-trigger\n\t\t\t\t\tdisplayName={SAVE_LABEL}\n\t\t\t\t\tcomponentTag=\"sn-save-filter-trigger\"\n\t\t\t\t\topened={isPopoverOpened}\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t/>\n\t\t\t\t{isPopoverOpened ? (\n\t\t\t\t\t<sn-save-filter\n\t\t\t\t\t\tdecodedQuery={decodedQuery}\n\t\t\t\t\t\ttableName={tableName}\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\tuserRoles={userRoles}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/now-popover>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className=\"sn-load-filter-container\">\n\t\t\t{showDeleteConfirmationModal ? (\n\t\t\t\t<now-modal\n\t\t\t\t\tcontent={modalContent}\n\t\t\t\t\tfooter-actions={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: isPersonal\n\t\t\t\t\t\t\t\t? DELETE_FILTER_LABEL\n\t\t\t\t\t\t\t\t: DELETE_SHARED_FILTER_LABEL,\n\t\t\t\t\t\t\tvariant: 'primary-negative',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Cancel',\n\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t\theader-label={headerLabel}\n\t\t\t\t\tmanageOpened={true}\n\t\t\t\t\tnow-hoist\n\t\t\t\t\topened={showDeleteConfirmationModal}\n\t\t\t\t\tsize={fullscreen ? 'fullscreen' : 'sm'}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{showLoadFilter\n\t\t\t\t? renderLoadSaveFilter()\n\t\t\t\t: showSaveFilter\n\t\t\t\t? renderSaveFilter()\n\t\t\t\t: null}\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { getGlobalSessionUserRoles } from '../../../commons/utils/uxGlobalsUtils';\n\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\nconst USER_ROLES = getGlobalSessionUserRoles();\nconst PRESOURCE_USER_ROLES = Array.isArray(USER_ROLES) ? USER_ROLES : [];\n\ncreateCustomElement('sn-filter-manager', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tdecodedQuery: { default: {} },\n\t\tshowLoadFilter: { default: true, schema: { type: 'boolean' } },\n\t\tshowSaveFilter: { default: true, schema: { type: 'boolean' } },\n\t\ttableName: { default: '', schema: { type: 'string' } },\n\t},\n\tinitialState: {\n\t\tisFocusOnLastDeleteButton: false,\n\t\tisPopoverOpened: false,\n\t\tsavedFilters: [],\n\t\tselectedFilter: {},\n\t\tshowDeleteConfirmationModal: false,\n\t\tuserRoles: PRESOURCE_USER_ROLES,\n\t},\n\tstyles,\n\tactionHandlers,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-accordion';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-highlighted-value';\n\nimport { t } from 'sn-translate';\n\nimport { FIXED_QUERY_MODE } from '../sn-condition-builder/constants';\nimport '../sn-conditions';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tconditions,\n\t\t\tcustomizations,\n\t\t\tfetchedComponents,\n\t\t\tfieldOperatorRelationship,\n\t\t\tmetadataCache,\n\t\t\tshowPill,\n\t\t\tsource,\n\t\t\tfixedQueryMode,\n\t\t\tshowLabels,\n\t\t},\n\t} = state;\n\n\treturn (\n\t\t<div className=\"fixed-query-wrapper\">\n\t\t\t<div className=\"accordion-container\">\n\t\t\t\t<now-accordion headingLevel={3} hideDividers={true}>\n\t\t\t\t\t<now-accordion-item\n\t\t\t\t\t\theader={{\n\t\t\t\t\t\t\tlabel: t('Fixed filters ({count})', {\n\t\t\t\t\t\t\t\tcount: conditions.length,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tsize: 'sm',\n\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t\tweight: 'normal',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-icon slot=\"identifier\" icon=\"lock-fill\" />\n\t\t\t\t\t\t{showPill &&\n\t\t\t\t\t\tfixedQueryMode !== FIXED_QUERY_MODE.SIMPLE ? (\n\t\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\t\tcolor=\"info\"\n\t\t\t\t\t\t\t\tlabel={t('Distributed Mode')}\n\t\t\t\t\t\t\t\tslot=\"metadata\"\n\t\t\t\t\t\t\t\ttooltipContent={t(\n\t\t\t\t\t\t\t\t\t'Fixed filters are automatically applied to each condition set'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<div slot=\"content\" className=\"accordion-content\">\n\t\t\t\t\t\t\t<sn-conditions\n\t\t\t\t\t\t\t\tconditionsModel={conditions}\n\t\t\t\t\t\t\t\tcustomizations={customizations}\n\t\t\t\t\t\t\t\tfetchedComponents={fetchedComponents}\n\t\t\t\t\t\t\t\tfieldOperatorRelationship={\n\t\t\t\t\t\t\t\t\tfieldOperatorRelationship\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\t\t\t\t\treadOnly={true}\n\t\t\t\t\t\t\t\tshowAddConditionSet={false}\n\t\t\t\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\t\t\t\tsource={source}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/now-accordion-item>\n\t\t\t\t<\/now-accordion>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { FIXED_QUERY_MODE } from '../sn-condition-builder/constants';\n\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-fixed-query-wrapper', {\n\tinitialState: {},\n\tproperties: {\n\t\tconditions: {\n\t\t\tdefault: [],\n\t\t},\n\t\tcustomizations: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tfetchedComponents: {\n\t\t\tdefault: {},\n\t\t},\n\t\tfieldOperatorRelationship: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tfixedQueryMode: {\n\t\t\tdefault: FIXED_QUERY_MODE.SIMPLE,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmetadataCache: {\n\t\t\tdefault: {},\n\t\t},\n\t\tshowLabels: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\tshowPill: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tsource: {\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tstyles,\n\tview,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"];\n\t\t\t\t} });","export const SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH =\n\t'SN_PREDICATE_BUILDER_TAXONOMY_#QUERY_FETCH';\nexport const SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_START =\n\t'SN_PREDICATE_BUILDER_TAXONOMY_#QUERY_FETCH_START';\nexport const SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_SUCCESS =\n\t'SN_PREDICATE_BUILDER_TAXONOMY_#QUERY_FETCH_SUCCESS';\nexport const SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_FAILURE =\n\t'SN_PREDICATE_BUILDER_TAXONOMY_#QUERY_FETCH_FAILURE';\n\nexport const NOW_CHECKBOX_CHECKED_SET = 'NOW_CHECKBOX#CHECKED_SET';\nexport const NOW_RADIO_BUTTONS_VALUE_SET = 'NOW_RADIO_BUTTONS#VALUE_SET';\n\nexport const NOW_DATE_TIME_INTERVAL_VALUE_START_SET =\n\t'NOW_DATE_TIME_INTERVAL#VALUE_START_SET';\n\nexport const NOW_DATE_TIME_INTERVAL_VALUE_END_SET =\n\t'NOW_DATE_TIME_INTERVAL#VALUE_END_SET';\n\nexport const NOW_DATE_TIME_INTERVAL_VALUES_START_END_SET =\n\t'NOW_DATE_TIME_INTERVAL#VALUES_START_END_SET';\n\nexport const NOW_DROPDOWN_LIST_SELECTED_ITEMS_SET =\n\t'NOW_DROPDOWN_LIST#SELECTED_ITEMS_SET';\n","import { t } from 'sn-translate';\n\nexport const MAX_CHOICES_COUNT = 5;\n\nexport const IS_ONE_OF_LABEL = t({\n\tcode: 'now_predicate_builder__taxonomy',\n\tmessage: 'is one of',\n\tcomment: 'Label for the is one of operator',\n});\n\nexport const ANYTHING_LABEL = t({\n\tcode: 'now_predicate_builder__taxonomy',\n\tmessage: 'is anything',\n\tcomment: 'Label for the is anything of operator',\n});\n\nexport const IS_LABEL = t({\n\tcode: 'now_predicate_builder__taxonomy',\n\tmessage: 'is',\n\tcomment: 'Label for the is operator',\n});\n\nexport const IS_ONE_OF_INTERNAL_VALUE = 'IN';\n\nexport const IS_INTERNAL_VALUE = '=';\n\nexport const ANYTHING_INTERNAL_VALUE = 'ANYTHING';\n","import deviceInfoContext from '@devsnc/library-uxf';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\n\nimport { NOW_PREDICATE_BUILDER_PREDICATE_ACTION } from '../sn-predicate-builder/actionTypes';\nimport { DATA_MODEL_ACTIONS } from '../sn-predicate-builder/constants';\nimport {\n\tSN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH,\n\tSN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_FAILURE,\n\tSN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_START,\n\tSN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_SUCCESS,\n} from '../sn-taxonomy-commons/constants';\nimport { query, variableList } from '../sn-value-editor-choice/actions';\nimport {\n\tNOW_BUTTON_BARE_CLICKED,\n\tNOW_PILL_SELECTED_SET,\n} from '../sn-value-editor-commons/actionTypes';\n\nimport {\n\tANYTHING_INTERNAL_VALUE,\n\tANYTHING_LABEL,\n\tIS_INTERNAL_VALUE,\n\tIS_LABEL,\n\tIS_ONE_OF_INTERNAL_VALUE,\n\tIS_ONE_OF_LABEL,\n\tMAX_CHOICES_COUNT,\n} from './constants';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_TREE_READY,\n} = actionTypes;\n\nconst getOperatorByCount = (count = 0) => {\n\tif (count === 1) {\n\t\treturn {\n\t\t\tinternalValue: IS_INTERNAL_VALUE,\n\t\t\tdisplayValue: IS_LABEL,\n\t\t};\n\t}\n\n\tif (count > 1) {\n\t\treturn {\n\t\t\tinternalValue: IS_ONE_OF_INTERNAL_VALUE,\n\t\t\tdisplayValue: IS_ONE_OF_LABEL,\n\t\t};\n\t}\n\n\treturn {\n\t\tinternalValue: ANYTHING_INTERNAL_VALUE,\n\t\tdisplayValue: ANYTHING_LABEL,\n\t};\n};\n\nconst hasNoEffectiveChange = (name, value, field, predicateContext) => {\n\tif (name === 'predicateContext') {\n\t\t// Only care if the source actually changed\n\t\treturn predicateContext?.source === value?.source;\n\t}\n\tif (name === 'field') {\n\t\t// Deep equality for field objects\n\t\treturn isEqual(field, value);\n\t}\n\treturn true; // Not relevant ⇒ treat as \"no effective change\"\n};\n\n/**\n * Effect handler for fetching taxonomy choices data.\n *\n * @type {Object}\n * @property {Function} effect - GraphQL effect for data fetching\n * @property {boolean} stopPropagation - Prevents event bubbling\n */\nconst queryFetchEffect = {\n\t...createGraphQLEffect(query, {\n\t\tvariableList,\n\t\theaderList: ['x-request-cancelable'],\n\t\tstartActionType: SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_START,\n\t\tsuccessActionType: SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_SUCCESS,\n\t\terrorActionType: SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_FAILURE,\n\t}),\n\tstopPropagation: true,\n};\n\n/**\n * Handles component bootstrapping, initializing with field and source data.\n *\n * @param {Object} coeffects - The coeffects object containing properties and dispatch function\n * @returns {void}\n */\nconst handleComponentBootstrapped = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tfield,\n\t\t\tpredicateContext: { source },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst variables = {\n\t\ttable: source,\n\t\tcolumn: field.internalValue,\n\t};\n\n\tdispatch(SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH, variables);\n};\n\n/**\n * Handles property change events for the component.\n *\n * This function listens for changes to specific properties and triggers a\n * re-fetch of taxonomy choices when either the predicateContext or field changes.\n *\n * @param {Object} coeffects - The coeffects object containing the action payload\n * @param {Object} coeffects.action.payload - The action payload containing the changed property name\n * @param {string} coeffects.action.payload.name - The name of the changed property\n * @returns {void}\n */\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tproperties: { field, predicateContext },\n\t} = coeffects;\n\n\t// Ignore unrelated property updates\n\tif (!(name === 'predicateContext' || name === 'field')) return;\n\n\t// Bail if nothing actually changed\n\tif (hasNoEffectiveChange(name, value, field, predicateContext)) return;\n\n\thandleComponentBootstrapped(coeffects);\n};\n\n/**\n * Handles pill selection events, updating the state with selected values.\n *\n * @param {Object} coeffects - The coeffects object containing state and dispatch functions\n * @returns {void}\n */\nconst handlePillSelected = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value, internalValue, displayValue },\n\t\t},\n\t\tproperties: { conditionId, field },\n\t\tstate: { selectedChoices },\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\t// Toggle selection of the item\n\tlet newSelectedChoices = [...selectedChoices];\n\tconst itemIndex = newSelectedChoices.findIndex(\n\t\t(item) => item.internalValue === internalValue\n\t);\n\n\tif (value && itemIndex === -1) {\n\t\tnewSelectedChoices.push({ internalValue, displayValue });\n\t} else if (!value) {\n\t\tnewSelectedChoices = newSelectedChoices.filter(\n\t\t\t(item) => item.internalValue !== internalValue\n\t\t);\n\t}\n\n\t// Update state with new selection\n\tconst selectedOperator = getOperatorByCount(newSelectedChoices.length);\n\tupdateState({ selectedChoices: newSelectedChoices, selectedOperator });\n\n\t// Format values for predicate action\n\tconst displayValueMutated = newSelectedChoices\n\t\t.map((item) => item.displayValue)\n\t\t.join(',');\n\n\tconst internalValueMutated = newSelectedChoices\n\t\t.map((item) => item.internalValue)\n\t\t.join(',');\n\n\tconst val = newSelectedChoices.length\n\t\t? {\n\t\t\t\tinternalValue: internalValueMutated,\n\t\t\t\tdisplayValue: displayValueMutated,\n\t\t  }\n\t\t: undefined;\n\n\t// Dispatch predicate action\n\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_ACTION, {\n\t\teventName: DATA_MODEL_ACTIONS.UPDATE_PREDICATE_PROPERTIES,\n\t\tpredicateProperties: {\n\t\t\tconditionId,\n\t\t\tfield,\n\t\t\toperator: selectedOperator,\n\t\t\tval,\n\t\t},\n\t});\n};\n\n/**\n * Handles successful query fetch, updating the state with fetched choices.\n *\n * @param {Object} coeffects - The coeffects object containing state and dispatch functions\n */\nconst handleQueryFetchSuccess = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { data },\n\t\t},\n\t\tstate: { hasHiddenChoices },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst choices = get(data, 'GlideChoiceColumn_Query.getChoiceFields') || [];\n\tconst formattedChoices = choices\n\t\t.map((item) => ({\n\t\t\tinternalValue: item.rawValue,\n\t\t\tdisplayValue: item.displayValue,\n\t\t}))\n\t\t.filter((item) => item.internalValue !== 'null');\n\n\t// Match selected items based on internalValue, and trim whitespace\n\tconst selectedInternalValues = (\n\t\tcoeffects.properties.val?.internalValue || ''\n\t)\n\t\t.split(',')\n\t\t.map((value) => value.trim());\n\n\tconst selectedChoices = formattedChoices.filter((choice) =>\n\t\tselectedInternalValues.includes(choice.internalValue)\n\t);\n\n\tlet choicesInView =\n\t\tformattedChoices.length > MAX_CHOICES_COUNT && hasHiddenChoices\n\t\t\t? formattedChoices.slice(0, MAX_CHOICES_COUNT)\n\t\t\t: formattedChoices;\n\n\tconst newHasHiddenChoices =\n\t\thasHiddenChoices !== false &&\n\t\tformattedChoices.length > MAX_CHOICES_COUNT;\n\n\tupdateState({\n\t\tchoices: formattedChoices,\n\t\tchoicesInView,\n\t\thasHiddenChoices: newHasHiddenChoices,\n\t\tselectedChoices,\n\t});\n};\n\n/**\n * Handles button click events to toggle between showing all choices and limited view.\n *\n * @param {Object} coeffects - The coeffects object containing state and dispatch functions\n */\nconst handleButtonClicked = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: { hasHiddenChoices, choices },\n\t} = coeffects;\n\n\tconst updatedToggleState = !hasHiddenChoices;\n\n\tupdateState({\n\t\thasHiddenChoices: updatedToggleState,\n\t\tchoicesInView: updatedToggleState\n\t\t\t? choices.slice(0, MAX_CHOICES_COUNT)\n\t\t\t: choices,\n\t});\n};\n\nconst handleComponentDomTreeReady = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({\n\t\tdeviceType: deviceInfoContext?.deviceInfo?.type,\n\t});\n};\n\n/**\n * Action handlers map for the taxonomy row choice component.\n *\n * @type {Object}\n * @property {Object} [COMPONENT_BOOTSTRAPPED] - Handler for component initialization\n * @property {Object} [NOW_PILL_SELECTED_SET] - Handler for pill selection events\n * @property {Object} [SN_TAXONOMY_COMPONENTS_QUERY_FETCH] - Handler for query fetch\n * @property {Object} [SN_TAXONOMY_COMPONENTS_QUERY_FETCH_SUCCESS] - Handler for successful query fetch\n * @property {Object} [NOW_BUTTON_BARE_CLICKED] - Handler for button click events\n */\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrapped,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleComponentDomTreeReady,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_PILL_SELECTED_SET]: {\n\t\teffect: handlePillSelected,\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH]: queryFetchEffect,\n\t[SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_SUCCESS]: {\n\t\teffect: handleQueryFetchSuccess,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\teffect: handleButtonClicked,\n\t\tstopPropagation: true,\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import classNames from 'classnames';\nimport '@servicenow/now-pill';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\n\nimport { MAX_CHOICES_COUNT } from './constants';\n\nconst getToggleButtonLabel = (hasHiddenChoices, choices = 0) => {\n\treturn hasHiddenChoices\n\t\t? t('Show more ({count})', {\n\t\t\t\tcount: choices.length - MAX_CHOICES_COUNT,\n\t\t  })\n\t\t: t({\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage: 'Show less',\n\t\t\t\tcomment: 'Label for the Show Less button',\n\t\t  });\n};\n\nconst view = (state) => {\n\tconst {\n\t\tchoices,\n\t\tchoicesInView,\n\t\tdeviceType,\n\t\thasHiddenChoices,\n\t\tselectedChoices,\n\t\tproperties: { field },\n\t} = state;\n\n\tconst baseId = `choice-${field.internalValue}`;\n\tconst labelId = `${baseId}-label`;\n\tconst pillsId = `${baseId}-pills`;\n\n\tconst isMobile = deviceType === 'mobile';\n\n\tconst containerCx = classNames('sn-taxonomy-row-choice', {\n\t\t'is-mobile': isMobile,\n\t});\n\n\treturn (\n\t\t<div className={containerCx}>\n\t\t\t<span id={labelId} className=\"label\">\n\t\t\t\t{field.displayValue}\n\t\t\t<\/span>\n\n\t\t\t<div\n\t\t\t\tid={pillsId}\n\t\t\t\tclassName=\"sn-taxonomy-row-choice-pills\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-labelledby={labelId}\n\t\t\t>\n\t\t\t\t{choicesInView.map(({ internalValue, displayValue }) => (\n\t\t\t\t\t<now-pill\n\t\t\t\t\t\tsize={isMobile ? 'md' : 'sm'}\n\t\t\t\t\t\tmanageSelected={true}\n\t\t\t\t\t\tkey={internalValue}\n\t\t\t\t\t\tlabel={displayValue}\n\t\t\t\t\t\tclassName=\"sn-taxonomy-row-choice-pill\"\n\t\t\t\t\t\tappendToPayload={{ internalValue, displayValue }}\n\t\t\t\t\t\tselected={\n\t\t\t\t\t\t\tselectedChoices.findIndex(\n\t\t\t\t\t\t\t\t(item) => item.internalValue === internalValue\n\t\t\t\t\t\t\t) !== -1\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t{choices.length > MAX_CHOICES_COUNT ? (\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tlabel={getToggleButtonLabel(hasHiddenChoices, choices)}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize={isMobile ? 'md' : 'sm'}\n\t\t\t\t\t\taria-controls={pillsId}\n\t\t\t\t\t\taria-expanded={!hasHiddenChoices}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-taxonomy-row-choice', {\n\tactionHandlers,\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\tchoices: [],\n\t\tchoicesInView: [],\n\t\tselectedChoices: [],\n\t\tselectedOperator: '',\n\t\thasHiddenChoices: true,\n\t},\n\tproperties: {\n\t\tconditionId: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tfield: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\ttype: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\toperator: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: 'is',\n\t\t\t\tinternalValue: '=',\n\t\t\t},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tval: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\tpredicateContext: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tdefault: {},\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\n});\n","import deviceInfoContext from '@devsnc/library-uxf';\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport { NOW_PREDICATE_BUILDER_PREDICATE_ACTION } from '../sn-predicate-builder/actionTypes';\nimport { DATA_MODEL_ACTIONS } from '../sn-predicate-builder/constants';\nimport {\n\tIS_INTERNAL_VALUE,\n\tIS_LABEL,\n} from '../sn-taxonomy-row-choice/constants';\nimport { NOW_TOGGLE_CHECKED_SET } from '../sn-value-editor-commons/actionTypes';\n\nconst { COMPONENT_DOM_TREE_READY } = actionTypes;\n\nconst handleCheckedSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: newValue },\n\t\t},\n\t\tproperties: { conditionId, field },\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_ACTION, {\n\t\teventName: DATA_MODEL_ACTIONS.UPDATE_PREDICATE_PROPERTIES,\n\t\tpredicateProperties: {\n\t\t\tconditionId,\n\t\t\tfield,\n\t\t\toperator: {\n\t\t\t\tinternalValue: IS_INTERNAL_VALUE,\n\t\t\t\tdisplayValue: IS_LABEL,\n\t\t\t},\n\t\t\tval: {\n\t\t\t\tinternalValue: newValue,\n\t\t\t\tdisplayValue: newValue.toString(),\n\t\t\t},\n\t\t},\n\t});\n};\n\nconst handleComponentDomTreeReady = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({\n\t\tdeviceType: deviceInfoContext?.deviceInfo?.type,\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleComponentDomTreeReady,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TOGGLE_CHECKED_SET]: {\n\t\teffect: handleCheckedSet,\n\t\tstopPropagation: true,\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import classNames from 'classnames';\nimport '@servicenow/now-toggle';\n\nconst view = (state) => {\n\tconst {\n\t\tdeviceType,\n\t\tproperties: { field, val, readOnly },\n\t} = state;\n\n\tconst id = `${field.internalValue}-label`;\n\n\tconst isMobile = deviceType === 'mobile';\n\n\tconst containerCx = classNames('sn-taxonomy-row-boolean', {\n\t\t'is-mobile': isMobile,\n\t});\n\n\treturn (\n\t\t<div className={containerCx}>\n\t\t\t<label id={id}>{field.displayValue}<\/label>\n\t\t\t<now-toggle\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-labelledby': id,\n\t\t\t\t\t'aria-label': field.displayValue,\n\t\t\t\t}}\n\t\t\t\tdisabled={readOnly}\n\t\t\t\tlabelPosition=\"start\"\n\t\t\t\tchecked={val.internalValue}\n\t\t\t\tsize={isMobile ? 'md' : 'sm'}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-taxonomy-row-boolean', {\n\tactionHandlers,\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {},\n\tproperties: {\n\t\tconditionId: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tfield: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\ttype: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\toperator: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: 'is',\n\t\t\t\tinternalValue: '=',\n\t\t\t},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tval: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\n});\n","import { NOW_PREDICATE_BUILDER_PREDICATE_ACTION } from '../sn-predicate-builder/actionTypes';\nimport { DATA_MODEL_ACTIONS } from '../sn-predicate-builder/constants';\n\nexport const dispatchPredicateAction = ({\n\tdispatch,\n\tconditionId,\n\tfield,\n\toperator,\n\tval,\n}) => {\n\tdispatch(NOW_PREDICATE_BUILDER_PREDICATE_ACTION, {\n\t\teventName: DATA_MODEL_ACTIONS.UPDATE_PREDICATE_PROPERTIES,\n\t\tpredicateProperties: {\n\t\t\tconditionId,\n\t\t\tfield,\n\t\t\toperator,\n\t\t\tval,\n\t\t},\n\t});\n};\n","import { t } from 'sn-translate';\n\nexport const ANY_DATE = 'any';\nexport const CUSTOM_DATE = 'custom_date';\nexport const DEFAULT_DATE_FORMAT = 'yyyy/MM/dd';\n\nexport const DEFAULT_DATE_SELECTIONS = [\n\t{\n\t\tid: 'any',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder__taxonomy_row_date_field',\n\t\t\tmessage: 'Any',\n\t\t\tdescription: 'Any label for the date time component',\n\t\t}),\n\t\tinternalValue: '',\n\t},\n\t{\n\t\tid: 'today',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder__taxonomy_row_date_field',\n\t\t\tmessage: 'Today',\n\t\t\tdescription: 'Today label for the date time component',\n\t\t}),\n\t\tinternalValue:\n\t\t\t'Today@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()',\n\t},\n\t{\n\t\tid: 'last_seven_days',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder__taxonomy_row_date_field',\n\t\t\tmessage: 'Last 7 days',\n\t\t\tdescription: 'Last 7 days label for the date time component',\n\t\t}),\n\t\tinternalValue:\n\t\t\t'Last 7 days@javascript:gs.beginningOfLast7Days()@javascript:gs.endOfLast7Days()',\n\t},\n\t{\n\t\tid: 'last_thirty_days',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder__taxonomy_row_date_field',\n\t\t\tmessage: 'Last 30 days',\n\t\t\tdescription: 'Last 30 days label for the date time component',\n\t\t}),\n\t\tinternalValue:\n\t\t\t'Last 30 days@javascript:gs.beginningOfLast30Days()@javascript:gs.endOfLast30Days()',\n\t},\n\t{\n\t\tid: 'custom_date',\n\t\tlabel: t({\n\t\t\tcode: 'now_predicate_builder__taxonomy_row_date_field',\n\t\t\tmessage: 'Custom date range',\n\t\t\tdescription: 'Custom date range label for the date time component',\n\t\t}),\n\t},\n];\n\nexport const END_DATE_LABEL = t({\n\tcode: 'now_predicate_builder__taxonomy_row_date_field',\n\tmessage: 'End date',\n\tdescription: 'Label for the date time component',\n});\n\nexport const ISO_DATE_TYPES = {\n\tSTART: 'start',\n\tEND: 'end',\n};\n\nexport const ON_DISPLAY_VALUE = t({\n\tcode: 'now_predicate_builder__taxonomy_row_date_field',\n\tmessage: 'on',\n\tdescription: 'On label for the date time component',\n});\n\nexport const ON_INTERNAL_VALUE = 'ON';\nexport const PRESET_DATE = 'preset_date';\n\nexport const START_DATE_LABEL = t({\n\tcode: 'now_predicate_builder__taxonomy_row_date_field',\n\tmessage: 'Start date',\n\tdescription: 'Label for the date time component',\n});\n\nexport const IS_ANYTHING_INTERNAL_VALUE = 'ANYTHING';\nexport const IS_ANYTHING_DISPLAY_VALUE = 'is anything';\nexport const IS_START_END_DATE_WITH_LABEL = 3;\nexport const IS_START_END_DATE_ONLY = 2;\n","import { format as dateFnsFormat, endOfDay, parseISO } from 'date-fns';\n\nimport {\n\tANY_DATE,\n\tCUSTOM_DATE,\n\tDEFAULT_DATE_SELECTIONS,\n\tISO_DATE_TYPES,\n\tPRESET_DATE,\n} from './constants';\n\n/**\n * Determine the current date selection type from a field value.\n *\n * @param {Object} val - Value object containing an internalValue.\n * @param {string} val.internalValue - Encoded internal value string (may be a preset, custom, or system default).\n * @returns {string} - One of ANY_DATE, CUSTOM_DATE, PRESET_DATE, or the matching default date ID.\n */\nexport const getCurrentSelection = (val) => {\n\tif (!val.internalValue) return ANY_DATE;\n\n\tconst matched = DEFAULT_DATE_SELECTIONS.find(\n\t\t(date) => date.internalValue === val.internalValue\n\t);\n\n\tif (matched) return matched.id;\n\tif (val.internalValue.startsWith('javascript:gs.dateGenerate'))\n\t\treturn CUSTOM_DATE;\n\n\treturn PRESET_DATE;\n};\n\n/**\n * Parse a ServiceNow-encoded date string in the format:\n *   javascript:gs.dateGenerate('YYYY-MM-DD', 'HH:MM:SS')\n *\n * Returns a normalized date string with slashes (`YYYY/MM/DD`).\n *\n * @param {string} input - Encoded query string to parse.\n * @returns {string|null} - Parsed date string in `YYYY/MM/DD` format, or null if invalid.\n */\nexport const parseDateFromEncodedQuery = (input) => {\n\tif (typeof input !== 'string') return null;\n\n\tconst str = input.trim();\n\t// Must match expected ServiceNow encoded format\n\tif (!/^javascript:gs\\.dateGenerate\\(/.test(str)) return null;\n\n\t// Accept single or double quotes for both arguments\n\tconst re = /gs\\.dateGenerate\\(\\s*['\"](\\d{4}-\\d{2}-\\d{2})['\"]\\s*,\\s*['\"](\\d{2}:\\d{2}:\\d{2})['\"]\\s*\\)/;\n\n\tconst match = str.match(re);\n\n\t// Safety check: ensure we have both capture groups\n\tif (!Array.isArray(match) || match.length < 3) return null;\n\n\t// Convert to slash-separated format (e.g., 2025/08/01)\n\treturn match[1].replace(/-/g, '/');\n};\n\n/**\n * Convert an ISO date string into a ServiceNow-compatible encoded query format.\n *\n * Example:\n *   getParsedDateAndTime('2025-08-22T23:59:59Z', 'end')\n *   => javascript:gs.dateGenerate(\"2025-08-22\", \"23:59:59\")\"\n *\n * @param {string} value - ISO date string (e.g., '2025-08-22T23:59:59Z').\n * @param {'start'|'end'} [location='start'] - If 'end', adjust to end of day.\n * @returns {string} Encoded ServiceNow date string.\n */\nexport const getParsedDateAndTime = (\n\tvalue,\n\tlocation = ISO_DATE_TYPES.START\n) => {\n\tif (!value) return '';\n\n\tlet date = parseISO(value);\n\tif (location === ISO_DATE_TYPES.END) {\n\t\tdate = endOfDay(date);\n\t}\n\n\tconst datePart = dateFnsFormat(date, 'yyyy-MM-dd');\n\tconst timePart = dateFnsFormat(date, 'HH:mm:ss');\n\n\treturn `javascript:gs.dateGenerate('${datePart}', '${timePart}')`;\n};\n","import deviceInfoContext from '@devsnc/library-uxf';\nimport { actionTypes } from '@servicenow/ui-core';\nimport isNil from 'lodash/isNil';\n\nimport {\n\tNOW_DATE_TIME_INTERVAL_VALUES_START_END_SET,\n\tNOW_RADIO_BUTTONS_VALUE_SET,\n} from '../sn-taxonomy-commons/constants';\nimport { dispatchPredicateAction } from '../sn-taxonomy-commons/utils';\nimport {\n\tBETWEEN,\n\tOPERATOR_BETWEEN,\n} from '../sn-value-editor-date-choice/constants';\n\nimport {\n\tANY_DATE,\n\tCUSTOM_DATE,\n\tDEFAULT_DATE_SELECTIONS,\n\tIS_ANYTHING_DISPLAY_VALUE,\n\tIS_ANYTHING_INTERNAL_VALUE,\n\tIS_START_END_DATE_ONLY,\n\tIS_START_END_DATE_WITH_LABEL,\n\tISO_DATE_TYPES,\n\tON_DISPLAY_VALUE,\n\tON_INTERNAL_VALUE,\n\tPRESET_DATE,\n} from './constants';\nimport {\n\tgetCurrentSelection,\n\tgetParsedDateAndTime,\n\tparseDateFromEncodedQuery,\n} from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DOM_TREE_READY } = actionTypes;\n\nconst handleComponentBootstrapped = (coeffects) => {\n\tconst {\n\t\tproperties: { val, operator },\n\t\tupdateState,\n\t} = coeffects;\n\tconst currentSelection = getCurrentSelection(val);\n\n\tlet dates = DEFAULT_DATE_SELECTIONS.map((date) => ({\n\t\t...date,\n\t\tchecked: currentSelection === date.id,\n\t}));\n\n\tconst values = val.internalValue?.split('@');\n\tlet [label, startDate, endDate] = [];\n\n\tif (values.length === IS_START_END_DATE_WITH_LABEL) {\n\t\t[label, startDate, endDate] = values;\n\n\t\t// Insert custom preset radio button if selected\n\t\tif (currentSelection === PRESET_DATE) {\n\t\t\tdates.splice(dates.length - 1, 0, {\n\t\t\t\tid: PRESET_DATE,\n\t\t\t\tlabel,\n\t\t\t\tinternalValue: `${startDate}@${endDate}`,\n\t\t\t\tchecked: true,\n\t\t\t});\n\t\t}\n\t} else if (values.length === IS_START_END_DATE_ONLY) {\n\t\t[startDate, endDate] = values;\n\t}\n\n\tif (currentSelection === CUSTOM_DATE) {\n\t\tstartDate = parseDateFromEncodedQuery(startDate);\n\t\tendDate = parseDateFromEncodedQuery(endDate);\n\t}\n\n\tupdateState({\n\t\tstartDate,\n\t\tendDate,\n\t\tcurrentSelection,\n\t\tdates,\n\t\tselectedOperator: operator,\n\t});\n};\n\nconst handleRadioButtonsValueSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { conditionId, field },\n\t\tstate: { dates },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst matched = dates.find((date) => date.id === value) || {};\n\tconst getValue = () => ({\n\t\tinternalValue: matched.internalValue,\n\t\tdisplayValue: matched.label,\n\t});\n\n\tconst applyOperator = (operator, val = {}) => {\n\t\tdispatchPredicateAction({\n\t\t\tdispatch,\n\t\t\tconditionId,\n\t\t\tfield,\n\t\t\toperator,\n\t\t\tval,\n\t\t});\n\t\tupdateState({ selectedOperator: operator, currentSelection: value });\n\t};\n\n\tconst ON_OPERATOR = {\n\t\tdisplayValue: ON_DISPLAY_VALUE,\n\t\tinternalValue: ON_INTERNAL_VALUE,\n\t};\n\n\tswitch (value) {\n\t\tcase PRESET_DATE: {\n\t\t\tdispatchPredicateAction({\n\t\t\t\tdispatch,\n\t\t\t\tconditionId,\n\t\t\t\tfield,\n\t\t\t\toperator: ON_OPERATOR,\n\t\t\t\tval: getValue(),\n\t\t\t});\n\t\t\tupdateState({ currentSelection: value });\n\t\t\tbreak;\n\t\t}\n\t\tcase CUSTOM_DATE: {\n\t\t\tupdateState({\n\t\t\t\tstartDate: '',\n\t\t\t\tendDate: '',\n\t\t\t\tcurrentSelection: value,\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase ANY_DATE: {\n\t\t\tconst ANY_OPERATOR = {\n\t\t\t\tdisplayValue: IS_ANYTHING_DISPLAY_VALUE,\n\t\t\t\tinternalValue: IS_ANYTHING_INTERNAL_VALUE,\n\t\t\t};\n\t\t\tconst val = {\n\t\t\t\tinternalValue: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t};\n\t\t\tapplyOperator(ANY_OPERATOR, val);\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\tapplyOperator(ON_OPERATOR, getValue());\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nconst handleIntervalValuesSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { isoDateEnd, isoDateStart },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { conditionId, field },\n\t\tupdateState,\n\t} = coeffects;\n\tif (isNil(isoDateStart) || isNil(isoDateEnd)) return;\n\n\tconst parsedStart = getParsedDateAndTime(\n\t\tisoDateStart,\n\t\tISO_DATE_TYPES.START\n\t);\n\tconst parsedEnd = getParsedDateAndTime(isoDateEnd, ISO_DATE_TYPES.END);\n\n\tconst combinedInternal = `${parsedStart}@${parsedEnd}`;\n\tconst combinedDisplay = `${isoDateStart} and ${isoDateEnd}`;\n\n\tconst selectedOperator = {\n\t\tdisplayValue: BETWEEN,\n\t\tinternalValue: OPERATOR_BETWEEN,\n\t};\n\n\tdispatchPredicateAction({\n\t\tdispatch,\n\t\tconditionId,\n\t\tfield,\n\t\toperator: selectedOperator,\n\t\tval: { internalValue: combinedInternal, displayValue: combinedDisplay },\n\t});\n\n\tupdateState({ selectedOperator });\n};\n\nconst handleComponentDomTreeReady = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({\n\t\tdeviceType: deviceInfoContext?.deviceInfo?.type,\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrapped,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleComponentDomTreeReady,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_RADIO_BUTTONS_VALUE_SET]: {\n\t\teffect: handleRadioButtonsValueSet,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DATE_TIME_INTERVAL_VALUES_START_END_SET]: {\n\t\teffect: handleIntervalValuesSet,\n\t\tstopPropagation: true,\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import classNames from 'classnames';\nimport '@servicenow/now-checkbox';\n\nimport '@servicenow/now-radio-buttons';\nimport '@servicenow/now-date-time';\nimport {\n\tCUSTOM_DATE,\n\tDEFAULT_DATE_FORMAT,\n\tEND_DATE_LABEL,\n\tSTART_DATE_LABEL,\n} from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tcurrentSelection,\n\t\tdates,\n\t\tdeviceType,\n\t\tendDate,\n\t\tstartDate,\n\t\tproperties: { field },\n\t} = state;\n\n\tconst baseId = `date-field-${field.internalValue}`;\n\n\tconst labelId = `${baseId}-label`;\n\n\tconst isMobile = deviceType === 'mobile';\n\n\tconst containerCx = classNames('sn-taxonomy-row-date-field', {\n\t\t'is-mobile': isMobile,\n\t});\n\n\treturn (\n\t\t<div className={containerCx}>\n\t\t\t<span id={labelId} className=\"label\">\n\t\t\t\t{field.displayValue}\n\t\t\t<\/span>\n\t\t\t<div className=\"date-container\">\n\t\t\t\t<now-radio-buttons\n\t\t\t\t\tname={field.internalValue}\n\t\t\t\t\tmanageValue={true}\n\t\t\t\t\toptions={dates}\n\t\t\t\t\tsize={isMobile ? 'md' : 'sm'}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t\t{currentSelection === CUSTOM_DATE ? (\n\t\t\t\t<div className=\"custom-date-range-container\">\n\t\t\t\t\t<now-date-time-interval\n\t\t\t\t\t\tvalueStart={startDate}\n\t\t\t\t\t\tvalueEnd={endDate}\n\t\t\t\t\t\tlabelStart={START_DATE_LABEL}\n\t\t\t\t\t\tlabelEnd={END_DATE_LABEL}\n\t\t\t\t\t\tformat={DEFAULT_DATE_FORMAT}\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\tadaptive=\"vertical\"\n\t\t\t\t\t\tsize={isMobile ? 'md' : 'sm'}\n\t\t\t\t\t\tgap=\"md\"\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-taxonomy-row-date-field', {\n\tactionHandlers,\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\tdates: [],\n\t\tselectedDate: '',\n\t\tselectedOperator: {\n\t\t\tdisplayValue: 'is',\n\t\t\tinternalValue: '=',\n\t\t},\n\t},\n\tproperties: {\n\t\tconditionId: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tfield: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\ttype: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\toperator: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: 'is',\n\t\t\t\tinternalValue: '=',\n\t\t\t},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tdatesToSelect: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tval: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\tpredicateContext: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tdefault: {},\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\n});\n","import deviceInfoContext from '@devsnc/library-uxf';\nimport { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_DOM_TREE_READY } = actionTypes;\n\nconst handleComponentDomTreeReady = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({\n\t\tdeviceType: deviceInfoContext?.deviceInfo?.type,\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleComponentDomTreeReady,\n\t\tstopPropagation: true,\n\t},\n};\n","import '@servicenow/now-toggle';\nimport '@servicenow/now-icon';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n} from '@servicenow/behavior-tooltip';\nimport classNames from 'classnames';\n\nconst view = (state, helpers) => {\n\tconst {\n\t\tdeviceType,\n\t\tproperties: {\n\t\t\tcomponentProps,\n\t\t\tcomponentTag,\n\t\t\tmodelType,\n\t\t\tdisabled,\n\t\t\ticon,\n\t\t\tlabel,\n\t\t\tsubLabel,\n\t\t\tactionToDispatch,\n\t\t},\n\t} = state;\n\n\tconst { dispatch } = helpers;\n\n\tconst handleClick = () => {\n\t\tdispatch(actionToDispatch, {\n\t\t\tbasicFilters: true,\n\t\t\tcomponentTag,\n\t\t\tcomponentProps,\n\t\t\tmodelType,\n\t\t\tconditionId: componentProps?.conditionId,\n\t\t});\n\t};\n\n\tconst tooltipValue = `${label} ${subLabel}`;\n\n\tconst isMobile = deviceType === 'mobile';\n\n\tconst buttonCx = classNames('sn-taxonomy-drill-in-button', {\n\t\t'is-mobile': isMobile,\n\t});\n\n\treturn (\n\t\t<button\n\t\t\tclassName={buttonCx}\n\t\t\ton-click={handleClick}\n\t\t\taria-label={label}\n\t\t\tdisabled={disabled}\n\t\t\tdata-tooltip={tooltipValue}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, { target: elm });\n\t\t\t}}\n\t\t\thook-destroy={({ elm }) => {\n\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, { target: elm });\n\t\t\t}}\n\t\t>\n\t\t\t{icon ? (\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-hidden': true,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<div className=\"label\">\n\t\t\t\t<label>{label}<\/label>\n\t\t\t\t{subLabel ? <div className=\"sub-label\">{subLabel}<\/div> : null}\n\t\t\t<\/div>\n\t\t\t<now-icon\n\t\t\t\ticon=\"chevron-end-outline\"\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-hidden': true,\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/button>\n\t);\n};\n\nexport default view;\n","import tooltipBehavior from '@servicenow/behavior-tooltip';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED } from '../sn-condition-builder/actionTypes';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-taxonomy-drill-in-button', {\n\tactionHandlers,\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tactionToDispatch: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_OPENED,\n\t\t},\n\t\tcomponentProps: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t\trequired: true,\n\t\t},\n\t\tcomponentTag: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t},\n\t\tdisabled: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\ticon: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t// label and subLabel prop must be translated prior to being passed into this component\n\t\tlabel: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tmodelType: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tsubLabel: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tbehaviors: [tooltipBehavior],\n\tstyles,\n});\n","import { SN_CONDITIONS_ALTERNATIVE_VIEW_REQUESTED } from '../sn-conditions/actionTypes';\nimport '../sn-taxonomy-drill-in-button';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tconditionId,\n\t\t\tfield,\n\t\t\tval,\n\t\t\treadOnly,\n\t\t\tpredicateContext: { source },\n\t\t},\n\t} = state;\n\n\treturn (\n\t\t<div className=\"sn-taxonomy-row-reference\">\n\t\t\t<sn-taxonomy-drill-in-button\n\t\t\t\tactionToDispatch={SN_CONDITIONS_ALTERNATIVE_VIEW_REQUESTED}\n\t\t\t\tcomponentTag=\"sn-taxonomy-reference-drill-in\"\n\t\t\t\tcomponentProps={{\n\t\t\t\t\ttitle: field.displayValue,\n\t\t\t\t\tconditionId,\n\t\t\t\t\tfield,\n\t\t\t\t\tval,\n\t\t\t\t\treadOnly,\n\t\t\t\t\tsource,\n\t\t\t\t}}\n\t\t\t\tlabel={field.displayValue}\n\t\t\t\tsubLabel={val.displayValue}\n\t\t\t/>\n\t\t\t<hr />\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-taxonomy-row-reference', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {},\n\tproperties: {\n\t\tconditionId: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tfield: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\ttype: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\toperator: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: 'is',\n\t\t\t\tinternalValue: '=',\n\t\t\t},\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tval: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\t\tpredicateContext: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tdefault: {},\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\n});\n","// now-dropdown\nexport const NOW_DROPDOWN_LIST_ITEM_CLICKED = 'NOW_DROPDOWN_LIST#ITEM_CLICKED';\n\n//now-popover\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\n//now-button\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\n","import deviceInfoContext from '@devsnc/library-uxf';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport get from 'lodash/get';\n\nimport {\n\tNOW_BUTTON_BARE_CLICKED,\n\tNOW_DROPDOWN_LIST_ITEM_CLICKED,\n} from '../../../commons/actionTypes';\nimport { SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CONDITION_UPDATED } from '../sn-condition-builder-alternative-view/actionTypes';\nimport {\n\tSN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH,\n\tSN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_FAILURE,\n\tSN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_START,\n\tSN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_SUCCESS,\n} from '../sn-taxonomy-commons/constants';\nimport {\n\tIS_INTERNAL_VALUE,\n\tIS_LABEL,\n} from '../sn-taxonomy-row-choice/constants';\nimport {\n\tIS_ANYTHING_DISPLAY_VALUE,\n\tIS_ANYTHING_INTERNAL_VALUE,\n} from '../sn-taxonomy-row-date-field/constants';\nimport { query } from '../sn-value-editor-choice/actions';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DOM_TREE_READY } = actionTypes;\n\nconst variableList = ['table', 'column', 'filter'];\n\n/**\n * Effect handler for fetching taxonomy choices data.\n */\nconst queryFetchEffect = {\n\t...createGraphQLEffect(query, {\n\t\tvariableList,\n\t\theaderList: ['x-request-cancelable'],\n\t\tstartActionType: SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_START,\n\t\tsuccessActionType: SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_SUCCESS,\n\t\terrorActionType: SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_FAILURE,\n\t}),\n\tstopPropagation: true,\n};\n\n/**\n * Handles component bootstrapping, initializing with field and source data.\n */\nconst handleComponentBootstrapped = (coeffects) => {\n\tconst {\n\t\tproperties: { field, source, referenceTable, val },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst variables = {\n\t\ttable: referenceTable || source,\n\t\tcolumn: field.internalValue,\n\t};\n\n\tdispatch(SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH, variables);\n\n\tif (val?.displayValue) {\n\t\tupdateState({\n\t\t\tdisplayValue: val.displayValue,\n\t\t\tselectedItems: [val.internalValue],\n\t\t});\n\t}\n};\n\n/**\n * Handles successful query fetch, updating the state with fetched choices.\n */\nconst handleQueryFetchSuccess = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { data },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst choices = get(data, 'GlideChoiceColumn_Query.getChoiceFields') || [];\n\tconst formattedChoices = choices\n\t\t.map((item) => ({\n\t\t\tinternalValue: item.rawValue,\n\t\t\tdisplayValue: item.displayValue,\n\t\t}))\n\t\t.filter((item) => item.internalValue !== 'null');\n\n\tupdateState({\n\t\tchoices: formattedChoices,\n\t});\n};\n\nconst handleDropdownListItemClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem: { id, label },\n\t\t\t},\n\t\t},\n\t\tproperties: { conditionObj },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tlet updatedConditionObj = { ...conditionObj };\n\tlet selectedItems = [];\n\n\tif (id === conditionObj?.value?.internalValue) {\n\t\tupdatedConditionObj = {\n\t\t\t...updatedConditionObj,\n\t\t\tvalue: {\n\t\t\t\tinternalValue: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t},\n\t\t\toperator: {\n\t\t\t\tdisplayValue: IS_ANYTHING_DISPLAY_VALUE,\n\t\t\t\tinternalValue: IS_ANYTHING_INTERNAL_VALUE,\n\t\t\t},\n\t\t};\n\t\tselectedItems = [];\n\t} else {\n\t\tupdatedConditionObj = {\n\t\t\t...updatedConditionObj,\n\t\t\toperator: {\n\t\t\t\tdisplayValue: IS_LABEL,\n\t\t\t\tinternalValue: IS_INTERNAL_VALUE,\n\t\t\t},\n\t\t\tvalue: {\n\t\t\t\tinternalValue: id,\n\t\t\t\tdisplayValue: label,\n\t\t\t},\n\t\t};\n\t\tselectedItems = [id];\n\t}\n\n\tdispatch(SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CONDITION_UPDATED, {\n\t\tcondition: updatedConditionObj,\n\t});\n\n\tupdateState({ displayValue: label, selectedItems });\n};\n\nconst handleButtonIconicClicked = (coeffects) => {\n\tconst {\n\t\tproperties: { conditionObj },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst updatedConditionObj = {\n\t\t...conditionObj,\n\t\toperator: {\n\t\t\tdisplayValue: IS_ANYTHING_DISPLAY_VALUE,\n\t\t\tinternalValue: IS_ANYTHING_INTERNAL_VALUE,\n\t\t},\n\t\tvalue: {\n\t\t\tinternalValue: '',\n\t\t\tdisplayValue: '',\n\t\t},\n\t};\n\n\tdispatch(SN_CONDITION_BUILDER_ALTERNATIVE_VIEW_CONDITION_UPDATED, {\n\t\tcondition: updatedConditionObj,\n\t});\n\n\tupdateState({ displayValue: '', selectedItems: [] });\n};\n\nconst handleComponentDomTreeReady = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({\n\t\tdeviceType: deviceInfoContext?.deviceInfo?.type,\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrapped,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleComponentDomTreeReady,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DROPDOWN_LIST_ITEM_CLICKED]: {\n\t\teffect: handleDropdownListItemClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\teffect: handleButtonIconicClicked,\n\t\tstopPropagation: true,\n\t},\n\t[SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH]: queryFetchEffect,\n\t[SN_PREDICATE_BUILDER_TAXONOMY_QUERY_FETCH_SUCCESS]: {\n\t\teffect: handleQueryFetchSuccess,\n\t\tstopPropagation: true,\n\t},\n};\n","import '@servicenow/now-dropdown';\nimport '@servicenow/now-button';\nimport classNames from 'classnames';\n\nimport { CLEAR_BUTTON_LABEL } from '../sn-group-by/constants';\n\nconst view = (state) => {\n\tconst { choices, deviceType, displayValue, selectedItems } = state;\n\n\tconst referenceItems = choices.map((choice) => ({\n\t\tid: choice.internalValue,\n\t\tlabel: choice.displayValue,\n\t}));\n\n\tconst isMobile = deviceType === 'mobile';\n\n\tconst containerCx = classNames('sn-taxonomy-reference-drill-in', {\n\t\t'is-mobile': isMobile,\n\t});\n\n\treturn (\n\t\t<div className={containerCx}>\n\t\t\t{displayValue ? (\n\t\t\t\t<div className=\"value-container\">\n\t\t\t\t\t<label>{displayValue}<\/label>\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tsize={isMobile ? 'md' : 'sm'}\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tlabel={CLEAR_BUTTON_LABEL}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\n\t\t\t<now-dropdown-list\n\t\t\t\tbare\n\t\t\t\titems={referenceItems}\n\t\t\t\tsize={isMobile ? 'md' : 'sm'}\n\t\t\t\tsearch=\"initial\"\n\t\t\t\tmanageSelectedItems={true}\n\t\t\t\tselectedItems={selectedItems}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { actionHandlers } from './actions';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-taxonomy-reference-drill-in', {\n\tactionHandlers,\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\tchoices: [],\n\t\tdisplayValue: '',\n\t\tselectedItems: [],\n\t},\n\tproperties: {\n\t\tconditionObj: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t\tfield: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\ttype: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t\tinternalValue: '',\n\t\t\t},\n\t\t},\n\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tsource: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: '',\n\t\t},\n\t\tval: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t},\n\t},\n\tstyles,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '../sn-conditions';\nimport '../sn-related-list-conditions';\nimport '../sn-condition-builder-alternative-view';\nimport '../sn-group-by';\nimport '../sn-sort-by';\nimport '../sn-save-filter';\nimport '../sn-filter-manager';\nimport '../sn-fixed-query-wrapper';\nimport '../sn-taxonomy-commons';\nimport '../sn-taxonomy-drill-in-button';\n\nimport '@servicenow/now-alert';\nimport '@servicenow/now-tabs';\nimport '@servicenow/now-toggle';\n\nimport { componentModes } from '@servicenow/ui-core';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classnames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { STATUS_TYPES } from '../now-condition-builder-row/constants';\nimport { LABELS_ON, LABELS_OFF } from '../now-predicate-builder/constants';\nimport { ICONS } from '../sn-condition-builder-row-messages/constants';\n\nimport {\n\tTAB_CONDITION,\n\tTAB_GROUP_BY,\n\tTAB_SORT_BY,\n\tTAB_RELATED_LIST,\n\tTOGGLE_LABELS_SOURCE,\n\tGROUP_BY_LABEL,\n\tSORT_BY_LABEL,\n} from './constants';\nimport { getDisplayableTabs, getSortByIcon, renderSubLabel } from './utils';\n\n/**\n * @param {String} displayLabelOptions\n * @returns {Boolean}\n */\nconst shouldShowLabelToggle = (displayLabelOptions) => {\n\treturn ![LABELS_ON, LABELS_OFF].includes(displayLabelOptions);\n};\n\nconst view = (state) => {\n\tconst {\n\t\talternativeView,\n\t\tbehaviors: {\n\t\t\tpanelDefinitionsCachingBehavior: { panelDefinitions },\n\t\t\tresize,\n\t\t},\n\t\tdecodedQuery,\n\t\tdecodedQuery: { conditions, relatedListQuery, groupBy, orderBy },\n\t\tfixedDecodedQuery: {\n\t\t\tconditions: fixedConditions,\n\t\t\torderBy: fixedOrderBy,\n\t\t\tgroupBy: fixedGroupBy,\n\t\t},\n\t\tproperties: {\n\t\t\tbasicFilters,\n\t\t\tcustomizations,\n\t\t\tfetchedComponents,\n\t\t\tfixedQueryMode,\n\t\t\tmaxContentHeight,\n\t\t\tshowAddConditionSet,\n\t\t\tdisplayLabelOptions,\n\t\t\treadOnly,\n\t\t\tshowGroupBy,\n\t\t\tshowLoadFilter,\n\t\t\tshowReferenceLookup,\n\t\t\tshowRelatedListConditions,\n\t\t\tshowSaveFilter,\n\t\t\tshowSortBy,\n\t\t\tsource,\n\t\t\tvariablesSource,\n\t\t},\n\t\tfieldOperatorRelationship,\n\t\tisFilterLoading,\n\t\tmetadataCache,\n\t\tshowLabels,\n\t\tselectedTab,\n\t\tshowAlertMessage,\n\t} = state;\n\n\tconst infoMessages = state.infoMessages.length\n\t\t? state.infoMessages\n\t\t: state.properties.infoMessages;\n\n\tconst displayableTabs = getDisplayableTabs({\n\t\tshowGroupBy,\n\t\tshowRelatedListConditions,\n\t\tshowSortBy,\n\t});\n\tconst MID_BREAKPOINT = 580;\n\n\t// Check if the viewport is in the smaller viewport.\n\t// We use this to determine if we should render the action bar in front or at the end of the tabs.\n\tconst isCompactMode = resize?.size?.width < MID_BREAKPOINT;\n\tconst showTabs = displayableTabs.length > 1;\n\n\tconst getNowModeState = (currentTab) => {\n\t\treturn selectedTab === currentTab ? 'active' : componentModes.SUSPEND;\n\t};\n\n\tconst contentClassNames = classnames('content', {\n\t\tsm: maxContentHeight === 'sm',\n\t});\n\n\tconst renderActionBar = () => {\n\t\tconst containerClassNames = classnames('action-bar-container', {\n\t\t\t'is-conditions-only': !showTabs,\n\t\t});\n\t\treturn (\n\t\t\t<div className={containerClassNames}>\n\t\t\t\t<div className=\"action-bar-left-col\">\n\t\t\t\t\t{shouldShowLabelToggle(displayLabelOptions) && (\n\t\t\t\t\t\t<now-toggle\n\t\t\t\t\t\t\tlabel={t({\n\t\t\t\t\t\t\t\tcode: 'sn-condition-builder',\n\t\t\t\t\t\t\t\tmessage: 'Show labels',\n\t\t\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t\t\t'Used to toggle if an input field label is on/off',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\t\tsource: TOGGLE_LABELS_SOURCE,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tchecked={showLabels}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{!readOnly && (\n\t\t\t\t\t\t<sn-filter-manager\n\t\t\t\t\t\t\tdecodedQuery={decodedQuery}\n\t\t\t\t\t\t\tshowLoadFilter={showLoadFilter}\n\t\t\t\t\t\t\tshowSaveFilter={showSaveFilter}\n\t\t\t\t\t\t\ttableName={source}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t\t{/* TODO: Add back when full implementation at Z */}\n\t\t\t\t{/* <div className=\"action-bar-right-col\"><\/div> */}\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst renderAlertMessage = () => {\n\t\treturn infoMessages.map((infoMessage) => {\n\t\t\tlet formattedContent = infoMessage.content;\n\t\t\tlet status = infoMessage.status?.toLowerCase();\n\n\t\t\tswitch (status) {\n\t\t\t\tcase STATUS_TYPES.CRITICAL:\n\t\t\t\t\tformattedContent = infoMessage.header;\n\t\t\t\t\tbreak;\n\t\t\t\tcase STATUS_TYPES.WARNING:\n\t\t\t\t\tstatus = STATUS_TYPES.CRITICAL; // backend errors have warning status but are critical\n\t\t\t\t\tbreak;\n\t\t\t\tcase STATUS_TYPES.POSITIVE:\n\t\t\t\t\tformattedContent = `${infoMessage.header}: ${infoMessage.content}`;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tstatus = STATUS_TYPES.CRITICAL;\n\t\t\t\t\tformattedContent = infoMessage.header;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div className=\"alert-container\">\n\t\t\t\t\t<now-alert\n\t\t\t\t\t\taction={{ type: 'dismiss', href: '#' }}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tinput: {\n\t\t\t\t\t\t\t\t'aria-label': formattedContent,\n\t\t\t\t\t\t\t\trole: 'alertdialog',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstatus={status}\n\t\t\t\t\t\ticon={ICONS[status]}\n\t\t\t\t\t\tcontent={formattedContent}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst snConditionBaseProps = {\n\t\tcustomizations,\n\t\tfetchedComponents,\n\t\tfieldOperatorRelationship,\n\t\tfixedQueryMode,\n\t\tmetadataCache,\n\t\tpanelDefinitions,\n\t\treadOnly,\n\t\tshowLabels,\n\t\tsource,\n\t\tvariablesSource,\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{alternativeView && (\n\t\t\t\t<sn-condition-builder-alternative-view\n\t\t\t\t\t{...alternativeView}\n\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\tpreventActionDispatch: !!alternativeView?.preventDecodedQueryUpdatedActionDispatch,\n\t\t\t\t\t}}\n\t\t\t\t\tfetchedComponents={fetchedComponents}\n\t\t\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\t\tsource={source}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{/* If rendering alternative view, then visually hide predicate builder to preserve existing state */}\n\t\t\t<div\n\t\t\t\tclassName={classnames('sn-predicate-builder', {\n\t\t\t\t\thide: alternativeView,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{!basicFilters ? (\n\t\t\t\t\t<div className=\"header-container\">\n\t\t\t\t\t\t<div className=\"header\">\n\t\t\t\t\t\t\t{isCompactMode && renderActionBar()}\n\t\t\t\t\t\t\t{showTabs && (\n\t\t\t\t\t\t\t\t<now-tabs\n\t\t\t\t\t\t\t\t\thideDivider={true}\n\t\t\t\t\t\t\t\t\titems={displayableTabs}\n\t\t\t\t\t\t\t\t\tmanageSelectedItem={true}\n\t\t\t\t\t\t\t\t\tselectedItem={selectedTab}\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!isCompactMode && renderActionBar()}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t{showTabs && <hr className=\"tabs-separator\" />}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t\t{infoMessages?.length > 0 && showAlertMessage\n\t\t\t\t\t? renderAlertMessage()\n\t\t\t\t\t: null}\n\t\t\t\t{isFilterLoading ? (\n\t\t\t\t\t<now-loader />\n\t\t\t\t) : (\n\t\t\t\t\t<div className={contentClassNames}>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t\t\thide:\n\t\t\t\t\t\t\t\t\t(selectedTab !== TAB_CONDITION &&\n\t\t\t\t\t\t\t\t\t\tshowTabs) ||\n\t\t\t\t\t\t\t\t\t(selectedTab !== TAB_CONDITION &&\n\t\t\t\t\t\t\t\t\t\tbasicFilters),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{!basicFilters && fixedConditions?.length ? (\n\t\t\t\t\t\t\t\t<sn-fixed-query-wrapper\n\t\t\t\t\t\t\t\t\t{...snConditionBaseProps}\n\t\t\t\t\t\t\t\t\tconditions={fixedConditions}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<sn-conditions\n\t\t\t\t\t\t\t\t{...snConditionBaseProps}\n\t\t\t\t\t\t\t\tconditionsModel={conditions}\n\t\t\t\t\t\t\t\tfixedConditionsModel={fixedConditions}\n\t\t\t\t\t\t\t\tnow-mode={getNowModeState(TAB_CONDITION)}\n\t\t\t\t\t\t\t\tselectedTab={selectedTab}\n\t\t\t\t\t\t\t\tshowAddConditionSet={\n\t\t\t\t\t\t\t\t\tshowAddConditionSet && !basicFilters\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowReferenceLookup={showReferenceLookup}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{basicFilters && (\n\t\t\t\t\t\t\t\t<div className=\"basic-filter-container\">\n\t\t\t\t\t\t\t\t\t<sn-taxonomy-drill-in-button\n\t\t\t\t\t\t\t\t\t\tcomponentTag=\"sn-sort-by\"\n\t\t\t\t\t\t\t\t\t\tcomponentProps={{\n\t\t\t\t\t\t\t\t\t\t\ttitle: SORT_BY_LABEL,\n\t\t\t\t\t\t\t\t\t\t\tfixedSortByModel: fixedOrderBy,\n\t\t\t\t\t\t\t\t\t\t\treadOnly,\n\t\t\t\t\t\t\t\t\t\t\tsortByModel: orderBy,\n\t\t\t\t\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ticon={getSortByIcon(orderBy)}\n\t\t\t\t\t\t\t\t\t\tlabel={SORT_BY_LABEL}\n\t\t\t\t\t\t\t\t\t\tsubLabel={renderSubLabel(orderBy)}\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<hr className=\"drill-in-buttons-separator\" />\n\t\t\t\t\t\t\t\t\t<sn-taxonomy-drill-in-button\n\t\t\t\t\t\t\t\t\t\tcomponentTag=\"sn-group-by\"\n\t\t\t\t\t\t\t\t\t\tcomponentProps={{\n\t\t\t\t\t\t\t\t\t\t\ttitle: GROUP_BY_LABEL,\n\t\t\t\t\t\t\t\t\t\t\tfixedGroupByModel: fixedGroupBy,\n\t\t\t\t\t\t\t\t\t\t\tgroupByModel: groupBy,\n\t\t\t\t\t\t\t\t\t\t\treadOnly,\n\t\t\t\t\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ticon=\"group-lines-outline\"\n\t\t\t\t\t\t\t\t\t\tlabel={GROUP_BY_LABEL}\n\t\t\t\t\t\t\t\t\t\tsubLabel={renderSubLabel(groupBy)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t{showSortBy ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t\t\t\thide: selectedTab !== TAB_SORT_BY,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<sn-sort-by\n\t\t\t\t\t\t\t\t\tfixedSortByModel={fixedOrderBy}\n\t\t\t\t\t\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\t\t\t\t\t\tnow-mode={getNowModeState(TAB_SORT_BY)}\n\t\t\t\t\t\t\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\t\t\t\t\tsortByModel={orderBy}\n\t\t\t\t\t\t\t\t\tsource={source}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{showGroupBy ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t\t\t\thide: selectedTab !== TAB_GROUP_BY,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<sn-group-by\n\t\t\t\t\t\t\t\t\tfixedGroupByModel={fixedGroupBy}\n\t\t\t\t\t\t\t\t\tgroupByModel={groupBy}\n\t\t\t\t\t\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\t\t\t\t\t\tnow-mode={getNowModeState(TAB_GROUP_BY)}\n\t\t\t\t\t\t\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\t\t\t\t\tsource={source}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{showRelatedListConditions && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t\t\t\thide: selectedTab !== TAB_RELATED_LIST,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<sn-related-list-conditions\n\t\t\t\t\t\t\t\t\tcustomizations={customizations}\n\t\t\t\t\t\t\t\t\tfetchedComponents={fetchedComponents}\n\t\t\t\t\t\t\t\t\tfieldOperatorRelationship={\n\t\t\t\t\t\t\t\t\t\tfieldOperatorRelationship\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmetadataCache={metadataCache}\n\t\t\t\t\t\t\t\t\tnow-mode={getNowModeState(TAB_RELATED_LIST)}\n\t\t\t\t\t\t\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t\t\t\trelatedListConditionsModel={\n\t\t\t\t\t\t\t\t\t\trelatedListQuery\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tshowAddConditionSet={showAddConditionSet}\n\t\t\t\t\t\t\t\t\tshowLabels={showLabels}\n\t\t\t\t\t\t\t\t\tshowReferenceLookup={showReferenceLookup}\n\t\t\t\t\t\t\t\t\tsource={source}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t);\n};\n\nexport default view;\n","import resizeBehavior from '@servicenow/behavior-resize';\nimport { behaviors } from '@servicenow/now-dot-walk';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport fetchingValueEditorBehavior from '../../behaviors/fetchingValueEditorBehavior';\nimport { fieldOperatorMappingsSchema } from '../../resources/fieldOperatorMappings.schema';\nimport {\n\tMAX_CONTENT_HEIGHT_OPTIONS,\n\tUSE_SHOW_FIELD_LABELS_USER_PREF,\n} from '../now-predicate-builder/constants';\n\nimport actionHandlers from './actions';\nimport { FIXED_QUERY_MODE, TAB_IDS } from './constants';\nimport styles from './styles.scss';\nimport { transformEditorMetadata } from './utils';\nimport view from './view';\n\nconst { panelDefinitionsCachingBehavior } = behaviors;\n\ncreateCustomElement('sn-condition-builder-internal', {\n\tbehaviors: [\n\t\tpanelDefinitionsCachingBehavior,\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: { timer: { type: 'throttle', wait: 200 } },\n\t\t},\n\t\t{\n\t\t\tbehavior: fetchingValueEditorBehavior,\n\t\t\toptions: {\n\t\t\t\tcachePath: 'internalEditorMetadata',\n\t\t\t\ttransformFn: transformEditorMetadata,\n\t\t\t\tdisableFetchOnBootstrap: true,\n\t\t\t},\n\t\t},\n\t],\n\trenderer: { type: snabbdom },\n\tview,\n\tsetInitialState: () => ({\n\t\talternativeView: null,\n\t\tcustomizations: {},\n\t\tdecodedQuery: {\n\t\t\tconditions: [],\n\t\t\tgroupBy: [],\n\t\t\torderBy: [],\n\t\t\trelatedListQuery: {\n\t\t\t\tconditions: [],\n\t\t\t},\n\t\t},\n\t\tfieldOperatorRelationship: {},\n\t\tfixedDecodedQuery: {\n\t\t\tconditions: [],\n\t\t\tgroupBy: [],\n\t\t\torderBy: [],\n\t\t\trelatedListQuery: {\n\t\t\t\tconditions: [],\n\t\t\t},\n\t\t},\n\t\tinfoMessages: [],\n\t\tisFilterLoading: false,\n\t\tmetadataCache: {},\n\t\tpanelDefinitions: {},\n\t\tselectedTab: TAB_IDS[0].id,\n\t\tshowAlertMessage: true,\n\t\tshowLabels: true,\n\t}),\n\tproperties: {\n\t\tbasicFilters: {\n\t\t\tdefault: false,\n\t\t},\n\t\tcustomizations: {\n\t\t\tdefault: {},\n\t\t},\n\t\tdecodedQuery: {\n\t\t\tdefault: {},\n\t\t},\n\t\tdisplayLabelOptions: {\n\t\t\tdefault: USE_SHOW_FIELD_LABELS_USER_PREF,\n\t\t},\n\t\tfetchedComponents: {\n\t\t\tdefault: {},\n\t\t},\n\t\tfieldOperatorRelationship: {\n\t\t\tdefault: {},\n\t\t\tschema: fieldOperatorMappingsSchema,\n\t\t},\n\t\tfixedDecodedQuery: {\n\t\t\tdefault: {\n\t\t\t\tconditions: [],\n\t\t\t},\n\t\t},\n\t\tfixedQueryMode: {\n\t\t\tdefault: FIXED_QUERY_MODE.SIMPLE,\n\t\t},\n\t\tfocusOnRender: {\n\t\t\tdefault: false,\n\t\t},\n\t\tinfoMessages: {\n\t\t\tdefault: [],\n\t\t},\n\t\tmaxContentHeight: {\n\t\t\tdefault: MAX_CONTENT_HEIGHT_OPTIONS.FULL,\n\t\t},\n\t\tmetadataCache: {\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t},\n\t\tselectedTab: {\n\t\t\tdefault: '',\n\t\t},\n\t\tshowAddConditionSet: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowGroupBy: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowReferenceLookup: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowLoadFilter: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowRelatedListConditions: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowSaveFilter: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowSortBy: {\n\t\t\tdefault: true,\n\t\t},\n\t\tsource: {\n\t\t\tdefault: '',\n\t\t},\n\t\tvariablesSource: {\n\t\t\tdefault: {},\n\t\t},\n\t},\n\tactionHandlers,\n\tstyles,\n});\n","import '../sn-condition-builder';\nimport '../sn-predicate-builder';\n\nimport classnames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { COMPONENT_LOADED_STATUS } from '../../behaviors/componentLoaderBehavior';\nimport { BASIC_FILTERS_PRESETS } from '../sn-condition-builder/constants';\n\nimport builderTypes from './constants';\n\nconst { CONDITION_BUILDER_TYPE } = builderTypes;\n\n/**\n * Determines if components are loading.\n * @param {*} fetchedComponents now-condition-builder state\n * @returns true if it none have started OR they are still loading.\n */\nconst isComponentsLoading = (fetchedComponents) => {\n\tif (\n\t\tisEmpty(fetchedComponents.macroponents) &&\n\t\tisEmpty(fetchedComponents.components)\n\t) {\n\t\treturn true;\n\t}\n\n\tconst macroponents = Object.values(fetchedComponents.macroponents);\n\tconst components = Object.values(fetchedComponents.components);\n\n\treturn [...macroponents, ...components].some(\n\t\t(item) => item.status === COMPONENT_LOADED_STATUS.LOADING\n\t);\n};\n\n/**\n * Renders the predicate builder\n * @param {*} state\n * @param {*} updateState\n * @returns Predicate Builder element\n */\nconst renderPredicateBuilder = (state, updateState) => {\n\tconst {\n\t\tbehaviors: {\n\t\t\tcomponentLoaderBehavior: { fetchedComponents },\n\t\t},\n\t\tisInitialLoad,\n\t\tproperties,\n\t} = state;\n\n\t// Only show loader the first time component is loaded. After, each individual row should show loading statuses.\n\tconst showLoader = isComponentsLoading(fetchedComponents) && isInitialLoad;\n\tif (!showLoader) {\n\t\tupdateState({\n\t\t\tpath: 'isInitialLoad',\n\t\t\toperation: 'set',\n\t\t\tvalue: false,\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n\n\tconst className = classnames({\n\t\t'is-hidden': showLoader,\n\t});\n\n\t// Need to load sn-predicate-builder (as opposed to making it null if loading) because if\n\t// customComponents isn't passed in, sn-single-predicate starts the fetching process\n\treturn (\n\t\t<div className=\"now-predicate-builder-container\">\n\t\t\t{showLoader ? <now-loader className=\"loading-indicator\" /> : null}\n\t\t\t<sn-predicate-builder\n\t\t\t\t{...properties}\n\t\t\t\tclassName={className}\n\t\t\t\tfetchedComponents={fetchedComponents}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders the condition builder\n * @param {*} state\n * @param {*} updateState\n * @returns Condition Builder element\n */\nconst renderConditionBuilder = (state, updateState) => {\n\tconst {\n\t\tbehaviors: {\n\t\t\tcomponentLoaderBehavior: { fetchedComponents },\n\t\t},\n\t\tproperties: {\n\t\t\tcustomizations,\n\t\t\tdecodedQuery,\n\t\t\tdisplayLabelOptions,\n\t\t\tfieldOperatorRelationship,\n\t\t\tfixedDecodedQuery,\n\t\t\tfixedQueryMode,\n\t\t\tfocusOnRender,\n\t\t\tinfoMessages,\n\t\t\tmaxContentHeight,\n\t\t\tmetadataCache,\n\t\t\tpanelDefinitions,\n\t\t\treadOnly,\n\t\t\tselectedTab,\n\t\t\tshowAddConditionSet,\n\t\t\tshowGroupBy,\n\t\t\tshowLoadFilter,\n\t\t\tshowReferenceLookup,\n\t\t\tshowRelatedListConditions,\n\t\t\tshowSaveFilter,\n\t\t\tshowSortBy,\n\t\t\tbasicFilters,\n\t\t\tsource,\n\t\t\tvariablesSource,\n\t\t},\n\t\tisInitialLoad,\n\t} = state;\n\n\t// if there is no decodedQuery it means we are still fetching it\n\tconst showLoader = isComponentsLoading(fetchedComponents) && isInitialLoad;\n\n\tif (!showLoader) {\n\t\tupdateState({\n\t\t\tpath: 'isInitialLoad',\n\t\t\toperation: 'set',\n\t\t\tvalue: false,\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n\n\tif (showLoader) {\n\t\treturn <now-loader className=\"loading-indicator\" />;\n\t}\n\n\treturn (\n\t\t<sn-condition-builder-internal\n\t\t\tbasicFilters={basicFilters}\n\t\t\tcustomizations={\n\t\t\t\tbasicFilters ? BASIC_FILTERS_PRESETS : customizations\n\t\t\t}\n\t\t\tfixedQueryMode={fixedQueryMode}\n\t\t\tdecodedQuery={decodedQuery}\n\t\t\tfetchedComponents={fetchedComponents}\n\t\t\tfieldOperatorRelationship={fieldOperatorRelationship}\n\t\t\tfixedDecodedQuery={fixedDecodedQuery}\n\t\t\tfocusOnRender={focusOnRender}\n\t\t\tinfoMessages={infoMessages}\n\t\t\tmaxContentHeight={maxContentHeight}\n\t\t\tmetadataCache={metadataCache}\n\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\tshowAddConditionSet={showAddConditionSet}\n\t\t\tdisplayLabelOptions={displayLabelOptions}\n\t\t\treadOnly={readOnly}\n\t\t\tselectedTab={selectedTab}\n\t\t\tshowGroupBy={showGroupBy}\n\t\t\tshowLoadFilter={showLoadFilter}\n\t\t\tshowReferenceLookup={showReferenceLookup}\n\t\t\tshowRelatedListConditions={showRelatedListConditions}\n\t\t\tshowSaveFilter={showSaveFilter}\n\t\t\tshowSortBy={showSortBy}\n\t\t\tsource={source}\n\t\t\tvariablesSource={variablesSource}\n\t\t/>\n\t);\n};\n\nconst view = (state, { updateState }) => {\n\tconst {\n\t\tproperties: { builderType },\n\t} = state;\n\n\tif (builderType === CONDITION_BUILDER_TYPE) {\n\t\treturn renderConditionBuilder(state, updateState);\n\t}\n\n\treturn renderPredicateBuilder(state, updateState);\n};\n\nexport default view;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport componentLoaderBehavior from '../../behaviors/componentLoaderBehavior';\nimport decodedQuerySchema from '../../resources/decodedQuery.schema';\nimport panelDefinitionSchema from '../../resources/panelDefinition.schema';\nimport { FIXED_QUERY_MODE } from '../sn-condition-builder/constants';\n\nimport actionHandlers from './actions';\nimport {\n\tNOW_PREDICATE_BUILDER_DECODED_QUERY_UPDATED,\n\tNOW_PREDICATE_BUILDER_FETCH_METADATA,\n\tNOW_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS,\n\tNOW_PREDICATE_BUILDER_PREDICATE_UPDATED,\n} from './actionTypes';\nimport {\n\tMAX_CONTENT_HEIGHT_OPTIONS,\n\tPREDICATE_BUILDER_TYPE,\n\tUSE_SHOW_FIELD_LABELS_USER_PREF,\n} from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n// import { fieldOperatorMappingsSchema } from '../../resources/fieldOperatorMappings.schema';\n\ncreateCustomElement('now-predicate-builder', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\tisInitialLoad: true,\n\t},\n\tproperties: {\n\t\tbuilderType: {\n\t\t\tdefault: PREDICATE_BUILDER_TYPE,\n\t\t},\n\t\tcustomComponents: {\n\t\t\tdefault: {\n\t\t\t\tmacroponentSysIds: [],\n\t\t\t\tcomponentTags: [],\n\t\t\t},\n\t\t},\n\t\tcustomizations: {\n\t\t\tdefault: {},\n\t\t},\n\t\t// Props for predicate builder\n\t\tmacroponentSysId: {\n\t\t\tdefault: '',\n\t\t},\n\t\tcomponentTag: {\n\t\t\tdefault: '',\n\t\t},\n\t\tmaxContentHeight: {\n\t\t\tdefault: MAX_CONTENT_HEIGHT_OPTIONS.FULL,\n\t\t},\n\t\tpredicateComposition: {\n\t\t\tdefault: {},\n\t\t},\n\t\tgroupedPredicateConfig: {\n\t\t\tdefault: {},\n\t\t},\n\t\t// Props for condition builder\n\t\tdecodedQuery: {\n\t\t\tdefault: {},\n\t\t\tschema: decodedQuerySchema,\n\t\t},\n\t\tsource: {\n\t\t\tdefault: '',\n\t\t},\n\t\tfieldOperatorRelationship: {\n\t\t\tdefault: {},\n\t\t\t// schema: fieldOperatorMappingsSchema\n\t\t},\n\t\tfixedDecodedQuery: {\n\t\t\tdefault: {},\n\t\t\tschema: decodedQuerySchema,\n\t\t},\n\t\tmetadataCache: {\n\t\t\tdefault: {},\n\t\t},\n\t\tpanelDefinitions: {\n\t\t\tdefault: {},\n\t\t\tschema: panelDefinitionSchema,\n\t\t},\n\t\tinfoMessages: {\n\t\t\tdefault: [],\n\t\t},\n\t\tfixedQueryMode: {\n\t\t\tdefault: FIXED_QUERY_MODE.SIMPLE,\n\t\t},\n\t\tfocusOnRender: {\n\t\t\tdefault: false,\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t},\n\t\tselectedTab: {\n\t\t\tdefault: '',\n\t\t},\n\t\tshowAddConditionSet: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowGroupBy: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowLoadFilter: {\n\t\t\tdefault: true,\n\t\t},\n\t\t// shows clickable icon for sn-editor-value-reference (config applies to all reference editors)\n\t\tshowReferenceLookup: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowRelatedListConditions: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowSaveFilter: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowSortBy: {\n\t\t\tdefault: true,\n\t\t},\n\t\tbasicFilters: {\n\t\t\tdefault: false,\n\t\t},\n\t\tuseHasItemVariableSyntax: {\n\t\t\tdefault: false,\n\t\t},\n\t\tvariablesSource: {\n\t\t\tdefault: {},\n\t\t},\n\t\tdisplayLabelOptions: {\n\t\t\tdefault: USE_SHOW_FIELD_LABELS_USER_PREF,\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tdispatches: {\n\t\t[NOW_PREDICATE_BUILDER_PREDICATE_UPDATED]: {},\n\t\t[NOW_PREDICATE_BUILDER_FETCH_METADATA]: {},\n\t\t[NOW_PREDICATE_BUILDER_FETCH_PANEL_DEFINITIONS]: {},\n\t\t[NOW_PREDICATE_BUILDER_DECODED_QUERY_UPDATED]: {},\n\t},\n\tactionHandlers,\n\tbehaviors: [componentLoaderBehavior, { behavior: rtlBehavior }],\n\tstyles,\n});\n","import { klona } from 'klona';\n\nimport { uuid } from '../../commons/utils/uuid';\n\n/**\n * Map the decoded query conditions or related list query conditions condition object to the proper shape.\n *\n * @param {Object} condition - The condition to update. It should be a cloned version.\n * @returns {Object} - The updated condition.\n */\nexport const updateCondition = (condition = {}) => {\n\treturn {\n\t\t...condition,\n\t\treferenceId: condition.referenceId || uuid(),\n\t};\n};\n\n/**\n * Updates the decoded query by setting ids for conditions and related list query conditions.\n *\n * @param {Object} decodedQuery - The decoded query object.\n * @param {Array} decodedQuery.conditions - The conditions array.\n * @param {Object} decodedQuery.relatedListQuery - The related list query object.\n * @param {Object} decodedQuery.groupBy - The group by object.\n * @param {Object} decodedQuery.orderBy - The order by object.\n * @returns {Object} - The updated decoded query with ids set.\n */\nexport const getDecodedQueryWithIds = (decodedQuery) => {\n\tconst { conditions, relatedListQuery } = decodedQuery || {};\n\n\tconst clonedConditions = klona(conditions || []).map(updateCondition);\n\n\tlet clonedRelatedListQueryConditions;\n\tif (relatedListQuery) {\n\t\tclonedRelatedListQueryConditions = klona(\n\t\t\trelatedListQuery.conditions\n\t\t).map(updateCondition);\n\t}\n\n\treturn {\n\t\t...decodedQuery,\n\t\t...(clonedConditions.length > 0 && { conditions: clonedConditions }),\n\t\t...(relatedListQuery && {\n\t\t\trelatedListQuery: {\n\t\t\t\t...relatedListQuery,\n\t\t\t\tconditions: clonedRelatedListQueryConditions,\n\t\t\t},\n\t\t}),\n\t};\n};\n","// public\nexport const NOW_FILTER_OVERVIEW_DECODED_QUERY_UPDATED =\n\t'NOW_FILTER_OVERVIEW#DECODED_QUERY_UPDATED';\n\nexport const NOW_FILTER_OVERVIEW_EDITOR_OPENED =\n\t'NOW_FILTER_OVERVIEW#EDITOR_OPENED';\n\nexport const NOW_FILTER_OVERVIEW_COPY_QUERY = 'NOW_FILTER_OVERVIEW#COPY_QUERY';\n\n//private\nexport const SN_FILTER_CARD_MENU_ITEM_CLICKED =\n\t'SN_FILTER_CARD#MENU_ITEM_CLICKED';\n\nexport const SN_FILTER_OVERVIEW_CARD_FOCUSED =\n\t'SN_FILTER_OVERVIEW#CARD_FOCUSED';\n\nexport const NOW_DROPDOWN_ACTIVE_ITEM_SET = 'NOW_DROPDOWN#ACTIVE_ITEM_SET';\n\nexport const SN_FILTER_CARD_MOUSE_LEAVE = 'SN_FILTER_CARD#MOUSE_LEAVE';\n\nexport const SN_FILTER_CARD_FOCUS_AFTER = 'SN_FILTER_CARD#FOCUS_AFTER';\n","import { t } from 'sn-translate';\n\nexport const FILTER_SUMMARY_TITLE = t({\n\tcode: 'now_predicate_builder__now_filter_overview',\n\tmessage: 'Filter Summary',\n\tcomment: 'Label for screen reader when entering the component',\n});\n\nexport const FILTER_SUMMARY_DESCRIPTION = t({\n\tcode: 'now_predicate_builder__now_filter_overview',\n\tmessage: 'Use arrow keys to move through each filter list item.',\n\tcomment: 'Label for screen reader to describe the region',\n});\n\nexport const COPY_QUERY_DISPLAY_VALUE = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Copy query',\n\tcomment: 'Label for a button that copies the current query',\n});\n\nexport const DELETE_ALL_AFTER_DISPLAY_VALUE = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Delete all after',\n\tcomment:\n\t\t'Label for a button that deletes all conditions after the current one',\n});\nexport const DELETE_CONDITION_DISPLAY_VALUE = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Delete condition',\n\tcomment: 'Label for a button that deletes the current condition',\n});\nexport const INCOMPLETE_QUERY_DISPLAY_VALUE = t({\n\tcode: 'now_predicate_builder',\n\tmessage: '(empty)',\n\tcomment: 'Display value for an incomplete or empty query',\n});\nexport const OPEN_EDITOR_DISPLAY_VALUE = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Open editor',\n\tcomment: 'Label for a button that opens the query editor',\n});\nexport const OR_LABEL = t({\n\tcode: 'now_predicate_builder__now_filter_overview__or_label',\n\tmessage: 'OR',\n\tcomment: 'Logical operator \"OR\" used to connect query conditions',\n});\nexport const QUALIFIER_STATEMENT_CLEAR_RELATED_LIST_DISPLAY_VALUE = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Clear related list',\n\tcomment: 'Label for a button that clears the related list conditions',\n});\n\nexport const QUERY_CONDITION_TYPE_AND = t({\n\tcode: 'now_predicate_builder__now_filter_overview__and_label',\n\tmessage: 'and',\n\tcomment: 'Logical operator \"and\" used to connect query conditions',\n});\nexport const QUERY_CONDITION_TYPE_OR = t({\n\tcode: 'now_predicate_builder__now_filter_overview__query_condition_type_or',\n\tmessage: 'or',\n\tcomment: 'Logical operator \"or\" used to connect query conditions',\n});\nexport const RELATED_LIST_CONDITIONS_LABEL = t({\n\tcode:\n\t\t'now_predicate_builder__now_filter_overview__related_list_conditions_label',\n\tmessage: 'Related List Conditions',\n\tcomment: 'Label for the \"Related List Conditions\" section',\n});\nexport const SHOW_LESS_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Show less',\n\tcomment: 'Label for a button to collapse a list and show fewer items',\n});\n\nexport const COPY_QUERY = 'COPY_QUERY';\nexport const DELETE_ALL_AFTER = 'DELETE_ALL_AFTER';\nexport const DELETE_CONDITION = 'DELETE_CONDITION';\nexport const OPEN_EDITOR = 'OPEN_EDITOR';\nexport const QUALIFIER_STATEMENT_CLEAR_RELATED_LIST =\n\t'QUALIFIER_STATEMENT_CLEAR_RELATED_LIST';\nexport const QUALIFIER_STATEMENT_COPY_QUERY = 'QUALIFIER_STATEMENT_COPY_QUERY';\nexport const QUALIFIER_STATEMENT_DELETE_ALL_AFTER =\n\t'QUALIFIER_STATEMENT_DELETE_ALL_AFTER';\n\nexport const ANYTHING = 'ANYTHING';\nexport const EMPTY_STRING = 'EMPTYSTRING';\nexport const IS_EMPTY = 'ISEMPTY';\nexport const IS_NOT_EMPTY = 'ISNOTEMPTY';\n\nexport const CONDITIONS = 'CONDITIONS_FILTER_TYPE';\nexport const RELATED_LIST_CONDITIONS = 'RELATED_LIST_CONDITIONS_FILTER_TYPE';\nexport const FIXED_CONDITIONS = 'FIXED_CONDITIONS_FILTER_TYPE';\nexport const FIXED_RELATED_LIST_CONDITIONS =\n\t'FIXED_RELATED_LIST_CONDITIONS_FILTER_TYPE';\n\nexport const SHOW_MORE_ID = 'showMore';\nexport const SHOW_LESS_ID = 'showLess';\n\nexport const PAYLOAD_KEYS = {\n\tDECODED_QUERY: 'decodedQuery',\n\tFIXED_DECODED_QUERY: 'fixedDecodedQuery',\n};\n\nexport const MENU_ITEMS = {\n\tCOPY_QUERY,\n\tDELETE_ALL_AFTER,\n\tDELETE_CONDITION,\n\tOPEN_EDITOR,\n\tQUALIFIER_STATEMENT_CLEAR_RELATED_LIST,\n\tQUALIFIER_STATEMENT_COPY_QUERY,\n\tQUALIFIER_STATEMENT_DELETE_ALL_AFTER,\n};\n\nexport const FILTER_TYPES = {\n\tCONDITIONS,\n\tRELATED_LIST_CONDITIONS,\n\tFIXED_CONDITIONS,\n\tFIXED_RELATED_LIST_CONDITIONS,\n};\n\nexport const EXPAND_FILTERS_BTN_ID = 'expandFiltersBtn';\n\nexport const VALID_EMPTY_VALUE_OPERATORS = [\n\tEMPTY_STRING,\n\tIS_EMPTY,\n\tIS_NOT_EMPTY,\n\tANYTHING,\n];\n\nexport const BETWEEN_ID = 'BETWEEN';\nexport const BETWEEN_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Between',\n\tcomment: 'Operator for a \"between\" comparison',\n});\n\nexport const FIXED_QUERY_MODE = {\n\tSIMPLE: 'SIMPLE',\n\tDISTRIBUTED: 'DISTRIBUTED',\n};\n","import { klona } from 'klona';\nimport { t } from 'sn-translate';\n\nimport { QUERY_CONDITION_TYPE } from '../../../commons/constants';\nimport {\n\tHIERARCHY_DYNAMIC_OPERATOR_INTERNAL_VALUE,\n\tHIERARCHY_OPERATOR_INTERNAL_VALUE,\n} from '../../../now-predicate-builder/components/sn-value-editor-hierarchy-reference/constants';\n\nimport {\n\tCOPY_QUERY,\n\tCOPY_QUERY_DISPLAY_VALUE,\n\tDELETE_ALL_AFTER,\n\tDELETE_ALL_AFTER_DISPLAY_VALUE,\n\tDELETE_CONDITION,\n\tDELETE_CONDITION_DISPLAY_VALUE,\n\tINCOMPLETE_QUERY_DISPLAY_VALUE,\n\tOPEN_EDITOR,\n\tOPEN_EDITOR_DISPLAY_VALUE,\n\tQUALIFIER_STATEMENT_CLEAR_RELATED_LIST,\n\tQUALIFIER_STATEMENT_CLEAR_RELATED_LIST_DISPLAY_VALUE,\n\tQUALIFIER_STATEMENT_COPY_QUERY,\n\tQUALIFIER_STATEMENT_DELETE_ALL_AFTER,\n\tQUERY_CONDITION_TYPE_OR,\n\tVALID_EMPTY_VALUE_OPERATORS,\n} from './constants';\n\n/**\n * Decides if an or element should be displayed to represent a NEW_QUERY\n *\n * @param {string} conditionType - The type of the condition (e.g., 'OR', 'AND').\n * @param {number} index - The current index of the Filter Card in the Filter Overview\n * @returns {boolean} - Returns a true or false value that is used in the view to decide to display the or\n */\nexport function shouldDisplayOrElement(conditionType, index) {\n\treturn conditionType === QUERY_CONDITION_TYPE.NEW_QUERY && index !== 0;\n}\n\n/**\n * Uses the reference id to find the index of the condition that should be removed\n *\n * @param {string} referenceId - The ID of the filter card.\n * @param {Object} conditions - The array of condition objects.\n * @returns {number} - Returns the the index of the condition that should be removed.\n */\nexport function findRemovalIndex(referenceId, conditions) {\n\t// Ensure conditions is always an array\n\tconst safeConditions = Array.isArray(conditions) ? conditions : [];\n\n\tconst removalIndex = safeConditions.findIndex(\n\t\t(condition) => condition.referenceId === referenceId\n\t);\n\treturn removalIndex;\n}\n\n/**\n * Puts the default menu items in an array, and extra items that should be toggled on are pushed into that array.\n *\n * @param {Object} options - Options to determine if certain menu items are shown.\n * @param {boolean} options.showClearRelatedList - Flag to show the \"Clear Related List\" menu item.\n * @param {boolean} options.showCopyQuery - Flag to show the \"Copy query\" menu item.\n * @param {boolean} options.showDeleteAllAfter - Flag to show the \"Delete all after\" menu item.\n * @param {boolean} options.showOpenEditor - Flag to show the \"Open editor\" menu item.\n * @returns {Array} - Returns an array of the menu items.\n */\nexport function createMenuItems(options) {\n\tconst {\n\t\tshowCopyQuery,\n\t\tshowDeleteAllAfter,\n\t\tshowDeleteCondition,\n\t\tshowOpenEditor,\n\t\tshowQualifierStatementClearRelatedList,\n\t\tshowQualifierStatementCopyQuery,\n\t\tshowQualifierStatementDeleteAllAfter,\n\t} = options;\n\n\tconst menuItems = [];\n\n\tif (showOpenEditor) {\n\t\tmenuItems.push({\n\t\t\tid: OPEN_EDITOR,\n\t\t\tlabel: OPEN_EDITOR_DISPLAY_VALUE,\n\t\t});\n\t}\n\n\tif (showCopyQuery) {\n\t\tmenuItems.push({\n\t\t\tid: COPY_QUERY,\n\t\t\tlabel: COPY_QUERY_DISPLAY_VALUE,\n\t\t});\n\t}\n\n\tif (showDeleteCondition) {\n\t\tmenuItems.push({\n\t\t\tid: DELETE_CONDITION,\n\t\t\tlabel: DELETE_CONDITION_DISPLAY_VALUE,\n\t\t});\n\t}\n\n\tif (showQualifierStatementCopyQuery) {\n\t\tmenuItems.push({\n\t\t\tid: QUALIFIER_STATEMENT_COPY_QUERY,\n\t\t\tlabel: COPY_QUERY_DISPLAY_VALUE,\n\t\t});\n\t}\n\n\tif (showQualifierStatementClearRelatedList) {\n\t\tmenuItems.push({\n\t\t\tid: QUALIFIER_STATEMENT_CLEAR_RELATED_LIST,\n\t\t\tlabel: QUALIFIER_STATEMENT_CLEAR_RELATED_LIST_DISPLAY_VALUE,\n\t\t});\n\t}\n\n\tif (showQualifierStatementDeleteAllAfter) {\n\t\tmenuItems.push({\n\t\t\tid: QUALIFIER_STATEMENT_DELETE_ALL_AFTER,\n\t\t\tlabel: DELETE_ALL_AFTER_DISPLAY_VALUE,\n\t\t});\n\t}\n\n\tif (showDeleteAllAfter) {\n\t\tmenuItems.push({\n\t\t\tid: DELETE_ALL_AFTER,\n\t\t\tlabel: DELETE_ALL_AFTER_DISPLAY_VALUE,\n\t\t});\n\t}\n\n\t// this is wrapped in an array and object to match the syntax needed to pass this to a now-dropdown-list\n\treturn [{ children: menuItems }];\n}\n\n/**\n * The process finds the index of the condition to delete in the decodedQuery using its referenceId.\n * If the deleted condition is \"new query,\" it changes the next condition to \"new query.\"\n * If the deleted condition is \"and\" and the next one is \"or,\" it changes the next condition to \"and.\"\n * Finally, it deletes the specified condition.\n *\n * @param {string} referenceId - The ID of the filter card\n * @param {Object} decodedQuery - The original decoded query object.\n * @returns {Object} - Returns the decoded query with updated conditions\n */\nexport function deleteCondition(referenceId, conditions) {\n\tconst clonedConditions = klona(conditions);\n\n\tconst indexToDelete = clonedConditions.findIndex(\n\t\t(condition) => condition.referenceId === referenceId\n\t);\n\n\tif (indexToDelete === -1) {\n\t\treturn conditions;\n\t}\n\n\tconst nextIndex = indexToDelete + 1;\n\tconst currentCondition = clonedConditions[indexToDelete];\n\n\t// Check and update the next condition type if applicable\n\tif (clonedConditions[nextIndex]) {\n\t\tconst nextCondition = clonedConditions[nextIndex];\n\n\t\tif (currentCondition.conditionType === QUERY_CONDITION_TYPE.NEW_QUERY) {\n\t\t\tnextCondition.conditionType = QUERY_CONDITION_TYPE.NEW_QUERY;\n\t\t} else if (\n\t\t\tcurrentCondition.conditionType === QUERY_CONDITION_TYPE.AND &&\n\t\t\tnextCondition.conditionType === QUERY_CONDITION_TYPE.OR\n\t\t) {\n\t\t\tnextCondition.conditionType = QUERY_CONDITION_TYPE.AND;\n\t\t}\n\t}\n\n\tconst updatedConditions = clonedConditions.toSpliced(indexToDelete, 1);\n\n\treturn updatedConditions;\n}\n\n/**\n * Removes all conditions in the `decodedQuery` object after the condition\n * with the specified `referenceId` is found.\n *\n * @param {index} removalIndex - The current index of the element that will begin the strike through\n * @param {Object} conditions - The array of condition objects.\n * @returns - Returns the updated conditions\n */\nexport function deleteAllAfterCondition(removalIndex, conditions) {\n\tif (removalIndex === -1) {\n\t\treturn conditions;\n\t}\n\n\tconst updatedConditions = conditions.toSpliced(removalIndex + 1);\n\n\treturn updatedConditions;\n}\n\n/**\n * Strips the referenceId from the conditions array objects.\n *\n * @param {Array} conditions - The array of condition objects.\n * @returns {Array} - Returns the conditions array with referenceId removed from each object.\n */\nexport function stripReferenceId(conditions) {\n\tif (!Array.isArray(conditions)) {\n\t\treturn conditions;\n\t}\n\n\ttry {\n\t\treturn conditions.map((condition) => {\n\t\t\tconst { referenceId, ...rest } = condition || {};\n\n\t\t\tif (referenceId) {\n\t\t\t\treturn rest;\n\t\t\t}\n\n\t\t\treturn condition;\n\t\t});\n\t} catch (err) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error stripping referenceId from conditions', err);\n\t\treturn conditions;\n\t}\n}\n\n/**\n * Compares two arrays of query conditions to determine if they are equal.\n *\n * @param {Array} stateConditions - The array of conditions in state.\n * @param {Array} payloadConditions - The array of conditions in payload.\n * @returns {boolean} - Returns true if the query conditions are equal, otherwise false.\n */\nexport const areQueryConditionsEqual = (stateConditions, payloadConditions) => {\n\t// Check if both are null and undefined\n\tif (!stateConditions && payloadConditions === stateConditions) {\n\t\treturn true;\n\t}\n\n\t// Ensure both inputs are arrays of the same length\n\tif (\n\t\t!Array.isArray(stateConditions) ||\n\t\t!Array.isArray(payloadConditions) ||\n\t\tstateConditions.length !== payloadConditions.length\n\t) {\n\t\treturn false;\n\t}\n\n\t// Compare each condition in the arrays\n\treturn stateConditions.every((stateCondition, index) => {\n\t\tconst payloadCondition = payloadConditions[index];\n\n\t\tif (!payloadCondition) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst {\n\t\t\tfield: stateField,\n\t\t\toperator: stateOperator,\n\t\t\tvalue: stateValue,\n\t\t} = stateCondition;\n\n\t\tconst {\n\t\t\tfield: payloadField,\n\t\t\toperator: payloadOperator,\n\t\t\tvalue: payloadValue,\n\t\t} = payloadCondition;\n\n\t\treturn (\n\t\t\tisShallowEqual(stateField, payloadField, [\n\t\t\t\t'internalValue',\n\t\t\t\t'displayValue',\n\t\t\t]) &&\n\t\t\tisShallowEqual(stateOperator, payloadOperator, [\n\t\t\t\t'internalValue',\n\t\t\t\t'displayValue',\n\t\t\t]) &&\n\t\t\tisShallowEqual(stateValue, payloadValue, [\n\t\t\t\t'internalValue',\n\t\t\t\t'displayValue',\n\t\t\t])\n\t\t);\n\t});\n};\n\n/**\n * Compares two query properties objects to determine if they are equal.\n *\n * @param {Object} stateQueryProperties - The query properties from the state.\n * @param {string} stateQueryProperties.relatedListIdentifier - The related list identifier from the state.\n * @param {string} stateQueryProperties.relationOperator - The relation operator from the state.\n * @param {string|number} stateQueryProperties.relationValue - The relation value from the state.\n * @param {Object} payloadQueryProperties - The query properties from the payload.\n * @param {string} payloadQueryProperties.relatedListIdentifier - The related list identifier from the payload.\n * @param {string} payloadQueryProperties.relationOperator - The relation operator from the payload.\n * @param {string|number} payloadQueryProperties.relationValue - The relation value from the payload.\n * @returns {boolean} - Returns true if the query properties are equal, otherwise false.\n */\nexport const areQueryPropertiesEqual = (\n\tstateQueryProperties,\n\tpayloadQueryProperties\n) => {\n\t// Check if both are null and undefined\n\tif (\n\t\t!stateQueryProperties &&\n\t\tpayloadQueryProperties === stateQueryProperties\n\t) {\n\t\treturn true;\n\t}\n\n\t// Ensure both inputs are objects\n\tif (\n\t\ttypeof stateQueryProperties !== 'object' ||\n\t\tstateQueryProperties === null ||\n\t\ttypeof payloadQueryProperties !== 'object' ||\n\t\tpayloadQueryProperties === null\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isShallowEqual(stateQueryProperties, payloadQueryProperties, [\n\t\t'relatedListIdentifier',\n\t\t'relationOperator',\n\t\t'relationValue',\n\t]);\n};\n\nexport const isShallowEqual = (left, right, properties = []) => {\n\t// Check if both are null or undefined\n\tif (left == null && left === right) {\n\t\treturn true;\n\t}\n\n\t// Check if one is null or undefined and the other is not\n\tif (left == null || right == null) {\n\t\treturn false;\n\t}\n\n\t// Check if both are objects\n\tif (typeof left !== 'object' || typeof right !== 'object') {\n\t\treturn false;\n\t}\n\n\t// Compare specified properties\n\treturn properties.every((name) => left[name] === right[name]);\n};\n\n/**\n * Calculates the total number of displayable conditions in the decoded query.\n *\n * @param {Object} decodedQuery - The decoded query object.\n * @param {Array} decodedQuery.conditions - The conditions array in the decoded query.\n * @param {Object} decodedQuery.relatedListQuery - The related list query object in the decoded query.\n * @param {Array} decodedQuery.relatedListQuery.conditions - The conditions array in the related list query.\n * @returns {number} The total number of displayable conditions.\n */\nexport const getDecodedQueryDisplayableCount = (decodedQuery) => {\n\tconst allConditionsDisplayableCount =\n\t\t(decodedQuery.conditions?.length || 0) +\n\t\t(decodedQuery.relatedListQuery?.conditions?.length || 0);\n\n\treturn allConditionsDisplayableCount;\n};\n\n/**\n * Decides if the condition is an incomplete query by using the operator and display values.\n *\n * @param {Object} condition - the decoded query condition object\n * @returns {boolean} - returns true or false depending on if the condition is incomplete.\n */\nexport const isIncompleteCondition = (condition) => {\n\treturn (\n\t\t!VALID_EMPTY_VALUE_OPERATORS.includes(\n\t\t\tcondition?.operator?.internalValue\n\t\t) && condition?.value?.displayValue === ''\n\t);\n};\n\n/**\n * Creates a label for a given condition by concatenating its parts.\n *\n * @param {Condition} condition - The condition object.\n * @returns {string} The concatenated label string.\n */\nexport const createLabel = (condition) => {\n\tconst fieldDisplayValue = condition.field?.displayValue;\n\tconst operatorDisplayValue = condition.operator?.displayValue;\n\tconst operatorInternalValue = condition.operator?.internalValue;\n\n\tlet valueDisplayValue = condition.value?.displayValue;\n\n\tif (\n\t\toperatorInternalValue === HIERARCHY_OPERATOR_INTERNAL_VALUE ||\n\t\toperatorInternalValue === HIERARCHY_DYNAMIC_OPERATOR_INTERNAL_VALUE\n\t) {\n\t\treturn t(\n\t\t\t{\n\t\t\t\tcode: 'now_predicate_builder',\n\t\t\t\tmessage:\n\t\t\t\t\t'Hierarchy: {fieldDisplayValue} is in the {valueDisplayValue}',\n\t\t\t\tcomment: 'Hierarchy label for filter overview',\n\t\t\t},\n\t\t\t{\n\t\t\t\tfieldDisplayValue,\n\t\t\t\tvalueDisplayValue,\n\t\t\t}\n\t\t);\n\t}\n\n\tif (isIncompleteCondition(condition)) {\n\t\tvalueDisplayValue = INCOMPLETE_QUERY_DISPLAY_VALUE;\n\t}\n\n\treturn `${fieldDisplayValue} ${operatorDisplayValue} ${valueDisplayValue}`;\n};\n\n/**\n * Transforms a single condition item into a more usable format to be used within the view.\n *\n * @param {Condition} condition - The condition object from internal state which includes decoded query model condition and reference id.\n * @returns {FilterOverviewCondition} The transformed condition object.\n */\nexport const transformCondition = (condition, filterType) => {\n\tconst label = createLabel(condition);\n\n\treturn {\n\t\t...condition,\n\t\tfilterType,\n\t\tlabel,\n\t\tprefix: getConditionTypePrefix(condition.conditionType),\n\t\tqueryConditionType: condition.conditionType,\n\t};\n};\n\n/**\n * Returns the prefix for the condition type.\n *\n * @param {string} conditionType - The type of the condition (e.g., 'OR', 'AND').\n * @returns {string} The prefix for the condition type.\n */\nexport const getConditionTypePrefix = (conditionType) => {\n\tswitch (conditionType) {\n\t\tcase QUERY_CONDITION_TYPE.OR:\n\t\t\treturn QUERY_CONDITION_TYPE_OR;\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\n/**\n * Generates display data for condition groups.\n *\n * @param {Object} params - The parameters for generating display data.\n * @param {number} params.displayableCount - The number of conditions that can be displayed.\n * @param {Array} params.groups - The groups of conditions.\n * @param {boolean} params.isExpanded - Flag indicating if the conditions are expanded.\n * @param {string} params.removalFilterType - The type of filter for removal.\n * @param {number} params.removalIndex - The index of the condition to start removal.\n * @param {string} params.removalReferenceId - The reference ID of the specific condition to mark for removal.\n * @returns {Object} The display data for condition groups.\n * @returns {Array} return.conditionGroups - The transformed condition groups.\n * @returns {number} return.allConditionsCount - The total count of conditions.\n */\nexport const generateConditionsDisplayData = ({\n\tdisplayableCount,\n\tgroups,\n\tisExpanded,\n\tisQualifierStatementDeleteAllAfter,\n\tremovalFilterType,\n\tremovalIndex,\n\tremovalReferenceId,\n}) => {\n\tlet counter = 0;\n\n\tconst conditionGroups = groups.map((group) => {\n\t\tconst { conditions = [], filterType, relatedListQuery = null } = group;\n\n\t\tif (relatedListQuery) {\n\t\t\tcounter++;\n\t\t\treturn {\n\t\t\t\tfilterType,\n\t\t\t\thideQualifierStatement:\n\t\t\t\t\t!isExpanded && counter > displayableCount,\n\t\t\t\trelatedListQuery,\n\t\t\t};\n\t\t}\n\n\t\tconst updatedConditions = conditions.map((condition, index) => {\n\t\t\tconst transformedCondition = transformCondition(\n\t\t\t\tcondition,\n\t\t\t\tfilterType\n\t\t\t);\n\n\t\t\t// Increment counter for each condition\n\t\t\tcounter++;\n\n\t\t\treturn {\n\t\t\t\t...transformedCondition,\n\t\t\t\tisHidden: !isExpanded && counter > displayableCount,\n\t\t\t\tisStrikeThru:\n\t\t\t\t\t// \"Delete all after\" from dropdown menu:\n\t\t\t\t\t// Strikes through this condition if it comes after the selected condition\n\t\t\t\t\t(removalFilterType === filterType &&\n\t\t\t\t\t\tindex > removalIndex &&\n\t\t\t\t\t\tremovalIndex !== -1) ||\n\t\t\t\t\t// \"Delete all\" from qualifier statement:\n\t\t\t\t\t// Strikes through all conditions in the related list\n\t\t\t\t\t(removalFilterType === filterType &&\n\t\t\t\t\t\tisQualifierStatementDeleteAllAfter) ||\n\t\t\t\t\t// \"Delete condition\" from dropdown menu:\n\t\t\t\t\t// Strikes through only the specific condition being hovered\n\t\t\t\t\t(removalFilterType === filterType &&\n\t\t\t\t\t\tcondition.referenceId === removalReferenceId &&\n\t\t\t\t\t\tremovalReferenceId !== null),\n\t\t\t};\n\t\t});\n\n\t\tconst result = {\n\t\t\t...group,\n\t\t};\n\n\t\tif (updatedConditions.length > 0) {\n\t\t\tresult.conditions = updatedConditions;\n\t\t}\n\n\t\treturn result;\n\t});\n\n\treturn {\n\t\tconditionGroups,\n\t\tallConditionsCount: counter, // Total conditions count\n\t};\n};\n\n/**\n * Finds the index of the first element in `.condition-container` that matches the given predicate.\n *\n * @param {HTMLElement} host - The root element containing the shadow DOM.\n * @param {function(HTMLElement): boolean} predicate - A function that determines the matching condition.\n * @returns {number} The index of the matching element, or -1 if no match is found.\n */\nexport const getIndexToFocus = (host, predicate) => {\n\tconst containers = host.shadowRoot.querySelectorAll('.condition-container');\n\treturn Array.from(containers).findIndex(predicate);\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport { NOW_BUTTON_BARE_CLICKED } from '../../../commons/actionTypes';\nimport { KEYS } from '../../../now-predicate-builder/behaviors/keyboardNavBehavior/constants';\nimport { getDecodedQueryWithIds } from '../../utils/transformUtils';\n\nimport {\n\tNOW_DROPDOWN_ACTIVE_ITEM_SET,\n\tNOW_FILTER_OVERVIEW_COPY_QUERY,\n\tNOW_FILTER_OVERVIEW_DECODED_QUERY_UPDATED,\n\tNOW_FILTER_OVERVIEW_EDITOR_OPENED,\n\tSN_FILTER_CARD_FOCUS_AFTER,\n\tSN_FILTER_CARD_MENU_ITEM_CLICKED,\n\tSN_FILTER_CARD_MOUSE_LEAVE,\n\tSN_FILTER_OVERVIEW_CARD_FOCUSED,\n} from './actionTypes';\nimport {\n\tCONDITIONS,\n\tDELETE_ALL_AFTER,\n\tDELETE_CONDITION,\n\tEXPAND_FILTERS_BTN_ID,\n\tMENU_ITEMS,\n\tPAYLOAD_KEYS,\n\tQUALIFIER_STATEMENT_DELETE_ALL_AFTER,\n\tRELATED_LIST_CONDITIONS,\n\tSHOW_LESS_ID,\n\tSHOW_MORE_ID,\n} from './constants';\nimport {\n\tareQueryConditionsEqual,\n\tareQueryPropertiesEqual,\n\tdeleteAllAfterCondition,\n\tdeleteCondition,\n\tfindRemovalIndex,\n\tgetDecodedQueryDisplayableCount,\n\tgetIndexToFocus,\n\tstripReferenceId,\n} from './utils';\n\nconst {\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\nconst handleBootstrap = (coeffects) => {\n\tsetInitialFilterOverviewState(coeffects);\n};\n\nconst setInitialFilterOverviewState = (coeffects) => {\n\tconst {\n\t\tproperties: { decodedQuery, fixedDecodedQuery },\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst decodedQueryWithIds = getDecodedQueryWithIds(decodedQuery);\n\tconst fixedDecodedQueryWithIds = getDecodedQueryWithIds(fixedDecodedQuery);\n\n\tconst decodedQueryDisplayableCount = getDecodedQueryDisplayableCount(\n\t\tdecodedQueryWithIds\n\t);\n\n\tconst fixedDecodedQueryDisplayableCount = getDecodedQueryDisplayableCount(\n\t\tfixedDecodedQueryWithIds\n\t);\n\n\tupdateState({\n\t\t...decodedQueryWithIds,\n\t\tdisplayableCount:\n\t\t\tdecodedQueryDisplayableCount + fixedDecodedQueryDisplayableCount,\n\t\tfixedConditions: fixedDecodedQueryWithIds.conditions,\n\t\tfixedRelatedListQuery: fixedDecodedQueryWithIds.relatedListQuery,\n\t});\n};\n\nconst handleComponentTreeRendered = (coeffects) => {\n\tconst { host, updateState } = coeffects;\n\tconst SCROLL_PADDING = 16; // Extra padding added to each item's scroll width for spacing calculations.\n\n\t// Select both condition containers and qualifier statement containers\n\tconst items =\n\t\thost?.shadowRoot?.querySelectorAll(\n\t\t\t'.condition-container, .qualifier-statement-container'\n\t\t) || [];\n\n\t// Get the width of the container or set it to 0 if not available.\n\tlet containerWidth = host?.shadowRoot?.firstChild?.offsetWidth || 0;\n\n\t// Initial width offset accounting for a fixed element or starting layout adjustment.\n\t// This value may represent padding, margins, or an initial static space required.\n\tlet visibleWidth = 54;\n\n\t// Counter for the number of items that can fit within the container's width.\n\tlet displayableCount = 0;\n\n\t// Iterate over each item to calculate how many can fit in the visible width.\n\tfor (const item of items) {\n\t\t// Calculate the width of the item including scroll width and extra padding.\n\t\tconst scrollWidthAndPadding = item.scrollWidth + SCROLL_PADDING;\n\n\t\t// Stop the loop if adding this item's width exceeds the container width.\n\t\tif (visibleWidth + scrollWidthAndPadding > containerWidth) break;\n\n\t\t// Update the visible width and increment the count of displayable items.\n\t\tvisibleWidth += scrollWidthAndPadding;\n\t\tdisplayableCount++;\n\t}\n\n\tupdateState({\n\t\tdisplayableCount,\n\t});\n};\n\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value = {} },\n\t\t},\n\t\tstate: {\n\t\t\tconditions,\n\t\t\trelatedListQuery,\n\t\t\tfixedConditions,\n\t\t\tfixedRelatedListQuery,\n\t\t},\n\t} = coeffects;\n\n\tif (name === PAYLOAD_KEYS.DECODED_QUERY) {\n\t\tconst queryConditionsAreEqual = areQueryConditionsEqual(\n\t\t\tconditions,\n\t\t\tvalue?.conditions\n\t\t);\n\n\t\tconst relatedListQueryConditionsAreEqual = areQueryConditionsEqual(\n\t\t\trelatedListQuery?.conditions,\n\t\t\tvalue?.relatedListQuery?.conditions\n\t\t);\n\n\t\tconst relatedListQueryPropertiesAreEqual = areQueryPropertiesEqual(\n\t\t\trelatedListQuery,\n\t\t\tvalue?.relatedListQuery\n\t\t);\n\n\t\t// only update internal state if there are differences\n\t\tif (\n\t\t\t!(\n\t\t\t\tqueryConditionsAreEqual &&\n\t\t\t\trelatedListQueryConditionsAreEqual &&\n\t\t\t\trelatedListQueryPropertiesAreEqual\n\t\t\t)\n\t\t) {\n\t\t\tsetInitialFilterOverviewState(coeffects);\n\t\t}\n\t} else if (name === PAYLOAD_KEYS.FIXED_DECODED_QUERY) {\n\t\tconst queryConditionsAreEqual = areQueryConditionsEqual(\n\t\t\tfixedConditions,\n\t\t\tvalue?.conditions\n\t\t);\n\n\t\tconst relatedListQueryConditionsAreEqual = areQueryConditionsEqual(\n\t\t\tfixedRelatedListQuery?.conditions,\n\t\t\tvalue?.relatedListQuery?.conditions\n\t\t);\n\n\t\tconst fixedRelatedListQueryPropertiesAreEqual = areQueryPropertiesEqual(\n\t\t\tfixedRelatedListQuery,\n\t\t\tvalue?.fixedRelatedListQuery\n\t\t);\n\n\t\t// only update internal state if there are differences\n\t\tif (\n\t\t\t!(\n\t\t\t\tqueryConditionsAreEqual &&\n\t\t\t\trelatedListQueryConditionsAreEqual &&\n\t\t\t\tfixedRelatedListQueryPropertiesAreEqual\n\t\t\t)\n\t\t) {\n\t\t\tsetInitialFilterOverviewState(coeffects);\n\t\t}\n\t}\n};\n\n/**\n * Handles the \"Copy query\" action.\n * It dispatches NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY with the updated conditions model\n */\nconst handleCopyQueryAction = async (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { filterType, referenceId, filterCardEl },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { decodedQuery, fixedDecodedQuery, fixedQueryMode },\n\t\tstate: { conditions, relatedListQuery },\n\t\tupdateState,\n\t} = coeffects;\n\n\tlet targetConditions;\n\n\tconst relatedListQueryConditions = relatedListQuery?.conditions;\n\n\tswitch (filterType) {\n\t\tcase CONDITIONS:\n\t\t\ttargetConditions = conditions;\n\t\t\tbreak;\n\n\t\tcase RELATED_LIST_CONDITIONS:\n\t\t\ttargetConditions = relatedListQueryConditions;\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tconst removalIndex = findRemovalIndex(referenceId, targetConditions);\n\n\tconst updatedConditions = deleteAllAfterCondition(\n\t\tremovalIndex,\n\t\ttargetConditions\n\t);\n\n\tupdateState({ referenceId });\n\n\thandleCopyQuery({\n\t\tdecodedQuery,\n\t\tdispatch,\n\t\tfilterCardEl,\n\t\tfilterType,\n\t\tfixedDecodedQuery,\n\t\tfixedQueryMode,\n\t\trelatedListQuery,\n\t\tupdatedConditions,\n\t});\n};\n\n/**\n * Updates the decoded query and/or fixed decoded query based on the specified filter type,\n * then dispatches the updated values. This function is typically used to copy or propagate\n * certain conditions from one part of the query configuration to another.\n *\n * @function handleCopyQuery\n * @param {Object} params - The parameters object.\n * @param {Object} params.decodedQuery - The current decoded query object (usually contains regular conditions).\n * @param {Function} params.dispatch - A dispatch function to send the updated query to the store or parent component.\n * @param {string} params.filterCardEl - The host element that the user clicked from.\n * @param {string} params.filterType - The type of filter to handle (e.g. \"CONDITIONS\", \"RELATED_LIST_CONDITIONS\").\n * @param {Object} params.fixedDecodedQuery - The currently fixed part of the decoded query object (usually conditions that always apply).\n * @param {Object} params.fixedQueryMode - The mode to handle fixed queries\n * @param {Object} params.fixedRelatedListQuery - The currently fixed part of the related list query object (conditions that always apply to related lists).\n * @param {Object} params.relatedListQuery - The current related list query object (contains conditions relevant to related lists).\n * @param {Array|Object} params.updatedConditions - The new or updated conditions to be merged into the relevant query structure.\n */\nexport const handleCopyQuery = ({\n\tdecodedQuery,\n\tdispatch,\n\tfilterCardEl,\n\tfilterType,\n\tfixedDecodedQuery,\n\tfixedQueryMode,\n\trelatedListQuery,\n\tupdatedConditions,\n}) => {\n\tlet newDecodedQuery;\n\n\t// since it sits in front of regular conditions fixed decoded query will always be included in the copy query action\n\t// for regular conditions and related list conditions\n\tlet newFixedDecodedQuery = {\n\t\t...fixedDecodedQuery,\n\t};\n\n\tconst sanitizedConditions = stripReferenceId(updatedConditions);\n\n\tswitch (filterType) {\n\t\tcase CONDITIONS:\n\t\t\t// don't copy the entire decodedQuery just conditions up until the copy query condition\n\t\t\tnewDecodedQuery = {\n\t\t\t\tconditions: sanitizedConditions,\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase RELATED_LIST_CONDITIONS:\n\t\t\t// decodedQuery.conditions need to be included when sending updates to relatedListQuery\n\t\t\t// intentionally only passing the conditions and relatedListQuery for copy query\n\t\t\tnewDecodedQuery = {\n\t\t\t\tconditions: decodedQuery.conditions,\n\t\t\t\trelatedListQuery: {\n\t\t\t\t\t...relatedListQuery,\n\t\t\t\t\tconditions: sanitizedConditions,\n\t\t\t\t},\n\t\t\t};\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tdispatch(NOW_FILTER_OVERVIEW_COPY_QUERY, {\n\t\tdecodedQuery: newDecodedQuery,\n\t\tfilterCardEl,\n\t\tfixedDecodedQuery: newFixedDecodedQuery,\n\t\tfixedQueryMode: fixedQueryMode,\n\t});\n};\n\nexport const handleDeleteConditionOrDeleteAllAfter = ({\n\tdecodedQuery,\n\tdispatch,\n\tfilterType,\n\tfixedDecodedQuery,\n\tfixedQueryMode,\n\trelatedListQuery,\n\tupdatedConditions,\n}) => {\n\tlet newDecodedQuery = {\n\t\t...decodedQuery,\n\t};\n\n\tswitch (filterType) {\n\t\tcase CONDITIONS:\n\t\t\tnewDecodedQuery.conditions = stripReferenceId(updatedConditions);\n\t\t\tbreak;\n\n\t\tcase RELATED_LIST_CONDITIONS:\n\t\t\tif (relatedListQuery) {\n\t\t\t\tnewDecodedQuery.relatedListQuery = {\n\t\t\t\t\t...relatedListQuery,\n\t\t\t\t\tconditions: stripReferenceId(updatedConditions),\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tdispatch(NOW_FILTER_OVERVIEW_DECODED_QUERY_UPDATED, {\n\t\tdecodedQuery: newDecodedQuery,\n\t\tfixedDecodedQuery,\n\t\tfixedQueryMode,\n\t});\n};\n\nconst resetRemovalState = (updateState) => {\n\tupdateState({\n\t\tisQualifierStatementDeleteAllAfter: false,\n\t\tremovalIndex: -1,\n\t\tremovalFilterType: null,\n\t\tremovalReferenceId: null,\n\t});\n};\n\nconst handleFocusAfter = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { indexToFocus },\n\t\t},\n\t\thost,\n\t} = coeffects;\n\n\tconst containers = Array.from(\n\t\thost.shadowRoot.querySelectorAll('.condition-container')\n\t);\n\n\tif (containers.length !== 0) {\n\t\tlet nextElement =\n\t\t\tcontainers[indexToFocus] || containers[indexToFocus - 1];\n\n\t\tif (nextElement) {\n\t\t\tconst el = nextElement\n\t\t\t\t.querySelector('sn-filter-card')\n\t\t\t\t.shadowRoot.querySelector('.sn-filter-card');\n\n\t\t\tif (el) {\n\t\t\t\tel.focus();\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst handleItemClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { filterType, referenceId, selectedAction },\n\t\t},\n\t\tproperties: { decodedQuery, fixedDecodedQuery, fixedQueryMode },\n\t\tstate: { conditions, relatedListQuery },\n\t\tdispatch,\n\t\tupdateState,\n\t\thost,\n\t} = coeffects;\n\n\tswitch (selectedAction) {\n\t\tcase MENU_ITEMS.OPEN_EDITOR:\n\t\t\tdispatch(NOW_FILTER_OVERVIEW_EDITOR_OPENED);\n\t\t\tbreak;\n\n\t\tcase MENU_ITEMS.COPY_QUERY:\n\t\t\thandleCopyQueryAction(coeffects);\n\t\t\tbreak;\n\n\t\t// Delete condition is only for regular conditions, not fixed conditions\n\t\tcase MENU_ITEMS.DELETE_CONDITION: {\n\t\t\tconst relatedListQueryConditions = relatedListQuery?.conditions;\n\n\t\t\tconst targetConditions =\n\t\t\t\tfilterType === RELATED_LIST_CONDITIONS\n\t\t\t\t\t? relatedListQueryConditions\n\t\t\t\t\t: conditions;\n\n\t\t\tconst updatedConditions = deleteCondition(\n\t\t\t\treferenceId,\n\t\t\t\ttargetConditions\n\t\t\t);\n\n\t\t\thandleDeleteConditionOrDeleteAllAfter({\n\t\t\t\tdispatch,\n\t\t\t\tdecodedQuery,\n\t\t\t\tfilterType,\n\t\t\t\tfixedDecodedQuery,\n\t\t\t\tfixedQueryMode,\n\t\t\t\trelatedListQuery,\n\t\t\t\tupdatedConditions,\n\t\t\t});\n\n\t\t\tconst indexToFocus = getIndexToFocus(\n\t\t\t\thost,\n\t\t\t\t(container) =>\n\t\t\t\t\tcontainer.getAttribute('data-test-id') === referenceId\n\t\t\t);\n\n\t\t\tdispatch(SN_FILTER_CARD_FOCUS_AFTER, {\n\t\t\t\tindexToFocus,\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase MENU_ITEMS.DELETE_ALL_AFTER: {\n\t\t\tconst relatedListQueryConditions = relatedListQuery?.conditions;\n\n\t\t\tconst targetConditions =\n\t\t\t\tfilterType === RELATED_LIST_CONDITIONS\n\t\t\t\t\t? relatedListQueryConditions\n\t\t\t\t\t: conditions;\n\n\t\t\tconst removalIndex = findRemovalIndex(\n\t\t\t\treferenceId,\n\t\t\t\ttargetConditions\n\t\t\t);\n\n\t\t\tconst updatedConditions = deleteAllAfterCondition(\n\t\t\t\tremovalIndex,\n\t\t\t\ttargetConditions\n\t\t\t);\n\n\t\t\thandleDeleteConditionOrDeleteAllAfter({\n\t\t\t\tdispatch,\n\t\t\t\tdecodedQuery,\n\t\t\t\tfilterType,\n\t\t\t\tfixedDecodedQuery,\n\t\t\t\tfixedQueryMode,\n\t\t\t\trelatedListQuery,\n\t\t\t\tupdatedConditions,\n\t\t\t});\n\n\t\t\tconst indexToFocus = getIndexToFocus(\n\t\t\t\thost,\n\t\t\t\t(container) =>\n\t\t\t\t\tcontainer.getAttribute('data-test-id') === referenceId\n\t\t\t);\n\n\t\t\tdispatch(SN_FILTER_CARD_FOCUS_AFTER, {\n\t\t\t\tindexToFocus,\n\t\t\t});\n\n\t\t\tresetRemovalState(updateState);\n\t\t\tbreak;\n\t\t}\n\n\t\tcase MENU_ITEMS.QUALIFIER_STATEMENT_CLEAR_RELATED_LIST: {\n\t\t\tconst newDecodedQuery = {\n\t\t\t\t...decodedQuery,\n\t\t\t\tconditions: stripReferenceId(conditions),\n\t\t\t\trelatedListQuery: null,\n\t\t\t};\n\n\t\t\tdispatch(NOW_FILTER_OVERVIEW_DECODED_QUERY_UPDATED, {\n\t\t\t\tdecodedQuery: newDecodedQuery,\n\t\t\t\tfixedDecodedQuery,\n\t\t\t\tfixedQueryMode,\n\t\t\t});\n\n\t\t\tconst currentIndex = getIndexToFocus(host, (container) =>\n\t\t\t\tcontainer.classList.contains('qualifier-statement-container')\n\t\t\t);\n\n\t\t\tlet indexToFocus = currentIndex > 0 ? currentIndex - 1 : -1;\n\n\t\t\tdispatch(SN_FILTER_CARD_FOCUS_AFTER, {\n\t\t\t\tindexToFocus,\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase MENU_ITEMS.QUALIFIER_STATEMENT_COPY_QUERY: {\n\t\t\tconst newFixedDecodedQuery = {\n\t\t\t\t...fixedDecodedQuery,\n\t\t\t};\n\n\t\t\t// intentionally only passing the conditions and relatedListQuery for qualifier statement copy query\n\t\t\tconst newDecodedQuery = {\n\t\t\t\tconditions: stripReferenceId(conditions),\n\t\t\t\trelatedListQuery: {\n\t\t\t\t\t...relatedListQuery,\n\t\t\t\t\tconditions: [],\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tdispatch(NOW_FILTER_OVERVIEW_COPY_QUERY, {\n\t\t\t\tdecodedQuery: newDecodedQuery,\n\t\t\t\tfixedDecodedQuery: newFixedDecodedQuery,\n\t\t\t\tfixedQueryMode,\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\n\t\tcase MENU_ITEMS.QUALIFIER_STATEMENT_DELETE_ALL_AFTER: {\n\t\t\tconst newDecodedQuery = {\n\t\t\t\t...decodedQuery,\n\t\t\t\tconditions: stripReferenceId(conditions),\n\t\t\t\trelatedListQuery: {\n\t\t\t\t\t...relatedListQuery,\n\t\t\t\t\tconditions: [],\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tdispatch(NOW_FILTER_OVERVIEW_DECODED_QUERY_UPDATED, {\n\t\t\t\tdecodedQuery: newDecodedQuery,\n\t\t\t\tfixedDecodedQuery: fixedDecodedQuery,\n\t\t\t});\n\n\t\t\tresetRemovalState(updateState);\n\n\t\t\tconst indexToFocus = getIndexToFocus(host, (container) =>\n\t\t\t\tcontainer.classList.contains('qualifier-statement-container')\n\t\t\t);\n\n\t\t\tdispatch(SN_FILTER_CARD_FOCUS_AFTER, {\n\t\t\t\tindexToFocus,\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nconst handleButtonBareClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t\tstate: { isExpanded },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (name === EXPAND_FILTERS_BTN_ID) {\n\t\tupdateState({ isExpanded: !isExpanded });\n\t}\n};\n\nconst handleOnKeyDown = (coeffects) => {\n\tconst {\n\t\thost,\n\t\taction: {\n\t\t\tpayload: { event, name },\n\t\t},\n\t\tproperties: { dir },\n\t\tstate: { displayableCount },\n\t} = coeffects;\n\n\t// Determine navigation direction based on `dir` (LTR or RTL)\n\tconst isRTL = dir === 'rtl';\n\tconst moveBackKey = isRTL ? KEYS.ARROW_RIGHT : KEYS.ARROW_LEFT;\n\n\tif (event.key === KEYS.ENTER && name === SHOW_MORE_ID) {\n\t\tsetTimeout(() => {\n\t\t\tconst container = host.shadowRoot?.querySelector(\n\t\t\t\t'.conditions-group'\n\t\t\t);\n\t\t\tconst conditions = container.querySelectorAll(\n\t\t\t\t'.condition-container'\n\t\t\t);\n\t\t\tconst firstRevealedCondition = conditions[displayableCount];\n\n\t\t\tconst conditionElement = firstRevealedCondition\n\t\t\t\t.querySelector('sn-filter-card')\n\t\t\t\t?.shadowRoot?.querySelector('.sn-filter-card');\n\n\t\t\tif (conditionElement) {\n\t\t\t\tconditionElement.focus();\n\t\t\t}\n\t\t}, 100);\n\t} else if (event.key === KEYS.ENTER && name === SHOW_LESS_ID) {\n\t\tsetTimeout(() => {\n\t\t\tconst buttonElement = host.shadowRoot?.querySelector(\n\t\t\t\t'now-button-bare'\n\t\t\t);\n\t\t\tif (buttonElement) {\n\t\t\t\tbuttonElement.focus();\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tif (event.key === moveBackKey) {\n\t\tconst container = host.shadowRoot?.querySelector('.conditions-group');\n\t\tif (container) {\n\t\t\tconst conditions = container.querySelectorAll(\n\t\t\t\t'.condition-container'\n\t\t\t);\n\t\t\tlet lastVisibleBeforeHidden = null;\n\t\t\tfor (const conditionEl of conditions) {\n\t\t\t\t// Check if the current container has the 'hide' class\n\t\t\t\tif (conditionEl.classList.contains('hide')) {\n\t\t\t\t\t// Stop iterating once we find the first hidden element\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t// If it's not hidden, update the last visible container\n\t\t\t\tlastVisibleBeforeHidden = conditionEl;\n\t\t\t}\n\n\t\t\tif (lastVisibleBeforeHidden) {\n\t\t\t\tconst el = lastVisibleBeforeHidden\n\t\t\t\t\t.querySelector('sn-filter-card')\n\t\t\t\t\t?.shadowRoot?.querySelector('.sn-filter-card');\n\n\t\t\t\tif (el) el.focus();\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst handleActiveItemSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { filterType, referenceId, value },\n\t\t},\n\t\tstate: { conditions, relatedListQuery },\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (value === DELETE_ALL_AFTER) {\n\t\tconst relatedListQueryConditions = relatedListQuery?.conditions;\n\n\t\tconst targetConditions =\n\t\t\tfilterType === RELATED_LIST_CONDITIONS\n\t\t\t\t? relatedListQueryConditions\n\t\t\t\t: conditions;\n\n\t\tconst removalIndex = findRemovalIndex(referenceId, targetConditions);\n\n\t\tupdateState({\n\t\t\tremovalFilterType: filterType,\n\t\t\tremovalIndex: removalIndex,\n\t\t\tremovalReferenceId: null,\n\t\t\tisQualifierStatementDeleteAllAfter: false,\n\t\t});\n\t} else if (value === DELETE_CONDITION) {\n\t\tupdateState({\n\t\t\tremovalFilterType: filterType,\n\t\t\tremovalReferenceId: referenceId,\n\t\t\tremovalIndex: -1,\n\t\t\tisQualifierStatementDeleteAllAfter: false,\n\t\t});\n\t} else if (value === QUALIFIER_STATEMENT_DELETE_ALL_AFTER) {\n\t\tupdateState({\n\t\t\tisQualifierStatementDeleteAllAfter: true,\n\t\t\tremovalFilterType: filterType,\n\t\t\tremovalIndex: -1,\n\t\t\tremovalReferenceId: null,\n\t\t});\n\t} else {\n\t\tdispatch(SN_FILTER_CARD_MOUSE_LEAVE);\n\t}\n};\n\nconst handleMouseLeave = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tresetRemovalState(updateState);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleBootstrap,\n\t\tstopPropagation: true,\n\t},\n\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handlePropertyChanged,\n\t\tstopPropagation: true,\n\t},\n\n\t[COMPONENT_TREE_RENDERED]: {\n\t\teffect: handleComponentTreeRendered,\n\t\tmodifier: { name: 'debounce', limit: 100 },\n\t\tstopPropagation: true,\n\t},\n\n\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\teffect: handleButtonBareClicked,\n\t\tstopPropagation: true,\n\t},\n\n\t[NOW_DROPDOWN_ACTIVE_ITEM_SET]: {\n\t\teffect: handleActiveItemSet,\n\t\tstopPropagation: true,\n\t},\n\n\t[SN_FILTER_CARD_MENU_ITEM_CLICKED]: {\n\t\teffect: handleItemClicked,\n\t},\n\n\t[SN_FILTER_CARD_MOUSE_LEAVE]: {\n\t\teffect: handleMouseLeave,\n\t\tstopPropagation: true,\n\t},\n\n\t[SN_FILTER_OVERVIEW_CARD_FOCUSED]: {\n\t\teffect: handleOnKeyDown,\n\t\tstopPropagation: true,\n\t},\n\n\t[SN_FILTER_CARD_FOCUS_AFTER]: {\n\t\teffect: handleFocusAfter,\n\t\tstopPropagation: true,\n\t\tmodifier: { name: 'debounce', delay: 500 },\n\t},\n};\n\nexport default actionHandlers;\n","import {\n\tNOW_DROPDOWN_LIST_ITEM_CLICKED,\n\tNOW_POPOVER_OPENED_SET,\n} from '../../../commons/actionTypes';\nimport {\n\tSN_FILTER_CARD_MOUSE_LEAVE,\n\tSN_FILTER_CARD_MENU_ITEM_CLICKED,\n} from '../now-filter-overview/actionTypes';\n\nconst handleDropdownListItemClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem: { id: selectedAction },\n\t\t\t},\n\t\t},\n\t\thost,\n\t\tproperties: { filterType, referenceId },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tdispatch(SN_FILTER_CARD_MENU_ITEM_CLICKED, {\n\t\tfilterCardEl: host,\n\t\tfilterType,\n\t\treferenceId,\n\t\tselectedAction,\n\t});\n\n\tupdateState({\n\t\tisPopoverOpened: false,\n\t});\n};\n\nconst handlePopoverOpenedSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tupdateState({\n\t\tisPopoverOpened: !state.isPopoverOpened,\n\t});\n\n\tif (value === false) {\n\t\tdispatch(SN_FILTER_CARD_MOUSE_LEAVE);\n\t}\n};\n\nexport default {\n\t[NOW_DROPDOWN_LIST_ITEM_CLICKED]: {\n\t\teffect: handleDropdownListItemClicked,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\teffect: handlePopoverOpenedSet,\n\t\tstopPropagation: true,\n\t},\n};\n","import { NOW_POPOVER_OPENED_SET } from '../../../commons/actionTypes';\nimport { KEYS } from '../../../now-predicate-builder/behaviors/keyboardNavBehavior/constants';\n\nconst handleOnKeyDown = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\thost,\n\t\t\t\tevent: { key },\n\t\t\t},\n\t\t},\n\t\tproperties: { dir },\n\t} = coeffects;\n\n\t// Only handle left or right arrow keys\n\tif (![KEYS.ARROW_LEFT, KEYS.ARROW_RIGHT].includes(key)) {\n\t\treturn;\n\t}\n\n\tconst conditionsGroupEl = host?.closest?.('.conditions-group');\n\n\tif (!conditionsGroupEl) return;\n\n\tconst filterCards = conditionsGroupEl.querySelectorAll('sn-filter-card');\n\tconst filterCardsLength = filterCards.length - 1;\n\tconst transformedArray = Array.from(filterCards);\n\tconst currentIndex = transformedArray.findIndex((card) => card === host);\n\n\tif (currentIndex === -1) return;\n\n\tconst nowFilterOverviewParentEl = conditionsGroupEl.closest(\n\t\t'.now-filter-overview'\n\t);\n\n\t// Determine navigation direction based on `dir` (LTR or RTL)\n\tconst isRTL = dir === 'rtl';\n\tconst moveNextKey = isRTL ? KEYS.ARROW_LEFT : KEYS.ARROW_RIGHT;\n\tconst movePrevKey = isRTL ? KEYS.ARROW_RIGHT : KEYS.ARROW_LEFT;\n\n\tif (key === moveNextKey) {\n\t\tif (currentIndex < filterCardsLength) {\n\t\t\tconst nextIndex = currentIndex + 1;\n\t\t\tconst nextConditionContainerEl = filterCards[nextIndex];\n\t\t\tconst el = nextConditionContainerEl.shadowRoot?.querySelector(\n\t\t\t\t'.sn-filter-card'\n\t\t\t);\n\t\t\tif (el) el.focus();\n\n\t\t\tconst nextCardContainerEl = nextConditionContainerEl.closest(\n\t\t\t\t'.condition-container'\n\t\t\t);\n\n\t\t\tconst isNextCardHidden = nextCardContainerEl?.classList?.contains(\n\t\t\t\t'hide'\n\t\t\t);\n\n\t\t\t// If the next card is hidden, focus on the \"Show More\" button\n\t\t\tif (isNextCardHidden && nowFilterOverviewParentEl) {\n\t\t\t\tconst toggleButtonEl = nowFilterOverviewParentEl.querySelector(\n\t\t\t\t\t'now-button-bare[data-id=\"toggleBtn\"]'\n\t\t\t\t);\n\t\t\t\ttoggleButtonEl.shadowRoot?.firstChild?.focus();\n\t\t\t}\n\t\t} else if (currentIndex === filterCardsLength) {\n\t\t\t// Focus on the \"Show Less\" button if it exists\n\t\t\tconst toggleButtonEl = nowFilterOverviewParentEl?.querySelector(\n\t\t\t\t'now-button-bare[data-id=\"toggleBtn\"]'\n\t\t\t);\n\n\t\t\ttoggleButtonEl.shadowRoot?.firstChild?.focus();\n\t\t}\n\t} else if (key === movePrevKey && currentIndex > 0) {\n\t\tconst nextIndex = currentIndex - 1;\n\t\tconst el = filterCards?.[nextIndex]?.shadowRoot?.querySelector(\n\t\t\t'.sn-filter-card'\n\t\t);\n\t\tif (el) el.focus();\n\t}\n};\n\nconst handleOnContextMenu = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { event },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tevent.preventDefault();\n\tdispatch(NOW_POPOVER_OPENED_SET);\n};\n\nconst eventHandlers = [\n\t{\n\t\tevents: ['keydown'],\n\t\teffect: handleOnKeyDown,\n\t},\n\t{\n\t\tevents: ['contextmenu'],\n\t\teffect: handleOnContextMenu,\n\t},\n];\n\nexport default eventHandlers;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nexport const OPEN_EDITOR = 'OPEN_EDITOR';\nexport const COPY_QUERY = 'COPY_QUERY';\nexport const DELETE_CONDITION = 'DELETE_CONDITION';\nexport const DELETE_ALL_AFTER = 'DELETE_ALL_AFTER';\n\nexport const FIXED_FILTER_SIMPLE_MODE = t('Fixed filter is in simple mode');\nexport const FIXED_FILTER_DISTRIBUTED_MODE = t(\n\t'Fixed filter is in distributed mode'\n);\n\nexport const SELECT_ACTION_LABEL = t({\n\tcode: 'now_predicate_builder',\n\tmessage: 'Select action',\n\tcomment: 'Label for the dropdown action',\n});\n","import {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n} from '@servicenow/behavior-tooltip';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-tooltip';\nimport { FIXED_QUERY_MODE } from '../now-filter-overview/constants';\n\nimport {\n\tFIXED_FILTER_DISTRIBUTED_MODE,\n\tFIXED_FILTER_SIMPLE_MODE,\n\tSELECT_ACTION_LABEL,\n} from './constants';\n\nconst view = (state, { dispatch, updateState }) => {\n\tconst setTargetRef = (ref) =>\n\t\tsetTimeout(() => updateState({ targetRef: ref }));\n\n\tconst {\n\t\tisPopoverOpened,\n\t\tproperties: {\n\t\t\tfilterType,\n\t\t\tfixedQueryMode,\n\t\t\thideMenu,\n\t\t\tisFixed,\n\t\t\tlabel,\n\t\t\tmenuItems,\n\t\t\tparentPrefix,\n\t\t\tprefix,\n\t\t\ttooltip,\n\t\t\tstrikeThru,\n\t\t\treferenceId,\n\t\t},\n\t} = state;\n\n\tlet tooltipText = `${prefix || ''} ${label}`;\n\tif (parentPrefix) {\n\t\ttooltipText = t(\n\t\t\t'{label}, first card of an {parentPrefix} conditions set',\n\t\t\t{\n\t\t\t\tlabel,\n\t\t\t\tparentPrefix,\n\t\t\t}\n\t\t);\n\t}\n\tif (isFixed) {\n\t\ttooltipText = t('Fixed Decoded Query: {0}', tooltipText);\n\t}\n\n\tconst filterCardClassNames = classNames('sn-filter-card', {\n\t\t'strike-thru': strikeThru,\n\t\t'filter-card-locked': isFixed,\n\t\t'menu-hidden': hideMenu,\n\t});\n\n\tconst lockTooltip =\n\t\tfixedQueryMode === FIXED_QUERY_MODE.DISTRIBUTED\n\t\t\t? FIXED_FILTER_DISTRIBUTED_MODE\n\t\t\t: FIXED_FILTER_SIMPLE_MODE;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={filterCardClassNames}\n\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\taria-label={tooltipText}\n\t\t\ttabIndex=\"0\"\n\t\t>\n\t\t\t{isFixed ? (\n\t\t\t\t<now-icon\n\t\t\t\t\ticon=\"lock-fill\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tdata-tooltip={lockTooltip}\n\t\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, { target: elm });\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({ elm }) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, { target: elm });\n\t\t\t\t\t}}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': lockTooltip,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<span\n\t\t\t\tid=\"filterLabel\"\n\t\t\t\taria-label={tooltipText}\n\t\t\t\tclassName=\"label\"\n\t\t\t\tdata-testId=\"label\"\n\t\t\t\tdata-truncation\n\t\t\t\tdata-truncationtext={tooltipText}\n\t\t\t\tdata-truncationforcetooltip={true}\n\t\t\t>\n\t\t\t\t{prefix ? <span className=\"prefix\">{prefix}<\/span> : null}\n\t\t\t\t{label}\n\t\t\t<\/span>\n\t\t\t{!hideMenu && (\n\t\t\t\t<now-dropdown\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tfilterType,\n\t\t\t\t\t\treferenceId,\n\t\t\t\t\t}}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t'aria-label': SELECT_ACTION_LABEL,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tbare={true}\n\t\t\t\t\thideCaret={true}\n\t\t\t\t\thideBlockPadding={true}\n\t\t\t\t\thideTail={true}\n\t\t\t\t\thideLabel={true}\n\t\t\t\t\ticon=\"ellipsis-vertical-outline\"\n\t\t\t\t\titems={menuItems}\n\t\t\t\t\tmanageOpened={true}\n\t\t\t\t\topened={isPopoverOpened}\n\t\t\t\t\tpositions={[\n\t\t\t\t\t\t{ target: 'bottom-start', content: 'top-start' }, // renders bottom if there is space\n\t\t\t\t\t\t{ target: 'bottom-end', content: 'top-end' }, // renders bottom left if there isn't space on the right\n\t\t\t\t\t\t{ target: 'bottom-end', content: 'bottom-end' }, // renders top end if there isn't space on the bottom\n\t\t\t\t\t]}\n\t\t\t\t\tshowPadding={false}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<now-tooltip\n\t\t\t\ttarget-ref={state.targetRef}\n\t\t\t\tcontent={tooltip}\n\t\t\t\tdelay={500}\n\t\t\t\topened={!!tooltip}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': tooltip,\n\t\t\t\t\t'aria-labelledby': 'filterLabel',\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { SN_FILTER_OVERVIEW_CARD_FOCUSED } from './actionTypes';\nimport {\n\tBETWEEN_ID,\n\tBETWEEN_LABEL,\n\tEXPAND_FILTERS_BTN_ID,\n\tFILTER_SUMMARY_DESCRIPTION,\n\tFILTER_SUMMARY_TITLE,\n\tFILTER_TYPES,\n\tFIXED_CONDITIONS,\n\tFIXED_RELATED_LIST_CONDITIONS,\n\tOR_LABEL,\n\tRELATED_LIST_CONDITIONS,\n\tRELATED_LIST_CONDITIONS_LABEL,\n\tSHOW_LESS_ID,\n\tSHOW_LESS_LABEL,\n\tSHOW_MORE_ID,\n} from './constants';\nimport {\n\tcreateMenuItems,\n\tgenerateConditionsDisplayData,\n\tshouldDisplayOrElement,\n} from './utils';\n\nimport '../sn-filter-card';\n\n/**\n * Renders a qualifier statement for related list conditions.\n *\n * @param {Object} params - The parameters for the function.\n * @param {string} params.filterType - The type of filter being applied.\n * @param {boolean} params.readOnly - Flag indicating if the conditions are read-only.\n * @param {Object} params.relatedListQuery - The related list query object.\n * @param {Array} params.relatedListQuery.conditions - The conditions of the related list query.\n * @param {string} params.relatedListQuery.relatedListIdentifier - The related list identifier.\n * @param {string} params.relatedListQuery.relationOperator - The relation operator.\n * @param {string|number} params.relatedListQuery.relationValue - The relation value.\n * @returns {JSX.Element|null} A JSX element representing the qualifier statement, or null if not applicable.\n */\nfunction renderQualifierStatement({\n\tfilterType,\n\thideMenu,\n\thideQualifierStatement,\n\treadOnly,\n\trelatedListQuery,\n\tshowOpenEditor,\n}) {\n\tif (\n\t\t(filterType !== FIXED_RELATED_LIST_CONDITIONS &&\n\t\t\tfilterType !== RELATED_LIST_CONDITIONS) ||\n\t\t!relatedListQuery\n\t) {\n\t\treturn null;\n\t}\n\n\tconst qualifierStatementClassNames = classNames(\n\t\t'condition-container qualifier-statement-container',\n\t\t{\n\t\t\thide: hideQualifierStatement,\n\t\t}\n\t);\n\n\tconst isFixed = filterType === FIXED_RELATED_LIST_CONDITIONS;\n\n\tconst {\n\t\tconditions,\n\t\trelatedTableLabel,\n\t\trelationOperator,\n\t\trelationValue,\n\t} = relatedListQuery;\n\n\tlet relationString = `${relationOperator} ${relationValue}`;\n\n\tif (relationOperator === BETWEEN_ID) {\n\t\tconst newRelationValue = relationValue.split('@') || [];\n\t\tconst firstValue = newRelationValue[0] || 0;\n\t\tconst secondValue = newRelationValue[1] || 0;\n\t\trelationString = `${BETWEEN_LABEL} ${firstValue} and ${secondValue}`;\n\t}\n\n\tconst menuItems = createMenuItems({\n\t\tshowQualifierStatementClearRelatedList: !readOnly && !isFixed,\n\t\tshowQualifierStatementCopyQuery: true,\n\t\tshowQualifierStatementDeleteAllAfter:\n\t\t\tconditions.length > 0 && !readOnly && !isFixed,\n\t\tshowOpenEditor,\n\t});\n\n\treturn (\n\t\t<div className={qualifierStatementClassNames} role=\"listitem\">\n\t\t\t<span className=\"qualifier-statement-label\">\n\t\t\t\t{RELATED_LIST_CONDITIONS_LABEL}\n\t\t\t<\/span>\n\t\t\t<sn-filter-card\n\t\t\t\tfilterType={filterType}\n\t\t\t\thideMenu={hideMenu}\n\t\t\t\tisFixed={isFixed}\n\t\t\t\tlabel={relatedTableLabel}\n\t\t\t\tmenuItems={menuItems}\n\t\t\t/>\n\t\t\t<sn-filter-card\n\t\t\t\tfilterType={filterType}\n\t\t\t\thideMenu={hideMenu}\n\t\t\t\tisFixed={isFixed}\n\t\t\t\tlabel={relationString}\n\t\t\t\tmenuItems={menuItems}\n\t\t\t/>\n\t\t<\/div>\n\t);\n}\n\n/**\n * Renders a list of conditions in a conditions group.\n *\n * @param {Object} params - The parameters for the function.\n * @param {Array} params.conditions - The list of conditions to render.\n * @param {boolean} params.fixedQueryMode - Flag to show fixed query type.\n * @param {boolean} params.hideMenu - Flag to hide the menu.\n * @param {boolean} params.isFixed - Flag indicating if the conditions are locked.\n * @param {boolean} params.isReadOnly - Flag indicating if the conditions are read-only.\n * @param {Object} params.menuItemSettings - Settings for the menu items.\n * @param {boolean} params.menuItemSettings.showCopyQuery - Flag to show the \"Copy query\" menu item.\n * @param {boolean} params.menuItemSettings.showOpenEditor - Flag to show the \"Open editor\" menu item.\n * @param {boolean} params.menuItemSettings.showDeleteCondition - Flag to show the \"Delete condition\" menu item.\n * @param {boolean} params.menuItemSettings.showDeleteAllAfter - Flag to show the \"Delete all after\" menu item.\n * @returns {Array} An array of React elements representing the conditions.\n */\nfunction renderConditions({\n\tconditions,\n\tfixedQueryMode,\n\thideMenu,\n\tisFixed,\n\tisReadOnly,\n\tmenuItemSettings,\n}) {\n\tconst conditionsLength = conditions.length;\n\n\treturn conditions.map((condition, index) => {\n\t\tconst conditionClassNames = classNames('condition-container', {\n\t\t\thide: condition.isHidden,\n\t\t});\n\n\t\tconst displayOr = shouldDisplayOrElement(\n\t\t\tcondition.queryConditionType,\n\t\t\tindex\n\t\t);\n\n\t\tlet prefix = null;\n\n\t\tif (displayOr) {\n\t\t\tprefix = OR_LABEL;\n\t\t}\n\n\t\tconst isLastPosition = index === conditionsLength - 1;\n\n\t\tconst menuItems = createMenuItems({\n\t\t\t...menuItemSettings,\n\t\t\tshowDeleteAllAfter: !isLastPosition && !isReadOnly && !isFixed,\n\t\t});\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={conditionClassNames}\n\t\t\t\tkey={condition.referenceId}\n\t\t\t\tdata-testId={condition.referenceId}\n\t\t\t\trole=\"listitem\"\n\t\t\t>\n\t\t\t\t{prefix && (\n\t\t\t\t\t<span className=\"condition-set-label\">{prefix}<\/span>\n\t\t\t\t)}\n\t\t\t\t<sn-filter-card\n\t\t\t\t\t{...condition}\n\t\t\t\t\tfilterType={condition.filterType}\n\t\t\t\t\tfixedQueryMode={fixedQueryMode}\n\t\t\t\t\thideMenu={hideMenu}\n\t\t\t\t\tisFixed={isFixed}\n\t\t\t\t\tmenuItems={menuItems}\n\t\t\t\t\tstrikeThru={condition.isStrikeThru}\n\t\t\t\t\tparentPrefix={prefix}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t});\n}\n\nconst isFilterTypeLocked = (filterType) =>\n\t[FIXED_CONDITIONS, FIXED_RELATED_LIST_CONDITIONS].includes(filterType);\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tconditions,\n\t\tdisplayableCount,\n\t\tfixedConditions,\n\t\tfixedRelatedListQuery,\n\t\tisExpanded,\n\t\tisQualifierStatementDeleteAllAfter,\n\t\trelatedListQuery,\n\t\tremovalFilterType,\n\t\tremovalIndex,\n\t\tremovalReferenceId,\n\t\tproperties: { readOnly, showOpenEditor, showCopyQuery, fixedQueryMode },\n\t} = state;\n\n\t// Display order\n\tconst CONDITION_GROUPS = [\n\t\t{\n\t\t\tconditions: fixedConditions,\n\t\t\tfilterType: FILTER_TYPES.FIXED_CONDITIONS,\n\t\t},\n\t\t// This is the qualifier statement for fixed related list conditions\n\t\t{\n\t\t\tfilterType: FILTER_TYPES.FIXED_RELATED_LIST_CONDITIONS,\n\t\t\trelatedListQuery: fixedRelatedListQuery,\n\t\t},\n\t\t{\n\t\t\tconditions: fixedRelatedListQuery?.conditions,\n\t\t\tfilterType: FILTER_TYPES.FIXED_RELATED_LIST_CONDITIONS,\n\t\t},\n\t\t{\n\t\t\tconditions: conditions,\n\t\t\tfilterType: FILTER_TYPES.CONDITIONS,\n\t\t},\n\t\t// This is the qualifier statement for related list conditions\n\t\t{\n\t\t\tfilterType: FILTER_TYPES.RELATED_LIST_CONDITIONS,\n\t\t\trelatedListQuery: relatedListQuery,\n\t\t},\n\t\t{\n\t\t\tconditions: relatedListQuery?.conditions,\n\t\t\tfilterType: FILTER_TYPES.RELATED_LIST_CONDITIONS,\n\t\t},\n\t];\n\n\tconst {\n\t\tallConditionsCount,\n\t\tconditionGroups,\n\t} = generateConditionsDisplayData({\n\t\tdisplayableCount,\n\t\tgroups: CONDITION_GROUPS,\n\t\tisExpanded,\n\t\tisQualifierStatementDeleteAllAfter,\n\t\tremovalFilterType,\n\t\tremovalIndex,\n\t\tremovalReferenceId,\n\t});\n\n\tconst hiddenCount = allConditionsCount - displayableCount;\n\n\tconst hideMenu =\n\t\treadOnly === true &&\n\t\tshowCopyQuery === false &&\n\t\tshowOpenEditor === false;\n\n\tconst containerClassNames = classNames('now-filter-overview', {\n\t\texpanded: isExpanded,\n\t\t'read-only': readOnly,\n\t\t'show-copy-query': showCopyQuery,\n\t\t'show-open-editor': showOpenEditor,\n\t\t'hide-menu': hideMenu,\n\t});\n\n\tconst showMoreLabel = t('Show all ({hiddenCount})', {\n\t\thiddenCount: allConditionsCount - displayableCount,\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName={containerClassNames}\n\t\t\taria-describedby=\"filter-instructions\"\n\t\t\taria-labelledby=\"filter-label\"\n\t\t\trole=\"region\"\n\t\t>\n\t\t\t<p id=\"filter-label\" className=\"sr-only\">\n\t\t\t\t{FILTER_SUMMARY_TITLE}\n\t\t\t<\/p>\n\t\t\t<p id=\"filter-instructions\" className=\"sr-only\">\n\t\t\t\t{FILTER_SUMMARY_DESCRIPTION}\n\t\t\t<\/p>\n\t\t\t<div\n\t\t\t\tid=\"filter-overview-conditions-group\"\n\t\t\t\tclassName=\"conditions-group\"\n\t\t\t\trole=\"list\"\n\t\t\t\taria-labelledby=\"conditions-group\"\n\t\t\t\taria-describedby=\"filter-instructions\"\n\t\t\t>\n\t\t\t\t{conditionGroups.map(\n\t\t\t\t\t({\n\t\t\t\t\t\tconditions: groupConditions,\n\t\t\t\t\t\tfilterType,\n\t\t\t\t\t\thideQualifierStatement,\n\t\t\t\t\t\trelatedListQuery,\n\t\t\t\t\t}) => {\n\t\t\t\t\t\tconst isFixed = isFilterTypeLocked(filterType);\n\n\t\t\t\t\t\tif (relatedListQuery) {\n\t\t\t\t\t\t\treturn renderQualifierStatement({\n\t\t\t\t\t\t\t\tfilterType,\n\t\t\t\t\t\t\t\thideMenu: hideMenu || isFixed,\n\t\t\t\t\t\t\t\thideQualifierStatement,\n\t\t\t\t\t\t\t\treadOnly,\n\t\t\t\t\t\t\t\trelatedListQuery,\n\t\t\t\t\t\t\t\tshowOpenEditor,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (groupConditions) {\n\t\t\t\t\t\t\treturn renderConditions({\n\t\t\t\t\t\t\t\tconditions: groupConditions,\n\t\t\t\t\t\t\t\tfixedQueryMode,\n\t\t\t\t\t\t\t\thideMenu: hideMenu || isFixed,\n\t\t\t\t\t\t\t\tisFixed: isFixed,\n\t\t\t\t\t\t\t\tisReadOnly: readOnly,\n\t\t\t\t\t\t\t\tmenuItemSettings: {\n\t\t\t\t\t\t\t\t\tshowCopyQuery,\n\t\t\t\t\t\t\t\t\tshowDeleteCondition: !readOnly && !isFixed,\n\t\t\t\t\t\t\t\t\tshowOpenEditor,\n\t\t\t\t\t\t\t\t},\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)}\n\n\t\t\t\t{/* This is because the conditions-group is its own flex box and we want the Show less button\n\t\t\t\t * to wrap with the filter cards when the component is fully expanded\n\t\t\t\t */}\n\t\t\t\t<div role=\"listitem\">\n\t\t\t\t\t{hiddenCount > 0 && isExpanded && (\n\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\tdata-id=\"toggleBtn\"\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-expanded': 'true',\n\t\t\t\t\t\t\t\t'aria-label': t('Show less'),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonkeydown={(event) =>\n\t\t\t\t\t\t\t\tdispatch(SN_FILTER_OVERVIEW_CARD_FOCUSED, {\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\tname: SHOW_LESS_ID,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tappendToPayload={{ name: EXPAND_FILTERS_BTN_ID }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{SHOW_LESS_LABEL}\n\t\t\t\t\t\t<\/now-button-bare>\n\t\t\t\t\t)}\n\t\t\t\t\t{hiddenCount > 0 && !isExpanded && (\n\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\tdata-id=\"toggleBtn\"\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-expanded': 'false',\n\t\t\t\t\t\t\t\t'aria-label': t('Show more'),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonkeydown={(event) =>\n\t\t\t\t\t\t\t\tdispatch(SN_FILTER_OVERVIEW_CARD_FOCUSED, {\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\tname: SHOW_MORE_ID,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tappendToPayload={{ name: EXPAND_FILTERS_BTN_ID }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{showMoreLabel}\n\t\t\t\t\t\t<\/now-button-bare>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { createCustomElement } from '@servicenow/ui-core';\n\nimport { FIXED_QUERY_MODE } from '../now-filter-overview/constants';\n\nimport actionHandlers from './actions';\nimport eventHandlers from './events';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-filter-card', {\n\tinitialState: {\n\t\tisPopoverOpened: false,\n\t},\n\tview,\n\tproperties: {\n\t\tnowAvoidRender: {\n\t\t\tdefault: true,\n\t\t},\n\t\tfilterType: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tfixedQueryMode: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: FIXED_QUERY_MODE.SIMPLE,\n\t\t},\n\t\tlabel: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trequired: true,\n\t\t},\n\t\tparentPrefix: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisFixed: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t},\n\t\thideMenu: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t},\n\t\tmenuItems: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [\n\t\t\t\t\t{\n\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\trequired: true,\n\t\t},\n\t\tprefix: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\treferenceId: {\n\t\t\tschema: { type: 'string' },\n\t\t\trequired: true,\n\t\t},\n\t\ttooltip: {\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t\tstrikeThru: {\n\t\t\tschema: { type: 'boolean', default: false },\n\t\t},\n\t},\n\tactionHandlers,\n\teventHandlers,\n\tstyles,\n\tbehaviors: [truncationBehavior, tooltipBehavior, rtlBehavior],\n});\n","import resizeBehavior from '@servicenow/behavior-resize';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { actionHandlers } from './actions';\nimport { FIXED_QUERY_MODE } from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('now-filter-overview', {\n\tinitialState: {\n\t\tconditions: [],\n\t\tdisplayableCount: 0,\n\t\tisQualifierStatementDeleteAllAfter: false,\n\t\trelatedListQuery: null,\n\t\tremovalFilterType: null,\n\t\tremovalIndex: -1,\n\t\tremovalReferenceId: null,\n\t\tfixedConditions: [],\n\t\tfixedRelatedListQuery: null,\n\t},\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tdecodedQuery: {\n\t\t\tschema: {\n\t\t\t\ttype: 'Object',\n\t\t\t},\n\t\t\tdefault: {},\n\t\t\trequired: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tfixedDecodedQuery: {\n\t\t\tschema: {\n\t\t\t\ttype: 'Object',\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tconditions: [],\n\t\t\t\trelatedListQuery: null,\n\t\t\t},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tfixedQueryMode: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tdefault: FIXED_QUERY_MODE.SIMPLE,\n\t\t},\n\t\treadOnly: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tshowCopyQuery: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t\tshowOpenEditor: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: {\n\t\t\t\tpreventRenderUntilSizeAvailable: true,\n\t\t\t\ttimer: {\n\t\t\t\t\ttype: 'debounce',\n\t\t\t\t\twait: 100,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\trtlBehavior,\n\t],\n\tstyles,\n});\n","// internal\nexport const SN_COPY_QUERY_BEHAVIOR_COPY_QUERY =\n\t'SN_COPY_QUERY_BEHAVIOR#COPY_QUERY';\nexport const SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_REQUESTED =\n\t'SN_COPY_QUERY_BEHAVIOR#COPY_QUERY_REQUESTED';\nexport const SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_SUCCESS =\n\t'SN_COPY_QUERY_BEHAVIOR#COPY_QUERY_SUCCESS';\nexport const SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_FAILED =\n\t'SN_COPY_QUERY_BEHAVIOR#COPY_QUERY_FAILED';\n\n// public\nexport const NOW_PREDICATE_BUILDER_BEHAVIOR_COPY_QUERY_FAILED =\n\t'NOW_PREDICATE_BUILDER_BEHAVIOR#COPY_QUERY_FAILED';\nexport const NOW_PREDICATE_BUILDER_BEHAVIOR_COPY_QUERY_SUCCESS =\n\t'NOW_PREDICATE_BUILDER_BEHAVIOR#COPY_QUERY_SUCCESS';\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport get from 'lodash/get';\n\nimport { NOW_FILTER_OVERVIEW_COPY_QUERY } from '../../../now-filter-overview/components/now-filter-overview/actionTypes';\nimport { DB_API_EXEC_REST_URL } from '../conditionBuilderConnectedBehavior/constants';\nimport { formatData } from '../conditionBuilderConnectedBehavior/encodeDecodedQueryBehavior/encodeDecodedQueryBehavior';\n\nimport {\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_COPY_QUERY_FAILED,\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_COPY_QUERY_SUCCESS,\n\tSN_COPY_QUERY_BEHAVIOR_COPY_QUERY_FAILED,\n\tSN_COPY_QUERY_BEHAVIOR_COPY_QUERY_REQUESTED,\n\tSN_COPY_QUERY_BEHAVIOR_COPY_QUERY_SUCCESS,\n} from './constants';\n\n/**\n * Copies a specific query string based on the `referenceId` to the clipboard.\n * @param {Object} coeffects\n */\nconst handleCopyEncodedQuerySuccess = async (coeffects) => {\n\tconst {\n\t\taction: { payload, meta: filterCardEl },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst {\n\t\tcombinedEncodedQuery,\n\t\tencodedQuery,\n\t\tfixedEncodedQuery,\n\t\tfixedQueryMode,\n\t} = get(\n\t\tpayload,\n\t\t`result[0].executionResult.output.data.GlidePredicateBuilder_Query.getEncodedQuery`,\n\t\t{}\n\t);\n\n\t/**\n\t * Updates the state to show an error tooltip for the condition matching the reference ID.\n\t */\n\tfunction onError() {\n\t\thandleCopyEncodedQueryFailed(coeffects);\n\t}\n\n\t// Attempt to use the modern Clipboard API to copy the query string\n\tif (navigator.clipboard) {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(combinedEncodedQuery);\n\t\t\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_COPY_QUERY_SUCCESS, {\n\t\t\t\tcombinedEncodedQuery,\n\t\t\t\tencodedQuery,\n\t\t\t\tfixedEncodedQuery,\n\t\t\t\tfixedQueryMode,\n\t\t\t});\n\t\t\treturn;\n\t\t} catch (err) {\n\t\t\tonError();\n\t\t}\n\t}\n\n\t// Fallback to using a hidden textarea for copying text in older browsers\n\ttry {\n\t\tconst textarea = document.createElement('textarea');\n\t\ttextarea.value = combinedEncodedQuery;\n\t\ttextarea.style.position = 'fixed'; // Prevents scrolling issues\n\t\tdocument.body.appendChild(textarea);\n\n\t\ttextarea.focus();\n\t\ttextarea.select();\n\t\tdocument.execCommand('copy');\n\t\tdocument.body.removeChild(textarea);\n\n\t\t// We need to refocus back on the filter card that the user initially clicked\n\t\tif (filterCardEl?.shadowRoot?.firstChild?.focus) {\n\t\t\tfilterCardEl.shadowRoot.firstChild.focus();\n\t\t}\n\t\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_COPY_QUERY_SUCCESS, {\n\t\t\tcombinedEncodedQuery,\n\t\t\tencodedQuery,\n\t\t\tfixedEncodedQuery,\n\t\t\tfixedQueryMode,\n\t\t});\n\t} catch (err) {\n\t\tonError();\n\t}\n};\n\nconst handleCopyEncodedQueryFailed = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { encodedQuery, fixedEncodedQuery, combinedEncodedQuery },\n\t\t},\n\t\tdispatch,\n\t\tlogger,\n\t\tproperties: { fixedQueryMode },\n\t} = coeffects;\n\n\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_COPY_QUERY_FAILED);\n\n\tlogger.error('Unable to copy the query string to the clipboard', {\n\t\tcombinedEncodedQuery,\n\t\tencodedQuery,\n\t\tfixedEncodedQuery,\n\t\tfixedQueryMode,\n\t});\n};\n\n/**\n * Handles the \"Copy query\" action.\n * @param {Object} coeffects\n */\nconst handleCopyQuery = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { decodedQuery, fixedDecodedQuery, filterCardEl },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { useHasItemVariableSyntax, fixedQueryMode },\n\t} = coeffects;\n\n\tconst data = formatData({\n\t\tdecodedQuery,\n\t\tfixedDecodedQuery,\n\t\tfixedQueryMode,\n\t\tuseHasItemVariableSyntax,\n\t});\n\n\tdispatch(\n\t\tSN_COPY_QUERY_BEHAVIOR_COPY_QUERY_REQUESTED,\n\t\t{\n\t\t\tdata,\n\t\t},\n\t\t{\n\t\t\tfilterCardEl,\n\t\t}\n\t);\n};\n\nconst copyQueryBehavior = {\n\tname: 'copyQueryBehavior',\n\tproperties: {\n\t\tencodedQuery: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t\tfixedEncodedQuery: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[NOW_FILTER_OVERVIEW_COPY_QUERY]: {\n\t\t\teffect: handleCopyQuery,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_REQUESTED]: {\n\t\t\t...createHttpEffect(DB_API_EXEC_REST_URL, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbatch: false,\n\t\t\t\tdataParam: 'data',\n\t\t\t\tsuccessActionType: SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_SUCCESS,\n\t\t\t\terrorActionType: SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_FAILED,\n\t\t\t}),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_FAILED]: {\n\t\t\teffect: handleCopyEncodedQueryFailed,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_COPY_QUERY_BEHAVIOR_COPY_QUERY_SUCCESS]: {\n\t\t\teffect: handleCopyEncodedQuerySuccess,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default copyQueryBehavior;\n","import copyQueryBehavior from './copyQueryBehavior';\n\nexport default copyQueryBehavior;\n","// DON'T CHANGE, USED TO CREATE THE STATE\nexport const BEHAVIOR_NAME = 'filterOverviewConnectedBehavior';\n","import {\n\tSN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_SUCCESS,\n} from '../../../../src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/decodeEncodedQueryBehavior/constants';\nimport decodeEncodedQueryBehavior, {\n\thandleDecodeEncodedQueryFailed,\n\thandleDecodeEncodedQuerySuccess,\n} from '../../../../src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/decodeEncodedQueryBehavior/decodeEncodedQueryBehavior';\nimport {\n\tNOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_FAILED,\n\tSN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_SUCCESS,\n} from '../../../../src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/encodeDecodedQueryBehavior/constants';\nimport encodeDecodedQueryBehavior, {\n\thandleEncodeDecodedQueryFailed,\n\thandleEncodeDecodedQuerySuccess,\n} from '../../../../src/now-predicate-builder/behaviors/conditionBuilderConnectedBehavior/encodeDecodedQueryBehavior/encodeDecodedQueryBehavior';\nimport copyQueryBehavior from '../../../now-predicate-builder/behaviors/copyQueryBehavior';\nimport { NOW_FILTER_OVERVIEW_DECODED_QUERY_UPDATED } from '../../components/now-filter-overview/actionTypes';\n\nimport { BEHAVIOR_NAME } from './constants';\n\nconst handleDecodedQueryUpdated = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { decodedQuery, fixedDecodedQuery, fixedQueryMode },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({\n\t\tbehaviors: {\n\t\t\tfilterOverviewConnectedBehavior: {\n\t\t\t\tdecodedQuery,\n\t\t\t\tfixedDecodedQuery,\n\t\t\t\tfixedQueryMode,\n\t\t\t},\n\t\t},\n\t});\n\n\tdispatch(NOW_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY, {\n\t\tdecodedQuery,\n\t\tfixedDecodedQuery,\n\t});\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tsetInitialState: () => ({\n\t\t...decodeEncodedQueryBehavior.setInitialState(),\n\t\t...encodeDecodedQueryBehavior.setInitialState(),\n\t}),\n\tproperties: {\n\t\t...decodeEncodedQueryBehavior.properties,\n\t\t...encodeDecodedQueryBehavior.properties,\n\t},\n\tactionHandlers: {\n\t\t...decodeEncodedQueryBehavior.actionHandlers,\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_SUCCESS]: {\n\t\t\teffect: handleDecodeEncodedQuerySuccess(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_DECODE_ENCODED_QUERY_FAILED]: {\n\t\t\teffect: handleDecodeEncodedQueryFailed(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t...encodeDecodedQueryBehavior.actionHandlers,\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_SUCCESS]: {\n\t\t\teffect: handleEncodeDecodedQuerySuccess(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_PREDICATE_BUILDER_BEHAVIOR_ENCODE_DECODED_QUERY_FAILED]: {\n\t\t\teffect: handleEncodeDecodedQueryFailed(BEHAVIOR_NAME),\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_FILTER_OVERVIEW_DECODED_QUERY_UPDATED]: {\n\t\t\teffect: handleDecodedQueryUpdated,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t...copyQueryBehavior.actionHandlers,\n\t},\n};\n","import { CONDITION_BUILDER_TYPE } from '../now-predicate-builder/components/now-predicate-builder/constants';\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcustomizations,\n\t\t\tdisplayLabelOptions,\n\t\t\tfieldOperatorRelationship,\n\t\t\tfixedQueryMode,\n\t\t\tfocusOnRender,\n\t\t\tmaxContentHeight,\n\t\t\treadOnly,\n\t\t\tselectedTab,\n\t\t\tshowAddConditionSet,\n\t\t\tshowGroupBy,\n\t\t\tshowLoadFilter,\n\t\t\tshowReferenceLookup,\n\t\t\tshowRelatedListConditions,\n\t\t\tshowSaveFilter,\n\t\t\tshowSortBy,\n\t\t\tbasicFilters,\n\t\t\ttableName: source,\n\t\t\tuseHasItemVariableSyntax,\n\t\t\tvariablesSource,\n\t\t},\n\t\tbehaviors: {\n\t\t\tconditionBuilderConnectedBehavior: {\n\t\t\t\tdecodedQuery,\n\t\t\t\tfixedDecodedQuery,\n\t\t\t\tinfoMessages,\n\t\t\t\tpanelDefinitions,\n\t\t\t\ttableMetadata,\n\t\t\t},\n\t\t},\n\t} = state;\n\n\treturn (\n\t\t<now-predicate-builder\n\t\t\tbuilderType={CONDITION_BUILDER_TYPE}\n\t\t\tcustomizations={customizations}\n\t\t\tdecodedQuery={decodedQuery}\n\t\t\tdisplayLabelOptions={displayLabelOptions}\n\t\t\tfieldOperatorRelationship={fieldOperatorRelationship}\n\t\t\tfixedDecodedQuery={fixedDecodedQuery}\n\t\t\tfixedQueryMode={fixedQueryMode}\n\t\t\tfocusOnRender={focusOnRender}\n\t\t\tinfoMessages={infoMessages}\n\t\t\tmaxContentHeight={maxContentHeight}\n\t\t\tmetadataCache={{ tableMetadata }}\n\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\treadOnly={readOnly}\n\t\t\tselectedTab={selectedTab}\n\t\t\tshowAddConditionSet={showAddConditionSet}\n\t\t\tshowGroupBy={showGroupBy}\n\t\t\tshowLoadFilter={showLoadFilter}\n\t\t\tshowReferenceLookup={showReferenceLookup}\n\t\t\tshowSaveFilter={showSaveFilter}\n\t\t\tshowRelatedListConditions={showRelatedListConditions}\n\t\t\tshowSortBy={showSortBy}\n\t\t\tbasicFilters={basicFilters}\n\t\t\tsource={source}\n\t\t\tuseHasItemVariableSyntax={useHasItemVariableSyntax}\n\t\t\tvariablesSource={variablesSource}\n\t\t/>\n\t);\n};\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { conditionBuilderConnectedBehavior } from '../now-predicate-builder/behaviors/conditionBuilderConnectedBehavior';\nimport {\n\tMAX_CONTENT_HEIGHT_OPTIONS,\n\tUSE_SHOW_FIELD_LABELS_USER_PREF,\n} from '../now-predicate-builder/components/now-predicate-builder/constants';\nimport { FIXED_QUERY_MODE } from '../now-predicate-builder/components/sn-condition-builder/constants';\n\nimport view from './view';\n\ncreateCustomElement('now-predicate-builder-connected', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tcustomizations: {\n\t\t\tdefault: {},\n\t\t},\n\t\tdisplayLabelOptions: {\n\t\t\tdefault: USE_SHOW_FIELD_LABELS_USER_PREF,\n\t\t\ttype: 'string',\n\t\t},\n\t\tfieldOperatorRelationship: {\n\t\t\tdefault: {},\n\t\t},\n\t\tfixedQueryMode: {\n\t\t\tdefault: FIXED_QUERY_MODE.SIMPLE,\n\t\t\ttype: 'string',\n\t\t},\n\t\tfocusOnRender: {\n\t\t\tdefault: false,\n\t\t},\n\t\tmaxContentHeight: {\n\t\t\tdefault: MAX_CONTENT_HEIGHT_OPTIONS.FULL,\n\t\t},\n\t\tmetadataCache: {\n\t\t\tdefault: {},\n\t\t},\n\t\treadOnly: {\n\t\t\tdefault: false,\n\t\t},\n\t\tselectedTab: {\n\t\t\tdefault: '',\n\t\t},\n\t\tshowAddConditionSet: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowGroupBy: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowLoadFilter: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowReferenceLookup: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowRelatedListConditions: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowSaveFilter: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowSortBy: {\n\t\t\tdefault: true,\n\t\t},\n\t\tbasicFilters: {\n\t\t\tdefault: false,\n\t\t},\n\t\tsource: {\n\t\t\tdefault: '',\n\t\t},\n\t\tuseHasItemVariableSyntax: {\n\t\t\tdefault: false,\n\t\t},\n\t\tvariablesSource: {\n\t\t\tdefault: {},\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: conditionBuilderConnectedBehavior,\n\t\t},\n\t],\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_predicate_builder=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":586,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/now-resizable-panes/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","deregisterComponent","registerComponent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","PANES_POSITION","PANES_POSITION_CLASSNAME","TOP","CENTER","BOTTOM","LEFT","RIGHT","BOTH","SMALL","MEDIUM","LARGE","INIT","USER_ACTION","PROP_CHANGE","SINGLE_COL_REFLOW","RESIZABLE_PANES_NEXT_DISPLAY_PANE_REQUESTED","RESIZABLE_PANES_DIVIDER_BUTTON_CLICK_REQUESTED","DISPLAY_LEFT_PANE_TRANSLATED","DISPLAY_RIGHT_PANE_TRANSLATED","DISPLAY_TOP_PANE_TRANSLATED","DISPLAY_BOTTOM_PANE_TRANSLATED","DISPLAY_BOTH_PANES_TRANSLATED","KEYBOARD_CONTROL","SEPARATOR_HANDLER_TRANSLATED","SEPARATOR_HANDLER_TOOLTIP_TRANSLATED","LEFT_PANE_ARIA_LABEL","RIGHT_PANE_ARIA_LABEL","TOP_PANE_ARIA_LABEL","BOTTOM_PANE_ARIA_LABEL","DIVIDER_BUTTON_ID_KEY_VALUE","HIDE_PADDING_BUTTON_POSITION_CLASSNAME","SIZE_BUTTON_POSITION_CLASSNAME","DIVIDER_BUTTON_POSITION_CLASSNAME","LEFT_BTN_CLICKED","RIGHT_BTN_CLICKED","MIDDLE_BTN_CLICKED","PANE_DISPLAYED_CHANGE_REQUESTED","PANE_SIZES_CHANGED","PANE_DISPLAYED_CHANGED","PANE_SIZES_CHANGE_REQUESTED","NOW_BUTTON_ICONIC_CLICKED","METRIC_TRACKED","ActionBar","_ref","dispatch","displayedPane","config","leftIcon","middleIcon","rightIcon","leftTooltip","middleTooltip","rightTooltip","className","icon","size","variant","highlighted","configAria","button","leftButtonHandler","selected","middleButtonHandler","rightButtonHandler","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__","a11yPreferences","getUserPrefContext","Divider","disabled","isActive","dividerStyles","panesPosition","dividerPosition","dividerAriaLabel","displayDividerButton","dividerButtonConfig","eventKey","dividerHandleTargetRef","setTargetRef","dividerHandleTooltip","dividerButtonProps","bare","buttonProps","includes","position","ariaValuetext","class","active","style","role","tabindex","_ref2","elm","hook-destroy","PaneContainer","_ref3","isDragging","isDoubleClickDragActive","usePct","minSecondPane","secondPanePct","secondPanePixels","minFirstPane","firstPanePct","leftPaneAriaLabel","rightPaneAriaLabel","topPaneAriaLabel","bottomPaneAriaLabel","isReflowing","displayHiddenControls","isLeftRight","flex","name","getMinimums","constraints","minPixels","minRatio","minimums","isPixelStringValue","RegExp","test","getFloatFromPixelString","string","parseFloat","slice","convertPctToPixels","panePct","containerWidthPixels","convertPixelsToPct","panePx","computePaneLengths","dividerPositionPixels","paneWidthConstraints","firstPaneConstraints","secondPaneConstraints","minFirstPixels","minFirstPct","minSecondPixels","minSecondPct","newFirstPanePixels","newSecondPanePixels","newSecondPanePct","newFirstPanePct","convertToPctWithConstraints","getDividerPosition","hostLength","getPositionPixels","defaultDividerPosition","parsedDividerPosition","isNaN","dividerPositionPct","_isDividerClick","event","host","el","composedPath","classList","contains","target","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","COMPONENT_CONNECTED","COMPONENT_PROPERTY_CHANGED","COMPONENT_BOOTSTRAPPED","COMPONENT_DISCONNECTED","getPanelDimensions","state","leftPaneConstraints","rightPaneConstraints","topPaneConstraints","bottomPaneConstraints","properties","behaviors","resize","width","shadowRoot","querySelector","clientHeight","newDividerPositionPixels","newDividerPositionPct","firstPanePixels","renderer","type","snabbdom","view","_ref4","updateState","hiddenControlsContext","GLIDE_UI_ACCESSIBILITY_SHOW_HIDDEN_CONTROLS","context","actionBar","displayActionBar","panesConstraints","singleColumn","defaultDisplayedPane","newState","initialResize","panelDimesions","shouldRender","actionBarConfig","ref","setTimeout","styles","setInitialState","dir","isRtl","userHasDragged","registeredComponentId","enteredReflow","schema","enum","computed","deepCompare","anyOf","behavior","resizeBehavior","options","preventRenderUntilSizeAvailable","preventRender","height","rtlBehavior","actions","actionHandlers","stopPropagation","effect","coeffects","action","payload","metadata","eventName","track","interaction","_ref5","_ref6","_ref7","meta","appended","_ref8","currentPosition","shouldRestorePanePct","_ref9","_ref0","previousDisplayedPane","_ref1","_ref10","actionMap","_ref11","children","focus","dividerButtonEle","click","_ref12","_ref13","eventHandlers","events","_ref14","preventDefault","path","operation","_ref15","document","_ref16","_ref17","getBoundingClientRect","right","left","clientWidth","top","containerHeightPixels","_ref18","rtlCoef","startsWith","validKey","Math","round","window","__TECTONIC__$servicenow_now_resizable_panes"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/styles.scss","webpack:///./src/now-resizable-panes/styles.scss?4f15","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/actions.js","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/ActionBar.js","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-ux-core/24.0.8/index.jsdbx\"","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/view.js","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/helpers/index.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/29.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/29.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@servicenow/now-resizable-panes/src/now-resizable-panes/now-resizable-panes.js","webpack:///@servicenow/now-resizable-panes/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:.125rem}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:.125rem}.now-m-block-end--xxs{margin-block-end:.125rem}.now-m-inline--xxs{margin-inline-end:.125rem}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:.125rem}.now-m-inline-end--xxs{margin-inline-end:.125rem}.now-m-block--xs{margin-block-end:.25rem}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:.25rem}.now-m-block-end--xs{margin-block-end:.25rem}.now-m-inline--xs{margin-inline-end:.25rem}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:.25rem}.now-m-inline-end--xs{margin-inline-end:.25rem}.now-m-block--sm{margin-block-end:.5rem}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:.5rem}.now-m-block-end--sm{margin-block-end:.5rem}.now-m-inline--sm{margin-inline-end:.5rem}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:.5rem}.now-m-inline-end--sm{margin-inline-end:.5rem}.now-m-block--md{margin-block-end:.75rem}.now-m-block--md,.now-m-block-start--md{margin-block-start:.75rem}.now-m-block-end--md{margin-block-end:.75rem}.now-m-inline--md{margin-inline-end:.75rem}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:.75rem}.now-m-inline-end--md{margin-inline-end:.75rem}.now-m-block--lg{margin-block-end:1rem}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:1rem}.now-m-block-end--lg{margin-block-end:1rem}.now-m-inline--lg{margin-inline-end:1rem}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:1rem}.now-m-inline-end--lg{margin-inline-end:1rem}.now-m-block--xl{margin-block-end:1.5rem}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:1.5rem}.now-m-block-end--xl{margin-block-end:1.5rem}.now-m-inline--xl{margin-inline-end:1.5rem}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:1.5rem}.now-m-inline-end--xl{margin-inline-end:1.5rem}.now-m-block--xxl{margin-block-end:2rem}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:2rem}.now-m-block-end--xxl{margin-block-end:2rem}.now-m-inline--xxl{margin-inline-end:2rem}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:2rem}.now-m-inline-end--xxl{margin-inline-end:2rem}.now-m-block--3xl{margin-block-end:2.5rem}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:2.5rem}.now-m-block-end--3xl{margin-block-end:2.5rem}.now-m-inline--3xl{margin-inline-end:2.5rem}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:2.5rem}.now-m-inline-end--3xl{margin-inline-end:2.5rem}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:.125rem}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:.125rem}.now-p-block-end--xxs{padding-block-end:.125rem}.now-p-inline--xxs{padding-inline-end:.125rem}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:.125rem}.now-p-inline-end--xxs{padding-inline-end:.125rem}.now-p-block--xs{padding-block-end:.25rem}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:.25rem}.now-p-block-end--xs{padding-block-end:.25rem}.now-p-inline--xs{padding-inline-end:.25rem}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:.25rem}.now-p-inline-end--xs{padding-inline-end:.25rem}.now-p-block--sm{padding-block-end:.5rem}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:.5rem}.now-p-block-end--sm{padding-block-end:.5rem}.now-p-inline--sm{padding-inline-end:.5rem}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:.5rem}.now-p-inline-end--sm{padding-inline-end:.5rem}.now-p-block--md{padding-block-end:.75rem}.now-p-block--md,.now-p-block-start--md{padding-block-start:.75rem}.now-p-block-end--md{padding-block-end:.75rem}.now-p-inline--md{padding-inline-end:.75rem}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:.75rem}.now-p-inline-end--md{padding-inline-end:.75rem}.now-p-block--lg{padding-block-end:1rem}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:1rem}.now-p-block-end--lg{padding-block-end:1rem}.now-p-inline--lg{padding-inline-end:1rem}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:1rem}.now-p-inline-end--lg{padding-inline-end:1rem}.now-p-block--xl{padding-block-end:1.5rem}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:1.5rem}.now-p-block-end--xl{padding-block-end:1.5rem}.now-p-inline--xl{padding-inline-end:1.5rem}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:1.5rem}.now-p-inline-end--xl{padding-inline-end:1.5rem}.now-p-block--xxl{padding-block-end:2rem}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:2rem}.now-p-block-end--xxl{padding-block-end:2rem}.now-p-inline--xxl{padding-inline-end:2rem}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:2rem}.now-p-inline-end--xxl{padding-inline-end:2rem}.now-p-block--3xl{padding-block-end:2.5rem}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:2.5rem}.now-p-block-end--3xl{padding-block-end:2.5rem}.now-p-inline--3xl{padding-inline-end:2.5rem}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:2.5rem}.now-p-inline-end--3xl{padding-inline-end:2.5rem}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--before,\\n\\t\\t\\t\\t\\t-.25em\\n\\t\\t\\t\\t)*1)}.now-line-height-crop:after{margin-block-end:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--before,\\n\\t\\t\\t\\t\\t-.25em\\n\\t\\t\\t\\t)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(\\n\\t\\t\\t\\t\\t--now-line-height-crop--after,\\n\\t\\t\\t\\t\\t-.125em\\n\\t\\t\\t\\t)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}:host{--transition-speed:0;display:flex;height:100%}.main-container{border:var(--now-container--border-width,1px) solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-collapse:collapse;display:flex;flex-direction:column;justify-content:space-between;max-height:100%;width:100%}.main-container.bare{border:none}.main-container .action-bar{border-top:var(--now-container--border-width,1px) solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));display:flex;justify-content:flex-end}.pane-container{align-items:stretch;display:flex;flex-grow:3}.pane-container.left-right{flex-direction:row;overflow-x:hidden;overflow-y:auto}.pane-container.left-right .left-pane,.pane-container.left-right .right-pane{display:flex;max-width:100%;min-width:inherit;overflow-y:auto;transition:width var(--transition-speed),min-width var(--transition-speed),visibility var(--transition-speed)}.pane-container.left-right.single-column{flex-direction:column;overflow-x:unset;overflow-y:unset}.pane-container.left-right.single-column .divider-bar{display:none}.pane-container.left-right.single-column .left-pane,.pane-container.left-right.single-column .right-pane{flex:1 1 0%!important;overflow-x:unset;overflow-y:unset;width:unset!important}.pane-container.top-bottom{flex-direction:column;overflow-x:auto;overflow-y:hidden}.pane-container.top-bottom .bottom-pane,.pane-container.top-bottom .top-pane{display:flex;flex-direction:column;max-height:100%;min-height:inherit;overflow-y:auto;transition:height var(--transition-speed),min-height var(--transition-speed),visibility var(--transition-speed)}.pane-container.is-dragging .bottom-pane,.pane-container.is-dragging .left-pane,.pane-container.is-dragging .right-pane,.pane-container.is-dragging .top-pane{transition:none}.pane-container.showing-both ::slotted(*){overflow-x:hidden}.pane-container.showing-left .right-pane{height:0;min-width:0;overflow:hidden;position:relative;transition:width var(--transition-speed),min-width var(--transition-speed),visibility var(--transition-speed);visibility:hidden;width:0}.pane-container.showing-left .left-pane{width:100%}.pane-container.showing-left.single-column .right-pane{display:none}.pane-container.showing-left.single-column .left-pane{display:inherit}.pane-container.showing-left .divider-bar{display:none}.pane-container.showing-left ::slotted([slot=right]){overflow:hidden}.pane-container.showing-right .left-pane{height:0;min-width:0;overflow:hidden;position:relative;transition:width var(--transition-speed),min-width var(--transition-speed),visibility var(--transition-speed);visibility:hidden;width:0}.pane-container.showing-right .right-pane{width:100%}.pane-container.showing-right.single-column .left-pane{display:none}.pane-container.showing-right.single-column .right-pane{display:inherit}.pane-container.showing-right .divider-bar{display:none}.pane-container.showing-right ::slotted([slot=left]){overflow:hidden}.pane-container.showing-top .bottom-pane{height:0;min-height:0;overflow:hidden;position:relative;transition:height var(--transition-speed),min-height var(--transition-speed),visibility var(--transition-speed);visibility:hidden}.pane-container.showing-top .top-pane{height:100%}.pane-container.showing-top.single-column .bottom-pane{display:none}.pane-container.showing-top.single-column .top-pane{display:inherit}.pane-container.showing-top .divider-bar{display:none}.pane-container.showing-top ::slotted([slot=bottom]){overflow:hidden}.pane-container.showing-bottom .top-pane{height:0;min-height:0;overflow:hidden;position:relative;transition:height var(--transition-speed),min-height var(--transition-speed),visibility var(--transition-speed);visibility:hidden}.pane-container.showing-bottom .bottom-pane{height:100%}.pane-container.showing-bottom.single-column .top-pane{display:none}.pane-container.showing-bottom.single-column .bottom-pane{display:inherit}.pane-container.showing-bottom .divider-bar{display:none}.pane-container.showing-bottom ::slotted([slot=top]){overflow:hidden}.divider-bar.left-right{border:.03125rem solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));cursor:col-resize;position:relative;width:0}.divider-bar.left-right .handle{align-items:center;background-color:RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border:0 solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-radius:.25rem;display:inline-flex;height:2.5rem;justify-content:center;margin-top:-1.25rem;opacity:0;position:absolute;top:50%;width:.75rem;z-index:1}:host(:not([dir=rtl])) .divider-bar.left-right .handle,:root:not([dir=rtl]) .divider-bar.left-right .handle{margin-left:-.375rem}:host([dir=rtl]) .divider-bar.left-right .handle,:root[dir=rtl] .divider-bar.left-right .handle{margin-right:-.375rem}:host(:not([dir=rtl])) .divider-bar.left-right .handle,:root:not([dir=rtl]) .divider-bar.left-right .handle{left:50%}:host([dir=rtl]) .divider-bar.left-right .handle,:root[dir=rtl] .divider-bar.left-right .handle{right:50%}.divider-bar.left-right .handle:before{border-color:var(--now-color--neutral-21,0,0,0);border-left-style:solid;border-left-width:var(--now-form-control--border-width,1px);border-right-style:solid;border-right-width:var(--now-form-control--border-width,1px);content:\\\"\\\";height:1rem;width:.375rem}.divider-bar.left-right .handle:focus::-moz-focus-inner{border-style:none}.divider-bar.left-right .handle:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.divider-bar.left-right .handle:focus:focus{outline:1px solid highlight}}.divider-bar.left-right now-button-iconic{background-color:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border-radius:var(--now-button-iconic--tertiary--border-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));position:absolute;z-index:2}.divider-bar.left-right now-button-iconic:hover{box-shadow:0 0 0 var(--now-button-iconic--tertiary--border-width,var(--now-actionable--tertiary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)))) RGB(var(--now-button-iconic--tertiary--border-color,var(--now-actionable--tertiary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))),var(--now-button-iconic--tertiary--border-color-alpha,var(--now-actionable--iconic--border-color-alpha,1))) inset}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).sm,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).sm{margin-left:-.375rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).sm,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).sm{margin-right:-.375rem}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).md,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).md{margin-left:-.5rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).md,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).md{margin-right:-.5rem}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).lg,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).lg{margin-left:-.75rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).lg,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding:not(divider-button-center).lg{margin-right:-.75rem}.divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.sm{top:calc(50% - 2.5rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.sm,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.sm{margin-left:-.375rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.sm,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.sm{margin-right:-.375rem}.divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.md{top:calc(50% - 2.75rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.md,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.md{margin-left:-.5rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.md,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.md{margin-right:-.5rem}.divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.lg{top:calc(50% - 3.25rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.lg,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.lg{margin-left:-.75rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.lg,:root[dir=rtl] .divider-bar.left-right now-button-iconic.hide-padding.divider-button-center.lg{margin-right:-.75rem}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).sm,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).sm{margin-left:-.75rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).sm,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).sm{margin-right:-.75rem}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).md,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).md{margin-left:-1rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).md,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).md{margin-right:-1rem}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).lg,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).lg{margin-left:-1.5rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).lg,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding:not(divider-button-center).lg{margin-right:-1.5rem}.divider-bar.left-right now-button-iconic.show-padding.divider-button-center.sm{top:calc(50% - 3.25rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.sm,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.sm{margin-left:-.75rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.sm,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.sm{margin-right:-.75rem}.divider-bar.left-right now-button-iconic.show-padding.divider-button-center.md{top:calc(50% - 3.75rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.md,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.md{margin-left:-1rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.md,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.md{margin-right:-1rem}.divider-bar.left-right now-button-iconic.show-padding.divider-button-center.lg{top:calc(50% - 4.75rem)}:host(:not([dir=rtl])) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.lg,:root:not([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.lg{margin-left:-1.5rem}:host([dir=rtl]) .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.lg,:root[dir=rtl] .divider-bar.left-right now-button-iconic.show-padding.divider-button-center.lg{margin-right:-1.5rem}.divider-bar.left-right now-button-iconic.divider-button-top{top:1rem}.divider-bar.left-right now-button-iconic.divider-button-bottom{bottom:1rem}.divider-bar.top-bottom{border:.03125rem solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));cursor:row-resize;height:0;position:relative}.divider-bar.top-bottom .handle{align-items:center;background-color:RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border:0 solid RGB(var(--now-container--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-radius:.25rem;display:flex;height:.75rem;justify-content:center;left:50%;margin-left:-1.25rem;margin-top:-.375rem;opacity:0;position:absolute;width:2.5rem;z-index:1}.divider-bar.top-bottom .handle:before{border-bottom-style:solid;border-bottom-width:var(--now-form-control--border-width,1px);border-color:var(--now-color--neutral-21,0,0,0);border-top-style:solid;border-top-width:var(--now-form-control--border-width,1px);content:\\\"\\\";height:.375rem;width:1rem}.divider-bar.top-bottom .handle:focus::-moz-focus-inner{border-style:none}.divider-bar.top-bottom .handle:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.divider-bar.top-bottom .handle:focus:focus{outline:1px solid highlight}}.divider-bar.top-bottom now-button-iconic{background-color:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border-radius:var(--now-button-iconic--tertiary--border-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));position:absolute;z-index:1}.divider-bar.top-bottom now-button-iconic:hover{box-shadow:0 0 0 var(--now-button-iconic--tertiary--border-width,var(--now-actionable--tertiary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)))) RGB(var(--now-button-iconic--tertiary--border-color,var(--now-actionable--tertiary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))),var(--now-button-iconic--tertiary--border-color-alpha,var(--now-actionable--iconic--border-color-alpha,1))) inset}.divider-bar.top-bottom now-button-iconic.hide-padding:not(divider-button-center).sm{top:-.375rem}.divider-bar.top-bottom now-button-iconic.hide-padding:not(divider-button-center).md{top:-.5rem}.divider-bar.top-bottom now-button-iconic.hide-padding:not(divider-button-center).lg{top:-.75rem}.divider-bar.top-bottom now-button-iconic.hide-padding.divider-button-center.sm{left:calc(50% - 2.5rem);top:-.375rem}.divider-bar.top-bottom now-button-iconic.hide-padding.divider-button-center.md{left:calc(50% - 2.75rem);top:-.5rem}.divider-bar.top-bottom now-button-iconic.hide-padding.divider-button-center.lg{left:calc(50% - 3.25rem);top:-.75rem}.divider-bar.top-bottom now-button-iconic.show-padding:not(divider-button-center).sm{top:-.75rem}.divider-bar.top-bottom now-button-iconic.show-padding:not(divider-button-center).md{top:-1rem}.divider-bar.top-bottom now-button-iconic.show-padding:not(divider-button-center).lg{top:-1.5rem}.divider-bar.top-bottom now-button-iconic.show-padding.divider-button-center.sm{left:calc(50% - 3.25rem);top:-.75rem}.divider-bar.top-bottom now-button-iconic.show-padding.divider-button-center.md{left:calc(50% - 3.75rem);top:-1rem}.divider-bar.top-bottom now-button-iconic.show-padding.divider-button-center.lg{left:calc(50% - 4.75rem);top:-1.5rem}.divider-bar.top-bottom now-button-iconic.divider-button-left{left:1rem}.divider-bar.top-bottom now-button-iconic.divider-button-right{right:1rem}.divider-bar .handle.active,.divider-bar .handle:focus,.divider-bar:hover .handle{opacity:1}.divider-bar.disabled{cursor:default}.divider-bar.disabled .handle{display:none}slot now-template-message-empty-state{margin:auto}::slotted([slot=left]),::slotted([slot=right]){max-height:100%;overflow-x:hidden;overflow-y:auto;width:100%}::slotted([slot=bottom]),::slotted([slot=top]){height:100%;max-width:100%;overflow-x:auto;overflow-y:auto}@media(forced-colors:active){.handle:before{border-color:buttonborder!important}.handle.active{background-color:buttonface!important;border:var(--now-button--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px))) solid buttonborder!important}.handle.active:focus,.handle.active:hover{background-color:highlighttext;border-color:highlight}.handle.active:focus .handle:before,.handle.active:hover .handle:before{border-color:highlight}.handle:before{border-color:buttonborder}.divider-bar:focus .handle:before{border-color:highlight!important}.divider-bar:hover .handle{background-color:highlighttext!important;border:var(--now-button--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px))) solid highlight!important}.divider-bar:hover .handle:before{border-color:highlight!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"deregisterComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t\t} else if ('deregisterComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.deregisterComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].deregisterComponent;\n\t\t\t\t}, [\"registerComponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t\t} else if ('registerComponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.registerComponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].registerComponent;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {t} from 'sn-translate';\n\nexport const PANES_POSITION = {\n\tLEFT_RIGHT: 'left-right',\n\tTOP_BOTTOM: 'top-bottom'\n};\n//Class names to differentiate panes position\nexport const PANES_POSITION_CLASSNAME = {\n\t[PANES_POSITION.LEFT_RIGHT]: 'left-right',\n\t[PANES_POSITION.TOP_BOTTOM]: 'top-bottom'\n};\nexport const TOP = 'top';\nexport const CENTER = 'center';\nexport const BOTTOM = 'bottom';\nexport const LEFT = 'left';\nexport const RIGHT = 'right';\nexport const BOTH = 'both';\nexport const SMALL = 'sm';\nexport const MEDIUM = 'md';\nexport const LARGE = 'lg';\nexport const DIVIDER_BAR_WIDTH = 2;\nexport const INIT = 'INIT';\nexport const USER_ACTION = 'USER_ACTION';\nexport const PROP_CHANGE = 'PROP_CHANGE';\nexport const SINGLE_COL_REFLOW = 'SINGLE_COL_REFLOW';\nexport const RESIZABLE_PANES_NEXT_DISPLAY_PANE_REQUESTED = 'RESIZABLE_PANES#NEXT_DISPLAY_PANE_REQUESTED';\nexport const RESIZABLE_PANES_DIVIDER_BUTTON_CLICK_REQUESTED = 'RESIZABLE_PANES#DIVIDER_BUTTON_CLICK_REQUESTED';\nexport const DISPLAY_LEFT_PANE_TRANSLATED = t('Show left pane');\nexport const DISPLAY_RIGHT_PANE_TRANSLATED = t('Show right pane');\nexport const DISPLAY_TOP_PANE_TRANSLATED = t('Show top pane');\nexport const DISPLAY_BOTTOM_PANE_TRANSLATED = t('Show bottom pane');\nexport const DISPLAY_BOTH_PANES_TRANSLATED = t('Show both panes');\nexport const INCREMENT_PERCENTAGE = 1;\nexport const KEYBOARD_CONTROL = 'KEYBOARD_CONTROL';\nexport const SEPARATOR_HANDLER_TRANSLATED = t('Resizable panes divider');\nexport const SEPARATOR_HANDLER_TOOLTIP_TRANSLATED = t('Adjust Pane');\nexport const LEFT_PANE_ARIA_LABEL = t('Left pane');\nexport const RIGHT_PANE_ARIA_LABEL = t('Right pane');\nexport const TOP_PANE_ARIA_LABEL = t('Top pane');\nexport const BOTTOM_PANE_ARIA_LABEL = t('Bottom pane');\n\nexport const METRIC_INITIAL_VIEW = 'Initial Resizable Panes View';\nexport const METRIC_PANE_DISPAY_CHANGED = 'Change Resizable Panes Pane Display';\nexport const METRIC_PANE_SIZE_CHANGED = 'Change Resizable Panes Pane Size';\nexport const METRIC_DIVIDER_BUTTON_CLICKED = 'Click Resizable Panes Divider Button';\n\nexport const DIVIDER_BUTTON_ID_KEY_VALUE = {\n\tkey: 'buttonId',\n\tvalue: 'resizablePanesDividerBtn'\n};\n\nexport const HIDE_PADDING_BUTTON_POSITION_CLASSNAME = {\n\t[true]: 'hide-padding',\n\t[false]: 'show-padding'\n};\n\nexport const SIZE_BUTTON_POSITION_CLASSNAME = {\n\t[SMALL]: 'sm',\n\t[MEDIUM]: 'md',\n\t[LARGE]: 'lg'\n};\n\nexport const DIVIDER_BUTTON_POSITION_CLASSNAME = {\n\t[TOP]: 'divider-button-top',\n\t[CENTER]: 'divider-button-center',\n\t[BOTTOM]: 'divider-button-bottom',\n\t[RIGHT]: 'divider-button-right',\n\t[LEFT]: 'divider-button-left'\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const LEFT_BTN_CLICKED = 'NOW_RESIZABLE_PANES#LEFT_BTN#CLICKED';\nexport const RIGHT_BTN_CLICKED = 'NOW_RESIZABLE_PANES#RIGHT_BTN#CLICKED';\nexport const MIDDLE_BTN_CLICKED = 'NOW_RESIZABLE_PANES#MIDDLE_BTN#CLICKED';\n\nexport const PANE_SIZE_CHANGE_REQUESTED = 'NOW_RESIZABLE_PANES#PANE_SIZES#CHANGE_REQUESTED';\nexport const PANE_DISPLAYED_CHANGE_REQUESTED = 'NOW_RESIZABLE_PANES#PANE_DISPLAYED#CHANGE_REQUESTED';\nexport const PANE_SIZES_CHANGED = 'NOW_RESIZABLE_PANES#PANE_SIZES#CHANGED';\nexport const PANE_DISPLAYED_CHANGED = 'NOW_RESIZABLE_PANES#PANE_DISPLAYED#CHANGED';\nexport const PANE_SIZES_CHANGE_REQUESTED = 'NOW_RESIZABLE_PANES#PANE_SIZES_CHANGE_REQUESTED';\nexport const NOW_BUTTON_ICONIC_CLICKED = \n'NOW_BUTTON_ICONIC#CLICKED';\nexport const DIVIDER_BUTTON_CLICKED = \n'NOW_RESIZBLE_PANES#DIVIDER_BUTTON#CLICKED';\nexport const METRIC_TRACKED = 'NOW_RESIZBLE_PANES#METRIC_TRACKED';\n","import '@servicenow/now-button';\nimport {LEFT, RIGHT, BOTH, TOP, BOTTOM} from './constants';\nimport {LEFT_BTN_CLICKED, MIDDLE_BTN_CLICKED, RIGHT_BTN_CLICKED} from './actions';\n\nexport const ActionBar = ({dispatch, displayedPane, config}) => {\n\tconst {leftIcon, middleIcon, rightIcon, leftTooltip, middleTooltip, rightTooltip} = config;\n\n\tconst leftButtonHandler = () => {\n\t\tdispatch(LEFT_BTN_CLICKED);\n\t};\n\tconst middleButtonHandler = () => {\n\t\tdispatch(MIDDLE_BTN_CLICKED);\n\t};\n\n\tconst rightButtonHandler = () => {\n\t\tdispatch(RIGHT_BTN_CLICKED);\n\t};\n\n\treturn (\n\t\t<div className=\"action-bar\">\n\t\t\t<now-button-stateful\n\t\t\t\ticon={leftIcon}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\thighlighted\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': leftTooltip \n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-click={leftButtonHandler}\n\t\t\t\tselected={displayedPane === LEFT || displayedPane === TOP}\n\t\t\t\ttooltip-content={leftTooltip}\n\t\t\t><\/now-button-stateful>\n\t\t\t<now-button-stateful\n\t\t\t\ticon={middleIcon}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\thighlighted\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': middleTooltip\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-click={middleButtonHandler}\n\t\t\t\tselected={displayedPane === BOTH}\n\t\t\t\ttooltip-content={middleTooltip}\n\t\t\t><\/now-button-stateful>\n\t\t\t<now-button-stateful\n\t\t\t\ticon={rightIcon}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\thighlighted\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': rightTooltip\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-click={rightButtonHandler}\n\t\t\t\tselected={displayedPane === RIGHT || displayedPane === BOTTOM}\n\t\t\t\ttooltip-content={rightTooltip}\n\t\t\t><\/now-button-stateful>\n\t\t<\/div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"a11yPreferences\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].a11yPreferences;\n\t\t\t\t\t} else if ('a11yPreferences' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.a11yPreferences || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].a11yPreferences;\n\t\t\t\t}, [\"getUserPrefContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t\t} else if ('getUserPrefContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__.getUserPrefContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_24_0_8_index_jsdbx_dfd500fb__[\"default\"].getUserPrefContext;\n\t\t\t\t} });","// nds-scanner-disable-file inline-styles\nimport {\n\tLEFT,\n\tRIGHT,\n\tBOTH,\n\tPANES_POSITION_CLASSNAME,\n\tPANES_POSITION,\n\tTOP,\n\tBOTTOM,\n\tDIVIDER_BUTTON_POSITION_CLASSNAME,\n\tDIVIDER_BUTTON_ID_KEY_VALUE,\n\tHIDE_PADDING_BUTTON_POSITION_CLASSNAME,\n\tSIZE_BUTTON_POSITION_CLASSNAME\n} from './constants';\nimport {ActionBar} from './ActionBar.js';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-tooltip';\nimport {getUserPrefContext, a11yPreferences} from 'sn-ux-core';\nimport {t} from 'sn-translate';\nimport {getPanelDimensions} from './now-resizable-panes'\n\nconst Divider = ({disabled, isActive, dividerStyles, panesPosition, dividerPosition, dividerAriaLabel, \n\tdisplayDividerButton, dividerButtonConfig, eventKey, dividerHandleTargetRef, setTargetRef, dividerHandleTooltip}) => {\n\n\tconst dividerButtonProps = {\n\t\ticon: 'chevron-left-outline',\n\t\tvariant: 'tertiary',\n\t\tsize: 'sm',\n\t\t'hide-padding': false,\n\t\tbare: true,\n\t\t'append-to-meta': {[DIVIDER_BUTTON_ID_KEY_VALUE.key]: DIVIDER_BUTTON_ID_KEY_VALUE.value},\n\t\t...dividerButtonConfig.buttonProps\n\t};\n\n\tconst rightLeftDividerButtonChoices = ['top', 'bottom', 'center'];\n\tconst topBottomDividerButtonChoices = ['left', 'right', 'center'];\n\n\tif (!rightLeftDividerButtonChoices.includes(dividerButtonConfig.position) && panesPosition === 'left-right') \n\t\tdividerButtonConfig.position = 'top';\n\telse if (!topBottomDividerButtonChoices.includes(dividerButtonConfig.position) && panesPosition === 'top-bottom') \n\t\tdividerButtonConfig.position = 'left';\n\n\tlet ariaValuetext = t('{0} percentage', dividerPosition);\n\tif (eventKey === 'ArrowLeft')\n\t\tariaValuetext = t('Moving left to {0}', ariaValuetext);\n\telse if (eventKey === 'ArrowRight')\n\t\tariaValuetext = t('Moving right to {0}', ariaValuetext);\n\telse if (eventKey === 'ArrowUp')\n\t\tariaValuetext = t('Moving up to {0}', ariaValuetext);\n\telse if (eventKey === 'ArrowDown') \n\t\tariaValuetext = t('Moving down to {0}', ariaValuetext);\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'divider-bar': true,\n\t\t\t\tactive: isActive,\n\t\t\t\tdisabled,\n\t\t\t\t[PANES_POSITION_CLASSNAME[panesPosition]]: true\n\t\t\t}}\n\t\t\tstyle={dividerStyles}\n\t\t\trole=\"group\"\n\t\t\taria-label={dividerAriaLabel}\n\t\t>\n\t\t\t{displayDividerButton ?\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'divider-button': true,\n\t\t\t\t\t\t[DIVIDER_BUTTON_POSITION_CLASSNAME[dividerButtonConfig.position || TOP]]: true,\n\t\t\t\t\t\t[HIDE_PADDING_BUTTON_POSITION_CLASSNAME[dividerButtonProps['hide-padding']]]: true,\n\t\t\t\t\t\t[SIZE_BUTTON_POSITION_CLASSNAME[dividerButtonProps.size]]: true\n\t\t\t\t\t}}\n\t\t\t\t\t{...dividerButtonProps}\n\t\t\t\t>\n\t\t\t\t<\/now-button-iconic> : null\n\t\t\t}\n\n\t\t\t<div className={isActive ? 'handle active' : 'handle'}\n\t\t\t\ttabindex=\"0\"\n\t\t\t\trole=\"separator\"\n\t\t\t\taria-orientation={panesPosition === PANES_POSITION.LEFT_RIGHT ? 'vertical' : 'horizontal'}\n\t\t\t\taria-valuemin=\"0\"\n\t\t\t\taria-valuemax=\"100\"\n\t\t\t\taria-valuenow={dividerPosition}\n\t\t\t\taria-valuetext={ariaValuetext}\n\t\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\taria-describedby=\"divider-handle-tooltip\"\n\t\t\t/>\n\t\t\t<now-tooltip\n\t\t\t\tid=\"divider-handle-tooltip\"\n\t\t\t\ttarget-ref={dividerHandleTargetRef}\n\t\t\t\tcontent={dividerHandleTooltip}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nconst PaneContainer = ({\n\tpanesPosition, disabled, displayedPane, isDragging, isDoubleClickDragActive, usePct, dividerStyles,\n\tminSecondPane, secondPanePct, secondPanePixels, minFirstPane, firstPanePct,\n\tleftPaneAriaLabel, rightPaneAriaLabel, topPaneAriaLabel, bottomPaneAriaLabel, dividerAriaLabel,\n\tdisplayDividerButton, dividerButtonConfig, isReflowing, displayHiddenControls, eventKey, \n\tdividerHandleTargetRef, setTargetRef, dividerHandleTooltip}) => {\n\t//  We define the size of the panes by setting the width for the right pane and letting the left pane take the remaining space.\n\t//  This was done to accomodate a specific case when a negative pixel value is provided as the defaultDividerPosition,\n\t//  making sure resizing the browser window keeps the right pane with the correct size\n\tif (displayedPane === LEFT || displayedPane === TOP)\n\t\tsecondPanePct = 0;\n\n\tif (displayedPane === RIGHT || displayedPane === BOTTOM)\n\t\tsecondPanePct = 100;\n\n\tconst isLeftRight = panesPosition === PANES_POSITION.LEFT_RIGHT;\n\n\treturn (\n\t\t<div className={`pane-container showing-${displayedPane} ${isReflowing ? 'single-column' : ''} ${isDragging ? 'is-dragging' : ''} ${PANES_POSITION_CLASSNAME[panesPosition] || ''}`}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tflex: 1,\n\t\t\t\t\t[isLeftRight ? 'minWidth' : 'minHeight']: minFirstPane,\n\t\t\t\t\t'pointer-events': (isDragging || isDoubleClickDragActive) ? 'none' : 'auto'\n\t\t\t\t}}\n\t\t\t\tclassName={`${isLeftRight ? LEFT : TOP}-pane`}\n\t\t\t\taria-label={isLeftRight ? leftPaneAriaLabel : topPaneAriaLabel}\n\t\t\t>\n\t\t\t\t<slot name={isLeftRight ? LEFT : TOP}>\n\t\t\t\t<\/slot>\n\t\t\t<\/div>\n\t\t\t\t<Divider\n\t\t\t\t\tisActive={displayHiddenControls || isDragging || isDoubleClickDragActive}\n\t\t\t\t\tdividerStyles={dividerStyles}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tpanesPosition={panesPosition}\n\t\t\t\t\tdividerPosition={firstPanePct}\n\t\t\t\t\tdividerAriaLabel={dividerAriaLabel}\n\t\t\t\t\tdisplayDividerButton={displayDividerButton}\n\t\t\t\t\tdividerButtonConfig={dividerButtonConfig}\n\t\t\t\t\teventKey={eventKey}\n\t\t\t\t\tdividerHandleTargetRef={dividerHandleTargetRef}\n\t\t\t\t\tsetTargetRef={setTargetRef}\n\t\t\t\t\tdividerHandleTooltip={dividerHandleTooltip}>\n\t\t\t\t<\/Divider>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\t[isLeftRight ? 'width' : 'height']: displayedPane === BOTH && !usePct && secondPanePixels > 0\n\t\t\t\t\t\t? `${secondPanePixels}px`\n\t\t\t\t\t\t: `${secondPanePct}%`,\n\t\t\t\t\t[isLeftRight ? 'minWidth' : 'minHeight']: minSecondPane,\n\t\t\t\t\t'pointer-events': (isDragging || isDoubleClickDragActive) ? 'none' : 'auto'\n\t\t\t\t}}\n\t\t\t\tclassName={`${isLeftRight ? RIGHT : BOTTOM}-pane`}\n\t\t\t\taria-label={isLeftRight ? rightPaneAriaLabel : bottomPaneAriaLabel}\n\t\t\t>\n\t\t\t\t<slot name={isLeftRight ? RIGHT : BOTTOM}>\n\t\t\t\t<\/slot>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst getMinimums = (constraints, displayedPane, isReflowing = false) => {\n\tconst {minPixels, minRatio} = constraints;\n\tconst minimums = {minPixels: '0px', minRatio: '0%'};\n\tif (displayedPane === BOTH && !isReflowing){\n\t\tif (minPixels)\n\t\t\tminimums.minPixels = `${minPixels}px`;\n\t\tif (minRatio)\n\t\t\tminimums.minRatio = `${minRatio}%`;\n\t}\n\treturn `max(${minimums.minPixels}, ${minimums.minRatio})`;\n};\n\nexport const view = (state, {dispatch, updateState}) => {\n\tconst hiddenControlsContext = getUserPrefContext(a11yPreferences.GLIDE_UI_ACCESSIBILITY_SHOW_HIDDEN_CONTROLS);\n\tconst displayHiddenControls = state.context[hiddenControlsContext] === 'true';\n\n\tconst {\n\t\tdisabled, actionBar: displayActionBar, bare, dividerStyles, panesPosition, panesConstraints, isLeftRight,\n\t\tleftPaneAriaLabel, rightPaneAriaLabel, topPaneAriaLabel, bottomPaneAriaLabel, dividerAriaLabel, dividerHandleTooltip,\n\t\tdisplayDividerButton, dividerButtonConfig, singleColumn, defaultDividerPosition, defaultDisplayedPane} = state.properties;\n\n\tconst setTargetRef = (ref) => setTimeout(() => updateState({dividerHandleTargetRef: ref}));\n\tlet newState = {...state};\n\n\tif (!state.initialResize && state.behaviors.resize.size.width != null && state.behaviors.resize.size.width != 0) {\n\t\tif (defaultDisplayedPane === BOTH && isLeftRight) {\n\t\t\tconst panelDimesions = getPanelDimensions(defaultDividerPosition, state);\n\t\t\tnewState = {\n\t\t\t\t...newState,\n\t\t\t\t...panelDimesions\n\t\t\t}\n\t\t\tupdateState({\n\t\t\t\t...panelDimesions,\n\t\t\t\tinitialResize: true,\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\t}\n\n\tconst {isDragging, isDoubleClickDragActive, firstPanePct, secondPanePct, displayedPane,\n\t\tsecondPanePixels, firstPanePixels, usePct, actionBarConfig, eventKey,\n\t\tdividerHandleTargetRef} = newState;\n\tconst isReflowing = singleColumn && isLeftRight && displayedPane === BOTH;\n\n\treturn (\n\t\t<div className={bare ? 'main-container bare' : 'main-container'}>\n\t\t\t<PaneContainer\n\t\t\t\tdisabled={disabled}\n\t\t\t\tisDragging={isDragging && !disabled}\n\t\t\t\tisDoubleClickDragActive={isDoubleClickDragActive && !disabled}\n\t\t\t\tpanesPosition={panesPosition}\n\t\t\t\tdividerStyles={dividerStyles}\n\t\t\t\tdisplayedPane={displayedPane}\n\t\t\t\tusePct={usePct}\n\t\t\t\tfirstPanePct={firstPanePct}\n\t\t\t\tsecondPanePct={secondPanePct}\n\t\t\t\tsecondPanePixels={secondPanePixels}\n\t\t\t\tfirstPanePixels={firstPanePixels}\n\t\t\t\tminFirstPane={getMinimums(panesConstraints.firstPaneConstraints, displayedPane, isReflowing)}\n\t\t\t\tminSecondPane={getMinimums(panesConstraints.secondPaneConstraints, displayedPane, isReflowing)}\n\t\t\t\tisReflowing={isReflowing}\n\t\t\t\tleftPaneAriaLabel={leftPaneAriaLabel}\n\t\t\t\trightPaneAriaLabel={rightPaneAriaLabel}\n\t\t\t\ttopPaneAriaLabel={topPaneAriaLabel}\n\t\t\t\tbottomPaneAriaLabel={bottomPaneAriaLabel}\n\t\t\t\tdividerAriaLabel={dividerAriaLabel}\n\t\t\t\tdisplayDividerButton={displayDividerButton}\n\t\t\t\tdividerButtonConfig={dividerButtonConfig}\n\t\t\t\tdisplayHiddenControls={displayHiddenControls}\n\t\t\t\teventKey={eventKey}\n\t\t\t\tdividerHandleTargetRef={dividerHandleTargetRef}\n\t\t\t\tsetTargetRef={setTargetRef}\n\t\t\t\tdividerHandleTooltip={dividerHandleTooltip}\n\t\t\t><\/PaneContainer>\n\n\t\t\t{displayActionBar && !disabled ? <slot name=\"action-bar\"><ActionBar dispatch={dispatch} config={actionBarConfig} displayedPane={displayedPane} isLeftRight={isLeftRight}><\/ActionBar><\/slot> : null}\n\t\t<\/div>\n\t);\n};\n","import {DIVIDER_BAR_WIDTH} from '../constants';\n\nexport const isPixelStringValue = value => {\n\tconst pxRE = new RegExp('^(-?\\\\d+)px$');\n\treturn pxRE.test(value);\n};\n\nconst getFloatFromPixelString = string => 0 + parseFloat(string.slice(0, -2));\n\nexport const getPositionPixels = (hostLength, defaultDividerPosition) => {\n\tlet dividerPositionPixels = 0;\n\t\n\tif (isPixelStringValue(defaultDividerPosition)) {\n\t\tdividerPositionPixels = getFloatFromPixelString(defaultDividerPosition);\n\t\tif (dividerPositionPixels > hostLength)\n\t\t\tdividerPositionPixels = hostLength;\n\t\tif (dividerPositionPixels < 0)\n\t\t\tdividerPositionPixels = hostLength + dividerPositionPixels;\n\t} else {\n\t\tconst parsedDividerPosition = parseFloat(defaultDividerPosition);\n\t\tdividerPositionPixels = hostLength * (parseFloat(parsedDividerPosition) / 100);\n\t}\n\n\tif (isNaN(dividerPositionPixels))\n\t\tdividerPositionPixels = hostLength / 2;\n\tif (dividerPositionPixels > hostLength)\n\t\tdividerPositionPixels = hostLength;\n\tif (dividerPositionPixels < 0)\n\t\tdividerPositionPixels = 0;\n\t\n\treturn dividerPositionPixels;\n};\n\nexport const convertPctToPixels = (panePct, containerWidthPixels) => {\n\tif (panePct < 0) \n\t\tpanePct = 0;\n\tif (panePct > 100) \n\t\tpanePct = 100;\n\treturn containerWidthPixels * panePct / 100;\n};\n\nexport const convertPixelsToPct = (panePx, containerWidthPixels) => {\n\tif (containerWidthPixels < 1 || panePx < 1) \n\t\treturn 0;\n\tif (panePx > containerWidthPixels) \n\t\treturn 100;\n\treturn (panePx / containerWidthPixels) * 100;\n};\n\nexport const convertToPctWithConstraints = (newFirstPanePixels, newSecondPanePixels, minFirstPixels, minSecondPixels, containerWidthPixels) => {\n\tlet newFirstPanePct;\n\tlet newSecondPanePct;\n\n\tif (newFirstPanePixels < minFirstPixels) {\n\t\tnewFirstPanePixels = minFirstPixels;\n\t\tnewFirstPanePct = convertPixelsToPct(newFirstPanePixels, containerWidthPixels);\n\t\tnewSecondPanePct = 100 - newFirstPanePct;\n\t} else if (newSecondPanePixels < minSecondPixels) {\n\t\tnewSecondPanePixels = minSecondPixels;\n\t\tnewSecondPanePct = convertPixelsToPct(newSecondPanePixels, containerWidthPixels);\n\t\tnewFirstPanePct = 100 - newSecondPanePct;\n\t} else {\n\t\tnewFirstPanePct = convertPixelsToPct(newFirstPanePixels, containerWidthPixels);\n\t\tnewSecondPanePct = 100 - newFirstPanePct;\n\t}\n\n\treturn {\n\t\tnewFirstPanePct,\n\t\tnewSecondPanePct\n\t};\n};\n\nexport const computePaneLengths = (dividerPositionPixels, containerWidthPixels, paneWidthConstraints) => {\n\tconst {firstPaneConstraints, secondPaneConstraints} = paneWidthConstraints;\n\tconst minFirstPixels = firstPaneConstraints.minPixels;\n\tconst minFirstPct = firstPaneConstraints.minRatio;\n\tconst minSecondPixels = secondPaneConstraints.minPixels;\n\tconst minSecondPct = secondPaneConstraints.minRatio;\n\n\tconst newFirstPanePixels = dividerPositionPixels;\n\tconst newSecondPanePixels = containerWidthPixels - DIVIDER_BAR_WIDTH - newFirstPanePixels;\n\tlet {newSecondPanePct, newFirstPanePct} = convertToPctWithConstraints(newFirstPanePixels, newSecondPanePixels, minFirstPixels, minSecondPixels, containerWidthPixels);\n\n\tif (newFirstPanePct < minFirstPct) {\n\t\tnewFirstPanePct = minFirstPct;\n\t\tnewSecondPanePct = 100 - newFirstPanePct;\n\t} else if (newSecondPanePct < minSecondPct) {\n\t\tnewSecondPanePct = minSecondPct;\n\t\tnewFirstPanePct = 100 - newSecondPanePct;\n\t}\n\n\treturn {\n\t\tnewFirstPanePct,\n\t\tnewSecondPanePct,\n\t\tnewSecondPanePixels: convertPctToPixels(newSecondPanePct, containerWidthPixels),\n\t\tnewFirstPanePixels: convertPctToPixels(newFirstPanePct, containerWidthPixels),\n\t};\n};\n\nexport const getDividerPosition = (hostLength, dividerPosition, firstPaneConstraints, secondPaneConstraints) => {\n\n\tconst dividerPositionPixels = getPositionPixels(hostLength, dividerPosition);\n\tlet {\n\t\tnewFirstPanePct,\n\t\tnewFirstPanePixels\n\t} = computePaneLengths(dividerPositionPixels, hostLength, {\n\t\tfirstPaneConstraints,\n\t\tsecondPaneConstraints\n\t});\n\n\t// If the container width equals 0 we can't compute properly where the divider should be.\n\t// In that case we want to use the default divider bar position without applying all the constraints\n\tif (hostLength === 0) {\n\t\tif (isPixelStringValue(dividerPosition)) {\n\t\t\tnewFirstPanePct = null;\n\t\t\tnewFirstPanePixels = getFloatFromPixelString(dividerPosition);\n\t\t} else {\n\t\t\tnewFirstPanePct = parseFloat(dividerPosition);\n\t\t\tnewFirstPanePixels = null;\n\t\t}\n\t}\n\n\treturn {\n\t\tdividerPositionPct: newFirstPanePct,\n\t\tdividerPositionPixels: newFirstPanePixels,\n\t};\n};\n\nexport const _isDividerClick = ({event, host}) => {\n\tconst el = event.composedPath()[0];\n\treturn (\n\t\tel.classList &&\n\t\t(el.classList.contains('divider-bar') || el.classList.contains('handle')) &&\n\t\tevent.target === host\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_29_0_0_index_jsdbx_24a6f5a6__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_0_0_index_jsdbx_ef64f19d__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {registerComponent, deregisterComponent} from '@servicenow/now-trigger-library';\nimport style from './styles.scss';\nimport {view} from './view';\nimport {\n\tLEFT,\n\tRIGHT,\n\tBOTH,\n\tINIT,\n\tUSER_ACTION,\n\tPROP_CHANGE,\n\tPANES_POSITION,\n\tBOTTOM,\n\tTOP,\n\tINCREMENT_PERCENTAGE, KEYBOARD_CONTROL,\n\tDISPLAY_LEFT_PANE_TRANSLATED,\n\tDISPLAY_RIGHT_PANE_TRANSLATED,\n\tDISPLAY_TOP_PANE_TRANSLATED,\n\tDISPLAY_BOTTOM_PANE_TRANSLATED,\n\tDISPLAY_BOTH_PANES_TRANSLATED,\n\tLEFT_PANE_ARIA_LABEL,\n\tRIGHT_PANE_ARIA_LABEL,\n\tTOP_PANE_ARIA_LABEL,\n\tBOTTOM_PANE_ARIA_LABEL,\n\tSEPARATOR_HANDLER_TRANSLATED,\n\tSEPARATOR_HANDLER_TOOLTIP_TRANSLATED,\n\tDIVIDER_BUTTON_ID_KEY_VALUE,\n\tRESIZABLE_PANES_NEXT_DISPLAY_PANE_REQUESTED,\n\tRESIZABLE_PANES_DIVIDER_BUTTON_CLICK_REQUESTED,\n\tMETRIC_INITIAL_VIEW,\n\tMETRIC_PANE_DISPAY_CHANGED,\n\tMETRIC_PANE_SIZE_CHANGED,\n\tMETRIC_DIVIDER_BUTTON_CLICKED,\n\tSINGLE_COL_REFLOW\n} from './constants';\nimport {\n\tLEFT_BTN_CLICKED,\n\tMIDDLE_BTN_CLICKED,\n\tRIGHT_BTN_CLICKED,\n\tPANE_SIZES_CHANGE_REQUESTED,\n\tPANE_SIZES_CHANGED,\n\tPANE_DISPLAYED_CHANGE_REQUESTED,\n\tPANE_DISPLAYED_CHANGED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tDIVIDER_BUTTON_CLICKED,\n\tMETRIC_TRACKED\n} from './actions';\n\nimport {computePaneLengths, getDividerPosition, isPixelStringValue, _isDividerClick} from './helpers';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport track from '@devsnc/ux-metrics';\n\nconst {COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED} = actionTypes;\n\nexport const getPanelDimensions = (dividerPosition, state) => {\n\tconst { host } = state;\n\tconst { leftPaneConstraints, rightPaneConstraints, topPaneConstraints, bottomPaneConstraints, isLeftRight } = state.properties;\n\n\tconst firstPaneConstraints = isLeftRight ? leftPaneConstraints : topPaneConstraints;\n\tconst secondPaneConstraints = isLeftRight ? rightPaneConstraints : bottomPaneConstraints;\n\tconst hostLength = isLeftRight ? state.behaviors.resize.size.width : host.shadowRoot.querySelector('.pane-container').clientHeight;\n\tconst {\n\t\tdividerPositionPixels: newDividerPositionPixels,\n\t\tdividerPositionPct: newDividerPositionPct\n\t} = getDividerPosition(hostLength, dividerPosition, firstPaneConstraints, secondPaneConstraints);\n\n\tlet usePct = !isPixelStringValue(dividerPosition);\n\tif (newDividerPositionPixels === null)\n\t\tusePct = true;\n\telse if (newDividerPositionPct === null)\n\t\tusePct = false;\n\n\tconst firstPanePct = newDividerPositionPct;\n\tconst secondPanePct = 100 - newDividerPositionPct;\n\tconst firstPanePixels = newDividerPositionPixels;\n\tconst secondPanePixels = hostLength - newDividerPositionPixels;\n\n\treturn {\n\t\tdisplayedPane: BOTH,\n\t\tfirstPanePct,\n\t\tsecondPanePct,\n\t\tfirstPanePixels,\n\t\tsecondPanePixels,\n\t\tdividerPosition,\n\t\tusePct\n\t};\n};\n\n/**\n *\n * Displays two panes with content slots. The layout can be set as either a top and bottom pane with resizable heights, or a left and right pane with resizable widths.\n *\n * ```\n * <now-resizable-panes/>\n * \t<my-component-a slot=\"left\"/>\n * \t<my-component-b slot=\"right\"/>\n * <\/now-resizable-panes>\n * ```\n *\n * @seismicElement now-resizable-panes\n * @summary Two user-resizable panes, each containing a slot that can accept other components.\n **/\ncreateCustomElement('now-resizable-panes', {\n\trenderer: {type: snabbdom},\n\tview,\n\tstyles: style,\n\tsetInitialState({properties: {defaultDividerPosition, defaultDisplayedPane, isLeftRight, actionBarConfig, dir}}) {\n\t\tconst usePct = !isPixelStringValue(defaultDividerPosition);\n\t\tconst isRtl = dir === 'rtl';\n\t\treturn {\n\t\t\tisDragging: false,\n\t\t\tisDoubleClickDragActive: false, // Tracks if the divider is in double-click drag mode.\n\t\t\tdisplayedPane: defaultDisplayedPane,\n\t\t\tuserHasDragged: false,\n\t\t\tsecondPanePct: usePct ? (100 - defaultDividerPosition) : 0,\n\t\t\tfirstPanePct: usePct ? defaultDividerPosition : 0,\n\t\t\t// don't have host's length yet so can't calc the pixel value\n\t\t\tsecondPanePixels: 0,\n\t\t\tfirstPanePixels: 0,\n\t\t\tusePct,\n\t\t\thost: {},\n\t\t\t//set default tooltips based on pane position\n\t\t\tactionBarConfig: {\n\t\t\t\t...actionBarConfig,\n\t\t\t\tleftTooltip: actionBarConfig.leftTooltip ||\n\t\t\t\t\t(isLeftRight ? (isRtl ? DISPLAY_RIGHT_PANE_TRANSLATED : DISPLAY_LEFT_PANE_TRANSLATED) : DISPLAY_TOP_PANE_TRANSLATED),\n\t\t\t\tmiddleTooltip: actionBarConfig.middleTooltip || DISPLAY_BOTH_PANES_TRANSLATED,\n\t\t\t\trightTooltip: actionBarConfig.rightTooltip\n\t\t\t\t\t|| (isLeftRight ? (isRtl ? DISPLAY_LEFT_PANE_TRANSLATED : DISPLAY_RIGHT_PANE_TRANSLATED) : DISPLAY_BOTTOM_PANE_TRANSLATED),\n\t\t\t},\n\t\t\tdividerHandleTargetRef: null,\n\t\t\tinitialResize: false,\n\t\t\tregisteredComponentId: null,\n\n\t\t\t// Keep track of whether we have entered reflow from resizing\n\t\t\t// so that we can restore panes position when exiting reflow\n\t\t\tenteredReflow: false\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * When true, prevents the user from resizing panes with the divider.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the layout of the panes.\n\t\t * @type {\"left-right\" | \"top-bottom\"}\n\t\t */\n\t\tpanesPosition: {\n\t\t\tdefault: 'left-right',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['left-right', 'top-bottom']\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Computed property. True if panesPosition is left-right, false otherwise.\n\t\t * @private\n\t\t */\n\t\tisLeftRight: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tcomputed({properties: {panesPosition}}) {\n\t\t\t\treturn panesPosition === PANES_POSITION.LEFT_RIGHT;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, displays an action bar below the panes that allows the user to switch between display modes.\n\t\t * @type {boolean}\n\t\t */\n\t\tactionBar: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines icons and tooltips used by the action bar to switch between display modes.\n\t\t * @type {ActionBarConfig}\n\t\t */\n\t\tactionBarConfig: {\n\t\t\tdefault: {\n\t\t\t\tleftIcon: 'record-activity-details-fill',\n\t\t\t\tmiddleIcon: 'record-activity-stream-outline',\n\t\t\t\trightIcon: 'record-activity-outline',\n\t\t\t\tleftTooltip: DISPLAY_LEFT_PANE_TRANSLATED,\n\t\t\t\tmiddleTooltip: DISPLAY_BOTH_PANES_TRANSLATED,\n\t\t\t\trightTooltip: DISPLAY_RIGHT_PANE_TRANSLATED,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tleftIcon: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tmiddleIcon: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\trightIcon: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tleftTooltip: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tmiddleTooltip: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\trightTooltip: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeepCompare: true\n\t\t},\n\t\t/**\n\t\t * When true, displays an iconic button on the divider bar.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisplayDividerButton: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines properties used by the iconic button on divider bar.\n\t\t * @type {dividerButtonConfig}\n\t\t */\n\t\tdividerButtonConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tposition: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['top', 'bottom', 'left', 'right', 'center']\n\t\t\t\t\t},\n\t\t\t\t\tbuttonProps: {\n\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tdefault: {}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeepCompare: true\n\t\t},\n\t\t/**\n\t\t * A number between 0 and 100 representing the default position of the divider.\n\t\t * @type {number}\n\t\t */\n\t\tdefaultDividerPosition: {\n\t\t\tdefault: '50',\n\t\t\tschema: {\n\t\t\t\tanyOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Custom CSS styles for the divider in JSON format.\n\t\t * @type {object}\n\t\t */\n\t\tdividerStyles: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\t/**\n\t\t * Defines which panes to display when the component renders on a page for the first time.\n\t\t * @type {\"left\" | \"right\" | \"top\" | \"bottom\" | \"both\"}\n\t\t */\n\t\tdefaultDisplayedPane: {\n\t\t\tdefault: BOTH,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['left', 'right', 'top', 'bottom', 'both']\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets whether borders are displayed on the panes. When true, borders are not displayed.\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines size constraints for the width of the left pane based on a minimum size ratio (between 0 and 100) and/or a minimum number of pixels.\n\t\t * @type {PaneConstraints}\n\t\t */\n\t\tleftPaneConstraints: {\n\t\t\tdefault: {\n\t\t\t\tminRatio: 0,\n\t\t\t\tminPixels: 0\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tminRatio: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tminPixels: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines size constraints for the width of the right pane based on a minimum size ratio (between 0 and 100) and/or a minimum number of pixels.\n\t\t * @type {PaneConstraints}\n\t\t */\n\t\trightPaneConstraints: {\n\t\t\tdefault: {\n\t\t\t\tminRatio: 0,\n\t\t\t\tminPixels: 0,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tminRatio: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tminPixels: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Defines size constraints for the height of the top pane based on a minimum size ratio (between 0 and 100) and/or a minimum number of pixels.\n\t\t * @type {PaneConstraints}\n\t\t */\n\t\ttopPaneConstraints: {\n\t\t\tdefault: {\n\t\t\t\tminRatio: 0,\n\t\t\t\tminPixels: 0\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tminRatio: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tminPixels: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines size constraints for the height of the bottom pane based on a minimum size ratio (between 0 and 100) and/or a minimum number of pixels.\n\t\t * @type {PaneConstraints}\n\t\t */\n\t\tbottomPaneConstraints: {\n\t\t\tdefault: {\n\t\t\t\tminRatio: 0,\n\t\t\t\tminPixels: 0,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tminRatio: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tminPixels: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property. Unify left-right and top-bottom pane size constraints.\n\t\t * @private\n\t\t */\n\t\tpanesConstraints: {\n\t\t\tcomputed({properties: {panesPosition, leftPaneConstraints, rightPaneConstraints, topPaneConstraints, bottomPaneConstraints}}) {\n\t\t\t\tconst isLeftRight = panesPosition === PANES_POSITION.LEFT_RIGHT;\n\t\t\t\treturn {\n\t\t\t\t\tfirstPaneConstraints: isLeftRight ? leftPaneConstraints : topPaneConstraints,\n\t\t\t\t\tsecondPaneConstraints: isLeftRight ? rightPaneConstraints : bottomPaneConstraints\n\t\t\t\t};\n\t\t\t},\n\t\t\tdefault: {\n\t\t\t\tminRatio: 0,\n\t\t\t\tminPixels: 0,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tminRatio: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tminPixels: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines whether the component should reflow.\n\t\t * @type {boolean}\n\t\t */\n\t\tsingleColumn: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the left pane aria-label.\n\t\t * @type {string}\n\t\t */\n\t\tleftPaneAriaLabel: {\n\t\t\tdefault: LEFT_PANE_ARIA_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the right pane aria-label.\n\t\t * @type {string}\n\t\t */\n\t\trightPaneAriaLabel: {\n\t\t\tdefault: RIGHT_PANE_ARIA_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the top pane aria-label.\n\t\t * @type {string}\n\t\t */\n\t\ttopPaneAriaLabel: {\n\t\t\tdefault: TOP_PANE_ARIA_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Define bottom pane aria-label\n\t\t * @type {string}\n\t\t */\n\t\tbottomPaneAriaLabel: {\n\t\t\tdefault: BOTTOM_PANE_ARIA_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the divider aria-label.\n\t\t * @type {string}\n\t\t */\n\t\tdividerAriaLabel: {\n\t\t\tdefault: SEPARATOR_HANDLER_TRANSLATED,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the divider handle tooltips.\n\t\t * @type {string}\n\t\t */\n\t\tdividerHandleTooltip: {\n\t\t\tdefault: SEPARATOR_HANDLER_TOOLTIP_TRANSLATED,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: {\n\t\t\t\tpreventRenderUntilSizeAvailable: true,\n\t\t\t\tpreventRender: {\n\t\t\t\t\theight: true\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\trtlBehavior\n\t],\n\tactions: {\n\t\t[PANE_SIZES_CHANGE_REQUESTED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdividerPosition: {\n\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'string'\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}\n\t\t\t}\n\t\t},\n\t\t[PANE_DISPLAYED_CHANGE_REQUESTED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdisplayedPane: {type: 'string'},\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[PANE_SIZES_CHANGED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdividerPosition: {\n\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'string'\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}\n\t\t\t}\n\t\t},\n\t\t[PANE_DISPLAYED_CHANGED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdisplayedPane: {type: 'string'},\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[METRIC_TRACKED]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: {metadata, eventName}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\ttrack(coeffects, eventName, metadata);\n\t\t\t}\n\t\t},\n\t\t[LEFT_BTN_CLICKED]: {\n\t\t\teffect({dispatch, state: {properties: {isLeftRight}}}) {\n\t\t\t\tdispatch(PANE_DISPLAYED_CHANGE_REQUESTED, {displayedPane: isLeftRight ? LEFT : TOP, interaction: USER_ACTION});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[RIGHT_BTN_CLICKED]: {\n\t\t\teffect({dispatch, state: {properties: {isLeftRight}}}) {\n\t\t\t\tdispatch(PANE_DISPLAYED_CHANGE_REQUESTED, {displayedPane: isLeftRight ? RIGHT : BOTTOM, interaction: USER_ACTION});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[MIDDLE_BTN_CLICKED]: {\n\t\t\teffect({dispatch}) {\n\t\t\t\tdispatch(PANE_DISPLAYED_CHANGE_REQUESTED, {displayedPane: BOTH, interaction: USER_ACTION});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect({action, dispatch}) {\n\t\t\t\tif (action.meta.appended[DIVIDER_BUTTON_ID_KEY_VALUE.key] === DIVIDER_BUTTON_ID_KEY_VALUE.value) {\n\t\t\t\t\tdispatch(DIVIDER_BUTTON_CLICKED);\n\t\t\t\t\tdispatch(METRIC_TRACKED, {eventName: METRIC_DIVIDER_BUTTON_CLICKED});\n\t\t\t\t\taction.stopPropagation();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[PANE_SIZES_CHANGE_REQUESTED]: {\n\t\t\teffect({ action, updateState, dispatch, state }) {\n\t\t\t\tconst {interaction = '', eventKey = '', currentPosition} = action.payload;\n\t\t\t\tconst {\n\t\t\t\t\tdisplayedPane: BOTH,\n\t\t\t\t\tfirstPanePct,\n\t\t\t\t\tsecondPanePct,\n\t\t\t\t\tfirstPanePixels,\n\t\t\t\t\tsecondPanePixels,\n\t\t\t\t\tdividerPosition,\n\t\t\t\t\tusePct\n\t\t\t\t} = getPanelDimensions(action.payload.dividerPosition, state);\n\n\t\t\t\tconst shouldRestorePanePct = interaction === SINGLE_COL_REFLOW && state.enteredReflow;\n\t\t\t\tupdateState({\n\t\t\t\t\tdisplayedPane: BOTH,\n\t\t\t\t\tfirstPanePct: shouldRestorePanePct ? state.firstPanePct : firstPanePct,\n\t\t\t\t\tsecondPanePct: shouldRestorePanePct ? state.secondPanePct : secondPanePct,\n\t\t\t\t\tfirstPanePixels,\n\t\t\t\t\tsecondPanePixels,\n\t\t\t\t\tdividerPosition,\n\t\t\t\t\tusePct\n\t\t\t\t});\n\n\t\t\t\tif (interaction !== INIT && interaction !== SINGLE_COL_REFLOW) {\n\t\t\t\t\tdispatch(PANE_SIZES_CHANGED, {\n\t\t\t\t\t\tdividerPosition: action.payload.dividerPosition,\n\t\t\t\t\t\tinteraction,\n\t\t\t\t\t\tfirstPanePixels,\n\t\t\t\t\t\tsecondPanePixels\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (interaction === KEYBOARD_CONTROL && firstPanePct !== currentPosition)\n\t\t\t\t\tupdateState({dividerPosition: firstPanePct, usePct: true, eventKey});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PANE_SIZES_CHANGED]: {\n\t\t\teffect({action: {payload}, dispatch}) {\n\t\t\t\tdispatch(METRIC_TRACKED, {eventName: METRIC_PANE_SIZE_CHANGED, metadata: payload});\n\t\t\t}\n\t\t},\n\t\t[PANE_DISPLAYED_CHANGE_REQUESTED]: {\n\t\t\teffect({action, updateState, state, dispatch}) {\n\t\t\t\tconst {displayedPane, interaction = ''} = action.payload;\n\t\t\t\tconst {defaultDividerPosition} = state.properties;\n\t\t\t\tif (state.displayedPane !== displayedPane) {\n\t\t\t\t\tif (displayedPane === BOTH)\n\t\t\t\t\t\tdispatch(PANE_SIZES_CHANGE_REQUESTED, {dividerPosition: defaultDividerPosition, interaction: INIT});\n\n\t\t\t\t\tupdateState({displayedPane, dividerPosition: defaultDividerPosition});\n\t\t\t\t\tif (interaction !== INIT) {\n\t\t\t\t\t\tdispatch(PANE_DISPLAYED_CHANGED, {displayedPane, interaction});\n\t\t\t\t\t\tdispatch(METRIC_TRACKED, {eventName: METRIC_PANE_DISPAY_CHANGED, metadata: {displayedPane, previousDisplayedPane: state.displayedPane, interaction}});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_CONNECTED]: {\n\t\t\teffect({state, updateState, dispatch, action}) {\n\t\t\t\tconst {host} = action.payload;\n\t\t\t\tconst {defaultDividerPosition, defaultDisplayedPane, isLeftRight} = state.properties;\n\t\t\t\tupdateState({\n\t\t\t\t\thost,\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\t\t\t\tif (\n\t\t\t\t\tisLeftRight && (defaultDisplayedPane === LEFT || defaultDisplayedPane === RIGHT) ||\n\t\t\t\t\t!isLeftRight && (defaultDisplayedPane === TOP || defaultDisplayedPane === BOTTOM)\n\t\t\t\t)\n\t\t\t\t\tdispatch(PANE_DISPLAYED_CHANGE_REQUESTED, {displayedPane: defaultDisplayedPane, interaction: INIT});\n\t\t\t\telse if (!isLeftRight) //BOTH && isLeftRight case is handled in view() `if (!state.initialResize...` block\n\t\t\t\t\tdispatch(PANE_SIZES_CHANGE_REQUESTED, {dividerPosition: defaultDividerPosition, interaction: INIT});\n\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({host, updateState, dispatch, properties}) {\n\t\t\t\tconst {\n\t\t\t\t\tdisabled,\n\t\t\t\t\tpanesPosition,\n\t\t\t\t\tisLeftRight,\n\t\t\t\t\tdefaultDisplayedPane,\n\t\t\t\t\tactionBar,\n\t\t\t\t\tactionBarConfig,\n\t\t\t\t\tdisplayDividerButton,\n\t\t\t\t\tdividerButtonConfig,\n\t\t\t\t\tdefaultDividerPosition,\n\t\t\t\t\tpanesConstraints\n\t\t\t\t} = properties;\n\n\t\t\t\tconst registeredComponentId = registerComponent(host, {\n\t\t\t\t\tupdateState,\n\t\t\t\t\tactionMap: {\n\t\t\t\t\t\t[RESIZABLE_PANES_NEXT_DISPLAY_PANE_REQUESTED]: {\n\t\t\t\t\t\t\taction: ({state}) => {\n\t\t\t\t\t\t\t\tconst {displayedPane} = state;\n\n\t\t\t\t\t\t\t\tif (!actionBar)\n\t\t\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t\t\tif (displayedPane === LEFT || displayedPane === TOP) {\n\t\t\t\t\t\t\t\t\tdispatch(MIDDLE_BTN_CLICKED);\n\t\t\t\t\t\t\t\t\thost.shadowRoot.querySelector('.action-bar').children[1].focus();\n\t\t\t\t\t\t\t\t} else if (displayedPane === BOTH) {\n\t\t\t\t\t\t\t\t\tdispatch(RIGHT_BTN_CLICKED);\n\t\t\t\t\t\t\t\t\thost.shadowRoot.querySelector('.action-bar').children[2].focus();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tdispatch(LEFT_BTN_CLICKED);\n\t\t\t\t\t\t\t\t\thost.shadowRoot.querySelector('.action-bar').children[0].focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tactive: actionBar\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[RESIZABLE_PANES_DIVIDER_BUTTON_CLICK_REQUESTED]: {\n\t\t\t\t\t\t\taction: () => {\n\t\t\t\t\t\t\t\tconst dividerButtonEle = host.shadowRoot.querySelector('.divider-button').shadowRoot.children[0];\n\t\t\t\t\t\t\t\tdividerButtonEle.click();\n\t\t\t\t\t\t\t\tdividerButtonEle.focus();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tactive: displayDividerButton\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tconst metadata = {\n\t\t\t\t\tdisabled,\n\t\t\t\t\tpanesPosition,\n\t\t\t\t\tisLeftRight,\n\t\t\t\t\tdefaultDisplayedPane,\n\t\t\t\t\tactionBar,\n\t\t\t\t\tactionBarConfig,\n\t\t\t\t\tdisplayDividerButton,\n\t\t\t\t\tdividerButtonConfig,\n\t\t\t\t\tdefaultDividerPosition,\n\t\t\t\t\tpanesConstraints\n\t\t\t\t};\n\t\t\t\tdispatch(METRIC_TRACKED, {\n\t\t\t\t\teventName: METRIC_INITIAL_VIEW,\n\t\t\t\t\tmetadata\n\t\t\t\t});\n\t\t\t\tupdateState({registeredComponentId});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect({state, action, dispatch, updateState}) {\n\t\t\t\tconst {properties: {isLeftRight}, displayedPane, dividerPosition} = state;\n\t\t\t\tconst {name, value} = action.payload;\n\t\t\t\tif (name === 'defaultDividerPosition')\n\t\t\t\t\tdispatch(PANE_SIZES_CHANGE_REQUESTED, {dividerPosition: value, interaction: PROP_CHANGE});\n\t\t\t\t else if (name === 'defaultDisplayedPane')\n\t\t\t\t\tdispatch(PANE_DISPLAYED_CHANGE_REQUESTED, {displayedPane: value, interaction: PROP_CHANGE});\n\t\t\t\t else if (name === 'singleColumn' && isLeftRight && displayedPane === BOTH)\n\t\t\t\t\tif (value === false) {\n\t\t\t\t\t\tdispatch(PANE_SIZES_CHANGE_REQUESTED, {dividerPosition, interaction: SINGLE_COL_REFLOW});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tenteredReflow: true\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect({state}) {\n\t\t\t\tconst { registeredComponentId } = state;\n\t\t\t\tif (registeredComponentId && deregisterComponent)\n\t\t\t\t\tderegisterComponent(registeredComponentId);\n\t\t\t}\n\t\t}\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['mousedown'],\n\t\t\teffect({ state, updateState, action }) {\n\t\t\t\tconst { disabled } = state.properties;\n\t\t\t\tif (\n\t\t\t\t\t!disabled &&\n\t\t\t\t\t!state.isDragging &&\n\t\t\t\t\t!state.isDoubleClickDragActive &&\n\t\t\t\t\t_isDividerClick(action.payload)\n\t\t\t\t) {\n\t\t\t\t\tconst { event } = action.payload;\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tupdateState(() => ({\n\t\t\t\t\t\tpath: \"isDragging\",\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\toperation: \"assign\",\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['dblclick'],\n\t\t\teffect({ state, updateState, action }) {\n\t\t\t\tconst { disabled } = state.properties;\n\t\t\t\tif (!disabled && _isDividerClick(action.payload)) {\n\t\t\t\t\tconst { event } = action.payload;\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\tupdateState(() => ([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: \"isDragging\",\n\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\toperation: \"assign\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: \"isDoubleClickDragActive\",\n\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\toperation: \"assign\",\n\t\t\t\t\t\t}\n\t\t\t\t\t]));\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['mouseup'],\n\t\t\ttarget: document,\n\t\t\teffect({ updateState, dispatch, state }) {\n\t\t\t\tconst { dividerPosition } = state;\n\t\t\t\tconst { disabled, defaultDividerPosition } = state.properties;\n\t\t\t\t\n\t\t\t\tif (!disabled && (state.isDragging || state.isDoubleClickDragActive)) {\n\t\t\t\t\tupdateState(() => {\n\t\t\t\t\t\tconst newDividerPosition = dividerPosition === undefined ? defaultDividerPosition : dividerPosition;\n\t\t\t\t\t\tdispatch(PANE_SIZES_CHANGED, {\n\t\t\t\t\t\t\tdividerPosition: newDividerPosition,\n\t\t\t\t\t\t\tinteraction: USER_ACTION,\n\t\t\t\t\t\t\tfirstPanePixels: state.firstPanePixels,\n\t\t\t\t\t\t\tsecondPanePixels: state.secondPanePixels,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpath: \"isDragging\",\n\t\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\t\toperation: \"assign\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpath: \"isDoubleClickDragActive\",\n\t\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\t\toperation: \"assign\",\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}\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['mousemove'],\n\t\t\teffect({\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event, host},\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\tconst {\n\t\t\t\t\tdisabled, \n\t\t\t\t\tdir,\n\t\t\t\t\tleftPaneConstraints,\n\t\t\t\t\trightPaneConstraints,\n\t\t\t\t\ttopPaneConstraints,\n\t\t\t\t\tbottomPaneConstraints,\n\t\t\t\t\tisLeftRight\n\t\t\t\t} = state.properties;\n\t\t\t\t// Handle both regular dragging and double-click drag mode\n\t\t\t\tif ((state.isDragging || state.isDoubleClickDragActive) && !disabled) {\n\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\tconst firstPaneConstraints = isLeftRight ? leftPaneConstraints : topPaneConstraints;\n\t\t\t\t\tconst secondPaneConstraints = isLeftRight ? rightPaneConstraints : bottomPaneConstraints;\n\n\t\t\t\t\tif (isLeftRight) {\n\t\t\t\t\t\tconst dividerPositionPixels = dir === 'rtl'\n\t\t\t\t\t\t\t? host.getBoundingClientRect().right - event.x\n\t\t\t\t\t\t\t: event.x - host.getBoundingClientRect().left;\n\t\t\t\t\t\tconst containerWidthPixels = host.clientWidth;\n\t\t\t\t\t\tconst {newFirstPanePct, newSecondPanePct, newFirstPanePixels, newSecondPanePixels} =\n\t\t\t\t\t\t\tcomputePaneLengths(dividerPositionPixels, containerWidthPixels, {firstPaneConstraints, secondPaneConstraints});\n\n\t\t\t\t\t\t/* We are calling updateState here instead of dispatching an action to do so\n\t\t\t\t\t\t* to prevent dispatching too many actions causing performance problems\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfirstPanePct: newFirstPanePct,\n\t\t\t\t\t\t\tsecondPanePct: newSecondPanePct,\n\t\t\t\t\t\t\tdividerPosition: newFirstPanePct,\n\t\t\t\t\t\t\tfirstPanePixels: newFirstPanePixels,\n\t\t\t\t\t\t\tsecondPanePixels: newSecondPanePixels,\n\t\t\t\t\t\t\tusePct: true\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst dividerPositionPixels = event.y - host.getBoundingClientRect().top;\n\t\t\t\t\t\tconst containerHeightPixels = host.shadowRoot.querySelector('.pane-container').clientHeight;\n\n\t\t\t\t\t\tconst {newFirstPanePct, newSecondPanePct, newFirstPanePixels, newSecondPanePixels} =\n\t\t\t\t\t\t\tcomputePaneLengths(dividerPositionPixels, containerHeightPixels, {firstPaneConstraints, secondPaneConstraints});\n\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfirstPanePct: newFirstPanePct,\n\t\t\t\t\t\t\tsecondPanePct: newSecondPanePct,\n\t\t\t\t\t\t\tdividerPosition: newFirstPanePct,\n\t\t\t\t\t\t\tfirstPanePixels: newFirstPanePixels,\n\t\t\t\t\t\t\tsecondPanePixels: newSecondPanePixels,\n\t\t\t\t\t\t\tusePct: true,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tupdateState({eventKey: ''});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tevents: ['keyup', 'keydown'],\n\t\t\teffect({state, dispatch, action: {payload: {event, host}}}) {\n\t\t\t\tconst rtlCoef = state.properties.dir === 'rtl' ? -1 : 1;\n\t\t\t\tconst el = event.composedPath()[0];\n\t\t\t\tif (\n\t\t\t\t\tel.classList &&\n\t\t\t\t\t(el.classList.contains('divider-bar') || el.classList.contains('handle')) &&\n\t\t\t\t\tevent.target === host\n\t\t\t\t) {\n\t\t\t\t\tif (event.key.startsWith('Arrow')) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tif (event.type === 'keydown') {\n\t\t\t\t\t\t\tlet dividerPosition = parseFloat(state.firstPanePct);\n\t\t\t\t\t\t\tlet validKey = true;\n\n\t\t\t\t\t\t\tif (state.properties.isLeftRight) {\n\t\t\t\t\t\t\t\tif (event.key === 'ArrowLeft')\n\t\t\t\t\t\t\t\t\tdividerPosition -= INCREMENT_PERCENTAGE * rtlCoef;\n\t\t\t\t\t\t\t\telse if (event.key === 'ArrowRight')\n\t\t\t\t\t\t\t\t\tdividerPosition += INCREMENT_PERCENTAGE * rtlCoef;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tvalidKey = false;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (event.key === 'ArrowUp')\n\t\t\t\t\t\t\t\t\tdividerPosition -= INCREMENT_PERCENTAGE;\n\t\t\t\t\t\t\t\telse if (event.key === 'ArrowDown')\n\t\t\t\t\t\t\t\t\tdividerPosition += INCREMENT_PERCENTAGE;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tvalidKey = false;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (validKey) {\n\t\t\t\t\t\t\t\tdispatch(PANE_SIZES_CHANGE_REQUESTED, {\n\t\t\t\t\t\t\t\t\tdividerPosition: Math.round(dividerPosition),\n\t\t\t\t\t\t\t\t\tinteraction: KEYBOARD_CONTROL,\n\t\t\t\t\t\t\t\t\tcurrentPosition: state.firstPanePct,\n\t\t\t\t\t\t\t\t\teventKey: event.key\n\t\t\t\t\t\t\t\t});\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}\n\t\t\t}\n\t\t},\n\t],\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_resizable_panes=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":607,"column":0},"map":{"mappings":"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","file":"externals/controls-mono/bundled-assets.min.js","names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","key","call","join","module","exports","default","cssWithMappingToString","list","this","map","item","content","needLayer","concat","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","ReactPropTypesSecret","require","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","Error","name","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","___CSS_LOADER_EXPORT___","result","__esModule","import","r","a","e","n","ReferenceError","TypeError","toPropertyKey","_defineProperties","t","o","enumerable","configurable","writable","defineProperty","value","_extends","assign","bind","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","create","constructor","Symbol","iterator","from","l","u","f","next","done","objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","_typeof","assertThisInitialized","_setPrototypeOf","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","iterableToArray","toPrimitive","String","Number","arrayLikeToArray","slice","test","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","definition","get","obj","prop","toStringTag","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__","fieldLayoutSchema","type","properties","layout","schema","enum","columns","decorationsSchema","icon","text","SeismicControlledFieldProps","showAIIndicator","isModified","onChange","onSelect","onClick","onMouseEnter","onMouseLeave","onFocus","onBlur","onKeyDown","onKeyUp","onKeyPress","SeismicComponentProps","dispatch","componentId","required","resources","channels","SeismicComponentFieldPropDefaults","messages","formData","fieldName","tableName","recordSysId","placeholder","label","onValueChange","onStagedValueChange","description","readonly","reversed","invalid","autofocus","slot","configAria","fieldLayout","fieldType","helperContent","formatDistanceLocale","lessThanXSeconds","one","regular","past","future","few","many","xSeconds","halfAMinute","other","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","token","count","options","pluralResult","tokenValue","suffixExist","addSuffix","comparison","replace","buildFormatLongFn","args","width","defaultWidth","formats","formatLong","date","full","long","medium","short","time","dateTime","accusativeWeekdays","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","day","getUTCDay","format","buildLocalizeFn","dirtyIndex","valuesArray","context","formattingValues","defaultFormattingWidth","_defaultWidth","_width","values","argumentCallback","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchResult","match","matchedString","parsePatterns","defaultParseWidth","predicate","findIndex","pattern","findKey","valueCallback","rest","buildMatchPatternFn","parseResult","parsePattern","code","formatDistance","formatRelative","localize","ordinalNumber","dirtyNumber","_options","era","narrow","abbreviated","wide","quarter","month","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","parseInt","index","weekStartsOn","firstWeekContainsDate","_date","_baseDate","standalone","withPreposition","monthValues","formattingMonthValues","rem100","formatRelativeLocalePlural","getUTCHours","usageGroup","dayValues","futureSeconds","futureMinutes","futureHours","futureWeeks","futureMonths","futureYears","futureTense","_text","formattingDayValues","form","unit","includes","two","ordinalName","isNaN","translations","about","over","almost","lessthan","withoutSuffixes","xseconds","halfaminute","xminutes","xhours","xdays","xweeks","xmonths","xyears","withSuffixes","adverb","toLowerCase","translated","adv","week","isFuture","weekday","requiredArgs","defaultOptions","getDefaultOptions","startOfUTCWeek","dirtyDate","_ref","_ref2","_ref3","_options$weekStartsOn","_options$locale","_options$locale$optio","_defaultOptions$local","_defaultOptions$local2","NaN","Math","ceil","floor","toInteger","locale","RangeError","argument","argStr","Date","getTime","console","warn","stack","toDate","diff","setUTCDate","getUTCDate","setUTCHours","isSameUTCWeek","dirtyDateLeft","dirtyDateRight","dateLeftStartOfWeek","dateRightStartOfWeek","weekdays","thisWeek","baseDate","_lastWeek","_nextWeek","oneWithSuffix","otherWithSuffix","wordMapping","onlyNumeric","twoFour","declension","scheme","group","rem10","declensionGroup","adjectivesLastWeek","masculine","feminine","adjectivesThisWeek","adjectivesNextWeek","dayGrammaticalGender","dayAndTimeWithAdjective","adjectives","adjective","singularNominative","singularGenitive","pluralGenitive","buildLocalizeTokenFn","_count","checkWeek","baseFormat","lookup","Set","hasLocale","has","getLocale","cs","da","de","enIN","enIE","enUS","enGB","es","et","fi","frCA","fr","he","hu","it","ja","ko","nn","pl","ptBR","pt","ru","sv","th","tr","zhCN","zhTW","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","camelCase","chain","chunk","clamp","clone","cloneDeep","compact","curry","debounce","difference","each","escapeRegExp","extend","filter","find","findLast","first","flatten","flow","identity","inRange","isEmpty","isEqual","isEqualWith","isFunction","isNil","isNumber","isObject","isString","isUndefined","keyBy","keys","last","mapValues","max","memoize","merge","noop","omit","padStart","pick","pickBy","range","reduce","reduceRight","reject","set","size","some","tail","toNumber","unescape","uniqBy","without","xor","escapeSeismicSpecialSymbols","s","_","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__","getEmbeddableBaseUrl","ADDRESS_SIMPLE","ANNOTATION","AUTO_INCREMENT","AUTO_NUMBER","BOOLEAN","CHAR","CHOICE","COMPOSITE_FIELD","CONDITIONS","CSS","CURRENCY","CURRENCY2","DATE","DATE_TIME","BASIC_DATE_TIME","DAYS_OF_WEEK","DECIMAL","DOCUMENTATION_FIELD","DOCUMENT_ID","DOMAIN_ID","DOMAIN_PATH","DUE_DATE","DURATION","EMAIL","ENCRYPTED_TEXT","FIELD_LIST","FIELD_LOOKUP","FIELD_NAME","FILE_ATTACHMENT","FLOAT","GLIDE_LIST","GUID","HTML","INPUT_GROUP","INTEGER","INT","LONG","LONG_INT","INTEGER_DATE","INTEGER_TIME","IP_ADDR","IP_ADDRESS","JOURNAL","JSON","MULTI_TWO_LINES","MULTI_SMALL","NAME_VALUE","OTHER_DATE","PASSWORD","PASSWORD2","PERCENT_COMPLETE","PHONE","PHONE_NUMBER","PHONE_NUMBER_E164","PRICE","RADIO","REFERENCE","SCRIPT","SCRIPT_PLAIN","SHORT_TABLE_NAME","SLUSHBUCKET","STRING","STRING_FULL_UTF8","STRING_LONG","STRING_SHORT","TABLE_NAME","TEMPLATE_VALUE","TEXTAREA","TIME","TIME_WORKED","TRANSLATED_FIELD","TRANSLATED_HTML","TRANSLATED_TEXT","URL","USER_IMAGE","UTC_TIME","VERSION","WIDE_TEXT","WIKI_TEXT","WORKFLOW","USER_ROLES","XML","CONDITION_STRING","ORDER_INDEX","HTML_SCRIPT","USER_INPUT","RELATED_TAGS","EMAIL_SCRIPT","FIELD_MESSAGE_TYPES","CALLBACK_AND_DISPATCH","CALLBACK_AND_DISPATCH_WITH_STATE","NOW_INPUT","VALUE_SET","INVALID_SET","INPUT","NOW_BUTTON_ICONIC_CLICKED","NOW_POPOVER_OPENED_SET","TRACK_RECOMMENDATION_CLICK","FIELD_RECOMMENDATION_INFORMATION","NO_PREDICTIONS_AVAILABLE","SUGGESTION_PREFIX","CUSTOM_PILL_PREFIX","FIELD_BG_COLOR_UNSAVED","FIELD_BG_COLOR_DEFAULT","IGNORED_HIGHLIGHTED_VALUE_FIELDS","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","createSlot","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","createPresentationalCustomElement","declarativeOperations","modifierTypes","nowPriorityLevels","view","className","variant","bare","styles","style","state","opened","_state$properties","_state$properties$cus","customHighlightedLabel","highlightedValueLabel","status","showIcon","variantName","colorName","iconName","_state$properties$fie","_state$properties$fie3","class","color","interactionType","constrain","minHeight","maxHeight","positions","target","button","initialState","actionHandlers","effect","updateState","stopPropagation","action","payload","normalizeHighlightedValues","highlightedValues","flat","hv","renderHighlightedValue","highlightedValue","_normalizeHighlighted","_normalizeHighlighted2","_toArray","defaultHighlightedValue","customHighlightedValues","_arrayLikeToArray","getFieldDisplayValue","displayValue","choices","choice","isAttrTrue","val","isAttrFalse","castIfBoolean","isEditable","getSerializedChanges","dependentField","dependentValue","serializedChanges","changes","parse","field","stringify","getEncodedRecord","encodedRecord","isClassicForm","classicForm","generateSubComponentIds","baseId","additionalFields","parent","dropdown","hasProp","getAriaAttr","attr","camelCased","_props$configAria","accessibilityAttributes","ids","defaultDescribedby","resolveAriaAttr","propAriaLabel","propAriaLabelledby","propAriaDescribedby","propAriaDisabled","propAriaHidden","propAriaRequired","propAriaInvalid","restOfAriaProps","v","disabled","hide","isFieldEditableAndDependentFieldValueSet","dependentFieldValue","dependentFieldLabel","getBaseURL","getAriaLabelFromConfig","labelTemplate","_len","additionalTemplateValues","_key","hasErrorMessage","message","originalValue","newValue","parsedValue","parsedOriginalValue","shouldShowUnsavedIndicator","_properties$formData","initialValue","isUnsavedIndicatorEnabled","enableUnsavedFieldIndicator","isBoolean","getFieldBackgroundColor","showUnsavedIndicator","_ref$formData","_ref$highlightedValue","isReferredByTemplateField","enableBgColorForUnsavedFieldIndicator","isBackgroundColorEnabled","getDeclarativeActionsProps","daProps","_controlProps$formDat","controlProps","canWrite","declarativeUiActions","dependentTable","dictionary","displayValueList","fetchDeclarativeActions","fields","hidden","reference","referenceKey","referenceSysId","referenceTable","referringRecordId","referringTable","visible","referenceQualifier","isNewRecord","ignoreDepAsRefQual","ignoreReferenceQualifier","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__","getFocusableNodes","insertContent","parentElement","elementIsComponent","_parentElement$queryS","_fieldComponent$tagNa","_fieldComponent$getPr","_fieldComponent","fieldComponent","querySelector","fieldComponentName","tagName","getProperties","nowId","textField","_fieldComponent$shado","_fieldComponent$shado2","_fieldComponent$shado3","shadowRoot","focus","startPos","selectionStart","endPos","selectionEnd","substring","dispatchEvent","Event","bubbles","htmlEditorId","window","tinymce","execCommand","findAncestor","el","HTMLElement","classList","contains","isNodeInEventPath","event","composedPath","nodeContainsFocus","container","document","activeElement","isSlotEmpty","hasNoDirectChildren","childElementCount","assignedNodes","getScrollParent","overflowY","getComputedStyle","scrollHeight","clientHeight","host","parentNode","fitDropdownToViewport","parentHeight","documentElement","Promise","resolve","setTimeout","height","getBoundingClientRect","MAX_DROPDOWN_HEIGHT","min","_target$getBoundingCl","targetWidth","targetTop","top","targetBottom","bottom","targetLeft","left","fitDropdownToViewportOld","scrollParent","_dropdown$getBounding2","isRTL","dir","querySelectorDeep","selector","rootEl","body","matches","children","child","fieldFocusHandler","_getFocusableNodes$ta","tabbableNodes","nativeInputNode","cycle","startingPoint","mod","m","hostToScrollData","WeakMap","removeOutsideScrollListener","_hostToScrollData$get","listener","targets","removeEventListener","delete","addOutsideScrollListener","async","callback","getAttribute","ancestors","uuid","eventName","findListener","path","nodeType","Node","ELEMENT_NODE","addEventListener","CustomEvent","composed","cancelable","findAncestors","handled","source","_slicedToArray","getShiftDirection","shift","shiftDirection","getSelectedItems","selectedItems","numberOfItems","getForwardListSelection","getReverseListSelection","isForward","currentlySelectedIndexes","isAccumulating","isAccumulativeDirection","allowNoSelection","numberSelected","firstItem","lastItem","unshift","pop","reversedSelection","reverseSelection","parseArabic","charCodeAt","parseHebrew","trim","getLocaleNumberSeparators","numberFormatter","Intl","NumberFormat","thousandSeparator","decimalSeparator","formatClean","num","regexPattern","RegExp","is","shallowEqual","objA","objB","keysA","keysB","parsedFieldMessages","getMessage","liveUpdate","isUserModified","userName","getLiveUpdateMessage","transformMessages","messageMap","elements","getMessages","pushInfoMessageForDependentFields","transformDescriptionAndMessages","getFormFieldMessagesContent","_valueContent$childre","_message$content","textContent","valueContent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__","extendedLocales","Map","localeExtensions","meridiemParse","_originalIsPM","isPM","input","language","moment","localeCode","extension","localeData","error","extendLocale","isoWeek","momentLocale","isoWeekdays","monthsShort","isTimeZoneEnabledField","endsWith","transformState","propertyName","defaultValue","createPreSourceBehavior","componentTagName","_ref$name","dsName","_ref$transform","transform","storeSeed","preUserData","data","getProperty","preferences","sysPropValue","presourceGetProperty","getPageProperty","_window","_window2","siteName","ux_globals","sysPagePropValue","experienceConfigs","pageProperties","coeffects","checkIfFieldIsSelected","stagedPath","forEach","pathItem","updatedPath","transformFieldNameData","fieldNameData","referenceTypes","allowDotWalking","enabledTables","split","prev","curr","isReference","isFieldReferenceType","referenceDataKey","reducedValue","transformFieldNameMetadata","fieldValues","constructDataModel","pathValue","leafPathSource","model","metadata","transformedMetadata","transformedPath","transformPathData","idx","tableNameCurrent","parentTableName","fieldData","tableData","firstField","getFieldNameValue","p","getFieldNameDisplayValue","getDataModelWithToggledFields","dataModel","flag","fieldToBeDeleted","updatedIdArray","getParentTableName","parentPathArray","dataModelToUpdate","InteractiveDecoration","_action$meta","meta","_path$0$getBoundingCl","pageX","pageY","AI_INDICATOR_ICON","renderAIIndicator","_suggestions$autofill","suggestions","renderHelperContent","link","role","href","rel","autofill","_suggestions$source","_suggestions$source2","_suggestions$source3","tooltipContent","renderDecorations","_props$decorations","decorations","formControlWrapper","marginInlineStart","decoration","isInteractive","title","MODIFIED_FIELD_INDICATOR","SLOT_POSITIONS","LABEL_START","LABEL_END","LABEL_INLINE","renderIconsInLabelSlot","slotPosition","iconConfigs","config","hidePadding","getModifiedIconConfig","showModifiedIndicator","additionalProps","arr1","arr2","str","toUpperCase","acc","collection","customizer","Boolean","every","isLocalhost","isDomain","domain","internationalizedEmail","periodSplit","part","isHostname","v4","v6frag","isIPAddress","address","isIPV4Address","isIPV6Address","isEmail","email","components","isValidUrl","url","hasValidHttp","digits","_isInteger","_getInt","minlength","maxlength","getDateFromFormat","i_val","i_format","c","now","year","getYear","getMonth","hh","getHours","mm","getMinutes","ss","getSeconds","ampm","MONTH_NAMES","DAY_NAMES","charAt","month_name","i2","day_name","weekNum","temp","setWeek","getFullYear","getDate","temp2","dayOfWeek","getDay","setDate","toPills","displayValues","convertToValueArray","toValues","pills","pill","getMatchesCount","search","lowerValue","method","itemValue","itemDisplayValue","findChildPath","items","itemIndex","childrenIndexPath","getTreeNodeTypeIcon","isIndexed","isForeign","parseTree","xml","parentItem","labelSeparator","nodes","DOMParser","parseFromString","getElementsByTagName","table","nodeName","nodeLabel","actionable","childrenAvailable","actions","clickActionType","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__","ComponentBase","_React$Component","_classCallCheck","_callSuper","_inherits","_createClass","React","_defineProperty","ControlledField","onLeave","handleOutsideScroll","singleNode","keyboardHandler","mouseHandler","blur","remove","propTypes","FocusWatcher","_this","globalListener","ref","onNodeBlur","setupGlobalListener","onGlobalBlur","focused","persistant","nextProps","setFocusTarget","defaultProps","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__","ShadyDOMEventFixer","_React$PureComponent","only","ReactDOM","ShadyDOM","addListeners","removeListeners","$1","ATTRIBUTES","MAPPED_TO_PROPS","random","abs","guid","callAsync","then","shadowRootToSharedAccessibilityTargets","shadowRootToAccessibilityTargetsItemsQueue","shadowRootToAriaRefs","shadowRootToAriaRefsQueue","ariaRefHelpers","handleAriaAccessibility","ariaSetVnode","requiresRef","accessibilityTargets","startsWith","subscribe","targetRef","ariaAttribute","ariaRef","setCurrent","ariaRefShadowRoot","getRootNode","ariaRefAssignments","ariaRefsQueue","assignments","reverse","ariaRefToAssignment","ariaRefAssignment","possibleParentAriaRef","setChildQuerySelector","buildQuerySelector","setParentAriaRef","getParentAriaRef","createAriaRefHierarchy","isSet","currentClone","removeChild","removeAttribute","setAttribute","setId","sourceShadowRoot","sharedAccessibilityTargets","add","targetShadowRoot","targetItemsWithSharedShadow","targetItemsSharedShadowQueue","handleAccessibilityTargets","attribute","unsubscribe","vnode","targetItemsShadowQueue","targetRefToTreeNode","targetItemRoots","targetItems","targetItem","treeNode","parentTargetRef","parentAriaRef","cloned","targetRefToQuerySelector","rootTargetItem","firstItemWithTargetRef","cloneNode","appendChild","childItem","itemId","selections","currentParent","currentChild","partialSelector","getChildQuerySelector","position","current","previousElementSibling","isAttribute","isMappedToProps","_ariaRefHelpers","isSeismicComponent","existingRef","attributes","renderHighlightedValueReact","ForwardProperties","Component","_objectWithoutProperties","_excluded","allLowerCase","undefinedToNull","thing","createHOC","Control","_OnValueChangeProvider","_ref$initialValueProp","initialValueProp","_ref$initialDisplayVa","initialDisplayValueProp","_ref$cache","cache","_ref$stopBubbling","stopBubbling","OnValueChangeProvider","componentNameWithHash","callbacks","createValueChangeCallbacks","dispatchCache","newProps","setState","actionType","compare","b","ignoreCache","callbackAndDispatch","doesPayloadMatchCache","additionalInfo","adaptCallbackForLegacyAPI","propValue","disableTracking","metaData","displayName","behaviors","configOrControl","fieldPropTypes","controlledFieldPropTypes","COMPONENT_CONNECTED","COMPONENT_PROPERTY_CHANGED","behavior","withValueChangeCallbacksView","helpers","_state$helpers","createdCallbacks","_createCallbacks","createCallbacks","createdCallback","isValueChanged","dispatchPayload","componentConnectedEffect","behaviorName","parentBehaviors","operation","shouldRender","propertyChangedEffect","_ref4","_ref5","_ref5$action$payload","updateKey","callbackAndDispatchEffect","_ref6","_ref7","_state$behaviors$beha","_ref7$payload","_ref7$payload$trackin","trackingMetaData","actionToDispatch","payloadMatchesCache","additionalOptions","parentHandling","valueChangeAction","isStageChangedAction","clearValueChangedCacheUpdate","allowFieldChangesAfterEveryStageChange","createWithValueChangeCallbackBehavior","_options$initialDispl","_options$initialValue","_options$cache","_options$stopPropagat","_ref8","_payload$trackingMeta","validateInput","fieldRegex","trimmedValue","guidanceText","callbackWithStateBehavior","passthrough","oldObj","newObj","updateAdditionalInfoState","setInitialStateWithValue","initialDisplayValue","derivedInitialDisplayValue","_omit","isSuggestionsOpened","hasFocus","stagedValue","withState","fn","onValueChangeCallback","onStagedValueChangeCallback","attrs","encodedValue","targetValue","handleInitialValue","rawValue","oldValue","isBlur","sAdditionalInfo","internalValue","sValue","sError","_format","formattedValue","_excluded2","mergedAdditionalInfo","createWithStateBehavior","_options$parse","_options$format","_options$trackInputCh","trackInputChange","_options$eventBased","eventBased","_options$fieldChangeH","fieldChangeHandlers","forceRenderOnBlur","parseAndFormat","_parse","_format2","inputChangeIsTracked","inputChanged","errorMessages","isFieldValid","fromEvent","_parseAndFormat2","newAdditionalInfo","isRender","inlineValidationError","_validateInput","validationResult","_fieldRegex$","pInitialValue","pInitialDisplayValue","_format3","_excluded3","previousValue","isHandlingInitialValue","nextInitialValue","oldInitialValue","originalCallback","callbackPayload","isOnValueChange","_parseAndFormat","_ref9","_ref9$action$payload","_ref0","_ref0$action$payload","_ref10","fieldValue","_ref1","checkAutofocus","enabled","flush","sleep","ms","wrapHelperContent","maxWidth","setInitialValue","hasValue","hasDisplayValue","newControlProps","isEncrypted","FIELD_TYPE","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","markTypes","trackBehavior","_coeffects$action$pay","_coeffects$action$pay2","track","usage","isRecommendation","_coeffects$action$pay3","eventTitle","telemetry","trackPayload","_coeffects$action$pay4","_coeffects$action$pay5","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__","isEnabledActionTypes","isEnabledBehavior","translationActionTypes","translationBehavior","TRANSLATING","UNABLE_TO_TRANSLATE","MISSING_CREDENTIALS","MAX_LENGTH_ERROR_MSG","LANG_NOT_SUPPORTED","NO_TEXT","FIELD_VALUE_CHANGED","RETRANSLATE","TRY_AGAIN","CLOSE","PREFERRED_LANGUAGE","TRANSLATE","NOW_TEXT_LINK_CLICKED","COMPONENT_BOOTSTRAPPED","DYNAMIC_TRANSLATION_TEXT_TRANSLATED","DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED","DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED","DYNAMIC_TRANSLATION_IS_ENABLED","trackDynamicTranslationEvents","handleDynamicTranslationClick","isHTML","translatedState","SET","msg","dtsRequestBody","additionalParameters","parameterName","parameterValue","dynamicTranslationBehaviour","translatedResponse","response","_translatedResponse$d","translationsObj","detectedLang","detectedLanguage","targetLanguage","translatedText","credit","translator","errorMessage","showRetry","_payload$response","_payload$response2","isTranslationEnabled","translation","paddingRight","_properties$dictionar","dictionaryAttributes","_state$translatedText","record","recordMetics","isRetranslate","handleDynamicTranslationBlur","inputValue","previousTranslatedText","previousText","currentStatus","renderTextLink","renderTranslatedText","hideShadow","html","renderTranslateIcon","tooltip","defaultSeismicProps","transformProperties","component","usingPropTypes","entries","registerComponents","registrationFn","componentMap","actionTypesToProps","_ref3$useCallbacks","useCallbacks","react","registerComponentsWrapper","hostToScrollListener","onChangedProperty","onConnect","onRender","lastState","addScrollListener","scrollListener","oldListener","removeScrollListener","COMPONENT_RENDERED","COMPONENT_NAME","HORIZONTAL_LAYOUT","VERTICAL_LAYOUT","baseClass","MAX_CONTENT_HEIGHT","getContentHeight","contentRef","offsetHeight","getExpandLabel","expanded","updateContentHeight","setExpanded","contentHeight","isOverMaxHeight","newState","_columns$map$join","_columns$map","important","lineSeparator","sectionSeparator","sectionDetails","info","contentId","slotEmpty","_fieldLayout$layout","normalizedColumns","containerRef","details","collapsed","on-click","snabbdom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__","messagesSchema","renderFormFieldLabel","renderFormFieldMessages","AUTO_NUMBER_CONSTANTS","freeze","FETCH_AUTO_NUMBER","FETCH_AUTO_NUMBER_SUCCESS","FETCH_AUTO_NUMBER_FAILURE","FETCH_AUTO_NUMBER_ERROR_MSG","NOW_BUTTON_ICONIC_TOOLTIP","EVENT_ORIGIN","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","dispatchValueChanged","effectProps","FetchAutoNumberEffect","batch","headers","queryParams","successActionType","errorActionType","_ref$state$properties","eventOrigin","sysparm_processor","sysparm_name","_effectProps$state$pr","_effectProps$state$pr2","getError","_state$properties$col","_state$properties$for","_state$properties$for3","wrapLabel","anyOf","slots","_effectProps$action$p","dispatches","focusBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__","ControlWrapper","align","wrapperRef","_ref$fieldset","fieldset","_ref$fieldLayout","alignCenter","_ref$decorations","fitToParent","_ref$showUnsavedIndic","customColumn","snFormFieldClassName","makeClass","htmlFor","truncationBehavior","tooltipBehavior","FieldMessages","getMessageMap","hasMessages","_reduce","labels","messageMapResult","wrapperClass","iconType","getLabels","POPOVER_CONTENT_TAG","padding","renderFieldHelper","Label","checkedSetEffect","_action$payload","isToggle","fullWidth","labelPosition","_properties$formData3","ariaLabel","ariaProperties","ComponentTag","checked","manageChecked","appendToPayload","_ref$fieldLayout2$lay","renderSwitchComponent","ariaDescribedby","ariaLabelledby","checkedOptions","optionValue","sort","selectedOptions","setInitialState","valArray","option","cast","withStringValues","applyOptionStack","optionStack","newChoices","newOption","splice","iM","appendTmpValueAsChoice","_isTmp","getValidChoiceValue","_choices$","isEqualSansTmp","to","getChangedFieldInSerializedChanged","serializedChangesString","attributeFields","changedField","potentialChange","shouldSelectFirstOption","_props$formData","dontSelectFirstOption","isListEditFormField","sysId","NOW_CHOICE_NONE_OPTION","transformChoices","display","sublabel","transformChoicesWithRecommendations","_ref$choices","_suggestions$items","suggestedItems","sectionLabel","_suggestions$emptyMes","emptyMessage","_state$properties$mes","propChoices","_state$properties$dic","isSearchable","stateChoices","isSuggestionSelected","ariaConfig","trigger","panel","selectedValue","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__","createGraphQLEffect","FETCH_DATA","FETCH_DATA_SUCCESS","FETCH_DATA_FAILURE","fetchDependentChoices","sys_id","serialized_changes","encoded_record","isLoading","getDisplayValue","selected","updateChoices","oldChoices","forceUncontrolled","stateValue","refQualElementsAttribute","initialValueString","fileterdChoices","prevChoices","justStoppedLoading","hasChoiceMatch","valueCandidate","displayValueCandidate","derivedChoices","dependentChoiceData","refQualElements","_newValue$serializedC","_properties$formData$","formFieldProperties","formFieldValue","formFieldDisplayValue","_properties$formData$2","_ref3$action","previousRenderState","firstRenderOnConnect","updateValue","selectValue","validChoiceValue","hasRememberedMatch","matchedChoiceIsNone","firstChoiceValue","variableList","errors","results","_action$payload$item","suggestionPrefix","withValueChangeCallbackBehavior","ConnectedChoice","ariaDescribedBy","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__","getItemForKeypress","itemsSchema","DEFAULT_BUTTON_PROPS","hideButtonOnDialog","strictlyUseDefaultPresetAction","isCaretForDropdown","DEFAULT_RECOMMENDATION_DIALOG_PROPS","insertButtonLabel","refineButtonLabel","WWNA_INSERT_RECOMMENDATION_CLICKED","WWNA_RECOMMENDATION_DIALOG_CLOSED","WWNA_PRESET_ACTION_CLICKED","NOW_TEXTAREA_INPUT","NOW_TEXTAREA_SELECTION_CHANGED","NOW_INPUT_SELECTION_CHANGED","NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST","SHOW_HIDE_WWNA_COMPONENT","AUTOGROW_TEXT","WWNA_INITIALIZED","resolutionSkillID","isResolutionSkill","nacmConfig","_nacmConfig$contextMe","_nacmConfig$contextMe2","fieldConfig","contextMenu","formFieldsSkillMapping","skill_id","isNACMSkill","_nacmConfig$contextMe3","_nacmConfig$contextMe4","sanitizeNACMValue","removeAllWhitespace","textHasMinWordCount","minWords","words","word","getFieldElement","hostElement","_hostElement$shadowRo","_textareaParent$shado","textareaParent","getNowTextarea","renderNowAssistContextMenu","selectedText","draftedText","isUserTriggered","inputFocused","wwnaDialogOpened","_getNACMConfigDetails","getNACMConfigDetails","minWordCount","isComponentVisible","componentSelectedText","documentTableName","documentSysId","wwnaComponentId","buttonProps","recommendationDialogProps","nacmResponseType","fieldSelector","renderResolutionNACMContextMenu","nacmInitializedHandler","_e$detail","detail","additionalConfig","preInvokeActionHandler","commandName","handleAutogrow","actionConfig","renderNACMContextMenu","selectionChangedEffect","_ref$action$payload","_ref$action$payload2","_ref$action$payload2$","_ref$action$payload2$2","selection","_ref$properties","_ref$properties$name","nowAssistConfig","nacmBehavior","eventHandlers","events","_ref3$properties","show","_ref4$properties","_Object$keys","_ref5$properties","_ref5$properties$nowA","componentLoaded","enableCaretSlot","_ref6$action$payload$","_ref6$properties","_ref6$properties$nowA","floatingButton","getElementById","_coeffects$action","_coeffects$action2$pa","_coeffects$action2$pa2","_coeffects$action2$pa3","nacmValue","_coeffects$action2$pa4","_coeffects$properties","_coeffects$properties2","_coeffects$properties3","_coeffects$state","nativeFieldSelector","fieldElement","sanitizedNacm","nextValue","replaceSelectedTextNACM","nextCursorPosition","textarea","setSelectionRange","_getFieldElement","_getFieldElement$focu","_ref7$properties","_ref8$properties","_ref2$properties","NACMPayload","autogrow","autogrowLevel","selected_text","actionsConfig","wwnaOffsets","offsetTop","offsetLeft","nowAssistActionsBehavior","_ref$properties$nowAs","_variableSets$some","variableSets","variable_sets","_v$props","config_type","user_triggered","_ref2$action$payload","_ref2$state","_ref3$properties$name","_ref3$action$payload","_ref3$action$payload3","_ref3$state","_ref4$action$payload","_ref4$action$payload2","_ref4$action$payload3","_ref4$action$payload4","_ref4$properties$name","_coeffects$state2","_coeffects$state2$val","_coeffects$state2$sel","replaceSelectedText","getCursorPositionAfterInsertion","textWithInsertion","insertedText","insertionIndex","_ref5$action$payload$","_getNowTextarea","_ref7$state","_ref7$state2","updateTextareaElementSelection","command","_ref8$action","_ref8$action2$payload","_ref8$action2$payload3","_ref8$properties2","_ref8$properties2$nam","_ref8$state","CharacterCounter","charCount","charsRemaining","warning","normalizePlaceholder","setInnerRef","innerRef","onFocusEvent","onBlurEvent","onMouseOverEvent","onMouseOver","onMouseOutEvent","onMouseOut","onChangeEvent","onNDSChange","changeEvent","getMaxlengthLabel","ignoreMaxlength","renderTextarea","isTrigger","_fieldRegex$2","_fieldRegex$3","_fieldRegex$4","_props$fieldLayout","disableMaxHeight","resizable","_props$color","_props$formData2$show","showCounter","isPropertySelector","textValue","slotted","maxlengthLabel","resolvedPlaceholder","maskConfig","inputFormat","mask","maskPlaceholder","autoresize","onMouseDown","autoresizeRowsLimit","autoresizeLineLimit","resize","renderInput","_fieldRegex$5","_fieldRegex$6","_fieldRegex$7","_fieldRegex$8","step","hideRequiredIndicator","_props$color2","_props$formData3","_props$formData4$show","propAriaLabelledBy","ignoremaxlength","mobileKeypadType","renderInputWithDropdown","_transformedOptions$h","showDropdownWithoutFocus","highlightedIndex","transformedOptions","minWidth","hideTail","activeItem","renderInputWithSuggestions","render","selectedItem","activeItemId","transformedSuggestions","defer","Input","_props$fieldLayout2","renderTextareaElement","renderInputElement","SNInput","NOW_TEXTAREA_VALUE_SET","SNInputGroup","trackBootstrap","SysId","Table","FieldType","FieldLabel","trackBootstrapBehavior","rows","cols","wrap","handleOutsideScrollFocus","fallbackDropdownBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__","canRenderFieldAction","oldIconToEDSIcon","phone","iconProp","_state$properties$dis","_state$properties$var","_state$properties$siz","_state$properties$bar","_state$properties$ico","iconic","_state$properties$con","reverseIconPlacement","old","ButtonComponent","handleButtonClick","LISTBOX_ATTR","getNowTextareaShadow","_host$shadowRoot$quer","_host$shadowRoot","syncTextareaListbox","_matchList$","listboxId","matchList","shadow","_shadow$querySelector","listbox","cssText","innerHTML","MESSAGE_CONSTRAINTS","HOTKEY_TYPES","MATCH_LIST_CONSTRAINTS","TEXT_COMMAND_ACTION_TYPES","SN_RECORD_JOURNAL_INPUT","NOW_TEXTAREA","NOW_DROPDOWN_LIST","TEXT_COMMANDS_TRIGGER","TEXT_COMMANDS_HEADER","encode","mentions","prefix","textCommandResultMapper","commands","commandList","filterMentions","preloadMentions","searchTerm","lowerCaseSearchTerm","filteredResult","filteredPreloadMentions","user","userLastName","lastname","userMap","displayFormat","BUILT_IN_MENTIONS","users","hk","mapResults","avatar","record_is_visible","avatarProps","imageSrc","displayItem","getItemsFromInitialValue","re","exec","getMatchListOffset","inputEl","activePrefix","matchListWidth","inputLabelWidth","appliedOverflow","cursorOffset","_ref7$offset","offset","carPos","div","span","copyStyle","substr","inputDim","coords","TOP","scrollTop","LEFT","getCaretPosition","initialContentPos","parentRight","right","labelStart","marginInlineEnd","offsetWidth","overflow","stripTags","sanitized","SN_RECORD_INPUT_CONNECTED_ACTIONS","NOW_INPUT_ACTIONS","AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED","FETCH_MENTIONS","FETCH_MENTIONS_START","FETCH_MENTIONS_SUCCESS","FETCH_MENTIONS_FAILURE","FETCH_TEXT_COMMANDS","FETCH_TEXT_COMMANDS_START","FETCH_TEXT_COMMANDS_SUCCESS","FETCH_TEXT_COMMANDS_FAILURE","INVOKE_TEXT_COMMAND","INVOKE_TEXT_COMMAND_START","INVOKE_TEXT_COMMAND_SUCCESS","INVOKE_TEXT_COMMAND_FAILURE","NO_MATCH_ANNOUNCEMENT_REQUESTED","announceLiveRegion","ARIA_LIVE_REGION_UPDATE_REQUESTED","replaceContent","scheduleNoMatchAnnouncement","cancelNoMatchAnnouncement","modifier","DEBOUNCE","delay","maxWait","NO_MATCH_ANNOUNCEMENT_DELAY","collate","queryDispatcher","inputVal","debouncedQueryDispatcher","pathParams","startActionType","resultsLoading","filteredUsers","newMatchList","textCommands","hotkeys","updatedHotkeys","cmd","commandId","filteredTextCommands","textCommandsFetched","_ref11","_ref12","templateMessage","_ref13","_action$payload2","_ref14","invokeAction","header","announcementMessage","textOverflow","whiteSpace","displayContent","customEvent","actionPayload","recommended","headingLabel","_ref15","_ref16","_activePrefix","_ref16$action","activePrefixPosition","selectedItemsState","_filterSelectedItemsF","changed","filtered","kept","exactPattern","startsWithPattern","filterSelectedItemsForValue","filteredSelectedItems","_ref17","_action$payload4","trailingInput","_action$payload4$sear","_getMatchListOffset","_properties$textComma","textCommandsConfig","recordTable","_ref18","hasDoubleSpaceEnding","trimmedSearchTerm","term","recordId","_properties$textComma2","query","_ref19","_action$payload5","searchSpace","valueUntilCursor","lastTriggerIndex","lastIndexOf","charBeforeTrigger","textAfterTrigger","prefixChar","mentionText","trimEnd","selectedMentionValues","textAfterMention","findSearchSpace","selectEndPosition","char","hotkey","prefixLength","_ref20","_ref21","_action$payload6","inputTillPrefix","cursorPosition","newSelectedItems","_ref22","textAreaValue","_ref23","_getNowTextareaShadow","destroyTextareaListbox","_ref24","_action$payload7","actionSource","_ref25","newIndex","_ref26","matchListMessages","init","loading","noMatches","renderer","isNewDropdown","hotkeyType","actionMessage","actionTemplateMessage","panelAriaLabel","renderDropdownList","_matchList$0$children","_matchList$highlighte","renderMessage","heading","level","illustration","alignment","disableMinHeight","_ref$formData2$showUn","_ref$color","hasMentions","comboboxAria","preventDefault","_matchList$2","handler","paste","onPaste","keypress","relatedTarget","capture","normalizedMentions","normalizeMentions","mention","variables","assertValidMention","searchDebounce","textCommandsTriggerConfig","enableTextCommands","shouldRenderWhenSet","responseTemplates","enableResponseTemplates","channel","formatNumber","parsedNumber","parseFloat","round","ConnectedInput","overrideDeclarativeActionsProps","onBlurProp","onChangeProp","innerRefProp","inputElement","shouldSkipWWNAToggle","isJournal","setInputElement","declarativeActionsProps","getPasswordField","manageInvalid","manageValue","disableUnmask","renderJournal","debounceAutosize","_event$target","_state$messages","_properties$messages","_properties$messages2","hasStateMessages","usePropertyMessages","nonErrorPropertyMessages","combineOnFocus","originalOnFocus","COMPONENT_PREFIX","NOW_INPUT_PASSWORD_VALUE_SET","NOW_INPUT_PASSWORD_INVALID_SET","NOW_TEXTAREA_INVALID_SET","NOW_INPUT_PASSWORD_INPUT","NOW_RECORD_INPUT_PASSWORD_RESET_EDITED","PASS2_REQUEST","PASS2_DATA_REQUEST_SUCCESS","PASS2_DATA_REQUEST_ERROR","PASS2_TYPE","passwordChangeEffect","pass2DataRequestGraphQL","updateProperties","_state$edited2","edited","_state$edited","effectProxy","password","fromHandleBlur","_properties$fieldRege","getSelectedItem","NOW_DROPDOWN_LIST_ITEM_CLICKED","NOW_INPUT_CHANGE","supportsDropdown","autocompleteOptions","filterStaticOptions","autocompleteMatchAnywhere","_ref$value","matcher","lowerCaseInput","opt","_target$shadowRoot$qu","getCursorPosition","_host$shadowRoot$quer2","nextItem","handleKeydownForSuggestions","filteredOptions","_properties$suggestio","_ref6$properties$sugg","_properties$suggestio2","charSet","isPasswordMasked","_ConnectedInputState","_ref$parse","_ref$format","withValueChangeCallbacks","ConnectedInputState","withStateBehavior","focusOnTrigger","focusOnNativeInput","withStateView","defaultConnectedInput","passwordStyle","autocomplete","mentionsLoading","inputActionHandlers","passwordBehavior","withAutocompleteBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect","COMPONENT_LOAD_COMPLETED","COMPONENT_LOAD_FAILED","COMPONENT_LOAD_REQUESTED","NOW_CODE_EDITOR_CONTENT_CHANGED","NOW_CODE_EDITOR_TEXT_EDITOR_FOCUS_CHANGED","SN_RECORD_INPUT_CONNECTED_VALUE_CHANGED","SN_RECORD_CODE_EDITOR_FOCUS_CHANGED","ERROR","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__","XMLValidator","workerFn","scriptImported","self","onmessage","_ref$data","_ref$data$payload","origin","script","linterConfig","importScripts","linter","eslint","Linter","postMessage","verify","instance","validateXML","lineNumber","endOfPrefix","validate","line","col","processLinting","lintWorker","Worker","createObjectURL","Blob","onComplete","updateErrorAndValue","_ref7$state$propertie","editorHeight","lineCount","createComponentLoaderEffect","editorLanguage","_errors$filter","severity","isConditionString","condition","removeCommentsFromClientScript","validateConditionString","column","validateScript","_ref$state","isXMLView","isClientScript","recordScope","autocompleteSuggestions","isLargeField","showTextEditor","propertiesWithoutOnValueChange","_objectDestructuringEmpty","scriptField","recordType","readOnly","scrollBeyondLastLine","scope","generateAction","tooltipMap","incident","labelPlural","problem","change_request","outages_past","outages_current","outages_planned","changes_past","changes_current","changes_planned","FETCH_XML","FETCH_CONTENT_TREE_SUCCESS","FETCH_CONTENT_TREE_FAILURE","FETCH_CONTENT_TREE_ERROR_MSG","SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED","NOW_CONTENT_TREE_EXPANDED_ITEMS_SET","NOW_CONTENT_TREE_LOADING_REQUESTED","NOW_CONTENT_TREE_ITEM_CLICKED","NOW_CONTENT_TREE_SELECTED_ITEMS_SET","NOW_CONTENT_TREE_ACTION_CLICKED","PRIVATE_EXPANDED_ITEMS_SET","PRIVATE_LOADING_REQUESTED","SN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER","TABLE_CI","TABLE_GROUP","SELECT_SINGLE","NO_VARIABLES_AVAILABLE","CONFIGURE_TABLE","TABLE","dispatchItemClickedWithPayload","dispatchFetchXML","treePickerConfig","domainId","variablePicker","params","processor","sysparm_reference","sysparm_dependent_value","sysparm_domain","sysparm_query","nameSuffix","relType","sysparam_item","sysparam_path","_treePickerConfig$par","_action$payload$item$","sysparm_type","sysparm_chars","sysparm_target","sysparm_scope","sysparm_want_session_messages","sysparm_include_sysid","sysparm_table_name","sysparm_is_template","sysparm_apply_template_acls","sysparm_value","sysparm_is_excluded_role","sysparm_synch","sysparm_flag_indexed","_action$payload3","fetchContentTreeEffect","handleLoadingRequested","_state$properties3","select","loadingItemsPath","treeIndex","handleExpandedItemsSet","expandedItem","targetPath","treeItems","loadingItems","_state$properties2","_state$expandedItem","_state$selectedItem","_state$parentItem","comment","expandItem","request","itemPath","isCiTree","treeJson","pathUpdated","parseGroupTree","root","relTypes","relTypeIndex","ciTypes","ciTypeIndex","ciType","ciIndex","sysID","parseCITree","parseGeneralTree","updatedNodes","updateSelectedItemAfterExpanding","tree","parentId","parentItemPath","currentItemExpanded","ind","start","deleteCount","toBeExpandedItem","selectedItemPath","_state$properties4","isSelected","dispatchItemClicked","popoverOpen","popoverTarget","actionTarget","popoverContent","_ref7$action$payload","popoverStyle","targetFor","closePopover","dependentDisplayValue","_state$loading","_state$popoverOpen","_state$popoverTarget","contentTreeVariablePicker","showDividers","contentTreeGeneral","contentTreeCi","elm","positionTarget","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__","formatQuery","g1","g2","makeQuery","operationName","referenceConnectedVariables","chars","ignoreRefQual","paginationLimit","sortBy","orderByDisplayColumn","getResponseReference","referenceDataRetriever","referenceDataList","referenceData","getReferenceConnectedQuery","makeParams","getResponseChoice","choiceDataRetriever","getChoiceConnectedQuery","hideCaret","manageOpened","manageSelectedItems","manageable","serverFormatRegex","floatFormatRegex","parseSeparator","replacement","regex","currencyCode","_getLocaleNumberSepar","floatFormat","strip","sanitizers","processedValue","sanatizedValue","parser","formatServer","INTERNAL_ON_BLUR","HOLD_RAW_FORMAT_LATER","normalizeCurrencyValue","displayString","defaultCurrency","singleCurrency","valueOnly","currentCode","getFallbackCurrencyDisplay","getSublabel","enableSubLabel","normalizeCurrencyCodes","currencyCodes","normalizedCurrencyCodes","formatCurrency","useAllFractionsDigits","minFractionDigits","maxFractionDigits","formattedCurrency","serverFormat","serverFormatMatch","_serverFormatMatch","minimumFractionDigits","maximumFractionDigits","formatOptions","useGrouping","formatToParts","resolveAriaProps","_props$ariaLabel","_props$ariaLabelledby","_props$ariaDescribedB","onSelectChange","_normalizedCurrencyCo","isPrice","enableSearch","sizeProp","nameProp","validationMessages","checkCurrencyInput","_parsedValue$split","_parsedValue$split2","wholePart","fraction","isSafeInteger","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","tabIndex","currency","renderDeclarativeActions","COMPONENT_RENDER_REQUESTED","_formatCurrency","validateAndDispatchError","isBlurCheckPending","isObjectNotEmpty","_ref2$action","previousRenderProperties","nextCurrencyCodes","restOfNextProps","oldCurrencyCodes","restOfOldProps","computed","dropdownOpen","navigator","defaultDateTime","utcOffset","getFormat","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__","DateTypes","isDateTimeValueValid","localeContext","parseTZ","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__","isAfter","isBefore","isSameDay","isWithinInterval","WEEKLY_FORMAT","WEEKLY_ISO_FORMAT","MONTHLY_FORMAT","YEARLY_FORMAT","QUARTERLY_FORMAT","DEFAULT_DATE_TIME_FORMAT","DEFAULT_DATE_FORMAT","DEFAULT_REPLACEMENTS","YYYY","DD","Q","ww","WW","YY","Y","D","WEEKLY_TYPE","MONTHLY_TYPE","YEARLY_TYPE","QUARTERLY_TYPE","STANDARD_TYPE","WEEKLY_ISO_FIRST_DAY","MOMENT_WEEK","MOMENT_ISO_WEEK","MOMENT_WEEKLY_FORMAT","MOMENT_WEEKLY_ISO_FORMAT","MOMENT_MONTHLY_FORMAT","MOMENT_YEARLY_FORMAT","MOMENT_QUARTERLY_FORMAT","NOW_DATE_TIME","LOCALE_WITHOUT_FULL_SERVER_SUPPORT","DATE_PICKER_OPENED_SET","FETCH_SERVER_DATE","FETCH_SERVER_DATE_SUCCESS","FETCH_SERVER_DATE_FAILURE","FETCH_SERVER_DATE_ERROR_MSG","NOW_DATE_PICKER_SAVE_VALUE","NOW_DATE_PICKER_ON_OK","NOW_DATE_PICKER_ON_CANCEL","NOW_DATE_TIME_FOOTER_ACTION_CLICKED","NOW_DATE_TIME_OPENED_SET","NOW_DATE_TIME_VALUE_SET","NOW_DATE_TIME_INVALID_SET","UPDATE_SAVE_PENDING","FetchServerDateEffect","savePending","actualValue","actualFormat","errorId","bottomBar","timePicker","hasTimePicker","pendingValue","isValueTrue","pendingValueToUpdate","valueToUpdate","_ref5$state","answer","isInitialValueNeeded","getDateObject","isValid","focusInput","valuePayload","originalFormat","updatedFormat","datfnsFormat","getDateFnsFormat","updatedValue","fnsFormat","useAdditionalWeekYearTokens","showBottomBar","_dateObj","_dateObj2","inputStr","dateObj","getDateObjectWithTz","isoDate","disabledDates","dateFnsFormat","isWeekYearToken","isStrictCheck","isDateIncluded","valueOf","selectedTimeValue","fetchServerDate","getWeekType","datesToLookFor","checkDate","parseOptions","compareRange","compareDate","end","before","beforeDate","after","afterDate","hasTime","formatWithReplacements","replacedFormat","_ref3$isoWeek","Constants","valid","saveValue","dt","dateFromFormat","browserOffset","getTimezoneOffset","utcTime","onInputChange","onInputBlur","_event$relatedTarget","firstDayOfWeek","_properties$color","yearRange","isReadonly","firstDay","footerActions","updatedDisableDates","calendarType","getType","_typeMappings$type","weekly","monthly","yearly","quarterly","updatedPendingValue","showDefaultFooterActions","disabledItems","oninput","onblur","hideFooter","panelFitProps","relative","reflect","INVALID_MOMENT","STANDARD_VIEW_TAG","MAX_DAYS_IN_ADJACENT_NEXT_MONTH","MONTHLY_VIEW_TAG","YEARLY_NUM_ROWS","YEARLY_YEARS_PER_ROW","YEARLY_VISIBLE_YEARS","YEARLY_VIEW_TAG","QUARTERS_ARRAY","QUARTERLY_VIEW_TAG","AFFIRMATIVE_KEYS","NAVIGATION_KEYS","CUSTOM_PRESET_LABEL","SET_VISIBLE_YEAR","INIT_HIGHLIGHTED_DATE","SET_DATE","DEFAULT_RESPONSE_FORMAT","ARIA_LABEL_DATE_FORMAT","getDateRangeRows","disabledDays","grid","firstOfThisMonth","daysNeededLastMonth","daysThisMonth","daysInMonth","daysNeededNextMonth","lastDayLastMonth","subtract","prevMonth","thisMonth","nextMonth","getDateRange","adjacentMonthDay","DaysOfWeek","_ref$firstDayOfWeek","weeklyView","adjustWeekForYearOverlap","weekType","firstOfNextYear","isSame","handleKeyPress","keymap","highlightedDate","ctrlKey","isReversed","currentDate","isSameOrAfter","isSameOrBefore","getDisabledDays","monthStart","startOf","monthEnd","endOf","dateElement","startOfWeek","endOfWeek","isBetween","dates","startInMonth","endInMonth","monthInRange","maxStart","minEnd","endDay","startDay","_ref2$isoWeek","getDisabledYears","years","yearsInView","yearStart","yearEnd","beforeYear","afterYear","getDisabledQuarters","currentYear","yearPart","disabledQuarters","quarterStart","quarterEnd","disabledQuarter","startInYear","endInYear","quarterIndexes","beforeQuarter","afterQuarter","getDisabledMonths","disabledMonths","disabledMonth","monthIndexes","UNIT_LIMITS","hours","minutes","seconds","milliseconds","UNIT_TOKENS","unitKey","allowedLengths","to24Hour","createTime","initialTime","use24Hour","getTimeSegments","limit","unitName","_properties$format","_UNIT_TOKENS$unit","getUnitLength","hasSeconds","_props$format","hasMilliseconds","NOW_RECORD_TIME_ON_GROUP_BLUR","INVALID_TIME_MESSAGE","stringValue","hasParentFocus","newTime","timeSegments","paylaodEvent","relativeTime","isValidTime","isTimeValid","defaultZeros","getTimeString","UNIT_NAMES","DISPLAY_UNIT_NAMES","TIME_INPUT_LIMITS","_helpers$updateState","separator","persist","pickerNode","isFirstInput","fieldLabel","timeUnit","payloadEvent","SCHEDULE_PRESET_LABEL","TIME_PRESET_GROUPS","TIME_AGO_PRESETS","between","getTimeAgoGroups","timeAgoPresets","timeAgo","getTimeAgoByLabel","getTimeAgoCustom","getTimeAgoByValue","PRESET_SELECTED","PRESET_VALUE_CHANGED","PRESET_MESSAGE_UPDATED","FETCH_CALENDAR","FETCH_CALENDAR_SUCCESS","FETCH_CALENDAR_FAILURE","FETCH_ABSOLUTE","FETCH_ABSOLUTE_SUCCESS","FETCH_ABSOLUTE_FAILURE","TimeAgoButton","_ref$isCustom","isCustom","handleTimeAgoSelect","handleSelection","tabindex","AccordionItems","presetGroups","selectedTimeAgo","timeAgoGroupItems","getTimeAgoByGroup","itemInGroup","isTimeAgoInGroup","weight","dispatchTimeAgo","presetSelected","fetchCalendarEffect","fetchAbsoluteEffect","_action$payload$timeA","absolute","from_date","to_date","_ref2$properties$valu","_ref2$properties$tabl","table_name","schedulePresets","respObj","scheduleGroupObj","dateChoiceDisplayValues","scheduleGroups","g","timeAgoDates","schedulePresetObj","preset","getBusinessCalendars","_ref3$state$propertie","_ref3$state$selectedT","fromDate","absoluteStart","absoluteEnd","_ref4$state","_ref4$state$selectedT","customTimeAgo","infoMessage","MONTH_OUTER_WRAPPER_CLASS","MONTH_VIEW_COMPONENT","RECORD_CONTROL_COMPONENT","RECORD_DROPDOWN_INTERNAL_COMPONENT","SN_MONTH_HEADER","nextFocusControlElement","currentTarget","rightMonth","controlToFocus","headerControls","nowControlToFocus","querySelectorAll","headerControlToFocus","handleRangePickerMonthTab","rangePickerRef","nextCtrlWrapperLeft","nextCtrlWrapperRight","nextCtrlWrapper","nextDayCtrl","navClass","monthViews","nextFocusElemSelector","weekFormat","VIEW_NEXT_MONTH","VIEW_TODAY","VIEW_PREV_MONTH","updatedDate","onChangeMonth","_ref$properties$enabl","enablePreviousMonthControl","_ref$properties$enabl2","enableNextMonthControl","rangePicker","_ref$properties$isoWe","shiftKey","YearLabel","_ref$enablePreviousMo","_ref$enableNextMonthC","_ref$enableMonthNavig","enableMonthNavigationChevrons","firstYear","VISIBLE_YEARS_DELTA","handleRangePickerYearTab","monthOuterWrapper","nextctrl","KEYMAP","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","PageUp","months","CtrlPageUp","PageDown","CtrlPageDown","Home","End","Enter","Spacebar","_document","_event$currentTarget","onSelectDate","onHighlightedDate","onEndDayHover","parentRef","nextDate","dayToFocus","nextFocusDayElement","_parentRef$parentNode","rangePickerParentElement","snMonthViewElements","_dayToFocus","dayToFocusDisabled","ariaDisabled","StandardGrid","mouseDown","hasGridFocus","visibleMonth","showAdjacentMonthDays","hoverEnd","autoSelectDatesCount","MonthGrid","onDayHover","hoverDate","_ref2$visibleMonth","_ref2$start","_ref2$end","_ref2$format","_ref2$firstDayOfWeek","_ref2$hoverEnd","normalizeDate","normalizedStart","normalizedEnd","normalizedHoverEnd","none","onlyStart","weekIndex","normalizedVisibleMonth","isCurrentDate","isPreview","isInsideRange","isHighlighted","isToday","showDay","focusable","isDayFocusable","isAdjacentMonthDay","currentMonth","isDateInAutoSelectRange","dateSelected","dateInRangeSelected","handleRangePickerDayTab","footer","confirmation","Week","disabledWeek","_ref$isWeekInRange","isWeekInRange","isDisabled","WeekNumber","weekNumber","WeekRow","adjacentWeek","weekOfYear","firstVisibleDate","weekStart","calculatedYear","newDate","handleMouseEnter","selectedDate","endOfSelectedWeek","endOfYearOutlier","handleMouseLeave","Weeks","_ref$visibleMonth","_ref$start","_ref$end","_ref$hoverEnd","normalizedCurrentDate","normalizedCurrentDateEnd","dayStartObj","dayEndObj","normalizedVisibleStart","normalizedVisibleEnd","dayDisabled","daysOfCurrentWeek","wk","isCurrentWeek","visibleStart","WeeklyGrid","weekCurrent","weekCurrentDay","handleRangePickerWeekTab","prevCtrlWrapper","prevctrl","weekToFocus","nextFocusWeekElement","on-mousedown","on-focus","on-blur","GridWrapper","onControlExit","_props$start","_props$end","_props$visibleMonth","_props$showAdjacentMo","_props$weeklyView","gridProps","updateSate","ON_DATE_CHANGE","ON_SELECT_DATE","isStandardOrWeeklyType","initCurrentDate","updatePopover","initValue","embedded","onDateChange","replaceAll","ON_CHANGE_MONTH","initialDate","_ref6$action$payload","disabledDatesForMonth","daySelected","dateInUpdatedFormat","isValidDate","onTimeChange","onCancel","onOk","hasFooter","CalendarBody","QuarterlyGrid","displayedYear","highlightedQuarter","hoveredQuarter","isRangePicker","isFocusedFromClick","disabledLeftQuarters","disabledRightQuarters","getQuarterGrid","_ref2$selected","isYearAndQuarterSame","currentQuarter","isCurrentQuarter","_selected","isInRange","handleQuarterSelection","updateHighlighted","leftQuarterGrid","rightQuarterGrid","onkeydown","nextHighlightedQuarter","increment","getNextHighlightedQuarter","resetHighlighted","VIEW_NEXT_YEAR","VIEW_CURRENT_YEAR","VIEW_PREV_YEAR","YearSelect","selectedYear","prevChevron","nextChevron","YearNavigation","_ref3$readonly","nextYear","newYear","currentHighlightedQuarter","_ref$properties$forma","visibleYear","propsValue","_ref$highlightedQuart","_ref$hoveredQuarter","BottomBar","calendarViewBehavior","YearlyGrid","hoveredYear","highlightedYear","isYearClicked","lowerYear","upperYear","yearRows","disabledYears","nextHighlightedYear","getNextHighlightedYear","handleFocus","visibleRange","row","yearBeingConsidered","focusedYear","handleYearSelection","updateHovered","VIEW_NEXT_YEARS","VIEW_PREV_YEARS","YearlyHeader","_ref$readonly","CURRENT_YEAR","MIN_VISIBLE_YEAR","MAX_VISIBLE_YEAR","currentHighlightedDate","_ref$action$payload$v","Yearly","_ref$highlightedYear","_ref$hoveredYear","isVisible","MonthlyGrid","highlightedMonth","hoveredMonth","monthRows","disabledLeftMonths","disabledRightMonths","getMonthGrid","rowIndex","monthIndex","isYearAndMonthSame","monthBeingConsidered","isCurrentMonth","handleMonthSelection","leftGrid","rightGrid","nextHighlightedMonth","getNextHighlightedMonth","currentHighlightedMonth","_ref$highlightedMonth","_ref$hoveredMonth","CalendarView","derivedValue","Tag","parentOnOk","parentOnCancel","sourceField","rtlBehavior","Standard","constants","GRID_EVENTS","TRY_CLOSE_DROPDOWN","TRY_SET_END_STATE","DATE_INTERVAL_SOURCE_END","DATE_INTERVAL_SOURCE_START","TIME_FORMAT_PATTERN","TRIGGER_ID","ENDPOINT_BUSINESS_CALENDAR","ENDPOINT_TIMEAGO_ABSOLUTE","NOW_DATE_TIME_PRESETS_PRESET_CLICKED","validRange","startDate","endDate","invalidFormatError","invalidError","invalidRangeError","_ref2$type","defaultFormat","momentFormat","getErrors","startError","endError","isValidRange","isInvalid","dateToCheck","initDate","otherDate","inValid","createInvalidationChecker","getVisibleMonth","applyTransformations","_ref$inclusive","inclusive","transformations","mapAbsolutePresets","absolutePresets","_ref3$selectedTimeAgo","selectedLabel","selectedGroup","absolutePreset","groupLabel","presetType","SOURCE_FIELD_START","SOURCE_FIELD_END","SET_START_STATE","SET_END_STATE","SET_START_AND_END","SET_START_AND_END_STATE","SET_PENDING_START_STATE","SET_PENDING_END_STATE","SET_LAST_VALID_STATE","SET_VISIBLE_MONTH","SET_HOVER_END_DATE","SET_SOURCE_FIELD","TOGGLE_DROPDOWN","SET_HIGHLIGHTED_DATE","NOW_DATE_TIME_INTERVAL_OPENED_SET","NOW_DATE_TIME_INTERVAL_VALUES_START_END_SET","NOW_DATE_TIME_INTERVAL_FOOTER_ACTION_CLICKED","NOW_DATE_TIME_INTERVAL_INVALID_SET","UPDATE_TIMEAGO_PRESETS","dateString","getInitialState","propertyChanged","presets","pendingStart","pendingEnd","lastValidRange","_applyPreset","_find","_find$start","_find$end","applyPreset","requireConfirmation","timeAgoLabel","handleNowDateTimeIntervalSetEffect","startValue","endValue","_properties$disabledD","getInitialStateEffect","createDispatchValueEffect","createPayload","newRange","isoStart","isoEnd","toISOString","currentSourceField","_action$payload3$sour","popoverOpened","originalStart","originalEnd","_ref10$properties$mes","_action$payload8","valueStart","valueEnd","_action$payload9","selectedPresetIndex","selectedGroupLabel","timeAgoByGroup","ensureObjectWithValueProperty","pickerConfirm","focusControlButton","controlButton","fromRef","toRef","updateEndHoverValue","isOutlier","vMonth","nMonth","_ref2$properties$week","_ref2$properties$isoW","leftVisibleMonth","rightVisibleMonth","defaultDateLabel","updateDate","currentStart","currentEnd","fromTime","getNewDate","normalizedDate","currentTime","editState","noneSelected","onlyStartSelected","onlyEndSelected","isStartAndEndSelected","tryCloseDropdown","createUpdateDateFunction","Start","defaultPresets","_state$startError","_state$endError","labelEnd","enableSameDay","applyLabelValue","hideAdjacentDates","enablePresets","activePreset","customPresets","showPresetGroups","schemas","selectedTimeAgoPreset","days","Infinity","normalizeState","maxUnit","carry","minValue","nextCarry","nextUnitName","parseValue","durationString","dateValue","normalizeDurationValue","isNegativeDuration","_state$onValueChange","hideUnitLabels","secondsReadOnly","formatValue","_map","_map2","normalizedState","maxUnitIndex","childId","durationUnit","SNDuration","_state$properties2$co","_state$properties2$fo","_state$properties2$fo3","hideEmailIconProp","hideEmailIcon","tooltipLabel","renderEmailTrigger","EMAIL_PLACEHOLDER","parsingError","_props$fieldRegex","DEFAULT_MAX_HEIGHT","DIVIDER_STYLES","handleResizeObserver","resizeObserverForTreeContainer","disconnect","treeEl","ResizeObserver","observe","_ref9$properties","COMPONENT_DOM_TREE_READY","textAreaField","COMPONENT_TREE_RENDERED","_ref0$properties","stackContainerValue","stackContainer","_host$shadowRoot$quer3","contentTreeParentDiv","COMPONENT_DISCONNECTED","_ref6$action","_ref8$action$payload","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__","SnEmailScript","messagesContent","TextArea","contentTree","dividerStyles","defaultDividerPosition","actionHandler","resizeBehavior","timer","wait","HIDE_DROPDOWN","FieldAndDropdownWrapperSeismic","controlRef","dropdownRef","FieldAndDropdownWrapper","dropdownVisible","setProperty","dropdownElement","prevProps","ignoreDropdown","firstChild","removeProperty","_this$props","hasHover","setDropdownRef","normalizeFieldListDisplayValue","labelsWithPaths","labelPath","fieldLabels","singleLabel","displayValuesWithPath","preventManualInput","NOW_MODAL_OPENED_SET","SELECTED_ITEM_SET","ADD_BUTTON_CLICKED","EDIT_BUTTON_CLICKED","COMPONENT","VALUE_CHANGED","UPDATE_VALUE","CLICK_TO_ADD_LABEL","OPEN_LIST_LABEL","OK_LABEL","CANCEL_LABEL","MODAL_SUB_HEADER_LABEL","REQUIRED_STR","OPEN_MODAL_ACTION","FETCH_DISPLAY_COLUMN_DATA","FETCH_DISPLAY_COLUMN_DATA_SUCCESS","FETCH_DISPLAY_COLUMN_DATA_FAILURE","FETCH_DV_DATA","FETCH_DV_DATA_SUCCESS","FETCH_DV_DATA_FAILURE","RESULTS_PATH","buttonClickedEffect","fetchDisplayColumnEffect","fetchEffect","stateDisplayValue","selectedItemsStaged","_action$payload$name","updatedProperty","value1","value2","showTableDefaultDisplayColumn","isDependentValueEmpty","referenceFieldTableName","allowExtendedFields","liveUpdateFieldValue","hasLiveUpdateData","_getSelectedValues","getSelectedValues","_ref6$state$propertie","_results$","tableDisplayColumnValue","tableDisplayColumnLabel","_ref0$displayValue","AVAILABLE_LABEL","SELECTED_LABEL","LIST_SELECTOR_SELECTED_ITEM_SET","convertSelectedItemsToStateFormat","itemsPath","generateSelectedItemObject","convertSelectedItemsToEventFormat","_ids","ref_prefix","columnName","log","updatedSelectedItems","includeSysId","availableLabel","mode","showExtendedFields","_state$opened","editable","addMissingMessage","showAddLink","modalOpened","displayColumnLabel","displayColumnName","currentDisplayValue","recents","suggestedOptions","selectedOption","secondaryData","initialSearchComplete","makeItemsObject","headerMessage","secondaryLabelDelimiter","optionSysId","secondary","secondaryValue","NowTypeahead","configMessages","totalMatchesCount","dAProps","loadingMessage","maxSearchMatches","totalMatchesCountHeaderMessage","getConfigMessages","totalMatchesCountHeaderMSG","getHeaderMessage","optionsNew","manageSelectedItem","LOW","resultsCount","onEnter","searchUsingStartsWith","searchOnClick","extraSelectedPills","onCustomPillsChange","extraPillsSet","newItem","recentsMsg","makeItemsObj","parentOnValueChange","NowTypeaheadMultiple","showDeclartiveActions","recentItems","searchItems","currentlySelectedItems","FETCH_DATA_START","queryBaseFetchDataEffect","headerList","isSearching","errorType","QUERY_BASE_BEHAVIOR","UPDATE_STATE","ON_INPUT_BLUR","RUN_READ_QUERY","runReadQuery","getVariables","searchCancelable","__unstableDisableBatching","getPillWarning","disableDisplayValueWarning","badPills","queryBaseMapResults","totalCount","selectedValues","removeSelected","setInitialQueryBaseState","handleEmptyValue","multiSelection","customPills","displayWarning","initialDomainIdFieldValue","initialDomainIdFieldDisplayValue","fullDisplayValue","disableEmailFreeformEntry","noEmail","assertValidOptions","isValueInResults","_queryBaseMapResults","newCustomPills","onSelectOption","_queryBaseMapResults2","foundOption","updateComponentState","GlideQueryBase","_queryBaseState$input","queryBaseState","_ref$items","filteredItems","revisedChars","_item$displayValue","secondaryValues","filterSuggestions","assertValidProperties","toMessageArray","onInputValueChange","_props","addPills","_toValues","emitPillChange","isActive","getReferenceMultiple","_props3","_queryBaseState5","getReference","_props2","includeHeaders","_queryBaseState3","_queryBaseState4","domainIdMessage","allPills","_this$state","_this$mapResults","onlyOption","_this$props2","_this$state2","_this$state3","_this$props3","_this$state4","assertValidProps","_this$props4","_this$state5","_this$mapResults2","isinternationalizedEmail","referenceAddon","searchAddon","hideReferenceIcon","referenceAddonReadonly","disableReferenceQualifier","queryBaseActionHandlers","dictionarySorted","useFieldNameAsKey","realData","additionalQueryString","resultLimit","starPrefixRegex","strippedInputVal","nameMatch","baseConditions","conditions","GlideQueryBaseSeismic","VALUE_SELECTED","queryBaseBehavior","UPLOAD_ATTACHMENT_BUTTON_CLICKED","POST_ATTACHMENT_QUERY","POST_DATA_SUCCESS","POST_DATA_FAILURE","BUTTON_CLICKED","MODAL_BUTTON_CLICKED","FILE_RENAME_INPUT","MODAL_OPEN_CHANGED","UPDATE_FILE_NAME","RENAME_SUCCESS","RENAME_FAILURE","NOW_BUTTON_BARE_CLICKED","ATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED","ATTACHMENT_REPLACED","INPUT_CHANGED","CANCEL_STR","DOWNLOAD","RETRY_UPLOAD","FILE_STRINGS","attach","deleteLabel","deleteMessage","noContent","uploading","virus","USER_IMAGE_STRINGS","MODAL","Delete","Edit","getExtensionFromFileName","ext","getFileNameOnly","fileName","createError","getInputNode","fileAttachmentHostNode","postAttachmentEffect","dataParam","updateAttachment","attachmentReplacedEffect","tableSysId","extensions","maxAttachmentSize","scheduleForCleanup","selectedFile","file_name","fileContent","isInvalidFileType","modifiedExtensions","attachmentLoading","modifiedTableName","FormData","append","_action$payload$resul","content_type","contentType","newFileName","replaced","canEditName","virusState","virusDetected","fieldStrings","modal","_state$properties5","oldSysId","_state$properties6","_state$properties7","click","focusElement","inputNode","file","files","FieldActions","buttons","download","sync","edit","editButton","editModal","editLabel","renameContent","deleteButton","deleteModal","onclick","downloadAttachment","dispatchAttachmentPreview","canDelete","_state$properties4$fo","_state$properties4$fo3","classReadOnly","renderUploadingState","renderFailedState","_state$fieldStrings","inputAriaConfig","fieldState","renderEmptyState","renderVirusState","isFile","renderSuccessfulState","showTooltip","attachmentActions","SN_RECORD_CHOICE","NOW_DROPDOWN_CUSTOM_TARGET","SELECTED_ITEMS_SET","OPENED_SET","focusTrigger","_action$payload$items","dispatchOnValueChange","isDropdownOpen","ITEM_CLICKED","isFocused","getAccessibilityAttributes","propAriaLabelWithSelectedChoice","accessibilityAttrs","ariaAttributes","renderTrigger","renderReadOnly","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__","POST_DATA_START","POST_DATA_PROGRESS","GET_ATTACHMENTS_DATA","GET_ATTACHMENTS_SUCCESS","GET_ATTACHMENTS_FAILURE","EDITOR_ON_CHANGE","EDITOR_ON_KEYDOWN","EDITOR_ON_BLUR","EDITOR_ON_FOCUS","EDITOR_ON_CLICK","EDITOR_SET_CONTENT","EDITOR_SET_FOCUS","EDITOR_ON_RESIZE","INSERT_PILL","INSERT_CONTENT","CODE_BLOCK_PATTERN","PLUGIN_BLOCKLIST","OBSOLETE_PLUGINS","REQUIRED_PLUGINS","EDITOR_VERTICAL_RESIZE_TYPE","EDITOR_LINE_MARGIN","EDITOR_FONT_HEIGHT","EDITOR_TOOLBAR_HEIGHT","EDITOR_STATUSBAR_HEIGHT","SETUP_TINYMCE_EDITOR","DEFAULT_FONT_FAMILY","DEFAULT_FONT_SIZE","DEFAULT_MIN_HEIGHT","DEFAULT_HEIGHT","VALID_LINK_TARGETS","MAXIMUM_DOM_PARSING_DEPTH","TEXT_AREA_ID_PREFIX","DEFAULT_ARIA_LABEL","TOOLBAR_INSTRUCTION_TEXT","FIT_TO_PARENT_OPTION","_tinymce$settings","settings","removeTinymceEditor","editor","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__","applyDarkSettings","_do_not_use_is_dark_theme","isRegistered","theme","BACKGROUND_PRIMARY","NEUTRAL_0","NEUTRAL_20","_theme$BACKGROUND_PRI","rgbValues","_theme$BACKGROUND_PRI2","calcLum","pow","isDark","variantMappings","neutral","yellow","magenta","pink","orange","brown","green","blue","getThemeVars","reduceToCssVars","themeVars","css","customVar","px","rgb","getMappedThemeDefinitions","_props$variant","cssVars","NDSCssVarMap","applyTheme","doc","getDoc","nodeFound","head","prepend","NDS_INTERNAL_THEME_UPDATE_ACTION","tinyMceThemeBehavior","themeBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","handleShortcutKeyDown","REPLACE_REGEX","overrideAddCacheSuffix","__sn_addCacheSuffixOverwritten","oldAddCacheSuffix","util","Tools","_addCacheSuffix","RENAMED_PLUGINS","imagetools","toc","RENAMED_TOOLBAR_ITEMS","formatselect","fontselect","fontsizeselect","styleselect","tocupdate","uniq","uMap","splitPlugins","splitToolbars","renameToolbar","replacementMap","toolbar","funcs","transformPlugins","plugins","renameMap","TinyMCEV5CompatibleMode","validPlugins","validButtons","modifiedValidPluigins","modifiedPlugins","modifiedValidButtons","transformValidButtons","modifiedToolbar","renameToolbarGroup","toolbarItem","transformToolbar","PLUGIN_NAME","_nowAssistConfig$cont","active","getFieldNowAssistContextMenuSettings","_props$nowAssistConfi","_props$nowAssistConfi3","now_assist_context_menu","fieldMeta","skillConfig","assetLoader","getFieldNowAssistContextMenuExternalPlugin","getPredictiveTextSettings","_ref2$nowAssistConfig","predictiveText","isPredictiveTextEnabled","predictive_text","checkIfPluginIsActive","pluginName","getSmallestLineHeight","lineHeights","iterateAllValidNodes","cnt","fontSize","childNode","innerText","lineHeight","getElementDetails","elementHeight","computedStyle","getPropertyValue","isParagraphOrList","elementHasNonTextContent","smallestLineHeight","numOfLines","getEditorDynamicInfo","currentLineCount","isUlOrOl","listElements","listElement","elementDetails","margin","getDimensionInfo","minLineCount","dim","min_height","max_height","linesBasedHeight","filterItems","validItems","getItems","stripCodeBlocks","swapDivsWithSpans","htmlString","tempDiv","divTag","spanTag","replaceWith","setEditorStyle","fonts","tinymceIframe","customStyleTag","_tinymceIframe$queryS","fontList","entry","parseFontFamilies","DEFAULT_BODY_STYLES","getAttachmentListHandler","baseURL","mapAttachments","attachment","success","activeEditor","setProgressState","table_sys_id","attachments","uploadHandler","getNameCb","blobInfo","failure","isValidFileExtension","allowedExtensions","filename","blob","filePickerHandler","cb","filetype","onchange","reader","FileReader","onload","blobCache","editorUpload","base64","blobUri","readAsDataURL","onSetup","contentStyle","on","lang","iframeElement","resetUndoStack","initialContent","getBody","editorContainer","showToolbar","_editor$editorContain","addCommand","iframeBounds","getContentAreaContainer","iframeShouldScrollDown","iframeShouldScrollUp","getContainer","minPortionToView","pageShouldScrollDown","pageShouldScrollUp","scrollIntoView","block","insertContentAndScroll","applyAutoresizeLineLimit","toolBarHeight","statusBarEle","statusBarHeight","contentMarginTop","contentMarginBottom","getContent","_editor$options","calculatedMaxHeight","calculatedHeight","childElements","lineElement","editorInfo","currentMaxHeight","_editor$options2","setupTinymce","_config","_config2","_config3","_config4","browserSpellcheck","enableMentions","powerPasteHtmlImport","powerPasteWordImport","powerPasteFilterInlineElements","convertBlobsToBase64","forcedRootBlock","newlineBehavior","defaultLinkTarget","TOOLBAR_BLOCKLIST","toolbarItems","tb","collapseToolbar","showBarsOnFocus","tinyTextCommandsConfig","sysMessages","triggerMessages","actionMessages","textCommandListHeader","getTextCommandsConfig","pluginItems","heightSettings","autoresizeSettings","autoresizeBottomMargin","autoresize_bottom_margin","getAutoresizeOptions","pb","zh","fq","nb","zt","getMappedLanguage","configProp","htmlEditorConfigs","menuConfigs","sn_mentions","cannotSeeRecordMsg","getA11yCheckerOptions","help_tabs","advlist_bullet_styles","auto_focus","base_url","branding","sn_convert_blobs_to_base64","browser_spellcheck","convert_urls","convertUrls","link_default_target","dialog_type","directionality","document_base_url","elementpath","extended_valid_elements","extendedValidElements","file_picker_types","font_family_formats","font_size_formats","highlight_on_focus","image_title","image_advtab","menubar","menu","insert","tools","help","pagebreak_separator","external_plugins","powerpaste_html_import","powerpaste_word_import","powerpaste_clean_filtered_inline_elements","promotion","relative_urls","relativeUrls","remove_script_host","removeHost","skin","statusbar","style_formats","suffix","text_patterns","link_target_list","toolbar_mode","valid_children","iframe_aria_text","file_picker_callback","images_upload_handler","blobname","setup","link_list","fix_list_elements","video_template_callback","poster","embedCode","altsource","media_alt_source","media_poster","sn_settings","image","showLibraryTab","showLocalsTab","mediaUploadHandler","a11y","showTooltipTitle","statusMessage","readonlyBottomBorder","fit_to_parent","disable_toolbar_toggle","contextmenu","forced_root_block","newline_behavior","automatic_uploads","eventPayload","closeNotification","editorNotificationsManager","close","progressActionType","getAttachmentsEffect","getEditorContent","useCodeBlocks","normalizeHtml","_div$textContent","COMPONENT_DOM_READY","NowHtmlEditor","onResize","onResizeEvent","onStagedValueChangeEvent","onValueChangeEvent","TinyMCEEditor","enableCodeBlocks","childProps","_properties$autoresiz","configMentions","insertPill","pillInfo","insertContentAtCursor","isValuePropertyChanged","allowBlockBasedAnchors","setContent","collapse","moveCursorToEnd","predictiveTextSettings","_editor$iframeElement","ariaLabelSegments","contentDocument","tinymceHeader","toggle","newClass","cls","setEditorBackgroundColor","_ref10$state","oldHeightProps","newHeightProps","_editor$theme","ui","resizeBy","editorBody","_ref14$action$payload","isOnChangeEventFromFocus","isOnChangeEventFromContentUpdate","setDirty","_ref15$action$payload","_ref15$state","isDirty","save","ownerDocument","_ref20$action$payload","_ref20$action$payload2","_ref20$action$payload3","undoManager","reset","notificationManager","open","timeout","progressBar","_action$payload$progr","progressEvent","loaded","total","pillContent","tooltipValue","contentToInsert","ignoreInlineAttachmentPrefix","fetch","resourceTable","resourceSysId","TINYMCE_THEME_BEHAVIORS","LiveUpdateMessage","hideValue","messageContent","controlButtons","rowData","numOfRows","noActions","keyReadOnly","addConfigAria","removeConfigAria","identifier","intent","lastRow","deleteRowButton","addRowButton","rowsHasKeys","valueReadOnly","NOW_INPUT_VALUE_SET","NOW_INPUT_INPUT","NAME_VALUE_VALUE_CHANGED","NAME_VALUE_DUPLICATE_SUFFIX","getRowInfoFromName","inputType","jsonParsedValue","arrayToValue","arr","duplicates","newKey","rowInfo","rowHasKeyAtIndex","internalValueCopy","rowsHasKeysCopy","focusSecondLastRowDeleteButton","indentifier","DROPDOWN_OPENED_SET","ITEM_SELECTED","PANEL_FIT_PROPS","transformedPayload","processedChoices","renderDisplayValue","intFormatRegex","decimal","isPercent","intFormat","floatMatch","intMatch","decimalValue","decimalLength","toFixed","moveDecimalOverTwoPlaces","HANDLE_INITIAL_VALUE","LONG_INT_MAX_LENGTH","DEFAULT_MAX_LENGTH","integer","percent","NumberFormatter","maxLength","skipHandleInitialValue","nanpFormatAlphaNumericRegex","phoneSeparatorRegex","someDigitsRegex","someLetterRegex","plusAtStart","leadingOne","convertAlphaToNumber","ensureValidValue","makeError","countryName","getE164Format","formatElement","conditionRegex","patternRegex","isFormatMatch","valueNoUsCode","_match","areaCode","firstDigits","lastDigits","phoneParts","removeCountryCode","countryCode","hasSomeDigits","alphaNumValue","isDigit","getPlaceholder","placeHolderPattern","inSquareBracket","inCurlyBracket","newPattern","patternToPlaceholderPattern","tinymceToolbar","getTinyMCEToolbar","getFirstDayOfTheWeek","controlOrSysProp","sysProp","controlPropValue","getRecordMembers","recordMembers","getCurrentUser","userSession","countryCallingCode","dateFormat","dateTimeFormat","timeFormat","timeZone","timeZoneOffset","getHelperContent","currentUser","userA11yPrefs","preference","isAccessibilityTooltipsEnabled","showFieldHint","getUserLanguage","fallback","userLanguage","mapDatePickerLocaleCodes","getTimeProps","adjustPropsForTimezone","fixLocale","formattedLocale","normalizeFormat","country","supportedLocalesOf","isSupportedLocal","resolveLanguage","systemLanguage","supportedLanguagesArr","getHtmlAttributes","getDictionaryAttrs","displayValueCanHaveText","_controlProps$type","localeValue","validDateObject","adjustTextValueForLocale","originalDisplayValue","updatedProps","transformValueForDaysOfWeek","getReferenceProps","refAcOrderBy","getDateFormat","keepOriginal","getTimeFormat","userTimeFormat","getDateTimeFormat","attributeValue","getEncryptedFieldLabel","originalLabel","encryptionName","isRefSearchOnClickSuppressed","getFieldNowAssistContextMenu","fieldNowAssistContextMenu","jsonString","safelyParseJSON","isApplicableField","_contextMenu$formfiel","formfieldsMapper","getCountryCode","_getCurrentUser","userSetCode","defaultCode","countryCodes","addPlusSign","addDisplayTrue","getAllCountryCodes","territories","addChoiceValue","countries","ccc","getCountryName","FETCH_PHONE_FORMATS","FETCH_PHONE_FORMATS_SUCCESS","FETCH_PHONE_TERRITORY","FETCH_PHONE_TERRITORY_SUCCESS","ON_SELECT_CHANGE","ON_PHONE_CLICK","phoneFormatGraphQLEffect","phoneTerritoryGraphQLEffect","queryConditions","countryCodeProp","queryValue","formatting","oldCountryCode","phoneAddon","phoneNumber","fullNumber","matchedCountry","countryCodeQueried","countryCodeFormats","shoudRender","countryCodeDisplayValue","getNumberValue","selectedCountryCode","adaptCountryCodes","numberMatch","PhoneFormatter","e164parse","isStrictEnabled","fullValue","e164Format","hasSomeLetters","stripSeparators","num1","num2","e164format","matchedFormat","sections","formatUsPhone","formatFetchState","formatFetchStatus","derivedDeclarativeActionsProps","formattedPlaceHolder","getFormattedPlaceholder","allCodes","renderCountryCodeDropdown","allowRelativeURL","_ref3$properties$valu","_ref3$properties$colo","_ref3$properties$form","_ref3$properties$form3","shouldDispatch","errorNotReadOnly","versionRegex","isVersion","_effectProps$properti","getResults","referenceList","referenceKeyValue","GLOABAL","matchesCount","referenceRecentDataList","getChars","_properties$sortBy","overrideReferenceTable","SET_INNER_REF","queryBaseActionHandlersData","desiredValue","fieldReference","userRoles","DISPLAY_VALUE_SEPARATOR","slushBucketFields","sbField","getDisplayValues","_item$","getValues","_item$2","setSlushBucketFields","slushFields","valueList","updatedSlushFields","availableItems","availableItemsUpdated","getAvailableItems","order","DAYS_OF_WEEK_OPTIONS","JAVASCRIPT","getRecommendations","recommendation","_recommendation$secti","_recommendation$items","_recommendation$empty","_recommendation$autof","getFormControl","_formFieldsData$field","_getAttribute","_formFieldsData$table","_formFieldsData$field2","_formFieldsData$table2","_formFieldsData$depen","_formFieldsData$table3","_formFieldsData$depen2","_formFieldsData$table4","_formFieldsData$field3","_formFieldsData$table5","_formFieldsData$depen3","_formFieldsData$table6","_formFieldsData$depen4","_controlProps$schedul","_controlProps6","_controlProps7","_controlProps$schedul2","_controlProps8","shouldRenderHiddenElement","getMessagesAndLiveUpdate","msgs","newMsg","setNewValue","userMention","controlChildren","validAttrs","sanitizeField","mandatory","shouldWrapFieldLabel","isLayoutHorizontal","isTemplateForm","formFieldsData","isToggleField","labelPos","getAttr","staticDependent","showConditionCount","allowedFields","allowRelatedListQuery","allowSort","useLegacyConditionBuilder","_controlProps","encryptionContext","basicDateTimeFormat","isBasicDateTime","_controlProps2","DEFAULT_VALUE","parsedOrginalValue","maxCharsBeforeHash","parsedCountryCode","parseCountryCode","parsedCode","dependency","requiresExistingRecord","vertical","_getAttribute2","ignoreRefQualifier","readonly_clickthrough","shortList","canRead","includeDefault","selectedOnly","noViews","noSystemTables","filterEntitledTables","showTableNames","showTableNamesOnLabel","tableChoicesScript","skipRoot","baseTable","allowPublic","skipScopeRestrictions","display_value_list","displayColumnValue","of","prepareDeclarativeActions","_controlProps$resizab","_controlProps3","ignoreMaxlengthVal","dynamicTranslationEnabled","_controlProps$resizab2","_controlProps4","READ_ONLY_FIELDS","_controlProps5","useHTML","supportedLanguages","defaultPlugins","isMultiText","htmlAttributes","knowledgeBlockStyles","systemLanguageScript","supportedLanguagesScript","dictionaryAttributesScript","htmlAttributesScript","isPlainText","dangerouslySetInnerHTML","__html","typeDisplayValue","dictAttributes","formDataForTemplate","getFormDataForTemplateValue","setHideValue","dualMode","inlineMode","autoStart","autocompletionSuggestions","defaultControl","getDefaultFormControl","isSupported","createFormControl","_getFormControl","radioOptions","VARIABLE_PICKER_SUPPORTED_FIELDS","SHOW_VARIABLE_PICKER","_properties$metadata","fromVariablePicker","variablePickerOpened","shouldTrack","_properties$metadata2","popoverVariablePickerBehavior","pickerConfig","RenderCustomPill","customPillRef","onPillDismiss","customTooltipHovered","pillRemoveTooltipVisible","_ref$canDismiss","canDismiss","setCustomPillRef","pillIcon","isCustomPill","interaction","hook-destroy","isCustomTooltip","CustomPillBehavior","FIELD_SELECTION","FIELD_SELECTION_ACTION_NAME","FIELD_SELECTION_PATH_UPDATE","searchDeclarativeAction","requiresValue","actionComponent","actionDispatch","actionAttributes","groupBy","assignmentId","confirmationRequired","confirmationMessage","modelConditions","payloadMap","createHandler","matchingType","transformer","handleGlideList","handleReference","handleRadio","radioChoices","getReferenceRecordId","fieldProps","empty","FilterButton","conditionsCount","ActionButton","isUnsupportedField","isButtonDisabled","processPillLabel","parts","prepareFormControl","isReadOnly","isHTMLScriptOrEmailScript","_fieldProps$formData","mapProps","showControlUnsavedIndicator","ColumnsChoiceListWithSearch","fieldAriaConfig","_fieldProps$formData2","showChoiceUnsavedIndicator","isNewField","FieldSelector","templateTableAndPageProp","showBadgeProp","FieldContent","propsWithConfigAria","variablePatternRegex","shouldRenderCustomPill","FieldValue","updateLabel","propsWithoutLabel","readOnlyDisplayValue","_fieldProps$fieldProp","hasFieldLevelConditions","templateVariablePicker","showVariablePicker","dependentFieldDisplayValue","renderPopoverVariablePicker","showNewTemplateRow","shouldShowRemoveButton","TemplateRow","isTextField","AddFieldRow","shouldDisplayAddButton","isLastTemplateRow","originalChoiceValue","originalControlValue","_state$properties$tem","originalConditions","showConditionUnsavedIndicator","shouldShowTemplateValueUnsavedIndicator","prepareFieldProps","_prepareFormControl","padBottom","DATA_REQUEST","DATA_REQUEST_SUCCESS","DATA_REQUEST_ERROR","SET_VALUE","pathToValue","WORKSPACE_TYPES","PREDICATE_MODAL_SET","PREDICATE_MODAL_CANCEL","PREDICATE_QUERY_UPDATED","calculatedFieldError","newFieldValues","getFieldWithError","formControlProps","constructValue","serializedValues","serializeValue","createField","shouldHide","callOnValueChange","convertChoiceToFieldValue","updateConsumerAndState","allChoices","createOriginalFieldsMap","originalValueFields","inputString","pair","equalIndex","cleanUpChoices","_ref5$allChoices","alreadySelected","dataRequestGraphQL","templateVarList","showConditionModal","selectedField","currConditionState","conditionsData","updatedVal","encodedQuery","condition_count","child_field","number_of_conditions","_payload$decodedQuery","_payload$decodedQuery2","decodedQuery","cnd","_cnd$field","editExistingField","choosenField","addedPayloadPath","valuesList","tableDisplayName","isLoadingNewField","tempNewFieldLabel","originalFieldsMap","_originalFieldsMap$ge","_originalFieldsMap$ge2","leftHandSideProps","allNewData","oldFieldValues","newFieldData","_ref9$oldFieldValues","listOfPreviousTypes","oldType","filterOutTypeChangedValues","isValueRemovedBecauseOfTypeChange","originalQueryString","newQueryString","_action$payload2$fiel","updatedCNdata","isPartial","queryString","_state$fieldValues","hasChanges","updatedFieldValues","currentField","originalField","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__","conditionBuilderConnectedBehavior","_state$behaviors$cond","infoMessages","panelDefinitions","tableMetadata","builderType","displayLabelOptions","metadataCache","showActionBar","showAddConditionSet","showGroupBy","showLoadFilter","showReferenceLookup","showRelatedListConditions","showSaveFilter","showSortBy","isUnsupported","isDotWalk","_state$table","_state$choices","_state$tableDisplayNa","hasVariablePicker","_state$properties$ori","originalConditionsData","_conditionsData$field","_originalConditionsDa","childFieldType","showNewRow","FETCH_METADATA","FETCH_METADATA_SUCCESS","FETCH_METADATA_FAILURE","fetchTableMetaEffect","scopeId","includeDocumentTables","connectedTableNameActionHandlers","tableNames","debug","POPOVER_OPENED","DOT_WALK_PATH_UPDATED","DOT_WALK_TRIGGERED","DOT_WALK_BREADCRUMB_PATH_UPDATED","FETCH_LEAF_DATA","FETCH_LEAF_DATA_SUCCESS","FETCH_LEAF_DATA_FAILURE","FIELDS_NAMES_RESULTS_PATH","fetchLeafEffect","_ref8$state$propertie","referenceSource","pathIndex","_ref3$state$propertie2","lastUpdatedPathItem","displayValueWithPath","_ref$properties$dicti","_state$properties3$fo","_state$properties3$va","_state$properties2$va","_ref4$state$propertie","_ref4$state$propertie2","_ref4$state$propertie3","propertiesLiveUpdate","stateLiveUpdate","dataModelConstructed","_ref5$state$propertie","_ref6$state","_ref6$state$propertie2","_ref6$state$propertie3","metadataConstructed","getFocusedElement","getTriggerElement","dependentValueEmpty","_state$dataModel","_dataModel$path","_dataModel$metadata","_dataModel$leafPathSo","inputReadOnly","dotWalkPath","schame","normalizeDisplayValue","dependentTableName","normalizedDisplayValue","DEPENDENT_FIELD","DEPENDENT_VALUE","DEPENDENT_FIELD_LABEL","getOptions","emptyDeps","dependentValueLabel","EDIT_BTN","REFRESH_BTN","MODAL_NOW_TEXT_AREA_NAME","EDIT_TEXT_STR","MODAL_PLACEHOLDER_STR","REFRESH_PREVIEW_STR","SUBMIT_STR","WIKI_FETCH_ERROR","NOW_BUTTON_CLICKED","FETCH_WIKI_CONTENT","FETCH_WIKI_CONTENT_FAILURE","FETCH_WIKI_CONTENT_SUCCESS","SANITIZE_WIKI_CONTENT","DOM_PARSER","isInitial","isUpdate","showEditModal","stagedSanitizedValue","sanitizedValue","isRefresh","interceptors","_context$coeffects","httpEffect","effects","xmlString","stagedLoading","URLSearchParams","sysparm_cache_images","EditButton","onModalInsert","EditModal","PreviewArea","InlineArea","richTextId","readonlyContent","readonlyAria","htmlDisplay","srOnlyId","_state$properties3$fo3","showPreview","showEditButton","INCREMENT_TIMER","INIT_TIMER","SET_NEW_TIMER","STOP_TIMER","START_TIMER","CLEAR_TIMER","OK_CLICKED","PRIVATE_UPDATE_TOTAL_TIME","RESUME","PAUSE","DEFAULT_EDIT_TIME_VALUE","DEFAULT_TIMER_VALUE","TIME_WORKED_EDIT_POPOVER","DEFAULT_INTERNAL_TIMER_DATA","timerId","timerTicks","editTimeValue","EDIT_SESSION_TIME","RESUME_SESSION_TIME","PAUSE_SESSION_TIME","SN_RECORD_DURATION_VALUE_CHANGED","SN_RECORD_DURATION_STAGED_VALUE_CHANGED","INCREMENT_INTERVAL","formatTime","toLocaleString","minimumIntegerDigits","extractTimeFromString","_strFormatted$split","_strFormatted$split2","_time$split$map","_time$split$map2","hour","minute","second","totalHours","addTimes","time1","time2","_time1$split$map","_time1$split$map2","hour1","minute1","second1","_time2$split$map","_time2$split$map2","hour2","minute2","second2","secondsCarryOver","normalizeTimeStrToSeconds","_parts$map","_parts$map2","h","dispatchFormData","additionalTime","timerPaused","_addTimes$split","_addTimes$split2","leftoverHours","totalTime","UTC","toUTCString","isTimerRunning","currentSystemTime","setNewTimerEffect","_state$internalTimerD","internalTimerData","timerStarted","timerID","timerValueUpdated","clearTimeout","initTimerEffect","_effect$state","_effect$state$propert","timerValue","stopTimerEffect","startTimerEffect","_effect$state2","_state$internalTimerD2","_timerValue$split$map","_timerValue$split$map2","_calculateTimePassed","calculateTimePassed","timePassed","timeLeft","resultHour","resultMinute","_calculateTimePassed2","newTimerTicks","buttonType","newHourAndMinute","_oldValue$split$map","_newValue$split$map","_newValue$split$map2","resetTimer","stateUpdates","_action$payload2$valu","isSameUser","updatedBy","username","t1","t2","dispatchingToForms","_state$resetTimer","originalTime","timeMessages","disableScroll","Types","SELECT_MULTI","NowHtmlScript","htmlEditor","parentEl","resizeObserverDebounced","resizeObserverForParentContainerDebounced","parentWidth","resizeObserverForParentContainer","resizeObserver","handleResizeObserverForContentTree","handleRef","SNLink","legacy","renderLegacyLink","opensWindow","iconEnd","iconStart","mouseenter","mouseleave","keydown","keyup","OptionUser","pre","post","delimiter","_ref$searchUsingStart","primaryLabelMatched","escapedSearchTerm","_getStringParts","getStringParts","validSecondary","normalizedSecondaryValues","normalizeSecondaryValues","secondaryLabelMatched","scrollWidth","secondaryOption","delim","_ref3$pre","_ref3$match","_ref3$post","getSecondaryHighlight","_ref5$","_ref5$2","scheman","AccessibilityDescription","accessibilityMessage","optionsLength","OptionsList","listItems","newSelected","selectedSearchResults","containerHeight","containerTop","containerBottom","selectedComponentTop","selectedComponentBottom","recentsCount","onHover","currentValues","isEnabled","OptionType","OptionDefault","getRef","checkSelected","Dropdown","DropdownSeismic","__TECTONIC__$devsnc_library_register_components_29_5_1","devsncLibraryRegisterComponents","__TECTONIC__$devsnc_library_behavior_scroll_watch_29_5_1","devsncLibraryBehaviorScrollWatch","__TECTONIC__$devsnc_sn_record_annotation","devsncSnRecordAnnotation","__TECTONIC__$devsnc_sn_record_auto_number_connected","devsncSnRecordAutoNumberConnected","__TECTONIC__$servicenow_now_record_checkbox","servicenowNowRecordCheckbox","__TECTONIC__$devsnc_sn_record_checkbox_group","devsncSnRecordCheckboxGroup","__TECTONIC__$devsnc_sn_record_choice_connected","devsncSnRecordChoiceConnected","__TECTONIC__$devsnc_sn_record_code_editor","devsncSnRecordCodeEditor","__TECTONIC__$devsnc_sn_record_content_tree_connected","devsncSnRecordContentTreeConnected","__TECTONIC__$devsnc_sn_record_control","devsncSnRecordControl","__TECTONIC__$devsnc_sn_record_control_wrapper","devsncSnRecordControlWrapper","__TECTONIC__$devsnc_sn_controls_common_29_5_1","devsncSnControlsCommon","__TECTONIC__$devsnc_sn_controls_common_query_29_5_1","devsncSnControlsCommonQuery","__TECTONIC__$devsnc_sn_record_currency_connected","devsncSnRecordCurrencyConnected","__TECTONIC__$servicenow_now_record_date_picker","servicenowNowRecordDatePicker","__TECTONIC__$servicenow_now_date_range_picker","servicenowNowDateRangePicker","__TECTONIC__$devsnc_sn_record_dropdown_internal","devsncSnRecordDropdownInternal","__TECTONIC__$devsnc_sn_record_duration","devsncSnRecordDuration","__TECTONIC__$devsnc_sn_record_email","devsncSnRecordEmail","__TECTONIC__$devsnc_sn_record_email_script","devsncSnRecordEmailScript","__TECTONIC__$devsnc_sn_field_and_dropdown_wrapper","devsncSnFieldAndDropdownWrapper","__TECTONIC__$devsnc_sn_record_field_list_connected","devsncSnRecordFieldListConnected","__TECTONIC__$servicenow_now_record_field_lookup_connected","servicenowNowRecordFieldLookupConnected","__TECTONIC__$devsnc_sn_field_select","devsncSnFieldSelect","__TECTONIC__$devsnc_sn_record_file_attachment","devsncSnRecordFileAttachment","__TECTONIC__$devsnc_sn_form_controls","devsncSnFormControls","__TECTONIC__$devsnc_sn_glide_form_controls","devsncSnGlideFormControls","__TECTONIC__$devsnc_sn_glide_query_base","devsncSnGlideQueryBase","__TECTONIC__$servicenow_now_record_html_editor","servicenowNowRecordHtmlEditor","__TECTONIC__$servicenow_now_record_html_script","servicenowNowRecordHtmlScript","__TECTONIC__$devsnc_sn_record_input","devsncSnRecordInput","__TECTONIC__$devsnc_sn_record_input_connected","devsncSnRecordInputConnected","__TECTONIC__$servicenow_now_record_ip_address","servicenowNowRecordIpAddress","__TECTONIC__$devsnc_sn_record_link","devsncSnRecordLink","__TECTONIC__$devsnc_sn_record_list_select","devsncSnRecordListSelect","__TECTONIC__$servicenow_now_record_mini_calendar","servicenowNowRecordMiniCalendar","__TECTONIC__$devsnc_sn_record_name_value","devsncSnRecordNameValue","__TECTONIC__$servicenow_now_record_number","servicenowNowRecordNumber","__TECTONIC__$devsnc_sn_options_list","devsncSnOptionsList","__TECTONIC__$devsnc_sn_record_price_connected","devsncSnRecordPriceConnected","__TECTONIC__$servicenow_now_radio_group","servicenowNowRadioGroup","__TECTONIC__$devsnc_sn_recommendations_helper","devsncSnRecommendationsHelper","__TECTONIC__$devsnc_sn_record_nowassist","devsncSnRecordNowassist","__TECTONIC__$devsnc_sn_record_reference_connected","devsncSnRecordReferenceConnected","__TECTONIC__$devsnc_sn_record_tablename_connected","devsncSnRecordTablenameConnected","__TECTONIC__$servicenow_now_record_time","servicenowNowRecordTime","__TECTONIC__$servicenow_now_record_typeahead","servicenowNowRecordTypeahead","__TECTONIC__$servicenow_now_record_typeahead_multiple","servicenowNowRecordTypeaheadMultiple","__TECTONIC__$devsnc_sn_record_url","devsncSnRecordUrl","__TECTONIC__$devsnc_sn_record_user_roles_lookup_connected","devsncSnRecordUserRolesLookupConnected","__TECTONIC__$devsnc_sn_record_version","devsncSnRecordVersion"],"sources":["webpack:///classnames/2.3.1/index.js","webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///prop-types/15.7.2/factoryWithThrowingShims.js","webpack:///prop-types/15.7.2/index.js","webpack:///prop-types/15.7.2/lib/ReactPropTypesSecret.js","webpack:///@devsnc/sn-record-annotation/src/annotation.scss","webpack:///@devsnc/sn-record-auto-number-connected/src/auto-number-connected.scss","webpack:///@devsnc/sn-record-checkbox-group/src/checkbox-group.scss","webpack:///@servicenow/now-record-checkbox/src/checkbox.scss","webpack:///@devsnc/sn-record-choice-connected/src/choice.scss","webpack:///@devsnc/sn-record-code-editor/src/code-editor.scss","webpack:///@devsnc/sn-record-content-tree-connected/src/content-tree-connected.scss","webpack:///@devsnc/sn-record-content-tree-connected/src/content-tree-popover.scss","webpack:///@devsnc/sn-record-control-wrapper/src/controlwrapper.scss","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/controlwrapper.scss","webpack:///@devsnc/sn-record-control/src/style.scss","webpack:///@devsnc/sn-controls-common/29.5.1/src/InteractiveDecoration.scss","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/renderDecorations.scss","webpack:///@devsnc/sn-record-currency-connected/src/currency.scss","webpack:///@servicenow/now-record-date-picker/src/date.scss","webpack:///@servicenow/now-date-range-picker/src/date-picker-panel/panel.scss","webpack:///@servicenow/now-date-range-picker/src/styles.scss","webpack:///@devsnc/sn-record-duration/src/duration.scss","webpack:///@devsnc/sn-record-email-script/src/email-script.scss","webpack:///@devsnc/sn-record-email/src/email.scss","webpack:///@devsnc/sn-record-field-list-connected/src/style.scss","webpack:///@devsnc/sn-field-select/src/style.scss","webpack:///@devsnc/sn-record-file-attachment/src/fileattachment.scss","webpack:///@devsnc/sn-form-controls/src/choice/choice.scss","webpack:///@devsnc/sn-form-controls/src/choiceSearch/sn-record-choice-search.scss","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/styles.scss","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/phone.scss","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/TimeWorked.scss","webpack:///@devsnc/sn-glide-form-controls/src/connectedwikitext/styles.scss","webpack:///@devsnc/sn-glide-form-controls/src/sharedFunctionalComponents/CustomPill.scss","webpack:///@devsnc/sn-glide-form-controls/src/template-value/field-selection.scss","webpack:///@devsnc/sn-glide-form-controls/src/template-value/template-value.scss","webpack:///@servicenow/now-record-html-editor/src/html.scss","webpack:///@servicenow/now-record-html-script/src/html.scss","webpack:///@devsnc/sn-record-input-connected/src/input.scss","webpack:///@devsnc/sn-record-input-connected/src/mentions/journal-input.scss","webpack:///@devsnc/sn-record-input-connected/src/mentions/mentions-match-list/styles.scss","webpack:///@devsnc/sn-record-input-connected/src/password.scss","webpack:///@devsnc/sn-record-input/src/input.scss","webpack:///@servicenow/now-record-ip-address/src/ip-address.scss","webpack:///@devsnc/sn-record-link/src/link.scss","webpack:///@devsnc/sn-record-list-select/src/style.scss","webpack:///@servicenow/now-record-mini-calendar/src/miniCalendar.scss","webpack:///@servicenow/now-record-mini-calendar/src/month-header/styles.scss","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/styles.scss","webpack:///@servicenow/now-record-mini-calendar/src/views/monthly/styles.scss","webpack:///@servicenow/now-record-mini-calendar/src/views/quarterly/styles.scss","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/standardView.scss","webpack:///@servicenow/now-record-mini-calendar/src/views/yearly/styles.scss","webpack:///@servicenow/now-record-mini-calendar/src/year-header/styles.scss","webpack:///@devsnc/sn-record-name-value/src/name-value.scss","webpack:///@servicenow/now-record-number/src/number.scss","webpack:///@devsnc/sn-options-list/src/dropdown.scss","webpack:///@servicenow/now-radio-group/src/radio-group.scss","webpack:///@devsnc/sn-recommendations-helper/src/sn-recommendations-helper/recommendations-helper.scss","webpack:///@servicenow/now-record-time/src/time.scss","webpack:///@servicenow/now-record-typeahead-multiple/src/referencemultiple.scss","webpack:///@servicenow/now-record-typeahead/src/reference.scss","webpack:///@devsnc/sn-record-url/src/url.scss","webpack:///@devsnc/sn-record-user-roles-lookup-connected/src/user-roles-lookup-connected.scss","webpack:///@devsnc/sn-record-version/src/version.scss","webpack:///@devsnc/sass-form-controls-common/29.5.1/_customLabel.scss","webpack:///../packages/annotation/src/annotation.scss?7285","webpack:///../packages/auto-number-connected/src/auto-number-connected.scss?5a7d","webpack:///../packages/checkbox-group/src/checkbox-group.scss?ba89","webpack:///../packages/checkbox/src/checkbox.scss?2657","webpack:///../packages/choice-connected/src/choice.scss?bfd7","webpack:///../packages/code-editor/src/code-editor.scss?1736","webpack:///../packages/content-tree-connected/src/content-tree-connected.scss?6889","webpack:///../packages/content-tree-connected/src/content-tree-popover.scss?662b","webpack:///../packages/control-wrapper/src/controlwrapper.scss?96ba","webpack:///../packages/control-wrapper/src/legacy-files/controlwrapper.scss?9a62","webpack:///../packages/control/src/style.scss?b1a5","webpack:///../packages/controls-common/src/InteractiveDecoration.scss?39d9","webpack:///../packages/controls-common/src/utils/renderDecorations.scss?56bb","webpack:///../packages/currency/src/currency.scss?85d0","webpack:///../packages/date-picker/src/date.scss?5ea9","webpack:///../packages/date-range-picker/src/date-picker-panel/panel.scss?8f3b","webpack:///../packages/date-range-picker/src/styles.scss?e423","webpack:///../packages/duration/src/duration.scss?b3e9","webpack:///../packages/email-script/src/email-script.scss?d732","webpack:///../packages/email/src/email.scss?c868","webpack:///../packages/field-list-connected/src/style.scss?c659","webpack:///../packages/field-select/src/style.scss?7268","webpack:///../packages/file-attachment/src/fileattachment.scss?6151","webpack:///../packages/form-controls/src/choice/choice.scss?1914","webpack:///../packages/form-controls/src/choiceSearch/sn-record-choice-search.scss?f1b7","webpack:///../packages/glide-form-controls/src/connectedfieldname/styles.scss?9eb2","webpack:///../packages/glide-form-controls/src/connectedphone/phone.scss?35e1","webpack:///../packages/glide-form-controls/src/connectedtimeworked/TimeWorked.scss?1d74","webpack:///../packages/glide-form-controls/src/connectedwikitext/styles.scss?ebe7","webpack:///../packages/glide-form-controls/src/sharedFunctionalComponents/CustomPill.scss?4081","webpack:///../packages/glide-form-controls/src/template-value/field-selection.scss?8665","webpack:///../packages/glide-form-controls/src/template-value/template-value.scss?127f","webpack:///../packages/html-editor/src/html.scss?7765","webpack:///../packages/html-script/src/html.scss?a910","webpack:///../packages/input-connected/src/input.scss?88ff","webpack:///../packages/input-connected/src/mentions/journal-input.scss?10f7","webpack:///../packages/input-connected/src/mentions/mentions-match-list/styles.scss?fc29","webpack:///../packages/input-connected/src/password.scss?ecb3","webpack:///../packages/input/src/input.scss?10f7","webpack:///../packages/ip-address/src/ip-address.scss?9dde","webpack:///../packages/link/src/link.scss?1a8e","webpack:///../packages/list-select/src/style.scss?ee11","webpack:///../packages/mini-calendar/src/miniCalendar.scss?0de1","webpack:///../packages/mini-calendar/src/month-header/styles.scss?5a51","webpack:///../packages/mini-calendar/src/preset-panel/styles.scss?7bfc","webpack:///../packages/mini-calendar/src/views/monthly/styles.scss?08e7","webpack:///../packages/mini-calendar/src/views/quarterly/styles.scss?75f5","webpack:///../packages/mini-calendar/src/views/standard/standardView.scss?377b","webpack:///../packages/mini-calendar/src/views/yearly/styles.scss?2df8","webpack:///../packages/mini-calendar/src/year-header/styles.scss?82ec","webpack:///../packages/name-value/src/name-value.scss?7882","webpack:///../packages/number/src/number.scss?1fa4","webpack:///../packages/options-list/src/dropdown.scss?81b0","webpack:///../packages/radio-group/src/radio-group.scss?4644","webpack:///../packages/recommendations-helper/src/sn-recommendations-helper/recommendations-helper.scss?4253","webpack:///../packages/time/src/time.scss?247a","webpack:///../packages/typeahead-multiple/src/referencemultiple.scss?9d88","webpack:///../packages/typeahead/src/reference.scss?028e","webpack:///../packages/url/src/url.scss?8087","webpack:///../packages/user-roles-lookup-connected/src/user-roles-lookup-connected.scss?947f","webpack:///../packages/version/src/version.scss?8b9e","webpack:///../sass/form-controls-common/_customLabel.scss?87ee","webpack:///external import \"/uxasset/externals/@devsnc/sn-glide-form-controls/connectedconditions/ConnectedConditions.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-glide-form-controls/connecteddatalookup/DataLookupConnected.jsdbx\"","webpack:///external import \"/uxasset/externals/@devsnc/sn-wwna/index.jsdbx\"","webpack:///@babel/runtime/7.28.3/helpers/arrayLikeToArray.js","webpack:///@babel/runtime/7.28.3/helpers/arrayWithHoles.js","webpack:///@babel/runtime/7.28.3/helpers/assertThisInitialized.js","webpack:///@babel/runtime/7.28.3/helpers/classCallCheck.js","webpack:///@babel/runtime/7.28.3/helpers/createClass.js","webpack:///@babel/runtime/7.28.3/helpers/defineProperty.js","webpack:///@babel/runtime/7.28.3/helpers/extends.js","webpack:///@babel/runtime/7.28.3/helpers/getPrototypeOf.js","webpack:///@babel/runtime/7.28.3/helpers/inherits.js","webpack:///@babel/runtime/7.28.3/helpers/iterableToArray.js","webpack:///@babel/runtime/7.28.3/helpers/iterableToArrayLimit.js","webpack:///@babel/runtime/7.28.3/helpers/nonIterableRest.js","webpack:///@babel/runtime/7.28.3/helpers/objectDestructuringEmpty.js","webpack:///@babel/runtime/7.28.3/helpers/objectWithoutProperties.js","webpack:///@babel/runtime/7.28.3/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.28.3/helpers/possibleConstructorReturn.js","webpack:///@babel/runtime/7.28.3/helpers/setPrototypeOf.js","webpack:///@babel/runtime/7.28.3/helpers/slicedToArray.js","webpack:///@babel/runtime/7.28.3/helpers/toArray.js","webpack:///@babel/runtime/7.28.3/helpers/toPrimitive.js","webpack:///@babel/runtime/7.28.3/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.28.3/helpers/typeof.js","webpack:///@babel/runtime/7.28.3/helpers/unsupportedIterableToArray.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-react/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/schemas/index.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/propTypes/SeismicControlledFieldProps.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/propTypes/index.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/propTypes/SeismicComponent.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/propTypes/SeismicComponentBase.js","webpack:///date-fns/2.30.0/esm/locale/cs/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/_lib/buildFormatLongFn/index.js","webpack:///date-fns/2.30.0/esm/locale/cs/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/cs/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/_lib/buildLocalizeFn/index.js","webpack:///date-fns/2.30.0/esm/locale/_lib/buildMatchFn/index.js","webpack:///date-fns/2.30.0/esm/locale/_lib/buildMatchPatternFn/index.js","webpack:///date-fns/2.30.0/esm/locale/cs/index.js","webpack:///date-fns/2.30.0/esm/locale/cs/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/cs/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/da/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/da/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/da/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/da/index.js","webpack:///date-fns/2.30.0/esm/locale/da/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/da/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/de/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/de/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/de/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/de/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/de/index.js","webpack:///date-fns/2.30.0/esm/locale/de/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/en-IN/index.js","webpack:///date-fns/2.30.0/esm/locale/en-IN/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/en-GB/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/en-IE/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/en-GB/index.js","webpack:///date-fns/2.30.0/esm/locale/es/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/es/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/es/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/es/index.js","webpack:///date-fns/2.30.0/esm/locale/es/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/es/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/et/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/et/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/et/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/et/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/et/index.js","webpack:///date-fns/2.30.0/esm/locale/et/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/fr-CA/index.js","webpack:///date-fns/2.30.0/esm/locale/fr-CA/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/he/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/he/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/he/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/he/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/he/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/he/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/it/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/it/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/_lib/requiredArgs/index.js","webpack:///@babel/runtime/7.28.3/helpers/esm/typeof.js","webpack:///date-fns/2.30.0/esm/_lib/defaultOptions/index.js","webpack:///date-fns/2.30.0/esm/_lib/startOfUTCWeek/index.js","webpack:///date-fns/2.30.0/esm/_lib/toInteger/index.js","webpack:///date-fns/2.30.0/esm/toDate/index.js","webpack:///date-fns/2.30.0/esm/_lib/isSameUTCWeek/index.js","webpack:///date-fns/2.30.0/esm/locale/it/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/it/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/it/index.js","webpack:///date-fns/2.30.0/esm/locale/it/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/th/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/th/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/th/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/th/index.js","webpack:///date-fns/2.30.0/esm/locale/th/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/th/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/_lib/match/index.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/dateTime.js","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/escapeSeismicSpecialSymbols.js","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-config/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/FieldType.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-highlighted-value/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/renderCustomHighlightedLabel.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/renderHighlightedLabel.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/field.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/declarativeActions.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/29.5.1/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/dom.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/math.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/outside-scroll.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/selection.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/numberUtils.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/shallowEqual.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/transformMessages.js","webpack:///external module \"/uxasset/externals/moment/2.30.1/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/time.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/seismicPropertiesHelper.js","webpack:///sn-uxpage-presource/23.0.1/src/getProperty.js","webpack:///sn-uxpage-presource/23.0.1/src/createPreSourceBehavior.js","webpack:///sn-uxpage-presource/23.0.1/src/user.behaviors.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/property.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/effectProxy.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/transformFieldName.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/InteractiveDecoration.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/renderAIIndicator.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/renderDecorations.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/renderIconsInLabelSlot.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/utils/inhouseLodash.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/validations/hostname.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/validations/ipaddress.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/validations/email.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/validations/url.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/validations/datetime.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/referenceUtils/index.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/treeUtils/index.js","webpack:///external module \"/uxasset/externals/react/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/upgradeCompatibility/ComponentBase.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/upgradeCompatibility/ControlledField.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/upgradeCompatibility/FocusWatcher.js","webpack:///external module \"/uxasset/externals/react-dom/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/upgradeCompatibility/ShadyDOMEventFixer.js","webpack:///sn-custom-create-element/21.0.0/src/camelCase.js","webpack:///sn-custom-create-element/21.0.0/src/constants.js","webpack:///sn-custom-create-element/21.0.0/src/ariaRefHelpers.js","webpack:///sn-custom-create-element/21.0.0/src/index.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/upgradeCompatibility/renderHighlightedValueReact.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/upgradeCompatibility/forwardProperties.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/upgradeCompatibility/withValueChangeCallbacks.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/upgradeCompatibility/index.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/withValueChangeCallbacks.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/withValueChangeCallbacksBehavior.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/validations/onChangeValidation.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/withStateBehavior.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/checkAutoFocus.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/testHelpers.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/helperContentSeismicRenderer.js","webpack:///@devsnc/sn-controls-common/29.5.1/src/initialValue.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/trackBehavior.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-dynamic-translation/25.0.1/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/behaviours/dynamic-translation/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/now-text-link/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-rich-text/index.jsdbx\"","webpack:///@devsnc/sn-controls-common/29.5.1/src/behaviours/dynamic-translation/dynamicTranslationBehaviour.js","webpack:///@devsnc/library-register-components/29.5.1/src/index.js","webpack:///@devsnc/library-behavior-scroll-watch/29.5.1/src/index.js","webpack:///@devsnc/sn-record-annotation/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-input/index.jsdbx\"","webpack:///@devsnc/sn-record-auto-number-connected/src/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///@devsnc/sn-record-auto-number-connected/src/utils.js","webpack:///@devsnc/sn-record-auto-number-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-auto-number-connected/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-checkbox/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-toggle/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/29.5.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/29.5.1/index.jsdbx\"","webpack:///@devsnc/sn-record-control-wrapper/src/ControlWrapper.js","webpack:///@devsnc/sn-record-control-wrapper/src/FieldMessages.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/formFieldHelperReact.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/LabelReact.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/FieldMessagesReact.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/ControlWrapperReact.js","webpack:///@servicenow/now-record-checkbox/src/index.js","webpack:///@devsnc/sn-record-checkbox-group/src/actionHandlers.js","webpack:///@devsnc/sn-record-checkbox-group/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-select/index.jsdbx\"","webpack:///@devsnc/sn-record-choice-connected/src/utils.js","webpack:///@devsnc/sn-record-choice-connected/src/constants.js","webpack:///@devsnc/sn-record-choice-connected/src/view.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-graphql/index.jsdbx\"","webpack:///@devsnc/sn-record-choice-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-choice-connected/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-dropdown/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-textarea/index.jsdbx\"","webpack:///@devsnc/sn-record-nowassist/src/constants/index.js","webpack:///@devsnc/sn-record-nowassist/src/utils/index.js","webpack:///@devsnc/sn-record-nowassist/src/renderNowAssistContextMenu.js","webpack:///@devsnc/sn-record-nowassist/src/renderNACM.js","webpack:///@devsnc/sn-record-nowassist/src/nacm/renderNowAssistContextMenu.js","webpack:///@devsnc/sn-record-nowassist/src/nacm/nowAssistActionsBehavior.js","webpack:///@devsnc/sn-record-nowassist/src/nowAssistActionsBehavior.js","webpack:///@devsnc/sn-record-input/src/CharacterCounter.js","webpack:///@devsnc/sn-record-input/src/Input.js","webpack:///@devsnc/sn-record-input/src/SNInput.js","webpack:///@devsnc/sn-record-input/src/SNInputGroup.js","webpack:///@devsnc/sn-record-input/src/behaviors/trackBootstrapBehavior.js","webpack:///@devsnc/sn-record-input/src/index.js","webpack:///external module \"/uxasset/externals/@devsnc/sn-declarative-actions/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@devsnc/sn-record-control/src/view.js","webpack:///@devsnc/sn-record-control/src/actionHandlers.js","webpack:///@devsnc/sn-record-control/src/index.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/textareaScreenReader.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/constants.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/mentionsUtils.js","webpack:///@devsnc/sn-record-input-connected/src/constants.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/mentionsActionHandlers.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/mentions-match-list/constants.js","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///@devsnc/sn-record-input-connected/src/mentions/mentions-match-list/index.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/view.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/eventHandlers.js","webpack:///@devsnc/sn-record-input-connected/src/mentions/index.js","webpack:///@devsnc/sn-record-input-connected/src/utils.js","webpack:///@devsnc/sn-record-input-connected/src/ConnectedInput.js","webpack:///@devsnc/sn-record-input-connected/src/pass2Graphql.js","webpack:///@devsnc/sn-record-input-connected/src/inputActionHandlers.js","webpack:///@devsnc/sn-record-input-connected/src/handleKeydownForSuggestions.js","webpack:///@devsnc/sn-record-input-connected/src/withAutocompleteBehavior.js","webpack:///@devsnc/sn-record-input-connected/src/passwordBehavior.js","webpack:///@devsnc/sn-record-input-connected/src/legacy-files/merge.js","webpack:///@devsnc/sn-record-input-connected/src/legacy-files/withState.js","webpack:///@devsnc/sn-record-input-connected/src/index.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///@devsnc/sn-record-code-editor/src/constants.js","webpack:///external module \"/uxasset/externals/fast-xml-parser/4.2.7/index.jsdbx\"","webpack:///@devsnc/sn-record-code-editor/src/lintWorker.js","webpack:///@devsnc/sn-record-code-editor/src/utils.js","webpack:///@devsnc/sn-record-code-editor/src/actionHandlers.js","webpack:///@devsnc/sn-record-code-editor/src/sn-record-code-editor.js","webpack:///@devsnc/sn-record-code-editor/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-content-tree/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-heading/index.jsdbx\"","webpack:///@devsnc/sn-record-content-tree-connected/src/utils.js","webpack:///@devsnc/sn-record-content-tree-connected/src/constants.js","webpack:///@devsnc/sn-record-content-tree-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-content-tree-connected/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-internal/index.jsdbx\"","webpack:///@devsnc/sn-controls-common-query/29.5.1/src/utils/utils.js","webpack:///@devsnc/sn-controls-common-query/29.5.1/src/utils/referenceDataQuery.js","webpack:///@devsnc/sn-controls-common-query/29.5.1/src/utils/choiceConnectedDataQuery.js","webpack:///@devsnc/sn-record-dropdown-internal/src/index.js","webpack:///@devsnc/sn-record-currency-connected/src/declarativeActions.js","webpack:///@devsnc/sn-record-currency-connected/src/currencyFormat.js","webpack:///@devsnc/sn-record-currency-connected/src/utils.js","webpack:///@devsnc/sn-record-currency-connected/src/view.js","webpack:///@devsnc/sn-record-currency-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-currency-connected/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-date-time/index.jsdbx\"","webpack:///@servicenow/now-record-date-picker/src/utils.js","webpack:///external module \"/uxasset/externals/@servicenow/library-date-time/27.0.15/index.jsdbx\"","webpack:///external module \"/uxasset/externals/date-fns/2.30.0/index.jsdbx\"","webpack:///@servicenow/now-record-date-picker/src/constants.js","webpack:///@servicenow/now-record-date-picker/src/actionHandlers.js","webpack:///@servicenow/now-record-date-picker/src/index.js","webpack:///@servicenow/behavior-rtl/29.5.1/src/rtl.js","webpack:///@servicenow/now-record-mini-calendar/src/constants.js","webpack:///@servicenow/now-record-mini-calendar/src/utils/gridUtils.js","webpack:///@servicenow/now-record-mini-calendar/src/utils/calendarUtils.js","webpack:///@servicenow/now-record-time/src/utils.js","webpack:///@servicenow/now-record-time/src/actionHandlers.js","webpack:///@servicenow/now-record-time/src/view.js","webpack:///@servicenow/now-record-time/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-accordion/index.jsdbx\"","webpack:///@servicenow/now-record-mini-calendar/src/utils/timeAgo.js","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/constants.js","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/view.js","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/effects.js","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/preset-panel/index.js","webpack:///@servicenow/now-record-mini-calendar/src/utils/elements.js","webpack:///@servicenow/now-record-mini-calendar/src/month-header/view.js","webpack:///@servicenow/now-record-mini-calendar/src/month-header/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/month-header/index.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/YearLabel.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/standard/StandardGrid.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/weekly/Week.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/weekly/WeekRow.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/weekly/Weeks.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/weekly/WeeklyGrid.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/GridWrapper.js","webpack:///@servicenow/now-record-mini-calendar/src/behaviors/calendarViewBehavior.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/CalendarBody.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/view.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/quarterly/QuarterlyGrid.js","webpack:///@servicenow/now-record-mini-calendar/src/bottom-bar/index.js","webpack:///@servicenow/now-record-mini-calendar/src/year-header/view.js","webpack:///@servicenow/now-record-mini-calendar/src/year-header/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/year-header/index.js","webpack:///@servicenow/now-record-mini-calendar/src/views/quarterly/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/views/quarterly/index.js","webpack:///@servicenow/now-record-mini-calendar/src/views/quarterly/quarterlyView.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/yearly/YearlyGrid.js","webpack:///@servicenow/now-record-mini-calendar/src/views/yearly/YearlyHeader.js","webpack:///@servicenow/now-record-mini-calendar/src/views/yearly/YearlyView.js","webpack:///@servicenow/now-record-mini-calendar/src/views/yearly/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/views/yearly/index.js","webpack:///@servicenow/now-record-mini-calendar/src/grids/monthly/MonthlyGrid.js","webpack:///@servicenow/now-record-mini-calendar/src/views/monthly/actionHandlers.js","webpack:///@servicenow/now-record-mini-calendar/src/views/monthly/index.js","webpack:///@servicenow/now-record-mini-calendar/src/views/monthly/MonthlyView.js","webpack:///@servicenow/now-record-mini-calendar/src/CalendarView.js","webpack:///@servicenow/now-record-mini-calendar/src/view.js","webpack:///@servicenow/now-record-mini-calendar/src/views/standard/index.js","webpack:///@servicenow/now-record-mini-calendar/src/index.js","webpack:///@servicenow/now-date-range-picker/src/constants.js","webpack:///@servicenow/now-date-range-picker/src/timeAgo.js","webpack:///@servicenow/now-date-range-picker/src/dateRangeUtils.js","webpack:///@servicenow/now-date-range-picker/src/apply-preset.js","webpack:///@servicenow/now-date-range-picker/src/effects.js","webpack:///@servicenow/now-date-range-picker/src/actionHandlers.js","webpack:///@servicenow/now-date-range-picker/src/view.js","webpack:///@servicenow/now-date-range-picker/src/date-picker-panel/actionHandlers.js","webpack:///@servicenow/now-date-range-picker/src/picker-confirm.js","webpack:///@servicenow/now-date-range-picker/src/date-picker-panel/view.js","webpack:///@servicenow/now-date-range-picker/src/eventHandlers.js","webpack:///@servicenow/now-date-range-picker/src/date-picker-panel/index.js","webpack:///@servicenow/now-date-range-picker/src/index.js","webpack:///@devsnc/sn-record-duration/src/SNDuration.js","webpack:///@devsnc/sn-record-duration/src/index.js","webpack:///@devsnc/sn-record-email/src/declarativeActions.js","webpack:///@devsnc/sn-record-email/src/view.js","webpack:///@devsnc/sn-record-email/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-resizable-panes/index.jsdbx\"","webpack:///@devsnc/sn-record-email-script/src/constants.js","webpack:///@devsnc/sn-record-email-script/src/Utils.js","webpack:///@devsnc/sn-record-email-script/src/actionHandler.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/29.5.1/index.jsdbx\"","webpack:///@devsnc/sn-record-email-script/src/index.js","webpack:///@devsnc/sn-field-and-dropdown-wrapper/src/fieldAndDropdownBehavior.js","webpack:///@devsnc/sn-field-and-dropdown-wrapper/src/FieldAndDropdownWrapper.js","webpack:///@devsnc/sn-field-and-dropdown-wrapper/src/legacy-files/FieldAndDropdownWrapperReact.js","webpack:///@devsnc/sn-field-and-dropdown-wrapper/src/index.js","webpack:///@devsnc/sn-record-field-list-connected/src/utils.js","webpack:///@devsnc/sn-record-field-list-connected/src/constants.js","webpack:///@devsnc/sn-record-field-list-connected/src/effects.js","webpack:///@devsnc/sn-record-field-list-connected/src/query.js","webpack:///@devsnc/sn-record-field-list-connected/src/actionHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///@devsnc/sn-field-select/src/constants.js","webpack:///@devsnc/sn-field-select/src/utils.js","webpack:///@devsnc/sn-field-select/src/actionHandlers.js","webpack:///@devsnc/sn-field-select/src/effects.js","webpack:///external module \"/uxasset/externals/@devsnc/sn-list-selector/index.jsdbx\"","webpack:///@devsnc/sn-field-select/src/index.js","webpack:///@devsnc/sn-field-select/src/view.js","webpack:///@devsnc/sn-record-field-list-connected/src/index.js","webpack:///@devsnc/sn-record-field-list-connected/src/view.js","webpack:///external module \"/uxasset/externals/@servicenow/now-typeahead/index.jsdbx\"","webpack:///@servicenow/now-record-typeahead/src/actionHandlers.js","webpack:///@servicenow/now-record-typeahead/src/index.js","webpack:///@servicenow/now-record-typeahead-multiple/src/actionHandlers.js","webpack:///@servicenow/now-record-typeahead-multiple/src/index.js","webpack:///@devsnc/sn-glide-query-base/src/queryBaseActionHandlers.js","webpack:///@devsnc/sn-glide-query-base/src/queryBaseBehavior.js","webpack:///@devsnc/sn-glide-query-base/src/GlideQueryBase.js","webpack:///@devsnc/sn-glide-query-base/src/GlideQueryBaseReact/GlideQueryBase.js","webpack:///@devsnc/sn-glide-query-base/src/index.js","webpack:///@servicenow/now-record-field-lookup-connected/src/actionHandlers.js","webpack:///@servicenow/now-record-field-lookup-connected/src/index.js","webpack:///@devsnc/sn-record-file-attachment/src/constants.js","webpack:///@devsnc/sn-record-file-attachment/src/attachmentUtils.js","webpack:///@devsnc/sn-record-file-attachment/src/effects.js","webpack:///@devsnc/sn-record-file-attachment/src/datasources/FileAttachmentGraphQLUpdate.js","webpack:///@devsnc/sn-record-file-attachment/src/actions.js","webpack:///external module \"/uxasset/externals/sn-component-file-icon/index.jsdbx\"","webpack:///@devsnc/sn-record-file-attachment/src/renameModal.js","webpack:///@devsnc/sn-record-file-attachment/src/view.js","webpack:///@devsnc/sn-record-file-attachment/src/index.js","webpack:///@devsnc/sn-form-controls/src/choice/constants.js","webpack:///@devsnc/sn-form-controls/src/choice/actionHandlers.js","webpack:///@devsnc/sn-form-controls/src/choice/eventHandlers.js","webpack:///@devsnc/sn-form-controls/src/choice/SNChoice.js","webpack:///external module \"/uxasset/externals/sn-tinymce/29.4.0/index.jsdbx\"","webpack:///@servicenow/now-record-html-editor/src/constants.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEEditor.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-theme/29.5.1/index.jsdbx\"","webpack:///@servicenow/now-record-html-editor/src/DetectDarkness.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEThemeBehaviors.js","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///@servicenow/now-record-html-editor/src/importTiny.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEV5CompatibleMode/constants.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEV5CompatibleMode/utils.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEV5CompatibleMode/index.js","webpack:///@servicenow/now-record-html-editor/src/NowAssistContextMenu/index.js","webpack:///@servicenow/now-record-html-editor/src/Utils.js","webpack:///@servicenow/now-record-html-editor/src/effects.js","webpack:///@servicenow/now-record-html-editor/src/index.js","webpack:///@devsnc/sn-form-controls/src/fieldMessages/LiveUpdateMessage.js","webpack:///@devsnc/sn-record-name-value/src/view.js","webpack:///@devsnc/sn-record-name-value/src/constants.js","webpack:///@devsnc/sn-record-name-value/src/utils.js","webpack:///@devsnc/sn-record-name-value/src/actionHandlers.js","webpack:///@devsnc/sn-record-name-value/src/index.js","webpack:///@devsnc/sn-form-controls/src/choiceSearch/constants.js","webpack:///@devsnc/sn-form-controls/src/choiceSearch/SNChoiceSearch.js","webpack:///@servicenow/now-record-number/src/numberFormat.js","webpack:///@servicenow/now-record-number/src/index.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/phoneFormat.js","webpack:///@devsnc/sn-glide-form-controls/src/base/factoryUtils/syspropUtils.js","webpack:///@devsnc/sn-glide-form-controls/src/base/factoryUtils/userPrefUtils.js","webpack:///@devsnc/sn-glide-form-controls/src/base/factoryUtils/fieldPropUtils.js","webpack:///@devsnc/sn-glide-form-controls/src/base/factoryUtils/fieldNowAssistContextMenuUtil.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/utils.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/actionHandlers.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/view.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedphone/ConnectedPhone.js","webpack:///@devsnc/sn-record-price-connected/src/index.js","webpack:///@devsnc/sn-record-url/src/index.js","webpack:///@servicenow/now-record-ip-address/src/index.js","webpack:///@devsnc/sn-record-version/src/index.js","webpack:///@devsnc/sn-record-version/src/constants.js","webpack:///@devsnc/sn-record-reference-connected/src/utils.js","webpack:///@devsnc/sn-record-reference-connected/src/view.js","webpack:///@devsnc/sn-record-reference-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-reference-connected/src/index.js","webpack:///@devsnc/sn-record-user-roles-lookup-connected/src/constants.js","webpack:///@devsnc/sn-record-user-roles-lookup-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-user-roles-lookup-connected/src/utils.js","webpack:///@devsnc/sn-record-user-roles-lookup-connected/src/index.js","webpack:///@devsnc/sn-record-list-select/src/constants.js","webpack:///@devsnc/sn-record-list-select/src/utils.js","webpack:///@devsnc/sn-record-list-select/src/effects.js","webpack:///@devsnc/sn-record-list-select/src/actionHandlers.js","webpack:///@devsnc/sn-record-list-select/src/index.js","webpack:///@devsnc/sn-record-list-select/src/view.js","webpack:///@devsnc/sn-glide-form-controls/src/base/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/base/controlElementFactory.js","webpack:///@servicenow/now-radio-group/src/actionHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/now-radio-buttons/index.jsdbx\"","webpack:///@servicenow/now-radio-group/src/index.js","webpack:///@servicenow/now-radio-group/src/view.js","webpack:///@devsnc/sn-glide-form-controls/src/template-value/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/sharedFunctionalComponents/PopoverVariablePicker.js","webpack:///external module \"/uxasset/externals/@servicenow/now-pill/index.jsdbx\"","webpack:///@devsnc/sn-glide-form-controls/src/sharedFunctionalComponents/CustomPill.js","webpack:///@devsnc/sn-glide-form-controls/src/template-value/field-selection.js","webpack:///@devsnc/sn-glide-form-controls/src/template-value/graphql.js","webpack:///@devsnc/sn-glide-form-controls/src/template-value/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/now-predicate-builder/index.jsdbx\"","webpack:///@devsnc/sn-glide-form-controls/src/template-value/predicate-builder.js","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///@devsnc/sn-glide-form-controls/src/template-value/index.js","webpack:///@devsnc/sn-record-tablename-connected/src/constants.js","webpack:///@devsnc/sn-record-tablename-connected/src/effects.js","webpack:///@devsnc/sn-record-tablename-connected/src/query.js","webpack:///@devsnc/sn-record-tablename-connected/src/actionHandlers.js","webpack:///@devsnc/sn-record-tablename-connected/src/view.js","webpack:///@devsnc/sn-record-tablename-connected/src/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-dot-walk/index.jsdbx\"","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/query.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/effects.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/actionHandlers.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/eventHandlers.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedfieldname/ConnectedFieldName.js","webpack:///@devsnc/sn-glide-form-controls/src/connecteddocumentid/actionHandlers.js","webpack:///@devsnc/sn-glide-form-controls/src/connecteddocumentid/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/connecteddocumentid/ConnectedDocumentId.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedwikitext/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedwikitext/actions.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedwikitext/view.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedwikitext/ConnectedWikiText.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/constants.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/utils.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/actionHandlers.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/TimeWorkedPopoverContent.js","webpack:///@devsnc/sn-glide-form-controls/src/connectedtimeworked/TimeWorked.js","webpack:///@devsnc/sn-glide-form-controls/src/seismic-components/index.js","webpack:///@devsnc/sn-glide-form-controls/src/index.js","webpack:///@servicenow/now-record-html-script/src/constants.js","webpack:///@servicenow/now-record-html-script/src/actionHandler.js","webpack:///@servicenow/now-record-html-script/src/effects.js","webpack:///@servicenow/now-record-html-script/src/index.js","webpack:///@servicenow/now-record-html-script/src/Utils.js","webpack:///@devsnc/sn-record-link/src/SNLink.js","webpack:///@devsnc/sn-record-link/src/index.js","webpack:///@devsnc/sn-options-list/src/OptionDefault.js","webpack:///@devsnc/sn-options-list/src/OptionsList.js","webpack:///@devsnc/sn-options-list/src/Dropdown.js","webpack:///@devsnc/sn-options-list/src/DropdownSeismic.js","webpack:///@devsnc/sn-options-list/src/index.js","webpack:///@devsnc/sn-recommendations-helper/src/sn-recommendations-helper/constants.js","webpack:///@devsnc/sn-recommendations-helper/src/sn-recommendations-helper/index.js","webpack:///controls-mono/__imaginary__/mono-asset-entry-wrapper.js"],"sourcesContent":["/*!\n  Copyright (c) 2018 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-record-annotation{display:flex;flex-direction:column;font-size:1rem;gap:calc(var(--now-scale-space--sm, 1)*.5rem);padding:calc(var(--now-scale-space--lg, 1)*14px) 0;width:100%}.sn-record-annotation__layout-horizontal{display:grid}.sn-record-annotation__layout-horizontal .sn-record-annotation-content{grid-column-start:2}.sn-record-annotation__layout-horizontal .sn-record-annotation-content-toggle{display:flex;grid-column-end:3}.sn-record-annotation>hr{width:100%}.sn-record-annotation>hr.line-separator,.sn-record-annotation>hr.section-separator{border:1px solid RGB(var(--now-container-card_divider--secondary--color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));margin:0}.sn-record-annotation-content{align-items:center;border-radius:var(--now-messaging--border-radius,.25rem);display:flex;line-height:.625rem;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-annotation-content.is-info{background:RGBA(var(--now-color_alert--info-0,195,221,240));border:1px solid RGB(var(--now-color_alert--info-1,104,171,218))}.sn-record-annotation-content:not(.has-separator).has-error{background:RGBA(var(--now-color_alert--critical-0,241,206,205));border:1px solid RGB(var(--now-color_alert--critical-1,221,133,129))}.sn-record-annotation-content.is-section{background-color:rgba(var(--now-form-control-input-selection--secondary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))));border-color:rgba(var(--now-actionable--secondary-selection_highlighted_high-contrast_bare--border-color--selected_hover,var(--now-color_selection--primary-4,15,67,55)));border-style:solid;border-width:1px;font-size:var(--now-messaging_message--font-size--md,var(--now-font-size--md1,1rem));font-weight:600;line-height:1.25}.sn-record-annotation-content.has-separator:not(.is-section){padding-top:0}.sn-record-annotation-content-icon{align-items:center;margin-inline-end:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-annotation-content .details{height:100%;line-height:normal;overflow:hidden;position:relative;width:100%}.sn-record-annotation-content .details.is-truncated{height:32px;overflow-y:hidden}.sn-record-annotation-content .details-content{height:100%;width:100%}.sn-record-annotation-content .details.collapsed:after{bottom:0;content:\\\"\\\";height:6px;left:0;pointer-events:none;position:absolute;width:100%}.sn-record-annotation-content-toggle.has-icon{margin-inline-start:calc(var(--now-scale-space--xxl, 1)*28px)}.sn-record-annotation-content>h5,.sn-record-annotation-content>p{display:block;margin:0;padding:0 0 calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}.sn-record-annotation-content>h5:last-child,.sn-record-annotation-content>p:last-child{padding:0}.sn-record-annotation-content>h5{display:inline-block;font-size:1.25rem}::slotted(h5),::slotted(p){display:block;margin:0;padding:0 0 calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}::slotted(p:last-child){padding:0}::slotted(*){margin:0}::slotted(h5){display:inline-block;font-size:1.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}now-checkbox{margin:calc(var(--now-scale-space--md, 1)*10.11px)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}sn-record-control-wrapper{display:block}sn-record-control-wrapper.-vertical{margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem + 16px + var(--now-scale-space--xs, 1)*.25rem)}sn-record-control-wrapper.-horizontal{margin-block-end:calc(var(--now-scale-space--sm, 1)*8px);margin-block-start:calc(var(--now-scale-space--sm, 1)*8px)}:host(.no-checkbox-top-margin) sn-record-control-wrapper{margin-block-start:0}.checkbox-wrapper{display:flex}.checkbox-wrapper>.field-helper-content{align-items:center;display:flex;margin:0 0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.checkbox-wrapper>.field-helper-content .now-line-height-crop{display:none}now-checkbox{align-items:center;display:flex}now-checkbox,now-toggle{margin:0;min-height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}now-toggle{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-select{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}input,textarea{font-family:inherit}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.has-error{white-space:pre-line}now-code-editor{min-width:unset}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.loader-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.variable-content-tree-parent-container{border-radius:.25rem;display:flex;flex-direction:column;gap:calc(var(--now-scale-space--xs, 1)*.25rem);padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.variable-content-tree-container{border:1px solid RGB(var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)));border-radius:.375rem;overflow:hidden}.select-variable-text{font-size:.75rem;font-weight:400}.ci-content-tree-container{display:flex;height:100%;overflow:hidden}.tree-downstream{padding-right:calc(var(--now-scale-space--md, 1)*.75rem)}.tree-downstream,.tree-upstream{height:100%;width:calc(50% - .75rem)}.tree-upstream{padding-left:calc(var(--now-scale-space--md, 1)*.75rem)}.tree-container{height:100%;overflow-y:auto}.content-tree-css{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));box-sizing:border-box;height:100%;margin:0;min-height:-moz-fit-content;min-height:fit-content;min-width:0;width:100%}.content-table-name{align-items:center;align-self:stretch;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:.75rem;font-weight:600;min-height:calc(var(--now-scale-space--xl, 1)*1.5rem);padding:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contenet-tree-popover{padding:now-fn-scale-space(1rem)}.contenet-tree-popover ul{list-style:none;margin:0;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control .sn-form-field{display:flex;flex-direction:column;flex-wrap:wrap}.sn-control.-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.sn-control.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}.default-fieldset{border:none;display:inline-block;margin:0;min-width:0;padding:0;width:100%}.decorations-icon-wrapper{all:inherit;margin-inline-start:calc(var(--now-scale-space--md, 1)*.75rem)}.fit-to-parent{block-size:100%}.fit-to-parent now-textarea{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.default-fieldset{border:none;display:inline-block;margin:0;min-width:0;padding:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host(sn-record-control){align-items:center;display:inline-flex;margin-right:.25rem}now-button{align-items:center;display:inline-flex}now-button span{display:block}now-button span:after,now-button span:before{block-size:0;content:\\\"\\\";display:block}now-button span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}now-button span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}now-button span+now-button span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}:host(:not([dir=rtl])) now-button now-icon:first-child,:root:not([dir=rtl]) now-button now-icon:first-child{margin-right:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host([dir=rtl]) now-button now-icon:first-child,:root[dir=rtl] now-button now-icon:first-child{margin-left:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host(:not([dir=rtl])) now-button now-icon:last-child,:root:not([dir=rtl]) now-button now-icon:last-child{margin-left:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host([dir=rtl]) now-button now-icon:last-child,:root[dir=rtl] now-button now-icon:last-child{margin-right:calc(var(--now-scale-space--xxs, 1)*.125rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.interactive-decoration-icon{display:flex}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.field-decorations-container{align-items:center;display:flex;gap:.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:var(--now-space--xxs,.125rem)}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:var(--now-space--xxs,.125rem)}.now-m-block-end--xxs{margin-block-end:var(--now-space--xxs,.125rem)}.now-m-inline--xxs{margin-inline-end:var(--now-space--xxs,.125rem)}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:var(--now-space--xxs,.125rem)}.now-m-inline-end--xxs{margin-inline-end:var(--now-space--xxs,.125rem)}.now-m-block--sm{margin-block-end:var(--now-space--sm,.5rem)}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:var(--now-space--sm,.5rem)}.now-m-block-end--sm{margin-block-end:var(--now-space--sm,.5rem)}.now-m-inline--sm{margin-inline-end:var(--now-space--sm,.5rem)}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:var(--now-space--sm,.5rem)}.now-m-inline-end--sm{margin-inline-end:var(--now-space--sm,.5rem)}.now-m-block--md{margin-block-end:var(--now-space--sm2,.75rem)}.now-m-block--md,.now-m-block-start--md{margin-block-start:var(--now-space--sm2,.75rem)}.now-m-block-end--md{margin-block-end:var(--now-space--sm2,.75rem)}.now-m-inline--md{margin-inline-end:var(--now-space--sm2,.75rem)}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:var(--now-space--sm2,.75rem)}.now-m-inline-end--md{margin-inline-end:var(--now-space--sm2,.75rem)}.now-m-block--lg{margin-block-end:var(--now-space--md1,1rem)}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:var(--now-space--md1,1rem)}.now-m-block-end--lg{margin-block-end:var(--now-space--md1,1rem)}.now-m-inline--lg{margin-inline-end:var(--now-space--md1,1rem)}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:var(--now-space--md1,1rem)}.now-m-inline-end--lg{margin-inline-end:var(--now-space--md1,1rem)}.now-m-block--xl{margin-block-end:var(--now-space--lg2,1.5rem)}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:var(--now-space--lg2,1.5rem)}.now-m-block-end--xl{margin-block-end:var(--now-space--lg2,1.5rem)}.now-m-inline--xl{margin-inline-end:var(--now-space--lg2,1.5rem)}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:var(--now-space--lg2,1.5rem)}.now-m-inline-end--xl{margin-inline-end:var(--now-space--lg2,1.5rem)}.now-m-block--xxl{margin-block-end:var(--now-space--lg6,2rem)}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:var(--now-space--lg6,2rem)}.now-m-block-end--xxl{margin-block-end:var(--now-space--lg6,2rem)}.now-m-inline--xxl{margin-inline-end:var(--now-space--lg6,2rem)}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:var(--now-space--lg6,2rem)}.now-m-inline-end--xxl{margin-inline-end:var(--now-space--lg6,2rem)}.now-m-block--3xl{margin-block-end:var(--now-space--xl,2.5rem)}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:var(--now-space--xl,2.5rem)}.now-m-block-end--3xl{margin-block-end:var(--now-space--xl,2.5rem)}.now-m-inline--3xl{margin-inline-end:var(--now-space--xl,2.5rem)}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:var(--now-space--xl,2.5rem)}.now-m-inline-end--3xl{margin-inline-end:var(--now-space--xl,2.5rem)}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:var(--now-space--xxs,.125rem)}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:var(--now-space--xxs,.125rem)}.now-p-block-end--xxs{padding-block-end:var(--now-space--xxs,.125rem)}.now-p-inline--xxs{padding-inline-end:var(--now-space--xxs,.125rem)}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:var(--now-space--xxs,.125rem)}.now-p-inline-end--xxs{padding-inline-end:var(--now-space--xxs,.125rem)}.now-p-block--xs{padding-block-end:var(--now-space--xs,.25rem)}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:var(--now-space--xs,.25rem)}.now-p-block-end--xs{padding-block-end:var(--now-space--xs,.25rem)}.now-p-inline--xs{padding-inline-end:var(--now-space--xs,.25rem)}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:var(--now-space--xs,.25rem)}.now-p-inline-end--xs{padding-inline-end:var(--now-space--xs,.25rem)}.now-p-block--sm{padding-block-end:var(--now-space--sm,.5rem)}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:var(--now-space--sm,.5rem)}.now-p-block-end--sm{padding-block-end:var(--now-space--sm,.5rem)}.now-p-inline--sm{padding-inline-end:var(--now-space--sm,.5rem)}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:var(--now-space--sm,.5rem)}.now-p-inline-end--sm{padding-inline-end:var(--now-space--sm,.5rem)}.now-p-block--md{padding-block-end:var(--now-space--sm2,.75rem)}.now-p-block--md,.now-p-block-start--md{padding-block-start:var(--now-space--sm2,.75rem)}.now-p-block-end--md{padding-block-end:var(--now-space--sm2,.75rem)}.now-p-inline--md{padding-inline-end:var(--now-space--sm2,.75rem)}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:var(--now-space--sm2,.75rem)}.now-p-inline-end--md{padding-inline-end:var(--now-space--sm2,.75rem)}.now-p-block--lg{padding-block-end:var(--now-space--md1,1rem)}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:var(--now-space--md1,1rem)}.now-p-block-end--lg{padding-block-end:var(--now-space--md1,1rem)}.now-p-inline--lg{padding-inline-end:var(--now-space--md1,1rem)}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:var(--now-space--md1,1rem)}.now-p-inline-end--lg{padding-inline-end:var(--now-space--md1,1rem)}.now-p-block--xl{padding-block-end:var(--now-space--lg2,1.5rem)}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:var(--now-space--lg2,1.5rem)}.now-p-block-end--xl{padding-block-end:var(--now-space--lg2,1.5rem)}.now-p-inline--xl{padding-inline-end:var(--now-space--lg2,1.5rem)}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:var(--now-space--lg2,1.5rem)}.now-p-inline-end--xl{padding-inline-end:var(--now-space--lg2,1.5rem)}.now-p-block--xxl{padding-block-end:var(--now-space--lg6,2rem)}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:var(--now-space--lg6,2rem)}.now-p-block-end--xxl{padding-block-end:var(--now-space--lg6,2rem)}.now-p-inline--xxl{padding-inline-end:var(--now-space--lg6,2rem)}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:var(--now-space--lg6,2rem)}.now-p-inline-end--xxl{padding-inline-end:var(--now-space--lg6,2rem)}.now-p-block--3xl{padding-block-end:var(--now-space--xl,2.5rem)}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:var(--now-space--xl,2.5rem)}.now-p-block-end--3xl{padding-block-end:var(--now-space--xl,2.5rem)}.now-p-inline--3xl{padding-inline-end:var(--now-space--xl,2.5rem)}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:var(--now-space--xl,2.5rem)}.now-p-inline-end--3xl{padding-inline-end:var(--now-space--xl,2.5rem)}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-input{width:100%}.dropdown-readonly{font-weight:700;white-space:nowrap}.dropdown-readonly.-sm{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem))}.dropdown-readonly.-md{font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem))}.declarative-action{align-items:center;display:flex}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-date-time{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.panel-container{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid;border-color:RGB(var(--now-form-control-input-selection--primary--border-color--selected_hover,var(--now-color--primary-2,23,100,82)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-menu_input_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;flex-direction:row;width:min-content}.panel-container.is-preset{max-width:46.25rem;min-width:min-content}.panel-container .date-picker-container{position:relative}.panel-container .date-preset-container{border-right:1px solid RGB(var(--now-form-control-pill--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181))));min-height:18.75rem;min-width:10.9375rem;position:relative}.panel-container>div:focus{outline:none}.date-range-header-row{background:RGB(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));padding:.5rem}.date-range-header-row .preset-picker-label{color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));padding-right:.5rem}.date-pickers,.time-picker-row{display:flex}.date-range-picker-confirmation{border-top:none;border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:row;flex-direction:column;justify-content:flex-end;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.date-range-picker-confirmation .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.date-range-picker-confirmation now-record-time{width:100%}:host(:not([dir=rtl])) .date-range-picker-confirmation now-button,:host(:not([dir=rtl])) .date-range-picker-confirmation sn-record-control,:root:not([dir=rtl]) .date-range-picker-confirmation now-button,:root:not([dir=rtl]) .date-range-picker-confirmation sn-record-control{margin-left:.5rem}:host([dir=rtl]) .date-range-picker-confirmation now-button,:host([dir=rtl]) .date-range-picker-confirmation sn-record-control,:root[dir=rtl] .date-range-picker-confirmation now-button,:root[dir=rtl] .date-range-picker-confirmation sn-record-control{margin-right:.5rem}.time-picker{border-top:1px solid;border-color:RGB(var(--now-form-control-pill--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181))));margin:0 1rem;padding:1rem 0}.spacer{background-color:RGB(var(--now-menu_divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));margin:1rem 0;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.date-input-wrapper{display:flex;margin-block:-.5rem;outline:none}.date-input-wrapper>sn-record-input:first-of-type{margin-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}.date-input-wrapper>sn-record-input{flex:1;outline:none}:host(:not([dir=rtl])) sn-controls-standard-range,:root:not([dir=rtl]) sn-controls-standard-range{left:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) sn-controls-standard-range,:root[dir=rtl] sn-controls-standard-range{right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host(:not([dir=rtl])) sn-controls-standard-range,:root:not([dir=rtl]) sn-controls-standard-range{right:calc(var(--now-scale-space--sm, 1)*.5rem)}:host([dir=rtl]) sn-controls-standard-range,:root[dir=rtl] sn-controls-standard-range{left:calc(var(--now-scale-space--sm, 1)*.5rem)}now-date-time-interval{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid;border-color:RGB(var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-menu-picker_cell_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));display:flex;font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-menu-picker_item_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-menu-picker_item--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));color:RGB(var(--now-menu-picker_item_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));cursor:pointer;display:flex;font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-menu-picker_item--background-color--hover,var(--now-color_selection--secondary-0,245,248,249)))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-menu-list_label--primary--background-color--highlighted,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}.sn-record-duration-separator{align-items:center;display:inline-flex;padding:0 calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--3xl, 1)*2.5rem)}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--xxl, 1)*2rem)}.sn-control-field-label-start{display:flex}.-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}now-popover{flex:1}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host{display:block}.loader-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.content-tree-css-parent{background-color:RGB(var(--now-navigation-tree--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:var(--now-input--border-width,var(--now-form-control-input--primary--border-width,0)) solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));border-left:0;border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));box-sizing:border-box;margin:0;min-width:0;overflow:hidden;width:100%}.content-tree-css-parent-resize{resize:vertical}.content-tree-css{background-color:RGB(var(--now-navigation-tree--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));box-sizing:border-box;height:100%;margin:0;min-height:-moz-fit-content;min-height:fit-content;min-width:0;width:100%}.content-tree-no-variable{position:relative;top:25%}.content-table-name{align-items:center;align-self:stretch;background:RGB(var(--now-navigation-page_tabs--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));display:flex;font-size:.75rem;font-weight:600;min-height:calc(var(--now-scale-space--xl, 1)*1.5rem);padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.content-tree-readonly{display:none}.content-tree-css-border{border:var(--now-input--border-width,var(--now-form-control-input--primary--border-width,0)) solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))}.fit-to-parent{display:inline}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid;border-color:RGB(var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-menu-picker_cell_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));display:flex;font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-menu-picker_item_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-menu-picker_item--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));color:RGB(var(--now-menu-picker_item_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));cursor:pointer;display:flex;font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-menu-picker_item--background-color--hover,var(--now-color_selection--secondary-0,245,248,249)))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-menu-list_label--primary--background-color--highlighted,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}.now-align,span[slot=end]{align-items:center}span[slot=end]{display:flex;margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}span[slot=end].is-readonly{padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}now-button-iconic{margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.field-list-container{display:flex;flex-direction:column;width:100%}.field-list-container .header{color:RGB(var(--now-menu-picker_header--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.list-selector-container{height:21.625rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;padding:0;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:0}.sn-control-field:not(.is-focus,.read-only) :after{height:0}.attachment-content{width:100%}.now-a11y-label{height:auto;overflow:hidden;position:absolute;width:0}.field-container{display:flex;flex:1 0;flex-direction:column;justify-content:center;min-height:calc(var(--now-form-control_value--font-size--md, var(--now-font-size--md1, 1rem))*2*var(--now-button--scale-size-block, 1));width:100%}.container,.disabled-file{align-items:center;display:flex}.attachments-content,.infected-content,.retry-content{margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.infected-content,.retry-content{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8));display:flex;flex:1 1 auto;font-size:var(--now-actionable--font-size--md,var(--now-font-size--md1,1rem));overflow:hidden}.attachments-content,.infected-attachment-text,.retry-attachment-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachments-content{display:flex}.attachments-content .attachment-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons-content,.download-button,.infected-buttons,.retryfile-buttons{margin-inline-start:auto;white-space:nowrap}.infected-attachment-icon,.retry-attachment-icon{display:inline-block;margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.retry-attachment-text{padding-bottom:calc(var(--now-scale-space--xs, 1)*.25rem)}.is-disabled,.is-readonly{opacity:var(--now-opacity--mid,.5);pointer-events:none}.sn-file-icon{display:inline-block;margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.attachment-loading-content>span,.empty-state-readonly{color:RGB(var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem))}.attachment-loading-container{display:flex;margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem);margin-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem);padding-top:calc(var(--now-scale-space--sm, 1)*.5rem)}.attachment-loader{margin-block-start:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}input,textarea{font-family:inherit}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}now-dropdown-custom-target,now-input{width:100%}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}.sn-control-field:focus{outline:none}.sn-control-field:hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))))}.sn-control-field:hover:after{height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2)}@media(forced-colors:active){.sn-control-field:hover{border-color:highlight}}.is-disabled .sn-control-field{opacity:var(--now-opacity--mid,.5);pointer-events:none}.sn-select{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;flex:1 1 auto;font-size:inherit;height:100%;margin:0;min-width:1px;padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));position:relative;width:100%}.sn-select:focus{outline:none}.sn-select.has-placeholder,.sn-select:disabled,.sn-select:invalid{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95)}.sn-select.is-disabled{cursor:not-allowed}.sn-select-value{display:block;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-select-value:after{content:\\\"\\\";display:block}.sn-select-value:focus{outline:none}.sn-select-icon{align-items:center;color:RGB(var(--now-form-control_label_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;height:2rem;justify-content:center;width:2rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}:host{align-items:center;display:inline-flex}:host(.block-style){display:block;line-height:0}.sn-record-choice-search{margin-right:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-choice-search-trigger{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));cursor:pointer;height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-choice-search-trigger:focus{border-color:RGB(var(--now-color--focus-2,1,119,142));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1));outline:none}.sn-record-choice-search-trigger:focus::-moz-focus-inner{border-style:none}.sn-record-choice-search-trigger:not(.is-disabled).has-hover,.sn-record-choice-search-trigger:not(.is-disabled):hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))))}.sn-record-choice-search-trigger:not(.is-disabled).has-hover:after,.sn-record-choice-search-trigger:not(.is-disabled):hover:after{height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2)}.sn-record-choice-search-trigger:not(.is-disabled).is-opened{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-color--focus-2,1,119,142));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.sn-record-choice-search-trigger.info{background-color:RGB(var(--now-indicator--tertiary_info--background-color,var(--now-color_alert--info-0,195,221,240)))}@media(forced-colors:active){.sn-record-choice-search-trigger{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.sn-record-choice-search-trigger:not(.is-disabled).has-hover,.sn-record-choice-search-trigger:not(.is-disabled):hover{border-color:highlight!important}.sn-record-choice-search-trigger.has-focus,.sn-record-choice-search-trigger:focus{border-color:highlight!important;outline:1px solid highlight}.sn-record-choice-search-trigger.is-disabled{border-color:graytext!important;color:graytext!important;opacity:1!important}.sn-record-choice-search-trigger.is-readonly,.sn-record-choice-search-trigger.is-readonly.has-hover,.sn-record-choice-search-trigger.is-readonly:hover{border-color:graytext!important}.sn-record-choice-search-trigger ::placeholder{color:graytext!important}.sn-record-choice-search-trigger .now-input-native-selection{border-block-end:1px solid highlight!important}}.sn-record-choice-search-caret,.sn-record-choice-search-default-label{align-items:center;display:inline-flex}.sn-record-choice-search-caret{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-record-choice-search-caret.disabled{display:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.now-input-field-trigger{display:block}.sn-trigger-icon{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;height:2rem;justify-content:center;padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));width:2rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{margin-block-end:var(--now-space--xxs,.125rem)}.now-m-block--xxs,.now-m-block-start--xxs{margin-block-start:var(--now-space--xxs,.125rem)}.now-m-block-end--xxs{margin-block-end:var(--now-space--xxs,.125rem)}.now-m-inline--xxs{margin-inline-end:var(--now-space--xxs,.125rem)}.now-m-inline--xxs,.now-m-inline-start--xxs{margin-inline-start:var(--now-space--xxs,.125rem)}.now-m-inline-end--xxs{margin-inline-end:var(--now-space--xxs,.125rem)}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-block--sm{margin-block-end:var(--now-space--sm,.5rem)}.now-m-block--sm,.now-m-block-start--sm{margin-block-start:var(--now-space--sm,.5rem)}.now-m-block-end--sm{margin-block-end:var(--now-space--sm,.5rem)}.now-m-inline--sm{margin-inline-end:var(--now-space--sm,.5rem)}.now-m-inline--sm,.now-m-inline-start--sm{margin-inline-start:var(--now-space--sm,.5rem)}.now-m-inline-end--sm{margin-inline-end:var(--now-space--sm,.5rem)}.now-m-block--md{margin-block-end:var(--now-space--sm2,.75rem)}.now-m-block--md,.now-m-block-start--md{margin-block-start:var(--now-space--sm2,.75rem)}.now-m-block-end--md{margin-block-end:var(--now-space--sm2,.75rem)}.now-m-inline--md{margin-inline-end:var(--now-space--sm2,.75rem)}.now-m-inline--md,.now-m-inline-start--md{margin-inline-start:var(--now-space--sm2,.75rem)}.now-m-inline-end--md{margin-inline-end:var(--now-space--sm2,.75rem)}.now-m-block--lg{margin-block-end:var(--now-space--md1,1rem)}.now-m-block--lg,.now-m-block-start--lg{margin-block-start:var(--now-space--md1,1rem)}.now-m-block-end--lg{margin-block-end:var(--now-space--md1,1rem)}.now-m-inline--lg{margin-inline-end:var(--now-space--md1,1rem)}.now-m-inline--lg,.now-m-inline-start--lg{margin-inline-start:var(--now-space--md1,1rem)}.now-m-inline-end--lg{margin-inline-end:var(--now-space--md1,1rem)}.now-m-block--xl{margin-block-end:var(--now-space--lg2,1.5rem)}.now-m-block--xl,.now-m-block-start--xl{margin-block-start:var(--now-space--lg2,1.5rem)}.now-m-block-end--xl{margin-block-end:var(--now-space--lg2,1.5rem)}.now-m-inline--xl{margin-inline-end:var(--now-space--lg2,1.5rem)}.now-m-inline--xl,.now-m-inline-start--xl{margin-inline-start:var(--now-space--lg2,1.5rem)}.now-m-inline-end--xl{margin-inline-end:var(--now-space--lg2,1.5rem)}.now-m-block--xxl{margin-block-end:var(--now-space--lg6,2rem)}.now-m-block--xxl,.now-m-block-start--xxl{margin-block-start:var(--now-space--lg6,2rem)}.now-m-block-end--xxl{margin-block-end:var(--now-space--lg6,2rem)}.now-m-inline--xxl{margin-inline-end:var(--now-space--lg6,2rem)}.now-m-inline--xxl,.now-m-inline-start--xxl{margin-inline-start:var(--now-space--lg6,2rem)}.now-m-inline-end--xxl{margin-inline-end:var(--now-space--lg6,2rem)}.now-m-block--3xl{margin-block-end:var(--now-space--xl,2.5rem)}.now-m-block--3xl,.now-m-block-start--3xl{margin-block-start:var(--now-space--xl,2.5rem)}.now-m-block-end--3xl{margin-block-end:var(--now-space--xl,2.5rem)}.now-m-inline--3xl{margin-inline-end:var(--now-space--xl,2.5rem)}.now-m-inline--3xl,.now-m-inline-start--3xl{margin-inline-start:var(--now-space--xl,2.5rem)}.now-m-inline-end--3xl{margin-inline-end:var(--now-space--xl,2.5rem)}.now-m-block--0{margin-block-end:0}.now-m-block--0,.now-m-block-start--0{margin-block-start:0}.now-m-block-end--0{margin-block-end:0}.now-m-inline--0{margin-inline-end:0}.now-m-inline--0,.now-m-inline-start--0{margin-inline-start:0}.now-m-inline-end--0{margin-inline-end:0}.now-p-block--xxs{padding-block-end:var(--now-space--xxs,.125rem)}.now-p-block--xxs,.now-p-block-start--xxs{padding-block-start:var(--now-space--xxs,.125rem)}.now-p-block-end--xxs{padding-block-end:var(--now-space--xxs,.125rem)}.now-p-inline--xxs{padding-inline-end:var(--now-space--xxs,.125rem)}.now-p-inline--xxs,.now-p-inline-start--xxs{padding-inline-start:var(--now-space--xxs,.125rem)}.now-p-inline-end--xxs{padding-inline-end:var(--now-space--xxs,.125rem)}.now-p-block--xs{padding-block-end:var(--now-space--xs,.25rem)}.now-p-block--xs,.now-p-block-start--xs{padding-block-start:var(--now-space--xs,.25rem)}.now-p-block-end--xs{padding-block-end:var(--now-space--xs,.25rem)}.now-p-inline--xs{padding-inline-end:var(--now-space--xs,.25rem)}.now-p-inline--xs,.now-p-inline-start--xs{padding-inline-start:var(--now-space--xs,.25rem)}.now-p-inline-end--xs{padding-inline-end:var(--now-space--xs,.25rem)}.now-p-block--sm{padding-block-end:var(--now-space--sm,.5rem)}.now-p-block--sm,.now-p-block-start--sm{padding-block-start:var(--now-space--sm,.5rem)}.now-p-block-end--sm{padding-block-end:var(--now-space--sm,.5rem)}.now-p-inline--sm{padding-inline-end:var(--now-space--sm,.5rem)}.now-p-inline--sm,.now-p-inline-start--sm{padding-inline-start:var(--now-space--sm,.5rem)}.now-p-inline-end--sm{padding-inline-end:var(--now-space--sm,.5rem)}.now-p-block--md{padding-block-end:var(--now-space--sm2,.75rem)}.now-p-block--md,.now-p-block-start--md{padding-block-start:var(--now-space--sm2,.75rem)}.now-p-block-end--md{padding-block-end:var(--now-space--sm2,.75rem)}.now-p-inline--md{padding-inline-end:var(--now-space--sm2,.75rem)}.now-p-inline--md,.now-p-inline-start--md{padding-inline-start:var(--now-space--sm2,.75rem)}.now-p-inline-end--md{padding-inline-end:var(--now-space--sm2,.75rem)}.now-p-block--lg{padding-block-end:var(--now-space--md1,1rem)}.now-p-block--lg,.now-p-block-start--lg{padding-block-start:var(--now-space--md1,1rem)}.now-p-block-end--lg{padding-block-end:var(--now-space--md1,1rem)}.now-p-inline--lg{padding-inline-end:var(--now-space--md1,1rem)}.now-p-inline--lg,.now-p-inline-start--lg{padding-inline-start:var(--now-space--md1,1rem)}.now-p-inline-end--lg{padding-inline-end:var(--now-space--md1,1rem)}.now-p-block--xl{padding-block-end:var(--now-space--lg2,1.5rem)}.now-p-block--xl,.now-p-block-start--xl{padding-block-start:var(--now-space--lg2,1.5rem)}.now-p-block-end--xl{padding-block-end:var(--now-space--lg2,1.5rem)}.now-p-inline--xl{padding-inline-end:var(--now-space--lg2,1.5rem)}.now-p-inline--xl,.now-p-inline-start--xl{padding-inline-start:var(--now-space--lg2,1.5rem)}.now-p-inline-end--xl{padding-inline-end:var(--now-space--lg2,1.5rem)}.now-p-block--xxl{padding-block-end:var(--now-space--lg6,2rem)}.now-p-block--xxl,.now-p-block-start--xxl{padding-block-start:var(--now-space--lg6,2rem)}.now-p-block-end--xxl{padding-block-end:var(--now-space--lg6,2rem)}.now-p-inline--xxl{padding-inline-end:var(--now-space--lg6,2rem)}.now-p-inline--xxl,.now-p-inline-start--xxl{padding-inline-start:var(--now-space--lg6,2rem)}.now-p-inline-end--xxl{padding-inline-end:var(--now-space--lg6,2rem)}.now-p-block--3xl{padding-block-end:var(--now-space--xl,2.5rem)}.now-p-block--3xl,.now-p-block-start--3xl{padding-block-start:var(--now-space--xl,2.5rem)}.now-p-block-end--3xl{padding-block-end:var(--now-space--xl,2.5rem)}.now-p-inline--3xl{padding-inline-end:var(--now-space--xl,2.5rem)}.now-p-inline--3xl,.now-p-inline-start--3xl{padding-inline-start:var(--now-space--xl,2.5rem)}.now-p-inline-end--3xl{padding-inline-end:var(--now-space--xl,2.5rem)}.now-p-block--0{padding-block-end:0}.now-p-block--0,.now-p-block-start--0{padding-block-start:0}.now-p-block-end--0{padding-block-end:0}.now-p-inline--0{padding-inline-end:0}.now-p-inline--0,.now-p-inline-start--0{padding-inline-start:0}.now-p-inline-end--0{padding-inline-end:0}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.sn-record-phone-connected{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.time-worked-confirmation{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));border-top:none;display:flex;flex-direction:column;flex-direction:row;justify-content:flex-end;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;padding-top:calc(var(--now-scale-space--sm, 1)*.5rem)}.time-worked-confirmation .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.time-worked-confirmation now-record-time{width:100%}:host(:not([dir=rtl])) .time-worked-confirmation now-button,:host(:not([dir=rtl])) .time-worked-confirmation sn-record-control,:root:not([dir=rtl]) .time-worked-confirmation now-button,:root:not([dir=rtl]) .time-worked-confirmation sn-record-control{margin-left:.5rem}:host([dir=rtl]) .time-worked-confirmation now-button,:host([dir=rtl]) .time-worked-confirmation sn-record-control,:root[dir=rtl] .time-worked-confirmation now-button,:root[dir=rtl] .time-worked-confirmation sn-record-control{margin-right:.5rem}.time-worked-popover-content{display:flex;flex-direction:column;padding-top:calc(var(--now-scale-space--sm, 1)*.5rem);width:240px}.time-worked-popover-content sn-record-duration{margin:0 calc(var(--now-scale-space--lg, 1)*1rem)}now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}now-textarea{margin:0;width:100%}.sn-record-wiki-text{flex-direction:column;margin-top:calc(var(--now-scale-space--xs, 1)*.25rem);padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-record-wiki-text:not(.is-focus,.read-only) :after{height:0}.sn-record-wiki-text.is-empty{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}.modal-content{height:100%}.modal-content :host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}.modal-content :host([hidden]){display:none}.modal-content *,.modal-content :after,.modal-content :before{box-sizing:border-box}.modal-content .now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.modal-content :host{--now-modal--width--custom:62.5rem;--now-modal--height--custom:46.875rem;display:block}.modal-content .now-modal-overlay{--now-motion--duration:var(--now-motion--duration--normal,200ms);--now-motion--timing-function:var(--now-motion--ease--linear,linear);background-color:RGB(var(--now-modal_overlay--background-color,var(--now-window_overlay--background-color,var(--now-color--neutral-21,0,0,0))),var(--now-modal_overlay--background-color-alpha,var(--now-window_overlay--background-color-alpha,var(--now-opacity--mid,.5))));inset:0;overflow-y:auto;position:fixed;z-index:4000}.modal-content .now-modal-overlay.hide-overlay{background-color:transparent}.modal-content [hidden] .now-modal{visibility:hidden}.modal-content .now-modal{block-size:100%;display:block;inline-size:100%;inset-block-start:0;inset-inline-start:0;position:absolute;visibility:visible;z-index:4000}@media(min-width:26.25rem){.modal-content .now-modal.is-opened.-custom,.modal-content .now-modal.is-opened.-sm{align-items:center;display:flex;justify-content:center}}@media(min-width:26.25rem)and (max-height:19.6875rem){.modal-content .now-modal.is-opened.-custom,.modal-content .now-modal.is-opened.-sm{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.modal-content .now-modal.is-opened.-md{align-items:center;display:flex;justify-content:center}}@media(min-width:37.5rem)and (max-height:28.125rem){.modal-content .now-modal.is-opened.-md{block-size:auto;min-block-size:100%}}@media(min-width:50rem){.modal-content .now-modal.is-opened.-lg{align-items:center;display:flex;justify-content:center}}@media(min-width:50rem)and (max-height:37.5rem){.modal-content .now-modal.is-opened.-lg{block-size:auto;min-block-size:100%}}.modal-content .now-modal.is-legacy-mode{block-size:auto;min-block-size:100%}@media(min-height:37.5rem)and (min-width:50rem){.modal-content .now-modal.is-legacy-mode.is-opened.-lg .now-modal-dialog{max-block-size:none}}.modal-content .now-modal.is-legacy-mode .now-modal-body{overflow:initial}.modal-content .now-modal-dialog{--now-motion--duration:var(--now-motion--duration--normal,200ms);--now-motion--timing-function:var(--now-motion--ease--guided-enter,cubic-bezier(0.21,0.64,0.52,1));background-color:RGB(var(--now-modal--background-color,var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));block-size:100%;display:flex;flex-direction:column;font-family:var(--now-modal--font-family,var(--now-window--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-variant:normal;inline-size:100%;letter-spacing:inherit;padding:calc(var(--now-space--lg2, 1.5rem)*var(--now-modal--scale-size, 1));position:relative;text-align:start;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit;z-index:4001}.modal-content .now-modal-dialog.hide-padding{padding:0}@media(max-width:26.25rem)and (max-height:19.6875rem){.is-opened.-sm .modal-content .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:26.25rem){.is-opened.-sm .modal-content .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:26.25rem}}@media(min-width:26.25rem)and (min-height:8.3125rem){.is-opened.-sm .modal-content .now-modal-dialog{block-size:auto;max-block-size:19.6875rem;min-block-size:8.3125rem}}@media(max-width:37.5rem)and (max-height:28.125rem){.is-opened.-md .modal-content .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.is-opened.-md .modal-content .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:37.5rem}}@media(min-width:37.5rem)and (min-height:11.875rem){.is-opened.-md .modal-content .now-modal-dialog{block-size:auto;max-block-size:28.125rem;min-block-size:11.875rem}}@media(max-width:50rem)and (max-height:37.5rem){.is-opened.-lg .modal-content .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:50rem){.is-opened.-lg .modal-content .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:50rem}}@media(min-width:50rem)and (min-height:15.875rem){.is-opened.-lg .modal-content .now-modal-dialog{block-size:auto;max-block-size:37.5rem;min-block-size:15.875rem}}@media(max-width:26.25rem)and (max-height:19.6875rem){.is-opened.-custom .modal-content .now-modal-dialog,.is-opened.-fullscreen .modal-content .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:26.25rem){.is-opened.-custom .modal-content .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));inline-size:var(--now-modal--width--custom);max-inline-size:100%;min-inline-size:26.25rem}}@media(min-width:26.25rem)and (min-height:8.3125rem){.is-opened.-custom .modal-content .now-modal-dialog{block-size:var(--now-modal--height--custom);max-block-size:90%;min-block-size:8.3125rem}}@media(max-width:37.5rem)and (max-height:11.875rem){.is-opened.-formsonlydonotuse-md .modal-content .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.is-opened.-formsonlydonotuse-md .modal-content .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:37.5rem}}@media(min-width:37.5rem)and (min-height:11.875rem){.is-opened.-formsonlydonotuse-md .modal-content .now-modal-dialog{block-size:auto;max-block-size:34.125rem;min-block-size:11.875rem}}.modal-content .now-modal-header{flex:none}.modal-content .now-modal-button-iconic{margin-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-modal--scale-size-inline, 1))}:host(:not([dir=rtl])) .modal-content .now-modal-button-iconic,:root:not([dir=rtl]) .modal-content .now-modal-button-iconic{float:right}:host([dir=rtl]) .modal-content .now-modal-button-iconic,:root[dir=rtl] .modal-content .now-modal-button-iconic{float:left}.modal-content .now-modal-heading{color:RGB(var(--now-modal_heading--color,var(--now-window_header_label--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));font-family:var(--now-modal_heading--font-family,var(--now-window_header--font-family,var(--now-display-type--header-primary--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-size:var(--now-window_header--font-size--lg,var(--now-display-type_header--font-size--lg,var(--now-font-size--lg,1.25rem)));font-style:var(--now-modal_heading--font-style,var(--now-window_header--font-style,var(--now-display-type--header-primary--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-modal_heading--font-weight,var(--now-window_header--font-weight,var(--now-display-type--header-primary--font-weight,var(--now-display-type--primary--font-weight,600))));line-height:1.25;margin-block-end:calc(var(--now-space--lg2, 1.5rem)*var(--now-modal--scale-size-block, 1));margin-block-start:0;overflow:hidden;text-overflow:ellipsis;text-transform:var(--now-modal_heading--text-transform,var(--now-window_header--text-transform,var(--now-display-type--header-primary--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none)))));white-space:nowrap}.modal-content .now-modal-heading:after{content:\\\"\\\";display:block}.modal-content .now-modal-body{flex:auto;overflow:auto}.modal-content .now-modal-body:focus-visible{outline:.125rem solid RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}@media(forced-colors:active){.modal-content .now-modal-body:focus-visible{outline:1px solid highlight}}.modal-content .now-modal-body.is-full-width{inline-size:calc(100% + var(--now-space--lg2, 1.5rem)/2*2 + var(--now-modal--scale-size, 1)*var(--now-space--lg2, 1.5rem)/2*2);margin-inline:calc(var(--now-space--lg2, 1.5rem)*-1*var(--now-modal--scale-size, 1))}.modal-content .now-modal-p{font-size:var(--now-window_body--font-size--md,var(--now-font-size--md1,1rem));font-style:var(--now-modal--font-style,var(--now-window--font-style,normal));font-weight:var(--now-modal--font-weight,var(--now-window--font-weight,normal));line-height:normal;margin-block:0;text-transform:var(--now-modal--text-transform,var(--now-window--text-transform,none))}.modal-content .now-modal-footer{display:flex;flex:none;flex-direction:column;overflow-x:auto;overflow-y:hidden;padding-block-start:calc(var(--now-space--xl, 2.5rem)*var(--now-modal--scale-size-block, 1))}@media(min-width:26.25rem){.-custom .modal-content .now-modal-footer,.-fullscreen .modal-content .now-modal-footer,.-sm .modal-content .now-modal-footer{flex-direction:row}.-custom .modal-content .now-modal-footer .now-modal-footer-button,.-fullscreen .modal-content .now-modal-footer .now-modal-footer-button,.-sm .modal-content .now-modal-footer .now-modal-footer-button{inline-size:auto}.-custom .modal-content .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-custom .modal-content .now-modal-footer .now-modal-footer-button:only-child,.-fullscreen .modal-content .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-fullscreen .modal-content .now-modal-footer .now-modal-footer-button:only-child,.-sm .modal-content .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-sm .modal-content .now-modal-footer .now-modal-footer-button:only-child{margin-inline-start:auto}.-custom .modal-content .now-modal-footer .now-modal-footer-button:not(:last-child),.-fullscreen .modal-content .now-modal-footer .now-modal-footer-button:not(:last-child),.-sm .modal-content .now-modal-footer .now-modal-footer-button:not(:last-child){margin-block-end:0;margin-inline-end:calc(var(--now-space--sm, .5rem)*var(--now-modal--scale-size-inline, 1))}}@media(min-width:37.5rem){.-md .modal-content .now-modal-footer{flex-direction:row}.-md .modal-content .now-modal-footer .now-modal-footer-button{inline-size:auto}.-md .modal-content .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-md .modal-content .now-modal-footer .now-modal-footer-button:only-child{margin-inline-start:auto}.-md .modal-content .now-modal-footer .now-modal-footer-button:not(:last-child){margin-block-end:0;margin-inline-end:calc(var(--now-space--sm, .5rem)*var(--now-modal--scale-size-inline, 1))}}@media(min-width:50rem){.-lg .modal-content .now-modal-footer{flex-direction:row}.-lg .modal-content .now-modal-footer .now-modal-footer-button{inline-size:auto}.-lg .modal-content .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-lg .modal-content .now-modal-footer .now-modal-footer-button:only-child{margin-inline-start:auto}.-lg .modal-content .now-modal-footer .now-modal-footer-button:not(:last-child){margin-block-end:0;margin-inline-end:calc(var(--now-space--sm, .5rem)*var(--now-modal--scale-size-inline, 1))}}.modal-content .now-modal-footer-button{inline-size:100%}.modal-content .now-modal-footer-button:not(:last-child){margin-block-end:calc(var(--now-space--sm, .5rem)*var(--now-modal--scale-size-block, 1))}@media(forced-colors:active){.modal-content .now-modal.is-opened.-custom .now-modal-dialog,.modal-content .now-modal.is-opened.-lg .now-modal-dialog,.modal-content .now-modal.is-opened.-md .now-modal-dialog,.modal-content .now-modal.is-opened.-sm .now-modal-dialog{border-width:1px}}@media(min-width:50rem){.modal-content{height:26.375rem}}.modal-content-input-area{height:100%;overflow:hidden}.modal-content-textarea{height:calc(100% - .25rem)}.modal-content-preview-area{display:flex;flex-direction:column}.modal-content.dual-mode{display:flex;justify-content:space-between}.modal-content.dual-mode>div{max-width:calc(50% - .5rem);min-width:calc(50% - .5rem)}.preview-container{outline:none;overflow:auto}.preview-container .loader{display:none}.preview-container.loading .loader{display:flex}.sn-record-wiki-text>.preview-container:not(.is-empty){margin-block-start:calc(var(--now-scale-space--xs, 1)*.25rem);max-height:16rem;min-height:4rem}.sn-record-wiki-text>.preview-container now-rich-text{height:100%}.sn-record-wiki-text>.preview-container.loading .loader{align-items:center;display:flex;height:100%;justify-content:center;max-height:16rem;position:absolute;width:100%}.sn-record-wiki-text>.preview-container.loading .loader>div{align-items:center;display:flex;justify-content:center}.sn-record-wiki-text>.preview-container.loading now-rich-text{visibility:hidden}.modal-content .preview-container{flex-grow:1;margin-block-start:calc(var(--now-scale-space--md, 1)*.75rem)}.modal-content .preview-container::-moz-focus-inner{border-style:none}.modal-content .preview-container:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.modal-content .preview-container:focus-visible{outline:1px solid highlight}}.modal-content .preview-container.loading{align-items:center;display:flex;justify-content:center}.modal-content .preview-container.loading now-rich-text{display:none}.sr-only{clip:rect(1px,1px,1px,1px)!important;border:0!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;outline:none;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host{width:100%}.pad-bottom{padding-bottom:1.25rem}.field-selection-fields-container{align-items:flex-start;display:flex;flex:1;flex-flow:row wrap;order:1;width:100%}.field-selection-selector{display:flex;flex:1;gap:calc(var(--now-scale-space--md, 1)*.75rem);margin-inline-end:calc(var(--now-scale-space--xl, 1)*1.5rem);order:1;width:50%}.field-selection-selector .sn-control{flex:1}.field-selection-field-container{flex:1 1 0;margin-inline-end:calc(var(--now-scale-space--lg, 1)*1rem);order:2}.field-selection-actions-container{align-items:flex-end;align-self:stretch;display:flex;flex:0 0 auto;gap:calc(var(--now-scale-space--md, 1)*.75rem);justify-content:flex-end;min-width:7.5rem;order:3;padding-block-end:.5rem}.single-column{min-width:2rem}.double-column{min-width:calc(4rem + var(--now-scale-space--md, 1)*.75rem)}.readonly-field{min-width:unset}.field-selection-fields-container-no-wrap{display:flex;flex:1;order:1}.field-direction-column{flex-direction:column}.field-selection-field{display:flex;flex:1;order:2;overflow-x:auto}.field-selection-field :first-child{flex:1 1 0}.filter-button-container{position:relative}.filter-button-container .filter-badge{left:1.125rem;position:absolute;top:0}.field-selection-variable-picker{align-content:center}.field-selection-container-readonly{display:flex;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.field-selection-label-readonly{flex:1;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);margin-inline-end:calc(var(--now-scale-space--xl, 1)*1.5rem)}.field-selection-value-readonly{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:var(--now-form-field--border-radius--readonly,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));flex:1;margin-inline-end:calc(var(--now-scale-space--md, 1)*.75rem);max-height:16rem;overflow-x:hidden;overflow-y:auto;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem);white-space:break-spaces}.sn-select{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;flex:1 1 auto;font-size:inherit;height:100%;margin:0;min-width:1px;padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));position:relative;width:100%}.sn-select:focus{outline:none}.sn-select.has-placeholder,.sn-select:disabled,.sn-select:invalid{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95)}.sn-select.is-disabled{cursor:not-allowed}.sn-select-value{display:block;flex:1 1 auto;overflow:hidden;overflow:initial;text-overflow:ellipsis;white-space:nowrap}.sn-select-value:after{content:\\\"\\\";display:block}.sn-select-value:focus{outline:none}.sn-select-icon{align-items:center;color:RGB(var(--now-form-control_label_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;height:2rem;justify-content:center;width:2rem}.sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.form-field-label-wrap{align-items:start;color:RGBA(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),var(--now-form-control_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),66,80,81);display:flex;font-size:var(--now-form-control_label--font-size--md,var(--now-font-size--md1,1rem));height:1rem;justify-content:flex-start}.field-selector-container,.now-badge-container{align-items:center;display:flex}.now-badge{height:.25rem;padding-right:1%}.badge-display-unsupported-field{display:flex}.read-only-input{width:100%}.field-selection-container{container-name:template;container-type:inline-size;display:flex;flex:1;flex-flow:row}.field-selection-container .field-selection-fields-container .field-selection-selector .sn-control{flex:1}.field-selection-container .field-selection-fields-container .field-selection-selector .sn-control .form-field-label-wrap .now-form-field-label{margin-block-start:calc(var(--now-scale-space--xxs, 1)*.5rem)}.field-selection-container .field-selection-fields-container .field-selection-selector .sn-control .form-field-label-wrap .sn-control-field-label-start{margin-right:calc(var(--now-scale-space--xxs, 1)*.25rem);margin-top:calc(var(--now-scale-space--xxs, 1)*.15rem)}.field-selection-container .field-selection-fields-container .field-selection-selector .sn-control.-vertical .form-field-label-wrap{margin-block-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.field-selection-container .field-selection-fields-container .field-selection-field-container .sn-control .form-field-label-wrap .now-form-field-label{margin-block-start:calc(var(--now-scale-space--xxs, 1)*.65rem)}.field-selection-container .field-selection-fields-container .field-selection-field-container .sn-control .form-field-label-wrap .sn-control-field-label-start{margin-right:calc(var(--now-scale-space--xxs, 1)*.25rem);margin-top:calc(var(--now-scale-space--xxs, 1)*.3rem)}.field-selection-container .field-selection-fields-container .add-field-line-divider{border:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));flex:1}.field-selection-container .field-selection-fields-container .divider-start{margin-inline-end:16px}.field-selection-container .field-selection-fields-container .divider-end{margin-inline-start:16px}.field-selection-container .field-selection-fields-container .add-action-button{align-items:center;display:none;margin:.5rem 0;visibility:hidden;width:100%}.field-selection-container .field-selection-fields-container .display-flex{display:flex}.field-selection-container .field-selection-fields-container .show-action-button{visibility:visible}@container template (width <= 480px){.field-direction-column{flex-direction:column}.field-direction-column .field-selection-actions-container,.field-direction-column .field-selection-field-container,.field-direction-column .field-selection-selector{flex:1 1 100%;margin-bottom:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.field-selection-selector{margin-inline-end:0;width:100%}.field-selection-fields-container:not(.field-text-based){flex-flow:row wrap}.field-selection-fields-container:not(.field-text-based) .field-selection-selector{flex:1 1 100%;margin-bottom:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.field-selection-fields-container:not(.field-text-based) .field-selection-field-container{flex:1}.field-selection-fields-container:not(.field-text-based) .field-selection-actions-container{flex:0 0 auto;margin-left:auto}.field-text-based{flex-direction:column}.field-text-based .field-selection-field-container{margin-inline-end:0;width:100%}}@container template (width >= 481px) and (width <= 720px){.field-selection-fields-container{flex-flow:row wrap}.field-selection-fields-container .field-selection-selector{flex:1 1 100%;margin-bottom:0;margin-inline-end:0;width:100%}.field-selection-fields-container .field-selection-field-container{flex:1}.field-selection-fields-container .field-selection-actions-container{flex:0 0 auto;margin-left:auto}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control .sn-form-field{display:flex;flex-direction:column;flex-wrap:wrap}.sn-control.-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.sn-control.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}.default-fieldset{border:none;display:inline-block;margin:0;min-width:0;padding:0;width:100%}.decorations-icon-wrapper{all:inherit;margin-inline-start:calc(var(--now-scale-space--md, 1)*.75rem)}.fit-to-parent{block-size:100%}.fit-to-parent now-textarea{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}:host{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid;border-color:RGB(var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-menu-picker_cell_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));display:flex;font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-menu-picker_item_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-menu-picker_item--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));color:RGB(var(--now-menu-picker_item_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));cursor:pointer;display:flex;font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-menu-picker_item--background-color--hover,var(--now-color_selection--secondary-0,245,248,249)))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-menu-list_label--primary--background-color--highlighted,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-record-dts{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border:var(--now-container--border-width,1px) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.125rem;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem);margin-block-start:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-response{margin:0;overflow:auto;overflow-wrap:break-word;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem);white-space:pre-wrap}.sn-record-dts-header{align-items:center;display:flex;justify-content:space-between;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-dts-translator{font-size:.75rem;margin:0}.sn-record-dts-loader{margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-translate-icon{margin-top:calc(var(--now-scale-space--md, 1)*2rem);position:absolute;right:0;z-index:1}.sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*3rem);position:absolute;right:1rem;z-index:2}.sn-control.is-readonly .sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*1em)}.sn-editor .sn-control .form-field-label-wrap .now-form-field-label{min-width:0}.sn-editor .sn-control .sn-control-field-label-start{display:flex}.sn-editor .sn-control .sn-control-highlighted-field-label-end now-highlighted-value{max-width:5.25rem;padding-inline-start:.75rem}.sn-editor .-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:.25rem}.sn-editor.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.sn-editor.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}.sn-mce-readonly{min-height:160px}.fit-to-parent{block-size:100%}.fit-to-parent .sn-control{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.tox.tox-tinymce .tox-editor-header.sn_hide_toolbar{height:0;opacity:0;padding:0;visibility:hidden}.tox.sn-mce-noborder{border:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid;border-color:RGB(var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-menu-picker_cell_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));display:flex;font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-menu-picker_item_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-menu-picker_item--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));color:RGB(var(--now-menu-picker_item_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));cursor:pointer;display:flex;font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-menu-picker_item--background-color--hover,var(--now-color_selection--secondary-0,245,248,249)))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-menu-list_label--primary--background-color--highlighted,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-record-dts{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border:var(--now-container--border-width,1px) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.125rem;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem);margin-block-start:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-response{margin:0;overflow:auto;overflow-wrap:break-word;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem);white-space:pre-wrap}.sn-record-dts-header{align-items:center;display:flex;justify-content:space-between;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-dts-translator{font-size:.75rem;margin:0}.sn-record-dts-loader{margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-translate-icon{margin-top:calc(var(--now-scale-space--md, 1)*2rem);position:absolute;right:0;z-index:1}.sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*3rem);position:absolute;right:1rem;z-index:2}.sn-control.is-readonly .sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*1em)}.sn-editor{margin:0 2px}.sn-editor .sn-control .form-field-label-wrap .now-form-field-label{min-width:0}.sn-editor .sn-control .sn-control-field-label-start{display:flex}.sn-editor .sn-control .sn-control-highlighted-field-label-end now-highlighted-value{max-width:5.25rem;padding-inline-start:.75rem}.sn-editor .-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:.25rem}.sn-editor.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.sn-editor.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}.sn-mce-readonly{min-height:160px}.fit-to-parent{block-size:100%}.loader-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.content-tree-css-parent{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:var(--now-input--border-width,var(--now-form-control-input--primary--border-width,0)) solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));border-left:0;border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));box-sizing:border-box;margin:0;min-width:0;overflow:hidden;width:100%}.content-tree-css-parent.is-stacked{border-bottom-left-radius:0;border-top-left-radius:0}.content-tree-css-parent-resize{resize:vertical}.content-tree-css{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));box-sizing:border-box;height:100%;margin:0;min-height:-moz-fit-content;min-height:fit-content;min-width:0;width:100%}.content-tree-container{display:grid;grid-template-columns:70% 30%}.content-tree-no-variable{position:relative;top:25%}.content-table-name{align-items:center;align-self:stretch;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:.75rem;font-weight:600;min-height:calc(var(--now-scale-space--xl, 1)*1.5rem);padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.content-tree-readonly{display:none}.content-tree-css-border{border:var(--now-input--border-width,var(--now-form-control-input--primary--border-width,0)) solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))}@media(max-width:31.25rem){.content-tree-container{grid-template-columns:1fr}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid;border-color:RGB(var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-menu-picker_cell_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));display:flex;font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-menu-picker_item_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-menu-picker_item--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));color:RGB(var(--now-menu-picker_item_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));cursor:pointer;display:flex;font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-menu-picker_item--background-color--hover,var(--now-color_selection--secondary-0,245,248,249)))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-menu-list_label--primary--background-color--highlighted,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-record-dts{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border:var(--now-container--border-width,1px) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.125rem;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem);margin-block-start:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-response{margin:0;overflow:auto;overflow-wrap:break-word;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem);white-space:pre-wrap}.sn-record-dts-header{align-items:center;display:flex;justify-content:space-between;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-dts-translator{font-size:.75rem;margin:0}.sn-record-dts-loader{margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-translate-icon{margin-top:calc(var(--now-scale-space--md, 1)*2rem);position:absolute;right:0;z-index:1}.sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*3rem);position:absolute;right:1rem;z-index:2}.sn-control.is-readonly .sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*1em)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-textarea{width:100%}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.with-message{align-items:center;display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));height:100%;justify-content:center;margin:0;padding:calc(var(--now-scale-space--lg, 1)*1rem)}.loader-with-message{background-color:var(--now-form-control_handle--background-color,var(--now-color--neutral-0,255,255,255));position:sticky;top:0;z-index:9999}.loader-with-message .with-message{align-items:center;display:flex;height:100%;justify-content:center;margin:0;padding:calc(var(--now-scale-space--lg, 1)*1rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-input-password{margin-block:calc(var(--now-scale-space--sm, 1)*.5rem);width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid;border-color:RGB(var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-menu-picker_cell_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));display:flex;font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-menu-picker_item_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-menu-picker_item--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));color:RGB(var(--now-menu-picker_item_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));cursor:pointer;display:flex;font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-menu-picker_item--background-color--hover,var(--now-color_selection--secondary-0,245,248,249)))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-menu-list_label--primary--background-color--highlighted,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-record-link{color:RGB(var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142)));font-size:var(--now-actionable--font-size--md,var(--now-font-size--md1,1rem));text-decoration:none;word-break:break-all}.sn-record-link:active,.sn-record-link:hover{text-decoration:underline}.sn-record-link:hover{color:RGB(var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))}.sn-record-link:active{color:RGB(var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71)))}.sn-record-link.-dark{color:RGB(var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))}.sn-record-link.-dark:active,.sn-record-link.-dark:hover{color:RGB(var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71)))}.sn-record-link.-sm,.sn-record-link.-xs{font-size:var(--now-actionable--font-size--sm,var(--now-font-size--sm,.75rem))}:host(:not([dir=rtl])) .sn-record-link now-icon:first-child,:root:not([dir=rtl]) .sn-record-link now-icon:first-child{margin-right:.25rem}:host([dir=rtl]) .sn-record-link now-icon:first-child,:root[dir=rtl] .sn-record-link now-icon:first-child{margin-left:.25rem}:host(:not([dir=rtl])) .sn-record-link now-icon:last-child,:root:not([dir=rtl]) .sn-record-link now-icon:last-child{margin-left:.25rem}:host([dir=rtl]) .sn-record-link now-icon:last-child,:root[dir=rtl] .sn-record-link now-icon:last-child{margin-right:.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.list-selector-container{height:21.625rem}now-input{width:100%}.now-align,span[slot=end]{align-items:center}span[slot=end]{display:flex;margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}span[slot=end].is-readonly{padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}now-button-iconic{margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.slushbucket-container{display:flex;flex-direction:column;width:100%}.slushbucket-container .header{color:RGB(var(--now-display-type--primary--color,var(--now-display-type--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));font-size:var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem));margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-right-chevron{display:inline-block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host(sn-date-preset-panel-connected){display:flex;min-width:150px}.date-preset-wrapper{bottom:0;display:flex;left:0;margin:1rem 0;position:absolute;right:0;top:0;width:100%}.date-preset-wrapper .date-preset{overflow-y:auto;padding:0 .125rem;width:100%}.date-preset-wrapper .date-preset-item{align-items:center;cursor:pointer;display:flex;margin-left:1rem;min-height:.75rem}.date-preset-wrapper .date-preset-item.is-custom{cursor:default;margin-left:.75rem}.date-preset-wrapper .date-preset-item-button{padding:.25rem}.date-preset-wrapper .date-preset-item-button:hover{color:RGB(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)))}.date-preset-wrapper .date-preset-item-button::-moz-focus-inner{border-style:none}.date-preset-wrapper .date-preset-item-button:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}.date-preset-wrapper .date-preset-item-selected{color:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));display:inline-block;max-width:1.25rem;min-width:1.25rem}.date-preset-wrapper .date-preset-presence{color:RGB(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)))}.date-preset-wrapper .date-preset-custom-divider{border-color:RGB(var(--now-menu_divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));border-style:solid none none;border-width:1px 0 0}.date-preset-wrapper .date-preset now-accordion{margin-right:.75rem}@media(forced-colors:active){.date-preset-wrapper .date-preset{padding-top:1px!important}.date-preset-wrapper .date-preset-item-button{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.date-preset-wrapper .date-preset-item-button now-icon,.date-preset-wrapper .date-preset-item-button now-icon-animated{color:inherit!important}.date-preset-wrapper .date-preset-item-button:focus-visible,.date-preset-wrapper .date-preset-item-button:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.date-preset-wrapper .date-preset-item-button.is-disabled,.date-preset-wrapper .date-preset-item-button.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.date-preset-wrapper .date-preset-item-button:focus{box-shadow:none}.date-preset-wrapper .date-preset-item-button.is-selected{background-color:selecteditem!important;border-color:selecteditemtext;color:selecteditemtext!important}.date-preset-wrapper .date-preset span.date-preset-item-button{forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-calendar-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;margin:-1rem;margin-top:1rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;padding:0}.sn-calendar-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.sn-calendar-footer now-record-time{width:100%}:host(:not([dir=rtl])) .sn-calendar-footer now-button,:host(:not([dir=rtl])) .sn-calendar-footer sn-record-control,:root:not([dir=rtl]) .sn-calendar-footer now-button,:root:not([dir=rtl]) .sn-calendar-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .sn-calendar-footer now-button,:host([dir=rtl]) .sn-calendar-footer sn-record-control,:root[dir=rtl] .sn-calendar-footer now-button,:root[dir=rtl] .sn-calendar-footer sn-record-control{margin-right:.5rem}.sn-calendar-content{align-items:center;display:flex;flex:1 1 auto;padding:1rem}.sn-calendar-content:last-of-type{justify-content:flex-end}.monthly-view{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex-direction:column;list-style:none;margin:0;max-width:18.4375rem;min-width:18.125rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;position:relative;z-index:1000}.monthly-view:focus{outline:none}.monthly-view-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;padding:.25rem .5rem}.monthly-view-body{display:flex}.monthly-view-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.monthly-view-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.monthly-view-footer now-record-time{width:100%}:host(:not([dir=rtl])) .monthly-view-footer now-button,:host(:not([dir=rtl])) .monthly-view-footer sn-record-control,:root:not([dir=rtl]) .monthly-view-footer now-button,:root:not([dir=rtl]) .monthly-view-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .monthly-view-footer now-button,:host([dir=rtl]) .monthly-view-footer sn-record-control,:root[dir=rtl] .monthly-view-footer now-button,:root[dir=rtl] .monthly-view-footer sn-record-control{margin-right:.5rem}.monthly-view-content{align-items:center;display:flex;flex:1 1 auto}.monthly-view-content.-static{flex:0 0 auto}.monthly-view-content:last-of-type{justify-content:flex-end}.monthly-view-grid{outline:none}.monthly-view-grid .month-row{display:flex;justify-content:center}.monthly-view-grid .month-row .month-cell{align-items:center;border:1px solid transparent;cursor:pointer;display:flex;flex:1 0 25%;height:40px;justify-content:center;padding:0 1rem;text-transform:uppercase;white-space:nowrap}.monthly-view-grid .month-row .month-cell.is-highlighted,.monthly-view-grid .month-row .month-cell.is-in-range.is-highlighted,.monthly-view-grid .month-row .month-cell:focus,.monthly-view-grid .month-row .month-cell:hover{background:RGBA(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--mid,.5));outline:none}.monthly-view-grid .month-row .month-cell.is-selected{background:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));color:RGB(var(--now-menu-picker_cell_label--color--selected_active,var(--now-menu-picker_cell_label--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.monthly-view-grid .month-row .month-cell.is-in-range{background:RGBA(var(--now-menu-picker_cell--background-color--range,var(--now-color_selection--secondary-0,245,248,249)),var(--now-opacity--more,.65))}.monthly-view-grid .month-row .month-cell.is-current-month{border-color:RGB(var(--now-menu-picker_cell--border-color--now,var(--now-color--secondary-1,1,119,142)))}.monthly-view-grid .month-row .month-cell.is-readonly{background:none}.monthly-view-grid .month-row .month-cell.is-disabled,.monthly-view-grid .month-row .month-cell.is-readonly{color:var(--now-menu-list_label--primary--color--disabled,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.monthly-view-grid .month-row .month-cell.is-disabled{cursor:default}.monthly-view-grid .month-row .month-cell.is-disabled,.monthly-view-grid .month-row .month-cell.is-disabled.is-current-month{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.monthly-view-grid .month-row .month-cell.is-disabled.is-current-month{border-color:RGBA(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--mid,.5))}.monthly-view-grid .month-row .month-cell.is-disabled.is-selected-secondary{background:RGBA(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))),var(--now-opacity--mid,.5))}.spacer{background-color:RGB(var(--now-menu_divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));margin:0 1rem;width:1px}@media(forced-colors:active){.monthly-view-grid .month-row span{forced-color-adjust:none}.monthly-view-grid .month-row .month-cell{background:buttonface;border:none;color:buttontext}.monthly-view-grid .month-row .month-cell.is-highlighted,.monthly-view-grid .month-row .month-cell.is-in-range.is-highlighted,.monthly-view-grid .month-row .month-cell:focus,.monthly-view-grid .month-row .month-cell:hover{background-color:highlight;color:highlighttext}.monthly-view-grid .month-row .month-cell.is-in-range,.monthly-view-grid .month-row .month-cell.is-selected{background-color:selecteditem;color:selecteditemtext}.monthly-view-grid .month-row .month-cell.is-disabled,.monthly-view-grid .month-row .month-cell.is-readonly{background-color:buttonface;color:graytext}.monthly-view-grid .month-row .month-cell.is-selected-secondary:not(.is-disabled){background-color:selecteditem;color:selecteditemtext}.monthly-view-grid .month-row .month-cell.is-current-month{border:1px solid buttonborder}.monthly-view-grid .month-row .month-cell.is-disabled.is-current-month,.monthly-view-grid .month-row .month-cell.is-readonly.is-current-month{background-color:buttonface;border-color:graytext;color:graytext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-calendar-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;margin:-1rem;margin-top:1rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;padding:0}.sn-calendar-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.sn-calendar-footer now-record-time{width:100%}:host(:not([dir=rtl])) .sn-calendar-footer now-button,:host(:not([dir=rtl])) .sn-calendar-footer sn-record-control,:root:not([dir=rtl]) .sn-calendar-footer now-button,:root:not([dir=rtl]) .sn-calendar-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .sn-calendar-footer now-button,:host([dir=rtl]) .sn-calendar-footer sn-record-control,:root[dir=rtl] .sn-calendar-footer now-button,:root[dir=rtl] .sn-calendar-footer sn-record-control{margin-right:.5rem}.sn-calendar-content{align-items:center;display:flex;flex:1 1 auto;padding:1rem}.sn-calendar-content:last-of-type{justify-content:flex-end}.quarterly-view{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex-direction:column;list-style:none;margin:0;max-width:18.4375rem;max-width:15rem;min-width:18.125rem;min-width:15rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;position:relative;z-index:1000}.quarterly-view:focus{outline:none}.quarterly-view-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;padding:.25rem .5rem}.quarterly-view-body{display:flex}.quarterly-view-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.quarterly-view-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.quarterly-view-footer now-record-time{width:100%}:host(:not([dir=rtl])) .quarterly-view-footer now-button,:host(:not([dir=rtl])) .quarterly-view-footer sn-record-control,:root:not([dir=rtl]) .quarterly-view-footer now-button,:root:not([dir=rtl]) .quarterly-view-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .quarterly-view-footer now-button,:host([dir=rtl]) .quarterly-view-footer sn-record-control,:root[dir=rtl] .quarterly-view-footer now-button,:root[dir=rtl] .quarterly-view-footer sn-record-control{margin-right:.5rem}.quarterly-view-content{align-items:center;display:flex;flex:1 1 auto}.quarterly-view-content.-static{flex:0 0 auto}.quarterly-view-content:last-of-type{justify-content:flex-end}.quarterly-view-grid{display:flex;outline:none}.quarterly-view-grid .quarter-row{display:flex;justify-content:center;max-width:100%;width:100%}.quarterly-view-grid .quarter-row .quarter-item{align-items:center;border:1px solid transparent;cursor:pointer;display:flex;flex:1 0 25%;height:40px;justify-content:center;padding:0 1rem;text-transform:uppercase;white-space:nowrap;width:25%}.quarterly-view-grid .quarter-row .quarter-item.is-highlighted,.quarterly-view-grid .quarter-row .quarter-item.is-in-range.is-highlighted,.quarterly-view-grid .quarter-row .quarter-item:focus,.quarterly-view-grid .quarter-row .quarter-item:hover{background:RGBA(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--mid,.5));outline:none}.quarterly-view-grid .quarter-row .quarter-item.is-selected{background:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));color:RGB(var(--now-menu-picker_cell_label--color--selected_active,var(--now-menu-picker_cell_label--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.quarterly-view-grid .quarter-row .quarter-item.is-in-range{background:RGBA(var(--now-menu-picker_cell--background-color--range,var(--now-color_selection--secondary-0,245,248,249)),var(--now-opacity--more,.65))}.quarterly-view-grid .quarter-row .quarter-item.is-current-quarter{border-color:RGB(var(--now-menu-picker_cell--border-color--now,var(--now-color--secondary-1,1,119,142)))}.quarterly-view-grid .quarter-row .quarter-item.is-readonly{background:none}.quarterly-view-grid .quarter-row .quarter-item.is-disabled,.quarterly-view-grid .quarter-row .quarter-item.is-readonly{color:var(--now-menu-list_label--primary--color--disabled,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.quarterly-view-grid .quarter-row .quarter-item.is-disabled{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));cursor:default}.quarterly-view-grid .quarter-row .quarter-item.is-disabled.is-current-quarter{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border-color:RGBA(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--mid,.5))}.quarterly-view-grid .quarter-row .quarter-item.is-disabled.is-selected-secondary{background:RGBA(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))),var(--now-opacity--mid,.5))}.spacer{background-color:RGB(var(--now-menu_divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));margin:0 1rem;width:1px}@media(forced-colors:active){.quarterly-view-grid .quarter-row span{forced-color-adjust:none}.quarterly-view-grid .quarter-row .quarter-item{background:buttonface;border:none;color:buttontext}.quarterly-view-grid .quarter-row .quarter-item.is-highlighted,.quarterly-view-grid .quarter-row .quarter-item.is-in-range.is-highlighted,.quarterly-view-grid .quarter-row .quarter-item:focus,.quarterly-view-grid .quarter-row .quarter-item:hover{background-color:highlight;color:highlighttext}.quarterly-view-grid .quarter-row .quarter-item.is-in-range,.quarterly-view-grid .quarter-row .quarter-item.is-selected{background-color:selecteditem;color:selecteditemtext}.quarterly-view-grid .quarter-row .quarter-item.is-disabled,.quarterly-view-grid .quarter-row .quarter-item.is-readonly{background-color:buttonface;color:graytext}.quarterly-view-grid .quarter-row .quarter-item.is-selected-secondary:not(.is-disabled){background-color:selecteditem;color:selecteditemtext}.quarterly-view-grid .quarter-row .quarter-item.is-current-quarter{border:1px solid buttonborder}.quarterly-view-grid .quarter-row .quarter-item.is-disabled.is-current-quarter,.quarterly-view-grid .quarter-row .quarter-item.is-readonly.is-current-quarter{background-color:buttonface;border-color:graytext;color:graytext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-calendar{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-color:RGB(var(--now-color--primary-2,23,100,82));border:1px solid;border-color:RGB(var(--now-menu-picker_item_selection--color,var(--now-color_selection--primary-2,30,133,109)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex-direction:column;flex-direction:row;list-style:none;margin:0;max-width:18.4375rem;min-width:18.125rem;position:relative;width:min-content;z-index:1000}.sn-calendar:focus{outline:none}.sn-calendar-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;padding:.25rem .5rem}.sn-calendar-body{display:flex}.sn-calendar-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.sn-calendar-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.sn-calendar-footer now-record-time{width:100%}:host(:not([dir=rtl])) .sn-calendar-footer now-button,:host(:not([dir=rtl])) .sn-calendar-footer sn-record-control,:root:not([dir=rtl]) .sn-calendar-footer now-button,:root:not([dir=rtl]) .sn-calendar-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .sn-calendar-footer now-button,:host([dir=rtl]) .sn-calendar-footer sn-record-control,:root[dir=rtl] .sn-calendar-footer now-button,:root[dir=rtl] .sn-calendar-footer sn-record-control{margin-right:.5rem}.sn-calendar-content{align-items:center;display:flex;flex:1 1 auto}.sn-calendar-content.-static{flex:0 0 auto}.sn-calendar-content:last-of-type{justify-content:flex-end}.sn-calendar.is-preset{max-width:31.25rem;min-width:min-content}.sn-calendar .date-preset-panel{border-right:1px solid RGB(var(--now-menu-list_divider--secondary--color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));min-height:18.75rem;min-width:10.9375rem;position:relative}.sn-calendar .date-picker-panel{overflow:hidden;position:relative}.sn-calendar>div:focus{outline:none}.now-record-date-picker{display:flex;flex-direction:column;width:100%}.now-record-date-picker:focus{outline:none}.now-record-date-picker.-yearly{flex-direction:row}.now-record-date-picker-weekly-month{display:flex;flex-wrap:wrap;padding:0 1rem calc(var(--now-scale-space--lg, 1)*1rem);width:100%}.now-record-date-picker-weekly-month-week{justify-content:center;padding-bottom:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.now-record-date-picker-weekly-month-week,.now-record-date-picker-weekly-month-week-row{color:RGB(var(--now-menu-picker_cell_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex}.now-record-date-picker-weekly-month-week-row{cursor:pointer}.now-record-date-picker-weekly-month-week-row:hover:not(.is-current-week,.is-disabled-week){background:RGBA(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)),.35)}.now-record-date-picker-weekly-month-week-row:hover:not(.is-current-week,.is-disabled-week).hover-secondary-selected{background:RGBA(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))),var(--now-opacity--mid,.5))}.now-record-date-picker-weekly-month-week-row:focus{outline:none}.now-record-date-picker-weekly-month-week-row.is-rangepicker:not(.is-current-week):focus{background:RGBA(var(--now-menu-picker_cell_label--color--now,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--mid,.5))}.now-record-date-picker-weekly-month-week-row.is-selected:not(.is-disabled-week){background:RGBA(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)),.35)}.now-record-date-picker-weekly-month-week-row.is-current-week{background:RGB(var(--now-menu-picker_cell--background-color--active,var(--now-color--secondary-1,1,119,142)));color:RGB(var(--now-menu-picker_cell_label--color--selected_active,var(--now-menu-picker_cell_label--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-record-date-picker-weekly-month-week-row.is-current-week.is-disabled-week{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.now-record-date-picker-weekly-month-week-row.is-readonly{background:none;color:var(--now-menu-list_label--primary--color--disabled,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-record-date-picker-weekly-month-week-row.is-selected-secondary{background:RGBA(var(--now-menu-picker_cell--background-color--preview,var(--now-color_selection--secondary-0,245,248,249)),var(--now-opacity--more,.65))}.now-record-date-picker-weekly-month-week-row.is-preview{background:RGB(var(--now-form-control-input-selection--secondary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}.now-record-date-picker-weekly-month-week-row.is-outlined{border:1px solid RGB(var(--now-menu-picker_cell--border-color--now,var(--now-color--secondary-1,1,119,142)))}.now-record-date-picker-weekly-month-week-row.hover-highlighted,.now-record-date-picker-weekly-month-week-row.hover-secondary-highlighted{background:RGBA(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--mid,.5))}.now-record-date-picker-weekly-month-week-row.is-disabled{background:transparent;color:RGB(var(--now-form-control-input-selection_indicator--primary--color--readonly,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));cursor:default}.now-record-date-picker-weekly-month-week:last-of-type{padding-bottom:0}.now-record-date-picker-weekly-month-week-number{align-items:center;border:1px solid transparent;color:RGBA(var(--now-menu-picker_cell_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))),.45);display:flex;font-size:var(--now-menu_field--font-size--sm,var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem)));height:2rem;justify-content:center;width:2rem}.now-record-date-picker-weekly-month-week-day{align-items:center;cursor:pointer;display:flex;font-size:var(--now-menu_field--font-size--md,var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem)));height:2rem;justify-content:center;width:2rem}.now-record-date-picker-weekly-month-week-day:focus{outline:none}.now-record-date-picker-weekly-month-week-day.is-selected{background:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));color:RGB(var(--now-menu-picker_item_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-record-date-picker-weekly-month-week-day.is-readonly{background:none;color:var(--now-menu-list_label--primary--color--disabled,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-record-date-picker-weekly-month-week-day.is-selected-secondary{background:RGBA(var(--now-menu-picker_cell--background-color--range,var(--now-color_selection--secondary-0,245,248,249)),var(--now-opacity--more,.65))}.now-record-date-picker-weekly-month-week-day.is-preview{background:RGB(var(--now-form-control-input-selection--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}.now-record-date-picker-weekly-month-week-day.is-outlined{border-color:RGB(var(--now-menu-picker_cell--border-color--now,var(--now-color--secondary-1,1,119,142)))}.now-record-date-picker-weekly-month-week-day.hover-highlighted{background:RGBA(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)),.35)}.now-record-date-picker-weekly-month-week-day.hover-secondary-highlighted{background:RGB(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--most,.8))}.now-record-date-picker-weekly-month-week-day.is-disabled{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));color:var(--now-menu-list_label--primary--color--disabled,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));cursor:default}.now-record-date-picker-weekly-month-week-day.is-disabled.is-day-in-range-current-month{background:RGBA(var(--now-color--secondary-0,217,235,238),var(--now-opacity--mid,.5))}.now-record-date-picker-weekly-month-week-day.is-disabled-date-picker{background:none;color:var(--now-menu-list_label--primary--color--disabled,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));cursor:default}.now-record-date-picker-weekly-month-week-day:last-of-type{margin-inline-end:0}.now-record-date-picker-header{align-items:center;display:flex}.-monthly .now-record-date-picker-header{padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.now-record-date-picker-header-label{align-items:center;color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;flex:1 1 auto;font-size:var(--now-menu_label--font-size--md,var(--now-font-size--md1,1rem));overflow:hidden;padding-left:.75rem}.now-record-date-picker-header-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-record-date-picker-header-label>span:after{content:\\\"\\\";display:block}.now-record-date-picker-header-label>sn-record-dropdown-internal{margin-inline-start:.5rem}.now-record-date-picker-content{align-items:center;display:flex;flex:1 1 auto;justify-content:center;overflow:hidden}.now-record-date-picker-content.-static{flex:0 0 auto}.now-record-date-picker-content:last-of-type{justify-content:flex-end}.now-record-date-picker-content:only-of-type{justify-content:space-between}.now-record-date-picker-content sn-control{margin-inline-start:.5rem}.now-record-date-picker-week{display:flex;justify-content:center;padding:0 1rem calc(var(--now-scale-space--sm, 1)*.5rem)}.now-record-date-picker-week-day{align-items:center;color:RGB(var(--now-menu-picker_item_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:flex;font-size:var(--now-menu_field--font-size--sm,var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem)));justify-content:center;margin-inline-end:.25rem;width:2rem}.now-record-date-picker-week-day.-weekly,.now-record-date-picker-week-day:last-of-type{margin-inline-end:0}.now-record-date-picker-month{display:flex;flex-wrap:wrap;padding:0 1rem calc(var(--now-scale-space--lg, 1)*1rem);width:100%}.now-record-date-picker-month-week{display:flex;justify-content:center;padding-bottom:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.now-record-date-picker-month-week:last-of-type{padding-bottom:0}.now-record-date-picker-month-week-number{color:RGB(var(--now-form-control-input-selection_indicator--primary--color--readonly,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));font-size:var(--now-menu_field--font-size--sm,var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem)))}.now-record-date-picker-month-week-day,.now-record-date-picker-month-week-number{align-items:center;border:1px solid transparent;display:flex;height:2rem;justify-content:center;margin-inline-end:.25rem;width:2rem}.now-record-date-picker-month-week-day{color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));cursor:pointer;font-size:var(--now-menu_label--font-size--md,var(--now-font-size--md1,1rem))}.now-record-date-picker-month-week-day:focus{outline:none}.now-record-date-picker-month-week-day:hover{background:RGBA(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--less,.25))}.now-record-date-picker-month-week-day:hover.hover-secondary-selected{background:RGBA(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--less,.25))}.now-record-date-picker-month-week-day.is-selected{background:RGBA(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)),.35);border-style:none;box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}.now-record-date-picker-month-week-day.is-current-date{background:RGB(var(--now-menu-picker_cell--border-color--now,var(--now-color--secondary-1,1,119,142)));color:RGB(var(--now-menu-picker_cell_label--color--selected_active,var(--now-menu-picker_cell_label--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-record-date-picker-month-week-day.is-current-date::-moz-focus-inner{border-style:none}.now-record-date-picker-month-week-day.is-current-date:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-record-date-picker-month-week-day.is-current-date:focus-visible{outline:1px solid highlight}}.now-record-date-picker-month-week-day.is-readonly{background:none;color:RGB(var(--now-menu-picker_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-record-date-picker-month-week-day.is-selected-secondary{background:RGBA(var(--now-menu-picker_cell--background-color--preview,var(--now-color_selection--secondary-0,245,248,249)),var(--now-opacity--more,.65))}.now-record-date-picker-month-week-day.is-preview{background:RGB(var(--now-form-control-input-selection--secondary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}.now-record-date-picker-month-week-day.is-outlined{border-color:RGB(var(--now-menu-picker_cell--border-color--now,var(--now-color--secondary-1,1,119,142)))}.now-record-date-picker-month-week-day.hover-highlighted{background:RGBA(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)),.35)}.now-record-date-picker-month-week-day.hover-secondary-highlighted{background:RGBA(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--less,.25))}.now-record-date-picker-month-week-day.is-disabled{background:none;color:var(--now-menu-list_label--primary--color--disabled,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));cursor:default}.now-record-date-picker-month-week-day.is-disabled.is-outlined{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border-color:RGBA(var(--now-menu-picker_cell--border-color--now,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--mid,.5))}.now-record-date-picker-month-week-day.is-disabled.is-selected-secondary{background:RGBA(var(--now-menu-picker_cell--background-color--preview,var(--now-color_selection--secondary-0,245,248,249)),var(--now-opacity--more,.65))}.now-record-date-picker-month-wrapper-outer{display:block;overflow:hidden;position:relative}.now-record-date-picker-month-wrapper-outer:focus{outline:none}.now-record-date-picker-month-wrapper-inner{display:block;position:relative}.now-record-date-picker-years{border-right:1px solid;border-color:RGB(var(--now-form-control-pill--border-color--hover,var(--now-form-control-pill--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))));flex:0 0 auto;max-height:17.25rem;overflow-x:hidden;overflow-y:scroll}.now-record-date-picker-years:focus{outline:none}.now-record-date-picker-years-list{list-style:none;margin:0;padding:0}.now-record-date-picker-years-year{align-items:center;cursor:pointer;display:flex;font-size:var(--now-menu_label--font-size--md,var(--now-font-size--md1,1rem));height:2rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.now-record-date-picker-years-year:hover{background:RGBA(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)),.35)}.now-record-date-picker-years-year.is-selected{background:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-record-date-picker-months{display:flex;flex-wrap:wrap;padding:calc(var(--now-scale-space--xxs, 1)*.125rem) .125rem;position:relative}.now-record-date-picker-months:focus{outline:none}.now-record-date-picker-months-row{display:flex;width:100%}.now-record-date-picker-months-month{align-items:center;cursor:pointer;display:flex;height:4rem;justify-content:center;margin:calc(var(--now-scale-space--xxs, 1)*.125rem) .125rem;position:relative;width:100%}.now-record-date-picker-months-month:hover{background:RGBA(var(--now-menu-picker_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)),.35)}.now-record-date-picker-months-month.is-selected{background:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}@media(forced-colors:active){.now-record-date-picker-weekly-month-week-row{background-color:buttonface;color:buttontext}.now-record-date-picker-weekly-month-week-row:hover:not(.is-current-week,.is-disabled-week){background-color:highlight;color:highlighttext}.now-record-date-picker-weekly-month-week-row:focus{background-color:highlight!important;color:highlighttext!important}.now-record-date-picker-weekly-month-week-row.is-current-week{background:selecteditem!important;color:selecteditemtext!important}.now-record-date-picker-weekly-month-week-row.is-selected-secondary{background-color:selecteditem;color:selecteditemtext}.now-record-date-picker-weekly-month-week-row.is-outlined{border-color:buttonborder}.now-record-date-picker-weekly-month-week-day:not(.is-disabled,.is-adjacent){forced-color-adjust:none}.now-record-date-picker-weekly-month-week-day.is-disabled,.now-record-date-picker-weekly-month-week-day.is-disabled-date-picker{background-color:buttonface!important;color:graytext!important}.now-record-date-picker-month-week-number{border:none}.now-record-date-picker-month-week-day{background-color:buttonface;border:none;color:buttontext}.now-record-date-picker-month-week-day span{forced-color-adjust:none!important}.now-record-date-picker-month-week-day:focus,.now-record-date-picker-month-week-day:hover{background-color:highlight;color:highlighttext}.now-record-date-picker-month-week-day.is-selected,.now-record-date-picker-month-week-day.is-selected-secondary{background-color:selecteditem;color:selecteditemtext}.now-record-date-picker-month-week-day.is-selected-secondary:focus,.now-record-date-picker-month-week-day.is-selected-secondary:hover,.now-record-date-picker-month-week-day.is-selected:focus,.now-record-date-picker-month-week-day.is-selected:hover{background-color:selecteditem!important;border:.125rem solid highlight!important}.date-picker-panel .now-record-date-picker-month-week-day.is-selected,.date-picker-panel .now-record-date-picker-month-week-day.is-selected-secondary{background-color:highlight!important;color:highlighttext!important}.date-picker-panel .now-record-date-picker-month-week-day.is-selected{background-color:highlight;color:highlighttext}.now-record-date-picker-month-week-day.is-current-date{background-color:selecteditem!important;color:selecteditemtext!important}.now-record-date-picker-month-week-day.is-current-date:focus,.now-record-date-picker-month-week-day.is-current-date:hover{border:.125rem solid highlight}.now-record-date-picker-month-week-day.is-readonly{background-color:buttonface!important;color:graytext!important}.now-record-date-picker-month-week-day.is-outlined:not(.is-current-date){border:1px solid buttonborder}.now-record-date-picker-month-week-day.hover-highlighted{background-color:highlight;color:highlighttext}.now-record-date-picker-month-week-day.is-disabled{background-color:buttonface!important;color:graytext!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-calendar-footer{margin:-1rem}.sn-calendar-content{padding:1rem}.yearly-view{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;flex-direction:column;list-style:none;margin:0;max-width:18.4375rem;min-width:18.125rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;position:relative;z-index:1000}.yearly-view:focus{outline:none}.yearly-view-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;padding:.25rem .5rem}.yearly-view-body{display:flex}.yearly-view-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem}.yearly-view-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.yearly-view-footer now-record-time{width:100%}:host(:not([dir=rtl])) .yearly-view-footer now-button,:host(:not([dir=rtl])) .yearly-view-footer sn-record-control,:root:not([dir=rtl]) .yearly-view-footer now-button,:root:not([dir=rtl]) .yearly-view-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .yearly-view-footer now-button,:host([dir=rtl]) .yearly-view-footer sn-record-control,:root[dir=rtl] .yearly-view-footer now-button,:root[dir=rtl] .yearly-view-footer sn-record-control{margin-right:.5rem}.yearly-view-content{align-items:center;display:flex;flex:1 1 auto}.yearly-view-content.-static{flex:0 0 auto}.header,.yearly-view-content:last-of-type{justify-content:flex-end}.header{display:flex}.sn-calendar-footer{border-top:1px solid;border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));display:flex;flex-direction:column;margin-top:1rem;padding:calc(var(--now-scale-space--lg, 1)*1rem) 1rem;padding:0;padding-top:1rem}.sn-calendar-footer .-static{margin-bottom:calc(var(--now-scale-space--lg, 1)*1rem)}.sn-calendar-footer now-record-time{width:100%}:host(:not([dir=rtl])) .sn-calendar-footer now-button,:host(:not([dir=rtl])) .sn-calendar-footer sn-record-control,:root:not([dir=rtl]) .sn-calendar-footer now-button,:root:not([dir=rtl]) .sn-calendar-footer sn-record-control{margin-left:.5rem}:host([dir=rtl]) .sn-calendar-footer now-button,:host([dir=rtl]) .sn-calendar-footer sn-record-control,:root[dir=rtl] .sn-calendar-footer now-button,:root[dir=rtl] .sn-calendar-footer sn-record-control{margin-right:.5rem}.sn-calendar-content{align-items:center;display:flex;flex:1 1 auto}.sn-calendar-content:last-of-type{justify-content:flex-end}.year-grid{display:flex;flex-direction:column;padding-top:calc(var(--now-scale-space--sm, 1)*.5rem)}.year-grid:focus{outline:none}.year-grid .year-row,.year-grid .year-row .year-cell{display:flex;justify-content:center}.year-grid .year-row .year-cell{align-items:center;border:1px solid transparent;cursor:pointer;flex:1 0 25%;height:40px;padding:0 1rem;white-space:nowrap}.year-grid .year-row .year-cell.is-highlighted,.year-grid .year-row .year-cell.is-in-range.is-highlighted,.year-grid .year-row .year-cell:focus,.year-grid .year-row .year-cell:hover{background:RGBA(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--mid,.5));outline:none}.year-grid .year-row .year-cell.is-selected{background:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));color:RGB(var(--now-menu-picker_cell_label--color--selected_active,var(--now-menu-picker_cell_label--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.year-grid .year-row .year-cell.is-in-range{background:RGBA(var(--now-menu-picker_cell--background-color--range,var(--now-color_selection--secondary-0,245,248,249)),var(--now-opacity--more,.65))}.year-grid .year-row .year-cell.is-current-year{border-color:RGB(var(--now-menu-picker_cell--border-color--now,var(--now-color--secondary-1,1,119,142)))}.year-grid .year-row .year-cell.is-readonly{background:none}.year-grid .year-row .year-cell.is-disabled,.year-grid .year-row .year-cell.is-readonly{color:var(--now-menu-list_label--primary--color--disabled,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.year-grid .year-row .year-cell.is-disabled{cursor:default}.year-grid .year-row .year-cell.is-disabled,.year-grid .year-row .year-cell.is-disabled.is-current-year{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.year-grid .year-row .year-cell.is-disabled.is-current-year{border-color:RGBA(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--mid,.5))}.year-grid .year-row .year-cell.is-disabled.is-selected-secondary{background:RGBA(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))),var(--now-opacity--mid,.5))}@media(forced-colors:active){.year-grid .year-row span{forced-color-adjust:none}.year-grid .year-row .year-cell{background:buttonface;border:none;color:buttontext}.year-grid .year-row .year-cell.is-highlighted,.year-grid .year-row .year-cell.is-in-range.is-highlighted,.year-grid .year-row .year-cell:focus,.year-grid .year-row .year-cell:hover{background-color:highlight;color:highlighttext}.year-grid .year-row .year-cell.is-in-range,.year-grid .year-row .year-cell.is-selected{background-color:selecteditem;color:selecteditemtext}.year-grid .year-row .year-cell.is-disabled,.year-grid .year-row .year-cell.is-readonly{background-color:buttonface;color:graytext}.year-grid .year-row .year-cell.is-selected-secondary:not(.is-disabled){background-color:selecteditem;color:selecteditemtext}.year-grid .year-row .year-cell.is-current-year{border:1px solid buttonborder}.year-grid .year-row .year-cell.is-disabled.is-current-year,.year-grid .year-row .year-cell.is-readonly.is-current-year{background-color:buttonface;border-color:graytext;color:graytext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.header{display:flex}.header>div{flex:1 1 50%}.header .left-header{padding-inline-end:1rem}.header .right-header{align-items:center;display:flex;justify-content:space-between;padding-inline-start:1rem}.spacer{background-color:RGB(var(--now-menu_divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));margin:0 1rem;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control .sn-form-field{display:flex;flex-direction:column;flex-wrap:wrap}.sn-control.-vertical>.form-field-label-wrap>.sn-control-field-label-start{margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.-horizontal>.form-field-label-wrap{justify-content:end;min-inline-size:0}.sn-control.-horizontal>.form-field-label-wrap .sn-control-field-label-start{margin-inline-end:.25rem;margin-inline-start:.25rem}.default-fieldset{border:none;display:inline-block;margin:0;min-width:0;padding:0;width:100%}.decorations-icon-wrapper{all:inherit;margin-inline-start:calc(var(--now-scale-space--md, 1)*.75rem)}.fit-to-parent{block-size:100%}.fit-to-parent now-textarea{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.name-value-container{align-items:center;display:flex;flex:1;flex-flow:row;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.name-value-container:last-of-type{margin-block-end:0}.fields-container{align-items:center;display:flex;flex:1;flex-flow:row wrap;order:1}.field-value{flex:1;margin-inline-end:calc(var(--now-scale-space--xl, 1)*1.5rem);order:1}.field-key{flex:1;order:2}.buttons-now{--nv-button-width:calc(1rem + var(--now-button--scale-size, 1)*2rem/2);--nv-button-border-width:var( --now-button--tertiary--border-width,var(--now-button--border-width,var(--now-actionable--border-width,1px)) );--nv-button-padding-width:calc(var(--now-scale-space--xs, 1)*0.25rem);--nv-buttons-now-resized-width:calc(var(--nv-button-width)*2 + var(--nv-button-border-width)*2 + var(--nv-button-padding-width)*2 - 2px);flex:0 0 var(--nv-buttons-now-resized-width);margin-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem);order:2;width:var(--nv-buttons-now-resized-width)}now-input{display:block;margin-block-end:0;margin-block-start:0;width:100%}now-button-iconic{margin-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;position:relative;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-radio-buttons{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-button-iconic.recommendation-icon{display:initial}.sn-recommendations-info-popover-spacing{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--md, 1)*.75rem) calc(var(--now-scale-space--md, 1)*.75rem)}.sn-recommendations-info-popover-spacing a{text-decoration:none}.sn-recommendations-info-popover-spacing a:hover{text-decoration:underline}.sn-recommendations-info-popover-description{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin-top:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid;border-color:RGB(var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-menu-picker_cell_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));display:flex;font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-menu-picker_item_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-menu-picker_item--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));color:RGB(var(--now-menu-picker_item_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));cursor:pointer;display:flex;font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-menu-picker_item--background-color--hover,var(--now-color_selection--secondary-0,245,248,249)))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-menu-list_label--primary--background-color--highlighted,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}.sn-timepicker-separator{align-items:center;display:inline-flex;padding:calc(var(--now-scale-space--lg, 1)*1rem) calc(var(--now-scale-space--xxs, 1)*.125rem) calc(var(--now-scale-space--xxs, 1)*.125rem)}.sn-timepicker-toggle{margin-block-start:calc(var(--now-scale-space--lg, 1)*1rem);padding-top:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host(:not([dir=rtl])) .sn-timepicker-toggle,:root:not([dir=rtl]) .sn-timepicker-toggle{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-timepicker-toggle,:root[dir=rtl] .sn-timepicker-toggle{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-timepicker .sn-el-input{text-align:center}.sn-timepicker .sn-control-group .sn-control{margin-block-end:0;margin-block-start:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}now-typeahead-multi{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-typeahead{width:100%}.sn-control{border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control.will-wrap .form-field-label-wrap{height:auto}.sn-control:not(.will-wrap) .now-form-field-label{min-inline-size:0}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control .sn-control-field-label-start{display:flex}.-vertical .sn-control .sn-control-field-label-start{margin-inline-end:.25rem}.-horizontal .sn-control .sn-control-field-label-start{margin-inline-start:.25rem}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.sn-control-label-label{margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-form-field--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;border-width:var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);position:relative}.sn-control-field.no-background{background-color:transparent}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-opacity--less,.25));color:RGB(var(--now-form-field--color--disabled,var(--now-form-field--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px));left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-form-field--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-form-field_inset--color-alpha,var(--now-opacity--least,.1))),0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));box-shadow:0 calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-form-field--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))));bottom:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid));box-shadow:0 var(--now-form-field--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 RGB(var(--now-form-field--border-color--invalid,now-form-input--primary--border-color--invalid))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-form-control_value--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-indicator--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)))}.sn-control-messages{color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));padding-top:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message,.sn-control-messages{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid;border-color:RGB(var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-menu-picker_cell_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-menu-picker_header--secondary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));display:flex;font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-menu-picker_item_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-menu-picker_item--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));color:RGB(var(--now-menu-picker_item_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));cursor:pointer;display:flex;font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-menu-picker_item--background-color--hover,var(--now-color_selection--secondary-0,245,248,249)))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-menu-list_label--primary--background-color--highlighted,var(--now-color_alert--warning-0,244,240,191)),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-menu-picker_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-size:var(--now-menu_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-menu-picker_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-opacity--more,.65))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}now-input-url{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"now-input{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-block--xs,.now-m-block-start--xs{margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-m-inline--xs,.now-m-inline-start--xs{margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-custom-highlighted-label{align-items:center;display:flex}.sn-custom-highlighted-label.-vertical{padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-custom-highlighted-label-popover{display:flex;gap:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-custom-highlighted-label-popover.spacing{padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--md, 1)*.75rem) calc(var(--now-scale-space--md, 1)*.75rem)}.sn-custom-highlighted-label-popover-description{display:flex;font-size:var(--now-indicator_label--font-size--sm,var(--now-font-size--sm,.75rem));gap:calc(var(--now-scale-space--md, 1)*.75rem);margin-top:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-custom-highlighted-label-popover-close{margin:calc(var(--now-scale-space--xxs, 1)*-.5rem)}.sn-custom-highlighted-label now-icon{vertical-align:unset}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./annotation.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./auto-number-connected.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./checkbox-group.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./checkbox.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./choice.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./code-editor.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./content-tree-connected.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./content-tree-popover.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./controlwrapper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./controlwrapper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./InteractiveDecoration.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./renderDecorations.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./currency.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./date.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./panel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./duration.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./email-script.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./email.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./fileattachment.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./choice.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-record-choice-search.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./phone.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./TimeWorked.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./CustomPill.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./field-selection.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./template-value.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./html.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./html.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./input.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./journal-input.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./password.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./input.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ip-address.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./link.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./miniCalendar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./standardView.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./name-value.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./number.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dropdown.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./radio-group.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./recommendations-helper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./time.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./referencemultiple.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./reference.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./url.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./user-roles-lookup-connected.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./version.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_postcss@8.4.47_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_postcss@8.4.47_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_postcss@8.4.47_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_customLabel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","module.exports = import(\"/uxasset/externals/@devsnc/sn-glide-form-controls/connectedconditions/ConnectedConditions.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-glide-form-controls/connecteddatalookup/DataLookupConnected.jsdbx\");;","module.exports = import(\"/uxasset/externals/@devsnc/sn-wwna/index.jsdbx\");;","function _arrayLikeToArray(r, a) {\n  (null == a || a > r.length) && (a = r.length);\n  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n  return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(r) {\n  if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n  if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n  return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n    return t.__proto__ || Object.getPrototypeOf(t);\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n  if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n  t.prototype = Object.create(e && e.prototype, {\n    constructor: {\n      value: t,\n      writable: !0,\n      configurable: !0\n    }\n  }), Object.defineProperty(t, \"prototype\", {\n    writable: !1\n  }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n  if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n  var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n  if (null != t) {\n    var e,\n      n,\n      i,\n      u,\n      a = [],\n      f = !0,\n      o = !1;\n    try {\n      if (i = (t = t.call(r)).next, 0 === l) {\n        if (Object(t) !== t) return;\n        f = !1;\n      } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n    } catch (r) {\n      o = !0, n = r;\n    } finally {\n      try {\n        if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n      } finally {\n        if (o) throw n;\n      }\n    }\n    return a;\n  }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectDestructuringEmpty(t) {\n  if (null == t) throw new TypeError(\"Cannot destructure \" + t);\n}\nmodule.exports = _objectDestructuringEmpty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n  if (null == e) return {};\n  var o,\n    r,\n    i = objectWithoutPropertiesLoose(e, t);\n  if (Object.getOwnPropertySymbols) {\n    var n = Object.getOwnPropertySymbols(e);\n    for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n  }\n  return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (-1 !== e.indexOf(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n  if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n  if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n  return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n  return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n    return t.__proto__ = e, t;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n  return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(r) {\n  return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n  if (r) {\n    if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n    var t = {}.toString.call(r).slice(8, -1);\n    return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n  }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_react_index_jsdbx_b196f449__[\"default\"][\"default\"];\n\t\t\t\t} });","export const fieldLayoutSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tlayout: {\n\t\t\tdefault: 'vertical',\n\t\t\tschema: { type: 'string', enum: ['vertical', 'horizontal'] }\n\t\t},\n\t\tcolumns: { default: [], schema: { type: 'array' } }\n\t}\n};\n\nexport const decorationsSchema = {\n\ttype: 'array',\n\tproperties: {\n\t\ticon: {\n\t\t\tdefault: '',\n\t\t\ttype: 'string'\n\t\t},\n\t\ttext: {\n\t\t\tdefault: '',\n\t\t\ttype: 'string'\n\t\t}\n\t}\n};\n","/**\n * Additional props that are passed down to Seismic components\n * via the core framework. Most consumers of form controls shouldn't\n * really worry about these.\n *\n * @see [Seismic Docs](https://artifact.devsnc.com/content/sites/snc-doc-site/sn-component-docs/latest/)\n */\nexport const SeismicControlledFieldProps = {\n\t/**\n\t * Whether to show the AI indicator on the field\n\t * @type {boolean}\n\t */\n\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t/**\n\t * Whether the field value has been modified\n\t * @type {boolean}\n\t */\n\tisModified: { schema: { type: 'boolean', default: false } },\n\t/**\n\t * onChange event callback\n\t * @type {function}\n\t */\n\tonChange: { schema: { type: 'function' } },\n\n\t/**\n\t * onSelect event callback\n\t * @type {function}\n\t */\n\tonSelect: { schema: { type: 'function' } },\n\t/**\n\t * onClick event callback\n\t * @type {function}\n\t */\n\tonClick: { schema: { type: 'function' } },\n\n\t/**\n\t * onMouseEnter event callback\n\t * @type {function}\n\t */\n\tonMouseEnter: { schema: { type: 'function' } },\n\n\t/**\n\t * onMouseLeave event callback\n\t * @type {function}\n\t */\n\tonMouseLeave: { schema: { type: 'function' } },\n\n\t/**\n\t * onFocus event callback\n\t * @type {function}\n\t */\n\tonFocus: { schema: { type: 'function' } },\n\n\t/**\n\t * onBlur event callback\n\t * @type {function}\n\t */\n\tonBlur: { schema: { type: 'function' } },\n\n\t/**\n\t * onKeyDown event callback\n\t * @type {function}\n\t */\n\tonKeyDown: { schema: { type: 'function' } },\n\n\t/**\n\t * onKeyUp event callback\n\t * @type {function}\n\t */\n\tonKeyUp: { schema: { type: 'function' } },\n\n\t/**\n\t * onKeyPress event callback\n\t * @type {function}\n\t */\n\tonKeyPress: { schema: { type: 'function' } }\n};\n","import { seismicComponentprops } from './SeismicComponent';\nimport SeismicComponentBase from './SeismicComponentBase';\n\nexport { SeismicControlledFieldProps } from './SeismicControlledFieldProps';\nexport const SeismicComponentProps = seismicComponentprops;\nexport const SeismicComponentFieldPropDefaults = SeismicComponentBase;\n","/**\n * Additional props that are passed down to Seismic components\n * via the core framework. Most consumers of form controls shouldn't\n * really worry about these.\n *\n * @see [Seismic Docs](https://artifact.devsnc.com/content/sites/snc-doc-site/sn-component-docs/latest/)\n */\nexport const seismicComponentprops = {\n\t/**\n\t * Seismic dispatcher\n\t * @type {function}\n\t */\n\tdispatch: { schema: { type: 'function' } },\n\t/**\n\t * Unique identifier for the component\n\t * @type {string}\n\t * */\n\tcomponentId: { schema: { type: 'string' }, required: true, default: 'id' },\n\t/**\n\t * Data returned by one of the Seismic resource handlers\n\t * @type {object}\n\t * */\n\tresources: { schema: { type: 'object' } },\n\t/**\n\t * Asynchronous Message Bus (AMB) API\n\t * @type {object}\n\t */\n\tchannels: { schema: { type: 'object' } }\n};\n","import { fieldLayoutSchema } from '../schemas';\n\n/**\n * Basic props that are common to seismic components in our repo\n */\nconst seismicProps = {\n\t/**\n\t * Array of message objects that must contain type and message itself.\n\t *\n\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t */\n\tmessages: {},\n\n\t/**\n\t * formData object containing glide form data\n\t *\n\t * @type {object}\n\t */\n\tformData: {},\n\n\t/**\n\t * Name of the field\n\t *\n\t * @type {string}\n\t */\n\tfieldName: { schema: { type: 'string' } },\n\n\t/**\n\t * Name of table this field is on\n\t * @type {string}\n\t */\n\ttableName: { schema: { type: 'string' } },\n\n\t/**\n\t * sys_id of the current record where the field is located\n\t *\n\t * @type {string}\n\t */\n\trecordSysId: { schema: { type: 'string' } },\n\n\t/**\n\t * The field name\n\t * @type {string}\n\t */\n\tname: { schema: { type: 'string' } },\n\n\t/**\n\t * Content to display when there is no suitable display value.\n\t * @type {string}\n\t */\n\tplaceholder: { schema: { type: 'string' } },\n\n\t/**\n\t * Name for the component.\n\t * @type {string}\n\t */\n\tlabel: { schema: { type: 'string' } },\n\n\t/**\n\t * Value for current omponent.\n\t * @type {string}\n\t */\n\tvalue: { schema: { type: 'string' } },\n\n\t/**\n\t * Callback used when the value has changed. Very similar to an `onChange`\n\t * event, but this may also fire when the component formats its value\n\t * onBlur.\n\t *\n\t * @param {object} event - The event payload\n\t * @param {string} event.name - The name of the component that triggered the event\n\t * @param {any}    event.value - The new value for the component\n\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t *\n\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t * @param {string} event.error.type - Error type\n\t * @param {string} event.error.message - Description of why the value is invalid\n\t * @type {function}\n\t */\n\tonValueChange: {},\n\n\t/**\n\t * Callback used when an intermediate value has changed.\n\t * @type {function}\n\t */\n\tonStagedValueChange: {},\n\n\t/**\n\t * Additional content describing the field, usually to provide further\n\t * instruction to the user.\n\t * @type {string}\n\t */\n\tdescription: { schema: { type: 'string' }, default: '' },\n\n\t/**\n\t * Whether or not the user must fill in a value for this component.\n\t * Can be specified as a boolean or the string \"true\"\n\t * @type {string | boolean}\n\t */\n\trequired: { default: false },\n\n\t/**\n\t * Specifies that the user cannot modify the value of the component.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * @type {string | boolean}\n\t */\n\treadonly: { default: false },\n\n\t/**\n\t * Specifies that the field should be rendered right-to-left.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t * @type {string | boolean}\n\t */\n\treversed: { default: false },\n\n\t/**\n\t * Specifies whether the current value is not valid.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t * @type {string | boolean}\n\t */\n\tinvalid: { default: false },\n\n\t/**\n\t * Causes the component to receive focus as soon as it has finished\n\t * mounting.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t * @type {string | boolean}\n\t */\n\tautofocus: { default: false },\n\n\t/**\n\t * Unique name for a shadowDom slot\n\t * @type {string}\n\t */\n\tslot: { schema: { type: 'string' } },\n\n\t/**\n\t * Accessible label for the component. Only needed when the `label` prop is not\n\t * descriptive enough on its own.\n\t * @type {string}\n\t */\n\t'aria-label': { schema: { type: 'string' } },\n\n\t/**\n\t * Which element (by ID) acts as a label for the component\n\t * @type {string}\n\t */\n\t'aria-labelledby': { schema: { type: 'string' } },\n\n\t/**\n\t * Which element (by ID) provides more description for the component\n\t * @type {string}\n\t */\n\t'aria-describedby': { schema: { type: 'string' } },\n\n\t/**\n\t * aria-* attribute configuration\n\t * @type {object}\n\t */\n\tconfigAria: {},\n\n\t/**\n\t * Configuration for the field layout.\n\t *\n\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t *\n\t * Object options:\n\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t *\n\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t * @uib.label Field Layout Configuration\n\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t * @uib.fieldType json\n\t */\n\tfieldLayout: {\n\t\tdefault: { layout: 'vertical' },\n\t\tschema: fieldLayoutSchema\n\t},\n\n\tfieldType: { schema: { type: 'string' } },\n\n\t/**\n\t * If set, an iconic button with a popover appears next to the field\n\t * label to display additional hint text to the user, such as\n\t * password requirements or other instructions for completing the field.\n\t * @type {(string|JSX)}\n\t */\n\thelperContent: { schema: { type: 'string' } },\n\t/**\n\t * Whether to show the AI indicator on the field\n\t * @type {boolean}\n\t */\n\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t/**\n\t * Whether the field value has been modified\n\t * @type {boolean}\n\t */\n\tisModified: { schema: { type: 'boolean', default: false } }\n};\n\nexport default seismicProps;\n","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: {\n      regular: 'méně než sekunda',\n      past: 'před méně než sekundou',\n      future: 'za méně než sekundu'\n    },\n    few: {\n      regular: 'méně než {{count}} sekundy',\n      past: 'před méně než {{count}} sekundami',\n      future: 'za méně než {{count}} sekundy'\n    },\n    many: {\n      regular: 'méně než {{count}} sekund',\n      past: 'před méně než {{count}} sekundami',\n      future: 'za méně než {{count}} sekund'\n    }\n  },\n  xSeconds: {\n    one: {\n      regular: 'sekunda',\n      past: 'před sekundou',\n      future: 'za sekundu'\n    },\n    few: {\n      regular: '{{count}} sekundy',\n      past: 'před {{count}} sekundami',\n      future: 'za {{count}} sekundy'\n    },\n    many: {\n      regular: '{{count}} sekund',\n      past: 'před {{count}} sekundami',\n      future: 'za {{count}} sekund'\n    }\n  },\n  halfAMinute: {\n    type: 'other',\n    other: {\n      regular: 'půl minuty',\n      past: 'před půl minutou',\n      future: 'za půl minuty'\n    }\n  },\n  lessThanXMinutes: {\n    one: {\n      regular: 'méně než minuta',\n      past: 'před méně než minutou',\n      future: 'za méně než minutu'\n    },\n    few: {\n      regular: 'méně než {{count}} minuty',\n      past: 'před méně než {{count}} minutami',\n      future: 'za méně než {{count}} minuty'\n    },\n    many: {\n      regular: 'méně než {{count}} minut',\n      past: 'před méně než {{count}} minutami',\n      future: 'za méně než {{count}} minut'\n    }\n  },\n  xMinutes: {\n    one: {\n      regular: 'minuta',\n      past: 'před minutou',\n      future: 'za minutu'\n    },\n    few: {\n      regular: '{{count}} minuty',\n      past: 'před {{count}} minutami',\n      future: 'za {{count}} minuty'\n    },\n    many: {\n      regular: '{{count}} minut',\n      past: 'před {{count}} minutami',\n      future: 'za {{count}} minut'\n    }\n  },\n  aboutXHours: {\n    one: {\n      regular: 'přibližně hodina',\n      past: 'přibližně před hodinou',\n      future: 'přibližně za hodinu'\n    },\n    few: {\n      regular: 'přibližně {{count}} hodiny',\n      past: 'přibližně před {{count}} hodinami',\n      future: 'přibližně za {{count}} hodiny'\n    },\n    many: {\n      regular: 'přibližně {{count}} hodin',\n      past: 'přibližně před {{count}} hodinami',\n      future: 'přibližně za {{count}} hodin'\n    }\n  },\n  xHours: {\n    one: {\n      regular: 'hodina',\n      past: 'před hodinou',\n      future: 'za hodinu'\n    },\n    few: {\n      regular: '{{count}} hodiny',\n      past: 'před {{count}} hodinami',\n      future: 'za {{count}} hodiny'\n    },\n    many: {\n      regular: '{{count}} hodin',\n      past: 'před {{count}} hodinami',\n      future: 'za {{count}} hodin'\n    }\n  },\n  xDays: {\n    one: {\n      regular: 'den',\n      past: 'před dnem',\n      future: 'za den'\n    },\n    few: {\n      regular: '{{count}} dny',\n      past: 'před {{count}} dny',\n      future: 'za {{count}} dny'\n    },\n    many: {\n      regular: '{{count}} dní',\n      past: 'před {{count}} dny',\n      future: 'za {{count}} dní'\n    }\n  },\n  aboutXWeeks: {\n    one: {\n      regular: 'přibližně týden',\n      past: 'přibližně před týdnem',\n      future: 'přibližně za týden'\n    },\n    few: {\n      regular: 'přibližně {{count}} týdny',\n      past: 'přibližně před {{count}} týdny',\n      future: 'přibližně za {{count}} týdny'\n    },\n    many: {\n      regular: 'přibližně {{count}} týdnů',\n      past: 'přibližně před {{count}} týdny',\n      future: 'přibližně za {{count}} týdnů'\n    }\n  },\n  xWeeks: {\n    one: {\n      regular: 'týden',\n      past: 'před týdnem',\n      future: 'za týden'\n    },\n    few: {\n      regular: '{{count}} týdny',\n      past: 'před {{count}} týdny',\n      future: 'za {{count}} týdny'\n    },\n    many: {\n      regular: '{{count}} týdnů',\n      past: 'před {{count}} týdny',\n      future: 'za {{count}} týdnů'\n    }\n  },\n  aboutXMonths: {\n    one: {\n      regular: 'přibližně měsíc',\n      past: 'přibližně před měsícem',\n      future: 'přibližně za měsíc'\n    },\n    few: {\n      regular: 'přibližně {{count}} měsíce',\n      past: 'přibližně před {{count}} měsíci',\n      future: 'přibližně za {{count}} měsíce'\n    },\n    many: {\n      regular: 'přibližně {{count}} měsíců',\n      past: 'přibližně před {{count}} měsíci',\n      future: 'přibližně za {{count}} měsíců'\n    }\n  },\n  xMonths: {\n    one: {\n      regular: 'měsíc',\n      past: 'před měsícem',\n      future: 'za měsíc'\n    },\n    few: {\n      regular: '{{count}} měsíce',\n      past: 'před {{count}} měsíci',\n      future: 'za {{count}} měsíce'\n    },\n    many: {\n      regular: '{{count}} měsíců',\n      past: 'před {{count}} měsíci',\n      future: 'za {{count}} měsíců'\n    }\n  },\n  aboutXYears: {\n    one: {\n      regular: 'přibližně rok',\n      past: 'přibližně před rokem',\n      future: 'přibližně za rok'\n    },\n    few: {\n      regular: 'přibližně {{count}} roky',\n      past: 'přibližně před {{count}} roky',\n      future: 'přibližně za {{count}} roky'\n    },\n    many: {\n      regular: 'přibližně {{count}} roků',\n      past: 'přibližně před {{count}} roky',\n      future: 'přibližně za {{count}} roků'\n    }\n  },\n  xYears: {\n    one: {\n      regular: 'rok',\n      past: 'před rokem',\n      future: 'za rok'\n    },\n    few: {\n      regular: '{{count}} roky',\n      past: 'před {{count}} roky',\n      future: 'za {{count}} roky'\n    },\n    many: {\n      regular: '{{count}} roků',\n      past: 'před {{count}} roky',\n      future: 'za {{count}} roků'\n    }\n  },\n  overXYears: {\n    one: {\n      regular: 'více než rok',\n      past: 'před více než rokem',\n      future: 'za více než rok'\n    },\n    few: {\n      regular: 'více než {{count}} roky',\n      past: 'před více než {{count}} roky',\n      future: 'za více než {{count}} roky'\n    },\n    many: {\n      regular: 'více než {{count}} roků',\n      past: 'před více než {{count}} roky',\n      future: 'za více než {{count}} roků'\n    }\n  },\n  almostXYears: {\n    one: {\n      regular: 'skoro rok',\n      past: 'skoro před rokem',\n      future: 'skoro za rok'\n    },\n    few: {\n      regular: 'skoro {{count}} roky',\n      past: 'skoro před {{count}} roky',\n      future: 'skoro za {{count}} roky'\n    },\n    many: {\n      regular: 'skoro {{count}} roků',\n      past: 'skoro před {{count}} roky',\n      future: 'skoro za {{count}} roků'\n    }\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var pluralResult;\n  var tokenValue = formatDistanceLocale[token];\n\n  // cs pluralization\n  if (tokenValue.type === 'other') {\n    pluralResult = tokenValue.other;\n  } else if (count === 1) {\n    pluralResult = tokenValue.one;\n  } else if (count > 1 && count < 5) {\n    pluralResult = tokenValue.few;\n  } else {\n    pluralResult = tokenValue.many;\n  }\n\n  // times\n  var suffixExist = (options === null || options === void 0 ? void 0 : options.addSuffix) === true;\n  var comparison = options === null || options === void 0 ? void 0 : options.comparison;\n  var timeResult;\n  if (suffixExist && comparison === -1) {\n    timeResult = pluralResult.past;\n  } else if (suffixExist && comparison === 1) {\n    timeResult = pluralResult.future;\n  } else {\n    timeResult = pluralResult.regular;\n  }\n  return timeResult.replace('{{count}}', String(count));\n};\nexport default formatDistance;","export default function buildFormatLongFn(args) {\n  return function () {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    // TODO: Remove String()\n    var width = options.width ? String(options.width) : args.defaultWidth;\n    var format = args.formats[width] || args.formats[args.defaultWidth];\n    return format;\n  };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, d. MMMM yyyy',\n  long: 'd. MMMM yyyy',\n  medium: 'd. M. yyyy',\n  short: 'dd.MM.yyyy'\n};\nvar timeFormats = {\n  full: 'H:mm:ss zzzz',\n  long: 'H:mm:ss z',\n  medium: 'H:mm:ss',\n  short: 'H:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'v' {{time}}\",\n  long: \"{{date}} 'v' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var accusativeWeekdays = ['neděli', 'pondělí', 'úterý', 'středu', 'čtvrtek', 'pátek', 'sobotu'];\nvar formatRelativeLocale = {\n  lastWeek: \"'poslední' eeee 've' p\",\n  yesterday: \"'včera v' p\",\n  today: \"'dnes v' p\",\n  tomorrow: \"'zítra v' p\",\n  nextWeek: function nextWeek(date) {\n    var day = date.getUTCDay();\n    return \"'v \" + accusativeWeekdays[day] + \" o' p\";\n  },\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date);\n  }\n  return format;\n};\nexport default formatRelative;","export default function buildLocalizeFn(args) {\n  return function (dirtyIndex, options) {\n    var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n    var valuesArray;\n    if (context === 'formatting' && args.formattingValues) {\n      var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n      var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n      valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n    } else {\n      var _defaultWidth = args.defaultWidth;\n      var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n      valuesArray = args.values[_width] || args.values[_defaultWidth];\n    }\n    var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n    // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n    return valuesArray[index];\n  };\n}","export default function buildMatchFn(args) {\n  return function (string) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var width = options.width;\n    var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n    var matchResult = string.match(matchPattern);\n    if (!matchResult) {\n      return null;\n    }\n    var matchedString = matchResult[0];\n    var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n    var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n      return pattern.test(matchedString);\n    }) : findKey(parsePatterns, function (pattern) {\n      return pattern.test(matchedString);\n    });\n    var value;\n    value = args.valueCallback ? args.valueCallback(key) : key;\n    value = options.valueCallback ? options.valueCallback(value) : value;\n    var rest = string.slice(matchedString.length);\n    return {\n      value: value,\n      rest: rest\n    };\n  };\n}\nfunction findKey(object, predicate) {\n  for (var key in object) {\n    if (object.hasOwnProperty(key) && predicate(object[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}\nfunction findIndex(array, predicate) {\n  for (var key = 0; key < array.length; key++) {\n    if (predicate(array[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}","export default function buildMatchPatternFn(args) {\n  return function (string) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var matchResult = string.match(args.matchPattern);\n    if (!matchResult) return null;\n    var matchedString = matchResult[0];\n    var parseResult = string.match(args.parsePattern);\n    if (!parseResult) return null;\n    var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n    value = options.valueCallback ? options.valueCallback(value) : value;\n    var rest = string.slice(matchedString.length);\n    return {\n      value: value,\n      rest: rest\n    };\n  };\n}","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Czech locale.\n * @language Czech\n * @iso-639-2 ces\n * @author David Rus [@davidrus]{@link https://github.com/davidrus}\n * @author Pavel Hrách [@SilenY]{@link https://github.com/SilenY}\n * @author Jozef Bíroš [@JozefBiros]{@link https://github.com/JozefBiros}\n */\nvar locale = {\n  code: 'cs',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['př. n. l.', 'n. l.'],\n  abbreviated: ['př. n. l.', 'n. l.'],\n  wide: ['před naším letopočtem', 'našeho letopočtu']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['1. čtvrtletí', '2. čtvrtletí', '3. čtvrtletí', '4. čtvrtletí'],\n  wide: ['1. čtvrtletí', '2. čtvrtletí', '3. čtvrtletí', '4. čtvrtletí']\n};\nvar monthValues = {\n  narrow: ['L', 'Ú', 'B', 'D', 'K', 'Č', 'Č', 'S', 'Z', 'Ř', 'L', 'P'],\n  abbreviated: ['led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro'],\n  wide: ['leden', 'únor', 'březen', 'duben', 'květen', 'červen', 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec']\n};\nvar formattingMonthValues = {\n  narrow: ['L', 'Ú', 'B', 'D', 'K', 'Č', 'Č', 'S', 'Z', 'Ř', 'L', 'P'],\n  abbreviated: ['led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro'],\n  wide: ['ledna', 'února', 'března', 'dubna', 'května', 'června', 'července', 'srpna', 'září', 'října', 'listopadu', 'prosince']\n};\nvar dayValues = {\n  narrow: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],\n  short: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],\n  abbreviated: ['ned', 'pon', 'úte', 'stř', 'čtv', 'pát', 'sob'],\n  wide: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'dop.',\n    pm: 'odp.',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  },\n  abbreviated: {\n    am: 'dop.',\n    pm: 'odp.',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  },\n  wide: {\n    am: 'dopoledne',\n    pm: 'odpoledne',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'dop.',\n    pm: 'odp.',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  },\n  abbreviated: {\n    am: 'dop.',\n    pm: 'odp.',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  },\n  wide: {\n    am: 'dopoledne',\n    pm: 'odpoledne',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingMonthValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(p[řr](\\.|ed) Kr\\.|p[řr](\\.|ed) n\\. l\\.|po Kr\\.|n\\. l\\.)/i,\n  abbreviated: /^(p[řr](\\.|ed) Kr\\.|p[řr](\\.|ed) n\\. l\\.|po Kr\\.|n\\. l\\.)/i,\n  wide: /^(p[řr](\\.|ed) Kristem|p[řr](\\.|ed) na[šs][íi]m letopo[čc]tem|po Kristu|na[šs]eho letopo[čc]tu)/i\n};\nvar parseEraPatterns = {\n  any: [/^p[řr]/i, /^(po|n)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234]\\. [čc]tvrtlet[íi]/i,\n  wide: /^[1234]\\. [čc]tvrtlet[íi]/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[lúubdkčcszřrlp]/i,\n  abbreviated: /^(led|[úu]no|b[řr]e|dub|kv[ěe]|[čc]vn|[čc]vc|srp|z[áa][řr]|[řr][íi]j|lis|pro)/i,\n  wide: /^(leden|ledna|[úu]nora?|b[řr]ezen|b[řr]ezna|duben|dubna|kv[ěe]ten|kv[ěe]tna|[čc]erven(ec|ce)?|[čc]ervna|srpen|srpna|z[áa][řr][íi]|[řr][íi]jen|[řr][íi]jna|listopad(a|u)?|prosinec|prosince)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^l/i, /^[úu]/i, /^b/i, /^d/i, /^k/i, /^[čc]/i, /^[čc]/i, /^s/i, /^z/i, /^[řr]/i, /^l/i, /^p/i],\n  any: [/^led/i, /^[úu]n/i, /^b[řr]e/i, /^dub/i, /^kv[ěe]/i, /^[čc]vn|[čc]erven(?!\\w)|[čc]ervna/i, /^[čc]vc|[čc]erven(ec|ce)/i, /^srp/i, /^z[áa][řr]/i, /^[řr][íi]j/i, /^lis/i, /^pro/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[npuúsčps]/i,\n  short: /^(ne|po|[úu]t|st|[čc]t|p[áa]|so)/i,\n  abbreviated: /^(ned|pon|[úu]te|st[rř]|[čc]tv|p[áa]t|sob)/i,\n  wide: /^(ned[ěe]le|pond[ěe]l[íi]|[úu]ter[ýy]|st[řr]eda|[čc]tvrtek|p[áa]tek|sobota)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^n/i, /^p/i, /^[úu]/i, /^s/i, /^[čc]/i, /^p/i, /^s/i],\n  any: [/^ne/i, /^po/i, /^[úu]t/i, /^st/i, /^[čc]t/i, /^p[áa]/i, /^so/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^dopoledne|dop\\.?|odpoledne|odp\\.?|p[ůu]lnoc|poledne|r[áa]no|odpoledne|ve[čc]er|(v )?noci?/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^dop/i,\n    pm: /^odp/i,\n    midnight: /^p[ůu]lnoc/i,\n    noon: /^poledne/i,\n    morning: /r[áa]no/i,\n    afternoon: /odpoledne/i,\n    evening: /ve[čc]er/i,\n    night: /noc/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'mindre end ét sekund',\n    other: 'mindre end {{count}} sekunder'\n  },\n  xSeconds: {\n    one: '1 sekund',\n    other: '{{count}} sekunder'\n  },\n  halfAMinute: 'ét halvt minut',\n  lessThanXMinutes: {\n    one: 'mindre end ét minut',\n    other: 'mindre end {{count}} minutter'\n  },\n  xMinutes: {\n    one: '1 minut',\n    other: '{{count}} minutter'\n  },\n  aboutXHours: {\n    one: 'cirka 1 time',\n    other: 'cirka {{count}} timer'\n  },\n  xHours: {\n    one: '1 time',\n    other: '{{count}} timer'\n  },\n  xDays: {\n    one: '1 dag',\n    other: '{{count}} dage'\n  },\n  aboutXWeeks: {\n    one: 'cirka 1 uge',\n    other: 'cirka {{count}} uger'\n  },\n  xWeeks: {\n    one: '1 uge',\n    other: '{{count}} uger'\n  },\n  aboutXMonths: {\n    one: 'cirka 1 måned',\n    other: 'cirka {{count}} måneder'\n  },\n  xMonths: {\n    one: '1 måned',\n    other: '{{count}} måneder'\n  },\n  aboutXYears: {\n    one: 'cirka 1 år',\n    other: 'cirka {{count}} år'\n  },\n  xYears: {\n    one: '1 år',\n    other: '{{count}} år'\n  },\n  overXYears: {\n    one: 'over 1 år',\n    other: 'over {{count}} år'\n  },\n  almostXYears: {\n    one: 'næsten 1 år',\n    other: 'næsten {{count}} år'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'om ' + result;\n    } else {\n      return result + ' siden';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"EEEE 'den' d. MMMM y\",\n  long: 'd. MMMM y',\n  medium: 'd. MMM y',\n  short: 'dd/MM/y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'kl'. {{time}}\",\n  long: \"{{date}} 'kl'. {{time}}\",\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'sidste' eeee 'kl.' p\",\n  yesterday: \"'i går kl.' p\",\n  today: \"'i dag kl.' p\",\n  tomorrow: \"'i morgen kl.' p\",\n  nextWeek: \"'på' eeee 'kl.' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Danish locale.\n * @language Danish\n * @iso-639-2 dan\n * @author Mathias Wøbbe [@MathiasKandelborg]{@link https://github.com/MathiasKandelborg}\n * @author Anders B. Hansen [@Andersbiha]{@link https://github.com/Andersbiha}\n * @author [@kgram]{@link https://github.com/kgram}\n * @author [@stefanbugge]{@link https://github.com/stefanbugge}\n */\nvar locale = {\n  code: 'da',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['fvt', 'vt'],\n  abbreviated: ['f.v.t.', 'v.t.'],\n  wide: ['før vesterlandsk tidsregning', 'vesterlandsk tidsregning']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['1. kvt.', '2. kvt.', '3. kvt.', '4. kvt.'],\n  wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],\n  wide: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december']\n};\n\n// Note that 'Days - abbreviated - Formatting' has periods at the end.\n// https://www.unicode.org/cldr/charts/32/summary/da.html#1760\n// This makes grammatical sense in danish, as most abbreviations have periods.\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],\n  short: ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],\n  abbreviated: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'],\n  wide: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'morgen',\n    afternoon: 'eftermiddag',\n    evening: 'aften',\n    night: 'nat'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'morgen',\n    afternoon: 'eftermiddag',\n    evening: 'aften',\n    night: 'nat'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'morgen',\n    afternoon: 'eftermiddag',\n    evening: 'aften',\n    night: 'nat'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'om morgenen',\n    afternoon: 'om eftermiddagen',\n    evening: 'om aftenen',\n    night: 'om natten'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'om morgenen',\n    afternoon: 'om eftermiddagen',\n    evening: 'om aftenen',\n    night: 'om natten'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'om morgenen',\n    afternoon: 'om eftermiddagen',\n    evening: 'om aftenen',\n    night: 'om natten'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(fKr|fvt|eKr|vt)/i,\n  abbreviated: /^(f\\.Kr\\.?|f\\.v\\.t\\.?|e\\.Kr\\.?|v\\.t\\.)/i,\n  wide: /^(f.Kr.|før vesterlandsk tidsregning|e.Kr.|vesterlandsk tidsregning)/i\n};\nvar parseEraPatterns = {\n  any: [/^f/i, /^(v|e)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234]. kvt\\./i,\n  wide: /^[1234]\\.? kvartal/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan.|feb.|mar.|apr.|maj|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n  wide: /^(januar|februar|marts|april|maj|juni|juli|august|september|oktober|november|december)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(søn.|man.|tir.|ons.|tor.|fre.|lør.)/i,\n  abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n  wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^o/i, /^t/i, /^f/i, /^l/i],\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /midnat/i,\n    noon: /middag/i,\n    morning: /morgen/i,\n    afternoon: /eftermiddag/i,\n    evening: /aften/i,\n    night: /nat/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    standalone: {\n      one: 'weniger als 1 Sekunde',\n      other: 'weniger als {{count}} Sekunden'\n    },\n    withPreposition: {\n      one: 'weniger als 1 Sekunde',\n      other: 'weniger als {{count}} Sekunden'\n    }\n  },\n  xSeconds: {\n    standalone: {\n      one: '1 Sekunde',\n      other: '{{count}} Sekunden'\n    },\n    withPreposition: {\n      one: '1 Sekunde',\n      other: '{{count}} Sekunden'\n    }\n  },\n  halfAMinute: {\n    standalone: 'halbe Minute',\n    withPreposition: 'halben Minute'\n  },\n  lessThanXMinutes: {\n    standalone: {\n      one: 'weniger als 1 Minute',\n      other: 'weniger als {{count}} Minuten'\n    },\n    withPreposition: {\n      one: 'weniger als 1 Minute',\n      other: 'weniger als {{count}} Minuten'\n    }\n  },\n  xMinutes: {\n    standalone: {\n      one: '1 Minute',\n      other: '{{count}} Minuten'\n    },\n    withPreposition: {\n      one: '1 Minute',\n      other: '{{count}} Minuten'\n    }\n  },\n  aboutXHours: {\n    standalone: {\n      one: 'etwa 1 Stunde',\n      other: 'etwa {{count}} Stunden'\n    },\n    withPreposition: {\n      one: 'etwa 1 Stunde',\n      other: 'etwa {{count}} Stunden'\n    }\n  },\n  xHours: {\n    standalone: {\n      one: '1 Stunde',\n      other: '{{count}} Stunden'\n    },\n    withPreposition: {\n      one: '1 Stunde',\n      other: '{{count}} Stunden'\n    }\n  },\n  xDays: {\n    standalone: {\n      one: '1 Tag',\n      other: '{{count}} Tage'\n    },\n    withPreposition: {\n      one: '1 Tag',\n      other: '{{count}} Tagen'\n    }\n  },\n  aboutXWeeks: {\n    standalone: {\n      one: 'etwa 1 Woche',\n      other: 'etwa {{count}} Wochen'\n    },\n    withPreposition: {\n      one: 'etwa 1 Woche',\n      other: 'etwa {{count}} Wochen'\n    }\n  },\n  xWeeks: {\n    standalone: {\n      one: '1 Woche',\n      other: '{{count}} Wochen'\n    },\n    withPreposition: {\n      one: '1 Woche',\n      other: '{{count}} Wochen'\n    }\n  },\n  aboutXMonths: {\n    standalone: {\n      one: 'etwa 1 Monat',\n      other: 'etwa {{count}} Monate'\n    },\n    withPreposition: {\n      one: 'etwa 1 Monat',\n      other: 'etwa {{count}} Monaten'\n    }\n  },\n  xMonths: {\n    standalone: {\n      one: '1 Monat',\n      other: '{{count}} Monate'\n    },\n    withPreposition: {\n      one: '1 Monat',\n      other: '{{count}} Monaten'\n    }\n  },\n  aboutXYears: {\n    standalone: {\n      one: 'etwa 1 Jahr',\n      other: 'etwa {{count}} Jahre'\n    },\n    withPreposition: {\n      one: 'etwa 1 Jahr',\n      other: 'etwa {{count}} Jahren'\n    }\n  },\n  xYears: {\n    standalone: {\n      one: '1 Jahr',\n      other: '{{count}} Jahre'\n    },\n    withPreposition: {\n      one: '1 Jahr',\n      other: '{{count}} Jahren'\n    }\n  },\n  overXYears: {\n    standalone: {\n      one: 'mehr als 1 Jahr',\n      other: 'mehr als {{count}} Jahre'\n    },\n    withPreposition: {\n      one: 'mehr als 1 Jahr',\n      other: 'mehr als {{count}} Jahren'\n    }\n  },\n  almostXYears: {\n    standalone: {\n      one: 'fast 1 Jahr',\n      other: 'fast {{count}} Jahre'\n    },\n    withPreposition: {\n      one: 'fast 1 Jahr',\n      other: 'fast {{count}} Jahren'\n    }\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = options !== null && options !== void 0 && options.addSuffix ? formatDistanceLocale[token].withPreposition : formatDistanceLocale[token].standalone;\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'in ' + result;\n    } else {\n      return 'vor ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\n// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008\nvar dateFormats = {\n  full: 'EEEE, do MMMM y',\n  // Montag, 7. Januar 2018\n  long: 'do MMMM y',\n  // 7. Januar 2018\n  medium: 'do MMM y',\n  // 7. Jan. 2018\n  short: 'dd.MM.y' // 07.01.2018\n};\n\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'um' {{time}}\",\n  long: \"{{date}} 'um' {{time}}\",\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'letzten' eeee 'um' p\",\n  yesterday: \"'gestern um' p\",\n  today: \"'heute um' p\",\n  tomorrow: \"'morgen um' p\",\n  nextWeek: \"eeee 'um' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['v.Chr.', 'n.Chr.'],\n  abbreviated: ['v.Chr.', 'n.Chr.'],\n  wide: ['vor Christus', 'nach Christus']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal']\n};\n\n// Note: in German, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n  wide: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']\n};\n\n// https://st.unicode.org/cldr-apps/v#/de/Gregorian/\nvar formattingMonthValues = {\n  narrow: monthValues.narrow,\n  abbreviated: ['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],\n  wide: monthValues.wide\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'D', 'M', 'D', 'F', 'S'],\n  short: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n  abbreviated: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],\n  wide: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag']\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/de.html#1881\nvar dayPeriodValues = {\n  narrow: {\n    am: 'vm.',\n    pm: 'nm.',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'Morgen',\n    afternoon: 'Nachm.',\n    evening: 'Abend',\n    night: 'Nacht'\n  },\n  abbreviated: {\n    am: 'vorm.',\n    pm: 'nachm.',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'Morgen',\n    afternoon: 'Nachmittag',\n    evening: 'Abend',\n    night: 'Nacht'\n  },\n  wide: {\n    am: 'vormittags',\n    pm: 'nachmittags',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'Morgen',\n    afternoon: 'Nachmittag',\n    evening: 'Abend',\n    night: 'Nacht'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'vm.',\n    pm: 'nm.',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'morgens',\n    afternoon: 'nachm.',\n    evening: 'abends',\n    night: 'nachts'\n  },\n  abbreviated: {\n    am: 'vorm.',\n    pm: 'nachm.',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'morgens',\n    afternoon: 'nachmittags',\n    evening: 'abends',\n    night: 'nachts'\n  },\n  wide: {\n    am: 'vormittags',\n    pm: 'nachmittags',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'morgens',\n    afternoon: 'nachmittags',\n    evening: 'abends',\n    night: 'nachts'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    formattingValues: formattingMonthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary German locale.\n * @language German\n * @iso-639-2 deu\n * @author Thomas Eilmsteiner [@DeMuu]{@link https://github.com/DeMuu}\n * @author Asia [@asia-t]{@link https://github.com/asia-t}\n * @author Van Vuong Ngo [@vanvuongngo]{@link https://github.com/vanvuongngo}\n * @author RomanErnst [@pex]{@link https://github.com/pex}\n * @author Philipp Keck [@Philipp91]{@link https://github.com/Philipp91}\n */\nvar locale = {\n  code: 'de',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n  abbreviated: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n  wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i\n};\nvar parseEraPatterns = {\n  any: [/^v/i, /^n/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](\\.)? Quartal/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\\.?/i,\n  wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^j[aä]/i, /^f/i, /^mär/i, /^ap/i, /^mai/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smdmf]/i,\n  short: /^(so|mo|di|mi|do|fr|sa)/i,\n  abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\\.?/i,\n  wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i\n};\nvar parseDayPatterns = {\n  any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(vm\\.?|nm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n  abbreviated: /^(vorm\\.?|nachm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n  wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^v/i,\n    pm: /^n/i,\n    midnight: /^Mitte/i,\n    noon: /^Mitta/i,\n    morning: /morgens/i,\n    afternoon: /nachmittags/i,\n    // will never be matched. Afternoon is matched by `pm`\n    evening: /abends/i,\n    night: /nachts/i // will never be matched. Night is matched by `pm`\n  }\n};\n\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'less than a second',\n    other: 'less than {{count}} seconds'\n  },\n  xSeconds: {\n    one: '1 second',\n    other: '{{count}} seconds'\n  },\n  halfAMinute: 'half a minute',\n  lessThanXMinutes: {\n    one: 'less than a minute',\n    other: 'less than {{count}} minutes'\n  },\n  xMinutes: {\n    one: '1 minute',\n    other: '{{count}} minutes'\n  },\n  aboutXHours: {\n    one: 'about 1 hour',\n    other: 'about {{count}} hours'\n  },\n  xHours: {\n    one: '1 hour',\n    other: '{{count}} hours'\n  },\n  xDays: {\n    one: '1 day',\n    other: '{{count}} days'\n  },\n  aboutXWeeks: {\n    one: 'about 1 week',\n    other: 'about {{count}} weeks'\n  },\n  xWeeks: {\n    one: '1 week',\n    other: '{{count}} weeks'\n  },\n  aboutXMonths: {\n    one: 'about 1 month',\n    other: 'about {{count}} months'\n  },\n  xMonths: {\n    one: '1 month',\n    other: '{{count}} months'\n  },\n  aboutXYears: {\n    one: 'about 1 year',\n    other: 'about {{count}} years'\n  },\n  xYears: {\n    one: '1 year',\n    other: '{{count}} years'\n  },\n  overXYears: {\n    one: 'over 1 year',\n    other: 'over {{count}} years'\n  },\n  almostXYears: {\n    one: 'almost 1 year',\n    other: 'almost {{count}} years'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'in ' + result;\n    } else {\n      return result + ' ago';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","var formatRelativeLocale = {\n  lastWeek: \"'last' eeee 'at' p\",\n  yesterday: \"'yesterday at' p\",\n  today: \"'today at' p\",\n  tomorrow: \"'tomorrow at' p\",\n  nextWeek: \"eeee 'at' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['B', 'A'],\n  abbreviated: ['BC', 'AD'],\n  wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n  wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n  short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n  abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n  wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mi',\n    noon: 'n',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mi',\n    noon: 'n',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n\n  // If ordinal numbers depend on context, for example,\n  // if they are different for different grammatical genders,\n  // use `options.unit`.\n  //\n  // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n  // 'day', 'hour', 'minute', 'second'.\n\n  var rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + 'st';\n      case 2:\n        return number + 'nd';\n      case 3:\n        return number + 'rd';\n    }\n  }\n  return number + 'th';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(b|a)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n  any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtwf]/i,\n  short: /^(su|mo|tu|we|th|fr|sa)/i,\n  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mi/i,\n    noon: /^no/i,\n    morning: /morning/i,\n    afternoon: /afternoon/i,\n    evening: /evening/i,\n    night: /night/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (India).\n * @language English\n * @iso-639-2 eng\n * @author Galeel Bhasha Satthar [@gbhasha]{@link https://github.com/gbhasha}\n */\nvar locale = {\n  code: 'en-IN',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1,\n    // Monday is the first day of the week.\n    firstWeekContainsDate: 4 // The week that contains Jan 4th is the first week of the year.\n  }\n};\n\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, d MMMM yyyy',\n  long: 'd MMMM, yyyy',\n  medium: 'd MMM, yyyy',\n  short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n  full: 'h:mm:ss a zzzz',\n  long: 'h:mm:ss a z',\n  medium: 'h:mm:ss a',\n  short: 'h:mm a'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, d MMMM yyyy',\n  long: 'd MMMM yyyy',\n  medium: 'd MMM yyyy',\n  short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"../en-GB/_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (Ireland).\n * @language English\n * @iso-639-2 eng\n * @author Tetiana [@tan75]{@link https://github.com/tan75}\n */\nvar locale = {\n  code: 'en-IE',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n  code: 'en-US',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, MMMM do, y',\n  long: 'MMMM do, y',\n  medium: 'MMM d, y',\n  short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n  full: 'h:mm:ss a zzzz',\n  long: 'h:mm:ss a z',\n  medium: 'h:mm:ss a',\n  short: 'h:mm a'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik]{@link https://github.com/glintik}\n */\nvar locale = {\n  code: 'en-GB',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'menos de un segundo',\n    other: 'menos de {{count}} segundos'\n  },\n  xSeconds: {\n    one: '1 segundo',\n    other: '{{count}} segundos'\n  },\n  halfAMinute: 'medio minuto',\n  lessThanXMinutes: {\n    one: 'menos de un minuto',\n    other: 'menos de {{count}} minutos'\n  },\n  xMinutes: {\n    one: '1 minuto',\n    other: '{{count}} minutos'\n  },\n  aboutXHours: {\n    one: 'alrededor de 1 hora',\n    other: 'alrededor de {{count}} horas'\n  },\n  xHours: {\n    one: '1 hora',\n    other: '{{count}} horas'\n  },\n  xDays: {\n    one: '1 día',\n    other: '{{count}} días'\n  },\n  aboutXWeeks: {\n    one: 'alrededor de 1 semana',\n    other: 'alrededor de {{count}} semanas'\n  },\n  xWeeks: {\n    one: '1 semana',\n    other: '{{count}} semanas'\n  },\n  aboutXMonths: {\n    one: 'alrededor de 1 mes',\n    other: 'alrededor de {{count}} meses'\n  },\n  xMonths: {\n    one: '1 mes',\n    other: '{{count}} meses'\n  },\n  aboutXYears: {\n    one: 'alrededor de 1 año',\n    other: 'alrededor de {{count}} años'\n  },\n  xYears: {\n    one: '1 año',\n    other: '{{count}} años'\n  },\n  overXYears: {\n    one: 'más de 1 año',\n    other: 'más de {{count}} años'\n  },\n  almostXYears: {\n    one: 'casi 1 año',\n    other: 'casi {{count}} años'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'en ' + result;\n    } else {\n      return 'hace ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"EEEE, d 'de' MMMM 'de' y\",\n  long: \"d 'de' MMMM 'de' y\",\n  medium: 'd MMM y',\n  short: 'dd/MM/y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'a las' {{time}}\",\n  long: \"{{date}} 'a las' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'el' eeee 'pasado a la' p\",\n  yesterday: \"'ayer a la' p\",\n  today: \"'hoy a la' p\",\n  tomorrow: \"'mañana a la' p\",\n  nextWeek: \"eeee 'a la' p\",\n  other: 'P'\n};\nvar formatRelativeLocalePlural = {\n  lastWeek: \"'el' eeee 'pasado a las' p\",\n  yesterday: \"'ayer a las' p\",\n  today: \"'hoy a las' p\",\n  tomorrow: \"'mañana a las' p\",\n  nextWeek: \"eeee 'a las' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n  if (date.getUTCHours() !== 1) {\n    return formatRelativeLocalePlural[token];\n  } else {\n    return formatRelativeLocale[token];\n  }\n};\nexport default formatRelative;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Spanish locale.\n * @language Spanish\n * @iso-639-2 spa\n * @author Juan Angosto [@juanangosto]{@link https://github.com/juanangosto}\n * @author Guillermo Grau [@guigrpa]{@link https://github.com/guigrpa}\n * @author Fernando Agüero [@fjaguero]{@link https://github.com/fjaguero}\n * @author Gastón Haro [@harogaston]{@link https://github.com/harogaston}\n * @author Yago Carballo [@YagoCarballo]{@link https://github.com/YagoCarballo}\n */\nvar locale = {\n  code: 'es',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['AC', 'DC'],\n  abbreviated: ['AC', 'DC'],\n  wide: ['antes de cristo', 'después de cristo']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['T1', 'T2', 'T3', 'T4'],\n  wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n  narrow: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n  abbreviated: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\n  wide: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre']\n};\nvar dayValues = {\n  narrow: ['d', 'l', 'm', 'm', 'j', 'v', 's'],\n  short: ['do', 'lu', 'ma', 'mi', 'ju', 'vi', 'sá'],\n  abbreviated: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],\n  wide: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mn',\n    noon: 'md',\n    morning: 'mañana',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noche'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'medianoche',\n    noon: 'mediodia',\n    morning: 'mañana',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noche'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'medianoche',\n    noon: 'mediodia',\n    morning: 'mañana',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noche'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mn',\n    noon: 'md',\n    morning: 'de la mañana',\n    afternoon: 'de la tarde',\n    evening: 'de la tarde',\n    night: 'de la noche'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'medianoche',\n    noon: 'mediodia',\n    morning: 'de la mañana',\n    afternoon: 'de la tarde',\n    evening: 'de la tarde',\n    night: 'de la noche'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'medianoche',\n    noon: 'mediodia',\n    morning: 'de la mañana',\n    afternoon: 'de la tarde',\n    evening: 'de la tarde',\n    night: 'de la noche'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + 'º';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return Number(quarter) - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(ac|dc|a|d)/i,\n  abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n  wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i\n};\nvar parseEraPatterns = {\n  any: [/^ac/i, /^dc/i],\n  wide: [/^(antes de cristo|antes de la era com[uú]n)/i, /^(despu[eé]s de cristo|era com[uú]n)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^T[1234]/i,\n  wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[efmajsond]/i,\n  abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,\n  wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^e/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^en/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[dlmjvs]/i,\n  short: /^(do|lu|ma|mi|ju|vi|s[áa])/i,\n  abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,\n  wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n  any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,\n  any: /^([ap]\\.?\\s?m\\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mn/i,\n    noon: /^md/i,\n    morning: /mañana/i,\n    afternoon: /tarde/i,\n    evening: /tarde/i,\n    night: /noche/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    standalone: {\n      one: 'vähem kui üks sekund',\n      other: 'vähem kui {{count}} sekundit'\n    },\n    withPreposition: {\n      one: 'vähem kui ühe sekundi',\n      other: 'vähem kui {{count}} sekundi'\n    }\n  },\n  xSeconds: {\n    standalone: {\n      one: 'üks sekund',\n      other: '{{count}} sekundit'\n    },\n    withPreposition: {\n      one: 'ühe sekundi',\n      other: '{{count}} sekundi'\n    }\n  },\n  halfAMinute: {\n    standalone: 'pool minutit',\n    withPreposition: 'poole minuti'\n  },\n  lessThanXMinutes: {\n    standalone: {\n      one: 'vähem kui üks minut',\n      other: 'vähem kui {{count}} minutit'\n    },\n    withPreposition: {\n      one: 'vähem kui ühe minuti',\n      other: 'vähem kui {{count}} minuti'\n    }\n  },\n  xMinutes: {\n    standalone: {\n      one: 'üks minut',\n      other: '{{count}} minutit'\n    },\n    withPreposition: {\n      one: 'ühe minuti',\n      other: '{{count}} minuti'\n    }\n  },\n  aboutXHours: {\n    standalone: {\n      one: 'umbes üks tund',\n      other: 'umbes {{count}} tundi'\n    },\n    withPreposition: {\n      one: 'umbes ühe tunni',\n      other: 'umbes {{count}} tunni'\n    }\n  },\n  xHours: {\n    standalone: {\n      one: 'üks tund',\n      other: '{{count}} tundi'\n    },\n    withPreposition: {\n      one: 'ühe tunni',\n      other: '{{count}} tunni'\n    }\n  },\n  xDays: {\n    standalone: {\n      one: 'üks päev',\n      other: '{{count}} päeva'\n    },\n    withPreposition: {\n      one: 'ühe päeva',\n      other: '{{count}} päeva'\n    }\n  },\n  aboutXWeeks: {\n    standalone: {\n      one: 'umbes üks nädal',\n      other: 'umbes {{count}} nädalat'\n    },\n    withPreposition: {\n      one: 'umbes ühe nädala',\n      other: 'umbes {{count}} nädala'\n    }\n  },\n  xWeeks: {\n    standalone: {\n      one: 'üks nädal',\n      other: '{{count}} nädalat'\n    },\n    withPreposition: {\n      one: 'ühe nädala',\n      other: '{{count}} nädala'\n    }\n  },\n  aboutXMonths: {\n    standalone: {\n      one: 'umbes üks kuu',\n      other: 'umbes {{count}} kuud'\n    },\n    withPreposition: {\n      one: 'umbes ühe kuu',\n      other: 'umbes {{count}} kuu'\n    }\n  },\n  xMonths: {\n    standalone: {\n      one: 'üks kuu',\n      other: '{{count}} kuud'\n    },\n    withPreposition: {\n      one: 'ühe kuu',\n      other: '{{count}} kuu'\n    }\n  },\n  aboutXYears: {\n    standalone: {\n      one: 'umbes üks aasta',\n      other: 'umbes {{count}} aastat'\n    },\n    withPreposition: {\n      one: 'umbes ühe aasta',\n      other: 'umbes {{count}} aasta'\n    }\n  },\n  xYears: {\n    standalone: {\n      one: 'üks aasta',\n      other: '{{count}} aastat'\n    },\n    withPreposition: {\n      one: 'ühe aasta',\n      other: '{{count}} aasta'\n    }\n  },\n  overXYears: {\n    standalone: {\n      one: 'rohkem kui üks aasta',\n      other: 'rohkem kui {{count}} aastat'\n    },\n    withPreposition: {\n      one: 'rohkem kui ühe aasta',\n      other: 'rohkem kui {{count}} aasta'\n    }\n  },\n  almostXYears: {\n    standalone: {\n      one: 'peaaegu üks aasta',\n      other: 'peaaegu {{count}} aastat'\n    },\n    withPreposition: {\n      one: 'peaaegu ühe aasta',\n      other: 'peaaegu {{count}} aasta'\n    }\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var usageGroup = options !== null && options !== void 0 && options.addSuffix ? formatDistanceLocale[token].withPreposition : formatDistanceLocale[token].standalone;\n  var result;\n  if (typeof usageGroup === 'string') {\n    result = usageGroup;\n  } else if (count === 1) {\n    result = usageGroup.one;\n  } else {\n    result = usageGroup.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + ' pärast';\n    } else {\n      return result + ' eest';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, d. MMMM y',\n  long: 'd. MMMM y',\n  medium: 'd. MMM y',\n  short: 'dd.MM.y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'kell' {{time}}\",\n  long: \"{{date}} 'kell' {{time}}\",\n  medium: '{{date}}. {{time}}',\n  short: '{{date}}. {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'eelmine' eeee 'kell' p\",\n  yesterday: \"'eile kell' p\",\n  today: \"'täna kell' p\",\n  tomorrow: \"'homme kell' p\",\n  nextWeek: \"'järgmine' eeee 'kell' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['e.m.a', 'm.a.j'],\n  abbreviated: ['e.m.a', 'm.a.j'],\n  wide: ['enne meie ajaarvamist', 'meie ajaarvamise järgi']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['K1', 'K2', 'K3', 'K4'],\n  wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n  narrow: ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'],\n  wide: ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', 'juuli', 'august', 'september', 'oktoober', 'november', 'detsember']\n};\nvar dayValues = {\n  narrow: ['P', 'E', 'T', 'K', 'N', 'R', 'L'],\n  short: ['P', 'E', 'T', 'K', 'N', 'R', 'L'],\n  abbreviated: ['pühap.', 'esmasp.', 'teisip.', 'kolmap.', 'neljap.', 'reede.', 'laup.'],\n  wide: ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', 'neljapäev', 'reede', 'laupäev']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'kesköö',\n    noon: 'keskpäev',\n    morning: 'hommik',\n    afternoon: 'pärastlõuna',\n    evening: 'õhtu',\n    night: 'öö'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'kesköö',\n    noon: 'keskpäev',\n    morning: 'hommik',\n    afternoon: 'pärastlõuna',\n    evening: 'õhtu',\n    night: 'öö'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'kesköö',\n    noon: 'keskpäev',\n    morning: 'hommik',\n    afternoon: 'pärastlõuna',\n    evening: 'õhtu',\n    night: 'öö'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'keskööl',\n    noon: 'keskpäeval',\n    morning: 'hommikul',\n    afternoon: 'pärastlõunal',\n    evening: 'õhtul',\n    night: 'öösel'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'keskööl',\n    noon: 'keskpäeval',\n    morning: 'hommikul',\n    afternoon: 'pärastlõunal',\n    evening: 'õhtul',\n    night: 'öösel'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'keskööl',\n    noon: 'keskpäeval',\n    morning: 'hommikul',\n    afternoon: 'pärastlõunal',\n    evening: 'õhtul',\n    night: 'öösel'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide',\n    formattingValues: monthValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide',\n    formattingValues: dayValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Estonian locale.\n * @language Estonian\n * @iso-639-2 est\n * @author Priit Hansen [@HansenPriit]{@link https://github.com/priithansen}\n */\nvar locale = {\n  code: 'et',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^\\d+\\./i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(e\\.m\\.a|m\\.a\\.j|eKr|pKr)/i,\n  abbreviated: /^(e\\.m\\.a|m\\.a\\.j|eKr|pKr)/i,\n  wide: /^(enne meie ajaarvamist|meie ajaarvamise järgi|enne Kristust|pärast Kristust)/i\n};\nvar parseEraPatterns = {\n  any: [/^e/i, /^(m|p)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^K[1234]/i,\n  wide: /^[1234](\\.)? kvartal/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jvmasond]/i,\n  abbreviated: /^(jaan|veebr|märts|apr|mai|juuni|juuli|aug|sept|okt|nov|dets)/i,\n  wide: /^(jaanuar|veebruar|märts|aprill|mai|juuni|juuli|august|september|oktoober|november|detsember)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^v/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^v/i, /^mär/i, /^ap/i, /^mai/i, /^juun/i, /^juul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[petknrl]/i,\n  short: /^[petknrl]/i,\n  abbreviated: /^(püh?|esm?|tei?|kolm?|nel?|ree?|laup?)\\.?/i,\n  wide: /^(pühapäev|esmaspäev|teisipäev|kolmapäev|neljapäev|reede|laupäev)/i\n};\nvar parseDayPatterns = {\n  any: [/^p/i, /^e/i, /^t/i, /^k/i, /^n/i, /^r/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(am|pm|keskööl?|keskpäev(al)?|hommik(ul)?|pärastlõunal?|õhtul?|öö(sel)?)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^keskö/i,\n    noon: /^keskp/i,\n    morning: /hommik/i,\n    afternoon: /pärastlõuna/i,\n    evening: /õhtu/i,\n    night: /öö/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","function futureSeconds(text) {\n  return text.replace(/sekuntia?/, 'sekunnin');\n}\nfunction futureMinutes(text) {\n  return text.replace(/minuuttia?/, 'minuutin');\n}\nfunction futureHours(text) {\n  return text.replace(/tuntia?/, 'tunnin');\n}\nfunction futureDays(text) {\n  return text.replace(/päivää?/, 'päivän');\n}\nfunction futureWeeks(text) {\n  return text.replace(/(viikko|viikkoa)/, 'viikon');\n}\nfunction futureMonths(text) {\n  return text.replace(/(kuukausi|kuukautta)/, 'kuukauden');\n}\nfunction futureYears(text) {\n  return text.replace(/(vuosi|vuotta)/, 'vuoden');\n}\nvar formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'alle sekunti',\n    other: 'alle {{count}} sekuntia',\n    futureTense: futureSeconds\n  },\n  xSeconds: {\n    one: 'sekunti',\n    other: '{{count}} sekuntia',\n    futureTense: futureSeconds\n  },\n  halfAMinute: {\n    one: 'puoli minuuttia',\n    other: 'puoli minuuttia',\n    futureTense: function futureTense(_text) {\n      return 'puolen minuutin';\n    }\n  },\n  lessThanXMinutes: {\n    one: 'alle minuutti',\n    other: 'alle {{count}} minuuttia',\n    futureTense: futureMinutes\n  },\n  xMinutes: {\n    one: 'minuutti',\n    other: '{{count}} minuuttia',\n    futureTense: futureMinutes\n  },\n  aboutXHours: {\n    one: 'noin tunti',\n    other: 'noin {{count}} tuntia',\n    futureTense: futureHours\n  },\n  xHours: {\n    one: 'tunti',\n    other: '{{count}} tuntia',\n    futureTense: futureHours\n  },\n  xDays: {\n    one: 'päivä',\n    other: '{{count}} päivää',\n    futureTense: futureDays\n  },\n  aboutXWeeks: {\n    one: 'noin viikko',\n    other: 'noin {{count}} viikkoa',\n    futureTense: futureWeeks\n  },\n  xWeeks: {\n    one: 'viikko',\n    other: '{{count}} viikkoa',\n    futureTense: futureWeeks\n  },\n  aboutXMonths: {\n    one: 'noin kuukausi',\n    other: 'noin {{count}} kuukautta',\n    futureTense: futureMonths\n  },\n  xMonths: {\n    one: 'kuukausi',\n    other: '{{count}} kuukautta',\n    futureTense: futureMonths\n  },\n  aboutXYears: {\n    one: 'noin vuosi',\n    other: 'noin {{count}} vuotta',\n    futureTense: futureYears\n  },\n  xYears: {\n    one: 'vuosi',\n    other: '{{count}} vuotta',\n    futureTense: futureYears\n  },\n  overXYears: {\n    one: 'yli vuosi',\n    other: 'yli {{count}} vuotta',\n    futureTense: futureYears\n  },\n  almostXYears: {\n    one: 'lähes vuosi',\n    other: 'lähes {{count}} vuotta',\n    futureTense: futureYears\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var tokenValue = formatDistanceLocale[token];\n  var result = count === 1 ? tokenValue.one : tokenValue.other.replace('{{count}}', String(count));\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return tokenValue.futureTense(result) + ' kuluttua';\n    } else {\n      return result + ' sitten';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'eeee d. MMMM y',\n  long: 'd. MMMM y',\n  medium: 'd. MMM y',\n  short: 'd.M.y'\n};\nvar timeFormats = {\n  full: 'HH.mm.ss zzzz',\n  long: 'HH.mm.ss z',\n  medium: 'HH.mm.ss',\n  short: 'HH.mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'klo' {{time}}\",\n  long: \"{{date}} 'klo' {{time}}\",\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'viime' eeee 'klo' p\",\n  yesterday: \"'eilen klo' p\",\n  today: \"'tänään klo' p\",\n  tomorrow: \"'huomenna klo' p\",\n  nextWeek: \"'ensi' eeee 'klo' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['eaa.', 'jaa.'],\n  abbreviated: ['eaa.', 'jaa.'],\n  wide: ['ennen ajanlaskun alkua', 'jälkeen ajanlaskun alun']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1. kvartaali', '2. kvartaali', '3. kvartaali', '4. kvartaali']\n};\nvar monthValues = {\n  narrow: ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E', 'S', 'L', 'M', 'J'],\n  abbreviated: ['tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'],\n  wide: ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu']\n};\nvar formattingMonthValues = {\n  narrow: monthValues.narrow,\n  abbreviated: monthValues.abbreviated,\n  wide: ['tammikuuta', 'helmikuuta', 'maaliskuuta', 'huhtikuuta', 'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta', 'syyskuuta', 'lokakuuta', 'marraskuuta', 'joulukuuta']\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'K', 'T', 'P', 'L'],\n  short: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'],\n  abbreviated: ['sunn.', 'maan.', 'tiis.', 'kesk.', 'torst.', 'perj.', 'la'],\n  wide: ['sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', 'perjantai', 'lauantai']\n};\nvar formattingDayValues = {\n  narrow: dayValues.narrow,\n  short: dayValues.short,\n  abbreviated: dayValues.abbreviated,\n  wide: ['sunnuntaina', 'maanantaina', 'tiistaina', 'keskiviikkona', 'torstaina', 'perjantaina', 'lauantaina']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'ap',\n    pm: 'ip',\n    midnight: 'keskiyö',\n    noon: 'keskipäivä',\n    morning: 'ap',\n    afternoon: 'ip',\n    evening: 'illalla',\n    night: 'yöllä'\n  },\n  abbreviated: {\n    am: 'ap',\n    pm: 'ip',\n    midnight: 'keskiyö',\n    noon: 'keskipäivä',\n    morning: 'ap',\n    afternoon: 'ip',\n    evening: 'illalla',\n    night: 'yöllä'\n  },\n  wide: {\n    am: 'ap',\n    pm: 'ip',\n    midnight: 'keskiyöllä',\n    noon: 'keskipäivällä',\n    morning: 'aamupäivällä',\n    afternoon: 'iltapäivällä',\n    evening: 'illalla',\n    night: 'yöllä'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingMonthValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Finnish locale.\n * @language Finnish\n * @iso-639-2 fin\n * @author Pyry-Samuli Lahti [@Pyppe]{@link https://github.com/Pyppe}\n * @author Edo Rivai [@mikolajgrzyb]{@link https://github.com/mikolajgrzyb}\n * @author Samu Juvonen [@sjuvonen]{@link https://github.com/sjuvonen}\n */\nvar locale = {\n  code: 'fi',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(e|j)/i,\n  abbreviated: /^(eaa.|jaa.)/i,\n  wide: /^(ennen ajanlaskun alkua|jälkeen ajanlaskun alun)/i\n};\nvar parseEraPatterns = {\n  any: [/^e/i, /^j/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234]\\.? kvartaali/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[thmkeslj]/i,\n  abbreviated: /^(tammi|helmi|maalis|huhti|touko|kesä|heinä|elo|syys|loka|marras|joulu)/i,\n  wide: /^(tammikuu|helmikuu|maaliskuu|huhtikuu|toukokuu|kesäkuu|heinäkuu|elokuu|syyskuu|lokakuu|marraskuu|joulukuu)(ta)?/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^t/i, /^h/i, /^m/i, /^h/i, /^t/i, /^k/i, /^h/i, /^e/i, /^s/i, /^l/i, /^m/i, /^j/i],\n  any: [/^ta/i, /^hel/i, /^maa/i, /^hu/i, /^to/i, /^k/i, /^hei/i, /^e/i, /^s/i, /^l/i, /^mar/i, /^j/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtkpl]/i,\n  short: /^(su|ma|ti|ke|to|pe|la)/i,\n  abbreviated: /^(sunn.|maan.|tiis.|kesk.|torst.|perj.|la)/i,\n  wide: /^(sunnuntai|maanantai|tiistai|keskiviikko|torstai|perjantai|lauantai)(na)?/i\n};\nvar parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^k/i, /^t/i, /^p/i, /^l/i],\n  any: [/^s/i, /^m/i, /^ti/i, /^k/i, /^to/i, /^p/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(ap|ip|keskiyö|keskipäivä|aamupäivällä|iltapäivällä|illalla|yöllä)/i,\n  any: /^(ap|ip|keskiyöllä|keskipäivällä|aamupäivällä|iltapäivällä|illalla|yöllä)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^ap/i,\n    pm: /^ip/i,\n    midnight: /^keskiyö/i,\n    noon: /^keskipäivä/i,\n    morning: /aamupäivällä/i,\n    afternoon: /iltapäivällä/i,\n    evening: /illalla/i,\n    night: /yöllä/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'moins d’une seconde',\n    other: 'moins de {{count}} secondes'\n  },\n  xSeconds: {\n    one: '1 seconde',\n    other: '{{count}} secondes'\n  },\n  halfAMinute: '30 secondes',\n  lessThanXMinutes: {\n    one: 'moins d’une minute',\n    other: 'moins de {{count}} minutes'\n  },\n  xMinutes: {\n    one: '1 minute',\n    other: '{{count}} minutes'\n  },\n  aboutXHours: {\n    one: 'environ 1 heure',\n    other: 'environ {{count}} heures'\n  },\n  xHours: {\n    one: '1 heure',\n    other: '{{count}} heures'\n  },\n  xDays: {\n    one: '1 jour',\n    other: '{{count}} jours'\n  },\n  aboutXWeeks: {\n    one: 'environ 1 semaine',\n    other: 'environ {{count}} semaines'\n  },\n  xWeeks: {\n    one: '1 semaine',\n    other: '{{count}} semaines'\n  },\n  aboutXMonths: {\n    one: 'environ 1 mois',\n    other: 'environ {{count}} mois'\n  },\n  xMonths: {\n    one: '1 mois',\n    other: '{{count}} mois'\n  },\n  aboutXYears: {\n    one: 'environ 1 an',\n    other: 'environ {{count}} ans'\n  },\n  xYears: {\n    one: '1 an',\n    other: '{{count}} ans'\n  },\n  overXYears: {\n    one: 'plus d’un an',\n    other: 'plus de {{count}} ans'\n  },\n  almostXYears: {\n    one: 'presqu’un an',\n    other: 'presque {{count}} ans'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var form = formatDistanceLocale[token];\n  if (typeof form === 'string') {\n    result = form;\n  } else if (count === 1) {\n    result = form.one;\n  } else {\n    result = form.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'dans ' + result;\n    } else {\n      return 'il y a ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","var formatRelativeLocale = {\n  lastWeek: \"eeee 'dernier à' p\",\n  yesterday: \"'hier à' p\",\n  today: \"'aujourd’hui à' p\",\n  tomorrow: \"'demain à' p'\",\n  nextWeek: \"eeee 'prochain à' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['av. J.-C', 'ap. J.-C'],\n  abbreviated: ['av. J.-C', 'ap. J.-C'],\n  wide: ['avant Jésus-Christ', 'après Jésus-Christ']\n};\nvar quarterValues = {\n  narrow: ['T1', 'T2', 'T3', 'T4'],\n  abbreviated: ['1er trim.', '2ème trim.', '3ème trim.', '4ème trim.'],\n  wide: ['1er trimestre', '2ème trimestre', '3ème trimestre', '4ème trimestre']\n};\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],\n  wide: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre']\n};\nvar dayValues = {\n  narrow: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],\n  short: ['di', 'lu', 'ma', 'me', 'je', 've', 'sa'],\n  abbreviated: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],\n  wide: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'minuit',\n    noon: 'midi',\n    morning: 'mat.',\n    afternoon: 'ap.m.',\n    evening: 'soir',\n    night: 'mat.'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'minuit',\n    noon: 'midi',\n    morning: 'matin',\n    afternoon: 'après-midi',\n    evening: 'soir',\n    night: 'matin'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'minuit',\n    noon: 'midi',\n    morning: 'du matin',\n    afternoon: 'de l’après-midi',\n    evening: 'du soir',\n    night: 'du matin'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  var unit = options === null || options === void 0 ? void 0 : options.unit;\n  if (number === 0) return '0';\n  var feminineUnits = ['year', 'week', 'hour', 'minute', 'second'];\n  var suffix;\n  if (number === 1) {\n    suffix = unit && feminineUnits.includes(unit) ? 'ère' : 'er';\n  } else {\n    suffix = 'ème';\n  }\n  return number + suffix;\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(ième|ère|ème|er|e)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(av\\.J\\.C|ap\\.J\\.C|ap\\.J\\.-C)/i,\n  abbreviated: /^(av\\.J\\.-C|av\\.J-C|apr\\.J\\.-C|apr\\.J-C|ap\\.J-C)/i,\n  wide: /^(avant Jésus-Christ|après Jésus-Christ)/i\n};\nvar parseEraPatterns = {\n  any: [/^av/i, /^ap/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^T?[1234]/i,\n  abbreviated: /^[1234](er|ème|e)? trim\\.?/i,\n  wide: /^[1234](er|ème|e)? trimestre/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\\.?/i,\n  wide: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^av/i, /^ma/i, /^juin/i, /^juil/i, /^ao/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[lmjvsd]/i,\n  short: /^(di|lu|ma|me|je|ve|sa)/i,\n  abbreviated: /^(dim|lun|mar|mer|jeu|ven|sam)\\.?/i,\n  wide: /^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n  any: [/^di/i, /^lu/i, /^ma/i, /^me/i, /^je/i, /^ve/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|minuit|midi|mat\\.?|ap\\.?m\\.?|soir|nuit)/i,\n  any: /^([ap]\\.?\\s?m\\.?|du matin|de l'après[-\\s]midi|du soir|de la nuit)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^min/i,\n    noon: /^mid/i,\n    morning: /mat/i,\n    afternoon: /ap/i,\n    evening: /soir/i,\n    night: /nuit/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","// Same as fr\nimport formatDistance from \"../fr/_lib/formatDistance/index.js\";\nimport formatRelative from \"../fr/_lib/formatRelative/index.js\";\nimport localize from \"../fr/_lib/localize/index.js\";\nimport match from \"../fr/_lib/match/index.js\";\n// Unique for fr-CA\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary French locale (Canada).\n * @language French\n * @iso-639-2 fra\n * @author Jean Dupouy [@izeau]{@link https://github.com/izeau}\n * @author François B [@fbonzon]{@link https://github.com/fbonzon}\n * @author Gabriele Petrioli [@gpetrioli]{@link https://github.com/gpetrioli}\n */\nvar locale = {\n  code: 'fr-CA',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  // Unique for fr-CA\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE d MMMM y',\n  long: 'd MMMM y',\n  medium: 'd MMM y',\n  short: 'yy-MM-dd'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'à' {{time}}\",\n  long: \"{{date}} 'à' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary French locale.\n * @language French\n * @iso-639-2 fra\n * @author Jean Dupouy [@izeau]{@link https://github.com/izeau}\n * @author François B [@fbonzon]{@link https://github.com/fbonzon}\n */\nvar locale = {\n  code: 'fr',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE d MMMM y',\n  long: 'd MMMM y',\n  medium: 'd MMM y',\n  short: 'dd/MM/y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'à' {{time}}\",\n  long: \"{{date}} 'à' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'פחות משנייה',\n    two: 'פחות משתי שניות',\n    other: 'פחות מ־{{count}} שניות'\n  },\n  xSeconds: {\n    one: 'שנייה',\n    two: 'שתי שניות',\n    other: '{{count}} שניות'\n  },\n  halfAMinute: 'חצי דקה',\n  lessThanXMinutes: {\n    one: 'פחות מדקה',\n    two: 'פחות משתי דקות',\n    other: 'פחות מ־{{count}} דקות'\n  },\n  xMinutes: {\n    one: 'דקה',\n    two: 'שתי דקות',\n    other: '{{count}} דקות'\n  },\n  aboutXHours: {\n    one: 'כשעה',\n    two: 'כשעתיים',\n    other: 'כ־{{count}} שעות'\n  },\n  xHours: {\n    one: 'שעה',\n    two: 'שעתיים',\n    other: '{{count}} שעות'\n  },\n  xDays: {\n    one: 'יום',\n    two: 'יומיים',\n    other: '{{count}} ימים'\n  },\n  aboutXWeeks: {\n    one: 'כשבוע',\n    two: 'כשבועיים',\n    other: 'כ־{{count}} שבועות'\n  },\n  xWeeks: {\n    one: 'שבוע',\n    two: 'שבועיים',\n    other: '{{count}} שבועות'\n  },\n  aboutXMonths: {\n    one: 'כחודש',\n    two: 'כחודשיים',\n    other: 'כ־{{count}} חודשים'\n  },\n  xMonths: {\n    one: 'חודש',\n    two: 'חודשיים',\n    other: '{{count}} חודשים'\n  },\n  aboutXYears: {\n    one: 'כשנה',\n    two: 'כשנתיים',\n    other: 'כ־{{count}} שנים'\n  },\n  xYears: {\n    one: 'שנה',\n    two: 'שנתיים',\n    other: '{{count}} שנים'\n  },\n  overXYears: {\n    one: 'יותר משנה',\n    two: 'יותר משנתיים',\n    other: 'יותר מ־{{count}} שנים'\n  },\n  almostXYears: {\n    one: 'כמעט שנה',\n    two: 'כמעט שנתיים',\n    other: 'כמעט {{count}} שנים'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  // Return word instead of `in one day` or `one day ago`\n  if (token === 'xDays' && options !== null && options !== void 0 && options.addSuffix && count <= 2) {\n    if (options.comparison && options.comparison > 0) {\n      return count === 1 ? 'מחר' : 'מחרתיים';\n    }\n    return count === 1 ? 'אתמול' : 'שלשום';\n  }\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else if (count === 2) {\n    result = tokenValue.two;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'בעוד ' + result;\n    } else {\n      return 'לפני ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, d בMMMM y',\n  long: 'd בMMMM y',\n  medium: 'd בMMM y',\n  short: 'd.M.y'\n};\nvar timeFormats = {\n  full: 'H:mm:ss zzzz',\n  long: 'H:mm:ss z',\n  medium: 'H:mm:ss',\n  short: 'H:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'בשעה' {{time}}\",\n  long: \"{{date}} 'בשעה' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"eeee 'שעבר בשעה' p\",\n  yesterday: \"'אתמול בשעה' p\",\n  today: \"'היום בשעה' p\",\n  tomorrow: \"'מחר בשעה' p\",\n  nextWeek: \"eeee 'בשעה' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['לפנה״ס', 'לספירה'],\n  abbreviated: ['לפנה״ס', 'לספירה'],\n  wide: ['לפני הספירה', 'לספירה']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4']\n};\nvar monthValues = {\n  narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n  abbreviated: ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳', 'נוב׳', 'דצמ׳'],\n  wide: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר']\n};\nvar dayValues = {\n  narrow: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],\n  short: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],\n  abbreviated: ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'],\n  wide: ['יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'יום שבת']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בוקר',\n    afternoon: 'אחר הצהריים',\n    evening: 'ערב',\n    night: 'לילה'\n  },\n  abbreviated: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בוקר',\n    afternoon: 'אחר הצהריים',\n    evening: 'ערב',\n    night: 'לילה'\n  },\n  wide: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בוקר',\n    afternoon: 'אחר הצהריים',\n    evening: 'ערב',\n    night: 'לילה'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בבוקר',\n    afternoon: 'בצהריים',\n    evening: 'בערב',\n    night: 'בלילה'\n  },\n  abbreviated: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בבוקר',\n    afternoon: 'אחר הצהריים',\n    evening: 'בערב',\n    night: 'בלילה'\n  },\n  wide: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בבוקר',\n    afternoon: 'אחר הצהריים',\n    evening: 'בערב',\n    night: 'בלילה'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n\n  // We only show words till 10\n  if (number <= 0 || number > 10) return String(number);\n  var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n  var isFemale = ['year', 'hour', 'minute', 'second'].indexOf(unit) >= 0;\n  var male = ['ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שביעי', 'שמיני', 'תשיעי', 'עשירי'];\n  var female = ['ראשונה', 'שנייה', 'שלישית', 'רביעית', 'חמישית', 'שישית', 'שביעית', 'שמינית', 'תשיעית', 'עשירית'];\n  var index = number - 1;\n  return isFemale ? female[index] : male[index];\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+|(ראשון|שני|שלישי|רביעי|חמישי|שישי|שביעי|שמיני|תשיעי|עשירי|ראשונה|שנייה|שלישית|רביעית|חמישית|שישית|שביעית|שמינית|תשיעית|עשירית))/i;\nvar parseOrdinalNumberPattern = /^(\\d+|רא|שנ|של|רב|ח|שי|שב|שמ|ת|ע)/i;\nvar matchEraPatterns = {\n  narrow: /^ל(ספירה|פנה״ס)/i,\n  abbreviated: /^ל(ספירה|פנה״ס)/i,\n  wide: /^ל(פני ה)?ספירה/i\n};\nvar parseEraPatterns = {\n  any: [/^לפ/i, /^לס/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^רבעון [1234]/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^\\d+/i,\n  abbreviated: /^(ינו|פבר|מרץ|אפר|מאי|יוני|יולי|אוג|ספט|אוק|נוב|דצמ)׳?/i,\n  wide: /^(ינואר|פברואר|מרץ|אפריל|מאי|יוני|יולי|אוגוסט|ספטמבר|אוקטובר|נובמבר|דצמבר)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^1$/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^7/i, /^8/i, /^9/i, /^10/i, /^11/i, /^12/i],\n  any: [/^ינ/i, /^פ/i, /^מר/i, /^אפ/i, /^מא/i, /^יונ/i, /^יול/i, /^אוג/i, /^ס/i, /^אוק/i, /^נ/i, /^ד/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[אבגדהוש]׳/i,\n  short: /^[אבגדהוש]׳/i,\n  abbreviated: /^(שבת|יום (א|ב|ג|ד|ה|ו)׳)/i,\n  wide: /^יום (ראשון|שני|שלישי|רביעי|חמישי|שישי|שבת)/i\n};\nvar parseDayPatterns = {\n  abbreviated: [/א׳$/i, /ב׳$/i, /ג׳$/i, /ד׳$/i, /ה׳$/i, /ו׳$/i, /^ש/i],\n  wide: [/ן$/i, /ני$/i, /לישי$/i, /עי$/i, /מישי$/i, /שישי$/i, /ת$/i],\n  any: [/^א/i, /^ב/i, /^ג/i, /^ד/i, /^ה/i, /^ו/i, /^ש/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(אחר ה|ב)?(חצות|צהריים|בוקר|ערב|לילה|אחה״צ|לפנה״צ)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^לפ/i,\n    pm: /^אחה/i,\n    midnight: /^ח/i,\n    noon: /^צ/i,\n    morning: /בוקר/i,\n    afternoon: /בצ|אחר/i,\n    evening: /ערב/i,\n    night: /לילה/i\n  }\n};\nvar ordinalName = ['רא', 'שנ', 'של', 'רב', 'ח', 'שי', 'שב', 'שמ', 'ת', 'ע'];\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      var number = parseInt(value, 10);\n      return isNaN(number) ? ordinalName.indexOf(value) + 1 : number;\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Hebrew locale.\n * @language Hebrew\n * @iso-639-2 heb\n * @author Nir Lahad [@nirlah]{@link https://github.com/nirlah}\n */\nvar locale = {\n  code: 'he',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","var translations = {\n  about: 'körülbelül',\n  over: 'több mint',\n  almost: 'majdnem',\n  lessthan: 'kevesebb mint'\n};\nvar withoutSuffixes = {\n  xseconds: ' másodperc',\n  halfaminute: 'fél perc',\n  xminutes: ' perc',\n  xhours: ' óra',\n  xdays: ' nap',\n  xweeks: ' hét',\n  xmonths: ' hónap',\n  xyears: ' év'\n};\nvar withSuffixes = {\n  xseconds: {\n    '-1': ' másodperccel ezelőtt',\n    '1': ' másodperc múlva',\n    '0': ' másodperce'\n  },\n  halfaminute: {\n    '-1': 'fél perccel ezelőtt',\n    '1': 'fél perc múlva',\n    '0': 'fél perce'\n  },\n  xminutes: {\n    '-1': ' perccel ezelőtt',\n    '1': ' perc múlva',\n    '0': ' perce'\n  },\n  xhours: {\n    '-1': ' órával ezelőtt',\n    '1': ' óra múlva',\n    '0': ' órája'\n  },\n  xdays: {\n    '-1': ' nappal ezelőtt',\n    '1': ' nap múlva',\n    '0': ' napja'\n  },\n  xweeks: {\n    '-1': ' héttel ezelőtt',\n    '1': ' hét múlva',\n    '0': ' hete'\n  },\n  xmonths: {\n    '-1': ' hónappal ezelőtt',\n    '1': ' hónap múlva',\n    '0': ' hónapja'\n  },\n  xyears: {\n    '-1': ' évvel ezelőtt',\n    '1': ' év múlva',\n    '0': ' éve'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var adverb = token.match(/about|over|almost|lessthan/i);\n  var unit = adverb ? token.replace(adverb[0], '') : token;\n  var addSuffix = (options === null || options === void 0 ? void 0 : options.addSuffix) === true;\n  var key = unit.toLowerCase();\n  var comparison = (options === null || options === void 0 ? void 0 : options.comparison) || 0;\n  var translated = addSuffix ? withSuffixes[key][comparison] : withoutSuffixes[key];\n  var result = key === 'halfaminute' ? translated : count + translated;\n  if (adverb) {\n    var adv = adverb[0].toLowerCase();\n    result = translations[adv] + ' ' + result;\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'y. MMMM d., EEEE',\n  long: 'y. MMMM d.',\n  medium: 'y. MMM d.',\n  short: 'y. MM. dd.'\n};\nvar timeFormats = {\n  full: 'H:mm:ss zzzz',\n  long: 'H:mm:ss z',\n  medium: 'H:mm:ss',\n  short: 'H:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var accusativeWeekdays = ['vasárnap', 'hétfőn', 'kedden', 'szerdán', 'csütörtökön', 'pénteken', 'szombaton'];\nfunction week(isFuture) {\n  return function (date) {\n    var weekday = accusativeWeekdays[date.getUTCDay()];\n    var prefix = isFuture ? '' : \"'múlt' \";\n    return \"\".concat(prefix, \"'\").concat(weekday, \"' p'-kor'\");\n  };\n}\nvar formatRelativeLocale = {\n  lastWeek: week(false),\n  yesterday: \"'tegnap' p'-kor'\",\n  today: \"'ma' p'-kor'\",\n  tomorrow: \"'holnap' p'-kor'\",\n  nextWeek: week(true),\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date);\n  }\n  return format;\n};\nexport default formatRelative;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Hungarian locale.\n * @language Hungarian\n * @iso-639-2 hun\n * @author Pavlo Shpak [@pshpak]{@link https://github.com/pshpak}\n * @author Eduardo Pardo [@eduardopsll]{@link https://github.com/eduardopsll}\n * @author Zoltan Szepesi [@twodcube]{@link https://github.com/twodcube}\n */\nvar locale = {\n  code: 'hu',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['ie.', 'isz.'],\n  abbreviated: ['i. e.', 'i. sz.'],\n  wide: ['Krisztus előtt', 'időszámításunk szerint']\n};\nvar quarterValues = {\n  narrow: ['1.', '2.', '3.', '4.'],\n  abbreviated: ['1. n.év', '2. n.év', '3. n.év', '4. n.év'],\n  wide: ['1. negyedév', '2. negyedév', '3. negyedév', '4. negyedév']\n};\nvar formattingQuarterValues = {\n  narrow: ['I.', 'II.', 'III.', 'IV.'],\n  abbreviated: ['I. n.év', 'II. n.év', 'III. n.év', 'IV. n.év'],\n  wide: ['I. negyedév', 'II. negyedév', 'III. negyedév', 'IV. negyedév']\n};\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'A', 'Sz', 'O', 'N', 'D'],\n  abbreviated: ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.', 'jún.', 'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'],\n  wide: ['január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december']\n};\nvar dayValues = {\n  narrow: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'],\n  short: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],\n  abbreviated: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],\n  wide: ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'de.',\n    pm: 'du.',\n    midnight: 'éjfél',\n    noon: 'dél',\n    morning: 'reggel',\n    afternoon: 'du.',\n    evening: 'este',\n    night: 'éjjel'\n  },\n  abbreviated: {\n    am: 'de.',\n    pm: 'du.',\n    midnight: 'éjfél',\n    noon: 'dél',\n    morning: 'reggel',\n    afternoon: 'du.',\n    evening: 'este',\n    night: 'éjjel'\n  },\n  wide: {\n    am: 'de.',\n    pm: 'du.',\n    midnight: 'éjfél',\n    noon: 'dél',\n    morning: 'reggel',\n    afternoon: 'délután',\n    evening: 'este',\n    night: 'éjjel'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    },\n    formattingValues: formattingQuarterValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(ie\\.|isz\\.)/i,\n  abbreviated: /^(i\\.\\s?e\\.?|b?\\s?c\\s?e|i\\.\\s?sz\\.?)/i,\n  wide: /^(Krisztus előtt|időszámításunk előtt|időszámításunk szerint|i\\. sz\\.)/i\n};\nvar parseEraPatterns = {\n  narrow: [/ie/i, /isz/i],\n  abbreviated: [/^(i\\.?\\s?e\\.?|b\\s?ce)/i, /^(i\\.?\\s?sz\\.?|c\\s?e)/i],\n  any: [/előtt/i, /(szerint|i. sz.)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]\\.?/i,\n  abbreviated: /^[1234]?\\.?\\s?n\\.év/i,\n  wide: /^([1234]|I|II|III|IV)?\\.?\\s?negyedév/i\n};\nvar parseQuarterPatterns = {\n  any: [/1|I$/i, /2|II$/i, /3|III/i, /4|IV/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmaásond]|sz/i,\n  abbreviated: /^(jan\\.?|febr\\.?|márc\\.?|ápr\\.?|máj\\.?|jún\\.?|júl\\.?|aug\\.?|szept\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n  wide: /^(január|február|március|április|május|június|július|augusztus|szeptember|október|november|december)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a|á/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s|sz/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^már/i, /^áp/i, /^máj/i, /^jún/i, /^júl/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^([vhkpc]|sz|cs|sz)/i,\n  short: /^([vhkp]|sze|cs|szo)/i,\n  abbreviated: /^([vhkp]|sze|cs|szo)/i,\n  wide: /^(vasárnap|hétfő|kedd|szerda|csütörtök|péntek|szombat)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^v/i, /^h/i, /^k/i, /^sz/i, /^c/i, /^p/i, /^sz/i],\n  any: [/^v/i, /^h/i, /^k/i, /^sze/i, /^c/i, /^p/i, /^szo/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^((de|du)\\.?|éjfél|délután|dél|reggel|este|éjjel)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^de\\.?/i,\n    pm: /^du\\.?/i,\n    midnight: /^éjf/i,\n    noon: /^dé/i,\n    morning: /reg/i,\n    afternoon: /^délu\\.?/i,\n    evening: /es/i,\n    night: /éjj/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'meno di un secondo',\n    other: 'meno di {{count}} secondi'\n  },\n  xSeconds: {\n    one: 'un secondo',\n    other: '{{count}} secondi'\n  },\n  halfAMinute: 'alcuni secondi',\n  lessThanXMinutes: {\n    one: 'meno di un minuto',\n    other: 'meno di {{count}} minuti'\n  },\n  xMinutes: {\n    one: 'un minuto',\n    other: '{{count}} minuti'\n  },\n  aboutXHours: {\n    one: \"circa un'ora\",\n    other: 'circa {{count}} ore'\n  },\n  xHours: {\n    one: \"un'ora\",\n    other: '{{count}} ore'\n  },\n  xDays: {\n    one: 'un giorno',\n    other: '{{count}} giorni'\n  },\n  aboutXWeeks: {\n    one: 'circa una settimana',\n    other: 'circa {{count}} settimane'\n  },\n  xWeeks: {\n    one: 'una settimana',\n    other: '{{count}} settimane'\n  },\n  aboutXMonths: {\n    one: 'circa un mese',\n    other: 'circa {{count}} mesi'\n  },\n  xMonths: {\n    one: 'un mese',\n    other: '{{count}} mesi'\n  },\n  aboutXYears: {\n    one: 'circa un anno',\n    other: 'circa {{count}} anni'\n  },\n  xYears: {\n    one: 'un anno',\n    other: '{{count}} anni'\n  },\n  overXYears: {\n    one: 'più di un anno',\n    other: 'più di {{count}} anni'\n  },\n  almostXYears: {\n    one: 'quasi un anno',\n    other: 'quasi {{count}} anni'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'tra ' + result;\n    } else {\n      return result + ' fa';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE d MMMM y',\n  long: 'd MMMM y',\n  medium: 'd MMM y',\n  short: 'dd/MM/y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","export default function requiredArgs(required, args) {\n  if (args.length < required) {\n    throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n  }\n}","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };","var defaultOptions = {};\nexport function getDefaultOptions() {\n  return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n  defaultOptions = newOptions;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var defaultOptions = getDefaultOptions();\n  var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  var date = toDate(dirtyDate);\n  var day = date.getUTCDay();\n  var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n  date.setUTCDate(date.getUTCDate() - diff);\n  date.setUTCHours(0, 0, 0, 0);\n  return date;\n}","export default function toInteger(dirtyNumber) {\n  if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n    return NaN;\n  }\n  var number = Number(dirtyNumber);\n  if (isNaN(number)) {\n    return number;\n  }\n  return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n  requiredArgs(1, arguments);\n  var argStr = Object.prototype.toString.call(argument);\n\n  // Clone the date\n  if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new Date(argument.getTime());\n  } else if (typeof argument === 'number' || argStr === '[object Number]') {\n    return new Date(argument);\n  } else {\n    if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n      // eslint-disable-next-line no-console\n      console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n      // eslint-disable-next-line no-console\n      console.warn(new Error().stack);\n    }\n    return new Date(NaN);\n  }\n}","import requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nexport default function isSameUTCWeek(dirtyDateLeft, dirtyDateRight, options) {\n  requiredArgs(2, arguments);\n  var dateLeftStartOfWeek = startOfUTCWeek(dirtyDateLeft, options);\n  var dateRightStartOfWeek = startOfUTCWeek(dirtyDateRight, options);\n  return dateLeftStartOfWeek.getTime() === dateRightStartOfWeek.getTime();\n}","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar weekdays = ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'];\nfunction _lastWeek(day) {\n  switch (day) {\n    case 0:\n      return \"'domenica scorsa alle' p\";\n    default:\n      return \"'\" + weekdays[day] + \" scorso alle' p\";\n  }\n}\nfunction thisWeek(day) {\n  return \"'\" + weekdays[day] + \" alle' p\";\n}\nfunction _nextWeek(day) {\n  switch (day) {\n    case 0:\n      return \"'domenica prossima alle' p\";\n    default:\n      return \"'\" + weekdays[day] + \" prossimo alle' p\";\n  }\n}\nvar formatRelativeLocale = {\n  lastWeek: function lastWeek(date, baseDate, options) {\n    var day = date.getUTCDay();\n    if (isSameUTCWeek(date, baseDate, options)) {\n      return thisWeek(day);\n    } else {\n      return _lastWeek(day);\n    }\n  },\n  yesterday: \"'ieri alle' p\",\n  today: \"'oggi alle' p\",\n  tomorrow: \"'domani alle' p\",\n  nextWeek: function nextWeek(date, baseDate, options) {\n    var day = date.getUTCDay();\n    if (isSameUTCWeek(date, baseDate, options)) {\n      return thisWeek(day);\n    } else {\n      return _nextWeek(day);\n    }\n  },\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date, baseDate, options);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['aC', 'dC'],\n  abbreviated: ['a.C.', 'd.C.'],\n  wide: ['avanti Cristo', 'dopo Cristo']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['T1', 'T2', 'T3', 'T4'],\n  wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n  narrow: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],\n  wide: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre']\n};\nvar dayValues = {\n  narrow: ['D', 'L', 'M', 'M', 'G', 'V', 'S'],\n  short: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],\n  abbreviated: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],\n  wide: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'm.',\n    pm: 'p.',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'mattina',\n    afternoon: 'pomeriggio',\n    evening: 'sera',\n    night: 'notte'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'mattina',\n    afternoon: 'pomeriggio',\n    evening: 'sera',\n    night: 'notte'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'mattina',\n    afternoon: 'pomeriggio',\n    evening: 'sera',\n    night: 'notte'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'm.',\n    pm: 'p.',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'di mattina',\n    afternoon: 'del pomeriggio',\n    evening: 'di sera',\n    night: 'di notte'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'di mattina',\n    afternoon: 'del pomeriggio',\n    evening: 'di sera',\n    night: 'di notte'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'di mattina',\n    afternoon: 'del pomeriggio',\n    evening: 'di sera',\n    night: 'di notte'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return String(number);\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Italian locale.\n * @language Italian\n * @iso-639-2 ita\n * @author Alberto Restifo [@albertorestifo]{@link https://github.com/albertorestifo}\n * @author Giovanni Polimeni [@giofilo]{@link https://github.com/giofilo}\n * @author Vincenzo Carrese [@vin-car]{@link https://github.com/vin-car}\n */\nvar locale = {\n  code: 'it',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(aC|dC)/i,\n  abbreviated: /^(a\\.?\\s?C\\.?|a\\.?\\s?e\\.?\\s?v\\.?|d\\.?\\s?C\\.?|e\\.?\\s?v\\.?)/i,\n  wide: /^(avanti Cristo|avanti Era Volgare|dopo Cristo|Era Volgare)/i\n};\nvar parseEraPatterns = {\n  any: [/^a/i, /^(d|e)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^t[1234]/i,\n  wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[gfmalsond]/i,\n  abbreviated: /^(gen|feb|mar|apr|mag|giu|lug|ago|set|ott|nov|dic)/i,\n  wide: /^(gennaio|febbraio|marzo|aprile|maggio|giugno|luglio|agosto|settembre|ottobre|novembre|dicembre)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^g/i, /^f/i, /^m/i, /^a/i, /^m/i, /^g/i, /^l/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ge/i, /^f/i, /^mar/i, /^ap/i, /^mag/i, /^gi/i, /^l/i, /^ag/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[dlmgvs]/i,\n  short: /^(do|lu|ma|me|gi|ve|sa)/i,\n  abbreviated: /^(dom|lun|mar|mer|gio|ven|sab)/i,\n  wide: /^(domenica|luned[i|ì]|marted[i|ì]|mercoled[i|ì]|gioved[i|ì]|venerd[i|ì]|sabato)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^g/i, /^v/i, /^s/i],\n  any: [/^d/i, /^l/i, /^ma/i, /^me/i, /^g/i, /^v/i, /^s/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|m\\.|p|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i,\n  any: /^([ap]\\.?\\s?m\\.?|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mezza/i,\n    noon: /^mezzo/i,\n    morning: /mattina/i,\n    afternoon: /pomeriggio/i,\n    evening: /sera/i,\n    night: /notte/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: '1秒未満',\n    other: '{{count}}秒未満',\n    oneWithSuffix: '約1秒',\n    otherWithSuffix: '約{{count}}秒'\n  },\n  xSeconds: {\n    one: '1秒',\n    other: '{{count}}秒'\n  },\n  halfAMinute: '30秒',\n  lessThanXMinutes: {\n    one: '1分未満',\n    other: '{{count}}分未満',\n    oneWithSuffix: '約1分',\n    otherWithSuffix: '約{{count}}分'\n  },\n  xMinutes: {\n    one: '1分',\n    other: '{{count}}分'\n  },\n  aboutXHours: {\n    one: '約1時間',\n    other: '約{{count}}時間'\n  },\n  xHours: {\n    one: '1時間',\n    other: '{{count}}時間'\n  },\n  xDays: {\n    one: '1日',\n    other: '{{count}}日'\n  },\n  aboutXWeeks: {\n    one: '約1週間',\n    other: '約{{count}}週間'\n  },\n  xWeeks: {\n    one: '1週間',\n    other: '{{count}}週間'\n  },\n  aboutXMonths: {\n    one: '約1か月',\n    other: '約{{count}}か月'\n  },\n  xMonths: {\n    one: '1か月',\n    other: '{{count}}か月'\n  },\n  aboutXYears: {\n    one: '約1年',\n    other: '約{{count}}年'\n  },\n  xYears: {\n    one: '1年',\n    other: '{{count}}年'\n  },\n  overXYears: {\n    one: '1年以上',\n    other: '{{count}}年以上'\n  },\n  almostXYears: {\n    one: '1年近く',\n    other: '{{count}}年近く'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  options = options || {};\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    if (options.addSuffix && tokenValue.oneWithSuffix) {\n      result = tokenValue.oneWithSuffix;\n    } else {\n      result = tokenValue.one;\n    }\n  } else {\n    if (options.addSuffix && tokenValue.otherWithSuffix) {\n      result = tokenValue.otherWithSuffix.replace('{{count}}', String(count));\n    } else {\n      result = tokenValue.other.replace('{{count}}', String(count));\n    }\n  }\n  if (options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + '後';\n    } else {\n      return result + '前';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'y年M月d日EEEE',\n  long: 'y年M月d日',\n  medium: 'y/MM/dd',\n  short: 'y/MM/dd'\n};\nvar timeFormats = {\n  full: 'H時mm分ss秒 zzzz',\n  long: 'H:mm:ss z',\n  medium: 'H:mm:ss',\n  short: 'H:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: '先週のeeeeのp',\n  yesterday: '昨日のp',\n  today: '今日のp',\n  tomorrow: '明日のp',\n  nextWeek: '翌週のeeeeのp',\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['BC', 'AC'],\n  abbreviated: ['紀元前', '西暦'],\n  wide: ['紀元前', '西暦']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['第1四半期', '第2四半期', '第3四半期', '第4四半期']\n};\nvar monthValues = {\n  narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n  abbreviated: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n  wide: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']\n};\nvar dayValues = {\n  narrow: ['日', '月', '火', '水', '木', '金', '土'],\n  short: ['日', '月', '火', '水', '木', '金', '土'],\n  abbreviated: ['日', '月', '火', '水', '木', '金', '土'],\n  wide: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  },\n  abbreviated: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  },\n  wide: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  },\n  abbreviated: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  },\n  wide: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n  switch (unit) {\n    case 'year':\n      return \"\".concat(number, \"\\u5E74\");\n    case 'quarter':\n      return \"\\u7B2C\".concat(number, \"\\u56DB\\u534A\\u671F\");\n    case 'month':\n      return \"\".concat(number, \"\\u6708\");\n    case 'week':\n      return \"\\u7B2C\".concat(number, \"\\u9031\");\n    case 'date':\n      return \"\".concat(number, \"\\u65E5\");\n    case 'hour':\n      return \"\".concat(number, \"\\u6642\");\n    case 'minute':\n      return \"\".concat(number, \"\\u5206\");\n    case 'second':\n      return \"\".concat(number, \"\\u79D2\");\n    default:\n      return \"\".concat(number);\n  }\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return Number(quarter) - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Japanese locale.\n * @language Japanese\n * @iso-639-2 jpn\n * @author Thomas Eilmsteiner [@DeMuu]{@link https://github.com/DeMuu}\n * @author Yamagishi Kazutoshi [@ykzts]{@link https://github.com/ykzts}\n * @author Luca Ban [@mesqueeb]{@link https://github.com/mesqueeb}\n * @author Terrence Lam [@skyuplam]{@link https://github.com/skyuplam}\n * @author Taiki IKeda [@so99ynoodles]{@link https://github.com/so99ynoodles}\n */\nvar locale = {\n  code: 'ja',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^第?\\d+(年|四半期|月|週|日|時|分|秒)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(B\\.?C\\.?|A\\.?D\\.?)/i,\n  abbreviated: /^(紀元[前後]|西暦)/i,\n  wide: /^(紀元[前後]|西暦)/i\n};\nvar parseEraPatterns = {\n  narrow: [/^B/i, /^A/i],\n  any: [/^(紀元前)/i, /^(西暦|紀元後)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^Q[1234]/i,\n  wide: /^第[1234一二三四１２３４]四半期/i\n};\nvar parseQuarterPatterns = {\n  any: [/(1|一|１)/i, /(2|二|２)/i, /(3|三|３)/i, /(4|四|４)/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^([123456789]|1[012])/,\n  abbreviated: /^([123456789]|1[012])月/i,\n  wide: /^([123456789]|1[012])月/i\n};\nvar parseMonthPatterns = {\n  any: [/^1\\D/, /^2/, /^3/, /^4/, /^5/, /^6/, /^7/, /^8/, /^9/, /^10/, /^11/, /^12/]\n};\nvar matchDayPatterns = {\n  narrow: /^[日月火水木金土]/,\n  short: /^[日月火水木金土]/,\n  abbreviated: /^[日月火水木金土]/,\n  wide: /^[日月火水木金土]曜日/\n};\nvar parseDayPatterns = {\n  any: [/^日/, /^月/, /^火/, /^水/, /^木/, /^金/, /^土/]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^(A|午前)/i,\n    pm: /^(P|午後)/i,\n    midnight: /^深夜|真夜中/i,\n    noon: /^正午/i,\n    morning: /^朝/i,\n    afternoon: /^午後/i,\n    evening: /^夜/i,\n    night: /^深夜/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: '1초 미만',\n    other: '{{count}}초 미만'\n  },\n  xSeconds: {\n    one: '1초',\n    other: '{{count}}초'\n  },\n  halfAMinute: '30초',\n  lessThanXMinutes: {\n    one: '1분 미만',\n    other: '{{count}}분 미만'\n  },\n  xMinutes: {\n    one: '1분',\n    other: '{{count}}분'\n  },\n  aboutXHours: {\n    one: '약 1시간',\n    other: '약 {{count}}시간'\n  },\n  xHours: {\n    one: '1시간',\n    other: '{{count}}시간'\n  },\n  xDays: {\n    one: '1일',\n    other: '{{count}}일'\n  },\n  aboutXWeeks: {\n    one: '약 1주',\n    other: '약 {{count}}주'\n  },\n  xWeeks: {\n    one: '1주',\n    other: '{{count}}주'\n  },\n  aboutXMonths: {\n    one: '약 1개월',\n    other: '약 {{count}}개월'\n  },\n  xMonths: {\n    one: '1개월',\n    other: '{{count}}개월'\n  },\n  aboutXYears: {\n    one: '약 1년',\n    other: '약 {{count}}년'\n  },\n  xYears: {\n    one: '1년',\n    other: '{{count}}년'\n  },\n  overXYears: {\n    one: '1년 이상',\n    other: '{{count}}년 이상'\n  },\n  almostXYears: {\n    one: '거의 1년',\n    other: '거의 {{count}}년'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + ' 후';\n    } else {\n      return result + ' 전';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'y년 M월 d일 EEEE',\n  long: 'y년 M월 d일',\n  medium: 'y.MM.dd',\n  short: 'y.MM.dd'\n};\nvar timeFormats = {\n  full: 'a H시 mm분 ss초 zzzz',\n  long: 'a H:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'지난' eeee p\",\n  yesterday: \"'어제' p\",\n  today: \"'오늘' p\",\n  tomorrow: \"'내일' p\",\n  nextWeek: \"'다음' eeee p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['BC', 'AD'],\n  abbreviated: ['BC', 'AD'],\n  wide: ['기원전', '서기']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1분기', '2분기', '3분기', '4분기']\n};\nvar monthValues = {\n  narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n  abbreviated: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],\n  wide: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월']\n};\nvar dayValues = {\n  narrow: ['일', '월', '화', '수', '목', '금', '토'],\n  short: ['일', '월', '화', '수', '목', '금', '토'],\n  abbreviated: ['일', '월', '화', '수', '목', '금', '토'],\n  wide: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  },\n  abbreviated: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  },\n  wide: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  },\n  abbreviated: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  },\n  wide: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n  switch (unit) {\n    case 'minute':\n    case 'second':\n      return String(number);\n    case 'date':\n      return number + '일';\n    default:\n      return number + '번째';\n  }\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Korean locale.\n * @language Korean\n * @iso-639-2 kor\n * @author Hong Chulju [@angdev]{@link https://github.com/angdev}\n * @author Lee Seoyoen [@iamssen]{@link https://github.com/iamssen}\n * @author Taiki IKeda [@so99ynoodles]{@link https://github.com/so99ynoodles}\n */\nvar locale = {\n  code: 'ko',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(일|번째)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(기원전|서기)/i\n};\nvar parseEraPatterns = {\n  any: [/^(bc|기원전)/i, /^(ad|서기)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234]사?분기/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^(1[012]|[123456789])/,\n  abbreviated: /^(1[012]|[123456789])월/i,\n  wide: /^(1[012]|[123456789])월/i\n};\nvar parseMonthPatterns = {\n  any: [/^1월?$/, /^2/, /^3/, /^4/, /^5/, /^6/, /^7/, /^8/, /^9/, /^10/, /^11/, /^12/]\n};\nvar matchDayPatterns = {\n  narrow: /^[일월화수목금토]/,\n  short: /^[일월화수목금토]/,\n  abbreviated: /^[일월화수목금토]/,\n  wide: /^[일월화수목금토]요일/\n};\nvar parseDayPatterns = {\n  any: [/^일/, /^월/, /^화/, /^수/, /^목/, /^금/, /^토/]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^(am|오전)/i,\n    pm: /^(pm|오후)/i,\n    midnight: /^자정/i,\n    noon: /^정오/i,\n    morning: /^아침/i,\n    afternoon: /^오후/i,\n    evening: /^저녁/i,\n    night: /^밤/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'mindre enn eitt sekund',\n    other: 'mindre enn {{count}} sekund'\n  },\n  xSeconds: {\n    one: 'eitt sekund',\n    other: '{{count}} sekund'\n  },\n  halfAMinute: 'eit halvt minutt',\n  lessThanXMinutes: {\n    one: 'mindre enn eitt minutt',\n    other: 'mindre enn {{count}} minutt'\n  },\n  xMinutes: {\n    one: 'eitt minutt',\n    other: '{{count}} minutt'\n  },\n  aboutXHours: {\n    one: 'omtrent ein time',\n    other: 'omtrent {{count}} timar'\n  },\n  xHours: {\n    one: 'ein time',\n    other: '{{count}} timar'\n  },\n  xDays: {\n    one: 'ein dag',\n    other: '{{count}} dagar'\n  },\n  aboutXWeeks: {\n    one: 'omtrent ei veke',\n    other: 'omtrent {{count}} veker'\n  },\n  xWeeks: {\n    one: 'ei veke',\n    other: '{{count}} veker'\n  },\n  aboutXMonths: {\n    one: 'omtrent ein månad',\n    other: 'omtrent {{count}} månader'\n  },\n  xMonths: {\n    one: 'ein månad',\n    other: '{{count}} månader'\n  },\n  aboutXYears: {\n    one: 'omtrent eitt år',\n    other: 'omtrent {{count}} år'\n  },\n  xYears: {\n    one: 'eitt år',\n    other: '{{count}} år'\n  },\n  overXYears: {\n    one: 'over eitt år',\n    other: 'over {{count}} år'\n  },\n  almostXYears: {\n    one: 'nesten eitt år',\n    other: 'nesten {{count}} år'\n  }\n};\nvar wordMapping = ['null', 'ein', 'to', 'tre', 'fire', 'fem', 'seks', 'sju', 'åtte', 'ni', 'ti', 'elleve', 'tolv'];\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    if (options && options.onlyNumeric) {\n      result = tokenValue.other.replace('{{count}}', String(count));\n    } else {\n      result = tokenValue.other.replace('{{count}}', count < 13 ? wordMapping[count] : String(count));\n    }\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'om ' + result;\n    } else {\n      return result + ' sidan';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE d. MMMM y',\n  long: 'd. MMMM y',\n  medium: 'd. MMM y',\n  short: 'dd.MM.y'\n};\nvar timeFormats = {\n  full: \"'kl'. HH:mm:ss zzzz\",\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'kl.' {{time}}\",\n  long: \"{{date}} 'kl.' {{time}}\",\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'førre' eeee 'kl.' p\",\n  yesterday: \"'i går kl.' p\",\n  today: \"'i dag kl.' p\",\n  tomorrow: \"'i morgon kl.' p\",\n  nextWeek: \"EEEE 'kl.' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Norwegian Nynorsk locale.\n * @language Norwegian Nynorsk\n * @iso-639-2 nno\n * @author Mats Byrkjeland [@draperunner]{@link https://github.com/draperunner}\n */\nvar locale = {\n  code: 'nn',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['f.Kr.', 'e.Kr.'],\n  abbreviated: ['f.Kr.', 'e.Kr.'],\n  wide: ['før Kristus', 'etter Kristus']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['jan.', 'feb.', 'mars', 'apr.', 'mai', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'],\n  wide: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember']\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],\n  short: ['su', 'må', 'ty', 'on', 'to', 'fr', 'lau'],\n  abbreviated: ['sun', 'mån', 'tys', 'ons', 'tor', 'fre', 'laur'],\n  wide: ['sundag', 'måndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', 'laurdag']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morg.',\n    afternoon: 'på etterm.',\n    evening: 'på kvelden',\n    night: 'på natta'\n  },\n  abbreviated: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morg.',\n    afternoon: 'på etterm.',\n    evening: 'på kvelden',\n    night: 'på natta'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morgonen',\n    afternoon: 'på ettermiddagen',\n    evening: 'på kvelden',\n    night: 'på natta'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n  abbreviated: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n  wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i\n};\nvar parseEraPatterns = {\n  any: [/^f/i, /^e/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](\\.)? kvartal/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\\.?/i,\n  wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^mai/i, /^jun/i, /^jul/i, /^aug/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(su|må|ty|on|to|fr|la)/i,\n  abbreviated: /^(sun|mån|tys|ons|tor|fre|laur)/i,\n  wide: /^(sundag|måndag|tysdag|onsdag|torsdag|fredag|laurdag)/i\n};\nvar parseDayPatterns = {\n  any: [/^s/i, /^m/i, /^ty/i, /^o/i, /^to/i, /^f/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta)|[ap])/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a(\\.?\\s?m\\.?)?$/i,\n    pm: /^p(\\.?\\s?m\\.?)?$/i,\n    midnight: /^midn/i,\n    noon: /^midd/i,\n    morning: /morgon/i,\n    afternoon: /ettermiddag/i,\n    evening: /kveld/i,\n    night: /natt/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: {\n      regular: 'mniej niż sekunda',\n      past: 'mniej niż sekundę',\n      future: 'mniej niż sekundę'\n    },\n    twoFour: 'mniej niż {{count}} sekundy',\n    other: 'mniej niż {{count}} sekund'\n  },\n  xSeconds: {\n    one: {\n      regular: 'sekunda',\n      past: 'sekundę',\n      future: 'sekundę'\n    },\n    twoFour: '{{count}} sekundy',\n    other: '{{count}} sekund'\n  },\n  halfAMinute: {\n    one: 'pół minuty',\n    twoFour: 'pół minuty',\n    other: 'pół minuty'\n  },\n  lessThanXMinutes: {\n    one: {\n      regular: 'mniej niż minuta',\n      past: 'mniej niż minutę',\n      future: 'mniej niż minutę'\n    },\n    twoFour: 'mniej niż {{count}} minuty',\n    other: 'mniej niż {{count}} minut'\n  },\n  xMinutes: {\n    one: {\n      regular: 'minuta',\n      past: 'minutę',\n      future: 'minutę'\n    },\n    twoFour: '{{count}} minuty',\n    other: '{{count}} minut'\n  },\n  aboutXHours: {\n    one: {\n      regular: 'około godziny',\n      past: 'około godziny',\n      future: 'około godzinę'\n    },\n    twoFour: 'około {{count}} godziny',\n    other: 'około {{count}} godzin'\n  },\n  xHours: {\n    one: {\n      regular: 'godzina',\n      past: 'godzinę',\n      future: 'godzinę'\n    },\n    twoFour: '{{count}} godziny',\n    other: '{{count}} godzin'\n  },\n  xDays: {\n    one: {\n      regular: 'dzień',\n      past: 'dzień',\n      future: '1 dzień'\n    },\n    twoFour: '{{count}} dni',\n    other: '{{count}} dni'\n  },\n  aboutXWeeks: {\n    one: 'około tygodnia',\n    twoFour: 'około {{count}} tygodni',\n    other: 'około {{count}} tygodni'\n  },\n  xWeeks: {\n    one: 'tydzień',\n    twoFour: '{{count}} tygodnie',\n    other: '{{count}} tygodni'\n  },\n  aboutXMonths: {\n    one: 'około miesiąc',\n    twoFour: 'około {{count}} miesiące',\n    other: 'około {{count}} miesięcy'\n  },\n  xMonths: {\n    one: 'miesiąc',\n    twoFour: '{{count}} miesiące',\n    other: '{{count}} miesięcy'\n  },\n  aboutXYears: {\n    one: 'około rok',\n    twoFour: 'około {{count}} lata',\n    other: 'około {{count}} lat'\n  },\n  xYears: {\n    one: 'rok',\n    twoFour: '{{count}} lata',\n    other: '{{count}} lat'\n  },\n  overXYears: {\n    one: 'ponad rok',\n    twoFour: 'ponad {{count}} lata',\n    other: 'ponad {{count}} lat'\n  },\n  almostXYears: {\n    one: 'prawie rok',\n    twoFour: 'prawie {{count}} lata',\n    other: 'prawie {{count}} lat'\n  }\n};\nfunction declensionGroup(scheme, count) {\n  if (count === 1) {\n    return scheme.one;\n  }\n  var rem100 = count % 100;\n\n  // ends with 11-20\n  if (rem100 <= 20 && rem100 > 10) {\n    return scheme.other;\n  }\n  var rem10 = rem100 % 10;\n\n  // ends with 2, 3, 4\n  if (rem10 >= 2 && rem10 <= 4) {\n    return scheme.twoFour;\n  }\n  return scheme.other;\n}\nfunction declension(scheme, count, time) {\n  var group = declensionGroup(scheme, count);\n  var finalText = typeof group === 'string' ? group : group[time];\n  return finalText.replace('{{count}}', String(count));\n}\nvar formatDistance = function formatDistance(token, count, options) {\n  var scheme = formatDistanceLocale[token];\n  if (!(options !== null && options !== void 0 && options.addSuffix)) {\n    return declension(scheme, count, 'regular');\n  }\n  if (options.comparison && options.comparison > 0) {\n    return 'za ' + declension(scheme, count, 'future');\n  } else {\n    return declension(scheme, count, 'past') + ' temu';\n  }\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, do MMMM y',\n  long: 'do MMMM y',\n  medium: 'do MMM y',\n  short: 'dd.MM.y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar adjectivesLastWeek = {\n  masculine: 'ostatni',\n  feminine: 'ostatnia'\n};\nvar adjectivesThisWeek = {\n  masculine: 'ten',\n  feminine: 'ta'\n};\nvar adjectivesNextWeek = {\n  masculine: 'następny',\n  feminine: 'następna'\n};\nvar dayGrammaticalGender = {\n  0: 'feminine',\n  1: 'masculine',\n  2: 'masculine',\n  3: 'feminine',\n  4: 'masculine',\n  5: 'masculine',\n  6: 'feminine'\n};\nfunction dayAndTimeWithAdjective(token, date, baseDate, options) {\n  var adjectives;\n  if (isSameUTCWeek(date, baseDate, options)) {\n    adjectives = adjectivesThisWeek;\n  } else if (token === 'lastWeek') {\n    adjectives = adjectivesLastWeek;\n  } else if (token === 'nextWeek') {\n    adjectives = adjectivesNextWeek;\n  } else {\n    throw new Error(\"Cannot determine adjectives for token \".concat(token));\n  }\n  var day = date.getUTCDay();\n  var grammaticalGender = dayGrammaticalGender[day];\n  var adjective = adjectives[grammaticalGender];\n  return \"'\".concat(adjective, \"' eeee 'o' p\");\n}\nvar formatRelativeLocale = {\n  lastWeek: dayAndTimeWithAdjective,\n  yesterday: \"'wczoraj o' p\",\n  today: \"'dzisiaj o' p\",\n  tomorrow: \"'jutro o' p\",\n  nextWeek: dayAndTimeWithAdjective,\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(token, date, baseDate, options);\n  }\n  return format;\n};\nexport default formatRelative;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Polish locale.\n * @language Polish\n * @iso-639-2 pol\n * @author Mateusz Derks [@ertrzyiks]{@link https://github.com/ertrzyiks}\n * @author Just RAG [@justrag]{@link https://github.com/justrag}\n * @author Mikolaj Grzyb [@mikolajgrzyb]{@link https://github.com/mikolajgrzyb}\n * @author Mateusz Tokarski [@mutisz]{@link https://github.com/mutisz}\n */\nvar locale = {\n  code: 'pl',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['p.n.e.', 'n.e.'],\n  abbreviated: ['p.n.e.', 'n.e.'],\n  wide: ['przed naszą erą', 'naszej ery']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['I kw.', 'II kw.', 'III kw.', 'IV kw.'],\n  wide: ['I kwartał', 'II kwartał', 'III kwartał', 'IV kwartał']\n};\nvar monthValues = {\n  narrow: ['S', 'L', 'M', 'K', 'M', 'C', 'L', 'S', 'W', 'P', 'L', 'G'],\n  abbreviated: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'],\n  wide: ['styczeń', 'luty', 'marzec', 'kwiecień', 'maj', 'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik', 'listopad', 'grudzień']\n};\nvar monthFormattingValues = {\n  narrow: ['s', 'l', 'm', 'k', 'm', 'c', 'l', 's', 'w', 'p', 'l', 'g'],\n  abbreviated: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'],\n  wide: ['stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', 'lipca', 'sierpnia', 'września', 'października', 'listopada', 'grudnia']\n};\nvar dayValues = {\n  narrow: ['N', 'P', 'W', 'Ś', 'C', 'P', 'S'],\n  short: ['nie', 'pon', 'wto', 'śro', 'czw', 'pią', 'sob'],\n  abbreviated: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', 'sob.'],\n  wide: ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota']\n};\nvar dayFormattingValues = {\n  narrow: ['n', 'p', 'w', 'ś', 'c', 'p', 's'],\n  short: ['nie', 'pon', 'wto', 'śro', 'czw', 'pią', 'sob'],\n  abbreviated: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', 'sob.'],\n  wide: ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'półn.',\n    noon: 'poł',\n    morning: 'rano',\n    afternoon: 'popoł.',\n    evening: 'wiecz.',\n    night: 'noc'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'północ',\n    noon: 'południe',\n    morning: 'rano',\n    afternoon: 'popołudnie',\n    evening: 'wieczór',\n    night: 'noc'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'północ',\n    noon: 'południe',\n    morning: 'rano',\n    afternoon: 'popołudnie',\n    evening: 'wieczór',\n    night: 'noc'\n  }\n};\nvar dayPeriodFormattingValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'o półn.',\n    noon: 'w poł.',\n    morning: 'rano',\n    afternoon: 'po poł.',\n    evening: 'wiecz.',\n    night: 'w nocy'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'o północy',\n    noon: 'w południe',\n    morning: 'rano',\n    afternoon: 'po południu',\n    evening: 'wieczorem',\n    night: 'w nocy'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'o północy',\n    noon: 'w południe',\n    morning: 'rano',\n    afternoon: 'po południu',\n    evening: 'wieczorem',\n    night: 'w nocy'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  return String(dirtyNumber);\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide',\n    formattingValues: monthFormattingValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide',\n    formattingValues: dayFormattingValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: dayPeriodFormattingValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n  abbreviated: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n  wide: /^(przed\\s*nasz(ą|a)\\s*er(ą|a)|naszej\\s*ery)/i\n};\nvar parseEraPatterns = {\n  any: [/^p/i, /^n/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^(I|II|III|IV)\\s*kw\\.?/i,\n  wide: /^(I|II|III|IV)\\s*kwarta(ł|l)/i\n};\nvar parseQuarterPatterns = {\n  narrow: [/1/i, /2/i, /3/i, /4/i],\n  any: [/^I kw/i, /^II kw/i, /^III kw/i, /^IV kw/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[slmkcwpg]/i,\n  abbreviated: /^(sty|lut|mar|kwi|maj|cze|lip|sie|wrz|pa(ź|z)|lis|gru)/i,\n  wide: /^(stycznia|stycze(ń|n)|lutego|luty|marca|marzec|kwietnia|kwiecie(ń|n)|maja|maj|czerwca|czerwiec|lipca|lipiec|sierpnia|sierpie(ń|n)|wrze(ś|s)nia|wrzesie(ń|n)|pa(ź|z)dziernika|pa(ź|z)dziernik|listopada|listopad|grudnia|grudzie(ń|n))/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^s/i, /^l/i, /^m/i, /^k/i, /^m/i, /^c/i, /^l/i, /^s/i, /^w/i, /^p/i, /^l/i, /^g/i],\n  any: [/^st/i, /^lu/i, /^mar/i, /^k/i, /^maj/i, /^c/i, /^lip/i, /^si/i, /^w/i, /^p/i, /^lis/i, /^g/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[npwścs]/i,\n  short: /^(nie|pon|wto|(ś|s)ro|czw|pi(ą|a)|sob)/i,\n  abbreviated: /^(niedz|pon|wt|(ś|s)r|czw|pt|sob)\\.?/i,\n  wide: /^(niedziela|poniedzia(ł|l)ek|wtorek|(ś|s)roda|czwartek|pi(ą|a)tek|sobota)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^n/i, /^p/i, /^w/i, /^ś/i, /^c/i, /^p/i, /^s/i],\n  abbreviated: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pt/i, /^so/i],\n  any: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pi/i, /^so/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(^a$|^p$|pó(ł|l)n\\.?|o\\s*pó(ł|l)n\\.?|po(ł|l)\\.?|w\\s*po(ł|l)\\.?|po\\s*po(ł|l)\\.?|rano|wiecz\\.?|noc|w\\s*nocy)/i,\n  any: /^(am|pm|pó(ł|l)noc|o\\s*pó(ł|l)nocy|po(ł|l)udnie|w\\s*po(ł|l)udnie|popo(ł|l)udnie|po\\s*po(ł|l)udniu|rano|wieczór|wieczorem|noc|w\\s*nocy)/i\n};\nvar parseDayPeriodPatterns = {\n  narrow: {\n    am: /^a$/i,\n    pm: /^p$/i,\n    midnight: /pó(ł|l)n/i,\n    noon: /po(ł|l)/i,\n    morning: /rano/i,\n    afternoon: /po\\s*po(ł|l)/i,\n    evening: /wiecz/i,\n    night: /noc/i\n  },\n  any: {\n    am: /^am/i,\n    pm: /^pm/i,\n    midnight: /pó(ł|l)n/i,\n    noon: /po(ł|l)/i,\n    morning: /rano/i,\n    afternoon: /po\\s*po(ł|l)/i,\n    evening: /wiecz/i,\n    night: /noc/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'menos de um segundo',\n    other: 'menos de {{count}} segundos'\n  },\n  xSeconds: {\n    one: '1 segundo',\n    other: '{{count}} segundos'\n  },\n  halfAMinute: 'meio minuto',\n  lessThanXMinutes: {\n    one: 'menos de um minuto',\n    other: 'menos de {{count}} minutos'\n  },\n  xMinutes: {\n    one: '1 minuto',\n    other: '{{count}} minutos'\n  },\n  aboutXHours: {\n    one: 'cerca de 1 hora',\n    other: 'cerca de {{count}} horas'\n  },\n  xHours: {\n    one: '1 hora',\n    other: '{{count}} horas'\n  },\n  xDays: {\n    one: '1 dia',\n    other: '{{count}} dias'\n  },\n  aboutXWeeks: {\n    one: 'cerca de 1 semana',\n    other: 'cerca de {{count}} semanas'\n  },\n  xWeeks: {\n    one: '1 semana',\n    other: '{{count}} semanas'\n  },\n  aboutXMonths: {\n    one: 'cerca de 1 mês',\n    other: 'cerca de {{count}} meses'\n  },\n  xMonths: {\n    one: '1 mês',\n    other: '{{count}} meses'\n  },\n  aboutXYears: {\n    one: 'cerca de 1 ano',\n    other: 'cerca de {{count}} anos'\n  },\n  xYears: {\n    one: '1 ano',\n    other: '{{count}} anos'\n  },\n  overXYears: {\n    one: 'mais de 1 ano',\n    other: 'mais de {{count}} anos'\n  },\n  almostXYears: {\n    one: 'quase 1 ano',\n    other: 'quase {{count}} anos'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'em ' + result;\n    } else {\n      return 'há ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"EEEE, d 'de' MMMM 'de' y\",\n  long: \"d 'de' MMMM 'de' y\",\n  medium: 'd MMM y',\n  short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'às' {{time}}\",\n  long: \"{{date}} 'às' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: function lastWeek(date) {\n    var weekday = date.getUTCDay();\n    var last = weekday === 0 || weekday === 6 ? 'último' : 'última';\n    return \"'\" + last + \"' eeee 'às' p\";\n  },\n  yesterday: \"'ontem às' p\",\n  today: \"'hoje às' p\",\n  tomorrow: \"'amanhã às' p\",\n  nextWeek: \"eeee 'às' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['AC', 'DC'],\n  abbreviated: ['AC', 'DC'],\n  wide: ['antes de cristo', 'depois de cristo']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['T1', 'T2', 'T3', 'T4'],\n  wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n  narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n  abbreviated: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'],\n  wide: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro']\n};\nvar dayValues = {\n  narrow: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],\n  short: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sab'],\n  abbreviated: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'],\n  wide: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mn',\n    noon: 'md',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noite'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noite'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noite'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mn',\n    noon: 'md',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da tarde',\n    night: 'da noite'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da tarde',\n    night: 'da noite'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da tarde',\n    night: 'da noite'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  if ((options === null || options === void 0 ? void 0 : options.unit) === 'week') {\n    return number + 'ª';\n  }\n  return number + 'º';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Portuguese locale (Brazil).\n * @language Portuguese\n * @iso-639-2 por\n * @author Lucas Duailibe [@duailibe]{@link https://github.com/duailibe}\n * @author Yago Carballo [@yagocarballo]{@link https://github.com/YagoCarballo}\n */\nvar locale = {\n  code: 'pt-BR',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)[ºªo]?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(ac|dc|a|d)/i,\n  abbreviated: /^(a\\.?\\s?c\\.?|d\\.?\\s?c\\.?)/i,\n  wide: /^(antes de cristo|depois de cristo)/i\n};\nvar parseEraPatterns = {\n  any: [/^ac/i, /^dc/i],\n  wide: [/^antes de cristo/i, /^depois de cristo/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^T[1234]/i,\n  wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmajsond]/i,\n  abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,\n  wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^fev/i, /^mar/i, /^abr/i, /^mai/i, /^jun/i, /^jul/i, /^ago/i, /^set/i, /^out/i, /^nov/i, /^dez/i]\n};\nvar matchDayPatterns = {\n  narrow: /^(dom|[23456]ª?|s[aá]b)/i,\n  short: /^(dom|[23456]ª?|s[aá]b)/i,\n  abbreviated: /^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,\n  wide: /^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i\n};\nvar parseDayPatterns = {\n  short: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n  narrow: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n  any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[aá]b/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|mn|md|(da) (manhã|tarde|noite))/i,\n  any: /^([ap]\\.?\\s?m\\.?|meia[-\\s]noite|meio[-\\s]dia|(da) (manhã|tarde|noite))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mn|^meia[-\\s]noite/i,\n    noon: /^md|^meio[-\\s]dia/i,\n    morning: /manhã/i,\n    afternoon: /tarde/i,\n    evening: /tarde/i,\n    night: /noite/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'menos de um segundo',\n    other: 'menos de {{count}} segundos'\n  },\n  xSeconds: {\n    one: '1 segundo',\n    other: '{{count}} segundos'\n  },\n  halfAMinute: 'meio minuto',\n  lessThanXMinutes: {\n    one: 'menos de um minuto',\n    other: 'menos de {{count}} minutos'\n  },\n  xMinutes: {\n    one: '1 minuto',\n    other: '{{count}} minutos'\n  },\n  aboutXHours: {\n    one: 'aproximadamente 1 hora',\n    other: 'aproximadamente {{count}} horas'\n  },\n  xHours: {\n    one: '1 hora',\n    other: '{{count}} horas'\n  },\n  xDays: {\n    one: '1 dia',\n    other: '{{count}} dias'\n  },\n  aboutXWeeks: {\n    one: 'aproximadamente 1 semana',\n    other: 'aproximadamente {{count}} semanas'\n  },\n  xWeeks: {\n    one: '1 semana',\n    other: '{{count}} semanas'\n  },\n  aboutXMonths: {\n    one: 'aproximadamente 1 mês',\n    other: 'aproximadamente {{count}} meses'\n  },\n  xMonths: {\n    one: '1 mês',\n    other: '{{count}} meses'\n  },\n  aboutXYears: {\n    one: 'aproximadamente 1 ano',\n    other: 'aproximadamente {{count}} anos'\n  },\n  xYears: {\n    one: '1 ano',\n    other: '{{count}} anos'\n  },\n  overXYears: {\n    one: 'mais de 1 ano',\n    other: 'mais de {{count}} anos'\n  },\n  almostXYears: {\n    one: 'quase 1 ano',\n    other: 'quase {{count}} anos'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'daqui a ' + result;\n    } else {\n      return 'há ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"EEEE, d 'de' MMMM 'de' y\",\n  long: \"d 'de' MMMM 'de' y\",\n  medium: \"d 'de' MMM 'de' y\",\n  short: 'dd/MM/y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'às' {{time}}\",\n  long: \"{{date}} 'às' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: function lastWeek(date) {\n    var weekday = date.getUTCDay();\n    var last = weekday === 0 || weekday === 6 ? 'último' : 'última';\n    return \"'\" + last + \"' eeee 'às' p\";\n  },\n  yesterday: \"'ontem às' p\",\n  today: \"'hoje às' p\",\n  tomorrow: \"'amanhã às' p\",\n  nextWeek: \"eeee 'às' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date);\n  }\n  return format;\n};\nexport default formatRelative;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Portuguese locale.\n * @language Portuguese\n * @iso-639-2 por\n * @author Dário Freire [@dfreire]{@link https://github.com/dfreire}\n * @author Adrián de la Rosa [@adrm]{@link https://github.com/adrm}\n */\nvar locale = {\n  code: 'pt',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['aC', 'dC'],\n  abbreviated: ['a.C.', 'd.C.'],\n  wide: ['antes de Cristo', 'depois de Cristo']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['T1', 'T2', 'T3', 'T4'],\n  wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n  narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n  abbreviated: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'],\n  wide: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro']\n};\nvar dayValues = {\n  narrow: ['d', 's', 't', 'q', 'q', 's', 's'],\n  short: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],\n  abbreviated: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],\n  wide: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'noite',\n    night: 'madrugada'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'noite',\n    night: 'madrugada'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'noite',\n    night: 'madrugada'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da noite',\n    night: 'da madrugada'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da noite',\n    night: 'da madrugada'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da noite',\n    night: 'da madrugada'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + 'º';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º|ª)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(ac|dc|a|d)/i,\n  abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n  wide: /^(antes de cristo|antes da era comum|depois de cristo|era comum)/i\n};\nvar parseEraPatterns = {\n  any: [/^ac/i, /^dc/i],\n  wide: [/^(antes de cristo|antes da era comum)/i, /^(depois de cristo|era comum)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^T[1234]/i,\n  wide: /^[1234](º|ª)? trimestre/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,\n  wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ab/i, /^mai/i, /^jun/i, /^jul/i, /^ag/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[dstq]/i,\n  short: /^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,\n  abbreviated: /^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,\n  wide: /^(domingo|segunda-?\\s?feira|terça-?\\s?feira|quarta-?\\s?feira|quinta-?\\s?feira|sexta-?\\s?feira|s[áa]bado)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^d/i, /^s/i, /^t/i, /^q/i, /^q/i, /^s/i, /^s/i],\n  any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[áa]/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|meia-?\\s?noite|meio-?\\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i,\n  any: /^([ap]\\.?\\s?m\\.?|meia-?\\s?noite|meio-?\\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^meia/i,\n    noon: /^meio/i,\n    morning: /manh[ãa]/i,\n    afternoon: /tarde/i,\n    evening: /noite/i,\n    night: /madrugada/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","function declension(scheme, count) {\n  // scheme for count=1 exists\n  if (scheme.one !== undefined && count === 1) {\n    return scheme.one;\n  }\n  var rem10 = count % 10;\n  var rem100 = count % 100;\n\n  // 1, 21, 31, ...\n  if (rem10 === 1 && rem100 !== 11) {\n    return scheme.singularNominative.replace('{{count}}', String(count));\n\n    // 2, 3, 4, 22, 23, 24, 32 ...\n  } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n    return scheme.singularGenitive.replace('{{count}}', String(count));\n\n    // 5, 6, 7, 8, 9, 10, 11, ...\n  } else {\n    return scheme.pluralGenitive.replace('{{count}}', String(count));\n  }\n}\nfunction buildLocalizeTokenFn(scheme) {\n  return function (count, options) {\n    if (options !== null && options !== void 0 && options.addSuffix) {\n      if (options.comparison && options.comparison > 0) {\n        if (scheme.future) {\n          return declension(scheme.future, count);\n        } else {\n          return 'через ' + declension(scheme.regular, count);\n        }\n      } else {\n        if (scheme.past) {\n          return declension(scheme.past, count);\n        } else {\n          return declension(scheme.regular, count) + ' назад';\n        }\n      }\n    } else {\n      return declension(scheme.regular, count);\n    }\n  };\n}\nvar formatDistanceLocale = {\n  lessThanXSeconds: buildLocalizeTokenFn({\n    regular: {\n      one: 'меньше секунды',\n      singularNominative: 'меньше {{count}} секунды',\n      singularGenitive: 'меньше {{count}} секунд',\n      pluralGenitive: 'меньше {{count}} секунд'\n    },\n    future: {\n      one: 'меньше, чем через секунду',\n      singularNominative: 'меньше, чем через {{count}} секунду',\n      singularGenitive: 'меньше, чем через {{count}} секунды',\n      pluralGenitive: 'меньше, чем через {{count}} секунд'\n    }\n  }),\n  xSeconds: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} секунда',\n      singularGenitive: '{{count}} секунды',\n      pluralGenitive: '{{count}} секунд'\n    },\n    past: {\n      singularNominative: '{{count}} секунду назад',\n      singularGenitive: '{{count}} секунды назад',\n      pluralGenitive: '{{count}} секунд назад'\n    },\n    future: {\n      singularNominative: 'через {{count}} секунду',\n      singularGenitive: 'через {{count}} секунды',\n      pluralGenitive: 'через {{count}} секунд'\n    }\n  }),\n  halfAMinute: function halfAMinute(_count, options) {\n    if (options !== null && options !== void 0 && options.addSuffix) {\n      if (options.comparison && options.comparison > 0) {\n        return 'через полминуты';\n      } else {\n        return 'полминуты назад';\n      }\n    }\n    return 'полминуты';\n  },\n  lessThanXMinutes: buildLocalizeTokenFn({\n    regular: {\n      one: 'меньше минуты',\n      singularNominative: 'меньше {{count}} минуты',\n      singularGenitive: 'меньше {{count}} минут',\n      pluralGenitive: 'меньше {{count}} минут'\n    },\n    future: {\n      one: 'меньше, чем через минуту',\n      singularNominative: 'меньше, чем через {{count}} минуту',\n      singularGenitive: 'меньше, чем через {{count}} минуты',\n      pluralGenitive: 'меньше, чем через {{count}} минут'\n    }\n  }),\n  xMinutes: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} минута',\n      singularGenitive: '{{count}} минуты',\n      pluralGenitive: '{{count}} минут'\n    },\n    past: {\n      singularNominative: '{{count}} минуту назад',\n      singularGenitive: '{{count}} минуты назад',\n      pluralGenitive: '{{count}} минут назад'\n    },\n    future: {\n      singularNominative: 'через {{count}} минуту',\n      singularGenitive: 'через {{count}} минуты',\n      pluralGenitive: 'через {{count}} минут'\n    }\n  }),\n  aboutXHours: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'около {{count}} часа',\n      singularGenitive: 'около {{count}} часов',\n      pluralGenitive: 'около {{count}} часов'\n    },\n    future: {\n      singularNominative: 'приблизительно через {{count}} час',\n      singularGenitive: 'приблизительно через {{count}} часа',\n      pluralGenitive: 'приблизительно через {{count}} часов'\n    }\n  }),\n  xHours: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} час',\n      singularGenitive: '{{count}} часа',\n      pluralGenitive: '{{count}} часов'\n    }\n  }),\n  xDays: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} день',\n      singularGenitive: '{{count}} дня',\n      pluralGenitive: '{{count}} дней'\n    }\n  }),\n  aboutXWeeks: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'около {{count}} недели',\n      singularGenitive: 'около {{count}} недель',\n      pluralGenitive: 'около {{count}} недель'\n    },\n    future: {\n      singularNominative: 'приблизительно через {{count}} неделю',\n      singularGenitive: 'приблизительно через {{count}} недели',\n      pluralGenitive: 'приблизительно через {{count}} недель'\n    }\n  }),\n  xWeeks: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} неделя',\n      singularGenitive: '{{count}} недели',\n      pluralGenitive: '{{count}} недель'\n    }\n  }),\n  aboutXMonths: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'около {{count}} месяца',\n      singularGenitive: 'около {{count}} месяцев',\n      pluralGenitive: 'около {{count}} месяцев'\n    },\n    future: {\n      singularNominative: 'приблизительно через {{count}} месяц',\n      singularGenitive: 'приблизительно через {{count}} месяца',\n      pluralGenitive: 'приблизительно через {{count}} месяцев'\n    }\n  }),\n  xMonths: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} месяц',\n      singularGenitive: '{{count}} месяца',\n      pluralGenitive: '{{count}} месяцев'\n    }\n  }),\n  aboutXYears: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'около {{count}} года',\n      singularGenitive: 'около {{count}} лет',\n      pluralGenitive: 'около {{count}} лет'\n    },\n    future: {\n      singularNominative: 'приблизительно через {{count}} год',\n      singularGenitive: 'приблизительно через {{count}} года',\n      pluralGenitive: 'приблизительно через {{count}} лет'\n    }\n  }),\n  xYears: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} год',\n      singularGenitive: '{{count}} года',\n      pluralGenitive: '{{count}} лет'\n    }\n  }),\n  overXYears: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'больше {{count}} года',\n      singularGenitive: 'больше {{count}} лет',\n      pluralGenitive: 'больше {{count}} лет'\n    },\n    future: {\n      singularNominative: 'больше, чем через {{count}} год',\n      singularGenitive: 'больше, чем через {{count}} года',\n      pluralGenitive: 'больше, чем через {{count}} лет'\n    }\n  }),\n  almostXYears: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'почти {{count}} год',\n      singularGenitive: 'почти {{count}} года',\n      pluralGenitive: 'почти {{count}} лет'\n    },\n    future: {\n      singularNominative: 'почти через {{count}} год',\n      singularGenitive: 'почти через {{count}} года',\n      pluralGenitive: 'почти через {{count}} лет'\n    }\n  })\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  return formatDistanceLocale[token](count, options);\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"EEEE, d MMMM y 'г.'\",\n  long: \"d MMMM y 'г.'\",\n  medium: \"d MMM y 'г.'\",\n  short: 'dd.MM.y'\n};\nvar timeFormats = {\n  full: 'H:mm:ss zzzz',\n  long: 'H:mm:ss z',\n  medium: 'H:mm:ss',\n  short: 'H:mm'\n};\nvar dateTimeFormats = {\n  any: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'any'\n  })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar accusativeWeekdays = ['воскресенье', 'понедельник', 'вторник', 'среду', 'четверг', 'пятницу', 'субботу'];\nfunction _lastWeek(day) {\n  var weekday = accusativeWeekdays[day];\n  switch (day) {\n    case 0:\n      return \"'в прошлое \" + weekday + \" в' p\";\n    case 1:\n    case 2:\n    case 4:\n      return \"'в прошлый \" + weekday + \" в' p\";\n    case 3:\n    case 5:\n    case 6:\n      return \"'в прошлую \" + weekday + \" в' p\";\n  }\n}\nfunction thisWeek(day) {\n  var weekday = accusativeWeekdays[day];\n  if (day === 2 /* Tue */) {\n    return \"'во \" + weekday + \" в' p\";\n  } else {\n    return \"'в \" + weekday + \" в' p\";\n  }\n}\nfunction _nextWeek(day) {\n  var weekday = accusativeWeekdays[day];\n  switch (day) {\n    case 0:\n      return \"'в следующее \" + weekday + \" в' p\";\n    case 1:\n    case 2:\n    case 4:\n      return \"'в следующий \" + weekday + \" в' p\";\n    case 3:\n    case 5:\n    case 6:\n      return \"'в следующую \" + weekday + \" в' p\";\n  }\n}\nvar formatRelativeLocale = {\n  lastWeek: function lastWeek(date, baseDate, options) {\n    var day = date.getUTCDay();\n    if (isSameUTCWeek(date, baseDate, options)) {\n      return thisWeek(day);\n    } else {\n      return _lastWeek(day);\n    }\n  },\n  yesterday: \"'вчера в' p\",\n  today: \"'сегодня в' p\",\n  tomorrow: \"'завтра в' p\",\n  nextWeek: function nextWeek(date, baseDate, options) {\n    var day = date.getUTCDay();\n    if (isSameUTCWeek(date, baseDate, options)) {\n      return thisWeek(day);\n    } else {\n      return _nextWeek(day);\n    }\n  },\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date, baseDate, options);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['до н.э.', 'н.э.'],\n  abbreviated: ['до н. э.', 'н. э.'],\n  wide: ['до нашей эры', 'нашей эры']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'],\n  wide: ['1-й квартал', '2-й квартал', '3-й квартал', '4-й квартал']\n};\nvar monthValues = {\n  narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'],\n  abbreviated: ['янв.', 'фев.', 'март', 'апр.', 'май', 'июнь', 'июль', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'],\n  wide: ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь']\n};\nvar formattingMonthValues = {\n  narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'],\n  abbreviated: ['янв.', 'фев.', 'мар.', 'апр.', 'мая', 'июн.', 'июл.', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'],\n  wide: ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря']\n};\nvar dayValues = {\n  narrow: ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'],\n  short: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],\n  abbreviated: ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'суб'],\n  wide: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полн.',\n    noon: 'полд.',\n    morning: 'утро',\n    afternoon: 'день',\n    evening: 'веч.',\n    night: 'ночь'\n  },\n  abbreviated: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полн.',\n    noon: 'полд.',\n    morning: 'утро',\n    afternoon: 'день',\n    evening: 'веч.',\n    night: 'ночь'\n  },\n  wide: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полночь',\n    noon: 'полдень',\n    morning: 'утро',\n    afternoon: 'день',\n    evening: 'вечер',\n    night: 'ночь'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полн.',\n    noon: 'полд.',\n    morning: 'утра',\n    afternoon: 'дня',\n    evening: 'веч.',\n    night: 'ночи'\n  },\n  abbreviated: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полн.',\n    noon: 'полд.',\n    morning: 'утра',\n    afternoon: 'дня',\n    evening: 'веч.',\n    night: 'ночи'\n  },\n  wide: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полночь',\n    noon: 'полдень',\n    morning: 'утра',\n    afternoon: 'дня',\n    evening: 'вечера',\n    night: 'ночи'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  var unit = options === null || options === void 0 ? void 0 : options.unit;\n  var suffix;\n  if (unit === 'date') {\n    suffix = '-е';\n  } else if (unit === 'week' || unit === 'minute' || unit === 'second') {\n    suffix = '-я';\n  } else {\n    suffix = '-й';\n  }\n  return number + suffix;\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingMonthValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'any',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Russian locale.\n * @language Russian\n * @iso-639-2 rus\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n  code: 'ru',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^((до )?н\\.?\\s?э\\.?)/i,\n  abbreviated: /^((до )?н\\.?\\s?э\\.?)/i,\n  wide: /^(до нашей эры|нашей эры|наша эра)/i\n};\nvar parseEraPatterns = {\n  any: [/^д/i, /^н/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i,\n  wide: /^[1234](-?[ыои]?й?)? квартал/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[яфмаисонд]/i,\n  abbreviated: /^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\\.?/i,\n  wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^я/i, /^ф/i, /^м/i, /^а/i, /^м/i, /^и/i, /^и/i, /^а/i, /^с/i, /^о/i, /^н/i, /^я/i],\n  any: [/^я/i, /^ф/i, /^мар/i, /^ап/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^ав/i, /^с/i, /^о/i, /^н/i, /^д/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[впсч]/i,\n  short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\\.?/i,\n  abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,\n  wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i\n};\nvar parseDayPatterns = {\n  narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n  any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n  abbreviated: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n  wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^дп/i,\n    pm: /^пп/i,\n    midnight: /^полн/i,\n    noon: /^полд/i,\n    morning: /^у/i,\n    afternoon: /^д[ен]/i,\n    evening: /^в/i,\n    night: /^н/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'mindre än en sekund',\n    other: 'mindre än {{count}} sekunder'\n  },\n  xSeconds: {\n    one: 'en sekund',\n    other: '{{count}} sekunder'\n  },\n  halfAMinute: 'en halv minut',\n  lessThanXMinutes: {\n    one: 'mindre än en minut',\n    other: 'mindre än {{count}} minuter'\n  },\n  xMinutes: {\n    one: 'en minut',\n    other: '{{count}} minuter'\n  },\n  aboutXHours: {\n    one: 'ungefär en timme',\n    other: 'ungefär {{count}} timmar'\n  },\n  xHours: {\n    one: 'en timme',\n    other: '{{count}} timmar'\n  },\n  xDays: {\n    one: 'en dag',\n    other: '{{count}} dagar'\n  },\n  aboutXWeeks: {\n    one: 'ungefär en vecka',\n    other: 'ungefär {{count}} vecka'\n  },\n  xWeeks: {\n    one: 'en vecka',\n    other: '{{count}} vecka'\n  },\n  aboutXMonths: {\n    one: 'ungefär en månad',\n    other: 'ungefär {{count}} månader'\n  },\n  xMonths: {\n    one: 'en månad',\n    other: '{{count}} månader'\n  },\n  aboutXYears: {\n    one: 'ungefär ett år',\n    other: 'ungefär {{count}} år'\n  },\n  xYears: {\n    one: 'ett år',\n    other: '{{count}} år'\n  },\n  overXYears: {\n    one: 'över ett år',\n    other: 'över {{count}} år'\n  },\n  almostXYears: {\n    one: 'nästan ett år',\n    other: 'nästan {{count}} år'\n  }\n};\nvar wordMapping = ['noll', 'en', 'två', 'tre', 'fyra', 'fem', 'sex', 'sju', 'åtta', 'nio', 'tio', 'elva', 'tolv'];\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    if (options && options.onlyNumeric) {\n      result = tokenValue.other.replace('{{count}}', String(count));\n    } else {\n      result = tokenValue.other.replace('{{count}}', count < 13 ? wordMapping[count] : String(count));\n    }\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'om ' + result;\n    } else {\n      return result + ' sedan';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE d MMMM y',\n  long: 'd MMMM y',\n  medium: 'd MMM y',\n  short: 'y-MM-dd'\n};\nvar timeFormats = {\n  full: \"'kl'. HH:mm:ss zzzz\",\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'kl.' {{time}}\",\n  long: \"{{date}} 'kl.' {{time}}\",\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'i' EEEE's kl.' p\",\n  yesterday: \"'igår kl.' p\",\n  today: \"'idag kl.' p\",\n  tomorrow: \"'imorgon kl.' p\",\n  nextWeek: \"EEEE 'kl.' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['f.Kr.', 'e.Kr.'],\n  abbreviated: ['f.Kr.', 'e.Kr.'],\n  wide: ['före Kristus', 'efter Kristus']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1:a kvartalet', '2:a kvartalet', '3:e kvartalet', '4:e kvartalet']\n};\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['jan.', 'feb.', 'mars', 'apr.', 'maj', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],\n  wide: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', 'augusti', 'september', 'oktober', 'november', 'december']\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],\n  short: ['sö', 'må', 'ti', 'on', 'to', 'fr', 'lö'],\n  abbreviated: ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'],\n  wide: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag']\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/sv.html#1888\nvar dayPeriodValues = {\n  narrow: {\n    am: 'fm',\n    pm: 'em',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'morg.',\n    afternoon: 'efterm.',\n    evening: 'kväll',\n    night: 'natt'\n  },\n  abbreviated: {\n    am: 'f.m.',\n    pm: 'e.m.',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'morgon',\n    afternoon: 'efterm.',\n    evening: 'kväll',\n    night: 'natt'\n  },\n  wide: {\n    am: 'förmiddag',\n    pm: 'eftermiddag',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'morgon',\n    afternoon: 'eftermiddag',\n    evening: 'kväll',\n    night: 'natt'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'fm',\n    pm: 'em',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morg.',\n    afternoon: 'på efterm.',\n    evening: 'på kvällen',\n    night: 'på natten'\n  },\n  abbreviated: {\n    am: 'fm',\n    pm: 'em',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morg.',\n    afternoon: 'på efterm.',\n    evening: 'på kvällen',\n    night: 'på natten'\n  },\n  wide: {\n    am: 'fm',\n    pm: 'em',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morgonen',\n    afternoon: 'på eftermiddagen',\n    evening: 'på kvällen',\n    night: 'på natten'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  var rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n      case 2:\n        return number + ':a';\n    }\n  }\n  return number + ':e';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Swedish locale.\n * @language Swedish\n * @iso-639-2 swe\n * @author Johannes Ulén [@ejulen]{@link https://github.com/ejulen}\n * @author Alexander Nanberg [@alexandernanberg]{@link https://github.com/alexandernanberg}\n * @author Henrik Andersson [@limelights]{@link https://github.com/limelights}\n */\nvar locale = {\n  code: 'sv',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(:a|:e)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n  abbreviated: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n  wide: /^(före Kristus|före vår tid|efter Kristus|vår tid)/i\n};\nvar parseEraPatterns = {\n  any: [/^f/i, /^[ev]/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](:a|:e)? kvartalet/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar[s]?|apr|maj|jun[i]?|jul[i]?|aug|sep|okt|nov|dec)\\.?/i,\n  wide: /^(januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(sö|må|ti|on|to|fr|lö)/i,\n  abbreviated: /^(sön|mån|tis|ons|tors|fre|lör)/i,\n  wide: /^(söndag|måndag|tisdag|onsdag|torsdag|fredag|lördag)/i\n};\nvar parseDayPatterns = {\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^([fe]\\.?\\s?m\\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^f/i,\n    pm: /^e/i,\n    midnight: /^midn/i,\n    noon: /^midd/i,\n    morning: /morgon/i,\n    afternoon: /eftermiddag/i,\n    evening: /kväll/i,\n    night: /natt/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'น้อยกว่า 1 วินาที',\n    other: 'น้อยกว่า {{count}} วินาที'\n  },\n  xSeconds: {\n    one: '1 วินาที',\n    other: '{{count}} วินาที'\n  },\n  halfAMinute: 'ครึ่งนาที',\n  lessThanXMinutes: {\n    one: 'น้อยกว่า 1 นาที',\n    other: 'น้อยกว่า {{count}} นาที'\n  },\n  xMinutes: {\n    one: '1 นาที',\n    other: '{{count}} นาที'\n  },\n  aboutXHours: {\n    one: 'ประมาณ 1 ชั่วโมง',\n    other: 'ประมาณ {{count}} ชั่วโมง'\n  },\n  xHours: {\n    one: '1 ชั่วโมง',\n    other: '{{count}} ชั่วโมง'\n  },\n  xDays: {\n    one: '1 วัน',\n    other: '{{count}} วัน'\n  },\n  aboutXWeeks: {\n    one: 'ประมาณ 1 สัปดาห์',\n    other: 'ประมาณ {{count}} สัปดาห์'\n  },\n  xWeeks: {\n    one: '1 สัปดาห์',\n    other: '{{count}} สัปดาห์'\n  },\n  aboutXMonths: {\n    one: 'ประมาณ 1 เดือน',\n    other: 'ประมาณ {{count}} เดือน'\n  },\n  xMonths: {\n    one: '1 เดือน',\n    other: '{{count}} เดือน'\n  },\n  aboutXYears: {\n    one: 'ประมาณ 1 ปี',\n    other: 'ประมาณ {{count}} ปี'\n  },\n  xYears: {\n    one: '1 ปี',\n    other: '{{count}} ปี'\n  },\n  overXYears: {\n    one: 'มากกว่า 1 ปี',\n    other: 'มากกว่า {{count}} ปี'\n  },\n  almostXYears: {\n    one: 'เกือบ 1 ปี',\n    other: 'เกือบ {{count}} ปี'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      if (token === 'halfAMinute') {\n        return 'ใน' + result;\n      } else {\n        return 'ใน ' + result;\n      }\n    } else {\n      return result + 'ที่ผ่านมา';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'วันEEEEที่ do MMMM y',\n  long: 'do MMMM y',\n  medium: 'd MMM y',\n  short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n  full: 'H:mm:ss น. zzzz',\n  long: 'H:mm:ss น. z',\n  medium: 'H:mm:ss น.',\n  short: 'H:mm น.'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'เวลา' {{time}}\",\n  long: \"{{date}} 'เวลา' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'medium'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"eeee'ที่แล้วเวลา' p\",\n  yesterday: \"'เมื่อวานนี้เวลา' p\",\n  today: \"'วันนี้เวลา' p\",\n  tomorrow: \"'พรุ่งนี้เวลา' p\",\n  nextWeek: \"eeee 'เวลา' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Thai locale.\n * @language Thai\n * @iso-639-2 tha\n * @author Athiwat Hirunworawongkun [@athivvat]{@link https://github.com/athivvat}\n * @author [@hawkup]{@link https://github.com/hawkup}\n * @author  Jirawat I. [@nodtem66]{@link https://github.com/nodtem66}\n */\nvar locale = {\n  code: 'th',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['B', 'คศ'],\n  abbreviated: ['BC', 'ค.ศ.'],\n  wide: ['ปีก่อนคริสตกาล', 'คริสต์ศักราช']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['ไตรมาสแรก', 'ไตรมาสที่สอง', 'ไตรมาสที่สาม', 'ไตรมาสที่สี่']\n};\nvar dayValues = {\n  narrow: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],\n  short: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],\n  abbreviated: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],\n  wide: ['อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุกร์', 'เสาร์']\n};\nvar monthValues = {\n  narrow: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],\n  abbreviated: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],\n  wide: ['มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'เช้า',\n    afternoon: 'บ่าย',\n    evening: 'เย็น',\n    night: 'กลางคืน'\n  },\n  abbreviated: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'เช้า',\n    afternoon: 'บ่าย',\n    evening: 'เย็น',\n    night: 'กลางคืน'\n  },\n  wide: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'เช้า',\n    afternoon: 'บ่าย',\n    evening: 'เย็น',\n    night: 'กลางคืน'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'ตอนเช้า',\n    afternoon: 'ตอนกลางวัน',\n    evening: 'ตอนเย็น',\n    night: 'ตอนกลางคืน'\n  },\n  abbreviated: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'ตอนเช้า',\n    afternoon: 'ตอนกลางวัน',\n    evening: 'ตอนเย็น',\n    night: 'ตอนกลางคืน'\n  },\n  wide: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'ตอนเช้า',\n    afternoon: 'ตอนกลางวัน',\n    evening: 'ตอนเย็น',\n    night: 'ตอนกลางคืน'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  return String(dirtyNumber);\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^\\d+/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^([bB]|[aA]|คศ)/i,\n  abbreviated: /^([bB]\\.?\\s?[cC]\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?|ค\\.?ศ\\.?)/i,\n  wide: /^(ก่อนคริสตกาล|คริสต์ศักราช|คริสตกาล)/i\n};\nvar parseEraPatterns = {\n  any: [/^[bB]/i, /^(^[aA]|ค\\.?ศ\\.?|คริสตกาล|คริสต์ศักราช|)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^ไตรมาส(ที่)? ?[1234]/i\n};\nvar parseQuarterPatterns = {\n  any: [/(1|แรก|หนึ่ง)/i, /(2|สอง)/i, /(3|สาม)/i, /(4|สี่)/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^(ม\\.?ค\\.?|ก\\.?พ\\.?|มี\\.?ค\\.?|เม\\.?ย\\.?|พ\\.?ค\\.?|มิ\\.?ย\\.?|ก\\.?ค\\.?|ส\\.?ค\\.?|ก\\.?ย\\.?|ต\\.?ค\\.?|พ\\.?ย\\.?|ธ\\.?ค\\.?)/i,\n  abbreviated: /^(ม\\.?ค\\.?|ก\\.?พ\\.?|มี\\.?ค\\.?|เม\\.?ย\\.?|พ\\.?ค\\.?|มิ\\.?ย\\.?|ก\\.?ค\\.?|ส\\.?ค\\.?|ก\\.?ย\\.?|ต\\.?ค\\.?|พ\\.?ย\\.?|ธ\\.?ค\\.?')/i,\n  wide: /^(มกราคม|กุมภาพันธ์|มีนาคม|เมษายน|พฤษภาคม|มิถุนายน|กรกฎาคม|สิงหาคม|กันยายน|ตุลาคม|พฤศจิกายน|ธันวาคม)/i\n};\nvar parseMonthPatterns = {\n  wide: [/^มก/i, /^กุม/i, /^มี/i, /^เม/i, /^พฤษ/i, /^มิ/i, /^กรก/i, /^ส/i, /^กัน/i, /^ต/i, /^พฤศ/i, /^ธ/i],\n  any: [/^ม\\.?ค\\.?/i, /^ก\\.?พ\\.?/i, /^มี\\.?ค\\.?/i, /^เม\\.?ย\\.?/i, /^พ\\.?ค\\.?/i, /^มิ\\.?ย\\.?/i, /^ก\\.?ค\\.?/i, /^ส\\.?ค\\.?/i, /^ก\\.?ย\\.?/i, /^ต\\.?ค\\.?/i, /^พ\\.?ย\\.?/i, /^ธ\\.?ค\\.?/i]\n};\nvar matchDayPatterns = {\n  narrow: /^(อา\\.?|จ\\.?|อ\\.?|พฤ\\.?|พ\\.?|ศ\\.?|ส\\.?)/i,\n  short: /^(อา\\.?|จ\\.?|อ\\.?|พฤ\\.?|พ\\.?|ศ\\.?|ส\\.?)/i,\n  abbreviated: /^(อา\\.?|จ\\.?|อ\\.?|พฤ\\.?|พ\\.?|ศ\\.?|ส\\.?)/i,\n  wide: /^(อาทิตย์|จันทร์|อังคาร|พุธ|พฤหัสบดี|ศุกร์|เสาร์)/i\n};\nvar parseDayPatterns = {\n  wide: [/^อา/i, /^จั/i, /^อั/i, /^พุธ/i, /^พฤ/i, /^ศ/i, /^เส/i],\n  any: [/^อา/i, /^จ/i, /^อ/i, /^พ(?!ฤ)/i, /^พฤ/i, /^ศ/i, /^ส/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(ก่อนเที่ยง|หลังเที่ยง|เที่ยงคืน|เที่ยง|(ตอน.*?)?.*(เที่ยง|เช้า|บ่าย|เย็น|กลางคืน))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^ก่อนเที่ยง/i,\n    pm: /^หลังเที่ยง/i,\n    midnight: /^เที่ยงคืน/i,\n    noon: /^เที่ยง/i,\n    morning: /เช้า/i,\n    afternoon: /บ่าย/i,\n    evening: /เย็น/i,\n    night: /กลางคืน/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'bir saniyeden az',\n    other: '{{count}} saniyeden az'\n  },\n  xSeconds: {\n    one: '1 saniye',\n    other: '{{count}} saniye'\n  },\n  halfAMinute: 'yarım dakika',\n  lessThanXMinutes: {\n    one: 'bir dakikadan az',\n    other: '{{count}} dakikadan az'\n  },\n  xMinutes: {\n    one: '1 dakika',\n    other: '{{count}} dakika'\n  },\n  aboutXHours: {\n    one: 'yaklaşık 1 saat',\n    other: 'yaklaşık {{count}} saat'\n  },\n  xHours: {\n    one: '1 saat',\n    other: '{{count}} saat'\n  },\n  xDays: {\n    one: '1 gün',\n    other: '{{count}} gün'\n  },\n  aboutXWeeks: {\n    one: 'yaklaşık 1 hafta',\n    other: 'yaklaşık {{count}} hafta'\n  },\n  xWeeks: {\n    one: '1 hafta',\n    other: '{{count}} hafta'\n  },\n  aboutXMonths: {\n    one: 'yaklaşık 1 ay',\n    other: 'yaklaşık {{count}} ay'\n  },\n  xMonths: {\n    one: '1 ay',\n    other: '{{count}} ay'\n  },\n  aboutXYears: {\n    one: 'yaklaşık 1 yıl',\n    other: 'yaklaşık {{count}} yıl'\n  },\n  xYears: {\n    one: '1 yıl',\n    other: '{{count}} yıl'\n  },\n  overXYears: {\n    one: '1 yıldan fazla',\n    other: '{{count}} yıldan fazla'\n  },\n  almostXYears: {\n    one: 'neredeyse 1 yıl',\n    other: 'neredeyse {{count}} yıl'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + ' sonra';\n    } else {\n      return result + ' önce';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'd MMMM y EEEE',\n  long: 'd MMMM y',\n  medium: 'd MMM y',\n  short: 'dd.MM.yyyy'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'saat' {{time}}\",\n  long: \"{{date}} 'saat' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'geçen hafta' eeee 'saat' p\",\n  yesterday: \"'dün saat' p\",\n  today: \"'bugün saat' p\",\n  tomorrow: \"'yarın saat' p\",\n  nextWeek: \"eeee 'saat' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Turkish locale.\n * @language Turkish\n * @iso-639-2 tur\n * @author Alpcan Aydın [@alpcanaydin]{@link https://github.com/alpcanaydin}\n * @author Berkay Sargın [@berkaey]{@link https://github.com/berkaey}\n * @author Fatih Bulut [@bulutfatih]{@link https://github.com/bulutfatih}\n * @author Ismail Demirbilek [@dbtek]{@link https://github.com/dbtek}\n * @author İsmail Kayar [@ikayar]{@link https://github.com/ikayar}\n *\n *\n */\nvar locale = {\n  code: 'tr',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['MÖ', 'MS'],\n  abbreviated: ['MÖ', 'MS'],\n  wide: ['Milattan Önce', 'Milattan Sonra']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['1Ç', '2Ç', '3Ç', '4Ç'],\n  wide: ['İlk çeyrek', 'İkinci Çeyrek', 'Üçüncü çeyrek', 'Son çeyrek']\n};\nvar monthValues = {\n  narrow: ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E', 'K', 'A'],\n  abbreviated: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],\n  wide: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık']\n};\nvar dayValues = {\n  narrow: ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'],\n  short: ['Pz', 'Pt', 'Sa', 'Ça', 'Pe', 'Cu', 'Ct'],\n  abbreviated: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cts'],\n  wide: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'öö',\n    pm: 'ös',\n    midnight: 'gy',\n    noon: 'ö',\n    morning: 'sa',\n    afternoon: 'ös',\n    evening: 'ak',\n    night: 'ge'\n  },\n  abbreviated: {\n    am: 'ÖÖ',\n    pm: 'ÖS',\n    midnight: 'gece yarısı',\n    noon: 'öğle',\n    morning: 'sabah',\n    afternoon: 'öğleden sonra',\n    evening: 'akşam',\n    night: 'gece'\n  },\n  wide: {\n    am: 'Ö.Ö.',\n    pm: 'Ö.S.',\n    midnight: 'gece yarısı',\n    noon: 'öğle',\n    morning: 'sabah',\n    afternoon: 'öğleden sonra',\n    evening: 'akşam',\n    night: 'gece'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'öö',\n    pm: 'ös',\n    midnight: 'gy',\n    noon: 'ö',\n    morning: 'sa',\n    afternoon: 'ös',\n    evening: 'ak',\n    night: 'ge'\n  },\n  abbreviated: {\n    am: 'ÖÖ',\n    pm: 'ÖS',\n    midnight: 'gece yarısı',\n    noon: 'öğlen',\n    morning: 'sabahleyin',\n    afternoon: 'öğleden sonra',\n    evening: 'akşamleyin',\n    night: 'geceleyin'\n  },\n  wide: {\n    am: 'ö.ö.',\n    pm: 'ö.s.',\n    midnight: 'gece yarısı',\n    noon: 'öğlen',\n    morning: 'sabahleyin',\n    afternoon: 'öğleden sonra',\n    evening: 'akşamleyin',\n    night: 'geceleyin'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return Number(quarter) - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(mö|ms)/i,\n  abbreviated: /^(mö|ms)/i,\n  wide: /^(milattan önce|milattan sonra)/i\n};\nvar parseEraPatterns = {\n  any: [/(^mö|^milattan önce)/i, /(^ms|^milattan sonra)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234]ç/i,\n  wide: /^((i|İ)lk|(i|İ)kinci|üçüncü|son) çeyrek/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n  abbreviated: [/1ç/i, /2ç/i, /3ç/i, /4ç/i],\n  wide: [/^(i|İ)lk çeyrek/i, /(i|İ)kinci çeyrek/i, /üçüncü çeyrek/i, /son çeyrek/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[oşmnhtaek]/i,\n  abbreviated: /^(oca|şub|mar|nis|may|haz|tem|ağu|eyl|eki|kas|ara)/i,\n  wide: /^(ocak|şubat|mart|nisan|mayıs|haziran|temmuz|ağustos|eylül|ekim|kasım|aralık)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^o/i, /^ş/i, /^m/i, /^n/i, /^m/i, /^h/i, /^t/i, /^a/i, /^e/i, /^e/i, /^k/i, /^a/i],\n  any: [/^o/i, /^ş/i, /^mar/i, /^n/i, /^may/i, /^h/i, /^t/i, /^ağ/i, /^ey/i, /^ek/i, /^k/i, /^ar/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[psçc]/i,\n  short: /^(pz|pt|sa|ça|pe|cu|ct)/i,\n  abbreviated: /^(paz|pzt|sal|çar|per|cum|cts)/i,\n  wide: /^(pazar(?!tesi)|pazartesi|salı|çarşamba|perşembe|cuma(?!rtesi)|cumartesi)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^p/i, /^p/i, /^s/i, /^ç/i, /^p/i, /^c/i, /^c/i],\n  any: [/^pz/i, /^pt/i, /^sa/i, /^ça/i, /^pe/i, /^cu/i, /^ct/i],\n  wide: [/^pazar(?!tesi)/i, /^pazartesi/i, /^salı/i, /^çarşamba/i, /^perşembe/i, /^cuma(?!rtesi)/i, /^cumartesi/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(öö|ös|gy|ö|sa|ös|ak|ge)/i,\n  any: /^(ö\\.?\\s?[ös]\\.?|öğleden sonra|gece yarısı|öğle|(sabah|öğ|akşam|gece)(leyin))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^ö\\.?ö\\.?/i,\n    pm: /^ö\\.?s\\.?/i,\n    midnight: /^(gy|gece yarısı)/i,\n    noon: /^öğ/i,\n    morning: /^sa/i,\n    afternoon: /^öğleden sonra/i,\n    evening: /^ak/i,\n    night: /^ge/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: '不到 1 秒',\n    other: '不到 {{count}} 秒'\n  },\n  xSeconds: {\n    one: '1 秒',\n    other: '{{count}} 秒'\n  },\n  halfAMinute: '半分钟',\n  lessThanXMinutes: {\n    one: '不到 1 分钟',\n    other: '不到 {{count}} 分钟'\n  },\n  xMinutes: {\n    one: '1 分钟',\n    other: '{{count}} 分钟'\n  },\n  xHours: {\n    one: '1 小时',\n    other: '{{count}} 小时'\n  },\n  aboutXHours: {\n    one: '大约 1 小时',\n    other: '大约 {{count}} 小时'\n  },\n  xDays: {\n    one: '1 天',\n    other: '{{count}} 天'\n  },\n  aboutXWeeks: {\n    one: '大约 1 个星期',\n    other: '大约 {{count}} 个星期'\n  },\n  xWeeks: {\n    one: '1 个星期',\n    other: '{{count}} 个星期'\n  },\n  aboutXMonths: {\n    one: '大约 1 个月',\n    other: '大约 {{count}} 个月'\n  },\n  xMonths: {\n    one: '1 个月',\n    other: '{{count}} 个月'\n  },\n  aboutXYears: {\n    one: '大约 1 年',\n    other: '大约 {{count}} 年'\n  },\n  xYears: {\n    one: '1 年',\n    other: '{{count}} 年'\n  },\n  overXYears: {\n    one: '超过 1 年',\n    other: '超过 {{count}} 年'\n  },\n  almostXYears: {\n    one: '将近 1 年',\n    other: '将近 {{count}} 年'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + '内';\n    } else {\n      return result + '前';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"y'年'M'月'd'日' EEEE\",\n  long: \"y'年'M'月'd'日'\",\n  medium: 'yyyy-MM-dd',\n  short: 'yy-MM-dd'\n};\nvar timeFormats = {\n  full: 'zzzz a h:mm:ss',\n  long: 'z a h:mm:ss',\n  medium: 'a h:mm:ss',\n  short: 'a h:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nfunction checkWeek(date, baseDate, options) {\n  var baseFormat = 'eeee p';\n  if (isSameUTCWeek(date, baseDate, options)) {\n    return baseFormat; // in same week\n  } else if (date.getTime() > baseDate.getTime()) {\n    return \"'下个'\" + baseFormat; // in next week\n  }\n\n  return \"'上个'\" + baseFormat; // in last week\n}\n\nvar formatRelativeLocale = {\n  lastWeek: checkWeek,\n  // days before yesterday, maybe in this week or last week\n  yesterday: \"'昨天' p\",\n  today: \"'今天' p\",\n  tomorrow: \"'明天' p\",\n  nextWeek: checkWeek,\n  // days after tomorrow, maybe in this week or next week\n  other: 'PP p'\n};\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date, baseDate, options);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['前', '公元'],\n  abbreviated: ['前', '公元'],\n  wide: ['公元前', '公元']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['第一季', '第二季', '第三季', '第四季'],\n  wide: ['第一季度', '第二季度', '第三季度', '第四季度']\n};\nvar monthValues = {\n  narrow: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],\n  abbreviated: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n  wide: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\n};\nvar dayValues = {\n  narrow: ['日', '一', '二', '三', '四', '五', '六'],\n  short: ['日', '一', '二', '三', '四', '五', '六'],\n  abbreviated: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],\n  wide: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: '上',\n    pm: '下',\n    midnight: '凌晨',\n    noon: '午',\n    morning: '早',\n    afternoon: '下午',\n    evening: '晚',\n    night: '夜'\n  },\n  abbreviated: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜间'\n  },\n  wide: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜间'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: '上',\n    pm: '下',\n    midnight: '凌晨',\n    noon: '午',\n    morning: '早',\n    afternoon: '下午',\n    evening: '晚',\n    night: '夜'\n  },\n  abbreviated: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜间'\n  },\n  wide: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜间'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  switch (options === null || options === void 0 ? void 0 : options.unit) {\n    case 'date':\n      return number.toString() + '日';\n    case 'hour':\n      return number.toString() + '时';\n    case 'minute':\n      return number.toString() + '分';\n    case 'second':\n      return number.toString() + '秒';\n    default:\n      return '第 ' + number.toString();\n  }\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Chinese Simplified locale.\n * @language Chinese Simplified\n * @iso-639-2 zho\n * @author Changyu Geng [@KingMario]{@link https://github.com/KingMario}\n * @author Song Shuoyun [@fnlctrl]{@link https://github.com/fnlctrl}\n * @author sabrinaM [@sabrinamiao]{@link https://github.com/sabrinamiao}\n * @author Carney Wu [@cubicwork]{@link https://github.com/cubicwork}\n * @author Terrence Lam [@skyuplam]{@link https://github.com/skyuplam}\n */\nvar locale = {\n  code: 'zh-CN',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(第\\s*)?\\d+(日|时|分|秒)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(前)/i,\n  abbreviated: /^(前)/i,\n  wide: /^(公元前|公元)/i\n};\nvar parseEraPatterns = {\n  any: [/^(前)/i, /^(公元)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^第[一二三四]刻/i,\n  wide: /^第[一二三四]刻钟/i\n};\nvar parseQuarterPatterns = {\n  any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i,\n  abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\\d|1[12])月/i,\n  wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^一/i, /^二/i, /^三/i, /^四/i, /^五/i, /^六/i, /^七/i, /^八/i, /^九/i, /^十(?!(一|二))/i, /^十一/i, /^十二/i],\n  any: [/^一|1/i, /^二|2/i, /^三|3/i, /^四|4/i, /^五|5/i, /^六|6/i, /^七|7/i, /^八|8/i, /^九|9/i, /^十(?!(一|二))|10/i, /^十一|11/i, /^十二|12/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[一二三四五六日]/i,\n  short: /^[一二三四五六日]/i,\n  abbreviated: /^周[一二三四五六日]/i,\n  wide: /^星期[一二三四五六日]/i\n};\nvar parseDayPatterns = {\n  any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^上午?/i,\n    pm: /^下午?/i,\n    midnight: /^午夜/i,\n    noon: /^[中正]午/i,\n    morning: /^早上/i,\n    afternoon: /^下午/i,\n    evening: /^晚上?/i,\n    night: /^凌晨/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: '少於 1 秒',\n    other: '少於 {{count}} 秒'\n  },\n  xSeconds: {\n    one: '1 秒',\n    other: '{{count}} 秒'\n  },\n  halfAMinute: '半分鐘',\n  lessThanXMinutes: {\n    one: '少於 1 分鐘',\n    other: '少於 {{count}} 分鐘'\n  },\n  xMinutes: {\n    one: '1 分鐘',\n    other: '{{count}} 分鐘'\n  },\n  xHours: {\n    one: '1 小時',\n    other: '{{count}} 小時'\n  },\n  aboutXHours: {\n    one: '大約 1 小時',\n    other: '大約 {{count}} 小時'\n  },\n  xDays: {\n    one: '1 天',\n    other: '{{count}} 天'\n  },\n  aboutXWeeks: {\n    one: '大約 1 個星期',\n    other: '大約 {{count}} 個星期'\n  },\n  xWeeks: {\n    one: '1 個星期',\n    other: '{{count}} 個星期'\n  },\n  aboutXMonths: {\n    one: '大約 1 個月',\n    other: '大約 {{count}} 個月'\n  },\n  xMonths: {\n    one: '1 個月',\n    other: '{{count}} 個月'\n  },\n  aboutXYears: {\n    one: '大約 1 年',\n    other: '大約 {{count}} 年'\n  },\n  xYears: {\n    one: '1 年',\n    other: '{{count}} 年'\n  },\n  overXYears: {\n    one: '超過 1 年',\n    other: '超過 {{count}} 年'\n  },\n  almostXYears: {\n    one: '將近 1 年',\n    other: '將近 {{count}} 年'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + '內';\n    } else {\n      return result + '前';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"y'年'M'月'd'日' EEEE\",\n  long: \"y'年'M'月'd'日'\",\n  medium: 'yyyy-MM-dd',\n  short: 'yy-MM-dd'\n};\nvar timeFormats = {\n  full: 'zzzz a h:mm:ss',\n  long: 'z a h:mm:ss',\n  medium: 'a h:mm:ss',\n  short: 'a h:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'上個'eeee p\",\n  yesterday: \"'昨天' p\",\n  today: \"'今天' p\",\n  tomorrow: \"'明天' p\",\n  nextWeek: \"'下個'eeee p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['前', '公元'],\n  abbreviated: ['前', '公元'],\n  wide: ['公元前', '公元']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['第一刻', '第二刻', '第三刻', '第四刻'],\n  wide: ['第一刻鐘', '第二刻鐘', '第三刻鐘', '第四刻鐘']\n};\nvar monthValues = {\n  narrow: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],\n  abbreviated: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n  wide: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\n};\nvar dayValues = {\n  narrow: ['日', '一', '二', '三', '四', '五', '六'],\n  short: ['日', '一', '二', '三', '四', '五', '六'],\n  abbreviated: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],\n  wide: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: '上',\n    pm: '下',\n    midnight: '凌晨',\n    noon: '午',\n    morning: '早',\n    afternoon: '下午',\n    evening: '晚',\n    night: '夜'\n  },\n  abbreviated: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜間'\n  },\n  wide: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜間'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: '上',\n    pm: '下',\n    midnight: '凌晨',\n    noon: '午',\n    morning: '早',\n    afternoon: '下午',\n    evening: '晚',\n    night: '夜'\n  },\n  abbreviated: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜間'\n  },\n  wide: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜間'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  switch (options === null || options === void 0 ? void 0 : options.unit) {\n    case 'date':\n      return number + '日';\n    case 'hour':\n      return number + '時';\n    case 'minute':\n      return number + '分';\n    case 'second':\n      return number + '秒';\n    default:\n      return '第 ' + number;\n  }\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Chinese Traditional locale.\n * @language Chinese Traditional\n * @iso-639-2 zho\n * @author tonypai [@tpai]{@link https://github.com/tpai}\n * @author Jack Hsu [@jackhsu978]{@link https://github.com/jackhsu978}\n * @author Terrence Lam [@skyuplam]{@link https://github.com/skyuplam}\n */\nvar locale = {\n  code: 'zh-TW',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(第\\s*)?\\d+(日|時|分|秒)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(前)/i,\n  abbreviated: /^(前)/i,\n  wide: /^(公元前|公元)/i\n};\nvar parseEraPatterns = {\n  any: [/^(前)/i, /^(公元)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^第[一二三四]刻/i,\n  wide: /^第[一二三四]刻鐘/i\n};\nvar parseQuarterPatterns = {\n  any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i,\n  abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\\d|1[12])月/i,\n  wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^一/i, /^二/i, /^三/i, /^四/i, /^五/i, /^六/i, /^七/i, /^八/i, /^九/i, /^十(?!(一|二))/i, /^十一/i, /^十二/i],\n  any: [/^一|1/i, /^二|2/i, /^三|3/i, /^四|4/i, /^五|5/i, /^六|6/i, /^七|7/i, /^八|8/i, /^九|9/i, /^十(?!(一|二))|10/i, /^十一|11/i, /^十二|12/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[一二三四五六日]/i,\n  short: /^[一二三四五六日]/i,\n  abbreviated: /^週[一二三四五六日]/i,\n  wide: /^星期[一二三四五六日]/i\n};\nvar parseDayPatterns = {\n  any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^上午?/i,\n    pm: /^下午?/i,\n    midnight: /^午夜/i,\n    noon: /^[中正]午/i,\n    morning: /^早上/i,\n    afternoon: /^下午/i,\n    evening: /^晚上?/i,\n    night: /^凌晨/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import {\n\tcs,\n\tda,\n\tde,\n\tenUS,\n\tenIN,\n\tenIE,\n\tenGB,\n\tes,\n\tet,\n\tfi,\n\tfr,\n\tfrCA,\n\the,\n\thu,\n\tit,\n\tja,\n\tko,\n\tnn,\n\tpl,\n\tpt,\n\tptBR,\n\tru,\n\tsv,\n\tth,\n\ttr,\n\tzhCN,\n\tzhTW\n} from 'date-fns/locale';\n\nconst lookup = new Set([\n\t'cs',\n\t'da',\n\t'de',\n\t'en',\n\t'en-US',\n\t'en-GB',\n\t'en-IN',\n\t'en-IE',\n\t'es',\n\t'et',\n\t'fi',\n\t'fr-CA',\n\t'fr',\n\t'he',\n\t'hu',\n\t'it',\n\t'ja',\n\t'ko',\n\t'nn',\n\t'pl',\n\t'pt-BR',\n\t'pt',\n\t'ru',\n\t'sv',\n\t'th',\n\t'tr',\n\t'zh-CN',\n\t'zh-TW'\n]);\n\nexport const hasLocale = code => {\n\treturn lookup.has(code);\n};\n\nexport const getLocale = locale => {\n\tswitch (locale) {\n\t\tcase 'cs':\n\t\t\treturn cs;\n\t\tcase 'da':\n\t\t\treturn da;\n\t\tcase 'de':\n\t\t\treturn de;\n\t\tcase 'en-IN':\n\t\t\treturn enIN;\n\t\tcase 'en-IE':\n\t\t\treturn enIE;\n\t\tcase 'en':\n\t\tcase 'en-US':\n\t\t\treturn enUS;\n\t\tcase 'en-GB':\n\t\t\treturn enGB;\n\t\tcase 'es':\n\t\t\treturn es;\n\t\tcase 'et':\n\t\t\treturn et;\n\t\tcase 'fi':\n\t\t\treturn fi;\n\t\tcase 'fr-CA':\n\t\t\treturn frCA;\n\t\tcase 'fr':\n\t\t\treturn fr;\n\t\tcase 'he':\n\t\t\treturn he;\n\t\tcase 'hu':\n\t\t\treturn hu;\n\t\tcase 'it':\n\t\t\treturn it;\n\t\tcase 'ja':\n\t\t\treturn ja;\n\t\tcase 'ko':\n\t\t\treturn ko;\n\t\tcase 'nn':\n\t\t\treturn nn;\n\t\tcase 'pl':\n\t\t\treturn pl;\n\t\tcase 'pt-BR':\n\t\t\treturn ptBR;\n\t\tcase 'pt':\n\t\t\treturn pt;\n\t\tcase 'ru':\n\t\t\treturn ru;\n\t\tcase 'sv':\n\t\t\treturn sv;\n\t\tcase 'th':\n\t\t\treturn th;\n\t\tcase 'tr':\n\t\t\treturn tr;\n\t\tcase 'zh-CN':\n\t\t\treturn zhCN;\n\t\tcase 'zh-TW':\n\t\t\treturn zhTW;\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"assign\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'assign' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].assign;\n\t\t\t\t\t} else if ('assign' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.assign || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].assign;\n\t\t\t\t}, [\"camelCase\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'camelCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].camelCase;\n\t\t\t\t\t} else if ('camelCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.camelCase || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].camelCase;\n\t\t\t\t}, [\"chain\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'chain' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chain;\n\t\t\t\t\t} else if ('chain' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.chain || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chain;\n\t\t\t\t}, [\"chunk\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'chunk' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chunk;\n\t\t\t\t\t} else if ('chunk' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.chunk || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].chunk;\n\t\t\t\t}, [\"clamp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'clamp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clamp;\n\t\t\t\t\t} else if ('clamp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.clamp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clamp;\n\t\t\t\t}, [\"clone\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'clone' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clone;\n\t\t\t\t\t} else if ('clone' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.clone || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].clone;\n\t\t\t\t}, [\"cloneDeep\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t\t} else if ('cloneDeep' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.cloneDeep || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].cloneDeep;\n\t\t\t\t}, [\"compact\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'compact' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].compact;\n\t\t\t\t\t} else if ('compact' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.compact || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].compact;\n\t\t\t\t}, [\"curry\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'curry' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].curry;\n\t\t\t\t\t} else if ('curry' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.curry || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].curry;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"];\n\t\t\t\t}, [\"difference\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t\t} else if ('difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.difference || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t}, [\"each\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'each' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].each;\n\t\t\t\t\t} else if ('each' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.each || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].each;\n\t\t\t\t}, [\"escapeRegExp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'escapeRegExp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].escapeRegExp;\n\t\t\t\t\t} else if ('escapeRegExp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.escapeRegExp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].escapeRegExp;\n\t\t\t\t}, [\"extend\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'extend' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].extend;\n\t\t\t\t\t} else if ('extend' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.extend || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].extend;\n\t\t\t\t}, [\"filter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t\t} else if ('filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.filter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"findLast\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findLast' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findLast;\n\t\t\t\t\t} else if ('findLast' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findLast || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findLast;\n\t\t\t\t}, [\"first\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'first' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].first;\n\t\t\t\t\t} else if ('first' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.first || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].first;\n\t\t\t\t}, [\"flatten\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'flatten' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flatten;\n\t\t\t\t\t} else if ('flatten' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.flatten || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flatten;\n\t\t\t\t}, [\"flow\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'flow' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flow;\n\t\t\t\t\t} else if ('flow' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.flow || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].flow;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"identity\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'identity' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].identity;\n\t\t\t\t\t} else if ('identity' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.identity || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].identity;\n\t\t\t\t}, [\"inRange\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'inRange' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].inRange;\n\t\t\t\t\t} else if ('inRange' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.inRange || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].inRange;\n\t\t\t\t}, [\"includes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'includes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].includes;\n\t\t\t\t\t} else if ('includes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.includes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].includes;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isEqualWith\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqualWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqualWith;\n\t\t\t\t\t} else if ('isEqualWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqualWith || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqualWith;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t\t} else if ('isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t}, [\"isObject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t\t} else if ('isObject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isObject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isObject;\n\t\t\t\t}, [\"isString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t\t} else if ('isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t}, [\"isUndefined\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t\t} else if ('isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isUndefined || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t}, [\"keyBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'keyBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keyBy;\n\t\t\t\t\t} else if ('keyBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.keyBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keyBy;\n\t\t\t\t}, [\"keys\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t\t} else if ('keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.keys || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t}, [\"last\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'last' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].last;\n\t\t\t\t\t} else if ('last' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.last || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].last;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"mapValues\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t\t} else if ('mapValues' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.mapValues || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].mapValues;\n\t\t\t\t}, [\"max\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'max' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].max;\n\t\t\t\t\t} else if ('max' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.max || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].max;\n\t\t\t\t}, [\"memoize\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'memoize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].memoize;\n\t\t\t\t\t} else if ('memoize' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.memoize || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].memoize;\n\t\t\t\t}, [\"merge\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t\t} else if ('merge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.merge || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].merge;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"padStart\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'padStart' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].padStart;\n\t\t\t\t\t} else if ('padStart' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.padStart || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].padStart;\n\t\t\t\t}, [\"parseInt\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'parseInt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].parseInt;\n\t\t\t\t\t} else if ('parseInt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.parseInt || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].parseInt;\n\t\t\t\t}, [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t}, [\"pickBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pickBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pickBy;\n\t\t\t\t\t} else if ('pickBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pickBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pickBy;\n\t\t\t\t}, [\"range\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t\t} else if ('range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.range || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t}, [\"reduceRight\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduceRight' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduceRight;\n\t\t\t\t\t} else if ('reduceRight' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduceRight || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduceRight;\n\t\t\t\t}, [\"reject\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reject;\n\t\t\t\t\t} else if ('reject' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reject || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reject;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"size\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t\t} else if ('size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.size || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t}, [\"some\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t\t} else if ('some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.some || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t}, [\"tail\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'tail' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].tail;\n\t\t\t\t\t} else if ('tail' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.tail || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].tail;\n\t\t\t\t}, [\"toNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t\t} else if ('toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t}, [\"toString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toString;\n\t\t\t\t\t} else if ('toString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toString;\n\t\t\t\t}, [\"unescape\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'unescape' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].unescape;\n\t\t\t\t\t} else if ('unescape' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.unescape || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].unescape;\n\t\t\t\t}, [\"uniqBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t\t} else if ('uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t}, [\"values\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'values' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].values;\n\t\t\t\t\t} else if ('values' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.values || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].values;\n\t\t\t\t}, [\"without\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'without' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].without;\n\t\t\t\t\t} else if ('without' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.without || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].without;\n\t\t\t\t}, [\"xor\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'xor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].xor;\n\t\t\t\t\t} else if ('xor' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.xor || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].xor;\n\t\t\t\t} });","import _ from 'lodash';\nexport function escapeSeismicSpecialSymbols(s) {\n\treturn _.startsWith(s, '@') ? `\\\\${s}` : s;\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getEmbeddableBaseUrl\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__.__esModule\n\t\t\t\t\tif (cjsModule && 'getEmbeddableBaseUrl' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"].getEmbeddableBaseUrl;\n\t\t\t\t\t} else if ('getEmbeddableBaseUrl' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__.getEmbeddableBaseUrl || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_config_index_jsdbx_b8da8320__[\"default\"].getEmbeddableBaseUrl;\n\t\t\t\t} });","export const ADDRESS_SIMPLE = 'address_simple';\nexport const ANNOTATION = 'annotation';\nexport const AUTO_INCREMENT = 'auto_increment';\nexport const AUTO_NUMBER = 'auto_number';\nexport const BOOLEAN = 'boolean';\nexport const CHAR = 'char';\nexport const CHOICE = 'choice';\nexport const COMPOSITE_FIELD = 'composite_field';\nexport const CONDITIONS = 'conditions';\nexport const CSS = 'css';\nexport const CURRENCY = 'currency';\nexport const CURRENCY2 = 'currency2';\nexport const DATE = 'glide_date';\nexport const DATE_TIME = 'glide_date_time';\nexport const BASIC_DATE_TIME = 'datetime';\nexport const DAYS_OF_WEEK = 'days_of_week';\nexport const DECIMAL = 'decimal';\nexport const DOCUMENTATION_FIELD = 'documentation_field';\nexport const DOCUMENT_ID = 'document_id';\nexport const DOMAIN_ID = 'domain_id';\nexport const DOMAIN_PATH = 'domain_path';\nexport const DUE_DATE = 'due_date';\nexport const DURATION = 'glide_duration';\nexport const EMAIL = 'email';\nexport const ENCRYPTED_TEXT = 'glide_encrypted';\nexport const FIELD_LIST = 'field_list';\nexport const FIELD_LOOKUP = 'field_lookup';\nexport const FIELD_NAME = 'field_name';\nexport const FILE_ATTACHMENT = 'file_attachment';\nexport const FLOAT = 'float';\nexport const GLIDE_LIST = 'glide_list';\nexport const GUID = 'GUID';\nexport const HTML = 'html';\nexport const INPUT_GROUP = 'input_group';\nexport const INTEGER = 'integer';\nexport const INT = 'int';\nexport const LONG = 'long';\nexport const LONG_INT = 'longint';\nexport const INTEGER_DATE = 'integer_date';\nexport const INTEGER_TIME = 'integer_time';\nexport const IP_ADDR = 'ip_addr';\nexport const IP_ADDRESS = 'ip_address';\nexport const JOURNAL = 'journal_input';\nexport const JSON = 'json';\nexport const MULTI_TWO_LINES = 'multi_two_lines';\nexport const MULTI_SMALL = 'multi_small';\nexport const NAME_VALUE = 'simple_name_values';\nexport const OTHER_DATE = 'date';\nexport const PASSWORD = 'password';\nexport const PASSWORD2 = 'password2';\nexport const PERCENT_COMPLETE = 'percent_complete';\nexport const PHONE = 'ph_number';\nexport const PHONE_NUMBER = 'phone_number';\nexport const PHONE_NUMBER_E164 = 'phone_number_e164';\nexport const PRICE = 'price';\nexport const RADIO = 'radio';\nexport const REFERENCE = 'reference';\nexport const SCRIPT = 'script';\nexport const SCRIPT_PLAIN = 'script_plain';\nexport const SHORT_TABLE_NAME = 'short_table_name';\nexport const SLUSHBUCKET = 'slushbucket';\nexport const STRING = 'string';\nexport const STRING_FULL_UTF8 = 'string_full_utf8';\nexport const STRING_LONG = 'str_long';\nexport const STRING_SHORT = 'str_short';\nexport const TABLE_NAME = 'table_name';\nexport const TEMPLATE_VALUE = 'template_value';\nexport const TEXTAREA = 'textarea';\nexport const TIME = 'glide_time';\nexport const TIME_WORKED = 'timer';\nexport const TRANSLATED_FIELD = 'translated_field';\nexport const TRANSLATED_HTML = 'translated_html';\nexport const TRANSLATED_TEXT = 'translated_text';\nexport const URL = 'url';\nexport const USER_IMAGE = 'user_image';\nexport const UTC_TIME = 'glide_utc_time';\nexport const VERSION = 'version';\nexport const WIDE_TEXT = 'wide_text';\nexport const WIKI_TEXT = 'wiki_text';\nexport const WORKFLOW = 'workflow';\nexport const USER_ROLES = 'user_roles';\nexport const XML = 'xml';\nexport const CONDITION_STRING = 'condition_string';\nexport const ORDER_INDEX = 'order_index';\nexport const HTML_SCRIPT = 'html_script';\nexport const USER_INPUT = 'user_input';\nexport const RELATED_TAGS = 'related_tags';\nexport const EMAIL_SCRIPT = 'email_script';\n","import { t } from 'sn-translate';\nimport {\n\tDOCUMENT_ID,\n\tFIELD_NAME,\n\tPHONE,\n\tPHONE_NUMBER,\n\tPHONE_NUMBER_E164\n} from './FieldType';\n\nexport const FIELD_MESSAGE_TYPES = [\n\t'error',\n\t'warning',\n\t'success',\n\t'liveUpdate',\n\t'info',\n\t'suggestion',\n\t'positive',\n\t'critical'\n];\nexport const CALLBACK_AND_DISPATCH = 'CONTROLS_INTERNAL#CALLBACK_AND_DISPATCH';\nexport const CALLBACK_AND_DISPATCH_WITH_STATE =\n\t'CONTROLS_INTERNAL#CALLBACK_AND_DISPATCH_WITH_STATE';\nexport const NOW_INPUT = {\n\tVALUE_SET: 'NOW_INPUT#VALUE_SET',\n\tINVALID_SET: 'NOW_INPUT#INVALID_SET',\n\tINPUT: 'NOW_INPUT#INPUT'\n};\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\nexport const TRACK_RECOMMENDATION_CLICK =\n\t'Selected option from Recommendations section';\n\nexport const FIELD_RECOMMENDATION_INFORMATION =\n\t'Field Recommendation information';\nexport const NO_PREDICTIONS_AVAILABLE = t('No predictions available');\n\nexport const SUGGESTION_PREFIX = 'suggestion#';\nexport const CUSTOM_PILL_PREFIX = 'custom_pill#';\nexport const FIELD_BG_COLOR_UNSAVED = 'info';\nexport const FIELD_BG_COLOR_DEFAULT = 'initial';\nexport const IGNORED_HIGHLIGHTED_VALUE_FIELDS = [\n\tFIELD_NAME,\n\tPHONE,\n\tPHONE_NUMBER,\n\tPHONE_NUMBER_E164,\n\tDOCUMENT_ID\n];\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"createSlot\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createSlot' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createSlot;\n\t\t\t\t\t} else if ('createSlot' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createSlot || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createSlot;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"createPresentationalCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createPresentationalCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createPresentationalCustomElement;\n\t\t\t\t\t} else if ('createPresentationalCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createPresentationalCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createPresentationalCustomElement;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t}, [\"modifierTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t\t} else if ('modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.modifierTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t}, [\"nowPriorityLevels\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'nowPriorityLevels' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].nowPriorityLevels;\n\t\t\t\t\t} else if ('nowPriorityLevels' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.nowPriorityLevels || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].nowPriorityLevels;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {isEmpty} from \"lodash\";\nimport { t } from 'sn-translate';\nimport {createCustomElement, createPresentationalCustomElement} from \"@servicenow/ui-core\";\nimport '@servicenow/now-highlighted-value';\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-icon';\n\nimport style from \"@devsnc/sass-form-controls-common/_customLabel.scss\";\nimport {NOW_BUTTON_ICONIC_CLICKED, NOW_POPOVER_OPENED_SET, FIELD_RECOMMENDATION_INFORMATION} from \"../constants\";\nimport { fieldLayoutSchema } from \"../schemas\";\n\nexport const popoverDescription = ({properties}) => {\n\tconst { description, icon } = properties;\n\treturn (\n\t\t<div className=\"sn-custom-highlighted-label-popover spacing\">\n\t\t\t<div className=\"sn-custom-highlighted-label-popover-description\">\n\t\t\t\t<div>\n\t\t\t\t\t<now-icon icon={icon} size=\"sm\"><\/now-icon>\n\t\t\t\t<\/div>\n\t\t\t\t<div>\n\t\t\t\t\t{description}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div className=\"sn-custom-highlighted-label-popover-close\">\n\t\t\t\t<now-button-iconic icon=\"close-fill\" size=\"sm\" variant=\"tertiary\" bare=\"true\"><\/now-button-iconic>\n\t\t\t<\/div>\n\t\t<\/div>\n\t)\n}\n\ncreatePresentationalCustomElement('sn-highlighted-label-info', {\n\tview: popoverDescription,\n\tstyles: style,\n\tproperties: {\n\t\tdescription: { default: ''},\n\t\ticon: { default: ''}\n\t}\n})\n\nexport const customLabel = (state) => {\n\tconst {\n\t\topened,\n\t\tproperties: {\n\t\t\tcustomHighlightedLabel: {\n\t\t\t\tvalue: highlightedValueLabel,\n\t\t\t\tstatus,\n\t\t\t\tshowIcon,\n\t\t\t\tvariantName,\n\t\t\t\tcolorName,\n\t\t\t\ticonName,\n\t\t\t\tdescription\n\t\t\t},\n\t\t\tfieldLayout: {\n\t\t\t\tlayout = 'vertical'\n\t\t\t} = {}\n\t\t}\n\t} = state;\n\treturn (\n\t\t<div class={{\n\t\t\t'sn-custom-highlighted-label': true,\n\t\t\t['-' + layout]: layout\n\t\t}}>\n\t\t\t<now-highlighted-value\n\t\t\t\tlabel={highlightedValueLabel}\n\t\t\t\tcolor={colorName}\n\t\t\t\tshow-icon={showIcon}\n\t\t\t\tvariant={variantName}\n\t\t\t\ticon={showIcon ? iconName : null}\n\t\t\t\tstatus={!colorName ? status : null}\n\t\t\t><\/now-highlighted-value>\n\t\t\t{!isEmpty(description) && (\n\t\t\t\t<now-popover\n\t\t\t\t\tmanage-opened\n\t\t\t\t\topened={opened}\n\t\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\t\tconstrain={{width: 250, minHeight: 80, maxHeight: 200}}\n\t\t\t\t\tpositions={{ target: 'top-center', content: 'bottom-center' }}\n\t\t\t\t>\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tbutton: { 'aria-label': t(FIELD_RECOMMENDATION_INFORMATION) }\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\tsize=\"sm\">\n\t\t\t\t\t<\/now-button-iconic>\n\t\t\t\t\t<sn-highlighted-label-info slot=\"content\" description={description} icon={iconName} />\n\t\t\t\t<\/now-popover>\n\t\t\t)}\n\t\t<\/div>\n\t);\n}\n\ncreateCustomElement('sn-custom-highlighted-label', {\n\tview: customLabel,\n\tstyles: style,\n\tinitialState: {\n\t\topened: false\n\t},\n\tproperties: {\n\t\tcustomHighlightedLabel: { default: {} },\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ opened: false });\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\teffect: ({ action, updateState }) => {\n\t\t\t\tconst { value } = action.payload;\n\t\t\t\tupdateState({ opened: value });\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n})\n","import '@servicenow/now-highlighted-value';\nimport { isEmpty } from 'lodash';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport './renderCustomHighlightedLabel';\nexport const normalizeHighlightedValues = highlightedValues => {\n\tif (!highlightedValues) {\n\t\treturn [];\n\t}\n\tif (Array.isArray(highlightedValues)) {\n\t\tconst flattened = highlightedValues.flat();\n\t\treturn flattened.filter((hv, index) => {\n\t\t\treturn index === 0 || !isEmpty(hv);\n\t\t});\n\t} else if (typeof highlightedValues === 'object') {\n\t\treturn [highlightedValues];\n\t}\n};\n\nexport const renderHighlightedValue = (\n\thighlightedValue,\n\tfieldLayout = { layout: 'vertical' }\n) => {\n\tconst [defaultHighlightedValue, ...customHighlightedValues] =\n\t\tnormalizeHighlightedValues(highlightedValue);\n\tconst {\n\t\tvalue: highlightedValueLabel,\n\t\tstatus,\n\t\tshowIcon,\n\t\tvariantName,\n\t\tcolorName,\n\t\ticonName\n\t} = defaultHighlightedValue || {};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{!isEmpty(defaultHighlightedValue) && (\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tslot=\"label-end\"\n\t\t\t\t\tlabel={highlightedValueLabel}\n\t\t\t\t\tcolor={colorName}\n\t\t\t\t\tshow-icon={showIcon}\n\t\t\t\t\tvariant={variantName}\n\t\t\t\t\ticon={showIcon ? iconName : null}\n\t\t\t\t\tstatus={!colorName ? status : null}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'first-label-end':\n\t\t\t\t\t\t\tcustomHighlightedValues.length &&\n\t\t\t\t\t\t\tfieldLayout.layout === 'horizontal'\n\t\t\t\t\t}}\n\t\t\t\t><\/now-highlighted-value>\n\t\t\t)}\n\t\t\t{customHighlightedValues.map(hv => (\n\t\t\t\t<sn-custom-highlighted-label\n\t\t\t\t\tslot=\"label-end\"\n\t\t\t\t\tcustomHighlightedLabel={hv}\n\t\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\t/>\n\t\t\t))}\n\t\t<\/Fragment>\n\t);\n};\n","import {\n\tcamelCase,\n\tmap,\n\tmapValues,\n\trange,\n\tisObject,\n\tisEmpty,\n\tfind,\n\tpickBy,\n\tidentity,\n\tomit,\n\tget,\n\tisNil\n} from 'lodash';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\nimport { getEmbeddableBaseUrl } from '@servicenow/ui-config';\nimport {\n\tFIELD_BG_COLOR_UNSAVED,\n\tFIELD_BG_COLOR_DEFAULT,\n\tIGNORED_HIGHLIGHTED_VALUE_FIELDS\n} from '../constants';\nimport { normalizeHighlightedValues } from './renderHighlightedLabel';\n\nexport function getFieldDisplayValue(\n\tvalue,\n\tdisplayValue,\n\tplaceholder,\n\tchoices\n) {\n\tif (displayValue) {\n\t\treturn displayValue;\n\t} else if (value && choices) {\n\t\tlet choice = find(choices, { value });\n\t\tif (choice && choice.displayValue) return choice.displayValue;\n\t} else if (!value && placeholder) {\n\t\treturn placeholder;\n\t}\n\n\treturn value || '';\n}\n\nexport function isAttrTrue(val) {\n\treturn val === true || val === 'true';\n}\n\nexport function isAttrFalse(val) {\n\treturn val === false || val === 'false';\n}\n\nexport function castIfBoolean(val) {\n\treturn val === 'true' ? true : val === 'false' ? false : val;\n}\n\nexport function isEditable(props) {\n\tif (!isObject(props)) {\n\t\treturn true;\n\t}\n\n\treturn !isAttrTrue(props.readonly);\n}\n\nexport function getSerializedChanges(props) {\n\tconst { dependentField, dependentValue } = props;\n\tconst serializedChanges = get(props, 'formData.serializedChanges');\n\ttry {\n\t\tconst changedFields = JSON.parse(serializedChanges);\n\t\tlet changes = changedFields.reduce((changes, field) => {\n\t\t\tchanges[field.name] = field.value;\n\t\t\treturn changes;\n\t\t}, {});\n\t\tif (dependentField && dependentValue) {\n\t\t\t//Dont overwrite formData, it should take precedence over d-Field & d-Value\n\t\t\tchanges[dependentField] = changes[dependentField]\n\t\t\t\t? changes[dependentField]\n\t\t\t\t: dependentValue;\n\t\t}\n\t\treturn JSON.stringify(changes);\n\t} catch (e) {\n\t\treturn '';\n\t}\n}\n\nexport function getEncodedRecord(formData = {}) {\n\treturn formData.encodedRecord || '';\n}\n\nexport function isClassicForm(formData = {}) {\n\tif (!Object.prototype.hasOwnProperty.call(formData, 'classicForm'))\n\t\treturn true;\n\treturn formData.classicForm || false;\n}\n\nexport function generateSubComponentIds(baseId, additionalFields) {\n\treturn {\n\t\tparent: baseId,\n\t\tlabel: `${baseId}-label`,\n\t\tdescription: `${baseId}-description`,\n\t\tdropdown: `${baseId}-dropdown`,\n\t\tmessages: `${baseId}-messages`,\n\t\t...mapValues(additionalFields, (size, fieldName) =>\n\t\t\tmap(range(0, size), index => `${baseId}-${fieldName}-${index}`)\n\t\t)\n\t};\n}\n\nexport function hasProp(prop) {\n\treturn isAttrTrue(prop) ? true : undefined;\n}\n\nconst getAriaAttr = props => attr => {\n\tconst camelCased = camelCase(attr);\n\n\tconst { configAria = {} } = props;\n\n\treturn configAria[attr] || props[camelCased];\n};\n\nexport function accessibilityAttributes(props) {\n\tif (!isObject(props)) {\n\t\treturn {};\n\t}\n\n\tconst ids = generateSubComponentIds(props.componentId);\n\tconst defaultDescribedby = classNames({\n\t\t[ids.description]: props.description,\n\t\t[ids.messages]: !isEmpty(props.messages)\n\t});\n\n\tconst resolveAriaAttr = getAriaAttr(props);\n\n\tconst propAriaLabel = resolveAriaAttr('aria-label');\n\tconst propAriaLabelledby = resolveAriaAttr('aria-labelledby');\n\tconst propAriaDescribedby = resolveAriaAttr('aria-describedby');\n\tconst propAriaDisabled = resolveAriaAttr('aria-disabled');\n\tconst propAriaHidden = resolveAriaAttr('aria-hidden');\n\tconst propAriaRequired = resolveAriaAttr('aria-required');\n\tconst propAriaInvalid = resolveAriaAttr('aria-invalid');\n\n\tconst restOfAriaProps = mapValues(\n\t\tomit(props.configAria, ['aria-label', 'aria-labelledby', 'aria-label']),\n\t\t(v, k) => resolveAriaAttr(k)\n\t);\n\n\treturn pickBy(\n\t\t{\n\t\t\t'aria-labelledby': propAriaLabel ? null : propAriaLabelledby,\n\t\t\t'aria-describedby': propAriaDescribedby || defaultDescribedby,\n\t\t\t'aria-label': propAriaLabel,\n\t\t\t'aria-disabled':\n\t\t\t\tpropAriaDisabled || isAttrTrue(props.disabled) ? 'true' : null,\n\t\t\t'aria-hidden': propAriaHidden || isAttrTrue(props.hide) ? 'true' : null,\n\t\t\t'aria-required':\n\t\t\t\tpropAriaRequired || isAttrTrue(props.required) ? 'true' : null,\n\t\t\t'aria-invalid':\n\t\t\t\tpropAriaInvalid || isAttrTrue(props.invalid) ? 'true' : null,\n\t\t\t...restOfAriaProps\n\t\t},\n\t\tidentity\n\t);\n}\n\nexport function isFieldEditableAndDependentFieldValueSet(\n\treadonly,\n\tdependentFieldValue,\n\tdependentFieldLabel\n) {\n\treturn (\n\t\t!isAttrTrue(readonly) &&\n\t\tisEmpty(dependentFieldValue) &&\n\t\t!isEmpty(dependentFieldLabel)\n\t);\n}\n\nexport function getBaseURL() {\n\treturn getEmbeddableBaseUrl() || '';\n}\n\nexport function getAriaLabelFromConfig(\n\tconfigAria,\n\tlabelTemplate,\n\t...additionalTemplateValues\n) {\n\treturn configAria?.['aria-label']\n\t\t? {\n\t\t\t\t'aria-label': t.apply(null, [\n\t\t\t\t\tlabelTemplate,\n\t\t\t\t\tconfigAria['aria-label'],\n\t\t\t\t\t...additionalTemplateValues\n\t\t\t\t])\n\t\t\t}\n\t\t: {};\n}\n\nexport const hasErrorMessage = messages => {\n\tif (!Array.isArray(messages)) {\n\t\treturn false;\n\t}\n\treturn messages.some(message => message.type === 'error');\n};\n\n/**\n * Checks if a value has been modified compared to its original value\n * @param {any} originalValue - The original value to compare against\n * @param {any} newValue - The new value to compare\n * @returns {boolean} - Returns true if the value was modified\n */\nexport const isModified = function (\n\toriginalValue,\n\tnewValue,\n\tisBoolean = false\n) {\n\tif (isBoolean) {\n\t\treturn isAttrTrue(originalValue) !== isAttrTrue(newValue);\n\t}\n\t// Convert true values to empty strings for comparison\n\tconst parsedValue = newValue === true ? '' : newValue;\n\tconst parsedOriginalValue = originalValue === true ? '' : originalValue;\n\n\treturn isNil(parsedOriginalValue)\n\t\t? !isNil(parsedValue)\n\t\t: parsedOriginalValue !== parsedValue;\n};\n\nexport function shouldShowUnsavedIndicator(properties) {\n\tconst originalValue = properties.originalValue;\n\tconst newValue = !isNil(properties.initialValue)\n\t\t? properties.initialValue\n\t\t: properties.value;\n\tconst isUnsavedIndicatorEnabled =\n\t\tproperties?.formData?.enableUnsavedFieldIndicator || false;\n\n\tconst isBoolean = properties.fieldType === 'boolean';\n\n\treturn (\n\t\tisUnsavedIndicatorEnabled && isModified(originalValue, newValue, isBoolean)\n\t);\n}\nexport const isDirty = properties => {\n\tconst originalValue = properties.originalValue;\n\tconst newValue = !isNil(properties.initialValue)\n\t\t? properties.initialValue\n\t\t: properties.value;\n\tconst isBoolean = properties.fieldType === 'boolean';\n\treturn isModified(originalValue, newValue, isBoolean);\n};\n\nexport function getFieldBackgroundColor(showUnsavedIndicator, properties) {\n\tconst {\n\t\tinvalid,\n\t\tfieldType,\n\t\tcolor,\n\t\tformData = {},\n\t\thighlightedValue = {}\n\t} = properties ?? {};\n\n\tconst { isReferredByTemplateField, enableBgColorForUnsavedFieldIndicator } =\n\t\tformData;\n\tconst { colorName, isBackgroundColorEnabled } =\n\t\tnormalizeHighlightedValues(highlightedValue)?.[0] || {};\n\n\tif (invalid) return FIELD_BG_COLOR_DEFAULT;\n\tif (isReferredByTemplateField) return color || FIELD_BG_COLOR_DEFAULT;\n\n\tif (showUnsavedIndicator && enableBgColorForUnsavedFieldIndicator)\n\t\treturn FIELD_BG_COLOR_UNSAVED;\n\n\tif (\n\t\tcolorName &&\n\t\tisBackgroundColorEnabled &&\n\t\t!IGNORED_HIGHLIGHTED_VALUE_FIELDS.includes(fieldType)\n\t) {\n\t\treturn colorName;\n\t}\n\n\treturn FIELD_BG_COLOR_DEFAULT;\n}\n","import { escapeSeismicSpecialSymbols } from './escapeSeismicSpecialSymbols';\nimport { getSerializedChanges, getEncodedRecord } from './field';\n\nexport const getDeclarativeActionsProps = (daProps, controlProps = {}) => {\n\tlet props = daProps;\n\tif (controlProps && props) {\n\t\tObject.assign(props, controlProps);\n\t}\n\tif (!props) return {};\n\n\tconst displayValue = props.displayValue || '';\n\n\tconst daOnlyProps = {\n\t\tcanWrite: props.canWrite,\n\t\tdeclarativeUiActions: props.declarativeUiActions,\n\t\tdependentField: props.dependentField,\n\t\tdependentTable: props.dependentTable,\n\t\tdependentValue: props.dependentFieldValue || props.dependentValue,\n\t\tdictionary: props.dictionary,\n\t\tdisplayValue: escapeSeismicSpecialSymbols(displayValue.toString()),\n\t\tdisplayValueList: Array.isArray(displayValue) ? displayValue : null,\n\t\tfetchDeclarativeActions: props.fetchDeclarativeActions,\n\t\tfieldName: props.name,\n\t\tfieldType: props.fieldType,\n\t\tfields: props.fields,\n\t\thidden: props.hidden,\n\t\tlabel: props.label,\n\t\tname: props.name,\n\t\tonValueChange: props.onValueChange,\n\t\treadonly: props.readonly,\n\t\treference: props.reference,\n\t\treferenceKey: props.referenceKey,\n\t\treferenceSysId: props.referenceSysId || props.value,\n\t\treferenceTable: props.reference || props.referenceTable,\n\t\treferringRecordId: props.referringRecordId,\n\t\treferringTable: props.referringTable,\n\t\trequired: props.required,\n\t\ttableName: props.referringTable || props.tableName,\n\t\tvalue: props.value,\n\t\tvisible: props.visible,\n\t\treferenceQualifier: props.referenceQualifier,\n\t\trecordSysId: controlProps?.formData?.isNewRecord\n\t\t\t? '-1'\n\t\t\t: props.referringRecordId || props.recordSysId,\n\t\tserializedChanges: getSerializedChanges(props),\n\t\tencodedRecord: getEncodedRecord(controlProps.formData),\n\t\tignoreDepAsRefQual: daProps?.ignoreDepAsRefQual || false,\n\t\tignoreReferenceQualifier: daProps?.ignoreReferenceQualifier || false\n\t};\n\n\treturn daOnlyProps;\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"][\"default\"];\n\t\t\t\t}, [\"getFocusableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"].getFocusableNodes;\n\t\t\t\t\t} else if ('getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__.getFocusableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_29_5_1_index_jsdbx_e8af9b7c__[\"default\"].getFocusableNodes;\n\t\t\t\t} });","import { isEmpty, isFunction, some } from 'lodash';\nimport { getFocusableNodes } from '@servicenow/behavior-focus';\nimport { JOURNAL } from '../FieldType'; // importing from ../index.js causes circular dependency\n\n/*\n * Inserts content at the cursor position of the specified field inside the parentElement.\n * This is a one for all wrapper util function which supports inserting content into field types using\n * sn-record-input-connected and now-record-html-editor components only. We are internally\n * using dom manipulation to insert content at the cursor position. Hence this is very susceptible\n * to break if there are any changes to the internal structure of these components.\n *\n * TODO: When NDS provides a public API to do this, we should reuse their APIs here instead\n * of manually doing DOM manipulation.\n *\n * Every field in ServiceNow has a column name. This is passed as fieldName parameter.\n *\n * The parentElement is the element containing the field. Ensure that the parentElement does not have\n * multiple child elements with the same name attribute. If otherwise, then please pass the controls\n * component directly with the elementIsComponent parameter as true.\n *\n * @param {string} content - The content to insert.\n * @param {HTMLElement} parentElement - The parent element containing the field.\n * @param {string} fieldName - The name of the field to insert content into.\n * @param {boolean} elementIsComponent - Whether the parentElement is the component itself.\n */\nexport const insertContent = (\n\tcontent,\n\tparentElement,\n\tfieldName,\n\telementIsComponent = false\n) => {\n\tif (parentElement) {\n\t\tlet fieldComponent = parentElement.querySelector?.(\n\t\t\t`*[name=\"${fieldName}\"]`\n\t\t);\n\t\tif (!fieldComponent) {\n\t\t\tif (elementIsComponent) fieldComponent = parentElement;\n\t\t\telse return;\n\t\t}\n\t\tconst fieldComponentName = fieldComponent.tagName?.toLowerCase();\n\t\tconst { type, fieldType, nowId } = fieldComponent.getProperties?.() || {};\n\t\tif (fieldComponentName === 'sn-record-input-connected') {\n\t\t\tlet textField;\n\t\t\tif (type === 'textarea') {\n\t\t\t\tif (fieldType === JOURNAL)\n\t\t\t\t\ttextField = fieldComponent.shadowRoot\n\t\t\t\t\t\t?.querySelector('sn-record-journal-input')\n\t\t\t\t\t\t?.shadowRoot?.querySelector('now-textarea')\n\t\t\t\t\t\t?.shadowRoot?.querySelector('textarea');\n\t\t\t\telse\n\t\t\t\t\ttextField = fieldComponent.shadowRoot\n\t\t\t\t\t\t?.querySelector('now-textarea')\n\t\t\t\t\t\t?.shadowRoot?.querySelector('textarea');\n\t\t\t} else {\n\t\t\t\ttextField = fieldComponent.shadowRoot\n\t\t\t\t\t?.querySelector('now-input')\n\t\t\t\t\t?.shadowRoot?.querySelector('input');\n\t\t\t}\n\t\t\tif (textField) {\n\t\t\t\ttextField.focus();\n\t\t\t\tconst startPos = textField.selectionStart;\n\t\t\t\tconst endPos = textField.selectionEnd;\n\t\t\t\ttextField.value =\n\t\t\t\t\ttextField.value.substring(0, startPos) +\n\t\t\t\t\tcontent +\n\t\t\t\t\ttextField.value.substring(endPos, textField.value.length);\n\t\t\t\ttextField.dispatchEvent(new Event('input', { bubbles: true }));\n\t\t\t\ttextField.selectionStart = startPos + content.length;\n\t\t\t\ttextField.selectionEnd = startPos + content.length;\n\t\t\t\ttextField.dispatchEvent(new Event('select', { bubbles: true }));\n\t\t\t}\n\t\t} else if (fieldComponentName === 'now-record-html-editor') {\n\t\t\tconst htmlEditorId = nowId;\n\t\t\tif (htmlEditorId) {\n\t\t\t\twindow.tinymce\n\t\t\t\t\t.get(`html-${htmlEditorId}`)\n\t\t\t\t\t.execCommand('mceInsertContent', false, content);\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Returns the first ancestor of the element that has the given class name\n */\nexport function findAncestor(el, className) {\n\tif (!(el instanceof HTMLElement)) {\n\t\treturn null;\n\t}\n\n\tif (!el.classList.contains(className)) {\n\t\twhile ((el = el.parentElement) && !el.classList.contains(className));\n\t}\n\treturn el;\n}\n\n/**\n * Check whether a node was part of an event path\n * @returns {boolean} true if the event path includes the node\n */\nexport function isNodeInEventPath(node, event) {\n\tif (Array.isArray(node))\n\t\treturn some(node, el => isNodeInEventPath(el, event));\n\treturn (\n\t\tnode instanceof HTMLElement &&\n\t\tevent instanceof Event &&\n\t\tevent.composedPath().includes(node)\n\t);\n}\n\n/**\n * Check whether a node contains an element with focus. ShadowDOM\n * makes this a little tricky...\n */\nexport function nodeContainsFocus(container, target = document) {\n\tif (Array.isArray(container)) {\n\t\treturn some(container, el => nodeContainsFocus(el, target));\n\t}\n\n\tif (!(container instanceof HTMLElement) || !target) {\n\t\treturn false;\n\t}\n\n\tconst activeElement = target.activeElement;\n\n\tif (container.contains(activeElement)) {\n\t\treturn true;\n\t}\n\n\tif (activeElement.shadowRoot) {\n\t\treturn nodeContainsFocus(container, activeElement.shadowRoot);\n\t}\n}\n\nexport const isSlotEmpty = slot => {\n\tconst hasNoDirectChildren = slot.childElementCount === 0;\n\n\treturn isFunction(slot.assignedNodes)\n\t\t? isEmpty(slot.assignedNodes()) && hasNoDirectChildren\n\t\t: hasNoDirectChildren;\n};\n\nexport function getScrollParent(node) {\n\tconst isElement = node instanceof HTMLElement;\n\tconst overflowY = isElement && window.getComputedStyle(node).overflowY;\n\tconst isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';\n\n\tif (!node) {\n\t\treturn null;\n\t} else if (isScrollable && node.scrollHeight >= node.clientHeight) {\n\t\treturn node;\n\t}\n\n\treturn getScrollParent(node.host || node.parentNode);\n}\n\nexport function fitDropdownToViewport(dropdown, target) {\n\tif (!(dropdown instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\tlet parentHeight = document.documentElement.clientHeight;\n\n\t// In IE/Edge, the container height is the entire page height.\n\t// So defer it until it gets its real height\n\treturn new Promise(resolve => {\n\t\tsetTimeout(() => {\n\t\t\tlet { height } = dropdown.getBoundingClientRect();\n\t\t\t// Sometimes we use graphql requests and that changes the height of the\n\t\t\t// dropdown this is to attempt to account for the size chagne\n\t\t\tconst MAX_DROPDOWN_HEIGHT = Math.min(height, 300);\n\t\t\tlet {\n\t\t\t\twidth: targetWidth,\n\t\t\t\ttop: targetTop,\n\t\t\t\tbottom: targetBottom,\n\t\t\t\tleft: targetLeft\n\t\t\t} = target.getBoundingClientRect();\n\n\t\t\t// Is bottom of the dropdown below the fold + can the dropdown fit above?\n\t\t\t// Move to be above the input field.\n\t\t\tconst hasSpaceBelow = targetBottom + MAX_DROPDOWN_HEIGHT < parentHeight;\n\t\t\tconst hasSpaceAbove = targetTop - MAX_DROPDOWN_HEIGHT > 0;\n\t\t\t//render above\n\t\t\tif (!hasSpaceBelow && hasSpaceAbove) {\n\t\t\t\t// Since height of the dropdown may change as results load,\n\t\t\t\t// set the bottom of the dropdown to ensure it loads above the input field\n\t\t\t\tdropdown.style.bottom = `${parentHeight - targetTop}px`;\n\t\t\t} else {\n\t\t\t\tdropdown.style.top = `${targetBottom}px`;\n\t\t\t}\n\n\t\t\tdropdown.style.width = `${targetWidth}px`;\n\t\t\tdropdown.style.left = `${targetLeft}px`;\n\n\t\t\tresolve();\n\t\t});\n\t});\n}\n\n// Workaround for PRB1343271 for mentions dropdown\nexport function fitDropdownToViewportOld(dropdown) {\n\tif (!(dropdown instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\t// Check if the element is in a scrollable container, otherwise use body\n\tconst scrollParent = getScrollParent(dropdown);\n\tlet parentHeight = document.documentElement.clientHeight;\n\tif (scrollParent) parentHeight = scrollParent.getBoundingClientRect().height;\n\n\t// In IE/Edge, the container height is the entire page height.\n\t// So defer it until it gets its real height\n\treturn new Promise(resolve => {\n\t\tsetTimeout(() => {\n\t\t\tlet { height, top } = dropdown.getBoundingClientRect();\n\t\t\tif (scrollParent) top = top - scrollParent.getBoundingClientRect().top;\n\n\t\t\t// Is bottom of the dropdown below the fold + can the dropdown fit above?\n\t\t\t// Move to be above the input field.\n\t\t\tif (height > parentHeight - top && top > height) {\n\t\t\t\tdropdown.style.top = 'auto';\n\t\t\t\tdropdown.style.bottom = '100%';\n\t\t\t}\n\n\t\t\tresolve();\n\t\t});\n\t});\n}\n\n/**\n * Can be used to determine the direction of the browser window\n * and then for components rendering direction\n * @returns {boolean}\n */\nexport function isRTL() {\n\treturn document.dir === 'rtl';\n}\n\n/**\n * Checks whether a node contains an element with selector inside a Shadow Dom\n * and then returns the element\n * @returns {HTMLElement}\n */\nexport const querySelectorDeep = (selector, rootEl = window.document.body) => {\n\tif (rootEl.matches && rootEl.matches(selector)) return rootEl;\n\n\tconst children = rootEl.children;\n\n\tif (children) {\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tif (children[i].matches && children[i].matches(selector))\n\t\t\t\treturn children[i];\n\n\t\t\tconst child = querySelectorDeep(selector, children[i]);\n\t\t\tif (child) return child;\n\t\t}\n\t}\n\n\tif (rootEl.shadowRoot) return querySelectorDeep(selector, rootEl.shadowRoot);\n\n\treturn null;\n};\n\n/**\n * Focuses on the field when multiple focussable elements are present in the host\n */\nexport const fieldFocusHandler =\n\t(tagName = 'INPUT') =>\n\thost => {\n\t\tconst { tabbableNodes = [] } = getFocusableNodes(host);\n\t\tconst nativeInputNode = tabbableNodes.filter(\n\t\t\tnode => node.tagName === tagName\n\t\t);\n\t\tif (nativeInputNode.length) {\n\t\t\tnativeInputNode[0].focus();\n\t\t}\n\t};\n","/**\n * Cycles the elements in an array\n *\n * e.g.:\n * cycle([0, 1, 2, 3], 2) => [2, 3, 0, 1]\n */\nexport function cycle(array, n) {\n\tif (!Array.isArray(array)) {\n\t\treturn [];\n\t}\n\n\tif (n === 0 || n === array.length) {\n\t\treturn array;\n\t}\n\n\tconst startingPoint = -n % array.length;\n\n\treturn array.slice(startingPoint).concat(array.slice(0, startingPoint));\n}\n\n/**\n * Real modulo operation `%` is just a remainder operator\n * and does weird things with negative values\n */\nexport function mod(n, m) {\n\treturn ((n % m) + m) % m;\n}\n","/*\nMostly a copy from `dev/emotive-design-system` repo\nemotive-design-system/ui/dropdown/src/outside-scroll.js we should come\nup with a way to share.\n*/\nconst hostToScrollData = new WeakMap();\n\n/**\n * Cleans up all scroll listeners created for the given host element.\n * @param {HTMLElement} host\n */\nexport const removeOutsideScrollListener = host => {\n\tif (hostToScrollData.has(host)) {\n\t\tconst { listener, targets } = hostToScrollData.get(host);\n\t\tfor (let target of targets) {\n\t\t\ttarget.shadowRoot.removeEventListener('scroll', listener, true);\n\t\t}\n\t\twindow.removeEventListener('scroll', listener, true);\n\t\thostToScrollData.delete(host);\n\t}\n};\n\n\n/**\n * Attaches a listener to the window, then fires a fake event from the given element\n * to identify all ancestor elements in the element's DOM tree. More efficient than\n * climbing the tree recursively.\n * @param {HTMLElement} element\n * @param {string} uuid\n */\nconst findAncestors = (element, uuid) =>\n\tnew Promise(resolve => {\n\t\tconst eventName = `findAncestors-${uuid}`;\n\t\tconst findListener = e => {\n\t\t\twindow.removeEventListener(eventName, findListener);\n\t\t\tconst path = e.composedPath ? e.composedPath() : e.path;\n\t\t\tresolve([\n\t\t\t\t...path.filter(n => n !== element && n.nodeType === Node.ELEMENT_NODE),\n\t\t\t\tdocument,\n\t\t\t\twindow\n\t\t\t]);\n\t\t};\n\t\twindow.addEventListener(eventName, findListener);\n\t\tconst event = new CustomEvent(eventName, {\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t\tcancelable: false\n\t\t});\n\t\telement.dispatchEvent(event);\n\t});\n\n/**\n * Attaches scroll listeners to the document, the window, and all ancestor elements\n * of the given host element that have shadow roots (because scroll events do not automatically\n * bubble through shadow boundaries). When any of the scroll listeners are fired, triggers\n * the callback function.\n * @param {HTMLElement} host\n * @param {string} componentId\n * @param {function} callback\n */\nexport const addOutsideScrollListener = async (host, callback) => {\n\tconst componentId = host.getAttribute('component-id');\n\tconst ancestors = await findAncestors(host, componentId);\n\tconst targets = ancestors.filter(el => !!el.shadowRoot);\n\tlet handled = false;\n\tconst listener = e => {\n\t\tif (handled) {\n\t\t\treturn;\n\t\t}\n\t\tconst [source] = e.composedPath ? e.composedPath() : e.path;\n\t\tif (ancestors.indexOf(source) > -1) {\n\t\t\thandled = true;\n\t\t\tremoveOutsideScrollListener(host);\n\t\t\tif (callback && typeof callback === 'function') {\n\t\t\t\tcallback(e);\n\t\t\t}\n\t\t}\n\t};\n\tfor (let target of targets) {\n\t\ttarget.shadowRoot.addEventListener('scroll', listener, true);\n\t}\n\twindow.addEventListener('scroll', listener, true);\n\thostToScrollData.set(host, { listener, targets });\n};","/**\n * Return the direction of selection if the SHIFT key is used\n * @param {string} key The pressed key identifier.\n * @param {boolean} shift Boolean that indicates wheter or not shift was held.\n * @param {string} shiftDirection current state of shift direction\n */\nfunction getShiftDirection(key, shift, shiftDirection) {\n\t// If the shift button is being used...\n\tif (shift) {\n\t\t// ...and we have do not have a direction already set, set the direction\n\t\tif (shiftDirection === '') {\n\t\t\treturn key;\n\n\t\t\t// ...otherwise return the currently set direction\n\t\t} else {\n\t\t\treturn shiftDirection;\n\t\t}\n\n\t\t// ...otherwise set the direction state to blank.\n\t} else {\n\t\treturn '';\n\t}\n}\n\n/**\n * Return a list of indexes for selected items from keyboard arrow key inputs.\n * @param {string} key The pressed key identifier.\n * @param {boolean} shift Boolean that indicates wheter or not shift was held.\n * @param {string} shiftDirection Parameter for the shift direction.\n * @param {array} selectedItems The array of currently selected item indexes.\n * @param {integer} numberOfItems Total number of items available.\n * @return {array} Mutated selectedItems array.\n */\nfunction getSelectedItems(\n\tkey,\n\tshift,\n\tshiftDirection,\n\tselectedItems,\n\tnumberOfItems\n) {\n\tswitch (key) {\n\t\tcase 'ArrowUp':\n\t\t\treturn getForwardListSelection(\n\t\t\t\tfalse,\n\t\t\t\tnumberOfItems,\n\t\t\t\tselectedItems,\n\t\t\t\tshift,\n\t\t\t\tshiftDirection != 'ArrowDown',\n\t\t\t\tfalse\n\t\t\t);\n\n\t\tcase 'ArrowDown':\n\t\t\treturn getForwardListSelection(\n\t\t\t\ttrue,\n\t\t\t\tnumberOfItems,\n\t\t\t\tselectedItems,\n\t\t\t\tshift,\n\t\t\t\tshiftDirection != 'ArrowUp',\n\t\t\t\tfalse\n\t\t\t);\n\n\t\tcase 'ArrowLeft':\n\t\t\treturn getReverseListSelection(\n\t\t\t\ttrue,\n\t\t\t\tnumberOfItems,\n\t\t\t\tselectedItems,\n\t\t\t\tshift,\n\t\t\t\tshiftDirection != 'ArrowRight',\n\t\t\t\tfalse\n\t\t\t);\n\n\t\tcase 'ArrowRight':\n\t\t\treturn getReverseListSelection(\n\t\t\t\tfalse,\n\t\t\t\tnumberOfItems,\n\t\t\t\tselectedItems,\n\t\t\t\tshift,\n\t\t\t\tshiftDirection != 'ArrowLeft',\n\t\t\t\ttrue\n\t\t\t);\n\n\t\tdefault:\n\t\t\treturn [];\n\t}\n}\n\n/**\n * Generic utility for selecting items in a list going from the beginning\n * @param {boolean} isForward flag if we are traversing the list forward or back.\n * @param {number} numberOfItems total amount of items in the list we are traversing.\n * @param {array} currentlySelectedIndexes The array of currently selected item indexes.\n * @param {boolean} isAccumulating flag if we are accumulating indexes or replacing them.\n * @param {boolean} isAccumulativeDirection flag if we are accumulating in the same direction as when started.\n * @param {boolean} allowNoSelection flag to allow clearing selection\n * @return {array} new array of selected indexes.\n */\nfunction getForwardListSelection(\n\tisForward,\n\tnumberOfItems,\n\tcurrentlySelectedIndexes,\n\tisAccumulating,\n\tisAccumulativeDirection,\n\tallowNoSelection\n) {\n\tlet numberSelected = currentlySelectedIndexes.length,\n\t\tfirstItem = currentlySelectedIndexes[0],\n\t\tlastItem = currentlySelectedIndexes[currentlySelectedIndexes.length - 1],\n\t\tselectedItems = currentlySelectedIndexes.slice(0); // clone the array so we're not mutating anything.\n\n\tif (numberOfItems <= 0) {\n\t\treturn [-1];\n\t}\n\t// If we are moving down the list...\n\tif (isForward) {\n\t\t// ...and nothing had been selected, return the first item\n\t\tif (numberSelected == 0) {\n\t\t\treturn [0];\n\t\t} else {\n\t\t\t// ...otherwise there is something has been selected...\n\t\t\t// ...and the list is not accumulating...\n\t\t\tif (!isAccumulating) {\n\t\t\t\t// ... and we're not on the last item already, select the next item\n\t\t\t\tif (lastItem != numberOfItems - 1) return [lastItem + 1];\n\t\t\t\telse {\n\t\t\t\t\t// ... otherwise if we already do have the last item selected\n\t\t\t\t\t// ...and we allow clearing selection, then we return an empty selection\n\t\t\t\t\tif (allowNoSelection) return [];\n\t\t\t\t\t// ...otherwise we return the last item\n\t\t\t\t\telse return [lastItem];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// ...or the list is accumulating...\n\t\t\t\t//...and I'm moving in the same direction as when I started\n\t\t\t\tif (isAccumulativeDirection) {\n\t\t\t\t\t//...and we're have not selected the last item, append next item to my selected list\n\t\t\t\t\tif (lastItem != numberOfItems - 1) selectedItems.push(lastItem + 1);\n\n\t\t\t\t\t// ...otherwise if we aren't moving in the same direction, but we have multiple items selected, remove an item\n\t\t\t\t} else if (numberSelected > 1) {\n\t\t\t\t\tselectedItems.shift();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//...\n\t} else {\n\t\t// If we are moving up the list...\n\t\t// ...and there items in the list...\n\t\tif (numberSelected > 0) {\n\t\t\t// ...and the list is not accumulating...\n\t\t\tif (!isAccumulating) {\n\t\t\t\t// ...and we've already selected the first item\n\n\t\t\t\tif (firstItem === 0) {\n\t\t\t\t\t// ...and we allow clearing selection, then we return an empty selection\n\t\t\t\t\tif (allowNoSelection) return [];\n\t\t\t\t\t// ...otherwise we return the first item\n\t\t\t\t\telse return [firstItem];\n\t\t\t\t} else {\n\t\t\t\t\tif (firstItem < 0)\n\t\t\t\t\t\t// if the first item is already -1 return it\n\t\t\t\t\t\treturn [firstItem];\n\t\t\t\t\t// ...otherwise return the previous item\n\t\t\t\t\telse return [firstItem - 1];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// ...otherwise if we are accumulating selections...\n\t\t\t\t// ...in the same direction as the current selection...\n\t\t\t\tif (isAccumulativeDirection) {\n\t\t\t\t\t// ...and the first item is not selected, add the previous item into the beginning of the selection\n\t\t\t\t\tif (firstItem !== 0) {\n\t\t\t\t\t\tselectedItems.unshift(firstItem - 1);\n\t\t\t\t\t}\n\t\t\t\t} else if (numberSelected > 1) {\n\t\t\t\t\t// ...and we're not moving in the same direction, but have multiple items selected, remote the last index\n\t\t\t\t\tselectedItems.pop();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn selectedItems;\n}\n\n/**\n * Generic utility for selecting items in a list going from the end. Since the logic is the same, but the direction is opposite,\n * we can just reuse the getForwardListSelection logic, but just reversing the currentSelectionIndexes.\n * @param {boolean} isForward flag if we are traversing the list forward or back.\n * @param {number} numberOfItems total amount of items in the list we are traversing.\n * @param {array} currentlySelectedIndexes The array of currently selected item indexes.\n * @param {boolean} isAccumulating flag if we are accumulating indexes or replacing them.\n * @param {boolean} isAccumulativeDirection flag if we are accumulating in the same direction as when started.\n * @param {boolean} allowNoSelection flag to allow clearing selection\n * @return {array} new array of selected indexes.\n */\nfunction getReverseListSelection(\n\tisForward,\n\tnumberOfItems,\n\tcurrentlySelectedIndexes,\n\tisAccumulating,\n\tisAccumulativeDirection,\n\tallowNoSelection\n) {\n\t// Reverse the current indexes\n\tlet reversedSelection = reverseSelection(\n\t\tcurrentlySelectedIndexes,\n\t\tnumberOfItems\n\t);\n\n\t// Get the new selection list from getForwardListSelection\n\tlet reversedList = getForwardListSelection(\n\t\tisForward,\n\t\tnumberOfItems,\n\t\treversedSelection,\n\t\tisAccumulating,\n\t\tisAccumulativeDirection,\n\t\tallowNoSelection\n\t);\n\n\t// Reverse the new list again to get the actual selection\n\tlet newSelection = reverseSelection(reversedList, numberOfItems);\n\n\treturn newSelection;\n}\n\n/**\n * utility that reverses the selection indexes array.\n * @param {array} currentlySelectedIndexes The array of currently selected item indexes.\n * @param {integer} numberOfItems Total number of items available.\n * @return {array} new array of reversed indexes.\n */\nfunction reverseSelection(currentlySelectedIndexes, numberOfItems) {\n\tif (!Array.isArray(currentlySelectedIndexes)) {\n\t\tthrow Error('Valid source index array must be passed in.');\n\t}\n\n\tlet numberSelected = currentlySelectedIndexes.length,\n\t\tlastItem = currentlySelectedIndexes[currentlySelectedIndexes.length - 1];\n\n\tif (\n\t\tnumberSelected === 0 ||\n\t\t!numberOfItems ||\n\t\ttypeof numberOfItems !== 'number' ||\n\t\tnumberOfItems < 1\n\t)\n\t\treturn [];\n\tlet firstItem = numberOfItems - 1 - lastItem,\n\t\treversedSelection = [firstItem];\n\tfor (let i = 1; i < numberSelected; i++) {\n\t\treversedSelection.push(firstItem + i);\n\t}\n\treturn reversedSelection;\n}\n\nexport {\n\tgetShiftDirection,\n\tgetSelectedItems,\n\tgetForwardListSelection,\n\tgetReverseListSelection,\n\treverseSelection\n};\n","export const parseArabic = value =>\n\ttypeof value === 'string'\n\t\t? value\n\t\t\t\t.replace(/[\\u0660-\\u0669]/g, d => {\n\t\t\t\t\treturn d.charCodeAt(0) - 1632; // Convert Arabic numbers\n\t\t\t\t})\n\t\t\t\t.replace(/[\\u06F0-\\u06F9]/g, d => {\n\t\t\t\t\treturn d.charCodeAt(0) - 1776; // Convert Persian numbers\n\t\t\t\t})\n\t\t: value;\n\nexport const parseHebrew = value => {\n\treturn value.replace(/\\u200f/g, '').trim();\n};\n\n/**\n * Determines the thousand and decimal separators based on the specified locale.\n * Utilizes the `Intl.NumberFormat` API to format numbers and extract the separators.\n *\n * @param {string} locale - The locale identifier (e.g., 'en-US', 'fr-FR').\n * @returns {Object} An object containing the thousand and decimal separators.\n */\nexport function getLocaleNumberSeparators(locale) {\n\t// Determine the thousand and decimal separators based on the locale\n\tconst numberFormatter = new Intl.NumberFormat(locale);\n\tconst thousandSeparator = numberFormatter\n\t\t.format(11111)\n\t\t.replace(/\\p{Number}/gu, '');\n\tconst decimalSeparator = numberFormatter\n\t\t.format(1.1)\n\t\t.replace(/\\p{Number}/gu, '');\n\treturn { thousandSeparator, decimalSeparator };\n}\n\n/**\n * @desc: This function cleans a given string by retaining only specific characters.\n *        It keeps digits, letters (both uppercase and lowercase), hyphens, the specified decimal separator,\n *        and Eastern Arabic numerals.\n * @param {string} num - The string to be cleaned.\n * @param {string} decimalSeparator - The character used as the decimal separator.\n * @returns {string} - The cleaned string containing only the allowed characters.\n */\nexport function formatClean(num, decimalSeparator) {\n\tconst regexPattern = new RegExp(\n\t\t`[0-9A-Za-z\\\\-\\\\${decimalSeparator}\\\\u0660-\\\\u0669]`,\n\t\t'g'\n\t);\n\n\t// Match and join allowed characters, return an empty string if no matches\n\tconst cleanedChars = num.match(regexPattern) || [];\n\n\treturn cleanedChars.join('');\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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 * @providesModule shallowEqual\n * @typechecks\n * @flow\n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring analyticsconsumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nexport function is(x, y) {\n\t// SameValue algorithm\n\tif (x === y) {\n\t\t// Steps 1-5, 7-10\n\t\t// Steps 6.b-6.e: +0 != -0\n\t\t// Added the nonzero y check to make Flow happy, but it is redundant\n\t\treturn x !== 0 || y !== 0 || 1 / x === 1 / y;\n\t} else {\n\t\t// Step 6.a: NaN == NaN\n\t\treturn x !== x && y !== y;\n\t}\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nexport function shallowEqual(objA, objB) {\n\tif (is(objA, objB)) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\ttypeof objA !== 'object' ||\n\t\tobjA === null ||\n\t\ttypeof objB !== 'object' ||\n\t\tobjB === null\n\t) {\n\t\treturn false;\n\t}\n\n\tconst keysA = Object.keys(objA);\n\tconst keysB = Object.keys(objB);\n\n\tif (keysA.length !== keysB.length) {\n\t\treturn false;\n\t}\n\n\t// Test for A's keys different from B.\n\tfor (let i = 0; i < keysA.length; i++) {\n\t\tif (\n\t\t\t!hasOwnProperty.call(objB, keysA[i]) ||\n\t\t\t!is(objA[keysA[i]], objB[keysA[i]])\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n","import { isEmpty, reduce, isArray } from 'lodash';\nimport { FIELD_MESSAGE_TYPES } from '../constants';\nimport { t } from 'sn-translate';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nconst getMessages = (type, messages) =>\n\tmessages.map(message => {\n\t\tlet status, icon;\n\t\tswitch (type) {\n\t\t\tcase 'info':\n\t\t\tcase 'success':\n\t\t\t\tstatus = 'info';\n\t\t\t\ticon = 'info-circle-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'error':\n\t\t\tcase 'critical':\n\t\t\t\tstatus = 'critical';\n\t\t\t\ticon = 'circle-exclamation-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'warning':\n\t\t\t\tstatus = 'warning';\n\t\t\t\ticon = 'exclamation-triangle-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'liveUpdate':\n\t\t\t\tstatus = 'info';\n\t\t\t\ticon = 'heartbeat-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'positive':\n\t\t\t\tstatus = 'positive';\n\t\t\t\ticon = 'circle-check-outline';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tstatus = 'suggestion';\n\t\t\t\ticon = 'lightbulb-outline';\n\t\t\t\tbreak;\n\t\t}\n\t\treturn {\n\t\t\tstatus,\n\t\t\ticon,\n\t\t\tcontent: message\n\t\t};\n\t});\n\nconst getLiveUpdateMessage = liveUpdate => {\n\tlet message;\n\tif (liveUpdate.isUserModified) {\n\t\tlet newValue = liveUpdate.newValue;\n\t\tif (newValue) {\n\t\t\tnewValue = (\n\t\t\t\t<strong>\n\t\t\t\t\t<i>{newValue}<\/i>\n\t\t\t\t<\/strong>\n\t\t\t);\n\t\t\t// Show the value that changed\n\t\t\tmessage = t('{{name}} has set this field to {{value}}')\n\t\t\t\t.replace('{name}', liveUpdate.userName)\n\t\t\t\t.replace('{value}', ''); // Use the cached message containing value but remove the token so we can append html.\n\t\t\tmessage = (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{/* `message` already has a trailing space, don't need another one here */}\n\t\t\t\t\t{message}\n\t\t\t\t\t{newValue}\n\t\t\t\t<\/Fragment>\n\t\t\t);\n\t\t} else {\n\t\t\t// Say the value was cleared\n\t\t\tmessage = t('{{name}} has cleared the value of this field').replace(\n\t\t\t\t'{name}',\n\t\t\t\tliveUpdate.userName\n\t\t\t);\n\t\t}\n\t} else {\n\t\tmessage = t('{{name}} has modified this field value').replace(\n\t\t\t'{name}',\n\t\t\tliveUpdate.userName\n\t\t);\n\t}\n\treturn message;\n};\n\nconst parsedFieldMessages = function (messages) {\n\treturn messages.reduce((result, { type, message }) => {\n\t\tmessage = message.getMessage ? getLiveUpdateMessage(message) : message;\n\n\t\tif (!isEmpty(type) && !isEmpty(message)) {\n\t\t\tif (isArray(result[type])) {\n\t\t\t\tresult[type].push(message);\n\t\t\t} else {\n\t\t\t\tresult[type] = [message];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, {});\n};\n\nexport const transformMessages = messages => {\n\tif (!messages || messages.length == 0) return [];\n\n\tconst messageMap = parsedFieldMessages(messages);\n\n\treturn [].concat(\n\t\t...reduce(\n\t\t\tFIELD_MESSAGE_TYPES,\n\t\t\t(elements, type) => {\n\t\t\t\tif (messageMap[type]) {\n\t\t\t\t\telements.push(getMessages(type, messageMap[type]));\n\t\t\t\t}\n\n\t\t\t\treturn elements;\n\t\t\t},\n\t\t\t[]\n\t\t)\n\t);\n};\n\nexport const pushInfoMessageForDependentFields = (messages, label) => {\n\tconst message = t('Select a {0} before modifying this field.', label);\n\treturn [\n\t\t...messages,\n\t\t{\n\t\t\ttype: 'info',\n\t\t\tmessage\n\t\t}\n\t];\n};\n\nexport const transformDescriptionAndMessages = (description, messages) =>\n\tdescription\n\t\t? [{ content: description }, ...transformMessages(messages)]\n\t\t: transformMessages(messages);\n\n// gets content of all the messages combined as a string from the messages array\nexport const getFormFieldMessagesContent = messages => {\n\tif (Array.isArray(messages) && messages.length) {\n\t\treturn messages\n\t\t\t.map(message => {\n\t\t\t\tif (Array.isArray(message.content)) {\n\t\t\t\t\t// message.content is an array in case of liveUpdate message when liveUpdate.isUserModified is true\n\t\t\t\t\t// and newValue is not empty\n\t\t\t\t\tconst [textContent, valueContent] = message.content;\n\t\t\t\t\tconst value = valueContent?.children?.[0]?.children?.[0]?.text || '';\n\t\t\t\t\treturn textContent + value;\n\t\t\t\t}\n\n\t\t\t\treturn message.content;\n\t\t\t})\n\t\t\t.join(' ');\n\t}\n\treturn '';\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_moment_2_30_1_index_jsdbx_01c473a0__[\"default\"][\"default\"];\n\t\t\t\t} });","import moment from 'moment';\n\n// Map to track which locales have been extended\nconst extendedLocales = new Map();\n\n/**\n * Locale extensions configuration\n * Each key is a locale code, and the value is an object with the locale properties to update\n */\nconst localeExtensions = {\n\tja: {\n\t\t// Add support for English AM/PM markers in Japanese locale\n\t\t// as ServiceNow localization does not support japanese AM/PM markers - DEF0681907\n\t\tmeridiemParse: /午前|午後|[aApP][mM]/i,\n\t\t_originalIsPM: null,\n\t\tisPM: function (input) {\n\t\t\t// Check for English PM (case insensitive)\n\t\t\tif (/^pm$/i.test(input)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn this._originalIsPM(input);\n\t\t}\n\t}\n};\n\n/**\n * Extends a locale with additional functionality\n * @param {string} localeCode - The locale code to extend\n */\nconst extendLocale = localeCode => {\n\ttry {\n\t\tconst extension = localeExtensions[localeCode];\n\t\t// Store original functions for backward compatibility\n\t\tconst localeData = moment.localeData(localeCode);\n\t\textension._originalIsPM = localeData.isPM;\n\n\t\tmoment.updateLocale(localeCode, extension);\n\t\textendedLocales.set(localeCode, true);\n\t} catch (e) {\n\t\tconsole.error(`Failed to update locale ${localeCode}:`, e);\n\t}\n};\n\n// wrapper around moment to force need for language when using\n// empty string defaults to moment global locale\nexport default (language = '') =>\n\t(...args) => {\n\t\tmoment.locale(language);\n\t\t// If this locale has extensions and hasn't been extended yet, extend it\n\t\tif (localeExtensions[language] && !extendedLocales.get(language)) {\n\t\t\textendLocale(language);\n\t\t}\n\t\treturn moment(...args);\n\t};\n\nexport const weekdays = (language = '', isoWeek = false) => {\n\tconst momentLocale = moment.localeData(language);\n\tif (isoWeek)\n\t\treturn momentLocale ? momentLocale.isoWeekdays() : moment.isoWeekdays();\n\treturn momentLocale ? momentLocale.weekdays() : moment.weekdays();\n};\n\nexport const monthsShort = (language = '') => {\n\tconst momentLocale = moment.localeData(language);\n\treturn momentLocale ? momentLocale.monthsShort() : moment.monthsShort();\n};\n\nexport const isTimeZoneEnabledField = format => {\n\tif (!format) return false;\n\treturn !format.toLowerCase().endsWith('z');\n};\n","export const transformState = state => ({\n\t...state,\n\tproperties: {\n\t\t...state.properties,\n\t\tvalue: state.properties.value === true ? '' : state.properties.value\n\t}\n});\n","import get from 'lodash/get';\n\nconst getProperty = (propertyName, defaultValue = null) => get(window, `ux_globals.sysprops['${propertyName}']`, defaultValue);\n\nexport default getProperty;\n","import get from 'lodash/get';\n\nexport const createPreSourceBehavior = (componentTagName, {name:dsName = 'undefined', transform = d => d}) => {\n\tconst storeSeed = get(window, `ux_globals.presource['${componentTagName}:${dsName}']`, {});\n\tlet initialState = storeSeed;\n\ttry {initialState = (typeof transform === 'function') ? transform(storeSeed) : storeSeed;}catch(e) {console.error(e);initialState = storeSeed;}\n\treturn {\n\t\tname: dsName, // this.props.behaviors[dsName], available onConnect\n\t\tinitialState\n\t};\n};\n\nexport const getBehaviorProp = (state, name, defVal = {}) => !name ? undefined : get(state, `behaviors['${name}']`, defVal);\n","import get from \"lodash/get\";\nimport {\n\tcreatePreSourceBehavior,\n\tgetBehaviorProp\n} from \"./createPreSourceBehavior\";\n\nconst USER_DATA_KEY = \"wsUserData\";\nconst USER_ROLES_KEY = \"agentRoles\";\nconst USER_PREF_KEY = \"wsUserDataPreferences\";\nconst WS_CONFIG_SYS_ID_KEY = \"wsConfigSysId\";\n\nexport const preUserData = createPreSourceBehavior(\"sn-workspace-header\", {\n\tname: USER_DATA_KEY,\n\ttransform: data => get(data, \"data.GlideDomain_Query.user\", {})\n});\n\nexport const preUserRoles = createPreSourceBehavior(\"sn-workspace-content\", {\n\tname: USER_ROLES_KEY,\n\ttransform: result => get(result, \"data.GlideDomain_Query.user.roles\", [])\n});\n\nexport const preWsConfigSysId = createPreSourceBehavior(\"sn-workspace-header\", {\n\tname: WS_CONFIG_SYS_ID_KEY,\n\ttransform: data =>\n\t\tget(\n\t\t\tdata,\n\t\t\t[\n\t\t\t\t\"data\",\n\t\t\t\t\"GlideRecord_Query\",\n\t\t\t\t\"sys_aw_master_config\",\n\t\t\t\t\"_results\",\n\t\t\t\t0,\n\t\t\t\t\"sys_id\",\n\t\t\t\t\"value\"\n\t\t\t],\n\t\t\t\"\"\n\t\t)\n});\n\nexport const preUserPrefs = (function(userData) {\n\treturn {\n\t\tname: USER_PREF_KEY,\n\t\tinitialState: userData.initialState.preferences || []\n\t};\n})(preUserData);\n","import { getProperty as presourceGetProperty } from 'sn-uxpage-presource';\n\nexport const getProperty = (key, defaultValue) => {\n\tconst sysPropValue = presourceGetProperty(key);\n\tif (\n\t\tdefaultValue !== undefined &&\n\t\t(sysPropValue === undefined || sysPropValue === null)\n\t) {\n\t\treturn defaultValue;\n\t} else {\n\t\treturn sysPropValue;\n\t}\n};\n\nexport const getPageProperty = (key, defaultValue) => {\n\tconst siteName = window?.ux_globals?.siteName;\n\tconst sysPagePropValue =\n\t\twindow?.ux_globals?.experienceConfigs?.[siteName]?.pageProperties?.[key];\n\n\tif (\n\t\tdefaultValue !== undefined &&\n\t\t(sysPagePropValue === undefined || sysPagePropValue === null)\n\t) {\n\t\treturn defaultValue;\n\t} else {\n\t\treturn sysPagePropValue;\n\t}\n};\n","/*\n * Proxy copied over from sn-uxf-builder-middleware\n * Doing this so we can avoid the overhead of npm installing all of that package\n * when we only really want this one function\n */\nexport default effect => coeffects => effect.effect(...effect.args, coeffects);\n","import { isEmpty } from 'lodash';\n\nconst checkIfFieldIsSelected = (value, path, selectedItems) => {\n\tlet stagedPath = [];\n\tpath.forEach(pathItem => {\n\t\tstagedPath.push(pathItem.field);\n\t});\n\tstagedPath.push(value);\n\tconst updatedPath = stagedPath.join('.');\n\treturn selectedItems.find(element => {\n\t\tif (element.id === updatedPath) {\n\t\t\treturn true;\n\t\t}\n\t});\n};\n\nconst getParentTableName = (parentPathArray, tableName, dataModel) => {\n\tlet parentTableName = tableName;\n\tparentPathArray.forEach(item => {\n\t\tconst tableData = dataModel.metadata[parentTableName];\n\t\tconst fieldData = tableData && tableData[item];\n\t\tparentTableName = fieldData && fieldData.referenceDataKey;\n\t});\n\treturn parentTableName;\n};\n\n/**\n * Transform field data into the structure needed for dot walk\n * @param {[{value: string, displayValue: string, isFieldReferenceType: boolean, referenceDataKey: string}]} fieldNameData\n * @return {{[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} Transformed fieldNameData\n */\nconst transformFieldNameData = (\n\tfieldNameData,\n\treferenceTypes = '',\n\tallowDotWalking,\n\tselectedItems = [],\n\tpath = ''\n) => {\n\t// DictionaryAttributes - reference_types\n\t// list of valid reference types that are clickable separated by semicolons (\";\")\n\tconst enabledTables = referenceTypes ? referenceTypes.split(';') : [];\n\n\treturn fieldNameData.reduce((prev, curr) => {\n\t\tconst {\n\t\t\tvalue: name,\n\t\t\tdisplayValue,\n\t\t\tisFieldReferenceType: isReference,\n\t\t\treferenceDataKey\n\t\t} = curr;\n\n\t\tconst reducedValue = {\n\t\t\t...prev,\n\t\t\t[name]: {\n\t\t\t\tdisplayValue,\n\t\t\t\tdisabled: isEmpty(selectedItems)\n\t\t\t\t\t? enabledTables.length && allowDotWalking\n\t\t\t\t\t\t? !enabledTables.includes(referenceDataKey)\n\t\t\t\t\t\t: false\n\t\t\t\t\t: checkIfFieldIsSelected(name, path, selectedItems)\n\t\t\t\t\t? true\n\t\t\t\t\t: false,\n\t\t\t\tisReference: allowDotWalking ? isReference : false,\n\t\t\t\treferenceDataKey\n\t\t\t}\n\t\t};\n\t\tif (enabledTables.length && allowDotWalking) {\n\t\t\tif (referenceDataKey || isReference) {\n\t\t\t\treturn reducedValue;\n\t\t\t} else {\n\t\t\t\treturn prev;\n\t\t\t}\n\t\t}\n\t\treturn reducedValue;\n\t}, {});\n};\n\n/**\n * Transform path data into the structure needed for dot walk\n * @param  {{[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} metaData\n * @param  {string} parentTableName\n * @param  {string} pathValue\n * @return {[{displayValue: string, field: string, parent: string}]} Transformed pathData\n */\nconst transformPathData = (metadata, tableName, pathValue) => {\n\tlet path = [];\n\n\tif (metadata && !tableName) {\n\t\ttableName = Object.keys(metadata)[0];\n\t}\n\n\tif (pathValue && metadata) {\n\t\t//field List can have multiple\n\t\tconst pathValueList = pathValue.split(',');\n\t\tpath = pathValueList[0].split('.').reduce((prev, curr, idx) => {\n\t\t\tconst tableNameCurrent =\n\t\t\t\tidx > 0 && prev[idx - 1].parentTableName\n\t\t\t\t\t? prev[idx - 1].parentTableName\n\t\t\t\t\t: tableName;\n\t\t\tconst tableData = metadata[tableNameCurrent];\n\t\t\tif (!tableData) {\n\t\t\t\treturn prev;\n\t\t\t}\n\t\t\tconst fieldData = metadata[tableNameCurrent][curr];\n\t\t\tif (!fieldData) {\n\t\t\t\treturn prev;\n\t\t\t}\n\t\t\tconst reducedFieldData = [\n\t\t\t\t...prev,\n\t\t\t\t{\n\t\t\t\t\tdisplayValue: fieldData.displayValue,\n\t\t\t\t\tfield: curr,\n\t\t\t\t\tparent: tableNameCurrent,\n\t\t\t\t\tparentTableName: fieldData.referenceDataKey\n\t\t\t\t}\n\t\t\t];\n\t\t\treturn reducedFieldData;\n\t\t}, []);\n\t} else if (metadata) {\n\t\tconst tableData = metadata[tableName];\n\n\t\tif (tableData) {\n\t\t\tconst firstField = Object.keys(tableData)[0];\n\t\t\tconst fieldData = tableData[firstField];\n\t\t\tpath = [\n\t\t\t\t{\n\t\t\t\t\tdisplayValue: fieldData.displayValue,\n\t\t\t\t\tfield: firstField,\n\t\t\t\t\tparent: tableName\n\t\t\t\t}\n\t\t\t];\n\t\t}\n\t}\n\treturn path;\n};\n\n/**\n * Transform table metadata into the structure used in the Dot Walk Model\n * @param {[{tableName: string, fieldNameData: [{value: string, displayValue: string, isFieldReferenceType: boolean, referenceDataKey: string}] }]} fieldNameMetadata\n * @return {{[tableName: string]: {[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} Transformed fieldNameMetadata\n */\n\nexport const transformFieldNameMetadata = (\n\tfieldValues,\n\treferenceTypes = '',\n\tallowDotWalking,\n\tselectedItems = [],\n\tpath = []\n) =>\n\tfieldValues.reduce((prev, curr) => {\n\t\tconst reducedValue = {\n\t\t\t...prev,\n\t\t\t[curr.tableName]: transformFieldNameData(\n\t\t\t\tcurr.fieldNameData,\n\t\t\t\treferenceTypes,\n\t\t\t\tallowDotWalking,\n\t\t\t\tselectedItems,\n\t\t\t\tpath\n\t\t\t)\n\t\t};\n\t\treturn reducedValue;\n\t}, {});\n\nexport const constructDataModel = (\n\tfieldValues,\n\ttableName,\n\tpathValue,\n\tleafPathSource,\n\treferenceTypes = '',\n\tallowDotWalking\n) => {\n\tconst model = {\n\t\tpath: null,\n\t\tmetadata: null,\n\t\tleafPathSource\n\t};\n\n\tif (fieldValues) {\n\t\tconst transformedMetadata = transformFieldNameMetadata(\n\t\t\tfieldValues,\n\t\t\treferenceTypes,\n\t\t\tallowDotWalking\n\t\t);\n\t\tconst transformedPath = transformPathData(\n\t\t\ttransformedMetadata,\n\t\t\ttableName,\n\t\t\tpathValue\n\t\t);\n\t\tmodel.path = transformedPath;\n\t\tmodel.metadata = transformedMetadata;\n\t}\n\n\treturn model;\n};\n\nexport const getFieldNameValue = (path = []) =>\n\tpath.map(p => p.field).join('.');\n\nexport const getFieldNameDisplayValue = (path = []) =>\n\tpath.map(p => p.displayValue).join(' > ');\n\nexport const getDataModelWithToggledFields = (\n\tdataModel,\n\tflag,\n\tfieldToBeDeleted,\n\ttableName\n) => {\n\tconst path = dataModel.path;\n\tlet name = dataModel.path[path.length - 1].parent;\n\tlet fieldName = dataModel.path[path.length - 1].field;\n\tif (flag) {\n\t\tconst updatedIdArray = fieldToBeDeleted.split('.');\n\t\tfieldName = updatedIdArray[updatedIdArray.length - 1];\n\t\tname =\n\t\t\tupdatedIdArray.length === 1\n\t\t\t\t? tableName\n\t\t\t\t: getParentTableName(\n\t\t\t\t\t\tupdatedIdArray.slice(0, updatedIdArray.length - 1),\n\t\t\t\t\t\ttableName,\n\t\t\t\t\t\tdataModel\n\t\t\t\t  );\n\t}\n\tlet dataModelToUpdate = dataModel;\n\t//update only if the table info is available in dataModel\n\tif (dataModel.metadata[name]) {\n\t\tdataModelToUpdate = {\n\t\t\t...dataModel,\n\t\t\tmetadata: {\n\t\t\t\t...dataModel.metadata,\n\t\t\t\t[name]: {\n\t\t\t\t\t...dataModel.metadata[name],\n\t\t\t\t\t[fieldName]: {\n\t\t\t\t\t\t...dataModel.metadata[name][fieldName],\n\t\t\t\t\t\tdisabled: !flag\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\treturn dataModelToUpdate;\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport styles from './InteractiveDecoration.scss';\nimport { NOW_BUTTON_ICONIC_CLICKED } from './constants';\n\nconst InteractiveDecoration = function ({ icon, text, name }) {\n\treturn (\n\t\t<div className=\"interactive-decoration-icon\">\n\t\t\t<now-button-iconic\n\t\t\t\thide-padding\n\t\t\t\ticon={icon}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: { 'aria-label': text }\n\t\t\t\t}}\n\t\t\t\tappend-to-payload={{ field: name }}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\ncreateCustomElement('sn-interactive-decoration', {\n\tproperties: {\n\t\t/**\n\t\t * icon\n\t\t *\n\t\t * Icon name to display as the decoration\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\ticon: {},\n\t\t/**\n\t\t * text\n\t\t *\n\t\t * Tooltip and aria text for the decoration\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\ttext: {},\n\t\t/**\n\t\t * name\n\t\t *\n\t\t * Field name on which the decoration is being applied\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tname: {}\n\t},\n\tview: ({ properties }) => InteractiveDecoration(properties),\n\tactionHandlers: {\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: ({ action, dispatch }) => {\n\t\t\t\tconst path = action?.meta?.event?.path;\n\t\t\t\tif (!path || path.length === 0) return;\n\n\t\t\t\tconst { x: pageX, y: pageY } = path[0].getBoundingClientRect();\n\t\t\t\tdispatch('FIELD_DECORATION#CLICKED', {\n\t\t\t\t\tfield: action.payload.field,\n\t\t\t\t\tpageX,\n\t\t\t\t\tpageY\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tstyles\n});\n","import '@servicenow/now-highlighted-value';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\n\nconst AI_INDICATOR_COLOR = 'ai';\nconst AI_INDICATOR_ICON = 'sn-sparkmoji-logo-outline';\n\nexport const renderAIIndicator = props => {\n\tconst { showAIIndicator, suggestions } = props;\n\n\tconst renderHelperContent = (description, link = {}) => (\n\t\t<div>\n\t\t\t<div role=\"status\">{description}<\/div>\n\t\t\t{link.href && link.label && (\n\t\t\t\t<a href={link.href} target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t\t{link.label}\n\t\t\t\t\t{link.iconName && (\n\t\t\t\t\t\t<now-button-iconic bare icon={link.iconName} size=\"sm\" />\n\t\t\t\t\t)}\n\t\t\t\t<\/a>\n\t\t\t)}\n\t\t<\/div>\n\t);\n\t// Priority 1: Task Intelligence autofill suggestion\n\tif (suggestions?.autofill?.value) {\n\t\tconst description = suggestions.source?.description;\n\t\tconst link = suggestions.source?.link || {};\n\t\tconst label = t('AI');\n\t\tconst icon = suggestions.source?.iconName || AI_INDICATOR_ICON;\n\n\t\treturn (\n\t\t\t<div className=\"field-decorations-container\" slot=\"label-inline\">\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tcolor={AI_INDICATOR_COLOR}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tshowIcon\n\t\t\t\t\ticon={icon}\n\t\t\t\t\thelperContent={renderHelperContent(description, link)}\n\t\t\t\t\ttooltipContent={description}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\t// Priority 2: Regular AI indicator - trust showAIIndicator from glideFormFactory\n\t// glideFormFactory handles all revert detection logic via _toggleAIIndicatorOnValueMatch\n\tif (showAIIndicator) {\n\t\tconst description = t('AI predicted this field. Check it for accuracy.');\n\t\tconst link = {};\n\t\treturn (\n\t\t\t<div className=\"field-decorations-container\" slot=\"label-inline\">\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tlabel={t('AI')}\n\t\t\t\t\tcolor={AI_INDICATOR_COLOR}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tshowIcon\n\t\t\t\t\ticon={AI_INDICATOR_ICON}\n\t\t\t\t\thelperContent={renderHelperContent(description, link)}\n\t\t\t\t\ttooltipContent={description}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t);\n\t}\n\n\treturn null;\n};\n","import '@servicenow/now-icon';\nimport '../InteractiveDecoration';\nimport { renderAIIndicator } from './renderAIIndicator';\nimport './renderDecorations.scss';\n\nexport const renderDecorations = props => {\n\tconst {\n\t\tdecorations = [],\n\t\tformControlWrapper,\n\t\tshowAIIndicator,\n\t\tsuggestions\n\t} = props;\n\n\tif (\n\t\t(decorations && decorations.length > 0) ||\n\t\tshowAIIndicator ||\n\t\tsuggestions?.autofill?.value\n\t) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={formControlWrapper ? { marginInlineStart: ' 0.25rem' } : {}}\n\t\t\t\tclassName=\"field-decorations-container\"\n\t\t\t\tslot=\"label-inline\"\n\t\t\t>\n\t\t\t\t{decorations.map(decoration => {\n\t\t\t\t\tif (decoration.isInteractive) {\n\t\t\t\t\t\tconst { icon, text, name } = decoration;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<sn-interactive-decoration icon={icon} text={text} name={name} />\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\thide-padding\n\t\t\t\t\t\t\t\ticon={decoration.icon}\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\ttitle={decoration.text}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\tbutton: { 'aria-label': decoration.text }\n\t\t\t\t\t\t\t\t}}\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})}\n\t\t\t\t{renderAIIndicator(props)}\n\t\t\t<\/div>\n\t\t);\n\t}\n\treturn null;\n};\n","import '@servicenow/now-button';\nimport { t } from 'sn-translate';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nconst MODIFIED_FIELD_INDICATOR = {\n\ticon: 'presence-fill',\n\tsize: 'sm',\n\tvariant: 'tertiary',\n\ttext: 'Unsaved',\n\tlabel: '' // This label is not used but can be useful for accessibility\n};\n\nexport const SLOT_POSITIONS = {\n\tLABEL_START: 'label-start',\n\tLABEL_END: 'label-end',\n\tLABEL_INLINE: 'label-inline'\n};\n\n/**\n * Renders icons based on configurations\n * @param {Array} iconConfigs - Array of icon configuration objects\n * @param {string} slotPosition - Position in the label to render icons\n * @returns {JSX.Element|null} - Rendered icons or null\n */\nexport const renderIconsInLabelSlot = (\n\tslotPosition = SLOT_POSITIONS.LABEL_START,\n\ticonConfigs = []\n) => {\n\tif (!iconConfigs.length) return null;\n\treturn (\n\t\t<Fragment>\n\t\t\t{iconConfigs.map((config, index) => (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\thidePadding\n\t\t\t\t\tkey={`icon-${index}`}\n\t\t\t\t\tslot={slotPosition}\n\t\t\t\t\ticon={config.icon}\n\t\t\t\t\tsize={config.size || 'sm'}\n\t\t\t\t\tdata-title={t(config.text)}\n\t\t\t\t\ttooltipContent={t(config.text)}\n\t\t\t\t\tvariant={config.variant || 'primary'}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t(config.text + ', ' + config?.label)\n\t\t\t\t\t}}\n\t\t\t\t\tbare={true}\n\t\t\t\t/>\n\t\t\t))}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * Returns an object that can be spread into an icon configuration object\n * to indicate a modified field. The object is empty if showModifiedIndicator\n * is false.\n *\n * @param {boolean} showModifiedIndicator - Indicates whether to show the modified\n *                                         indicator.\n * @param {object} [additionalProps={}] - Adds additional props to the modified\n *                                        indicator configuration.\n * @returns {Array} - Array of modified indicator configurations.\n */\nexport const getModifiedIconConfig = (\n\tshowModifiedIndicator,\n\tadditionalProps = {}\n) => {\n\tif (!showModifiedIndicator) return;\n\n\treturn [\n\t\t{\n\t\t\t...MODIFIED_FIELD_INDICATOR,\n\t\t\t...additionalProps\n\t\t}\n\t];\n};\n","export function difference(arr1, arr2) {\n\treturn arr1.filter(x => !arr2.includes(x));\n}\n\nexport function camelCase(str) {\n\treturn str.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, (match, index) => {\n\t\tif (+match === 0) return ''; // ignore 0s\n\t\treturn index == 0 ? match.toLowerCase() : match.toUpperCase();\n\t});\n}\n\nexport function keys(obj) {\n\treturn Object.keys(obj);\n}\n\nexport function pick(obj, props) {\n\treturn props.reduce((acc, prop) => {\n\t\tif (Object.prototype.hasOwnProperty.call(obj, prop)) {\n\t\t\tacc[prop] = obj[prop];\n\t\t}\n\t\treturn acc;\n\t}, {});\n}\n\nexport function forEach(collection, callback) {\n\tif (Array.isArray(collection)) {\n\t\tfor (let i = 0; i < collection.length; i++) {\n\t\t\tcallback(collection[i], i, collection);\n\t\t}\n\t} else {\n\t\tfor (const key in collection) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(collection, key)) {\n\t\t\t\tcallback(collection[key], key, collection);\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function get(obj, path, defaultValue) {\n\tconst keys = Array.isArray(path) ? path : path.split('.');\n\tconst result = keys.reduce((acc, key) => acc && acc[key], obj);\n\treturn result === undefined ? defaultValue : result || defaultValue;\n}\n\nexport function isNil(value) {\n\treturn value == null;\n}\n\nexport function isEqualWith(value, other, customizer) {\n\tif (typeof customizer !== 'function') {\n\t\tcustomizer = undefined;\n\t}\n\n\tconst result = customizer ? customizer(value, other) : undefined;\n\n\tif (result !== undefined) {\n\t\treturn Boolean(result);\n\t}\n\tif (value === other) {\n\t\treturn true;\n\t}\n\tif (\n\t\tvalue == null ||\n\t\tother == null ||\n\t\ttypeof value !== 'object' ||\n\t\ttypeof other !== 'object'\n\t) {\n\t\treturn false;\n\t}\n\tconst keys = Object.keys(value);\n\tif (keys.length !== Object.keys(other).length) {\n\t\treturn false;\n\t}\n\treturn keys.every(key => isEqualWith(value[key], other[key], customizer));\n}\n\nexport function pickBy(object, predicate) {\n\tconst result = {};\n\tfor (const key in object) {\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(object, key) &&\n\t\t\tpredicate(object[key], key)\n\t\t) {\n\t\t\tresult[key] = object[key];\n\t\t}\n\t}\n\treturn result;\n}\n\nexport function identity(value) {\n\treturn value;\n}\n\n/**\n * The isEmpty function determines if a given value is empty or not.\n * @param {any} value The value to check\n * @returns {boolean} True if the value is empty, false otherwise\n */\nexport function isEmpty(value) {\n\tif (value == null) return true;\n\tif (typeof value === 'string' || Array.isArray(value))\n\t\treturn value.length === 0;\n\tif (typeof value === 'object') return Object.keys(value).length === 0;\n\n\treturn false;\n}\n","/**\n * validates if passed in string is a localhost\n * @param {string} value hostname string we wish to test\n * @return {boolean} valid or not\n */\nfunction isLocalhost(value) {\n\tlet re = /^(:|(0:){1,6}|(0:){6}0):1$/;\n\treturn (\n\t\tvalue.toLowerCase() === 'localhost' ||\n\t\tvalue.toLowerCase() === '127.0.0.1' ||\n\t\tre.test(value)\n\t);\n}\n\n/**\n * validates if passed in string is a domain\n * @param {string} domain domain string we wish to test\n * @param {boolean} internationalizedEmail whether international characters allowed or not\n * @return {boolean} valid or not\n */\nfunction isDomain(domain, internationalizedEmail = false) {\n\tconst periodSplit = domain.split('.');\n\tfor (const part of periodSplit) {\n\t\tif (part.length == 0) {\n\t\t\treturn false;\n\t\t}\n\t}\n\tlet re = internationalizedEmail\n\t\t? /^([^(),:;<>@[\\]!#$%*/?|^{}`~&'+= ]+\\.[^(),:;<>@[\\]!#$%*/?|^{}`~&'+= ]+)$/\n\t\t: /^(?=[A-Za-z0-9][A-Za-z0-9\\-_.]*[A-Za-z0-9]$)(?=.*\\.)[A-Za-z0-9\\-_.]+$/;\n\treturn re.test(domain);\n}\n\n/**\n * validates if passed in string is a hostname, namely localhost, or domain\n * @param {string} value hostname string we wish to test\n * @param {boolean} internationalizedEmail whether international characters allowed or not\n * @return {boolean} valid or not\n */\nfunction isHostname(value, internationalizedEmail) {\n\treturn isLocalhost(value) || isDomain(value, internationalizedEmail);\n}\n\nexport { isLocalhost, isDomain, isHostname };\n","let v4 =\n\t'(0*)(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\\\.(0*)(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}';\nlet v6frag = '[0-9a-fA-F]{1,4}';\n\n/**\n * validates if passed in string is a valid IP address (IPv4 or IPv6)\n * @param {string} address ip string we wish to test\n * @return {boolean} valid or not\n */\nfunction isIPAddress(address) {\n\treturn isIPV4Address(address) || isIPV6Address(address);\n}\n\n/**\n * validates if passed in string is a valid IP address (IPv4)\n * @param {string} address ip string we wish to test\n * @return {boolean} valid or not\n */\nfunction isIPV4Address(address) {\n\tlet reg = '^' + v4 + '$';\n\tlet re = new RegExp(reg);\n\treturn re.test(address);\n}\n\n/**\n * validates if passed in string is a valid IP address (IPv6)\n * @param {string} address ip string we wish to test\n * @return {boolean} valid or not\n */\nfunction isIPV6Address(address) {\n\tlet reg =\n\t\t'^((?:' +\n\t\tv6frag +\n\t\t':){7}(?:' +\n\t\tv6frag +\n\t\t'|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){6}(?:' +\n\t\tv4 +\n\t\t'|:' +\n\t\tv6frag +\n\t\t'|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){5}(?::' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,2}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){4}(?:(:' +\n\t\tv6frag +\n\t\t'){0,1}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,3}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){3}(?:(:' +\n\t\tv6frag +\n\t\t'){0,2}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,4}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){2}(?:(:' +\n\t\tv6frag +\n\t\t'){0,3}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,5}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){1}(?:(:' +\n\t\tv6frag +\n\t\t'){0,4}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,6}|:)|' +\n\t\t'(?::((?::' +\n\t\tv6frag +\n\t\t'){0,5}:' +\n\t\tv4 +\n\t\t'|(?::' +\n\t\tv6frag +\n\t\t'){1,7}|:)))(%[0-9a-zA-Z]{1,})?$';\n\tlet re = new RegExp(reg);\n\treturn re.test(address);\n}\n\nexport { isIPAddress, isIPV4Address, isIPV6Address };\n","import { isHostname } from './hostname';\nimport { isIPAddress } from './ipaddress';\n\n/**\n * validates that an email is valid format, namely valid recipient name(supports unicode) + @ + valid hostname or IP\n * @param {string} email email string we wish to test\n * @param {string} [internationalizedEmail] whether validate the email following RFC6530 standard\n * @return {boolean} valid or not\n */\nfunction isEmail(email, internationalizedEmail = false) {\n\tlet components = email.split('@');\n\tif (components.length != 2) return false;\n\tlet re = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))$/i;\n\treturn (\n\t\tre.test(components[0]) &&\n\t\t(isIPAddress(components[1]) || isHostname(components[1], internationalizedEmail))\n\t);\n}\n\nexport { isEmail };\n","export function isValidUrl(url) {\n\treturn hasValidHttp(url);\n}\n\nfunction hasValidHttp(url) {\n\t// eslint-disable-next-line no-useless-escape\n\treturn /^$|^(https?|ftp):\\/\\/(www\\.)?(([-\\w@:%.\\+~#=]{1,256}\\.[a-z0-9()]{1,63})|(localhost))\\b([-\\w()@:%\\+.~#?&//=]*)/i.test(\n\t\turl\n\t);\n}\n","/*\nThis utility function is a copy of following function getDateFromFormat in calendar.js\nhttps://code.devsnc.com/dev/glide/blob/master/glide/ui.html/scripts/calendar.js#L284\nThe purpose of the function is to have same validation in dateTime format case when it has timezone enabled\nexample like \"YYYY-MM-DD hh:mm:ss z\". Remaining other formats are handled from moment itself.\ngetDateFromFormat is a validator function that checks if the date is in given format or not.\nIn case the date is not in correct format , it returns 0 , else it returns the time Value of the same.\n*/\n\nconst digits = new Set(['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']);\n\nfunction _isInteger(val) {\n\tfor (let i = 0; i < val.length; i++) if (!digits.has(val[i])) return false;\n\treturn true;\n}\n\nfunction _getInt(str, i, minlength, maxlength) {\n\tfor (var x = maxlength; x >= minlength; x--) {\n\t\tvar token = str.substring(i, i + x);\n\t\tif (token.length < minlength) {\n\t\t\treturn null;\n\t\t}\n\t\tif (_isInteger(token)) {\n\t\t\treturn token;\n\t\t}\n\t}\n\treturn null;\n}\n\n/**\n * Validate Date String for a given format. Returns 0 if date is invalid for given format, else date value\n * @param {string} val - Date string.\n * @param {string} format - Format for which date string has to be verified.\n * @returns {number}\n */\nexport function getDateFromFormat(val, format) {\n\tval = val + '';\n\tformat = format + '';\n\tvar i_val = 0;\n\tvar i_format = 0;\n\tvar c = '';\n\tvar token = '';\n\tvar x, y;\n\tvar now = new Date();\n\tvar year = now.getYear();\n\tvar month = now.getMonth() + 1;\n\tvar date = 0;\n\tvar hh = now.getHours();\n\tvar mm = now.getMinutes();\n\tvar ss = now.getSeconds();\n\tvar ampm = '';\n\tvar week = false;\n\tvar MONTH_NAMES = new Array(\n\t\t'January',\n\t\t'February',\n\t\t'March',\n\t\t'April',\n\t\t'May',\n\t\t'June',\n\t\t'July',\n\t\t'August',\n\t\t'September',\n\t\t'October',\n\t\t'November',\n\t\t'December',\n\t\t'Jan',\n\t\t'Feb',\n\t\t'Mar',\n\t\t'Apr',\n\t\t'May',\n\t\t'Jun',\n\t\t'Jul',\n\t\t'Aug',\n\t\t'Sep',\n\t\t'Oct',\n\t\t'Nov',\n\t\t'Dec'\n\t);\n\tvar DAY_NAMES = new Array(\n\t\t'Sunday',\n\t\t'Monday',\n\t\t'Tuesday',\n\t\t'Wednesday',\n\t\t'Thursday',\n\t\t'Friday',\n\t\t'Saturday',\n\t\t'Sun',\n\t\t'Mon',\n\t\t'Tue',\n\t\t'Wed',\n\t\t'Thu',\n\t\t'Fri',\n\t\t'Sat'\n\t);\n\tvar g_first_day_of_week = 1;\n\n\twhile (i_format < format.length) {\n\t\t// Get next token from format string\n\t\tc = format.charAt(i_format);\n\t\ttoken = '';\n\t\twhile (format.charAt(i_format) == c && i_format < format.length) {\n\t\t\ttoken += format.charAt(i_format++);\n\t\t}\n\t\t// Extract contents of value based on format token\n\t\tif (token == 'yyyy' || token == 'yy' || token == 'y') {\n\t\t\tif (token == 'yyyy') {\n\t\t\t\tx = 4;\n\t\t\t\ty = 4;\n\t\t\t}\n\t\t\tif (token == 'yy') {\n\t\t\t\tx = 2;\n\t\t\t\ty = 2;\n\t\t\t}\n\t\t\tif (token == 'y') {\n\t\t\t\tx = 2;\n\t\t\t\ty = 4;\n\t\t\t}\n\t\t\tyear = _getInt(val, i_val, x, y);\n\t\t\tif (year == null) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += year.length;\n\t\t\tif (year.length == 2) {\n\t\t\t\tif (year > 70) {\n\t\t\t\t\tyear = 1900 + (year - 0);\n\t\t\t\t} else {\n\t\t\t\t\tyear = 2000 + (year - 0);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (token == 'MMM' || token == 'NNN') {\n\t\t\tmonth = 0;\n\t\t\tfor (var i = 0; i < MONTH_NAMES.length; i++) {\n\t\t\t\tvar month_name = MONTH_NAMES[i];\n\t\t\t\tif (\n\t\t\t\t\tval.substring(i_val, i_val + month_name.length).toLowerCase() ==\n\t\t\t\t\tmonth_name.toLowerCase()\n\t\t\t\t) {\n\t\t\t\t\tif (token == 'MMM' || (token == 'NNN' && i > 11)) {\n\t\t\t\t\t\tmonth = i + 1;\n\t\t\t\t\t\tif (month > 12) {\n\t\t\t\t\t\t\tmonth -= 12;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ti_val += month_name.length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (month < 1 || month > 12) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t} else if (token == 'EE' || token == 'E') {\n\t\t\tfor (var i2 = 0; i2 < DAY_NAMES.length; i2++) {\n\t\t\t\tvar day_name = DAY_NAMES[i2];\n\t\t\t\tif (\n\t\t\t\t\tval.substring(i_val, i_val + day_name.length).toLowerCase() ==\n\t\t\t\t\tday_name.toLowerCase()\n\t\t\t\t) {\n\t\t\t\t\tif (week) {\n\t\t\t\t\t\tif (i2 == 0 || i2 == 7)\n\t\t\t\t\t\t\t//Sun\n\t\t\t\t\t\t\tdate += 6;\n\t\t\t\t\t\telse if (i2 == 2 || i2 == 9)\n\t\t\t\t\t\t\t//Tues\n\t\t\t\t\t\t\tdate += 1;\n\t\t\t\t\t\telse if (i2 == 3 || i2 == 10)\n\t\t\t\t\t\t\t//Wed\n\t\t\t\t\t\t\tdate += 2;\n\t\t\t\t\t\telse if (i2 == 4 || i2 == 11)\n\t\t\t\t\t\t\t// Thur\n\t\t\t\t\t\t\tdate += 3;\n\t\t\t\t\t\telse if (i2 == 5 || i2 == 12)\n\t\t\t\t\t\t\t//Fri\n\t\t\t\t\t\t\tdate += 4;\n\t\t\t\t\t\telse if (i2 == 6 || i2 == 13)\n\t\t\t\t\t\t\t//sat\n\t\t\t\t\t\t\tdate += 5;\n\t\t\t\t\t}\n\t\t\t\t\ti_val += day_name.length;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (token == 'MM' || token == 'M') {\n\t\t\tmonth = _getInt(val, i_val, token.length, 2);\n\t\t\tif (month == null || month < 1 || month > 12) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += month.length;\n\t\t} else if (token == 'dd' || token == 'd') {\n\t\t\tdate = _getInt(val, i_val, token.length, 2);\n\t\t\tif (date == null || date < 1 || date > 31) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += date.length;\n\t\t} else if (token == 'hh' || token == 'h') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 1 || hh > 12) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t} else if (token == 'HH' || token == 'H') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 0 || hh > 23) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t} else if (token == 'KK' || token == 'K') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 0 || hh > 11) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t} else if (token == 'kk' || token == 'k') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 1 || hh > 24) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t\thh--;\n\t\t} else if (token == 'mm' || token == 'm') {\n\t\t\tmm = _getInt(val, i_val, token.length, 2);\n\t\t\tif (mm == null || mm < 0 || mm > 59) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += mm.length;\n\t\t} else if (token == 'ss' || token == 's') {\n\t\t\tss = _getInt(val, i_val, token.length, 2);\n\t\t\tif (ss == null || ss < 0 || ss > 59) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += ss.length;\n\t\t} else if (token == 'a') {\n\t\t\tif (val.substring(i_val, i_val + 2).toLowerCase() == 'am') {\n\t\t\t\tampm = 'AM';\n\t\t\t} else if (val.substring(i_val, i_val + 2).toLowerCase() == 'pm') {\n\t\t\t\tampm = 'PM';\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += 2;\n\t\t} else if (token == 'w' || token == 'ww') {\n\t\t\t//week in year\n\t\t\tvar weekNum = _getInt(val, i_val, token.length, 2);\n\t\t\tweek = true;\n\t\t\tif (weekNum != null) {\n\t\t\t\tvar temp = new Date(year, 0, 1, 0, 0, 0);\n\t\t\t\ttemp.setWeek(parseInt(weekNum, 10));\n\t\t\t\tyear = temp.getFullYear();\n\t\t\t\tmonth = temp.getMonth() + 1;\n\t\t\t\tdate = temp.getDate();\n\t\t\t}\n\t\t\tweekNum += '';\n\t\t\ti_val += weekNum.length;\n\t\t} else if (token == 'D') {\n\t\t\tif (week) {\n\t\t\t\tvar day = _getInt(val, i_val, token.length, 1);\n\t\t\t\tif (day == null || day <= 0 || day > 7) return 0;\n\n\t\t\t\tvar temp2 = new Date(year, month - 1, date, hh, mm, ss);\n\t\t\t\t// get the current day of week that we are on (Sun=0)\n\t\t\t\tvar dayOfWeek = temp2.getDay();\n\n\t\t\t\t// get the day we want and adjust that to Sun=0\n\t\t\t\tday = parseInt(day, 10);\n\t\t\t\tday = (day + g_first_day_of_week - 1) % 7;\n\t\t\t\tif (day == 0) day = 7;\n\t\t\t\tday--;\n\n\t\t\t\t// determine how many days we need to add to the current date\n\t\t\t\tif (day < dayOfWeek) day = 7 - (dayOfWeek - day);\n\t\t\t\telse day -= dayOfWeek;\n\n\t\t\t\tif (day > 0) {\n\t\t\t\t\ttemp2.setDate(temp2.getDate() + day);\n\n\t\t\t\t\t// apply the date and get the year/month/date again since adding the date my rollover into next month\n\t\t\t\t\tyear = temp2.getFullYear();\n\t\t\t\t\tmonth = temp2.getMonth() + 1;\n\t\t\t\t\tdate = temp2.getDate();\n\t\t\t\t}\n\t\t\t\ti_val++;\n\t\t\t}\n\t\t} else if (token == 'z') i_val += 3;\n\t\telse {\n\t\t\tif (val.substring(i_val, i_val + token.length) != token) {\n\t\t\t\treturn 0;\n\t\t\t} else {\n\t\t\t\ti_val += token.length;\n\t\t\t}\n\t\t}\n\t}\n\t// If there are any trailing characters left in the value, it doesn't match\n\tif (i_val != val.length) {\n\t\treturn 0;\n\t}\n\t// Is date valid for month?\n\tif (month == 2) {\n\t\t// Check for leap year\n\t\tif ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {\n\t\t\t// leap year\n\t\t\tif (date > 29) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t} else {\n\t\t\tif (date > 28) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t}\n\tif (month == 4 || month == 6 || month == 9 || month == 11) {\n\t\tif (date > 30) {\n\t\t\treturn 0;\n\t\t}\n\t}\n\t// Correct hours value\n\tif (hh < 12 && ampm == 'PM') {\n\t\thh = hh - 0 + 12;\n\t} else if (hh > 11 && ampm == 'AM') {\n\t\thh -= 12;\n\t}\n\tvar newdate = new Date(year, month - 1, date, hh, mm, ss);\n\treturn newdate.getTime();\n}\n","import { map, reduce, isString, isArray, isObject } from 'lodash';\n\n/**\n * Convert the values and display values arrays into a single pill array\n * @param {array} values\n * @param {array} displayValues Boolean that indicates wheter or not shift was held.\n * @return {array} array of pill objects\n */\nfunction toPills(values, displayValues) {\n\tif (isString(values)) {\n\t\tvalues = convertToValueArray(values);\n\t}\n\n\tif (isString(displayValues)) {\n\t\tdisplayValues = convertToValueArray(displayValues);\n\t}\n\n\tif (!Array.isArray(displayValues)) displayValues = values;\n\n\treturn map(values, (value, index) => ({\n\t\tvalue,\n\t\tdisplayValue: displayValues[index] ? displayValues[index] : ''\n\t}));\n}\n\n/**\n * Convert the pill object array into individual value and displayValue arrays\n * @param {array} array of pill objects\n * @return {object} object containing the two arrays\n */\nfunction toValues(pills) {\n\treturn reduce(\n\t\tpills,\n\t\t(result, pill) => {\n\t\t\tpill = isObject(pill) ? pill : {};\n\n\t\t\tresult.values.push(pill.value);\n\t\t\tresult.displayValues.push(pill.displayValue);\n\n\t\t\treturn result;\n\t\t},\n\t\t{\n\t\t\tvalues: [],\n\t\t\tdisplayValues: []\n\t\t}\n\t);\n}\n\n/**\n * Converter function for handling values being passed in as a single or CSV string\n * @param {string} values The pressed key identifier.\n * @return {array} List of values\n */\nfunction convertToValueArray(values) {\n\tif (isArray(values)) {\n\t\treturn values;\n\t}\n\n\tif (!isString(values)) {\n\t\treturn [];\n\t}\n\n\treturn values.split(',');\n}\n\n/**\n * Get matches count of value on options list based on search type\n * @param {string} value user input value.\n * @param {array} options list of options containing displayValues and values.\n * @param {string} search type of search such as initial or contains.\n * @return {string} matches count\n */\n\nfunction getMatchesCount(options, search, value = '') {\n\tconst lowerValue = value.toLowerCase();\n\tconst method = search === 'contains' ? 'includes' : 'startsWith';\n\treturn options.reduce((result, item) => {\n\t\tconst itemValue = item.value ? item.value.toLowerCase() : '';\n\t\tconst itemDisplayValue = item.displayValue\n\t\t\t? item.displayValue.toLowerCase()\n\t\t\t: '';\n\n\t\tif (itemValue[method](lowerValue) || itemDisplayValue[method](lowerValue)) {\n\t\t\tresult.push(item);\n\t\t}\n\t\treturn result;\n\t}, []).length;\n}\n\nexport { toPills, toValues, convertToValueArray, getMatchesCount };\n","function findChildPath(items, path, index = 0) {\n\tconst itemIndex = items.findIndex(i => i.id === path[index]);\n\tif (itemIndex === -1) return;\n\n\tif (index === path.length - 1) {\n\t\treturn `[${itemIndex}]`;\n\t}\n\tconst childrenIndexPath = findChildPath(\n\t\titems[itemIndex].children,\n\t\tpath,\n\t\tindex + 1\n\t);\n\tif (childrenIndexPath) {\n\t\treturn `[${itemIndex}].children${childrenIndexPath}`;\n\t}\n}\n\nfunction getTreeNodeTypeIcon(isIndexed, type, tableName, isForeign) {\n\tlet icon;\n\tif (type == 'index') icon = 'tree-selected-outline';\n\telse if (type == 'function') icon = 'table-diamond-outline';\n\telse if (!tableName) {\n\t\tif (isIndexed) icon = 'circle-info-outline';\n\t\telse if (isForeign) icon = 'arrow-exit-outline';\n\t\telse icon = 'move-item-down-outline';\n\t} else icon = 'table-outline';\n\n\treturn icon;\n}\n\nfunction parseTree(xml, parentItem, filter = {}, labelSeparator = ' ') {\n\tlet nodes = [];\n\tconst rxml = new window.DOMParser().parseFromString(xml, 'text/xml');\n\tlet items = rxml.getElementsByTagName('item');\n\n\tfor (let i = 0; i < items.length; i++) {\n\t\tlet item = items[i];\n\n\t\tconst type = item.getAttribute('type');\n\t\tif (type && filter?.type && filter.type !== type) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst table = item.getAttribute('table');\n\t\tif (table && filter?.reference && table !== filter.reference) {\n\t\t\tcontinue;\n\t\t}\n\t\t//identify the name and label for the individual tree item\n\t\t//based on its parent item to support dot walked content selection\n\t\tconst value = item.getAttribute('value');\n\t\tconst label = item.getAttribute('label');\n\t\tlet nodeName, nodeLabel;\n\t\tif (parentItem.nodeName) {\n\t\t\tnodeName = parentItem.nodeName + '.' + value;\n\t\t\tnodeLabel = parentItem.nodeLabel + labelSeparator + label;\n\t\t} else {\n\t\t\tnodeName = value;\n\t\t\tnodeLabel = label;\n\t\t}\n\n\t\tlet tableName,\n\t\t\tisForeign = false;\n\t\tif (table && parentItem.tableName !== table) isForeign = true;\n\n\t\tconst isIndexed = item.getAttribute('indexed') == 'yes';\n\t\tlet reference = item.getAttribute('reference');\n\t\tif (!reference || type == 'glide_list') reference = '';\n\n\t\tif (reference) {\n\t\t\ttableName = reference;\n\t\t}\n\n\t\tconst node = {\n\t\t\tid: label + item.getAttribute('type'),\n\t\t\tlabel,\n\t\t\tclass: item.getAttribute('reference'),\n\t\t\tchildren: [],\n\t\t\tactionable: true,\n\t\t\tchildrenAvailable: item.getAttribute('reference') ? 1 : 0,\n\t\t\tvalue,\n\t\t\tactions: [\n\t\t\t\t{\n\t\t\t\t\tlabel: nodeName,\n\t\t\t\t\tclickActionType: 'click',\n\t\t\t\t\ticon: getTreeNodeTypeIcon(isIndexed, type, tableName, isForeign)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: table,\n\t\t\t\t\tclickActionType: 'click',\n\t\t\t\t\ticon: 'tree-view-short-outline'\n\t\t\t\t}\n\t\t\t],\n\t\t\tnodeName,\n\t\t\tnodeLabel,\n\t\t\ttableName\n\t\t};\n\t\tnodes.push(node);\n\t}\n\n\treturn nodes;\n}\n\nexport { findChildPath, parseTree };\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_index_jsdbx_780f5b3b__[\"default\"][\"default\"];\n\t\t\t\t} });","/**\n * react-docgen needs this to be an exported React class (_not_ PureComponent)\n * in order for the docs to be generated correctly.\n *\n * If you want to use these proptypes, just import via\n * the index.js file instead\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { FIELD_MESSAGE_TYPES } from '../constants';\n\n/**\n * TODO - Remove this file when all components are converted to seismic components\n * Basic props that are common to nearly all form components.\n */\n\nexport default class ComponentBase extends React.Component {\n\tstatic displayName = 'Any Component';\n\tstatic propTypes = {\n\t\t/** Seismic dispatcher */\n\t\tdispatch: PropTypes.func,\n\n\t\t/** Unique identifier for the component. */\n\t\tcomponentId: PropTypes.string.isRequired,\n\n\t\t/** Data returned by one of the Seismic resource handlers */\n\t\tresources: PropTypes.object,\n\n\t\t/** Asynchronous Message Bus (AMB) API */\n\t\tchannels: PropTypes.object,\n\t\t/**\n\t\t * array of message objects that must contain type and message itself.\n\t\t */\n\t\tmessages: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\ttype: PropTypes.oneOf(FIELD_MESSAGE_TYPES),\n\t\t\t\tmessage: PropTypes.oneOfType([\n\t\t\t\t\tPropTypes.string,\n\t\t\t\t\tPropTypes.shape({ getMessage: PropTypes.func })\n\t\t\t\t])\n\t\t\t})\n\t\t),\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t */\n\t\tformData: PropTypes.object,\n\t\t/**\n\t\t * Name of the field\n\t\t */\n\t\tfieldName: PropTypes.any,\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t */\n\n\t\ttableName: PropTypes.string,\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t */\n\t\trecordSysId: PropTypes.string,\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t */\n\t\tname: PropTypes.string,\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t */\n\t\tlabel: PropTypes.string,\n\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t */\n\t\tvalue: PropTypes.string,\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t */\n\t\tonValueChange: PropTypes.func,\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t */\n\t\tonStagedValueChange: PropTypes.func,\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t */\n\t\tdescription: PropTypes.string,\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t */\n\t\trequired: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\treadonly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\treversed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\tinvalid: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\tautofocus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t */\n\t\tslot: PropTypes.string,\n\n\t\t/**\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t */\n\t\t'aria-label': PropTypes.string,\n\n\t\t/**\n\t\t * Which element (by ID) acts as a label for the component\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\n\t\t/**\n\t\t * Which element (by ID) provides more description for the component\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\n\t\t/**\n\t\t * aria-* attribute configuration\n\t\t */\n\t\t'config-aria': PropTypes.object,\n\n\t\tfieldType: PropTypes.string,\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: PropTypes.bool,\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: PropTypes.bool\n\t};\n\tstatic defaultProps = {\n\t\tcomponentId: 'id',\n\t\tshowAIIndicator: false,\n\t\tisModified: false\n\t};\n}\n","/**\n * TODO - Remove this file once all react components are converted.\n * Use SeismicComponentFieldPropDefaults wherever needed.\n *\n * react-docgen needs this to be an exported React class (_not_ PureComponent)\n * in order for the docs to be generated correctly.\n *\n * If you want to use these proptypes, just import via\n * the index.js file instead\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ComponentBase from './ComponentBase';\n\n/**\n * Prop types for controlled components. Note that this is just a subset of the\n * [React events](https://reactjs.org/docs/events.html#supported-events). The\n * payload for each event is identical to the React event.\n */\nexport default class ControlledField extends React.Component {\n\tstatic displayName = 'Controlled Fields';\n\tstatic propTypes = {\n\t\t...ComponentBase.propTypes,\n\n\t\t/**\n\t\t * onChange event callback\n\t\t */\n\t\tonChange: PropTypes.func,\n\n\t\t/**\n\t\t * onSelect event callback\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * onClick event callback\n\t\t */\n\t\tonClick: PropTypes.func,\n\n\t\t/**\n\t\t * onMouseEnter event callback\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\n\t\t/**\n\t\t * onMouseLeave event callback\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\n\t\t/**\n\t\t * onFocus event callback\n\t\t */\n\t\tonFocus: PropTypes.func,\n\n\t\t/**\n\t\t * onBlur event callback\n\t\t */\n\t\tonBlur: PropTypes.func,\n\n\t\t/**\n\t\t * onKeyDown event callback\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\n\t\t/**\n\t\t * onKeyUp event callback\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\n\t\t/**\n\t\t * onKeyPress event callback\n\t\t */\n\t\tonKeyPress: PropTypes.func\n\t};\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { noop, isFunction, values, size } from 'lodash';\nimport { nodeContainsFocus, isNodeInEventPath } from '../utils/dom';\nimport {\n\taddOutsideScrollListener,\n\tremoveOutsideScrollListener\n} from '../utils/outside-scroll';\n\n/**\n * Execute a callback when the node loses focus (either by tabbing off the\n * element or clicking outside).\n *\n * @returns an object containing a `remove()` method to clean up event\n * handlers.\n */\nexport function onLeave(node, callback, { handleOutsideScroll }) {\n\tconst singleNode = Array.isArray(node) ? node[0] : node;\n\n\tfunction keyboardHandler(event) {\n\t\t// This setTimeout is here in order to prevent the race condition between\n\t\t// the callback and the keydown event firing. Keydown event happens BEFORE\n\t\t// focus is lost, where mousedown happens AFTER. Without the setTimeout,\n\t\t// mouse clicks work fine, but pressing TAB does not register as leaving\n\t\t// the field.\n\t\tsetTimeout(() => {\n\t\t\tif (!nodeContainsFocus(node)) {\n\t\t\t\tcallback(event);\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction mouseHandler(event) {\n\t\tif (!isNodeInEventPath(node, event)) {\n\t\t\tcallback(event);\n\t\t}\n\t}\n\n\tfunction scrollHandler(event) {\n\t\tcallback(event);\n\t\tnode.forEach(n => n.blur());\n\t}\n\n\tdocument.addEventListener('mousedown', mouseHandler);\n\tdocument.addEventListener('keydown', keyboardHandler);\n\tif (handleOutsideScroll) {\n\t\taddOutsideScrollListener(singleNode, scrollHandler);\n\t}\n\n\treturn {\n\t\tremove: () => {\n\t\t\tdocument.removeEventListener('mousedown', mouseHandler);\n\t\t\tdocument.removeEventListener('keydown', keyboardHandler);\n\t\t\tremoveOutsideScrollListener(singleNode);\n\t\t\treturn null;\n\t\t}\n\t};\n}\n\n/**\n * Component that handles focus state management setup and cleanup across\n * separate nodes. This is typically used to defer blur events on an input when\n * a sibling dropdown is active.  It will wrap the component passed through and\n * handle calling the passed in `onBlur` when focus leaves the component(s) set\n * by `setFocusTarget`.\n *\n * The child must be a function that returns a React element. The function\n * will be called with a `setFocusTarget` parameter that the child can use to flag\n * specific nodes that need to listen to blur events.\n *\n * Call setFocusTarget with a string that acts as a key to handle multiple refs and duplicates. Then pass that result through\n * to any ref prop in a Component. i.e. <Component ref={setFocusTarget('my-key')} />\n *\n * @param {function} props.onBlur - The function to call when focus is lost\n * @param {function} props.children - The child *must* be a function that returns your actual component.\n *\n * @example\n * const handleBlur = () => console.log(\"no longer active!\");\n *\n * const Component = ({ isActive }) => (\n *   <FocusWatcher onBlur={handleBlur}>\n *     { setFocusTarget => (\n *       // my real component\n *       <input ref={setFocusTarget('my-ref')} />\n *     )}\n *   <\/FocusWatcher>\n * )\n */\nexport default class FocusWatcher extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tif (!isFunction(props.children)) {\n\t\t\tthrow new Error('The child must be a function');\n\t\t}\n\n\t\tthis.nodes = {};\n\t\tthis.globalListener = null;\n\t\tthis.focused = false;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.globalListener && this.globalListener.remove();\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tif (this.props.onBlur !== nextProps.onBlur) {\n\t\t\tthis.setupGlobalListener(nextProps.onBlur);\n\t\t}\n\t}\n\n\tsetupGlobalListener = callback => {\n\t\tif (this.globalListener) {\n\t\t\tthis.globalListener = this.globalListener.remove();\n\t\t}\n\n\t\tif (size(this.nodes) > 1) {\n\t\t\tthis.globalListener = onLeave(values(this.nodes), callback, {\n\t\t\t\thandleOutsideScroll: this.props.handleOutsideScroll\n\t\t\t});\n\t\t}\n\t};\n\n\tsetFocusTarget = key => {\n\t\treturn ref => {\n\t\t\tif (ref === null) {\n\t\t\t\tdelete this.nodes[key];\n\t\t\t} else {\n\t\t\t\tthis.nodes[key] = ref;\n\t\t\t\tref.addEventListener('blur', this.onNodeBlur);\n\t\t\t\tref.addEventListener('focus', this.onFocus);\n\t\t\t}\n\n\t\t\tthis.setupGlobalListener(this.onGlobalBlur);\n\n\t\t\treturn ref;\n\t\t};\n\t};\n\n\tonNodeBlur = (...args) => {\n\t\tif (size(this.nodes) <= 1) {\n\t\t\tthis.focused = false;\n\t\t\tthis.onGlobalBlur(...args);\n\t\t}\n\t};\n\n\tonGlobalBlur = (...args) => {\n\t\tif (!this.props.persistant || (this.props.persistant && this.focused)) {\n\t\t\tthis.focused = false;\n\t\t\tthis.props.onBlur(...args);\n\t\t}\n\t};\n\n\tonFocus = () => {\n\t\tthis.focused = true;\n\t};\n\n\trender() {\n\t\treturn this.props.children(this.setFocusTarget);\n\t}\n}\n\nFocusWatcher.propTypes = {\n\tchildren: PropTypes.func.isRequired,\n\tonBlur: PropTypes.func,\n\thandleOutsideScroll: PropTypes.bool\n};\n\nFocusWatcher.defaultProps = {\n\tonBlur: noop,\n\thandleOutsideScroll: false\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_react_dom_index_jsdbx_d7b94163__[\"default\"][\"default\"];\n\t\t\t\t} });","import PropTypes from 'prop-types';\nimport { isFunction } from 'lodash';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\n/**\n * TODO - \tThis component might not be required when Textarea and DumbTextInput are migrated to seismic\n * \t\t\tRevisit once these components are migrated to Seismic\n *\n * React does not always play nicely with WebComponents, especially when they\n * are polyfilled by ShadyDOM. We have some cases where `onBlur` or `onFocus`\n * is not correctly called in Firefox or IE, but natively attaching an event is\n * all good.\n *\n * https://code.devsnc.com/dev/sn-component-form-controls/pull/124\n *\n * This component expects a single child and hijacks any `onBlur` or `onFocus`\n * callback, replacing it with a native event instead.\n *\n * Will throw an exception with multiple children, or when the single child is\n * not a React component... so don't go passing stupid values in.\n */\nexport default class ShadyDOMEventFixer extends React.PureComponent {\n\tstatic propTypes = {\n\t\tchildren: PropTypes.element\n\t};\n\n\taddListeners(props) {\n\t\tconst child = React.Children.only(props.children);\n\t\tconst node = ReactDOM.findDOMNode(this);\n\n\t\tif (node && child.props.onBlur) {\n\t\t\tnode.addEventListener('blur', child.props.onBlur);\n\t\t}\n\n\t\tif (node && child.props.onFocus) {\n\t\t\tnode.addEventListener('focus', child.props.onFocus);\n\t\t}\n\t}\n\n\tremoveListeners(props) {\n\t\tconst child = React.Children.only(props.children);\n\t\tconst node = ReactDOM.findDOMNode(this);\n\n\t\tif (node && child.props.onBlur) {\n\t\t\tnode.removeEventListener('blur', child.props.onBlur);\n\t\t}\n\n\t\tif (node && child.props.onFocus) {\n\t\t\tnode.removeEventListener('focus', child.props.onFocus);\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif (!window.ShadyDOM) return;\n\t\tthis.addListeners(this.props);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tif (!window.ShadyDOM) return;\n\t\tthis.removeListeners(this.props);\n\t\tthis.addListeners(nextProps);\n\t}\n\n\trender() {\n\t\tconst child = React.Children.only(this.props.children);\n\t\tif (\n\t\t\twindow.ShadyDOM &&\n\t\t\t(isFunction(child.props.onBlur) || isFunction(child.props.onFocus))\n\t\t) {\n\t\t\treturn React.cloneElement(child, {\n\t\t\t\t...child.props,\n\t\t\t\tonBlur: undefined,\n\t\t\t\tonFocus: undefined\n\t\t\t});\n\t\t}\n\n\t\treturn child;\n\t}\n}","export default function camelCase(str) {\n    return str.replace( /[-_]+/g, ' ')\n        .replace( /[^\\w\\s]/g, '')\n        .replace( / (.)/g, $1 => $1.toUpperCase())\n        .replace( / /g, '')\n        .replace(/^./g, $1 => $1.toLowerCase());\n}","export const ATTRIBUTES = [\n\t'component-id',\n\t'listen-to',\n\t'path',\n\t'context',\n\t'context-modifier',\n\t'key',\n\t'dangerouslySetInnerHTML',\n\t'suppressContentEditableWarning',\n\t'suppressHydrationWarning',\n\t'alt',\n\t'async',\n\t'autocomplete',\n\t'autofocus',\n\t'autoplay',\n\t'capture',\n\t'checked',\n\t'default',\n\t'defer',\n\t'disabled',\n\t'draggable',\n\t'dropzone',\n\t'hidden',\n\t'href',\n\t'hreflang',\n\t'http-equiv',\n\t'icon',\n\t'id',\n\t'is',\n\t'maxlength',\n\t'minlength',\n\t'media',\n\t'method',\n\t'multiple',\n\t'name',\n\t'placeholder',\n\t'readonly',\n\t'rel',\n\t'required',\n\t'reversed',\n\t'role',\n\t'rows',\n\t'rowspan',\n\t'selected',\n\t'slot',\n\t'src',\n\t'tabindex',\n\t'target',\n\t'title',\n\t'type',\n\t'value'\n];\n\nexport const MAPPED_TO_PROPS = [\n\t'value'\n];\n","const x = 2147483648;\nconst baseId =\n\tMath.floor(Math.random() * x).toString(36) +\n\tMath.abs(Math.floor(Math.random() * x) ^ Date.now()).toString(36);\n\nlet count = 0;\nfunction guid() {\n\tcount = count + 1;\n\treturn `${baseId}-${count}`;\n}\n\nconst callAsync = Promise.resolve().then.bind(Promise.resolve());\n\nconst shadowRootToSharedAccessibilityTargets = new Map();\nconst shadowRootToAccessibilityTargetsItemsQueue = new Map();\n\nconst shadowRootToAriaRefs = new Map();\nconst shadowRootToAriaRefsQueue = new Map();\n\nexport default function ariaRefHelpers(name, props) {\n\tif (typeof name !== 'string') {\n\t\treturn {handleAriaAccessibility: () => {}, ariaSetVnode: () => {}, requiresRef: false};\n\t}\n\t/**\n\t * Array<{\n\t *   targetRef: AriaRef,\n\t *   id: string,\n\t *   ariaAttribute: string,\n\t *   callback?: (targetRef: AriaRef) => {},\n\t *   currentClone?: Element,\n\t *   element?: Element\n\t * }>\n\t */\n\tconst accessibilityTargets = []; \n\tif (typeof name === 'string') {\n\t\tfor (const propName in props) {\n\t\t\tif (propName.startsWith('aria-') && props[propName] && typeof props[propName].subscribe === 'function') {\n\t\t\t\tconst id = `a${guid()}`;\n\t\t\t\tconst targetRef = props[propName];\n\t\t\t\tprops[propName] = id;\n\t\t\t\taccessibilityTargets.push({targetRef, id, ariaAttribute: propName})\n\t\t\t}\n\t\t}\n\t}\n\n\tlet ariaRef;\n\tif (props && props['now-aria-ref']) {\n\t\tariaRef = props['now-aria-ref'];\n\t\tdelete props['now-aria-ref'];\n\t}\n\t\n\tfunction createAriaRefHierarchy(node) {\n\t\tif (!node) {\n\t\t\tariaRef.setCurrent(node);\n\t\t\treturn;\n\t\t}\n\n\t\tconst ariaRefShadowRoot = node.getRootNode();\n\t\tlet ariaRefAssignments = shadowRootToAriaRefs.get(ariaRefShadowRoot);\n\t\tif (!ariaRefAssignments) {\n\t\t\tariaRefAssignments = [];\n\t\t\tshadowRootToAriaRefs.set(ariaRefShadowRoot, ariaRefAssignments);\n\t\t}\n\t\tariaRefAssignments.push({ariaRef, element: node});\n\n\t\tcallAsync(() => {\n\t\t\tlet ariaRefsQueue = shadowRootToAriaRefsQueue.get(ariaRefShadowRoot);\n\t\t\tif (!ariaRefsQueue) {\n\t\t\t\tariaRefsQueue = [];\n\t\t\t\tshadowRootToAriaRefsQueue.set(ariaRefShadowRoot, ariaRefsQueue);\n\t\t\t}\n\t\t\tariaRefsQueue.push(ariaRef);\n\n\t\t\tif (ariaRefsQueue.length === ariaRefAssignments.length) {\n\t\t\t\tshadowRootToAriaRefs.delete(ariaRefShadowRoot);\n\t\t\t\tshadowRootToAriaRefsQueue.delete(ariaRefShadowRoot);\n\n\t\t\t\tconst assignments = ariaRefAssignments.reverse(); // Reverse so that children always come after parents\n\t\t\t\tconst ariaRefToAssignment = new Map();\n\t\t\t\tfor (let i = 0; i < assignments.length; i++) {\n\t\t\t\t\tconst ariaRefAssignment = assignments[i];\n\n\t\t\t\t\tariaRefToAssignment.set(ariaRefAssignment.ariaRef, ariaRefAssignment);\n\t\t\t\t\t// We know that a parent of an ariaRef will always be before\n\t\t\t\t\t// it in the refs array. We can use this knowledge to efficiently figure out\n\t\t\t\t\t// each ariaRef's parent ariaRef\n\t\t\t\t\tif (i > 0) {\n\t\t\t\t\t\tlet possibleParentAriaRef = assignments[i - 1].ariaRef;\n\t\t\t\t\t\twhile (possibleParentAriaRef) {\n\t\t\t\t\t\t\tif (possibleParentAriaRef.contains(ariaRefAssignment.element)) {\n\t\t\t\t\t\t\t\tpossibleParentAriaRef.setChildQuerySelector(\n\t\t\t\t\t\t\t\t\tariaRefAssignment.ariaRef,\n\t\t\t\t\t\t\t\t\tbuildQuerySelector(\n\t\t\t\t\t\t\t\t\t\tariaRefToAssignment.get(possibleParentAriaRef).element,\n\t\t\t\t\t\t\t\t\t\tariaRefAssignment.element\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tariaRefAssignment.ariaRef.setParentAriaRef(possibleParentAriaRef);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tpossibleParentAriaRef = possibleParentAriaRef.getParentAriaRef();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tariaRefAssignment.ariaRef.setCurrent(ariaRefAssignment.element);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction handleAriaAccessibility(node) {\n\t\tif (ariaRef) {\n\t\t\tcreateAriaRefHierarchy(node);\n\t\t}\n\n\t\tfor (const item of accessibilityTargets) {\n\t\t\titem.element = node;\n\n\t\t\tif (!node) {\n\t\t\t\tif (item.currentClone && item.currentClone.parentNode) {\n\t\t\t\t\titem.currentClone.parentNode.removeChild(item.currentClone);\n\t\t\t\t\titem.currentClone = null;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (item.callback) {\n\t\t\t\t\titem.targetRef.unsubscribe({element: node, attribute: item.ariaAttribute});\n\t\t\t\t\titem.callback = null;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tfunction callback(targetRef) {\n\t\t\t\tif (!targetRef || !targetRef.isSet()) {\n\t\t\t\t\tif (item.currentClone && item.currentClone.parentNode) {\n\t\t\t\t\t\titem.currentClone.parentNode.removeChild(item.currentClone);\n\t\t\t\t\t\titem.currentClone = null;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode.removeAttribute(item.ariaAttribute);\n\t\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tnode.setAttribute(item.ariaAttribute, item.id)\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// If the element and target are in the same shadowRoot, don't clone the target\n\t\t\t\t// but instead just add the id to the target\n\t\t\t\tif (node.getRootNode() === targetRef.getRootNode()) {\n\t\t\t\t\tconst id = targetRef.getAttribute('id');\n\t\t\t\t\tif (id) {\n\t\t\t\t\t\tnode.setAttribute(item.ariaAttribute, id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttargetRef.setId(item.id);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst sourceShadowRoot = node.getRootNode();\n\t\t\t\tlet sharedAccessibilityTargets = shadowRootToSharedAccessibilityTargets.get(sourceShadowRoot);\n\t\t\t\tif (!sharedAccessibilityTargets) {\n\t\t\t\t\tsharedAccessibilityTargets = new Set();\n\t\t\t\t\tshadowRootToSharedAccessibilityTargets.set(sourceShadowRoot, sharedAccessibilityTargets);\n\t\t\t\t}\n\t\t\t\tsharedAccessibilityTargets.add(item);\n\n\t\t\t\tcallAsync(() => {\n\t\t\t\t\tconst targetShadowRoot = targetRef.getRootNode();\n\t\t\t\t\n\t\t\t\t\tconst targetItemsWithSharedShadow = Array.from(sharedAccessibilityTargets).filter(\n\t\t\t\t\t\tt => t.targetRef.isSet() && t.targetRef.getRootNode() === targetShadowRoot\n\t\t\t\t\t);\n\t\n\t\t\t\t\tlet targetItemsSharedShadowQueue = shadowRootToAccessibilityTargetsItemsQueue.get(targetShadowRoot);\n\t\t\t\t\tif (!targetItemsSharedShadowQueue) {\n\t\t\t\t\t\ttargetItemsSharedShadowQueue = new Set();\n\t\t\t\t\t\tshadowRootToAccessibilityTargetsItemsQueue.set(targetShadowRoot, targetItemsSharedShadowQueue);\n\t\t\t\t\t}\n\t\t\t\t\ttargetItemsSharedShadowQueue.add(item);\n\t\n\t\t\t\t\tif (targetItemsSharedShadowQueue.size === targetItemsWithSharedShadow.length) {\n\t\t\t\t\t\thandleAccessibilityTargets(targetItemsSharedShadowQueue);\n\t\t\t\t\t\tshadowRootToSharedAccessibilityTargets.delete(sourceShadowRoot);\n\t\t\t\t\t\tshadowRootToAccessibilityTargetsItemsQueue.delete(targetShadowRoot);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t\t\n\t\t\t// Subscribe for any changes to the aria ref so we can replace the cloned node\n\t\t\titem.callback = callback;\n\t\t\titem.targetRef.subscribe({element: node, attribute: item.ariaAttribute}, callback);\n\t\t}\n\t}\n\n\tfunction ariaSetVnode(vnode) {\t\n\t\tfor (let i = 0; i < accessibilityTargets.length; i++) {\n\t\t\tconst item = accessibilityTargets[i];\n\t\t\titem.vnode = vnode;\n\t\t}\n\t}\n\n\treturn {handleAriaAccessibility, ariaSetVnode, requiresRef: !!(ariaRef || accessibilityTargets.length)};\n}\n\nfunction handleAccessibilityTargets(targetItemsShadowQueue) {\n\t// Separate ariaRefs that do and do not have a parent.\n\t// Those without a parent are the refs that should be cloned\n\tconst targetRefToTreeNode = new Map();\n\tconst targetItemRoots = [];\n\tconst targetItems = Array.from(targetItemsShadowQueue);\n\tfor (let i = 0; i < targetItems.length; i++) {\n\t\tconst targetItem = targetItems[i];\n\n\t\tlet treeNode = targetRefToTreeNode.get(targetItem.targetRef);\n\t\tif (!treeNode) {\n\t\t\ttreeNode = {\n\t\t\t\ttargetItems: [],\n\t\t\t\tchildren: [],\n\t\t\t\ttargetRef: targetItem.targetRef,\n\t\t\t\tparentTargetRef: null\n\t\t\t};\n\t\t\ttargetRefToTreeNode.set(targetItem.targetRef, treeNode);\n\t\t}\n\t\ttreeNode.targetItems.push(targetItem);\n\n\t\tlet parentAriaRef = targetItem.targetRef.getParentAriaRef();\n\t\twhile (parentAriaRef) {\n\t\t\tif (targetItems.find(item => item.targetRef === parentAriaRef)) {\n\t\t\t\tlet parentNode = targetRefToTreeNode.get(parentAriaRef);\n\t\t\t\tif (!parentNode) {\n\t\t\t\t\tparentNode = {\n\t\t\t\t\t\ttargetItems: [],\n\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t\ttargetRef: parentAriaRef,\n\t\t\t\t\t\tparentTargetRef: null\n\t\t\t\t\t};\n\t\t\t\t\ttargetRefToTreeNode.set(parentAriaRef, parentNode);\n\t\t\t\t}\n\n\t\t\t\ttreeNode.parentTargetRef = parentAriaRef;\n\t\t\t\tparentNode.children.push(targetItem);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tparentAriaRef = parentAriaRef.getParentAriaRef();\n\t\t}\n\n\t\tif (!parentAriaRef)\n\t\t\ttargetItemRoots.push(targetItem);\n\t}\n\n\t// Loop over targetItemRoots:\n\t// For each one, if it hasn't been cloned yet, clone into DOM and then for each child:\n\t// If it hasn't been handled yet, create the query selector from the child targetRef to the\n\t// parent targetRef, then use that selector on the cloned item, then edit the returned element\n\t// to have the correct id\n\tconst cloned = new Map();\n\tconst targetRefToQuerySelector = new Map();\n\tfor (let i = 0; i < targetItemRoots.length; i++) {\n\t\tconst rootTargetItem = targetItemRoots[i];\n\t\tconst firstItemWithTargetRef = cloned.get(rootTargetItem.targetRef);\n\t\trootTargetItem.element.setAttribute(\n\t\t\trootTargetItem.ariaAttribute,\n\t\t\tfirstItemWithTargetRef ? firstItemWithTargetRef.id : rootTargetItem.id\n\t\t);\n\t\tif (!firstItemWithTargetRef) {\n\t\t\tcloned.set(rootTargetItem.targetRef, rootTargetItem);\n\n\t\t\tconst clone = rootTargetItem.targetRef.cloneNode(true);\n\t\t\tclone.id = rootTargetItem.id;\n\t\t\tclone.setAttribute('aria-hidden', true);\n\n\t\t\tconst container = document.createElement('div');\n\t\t\tcontainer.style =\n\t\t\t\t'position: absolute; overflow: hidden; width: 1px; height: 1px; margin: 0; border: none; padding: 0; white-space: nowrap; clip: rect(0 0 0 0); clip-path: inset(50%);';\n\t\t\tcontainer.appendChild(clone);\n\n\t\t\tif (rootTargetItem.currentClone && rootTargetItem.currentClone.parentNode)\n\t\t\t\trootTargetItem.currentClone.parentNode.removeChild(rootTargetItem.currentClone);\n\n\t\t\trootTargetItem.element.getRootNode().appendChild(container);\n\t\t\trootTargetItem.currentClone = container;\n\t\t}\n\n\t\tlet children = [...targetRefToTreeNode.get(rootTargetItem.targetRef).children];\n\t\ttargetRefToQuerySelector.set(rootTargetItem.targetRef, '');\n\t\twhile (children.length) {\n\t\t\tconst childItem = children.shift();\n\n\t\t\tconst firstItemWithTargetRef = cloned.get(childItem.targetRef);\n\t\t\tconst itemId = firstItemWithTargetRef ? firstItemWithTargetRef.id : childItem.id;\n\t\t\tchildItem.element.setAttribute(childItem.ariaAttribute, itemId);\n\t\t\tif (!firstItemWithTargetRef) {\n\t\t\t\tcloned.set(childItem.targetRef, childItem);\n\n\t\t\t\tconst treeNode = targetRefToTreeNode.get(childItem.targetRef);\n\t\t\t\tconst selections = [];\n\n\t\t\t\tlet currentParent;\n\t\t\t\tlet currentChild = childItem.targetRef;\n\t\t\t\tdo {\n\t\t\t\t\tcurrentParent = currentChild.getParentAriaRef();\n\t\t\t\t\tconst partialSelector = currentParent.getChildQuerySelector(currentChild);\n\t\t\t\t\tselections.push(partialSelector);\n\t\t\t\t\tcurrentChild = currentParent;\n\t\t\t\t} while (currentParent !== rootTargetItem.targetRef);\n\n\t\t\t\tconst selector = selections.reverse().join(' > ');\n\t\t\t\tconst node = rootTargetItem.currentClone.querySelector(selector);\n\n\t\t\t\tnode.id = itemId;\n\t\t\t\tchildren = children.concat(treeNode.children);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction buildQuerySelector(parent, child) {\n\tconst path = [];\n\tlet el = child;\n\twhile (el !== parent) {\n\t\tlet position = 0;\n\t\tlet current = el;\n\t\twhile (current) {\n\t\t\tif (current.tagName === el.tagName)\n\t\t\t\tposition += 1;\n\n\t\t\tcurrent = current.previousElementSibling;\n\t\t}\n\n\t\tpath.push(`${el.tagName.toLowerCase()}:nth-of-type(${position})`);\n\n\t\tel = el.parentNode;\n\t}\n\n\treturn path.reverse().join(' > ');\n}","import React from 'react';\nimport camelCase from './camelCase';\nimport {ATTRIBUTES, MAPPED_TO_PROPS} from './constants';\nimport ariaRefHelpers from './ariaRefHelpers';\n\nexport default function createElement(name, props = {}, ...children) {\n\tfunction isSeismicComponent(name) {\n\t\treturn typeof name === 'string' && name.indexOf('-') !== -1;\n\t}\n\n\tfunction isAttribute(name) {\n\t\treturn ATTRIBUTES.indexOf(name) !== -1\n\t\t\t|| name.startsWith('aria-')\n\t\t\t|| name.startsWith('data-');\n\t}\n\n\tfunction isMappedToProps(name) {\n\t\treturn MAPPED_TO_PROPS.indexOf(name) !== -1;\n  }\n  \n  const {handleAriaAccessibility, ariaSetVnode, requiresRef} = ariaRefHelpers(name, props);\n\t\n\tif (props && !!Object.keys(props).length && isSeismicComponent(name)) {\n\t\tconst existingRef = props.ref && typeof props.ref === 'function' && props.ref;\n\t\tconst attributes = {};\n\t\tconst properties = {};\n\n\t\tfor (const name in props) {\n\t\t\tif (isAttribute(name))\n\t\t\t\tattributes[name] = props[name];\n\t\t\telse\n\t\t\t\tproperties[camelCase(name)] = props[name];\n\n\t\t\tif (isMappedToProps(name))\n\t\t\t\tproperties[name] = props[name];\n\t\t}\n\n\t\tif (!!Object.keys(properties).length) {\n\t\t\tconst vnode = React.createElement(\n\t\t\t\tname,\n\t\t\t\tObject.assign({}, attributes, {ref: node => {\n\t\t\t\t\thandleAriaAccessibility(node);\n\t\t\t\t\t\n\t\t\t\t\tif (!node)\n\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\n\t\t\t\t\texistingRef && existingRef(node);\n\t\t\t\t\tObject.assign(node, properties);\n\t\t\t\t}}),\n\t\t\t\t...children\n      );\n\n      ariaSetVnode(vnode);\n\n      return vnode;\n\t\t}\n\t}\n\n  if (requiresRef) {\n    const vnode = React.createElement(\n      name,\n      {\n        ...props,\n        ref: node => {\n          handleAriaAccessibility(node);\n          \n          if (props && props.ref) {\n            props.ref(node);\n          }\n        }\n      },\n      ...children\n    );\n  \n    ariaSetVnode(vnode);\n    \n    return vnode;\n  } else {\n    return React.createElement(name, props, ...children);\n  }\n}\n","import '@servicenow/now-highlighted-value';\n// eslint-disable-next-line no-unused-vars\nimport react from '@servicenow/ui-renderer-react';\nimport { isEmpty } from 'lodash';\nimport React from 'react';\n\n// TODO: Currently React components supports only React fragments\n// To be removed in future when all components are migrated to Snabdom\nexport const renderHighlightedValueReact = highlightedValue => {\n\tconst {\n\t\tvalue: highlightedValueLabel,\n\t\tstatus,\n\t\tshowIcon,\n\t\tvariantName,\n\t\tcolorName,\n\t\ticonName\n\t} = highlightedValue || {};\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t{!isEmpty(highlightedValue) && (\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tslot=\"label-end\"\n\t\t\t\t\tlabel={highlightedValueLabel}\n\t\t\t\t\tcolor={colorName}\n\t\t\t\t\tshow-icon={showIcon}\n\t\t\t\t\tvariant={variantName}\n\t\t\t\t\ticon={showIcon ? iconName : null}\n\t\t\t\t\tstatus={!colorName ? status : null}\n\t\t\t\t><\/now-highlighted-value>\n\t\t\t)}\n\t\t<\/React.Fragment>\n\t);\n};\n","import React from 'react';\n\n//TODO - Can be removed once all components are converted to seismic\nexport const ForwardProperties = Component =>\n\tfunction RegisteredComponent({ properties, ...rest }) {\n\t\treturn React.createElement(Component, {\n\t\t\t...properties,\n\t\t\t...rest,\n\t\t\tproperties\n\t\t});\n\t};\n","/**\n * HOC to provide normalized `dispatch`, `onValueChange`, and\n * `onStagedValueChange` prop functions for wrapped components.\n *\n * `onValueChange` and `onStagedValueChange` should be called\n * with a single object parameter, which should contain the data\n * payload to event up to the parent/through Seismic\n *\n * e.g.:\n *\n *   this.props.onValueChange({ value: 'the value' });\n *   this.props.onStagedValueChange({ value: 'the staged value' })\n *\n * The on*ValueChange functions also handle dispatching the event\n * up through Seismic.\n *\n * By default, this HOC also caches the payload between multiple\n * on*ValueChange calls, preventing sequential calls with the same payload.\n * This behavior can be disabled by providing the `cache: false` option.\n */\nimport {\n\tisEqualWith,\n\tisFunction,\n\tisNil,\n\tnoop,\n\tpick,\n\tisObject,\n\tcamelCase,\n\tcurry,\n\tisUndefined,\n\tset\n} from 'lodash';\nimport React from 'react';\n\nconst allLowerCase = s => camelCase(s).toLowerCase();\nconst undefinedToNull = thing => (isUndefined(thing) ? null : thing);\n\n/**\n * Parent on*ValueChange functions originally supported the following\n * signature:\n *\n * (event, name, value, displayValue)\n *\n * But having the most useful pieces of data as the 3rd and 4th\n * argument sucks + it's inconsistent with our dispatch data. This\n * conditionally allows passing the entire payload obj as first\n * parameter if the callback isn't expecting multiple args.\n */\nexport const adaptCallbackForLegacyAPI = callback => payload => {\n\tif (!isFunction(callback) || !isObject(payload)) {\n\t\treturn false;\n\t}\n\n\tconst args =\n\t\tcallback.length > 1\n\t\t\t? [\n\t\t\t\t\tpayload.event,\n\t\t\t\t\tpayload.name,\n\t\t\t\t\tpayload.value,\n\t\t\t\t\tpayload.displayValue,\n\t\t\t\t\tpayload.error,\n\t\t\t\t\tpayload.additionalInfo\n\t\t\t  ].map(undefinedToNull)\n\t\t\t: [payload];\n\n\tcallback(...args);\n\n\treturn true;\n};\n\nconst createHOC = curry(\n\t(\n\t\t{\n\t\t\tinitialValueProp = 'value',\n\t\t\tinitialDisplayValueProp = 'displayValue',\n\t\t\tcache = true,\n\t\t\tstopBubbling = []\n\t\t},\n\t\tControl\n\t) =>\n\t\tclass OnValueChangeProvider extends React.Component {\n\t\t\tstatic displayName = `OnValueChangeProvider(${\n\t\t\t\tControl.name || Control.displayName || 'Component'\n\t\t\t})`;\n\t\t\tstatic behaviors = Control.behaviors;\n\t\t\tstatic defaultProps = Control.defaultProps;\n\t\t\tstatic propTypes = Control.propTypes;\n\t\t\tstatic properties = Control.properties;\n\t\t\tstatic style = Control.style;\n\t\t\tstatic initialState = Control.initialState;\n\t\t\tstatic actionHandlers = stopBubbling.reduce((acc, curr) => {\n\t\t\t\tif (curr.indexOf('#') !== -1) {\n\t\t\t\t\tset(acc, curr, { stopPropagation: true });\n\t\t\t\t} else {\n\t\t\t\t\tset(acc, `${curr}#VALUE_CHANGED`, { stopPropagation: true });\n\t\t\t\t\tset(acc, `${curr}#STAGED_VALUE_CHANGED`, { stopPropagation: true });\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, Control.actionHandlers);\n\n\t\t\tconstructor(props) {\n\t\t\t\tsuper(props);\n\t\t\t\tthis.componentName = Control.componentName || props.componentName;\n\t\t\t\tthis.componentNameWithHash = this.componentName\n\t\t\t\t\t? `${this.componentName\n\t\t\t\t\t\t\t.replace(new RegExp('-', 'g'), '_')\n\t\t\t\t\t\t\t.toUpperCase()}#`\n\t\t\t\t\t: '';\n\t\t\t\tthis.state = {\n\t\t\t\t\tcallbacks: this.createValueChangeCallbacks(props),\n\t\t\t\t\tdispatchCache: {\n\t\t\t\t\t\t[`${this.componentNameWithHash}VALUE_CHANGED`]: {\n\t\t\t\t\t\t\tvalue: props[initialValueProp],\n\t\t\t\t\t\t\tdisplayValue: props[initialDisplayValueProp]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[`${this.componentNameWithHash}STAGED_VALUE_CHANGED`]: {\n\t\t\t\t\t\t\tvalue: props[initialValueProp],\n\t\t\t\t\t\t\tdisplayValue: props[initialDisplayValueProp]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcomponentWillReceiveProps(newProps) {\n\t\t\t\tif (\n\t\t\t\t\tnewProps.onValueChange !== this.props.onValueChange ||\n\t\t\t\t\tnewProps.onStagedValueChange !== this.props.onStagedValueChange ||\n\t\t\t\t\tnewProps.dispatch !== this.props.dispatch ||\n\t\t\t\t\tnewProps.name !== this.props.name\n\t\t\t\t) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tcallbacks: this.createValueChangeCallbacks(newProps)\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tnewProps[initialValueProp] !== this.props[initialValueProp] ||\n\t\t\t\t\tnewProps[initialDisplayValueProp] !==\n\t\t\t\t\t\tthis.props[initialDisplayValueProp]\n\t\t\t\t) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdispatchCache: {\n\t\t\t\t\t\t\t[`${this.componentNameWithHash}VALUE_CHANGED`]: {\n\t\t\t\t\t\t\t\tvalue: newProps[initialValueProp],\n\t\t\t\t\t\t\t\tdisplayValue: newProps[initialDisplayValueProp]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[`${this.componentNameWithHash}STAGED_VALUE_CHANGED`]: {\n\t\t\t\t\t\t\t\tvalue: newProps[initialValueProp],\n\t\t\t\t\t\t\t\tdisplayValue: newProps[initialDisplayValueProp]\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}\n\t\t\t}\n\n\t\t\tdoesPayloadMatchCache(payload, actionType) {\n\t\t\t\tconst cache = this.state.dispatchCache[actionType];\n\n\t\t\t\tif (!cache) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst compare = (a, b) => {\n\t\t\t\t\t// treat null and undefined as equal\n\t\t\t\t\tif (isNil(a) && isNil(b)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\t// returning `undefined` to default to normal `isEqual` behavior\n\t\t\t\t};\n\t\t\t\t//ignoring cache when onValueChange is called from onBlur. We need to notify form even when the user enters the same value consecutively multiple times. This is done to maintain parity with platform so that onChange client script can be run for every value change.\n\t\t\t\treturn (\n\t\t\t\t\t!payload.ignoreCache &&\n\t\t\t\t\tisEqualWith(payload.error, cache.error, compare) &&\n\t\t\t\t\tisEqualWith(payload.value, cache.value, compare) &&\n\t\t\t\t\tisEqualWith(payload.displayValue, cache.displayValue, compare)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tcreateValueChangeCallbacks(props) {\n\t\t\t\tconst callbackAndDispatch = (callback, actionType) => payload => {\n\t\t\t\t\tif (!isObject(payload)) {\n\t\t\t\t\t\tpayload = {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Don't emit anything if the data hasn't actually changed...\n\t\t\t\t\tif (cache && this.doesPayloadMatchCache(payload, actionType)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!payload.name && props.name) {\n\t\t\t\t\t\tpayload = {\n\t\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t\tname: props.name\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tadaptCallbackForLegacyAPI(callback)(payload);\n\n\t\t\t\t\t// When a direct callback is provided, just use that instead of\n\t\t\t\t\t// dispatching.\n\t\t\t\t\tif (\n\t\t\t\t\t\tisFunction(props.dispatch) &&\n\t\t\t\t\t\t(!isFunction(callback) || actionType.includes('#'))\n\t\t\t\t\t) {\n\t\t\t\t\t\t// We used to put the dispatch data in an extra level of nesting to\n\t\t\t\t\t\t// support old Seismic behavior. Keep that behavior for backwards\n\t\t\t\t\t\t// compatibility, also migrate towards flattening the data.\n\t\t\t\t\t\tprops.dispatch(actionType, {\n\t\t\t\t\t\t\t[allLowerCase(actionType)]: payload,\n\t\t\t\t\t\t\t...payload\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t// track value changed calls that go through the callback\n\t\t\t\t\tconst propValue =\n\t\t\t\t\t\tprops.initialValue === undefined ? props.value : props.initialValue;\n\t\t\t\t\tif (\n\t\t\t\t\t\tactionType.includes('#VALUE_CHANGED') &&\n\t\t\t\t\t\t!props.disableTracking &&\n\t\t\t\t\t\tpropValue !== payload.value\n\t\t\t\t\t) {\n\t\t\t\t\t\tprops.dispatch('TRACK', {\n\t\t\t\t\t\t\tmetaData: {\n\t\t\t\t\t\t\t\tname: props.name,\n\t\t\t\t\t\t\t\tfieldType: this.componentName\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (cache) {\n\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\tdispatchCache: {\n\t\t\t\t\t\t\t\t...this.state.dispatchCache,\n\t\t\t\t\t\t\t\t[actionType]: pick(payload, ['value', 'displayValue', 'error'])\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn payload;\n\t\t\t\t};\n\n\t\t\t\treturn {\n\t\t\t\t\tonValueChange: callbackAndDispatch(\n\t\t\t\t\t\tprops.onValueChange,\n\t\t\t\t\t\t`${this.componentNameWithHash}VALUE_CHANGED`\n\t\t\t\t\t),\n\t\t\t\t\tonStagedValueChange: callbackAndDispatch(\n\t\t\t\t\t\tprops.onStagedValueChange,\n\t\t\t\t\t\t`${this.componentNameWithHash}STAGED_VALUE_CHANGED`\n\t\t\t\t\t),\n\n\t\t\t\t\tdispatch: isFunction(props.dispatch) ? props.dispatch : noop\n\t\t\t\t};\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\treturn <Control {...this.props} {...this.state.callbacks} />;\n\t\t\t}\n\t\t}\n);\n\n// allow first param config to be optional\nexport default (configOrControl, ...args) => {\n\t// withValueChangeCallbacks(Component)\n\tif (isFunction(configOrControl)) {\n\t\treturn createHOC({}, configOrControl);\n\t}\n\n\t// withValueChangeCallbacks(config, Component) or\n\t// withValueChangeCallbacks(config)(Component)\n\treturn createHOC(configOrControl, ...args);\n};\n","import ControlledField from './ControlledField';\nimport ComponentBase from './ComponentBase';\n\nexport { onLeave, default as FocusWatcher } from './FocusWatcher';\nexport { default as ShadyDOMEventFixer } from './ShadyDOMEventFixer';\nexport { renderHighlightedValueReact } from './renderHighlightedValueReact';\nexport { ForwardProperties } from './forwardProperties';\n\nexport { default as withValueChangeCallbacks } from './withValueChangeCallbacks';\n\nexport const fieldPropTypes = ComponentBase.propTypes;\nexport const controlledFieldPropTypes = ControlledField.propTypes;\n","import { isFunction, isObject, isUndefined } from 'lodash';\n\nconst undefinedToNull = thing => (isUndefined(thing) ? null : thing);\n\n/**\n * Parent on*ValueChange functions originally supported the following\n * signature:\n *\n * (event, name, value, displayValue)\n *\n * But having the most useful pieces of data as the 3rd and 4th\n * argument sucks + it's inconsistent with our dispatch data. This\n * conditionally allows passing the entire payload obj as first\n * parameter if the callback isn't expecting multiple args.\n */\nexport const adaptCallbackForLegacyAPI = callback => payload => {\n\tif (!isFunction(callback) || !isObject(payload)) {\n\t\treturn false;\n\t}\n\n\tconst args =\n\t\tcallback.length > 1\n\t\t\t? [\n\t\t\t\t\tpayload.event,\n\t\t\t\t\tpayload.name,\n\t\t\t\t\tpayload.value,\n\t\t\t\t\tpayload.displayValue,\n\t\t\t\t\tpayload.error,\n\t\t\t\t\tpayload.additionalInfo\n\t\t\t  ].map(undefinedToNull)\n\t\t\t: [payload];\n\n\tcallback(...args);\n\n\treturn true;\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { debounce, curry, find } from 'lodash';\n\nimport { pick, get, isNil, isEqualWith } from './utils';\n\nimport { adaptCallbackForLegacyAPI } from './withValueChangeCallbacks';\nimport { CALLBACK_AND_DISPATCH } from './constants';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const behavior = 'withValueChangeCallbackBehavior';\n\nconst createCallbacks = (dispatch, { onValueChange, onStagedValueChange }) => {\n\tconst createdCallback = curry((callback, isValueChanged, dispatchPayload) => {\n\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\tcallback,\n\t\t\tisValueChanged,\n\t\t\tdispatchPayload\n\t\t});\n\t});\n\t// only debounce staged value change, as we don't want to call it every time the value changes\n\t// in the field with the focus present\n\treturn {\n\t\tonValueChange: createdCallback(onValueChange, true),\n\t\tonStagedValueChange: debounce(\n\t\t\tcreatedCallback(onStagedValueChange, false),\n\t\t\t250\n\t\t)\n\t};\n};\n\nexport const withValueChangeCallbacksView = view => (state, helpers) => {\n\tif (state.properties.createdCallbacks) {\n\t\treturn view(state, helpers);\n\t}\n\tconst dispatch = state.helpers?.dispatch || helpers?.dispatch;\n\tconst { onValueChange, onStagedValueChange } = createCallbacks(dispatch, {\n\t\tonValueChange: state.properties.onValueChange,\n\t\tonStagedValueChange: state.properties.onStagedValueChange\n\t});\n\treturn view({ ...state, onValueChange, onStagedValueChange }, helpers);\n};\n\nexport const componentConnectedEffect =\n\t(\n\t\tbehaviorName,\n\t\t{ initialValueProp, initialDisplayValueProp, stopPropagation }\n\t) =>\n\t({ host, properties, updateState }) => {\n\t\tconst { name } = properties;\n\t\tconst parentBehaviors = get(\n\t\t\thost.getRootNode(),\n\t\t\t'host.nowElementConfig.behaviors',\n\t\t\t{}\n\t\t);\n\t\tif (find(parentBehaviors, { name: behaviorName }) && !stopPropagation) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (properties.createdCallbacks) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst componentName = host.tagName.replace(new RegExp('-', 'g'), '_');\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache`,\n\t\t\t\tvalue: {\n\t\t\t\t\t[`${componentName}#VALUE_CHANGED`]: {\n\t\t\t\t\t\tvalue: properties[initialValueProp],\n\t\t\t\t\t\tdisplayValue: properties[initialDisplayValueProp],\n\t\t\t\t\t\tname\n\t\t\t\t\t},\n\t\t\t\t\t[`${componentName}#STAGED_VALUE_CHANGED`]: {\n\t\t\t\t\t\tvalue: properties[initialValueProp],\n\t\t\t\t\t\tdisplayValue: properties[initialDisplayValueProp],\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t}\n\t\t]);\n\t};\n\nexport const propertyChangedEffect =\n\t(\n\t\tbehaviorName,\n\t\t{ initialValueProp, initialDisplayValueProp, stopPropagation } = {}\n\t) =>\n\t({\n\t\thost,\n\t\taction: {\n\t\t\tpayload: { name, value }\n\t\t},\n\t\tupdateState,\n\t\tproperties\n\t}) => {\n\t\t// don't add withValueChangeCallback functionality if direct parent is already handling it\n\t\tconst parentBehaviors = get(\n\t\t\thost.getRootNode(),\n\t\t\t'host.nowElementConfig.behaviors',\n\t\t\t{}\n\t\t);\n\t\tif (find(parentBehaviors, { name: behaviorName }) && !stopPropagation) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (properties.createdCallbacks) {\n\t\t\treturn;\n\t\t}\n\n\t\t// value can change via props (from forms/client scripting), so we update the dispatchCache\n\t\tconst componentName = host.tagName.replace(new RegExp('-', 'g'), '_');\n\t\tif (name === initialValueProp || name === initialDisplayValueProp) {\n\t\t\tconst updateKey = name === initialValueProp ? 'value' : 'displayValue';\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${componentName}#VALUE_CHANGED].${updateKey}`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${componentName}#STAGED_VALUE_CHANGED].${updateKey}`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t};\n\nexport const callbackAndDispatchEffect =\n\t(behaviorName, { cache, initialValueProp, stopPropagation }) =>\n\t({\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties,\n\t\tdispatch,\n\t\tpayload: {\n\t\t\tcallback,\n\t\t\tdispatchPayload,\n\t\t\tisValueChanged,\n\t\t\ttrackingMetaData = {}\n\t\t}\n\t}) => {\n\t\t// don't add withValueChangeCallback functionality if direct parent is already handling it\n\t\tconst parentBehaviors = get(\n\t\t\thost.getRootNode(),\n\t\t\t'host.nowElementConfig.behaviors',\n\t\t\t{}\n\t\t);\n\t\tif (find(parentBehaviors, { name: behaviorName }) && !stopPropagation) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (properties.createdCallbacks) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst componentName = host.tagName.replace(new RegExp('-', 'g'), '_');\n\t\tconst actionToDispatch = `${componentName}#${\n\t\t\tisValueChanged ? 'VALUE_CHANGED' : 'STAGED_VALUE_CHANGED'\n\t\t}`;\n\n\t\t// check if payload matches cache, don't do anything if it hasn't changed\n\t\tconst dispatchCache =\n\t\t\tstate.behaviors[behaviorName].dispatchCache?.[actionToDispatch];\n\n\t\tconst compare = (a, b) => {\n\t\t\t// treat null and undefined as equal\n\t\t\tif (isNil(a) && isNil(b)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t};\n\n\t\t// make sure to give payload name from props if it wasn't given explicitly\n\t\tif (!dispatchPayload.name && properties.name) {\n\t\t\tdispatchPayload.name = properties.name;\n\t\t}\n\n\t\tconst payloadMatchesCache =\n\t\t\tisEqualWith(dispatchPayload.name, dispatchCache?.name, compare) &&\n\t\t\tisEqualWith(dispatchPayload.error, dispatchCache?.error, compare) &&\n\t\t\tisEqualWith(dispatchPayload.value, dispatchCache?.value, compare) &&\n\t\t\tisEqualWith(\n\t\t\t\tdispatchPayload.displayValue,\n\t\t\t\tdispatchCache?.displayValue,\n\t\t\t\tcompare\n\t\t\t);\n\n\t\tif (cache && dispatchCache && payloadMatchesCache) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// call callback\n\t\tadaptCallbackForLegacyAPI(callback)(dispatchPayload);\n\n\t\t// Dispatch seismic action\n\t\tdispatch(actionToDispatch, dispatchPayload);\n\n\t\t// handle tracking that goes through here\n\t\tif (\n\t\t\tisValueChanged &&\n\t\t\tproperties[initialValueProp] !== dispatchPayload.value\n\t\t) {\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: {\n\t\t\t\t\tname: properties.name,\n\t\t\t\t\tfieldType: componentName,\n\t\t\t\t\t...trackingMetaData\n\t\t\t\t},\n\t\t\t\tadditionalOptions: { parentHandling: properties.disableTracking }\n\t\t\t});\n\t\t}\n\n\t\t// if cache, update the cache\n\t\tif (dispatchCache) {\n\t\t\tconst valueChangeAction = `${componentName}#VALUE_CHANGED`;\n\t\t\tconst isStageChangedAction = !isValueChanged;\n\t\t\tconst clearValueChangedCacheUpdate =\n\t\t\t\tproperties.allowFieldChangesAfterEveryStageChange &&\n\t\t\t\tisStageChangedAction\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${valueChangeAction}]`,\n\t\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t: [];\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${actionToDispatch}]`,\n\t\t\t\t\tvalue: pick(dispatchPayload, [\n\t\t\t\t\t\t'value',\n\t\t\t\t\t\t'displayValue',\n\t\t\t\t\t\t'error',\n\t\t\t\t\t\t'name'\n\t\t\t\t\t]),\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t...clearValueChangedCacheUpdate\n\t\t\t]);\n\t\t}\n\t};\n\n/**\n * This behavior replaces the withValueChangeCallbacks HOC provided to normalize\n * `dispatch`, `onValueChange`, and `onStagedValueChange` prop functions for wrapped components.\n * This has had a significant improvement in typing performance and we can now handle cache in\n * state without triggering re-renders.\n *\n * `onValueChange` and `onStagedValueChange` should be called\n * with a single object parameter, which should contain the data\n * payload to event up to the parent/through Seismic\n *\n * e.g.:\n *\n * \tthis.props.onValueChange({ value: 'the value' });\n * \tthis.props.onStagedValueChange({ value: 'the staged value' })\n *\n * The on*ValueChange functions also handle dispatching the event\n * up through Seismic.\n *\n * By default, it also caches the payload between multiple\n * on*ValueChange calls, preventing sequential calls with the same payload.\n * This behavior can be disabled by providing the `cache: false` option.\n *\n *  Options (with defaults):\n *  initialValueProp = 'value',\n *  initialDisplayValueProp = 'displayValue',\n *  cache = true\n *  stopBubbling = []\n *\n *\n * ```js\n * import createWithValueChangeCallbackBehavior from '@devsnc/sn-controls-common';\n *\n * createCustomElement('sn-example', {\n *   // ...\n * behaviors: [ createWithValueChangeCallbackBehavior({cache: true}) ];\n * });\n * ```\n *\n * @seismicBehavior withValueChangeCallbacksBehavior\n * @summary Behavior used to normalize OnValueChange and onStagedValueChange callbacks\n */\n\nexport const createWithValueChangeCallbackBehavior = (options = {}) => {\n\tconst {\n\t\tinitialDisplayValueProp = 'displayValue',\n\t\tinitialValueProp = 'value',\n\t\tcache = true,\n\t\tstopPropagation = false\n\t} = options;\n\n\treturn {\n\t\tname: behavior,\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_CONNECTED]: componentConnectedEffect(behavior, {\n\t\t\t\tinitialValueProp,\n\t\t\t\tinitialDisplayValueProp,\n\t\t\t\tstopPropagation\n\t\t\t}),\n\t\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect(behavior, {\n\t\t\t\tinitialValueProp,\n\t\t\t\tinitialDisplayValueProp,\n\t\t\t\tstopPropagation\n\t\t\t}),\n\t\t\t[CALLBACK_AND_DISPATCH]: {\n\t\t\t\teffect: ({\n\t\t\t\t\thost,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tproperties,\n\t\t\t\t\tdispatch,\n\t\t\t\t\taction: { payload }\n\t\t\t\t}) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tcallback,\n\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\tisValueChanged,\n\t\t\t\t\t\ttrackingMetaData = {}\n\t\t\t\t\t} = payload;\n\t\t\t\t\tcallbackAndDispatchEffect(behavior, {\n\t\t\t\t\t\tcache,\n\t\t\t\t\t\tinitialValueProp,\n\t\t\t\t\t\tstopPropagation\n\t\t\t\t\t})({\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tcallback,\n\t\t\t\t\t\t\tdispatchPayload,\n\t\t\t\t\t\t\tisValueChanged,\n\t\t\t\t\t\t\ttrackingMetaData\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tstopPropagation\n\t\t\t}\n\t\t}\n\t};\n};\n","/**\n * Validates an input string based on an array of fieldRegex objects.\n * Each fieldRegex object contains:\n * - pattern: The regular expression pattern to validate the value against.\n * - placeholder: The placeholder string for the expected format.\n * - message: A custom error message to display if validation fails (optional).\n * - type: The type of validation message (default is 'suggestion').\n *\n * @param {string} label - The field label for error messages (unused currently).\n * @param {string} value - The input value to validate.\n * @param {Array} fieldRegex - An array of objects containing validation rules.\n * @returns {Array} - Returns an empty array if validation passes, or an array with an error message if it fails.\n */\nfunction validateInput(label, value, fieldRegex) {\n\tconst trimmedValue = value.trim();\n\tfor (const field of fieldRegex) {\n\t\tconst { pattern, guidanceText, type } = field;\n\t\tconst regex = new RegExp(`^${pattern.trim()}$`);\n\n\t\tif (!regex.test(trimmedValue)) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: type || 'suggestion',\n\t\t\t\t\tmessage: guidanceText || ''\n\t\t\t\t}\n\t\t\t];\n\t\t}\n\t}\n\treturn [];\n}\n\nexport { validateInput };\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tdebounce,\n\tisEmpty,\n\ttoString,\n\tomit,\n\tisEqual,\n\tisFunction,\n\tget\n} from 'lodash';\n\nimport { CALLBACK_AND_DISPATCH_WITH_STATE, NOW_INPUT } from './constants';\nimport { isAttrTrue } from './utils';\nimport {\n\tcallbackAndDispatchEffect,\n\tcomponentConnectedEffect,\n\tpropertyChangedEffect\n} from './withValueChangeCallbacksBehavior';\nimport { validateInput } from './validations/onChangeValidation';\nimport { t } from 'sn-translate';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const callbackWithStateBehavior = 'withStateBehavior';\n\nconst passthrough = s => ({\n\tvalue: s\n});\n\nconst merge = (oldObj, newObj) =>\n\tisEmpty(newObj) ? oldObj : { ...oldObj, ...newObj };\n\nconst debounceDispatch = fn => debounce(fn, 250);\n\nexport const updateAdditionalInfoState = (additionalInfo, updateState) => {\n\tfor (const prop in additionalInfo) {\n\t\tupdateState({\n\t\t\tpath: `${prop}`,\n\t\t\tvalue: additionalInfo[prop],\n\t\t\toperation: 'set',\n\t\t\tshouldRender: true\n\t\t});\n\t}\n};\n\nexport const createCallbacks = (\n\tdispatch,\n\t{ onValueChange, onStagedValueChange }\n) => {\n\tconst createdCallback =\n\t\t(callback, isValueChanged) =>\n\t\t(dispatchPayload, format = false) => {\n\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\tcallback,\n\t\t\t\tisValueChanged,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\t...dispatchPayload,\n\t\t\t\t\tformat\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t// only debounce staged value change, as we don't want to call it every time the value changes\n\t// in the field with the focus present\n\treturn {\n\t\tonValueChange: createdCallback(onValueChange, true),\n\t\tonStagedValueChange: debounceDispatch(\n\t\t\tcreatedCallback(onStagedValueChange, false)\n\t\t)\n\t};\n};\n\nexport const setInitialStateWithValue =\n\t(format = passthrough) =>\n\t({ properties }) => {\n\t\tconst { initialValue, initialDisplayValue } = properties;\n\t\tconst derivedInitialDisplayValue = toString(initialDisplayValue);\n\n\t\tconst { value, ...additionalInfo } = omit(\n\t\t\tformat(toString(initialValue), properties),\n\t\t\t['error']\n\t\t);\n\t\tconst displayValue = derivedInitialDisplayValue || value;\n\t\treturn {\n\t\t\tisSuggestionsOpened: false,\n\t\t\thasFocus: false,\n\t\t\tvalue: displayValue,\n\t\t\tstagedValue: displayValue,\n\t\t\t...additionalInfo\n\t\t};\n\t};\n\nexport const withState = view => (state, helpers) => {\n\tconst { dispatch, updateState } = helpers;\n\tconst { onValueChange, onStagedValueChange } = state.properties;\n\tconst {\n\t\tonValueChange: onValueChangeCallback,\n\t\tonStagedValueChange: onStagedValueChangeCallback\n\t} = createCallbacks(dispatch, {\n\t\tonValueChange,\n\t\tonStagedValueChange\n\t});\n\tconst { onFocus } = state.properties;\n\tconst onFocusEvent = event => {\n\t\tupdateState({\n\t\t\tpath: 'hasFocus',\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: true\n\t\t});\n\t\tif (isFunction(onFocus)) {\n\t\t\tonFocus(event);\n\t\t}\n\t};\n\tconst attrs = {\n\t\tonValueChange: onValueChangeCallback,\n\t\tonStagedValueChange: onStagedValueChangeCallback,\n\t\tonFocus: onFocusEvent,\n\t\tonChange: (event, encodedValue) =>\n\t\t\tdispatch('WITH_STATE_INTERNAL#ON_CHANGE', {\n\t\t\t\ttargetValue: encodedValue || get(event, 'target.value', ''),\n\t\t\t\tencodedValue\n\t\t\t}),\n\t\tonBlur: (event, targetValue) =>\n\t\t\tdispatch('WITH_STATE_INTERNAL#ON_BLUR', {\n\t\t\t\tevent,\n\t\t\t\ttargetValue: targetValue || event.target.value\n\t\t\t})\n\t};\n\treturn view({ ...state, ...attrs }, helpers);\n};\n\nexport const handleInitialValue = ({\n\trawValue,\n\tnewValue,\n\toldValue,\n\tstate,\n\tproperties,\n\tformat,\n\tupdateState\n}) => {\n\tif ((state.isBlur && !rawValue) || newValue !== oldValue) {\n\t\tconst {\n\t\t\tadditionalInfo: sAdditionalInfo,\n\t\t\tinternalValue,\n\t\t\tvalue: sValue,\n\t\t\terror: sError\n\t\t} = state;\n\t\tconst {\n\t\t\tvalue: formattedValue,\n\t\t\terror,\n\t\t\t...additionalInfo\n\t\t} = format(newValue, properties, sAdditionalInfo);\n\n\t\tconst mergedAdditionalInfo = merge(sAdditionalInfo, additionalInfo);\n\n\t\tif (\n\t\t\tnewValue !== internalValue ||\n\t\t\tformattedValue !== sValue ||\n\t\t\terror !== sError ||\n\t\t\tmergedAdditionalInfo !== sAdditionalInfo\n\t\t) {\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\tvalue: newValue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `value`,\n\t\t\t\t\tvalue: formattedValue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `error`,\n\t\t\t\t\tvalue: error,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `isBlur`,\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\t\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\t\t}\n\t}\n};\n\n/**\n * This behavior replaces the withState HOC provided to normalize\n * `dispatch`, `onValueChange`, and `onStagedValueChange`, `value`, `additionalInfo` props and functions for wrapped components.\n *\n *  Options (with defaults):\n *  initialValueProp = 'value',\n *  initialDisplayValueProp = 'displayValue',\n *  cache = true\n * \tparse = passthrough,\n *  format = passthrough,\n *  trackInputChange = false\n *\n *\n * ```js\n * import createWithStateBehavior from '@devsnc/sn-controls-common';\n *\n * createCustomElement('sn-example', {\n *   // ...\n * behaviors: [ createWithStateBehavior({cache: true}) ];\n * });\n * ```\n *\n * @seismicBehavior withStateBehavior\n * @summary Behavior used to provide value and additionalInfo in state.\n */\n\nexport const createWithStateBehavior = (options = {}) => {\n\tconst {\n\t\tinitialValueProp = 'value',\n\t\tinitialDisplayValueProp = 'displayValue',\n\t\tcache = true,\n\t\tparse = passthrough,\n\t\tformat = passthrough,\n\t\ttrackInputChange = false,\n\t\teventBased = true,\n\t\tfieldChangeHandlers = {\n\t\t\tonBlur: NOW_INPUT.INVALID_SET,\n\t\t\tonChange: NOW_INPUT.INPUT\n\t\t},\n\t\tforceRenderOnBlur\n\t} = options;\n\n\tconst parseAndFormat = (value, props, additionalInfo = {}) => {\n\t\tconst { value: parsedValue, error } = parse(value, props, additionalInfo);\n\t\tif (!error) {\n\t\t\tconst { value: formattedValue, error } = format(\n\t\t\t\tparsedValue,\n\t\t\t\tprops,\n\t\t\t\tadditionalInfo\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tparsedValue,\n\t\t\t\tformattedValue,\n\t\t\t\tadditionalInfo,\n\t\t\t\terror\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tparsedValue,\n\t\t\tformattedValue: value,\n\t\t\tadditionalInfo,\n\t\t\terror\n\t\t};\n\t};\n\n\tconst inputChangeIsTracked = state => trackInputChange && !state.inputChanged;\n\n\tconst componentConnectedEffectWithState = ({\n\t\thost,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tcomponentConnectedEffect(callbackWithStateBehavior, {\n\t\t\tinitialValueProp,\n\t\t\tinitialDisplayValueProp\n\t\t})({ host, properties, updateState });\n\t\tconst {\n\t\t\tinitialValue: pInitialValue,\n\t\t\tinitialDisplayValue: pInitialDisplayValue\n\t\t} = properties;\n\n\t\tconst initialValue = toString(pInitialValue);\n\t\tconst initialDisplayValue = toString(pInitialDisplayValue);\n\n\t\tconst { value, error, ...additionalInfo } = format(\n\t\t\tinitialValue,\n\t\t\tproperties\n\t\t);\n\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `internalValue`,\n\t\t\t\tvalue: initialValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `value`,\n\t\t\t\tvalue: initialDisplayValue || value,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `additionalInfo`,\n\t\t\t\tvalue: additionalInfo,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `error`,\n\t\t\t\tvalue: error,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `isBlur`,\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t}\n\t\t]);\n\t\tif (trackInputChange) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'inputChanged',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\t\tupdateAdditionalInfoState(additionalInfo, updateState);\n\t};\n\n\tconst propertyChangedEffectWithState = ({\n\t\thost,\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tpropertyChangedEffect(callbackWithStateBehavior, {\n\t\t\tinitialValueProp,\n\t\t\tinitialDisplayValueProp\n\t\t})({\n\t\t\thost,\n\t\t\taction: {\n\t\t\t\tpayload: { name, value }\n\t\t\t},\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState\n\t\t});\n\t\t// Allow new props to update value state _only_ when the field doesn't\n\t\t// have focus\n\t\tif (name === 'initialValue' && !state.isHandlingInitialValue) {\n\t\t\tconst nextInitialValue = toString(value);\n\t\t\tconst oldInitialValue = toString(previousValue);\n\t\t\thandleInitialValue({\n\t\t\t\trawValue: value,\n\t\t\t\tnewValue: nextInitialValue,\n\t\t\t\toldValue: oldInitialValue,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tformat,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t};\n\n\tconst callbackAndDispatchEffectWithState = ({\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties,\n\t\tdispatch,\n\t\taction: { payload }\n\t}) => {\n\t\tconst {\n\t\t\tcallback: originalCallback,\n\t\t\tdispatchPayload: callbackPayload,\n\t\t\tisValueChanged: isOnValueChange\n\t\t} = payload;\n\t\tif (\n\t\t\tisOnValueChange &&\n\t\t\tinputChangeIsTracked(state) &&\n\t\t\tisEqual(callbackPayload.additionalInfo, state.additionalInfo)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tlet dispatchPayload = callbackPayload.fromEvent ? callbackPayload : {};\n\t\tlet isValueChanged = isOnValueChange;\n\t\tlet callback = originalCallback;\n\t\tif (isValueChanged && !callbackPayload.fromEvent) {\n\t\t\tif (callbackPayload.format) {\n\t\t\t\tconst {\n\t\t\t\t\tparsedValue,\n\t\t\t\t\tformattedValue,\n\t\t\t\t\terror,\n\t\t\t\t\tadditionalInfo: newAdditionalInfo\n\t\t\t\t} = parseAndFormat(\n\t\t\t\t\tcallbackPayload.value,\n\t\t\t\t\tproperties,\n\t\t\t\t\tmerge(state.additionalInfo, callbackPayload.additionalInfo),\n\t\t\t\t\tparse,\n\t\t\t\t\tformat\n\t\t\t\t);\n\n\t\t\t\tdispatchPayload = {\n\t\t\t\t\t...dispatchPayload,\n\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\terror\n\t\t\t\t};\n\t\t\t\tconst mergedAdditionalInfo = merge(\n\t\t\t\t\tstate.additionalInfo,\n\t\t\t\t\tnewAdditionalInfo\n\t\t\t\t);\n\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `value`,\n\t\t\t\t\t\tvalue: formattedValue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `error`,\n\t\t\t\t\t\tvalue: error,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\t\t\t} else {\n\t\t\t\tdispatchPayload = {\n\t\t\t\t\t...dispatchPayload,\n\t\t\t\t\tvalue: callbackPayload.value,\n\t\t\t\t\tdisplayValue: callbackPayload.value\n\t\t\t\t};\n\t\t\t\tisValueChanged = false; //onStagedValueChange needs to be called, so changed it to false;\n\t\t\t\tcallback = properties.onStagedValueChange;\n\t\t\t\tconst mergedAdditionalInfo = merge(\n\t\t\t\t\tstate.additionalInfo,\n\t\t\t\t\tcallbackPayload.additionalInfo\n\t\t\t\t);\n\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\t\tvalue: callbackPayload.value,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `value`,\n\t\t\t\t\t\tvalue: callbackPayload.value,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\t\t\t}\n\t\t}\n\t\tcallbackAndDispatchEffect(callbackWithStateBehavior, {\n\t\t\tcache,\n\t\t\tinitialValueProp\n\t\t})({\n\t\t\thost,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tpayload: { callback, dispatchPayload, isValueChanged }\n\t\t});\n\t};\n\n\tconst onChange = ({ value, state, properties, dispatch, updateState }) => {\n\t\tconst { fieldRegex, label } = properties;\n\t\tif (eventBased)\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `value`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\t\telse updateState({ stagedValue: value });\n\n\t\tif (inputChangeIsTracked(state)) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'inputChanged',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\n\t\tif (fieldRegex && fieldRegex.length > 0) {\n\t\t\tif (value.length === 0) {\n\t\t\t\tupdateState({ messages: [] });\n\t\t\t} else {\n\t\t\t\tconst errorMessages = validateInput(label, value, fieldRegex);\n\t\t\t\tupdateState({\n\t\t\t\t\tmessages: errorMessages,\n\t\t\t\t\tisFieldValid: errorMessages.length === 0\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\tcallback: properties.onStagedValueChange,\n\t\t\tdispatchPayload: {\n\t\t\t\tvalue,\n\t\t\t\tfromEvent: true\n\t\t\t},\n\t\t\tisValueChanged: false\n\t\t});\n\t};\n\n\tconst onBlur = ({\n\t\tevent,\n\t\ttargetValue,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tconst { fieldRegex, label } = properties;\n\n\t\tif (inputChangeIsTracked(state)) return;\n\n\t\tconst {\n\t\t\tparsedValue,\n\t\t\tformattedValue,\n\t\t\terror,\n\t\t\tadditionalInfo: newAdditionalInfo\n\t\t} = parseAndFormat(\n\t\t\ttargetValue,\n\t\t\tproperties,\n\t\t\tstate.additionalInfo,\n\t\t\tparse,\n\t\t\tformat\n\t\t);\n\n\t\tconst mergedAdditionalInfo = merge(state.additionalInfo, newAdditionalInfo);\n\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `internalValue`,\n\t\t\t\tvalue: parsedValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `value`,\n\t\t\t\tvalue: formattedValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `additionalInfo`,\n\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `error`,\n\t\t\t\tvalue: error,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `isBlur`,\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t}\n\t\t]);\n\n\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\n\t\tif (trackInputChange) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'inputChanged',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\n\t\tif (typeof forceRenderOnBlur === 'function') {\n\t\t\tforceRenderOnBlur({ isRender: state.isRender, updateState });\n\t\t}\n\n\t\tlet inlineValidationError = null;\n\n\t\tif (fieldRegex && fieldRegex.length > 0) {\n\t\t\tif (targetValue.length > 0) {\n\t\t\t\tlet validationResult = validateInput(\n\t\t\t\t\tlabel,\n\t\t\t\t\ttargetValue,\n\t\t\t\t\tfieldRegex\n\t\t\t\t)?.[0];\n\n\t\t\t\tif (validationResult) {\n\t\t\t\t\tinlineValidationError = { ...validationResult, type: 'error' };\n\t\t\t\t\t//If no guidance text, show default error message.\n\t\t\t\t\tif (!inlineValidationError.message) {\n\t\t\t\t\t\tinlineValidationError.message = t(\n\t\t\t\t\t\t\t'Invalid Value. Please enter a valid value for {label} in this format: {placeholder}',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\tplaceholder: fieldRegex[0]?.placeholder\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}\n\t\t\t}\n\t\t\tupdateState({ isFieldValid: null, messages: [] });\n\t\t}\n\n\t\t// Dispatch the callback with updated state\n\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\tcallback: properties.onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tevent,\n\t\t\t\terror: error || inlineValidationError,\n\t\t\t\tvalue: parsedValue,\n\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\tfromEvent: true\n\t\t\t},\n\t\t\toptions: { cache: true }\n\t\t});\n\t};\n\n\tconst onChangeEffect = ({\n\t\taction: {\n\t\t\tpayload: { targetValue, encodedValue }\n\t\t},\n\t\tdispatch,\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tconst value = encodedValue || targetValue;\n\t\tonChange({ value, state, properties, dispatch, updateState });\n\t};\n\n\tconst onBlurEffect = ({\n\t\taction: {\n\t\t\tpayload: { event, targetValue }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tonBlur({ event, targetValue, dispatch, properties, state, updateState });\n\t};\n\n\tconst onInputChangeEffect = ({\n\t\taction: {\n\t\t\tpayload: { fieldValue: value }\n\t\t},\n\t\tdispatch,\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tonChange({ value, state, properties, dispatch, updateState });\n\t};\n\n\tconst onInputBlurEffect = ({\n\t\taction: {\n\t\t\tpayload: { fieldValue: targetValue }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tif (isAttrTrue(properties?.readonly)) return;\n\n\t\tconst event = {\n\t\t\ttarget: {\n\t\t\t\ttargetValue\n\t\t\t}\n\t\t};\n\t\tonBlur({ event, targetValue, dispatch, properties, state, updateState });\n\t};\n\n\treturn {\n\t\tname: callbackWithStateBehavior,\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_CONNECTED]: componentConnectedEffectWithState,\n\t\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffectWithState,\n\t\t\t[CALLBACK_AND_DISPATCH_WITH_STATE]: callbackAndDispatchEffectWithState,\n\t\t\t//TODO: Remove eventBased action handlers and respective callbacks once we internally use NDS for all inputs requiring withState behavior\n\t\t\t...(eventBased\n\t\t\t\t? {\n\t\t\t\t\t\t'WITH_STATE_INTERNAL#ON_CHANGE': onChangeEffect,\n\t\t\t\t\t\t'WITH_STATE_INTERNAL#ON_BLUR': onBlurEffect\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\t[fieldChangeHandlers.onBlur]: onInputBlurEffect,\n\t\t\t\t\t\t[fieldChangeHandlers.onChange]: onInputChangeEffect\n\t\t\t\t\t})\n\t\t}\n\t};\n};\n","import { isAttrTrue } from './utils/field';\n\nexport function checkAutofocus(enabled, ref) {\n\tif (isAttrTrue(enabled) && ref) {\n\t\t// PRB1304655, PRB1309694: Workaround for ShadyDOM bug\n\t\t//\n\t\t// https://github.com/webcomponents/shadydom/issues/46\n\t\t//\n\t\t// In polyfilled environments, we need to flush the ShadyDOM render queue\n\t\t// before attempting to focus. Without it, Firefox ignores the focus()\n\t\t// call, and IE decides to not render anything.\n\t\tif (window.ShadyDOM) {\n\t\t\twindow.ShadyDOM.flush();\n\t\t}\n\n\t\tref.focus();\n\t}\n}\n","export const sleep = ms =>\n\tnew Promise(resolve => {\n\t\tsetTimeout(resolve, ms);\n\t});\n","/**\n * Util method to wrap helperContent with jsx to restrict width and height of field hint text\n * This is required to set the dimensions for NDS rendered helperContent, and renderer should be snabbdom\n * @param {string|JSX} helperContent\n */\nexport const wrapHelperContent = helperContent => {\n\tif (!helperContent) return helperContent;\n\n\treturn (\n\t\t<div style={{ maxWidth: '300px', maxHeight: '200px' }}>{helperContent}<\/div>\n\t);\n};\n","import { omit, has } from 'lodash';\nimport { escapeSeismicSpecialSymbols } from './utils/escapeSeismicSpecialSymbols';\nimport * as FIELD_TYPE from './FieldType';\n\nexport function setInitialValue(controlProps) {\n\tconst hasValue = has(controlProps, 'value');\n\tconst hasDisplayValue = has(controlProps, 'displayValue');\n\n\tif (!hasValue && !hasDisplayValue) {\n\t\treturn controlProps;\n\t}\n\n\tconst newControlProps = omit(controlProps, ['value', 'displayValue']);\n\tconst { displayValue, value, isEncrypted, type } = controlProps;\n\n\tif (hasValue) {\n\t\tnewControlProps.initialValue = isEncrypted\n\t\t\t? escapeSeismicSpecialSymbols(displayValue)\n\t\t\t: escapeSeismicSpecialSymbols(value);\n\t}\n\n\tif (hasDisplayValue) {\n\t\tconst initialDisplayValue =\n\t\t\ttype === FIELD_TYPE.PASSWORD ? value : displayValue;\n\t\tnewControlProps.initialDisplayValue =\n\t\t\tescapeSeismicSpecialSymbols(initialDisplayValue);\n\t}\n\n\treturn newControlProps;\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t}, [\"markTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'markTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"].markTypes;\n\t\t\t\t\t} else if ('markTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.markTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"].markTypes;\n\t\t\t\t} });","import track, { markTypes } from '@devsnc/ux-metrics';\nimport { TRACK_RECOMMENDATION_CLICK } from './constants';\n\nconst eventTitle = 'Update Field Value';\n\nexport const trackBehavior = {\n\tactionHandlers: {\n\t\t['TRACK']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { metaData, additionalOptions = {} }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t!additionalOptions.parentHandling &&\n\t\t\t\t\t\ttrack(coeffects, eventTitle, metaData, {\n\t\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t\t});\n\n\t\t\t\t\tadditionalOptions.isRecommendation &&\n\t\t\t\t\t\ttrack(coeffects, TRACK_RECOMMENDATION_CLICK, metaData, {\n\t\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_DYNAMIC_TRANSLATION_EVENTS']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { metaData, eventTitle }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventTitle, metaData, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_MENTION_ADDED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\tproperties,\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { telemetry }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst { name } = properties;\n\t\t\t\tconst trackPayload = {\n\t\t\t\t\tname,\n\t\t\t\t\tfieldType: 'now-record-html-editor'\n\t\t\t\t};\n\n\t\t\t\tif (telemetry?.context) {\n\t\t\t\t\ttrackPayload.context = telemetry.context;\n\t\t\t\t}\n\t\t\t\tconst eventName = `Mention.Added`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, trackPayload, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_HOTKEY_SET']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { type }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = `KeyboardShortcut.${type}.Invoked`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, undefined, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_HOTKEY_SELECTED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { type, ...meta }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = `KeyboardShortcut.${type}.Selected`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, meta, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_TOOLBAR_TOGGLE']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { metaData }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = 'Toolbar.Toggled';\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, metaData, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_VARIABLE_PICKER_OPENED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: { payload: meta }\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = `VariablePicker.Discovered`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, meta, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_VARIABLE_PICKER_SELECTED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: { payload: meta }\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = `VariablePicker.Used`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, meta, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_FIELD_TYPE_UNSUPPORTED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst { payload } = coeffects.action;\n\t\t\t\tconst eventName = 'FieldtypeNotSupportedinSeismic';\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, payload, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_TEMPLATE_VALUE']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { field, eventName }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst trackPayload = {\n\t\t\t\t\tfield,\n\t\t\t\t\tfieldType: 'template_value'\n\t\t\t\t};\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, trackPayload, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_CONDITION_PICKER_OPENED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { metaData }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = `ConditionPicker.Discovered`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, metaData, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_CONDITION_PICKER_USED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { metaData }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = `ConditionPicker.Used`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, metaData, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_PREDICTIVE_TEXT_ACCEPTED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: { payload }\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = 'PredictiveText.Accepted';\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, payload, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_PREDICTIVE_TEXT_REJECTED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: { payload }\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = 'PredictiveText.Rejected';\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, payload, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"isEnabledActionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEnabledActionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].isEnabledActionTypes;\n\t\t\t\t\t} else if ('isEnabledActionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.isEnabledActionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].isEnabledActionTypes;\n\t\t\t\t}, [\"isEnabledBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEnabledBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].isEnabledBehavior;\n\t\t\t\t\t} else if ('isEnabledBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.isEnabledBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].isEnabledBehavior;\n\t\t\t\t}, [\"translationActionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.__esModule\n\t\t\t\t\tif (cjsModule && 'translationActionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].translationActionTypes;\n\t\t\t\t\t} else if ('translationActionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.translationActionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].translationActionTypes;\n\t\t\t\t}, [\"translationBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.__esModule\n\t\t\t\t\tif (cjsModule && 'translationBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].translationBehavior;\n\t\t\t\t\t} else if ('translationBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__.translationBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_dynamic_translation_25_0_1_index_jsdbx_f834db1e__[\"default\"].translationBehavior;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\nexport const TRANSLATED_BY = credit => t('Translated by {0}', credit);\nexport const TRANSLATING = t('Translating...');\nexport const UNABLE_TO_TRANSLATE = t('Unable to translate. ');\nexport const MISSING_CREDENTIALS = t(\n\t'Credentials are missing or invalid. Contact your administrator.'\n);\nexport const MAX_LENGTH_ERROR_MSG = t('Text has exceeded the maximum length.');\nexport const LANG_NOT_SUPPORTED = t(\n\t'Text cannot be translated to your preferred language.'\n);\nexport const NO_TEXT = t('No text to translate.');\nexport const FIELD_VALUE_CHANGED = t('The field value has changed. ');\nexport const RETRANSLATE = t('Retranslate');\nexport const TRY_AGAIN = t('Try again');\nexport const CLOSE = t('close');\nexport const PREFERRED_LANGUAGE = t(\n\t'This content is written in your preferred language. No need to translate.'\n);\nexport const TRANSLATE = t('Translate');\nexport const NOW_TEXT_LINK_CLICKED = 'NOW_TEXT_LINK#CLICKED';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const FORM_CLICK_WORKSPACE = 'Form Click - Workspace';\n\nexport const METRICS_TRANSLATE_BUTTON_CLICKED = 'Translate Button Clicked';\nexport const METRICS_CLOSE_TRANSLATED_TEXT_PANEL =\n\t'Close Translated Text Panel';\nexport const METRICS_TRYING_TRANSLATION_AGAIN = 'Trying Translation Again';\nexport const METRICS_RETRANSLATE_TEXT_REQUESTED = 'Re-Translate Text Requested';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { actionTypes, declarativeOperations } from '@servicenow/ui-core';\nimport { toString } from 'lodash';\nimport {\n\ttranslationActionTypes,\n\ttranslationBehavior,\n\tisEnabledActionTypes,\n\tisEnabledBehavior\n} from '@servicenow/behavior-dynamic-translation';\nimport {\n\tCLOSE,\n\tFIELD_VALUE_CHANGED,\n\tLANG_NOT_SUPPORTED,\n\tMAX_LENGTH_ERROR_MSG,\n\tMISSING_CREDENTIALS,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_TEXT_LINK_CLICKED,\n\tNO_TEXT,\n\tPREFERRED_LANGUAGE,\n\tRETRANSLATE,\n\tTRANSLATED_BY,\n\tTRANSLATING,\n\tTRY_AGAIN,\n\tUNABLE_TO_TRANSLATE,\n\tTRANSLATE,\n\tFORM_CLICK_WORKSPACE,\n\tMETRICS_TRANSLATE_BUTTON_CLICKED,\n\tMETRICS_RETRANSLATE_TEXT_REQUESTED,\n\tMETRICS_CLOSE_TRANSLATED_TEXT_PANEL,\n\tMETRICS_TRYING_TRANSLATION_AGAIN\n} from './constants';\nimport '@servicenow/now-text-link';\nimport '@servicenow/now-rich-text';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst {\n\tDYNAMIC_TRANSLATION_TEXT_TRANSLATED,\n\tDYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED\n} = translationActionTypes;\n\nconst {\n\tDYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED,\n\tDYNAMIC_TRANSLATION_IS_ENABLED\n} = isEnabledActionTypes;\n\nconst trackDynamicTranslationEvents = (eventTitle, metaData, dispatch) => {\n\tdispatch('TRACK_DYNAMIC_TRANSLATION_EVENTS', {\n\t\teventTitle,\n\t\tmetaData\n\t});\n};\n\nexport const translatedInputEffect = ({ action, updateState }) => {\n\tconst { payload, error } = action;\n\tlet translatedState = [\n\t\t{\n\t\t\tpath: 'translatedText.isRetranslate',\n\t\t\tvalue: false,\n\t\t\toperation: declarativeOperations.SET\n\t\t}\n\t];\n\tconst translatedResponse = payload.response;\n\tif (!error && translatedResponse) {\n\t\tconst translationsObj = translatedResponse.translations[0];\n\t\tconst detectedLang = translatedResponse.detectedLanguage?.code;\n\t\tconst targetLang = translationsObj.targetLanguage;\n\t\tif (detectedLang !== targetLang) {\n\t\t\ttranslatedState.push(\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.text',\n\t\t\t\t\tvalue: translationsObj.translatedText,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\t\tvalue: TRANSLATED_BY(translatedResponse.translator),\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.language',\n\t\t\t\t\tvalue: detectedLang,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\ttranslatedState.push(\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\t\tvalue: PREFERRED_LANGUAGE,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.text',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} else {\n\t\tconst errorCode = translatedResponse?.code;\n\t\tlet errorMessage = '';\n\t\tlet showRetry = false;\n\t\tswitch (errorCode) {\n\t\t\tcase '40052':\n\t\t\t\terrorMessage = MAX_LENGTH_ERROR_MSG;\n\t\t\t\tbreak;\n\t\t\tcase '40055':\n\t\t\t\terrorMessage = MISSING_CREDENTIALS;\n\t\t\t\tbreak;\n\t\t\tcase '40053':\n\t\t\tcase '40054':\n\t\t\tcase '40056':\n\t\t\t\terrorMessage = LANG_NOT_SUPPORTED;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\terrorMessage = UNABLE_TO_TRANSLATE;\n\t\t\t\tshowRetry = true;\n\t\t}\n\n\t\ttranslatedState.push(\n\t\t\t{\n\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\tvalue: errorMessage,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.text',\n\t\t\t\tvalue: null,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\tvalue: showRetry,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t}\n\t\t);\n\t}\n\n\tupdateState(translatedState);\n};\n\nexport const handleDynamicTranslationClick = (\n\tprops,\n\tdispatch,\n\tupdateState,\n\tisHTML\n) => {\n\t// Get the current text from the Input and call Translate service here\n\tlet translatedState = [\n\t\t{\n\t\t\tpath: 'translatedText.text',\n\t\t\tvalue: null,\n\t\t\toperation: declarativeOperations.SET\n\t\t},\n\t\t{\n\t\t\tpath: 'translatedText.isRetranslate',\n\t\t\tvalue: false,\n\t\t\toperation: declarativeOperations.SET\n\t\t},\n\t\t{\n\t\t\tpath: 'translatedText.showRetry',\n\t\t\tvalue: false,\n\t\t\toperation: declarativeOperations.SET\n\t\t}\n\t];\n\tif (!props.value) {\n\t\ttranslatedState.push({\n\t\t\tpath: 'translatedText.currentStatus',\n\t\t\tvalue: NO_TEXT,\n\t\t\toperation: declarativeOperations.SET\n\t\t});\n\t} else {\n\t\tconst msg = toString(props.value);\n\t\tconst dtsRequestBody = {\n\t\t\tmsg,\n\t\t\tevent: {\n\t\t\t\tsource: 'behaviourAPI',\n\t\t\t\teventName: FORM_CLICK_WORKSPACE,\n\t\t\t\ttableName: props.referringTable,\n\t\t\t\tfieldName: props.name,\n\t\t\t\tfieldType: props.fieldType\n\t\t\t}\n\t\t};\n\t\tif (isHTML) {\n\t\t\tdtsRequestBody.additionalParameters = [\n\t\t\t\t{ parameterName: 'texttype', parameterValue: 'html' }\n\t\t\t];\n\t\t}\n\t\tdispatch(DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED, dtsRequestBody);\n\t\ttranslatedState.push(\n\t\t\t{\n\t\t\t\tpath: 'translatedText.previousText',\n\t\t\t\tvalue: msg,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\tvalue: TRANSLATING,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t}\n\t\t);\n\t}\n\tupdateState(translatedState);\n};\n\nexport const dynamicTranslationBehaviour = {\n\tactionHandlers: {\n\t\t[DYNAMIC_TRANSLATION_TEXT_TRANSLATED]: {\n\t\t\teffect: translatedInputEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[DYNAMIC_TRANSLATION_IS_ENABLED]: ({ action, updateState, host }) => {\n\t\t\tconst { payload } = action;\n\t\t\tconst isTranslationEnabled = payload?.response?.translation;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'isTranslationEnabled',\n\t\t\t\t\tvalue: payload?.response?.translation,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t}\n\t\t\t]);\n\t\t\tif (host.getProperty('type') === 'textarea' && isTranslationEnabled) {\n\t\t\t\tconst nowTextArea = host.shadowRoot.querySelector('now-textarea');\n\t\t\t\tconst nativeTextArea = nowTextArea.shadowRoot.querySelector('textarea');\n\t\t\t\tnativeTextArea.style.paddingRight = '1.5rem';\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({ dispatch, properties }) {\n\t\t\t\tconst { dictionaryAttributes = {} } = properties;\n\t\t\t\tconst dynamicTranslationEnabled =\n\t\t\t\t\tdictionaryAttributes['dynamicTranslationEnabled'];\n\t\t\t\tif (dynamicTranslationEnabled) {\n\t\t\t\t\tdispatch(DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED, {\n\t\t\t\t\t\ttranslator: ''\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect({ updateState, dispatch, properties, state }) {\n\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\tMETRICS_CLOSE_TRANSLATED_TEXT_PANEL,\n\t\t\t\t\t{\n\t\t\t\t\t\trecord: properties.referringRecordId,\n\t\t\t\t\t\tfieldType: properties.fieldType,\n\t\t\t\t\t\tlanguage: state.translatedText?.language\n\t\t\t\t\t},\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'translatedText',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_TEXT_LINK_CLICKED]: {\n\t\t\teffect({ dispatch, updateState, properties, state }) {\n\t\t\t\tconst props = {\n\t\t\t\t\tvalue: properties.initialValue || state.value\n\t\t\t\t};\n\t\t\t\tconst recordMetics = {\n\t\t\t\t\trecord: properties.referringRecordId,\n\t\t\t\t\tfieldType: properties.fieldType,\n\t\t\t\t\tlanguage: state.translatedText.language\n\t\t\t\t};\n\n\t\t\t\thandleDynamicTranslationClick(\n\t\t\t\t\tprops,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\t!properties.initialValue\n\t\t\t\t);\n\t\t\t\tif (state.translatedText.showRetry) {\n\t\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\t\tMETRICS_TRYING_TRANSLATION_AGAIN,\n\t\t\t\t\t\trecordMetics,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t);\n\t\t\t\t} else if (state.translatedText.isRetranslate) {\n\t\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\t\tMETRICS_RETRANSLATE_TEXT_REQUESTED,\n\t\t\t\t\t\trecordMetics,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n\nexport const handleDynamicTranslationBlur = (\n\tinputValue,\n\tupdateState,\n\ttranslatedText = {}\n) => {\n\tconst previousTranslatedText = translatedText.previousText;\n\tconst currentTranslationStatus = translatedText.currentStatus;\n\tif (currentTranslationStatus && previousTranslatedText !== inputValue) {\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\tvalue: FIELD_VALUE_CHANGED,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.isRetranslate',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.previousText',\n\t\t\t\tvalue: inputValue,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.text',\n\t\t\t\tvalue: null,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t}\n\t\t]);\n\t}\n};\n\nconst renderTextLink = label => {\n\treturn (\n\t\t<now-text-link\n\t\t\tlabel={label}\n\t\t\thref=\"javascript:;\"\n\t\t\tvariant=\"secondary\"\n\t\t\tconfigAria={{\n\t\t\t\trole: 'button'\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const renderTranslatedText = (translatedText, isHTML = false) => {\n\tif (translatedText) {\n\t\treturn (\n\t\t\t<div className=\"sn-record-dts\" size=\"md\" hideShadow=\"true\">\n\t\t\t\t<div className=\"sn-record-dts-header\">\n\t\t\t\t\t<div className=\"sn-record-dts-translator\">\n\t\t\t\t\t\t{translatedText.currentStatus && (\n\t\t\t\t\t\t\t<i>\n\t\t\t\t\t\t\t\t{translatedText.currentStatus}\n\t\t\t\t\t\t\t\t{translatedText.isRetranslate && renderTextLink(RETRANSLATE)}\n\t\t\t\t\t\t\t\t{translatedText.showRetry && renderTextLink(TRY_AGAIN)}\n\t\t\t\t\t\t\t<\/i>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\thidePadding={true}\n\t\t\t\t\t\ttooltip-content={CLOSE}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\trole: 'button'\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\n\t\t\t\t{translatedText?.text ? (\n\t\t\t\t\t<div className=\"sn-record-dts-response\">\n\t\t\t\t\t\t{!isHTML ? (\n\t\t\t\t\t\t\ttranslatedText.text\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<now-rich-text\n\t\t\t\t\t\t\t\tid=\"richTextId-component-dts\"\n\t\t\t\t\t\t\t\thtml={translatedText.text}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}{' '}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : (\n\t\t\t\t\t[]\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t);\n\t}\n};\n\nexport const renderTranslateIcon = (props, dispatch, updateState, isHTML) => {\n\treturn (\n\t\t<sn-record-control\n\t\t\ticon=\"translated-text-fill\"\n\t\t\ttooltip={TRANSLATE}\n\t\t\tslot=\"controls\"\n\t\t\tonClick={() => {\n\t\t\t\thandleDynamicTranslationClick(props, dispatch, updateState, isHTML);\n\t\t\t\t// language here will be null , Since it is still not identified\n\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\tMETRICS_TRANSLATE_BUTTON_CLICKED,\n\t\t\t\t\t{\n\t\t\t\t\t\trecord: props.referringRecordId,\n\t\t\t\t\t\tfieldType: props.fieldType,\n\t\t\t\t\t\tlanguage: null\n\t\t\t\t\t},\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport { translationBehavior, isEnabledBehavior };\n","\nimport react from '@servicenow/ui-renderer-react';\n\nimport {\n\tcamelCase,\n\tdifference,\n\tkeys,\n\tpick,\n\tforEach,\n\ttransformState,\n\tForwardProperties,\n\twithValueChangeCallbacksView\n} from '@devsnc/sn-controls-common';\n\nconst defaultSeismicProps = [\n\t'dispatch',\n\t'componentId',\n\t'resources',\n\t'channels'\n];\n\n/*\n * Have seismic rerender the component when any of its declared props\n * have changed. However, we can strip out any seismic-specific\n * attributes/props because those are already handled internally within\n * seismic core.\n *\n * Also want to strip out `children` because Seismic will return\n * HTMLElements instead of anything useful in React.\n */\nexport const transformProperties = component => {\n\tlet usingPropTypes = !component.properties;\n\n\tlet properties = Object.entries(component.properties || component.propTypes).reduce(\n\t\t(acc, [k, v]) => {\n\t\t  return {\n\t\t\t...acc,\n\t\t\t// don't pass along PropType types\n\t\t\t[camelCase(k)]: usingPropTypes ? {} : v,\n\t\t  };\n\t\t},\n\t\t{}\n\t  );\n\n\tlet wantedProps = difference(keys(properties), defaultSeismicProps, [\n\t\t'children'\n\t]);\n\n\treturn pick(properties, wantedProps);\n};\n\nexport function registerComponents(registrationFn, componentMap) {\n\tforEach(\n\t\tcomponentMap,\n\t\t(\n\t\t\t{ component: view, resources, actionTypesToProps, useCallbacks = false },\n\t\t\tname\n\t\t) => {\n\t\t\tlet {\n\t\t\t\tactions,\n\t\t\t\tactionHandlers,\n\t\t\t\tinitialState,\n\t\t\t\tbehaviors,\n\t\t\t\tstyle: styles\n\t\t\t} = view;\n\t\t\tregistrationFn(name, {\n\t\t\t\ttype: react,\n\t\t\t\tview:\n\t\t\t\t\tuseCallbacks === true\n\t\t\t\t\t\t? withValueChangeCallbacksView(ForwardProperties(view))\n\t\t\t\t\t\t: ForwardProperties(view),\n\t\t\t\tstyles,\n\t\t\t\tproperties: transformProperties(view),\n\t\t\t\tinitialState,\n\t\t\t\ttransformState,\n\t\t\t\tactionHandlers,\n\t\t\t\tactions,\n\t\t\t\tresources,\n\t\t\t\tactionTypesToProps,\n\t\t\t\tbehaviors\n\t\t\t});\n\t\t}\n\t);\n}\n\nexport default function registerComponentsWrapper(\n\tregistrationFn,\n\tcomponentMap\n) {\n\t// eslint-disable-next-line no-undef\n\tif (process.env.NODE_ENV !== 'test') {\n\t\tregisterComponents(registrationFn, componentMap);\n\t}\n}\n","const hostToScrollListener = new WeakMap();\nlet onChangedProperty;\n\nconst addScrollListener = (host, dispatch) => {\n\tif (!hostToScrollListener.get(host)) {\n\t\tconst scrollListener = () => {\n\t\t\tdispatch('SCROLL_WATCH#SCROLL_OUTSIDE_COMPONENT');\n\t\t};\n\t\thostToScrollListener.set(host, scrollListener);\n\t\twindow.addEventListener('scroll', hostToScrollListener.get(host));\n\t}\n};\n\nconst removeScrollListener = host => {\n\tconst oldListener = hostToScrollListener.get(host);\n\tif (oldListener) {\n\t\twindow.removeEventListener('scroll', oldListener);\n\t\thostToScrollListener.delete(host);\n\t}\n};\n\nexport default {\n\tname: 'scroll-watch',\n\tonConnect(host, dispatch, options) {\n\t\tonChangedProperty = options.onChangedProperty;\n\t},\n\tonRender(host, dispatch, state, lastState) {\n\t\tif (\n\t\t\tstate.properties[onChangedProperty] !==\n\t\t\tlastState.properties[onChangedProperty]\n\t\t) {\n\t\t\tif (state.properties[onChangedProperty]) {\n\t\t\t\taddScrollListener(host, dispatch);\n\t\t\t} else {\n\t\t\t\tremoveScrollListener(host, dispatch);\n\t\t\t}\n\t\t}\n\t}\n};\n","import snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\n\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\n\nimport { fieldLayoutSchema, isSlotEmpty } from '@devsnc/sn-controls-common';\nimport styles from './annotation.scss';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_RENDERED } = actionTypes;\n\nconst COMPONENT_NAME = 'sn-record-annotation';\nconst HORIZONTAL_LAYOUT = 'horizontal';\nconst VERTICAL_LAYOUT = 'vertical';\nconst baseClass = COMPONENT_NAME;\n\nconst MAX_CONTENT_HEIGHT = 60;\n\nexport function getContentHeight(contentRef) {\n\treturn contentRef ? contentRef.offsetHeight : 0;\n}\n\nexport function getExpandLabel(expanded) {\n\treturn expanded ? t('Show Less') : t('Show More');\n}\n\nexport function updateContentHeight(contentRef, updateState, setExpanded) {\n\tconst contentHeight = getContentHeight(contentRef);\n\tconst isOverMaxHeight =\n\t\tcontentRef === null || contentHeight > MAX_CONTENT_HEIGHT;\n\tconst newState = {\n\t\tcontentHeight,\n\t\tisOverMaxHeight\n\t};\n\tif (setExpanded) {\n\t\tnewState.expanded = !isOverMaxHeight;\n\t}\n\tupdateState(newState);\n}\n\nexport function view(state, { updateState }) {\n\tconst {\n\t\timportant,\n\t\tlineSeparator,\n\t\tsectionSeparator,\n\t\tsectionDetails,\n\t\ttext,\n\t\tinfo,\n\t\tfieldLayout\n\t} = state.properties;\n\tconst { componentId } = state;\n\tconst { isOverMaxHeight, expanded, slotEmpty } = state;\n\n\tconst contentId = `${componentId}-content`;\n\n\tconst showIcon = !slotEmpty;\n\n\tconst { layout = VERTICAL_LAYOUT, columns } = fieldLayout;\n\tconst normalizedColumns =\n\t\tcolumns?.length > 2\n\t\t\t? (columns.map(c => `minmax(0, ${c})`)?.join(' ') ?? '')\n\t\t\t: '';\n\treturn (\n\t\t<div\n\t\t\tref={element => updateState({ containerRef: element })}\n\t\t\tclass={{\n\t\t\t\t[baseClass]: true,\n\t\t\t\t[`${baseClass}__layout-horizontal`]: layout === HORIZONTAL_LAYOUT,\n\t\t\t\t[`${baseClass}__error`]: important\n\t\t\t}}\n\t\t\trole=\"status\"\n\t\t\taria-label={t('Field annotation')}\n\t\t\taria-describedby={contentId}\n\t\t\tstyle={\n\t\t\t\tlayout === HORIZONTAL_LAYOUT\n\t\t\t\t\t? { 'grid-template-columns': normalizedColumns }\n\t\t\t\t\t: {}\n\t\t\t}\n\t\t>\n\t\t\t{lineSeparator && !sectionSeparator ? (\n\t\t\t\t<hr className=\"line-separator\" />\n\t\t\t) : (\n\t\t\t\t<Fragment />\n\t\t\t)}\n\t\t\t{sectionSeparator ? <hr className=\"section-separator\" /> : <Fragment />}\n\t\t\t<div\n\t\t\t\tid={contentId}\n\t\t\t\tclass={{\n\t\t\t\t\t[`${baseClass}-content`]: true,\n\t\t\t\t\t'has-separator': sectionSeparator || lineSeparator,\n\t\t\t\t\t'has-error': important,\n\t\t\t\t\t'is-text': text,\n\t\t\t\t\t'is-info': info,\n\t\t\t\t\t'has-section-detail': sectionDetails,\n\t\t\t\t\t'is-section': sectionSeparator || sectionDetails\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{showIcon ? (\n\t\t\t\t\t<div className={`${baseClass}-content-icon`}>\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'context-form-annotation': true,\n\n\t\t\t\t\t\t\t\t'has-error': important\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\t'aria-label': 'Field annotation icon'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : (\n\t\t\t\t\t<Fragment />\n\t\t\t\t)}\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdetails: true,\n\t\t\t\t\t\t'is-section': sectionSeparator,\n\t\t\t\t\t\t'is-truncated': isOverMaxHeight && !expanded,\n\t\t\t\t\t\tcollapsed: !state.expanded && isOverMaxHeight\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={element => updateState({ contentRef: element })}\n\t\t\t\t\t\tclass=\"details-content\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t{isOverMaxHeight ? (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[`${baseClass}-content-toggle`]: true,\n\t\t\t\t\t\t'has-icon': showIcon\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tlabel={getExpandLabel(expanded)}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ttooltipContent={t('Toggle Content')}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\texpanded: !state.expanded\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<\/div>\n\t\t\t) : (\n\t\t\t\t<Fragment />\n\t\t\t)}\n\t\t<\/div>\n\t);\n}\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect({ state, updateState }) {\n\t\t\tconst { contentRef } = state;\n\t\t\t// On bootstrap, set the content to be not expanded if it is too tall\n\t\t\tupdateContentHeight(contentRef, updateState, true);\n\t\t}\n\t},\n\t[COMPONENT_RENDERED]: {\n\t\teffect({ state, updateState }) {\n\t\t\tconst { contentRef } = state;\n\t\t\tconst slot = contentRef && contentRef.querySelector('slot');\n\t\t\t// Remove tabIndex from container if slot is empty\n\t\t\tif (slot && isSlotEmpty(slot)) {\n\t\t\t\tstate.containerRef.removeAttribute('tabIndex');\n\t\t\t}\n\t\t\t// TODO: Add tabIndex attr if not empty (we would need to remember the old\n\t\t\t// TODO: tabIndex when we removed it).\n\t\t\tupdateContentHeight(contentRef, updateState);\n\t\t}\n\t}\n};\n\n/**\n *\n * Simple Annotation component to wrap around a set of Elements\n *\n * ```jsx\n * <div>\n * \t<sn-record-annotation>\n * \t\t<h5>This is a header<\/h5>\n * \t\t<p>\n * \t\t\tBody with a <button>button<\/button> or any arbitrary <b>tag<\/b>.\n * \t\t<\/p>\n * \t\t<p>This is a footer<\/p>\n * \t<\/sn-record-annotation>\n *\n * \t<sn-record-annotation important>\n * \t\t<h5>This is an annotation with the important attr set<\/h5>\n * \t<\/sn-record-annotation>\n * <\/div>\n * ```\n *\n * @seismicElement sn-record-annotation\n * @summary Annotation Component.\n *\n **/\ncreateCustomElement(COMPONENT_NAME, {\n\ttype: snabbdom,\n\tview,\n\tstyles,\n\tinitialState: {\n\t\tcontentHeight: 0,\n\t\tisOverMaxHeight: false,\n\t\texpanded: true,\n\t\tcontentRef: null,\n\t\tcontainerRef: null\n\t},\n\tactions: {\n\t\tCOMPONENT_BOOTSTRAPPED: {},\n\t\tCOMPONENT_RENDERED: {}\n\t},\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Flag to toggle the info icon color.\n\t\t * If exists, it will be red. The default is blue.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\timportant: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Flag to add line separator above header.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tlineSeparator: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Flag to add info box.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tinfo: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Flag to add section separator below header.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsectionSeparator: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Flag to add section details.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsectionDetails: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Flag to add text details.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\ttext: { default: false, schema: { type: 'boolean' } }\n\t}\n});\n\nexport default COMPONENT_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"messagesSchema\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.__esModule\n\t\t\t\t\tif (cjsModule && 'messagesSchema' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].messagesSchema;\n\t\t\t\t\t} else if ('messagesSchema' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.messagesSchema || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].messagesSchema;\n\t\t\t\t}, [\"renderFormFieldLabel\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.__esModule\n\t\t\t\t\tif (cjsModule && 'renderFormFieldLabel' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].renderFormFieldLabel;\n\t\t\t\t\t} else if ('renderFormFieldLabel' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.renderFormFieldLabel || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].renderFormFieldLabel;\n\t\t\t\t}, [\"renderFormFieldMessages\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.__esModule\n\t\t\t\t\tif (cjsModule && 'renderFormFieldMessages' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].renderFormFieldMessages;\n\t\t\t\t\t} else if ('renderFormFieldMessages' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__.renderFormFieldMessages || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_input_index_jsdbx_70a7f20e__[\"default\"].renderFormFieldMessages;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\nexport const AUTO_NUMBER_CONSTANTS = Object.freeze({\n\tFETCH_AUTO_NUMBER: 'FETCH_AUTO_NUMBER',\n\tFETCH_AUTO_NUMBER_SUCCESS: 'FETCH_AUTO_NUMBER_SUCCESS',\n\tFETCH_AUTO_NUMBER_FAILURE: 'FETCH_AUTO_NUMBER_FAILURE',\n\tFETCH_AUTO_NUMBER_ERROR_MSG: t('Unable to generate Auto Number.')\n});\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_BUTTON_ICONIC_TOOLTIP = t('Generate Auto Number');\nexport const SN_RECORD_AUTO_NUMBER_CONNECTED_VALUE_CHANGED =\n\t'SN_RECORD_AUTO_NUMBER_CONNECTED#VALUE_CHANGED';\nexport const EVENT_ORIGIN = 'auto-nuber-fetch-button';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","import { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\nimport { SN_RECORD_AUTO_NUMBER_CONNECTED_VALUE_CHANGED } from './constants';\n\nexport const dispatchValueChanged = (payload, effectProps) => {\n\tconst { state, dispatch } = effectProps;\n\tconst onValueChange = state.properties.onValueChange;\n\tconst { value, error } = payload;\n\tconst shouldDispatch = state.properties.value !== value || !!error;\n\tif (shouldDispatch) {\n\t\tif (onValueChange) {\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t...payload,\n\t\t\t\terror\n\t\t\t});\n\t\t}\n\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: {\n\t\t\t\tname: state.properties.name,\n\t\t\t\tfieldType: 'auto-number-connected'\n\t\t\t}\n\t\t});\n\n\t\tdispatch(SN_RECORD_AUTO_NUMBER_CONNECTED_VALUE_CHANGED, {\n\t\t\t...payload,\n\t\t\terror\n\t\t});\n\t}\n};\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tAUTO_NUMBER_CONSTANTS,\n\tEVENT_ORIGIN\n} from './constants';\nimport { dispatchValueChanged } from './utils.js';\n\nconst FETCH_AUTO_NUMBER_API = '/xmlhttp.do';\nconst FETCH_AUTO_QUERY_PARAMS = ['sysparm_processor', 'sysparm_name'];\nconst {\n\tFETCH_AUTO_NUMBER,\n\tFETCH_AUTO_NUMBER_SUCCESS,\n\tFETCH_AUTO_NUMBER_FAILURE,\n\tFETCH_AUTO_NUMBER_ERROR_MSG\n} = AUTO_NUMBER_CONSTANTS;\n\nconst autoNumberGenerateEffect = ({\n\tstate: {\n\t\tproperties: { name, referringTable }\n\t},\n\tdispatch,\n\taction: {\n\t\tpayload: { eventOrigin }\n\t}\n}) => {\n\tif (EVENT_ORIGIN !== eventOrigin) return;\n\n\tdispatch(FETCH_AUTO_NUMBER, {\n\t\tsysparm_processor: 'GetNextNumberAjax',\n\t\tsysparm_name: `${referringTable}.${name}`\n\t});\n};\n\nconst FetchAutoNumberEffect = createHttpEffect(FETCH_AUTO_NUMBER_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t\t'X-WantSessionNotificationMessages': 'true',\n\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t},\n\tqueryParams: FETCH_AUTO_QUERY_PARAMS,\n\tsuccessActionType: FETCH_AUTO_NUMBER_SUCCESS,\n\terrorActionType: FETCH_AUTO_NUMBER_FAILURE\n});\n\nconst FetchAutoNumberSuccessEffect = effectProps => {\n\tconst {\n\t\taction,\n\t\tstate: {\n\t\t\tproperties: { name, value }\n\t\t}\n\t} = effectProps;\n\tconst rxml = new window.DOMParser().parseFromString(\n\t\taction.payload,\n\t\t'text/xml'\n\t);\n\tconst items = rxml.getElementsByTagName('item');\n\tif (items.length > 0) {\n\t\tconst val = items[0].getAttribute('value') || '';\n\t\tif (val) {\n\t\t\tdispatchValueChanged(\n\t\t\t\t{\n\t\t\t\t\tname,\n\t\t\t\t\tvalue: val,\n\t\t\t\t\terror: false\n\t\t\t\t},\n\t\t\t\teffectProps,\n\t\t\t\tFETCH_AUTO_NUMBER_SUCCESS\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t}\n\tdispatchValueChanged(\n\t\t{\n\t\t\tname,\n\t\t\tvalue,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: FETCH_AUTO_NUMBER_ERROR_MSG\n\t\t\t}\n\t\t},\n\t\teffectProps,\n\t\tFETCH_AUTO_NUMBER_FAILURE\n\t);\n};\n\nconst FetchAutoNumberFailureEffect = effectProps => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: { name, value }\n\t\t}\n\t} = effectProps;\n\tdispatchValueChanged(\n\t\t{\n\t\t\tname,\n\t\t\tvalue,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: FETCH_AUTO_NUMBER_ERROR_MSG\n\t\t\t}\n\t\t},\n\t\teffectProps,\n\t\tFETCH_AUTO_NUMBER_FAILURE\n\t);\n};\n\nexport default {\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: autoNumberGenerateEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_AUTO_NUMBER]: {\n\t\t...FetchAutoNumberEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_AUTO_NUMBER_SUCCESS]: {\n\t\teffect: FetchAutoNumberSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_AUTO_NUMBER_FAILURE]: {\n\t\teffect: FetchAutoNumberFailureEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\nimport {\n\tisAttrTrue,\n\ttransformMessages,\n\twrapHelperContent,\n\ttrackBehavior,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\nimport { NOW_BUTTON_ICONIC_TOOLTIP, EVENT_ORIGIN } from './constants';\nimport actionHandlers from './actionHandlers';\nimport { dispatchValueChanged } from './utils.js';\nimport styles from './auto-number-connected.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nconst COMPONENT_NAME = 'sn-record-auto-number-connected';\n\nconst getError = value => ({\n\ttype: 'error',\n\ticon: 'circle-close-outline',\n\tmessage: t('{0} is not a valid value', value)\n});\n\nexport const view = state => {\n\tconst {\n\t\tlabel,\n\t\tname,\n\t\tvalue,\n\t\treadonly,\n\t\tinvalid,\n\t\tmaxlength,\n\t\tmessages,\n\t\terror,\n\t\tdisabled,\n\t\trequired,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\treturn (\n\t\t<now-input\n\t\t\ttype=\"text\"\n\t\t\twrapLabel={wrapLabel}\n\t\t\tinvalid={invalid || Boolean(error)}\n\t\t\tlabel={label}\n\t\t\tvalue={value}\n\t\t\tmanage-value\n\t\t\tmanage-invalid\n\t\t\tname={name}\n\t\t\tmaxlength={maxlength}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tdisabled={isAttrTrue(disabled)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t\tfield-layout={fieldLayout}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t{isAttrTrue(readonly) ? null : (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\ticon=\"grid-fill\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tdisabled={isAttrTrue(disabled)}\n\t\t\t\t\ttooltip-content={NOW_BUTTON_ICONIC_TOOLTIP}\n\t\t\t\t\tappend-to-payload={{ eventOrigin: EVENT_ORIGIN }}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': NOW_BUTTON_ICONIC_TOOLTIP\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\tlabel\n\t\t\t\t})\n\t\t\t)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\n/**\n *\n *  Component that provides auto number functionality\n *```jsx\n *\t<sn-record-auto-number-connected\n *\t\tname = 'u_test_auto_number',\n *\t\tvalue = 'INC0010017',\n *\t\tlabel = 'test auto number',\n *\t\tmaxlength = 40,\n *\t\treferringTable = 'incident',\n *\t\treferringRecordId = '552c48888c033300964f4932b03eb092'\n *\t\tonValueChange = {onChangeCallback}\n *\t/>\n *\n *```\n * @seismicElement sn-record-auto-number-connected\n * @summary  Auto Number Component.\n */\n\ncreateCustomElement(COMPONENT_NAME, {\n\tview,\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: {},\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: { default: false },\n\t\t/**\n\t\t * Flag indicating whether there is an error in ip-address formatting\n\t\t * @type {string | boolean }\n\t\t */\n\t\terror: { default: '' },\n\t\t/**\n\t\t * Maximum number of characters that the user can enter in the field.\n\t\t */\n\t\tmaxlength: {},\n\t\t/**\n\t\t * value for the input.\n\t\t * @type {'string'}\n\t\t */\n\t\tvalue: { default: '' },\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t * @type {'string'}\n\t\t */\n\t\treferringTable: {},\n\t\t/**\n\t\t * record id of the current record where the field is located\n\t\t * @type {'string'}\n\t\t */\n\t\treferringRecordId: {},\n\t\t/**\n\t\t * The messages that you want to display underneath the component\n\t\t * @type {[{ type: 'string', message: 'string' }]}\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * Callback for Forms consumption\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } }\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t'NOW_INPUT#VALUE_SET': { stopPropagation: true }\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'NOW_INPUT#INVALID_SET': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: effectProps => {\n\t\t\t\tconst { readonly } = effectProps.properties;\n\t\t\t\tif (!isAttrTrue(readonly)) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue: invalid,\n\t\t\t\t\t\tfieldValue: value\n\t\t\t\t\t} = effectProps.action.payload;\n\t\t\t\t\tconst payload = {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\terror: invalid ? getError(value) : false\n\t\t\t\t\t};\n\n\t\t\t\t\tdispatchValueChanged(payload, effectProps, 'NOW_INPUT#INVALID_SET');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ name: string, value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_AUTO_NUMBER_CONNECTED#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_5_1_index_jsdbx_cbcec5ad__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_5_1_index_jsdbx_2035bf26__[\"default\"][\"default\"];\n\t\t\t\t} });","import makeClass from 'classnames';\nimport { mapValues, isString, isEmpty } from 'lodash';\nimport { createSlot } from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nimport {\n\trenderFormFieldMessages,\n\trenderFormFieldLabel\n} from '@servicenow/now-input';\nimport {\n\tisAttrTrue,\n\tgenerateSubComponentIds,\n\ttransformState,\n\trenderHighlightedValue,\n\ttransformDescriptionAndMessages,\n\twrapHelperContent,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig\n} from '@devsnc/sn-controls-common';\n\nimport style from './controlwrapper.scss';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\n/**\n * Wrapping component that provides common behavior for nearly all\n * for controls: label, focus classes, error state, etc.\n *\n * Components that are shaped more like an input should use\n * FieldAndDropdownWrapperSeismic instead.\n */\nexport default function ControlWrapper(\n\t{\n\t\tlabel,\n\t\talign,\n\t\trequired,\n\t\treadonly,\n\t\tdescription,\n\t\tinvalid,\n\t\thasFocus,\n\t\treversed,\n\t\tmessages,\n\t\twrapperRef,\n\t\tslot,\n\t\tcomponentId,\n\t\tvariant,\n\t\tfieldset = false,\n\t\thelperContent,\n\t\thighlightedValue = {},\n\t\tfieldLayout = {},\n\t\talignCenter,\n\t\tdecorations = [],\n\t\tfitToParent,\n\t\tshowUnsavedIndicator = false,\n\t\twrapLabel,\n\t\tshowAIIndicator,\n\t\tinitialValue,\n\t\tsuggestions,\n\t\tisModified\n\t},\n\tchildren\n) {\n\tconst { layout = 'vertical', columns } = fieldLayout;\n\tconst customColumn =\n\t\tcolumns?.length > 2\n\t\t\t? (columns?.map(c => `minmax(0, ${c})`)?.join(' ') ?? '')\n\t\t\t: '';\n\tconst snFormFieldClassName = makeClass(\n\t\t'sn-form-field',\n\t\tmapValues({\n\t\t\t'fit-to-parent': fitToParent\n\t\t})\n\t);\n\tconst className = makeClass(\n\t\t'sn-control',\n\t\t'sn-form-field-layout',\n\t\tmapValues(\n\t\t\t{\n\t\t\t\t'is-required': required,\n\t\t\t\t// TODO: we only support `readonly` prop, but we use the `disabled`\n\t\t\t\t// design. Work with XD to align.\n\t\t\t\t'is-readonly': readonly,\n\t\t\t\t'is-focus': hasFocus,\n\t\t\t\t'has-error': invalid,\n\t\t\t\t'is-align-end': align === 'end' && !isAttrTrue(reversed),\n\t\t\t\t'is-align-end-reversed': align === 'end' && isAttrTrue(reversed),\n\t\t\t\t[`-${layout}`]: true,\n\t\t\t\t'align-center': alignCenter,\n\t\t\t\t'fit-to-parent': fitToParent,\n\t\t\t\t'will-wrap': wrapLabel\n\t\t\t},\n\t\t\tisAttrTrue\n\t\t),\n\t\tisString(variant)\n\t\t\t? variant\n\t\t\t\t\t.split(' ')\n\t\t\t\t\t.map(v => `-${v}`)\n\t\t\t\t\t.join(' ')\n\t\t\t: null\n\t);\n\n\tconst ids = generateSubComponentIds(componentId);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={\n\t\t\t\tlayout === 'horizontal'\n\t\t\t\t\t? { 'grid-template-columns': customColumn }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tclassName={className}\n\t\t\tref={wrapperRef}\n\t\t\tslot={slot}\n\t\t>\n\t\t\t{!fieldset && label && !isEmpty(label.trim()) && (\n\t\t\t\t<div className=\"form-field-label-wrap\">\n\t\t\t\t\t{layout === 'vertical' && (\n\t\t\t\t\t\t<span className=\"sn-control-field-label-start\">\n\t\t\t\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\t\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t)}\n\t\t\t\t\t{renderFormFieldLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\tisAttrTrue(required),\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\twrapHelperContent(helperContent),\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t'label',\n\t\t\t\t\t\tlayout,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\twrapLabel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderDecorations({\n\t\t\t\t\t\tdecorations,\n\t\t\t\t\t\tformControlWrapper: true,\n\t\t\t\t\t\tshowAIIndicator,\n\t\t\t\t\t\tinitialValue,\n\t\t\t\t\t\tsuggestions,\n\t\t\t\t\t\tisModified\n\t\t\t\t\t})}\n\n\t\t\t\t\t{layout === 'vertical' && (\n\t\t\t\t\t\t<div className=\"sn-control-highlighted-field-label-end\">\n\t\t\t\t\t\t\t<slot name=\"controls-label-end\" slot=\"label-end\"><\/slot>\n\t\t\t\t\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!fieldset && layout === 'horizontal' && label && (\n\t\t\t\t\t\t<span className=\"sn-control-field-label-start\">\n\t\t\t\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\t\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t{fieldset ? (\n\t\t\t\t<fieldset className=\"default-fieldset\">\n\t\t\t\t\t<legend\n\t\t\t\t\t\tclassName=\"sn-control-label\"\n\t\t\t\t\t\tid={ids.label}\n\t\t\t\t\t\thtmlFor={componentId}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"sn-control-field-label-start\">\n\t\t\t\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t\t\t\t{label &&\n\t\t\t\t\t\t\t\trenderIconsInLabelSlot(\n\t\t\t\t\t\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\t\t\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t\t{renderDecorations({\n\t\t\t\t\t\t\tdecorations,\n\t\t\t\t\t\t\tformControlWrapper: true,\n\t\t\t\t\t\t\tshowAIIndicator,\n\t\t\t\t\t\t\tinitialValue,\n\t\t\t\t\t\t\tsuggestions,\n\t\t\t\t\t\t\tisModified\n\t\t\t\t\t\t})}\n\t\t\t\t\t<\/legend>\n\t\t\t\t\t{children ? (\n\t\t\t\t\t\t<div className={snFormFieldClassName}>{createSlot(children)}<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<slot><\/slot>\n\t\t\t\t\t)}\n\t\t\t\t<\/fieldset>\n\t\t\t) : children ? (\n\t\t\t\t<div className={snFormFieldClassName}>{createSlot(children)}<\/div>\n\t\t\t) : (\n\t\t\t\t<slot><\/slot>\n\t\t\t)}\n\t\t\t{layout === 'horizontal' && !fieldset && (\n\t\t\t\t<div className=\"sn-control-highlighted-field-label-end\">\n\t\t\t\t\t<slot name=\"controls-label-end\" slot=\"label-end\"><\/slot>\n\t\t\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t\t<div className=\"form-field-message-container\">\n\t\t\t\t{renderFormFieldMessages(\n\t\t\t\t\tcomponentId,\n\t\t\t\t\ttransformDescriptionAndMessages(description, messages)\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n}\n\nconst view = state => {\n\treturn <ControlWrapper {...state.properties} />;\n};\n\n/**\n * Wrapping component that provides common behavior for nearly all\n * for controls: label, focus classes, error state, etc.\n *\n * Components that are shaped more like an input should use\n * FieldAndDropdownWrapperSeismic instead.\n *\n * ```jsx\n * <sn-record-control-wrapper\n * \tlabel=\"Dummy Component\"\n * \tdescription=\"This is an example of Control Wrapper in use\"\n * >\n * \t<div>\n * \t\t<input value=\"This is a dummy component\" readOnly />\n * \t<\/div>\n * <\/sn-record-control-wrapper>\n * ```\n *\n * @seismicElement sn-record-control-wrapper\n * @summary Wrapper for Form Controls that provides all common form-controls functionalities such as info messages, labels, error states\n *\n * */\ncreateCustomElement('sn-record-control-wrapper', {\n\tview,\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Alignment - use Value \"end\" for a right Text Align\n\t\t * @type {string}\n\t\t */\n\t\talign: {},\n\t\t/**\n\t\t * Unique identifier for the component.\n\t\t * @type {string}\n\t\t */\n\t\tcomponentId: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Fieldset - Flag to inidcate a group of related elements\n\t\t * @type {boolean}\n\t\t */\n\t\tfieldset: { default: false },\n\t\t/**\n\t\t * Is the component in focus\n\t\t * @type {string|boolean}\n\t\t */\n\t\thasFocus: { default: false },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Defines the styles used to render the wrapper.\n\t\t * @type {string}\n\t\t */\n\t\tvariant: {},\n\t\t/**\n\t\t * Reference to the element.\n\t\t * @type {HTMLElement}\n\t\t */\n\t\twrapperRef: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Specifies whether to align items in center of grid container with padding-block-start or not\n\t\t * @type {boolean}\n\t\t */\n\t\talignCenter: { default: false },\n\t\t/**\n\t\t * Specifies whether to show modified indicator or not in before label\n\t\t * @type {boolean}\n\t\t */\n\t\tshowUnsavedIndicator: { default: false },\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Specifies whether to show AI indicator or not in before label\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { default: false },\n\t\t/**\n\t\t * Specifies whether to field is modified or not\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { default: false }\n\t},\n\ttransformState,\n\tbehaviors: [{ behavior: truncationBehavior }, { behavior: tooltipBehavior }]\n});\n","// 3rd party imports\nimport classNames from 'classnames';\nimport { isEmpty, reduce, some } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport style from './controlwrapper.scss';\nimport { FIELD_MESSAGE_TYPES } from '@devsnc/sn-controls-common';\n\n/**\n * Utility function that returns message group markup\n * @param {String} type type of message we want to pass in\n * @param {Array} messages array of strings to display\n * @returns {Element} returns an element containing all messages\n */\nconst getMessages = function (type, messages) {\n\tif (!Array.isArray(messages) || messages.length == 0) return null;\n\tlet wrapperClass, iconType;\n\tswitch (type) {\n\t\tcase 'info':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'success':\n\t\t\twrapperClass = 'success';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\twrapperClass = 'danger';\n\t\t\ticonType = 'circle-exclamation-outline';\n\t\t\tbreak;\n\t\tcase 'warning':\n\t\t\twrapperClass = 'warning';\n\t\t\ticonType = 'exclamation-triangle-outline';\n\t\t\tbreak;\n\t\tcase 'liveUpdate':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'heartbeat-outline';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\twrapperClass = 'suggestion';\n\t\t\tbreak;\n\t}\n\n\tconst template = (\n\t\t<div\n\t\t\tkey={type}\n\t\t\tclassName={classNames('sn-control-message', `-${wrapperClass}`, {\n\t\t\t\t'-multi': Array.isArray(messages) && messages.length > 1\n\t\t\t})}\n\t\t>\n\t\t\t{messages.map((message, i) => {\n\t\t\t\tif (type === 'warning' && message.isUserModified) {\n\t\t\t\t\tmessage = message.getMessage().label;\n\t\t\t\t} else {\n\t\t\t\t\tmessage = message.getMessage ? message.getMessage() : message;\n\t\t\t\t\tif (type === 'liveUpdate') message = message.content;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"sn-control-message-row\" key={i} role=\"alert\">\n\t\t\t\t\t\t<div className=\"sn-control-message-content -static\">\n\t\t\t\t\t\t\t{iconType && <now-icon size=\"sm\" icon={iconType} />}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div className=\"sn-control-message-content\">\n\t\t\t\t\t\t\t<span>{message}<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n\treturn template;\n};\n\n/**\n * This function returns the aria labels for each type of message.\n * This is needed because liveUpdate messages are different than\n * other message types in that they are objects not strings. This\n * ensures we get the correct aria label for the message.\n * @param {array} messages array of message objects\n * @param {string} type type of messages in the array\n * @returns {array} returns\n */\nconst getLabels = function (messages, type) {\n\treturn type === 'liveUpdate'\n\t\t? messages.map(message => message.getMessage().label)\n\t\t: messages;\n};\n\n/**\n * utility function that maps the array of messages into a messag map we use for rendering\n * @param {array} messages array of message objects\n * @returns {object} returns an object where types are keys\n */\nconst getMessageMap = function (messages) {\n\treturn messages.reduce((result, { type, message }) => {\n\t\tif (!isEmpty(type) && !isEmpty(message)) {\n\t\t\tif (Array.isArray(result[type])) {\n\t\t\t\tresult[type].push(message);\n\t\t\t} else {\n\t\t\t\tresult[type] = [message];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, {});\n};\n\n/**\n * utility that determines if any relevant messages exist in the messageMap\n * @param {object} messageMap object of message type arrays\n * @returns {boolean}\n */\nconst hasMessages = messageMap =>\n\tsome(FIELD_MESSAGE_TYPES, s => !isEmpty(messageMap[s]));\n\n/**\n * component that renders the message container and relevant messages\n * @param {object} props\n * @returns {ReactElement}\n */\nconst FieldMessages = function (props) {\n\tlet { messages, id } = props;\n\tif (!messages || messages.length == 0) return null;\n\n\tconst messageMap = getMessageMap(props.messages);\n\tif (!hasMessages(messageMap)) return null;\n\n\tconst { labels, elements } = reduce(\n\t\tFIELD_MESSAGE_TYPES,\n\t\t({ labels, elements }, type) => {\n\t\t\tconst messageMapResult = messageMap[type];\n\t\t\tif (messageMapResult) {\n\t\t\t\telements.push(getMessages(type, messageMapResult));\n\t\t\t\tconst label = getLabels(messageMapResult, type);\n\t\t\t\tlabels.push(label.join(', '));\n\t\t\t}\n\n\t\t\treturn { labels, elements };\n\t\t},\n\t\t{\n\t\t\tlabels: [],\n\t\t\telements: []\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames('sn-control-messages')}\n\t\t\tid={id}\n\t\t\taria-label={labels.join(', ')}\n\t\t>\n\t\t\t{elements}\n\t\t<\/div>\n\t);\n};\n\nexport { getMessages, getMessageMap, hasMessages };\nexport default FieldMessages;\n\n/**\n * This component is used to display messages of several types (info, warning,\n * success, error). The mesages are used to notify the user. This\n * component was meant to be used by the controls team only.\n *\n * Example:\n * ```js\n * <sn-record-controls-internal-field-messages\n *\t\tmessages={[\n *\t\t\t{ type: 'info', message: 'This is an info message' },\n *\t\t\t{ type: 'warning', message: 'This is an warning message' },\n *\t\t\t{ type: 'success', message: 'This is an success message' },\n *\t\t\t{ type: 'error', message: 'This is an error message' }\n *\t\t]}\n *\t/>\n * ```\n */\ncreateCustomElement('sn-record-controls-internal-field-messages', {\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t *  array of message objects that must contain type and message itself.\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * id of parent object\n\t\t */\n\t\tid: {},\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\treversed: {}\n\t},\n\tview: ({ properties }) => FieldMessages(properties)\n});\n","import makeClass from 'classnames';\nimport React from 'react';\nimport { t } from 'sn-translate';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport react from '@servicenow/ui-renderer-react';\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\nconst POPOVER_CONTENT_TAG = 'sn-record-field-helper-popover-content';\n\ncreateCustomElement(POPOVER_CONTENT_TAG, {\n\ttype: react,\n\tview: ({ properties: { content } }) => (\n\t\t<div id=\"content-area\" style={{ padding: '1rem' }}>\n\t\t\t{content}\n\t\t<\/div>\n\t),\n\tproperties: {\n\t\tcontent: {}\n\t}\n});\n\nexport const renderFieldHelper = (helperContent, invalid) => {\n\tif (helperContent) {\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\tclassName=\"sn-control-field-helper\"\n\t\t\t\tinteraction-type=\"none\"\n\t\t\t\tconstrain={{ maxHeight: 200, maxWidth: 300 }}\n\t\t\t>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: { 'aria-label': t('More information') }\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={makeClass({\n\t\t\t\t\t\t'now-form-field-button': true,\n\t\t\t\t\t\t'is-invalid': isAttrTrue(invalid)\n\t\t\t\t\t})}\n\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare\n\t\t\t\t\thide-padding\n\t\t\t\t/>\n\t\t\t\t<POPOVER_CONTENT_TAG\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\trole=\"status\"\n\t\t\t\t\tcontent={helperContent}\n\t\t\t\t/>\n\t\t\t<\/now-popover>\n\t\t);\n\t}\n};\n","import React from 'react';\n// eslint-disable-next-line no-unused-vars\nimport react from '@servicenow/ui-renderer-react';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport '@servicenow/now-icon';\nimport { renderFieldHelper } from './formFieldHelperReact';\n\nexport default function Label(props) {\n\tlet { htmlFor, children, required, id, helperContent, invalid } = props;\n\tconst isRequired = isAttrTrue(required);\n\n\treturn (\n\t\t<label id={id} className=\"sn-control-label\" htmlFor={htmlFor}>\n\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t<span>{children}<\/span>\n\t\t\t<\/span>\n\t\t\t{isRequired && <now-icon size=\"sm\" icon=\"asterisk-outline\" />}\n\t\t\t{renderFieldHelper(helperContent, invalid)}\n\t\t<\/label>\n\t);\n}\n","// 3rd party imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, reduce, some } from 'lodash';\nimport '@servicenow/now-icon';\nimport { FIELD_MESSAGE_TYPES } from '@devsnc/sn-controls-common';\n\n/**\n * Utility function that returns message group markup\n * @param {String} type type of message we want to pass in\n * @param {Array} messages array of strings to display\n * @returns {ReactElement} returns a react element containing all messages\n */\nconst getMessages = function (type, messages) {\n\tif (!Array.isArray(messages) || messages.length == 0) return null;\n\tlet wrapperClass, iconType;\n\tswitch (type) {\n\t\tcase 'info':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'success':\n\t\t\twrapperClass = 'success';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\twrapperClass = 'danger';\n\t\t\ticonType = 'circle-exclamation-outline';\n\t\t\tbreak;\n\t\tcase 'warning':\n\t\t\twrapperClass = 'warning';\n\t\t\ticonType = 'exclamation-triangle-outline';\n\t\t\tbreak;\n\t\tcase 'liveUpdate':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'heartbeat-outline';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\twrapperClass = 'suggestion';\n\t\t\tbreak;\n\t}\n\n\tconst template = (\n\t\t<div\n\t\t\tkey={type}\n\t\t\tclassName={classNames('sn-control-message', `-${wrapperClass}`, {\n\t\t\t\t'-multi': Array.isArray(messages) && messages.length > 1\n\t\t\t})}\n\t\t>\n\t\t\t{messages.map((message, i) => {\n\t\t\t\tif (type === 'warning' && message.isUserModified) {\n\t\t\t\t\tmessage = message.getMessage().label;\n\t\t\t\t} else {\n\t\t\t\t\tmessage = message.getMessage ? message.getMessage() : message;\n\t\t\t\t\tif (type === 'liveUpdate') message = message.content;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"sn-control-message-row\" key={i} role=\"alert\">\n\t\t\t\t\t\t<div className=\"sn-control-message-content -static\">\n\t\t\t\t\t\t\t{iconType && <now-icon size=\"sm\" icon={iconType} />}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div className=\"sn-control-message-content\">\n\t\t\t\t\t\t\t<span>{message}<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n\treturn template;\n};\n\n/**\n * This function returns the aria labels for each type of message.\n * This is needed because liveUpdate messages are different than\n * other message types in that they are objects not strings. This\n * ensures we get the correct aria label for the message.\n * @param {array} messages array of message objects\n * @param {string} type type of messages in the array\n * @returns {array} returns\n */\nconst getLabels = function (messages, type) {\n\treturn type === 'liveUpdate'\n\t\t? messages.map(message => message.getMessage().label)\n\t\t: messages;\n};\n\n/**\n * utility function that maps the array of messages into a messag map we use for rendering\n * @param {array} messages array of message objects\n * @returns {object} returns an object where types are keys\n */\nconst getMessageMap = function (messages) {\n\treturn messages.reduce((result, { type, message }) => {\n\t\tif (!isEmpty(type) && !isEmpty(message)) {\n\t\t\tif (Array.isArray(result[type])) {\n\t\t\t\tresult[type].push(message);\n\t\t\t} else {\n\t\t\t\tresult[type] = [message];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, {});\n};\n\n/**\n * utility that determines if any relevant messages exist in the messageMap\n * @param {object} messageMap object of message type arrays\n * @returns {boolean}\n */\nconst hasMessages = messageMap =>\n\tsome(FIELD_MESSAGE_TYPES, s => !isEmpty(messageMap[s]));\n\n/**\n * react component that renders the message container and relevant messages\n * @param {object} props\n * @returns {ReactElement}\n */\nconst FieldMessages = function (props) {\n\tlet { messages, id } = props;\n\tif (!messages || messages.length == 0) return null;\n\n\tconst messageMap = getMessageMap(props.messages);\n\tif (!hasMessages(messageMap)) return null;\n\n\tconst { labels, elements } = reduce(\n\t\tFIELD_MESSAGE_TYPES,\n\t\t({ labels, elements }, type) => {\n\t\t\tconst messageMapResult = messageMap[type];\n\t\t\tif (messageMapResult) {\n\t\t\t\telements.push(getMessages(type, messageMapResult));\n\t\t\t\tconst label = getLabels(messageMapResult, type);\n\t\t\t\tlabels.push(label.join(', '));\n\t\t\t}\n\n\t\t\treturn { labels, elements };\n\t\t},\n\t\t{\n\t\t\tlabels: [],\n\t\t\telements: []\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames('sn-control-messages')}\n\t\t\tid={id}\n\t\t\taria-label={labels.join(', ')}\n\t\t>\n\t\t\t{elements}\n\t\t<\/div>\n\t);\n};\n\nFieldMessages.propTypes = {\n\t/**\n\t *  array of message objects that must contain type and message itself.\n\t */\n\tmessages: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\ttype: PropTypes.oneOf(FIELD_MESSAGE_TYPES),\n\t\t\tmessage: PropTypes.oneOfType([\n\t\t\t\tPropTypes.string,\n\t\t\t\tPropTypes.shape({ getMessage: PropTypes.func })\n\t\t\t])\n\t\t})\n\t),\n\t/**\n\t * id of parent object\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Specifies that the field should be rendered right-to-left.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t */\n\treversed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])\n};\n\nexport { getMessages, getMessageMap, hasMessages };\nexport default FieldMessages;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport makeClass from 'classnames';\nimport { mapValues, isString, isEmpty } from 'lodash';\nimport react from '@servicenow/ui-renderer-react';\nimport Label from './LabelReact';\nimport FieldMessages from './FieldMessagesReact';\nimport {\n\tisAttrTrue,\n\tgenerateSubComponentIds,\n\trenderHighlightedValueReact\n} from '@devsnc/sn-controls-common';\n\nimport style from './controlwrapper.scss';\n\nconst { createSlot } = react;\n\n/**\n * Wrapping component that provides common behavior for nearly all\n * for controls: label, focus classes, error state, etc.\n *\n * Components that are shaped more like an input should use\n * FieldAndDropdownWrapperSeismic instead.\n */\nexport default function ControlWrapper({\n\tlabel,\n\tchildren,\n\talign,\n\trequired,\n\treadonly,\n\tdescription,\n\tinvalid,\n\thasFocus,\n\treversed,\n\tmessages,\n\twrapperRef,\n\tslot,\n\tcomponentId,\n\tvariant,\n\tfieldset = false,\n\thelperContent,\n\thighlightedValue = {}\n}) {\n\tconst className = makeClass(\n\t\t'sn-control',\n\t\tmapValues(\n\t\t\t{\n\t\t\t\t'is-required': required,\n\t\t\t\t// TODO: we only support `readonly` prop, but we use the `disabled`\n\t\t\t\t// design. Work with XD to align.\n\t\t\t\t'is-readonly': readonly,\n\t\t\t\t'is-focus': hasFocus,\n\t\t\t\t'has-error': invalid,\n\t\t\t\t'is-align-end': align === 'end' && !isAttrTrue(reversed),\n\t\t\t\t'is-align-end-reversed': align === 'end' && isAttrTrue(reversed)\n\t\t\t},\n\t\t\tisAttrTrue\n\t\t),\n\t\tisString(variant)\n\t\t\t? variant\n\t\t\t\t\t.split(' ')\n\t\t\t\t\t.map(v => `-${v}`)\n\t\t\t\t\t.join(' ')\n\t\t\t: null\n\t);\n\n\tconst ids = generateSubComponentIds(componentId);\n\n\treturn (\n\t\t<div className={className} ref={wrapperRef} slot={slot}>\n\t\t\t<div style={{ position: 'relative' }}>\n\t\t\t\t{!fieldset && label && !isEmpty(label.trim()) && (\n\t\t\t\t\t<div className=\"form-field-label-wrap\">\n\t\t\t\t\t\t<Label\n\t\t\t\t\t\t\tid={ids.label}\n\t\t\t\t\t\t\thtmlFor={componentId}\n\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t\treversed={reversed}\n\t\t\t\t\t\t\thelperContent={helperContent}\n\t\t\t\t\t\t\tinvalid={invalid}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t<\/Label>\n\t\t\t\t\t\t<div className=\"sn-control-highlighted-field-label-end\">\n\t\t\t\t\t\t\t{renderHighlightedValueReact(highlightedValue)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t\t{fieldset ? (\n\t\t\t\t\t<fieldset className=\"default-fieldset\">\n\t\t\t\t\t\t<legend\n\t\t\t\t\t\t\tclassName=\"sn-control-label\"\n\t\t\t\t\t\t\tid={ids.label}\n\t\t\t\t\t\t\thtmlFor={componentId}\n\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t<\/legend>\n\t\t\t\t\t\t{createSlot(children)}\n\t\t\t\t\t<\/fieldset>\n\t\t\t\t) : (\n\t\t\t\t\tcreateSlot(children)\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t{description && (\n\t\t\t\t<p id={ids.description} className=\"sn-control-description\">\n\t\t\t\t\t{description}\n\t\t\t\t<\/p>\n\t\t\t)}\n\t\t\t<FieldMessages id={ids.messages} messages={messages} />\n\t\t<\/div>\n\t);\n}\n\nControlWrapper.style = style;\nControlWrapper.propTypes = {\n\tlabel: PropTypes.string,\n\tchildren: PropTypes.any,\n\talign: PropTypes.any,\n\trequired: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\treadonly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\tdescription: PropTypes.string,\n\tinvalid: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\thasFocus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\tmessages: PropTypes.array,\n\twrapperRef: PropTypes.any,\n\tcomponentId: PropTypes.any,\n\tvariant: PropTypes.any,\n\tfieldset: PropTypes.bool,\n\thelperContent: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\thighlightedValue: PropTypes.any\n};\n","import { isFunction } from 'lodash';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-checkbox';\nimport '@servicenow/now-toggle';\nimport { renderFormFieldLabel } from '@servicenow/now-input';\nimport '@devsnc/sn-record-control-wrapper';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tadaptCallbackForLegacyAPI,\n\tisAttrTrue,\n\taccessibilityAttributes,\n\twrapHelperContent,\n\ttrackBehavior,\n\tfieldLayoutSchema,\n\trenderIconsInLabelSlot,\n\trenderDecorations,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig\n} from '@devsnc/sn-controls-common';\n\nimport style from './checkbox.scss';\n\nconst renderHelperContent = ({\n\trequired,\n\tinvalid,\n\tcomponentId,\n\thelperContent,\n\twrapLabel,\n\tfieldLayout: { layout = 'vertical' } = {}\n}) => (\n\t<div className=\"field-helper-content\">\n\t\t{renderFormFieldLabel(\n\t\t\tcomponentId,\n\t\t\tinvalid,\n\t\t\tisAttrTrue(required),\n\t\t\tnull,\n\t\t\tnull,\n\t\t\twrapHelperContent(helperContent),\n\t\t\tfalse,\n\t\t\t'span',\n\t\t\tlayout,\n\t\t\tfalse,\n\t\t\twrapLabel\n\t\t)}\n\t<\/div>\n);\n\n// appendToPayload added because the now-toggle component does not have access to the name otherwise\nconst renderSwitchComponent = (ComponentTag, props) => (\n\t<Fragment>\n\t\t<ComponentTag\n\t\t\t{...props}\n\t\t\tlabel={props.layout === 'horizontal' ? undefined : props.label}\n\t\t\tchecked={isAttrTrue(props.value)}\n\t\t\treadonly={isAttrTrue(props.readonly)}\n\t\t\tinvalid={isAttrTrue(props.invalid)}\n\t\t\trequired={isAttrTrue(props.required)}\n\t\t\tsize=\"md\"\n\t\t\tdisabled={false}\n\t\t\tconfigAria={props.ariaProperties}\n\t\t\tmanageChecked\n\t\t\tappendToPayload={\n\t\t\t\tComponentTag === 'now-toggle' ? { name: props.name } : {}\n\t\t\t}\n\t\t>\n\t\t\t{renderDecorations({\n\t\t\t\tdecorations: props.decorations,\n\t\t\t\tformControlWrapper: true,\n\t\t\t\tshowAIIndicator: props.showAIIndicator,\n\t\t\t\tinitialValue: props.initialValue,\n\t\t\t\tsuggestions: props.suggestions,\n\t\t\t\tisModified: props.isModified\n\t\t\t})}\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(props.showUnsavedIndicator, {\n\t\t\t\t\tlabel: props.label\n\t\t\t\t})\n\t\t\t)}\n\t\t<\/ComponentTag>\n\t<\/Fragment>\n);\n\nconst checkedSetEffect = ({ state, action, dispatch }) => {\n\tconst { name, value } = action.payload;\n\tconst { onValueChange, isToggle } = state.properties;\n\tconst field = isToggle ? 'toggle' : 'checkbox';\n\tif (isFunction(onValueChange)) {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: field }\n\t\t});\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue: value.toString()\n\t\t});\n\t}\n\tdispatch('NOW_RECORD_CHECKBOX#VALUE_CHANGED', {\n\t\tname,\n\t\tvalue: value.toString()\n\t});\n};\n\n/**\n * Simple checkbox component. Value changes will always use string values:\n * `\"true\"` or `\"false\"`\n */\nexport const view = state => {\n\tconst { properties } = state;\n\tconst {\n\t\tdescription,\n\t\tmessages,\n\t\tname,\n\t\tlabel,\n\t\treadonly,\n\t\tinvalid,\n\t\trequired,\n\t\tvalue,\n\t\thelperContent,\n\t\tfieldLayout,\n\t\tfullWidth,\n\t\tconfigAria,\n\t\tisToggle,\n\t\tlabelPosition,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\tisModified,\n\t\tshowAIIndicator,\n\t\tdecorations,\n\t\tsuggestions,\n\t\tinitialValue\n\t} = properties;\n\n\tconst ariaLabel = configAria?.['aria-label'] || label || '';\n\n\tconst ariaProperties = {\n\t\t...properties.configAria,\n\t\t...accessibilityAttributes(properties),\n\t\t'aria-label': ariaLabel\n\t};\n\tconst layout = fieldLayout.layout;\n\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\tmessages={messages}\n\t\t\tdescription={description}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tlabel={layout === 'horizontal' ? label : undefined}\n\t\t\talignCenter={true}\n\t\t\tclass={{\n\t\t\t\t[`-${layout}`]: layout\n\t\t\t}}\n\t\t\tdecorations={decorations}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t<div className={'checkbox-wrapper'}>\n\t\t\t\t{renderSwitchComponent(isToggle ? 'now-toggle' : 'now-checkbox', {\n\t\t\t\t\tname,\n\t\t\t\t\tlabel,\n\t\t\t\t\tlayout,\n\t\t\t\t\treadonly,\n\t\t\t\t\tinvalid,\n\t\t\t\t\trequired,\n\t\t\t\t\tariaProperties,\n\t\t\t\t\tfullWidth,\n\t\t\t\t\tvalue,\n\t\t\t\t\tisToggle,\n\t\t\t\t\tlabelPosition,\n\t\t\t\t\tshowUnsavedIndicator,\n\t\t\t\t\tsuggestions,\n\t\t\t\t\tinitialValue,\n\t\t\t\t\tdecorations,\n\t\t\t\t\tshowAIIndicator,\n\t\t\t\t\tisModified\n\t\t\t\t})}\n\t\t\t\t{helperContent && renderHelperContent(properties)}\n\t\t\t<\/div>\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\n\nexport const actionHandlers = {\n\t['NOW_CHECKBOX#CHECKED_SET']: {\n\t\teffect: checkedSetEffect,\n\t\tstopPropagation: true\n\t},\n\t['NOW_TOGGLE#CHECKED_SET']: {\n\t\teffect: checkedSetEffect,\n\t\tstopPropagation: true\n\t}\n};\n\n/**\n *\n *  Simple checkbox component. Value changes will always use string values:\n * `\"true\"` or `\"false\"`\n *\n * This componenet is meant to be consumed by forms and simply converts properties that `now-checkbox` can understand.\n * If you want to use a checkbox that is not on a form directly, we recommend that you use `now-checkbox` directly\n *\n * ```jsx\n * <now-record-checkbox name=\"checkbox\" label=\"I am a checkbox!\" value=\"true\" />\n * ```\n *\n * @seismicElement now-record-checkbox\n * @summary Simple checkbox component. Value changes will always use string values: `\"true\"` or `\"false\"`\n *\n * */\ncreateCustomElement('now-record-checkbox', {\n\ttype: snabbdom,\n\tview,\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t *\n\t\t * Accessible Attribute to indicate the IDs of the elements that describe the object.\n\t\t * Which element (by ID) provides more description for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaDescribedby: {},\n\t\t/**\n\t\t * aria-label\n\t\t *\n\t\t * Accessible Attribute to define a string that labels the current element.\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabel: {},\n\t\t/**\n\t\t * aria-labelledby\n\t\t *\n\t\t * Accessible Attribute establishes relationships between objects and their label(s)\n\t\t * Which element (by ID) acts as a label for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabelledby: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * An object whose items are all aria properties in the format 'aria-*' : 'value'\n\t\t * @type {{'aria-*': string}}\n\t\t */\n\t\tconfigAria: {},\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * Determines whether the label is positioned at the start or the end of the checkbox.\n\t\t * Supported values are `start`, `end`.\n\t\t * @type {string}\n\t\t */\n\t\tlabelPosition: {\n\t\t\tdefault: 'end',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['start', 'end']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Determines whether the label and checkbox will be distributed across the x-axis accordingly.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\tfullWidth: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Renders a toggle when set to true (checkbox when false).\n\t\t * @type {boolean}\n\t\t */\n\t\tisToggle: { default: false },\n\t\t/**\n\t\t * Determines whether the AI indicator should be displayed.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { default: false },\n\t\tisModified: { default: false }\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when checkbox value is changed (true to false and vice versa).\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_CHECKBOX#VALUE_CHANGED': {}\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nconst Checkbox = 'now-record-checkbox';\nexport default Checkbox;\n","import { isFunction, without } from 'lodash';\nimport { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\n\nexport const actionHandlers = {\n\t'NOW_CHECKBOX#CHECKED_SET': {\n\t\teffect: ({ action, state, dispatch, properties, updateState }) => {\n\t\t\tlet { checkedOptions } = state;\n\t\t\tconst { value, optionValue } = action.payload;\n\t\t\tif (value) {\n\t\t\t\t// add option to checked array\n\t\t\t\tcheckedOptions = [...checkedOptions, optionValue].sort();\n\t\t\t} else {\n\t\t\t\t// remove option from checked array\n\t\t\t\tcheckedOptions = without(checkedOptions, optionValue);\n\t\t\t}\n\n\t\t\tconst selectedOptions = checkedOptions.join(',');\n\n\t\t\tconst { onValueChange, name } = properties;\n\t\t\tif (isFunction(onValueChange)) {\n\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t\tname: name,\n\t\t\t\t\tvalue: selectedOptions\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'checkbox-group' }\n\t\t\t});\n\t\t\tupdateState({ checkedOptions });\n\t\t\tdispatch('SN_RECORD_CHECKBOX_GROUP#VALUE_CHANGED', {\n\t\t\t\tname,\n\t\t\t\tvalue: selectedOptions\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-checkbox';\nimport '@devsnc/sn-record-control-wrapper';\nimport {\n\tisAttrTrue,\n\ttrackBehavior,\n\tfieldLayoutSchema\n} from '@devsnc/sn-controls-common';\n\nimport { actionHandlers } from './actionHandlers';\nimport style from './checkbox-group.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\n/**\n * Simple checkbox group component.\n * The value of the component will be a string of comma seperated values of the checked boxes.\n */\nexport const setInitialState = ({ properties }) => {\n\tconst { value, options } = properties;\n\tconst valArray = value.split(',');\n\tconst checkedOptions = options\n\t\t.filter(option => valArray.includes(String(option.value)))\n\t\t.map(option => option.value);\n\n\treturn {\n\t\tcheckedOptions\n\t};\n};\n\nexport const view = state => {\n\tconst { checkedOptions, properties } = state;\n\tconst {\n\t\tdescription,\n\t\tmessages,\n\t\tname,\n\t\tlabel,\n\t\treadonly,\n\t\toptions,\n\t\tinvalid,\n\t\trequired,\n\t\thelperContent,\n\t\tconfigAria,\n\t\tlabelPosition,\n\t\tfullWidth,\n\t\tfieldLayout,\n\t\tdecorations,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\tshowAIIndicator,\n\t\tisModified\n\t} = properties;\n\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\tmessages={messages}\n\t\t\tdescription={description}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\thelperContent={helperContent}\n\t\t\tdecorations={decorations}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t<div role=\"group\" aria-label={label || configAria?.['aria-label']}>\n\t\t\t\t{options.map(option => {\n\t\t\t\t\tconst { value, label } = option;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-checkbox\n\t\t\t\t\t\t\tid={value}\n\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\t\tchecked={checkedOptions.includes(value)}\n\t\t\t\t\t\t\tappend-to-payload={{ optionValue: value }}\n\t\t\t\t\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\t\t\t\t\tfullWidth={isAttrTrue(fullWidth)}\n\t\t\t\t\t\t\tlabelPosition={labelPosition}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\n\n/**\n *\n * Simple checkbox group component.\n * The value of the component will be a string of comma seperated values of the checked boxes.\n *\n * This component is meant to be consumed by forms and simply leverages the `now-checkbox` component.\n * If you want to use an individual checkbox, we recommend that you use `now-checkbox` directly\n *\n * ```jsx\n * <sn-record-checkbox-group options=[{value:1, label:'cb 1'}, {value:2, label:'cb 2'}, {value:3, label:'cb 3'}]] name=\"mycheckbox\" value=\"1,2\" />\n * ```\n *\n * @seismicElement sn-record-checkbox-group\n * @summary Simple checkbox group component. Value changes will always be a comma seperated string of values.\n *\n * */\ncreateCustomElement('sn-record-checkbox-group', {\n\ttype: snabbdom,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t *\n\t\t * Accessible Attribute to indicate the IDs of the elements that describe the object.\n\t\t * Which element (by ID) provides more description for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaDescribedby: { schema: { type: 'string' } },\n\t\t/**\n\t\t * aria-label\n\t\t *\n\t\t * Accessible Attribute to define a string that labels the current element.\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * aria-labelledby\n\t\t *\n\t\t * Accessible Attribute establishes relationships between objects and their label(s)\n\t\t * Which element (by ID) acts as a label for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabelledby: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: { schema: { type: 'string' } },\n\t\t/**\n\t\t * An object whose items are all aria properties in the format 'aria-*' : 'value'\n\t\t * @type {{'aria-*': string}}\n\t\t */\n\t\tconfigAria: { cast: 'object' },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of objects that must contain value and label pairs corresponding to the checkbox group.\n\t\t * @type {Array<Object<{value, label}>>}>}\n\t\t */\n\t\toptions: { default: [], schema: { type: 'array' } },\n\t\t/**\n\t\t * onClick event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { schema: { type: 'boolean' }, default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { schema: { type: 'boolean' }, default: false },\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * @type {('vertical'|'horizontal')}\n\t\t */\n\t\tlabelPosition: {\n\t\t\tdefault: 'end',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['start', 'end']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Whether or not the label and checkbox will be distributed across the x-axis accordingly.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\tfullWidth: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tstyles: style,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when checkbox group value is changed.\n\t\t * @type {{ name: string, value: string}}\n\t\t */\n\t\t'SN_RECORD_CHECKBOX_GROUP#VALUE_CHANGED': {}\n\t},\n\tactionHandlers: { ...actionHandlers },\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tview,\n\tsetInitialState\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { cloneDeep, isEqual, map, some, find, toString } from 'lodash';\n\nexport const withStringValues = choices =>\n\tmap(choices, c => ({ ...c, value: toString(c.value) }));\n\nexport function applyOptionStack(choices, optionStack) {\n\tif (!optionStack || optionStack.length == 0) {\n\t\treturn choices;\n\t}\n\n\tlet newChoices = cloneDeep(choices);\n\tif (!newChoices) {\n\t\tnewChoices = [];\n\t}\n\toptionStack.forEach(item => {\n\t\tswitch (item.operation) {\n\t\t\tcase 'add': {\n\t\t\t\tif (find(newChoices, c => c.displayValue === item.label)) {\n\t\t\t\t\t// validate that duplicate choice label is not being added.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet newOption = {\n\t\t\t\t\tdisplayValue: item.label,\n\t\t\t\t\tvalue: toString(item.value)\n\t\t\t\t};\n\t\t\t\tif (typeof item.index === 'undefined') {\n\t\t\t\t\tnewChoices.push(newOption);\n\t\t\t\t} else {\n\t\t\t\t\tnewChoices.splice(item.index, 0, newOption);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'remove': {\n\t\t\t\t// normalize comparison to string values\n\t\t\t\tlet itemValue = String(item.value);\n\t\t\t\tfor (let i = 0, iM = newChoices.length; i < iM; i++) {\n\t\t\t\t\tlet optionValue = String(newChoices[i].value);\n\t\t\t\t\tif (optionValue !== itemValue) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tnewChoices.splice(i, 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'clear': {\n\t\t\t\tnewChoices = [];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t// Updating the option label and disabled\n\t\t\tcase 'update': {\n\t\t\t\t// normalize comparison to string values\n\t\t\t\tconst itemValue = String(item.value);\n\t\t\t\tfor (let i = 0, iM = newChoices.length; i < iM; i++) {\n\t\t\t\t\tconst optionValue = String(newChoices[i].value);\n\t\t\t\t\tif (optionValue === itemValue) {\n\t\t\t\t\t\t// Only update label if item.label exists\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(item, 'label')) {\n\t\t\t\t\t\t\tnewChoices[i].displayValue = item.label;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Only update disabled flag if item has the 'disabled' property\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(item, 'disabled')) {\n\t\t\t\t\t\t\tnewChoices[i].disabled = !!item.disabled;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\treturn newChoices;\n}\n\n/**\n * Creates a new list of choices with the given value added as an option iff the value does not already exist\n * in the list of choices. The value is attached to the end of the list.\n *\n * Notes: unlike applyOptionStack with an 'add' operation this would still add a choice even if a choice\n * with the value as a displayValue already exists\n * @param {[{displayValue: string, value: string }]} choices - The current list of choices\n * @param {string} value - The value to add as a choice\n * @param {string} displayValue - The display value of the choice\n */\nexport const appendTmpValueAsChoice = (choices, value, displayValue) => {\n\t// Don't add anything if no value\n\tif (!value) return choices;\n\n\t// Ensure we don't add duplice choices\n\tif (!choices || find(choices, c => c.value === value)) return choices;\n\n\tconst newChoices = cloneDeep(choices);\n\n\tnewChoices.push({\n\t\tdisplayValue: displayValue || value,\n\t\tvalue,\n\t\t_isTmp: true\n\t});\n\n\treturn newChoices;\n};\n//check if value is valid, otherwise return the first choice's value\nexport const getValidChoiceValue = (value, choices) => {\n\tif (!some(choices, { value })) {\n\t\treturn choices[0]?.value || '';\n\t}\n\treturn value;\n};\n\n/**\n * Given two choies arrays this determines if the options within the arrays\n * are equal (excluding any tmp choices)\n * @param {array} from - Options array without tmp values\n * @param {array} to - Options array with some tmp values\n * @returns bool - Whether they are equal\n */\nexport const isEqualSansTmp = (from, to) =>\n\tisEqual(\n\t\tfrom,\n\t\tto.filter(i => !i._isTmp)\n\t);\n\n/**\n * Find the field the changed within serializedChanges\n * @param {string} serializedChangesString String from formData passed by forms\n * @param {object} attributeFields Object key by field name\n * @returns {object} The object found in the parsed serializedChangesString that matches the attribute field\n */\nexport const getChangedFieldInSerializedChanged = (\n\tserializedChangesString,\n\tattributeFields\n) => {\n\tlet serializedChanges = JSON.parse(serializedChangesString);\n\treturn find(serializedChanges, changedField => {\n\t\ttry {\n\t\t\tlet potentialChange = find(\n\t\t\t\tattributeFields,\n\t\t\t\t({ name }) => name == changedField.name\n\t\t\t);\n\t\t\t//Nothing found from this serializedChange\n\t\t\tif (!potentialChange) return false;\n\t\t\treturn potentialChange.value !== changedField.value;\n\t\t} catch (e) {\n\t\t\t/* fall through and return false */\n\t\t}\n\t});\n};\n\n/**\n *\n * @param {string} sysId\n * @param {boolean} isNewRecord\n * @returns {boolean} true if the field is rendered in a edit form field. Returns false if the field is part of new or update record\n */\nexport const isListEditFormField = (sysId, isNewRecord) =>\n\tsysId === '-1' && !isNewRecord;\n\n/**\n * Determines whether the first option should be selectable based on the given properties.\n *\n * @param {Object} props - The properties to check.\n * @param {Object} props.formData - The form data.\n * @param {boolean} props.formData.isNewRecord - Indicates if the record is new.\n * @param {string} props.recordSysId - The system ID of the record.\n * @param {boolean} props.dontSelectFirstOption - Indicates if the first option should not be selected.\n * @returns {boolean} - Returns true if the first option should not be selected or if the field is rendered in a list edit form field.\n */\nexport const shouldSelectFirstOption = props => {\n\tconst {\n\t\tformData: { isNewRecord } = {},\n\t\trecordSysId,\n\t\tdontSelectFirstOption\n\t} = props;\n\treturn dontSelectFirstOption || isListEditFormField(recordSysId, isNewRecord);\n};\n","export const NOW_CHOICE_NONE_OPTION = 'NOW_CHOICE_NONE_OPTION';","import { isEmpty } from 'lodash';\nimport '@servicenow/now-select';\nimport {\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\tSUGGESTION_PREFIX,\n\tNO_PREDICTIONS_AVAILABLE,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\nimport { withStringValues } from './utils';\nimport { t } from 'sn-translate';\nimport { NOW_CHOICE_NONE_OPTION } from './constants';\n\nconst transformChoices = (choices = [], meta) =>\n\tchoices\n\t\t.filter(item => (item.display !== undefined ? item.display : true))\n\t\t.map(item => ({\n\t\t\tid: item.id || item.value || NOW_CHOICE_NONE_OPTION,\n\t\t\tlabel: item.displayValue || '',\n\t\t\tsublabel: item.sublabel || '',\n\t\t\tdisabled: item.disabled || false,\n\t\t\t...meta\n\t\t}));\n\nconst transformChoicesWithRecommendations = ({ choices = [], suggestions }) => {\n\tif (isEmpty(suggestions)) {\n\t\treturn transformChoices(choices);\n\t}\n\n\tconst {\n\t\titems: suggestedItems = [],\n\t\tsectionLabel,\n\t\temptyMessage = NO_PREDICTIONS_AVAILABLE,\n\t\tmeta\n\t} = suggestions;\n\n\tconst recommendationSection = {\n\t\tlabel: sectionLabel,\n\t\tchildren: suggestedItems.length\n\t\t\t? transformChoices(\n\t\t\t\t\tsuggestedItems.map(item => ({\n\t\t\t\t\t\t...item,\n\t\t\t\t\t\tvalue: `${SUGGESTION_PREFIX}${item.value}`\n\t\t\t\t\t})),\n\t\t\t\t\tmeta\n\t\t\t\t)\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'disabled_emptyMessage',\n\t\t\t\t\t\tlabel: emptyMessage,\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t}\n\t\t\t\t]\n\t};\n\n\tconst resultsSection = {\n\t\tlabel: t('Results'),\n\t\tchildren: transformChoices(choices)\n\t};\n\n\treturn [recommendationSection, resultsSection];\n};\nexport const view = state => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\tautofocus,\n\t\t\treadonly,\n\t\t\tinvalid,\n\t\t\tlabel,\n\t\t\tmessages = [],\n\t\t\tname,\n\t\t\thelperContent,\n\t\t\trequired,\n\t\t\thighlightedValue,\n\t\t\tchoices: propChoices,\n\t\t\tconfigAria,\n\t\t\tsuggestions,\n\t\t\tfieldLayout,\n\t\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\tdictionaryAttributes: { isSearchable } = {},\n\t\t\twrapLabel\n\t\t},\n\t\tchoices: stateChoices,\n\t\tvalue,\n\t\tisSuggestionSelected\n\t} = state;\n\n\tconst ariaLabel = configAria?.['aria-label'] || label || '';\n\n\t// If we have local choices (from GraphQL response), use those.\n\t// Otherwise fall back to choices from parent\n\tconst choices = stateChoices || withStringValues(propChoices);\n\n\tconst ariaConfig = {\n\t\ttrigger: {\n\t\t\t...configAria,\n\t\t\t'aria-label': ariaLabel,\n\t\t\t...getAriaLabelFromConfig(configAria, '{0}: {1}', value)\n\t\t},\n\t\tpanel: {\n\t\t\t...configAria,\n\t\t\t...getAriaLabelFromConfig(configAria, 'Select {0}')\n\t\t}\n\t};\n\n\tconst selectedValue = value || NOW_CHOICE_NONE_OPTION;\n\n\treturn (\n\t\t<now-select\n\t\t\tautofocus={autofocus}\n\t\t\thelper-content={wrapHelperContent(helperContent)}\n\t\t\tinvalid={invalid}\n\t\t\titems={transformChoicesWithRecommendations({\n\t\t\t\tchoices,\n\t\t\t\tsuggestions\n\t\t\t})}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmanage-invalid\n\t\t\tmanage-selected-item\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tname={name}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tselected-item={\n\t\t\t\tisSuggestionSelected\n\t\t\t\t\t? `${SUGGESTION_PREFIX}${selectedValue}`\n\t\t\t\t\t: selectedValue\n\t\t\t}\n\t\t\tconfig-aria={ariaConfig}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tsearch={isSearchable ? 'contains' : 'none'}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(properties)}\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\tlabel\n\t\t\t\t})\n\t\t\t)}\n\t\t<\/now-select>\n\t);\n};\n\nexport default view;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createGraphQLEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t\t} else if ('createGraphQLEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__.createGraphQLEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_graphql_index_jsdbx_6f4bbecb__[\"default\"].createGraphQLEffect;\n\t\t\t\t} });","import { get, map, find, some, isEqual, toString, isEmpty } from 'lodash';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tCALLBACK_AND_DISPATCH,\n\tgetEncodedRecord,\n\tgetSerializedChanges,\n\tSUGGESTION_PREFIX,\n\tisAttrTrue\n} from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tappendTmpValueAsChoice,\n\tapplyOptionStack,\n\tgetChangedFieldInSerializedChanged,\n\tgetValidChoiceValue,\n\tshouldSelectFirstOption,\n\tisEqualSansTmp,\n\twithStringValues\n} from './utils';\nimport { NOW_CHOICE_NONE_OPTION } from './constants';\n\nlet query = `\nquery ($table: String!, $field: String!, $sys_id: String, $serialized_changes: String, $encoded_record: String) {\n  GlideLayout_Query {\n    choiceDataRetriever(tableName: $table, fieldName: $field, sysId: $sys_id, serializedChanges: $serialized_changes, encodedRecord: $encoded_record) {\n      choice {\n        value\n        label\n      }\n    }\n  }\n}\n`;\n\nexport const FETCH_DATA = 'CHOICE_CONNECTED_FETCH_DATA';\nexport const FETCH_DATA_SUCCESS = 'CHOICE_CONNECTED_FETCH_DATA_SUCCESS';\nconst FETCH_DATA_FAILURE = 'CHOICE_CONNECTED_FETCH_DATA_FAILURE';\nconst GRAPHQL_DATA_PATH = 'data.GlideLayout_Query.choiceDataRetriever.choice';\n\n/**\n * Dependent fields are responsible for maintaining their own list of\n * `choices` any time the parent value changes.\n *\n * Manage GraphQL call and figure out correct state.\n */\nexport const fetchDependentChoices = (props, dispatch) => {\n\tconst { recordSysId, name, tableName } = props;\n\n\tif (dispatch) {\n\t\tconst payload = {\n\t\t\tsys_id: recordSysId,\n\t\t\tfield: name,\n\t\t\ttable: tableName,\n\t\t\tserialized_changes: getSerializedChanges(props),\n\t\t\tencoded_record: getEncodedRecord(props.formData)\n\t\t};\n\t\tdispatch(FETCH_DATA, payload, { stopPropagation: true });\n\n\t\treturn {\n\t\t\tisLoading: true\n\t\t};\n\t}\n\n\treturn {};\n};\n\nexport const selectValue =\n\t(properties, updateState, dispatch) =>\n\t({ value, displayValue }) => {\n\t\tupdateState({\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tvalueCandidate: undefined,\n\t\t\tdisplayValueCandidate: undefined\n\t\t});\n\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\tcallback: properties.onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tvalue,\n\t\t\t\tdisplayValue\n\t\t\t}\n\t\t});\n\t};\n\n// Returns either the displayValue or the displayValue of the choice with the matching value\nconst getDisplayValue = (choices, value, displayValue) => {\n\tconst selected = find(choices, c => c.value === value);\n\tif (selected && selected.displayValue) return selected.displayValue;\n\telse if (displayValue) return displayValue;\n\n\treturn '';\n};\n\nconst updateChoices = (\n\tstate,\n\tproperties,\n\tupdateState,\n\tnewChoices,\n\toldChoices,\n\tdispatch\n) => {\n\tconst {\n\t\tdependentField,\n\t\tinitialValue,\n\t\tinitialDisplayValue,\n\t\tdictionaryAttributes,\n\t\tforceUncontrolled,\n\t\toptionStack,\n\t\tname\n\t} = properties;\n\tconst { choices: stateChoices, isLoading, value: stateValue } = state;\n\n\tconst refQualElementsAttribute = dictionaryAttributes\n\t\t? dictionaryAttributes['refQualElements']\n\t\t: undefined;\n\tconst initialValueString = toString(initialValue);\n\tconst choices = withStringValues(newChoices);\n\tconst fileterdChoices = withStringValues(stateChoices).filter(\n\t\tchoice => !choice._isTmp\n\t);\n\tconst prevChoices = withStringValues(oldChoices);\n\n\t/*isLoading is actually passed in & its different than the state when we fetched\n\t * & the choices passed are differrent than the empty state choices\n\t * & the choices are different than what given on load\n\t * & But sometimes the choices given are the same as the props\n\t * but only for the none-choice.\n\t */\n\tconst justStoppedLoading =\n\t\tisLoading !== undefined &&\n\t\t!isEqualSansTmp(choices, fileterdChoices) &&\n\t\t(!isEqual(choices, prevChoices) ||\n\t\t\t(choices.length == 1 &&\n\t\t\t\tchoices[0].value === '' &&\n\t\t\t\tprevChoices.length === 1 &&\n\t\t\t\tprevChoices[0].value === ''));\n\n\tif (!forceUncontrolled && initialValueString !== stateValue) {\n\t\tconst hasChoiceMatch = some(fileterdChoices, ['value', initialValueString]);\n\t\tif (!(dependentField || refQualElementsAttribute) || hasChoiceMatch) {\n\t\t\tconst modifiedChoices = !hasChoiceMatch\n\t\t\t\t? appendTmpValueAsChoice(\n\t\t\t\t\t\tfileterdChoices,\n\t\t\t\t\t\tinitialValueString,\n\t\t\t\t\t\tinitialDisplayValue\n\t\t\t\t\t)\n\t\t\t\t: typeof stateChoices !== 'undefined'\n\t\t\t\t\t? fileterdChoices\n\t\t\t\t\t: choices;\n\t\t\tupdateState({\n\t\t\t\tvalue: initialValueString,\n\t\t\t\tdisplayValue: initialDisplayValue,\n\t\t\t\tchoices: modifiedChoices\n\t\t\t});\n\t\t} else {\n\t\t\t// if the prop isn't valid, remember what it was trying to set and make\n\t\t\t// the prop match the state in componentDidUpdate\n\t\t\tupdateState({\n\t\t\t\tvalueCandidate: initialValueString,\n\t\t\t\tdisplayValueCandidate: initialDisplayValue\n\t\t\t});\n\t\t}\n\t}\n\tconst derivedChoices = applyOptionStack(choices, optionStack);\n\tif (\n\t\tjustStoppedLoading ||\n\t\t(!isLoading && !isEqualSansTmp(derivedChoices, stateChoices))\n\t) {\n\t\tupdateState({ choices: derivedChoices, isLoading });\n\t}\n\n\tif (justStoppedLoading && dependentField) {\n\t\t// update the choices for the dependent fields in the form\n\t\tdispatch('GFORM#SET_CHOICES', {\n\t\t\tfieldName: name,\n\t\t\tchoices: derivedChoices\n\t\t});\n\t}\n};\n\nconst propertyChangedEffect = ({\n\tupdateState,\n\tstate,\n\taction,\n\tproperties,\n\tdispatch\n}) => {\n\tconst { name, value: newValue, previousValue } = action.payload;\n\tconst { choices: stateChoices, refQualElements, isLoading } = state;\n\n\tconst {\n\t\tdependentField,\n\t\tdependentFieldValue,\n\t\tdependentValue,\n\t\tinitialValue,\n\t\tinitialDisplayValue,\n\t\tchoices: propChoices,\n\t\tvalue,\n\t\tdisplayValue,\n\t\tdictionaryAttributes\n\t} = properties;\n\n\tconst refQualElementsAttribute = dictionaryAttributes\n\t\t? dictionaryAttributes['refQualElements']\n\t\t: undefined;\n\tconst initialValueString = toString(initialValue);\n\n\tif (name === 'optionStack') {\n\t\tif (isEqual(newValue, previousValue)) return;\n\t\tlet choices = propChoices;\n\t\tif (!isEqualSansTmp(propChoices, stateChoices) && dependentField) {\n\t\t\tchoices = stateChoices;\n\t\t}\n\t\tconst newChoices = applyOptionStack(choices, newValue);\n\t\tif (!isLoading) {\n\t\t\tupdateState({ choices: withStringValues(newChoices) });\n\t\t}\n\t}\n\n\tif (name === 'choices') {\n\t\tlet newChoices = newValue;\n\t\tif (isEqual(newValue, previousValue)) {\n\t\t\tnewChoices = stateChoices;\n\t\t}\n\t\tupdateChoices(\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tnewChoices,\n\t\t\tpreviousValue,\n\t\t\tdispatch\n\t\t);\n\t} else if (name === 'formData') {\n\t\tlet changedField;\n\t\tif (refQualElementsAttribute) {\n\t\t\tconst { serializedChanges = '' } = newValue;\n\t\t\tchangedField = getChangedFieldInSerializedChanged(\n\t\t\t\tserializedChanges,\n\t\t\t\trefQualElements\n\t\t\t);\n\t\t\tfetchDependentChoices(properties, dispatch); // use to fetch depedentChoices via reference qualifier\n\t\t\tif (changedField) {\n\t\t\t\tconst newRefQualElements = {\n\t\t\t\t\t...refQualElements,\n\t\t\t\t\t[changedField.name]: {\n\t\t\t\t\t\tname: changedField.name,\n\t\t\t\t\t\tvalue: changedField.value\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tupdateState({ refQualElements: newRefQualElements });\n\t\t\t}\n\t\t}\n\t\tconst { fields = {} } = properties.formData;\n\t\tconst formFieldProperties = fields[properties.name];\n\t\tif (formFieldProperties) {\n\t\t\tconst { value: formFieldValue, displayValue: formFieldDisplayValue } =\n\t\t\t\tformFieldProperties;\n\t\t\tif (formFieldValue !== state.value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tvalue: toString(formFieldValue),\n\t\t\t\t\tdisplayValue: toString(formFieldDisplayValue)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} else if (name === 'dependentValue' || name === 'dependentFieldValue') {\n\t\tlet changedField;\n\t\tif (refQualElementsAttribute) {\n\t\t\tconst { serializedChanges = '' } = properties.formData;\n\t\t\tchangedField = getChangedFieldInSerializedChanged(\n\t\t\t\tserializedChanges,\n\t\t\t\trefQualElements\n\t\t\t);\n\t\t}\n\t\tlet newDependentValue = dependentFieldValue || dependentValue;\n\t\tconst oldDependentValue = previousValue;\n\n\t\tif (\n\t\t\t(dependentField && newDependentValue !== oldDependentValue) ||\n\t\t\t(refQualElementsAttribute && changedField)\n\t\t) {\n\t\t\tupdateState({\n\t\t\t\tvalue: value || initialValueString || '',\n\t\t\t\tdisplayValue: displayValue || initialDisplayValue || '',\n\t\t\t\t...fetchDependentChoices(properties, dispatch)\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t}\n};\n\nexport const componentRenderedEffect = ({\n\tstate,\n\tproperties,\n\taction: {\n\t\tpayload: { previousRenderState },\n\t\tmeta: { firstRenderOnConnect }\n\t},\n\tupdateState,\n\tdispatch\n}) => {\n\tconst {\n\t\tvalueCandidate,\n\t\tdisplayValueCandidate,\n\t\tchoices,\n\t\tvalue,\n\t\tisLoading,\n\t\toptionStack\n\t} = state;\n\n\tconst { readonly } = properties;\n\n\tconst updateValue = selectValue(properties, updateState, dispatch);\n\n\tif (firstRenderOnConnect && !shouldSelectFirstOption(properties)) {\n\t\tif (!isAttrTrue(readonly) && choices.length && !some(choices, { value })) {\n\t\t\tconst validChoiceValue = getValidChoiceValue(value, choices);\n\t\t\tupdateValue({\n\t\t\t\tvalue: validChoiceValue,\n\t\t\t\tdisplayValue: getDisplayValue(choices, validChoiceValue)\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\n\tconst hasRememberedMatch = valueCandidate !== undefined;\n\n\tif (\n\t\thasRememberedMatch &&\n\t\t(valueCandidate === toString(properties.initialValue) ||\n\t\t\tpreviousRenderState.valueCandidate !== valueCandidate)\n\t) {\n\t\t// Most likely a change to the value of a choice field that has a dependency\n\t\t// In this case, the choice was not added in willReceiveProps (because it has a dependency)\n\t\t// Therefore, we must add it here\n\t\tlet hasChoiceMatch = some(choices, { value: valueCandidate });\n\t\tlet newState = {};\n\t\tif (!hasChoiceMatch) {\n\t\t\tnewState = {\n\t\t\t\tchoices: appendTmpValueAsChoice(\n\t\t\t\t\tchoices,\n\t\t\t\t\tvalueCandidate,\n\t\t\t\t\tdisplayValueCandidate\n\t\t\t\t)\n\t\t\t};\n\t\t}\n\n\t\t// just remembered a value, so let's make state match our props\n\t\t// selectValue calls valueChange and disallows updating other parts\n\t\t// of the state, so we just update the state here instead of calling that\n\t\tupdateState({\n\t\t\tvalue: valueCandidate,\n\t\t\tdisplayValue: displayValueCandidate,\n\t\t\tvalueCandidate: undefined,\n\t\t\tdisplayValueCandidate: undefined,\n\t\t\t...newState\n\t\t});\n\t}\n\n\tconst justStoppedLoading =\n\t\tisLoading !== previousRenderState.isLoading && !isLoading;\n\n\tif (justStoppedLoading) {\n\t\tconst hasChoiceMatch = some(choices, { value: value });\n\t\t// when choices get added via dependent value and if empty value is part of choice,\n\t\t// it should trigger an onValueChange call\n\t\tconst matchedChoiceIsNone =\n\t\t\tvalue === '' &&\n\t\t\tsome(choices, { value: '' }) &&\n\t\t\t!isEqual(choices, previousRenderState.choices);\n\t\tif (hasRememberedMatch) {\n\t\t\t// values set by script that become valid after a fetch should be set\n\t\t\tupdateValue({\n\t\t\t\tvalue: valueCandidate,\n\t\t\t\tdisplayValue: displayValueCandidate\n\t\t\t});\n\t\t} else if (!hasChoiceMatch) {\n\t\t\tconst firstChoiceValue =\n\t\t\t\tisAttrTrue(readonly) || shouldSelectFirstOption(properties)\n\t\t\t\t\t? ''\n\t\t\t\t\t: choices[0]?.value || '';\n\t\t\tupdateValue({\n\t\t\t\tvalue: firstChoiceValue,\n\t\t\t\tdisplayValue: getDisplayValue(choices, firstChoiceValue, '')\n\t\t\t});\n\t\t} else if (matchedChoiceIsNone || hasChoiceMatch)\n\t\t\tupdateValue({\n\t\t\t\tvalue,\n\t\t\t\tdisplayValue: getDisplayValue(choices, value)\n\t\t\t});\n\t}\n\t//Need to validate situation where choice list without -- None -- is set to blank via g_form.setValue or g_form.clearValue\n\t//We shouldn't select the first choice when value is empty \"\" on bulk edit form or when dontSelectFirstOption is true.\n\telse if (\n\t\t!isLoading &&\n\t\t(optionStack !== previousRenderState.optionStack ||\n\t\t\t(!shouldSelectFirstOption(properties) &&\n\t\t\t\t!isAttrTrue(readonly) &&\n\t\t\t\t!some(choices, { value: '' }) &&\n\t\t\t\tvalue === ''))\n\t) {\n\t\tconst validChoiceValue = getValidChoiceValue(value, choices);\n\t\tif (\n\t\t\tvalidChoiceValue !== value ||\n\t\t\t(value === '' &&\n\t\t\t\tgetDisplayValue(choices, value) !=\n\t\t\t\t\tgetDisplayValue(\n\t\t\t\t\t\tpreviousRenderState.choices,\n\t\t\t\t\t\tpreviousRenderState.value\n\t\t\t\t\t))\n\t\t) {\n\t\t\tupdateValue({\n\t\t\t\tvalue: validChoiceValue,\n\t\t\t\tdisplayValue: getDisplayValue(choices, validChoiceValue)\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default {\n\t[actionTypes.COMPONENT_BOOTSTRAPPED]: ({\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateState\n\t}) => {\n\t\t// Dependent fields might be constructed after the parent field value has\n\t\t// already changed. In these cases, the `choices` for the dependent field\n\t\t// correspond to the choices for the old parent field value, not the\n\t\t// current value. Need to immediately fetch up-to-date choices.\n\t\t//\n\t\t// When the parent value hasn't changed before this field has been\n\t\t// constructed, the `dependentValue` prop remains undefined so `props.choices`\n\t\t// contains accurate entries.\n\t\tconst dependentChoiceData =\n\t\t\tproperties.dependentField &&\n\t\t\t(properties.dependentFieldValue || properties.dependentValue)\n\t\t\t\t? fetchDependentChoices(properties, dispatch)\n\t\t\t\t: {};\n\n\t\tif (!isEmpty(dependentChoiceData)) {\n\t\t\tupdateState({\n\t\t\t\t...dependentChoiceData\n\t\t\t});\n\t\t}\n\t},\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect,\n\t[actionTypes.COMPONENT_RENDERED]: componentRenderedEffect,\n\t[FETCH_DATA]: createGraphQLEffect(query, {\n\t\tvariableList: [\n\t\t\t'table',\n\t\t\t'field',\n\t\t\t'sys_id',\n\t\t\t'serialized_changes',\n\t\t\t'encoded_record'\n\t\t],\n\t\tsuccessActionType: FETCH_DATA_SUCCESS,\n\t\terrorActionType: FETCH_DATA_FAILURE\n\t}),\n\n\t[FETCH_DATA_SUCCESS]: {\n\t\teffect: ({ updateState, action, state, properties, dispatch }) => {\n\t\t\tconst { payload } = action;\n\t\t\tif (payload.errors.length < 1) {\n\t\t\t\tconst results = get(payload, GRAPHQL_DATA_PATH);\n\t\t\t\tconst choices = map(results, choice => ({\n\t\t\t\t\tvalue: choice.value,\n\t\t\t\t\tdisplayValue: choice.label\n\t\t\t\t}));\n\t\t\t\tupdateChoices(\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tchoices,\n\t\t\t\t\tstate.choices,\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\toptionStack: []\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateChoices(\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties,\n\t\t\t\t\tupdateState,\n\t\t\t\t\t[],\n\t\t\t\t\tstate.choices,\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\toptionStack: []\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[FETCH_DATA_FAILURE]: {\n\t\teffect: ({ updateState, state, properties, dispatch }) => {\n\t\t\tupdateChoices(\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tupdateState,\n\t\t\t\t[],\n\t\t\t\tstate.choices,\n\t\t\t\tdispatch\n\t\t\t);\n\t\t\tupdateState({\n\t\t\t\tisLoading: false,\n\t\t\t\toptionStack: []\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t'NOW_SELECT#SELECTED_ITEM_SET': ({\n\t\taction,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tlet {\n\t\t\titem: { id, label: displayValue, ...meta }\n\t\t} = action.payload;\n\n\t\tconst { name, onValueChange } = properties;\n\n\t\tconst suggestionPrefix = new RegExp(`^${SUGGESTION_PREFIX}`);\n\t\tlet value = id.replace(suggestionPrefix, '');\n\n\t\tif (value === NOW_CHOICE_NONE_OPTION) value = '';\n\n\t\tif (state?.value === value && state?.displayValue === displayValue) return;\n\n\t\tupdateState({\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tvalueCandidate: undefined,\n\t\t\tdisplayValueCandidate: undefined,\n\t\t\tisSuggestionSelected: suggestionPrefix.test(id)\n\t\t});\n\n\t\tif (value === NOW_CHOICE_NONE_OPTION) value = '';\n\n\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\tcallback: onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tname,\n\t\t\t\tvalue,\n\t\t\t\tdisplayValue\n\t\t\t}\n\t\t});\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'choice-connected' },\n\t\t\tadditionalOptions: { ...meta }\n\t\t});\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport {\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\tfieldLayoutSchema\n} from '@devsnc/sn-controls-common';\nimport ConnectedChoice from './view';\nimport actionHandlers from './actionHandlers';\nimport {\n\tappendTmpValueAsChoice,\n\tapplyOptionStack,\n\twithStringValues\n} from './utils';\nimport style from './choice.scss';\nimport { some, toString } from 'lodash';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior({ cache: false })\n};\n\n/**\n *  Parse the value of the attribute and build an object keyed by the value in the attribute\n * Sets the value to the name of the field plus some characters as we dont know what the value\n * is set to on first load.\n * @param {string} refQulElemAttribute the value of the attribute. It might be plural ';' separated\n */\nconst getRefQualElements = refQulElemAttribute => {\n\tlet fields = refQulElemAttribute.split(';');\n\tlet elements = fields.reduce((acc, current) => {\n\t\tacc[current] = {\n\t\t\tvalue: current + '- -',\n\t\t\tname: current\n\t\t};\n\t\treturn acc;\n\t}, {});\n\treturn elements;\n};\n\nexport const setInitialState = ({ properties }) => {\n\tconst { dictionaryAttributes = {} } = properties;\n\tconst refQualElements = dictionaryAttributes['refQualElements']\n\t\t? getRefQualElements(dictionaryAttributes['refQualElements'])\n\t\t: {};\n\n\tlet choices = withStringValues(properties.choices);\n\n\tconst initialValue = toString(properties.initialValue);\n\tconst hasChoiceMatch = some(choices, { value: initialValue });\n\n\tif (!hasChoiceMatch) {\n\t\tchoices = appendTmpValueAsChoice(\n\t\t\tchoices,\n\t\t\tinitialValue,\n\t\t\tproperties.initialDisplayValue\n\t\t);\n\t}\n\n\treturn {\n\t\tvalue: initialValue,\n\t\tdisplayValue: toString(properties.initialDisplayValue || initialValue),\n\t\tvalueCandidate: undefined,\n\t\tdisplayValueCandidate: undefined,\n\t\tisLoading: false,\n\t\tchoices: applyOptionStack(choices, properties.optionStack),\n\t\trefQualElements\n\t};\n};\n\n/**\n * ```jsx\n *\n * <sn-record-choice-connected\n *\t\tlabel= 'Choice Field',\n *      initialValue: 'Choice A',\n *      label: 'Choice field that allows no value',\n *      description:'This choice may have no value, but starts with a default value set.',\n *      choices: [ {displayValue: ' -- NONE -- '},{displayValue: 'Choice A',value: 'Choice A'}]\n * />\n * ```\n *\n * @seismicElement sn-record-choice-connected\n * @summary Connected Choice Component\n *\n */\n\ncreateCustomElement('sn-record-choice-connected', {\n\tview: withValueChangeCallbacksView(ConnectedChoice),\n\tsetInitialState,\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * aria-label\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * aria-labelledby\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * choices\n\t\t * Array of choices with values and display values to show in dropdown\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tchoices: {},\n\n\t\t/**\n\t\t * Optional name of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: {},\n\n\t\t/**\n\t\t * Optional value of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldValue: {},\n\n\t\t/**\n\t\t * Please use `dependentFieldValue` instead\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValue: {},\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * displayValue can be string or number or array of values\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * Dictionary Attributes for choice field\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tdictionaryAttributes: {},\n\n\t\t/**\n\t\t * When choices have no None option and if first option should not be selected,\n\t\t * this should be set to true.\n\t\t * @type {boolean}\n\t\t */\n\t\tdontSelectFirstOption: { default: false },\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {string}\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tforceUncontrolled: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * initial Value for field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tinitialValue: {},\n\n\t\t/**\n\t\t * initial display Value for field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tinitialDisplayValue: {},\n\n\t\t/**\n\t\t * Whether the field is in the process of getting new choices which could potentially invalidate\n\t\t * the current value\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisLoading: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Live update\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Array of commands to used to modify the list of choices\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\toptionStack: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t * @deprecated Deprecated with uptake to NDS now-select. Do not use. Will be Removed.\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {},\n\n\t\t/**\n\t\t * Value can be anything\n\t\t *\n\t\t * @type {any}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'SN_RECORD_CHOICE#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_CHOICE#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getItemForKeypress\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.__esModule\n\t\t\t\t\tif (cjsModule && 'getItemForKeypress' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"].getItemForKeypress;\n\t\t\t\t\t} else if ('getItemForKeypress' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.getItemForKeypress || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"].getItemForKeypress;\n\t\t\t\t}, [\"itemsSchema\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.__esModule\n\t\t\t\t\tif (cjsModule && 'itemsSchema' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"].itemsSchema;\n\t\t\t\t\t} else if ('itemsSchema' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__.itemsSchema || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_dropdown_index_jsdbx_ef03173f__[\"default\"].itemsSchema;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nexport const DEFAULT_BUTTON_PROPS = {\n\tsize: 'sm',\n\tvariant: 'primary',\n\tlabel: '',\n\ticon: 'sn-sparkmoji-logo-outline',\n\ttooltipContent: t('Use AI to generate notes'),\n\thideButtonOnDialog: true,\n\tstrictlyUseDefaultPresetAction: false,\n\tisCaretForDropdown: false\n};\nexport const DEFAULT_RECOMMENDATION_DIALOG_PROPS = {\n\tinsertButtonLabel: t('Insert'),\n\trefineButtonLabel: t('Refine'),\n\theight: 350,\n\twidth: 400\n};\nexport const WWNA_INSERT_RECOMMENDATION_CLICKED =\n\t'SN_WWNA#INSERT_RECOMMENDATION_CLICKED';\nexport const WWNA_RECOMMENDATION_DIALOG_CLOSED =\n\t'SN_WWNA#RECOMMENDATION_DIALOG_CLOSED';\nexport const WWNA_PRESET_ACTION_CLICKED = 'SN_WWNA#PRESET_ACTION_CLICKED';\nexport const NOW_TEXTAREA_INPUT = 'NOW_TEXTAREA#INPUT';\nexport const NOW_TEXTAREA_SELECTION_CHANGED = 'NOW_TEXTAREA#SELECTION_CHANGED';\nexport const NOW_INPUT_SELECTION_CHANGED = 'NOW_INPUT#SELECTION_CHANGED';\nexport const NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST =\n\t'SN_RECORD_NOWASSIST#SHOW_HIDE_NOWASSIST';\nexport const RESOLUTION_TRIGGER_ACTION_ID = 'ad528f2ac34c1e106546baddd4013174';\n\nexport const SHOW_HIDE_WWNA_COMPONENT = 'SHOW_HIDE_WWNA_COMPONENT';\nexport const AUTOGROW_TEXT = 'AUTOGROW_TEXT';\nexport const WWNA_INITIALIZED = 'WWNA_INITIALIZED';\nexport const SN_NACM_COMPONENT_RENDERED = 'SN_NACM#COMPONENT_RENDERED';\n","const resolutionSkillID = 'c5870faa20e22110f877d3d1bc36dd87';\n\nexport const isResolutionSkill = (nacmConfig, table, fieldName) => {\n\tconst fieldConfig = nacmConfig?.contextMenu?.formFieldsSkillMapping\n\t\t? nacmConfig?.contextMenu?.formFieldsSkillMapping?.[table]?.[fieldName]\n\t\t: nacmConfig?.contextMenu;\n\n\treturn fieldConfig?.skill_id === resolutionSkillID;\n};\n\nexport const isNACMSkill = (nacmConfig, table, fieldName) => {\n\tconst fieldConfig = nacmConfig?.contextMenu?.formFieldsSkillMapping\n\t\t? nacmConfig?.contextMenu?.formFieldsSkillMapping?.[table]?.[fieldName]\n\t\t: nacmConfig?.contextMenu;\n\n\tif (!fieldConfig?.skill_id) return false;\n\treturn fieldConfig.skill_id !== resolutionSkillID;\n};\n\nexport const sanitizeNACMValue = value => {\n\t// from wwna richtext editor we would get the value with <br> tags.\n\treturn value.replace(/<br\\s*\\/?>/gi, '\\n');\n};\n\nexport const removeAllWhitespace = text => {\n\tif (!text) return '';\n\treturn text.replace(/\\s/g, '');\n};\n\nexport const textHasMinWordCount = (text, minWords = 0) => {\n\tif (!removeAllWhitespace(text)) return false;\n\tconst words = text.trim().split(/\\s+/);\n\tif (words?.length === 1) return false;\n\tconst filteredWords = words.filter(word => word.trim() !== '');\n\treturn filteredWords.length > (minWords || 0);\n};\n\nexport const replaceSelectedText = (\n\tinitialValue,\n\tnacmValue,\n\tselectionStart,\n\tselectionEnd\n) => {\n\tif (selectionStart === selectionEnd) return nacmValue;\n\treturn (\n\t\tinitialValue.slice(0, selectionStart) +\n\t\tnacmValue +\n\t\tinitialValue.slice(selectionEnd)\n\t);\n};\n\nexport const replaceSelectedTextNACM = (\n\tinitialValue,\n\tnacmValue,\n\tselectionStart,\n\tselectionEnd\n) => {\n\treturn (\n\t\tinitialValue.slice(0, selectionStart) +\n\t\tnacmValue +\n\t\tinitialValue.slice(selectionEnd)\n\t);\n};\n\nexport const getCursorPositionAfterInsertion = (\n\ttextWithInsertion,\n\tinsertedText\n) => {\n\tconst insertionIndex = textWithInsertion.indexOf(insertedText);\n\tif (insertionIndex === -1) return textWithInsertion.length;\n\treturn insertionIndex + insertedText.length;\n};\n\nexport const getFieldElement = (hostElement, selector = 'textarea') => {\n\tconst textareaParent = hostElement?.shadowRoot?.querySelector(\n\t\t`now-${selector}`\n\t);\n\treturn textareaParent?.shadowRoot?.querySelector(selector);\n};\n\nexport const getNowTextarea = hostElement => {\n\treturn getFieldElement(hostElement, 'textarea');\n};\n\nexport const updateTextareaElementSelection = (\n\thostElement,\n\tselectionStart,\n\tselectionEnd\n) => {\n\tconst textarea = getNowTextarea(hostElement);\n\t// set selection on textarea for UI16 feature parity\n\ttextarea.setSelectionRange(selectionStart, selectionEnd);\n};\n","import {\n\tDEFAULT_BUTTON_PROPS,\n\tDEFAULT_RECOMMENDATION_DIALOG_PROPS\n} from './constants';\nimport { removeAllWhitespace, textHasMinWordCount } from './utils';\n\nexport const getNACMConfigDetails = (\n\tinputFocused,\n\twwnaDialogOpened,\n\tisUserTriggered,\n\tselectedText,\n\tdraftedText,\n\tminWordCount\n) => {\n\t// ALWAYS HIDE WHEN OUT OF FOCUS\n\tif (!inputFocused) {\n\t\treturn {\n\t\t\tisComponentVisible: wwnaDialogOpened,\n\t\t\tcomponentSelectedText: ''\n\t\t};\n\t}\n\n\t// ANY TRIGGER SETTING & MIN WORDS SELECTED\n\tif (selectedText && textHasMinWordCount(selectedText, minWordCount)) {\n\t\treturn {\n\t\t\tisComponentVisible: true,\n\t\t\tcomponentSelectedText: selectedText\n\t\t};\n\t}\n\n\t// ANY TRIGGER & SUFFICIENT DRAFTED TEXT\n\tif (\n\t\tdraftedText &&\n\t\ttextHasMinWordCount(draftedText, minWordCount) &&\n\t\t!selectedText\n\t) {\n\t\treturn {\n\t\t\tisComponentVisible: true,\n\t\t\tcomponentSelectedText: draftedText\n\t\t};\n\t}\n\n\t// IS USER TRIGGERED & NO TEXT INPUT (default case)\n\tif (isUserTriggered && !removeAllWhitespace(draftedText)) {\n\t\treturn {\n\t\t\tisComponentVisible: true,\n\t\t\tcomponentSelectedText: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tisComponentVisible: false,\n\t\tcomponentSelectedText: ''\n\t};\n};\nexport const renderNowAssistContextMenu = (\n\treferringRecordId,\n\treferringTable,\n\tname,\n\tnacmConfig,\n\tselectedText,\n\tdraftedText,\n\t{ isUserTriggered, inputFocused, wwnaDialogOpened }\n) => {\n\tconst { contextMenu = {}, minWordCount } = nacmConfig;\n\tconst { isComponentVisible, componentSelectedText } = getNACMConfigDetails(\n\t\tinputFocused,\n\t\twwnaDialogOpened,\n\t\tisUserTriggered,\n\t\tselectedText,\n\t\tdraftedText,\n\t\tminWordCount\n\t);\n\n\treturn (\n\t\tisComponentVisible && (\n\t\t\t<sn-wwna\n\t\t\t\tslot=\"caret\"\n\t\t\t\tid=\"sn-record-nowassist\"\n\t\t\t\tdocumentTableName={referringTable}\n\t\t\t\tdocumentSysId={referringRecordId}\n\t\t\t\twwnaComponentId={name}\n\t\t\t\tnacmConfig={contextMenu}\n\t\t\t\tbuttonProps={DEFAULT_BUTTON_PROPS}\n\t\t\t\trecommendationDialogProps={DEFAULT_RECOMMENDATION_DIALOG_PROPS}\n\t\t\t\tpayload={{\n\t\t\t\t\ttable: referringTable,\n\t\t\t\t\tsysId: referringRecordId,\n\t\t\t\t\tfieldName: name\n\t\t\t\t}}\n\t\t\t\tnacmResponseType=\"text\"\n\t\t\t\tselectedText={componentSelectedText}\n\t\t\t\tdraftedText={draftedText}\n\t\t\t/>\n\t\t)\n\t);\n};\n","import { renderNowAssistContextMenu as renderNACMContextMenu } from './nacm/renderNowAssistContextMenu';\nimport { renderNowAssistContextMenu as renderResolutionNACMContextMenu } from './renderNowAssistContextMenu';\n\nimport { isResolutionSkill } from './utils';\n\nexport const renderNowAssistContextMenu = (\n\treferringRecordId,\n\treferringTable,\n\tname,\n\tnacmConfig,\n\tselectedText,\n\tdraftedText,\n\tprops,\n\tfieldSelector\n) => {\n\tif (isResolutionSkill(nacmConfig, referringTable, name)) {\n\t\treturn renderResolutionNACMContextMenu(\n\t\t\treferringRecordId,\n\t\t\treferringTable,\n\t\t\tname,\n\t\t\tnacmConfig,\n\t\t\tselectedText,\n\t\t\tdraftedText,\n\t\t\tprops,\n\t\t\tfieldSelector\n\t\t);\n\t}\n\n\treturn renderNACMContextMenu(\n\t\treferringRecordId,\n\t\treferringTable,\n\t\tname,\n\t\tnacmConfig,\n\t\tselectedText,\n\t\tdraftedText,\n\t\tprops,\n\t\tfieldSelector\n\t);\n};\n","import {\n\tSN_NACM_COMPONENT_RENDERED,\n\tAUTOGROW_TEXT,\n\tWWNA_INITIALIZED\n} from '../constants';\n\nexport const renderNowAssistContextMenu = (\n\treferringRecordId,\n\treferringTable,\n\tname,\n\tnacmConfig,\n\tselectedText,\n\tdraftedText,\n\t{ dispatch },\n\tfieldSelector = 'textarea'\n) => {\n\tconst { contextMenu = {} } = nacmConfig;\n\n\tconst nacmInitializedHandler = {\n\t\t[`on-${SN_NACM_COMPONENT_RENDERED}`]: e => {\n\t\t\tdispatch(WWNA_INITIALIZED, {\n\t\t\t\tfieldSelector,\n\t\t\t\t...(e?.detail?.payload || {})\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t<sn-wwna\n\t\t\tslot=\"caret\"\n\t\t\tid=\"sn-record-nowassist\"\n\t\t\tdocumentTableName={referringTable}\n\t\t\tdocumentSysId={referringRecordId}\n\t\t\twwnaComponentId={name}\n\t\t\tnacmConfig={contextMenu}\n\t\t\tpayload={{\n\t\t\t\ttable: referringTable,\n\t\t\t\tsysId: referringRecordId,\n\t\t\t\tfieldName: name\n\t\t\t}}\n\t\t\tnacmResponseType=\"text\"\n\t\t\t{...nacmInitializedHandler}\n\t\t\tadditionalConfig={{\n\t\t\t\tpreInvokeActionHandler: args => {\n\t\t\t\t\tconst { payload, commandName, handleAutogrow, actionConfig } = args;\n\n\t\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t\tdispatch(AUTOGROW_TEXT, {\n\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\tcommandName,\n\t\t\t\t\t\t\tresolve,\n\t\t\t\t\t\t\treject,\n\t\t\t\t\t\t\thandleAutogrow,\n\t\t\t\t\t\t\tactionConfig\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\tselectedText={selectedText}\n\t\t\tdraftedText={draftedText}\n\t\t/>\n\t);\n};\n","import { CALLBACK_AND_DISPATCH_WITH_STATE } from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tNOW_TEXTAREA_SELECTION_CHANGED,\n\tNOW_INPUT_SELECTION_CHANGED,\n\tWWNA_INSERT_RECOMMENDATION_CLICKED,\n\tWWNA_RECOMMENDATION_DIALOG_CLOSED,\n\tSHOW_HIDE_WWNA_COMPONENT,\n\tAUTOGROW_TEXT,\n\tWWNA_INITIALIZED\n} from '../constants';\nimport {\n\tgetFieldElement,\n\treplaceSelectedTextNACM,\n\tsanitizeNACMValue\n} from '../utils';\nimport { isNACMSkill } from '../utils';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst selectionChangedEffect = ({\n\taction: {\n\t\tpayload: {\n\t\t\tname: fieldName = '',\n\t\t\tselection = '',\n\t\t\tselectionStart,\n\t\t\tselectionEnd\n\t\t} = {}\n\t},\n\tupdateState,\n\tproperties: { name = '', nowAssistConfig, referringTable }\n}) => {\n\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\tif (fieldName !== name) return;\n\tupdateState({ selectedText: selection, selectionStart, selectionEnd });\n};\n\nconst handleInsertRecommendationClicked = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value: nacmValue = '', wwnaComponentId = '' } = {}\n\t\t} = {},\n\t\tdispatch,\n\t\tproperties: {\n\t\t\tname = '',\n\t\t\tonValueChange,\n\t\t\tnowAssistConfig,\n\t\t\treferringTable\n\t\t} = {},\n\t\tstate: { nativeFieldSelector } = {},\n\t\tupdateState,\n\t\thost\n\t} = coeffects;\n\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\n\tif (name !== wwnaComponentId) return;\n\n\tconst fieldElement = getFieldElement(host, nativeFieldSelector);\n\n\tconst sanitizedNacm = sanitizeNACMValue(nacmValue);\n\tconst value = fieldElement.value;\n\n\tconst nextValue = replaceSelectedTextNACM(\n\t\tvalue,\n\t\tsanitizedNacm,\n\t\tfieldElement.selectionStart,\n\t\tfieldElement.selectionEnd\n\t);\n\n\tconst nextCursorPosition = fieldElement.selectionStart + sanitizedNacm.length;\n\n\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\tcallback: onValueChange,\n\t\tisValueChanged: true,\n\t\tdispatchPayload: { value: nextValue }\n\t});\n\n\tupdateState({\n\t\tstagedValue: nextValue,\n\t\tselectedText: ''\n\t});\n\n\tconst textarea = getFieldElement(host, nativeFieldSelector);\n\t// Mutating dom elements is generally bad practice, but we have to do it here to prevent our cursor\n\t// from skipping on focus. The state update above is just a few ms too slow 90% of the time. No\n\t// reasonable amount of settimeout/delay effect combinations would acheive this while avoiding flicker.\n\ttextarea.value = '';\n\t// Focus to textarea so that onblur event is triggered when we hit save\n\ttextarea.focus();\n\tdocument.execCommand('insertText', false, nextValue);\n\t// Update the selection and cursor position. The settimeout ensures it gets called after.\n\ttextarea.setSelectionRange(nextCursorPosition, nextCursorPosition);\n};\n\nconst handleAutogrowText = ({\n\taction: { payload },\n\thost,\n\tupdateState,\n\tproperties: { nowAssistConfig, referringTable, name },\n\tstate: { nativeFieldSelector }\n}) => {\n\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\tconst {\n\t\tresolve,\n\t\tpayload: NACMPayload,\n\t\thandleAutogrow,\n\t\tactionConfig\n\t} = payload;\n\tconst fieldElement = getFieldElement(host, nativeFieldSelector);\n\n\tif (\n\t\t!handleAutogrow ||\n\t\t!actionConfig ||\n\t\t!actionConfig.autogrow ||\n\t\t!(actionConfig.autogrow === 'true' || actionConfig.autogrow === true) ||\n\t\t!fieldElement ||\n\t\t!['sentence', 'paragraph', 'whole-content'].includes(\n\t\t\tactionConfig.autogrowLevel\n\t\t)\n\t) {\n\t\treturn resolve(NACMPayload);\n\t}\n\n\thandleAutogrow({ fieldElement, ...actionConfig });\n\tconst selectedText = fieldElement.value.substring(\n\t\tfieldElement.selectionStart,\n\t\tfieldElement.selectionEnd\n\t);\n\tNACMPayload.payload.selected_text = selectedText;\n\tresolve(NACMPayload);\n\tupdateState({\n\t\tselectedText\n\t});\n};\n\nconst nacmBehavior = {\n\tname: 'nacmBehavior',\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { event }\n\t\t\t\t},\n\t\t\t\tproperties: { nowAssistConfig, referringTable, name },\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\t\t// if blur was triggered because of interaction with sn-wwna then bail-out of hiding the NACM component\n\t\t\t\tif (\n\t\t\t\t\tevent\n\t\t\t\t\t\t.composedPath()\n\t\t\t\t\t\t.some(\n\t\t\t\t\t\t\tnode =>\n\t\t\t\t\t\t\t\tnode.nodeName === 'SN-WWNA' && node.id === 'sn-record-nowassist'\n\t\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tdispatch(SHOW_HIDE_WWNA_COMPONENT, { show: true });\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(SHOW_HIDE_WWNA_COMPONENT, { show: false });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tevents: ['focus'],\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\tproperties: { nowAssistConfig, referringTable, name }\n\t\t\t}) => {\n\t\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\t\tdispatch(SHOW_HIDE_WWNA_COMPONENT, { show: true });\n\t\t\t}\n\t\t}\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: async ({\n\t\t\tproperties: { nowAssistConfig = {}, referringTable, name },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tconst { contextMenu } = nowAssistConfig;\n\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tif (contextMenu && Object.keys(contextMenu)?.length > 0) {\n\t\t\t\tawait import('@devsnc/sn-wwna');\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcomponentLoaded: true,\n\t\t\t\t\tenableCaretSlot: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['SHOW_HIDE_WWNA_COMPONENT']: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { show = false }\n\t\t\t\t},\n\t\t\t\tproperties: { nowAssistConfig = {}, referringTable, name },\n\t\t\t\thost\n\t\t\t}) => {\n\t\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\t\tconst floatingButton = host.shadowRoot.getElementById(\n\t\t\t\t\t'sn-record-nowassist'\n\t\t\t\t);\n\t\t\t\tif (floatingButton) {\n\t\t\t\t\tfloatingButton.style.display = show ? 'block' : 'none';\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_TEXTAREA_SELECTION_CHANGED]: {\n\t\t\teffect: selectionChangedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_SELECTION_CHANGED]: {\n\t\t\teffect: selectionChangedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WWNA_INSERT_RECOMMENDATION_CLICKED]: {\n\t\t\teffect: handleInsertRecommendationClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WWNA_RECOMMENDATION_DIALOG_CLOSED]: {\n\t\t\teffect: ({\n\t\t\t\thost,\n\t\t\t\tstate: { nativeFieldSelector },\n\t\t\t\tproperties: { nowAssistConfig, referringTable, name }\n\t\t\t}) => {\n\t\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\t\tgetFieldElement(host, nativeFieldSelector)?.focus?.();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[WWNA_INITIALIZED]: {\n\t\t\teffect: ({\n\t\t\t\taction: { payload },\n\t\t\t\tupdateState,\n\t\t\t\tproperties: { nowAssistConfig, referringTable, name }\n\t\t\t}) => {\n\t\t\t\tif (!isNACMSkill(nowAssistConfig, referringTable, name)) return;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tnativeFieldSelector: payload.fieldSelector\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[AUTOGROW_TEXT]: {\n\t\t\teffect: handleAutogrowText,\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tsetInitialState: () => {\n\t\treturn {\n\t\t\tcomponentLoaded: false,\n\t\t\tactionsConfig: {},\n\t\t\tenableCaretSlot: false,\n\t\t\tselectedText: '',\n\t\t\tselectionStart: 0,\n\t\t\tselectionEnd: 0,\n\t\t\tstagedValue: '',\n\t\t\twwnaOffsets: {\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: 0\n\t\t\t}\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Skill Configuration for field level Now Assist Context Menu component\n\t\t * The schema for this property isn't strongly typed, as we are simply passing the\n\t\t * Now Assist Context Menu specific document model down to the Now Assist Context Menu Component\n\t\t */\n\t\tnowAssistConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontextMenu: { type: 'object' },\n\t\t\t\t\tminWordCount: { type: 'number' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\nexport { nacmBehavior };\n","import { CALLBACK_AND_DISPATCH_WITH_STATE } from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tNOW_TEXTAREA_SELECTION_CHANGED,\n\tWWNA_INSERT_RECOMMENDATION_CLICKED,\n\tNOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST,\n\tRESOLUTION_TRIGGER_ACTION_ID,\n\tNOW_TEXTAREA_INPUT,\n\tWWNA_RECOMMENDATION_DIALOG_CLOSED,\n\tWWNA_PRESET_ACTION_CLICKED\n} from './constants';\nimport {\n\tgetCursorPositionAfterInsertion,\n\tgetNowTextarea,\n\treplaceSelectedText,\n\tsanitizeNACMValue,\n\tupdateTextareaElementSelection,\n\tisResolutionSkill\n} from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst nowAssistActionsBehavior = {\n\tname: 'nowAssistActionsBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: async ({\n\t\t\tproperties: { nowAssistConfig = {}, name, referringTable },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tconst { contextMenu } = nowAssistConfig;\n\t\t\tif (contextMenu && Object.keys(contextMenu)?.length > 0) {\n\t\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\t\tawait import('@devsnc/sn-wwna');\n\t\t\t\tconst { variable_sets: variableSets } = contextMenu;\n\t\t\t\tconst isUserTriggered =\n\t\t\t\t\tvariableSets?.some(v => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tv?.config_type === RESOLUTION_TRIGGER_ACTION_ID &&\n\t\t\t\t\t\t\tv?.props?.user_triggered === 'true'\n\t\t\t\t\t\t);\n\t\t\t\t\t}) ?? false;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcomponentLoaded: true,\n\t\t\t\t\tenableCaretSlot: true,\n\t\t\t\t\tisUserTriggered\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name, value }\n\t\t\t},\n\t\t\tproperties: {\n\t\t\t\tinitialValue,\n\t\t\t\tnowAssistConfig,\n\t\t\t\tname: fieldName,\n\t\t\t\treferringTable\n\t\t\t},\n\t\t\tstate: { enableCaretSlot, stagedValue, isUserTriggered },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, fieldName))\n\t\t\t\treturn;\n\t\t\t// This is a workaround for a scenario when a user changes the state of incident and RN\n\t\t\t// auto generates, we only get value not staged value\n\t\t\t// We have to rely on staged value because if user removes the whole text from textarea,\n\t\t\t// we have value but no staged value. In that case, we need to show NACM button.\n\t\t\t// This doesnt happen when user clicks on resolve button. We get both staged and value\n\t\t\tif (!enableCaretSlot && name !== 'initialValue') return;\n\t\t\tif (initialValue && !stagedValue && !isUserTriggered) {\n\t\t\t\tupdateState({ stagedValue: value });\n\t\t\t}\n\t\t},\n\t\t// selection update doesn't run on input...\n\t\t[NOW_TEXTAREA_INPUT]: ({\n\t\t\tproperties: { name = '', nowAssistConfig, referringTable },\n\t\t\taction: { payload: { name: fieldName = '' } = {} },\n\t\t\tstate: { stagedValue, selectedText },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tif (fieldName !== name || !selectedText) return;\n\t\t\tupdateState({\n\t\t\t\tselectedText: '',\n\t\t\t\tselectionStart: stagedValue.length,\n\t\t\t\tselectionEnd: stagedValue.length\n\t\t\t});\n\t\t},\n\t\t[NOW_TEXTAREA_SELECTION_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tname: fieldName = '',\n\t\t\t\t\tselection = '',\n\t\t\t\t\tselectionStart,\n\t\t\t\t\tselectionEnd\n\t\t\t\t} = {}\n\t\t\t},\n\t\t\tupdateState,\n\t\t\tproperties: { name = '', nowAssistConfig, referringTable }\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tif (fieldName !== name) return;\n\t\t\tupdateState({ selectedText: selection, selectionStart, selectionEnd });\n\t\t},\n\t\t[WWNA_INSERT_RECOMMENDATION_CLICKED]: coeffects => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { value: nacmValue = '', wwnaComponentId = '' } = {}\n\t\t\t\t} = {},\n\t\t\t\tdispatch,\n\t\t\t\tproperties: {\n\t\t\t\t\tname = '',\n\t\t\t\t\tonValueChange,\n\t\t\t\t\tnowAssistConfig,\n\t\t\t\t\treferringTable\n\t\t\t\t} = {},\n\t\t\t\tstate: {\n\t\t\t\t\tvalue = '',\n\t\t\t\t\tselectedText = '',\n\t\t\t\t\tselectionStart,\n\t\t\t\t\tselectionEnd\n\t\t\t\t} = {},\n\t\t\t\tupdateState,\n\t\t\t\thost\n\t\t\t} = coeffects;\n\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\n\t\t\tif (name !== wwnaComponentId) return;\n\n\t\t\tconst sanitizedNacm = sanitizeNACMValue(nacmValue);\n\n\t\t\tconst nextValue = selectedText\n\t\t\t\t? replaceSelectedText(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tsanitizedNacm,\n\t\t\t\t\t\tselectionStart,\n\t\t\t\t\t\tselectionEnd\n\t\t\t\t\t)\n\t\t\t\t: sanitizedNacm;\n\n\t\t\tconst nextCursorPosition = getCursorPositionAfterInsertion(\n\t\t\t\tnextValue,\n\t\t\t\tsanitizedNacm\n\t\t\t);\n\n\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\tcallback: onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: { value: nextValue }\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tstagedValue: nextValue,\n\t\t\t\tselectedText: '',\n\t\t\t\tselectionStart: nextCursorPosition,\n\t\t\t\tselectionEnd: nextCursorPosition,\n\t\t\t\twwnaDialogOpened: false\n\t\t\t});\n\n\t\t\tconst textarea = getNowTextarea(host);\n\t\t\t// Mutating dom elements is generally bad practice, but we have to do it here to prevent our cursor\n\t\t\t// from skipping on focus. The state update above is just a few ms too slow 90% of the time. No\n\t\t\t// reasonable amount of settimeout/delay effect combinations would acheive this while avoiding flicker.\n\t\t\ttextarea.value = nextValue;\n\t\t\t// Update the selection and cursor position. The settimeout ensures it gets called after.\n\t\t\ttextarea.setSelectionRange(nextCursorPosition, nextCursorPosition);\n\t\t\t// Focus to textarea so that onblur event is triggered when we hit save\n\t\t\ttextarea.focus();\n\t\t},\n\t\t[NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { inputFocused = false }\n\t\t\t},\n\t\t\tproperties: { nowAssistConfig, name, referringTable },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\n\t\t\tupdateState({ inputFocused });\n\t\t},\n\t\t// Hides sparkle when the nowassist box is manually closed - textarea is already blurred but\n\t\t// NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST was skipped to prevent closing wwna\n\t\t[WWNA_RECOMMENDATION_DIALOG_CLOSED]: ({\n\t\t\thost,\n\t\t\tupdateState,\n\t\t\tproperties: { nowAssistConfig, name, referringTable }\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tupdateState({ wwnaDialogOpened: false });\n\t\t\tgetNowTextarea(host)?.focus();\n\t\t},\n\t\t// Unfortunatey once we have text in the input, the wwna button acts as a menu, doesnt\n\t\t// dispatch WWNA_PRESET#ACTION_CLICKED anymore, and does not accept append data.\n\t\t// It dispatches NOW_BUTTON#CLICKED with a payload of { command: 'OPEN_POPOVER }.\n\t\t['NOW_BUTTON#CLICKED']: ({\n\t\t\thost,\n\t\t\taction,\n\t\t\tproperties: { nowAssistConfig, name, referringTable },\n\t\t\tstate: { selectedText, stagedValue } = {}\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tif (action.payload.command !== 'OPEN_POPOVER') return;\n\t\t\t// if no selected text, select all text\n\t\t\tif (!selectedText) {\n\t\t\t\tupdateTextareaElementSelection(host, 0, stagedValue.length);\n\t\t\t}\n\t\t},\n\t\t// we have to \"commit\" the staged value for the text box when the nowassist box opens,\n\t\t// otherwise it'll be out of sync and break when WWNA_INSERT_RECOMMENDATION_CLICKED runs\n\t\t[WWNA_PRESET_ACTION_CLICKED]: ({\n\t\t\taction: { payload: { wwnaComponentId = '' } = {} } = {},\n\t\t\tdispatch,\n\t\t\tproperties: {\n\t\t\t\tname = '',\n\t\t\t\tonValueChange,\n\t\t\t\tnowAssistConfig,\n\t\t\t\treferringTable\n\t\t\t} = {},\n\t\t\tstate: { stagedValue } = {},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!isResolutionSkill(nowAssistConfig, referringTable, name)) return;\n\t\t\tif (name !== wwnaComponentId) return;\n\t\t\tupdateState({ wwnaDialogOpened: true });\n\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\tcallback: onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\tvalue: stagedValue\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tsetInitialState: () => {\n\t\treturn {\n\t\t\tcomponentLoaded: false,\n\t\t\tenableCaretSlot: false,\n\t\t\tselectedText: '',\n\t\t\tselectionStart: 0,\n\t\t\tselectionEnd: 0,\n\t\t\tstagedValue: '',\n\t\t\tisUserTriggered: false,\n\t\t\tinputFocused: false,\n\t\t\twwnaOffsets: {\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: 0\n\t\t\t},\n\t\t\twwnaDialogOpened: false\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Skill Configuration for field level Now Assist Context Menu component\n\t\t * The schema for this property isn't strongly typed, as we are simply passing the\n\t\t * Now Assist Context Menu specific document model down to the Now Assist Context Menu Component\n\t\t */\n\t\tnowAssistConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontextMenu: { type: 'object' },\n\t\t\t\t\tminWordCount: { type: 'number' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\nexport { nowAssistActionsBehavior };\n","import { size } from 'lodash';\nimport makeClass from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\n// When the current character count is within this percentage of the max\n// length, we make the counter a more prominent warning.\nconst CHARACTER_COUNTER_WARNING = 0.8;\n\nexport default function CharacterCounter({ value, maxlength, readonly }) {\n\tmaxlength = parseInt(maxlength);\n\n\tif (Number.isNaN(maxlength)) {\n\t\treturn null;\n\t}\n\n\tconst charCount = size(value);\n\tconst charsRemaining = maxlength - charCount;\n\n\tconst isEditable = !isAttrTrue(readonly);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={makeClass('sn-control-character-counter', {\n\t\t\t\twarning:\n\t\t\t\t\tisEditable &&\n\t\t\t\t\tcharCount / maxlength >= CHARACTER_COUNTER_WARNING &&\n\t\t\t\t\tcharsRemaining >= 0,\n\t\t\t\terror: isEditable && charsRemaining < 0\n\t\t\t})}\n\t\t\taria-live=\"polite\"\n\t\t\taria-relevant=\"text\"\n\t\t\taria-atomic=\"true\"\n\t\t>\n\t\t\t{t('Characters left: {0}', charsRemaining)}\n\t\t<\/div>\n\t);\n}\n","import { toString, isFunction, isEmpty } from 'lodash';\nimport makeClass from 'classnames';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-button';\n\nimport '@servicenow/now-input';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-textarea';\nimport {\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderHighlightedValue,\n\trenderDecorations,\n\ttransformDescriptionAndMessages,\n\tNO_PREDICTIONS_AVAILABLE,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\nimport { renderNowAssistContextMenu } from '@devsnc/sn-record-nowassist';\nimport { createSlot, Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport CharacterCounter from './CharacterCounter';\n\nconst normalizePlaceholder = (placeholder, readonly) =>\n\tplaceholder || !isAttrTrue(readonly) ? placeholder : '—';\n\nconst setInnerRef = innerRef => node => {\n\tif (node) {\n\t\tif (isFunction(innerRef)) {\n\t\t\tinnerRef(node);\n\t\t}\n\t}\n};\n\nconst onFocusEvent = onFocus => event => {\n\tif (isFunction(onFocus)) {\n\t\tonFocus(event);\n\t}\n};\n\nconst onBlurEvent = (onBlur, onValueChange) => event => {\n\tconst composedPath = event.composedPath()[0];\n\tconst value = composedPath?.value;\n\tif (isFunction(onBlur)) {\n\t\tonBlur(event, value);\n\t} else if (isFunction(onValueChange)) {\n\t\tonValueChange({ value });\n\t}\n};\n\nconst onMouseOverEvent = onMouseOver => event => {\n\tif (isFunction(onMouseOver)) {\n\t\tonMouseOver(event);\n\t}\n};\n\nconst onMouseOutEvent = onMouseOut => event => {\n\tif (isFunction(onMouseOut)) {\n\t\tonMouseOut(event);\n\t}\n};\n\nconst onChangeEvent = (onChange, onValueChange) => event => {\n\tconst value = event.target.value;\n\n\tif (isFunction(onChange)) {\n\t\tonChange(event, value);\n\t} else if (isFunction(onValueChange)) {\n\t\tonValueChange({\n\t\t\tevent,\n\t\t\tvalue\n\t\t});\n\t}\n};\n\nconst onNDSChange = (onChange, onValueChange, name) => event => {\n\tconst value = event.composedPath()[0].value;\n\t//faking event as event target is now-textrea and we need to use value from composed path\n\tconst changeEvent = { target: { value, name } };\n\n\tif (isFunction(onChange)) {\n\t\tonChange(changeEvent, value);\n\t} else if (isFunction(onValueChange)) {\n\t\tonValueChange({\n\t\t\tchangeEvent,\n\t\t\tvalue\n\t\t});\n\t}\n};\n\nconst getMaxlengthLabel = (ignoreMaxlength, maxlength) => {\n\treturn ignoreMaxlength || !maxlength\n\t\t? ''\n\t\t: t('This field supports {0} or fewer characters.', maxlength);\n};\n\nconst renderTextarea = (props, children, isTrigger) => {\n\tconst {\n\t\tvalue,\n\t\tonBlur,\n\t\tonNDSChange,\n\t\tonMouseOver,\n\t\tonMouseOut,\n\t\tconfigAria,\n\t\tmaxlength,\n\t\tfieldLayout = {},\n\t\tdisableMaxHeight,\n\t\tlabel,\n\t\treferringRecordId,\n\t\treferringTable,\n\t\tresizable,\n\t\tnowAssistConfig,\n\t\tname,\n\t\tselectedText,\n\t\tenableCaretSlot,\n\t\tcomponentLoaded,\n\t\tdraftedText,\n\t\tfitToParent,\n\t\tplaceholder,\n\t\tfieldRegex,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = props;\n\tconst { layout } = fieldLayout;\n\n\tconst showCounter = isAttrTrue(props.showCounter);\n\tconst ignoreMaxlength = isAttrTrue(props.ignoreMaxlength);\n\tconst isPropertySelector =\n\t\ttypeof value === 'string' && value[0] === '@' && value.indexOf('/') > 0;\n\tconst textValue = `\\\\${value}`;\n\tconst classNames = makeClass('sn-control', {\n\t\t'is-required': props.required,\n\t\t'fit-to-parent': fitToParent\n\t});\n\n\tconst slotted = isTrigger ? { slot: 'trigger' } : {};\n\tconst maxlengthLabel = getMaxlengthLabel(ignoreMaxlength, maxlength);\n\tconst ariaLabel = configAria?.['aria-label'] || label;\n\n\tlet resolvedPlaceholder =\n\t\t(Array.isArray(fieldRegex) && fieldRegex[0]?.placeholder) || placeholder;\n\n\tconst maskConfig =\n\t\tArray.isArray(fieldRegex) && fieldRegex[0]?.inputFormat\n\t\t\t? {\n\t\t\t\t\tmask: fieldRegex[0]?.inputFormat,\n\t\t\t\t\tmaskPlaceholder: fieldRegex[0]?.placeholder\n\t\t\t\t}\n\t\t\t: null;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"sn-control-controls sn-record-dts-translate-icon\">\n\t\t\t\t{children ? (\n\t\t\t\t\tcreateSlot(children, 'controls')\n\t\t\t\t) : (\n\t\t\t\t\t<slot name=\"controls\"><\/slot>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t<now-textarea\n\t\t\t\t{...slotted}\n\t\t\t\tclassName={classNames}\n\t\t\t\tvalue={isPropertySelector ? textValue : toString(value)}\n\t\t\t\tplaceholder={normalizePlaceholder(resolvedPlaceholder, props.readonly)}\n\t\t\t\tname={props.name}\n\t\t\t\tlabel={label}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\tshowCounter={showCounter}\n\t\t\t\tmessages={transformMessages(props.messages)}\n\t\t\t\tmaxlength={ignoreMaxlength ? undefined : maxlength}\n\t\t\t\trequired={props.required}\n\t\t\t\tdisabled={props.disabled}\n\t\t\t\treadonly={props.readonly}\n\t\t\t\tautofocus={props.autofocus}\n\t\t\t\tinvalid={props.invalid}\n\t\t\t\tautoresize\n\t\t\t\tmanage-invalid\n\t\t\t\tmanage-value\n\t\t\t\ton-mouseover={onMouseOver}\n\t\t\t\ton-mousedown={props.onMouseDown}\n\t\t\t\ton-mouseout={onMouseOut}\n\t\t\t\ton-input={onNDSChange}\n\t\t\t\ton-blur={onBlur}\n\t\t\t\ton-focus={props.onFocus}\n\t\t\t\thelperContent={wrapHelperContent(props.helperContent)}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\ttextarea: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t'aria-label': ariaLabel\n\t\t\t\t\t\t\t? t('{ariaLabel}. {maxlengthLabel}', {\n\t\t\t\t\t\t\t\t\tariaLabel,\n\t\t\t\t\t\t\t\t\tmaxlengthLabel\n\t\t\t\t\t\t\t\t}).trim()\n\t\t\t\t\t\t\t: maxlengthLabel\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tautoresizeRowsLimit={props.autoresizeLineLimit}\n\t\t\t\tresize={resizable ? 'vertical' : 'none'}\n\t\t\t\tfield-layout={fieldLayout}\n\t\t\t\tenableCaretSlot={enableCaretSlot && !props.readonly}\n\t\t\t\tdisableMaxHeight={fitToParent || disableMaxHeight}\n\t\t\t\tmask-config={maskConfig}\n\t\t\t\tcolor={color}\n\t\t\t>\n\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\t\tlabel\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t\t{renderHighlightedValue(props.highlightedValue, fieldLayout)}\n\t\t\t\t{renderDecorations(props)}\n\t\t\t\t{enableCaretSlot &&\n\t\t\t\t\t!props.readonly &&\n\t\t\t\t\t!props.disabled &&\n\t\t\t\t\tcomponentLoaded &&\n\t\t\t\t\trenderNowAssistContextMenu(\n\t\t\t\t\t\treferringRecordId,\n\t\t\t\t\t\treferringTable,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tnowAssistConfig,\n\t\t\t\t\t\tselectedText,\n\t\t\t\t\t\tdraftedText,\n\t\t\t\t\t\tprops\n\t\t\t\t\t)}\n\t\t\t<\/now-textarea>\n\t\t\t{showCounter && ignoreMaxlength && layout !== 'horizontal' ? (\n\t\t\t\t<CharacterCounter\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tmaxlength={props.maxlength}\n\t\t\t\t\treadonly={props.readonly}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\nconst renderInput = (props, children) => {\n\tconst {\n\t\talign,\n\t\treversed,\n\t\tname,\n\t\tcomponentId,\n\t\tdisabled,\n\t\tshowCounter,\n\t\tignoreMaxlength,\n\t\tmaxlength,\n\t\trole,\n\t\tconfigAria,\n\t\ttype,\n\t\tvalue,\n\t\tplaceholder,\n\t\tlabel,\n\t\thighlightedValue,\n\t\treadonly,\n\t\tautofocus,\n\t\thelperContent,\n\t\tinvalid,\n\t\tmax,\n\t\tdescription,\n\t\tmessages,\n\t\tmin,\n\t\trequired,\n\t\tstep,\n\t\tfieldLayout,\n\t\tonChange,\n\t\tonValueChange,\n\t\tonMouseOver,\n\t\tonMouseOut,\n\t\tonKeyPress,\n\t\tonFocus,\n\t\tonBlur,\n\t\thideRequiredIndicator,\n\t\tenableCaretSlot,\n\t\tcomponentLoaded,\n\t\treferringRecordId,\n\t\treferringTable,\n\t\tnowAssistConfig,\n\t\tselectedText,\n\t\tdraftedText,\n\t\tfieldRegex,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = props;\n\n\tconst propAriaLabel =\n\t\tprops['ariaLabel'] || props['aria-label'] || label || '';\n\tconst propAriaLabelledBy = propAriaLabel\n\t\t? null\n\t\t: props['ariaLabelledby'] || props['aria-labelledby'] || '';\n\tconst ignoremaxlength = isAttrTrue(ignoreMaxlength);\n\tconst maxlengthLabel = getMaxlengthLabel(ignoremaxlength, maxlength);\n\n\tlet resolvedPlaceholder =\n\t\t(Array.isArray(fieldRegex) && fieldRegex[0]?.placeholder) || placeholder;\n\n\tconst maskConfig =\n\t\tArray.isArray(fieldRegex) && fieldRegex[0]?.inputFormat\n\t\t\t? {\n\t\t\t\t\tmask: fieldRegex[0]?.inputFormat,\n\t\t\t\t\tmaskPlaceholder: fieldRegex[0]?.placeholder\n\t\t\t\t}\n\t\t\t: null;\n\n\treturn (\n\t\t<now-input\n\t\t\tslot=\"trigger\"\n\t\t\talign={\n\t\t\t\tprops.mobileKeypadType || (align === 'end' && reversed)\n\t\t\t\t\t? 'start'\n\t\t\t\t\t: align\n\t\t\t} // for number use case need to align placeholder and value in the start\n\t\t\tname={name}\n\t\t\tcomponentId={componentId}\n\t\t\tlabel={label}\n\t\t\ttype={\n\t\t\t\tArray.isArray(fieldRegex) && fieldRegex.length > 0\n\t\t\t\t\t? props.mobileKeypadType\n\t\t\t\t\t: type\n\t\t\t}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tdisabled={disabled}\n\t\t\t// STRY4883444: When showing character counter, do not enforce a maxLength\n\t\t\t// DEF0183625: For backwards compatibility in some other cases we do not want to enforce maxlength\n\t\t\tmaxlength={\n\t\t\t\tisAttrTrue(showCounter) || ignoremaxlength ? undefined : maxlength\n\t\t\t}\n\t\t\tconfigAria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...{\n\t\t\t\t\t\t'aria-label': propAriaLabel\n\t\t\t\t\t\t\t? t('{ariaLabel}. {maxlengthLabel}', {\n\t\t\t\t\t\t\t\t\tariaLabel: propAriaLabel,\n\t\t\t\t\t\t\t\t\tmaxlengthLabel\n\t\t\t\t\t\t\t\t}).trim()\n\t\t\t\t\t\t\t: maxlengthLabel,\n\t\t\t\t\t\t'aria-labelledby': propAriaLabelledBy\n\t\t\t\t\t},\n\t\t\t\t\trole: role || 'textbox',\n\t\t\t\t\t...configAria\n\t\t\t\t}\n\t\t\t}}\n\t\t\tvalue={toString(value)}\n\t\t\tplaceholder={resolvedPlaceholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tautofocus={autofocus}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tinvalid={invalid}\n\t\t\tmax={max}\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\tmin={min}\n\t\t\trequired={required}\n\t\t\thideRequiredIndicator={hideRequiredIndicator}\n\t\t\tstep={step}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tmanage-invalid\n\t\t\tmanage-value\n\t\t\ton-input={onNDSChange(onChange, onValueChange, name)}\n\t\t\ton-mouseover={onMouseOverEvent(onMouseOver)}\n\t\t\ton-mouseout={onMouseOutEvent(onMouseOut)}\n\t\t\ton-keypress={onKeyPress}\n\t\t\ton-focus={onFocusEvent(onFocus)}\n\t\t\ton-blur={onBlurEvent(onBlur, onValueChange)}\n\t\t\tenableCaretSlot={enableCaretSlot && !props.readonly}\n\t\t\tmask-config={maskConfig}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<slot name=\"left\" slot=\"start\">\n\t\t\t\t{children ? createSlot(children, 'left') : null}\n\t\t\t<\/slot>\n\t\t\t<slot name=\"controls\" slot=\"end\">\n\t\t\t\t{children ? createSlot(children, 'controls') : null}\n\t\t\t<\/slot>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\tlabel\n\t\t\t\t})\n\t\t\t)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(props)}\n\t\t\t{enableCaretSlot &&\n\t\t\t\t!props.readonly &&\n\t\t\t\t!props.disabled &&\n\t\t\t\tcomponentLoaded &&\n\t\t\t\trenderNowAssistContextMenu(\n\t\t\t\t\treferringRecordId,\n\t\t\t\t\treferringTable,\n\t\t\t\t\tname,\n\t\t\t\t\tnowAssistConfig,\n\t\t\t\t\tselectedText,\n\t\t\t\t\tdraftedText,\n\t\t\t\t\tprops,\n\t\t\t\t\t'input'\n\t\t\t\t)}\n\t\t<\/now-input>\n\t);\n};\n\nconst renderInputWithDropdown = (props, children) => {\n\tconst { showDropdownWithoutFocus, options, dropdown, highlightedIndex } =\n\t\tprops;\n\n\tconst transformedOptions = (props.options || []).map(option => ({\n\t\tid: option,\n\t\tlabel: option\n\t}));\n\treturn (\n\t\t<now-popover\n\t\t\tbare\n\t\t\tmanage-opened\n\t\t\topened={showDropdownWithoutFocus || !isEmpty(transformedOptions)}\n\t\t\tconstrain={{\n\t\t\t\tminHeight: 32,\n\t\t\t\tminWidth: 'target',\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tmaxHeight: 300\n\t\t\t}}\n\t\t\tinteraction-type=\"listbox\"\n\t\t\tdisable-scroll\n\t\t\thideTail\n\t\t>\n\t\t\t{renderInput(props, children)}\n\t\t\t{dropdown\n\t\t\t\t? dropdown\n\t\t\t\t: options && (\n\t\t\t\t\t\t<now-dropdown-list\n\t\t\t\t\t\t\tmanage-selected-items\n\t\t\t\t\t\t\tactiveItem={transformedOptions[highlightedIndex]?.id}\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\titems={transformedOptions}\n\t\t\t\t\t\t\tconfigAria={{ panel: {} }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}{' '}\n\t\t<\/now-popover>\n\t);\n};\n\nconst renderInputWithSuggestions = (props, children, render) => {\n\tconst {\n\t\tsuggestions,\n\t\tisSuggestionsOpened,\n\t\tselectedItem,\n\t\tactiveItemId,\n\t\ttype,\n\t\tnowId,\n\t\tlabel,\n\t\tdropdown,\n\t\toptions\n\t} = props;\n\n\tif (isEmpty(suggestions)) {\n\t\tif (type === 'textarea') {\n\t\t\treturn render();\n\t\t} else {\n\t\t\treturn renderInputWithDropdown(props, children);\n\t\t}\n\t} else {\n\t\tconst {\n\t\t\titems: suggestedItems = [],\n\t\t\tsectionLabel,\n\t\t\temptyMessage = NO_PREDICTIONS_AVAILABLE,\n\t\t\t...meta\n\t\t} = suggestions;\n\n\t\tif (!suggestedItems.length && (dropdown || options) && type !== 'textarea')\n\t\t\treturn renderInputWithDropdown(props, children);\n\n\t\tconst transformedSuggestions = {\n\t\t\tlabel: sectionLabel,\n\t\t\tchildren: suggestedItems.length\n\t\t\t\t? suggestedItems.map(item => ({\n\t\t\t\t\t\tid: item.value || item.displayValue,\n\t\t\t\t\t\tlabel: item.displayValue || item.value,\n\t\t\t\t\t\t...meta\n\t\t\t\t\t}))\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'disabled_emptyMessage',\n\t\t\t\t\t\t\tlabel: emptyMessage,\n\t\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t};\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\tmanage-opened\n\t\t\t\topened={isSuggestionsOpened}\n\t\t\t\tconstrain={{\n\t\t\t\t\tminHeight: 32,\n\t\t\t\t\tminWidth: 'target',\n\t\t\t\t\tmaxWidth: 'target',\n\t\t\t\t\tmaxHeight: 300\n\t\t\t\t}}\n\t\t\t\tinteraction-type=\"listbox\"\n\t\t\t\thideTail\n\t\t\t>\n\t\t\t\t{render(true)}\n\t\t\t\t{\n\t\t\t\t\t<now-dropdown-list\n\t\t\t\t\t\tdefer\n\t\t\t\t\t\tmanage-active-item\n\t\t\t\t\t\tmanage-selected-items\n\t\t\t\t\t\tselectedItems={[selectedItem]}\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\titems={[transformedSuggestions]}\n\t\t\t\t\t\tactive-item={activeItemId}\n\t\t\t\t\t\tconfigAria={{ panel: { 'aria-label': label } }}\n\t\t\t\t\t\tscreen-reader-id={\n\t\t\t\t\t\t\tisSuggestionsOpened ? `now-dropdown-list-${nowId}` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}{' '}\n\t\t\t<\/now-popover>\n\t\t);\n\t}\n};\n\nexport const Input = (props, children) => {\n\tconst {\n\t\tvalue,\n\t\tonFocus,\n\t\tonBlur,\n\t\tonValueChange,\n\t\tonChange,\n\t\tonMouseOver,\n\t\tinnerRef,\n\t\tonMouseOut,\n\t\tmaxlength,\n\t\treadonly,\n\t\tfieldLayout: { layout } = {}\n\t} = props;\n\tif (props.type === 'textarea') {\n\t\tconst renderTextareaElement = renderTextarea.bind(\n\t\t\tnull,\n\t\t\t{\n\t\t\t\t...props,\n\t\t\t\tonFocus: onFocusEvent(onFocus),\n\t\t\t\tonBlur: onBlurEvent(onBlur, onValueChange),\n\t\t\t\tonChange: onChangeEvent(onChange, onValueChange),\n\t\t\t\tonMouseOver: onMouseOverEvent(onMouseOver),\n\t\t\t\tonMouseOut: onMouseOutEvent(onMouseOut),\n\t\t\t\tonNDSChange: onNDSChange(onChange, onValueChange),\n\t\t\t\tsetInnerRef: setInnerRef(innerRef)\n\t\t\t},\n\t\t\tchildren\n\t\t);\n\t\treturn renderInputWithSuggestions(props, children, renderTextareaElement);\n\t}\n\tconst showCounter = isAttrTrue(props.showCounter);\n\tconst renderInputElement = renderInput.bind(null, props, children);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{renderInputWithSuggestions(props, children, renderInputElement)}\n\n\t\t\t{showCounter && layout !== 'horizontal' ? (\n\t\t\t\t<CharacterCounter\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tmaxlength={maxlength}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\nexport default Input;\n","import { omit, isFunction, extend } from 'lodash';\n\nimport Input from './Input';\nimport { CALLBACK_AND_DISPATCH } from '@devsnc/sn-controls-common';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-button';\n\n/**\n * Does what you'd expect an input field to do, with a few extra goodies.\n * - `controls`: Arbitrary content that gets inlined with the input. Often\n *   used to render buttons that perfom actions related to the field.\n * - `dropdown`: Content that is displayed only when the field has focus. Can\n *   be used to implement an autocomplete list, date picker, etc.\n *\n * Note that the state for this component must be handled by the parent\n */\nexport default function SNInput(state, { updateState }) {\n\tconst onValueChange = state.onValueChange || state.properties.onValueChange;\n\n\tconst attrs = extend(\n\t\tomit({ ...state.properties, ...state }, [\n\t\t\t'fetchDeclarativeActions',\n\t\t\t'dependentField',\n\t\t\t'canWrite',\n\t\t\t'dependentTable',\n\t\t\t'displayValue'\n\t\t])\n\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<Input\n\t\t\t\t{...attrs}\n\t\t\t\tonValueChange={onValueChange}\n\t\t\t\tupdateState={updateState}\n\t\t\t\tcomponentName=\"sn-record-input\"\n\t\t\t>\n\t\t\t\t<slot name=\"controls\" />\n\t\t\t<\/Input>\n\t\t<\/Fragment>\n\t);\n}\nexport const NOW_TEXTAREA_VALUE_SET = 'NOW_TEXTAREA#VALUE_SET';\nexport const NOW_TEXTAREA_INPUT = 'NOW_TEXTAREA#INPUT';\n\nexport const handleChange = ({\n\taction: {\n\t\tpayload: { name, value }\n\t},\n\tproperties: { onValueChange },\n\tdispatch\n}) => {\n\t// need to handle withValueChangeCallbacks\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onValueChange,\n\t\tisValueChanged: true,\n\t\tdispatchPayload: { name, value }\n\t});\n};\n\nexport const callParentOnChange = ({\n\taction: {\n\t\tpayload: { name, fieldValue }\n\t},\n\tproperties: { onChange }\n}) => {\n\tif (isFunction(onChange)) {\n\t\tonChange({ target: { name, value: fieldValue } });\n\t}\n};\n","import { createSlot } from '@servicenow/ui-renderer-snabbdom';\n\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\n\n/**\n * Container component allowing multiple inputs (or input-like components)\n * to be grouped together.\n */\nexport default function SNInputGroup(props, children) {\n\treturn (\n\t\t<ControlWrapper {...props}>\n\t\t\t{children ?\n\t\t\t\t(<div className=\"sn-control-group\">{createSlot(children)}<\/div>)\n\t\t\t\t:\n\t\t\t\t(<div className=\"sn-control-group\"><slot><\/slot><\/div>)\n\t\t\t}\n\t\t<\/ControlWrapper>\n\t);\n}\n","import { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nexport default {\n    name: 'trackBootstrapBehaviour',\n    properties: {\n        trackBootstrap: {\n            default: {},\n            schema: {\n                type: 'object'\n            }\n        },\n        referringRecordId: {\n            schema: {\n                type: 'string'\n            }\n        },\n        referringTable: {\n            schema: {\n                type: 'string'\n            }\n        },\n        type: {\n            schema: {\n                type: 'string'\n            }\n        },\n        label: {\n            schema: {\n                type: 'string'\n            }\n        }\n    },\n    actionHandlers: {\n        [COMPONENT_BOOTSTRAPPED]: {\n            effect({ dispatch, properties }) {\n                const { trackBootstrap, referringRecordId, referringTable, type, label } = properties;\n                if (trackBootstrap?.action) {\n                    const payload = {\n                        SysId: referringRecordId,\n                        Table: referringTable,\n                        FieldType: type,\n                        FieldLabel: label\n                    };\n                    dispatch(trackBootstrap.action, payload);\n                }\n            }\n        }\n    }\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\twithValueChangeCallbacksView,\n\tcreateWithValueChangeCallbackBehavior,\n\ttransformState,\n\tSeismicComponentFieldPropDefaults,\n\tSeismicComponentProps,\n\ttrackBehavior\n} from '@devsnc/sn-controls-common';\nimport style from './input.scss';\n\nimport {\n\tcallParentOnChange,\n\tdefault as SNInput,\n\thandleChange,\n\tNOW_TEXTAREA_VALUE_SET,\n\tNOW_TEXTAREA_INPUT\n} from './SNInput';\nimport { default as SNInputGroup } from './SNInputGroup';\nimport trackBootstrapBehavior from './behaviors/trackBootstrapBehavior';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\ncreateCustomElement('sn-record-input-group', {\n\tview: state => {\n\t\treturn SNInputGroup(state.properties);\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nconst actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tupdateState\n\t}) => {\n\t\tif (name === 'value' && previousValue !== value) {\n\t\t\tupdateState({ value });\n\t\t}\n\t},\n\t[NOW_TEXTAREA_VALUE_SET]: handleChange,\n\t[NOW_TEXTAREA_INPUT]: callParentOnChange,\n\t'SN_RECORD_CHOICE#VALUE_CHANGED': { stopPropagation: true },\n\t'SN_RECORD_CHOICE#STAGED_VALUE_CHANGED': { stopPropagation: true }\n};\n\n/**\n *Basic input variations (Note that in this demo each input shares the same\n`value` state):\n *\n *\n * ```jsx\n * initialState = {\n\tvalue: 'I am value'\n};\n\n<Fragment>\n\t<sn-record-input\n\t\tlabel=\"I am label\"\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t/>\n\n\t<sn-record-input\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t>\n\t\t<span slot=\"label\">\n\t\t\tI use a slot for my label, <u>allowing<\/u> <strong>complex<\/strong>{' '}\n\t\t\t<i>HTML<\/i>\n\t\t<\/span>\n\t<\/sn-record-input>\n\n\t<sn-record-input\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t>\n\t\t<span slot=\"label\">I am an input with controls<\/span>\n\t\t<button slot=\"controls\" type=\"button\">\n\t\t\t<now-icon icon=\"search\" />\n\t\t<\/button>\n\t<\/sn-record-input>\n\n\t<sn-record-input placeholder=\"I will show a dropdown when focused\">\n\t\t<span slot=\"label\">Focus me!<\/span>\n\t\t<ul slot=\"dropdown\">\n\t\t\t<li>Option 1<\/li>\n\t\t\t<li>Option 2<\/li>\n\t\t\t<li>Option 3<\/li>\n\t\t<\/ul>\n\t<\/sn-record-input>\n<\/Fragment>;\n * ```\n *\n *## Usage for SNInputGroup\n\n```jsx\n<sn-record-input-group>\n\t<sn-record-input value=\"input\" />\n\n\t<sn-record-choice\n\t\tplaceholder=\"choice\"\n\t\tchoices={[\n\t\t\t{ displayValue: 'A' },\n\t\t\t{ displayValue: 'B' },\n\t\t\t{ displayValue: 'C' }\n\t\t]}\n\t/>\n\n\t<now-record-time value=\"02:30\" format=\"hh:mm a\" />\n<\/sn-record-input-group>\n * ```\n *\n * @seismicElement sn-record-input\n * @summary Input Component\n *\n */\ncreateCustomElement('sn-record-input', {\n\tview: withValueChangeCallbacksView(SNInput),\n\tstyles: style,\n\tsetInitialState: ({ properties }) => ({\n\t\thasFocus: false,\n\t\tvalue: properties.value === true ? '' : properties.value\n\t}),\n\tactions: {\n\t\t[NOW_TEXTAREA_VALUE_SET]: { stopPropagation: true },\n\t\t[NOW_TEXTAREA_INPUT]: { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\ttrackBootstrapBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\ttransformState,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t...SeismicComponentProps,\n\t\t/**\n\t\t * The number of lines until texteditor should be autoresized when 'autoresize' property is set to true.\n\t\t */\n\t\tautoresizeLineLimit: {\n\t\t\tschema: {\n\t\t\t\ttype: ['number', 'null']\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * When rendering a textarea, the number of character rows that should be\n\t\t * displayed.\n\t\t */\n\t\trows: {},\n\n\t\t/**\n\t\t * When rendering a textarea, the number of character columns that should be\n\t\t * displayed.\n\t\t */\n\t\tcols: {},\n\n\t\t/**\n\t\t * Wrap rendering a textarea, this specifies how text should be wrapped.\n\t\t */\n\t\twrap: {},\n\n\t\t/**\n\t\t * The type of input to render. Note that while any HTML5 type is valid,\n\t\t * there are other form control components that will extend the default\n\t\t * behavior.  Using these higher-order components is often preferred to an\n\t\t * input with an explicit type.\n\t\t *\n\t\t * Use `type=\"auto\"` to enable the component to intelligently switch between\n\t\t * a regular input and a textarea.\n\t\t */\n\t\ttype: {},\n\n\t\t/**\n\t\t * When provided, aligns the input text to the end of the input.\n\t\t */\n\t\talign: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the minimum value that should be permitted.\n\t\t */\n\t\tmin: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the maximum value that should be permitted.\n\t\t */\n\t\tmax: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the minimum distance between 2 valid values.\n\t\t */\n\t\tstep: {},\n\n\t\t/**\n\t\t * Maximum number of characters to allow in the input.\n\t\t */\n\t\tmaxlength: {},\n\n\t\t/**\n\t\t * For backwards compatibility, some string fields should not enforce maxlength.\n\t\t * This is an internal property. Please do not use.\n\t\t *\n\t\t * @see https://support.servicenow.com/kb?id=kb_article_view&sys_kb_id=977420dbdbaee340f0612183ca961914\n\t\t * @private\n\t\t */\n\t\tignoreMaxlength: {},\n\n\t\t/**\n\t\t * When true, the input will be focused immediately upon being rendered.\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * When rendering a textarea, whether or not to show a character counter.\n\t\t */\n\t\tshowCounter: {},\n\t\t/**\n\t\t * When rendering a textarea, whether or not to show the resize handle. If true,\n\t\t * displays a vertical resize handle.\n\t\t */\n\t\tresizable: {},\n\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t */\n\t\tdisabled: {},\n\n\t\t/**\n\t\t * When provided, adds the sn-record-control variant to render\n\t\t */\n\t\tvariant: {},\n\t\tvalue: {},\n\n\t\t/**\n\t\t * When provided, allows the parent component to listen in on each input change\n\t\t */\n\t\tonChange: {},\n\t\tonBlur: {},\n\t\tonFocus: {},\n\t\tchildren: {},\n\t\tonKeyPress: {},\n\n\t\t/**\n\t\t * Content to use as dropdown\n\t\t */\n\t\tdropdown: {},\n\n\t\t/**\n\t\t * Content to use as the label\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * The `role` of the input element\n\t\t */\n\t\trole: {},\n\n\t\t/**\n\t\t * Whether FocusWatcher should listen for outside scroll event\n\t\t */\n\t\thandleOutsideScrollFocus: {},\n\n\t\t/**\n\t\t * Handle dropdowns the old way\n\t\t */\n\t\tfallbackDropdownBehavior: {},\n\t\tcreatedCallbacks: { default: false },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Flag that indicates whether the component fits to its parent's height. When true, the component is grown to its parent's height. Default: false.\n\t\t * @-type {boolean}\n\t\t */\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies the type of input control to render based on the expected value type.\n\t\t * This setting is applied only when `fieldRegex` mappings are present; otherwise, it defaults to `'text'`.\n\t\t *\n\t\t * @type {('email' | 'ip' | 'number' | 'text')}\n\t\t * @uib.description Defines the input field type, which can be one of the following: 'email', 'ip', 'number', or 'text' or `textarea` based on maxlength.\n\t\t */\n\t\tmobileKeypadType: {\n\t\t\tdefault: 'text',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['email', 'ip', 'number', 'text']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t}\n});\n\nexport { SNInput, SNInputGroup, actionHandlers };\nexport { default as Input } from './Input';\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"canRenderFieldAction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__.__esModule\n\t\t\t\t\tif (cjsModule && 'canRenderFieldAction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"].canRenderFieldAction;\n\t\t\t\t\t} else if ('canRenderFieldAction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__.canRenderFieldAction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_sn_declarative_actions_index_jsdbx_663bc22f__[\"default\"].canRenderFieldAction;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\nexport const oldIconToEDSIcon = {\n\tsearch: 'magnifying-glass-outline',\n\tphone: 'phone-outline',\n\t'info-circle': 'info-circle-outline'\n};\n\nconst getIcon = old => oldIconToEDSIcon[old] || old;\n\nconst view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\ticon: iconProp,\n\t\t\tdisabled = false,\n\t\t\tvariant = 'tertiary',\n\t\t\tsize = 'sm',\n\t\t\tbare = true,\n\t\t\ticonic = false,\n\t\t\tconfigAria = {},\n\t\t\treverseIconPlacement,\n\t\t\tlabel,\n\t\t\ttooltip\n\t\t}\n\t} = state;\n\n\tlet icon = getIcon(iconProp);\n\n\tlet ButtonComponent = 'now-button';\n\tif (bare && iconic) {\n\t\tButtonComponent += '-iconic';\n\t}\n\n\tlet children = reverseIconPlacement ? (\n\t\t<Fragment>\n\t\t\t{label && <span className=\"now-line-height-crop\">{label}<\/span>}\n\n\t\t\t{!iconic && icon && (\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"now-button-icon\"\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tsize={size}\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/Fragment>\n\t) : undefined;\n\n\treturn (\n\t\t<ButtonComponent\n\t\t\tlabel={label}\n\t\t\tsize={size}\n\t\t\ticon={icon}\n\t\t\ticon-name={icon}\n\t\t\ticon-start={icon}\n\t\t\tdisabled={isAttrTrue(disabled) ? true : undefined}\n\t\t\tvariant={variant}\n\t\t\tbare={bare}\n\t\t\ttooltipContent={tooltip}\n\t\t\tconfig-aria={{\n\t\t\t\t// handles when tooltip is undefined\n\t\t\t\t'aria-label': tooltip || '',\n\t\t\t\t// allow for explicit overrides of aria-label\n\t\t\t\t...configAria\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t<\/ButtonComponent>\n\t);\n};\n\nexport default view;\n","import { isFunction } from \"lodash\";\n\nexport const handleButtonClick = ({ state: { properties }, action }) => {\n\tlet { onClick } = properties;\n\n\tif (isFunction(onClick)) onClick(action);\n};\n\nexport const actionHandlers = {\n\t'NOW_BUTTON#CLICKED': { effect: handleButtonClick, stopPropagation: true },\n\t'NOW_BUTTON_BARE#CLICKED': {\n\t\teffect: handleButtonClick,\n\t\tstopPropagation: true\n\t},\n\t'NOW_BUTTON_ICONIC#CLICKED': {\n\t\teffect: handleButtonClick,\n\t\tstopPropagation: true\n\t}\n};","import { createCustomElement } from '@servicenow/ui-core';\nimport { transformState } from '@devsnc/sn-controls-common';\nimport { default as view } from './view';\nimport style from './style.scss';\nimport { actionHandlers } from './actionHandlers';\n\ncreateCustomElement('sn-record-control', {\n\tview,\n\tstyle,\n\tproperties: {\n\t\t/**\n\t\t * Text for the button\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Variant for the button\n\t\t * @type {string}\n\t\t */\n\t\tvariant: {},\n\n\t\t/**\n\t\t * Size of the button\n\t\t * @type {string}\n\t\t */\n\t\tsize: {},\n\n\t\t/**\n\t\t * placement of the button\n\t\t * @type {boolean}\n\t\t */\n\t\treverseIconPlacement: {},\n\n\t\t/**\n\t\t * type of the button\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: {},\n\n\t\t/**\n\t\t * Label for the tooltip\n\t\t * @type {string}\n\t\t */\n\t\ttooltip: {},\n\n\t\t/**\n\t\t * Icon for the control\n\t\t * @type {string}\n\t\t */\n\t\ticon: {},\n\n\t\t/**\n\t\t * Whether button is iconic\n\t\t * @type {boolean}\n\t\t */\n\t\ticonic: {},\n\n\t\t/**\n\t\t * ref callback to inner button element\n\t\t * @type {function}\n\t\t */\n\t\tinnerRef: {},\n\n\t\t/**\n\t\t * Click handler for the control\n\t\t * @type {function}\n\t\t */\n\t\tonClick: {},\n\n\t\t/**\n\t\t * Is the control disabled\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {},\n\n\t\t/**\n\t\t * aria-* attribute configuration\n\t\t * @type {object}\n\t\t */\n\t\tconfigAria: {},\n\n\t\t/**\n\t\t * Content to render within the control button\n\t\t * @type {node}\n\t\t */\n\t\tchildren: {}\n\t},\n\tactionHandlers: actionHandlers,\n\ttransformState\n});\n\nexport default view;\n","const LISTBOX_ATTR = 'data-sn-mentions-listbox';\n\n/**\n * Returns the shadow root of the now-textarea child element.\n * The native <textarea> lives here, so injecting into this shadow root\n * ensures aria-activedescendant resolves within the same shadow scope.\n * @param {HTMLElement} host - sn-record-journal-input host element\n * @returns {ShadowRoot|null}\n */\nfunction getNowTextareaShadow(host) {\n\tif (!host) return null;\n\treturn host.shadowRoot?.querySelector('now-textarea')?.shadowRoot ?? null;\n}\n\n/**\n * Creates or updates a visually-hidden listbox with one option per item\n * directly inside now-textarea's shadow root.\n * Because <textarea> is in that same shadow root, aria-activedescendant\n * can resolve the injected option IDs without any cross-shadow boundary issue.\n *\n * @param {HTMLElement} host\n * @param {{ listboxId: string, matchList: Array, highlightedIndex: number }} opts\n */\nexport function syncTextareaListbox(\n\thost,\n\t{ listboxId, matchList, highlightedIndex }\n) {\n\tconst shadow = getNowTextareaShadow(host);\n\tif (!shadow || !listboxId) return;\n\n\tconst items = matchList?.[0]?.children\n\t\t? matchList[0].children\n\t\t: matchList || [];\n\n\tif (!items.length) {\n\t\tshadow.querySelector(`[${LISTBOX_ATTR}]`)?.remove();\n\t\treturn;\n\t}\n\n\tlet listbox = shadow.querySelector(`[${LISTBOX_ATTR}]`);\n\tif (!listbox) {\n\t\tlistbox = document.createElement('div');\n\t\tlistbox.setAttribute(LISTBOX_ATTR, '');\n\t\tlistbox.id = `${listboxId}-listbox`;\n\t\tlistbox.setAttribute('role', 'listbox');\n\t\tlistbox.style.cssText =\n\t\t\t'position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;';\n\t\tshadow.appendChild(listbox);\n\t}\n\n\tlistbox.innerHTML = '';\n\titems.forEach((item, index) => {\n\t\tconst option = document.createElement('div');\n\t\toption.id = `${listboxId}-option-${item.id}`;\n\t\toption.setAttribute('role', 'option');\n\t\toption.setAttribute('aria-selected', String(index === highlightedIndex));\n\t\tif (item.label) option.textContent = item.label;\n\t\tlistbox.appendChild(option);\n\t});\n}\n\n/**\n * Removes the injected listbox from now-textarea's shadow root.\n * Call this when the dropdown closes.\n * @param {HTMLElement} host\n */\nexport function destroyTextareaListbox(host) {\n\tgetNowTextareaShadow(host)?.querySelector(`[${LISTBOX_ATTR}]`)?.remove();\n}\n","import { t } from 'sn-translate';\nexport const MESSAGE_CONSTRAINTS = {\n\theight: 72,\n\twidth: 288,\n\tminWidth: 288\n};\n\nexport const HOTKEY_TYPES = {\n\tMENTIONS: 'mentions',\n\tTEXT_COMMANDS_TRIGGER: 'text_commands_trigger',\n\tTEXT_COMMAND: 'text_command#'\n};\n\nexport const MATCH_LIST_CONSTRAINTS = {\n\t[HOTKEY_TYPES.MENTIONS]: {\n\t\tmaxHeight: 286,\n\t\twidth: 288,\n\t\tminWidth: 288\n\t},\n\t[HOTKEY_TYPES.TEXT_COMMANDS_TRIGGER]: {\n\t\tmaxHeight: 183,\n\t\twidth: 320,\n\t\tminWidth: 320\n\t},\n\t[HOTKEY_TYPES.TEXT_COMMAND]: {\n\t\tmaxHeight: 158,\n\t\twidth: 320,\n\t\tminWidth: 320\n\t}\n};\n\nexport const TEXT_COMMAND_ACTION_TYPES = {\n\tINSERT_CONTENT: 'insert_content',\n\tREPLACE_CONTENT: 'replace_content',\n\tCUSTOM_EVENT: 'custom_event'\n};\n\n//actions\nexport const SN_RECORD_JOURNAL_INPUT = {\n\tSHOW_MATCH_LIST: 'SN_RECORD_INPUT_JOURNAL#SHOW_MATCH_LIST',\n\tREAD_QUERY_RAN: 'SN_RECORD_JOURNAL_INPUT#READ_QUERY_RAN',\n\tOPENED_MATCH_LIST_ON_LAST_PREFIX:\n\t\t'SN_RECORD_JOURNAL_INPUT#OPENED_MATCH_LIST_ON_LAST_PREFIX',\n\tDROPDOWN_ITEM_SELECTED: 'SN_RECORD_JOURNAL_INPUT#DROPDOWN_ITEM_SELECTED',\n\tMATCH_LIST_HIDDEN: 'SN_RECORD_JOURNAL_INPUT#MATCH_LIST_HIDDEN'\n};\n\nexport const NOW_TEXTAREA = {\n\tINPUT: 'NOW_TEXTAREA#INPUT',\n\tVALUE_SET: 'NOW_TEXTAREA#VALUE_SET',\n\tINVALID_SET: 'NOW_TEXTAREA#INVALID_SET'\n};\n\nexport const NOW_DROPDOWN_LIST = {\n\tITEM_CLICKED: 'NOW_DROPDOWN_LIST#ITEM_CLICKED',\n\tACTIVE_ITEM_SET: 'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET'\n};\n\nexport const NOW_POPOVER = {\n\tOPENED_SET: 'NOW_POPOVER#OPENED_SET'\n};\n\nexport const VERTICAL_BUFFER = 8;\n\nexport const TEXT_COMMANDS_TRIGGER = '/';\nexport const TEXT_COMMANDS_HEADER = t('Keyboard Shortcuts');\n\nexport const fetchCommandsQuery = `\nquery ($table: String!, $sysId: String!, $type: String!, $fieldType: String) {\n  now {\n    textCommands {\n      actions(\n        recordTable: $table\n        recordSysId: $sysId\n        type: $type\n        fieldType: $fieldType\n      ) {\n        commandName\n        sysId\n        name\n        actionType\n      }\n    }\n  }\n}\n`;\n\nexport const invokeCommandQuery = `\n mutation ($table: String!, $sysId: String!, $commandId: String!, $query: String!) {\n  now {\n    textCommands {\n      invokeAction(\n        recordTable: $table\n        recordSysId: $sysId\n        commandId: $commandId\n        query: $query\n      ) {\n        message\n        header\n        templateMessage {\n          illustration\n          headingLabel\n          content\n        }\n        items {\n          ... on now_textCommands_InsertContentItems {\n            id\n            title\n            insertContent\n            displayContent\n            actionPayload\n            recommended\n          }\n          ... on now_textCommands_ReplaceContentItems {\n            id\n            title\n            replaceContent\n            displayContent\n            actionPayload\n            recommended\n          }\n          ... on now_textCommands_CustomEventItems {\n            id\n            title\n            customEvent\n            displayContent\n            actionPayload\n            recommended\n          }\n        }\n      }\n    }\n  }\n}\n`;\n\nexport const NO_MATCH_ANNOUNCEMENT_DELAY = 500;\n","import {\n\teach,\n\tisArray,\n\tisFunction,\n\tisObject,\n\tlast,\n\treduce,\n\ttoString,\n\tvalues,\n\tunescape,\n\tescapeRegExp\n} from 'lodash';\n\nimport { t } from 'sn-translate';\n\nimport { querySelectorDeep } from '@devsnc/sn-controls-common';\nimport {\n\tVERTICAL_BUFFER,\n\tMATCH_LIST_CONSTRAINTS,\n\tHOTKEY_TYPES as hk,\n\tTEXT_COMMANDS_TRIGGER,\n\tTEXT_COMMANDS_HEADER\n} from './constants';\n\n/**\n * Return value in server friendly format\n */\nexport const encode = (value, data, mentions) =>\n\treduce(\n\t\tmentions,\n\t\t(result, config, prefix) => {\n\t\t\treturn config.parse({\n\t\t\t\tvalue: result,\n\t\t\t\tprefix,\n\t\t\t\tselectedItems: values(data[prefix])\n\t\t\t});\n\t\t},\n\t\tvalue\n\t);\n\n/**\n * Ensures a mention config contains all of the expected properties\n */\nexport const assertValidMention = mention => {\n\tif (!isObject(mention)) {\n\t\tthrow new Error(\n\t\t\t`Invalid mention config: must be an object but got ${typeof mention}`\n\t\t);\n\t}\n\n\t// `variables` is the only optional config item\n\tif (mention.variables && !isFunction(mention.variables)) {\n\t\tthrow new Error(\n\t\t\t`Invalid type for mention config 'variables'. Expected function but got ${typeof mention.variables}`\n\t\t);\n\t}\n\n\teach(['mapResults', 'displayItem', 'format', 'parse'], prop => {\n\t\tif (!isFunction(mention[prop])) {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid type for mention config '${prop}'. Expected function but got ${typeof prop}`\n\t\t\t);\n\t\t}\n\t});\n};\n\nexport const findSearchSpace = (string, selectionStart, selectedItems = {}) => {\n\tconst valueUntilCursor = string.substring(0, selectionStart);\n\n\t// Look for the last mention trigger character ('@' or '#') before cursor\n\tconst lastTriggerIndex = Math.max(\n\t\tvalueUntilCursor.lastIndexOf('@'),\n\t\tvalueUntilCursor.lastIndexOf('#')\n\t);\n\n\t// Check if @ is part of an email by looking for characters before @\n\tconst charBeforeTrigger = valueUntilCursor.charAt(lastTriggerIndex - 1);\n\tif (\n\t\tcharBeforeTrigger &&\n\t\t/[a-zA-Z0-9._-]/.test(charBeforeTrigger) &&\n\t\tvalueUntilCursor[lastTriggerIndex] === '@'\n\t) {\n\t\treturn last(valueUntilCursor.split(/\\s+/));\n\t}\n\n\t// If we found a trigger character, check if we're modifying actual mention text\n\tif (lastTriggerIndex !== -1) {\n\t\tconst textAfterTrigger = valueUntilCursor.substring(lastTriggerIndex);\n\t\tconst prefixChar = textAfterTrigger.charAt(0);\n\t\tconst mentionText = textAfterTrigger.slice(1).trimEnd();\n\t\tconst selectedMentionValues = values(selectedItems?.[prefixChar] || {}).map(\n\t\t\titem => item?.value\n\t\t);\n\n\t\t// Check if the text after the mention contains a space - if so, user has moved on\n\t\t// and we should return the last token (for text commands like /)\n\t\tconst mentionWithSpaceAfter = selectedMentionValues.find(val => {\n\t\t\tif (!mentionText.startsWith(val)) return false;\n\t\t\tconst textAfterMention = mentionText.substring(val.length);\n\t\t\treturn /\\s/.test(textAfterMention);\n\t\t});\n\t\tif (mentionWithSpaceAfter) {\n\t\t\treturn last(valueUntilCursor.split(/\\s+/));\n\t\t}\n\n\t\t// Suppress if mentionText exactly matches or is directly extending a selected mention\n\t\t// e.g., \"@John Wick\" or \"@John Wickx\" - no space means still editing the mention\n\t\tconst editingMention = selectedMentionValues.find(\n\t\t\tval => mentionText === val || mentionText.startsWith(val)\n\t\t);\n\n\t\tif (editingMention) return '';\n\n\t\t// Return the last token if there are consecutive spaces or newline characters.\n\t\t// Single spaces (including those within a full name) keep the mention list open.\n\t\tif (textAfterTrigger.includes('  ') || /\\n/.test(textAfterTrigger)) {\n\t\t\treturn last(valueUntilCursor.split(/\\s+/));\n\t\t}\n\n\t\treturn textAfterTrigger;\n\t}\n\n\t// If no trigger found, return the last word\n\treturn last(valueUntilCursor.split(/\\s+/));\n};\n\n// TODO: Remove later when we can\nexport const normalizeMentions = mentions => {\n\tif (!isArray(mentions)) return mentions;\n\n\treturn reduce(\n\t\tmentions,\n\t\t(acc, { prefix, type }) => {\n\t\t\tacc[prefix] = type;\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n};\n\nexport const textCommandResultMapper = commands => {\n\tconst commandList = commands.map(command => {\n\t\treturn {\n\t\t\tid: command.sysId,\n\t\t\tlabel: `${TEXT_COMMANDS_TRIGGER}${command.commandName}`,\n\t\t\tsublabel: command.name,\n\t\t\tactionType: command.actionType\n\t\t};\n\t});\n\tif (!commandList.length) return [];\n\n\treturn [\n\t\t{\n\t\t\tlabel: TEXT_COMMANDS_HEADER,\n\t\t\tchildren: commandList\n\t\t}\n\t];\n};\n\nexport const filterMentions = (\n\tresult = [],\n\tpreloadMentions = [],\n\tsearchTerm = ''\n) => {\n\tif (!searchTerm) return [];\n\n\t// Ensure result and preloadMentions are arrays and filter the preloadMention\n\t// users based on whether their name or last name starts with the search term\n\tconst lowerCaseSearchTerm = searchTerm.toLowerCase();\n\tconst filteredResult = Array.isArray(result) ? result : [];\n\tconst filteredPreloadMentions = (\n\t\tArray.isArray(preloadMentions) ? preloadMentions : []\n\t).filter(user => {\n\t\tconst userName = user.name ? user.name.toLowerCase() : '';\n\t\tconst userLastName = user.lastname ? user.lastname.toLowerCase() : '';\n\t\treturn (\n\t\t\tuserName.startsWith(lowerCaseSearchTerm) ||\n\t\t\tuserLastName.startsWith(lowerCaseSearchTerm)\n\t\t);\n\t});\n\n\t// Combine results and preload mentions into a Map by sys_id to ensure unique users\n\tconst userMap = new Map(\n\t\t[...filteredPreloadMentions, ...filteredResult]\n\t\t\t.filter(user => user?.sys_id) // Keep users with valid sys_id\n\t\t\t.map(user => [user.sys_id, user]) // Map to [sys_id, user] pairs for uniqueness\n\t);\n\t// Filter users based on whether their name or last name starts with the search term\n\treturn Array.from(userMap.values());\n};\n\nexport const displayFormat = (value, mentions) => {\n\treturn reduce(\n\t\tmentions,\n\t\t(result, config, prefix) => {\n\t\t\treturn config.format({ value: result, prefix });\n\t\t},\n\t\ttoString(value)\n\t);\n};\n\nexport const BUILT_IN_MENTIONS = {\n\tusers: {\n\t\ttype: hk.MENTIONS,\n\t\t// Maps the response to something usable. For each entry, the\n\t\t// following keys are supported:\n\t\t//\n\t\t// - id {String} unique id for the item. (required)\n\t\t// - value {String} Primary display value for the item (optional)\n\t\t// - secondary {String} Secondary display value for the item (optional)\n\t\t// - initials {String} Placeholder initials for the avatar (optional)\n\t\t// - image {String} Image for the avatar (optional)\n\t\tmapResults: data => {\n\t\t\treturn data.map(user => {\n\t\t\t\tconst { avatar, name, sys_id: id, record_is_visible, email } = user;\n\n\t\t\t\tconst sublabel =\n\t\t\t\t\trecord_is_visible === false ? t('Cannot access record') : email;\n\n\t\t\t\treturn {\n\t\t\t\t\tid,\n\t\t\t\t\tlabel: name,\n\t\t\t\t\tsublabel,\n\t\t\t\t\tavatarProps: {\n\t\t\t\t\t\timageSrc: toString(avatar),\n\t\t\t\t\t\tuserName: name\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\t\t// How to display a new item in the text input.\n\t\t// - item {Object} The item to display. Same data as one of the elements\n\t\t// returned from `mapResults`.\n\t\tdisplayItem: ({ item, prefix }) => `${prefix}${item.value}`,\n\n\t\t// How to pull initial data from the value string. Should return data in the same\n\t\t// format as `mapResults`.\n\t\tgetItemsFromInitialValue: ({ value, prefix }) => {\n\t\t\tconst re = new RegExp(\n\t\t\t\t`${escapeRegExp(prefix)}\\\\[([^:]+):([^\\\\]]+)\\\\]`,\n\t\t\t\t'g'\n\t\t\t);\n\t\t\tconst items = [];\n\t\t\tlet match;\n\t\t\tdo {\n\t\t\t\tmatch = re.exec(value);\n\t\t\t\tif (match) {\n\t\t\t\t\titems.push({\n\t\t\t\t\t\tid: match[1],\n\t\t\t\t\t\tvalue: match[2]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} while (match);\n\n\t\t\treturn items;\n\t\t},\n\n\t\t// Maps the raw value (from server) to display format.\n\t\tformat: ({ value, prefix }) =>\n\t\t\tvalue.replace(\n\t\t\t\tnew RegExp(`(${escapeRegExp(prefix)})\\\\[[^:]+:([^\\\\]]+)\\\\]`, 'g'),\n\t\t\t\t'$1$2'\n\t\t\t),\n\n\t\t// Maps the current display value back to server format.\n\t\t// - selectedItems {item[]} A list of all items that the user has chosen\n\t\t// from the matchlist dropdown.\n\t\tparse: ({ value, prefix, selectedItems }) => {\n\t\t\treturn reduce(\n\t\t\t\tselectedItems,\n\t\t\t\t(result, { value, id }) => {\n\t\t\t\t\treturn result.replace(\n\t\t\t\t\t\tnew RegExp(\n\t\t\t\t\t\t\t'(^|\\\\s|\\\\b)' + escapeRegExp(`${prefix}${value}`) + '(\\\\s|\\\\b|$)',\n\t\t\t\t\t\t\t'g'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t`$1${prefix}[${id}:${value}]$2`\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tvalue\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport function getCaretPosition(inputEl, { offset = 0 } = {}) {\n\t/**\n\t * Clone textarea/input styles to a dummy div.\n\t * Append the text value of the textarea/input\n\t * into the dummy div, and then insert a span.\n\t *\n\t * The position of this span corresponds with\n\t * the position of the caret.\n\t *\n\t * Dummy div is immediately removed after\n\t * position is determined.\n\t */\n\tlet carPos = inputEl.selectionStart + offset;\n\tconst div = document.createElement('div');\n\tconst span = document.createElement('span');\n\tconst copyStyle = getComputedStyle(inputEl);\n\n\tArray.prototype.forEach.call(\n\t\tcopyStyle,\n\t\tprop => (div.style[prop] = copyStyle[prop])\n\t);\n\n\tdiv.style.position = 'absolute';\n\t// subtract 1 in the case of a newline\n\tdiv.textContent = inputEl.value.substr(0, carPos - 1);\n\tdiv.appendChild(span);\n\tspan.textContent = inputEl.value.substr(carPos) || '.';\n\tdocument.body.appendChild(div);\n\n\tconst inputDim = inputEl.getBoundingClientRect();\n\n\tconst coords = {\n\t\tTOP: span.offsetTop - inputEl.scrollTop + inputDim.top + span.offsetHeight,\n\t\tLEFT: span.offsetLeft + inputDim.left\n\t};\n\tdocument.body.removeChild(div);\n\treturn coords;\n}\n\nexport function getMatchListOffset(inputEl, layout, activePrefix) {\n\tconst OVERFLOW_MARGIN = 40;\n\n\tlet matchListWidth;\n\tif (activePrefix.type.startsWith(`${hk.TEXT_COMMAND}`))\n\t\tmatchListWidth = MATCH_LIST_CONSTRAINTS[hk.TEXT_COMMAND].width;\n\telse matchListWidth = MATCH_LIST_CONSTRAINTS[activePrefix.type].width;\n\n\tlet inputLabelWidth = 0,\n\t\tappliedOverflow = 0;\n\tconst cursorOffset = getCaretPosition(inputEl);\n\tconst initialContentPos = inputEl.getBoundingClientRect();\n\tconst parentRight = initialContentPos.right;\n\n\tif (layout === 'horizontal') {\n\t\t// When layout is horizontal, the input component is laid out using a grid with label-start, field and label-end.\n\t\t// To calculate the left offset, we use the label-start width and inline margin end of label-start.\n\t\tconst labelStart = querySelectorDeep(\n\t\t\t'div.now-form-field-label',\n\t\t\tinputEl.parentElement\n\t\t);\n\t\tconst marginInlineEnd = parseInt(\n\t\t\twindow.getComputedStyle(labelStart).marginInlineEnd.match(/\\d+/)[0]\n\t\t);\n\t\tinputLabelWidth = labelStart.offsetWidth + marginInlineEnd;\n\t} else {\n\t\tconst overflow =\n\t\t\tcursorOffset.LEFT + matchListWidth + OVERFLOW_MARGIN - parentRight;\n\t\tappliedOverflow =\n\t\t\toverflow > 0 && parentRight > matchListWidth ? overflow : 0;\n\t}\n\treturn {\n\t\ttop: cursorOffset.TOP - initialContentPos.bottom + VERTICAL_BUFFER,\n\t\tleft:\n\t\t\tinitialContentPos.x +\n\t\t\tappliedOverflow -\n\t\t\tcursorOffset.LEFT -\n\t\t\tinputLabelWidth\n\t};\n}\n//converts html content returned from text command APIs to plain text. Check out unit tests\nexport const stripTags = str => {\n\tif (!str) return str;\n\tconst sanitized = str.replace(/(<([^>]+)>)/gi, '').replace(/&nbsp;/gi, ' ');\n\n\treturn unescape(sanitized);\n};\n","export const SN_RECORD_INPUT_CONNECTED_ACTIONS = {\n\tON_BLUR: 'SN_RECORD_INPUT_CONNECTED#INTERNAL_ON_BLUR',\n\tON_CHANGE: 'SN_RECORD_INPUT_CONNECTED#INTERNAL_ON_CHANGE'\n};\n\nexport const NOW_INPUT_ACTIONS = {\n\tINVALID_SET: 'NOW_INPUT#INVALID_SET',\n\tINPUT: 'NOW_INPUT#INPUT'\n};\n\nexport const AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED =\n\t'AUTO_COMPLETE_INTERNAL#DROPDOWN_ITEM_SELECTED';\n","import { debounce, isFunction, escapeRegExp } from 'lodash';\nimport { t } from 'sn-translate';\nimport {\n\tsyncTextareaListbox,\n\tdestroyTextareaListbox\n} from './textareaScreenReader';\n\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tactionTypes,\n\tdeclarativeOperations,\n\tmodifierTypes\n} from '@servicenow/ui-core';\n\nimport {\n\tencode,\n\tfindSearchSpace,\n\tgetMatchListOffset,\n\tfilterMentions,\n\tBUILT_IN_MENTIONS,\n\tstripTags\n} from './mentionsUtils';\nimport {\n\tNOW_DROPDOWN_LIST,\n\tNOW_POPOVER,\n\tNOW_TEXTAREA,\n\tSN_RECORD_JOURNAL_INPUT,\n\tHOTKEY_TYPES as hk,\n\tTEXT_COMMANDS_TRIGGER,\n\tMATCH_LIST_CONSTRAINTS,\n\tTEXT_COMMAND_ACTION_TYPES,\n\tfetchCommandsQuery,\n\tinvokeCommandQuery,\n\tNO_MATCH_ANNOUNCEMENT_DELAY\n} from './constants';\n\nimport { SN_RECORD_INPUT_CONNECTED_ACTIONS } from '../constants';\nimport { displayFormat } from './mentionsUtils';\n\nexport const FETCH_MENTIONS = 'FETCH_MENTIONS';\nconst FETCH_MENTIONS_START = 'FETCH_MENTIONS_START';\nconst FETCH_MENTIONS_SUCCESS = 'FETCH_MENTIONS_SUCCESS';\nconst FETCH_MENTIONS_FAILURE = 'FETCH_MENTIONS_FAILURE';\nconst MENTION_API = 'api/now/form/mention/record/:recordTable/:recordId';\n\nconst FETCH_TEXT_COMMANDS = 'FETCH_TEXT_COMMANDS';\nconst FETCH_TEXT_COMMANDS_START = 'FETCH_TEXT_COMMANDS_START';\nconst FETCH_TEXT_COMMANDS_SUCCESS = 'FETCH_TEXT_COMMANDS_SUCCESS';\nconst FETCH_TEXT_COMMANDS_FAILURE = 'FETCH_TEXT_COMMANDS_FAILURE';\n\nconst INVOKE_TEXT_COMMAND = 'INVOKE_TEXT_COMMAND';\nconst INVOKE_TEXT_COMMAND_START = 'INVOKE_TEXT_COMMAND_START';\nconst INVOKE_TEXT_COMMAND_SUCCESS = 'INVOKE_TEXT_COMMAND_SUCCESS';\nconst INVOKE_TEXT_COMMAND_FAILURE = 'INVOKE_TEXT_COMMAND_FAILURE';\nconst NO_MATCH_ANNOUNCEMENT_REQUESTED =\n\t'SN_RECORD_JOURNAL_INPUT#NO_MATCH_ANNOUNCEMENT_REQUESTED';\n\n// “trim out stale items.”\n// In this context, we drop any mention entries in selectedItems whose text no longer appears in the current editor value.\n// We need this so that when you delete a mention from the text (e.g., backspace over it) and retype others,\n// the internal selectedItems state doesn’t keep old mentions that no longer exist in the text.\n// This keeps the match list, encoding, and selections in sync with what the user actually sees.\nconst filterSelectedItemsForValue = (displayValue = '', selectedItems = {}) => {\n\tlet changed = false;\n\n\tconst filtered = Object.entries(selectedItems).reduce(\n\t\t(acc, [prefix, items]) => {\n\t\t\tconst kept = Object.entries(items || {}).reduce((map, [id, item]) => {\n\t\t\t\tconst value = item?.value;\n\t\t\t\tif (!value) return map;\n\n\t\t\t\t// Keep the item if:\n\t\t\t\t// 1. Exact match with boundary (e.g., \"@John Wick \" or \"@John Wick,\" or \"@John Wick\" at end)\n\t\t\t\t// 2. Text starts with the mention and continues (e.g., \"@John Wickx\") - user is extending\n\t\t\t\tconst exactPattern = new RegExp(\n\t\t\t\t\t`${escapeRegExp(prefix)}${escapeRegExp(value)}(\\\\s|$|[.,!?;:])`\n\t\t\t\t);\n\t\t\t\tconst startsWithPattern = new RegExp(\n\t\t\t\t\t`${escapeRegExp(prefix)}${escapeRegExp(value)}.`\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\texactPattern.test(displayValue) ||\n\t\t\t\t\tstartsWithPattern.test(displayValue)\n\t\t\t\t) {\n\t\t\t\t\tmap[id] = item;\n\t\t\t\t} else {\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t\treturn map;\n\t\t\t}, {});\n\n\t\t\tif (Object.keys(kept).length) acc[prefix] = kept;\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n\n\treturn { selectedItems: filtered, changed };\n};\n\nconst announceLiveRegion = (dispatch, message) => {\n\tif (!dispatch || !message) return;\n\tdispatch(actionTypes.ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype: 'polite',\n\t\treplaceContent: true\n\t});\n};\n\nconst scheduleNoMatchAnnouncement = (dispatch, message) => {\n\tif (!dispatch || !message) return;\n\tdispatch(NO_MATCH_ANNOUNCEMENT_REQUESTED, { message });\n};\n\nconst cancelNoMatchAnnouncement = dispatch => {\n\tif (!dispatch) return;\n\tdispatch(NO_MATCH_ANNOUNCEMENT_REQUESTED, { message: '' });\n};\n\nexport const actionHandlers = {\n\t[NO_MATCH_ANNOUNCEMENT_REQUESTED]: {\n\t\teffect({ action, dispatch }) {\n\t\t\tconst { message } = action.payload || {};\n\t\t\tif (!message) return;\n\t\t\tannounceLiveRegion(dispatch, message);\n\t\t},\n\t\tmodifier: {\n\t\t\tname: modifierTypes.DEBOUNCE,\n\t\t\tdelay: NO_MATCH_ANNOUNCEMENT_DELAY,\n\t\t\tmaxWait: NO_MATCH_ANNOUNCEMENT_DELAY + 50,\n\t\t\tcollate: false\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({ action, updateState }) => {\n\t\tconst { name, value } = action;\n\t\tconst queryDispatcher = (inputVal = '', dispatch) => {\n\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.READ_QUERY_RAN, { inputVal });\n\t\t};\n\t\tif (name == 'searchDebounce') {\n\t\t\tupdateState({\n\t\t\t\tdebouncedQueryDispatcher: debounce(queryDispatcher, value)\n\t\t\t});\n\t\t}\n\t},\n\t[FETCH_MENTIONS]: createHttpEffect(MENTION_API, {\n\t\tmethod: 'GET',\n\t\tqueryParams: ['term'],\n\t\tpathParams: ['recordTable', 'recordId'],\n\t\tstartActionType: FETCH_MENTIONS_START,\n\t\tsuccessActionType: FETCH_MENTIONS_SUCCESS,\n\t\terrorActionType: FETCH_MENTIONS_FAILURE\n\t}),\n\n\t[FETCH_MENTIONS_START]: ({ updateState, dispatch }) => {\n\t\tupdateState({ resultsLoading: true });\n\t\tcancelNoMatchAnnouncement(dispatch);\n\t\tannounceLiveRegion(dispatch, t('Loading'));\n\t},\n\n\t[FETCH_MENTIONS_SUCCESS]: ({\n\t\tupdateState,\n\t\tstate,\n\t\taction,\n\t\tdispatch,\n\t\thost\n\t}) => {\n\t\tconst { result } = action.payload;\n\t\tconst {\n\t\t\tactivePrefix,\n\t\t\tsearchTerm,\n\t\t\thighlightedIndex,\n\t\t\tlistboxId,\n\t\t\tproperties: { preloadMentions }\n\t\t} = state;\n\t\tconst filteredUsers = filterMentions(result, preloadMentions, searchTerm);\n\t\tupdateState({ resultsLoading: false });\n\t\tif (activePrefix) {\n\t\t\tconst newMatchList = activePrefix.mapResults(filteredUsers);\n\t\t\tupdateState({ matchList: newMatchList });\n\t\t\tsyncTextareaListbox(host, {\n\t\t\t\tlistboxId,\n\t\t\t\tmatchList: newMatchList,\n\t\t\t\thighlightedIndex\n\t\t\t});\n\t\t\tif (!filteredUsers.length) {\n\t\t\t\tscheduleNoMatchAnnouncement(dispatch, t('No matches found'));\n\t\t\t} else {\n\t\t\t\tcancelNoMatchAnnouncement(dispatch);\n\t\t\t}\n\t\t}\n\t},\n\n\t[FETCH_MENTIONS_FAILURE]: ({ updateState, dispatch }) => {\n\t\tupdateState({\n\t\t\tresultsLoading: false\n\t\t});\n\t\tcancelNoMatchAnnouncement(dispatch);\n\t},\n\n\t[FETCH_TEXT_COMMANDS]: createGraphQLEffect(fetchCommandsQuery, {\n\t\tvariableList: ['table', 'sysId', 'type', 'fieldType'],\n\t\tstartActionType: FETCH_TEXT_COMMANDS_START,\n\t\tsuccessActionType: FETCH_TEXT_COMMANDS_SUCCESS,\n\t\terrorActionType: FETCH_TEXT_COMMANDS_FAILURE\n\t}),\n\n\t[FETCH_TEXT_COMMANDS_START]: ({ updateState, dispatch }) => {\n\t\tupdateState({ resultsLoading: true, opened: true });\n\t\tcancelNoMatchAnnouncement(dispatch);\n\t\tannounceLiveRegion(dispatch, t('Loading...'));\n\t},\n\n\t[FETCH_TEXT_COMMANDS_SUCCESS]: ({ updateState, action, state, dispatch }) => {\n\t\tconst textCommands = action.payload?.data?.now?.textCommands?.actions || [];\n\t\tconst { hotkeys, activePrefix, searchTerm } = state;\n\t\tlet updatedHotkeys = {};\n\t\tif (textCommands.length) {\n\t\t\t//process fetched textCommands and add to hotkeys\n\t\t\tupdatedHotkeys = { ...hotkeys };\n\t\t\ttextCommands.forEach(cmd => {\n\t\t\t\tupdatedHotkeys[`${TEXT_COMMANDS_TRIGGER}${cmd.commandName}`] = {\n\t\t\t\t\ttype: `${hk.TEXT_COMMAND}${cmd.name.replace(/\\s+/g, '_')}`,\n\t\t\t\t\tname: cmd.name,\n\t\t\t\t\tprefix: `${TEXT_COMMANDS_TRIGGER}${cmd.commandName}`,\n\t\t\t\t\tactionType: cmd.actionType,\n\t\t\t\t\tcommandId: cmd.sysId\n\t\t\t\t};\n\t\t\t});\n\t\t} else {\n\t\t\t// remove textCommandTrigger from hotkeys\n\t\t\tupdatedHotkeys = Object.keys(hotkeys).reduce((acc, key) => {\n\t\t\t\tif (key !== TEXT_COMMANDS_TRIGGER) {\n\t\t\t\t\tacc[key] = hotkeys[key];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {});\n\t\t}\n\t\tlet filteredTextCommands = textCommands;\n\t\tif (searchTerm) {\n\t\t\tfilteredTextCommands = textCommands.filter(cmd => {\n\t\t\t\treturn cmd.commandName\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.startsWith(searchTerm.toLowerCase());\n\t\t\t});\n\t\t}\n\t\tupdateState({\n\t\t\tresultsLoading: false,\n\t\t\ttextCommandsFetched: true,\n\t\t\thotkeys: updatedHotkeys,\n\t\t\ttextCommands,\n\t\t\tmatchList: activePrefix.mapResults(filteredTextCommands)\n\t\t});\n\t\tif (!filteredTextCommands.length) {\n\t\t\tscheduleNoMatchAnnouncement(dispatch, t('No text commands found.'));\n\t\t} else {\n\t\t\tcancelNoMatchAnnouncement(dispatch);\n\t\t}\n\t},\n\n\t[FETCH_TEXT_COMMANDS_FAILURE]: ({ updateState, state, dispatch }) => {\n\t\tconst { hotkeys } = state;\n\t\t// remove textCommandTrigger from hotkeys\n\t\tlet updatedHotkeys = Object.keys(hotkeys).reduce((acc, key) => {\n\t\t\tif (key !== TEXT_COMMANDS_TRIGGER) {\n\t\t\t\tacc[key] = hotkeys[key];\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, {});\n\t\tupdateState({\n\t\t\tresultsLoading: false,\n\t\t\ttextCommandsFetched: true,\n\t\t\thotkeys: updatedHotkeys,\n\t\t\ttextCommands: [],\n\t\t\tmatchList: []\n\t\t});\n\t\tcancelNoMatchAnnouncement(dispatch);\n\t\tannounceLiveRegion(dispatch, t('No text commands found.'));\n\t},\n\n\t[INVOKE_TEXT_COMMAND]: createGraphQLEffect(invokeCommandQuery, {\n\t\tvariableList: ['table', 'sysId', 'commandId', 'query'],\n\t\tstartActionType: INVOKE_TEXT_COMMAND_START,\n\t\tsuccessActionType: INVOKE_TEXT_COMMAND_SUCCESS,\n\t\terrorActionType: INVOKE_TEXT_COMMAND_FAILURE\n\t}),\n\n\t[INVOKE_TEXT_COMMAND_START]: ({ updateState, dispatch }) => {\n\t\tupdateState({\n\t\t\tmatchList: [],\n\t\t\tresultsLoading: true,\n\t\t\topened: true,\n\t\t\tmessage: null,\n\t\t\ttemplateMessage: null\n\t\t});\n\t\tannounceLiveRegion(dispatch, t('Loading...'));\n\t},\n\t[INVOKE_TEXT_COMMAND_SUCCESS]: ({ updateState, action, dispatch }) => {\n\t\tconst { templateMessage, message, header, items } =\n\t\t\taction.payload?.data?.now?.textCommands?.invokeAction || {};\n\t\tlet announcementMessage = '';\n\n\t\tif (items && items.length) {\n\t\t\tlet matchList = items.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\tid: item.id,\n\t\t\t\t\tlabel: item.title,\n\t\t\t\t\tsublabel: (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\ttextOverflow: 'ellipsis',\n\t\t\t\t\t\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\tmaxWidth: `${MATCH_LIST_CONSTRAINTS[hk.TEXT_COMMAND].width}px`\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{stripTags(item.displayContent)}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tinsertContent: stripTags(item.insertContent),\n\t\t\t\t\treplaceContent: stripTags(item.replaceContent),\n\t\t\t\t\tcustomEvent: item.customEvent,\n\t\t\t\t\tactionPayload: item.actionPayload,\n\t\t\t\t\trecommended: item.recommended\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tif (header) {\n\t\t\t\tmatchList = [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: header,\n\t\t\t\t\t\tchildren: matchList\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t}\n\t\t\tupdateState({\n\t\t\t\tmatchList,\n\t\t\t\ttemplateMessage: null,\n\t\t\t\tmessage: null\n\t\t\t});\n\t\t} else if (templateMessage) {\n\t\t\tupdateState({ templateMessage });\n\t\t\tannouncementMessage = [\n\t\t\t\ttemplateMessage.headingLabel,\n\t\t\t\ttemplateMessage.content\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join('. ');\n\t\t} else if (message) {\n\t\t\tupdateState({ message });\n\t\t\tannouncementMessage = message;\n\t\t} else {\n\t\t\tannouncementMessage = t('No results found');\n\t\t}\n\n\t\tupdateState({ resultsLoading: false });\n\t\tannounceLiveRegion(dispatch, announcementMessage);\n\t},\n\t[INVOKE_TEXT_COMMAND_FAILURE]: ({ updateState }) => {\n\t\tupdateState({ resultsLoading: false });\n\t},\n\n\t[NOW_TEXTAREA.INPUT]: {\n\t\teffect({ host, action = {}, state, dispatch, updateState }) {\n\t\t\t/* eslint-disable-next-line no-unsafe-optional-chaining */\n\t\t\tconst { fieldValue } = action?.payload;\n\t\t\tconst {\n\t\t\t\tmentions,\n\t\t\t\tactivePrefixPosition,\n\t\t\t\tselectedItems: selectedItemsState,\n\t\t\t\tdebouncedQueryDispatcher,\n\t\t\t\ttextCommandsFetched,\n\t\t\t\ttextCommands\n\t\t\t} = state;\n\n\t\t\tlet selectedItems = selectedItemsState;\n\t\t\tconst {\n\t\t\t\tselectedItems: filteredSelectedItems,\n\t\t\t\tchanged: selectedItemsChanged\n\t\t\t} = filterSelectedItemsForValue(fieldValue, selectedItemsState);\n\t\t\tif (selectedItemsChanged) {\n\t\t\t\tselectedItems = filteredSelectedItems;\n\t\t\t\tupdateState({ selectedItems });\n\t\t\t}\n\n\t\t\tlet { activePrefix } = state;\n\n\t\t\t// TODO: Replace with fieldElement from payload once DEF0329308 is fixed.\n\t\t\tconst textarea = host.shadowRoot\n\t\t\t\t.querySelector('now-textarea')\n\t\t\t\t.shadowRoot.querySelector('textarea');\n\n\t\t\tif (activePrefix?.type === hk.TEXT_COMMANDS_TRIGGER) {\n\t\t\t\tif (textCommandsFetched && !textCommands.length) {\n\t\t\t\t\t//If we already know that there are no text commands, hide the match list when the user starts typing\n\t\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t\t\t\tactivePrefix = null;\n\t\t\t\t\t//although activePrefix gets set to null in match_list_hidden,\n\t\t\t\t\t//we do it here as well to avoid entering the if and setting searchTerm etc\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t//if the prefix is already active, append it to the search term and execute debounced query\n\t\t\tif (activePrefix) {\n\t\t\t\tif (textarea.selectionStart < activePrefixPosition) {\n\t\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.OPENED_MATCH_LIST_ON_LAST_PREFIX, {\n\t\t\t\t\t\ttextarea,\n\t\t\t\t\t\tfieldValue\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// Perform state updates first\n\t\t\t\t\tconst searchTerm = fieldValue.substring(\n\t\t\t\t\t\tactivePrefixPosition,\n\t\t\t\t\t\ttextarea.selectionStart\n\t\t\t\t\t);\n\t\t\t\t\t//Not trimming so that we can use the hasDoubleSpaceEnding feature\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(activePrefix.prefix === '@' || activePrefix.prefix === '#') &&\n\t\t\t\t\t\tsearchTerm.trim() === '' &&\n\t\t\t\t\t\tfieldValue.charAt(activePrefixPosition - 1) !== '@' &&\n\t\t\t\t\t\tfieldValue.charAt(activePrefixPosition - 1) !== '#'\n\t\t\t\t\t) {\n\t\t\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tdebouncedQueryDispatcher(searchTerm, dispatch);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.OPENED_MATCH_LIST_ON_LAST_PREFIX, {\n\t\t\t\t\ttextarea,\n\t\t\t\t\tfieldValue\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'stagedValue',\n\t\t\t\tvalue: fieldValue,\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tshouldRender: false\n\t\t\t});\n\n\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_CHANGE, {\n\t\t\t\tfieldValue: encode(fieldValue, selectedItems, mentions)\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_JOURNAL_INPUT.SHOW_MATCH_LIST]: {\n\t\teffect({ state, action, updateState, properties, dispatch }) {\n\t\t\tconst {\n\t\t\t\ttextarea,\n\t\t\t\tactivePrefix,\n\t\t\t\tactivePrefixPosition,\n\t\t\t\ttrailingInput,\n\t\t\t\tsearchTerm = ''\n\t\t\t} = action.payload;\n\t\t\tconst { textCommandsFetched, textCommands, debouncedQueryDispatcher } =\n\t\t\t\tstate;\n\t\t\tlet layout = properties.fieldLayout.layout;\n\t\t\tconst { top, left } = getMatchListOffset(textarea, layout, activePrefix);\n\t\t\tupdateState({\n\t\t\t\tactivePrefix,\n\t\t\t\tactivePrefixPosition,\n\t\t\t\ttrailingInput,\n\t\t\t\thighlightedIndex: 0,\n\t\t\t\toffset: [0, 0, top, left, top, left]\n\t\t\t});\n\t\t\tlet matchList = [];\n\t\t\tif (activePrefix?.type === hk.MENTIONS) {\n\t\t\t\tupdateState({\n\t\t\t\t\tmatchList,\n\t\t\t\t\topened: true\n\t\t\t\t});\n\t\t\t\tdispatch(actionTypes.ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\tmessage: t('Enter the name of a person you want to mention'),\n\t\t\t\t\ttype: 'polite',\n\t\t\t\t\treplaceContent: true\n\t\t\t\t});\n\t\t\t} else if (activePrefix?.type === hk.TEXT_COMMANDS_TRIGGER) {\n\t\t\t\tif (!textCommandsFetched) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\trecordTable: table,\n\t\t\t\t\t\trecordSysId: sysId,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tfieldType\n\t\t\t\t\t} = properties.textCommandsConfig;\n\t\t\t\t\tconst payload = {\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\tsysId,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tfieldType\n\t\t\t\t\t};\n\t\t\t\t\tdispatch(FETCH_TEXT_COMMANDS, payload, { stopPropagation: true });\n\t\t\t\t} else {\n\t\t\t\t\tif (textCommands) {\n\t\t\t\t\t\tconst filteredTextCommands = textCommands.filter(cmd => {\n\t\t\t\t\t\t\treturn cmd.commandName\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.startsWith(searchTerm.toLowerCase());\n\t\t\t\t\t\t});\n\t\t\t\t\t\tmatchList = activePrefix.mapResults(filteredTextCommands);\n\t\t\t\t\t}\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tmatchList,\n\t\t\t\t\t\topened: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else if (activePrefix?.type.startsWith(hk.TEXT_COMMAND)) {\n\t\t\t\tdebouncedQueryDispatcher(searchTerm, dispatch);\n\t\t\t}\n\n\t\t\tif (activePrefix?.type && activePrefix.type !== hk.MENTIONS)\n\t\t\t\tdispatch('TRACK_HOTKEY_SET', { type: activePrefix.type });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_JOURNAL_INPUT.READ_QUERY_RAN]: {\n\t\teffect({ action, state, dispatch, properties, updateState, host }) {\n\t\t\tconst { inputVal } = action.payload;\n\t\t\tconst { activePrefix, textCommands, textCommandsFetched, listboxId } =\n\t\t\t\tstate;\n\t\t\tconst hasDoubleSpaceEnding = /\\s\\s$/.test(inputVal);\n\t\t\tconst trimmedSearchTerm = inputVal.trim();\n\t\t\tif (activePrefix && !hasDoubleSpaceEnding) {\n\t\t\t\tif (activePrefix.type === hk.MENTIONS) {\n\t\t\t\t\tconst users = BUILT_IN_MENTIONS.users.mapResults(\n\t\t\t\t\t\tfilterMentions([], properties.preloadMentions, trimmedSearchTerm)\n\t\t\t\t\t);\n\t\t\t\t\tupdateState({ matchList: users, searchTerm: trimmedSearchTerm });\n\t\t\t\t\tsyncTextareaListbox(host, {\n\t\t\t\t\t\tlistboxId,\n\t\t\t\t\t\tmatchList: users,\n\t\t\t\t\t\thighlightedIndex: 0\n\t\t\t\t\t});\n\t\t\t\t\tif (trimmedSearchTerm) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tFETCH_MENTIONS,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tterm: trimmedSearchTerm,\n\t\t\t\t\t\t\t\trecordTable: properties.referringTable,\n\t\t\t\t\t\t\t\trecordId: properties.referringRecordId\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ stopPropagation: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else if (activePrefix?.type === hk.TEXT_COMMANDS_TRIGGER) {\n\t\t\t\t\tconst filteredTextCommands = textCommands.filter(cmd => {\n\t\t\t\t\t\treturn cmd.commandName\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.startsWith(trimmedSearchTerm.toLowerCase());\n\t\t\t\t\t});\n\t\t\t\t\tconst matchList = activePrefix.mapResults(filteredTextCommands);\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tmatchList,\n\t\t\t\t\t\tsearchTerm: trimmedSearchTerm\n\t\t\t\t\t});\n\t\t\t\t\tif (textCommandsFetched && !filteredTextCommands.length) {\n\t\t\t\t\t\tscheduleNoMatchAnnouncement(dispatch, t('No text commands found.'));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcancelNoMatchAnnouncement(dispatch);\n\t\t\t\t\t}\n\t\t\t\t} else if (activePrefix?.type.startsWith(`${hk.TEXT_COMMAND}`)) {\n\t\t\t\t\tconst { recordTable: table, recordSysId: sysId } =\n\t\t\t\t\t\tproperties.textCommandsConfig;\n\t\t\t\t\tconst { commandId } = activePrefix;\n\t\t\t\t\tconst payload = {\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\tsysId,\n\t\t\t\t\t\tcommandId,\n\t\t\t\t\t\tquery: trimmedSearchTerm\n\t\t\t\t\t};\n\t\t\t\t\tdispatch(INVOKE_TEXT_COMMAND, payload, { stopPropagation: true });\n\t\t\t\t}\n\t\t\t} else if (hasDoubleSpaceEnding) {\n\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t\t}\n\t\t}\n\t},\n\t[SN_RECORD_JOURNAL_INPUT.OPENED_MATCH_LIST_ON_LAST_PREFIX]: {\n\t\teffect({ action, state, dispatch, updateState }) {\n\t\t\tconst { fieldValue, textarea } = action.payload;\n\t\t\tconst { debouncedQueryDispatcher, hotkeys, selectedItems } = state;\n\t\t\tconst searchSpace = findSearchSpace(\n\t\t\t\tfieldValue,\n\t\t\t\ttextarea.selectionStart,\n\t\t\t\tselectedItems\n\t\t\t);\n\t\t\tlet selectEndPosition = textarea.selectionEnd;\n\t\t\tlet str = '';\n\t\t\tfor (const char of searchSpace) {\n\t\t\t\tstr = `${str}${char}`;\n\t\t\t\tif (!(str.startsWith('@') || str.startsWith(TEXT_COMMANDS_TRIGGER)))\n\t\t\t\t\tbreak;\n\n\t\t\t\tconst hotkey = hotkeys[str];\n\t\t\t\tif (hotkey) {\n\t\t\t\t\tconst trailingInput = fieldValue.substring(selectEndPosition);\n\t\t\t\t\tconst prefixLength = hotkey.prefix.length;\n\t\t\t\t\tconst searchTerm = searchSpace.substring(prefixLength);\n\t\t\t\t\tupdateState({ searchTerm });\n\t\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.SHOW_MATCH_LIST, {\n\t\t\t\t\t\ttextarea,\n\t\t\t\t\t\ttrailingInput,\n\t\t\t\t\t\tactivePrefix: hotkey,\n\t\t\t\t\t\tactivePrefixPosition:\n\t\t\t\t\t\t\ttextarea.selectionStart - searchSpace.length + prefixLength,\n\t\t\t\t\t\tsearchTerm\n\t\t\t\t\t});\n\t\t\t\t\tdebouncedQueryDispatcher(searchTerm, dispatch);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DROPDOWN_LIST.ITEM_CLICKED]: {\n\t\teffect({ action, dispatch }) {\n\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.DROPDOWN_ITEM_SELECTED, action.payload);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_JOURNAL_INPUT.DROPDOWN_ITEM_SELECTED]: {\n\t\teffect({ action, properties, state, dispatch, updateState, host }) {\n\t\t\tconst { item, meta } = action.payload;\n\t\t\tconst { onValueChange, name } = properties;\n\t\t\tconst {\n\t\t\t\tactivePrefixPosition,\n\t\t\t\tactivePrefix,\n\t\t\t\ttrailingInput,\n\t\t\t\tselectedItems,\n\t\t\t\tstagedValue,\n\t\t\t\tmentions,\n\t\t\t\thotkeys\n\t\t\t} = state;\n\t\t\tconst { prefix, type } = activePrefix;\n\t\t\tconst inputTillPrefix = stagedValue.substring(\n\t\t\t\t0,\n\t\t\t\tactivePrefixPosition - prefix.length\n\t\t\t);\n\t\t\tlet value = '';\n\t\t\tlet cursorPosition = 0;\n\t\t\tlet newSelectedItems = selectedItems;\n\n\t\t\tif (type === hk.MENTIONS) {\n\t\t\t\tconst { id, label } = item;\n\t\t\t\tconst selectedItem = {\n\t\t\t\t\tvalue: label\n\t\t\t\t};\n\t\t\t\tlet insertContent = activePrefix.displayItem({\n\t\t\t\t\tprefix,\n\t\t\t\t\titem: selectedItem\n\t\t\t\t});\n\t\t\t\tnewSelectedItems = {\n\t\t\t\t\t...selectedItems,\n\t\t\t\t\t[prefix]: {\n\t\t\t\t\t\t...(selectedItems[prefix] || {}),\n\t\t\t\t\t\t[id]: { id, value: label }\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tupdateState({ selectedItems: newSelectedItems });\n\t\t\t\tdispatch('TRACK', {\n\t\t\t\t\tmetaData: { name: name, fieldType: 'sn-record-journal-input' },\n\t\t\t\t\tadditionalOptions: { ...meta }\n\t\t\t\t});\n\t\t\t\tvalue = `${inputTillPrefix}${insertContent} ${trailingInput}`;\n\t\t\t\tcursorPosition = activePrefixPosition + (insertContent?.length || 0);\n\t\t\t} else if (type === hk.TEXT_COMMANDS_TRIGGER) {\n\t\t\t\t//If you select a hotkey, we set that command at the cursor,\n\t\t\t\t//show the match list for that hotkey - which also triggers a fresh search\n\t\t\t\tlet insertContent = item.label;\n\t\t\t\tconst textarea = host.shadowRoot\n\t\t\t\t\t.querySelector('now-textarea')\n\t\t\t\t\t.shadowRoot.querySelector('textarea');\n\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.SHOW_MATCH_LIST, {\n\t\t\t\t\ttextarea,\n\t\t\t\t\tactivePrefix: hotkeys[item.label],\n\t\t\t\t\tactivePrefixPosition: activePrefixPosition + item.label.length - 1,\n\t\t\t\t\ttrailingInput\n\t\t\t\t});\n\t\t\t\tvalue = `${inputTillPrefix}${insertContent} ${trailingInput}`;\n\t\t\t\tcursorPosition = activePrefixPosition + (insertContent?.length || 0);\n\t\t\t} else if (type.startsWith(hk.TEXT_COMMAND)) {\n\t\t\t\tconst { actionPayload } = item;\n\t\t\t\tconst { actionType, name } = activePrefix || {};\n\t\t\t\tif (actionType === TEXT_COMMAND_ACTION_TYPES.INSERT_CONTENT) {\n\t\t\t\t\tlet insertContent = item.insertContent;\n\t\t\t\t\tvalue = `${inputTillPrefix}${insertContent} ${trailingInput}`;\n\t\t\t\t\tcursorPosition = activePrefixPosition + (insertContent?.length || 0);\n\t\t\t\t\tdispatch('UI_TEXT_COMMAND#OPTION_SELECTED', {\n\t\t\t\t\t\tactionType,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tactionPayload\n\t\t\t\t\t});\n\t\t\t\t} else if (actionType === TEXT_COMMAND_ACTION_TYPES.REPLACE_CONTENT) {\n\t\t\t\t\tvalue = item.replaceContent;\n\t\t\t\t\tcursorPosition = value.length;\n\t\t\t\t\tdispatch('UI_TEXT_COMMAND#OPTION_SELECTED', {\n\t\t\t\t\t\tactionType,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tactionPayload\n\t\t\t\t\t});\n\t\t\t\t} else if (actionType === TEXT_COMMAND_ACTION_TYPES.CUSTOM_EVENT) {\n\t\t\t\t\tvalue = `${inputTillPrefix}${trailingInput}`;\n\t\t\t\t\tcursorPosition = value.length;\n\t\t\t\t\tdispatch(`${item.customEvent}`, { actionPayload, name });\n\t\t\t\t}\n\t\t\t\tdispatch('TRACK_HOTKEY_SELECTED', { type, id: item.id });\n\t\t\t}\n\n\t\t\tconst encodedValue = encode(value, newSelectedItems, mentions);\n\n\t\t\tif (host) {\n\t\t\t\tconst textAreaValue = displayFormat(encodedValue, mentions);\n\t\t\t\tconst textarea = host.shadowRoot\n\t\t\t\t\t.querySelector('now-textarea')\n\t\t\t\t\t.shadowRoot.querySelector('textarea');\n\n\t\t\t\t// Need to force now-textarea to re-render whenever the same item is selected. Passing the value as a prop won't trigger a re-render because it's the same value.\n\t\t\t\t// Instead, we directly update textarea.value to ensure the selected dropdown item is properly reflected.\n\t\t\t\t// Set the value and cursor position\n\t\t\t\ttextarea.value = textAreaValue;\n\t\t\t\ttextarea.setSelectionRange(cursorPosition, cursorPosition);\n\t\t\t\ttextarea.focus();\n\t\t\t}\n\n\t\t\tif (typeof onValueChange === 'function')\n\t\t\t\tonValueChange({ value: encodedValue });\n\n\t\t\t//For the text commands trigger dropdown, on item select we dont want to hide the match list\n\t\t\t//For other dropdowns, we want to hide the match list on item select\n\t\t\tif (type !== hk.TEXT_COMMANDS_TRIGGER)\n\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN]: {\n\t\teffect({ updateState, host, dispatch }) {\n\t\t\tcancelNoMatchAnnouncement(dispatch);\n\t\t\tdestroyTextareaListbox(host);\n\t\t\tupdateState({\n\t\t\t\topened: false,\n\t\t\t\tmatchList: [],\n\t\t\t\tactivePrefix: null,\n\t\t\t\tactivePrefixPosition: null,\n\t\t\t\tsearchTerm: '',\n\t\t\t\tmessage: null,\n\t\t\t\ttemplateMessage: null\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_POPOVER.OPENED_SET]: {\n\t\teffect({ action, dispatch }) {\n\t\t\tconst { value, actionSource } = action.payload;\n\t\t\tif (!value && actionSource !== 'trigger-click') {\n\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DROPDOWN_LIST.ACTIVE_ITEM_SET]: {\n\t\teffect({ action, state, updateState, host }) {\n\t\t\tconst { value } = action.payload;\n\t\t\tconst { matchList, listboxId } = state;\n\t\t\tconst items = matchList?.[0]?.children\n\t\t\t\t? matchList[0].children\n\t\t\t\t: matchList;\n\t\t\tconst newIndex = items.findIndex(item => item.id === value);\n\t\t\tupdateState({ highlightedIndex: newIndex });\n\t\t\tsyncTextareaListbox(host, {\n\t\t\t\tlistboxId,\n\t\t\t\tmatchList,\n\t\t\t\thighlightedIndex: newIndex\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA.INVALID_SET]: {\n\t\teffect({ action, state, properties, dispatch }) {\n\t\t\tconst { mentions, selectedItems } = state;\n\t\t\tconst { onBlur } = properties;\n\t\t\tconst { fieldValue } = action.payload;\n\t\t\tconst event = {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: fieldValue\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isFunction(onBlur)) {\n\t\t\t\tonBlur(event, encode(fieldValue, selectedItems, mentions));\n\t\t\t}\n\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_BLUR, {\n\t\t\t\tfieldValue: encode(fieldValue, selectedItems, mentions)\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA.VALUE_SET]: {\n\t\tstopPropagation: true\n\t}\n};\n","import { t } from 'sn-translate';\nimport { HOTKEY_TYPES } from '../constants';\n\nexport const matchListMessages = {\n\t[HOTKEY_TYPES.MENTIONS]: {\n\t\tinit: t('Enter the name of a person you want to mention'),\n\t\tloading: t('Loading'),\n\t\tnoMatches: t('No matches found')\n\t},\n\t[HOTKEY_TYPES.TEXT_COMMANDS_TRIGGER]: {\n\t\tloading: t('Loading...'),\n\t\tnoMatches: t('No text commands found.')\n\t},\n\t[HOTKEY_TYPES.TEXT_COMMAND]: {\n\t\tloading: t('Loading...'),\n\t\tnoMatches: t('No results found')\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty } from 'lodash';\nimport styles from './styles.scss';\nimport { matchListMessages } from './constants';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-popover';\nimport { itemsSchema } from '@servicenow/now-dropdown';\nimport '@servicenow/now-template-message';\nimport { HOTKEY_TYPES } from '../constants';\nimport { t } from 'sn-translate';\n\nexport const view = state => {\n\tconst {\n\t\tmatchList,\n\t\thighlightedIndex,\n\t\tisLoading,\n\t\tisNewDropdown,\n\t\thotkeyType,\n\t\tactionMessage,\n\t\tactionTemplateMessage\n\t} = state.properties;\n\n\tconst panelAriaLabel =\n\t\thotkeyType === HOTKEY_TYPES.MENTIONS\n\t\t\t? t('Mention suggestions')\n\t\t\t: hotkeyType === HOTKEY_TYPES.TEXT_COMMANDS_TRIGGER ||\n\t\t\t\t  hotkeyType?.startsWith(`${HOTKEY_TYPES.TEXT_COMMAND}`)\n\t\t\t\t? t('Keyboard shortcuts')\n\t\t\t\t: t('Suggestions');\n\n\tconst renderDropdownList = () => (\n\t\t<now-dropdown-list\n\t\t\tactiveItem={\n\t\t\t\tmatchList[0]?.children\n\t\t\t\t\t? matchList[0].children[highlightedIndex]?.id\n\t\t\t\t\t: matchList[highlightedIndex]?.id\n\t\t\t}\n\t\t\titems={matchList}\n\t\t\tconfigAria={{ panel: { 'aria-label': panelAriaLabel } }}\n\t\t><\/now-dropdown-list>\n\t);\n\n\tconst renderMessage = message => (\n\t\t<p slot=\"message\" className=\"with-message\">\n\t\t\t{message}\n\t\t<\/p>\n\t);\n\n\tif (actionTemplateMessage && actionTemplateMessage.content) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\theading={{ label: actionTemplateMessage.headingLabel, level: '4' }}\n\t\t\t\t\tcontent={actionTemplateMessage.content}\n\t\t\t\t\tillustration={actionTemplateMessage.illustration}\n\t\t\t\t\talignment=\"adaptive\"\n\t\t\t\t/>\n\t\t\t<\/Fragment>\n\t\t);\n\t}\n\n\tif (actionMessage) {\n\t\treturn <Fragment>{renderMessage(actionMessage)}<\/Fragment>;\n\t}\n\tlet messages = {},\n\t\tmessage;\n\tif (hotkeyType) {\n\t\tmessages =\n\t\t\tmatchListMessages[\n\t\t\t\thotkeyType.startsWith(`${HOTKEY_TYPES.TEXT_COMMAND}`)\n\t\t\t\t\t? HOTKEY_TYPES.TEXT_COMMAND\n\t\t\t\t\t: hotkeyType\n\t\t\t];\n\t\tmessage = isNewDropdown\n\t\t\t? messages.init\n\t\t\t: isLoading\n\t\t\t\t? messages.loading\n\t\t\t\t: isEmpty(matchList)\n\t\t\t\t\t? messages.noMatches\n\t\t\t\t\t: null;\n\t}\n\n\tif (\n\t\tisLoading &&\n\t\tmatchList.length > 0 &&\n\t\tHOTKEY_TYPES.MENTIONS === hotkeyType\n\t) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{renderDropdownList()}\n\t\t\t\t<div className=\"loader-with-message\">{renderMessage(t('Loading'))}<\/div>\n\t\t\t<\/Fragment>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{message ? renderMessage(message) : renderDropdownList()}\n\t\t<\/Fragment>\n\t);\n};\n\ncreateCustomElement('sn-journal-match-list', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * If match list in in loading state\n\t\t * @type {boolean}\n\t\t */\n\t\tisLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If the match list is opened for the first time\n\t\t * @type {boolean}\n\t\t */\n\t\tisNewDropdown: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Index of the current active descendant in the dropdown list.\n\t\t * @type {number}\n\t\t */\n\t\thighlightedIndex: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * An array of `DropdownListItem` or `DropdownSection` items.\n\t\t * @type {Array.<DropdownListItem|DropdownSection>}\n\t\t */\n\t\tmatchList: {\n\t\t\tdefault: [],\n\t\t\tschema: itemsSchema\n\t\t},\n\t\t/**\n\t\t * Active hotkey type. Used to determine messages\n\t\t */\n\t\thotkeyType: {\n\t\t\tdefault: ''\n\t\t},\n\t\tactionMessage: {\n\t\t\tdefault: ''\n\t\t},\n\t\tactionTemplateMessage: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tstyles\n});\n","import {\n\tescapeSeismicSpecialSymbols,\n\trenderHighlightedValue,\n\tisAttrTrue,\n\ttransformMessages,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\nimport { isEmpty } from 'lodash';\nimport {\n\tHOTKEY_TYPES,\n\tMATCH_LIST_CONSTRAINTS,\n\tMESSAGE_CONSTRAINTS\n} from './constants';\nimport { displayFormat } from './mentionsUtils';\nimport './mentions-match-list';\nimport makeClass from 'classnames';\nimport { renderNowAssistContextMenu } from '@devsnc/sn-record-nowassist';\n\nexport const renderTextarea = state => {\n\tconst {\n\t\tvalue,\n\t\tshowCounter,\n\t\tmaxlength,\n\t\trole,\n\t\tname,\n\t\tplaceholder,\n\t\treadonly,\n\t\tautofocus,\n\t\tlabel,\n\t\trows,\n\t\tcols,\n\t\tvariant,\n\t\tresizable,\n\t\thighlightedValue,\n\t\trequired,\n\t\tinvalid,\n\t\tconfigAria,\n\t\tautoresizeLineLimit,\n\t\tfieldLayout,\n\t\tdisableMaxHeight,\n\t\tdisableMinHeight,\n\t\tmessages,\n\t\tfitToParent,\n\t\tautoresize,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\treferringTable,\n\t\treferringRecordId,\n\t\tnowAssistConfig,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT\n\t} = state.properties || {};\n\tconst {\n\t\tmentions,\n\t\tenableCaretSlot,\n\t\tcomponentLoaded,\n\t\tstagedValue,\n\t\tselectedText,\n\t\topened,\n\t\tlistboxId,\n\t\tmatchList,\n\t\thighlightedIndex\n\t} = state || {};\n\tconst formattedValue = displayFormat(value, mentions);\n\tconst ariaLabel = configAria?.['aria-label'] || label;\n\tconst hasMentions = !isEmpty(mentions);\n\tconst activeItemId = hasMentions\n\t\t? matchList?.[0]?.children\n\t\t\t? matchList[0].children[highlightedIndex]?.id\n\t\t\t: matchList?.[highlightedIndex]?.id\n\t\t: undefined;\n\tconst comboboxAria = hasMentions\n\t\t? {\n\t\t\t\trole: 'combobox',\n\t\t\t\t'aria-autocomplete': 'list',\n\t\t\t\t'aria-haspopup': 'listbox',\n\t\t\t\t'aria-expanded': String(!!opened),\n\t\t\t\t...(listboxId ? { 'aria-controls': `${listboxId}-listbox` } : {}),\n\t\t\t\t...(listboxId && activeItemId\n\t\t\t\t\t? { 'aria-activedescendant': `${listboxId}-option-${activeItemId}` }\n\t\t\t\t\t: {})\n\t\t\t}\n\t\t: { role: role || 'textbox' };\n\treturn (\n\t\t<now-textarea\n\t\t\tslot=\"trigger\"\n\t\t\tautoresize={autoresize}\n\t\t\tautofocus={autofocus}\n\t\t\tclassName={makeClass({\n\t\t\t\t'fit-to-parent': fitToParent\n\t\t\t})}\n\t\t\tvalue={escapeSeismicSpecialSymbols(formattedValue)}\n\t\t\tmanage-invalid\n\t\t\t/**\n\t\t\t * In UI16, journal fields do not enforce a maxlength\n\t\t\t * When the char counter is enabled, NDS do not use the maxlength to enforce allowed text limit\n\t\t\t * Instead, they use it to show a warning once you cross the limit\n\t\t\t * https://code.devsnc.com/dev/design-system/pull/1813\n\t\t\t */\n\t\t\t{...(showCounter ? { maxlength } : {})}\n\t\t\tconfig-aria={{\n\t\t\t\ttextarea: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t...comboboxAria\n\t\t\t\t}\n\t\t\t}}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tinvalid={invalid}\n\t\t\tname={name}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\trows={rows}\n\t\t\tcols={cols}\n\t\t\tshow-counter={showCounter}\n\t\t\tcolor={\n\t\t\t\tcolor !== FIELD_BG_COLOR_DEFAULT\n\t\t\t\t\t? color\n\t\t\t\t\t: variant == 'neutral' || !variant\n\t\t\t\t\t\t? 'initial'\n\t\t\t\t\t\t: variant\n\t\t\t}\n\t\t\tresize={resizable ? 'vertical' : 'none'}\n\t\t\tautoresizeRowsLimit={autoresizeLineLimit}\n\t\t\tfield-layout={fieldLayout}\n\t\t\tenableCaretSlot={enableCaretSlot && !readonly}\n\t\t\tdisableMaxHeight={fitToParent || disableMaxHeight}\n\t\t\tdisableMinHeight={disableMinHeight}\n\t\t\tmessages={transformMessages(messages)}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\tlabel\n\t\t\t\t})\n\t\t\t)}\n\t\t\t<slot name=\"controls-label-end\" slot=\"label-end\"><\/slot>\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t\t{enableCaretSlot &&\n\t\t\t\t!readonly &&\n\t\t\t\tcomponentLoaded &&\n\t\t\t\trenderNowAssistContextMenu(\n\t\t\t\t\treferringRecordId,\n\t\t\t\t\treferringTable,\n\t\t\t\t\tname,\n\t\t\t\t\tnowAssistConfig,\n\t\t\t\t\tselectedText,\n\t\t\t\t\tstagedValue, // draftedText\n\t\t\t\t\tstate\n\t\t\t\t)}\n\t\t<\/now-textarea>\n\t);\n};\n\nexport const view = state => {\n\tconst {\n\t\toffset,\n\t\topened,\n\t\tmatchList,\n\t\tsearchTerm,\n\t\thighlightedIndex,\n\t\tresultsLoading,\n\t\tactivePrefix,\n\t\tmessage,\n\t\ttemplateMessage\n\t} = state;\n\tconst { mentions } = state.properties;\n\tconst isLoading = resultsLoading;\n\tconst isNewDropdown =\n\t\tsearchTerm === '' && activePrefix?.type === HOTKEY_TYPES.MENTIONS;\n\tlet constrain =\n\t\tisNewDropdown || isLoading || isEmpty(matchList)\n\t\t\t? MESSAGE_CONSTRAINTS\n\t\t\t: MATCH_LIST_CONSTRAINTS[\n\t\t\t\t\tactivePrefix?.type.startsWith(`${HOTKEY_TYPES.TEXT_COMMAND}`)\n\t\t\t\t\t\t? HOTKEY_TYPES.TEXT_COMMAND\n\t\t\t\t\t\t: activePrefix?.type\n\t\t\t\t];\n\n\tif (isLoading && !isEmpty(matchList)) {\n\t\tconstrain = MATCH_LIST_CONSTRAINTS[activePrefix?.type];\n\t}\n\n\tif (isEmpty(mentions)) return renderTextarea(state);\n\n\treturn (\n\t\t<now-popover\n\t\t\thide-tail\n\t\t\topened={opened}\n\t\t\tconstrain={constrain}\n\t\t\toffset={offset}\n\t\t\tmanage-opened\n\t\t\tinteraction-type=\"listbox\"\n\t\t>\n\t\t\t{renderTextarea(state)}\n\t\t\t<sn-journal-match-list\n\t\t\t\tslot=\"content\"\n\t\t\t\taction-message={message}\n\t\t\t\taction-template-message={templateMessage}\n\t\t\t\tis-loading={isLoading}\n\t\t\t\tis-new-dropdown={isNewDropdown}\n\t\t\t\tmatch-list={matchList}\n\t\t\t\thighlighted-index={highlightedIndex}\n\t\t\t\thotkey-type={activePrefix?.type}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n","import { SN_RECORD_JOURNAL_INPUT } from './constants';\nimport { isEmpty, isFunction, size } from 'lodash';\nimport { syncTextareaListbox } from './textareaScreenReader';\n\nexport default [\n\t{\n\t\tevents: ['keydown'],\n\t\teffect({ action, dispatch, host, state, properties, updateState }) {\n\t\t\tconst { event } = action.payload;\n\t\t\tconst { matchList, highlightedIndex, opened } = state;\n\t\t\tconst { key } = event;\n\t\t\tif (key === 'Enter' || key === 'Tab') {\n\t\t\t\tif (isEmpty(matchList))\n\t\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.MATCH_LIST_HIDDEN);\n\t\t\t\telse {\n\t\t\t\t\tdispatch(SN_RECORD_JOURNAL_INPUT.DROPDOWN_ITEM_SELECTED, {\n\t\t\t\t\t\titem: matchList[0]?.children\n\t\t\t\t\t\t\t? matchList[0].children[highlightedIndex]\n\t\t\t\t\t\t\t: matchList[highlightedIndex]\n\t\t\t\t\t});\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t}\n\t\t\t} else if (key === 'ArrowUp') {\n\t\t\t\tif (opened) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t\tconst newIndex = Math.max(0, highlightedIndex - 1);\n\t\t\t\t\tupdateState({ highlightedIndex: newIndex });\n\t\t\t\t\tsyncTextareaListbox(host, {\n\t\t\t\t\t\tlistboxId: state.listboxId,\n\t\t\t\t\t\tmatchList,\n\t\t\t\t\t\thighlightedIndex: newIndex\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else if (key === 'ArrowDown') {\n\t\t\t\tif (opened) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t\tconst newIndex = Math.min(\n\t\t\t\t\t\tsize(matchList[0]?.children ? matchList[0].children : matchList) -\n\t\t\t\t\t\t\t1,\n\t\t\t\t\t\thighlightedIndex + 1\n\t\t\t\t\t);\n\t\t\t\t\tupdateState({ highlightedIndex: newIndex });\n\t\t\t\t\tsyncTextareaListbox(host, {\n\t\t\t\t\t\tlistboxId: state.listboxId,\n\t\t\t\t\t\tmatchList,\n\t\t\t\t\t\thighlightedIndex: newIndex\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isFunction(properties.onKeyDown)) {\n\t\t\t\tproperties.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tevents: ['paste', 'keypress'],\n\t\teffect({ properties, action }) {\n\t\t\tconst { event } = action.payload;\n\t\t\tconst { onKeyPress, onPaste } = properties;\n\t\t\tconst handlerMap = {\n\t\t\t\tpaste: onPaste,\n\t\t\t\tkeypress: onKeyPress\n\t\t\t};\n\t\t\tconst handler = handlerMap[event.type];\n\t\t\tif (isFunction(handler)) {\n\t\t\t\thandler(event);\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t// This condition prevents unnecessary blur events when an item is selected from now-dropdown in now-popover.\n\t\t// When now-textarea triggers an Onblur (NOW_TEXTAREA#INVALID_SET) after an item selection, it dispatches a SN_RECORD_INPUT_CONNECTED#value_changed event with @ab (item is not yet selected).\n\t\t// The provided effect function listens for 'blur' events and stops propagation if the related target is a 'SEISMIC-HOIST' element, ensuring the blur event does not fire inappropriately.\n\n\t\tevents: ['blur'],\n\t\teffect({ action }) {\n\t\t\tconst { event } = action.payload;\n\t\t\tif (\n\t\t\t\tevent.relatedTarget &&\n\t\t\t\tevent.relatedTarget.tagName === 'SEISMIC-HOIST'\n\t\t\t) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t},\n\t\tcapture: true\n\t}\n];\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { actionHandlers } from './mentionsActionHandlers';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\twithValueChangeCallbacksView,\n\tcreateWithValueChangeCallbackBehavior,\n\tfieldLayoutSchema,\n\ttrackBehavior\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tnowAssistActionsBehavior,\n\tnacmBehavior\n} from '@devsnc/sn-record-nowassist';\n\nimport styles from './journal-input.scss';\n\nimport { debounce, isString, keyBy, keys, mapValues, clone } from 'lodash';\nimport {\n\tassertValidMention,\n\tnormalizeMentions,\n\tBUILT_IN_MENTIONS,\n\ttextCommandResultMapper\n} from './mentionsUtils';\nimport { view } from './view';\nimport {\n\tSN_RECORD_JOURNAL_INPUT,\n\tTEXT_COMMANDS_TRIGGER,\n\tHOTKEY_TYPES\n} from './constants';\nimport eventHandlers from './eventHandlers';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nexport const setInitialState = ({ properties }) => {\n\tconst normalizedMentions = normalizeMentions(properties.mentions);\n\tconst mentions = Object.entries(normalizedMentions).reduce(\n\t\t(result, [prefix, mention]) => {\n\t\t\tif (isString(mention)) {\n\t\t\t\tif (!BUILT_IN_MENTIONS[mention]) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Unknown built-in mentions config '${mention}'. Supported values: '${keys(\n\t\t\t\t\t\t\tBUILT_IN_MENTIONS\n\t\t\t\t\t\t).join(', ')}'`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tmention = clone(BUILT_IN_MENTIONS[mention]);\n\t\t\t}\n\t\t\tassertValidMention(mention);\n\t\t\tmention['prefix'] = prefix;\n\t\t\tresult[prefix] = mention;\n\t\t\treturn result;\n\t\t},\n\t\t{}\n\t);\n\tconst queryDispatcher = (inputVal = '', dispatch) => {\n\t\tdispatch(SN_RECORD_JOURNAL_INPUT.READ_QUERY_RAN, { inputVal });\n\t};\n\n\tconst debouncedQueryDispatcher = debounce(\n\t\tqueryDispatcher,\n\t\tproperties.searchDebounce\n\t);\n\tconst selectedItems = mapValues(mentions, (mention, prefix) =>\n\t\tkeyBy(\n\t\t\tmention.getItemsFromInitialValue({\n\t\t\t\tprefix,\n\t\t\t\tvalue: properties.value\n\t\t\t}),\n\t\t\t'id'\n\t\t)\n\t);\n\n\tlet textCommandsTriggerConfig = {};\n\tif (properties.textCommandsConfig?.enableTextCommands) {\n\t\ttextCommandsTriggerConfig = {\n\t\t\t[TEXT_COMMANDS_TRIGGER]: {\n\t\t\t\ttype: HOTKEY_TYPES.TEXT_COMMANDS_TRIGGER,\n\t\t\t\tprefix: TEXT_COMMANDS_TRIGGER,\n\t\t\t\tmapResults: textCommandResultMapper\n\t\t\t}\n\t\t};\n\t}\n\n\tconst hotkeys = {\n\t\t...mentions,\n\t\t...textCommandsTriggerConfig\n\t};\n\n\treturn {\n\t\t// map of prefix character (`@`) to mention config\n\t\tmentions,\n\t\tdebouncedQueryDispatcher,\n\t\tlistboxId: `sn-journal-listbox-${Math.random().toString(36).slice(2, 9)}`,\n\t\t// tracks items that the user has selected for each mention type\n\t\t// {\n\t\t//\t'@': [ item1, item2 ],\n\t\t//\t'/': [ item1 ]\n\t\t// }\n\t\tselectedItems,\n\t\t//relative offset of popover compared to the input area\n\t\toffset: [0, 0, 0, 0, 0, 0],\n\t\topened: false,\n\t\t// data response for the active mention\n\t\tmatchList: [],\n\t\tactivePrefix: null,\n\t\tactivePrefixPosition: null,\n\t\t// current focused item in the matchlist\n\t\thighlightedIndex: 0,\n\t\t// Any trailing input that exists in the input after the current active\n\t\t// mention\n\t\ttrailingInput: '',\n\t\t// search term for the current active query\n\t\tsearchTerm: '',\n\t\tresultsLoading: false,\n\t\t//tracks current user input\n\t\tstagedValue: properties.value,\n\t\thotkeys,\n\t\ttextCommandsFetched: false,\n\t\ttextCommands: [],\n\t\tmessage: null,\n\t\ttemplateMessage: null\n\t};\n};\n\ncreateCustomElement('sn-record-journal-input', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview: withValueChangeCallbacksView(view),\n\tsetInitialState,\n\teventHandlers,\n\tproperties: {\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\tname: { schema: { type: 'string' } },\n\t\tinitialValue: { schema: { type: 'string' } },\n\t\tvalue: { schema: { type: 'string' } },\n\t\tdisplayValue: { schema: { type: 'string' } },\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tplaceholder: { schema: { type: 'string' } },\n\t\tmessages: {},\n\t\treadonly: { default: false, schema: { type: 'boolean' } },\n\t\trequired: { default: false, schema: { type: 'boolean' } },\n\t\tinvalid: { default: false, schema: { type: 'boolean' } },\n\t\tdescription: {},\n\t\tonValueChange: { shouldRenderWhenSet: false },\n\t\tonStagedValueChange: { shouldRenderWhenSet: false },\n\t\tonBlur: { shouldRenderWhenSet: false },\n\t\tonChange: { shouldRenderWhenSet: false },\n\t\tvariant: { schema: { type: 'string' } },\n\t\tresizable: { default: false, schema: { type: 'boolean' } },\n\t\treversed: { default: false, schema: { type: 'boolean' } },\n\t\trows: { schema: { type: 'number' } },\n\t\tmentions: { schema: { anyOf: [{ type: 'object' }, { type: 'array' }] } },\n\t\tsearchDebounce: { schema: { type: 'number' } },\n\t\treferringTable: { schema: { type: 'string' } },\n\t\treferringRecordId: { schema: { type: 'string' } },\n\t\thelperContent: { schema: { type: 'string' } },\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\tautoresizeLineLimit: { schema: { type: 'number' } },\n\t\tdisableMaxHeight: { default: false, schema: { type: 'boolean' } },\n\t\tdisableMinHeight: { default: false, schema: { type: 'boolean' } },\n\t\tshowCounter: { default: true, schema: { type: 'boolean' } },\n\t\tmaxlength: { schema: { type: 'number' } },\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\ttextCommandsConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableTextCommands: { type: 'boolean' },\n\t\t\t\t\trecordTable: { type: 'string' },\n\t\t\t\t\trecordSysId: { type: 'string' },\n\t\t\t\t\ttype: { type: 'string' },\n\t\t\t\t\tfieldType: { type: 'string' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Causes the component to automatically resize the input region to the content inside it.\n\t\t * @type {boolean}\n\t\t */\n\t\tautoresize: { default: true, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\tresponseTemplates: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableResponseTemplates: { type: 'boolean' },\n\t\t\t\t\tchannel: { type: 'string' },\n\t\t\t\t\trecordTable: { type: 'string' },\n\t\t\t\t\trecordSysId: { type: 'string' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Field which indicates preloaded members of the record\n\t\t * @type {Array.<{\n\t\t *     sys_id: string,\n\t\t *     name?: string,\n\t\t *     username?: string,\n\t\t *     email?: string,\n\t\t *     avatar?: string,\n\t\t *     active?: boolean,\n\t\t *     [key: string]?: any  // Additional parameters\n\t\t * }>}\n\t\t * @default []\n\t\t * @schema { type: 'array' }\n\t\t */\n\t\tpreloadMentions: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' }\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the end of the label.\n\t\t */\n\t\t'controls-label-end': {}\n\t},\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t},\n\t\ttrackBehavior,\n\t\t{ behavior: nowAssistActionsBehavior },\n\t\t{ behavior: nacmBehavior }\n\t]\n});\n","export const formatNumber = input => {\n\tif (input !== '' && input !== null) {\n\t\tlet number = input.toString();\n\t\tnumber = number.replace(/[^\\d.-]/g, '').replace(/(?!^)-/g, '');\n\t\tif (number.includes('.')) {\n\t\t\tnumber = number.replace(/(\\.\\d{2})\\d+/, '$1');\n\t\t}\n\t\tlet parsedNumber = parseFloat(number);\n\t\tif (isNaN(parsedNumber)) {\n\t\t\treturn '';\n\t\t}\n\t\tlet roundedNumber = Math.round(parsedNumber);\n\t\tlet formatted = roundedNumber\n\t\t\t.toString()\n\t\t\t.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n\n\t\treturn formatted;\n\t}\n\treturn '';\n};\n","import { omit, isFunction, toNumber, toString } from 'lodash';\nimport '@servicenow/now-input';\n// Component Imports\nimport { Input } from '@devsnc/sn-record-input';\nimport {\n\tgetDeclarativeActionsProps,\n\tgetProperty,\n\tescapeSeismicSpecialSymbols,\n\ttransformMessages,\n\tisAttrTrue,\n\trenderHighlightedValue,\n\thandleDynamicTranslationBlur,\n\trenderTranslatedText,\n\trenderTranslateIcon,\n\trenderDecorations\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-declarative-actions';\nimport '@devsnc/sn-record-control';\n\nimport './mentions';\nimport { formatNumber } from './utils';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { SN_RECORD_INPUT_CONNECTED_ACTIONS } from './constants';\n\nconst renderJournal = (state, { onBlur }) => {\n\tconst { formData } = state;\n\n\treturn (\n\t\t<sn-record-journal-input\n\t\t\t{...omit(state, ['value', 'properties', 'dispatch', 'helpers'])}\n\t\t\tonBlur={onBlur}\n\t\t\tsearchDebounce={state.debounce || 500}\n\t\t\tdebounceAutosize={toNumber(\n\t\t\t\tgetProperty('glide.ui.textarea.autosize_debounce', 100)\n\t\t\t)}\n\t\t\tvalue={escapeSeismicSpecialSymbols(state.value)}\n\t\t\tautoresizeLineLimit={state.autoresizeLineLimit}\n\t\t\tformData={formData}\n\t\t>\n\t\t\t<slot slot=\"controls-label-end\" name=\"controls-label-end\" />\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t<\/sn-record-journal-input>\n\t);\n};\n\nconst getPasswordField = (props, { onChange }) => {\n\tconst readonly = isAttrTrue(props.readonly);\n\tconst fieldLayout = props.fieldLayout;\n\n\treturn (\n\t\t<now-input-password\n\t\t\tname={props.name}\n\t\t\tlabel={props.label}\n\t\t\twrapLabel={props.wrapLabel}\n\t\t\tplaceholder={readonly ? '—' : props.placeholder}\n\t\t\ton-change={onChange}\n\t\t\trequired={props.required}\n\t\t\treadonly={readonly}\n\t\t\tinvalid={props.invalid}\n\t\t\tmanageInvalid\n\t\t\tmanageValue\n\t\t\tvalue={props.initialDisplayValue}\n\t\t\tmessages={transformMessages(props.messages)}\n\t\t\tdisableUnmask={props.disableUnmask}\n\t\t\tconfig-aria={{ input: props.configAria }}\n\t\t\tfieldLayout={fieldLayout}\n\t\t>\n\t\t\t{renderHighlightedValue(props.highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(props)}\n\t\t<\/now-input-password>\n\t);\n};\n\n/**\n * Adds state management and autocomplete to the basic Input component.\n */\nexport const ConnectedInput = (props, children) => {\n\tconst { dispatch, updateState } = props;\n\tconst {\n\t\tmentions,\n\t\treadonly,\n\t\ttype,\n\t\toverrideDeclarativeActionsProps,\n\t\tonValueChange,\n\t\tonBlur: onBlurProp,\n\t\tonChange: onChangeProp,\n\t\tinnerRef: innerRefProp,\n\t\tonFocus,\n\t\ttranslatedText,\n\t\tisTranslationEnabled,\n\t\tdecorations = [],\n\t\tenableCaretSlot\n\t} = props;\n\tlet inputElement = null;\n\n\tlet shouldSkipWWNAToggle = false;\n\n\tconst temporarilyDisableWWNAToggle = () => {\n\t\tshouldSkipWWNAToggle = true;\n\t\tsetTimeout(() => {\n\t\t\tshouldSkipWWNAToggle = false;\n\t\t}, 500);\n\t};\n\n\tconst setInputElement = node => {\n\t\treturn () => node;\n\t};\n\tconst isJournal = () => typeof mentions !== 'undefined';\n\t// We dont want to toggle visibility when WWNA is clicked, doing so would block wwna from being rendered\n\tconst onMouseDown = event => {\n\t\tif (event?.target?.id !== 'sn-record-nowassist') return;\n\t\ttemporarilyDisableWWNAToggle();\n\t};\n\tconst onBlur = (event, targetValue) => {\n\t\tconst readOnly = isAttrTrue(readonly);\n\t\tif (!readOnly) {\n\t\t\tif (!isJournal() && inputElement) {\n\t\t\t\t// For fields like currency, you need to set the staged value so format/parse works properly\n\t\t\t\t// Calling onValueChange without a format argument will do this\n\t\t\t\tif (isFunction(onValueChange)) {\n\t\t\t\t\tonValueChange({\n\t\t\t\t\t\tvalue: inputElement().value\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isFunction(onBlurProp)) {\n\t\t\t\tonBlurProp(event, targetValue);\n\t\t\t}\n\n\t\t\tisTranslationEnabled &&\n\t\t\t\thandleDynamicTranslationBlur(targetValue, updateState, translatedText);\n\t\t}\n\n\t\tif (enableCaretSlot && !shouldSkipWWNAToggle) {\n\t\t\tdispatch('SN_RECORD_NOWASSIST#SHOW_HIDE_NOWASSIST', {\n\t\t\t\tinputFocused: false\n\t\t\t});\n\t\t}\n\t};\n\n\tconst onChange = (event, targetValue) => {\n\t\t// This is to retain the current behaviour of textarea stagedValue,\n\t\t// it used to utilize the onChange value injected via state by withState view modifier\n\t\tif (type === 'textarea' && !isJournal()) {\n\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_CHANGE, {\n\t\t\t\tfieldValue: targetValue\n\t\t\t});\n\t\t}\n\n\t\tif (isFunction(onChangeProp)) {\n\t\t\tonChangeProp(event, targetValue);\n\t\t}\n\t};\n\n\tconst innerRef = node => {\n\t\tinputElement = setInputElement(node);\n\n\t\tif (isFunction(innerRefProp)) {\n\t\t\tinnerRefProp(node);\n\t\t}\n\t};\n\n\tconst declarativeActionsProps = overrideDeclarativeActionsProps\n\t\t? getDeclarativeActionsProps(props.declarativeActionsProps, props)\n\t\t: props.declarativeActionsProps || {};\n\n\tif (type === 'password' || type === 'password2') {\n\t\treturn getPasswordField(props, { onChange: props.onChange });\n\t}\n\n\tif (isJournal()) {\n\t\treturn renderJournal(props, { onBlur, innerRef });\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<Input\n\t\t\t\t{...props}\n\t\t\t\tvalue={\n\t\t\t\t\tprops.fieldType === 'order_index'\n\t\t\t\t\t\t? formatNumber(props.value)\n\t\t\t\t\t\t: escapeSeismicSpecialSymbols(toString(props.value))\n\t\t\t\t} // Set value based on fieldType\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tinnerRef={innerRef}\n\t\t\t\tdisabled={isAttrTrue(props.disabled)}\n\t\t\t\tonChange={onChange}\n\t\t\t\tcomponentName=\"sn-record-input-connected\"\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tautoresizeLineLimit={props.autoresizeLineLimit}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t\t{decorations.map(({ icon, text }) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tslot=\"label-inline\"\n\t\t\t\t\t\ttitle={text}\n\t\t\t\t\t\tclassName=\"decorations-icon-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-icon icon={icon} size=\"sm\" />\n\t\t\t\t\t<\/div>\n\t\t\t\t))}\n\t\t\t\t{type !== 'textarea' && (\n\t\t\t\t\t<sn-declarative-field-action\n\t\t\t\t\t\tslot=\"controls\"\n\t\t\t\t\t\tmodel={declarativeActionsProps}\n\t\t\t\t\t\tactions={declarativeActionsProps.declarativeUiActions}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tformData={props.formData}\n\t\t\t\t\t\tfetchDeclarativeActions={\n\t\t\t\t\t\t\tdeclarativeActionsProps.fetchDeclarativeActions\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{isTranslationEnabled\n\t\t\t\t\t? renderTranslateIcon(\n\t\t\t\t\t\t\t{ ...props, value: props.stagedValue },\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tupdateState\n\t\t\t\t\t\t)\n\t\t\t\t\t: []}\n\t\t\t<\/Input>\n\t\t\t{isTranslationEnabled ? renderTranslatedText(translatedText) : []}\n\t\t<\/Fragment>\n\t);\n};\n\nexport const view = (state, { dispatch, updateState }) => {\n\tconst {\n\t\tproperties,\n\t\tselectedText,\n\t\tisUserTriggered,\n\t\tinputFocused,\n\t\tenableCaretSlot,\n\t\tstagedValue\n\t} = state;\n\n\tconst hasStateMessages = state.messages?.length > 0;\n\tconst hasPropertyMessages = properties.messages?.length > 0;\n\tconst usePropertyMessages = hasPropertyMessages && !state.isFieldValid;\n\n\t// state.isFieldValid is used for the following reason:\n\t// If state.messages is an empty array but property.messages are provided,\n\t// we don't want to display property messages with a red border around the input.\n\t// To handle this, we've introduced a new variable called state.isFieldValid.\n\n\tconst nonErrorPropertyMessages =\n\t\tproperties.messages?.filter(msg => msg.type !== 'error') || [];\n\n\tconst messages = hasStateMessages\n\t\t? state.messages.concat(nonErrorPropertyMessages)\n\t\t: usePropertyMessages\n\t\t\t? properties.messages\n\t\t\t: nonErrorPropertyMessages;\n\n\tconst invalid =\n\t\thasStateMessages || state.isFieldValid ? false : properties.invalid;\n\n\tconst attrs = {\n\t\t...omit(state, ['properties']),\n\t\tonValueChange: state.onValueChange || properties.onValueChange,\n\t\tinnerRef: state.innerRef || properties.innerRef,\n\t\tconfigAria: properties.configAria\n\t};\n\n\tconst combineOnFocus = (originalOnFocus, enableCaretSlot) => event => {\n\t\tif (isFunction(originalOnFocus)) {\n\t\t\toriginalOnFocus(event);\n\t\t}\n\t\tif (enableCaretSlot) {\n\t\t\tdispatch('SN_RECORD_NOWASSIST#SHOW_HIDE_NOWASSIST', {\n\t\t\t\tinputFocused: true\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t<ConnectedInput\n\t\t\t{...properties}\n\t\t\t{...attrs}\n\t\t\tinvalid={invalid}\n\t\t\tonFocus={combineOnFocus(state.onFocus, enableCaretSlot)}\n\t\t\tcreatedCallbacks={true}\n\t\t\tupdateState={updateState}\n\t\t\tdispatch={dispatch}\n\t\t\tselectedText={selectedText}\n\t\t\tenableCaretSlot={enableCaretSlot}\n\t\t\tdraftedText={stagedValue}\n\t\t\tisUserTriggered={isUserTriggered}\n\t\t\tinputFocused={inputFocused}\n\t\t\tmessages={messages}\n\t\t/>\n\t);\n};\n\nexport default view;\n","export const requestPass2 = `query ($tableName: String!,$fieldName: String!, $sysId: String!) {\n    GlideLayout_Query {\n      password2Query(tableName: $tableName, fieldName: $fieldName, sysId: $sysId) {\n        password\n      }\n    }\n  }`;\n","import { get, merge, isEmpty } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tadaptCallbackForLegacyAPI,\n\teffectProxy,\n\thandleInitialValue\n} from '@devsnc/sn-controls-common';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { requestPass2 } from './pass2Graphql';\nimport {\n\tNOW_INPUT_ACTIONS,\n\tSN_RECORD_INPUT_CONNECTED_ACTIONS\n} from './constants';\nimport { formatNumber } from './utils';\nexport const COMPONENT_PREFIX = 'SN_RECORD_CONNECTED_INPUT';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst NOW_INPUT_PASSWORD_VALUE_SET = 'NOW_INPUT_PASSWORD#VALUE_SET';\nconst NOW_INPUT_PASSWORD_INVALID_SET = 'NOW_INPUT_PASSWORD#INVALID_SET';\nconst NOW_TEXTAREA_VALUE_SET = 'NOW_TEXTAREA#VALUE_SET';\nconst NOW_TEXTAREA_INVALID_SET = 'NOW_TEXTAREA#INVALID_SET';\nconst NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nconst NOW_INPUT_PASSWORD_INPUT = 'NOW_INPUT_PASSWORD#INPUT';\nconst NOW_RECORD_INPUT_PASSWORD_RESET_EDITED =\n\t'NOW_RECORD_INPUT_PASSWORD#RESET_EDITED';\nconst PASS2_REQUEST = `${COMPONENT_PREFIX}#PASS2_DATA_REQUEST`;\nconst PASS2_DATA_REQUEST_SUCCESS = `${COMPONENT_PREFIX}#PASS2_DATA_REQUEST_SUCCESS`;\nconst PASS2_DATA_REQUEST_ERROR = `${COMPONENT_PREFIX}#PASS2_DATA_REQUEST_ERROR`;\nconst PASS2_TYPE = 'password2';\nconst DEFAULT_DISPLAYVALUE_PASS2 = '••••••••';\n\nconst passthrough = s => ({\n\tvalue: s\n});\n\nconst passwordChangeEffect = ({ action, dispatch, state }) => {\n\tconst { name, value } = action.payload;\n\tconst onValueChange = adaptCallbackForLegacyAPI(\n\t\tstate.properties.onValueChange\n\t);\n\tif (onValueChange) {\n\t\tonValueChange({ name, value });\n\t} else {\n\t\tdispatch('NOW_RECORD_PASSWORD#VALUE_CHANGED', action.payload);\n\t}\n};\nconst passwordInvalidEffect = ({ action, dispatch, state }) => {\n\tconst fieldValue = get(action, 'payload.fieldValue', '');\n\tconst { type } = state.properties;\n\t//If the user clicks on the field but doesnt edit it, it will be invalid. Just leave the field alone.\n\tif (type == PASS2_TYPE && fieldValue === DEFAULT_DISPLAYVALUE_PASS2) return;\n\tdispatch('TRACK', {\n\t\tmetaData: {\n\t\t\tname: state.properties.name,\n\t\t\tfieldType: 'input-connected'\n\t\t}\n\t});\n\n\tpasswordChangeEffect({\n\t\taction: merge(action, { payload: { value: fieldValue } }),\n\t\tdispatch,\n\t\tstate\n\t});\n};\n\nconst pass2DataRequestGraphQL = createGraphQLEffect(requestPass2, {\n\tvariableList: ['tableName', 'fieldName', 'sysId'],\n\tsuccessActionType: PASS2_DATA_REQUEST_SUCCESS,\n\terrorActionType: PASS2_DATA_REQUEST_ERROR\n});\n/**\n * Handles an alternative case for the mask/unmask button.\n * For pass2 we want to make a request to get the stored password if the field\n * has not been edited.\n *\n */\nconst maskButtonClickedEffect = ({ dispatch, state }) => {\n\tconst { type } = state.properties;\n\tconst { edited = false } = state;\n\tif (type == PASS2_TYPE && !edited) {\n\t\tconst { referringRecordId, referringTable, name } = state.properties;\n\t\tdispatch(PASS2_REQUEST, {\n\t\t\ttableName: referringTable,\n\t\t\tfieldName: name,\n\t\t\tsysId: referringRecordId\n\t\t});\n\t}\n};\n\nconst pass2RequestSuccessEffect = ({\n\taction,\n\tupdateState,\n\tupdateProperties\n}) => {\n\tconst path = 'data.GlideLayout_Query.password2Query.password';\n\tconst password = get(action.payload, path);\n\tupdateState({ password });\n\tif (!isEmpty(password)) {\n\t\tupdateProperties({ initialDisplayValue: password });\n\t}\n};\n\nconst pass2RequestError = ({ action }) => {\n\tconsole.error(action.payload);\n};\n\n/**\n * This is called when the password field receives a key typed in.\n * If the field is password2, we should clear the field of the default bullets that were set\n * and leave only the character they typed in.\n */\nconst passwordInputEffect = ({\n\taction,\n\tstate,\n\tupdateState,\n\tupdateProperties\n}) => {\n\tconst { type } = state.properties;\n\tconst { edited = false } = state;\n\tif (type == PASS2_TYPE && edited == false) {\n\t\tconst newValue = get(action, 'payload.data');\n\t\tupdateState({ edited: true });\n\t\tupdateProperties({ initialDisplayValue: newValue });\n\t}\n};\nexport default {\n\tactionHandlers: {\n\t\t[NOW_INPUT_PASSWORD_VALUE_SET]: {\n\t\t\teffect: passwordChangeEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_PASSWORD_INVALID_SET]: {\n\t\t\teffect: passwordInvalidEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_TEXTAREA_VALUE_SET]: {\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_TEXTAREA_INVALID_SET]: {\n\t\t\teffect: ({ action, dispatch }) => {\n\t\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_BLUR, action.payload);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_PASSWORD_INPUT]: {\n\t\t\teffect: passwordInputEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: maskButtonClickedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PASS2_REQUEST]: effectProxy(pass2DataRequestGraphQL),\n\t\t[PASS2_DATA_REQUEST_SUCCESS]: {\n\t\t\teffect: pass2RequestSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PASS2_DATA_REQUEST_ERROR]: {\n\t\t\teffect: pass2RequestError,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_RECORD_INPUT_PASSWORD_RESET_EDITED]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ edited: false });\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_ACTIONS.INVALID_SET]: {\n\t\t\teffect: ({ action, properties, dispatch }) => {\n\t\t\t\tconst { payload } = action;\n\t\t\t\tif (payload.fromHandleBlur) {\n\t\t\t\t\tif (properties.fieldType === 'order_index') {\n\t\t\t\t\t\tpayload.fieldValue = formatNumber(payload.fieldValue);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (properties.fieldType === 'string') {\n\t\t\t\t\t\tpayload.trackingMetaData = {\n\t\t\t\t\t\t\tinputFormat:\n\t\t\t\t\t\t\t\tArray.isArray(properties.fieldRegex) &&\n\t\t\t\t\t\t\t\tproperties.fieldRegex[0]?.inputFormat\n\t\t\t\t\t\t\t\t\t? 'Yes'\n\t\t\t\t\t\t\t\t\t: 'No'\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_BLUR, payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_ACTIONS.INPUT]: {\n\t\t\teffect: ({ action, dispatch }) => {\n\t\t\t\tconst { payload } = action;\n\t\t\t\tdispatch(SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_CHANGE, payload);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name }\n\t\t\t},\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tconst { internalValue } = state;\n\t\t\tconst { initialValue } = properties;\n\t\t\tif (name === 'formData' && initialValue !== internalValue) {\n\t\t\t\t//formData[field].value and initialValue are same and latest.\n\t\t\t\thandleInitialValue({\n\t\t\t\t\trawValue: initialValue,\n\t\t\t\t\tnewValue: initialValue,\n\t\t\t\t\toldValue: internalValue,\n\t\t\t\t\tstate,\n\t\t\t\t\tproperties,\n\t\t\t\t\tformat: passthrough,\n\t\t\t\t\tupdateState\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import { getItemForKeypress } from '@servicenow/now-dropdown';\nimport { AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED } from \"./constants\";\n\nexport const getCursorPosition = target => {\n\tconst textarea = target.shadowRoot.querySelector(\"now-textarea\")?.shadowRoot.querySelector(\"textarea\");\n\treturn textarea ? textarea.selectionStart : 0;\n}\n\nexport const getSelectedItem = (suggestedItems, value) => {\n\tconst selectedItemIndex = suggestedItems.findIndex(item => item.displayValue === value);\n\treturn selectedItemIndex !== -1 ? value : null;\n}\nexport default ({ host, action, updateState, state, properties, dispatch }) => {\n\tconst { event } = action.payload;\n\tconst { key, target } = event;\n\tconst { isSuggestionsOpened, activeItemId, value } = state;\n\tconst { suggestions: { items }, disabled, readonly, type, nowId } = properties;\n\n\tconst suggestedItems = items.map(item => ({\n\t\tid: item.value,\n\t\tlabel: item.displayValue\n\t}));\n\tconst composedPath = event.composedPath()[0];\n\n\tif (composedPath?.tagName !== 'INPUT' && composedPath?.tagName !== 'TEXTAREA') {\n\t\treturn;\n\t}\n\n\tif (key === 'Enter') {\n\t\tif (activeItemId && isSuggestionsOpened) {\n\t\t\tconst activeItem = suggestedItems.find(item => item.id === activeItemId);\n\t\t\tdispatch(AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED, { item: activeItem });\n\t\t\tif (host) {\n\t\t\t\thost.focus();\n\t\t\t}\n\t\t\tif (type === 'textarea') {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t\telse if (type !== 'textarea') { // We don't want dropdown to be displayed when pressed enter on textarea as enter moves to next line (native)\n\t\t\tconst selectedItem = getSelectedItem(items, value);\n\t\t\tupdateState({ isSuggestionsOpened: true, selectedItem, activeItemId: null });\n\t\t\thost.shadowRoot.querySelector('now-dropdown-list')?.removeAttribute('defer');\n\t\t}\n\t\telse if (type === 'textarea' && isSuggestionsOpened) {\n\t\t\tupdateState({ isSuggestionsOpened: false });\n\t\t}\n\t}\n\telse {\n\t\tif (key !== 'ArrowDown' && !isSuggestionsOpened) { //If initial key is not ArrowDown, we don't want to do anything as it should open dropdown\n\t\t\treturn;\n\t\t}\n\n\t\tif (key !== 'ArrowDown' && key !== 'ArrowUp' && isSuggestionsOpened) {\n\t\t\tupdateState({\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'isSuggestionsOpened',\n\t\t\t\tvalue: false\n\t\t\t});\n\t\t\tif (host) {\n\t\t\t\thost.focus();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (key === 'ArrowUp') { //ArrowUp should iterate through the dropdown items\n\t\t\tif (!activeItemId) { // Close the dropdown when focus is not on dropdown\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'isSuggestionsOpened',\n\t\t\t\t\tvalue: false\n\t\t\t\t});\n\t\t\t\thost.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (activeItemId === suggestedItems[0].id) { // Remove the focus from dropdown on further pressing arrow up from first item\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'activeItemId',\n\t\t\t\t\tvalue: null\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (type === 'textarea') { // We don't want panel to be displayed when the cursor is in the middle of multiline text.\n\t\t\tconst cursorPosition = getCursorPosition(target);\n\t\t\tif (cursorPosition < value.length) {\n\t\t\t\tif (!isSuggestionsOpened) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (key === 'ArrowDown') {\n\t\t\tif (!isSuggestionsOpened && !disabled && !readonly) { // When dropdown is not opened, ArrowDown opens it\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'isSuggestionsOpened',\n\t\t\t\t\t\tvalue: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'selectedItem',\n\t\t\t\t\t\tvalue: getSelectedItem(items, value)\n\t\t\t\t\t},\n\n\t\t\t\t]);\n\t\t\t\tif (host) {\n\t\t\t\t\thost.shadowRoot.querySelector('now-dropdown-list')?.removeAttribute('defer');\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst nextItem = getItemForKeypress(suggestedItems, activeItemId, key);\n\t\tif (!nextItem) {\n\t\t\treturn;\n\t\t}\n\t\tcomposedPath.setAttribute('aria-activedescendant', `now-dropdown-list-${nowId}-option-${nextItem.id}`);\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: 'activeItemId',\n\t\t\tvalue: nextItem.id\n\t\t});\n\t}\n}\n","import { filter, isEmpty, size } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\n\n// Internal Function Imports\nimport {\n\tisEditable,\n\tCALLBACK_AND_DISPATCH_WITH_STATE\n} from '@devsnc/sn-controls-common';\nimport { AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED } from './constants';\nimport handleKeydownForSuggestions, {\n\tgetSelectedItem\n} from './handleKeydownForSuggestions';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst NOW_DROPDOWN_LIST_ITEM_CLICKED = 'NOW_DROPDOWN_LIST#ITEM_CLICKED';\nconst NOW_INPUT_CHANGE = 'NOW_INPUT#INPUT';\nconst NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\nconst supportsDropdown = properties => {\n\tconst { autocompleteOptions } = properties;\n\treturn !isEmpty(autocompleteOptions) && isEditable(properties);\n};\n\n/**\n * function that filters out the autoComplete options by the value user has entered\n * @param {array} autocompleteOptions list of options\n * @param {bool} autocompleteMatchAnywhere qualifier for type of search\n * @returns {array} filtered list of options\n */\nconst filterStaticOptions = ({\n\tautocompleteOptions,\n\tautocompleteMatchAnywhere,\n\tvalue = ''\n}) => {\n\tconst matcher = autocompleteMatchAnywhere ? 'includes' : 'startsWith';\n\tconst lowerCaseInput = value.toLowerCase();\n\treturn filter(\n\t\tautocompleteOptions,\n\t\topt => !isEmpty(value) && opt.toLowerCase()[matcher](lowerCaseInput)\n\t);\n};\n\nexport default {\n\tname: 'withAutocompleteBehavior',\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect({ host, action, updateState, state, properties, dispatch }) {\n\t\t\t\tif (!supportsDropdown(properties)) {\n\t\t\t\t\tif (!isEmpty(properties.suggestions.items)) {\n\t\t\t\t\t\thandleKeydownForSuggestions({\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { event } = action.payload;\n\t\t\t\tconst { key } = event;\n\t\t\t\tconst { highlightedIndex } = state;\n\t\t\t\tconst filteredOptions = filterStaticOptions({\n\t\t\t\t\t...properties,\n\t\t\t\t\tvalue: state.value\n\t\t\t\t});\n\t\t\t\tif (isEmpty(filteredOptions)) return;\n\n\t\t\t\tif (key === 'Enter') {\n\t\t\t\t\tdispatch(AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED, {\n\t\t\t\t\t\titem: {\n\t\t\t\t\t\t\tlabel: filteredOptions[highlightedIndex],\n\t\t\t\t\t\t\tid: filteredOptions[highlightedIndex]\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else if (key === 'ArrowUp') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\thighlightedIndex: Math.max(0, highlightedIndex - 1)\n\t\t\t\t\t});\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t} else if (key === 'ArrowDown') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\thighlightedIndex: Math.min(\n\t\t\t\t\t\t\tsize(filteredOptions) - 1,\n\t\t\t\t\t\t\thighlightedIndex + 1\n\t\t\t\t\t\t)\n\t\t\t\t\t});\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({ properties, updateState }) => {\n\t\t\tif (!supportsDropdown(properties)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'highlightedIndex',\n\t\t\t\tvalue: 0,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name, value: newValue }\n\t\t\t},\n\t\t\tproperties,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!supportsDropdown(properties)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tname === 'autocompleteOptions' ||\n\t\t\t\tname === 'autocompleteMatchAnywhere' ||\n\t\t\t\tname === 'value'\n\t\t\t) {\n\t\t\t\tconst { autocompleteOptions, autocompleteMatchAnywhere, value } =\n\t\t\t\t\tproperties;\n\t\t\t\tif (value !== properties[name]) {\n\t\t\t\t\tconst options = filterStaticOptions({\n\t\t\t\t\t\tautocompleteOptions,\n\t\t\t\t\t\tautocompleteMatchAnywhere,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t[name]: newValue\n\t\t\t\t\t});\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'options',\n\t\t\t\t\t\t\tvalue: options,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[NOW_DROPDOWN_LIST_ITEM_CLICKED]: {\n\t\t\teffect({ host, action, properties, dispatch }) {\n\t\t\t\tconst {\n\t\t\t\t\tsuggestions: { items: suggestedItems = [] }\n\t\t\t\t} = properties;\n\t\t\t\tconst { payload } = action;\n\t\t\t\tif (!supportsDropdown(properties) && isEmpty(suggestedItems)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdispatch(AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED, payload);\n\t\t\t\thost.focus();\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\teffect({\n\t\t\t\thost,\n\t\t\t\taction,\n\t\t\t\tupdateState,\n\t\t\t\tproperties: {\n\t\t\t\t\tsuggestions: { items: suggestedItems = [] }\n\t\t\t\t},\n\t\t\t\tstate: { value: stateValue }\n\t\t\t}) {\n\t\t\t\tconst { value, actionSource } = action.payload;\n\t\t\t\tif (suggestedItems.length > 0) {\n\t\t\t\t\tconst selectedItem = getSelectedItem(suggestedItems, stateValue);\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\thost.shadowRoot\n\t\t\t\t\t\t\t.querySelector('now-dropdown-list')\n\t\t\t\t\t\t\t?.removeAttribute('defer');\n\t\t\t\t\t} else if (actionSource === 'trigger-click') {\n\t\t\t\t\t\t//for value = false\n\t\t\t\t\t\thost.focus();\n\t\t\t\t\t}\n\t\t\t\t\tupdateState({ isSuggestionsOpened: value, selectedItem });\n\t\t\t\t} else if (!value) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\toptions: []\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[AUTOCOMPLETE_DROPDOWN_ITEM_SELECTED]: {\n\t\t\teffect({ action, dispatch, updateState, properties }) {\n\t\t\t\tconst {\n\t\t\t\t\tsuggestions: { items: suggestedItems, ...meta }\n\t\t\t\t} = properties;\n\t\t\t\tif (!supportsDropdown(properties) && isEmpty(suggestedItems)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst {\n\t\t\t\t\tpayload: { item }\n\t\t\t\t} = action;\n\t\t\t\tconst { onValueChange, name } = properties;\n\t\t\t\tconst { label } = item;\n\t\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\t\tcallback: onValueChange,\n\t\t\t\t\tisValueChanged: true,\n\t\t\t\t\tdispatchPayload: {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue: label,\n\t\t\t\t\t\tdisplayValue: label,\n\t\t\t\t\t\tfromEvent: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (!isEmpty(suggestedItems)) {\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'isSuggestionsOpened',\n\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'activeItemId',\n\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t\t\tdispatch('TRACK', {\n\t\t\t\t\t\tmetaData: {\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tfieldType: 'input-connected'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalOptions: { ...meta, parentHandling: true }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tupdateState({\n\t\t\t\t\toptions: []\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_INPUT_CHANGE]: {\n\t\t\teffect({ action, properties, updateState }) {\n\t\t\t\tif (!supportsDropdown(properties)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { fieldValue } = action.payload;\n\t\t\t\tconst filteredOptions = filterStaticOptions({\n\t\t\t\t\t...properties,\n\t\t\t\t\tvalue: fieldValue\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\toptions: filteredOptions\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","import {\n\tgetSerializedChanges,\n\tisClassicForm\n} from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const isPasswordMasked = password => {\n\tif (!password) {\n\t\treturn false;\n\t}\n\tconst charSet = new Set(password.split(''));\n\treturn charSet.size === 1 && charSet.has('*');\n};\n\nexport default {\n\tname: 'passwordBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({ properties, dispatch }) => {\n\t\t\tif (\n\t\t\t\tproperties.type === 'password2' &&\n\t\t\t\t!isClassicForm(properties.formData)\n\t\t\t) {\n\t\t\t\tconst serializedChanges = JSON.parse(getSerializedChanges(properties));\n\t\t\t\tif (\n\t\t\t\t\t!serializedChanges[properties.name] &&\n\t\t\t\t\tisPasswordMasked(properties.initialDisplayValue)\n\t\t\t\t) {\n\t\t\t\t\tdispatch('NOW_RECORD_INPUT_PASSWORD#RESET_EDITED');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import { isEmpty } from 'lodash';\n\nexport default (oldObj, newObj) =>\n\tisEmpty(newObj) ? oldObj : { ...oldObj, ...newObj };\n","// Third Party Imports\nimport React from 'react';\nimport { flow, omit, extend, toString } from 'lodash';\nimport merge from './merge';\n\nimport { withValueChangeCallbacks } from '@devsnc/sn-controls-common';\n\nconst passthrough = s => ({ value: s });\n\n/**\n * Adds state management and the format/parse loop for inputs\n *\n * @argument Component the input component to wrap with state + formatting management\n * @argument Formatter with the shape of { parse, format }. Defaults to passthroughs\n */\nexport default (\n\tComponent,\n\t{ parse = passthrough, format = passthrough, stopBubbling = [] } = {}\n) => {\n\tconst parseAndFormat = (value, props, additionalInfo = {}) => {\n\t\tconst { value: parsedValue, error } = parse(value, props, additionalInfo);\n\t\tif (!error) {\n\t\t\tconst { value: formattedValue, error } = format(\n\t\t\t\tparsedValue,\n\t\t\t\tprops,\n\t\t\t\tadditionalInfo\n\t\t\t);\n\n\t\t\treturn { parsedValue, formattedValue, additionalInfo, error };\n\t\t}\n\n\t\treturn { parsedValue, formattedValue: value, additionalInfo, error };\n\t};\n\n\treturn withValueChangeCallbacks(\n\t\t{ initialValueProp: 'initialValue', stopBubbling },\n\t\tclass ConnectedInputState extends React.PureComponent {\n\t\t\tstatic componentName = Component.componentName;\n\t\t\t/**\n\t\t\t * constructor\n\t\t\t * @param {object} props\n\t\t\t */\n\t\t\tconstructor(props) {\n\t\t\t\tsuper(props);\n\n\t\t\t\tconst initialValue = toString(props.initialValue);\n\t\t\t\tconst initialDisplayValue = toString(props.initialDisplayValue);\n\n\t\t\t\tconst { value, error, ...additionalInfo } = format(initialValue, props);\n\n\t\t\t\tthis.state = {\n\t\t\t\t\tvalue: initialValue,\n\t\t\t\t\tdisplayValue: initialDisplayValue ? initialDisplayValue : value,\n\t\t\t\t\tadditionalInfo,\n\t\t\t\t\terror,\n\t\t\t\t\tisBlur: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcomponentWillReceiveProps(nextProps) {\n\t\t\t\t// Allow new props to update value state _only_ when the field doesn't\n\t\t\t\t// have focus\n\t\t\t\tconst nextInitialValue = toString(nextProps.initialValue);\n\n\t\t\t\tif (\n\t\t\t\t\t(this.state.isBlur && !nextProps.initialValue) ||\n\t\t\t\t\tnextInitialValue !== toString(this.props.initialValue)\n\t\t\t\t) {\n\t\t\t\t\tconst { value, error, ...additionalInfo } = format(\n\t\t\t\t\t\tnextInitialValue,\n\t\t\t\t\t\tnextProps,\n\t\t\t\t\t\tthis.state.additionalInfo\n\t\t\t\t\t);\n\n\t\t\t\t\tconst mergedAdditionalInfo = merge(\n\t\t\t\t\t\tthis.state.additionalInfo,\n\t\t\t\t\t\tadditionalInfo\n\t\t\t\t\t);\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tnextInitialValue !== this.state.value ||\n\t\t\t\t\t\tvalue !== this.state.displayValue ||\n\t\t\t\t\t\terror !== this.state.error ||\n\t\t\t\t\t\tmergedAdditionalInfo !== this.state.additionalInfo\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\tvalue: nextInitialValue,\n\t\t\t\t\t\t\tdisplayValue: value,\n\t\t\t\t\t\t\tadditionalInfo: mergedAdditionalInfo,\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t\tisBlur: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tonValueChange = ({ value, additionalInfo }, format = false) => {\n\t\t\t\t// todo: format flag is lame\n\t\t\t\tif (format) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tparsedValue,\n\t\t\t\t\t\tformattedValue,\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tadditionalInfo: newAdditionalInfo\n\t\t\t\t\t} = parseAndFormat(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tthis.props,\n\t\t\t\t\t\tmerge(this.state.additionalInfo, additionalInfo)\n\t\t\t\t\t);\n\n\t\t\t\t\tthis.props.onValueChange({\n\t\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\t\terror\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\t\tadditionalInfo: merge(this.state.additionalInfo, newAdditionalInfo),\n\t\t\t\t\t\terror\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.props.onStagedValueChange({\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tdisplayValue: value\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdisplayValue: value,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tadditionalInfo: merge(this.state.additionalInfo, additionalInfo)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tonBlur = event => {\n\t\t\t\tconst {\n\t\t\t\t\tparsedValue,\n\t\t\t\t\tformattedValue,\n\t\t\t\t\terror,\n\t\t\t\t\tadditionalInfo: newAdditionalInfo\n\t\t\t\t} = parseAndFormat(\n\t\t\t\t\tthis.state.value,\n\t\t\t\t\tthis.props,\n\t\t\t\t\tthis.state.additionalInfo\n\t\t\t\t);\n\n\t\t\t\tthis.setState({\n\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\tadditionalInfo: merge(this.state.additionalInfo, newAdditionalInfo),\n\t\t\t\t\terror,\n\t\t\t\t\tisBlur: true\n\t\t\t\t});\n\n\t\t\t\t// value is updated on blur only\n\t\t\t\tthis.props.onValueChange({\n\t\t\t\t\tevent,\n\t\t\t\t\terror,\n\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\tignoreCache: true\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tonChange = (event, encodedValue) => {\n\t\t\t\tconst value = encodedValue || event.target.value;\n\t\t\t\tthis.setState({\n\t\t\t\t\tvalue,\n\t\t\t\t\tdisplayValue: value\n\t\t\t\t});\n\n\t\t\t\tthis.props.onStagedValueChange({ event, value });\n\t\t\t};\n\n\t\t\t/**\n\t\t\t * render\n\t\t\t * @return {ReactElement} markup\n\t\t\t */\n\t\t\trender() {\n\t\t\t\tconst attrs = flow(\n\t\t\t\t\tprops => omit(props, ['initialValue']),\n\t\t\t\t\tprops =>\n\t\t\t\t\t\textend(props, {\n\t\t\t\t\t\t\tonValueChange: this.onValueChange,\n\t\t\t\t\t\t\tvalue: this.state.displayValue,\n\t\t\t\t\t\t\terror: this.state.error,\n\t\t\t\t\t\t\tonChange: this.onChange,\n\t\t\t\t\t\t\tonBlur: this.onBlur,\n\t\t\t\t\t\t\tonFocus: this.onFocus,\n\t\t\t\t\t\t\t...this.state.additionalInfo\n\t\t\t\t\t\t})\n\t\t\t\t)(this.props);\n\n\t\t\t\treturn <Component {...attrs} />;\n\t\t\t}\n\t\t}\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport focusBehavior, { getFocusableNodes } from '@servicenow/behavior-focus';\nimport style from './input.scss';\nimport defaultConnectedInput, { ConnectedInput } from './ConnectedInput';\nimport passwordStyle from './password.scss';\nimport inputActionHandlers from './inputActionHandlers';\nimport {\n\tcreateWithStateBehavior,\n\tsetInitialStateWithValue,\n\ttrackBehavior,\n\ttransformState,\n\ttranslationBehavior,\n\tisEnabledBehavior,\n\twithState as withStateView,\n\tdynamicTranslationBehaviour,\n\tSeismicComponentFieldPropDefaults,\n\tSeismicComponentProps\n} from '@devsnc/sn-controls-common';\nimport withAutocompleteBehavior from './withAutocompleteBehavior';\nimport passwordBehavior from './passwordBehavior';\nimport {\n\tnowAssistActionsBehavior,\n\tnacmBehavior\n} from '@devsnc/sn-record-nowassist';\nimport { SN_RECORD_INPUT_CONNECTED_ACTIONS } from './constants';\n\nexport { ConnectedInput };\n/*\n * To support backward compatibility for previously exposed react external APIs when upgrade is in progress\n * TODO: Remove this import and respective files in N+2 release from Tokyo release\n */\nexport { withState } from './legacy-files';\n\nconst withStateBehavior = {\n\tbehavior: createWithStateBehavior({\n\t\tinitialValueProp: 'initialValue',\n\t\tinitialDisplayValueProp: 'initialDisplayValue',\n\t\teventBased: false,\n\t\tfieldChangeHandlers: {\n\t\t\tonBlur: SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_BLUR,\n\t\t\tonChange: SN_RECORD_INPUT_CONNECTED_ACTIONS.ON_CHANGE\n\t\t}\n\t})\n};\n\nexport const focusOnTrigger = host => {\n\tconst trigger = host.shadowRoot.querySelector('[slot=\"trigger\"]');\n\tif (trigger) trigger.focus = () => {};\n};\n\nexport const focusOnNativeInput = host => {\n\tconst { tabbableNodes = [] } = getFocusableNodes(host);\n\tconst nativeInputNode = tabbableNodes.filter(\n\t\tnode => node.tagName === 'INPUT' || node.tagName === 'TEXTAREA'\n\t);\n\tif (nativeInputNode.length) {\n\t\tnativeInputNode[0].focus();\n\t}\n};\n\n/**\n * Basic input variations (Note that in this demo each input shares the same\n`value` state):\n *\n *\n * ```jsx\n * import '@devsnc/sn-record-input-connected';\n * initialState = {\n\tvalue: 'I am value'\n};\n\n<Fragment>\n\t<sn-record-input-connected\n\t\tlabel=\"I am label\"\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t/>\n<\/Fragment>;\n * ```\n *\n *\n * @seismicElement sn-record-input-connected\n * @summary Input Cnnected Component\n *\n */\n\ncreateCustomElement('sn-record-input-connected', {\n\tview: withStateView(defaultConnectedInput),\n\tstyles: `${style} ${passwordStyle}`,\n\tproperties: {\n\t\t//Change this to properties when input is migrated to seismic\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t...SeismicComponentProps,\n\t\t/**\n\t\t * When rendering a textarea, the number of character rows that should be\n\t\t * displayed.\n\t\t */\n\t\trows: {},\n\n\t\t/**\n\t\t * When rendering a textarea, the number of character columns that should be\n\t\t * displayed.\n\t\t */\n\t\tcols: {},\n\n\t\t/**\n\t\t * Wrap rendering a textarea, this specifies how text should be wrapped.\n\t\t */\n\t\twrap: {},\n\n\t\t/**\n\t\t * When provided, aligns the input text to the end of the input.\n\t\t */\n\t\talign: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the minimum value that should be permitted.\n\t\t */\n\t\tmin: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the maximum value that should be permitted.\n\t\t */\n\t\tmax: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the minimum distance between 2 valid values.\n\t\t */\n\t\tstep: {},\n\n\t\t/**\n\t\t * Maximum number of characters to allow in the input.\n\t\t */\n\t\tmaxlength: {},\n\n\t\t/**\n\t\t * For backwards compatibility, some string fields should not enforce maxlength.\n\t\t * This is an internal property. Please do not use.\n\t\t *\n\t\t * @see https://support.servicenow.com/kb?id=kb_article_view&sys_kb_id=977420dbdbaee340f0612183ca961914\n\t\t * @private\n\t\t */\n\t\tignoreMaxlength: {},\n\n\t\t/**\n\t\t * When true, the input will be focused immediately upon being rendered.\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * When true combines with textbox rendering, the component will display a character\n\t\t * counter showing the amount of characters left.\n\t\t */\n\t\tshowCounter: {},\n\t\t/**\n\t\t * When rendering a textarea, whether or not to show the resize handle. When true,\n\t\t * displays a vertical resize handle.\n\t\t */\n\t\tresizable: {},\n\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t */\n\t\tdisabled: {},\n\n\t\t/**\n\t\t * When provided, adds the sn-record-control variant to render\n\t\t */\n\t\tvariant: {},\n\t\tvalue: {},\n\n\t\t/**\n\t\t * When provided, allows the parent component to listen in on each input change\n\t\t */\n\t\tonChange: {},\n\t\tchildren: {},\n\n\t\t/**\n\t\t * Content to use as dropdown\n\t\t */\n\t\tdropdown: {},\n\n\t\t/**\n\t\t * Content to use as the label\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * The `role` of the input element\n\t\t */\n\t\trole: {},\n\n\t\t/**\n\t\t * Whether FocusWatcher should listen for outside scroll event\n\t\t */\n\t\thandleOutsideScrollFocus: {},\n\n\t\t/**\n\t\t * Handle dropdowns the old way\n\t\t */\n\t\tfallbackDropdownBehavior: {},\n\n\t\tinitialDisplayValue: {},\n\n\t\t/**\n\t\t * Initial value for the input.\n\t\t */\n\t\tinitialValue: {},\n\n\t\t/**\n\t\t * Mentions debounce delay before searching\n\t\t */\n\t\tdebounce: {},\n\n\t\t/**\n\t\t * Callback function that is called as the user interacts with the control,\n\t\t * fired as soon as user interaction has begun. It is not guaranteed to be\n\t\t * the final or complete value from the user; use `onValueChange` for that.\n\t\t *\n\t\t * @param {SyntheticEvent} event The react event that triggered the change.\n\t\t * This *can* be null when the value has been changed programatically.\n\t\t *\n\t\t * @param {String} name The name of the component. This will match the value\n\t\t * of the `name` component prop.\n\t\t *\n\t\t * @param {Any} value The new value.\n\t\t */\n\t\tonStagedValueChange: {\n\t\t\tshouldRenderWhenSet: false\n\t\t},\n\n\t\t/**\n\t\t * Callback function that is called as the user finishes interacting with\n\t\t * the control.\n\t\t *\n\t\t * @param {SyntheticEvent} event The react event that triggered the change.\n\t\t * This *can* be null when the value has been changed programatically.\n\t\t *\n\t\t * @param {String} name The name of the component. This will match the value\n\t\t * of the `name` component prop.\n\t\t *\n\t\t * @param {Any} value The new value.\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * onSelect event callback\n\t\t */\n\t\tonSelect: {},\n\t\t/**\n\t\t * onClick event callback\n\t\t */\n\t\tonClick: {},\n\n\t\t/**\n\t\t * onMouseEnter event callback\n\t\t */\n\t\tonMouseEnter: {},\n\n\t\t/**\n\t\t * onMouseLeave event callback\n\t\t */\n\t\tonMouseLeave: {},\n\n\t\t/**\n\t\t * onFocus event callback\n\t\t */\n\t\tonFocus: {},\n\n\t\t/**\n\t\t * onBlur event callback\n\t\t */\n\t\tonBlur: {},\n\n\t\t/**\n\t\t * onKeyDown event callback\n\t\t */\n\t\tonKeyDown: {},\n\n\t\t/**\n\t\t * onKeyUp event callback\n\t\t */\n\t\tonKeyUp: {},\n\n\t\t/**\n\t\t * onKeyPress event callback\n\t\t */\n\t\tonKeyPress: {},\n\n\t\t/**\n\t\t * When true, the component will automatically suggest possible values to the\n\t\t * user while they interact with the component.\n\t\t */\n\t\tautocomplete: {},\n\n\t\t/**\n\t\t * Array of possible values that can be suggested to the user. Requires `autocomplete=\"true\"`.\n\t\t */\n\t\tautocompleteOptions: {},\n\n\t\t/**\n\t\t * When true, autocomplete options that match the input in any location will\n\t\t * be suggested.  When false, the autocomplete option must start with the\n\t\t * search string to be considered a match. Requires `autocomplete=\"true\"`\n\t\t */\n\t\tautocompleteMatchAnywhere: {},\n\n\t\t/**\n\t\t * The number of lines until texteditor should be autoresized when 'autoresize' property is set to true.\n\t\t */\n\t\tautoresizeLineLimit: {},\n\n\t\t/**\n\t\t * When true, the default maximum height of 256px and autoresizeLineLimit is ignored.\n\t\t */\n\t\tdisableMaxHeight: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * When true, the default minimum height of 64px is ignored.\n\t\t */\n\t\tdisableMinHeight: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Sets the unlock/lock icon for password2 field visible\n\t\t */\n\t\tdisableUnmask: {},\n\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t */\n\t\treferringTable: {},\n\n\t\t/**\n\t\t * record id of the current record where the field is located\n\t\t */\n\t\treferringRecordId: {},\n\n\t\t/**\n\t\t * Name of the field\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Each mention will run a GraphQL lookup for a given query each time\n\t\t * a prefix key is typed. Typically used for looking up users when typing the `@` key.\n\t\t */\n\t\tmentions: {},\n\n\t\t/**\n\t\t * Declarative Actions Props\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * Determines if a mentions GraphQL is running\n\t\t */\n\t\tmentionsLoading: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * Determines the type of input to render, text, textarea, or journal\n\t\t */\n\n\t\ttype: {},\n\n\t\t/**\n\t\t * If set to true, this will re-evaluate certain declarative action properties.\n\t\t * Otherwise, it will use whatever declarative action props were passed in.\n\t\t * Default: true.\n\t\t */\n\t\toverrideDeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * Dictionary attributes to show condition count and to restrict\n\t\t * fields in dot-walk\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\n\t\tdispatches: {\n\t\t\t/**\n\t\t\t * Dispatched on blur.\n\t\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t\t */\n\t\t\t'NOW_RECORD_PASSWORD#VALUE_CHANGED': {}\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Flag that indicates whether the component fits to its parent's height. When true, the component is grown to its parent's height. Default: false.\n\t\t * @type {boolean}\n\t\t */\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\n\t\t/**\n\t\t * Flag to control the autoresizing of the input region to the content inside it when well-defined mentions are passed to it via props.\n\t\t * NOTE: The autoresize behaviour is always enabled by default for other cases and cannot be controlled via this prop.\n\t\t * @type {boolean}\n\t\t */\n\t\tautoresize: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Field which indicates preloaded members of the record\n\t\t * @type {Array.<{\n\t\t *     sys_id: string,\n\t\t *     name: string,\n\t\t *     username: string,\n\t\t *     email: string,\n\t\t *     avatar: string,\n\t\t *     active: boolean\n\t\t * }>}\n\t\t * @default []\n\t\t * @schema { type: 'array' }\n\t\t */\n\t\tpreloadMentions: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' }\n\t\t},\n\t\t/**\n\t\t * Settings require to enable text commands feature\n\t\t *\n\t\t * Shape\n\t\t *\n\t\t * `type:boolean` enableTextCommands - Flag that needs to be true in order for the feature to be enabled\n\t\t *\n\t\t * `type:string` type - To set the type of component fetching the text commands(whether email, field_type)\n\t\t *\n\t\t * `type:string` fieldType - To set the fieldType of the component fetching text commands\n\t\t *\n\t\t * `type:string` recordTable - Table to check ACLs against when fetching/invoking text commands.\n\t\t *\n\t\t * `type:string` recordSysId - The sys_id of the record to check ACLs against when fetching/invoking text commands.\n\t\t *\n\t\t * @type {{ enableTextCommands: boolean, type: string, fieldType: string, recordTable: string, recordSysId: string}}\n\t\t */\n\t\ttextCommandsConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableTextCommands: { type: 'boolean' },\n\t\t\t\t\trecordTable: { type: 'string' },\n\t\t\t\t\trecordSysId: { type: 'string' },\n\t\t\t\t\ttype: { type: 'string' },\n\t\t\t\t\tfieldType: { type: 'string' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * A collection of field validation patterns used to validate specific input formats.\n\t\t * Each field contains attributes such as pattern, placeholder, guidanceText, and status to customize validation.\n\t\t *\n\t\t * Example:\n\t\t * ```json\n\t\t * [\n\t\t *   {\n\t\t *     \"pattern\": \"\\\\b(?!666|000|9\\\\d{2})\\\\d{3}-(?!00)\\\\d{2}-(?!0{4})\\\\d{4}\\\\b\",\n\t\t *     \"placeholder\": null,\n\t\t *     \"guidanceText\": \"Invalid Value. Please enter correct value\",\n\t\t *     \"type\": \"suggestion\"\n\t\t *   }\n\t\t * ]\n\t\t * ```\n\t\t * Properties:\n\t\t * - `pattern` (string): The regex pattern used for validating the input.\n\t\t * - Example for SSN: `\\\\b(?!666|000|9\\\\d{2})\\\\d{3}-(?!00)\\\\d{2}-(?!0{4})\\\\d{4}\\\\b`.\n\t\t * - `placeholder` (string | null): A placeholder string that provides input guidance. Defaults to `null`.\n\t\t * - `guidanceText` (string): A custom error message displayed when the validation fails.\n\t\t * - Default: `\"Invalid Value. Please enter correct value.\"`.\n\t\t * - `type` : `Guidance Text type. example (suggestion,positive,info,warning,critical)`\n\t\t *\n\t\t * Use `fieldRegex` to define and manage validation rules for fields that require structured input formats.\n\t\t *\n\t\t * @type {Array.<{pattern: string, placeholder: string, guidanceText: string, type: string}>}\n\t\t */\n\t\tfieldRegex: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tpattern: { type: 'string' },\n\t\t\t\t\t\tplaceholder: { type: 'string', default: null },\n\t\t\t\t\t\tguidanceText: { type: 'string' },\n\t\t\t\t\t\tinputFormat: { type: 'string' },\n\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tenum: ['suggestion', 'positive', 'critical', 'info', 'warning'],\n\t\t\t\t\t\t\tdefault: 'suggestion'\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['pattern', 'guidanceText', 'type']\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the type of input control to render based on the expected value type.\n\t\t * This setting is applied only when `fieldRegex` mappings are present; otherwise, it defaults to `'text'` or `textarea` based on maxlength.\n\t\t *\n\t\t * @type {('email' | 'ip' | 'number' | 'text')}\n\t\t * @uib.description Defines the input field type, which can be one of the following: 'email', 'ip', 'number', or 'text'.\n\t\t */\n\t\tmobileKeypadType: {\n\t\t\tdefault: 'text',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['email', 'ip', 'number', 'text']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: inputActionHandlers.actionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\tpasswordBehavior,\n\t\twithAutocompleteBehavior,\n\t\twithStateBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: host => {\n\t\t\t\t\tfocusOnTrigger(host);\n\t\t\t\t\tfocusOnNativeInput(host);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ behavior: translationBehavior },\n\t\t{ behavior: isEnabledBehavior },\n\t\t{ behavior: dynamicTranslationBehaviour },\n\t\t{ behavior: nowAssistActionsBehavior },\n\t\t{ behavior: nacmBehavior }\n\t],\n\ttransformState,\n\tsetInitialState: setInitialStateWithValue(),\n\tslots: {\n\t\t/**\n\t\t * Slot located at the end of the label.\n\t\t */\n\t\t'controls-label-end': {},\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_PASSWORD#VALUE_CHANGED': {},\n\t\t'SN_RECORD_INPUT_CONNECTED#VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a text command option is selected\n\t\t */\n\t\t'UI_TEXT_COMMAND#OPTION_SELECTED': {}\n\t}\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && '__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect;\n\t\t\t\t\t} else if ('__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect;\n\t\t\t\t} });","export const COMPONENT_LOAD_COMPLETED =\n\t'SN_RECORD_CODE_EDITOR#COMPONENT_LOAD_COMPLETED';\nexport const COMPONENT_LOAD_FAILED =\n\t'SN_RECORD_CODE_EDITOR#COMPONENT_LOAD_FAILED';\nexport const COMPONENT_LOAD_REQUESTED =\n\t'SN_RECORD_CODE_EDITOR#COMPONENT_LOAD_REQUESTED';\nexport const NOW_CODE_EDITOR_CONTENT_CHANGED =\n\t'NOW_CODE_EDITOR#CONTENT_CHANGED';\nexport const NOW_CODE_EDITOR_TEXT_EDITOR_FOCUS_CHANGED =\n\t'NOW_CODE_EDITOR#TEXT_EDITOR_FOCUS_CHANGED';\nexport const SN_RECORD_INPUT_CONNECTED_VALUE_CHANGED =\n\t'SN_RECORD_INPUT_CONNECTED#VALUE_CHANGED';\nexport const SN_RECORD_CODE_EDITOR_FOCUS_CHANGED =\n\t'SN_RECORD_CODE_EDITOR#FOCUS_CHANGED';\nexport const CONDITION_STRING_LINT_REQUESTED =\n\t'CONDITION_STRING#LINT_REQUESTED';\nexport const CONDITION_STRING_LINT_WORKER_LINTING_COMPLETE =\n\t'CONDITION_STRING_LINT_WORKER#LINTING_COMPLETE';\nexport const CONDITION_STRING = 'condition_string';\n\nexport const JAVASCRIPT = 'javascript';\nexport const XML = 'xml';\nexport const ERROR = 'error';\nexport const WARNING = 'warning';\nexport const MAX_LENGTH_INPUT = 255;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"XMLValidator\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__.__esModule\n\t\t\t\t\tif (cjsModule && 'XMLValidator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"].XMLValidator;\n\t\t\t\t\t} else if ('XMLValidator' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__.XMLValidator || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_fast_xml_parser_4_2_7_index_jsdbx_de1774b5__[\"default\"].XMLValidator;\n\t\t\t\t} });","const workerFn = () => {\n\tlet scriptImported = false;\n\tself.onmessage = ({\n\t\tdata: {\n\t\t\tname,\n\t\t\tpayload: { id, origin, script, linterConfig }\n\t\t}\n\t}) => {\n\t\tif (name !== 'CONDITION_STRING#LINT_REQUESTED') {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!scriptImported) {\n\t\t\timportScripts(\n\t\t\t\t`${origin}/uxasset/externals/@servicenow/now-code-editor/eslint_7.4.0.jsdbx?sysparm_substitute=false`\n\t\t\t);\n\t\t\tscriptImported = true;\n\t\t}\n\n\t\tconst linter = new eslint.Linter();\n\t\tself.postMessage({\n\t\t\tname: 'CONDITION_STRING_LINT_WORKER#LINTING_COMPLETE',\n\t\t\tpayload: {\n\t\t\t\tid,\n\t\t\t\tresult: linter.verify(script, linterConfig)\n\t\t\t}\n\t\t});\n\t};\n};\n\nlet instance;\nexport default () => {\n\tif (!instance) {\n\t\tinstance = new Worker(\n\t\t\twindow.URL.createObjectURL(new Blob([`(${workerFn.toString()})()`]))\n\t\t);\n\t}\n\treturn instance;\n};\n","import { XMLValidator } from 'fast-xml-parser';\nimport { t } from 'sn-translate';\nimport LintWorkerFactory from './lintWorker';\nimport {\n\tCONDITION_STRING_LINT_REQUESTED,\n\tCONDITION_STRING_LINT_WORKER_LINTING_COMPLETE,\n\tCONDITION_STRING\n} from './constants';\n\nexport function validateXML(xml) {\n\tif (!xml) return;\n\tlet errorMessage;\n\t// we can remove this with https://github.com/NaturalIntelligence/fast-xml-parser/issues/601\n\tif (xml.includes('<?xml') && !xml.startsWith('<?xml')) {\n\t\tlet x = xml.indexOf('<?xml');\n\t\txml = xml.substring(0, x);\n\t\tlet lineNumber = xml.split('\\n').length;\n\t\terrorMessage = t(\n\t\t\t'Error at line {lineNumber} XML declaration allowed only at the start of the document.',\n\t\t\t{\n\t\t\t\tlineNumber: lineNumber\n\t\t\t}\n\t\t);\n\t} else {\n\t\t// we have a similar check in UI16 https://code.devsnc.com/dev/commons/blob/master/commons-glide/src/main/java/com/glide/util/XMLUtil.java#L492\n\t\tif (xml.includes('<?xml') && xml.startsWith('<?xml')) {\n\t\t\tlet endOfPrefix = xml.indexOf('>');\n\t\t\txml =\n\t\t\t\txml.substring(0, endOfPrefix + 1) +\n\t\t\t\t'<xml>' +\n\t\t\t\txml.substring(endOfPrefix + 1) +\n\t\t\t\t'<\/xml>';\n\t\t} else xml = '<xml>' + xml + '<\/xml>';\n\t\tconst validator = XMLValidator.validate(xml);\n\t\tconst error = validator.err;\n\t\terrorMessage = error\n\t\t\t? t('Error at line ({line}) column ({col}) {msg}', {\n\t\t\t\t\tline: error.line,\n\t\t\t\t\tcol: error.col,\n\t\t\t\t\tmsg: error.msg\n\t\t\t  })\n\t\t\t: undefined;\n\t}\n\treturn errorMessage;\n}\n\nfunction removeCommentsFromClientScript(code) {\n\tconst pattern1 = /\\/\\*(.|[\\r\\n])*?\\*\\//g;\n\tcode = code.replace(pattern1, '');\n\tconst pattern2 = /\\/\\/.*/g;\n\tcode = code.replace(pattern2, '');\n\treturn code;\n}\n\n//in UI16 we are performing this validation as part of Field validation.\nexport function validateConditionString(condition) {\n\tlet code = condition;\n\tcode = removeCommentsFromClientScript(code);\n\n\t// take out the double quote strings, we do not want to check them\n\tconst doubleQuotePattern = /\"[^\"\\r\\n]*\"/g;\n\tcode = code.replace(doubleQuotePattern, '');\n\n\t// take out the single quote strings, we do not want to check them either\n\tconst singleQuotePattern = /'[^'\\r\\n]*'/g;\n\tcode = code.replace(singleQuotePattern, '');\n\n\t// take out equality tests\n\tconst equalityPattern = /(={3}|={2})/g;\n\tcode = code.replace(equalityPattern, '');\n\n\t// take out != <= >=\n\tconst otherEqualsPattern = /(!=|<=|>=)/g;\n\tcode = code.replace(otherEqualsPattern, '');\n\n\t// are there any single equal signs?\n\tif (code.indexOf('=') > -1) {\n\t\t// permit assignment if a var is declared, we'll assume you know what you're doing\n\t\tvar varPattern = /var\\s+\\S+\\s*=/;\n\t\tif (!varPattern.test(code))\n\t\t\treturn t(\n\t\t\t\t'Use two equal signs to test equality; conditions should not do assignment'\n\t\t\t);\n\t}\n\treturn;\n}\n\nexport const processLinting = (script, linterConfig) => {\n\tconst id = CONDITION_STRING;\n\tconst lintWorker = LintWorkerFactory();\n\n\tlintWorker.postMessage({\n\t\tname: CONDITION_STRING_LINT_REQUESTED,\n\t\tpayload: {\n\t\t\tscript,\n\t\t\torigin: window.location.origin,\n\t\t\tid,\n\t\t\tlinterConfig\n\t\t}\n\t});\n\n\treturn new Promise((resolve, reject) => {\n\t\tsetTimeout(() => {\n\t\t\treturn reject();\n\t\t}, 5000);\n\t\tconst onComplete = ({ data }) => {\n\t\t\tif (\n\t\t\t\tdata.name === CONDITION_STRING_LINT_WORKER_LINTING_COMPLETE &&\n\t\t\t\tdata.payload.id === id\n\t\t\t) {\n\t\t\t\tlintWorker.removeEventListener('message', onComplete);\n\t\t\t\treturn resolve(data.payload.result);\n\t\t\t}\n\t\t};\n\t\tlintWorker.addEventListener('message', onComplete);\n\t});\n};\n\nexport async function validateScript(script, linterConfig) {\n\tlet errorMessage;\n\tconst data = (await processLinting(script, linterConfig))[0];\n\tconst { line, message, column, severity } = data;\n\tif (severity === 2)\n\t\terrorMessage = t(\n\t\t\t`Javascript ${message} at line ${line} and column ${column}`\n\t\t);\n\treturn errorMessage;\n}\n","import { actionTypes } from '@servicenow/ui-core';\nimport createComponentLoaderEffect from '@devsnc/uxf-effect-component-loader';\nimport { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\nimport { isFunction } from 'lodash';\nimport {\n\tCOMPONENT_LOAD_COMPLETED,\n\tCOMPONENT_LOAD_FAILED,\n\tCOMPONENT_LOAD_REQUESTED,\n\tJAVASCRIPT,\n\tERROR,\n\tNOW_CODE_EDITOR_CONTENT_CHANGED,\n\tNOW_CODE_EDITOR_TEXT_EDITOR_FOCUS_CHANGED,\n\tXML,\n\tSN_RECORD_CODE_EDITOR_FOCUS_CHANGED,\n\tSN_RECORD_INPUT_CONNECTED_VALUE_CHANGED\n} from './constants';\nimport { validateXML, validateConditionString, validateScript } from './utils';\n\nconst LINE_HEIGHT = 18;\nconst TOOLBAR_HEIGHT = 48;\nconst LINES_CONTENT_MARGIN_TOP = 4;\nconst TOOLBAR_BORDER = 1;\nconst EDITOR_MIN_HEIGHT = 150;\n\nconst updateErrorAndValue = (value, errorMessage, updateState, dispatch) => {\n\tupdateState([\n\t\t{\n\t\t\toperation: 'set',\n\t\t\tpath: ERROR,\n\t\t\tvalue: errorMessage,\n\t\t\tshouldRender: false\n\t\t},\n\t\t{\n\t\t\toperation: 'assign',\n\t\t\tpath: 'value',\n\t\t\tvalue,\n\t\t\tshouldRender: false\n\t\t}\n\t]);\n\tdispatch(SN_RECORD_CODE_EDITOR_FOCUS_CHANGED);\n};\n\nconst focusChangedHandler = ({\n\tdispatch,\n\tproperties: { onValueChange, name },\n\tstate: { value, error }\n}) => {\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\t...(error && {\n\t\t\t\t[ERROR]: {\n\t\t\t\t\tmessage: error,\n\t\t\t\t\ttype: ERROR\n\t\t\t\t}\n\t\t\t})\n\t\t});\n\t}\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: 'code-editor' }\n\t});\n\n\tdispatch('NOW_RECORD_CODE_EDITOR#VALUE_CHANGED', {\n\t\tname,\n\t\tvalue\n\t});\n};\n\nconst componentConnectedHandler = ({ updateState, properties: { value } }) => {\n\tupdateState({\n\t\toperation: 'assign',\n\t\tpath: 'value',\n\t\tvalue,\n\t\tshouldRender: false\n\t});\n};\n\nconst editorContentChangedHandler = ({\n\tupdateState,\n\taction: {\n\t\tpayload: { errors, text: value }\n\t},\n\tproperties: { editorLanguage }\n}) => {\n\tif (editorLanguage === JAVASCRIPT) {\n\t\tconst errorMessage = errors\n\t\t\t?.filter(e => e.severity === ERROR)\n\t\t\t?.reduce((m, e) => `${m}${e.message}\\n`, '');\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: ERROR,\n\t\t\tvalue: errorMessage,\n\t\t\tshouldRender: false\n\t\t});\n\t}\n\n\tupdateState({\n\t\toperation: 'assign',\n\t\tpath: 'value',\n\t\tvalue,\n\t\tshouldRender: false\n\t});\n};\n\nconst inputFocusChangedHandler = ({\n\tupdateState,\n\taction: {\n\t\tpayload: { value }\n\t},\n\tproperties: { isConditionString, linterConfig, editorLanguage },\n\tdispatch\n}) => {\n\tif (isConditionString) {\n\t\tif(value === '') {\n\t\t\tupdateErrorAndValue(value, undefined, updateState, dispatch);\n\t\t\treturn;\n\t\t}\n\t\tconst errorMessage = validateConditionString(value);\n\t\tif (errorMessage)\n\t\t\tupdateErrorAndValue(value, errorMessage, updateState, dispatch);\n\t\telse\n\t\t\tvalidateScript(value, linterConfig).then(errorMessage => {\n\t\t\t\tupdateErrorAndValue(value, errorMessage, updateState, dispatch);\n\t\t\t});\n\t} else if (editorLanguage === XML) {\n\t\tconst errorMessage = validateXML(value);\n\t\tupdateErrorAndValue(value, errorMessage, updateState, dispatch);\n\t}\n};\n\nconst editorFocusChangedHandler = ({\n\taction: {\n\t\tpayload: { hasFocus }\n\t},\n\tproperties: { readonly, editorLanguage },\n\tstate: { value },\n\tdispatch,\n\tupdateState\n}) => {\n\tif (hasFocus || readonly) return;\n\tif (editorLanguage === XML) {\n\t\tconst errorMessage = validateXML(value);\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: ERROR,\n\t\t\tvalue: errorMessage,\n\t\t\tshouldRender: false\n\t\t});\n\t}\n\tdispatch(SN_RECORD_CODE_EDITOR_FOCUS_CHANGED);\n};\n\nexport default {\n\t[actionTypes.COMPONENT_CONNECTED]: componentConnectedHandler,\n\t[actionTypes.COMPONENT_RENDERED]: {\n\t\teffect({ dispatch }) {\n\t\t\tdispatch(COMPONENT_LOAD_REQUESTED, { tagName: 'now-code-editor' });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[actionTypes.COMPONENT_BOOTSTRAPPED]: {\n\t\teffect({\n\t\t\tstate: {\n\t\t\t\tproperties: { value, autoresizeLineLimit },\n\t\t\t\teditorHeight\n\t\t\t},\n\t\t\tupdateState\n\t\t}) {\n\t\t\tconst lineCount = value.split('\\n').length;\n\t\t\teditorHeight =\n\t\t\t\tMath.min(lineCount, autoresizeLineLimit) * LINE_HEIGHT +\n\t\t\t\tTOOLBAR_HEIGHT +\n\t\t\t\tLINES_CONTENT_MARGIN_TOP +\n\t\t\t\tTOOLBAR_BORDER;\n\t\t\tif (editorHeight > EDITOR_MIN_HEIGHT) updateState({ editorHeight });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_LOAD_REQUESTED]: createComponentLoaderEffect({\n\t\tsuccessActionType: COMPONENT_LOAD_COMPLETED,\n\t\terrorActionType: COMPONENT_LOAD_FAILED\n\t}),\n\t[COMPONENT_LOAD_COMPLETED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\tcomponentLoaded: true\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_LOAD_FAILED]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\tcomponentLoaded: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_CODE_EDITOR_CONTENT_CHANGED]: {\n\t\teffect: editorContentChangedHandler,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CODE_EDITOR_TEXT_EDITOR_FOCUS_CHANGED]: {\n\t\teffect: editorFocusChangedHandler,\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_INPUT_CONNECTED_VALUE_CHANGED]: {\n\t\teffect: inputFocusChangedHandler,\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_CODE_EDITOR_FOCUS_CHANGED]: {\n\t\teffect: focusChangedHandler,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { messagesSchema } from '@servicenow/now-input';\nimport '@servicenow/now-loader';\nimport '@devsnc/sn-record-control-wrapper';\nimport '@devsnc/sn-record-input-connected';\nimport actionHandlers from './actionHandlers';\nimport style from './code-editor.scss';\nimport { trackBehavior } from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\nimport { MAX_LENGTH_INPUT, XML } from './constants';\n\nconst view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\teditorLanguage,\n\t\t\tvalue: content,\n\t\t\treferringRecordId,\n\t\t\treferringTable,\n\t\t\treadonly,\n\t\t\tname,\n\t\t\tautoresizeLineLimit,\n\t\t\tmaxlength,\n\t\t\tisXMLView,\n\t\t\tisClientScript,\n\t\t\trecordScope,\n\t\t\tautocompleteSuggestions,\n\t\t\tisConditionString,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\tshowAIIndicator,\n\t\t\tisModified\n\t\t},\n\t\tcomponentLoaded,\n\t\teditorHeight,\n\t\terror\n\t} = state;\n\n\tconst isLargeField =\n\t\t!isConditionString && Number.parseInt(maxlength) > MAX_LENGTH_INPUT;\n\tconst showTextEditor =\n\t\t(editorLanguage === XML && !(isLargeField && isXMLView)) ||\n\t\tisConditionString;\n\n\tconst { ...propertiesWithoutOnValueChange } = state.properties;\n\n\treturn !showTextEditor ? (\n\t\t<sn-record-control-wrapper\n\t\t\t{...state.properties}\n\t\t\tclassName={error && 'has-error'}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t{!componentLoaded ? (\n\t\t\t\t<now-loader />\n\t\t\t) : (\n\t\t\t\t<now-code-editor\n\t\t\t\t\tlanguage={editorLanguage}\n\t\t\t\t\tcontent={content}\n\t\t\t\t\tscriptField={name}\n\t\t\t\t\tsysId={referringRecordId}\n\t\t\t\t\trecordType={referringTable}\n\t\t\t\t\treadOnly={readonly}\n\t\t\t\t\tscrollBeyondLastLine={false}\n\t\t\t\t\theight={`${editorHeight}px`}\n\t\t\t\t\tautoresizeLineLimit={autoresizeLineLimit}\n\t\t\t\t\tisClientScript={isClientScript}\n\t\t\t\t\tscope={recordScope}\n\t\t\t\t\tautocompleteSuggestions={autocompleteSuggestions}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/sn-record-control-wrapper>\n\t) : (\n\t\t<sn-record-input-connected\n\t\t\t{...propertiesWithoutOnValueChange}\n\t\t\tinitialValue={content}\n\t\t\ttype={isLargeField ? 'textarea' : 'text'}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t/>\n\t);\n};\n\n/**\n *\n *  Code Editor Wrapper Component around now-code-editor\n *```jsx\n *\t<sn-record-code-editor\n *\t\teditorLanguage=\"json\"\n *\t\tvalue={state.value}\n *\t\tdisplayValue={state.displayValue}\n *\t/>\n *\n *```\n * @seismicElement sn-record-code-editor\n * @summary *  Code Editor Component.\n * */\n\ncreateCustomElement('sn-record-code-editor', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles: style,\n\tinitialState: {\n\t\tvalue: '',\n\t\terror: '',\n\t\tcomponentLoaded: false,\n\t\teditorHeight: 150\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treversed: { schema: { type: ['string', 'boolean'] }, default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { schema: { type: ['string', 'boolean'] }, default: false },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { schema: { type: ['string', 'boolean'] }, default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { schema: { type: ['string', 'boolean'] } },\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Render the language specific editor.\n\t\t * @type {string}\n\t\t */\n\t\teditorLanguage: {\n\t\t\tdefault: 'javascript',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['javascript', 'xml', 'json', 'html', 'css']\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Referring Record ID for the editor.\n\t\t * @type {string}\n\t\t */\n\t\treferringRecordId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Referring table for the editor.\n\t\t * @type {string}\n\t\t */\n\t\treferringTable: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Array of inline alert messages that display below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that are displayed below the field\n\t\t * @uib.defaultValue []\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema\n\t\t},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Specifies number of lines the script editor will auto resize its height. Auto Resizing will be disabled if this property has non positive integer value.\n\t\t * @type {string}\n\t\t */\n\t\tautoresizeLineLimit: {\n\t\t\tdefault: null,\n\t\t\tschema: { type: 'number' }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * When rendering the editor of type XML (editorLanguage is XML), isXMLView should be true\n\t\t * to render it as a code-editor. In case of false it behaves as a input component.\n\t\t */\n\t\tisXMLView: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Maximum number of characters that the user can enter in the field. Maxlength should be >255\n\t\t * to render the component as an editor in case of XML editor.In case of language xml,if maxlength is >255,it renders as code-editor otherwise as a input-component.\n\t\t *  Note: It doesnt adhere to maxlength in case it is loaded as code-editor\n\t\t */\n\t\tmaxlength: {},\n\n\t\t/**\n\t\t * Whether its a Client Script or Server Script\n\t\t * @type {boolean}\n\t\t */\n\t\tisClientScript: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * Scope of the record page\n\t\t * @type {string}\n\t\t */\n\t\trecordScope: {\n\t\t\tdefault: 'global',\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\t/**\n\t\t * Ignored when language property is not javascript. When diasbled is true autocomplete feature is disabled.\n\t\t * Append variant will add the custom suggestions to default suggestions, where as replace would override the default intelisense.\n\t\t * suggestions is an array of custom intellisense strings of TypeScript type definition files (.d.ts)\n\t\t */\n\t\tautocompleteSuggestions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdisabled: {\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tschema: { type: 'boolean', enum: ['vertical', 'horizontal'] }\n\t\t\t\t\t},\n\t\t\t\t\tvariant: {\n\t\t\t\t\t\tdefault: 'append',\n\t\t\t\t\t\tschema: { type: 'string', enum: ['append', 'replace'] }\n\t\t\t\t\t},\n\t\t\t\t\tsuggestions: { default: [], schema: { type: 'array' } }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: { disabled: false, variant: 'append', suggestions: [] }\n\t\t},\n\t\t/**\n\t\t * To render a condition string field type. Works only is language is Javascript\n\t\t * Perform validations associated with condtion string field type\n\t\t */\n\t\tisConditionString: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * this property works only if isConditionString is true.\n\t\t * We can pass either eslint config value from the sys_prop 'glide.ui.syntax_editor.linter.eslint_config' or custom config\n\t\t */\n\t\tlinterConfig: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {}\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when now-code-editor value changes\n\t\t * @type {{ name: string, value: string }}\n\t\t */\n\t\t'NOW_RECORD_CODE_EDITOR#VALUE_CHANGED': {}\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default view;\n","import CodeEditor from './sn-record-code-editor';\n\nexport default CodeEditor;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nexport function parseGeneralTree(xml) {\n\tvar nodes = [];\n\tconst rxml = new window.DOMParser().parseFromString(xml, 'text/xml');\n\tvar items = rxml.getElementsByTagName('item');\n\tfor (let i = 0; i < items.length; i++) {\n\t\tlet item = items[i];\n\t\tconst node = {\n\t\t\tid: item.getAttribute('name'),\n\t\t\tlabel: item.getAttribute('label') || item.getAttribute('display_value'),\n\t\t\tclass: item.getAttribute('sys_class_name'),\n\t\t\tchildren: [],\n\t\t\tchildrenAvailable: item.getAttribute('children')\n\t\t\t\t? item.getAttribute('children') === 'false'\n\t\t\t\t\t? 0\n\t\t\t\t\t: 1\n\t\t\t\t: 1\n\t\t};\n\t\tnodes.push(node);\n\t}\n\treturn nodes;\n}\n\nexport function parseGroupTree(xml) {\n\tvar nodes = [];\n\tconst rxml = new window.DOMParser().parseFromString(xml, 'text/xml');\n\tvar items = rxml.getElementsByTagName('item');\n\tfor (let i = 0; i < items.length; i++) {\n\t\tlet item = items[i];\n\t\tconst node = {\n\t\t\tid: item.getAttribute('name'),\n\t\t\tlabel: item.getAttribute('label'),\n\t\t\tclass: item.getAttribute('sys_class_name'),\n\t\t\tchildren: [],\n\t\t\tchildrenAvailable: Number(\n\t\t\t\titem.getAttribute('sys_class_name') === 'sys_user_group'\n\t\t\t)\n\t\t};\n\t\tnodes.push(node);\n\t}\n\treturn nodes;\n}\n\nconst generateAction = decorations => {\n\tif (decorations.length === 0) {\n\t\treturn [];\n\t}\n\n\tconst tooltipMap = {\n\t\tincident: { labelPlural: t('Incidents'), label: t('Incident') },\n\t\tproblem: { labelPlural: t('Problems'), label: t('Problem') },\n\t\tchange_request: { labelPlural: t('Changes'), label: t('Change') },\n\t\toutages_past: {\n\t\t\tlabelPlural: t('recently closed outages'),\n\t\t\tlabel: t('recently closed outage')\n\t\t},\n\t\toutages_current: {\n\t\t\tlabelPlural: t('current opened outages'),\n\t\t\tlabel: t('current opened outage')\n\t\t},\n\t\toutages_planned: {\n\t\t\tlabelPlural: t('planned outages'),\n\t\t\tlabel: t('planned outage')\n\t\t},\n\t\tchanges_past: {\n\t\t\tlabelPlural: t('recently closed changes'),\n\t\t\tlabel: t('recently closed change')\n\t\t},\n\t\tchanges_current: {\n\t\t\tlabelPlural: t('current opened changes'),\n\t\t\tlabel: t('current opened change')\n\t\t},\n\t\tchanges_planned: {\n\t\t\tlabelPlural: t('planned changes'),\n\t\t\tlabel: t('planned change')\n\t\t}\n\t};\n\tconst tooltip = decorations.map(item => {\n\t\tlet value = item.value;\n\t\treturn value > 1\n\t\t\t? t('There are {0} {1}', value, tooltipMap[item.name]['labelPlural'])\n\t\t\t: t('There is {0} {1}', value, tooltipMap[item.name]['label']);\n\t});\n\treturn [{ icon: 'info-circle-outline', label: JSON.stringify(tooltip) }];\n};\n\nexport const parseCITree = (xml, path = [], root) => {\n\tlet nodes = [[], []];\n\tconst rxml = new window.DOMParser().parseFromString(xml, 'text/xml');\n\tvar relTypes = rxml.getElementsByTagName('cmdb_rel_type');\n\tfor (let relTypeIndex = 0; relTypeIndex < relTypes.length; relTypeIndex++) {\n\t\tlet relType = relTypes[relTypeIndex];\n\t\tvar temp = relType.getAttribute('type');\n\t\tlet ciTypes = relType.getElementsByTagName('ci_type');\n\n\t\tif (temp !== 'child' && temp !== 'parent') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet nodeType = temp === 'child' ? nodes[0] : nodes[1];\n\t\tfor (let ciTypeIndex = 0; ciTypeIndex < ciTypes.length; ciTypeIndex++) {\n\t\t\tlet ciType = ciTypes[ciTypeIndex];\n\t\t\tlet items = ciType.getElementsByTagName('cmdb_ci');\n\t\t\tfor (let ciIndex = 0; ciIndex < items.length; ciIndex++) {\n\t\t\t\tlet item = items[ciIndex];\n\t\t\t\tif (item.getAttribute('nested_level') !== '0') continue;\n\n\t\t\t\tlet childrenAvailable = item.getAttribute('children') === '0' ? 0 : 1;\n\t\t\t\tlet sysID = item.getAttribute('sys_id');\n\t\t\t\tif (sysID === root || (path && path.indexOf(sysID) > -1)) {\n\t\t\t\t\tchildrenAvailable = 0;\n\t\t\t\t}\n\n\t\t\t\tconst node = {\n\t\t\t\t\tid: sysID,\n\t\t\t\t\tlabel: item.getAttribute('display_value'),\n\t\t\t\t\tclass: ciType.getAttribute('name'),\n\t\t\t\t\tchildrenAvailable,\n\t\t\t\t\tactions: generateAction(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t{ name: 'incident', value: item.getAttribute('incident') },\n\t\t\t\t\t\t\t{ name: 'problem', value: item.getAttribute('problem') },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'change_request',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('change_request')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'outages_past',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('outages_past')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'outages_current',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('outages_current')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'outages_planned',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('outages_planned')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'changes_past',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('changes_past')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'changes_current',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('changes_current')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'changes_planned',\n\t\t\t\t\t\t\t\tvalue: item.getAttribute('changes_planned')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t].filter(item => item.value > 0)\n\t\t\t\t\t),\n\t\t\t\t\trelType: temp\n\t\t\t\t};\n\t\t\t\tnodeType.push(node);\n\t\t\t}\n\t\t}\n\t}\n\treturn nodes;\n};\n\nexport const closePopover = event => {\n\tconst target = event.target;\n\tconst targetFor = target ? target.getAttribute('target-for') : null;\n\tif (!(target && targetFor && targetFor.indexOf('tree-picker-popover') > -1)) {\n\t\tif (\n\t\t\tevent.path.filter(\n\t\t\t\tobj =>\n\t\t\t\t\tobj.nodeName === 'NOW-ICON' || obj.nodeName === 'NOW-CONTENT-TREE'\n\t\t\t).length !== 2\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n","import { t } from 'sn-translate';\n\nexport const FETCH_XML = 'FETCH_XML';\nexport const FETCH_CONTENT_TREE_SUCCESS = 'FETCH_CONTENT_TREE_SUCCESS';\nexport const FETCH_CONTENT_TREE_FAILURE = 'FETCH_CONTENT_TREE_FAILURE';\nexport const FETCH_CONTENT_TREE_ERROR_MSG = t('Unable to generate Tree.');\nexport const SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#ITEM_CLICKED';\nexport const NOW_CONTENT_TREE_EXPANDED_ITEMS_SET =\n\t'NOW_CONTENT_TREE#EXPANDED_ITEMS_SET';\nexport const NOW_CONTENT_TREE_LOADING_REQUESTED =\n\t'NOW_CONTENT_TREE#LOADING_REQUESTED';\nexport const NOW_CONTENT_TREE_ITEM_CLICKED = 'NOW_CONTENT_TREE#ITEM_CLICKED';\nexport const NOW_CONTENT_TREE_SELECTED_ITEMS_SET =\n\t'NOW_CONTENT_TREE#SELECTED_ITEMS_SET';\nexport const NOW_CONTENT_TREE_ACTION_CLICKED =\n\t'NOW_CONTENT_TREE#ACTION_CLICKED';\nexport const PRIVATE_EXPANDED_ITEMS_SET = 'PRIVATE#EXPANDED_ITEMS_SET';\nexport const PRIVATE_LOADING_REQUESTED = 'PRIVATE#LOADING_REQUESTED';\nexport const SN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER =\n\t'SN_RECORD_CONTENT_TREE_POPOVER#CLOSE_POPOVER';\nexport const TABLE_CI = 'cmdb_ci';\nexport const TABLE_GROUP = 'sys_user_group';\nexport const SELECT_SINGLE = 'single';\nexport const SELECT_MULTI = 'multi';\nexport const NO_VARIABLES_AVAILABLE = t('No variables are available');\nexport const CONFIGURE_TABLE = t(\n\t'Please add or configure a table to display variables.'\n);\nexport const TABLE = t('Table');\nexport const FETCH_CONTENT_TREE_PARAMS = [\n\t'sysparm_processor',\n\t'method',\n\t'sysparm_name',\n\t'sysparm_type',\n\t'sysparm_chars',\n\t'sysparm_reference',\n\t'sysparm_target',\n\t'sysparm_domain',\n\t'sysparm_query',\n\t'sysparm_dependent_value',\n\t'sysparam_path',\n\t'sysparam_item',\n\t'sysparm_scope',\n\t'sysparm_value',\n\t'sysparm_table_name',\n\t'sysparm_is_template',\n\t'sysparm_apply_template_acls',\n\t'sysparm_flag_indexed',\n\t'sysparm_include_sysid'\n];\nexport const FETCH_CONTENT_TREE_API = '/xmlhttp.do';\n","import { t } from 'sn-translate';\nimport { isEqual, isFunction } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { findChildPath, parseTree } from '@devsnc/sn-controls-common';\nimport { parseGeneralTree, parseGroupTree, parseCITree } from './utils';\nimport {\n\tFETCH_XML,\n\tFETCH_CONTENT_TREE_API,\n\tFETCH_CONTENT_TREE_SUCCESS,\n\tFETCH_CONTENT_TREE_FAILURE,\n\tFETCH_CONTENT_TREE_PARAMS,\n\tFETCH_CONTENT_TREE_ERROR_MSG,\n\tSN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED,\n\tNOW_CONTENT_TREE_EXPANDED_ITEMS_SET,\n\tNOW_CONTENT_TREE_LOADING_REQUESTED,\n\tNOW_CONTENT_TREE_ITEM_CLICKED,\n\tNOW_CONTENT_TREE_SELECTED_ITEMS_SET,\n\tNOW_CONTENT_TREE_ACTION_CLICKED,\n\tPRIVATE_EXPANDED_ITEMS_SET,\n\tPRIVATE_LOADING_REQUESTED,\n\tTABLE_CI,\n\tTABLE_GROUP,\n\tSELECT_SINGLE,\n\tSELECT_MULTI,\n\tSN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nlet dispatchItemClickedWithPayload;\n\nconst dispatchFetchXML = (state, dispatch, action) => {\n\tlet {\n\t\tproperties: {\n\t\t\ttreePickerConfig,\n\t\t\ttableName,\n\t\t\tfieldName,\n\t\t\tdependentField,\n\t\t\tdependentValue,\n\t\t\treferenceTable,\n\t\t\tdomainId,\n\t\t\tquery,\n\t\t\tvariablePicker\n\t\t}\n\t} = state;\n\tlet params = {\n\t\tsysparm_processor: treePickerConfig?.processor,\n\t\tmethod: 'getTreeNodes',\n\t\tsysparm_reference: `${tableName}.${fieldName}`,\n\t\tsysparm_dependent_value: dependentValue,\n\t\tsysparm_domain: domainId || undefined,\n\t\tsysparm_query: query || undefined\n\t};\n\tlet nameSuffix = 'parent';\n\tlet type = 'child';\n\n\tif (action) {\n\t\tconst { item, path } = action.payload;\n\t\tif (item.relType === 'parent') {\n\t\t\tnameSuffix = 'child';\n\t\t\ttype = 'parent';\n\t\t}\n\n\t\treferenceTable = item.class;\n\t\tdependentValue = item.id;\n\t\tparams = {\n\t\t\t...params,\n\t\t\tsysparam_item: item,\n\t\t\tsysparam_path: path\n\t\t};\n\t}\n\n\tparams = {\n\t\t...params,\n\t\tsysparm_name: `${referenceTable}.${nameSuffix}`,\n\t\tsysparm_type: type,\n\t\tsysparm_chars: dependentValue || ''\n\t};\n\n\t//This condition is added to have parity with UI16\n\tif (referenceTable === TABLE_GROUP) {\n\t\tparams.sysparm_target = `${referenceTable}.undefined`;\n\t} else {\n\t\tif (dependentField) {\n\t\t\tparams.sysparm_target = `${referenceTable}.${dependentField}`;\n\t\t}\n\t}\n\n\tif (variablePicker) {\n\t\tparams = treePickerConfig?.params ?? {\n\t\t\tsysparm_processor: 'SysMeta',\n\t\t\tsysparm_scope: 'global',\n\t\t\tsysparm_want_session_messages: true,\n\t\t\tsysparm_type: 'column',\n\t\t\tsysparm_include_sysid: true,\n\t\t\tsysparm_table_name: false,\n\t\t\tsysparm_is_template: false,\n\t\t\tsysparm_apply_template_acls: false,\n\t\t\tsysparm_value: action?.payload?.item?.class ?? dependentValue,\n\t\t\tsysparm_is_excluded_role: false,\n\t\t\tsysparm_synch: true,\n\t\t\tsysparm_flag_indexed: true,\n\t\t\tmethod: 'getTreeNodes'\n\t\t};\n\n\t\tif (action) {\n\t\t\tconst { item, path } = action.payload;\n\t\t\tparams = {\n\t\t\t\t...params,\n\t\t\t\tsysparam_item: item,\n\t\t\t\tsysparam_path: path\n\t\t\t};\n\t\t}\n\t}\n\n\tdispatch(FETCH_XML, params);\n};\n\nconst contentTreeGenerateEffect = ({\n\tstate: {\n\t\tproperties: { select, treePickerConfig }\n\t},\n\tstate,\n\tdispatch,\n\tupdateState\n}) => {\n\tlet value = [[]];\n\tconst targetPath = treePickerConfig?.targetPath;\n\tif (targetPath) {\n\t\tvalue = targetPath.split(';').reduce((target, source) => {\n\t\t\ttarget.push(source.split(','));\n\t\t\treturn target;\n\t\t}, []);\n\t}\n\tif (select !== SELECT_SINGLE) {\n\t\tupdateState({\n\t\t\tpath: 'selectedItem',\n\t\t\tvalue,\n\t\t\toperation: 'set'\n\t\t});\n\t}\n\tupdateState({\n\t\tpath: 'targetPath',\n\t\tvalue: value[0],\n\t\toperation: 'set'\n\t});\n\tdispatchFetchXML(state, dispatch);\n};\n\nconst updateSelectedItemAfterExpanding = (\n\ttree,\n\tparentId,\n\tstate,\n\tupdateState\n) => {\n\tconst {\n\t\texpandedItem,\n\t\tproperties: {\n\t\t\ttreePickerConfig: { targetPath: path }\n\t\t}\n\t} = state;\n\tif (!path) {\n\t\treturn;\n\t}\n\tconst nodes = tree.filter(n => path.indexOf(n.id) !== -1);\n\tconst parentItemPath = expandedItem.find(\n\t\titem => item[item.length - 1] === parentId\n\t);\n\tif (nodes.length > 0 && parentItemPath) {\n\t\tconst currentItemExpanded = [...parentItemPath];\n\t\tconst selectedItemsArray = nodes.reduce((target, node) => {\n\t\t\ttarget.push([...currentItemExpanded, node.id]);\n\t\t\treturn target;\n\t\t}, []);\n\t\tupdateState({\n\t\t\tpath: 'selectedItem',\n\t\t\tvalue: selectedItemsArray,\n\t\t\toperation: 'concat'\n\t\t});\n\t}\n};\n\nconst fetchContentTreeEffect = createHttpEffect(FETCH_CONTENT_TREE_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t\t'X-WantSessionNotificationMessages': 'true',\n\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t},\n\tqueryParams: FETCH_CONTENT_TREE_PARAMS,\n\tsuccessActionType: FETCH_CONTENT_TREE_SUCCESS,\n\terrorActionType: FETCH_CONTENT_TREE_FAILURE\n});\n\nconst fetchContentTreeSuccessEffect = ({\n\tstate,\n\tupdateState,\n\taction,\n\tdispatch\n}) => {\n\tlet {\n\t\ttreeItems,\n\t\tloadingItems,\n\t\ttargetPath,\n\t\tproperties: {\n\t\t\treferenceTable,\n\t\t\tdependentValue,\n\t\t\tselect,\n\t\t\tvariablePicker,\n\t\t\ttreePickerConfig\n\t\t},\n\t\texpandedItem = variablePicker ? [['folder_root']] : [],\n\t\tselectedItem = [],\n\t\tparentItem = {\n\t\t\tlabel: t({\n\t\t\t\tcode: 'sn-record-content-tree-connected',\n\t\t\t\tmessage: 'Fields',\n\t\t\t\tcomment: 'Root node label. First letter \"F\" should be capitalised.'\n\t\t\t}),\n\t\t\tid: 'folder_root',\n\t\t\tactionable: true,\n\t\t\tactions: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'folder-outline',\n\t\t\t\t\tlabel: t({\n\t\t\t\t\t\tcode: 'sn-record-content-tree-connected',\n\t\t\t\t\t\tmessage: 'Fields',\n\t\t\t\t\t\tcomment: 'Root node label. First letter \"F\" should be capitalised.'\n\t\t\t\t\t}),\n\t\t\t\t\tclickActionType: 'click'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'tree-view-short-outline',\n\t\t\t\t\tlabel: dependentValue,\n\t\t\t\t\tclickActionType: 'click'\n\t\t\t\t}\n\t\t\t],\n\t\t\ttableName: dependentValue\n\t\t}\n\t} = state;\n\tconst filter = treePickerConfig?.filter;\n\tconst expandItem = action.meta.request.params.sysparam_item;\n\tconst itemPath = action.meta.request.params.sysparam_path;\n\tconst isCiTree = referenceTable === TABLE_CI && !variablePicker;\n\tconst isGroupTree = referenceTable === TABLE_GROUP && !variablePicker;\n\n\tlet treeJson;\n\tif (isGroupTree) {\n\t\ttreeJson = parseGroupTree(action.payload);\n\t} else if (isCiTree) {\n\t\ttreeJson = parseCITree(action.payload, itemPath, dependentValue);\n\t} else if (variablePicker) {\n\t\ttreeJson = parseTree(action.payload, parentItem, filter, ' > ');\n\t} else {\n\t\ttreeJson = parseGeneralTree(action.payload);\n\t}\n\tif (variablePicker && !expandItem?.label) {\n\t\tlet updatedNodes = [];\n\t\tupdatedNodes.unshift({\n\t\t\t...parentItem,\n\t\t\tchildren: treeJson\n\t\t});\n\t\ttreeJson = updatedNodes;\n\t}\n\tlet pathUpdated;\n\tlet treeIndex = 0;\n\tif (expandItem) {\n\t\tlet loadingItemsPath = 'loadingItems';\n\t\tif (isCiTree) {\n\t\t\ttreeIndex = expandItem.relType === 'child' ? '0' : '1';\n\t\t\ttreeJson = treeJson[treeIndex];\n\t\t\tupdateSelectedItemAfterExpanding(\n\t\t\t\ttreeJson,\n\t\t\t\texpandItem.id,\n\t\t\t\tstate,\n\t\t\t\tupdateState\n\t\t\t);\n\t\t}\n\n\t\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\t\tlet ind = loadingItems[treeIndex].findIndex(x => isEqual(x.path, itemPath));\n\t\tif (ind !== -1) {\n\t\t\tpathUpdated = `treeItems[${treeIndex}]${findChildPath(\n\t\t\t\ttreeItems[treeIndex],\n\t\t\t\titemPath\n\t\t\t)}.`;\n\t\t\tpathUpdated =\n\t\t\t\ttreeJson.length === 0\n\t\t\t\t\t? pathUpdated + 'childrenAvailable'\n\t\t\t\t\t: pathUpdated + 'children';\n\t\t\tlet valueUpdated = treeJson.length === 0 ? 0 : treeJson;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: pathUpdated,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tvalue: valueUpdated\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: loadingItemsPath,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\toperation: 'splice',\n\t\t\t\t\tstart: ind,\n\t\t\t\t\tdeleteCount: 1\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t} else {\n\t\tpathUpdated = isCiTree ? `treeItems` : `treeItems[${treeIndex}]`;\n\t\tupdateState([\n\t\t\t{ path: pathUpdated, value: treeJson, operation: 'set' },\n\t\t\t{ path: 'loading', value: false, operation: 'set' }\n\t\t]);\n\t\tvariablePicker &&\n\t\t\tdispatch(PRIVATE_EXPANDED_ITEMS_SET, {\n\t\t\t\tvalue: [...expandedItem]\n\t\t\t});\n\t}\n\tif (variablePicker) return;\n\tlet toBeExpandedItem = -1;\n\tif (!isCiTree && select === SELECT_SINGLE) {\n\t\ttoBeExpandedItem = treeJson.findIndex(item => item.id === targetPath[0]);\n\n\t\tupdateState({\n\t\t\tpath: 'targetPath',\n\t\t\tvalue: '',\n\t\t\toperation: 'splice',\n\t\t\tstart: 0,\n\t\t\tdeleteCount: 1\n\t\t});\n\t}\n\tif (toBeExpandedItem != -1) {\n\t\tconst selectedItemPath = Array.isArray(selectedItem[0])\n\t\t\t? selectedItem[0]\n\t\t\t: selectedItem;\n\t\tdispatch(PRIVATE_LOADING_REQUESTED, {\n\t\t\titem: treeJson[toBeExpandedItem],\n\t\t\tpath: [...selectedItemPath, treeJson[toBeExpandedItem].id]\n\t\t});\n\t\tif (targetPath.length > 1) {\n\t\t\tdispatch(PRIVATE_EXPANDED_ITEMS_SET, {\n\t\t\t\tvalue: [\n\t\t\t\t\t...expandedItem,\n\t\t\t\t\ttreeJson[toBeExpandedItem].id,\n\t\t\t\t\t[...selectedItemPath, treeJson[toBeExpandedItem].id]\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleLoadingRequested = ({ state, action, dispatch, updateState }) => {\n\tconst {\n\t\tproperties: { referenceTable, select, variablePicker }\n\t} = state;\n\tconst { item, path } = action.payload;\n\n\tlet loadingItemsPath = 'loadingItems';\n\tlet treeIndex = 0;\n\tif (!variablePicker && referenceTable === TABLE_CI) {\n\t\ttreeIndex = item.relType === 'child' ? '0' : '1';\n\t}\n\n\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\n\tupdateState([\n\t\t{ path: 'parentItem', value: item, operation: 'set' },\n\t\t{\n\t\t\tpath: loadingItemsPath,\n\t\t\tvalue: { path, error: false },\n\t\t\toperation: 'unshift'\n\t\t}\n\t]);\n\tif (select === SELECT_SINGLE) {\n\t\tupdateState({ path: 'selectedItem', value: [path], operation: 'set' });\n\t}\n\tdispatchFetchXML(state, dispatch, action);\n};\n\nconst handleExpandedItemsSet = ({ action, updateState }) => {\n\tupdateState({\n\t\texpandedItem: action.payload.value\n\t});\n};\n\nconst dispatchItemClicked = payload => (selectedItem, state, dispatch) => {\n\tconst {\n\t\tproperties: { select }\n\t} = state;\n\tif (select === SELECT_MULTI) {\n\t\tpayload.isSelected = false;\n\t\tfor (let i = 0; i < selectedItem.length; i++) {\n\t\t\tif (payload.value === selectedItem[i][selectedItem[i].length - 1]) {\n\t\t\t\tpayload.isSelected = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tdispatch(SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED, payload);\n};\n\nconst nowContentTreeClickedHandler = ({ action, state, dispatch }) => {\n\tconst { item } = action.payload;\n\tif (state.properties.variablePicker) {\n\t\tdispatch(SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED, item);\n\t\treturn;\n\t}\n\tconst {\n\t\tproperties: { referenceTable, referenceKey }\n\t} = state;\n\tlet payload;\n\tif (referenceTable === item.class || referenceTable === TABLE_CI) {\n\t\tpayload = {\n\t\t\tvalue: referenceKey ? item[referenceKey] : item.id,\n\t\t\tdisplayValue: item.label\n\t\t};\n\t} else {\n\t\tpayload = {\n\t\t\tvalue: referenceKey\n\t\t\t\t? state.parentItem[referenceKey]\n\t\t\t\t: state.parentItem.id,\n\t\t\tdisplayValue: state.parentItem.label\n\t\t};\n\t}\n\tdispatchItemClickedWithPayload = dispatchItemClicked(payload);\n};\n\nconst nowContentTreeSelectedItemSetHandler = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst { value } = action.payload;\n\tupdateState({\n\t\tselectedItem: value\n\t});\n\tif (isFunction(dispatchItemClickedWithPayload)) {\n\t\tdispatchItemClickedWithPayload(value, state, dispatch);\n\t}\n\tdispatchItemClickedWithPayload = undefined;\n};\n\nconst propertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value, previousValue }\n\t},\n\tstate,\n\tupdateState,\n\tdispatch\n}) => {\n\tif (name === 'dependentValue' && value !== previousValue) {\n\t\tupdateState({\n\t\t\texpandedItem: undefined,\n\t\t\tparentItem: undefined,\n\t\t\ttreeItems: [[], []],\n\t\t\tselectedItem: undefined\n\t\t});\n\t\tdispatchFetchXML(state, dispatch);\n\t}\n};\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: contentTreeGenerateEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_XML]: {\n\t\t...fetchContentTreeEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_SUCCESS]: {\n\t\teffect: fetchContentTreeSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_FAILURE]: {\n\t\tstopPropagation: true,\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\terror: {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: FETCH_CONTENT_TREE_ERROR_MSG\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\t[NOW_CONTENT_TREE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_LOADING_REQUESTED]: {\n\t\teffect: handleLoadingRequested,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ITEM_CLICKED]: {\n\t\teffect: nowContentTreeClickedHandler,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_SELECTED_ITEMS_SET]: {\n\t\teffect: nowContentTreeSelectedItemSetHandler,\n\t\tstopPropagation: true\n\t},\n\t[PRIVATE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[PRIVATE_LOADING_REQUESTED]: {\n\t\teffect: handleLoadingRequested,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ACTION_CLICKED]: {\n\t\teffect: ({ action, state, updateState }) => {\n\t\t\tif (state.properties.variablePicker) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tstate.popoverOpen &&\n\t\t\t\tstate.popoverTarget !== action.payload.actionTarget\n\t\t\t) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverTarget: action.payload.actionTarget,\n\t\t\t\t\tpopoverContent: JSON.parse(action.payload.action.label)\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverOpen: !state.popoverOpen,\n\t\t\t\t\tpopoverTarget: state.popoverOpen ? null : action.payload.actionTarget,\n\t\t\t\t\tpopoverContent: JSON.parse(action.payload.action.label)\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER]: {\n\t\teffect: ({ state, updateState }) => {\n\t\t\tif (state.popoverOpen) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverOpen: false,\n\t\t\t\t\tpopoverTarget: null,\n\t\t\t\t\tpopoverContent: []\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangedEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-content-tree';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-template-message';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport actionHandlers from './actionHandlers';\nimport { closePopover } from './utils';\nimport {\n\tTABLE_CI,\n\tTABLE,\n\tNO_VARIABLES_AVAILABLE,\n\tCONFIGURE_TABLE\n} from './constants';\nimport style from './content-tree-connected.scss';\nimport popoverStyle from './content-tree-popover.scss';\n\ncreateCustomElement('sn-record-content-tree-popover', {\n\tview: ({ properties: { content } }) => {\n\t\treturn (\n\t\t\t<div className=\"contenet-tree-popover\">\n\t\t\t\t<ul>\n\t\t\t\t\t{content.map(info => {\n\t\t\t\t\t\treturn <li>&bull; {info}<\/li>;\n\t\t\t\t\t})}\n\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t);\n\t},\n\tstyles: popoverStyle,\n\tproperties: {\n\t\tcontent: { schema: { type: 'array' } }\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { event }\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) => {\n\t\t\t\tif (closePopover(event)) {\n\t\t\t\t\tdispatch('SN_RECORD_CONTENT_TREE_POPOVER#CLOSE_POPOVER');\n\t\t\t\t}\n\t\t\t},\n\t\t\ttarget: document\n\t\t}\n\t]\n});\n\nexport const view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\tconfigAria,\n\t\t\tdependentField,\n\t\t\tdependentValue,\n\t\t\tdependentDisplayValue,\n\t\t\tdependentFieldLabel,\n\t\t\theight,\n\t\t\treferenceTable,\n\t\t\tselect,\n\t\t\tvariablePicker\n\t\t},\n\t\ttreeItems,\n\t\tselectedItem,\n\t\texpandedItem,\n\t\tloadingItems,\n\t\tloading = true,\n\t\tpopoverOpen = false,\n\t\tpopoverTarget = null,\n\t\tpopoverContent\n\t} = state;\n\n\tconst contentTreeVariablePicker = dependentValue ? (\n\t\t<div className=\"variable-content-tree-parent-container\">\n\t\t\t<span className=\"select-variable-text\">{t('Select variables')}<\/span>\n\t\t\t<div className=\"variable-content-tree-container\">\n\t\t\t\t<div className=\"content-table-name\">\n\t\t\t\t\t{TABLE} : {dependentDisplayValue || dependentValue}\n\t\t\t\t<\/div>\n\t\t\t\t<Fragment>\n\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t<div className=\"loader-container\">\n\t\t\t\t\t\t\t<now-loader />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<now-content-tree\n\t\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\t\titems={treeItems[0]}\n\t\t\t\t\t\t\toverflow={'truncate'}\n\t\t\t\t\t\t\tsize={'md'}\n\t\t\t\t\t\t\tselected-items={selectedItem}\n\t\t\t\t\t\t\texpanded-items={expandedItem}\n\t\t\t\t\t\t\tloading-items={loadingItems[0]}\n\t\t\t\t\t\t\tshowDividers={true}\n\t\t\t\t\t\t\tclassName=\"content-tree-css\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\theight: `${height - 34}px`\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t...configAria\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<\/Fragment>\n\t\t\t<\/div>\n\t\t<\/div>\n\t) : (\n\t\t<div className=\"content-tree-no-variable\">\n\t\t\t<now-template-message-empty-state\n\t\t\t\theading={{ label: NO_VARIABLES_AVAILABLE, level: 3 }}\n\t\t\t\tcontent={\n\t\t\t\t\tdependentField\n\t\t\t\t\t\t? t('Select {0}, to add variables.', dependentFieldLabel)\n\t\t\t\t\t\t: CONFIGURE_TABLE\n\t\t\t\t}\n\t\t\t\tillustration=\"no-data\"\n\t\t\t\talignment=\"vertical-centered\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n\n\tconst contentTreeGeneral = (\n\t\t<div className=\"content-tree-container\">\n\t\t\t<now-content-tree\n\t\t\t\tselect={select}\n\t\t\t\titems={treeItems[0]}\n\t\t\t\tselected-items={selectedItem}\n\t\t\t\texpanded-items={expandedItem}\n\t\t\t\tloading-items={loadingItems[0]}\n\t\t\t/>\n\t\t<\/div>\n\t);\n\n\tconst contentTreeCi = (\n\t\t<div className=\"ci-content-tree-container\">\n\t\t\t<now-popover\n\t\t\t\tinteraction-type=\"none\"\n\t\t\t\tmanage-opened\n\t\t\t\topened={popoverOpen}\n\t\t\t\thook-update={({ elm }) => (elm.positionTarget = popoverTarget)}\n\t\t\t>\n\t\t\t\t{popoverOpen ? (\n\t\t\t\t\t<sn-record-content-tree-popover\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\tcontent={popoverContent}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/now-popover>\n\t\t\t<div className=\"tree-downstream\">\n\t\t\t\t<now-heading\n\t\t\t\t\tlabel={t('Downstream relationships')}\n\t\t\t\t\tvariant=\"title-tertiary\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"tree-container\">\n\t\t\t\t\t<now-content-tree\n\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\titems={treeItems[0]}\n\t\t\t\t\t\tloading-items={loadingItems[0]}\n\t\t\t\t\t\tselected-items={selectedItem}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div className=\"tree-upstream\">\n\t\t\t\t<now-heading\n\t\t\t\t\tlabel={t('Upstream relationships')}\n\t\t\t\t\tvariant=\"title-tertiary\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"tree-container\">\n\t\t\t\t\t<now-content-tree\n\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\titems={treeItems[1]}\n\t\t\t\t\t\tloading-items={loadingItems[1]}\n\t\t\t\t\t\tselected-items={selectedItem}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{loading ? (\n\t\t\t\t<div className=\"loader-container\">\n\t\t\t\t\t<now-loader />\n\t\t\t\t<\/div>\n\t\t\t) : variablePicker ? (\n\t\t\t\tcontentTreeVariablePicker\n\t\t\t) : referenceTable === TABLE_CI ? (\n\t\t\t\tcontentTreeCi\n\t\t\t) : (\n\t\t\t\tcontentTreeGeneral\n\t\t\t)}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n *\n * Simple content tree component.\n * The value of the component will be a expandable and selectable tree structure.\n *\n * This component is meant to be consumed by forms and simply leverages the `now-content-tree` component.\n * This is wrapper componet around `now-content-tree`.\n * https://developer.servicenow.com/dev.do#!/reference/now-experience/rome/now-components/now-content-tree/overview\n * \n * ```jsx\n *<sn-record-content-tree-connected\n\ttableName\n\tfieldName\n\treferenceTable\n\tdependentField\n\tdependentValue\n\ttreePickerConfig\n\tdomainId\n\tquery\n/>\n * ```\n *\n * @seismicElement sn-record-content-tree-connected\n * @summary Simple content tree component. The value of the component will be a expandable and selectable tree structure.\n */\n\ncreateCustomElement('sn-record-content-tree-connected', {\n\tview,\n\tactionHandlers,\n\tstyles: style,\n\tinitialState: {\n\t\ttreeItems: [[], []],\n\t\tloadingItems: [[], []]\n\t},\n\tproperties: {\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * The tablename field which is used to select the table to choose the fields from.\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * The label of the tablename field which is used to select the table to choose the fields from.\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Value of the Dependent field\n\t\t * @type {string}\n\t\t */\n\t\tdependentValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent Field Display Value\n\t\t * @type {string}\n\t\t */\n\t\tdependentDisplayValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Specifies processor and other properties to be used for http request.\n\t\t *\n\t\t * It can also contain another property `filter` which is an object containing\n\t\t * information like type, reference, to be used as metadata for the response\n\t\t * parsing and filtering. (Will be used only for variable picker variant)\n\t\t * Example:\n\t\t * ```\n\t\t * filter: {\n\t\t *   type: 'reference',\n\t\t *   reference: 'incident'\n\t\t * }\n\t\t * ```\n\t\t * will only show reference fields that refer to the incident table in the variable picker.\n\t\t * @type {object}\n\t\t */\n\t\ttreePickerConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Name of table where content tree is used.\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Field which is rendered as content tree.\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Height of the content tree component. Only supported for variable picker variant.\n\t\t * @type {number}\n\t\t */\n\t\theight: {\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t},\n\t\t\tdefault: 300\n\t\t},\n\t\t/**\n\t\t * Reference table for fieldName.\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Key to use for the underlying value instead of sys_id\n\t\t * @type {string}\n\t\t */\n\t\treferenceKey: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Used in domain separation.\n\t\t * @type {string}\n\t\t */\n\t\tdomainId: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Query containting value for all parameter.\n\t\t * @type {string}\n\t\t */\n\t\tquery: { schema: { type: 'string' } },\n\t\t/**\n\t\t * select type with which the tree picker loads with.\n\t\t * @type {string}\n\t\t */\n\t\tselect: {\n\t\t\tdefault: 'single',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['single', 'multi', 'none']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Whether the component is to be rendered as a variable picker or not.\n\t\t * @type {boolean}\n\t\t */\n\t\tvariablePicker: { schema: { type: 'boolean' }, default: false }\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when item is clicked on content tree.\n\t\t * @type {{ value: string, displayValue: string}}\n\t\t */\n\t\t'SN_RECORD_CONTENT_TREE_CONNECTED#ITEM_CLICKED': {}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_internal_index_jsdbx_4937bf3d__[\"default\"].pick;\n\t\t\t\t} });","export const formatQuery = query =>\n\tquery.replace(/([ ]+)|(\\n+)/gm, function (match, g1, g2) {\n\t\tif (g1) return ' ';\n\t\telse return '';\n\t});\n","import { pick } from '@servicenow/ui-internal';\nimport { FIELD_TYPE as FieldType } from '@devsnc/sn-controls-common';\nimport { formatQuery } from './utils';\nconst makeQuery = name => {\n\tconst query = `\nquery ${name}($table: String!, $field: String!, $sys_id: String, $encodedRecord: String, $serializedChanges: String, $chars: String!, $ignoreRefQual: Glide_Boolean, $paginationLimit: Int, $paginationOffset: Int, $sortBy: String, $referenceKey: String, $overrideReferenceTable: String, $query: String, $orderByDisplayColumn: Glide_Boolean) {\n  GlideLayout_Query {\n    referenceDataRetriever(\n      tableName: $table,\n      fieldName: $field,\n      encodedRecord: $encodedRecord,\n      serializedChanges: $serializedChanges,\n      pagination: {limit: $paginationLimit, offset: $paginationOffset},\n      ignoreTotalCount: true,\n      sysId: $sys_id, chars: $chars,\n      sysparm_ignore_ref_qual: $ignoreRefQual,\n      sortBy: $sortBy,\n      sysparm_ref_override: $overrideReferenceTable,\n      query: $query,\n      orderByDisplayColumn: $orderByDisplayColumn,\n      referenceKey: $referenceKey ) {\n      totalCount\n      recentCount\n      matchesCount\n      referenceRecentDataList {\n        sysId\n        referenceKeyValue\n        referenceData {\n          key\n          value\n        }\n      }\n      referenceDataList {\n        sysId\n        referenceKeyValue\n        referenceData {\n          key\n          value\n        }\n      }\n    }\n  }\n}\n`;\n\tconst operationName = name;\n\treturn { query: formatQuery(query), operationName };\n};\n\nconst referenceConnectedVariables = {\n\ttable: '',\n\tfield: '',\n\tsys_id: '',\n\tencodedRecord: '',\n\tserializedChanges: '{}',\n\tchars: '',\n\tignoreRefQual: false,\n\tpaginationLimit: 25,\n\tsortBy: 'name',\n\treferenceKey: null,\n\torderByDisplayColumn: true\n};\nlet variableList = [\n\t'table',\n\t'field',\n\t'sys_id',\n\t'encodedRecord',\n\t'serializedChanges',\n\t'chars',\n\t'ignoreRefQual',\n\t'paginationLimit',\n\t'paginationOffset',\n\t'sortBy',\n\t'referenceKey',\n\t'overrideReferenceTable',\n\t'query',\n\t'orderByDisplayColumn'\n];\nexport const getResponseReference = obj => {\n\tconst {\n\t\treferenceDataRetriever: { referenceDataList }\n\t} = obj;\n\tconst response = referenceDataList.map(item => {\n\t\tconst { referenceData, sysId } = item;\n\t\treturn {\n\t\t\tdisplayValue: referenceData[0].value,\n\t\t\tvalue: sysId\n\t\t};\n\t});\n\treturn response;\n};\nconst makeParams = (type, payload) => {\n\tif (type === FieldType.REFERENCE || type === FieldType.GLIDE_LIST) {\n\t\tconst params = makeQuery('snRecordReferenceConnected');\n\t\treturn {\n\t\t\t...params,\n\t\t\tvariables: pick(payload, variableList)\n\t\t};\n\t}\n\treturn {\n\t\t...makeQuery('nowRecordListConnectedReference'),\n\t\tvariables: referenceConnectedVariables\n\t};\n};\nexport const getReferenceConnectedQuery = type => payload =>\n\tmakeParams(type, payload);\n","import { pick } from '@servicenow/ui-internal';\nimport { FIELD_TYPE as FieldType } from '@devsnc/sn-controls-common';\nimport { formatQuery } from './utils';\nconst makeQuery = name => {\n\tlet query = `\nquery ${name}($table: String!, $field: String!, $sys_id: String, $serialized_changes: String, $encoded_record: String) {\n  GlideLayout_Query {\n    choiceDataRetriever(tableName: $table, fieldName: $field, sysId: $sys_id, serializedChanges: $serialized_changes, encodedRecord: $encoded_record) {\n      choice {\n        value\n        label\n      }\n    }\n  }\n}\n`;\n\tconst operationName = name;\n\treturn { query: formatQuery(query), operationName };\n};\n\nlet variableList = [\n\t'table',\n\t'field',\n\t'sys_id',\n\t'serialized_changes',\n\t'encoded_record'\n];\nexport const getResponseChoice = response =>\n\tresponse.choiceDataRetriever.choice.map(item => ({\n\t\tvalue: item.value,\n\t\tdisplayValue: item.label\n\t}));\nconst makeParams = (type, payload) => {\n\tconst operationName = 'snRecordChoiceConnected';\n\tif (type === FieldType.CHOICE) {\n\t\tconst params = makeQuery(operationName);\n\t\treturn {\n\t\t\t...params,\n\t\t\tvariables: pick(payload, variableList)\n\t\t};\n\t}\n\treturn {\n\t\t...makeQuery('nowRecordListConnectedReference'),\n\t\tvariables: pick(payload, variableList)\n\t};\n};\n\nexport const getChoiceConnectedQuery = type => payload =>\n\tmakeParams(type, payload);\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport '@servicenow/now-dropdown';\n\nexport const actionHandlers = {\n\t'NOW_DROPDOWN#SELECTED_ITEMS_SET': {\n\t\teffect: ({\n\t\t\tstate: {\n\t\t\t\tproperties: { onChange }\n\t\t\t},\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tvalue: [selectedItem]\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\tonChange({\n\t\t\t\tvalue: selectedItem\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t'NOW_DROPDOWN#OPENED_SET': {\n\t\teffect: ({ updateProperties, action, state }) => {\n\t\t\tconst { value: opened } = action.payload;\n\t\t\tif (!isAttrTrue(state.properties.readonly)) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\topened: opened\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n\n/**\n * Wrapper around <now-dropdown> that has manage-opened and accepts an on-change\n *\n * This is useful when we want to keep the same on-change api and don't want to register\n * a component with seismic solely to handle the actions dispatched from <now-dropdown>\n *\n *\n * ```jsx\n * <sn-record-dropdown-internal\n *\t\tbare\n *\t\tdisabled={readonly}\n *\t\tvariant=\"tertiary\"\n *\t\tsize=\"md\"\n *\t\titems={items}\n * />\n * ```\n *\n * @seismicElement sn-record-dropdown-internal\n * @summary Wrapper around <now-dropdown> that has manage-opened and accepts an on-change.\n *\n * */\n\nexport const view = ({ properties }) => {\n\tlet { disabled, hideCaret, readonly, ...rest } = properties;\n\treturn (\n\t\t<now-dropdown\n\t\t\t{...rest}\n\t\t\t{...(isAttrTrue(disabled) ? { disabled: true } : {})}\n\t\t\t{...(hideCaret ? { hideCaret, disabled: true } : {})}\n\t\t\t{...(isAttrTrue(readonly) ? { hideCaret: true } : {})}\n\t\t\tmanage-selected-items\n\t\t\tmanage-opened\n\t\t\tpanel-fit-props={{ constrain: { minWidth: 100 } }}\n\t\t/>\n\t);\n};\n\ncreateCustomElement('sn-record-dropdown-internal', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t\tinitialState: {\n\t\t\topened: false\n\t\t}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Makes the trigger button border and background transparent but retains\n\t\t * its `variant` style setting when an iconic button. If button is text or\n\t\t * text with an icon then only works when `variant` is `secondary`,\n\t\t * `tertiary`, or `inherit`.\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: { default: false },\n\n\t\t/**\n\t\t * An object whose items, all aria properties,\n\t\t * @type {{ 'aria-*': string }}\n\t\t */\n\t\tconfigAria: { cast: 'object' },\n\n\t\t/**\n\t\t * Enable to show the dropdown as visually disabled and to stop the dropdown\n\t\t * from opening when the user interacts with it.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: { default: false },\n\n\t\t/**\n\t\t * Remove the caret from the dropdown visual\n\t\t * @type {boolean}\n\t\t */\n\t\thideCaret: { default: false },\n\n\t\t/**\n\t\t * An array of item objects describing each item in the dropdown OR\n\t\t * an array of objects where each object represents a section, to be\n\t\t * displayed with divider lines, where the `label` of that object is\n\t\t * a section header and the `children` value is an array of dropdown\n\t\t * item objects.\n\t\t * Each dropdown item object should have a `label` and a unique `id`.\n\t\t * An `icon` or `presence` indicator can optionally be displayed.\n\t\t * Items with `disabled` will be visible, but not selectable by the user.\n\t\t * @type {({id: (string|number), label: string, count: number, icon: string, presence: string, disabled: boolean}[] | {label: string, children: Array.<Object>}[])}\n\t\t */\n\t\titems: { default: [], cast: 'array' },\n\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `opened` property.\n\t\t * An action with type `NOW_DROPDOWN#OPENED_SET` will be dispatched to request updates,\n\t\t * which will be handled by this component.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tmanageOpened: { default: false },\n\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `selectedItems` property.\n\t\t * An action with type `NOW_DROPDOWN#SELECTED_ITEMS_SET` will be dispatched to request updates,\n\t\t * which will be handled by this component.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tmanageSelectedItems: { default: false },\n\n\t\t/**\n\t\t * OnChange event callback\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonChange: { default: () => {} },\n\n\t\t/**\n\t\t * Automatically updated when the user opens or closes the dropdown.\n\t\t * Use `manage-opened` to override the default behavior and handle the\n\t\t * `NOW_DROPDOWN#OPENED_SET` action manually.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: { default: false, manageable: true },\n\n\t\t/**\n\t\t * An array of ids representing each selected item. If multi-select mode is\n\t\t * not enabled, each time the user selects an item, the previously selected\n\t\t * id will be cleared out and the new id will be added. If multi-select mode is\n\t\t * enabled, ids will be added to or removed from the list.\n\t\t * Use `manage-selected-items` to override the default behavior and handle the\n\t\t * `NOW_DROPDOWN#SELECTED_ITEMS_SET` action manually.\n\t\t * @type {(string[])[]}\n\t\t */\n\t\tselectedItems: { default: [], cast: 'array', manageable: true },\n\n\t\t/**\n\t\t * Sets the button styles of the dropdown trigger.\n\t\t * @type {string}\n\t\t */\n\t\tvariant: {},\n\n\t\t/**\n\t\t * Stops the dropdown from opening when the user interacts with it.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/**\n\t\t * Sets the size of the dropdown trigger.\n\t\t */\n\t\tsize: { default: 'md' },\n\t\t/**\n\t\t * Controls how to filter currency items as the user types into the integrated search input.\n\t\t * - `none`: (Default) Dropdown list does not display an internal search field.\n\t\t * - `managed`: Internal input field renders without automatic search filtering.\n\t\t *      Use these parameters to manually filter or search for items as a user types\n\t\t *      outside of the list.\n\t\t * - `initial`: Internal input field renders and items whose label or sublabel begins with the input value display. Case-insensitive.\n\t\t * - `contains`: Internal input field renders and items whose label or sublabel contains the input value display. Case-insensitive.\n\t\t * @type {(\"none\"|\"managed\"|\"initial\"|\"contains\")}\n\t\t * @uib.label Search behavior\n\t\t * @uib.description Controls how to filter the dropdown items as the user types into the integrated search input.\n\t\t */\n\t\tsearch: {\n\t\t\tdefault: 'none',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['none', 'managed', 'initial', 'contains']\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers\n});\n","import '@devsnc/sn-declarative-actions';\nimport { getDeclarativeActionsProps } from '@devsnc/sn-controls-common';\n\nexport const renderDeclarativeActions = (\n\tproperties,\n\tdispatch,\n\toverrideDAProps = true\n) => {\n\tconst declarativeActionsProps = overrideDAProps\n\t\t? getDeclarativeActionsProps(properties.declarativeActionsProps, properties)\n\t\t: properties.declarativeActionsProps || {};\n\treturn (\n\t\t<sn-declarative-field-action\n\t\t\tclassName=\"declarative-action\"\n\t\t\tslot=\"end\"\n\t\t\tmodel={declarativeActionsProps}\n\t\t\tactions={declarativeActionsProps.declarativeUiActions}\n\t\t\tdispatch={dispatch}\n\t\t\tformData={properties.formData}\n\t\t\tfetchDeclarativeActions={declarativeActionsProps.fetchDeclarativeActions}\n\t\t/>\n\t);\n};\n","import { t } from 'sn-translate';\nimport { parseArabic, FIELD_TYPE } from '@devsnc/sn-controls-common';\nimport {\n\tparseHebrew,\n\tgetLocaleNumberSeparators,\n\tformatClean\n} from '@devsnc/sn-controls-common/src/utils/numberUtils';\n\nconst serverFormatRegex = /^([a-zA-Z]{3});(.*)$/;\nconst floatFormatRegex = /^(-?\\d*(\\.\\d+)?)$/g;\n\nexport const parseSeparator = replacement => regex => value =>\n\ttypeof value === 'string' ? value.replace(regex, replacement) : value;\n\nexport const parse = (value, locale, currencyCode) => {\n\tlet error;\n\n\t// if the value is not set skip parsing\n\tif (value === null || value === undefined || value === '') {\n\t\tvalue = '';\n\t} else {\n\t\tconst { thousandSeparator, decimalSeparator } = getLocaleNumberSeparators(\n\t\t\tlocale,\n\t\t\tcurrencyCode\n\t\t);\n\t\t// else check if value is a float or int and attempt to parse\n\t\tconst floatFormat = new RegExp(floatFormatRegex);\n\t\tvalue = formatClean(String(value), decimalSeparator);\n\t\tconst strip = parseSeparator('');\n\t\tlet sanitizers = [parseArabic];\n\t\tif (thousandSeparator) {\n\t\t\tsanitizers.push(strip(new RegExp(`\\\\${thousandSeparator}`, 'g')));\n\t\t}\n\t\tif (decimalSeparator) {\n\t\t\tsanitizers.push(\n\t\t\t\tparseSeparator('.')(new RegExp(`\\\\${decimalSeparator}`, 'g'))\n\t\t\t);\n\t\t}\n\t\tsanitizers.push(strip(/[\\s\\u00A0]/g));\n\t\tsanitizers.push(parseHebrew);\n\n\t\tconst processedValue = sanitizers.reduce(\n\t\t\t(sanatizedValue, parser) => parser(sanatizedValue),\n\t\t\tvalue\n\t\t);\n\t\tif (floatFormat.test(processedValue)) {\n\t\t\tvalue = processedValue;\n\t\t} else {\n\t\t\terror = { type: 'error', message: t('{0} is not a valid amount', value) };\n\t\t}\n\t}\n\treturn {\n\t\tvalue,\n\t\terror\n\t};\n};\n\nexport const format = (\n\tvalue,\n\tdefaultCurrency,\n\tlocale,\n\tuseAllFractionsDigits,\n\tfieldType,\n\tminFractionDigits,\n\tmaxFractionDigits\n) => {\n\tconst serverFormat = new RegExp(serverFormatRegex);\n\tconst floatFormat = new RegExp(floatFormatRegex);\n\tlet currencyCode, error;\n\n\t// We test the value to see if it matches the server format and if so parse out the\n\t// currency code from it\n\tconst serverFormatMatch = serverFormat.exec(value);\n\tif (serverFormatMatch) {\n\t\t[, currencyCode, value] = serverFormatMatch;\n\t} else {\n\t\tcurrencyCode = defaultCurrency;\n\t}\n\n\t// Locales with decimal separator as comma needs to be parsed before formatted\n\t// Otherwise value will be counted as invalid amount\n\t// eg: fr,de\n\n\tconst isCommaSeparated =\n\t\tgetLocaleNumberSeparators(locale).decimalSeparator === ',' &&\n\t\tvalue.includes(',');\n\n\tif (isCommaSeparated) {\n\t\t// Parse the value if necessary\n\t\tconst { value: parsedValue, error: parseError } = parse(\n\t\t\tvalue,\n\t\t\tlocale,\n\t\t\tcurrencyCode\n\t\t);\n\t\tvalue = parsedValue;\n\t\terror = parseError;\n\t}\n\n\t// if the value is not set skip formatting\n\tif (value === null || value === undefined || value === '') {\n\t\tvalue = '';\n\t} else if (floatFormat.test(value)) {\n\t\t// else check if value is a float   and format it if so\n\n\t\t// When useAllFractionsDigits is true, currency and price fields display a maximum\n\t\t// of 4 fractional digits. Otherwise, we rely on locale specific precision as decided\n\t\t// by Intl.NumberFormat.\n\n\t\tlet minimumFractionDigits = minFractionDigits || 2;\n\t\tlet maximumFractionDigits = maxFractionDigits || 4; // max fraction digits for currency and price field\n\n\t\tif (fieldType === FIELD_TYPE.CURRENCY2) {\n\t\t\tminimumFractionDigits = 0; // min number of fraction digits displayed for FX Currency\n\t\t\tmaximumFractionDigits = 12; // max number of fraction digits displayed for FX Currency\n\t\t}\n\n\t\tconst formatOptions = {\n\t\t\tminimumFractionDigits,\n\t\t\tmaximumFractionDigits: useAllFractionsDigits ? maximumFractionDigits : 2,\n\t\t\tuseGrouping: true // enables thousand separators\n\t\t};\n\n\t\tconst formattedValue = new Intl.NumberFormat(\n\t\t\tlocale,\n\t\t\tformatOptions\n\t\t).formatToParts(value);\n\n\t\tvalue = formattedValue\n\t\t\t.map(({ type, value }) => {\n\t\t\t\tif (type === 'currency') return '';\n\t\t\t\treturn value;\n\t\t\t})\n\t\t\t.reduce((result, part) => result + part)\n\t\t\t.trim();\n\n\t\t// There is a known issue with Intl's format method, where if we pass certain locale, it returns an invalid minus symbol\n\t\t// Refer - https://stackoverflow.com/questions/74352253/intl-numberformat-with-swedish-locale-and-negative-value-returns-wrong-minus-cha\n\t\t// To fix this either we can replace this approach with a different locale library like http://numeraljs.com/\n\t\t// OR\n\t\t// We replace the incorrect minus sign with the correct one, which is done below.\n\n\t\tif (value.includes('−')) value = value.replace('−', '-');\n\t} else {\n\t\t// else pass through value and add an error\n\t\terror = { type: 'error', message: t('{0} is not a valid amount', value) };\n\t}\n\treturn {\n\t\tvalue,\n\t\tcurrencyCode,\n\t\terror\n\t};\n};\n\nexport const formatServer = (value, currencyCode) => {\n\tif (value?.startsWith(`${currencyCode};`)) {\n\t\treturn value;\n\t}\n\treturn value ? `${currencyCode};${value}` : '';\n};\n","import { get, includes, isEmpty, map } from 'lodash';\nimport { format, parse } from './currencyFormat';\nimport { t } from 'sn-translate';\nimport { getAriaLabelFromConfig } from '@devsnc/sn-controls-common';\n\nexport const INTERNAL_ON_BLUR = 'SN_RECORD_CURRENCY_CONNECTED#INTERNAL_ON_BLUR';\nexport const HOLD_RAW_FORMAT_LATER =\n\t'SN_RECORD_CURRENCY_CONNECTED#HOLD_RAW_FORMAT_LATER';\n\nexport const normalizeCurrencyValue = controlProps => {\n\tif (controlProps.invalid) {\n\t\tconst { value } = controlProps;\n\t\t//Adding additional check as value is becoming true.\n\t\t//This is a Workaround, A defect DEF0501195 has been raised with Seismic Team\n\t\treturn typeof value === 'boolean' ? '' : value;\n\t}\n\n\t// Won't work currently but we can update glide to provide this in the future\n\tif (controlProps.displayString) {\n\t\treturn controlProps.displayString;\n\t}\n\n\tconst { defaultCurrency, code, value, singleCurrency } = controlProps;\n\tif (isEmpty(value) || !code) {\n\t\treturn value === true ? '' : value;\n\t}\n\n\t//extract value only after ; and ignore currency if any\n\tconst valueOnly = value.match(/[^;]*$/)[0];\n\n\tconst currentCode =\n\t\tcode && defaultCurrency === 'USD' ? code : defaultCurrency || code;\n\n\t// check if code has already been prepended and handle singleCurrency\n\treturn includes(value, ';') && !singleCurrency\n\t\t? value\n\t\t: `${currentCode};${valueOnly}`;\n};\n\nconst getFallbackCurrencyDisplay = (code, symbol, reversed) =>\n\tcode === symbol || !symbol\n\t\t? code\n\t\t: reversed\n\t\t\t? `(${symbol}) ${code}`\n\t\t\t: `${code} (${symbol})`;\n\nconst getSublabel = (sublabel, enableSubLabel) =>\n\tenableSubLabel ? sublabel : '';\n\nexport const normalizeCurrencyCodes = (\n\tcurrencyCodes,\n\tcode,\n\treversed,\n\tenableSubLabel\n) => {\n\tconst normalizedCurrencyCodes = map(\n\t\tcurrencyCodes,\n\t\t({ code, symbol, name }) => ({\n\t\t\tvalue: code,\n\t\t\tdisplayValue: getFallbackCurrencyDisplay(code, symbol, reversed),\n\t\t\tsublabel: getSublabel(name, enableSubLabel)\n\t\t})\n\t);\n\tif (code && !normalizedCurrencyCodes.find(({ value }) => value === code)) {\n\t\tnormalizedCurrencyCodes.push({\n\t\t\tvalue: code,\n\t\t\tdisplayValue: code\n\t\t});\n\t}\n\treturn normalizedCurrencyCodes;\n};\n\nexport const formatCurrency = (value, props, state = {}) => {\n\tconst {\n\t\tnormalizedCurrencyCodes,\n\t\tlocale,\n\t\tuseAllFractionsDigits,\n\t\tfieldType,\n\t\tminFractionDigits,\n\t\tmaxFractionDigits\n\t} = props;\n\tconst { currencyCode } = state;\n\tconst defaultCurrency =\n\t\tcurrencyCode ||\n\t\tprops.defaultCurrency ||\n\t\tget(normalizedCurrencyCodes, '0.value') ||\n\t\t'USD';\n\n\tconst formattedCurrency = format(\n\t\tvalue,\n\t\tdefaultCurrency,\n\t\tlocale,\n\t\tuseAllFractionsDigits,\n\t\tfieldType,\n\t\tminFractionDigits,\n\t\tmaxFractionDigits\n\t);\n\n\treturn formattedCurrency;\n};\n\nexport const merge = (oldObj, newObj) =>\n\tisEmpty(newObj) ? oldObj : { ...oldObj, ...newObj };\n\nexport const checkCurrencyInput = (\n\tstagedValue,\n\t{ maxFractionDigits, currencyCode, locale }\n) => {\n\tif (!stagedValue) return [];\n\tconst messages = [];\n\n\tconst { value: parsedValue, error } = parse(\n\t\tstagedValue + '',\n\t\tlocale,\n\t\tcurrencyCode\n\t);\n\tif (error) {\n\t\tconsole.error('Error parsing decimal currency input: ' + stagedValue);\n\t\treturn messages;\n\t}\n\tlet [wholePart, fraction] = parsedValue.split('.');\n\tif (wholePart && !Number.isSafeInteger(Number(wholePart))) {\n\t\tmessages.push({\n\t\t\ttype: 'warning',\n\t\t\tmessage: t(\n\t\t\t\t'Currency amounts below {0} and above {1} will cause unexpected results. Please limit currency inputs to values between that range.',\n\t\t\t\tNumber.MIN_SAFE_INTEGER,\n\t\t\t\tNumber.MAX_SAFE_INTEGER\n\t\t\t)\n\t\t});\n\t}\n\n\tif (fraction && fraction.length > maxFractionDigits) {\n\t\tmessages.push({\n\t\t\ttype: 'warning',\n\t\t\tmessage: t(\n\t\t\t\t'The fraction part of a currency value cannot exceed {0} digits. It will be rounded off to the first {0} digits.',\n\t\t\t\tmaxFractionDigits\n\t\t\t)\n\t\t});\n\t}\n\n\treturn messages;\n};\n\nexport const resolveAriaProps = props => {\n\tconst {\n\t\tariaLabel = '',\n\t\tariaLabelledby = ariaLabel ? null : '',\n\t\tariaDescribedBy = '',\n\t\tconfigAria = {}\n\t} = props;\n\n\treturn {\n\t\tinput: {\n\t\t\t'aria-label': ariaLabel,\n\t\t\t'aria-labelledby': ariaLabelledby || props['ariaLabelledby'] || '',\n\t\t\t'aria-describedBy': ariaDescribedBy,\n\t\t\t...configAria,\n\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t}\n\t};\n};\n","// 3rd party imports\nimport { size, map } from 'lodash';\n\nimport {\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\ttransformDescriptionAndMessages,\n\trenderHighlightedValue,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\n\nimport '@devsnc/sn-record-dropdown-internal';\nimport '@servicenow/now-input';\nimport { t } from 'sn-translate';\n\nimport { renderDeclarativeActions } from './declarativeActions';\nimport { checkCurrencyInput, resolveAriaProps } from './utils';\n\nexport const onSelectChange =\n\tstate =>\n\t({ value: currencyCode }) => {\n\t\tstate.onValueChange(\n\t\t\t{\n\t\t\t\tvalue: state.value,\n\t\t\t\tadditionalInfo: { currencyCode }\n\t\t\t},\n\t\t\ttrue\n\t\t);\n\t};\n\nconst view = (state, { dispatch }) => {\n\tconst { stagedValue, currencyCode } = state;\n\tconst {\n\t\tname,\n\t\tinvalid,\n\t\tlabel,\n\t\tmessages = [],\n\t\tmaxFractionDigits,\n\t\tlocale,\n\t\tnormalizedCurrencyCodes,\n\t\tisPrice,\n\t\treversed,\n\t\tdescription,\n\t\tplaceholder,\n\t\thelperContent,\n\t\treadonly,\n\t\trequired,\n\t\thighlightedValue,\n\t\tfieldLayout,\n\t\tsingleCurrency,\n\t\tenableSearch,\n\t\tsize: sizeProp,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\tautofocus,\n\t\twrapLabel\n\t} = state.properties;\n\n\tconst nameProp = isPrice ? name : name + '_input';\n\tconst validationMessages = checkCurrencyInput(stagedValue, {\n\t\tmaxFractionDigits,\n\t\tcurrencyCode,\n\t\tlocale\n\t});\n\n\treturn (\n\t\t<now-input\n\t\t\tname={nameProp}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tinvalid={invalid}\n\t\t\tlabel={label}\n\t\t\tmessages={transformDescriptionAndMessages(description, [\n\t\t\t\t...messages,\n\t\t\t\t...validationMessages\n\t\t\t])}\n\t\t\tmaxlength={19}\n\t\t\tautofocus={autofocus}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tvalue={state.value}\n\t\t\talign={'end'}\n\t\t\tmanage-invalid\n\t\t\tmanage-value\n\t\t\tfieldLayout={fieldLayout}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={resolveAriaProps(state.properties)}\n\t\t\tsize={sizeProp}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t{size(normalizedCurrencyCodes) > 0 &&\n\t\t\t\t(readonly ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`dropdown-readonly -${sizeProp}`}\n\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\trole=\"group\"\n\t\t\t\t\t\taria-label={`${label}, ${t(\n\t\t\t\t\t\t\t'Currency code: {0}',\n\t\t\t\t\t\t\tstate.currencyCode\n\t\t\t\t\t\t)}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{normalizedCurrencyCodes.find(\n\t\t\t\t\t\t\tcurrency => currency.value === state.currencyCode\n\t\t\t\t\t\t)?.displayValue || state.currencyCode}\n\t\t\t\t\t<\/span>\n\t\t\t\t) : (\n\t\t\t\t\t<sn-record-dropdown-internal\n\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\tsearch={enableSearch ? 'initial' : 'none'}\n\t\t\t\t\t\treversed={reversed}\n\t\t\t\t\t\tonChange={onSelectChange(state)}\n\t\t\t\t\t\tmanage-selected-items\n\t\t\t\t\t\tselected-items={[state.currencyCode]}\n\t\t\t\t\t\titems={map(\n\t\t\t\t\t\t\tnormalizedCurrencyCodes,\n\t\t\t\t\t\t\t({ value, displayValue, sublabel }) => ({\n\t\t\t\t\t\t\t\tid: value,\n\t\t\t\t\t\t\t\tlabel: displayValue,\n\t\t\t\t\t\t\t\tsublabel\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tbare\n\t\t\t\t\t\t{...(singleCurrency ? { disabled: true } : {})}\n\t\t\t\t\t\t{...(isAttrTrue(readonly) ? { readonly: true } : {})}\n\t\t\t\t\t\thide-caret={size(normalizedCurrencyCodes) === 1}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t\t'aria-label': `${label}, ${t(\n\t\t\t\t\t\t\t\t\t'Currency code: {0}',\n\t\t\t\t\t\t\t\t\tstate.currencyCode\n\t\t\t\t\t\t\t\t)}`\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpanel: { 'aria-label': `${label}, ${t('Select currency code')}` }\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize={sizeProp}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t<slot name=\"controls\" slot=\"end\" />\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\tlabel\n\t\t\t\t})\n\t\t\t)}\n\t\t\t{renderDeclarativeActions(state.properties, dispatch)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\nexport default view;\n","import { actionTypes, modifierTypes } from '@servicenow/ui-core';\nimport { NOW_INPUT, shallowEqual } from '@devsnc/sn-controls-common';\nimport {\n\tformatCurrency,\n\tmerge,\n\tINTERNAL_ON_BLUR,\n\tHOLD_RAW_FORMAT_LATER\n} from './utils';\nimport { isEqual, toString } from 'lodash';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDER_REQUESTED } = actionTypes;\n\n/**\n * Validates the value and dispatches the NOW_INPUT.INVALID_SET action if necessary.\n *\n * @param {Object} properties - The properties of the component.\n * @param {Object} state - The current state of the component.\n * @param {Function} updateState - The function to update the state.\n * @param {Function} dispatch - The function to dispatch actions.\n * @param {string} formattedValue - The formatted value of the field.\n * @param {boolean} error - Indicates if there is an error.\n *\n * @description\n * This function is necessary to handle a specific scenario where the field has an error value\n * and the currency code is set from a client script (e.g., if the value is \"USD;24s\" and it is\n * set to \"GBP;24s\" using g_form.setValue). The g_form.setValue function actually deletes the\n * error messages from the sn-scripting, so even though the field has an error value \"24s\", the\n * error messages are deleted. When the form is saved, it will not block the save due to the\n * missing error messages.\n *\n * To fix this, if g_form.setValue is triggered in the property change, we again verify the value,\n * validate it, and further send the response to the parent so that the messages will be updated\n * and the form won't save with error changes in the field.\n *\n * By doing a blur check again, we validate the value and emit new values to the parent. We rely\n * on the messages received from the parent to determine if the blur check should be performed.\n */\nconst validateAndDispatchError = (\n\tproperties,\n\tstate,\n\tupdateState,\n\tdispatch,\n\tformattedValue,\n\terror\n) => {\n\tif (properties.messages?.length > 0 && state.isBlurCheckPending) {\n\t\tupdateState({ isBlurCheckPending: false });\n\t}\n\n\tconst isObjectNotEmpty = obj => obj && Object.keys(obj)?.length > 0;\n\tconst isBlurCheckPending =\n\t\tproperties.messages?.length === 0 &&\n\t\t(isObjectNotEmpty(state.error) || isObjectNotEmpty(error)) &&\n\t\t!state.isBlurCheckPending;\n\n\tif (isBlurCheckPending) {\n\t\tif (error) {\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: NOW_INPUT.INVALID_SET,\n\t\t\t\t\tpayload: { fieldValue: formattedValue, fromHandleBlur: true }\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default {\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name }\n\t\t},\n\t\tstate,\n\t\tproperties,\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tif (name === 'value') {\n\t\t\tconst newValue = toString(properties.initialValue);\n\t\t\tconst {\n\t\t\t\tadditionalInfo: sAdditionalInfo,\n\t\t\t\tinternalValue,\n\t\t\t\tvalue: sValue,\n\t\t\t\terror: sError\n\t\t\t} = state;\n\t\t\tconst {\n\t\t\t\tvalue: formattedValue,\n\t\t\t\terror,\n\t\t\t\t...additionalInfo\n\t\t\t} = formatCurrency(newValue, properties, sAdditionalInfo);\n\n\t\t\tconst mergedAdditionalInfo = merge(sAdditionalInfo, additionalInfo);\n\n\t\t\tif (\n\t\t\t\tnewValue !== internalValue ||\n\t\t\t\tformattedValue !== sValue ||\n\t\t\t\terror !== sError ||\n\t\t\t\tmergedAdditionalInfo !== sAdditionalInfo\n\t\t\t) {\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `value`,\n\t\t\t\t\t\tvalue: formattedValue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `error`,\n\t\t\t\t\t\tvalue: error,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tfor (const prop in mergedAdditionalInfo) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: `${prop}`,\n\t\t\t\t\t\tvalue: additionalInfo[prop],\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvalidateAndDispatchError(\n\t\t\t\tproperties,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tformattedValue,\n\t\t\t\terror\n\t\t\t);\n\t\t}\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: ({\n\t\taction: {\n\t\t\tpayload: { previousRenderState, previousRenderProperties },\n\t\t\tpreventDefault,\n\t\t\tmeta: { firstRenderOnConnect }\n\t\t},\n\t\tproperties,\n\t\tstate\n\t}) => {\n\t\tconst { normalizedCurrencyCodes: nextCurrencyCodes, ...restOfNextProps } =\n\t\t\tpreviousRenderProperties;\n\t\tconst { normalizedCurrencyCodes: oldCurrencyCodes, ...restOfOldProps } =\n\t\t\tproperties;\n\n\t\tif (\n\t\t\t!firstRenderOnConnect &&\n\t\t\tshallowEqual(restOfNextProps, restOfOldProps) &&\n\t\t\tshallowEqual(previousRenderState, state) &&\n\t\t\tisEqual(nextCurrencyCodes, oldCurrencyCodes)\n\t\t) {\n\t\t\tpreventDefault();\n\t\t}\n\t},\n\t[NOW_INPUT.INVALID_SET]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { fieldValue, fromHandleBlur }\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (fromHandleBlur) {\n\t\t\t\t// Set the raw value (e.g., 1234) in the control state\n\t\t\t\tupdateState({ value: fieldValue });\n\t\t\t\t// Dispatch the HOLD_RAW_FORMAT_LATER action to format the value after a delay\n\t\t\t\tdispatch(HOLD_RAW_FORMAT_LATER);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t/*\n\tWhen 1234 is entered, it gets formatted to 1,234 on the first render.\n\t\n\tOn the next render, if the user enters 1234 again, the value stays 1234 because the NDS input component detects no change (oldValue === newValue). \n\tHowever, the expected behavior is for it to format as 1,234.\n\t\n\tTo fix this, we:\n\t\n\t1. Set the value to 1234 in the control state initially.\n\t2. Dispatch the update with a delay, so the flow becomes:\n\t1234 → 1,234 → 1234 → 1,234.\n\t\n\tThis ensures the value updates correctly each time and resolves the issue where oldValue === 1234 and newValue === 1,234.\n\t*/\n\t[HOLD_RAW_FORMAT_LATER]: {\n\t\teffect: ({ state: { value }, dispatch }) => {\n\t\t\tdispatch(INTERNAL_ON_BLUR, { fieldValue: value });\n\t\t},\n\t\tmodifier: { name: modifierTypes.DEBOUNCE, delay: 0, maxWait: 0 },\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport view from './view';\nimport { parse, formatServer } from './currencyFormat';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport actionHandlers from './actionHandlers';\nimport { INTERNAL_ON_BLUR } from './utils';\n// Function imports\nimport {\n\ttrackBehavior,\n\tcreateWithStateBehavior,\n\ttransformState,\n\twithState,\n\tsetInitialStateWithValue,\n\tsetInitialValue,\n\tfieldLayoutSchema,\n\tNOW_INPUT,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\nimport {\n\tnormalizeCurrencyCodes,\n\tnormalizeCurrencyValue,\n\tformatCurrency\n} from './utils';\nimport style from './currency.scss';\n\n// Component imports\nexport { normalizeCurrencyCodes, normalizeCurrencyValue } from './utils';\n\nconst withStateBehavior = {\n\tbehavior: createWithStateBehavior({\n\t\tparse: (value, props, { currencyCode }) => {\n\t\t\tlet { value: parsedValue, error } = parse(\n\t\t\t\tvalue,\n\t\t\t\tprops.locale,\n\t\t\t\tcurrencyCode\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tvalue: formatServer(parsedValue, currencyCode),\n\t\t\t\terror\n\t\t\t};\n\t\t},\n\t\tformat: formatCurrency,\n\t\teventBased: false,\n\t\tfieldChangeHandlers: {\n\t\t\tonBlur: INTERNAL_ON_BLUR,\n\t\t\tonChange: NOW_INPUT.INPUT\n\t\t},\n\t\tforceRenderOnBlur: ({ isRender, updateState }) => {\n\t\t\tupdateState({ isRender: !isRender });\n\t\t},\n\t\tcache: false\n\t})\n};\n\n/**\n * <sn-record-currency-connected\n *\t\tvalue: 'JPY;1200',\n *\t\tfieldType: 'currency',\n *\t\tcurrencyCodes: [\n *\t\t\t{\n *            \tsymbol: '£',\n *\t\t\t\tcode: 'GBP'\n *\t\t\t},\n *\t\t\t{\tsymbol: '$',\n *\t\t\t\tcode: 'USD'\n *\t\t\t}]\n * />\n * ```\n *\n * @seismicElement sn-record-currency-connected\n * @summary Connected Currency Component\n *\n */\n\ncreateCustomElement('sn-record-currency-connected', {\n\tview: withState(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * aria-label\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * aria-labelledby\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Currency Code of the value passed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcode: {},\n\n\t\t/**\n\t\t * List of available currencies that the user can enter.\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tcurrencyCodes: { default: [] },\n\t\t/**\n\t\t * computed property on currencyCodes property\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tnormalizedCurrencyCodes: {\n\t\t\tcomputed({\n\t\t\t\tproperties: { currencyCodes, code, reversed, enableSubLabel }\n\t\t\t}) {\n\t\t\t\treturn normalizeCurrencyCodes(\n\t\t\t\t\tcurrencyCodes,\n\t\t\t\t\tcode,\n\t\t\t\t\treversed,\n\t\t\t\t\tenableSubLabel\n\t\t\t\t);\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\n\t\t/**\n\t\t *  When the `value` string does not contain a currency code, use this default\n\t\t * currency code instead. Will be ignored if `value` is prefixed with a\n\t\t * currency code.\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdefaultCurrency: { default: 'USD' },\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Props for declarative actions associated with this field.\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * Flag to know if currency list dropdown is open or not\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tdropdownOpen: {},\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t *\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Initial Value for the input\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tinitialValue: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { initialValue } = setInitialValue({\n\t\t\t\t\t...properties,\n\t\t\t\t\tvalue: normalizeCurrencyValue(properties)\n\t\t\t\t});\n\t\t\t\treturn initialValue;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Price field flag\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisPrice: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlocale: { default: window.navigator.language },\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Maximum number of fraction digits to show\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tmaxFractionDigits: { default: 4 },\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tminFractionDigits: { default: 0 },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: { default: false },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * String containing all serialized UI changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tserializedChanges: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * System setting to allow all digits entered regardless of currency format\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tuseAllFractionsDigits: { default: false },\n\n\t\t/**\n\t\t * Should be locked into using a single currency\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsingleCurrency: { default: false },\n\n\t\t/**\n\t\t * Value can be anything\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Causes the component to have search enabled for the currency List dropdown\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean)}\n\t\t */\n\t\tenableSearch: { default: true },\n\t\t/**\n\t\t * Causes the component to have sublabel along with the labels here in the currency dropdown\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean)}\n\t\t */\n\t\tenableSubLabel: { default: true },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: actionHandlers,\n\ttransformState,\n\tsetInitialState: setInitialStateWithValue(formatCurrency),\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on each value change on the input.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'SN_RECORD_CURRENCY_CONNECTED#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a value is changed and input is blurred\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_CURRENCY_CONNECTED#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\twithStateBehavior,\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t]\n});\n\ncreateCustomElement('now-currency-input', {\n\tview: withState(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * aria-label\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * aria-labelledby\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Currency Code of the value passed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcode: {},\n\n\t\t/**\n\t\t * List of available currencies that the user can enter.\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tcurrencyCodes: { default: [] },\n\t\t/**\n\t\t * computed property on currencyCodes property\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tnormalizedCurrencyCodes: {\n\t\t\tcomputed({\n\t\t\t\tproperties: { currencyCodes, code, reversed, enableSubLabel }\n\t\t\t}) {\n\t\t\t\treturn normalizeCurrencyCodes(\n\t\t\t\t\tcurrencyCodes,\n\t\t\t\t\tcode,\n\t\t\t\t\treversed,\n\t\t\t\t\tenableSubLabel\n\t\t\t\t);\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\n\t\t/**\n\t\t *  When the `value` string does not contain a currency code, use this default\n\t\t * currency code instead. Will be ignored if `value` is prefixed with a\n\t\t * currency code.\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdefaultCurrency: { default: 'USD' },\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Props for declarative actions associated with this field.\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * Flag to know if currency list dropdown is open or not\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tdropdownOpen: {},\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t *\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Initial Value for the input\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tinitialValue: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { initialValue } = setInitialValue({\n\t\t\t\t\t...properties,\n\t\t\t\t\tvalue: normalizeCurrencyValue(properties)\n\t\t\t\t});\n\t\t\t\treturn initialValue;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Price field flag\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisPrice: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlocale: { default: window.navigator.language },\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Maximum number of fraction digits to show\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tmaxFractionDigits: { default: 4 },\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tminFractionDigits: { default: 0 },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: { default: false },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * String containing all serialized UI changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tserializedChanges: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * System setting to allow all digits entered regardless of currency format\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tuseAllFractionsDigits: { default: false },\n\n\t\t/**\n\t\t * Should be locked into using a single currency\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsingleCurrency: { default: false },\n\n\t\t/**\n\t\t * Value can be anything\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Causes the component to have search enabled for the currency List dropdown\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean)}\n\t\t */\n\t\tenableSearch: { default: true },\n\t\t/**\n\t\t * Causes the component to have sublabel along with the labels here in the currency dropdown\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean)}\n\t\t */\n\t\tenableSubLabel: { default: true }\n\t},\n\tactionHandlers: actionHandlers,\n\ttransformState,\n\tsetInitialState: setInitialStateWithValue(formatCurrency),\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on each value change on the input.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_CURRENCY_INPUT#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a value is changed and input is blurred\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_CURRENCY_INPUT#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\twithStateBehavior,\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { getFormat } from '.';\nimport { isNil } from 'lodash';\nimport { time } from '@devsnc/sn-controls-common';\n\nexport const defaultDateTime = {\n\tset initialValue(properties) {\n\t\t/** TODO::\n\t\t * We still using moment lib in controls-common as we need to get initial date/time here\n\t\t * The reason to use this depends on using date-fns-tz as the initial time has timezone\n\t\t * constraints via utcOffsets to get current time based on the utcOffset values configrued.\n\t\t * Currently NDS is not using this library so we are still keeping this code\n\t\t * using moment JS.\n\t\t */\n\n\t\tconst { utcOffset, language } = properties;\n\t\tconst now = isNil(utcOffset)\n\t\t\t? time(language)()\n\t\t\t: time(language)().utcOffset(utcOffset);\n\t\tlet format = getFormat(properties);\n\t\tformat = format?.includes('a') ? format.replace('a', 'A') : format;\n\t\tformat = format?.includes('z') ? format.replace(' z', '') : format;\n\t\tthis.value = now.format(format).toString();\n\t},\n\tvalue: ''\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"DateTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.__esModule\n\t\t\t\t\tif (cjsModule && 'DateTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].DateTypes;\n\t\t\t\t\t} else if ('DateTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.DateTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].DateTypes;\n\t\t\t\t}, [\"isDateTimeValueValid\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.__esModule\n\t\t\t\t\tif (cjsModule && 'isDateTimeValueValid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].isDateTimeValueValid;\n\t\t\t\t\t} else if ('isDateTimeValueValid' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.isDateTimeValueValid || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].isDateTimeValueValid;\n\t\t\t\t}, [\"localeContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.__esModule\n\t\t\t\t\tif (cjsModule && 'localeContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].localeContext;\n\t\t\t\t\t} else if ('localeContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.localeContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].localeContext;\n\t\t\t\t}, [\"parseTZ\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.__esModule\n\t\t\t\t\tif (cjsModule && 'parseTZ' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].parseTZ;\n\t\t\t\t\t} else if ('parseTZ' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__.parseTZ || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_0_15_index_jsdbx_c829eef1__[\"default\"].parseTZ;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"format\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.__esModule\n\t\t\t\t\tif (cjsModule && 'format' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].format;\n\t\t\t\t\t} else if ('format' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.format || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].format;\n\t\t\t\t}, [\"isAfter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.__esModule\n\t\t\t\t\tif (cjsModule && 'isAfter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isAfter;\n\t\t\t\t\t} else if ('isAfter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.isAfter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isAfter;\n\t\t\t\t}, [\"isBefore\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.__esModule\n\t\t\t\t\tif (cjsModule && 'isBefore' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isBefore;\n\t\t\t\t\t} else if ('isBefore' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.isBefore || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isBefore;\n\t\t\t\t}, [\"isSameDay\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.__esModule\n\t\t\t\t\tif (cjsModule && 'isSameDay' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isSameDay;\n\t\t\t\t\t} else if ('isSameDay' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.isSameDay || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isSameDay;\n\t\t\t\t}, [\"isWithinInterval\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.__esModule\n\t\t\t\t\tif (cjsModule && 'isWithinInterval' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isWithinInterval;\n\t\t\t\t\t} else if ('isWithinInterval' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__.isWithinInterval || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_date_fns_2_30_0_index_jsdbx_8c8f4898__[\"default\"].isWithinInterval;\n\t\t\t\t} });","export const WEEKLY_FORMAT = \"'W'ww Y\";\nexport const WEEKLY_ISO_FORMAT = \"'W'ww Y\";\nexport const MONTHLY_FORMAT = 'MMM yyyy';\nexport const YEARLY_FORMAT = 'yyyy';\nexport const QUARTERLY_FORMAT = 'qqq yyyy';\nexport const DEFAULT_DATE_TIME_FORMAT = 'yyyy-MM-dd hh:mm:ss a';\nexport const DEFAULT_DATE_FORMAT = 'yyyy-MM-dd';\nexport const DEFAULT_REPLACEMENTS = {\n\tYYYY: 'yyyy',\n\tDD: 'dd',\n\t'[Q]': 'qq',\n\tQ: 'q',\n\t'[W]': \"'W'\",\n\tww: 'ww',\n\tWW: 'w',\n\tYY: 'yy',\n\tY: 'y',\n\tD: 'd'\n};\n\nexport const WEEKLY_TYPE = 'weekly';\nexport const MONTHLY_TYPE = 'monthly';\nexport const YEARLY_TYPE = 'yearly';\nexport const QUARTERLY_TYPE = 'quarterly';\nexport const STANDARD_TYPE = 'standard';\nexport const WEEKLY_ISO_FIRST_DAY = 1;\nexport const MOMENT_WEEK = 'week';\nexport const MOMENT_ISO_WEEK = 'isoWeek';\n\nexport const MOMENT_WEEKLY_FORMAT = '[W]ww YYYY';\nexport const MOMENT_WEEKLY_ISO_FORMAT = '[W]ww YYYY';\nexport const MOMENT_MONTHLY_FORMAT = 'MMM YYYY';\nexport const MOMENT_YEARLY_FORMAT = 'YYYY';\nexport const MOMENT_QUARTERLY_FORMAT = '[Q]Q YYYY';\nexport const NOW_DATE_TIME = 'NOW-DATE-TIME';\nexport const LOCALE_WITHOUT_FULL_SERVER_SUPPORT = ['he', 'de'];\n","import { t } from 'sn-translate';\nimport { actionTypes, modifierTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport {\n\tCALLBACK_AND_DISPATCH,\n\tadaptCallbackForLegacyAPI,\n\tgetDateFromFormat,\n\tisTimeZoneEnabledField\n} from '@devsnc/sn-controls-common';\nimport {\n\tfetchServerDate,\n\tgetDateObject,\n\tgetDateFnsFormat,\n\tshowBottomBar,\n\tgetFormat,\n\tisDateIncluded,\n\tgetDateObjectWithTz,\n\tfocusInput\n} from '.';\nimport { localeContext } from '@servicenow/library-date-time';\nimport { format as fnsFormat } from 'date-fns';\nimport moment from 'moment';\nimport { defaultDateTime } from './utils';\nimport { NOW_DATE_TIME, LOCALE_WITHOUT_FULL_SERVER_SUPPORT } from './constants';\nimport { isNil } from 'lodash';\nexport const DATE_PICKER_OPENED_SET = 'NOW_RECORD_DATE_PICKER#OPENED_SET';\nconst { COMPONENT_RENDER_REQUESTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst FETCH_SERVER_DATE_API = '/xmlhttp.do';\nexport const FETCH_SERVER_DATE = 'FETCH_SERVER_DATE';\nconst FETCH_SERVER_DATE_SUCCESS = 'FETCH_SERVER_DATE_SUCCESS';\nconst FETCH_SERVER_DATE_FAILURE = 'FETCH_SERVER_DATE_FAILURE';\nconst FETCH_SERVER_DATE_ERROR_MSG = t('Unable to fetch server date.');\nexport const NOW_DATE_PICKER_OFFSET = 'NOW_RECORD_DATE_PICKER#OFFSET';\nexport const NOW_DATE_PICKER_SAVE_VALUE = 'NOW_RECORD_DATE_PICKER#SAVE_VALUE';\nexport const NOW_DATE_PICKER_INPUT_BLUR = 'NOW_RECORD_DATE_PICKER#INPUT_BLUR';\nexport const NOW_DATE_PICKER_INPUT_CHANGE =\n\t'NOW_RECORD_DATE_PICKER#INPUT_CHANGE';\nexport const NOW_DATE_PICKER_ON_OK = 'NOW_RECORD_DATE_PICKER#ON_OK';\nexport const NOW_DATE_PICKER_ON_CANCEL = 'NOW_RECORD_DATE_PICKER#ON_CANCEL';\nconst FETCH_QUERY_PARAMS = [\n\t'sysparm_processor',\n\t'sysparm_name',\n\t'sysparm_value'\n];\nexport const NOW_DATE_TIME_FOOTER_ACTION_CLICKED =\n\t'NOW_DATE_TIME#FOOTER_ACTION_CLICKED';\nexport const NOW_DATE_TIME_OPENED_SET = 'NOW_DATE_TIME#OPENED_SET';\nexport const NOW_DATE_TIME_VALUE_SET = 'NOW_DATE_TIME#VALUE_SET';\nexport const NOW_DATE_TIME_INVALID_SET = 'NOW_DATE_TIME#INVALID_SET';\nexport const UPDATE_SAVE_PENDING = 'UPDATE_SAVE_PENDING';\n\nconst FetchServerDateEffect = createHttpEffect(FETCH_SERVER_DATE_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n\t\t'X-WantSessionNotificationMessages': 'true'\n\t},\n\tqueryParams: FETCH_QUERY_PARAMS,\n\tsuccessActionType: FETCH_SERVER_DATE_SUCCESS,\n\terrorActionType: FETCH_SERVER_DATE_FAILURE\n});\n\nexport default {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({ action, updateState }) => {\n\t\t\tif (action.payload.name === 'value') {\n\t\t\t\tupdateState({\n\t\t\t\t\tsavePending: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[DATE_PICKER_OPENED_SET]: {\n\t\teffect: ({\n\t\t\taction,\n\t\t\tupdateState,\n\t\t\tupdateProperties,\n\t\t\tproperties: { actualValue, actualFormat, format }\n\t\t}) => {\n\t\t\tconst { value } = action.payload;\n\t\t\tupdateState({\n\t\t\t\topened: value,\n\t\t\t\tsavePending: action.payload.savePending\n\t\t\t});\n\t\t\tif (\n\t\t\t\t!value &&\n\t\t\t\t(actualFormat || format) &&\n\t\t\t\t!isTimeZoneEnabledField(actualFormat || format)\n\t\t\t) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tformat: actualFormat,\n\t\t\t\t\tvalue: actualValue\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_TIME_INVALID_SET]: {\n\t\teffect: ({ updateProperties, action }) => {\n\t\t\tif (action.payload.value && action.payload?.errorId?.[0]) {\n\t\t\t\t// This is done to suppress error messages from NDS as controls will perform it's own validation\n\t\t\t\t// Currently INVALID_SET is very unstable action and cannot be used for validation\n\t\t\t\tupdateProperties(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath: 'messages',\n\t\t\t\t\t\tvalue: []\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { previousRenderState }\n\t\t\t},\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tconst { value, bottomBar, timePicker, hasTimePicker } = properties;\n\t\t\tconst { opened, pendingValue, value: stateValue, savePending } = state;\n\t\t\tconst isBottomBarPresent = bottomBar || timePicker || hasTimePicker;\n\t\t\tconst isValueTrue = value === true ? '' : value;\n\t\t\tconst pendingValueToUpdate = !savePending ? isValueTrue : pendingValue;\n\t\t\tconst valueToUpdate = isBottomBarPresent\n\t\t\t\t? !opened\n\t\t\t\t\t? pendingValue\n\t\t\t\t\t: value\n\t\t\t\t: isValueTrue;\n\t\t\tconst isFreshTypedValue = stateValue === '' && value === true;\n\t\t\tif (\n\t\t\t\t(value !== stateValue && !isFreshTypedValue) ||\n\t\t\t\topened !== previousRenderState.opened\n\t\t\t) {\n\t\t\t\tupdateState({\n\t\t\t\t\tvalue: valueToUpdate,\n\t\t\t\t\tpendingValue: pendingValueToUpdate\n\t\t\t\t});\n\t\t\t\tdispatch(UPDATE_SAVE_PENDING);\n\t\t\t}\n\t\t}\n\t},\n\t[UPDATE_SAVE_PENDING]: {\n\t\teffect: ({ state: { opened, savePending }, updateState }) => {\n\t\t\tif (!opened && savePending) {\n\t\t\t\tupdateState({ savePending: false });\n\t\t\t}\n\t\t},\n\t\tmodifier: { name: modifierTypes.DEBOUNCE, delay: 200, maxWait: 250 },\n\t\tstopPropagation: true\n\t},\n\t[FETCH_SERVER_DATE]: {\n\t\t...FetchServerDateEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_SERVER_DATE_SUCCESS]: {\n\t\teffect: effectProps => {\n\t\t\tconst {\n\t\t\t\taction: { payload },\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\tupdateProperties,\n\t\t\t\tdispatch,\n\t\t\t\tproperties\n\t\t\t} = effectProps;\n\t\t\tif (payload) {\n\t\t\t\tconst rxml = new window.DOMParser().parseFromString(\n\t\t\t\t\tpayload,\n\t\t\t\t\t'text/xml'\n\t\t\t\t);\n\t\t\t\tconst items = rxml.getElementsByTagName('xml');\n\t\t\t\tif (items && items.length > 0) {\n\t\t\t\t\tconst answer = items[0].getAttribute('answer') || '';\n\t\t\t\t\tif (answer && answer.length > 0) {\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tvalue: answer,\n\t\t\t\t\t\t\tformat: properties?.actualFormat,\n\t\t\t\t\t\t\tactualValue: answer\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst { onValueChange, name } = state.properties;\n\t\t\t\t\t\tif (onValueChange) {\n\t\t\t\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\tvalue: answer,\n\t\t\t\t\t\t\t\tpendingValue: answer,\n\t\t\t\t\t\t\t\tsavePending: false,\n\t\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\t\tmessage: FETCH_SERVER_DATE_ERROR_MSG\n\t\t\t\t\t\t};\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdispatch(DATE_PICKER_OPENED_SET, {\n\t\t\t\tvalue: false,\n\t\t\t\tsavePending: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[FETCH_SERVER_DATE_FAILURE]: {\n\t\teffect: effectProps => {\n\t\t\tconst error = {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: FETCH_SERVER_DATE_ERROR_MSG\n\t\t\t};\n\t\t\teffectProps.updateState({\n\t\t\t\terror\n\t\t\t});\n\t\t\teffectProps.dispatch(DATE_PICKER_OPENED_SET, {\n\t\t\t\tvalue: false,\n\t\t\t\tsavePending: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_TIME_FOOTER_ACTION_CLICKED]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\taction: { key }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tcontext: { [localeContext]: locale },\n\t\t\thost\n\t\t}) => {\n\t\t\tconst { pendingValue, isInitialValueNeeded } = state;\n\t\t\tconst date = getDateObject(properties, pendingValue, locale);\n\t\t\tlet initialValue = pendingValue;\n\t\t\tconst pendingValueToUpdate = pendingValue === true ? '' : pendingValue;\n\t\t\tif (\n\t\t\t\t!date?.isValid &&\n\t\t\t\tstate.opened === true &&\n\t\t\t\t!pendingValueToUpdate &&\n\t\t\t\t!isInitialValueNeeded\n\t\t\t) {\n\t\t\t\tinitialValue = defaultDateTime.value;\n\t\t\t\tdispatch('NOW_DATE_TIME#VALUE_SET', {\n\t\t\t\t\tvalue: initialValue\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (key === 'OK') {\n\t\t\t\tdispatch(NOW_DATE_PICKER_ON_OK, {\n\t\t\t\t\tpendingValue: initialValue\n\t\t\t\t});\n\t\t\t} else if (key === 'Cancel') {\n\t\t\t\tdispatch(NOW_DATE_PICKER_ON_CANCEL);\n\t\t\t}\n\t\t\t// In case the user presses Now button in the calendar,\n\t\t\t// key will be empty and we don't want user to focus\n\t\t\t// on the input field in this case as this will call the blur event\n\t\t\t// resulting in the value being saved , which we don't want if the user\n\t\t\t// clicks outside the calendar\n\t\t\tkey && host && focusInput(host);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_TIME_OPENED_SET]: {\n\t\teffect: ({\n\t\t\taction: { payload: value },\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t\tcontext: { [localeContext]: locale },\n\t\t\thost\n\t\t}) => {\n\t\t\tconst valuePayload = typeof value === 'object' ? value?.value : value;\n\t\t\tconst {\n\t\t\t\tformat,\n\t\t\t\tactualFormat,\n\t\t\t\tvalue: fieldValue,\n\t\t\t\ttype,\n\t\t\t\thasTimePicker,\n\t\t\t\ttimePicker,\n\t\t\t\toriginalFormat\n\t\t\t} = properties;\n\t\t\tlet updatedFormat = actualFormat || format;\n\t\t\tif (updatedFormat && !isTimeZoneEnabledField(updatedFormat)) {\n\t\t\t\tif (valuePayload === true) {\n\t\t\t\t\tif (fieldValue && fieldValue !== true) {\n\t\t\t\t\t\tupdatedFormat = updatedFormat.replace(' z', '');\n\t\t\t\t\t\tconst datfnsFormat = getDateFnsFormat(\n\t\t\t\t\t\t\tupdatedFormat,\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\thasTimePicker || timePicker\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst isValid =\n\t\t\t\t\t\t\tgetDateFromFormat(fieldValue, originalFormat) ||\n\t\t\t\t\t\t\tgetDateFromFormat(fieldValue, originalFormat.replace(/z/g, ''));\n\t\t\t\t\t\tif (isValid) {\n\t\t\t\t\t\t\tconst updatedValue = fnsFormat(\n\t\t\t\t\t\t\t\tnew Date(isValid),\n\t\t\t\t\t\t\t\tdatfnsFormat.replace(' z', ''),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t\t\t\tuseAdditionalWeekYearTokens: false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tformat: updatedFormat,\n\t\t\t\t\t\t\t\tactualFormat: format,\n\t\t\t\t\t\t\t\tvalue: updatedValue,\n\t\t\t\t\t\t\t\tactualValue: properties.value\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\tpendingValue: updatedValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tupdatedFormat = updatedFormat.replace(' z', '');\n\t\t\t\t\t\t\tdefaultDateTime.initialValue = properties;\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tformat: updatedFormat,\n\t\t\t\t\t\t\t\tvalue: defaultDateTime.value\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Handle case when date-picker field is empty\n\t\t\t\t\t\tupdatedFormat = updatedFormat.replace(' z', '');\n\t\t\t\t\t\tdefaultDateTime.initialValue = properties;\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tformat: updatedFormat,\n\t\t\t\t\t\t\tactualFormat: format,\n\t\t\t\t\t\t\tactualValue: properties.value,\n\t\t\t\t\t\t\tvalue: properties.actualValue\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (fieldValue) {\n\t\t\t\t\t\tconst isValid = getDateFromFormat(\n\t\t\t\t\t\t\tfieldValue,\n\t\t\t\t\t\t\toriginalFormat.replace(' z', '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (isValid) {\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tformat: properties.actualFormat,\n\t\t\t\t\t\t\t\tvalue: properties.actualValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tformat: properties.actualFormat\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tformat: properties.actualFormat,\n\t\t\t\t\t\t\tvalue: properties.actualValue\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst activeElement = host?.shadowRoot?.activeElement;\n\t\t\tif (!activeElement && showBottomBar(properties)) {\n\t\t\t\t// means the user has clicked Outside\n\t\t\t\tif (updatedFormat && !isTimeZoneEnabledField(updatedFormat)) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tisInitialValueNeeded: true,\n\t\t\t\t\t\topened: valuePayload\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(NOW_DATE_PICKER_ON_CANCEL);\n\t\t\t\t}\n\t\t\t} else if (activeElement?.nodeName === NOW_DATE_TIME && valuePayload) {\n\t\t\t\t// means the user has clicked inside date-picker panel\n\t\t\t\tupdateState({\n\t\t\t\t\topened: valuePayload,\n\t\t\t\t\tisInitialValueNeeded: false,\n\t\t\t\t\tsavePending: false\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\topened: valuePayload\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_TIME_VALUE_SET]: {\n\t\teffect: ({\n\t\t\taction: { payload },\n\t\t\tupdateState,\n\t\t\tproperties: { onStagedValueChange },\n\t\t\tstate,\n\t\t\tdispatch\n\t\t}) => {\n\t\t\t/**\n\t\t\t *  Similar to onDateChange function from CalendarView\n\t\t\t * Called as the user interacts with the dropdown. These changes\n\t\t\t * are not persisted unless the user explicitly clicks OK.\n\t\t\t */\n\t\t\tconst pendingValue = payload.value;\n\t\t\tconst { properties, opened } = state;\n\n\t\t\tif (!opened) return;\n\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\tcallback: onStagedValueChange,\n\t\t\t\tisValueChanged: false,\n\t\t\t\tdispatchPayload: { value: pendingValue }\n\t\t\t});\n\t\t\tconst hasBottomBar = showBottomBar(properties);\n\t\t\tif (!hasBottomBar) {\n\t\t\t\t// the calendar should still be open if the user is interacting with an empty\n\t\t\t\t// date picker, even if it is bottomless. if there is a value, it will close\n\t\t\t\t// when date changes again as expected\n\t\t\t\t// value is defaulted to the current date/time for absolute dates\n\t\t\t\t// for time ago close popover in any case\n\t\t\t\tconst close = !pendingValue;\n\t\t\t\tdispatch(DATE_PICKER_OPENED_SET, {\n\t\t\t\t\tvalue: opened && close\n\t\t\t\t});\n\t\t\t\tdispatch(NOW_DATE_PICKER_SAVE_VALUE, {\n\t\t\t\t\tpendingValue: pendingValue\n\t\t\t\t});\n\t\t\t}\n\t\t\tupdateState({\n\t\t\t\tpendingValue\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_PICKER_SAVE_VALUE]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { pendingValue }\n\t\t\t},\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tcontext: { [localeContext]: locale }\n\t\t}) => {\n\t\t\tconst inputStr = pendingValue;\n\t\t\tlet dateObj = getDateObject(properties, inputStr, locale);\n\t\t\tif (!dateObj && !isTimeZoneEnabledField(properties.actualFormat)) {\n\t\t\t\tdateObj = getDateObjectWithTz(properties, inputStr, locale);\n\t\t\t}\n\t\t\tconst date = dateObj?.date;\n\t\t\tconst isoDate = dateObj?.isoDate;\n\t\t\tconst {\n\t\t\t\ttype,\n\t\t\t\tdisabledDates,\n\t\t\t\toriginalFormat,\n\t\t\t\tonValueChange,\n\t\t\t\ttimePicker,\n\t\t\t\thasTimePicker,\n\t\t\t\tlanguage\n\t\t\t} = properties;\n\n\t\t\tconst format = getFormat(properties);\n\t\t\tlet dateFnsFormat = getDateFnsFormat(\n\t\t\t\tformat,\n\t\t\t\ttype,\n\t\t\t\thasTimePicker || timePicker\n\t\t\t);\n\t\t\tdateFnsFormat = dateFnsFormat.replace(' z', '');\n\t\t\tlet isWeekYearToken = false;\n\t\t\tif (format?.indexOf('w') > 0) {\n\t\t\t\tisWeekYearToken = true;\n\t\t\t}\n\t\t\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\t\t\tlet value =\n\t\t\t\tdate && isStrictCheck\n\t\t\t\t\t? fnsFormat(date, dateFnsFormat, {\n\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t\tuseAdditionalWeekYearTokens: isWeekYearToken\n\t\t\t\t\t\t})\n\t\t\t\t\t: inputStr;\n\n\t\t\tlet error = null;\n\t\t\tif (inputStr && !date) {\n\t\t\t\terror = {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t'Invalid date {0}. Must be a valid date in the format {1}',\n\t\t\t\t\t\tinputStr,\n\t\t\t\t\t\tformat\n\t\t\t\t\t)\n\t\t\t\t};\n\t\t\t} else if (inputStr && disabledDates) {\n\t\t\t\tconst isADisabledDate = isDateIncluded(\n\t\t\t\t\tinputStr,\n\t\t\t\t\tdateFnsFormat,\n\t\t\t\t\tdisabledDates,\n\t\t\t\t\tlocale\n\t\t\t\t);\n\t\t\t\tif (isADisabledDate) {\n\t\t\t\t\terror = {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t\t'Invalid selection. Choose another date.',\n\t\t\t\t\t\t\tinputStr,\n\t\t\t\t\t\t\tgetDateFnsFormat(originalFormat)\n\t\t\t\t\t\t)\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\t// We have to send the value supported by server for AM/PM.\n\t\t\t// Neither the server, nor moment recognises AM/PM(vorm. or nachm. in 'de')\n\t\t\t// in certain other locales (he, de) as valid translations, as well as\n\t\t\t// certain months in 'MMM\" format (Okt. in 'de') so we rely on moment to convert it\n\t\t\t// simply to 'en' locale which is supported by server. https://github.com/moment/moment/issues/3585\n\t\t\t// If DEF0750690 is fixed in future, we can remove this workaround for 'MMM' case.\n\t\t\tif (\n\t\t\t\tLOCALE_WITHOUT_FULL_SERVER_SUPPORT.includes(language) &&\n\t\t\t\t(format.includes('a') || format.includes('MMM')) &&\n\t\t\t\t!Number.isNaN(date?.valueOf())\n\t\t\t) {\n\t\t\t\tvalue = moment(date).locale('en').format(format);\n\t\t\t}\n\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\tcallback: onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\tvalue,\n\t\t\t\t\terror,\n\t\t\t\t\tdate: date,\n\t\t\t\t\tisoDate: isoDate\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_PICKER_ON_OK]: {\n\t\teffect: ({\n\t\t\tproperties,\n\t\t\taction: {\n\t\t\t\tpayload: { pendingValue }\n\t\t\t},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tconst { actualFormat } = properties;\n\t\t\tconst format = getFormat(properties);\n\t\t\tconst isTimeZoneEnabled = isTimeZoneEnabledField(actualFormat || format);\n\t\t\tlet selectedTimeValue = pendingValue;\n\t\t\tif (\n\t\t\t\t!isTimeZoneEnabled &&\n\t\t\t\tselectedTimeValue &&\n\t\t\t\t!isNil(properties.utcOffset)\n\t\t\t) {\n\t\t\t\tfetchServerDate(properties, dispatch, selectedTimeValue);\n\t\t\t} else {\n\t\t\t\tdispatch(NOW_DATE_PICKER_SAVE_VALUE, {\n\t\t\t\t\tpendingValue\n\t\t\t\t});\n\n\t\t\t\tdispatch(DATE_PICKER_OPENED_SET, {\n\t\t\t\t\tvalue: false,\n\t\t\t\t\tsavePending: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_PICKER_ON_CANCEL]: {\n\t\teffect: ({\n\t\t\tproperties: { onStagedValueChange },\n\t\t\tdispatch,\n\t\t\tstate: { value },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tpendingValue: value\n\t\t\t});\n\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\tcallback: onStagedValueChange,\n\t\t\t\tisValueChanged: false,\n\t\t\t\tdispatchPayload: { value }\n\t\t\t});\n\t\t\tdispatch(DATE_PICKER_OPENED_SET, { value: false });\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { toString } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@devsnc/sn-declarative-actions';\nimport '@servicenow/now-date-time';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { defaultDateTime } from './utils';\n\nimport {\n\tisAttrTrue,\n\tgetDeclarativeActionsProps,\n\ttransformState,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformMessages,\n\twrapHelperContent,\n\ttrackBehavior,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\tfieldLayoutSchema,\n\trenderDecorations,\n\tgetDateFromFormat,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\n\nimport actionHandlers, {\n\tFETCH_SERVER_DATE,\n\tNOW_DATE_PICKER_SAVE_VALUE\n} from './actionHandlers';\nimport style from './date.scss';\nimport {\n\tDateTypes,\n\tparseTZ,\n\tisDateTimeValueValid\n} from '@servicenow/library-date-time';\nimport {\n\tDEFAULT_DATE_FORMAT,\n\tDEFAULT_DATE_TIME_FORMAT,\n\tDEFAULT_REPLACEMENTS,\n\tMONTHLY_FORMAT,\n\tQUARTERLY_FORMAT,\n\tWEEKLY_FORMAT,\n\tYEARLY_FORMAT,\n\tMONTHLY_TYPE,\n\tQUARTERLY_TYPE,\n\tYEARLY_TYPE,\n\tSTANDARD_TYPE,\n\tWEEKLY_TYPE,\n\tWEEKLY_ISO_FIRST_DAY,\n\tMOMENT_ISO_WEEK,\n\tMOMENT_WEEK\n} from './constants';\nimport * as Constants from './constants';\nimport { isSameDay, isAfter, isBefore, isWithinInterval } from 'date-fns';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nexport const showBottomBar = properties => {\n\tconst { bottomBar, timePicker, hasTimePicker } = properties;\n\treturn !!(bottomBar || timePicker || hasTimePicker);\n};\n\nexport const getWeekType = isoWeek => (isoWeek ? MOMENT_ISO_WEEK : MOMENT_WEEK);\n\nexport function focusInput(host) {\n\tconst input = host.shadowRoot\n\t\t?.querySelector('now-date-time')\n\t\t?.shadowRoot?.querySelector('now-input-date-time');\n\tinput?.focus({ input: true });\n}\n\nexport const isDateIncluded = (date, format, datesToLookFor, locale) => {\n\tlet isWeekYearToken = false;\n\tif (format?.indexOf('w') > 0) {\n\t\tisWeekYearToken = true;\n\t}\n\tconst checkDate = parseTZ(date, format, new Date());\n\tconst parseOptions = {\n\t\tuseAdditionalWeekYearTokens: isWeekYearToken,\n\t\tlocale\n\t};\n\n\treturn datesToLookFor.some(compareRange => {\n\t\tlet answer = false;\n\n\t\tif (typeof compareRange === 'string') {\n\t\t\tconst compareDate = parseTZ(\n\t\t\t\tcompareRange,\n\t\t\t\tformat,\n\t\t\t\tnew Date(),\n\t\t\t\tparseOptions\n\t\t\t);\n\t\t\tanswer = isSameDay(checkDate, compareDate);\n\t\t} else if (\n\t\t\ttypeof compareRange === 'object' &&\n\t\t\tcompareRange.start &&\n\t\t\tcompareRange.end\n\t\t) {\n\t\t\tconst start = parseTZ(\n\t\t\t\tcompareRange.start,\n\t\t\t\tformat,\n\t\t\t\tnew Date(),\n\t\t\t\tparseOptions\n\t\t\t);\n\t\t\tconst end = parseTZ(compareRange.end, format, new Date(), parseOptions);\n\t\t\tanswer = isWithinInterval(checkDate, { start, end });\n\t\t} else if (typeof compareRange === 'object' && compareRange.before) {\n\t\t\tconst beforeDate = parseTZ(\n\t\t\t\tcompareRange.before,\n\t\t\t\tformat,\n\t\t\t\tnew Date(),\n\t\t\t\tparseOptions\n\t\t\t);\n\t\t\tanswer = isBefore(checkDate, beforeDate);\n\t\t} else if (typeof compareRange === 'object' && compareRange.after) {\n\t\t\tconst afterDate = parseTZ(\n\t\t\t\tcompareRange.after,\n\t\t\t\tformat,\n\t\t\t\tnew Date(),\n\t\t\t\tparseOptions\n\t\t\t);\n\t\t\tanswer = isAfter(checkDate, afterDate);\n\t\t}\n\n\t\treturn answer;\n\t});\n};\n\nexport const getDateFnsFormat = (format, type, hasTime) => {\n\tconst formatWithReplacements = format =>\n\t\tObject.entries(DEFAULT_REPLACEMENTS).reduce(\n\t\t\t(acc, [key, value]) => acc.replace(key, value),\n\t\t\tformat\n\t\t);\n\n\t// Handle cases with both type and format\n\tif (type && format) {\n\t\tconst replacedFormat = formatWithReplacements(format);\n\t\tif (type === WEEKLY_TYPE) {\n\t\t\t// This is a special case with regard to Date-fns\n\t\t\treturn replacedFormat.replace('yyyy', 'Y');\n\t\t}\n\t\treturn replacedFormat;\n\t}\n\n\t// Handle cases with type but no format\n\tif (type && !format) {\n\t\tswitch (type) {\n\t\t\tcase WEEKLY_TYPE:\n\t\t\t\treturn WEEKLY_FORMAT;\n\t\t\tcase QUARTERLY_TYPE:\n\t\t\t\treturn QUARTERLY_FORMAT;\n\t\t\tcase MONTHLY_TYPE:\n\t\t\t\treturn MONTHLY_FORMAT;\n\t\t\tcase YEARLY_TYPE:\n\t\t\t\treturn YEARLY_FORMAT;\n\t\t\tcase STANDARD_TYPE:\n\t\t\t\treturn (\n\t\t\t\t\tformat || (hasTime ? DEFAULT_DATE_TIME_FORMAT : DEFAULT_DATE_FORMAT)\n\t\t\t\t);\n\t\t}\n\t}\n\tif (!format) {\n\t\treturn;\n\t}\n\t// Handle cases with format but no type\n\treturn formatWithReplacements(format);\n};\n\nexport const getFormat = ({\n\ttimePicker,\n\thasTimePicker,\n\tformat,\n\ttype,\n\tisoWeek = false\n}) => {\n\tif (type === Constants.STANDARD_TYPE) {\n\t\t// In UI16 AM or PM are supported but with moment JS transition we support am and pm\n\t\t// This is done so as to support parity with UI16\n\t\treturn (\n\t\t\tformat ||\n\t\t\t(timePicker || hasTimePicker ? 'YYYY-MM-DD hh:mm:ss a' : 'YYYY-MM-DD')\n\t\t);\n\t}\n\n\tif (type === Constants.WEEKLY_TYPE)\n\t\treturn isoWeek\n\t\t\t? Constants.MOMENT_WEEKLY_ISO_FORMAT\n\t\t\t: Constants.MOMENT_WEEKLY_FORMAT;\n\n\treturn Constants[`MOMENT_${type?.toUpperCase()}_FORMAT`];\n};\n\n/**\n * Convert the value (string) into a date-fns date object\n */\nexport const getDateObject = (properties, value, locale) => {\n\tif (!value) {\n\t\treturn null;\n\t}\n\tconst format = getFormat(properties);\n\tconst { type, hasTimePicker, timePicker, required } = properties;\n\n\tconst isValid = isDateTimeValueValid({\n\t\tvalue,\n\t\tformat: getDateFnsFormat(format, type, hasTimePicker || timePicker),\n\t\trequired: required,\n\t\tlocale\n\t});\n\treturn isValid.valid ? isValid : null;\n};\n\nexport const saveValue = (inputStr, dispatch) => {\n\tdispatch(NOW_DATE_PICKER_SAVE_VALUE, {\n\t\tpendingValue: inputStr\n\t});\n};\n\nexport const fetchServerDate = (properties, dispatch, dt) => {\n\tconst { originalFormat } = properties;\n\tdt = dt.trim();\n\tconst dateFromFormat =\n\t\tgetDateFromFormat(dt, originalFormat.trim()) ||\n\t\tgetDateFromFormat(dt, originalFormat.replace(/z/g, '').trim());\n\tconst date = dateFromFormat ? new Date(dateFromFormat) : new Date();\n\tconst browserOffset = date.getTimezoneOffset() * 60000;\n\tconst utcTime = date.getTime() - browserOffset;\n\tconst utcOffset = properties.utcOffset * 60 * 60 * 1000;\n\tconst userDateTime = utcTime - utcOffset;\n\tdispatch(FETCH_SERVER_DATE, {\n\t\tsysparm_processor: 'DateTimeUtils',\n\t\tsysparm_name: 'formatCalendarDate',\n\t\tsysparm_value: userDateTime\n\t});\n};\n\n/**\n * Called as the user interacts with the input field. These changes\n * are persisted as the user types, unlike dropdown interaction\n */\nexport const onInputChange =\n\t({ onStagedValueChange }, updateState) =>\n\tevent => {\n\t\tconst path = event.path || (event.composedPath && event.composedPath());\n\t\tconst value = path[0].value;\n\t\tupdateState({\n\t\t\tpendingValue: value,\n\t\t\tisInitialValueNeeded: !value,\n\t\t\tsavePending: true\n\t\t});\n\n\t\tonStagedValueChange({ value });\n\t};\n\nexport const onInputBlur =\n\t({ pendingValue }, dispatch) =>\n\tevent => {\n\t\tif (!event?.relatedTarget?.classList?.contains('now-date-time-calendar')) {\n\t\t\tsaveValue(pendingValue, dispatch);\n\t\t}\n\t};\n\nconst getType = (type, timePicker, hasTimePicker) => {\n\tconst typeMappings = {\n\t\tweekly: 'week-year',\n\t\tmonthly: 'month',\n\t\tyearly: 'year',\n\t\tquarterly: 'quarter'\n\t};\n\n\tconst hasTime = timePicker || hasTimePicker;\n\n\treturn typeMappings[type] ?? (hasTime ? DateTypes.DATE_TIME : DateTypes.DATE);\n};\n\nexport const getDateObjectWithTz = (properties, value, locale) => {\n\tif (!value) {\n\t\treturn null;\n\t}\n\tconst { format, type, hasTimePicker, timePicker, required } = properties;\n\tconst isValid = isDateTimeValueValid({\n\t\tvalue,\n\t\tformat: getDateFnsFormat(format, type, hasTimePicker || timePicker).replace(\n\t\t\t' z',\n\t\t\t''\n\t\t),\n\t\trequired: required,\n\t\tlocale\n\t});\n\treturn isValid.valid ? isValid : null;\n};\n\n/**\n * Allows users to input date (and time) values either by direct import or via\n * a calendar popup.\n */\nconst view = (state, { dispatch, updateState }) => {\n\tlet { opened, pendingValue, properties, isInitialValueNeeded } = state;\n\tconst {\n\t\thasTimePicker,\n\t\tname,\n\t\tlabel,\n\t\tmessages,\n\t\tinvalid,\n\t\trequired,\n\t\treadonly,\n\t\ttimePicker,\n\t\tautofocus,\n\t\tisoWeek,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\ttype,\n\t\tlanguage,\n\t\tfirstDayOfWeek,\n\t\tdisabledDates,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tformat,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\tyearRange\n\t} = properties;\n\n\tconst isReadonly = isAttrTrue(readonly);\n\tconst declarativeActionsProps = getDeclarativeActionsProps(\n\t\tproperties.declarativeActionsProps,\n\t\tproperties\n\t);\n\tconst firstDay = firstDayOfWeek ? firstDayOfWeek : WEEKLY_ISO_FIRST_DAY;\n\n\tconst footerActions = [\n\t\t{ label: t('OK'), variant: 'secondary', key: 'OK' },\n\t\t{ label: t('Cancel'), variant: 'tertiary', key: 'Cancel' }\n\t];\n\n\tconst updatedDisableDates =\n\t\tdisabledDates?.length > 0\n\t\t\t? disabledDates.map(ensureObjectWithValueProperty)\n\t\t\t: [];\n\n\t// Handle strings consistently by ensuring a \"value\" property\n\tfunction ensureObjectWithValueProperty(obj) {\n\t\tif (typeof obj === 'string') {\n\t\t\treturn { value: obj };\n\t\t}\n\t\treturn obj;\n\t}\n\n\tconst calendarType = getType(type, timePicker, hasTimePicker);\n\n\tlet initialValue = '';\n\tconst updatedPendingValue = pendingValue === true ? '' : pendingValue;\n\tif (opened === true && !updatedPendingValue && !isInitialValueNeeded) {\n\t\tdefaultDateTime.initialValue = properties;\n\t\tinitialValue = defaultDateTime.value;\n\t}\n\n\treturn (\n\t\t<div className=\"now-record-date-picker\">\n\t\t\t<now-date-time\n\t\t\t\tvalue={toString(updatedPendingValue) || initialValue}\n\t\t\t\tformat={getDateFnsFormat(format, type, hasTimePicker || timePicker)}\n\t\t\t\ttype={calendarType}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\tyearRange={yearRange}\n\t\t\t\tlabel={label}\n\t\t\t\tfirstDayOfWeek={firstDay - 1}\n\t\t\t\tisoWeek={isoWeek}\n\t\t\t\tmessages={transformMessages(messages)}\n\t\t\t\tplaceholder={getFormat(properties)}\n\t\t\t\tname={`${name}-date`}\n\t\t\t\topened={opened}\n\t\t\t\treadonly={isReadonly}\n\t\t\t\trequired={required}\n\t\t\t\tsize={'md'}\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tshowDefaultFooterActions={false}\n\t\t\t\tdisabledItems={updatedDisableDates}\n\t\t\t\tlocale={language}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tmanage-invalid\n\t\t\t\tmanage-value\n\t\t\t\toninput={onInputChange(state, updateState)}\n\t\t\t\tonblur={onInputBlur(state, dispatch)}\n\t\t\t\thideFooter={false}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\tfooterActions={showBottomBar(properties) ? footerActions : []}\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tpanelFitProps={[\n\t\t\t\t\t{ target: 'bottom-start', content: 'top-start' },\n\t\t\t\t\t{ target: 'top-start', content: 'bottom-start' },\n\t\t\t\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t\t\t\t{ target: 'top-end', content: 'bottom-end' }\n\t\t\t\t]}\n\t\t\t\tcolor={color}\n\t\t\t>\n\t\t\t\t<sn-declarative-field-action\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tmodel={declarativeActionsProps}\n\t\t\t\t\tactions={declarativeActionsProps.declarativeUiActions}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tformData={properties.formData}\n\t\t\t\t\tfetchDeclarativeActions={\n\t\t\t\t\t\tdeclarativeActionsProps.fetchDeclarativeActions\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\t\tlabel\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t\t{renderDecorations(properties)}\n\t\t\t<\/now-date-time>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n\n/**\n *\n * This component allows users to specify a date, or pick a date from a calendar\n *\n * ```jsx\n * <now-record-date-picker label=\"Pick a date\" value=\"2020-02-02\" />\n * ```\n *\n * With time picker\n *\n * ```jsx\n * <now-record-date-picker\n *\t\tlabel=\"Pick a date and time\"\n *\t\tvalue=\"2020-02-02 2:45 pm\"\n *\t\tformat=\"YYYY-MM-DD hh:mm a\"\n *\t\ttimePicker\n * />\n * ```\n *\n * @seismicElement now-record-date-picker\n * @summary Date Picker Component\n *\n */\ncreateCustomElement('now-record-date-picker', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tsetInitialState: ({ properties: { value } }) => ({\n\t\topened: false,\n\t\tpendingValue: value === true ? '' : value,\n\t\tvalue: value === true ? '' : value\n\t}),\n\tproperties: {\n\t\t/**\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaDescribedby: {},\n\n\t\t/**\n\t\t * An object whose items are all aria properties in the format 'aria-*' : 'value'\n\t\t * @type {{'aria-*': string }}\n\t\t */\n\t\tconfigAria: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Whether or not to display the bottom bar containing the Ok and Cancel buttons.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tbottomBar: { default: true },\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Array of disabled dates defined as\n\t\t * `[ (DATE | DATE_RANGE)* ]`\n\t\t *\n\t\t * `DATE`:\n\t\t * \tDate string matching `format` property\n\t\t *\n\t\t * `DATE_RANGE`:\n\t\t * \t{ start: `DATE`, end: `DATE` } | { after: `DATE` } | { before: `DATE` }\n\t\t *\n\t\t * where `start`/`end` are inclusive and `after`/`before` are exclusive\n\t\t * eg. [ '13-01-2020', { start: '15-01-2020', end: '20-01-2020' }, { before: '05-01-2020' }, { after: '25-01-2020' }]\n\t\t *\n\t\t * @type { Array < string | {start: string, end: string} | {before: string} | {after: string} > }\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t */\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {any}\n\t\t * @private\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t *\n\t\t * Type of the field\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * What day of the week to begin the calendar. 1 = Sunday, 2 = Monday, etc.\n\t\t * Can only be a value from 1 to 7\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tfirstDayOfWeek: { default: 1 },\n\n\t\t/**\n\t\t * Format describing how to serialize/deserialize the `value` prop.\n\t\t * This property is only relevant for `type='standard'` and is ignored for other views.\n\t\t *\n\t\t * When not provided, the default format is one of:\n\t\t *\n\t\t * - When showing a time picker: `YYYY-MM-DD hh:mm:ss a`\n\t\t * - When not showing a time picker: `YYYY-MM-DD`\n\t\t * - For weekly type, `[W]ww YYYY`\n\t\t * - For yearly type, `YYYY`\n\t\t *\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t * @type {string}\n\t\t */\n\t\tformat: {},\n\n\t\t/**\n\t\t * Keep original Format as user defined format\n\t\t *\n\t\t * This is needed to use for validation in case if we have timezone(z) in dateTimeFormat , we will be using\n\t\t * platform validation which does not understands the moment validation\n\t\t * Currently format property for this component is converted to upperCase ,\n\t\t * this originalFormat is the actual format configured in the system\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\toriginalFormat: {},\n\t\t/**\n\t\t * Please use `timePicker` instead\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\thasTimePicker: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Whether or not to display the time picker along with the calendar.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\ttimePicker: { default: false },\n\n\t\t/**\n\t\t * The UTC offset\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tutcOffset: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t *\n\t\t * Toggles whether to use Leap Week with 53 weeks as needed for Weekly View Only (type : `weekly`)\n\t\t * Not supported on `standard`, `monthly`, `quarterly`, `yearly` type Views.\n\t\t *\n\t\t * ISO Week (ISO 8601) https://en.wikipedia.org/wiki/ISO_week_date\n\t\t *\n\t\t * ISO week starts with Monday\n\t\t *\n\t\t * If 1 January is on a Monday, Tuesday, Wednesday or Thursday, it is in W01.\n\t\t * If it is on a Friday, it is part of W53 of the previous year.\n\t\t * If it is on a Saturday, it is part of the last week of the previous year\n\t\t *      which is numbered W52 in a common year and W53 in a leap year.\n\t\t * If it is on a Sunday, it is part of W52 of the previous year.\n\t\t *\n\t\t *\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tisoWeek: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * User language preference. Used for moment date formatting\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: { default: 'en' },\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\treadonly: {},\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {boolean|string}\n\t\t */\n\t\trequired: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {},\n\n\t\t/**\n\t\t * Type determines the display view of the date-range-picker.\n\t\t * Supported values are `standard`, `weekly`, `monthly`,`quarterly` and `yearly`.\n\t\t * @type {String}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'standard',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['standard', 'weekly', 'monthly', 'quarterly', 'yearly']\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * The initial date/date-time value. This value must be the localized time, rather than UTC time.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\t\t/**\n\t\t * Used to store the original moment format while parsing date-strings with z-token\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tactualFormat: {},\n\n\t\t/**\n\t\t * Used to store original previous value for the date field while parsing fields with z-token\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tactualValue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Configures the range of years visible in the calendar.\n\t\t * Can either be relative to the current year, or an absolute range.\n\t\t * The default range is 100 years before and after the current year.\n\t\t * Note: years can be input in the field even if outside of this range.\n\t\t * @type {{start: number, end: number, relative: boolean}}\n\t\t */\n\t\tyearRange: {\n\t\t\tdefault: { start: -100, end: 100, relative: true },\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstart: { type: 'number' },\n\t\t\t\t\tend: { type: 'number' },\n\t\t\t\t\trelative: { type: 'boolean' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a different date is chosen prior to clicking the OK button.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_RECORD_DATE_PICKER#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the OK button is clicked and the value is saved.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_DATE_PICKER#VALUE_CHANGED': {}\n\t},\n\ttransformState,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t]\n});\n","const BEHAVIOR_NAME = 'rtl';\n\n/**\n * This behavior helps style components in right-to-left (RTL) layouts.\n * It sets the component host's `dir` attribute based on the `document.dir` of\n * its parent application. If `document.dir` is not explicitly defined, it will\n * set the component host's `dir` attribute to `'ltr'` by default.\n *\n * After installation import the behavior at the top of your component JS file\n * and register it in your component behaviors list:\n *\n * ```js\n * import rtlBehavior from '@servicenow/behavior-rtl';\n *\n * createCustomElement('sn-example', {\n *   // ...\n *   behaviors: [{behavior: rtlBehavior}]\n * });\n * ```\n *\n * @seismicBehavior rtlBehavior\n * @summary Sets the component host's `dir` attribute to support right-to-left layouts\n */\nexport default {\n\tname: BEHAVIOR_NAME,\n\tproperties: {\n\t\tdir: {\n\t\t\tget default() {\n\t\t\t\treturn document.dir || 'ltr';\n\t\t\t},\n\t\t\treflect: true,\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t},\n};\n","import moment from 'moment';\nimport { t } from 'sn-translate';\n\nexport const INVALID_MOMENT = moment(null);\n\n// Note: Whenever updating *_VIEW_TAG, make sure to additionally update\n// the elementNames passed into createCustomElement in respective views\nexport const STANDARD_TYPE = 'standard';\nexport const STANDARD_VIEW_TAG = 'sn-controls-standard-view';\n\nexport const WEEKLY_TYPE = 'weekly';\nexport const WEEKLY_FORMAT = '[W]ww YYYY';\nexport const WEEKLY_ISO_FORMAT = '[W]WW YYYY';\nexport const WEEKLY_ISO_FIRST_DAY = 1;\nexport const MAX_DAYS_IN_ADJACENT_NEXT_MONTH = 14;\nexport const MOMENT_WEEK = 'week';\nexport const MOMENT_ISO_WEEK = 'isoWeek';\n\nexport const MONTHLY_TYPE = 'monthly';\nexport const MONTHLY_FORMAT = 'MMM YYYY';\nexport const MONTHLY_VIEW_TAG = 'sn-controls-monthly-view';\n\nexport const YEARLY_NUM_ROWS = 3;\nexport const YEARLY_YEARS_PER_ROW = 4;\nexport const YEARLY_VISIBLE_YEARS = YEARLY_NUM_ROWS * YEARLY_YEARS_PER_ROW;\nexport const YEARLY_TYPE = 'yearly';\nexport const YEARLY_FORMAT = 'YYYY';\nexport const YEARLY_VIEW_TAG = 'sn-controls-yearly-view';\n\nexport const QUARTERLY_TYPE = 'quarterly';\nexport const QUARTERLY_FORMAT = '[Q]Q YYYY';\nexport const QUARTERS_ARRAY = ['Q1', 'Q2', 'Q3', 'Q4'];\nexport const QUARTERLY_VIEW_TAG = 'sn-controls-quarterly-view';\n\nexport const AFFIRMATIVE_KEYS = ['Enter', ' ', 'Spacebar'];\nexport const NAVIGATION_KEYS = [\n\t'ArrowRight',\n\t'ArrowLeft',\n\t'ArrowDown',\n\t'ArrowUp'\n];\n\nexport const CUSTOM_PRESET_LABEL = t('Custom');\n\n// Common dispatched events\nexport const SET_VISIBLE_YEAR = 'YEAR_HEADER#SET_VISIBLE_YEAR';\nexport const INIT_HIGHLIGHTED_DATE = 'GRID#INIT_HIGHLIGHTED_DATE';\nexport const SET_DATE = 'GRID#SET_DATE';\n\n//Default format from server api for timeago\nexport const DEFAULT_RESPONSE_FORMAT = 'YYYY-MM-DD hh:mm:ss';\n\nexport const ARIA_LABEL_DATE_FORMAT = 'LL, dddd';\n","import { chunk, range, map } from 'lodash';\nimport { weekdays, mod, cycle } from '@devsnc/sn-controls-common';\nimport { t } from 'sn-translate';\nimport { time } from '@devsnc/sn-controls-common';\nimport {\n\tWEEKLY_ISO_FIRST_DAY,\n\tMOMENT_WEEK,\n\tMOMENT_ISO_WEEK\n} from '../constants';\n\nexport function getDateRangeRows(\n\tdate,\n\tfirstDayOfWeek = 0,\n\tdisabledDays = new Set(),\n\tisoWeek = false\n) {\n\tconst firstDay = isoWeek ? WEEKLY_ISO_FIRST_DAY : firstDayOfWeek;\n\tconst grid = getDateRange(date, firstDay);\n\n\treturn chunk(\n\t\t[\n\t\t\t...map(grid.prevMonth, day => ({\n\t\t\t\tday,\n\t\t\t\tdisabled: true,\n\t\t\t\tadjacentMonthDay: true\n\t\t\t})),\n\t\t\t...map(grid.thisMonth, day => ({\n\t\t\t\tday,\n\t\t\t\tdisabled: disabledDays.has(day),\n\t\t\t\tadjacentMonthDay: false\n\t\t\t})),\n\t\t\t...map(grid.nextMonth, day => ({\n\t\t\t\tday,\n\t\t\t\tdisabled: true,\n\t\t\t\tadjacentMonthDay: true\n\t\t\t}))\n\t\t],\n\t\t7\n\t);\n}\n\n/**\n * Calculates the necessary days needed to fill a calendar, by taking the days\n * of the current month and padding with data from the previous and next month\n * in order to make a pretty grid.\n */\nexport function getDateRange(date, firstDayOfWeek = 0) {\n\tconst firstOfThisMonth = date.clone().date(1).day();\n\t// Figure out the number of days we need to use from the last month so that\n\t// the first row/week is completely filled with days and all aligned\n\t// properly.\n\tlet daysNeededLastMonth = mod(firstOfThisMonth - firstDayOfWeek, 7);\n\tdaysNeededLastMonth = daysNeededLastMonth === 0 ? 7 : daysNeededLastMonth;\n\n\t// Take the number of days that we're rendering so far (some from previous\n\t// month + number of days of current month). Add enough days from the next\n\t// month so that we have 6 weeks visible (42 days)\n\tconst daysThisMonth = date.daysInMonth();\n\tconst daysNeededNextMonth = 42 - daysNeededLastMonth - daysThisMonth;\n\n\t// Return this data as separate values in an object because we're going to\n\t// want to style prevMonth and nextMonth values differently than values for\n\t// the current month.\n\tconst lastDayLastMonth = date.clone().subtract(1, 'month').daysInMonth();\n\treturn {\n\t\tprevMonth: range(\n\t\t\tlastDayLastMonth - daysNeededLastMonth + 1,\n\t\t\tlastDayLastMonth + 1\n\t\t),\n\t\tthisMonth: range(1, daysThisMonth + 1),\n\t\tnextMonth: range(1, daysNeededNextMonth + 1)\n\t};\n}\n\n/**\n * Display the first letter for each day of the week\n * TODO: i18n\n */\nexport const DaysOfWeek = ({ firstDayOfWeek = 0, language, weeklyView }) => (\n\t<div className=\"now-record-date-picker-week\">\n\t\t{weeklyView && (\n\t\t\t<div aria-hidden className=\"now-record-date-picker-week-day -weekly\">\n\t\t\t\t{t('WK')}\n\t\t\t<\/div>\n\t\t)}\n\t\t{cycle(weekdays(language), -firstDayOfWeek).map(day => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\taria-label={day}\n\t\t\t\t\tclassName={\n\t\t\t\t\t\t'now-record-date-picker-week-day' + (weeklyView ? ' -weekly' : '')\n\t\t\t\t\t}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tkey={day}\n\t\t\t\t>\n\t\t\t\t\t{day[0].toUpperCase()}\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t})}\n\t<\/div>\n);\n\nexport const getWeekType = isoWeek => (isoWeek ? MOMENT_ISO_WEEK : MOMENT_WEEK);\n\n// There is some confusion regarding moment parsing vs formatting behavior\n// moment('1 2015','w YYYY').format('w YYYY') => 1 2014\n// For servicenow purposes this seems incorrect so we make sure that it will be `1 2015`\n// @see: https://stackoverflow.com/questions/35193563/moment-js-bug-while-adding-1-week-at-last-week-of-year\nexport const adjustWeekForYearOverlap = (date, language, isoWeek, weekType) => {\n\tconst firstOfNextYear = time(language)({\n\t\tyear: date.year() + 1\n\t});\n\tif (!isoWeek && date.isSame(firstOfNextYear, weekType)) {\n\t\tdate = firstOfNextYear.clone();\n\t}\n\treturn date;\n};\n","import { flatten, isFunction, isObject, isString, map, range } from 'lodash';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport moment from 'moment';\nimport * as Constants from '../constants';\nimport { getWeekType } from './gridUtils';\n\nexport function handleKeyPress({ keymap, highlightedDate, reversed, event }) {\n\tconst maybeCtrlHandler = event.ctrlKey && keymap[`Ctrl${event.key}`];\n\tconst handler = maybeCtrlHandler || keymap[event.key];\n\n\t// Ignore any keys that are not part of the keymap\n\tif (!isObject(handler)) {\n\t\treturn highlightedDate;\n\t}\n\n\tevent.preventDefault();\n\n\tconst isReversed = isAttrTrue(reversed);\n\tconst currentDate = highlightedDate.clone();\n\treturn isFunction(handler)\n\t\t? handler(currentDate, isReversed)\n\t\t: currentDate.add(handler);\n}\n\nexport function isDateIncluded(date, format, datesToLookFor) {\n\tconst checkDate = moment(date, format);\n\treturn datesToLookFor.reduce((prev, compareRange) => {\n\t\tlet answer = false;\n\t\tif (isString(compareRange)) {\n\t\t\tconst compareDate = moment(compareRange, format);\n\t\t\tanswer = compareDate.isSame(checkDate);\n\t\t} else if (\n\t\t\tisObject(compareRange) &&\n\t\t\tcompareRange.start &&\n\t\t\tcompareRange.end\n\t\t) {\n\t\t\tconst start = moment(compareRange.start, format);\n\t\t\tconst end = moment(compareRange.end, format);\n\t\t\tanswer = checkDate.isSameOrAfter(start) && checkDate.isSameOrBefore(end);\n\t\t} else if (typeof compareRange === 'object' && compareRange.before) {\n\t\t\tconst beforeDate = moment(compareRange.before, format);\n\t\t\tanswer = checkDate.isBefore(beforeDate);\n\t\t} else if (typeof compareRange === 'object' && compareRange.after) {\n\t\t\tconst afterDate = moment(compareRange.after, format);\n\t\t\tanswer = checkDate.isAfter(afterDate);\n\t\t}\n\t\treturn prev || answer;\n\t}, false);\n}\n\n/**\n * Given a date (contains month and year), a format string, and an array of disabled dates,\n * this function returns a set of days for the month that should be disabled\n * @param {string} date - Date string formatted\n * @param {string} format - Date format to parse the dates with\n * @param {Array<string|{start:string, end:string}|{before:string}|{after:string}>} disabledDates - Array of dates that should be disabled\n */\nexport const getDisabledDays = (\n\tdate,\n\tformat,\n\tdisabledDates,\n\tweeklyView = false,\n\tisoWeek = false\n) => {\n\tconst monthStart = date.clone().startOf('month');\n\tconst monthEnd = date.clone().endOf('month').startOf('day');\n\tconst weekType = getWeekType(isoWeek);\n\tconst disabledDays = map(disabledDates, element => {\n\t\tif (element) {\n\t\t\t// Single date\n\t\t\tif (isString(element)) {\n\t\t\t\tconst dateElement = moment(element, format);\n\t\t\t\tif (weeklyView) {\n\t\t\t\t\tconst startOfWeek = dateElement.clone().startOf(weekType);\n\t\t\t\t\tconst endOfWeek = dateElement.clone().endOf(weekType);\n\t\t\t\t\tif (startOfWeek.isBetween(monthStart, monthEnd, 'day', '[]')) {\n\t\t\t\t\t\treturn startOfWeek.date();\n\t\t\t\t\t} else if (endOfWeek.isBetween(monthStart, monthEnd, 'day', '[]')) {\n\t\t\t\t\t\treturn endOfWeek.date();\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn dateElement.isBetween(monthStart, monthEnd, 'day', '[]')\n\t\t\t\t\t\t? dateElement.date()\n\t\t\t\t\t\t: [];\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Date ranges\n\t\t\telse {\n\t\t\t\tlet { start, end, after, before } = element;\n\t\t\t\tlet dates = [];\n\n\t\t\t\t// Start and end range\n\t\t\t\tif (start && end) {\n\t\t\t\t\tstart = moment(start, format);\n\t\t\t\t\tend = moment(end, format);\n\n\t\t\t\t\tconst startInMonth = start.month() === date.month();\n\t\t\t\t\tconst endInMonth = end.month() === date.month();\n\t\t\t\t\tconst monthInRange = date.isBetween(start, end, 'month', '[]');\n\n\t\t\t\t\t// We only care if the range touches the month\n\t\t\t\t\tif (startInMonth || endInMonth || monthInRange) {\n\t\t\t\t\t\tconst maxStart = moment.max(start, monthStart);\n\t\t\t\t\t\tconst minEnd = moment.min(end, monthEnd);\n\t\t\t\t\t\tdates = [...range(maxStart.date(), minEnd.date() + 1)];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended before range\n\t\t\t\tif (before) {\n\t\t\t\t\tbefore = moment(before, format).startOf('day');\n\t\t\t\t\t// We only care about before if it intersects with the current month\n\t\t\t\t\tif (before.isAfter(monthStart)) {\n\t\t\t\t\t\tconst endDay = before.isSameOrBefore(monthEnd)\n\t\t\t\t\t\t\t? before.date()\n\t\t\t\t\t\t\t: monthEnd.date() + 1;\n\t\t\t\t\t\tdates = [...dates, ...range(monthStart.date(), endDay)];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (after) {\n\t\t\t\t\tafter = moment(after, format).startOf('day');\n\t\t\t\t\t// We only care about after if it intersects with the current month\n\t\t\t\t\tif (after.isBefore(monthEnd)) {\n\t\t\t\t\t\tconst startDay = after.isSameOrAfter(monthStart)\n\t\t\t\t\t\t\t? weeklyView\n\t\t\t\t\t\t\t\t? after.clone().endOf(weekType).date() + 1\n\t\t\t\t\t\t\t\t: after.date() + 1\n\t\t\t\t\t\t\t: monthStart.date();\n\t\t\t\t\t\tdates = [...dates, ...range(startDay, monthEnd.date() + 1)];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn dates;\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t});\n\n\treturn new Set(flatten(disabledDays));\n};\n\n/**\n * Determines expected date format given the calendar type or format properties\n */\nexport const getFormat = ({\n\ttimePicker,\n\thasTimePicker,\n\tformat,\n\ttype,\n\tisoWeek = false\n}) => {\n\tif (type === Constants.STANDARD_TYPE)\n\t\treturn (\n\t\t\tformat ||\n\t\t\t(timePicker || hasTimePicker ? 'YYYY-MM-DD hh:mm:ss a' : 'YYYY-MM-DD')\n\t\t);\n\n\tif (type === Constants.WEEKLY_TYPE)\n\t\treturn isoWeek ? Constants.WEEKLY_ISO_FORMAT : Constants.WEEKLY_FORMAT;\n\n\treturn Constants[`${type.toUpperCase()}_FORMAT`];\n};\n\nexport const getDisabledYears = (years, disabledDates) => {\n\tconst yearsInView = flatten(years);\n\tconst disabledDays = map(disabledDates, element => {\n\t\tconst yearStart = Math.min(...yearsInView);\n\t\tconst yearEnd = Math.max(...yearsInView);\n\t\tif (element) {\n\t\t\tlet { start, end, after, before } = element;\n\t\t\tlet dates = [];\n\t\t\tif (isString(element) && yearsInView.includes(+element)) {\n\t\t\t\t//Single\n\t\t\t\tdates = [+element];\n\t\t\t} else {\n\t\t\t\t// Start and end range\n\t\t\t\tif (start && end) {\n\t\t\t\t\tconst yearsToDisable = yearsInView.filter(\n\t\t\t\t\t\tyear => year >= +start && year <= +end\n\t\t\t\t\t);\n\t\t\t\t\tdates = [...yearsToDisable];\n\t\t\t\t}\n\n\t\t\t\t// Open ended before range\n\t\t\t\tif (before) {\n\t\t\t\t\tconst beforeYear = +before;\n\t\t\t\t\tif (yearsInView.includes(beforeYear)) {\n\t\t\t\t\t\t// current\n\t\t\t\t\t\tdates = [...dates, ...range(yearStart, beforeYear)];\n\t\t\t\t\t} else if (beforeYear > yearEnd) {\n\t\t\t\t\t\t// prior\n\t\t\t\t\t\tdates = [...dates, ...range(yearStart, yearEnd + 1)];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (after) {\n\t\t\t\t\tconst afterYear = +after;\n\t\t\t\t\tif (yearsInView.includes(afterYear)) {\n\t\t\t\t\t\t// current\n\t\t\t\t\t\tdates = [...dates, ...range(afterYear + 1, yearEnd + 1)];\n\t\t\t\t\t} else if (afterYear < yearStart) {\n\t\t\t\t\t\t// after\n\t\t\t\t\t\tdates = [...dates, ...range(yearStart, yearEnd + 1)];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dates;\n\t\t}\n\t\treturn [];\n\t});\n\n\treturn new Set(flatten(disabledDays));\n};\n\nexport const getDisabledQuarters = (year, disabledDates) => {\n\tconst currentYear = moment({ year });\n\tconst yearPart = currentYear.year();\n\tconst format = Constants.QUARTERLY_FORMAT;\n\tconst disabledQuarters = map(disabledDates, element => {\n\t\tconst quarterStart = currentYear.clone().startOf('year');\n\t\tconst quarterEnd = currentYear.clone().endOf('year');\n\t\tif (element) {\n\t\t\tlet { start, end, after, before } = element;\n\t\t\tlet dates = [];\n\t\t\tif (isString(element)) {\n\t\t\t\t// Single\n\t\t\t\tconst disabledQuarter = moment(element, format);\n\t\t\t\tif (disabledQuarter.year() === yearPart) {\n\t\t\t\t\tdates = [disabledQuarter.quarter()];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Start and end range\n\t\t\t\tif (start && end) {\n\t\t\t\t\tstart = moment(start, format);\n\t\t\t\t\tend = moment(end, format);\n\n\t\t\t\t\tconst startInYear = start.year() === yearPart;\n\t\t\t\t\tconst endInYear = end.year() === yearPart;\n\n\t\t\t\t\tif (start.year() < yearPart && yearPart < end.year()) {\n\t\t\t\t\t\t//in between\n\t\t\t\t\t\t//all Quarters\n\t\t\t\t\t\tdates = [\n\t\t\t\t\t\t\t...range(quarterStart.quarter(), quarterEnd.quarter() + 1)\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (startInYear && endInYear) {\n\t\t\t\t\t\t// same start and end year\n\t\t\t\t\t\tconst quarterIndexes = range(start.quarter(), end.quarter() + 1);\n\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t} else if (startInYear || endInYear) {\n\t\t\t\t\t\t// same start or end year\n\t\t\t\t\t\tif (startInYear && start.isBefore(quarterEnd)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tstart.quarter(),\n\t\t\t\t\t\t\t\tquarterEnd.quarter() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (endInYear && end.isAfter(quarterStart)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tquarterStart.quarter(),\n\t\t\t\t\t\t\t\tend.quarter() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (before) {\n\t\t\t\t\tconst beforeQuarter = moment(before, format);\n\t\t\t\t\tif (beforeQuarter.year() == yearPart) {\n\t\t\t\t\t\tif (beforeQuarter.isAfter(quarterStart)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tquarterStart.quarter(),\n\t\t\t\t\t\t\t\tbeforeQuarter.quarter()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (beforeQuarter.year() > yearPart) {\n\t\t\t\t\t\tif (beforeQuarter.isAfter(quarterStart)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tquarterStart.quarter(),\n\t\t\t\t\t\t\t\tquarterEnd.quarter() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (after) {\n\t\t\t\t\tconst afterQuarter = moment(after, format);\n\t\t\t\t\tif (afterQuarter.year() == yearPart) {\n\t\t\t\t\t\tif (afterQuarter.isBefore(quarterEnd)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tafterQuarter.quarter() + 1,\n\t\t\t\t\t\t\t\tquarterEnd.quarter() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (afterQuarter.year() < yearPart) {\n\t\t\t\t\t\tif (afterQuarter.isBefore(quarterEnd)) {\n\t\t\t\t\t\t\tconst quarterIndexes = range(\n\t\t\t\t\t\t\t\tquarterStart.quarter(),\n\t\t\t\t\t\t\t\tquarterEnd.quarter() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...quarterIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dates;\n\t\t}\n\t\treturn [];\n\t});\n\n\treturn new Set(flatten(disabledQuarters));\n};\n\nexport const getDisabledMonths = (year, disabledDates) => {\n\tconst currentYear = moment({ year });\n\tconst yearPart = currentYear.year();\n\tconst format = Constants.MONTHLY_FORMAT;\n\tconst disabledMonths = map(disabledDates, element => {\n\t\tconst monthStart = currentYear.clone().startOf('year');\n\t\tconst monthEnd = currentYear.clone().endOf('year');\n\t\tif (element) {\n\t\t\tlet { start, end, after, before } = element;\n\t\t\tlet dates = [];\n\t\t\tif (isString(element)) {\n\t\t\t\t// Single\n\t\t\t\tconst disabledMonth = moment(element, format);\n\t\t\t\tif (disabledMonth.year() === yearPart) {\n\t\t\t\t\tdates = [disabledMonth.month()];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Start and end range\n\t\t\t\tif (start && end) {\n\t\t\t\t\tstart = moment(start, format);\n\t\t\t\t\tend = moment(end, format);\n\n\t\t\t\t\tconst startInYear = start.year() === yearPart;\n\t\t\t\t\tconst endInYear = end.year() === yearPart;\n\n\t\t\t\t\tif (start.year() < yearPart && yearPart < end.year()) {\n\t\t\t\t\t\t//in between\n\t\t\t\t\t\t//all Months\n\t\t\t\t\t\tdates = [...range(monthStart.month(), monthEnd.month() + 1)];\n\t\t\t\t\t} else if (startInYear && endInYear) {\n\t\t\t\t\t\t// same start and end year\n\t\t\t\t\t\tconst monthIndexes = range(start.month(), end.month() + 1);\n\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t} else if (startInYear || endInYear) {\n\t\t\t\t\t\t// same start or end year\n\t\t\t\t\t\tif (startInYear && start.isBefore(monthEnd)) {\n\t\t\t\t\t\t\tconst monthIndexes = range(start.month(), monthEnd.month() + 1);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (endInYear && end.isAfter(monthStart)) {\n\t\t\t\t\t\t\tconst monthIndexes = range(monthStart.month(), end.month() + 1);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (before) {\n\t\t\t\t\tconst beforeQuarter = moment(before, format);\n\t\t\t\t\tif (beforeQuarter.isAfter(monthStart)) {\n\t\t\t\t\t\tif (beforeQuarter.year() == yearPart) {\n\t\t\t\t\t\t\tconst monthIndexes = range(\n\t\t\t\t\t\t\t\tmonthStart.month(),\n\t\t\t\t\t\t\t\tbeforeQuarter.month()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t} else if (beforeQuarter.year() > yearPart) {\n\t\t\t\t\t\t\tconst monthIndexes = range(\n\t\t\t\t\t\t\t\tmonthStart.month(),\n\t\t\t\t\t\t\t\tmonthEnd.month() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Open ended after range\n\t\t\t\tif (after) {\n\t\t\t\t\tconst afterQuarter = moment(after, format);\n\t\t\t\t\tif (afterQuarter.isBefore(monthEnd)) {\n\t\t\t\t\t\tif (afterQuarter.year() == yearPart) {\n\t\t\t\t\t\t\tconst monthIndexes = range(\n\t\t\t\t\t\t\t\tafterQuarter.month() + 1,\n\t\t\t\t\t\t\t\tmonthEnd.month() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t} else if (afterQuarter.year() < yearPart) {\n\t\t\t\t\t\t\tconst monthIndexes = range(\n\t\t\t\t\t\t\t\tmonthStart.month(),\n\t\t\t\t\t\t\t\tmonthEnd.month() + 1\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdates = [...dates, ...monthIndexes];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dates;\n\t\t}\n\t\treturn [];\n\t});\n\n\treturn new Set(flatten(disabledMonths));\n};\n\n/**\n * Returns whether or not a day on the calendar is focusable via the tab key\n *\n * @param {boolean} isHighlighted\n * @param {boolean}} isSelected\n * @param {boolean} rangePicker\n * @param {boolean} isAdjacentMonthDay\n * @returns {boolean}\n */\nexport const isDayFocusable = (\n\tisHighlighted,\n\tisSelected,\n\trangePicker,\n\tisAdjacentMonthDay\n) => {\n\treturn (isHighlighted || (isSelected && !rangePicker)) && !isAdjacentMonthDay;\n};\n","import { clamp, inRange, keys, mapValues, padStart, reduce } from 'lodash';\nimport moment from 'moment';\nimport { isAttrTrue, isTimeZoneEnabledField } from '@devsnc/sn-controls-common';\n\n// Unit names and limiting values. Each key+value generates\n// an input field, with the key name used as the input label.\nexport const UNIT_LIMITS = {\n\thours: [0, 24],\n\tminutes: [0, 60],\n\tseconds: [0, 60],\n\tmilliseconds: [0, 1000]\n};\n// Consolidated unit spec that combines unitKeys and allowed lengths\nexport const UNIT_TOKENS = {\n\thours: { unitKey: 'h', allowedLengths: [1, 2] }, // h, hh\n\tminutes: { unitKey: 'm', allowedLengths: [1, 2] }, // m, mm\n\tseconds: { unitKey: 's', allowedLengths: [1, 2] }, // s, ss\n\tmilliseconds: { unitKey: 'S', allowedLengths: [1, 2, 3] } // S, SS, SSS\n};\n/**\n * Convert a 12-hour value into a 24-hour value\n */\nexport function to24Hour(value, isPM) {\n\tif (value === 0 || value === '') {\n\t\treturn 0;\n\t}\n\n\tvalue = clamp(value, 1, 12);\n\n\tif (value === 12) {\n\t\treturn isPM ? 12 : 0;\n\t}\n\n\tif (isPM) {\n\t\tvalue += 12;\n\t}\n\n\treturn isNaN(value) ? 0 : value;\n}\n\n/**\n * Create a moment time object.\n *\n * Can be an invalid time when value is empty string\n */\nexport function createTime(properties, state) {\n\tconst format = properties.format;\n\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\tlet initialTime = moment(properties.value, format, isStrictCheck);\n\tif (state) {\n\t\tlet { hours, minutes, seconds, milliseconds } = state;\n\t\thours = use24Hour(properties)\n\t\t\t? hours\n\t\t\t: hours > 12\n\t\t\t\t? hours\n\t\t\t\t: to24Hour(hours, state.pm);\n\t\tinitialTime.set({ hours, minutes, seconds, milliseconds });\n\t}\n\treturn initialTime;\n}\n\nexport function getTimeString(props, state) {\n\tlet initialTime = createTime(props, state);\n\tif (!initialTime.isValid()) {\n\t\tlet { hours, minutes, seconds, milliseconds } = state;\n\t\thours = use24Hour(props)\n\t\t\t? hours\n\t\t\t: hours > 12\n\t\t\t\t? hours\n\t\t\t\t: to24Hour(hours, state.pm);\n\t\tinitialTime = moment()\n\t\t\t.startOf('day')\n\t\t\t.set({ hours, minutes, seconds, milliseconds });\n\t}\n\treturn initialTime.format(props.format);\n}\n\n/**\n * Breaks out a moment time object into separate formatted values\n */\nexport function getTimeSegments(time, use24Hour, properties) {\n\tconst isValid = time.isValid();\n\treturn mapValues(UNIT_LIMITS, (limit, unitName) => {\n\t\tif (!isValid) {\n\t\t\treturn '';\n\t\t}\n\t\tconst rawValue =\n\t\t\t!use24Hour && unitName === 'hours'\n\t\t\t\t? time.format('h')\n\t\t\t\t: time.get(unitName);\n\t\treturn padStart(\n\t\t\trawValue,\n\t\t\tgetUnitLength(properties?.format ?? '', unitName),\n\t\t\t'0'\n\t\t);\n\t});\n}\n\n/**\n * Boolean indicating whether or not this component should use 24-hour format.\n * Checks for an explicity `use24Hour` prop, or when that isn't there it infers a value\n * based on the format string\n */\nexport function use24Hour(properties) {\n\treturn properties.use24Hour === undefined\n\t\t? String(properties.format).includes('H')\n\t\t: isAttrTrue(properties.use24Hour);\n}\n\nexport function isTimeValid(state) {\n\treturn reduce(\n\t\tkeys(UNIT_LIMITS),\n\t\t(result, value) => result && inRange(state[value], ...UNIT_LIMITS[value]),\n\t\ttrue\n\t);\n}\n\n// only include am/pm toggle when using 12-hour format if it includes the am/pm `a` in the format\n// the existing platform behaves the same way where it only allows am values if no `a` is provided`\nexport function useAmPm(props) {\n\treturn !use24Hour(props) && /\\ba\\b/.test(props.format);\n}\n\n// method to validate to show seconds text field based on props format\nexport function hasSeconds(props) {\n\tconst matches = props?.format?.match(/s+/g) || false;\n\tif (!matches) {\n\t\treturn false; // no seconds token present\n\t}\n\t// Every \"s\" sequence must be either 's' or 'ss'\n\treturn matches.every(token => token === 's' || token === 'ss');\n}\n\nexport function hasMilliseconds(props) {\n\treturn String(props.format).includes('SSS');\n}\n\nexport function getUnitLength(format, unit) {\n\tif (!format || !UNIT_TOKENS[unit]) {\n\t\treturn unit === 'milliseconds' ? 3 : 2;\n\t}\n\tconst { unitKey, allowedLengths } = UNIT_TOKENS[unit];\n\tconst regex = new RegExp(`${unitKey}+`, 'g');\n\tconst matches = format.match(regex);\n\tif (!matches) {\n\t\t// Unit not present in format; fall back to default lengths\n\t\treturn unit === 'milliseconds' ? 3 : 2;\n\t}\n\t// Validate each occurrence\n\tfor (const match of matches) {\n\t\tif (!allowedLengths.includes(match.length)) {\n\t\t\tthrow new Error(`Unsupported unit length '${match}' for ${unit}`);\n\t\t}\n\t}\n\t// Return the longest valid length (usually there will be one occurrence)\n\treturn Math.max(...matches.map(m => m.length));\n}\n","import moment from 'moment';\nimport { t } from 'sn-translate';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tCALLBACK_AND_DISPATCH,\n\tisTimeZoneEnabledField\n} from '@devsnc/sn-controls-common';\nimport {\n\tcreateTime,\n\tgetTimeSegments,\n\tisTimeValid,\n\tuse24Hour,\n\thasSeconds,\n\thasMilliseconds,\n\tgetTimeString\n} from './utils';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const NOW_RECORD_TIME_ON_GROUP_BLUR =\n\t'NOW_RECORD_TIME_INTERNAL#ON_GROUP_BLUR';\nexport const NOW_RECORD_TIME_ON_CHANGE = 'NOW_RECORD_TIME_INTERNAL#ON_CHANGE';\nexport const NOW_RECORD_TIME_ON_BLUR = 'NOW_RECORD_TIME_INTERNAL#ON_BLUR';\nexport const NOW_RECORD_TIME_ON_FOCUS = 'NOW_RECORD_TIME_INTERNAL#ON_FOCUS';\nexport const INVALID_TIME_MESSAGE =\n\t'{0} is not a valid time. Please use format: {1}';\n\nexport default {\n\t[COMPONENT_CONNECTED]: ({\n\t\thost,\n\t\tdispatch,\n\t\tproperties: { format, value, onValueChange }\n\t}) => {\n\t\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\t\tconst stringValue = value === true ? '' : value;\n\t\t//validate incoming value\n\t\tconst isValidValue = moment(stringValue, format, isStrictCheck).isValid();\n\t\tif (!isValidValue && stringValue)\n\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\tcallback: onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\thost,\n\t\t\t\t\tvalue,\n\t\t\t\t\terror: {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: t(INVALID_TIME_MESSAGE, stringValue, format)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\tproperties,\n\t\taction: {\n\t\t\tpayload: { name, value }\n\t\t},\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tif (name === 'value' && !state.hasParentFocus) {\n\t\t\tconst newTime = createTime({ ...properties, value });\n\t\t\tconst timeSegments = getTimeSegments(\n\t\t\t\tnewTime,\n\t\t\t\tuse24Hour({ ...properties, value }),\n\t\t\t\tproperties\n\t\t\t);\n\t\t\tupdateState({\n\t\t\t\t...timeSegments,\n\t\t\t\tpm: newTime.hours() >= 12\n\t\t\t});\n\t\t}\n\t},\n\t[NOW_RECORD_TIME_ON_GROUP_BLUR]: ({\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\tupdateProperties,\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { event, paylaodEvent, host }\n\t\t}\n\t}) => {\n\t\tif (!properties.relativeTime) {\n\t\t\tconst isValidTime = isTimeValid(state);\n\t\t\tif (\n\t\t\t\t(!state.hours || !isValidTime) &&\n\t\t\t\t(state.minutes || state.seconds || state.milliseconds)\n\t\t\t) {\n\t\t\t\t// create error message depending on format\n\t\t\t\tlet msg = `${state.hours}:${state.minutes}`;\n\t\t\t\tif (hasSeconds(properties)) {\n\t\t\t\t\tmsg += `:${state.seconds}`;\n\t\t\t\t}\n\n\t\t\t\tif (hasMilliseconds(properties)) {\n\t\t\t\t\tmsg += `:${state.milliseconds}`;\n\t\t\t\t}\n\t\t\t\tconst error = {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: t(INVALID_TIME_MESSAGE, `${msg}`, properties.format)\n\t\t\t\t};\n\t\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\t\tcallback: properties.onValueChange,\n\t\t\t\t\tisValueChanged: true,\n\t\t\t\t\tdispatchPayload: {\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tevent: event || paylaodEvent,\n\t\t\t\t\t\tvalue: properties.value,\n\t\t\t\t\t\terror\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tupdateProperties({ messages: [error] });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet value = '';\n\t\t\tif (state.hours || properties.defaultZeros)\n\t\t\t\tvalue = getTimeString(properties, state);\n\n\t\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\t\tcallback: properties.onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\thost,\n\t\t\t\t\tevent: event || paylaodEvent,\n\t\t\t\t\tvalue\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (properties.messages.length) updateProperties({ messages: [] });\n\n\t\t\tupdateState({\n\t\t\t\t...getTimeSegments(\n\t\t\t\t\tcreateTime(properties, state),\n\t\t\t\t\tuse24Hour(properties),\n\t\t\t\t\tproperties\n\t\t\t\t),\n\t\t\t\thasParentFocus: false\n\t\t\t});\n\t\t}\n\t}\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { map } from 'lodash';\nimport { t } from 'sn-translate';\nimport '@devsnc/sn-record-dropdown-internal';\nimport { SNInputGroup, Input } from '@devsnc/sn-record-input';\n\nimport {\n\tisAttrTrue,\n\taccessibilityAttributes,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\n\nimport { NOW_RECORD_TIME_ON_GROUP_BLUR } from './actionHandlers';\n\nimport { hasMilliseconds, hasSeconds, UNIT_LIMITS, useAmPm } from './utils';\n\nexport const UNIT_NAMES = Object.keys(UNIT_LIMITS);\nconst DISPLAY_UNIT_NAMES = [\n\tt('Hours'),\n\tt('Minutes'),\n\tt('Seconds'),\n\tt('Milliseconds')\n];\n\n/**\n * @input : [Hours, Minutes, Seconds, Milliseconds]\n * @desc  : Array specifying the maximum number of characters allowed in the input fields.\n *          If a value is undefined, that input field will not have a maximum character limit.\n */\nconst TIME_INPUT_LIMITS = [2, 2, 2, undefined];\n\nconst items = [\n\t{ id: 'am', label: t('AM') },\n\t{ id: 'pm', label: t('PM') }\n];\n\nconst am = ['am'];\nconst pm = ['pm'];\n\n/**\n * A group of inputs to select a specific time of day.\n */\nconst view = (state, helpers) => {\n\tconst { dispatch, updateState = state.helpers?.updateState } = helpers;\n\tconst readonly = isAttrTrue(state.properties.readonly);\n\tconst {\n\t\tseparator,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\tcolor = FIELD_BG_COLOR_DEFAULT\n\t} = state.properties;\n\tconst {\n\t\tonValueChange,\n\t\tonStagedValueChange,\n\t\tproperties: { required }\n\t} = state;\n\n\tconst onChange = event => {\n\t\tevent.persist && event.persist();\n\t\tupdateState({\n\t\t\t[event.target.name]: event.target.value\n\t\t});\n\t};\n\n\tconst onFocus = event => {\n\t\tupdateState({\n\t\t\t[`hasFocus-${event.target.name}`]: true\n\t\t});\n\t};\n\n\tconst onBlur = event => {\n\t\tevent.persist && event.persist();\n\t\tif (\n\t\t\tevent &&\n\t\t\tevent.target &&\n\t\t\tevent.target.name !== 'hours' &&\n\t\t\tstate.hours &&\n\t\t\t!state[event.target.name]\n\t\t)\n\t\t\tupdateState({\n\t\t\t\t[event.target.name]: '00'\n\t\t\t});\n\t\tupdateState({ [`hasFocus-${event.target.name}`]: false });\n\t};\n\n\tconst onToggleAmPm = ({ value }) => {\n\t\tupdateState({ pm: value === 'pm' });\n\t\tstate.hours\n\t\t\t? dispatch(NOW_RECORD_TIME_ON_GROUP_BLUR, { onValueChange })\n\t\t\t: undefined;\n\t};\n\n\tfunction onFocusIn() {\n\t\tif (state.hasParentFocus) return;\n\t\tupdateState({\n\t\t\thasParentFocus: true\n\t\t});\n\t}\n\tfunction onFocusOut(event) {\n\t\tif (!state.hasParentFocus) return;\n\t\tif (state.pickerNode && state.pickerNode.contains(event.target)) return;\n\t\tupdateState({\n\t\t\thasParentFocus: false\n\t\t});\n\t}\n\n\tconst handleRef = node => {\n\t\tupdateState({\n\t\t\tpath: 'pickerNode',\n\t\t\tvalue: node,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false\n\t\t});\n\t};\n\n\treturn (\n\t\t<div>\n\t\t\t<div\n\t\t\t\tclassName=\"sn-timepicker\"\n\t\t\t\tref={handleRef}\n\t\t\t\ton-focusin={onFocusIn}\n\t\t\t\ton-focusout={onFocusOut}\n\t\t\t>\n\t\t\t\t<SNInputGroup\n\t\t\t\t\t{...state.properties}\n\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t\tonStagedValueChange={onStagedValueChange}\n\t\t\t\t\tfieldset={true}\n\t\t\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\t\t>\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{map(UNIT_NAMES, (unitName, index) => {\n\t\t\t\t\t\t\tconst isFirstInput = index === 0;\n\n\t\t\t\t\t\t\tif (!hasSeconds(state.properties) && unitName === 'seconds') {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!hasMilliseconds(state.properties) &&\n\t\t\t\t\t\t\t\tunitName === 'milliseconds'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst ariaLabel = t('{fieldLabel} {timeUnit}', {\n\t\t\t\t\t\t\t\tfieldLabel: state.properties.label || '',\n\t\t\t\t\t\t\t\ttimeUnit: DISPLAY_UNIT_NAMES[index]\n\t\t\t\t\t\t\t}).trim();\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Fragment key={unitName}>\n\t\t\t\t\t\t\t\t\t{!isFirstInput && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"sn-timepicker-separator\">\n\t\t\t\t\t\t\t\t\t\t\t{separator || ':'}\n\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t{...accessibilityAttributes(state.properties)}\n\t\t\t\t\t\t\t\t\t\t// omit aria-labelledby since we have an explicit aria-label here\n\t\t\t\t\t\t\t\t\t\t// and screenreaders take aria-labelledby over aria-label\n\t\t\t\t\t\t\t\t\t\tclassName=\"sn-control-input\"\n\t\t\t\t\t\t\t\t\t\taria-labelledby={undefined}\n\t\t\t\t\t\t\t\t\t\tcomponentId={`${state.properties.componentId}-${unitName}`}\n\t\t\t\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t\t\t\t\tlabel={DISPLAY_UNIT_NAMES[index]}\n\t\t\t\t\t\t\t\t\t\twrapLabel={state.properties.wrapLabel}\n\t\t\t\t\t\t\t\t\t\treadonly={state.properties.readonly}\n\t\t\t\t\t\t\t\t\t\tinvalid={state.properties.invalid}\n\t\t\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t\t\tname={unitName}\n\t\t\t\t\t\t\t\t\t\tvalue={state[unitName]}\n\t\t\t\t\t\t\t\t\t\tautofocus={index === 0 && state.properties.autofocus}\n\t\t\t\t\t\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\t\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\t\t\t\t\thasFocus={state[`hasFocus-${unitName}`]}\n\t\t\t\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t\t\t\t\tplaceholder={'00'}\n\t\t\t\t\t\t\t\t\t\tmaxlength={TIME_INPUT_LIMITS[index]}\n\t\t\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{useAmPm(state.properties) && (\n\t\t\t\t\t\t\t<div className=\"sn-timepicker-toggle\">\n\t\t\t\t\t\t\t\t<sn-record-dropdown-internal\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\tonChange={onToggleAmPm}\n\t\t\t\t\t\t\t\t\tselected-items={state.pm ? pm : am}\n\t\t\t\t\t\t\t\t\tdisabled={readonly}\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\titems={items}\n\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': `${\n\t\t\t\t\t\t\t\t\t\t\t\tstate.pm ? items[1].label : items[0].label\n\t\t\t\t\t\t\t\t\t\t\t}, ${state.properties.label || ''}`,\n\t\t\t\t\t\t\t\t\t\t\t'aria-haspopup': 'listbox'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t<\/SNInputGroup>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport {\n\ttransformState,\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\tnodeContainsFocus,\n\tisNodeInEventPath\n} from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport view from './view';\nimport actionHandlers, {\n\tNOW_RECORD_TIME_ON_GROUP_BLUR\n} from './actionHandlers';\nimport { createTime, getTimeSegments, use24Hour } from './utils';\nimport style from './time.scss';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior({ stopPropagation: true })\n};\n\nexport const eventHandlers = [\n\t{\n\t\tevents: ['mousedown', 'keydown'],\n\t\teffect: ({ action, dispatch, state: { hasParentFocus, pickerNode } }) => {\n\t\t\tconst { event } = action.payload;\n\t\t\tif (!hasParentFocus) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (event.type === 'keydown' && event.key === 'Tab') {\n\t\t\t\tsetTimeout(\n\t\t\t\t\tdispatchEvent => {\n\t\t\t\t\t\tif (!nodeContainsFocus(pickerNode)) {\n\t\t\t\t\t\t\tevent.persist && event.persist();\n\t\t\t\t\t\t\tdispatchEvent(NOW_RECORD_TIME_ON_GROUP_BLUR, {\n\t\t\t\t\t\t\t\tpayloadEvent: event\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\t0,\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t} else if (event.type === 'mousedown') {\n\t\t\t\tif (!isNodeInEventPath(pickerNode, event)) {\n\t\t\t\t\tevent.persist && event.persist();\n\t\t\t\t\tdispatch(NOW_RECORD_TIME_ON_GROUP_BLUR, { event });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttarget: document\n\t}\n];\n\nexport const setInitialState = ({ properties }) => {\n\tconst initialTime = createTime(properties);\n\treturn {\n\t\t...getTimeSegments(initialTime, use24Hour(properties), properties),\n\t\tpm: initialTime.hours() >= 12,\n\t\thasParentFocus: false\n\t};\n};\n\n/**\n *\n * Time component allowing users to select a time\n * Can be in 24 hour format or 12 hour format (AM|PM)\n * Can specify if hours/minutes/seconds are included\n *\n * ```jsx\n * <now-record-time name=\"time\" value=\"12:30:30 am\" format=\"hh:mm:ss a\" />\n * ```\n *\n * 24 hour format\n *\n * ```jsx\n * <now-record-time\n *     label=\"24-hour format\"\n *     name=\"time-24-hours\"\n *     value=\"18:45:00\"\n *     format=\"HH:mm:ss\"\n * />\n * ```\n *\n * @seismicElement now-record-time\n * @summary Time component allowing users to select a time that can be in either 24 hour or 12 hour (AM|PM) format. The user can also specify the hh:mm:ss format.\n *\n * */\n\ncreateCustomElement('now-record-time', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * When true, the time field will always default to 00:00:00 when empty\n\t\t * @type {boolean}\n\t\t */\n\t\tdefaultZeros: { default: false },\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * How to serialize/deserialize the date value.\n\t\t * @see [Moment format strings](https://momentjs.com/docs/#/displaying/format/)\n\t\t * @type {string}\n\t\t */\n\t\tformat: { default: 'hh:mm:ss a' },\n\t\t/**\n\t\t * This is what the user sees between each time unit. If you used a `.`\n\t\t * the time would appear as `03.00.00` instead of `03:00:00`.\n\t\t * @type {string}\n\t\t */\n\t\tseparator: { default: ':' },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: { default: 'en' },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t *\n\t\t * `type:any` event.value - The new value for the component\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type\n\t\t *\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Used with TimeAgo Presets like 'Last 15 minutes'\n\t\t * When true, this component will not update the default time values\n\t\t */\n\t\trelativeTime: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * When true, this component uses 24-hour based notation rather than 12-hour. If\n\t\t * this prop is not specified, a default is inferred based on the format string\n\t\t * @type {boolean}\n\t\t */\n\t\tuse24Hour: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Flag to indicate that the parent component will handle tracking\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableTracking: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Flag to toggle AI indicator\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'SN_RECORD_INPUT#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_INPUT#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a different time is inputted before you blur\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_RECORD_TIME#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the user blurs off of the component\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_TIME#VALUE_CHANGED': {}\n\t},\n\teventHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\ttransformState,\n\tsetInitialState\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { uniqBy, find } from 'lodash';\nimport moment from 'moment';\nimport { t } from 'sn-translate';\n\nexport const CUSTOM_PRESET_LABEL = t('Custom');\nexport const SCHEDULE_PRESET_LABEL = t('Schedule');\nexport const TIME_PRESET_GROUPS = [t('Hours'), t('Minutes')];\nexport const TIME_AGO_PRESETS = [\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Today'),\n\t\tstart: 'javascript:gs.beginningOfToday()',\n\t\tend: 'javascript:gs.endOfToday()',\n\t\tbetween: 'javascript:gs.endOfToday()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Yesterday'),\n\t\tstart: 'javascript:gs.beginningOfYesterday()',\n\t\tend: 'javascript:gs.endOfYesterday()',\n\t\tbetween: 'javascript:gs.endOfYesterday()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Tomorrow'),\n\t\tstart: 'javascript:gs.beginningOfTomorrow()',\n\t\tend: 'javascript:gs.endOfTomorrow()',\n\t\tbetween: 'javascript:gs.endOfTomorrow()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 7 days'),\n\t\tstart: 'javascript:gs.beginningOfLast7Days()',\n\t\tend: 'javascript:gs.endOfLast7Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast7Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 30 days'),\n\t\tstart: 'javascript:gs.beginningOfLast30Days()',\n\t\tend: 'javascript:gs.endOfLast30Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast30Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 60 days'),\n\t\tstart: 'javascript:gs.beginningOfLast60Days()',\n\t\tend: 'javascript:gs.endOfLast60Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast60Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 90 days'),\n\t\tstart: 'javascript:gs.beginningOfLast90Days()',\n\t\tend: 'javascript:gs.endOfLast90Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast90Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 120 days'),\n\t\tstart: 'javascript:gs.beginningOfLast120Days()',\n\t\tend: 'javascript:gs.endOfLast120Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast120Days()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('This week'),\n\t\tstart: 'javascript:gs.beginningOfThisWeek()',\n\t\tend: 'javascript:gs.endOfThisWeek()',\n\t\tbetween: 'javascript:gs.endOfThisWeek()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('Last week'),\n\t\tstart: 'javascript:gs.beginningOfLastWeek()',\n\t\tend: 'javascript:gs.endOfLastWeek()',\n\t\tbetween: 'javascript:gs.endOfLastWeek()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('Next week'),\n\t\tstart: 'javascript:gs.beginningOfNextWeek()',\n\t\tend: 'javascript:gs.endOfNextWeek()',\n\t\tbetween: 'javascript:gs.endOfNextWeek()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('This month'),\n\t\tstart: 'javascript:gs.beginningOfThisMonth()',\n\t\tend: 'javascript:gs.endOfThisMonth()',\n\t\tbetween: 'javascript:gs.endOfThisMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last month'),\n\t\tstart: 'javascript:gs.beginningOfLastMonth()',\n\t\tend: 'javascript:gs.endOfLastMonth()',\n\t\tbetween: 'javascript:gs.endOfLastMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Next month'),\n\t\tstart: 'javascript:gs.beginningOfNextMonth()',\n\t\tend: 'javascript:gs.endOfNextMonth()',\n\t\tbetween: 'javascript:gs.endOfNextMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 3 months'),\n\t\tstart: 'javascript:gs.beginningOfLast3Months()',\n\t\tend: 'javascript:gs.endOfLast3Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast3Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 6 months'),\n\t\tstart: 'javascript:gs.beginningOfLast6Months()',\n\t\tend: 'javascript:gs.endOfLast6Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast6Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 9 months'),\n\t\tstart: 'javascript:gs.beginningOfLast9Months()',\n\t\tend: 'javascript:gs.endOfLast9Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast9Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 12 months'),\n\t\tstart: 'javascript:gs.beginningOfLast12Months()',\n\t\tend: 'javascript:gs.endOfLast12Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast12Months()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('This quarter'),\n\t\tstart: 'javascript:gs.beginningOfThisQuarter()',\n\t\tend: 'javascript:gs.endOfThisQuarter()',\n\t\tbetween: 'javascript:gs.endOfThisQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Last quarter'),\n\t\tstart: 'javascript:gs.beginningOfLastQuarter()',\n\t\tend: 'javascript:gs.endOfLastQuarter()',\n\t\tbetween: 'javascript:gs.endOfLastQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Last 2 quarters'),\n\t\tstart: 'javascript:gs.beginningOfLast2Quarters()',\n\t\tend: 'javascript:gs.endOfLast2Quarters()',\n\t\tbetween: 'javascript:gs.endOfLast2Quarters()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Next quarter'),\n\t\tstart: 'javascript:gs.beginningOfNextQuarter()',\n\t\tend: 'javascript:gs.endOfNextQuarter()',\n\t\tbetween: 'javascript:gs.endOfNextQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Next 2 quarters'),\n\t\tstart: 'javascript:gs.beginningOfNext2Quarters()',\n\t\tend: 'javascript:gs.endOfNext2Quarters()',\n\t\tbetween: 'javascript:gs.endOfNext2Quarters()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('This year'),\n\t\tstart: 'javascript:gs.beginningOfThisYear()',\n\t\tend: 'javascript:gs.endOfThisYear()',\n\t\tbetween: 'javascript:gs.endOfThisYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Next year'),\n\t\tstart: 'javascript:gs.beginningOfNextYear()',\n\t\tend: 'javascript:gs.endOfNextYear()',\n\t\tbetween: 'javascript:gs.endOfNextYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Last year'),\n\t\tstart: 'javascript:gs.beginningOfLastYear()',\n\t\tend: 'javascript:gs.endOfLastYear()',\n\t\tbetween: 'javascript:gs.endOfLastYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Last 2 years'),\n\t\tstart: 'javascript:gs.beginningOfLast2Years()',\n\t\tend: 'javascript:gs.endOfLast2Years()',\n\t\tbetween: 'javascript:gs.beginningOfLast2Years()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('One year ago'),\n\t\tstart: 'javascript:gs.beginningOfOneYearAgo()',\n\t\tend: 'javascript:gs.endOfOneYearAgo()',\n\t\tbetween: 'javascript:gs.beginningOfOneYearAgo()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Current hour'),\n\t\tstart: 'javascript:gs.beginningOfCurrentHour()',\n\t\tend: 'javascript:gs.endOfCurrentHour()',\n\t\tbetween: 'javascript:gs.endOfCurrentHour()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Last hour'),\n\t\tstart: 'javascript:gs.beginningOfLastHour()',\n\t\tend: 'javascript:gs.endOfLastHour()',\n\t\tbetween: 'javascript:gs.endOfLastHour()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Last 2 hours'),\n\t\tstart: 'javascript:gs.beginningOfLast2Hours()',\n\t\tend: 'javascript:gs.endOfLast2Hours()',\n\t\tbetween: 'javascript:gs.beginningOfLast2Hours()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Current minute'),\n\t\tstart: 'javascript:gs.beginningOfCurrentMinute()',\n\t\tend: 'javascript:gs.endOfCurrentMinute()',\n\t\tbetween: 'javascript:gs.endOfCurrentMinute()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last minute'),\n\t\tstart: 'javascript:gs.beginningOfLastMinute()',\n\t\tend: 'javascript:gs.endOfLastMinute()',\n\t\tbetween: 'javascript:gs.beginningOfLastMinute()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 15 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast15Minutes()',\n\t\tend: 'javascript:gs.endOfLast15Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast15Minutes()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 30 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast30Minutes()',\n\t\tend: 'javascript:gs.endOfLast30Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast30Minutes()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 45 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast45Minutes()',\n\t\tend: 'javascript:gs.endOfLast45Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast45Minutes()'\n\t},\n\t{\n\t\tgroup: t(CUSTOM_PRESET_LABEL),\n\t\tlabel: t(CUSTOM_PRESET_LABEL),\n\t\tstart: '',\n\t\tend: '',\n\t\tbetween: ''\n\t}\n];\n\nexport function getTimeAgoGroups(timeAgoPresets, hasTime) {\n\treturn uniqBy(timeAgoPresets, 'group')\n\t\t.map(timeAgo => timeAgo.group)\n\t\t.filter(group => group !== CUSTOM_PRESET_LABEL)\n\t\t.filter(group => (hasTime ? true : !TIME_PRESET_GROUPS.includes(group)));\n}\n\nexport function getTimeAgoByGroup(timeAgoPresets, group) {\n\treturn timeAgoPresets.filter(timeAgo => timeAgo.group === group);\n}\n\nexport function getTimeAgoByLabel(timeAgoPresets, label) {\n\treturn find(timeAgoPresets, timeAgo => timeAgo.label === label);\n}\n\nexport function isTimeAgoInGroup(timeAgoPresets, label) {\n\treturn timeAgoPresets\n\t\t.filter(group => group !== CUSTOM_PRESET_LABEL)\n\t\t.some(timeAgo => timeAgo.label === label);\n}\n\nexport function getTimeAgoCustom(timeAgoPresets) {\n\treturn getTimeAgoByLabel(timeAgoPresets, CUSTOM_PRESET_LABEL);\n}\n\nexport const getTimeAgoByValue = (timeAgoPresets, format, value) => {\n\tconst absoluteDate = moment(value, format, true);\n\tif (absoluteDate.isValid()) {\n\t\treturn getTimeAgoCustom(timeAgoPresets);\n\t} else {\n\t\treturn getTimeAgoByLabel(timeAgoPresets, value);\n\t}\n};\n","const COMPONENT_NAME = 'SN_DATE_PRESET_PANEL';\n\n//Preset Actions\nexport const PRESET_SELECTED = `${COMPONENT_NAME}#PRESET_SELECTED`;\nexport const PRESET_VALUE_CHANGED = `${COMPONENT_NAME}#VALUE_CHANGED`;\nexport const PRESET_MESSAGE_UPDATED = `${COMPONENT_NAME}#MESSAGE_UPDATED`;\n\n//FETCH Actions for business calendars\nexport const FETCH_CALENDAR = `${COMPONENT_NAME}#FETCH_CALENDAR`;\nexport const FETCH_CALENDAR_SUCCESS = `${FETCH_CALENDAR}_SUCCESS`;\nexport const FETCH_CALENDAR_FAILURE = `${FETCH_CALENDAR}_FAILURE`;\n\n//FETCH Actions for Timeago Resolve Absolute values\nexport const FETCH_ABSOLUTE = `${COMPONENT_NAME}#FETCH_ABSOLUTE`;\nexport const FETCH_ABSOLUTE_SUCCESS = `${FETCH_ABSOLUTE}_SUCCESS`;\nexport const FETCH_ABSOLUTE_FAILURE = `${FETCH_ABSOLUTE}_FAILURE`;\n\n//End points\nexport const ENDPOINT_BUSINESS_CALENDAR = '/api/now/ui/date_time';\nexport const ENDPOINT_TIMEAGO_ABSOLUTE = '/api/now/timeago/absolute';\n","import '@servicenow/now-icon';\nimport '@servicenow/now-accordion';\n\nimport {\n\tgetTimeAgoGroups,\n\tgetTimeAgoByGroup,\n\tisTimeAgoInGroup,\n\tgetTimeAgoCustom\n} from '../utils/timeAgo';\n\nimport { PRESET_SELECTED } from './constants';\n\nconst TimeAgoButton = ({\n\tselected,\n\ttimeAgo,\n\tisCustom = false,\n\thandleTimeAgoSelect\n}) => {\n\tconst label = (timeAgo && timeAgo.label) || '';\n\tconst handleSelection = e => {\n\t\tif (!isCustom) {\n\t\t\thandleTimeAgoSelect(timeAgo);\n\t\t\te.stopPropagation();\n\t\t}\n\t};\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'date-preset-item': true,\n\t\t\t\t'is-custom': isCustom\n\t\t\t}}\n\t\t>\n\t\t\t<span className=\"date-preset-item-selected\">\n\t\t\t\t{selected ? (\n\t\t\t\t\t<now-icon size=\"md\" aria-hidden=\"true\" icon=\"check-fill\" />\n\t\t\t\t) : null}\n\t\t\t<\/span>\n\n\t\t\t<span\n\t\t\t\tclass={{ 'date-preset-item-button': true, 'is-selected': selected }}\n\t\t\t\taria-label={label}\n\t\t\t\trole=\"button\"\n\t\t\t\t{...(isCustom ? { tabindex: '-1' } : { tabIndex: 0 })}\n\t\t\t\ton-click={e => {\n\t\t\t\t\thandleSelection(e);\n\t\t\t\t}}\n\t\t\t\ton-keydown={e => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\thandleSelection(e);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t<\/span>\n\t\t<\/div>\n\t);\n};\n\nconst AccordionItems = ({\n\tpresetGroups,\n\ttimeAgoPresets,\n\tselectedTimeAgo,\n\thandleTimeAgoSelect\n}) => {\n\treturn presetGroups.map(group => {\n\t\tconst timeAgoGroupItems = getTimeAgoByGroup(timeAgoPresets, group);\n\t\tconst itemInGroup = selectedTimeAgo\n\t\t\t? isTimeAgoInGroup(timeAgoGroupItems, selectedTimeAgo.label)\n\t\t\t: false;\n\t\treturn (\n\t\t\t<now-accordion-item\n\t\t\t\texpanded={itemInGroup}\n\t\t\t\theader={{\n\t\t\t\t\tlabel: group,\n\t\t\t\t\tweight: 'normal',\n\t\t\t\t\tsize: 'md',\n\t\t\t\t\tvariant: 'primary'\n\t\t\t\t}}\n\t\t\t\ttrigger-icon={{ position: 'start' }}\n\t\t\t>\n\t\t\t\t{itemInGroup ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"date-preset-presence\"\n\t\t\t\t\t\tslot=\"metadata\"\n\t\t\t\t\t\ticon=\"presence-fill\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t><\/now-icon>\n\t\t\t\t) : null}\n\t\t\t\t<div slot=\"content\">\n\t\t\t\t\t{timeAgoGroupItems.map(timeAgo => (\n\t\t\t\t\t\t<TimeAgoButton\n\t\t\t\t\t\t\tselected={\n\t\t\t\t\t\t\t\tselectedTimeAgo &&\n\t\t\t\t\t\t\t\tselectedTimeAgo.label &&\n\t\t\t\t\t\t\t\tselectedTimeAgo.label === timeAgo.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thandleTimeAgoSelect={handleTimeAgoSelect}\n\t\t\t\t\t\t\ttimeAgo={timeAgo}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t<\/div>\n\t\t\t<\/now-accordion-item>\n\t\t);\n\t});\n};\n\nexport default (\n\t{ properties: { hasTime }, selectedTimeAgo, timeAgoPresets },\n\t{ dispatch, updateState }\n) => {\n\tconst handleTimeAgoSelect = timeAgo => {\n\t\tupdateState({ selectedTimeAgo: timeAgo });\n\t\tdispatch(PRESET_SELECTED, { timeAgo });\n\t};\n\tconst customTimeAgo = getTimeAgoCustom(timeAgoPresets);\n\n\treturn (\n\t\t<div className=\"date-preset-wrapper\">\n\t\t\t<div className=\"date-preset\" id={`date-preset ${timeAgoPresets.length}`}>\n\t\t\t\t<now-accordion\n\t\t\t\t\texpand-single\n\t\t\t\t\thide-dividers\n\t\t\t\t\theading-level=\"3\"\n\t\t\t\t\ttrigger-icon={{ position: 'start' }}\n\t\t\t\t>\n\t\t\t\t\t<AccordionItems\n\t\t\t\t\t\tpresetGroups={getTimeAgoGroups(timeAgoPresets, hasTime)}\n\t\t\t\t\t\ttimeAgoPresets={timeAgoPresets}\n\t\t\t\t\t\tselectedTimeAgo={selectedTimeAgo}\n\t\t\t\t\t\thandleTimeAgoSelect={handleTimeAgoSelect}\n\t\t\t\t\t/>\n\t\t\t\t<\/now-accordion>\n\t\t\t\t<hr className=\"date-preset-custom-divider\" aria-hidden=\"true\" />\n\t\t\t\t<TimeAgoButton\n\t\t\t\t\tselected={\n\t\t\t\t\t\tselectedTimeAgo &&\n\t\t\t\t\t\tselectedTimeAgo.label &&\n\t\t\t\t\t\tselectedTimeAgo.label === customTimeAgo.label\n\t\t\t\t\t}\n\t\t\t\t\thandleTimeAgoSelect={handleTimeAgoSelect}\n\t\t\t\t\ttimeAgo={customTimeAgo}\n\t\t\t\t\tisCustom={true}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import { isFunction, isEmpty, pickBy } from 'lodash';\nimport { t } from 'sn-translate';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { time, adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\n\nimport {\n\tPRESET_VALUE_CHANGED,\n\tPRESET_MESSAGE_UPDATED,\n\tFETCH_CALENDAR_SUCCESS,\n\tFETCH_CALENDAR_FAILURE,\n\tFETCH_ABSOLUTE_SUCCESS,\n\tFETCH_ABSOLUTE_FAILURE,\n\tENDPOINT_BUSINESS_CALENDAR,\n\tENDPOINT_TIMEAGO_ABSOLUTE\n} from './constants';\nimport { DEFAULT_RESPONSE_FORMAT } from '../constants';\n\nimport { getTimeAgoByValue, SCHEDULE_PRESET_LABEL } from '../utils/timeAgo';\nconst SCHEDULE_PRESET_TYPE = 'schedule';\n\nexport const dispatchTimeAgo = (dispatch, onValueChange, presetSelected) => {\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)(presetSelected);\n\t}\n\tdispatch(PRESET_VALUE_CHANGED, presetSelected);\n};\n\nconst getBusinessCalendars = results => {\n\tlet schedulePresets = [];\n\tconst respObj = results ? results.result : {};\n\tif (!isEmpty(respObj)) {\n\t\tconst scheduleGroupObj = respObj.dateChoiceDisplayValues\n\t\t\t? respObj.dateChoiceDisplayValues.find(\n\t\t\t\t\tv => v.type === SCHEDULE_PRESET_TYPE\n\t\t\t  )\n\t\t\t: {};\n\t\tconst scheduleGroups =\n\t\t\tscheduleGroupObj && scheduleGroupObj.values\n\t\t\t\t? scheduleGroupObj.values.map(g => g.value)\n\t\t\t\t: [];\n\t\tif (scheduleGroups.length) {\n\t\t\tconst timeAgoDates = respObj.timeAgoDates;\n\t\t\tconst schedulePresetObj = pickBy(timeAgoDates, (v, k) =>\n\t\t\t\tscheduleGroups.includes(k)\n\t\t\t);\n\t\t\tschedulePresets = Object.values(schedulePresetObj).map(preset => {\n\t\t\t\treturn {\n\t\t\t\t\tgroup: SCHEDULE_PRESET_LABEL,\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\tstart: preset.before,\n\t\t\t\t\tend: preset.after,\n\t\t\t\t\tbetween: preset.between\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t}\n\treturn schedulePresets;\n};\n\nexport const fetchCalendarEffect = createHttpEffect(\n\tENDPOINT_BUSINESS_CALENDAR,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['table_name'],\n\t\tsuccessActionType: FETCH_CALENDAR_SUCCESS,\n\t\terrorActionType: FETCH_CALENDAR_FAILURE\n\t}\n);\n\nexport const fetchAbsoluteEffect = createHttpEffect(ENDPOINT_TIMEAGO_ABSOLUTE, {\n\tmethod: 'GET',\n\tbatch: false,\n\tqueryParams: ['from_date', 'to_date'],\n\tsuccessActionType: FETCH_ABSOLUTE_SUCCESS,\n\terrorActionType: FETCH_ABSOLUTE_FAILURE\n});\n\nexport const fetchCalendarSuccessEffect = ({\n\tstate: {\n\t\tselectedTimeAgo,\n\t\ttimeAgoPresets,\n\t\tproperties: { value, format }\n\t},\n\tupdateState,\n\taction: { payload: results }\n}) => {\n\tlet schedulePresets = getBusinessCalendars(results);\n\tif (schedulePresets.length) {\n\t\tif (isEmpty(selectedTimeAgo)) {\n\t\t\tselectedTimeAgo = getTimeAgoByValue(schedulePresets, format, value);\n\t\t}\n\t\tupdateState({\n\t\t\tselectedTimeAgo,\n\t\t\ttimeAgoPresets: [...timeAgoPresets, ...schedulePresets]\n\t\t});\n\t}\n};\n\nexport const fetchCalendarFailureEffect = ({\n\tstate: {\n\t\tproperties: { tableName }\n\t},\n\tdispatch\n}) => {\n\tconst message = {\n\t\ttype: 'info',\n\t\tmessage: t(`Unable to fetch business calendars for table '{0}'`, tableName)\n\t};\n\tdispatch(PRESET_MESSAGE_UPDATED, message);\n};\n\nexport const fetchAbsoluteSuccessEffect = ({\n\tstate: {\n\t\tproperties: { onValueChange, language },\n\t\tselectedTimeAgo: { label, start, end }\n\t},\n\taction: { payload: results },\n\tdispatch\n}) => {\n\tconst respObj = results ? results.result : {};\n\tif (!isEmpty(respObj)) {\n\t\tconst fromDate = respObj.fromDate;\n\t\tconst toDate = respObj.toDate;\n\n\t\tconst absoluteStart = time(language)(fromDate, DEFAULT_RESPONSE_FORMAT);\n\t\tconst absoluteEnd = time(language)(toDate, DEFAULT_RESPONSE_FORMAT);\n\n\t\tconst presetSelected = {\n\t\t\tlabel,\n\t\t\trelative: { start, end },\n\t\t\tabsolute: { start: absoluteStart, end: absoluteEnd }\n\t\t};\n\t\tdispatchTimeAgo(dispatch, onValueChange, presetSelected);\n\t}\n};\n\nexport const fetchAbsoluteFailureEffect = ({\n\tstate: {\n\t\tproperties: { onValueChange },\n\t\tselectedTimeAgo: { label, start, end }\n\t},\n\tdispatch\n}) => {\n\tconst message = {\n\t\ttype: 'error',\n\t\tmessage: t(`Unable to resolve absolute dates for '{0}'`, label)\n\t};\n\tdispatch(PRESET_MESSAGE_UPDATED, message);\n\n\tconst presetSelected = {\n\t\tlabel,\n\t\trelative: { start, end },\n\t\tabsolute: { start: '', end: '' }\n\t};\n\tdispatchTimeAgo(dispatch, onValueChange, presetSelected);\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { isEqual } from 'lodash';\nimport { TIME_AGO_PRESETS, getTimeAgoByValue } from '../utils/timeAgo';\n\nimport {\n\tPRESET_SELECTED,\n\tFETCH_CALENDAR,\n\tFETCH_CALENDAR_SUCCESS,\n\tFETCH_CALENDAR_FAILURE,\n\tFETCH_ABSOLUTE,\n\tFETCH_ABSOLUTE_SUCCESS,\n\tFETCH_ABSOLUTE_FAILURE\n} from './constants';\n\nimport {\n\tfetchCalendarEffect,\n\tfetchCalendarSuccessEffect,\n\tfetchCalendarFailureEffect,\n\tfetchAbsoluteEffect,\n\tfetchAbsoluteSuccessEffect,\n\tfetchAbsoluteFailureEffect,\n\tdispatchTimeAgo\n} from './effects';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[PRESET_SELECTED]: {\n\t\teffect: ({ state, action, dispatch }) => {\n\t\t\tlet {\n\t\t\t\ttimeAgo: { label, start, end, between }\n\t\t\t} = action.payload;\n\n\t\t\tconst { onValueChange, between: isBetween, absolute } = state.properties;\n\n\t\t\tif (isBetween) {\n\t\t\t\tend = between;\n\t\t\t}\n\n\t\t\tif (absolute) {\n\t\t\t\tdispatch(FETCH_ABSOLUTE, { from_date: start, to_date: end });\n\t\t\t} else {\n\t\t\t\tconst presetSelected = {\n\t\t\t\t\tlabel,\n\t\t\t\t\trelative: { start, end },\n\t\t\t\t\tabsolute: { start: '', end: '' }\n\t\t\t\t};\n\t\t\t\tdispatchTimeAgo(dispatch, onValueChange, presetSelected);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: ({\n\t\tproperties: { value = '', tableName = '', format },\n\t\tdispatch,\n\t\tupdateState\n\t}) => {\n\t\t//initialize with timeAgoRelative Values\n\t\t//Append more for Business Calendar\n\t\tlet timeAgoPresets = TIME_AGO_PRESETS;\n\t\tconst selectedTimeAgo = getTimeAgoByValue(timeAgoPresets, format, value);\n\n\t\t//get business calendars from tableName\n\t\tif (tableName) {\n\t\t\tdispatch(FETCH_CALENDAR, { table_name: tableName });\n\t\t}\n\n\t\tupdateState({\n\t\t\tselectedTimeAgo,\n\t\t\ttimeAgoPresets: TIME_AGO_PRESETS\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tstate: { timeAgoPresets },\n\t\tupdateState,\n\t\tproperties: { format }\n\t}) => {\n\t\tif (name === 'value' && !isEqual(value, previousValue)) {\n\t\t\tupdateState({\n\t\t\t\tselectedTimeAgo: getTimeAgoByValue(timeAgoPresets, format, value)\n\t\t\t});\n\t\t}\n\t},\n\n\t[FETCH_CALENDAR]: {\n\t\t...fetchCalendarEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CALENDAR_SUCCESS]: {\n\t\teffect: fetchCalendarSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CALENDAR_FAILURE]: {\n\t\teffect: fetchCalendarFailureEffect,\n\t\tstopPropagation: true\n\t},\n\n\t[FETCH_ABSOLUTE]: {\n\t\t...fetchAbsoluteEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_ABSOLUTE_SUCCESS]: {\n\t\teffect: fetchAbsoluteSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_ABSOLUTE_FAILURE]: {\n\t\teffect: fetchAbsoluteFailureEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './view';\nimport styles from './styles.scss';\nimport { TIME_AGO_PRESETS } from '../utils/timeAgo';\nimport actionHandlers from './actionHandlers';\n\nexport const COMPONENT_NAME = 'sn-date-preset-panel-connected';\n\ncreateCustomElement(COMPONENT_NAME, {\n\tview,\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Whether to resolve relative TimeAgo to Absolute Date/Time Strings.\n\t\t * @type {boolean}\n\t\t */\n\t\tabsolute: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Whether to send the between value of the TimeAgo as end value.\n\t\t * @type {boolean}\n\t\t */\n\t\tbetween: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Date format for the date string.\n\t\t * @type {string}\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t *\n\t\t * When not provided, the default format is `YYYY-MM-DD` and `YYYY-MM-DD hh:mm:ss a` when\n\t\t * `has-time` is set to true\n\t\t *\n\t\t */\n\t\tformat: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Whether to show Time related TimeAgo Presets\n\t\t * @type {boolean}\n\t\t */\n\t\thasTime: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Table name for business calendars.\n\t\t * @type {string}\n\t\t */\n\t\ttableName: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Date value which can be a valid date or a valid TimeAgo Label.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { schema: { type: 'string' } }\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when Preset is changed.\n\t\t * @type {{ label: string, relative: {start: string, end: string}, absolute: {start: string, end: string} } }}\n\t\t */\n\t\t'SN_DATE_PRESET_PANEL#VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when Preset has field messages.\n\t\t * @type {{ type: string, message: string }}\n\t\t */\n\t\t'SN_DATE_PRESET_PANEL#MESSAGE_UPDATED': {}\n\t},\n\tinitialState: {\n\t\ttimeAgoPresets: TIME_AGO_PRESETS,\n\t\tselectedTimeAgo: {},\n\t\tinfoMessage: ''\n\t},\n\tactionHandlers\n});\n","import { isAttrTrue } from '@devsnc/sn-controls-common';\nimport {\n\tWEEKLY_FORMAT,\n\tWEEKLY_ISO_FORMAT,\n\tARIA_LABEL_DATE_FORMAT\n} from '../constants';\n\nconst MONTH_OUTER_WRAPPER_CLASS = '.now-record-date-picker-month-wrapper-outer';\nconst MONTH_WEEK_DAY_CLASS = '.now-record-date-picker-month-week-day';\nconst MONTH_WEEK_WEEKLY_CLASS = '.now-record-date-picker-weekly-month-week-row';\nconst MONTH_VIEW_COMPONENT = 'sn-standard-month-grid';\nconst RECORD_CONTROL_COMPONENT = 'sn-record-control';\nconst RECORD_DROPDOWN_INTERNAL_COMPONENT = 'sn-record-dropdown-internal';\nconst SN_MONTH_HEADER = 'sn-month-header';\n\nexport const nextFocusDayElement = (parentRef, nextDate) => {\n\tlet dayToFocus;\n\tconst nextFocusElemSelector = `[aria-label=\"${nextDate.format(\n\t\tARIA_LABEL_DATE_FORMAT\n\t)}\"]`;\n\tconst rangePickerParentElement =\n\t\tparentRef.parentNode?.host?.parentElement?.parentElement;\n\tif (rangePickerParentElement) {\n\t\tconst snMonthViewElements =\n\t\t\trangePickerParentElement.querySelectorAll(MONTH_VIEW_COMPONENT);\n\t\tif (snMonthViewElements) {\n\t\t\tif (snMonthViewElements[0])\n\t\t\t\tdayToFocus = snMonthViewElements[0].shadowRoot.querySelector(\n\t\t\t\t\tnextFocusElemSelector\n\t\t\t\t);\n\n\t\t\tconst dayToFocusDisabled = isAttrTrue(dayToFocus?.ariaDisabled);\n\t\t\tif ((!dayToFocus || dayToFocusDisabled) && snMonthViewElements[1]) {\n\t\t\t\tdayToFocus = snMonthViewElements[1].shadowRoot.querySelector(\n\t\t\t\t\tnextFocusElemSelector\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tdayToFocus = parentRef.querySelector(nextFocusElemSelector);\n\t}\n\treturn dayToFocus;\n};\n\nexport const nextFocusWeekElement = (\n\tnextDate,\n\trangePickerRef,\n\tparentRef,\n\tisoWeek = false\n) => {\n\tconst weekFormat = isoWeek ? WEEKLY_ISO_FORMAT : WEEKLY_FORMAT;\n\tconst nextFocusElemSelector = `[id=\"${nextDate.format(weekFormat)}\"]`;\n\tlet weekToFocus;\n\tif (rangePickerRef) {\n\t\tparentRef = rangePickerRef.current.querySelector(`.date-pickers`);\n\t\tconst snMonthViewElements =\n\t\t\tparentRef.querySelectorAll(MONTH_VIEW_COMPONENT);\n\t\tif (snMonthViewElements) {\n\t\t\tif (snMonthViewElements[1])\n\t\t\t\tweekToFocus = snMonthViewElements[1].shadowRoot.querySelector(\n\t\t\t\t\tnextFocusElemSelector\n\t\t\t\t);\n\t\t\tif (!weekToFocus && snMonthViewElements[0]) {\n\t\t\t\tweekToFocus = snMonthViewElements[0].shadowRoot.querySelector(\n\t\t\t\t\tnextFocusElemSelector\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t} else if (parentRef) {\n\t\tweekToFocus = parentRef.querySelector(nextFocusElemSelector);\n\t}\n\treturn weekToFocus;\n};\n\nexport const nextFocusControlElement = (currentTarget, rightMonth) => {\n\tlet controlToFocus;\n\tif (currentTarget.parentNode) {\n\t\tconst headerControls = currentTarget.parentNode.querySelector(\n\t\t\t`${SN_MONTH_HEADER}`\n\t\t);\n\n\t\tif (headerControls) {\n\t\t\tconst nowControlToFocus =\n\t\t\t\theaderControls.shadowRoot.querySelectorAll('now-button');\n\t\t\tconst headerControlToFocus = rightMonth\n\t\t\t\t? nowControlToFocus[0]\n\t\t\t\t: nowControlToFocus[nowControlToFocus.length - 1];\n\n\t\t\tif (headerControlToFocus) {\n\t\t\t\tcontrolToFocus =\n\t\t\t\t\theaderControlToFocus.shadowRoot.querySelector('button');\n\t\t\t}\n\t\t}\n\t}\n\treturn controlToFocus;\n};\n\nexport const handleRangePickerMonthTab = (\n\trangePickerRef,\n\thighlightedDate,\n\tevent,\n\tweeklyView,\n\tisoWeek = false\n) => {\n\tlet nextCtrlWrapperLeft;\n\tlet nextCtrlWrapperRight;\n\tlet nextCtrlWrapper;\n\tlet nextDayCtrl;\n\tconst navClass = weeklyView ? MONTH_WEEK_WEEKLY_CLASS : MONTH_WEEK_DAY_CLASS;\n\n\tconst monthViews =\n\t\trangePickerRef.current.querySelectorAll(MONTH_VIEW_COMPONENT);\n\tif (monthViews && monthViews.length > 0) {\n\t\tnextCtrlWrapper = nextCtrlWrapperLeft =\n\t\t\tmonthViews[0].shadowRoot.querySelector(MONTH_OUTER_WRAPPER_CLASS);\n\t\tnextCtrlWrapperRight = monthViews[1].shadowRoot.querySelector(\n\t\t\tMONTH_OUTER_WRAPPER_CLASS\n\t\t);\n\t}\n\tif (nextCtrlWrapperLeft && nextCtrlWrapperRight) {\n\t\tlet nextFocusElemSelector = `[aria-label=\"${highlightedDate.format(\n\t\t\t'LL'\n\t\t)}\"]`;\n\n\t\tif (weeklyView) {\n\t\t\tconst weekFormat = isoWeek ? WEEKLY_ISO_FORMAT : WEEKLY_FORMAT;\n\t\t\tnextFocusElemSelector = `[id=\"${highlightedDate.format(weekFormat)}\"]`;\n\t\t}\n\n\t\tnextDayCtrl = nextCtrlWrapperLeft.querySelector(nextFocusElemSelector);\n\t\tif (!nextDayCtrl) {\n\t\t\tnextDayCtrl = nextCtrlWrapperLeft.querySelector(\n\t\t\t\t`${navClass}.is-selected`\n\t\t\t);\n\t\t}\n\t\tif (!nextDayCtrl) {\n\t\t\tif (highlightedDate) {\n\t\t\t\tnextDayCtrl = nextCtrlWrapperRight.querySelector(nextFocusElemSelector);\n\t\t\t\tif (!nextDayCtrl) {\n\t\t\t\t\tnextDayCtrl = nextCtrlWrapperRight.querySelector(\n\t\t\t\t\t\t`${navClass}.is-selected`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (nextDayCtrl) {\n\t\t\t\t\tnextCtrlWrapper = nextCtrlWrapperRight;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!nextDayCtrl) {\n\t\t\t\tnextDayCtrl = nextCtrlWrapperLeft.querySelector(\n\t\t\t\t\t`${navClass}:not(.is-disabled)`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!nextDayCtrl) {\n\t\t\t\tnextDayCtrl = nextCtrlWrapperLeft.querySelector(`${navClass}`);\n\t\t\t}\n\t\t}\n\t\tif (nextDayCtrl) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tnextCtrlWrapper.tabIndex = 0;\n\t\t\tnextDayCtrl.tabIndex = 0;\n\t\t\tnextDayCtrl.focus();\n\t\t}\n\t}\n};\n\nexport const handleRangePickerYearTab = (\n\trangePickerRef,\n\tevent,\n\thighlightedDate,\n\tweeklyView,\n\tenableMonthNavigationChevrons,\n\tisoWeek\n) => {\n\tlet nextCtrlWrapper;\n\tlet monthOuterWrapper;\n\tconst monthViews =\n\t\trangePickerRef.current.querySelectorAll(MONTH_VIEW_COMPONENT);\n\tif (monthViews && monthViews.length > 0) {\n\t\tmonthOuterWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\tMONTH_OUTER_WRAPPER_CLASS\n\t\t);\n\t\tif (event.shiftKey) {\n\t\t\t//right month - move to left month year dropdown\n\t\t\tif (enableMonthNavigationChevrons) {\n\t\t\t\tnextCtrlWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\t\t\t`${RECORD_DROPDOWN_INTERNAL_COMPONENT}`\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t//left month - move to 1st day in left calendar\n\t\t\t\thandleRangePickerMonthTab(\n\t\t\t\t\trangePickerRef,\n\t\t\t\t\thighlightedDate,\n\t\t\t\t\tevent,\n\t\t\t\t\tweeklyView,\n\t\t\t\t\tisoWeek\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\t//right month - move to left chevron in left month\n\t\t\tif (!enableMonthNavigationChevrons) {\n\t\t\t\tnextCtrlWrapper = monthViews[1].shadowRoot.querySelector(\n\t\t\t\t\t`${RECORD_DROPDOWN_INTERNAL_COMPONENT}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\tif (nextCtrlWrapper && monthOuterWrapper) {\n\t\tconst nextctrl = nextCtrlWrapper.shadowRoot.querySelector('now-dropdown');\n\t\tif (nextctrl) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tmonthOuterWrapper.tabIndex = -1;\n\t\t\tnextctrl.focus();\n\t\t}\n\t}\n};\n\nexport const handleRangePickerDayTab = (rangePickerRef, event) => {\n\tlet nextCtrlWrapper;\n\tlet monthOuterWrapper;\n\n\tconst monthViews =\n\t\trangePickerRef.current.querySelectorAll(MONTH_VIEW_COMPONENT);\n\n\tif (event.shiftKey && rangePickerRef) {\n\t\tif (monthViews && monthViews.length > 0) {\n\t\t\tmonthOuterWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\t\tMONTH_OUTER_WRAPPER_CLASS\n\t\t\t);\n\t\t\tnextCtrlWrapper = monthViews[1].shadowRoot.querySelector(SN_MONTH_HEADER);\n\t\t}\n\t\tconst nextctrl =\n\t\t\tnextCtrlWrapper.shadowRoot.querySelectorAll('now-button')[2];\n\n\t\tif (nextCtrlWrapper && monthOuterWrapper) {\n\t\t\tif (nextctrl) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.currentTarget.tabIndex = -1;\n\t\t\t\tmonthOuterWrapper.tabIndex = -1;\n\t\t\t\tnextctrl.focus();\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (monthViews && monthViews.length > 0) {\n\t\t\tmonthOuterWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\t\tMONTH_OUTER_WRAPPER_CLASS\n\t\t\t);\n\t\t\tnextCtrlWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\t\t`${RECORD_DROPDOWN_INTERNAL_COMPONENT}`\n\t\t\t);\n\t\t}\n\n\t\tconst nextctrl = nextCtrlWrapper.shadowRoot.querySelector('now-dropdown');\n\n\t\tconst footer = rangePickerRef.current.querySelector(\n\t\t\t'.date-picker-panel-footer'\n\t\t);\n\n\t\tif (footer) {\n\t\t\tlet time = footer.querySelector('now-record-time');\n\t\t\tlet confirmation = footer.querySelector(\n\t\t\t\t'.date-range-picker-confirmation'\n\t\t\t);\n\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tif (time) {\n\t\t\t\ttime.shadowRoot.querySelector('now-input').focus();\n\t\t\t} else if (confirmation) {\n\t\t\t\tconfirmation.querySelector('now-button').focus();\n\t\t\t}\n\t\t} else {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tevent.currentTarget.tabIndex = -1;\n\t\t\tmonthOuterWrapper.tabIndex = -1;\n\t\t\tnextctrl.focus();\n\t\t}\n\t}\n};\n\nexport const handleRangePickerWeekTab = (rangePickerRef, event) => {\n\tlet nextCtrlWrapper;\n\tlet prevCtrlWrapper;\n\tlet monthOuterWrapper;\n\n\tconst monthViews =\n\t\trangePickerRef.current.querySelectorAll(MONTH_VIEW_COMPONENT);\n\n\tif (monthViews && monthViews.length > 0) {\n\t\tmonthOuterWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\tMONTH_OUTER_WRAPPER_CLASS\n\t\t);\n\t\tprevCtrlWrapper = monthViews[0].shadowRoot.querySelector(\n\t\t\t`${RECORD_CONTROL_COMPONENT}`\n\t\t);\n\t\tnextCtrlWrapper = monthViews[1].shadowRoot.querySelector(\n\t\t\t`${RECORD_CONTROL_COMPONENT}`\n\t\t);\n\t}\n\n\tconst nextctrl = nextCtrlWrapper.shadowRoot.querySelector('now-button');\n\tconst prevctrl = prevCtrlWrapper.shadowRoot.querySelector('now-button');\n\n\tif (event.shiftKey && rangePickerRef) {\n\t\tif (nextCtrlWrapper && monthOuterWrapper) {\n\t\t\tif (nextctrl) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.currentTarget.tabIndex = -1;\n\t\t\t\tmonthOuterWrapper.tabIndex = -1;\n\t\t\t\tnextctrl.focus();\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconst footer = rangePickerRef.current.querySelector(\n\t\t\t'.date-picker-panel-footer'\n\t\t);\n\n\t\tif (footer) {\n\t\t\tlet time = footer.querySelector('now-record-time');\n\t\t\tlet confirmation = footer.querySelector(\n\t\t\t\t'.date-range-picker-confirmation'\n\t\t\t);\n\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tif (time) {\n\t\t\t\ttime.shadowRoot.querySelector('now-input').focus();\n\t\t\t} else if (confirmation) {\n\t\t\t\tconfirmation.querySelector('now-button').focus();\n\t\t\t}\n\t\t} else {\n\t\t\tif (!event.shiftKey && rangePickerRef) {\n\t\t\t\tif (prevCtrlWrapper && monthOuterWrapper) {\n\t\t\t\t\tif (prevctrl) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.currentTarget.tabIndex = -1;\n\t\t\t\t\t\tmonthOuterWrapper.tabIndex = -1;\n\t\t\t\t\t\tprevctrl.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import { t } from 'sn-translate';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport { handleRangePickerMonthTab } from '../utils/elements';\nimport '@servicenow/now-button';\n\nconst VIEW_NEXT_MONTH = t('View next month');\nconst VIEW_TODAY = t('View Today');\nconst VIEW_PREV_MONTH = t('View previous month');\n\nexport default ({\n\tproperties: {\n\t\tenablePreviousMonthControl = true,\n\t\tenableNextMonthControl = true,\n\t\tdisabled,\n\t\trangePicker,\n\t\trangePickerRef,\n\t\tweeklyView,\n\t\tisoWeek = false,\n\t\thighlightedDate\n\t}\n}) => {\n\tconst reversed = document && document.dir === 'rtl';\n\treturn (\n\t\t<div className=\"header\">\n\t\t\t{enablePreviousMonthControl ? (\n\t\t\t\t<now-button\n\t\t\t\t\tbare\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\ticon={reversed ? 'chevron-right-fill' : 'chevron-left-fill'}\n\t\t\t\t\ttooltipContent={VIEW_PREV_MONTH}\n\t\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_PREV_MONTH } }}\n\t\t\t\t\tappend-to-payload={{ action: 'previous' }}\n\t\t\t\t\tdisabled={isAttrTrue(disabled) ? true : undefined}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"circle-outline\"\n\t\t\t\ttooltipContent={VIEW_TODAY}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_TODAY } }}\n\t\t\t\tappend-to-payload={{ action: 'current' }}\n\t\t\t\tdisabled={isAttrTrue(disabled) ? true : undefined}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName=\"now-right-chevron -static\"\n\t\t\t\ton-keydown={event => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.key == 'Tab' &&\n\t\t\t\t\t\t!event.shiftKey &&\n\t\t\t\t\t\trangePicker &&\n\t\t\t\t\t\trangePickerRef &&\n\t\t\t\t\t\trangePickerRef.current\n\t\t\t\t\t) {\n\t\t\t\t\t\thandleRangePickerMonthTab(\n\t\t\t\t\t\t\trangePickerRef,\n\t\t\t\t\t\t\thighlightedDate,\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\tweeklyView,\n\t\t\t\t\t\t\tisoWeek\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{enableNextMonthControl ? (\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\ticon={reversed ? 'chevron-left-fill' : 'chevron-right-fill'}\n\t\t\t\t\t\ttooltipContent={VIEW_NEXT_MONTH}\n\t\t\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_NEXT_MONTH } }}\n\t\t\t\t\t\tappend-to-payload={{ action: 'next' }}\n\t\t\t\t\t\tdisabled={isAttrTrue(disabled) ? true : undefined}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\n\nexport default {\n\t'NOW_BUTTON#CLICKED': {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { action }\n\t\t\t},\n\t\t\tproperties: { date, onChangeMonth }\n\t\t}) => {\n\t\t\tlet updatedDate;\n\n\t\t\tif (action === 'previous') {\n\t\t\t\tupdatedDate = date.clone().subtract(1, 'months');\n\t\t\t} else if (action === 'next') {\n\t\t\t\tupdatedDate = date.clone().add(1, 'months');\n\t\t\t} else {\n\t\t\t\tupdatedDate = moment();\n\t\t\t}\n\t\t\tif (onChangeMonth) {\n\t\t\t\tonChangeMonth(updatedDate, action, updatedDate.date());\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './view';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\n\ncreateCustomElement('sn-month-header', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tdate: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\tonChangeMonth: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tenablePreviousMonthControl: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tenableNextMonthControl: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tdisabled: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\trangePicker: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\trangePickerRef: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\thighlightedDate: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\tweeklyView: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tisoWeek: {\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tactionHandlers\n});\n","import { range, map, max } from 'lodash';\nimport { t } from 'sn-translate';\nimport '@devsnc/sn-record-dropdown-internal';\nimport { handleRangePickerYearTab } from '../../utils/elements';\nimport '../../month-header';\n\nconst VISIBLE_YEARS_DELTA = 100;\n\n/**\n * Heading display with controls to toggle year view and displayed month\n */\nexport function YearLabel({\n\tdate,\n\tonChangeMonth,\n\tdisabled,\n\treadonly,\n\tenablePreviousMonthControl = true,\n\tenableNextMonthControl = true,\n\thighlightedDate,\n\trangePicker,\n\trangePickerRef,\n\tweeklyView,\n\tenableMonthNavigationChevrons = true,\n\tisoWeek\n}) {\n\tconst month = date.format('MMMM');\n\tconst firstYear = max([\n\t\t0,\n\t\tdate.clone().subtract(VISIBLE_YEARS_DELTA, 'years').year()\n\t]);\n\tconst years = map(\n\t\trange(firstYear, firstYear + VISIBLE_YEARS_DELTA * 2 + 1),\n\t\tlabel => ({ id: label + '', label: label + '' })\n\t);\n\treturn (\n\t\t<div className=\"now-record-date-picker-header\">\n\t\t\t<div className=\"now-record-date-picker-content\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"now-record-date-picker-header-label\"\n\t\t\t\t\trole=\"status\"\n\t\t\t\t\ton-keydown={event => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.key == 'Tab' &&\n\t\t\t\t\t\t\trangePicker &&\n\t\t\t\t\t\t\trangePickerRef &&\n\t\t\t\t\t\t\trangePickerRef.current\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thandleRangePickerYearTab(\n\t\t\t\t\t\t\t\trangePickerRef,\n\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\thighlightedDate,\n\t\t\t\t\t\t\t\tweeklyView,\n\t\t\t\t\t\t\t\tenableMonthNavigationChevrons,\n\t\t\t\t\t\t\t\tisoWeek\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>\n\t\t\t\t\t<span data-truncation>{month}<\/span>\n\t\t\t\t\t<sn-record-dropdown-internal\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tonChange={({ value }) => onChangeMonth(date.clone().year(value))}\n\t\t\t\t\t\tselected-items={[date.format('YYYY')]}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\titems={years}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\ttrigger: {'aria-label': t('Year {0}', date.year()), role: 'combobox'}\n\t\t\t\t\t\t  }}\n\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{enableMonthNavigationChevrons && (\n\t\t\t\t\t<sn-month-header\n\t\t\t\t\t\tdate={date}\n\t\t\t\t\t\tonChangeMonth={onChangeMonth}\n\t\t\t\t\t\tenablePreviousMonthControl={enablePreviousMonthControl}\n\t\t\t\t\t\tenableNextMonthControl={enableNextMonthControl}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\trangePicker={rangePicker}\n\t\t\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\t\t\tweeklyView={weeklyView}\n\t\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\t\thighlightedDate={highlightedDate}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n}\n","import { map } from 'lodash';\nimport makeClass from 'classnames';\nimport moment from 'moment';\nimport { t } from 'sn-translate';\nimport {\n\thandleRangePickerDayTab,\n\tnextFocusControlElement,\n\tnextFocusDayElement\n} from '../../utils/elements';\nimport { isAttrTrue, isEditable } from '@devsnc/sn-controls-common';\nimport { handleKeyPress, isDayFocusable } from '../../utils/calendarUtils';\nimport { getDateRangeRows } from '../../utils/gridUtils';\nimport { ARIA_LABEL_DATE_FORMAT } from '../../constants';\n\n// Mapping for how various keyboard events affect the selected date.\n// If the ctrl modifier matters, prefix key name with `Ctrl`.\n//\n// Values can either be functions (oldDate => newDate), or objects\n// that are passed to moment#add.\nconst KEYMAP = {\n\tArrowLeft: (date, isReversed) => date.add(isReversed ? 1 : -1, 'days'),\n\tArrowRight: (date, isReversed) => date.add(isReversed ? -1 : 1, 'days'),\n\tArrowUp: { week: -1 },\n\tArrowDown: { week: +1 },\n\tPageUp: { months: -1 },\n\tCtrlPageUp: { years: -1 },\n\tPageDown: { months: +1 },\n\tCtrlPageDown: { years: +1 },\n\tHome: date => date.startOf('month'),\n\tEnd: date => date.endOf('month'),\n\tEnter: date => date,\n\tSpacebar: date => date,\n\t' ': date => date\n};\n\nexport const onKeyDown = props => event => {\n\tconst {\n\t\tonSelectDate,\n\t\tonHighlightedDate,\n\t\tonEndDayHover,\n\t\tparentRef,\n\t\thighlightedDate,\n\t\tenableMonthNavigationChevrons\n\t} = props;\n\tconst rightMonth = enableMonthNavigationChevrons || false;\n\n\tif (!isEditable(props)) {\n\t\treturn;\n\t}\n\n\tconst nextDate = handleKeyPress({\n\t\tevent,\n\t\tkeymap: KEYMAP,\n\t\thighlightedDate,\n\t\treversed: document?.dir === 'rtl'\n\t});\n\n\tswitch (event.key) {\n\t\tcase 'Tab':\n\t\t\tif (\n\t\t\t\tevent.currentTarget?.className.includes(\n\t\t\t\t\t'now-record-date-picker-month-wrapper-outer'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tconst { shiftKey, currentTarget } = event;\n\t\t\t\tif (shiftKey || (rightMonth && !shiftKey)) {\n\t\t\t\t\tconst controlToFocus = nextFocusControlElement(\n\t\t\t\t\t\tcurrentTarget,\n\t\t\t\t\t\trightMonth\n\t\t\t\t\t);\n\t\t\t\t\tif (controlToFocus) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tcontrolToFocus.focus();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!rightMonth) currentTarget.blur();\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'PageUp':\n\t\tcase 'CtrlPageUp':\n\t\tcase 'PageDown':\n\t\tcase 'CtrlPageDown':\n\t\tcase 'Home':\n\t\tcase 'End':\n\t\tcase 'ArrowDown':\n\t\tcase 'ArrowUp':\n\t\tcase 'ArrowRight':\n\t\tcase 'ArrowLeft':\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst dayToFocus = nextFocusDayElement(parentRef.current, nextDate);\n\t\t\t\tif (dayToFocus) {\n\t\t\t\t\tdayToFocus.tabIndex = '0';\n\t\t\t\t\tdayToFocus.focus();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t\tbreak;\n\t}\n\tconst { key } = event;\n\tif (nextDate !== highlightedDate) {\n\t\tif (key === 'Enter' || key === ' ' || key === 'Spacebar')\n\t\t\tonSelectDate(nextDate);\n\t\telse {\n\t\t\tonHighlightedDate(nextDate);\n\t\t\tif (onEndDayHover) onEndDayHover(nextDate);\n\t\t}\n\t}\n};\n\n/**\n * Wraps Month Grid to fit nicely within the month view\n */\nexport const StandardGrid = ({ updateState, ...props }) => {\n\tconst {\n\t\tonSelectDate,\n\t\tonHighlightedDate,\n\t\tonEndDayHover,\n\t\trightMonth,\n\t\tmouseDown,\n\t\thasGridFocus,\n\t\thighlightedDate,\n\t\tvisibleMonth,\n\t\trangePicker,\n\t\trangePickerRef,\n\t\tstart,\n\t\tend,\n\t\tformat,\n\t\tweeklyView,\n\t\tisoWeek,\n\t\tfirstDayOfWeek,\n\t\tshowAdjacentMonthDays,\n\t\thoverEnd,\n\t\tdisabledDays,\n\t\tcurrentDate,\n\t\tautoSelectDatesCount,\n\t\treadonly\n\t} = props;\n\n\tconst onDayHover = day => {\n\t\tconst hoverDate = day ? visibleMonth.clone().date(day) : '';\n\t\tif (hoverDate) onHighlightedDate(moment(hoverDate));\n\t\tonEndDayHover(hoverDate);\n\t};\n\n\tconst onMouseDown = () => {\n\t\tif (!rightMonth) {\n\t\t\tupdateState({\n\t\t\t\tmouseDown: true,\n\t\t\t\thasGridFocus: false,\n\t\t\t\trightMonth: false\n\t\t\t});\n\t\t}\n\t};\n\n\tconst onFocus = () => {\n\t\tif (!mouseDown) {\n\t\t\tupdateState({ hasGridFocus: true });\n\t\t}\n\t};\n\n\tconst onBlur = () => {\n\t\tupdateState({\n\t\t\thasGridFocus: false,\n\t\t\trightMonth: false,\n\t\t\tmouseDown: false\n\t\t});\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"now-record-date-picker-month-wrapper-outer\"\n\t\t\ton-keydown={onKeyDown(props)}\n\t\t\ton-mousedown={onMouseDown}\n\t\t\ton-focus={onFocus}\n\t\t\ton-blur={onBlur}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"now-record-date-picker-month-wrapper-inner\"\n\t\t\t\trole=\"grid\"\n\t\t\t\taria-label={t(' Calendar Grid. Use arrow keys to adjust the date.')}\n\t\t\t>\n\t\t\t\t<MonthGrid\n\t\t\t\t\tvisibleMonth={visibleMonth}\n\t\t\t\t\tonSelectDate={onSelectDate}\n\t\t\t\t\tonHighlightedDate={onHighlightedDate}\n\t\t\t\t\trangePicker={rangePicker}\n\t\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\t\tstart={start}\n\t\t\t\t\tend={end}\n\t\t\t\t\tformat={format}\n\t\t\t\t\tweeklyView={weeklyView}\n\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\t\tshowAdjacentMonthDays={showAdjacentMonthDays}\n\t\t\t\t\tonDayHover={onDayHover}\n\t\t\t\t\thoverEnd={hoverEnd}\n\t\t\t\t\t{...(rangePicker && (hasGridFocus || rightMonth)\n\t\t\t\t\t\t? { highlightedDate }\n\t\t\t\t\t\t: {})}\n\t\t\t\t\tdisabledDays={disabledDays}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\tautoSelectDatesCount={autoSelectDatesCount}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Grid of days for the curent month (plus a few extra days from prev/next\n * month to balance out the calendar\n */\nexport function MonthGrid({\n\tdate,\n\thighlightedDate,\n\tvisibleMonth = date,\n\tstart = date,\n\tend = date,\n\tformat = 'MM-DD-YYYY',\n\tonSelectDate,\n\tonHighlightedDate,\n\tfirstDayOfWeek = 0,\n\tshowAdjacentMonthDays,\n\tonDayHover,\n\trangePicker,\n\trangePickerRef,\n\thoverEnd = '',\n\tdisabledDays,\n\tcurrentDate,\n\tautoSelectDatesCount,\n\treadonly\n}) {\n\tconst months = getDateRangeRows(visibleMonth, firstDayOfWeek, disabledDays);\n\tconst normalizeDate = date => date.clone().startOf('day');\n\tconst normalizedStart = normalizeDate(moment(start, format));\n\tconst normalizedEnd = normalizeDate(moment(end, format));\n\tconst normalizedHoverEnd = normalizeDate(moment(hoverEnd, format));\n\tconst today = normalizeDate(moment());\n\tconst none = !start;\n\tconst onlyStart = start && !end;\n\treturn (\n\t\t<div className=\"now-record-date-picker-month\" role=\"rowgroup\">\n\t\t\t{map(months, (week, weekIndex) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={weekIndex}\n\t\t\t\t\tclassName=\"now-record-date-picker-month-week\"\n\t\t\t\t\trole=\"row\"\n\t\t\t\t>\n\t\t\t\t\t{map(week, ({ day, disabled, adjacentMonthDay }) => {\n\t\t\t\t\t\tlet normalizedVisibleMonth = normalizeDate(visibleMonth).date(day);\n\n\t\t\t\t\t\tconst isCurrentDate = currentDate\n\t\t\t\t\t\t\t? !rangePicker\n\t\t\t\t\t\t\t\t? normalizedVisibleMonth.isSame(normalizeDate(currentDate))\n\t\t\t\t\t\t\t\t: onlyStart\n\t\t\t\t\t\t\t\t? normalizedVisibleMonth.isSame(normalizedStart)\n\t\t\t\t\t\t\t\t: normalizedVisibleMonth.isSame(normalizedStart) ||\n\t\t\t\t\t\t\t\t  normalizedVisibleMonth.isSame(normalizedEnd)\n\t\t\t\t\t\t\t: false;\n\n\t\t\t\t\t\t// None selected: Nothing\n\t\t\t\t\t\t// Start selected: Start only\n\t\t\t\t\t\t// Start + end: Start --> End\n\t\t\t\t\t\tconst isSelected = none\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: onlyStart\n\t\t\t\t\t\t\t? normalizedVisibleMonth.isSame(normalizedStart)\n\t\t\t\t\t\t\t: normalizedVisibleMonth.isSame(normalizedStart) ||\n\t\t\t\t\t\t\t  normalizedVisibleMonth.isSame(normalizedEnd);\n\n\t\t\t\t\t\tconst isPreview =\n\t\t\t\t\t\t\t!isSelected &&\n\t\t\t\t\t\t\tonlyStart &&\n\t\t\t\t\t\t\tnormalizedVisibleMonth.isAfter(normalizedStart) &&\n\t\t\t\t\t\t\tnormalizedVisibleMonth.isBefore(normalizedHoverEnd);\n\n\t\t\t\t\t\tconst isInsideRange =\n\t\t\t\t\t\t\tnormalizedVisibleMonth.isAfter(normalizedStart) &&\n\t\t\t\t\t\t\tnormalizedVisibleMonth.isBefore(normalizedEnd) &&\n\t\t\t\t\t\t\t!onlyStart;\n\n\t\t\t\t\t\tconst isHighlighted =\n\t\t\t\t\t\t\tonHighlightedDate &&\n\t\t\t\t\t\t\t!isSelected &&\n\t\t\t\t\t\t\tnormalizedVisibleMonth.isSame(highlightedDate);\n\n\t\t\t\t\t\tconst isToday = today.isSame(normalizedVisibleMonth);\n\n\t\t\t\t\t\tif (disabled) {\n\t\t\t\t\t\t\tconst className = makeClass(\n\t\t\t\t\t\t\t\t'now-record-date-picker-month-week-day',\n\t\t\t\t\t\t\t\t'is-disabled',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-outlined': !adjacentMonthDay && isToday,\n\t\t\t\t\t\t\t\t\t'is-selected-secondary': !adjacentMonthDay && isInsideRange\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst showDay =\n\t\t\t\t\t\t\t\t!adjacentMonthDay ||\n\t\t\t\t\t\t\t\t(adjacentMonthDay && showAdjacentMonthDays);\n\n\t\t\t\t\t\t\tconst focusable = isDayFocusable(\n\t\t\t\t\t\t\t\tisHighlighted,\n\t\t\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\t\t\trangePicker,\n\t\t\t\t\t\t\t\tadjacentMonthDay\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tlet currentMonth = visibleMonth.clone();\n\t\t\t\t\t\t\tif (showDay && adjacentMonthDay) {\n\t\t\t\t\t\t\t\t// visibleMonth will be here previous or next Month based on the day\n\t\t\t\t\t\t\t\tif (day >= 1 && day < 15) {\n\t\t\t\t\t\t\t\t\tcurrentMonth = moment(currentMonth).add(1, 'months');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcurrentMonth = moment(currentMonth).subtract(1, 'months');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={day}\n\t\t\t\t\t\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\t{...(focusable\n\t\t\t\t\t\t\t\t\t\t\t? { tabIndex: 0, 'aria-selected': true }\n\t\t\t\t\t\t\t\t\t\t\t: { tabIndex: -1 })}\n\t\t\t\t\t\t\t\t\t\taria-label={currentMonth.date(day).format('LL, dddd')}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{showDay ? <span>{day}<\/span> : ''}\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst isDateInAutoSelectRange =\n\t\t\t\t\t\t\tcurrentDate && autoSelectDatesCount\n\t\t\t\t\t\t\t\t? normalizedVisibleMonth.isSameOrBefore(\n\t\t\t\t\t\t\t\t\t\tcurrentDate.clone().add(autoSelectDatesCount, 'days')\n\t\t\t\t\t\t\t\t  ) &&\n\t\t\t\t\t\t\t\t  normalizedVisibleMonth.isAfter(normalizeDate(currentDate))\n\t\t\t\t\t\t\t\t: false;\n\t\t\t\t\t\tconst className = makeClass(\n\t\t\t\t\t\t\t'now-record-date-picker-month-week-day',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-selected': !isCurrentDate && onSelectDate && isSelected,\n\t\t\t\t\t\t\t\t'is-outlined': isToday,\n\t\t\t\t\t\t\t\t'is-selected-secondary': isPreview || isInsideRange,\n\t\t\t\t\t\t\t\t'hover-secondary-selected': isInsideRange,\n\t\t\t\t\t\t\t\t'hover-highlighted': isHighlighted || isDateInAutoSelectRange,\n\t\t\t\t\t\t\t\t'hover-secondary-highlighted': isInsideRange && isHighlighted,\n\t\t\t\t\t\t\t\t'is-current-date': isCurrentDate,\n\t\t\t\t\t\t\t\t'is-readonly': !isCurrentDate && isAttrTrue(readonly)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst dateSelected = isHighlighted || (isSelected && !rangePicker);\n\t\t\t\t\t\tconst dateInRangeSelected =\n\t\t\t\t\t\t\trangePicker && (isSelected || isInsideRange);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={day}\n\t\t\t\t\t\t\t\t\taria-disabled=\"false\"\n\t\t\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\t\t\taria-pressed={\n\t\t\t\t\t\t\t\t\t\tisAttrTrue(dateInRangeSelected || dateSelected)\n\t\t\t\t\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t\t\t\t\t: 'false'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ton-click={() => onSelectDate(visibleMonth.clone().date(day))}\n\t\t\t\t\t\t\t\t\ton-mouseenter={\n\t\t\t\t\t\t\t\t\t\tonlyStart\n\t\t\t\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDayHover(day);\n\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t: () => {}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ton-mouseleave={\n\t\t\t\t\t\t\t\t\t\tonlyStart\n\t\t\t\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDayHover('');\n\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t: () => {}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ton-keydown={event => {\n\t\t\t\t\t\t\t\t\t\tif (event.key == 'Tab' && rangePicker) {\n\t\t\t\t\t\t\t\t\t\t\thandleRangePickerDayTab(rangePickerRef, event);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t{...(dateSelected ? { tabIndex: '0' } : { tabIndex: '-1' })}\n\t\t\t\t\t\t\t\t\taria-label={visibleMonth\n\t\t\t\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t\t\t\t.date(day)\n\t\t\t\t\t\t\t\t\t\t.format(ARIA_LABEL_DATE_FORMAT)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">{day}<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t<\/div>\n\t\t\t))}\n\t\t<\/div>\n\t);\n}\n","import { map } from 'lodash';\nimport makeClass from 'classnames';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nexport const Week = ({\n\tweek,\n\trangePicker,\n\tdisabledWeek,\n\tshowAdjacentMonthDays,\n\tisWeekInRange = false\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{map(week, ({ day, disabled, adjacentMonthDay }) => {\n\t\t\t\tconst isDisabled = disabledWeek || disabled;\n\t\t\t\tconst showDay = isDisabled\n\t\t\t\t\t? !adjacentMonthDay || (adjacentMonthDay && showAdjacentMonthDays)\n\t\t\t\t\t: true;\n\t\t\t\tconst className = makeClass(\n\t\t\t\t\t'now-record-date-picker-weekly-month-week-day',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-disabled': rangePicker ? isDisabled : false,\n\t\t\t\t\t\t'is-in-range': rangePicker && isWeekInRange,\n\t\t\t\t\t\t'is-day-in-range-current-month':\n\t\t\t\t\t\t\trangePicker && isWeekInRange && !adjacentMonthDay,\n\t\t\t\t\t\t'is-disabled-date-picker': !rangePicker ? isDisabled : false,\n\t\t\t\t\t\t'is-adjacent': adjacentMonthDay\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn (\n\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tkey={day}\n\t\t\t\t\t\t\taria-disabled={isDisabled.toString()}\n\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{showDay && day}\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/Fragment>\n\t);\n};\n","import { find, padStart } from 'lodash';\n\nimport { t } from 'sn-translate';\nimport { time } from '@devsnc/sn-controls-common';\n\nimport { Week } from './Week';\n\nimport { MAX_DAYS_IN_ADJACENT_NEXT_MONTH } from '../../constants';\n\nconst WeekNumber = ({ weekNumber }) => (\n\t<div key={weekNumber} className=\"now-record-date-picker-month-week-number\">\n\t\t{weekNumber}\n\t<\/div>\n);\n\nexport const WeekRow = ({\n\tyear,\n\tvisibleMonth,\n\tdisabledWeek,\n\tadjacentWeek,\n\tweek,\n\tweekIndex,\n\tweekOfYear,\n\ttabIndex,\n\tclassName,\n\tshowAdjacentMonthDays,\n\tlanguage,\n\tonSelectDate,\n\thighlightedDate,\n\tonHighlightedDate,\n\tonEndDayHover,\n\tformat,\n\trangePicker,\n\tisoWeek,\n\tweekType,\n\trightMonth,\n\tisWeekInRange\n}) => {\n\tconst firstVisibleDate = find(week, { disabled: false });\n\n\tconst handleSelection = () => {\n\t\tif (firstVisibleDate && !disabledWeek) {\n\t\t\tconst day = firstVisibleDate.day;\n\t\t\tconst selectedDate = time(language)(\n\t\t\t\tvisibleMonth.clone().date(day),\n\t\t\t\tformat\n\t\t\t);\n\t\t\tlet newDate = selectedDate.clone();\n\t\t\tconst week = isoWeek ? newDate.isoWeek() : newDate.week();\n\t\t\tif (week == 1 && newDate.month() == 11) {\n\t\t\t\t//first week of year shows up in the Dec\n\t\t\t\tnewDate = newDate.clone().endOf(weekType);\n\t\t\t} else if (week > 5 && newDate.month() == 0) {\n\t\t\t\t//last week of year shows up in the Jan\n\t\t\t\tnewDate = newDate.clone().startOf(weekType);\n\t\t\t}\n\t\t\tonSelectDate(newDate);\n\t\t}\n\t};\n\n\tconst handleMouseEnter = () => {\n\t\tif (firstVisibleDate && !disabledWeek) {\n\t\t\tconst selectedDate = time(language)({\n\t\t\t\tyear,\n\t\t\t\tmonth: visibleMonth.month(),\n\t\t\t\tday: firstVisibleDate.day\n\t\t\t});\n\t\t\tif (selectedDate) {\n\t\t\t\tconst endOfSelectedWeek = selectedDate.clone().endOf(weekType);\n\t\t\t\tconst endOfYearOutlier = time(language)({ year: year + 1 });\n\t\t\t\t// When week highlighted is week 1 of the next year, conversion from moment\n\t\t\t\t// maintains the same year, giving a wrong highlighted date. This checks for\n\t\t\t\t// whether the highlighted week is the same as the first week of the next year\n\t\t\t\tif (selectedDate.isSame(endOfYearOutlier, weekType)) {\n\t\t\t\t\tonHighlightedDate(endOfYearOutlier.clone().startOf(weekType), true);\n\t\t\t\t\trangePicker &&\n\t\t\t\t\t\tonEndDayHover(endOfYearOutlier.clone().startOf(weekType));\n\t\t\t\t} else if (\n\t\t\t\t\tvisibleMonth.isSame(selectedDate.startOf(weekType), 'month')\n\t\t\t\t) {\n\t\t\t\t\t//leftmonth partial hover\n\t\t\t\t\tonHighlightedDate(selectedDate);\n\t\t\t\t\trangePicker && onEndDayHover(selectedDate);\n\t\t\t\t}\n\t\t\t\t// if user is highlighting a week that starts in previous month,\n\t\t\t\t// the previous if doesnt capture the highlighting. This checks if the end\n\t\t\t\t// of the highlighted month is in the other visible month\n\t\t\t\telse if (\n\t\t\t\t\tvisibleMonth.isSame(endOfSelectedWeek.endOf(weekType), 'month')\n\t\t\t\t) {\n\t\t\t\t\tonHighlightedDate(endOfSelectedWeek);\n\t\t\t\t\trangePicker && rightMonth && onEndDayHover(endOfSelectedWeek);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleMouseLeave = () => {\n\t\tif (rangePicker) {\n\t\t\tonEndDayHover('');\n\t\t\tonHighlightedDate(null);\n\t\t}\n\t};\n\n\tconst firstDayOfWeek = week[0].day;\n\n\tconst weekStart = adjacentWeek\n\t\t? weekIndex\n\t\t\t? firstDayOfWeek < MAX_DAYS_IN_ADJACENT_NEXT_MONTH\n\t\t\t\t? visibleMonth.clone().add(1, 'month').date(firstDayOfWeek) //last row extended - all days in next month\n\t\t\t\t: visibleMonth.clone().date(firstDayOfWeek) // last row but has some current month days\n\t\t\t: visibleMonth.clone().subtract(1, 'month').date(firstDayOfWeek) //first row\n\t\t: visibleMonth.clone().date(firstDayOfWeek); //middle rows\n\n\tconst weekNumber = isoWeek ? weekStart.isoWeek() : weekStart.week();\n\n\tif (disabledWeek || !firstVisibleDate) {\n\t\tclassName += ' is-disabled-week';\n\t}\n\n\tlet calculatedYear = weekStart.clone().startOf(weekType).year();\n\n\tif (weekOfYear == 1 && (weekStart.month() == 11 || weekStart.month() == 0)) {\n\t\t//first week of year shows up in the Dec\n\t\t//last week of year shows up in the Jan\n\t\tcalculatedYear = weekStart.clone().endOf(weekType).year();\n\t}\n\n\treturn (\n\t\t<div className=\"now-record-date-picker-weekly-month-week\" role=\"rowgroup\">\n\t\t\t<WeekNumber weekNumber={weekNumber} />\n\t\t\t<div\n\t\t\t\tid={`W${padStart(weekNumber, 2, '0')} ${calculatedYear}`}\n\t\t\t\trole=\"row\"\n\t\t\t\tclassName={className}\n\t\t\t\ton-click={handleSelection}\n\t\t\t\ton-mouseenter={handleMouseEnter}\n\t\t\t\ton-mouseleave={handleMouseLeave}\n\t\t\t\t{...tabIndex}\n\t\t\t\taria-label={\n\t\t\t\t\thighlightedDate && highlightedDate.isValid()\n\t\t\t\t\t\t? t(\n\t\t\t\t\t\t\t\t'Selected Week: {0}. Use arrow keys to adjust the selected week.',\n\t\t\t\t\t\t\t\thighlightedDate.format(format)\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: t('Use arrow keys to select a Week Range.')\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Week\n\t\t\t\t\tweek={week}\n\t\t\t\t\trangePicker={rangePicker}\n\t\t\t\t\tdisabledWeek={disabledWeek}\n\t\t\t\t\tshowAdjacentMonthDays={showAdjacentMonthDays}\n\t\t\t\t\tisWeekInRange={isWeekInRange}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import { map, find, findLast } from 'lodash';\nimport { time, isAttrTrue } from '@devsnc/sn-controls-common';\nimport makeClass from 'classnames';\nimport { getDateRangeRows } from '../../utils/gridUtils';\nimport { WeekRow } from './WeekRow';\nimport { WEEKLY_FORMAT, WEEKLY_ISO_FIRST_DAY } from '../../constants';\n\n/**\n * Grid of days (selectable week) for the curent month (plus a few extra days from prev/next\n * month to balance out the calendar\n */\nexport const Weeks = ({\n\tdate,\n\thighlightedDate,\n\tvisibleMonth = date,\n\tstart = date,\n\tend = date,\n\tformat = WEEKLY_FORMAT,\n\tonSelectDate,\n\tonEndDayHover,\n\tonHighlightedDate,\n\tfirstDayOfWeek = 0,\n\tshowAdjacentMonthDays,\n\trangePicker,\n\tlanguage,\n\thoverEnd = '',\n\tdisabledDays,\n\tcurrentDate,\n\tisoWeek,\n\tweekType,\n\trightMonth,\n\treadonly\n}) => {\n\tconst normalizeDate = date => date.clone().startOf('day');\n\tconst firstDay = isoWeek ? WEEKLY_ISO_FIRST_DAY : firstDayOfWeek;\n\tconst month = getDateRangeRows(visibleMonth, firstDay, disabledDays, isoWeek);\n\tconst year = visibleMonth.year();\n\tconst normalizedStart = normalizeDate(time(language)(start, format));\n\tconst normalizedEnd = normalizeDate(time(language)(end, format));\n\tconst normalizedHoverEnd = normalizeDate(time(language)(hoverEnd, format));\n\tconst today = normalizeDate(time(language)());\n\tconst none = !start;\n\tconst onlyStart = start && !end;\n\tconst normalizedCurrentDate = normalizeDate(\n\t\ttime(language)(currentDate, format)\n\t);\n\tconst normalizedCurrentDateEnd = currentDate\n\t\t? normalizeDate(time(language)(currentDate.clone().endOf(weekType), format))\n\t\t: normalizedCurrentDate.clone();\n\n\treturn (\n\t\t<div className=\"now-record-date-picker-month\">\n\t\t\t{map(month, (week, weekIndex) => {\n\t\t\t\tconst dayStartObj = find(week, { disabled: false });\n\t\t\t\tconst dayEndObj = findLast(week, { disabled: false });\n\t\t\t\tlet normalizedVisibleStart = normalizeDate(\n\t\t\t\t\ttime(language)(visibleMonth.clone(), format)\n\t\t\t\t);\n\t\t\t\tlet normalizedVisibleEnd = normalizeDate(\n\t\t\t\t\ttime(language)(visibleMonth.clone(), format)\n\t\t\t\t);\n\n\t\t\t\t//check if any day is disabled\n\t\t\t\tconst dayDisabled = find(week, { disabled: true });\n\t\t\t\tconst daysOfCurrentWeek = week\n\t\t\t\t\t.filter(wk => !wk.adjacentMonthDay)\n\t\t\t\t\t.map(wk => wk.day);\n\t\t\t\tconst disabledWeek = dayDisabled\n\t\t\t\t\t? dayStartObj\n\t\t\t\t\t\t? daysOfCurrentWeek.some(day => disabledDays.has(day))\n\t\t\t\t\t\t: true\n\t\t\t\t\t: false;\n\n\t\t\t\tconst adjacentWeek = week.some(wk => wk.adjacentMonthDay);\n\n\t\t\t\tlet isCurrentWeek = false;\n\n\t\t\t\tif (dayStartObj && dayEndObj) {\n\t\t\t\t\tnormalizedVisibleStart = normalizeDate(\n\t\t\t\t\t\ttime(language)(visibleMonth.clone().date(dayStartObj.day), format)\n\t\t\t\t\t);\n\t\t\t\t\tnormalizedVisibleEnd = normalizeDate(\n\t\t\t\t\t\ttime(language)(visibleMonth.clone().date(dayEndObj.day), format)\n\t\t\t\t\t);\n\n\t\t\t\t\t// current date should fall between normalized visiible start and normalized visible end\n\t\t\t\t\tisCurrentWeek = !rangePicker\n\t\t\t\t\t\t? (normalizedCurrentDate.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\tnormalizedCurrentDate.isSameOrBefore(normalizedVisibleEnd)) ||\n\t\t\t\t\t\t  (normalizedCurrentDateEnd.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\tnormalizedCurrentDateEnd.isSameOrBefore(normalizedVisibleEnd))\n\t\t\t\t\t\t: onlyStart\n\t\t\t\t\t\t? (normalizedStart.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\tnormalizedStart.isSameOrBefore(normalizedVisibleEnd)) ||\n\t\t\t\t\t\t  normalizedStart.clone().add(6, 'day').isSame(normalizedVisibleEnd)\n\t\t\t\t\t\t: dayStartObj &&\n\t\t\t\t\t\t  dayEndObj &&\n\t\t\t\t\t\t  ((normalizedStart.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\tnormalizedStart.isSameOrBefore(normalizedVisibleEnd)) ||\n\t\t\t\t\t\t\t\tnormalizedStart\n\t\t\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t\t\t.add(6, 'day')\n\t\t\t\t\t\t\t\t\t.isSame(normalizedVisibleEnd) ||\n\t\t\t\t\t\t\t\tnormalizedEnd\n\t\t\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t\t\t.add(6, 'day')\n\t\t\t\t\t\t\t\t\t.isSame(normalizedVisibleEnd) ||\n\t\t\t\t\t\t\t\t(normalizedEnd.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\t\tnormalizedEnd.isSameOrBefore(normalizedVisibleEnd)));\n\t\t\t\t}\n\n\t\t\t\tconst isSelected = none\n\t\t\t\t\t? false\n\t\t\t\t\t: onlyStart\n\t\t\t\t\t? (normalizedStart.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\tnormalizedStart.isSameOrBefore(normalizedVisibleEnd)) ||\n\t\t\t\t\t  normalizedStart.clone().add(6, 'day').isSame(normalizedVisibleEnd)\n\t\t\t\t\t: dayStartObj &&\n\t\t\t\t\t  dayEndObj &&\n\t\t\t\t\t  ((normalizedStart.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\tnormalizedStart.isSameOrBefore(normalizedVisibleEnd)) ||\n\t\t\t\t\t\t\tnormalizedStart\n\t\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t\t.add(6, 'day')\n\t\t\t\t\t\t\t\t.isSame(normalizedVisibleEnd) ||\n\t\t\t\t\t\t\tnormalizedEnd\n\t\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t\t.add(6, 'day')\n\t\t\t\t\t\t\t\t.isSame(normalizedVisibleEnd) ||\n\t\t\t\t\t\t\t(normalizedEnd.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\t\t\t\tnormalizedEnd.isSameOrBefore(normalizedVisibleEnd)));\n\n\t\t\t\tconst isPreview =\n\t\t\t\t\tonlyStart &&\n\t\t\t\t\tnormalizedVisibleStart\n\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t.startOf(weekType)\n\t\t\t\t\t\t.isAfter(normalizedStart) &&\n\t\t\t\t\tnormalizedVisibleEnd.isSameOrBefore(normalizedHoverEnd);\n\n\t\t\t\tconst isInsideRange =\n\t\t\t\t\tnormalizedVisibleStart.isSameOrAfter(normalizedStart) &&\n\t\t\t\t\tnormalizedVisibleEnd.isSameOrBefore(normalizedEnd) &&\n\t\t\t\t\t!onlyStart;\n\n\t\t\t\tconst isHighlighted =\n\t\t\t\t\t!isSelected &&\n\t\t\t\t\tnormalizedHoverEnd.isSame(normalizedVisibleStart, 'date');\n\n\t\t\t\tconst isToday =\n\t\t\t\t\tdayStartObj &&\n\t\t\t\t\tdayEndObj &&\n\t\t\t\t\ttoday.isSameOrAfter(normalizedVisibleStart) &&\n\t\t\t\t\ttoday.isSameOrBefore(normalizedVisibleEnd);\n\n\t\t\t\tconst className = makeClass(\n\t\t\t\t\t'now-record-date-picker-weekly-month-week-row',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-selected': isSelected && !isCurrentWeek,\n\t\t\t\t\t\t'is-current-week': isCurrentWeek,\n\t\t\t\t\t\t'is-outlined': isToday,\n\t\t\t\t\t\t'is-selected-secondary':\n\t\t\t\t\t\t\trangePicker && (isPreview || (!isSelected && isInsideRange)),\n\t\t\t\t\t\t'hover-secondary-selected':\n\t\t\t\t\t\t\trangePicker && !isSelected && isInsideRange,\n\t\t\t\t\t\t'hover-highlighted': isHighlighted,\n\t\t\t\t\t\t'hover-secondary-highlighted':\n\t\t\t\t\t\t\trangePicker && !isSelected && isInsideRange && isHighlighted,\n\t\t\t\t\t\t'is-rangepicker': rangePicker,\n\t\t\t\t\t\t'is-readonly': !isCurrentWeek && isAttrTrue(readonly)\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tconst tabIndex = {\n\t\t\t\t\t...(isHighlighted || (isSelected && !rangePicker)\n\t\t\t\t\t\t? { tabIndex: 0 }\n\t\t\t\t\t\t: { tabIndex: -1 })\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<WeekRow\n\t\t\t\t\t\tkey={weekIndex}\n\t\t\t\t\t\tyear={year}\n\t\t\t\t\t\tvisibleMonth={visibleMonth}\n\t\t\t\t\t\tvisibleStart={normalizedVisibleStart}\n\t\t\t\t\t\tdisabledWeek={disabledWeek}\n\t\t\t\t\t\tadjacentWeek={adjacentWeek}\n\t\t\t\t\t\tweek={week}\n\t\t\t\t\t\tweekIndex={weekIndex}\n\t\t\t\t\t\tweekOfYear={\n\t\t\t\t\t\t\tnormalizedVisibleStart\n\t\t\t\t\t\t\t\t? isoWeek\n\t\t\t\t\t\t\t\t\t? normalizedVisibleStart.format('WW')\n\t\t\t\t\t\t\t\t\t: normalizedVisibleStart.format('ww')\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\trole=\"row\"\n\t\t\t\t\t\tshowAdjacentMonthDays={showAdjacentMonthDays}\n\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\tonSelectDate={onSelectDate}\n\t\t\t\t\t\thighlightedDate={highlightedDate}\n\t\t\t\t\t\tonHighlightedDate={onHighlightedDate}\n\t\t\t\t\t\tonEndDayHover={onEndDayHover}\n\t\t\t\t\t\tonlyStart={onlyStart}\n\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\t\tweekType={weekType}\n\t\t\t\t\t\tisWeekInRange={isPreview && isInsideRange}\n\t\t\t\t\t\trightMonth={rightMonth}\n\t\t\t\t\t\trangePicker={rangePicker}\n\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t<\/div>\n\t);\n};\n","import { t } from 'sn-translate';\n\nimport { time, isEditable } from '@devsnc/sn-controls-common';\nimport { adjustWeekForYearOverlap } from '../../utils/gridUtils';\nimport {\n\tnextFocusControlElement,\n\tnextFocusWeekElement,\n\thandleRangePickerWeekTab\n} from '../../utils/elements';\nimport { handleKeyPress } from '../../utils/calendarUtils';\nimport { WEEKLY_ISO_FIRST_DAY } from '../../constants';\nimport { Weeks } from './Weeks';\n\nconst KEYMAP = {\n\tArrowLeft: (date, isReversed) => date.add(isReversed ? 1 : -1, 'months'),\n\tArrowRight: (date, isReversed) => date.add(isReversed ? -1 : 1, 'months'),\n\tArrowUp: { week: -1 },\n\tArrowDown: { week: +1 },\n\tPageUp: { months: -1 },\n\tPageDown: { months: +1 },\n\tCtrlPageUp: { years: -1 },\n\tCtrlPageDown: { years: +1 },\n\tHome: date => date.startOf('month'),\n\tEnd: date => date.endOf('month'),\n\tEnter: date => date,\n\tSpacebar: date => date,\n\t' ': date => date\n};\n\n/**\n * Wraps Week Grid to fit nicely within the month view\n */\nexport const WeeklyGrid = ({ updateState, ...props }) => {\n\tconst {\n\t\tdate,\n\t\tonSelectDate,\n\t\tonHighlightedDate,\n\t\tonEndDayHover,\n\t\tparentRef,\n\t\trightMonth,\n\t\tmouseDown,\n\t\thasGridFocus,\n\t\thighlightedDate,\n\t\tvisibleMonth,\n\t\trangePicker,\n\t\trangePickerRef,\n\t\tstart,\n\t\tend,\n\t\tformat,\n\t\tisoWeek,\n\t\tfirstDayOfWeek,\n\t\tshowAdjacentMonthDays,\n\t\thoverEnd,\n\t\tdisabledDays,\n\t\tcurrentDate,\n\t\treadonly,\n\t\tweekType,\n\t\tlanguage\n\t} = props;\n\n\t/**\n\t * Handle keyboard events. See description for KEYMAP above.\n\t */\n\tconst onKeyDown = event => {\n\t\tif (!isEditable(props)) {\n\t\t\treturn;\n\t\t}\n\t\tconst { key, shiftKey, currentTarget } = event;\n\t\tconst { enableMonthNavigationChevrons } = props;\n\t\tconst rightMonth = enableMonthNavigationChevrons || false;\n\t\tconst weekCurrent = event.target.id;\n\t\tconst weekCurrentDay = time(language)(weekCurrent, format);\n\n\t\tlet nextDate = handleKeyPress({\n\t\t\tevent,\n\t\t\tkeymap: KEYMAP,\n\t\t\thighlightedDate: weekCurrentDay,\n\t\t\treversed: document && document.dir === 'rtl'\n\t\t});\n\n\t\tif (nextDate !== highlightedDate && key !== 'Tab' && !shiftKey) {\n\t\t\tif (key === 'Enter' || key === ' ' || key === 'Spacebar') {\n\t\t\t\tconst startOfWeek = nextDate.clone().startOf(weekType);\n\t\t\t\tconst endOfWeek = nextDate.clone().endOf(weekType);\n\t\t\t\tif (\n\t\t\t\t\t!disabledDays.has(startOfWeek.date()) &&\n\t\t\t\t\t!disabledDays.has(endOfWeek.date())\n\t\t\t\t) {\n\t\t\t\t\tonSelectDate(nextDate);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tonHighlightedDate(nextDate);\n\t\t\t\tif (onEndDayHover) onEndDayHover(nextDate);\n\t\t\t}\n\t\t}\n\n\t\tswitch (key) {\n\t\t\tcase 'Tab':\n\t\t\t\tif (\n\t\t\t\t\trangePicker &&\n\t\t\t\t\tcurrentTarget?.className.includes(\n\t\t\t\t\t\t'now-record-date-picker-weekly-month-week-row'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\thandleRangePickerWeekTab(rangePickerRef, event);\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tcurrentTarget?.className.includes(\n\t\t\t\t\t\t'now-record-date-picker-month-wrapper-outer'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tif (shiftKey || (rightMonth && !shiftKey)) {\n\t\t\t\t\t\tconst controlToFocus = nextFocusControlElement(\n\t\t\t\t\t\t\tcurrentTarget,\n\t\t\t\t\t\t\trightMonth\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (controlToFocus) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\tcontrolToFocus.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!rightMonth) currentTarget.blur();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'PageUp':\n\t\t\tcase 'CtrlPageUp':\n\t\t\tcase 'PageDown':\n\t\t\tcase 'CtrlPageDown':\n\t\t\tcase 'Home':\n\t\t\tcase 'End':\n\t\t\tcase 'ArrowDown':\n\t\t\tcase 'ArrowUp':\n\t\t\tcase 'ArrowRight':\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tnextDate = adjustWeekForYearOverlap(\n\t\t\t\t\tnextDate,\n\t\t\t\t\tlanguage,\n\t\t\t\t\tisoWeek,\n\t\t\t\t\tweekType\n\t\t\t\t);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst weekToFocus = nextFocusWeekElement(\n\t\t\t\t\t\tnextDate,\n\t\t\t\t\t\trangePickerRef,\n\t\t\t\t\t\tparentRef.current,\n\t\t\t\t\t\tisoWeek\n\t\t\t\t\t);\n\t\t\t\t\tif (weekToFocus) {\n\t\t\t\t\t\tweekToFocus.tabIndex = '0';\n\t\t\t\t\t\tweekToFocus.focus();\n\t\t\t\t\t}\n\t\t\t\t\tonHighlightedDate(nextDate);\n\t\t\t\t}, 0);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"now-record-date-picker-month-wrapper-outer\"\n\t\t\ton-keydown={onKeyDown}\n\t\t\ton-mousedown={() => {\n\t\t\t\tif (!rightMonth) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tmouseDown: true,\n\t\t\t\t\t\thasGridFocus: false,\n\t\t\t\t\t\trightMonth: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-focus={() => {\n\t\t\t\tif (!mouseDown) {\n\t\t\t\t\tupdateState({ hasGridFocus: true });\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-blur={() =>\n\t\t\t\tupdateState({\n\t\t\t\t\thasGridFocus: false,\n\t\t\t\t\trightMonth: false,\n\t\t\t\t\tmouseDown: false\n\t\t\t\t})\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"now-record-date-picker-month-wrapper-inner\"\n\t\t\t\trole=\"grid\"\n\t\t\t\taria-label={t(' Calendar Grid. Use arrow keys to adjust the date.')}\n\t\t\t>\n\t\t\t\t<Weeks\n\t\t\t\t\tdate={date}\n\t\t\t\t\tvisibleMonth={visibleMonth}\n\t\t\t\t\tstart={start}\n\t\t\t\t\tend={end}\n\t\t\t\t\tformat={format}\n\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\tweekType={weekType}\n\t\t\t\t\trightMonth={rightMonth}\n\t\t\t\t\tonSelectDate={onSelectDate}\n\t\t\t\t\tonEndDayHover={onEndDayHover}\n\t\t\t\t\tonHighlightedDate={onHighlightedDate}\n\t\t\t\t\tfirstDayOfWeek={isoWeek ? WEEKLY_ISO_FIRST_DAY : firstDayOfWeek}\n\t\t\t\t\tshowAdjacentMonthDays={rangePicker ? showAdjacentMonthDays : true}\n\t\t\t\t\trangePicker={rangePicker}\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\thoverEnd={hoverEnd}\n\t\t\t\t\t{...(rangePicker && (hasGridFocus || rightMonth)\n\t\t\t\t\t\t? { highlightedDate: highlightedDate }\n\t\t\t\t\t\t: {})}\n\t\t\t\t\tdisabledDays={disabledDays}\n\t\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import { createRef } from '@servicenow/ui-renderer-snabbdom';\n\nimport { DaysOfWeek, getWeekType } from '../../utils/gridUtils';\nimport { YearLabel } from './YearLabel';\nimport { StandardGrid } from '../../grids/standard/StandardGrid';\nimport { WeeklyGrid } from '../../grids/weekly/WeeklyGrid';\nimport {\n\tWEEKLY_FORMAT,\n\tWEEKLY_ISO_FORMAT,\n\tWEEKLY_ISO_FIRST_DAY\n} from '../../constants';\n\n/**\n * Wrapping container for the calendar. Handles animating between 2 adjacent\n * displayed months.\n */\nexport const GridWrapper = ({ updateState, ...props }) => {\n\tconst {\n\t\tdate,\n\t\thighlightedDate,\n\t\thasFocus,\n\t\tonSelectDate,\n\t\tonControlExit,\n\t\tonHighlightedDate,\n\t\tonChangeMonth,\n\t\tlanguage,\n\t\tfirstDayOfWeek,\n\t\tariaLabel,\n\t\tconfigAria,\n\t\tstart = date,\n\t\tend = date,\n\t\tformat = 'MM-DD-YYYY',\n\t\tvisibleMonth = date,\n\t\tenablePreviousMonthControl,\n\t\tenableNextMonthControl,\n\t\tshowAdjacentMonthDays = true,\n\t\tonEndDayHover,\n\t\thoverEnd,\n\t\trangePickerRef,\n\t\tweeklyView = false,\n\t\tdisabledDays,\n\t\tenableMonthNavigationChevrons,\n\t\trangePicker,\n\t\tcurrentDate,\n\t\tisoWeek,\n\t\tautoSelectDatesCount,\n\t\tdisabled,\n\t\treadonly,\n\t\trightMonth,\n\t\thasGridFocus,\n\t\tmouseDown\n\t} = props;\n\tconst parentNode = createRef();\n\n\tconst gridProps = {\n\t\tdate,\n\t\thighlightedDate,\n\t\tdisabled,\n\t\treadonly,\n\t\tariaLabel,\n\t\tconfigAria,\n\t\tvisibleMonth,\n\t\tonSelectDate,\n\t\tonHighlightedDate,\n\t\tstart,\n\t\tend,\n\t\tformat: weeklyView ? (isoWeek ? WEEKLY_ISO_FORMAT : WEEKLY_FORMAT) : format,\n\t\trangePickerRef,\n\t\tenableMonthNavigationChevrons,\n\t\trangePicker,\n\t\tfirstDayOfWeek: isoWeek ? WEEKLY_ISO_FIRST_DAY : firstDayOfWeek,\n\t\tshowAdjacentMonthDays,\n\t\tonEndDayHover,\n\t\thoverEnd,\n\t\thasFocus,\n\t\tlanguage,\n\t\tdisabledDays,\n\t\tcurrentDate,\n\t\tisoWeek,\n\t\tweekType: getWeekType(isoWeek),\n\t\tautoSelectDatesCount,\n\t\trightMonth,\n\t\thasGridFocus,\n\t\tmouseDown,\n\t\tupdateState\n\t};\n\treturn (\n\t\t<div\n\t\t\tref={parentNode}\n\t\t\tclassName=\"now-record-date-picker -monthly\"\n\t\t\taria-atomic=\"true\"\n\t\t>\n\t\t\t<YearLabel\n\t\t\t\tdisabled={disabled}\n\t\t\t\treadonly={readonly}\n\t\t\t\tdate={visibleMonth}\n\t\t\t\trangePicker={rangePicker}\n\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\tenablePreviousMonthControl={enablePreviousMonthControl}\n\t\t\t\tenableNextMonthControl={enableNextMonthControl}\n\t\t\t\tonSelectDate={onSelectDate}\n\t\t\t\tonControlExit={onControlExit}\n\t\t\t\tonChangeMonth={onChangeMonth}\n\t\t\t\thighlightedDate={highlightedDate}\n\t\t\t\tweeklyView={weeklyView}\n\t\t\t\tisoWeek={isoWeek}\n\t\t\t\tenableMonthNavigationChevrons={enableMonthNavigationChevrons}\n\t\t\t/>\n\n\t\t\t<DaysOfWeek\n\t\t\t\tlanguage={language}\n\t\t\t\tfirstDayOfWeek={gridProps.firstDayOfWeek}\n\t\t\t\tweeklyView={weeklyView}\n\t\t\t/>\n\n\t\t\t{weeklyView ? (\n\t\t\t\t<WeeklyGrid {...gridProps} parentRef={parentNode} />\n\t\t\t) : (\n\t\t\t\t<StandardGrid {...gridProps} parentRef={parentNode} />\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nconst view = (state, { updateState }) => {\n\tconst {\n\t\tdate,\n\t\thighlightedDate,\n\t\thasFocus,\n\t\trightMonth,\n\t\thasGridFocus,\n\t\tmouseDown,\n\t\tproperties\n\t} = state;\n\n\treturn (\n\t\t<GridWrapper\n\t\t\tdate={date}\n\t\t\thighlightedDate={highlightedDate}\n\t\t\thasFocus={hasFocus}\n\t\t\trightMonth={rightMonth}\n\t\t\thasGridFocus={hasGridFocus}\n\t\t\tmouseDown={mouseDown}\n\t\t\tupdateSate={updateState}\n\t\t\t{...properties}\n\t\t/>\n\t);\n};\n\nexport default view;\n","import { isFunction } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tisEditable,\n\tisTimeZoneEnabledField,\n\ttime,\n\tisNil\n} from '@devsnc/sn-controls-common';\nimport { STANDARD_TYPE, WEEKLY_TYPE } from '../constants';\nimport { getFormat } from '../utils/calendarUtils';\n\nconst { COMPONENT_RENDERED } = actionTypes;\nexport const ON_DATE_CHANGE =\n\t'NOW_RECORD_MINI_CALENDAR_INTERNAL#ON_DATE_CHANGE';\nexport const ON_SELECT_DATE =\n\t'NOW_RECORD_MINI_CALENDAR_INTERNAL#ON_SELECT_DATE';\n\nconst isStandardOrWeeklyType = type =>\n\ttype === STANDARD_TYPE || type === WEEKLY_TYPE;\n\nconst componentRenderedEffect = ({\n\tproperties,\n\taction: {\n\t\tpayload: { previousRenderProperties }\n\t},\n\tdispatch\n}) => {\n\tconst { value, opened, language, utcOffset, initCurrentDate } = properties;\n\tconst { opened: prevOpened } = previousRenderProperties;\n\n\tif (prevOpened !== opened && opened && !value && initCurrentDate) {\n\t\tdispatch(ON_DATE_CHANGE, {\n\t\t\tdate: isNil(utcOffset)\n\t\t\t\t? time(language)()\n\t\t\t\t: time(language)().utcOffset(utcOffset),\n\t\t\tupdatePopover: false\n\t\t});\n\t}\n};\n\nconst onSelectDateEffect = ({\n\taction: {\n\t\tpayload: { date }\n\t},\n\tproperties,\n\tupdateState,\n\tdispatch\n}) => {\n\tif (date.isValid() && isEditable(properties)) {\n\t\tconst { type, isoWeek, weekType } = properties;\n\n\t\tif (isStandardOrWeeklyType(type)) {\n\t\t\tlet visibleMonth = date.clone();\n\t\t\t//for weekly view set the visiblemonth to next if last week of dec is selected\n\t\t\tif (type === WEEKLY_TYPE && date) {\n\t\t\t\tconst week = isoWeek ? date.isoWeek() : date.week();\n\t\t\t\tif (week == 1 && date.month() == 11) {\n\t\t\t\t\t//first week of year shows up in the Dec\n\t\t\t\t\tvisibleMonth = date.clone().endOf(weekType);\n\t\t\t\t} else if (week > 5 && date.month() == 0) {\n\t\t\t\t\t//last week of year shows up in the Jan\n\t\t\t\t\tvisibleMonth = date.clone().startOf(weekType);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tcurrentDate: visibleMonth,\n\t\t\t\tdate,\n\t\t\t\tvisibleMonth\n\t\t\t});\n\t\t\tdispatch(ON_DATE_CHANGE, {\n\t\t\t\tdate: visibleMonth\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({ date });\n\t\t\tdispatch(ON_DATE_CHANGE, {\n\t\t\t\tdate\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst onDateChangeEffect = ({\n\tproperties,\n\taction: {\n\t\tpayload: { date, updatePopover, initValue }\n\t}\n}) => {\n\tconst { isoWeek, type, embedded, onDateChange } = properties;\n\tlet format = getFormat(properties);\n\tif (isStandardOrWeeklyType(type)) {\n\t\tif (type === WEEKLY_TYPE && date) {\n\t\t\tconst week = isoWeek ? date.isoWeek() : date.week();\n\t\t\tif (week == 1 && date.month() == 11) {\n\t\t\t\t//first week of year shows up in the December\n\t\t\t\tdate.add('1', 'year');\n\t\t\t}\n\t\t}\n\t\t//Replacing timezone(z) as it is adding date abbrivation on selection\n\t\tif (!isTimeZoneEnabledField(format)) format = format.replaceAll('z', '');\n\n\t\tconst value = date.format(format);\n\t\tif (!initValue || !embedded) {\n\t\t\tonDateChange(value);\n\t\t}\n\t} else {\n\t\tif (isFunction(onDateChange)) {\n\t\t\tonDateChange(date.format(format), null, updatePopover);\n\t\t}\n\t}\n};\n\nexport default {\n\tname: 'calendarViewBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: componentRenderedEffect,\n\t\t[ON_SELECT_DATE]: onSelectDateEffect,\n\t\t[ON_DATE_CHANGE]: onDateChangeEffect\n\t}\n};\n","import { isEmpty, isNil } from 'lodash';\n\nimport {\n\tcheckAutofocus,\n\tisTimeZoneEnabledField,\n\ttime\n} from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { WEEKLY_TYPE } from '../../constants';\nimport { getDisabledDays } from '../../utils/calendarUtils';\nimport {\n\tON_DATE_CHANGE,\n\tON_SELECT_DATE\n} from '../../behaviors/calendarViewBehavior';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_RENDER_REQUESTED\n} = actionTypes;\nconst PRESET_VALUE_CHANGED = 'SN_DATE_PRESET_PANEL#VALUE_CHANGED';\nexport const ON_CHANGE_MONTH = 'PRIVATE#ON_CHANGE_MONTH';\n\nexport const gridComponentPropertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value }\n\t},\n\tupdateState\n}) => {\n\tif (name === 'date') {\n\t\tupdateState({\n\t\t\tdate: value\n\t\t});\n\t} else if (name === 'highlightedDate') {\n\t\tupdateState({\n\t\t\thighlightedDate: value\n\t\t});\n\t}\n\tif (name === 'hasFocus') {\n\t\tupdateState({\n\t\t\thasFocus: value\n\t\t});\n\t}\n};\n\nexport default {\n\t[PRESET_VALUE_CHANGED]: {\n\t\teffect: ({ action, properties: { onDateChange } }) => {\n\t\t\tconst selectedTimeAgo = action.payload;\n\t\t\tonDateChange(selectedTimeAgo.label, selectedTimeAgo);\n\t\t}\n\t},\n\t[COMPONENT_RENDERED]: ({ host, properties }) => {\n\t\tconst node = host.shadowRoot.querySelector('div[role=\"application\"]');\n\t\tcheckAutofocus(properties.autofocus, node);\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: ({\n\t\tproperties,\n\t\taction: {\n\t\t\tpayload: { previousRenderProperties }\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tconst {\n\t\t\tlanguage,\n\t\t\tvalue,\n\t\t\tformat,\n\t\t\tutcOffset,\n\t\t\tinitCurrentDate,\n\t\t\ttimeAgo,\n\t\t\topened\n\t\t} = properties;\n\t\tif (opened !== previousRenderProperties.opened && opened === true) {\n\t\t\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\t\t\tconst date = time(language)(value, format, isStrictCheck);\n\n\t\t\tconst now = isNil(utcOffset)\n\t\t\t\t? time(language)()\n\t\t\t\t: time(language)().utcOffset(utcOffset);\n\t\t\tconst initialDate = date.isValid() ? date : now;\n\n\t\t\t// when date is invalid, set the pending value to the current time\n\t\t\tif (\n\t\t\t\tinitCurrentDate &&\n\t\t\t\t!date.isValid() &&\n\t\t\t\t!timeAgo &&\n\t\t\t\tisEmpty(value) &&\n\t\t\t\topened\n\t\t\t) {\n\t\t\t\tdispatch(ON_DATE_CHANGE, {\n\t\t\t\t\tdate: initialDate\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tdate: initialDate,\n\t\t\t\tvisibleMonth: initialDate,\n\t\t\t\tcurrentDate: initCurrentDate ? initialDate : ''\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value: newValue, previousValue }\n\t\t},\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tif (\n\t\t\t(name === 'value' || name === 'language') &&\n\t\t\tpreviousValue !== newValue\n\t\t) {\n\t\t\tif (name === 'value') {\n\t\t\t\tupdateState({ value: newValue });\n\t\t\t}\n\t\t\tconst { format, language, utcOffset } = properties;\n\t\t\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\t\t\tconst date = time(language)(newValue, format, isStrictCheck);\n\t\t\tif (date.isValid()) {\n\t\t\t\tupdateState({\n\t\t\t\t\tcurrentDate: date,\n\t\t\t\t\tdate,\n\t\t\t\t\tvisibleMonth: date\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst now = isNil(utcOffset)\n\t\t\t\t\t? time(language)()\n\t\t\t\t\t: time(language)().utcOffset(utcOffset);\n\t\t\t\tupdateState({\n\t\t\t\t\tcurrentDate: now,\n\t\t\t\t\tdate: now,\n\t\t\t\t\tvisibleMonth: now\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[ON_CHANGE_MONTH]: ({\n\t\taction: {\n\t\t\tpayload: { date, action, day }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tconst {\n\t\t\tlanguage,\n\t\t\tformat,\n\t\t\tdisabledDates,\n\t\t\ttype,\n\t\t\tisoWeek,\n\t\t\tautoSelectDatesCount,\n\t\t\tembedded\n\t\t} = properties;\n\t\t//handle view today button\n\t\tif (action && action === 'current' && day) {\n\t\t\tdate = time(language)(date.clone().date(day), format);\n\t\t}\n\n\t\tupdateState({\n\t\t\tdate,\n\t\t\tvisibleMonth: date\n\t\t});\n\n\t\t// When AutoSelectDatesCount prop is enabled we don't select dates automatically while switching months\n\t\tif (!autoSelectDatesCount) {\n\t\t\t// for mini calendar (embedded will be true) consider year/month change as selecting a date\n\t\t\t// for date-picker embedded will be false\n\t\t\t// skip for view today button\n\t\t\tif (embedded) {\n\t\t\t\tconst disabledDatesForMonth = getDisabledDays(\n\t\t\t\t\tdate,\n\t\t\t\t\tformat,\n\t\t\t\t\tdisabledDates,\n\t\t\t\t\ttype === WEEKLY_TYPE,\n\t\t\t\t\tisoWeek\n\t\t\t\t);\n\t\t\t\tif (disabledDatesForMonth && disabledDatesForMonth.size) {\n\t\t\t\t\t//select date if the date is not a disabled date\n\t\t\t\t\tconst daySelected = date.date();\n\t\t\t\t\tconst isADisabledDate = [...disabledDatesForMonth].includes(\n\t\t\t\t\t\tdaySelected\n\t\t\t\t\t);\n\t\t\t\t\tif (!isADisabledDate) {\n\t\t\t\t\t\tdispatch(ON_SELECT_DATE, {\n\t\t\t\t\t\t\tdate\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t//no disabled dates for this month\n\t\t\t\t\tdispatch(ON_SELECT_DATE, {\n\t\t\t\t\t\tdate\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","import { t } from 'sn-translate';\n\nimport { isEditable } from '@devsnc/sn-controls-common';\n\nimport { getDisabledDays } from '../../utils/calendarUtils';\nimport { GridWrapper } from './GridWrapper';\nimport { WEEKLY_TYPE } from '../../constants';\nimport { ON_CHANGE_MONTH } from './actionHandlers';\nimport { ON_SELECT_DATE } from '../../behaviors/calendarViewBehavior';\n\nconst CalendarBody = ({ dispatch, updateState, ...props }) => {\n\tconst {\n\t\tvisibleMonth,\n\t\tformat,\n\t\tdisabledDates,\n\t\ttype,\n\t\tisoWeek,\n\t\treadonly,\n\t\tdate,\n\t\tlanguage,\n\t\tcurrentDate,\n\t\tautoSelectDatesCount,\n\t\tfirstDayOfWeek,\n\t\tonHighlightedDate,\n\t\trightMonth,\n\t\thasGridFocus,\n\t\tmouseDown\n\t} = props;\n\n\tconst onChangeMonth = (date, action, day) => {\n\t\tdispatch(ON_CHANGE_MONTH, {\n\t\t\tdate,\n\t\t\taction,\n\t\t\tday\n\t\t});\n\t};\n\n\tconst onSelectDate = date => {\n\t\tdispatch(ON_SELECT_DATE, { date });\n\t};\n\n\tconst disabledDays =\n\t\tvisibleMonth &&\n\t\tgetDisabledDays(\n\t\t\tvisibleMonth,\n\t\t\tformat,\n\t\t\tdisabledDates,\n\t\t\ttype === WEEKLY_TYPE,\n\t\t\tisoWeek\n\t\t);\n\n\tif (!visibleMonth || !date) {\n\t\treturn null;\n\t}\n\n\tconst dateInUpdatedFormat = date.format(format.toUpperCase());\n\n\treturn (\n\t\t<div\n\t\t\taria-label={t('Selected date: {0}', dateInUpdatedFormat)}\n\t\t\trole=\"application\"\n\t\t>\n\t\t\t<div className=\"sn-popover-body\">\n\t\t\t\t<GridWrapper\n\t\t\t\t\ttype={type}\n\t\t\t\t\tdisabled={!isEditable(props)}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\tdisabledDays={disabledDays}\n\t\t\t\t\tdate={date}\n\t\t\t\t\tvisibleMonth={visibleMonth}\n\t\t\t\t\tariaLabel={t('Selected date: {0}.', dateInUpdatedFormat)}\n\t\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\t\tonSelectDate={onSelectDate}\n\t\t\t\t\tonChangeMonth={onChangeMonth}\n\t\t\t\t\tformat={format}\n\t\t\t\t\tweeklyView={type === WEEKLY_TYPE}\n\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\thighlightedDate={date}\n\t\t\t\t\tonHighlightedDate={onHighlightedDate}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\tautoSelectDatesCount={autoSelectDatesCount}\n\t\t\t\t\trightMonth={rightMonth}\n\t\t\t\t\thasGridFocus={hasGridFocus}\n\t\t\t\t\tmouseDown={mouseDown}\n\t\t\t\t\tupdateState={updateState}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default CalendarBody;\n","import { isObject } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport '@servicenow/now-record-time';\nimport '@devsnc/sn-record-control';\nimport { time } from '@devsnc/sn-controls-common';\n\nimport '../../preset-panel';\nimport { STANDARD_TYPE } from '../../constants';\nimport { getFormat } from '../../utils/calendarUtils';\nimport { getWeekType } from '../../utils/gridUtils';\nimport CalendarBody from './CalendarBody';\nimport { ON_DATE_CHANGE } from '../../behaviors/calendarViewBehavior';\n\nconst isValidDate = (properties, value) => {\n\tconst date = time(properties.language)(value, getFormat(properties), true);\n\treturn date.isValid();\n};\n\n// Time changes are coming from now-record-time, which returns stringified, formatted\n// values. Return these as-is (but strip away the useless `event` and `name` params)\nconst onTimeChange = (properties, updateState) => (event, name, value) => {\n\tproperties.onDateChange(value);\n\tif (isValidDate(properties, value)) {\n\t\tupdateState({ value });\n\t}\n};\n\n// Date changes are internal to calendar and pass up a moment date object.\n// Need to format before sending these up.\nconst onDateChange = dispatch => (date, initValue) => {\n\tdispatch(ON_DATE_CHANGE, {\n\t\tdate,\n\t\tinitValue\n\t});\n};\n\nconst onHighlightedDate = updateState => newDate => {\n\tupdateState({ date: newDate, visibleMonth: newDate });\n};\n\nconst view = (state, { updateState, dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tvalue: stateValue,\n\t\tdate,\n\t\tvisibleMonth,\n\t\tcurrentDate,\n\t\trightMonth,\n\t\thasGridFocus,\n\t\tmouseDown\n\t} = state;\n\tconst {\n\t\tbottomBar,\n\t\ttimePicker,\n\t\tonCancel,\n\t\tonOk,\n\t\topened,\n\t\ttimeAgo,\n\t\tvalue,\n\t\tembedded,\n\t\ttype,\n\t\tinitCurrentDate,\n\t\tisoWeek,\n\t\tfirstDayOfWeek,\n\t\treversed,\n\t\treadonly,\n\t\tautofocus,\n\t\tlanguage,\n\t\tutcOffset,\n\t\tdisabledDates,\n\t\tautoSelectDatesCount,\n\t\tname,\n\t\tdefaultZeros\n\t} = properties;\n\tconst format = getFormat(properties);\n\tconst hasFooter =\n\t\t(bottomBar || timePicker) && (onCancel || onOk || timePicker);\n\n\tif (!opened) {\n\t\treturn null;\n\t}\n\n\tlet tableName = '';\n\tlet between = false;\n\tlet absolute = false;\n\n\tif (isObject(timeAgo)) {\n\t\ttableName = timeAgo.tableName;\n\t\tbetween = timeAgo.between;\n\t\tabsolute = timeAgo.absolute;\n\t}\n\n\treturn (\n\t\t<div className={`sn-calendar${timeAgo ? ' is-preset' : ''}`}>\n\t\t\t{timeAgo && type == STANDARD_TYPE ? (\n\t\t\t\t<div className=\"date-preset-panel\">\n\t\t\t\t\t<sn-date-preset-panel-connected\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\ttableName={tableName}\n\t\t\t\t\t\tbetween={between}\n\t\t\t\t\t\tabsolute={absolute}\n\t\t\t\t\t\thasTime={timePicker}\n\t\t\t\t\t\tformat={format}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t<div className=\"date-picker-panel\">\n\t\t\t\t<CalendarBody\n\t\t\t\t\ttype={type}\n\t\t\t\t\tdate={date}\n\t\t\t\t\tvisibleMonth={visibleMonth}\n\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\tinitCurrentDate={initCurrentDate}\n\t\t\t\t\tvalue={stateValue}\n\t\t\t\t\tformat={format}\n\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\tweekType={getWeekType(isoWeek)}\n\t\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\t\tonDateChange={onDateChange(dispatch)}\n\t\t\t\t\treversed={reversed}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\tautofocus={autofocus}\n\t\t\t\t\tutcOffset={utcOffset}\n\t\t\t\t\tdisabledDates={disabledDates}\n\t\t\t\t\ttimeAgo={timeAgo}\n\t\t\t\t\tabsolute={absolute}\n\t\t\t\t\tembedded={embedded}\n\t\t\t\t\tautoSelectDatesCount={autoSelectDatesCount}\n\t\t\t\t\tonHighlightedDate={onHighlightedDate(updateState)}\n\t\t\t\t\trightMonth={rightMonth}\n\t\t\t\t\thasGridFocus={hasGridFocus}\n\t\t\t\t\tmouseDown={mouseDown}\n\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t/>\n\t\t\t\t{hasFooter && (\n\t\t\t\t\t<div className=\"sn-calendar-footer\">\n\t\t\t\t\t\t{timePicker && type === STANDARD_TYPE && (\n\t\t\t\t\t\t\t<div className=\"sn-calendar-content -static\">\n\t\t\t\t\t\t\t\t<now-record-time\n\t\t\t\t\t\t\t\t\tname={`${name}-time-picker`}\n\t\t\t\t\t\t\t\t\tlabel={t('Select Time')}\n\t\t\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\t\t\tvalue={stateValue}\n\t\t\t\t\t\t\t\t\tonValueChange={onTimeChange(properties, updateState)}\n\t\t\t\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t\t\t\t\trelativeTime={timeAgo && !isValidDate(properties, stateValue)}\n\t\t\t\t\t\t\t\t\tdefaultZeros={defaultZeros}\n\t\t\t\t\t\t\t\t\tdisableTracking\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div className=\"sn-calendar-content\">\n\t\t\t\t\t\t\t{onCancel && (\n\t\t\t\t\t\t\t\t<sn-record-control\n\t\t\t\t\t\t\t\t\tlabel={t('Cancel')}\n\t\t\t\t\t\t\t\t\ton-click={onCancel}\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tbare={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{onOk && (\n\t\t\t\t\t\t\t\t<sn-record-control\n\t\t\t\t\t\t\t\t\tlabel={t('OK')}\n\t\t\t\t\t\t\t\t\ton-click={onOk}\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tbare={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport default view;\n","import { time } from '@devsnc/sn-controls-common';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport { t } from 'sn-translate';\nimport {\n\tQUARTERS_ARRAY,\n\tQUARTERLY_FORMAT,\n\tAFFIRMATIVE_KEYS,\n\tNAVIGATION_KEYS,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_VISIBLE_YEAR,\n\tSET_DATE\n} from '../../constants';\nimport { getDisabledQuarters } from '../../utils/calendarUtils';\nimport { some, noop } from 'lodash';\nimport moment from 'moment';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nexport const QuarterlyGrid = ({\n\tdisplayedYear,\n\thighlightedQuarter,\n\thoveredQuarter,\n\tstart,\n\tend,\n\tupdateState,\n\tlanguage,\n\tdispatch,\n\tisRangePicker,\n\tdisabledDates,\n\treadonly\n}) => {\n\tlet isFocusedFromClick = false;\n\tconst disabledLeftQuarters = getDisabledQuarters(\n\t\tdisplayedYear,\n\t\tdisabledDates\n\t);\n\tconst disabledRightQuarters = getDisabledQuarters(\n\t\tdisplayedYear + 1,\n\t\tdisabledDates\n\t);\n\n\tconst handleQuarterSelection = (quarter, year) => () => {\n\t\tconst date = time(language)(`${quarter} ${year}`, QUARTERLY_FORMAT);\n\t\tdispatch(SET_DATE, { date });\n\t\tupdateState({ highlightedQuarter: date });\n\t};\n\n\tconst resetHighlighted = () => {\n\t\t// reset back to start date or current date\n\t\tupdateState({\n\t\t\thoveredQuarter: null\n\t\t});\n\t};\n\n\tconst getQuarterGrid = ({ year, selected = [], disabledQuarters }) => {\n\t\treturn QUARTERS_ARRAY.map((quarter, index) => {\n\t\t\tconst isYearAndQuarterSame = s =>\n\t\t\t\ts &&\n\t\t\t\ts.isValid() &&\n\t\t\t\ts.year() === parseInt(year) &&\n\t\t\t\ts.quarter() === index + 1;\n\n\t\t\tconst isSelected = some(selected, isYearAndQuarterSame);\n\t\t\tconst isHighlighted = isYearAndQuarterSame(highlightedQuarter);\n\t\t\tconst isDisabled = disabledQuarters.has(index + 1);\n\n\t\t\tconst currentQuarter = moment(`${index + 1} ${year}`, QUARTERLY_FORMAT);\n\t\t\tconst isCurrentQuarter = isYearAndQuarterSame(moment());\n\n\t\t\tconst [start, end] = selected;\n\t\t\tconst isInRange =\n\t\t\t\tcurrentQuarter.isBetween(start, end) ||\n\t\t\t\t// don't highlight when end of range is selected\n\t\t\t\t(end &&\n\t\t\t\t\t!end.isValid() &&\n\t\t\t\t\tcurrentQuarter.isBetween(\n\t\t\t\t\t\tstart,\n\t\t\t\t\t\thoveredQuarter || highlightedQuarter\n\t\t\t\t\t));\n\n\t\t\tconst handleSelection =\n\t\t\t\t!isDisabled && !isSelected\n\t\t\t\t\t? handleQuarterSelection(index + 1, year)\n\t\t\t\t\t: noop;\n\n\t\t\tconst handleKeyDown = event => {\n\t\t\t\tif (AFFIRMATIVE_KEYS.includes(event.key)) {\n\t\t\t\t\thandleSelection();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst updateHighlighted = () => {\n\t\t\t\t!isDisabled &&\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\thoveredQuarter: moment(`${index + 1} ${year}`, QUARTERLY_FORMAT)\n\t\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tid={`${index + 1}-${year}`}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'quarter-item': true,\n\t\t\t\t\t\t\t'is-highlighted': isHighlighted,\n\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t'is-in-range': isRangePicker ? isInRange : false,\n\t\t\t\t\t\t\t'is-selected-secondary': isRangePicker && isInRange,\n\t\t\t\t\t\t\t'is-disabled': isDisabled,\n\t\t\t\t\t\t\t'is-current-quarter': isCurrentQuarter,\n\t\t\t\t\t\t\t'is-readonly': !isCurrentQuarter && isAttrTrue(readonly)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-click={handleSelection}\n\t\t\t\t\t\ton-mousedown={() => {\n\t\t\t\t\t\t\tisFocusedFromClick = true;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-keydown={handleKeyDown}\n\t\t\t\t\t\ton-mouseenter={updateHighlighted}\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-pressed={\n\t\t\t\t\t\t\tisAttrTrue(isSelected || (isRangePicker && isInRange))\n\t\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t\t: 'false'\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label={`Quarter ${index + 1} ${year}`}\n\t\t\t\t\t\taria-disabled={isDisabled.toString()}\n\t\t\t\t\t>\n\t\t\t\t\t\t{quarter}\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst leftQuarterGrid = getQuarterGrid({\n\t\tyear: displayedYear,\n\t\tselected: [start, end],\n\t\tdisabledQuarters: disabledLeftQuarters\n\t});\n\n\tconst rightQuarterGrid = isRangePicker\n\t\t? getQuarterGrid({\n\t\t\t\tyear: displayedYear + 1,\n\t\t\t\tselected: [start, end],\n\t\t\t\tdisabledQuarters: disabledRightQuarters\n\t\t  })\n\t\t: null;\n\n\tconst handleNavigation = e => {\n\t\t/*\n\t\tstate:\n\t\t\thighlightedDate: start | first_cell\n\n\t\t0. On navigation, update `highlightedQuarter`\n\t\t1a. On enter:\n\t\t\tstart/end set to highlightedQuarter\n\t\t1b. On click:\n\t\t\tstart/end set to selected, highlighteQuarter set to selected\n\t\t*/\n\n\t\tconst { key } = e;\n\n\t\tconst getNextHighlightedQuarter = key => {\n\t\t\tlet operation, increment;\n\t\t\tswitch (key) {\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\toperation = 'add';\n\t\t\t\t\tincrement = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\toperation = 'subtract';\n\t\t\t\t\tincrement = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\toperation = 'add';\n\t\t\t\t\tincrement = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\toperation = 'subtract';\n\t\t\t\t\tincrement = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\treturn highlightedQuarter;\n\t\t\t}\n\n\t\t\treturn highlightedQuarter.clone()[operation](increment, 'quarter');\n\t\t};\n\n\t\tconst nextHighlightedQuarter = getNextHighlightedQuarter(key);\n\n\t\tif (NAVIGATION_KEYS.includes(key)) {\n\t\t\tupdateState({\n\t\t\t\thighlightedQuarter: nextHighlightedQuarter\n\t\t\t});\n\n\t\t\t// If the next highlighted quarter is going prior to the left-side quarter,\n\t\t\t// go back an additional year so it ends up wrapping rather than jumping\n\t\t\tif (nextHighlightedQuarter.year() < displayedYear) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: isRangePicker\n\t\t\t\t\t\t? nextHighlightedQuarter.year() - 1\n\t\t\t\t\t\t: nextHighlightedQuarter.year()\n\t\t\t\t});\n\t\t\t} else if (\n\t\t\t\t(nextHighlightedQuarter.year() !== displayedYear &&\n\t\t\t\t\tnextHighlightedQuarter.year() !== displayedYear + 1) ||\n\t\t\t\t(!isRangePicker && nextHighlightedQuarter.year() !== displayedYear)\n\t\t\t) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: nextHighlightedQuarter.year()\n\t\t\t\t});\n\t\t\t}\n\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (AFFIRMATIVE_KEYS.includes(key)) {\n\t\t\te.preventDefault();\n\n\t\t\tlet disabledQuarters = disabledLeftQuarters;\n\n\t\t\tif (isRangePicker && highlightedQuarter.year() === displayedYear + 1) {\n\t\t\t\t//right grid\n\t\t\t\tdisabledQuarters = disabledRightQuarters;\n\t\t\t}\n\n\t\t\t!disabledQuarters.has(highlightedQuarter.quarter()) &&\n\t\t\t\tdispatch(SET_DATE, { date: highlightedQuarter });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"quarterly-view-grid\"\n\t\t\ttabindex=\"0\"\n\t\t\ton-focus={() => {\n\t\t\t\tif (isFocusedFromClick) {\n\t\t\t\t\tisFocusedFromClick = false;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tdispatch(INIT_HIGHLIGHTED_DATE, { displayedYear });\n\t\t\t}}\n\t\t\trole=\"grid\"\n\t\t\tonkeydown={handleNavigation}\n\t\t\ton-mouseleave={resetHighlighted}\n\t\t\taria-activedescendant={\n\t\t\t\thighlightedQuarter.isValid()\n\t\t\t\t\t? `${highlightedQuarter.quarter()}-${highlightedQuarter.year()}`\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-label={\n\t\t\t\thighlightedQuarter.isValid()\n\t\t\t\t\t? t(\n\t\t\t\t\t\t\t'Selected quarter: {0}. Use arrow keys to adjust the selected quarter.',\n\t\t\t\t\t\t\thighlightedQuarter.format(QUARTERLY_FORMAT)\n\t\t\t\t\t  )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t<div className=\"quarter-row\" role=\"row\">\n\t\t\t\t{leftQuarterGrid}\n\t\t\t<\/div>\n\n\t\t\t{isRangePicker ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<span className=\"spacer\" />\n\t\t\t\t\t<div className=\"quarter-row\">{rightQuarterGrid}<\/div>\n\t\t\t\t<\/Fragment>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n","import { t } from 'sn-translate';\nimport '@devsnc/sn-record-control';\n\nexport default ({ onOk, onCancel }) => {\n\treturn (\n\t\t<div className=\"sn-calendar-footer\">\n\t\t\t<div className=\"sn-calendar-content\">\n\t\t\t\t{onCancel ? (\n\t\t\t\t\t<sn-record-control\n\t\t\t\t\t\tlabel={t('Cancel')}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tonCancel();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tbare={false}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{onOk ? (\n\t\t\t\t\t<sn-record-control\n\t\t\t\t\t\tlabel={t('OK')}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tonOk();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tbare={false}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n","import { map, max, range } from 'lodash';\nimport { t } from 'sn-translate';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-button';\n\nconst VISIBLE_YEARS_DELTA = 100;\nconst VIEW_NEXT_YEAR = t('View next year');\nconst VIEW_CURRENT_YEAR = t('View current year');\nconst VIEW_PREV_YEAR = t('View previous year');\nexport default ({\n\tproperties: { year: displayedYear, isRangePicker, readonly }\n}) => {\n\treturn (\n\t\t<div className=\"header\">\n\t\t\t{isRangePicker ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div className=\"left-header\">\n\t\t\t\t\t\t<YearSelect\n\t\t\t\t\t\t\tselectedYear={displayedYear}\n\t\t\t\t\t\t\tid=\"start\"\n\t\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<span className=\"spacer\" />\n\t\t\t\t<\/Fragment>\n\t\t\t) : null}\n\t\t\t<div className=\"right-header\">\n\t\t\t\t<YearSelect\n\t\t\t\t\tselectedYear={isRangePicker ? displayedYear + 1 : displayedYear}\n\t\t\t\t\tid=\"end\"\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t/>\n\t\t\t\t<YearNavigation readonly={readonly} />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst YearSelect = ({ selectedYear, id, readonly }) => {\n\tconst firstYear = max([0, selectedYear - VISIBLE_YEARS_DELTA]);\n\n\tconst years = map(\n\t\trange(firstYear, firstYear + VISIBLE_YEARS_DELTA * 2 + 1),\n\t\tlabel => ({ id: String(label), label: String(label) })\n\t);\n\treturn (\n\t\t<now-dropdown\n\t\t\tbare\n\t\t\tvariant=\"secondary\"\n\t\t\titems={years}\n\t\t\tselectedItems={[String(selectedYear)]}\n\t\t\tconfig-aria={{\n\t\t\t\t'aria-label': t('Year {0}', selectedYear)\n\t\t\t}}\n\t\t\tpanel-fit-props={{ constrain: { minWidth: 100 } }}\n\t\t\tappend-to-payload={{ id }}\n\t\t\tdisabled={readonly}\n\t\t/>\n\t);\n};\n\nconst isRTL = document && document.dir === 'rtl';\nconst prevChevron = isRTL ? 'chevron-right-fill' : 'chevron-left-fill';\nconst nextChevron = isRTL ? 'chevron-left-fill' : 'chevron-right-fill';\n\nconst YearNavigation = ({ readonly = false }) => {\n\tconst props = readonly ? { disabled: readonly } : {};\n\treturn (\n\t\t<div>\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon={prevChevron}\n\t\t\t\ttooltipContent={VIEW_PREV_YEAR}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_PREV_YEAR } }}\n\t\t\t\tappend-to-payload={{ action: 'previous' }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"circle-outline\"\n\t\t\t\ttooltipContent={VIEW_CURRENT_YEAR}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_CURRENT_YEAR } }}\n\t\t\t\tappend-to-payload={{ action: 'current' }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon={nextChevron}\n\t\t\t\ttooltipContent={VIEW_NEXT_YEAR}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_NEXT_YEAR } }}\n\t\t\t\tappend-to-payload={{ action: 'next' }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\n\nimport { SET_VISIBLE_YEAR } from '../constants';\n\nexport default {\n\t'NOW_DROPDOWN#ITEM_CLICKED': {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: { id, item }\n\t\t\t},\n\t\t\tproperties: { isRangePicker }\n\t\t}) => {\n\t\t\tconst nextYear =\n\t\t\t\tid === 'start' ? item.label : String(Number(item.label) - 1);\n\n\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\tyear: Number(isRangePicker ? nextYear : item.label)\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_BUTTON#CLICKED': {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: { action }\n\t\t\t},\n\t\t\tproperties: { year }\n\t\t}) => {\n\t\t\tlet newYear;\n\n\t\t\tif (action === 'previous') {\n\t\t\t\tnewYear = Number(year) - 1;\n\t\t\t} else if (action === 'next') {\n\t\t\t\tnewYear = Number(year) + 1;\n\t\t\t} else {\n\t\t\t\tconst today = moment();\n\t\t\t\tnewYear = today.year();\n\t\t\t}\n\n\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\tyear: newYear\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './view';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\n\ncreateCustomElement('sn-year-header', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tyear: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\tisRangePicker: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\treadonly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers\n});\n","import moment from 'moment';\nimport { ON_SELECT_DATE } from '../../behaviors/calendarViewBehavior';\nimport {\n\tQUARTERLY_FORMAT,\n\tSET_VISIBLE_YEAR,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_DATE\n} from '../../constants';\n\nimport { getDisabledQuarters } from '../../utils/calendarUtils';\n\nexport default {\n\t[INIT_HIGHLIGHTED_DATE]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tstate: { highlightedQuarter: currentHighlightedQuarter },\n\t\t\tproperties: { format = '[Q]Q YYYY', value },\n\t\t\taction: {\n\t\t\t\tpayload: { displayedYear: visibleYear }\n\t\t\t}\n\t\t}) => {\n\t\t\t// Set highlighted quarter in this priority order:\n\t\t\t// 1. Existing highlighted\n\t\t\t// 2. Start date\n\t\t\t// 3. Current date\n\t\t\tconst highlightedQuarter =\n\t\t\t\tcurrentHighlightedQuarter && currentHighlightedQuarter.isValid()\n\t\t\t\t\t? currentHighlightedQuarter\n\t\t\t\t\t: value\n\t\t\t\t\t? moment(value, format)\n\t\t\t\t\t: moment();\n\n\t\t\tconst highlightedYear = highlightedQuarter.year();\n\n\t\t\t// If the date from above is not visible based on the visibleYear, default to first quarter\n\t\t\tconst highlightedDateNotVisible = highlightedYear != Number(visibleYear);\n\n\t\t\tupdateState({\n\t\t\t\thighlightedQuarter: highlightedDateNotVisible\n\t\t\t\t\t? moment(`1 ${visibleYear}`, QUARTERLY_FORMAT)\n\t\t\t\t\t: highlightedQuarter\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_VISIBLE_YEAR]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { year }\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tproperties: { value, embedded, disabledDates }\n\t\t}) => {\n\t\t\tupdateState({ visibleYear: year });\n\n\t\t\t//for mini calendar (embedded will be true) consider year change as selection\n\t\t\t//for date-picker embedded will be false\n\t\t\tif (embedded) {\n\t\t\t\tconst disabledQuarters = getDisabledQuarters(year, disabledDates);\n\t\t\t\tconst date = moment(value, QUARTERLY_FORMAT).set('year', year);\n\t\t\t\tif (!disabledQuarters.has(date.quarter())) {\n\t\t\t\t\tdispatch(SET_DATE, { date });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_DATE]: {\n\t\teffect: ({ action, properties: { value: propsValue }, dispatch }) => {\n\t\t\tconst value = action.payload.date;\n\n\t\t\tconst formattedValue = value.format(QUARTERLY_FORMAT);\n\t\t\tif (propsValue !== formattedValue) {\n\t\t\t\tdispatch(ON_SELECT_DATE, { date: value });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './quarterlyView';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\nimport { INVALID_MOMENT } from '../../constants';\nimport calendarViewBehavior from '../../behaviors/calendarViewBehavior';\n\n// Ensure QUARTERLY_VIEW_TAG in src/constants matches elementName below\ncreateCustomElement('sn-controls-quarterly-view', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\treadonly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tvalue: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\ttype: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\tonDateChange: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonSelectDate: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tisRangePicker: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tbottomBar: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tonOk: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonCancel: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tembedded: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tinitialState: {\n\t\thighlightedQuarter: INVALID_MOMENT,\n\t\thoveredQuarter: INVALID_MOMENT\n\t},\n\tactionHandlers,\n\tbehaviors: [calendarViewBehavior],\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ highlightedQuarter: INVALID_MOMENT });\n\t\t\t}\n\t\t}\n\t]\n});\n","import moment from 'moment';\n\nimport { QUARTERLY_FORMAT, INVALID_MOMENT } from '../../constants';\nimport { QuarterlyGrid } from '../../grids/quarterly/QuarterlyGrid';\n\nimport BottomBar from '../../bottom-bar';\nimport '../../year-header';\n\nexport default (\n\t{\n\t\thighlightedQuarter = INVALID_MOMENT,\n\t\thoveredQuarter = INVALID_MOMENT,\n\t\tvisibleYear,\n\t\tproperties: { readonly, value, bottomBar, onOk, onCancel, disabledDates }\n\t},\n\t{ dispatch, updateState }\n) => {\n\tif (!visibleYear) {\n\t\tvisibleYear = value ? moment(value, QUARTERLY_FORMAT) : moment();\n\t\tupdateState({ visibleYear: visibleYear.year() });\n\t}\n\n\treturn (\n\t\t<div className=\"quarterly-view\">\n\t\t\t<sn-year-header\n\t\t\t\tyear={visibleYear}\n\t\t\t\tisRangePicker={false}\n\t\t\t\treadonly={readonly}\n\t\t\t/>\n\t\t\t<QuarterlyGrid\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tupdateState={updateState}\n\t\t\t\thighlightedQuarter={highlightedQuarter}\n\t\t\t\thoveredQuarter={hoveredQuarter}\n\t\t\t\tdisabledDates={disabledDates}\n\t\t\t\tdisplayedYear={visibleYear}\n\t\t\t\tstart={moment(value, QUARTERLY_FORMAT)}\n\t\t\t\tisRangePicker={false}\n\t\t\t\treadonly={readonly}\n\t\t\t/>\n\t\t\t{bottomBar ? <BottomBar onOk={onOk} onCancel={onCancel} /> : null}\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\nimport { chunk, range, map, noop } from 'lodash';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\nimport { t } from 'sn-translate';\n\nimport {\n\tAFFIRMATIVE_KEYS,\n\tNAVIGATION_KEYS,\n\tYEARLY_FORMAT,\n\tYEARLY_YEARS_PER_ROW,\n\tYEARLY_VISIBLE_YEARS,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_VISIBLE_YEAR,\n\tSET_DATE\n} from '../../constants';\n\nimport { getDisabledYears } from '../../utils/calendarUtils';\n\n/**\n * Creates the year grid\n */\nexport const YearlyGrid = ({\n\tdispatch,\n\tupdateState,\n\thoveredYear,\n\tdisplayedYear,\n\tdisabledDates,\n\thighlightedYear,\n\tstart,\n\tend,\n\tisRangePicker,\n\treadonly\n}) => {\n\tlet isYearClicked = false;\n\tconst lowerYear = displayedYear - (displayedYear % YEARLY_VISIBLE_YEARS);\n\tconst upperYear = lowerYear + YEARLY_VISIBLE_YEARS;\n\tconst yearRows = chunk(range(lowerYear, upperYear), YEARLY_YEARS_PER_ROW);\n\tconst currentYear = moment().year();\n\tconst disabledYears = getDisabledYears(yearRows, disabledDates);\n\n\tconst handleYearSelection = year => () => {\n\t\tconst date = moment({ year });\n\t\tdispatch(SET_DATE, { date });\n\t\tdispatch(SET_VISIBLE_YEAR, { year });\n\t\t// We reset highligthed year to this date so that there is no random highlighted date\n\t\t// when we specifically click on a date\n\t\tupdateState({ highlightedYear: date });\n\t};\n\n\tconst handleFocus = () => {\n\t\tif (isYearClicked) {\n\t\t\tisYearClicked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch([INIT_HIGHLIGHTED_DATE], {\n\t\t\tvisibleRange: { lowerYear, upperYear }\n\t\t});\n\t};\n\tconst resetHighlighted = () => updateState({ hoveredYear: null });\n\tconst handleNavigation = event => {\n\t\tconst { key } = event;\n\t\tconst getNextHighlightedYear = key => {\n\t\t\tlet increment;\n\t\t\tswitch (key) {\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\tincrement = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\tincrement = -1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\tincrement = YEARLY_YEARS_PER_ROW;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\tincrement = -YEARLY_YEARS_PER_ROW;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\treturn highlightedYear;\n\t\t\t}\n\n\t\t\treturn highlightedYear.clone().add(increment, 'years');\n\t\t};\n\n\t\tif (NAVIGATION_KEYS.includes(key)) {\n\t\t\tconst nextHighlightedYear = getNextHighlightedYear(key);\n\t\t\tupdateState({ highlightedYear: nextHighlightedYear });\n\n\t\t\tif (nextHighlightedYear.year() < lowerYear) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: Number(displayedYear) - YEARLY_VISIBLE_YEARS\n\t\t\t\t});\n\t\t\t} else if (nextHighlightedYear.year() >= upperYear) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: Number(displayedYear) + YEARLY_VISIBLE_YEARS\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t} else if (AFFIRMATIVE_KEYS.includes(key)) {\n\t\t\tevent.preventDefault();\n\t\t\t!disabledYears.has(highlightedYear.year()) &&\n\t\t\t\tdispatch(SET_DATE, { date: highlightedYear });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"year-grid\"\n\t\t\ttabindex=\"0\"\n\t\t\trole=\"grid\"\n\t\t\taria-label={\n\t\t\t\thighlightedYear.isValid()\n\t\t\t\t\t? t(\n\t\t\t\t\t\t\t'Selected date: {0}. Use arrow keys to adjust the selected date.',\n\t\t\t\t\t\t\thighlightedYear.format(YEARLY_FORMAT)\n\t\t\t\t\t  )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-activedescendant={\n\t\t\t\thighlightedYear.isValid()\n\t\t\t\t\t? `year-cell-${highlightedYear.year()}`\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\ton-mouseleave={resetHighlighted}\n\t\t\ton-keydown={handleNavigation}\n\t\t\ton-focus={handleFocus}\n\t\t>\n\t\t\t{yearRows.map(row => (\n\t\t\t\t<div className=\"year-row\" role=\"row\">\n\t\t\t\t\t{map(row, year => {\n\t\t\t\t\t\tconst yearBeingConsidered = moment({ year });\n\n\t\t\t\t\t\tconst isDisabled = disabledYears.has(year);\n\n\t\t\t\t\t\tconst isSelected =\n\t\t\t\t\t\t\tyear === start.year() || (end && year === end.year());\n\n\t\t\t\t\t\tconst isHighlighted =\n\t\t\t\t\t\t\thighlightedYear.isValid() &&\n\t\t\t\t\t\t\tyearBeingConsidered.year() === highlightedYear.year();\n\n\t\t\t\t\t\tconst focusedYear =\n\t\t\t\t\t\t\thoveredYear && hoveredYear.isValid()\n\t\t\t\t\t\t\t\t? hoveredYear\n\t\t\t\t\t\t\t\t: highlightedYear;\n\n\t\t\t\t\t\tconst isInRange =\n\t\t\t\t\t\t\tend &&\n\t\t\t\t\t\t\tyearBeingConsidered.isBetween(\n\t\t\t\t\t\t\t\tstart,\n\t\t\t\t\t\t\t\tend.isValid() ? end : focusedYear\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst handleSelection =\n\t\t\t\t\t\t\t!isDisabled && !isSelected ? handleYearSelection(year) : noop;\n\n\t\t\t\t\t\tconst updateHovered = () => {\n\t\t\t\t\t\t\t!isDisabled &&\n\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\thoveredYear: moment({ year })\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tid={`year-cell-${year}`}\n\t\t\t\t\t\t\t\t\ton-mousedown={() => {\n\t\t\t\t\t\t\t\t\t\tisYearClicked = true;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'year-cell': true,\n\t\t\t\t\t\t\t\t\t\t'is-current-year': currentYear === year,\n\t\t\t\t\t\t\t\t\t\t'is-readonly': currentYear !== year && isAttrTrue(readonly),\n\t\t\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t\t\t'is-highlighted': isHighlighted,\n\t\t\t\t\t\t\t\t\t\t'is-selected-secondary': isRangePicker && isInRange,\n\t\t\t\t\t\t\t\t\t\t'is-disabled': isDisabled,\n\t\t\t\t\t\t\t\t\t\t'is-in-range': isInRange && !isSelected\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ton-click={handleSelection}\n\t\t\t\t\t\t\t\t\ton-mouseenter={updateHovered}\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\taria-label={year}\n\t\t\t\t\t\t\t\t\taria-disabled={isDisabled.toString()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{year}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t<\/div>\n\t\t\t))}\n\t\t<\/div>\n\t);\n};\n","import { t } from 'sn-translate';\nimport '@servicenow/now-button';\nimport { YEARLY_VISIBLE_YEARS } from '../../constants';\n\nconst VIEW_NEXT_YEARS = t('View next set of years');\nconst VIEW_CURRENT_YEAR = t('View current year');\nconst VIEW_PREV_YEARS = t('View previous set of years');\n\n/**\n * Creates the header portion of the view\n */\nexport const YearlyHeader = ({ readonly = false }) => {\n\tconst props = readonly ? { disabled: readonly } : {};\n\treturn (\n\t\t<div className=\"header\">\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"chevron-left-fill\"\n\t\t\t\ttooltipContent={VIEW_PREV_YEARS}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_PREV_YEARS } }}\n\t\t\t\tappend-to-payload={{ action: -YEARLY_VISIBLE_YEARS }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"circle-outline\"\n\t\t\t\ttooltipContent={VIEW_CURRENT_YEAR}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_CURRENT_YEAR } }}\n\t\t\t\tappend-to-payload={{ action: 'current' }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"chevron-right-fill\"\n\t\t\t\ttooltipContent={VIEW_NEXT_YEARS}\n\t\t\t\tconfig-aria={{ button: { 'aria-label': VIEW_NEXT_YEARS } }}\n\t\t\t\tappend-to-payload={{ action: YEARLY_VISIBLE_YEARS }}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\n\nimport {\n\tYEARLY_FORMAT,\n\tYEARLY_VISIBLE_YEARS,\n\tINVALID_MOMENT\n} from '../../constants';\nimport { YearlyGrid } from '../../grids/yearly/YearlyGrid';\nimport { YearlyHeader } from './YearlyHeader';\nimport BottomBar from '../../bottom-bar';\n\nconst CURRENT_YEAR = moment();\nconst MIN_VISIBLE_YEAR = moment({\n\tyear: CURRENT_YEAR.year() - (CURRENT_YEAR.year() % YEARLY_VISIBLE_YEARS)\n});\nconst MAX_VISIBLE_YEAR = moment({\n\tyear: MIN_VISIBLE_YEAR.year() + YEARLY_VISIBLE_YEARS\n});\n\nexport default (\n\t{\n\t\thighlightedYear = INVALID_MOMENT,\n\t\thoveredYear = INVALID_MOMENT,\n\t\tvisibleYear,\n\t\tproperties: { readonly, value, bottomBar, onOk, onCancel, disabledDates }\n\t},\n\t{ dispatch, updateState }\n) => {\n\tif (!visibleYear) {\n\t\tvisibleYear = value ? moment(value, YEARLY_FORMAT) : moment();\n\n\t\t// Make sure the selected year is visible\n\t\tconst isVisible = visibleYear.isBetween(\n\t\t\tMIN_VISIBLE_YEAR,\n\t\t\tMAX_VISIBLE_YEAR,\n\t\t\t'year',\n\t\t\t'[]'\n\t\t);\n\t\tupdateState({ visibleYear: visibleYear.year(), shouldRender: !isVisible });\n\t}\n\n\treturn (\n\t\t<div className=\"yearly-view\">\n\t\t\t<YearlyHeader readonly={readonly} />\n\t\t\t<YearlyGrid\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tupdateState={updateState}\n\t\t\t\thighlightedYear={highlightedYear}\n\t\t\t\thoveredYear={hoveredYear}\n\t\t\t\tdisabledDates={disabledDates}\n\t\t\t\tdisplayedYear={moment(visibleYear, YEARLY_FORMAT).year()}\n\t\t\t\tstart={moment(value, YEARLY_FORMAT)}\n\t\t\t\tisRangePicker={false}\n\t\t\t\treadonly={readonly}\n\t\t\t/>\n\t\t\t{bottomBar ? <BottomBar onOk={onOk} onCancel={onCancel} /> : null}\n\t\t<\/div>\n\t);\n};\n","import { inRange } from 'lodash';\nimport moment from 'moment';\nimport { ON_SELECT_DATE } from '../../behaviors/calendarViewBehavior';\n\nimport {\n\tYEARLY_FORMAT,\n\tSET_VISIBLE_YEAR,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_DATE\n} from '../../constants';\n\nimport { getDisabledYears } from '../../utils/calendarUtils';\n\nexport default {\n\t[INIT_HIGHLIGHTED_DATE]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tstate: { highlightedYear: currentHighlightedDate },\n\t\t\tproperties: { value },\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tvisibleRange: { lowerYear, upperYear }\n\t\t\t\t}\n\t\t\t}\n\t\t}) => {\n\t\t\t// Set highlighted year in this priority order:\n\t\t\t// 1. Existing highlighted\n\t\t\t// 2. Current value\n\t\t\t// 3. Current date\n\t\t\tconst highlightedDate =\n\t\t\t\tcurrentHighlightedDate && currentHighlightedDate.isValid()\n\t\t\t\t\t? currentHighlightedDate\n\t\t\t\t\t: value\n\t\t\t\t\t? moment(value, YEARLY_FORMAT)\n\t\t\t\t\t: moment();\n\n\t\t\tconst highlightedYear = highlightedDate.year();\n\n\t\t\t// If the date from above is not visible based on the visible range, default to lower year\n\t\t\tconst highlightedDateVisible = inRange(\n\t\t\t\thighlightedYear,\n\t\t\t\tlowerYear,\n\t\t\t\tupperYear\n\t\t\t);\n\n\t\t\tupdateState({\n\t\t\t\thighlightedYear: highlightedDateVisible\n\t\t\t\t\t? highlightedDate\n\t\t\t\t\t: moment({ year: lowerYear })\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_VISIBLE_YEAR]: {\n\t\teffect: ({ action, updateState }) => {\n\t\t\tupdateState({ visibleYear: action.payload.year });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_DATE]: {\n\t\teffect: ({ action, properties: { value: propsValue }, dispatch }) => {\n\t\t\tconst value = action.payload.date;\n\n\t\t\tconst formattedValue = value.format(YEARLY_FORMAT);\n\t\t\tif (propsValue !== formattedValue) dispatch(ON_SELECT_DATE, { date: action.payload.date });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t'NOW_BUTTON#CLICKED': {\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: { action }\n\t\t\t},\n\t\t\tstate: { visibleYear },\n\t\t\tproperties: { embedded, disabledDates }\n\t\t}) => {\n\t\t\tlet newYear;\n\t\t\tif (action === 'current') {\n\t\t\t\tconst currentYear = moment().year();\n\t\t\t\t//calculate the new year in the current grid\n\t\t\t\tnewYear = currentYear - (currentYear % 12) + (Number(visibleYear) % 12);\n\t\t\t} else {\n\t\t\t\t//action is 12 or -12\n\t\t\t\tnewYear = Number(visibleYear) + action;\n\t\t\t}\n\t\t\tdispatch(SET_VISIBLE_YEAR, { year: newYear });\n\t\t\t//for mini calendar (embedded will be true) consider nav button change as selection\n\t\t\t//for date-picker embedded will be false\n\t\t\tif (embedded) {\n\t\t\t\tconst date = moment({ year: newYear });\n\t\t\t\tconst disabledYears = getDisabledYears([newYear], disabledDates);\n\t\t\t\tif (!disabledYears.has(newYear)) {\n\t\t\t\t\tdispatch(SET_DATE, { date });\n\t\t\t\t}\n\t\t\t\tupdateState({ highlightedYear: date });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './YearlyView';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\nimport { INVALID_MOMENT } from '../../constants';\n\n/**\n * Lets export some common yearly view items so that other components can access them easier\n */\nimport { YearlyGrid } from '../../grids/yearly/YearlyGrid';\nimport { YearlyHeader } from './YearlyHeader';\nimport calendarViewBehavior from '../../behaviors/calendarViewBehavior';\nexport const Yearly = {\n\tcomponents: { YearlyHeader, YearlyGrid }\n};\n\n// Ensure YEARLY_VIEW_TAG in src/constants matches elementName below\ncreateCustomElement('sn-controls-yearly-view', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\treadonly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tvalue: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\ttype: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\tonDateChange: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonSelectDate: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tbottomBar: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tonOk: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonCancel: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tembedded: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tinitialState: {\n\t\thighlightedYear: INVALID_MOMENT,\n\t\thoveredYear: INVALID_MOMENT\n\t},\n\tactionHandlers,\n\tbehaviors: [calendarViewBehavior],\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ highlightedYear: INVALID_MOMENT });\n\t\t\t}\n\t\t}\n\t]\n});\n","import moment from 'moment';\n\nimport { chunk, map, noop, some } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { time, monthsShort, isAttrTrue } from '@devsnc/sn-controls-common';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tMONTHLY_FORMAT,\n\tAFFIRMATIVE_KEYS,\n\tNAVIGATION_KEYS,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_VISIBLE_YEAR,\n\tSET_DATE\n} from '../../constants';\n\nimport { getDisabledMonths } from '../../utils/calendarUtils';\n\nconst MONTHS_PER_ROW = 4;\n\nexport const MonthlyGrid = ({\n\tdispatch,\n\tupdateState,\n\thighlightedMonth,\n\thoveredMonth,\n\tdisplayedYear,\n\tlanguage,\n\tstart,\n\tend,\n\tisRangePicker,\n\tdisabledDates,\n\treadonly\n}) => {\n\tlet isFocusedFromClick = false;\n\tconst months = monthsShort(language);\n\tconst monthRows = chunk(months, MONTHS_PER_ROW);\n\tconst disabledLeftMonths = getDisabledMonths(displayedYear, disabledDates);\n\tconst disabledRightMonths = getDisabledMonths(\n\t\tdisplayedYear + 1,\n\t\tdisabledDates\n\t);\n\n\tconst handleMonthSelection = (month, year) => () => {\n\t\tconst date = time(language)({ year, month });\n\t\tdispatch(SET_DATE, { date });\n\t\tupdateState({ highlightedMonth: date });\n\t};\n\n\tconst resetHighlighted = () => {\n\t\t// reset back to start date or current date\n\t\tupdateState({ hoveredMonth: null });\n\t};\n\n\t// Calculate Selected + in-between highlighted\n\tconst getMonthGrid = ({ year, selected = [], disabledMonths }) => {\n\t\treturn monthRows.map((row, rowIndex) => {\n\t\t\treturn (\n\t\t\t\t<div className=\"month-row\" role=\"row\">\n\t\t\t\t\t{map(row, (month, index) => {\n\t\t\t\t\t\tconst monthIndex = index + rowIndex * MONTHS_PER_ROW;\n\n\t\t\t\t\t\tconst isYearAndMonthSame = s =>\n\t\t\t\t\t\t\t!!s &&\n\t\t\t\t\t\t\ts.isValid() &&\n\t\t\t\t\t\t\ts.year() === year &&\n\t\t\t\t\t\t\ts.month() === monthIndex;\n\n\t\t\t\t\t\tconst isDisabled = disabledMonths.has(monthIndex);\n\n\t\t\t\t\t\tconst isSelected = some(selected, isYearAndMonthSame);\n\n\t\t\t\t\t\tconst isHighlighted = isYearAndMonthSame(highlightedMonth);\n\n\t\t\t\t\t\tconst monthBeingConsidered = moment({ year, month: monthIndex });\n\n\t\t\t\t\t\tconst [start, end] = selected;\n\t\t\t\t\t\tconst isInRange =\n\t\t\t\t\t\t\tend &&\n\t\t\t\t\t\t\t(monthBeingConsidered.isBetween(start, end) ||\n\t\t\t\t\t\t\t\t// don't highlight when end of range is selected\n\t\t\t\t\t\t\t\t(!end.isValid() &&\n\t\t\t\t\t\t\t\t\tmonthBeingConsidered.isBetween(\n\t\t\t\t\t\t\t\t\t\tstart,\n\t\t\t\t\t\t\t\t\t\thoveredMonth || highlightedMonth\n\t\t\t\t\t\t\t\t\t)));\n\n\t\t\t\t\t\tconst isCurrentMonth = isYearAndMonthSame(moment());\n\n\t\t\t\t\t\tconst handleSelection =\n\t\t\t\t\t\t\t!isDisabled && !isSelected\n\t\t\t\t\t\t\t\t? handleMonthSelection(monthIndex, year)\n\t\t\t\t\t\t\t\t: noop;\n\n\t\t\t\t\t\tconst handleKeyDown = event => {\n\t\t\t\t\t\t\tif (AFFIRMATIVE_KEYS.includes(event.key)) {\n\t\t\t\t\t\t\t\thandleSelection();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst updateHighlighted = () => {\n\t\t\t\t\t\t\t!isDisabled &&\n\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\thoveredMonth: moment({ month: monthIndex, year })\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tid={`${monthIndex}-${year}`}\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'month-cell': true,\n\t\t\t\t\t\t\t\t\t\t'is-current-month': isCurrentMonth,\n\t\t\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t\t\t'is-highlighted': isHighlighted,\n\t\t\t\t\t\t\t\t\t\t'is-selected-secondary': isRangePicker && isInRange,\n\t\t\t\t\t\t\t\t\t\t'is-disabled': isDisabled,\n\t\t\t\t\t\t\t\t\t\t'is-in-range': isInRange,\n\t\t\t\t\t\t\t\t\t\t'is-readonly': !isCurrentMonth && isAttrTrue(readonly)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ton-click={handleSelection}\n\t\t\t\t\t\t\t\t\ton-mousedown={() => {\n\t\t\t\t\t\t\t\t\t\tisFocusedFromClick = true;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ton-keydown={handleKeyDown}\n\t\t\t\t\t\t\t\t\ton-mouseenter={updateHighlighted}\n\t\t\t\t\t\t\t\t\ton-mouseleave={resetHighlighted}\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\taria-label={`${month} ${year}`}\n\t\t\t\t\t\t\t\t\taria-disabled={isAttrTrue(isDisabled) ? 'true' : 'false'}\n\t\t\t\t\t\t\t\t\taria-pressed={\n\t\t\t\t\t\t\t\t\t\tisAttrTrue(isSelected || (isRangePicker && isInRange))\n\t\t\t\t\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t\t\t\t\t: 'false'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{month}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t<\/div>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst leftGrid = (\n\t\t<div className=\"month-grid\">\n\t\t\t{getMonthGrid({\n\t\t\t\tyear: displayedYear,\n\t\t\t\tselected: [start, end],\n\t\t\t\tdisabledMonths: disabledLeftMonths\n\t\t\t})}\n\t\t<\/div>\n\t);\n\n\tconst rightGrid = isRangePicker ? (\n\t\t<Fragment>\n\t\t\t<span className=\"spacer\" />\n\t\t\t<div className=\"month-grid\">\n\t\t\t\t{getMonthGrid({\n\t\t\t\t\tyear: displayedYear + 1,\n\t\t\t\t\tselected: [start, end],\n\t\t\t\t\tdisabledMonths: disabledRightMonths\n\t\t\t\t})}\n\t\t\t<\/div>\n\t\t<\/Fragment>\n\t) : null;\n\n\tconst handleNavigation = e => {\n\t\t/*\n\t\tstate:\n\t\t\thighlightedDate: start | first_cell\n\n\t\t0. On navigation, update `highlightedDate`\n\t\t1a. On enter:\n\t\t\tstart/end set to highlightedDate\n\t\t1b. On click:\n\t\t\tstart/end set to selected, highlighteDate set to selected\n\t\t*/\n\n\t\tconst { key } = e;\n\n\t\tconst getNextHighlightedMonth = key => {\n\t\t\tlet operation, increment;\n\t\t\tswitch (key) {\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\toperation = 'add';\n\t\t\t\t\tincrement = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\toperation = 'subtract';\n\t\t\t\t\tincrement = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\toperation = 'add';\n\t\t\t\t\tincrement = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\toperation = 'subtract';\n\t\t\t\t\tincrement = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\treturn highlightedMonth;\n\t\t\t}\n\n\t\t\treturn highlightedMonth.clone()[operation](increment, 'month');\n\t\t};\n\n\t\tif (NAVIGATION_KEYS.includes(key)) {\n\t\t\tconst nextHighlightedMonth = getNextHighlightedMonth(key);\n\n\t\t\tupdateState({\n\t\t\t\thighlightedMonth: nextHighlightedMonth\n\t\t\t});\n\n\t\t\t// If the next highlighted date is going prior to the left-side month,\n\t\t\t// go back an additional year so it ends up wrapping rather than jumping\n\t\t\tif (nextHighlightedMonth.year() < displayedYear) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: nextHighlightedMonth.year() - (isRangePicker ? 1 : 0)\n\t\t\t\t});\n\t\t\t} else if (\n\t\t\t\tnextHighlightedMonth.year() !== displayedYear &&\n\t\t\t\t(!isRangePicker || nextHighlightedMonth.year() !== displayedYear + 1)\n\t\t\t) {\n\t\t\t\tdispatch(SET_VISIBLE_YEAR, {\n\t\t\t\t\tyear: nextHighlightedMonth.year()\n\t\t\t\t});\n\t\t\t}\n\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (AFFIRMATIVE_KEYS.includes(key)) {\n\t\t\te.preventDefault();\n\t\t\tlet disabledMonths = disabledLeftMonths;\n\n\t\t\tif (isRangePicker && highlightedMonth.year() === displayedYear + 1) {\n\t\t\t\t//right grid\n\t\t\t\tdisabledMonths = disabledRightMonths;\n\t\t\t}\n\n\t\t\t!disabledMonths.has(highlightedMonth.month()) &&\n\t\t\t\tdispatch(SET_DATE, { date: highlightedMonth });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"monthly-view-grid\"\n\t\t\ttabindex=\"0\"\n\t\t\ton-focus={() => {\n\t\t\t\t// We only want to dispatch this event when we focus to the grid\n\t\t\t\t// via keyboard navigation. If user clicks an entry in the grid,\n\t\t\t\t// that will receive the \"focus\" and we don't want to cause a flicker\n\t\t\t\tif (!isFocusedFromClick) {\n\t\t\t\t\tdispatch(INIT_HIGHLIGHTED_DATE);\n\t\t\t\t}\n\t\t\t\tisFocusedFromClick = false;\n\t\t\t}}\n\t\t\ton-keydown={handleNavigation}\n\t\t\ton-mouseleave={resetHighlighted}\n\t\t\trole=\"grid\"\n\t\t\taria-activedescendant={\n\t\t\t\thighlightedMonth.isValid()\n\t\t\t\t\t? `${highlightedMonth.month()}-${highlightedMonth.year()}`\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-label={\n\t\t\t\thighlightedMonth.isValid()\n\t\t\t\t\t? t(\n\t\t\t\t\t\t\t'Selected date: {0}. Use arrow keys to adjust the selected date.',\n\t\t\t\t\t\t\thighlightedMonth.format(MONTHLY_FORMAT)\n\t\t\t\t\t  )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t{leftGrid}\n\t\t\t{rightGrid}\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\nimport { ON_SELECT_DATE } from '../../behaviors/calendarViewBehavior';\nimport {\n\tMONTHLY_FORMAT,\n\tSET_VISIBLE_YEAR,\n\tINIT_HIGHLIGHTED_DATE,\n\tSET_DATE\n} from '../../constants';\n\nimport { getDisabledMonths } from '../../utils/calendarUtils';\n\nexport default {\n\t[INIT_HIGHLIGHTED_DATE]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\tstate: { highlightedMonth: currentHighlightedMonth, visibleYear },\n\t\t\tproperties: { value }\n\t\t}) => {\n\t\t\t// Set highlighted month in this priority order:\n\t\t\t// 1. Existing highlighted\n\t\t\t// 2. Current value\n\t\t\t// 3. Current date\n\t\t\tconst highlightedMonth =\n\t\t\t\tcurrentHighlightedMonth && currentHighlightedMonth.isValid()\n\t\t\t\t\t? currentHighlightedMonth\n\t\t\t\t\t: value\n\t\t\t\t\t? moment(value, MONTHLY_FORMAT)\n\t\t\t\t\t: moment();\n\n\t\t\tconst highlightedYear = highlightedMonth.year();\n\n\t\t\t// If the date from above is not visible based on the visibleYear, default to first month\n\t\t\tconst highlightedDateNotVisible = highlightedYear != Number(visibleYear);\n\n\t\t\tupdateState({\n\t\t\t\thighlightedMonth: highlightedDateNotVisible\n\t\t\t\t\t? moment({ year: visibleYear, month: 0 })\n\t\t\t\t\t: highlightedMonth\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_VISIBLE_YEAR]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { year }\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tproperties: { value, embedded, disabledDates }\n\t\t}) => {\n\t\t\tupdateState({ visibleYear: year });\n\n\t\t\t//for mini calendar (embedded will be true) consider year change as selection\n\t\t\t//for date-picker embedded will be false\n\t\t\tif (embedded) {\n\t\t\t\tconst disabledMonths = getDisabledMonths(year, disabledDates);\n\t\t\t\tconst date = moment(value, MONTHLY_FORMAT).set('year', year);\n\t\t\t\tif (!disabledMonths.has(date.month())) {\n\t\t\t\t\tdispatch(SET_DATE, { date });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_DATE]: {\n\t\teffect: ({\n\t\t\taction,\n\t\t\tproperties: { value: propsValue },\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tconst value = action.payload.date;\n\n\t\t\tconst formattedValue = value.format(MONTHLY_FORMAT);\n\t\t\tif (propsValue !== formattedValue) {\n\t\t\t\tdispatch(ON_SELECT_DATE, { date: action.payload.date });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport view from './MonthlyView';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\nimport calendarViewBehavior from '../../behaviors/calendarViewBehavior';\n\nconst INVALID_MOMENT = { isValid: () => false };\n\n// Ensure MONTHLY_VIEW_TAG in src/constants matches elementName below\ncreateCustomElement('sn-controls-monthly-view', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\treadonly: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tvalue: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\ttype: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\tonDateChange: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonSelectDate: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tisRangePicker: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tbottomBar: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tonOk: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tonCancel: {\n\t\t\tschema: { type: 'function' }\n\t\t},\n\t\tembedded: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tinitialState: {\n\t\thighlightedMonth: INVALID_MOMENT,\n\t\thoveredMonth: INVALID_MOMENT\n\t},\n\tactionHandlers,\n\tbehaviors: [calendarViewBehavior],\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ highlightedMonth: INVALID_MOMENT });\n\t\t\t}\n\t\t}\n\t]\n});\n","import moment from 'moment';\n\nimport { MonthlyGrid } from '../../grids/monthly/MonthlyGrid';\nimport { MONTHLY_FORMAT, INVALID_MOMENT } from '../../constants';\n\nimport BottomBar from '../../bottom-bar';\nimport '../../year-header';\n\nexport default (\n\t{\n\t\thighlightedMonth = INVALID_MOMENT,\n\t\thoveredMonth = INVALID_MOMENT,\n\t\tvisibleYear,\n\t\tproperties: { readonly, value, bottomBar, onOk, onCancel, disabledDates }\n\t},\n\t{ dispatch, updateState }\n) => {\n\tlet displayedYear = visibleYear;\n\n\tif (!displayedYear) {\n\t\tdisplayedYear = value ? moment(value, MONTHLY_FORMAT) : moment();\n\t\tvisibleYear = displayedYear.year();\n\t\tupdateState({ visibleYear });\n\t}\n\n\treturn (\n\t\t<div className=\"monthly-view\">\n\t\t\t<sn-year-header\n\t\t\t\tyear={visibleYear}\n\t\t\t\tisRangePicker={false}\n\t\t\t\treadonly={readonly}\n\t\t\t/>\n\t\t\t<MonthlyGrid\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tupdateState={updateState}\n\t\t\t\thighlightedMonth={highlightedMonth}\n\t\t\t\thoveredMonth={hoveredMonth}\n\t\t\t\tdisabledDates={disabledDates}\n\t\t\t\tdisplayedYear={displayedYear}\n\t\t\t\tstart={moment(value, MONTHLY_FORMAT)}\n\t\t\t\treadonly={readonly}\n\t\t\t/>\n\t\t\t{bottomBar ? <BottomBar onOk={onOk} onCancel={onCancel} /> : null}\n\t\t<\/div>\n\t);\n};\n","import moment from 'moment';\n\nimport { isTimeZoneEnabledField } from '@devsnc/sn-controls-common';\nimport { getFormat } from './utils/calendarUtils';\n\nimport { STANDARD_TYPE, STANDARD_VIEW_TAG, WEEKLY_TYPE } from './constants';\n\nimport './views/standard/view';\nimport './views/quarterly';\nimport './views/yearly';\nimport './views/monthly';\n\nexport const CalendarView = props => {\n\tconst { type } = props;\n\n\tif (type === WEEKLY_TYPE || type === STANDARD_TYPE)\n\t\treturn <STANDARD_VIEW_TAG {...props} />;\n\telse {\n\t\tconst { opened, initCurrentDate, value } = props;\n\t\tconst format = getFormat(props).toString();\n\t\tconst isStrictCheck = isTimeZoneEnabledField(format);\n\t\tconst hasValue =\n\t\t\t!!value && moment(value, getFormat(props), isStrictCheck).isValid();\n\t\tconst derivedValue = hasValue\n\t\t\t? value\n\t\t\t: initCurrentDate\n\t\t\t? moment().format(getFormat(props).toString())\n\t\t\t: '';\n\n\t\tif (opened) {\n\t\t\tconst Tag = `sn-controls-${type}-view`;\n\n\t\t\treturn <Tag {...props} value={derivedValue} />;\n\t\t}\n\t\treturn null;\n\t}\n};\n","import { isFunction } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\n\nimport { CalendarView } from './CalendarView';\n\nimport { WEEKLY_TYPE } from './constants';\n\nimport { getFormat } from './utils/calendarUtils';\n\nconst onDateChange =\n\t({ onValueChange, updateState }) =>\n\tvalue => {\n\t\tif (isFunction(onValueChange)) {\n\t\t\tonValueChange({ value });\n\t\t}\n\t\tupdateState({ value });\n\t};\n\nconst onOk =\n\t({ parentOnOk, dispatch, name }) =>\n\tevent => {\n\t\tif (isFunction(parentOnOk)) {\n\t\t\tparentOnOk(event);\n\t\t}\n\t\tdispatch('NOW_RECORD_MINI_CALENDAR#ON_OK', { event, name });\n\t};\n\nconst onCancel =\n\t({ parentOnCancel, dispatch, name }) =>\n\tevent => {\n\t\tif (isFunction(parentOnCancel)) {\n\t\t\tparentOnCancel(event);\n\t\t}\n\t\tdispatch('NOW_RECORD_MINI_CALENDAR#ON_CANCEL', { event, name });\n\t};\n\n/**\n * Calendar component allowing users to select a date and optional time.\n *\n * Calls `onSelectDate` callback when user selects a date or modifies\n * the time, and calls `onOk` callback when the user selects the Ok\n * button.\n */\nconst view = (state, { dispatch, updateState }) => {\n\tconst {\n\t\tonValueChange,\n\t\tproperties,\n\t\tproperties: {\n\t\t\tname,\n\t\t\tonOk: parentOnOk,\n\t\t\tonCancel: parentOnCancel,\n\t\t\ttype,\n\t\t\tfirstDayOfWeek,\n\t\t\tisoWeek,\n\t\t\thasTimePicker,\n\t\t\ttimePicker,\n\t\t\treadonly,\n\t\t\tlanguage,\n\t\t\tautofocus,\n\t\t\tinitCurrentDate,\n\t\t\tdisabledDates,\n\t\t\tautoSelectDatesCount,\n\t\t\tcomponentId,\n\t\t\tformData: { showUnsavedIndicator = false } = {}\n\t\t}\n\t} = state;\n\n\treturn (\n\t\t<ControlWrapper {...properties} showUnsavedIndicator={showUnsavedIndicator}>\n\t\t\t<CalendarView\n\t\t\t\ttype={type}\n\t\t\t\tvalue={state.value}\n\t\t\t\tformat={getFormat(properties)}\n\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\tonDateChange={onDateChange({ onValueChange, updateState, type })}\n\t\t\t\treadonly={readonly}\n\t\t\t\tlanguage={language}\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tinitCurrentDate={initCurrentDate}\n\t\t\t\ttimePicker={type === WEEKLY_TYPE ? false : timePicker || hasTimePicker}\n\t\t\t\tonCancel={\n\t\t\t\t\tparentOnCancel && onCancel({ parentOnCancel, dispatch, name })\n\t\t\t\t}\n\t\t\t\tonOk={parentOnOk && onOk({ parentOnOk, dispatch, name })}\n\t\t\t\tdisabledDates={disabledDates}\n\t\t\t\topened={true}\n\t\t\t\tembedded={true}\n\t\t\t\tisoWeek={isoWeek}\n\t\t\t\tautoSelectDatesCount={autoSelectDatesCount}\n\t\t\t/>\n\t\t\t<span\n\t\t\t\tid={`${componentId}_liveLabel`}\n\t\t\t\tclassName=\"now-a11y-label\"\n\t\t\t\taria-current=\"date\"\n\t\t\t>\n\t\t\t\t{t('Selected date: {0}.', state.value)}\n\t\t\t<\/span>\n\t\t<\/ControlWrapper>\n\t);\n};\n\nexport default view;\n","import { noop } from 'lodash';\n\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport {\n\tcreateWithValueChangeCallbackBehavior,\n\ttransformState,\n\twithValueChangeCallbacksView\n} from '@devsnc/sn-controls-common';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\nimport GridWrapper from './GridWrapper';\nimport '../../preset-panel';\nimport style from './standardView.scss';\nimport calendarViewBehavior from '../../behaviors/calendarViewBehavior';\nimport view from './view';\nimport { STANDARD_VIEW_TAG } from '../../constants';\nimport actionHandlers, {\n\tgridComponentPropertyChangedEffect\n} from './actionHandlers';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\ncreateCustomElement('sn-standard-month-grid', {\n\tview: GridWrapper,\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Number of days user wants to autoselect based on selected date\n\t\t * @type {Number}\n\t\t */\n\t\tautoSelectDatesCount: {},\n\t\tcurrentDate: {},\n\t\tdate: {},\n\t\t/**\n\t\t * Flag to determine the direction whether rtl or ltr.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdir: {},\n\t\t/**\n\t\t * Array of disabled days defined as\n\t\t * `[ DAY ]`\n\t\t *\n\t\t * `DAY`:\n\t\t * \tday in a claendar view to be disabled\n\t\t *\n\t\t * @type { Array < number > }\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t */\n\t\tdisabledDays: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' }\n\t\t},\n\t\t/**\n\t\t * Flag to determine whether enable previous month control.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tenablePreviousMonthControl: { default: true },\n\t\t/**\n\t\t * Flag to determine whether enable next month control.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tenableNextMonthControl: { default: true },\n\t\t/**\n\t\t * Flag to determine whether enable month navigation icon.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tenableMonthNavigationChevrons: { default: true },\n\t\t/**\n\t\t * end date in date range.\n\t\t *\n\t\t * @type {Date}\n\t\t */\n\t\tend: {},\n\t\t/**\n\t\t * What day of the week to begin the calendar. 1 = Sunday, 2 = Monday, etc.\n\t\t * Can only be a value from 1 to 7\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tfirstDayOfWeek: {},\n\t\t/**\n\t\t * Format describing how to serialize/deserialize the `value` prop.\n\t\t *\n\t\t * When not provided, the default format is one of:\n\t\t *\n\t\t * - When showing a time picker: `YYYY-MM-DD hh:mm:ss a`\n\t\t * - When not showing a time picker: `YYYY-MM-DD`\n\t\t *\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t * @type {string}\n\t\t */\n\t\tformat: {},\n\t\t/**\n\t\t * Flag to determine whether control has focus.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thasFocus: { default: false },\n\t\thighlightedDate: {},\n\t\thoverEnd: { default: '' },\n\t\t/**\n\t\t *\n\t\t * Toggles whether to use Leap Week with 53 weeks as needed for Weekly View Only (type : `weekly`)\n\t\t * Not supported on `standard`, `monthly`, `quarterly`, `yearly` type Views.\n\t\t *\n\t\t * ISO Week (ISO 8601) https://en.wikipedia.org/wiki/ISO_week_date\n\t\t *\n\t\t * ISO week starts with Monday\n\t\t *\n\t\t * If 1 January is on a Monday, Tuesday, Wednesday or Thursday, it is in W01.\n\t\t * If it is on a Friday, it is part of W53 of the previous year.\n\t\t * If it is on a Saturday, it is part of the last week of the previous year\n\t\t *      which is numbered W52 in a common year and W53 in a leap year.\n\t\t * If it is on a Sunday, it is part of W52 of the previous year.\n\t\t *\n\t\t *\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tisoWeek: { default: false },\n\t\tlanguage: {},\n\t\t/**\n\t\t * onSelectDate callback.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tonSelectDate: {},\n\t\t/**\n\t\t * onControlExit callback.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tonControlExit: { default: () => {} },\n\t\t/**\n\t\t * onHighlightedDate callback.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tonHighlightedDate: {},\n\t\t/**\n\t\t * onChangeMonth callback.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tonChangeMonth: {},\n\t\t/**\n\t\t * onEndDayHover callback.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tonEndDayHover: {},\n\t\t/**\n\t\t * range picker node.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\trangePickerRef: {},\n\t\t/**\n\t\t * Flag to determine whether control is of type range picker.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\trangePicker: { default: false },\n\t\t/**\n\t\t * Flag to determine whether to show adjacent month days.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAdjacentMonthDays: { default: true },\n\t\tsourceField: { default: '' },\n\t\t/**\n\t\t * start date in date range.\n\t\t *\n\t\t * @type {Date}\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Whether or not to display the time picker along with the calendar.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\ttimePicker: { default: false },\n\t\t/**\n\t\t * Type determines the display view of the date-range-picker.\n\t\t * Supported values are `standard`, `weekly`, `monthly`,`quarterly` and `yearly`.\n\t\t * @type {String}\n\t\t */\n\t\ttype: {},\n\t\t/**\n\t\t * Month to be visible on the view.\n\t\t *\n\t\t * @type {Date}\n\t\t */\n\t\tvisibleMonth: {},\n\t\t/**\n\t\t * Flag to determine whether to show adjacent month days.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tweeklyView: { default: false }\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: gridComponentPropertyChangedEffect\n\t},\n\tsetInitialState: ({ properties }) => ({\n\t\tdate: properties.date,\n\t\thighlightedDate: properties.highlightedDate,\n\t\thasFocus: properties.hasFocus,\n\t\thasGridFocus: false,\n\t\tmouseDown: false,\n\t\trightMonth: properties.enableMonthNavigationChevrons || false\n\t}),\n\tbehaviors: [{ behavior: rtlBehavior }]\n});\n\nexport const Standard = 'sn-standard-month-grid';\n\nexport const setInitialState = ({ properties }) => {\n\tconst { value } = properties;\n\n\treturn {\n\t\tvalue: value === true ? '' : value,\n\t\thasGridFocus: false,\n\t\tmouseDown: false,\n\t\trightMonth: properties.enableMonthNavigationChevrons || false\n\t};\n};\n\n// Ensure STANDARD_VIEW_TAG in src/constants matches the element name below\ncreateCustomElement(STANDARD_VIEW_TAG, {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tsetInitialState,\n\ttransformState,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Configure the bottom portion of the calendar body (bar that contains\n\t\t * the Ok and Cancel buttons, as well as the time field).\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tbottomBar: { default: true },\n\n\t\t/**\n\t\t * Flag to set the time field value to zeros by default.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdefaultZeros: {},\n\n\t\t/**\n\t\t * Array of disabled dates defined as\n\t\t * `[ (DATE | DATE_RANGE)* ]`\n\t\t *\n\t\t * `DATE`:\n\t\t * \tDate string matching `format` property\n\t\t *\n\t\t * `DATE_RANGE`:\n\t\t * \t{ start: `DATE`, end: `DATE` } | { after: `DATE` } | { before: `DATE` }\n\t\t *\n\t\t * where `start`/`end` are inclusive and `after`/`before` are exclusive\n\t\t * eg. [ '13-01-2020', { start: '15-01-2020', end: '20-01-2020' }, { before: '05-01-2020' }, { after: '25-01-2020' }]\n\t\t *\n\t\t * @type { Array < string | {start: string, end: string} | {before: string} | {after: string} > }\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t */\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If this view is embedded in the page (mini-calendar) and not a popover (date-picker)\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tembedded: { default: false },\n\n\t\t/**\n\t\t * What day of the week to begin the calendar. 1 = Sunday, 2 = Monday, etc.\n\t\t * Can only be a value from 1 to 7\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tfirstDayOfWeek: {},\n\n\t\t/**\n\t\t * Format describing how to serialize/deserialize the `value` prop.\n\t\t *\n\t\t * When not provided, the default format is one of:\n\t\t *\n\t\t * - When showing a time picker: `YYYY-MM-DD hh:mm:ss a`\n\t\t * - When not showing a time picker: `YYYY-MM-DD`\n\t\t *\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t * @type {string}\n\t\t */\n\t\tformat: {},\n\n\t\t/**\n\t\t *\n\t\t * Toggles whether to use Leap Week with 53 weeks as needed for Weekly View Only (type : `weekly`)\n\t\t * Not supported on `standard`, `monthly`, `quarterly`, `yearly` type Views.\n\t\t *\n\t\t * ISO Week (ISO 8601) https://en.wikipedia.org/wiki/ISO_week_date\n\t\t *\n\t\t * ISO week starts with Monday\n\t\t *\n\t\t * If 1 January is on a Monday, Tuesday, Wednesday or Thursday, it is in W01.\n\t\t * If it is on a Friday, it is part of W53 of the previous year.\n\t\t * If it is on a Saturday, it is part of the last week of the previous year\n\t\t *      which is numbered W52 in a common year and W53 in a leap year.\n\t\t * If it is on a Sunday, it is part of W52 of the previous year.\n\t\t *\n\t\t *\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tisoWeek: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t * User language preference. Used for moment date formatting\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: { default: '' },\n\n\t\t/**\n\t\t * Toggles whether or not to show the TimeAgo Preset Panel\n\t\t *\n\t\t * Passing in false will hide the panel altogether.\n\t\t * Passing in true will show the panel with default config which is {absolute: false, between: false, tableName: ''}.\n\t\t * Passing in a configObject will show the panel with the config as passed in.\n\n\t\t *\n\t\t * absolute - resolve relative dates to absolute dates and return in addition to the relative dates on dispatch.\n\t\t * between - flag to send back the 'between' instead of 'end' of relative time ago\n\t\t * tableName - tableName for the Business Calendar Relative fields.\n\t\t *\n\t\t * @type {(boolean|{absolute: boolean, between: boolean, tableName: string, value: string})}\n\t\t *\n\t\t */\n\t\ttimeAgo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{ type: 'boolean' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tabsolute: { type: 'boolean' },\n\t\t\t\t\t\t\tbetween: { type: 'boolean' },\n\t\t\t\t\t\t\ttableName: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Type determines the display view of the date-range-picker.\n\t\t * Supported values are `standard`, `weekly`, `monthly`,`quarterly` and `yearly`.\n\t\t * @type {String}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'standard',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['standard', 'weekly', 'monthly', 'quarterly', 'yearly']\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Date picker function for saving value selected in the calendar.\n\t\t * When it's a boolean, toggles whether or not to show the `Ok` button.\n\t\t *\n\t\t * @private\n\t\t * @type {function | boolean}\n\t\t */\n\t\tonOk: {},\n\n\t\t/**\n\t\t * Date picker function for resetting value selected in the calendar.\n\t\t * When it's a boolean, toggles whether or not to show the `Cancel` button.\n\t\t *\n\t\t * @private\n\t\t * @type {function | boolean}\n\t\t */\n\t\tonCancel: {},\n\n\t\t/**\n\t\t * Date picker function for updating pending value when selected in the calendar.\n\t\t *\n\t\t * @private\n\t\t * @type {function}\n\t\t */\n\t\tonDateChange: { default: noop },\n\n\t\t/**\n\t\t * Controls when the date picker content is displayed or not.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\topened: { default: true },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {boolean|string}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * Whether to disable auto select current date by default when no value is provided\n\t\t * Defaults to true\n\t\t * @type {boolean}\n\t\t */\n\t\tinitCurrentDate: { default: true, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Whether or not to display the time picker along with the calendar.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\ttimePicker: { default: false },\n\n\t\t/**\n\t\t * The UTC offset\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tutcOffset: {},\n\n\t\t/**\n\t\t * The date/date-time value. This value must be the localized time, rather than UTC time.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Number of days user wants to autoselect based on selected date\n\t\t * @type {Number}\n\t\t */\n\t\tautoSelectDatesCount: {},\n\n\t\t/**\n\t\t * Determines the field will be readonly/clickable.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false }\n\t},\n\tbehaviors: [withValueChangeCallbackBehavior, calendarViewBehavior, tooltipBehavior, truncationBehavior],\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'NOW_RECORD_TIME#VALUE_CHANGED': { stopPropagation: true },\n\t\t'NOW_RECORD_TIME#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t}\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport view from './view';\nimport {\n\tgetDisabledDays,\n\tisDateIncluded,\n\tgetFormat\n} from './utils/calendarUtils';\nimport { getWeekType, adjustWeekForYearOverlap } from './utils/gridUtils';\nimport {\n\ttransformState,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttrackBehavior\n} from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nimport style from './miniCalendar.scss';\nimport * as constants from './constants';\nimport { CalendarView } from './CalendarView';\nexport { Standard } from './views/standard';\nexport { QuarterlyGrid } from './grids/quarterly/QuarterlyGrid';\nexport { Yearly } from './views/yearly';\nexport { MonthlyGrid } from './grids/monthly/MonthlyGrid';\n\nexport {\n\tCalendarView,\n\tgetDisabledDays,\n\tconstants,\n\tisDateIncluded,\n\tgetFormat,\n\tgetWeekType,\n\tadjustWeekForYearOverlap\n};\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\n/**\n *\n * Calendar component enabling users to select a date and optional time.\n *\n * ```jsx\n * <now-record-mini-calendar value=\"2020-02-02\" />\n * ```\n *\n * With time picker:\n *\n * ```jsx\n * <now-record-mini-calendar value=\"2020-02-02 2:45 pm\" timePicker />\n * ```\n *\n * @seismicElement now-record-mini-calendar\n * @summary Calendar component enabling users to select a date and optional time.\n *\n * */\ncreateCustomElement('now-record-mini-calendar', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tsetInitialState: ({ properties }) => ({\n\t\tvalue: properties.initCurrentDate ? properties.value : ''\n\t}),\n\tproperties: {\n\t\t/**\n\t\t * If true, the component receives focus as soon as it finishes\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) is handled like a\n\t\t * Boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Array of disabled dates defined as\n\t\t * `[ (DATE | DATE_RANGE)* ]`\n\t\t *\n\t\t * `DATE`:\n\t\t * \tDate string matching the `format` property.\n\t\t *\n\t\t * `DATE_RANGE`:\n\t\t * \t{ start: `DATE`, end: `DATE` } | { after: `DATE` } | { before: `DATE` }\n\t\t *\n\t\t * In the date range, `start`/`end` are inclusive and `after`/`before` are exclusive.\n\t\t * For example, [ '13-01-2020', { start: '15-01-2020', end: '20-01-2020' }, { before: '05-01-2020' }, { after: '25-01-2020' }]\n\t\t *\n\t\t * @type { Array < string | {start: string, end: string} | {before: string} | {after: string} > }\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t */\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * What day of the week to begin the calendar. 0 = Sunday, 1 = Monday, and so on.\n\t\t * @type {(0| 1| 2| 3| 4| 5| 6)}\n\t\t */\n\t\tfirstDayOfWeek: {},\n\t\t/**\n\t\t * Format describing how to serialize/deserialize the `value` property.\n\t\t * This property is only relevant for `type='standard'` and is ignored for other views.\n\t\t *\n\t\t * When not provided, the default format is one of the following:\n\t\t *\n\t\t * - When showing a time picker: `YYYY-MM-DD hh:mm:ss a`\n\t\t * - When not showing a time picker: `YYYY-MM-DD`\n\t\t * - For the weekly type, `[W]ww YYYY`\n\t\t * - For the yearly type, `YYYY`\n\t\t *\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t * @type {string}\n\t\t */\n\t\tformat: {},\n\t\t/**\n\t\t * This method is not recommended. Please use `timePicker` instead.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\thasTimePicker: {},\n\n\t\t/**\n\t\t * If true, automatically selects the current date if no value is provided.\n\t\t * @type {boolean}\n\t\t */\n\t\tinitCurrentDate: { default: true, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * If true, shows the time picker in addition to the calendar.\n\t\t * @type {boolean}\n\t\t */\n\t\ttimePicker: { default: false },\n\t\t/**\n\t\t * If true, the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) is handled like a\n\t\t * Boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\n\t\t/**\n\t\t *\n\t\t * If true, uses the leap week system with 53 weeks as needed for Weekly View Only (type : `weekly`).\n\t\t * Not supported on `standard`, `monthly`, `quarterly`, `yearly` type views.\n\t\t *\n\t\t * See also: ISO week (ISO 8601) https://en.wikipedia.org/wiki/ISO_week_date\n\t\t *\n\t\t * ISO week starts with Monday.\n\t\t *\n\t\t * If 1 January is on a Monday, Tuesday, Wednesday, or Thursday; it is in week 1.\n\t\t * If it is on a Friday, it is part of week 53 of the previous year.\n\t\t * If it is on a Saturday, it is part of the last week of the previous year,\n\t\t *      which is numbered week 52 in a common year and week 53 in a leap year.\n\t\t * If it is on a Sunday, it is part of week 52 of the previous year.\n\t\t *\n\t\t *\n\t\t * When passed as a string, \"true\" (case-sensitive) is handled like a\n\t\t * Boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tisoWeek: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t * Label for the calendar.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language.\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: { default: 'en' },\n\t\t/**\n\t\t * Array of message objects that must contain the type of message and its contents.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name of the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callback when the user selects the `Cancel` button.\n\t\t *\n\t\t * @param {Event} event click event\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonCancel: {},\n\t\t/**\n\t\t * Callback when the user selects the `Ok` button.\n\t\t *\n\t\t * @param {Event} event click event\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonOk: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload.\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event.\n\t\t *\n\t\t * `type:any` event.value - The new value for the component.\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value.\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery is set. If the current value is valid, this property is null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type.\n\t\t *\n\t\t * `type:string` event.error.message - Description explaining why the value is invalid.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) is handled like a\n\t\t * Boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * If true, the user must fill in a value for this component.\n\t\t * Can be specified as the string \"true\" or a Boolean.\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) is handled like a\n\t\t * Boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * Determines the display view of the date-range-picker.\n\t\t * Supported values are `standard`, `weekly`, `monthly`,`quarterly`, and `yearly`.\n\t\t * @type {String}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'standard',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['standard', 'weekly', 'monthly', 'quarterly', 'yearly']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Number of days the user wants to autoselect based on the selected date.\n\t\t * @type {Number}\n\t\t */\n\t\tautoSelectDatesCount: {},\n\t\t/**\n\t\t * The highlighted Value label to be displayed beside the Field Label.\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\ttransformState,\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name, value }\n\t\t\t},\n\t\t\tstate,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (name === 'value' && value !== state.value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tvalue\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the Cancel button is clicked on the calendar.\n\t\t * @type {{event: Object, name: string}}\n\t\t */\n\t\t'NOW_RECORD_MINI_CALENDAR#ON_CANCEL': {},\n\t\t/**\n\t\t * Dispatched when the Ok button is clicked on the calendar.\n\t\t * @type {{event: Object, name: string}}\n\t\t */\n\t\t'NOW_RECORD_MINI_CALENDAR#ON_OK': {},\n\t\t/**\n\t\t * Dispatched when a new date is chosen on the calendar.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_MINI_CALENDAR#VALUE_CHANGED': {}\n\t}\n});\n","import { constants } from '@servicenow/now-record-mini-calendar';\n\nexport const { CUSTOM_PRESET_LABEL, AFFIRMATIVE_KEYS, NAVIGATION_KEYS } =\n\tconstants;\n\nexport const GRID_EVENTS = {\n\tSET_VISIBLE_YEAR: constants.SET_VISIBLE_YEAR,\n\tINIT_HIGHLIGHTED_DATE: constants.INIT_HIGHLIGHTED_DATE,\n\tSET_DATE: constants.SET_DATE\n};\n\n// When modifying these values ensure that the elementNames passed into createCustomElement\n// for the respective views is also modified\nexport const STANDARD_VIEW_TAG = 'sn-controls-standard-range';\nexport const MONTHLY_VIEW_TAG = 'sn-controls-month-range';\nexport const YEARLY_VIEW_TAG = 'sn-controls-year-range';\nexport const QUARTERLY_VIEW_TAG = 'sn-controls-quarter-range';\n\nexport const TRY_CLOSE_DROPDOWN = 'TRY_CLOSE_DROPDOWN';\nexport const TRY_SET_END_STATE = 'TRY_SET_END_STATE';\n\nexport const DATE_INTERVAL_SOURCE_END =\n\t'DATE_RANGE_PICKER_START_DATE_RANGE_PICKER_END-end';\nexport const DATE_INTERVAL_SOURCE_START =\n\t'DATE_RANGE_PICKER_START_DATE_RANGE_PICKER_END-start';\nexport const WEEKLY_FORMAT = \"'W'ww Y\";\nexport const WEEKLY_ISO_FORMAT = \"'W'ww Y\";\nexport const MONTHLY_FORMAT = 'MMM yyyy';\nexport const YEARLY_FORMAT = 'yyyy';\nexport const QUARTERLY_FORMAT = 'qqq yyyy';\nexport const DEFAULT_DATE_TIME_FORMAT = 'yyyy-MM-dd hh:mm:ss a';\nexport const DEFAULT_DATE_FORMAT = 'yyyy-MM-dd';\nexport const DEFAULT_REPLACEMENTS = {\n\tYYYY: 'yyyy',\n\tDD: 'dd',\n\t'[Q]': 'qq',\n\tQ: 'q',\n\t'[W]': \"'W'\",\n\tww: 'ww',\n\tWW: 'w',\n\tYY: 'yy',\n\tY: 'y',\n\tD: 'd'\n};\nexport const TIME_FORMAT_PATTERN =\n\t/(H|h){1,2}([.,:]m{1,2})?([.,:]s{1,2})?([.,:]S{1,4})?(\\sa)?/;\nexport const WEEKLY_TYPE = 'weekly';\nexport const MONTHLY_TYPE = 'monthly';\nexport const YEARLY_TYPE = 'yearly';\nexport const QUARTERLY_TYPE = 'quarterly';\nexport const STANDARD_TYPE = 'standard';\nexport const WEEKLY_ISO_FIRST_DAY = 1;\nexport const MOMENT_WEEK = 'week';\nexport const MOMENT_ISO_WEEK = 'isoWeek';\n\nexport const MOMENT_WEEKLY_FORMAT = '[W]ww YYYY';\nexport const MOMENT_WEEKLY_ISO_FORMAT = '[W]ww YYYY';\nexport const MOMENT_MONTHLY_FORMAT = 'MMM YYYY';\nexport const MOMENT_YEARLY_FORMAT = 'YYYY';\nexport const MOMENT_QUARTERLY_FORMAT = '[Q]Q YYYY';\n\n//Default format from server api for timeago\nexport const DEFAULT_RESPONSE_FORMAT = 'YYYY-MM-DD hh:mm:ss';\nexport const TRIGGER_ID = 'now-date-time-trigger';\n\n//End points\nexport const ENDPOINT_BUSINESS_CALENDAR = '/api/now/ui/date_time';\nexport const ENDPOINT_TIMEAGO_ABSOLUTE = '/api/now/timeago/absolute';\nexport const NOW_DATE_TIME_PRESETS_PRESET_CLICKED =\n\t'NOW_DATE_TIME_PRESETS#PRESET_CLICKED';\n\nexport const PRESET_MESSAGE_UPDATED = 'SN_DATE_PRESET_PANEL#MESSAGE_UPDATED';\n","import { t } from 'sn-translate';\n\nexport const CUSTOM_PRESET_LABEL = t('Custom');\nexport const SCHEDULE_PRESET_LABEL = t('Schedule');\nexport const SCHEDULE_PRESET_TYPE = 'schedule';\nexport const TIME_PRESET_GROUPS = [t('Hours'), t('Minutes')];\nexport const TIME_AGO_PRESETS = [\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Today'),\n\t\tstart: 'javascript:gs.beginningOfToday()',\n\t\tend: 'javascript:gs.endOfToday()',\n\t\tbetween: 'javascript:gs.endOfToday()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Yesterday'),\n\t\tstart: 'javascript:gs.beginningOfYesterday()',\n\t\tend: 'javascript:gs.endOfYesterday()',\n\t\tbetween: 'javascript:gs.endOfYesterday()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Tomorrow'),\n\t\tstart: 'javascript:gs.beginningOfTomorrow()',\n\t\tend: 'javascript:gs.endOfTomorrow()',\n\t\tbetween: 'javascript:gs.endOfTomorrow()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 7 days'),\n\t\tstart: 'javascript:gs.beginningOfLast7Days()',\n\t\tend: 'javascript:gs.endOfLast7Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast7Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 30 days'),\n\t\tstart: 'javascript:gs.beginningOfLast30Days()',\n\t\tend: 'javascript:gs.endOfLast30Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast30Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 60 days'),\n\t\tstart: 'javascript:gs.beginningOfLast60Days()',\n\t\tend: 'javascript:gs.endOfLast60Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast60Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 90 days'),\n\t\tstart: 'javascript:gs.beginningOfLast90Days()',\n\t\tend: 'javascript:gs.endOfLast90Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast90Days()'\n\t},\n\t{\n\t\tgroup: t('Days'),\n\t\tlabel: t('Last 120 days'),\n\t\tstart: 'javascript:gs.beginningOfLast120Days()',\n\t\tend: 'javascript:gs.endOfLast120Days()',\n\t\tbetween: 'javascript:gs.beginningOfLast120Days()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('This week'),\n\t\tstart: 'javascript:gs.beginningOfThisWeek()',\n\t\tend: 'javascript:gs.endOfThisWeek()',\n\t\tbetween: 'javascript:gs.endOfThisWeek()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('Last week'),\n\t\tstart: 'javascript:gs.beginningOfLastWeek()',\n\t\tend: 'javascript:gs.endOfLastWeek()',\n\t\tbetween: 'javascript:gs.endOfLastWeek()'\n\t},\n\t{\n\t\tgroup: t('Weeks'),\n\t\tlabel: t('Next week'),\n\t\tstart: 'javascript:gs.beginningOfNextWeek()',\n\t\tend: 'javascript:gs.endOfNextWeek()',\n\t\tbetween: 'javascript:gs.endOfNextWeek()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('This month'),\n\t\tstart: 'javascript:gs.beginningOfThisMonth()',\n\t\tend: 'javascript:gs.endOfThisMonth()',\n\t\tbetween: 'javascript:gs.endOfThisMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last month'),\n\t\tstart: 'javascript:gs.beginningOfLastMonth()',\n\t\tend: 'javascript:gs.endOfLastMonth()',\n\t\tbetween: 'javascript:gs.endOfLastMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Next month'),\n\t\tstart: 'javascript:gs.beginningOfNextMonth()',\n\t\tend: 'javascript:gs.endOfNextMonth()',\n\t\tbetween: 'javascript:gs.endOfNextMonth()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 3 months'),\n\t\tstart: 'javascript:gs.beginningOfLast3Months()',\n\t\tend: 'javascript:gs.endOfLast3Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast3Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 6 months'),\n\t\tstart: 'javascript:gs.beginningOfLast6Months()',\n\t\tend: 'javascript:gs.endOfLast6Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast6Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 9 months'),\n\t\tstart: 'javascript:gs.beginningOfLast9Months()',\n\t\tend: 'javascript:gs.endOfLast9Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast9Months()'\n\t},\n\t{\n\t\tgroup: t('Months'),\n\t\tlabel: t('Last 12 months'),\n\t\tstart: 'javascript:gs.beginningOfLast12Months()',\n\t\tend: 'javascript:gs.endOfLast12Months()',\n\t\tbetween: 'javascript:gs.beginningOfLast12Months()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('This quarter'),\n\t\tstart: 'javascript:gs.beginningOfThisQuarter()',\n\t\tend: 'javascript:gs.endOfThisQuarter()',\n\t\tbetween: 'javascript:gs.endOfThisQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Last quarter'),\n\t\tstart: 'javascript:gs.beginningOfLastQuarter()',\n\t\tend: 'javascript:gs.endOfLastQuarter()',\n\t\tbetween: 'javascript:gs.endOfLastQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Last 2 quarters'),\n\t\tstart: 'javascript:gs.beginningOfLast2Quarters()',\n\t\tend: 'javascript:gs.endOfLast2Quarters()',\n\t\tbetween: 'javascript:gs.endOfLast2Quarters()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Next quarter'),\n\t\tstart: 'javascript:gs.beginningOfNextQuarter()',\n\t\tend: 'javascript:gs.endOfNextQuarter()',\n\t\tbetween: 'javascript:gs.endOfNextQuarter()'\n\t},\n\t{\n\t\tgroup: t('Quarters'),\n\t\tlabel: t('Next 2 quarters'),\n\t\tstart: 'javascript:gs.beginningOfNext2Quarters()',\n\t\tend: 'javascript:gs.endOfNext2Quarters()',\n\t\tbetween: 'javascript:gs.endOfNext2Quarters()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('This year'),\n\t\tstart: 'javascript:gs.beginningOfThisYear()',\n\t\tend: 'javascript:gs.endOfThisYear()',\n\t\tbetween: 'javascript:gs.endOfThisYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Next year'),\n\t\tstart: 'javascript:gs.beginningOfNextYear()',\n\t\tend: 'javascript:gs.endOfNextYear()',\n\t\tbetween: 'javascript:gs.endOfNextYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Last year'),\n\t\tstart: 'javascript:gs.beginningOfLastYear()',\n\t\tend: 'javascript:gs.endOfLastYear()',\n\t\tbetween: 'javascript:gs.endOfLastYear()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('Last 2 years'),\n\t\tstart: 'javascript:gs.beginningOfLast2Years()',\n\t\tend: 'javascript:gs.endOfLast2Years()',\n\t\tbetween: 'javascript:gs.beginningOfLast2Years()'\n\t},\n\t{\n\t\tgroup: t('Years'),\n\t\tlabel: t('One year ago'),\n\t\tstart: 'javascript:gs.beginningOfOneYearAgo()',\n\t\tend: 'javascript:gs.endOfOneYearAgo()',\n\t\tbetween: 'javascript:gs.beginningOfOneYearAgo()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Current hour'),\n\t\tstart: 'javascript:gs.beginningOfCurrentHour()',\n\t\tend: 'javascript:gs.endOfCurrentHour()',\n\t\tbetween: 'javascript:gs.endOfCurrentHour()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Last hour'),\n\t\tstart: 'javascript:gs.beginningOfLastHour()',\n\t\tend: 'javascript:gs.endOfLastHour()',\n\t\tbetween: 'javascript:gs.endOfLastHour()'\n\t},\n\t{\n\t\tgroup: t('Hours'),\n\t\tlabel: t('Last 2 hours'),\n\t\tstart: 'javascript:gs.beginningOfLast2Hours()',\n\t\tend: 'javascript:gs.endOfLast2Hours()',\n\t\tbetween: 'javascript:gs.beginningOfLast2Hours()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Current minute'),\n\t\tstart: 'javascript:gs.beginningOfCurrentMinute()',\n\t\tend: 'javascript:gs.endOfCurrentMinute()',\n\t\tbetween: 'javascript:gs.endOfCurrentMinute()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last minute'),\n\t\tstart: 'javascript:gs.beginningOfLastMinute()',\n\t\tend: 'javascript:gs.endOfLastMinute()',\n\t\tbetween: 'javascript:gs.beginningOfLastMinute()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 15 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast15Minutes()',\n\t\tend: 'javascript:gs.endOfLast15Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast15Minutes()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 30 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast30Minutes()',\n\t\tend: 'javascript:gs.endOfLast30Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast30Minutes()'\n\t},\n\t{\n\t\tgroup: t('Minutes'),\n\t\tlabel: t('Last 45 minutes'),\n\t\tstart: 'javascript:gs.beginningOfLast45Minutes()',\n\t\tend: 'javascript:gs.endOfLast45Minutes()',\n\t\tbetween: 'javascript:gs.beginningOfLast45Minutes()'\n\t}\n];\n\n\nexport function getTimeAgoByGroup(timeAgoPresets, group) {\n\treturn timeAgoPresets.filter(timeAgo => timeAgo.group === group);\n}","import { time } from '@devsnc/sn-controls-common';\nimport { t } from 'sn-translate';\nimport { flow, isEmpty, isEqual, pickBy } from 'lodash';\nimport moment from 'moment';\nimport { isDateIncluded } from '@servicenow/now-record-mini-calendar';\nimport { DateTypes } from '@servicenow/library-date-time';\nimport {\n\tDEFAULT_DATE_FORMAT,\n\tDEFAULT_DATE_TIME_FORMAT,\n\tDEFAULT_REPLACEMENTS,\n\tMONTHLY_FORMAT,\n\tQUARTERLY_FORMAT,\n\tWEEKLY_FORMAT,\n\tYEARLY_FORMAT,\n\tMONTHLY_TYPE,\n\tQUARTERLY_TYPE,\n\tYEARLY_TYPE,\n\tSTANDARD_TYPE,\n\tWEEKLY_TYPE\n} from './constants';\nimport * as Constants from './constants';\nimport { SCHEDULE_PRESET_LABEL, SCHEDULE_PRESET_TYPE } from './timeAgo';\n\nexport const validRange = (\n\tstart,\n\tend,\n\tformat = 'YYYY-MM-DD',\n\tlanguage = 'en-US'\n) => {\n\tif (!start && !end) return { valid: true };\n\tif (start && end) {\n\t\tlet startDate = time(language)(start, format);\n\t\tlet endDate = time(language)(end, format);\n\t\tif (\n\t\t\tstartDate.isValid() &&\n\t\t\tendDate.isValid() &&\n\t\t\tstartDate.isSameOrBefore(endDate)\n\t\t)\n\t\t\treturn {\n\t\t\t\tvalid: true,\n\t\t\t\tstart: startDate.format(format),\n\t\t\t\tend: endDate.format(format)\n\t\t\t};\n\t}\n\treturn { valid: false };\n};\n\nconst invalidFormatError = (inputStr, format) => ({\n\ttype: 'error',\n\tmessage: t(\n\t\t'Invalid date {0}. Must be a valid date in the format {1}',\n\t\tinputStr,\n\t\tformat\n\t)\n});\n\nconst invalidError = {\n\ttype: 'error',\n\tmessage: t('Invalid selection. Choose another date.')\n};\nconst invalidRangeError = {\n\ttype: 'error',\n\tmessage: t('Invalid Range. The start must be earlier than the end.')\n};\n\nconst createInvalidationChecker = ({ format, disabledDates }) => {\n\treturn (dateToCheck, initDate, otherDate) => {\n\t\tconst inValid = !dateToCheck.isValid();\n\t\tif (inValid && initDate) return true;\n\t\tif (!initDate && otherDate.isValid()) return true;\n\t\tif (!inValid && isDateIncluded(dateToCheck, format, disabledDates))\n\t\t\treturn true;\n\t\treturn false;\n\t};\n};\n\nexport const getFormat = ({\n\thasTime,\n\tformat,\n\ttype = 'standard',\n\tisoWeek = false\n}) => {\n\tconst defaultFormat = hasTime ? 'YYYY-MM-DD hh:mm:ss A' : 'YYYY-MM-DD';\n\t// In UI16 AM or PM are supported but with moment JS transition we support am and pm\n\t// This is done so as to support parity with UI16\n\tconst momentFormat = format?.includes('a')\n\t\t? format.replace(/a/, 'A')\n\t\t: format;\n\tif (type === Constants.STANDARD_TYPE) {\n\t\treturn momentFormat || defaultFormat;\n\t}\n\n\tif (type === Constants.WEEKLY_TYPE)\n\t\treturn isoWeek\n\t\t\t? Constants.MOMENT_WEEKLY_ISO_FORMAT\n\t\t\t: Constants.MOMENT_WEEKLY_FORMAT;\n\n\treturn (\n\t\tConstants[`MOMENT_${type.toUpperCase()}_FORMAT`] ||\n\t\tmomentFormat ||\n\t\tdefaultFormat\n\t);\n};\n\nexport const getErrors = ({\n\tstart,\n\tend,\n\tlanguage,\n\tformat,\n\tdisabledDates,\n\tproperties\n}) => {\n\tconst { type, hasTime, isoWeek, readonly } = properties;\n\tconst momentFormat = getFormat({ hasTime, format, type, isoWeek });\n\tlet startDate = time(language)(start, momentFormat, true);\n\tlet endDate = time(language)(end, momentFormat, true);\n\tlet startError;\n\tlet endError;\n\tif (!startDate.isValid() && start) {\n\t\tstartError = [invalidFormatError(start, momentFormat)];\n\t}\n\tif (!endDate.isValid() && end) {\n\t\tendError = [invalidFormatError(end, momentFormat)];\n\t}\n\t//if format is valid, check for other errors\n\tif (!startError && !endError) {\n\t\tconst isValidRange = validRange(start, end, momentFormat, language).valid;\n\t\tconst isInvalid = createInvalidationChecker({\n\t\t\tformat: momentFormat,\n\t\t\tdisabledDates\n\t\t});\n\n\t\tif (isInvalid(startDate, start, endDate)) startError = [invalidError];\n\n\t\tif (isInvalid(endDate, end, startDate)) endError = [invalidError];\n\n\t\tif (startDate.isValid() && endDate.isValid() && !isValidRange) {\n\t\t\tstartError = [invalidRangeError];\n\t\t\tendError = [invalidRangeError];\n\t\t}\n\t}\n\tif (readonly) {\n\t\tstartError = [];\n\t\tendError = [];\n\t}\n\tif (isEqual(startError, endError)) {\n\t\tendError = [];\n\t}\n\treturn {\n\t\tstartError: startError || [],\n\t\tendError: endError || []\n\t};\n};\n\nexport const getVisibleMonth = flow(moment, date =>\n\tdate && date.isValid() ? date : moment()\n);\n\nexport const getDateFnsFormat = (format, type, hasTime) => {\n\tconst formatWithReplacements = format =>\n\t\tObject.entries(DEFAULT_REPLACEMENTS).reduce(\n\t\t\t(acc, [key, value]) => acc.replace(key, value),\n\t\t\tformat\n\t\t);\n\n\t// Handle cases with both type and format\n\tif (type && format) {\n\t\tconst replacedFormat = formatWithReplacements(format);\n\t\tif (type === WEEKLY_TYPE) {\n\t\t\t// This is a special case with regard to Date-fns\n\t\t\treturn replacedFormat.replace('yyyy', 'Y');\n\t\t}\n\t\treturn replacedFormat;\n\t}\n\n\t// Handle cases with type but no format\n\tif (type && !format) {\n\t\tswitch (type) {\n\t\t\tcase WEEKLY_TYPE:\n\t\t\t\treturn WEEKLY_FORMAT;\n\t\t\tcase QUARTERLY_TYPE:\n\t\t\t\treturn QUARTERLY_FORMAT;\n\t\t\tcase MONTHLY_TYPE:\n\t\t\t\treturn MONTHLY_FORMAT;\n\t\t\tcase YEARLY_TYPE:\n\t\t\t\treturn YEARLY_FORMAT;\n\t\t\tcase STANDARD_TYPE:\n\t\t\t\treturn (\n\t\t\t\t\tformat || (hasTime ? DEFAULT_DATE_TIME_FORMAT : DEFAULT_DATE_FORMAT)\n\t\t\t\t);\n\t\t}\n\t}\n\tif (!format) {\n\t\treturn;\n\t}\n\t// Handle cases with format but no type\n\treturn formatWithReplacements(format);\n};\n\nexport const getType = (type, hasTime) => {\n\tconst typeMappings = {\n\t\tweekly: 'week-year',\n\t\tmonthly: 'month',\n\t\tyearly: 'year',\n\t\tquarterly: 'quarter'\n\t};\n\n\treturn typeMappings[type] ?? (hasTime ? DateTypes.DATE_TIME : DateTypes.DATE);\n};\n\nexport const getBusinessCalendars = results => {\n\tlet schedulePresets = [];\n\tconst respObj = results ? results.result : {};\n\tif (!isEmpty(respObj)) {\n\t\tconst scheduleGroupObj = respObj.dateChoiceDisplayValues\n\t\t\t? respObj.dateChoiceDisplayValues.find(\n\t\t\t\t\tv => v.type === SCHEDULE_PRESET_TYPE\n\t\t\t  )\n\t\t\t: {};\n\t\tconst scheduleGroups =\n\t\t\tscheduleGroupObj && scheduleGroupObj.values\n\t\t\t\t? scheduleGroupObj.values.map(g => g.value)\n\t\t\t\t: [];\n\t\tif (scheduleGroups.length) {\n\t\t\tconst timeAgoDates = respObj.timeAgoDates;\n\t\t\tconst schedulePresetObj = pickBy(timeAgoDates, (v, k) =>\n\t\t\t\tscheduleGroups.includes(k)\n\t\t\t);\n\t\t\tschedulePresets = Object.values(schedulePresetObj).map(preset => {\n\t\t\t\treturn {\n\t\t\t\t\tgroup: SCHEDULE_PRESET_LABEL,\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\tstart: preset.before,\n\t\t\t\t\tend: preset.after,\n\t\t\t\t\tbetween: preset.between\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t}\n\treturn schedulePresets;\n};\n","import moment from 'moment';\nimport { find, isNil, reduce } from 'lodash';\nimport { TIME_PRESET_GROUPS } from './timeAgo';\nlet applyTransformations = ({\n\tdate,\n\tformat,\n\toffset,\n\tunit,\n\tinclusive = false,\n\tabsolute,\n\tmethod,\n\tvalue\n}) => {\n\tlet transformations = [\n\t\t// `moment.add` supports negative numbers + strings\n\t\t// if `undefined`, same as modifying nothing\n\t\td => d.add(offset, unit),\n\t\td => {\n\t\t\tif (absolute) {\n\t\t\t\treturn d[method](value);\n\t\t\t}\n\n\t\t\treturn inclusive ? d : d.add(1, 'day');\n\t\t}\n\t];\n\n\treturn reduce(transformations, (acc, t) => t(acc), moment(date)).format(\n\t\tformat\n\t);\n};\n\nexport default function applyPreset({ presets, preset, date, format }) {\n\tlet { start = {}, end = {} } = find(presets, { id: preset });\n\n\t// default inclusive to false for start, true for end\n\treturn {\n\t\tstart: applyTransformations({\n\t\t\tdate,\n\t\t\tformat,\n\t\t\t...start,\n\t\t\tinclusive: isNil(start.inclusive) ? false : start.inclusive\n\t\t}),\n\t\tend: applyTransformations({\n\t\t\tdate,\n\t\t\tformat,\n\t\t\t...end,\n\t\t\tinclusive: isNil(end.inclusive) ? true : end.inclusive\n\t\t})\n\t};\n}\n\nexport const mapSelectedTimeAgo = (selectedTimeAgo) => {\n\tconst  { label, group, end, start } = selectedTimeAgo;\n\treturn {\n\t\tlabel: label,\n\t\tgroupLabel: group,\n\t\tstartDate: start,\n\t\tendDate: end,\n\t\tpresetType: 'business',\n\t\t...selectedTimeAgo\n\t}\n}\n\nexport const mapAbsolutePresets = ({ absolutePresets, selectedTimeAgo = {}, hasTime }) => {\n\tconst  { label: selectedLabel, group: selectedGroup, startDate: absoluteStart, endDate: absoluteEnd } = selectedTimeAgo;\n\treturn absolutePresets\n\t\t.filter(timeAgo => (hasTime ? true : !TIME_PRESET_GROUPS.includes(timeAgo.group)))\n\t\t.map((absolutePreset) => {\n\t\t\tconst { label, group } = absolutePreset;\n\t\t\treturn {\n\t\t\t\tgroupLabel: group,\n\t\t\t\tstartDate: label === selectedLabel && group === selectedGroup ? absoluteStart : '',\n\t\t\t\tendDate: label === selectedLabel && group === selectedGroup ? absoluteEnd : '',\n\t\t\t\tpresetType: 'business',\n\t\t\t\t...absolutePreset\n\t\t\t}\n\t\t});\n}","import { time } from '@devsnc/sn-controls-common';\nimport { isEmpty } from 'lodash';\nimport { t } from 'sn-translate';\nimport {\n\tSET_START_AND_END_STATE,\n\tTOGGLE_DROPDOWN,\n\tUPDATE_TIMEAGO_PRESETS\n} from './actionHandlers';\nimport {\n\tDEFAULT_RESPONSE_FORMAT,\n\tENDPOINT_BUSINESS_CALENDAR,\n\tENDPOINT_TIMEAGO_ABSOLUTE,\n\tPRESET_MESSAGE_UPDATED\n} from './constants';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { getBusinessCalendars, getFormat } from './dateRangeUtils';\nimport { mapAbsolutePresets } from './apply-preset';\n\nconst COMPONENT_NAME = 'DATE_RANGE_PICKER';\n//FETCH Actions for business calendars\nexport const FETCH_CALENDAR = `${COMPONENT_NAME}#FETCH_CALENDAR`;\nexport const FETCH_CALENDAR_SUCCESS = `${FETCH_CALENDAR}_SUCCESS`;\nexport const FETCH_CALENDAR_FAILURE = `${FETCH_CALENDAR}_FAILURE`;\n\n//FETCH Actions for Timeago Resolve Absolute values\nexport const FETCH_ABSOLUTE = `${COMPONENT_NAME}#FETCH_ABSOLUTE`;\nexport const FETCH_ABSOLUTE_SUCCESS = `${FETCH_ABSOLUTE}_SUCCESS`;\nexport const FETCH_ABSOLUTE_FAILURE = `${FETCH_ABSOLUTE}_FAILURE`;\n\nexport const fetchAbsoluteEffect = createHttpEffect(ENDPOINT_TIMEAGO_ABSOLUTE, {\n\tmethod: 'GET',\n\tbatch: false,\n\tqueryParams: ['from_date', 'to_date'],\n\tsuccessActionType: FETCH_ABSOLUTE_SUCCESS,\n\terrorActionType: FETCH_ABSOLUTE_FAILURE\n});\n\nexport const fetchAbsoluteSuccessEffect = ({\n\tstate: { properties },\n\taction: { payload: results },\n\tdispatch\n}) => {\n\tconst respObj = results ? results.result : {};\n\tconst { language, format, hasTime, type, requireConfirmation } = properties;\n\tconst hasFooter = hasTime || requireConfirmation;\n\tconst momentFormat = getFormat({ hasTime, format, type });\n\tif (!isEmpty(respObj)) {\n\t\tconst fromDate = respObj.fromDate;\n\t\tconst toDate = respObj.toDate;\n\n\t\tconst absoluteStart = time(language)(\n\t\t\tfromDate,\n\t\t\tDEFAULT_RESPONSE_FORMAT\n\t\t).format(momentFormat);\n\t\tconst absoluteEnd = time(language)(toDate, DEFAULT_RESPONSE_FORMAT).format(\n\t\t\tmomentFormat\n\t\t);\n\n\t\tdispatch(SET_START_AND_END_STATE, {\n\t\t\tstart: absoluteStart,\n\t\t\tend: absoluteEnd,\n\t\t\tpreset: 'custom'\n\t\t});\n\n\t\tdispatch(UPDATE_TIMEAGO_PRESETS, {\n\t\t\tstart: absoluteStart,\n\t\t\tend: absoluteEnd\n\t\t});\n\n\t\tif (!hasFooter) {\n\t\t\tdispatch(TOGGLE_DROPDOWN, { value: false });\n\t\t}\n\t}\n};\n\nexport const fetchAbsoluteFailureEffect = ({\n\tstate: {\n\t\tselectedTimeAgo: { label }\n\t},\n\tdispatch,\n\tupdateState\n}) => {\n\tconst message = {\n\t\ttype: 'error',\n\t\tmessage: t(`Unable to resolve absolute dates for '{0}'`, label)\n\t};\n\tdispatch(PRESET_MESSAGE_UPDATED, message);\n\tupdateState({ selectedTimeAgo: false });\n};\n\nexport const fetchCalendarEffect = createHttpEffect(\n\tENDPOINT_BUSINESS_CALENDAR,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['table_name'],\n\t\tsuccessActionType: FETCH_CALENDAR_SUCCESS,\n\t\terrorActionType: FETCH_CALENDAR_FAILURE\n\t}\n);\n\nexport const fetchCalendarSuccessEffect = ({\n\tstate: {\n\t\tselectedTimeAgo,\n\t\ttimeAgoPresets,\n\t\tproperties: { hasTime }\n\t},\n\tupdateState,\n\taction: { payload: results }\n}) => {\n\tlet schedulePresets = getBusinessCalendars(results);\n\tif (schedulePresets.length) {\n\t\tschedulePresets = mapAbsolutePresets({\n\t\t\tabsolutePresets: schedulePresets,\n\t\t\tselectedTimeAgo,\n\t\t\thasTime\n\t\t});\n\t\tupdateState({\n\t\t\ttimeAgoPresets: [...timeAgoPresets, ...schedulePresets]\n\t\t});\n\t}\n};\n\nexport const fetchCalendarFailureEffect = ({\n\tstate: {\n\t\tproperties: { tableName }\n\t},\n\tdispatch\n}) => {\n\tconst message = {\n\t\ttype: 'info',\n\t\tmessage: t(`Unable to fetch business calendars for table '{0}'`, tableName)\n\t};\n\tdispatch(PRESET_MESSAGE_UPDATED, message);\n};\n","import moment from 'moment';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { isEqualWith, time } from '@devsnc/sn-controls-common';\n\nimport { validRange, getErrors } from './dateRangeUtils';\nimport {\n\tWEEKLY_TYPE,\n\tMONTHLY_TYPE,\n\tYEARLY_TYPE,\n\tQUARTERLY_TYPE,\n\tCUSTOM_PRESET_LABEL,\n\tDATE_INTERVAL_SOURCE_START,\n\tDATE_INTERVAL_SOURCE_END,\n\tNOW_DATE_TIME_PRESETS_PRESET_CLICKED,\n\tPRESET_MESSAGE_UPDATED,\n\tMOMENT_QUARTERLY_FORMAT,\n\tMOMENT_YEARLY_FORMAT,\n\tMOMENT_MONTHLY_FORMAT,\n\tMOMENT_WEEKLY_ISO_FORMAT,\n\tMOMENT_WEEKLY_FORMAT\n} from './constants';\nimport {\n\tFETCH_ABSOLUTE,\n\tFETCH_CALENDAR,\n\tfetchAbsoluteEffect,\n\tfetchAbsoluteFailureEffect,\n\tfetchAbsoluteSuccessEffect,\n\tfetchCalendarEffect,\n\tfetchCalendarSuccessEffect,\n\tfetchCalendarFailureEffect,\n\tFETCH_ABSOLUTE_SUCCESS,\n\tFETCH_ABSOLUTE_FAILURE,\n\tFETCH_CALENDAR_FAILURE,\n\tFETCH_CALENDAR_SUCCESS\n} from './effects';\nimport { TIME_AGO_PRESETS, getTimeAgoByGroup } from './timeAgo';\nimport applyPreset, { mapAbsolutePresets } from './apply-preset';\n\nconst COMPONENT_NAME = 'DATE_RANGE_PICKER';\nexport const SET_FOCUS_ELEMENT = `${COMPONENT_NAME}#SET_FOCUS_ELEMENT`;\nexport const RESET_FOCUS_ELEMENT = `${COMPONENT_NAME}#RESET_FOCUS_ELEMENT`;\nexport const SOURCE_FIELD_START = 'DATE_RANGE_PICKER_START';\nexport const SOURCE_FIELD_END = 'DATE_RANGE_PICKER_END';\nexport const SET_DATE = `${COMPONENT_NAME}#SET_DATE`;\nexport const SET_START = `${COMPONENT_NAME}#SET_START`;\nexport const SET_START_STATE = `${COMPONENT_NAME}#SET_START_STATE`;\nexport const SET_END = `${COMPONENT_NAME}#SET_END`;\nexport const SET_END_STATE = `${COMPONENT_NAME}#SET_END_STATE`;\nexport const SET_START_AND_END = `${COMPONENT_NAME}#SET_START_AND_END`;\nexport const SET_START_AND_END_STATE = `${COMPONENT_NAME}#SET_START_AND_END_STATE`;\nexport const SET_PENDING_START_STATE = `${COMPONENT_NAME}#SET_PENDING_START_STATE`;\nexport const SET_PENDING_END_STATE = `${COMPONENT_NAME}#SET_PENDING_END_STATE`;\nexport const SET_LAST_VALID_STATE = `${COMPONENT_NAME}#SET_LAST_VALID_STATE`;\nexport const SET_VISIBLE_MONTH = `${COMPONENT_NAME}#SET_VISIBLE_MONTH`;\nexport const SET_VISIBLE_YEAR = `${COMPONENT_NAME}#SET_VISIBLE_YEAR`;\nexport const SET_HOVER_END_DATE = `${COMPONENT_NAME}#SET_HOVER_END_DATE`;\nexport const SET_SOURCE_FIELD = `${COMPONENT_NAME}#SET_SOURCE_FIELD`;\nexport const TOGGLE_DROPDOWN = `DATE_PICKER_PANEL_DROPDOWN#OPENED_SET`;\nexport const SET_HIGHLIGHTED_DATE = `${COMPONENT_NAME}#SET_HIGHLIGHTED_DATE`;\nexport const CONFIRM_FIELDS = ['confirm-ok', 'confirm-cancel'];\n\nexport const NOW_DATE_TIME_INTERVAL_OPENED_SET =\n\t'NOW_DATE_TIME_INTERVAL#OPENED_SET';\nexport const NOW_DATE_TIME_INTERVAL_VALUES_START_END_SET =\n\t'NOW_DATE_TIME_INTERVAL#VALUES_START_END_SET';\nexport const NOW_DATE_TIME_INTERVAL_FOOTER_ACTION_CLICKED =\n\t'NOW_DATE_TIME_INTERVAL#FOOTER_ACTION_CLICKED';\nexport const NOW_DATE_TIME_INTERVAL_INVALID_SET =\n\t'NOW_DATE_TIME_INTERVAL#INVALID_SET';\n//Preset Actions\nexport const PRESET_SELECTED = `${COMPONENT_NAME}#PRESET_SELECTED`;\nexport const UPDATE_TIMEAGO_PRESETS = 'UPDATE_TIMEAGO_PRESETS';\n\nconst createPayload = ({\n\tstart,\n\tend,\n\tstartError,\n\tendError,\n\tstate: { format }\n}) => {\n\tconst isoStart = moment(start, format);\n\tconst isoEnd = moment(end, format);\n\n\treturn {\n\t\tisoStart: isoStart.isValid() ? isoStart.toISOString() : '',\n\t\tisoEnd: isoEnd.isValid() ? isoEnd.toISOString() : '',\n\t\tstart,\n\t\tend,\n\t\tstartError,\n\t\tendError\n\t};\n};\n\nexport let createDispatchValueEffect = (createPayload, actionToDispatch) => ({\n\teffect: ({ action, dispatch, state }) => {\n\t\tlet { format } = state;\n\t\tlet { onValueChange, name, language } = state.properties;\n\n\t\tlet payload = {\n\t\t\tname,\n\t\t\t...createPayload({ ...action.payload, state })\n\t\t};\n\n\t\tlet lastValidRange = state.lastValidRange;\n\t\tlet { start, end } = payload;\n\n\t\tconst isNewRange =\n\t\t\tstart !== lastValidRange.start || end !== lastValidRange.end;\n\n\t\tif (isNewRange) {\n\t\t\tlet newRange = validRange(start, end, format, language);\n\n\t\t\tif (newRange.valid) {\n\t\t\t\tdispatch(SET_LAST_VALID_STATE, { ...newRange, preset: state.preset });\n\n\t\t\t\tif (onValueChange) {\n\t\t\t\t\tonValueChange(payload);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch('NOW_DATE_RANGE_PICKER#VALUE_CHANGED', payload);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdispatch(actionToDispatch, action.payload);\n\t},\n\tstopPropagation: true\n});\n\nexport const getDate = (dateString, format, language) => {\n\tif (dateString) {\n\t\tlet date = time(language)(dateString, format, true);\n\t\treturn date && date.isValid() ? date.format(format) : '';\n\t}\n\treturn '';\n};\n\nexport const getInitialState = (\n\tstate,\n\tproperties,\n\tpropertyChanged,\n\taction,\n\tdispatch\n) => {\n\tlet {\n\t\tstart,\n\t\tend,\n\t\tformat,\n\t\tlanguage,\n\t\tpreset,\n\t\tpresets,\n\t\tisoWeek,\n\t\ttimeAgo,\n\t\thasTime\n\t} = properties;\n\tlet { timeAgoPresets } = state;\n\tconst {\n\t\tpayload: { name, value: newValue, previousValue }\n\t} = action;\n\tswitch (properties.type) {\n\t\tcase WEEKLY_TYPE:\n\t\t\tformat = isoWeek ? MOMENT_WEEKLY_ISO_FORMAT : MOMENT_WEEKLY_FORMAT;\n\t\t\tbreak;\n\t\tcase MONTHLY_TYPE:\n\t\t\tformat = MOMENT_MONTHLY_FORMAT;\n\t\t\tbreak;\n\t\tcase YEARLY_TYPE:\n\t\t\tformat = MOMENT_YEARLY_FORMAT;\n\t\t\tbreak;\n\t\tcase QUARTERLY_TYPE:\n\t\t\tformat = MOMENT_QUARTERLY_FORMAT;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tformat =\n\t\t\t\tformat || (properties.hasTime ? 'YYYY-MM-DD hh:mm:ss a' : 'YYYY-MM-DD');\n\t}\n\n\tlet pendingStart = (start = getDate(start, format, language));\n\tlet pendingEnd = (end = getDate(end, format, language));\n\n\tlet lastValidRange = {\n\t\tstart,\n\t\tend,\n\t\tpreset\n\t};\n\n\tif (preset !== 'custom' && !propertyChanged) {\n\t\tlet { start: newStart, end: newEnd } = applyPreset({\n\t\t\tdate: time(language)(),\n\t\t\tpresets,\n\t\t\tpreset,\n\t\t\tformat\n\t\t});\n\n\t\tpendingStart = start = newStart;\n\t\tpendingEnd = end = newEnd;\n\n\t\tlastValidRange = {\n\t\t\tstart,\n\t\t\tend,\n\t\t\tpreset\n\t\t};\n\t}\n\n\tif (!validRange(start, end, format, language).valid) {\n\t\t// not sure if defaulting to blank is the best approach or\n\t\t// if the date picker should have some sort of error state\n\t\tstart = end = '';\n\t\tpreset = 'custom';\n\t\tlastValidRange = {\n\t\t\tstart: '',\n\t\t\tend: '',\n\t\t\tpreset: 'custom'\n\t\t};\n\t}\n\n\tif (\n\t\t(!propertyChanged && timeAgo) ||\n\t\t(propertyChanged && name === 'timeAgo')\n\t) {\n\t\ttimeAgoPresets = mapAbsolutePresets({\n\t\t\tabsolutePresets: TIME_AGO_PRESETS,\n\t\t\thasTime\n\t\t});\n\t}\n\n\tif (typeof timeAgo === 'object') {\n\t\tif (\n\t\t\t!propertyChanged ||\n\t\t\t(propertyChanged &&\n\t\t\t\tname === 'timeAgo' &&\n\t\t\t\t!isEqualWith(newValue, previousValue))\n\t\t) {\n\t\t\t// get business calendars from tableName\n\t\t\tconst { tableName } = timeAgo;\n\t\t\tif (tableName) dispatch(FETCH_CALENDAR, { table_name: tableName });\n\t\t}\n\t}\n\n\treturn {\n\t\t...state,\n\t\tstart,\n\t\tend,\n\t\tpendingStart,\n\t\tpendingEnd,\n\t\tpreset,\n\t\tlastValidRange,\n\t\trequireConfirmation: properties.requireConfirmation || properties.hasTime,\n\t\tformat,\n\t\ttimeAgoLabel: CUSTOM_PRESET_LABEL,\n\t\ttimeAgoPresets\n\t};\n};\n\nconst handleNowDateTimeIntervalSetEffect = (\n\tstartValue,\n\tendValue,\n\tname,\n\tdispatch,\n\tproperties,\n\tstate\n) => {\n\tlet { format } = state;\n\tlet { language, disabledDates = [] } = properties;\n\tdispatch(SET_START_AND_END, {\n\t\tstart: startValue,\n\t\tpendingStart: startValue,\n\t\tend: endValue,\n\t\tpendingEnd: endValue,\n\t\thighlightedDate:\n\t\t\tname === DATE_INTERVAL_SOURCE_START ? startValue : endValue,\n\t\tsourceField:\n\t\t\tname === DATE_INTERVAL_SOURCE_START\n\t\t\t\t? SOURCE_FIELD_START\n\t\t\t\t\t? name === DATE_INTERVAL_SOURCE_END\n\t\t\t\t\t: SOURCE_FIELD_END\n\t\t\t\t: '',\n\t\ttimeAgoLabel: CUSTOM_PRESET_LABEL,\n\t\tpreset: 'custom', // always reset to custom b/c presets use SET_START_AND_END\n\t\t...getErrors({\n\t\t\tstart: startValue,\n\t\t\tend: endValue,\n\t\t\tlanguage,\n\t\t\tformat,\n\t\t\tdisabledDates,\n\t\t\tproperties\n\t\t})\n\t});\n};\n\nconst getInitialStateEffect =\n\tpropertyChanged =>\n\t({ properties, state, updateState, dispatch, action }) => {\n\t\tupdateState(\n\t\t\tgetInitialState(state, properties, propertyChanged, action, dispatch)\n\t\t);\n\t};\n\n// When setting start/end date:\n// 1. Dispatch to consumer that it's been updated\n// 2. Update internal state\nexport default {\n\t[actionTypes.COMPONENT_CONNECTED]: getInitialStateEffect(false),\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: getInitialStateEffect(true),\n\n\t[FETCH_ABSOLUTE]: {\n\t\t...fetchAbsoluteEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_ABSOLUTE_SUCCESS]: {\n\t\teffect: fetchAbsoluteSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_ABSOLUTE_FAILURE]: {\n\t\teffect: fetchAbsoluteFailureEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CALENDAR]: {\n\t\t...fetchCalendarEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CALENDAR_SUCCESS]: {\n\t\teffect: fetchCalendarSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CALENDAR_FAILURE]: {\n\t\teffect: fetchCalendarFailureEffect,\n\t\tstopPropagation: true\n\t},\n\n\t[SET_START_STATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { newDate, sourceField } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tstart: newDate,\n\t\t\t\tpendingStart: newDate,\n\t\t\t\thighlightedDate: newDate,\n\t\t\t\tsourceField,\n\t\t\t\ttimeAgoLabel: CUSTOM_PRESET_LABEL,\n\t\t\t\tpreset: 'custom' // always reset to custom b/c presets use SET_START_AND_END\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_END_STATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { newDate } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tend: newDate,\n\t\t\t\tpendingEnd: newDate,\n\t\t\t\ttimeAgoLabel: CUSTOM_PRESET_LABEL,\n\t\t\t\tpreset: 'custom' // always reset to custom b/c presets use SET_START_AND_END\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_START_AND_END]: createDispatchValueEffect(\n\t\tcreatePayload,\n\t\tSET_START_AND_END_STATE\n\t),\n\t[SET_START_AND_END_STATE]: {\n\t\teffect: ({\n\t\t\tupdateState,\n\t\t\taction,\n\t\t\tstate: { sourceField: currentSourceField }\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tstart,\n\t\t\t\tstartError,\n\t\t\t\tend,\n\t\t\t\tendError,\n\t\t\t\tpreset,\n\t\t\t\tsourceField = currentSourceField\n\t\t\t} = action.payload;\n\t\t\tupdateState({\n\t\t\t\tstart,\n\t\t\t\tstartError,\n\t\t\t\tend,\n\t\t\t\tendError,\n\t\t\t\tpendingStart: start,\n\t\t\t\tpendingEnd: end,\n\t\t\t\tpreset,\n\t\t\t\ttimeAgoLabel: CUSTOM_PRESET_LABEL,\n\t\t\t\tsourceField\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_PENDING_START_STATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { newDate } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tpendingStart: newDate\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_PENDING_END_STATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { newDate } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tpendingEnd: newDate\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_LAST_VALID_STATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { start, end, preset } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tlastValidRange: {\n\t\t\t\t\tstart,\n\t\t\t\t\tend,\n\t\t\t\t\tpreset\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_SOURCE_FIELD]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { sourceField } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tsourceField\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[TOGGLE_DROPDOWN]: {\n\t\teffect: ({ action, dispatch, state, updateState }) => {\n\t\t\tlet { value, sourceField } = action.payload;\n\n\t\t\tupdateState({\n\t\t\t\tpopoverOpened: value,\n\t\t\t\toriginalStart: state.start,\n\t\t\t\toriginalEnd: state.end\n\t\t\t});\n\t\t\tdispatch(SET_SOURCE_FIELD, { sourceField });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[PRESET_MESSAGE_UPDATED]: {\n\t\teffect: ({ properties: { messages = [] }, action, updateProperties }) => {\n\t\t\tconst message = action.payload;\n\t\t\tif (message) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tmessages: [...messages, message]\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[UPDATE_TIMEAGO_PRESETS]: {\n\t\teffect: ({ updateState, action, state }) => {\n\t\t\tlet {\n\t\t\t\tselectedTimeAgo,\n\t\t\t\ttimeAgoPresets,\n\t\t\t\tproperties: { hasTime }\n\t\t\t} = state;\n\t\t\tlet { start, end } = action.payload;\n\t\t\tselectedTimeAgo.startDate = start;\n\t\t\tselectedTimeAgo.endDate = end;\n\t\t\tupdateState({\n\t\t\t\ttimeAgoPresets: mapAbsolutePresets({\n\t\t\t\t\tabsolutePresets: timeAgoPresets,\n\t\t\t\t\tselectedTimeAgo,\n\t\t\t\t\thasTime\n\t\t\t\t}),\n\t\t\t\tselectedTimeAgo\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_DATE_TIME_INTERVAL_OPENED_SET]: {\n\t\teffect: ({ action, dispatch }) => {\n\t\t\tconst {\n\t\t\t\tpayload: { value }\n\t\t\t} = action;\n\t\t\tdispatch(TOGGLE_DROPDOWN, { value: value });\n\t\t}\n\t},\n\t[NOW_DATE_TIME_INTERVAL_VALUES_START_END_SET]: {\n\t\teffect: ({ action, dispatch, properties, state }) => {\n\t\t\tconst { startValue, endValue, name } = action.payload;\n\t\t\thandleNowDateTimeIntervalSetEffect(\n\t\t\t\tstartValue,\n\t\t\t\tendValue,\n\t\t\t\tname,\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tstate\n\t\t\t);\n\t\t}\n\t},\n\t[NOW_DATE_TIME_INTERVAL_FOOTER_ACTION_CLICKED]: {\n\t\teffect: ({ action, dispatch, properties, state }) => {\n\t\t\tconst { valueStart, valueEnd, name } = action.payload;\n\t\t\thandleNowDateTimeIntervalSetEffect(\n\t\t\t\tvalueStart,\n\t\t\t\tvalueEnd,\n\t\t\t\tname,\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tstate\n\t\t\t);\n\t\t}\n\t},\n\t[NOW_DATE_TIME_PRESETS_PRESET_CLICKED]: {\n\t\teffect: ({ action, updateState, dispatch, state }) => {\n\t\t\tconst { selectedPresetIndex, selectedGroupLabel } = action.payload;\n\t\t\tconst {\n\t\t\t\ttimeAgoPresets,\n\t\t\t\tproperties: { timeAgo }\n\t\t\t} = state;\n\n\t\t\tif (timeAgo) {\n\t\t\t\tlet timeAgoByGroup = getTimeAgoByGroup(\n\t\t\t\t\ttimeAgoPresets,\n\t\t\t\t\tselectedGroupLabel\n\t\t\t\t);\n\t\t\t\tlet selectedTimeAgo =\n\t\t\t\t\ttimeAgoByGroup.length > 0\n\t\t\t\t\t\t? timeAgoByGroup[selectedPresetIndex]\n\t\t\t\t\t\t: false;\n\t\t\t\tif (selectedTimeAgo) {\n\t\t\t\t\tconst { start, end } = selectedTimeAgo;\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: `end`,\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: `pendingEnd`,\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'selectedTimeAgo',\n\t\t\t\t\t\t\tvalue: selectedTimeAgo,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t\t\tdispatch(FETCH_ABSOLUTE, { from_date: start, to_date: end });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t[NOW_DATE_TIME_INTERVAL_INVALID_SET]: {\n\t\teffect: ({ updateState, action, properties: { readonly } }) => {\n\t\t\tif (action.payload.errorId && readonly) {\n\t\t\t\t// This is done to suppress error messages from NDS when field is readonly\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'startError',\n\t\t\t\t\t\tvalue: [],\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'endError',\n\t\t\t\t\t\tvalue: [],\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}\n};\n","import { isAttrTrue, transformMessages } from '@devsnc/sn-controls-common';\nimport { getType, getDateFnsFormat } from './dateRangeUtils';\n\nimport { SOURCE_FIELD_START, SOURCE_FIELD_END } from './actionHandlers';\n\nimport { t } from 'sn-translate';\nimport '@servicenow/now-date-time';\n\n// Handle strings consistently by ensuring a \"value\" property\nconst ensureObjectWithValueProperty = obj => {\n\tif (typeof obj === 'string') {\n\t\treturn { value: obj };\n\t}\n\treturn obj;\n};\n\nexport default function DateRangePicker(state) {\n\tconst {\n\t\tstartError = [],\n\t\tendError = [],\n\t\tformat,\n\t\tproperties: {\n\t\t\tshowAdjacentMonthDays,\n\t\t\trequireConfirmation,\n\t\t\tisoWeek,\n\t\t\tdisabledDates,\n\t\t\ttype,\n\t\t\thasTime,\n\t\t\tlabelStart,\n\t\t\tlabelEnd,\n\t\t\trequired,\n\t\t\tlanguage,\n\t\t\treadonly,\n\t\t\tfieldLayout,\n\t\t\tenableSameDay,\n\t\t\treversed,\n\t\t\ttimeAgo,\n\t\t\twrapLabel,\n\t\t\tyearRange\n\t\t},\n\t\tsourceField,\n\t\tpendingStart,\n\t\tpendingEnd,\n\t\tpopoverOpened,\n\t\tselectedTimeAgo\n\t} = state;\n\tconst isReadonly = isAttrTrue(readonly);\n\tlet updatedDisableDates =\n\t\tdisabledDates && disabledDates.length > 0\n\t\t\t? disabledDates.map(ensureObjectWithValueProperty)\n\t\t\t: [];\n\tlet { timeAgoPresets } = state;\n\n\treturn (\n\t\t<now-date-time-interval\n\t\t\tvalueStart={pendingStart}\n\t\t\tvalueEnd={pendingEnd}\n\t\t\tformat={getDateFnsFormat(format, type, hasTime)}\n\t\t\ttype={getType(type, hasTime)}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tyearRange={yearRange}\n\t\t\tlabelStart={labelStart?.trim()}\n\t\t\tlabelEnd={labelEnd?.trim()}\n\t\t\tname={`${SOURCE_FIELD_START}_${SOURCE_FIELD_END}`}\n\t\t\tisoWeek={isoWeek}\n\t\t\tmessages={transformMessages(startError.concat(endError))}\n\t\t\topened={popoverOpened}\n\t\t\treadonly={isReadonly}\n\t\t\trequired={required}\n\t\t\tsize={'md'}\n\t\t\tshowDefaultFooterActions={hasTime || requireConfirmation}\n\t\t\thideFooter={hasTime || requireConfirmation}\n\t\t\tapplyLabelValue={'OK'}\n\t\t\tlocale={language}\n\t\t\tinvalid={\n\t\t\t\t(startError && startError.length > 0 ? true : false) ||\n\t\t\t\t(endError && endError.length > 0 ? true : false)\n\t\t\t}\n\t\t\tdisabledItems={updatedDisableDates}\n\t\t\thideAdjacentDates={!showAdjacentMonthDays}\n\t\t\tenableSameDay={enableSameDay}\n\t\t\tmanage-opened\n\t\t\tmanage-invalid\n\t\t\tpanelFitProps={{\n\t\t\t\tposition: [\n\t\t\t\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t\t\t\t{ target: 'center-end', content: 'center-start' },\n\t\t\t\t\t{ target: 'top-end', content: 'bottom-end' }\n\t\t\t\t]\n\t\t\t}}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tconfig-aria={{\n\t\t\t\t'input-start': {\n\t\t\t\t\t'aria-label': t('Select Date Range Start'),\n\t\t\t\t\t'aria-expanded': (SOURCE_FIELD_START === sourceField).toString()\n\t\t\t\t},\n\t\t\t\t'input-end': {\n\t\t\t\t\t'aria-label': t('Select Date Range End'),\n\t\t\t\t\t'aria-expanded': (SOURCE_FIELD_END === sourceField).toString()\n\t\t\t\t}\n\t\t\t}}\n\t\t\talign={reversed ? 'end' : 'start'}\n\t\t\tenablePresets={!!timeAgo}\n\t\t\tactivePreset={timeAgo && selectedTimeAgo ? selectedTimeAgo : {}}\n\t\t\tcustomPresets={timeAgo ? timeAgoPresets : []}\n\t\t\tshowPresetGroups={true}\n\t\t/>\n\t);\n}\n","import { actionTypes } from '@servicenow/ui-core';\nconst SET_HOVER_END_DATE = 'DATE_RANGE_PICKER#SET_HOVER_END_DATE';\nconst SET_END_STATE = 'DATE_RANGE_PICKER#SET_END_STATE';\nconst SOURCE_FIELD_START = 'DATE_RANGE_PICKER_START';\nconst TOGGLE_DROPDOWN = 'DATE_PICKER_PANEL_DROPDOWN#OPENED_SET';\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const TRY_CLOSE_DROPDOWN = 'TRY_CLOSE_DROPDOWN';\nexport const TRY_SET_END_STATE = 'TRY_SET_END_STATE';\n\nexport default {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({ action, updateState }) => {\n\t\t\tconst { name, value } = action.payload;\n\t\t\tif (name === 'opened' && !value) {\n\t\t\t\tupdateState({\n\t\t\t\t\thoverEnd: null\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[TRY_CLOSE_DROPDOWN]: {\n\t\teffect: ({ properties: { requireConfirmation }, dispatch }) => {\n\t\t\tif (!requireConfirmation) dispatch(TOGGLE_DROPDOWN, { value: false });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_HOVER_END_DATE]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst { hoverEnd } = action.payload;\n\t\t\tupdateState({ hoverEnd });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[TRY_SET_END_STATE]: {\n\t\teffect: ({\n\t\t\tproperties: { requireConfirmation },\n\t\t\tdispatch,\n\t\t\taction: { payload }\n\t\t}) => {\n\t\t\tdispatch(SET_END_STATE, {\n\t\t\t\t...payload,\n\t\t\t\tsourceField: requireConfirmation ? SOURCE_FIELD_START : ''\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import '@servicenow/now-button';\nimport { t } from 'sn-translate';\n\nconst pickerConfirm = () => {\n\treturn (\n\t\t<div className=\"date-range-picker-confirmation\">\n\t\t\t<now-button\n\t\t\t\tappend-to-payload={{ field: 'confirm-cancel' }}\n\t\t\t\tlabel={t('Cancel')}\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tsize=\"md\"\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tappend-to-payload={{ field: 'confirm-ok' }}\n\t\t\t\tlabel={t('OK')}\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"md\"\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\nexport default pickerConfirm;\n","import { isObject } from 'lodash';\nimport { t } from 'sn-translate';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tSET_START_STATE,\n\tSET_START_AND_END_STATE,\n\tSET_VISIBLE_MONTH,\n\tSET_HOVER_END_DATE,\n\tTOGGLE_DROPDOWN,\n\tSET_SOURCE_FIELD,\n\tSOURCE_FIELD_START,\n\tSOURCE_FIELD_END,\n\tSET_HIGHLIGHTED_DATE\n} from '../actionHandlers';\nimport { getVisibleMonth } from '../dateRangeUtils';\nimport {\n\tgetDisabledDays,\n\tgetWeekType,\n\tadjustWeekForYearOverlap\n} from '@servicenow/now-record-mini-calendar';\nimport { TRY_CLOSE_DROPDOWN, TRY_SET_END_STATE } from './actionHandlers';\nimport { time } from '@devsnc/sn-controls-common';\nimport pickerConfirm from '../picker-confirm';\nimport '@servicenow/now-record-time';\n\nlet focusControlButton = ref => {\n\tconst controlButton = ref.current.shadowRoot.querySelector('now-button');\n\tif (controlButton) {\n\t\tcontrolButton.focus();\n\t}\n};\n\nexport const onControlExit =\n\t(dispatch, fromRef, toRef, sourceField) => event => {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t\tif (SOURCE_FIELD_START === sourceField) {\n\t\t\tfocusControlButton(fromRef);\n\t\t} else if (SOURCE_FIELD_END === sourceField) {\n\t\t\tfocusControlButton(toRef);\n\t\t}\n\t\tdispatch(TOGGLE_DROPDOWN, { value: false });\n\t};\n\nlet updateEndHoverValue = (dispatch, format) => value => {\n\tdispatch(SET_HOVER_END_DATE, { hoverEnd: value ? value.format(format) : '' });\n};\n\nlet onHighlightedDate =\n\t(dispatch, visibleMonth, format) =>\n\t(newDate, isOutlier = false) => {\n\t\tif (newDate) {\n\t\t\tconst vMonth = visibleMonth.month();\n\t\t\tconst nMonth = isOutlier ? 11 : newDate.month();\n\n\t\t\tif (vMonth - nMonth === 1 || vMonth - nMonth === -11) {\n\t\t\t\tvisibleMonth = visibleMonth.clone().subtract(1, 'month');\n\t\t\t} else if (nMonth - vMonth === 2 || nMonth - vMonth === -10) {\n\t\t\t\tvisibleMonth = visibleMonth.clone().add(1, 'month');\n\t\t\t}\n\t\t}\n\t\treturn dispatch(SET_HIGHLIGHTED_DATE, {\n\t\t\tnewDate: newDate ? newDate.format(format) : newDate,\n\t\t\tvisibleMonth\n\t\t});\n\t};\n\n// Selections:\n// 1. None selected: `start`\n// 2. Start selected:\n//   If new selection is after start: `end`\n//   If new selection is before start: `start`\n// 3. Both selected:\n//   Always reset\nexport let createUpdateDateFunction =\n\t({\n\t\tdispatch,\n\t\tcurrentStart,\n\t\tcurrentEnd,\n\t\tformat,\n\t\tlanguage,\n\t\tweeklyView,\n\t\tisoWeek\n\t}) =>\n\t(sourceField, fromTime = false) =>\n\tnewDate => {\n\t\tif (typeof newDate === 'string') {\n\t\t\tnewDate = time(language)(newDate, format);\n\t\t}\n\n\t\tconst getNewDate = (current, next) => {\n\t\t\tlet normalizedDate;\n\n\t\t\t// If there exists a current date + setting the date specifically (not the time),\n\t\t\t// persist the existing time\n\t\t\tif (fromTime) {\n\t\t\t\tnormalizedDate = next;\n\t\t\t} else {\n\t\t\t\tif (current) {\n\t\t\t\t\tlet currentTime = time(language)(current, format);\n\n\t\t\t\t\tnormalizedDate = next\n\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t.milliseconds(currentTime.milliseconds())\n\t\t\t\t\t\t.seconds(currentTime.seconds())\n\t\t\t\t\t\t.minutes(currentTime.minutes())\n\t\t\t\t\t\t.hours(currentTime.hours());\n\t\t\t\t} else {\n\t\t\t\t\tnormalizedDate = next.startOf('day');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn normalizedDate.format(format);\n\t\t};\n\n\t\tconst setDate = (editState, payload) => {\n\t\t\tdispatch(editState, {\n\t\t\t\t...payload,\n\t\t\t\tnewDate: getNewDate(\n\t\t\t\t\teditState === SET_START_STATE ? currentStart : currentEnd,\n\t\t\t\t\tnewDate\n\t\t\t\t)\n\t\t\t});\n\t\t};\n\n\t\tlet noneSelected = !currentStart && !currentEnd;\n\t\tlet onlyStartSelected = !!currentStart && !currentEnd;\n\t\tlet onlyEndSelected = !currentStart && !!currentEnd;\n\t\tlet isStartAndEndSelected = !!currentStart && !!currentEnd;\n\n\t\tif (weeklyView) {\n\t\t\tconst weekType = getWeekType(isoWeek);\n\t\t\tnewDate = adjustWeekForYearOverlap(newDate, language, isoWeek, weekType);\n\t\t}\n\n\t\tlet payload = { newDate: newDate.format(format) };\n\n\t\tconst tryCloseDropdown = () => dispatch(TRY_CLOSE_DROPDOWN);\n\n\t\tif (noneSelected) {\n\t\t\tdispatch(SET_HOVER_END_DATE, { hoverEnd: '' });\n\t\t\treturn setDate(SET_START_STATE, {\n\t\t\t\t...payload,\n\t\t\t\tsourceField: SOURCE_FIELD_END\n\t\t\t});\n\t\t} else if (onlyStartSelected) {\n\t\t\t// only check if new date selected is after currentStart if the end date is being set\n\t\t\tif (!sourceField || SOURCE_FIELD_END === sourceField) {\n\t\t\t\tif (newDate.isSameOrAfter(time(language)(currentStart, format))) {\n\t\t\t\t\tsetDate(TRY_SET_END_STATE, payload);\n\t\t\t\t\t//close the dropdown\n\t\t\t\t\treturn tryCloseDropdown();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn setDate(SET_START_STATE, {\n\t\t\t\t\t...payload\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (onlyEndSelected) {\n\t\t\treturn dispatch(SET_START_AND_END_STATE, {\n\t\t\t\tstart: getNewDate(currentStart, newDate),\n\t\t\t\tend: '',\n\t\t\t\tpreset: 'custom',\n\t\t\t\tsourceField: SOURCE_FIELD_END\n\t\t\t});\n\t\t} else if (isStartAndEndSelected) {\n\t\t\tif (\n\t\t\t\tSOURCE_FIELD_END === sourceField &&\n\t\t\t\tnewDate.isSameOrAfter(time(language)(currentStart, format))\n\t\t\t) {\n\t\t\t\tsetDate(TRY_SET_END_STATE, payload);\n\t\t\t\treturn tryCloseDropdown();\n\t\t\t} else if (SOURCE_FIELD_START == sourceField && currentStart) {\n\t\t\t\tdispatch(SET_SOURCE_FIELD, { sourceField: SOURCE_FIELD_END });\n\t\t\t\tif (newDate.isSameOrBefore(time(language)(currentEnd, format))) {\n\t\t\t\t\treturn dispatch(SET_START_AND_END_STATE, {\n\t\t\t\t\t\tstart: getNewDate(currentStart, newDate),\n\t\t\t\t\t\tend: currentEnd,\n\t\t\t\t\t\tpreset: 'custom'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// both start & end are selected\n\t\tdispatch(SET_HOVER_END_DATE, { hoverEnd: '' });\n\n\t\treturn dispatch(SET_START_AND_END_STATE, {\n\t\t\tstart: getNewDate(currentStart, newDate),\n\t\t\tend: '',\n\t\t\tsourceField: SOURCE_FIELD_END,\n\t\t\tpreset: 'custom'\n\t\t});\n\t};\n\nexport default function DatePickerPanel(\n\t{\n\t\thoverEnd,\n\t\tproperties: {\n\t\t\tname,\n\t\t\tstart,\n\t\t\tend,\n\t\t\tvisibleMonth,\n\t\t\tformat,\n\t\t\thasTime,\n\t\t\tsourceField,\n\t\t\thighlightedDate,\n\t\t\tfromRef,\n\t\t\ttoRef,\n\t\t\tlanguage,\n\t\t\tweeklyView = false,\n\t\t\tisoWeek = false,\n\t\t\trequireConfirmation,\n\t\t\tdisabledDates,\n\t\t\ttimeAgoLabel,\n\t\t\ttimeAgo,\n\t\t\tshowAdjacentMonthDays\n\t\t}\n\t},\n\t{ dispatch }\n) {\n\tlet leftVisibleMonth = visibleMonth\n\t\t? visibleMonth.clone()\n\t\t: getVisibleMonth(start);\n\tlet rightVisibleMonth = leftVisibleMonth.clone().add(1, 'month');\n\tlet rangePickerRef = createRef();\n\n\tlet hasFooter = hasTime || requireConfirmation;\n\n\tlet tableName = '';\n\tconst defaultDateLabel = t('date not selected');\n\n\tif (isObject(timeAgo)) {\n\t\ttableName = timeAgo.tableName;\n\t}\n\n\tconst updateDate = createUpdateDateFunction({\n\t\tdispatch,\n\t\tcurrentStart: start,\n\t\tcurrentEnd: end,\n\t\tformat,\n\t\tlanguage,\n\t\tweeklyView,\n\t\tisoWeek\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`panel-container${timeAgo ? ' is-preset' : ''}`}\n\t\t\tref={rangePickerRef}\n\t\t>\n\t\t\t{timeAgo ? (\n\t\t\t\t<div className=\"date-preset-container\">\n\t\t\t\t\t<sn-date-preset-panel-connected\n\t\t\t\t\t\tvalue={timeAgoLabel}\n\t\t\t\t\t\ttableName={tableName}\n\t\t\t\t\t\tbetween={false}\n\t\t\t\t\t\tabsolute={true}\n\t\t\t\t\t\thasTime={hasTime}\n\t\t\t\t\t\tformat={format}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t<div className=\"date-picker-container\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"date-pickers\"\n\t\t\t\t\taria-label={t('Selected Date Range : {Start} to {End}', {\n\t\t\t\t\t\tStart: start || defaultDateLabel,\n\t\t\t\t\t\tEnd: end || defaultDateLabel\n\t\t\t\t\t}).trim()}\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"date-picker-start\">\n\t\t\t\t\t\t<sn-standard-month-grid\n\t\t\t\t\t\t\tvisibleMonth={leftVisibleMonth}\n\t\t\t\t\t\t\tstart={start}\n\t\t\t\t\t\t\tend={end}\n\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\t\t\t\trangePicker={true}\n\t\t\t\t\t\t\tsourceField={sourceField}\n\t\t\t\t\t\t\tonSelectDate={updateDate(sourceField)}\n\t\t\t\t\t\t\tonControlExit={onControlExit(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tfromRef,\n\t\t\t\t\t\t\t\ttoRef,\n\t\t\t\t\t\t\t\tsourceField\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonHighlightedDate={onHighlightedDate(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tvisibleMonth,\n\t\t\t\t\t\t\t\tformat\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChangeMonth={date =>\n\t\t\t\t\t\t\t\tdispatch(SET_VISIBLE_MONTH, { visibleMonth: date })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowAdjacentMonthDays={showAdjacentMonthDays}\n\t\t\t\t\t\t\tonEndDayHover={updateEndHoverValue(dispatch, format)}\n\t\t\t\t\t\t\thoverEnd={hoverEnd}\n\t\t\t\t\t\t\tweeklyView={weeklyView}\n\t\t\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\t\t\thighlightedDate={time(language)(highlightedDate, format)}\n\t\t\t\t\t\t\thasFocus={\n\t\t\t\t\t\t\t\tSOURCE_FIELD_START === sourceField ||\n\t\t\t\t\t\t\t\tSOURCE_FIELD_END === sourceField\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabledDays={getDisabledDays(\n\t\t\t\t\t\t\t\tleftVisibleMonth,\n\t\t\t\t\t\t\t\tformat,\n\t\t\t\t\t\t\t\tdisabledDates,\n\t\t\t\t\t\t\t\tweeklyView,\n\t\t\t\t\t\t\t\tisoWeek\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tenableMonthNavigationChevrons={false}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<span className=\"spacer\" />\n\t\t\t\t\t<div className=\"date-picker-end\">\n\t\t\t\t\t\t<sn-standard-month-grid\n\t\t\t\t\t\t\tvisibleMonth={rightVisibleMonth}\n\t\t\t\t\t\t\tstart={start}\n\t\t\t\t\t\t\tend={end}\n\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\trangePickerRef={rangePickerRef}\n\t\t\t\t\t\t\trangePicker={true}\n\t\t\t\t\t\t\tsourceField={sourceField}\n\t\t\t\t\t\t\tonSelectDate={updateDate(sourceField)}\n\t\t\t\t\t\t\tonControlExit={onControlExit(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tfromRef,\n\t\t\t\t\t\t\t\ttoRef,\n\t\t\t\t\t\t\t\tsourceField\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonHighlightedDate={onHighlightedDate(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tvisibleMonth,\n\t\t\t\t\t\t\t\tformat\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChangeMonth={date =>\n\t\t\t\t\t\t\t\tdispatch(SET_VISIBLE_MONTH, {\n\t\t\t\t\t\t\t\t\tvisibleMonth: date.subtract(1, 'month')\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowAdjacentMonthDays={showAdjacentMonthDays}\n\t\t\t\t\t\t\tonEndDayHover={updateEndHoverValue(dispatch, format)}\n\t\t\t\t\t\t\thoverEnd={hoverEnd}\n\t\t\t\t\t\t\tweeklyView={weeklyView}\n\t\t\t\t\t\t\tisoWeek={isoWeek}\n\t\t\t\t\t\t\thighlightedDate={time(language)(highlightedDate, format)}\n\t\t\t\t\t\t\thasFocus={\n\t\t\t\t\t\t\t\tSOURCE_FIELD_START === sourceField ||\n\t\t\t\t\t\t\t\tSOURCE_FIELD_END === sourceField\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabledDays={getDisabledDays(\n\t\t\t\t\t\t\t\trightVisibleMonth,\n\t\t\t\t\t\t\t\tformat,\n\t\t\t\t\t\t\t\tdisabledDates,\n\t\t\t\t\t\t\t\tweeklyView,\n\t\t\t\t\t\t\t\tisoWeek\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tenableMonthNavigationChevrons={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t{hasFooter ? (\n\t\t\t\t\t<div className=\"date-picker-panel-footer\">\n\t\t\t\t\t\t{hasTime ? (\n\t\t\t\t\t\t\t<div className=\"time-picker-row\">\n\t\t\t\t\t\t\t\t<div className=\"time-picker\">\n\t\t\t\t\t\t\t\t\t<now-record-time\n\t\t\t\t\t\t\t\t\t\tname={`${name}-start-time-picker`}\n\t\t\t\t\t\t\t\t\t\tlabel={t('Select Time')}\n\t\t\t\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\t\t\t\tvalue={start}\n\t\t\t\t\t\t\t\t\t\ton-focus={() =>\n\t\t\t\t\t\t\t\t\t\t\tdispatch(SET_SOURCE_FIELD, {\n\t\t\t\t\t\t\t\t\t\t\t\tsourceField: SOURCE_FIELD_START\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonValueChange={({ value }) => {\n\t\t\t\t\t\t\t\t\t\t\tvalue =\n\t\t\t\t\t\t\t\t\t\t\t\tvalue || time(language)(start, format).startOf('day');\n\t\t\t\t\t\t\t\t\t\t\tupdateDate(SOURCE_FIELD_START, true)(value);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div className=\"time-picker\">\n\t\t\t\t\t\t\t\t\t<now-record-time\n\t\t\t\t\t\t\t\t\t\tname={`${name}-end-time-picker`}\n\t\t\t\t\t\t\t\t\t\tlabel={t('Select Time')}\n\t\t\t\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\t\t\t\tvalue={end}\n\t\t\t\t\t\t\t\t\t\ton-focus={() =>\n\t\t\t\t\t\t\t\t\t\t\tdispatch(SET_SOURCE_FIELD, {\n\t\t\t\t\t\t\t\t\t\t\t\tsourceField: SOURCE_FIELD_END\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonValueChange={({ value }) => {\n\t\t\t\t\t\t\t\t\t\t\tvalue = value || time(language)(end, format).endOf('day');\n\t\t\t\t\t\t\t\t\t\t\tupdateDate(SOURCE_FIELD_END, true)(value);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{requireConfirmation ? pickerConfirm({ dispatch }) : null}\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n}\n","import { SET_START_AND_END } from './actionHandlers';\nimport { getErrors } from './dateRangeUtils';\nimport { time } from '@devsnc/sn-controls-common';\nimport { onControlExit } from './date-picker-panel/view';\nimport { get } from 'lodash';\nimport {\n\tWEEKLY_TYPE,\n\tSTANDARD_VIEW_TAG,\n\tMONTHLY_VIEW_TAG,\n\tYEARLY_VIEW_TAG,\n\tQUARTERLY_VIEW_TAG\n} from './constants';\nimport { t } from 'sn-translate';\n\nconst isDateValidNotEmpty = date => {\n\treturn date.isValid() && date.toString() !== t('Invalid date');\n};\n\n// Due to the way that now-popover hoists elements, it'll cause\n// an immediate blur from the element. We need to make sure\n// the blur event is actually from a blur rather than\n// the focus moving to the hoisted content\nconst isFocusOnHoistedElement = action => {\n\tconst relatedTarget = get(action, 'meta.event.relatedTarget');\n\n\tif (!relatedTarget || relatedTarget.tagName !== 'SEISMIC-HOIST') return false;\n\n\tconst targetFor = relatedTarget.getAttribute('target-for');\n\tconst regex = new RegExp(\n\t\t`${STANDARD_VIEW_TAG}|${MONTHLY_VIEW_TAG}|${YEARLY_VIEW_TAG}|${QUARTERLY_VIEW_TAG}`\n\t);\n\treturn targetFor.match(regex);\n};\n\nexport const blurEventEffect = ({\n\taction,\n\tdispatch,\n\tstate,\n\tproperties,\n\tcancel\n}) => {\n\tif (isFocusOnHoistedElement(action)) return;\n\n\tlet { format, requireConfirmation } = state;\n\tlet { language, disabledDates = [] } = properties;\n\n\tconst originalStart = time(language)(state.originalStart, format, true);\n\tconst originalEnd = time(language)(state.originalEnd, format, true);\n\tif (\n\t\tstate.popoverOpened &&\n\t\t(cancel || (cancel === undefined && requireConfirmation))\n\t) {\n\t\tdispatch(SET_START_AND_END, {\n\t\t\tstart: originalStart.isValid() ? originalStart.format(format) : '',\n\t\t\tend: originalEnd.isValid() ? originalEnd.format(format) : '',\n\t\t\tpreset: state.preset,\n\t\t\t...getErrors({\n\t\t\t\tstart: state.originalStart,\n\t\t\t\tend: state.originalEnd,\n\t\t\t\tlanguage,\n\t\t\t\tformat,\n\t\t\t\tdisabledDates,\n\t\t\t\tproperties\n\t\t\t})\n\t\t});\n\t\treturn;\n\t}\n\n\tconst pendingStart = state.pendingStart;\n\tconst pendingEnd = state.pendingEnd;\n\tlet startDate = time(language)(pendingStart, format, true);\n\tlet endDate = time(language)(pendingEnd, format, true);\n\n\tconst isWeekly = properties.type === WEEKLY_TYPE;\n\n\t//dispatch with formatted\n\tdispatch(SET_START_AND_END, {\n\t\tstart:\n\t\t\tisDateValidNotEmpty(startDate) && !isWeekly\n\t\t\t\t? startDate.format(format)\n\t\t\t\t: pendingStart,\n\t\tend:\n\t\t\tisDateValidNotEmpty(endDate) && !isWeekly\n\t\t\t\t? endDate.format(format)\n\t\t\t\t: pendingEnd,\n\t\tpreset: state.preset,\n\t\t...getErrors({\n\t\t\tstart: pendingStart,\n\t\t\tend: pendingEnd,\n\t\t\tlanguage,\n\t\t\tformat,\n\t\t\tdisabledDates,\n\t\t\tproperties\n\t\t})\n\t});\n};\n\nexport default [\n\t{\n\t\tevents: ['keydown'],\n\t\teffect: ({\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: { event }\n\t\t\t},\n\t\t\tproperties: { sourceField, toRef, fromRef }\n\t\t}) => {\n\t\t\tif (event.key === 'Escape')\n\t\t\t\tonControlExit(dispatch, fromRef, toRef, sourceField)(event);\n\t\t}\n\t}\n];\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\nimport view from './view';\nimport actionHandlers from './actionHandlers';\nimport styles from './panel.scss';\n\nimport { onControlExit } from './view';\n\n// Ensure STANDARD_VIEW_TAG in src/constants matches elementName below\ncreateCustomElement('sn-controls-standard-range', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tstart: { default: '' },\n\t\tend: { default: '' },\n\t\thighlightedDate: { default: '' },\n\t\tvisibleMonth: {},\n\t\tformat: {},\n\t\thasTime: { default: false, type: 'boolean' },\n\t\tname: { default: '' },\n\t\tsourceField: {},\n\t\tpresets: {},\n\t\tpreset: {},\n\t\topened: { default: false },\n\t\tonValueChange: {},\n\t\tfromRef: {},\n\t\ttoRef: {},\n\t\tlanguage: {},\n\t\tweeklyView: { default: false },\n\t\tisoWeek: { default: false, type: 'boolean' },\n\t\trequireConfirmation: { default: false },\n\t\tdisabledDates: {},\n\t\trangePicker: {},\n\t\ttimeAgoLabel: { default: '' },\n\t\tshowAdjacentMonthDays: { default: true },\n\t\t/**\n\t\t * Toggles whether or not to show the TimeAgo Preset Panel\n\t\t *\n\t\t * Passing in false will hide the panel altogether.\n\t\t * Passing in true will show the panel with default config which is {tableName: ''}.\n\t\t * Passing in a configObject will show the panel with the config as passed in.\n\n\t\t * tableName - tableName for the Business Calendar Relative fields.\n\t\t * \n\t\t * @type {(boolean|{ tableName: string })}\n\t\t *\n\t\t */\n\t\ttimeAgo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{ type: 'boolean' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttableName: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [{ behavior: rtlBehavior }],\n\tactionHandlers,\n\tstyles,\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: ({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { event }\n\t\t\t\t},\n\t\t\t\tproperties: { sourceField, toRef, fromRef }\n\t\t\t}) => {\n\t\t\t\tif (event.key === 'Escape')\n\t\t\t\t\tonControlExit(dispatch, fromRef, toRef, sourceField)(event);\n\t\t\t}\n\t\t}\n\t]\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { t } from 'sn-translate';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tfieldLayoutSchema,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\nimport view from './view';\nimport styles from './styles.scss';\nimport eventHandlers from './eventHandlers';\nimport actionHandlers from './actionHandlers';\nimport './date-picker-panel';\n\nexport let defaultPresets = [\n\t{\n\t\tid: 'custom',\n\t\tlabel: t('Custom')\n\t},\n\t{\n\t\tid: 'last 7 days',\n\t\tlabel: t('Last 7 Days'),\n\t\tstart: {\n\t\t\toffset: '-7',\n\t\t\tunit: 'days'\n\t\t}\n\t},\n\t{\n\t\tid: 'last month',\n\t\tlabel: t('Last Month'),\n\t\tstart: {\n\t\t\toffset: '-1',\n\t\t\tunit: 'months'\n\t\t}\n\t},\n\t{\n\t\tid: 'last 3 months',\n\t\tlabel: t('Last 3 Months'),\n\t\tstart: {\n\t\t\toffset: '-3',\n\t\t\tunit: 'months'\n\t\t}\n\t},\n\t{\n\t\tid: 'last 6 months',\n\t\tlabel: t('Last 6 Months'),\n\t\tstart: {\n\t\t\toffset: '-6',\n\t\t\tunit: 'months'\n\t\t}\n\t},\n\t{\n\t\tid: 'year to date',\n\t\tlabel: t('Year To Date'),\n\t\tstart: {\n\t\t\tabsolute: true,\n\t\t\tmethod: 'startOf',\n\t\t\tvalue: 'year'\n\t\t}\n\t},\n\t{\n\t\tid: 'last year',\n\t\tlabel: t('Last Year'),\n\t\tstart: {\n\t\t\toffset: '-1',\n\t\t\tunit: 'year'\n\t\t}\n\t}\n];\n\n/**\n * Component used to select a custom range of dates or select from a preset of date ranges.\n *\n * ```jsx\n * <now-date-range-picker start=\"10-01-2005\" end=\"11-03-2005\" preset=\"custom \"/>\n *\n * // pass only relative preset\n * <now-date-range-picker preset=\"last month\"/>\n *\n * // custom presets\n * <now-date-range-picker\n *   preset=\"last 11 days\"/>\n *   presets={[\n *     id: 'last 11 days',\n *     label: t('Last 11 days'),\n *     start: {\n *       offset: '-11',\n *       unit: 'days'\n *     }\n *   ]}\n * />\n * ```\n *\n * @seismicElement now-date-range-picker\n * @summary Component used to select a custom range of dates or select from a preset of date ranges.\n */\ncreateCustomElement('now-date-range-picker', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Type determines the display view of the date-range-picker.\n\t\t * Supported values are `standard`, `weekly`, `monthly`,`quarterly` and `yearly`.\n\t\t * @type {string}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'standard',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['standard', 'weekly', 'monthly', 'quarterly', 'yearly']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Date string for ending of the range that matches the passed in `format`\n\t\t * @type {string}\n\t\t */\n\t\tend: {},\n\t\t/**\n\t\t * Toggles whether or not to show the Ok and Cancel buttons.\n\t\t * @type {string}\n\t\t */\n\t\trequireConfirmation: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Date format for the date string.\n\t\t * This property is only relevant for `type='standard'` and is ignored for other views.\n\t\t *\n\t\t * When not provided, the default format is `YYYY-MM-DD` and `YYYY-MM-DD hh:mm:ss a` when\n\t\t * `has-time` is set to true.\n\t\t *\n\t\t * @type {string}\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t *\n\t\t */\n\t\tformat: {},\n\t\t/**\n\t\t * When true, enables selecting a time range.\n\t\t *\n\t\t * When start time is cleared, defaults to the beginning of that day.\n\t\t * When end time is cleared, defaults to the end of that day.\n\t\t *\n\t\t * When not provided, the default format is `YYYY-MM-DD`.\n\t\t * @type {boolean}\n\t\t *\n\t\t */\n\t\thasTime: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t *\n\t\t * Toggles whether to use Leap Week with 53 weeks as needed for Weekly View Only (type : `weekly`)\n\t\t * Not supported on `standard`, `monthly`, `quarterly`, `yearly` type Views.\n\t\t *\n\t\t * ISO Week (ISO 8601) https://en.wikipedia.org/wiki/ISO_week_date\n\t\t *\n\t\t * ISO week starts with Monday\n\t\t *\n\t\t * If 1 January is on a Monday, Tuesday, Wednesday or Thursday, it is in W01.\n\t\t * If it is on a Friday, it is part of W53 of the previous year.\n\t\t * If it is on a Saturday, it is part of the last week of the previous year\n\t\t *      which is numbered W52 in a common year and W53 in a leap year.\n\t\t * If it is on a Sunday, it is part of W52 of the previous year.\n\t\t *\n\t\t *\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tisoWeek: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t * Label for the Start field that is shown to the user.\n\t\t * @type {string}\n\t\t */\n\t\tlabelStart: { default: t('Start') },\n\t\t/**\n\t\t * Label for the End field that is shown to the user.\n\t\t * @type {string}\n\t\t */\n\t\tlabelEnd: { default: t('End') },\n\t\t/**\n\t\t * String that defines the user's language and region.\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: { default: 'en-US' },\n\t\t/**\n\t\t * Name for the component.\n\t\t * @type {string}\n\t\t *\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Optional callback that gets called with `{ start, end, preset }`.\n\t\t * @type {function}\n\t\t * @private\n\t\t *\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * The preset from `presets` to initially use.\n\t\t * @type {string}\n\t\t *\n\t\t * When not provided, the default preset is custom\n\t\t *\n\t\t */\n\t\tpreset: { default: 'custom' },\n\t\t/**\n\t\t * Presets to display as selected range.\n\t\t *\n\t\t * Array of objects in the shape of\n\t\t * { start: DateTransform, end: DateTransform }\n\t\t *\n\t\t * DateTransform: {\n\t\t *   offset: String/Number providing the offset value for the `unit`\n\t\t *   unit: String that is one of the units supported by moment.js\n\t\t *   inclusive: Boolean determining if the side of range is inclusive\n\t\t *\n\t\t *   absolute: Boolean override that allows consumer to manually set the date\n\t\t *   method: String for the method used when `absolute` is true to manipulate the date\n\t\t *   value: String for the argument passed to `method` when `absolute` is true\n\t\t * }\n\t\t *\n\t\t * @type {object}\n\t\t * @see [Moment units](https://momentjs.com/docs/#/manipulating/add/\n\t\t */\n\t\tpresets: { default: defaultPresets },\n\t\t/**\n\t\t * Decide whether to show adjacent month days or not in the grid\n\t\t *\n\t\t */\n\t\tshowAdjacentMonthDays: { default: true },\n\t\t/**\n\t\t * Date string for starting of the range that matches the passed in `format`\n\t\t * @type {string}\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Toggles whether or not to show the TimeAgo Preset Panel for Standard View Only (type : `standard`)\n\t\t * Not supported on `weekly`, `monthly`, `quarterly`, `yearly` type Views.\n\t\t *\n\t\t * Passing in false will hide the panel altogether.\n\t\t * Passing in true will show the panel with default config which is {tableName: ''}.\n\t\t * Passing in a configObject will show the panel with the config as passed in.\n\t\t *\n\t\t * tableName - tableName for the Business Calendar Relative fields.\n\t\t *\n\t\t * @type {(boolean|{ tableName: string })}\n\t\t *\n\t\t */\n\t\ttimeAgo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{ type: 'boolean' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttableName: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Array of disabled dates defined as\n\t\t * `[ (DATE | DATE_RANGE)* ]`\n\t\t *\n\t\t * `DATE`:\n\t\t * \tDate string matching `format` property\n\t\t *\n\t\t * `DATE_RANGE`:\n\t\t * \t{ start: `DATE`, end: `DATE` } | { after: `DATE` } | { before: `DATE` }\n\t\t *\n\t\t * where `start`/`end` are inclusive and `after`/`before` are exclusive\n\t\t * eg. [ '13-01-2020', { start: '15-01-2020', end: '20-01-2020' }, { before: '05-01-2020' }, { after: '25-01-2020' }]\n\t\t *\n\t\t * @type { Array < string | {start: string, end: string} | {before: string} | {after: string} > }\n\t\t * @see [Moment format string](https://momentjs.com/docs/#/displaying/format/).\n\t\t */\n\t\tdisabledDates: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{ type: 'string' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: { start: { type: 'string' }, end: { type: 'string' } },\n\t\t\t\t\t\trequired: ['start', 'end']\n\t\t\t\t\t},\n\t\t\t\t\t{ type: 'object', properties: { before: { type: 'string' } } },\n\t\t\t\t\t{ type: 'object', properties: { after: { type: 'string' } } }\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, enables Right to Left behavior (RTL)\n\t\t * @type {boolean}\n\t\t *\n\t\t * When not provided, the default value is `false`\n\t\t *\n\t\t */\n\t\treversed: { default: false, type: 'boolean' },\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\treadonly: { default: false, type: 'boolean' },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {boolean|string}\n\t\t */\n\t\trequired: {},\n\t\t/**\n\t\t * The start and end value can be the same\n\t\t * @type {boolean}\n\t\t * @uib.label Enable same day\n\t\t * @uib.description Allows users to select duplicate values for start and end inputs.\n\t\t * @uib.fieldType boolean\n\t\t */\n\t\tenableSameDay: { default: false, schemas: { type: 'boolean' } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Configures the range of years visible in the calendar.\n\t\t * Can either be relative to the current year, or an absolute range.\n\t\t * The default range is 100 years before and after the current year.\n\t\t * Note: years can be input in the field even if outside of this range.\n\t\t * @type {{start: number, end: number, relative: boolean}}\n\t\t */\n\t\tyearRange: {\n\t\t\tdefault: { start: -100, end: 100, relative: true },\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstart: { type: 'number' },\n\t\t\t\t\tend: { type: 'number' },\n\t\t\t\t\trelative: { type: 'boolean' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tstyles,\n\tactionHandlers,\n\tbehaviors: [\n\t\t{ behavior: rtlBehavior },\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t],\n\teventHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the date range is changed.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_DATE_RANGE_PICKER#VALUE_CHANGED': {}\n\t},\n\tinitialState: {\n\t\tselectedTimeAgoPreset: false\n\t}\n});\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport moment from 'moment';\nimport { padStart, reduceRight, map, parseInt, clamp, isEqual } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { SNInputGroup, Input } from '@devsnc/sn-record-input';\n\nimport {\n\taccessibilityAttributes,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\n\n// Unit names and limiting values. Each key+value generates\n// an input field, with the key name used as the input label.\n//\n// Descending order is significant to render the fields in the\n// correct order and handle the `maxUnit` prop. All supported\n// browsers maintain key order in objects.\nconst UNIT_LIMITS = {\n\tdays: Infinity,\n\thours: 24,\n\tminutes: 60,\n\tseconds: 60\n};\n\nconst EMPTY_VALUE = '00 00:00:00';\nconst UNIT_NAMES = Object.keys(UNIT_LIMITS);\nconst DISPLAY_UNIT_NAMES = [t('Days'), t('Hours'), t('Minutes'), t('Seconds')];\n\n/**\n * Simplify values state by carrying any overflowing\n * unit to the next biggest unit.\n *\n * e.g.:\n *\n * normalizeState({\n *\tseconds: 125\n * })\n *\n * =>\n *\n * {\n *\tseconds: 5,\n *\tminutes: 2\n * }\n */\nconst normalizeState = (values, maxUnit) => {\n\treturn reduceRight(\n\t\tUNIT_NAMES,\n\t\t(result, unitName, index) => {\n\t\t\tconst carry = result[unitName] || 0;\n\t\t\tconst minValue = unitName === 'days' ? Number.MIN_SAFE_INTEGER : 0;\n\t\t\tconst value = clamp(\n\t\t\t\tparseInt(values[unitName], 10) + carry,\n\t\t\t\tminValue,\n\t\t\t\tNumber.MAX_SAFE_INTEGER\n\t\t\t);\n\n\t\t\tif (Number.isNaN(value)) {\n\t\t\t\tresult[unitName] = 0;\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// We can always have any number of whatever the largest unit type is...\n\t\t\tconst limit = maxUnit === unitName ? Infinity : UNIT_LIMITS[unitName];\n\t\t\tif (value >= limit) {\n\t\t\t\tconst nextCarry = Math.floor(value / limit);\n\t\t\t\tconst nextUnitName = UNIT_NAMES[index - 1];\n\n\t\t\t\t// store carry for the next unit in results object directly. Next\n\t\t\t\t// iteration will add this existing carry to the value from the\n\t\t\t\t// function params.\n\t\t\t\tif (nextUnitName) {\n\t\t\t\t\tresult[nextUnitName] = nextCarry;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresult[unitName] = value % limit;\n\t\t\treturn result;\n\t\t},\n\t\t{}\n\t);\n};\n\n/**\n * For duration fields, the value received in the liveUpdate will always be in\n * the format 'YYYY-MM-DD HH:mm:ss' (regardless of user system property preferences\n * changing format of date and/or time), and the base value is '1970-01-01 00:00:00'.\n * This function is made for the purpose of changing the value to the format that\n * the duration field expects, which happens to be 'd HH:mm:ss'.\n */\nconst normalizeDurationValue = value => {\n\tconst dateValue = moment(value, 'YYYY-MM-DD HH:mm:ss', true);\n\n\tif (dateValue.isValid()) {\n\t\tconst days = dateValue.diff(moment('1970-01-01'), 'days');\n\t\tvalue = `${days} ${dateValue.format('HH:mm:ss').toString()}`;\n\t}\n\n\treturn value;\n};\n\n/**\n * Parse an incoming string value, creating an object mapping\n * unit name to value.\n *\n * e.g.,\n * parseValue('05 12:30:14')\n * =>\n * {\n *\tdays: 05,\n *\thours: 12,\n *\tminutes: 30,\n *\tseconds: 14\n * }\n *\n * omitting segments in the input value is okay and will be treated as 0 for\n * that segment.\n */\nexport const parseValue = (value, maxUnit) => {\n\tlet durationString = String(normalizeDurationValue(value));\n\tlet isNegativeDuration = false;\n\n\tif (durationString.charAt(0) === '-') {\n\t\tisNegativeDuration = true;\n\t\tdurationString = durationString.substring(1);\n\t}\n\n\tconst values = durationString.split(/\\D/);\n\n\tif (isNegativeDuration) values[0] = String(values[0] * -1);\n\n\tconst state = reduceRight(\n\t\tUNIT_NAMES,\n\t\t(result, unit) => {\n\t\t\tresult[unit] = parseInt(values.pop(), 10) || 0;\n\t\t\treturn result;\n\t\t},\n\t\t{}\n\t);\n\n\treturn normalizeState(state, maxUnit);\n};\n\n/**\n * Renders a group of inputs that represent a duration of time. The format for\n * the value prop must be: `dd hh:mm:ss`, although missing segments are valid.\n */\nexport default (state, { updateState }) => {\n\tconst { onValueChange = state.properties.onValueChange } = state;\n\tconst {\n\t\tmaxUnit,\n\t\tcomponentId,\n\t\thideUnitLabels,\n\t\tautofocus,\n\t\tinvalid,\n\t\tsecondsReadOnly,\n\t\treadonly,\n\t\tseparator,\n\t\tlabel,\n\t\tfieldLayout,\n\t\trequired,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\t/**\n\t * Opposite of `parseValue`. Takes an object of segment values and returns\n\t * a formatted string.\n\t *\n\t * Right now this is pretty much hardcoded to the format:\n\t *\n\t *\tdd HH:MM:SS\n\t */\n\tconst formatValue = values => {\n\t\tconst [days, ...rest] = map(UNIT_NAMES, name =>\n\t\t\tpadStart(values[name], 2, '0')\n\t\t);\n\t\treturn `${days} ${rest.join(':')}`;\n\t};\n\n\tconst onChange = event => {\n\t\tupdateState({\n\t\t\t[event.target.name]: event.target.value\n\t\t});\n\t};\n\n\tconst onFocus = event => {\n\t\tupdateState({\n\t\t\t[`hasFocus-${event.target.name}`]: true,\n\t\t\thasParentFocus: true\n\t\t});\n\t};\n\n\tconst onBlur = event => {\n\t\tupdateState({\n\t\t\t[`hasFocus-${event.target.name}`]: false,\n\t\t\thasParentFocus: false\n\t\t});\n\t\tconst normalizedState = normalizeState({\n\t\t\t...state,\n\t\t\t[event.target.name]: event.target.value || 0\n\t\t});\n\n\t\tconst value = formatValue(normalizedState);\n\n\t\tupdateState({ ...normalizedState });\n\n\t\tif (isEqual(value, EMPTY_VALUE)) {\n\t\t\tonValueChange({ event, value: '' });\n\t\t} else {\n\t\t\tonValueChange({ event, value });\n\t\t}\n\n\t\t// when the value inputted is invalid more than once, the state === previousState.\n\t\t// force a render when the number is invalid so that the input updates w/ correct values\n\t\t// if (isInvalidNumber(value)) {\n\t\t// \tforceUpdate();\n\t\t// }\n\t};\n\n\tconst maxUnitIndex = Math.max(0, UNIT_NAMES.indexOf(maxUnit));\n\n\treturn (\n\t\t<SNInputGroup\n\t\t\t{...state.properties}\n\t\t\t{...state}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t>\n\t\t\t{map(UNIT_NAMES, (name, index) => {\n\t\t\t\tif (index >= maxUnitIndex) {\n\t\t\t\t\tconst childId = `${componentId}-${name}`;\n\t\t\t\t\tconst ariaLabel = t('{fieldLabel} {durationUnit}', {\n\t\t\t\t\t\tfieldLabel: label || '',\n\t\t\t\t\t\tdurationUnit: DISPLAY_UNIT_NAMES[index]\n\t\t\t\t\t}).trim();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={name}>\n\t\t\t\t\t\t\t{separator && index > maxUnitIndex && (\n\t\t\t\t\t\t\t\t<span className=\"sn-record-duration-separator\">\n\t\t\t\t\t\t\t\t\t{separator}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tclassName=\"sn-control-input\"\n\t\t\t\t\t\t\t\t{...accessibilityAttributes(state.properties)}\n\t\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t\t\tcomponentId={childId}\n\t\t\t\t\t\t\t\treadonly={\n\t\t\t\t\t\t\t\t\treadonly ||\n\t\t\t\t\t\t\t\t\t(secondsReadOnly && index === UNIT_NAMES.length - 1)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tinvalid={invalid}\n\t\t\t\t\t\t\t\tautofocus={index === 0 && autofocus}\n\t\t\t\t\t\t\t\tkey={name}\n\t\t\t\t\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\t\t\t\t\tlabel={hideUnitLabels ? undefined : DISPLAY_UNIT_NAMES[index]}\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tfield-layout={fieldLayout}\n\t\t\t\t\t\t\t\tvalue={String(state[name])}\n\t\t\t\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\tcreatedCallbacks={true}\n\t\t\t\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\t\t\t\thasFocus={state[`hasFocus-${name}`]}\n\t\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t\t\thideRequiredIndicator={true}\n\t\t\t\t\t\t\t\tshowUnsavedIndicator={false}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t})}\n\t\t<\/SNInputGroup>\n\t);\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\n\nimport {\n\ttransformState,\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView\n} from '@devsnc/sn-controls-common';\n\nimport SNDuration, { parseValue } from './SNDuration';\nimport style from './duration.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\n/**\n *\n * ```jsx\n * <sn-record-duration name=\"duration\" label=\"Duration\" value=\"03 12:45:00\" />\n * ```\n *\n *\n * ```jsx\n * <sn-record-duration\n *     label=\"Only minutes and seconds here\"\n *     name=\"minutes-max\"\n *     value=\"45:00\"\n *     maxUnit=\"minutes\"\n * />\n * ```\n *\n * @seismicElement sn-record-duration\n * @summary Duration component allowing users to enter duration of time in days, hours, minutes and seconds.\n *\n * */\n\ncreateCustomElement('sn-record-duration', {\n\tview: withValueChangeCallbacksView(SNDuration),\n\tstyles: style,\n\tsetInitialState({ properties }) {\n\t\tconst { value, maxUnit } = properties;\n\t\treturn {\n\t\t\t...parseValue(value, maxUnit),\n\t\t\thasParentFocus: false\n\t\t};\n\t},\n\tactionHandlers: {\n\t\t'SN_RECORD_INPUT#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_INPUT#STAGED_VALUE_CHANGED': { stopPropagation: true },\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name, value, previousValue }\n\t\t\t},\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t\tproperties\n\t\t}) => {\n\t\t\tif (\n\t\t\t\tname === 'value' &&\n\t\t\t\tpreviousValue !== value &&\n\t\t\t\t!state.hasParentFocus\n\t\t\t) {\n\t\t\t\tupdateState(parseValue(value, properties.maxUnit));\n\t\t\t}\n\t\t}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * The largest unit that the user can interact with.\n\t\t * @type {string}\n\t\t */\n\t\tmaxUnit: {},\n\n\t\t/**\n\t\t * When true, will hide the unit name labels\n\t\t * @type {boolean}\n\t\t */\n\t\thideUnitLabels: {},\n\n\t\t/**\n\t\t * When true, will use the specified string as a separator for the input fields\n\t\t * @type {string}\n\t\t */\n\t\tseparator: {},\n\n\t\t/**\n\t\t * When true, the seconds input will be read only\n\t\t * @type {boolean}\n\t\t */\n\t\tsecondsReadOnly: {},\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t *\n\t\t * `type:any` event.value - The new value for the component\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type\n\t\t *\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user blurs off of the component\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_DURATION#VALUE_CHANGED': {}\n\t},\n\ttransformState,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t},\n\t\t{ behavior: truncationBehavior },\n\t\t{ behavior: tooltipBehavior }\n\t]\n});\n\nexport default SNDuration;\n","import '@devsnc/sn-declarative-actions';\nimport { getDeclarativeActionsProps } from '@devsnc/sn-controls-common';\n\nexport const renderDeclarativeActions = (\n\tproperties,\n\tdispatch,\n\toverrideDAProps = true\n) => {\n\tconst declarativeActionsProps = overrideDAProps\n\t\t? getDeclarativeActionsProps(properties.declarativeActionsProps, properties)\n\t\t: properties.declarativeActionsProps || {};\n\treturn (\n\t\t<sn-declarative-field-action\n\t\t\tslot=\"end\"\n\t\t\tmodel={declarativeActionsProps}\n\t\t\tactions={declarativeActionsProps.declarativeUiActions}\n\t\t\tdispatch={dispatch}\n\t\t\tformData={properties.formData}\n\t\t\tfetchDeclarativeActions={declarativeActionsProps.fetchDeclarativeActions}\n\t\t/>\n\t);\n};","import { t } from 'sn-translate';\n\nimport '@servicenow/now-input';\nimport {\n\tisAttrTrue,\n\twrapHelperContent,\n\tgetAriaLabelFromConfig,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\ttransformDescriptionAndMessages,\n\trenderHighlightedValue,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\n\nimport { renderDeclarativeActions } from './declarativeActions';\n\nconst renderAdaptedControlSlot = () => <slot name=\"controls\" slot=\"end\" />;\n\nconst renderEmailTrigger = state => {\n\tconst { stagedValue } = state;\n\tconst { label, hideEmailIcon } = state.properties;\n\tconst hideEmailIconProp = isAttrTrue(hideEmailIcon);\n\tconst tooltipLabel = t('Send e-mail');\n\treturn (\n\t\t<span slot=\"end\">\n\t\t\t{!!stagedValue && !hideEmailIconProp && (\n\t\t\t\t<sn-record-control\n\t\t\t\t\ticon=\"envelope-outline\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': t(\n\t\t\t\t\t\t\t'Field action for {0}: {1}: {2}',\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\ttooltipLabel,\n\t\t\t\t\t\t\tstagedValue\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t\ttooltip={tooltipLabel}\n\t\t\t\t\ton-click={() => (window.location.href = `mailto:${stagedValue}`)}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/span>\n\t);\n};\n\nconst view = (state, { dispatch }) => {\n\tconst { properties } = state;\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tautofocus,\n\t\tplaceholder,\n\t\treadonly,\n\t\trequired,\n\t\thighlightedValue,\n\t\thelperContent,\n\t\tdescription,\n\t\tmaxlength,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\tconst hasStateMessages = state.messages?.length > 0;\n\tconst hasPropertyMessages = properties.messages?.length > 0;\n\tconst usePropertyMessages = hasPropertyMessages && !state.isFieldValid;\n\tconst invalid = !(hasStateMessages || state.isFieldValid)\n\t\t? properties.invalid\n\t\t: false;\n\n\tconst nonErrorPropertyMessages =\n\t\tproperties.messages?.filter(msg => msg.type !== 'error') || [];\n\n\tconst messages = hasStateMessages\n\t\t? state.messages.concat(nonErrorPropertyMessages)\n\t\t: usePropertyMessages\n\t\t\t? properties.messages\n\t\t\t: nonErrorPropertyMessages;\n\n\tlet resolvedPlaceholder =\n\t\tplaceholder ||\n\t\t(Array.isArray(properties.fieldRegex) &&\n\t\t\tproperties.fieldRegex[0]?.placeholder);\n\n\treturn (\n\t\t<now-input\n\t\t\tname={name}\n\t\t\ttype=\"email\"\n\t\t\tautofocus={autofocus}\n\t\t\tinvalid={invalid}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmaxlength={maxlength}\n\t\t\tplaceholder={resolvedPlaceholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tvalue={state.value}\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\tmanage-invalid={true}\n\t\t\tmanage-value={true}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\tlabel\n\t\t\t\t})\n\t\t\t)}\n\t\t\t{renderAdaptedControlSlot()}\n\t\t\t{renderEmailTrigger(state)}\n\t\t\t{renderDeclarativeActions(state.properties, dispatch)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { t } from 'sn-translate';\nimport {\n\ttransformState,\n\tcreateWithStateBehavior,\n\twithState,\n\ttrackBehavior,\n\tisEmail,\n\tsetInitialStateWithValue,\n\tfieldLayoutSchema,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\nimport style from './email.scss';\nimport view from './view';\n\nconst EMAIL_PLACEHOLDER = 'emailaddress@domain.com';\n\nexport const parsingError = (value, props) => {\n\tconst { internationalizedEmail, fieldRegex = [] } = props;\n\n\tconst placeholder =\n\t\tfieldRegex.length > 0\n\t\t\t? fieldRegex[0]?.placeholder || EMAIL_PLACEHOLDER // Fallback if placeholder is missing\n\t\t\t: EMAIL_PLACEHOLDER;\n\n\tconst error =\n\t\t!value || isEmail(value, internationalizedEmail)\n\t\t\t? undefined\n\t\t\t: {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t'Invalid email address. Please enter in {0} format',\n\t\t\t\t\t\tinternationalizedEmail ? 'RFC6530' : placeholder\n\t\t\t\t\t)\n\t\t\t\t};\n\treturn {\n\t\terror\n\t};\n};\n\nexport const withStateBehavior = {\n\tbehavior: createWithStateBehavior({\n\t\tparse: (value, props) => {\n\t\t\tconst { error } = parsingError(value, props);\n\t\t\treturn {\n\t\t\t\tvalue,\n\t\t\t\terror\n\t\t\t};\n\t\t},\n\t\teventBased: false\n\t})\n};\n\n/**\n *\n * ```jsx\n * <sn-record-email name=\"email\" label=\"Email\" value=\"abel.tuter@servicenow.com\" />\n * ```\n *\n *\n * ```jsx\n * <sn-record-email\n *     label=\"Email with no email icon\"\n *     name=\"email-no-icon\"\n *     hideEmailIcon\n * />\n * ```\n *\n * @seismicElement sn-record-email\n * @summary Email component allowing users to enter an email.\n *\n * */\n\ncreateCustomElement('sn-record-email', {\n\tview: withState(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Whether or not to show the email icon\n\t\t * @type {string | boolean}\n\t\t */\n\t\thideEmailIcon: { default: false },\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t *\n\t\t * `type:any` event.value - The new value for the component\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type\n\t\t *\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * Specifies whether the email should be validated expecting international characters.\n\t\t * @type {boolean}\n\t\t */\n\t\tinternationalizedEmail: { default: false },\n\t\t/**\n\t\t * Initial value for the component.\n\t\t * @type {string}\n\t\t */\n\t\tinitialValue: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * A collection of field validation patterns used to validate specific input formats.\n\t\t * Each field contains attributes such as pattern, placeholder, guidanceText, and status to customize validation.\n\t\t *\n\t\t * Example:\n\t\t * ```json\n\t\t * [\n\t\t *   {\n\t\t *     \"pattern\": \"\\\\b(?!666|000|9\\\\d{2})\\\\d{3}-(?!00)\\\\d{2}-(?!0{4})\\\\d{4}\\\\b\",\n\t\t *     \"placeholder\": null,\n\t\t *     \"guidanceText\": \"Invalid Value. Please enter correct value\",\n\t\t *     \"type\": \"suggestion\"\n\t\t *   }\n\t\t * ]\n\t\t * ```\n\t\t * Properties:\n\t\t * - `pattern` (string): The regex pattern used for validating the input.\n\t\t * - Example for SSN: `\\\\b(?!666|000|9\\\\d{2})\\\\d{3}-(?!00)\\\\d{2}-(?!0{4})\\\\d{4}\\\\b`.\n\t\t * - `placeholder` (string | null): A placeholder string that provides input guidance. Defaults to `null`.\n\t\t * - `guidanceText` (string): A custom error message displayed when the validation fails.\n\t\t * - Default: `\"Invalid Value. Please enter correct value.\"`.\n\t\t * - `type` : `Guidance Text type. example (suggestion,positive,info,warning,critical)`\n\t\t *\n\t\t * Use `fieldRegex` to define and manage validation rules for fields that require structured input formats.\n\t\t *\n\t\t * @type {Array.<{pattern: string, placeholder: string, guidanceText: string, type: string}>}\n\t\t */\n\t\tfieldRegex: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tpattern: { type: 'string' },\n\t\t\t\t\t\tplaceholder: { type: 'string', default: null },\n\t\t\t\t\t\tguidanceText: { type: 'string' },\n\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tenum: ['suggestion', 'positive', 'critical', 'info', 'warning'],\n\t\t\t\t\t\t\tdefault: 'suggestion'\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['pattern', 'guidanceText', 'type']\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdeclarativeActionsProps: {}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithStateBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user blurs off of the component\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_EMAIL#VALUE_CHANGED': {}\n\t},\n\ttransformState,\n\tsetInitialState: setInitialStateWithValue()\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\nexport const DEFAULT_MIN_HEIGHT = 300;\nexport const DEFAULT_HEIGHT = 400;\nexport const DEFAULT_MAX_HEIGHT = 500;\nexport const FETCH_XML = 'FETCH_XML';\nexport const FETCH_CONTENT_TREE_SUCCESS = 'FETCH_CONTENT_TREE_SUCCESS';\nexport const FETCH_CONTENT_TREE_FAILURE = 'FETCH_CONTENT_TREE_FAILURE';\nexport const FETCH_CONTENT_TREE_ERROR_MSG = t('Unable to generate Tree.');\nexport const NOW_CONTENT_TREE_EXPANDED_ITEMS_SET =\n\t'NOW_CONTENT_TREE#EXPANDED_ITEMS_SET';\nexport const NOW_CONTENT_TREE_LOADING_REQUESTED =\n\t'NOW_CONTENT_TREE#LOADING_REQUESTED';\nexport const NOW_CONTENT_TREE_ITEM_CLICKED = 'NOW_CONTENT_TREE#ITEM_CLICKED';\nexport const PRIVATE_EXPANDED_ITEMS_SET = 'PRIVATE#EXPANDED_ITEMS_SET';\nexport const SELECT_SINGLE = 'single';\nexport const NO_VARIABLES_AVAILABLE = t('No variables are available');\nexport const CONFIGURE_TABLE = t(\n\t'Please add or configure a table to display variables.'\n);\nexport const TABLE = t('Table');\nexport const NOW_TEXTAREA = {\n\tINPUT: 'NOW_TEXTAREA#INPUT',\n\tVALUE_SET: 'NOW_TEXTAREA#VALUE_SET',\n\tINVALID_SET: 'NOW_TEXTAREA#INVALID_SET'\n};\nexport const FETCH_CONTENT_TREE_API = '/xmlhttp.do';\nexport const FETCH_CONTENT_TREE_PARAMS = [\n\t'sysparm_processor',\n\t'method',\n\t'sysparm_name',\n\t'sysparm_type',\n\t'sysparm_chars',\n\t'sysparm_reference',\n\t'sysparm_target',\n\t'sysparm_domain',\n\t'sysparm_query',\n\t'sysparm_dependent_value',\n\t'sysparam_path',\n\t'sysparam_item',\n\t'sysparm_scope',\n\t'sysparm_value',\n\t'sysparm_table_name',\n\t'sysparm_is_template',\n\t'sysparm_apply_template_acls',\n\t'sysparm_flag_indexed',\n\t'sysparm_include_sysid'\n];\nexport const DIVIDER_STYLES = {\n\t'margin-top': '28px',\n    'margin-bottom': '8px'\n};\nexport const DEFAULT_DIVIDER_POSITION = 70;\n","import { debounce } from 'lodash';\nimport { DEFAULT_MAX_HEIGHT, DEFAULT_MIN_HEIGHT } from './constants';\n\n/*creates resize observer for the content tree container\nresizeObserverForTreeContainer - adjusts the height of the nowtextarea once content tree is resized vertically*/\nexport function handleResizeObserver(host, updateState, componentId) {\n\tif (!window[componentId]) {\n\t\twindow[componentId] = {};\n\t}\n\telse {\n\t\tif (window[componentId].resizeObserverForTreeContainer) {\n\t\t\twindow[componentId].resizeObserverForTreeContainer.disconnect();\n\t\t}\n\t}\n\tconst DEBOUNCER_DELAY = 200;\n\tconst treeEl = host.shadowRoot.querySelector('.content-tree-css-parent');\n\tconst resizeObserverForTreeContainer = new ResizeObserver(\n\t\tdebounce(entries => {\n\t\t\tupdateState({\n\t\t\t\theight: Math.max(\n\t\t\t\t\tDEFAULT_MIN_HEIGHT,\n\t\t\t\t\tMath.min(DEFAULT_MAX_HEIGHT, parseInt(entries[0].target.offsetHeight))\n\t\t\t\t)\n\t\t\t});\n\t\t}, DEBOUNCER_DELAY)\n\t);\n\tresizeObserverForTreeContainer.observe(treeEl);\n\twindow[componentId].resizeObserverForTreeContainer = resizeObserverForTreeContainer;\n}\n","import { t } from 'sn-translate';\nimport { isEqual } from 'lodash';\nimport { handleResizeObserver } from './Utils';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { CALLBACK_AND_DISPATCH, findChildPath, parseTree } from '@devsnc/sn-controls-common';\nimport {\n\tFETCH_XML,\n\tNOW_TEXTAREA,\n\tSELECT_SINGLE,\n\tDEFAULT_MAX_HEIGHT,\n\tFETCH_CONTENT_TREE_API,\n\tFETCH_CONTENT_TREE_PARAMS,\n\tPRIVATE_EXPANDED_ITEMS_SET,\n\tFETCH_CONTENT_TREE_SUCCESS,\n\tFETCH_CONTENT_TREE_FAILURE,\n\tFETCH_CONTENT_TREE_ERROR_MSG,\n\tNOW_CONTENT_TREE_ITEM_CLICKED,\n\tNOW_CONTENT_TREE_LOADING_REQUESTED,\n\tNOW_CONTENT_TREE_EXPANDED_ITEMS_SET\n} from './constants';\n\nexport const dispatchFetchXML = (state, dispatch, action) => {\n\tlet {\n\t\tproperties: { dependentValue }\n\t} = state;\n\n\tlet params = {\n\t\tsysparm_processor: 'SysMeta',\n\t\tsysparm_scope: 'global',\n\t\tsysparm_want_session_messages: true,\n\t\tsysparm_type: 'column',\n\t\tsysparm_include_sysid: true,\n\t\tsysparm_table_name: false,\n\t\tsysparm_is_template: false,\n\t\tsysparm_apply_template_acls: false,\n\t\tsysparm_value: action?.payload?.item?.class ?? dependentValue,\n\t\tsysparm_is_excluded_role: false,\n\t\tsysparm_synch: true,\n\t\tsysparm_flag_indexed: true,\n\t\tmethod: 'getTreeNodes'\n\t};\n\n\tif (action) {\n\t\tconst { item, path } = action.payload;\n\t\tparams = {\n\t\t\t...params,\n\t\t\tsysparam_item: item,\n\t\t\tsysparam_path: path\n\t\t};\n\t}\n\n\tdispatch(FETCH_XML, params);\n};\n\nconst fetchContentTreeEffect = createHttpEffect(FETCH_CONTENT_TREE_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t},\n\tqueryParams: FETCH_CONTENT_TREE_PARAMS,\n\tsuccessActionType: FETCH_CONTENT_TREE_SUCCESS,\n\terrorActionType: FETCH_CONTENT_TREE_FAILURE\n});\n\nconst fetchContentTreeSuccessEffect = ({\n\tstate,\n\tupdateState,\n\taction,\n\tdispatch\n}) => {\n\tlet {\n\t\ttreeItems,\n\t\tloadingItems,\n\t\texpandedItem = [['folder_root']],\n\t\tproperties: { dependentValue },\n\t\tparentItem = {\n\t\t\tlabel: t('Fields'),\n\t\t\tid: 'folder_root',\n\t\t\tactionable: true,\n\t\t\tactions: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'folder-outline',\n\t\t\t\t\tlabel: t('Fields'),\n\t\t\t\t\tclickActionType: 'click'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'tree-view-short-outline',\n\t\t\t\t\tlabel: dependentValue,\n\t\t\t\t\tclickActionType: 'click'\n\t\t\t\t}\n\t\t\t],\n\t\t\ttableName: dependentValue\n\t\t}\n\t} = state;\n\n\tconst expandItem = action.meta.request.params.sysparam_item;\n\tconst itemPath = action.meta.request.params.sysparam_path;\n\n\tlet treeJson;\n\ttreeJson = parseTree(action.payload, parentItem);\n\tif (!expandItem?.label) {\n\t\tlet updatedNodes = [];\n\t\tupdatedNodes.unshift({\n\t\t\t...parentItem,\n\t\t\tchildren: treeJson\n\t\t});\n\t\ttreeJson = updatedNodes;\n\t}\n\n\tlet pathUpdated;\n\tlet treeIndex = 0;\n\tif (expandItem) {\n\t\tlet loadingItemsPath = 'loadingItems';\n\t\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\t\tlet ind = loadingItems[treeIndex].findIndex(x => isEqual(x.path, itemPath));\n\t\tif (ind !== -1) {\n\t\t\tpathUpdated = `treeItems[${treeIndex}]${findChildPath(\n\t\t\t\ttreeItems[treeIndex],\n\t\t\t\titemPath\n\t\t\t)}.`;\n\t\t\tpathUpdated =\n\t\t\t\ttreeJson.length === 0\n\t\t\t\t\t? pathUpdated + 'childrenAvailable'\n\t\t\t\t\t: pathUpdated + 'children';\n\t\t\tlet valueUpdated = treeJson.length === 0 ? 0 : treeJson;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: pathUpdated,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tvalue: valueUpdated\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: loadingItemsPath,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\toperation: 'splice',\n\t\t\t\t\tstart: ind,\n\t\t\t\t\tdeleteCount: 1\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t} else {\n\t\tpathUpdated = `treeItems[${treeIndex}]`;\n\t\tupdateState([\n\t\t\t{ path: pathUpdated, value: treeJson, operation: 'set' },\n\t\t\t{ path: 'loading', value: false, operation: 'set' }\n\t\t]);\n\t\tdispatch(PRIVATE_EXPANDED_ITEMS_SET, {\n\t\t\tvalue: [...expandedItem]\n\t\t});\n\t}\n};\n\nconst handleLoadingRequested = ({ state, action, dispatch, updateState }) => {\n\tconst {\n\t\tproperties: { select }\n\t} = state;\n\tconst { item, path } = action.payload;\n\n\tlet loadingItemsPath = 'loadingItems';\n\tlet treeIndex = 0;\n\n\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\n\tupdateState([\n\t\t{ path: 'parentItem', value: item, operation: 'set' },\n\t\t{\n\t\t\tpath: loadingItemsPath,\n\t\t\tvalue: { path, error: false },\n\t\t\toperation: 'unshift'\n\t\t}\n\t]);\n\tif (select === SELECT_SINGLE) {\n\t\tupdateState({ path: 'selectedItem', value: [path], operation: 'set' });\n\t}\n\tdispatchFetchXML(state, dispatch, action);\n};\n\nconst handleExpandedItemsSet = ({ action, updateState }) => {\n\tupdateState({\n\t\texpandedItem: action.payload.value\n\t});\n};\n\nconst handleNowContenTreeItemClicked = ({ action, host }) => {\n\tif (action?.payload?.item?.nodeLabel && action?.payload?.item?.nodeName) {\n\t\tconst label =\n\t\t\taction?.payload?.item?.nodeLabel +\n\t\t\t': ${' +\n\t\t\taction?.payload?.item?.nodeName +\n\t\t\t'}';\n\n\t\tconst textAreaField = host.shadowRoot\n\t\t\t.querySelector('now-textarea')?.shadowRoot.querySelector('textarea');\n\t\tif (textAreaField) {\n\t\t\ttextAreaField.focus();\n\t\t\tconst startPos = textAreaField.selectionStart;\n\t\t\tconst endPos = textAreaField.selectionEnd;\n\t\t\ttextAreaField.value = textAreaField.value.substring(0, startPos) + label +\n\t\t\t\ttextAreaField.value.substring(endPos, textAreaField.value.length);\n\t\t\ttextAreaField.dispatchEvent(new Event('input', { bubbles: true }));\n\t\t\ttextAreaField.selectionStart = startPos + label.length;\n\t\t\ttextAreaField.selectionEnd = startPos + label.length;\n\t\t\ttextAreaField.dispatchEvent(new Event('select', { bubbles: true }));\n\t\t}\n\t}\n};\n\nconst handleDomTreeReadyEffect = ({ host, updateState, properties: { readonly, componentId } }) => {\n\tif (!readonly) {\n\t\thandleResizeObserver(host, updateState, componentId);\n\t}\n\telse {\n\t\tconst textAreaField = host.shadowRoot\n\t\t\t.querySelector('now-textarea')?.shadowRoot.querySelector('textarea');\n\t\tif (textAreaField) {\n\t\t\tif (textAreaField.scrollHeight > DEFAULT_MAX_HEIGHT) {\n\t\t\t\ttextAreaField.style.height = DEFAULT_MAX_HEIGHT + 'px';\n\t\t\t} else {\n\t\t\t\ttextAreaField.style.height = textAreaField.scrollHeight + 2 + 'px';\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst handleNowTextAreaInputEffect = ({ properties, action = {}, dispatch }) => {\n\tconst fieldValue = action?.payload?.fieldValue;\n\tconst { onStagedValueChange } = properties;\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onStagedValueChange,\n\t\tisValueChanged: false,\n\t\tdispatchPayload: { value: fieldValue }\n\t});\n};\n\nconst handleNowTextInvalidSetEffect = ({ action, properties, dispatch }) => {\n\tconst fieldValue = action?.payload?.fieldValue;\n\tconst { onValueChange } = properties;\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onValueChange,\n\t\tisValueChanged: true,\n\t\tdispatchPayload: { value: fieldValue }\n\t});\n};\n\nconst propertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value, previousValue }\n\t},\n\tstate,\n\tdispatch,\n\tproperties: { readonly }\n}) => {\n\tif (name === 'dependentValue' && value !== previousValue && !readonly) {\n\t\tdispatchFetchXML(state, dispatch);\n\t}\n};\n\nexport default {\n\t[actionTypes.COMPONENT_BOOTSTRAPPED]: {\n\t\teffect({ state, dispatch, properties: { readonly, dependentValue } }) {\n\t\t\tif (!readonly && dependentValue)\n\t\t\t\tdispatchFetchXML(state, dispatch);\n\t\t}\n\t},\n\t[actionTypes.COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleDomTreeReadyEffect\n\t},\n\t[actionTypes.COMPONENT_TREE_RENDERED]: {\n\t\teffect({ action: { payload: { previousRenderState } }, host, updateState, state, properties: { readonly, componentId } }) {\n\t\t\tif (!readonly) {\n\t\t\t\tconst { width } = state.behaviors.resize.size;\n\t\t\t\tlet stackContainerValue;\n\t\t\t\tif (width && width < 500) {\n\t\t\t\t\tstackContainerValue = false;\n\t\t\t\t} else {\n\t\t\t\t\tstackContainerValue = true;\n\t\t\t\t}\n\t\t\t\tif (state.stackContainer !== stackContainerValue) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tstackContainer: stackContainerValue,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (state.stackContainer !== previousRenderState.stackContainer) {\n\t\t\t\t\tif (state.stackContainer) {\n\t\t\t\t\t\tconst textAreaField = host.shadowRoot\n\t\t\t\t\t\t\t.querySelector('now-textarea')?.shadowRoot.querySelector('textarea');\n\t\t\t\t\t\tif (textAreaField) {\n\t\t\t\t\t\t\ttextAreaField.style['border-top-right-radius'] = '0px';\n\t\t\t\t\t\t\ttextAreaField.style['border-bottom-right-radius'] = '0px';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst contentTreeParentDiv = host.shadowRoot.querySelector('.content-tree-css-parent');\n\t\t\t\t\t\tif (contentTreeParentDiv) {\n\t\t\t\t\t\t\tcontentTreeParentDiv.style['border-top-left-radius'] = '0px';\n\t\t\t\t\t\t\tcontentTreeParentDiv.style['border-bottom-left-radius'] = '0px';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\thandleResizeObserver(host, updateState, componentId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t[actionTypes.COMPONENT_DISCONNECTED]: {\n\t\teffect({ properties: { componentId } }) {\n\t\t\tif (window[componentId] && window[componentId].resizeObserverForTreeContainer) {\n\t\t\t\twindow[componentId].resizeObserverForTreeContainer.disconnect();\n\t\t\t\twindow[componentId].resizeObserverForTreeContainer = null;\n\t\t\t}\n\t\t}\n\t},\n\t[FETCH_XML]: {\n\t\t...fetchContentTreeEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_SUCCESS]: {\n\t\teffect: fetchContentTreeSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_FAILURE]: {\n\t\tstopPropagation: true,\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\terror: {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: FETCH_CONTENT_TREE_ERROR_MSG\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\t[NOW_CONTENT_TREE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_LOADING_REQUESTED]: {\n\t\teffect: handleLoadingRequested,\n\t\tstopPropagation: true\n\t},\n\t[PRIVATE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ITEM_CLICKED]: {\n\t\teffect: handleNowContenTreeItemClicked,\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA.INPUT]: {\n\t\teffect: handleNowTextAreaInputEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA.INVALID_SET]: {\n\t\teffect: handleNowTextInvalidSetEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA.VALUE_SET]: {\n\t\tstopPropagation: true\n\t},\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_29_5_1_index_jsdbx_7b6e2807__[\"default\"][\"default\"];\n\t\t\t\t} });","import '@servicenow/now-loader';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-textarea';\nimport makeClass from 'classnames';\nimport '@servicenow/now-content-tree';\nimport style from './email-script.scss';\nimport '@servicenow/now-resizable-panes';\nimport '@servicenow/now-template-message';\nimport '@devsnc/sn-record-control-wrapper';\nimport actionHandler from './actionHandler';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tisAttrTrue,\n\ttrackBehavior,\n\ttransformState,\n\tfieldLayoutSchema,\n\ttransformMessages,\n\tgetFormFieldMessagesContent,\n\twithValueChangeCallbacksView,\n\tcreateWithValueChangeCallbackBehavior\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tTABLE,\n\tDIVIDER_STYLES,\n\tDEFAULT_HEIGHT,\n\tCONFIGURE_TABLE,\n\tDEFAULT_MIN_HEIGHT,\n\tDEFAULT_MAX_HEIGHT,\n\tNO_VARIABLES_AVAILABLE,\n\tDEFAULT_DIVIDER_POSITION\n} from './constants';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nconst SnEmailScript = state => {\n\tconst {\n\t\tproperties,\n\t\ttreeItems,\n\t\tselectedItem,\n\t\texpandedItem,\n\t\tloadingItems,\n\t\tloading = true,\n\t\theight,\n\t\tstackContainer\n\t} = state;\n\n\tconst {\n\t\tdependentValue,\n\t\tselect,\n\t\tmessages,\n\t\tdescription,\n\t\trequired,\n\t\tinvalid,\n\t\thelperContent,\n\t\tfieldLayout,\n\t\tdecorations,\n\t\tname,\n\t\tvalue,\n\t\treadonly,\n\t\tdependentDisplayValue,\n\t\tdependentField,\n\t\tdependentFieldLabel,\n\t\tconfigAria,\n\t\tlabel,\n\t\tautofocus,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\tshowAIIndicator,\n\t\tisModified,\n\t\tcolor\n\t} = properties;\n\n\tconst ariaLabel = configAria?.['aria-label'] || label;\n\tconst messagesContent =\n\t\tArray.isArray(messages) && messages.length\n\t\t\t? ` ${getFormFieldMessagesContent(transformMessages(messages))}`\n\t\t\t: '';\n\n\tconst TextArea = (\n\t\t<sn-record-control-wrapper\n\t\t\tlabel={label}\n\t\t\tmessages={messages}\n\t\t\tdescription={description}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tdecorations={decorations}\n\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\thelperContent={helperContent}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\t...(!readonly ? { height: `${height}px` } : {})\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<now-textarea\n\t\t\t\t\tresize={'none'}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tdisableMaxHeight={true}\n\t\t\t\t\tclassName={'fit-to-parent'}\n\t\t\t\t\tname={name}\n\t\t\t\t\trequired={required}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\tautofocus={autofocus}\n\t\t\t\t\tinvalid={invalid}\n\t\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\ttextarea: {\n\t\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t\t'aria-label': `${t(ariaLabel)}${messagesContent}`,\n\t\t\t\t\t\t\trole: 'textbox'\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tfield-layout={fieldLayout}\n\t\t\t\t\trows={5}\n\t\t\t\t\tmanage-invalid\n\t\t\t\t\tcolor={color}\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/sn-record-control-wrapper>\n\t);\n\n\tconst contentTree = (\n\t\t<div\n\t\t\tclassName={makeClass({\n\t\t\t\t'content-tree-readonly': readonly ? true : false\n\t\t\t})}\n\t\t>\n\t\t\t<sn-record-control-wrapper\n\t\t\t\tdescription={description}\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tdecorations={decorations}\n\t\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\t\tlabel={t('Select Variables')}\n\t\t\t\trequired={isAttrTrue(required)}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={makeClass('content-tree-css-parent', {\n\t\t\t\t\t\t'content-tree-css-parent-resize': true,\n\t\t\t\t\t\t'content-tree-css-border': !stackContainer\n\t\t\t\t\t})}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: `${DEFAULT_MAX_HEIGHT}px`,\n\t\t\t\t\t\tminHeight: `${DEFAULT_MIN_HEIGHT}px`,\n\t\t\t\t\t\theight: `${height}px`\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{dependentField && dependentValue ? (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"content-table-name\">\n\t\t\t\t\t\t\t\t{TABLE} : {dependentDisplayValue}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t\t\t\t<div className=\"loader-container\">\n\t\t\t\t\t\t\t\t\t\t<now-loader />\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<now-content-tree\n\t\t\t\t\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\t\t\t\t\titems={treeItems[0]}\n\t\t\t\t\t\t\t\t\t\toverflow={'truncate'}\n\t\t\t\t\t\t\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\t\t\t\t\t\t\tsize={'md'}\n\t\t\t\t\t\t\t\t\t\tselected-items={selectedItem}\n\t\t\t\t\t\t\t\t\t\texpanded-items={expandedItem}\n\t\t\t\t\t\t\t\t\t\tloading-items={loadingItems[0]}\n\t\t\t\t\t\t\t\t\t\tshowDividers={true}\n\t\t\t\t\t\t\t\t\t\tclassName=\"content-tree-css\"\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: `${height - 34}px`\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': t('{0}, Select Variables', ariaLabel)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"content-tree-no-variable\">\n\t\t\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\t\t\theading={{ label: NO_VARIABLES_AVAILABLE, level: 3 }}\n\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\tdependentField\n\t\t\t\t\t\t\t\t\t\t? t('Select {0}, to add variables.', dependentFieldLabel)\n\t\t\t\t\t\t\t\t\t\t: CONFIGURE_TABLE\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/sn-record-control-wrapper>\n\t\t<\/div>\n\t);\n\n\treturn readonly ? (\n\t\tTextArea\n\t) : (\n\t\t<div className={'email-script-container-resizable'}>\n\t\t\t{stackContainer ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<now-resizable-panes\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tdividerStyles={DIVIDER_STYLES}\n\t\t\t\t\t\tdefaultDividerPosition={DEFAULT_DIVIDER_POSITION}\n\t\t\t\t\t\tleft-pane-constraints='{\"minRatio\":40}'\n\t\t\t\t\t\tright-pane-constraints='{\"minRatio\":30}'\n\t\t\t\t\t>\n\t\t\t\t\t\t<div slot=\"left\">{TextArea}<\/div>\n\t\t\t\t\t\t<div slot=\"right\">{contentTree}<\/div>\n\t\t\t\t\t<\/now-resizable-panes>\n\t\t\t\t<\/Fragment>\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{TextArea}\n\t\t\t\t\t{contentTree}\n\t\t\t\t<\/Fragment>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nexport default SnEmailScript;\n\n/**\n * This component allows users text templates which has variables.\n * Email Script Component uses now-textarea along with variable tree picker - now-content-tree.\n *\n * ```jsx\n * <sn-record-email-script\n *\t label={'Text'}\n *\t value='Some Text'\n * />\n * ```\n *\n * @seismicElement sn-record-email-script\n * @summary Email Script Component\n *\n * */\ncreateCustomElement('sn-record-email-script', {\n\tview: withValueChangeCallbacksView(SnEmailScript),\n\tstyles: style,\n\tactionHandlers: actionHandler,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting. When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Component Id for the component\n\t\t * @type {string}\n\t\t */\n\t\tcomponentId: {},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Dependent Field Display Value\n\t\t * @type {string}\n\t\t */\n\t\tdependentDisplayValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent field for the variable picker.\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent Field Label\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Value of the Dependent field\n\t\t * @type {string}\n\t\t */\n\t\tdependentValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t * `type:object` event - The event payload\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t * `type:any` event.value - The new value for the component\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * `type:string` event.error.type - Error type\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * sys_id of the record used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringRecordId: {},\n\t\t/**\n\t\t * Table used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringTable: {},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * select type with which the tree picker loads with.\n\t\t * @type {string}\n\t\t */\n\t\tselect: {\n\t\t\tdefault: 'single',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['single', 'multi', 'none']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tinitialState: {\n\t\ttreeItems: [[], []],\n\t\tloadingItems: [[], []],\n\t\theight: DEFAULT_HEIGHT,\n\t\tstackContainer: true\n\t},\n\ttransformState,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the intermediate value has changed.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'SN_RECORD_EMAIL_SCRIPT#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'SN_RECORD_EMAIL_SCRIPT#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{ behavior: focusBehavior },\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: { timer: { type: 'debounce', wait: 200 } }\n\t\t}\n\t]\n});\n","import { fitDropdownToViewport, fitDropdownToViewportOld } from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_CONNECTED, COMPONENT_RENDERED } = actionTypes;\nexport const HIDE_DROPDOWN = 'FIELD_AND_DROPDOWN#HIDE_DROPDOWN';\n\nexport default {\n    name: 'fieldAndDropdownBehavior',\n    actionHandlers: {\n        [COMPONENT_CONNECTED]: ({updateState}) => {\n            updateState({\n                path: 'dropdownVisible',\n                value: false,\n                operation: 'set',\n                shouldRender: false\n            });\n        },\n        [COMPONENT_RENDERED]: ({\n            host,\n            action: {payload: {previousRenderState, previousRenderProperties, options: {focusProp}}},\n            state,\n            updateState,\n            properties\n        }) => {\n            if (properties.ignoreDropdown) return;\n            let previousDropdown;\n            if ('hasFocus' in state && 'showDropdownWithoutFocus' in properties) {\n                previousDropdown = previousRenderState.hasFocus || previousRenderState.showDropdownWithoutFocus ? previousRenderProperties.dropdown : null\n            } else {\n                previousDropdown = previousRenderProperties.dropdown;\n            }\n            const dropdownWasHidden = !previousDropdown || !previousRenderState[focusProp];\n\n            // Only position dropdown when it first appears; not on every update\n            const dropdownElement = host.shadowRoot.querySelector('.dropdown');\n            if (dropdownWasHidden && dropdownElement) {\n                let dropdownFitter = properties.fallbackDropdownBehavior\n                    ? fitDropdownToViewportOld\n                    : fitDropdownToViewport;\n\n                dropdownFitter(dropdownElement.firstChild, dropdownElement.previousSibling).then(() => {\n                    dropdownElement.style.removeProperty('visibility');\n                    updateState({\n                        path: 'dropdownVisible',\n                        value: true,\n                        operation: 'set',\n                        shouldRender: false\n                    });\n                });\n            } else if (!dropdownElement) {\n                updateState({\n                    path: 'dropdownVisible',\n                    value: false,\n                    operation: 'set',\n                    shouldRender: false\n                });\n            }\n        },\n        [HIDE_DROPDOWN]: ({host, state}) => {\n            if (!state.dropdownVisible) {\n                host.shadowRoot.querySelector('.dropdown').style.setProperty('visibility', 'hidden');\n            }\n        }\n    }\n}","import { isFunction } from 'lodash';\nimport '@devsnc/sn-record-control-wrapper';\nimport makeClass from 'classnames';\n\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport { HIDE_DROPDOWN } from './fieldAndDropdownBehavior';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\n\n/**\n * More specific version of ControlWrapper that should be used for input-like\n * controls (things with the standard textbox shape + bottom border).\n *\n * Dropdown lives here because the rendering gets messed up when\n * the dropdown is not an immediate sibling to the field.\n */\nexport const FieldAndDropdownWrapperSeismic = (props, children) => {\n\tconst controlRef = createRef();\n\tconst setDropdownRef = node => {\n\t\t// Avoid FOUC. Start hidden until we can compute the correct\n\t\t// coordinates in componentDidMount\n\t\tif (node) {\n\t\t\tprops.dispatch(HIDE_DROPDOWN);\n\t\t}\n\n\t\tif (isFunction(props.dropdownRef)) {\n\t\t\tprops.dropdownRef(node);\n\t\t}\n\t};\n\n\tconst onMouseOver = () => {\n\t\tif (controlRef.current) {\n\t\t\tcontrolRef.current.className += ' is-hover';\n\t\t}\n\t};\n\n\tconst onMouseOut = () => {\n\t\tif (controlRef.current) {\n\t\t\tcontrolRef.current.className = controlRef.current.className.replace(\n\t\t\t\t' is-hover',\n\t\t\t\t''\n\t\t\t);\n\t\t}\n\t};\n\n\tlet { role, dropdown } = props;\n\n\treturn (\n\t\t<ControlWrapper {...props}>\n\t\t\t<div\n\t\t\t\tref={controlRef}\n\t\t\t\ton-mouseover={onMouseOver}\n\t\t\t\ton-mouseout={onMouseOut}\n\t\t\t\tclassName={makeClass('sn-control-field', {\n\t\t\t\t\t'read-only': isAttrTrue(props.readonly),\n\t\t\t\t\t'is-disabled': isAttrTrue(props.disabled)\n\t\t\t\t})}\n\t\t\t\trole={role}\n\t\t\t\taria-expanded={Boolean(dropdown)}\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t<\/div>\n\t\t\t{dropdown && (\n\t\t\t\t<div className=\"dropdown\" ref={setDropdownRef}>\n\t\t\t\t\t{dropdown}\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t<\/ControlWrapper>\n\t);\n};\n","import React from 'react';\nimport ControlWrapper from '@devsnc/sn-record-control-wrapper';\nimport makeClass from 'classnames';\n\nimport {\n\tfitDropdownToViewport,\n\tfitDropdownToViewportOld,\n\tisAttrTrue\n} from '@devsnc/sn-controls-common';\n\n/**\n * More specific version of ControlWrapper that should be used for input-like\n * controls (things with the standard textbox shape + bottom border).\n *\n * Dropdown lives here because the rendering gets messed up when\n * the dropdown is not an immediate sibling to the field.\n */\nexport default class FieldAndDropdownWrapper extends React.Component {\n\tdropdownVisible = false;\n\n\t/**\n\t * Position any newly-created dropdown to fit within the viewport\n\t */\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.ignoreDropdown) return;\n\t\tconst dropdownWasHidden = !prevProps.dropdown || !prevProps.hasFocus;\n\n\t\t// Only position dropdown when it first appears; not on every update\n\t\tif (dropdownWasHidden && this.dropdownElement) {\n\t\t\tlet dropdownFitter = this.props.fallbackDropdownBehavior\n\t\t\t\t? fitDropdownToViewportOld\n\t\t\t\t: fitDropdownToViewport;\n\n\t\t\tdropdownFitter(this.dropdownElement.firstChild, this.target).then(() => {\n\t\t\t\tthis.dropdownElement.style.removeProperty('visibility');\n\t\t\t\tthis.dropdownVisible = true;\n\t\t\t});\n\t\t} else if (!this.dropdownElement) {\n\t\t\tthis.dropdownVisible = false;\n\t\t}\n\t}\n\n\tsetDropdownRef = node => {\n\t\t// Avoid FOUC. Start hidden until we can compute the correct\n\t\t// coordinates in componentDidMount\n\t\tif (node && !this.dropdownVisible) {\n\t\t\tnode.style.setProperty('visibility', 'hidden');\n\t\t}\n\n\t\tthis.dropdownElement = node;\n\n\t\tif (typeof this.props.dropdownRef === 'function') {\n\t\t\tthis.props.dropdownRef(node);\n\t\t}\n\t};\n\n\trender() {\n\t\tlet { role, children, dropdown } = this.props;\n\n\t\treturn (\n\t\t\t<ControlWrapper {...this.props}>\n\t\t\t\t<div\n\t\t\t\t\tref={n => (this.target = n)}\n\t\t\t\t\tclassName={makeClass('sn-control-field', {\n\t\t\t\t\t\t'is-hover': this.props.hasHover,\n\t\t\t\t\t\t'read-only': isAttrTrue(this.props.readonly),\n\t\t\t\t\t\t'is-disabled': isAttrTrue(this.props.disabled)\n\t\t\t\t\t})}\n\t\t\t\t\trole={role}\n\t\t\t\t\taria-expanded={Boolean(dropdown)}\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t<\/div>\n\t\t\t\t{dropdown && (\n\t\t\t\t\t<div className=\"dropdown\" ref={this.setDropdownRef}>\n\t\t\t\t\t\t{dropdown}\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/ControlWrapper>\n\t\t);\n\t}\n}\n","export { FieldAndDropdownWrapperSeismic } from './FieldAndDropdownWrapper';\nexport { fieldAndDropdownBehavior } from './fieldAndDropdownBehavior';\n\n/*\n * To support backward compatibility for previously exposed react external APIs when upgrade is in progress\n */\nimport FieldAndDropdownWrapper from './legacy-files/FieldAndDropdownWrapperReact';\nexport default FieldAndDropdownWrapper;\n","import { reduce, map, has, filter } from 'lodash';\n/**\n * Creates the initial displayValue for the field based on the list of field labels.\n * For dotwalk fields, it will only take the last field label and not any of the ones of its path.\n * @param {array{string}} labelsWithPaths - labels of the fields, can be like: \"Label1 > Label2\" if dotwalkable\n * @returns A single string with the right labels needed.\n */\nexport const normalizeFieldListDisplayValue = (labelsWithPaths = []) => {\n\tconst FIELD_LIST_DELIM = ' > ';\n\tconst DOT_WALK_PREFIX = '...';\n\tconst DISPLAY_VALUE_SEPARATOR = ', ';\n\tif (labelsWithPaths && labelsWithPaths.length) {\n\t\tconst newDisplayValues = reduce(\n\t\t\tlabelsWithPaths,\n\t\t\t(result, labelPath) => {\n\t\t\t\tif (!labelPath) return result;\n\t\t\t\tconst fieldLabels = labelPath.split(FIELD_LIST_DELIM);\n\t\t\t\tconst singleLabel =\n\t\t\t\t\tfieldLabels.length > 1\n\t\t\t\t\t\t? DOT_WALK_PREFIX.concat(fieldLabels.pop())\n\t\t\t\t\t\t: fieldLabels[0];\n\t\t\t\tresult.push(singleLabel);\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\treturn newDisplayValues.join(DISPLAY_VALUE_SEPARATOR);\n\t} else return '';\n};\n\n/**\n * Creates an array of objects with the field column names and the labels for them.\n * Assumes that the list of string of values is either used to resolve the array given or matches already with the array arg.\n * @param {string} value - ex. \"assigned_to.avatar, assigned_to.city\"\n * @param {Array<string>} displayValuesWithPath - ex. [\"Assigned To > Avatar\", \"Assigned To > City\"]\n * @returns {Array<{id: string, label: string}>}\n * ex. [{id:\"assigned_to.avatar\", label:\"Assigned To > Avatar\"},...]\n */\nexport const getSelectedItems = (value, displayValuesWithPath) => {\n\treturn value && displayValuesWithPath && displayValuesWithPath.length\n\t\t? value.split(',').map((val, idx) => ({\n\t\t\t\tid: val.trim(),\n\t\t\t\tlabel: displayValuesWithPath ? displayValuesWithPath[idx] || val : ''\n\t\t  }))\n\t\t: [];\n};\n\n/**\n * Get Selected Values\n * @param {Array<{id: string, label: string}>} ex. [{id:\"assigned_to.avatar\", label:\"Assigned To > Avatar\"},...]\n * @return {Object<value: string, displayValuesWithPath: Array<string>>}\n * ex. { value:\"assigned_to.avatar, ..\", displayValuesWithPath:[\"Assigned To > Avatar\", ..] }\n */\nexport const getSelectedValues = selectedItems => {\n\tconst items = filter(\n\t\tselectedItems,\n\t\titem => has(item, 'id') && has(item, 'label')\n\t);\n\treturn {\n\t\tvalue: items ? map(items, 'id').join() : '',\n\t\tdisplayValuesWithPath: items ? map(items, 'label') : []\n\t};\n};\n\n// Need an input with readonly functionality but non-readonly CSS as its a display only field\n// and user can hit the slot button to open a popup and set a value via that.\n// As of now in NDS now-input, when we set to readonly it gets a grey background which is deep inside multiple shadow roots\n// Below is added as a workaround. [we cannot use pointerevents as it disables the edit button as well]\nexport const preventManualInput = e => {\n\tif (e && e.key != 'Tab') {\n\t\te.preventDefault();\n\t}\n};\n","import { t } from 'sn-translate';\n\n//MODAL\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\n\n//FIELD-SELECT\nexport const SELECTED_ITEM_SET = 'SN_SELECT_FIELD#SELECTED_ITEM_SET';\n\n// Button\nexport const ADD_BUTTON_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const EDIT_BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n\n// Component\nconst COMPONENT = 'SN_RECORD_FIELD_LIST_CONNECTED';\nexport const VALUE_CHANGED = `${COMPONENT}#VALUE_CHANGED`;\nexport const UPDATE_VALUE = `${COMPONENT}#UPDATE_VALUE`;\n\nexport const CLICK_TO_ADD_LABEL = t('Click to add');\nexport const OPEN_LIST_LABEL = t('Open List');\nexport const OK_LABEL = t('Ok');\nexport const CANCEL_LABEL = t('Cancel');\nexport const MODAL_SUB_HEADER_LABEL = t(\n\t'Select columns and put them in the order you want.'\n);\n\nexport const REQUIRED_STR = t('required');\nexport const OPEN_MODAL_ACTION = 'openModal';\nexport const DEPENDENT_FIELD_VALUE = 'dependentFieldValue';\nexport const LIVE_UPDATE = 'liveUpdate';\n\nexport const FETCH_DISPLAY_COLUMN_DATA = 'FIELD_LIST_FETCH_DISPLAY_COLUMN_DATA';\nexport const FETCH_DISPLAY_COLUMN_DATA_SUCCESS =\n\t'FIELD_LIST_FETCH_DISPLAY_COLUMN_DATA_SUCCESS';\nexport const FETCH_DISPLAY_COLUMN_DATA_FAILURE =\n\t'FIELD_LIST_FETCH_DISPLAY_COLUMN_DATA_FAILURE';\n//GraphQL\nexport const FETCH_DV_DATA = 'FIELD_LIST_FETCH_DV_DATA';\nexport const FETCH_DV_DATA_SUCCESS = 'FIELD_LIST_FETCH_SUCCESS';\nexport const FETCH_DV_DATA_FAILURE = 'FIELD_LIST_FETCH_FAILURE';\nexport const RESULTS_PATH =\n\t'data.GlideLayout_Query.fieldNameListDataRetriever.fieldGlideList';\n","import { isEqual, isEmpty, isFunction, get } from 'lodash';\n\nimport { t } from 'sn-translate';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tisAttrTrue,\n\tadaptCallbackForLegacyAPI\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tnormalizeFieldListDisplayValue,\n\tgetSelectedItems,\n\tgetSelectedValues\n} from './utils';\nimport { query, tableNameColumnQuery, QUERY_VARIABLE_LIST } from './query';\nimport {\n\tDEPENDENT_FIELD_VALUE,\n\tLIVE_UPDATE,\n\tOPEN_MODAL_ACTION,\n\tVALUE_CHANGED,\n\tFETCH_DISPLAY_COLUMN_DATA,\n\tFETCH_DISPLAY_COLUMN_DATA_SUCCESS,\n\tFETCH_DISPLAY_COLUMN_DATA_FAILURE,\n\tFETCH_DV_DATA,\n\tFETCH_DV_DATA_FAILURE,\n\tFETCH_DV_DATA_SUCCESS,\n\tRESULTS_PATH\n} from './constants';\n\nexport const componentBootstrappedEffect = ({\n\tstate: {\n\t\tproperties: { value, displayValuesWithPath }\n\t},\n\tupdateState\n}) => {\n\tconst selectedItems = getSelectedItems(value, displayValuesWithPath);\n\tconst initialDisplayValue = normalizeFieldListDisplayValue(\n\t\tdisplayValuesWithPath\n\t);\n\tupdateState({\n\t\tstateDisplayValue: initialDisplayValue,\n\t\tselectedItems,\n\t\tselectedItemsStaged: selectedItems,\n\t\tstateValue: value\n\t});\n};\n\n//gets called on Modal Close and Modal Cancel Button\nexport const modalClosedEffect = ({\n\tstate: { selectedItems },\n\tupdateState\n}) => {\n\tupdateState({\n\t\topened: false,\n\t\tselectedItemsStaged: selectedItems\n\t});\n};\n\n//called when the OK button is clicked on the Modal\nexport const updateValueEffect = ({\n\tproperties: { name, onValueChange },\n\tstate: { selectedItemsStaged },\n\tdispatch,\n\tupdateState\n}) => {\n\tconst { value, displayValuesWithPath } =\n\t\tgetSelectedValues(selectedItemsStaged);\n\tconst stateDisplayValue = normalizeFieldListDisplayValue(\n\t\tdisplayValuesWithPath\n\t);\n\tupdateState({\n\t\tstateDisplayValue,\n\t\tselectedItems: selectedItemsStaged,\n\t\topened: false,\n\t\tstateValue: value\n\t});\n\tconst payload = {\n\t\tname,\n\t\tvalue,\n\t\tdisplayValue: displayValuesWithPath.join(','),\n\t\titems: selectedItemsStaged\n\t};\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)(payload);\n\t}\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: 'field-list-connected' }\n\t});\n\n\tdispatch(VALUE_CHANGED, payload);\n};\n\nexport const buttonClickedEffect = ({\n\tstate,\n\tproperties: { disabled, dependentFieldValue, readonly },\n\taction: {\n\t\tpayload: { button }\n\t},\n\tupdateState\n}) => {\n\tconst editable =\n\t\tdependentFieldValue && !isAttrTrue(readonly) && !isAttrTrue(disabled);\n\n\tif (editable && button === OPEN_MODAL_ACTION) {\n\t\tconst { readonly } = state.properties;\n\t\tconst isReadOnly = isAttrTrue(readonly) || isEmpty(dependentFieldValue);\n\n\t\tif (!isReadOnly) {\n\t\t\tupdateState({\n\t\t\t\topened: true\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const selectionUpdatedEffect = ({ action, updateState }) => {\n\tconst {\n\t\tpayload: { items: selectedItemsStaged }\n\t} = action;\n\tupdateState({\n\t\tselectedItemsStaged\n\t});\n};\n\nexport const fetchDisplayColumnEffect = createGraphQLEffect(\n\ttableNameColumnQuery,\n\t{\n\t\tvariableList: [\n\t\t\t'tableName',\n\t\t\t'referenceFieldTableName',\n\t\t\t'path',\n\t\t\t'allowExtendedFields'\n\t\t],\n\t\tsuccessActionType: FETCH_DISPLAY_COLUMN_DATA_SUCCESS,\n\t\terrorActionType: FETCH_DISPLAY_COLUMN_DATA_FAILURE\n\t}\n);\n\nexport const fetchDisplayColumnSuccessEffect = ({\n\tupdateState,\n\taction: { payload },\n\tstate: {\n\t\tproperties: { onValueChange, name }\n\t}\n}) => {\n\tlet results = get(payload, RESULTS_PATH);\n\tconst { tableDisplayColumnValue, tableDisplayColumnLabel } = results[0];\n\tconst selectedItem = [\n\t\t{\n\t\t\tid: tableDisplayColumnValue,\n\t\t\tlabel: tableDisplayColumnLabel\n\t\t}\n\t];\n\tif (tableDisplayColumnValue && tableDisplayColumnLabel) {\n\t\tupdateState({\n\t\t\tstateDisplayValue: tableDisplayColumnLabel,\n\t\t\tselectedItemsStaged: selectedItem,\n\t\t\tselectedItems: selectedItem,\n\t\t\tstateValue: tableDisplayColumnValue\n\t\t});\n\n\t\tif (isFunction(onValueChange)) {\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\tname,\n\t\t\t\tvalue: tableDisplayColumnValue\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const fetchDisplayColumnFailureEffect = ({\n\tstate: {\n\t\tproperties: { value, displayValue, onValueChange, name }\n\t},\n\tupdateState\n}) => {\n\tlet errorMessage = t('Unable to fetch Field . Please try again');\n\t//reset liveupdate state on failure\n\tupdateState({\n\t\tliveUpdate: false\n\t});\n\tif (onValueChange) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t});\n\t}\n};\nexport const hasLiveUpdateData = (value1, value2) => {\n\tif (!value1 && !value2) {\n\t\treturn value1 == value2;\n\t}\n\treturn false;\n};\nexport const propertyChangeHandler = ({\n\tstate,\n\tdispatch,\n\taction,\n\tupdateState,\n\tproperties\n}) => {\n\tconst {\n\t\tpayload: { name: updatedProperty = '', value }\n\t} = action;\n\n\tif (\n\t\tupdatedProperty === 'value' &&\n\t\tvalue !== state.stateValue &&\n\t\t(isEqual(properties.liveUpdate, state.liveUpdate) ||\n\t\t\t!value ||\n\t\t\thasLiveUpdateData(properties.liveUpdate, state.liveUpdate))\n\t) {\n\t\tconst { dependentFieldValue } = state.properties;\n\t\tif (!value) {\n\t\t\t//dont fetch new displayValue if its an empty value. Set modal fields to empty\n\t\t\tupdateState({\n\t\t\t\tstateValue: value,\n\t\t\t\tliveUpdate: properties.liveUpdate,\n\t\t\t\tstateDisplayValue: '',\n\t\t\t\tselectedItems: [],\n\t\t\t\tselectedItemsStaged: []\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdispatch(FETCH_DV_DATA, {\n\t\t\tfieldValue: value,\n\t\t\treferenceFieldTableName: '',\n\t\t\ttableName: dependentFieldValue,\n\t\t\tallowExtendedFields: properties.allowExtendedFields\n\t\t});\n\t\tupdateState({ stateValue: value, stateDisplayValue: t('Loading...') });\n\t} else if (\n\t\tLIVE_UPDATE === updatedProperty &&\n\t\t!isEqual(properties.liveUpdate, state.liveUpdate) &&\n\t\tproperties.value &&\n\t\t!value.isUserModified\n\t) {\n\t\tconst { dependentFieldValue } = state.properties;\n\t\tconst { value: liveUpdateFieldValue } = value; //see liveUpdate prop schema\n\n\t\tif (!liveUpdateFieldValue) {\n\t\t\t//dont fetch new displayValue if its an empty value. Set modal fields to empty\n\t\t\tupdateState({\n\t\t\t\tstateValue: liveUpdateFieldValue,\n\t\t\t\tliveUpdate: value,\n\t\t\t\tstateDisplayValue: '',\n\t\t\t\tselectedItems: [],\n\t\t\t\tselectedItemsStaged: []\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdispatch(FETCH_DV_DATA, {\n\t\t\tfieldValue: liveUpdateFieldValue,\n\t\t\treferenceFieldTableName: '',\n\t\t\ttableName: dependentFieldValue,\n\t\t\tallowExtendedFields: properties.allowExtendedFields\n\t\t});\n\t\tupdateState({\n\t\t\tstateValue: liveUpdateFieldValue,\n\t\t\tliveUpdate: value,\n\t\t\tstateDisplayValue: t('Loading...')\n\t\t});\n\t} else if (DEPENDENT_FIELD_VALUE === updatedProperty) {\n\t\tconst {\n\t\t\tonValueChange,\n\t\t\tdependentFieldValue,\n\t\t\treadonly,\n\t\t\tshowTableDefaultDisplayColumn\n\t\t} = state.properties;\n\t\tconst isDependentValueEmpty = isEmpty(dependentFieldValue);\n\t\tif (\n\t\t\tonValueChange &&\n\t\t\t!isAttrTrue(readonly) &&\n\t\t\tshowTableDefaultDisplayColumn &&\n\t\t\t!isDependentValueEmpty\n\t\t) {\n\t\t\tconst payload = {\n\t\t\t\treferenceFieldTableName: dependentFieldValue,\n\t\t\t\ttableName: dependentFieldValue,\n\t\t\t\tpath: '',\n\t\t\t\tallowExtendedFields: properties.allowExtendedFields\n\t\t\t};\n\t\t\tdispatch(FETCH_DISPLAY_COLUMN_DATA, payload);\n\t\t}\n\t}\n};\n\nexport const fetchEffect = createGraphQLEffect(query, {\n\tvariableList: QUERY_VARIABLE_LIST,\n\tsuccessActionType: FETCH_DV_DATA_SUCCESS,\n\terrorActionType: FETCH_DV_DATA_FAILURE\n});\n\nexport const fetchSuccessEffect = ({\n\taction: { payload },\n\tupdateState,\n\tstate: { stateValue }\n}) => {\n\tconst results = get(payload, RESULTS_PATH);\n\tconst { displayValue = '' } = results ? results[0] : {};\n\tconst labels = displayValue.split(', ');\n\tconst selectedItems = getSelectedItems(stateValue, labels);\n\tconst normDisplayValue = normalizeFieldListDisplayValue(labels);\n\n\tupdateState({\n\t\tstateDisplayValue: normDisplayValue,\n\t\tselectedItemsStaged: selectedItems,\n\t\tselectedItems\n\t});\n};\n\nexport const fetchFailureEffect = ({ state, updateState }) => {\n\tupdateState({ stateDisplayValue: state.value });\n};\n","export const tableNameColumnQuery = `query ($tableName: String!, $referenceFieldTableName: String!, $allowExtendedFields: Boolean) {\n\tGlideLayout_Query {\n\t  fieldNameListDataRetriever(tableName: $tableName, referenceFieldTableName: $referenceFieldTableName, allowExtendedFields: $allowExtendedFields) {\n\t\tfieldGlideList {\n\t\t  tableName\n\t\t  tableDisplayColumnValue\n\t\t  tableDisplayColumnLabel\n\t\t}\n\t}\n  }\n}`;\n\nexport const query = `query ($tableName: String!, $referenceFieldTableName: String!, $fieldValue: String!, $allowExtendedFields: Boolean) {\n\tGlideLayout_Query {\n\t  fieldNameListDataRetriever(tableName: $tableName, referenceFieldTableName: $referenceFieldTableName, fieldValue: $fieldValue, allowExtendedFields: $allowExtendedFields) {\n\t\tfieldGlideList {\n\t\t  displayValue\n\t\t}\n\t  }\n\t}\n  }\n\t`;\n\nexport const QUERY_VARIABLE_LIST = [\n\t'tableName',\n\t'fieldValue',\n\t'referenceFieldTableName',\n\t'allowExtendedFields'\n];\n","import { actionTypes } from '@servicenow/ui-core';\nimport { effectProxy } from '@devsnc/sn-controls-common';\nimport {\n\tmodalClosedEffect,\n\tbuttonClickedEffect,\n\tcomponentBootstrappedEffect,\n\tupdateValueEffect,\n\tpropertyChangeHandler,\n\tselectionUpdatedEffect,\n\tfetchDisplayColumnEffect,\n\tfetchDisplayColumnSuccessEffect,\n\tfetchDisplayColumnFailureEffect,\n\tfetchEffect,\n\tfetchSuccessEffect,\n\tfetchFailureEffect\n} from './effects';\nimport {\n\tNOW_MODAL_OPENED_SET,\n\tADD_BUTTON_CLICKED,\n\tEDIT_BUTTON_CLICKED,\n\tUPDATE_VALUE,\n\tSELECTED_ITEM_SET,\n\tFETCH_DISPLAY_COLUMN_DATA,\n\tFETCH_DISPLAY_COLUMN_DATA_SUCCESS,\n\tFETCH_DISPLAY_COLUMN_DATA_FAILURE,\n\tFETCH_DV_DATA,\n\tFETCH_DV_DATA_SUCCESS,\n\tFETCH_DV_DATA_FAILURE\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: componentBootstrappedEffect,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: propertyChangeHandler,\n\t[UPDATE_VALUE]: {\n\t\teffect: updateValueEffect,\n\t\tstopPropagation: true\n\t},\n\t[ADD_BUTTON_CLICKED]: {\n\t\teffect: buttonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[EDIT_BUTTON_CLICKED]: {\n\t\teffect: buttonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_MODAL_OPENED_SET]: {\n\t\teffect: modalClosedEffect,\n\t\tstopPropagation: true\n\t},\n\t[SELECTED_ITEM_SET]: {\n\t\teffect: selectionUpdatedEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DISPLAY_COLUMN_DATA]: {\n\t\teffect: effectProxy(fetchDisplayColumnEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DISPLAY_COLUMN_DATA_SUCCESS]: {\n\t\teffect: fetchDisplayColumnSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DISPLAY_COLUMN_DATA_FAILURE]: {\n\t\teffect: fetchDisplayColumnFailureEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DV_DATA]: {\n\t\teffect: effectProxy(fetchEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DV_DATA_SUCCESS]: {\n\t\teffect: fetchSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DV_DATA_FAILURE]: {\n\t\teffect: fetchFailureEffect,\n\t\tstopPropagation: true\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { t } from 'sn-translate';\n\n// Component\nconst COMPONENT = 'SN_SELECT_FIELD';\nexport const SELECTED_ITEM_SET = `${COMPONENT}#SELECTED_ITEM_SET`;\n\nexport const SELECTED_ITEMS_ID_SEPERATOR = '.';\nexport const SELECTED_ITEMS_LABEL_SEPARATOR = '>';\n\nexport const AVAILABLE_LABEL = t('Available columns');\nexport const SELECTED_LABEL = t('Selected columns');\n\nexport const TABLE_NAME = 'tableName';\nexport const SELECTED_ITEMS = 'selectedItems';\n\n//List selector\nexport const TABLE_DESCRIPTION = 'tableDescription';\nexport const LIST_SELECTOR_SELECTED_ITEM_SET =\n\t'SN_LIST_SELECTOR#SELECTED_ITEM_SET';\n","import {\n\tSELECTED_ITEMS_ID_SEPERATOR,\n\tSELECTED_ITEMS_LABEL_SEPARATOR\n} from './constants';\n\n/**\n * Generate an item object to be added to selected items list\n * selected element format is an object with id and label and tooltip\n * label format is: ... > zzz\n * tooltip format is: xxx > yyy > zzz\n * id format is: xxx.yyy.zzz\n *\n * @param {array} ids - a list of ids which are the ids of all the items in the selected item path\n * @param {array} labels - a list of labels of all the items in the selected item path\n * @returns {{tooltipText, id, label: (string|*)}}\n */\nconst generateSelectedItemObject = (ids, labels) => ({\n\tid: ids.join(SELECTED_ITEMS_ID_SEPERATOR),\n\tlabel: labels.join(SELECTED_ITEMS_LABEL_SEPARATOR)\n});\n\n/**\n * Convert input selectedItems to selectedBucket input format and availableItemsSelected format\n * input format <array<array<{id, label}>>>\n *     [[{id: 'item1', label: 'Item 1'}, {id: 'item2', label: 'Item 2'}], [{id: 'item3', label: 'Item 3'}]]\n * output format: <array<{id, label}>>\n *     [{id: 'item1.item2', label: 'Item 1 > Item 2'},{id: 'item3', label: 'Item 3'}]\n * @param {array} selectedItems\n * @returns {array}\n */\nexport const convertSelectedItemsToStateFormat = selectedItems => {\n\tif (!selectedItems) return [];\n\n\tconst items = [];\n\n\tselectedItems.forEach(itemsPath => {\n\t\tconst ids = [];\n\t\tconst labels = [];\n\t\titemsPath.forEach(item => {\n\t\t\tids.push(item.id);\n\t\t\tlabels.push(item.label);\n\t\t});\n\t\t// selected bucket element format is a list of objects with id and label\n\t\t// label format is: ... > zzz\n\t\t// tooltip format is: xxx > yyy > zzz\n\t\t// id format is: xxx.yyy.zzz\n\t\tconst item = generateSelectedItemObject(ids, labels);\n\t\titems.push(item);\n\t});\n\n\treturn items;\n};\n\n/**\n * Convert selected items to event payload format\n * @param {Array<{id: string, label: string}>} selectedItems\n * @returns {Array<Array<{id: string, label: string}>>}\n * @example\n * // Input: [{id: 'item1.item2', label: 'Item 1 > Item 2'}]\n * // Output: [[{id: 'item1', label: 'Item 1'}, {id: 'item2', label: 'Item 2'}]]\n *\n * // Input: [{id: 'ref_incident.active', label: 'Active'}]\n * // Output: [[{id: 'ref_incident', label: 'Active'}, {id: 'active', label: ''}]]\n */\nexport const convertSelectedItemsToEventFormat = selectedItems =>\n\tselectedItems.map(({ id, label }) => {\n\t\tconst ids = id.split(SELECTED_ITEMS_ID_SEPERATOR);\n\t\tconst labels = label\n\t\t\t.split(SELECTED_ITEMS_LABEL_SEPARATOR)\n\t\t\t.map(label => label.trim());\n\n\t\tif (id.startsWith('ref_')) {\n\t\t\tconst [ref_prefix, columnName, ...rest] = ids;\n\t\t\treturn [\n\t\t\t\t{ id: `${ref_prefix}.${columnName}`, label: labels[0] },\n\t\t\t\t...rest.map((id, i) => ({\n\t\t\t\t\tid,\n\t\t\t\t\tlabel: labels[i + 1] || ''\n\t\t\t\t}))\n\t\t\t];\n\t\t}\n\n\t\treturn ids.map((id, i) => ({\n\t\t\tid,\n\t\t\tlabel: labels[i] || ''\n\t\t}));\n\t});\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tcomponentBootstrappedEffect,\n\tlistSelectorSelectedItemSetEffect,\n\tpropertyChangedEffect\n} from './effects';\n\nimport {\n\tLIST_SELECTOR_SELECTED_ITEM_SET\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: componentBootstrappedEffect,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangedEffect,\n\t\tstopPropagation: true\n\t},\n\t[LIST_SELECTOR_SELECTED_ITEM_SET]: {\n\t\teffect: listSelectorSelectedItemSetEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { convertSelectedItemsToStateFormat } from './utils';\nimport {\n\tTABLE_NAME,\n\tSELECTED_ITEMS,\n\tSELECTED_ITEM_SET\n} from './constants';\n\n\nexport const componentBootstrappedEffect = ({ state, updateState }) => {\n\tlet { tableName, referringTable } = state.properties;\n\tupdateState({\n\t\ttableName: referringTable || tableName\n\t});\n};\n\nexport const propertyChangedEffect = ({ state, action, updateState }) => {\n\tconst {\n\t\tpayload: { name: updatedProperty, value }\n\t} = action;\n\tif (updatedProperty) {\n\t\tif (updatedProperty === TABLE_NAME) {\n\t\t\tlet { referringTable } = state.properties;\n\t\t\tconst tableName = value;\n\t\t\tupdateState({\n\t\t\t\ttableName: referringTable || tableName\n\t\t\t})\n\t\t}\n\t\tif(updatedProperty === SELECTED_ITEMS) {\n\t\t\tupdateState({\n\t\t\t\tselectedItems: convertSelectedItemsToStateFormat(value)\n\t\t\t})\n\t\t}\n\t}\n};\n\nexport const listSelectorSelectedItemSetEffect = ({action, state, updateState, dispatch}) => {\n\tconst { payload } = action;\n\tconsole.log(payload);\n\tconst { name } = state.properties;\n\tconst updatedSelectedItems = convertSelectedItemsToStateFormat(payload);\n\tupdateState({\n\t\tselectedItems: [...updatedSelectedItems]\n\t})\n\n\tconst newPayload = {\n\t\tname,\n\t\titems: [...updatedSelectedItems]\n\t}\n\tdispatch(SELECTED_ITEM_SET, newPayload);\n\tdispatch('TRACK', {\n\t\tmetadata: {\n\t\t\tname,\n\t\t\tfieldType: 'sn-field-select'\n\t\t}\n\t});\n};\n\n\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\n\nimport actionHandlers from './actionHandlers';\nimport view from './view';\nimport styles from './style.scss';\n\n/**\n *\n * This component allows to choose a list of fields on a Table via a slush bucket.\n *\n * ```jsx\n * <div>\n *\t <sn-field-select\n *\t\ttableName=\"incident\"\n *\t />\n * <\/div>;\n * ```\n *\n * @seismicElement sn-field-select\n * @summary Component to handle field selection via a slush bucket.\n *\n */\n\ncreateCustomElement('sn-field-select', {\n\tview,\n\tstyles,\n\tsetInitialState({ properties: { selectedItems } }) {\n\t\treturn {\n\t\t\tselectedItems\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Optional\n\t\t *\n\t\t * If true, a tree is displayed to select from, that includes reference fields so we can dot-walk.\n\t\t */\n\t\tallowDotWalking: { schema: { type: 'boolean' }, default: false },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Optional\n\t\t *\n\t\t * This is the table for the record that has the field in it.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferringTable: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * Table from where the fields needs to be displayed\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * Search Behaviour of the component, it can be either 'contains' or 'initial', default value is contains.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\n\t\tsearch: { schema: { type: 'string' }, default: 'contains' },\n\n\t\t/**\n\t\t * Flag to include sysId in list of fields shown\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tincludeSysId: { schema: { type: 'boolean' }, required: false },\n\n\t\t/**\n\t\t * selectedItems - list of selected fields\n\t\t *\n\t\t *  @type {Array<{id: string, label: string}>}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: { type: 'string' },\n\t\t\t\t\t\tlabel: { type: 'string' }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tallowExtendedFields: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on change of selected fields.\n\t\t * @type {{ name: string, items: Array<string>, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_SELECT_FIELD#SELECTED_ITEM_SET': {}\n\t}\n});\n","import '@devsnc/sn-list-selector';\nimport { convertSelectedItemsToEventFormat } from './utils';\nimport {\n\tAVAILABLE_LABEL,\n\tSELECTED_LABEL,\n\tTABLE_DESCRIPTION\n} from './constants';\n\nexport default state => {\n\tconst {\n\t\tproperties: {\n\t\t\tallowDotWalking,\n\t\t\tincludeSysId,\n\t\t\ttableName,\n\t\t\tsearch,\n\t\t\tallowExtendedFields\n\t\t},\n\t\tselectedItems\n\t} = state;\n\treturn (\n\t\t<div className=\"list-selector-container\">\n\t\t\t<sn-list-selector\n\t\t\t\tallowDotWalking={allowDotWalking}\n\t\t\t\tavailableLabel={AVAILABLE_LABEL}\n\t\t\t\tincludeSysId={includeSysId}\n\t\t\t\tmode={TABLE_DESCRIPTION}\n\t\t\t\tselectedItems={convertSelectedItemsToEventFormat(selectedItems)}\n\t\t\t\tselectedLabel={SELECTED_LABEL}\n\t\t\t\ttable-name={tableName}\n\t\t\t\tsearch={search}\n\t\t\t\tshowExtendedFields={allowExtendedFields}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { trackBehavior } from '@devsnc/sn-controls-common';\n\nimport actionHandlers from './actionHandlers';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport styles from './style.scss';\nimport view from './view';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\n/**\n *\n * This component allows to choose a list of fields on a dependent Table via a slush bucket.\n *\n * ```jsx\n * <div>\n *\t <sn-record-field-list-connected\n *\t\tlabel=\"Field List Label\"\n *\t\tdependentFieldValue=\"cmdb_ci_lb_ace\"\n *\t />\n * <\/div>;\n * ```\n *\n * @seismicElement sn-record-field-list-connected\n * @summary Component to handle glide_list field type that handles entry for a list of a given table's fields..\n *\n */\n\ncreateCustomElement('sn-record-field-list-connected', {\n\tview,\n\tinitialState: {\n\t\tstateValue: '',\n\t\tstateDisplayValue: '',\n\t\tselectedItems: [],\n\t\tselectedItemsStaged: [],\n\t\tmodalOpened: false\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Label of the field that this component depends on.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, required: true },\n\t\t/**\n\t\t * Name of the table to show fields for.\n\t\t */\n\t\tdependentFieldValue: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The label for the column of the table used as the display value\n\t\t */\n\t\tdisplayColumnLabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The column database name\n\t\t */\n\t\tdisplayColumnName: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Array containing the labels for the fields currently set in value\n\t\t * Ex. [\"Label1\", \"Label2 > DotWalkLabel1 > DotwalkLabel2\", \"Label3\"]\n\t\t */\n\t\tdisplayValuesWithPath: { schema: { type: 'array' }, default: [] },\n\t\t/**\n\t\t * When true, the fields have a option to be dotwalked\n\t\t * @type {boolean}\n\t\t */\n\t\tallowDotWalking: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * When true, sys id field will be included in list of fields\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeSysId: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * When true, the field list will show the dependent table's default display column (ex. Incident => Number, sys_user => Name)\n\t\t * @type {boolean}\n\t\t */\n\t\tshowTableDefaultDisplayColumn: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * When true, the field will be disabled so that it can't be used or tabbed to.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * If invalid, it holds the error message.\n\t\t * @type {string | object}\n\t\t */\n\t\terror: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'object' }] },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Specifies whether the current value is valid or not.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { schema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] } },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\t/**\n\t\t * Contains the displayValue & value properties for the field\n\t\t * isModified {bool}\n\t\t * updatedBy {obj:{username,displayName}}\n\t\t */\n\t\tliveUpdate: {\n\t\t\tdefault: undefined,\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\tlabel: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\t\t\t'liveUpdate',\n\t\t\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\t\t\t'suggestion'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmessage: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Callback used when the value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\n\t\t/**\n\t\t * This is the table for the record that has the field in it.\n\t\t */\n\t\treferringTable: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {boolean|string}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\t\t/**\n\t\t * Underlying data for the field.\n\t\t * Comma separatered column names.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * DisplayValue for current component. Comma separated list of column labels.\n\t\t * Matching the order of the fields from value\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tallowExtendedFields: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t['NOW_INPUT#VALUE_SET']: { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ name: string, value: string, items: Array<{id: string, label: string}>, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_FIELD_LIST_CONNECTED#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport '@servicenow/now-input';\nimport '@servicenow/now-button';\nimport '@servicenow/now-modal';\n\nimport {\n\tisAttrTrue,\n\ttransformMessages,\n\twrapHelperContent,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tpushInfoMessageForDependentFields,\n\tisFieldEditableAndDependentFieldValueSet,\n\tgetModifiedIconConfig\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-field-select';\nimport '@devsnc/sn-record-control-wrapper';\n\nimport {\n\tCLICK_TO_ADD_LABEL,\n\tOPEN_LIST_LABEL,\n\tOK_LABEL,\n\tCANCEL_LABEL,\n\tOPEN_MODAL_ACTION,\n\tMODAL_SUB_HEADER_LABEL,\n\tNOW_MODAL_OPENED_SET,\n\tUPDATE_VALUE,\n\tREQUIRED_STR\n} from './constants';\nimport { preventManualInput } from './utils';\n\nexport default state => {\n\tconst {\n\t\tstateDisplayValue,\n\t\tproperties: {\n\t\t\tautofocus,\n\t\t\tdisabled,\n\t\t\terror,\n\t\t\thelperContent,\n\t\t\tinvalid,\n\t\t\tlabel,\n\t\t\tname,\n\t\t\treadonly,\n\t\t\trequired,\n\t\t\tdependentFieldValue,\n\t\t\tdependentFieldLabel,\n\t\t\tincludeSysId,\n\t\t\tallowDotWalking,\n\t\t\tallowExtendedFields,\n\t\t\tfieldLayout,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\twrapLabel\n\t\t},\n\t\tselectedItemsStaged,\n\t\topened = false\n\t} = state;\n\n\tconst editable =\n\t\tdependentFieldValue && !isAttrTrue(readonly) && !isAttrTrue(disabled);\n\n\tconst count = stateDisplayValue ? stateDisplayValue.split(',').length : 0;\n\n\tconst addMissingMessage = isFieldEditableAndDependentFieldValueSet(\n\t\treadonly,\n\t\tdependentFieldValue,\n\t\tdependentFieldLabel\n\t);\n\n\tlet { messages = [] } = state.properties;\n\n\tif (addMissingMessage) {\n\t\tmessages = pushInfoMessageForDependentFields(messages, dependentFieldLabel);\n\t}\n\tconst attrs = {\n\t\tautofocus: isAttrTrue(autofocus),\n\t\tlabel,\n\t\tdisabled: isAttrTrue(disabled),\n\t\thelperContent: wrapHelperContent(helperContent),\n\t\tinvalid: invalid || Boolean(error),\n\t\tmessages: transformMessages(messages),\n\t\tname,\n\t\treadonly: true,\n\t\trequired: isAttrTrue(required),\n\t\tfieldLayout: fieldLayout,\n\t\twrapLabel\n\t};\n\n\tconst showAddLink =\n\t\t!isAttrTrue(readonly) && (!dependentFieldValue || !stateDisplayValue);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{showAddLink ? (\n\t\t\t\t<sn-record-control-wrapper\n\t\t\t\t\t{...state.properties}\n\t\t\t\t\tmessages={messages}\n\t\t\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\t\t>\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tdisabled={attrs.disabled || !editable}\n\t\t\t\t\t\tlabel={CLICK_TO_ADD_LABEL}\n\t\t\t\t\t\ticon-start=\"pencil-outline\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tappend-to-payload={{ button: OPEN_MODAL_ACTION }}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t'aria-label': `${CLICK_TO_ADD_LABEL}, ${\n\t\t\t\t\t\t\t\tisAttrTrue(required) ? REQUIRED_STR : ''\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<\/sn-record-control-wrapper>\n\t\t\t) : (\n\t\t\t\t<now-input\n\t\t\t\t\t{...attrs}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\t\t\tvalue={stateDisplayValue}\n\t\t\t\t\tmanage-value\n\t\t\t\t\tmanage-invalid\n\t\t\t\t\ton-paste={preventManualInput}\n\t\t\t\t\ton-keydown={preventManualInput}\n\t\t\t\t\ton-cut={preventManualInput}\n\t\t\t\t\ton-mousedown={preventManualInput}\n\t\t\t\t>\n\t\t\t\t\t{count ? (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'is-readonly': isAttrTrue(readonly)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t({count})\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{editable ? (\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\t\ticon=\"pencil-outline\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ttooltip-content={OPEN_LIST_LABEL}\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-label': OPEN_LIST_LABEL\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tappend-to-payload={{ button: OPEN_MODAL_ACTION }}\n\t\t\t\t\t\t\t//To prevent parent now-input's on-keydown from intercepting the event\n\t\t\t\t\t\t\ton-keydown={e => e.stopPropagation()}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t})\n\t\t\t\t\t)}\n\t\t\t\t\t{renderDecorations(state.properties)}\n\t\t\t\t<\/now-input>\n\t\t\t)}\n\n\t\t\t<now-modal\n\t\t\t\tsize=\"lg\"\n\t\t\t\tfooterActions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: OK_LABEL,\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tclickActionType: UPDATE_VALUE\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: CANCEL_LABEL,\n\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\tclickActionType: NOW_MODAL_OPENED_SET\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t\theader-label={label}\n\t\t\t\topened={opened}\n\t\t\t>\n\t\t\t\t<div className=\"field-list-container\">\n\t\t\t\t\t<div className=\"header\">{MODAL_SUB_HEADER_LABEL}<\/div>\n\t\t\t\t\t{opened ? (\n\t\t\t\t\t\t<sn-field-select\n\t\t\t\t\t\t\tname=\"fieldList\"\n\t\t\t\t\t\t\tallowDotWalking={allowDotWalking}\n\t\t\t\t\t\t\ttableName={dependentFieldValue}\n\t\t\t\t\t\t\tselectedItems={selectedItemsStaged}\n\t\t\t\t\t\t\tincludeSysId={includeSysId}\n\t\t\t\t\t\t\tallowExtendedFields={allowExtendedFields}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/now-modal>\n\t\t<\/Fragment>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { isFunction, find, get } from 'lodash';\nimport {\n\tadaptCallbackForLegacyAPI,\n\tSUGGESTION_PREFIX\n} from '@devsnc/sn-controls-common';\n\nexport const actionHandlers = {\n\t'NOW_TYPEAHEAD#VALUE_SET': ({\n\t\taction,\n\t\tproperties,\n\t\tupdateState,\n\t\tupdateProperties,\n\t\tdispatch\n\t}) => {\n\t\tconst { value, actionSource } = action.payload;\n\t\tconst { name, onChange, onStagedValueChange } = properties;\n\n\t\t// faking event because app teams are expecting event as param with some properties in OnChange callback\n\t\tconst event = {\n\t\t\ttarget: {\n\t\t\t\tvalue,\n\t\t\t\tactionSource\n\t\t\t},\n\t\t\tpersist: () => {\n\t\t\t\treturn;\n\t\t\t},\n\t\t\tstopPropagation: () => {\n\t\t\t\treturn;\n\t\t\t}\n\t\t};\n\n\t\tif (isFunction(onStagedValueChange)) {\n\t\t\tadaptCallbackForLegacyAPI(onStagedValueChange)({ value });\n\t\t}\n\t\tdispatch('NOW_RECORD_TYPEAHEAD#STAGED_VALUE_CHANGED', {\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tevent\n\t\t});\n\n\t\tif (isFunction(onChange)) {\n\t\t\tonChange(event);\n\t\t} else {\n\t\t\tupdateProperties({ value });\n\t\t}\n\n\t\tupdateState({ currentDisplayValue: value });\n\t\taction.stopPropagation();\n\t},\n\t'NOW_TYPEAHEAD#SELECTED_ITEM_SET': ({\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateState,\n\t\tupdateProperties\n\t}) => {\n\t\tconst { value: itemValue, item } = action.payload;\n\t\tconst {\n\t\t\tname,\n\t\t\tonValueChange,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\tdisableTracking,\n\t\t\tsuggestedOptions\n\t\t} = properties;\n\n\t\tconst suggestionPrefix = new RegExp(`^${SUGGESTION_PREFIX}`);\n\t\tconst value = itemValue?.replace(suggestionPrefix, '');\n\n\t\tif (value) {\n\t\t\tconst suggestions = (suggestedOptions.children || []).map(\n\t\t\t\t({ id, label }) => ({\n\t\t\t\t\tvalue: id.replace(suggestionPrefix, ''),\n\t\t\t\t\tdisplayValue: label\n\t\t\t\t})\n\t\t\t);\n\t\t\t//Handle Value Changes on selecting an item from the dropdown\n\t\t\tlet selectedOption = find([...options, ...recents, ...suggestions], {\n\t\t\t\tvalue: value\n\t\t\t});\n\t\t\tconst itemDisplayValue = get(selectedOption, 'displayValue');\n\t\t\tconst referenceSysId = get(selectedOption, 'optionSysId');\n\t\t\tconst secondaryData = get(selectedOption, 'secondary');\n\n\t\t\tif (itemDisplayValue || itemDisplayValue === '') {\n\t\t\t\tupdateState({ currentDisplayValue: itemDisplayValue });\n\n\t\t\t\tif (isFunction(onValueChange)) {\n\t\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tdisplayValue: itemDisplayValue,\n\t\t\t\t\t\tadditionalInfo: { referenceSysId, secondaryData }\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// Update selectedItem to value so NDS typeahead know value is set and not to trigger a invalid state\n\t\t\t\t\tupdateProperties({ value: itemDisplayValue, selectedItem: value });\n\t\t\t\t}\n\n\t\t\t\t// set timeout to ensure staged value change dispatches before value change\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tdispatch('NOW_RECORD_TYPEAHEAD#VALUE_CHANGED', {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tdisplayValue: itemDisplayValue,\n\t\t\t\t\t\tadditionalInfo: { referenceSysId, secondaryData }\n\t\t\t\t\t});\n\t\t\t\t\tdispatch('TRACK', {\n\t\t\t\t\t\tmetaData: { name: name, fieldType: 'typeahead' },\n\t\t\t\t\t\tadditionalOptions: { ...item, parentHandling: disableTracking }\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t} else {\n\t\t\t// set timeout to ensure staged value change dispatches before value change\n\t\t\tsetTimeout(() => {\n\t\t\t\tdispatch('NOW_RECORD_TYPEAHEAD#INTERNAL_VALUE_CHANGE', {\n\t\t\t\t\tname,\n\t\t\t\t\tvalue\n\t\t\t\t});\n\t\t\t}, 0);\n\t\t\tupdateProperties({ selectedItem: value });\n\t\t}\n\t\taction.stopPropagation();\n\t},\n\n\t'NOW_RECORD_TYPEAHEAD#INTERNAL_VALUE_CHANGE': {\n\t\tstopPropagation: true,\n\t\teffect: ({ dispatch, state, action }) => {\n\t\t\tconst { value, name } = action.payload;\n\t\t\tdispatch('NOW_RECORD_TYPEAHEAD#VALUE_CHANGED', {\n\t\t\t\tname,\n\t\t\t\tvalue,\n\t\t\t\tdisplayValue: state.currentDisplayValue\n\t\t\t});\n\t\t}\n\t},\n\n\t'NOW_TYPEAHEAD#INTERACTION_FINISHED': ({ updateState, properties }) => {\n\t\tconst { onBlur } = properties;\n\t\tif (isFunction(onBlur)) {\n\t\t\tonBlur(event);\n\t\t\tupdateState({\n\t\t\t\tinitialSearchComplete: false\n\t\t\t});\n\t\t}\n\t},\n\n\t'NOW_POPOVER#CONTENT_VISIBLE': ({ updateState, state }) => {\n\t\tconst { onClick } = state.properties;\n\t\tconst { initialSearchComplete } = state;\n\t\tif (isFunction(onClick) && !initialSearchComplete) {\n\t\t\tonClick();\n\t\t\t// This is done to prevent re-searching when popover opens again\n\t\t\tupdateState({\n\t\t\t\tinitialSearchComplete: true\n\t\t\t});\n\t\t}\n\t}\n};\n","import { isEmpty, toString, isNil, isNumber, filter, isObject } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport '@devsnc/sn-declarative-actions';\n\nimport { createCustomElement, nowPriorityLevels } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport '@servicenow/now-typeahead';\n// Function imports\nimport {\n\tisAttrTrue,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\ttransformMessages,\n\tgetMatchesCount,\n\tescapeSeismicSpecialSymbols,\n\ttrackBehavior,\n\tSeismicComponentFieldPropDefaults,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\nimport { actionHandlers } from './actionHandlers';\n\n// Style imports\nimport style from './reference.scss';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nexport const makeItemsObject = (\n\toptions,\n\theaderMessage,\n\tsecondaryLabelDelimiter,\n\tmeta\n) => {\n\treturn {\n\t\tlabel: headerMessage,\n\t\tchildren: options.map(option => {\n\t\t\treturn {\n\t\t\t\tid: option.value,\n\t\t\t\tlabel: option.displayValue || t('(empty)'),\n\t\t\t\toptionSysId: option.optionSysId,\n\t\t\t\t...meta,\n\t\t\t\tsublabel: filter(option.secondary)\n\t\t\t\t\t.map(secondaryValue => {\n\t\t\t\t\t\tif (isObject(secondaryValue)) {\n\t\t\t\t\t\t\treturn secondaryValue.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn secondaryValue;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\n\t\t\t\t\t\tsecondaryLabelDelimiter !== undefined\n\t\t\t\t\t\t\t? secondaryLabelDelimiter\n\t\t\t\t\t\t\t: ' | '\n\t\t\t\t\t)\n\t\t\t};\n\t\t})\n\t};\n};\n\n/**\n * Reference fields allow users to select a value from a dynamic list of\n * choices. Unlike a reference list, a user cannot select multiple values.\n */\nconst NowTypeahead = (state, { dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\tname,\n\t\t\treadonly,\n\t\t\tplaceholder,\n\t\t\tlabel,\n\t\t\tmessages,\n\t\t\tdescription,\n\t\t\tinvalid,\n\t\t\trequired,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\tsuggestedOptions,\n\t\t\tautofocus,\n\t\t\tconfigMessages,\n\t\t\tloading,\n\t\t\ttotalMatchesCount,\n\t\t\tsecondaryLabelDelimiter,\n\t\t\tformData,\n\t\t\tdAProps,\n\t\t\tdisabled,\n\t\t\tloadingMessage,\n\t\t\tmaxSearchMatches,\n\t\t\tsearch,\n\t\t\tselectedItem,\n\t\t\thelperContent,\n\t\t\tconfigAria,\n\t\t\thighlightedValue,\n\t\t\tfieldLayout,\n\t\t\tsize,\n\t\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\twrapLabel\n\t\t}\n\t} = state;\n\n\tconst { totalMatchesCountHeaderMessage } = getConfigMessages(\n\t\tproperties,\n\t\tconfigMessages\n\t);\n\tconst value = toString(properties.value);\n\n\tconst totalMatchesCountHeaderMSG = getHeaderMessage(\n\t\ttotalMatchesCountHeaderMessage,\n\t\toptions,\n\t\ttotalMatchesCount,\n\t\tmaxSearchMatches,\n\t\tsearch,\n\t\tvalue\n\t);\n\n\tconst recentItems = isEmpty(recents)\n\t\t? {}\n\t\t: makeItemsObject(recents, t('Recent Selections'), secondaryLabelDelimiter);\n\tconst searchItems = isEmpty(options)\n\t\t? {}\n\t\t: makeItemsObject(\n\t\t\t\toptions,\n\t\t\t\ttotalMatchesCountHeaderMSG,\n\t\t\t\tsecondaryLabelDelimiter\n\t\t\t);\n\n\tconst optionsNew = [suggestedOptions, recentItems, searchItems].filter(\n\t\tobj => !isEmpty(obj)\n\t);\n\n\tconst ariaLabel = configAria?.['aria-label'] || label || '';\n\n\t// Pass typeahead's current value to declarative action model if reference is not set\n\tconst chars = !dAProps?.referenceSysId && value ? value : '**';\n\n\treturn (\n\t\t<now-typeahead\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}'),\n\t\t\t\t\t'aria-invalid': toString(invalid)\n\t\t\t\t}\n\t\t\t}}\n\t\t\tname={name + '_input'}\n\t\t\titems={\n\t\t\t\tloading\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: loadingMessage || t('Searching...'),\n\t\t\t\t\t\t\t\tchildren: []\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t: optionsNew\n\t\t\t}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tvalue={\n\t\t\t\t!value && isAttrTrue(readonly)\n\t\t\t\t\t? '—'\n\t\t\t\t\t: escapeSeismicSpecialSymbols(value)\n\t\t\t}\n\t\t\trequired={required}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tplaceholder={placeholder}\n\t\t\tdisabled={disabled}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tinvalid={invalid}\n\t\t\tmanageInvalid\n\t\t\tautofocus={autofocus}\n\t\t\tmanageSelectedItem={true}\n\t\t\thelperContent={helperContent || description}\n\t\t\t// now-typeahead does triple equal check for selected item being null\n\t\t\t// before dispatching selected_item_set. This ensures we only pass null\n\t\t\t// to prevent any dispatches for values such as empty string or undefined\n\t\t\tselectedItem={selectedItem || null}\n\t\t\t// this prop was added if user doesn't want to implement filtering logic\n\t\t\t// it accepts value \"initial\" for showing items that begins with input value\n\t\t\t// it accepts value \"contains\" for showing items that contains input value\n\t\t\tsearch={search}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tsize={size}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t{dAProps ? (\n\t\t\t\t<sn-declarative-field-action\n\t\t\t\t\tnow-priority={nowPriorityLevels.LOW}\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tmodel={{ ...dAProps, chars }}\n\t\t\t\t\tactions={dAProps.declarativeUiActions}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tformData={formData}\n\t\t\t\t\tfetchDeclarativeActions={dAProps.fetchDeclarativeActions}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, { label })\n\t\t\t)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(properties)}\n\t\t<\/now-typeahead>\n\t);\n};\n\nexport function getHeaderMessage(\n\ttotalMatchesCountHeaderMessage,\n\toptions,\n\ttotalMatchesCount,\n\tmaxSearchMatches,\n\tsearch,\n\tvalue\n) {\n\tlet totalMatchesCountHeaderMSG;\n\tif (!isNil(totalMatchesCountHeaderMessage)) {\n\t\ttotalMatchesCountHeaderMSG = totalMatchesCountHeaderMessage;\n\t} else if (isNumber(totalMatchesCount)) {\n\t\ttotalMatchesCountHeaderMSG =\n\t\t\ttotalMatchesCount >= maxSearchMatches\n\t\t\t\t? t('Showing 1-{0} of more than {1}', options.length, maxSearchMatches)\n\t\t\t\t: t('Showing 1-{0} of {1}', options.length, totalMatchesCount);\n\t} else if (search === 'initial' || search === 'contains') {\n\t\tconst resultsCount = getMatchesCount(options, search, value);\n\t\ttotalMatchesCountHeaderMSG = t(\n\t\t\t'Showing 1-{0} of {1}',\n\t\t\tresultsCount,\n\t\t\tresultsCount\n\t\t);\n\t} else {\n\t\ttotalMatchesCountHeaderMSG = t(\n\t\t\t'Showing 1-{0} of {1}',\n\t\t\toptions.length,\n\t\t\toptions.length\n\t\t);\n\t}\n\n\treturn totalMatchesCountHeaderMSG;\n}\n\nexport function getConfigMessages(props, config = {}) {\n\treturn [\n\t\t'loadingMessage',\n\t\t'totalMatchesCountHeaderMessage',\n\t\t'noResultsFoundMessaged'\n\t].reduce(\n\t\t(prev, name) => ({ ...prev, [name]: config[name] || props[name] }),\n\t\t{}\n\t);\n}\n\nNowTypeahead.style = style;\n\n/**\n *\n * Typeahead component that displays values off a given list.\n *\n * ```jsx\n * <Fragment>\n * \t<now-record-typeahead\n * \t\tvalue={\"...\"}\n * \t\toptions={[{\n * \t\t\tvalue: 'VALUE 1'\n * \t\t\tsecondary: [\n * \t\t\t\t{\n * \t\t\t\t\tvalue: 'VIP',\n * \t\t\t\t\tstatus: 'positive',\n * \t\t\t\t\tisHighlighted: 'true',\n * \t\t\t\t\tshowIcon: true\n * \t\t\t\t},\n * \t\t\t\t'test'\n * \t\t\t],\n * \t\t\tdisplayValue: 'VALUE 1 - VIP'\n * \t\t}]}\n * \t/>\n * <\/Fragment>\n * ```\n *\n * @seismicElement now-record-typeahead\n * @summary Typeahead Component\n *\n * */\ncreateCustomElement('now-record-typeahead', {\n\tview: withValueChangeCallbacksView(NowTypeahead),\n\tinitialState: { initialSearchComplete: false },\n\tstyles: style,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Configure the messages that the typeahead use.\n\t\t *\n\t\t * `type:string` loadingMessage - Message to show when the search results are being loaded.\n\t\t *\n\t\t * `type:string` totalMatchesCountHeaderMessage - Header message that'll show up on the total count dropdown group.\n\t\t *\n\t\t * `type:string` noResultsFoundMessage - Message to show when no results are found.\n\t\t *\n\t\t * @type {{loadingMessage: string, totalMatchesCountHeaderMessage: string, noResultsFoundMessage: string }}\n\t\t */\n\t\tconfigMessages: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * This is value of currently selected item.This is used as id in NDS now-typeahead\n\t\t * @type {string}\n\t\t */\n\t\tselectedItem: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Flag to indicate the options are in a loding state\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tloading: { default: false },\n\t\t/**\n\t\t * Message to show when the search results are being loaded\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tloadingMessage: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonBlur: {},\n\t\t/**\n\t\t * onChange event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonChange: {},\n\t\t/**\n\t\t * onClick event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonClick: {},\n\t\t/**\n\t\t * onEnter event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonEnter: {},\n\t\t/**\n\t\t * onFocus event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonFocus: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t *\n\t\t * `type:any` event.value - The new value for the component\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type\n\t\t *\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Array of options that represent valid choices\n\t\t * @type {Array<Object>} - required\n\t\t */\n\t\toptions: { default: [] },\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Array of options that represent recent choices\n\t\t * @type {Array<Object>} - required\n\t\t */\n\t\trecents: { default: [] },\n\t\t/**\n\t\t * options that represent suggested items\n\t\t * @type {{\n\t\t * \t\t\t type: \"object\",\n\t\t * \t\t\t properties: {\n\t\t * \t\t\t \t suggestedOptions: {\n\t\t * \t\t\t \t \ttype: \"object\",\n\t\t * \t\t\t \t \tproperties: {\n\t\t * \t\t\t \t \t    label: {type: string},\n\t\t * \t\t\t \t \t    children: [{id: {type: string}, label: {type: string}}]\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 }}\n\t\t */\n\t\tsuggestedOptions: { default: {} },\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchUsingStartsWith: { default: false },\n\t\t/**\n\t\t * Optional delimiter for secondary labels in options\n\t\t * @type {string}\n\t\t */\n\t\tsecondaryLabelDelimiter: {},\n\t\t/**\n\t\t * Number of all possible matches for the given value, ignoring pagination\n\t\t * @type {number}\n\t\t */\n\t\ttotalMatchesCount: {},\n\t\t/**\n\t\t * Header message that'll show up on the total count dropdown group\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\ttotalMatchesCountHeaderMessage: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdAProps: {},\n\n\t\t/**\n\t\t * Flag to searching when clicking on field\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * Controls how to filter the items as the user types into the input.\n\t\t * - \"managed\" (default): no filtering will happen. Use this if you want to manually\n\t\t *   filter or search for items as the user types.\n\t\t * - \"initial\": items whose label or sublabel begins with the\n\t\t *   input value will be displayed. This is case-insensitive.\n\t\t * - \"contains\": items whose label or sublabel contains the input value\n\t\t *   will be displayed. This is case-insensitive.\n\t\t * @type {(\"managed\"|\"initial\"|\"contains\")}\n\t\t */\n\n\t\tsearch: {\n\t\t\tdefault: 'managed',\n\t\t\tschema: { type: 'string', enum: ['managed', 'initial', 'contains'] }\n\t\t},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Flag to indicate parent component will handle tracking\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tdisableTracking: { schema: { type: 'boolean' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'SN_RECORD_INPUT#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_INPUT#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user has changed the input and wishes to run a query.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_RECORD_TYPEAHEAD#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a new value is selected.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_TYPEAHEAD#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\ttransformState\n});\n\nexport default NowTypeahead;\n","import { isFunction, uniqBy } from 'lodash';\nimport {\n\tadaptCallbackForLegacyAPI,\n\tSUGGESTION_PREFIX,\n\tCUSTOM_PILL_PREFIX\n} from '@devsnc/sn-controls-common';\n\nconst dispatchValueChanged = (\n\tname,\n\tdispatch,\n\tonValueChange,\n\titems,\n\tupdateProperties\n) => {\n\tif (items) {\n\t\tif (isFunction(onValueChange)) {\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\tvalue: uniqBy(items, 'value')\n\t\t\t});\n\t\t} else {\n\t\t\tupdateProperties({ pills: uniqBy(items, 'value') });\n\t\t}\n\n\t\tdispatch('NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED', {\n\t\t\tvalue: uniqBy(items, 'value'),\n\t\t\tname\n\t\t});\n\t}\n};\n\nexport const actionHandlers = {\n\t'NOW_TYPEAHEAD_MULTI#VALUE_SET': ({ action, properties, dispatch }) => {\n\t\tconst { value } = action.payload;\n\t\tconst { onChange, onStagedValueChange, name } = properties;\n\n\t\tif (isFunction(onStagedValueChange)) {\n\t\t\tadaptCallbackForLegacyAPI(onStagedValueChange)({ value });\n\t\t}\n\t\t// faking event because app teams are expecting event as param in OnChange callback\n\t\tconst event = {\n\t\t\ttarget: {\n\t\t\t\tvalue: value\n\t\t\t},\n\t\t\tpersist: () => {\n\t\t\t\treturn;\n\t\t\t},\n\t\t\tstopPropagation: () => {\n\t\t\t\treturn;\n\t\t\t}\n\t\t};\n\n\t\tdispatch('NOW_RECORD_TYPEAHEAD_MULTIPLE#STAGED_VALUE_CHANGED', {\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tevent\n\t\t});\n\n\t\tif (isFunction(onChange)) {\n\t\t\tonChange(event);\n\t\t}\n\t},\n\n\t'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET': ({\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateProperties,\n\t\tupdateState\n\t}) => {\n\t\tconst { value } = action.payload;\n\t\tconst { extraSelectedPills, onCustomPillsChange } = properties;\n\t\tconst suggestionPrefix = new RegExp(`^${SUGGESTION_PREFIX}`);\n\n\t\tconst extraPillsSet = value.filter(({ id }) =>\n\t\t\tid.startsWith(CUSTOM_PILL_PREFIX)\n\t\t);\n\t\tif (extraSelectedPills?.length > extraPillsSet.length)\n\t\t\tif (isFunction(onCustomPillsChange)) onCustomPillsChange(extraPillsSet);\n\n\t\tconst items = value\n\t\t\t.filter(({ id }) => !id.startsWith(CUSTOM_PILL_PREFIX))\n\t\t\t.map(({ id, label: displayValue }) => ({\n\t\t\t\tvalue: id.replace(suggestionPrefix, ''),\n\t\t\t\tdisplayValue\n\t\t\t}));\n\n\t\tconst { onValueChange, name, pills, disableTracking } = properties;\n\t\tdispatchValueChanged(\n\t\t\tname,\n\t\t\tdispatch,\n\t\t\tonValueChange,\n\t\t\titems,\n\t\t\tupdateProperties\n\t\t);\n\t\tif (pills.length < value.length) {\n\t\t\tconst newItem = value[value.length - 1];\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: {\n\t\t\t\t\tname,\n\t\t\t\t\tfieldType: 'typeahead-multiple'\n\t\t\t\t},\n\t\t\t\tadditionalOptions: { ...newItem, parentHandling: disableTracking }\n\t\t\t});\n\t\t} else {\n\t\t\t// @desc: Set to false to allow searching again; records may appear empty when pills are dismissed.\n\t\t\tupdateState({\n\t\t\t\tinitialSearchComplete: false\n\t\t\t});\n\t\t}\n\t},\n\n\t'NOW_TYPEAHEAD_MULTI#INTERACTION_FINISHED': ({\n\t\tproperties: { onBlur },\n\t\tupdateState\n\t}) => {\n\t\tif (isFunction(onBlur)) {\n\t\t\tonBlur(event);\n\t\t}\n\t\tupdateState({\n\t\t\tinitialSearchComplete: false\n\t\t});\n\t},\n\n\t'NOW_POPOVER#CONTENT_VISIBLE': ({ updateState, state }) => {\n\t\tconst { onClick } = state.properties;\n\t\tconst { initialSearchComplete } = state;\n\n\t\tif (isFunction(onClick) && !initialSearchComplete) {\n\t\t\tonClick();\n\t\t\t// This is done to prevent re-searching when popover opens again\n\t\t\tupdateState({\n\t\t\t\tinitialSearchComplete: true\n\t\t\t});\n\t\t}\n\t}\n};\n","import {\n\tisEmpty,\n\tisFunction,\n\tfilter,\n\tisNumber,\n\tisNil,\n\tisObject,\n\tuniqBy,\n\tfind\n} from 'lodash';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-typeahead';\nimport { createCustomElement, nowPriorityLevels } from '@servicenow/ui-core';\nimport '@devsnc/sn-declarative-actions';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tisAttrTrue,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\ttransformMessages,\n\tgetMatchesCount,\n\ttrackBehavior,\n\tadaptCallbackForLegacyAPI,\n\trenderHighlightedValue,\n\tSeismicComponentFieldPropDefaults,\n\tgetAriaLabelFromConfig,\n\tSUGGESTION_PREFIX,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\nimport { actionHandlers } from './actionHandlers';\n\n// Style imports\nimport style from './referencemultiple.scss';\n\nconst recentsMsg = t('Recent Selections');\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nexport const makeItemsObj = (\n\toptions,\n\theaderMessage,\n\tsecondaryLabelDelimiter,\n\tmeta\n) => {\n\treturn {\n\t\tlabel: headerMessage,\n\t\tchildren: options.map(option => {\n\t\t\treturn {\n\t\t\t\tid: option.value,\n\t\t\t\tlabel: option.displayValue || t('(empty)'),\n\t\t\t\t...meta,\n\t\t\t\tsublabel: filter(option.secondary)\n\t\t\t\t\t.map(secondaryValue => {\n\t\t\t\t\t\tif (isObject(secondaryValue)) {\n\t\t\t\t\t\t\treturn secondaryValue.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn secondaryValue;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\n\t\t\t\t\t\tsecondaryLabelDelimiter !== undefined\n\t\t\t\t\t\t\t? secondaryLabelDelimiter\n\t\t\t\t\t\t\t: ' | '\n\t\t\t\t\t)\n\t\t\t};\n\t\t})\n\t};\n};\n\nexport const onValueChange =\n\t(pills, parentOnValueChange, dispatch) => payload => {\n\t\tconst { value, displayValue } = payload;\n\n\t\tconst items = pills;\n\t\tconst values = value.split(',');\n\t\tvalues.forEach((val, index) => {\n\t\t\tif (!find(items, { value: val })) {\n\t\t\t\titems.push({\n\t\t\t\t\tvalue: val,\n\t\t\t\t\tdisplayValue: Array.isArray(displayValue)\n\t\t\t\t\t\t? displayValue[index]\n\t\t\t\t\t\t: displayValue\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif (items) {\n\t\t\tif (isFunction(parentOnValueChange)) {\n\t\t\t\tadaptCallbackForLegacyAPI(parentOnValueChange)({\n\t\t\t\t\tvalue: uniqBy(items, 'value')\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdispatch('NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED', {\n\t\t\t\tvalue: uniqBy(items, 'value'),\n\t\t\t\tname\n\t\t\t});\n\t\t}\n\t};\n\n/**\n * Reference lists allow users to select one or more values from a dynamic\n * list of choices.\n */\nconst NowTypeaheadMultiple = (state, { dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\treadonly,\n\t\t\tmessages,\n\t\t\tdescription,\n\t\t\tplaceholder,\n\t\t\tpills,\n\t\t\tautofocus,\n\t\t\tlabel,\n\t\t\trequired,\n\t\t\tloading,\n\t\t\tloadingMessage,\n\t\t\tdisabled,\n\t\t\tinvalid,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\tsuggestedOptions,\n\t\t\tsecondaryLabelDelimiter,\n\t\t\ttotalMatchesCountHeaderMessage,\n\t\t\ttotalMatchesCount,\n\t\t\tmaxSearchMatches,\n\t\t\tsearch,\n\t\t\tvalue,\n\t\t\thelperContent,\n\t\t\tdAProps,\n\t\t\tformData,\n\t\t\tonValueChange: parentOnValueChange,\n\t\t\thighlightedValue,\n\t\t\tconfigAria,\n\t\t\tfieldLayout,\n\t\t\tshowDeclartiveActions,\n\t\t\tsize,\n\t\t\textraSelectedPills,\n\t\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\twrapLabel\n\t\t}\n\t} = state;\n\n\tconst totalMatchesCountHeaderMSG = getHeaderMessage(\n\t\ttotalMatchesCountHeaderMessage,\n\t\toptions,\n\t\ttotalMatchesCount,\n\t\tmaxSearchMatches,\n\t\tsearch,\n\t\tvalue\n\t);\n\n\tconst recentItems = isEmpty(recents)\n\t\t? {}\n\t\t: makeItemsObj(recents, recentsMsg, secondaryLabelDelimiter);\n\tconst searchItems = isEmpty(options)\n\t\t? {}\n\t\t: makeItemsObj(\n\t\t\t\toptions,\n\t\t\t\ttotalMatchesCountHeaderMSG,\n\t\t\t\tsecondaryLabelDelimiter\n\t\t\t);\n\n\tconst optionsNew = [suggestedOptions, recentItems, searchItems].filter(\n\t\tobj => !isEmpty(obj)\n\t);\n\n\tconst suggestionPrefix = new RegExp(`^${SUGGESTION_PREFIX}`);\n\tconst currentlySelectedItems = pills.map(\n\t\t({ value: id, displayValue: label }) => {\n\t\t\tconst isSuggestion = (suggestedOptions.children || []).find(\n\t\t\t\toption => option.id.replace(suggestionPrefix, '') === id\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tid: isSuggestion ? `${SUGGESTION_PREFIX}${id}` : id,\n\t\t\t\tlabel\n\t\t\t};\n\t\t}\n\t);\n\n\tconst ariaLabel = configAria?.['aria-label'] || label || '';\n\n\tconst chars = '**';\n\n\treturn (\n\t\t<now-typeahead-multi\n\t\t\tname={name + '_input'}\n\t\t\titems={\n\t\t\t\tloading\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: loadingMessage || t('Searching...'),\n\t\t\t\t\t\t\t\tchildren: []\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t: optionsNew\n\t\t\t}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\trequired={required}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tplaceholder={placeholder}\n\t\t\tdisabled={disabled}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tinvalid={invalid}\n\t\t\tautofocus={autofocus}\n\t\t\tmanageSelectedItems={true}\n\t\t\thelperContent={helperContent || description}\n\t\t\tselectedItems={[...currentlySelectedItems, ...extraSelectedPills]}\n\t\t\t// this prop was added if user doesn't want to implement filtering logic\n\t\t\t// it accepts value \"initial\" for showing items that begins with input value\n\t\t\t// it accepts value \"contains\" for showing items that contains input value\n\t\t\tsearch={search}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tsize={size}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t{showDeclartiveActions && dAProps && (\n\t\t\t\t<sn-declarative-field-action\n\t\t\t\t\tnow-priority={nowPriorityLevels.LOW}\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tmodel={{\n\t\t\t\t\t\t...dAProps,\n\t\t\t\t\t\tonValueChange: onValueChange(pills, parentOnValueChange, dispatch),\n\t\t\t\t\t\tchars\n\t\t\t\t\t}}\n\t\t\t\t\tactions={dAProps.declarativeUiActions}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tformData={formData}\n\t\t\t\t\tfetchDeclarativeActions={dAProps.fetchDeclarativeActions}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, { label })\n\t\t\t)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(properties)}\n\t\t<\/now-typeahead-multi>\n\t);\n};\n\nexport function getHeaderMessage(\n\ttotalMatchesCountHeaderMessage,\n\toptions,\n\ttotalMatchesCount,\n\tmaxSearchMatches,\n\tsearch,\n\tvalue\n) {\n\tlet totalMatchesCountHeaderMSG;\n\tif (!isNil(totalMatchesCountHeaderMessage)) {\n\t\ttotalMatchesCountHeaderMSG = totalMatchesCountHeaderMessage;\n\t} else if (isNumber(totalMatchesCount)) {\n\t\ttotalMatchesCountHeaderMSG =\n\t\t\ttotalMatchesCount >= maxSearchMatches\n\t\t\t\t? t('Showing 1-{0} of more than {1}', options.length, maxSearchMatches)\n\t\t\t\t: t('Showing 1-{0} of {1}', options.length, totalMatchesCount);\n\t} else if (search === 'initial' || search === 'contains') {\n\t\tconst resultsCount = getMatchesCount(options, search, value);\n\t\ttotalMatchesCountHeaderMSG = t(\n\t\t\t'Showing 1-{0} of {1}',\n\t\t\tresultsCount,\n\t\t\tresultsCount\n\t\t);\n\t} else {\n\t\ttotalMatchesCountHeaderMSG = t(\n\t\t\t'Showing 1-{0} of {1}',\n\t\t\toptions.length,\n\t\t\toptions.length\n\t\t);\n\t}\n\n\treturn totalMatchesCountHeaderMSG;\n}\n\nNowTypeaheadMultiple.style = style;\n\n/**\n *\n * Typeahead component that displays values off a given list.\n *\n * ```jsx\n * <Fragment>\n * \t<now-record-typeahead-multiple\n * \t\toptions={[{\n * \t\t\tvalue: 'VALUE 1'\n * \t\t\tsecondary: [\n * \t\t\t\t{\n * \t\t\t\t\tvalue: 'VIP',\n * \t\t\t\t\tstatus: 'positive',\n * \t\t\t\t\tisHighlighted: 'true',\n * \t\t\t\t\tshowIcon: true\n * \t\t\t\t},\n * \t\t\t\t'test'\n * \t\t\t],\n * \t\t\tdisplayValue: 'VALUE 1 - VIP'\n * \t\t}]}\n * \t/>\n * <\/Fragment>\n * ```\n *\n * @seismicElement now-record-typeahead-multiple\n * @summary Typeahead Multi Component\n *\n * */\ncreateCustomElement('now-record-typeahead-multiple', {\n\tview: withValueChangeCallbacksView(NowTypeaheadMultiple),\n\tstyles: style,\n\tinitialState: { initialSearchComplete: false },\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Flag to indicate the options are in a loding state\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tloading: { default: false },\n\t\t/**\n\t\t * Message to show when the search results are being loaded\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tloadingMessage: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonBlur: {},\n\t\t/**\n\t\t * onChange event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonChange: {},\n\t\t/**\n\t\t * onClick event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonClick: {},\n\t\t/**\n\t\t * onEnter event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonEnter: {},\n\t\t/**\n\t\t * onFocus event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonFocus: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t *\n\t\t * `type:object` event - The event payload\n\t\t *\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t *\n\t\t * `type:any` event.value - The new value for the component\n\t\t *\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t *\n\t\t * `type:string` event.error.type - Error type\n\t\t *\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Array of options that represent valid choices\n\t\t * @type {Array<Object>} - required\n\t\t */\n\t\toptions: { default: [] },\n\n\t\t/**\n\t\t * List of underlying data values that are initially selected.\n\t\t * @type {Array<Object>}\n\t\t */\n\t\tpills: { default: [] },\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Array of options that represent recent choices\n\t\t * @type {Array<Object>} - required\n\t\t */\n\t\trecents: { default: [] },\n\t\t/**\n\t\t * options that represent suggested items\n\t\t * @type {{\n\t\t * \t\t\t type: \"object\",\n\t\t * \t\t\t properties: {\n\t\t * \t\t\t \t suggestedOptions: {\n\t\t * \t\t\t \t \ttype: \"object\",\n\t\t * \t\t\t \t \tproperties: {\n\t\t * \t\t\t \t \t    label: {type: string},\n\t\t * \t\t\t \t \t    children: [{id: {type: string}, label: {type: string}}]\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 }}\n\t\t */\n\t\tsuggestedOptions: { default: {} },\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchUsingStartsWith: { default: false },\n\t\t/**\n\t\t * Optional delimiter for secondary labels in options\n\t\t * @type {string}\n\t\t */\n\t\tsecondaryLabelDelimiter: {},\n\t\t/**\n\t\t * Number of all possible matches for the given value, ignoring pagination\n\t\t * @type {number}\n\t\t */\n\t\ttotalMatchesCount: {},\n\t\t/**\n\t\t * Header message that'll show up on the total count dropdown group\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\ttotalMatchesCountHeaderMessage: {},\n\n\t\t/**\n\t\t * The maximum number of search results\n\t\t */\n\t\tmaxSearchMatches: {},\n\n\t\t/**\n\t\t * Controls how to filter the items as the user types into the input.\n\t\t * - \"managed\" (default): no filtering will happen. Use this if you want to manually\n\t\t *   filter or search for items as the user types.\n\t\t * - \"initial\": items whose label or sublabel begins with the\n\t\t *   input value will be displayed. This is case-insensitive.\n\t\t * - \"contains\": items whose label or sublabel contains the input value\n\t\t *   will be displayed. This is case-insensitive.\n\t\t * @type {(\"managed\"|\"initial\"|\"contains\")}\n\t\t */\n\n\t\tsearch: {\n\t\t\tdefault: 'managed',\n\t\t\tschema: { type: 'string', enum: ['managed', 'initial', 'contains'] }\n\t\t},\n\n\t\t/**\n\t\t * Current entered value on the typeahead input\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdAProps: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t */\n\t\tformData: {},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * Flag to indicate parent component will handle tracking\n\t\t */\n\t\tdisableTracking: {},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Flag to show Declartive Actions\n\t\t * @type {boolean}\n\t\t */\n\t\tshowDeclartiveActions: { default: true },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Used to display extra selected pills on the field, which are not a part of the dropdown.\n\t\t * @type {Array.<{id: string, label: string, tooltipContent: string}>}\n\t\t */\n\t\textraSelectedPills: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * onCustomPillsChange event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonCustomPillsChange: {},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: actionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user has changed the input and wishes to run a query.\n\t\t * @type {{ value: Array<string> }}\n\t\t */\n\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a new value is selected.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\ttransformState\n});\n\nexport default NowTypeaheadMultiple;\n","import { some } from 'lodash';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { effectProxy } from '@devsnc/sn-controls-common';\n\nconst FETCH_DATA_START = 'QUERY_BASE_FETCH_DATA_START';\nconst FETCH_DATA_SUCCESS = 'QUERY_BASE_FETCH_DATA_SUCCESS';\nconst FETCH_DATA_FAILURE = 'QUERY_BASE_FETCH_DATA_FAILURE';\n\nexport const FETCH_DATA = 'QUERY_BASE_FETCH_DATA';\n\nexport default function (query, variableList) {\n\tconst queryBaseFetchDataEffect = createGraphQLEffect(query, {\n\t\tvariableList,\n\t\theaderList: ['x-request-cancelable'],\n\t\tstartActionType: FETCH_DATA_START,\n\t\tsuccessActionType: FETCH_DATA_SUCCESS,\n\t\terrorActionType: FETCH_DATA_FAILURE\n\t});\n\n\tconst actionHandlers = {\n\t\t[FETCH_DATA]: effectProxy(queryBaseFetchDataEffect),\n\n\t\t[FETCH_DATA_START]: ({ updateProperties }) => {\n\t\t\tupdateProperties({\n\t\t\t\tisSearching: true\n\t\t\t});\n\t\t},\n\n\t\t[FETCH_DATA_SUCCESS]: ({ updateProperties, action: { payload } }) => {\n\t\t\tconst { errors, data } = payload;\n\t\t\tif (errors && errors.length !== 0) {\n\t\t\t\t// Only reset searching state when error is _not_ a transaction cancelation\n\t\t\t\tif (!some(errors, e => e.errorType === 'ExecutionAborted')) {\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tresults: [],\n\t\t\t\t\t\tisSearching: false\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateProperties({\n\t\t\t\tresults: data,\n\t\t\t\tisSearching: false\n\t\t\t});\n\t\t},\n\n\t\t[FETCH_DATA_FAILURE]: ({ updateProperties }) => {\n\t\t\tupdateProperties({\n\t\t\t\tresults: [],\n\t\t\t\tisSearching: false\n\t\t\t});\n\t\t}\n\t};\n\n\treturn {\n\t\tqueryBaseFetchDataEffect,\n\t\tactionHandlers\n\t};\n}\n","import { t } from 'sn-translate';\nimport {\n\tisEmail,\n\ttoPills,\n\tgetSerializedChanges,\n\tgetEncodedRecord,\n\tisAttrTrue,\n\tgetProperty,\n\tCUSTOM_PILL_PREFIX\n} from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tisFunction,\n\tisObject,\n\ttoString,\n\treject,\n\tincludes,\n\tmap,\n\tmapKeys,\n\tfind,\n\tdebounce,\n\tisUndefined\n} from 'lodash';\nimport { FETCH_DATA } from './queryBaseActionHandlers';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nexport const QUERY_BASE_BEHAVIOR = 'queryBaseBehavior';\nexport const UPDATE_STATE = 'GLIDE_QUERY_BASE#UPDATE_STATE';\nexport const ON_INPUT_BLUR = 'GLIDE_QUERY_BASE#ON_INPUT_BLUR';\nexport const RUN_READ_QUERY = 'GLIDE_QUERY_BASE#RUN_READ_QUERY';\n\nconst toPath = prop => `${prop}`;\n\nexport const updateBehaviorState = (updateState, state) => {\n\tconst normalizedState = mapKeys(state, (_, key) => toPath(key));\n\tupdateState(normalizedState);\n};\n\nconst assertValidOptions = options => {\n\tconst { mapResults } = options;\n\n\tif (!isFunction(mapResults)) {\n\t\tthrow new Error(\n\t\t\t`Required prop 'mapResults' is not a function. Got ${typeof mapResults}`\n\t\t);\n\t}\n};\n\nexport const getMessage = (type, message) => {\n\treturn {\n\t\ttype,\n\t\tmessage\n\t};\n};\n\nconst runReadQuery = (inputVal, props, dispatch) => {\n\tconst variables = props.getVariables(inputVal);\n\tif (isObject(variables)) {\n\t\tdispatch(\n\t\t\tFETCH_DATA,\n\t\t\t{\n\t\t\t\tserializedChanges: getSerializedChanges(props),\n\t\t\t\tencodedRecord: getEncodedRecord(props.formData),\n\t\t\t\t...variables,\n\t\t\t\t...(isAttrTrue(props.searchCancelable) && {\n\t\t\t\t\t__unstableDisableBatching: true, // Disabling batching for reference field calls to support transaction cancellation feature.\n\t\t\t\t\t'x-request-cancelable': props.nowId\n\t\t\t\t})\n\t\t\t},\n\t\t\t{ stopPropagation: true }\n\t\t);\n\t}\n};\n\nconst getPillWarning = (pills, properties) => {\n\tconst { disableDisplayValueWarning } = properties;\n\tconst badPills = pills.filter(pill => !pill.displayValue);\n\tlet warning = null;\n\tif (!disableDisplayValueWarning) {\n\t\tif (badPills.length > 1) {\n\t\t\twarning = getMessage(\n\t\t\t\t'warning',\n\t\t\t\tt(\n\t\t\t\t\t'Records {0} do not exist or do not have a display value set.',\n\t\t\t\t\tbadPills.map(pill => pill.value).join(', ')\n\t\t\t\t)\n\t\t\t);\n\t\t} else if (badPills.length === 1) {\n\t\t\twarning = getMessage(\n\t\t\t\t'warning',\n\t\t\t\tt(\n\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\tbadPills[0].value\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\treturn warning;\n};\n\nconst isValueInResults = (results, value) =>\n\t!![...results.options, ...results.recents].find(o => o.value === value);\n\nexport const queryBaseMapResults = (properties, state, data) => {\n\tconst { options, recents, totalCount } = data\n\t\t? properties.mapResults(data, properties.sortBy, properties)\n\t\t: {};\n\tconst selectedValues = map(state.pills, 'value');\n\n\tconst removeSelected = collection =>\n\t\treject(\n\t\t\tcollection,\n\t\t\titem => isObject(item) && includes(selectedValues, item.value)\n\t\t);\n\n\treturn {\n\t\toptions: removeSelected(options),\n\t\trecents: removeSelected(recents),\n\t\ttotalCount\n\t};\n};\n\nexport const setInitialQueryBaseState =\n\t(handleEmptyValue = false) =>\n\t({ properties }) => {\n\t\tlet {\n\t\t\tdisplayValue,\n\t\t\tvalue,\n\t\t\tmultiSelection,\n\t\t\tdisableDisplayValueWarning,\n\t\t\tfieldType,\n\t\t\tcustomPills\n\t\t} = properties;\n\n\t\tconst initialValue = handleEmptyValue && value === true ? '' : value;\n\n\t\tlet inputVal = '';\n\t\tlet pills = [];\n\t\tlet displayWarning;\n\t\tlet initialDomainIdFieldValue = '';\n\t\tlet initialDomainIdFieldDisplayValue = '';\n\t\tlet extraSelectedPills = [];\n\n\t\tif (multiSelection) {\n\t\t\tif (initialValue) {\n\t\t\t\tpills = toPills(initialValue.split(','), displayValue);\n\t\t\t\tif (!disableDisplayValueWarning)\n\t\t\t\t\tdisplayWarning = getPillWarning(pills, properties);\n\t\t\t}\n\t\t\tif (customPills?.length) {\n\t\t\t\textraSelectedPills = customPills.map(pill => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...pill,\n\t\t\t\t\t\tid: `${CUSTOM_PILL_PREFIX}${pill.id}`\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tif (initialValue) {\n\t\t\t\tif (displayValue) {\n\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t} else {\n\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\n\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\tdisplayWarning = getMessage(\n\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\tinitialValue\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}\n\t\t\t} else {\n\t\t\t\tinputVal = '';\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tdisplayWarning,\n\t\t\tisSearching: false,\n\t\t\tinputVal,\n\t\t\tpills,\n\t\t\toptions: [],\n\t\t\trecents: [],\n\t\t\tinitialDomainIdFieldValue,\n\t\t\tinitialDomainIdFieldDisplayValue,\n\t\t\tdebouncedQueryDispatcher: debounce(\n\t\t\t\trunReadQuery,\n\t\t\t\tproperties.searchDebounce\n\t\t\t),\n\t\t\textraSelectedPills\n\t\t};\n\t};\n\nconst componentBootstrappedEffect = ({ properties, updateState }) => {\n\tconst { fieldType, value, fullDisplayValue } = properties;\n\tif (fieldType === 'domain_id') {\n\t\tupdateState({\n\t\t\tinitialDomainIdFieldValue: value,\n\t\t\tinitialDomainIdFieldDisplayValue: fullDisplayValue\n\t\t});\n\t}\n};\n\nexport const propertyChangedEffect = ({\n\tproperties,\n\tstate,\n\taction: { payload },\n\tupdateState,\n\tupdateProperties\n}) => {\n\tconst {\n\t\tvalue,\n\t\tdisplayValue,\n\t\tmultiSelection,\n\t\tdisableEmailFreeformEntry,\n\t\tnoEmail,\n\t\tdisableDisplayValueWarning,\n\t\tliveUpdate,\n\t\tfieldType\n\t} = properties;\n\tlet { inputVal, pills, displayWarning, extraSelectedPills } = state;\n\tconst { name, previousValue } = payload;\n\n\tconst mapResults = properties.mapResults || payload.options.mapResults;\n\n\tassertValidOptions({ mapResults });\n\n\tif (\n\t\tname === 'liveUpdate' &&\n\t\tpreviousValue.value !== liveUpdate.value &&\n\t\tmultiSelection &&\n\t\tvalue !== true\n\t) {\n\t\tpills = liveUpdate.value\n\t\t\t? toPills(liveUpdate.value.split(','), liveUpdate.displayValue)\n\t\t\t: [];\n\t\tinputVal = liveUpdate.value;\n\t\tdisplayWarning = getPillWarning(pills, properties);\n\t\tupdateState({\n\t\t\tdisplayWarning,\n\t\t\tinputVal,\n\t\t\tpills\n\t\t});\n\t} else if ((name === 'value' && value !== true) || name === 'displayValue') {\n\t\tif (multiSelection && value !== true) {\n\t\t\tpills = value ? toPills(value.split(','), displayValue) : [];\n\t\t\tdisplayWarning = getPillWarning(pills, properties);\n\t\t} else {\n\t\t\tdisplayWarning = null;\n\t\t\tif (value && value !== true) {\n\t\t\t\tif (displayValue) {\n\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t\tconst existingOptions = queryBaseMapResults(\n\t\t\t\t\t\t{ ...properties, mapResults },\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tproperties.results\n\t\t\t\t\t);\n\t\t\t\t\tif (!isValueInResults(existingOptions, value)) {\n\t\t\t\t\t\t// If the value is not in the results, clear the results as it leads to erroneous behavior\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tresults: [],\n\t\t\t\t\t\t\tisSearching: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\tdisplayWarning = getMessage(\n\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\tvalue\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}\n\t\t\t} else {\n\t\t\t\tinputVal = toString(displayValue);\n\t\t\t}\n\t\t}\n\t\tupdateState({\n\t\t\tdisplayWarning,\n\t\t\tinputVal,\n\t\t\tpills\n\t\t});\n\t} else if (name === 'results') {\n\t\tconst { options, recents, totalCount } = queryBaseMapResults(\n\t\t\t{ ...properties, mapResults },\n\t\t\tstate,\n\t\t\tpayload.value\n\t\t);\n\n\t\tconst internationalizedEmail = isUndefined(\n\t\t\tproperties.internationalizedEmail\n\t\t)\n\t\t\t? isAttrTrue(getProperty('glide.email_address.rfc6530.enabled', false))\n\t\t\t: properties.internationalizedEmail;\n\n\t\tif (\n\t\t\t!(noEmail || disableEmailFreeformEntry) &&\n\t\t\tisEmail(inputVal, internationalizedEmail)\n\t\t) {\n\t\t\toptions.unshift({ value: inputVal, displayValue: inputVal });\n\t\t}\n\t\tupdateState({\n\t\t\toptions,\n\t\t\trecents,\n\t\t\ttotalCount\n\t\t});\n\t} else if (name === 'isSearching') {\n\t\tupdateState({\n\t\t\tisSearching: payload.value\n\t\t});\n\t} else if (name === 'tableName') {\n\t\t// If tableName is changed, re-initialize/reset to initialQueryBaseState.\n\t\tupdateState(setInitialQueryBaseState(true));\n\t} else if (name === 'customPills') {\n\t\tconst newCustomPills = payload.value;\n\t\tif (newCustomPills.length !== extraSelectedPills.length) {\n\t\t\tconst newExtraSelectedPills = newCustomPills.map(pill => {\n\t\t\t\treturn {\n\t\t\t\t\t...pill,\n\t\t\t\t\tid: `${CUSTOM_PILL_PREFIX}${pill.id}`\n\t\t\t\t};\n\t\t\t});\n\t\t\tupdateState({ extraSelectedPills: newExtraSelectedPills });\n\t\t}\n\t}\n};\n\nconst updateStateEffect = ({\n\taction: {\n\t\tpayload: { state }\n\t},\n\tupdateState\n}) => {\n\tupdateState(state);\n};\n\nexport const onInputBlurEffect = ({\n\tstate,\n\tproperties,\n\tupdateState,\n\taction: { payload }\n}) => {\n\tlet {\n\t\tvalue: propValue,\n\t\tdisplayValue,\n\t\tmultiSelection,\n\t\tdisableDisplayValueWarning,\n\t\tfieldType,\n\t\tresults,\n\t\tsuggestions\n\t} = properties;\n\tlet value = propValue === true ? '' : propValue;\n\tlet { inputVal, displayWarning } = state;\n\tconst { onSelectOption, onValueChange } = payload;\n\tconst mapResults = properties.mapResults || payload.options.mapResults;\n\n\tif (inputVal.length > 0) {\n\t\tconst { options, recents, totalCount } = queryBaseMapResults(\n\t\t\t{ ...properties, mapResults },\n\t\t\tstate,\n\t\t\tresults\n\t\t);\n\n\t\tif (!multiSelection) {\n\t\t\tdisplayWarning = null;\n\n\t\t\t/*\n\t\t\t * DEF0087979: when there is only one option, choose it on blur\n\t\t\t */\n\t\t\tif (\n\t\t\t\t(totalCount === 1 && recents.length === 0) ||\n\t\t\t\t(recents.length === 1 && totalCount === 0)\n\t\t\t) {\n\t\t\t\tconst onlyOption = totalCount ? options[0] : recents[0];\n\t\t\t\tonSelectOption(onlyOption);\n\t\t\t} else {\n\t\t\t\tif (!value) {\n\t\t\t\t\t// if user tabs on selected option, the blur occurs before receiving props and\n\t\t\t\t\t// value is still null. This finds the value from the options\n\t\t\t\t\tlet foundOption = find(\n\t\t\t\t\t\toptions || recents,\n\t\t\t\t\t\t({ displayValue }) => displayValue === inputVal\n\t\t\t\t\t);\n\t\t\t\t\tif (!foundOption) {\n\t\t\t\t\t\tfoundOption = find(\n\t\t\t\t\t\t\tsuggestions.items,\n\t\t\t\t\t\t\t({ displayValue }) => displayValue === inputVal\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (foundOption) {\n\t\t\t\t\t\tvalue = foundOption.value;\n\t\t\t\t\t\tdisplayValue = foundOption.displayValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (value && value !== true) {\n\t\t\t\t\tif (displayValue) {\n\t\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\t\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\t\tdisplayWarning = getMessage(\n\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t)\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} else {\n\t\t\t\t\tlet error = getMessage(\n\t\t\t\t\t\t'error',\n\t\t\t\t\t\tt('Please select a value from the list of results in the dropdown.')\n\t\t\t\t\t);\n\t\t\t\t\tonValueChange({\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tdisplayValue: inputVal,\n\t\t\t\t\t\terror\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tlet foundOption = find(\n\t\t\t\toptions || recents,\n\t\t\t\t({ displayValue }) => displayValue === inputVal\n\t\t\t);\n\t\t\tif (!foundOption) {\n\t\t\t\tfoundOption = find(\n\t\t\t\t\tsuggestions?.items || [],\n\t\t\t\t\t({ displayValue }) => displayValue === inputVal\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!foundOption) {\n\t\t\t\tlet error = getMessage(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('Please select a value from the list of results in the dropdown.')\n\t\t\t\t);\n\t\t\t\tonValueChange({\n\t\t\t\t\tvalue,\n\t\t\t\t\tdisplayValue,\n\t\t\t\t\terror\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateState({\n\t\tinputVal,\n\t\toptions: [],\n\t\tdisplayWarning\n\t});\n};\n\nexport default {\n\tname: 'queryBaseBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedEffect,\n\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect,\n\t\t[UPDATE_STATE]: {\n\t\t\teffect: updateStateEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ON_INPUT_BLUR]: onInputBlurEffect\n\t}\n};\n","// 3rd party imports\nimport { t } from 'sn-translate';\nimport { toString, isEmpty, last, isFunction } from 'lodash';\n\n// Function imports\nimport {\n\ttoValues,\n\twrapHelperContent,\n\tisAttrTrue,\n\tescapeSeismicSpecialSymbols,\n\tSUGGESTION_PREFIX,\n\tCUSTOM_PILL_PREFIX\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tgetDeclarativeActionsProps,\n\thasErrorMessage\n} from '@devsnc/sn-controls-common';\nimport '@servicenow/now-record-typeahead';\nimport '@servicenow/now-record-typeahead-multiple';\n\nimport { ON_INPUT_BLUR, UPDATE_STATE } from './queryBaseBehavior';\nimport { makeItemsObject } from '@servicenow/now-record-typeahead';\n\nconst assertValidProperties = properties => {\n\tconst { getVariables } = properties;\n\n\tif (!isFunction(getVariables)) {\n\t\tthrow new Error(\n\t\t\t`Required prop 'getVariables' is not a function. Got ${typeof getVariables}`\n\t\t);\n\t}\n};\n\nexport const filterSuggestions = (items = [], chars) => {\n\tif (!items.length || !chars || !chars.length) return items;\n\n\tlet filteredItems = [];\n\n\tconst normalize = val => {\n\t\treturn typeof val === 'string' ? val.toLowerCase() : '';\n\t};\n\n\tif (chars.startsWith('*')) {\n\t\t//CONTAINS\n\t\tconst revisedChars = chars.substring(1);\n\t\tfilteredItems = items.filter(item => {\n\t\t\tconst displayValue = item.displayValue?.toLowerCase() || t('(empty)');\n\t\t\tif (displayValue.indexOf(revisedChars) !== -1) return true;\n\n\t\t\tconst secondaryValues = item.secondary;\n\t\t\tif (secondaryValues) {\n\t\t\t\tfor (const secondaryValue of secondaryValues) {\n\t\t\t\t\tif (secondaryValue.toLowerCase().indexOf(revisedChars) !== -1)\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\t//STARTSWITH\n\t\tfilteredItems = items.filter(item => {\n\t\t\tconst displayValue = normalize(item.displayValue) || t('(empty)');\n\t\t\tif (displayValue.startsWith(chars)) return true;\n\n\t\t\tconst secondaryValues = item.secondary;\n\t\t\tif (secondaryValues) {\n\t\t\t\tfor (const secondaryValue of secondaryValues) {\n\t\t\t\t\tif (secondaryValue.toLowerCase().startsWith(chars)) return true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\treturn filteredItems;\n};\n\nconst updateComponentState = (updateState, dispatch, state) => {\n\tif (updateState) {\n\t\tupdateState(state);\n\t} else {\n\t\tdispatch(UPDATE_STATE, { state });\n\t}\n};\n\n/**\n * Common component to manage inputs that fetch suggestions from a GraphQL\n * datasource. Handles single-select values (aka reference fields), and\n * multi-select values (like a watch list).\n */\nconst GlideQueryBase = (state, helpers) => {\n\tlet props = state;\n\tlet { queryBaseState, dispatch } = state;\n\tlet updateState;\n\n\tif (helpers && 'updateState' in helpers && 'dispatch' in helpers) {\n\t\tupdateState = helpers.updateState;\n\t\tprops = state.properties;\n\t\tqueryBaseState = state;\n\t\tdispatch = helpers.dispatch;\n\t}\n\tconst onValueChange = state.onValueChange || state.properties?.onValueChange;\n\tconst { debouncedQueryDispatcher } = queryBaseState;\n\n\tconst {\n\t\titems = [],\n\t\tsectionLabel,\n\t\temptyMessage,\n\t\t...meta\n\t} = props.suggestions || {};\n\n\tlet suggestedOptions = {};\n\tconst filteredItems = filterSuggestions(\n\t\titems,\n\t\tqueryBaseState.inputVal?.toLowerCase()\n\t);\n\tif (filteredItems.length > 0) {\n\t\tsuggestedOptions = makeItemsObject(\n\t\t\tfilteredItems.map(item => ({\n\t\t\t\t...item,\n\t\t\t\tvalue: `${SUGGESTION_PREFIX}${item.value}`\n\t\t\t})),\n\t\t\tsectionLabel,\n\t\t\tundefined,\n\t\t\tmeta\n\t\t);\n\t} else {\n\t\tif (!isEmpty(props.suggestions)) {\n\t\t\tsuggestedOptions = {\n\t\t\t\tlabel: sectionLabel,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'disabled_emptyMessage',\n\t\t\t\t\t\tlabel: emptyMessage,\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t};\n\t\t}\n\t}\n\n\tassertValidProperties(props);\n\n\tconst toMessageArray = messages =>\n\t\tArray.isArray(messages) ? messages : messages ? [messages] : [];\n\n\t/**\n\t * function pushes a new value and displayValue\n\t * @param {string} value\n\t * @param {string} displayValue\n\t */\n\tconst onSelectOption = ({ value, displayValue, additionalInfo }) => {\n\t\tupdateComponentState(updateState, dispatch, {\n\t\t\tinputVal: toString(displayValue),\n\t\t\toptions: []\n\t\t});\n\t\tonValueChange({ value, displayValue, additionalInfo });\n\t};\n\n\t/**\n\t * callback function to intercept onChange events from the controlled input, reflect the data back as a value and\n\t * query for new options if needed.\n\t * @param {string} value input value\n\t */\n\tconst onInputValueChange = event => {\n\t\tconst inputVal = event.target.value;\n\t\tconst { multiSelection, messages } = props;\n\t\tif (isEmpty(inputVal)) {\n\t\t\tif (multiSelection && hasErrorMessage(messages)) {\n\t\t\t\tonValueChange({ value: props.value, displayValue: props.displayValue });\n\t\t\t} else if (!multiSelection) {\n\t\t\t\tonSelectOption({ displayValue: '' });\n\t\t\t}\n\t\t}\n\t\tdebouncedQueryDispatcher(inputVal, props, dispatch);\n\t\tupdateComponentState(updateState, dispatch, {\n\t\t\tinputVal,\n\t\t\tisSearching: !isEmpty(inputVal)\n\t\t});\n\t};\n\n\tconst onCustomPillsChange = pills => {\n\t\tupdateComponentState(updateState, dispatch, { extraSelectedPills: pills });\n\t\tconst dispatchPayload = pills.map(pill => {\n\t\t\treturn {\n\t\t\t\t...pill,\n\t\t\t\tid: pill.id.replace(CUSTOM_PILL_PREFIX, '')\n\t\t\t};\n\t\t});\n\t\tdispatch('SN_GLIDE_QUERY_BASE#CUSTOM_PILLS_CHANGED', dispatchPayload);\n\t};\n\n\tconst emitPillChange = pills => {\n\t\tconst { values, displayValues } = toValues(pills);\n\n\t\tonValueChange({\n\t\t\tvalue: values.join(','),\n\t\t\tdisplayValue: displayValues\n\t\t});\n\t};\n\n\t/**\n\t * function that takes an array of pill objects and updates value and displayValue\n\t * @param {array} newPills array of pill objects\n\t */\n\tconst addPills = ({ value: allPills }) => {\n\t\temitPillChange(allPills);\n\t\tupdateComponentState(updateState, dispatch, {\n\t\t\tinputVal: '',\n\t\t\tisActive: false,\n\t\t\toptions: []\n\t\t});\n\t};\n\n\t/**\n\t * onBlur callback that resets the input value on blur\n\t */\n\tconst onInputBlur = () => {\n\t\tdispatch(ON_INPUT_BLUR, {\n\t\t\tonSelectOption,\n\t\t\tonValueChange\n\t\t});\n\t};\n\n\t/**\n\t * special onEnter callback that refreshes options list\n\t */\n\tconst onEnter = () => {\n\t\tconst { inputVal } = queryBaseState;\n\t\tupdateComponentState(updateState, dispatch, {\n\t\t\tisSearching: true\n\t\t});\n\n\t\tdebouncedQueryDispatcher(inputVal, props, dispatch);\n\t};\n\n\tconst onClick = () => {\n\t\tonEnter();\n\t};\n\n\tconst getReference = () => {\n\t\tconst {\n\t\t\tcomponentId,\n\t\t\tname,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tmessages,\n\t\t\trequired,\n\t\t\treversed,\n\t\t\tinvalid,\n\t\t\tformData,\n\t\t\tinnerRef,\n\t\t\tsearchUsingStartsWith,\n\t\t\tsearchOnClick,\n\t\t\tmaxSearchMatches,\n\t\t\tincludeHeaders,\n\t\t\tfieldType,\n\t\t\tvalue,\n\t\t\tliveUpdate,\n\t\t\thelperContent,\n\t\t\thighlightedValue,\n\t\t\tconfigAria,\n\t\t\tfieldLayout,\n\t\t\tdecorations,\n\t\t\tsize,\n\t\t\twrapLabel,\n\t\t\tshowAIIndicator,\n\t\t\tisModified,\n\t\t\tsuggestions,\n\t\t\tautofocus,\n\t\t\tcolor\n\t\t} = props;\n\n\t\tlet {\n\t\t\tinputVal,\n\t\t\tinitialDomainIdFieldValue,\n\t\t\tinitialDomainIdFieldDisplayValue\n\t\t} = queryBaseState;\n\n\t\tconst { isSearching, options, recents, totalCount, displayWarning } =\n\t\t\tqueryBaseState;\n\n\t\tconst dAProps = getDeclarativeActionsProps(\n\t\t\tprops.declarativeActionsProps,\n\t\t\tprops\n\t\t);\n\n\t\tconst readonly = isAttrTrue(props.readonly);\n\t\tconst placeholder = readonly ? '—' : props.placeholder;\n\n\t\tlet domainIdMessage = [];\n\n\t\tif (\n\t\t\tfieldType == 'domain_id' &&\n\t\t\tinputVal &&\n\t\t\t(inputVal.includes('/') ||\n\t\t\t\t(initialDomainIdFieldDisplayValue &&\n\t\t\t\t\tinitialDomainIdFieldDisplayValue.includes('/') &&\n\t\t\t\t\tinitialDomainIdFieldValue === value))\n\t\t) {\n\t\t\tif (!liveUpdate) {\n\t\t\t\tconst message = t('Domain path: {0}', initialDomainIdFieldDisplayValue);\n\t\t\t\tdomainIdMessage = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\tmessage\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t\tinputVal = last(initialDomainIdFieldDisplayValue.split('/'));\n\t\t\t} else {\n\t\t\t\tinputVal = last(inputVal.split('/'));\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<now-record-typeahead\n\t\t\t\tcomponentId={`${componentId}_referencePicker`}\n\t\t\t\tname={name}\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tlabel={label}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\tvalue={escapeSeismicSpecialSymbols(inputVal)}\n\t\t\t\tselectedItem={props.value}\n\t\t\t\tmessages={[\n\t\t\t\t\t...toMessageArray(messages),\n\t\t\t\t\t...toMessageArray(displayWarning),\n\t\t\t\t\t...domainIdMessage\n\t\t\t\t]}\n\t\t\t\tdescription={description}\n\t\t\t\treadonly={readonly}\n\t\t\t\trequired={required}\n\t\t\t\treversed={reversed}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tloading={isSearching}\n\t\t\t\toptions={options}\n\t\t\t\trecents={recents}\n\t\t\t\tsuggestedOptions={suggestedOptions}\n\t\t\t\ttotalMatchesCount={totalCount}\n\t\t\t\tonChange={onInputValueChange}\n\t\t\t\tonValueChange={onSelectOption}\n\t\t\t\tonBlur={onInputBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonEnter={onEnter}\n\t\t\t\tinnerRef={innerRef}\n\t\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\t\tsearchOnClick={searchOnClick}\n\t\t\t\tincludeHeaders={includeHeaders}\n\t\t\t\tmaxSearchMatches={maxSearchMatches}\n\t\t\t\tdAProps={dAProps}\n\t\t\t\tformData={formData}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\thighlightedValue={highlightedValue}\n\t\t\t\tdisableTracking\n\t\t\t\tconfigAria={configAria}\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tdecorations={decorations}\n\t\t\t\tsize={size}\n\t\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\t\tisModified={isModified}\n\t\t\t\tsuggestions={suggestions}\n\t\t\t\tcolor={color}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst getReferenceMultiple = () => {\n\t\tconst {\n\t\t\tcomponentId,\n\t\t\tname,\n\t\t\tautofocus,\n\t\t\tplaceholder,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tmessages,\n\t\t\treadonly,\n\t\t\trequired,\n\t\t\treversed,\n\t\t\tinvalid,\n\t\t\tformData,\n\t\t\tsearchUsingStartsWith,\n\t\t\tmaxSearchMatches,\n\t\t\thelperContent,\n\t\t\thighlightedValue,\n\t\t\tconfigAria,\n\t\t\tfieldLayout,\n\t\t\tdecorations,\n\t\t\tshowDeclartiveActions,\n\t\t\tsize,\n\t\t\twrapLabel,\n\t\t\tshowAIIndicator,\n\t\t\tisModified,\n\t\t\tsuggestions,\n\t\t\tcolor\n\t\t} = props;\n\t\tconst {\n\t\t\tinputVal,\n\t\t\tisSearching,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\ttotalCount,\n\t\t\tpills,\n\t\t\tdisplayWarning,\n\t\t\textraSelectedPills\n\t\t} = queryBaseState;\n\n\t\tconst dAProps = getDeclarativeActionsProps(\n\t\t\tprops.declarativeActionsProps,\n\t\t\tprops\n\t\t);\n\n\t\treturn (\n\t\t\t<now-record-typeahead-multiple\n\t\t\t\tcomponentId={`${componentId}_referencePickerMultiple`}\n\t\t\t\tname={name}\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\tlabel={label}\n\t\t\t\tvalue={escapeSeismicSpecialSymbols(inputVal)}\n\t\t\t\tpills={pills}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tmessages={[\n\t\t\t\t\t...toMessageArray(messages),\n\t\t\t\t\t...toMessageArray(displayWarning)\n\t\t\t\t]}\n\t\t\t\tdescription={description}\n\t\t\t\treadonly={readonly}\n\t\t\t\trequired={required}\n\t\t\t\treversed={reversed}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tloading={isSearching}\n\t\t\t\toptions={options}\n\t\t\t\trecents={recents}\n\t\t\t\textraSelectedPills={extraSelectedPills}\n\t\t\t\tsuggestedOptions={suggestedOptions}\n\t\t\t\ttotalMatchesCount={totalCount}\n\t\t\t\tonChange={onInputValueChange}\n\t\t\t\tonValueChange={addPills}\n\t\t\t\tonCustomPillsChange={onCustomPillsChange}\n\t\t\t\tonBlur={onInputBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonEnter={onEnter}\n\t\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\t\tmaxSearchMatches={maxSearchMatches}\n\t\t\t\tformData={formData}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\tdAProps={dAProps}\n\t\t\t\thighlightedValue={highlightedValue}\n\t\t\t\tdisableTracking\n\t\t\t\tconfigAria={configAria}\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tdecorations={decorations}\n\t\t\t\tshowDeclartiveActions={showDeclartiveActions}\n\t\t\t\tsize={size}\n\t\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\t\tisModified={isModified}\n\t\t\t\tsuggestions={suggestions}\n\t\t\t\tcolor={color}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst { multiSelection } = props;\n\tif (multiSelection) return getReferenceMultiple();\n\treturn getReference();\n};\n\nexport default GlideQueryBase;\n","// To be removed after 2 releases. This file is here to support forms during upgrade.\n// 3rd party imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport {\n\tisFunction,\n\tisObject,\n\ttoString,\n\tdebounce,\n\tisEmpty,\n\treject,\n\tincludes,\n\tmap,\n\tfind,\n\tlast,\n\tisUndefined\n} from 'lodash';\n\n// Function imports\nimport {\n\tfieldPropTypes,\n\ttoPills,\n\ttoValues,\n\tisEmail,\n\twrapHelperContent,\n\tisAttrTrue,\n\tescapeSeismicSpecialSymbols,\n\tcreateWithValueChangeCallbackBehavior,\n\tgetProperty\n} from '@devsnc/sn-controls-common';\n\n// Component imports\nimport NowTypeahead from '@servicenow/now-record-typeahead';\nimport NowTypeaheadMultiple from '@servicenow/now-record-typeahead-multiple';\n\nimport {\n\tgetDeclarativeActionsProps,\n\tgetSerializedChanges,\n\tgetEncodedRecord\n} from '@devsnc/sn-controls-common';\n\nimport { FETCH_DATA } from '../queryBaseActionHandlers';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\n/**\n * Common component to manage inputs that fetch suggestions from a GraphQL\n * datasource. Handles single-select values (aka reference fields), and\n * multi-select values (like a watch list).\n */\nexport default class GlideQueryBase extends React.PureComponent {\n\tstatic componentName = 'sn-glide-query-base';\n\tstatic behaviors = [withValueChangeCallbackBehavior];\n\t/**\n\t * constructor\n\t * @param {object} props\n\t */\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tlet {\n\t\t\tdisplayValue,\n\t\t\tsearchDebounce,\n\t\t\tvalue,\n\t\t\tmultiSelection,\n\t\t\tdisableDisplayValueWarning,\n\t\t\tfieldType\n\t\t} = props;\n\n\t\tthis.assertValidProps(props);\n\n\t\tthis.runReadQuery = debounce(this.runReadQuery, searchDebounce);\n\n\t\t/**\n\t\t * local state of the input for highlighting and user interaction\n\t\t * @type {object}\n\t\t * @param {bool} isFocused toggle if the element is in focused state\n\t\t * @param {bool} isActive toggle if the options are active\n\t\t * @param {bool} isSearching toggle the search text if we are executing a search query\n\t\t * @param {string} inputVal the value the user is typing in\n\t\t * @param {array} options list of avalable options\n\t\t * @param {array} recents list of recent options\n\t\t * @param {array} selectedSearchResult list of selected option indexes\n\t\t */\n\n\t\tlet inputVal = '';\n\t\tlet pills = [];\n\t\tlet displayWarning;\n\t\tlet initialDomainIdFieldValue = '';\n\t\tlet initialDomainIdFieldDisplayValue = '';\n\n\t\tif (multiSelection) {\n\t\t\tif (value) {\n\t\t\t\tpills = toPills(value.split(','), displayValue);\n\t\t\t\tif (!disableDisplayValueWarning)\n\t\t\t\t\tdisplayWarning = this.getPillWarning(pills);\n\t\t\t}\n\t\t} else {\n\t\t\tif (value) {\n\t\t\t\tif (displayValue) {\n\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t} else {\n\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\n\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\tdisplayWarning = this.getMessage(\n\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\tvalue\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}\n\t\t\t} else {\n\t\t\t\tinputVal = '';\n\t\t\t}\n\t\t}\n\t\tthis.state = {\n\t\t\tdisplayWarning,\n\t\t\tisSearching: false,\n\t\t\tinputVal,\n\t\t\tpills,\n\t\t\toptions: [],\n\t\t\trecents: [],\n\t\t\tinitialDomainIdFieldValue,\n\t\t\tinitialDomainIdFieldDisplayValue\n\t\t};\n\t}\n\n\tassertValidProps(props) {\n\t\tconst { dispatch, mapResults, getVariables } = props;\n\n\t\tif (!dispatch) {\n\t\t\tthrow new Error('Required prop `dispatch` has not been provided');\n\t\t}\n\n\t\tif (!isFunction(mapResults)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Required prop 'mapResults' is not a function. Got ${typeof mapResults}`\n\t\t\t);\n\t\t}\n\n\t\tif (!isFunction(getVariables)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Required prop 'getVariables' is not a function. Got ${typeof getVariables}`\n\t\t\t);\n\t\t}\n\t}\n\n\ttoMessageArray = messages =>\n\t\tArray.isArray(messages) ? messages : messages ? [messages] : [];\n\n\tgetMessage = (type, message) => {\n\t\treturn {\n\t\t\ttype,\n\t\t\tmessage\n\t\t};\n\t};\n\n\tgetPillWarning = pills => {\n\t\tconst { disableDisplayValueWarning } = this.props;\n\t\tconst badPills = pills.filter(pill => !pill.displayValue);\n\t\tlet warning = null;\n\t\tif (!disableDisplayValueWarning) {\n\t\t\tif (badPills.length > 1) {\n\t\t\t\twarning = this.getMessage(\n\t\t\t\t\t'warning',\n\t\t\t\t\tt(\n\t\t\t\t\t\t'Records {0} do not exist or do not have a display value set.',\n\t\t\t\t\t\tbadPills.map(pill => pill.value).join(', ')\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} else if (badPills.length === 1) {\n\t\t\t\twarning = this.getMessage(\n\t\t\t\t\t'warning',\n\t\t\t\t\tt(\n\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\tbadPills[0].value\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn warning;\n\t};\n\n\t/**\n\t * callback function to intercept onChange events from the controlled input, reflect the data back as a value and\n\t * query for new options if needed.\n\t * @param {string} value input value\n\t */\n\tonInputValueChange = event => {\n\t\tconst inputVal = event.target.value;\n\t\tconst { multiSelection } = this.props;\n\t\tif (isEmpty(inputVal) && !multiSelection) {\n\t\t\tthis.onSelectOption({ displayValue: '' });\n\t\t}\n\t\tthis.runReadQuery(inputVal);\n\t\tthis.setState({\n\t\t\tinputVal,\n\t\t\tisSearching: !isEmpty(inputVal)\n\t\t});\n\t};\n\n\t/**\n\t * function pushes a new value and displayValue\n\t * @param {string} value\n\t * @param {string} displayValue\n\t */\n\n\tonSelectOption = ({ value, displayValue, additionalInfo }) => {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tinputVal: toString(displayValue),\n\t\t\t\toptions: []\n\t\t\t},\n\t\t\t() => this.props.onValueChange({ value, displayValue, additionalInfo })\n\t\t);\n\t};\n\n\t/**\n\t * function that takes an array of pill objects and updates value and displayValue\n\t * @param {array} newPills array of pill objects\n\t */\n\taddPills = ({ value: allPills }) => {\n\t\tthis.emitPillChange(allPills);\n\t\tthis.setState({ inputVal: '', isActive: false, options: [] });\n\t};\n\n\temitPillChange(pills) {\n\t\tconst { values, displayValues } = toValues(pills);\n\n\t\tthis.props.onValueChange({\n\t\t\tvalue: values.join(','),\n\t\t\tdisplayValue: displayValues\n\t\t});\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { fieldType, value, fullDisplayValue } = this.props;\n\t\tif (fieldType === 'domain_id') {\n\t\t\tthis.setState({\n\t\t\t\tinitialDomainIdFieldValue: value,\n\t\t\t\tinitialDomainIdFieldDisplayValue: fullDisplayValue\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * onBlur callback that resets the input value on blur\n\t */\n\tonInputBlur = () => {\n\t\tlet {\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tmultiSelection,\n\t\t\tdisableDisplayValueWarning,\n\t\t\tresults,\n\t\t\tfieldType\n\t\t} = this.props;\n\t\tlet { inputVal, displayWarning } = this.state;\n\n\t\tif (!multiSelection) {\n\t\t\tdisplayWarning = null;\n\n\t\t\tif (inputVal.length > 0) {\n\t\t\t\tconst { options, recents, totalCount } = this.mapResults(results);\n\t\t\t\t/*\n\t\t\t\t * DEF0087979: when there is only one option, choose it on blur\n\t\t\t\t */\n\t\t\t\tif (\n\t\t\t\t\t(totalCount === 1 && recents.length === 0) ||\n\t\t\t\t\t(recents.length === 1 && totalCount === 0)\n\t\t\t\t) {\n\t\t\t\t\tconst onlyOption = totalCount ? options[0] : recents[0];\n\t\t\t\t\tthis.onSelectOption(onlyOption);\n\t\t\t\t} else {\n\t\t\t\t\tif (!value) {\n\t\t\t\t\t\t// if user tabs on selected option, the blur occurs before receiving props and\n\t\t\t\t\t\t// value is still null. This finds the value from the options\n\t\t\t\t\t\tlet foundOption = find(\n\t\t\t\t\t\t\toptions || recents,\n\t\t\t\t\t\t\t({ displayValue }) => displayValue === inputVal\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (foundOption) {\n\t\t\t\t\t\t\tvalue = foundOption.value;\n\t\t\t\t\t\t\tdisplayValue = foundOption.displayValue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tif (displayValue) {\n\t\t\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\t\t\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\t\t\tdisplayWarning = this.getMessage(\n\t\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet error = this.getMessage(\n\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t'Please select a value from the list of results in the dropdown.'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.props.onValueChange({\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tdisplayValue: inputVal,\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({\n\t\t\tinputVal,\n\t\t\toptions: [],\n\t\t\tdisplayWarning\n\t\t});\n\t};\n\n\t/**\n\t * special onEnter callback that refreshes options list\n\t */\n\tonEnter = () => {\n\t\tconst { inputVal } = this.state;\n\t\tthis.setState({\n\t\t\tisSearching: true\n\t\t});\n\n\t\tthis.runReadQuery(inputVal);\n\t};\n\n\tonClick = () => {\n\t\tif (this.props.searchOnClick) {\n\t\t\tthis.onEnter();\n\t\t}\n\t};\n\n\t/**\n\t * resource callback function\n\t * @param {string} chars string to pass into the query\n\t */\n\trunReadQuery(inputVal) {\n\t\tconst variables = this.props.getVariables(inputVal);\n\t\tif (isObject(variables)) {\n\t\t\tthis.props.dispatch(\n\t\t\t\tFETCH_DATA,\n\t\t\t\t{\n\t\t\t\t\tserializedChanges: getSerializedChanges(this.props),\n\t\t\t\t\tencodedRecord: getEncodedRecord(this.props.formData),\n\t\t\t\t\t...variables\n\t\t\t\t},\n\t\t\t\t{ stopPropagation: true }\n\t\t\t);\n\t\t}\n\t}\n\n\tmapResults(data) {\n\t\tconst { options, recents, totalCount } = data\n\t\t\t? this.props.mapResults(data, this.props.sortBy)\n\t\t\t: {};\n\t\tconst selectedValues = map(this.state.pills, 'value');\n\n\t\tconst removeSelected = collection =>\n\t\t\treject(\n\t\t\t\tcollection,\n\t\t\t\titem => isObject(item) && includes(selectedValues, item.value)\n\t\t\t);\n\n\t\treturn {\n\t\t\toptions: removeSelected(options),\n\t\t\trecents: removeSelected(recents),\n\t\t\ttotalCount\n\t\t};\n\t}\n\n\t/**\n\t * triggered when element gets new props and we decide whether or not to update the value\n\t * @param {object} newProps\n\t */\n\tcomponentWillReceiveProps(newProps) {\n\t\tconst {\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tmultiSelection,\n\t\t\tdisableEmailFreeformEntry,\n\t\t\tnoEmail,\n\t\t\tdisableDisplayValueWarning,\n\t\t\tresults,\n\t\t\tisSearching,\n\t\t\tliveUpdate,\n\t\t\tfieldType,\n\t\t\tinternationalizedEmail\n\t\t} = newProps.properties || newProps;\n\t\tlet { inputVal, pills, displayWarning } = this.state;\n\n\t\tthis.assertValidProps(newProps);\n\n\t\tlet { options, recents, totalCount } = this.mapResults(results);\n\n\t\tconst isinternationalizedEmail = isUndefined(internationalizedEmail)\n\t\t\t? isAttrTrue(getProperty('glide.email_address.rfc6530.enabled', false))\n\t\t\t: internationalizedEmail;\n\n\t\tif (\n\t\t\t!(noEmail || disableEmailFreeformEntry) &&\n\t\t\tisEmail(inputVal, isinternationalizedEmail)\n\t\t) {\n\t\t\toptions.unshift({ value: inputVal, displayValue: inputVal });\n\t\t}\n\n\t\tif (\n\t\t\t(this.props.value !== value && value !== true) ||\n\t\t\tthis.props.displayValue !== displayValue\n\t\t) {\n\t\t\tif (multiSelection && value !== true) {\n\t\t\t\tif (\n\t\t\t\t\tliveUpdate &&\n\t\t\t\t\t!liveUpdate.isUserModified &&\n\t\t\t\t\t(!this.props.liveUpdate ||\n\t\t\t\t\t\t(this.props.liveUpdate &&\n\t\t\t\t\t\t\tthis.props.liveUpdate.value !== liveUpdate.value))\n\t\t\t\t) {\n\t\t\t\t\tpills = liveUpdate.value\n\t\t\t\t\t\t? toPills(liveUpdate.value.split(','), liveUpdate.displayValue)\n\t\t\t\t\t\t: [];\n\t\t\t\t\tinputVal = liveUpdate.value;\n\t\t\t\t} else {\n\t\t\t\t\tpills = value ? toPills(value.split(','), displayValue) : [];\n\t\t\t\t}\n\t\t\t\tdisplayWarning = this.getPillWarning(pills);\n\t\t\t} else {\n\t\t\t\tdisplayWarning = null;\n\t\t\t\tif (value && value !== true) {\n\t\t\t\t\tif (displayValue) {\n\t\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinputVal = fieldType === 'domain_id' ? '' : `(${t('empty')})`;\n\t\t\t\t\t\tif (!disableDisplayValueWarning) {\n\t\t\t\t\t\t\tdisplayWarning = this.getMessage(\n\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'Record {0} does not exist or does not have a display value set.',\n\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t)\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} else {\n\t\t\t\t\tinputVal = toString(displayValue);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({\n\t\t\tdisplayWarning,\n\t\t\tinputVal,\n\t\t\tisSearching,\n\t\t\tpills,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\ttotalCount\n\t\t});\n\t}\n\n\tgetReference = () => {\n\t\tconst {\n\t\t\tcomponentId,\n\t\t\tname,\n\t\t\tdispatch,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tmessages,\n\t\t\trequired,\n\t\t\treversed,\n\t\t\tinvalid,\n\t\t\tformData,\n\t\t\tinnerRef,\n\t\t\tsearchUsingStartsWith,\n\t\t\tsearchOnClick,\n\t\t\tmaxSearchMatches,\n\t\t\tincludeHeaders,\n\t\t\tfieldType,\n\t\t\tvalue,\n\t\t\tliveUpdate,\n\t\t\thelperContent,\n\t\t\thighlightedValue,\n\t\t\tsize\n\t\t} = this.props;\n\n\t\tlet {\n\t\t\tinputVal,\n\t\t\tinitialDomainIdFieldValue,\n\t\t\tinitialDomainIdFieldDisplayValue\n\t\t} = this.state;\n\n\t\tconst { isSearching, options, recents, totalCount, displayWarning } =\n\t\t\tthis.state;\n\n\t\tconst dAProps = getDeclarativeActionsProps(\n\t\t\tthis.props.declarativeActionsProps,\n\t\t\tthis.props\n\t\t);\n\n\t\tconst readonly = isAttrTrue(this.props.readonly);\n\t\tconst placeholder = readonly ? '—' : this.props.placeholder;\n\n\t\tlet domainIdMessage = [];\n\n\t\tif (\n\t\t\tfieldType == 'domain_id' &&\n\t\t\tinputVal &&\n\t\t\t(inputVal.includes('/') ||\n\t\t\t\t(initialDomainIdFieldDisplayValue &&\n\t\t\t\t\tinitialDomainIdFieldDisplayValue.includes('/') &&\n\t\t\t\t\tinitialDomainIdFieldValue === value))\n\t\t) {\n\t\t\tif (!liveUpdate) {\n\t\t\t\tconst message = t('Domain path: {0}', initialDomainIdFieldDisplayValue);\n\t\t\t\tdomainIdMessage = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\tmessage\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t\tinputVal = last(initialDomainIdFieldDisplayValue.split('/'));\n\t\t\t} else {\n\t\t\t\tinputVal = last(inputVal.split('/'));\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<now-record-typeahead\n\t\t\t\tcomponentId={`${componentId}_referencePicker`}\n\t\t\t\tname={name}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tlabel={label}\n\t\t\t\tvalue={escapeSeismicSpecialSymbols(inputVal)}\n\t\t\t\tselectedItem={this.props.value}\n\t\t\t\tmessages={[\n\t\t\t\t\t...this.toMessageArray(messages),\n\t\t\t\t\t...this.toMessageArray(displayWarning),\n\t\t\t\t\t...domainIdMessage\n\t\t\t\t]}\n\t\t\t\tdescription={description}\n\t\t\t\treadonly={readonly}\n\t\t\t\trequired={required}\n\t\t\t\treversed={reversed}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tloading={isSearching}\n\t\t\t\toptions={options}\n\t\t\t\trecents={recents}\n\t\t\t\ttotalMatchesCount={totalCount}\n\t\t\t\tonChange={this.onInputValueChange}\n\t\t\t\tonValueChange={this.onSelectOption}\n\t\t\t\tonBlur={this.onInputBlur}\n\t\t\t\tonClick={this.onClick}\n\t\t\t\tonEnter={this.onEnter}\n\t\t\t\tinnerRef={innerRef}\n\t\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\t\tsearchOnClick={searchOnClick}\n\t\t\t\tincludeHeaders={includeHeaders}\n\t\t\t\tmaxSearchMatches={maxSearchMatches}\n\t\t\t\tdAProps={dAProps}\n\t\t\t\tformData={formData}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\thighlightedValue={highlightedValue}\n\t\t\t\tdisableTracking\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetReferenceMultiple = () => {\n\t\tconst {\n\t\t\tcomponentId,\n\t\t\tname,\n\t\t\tdispatch,\n\t\t\tplaceholder,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tmessages,\n\t\t\treadonly,\n\t\t\trequired,\n\t\t\treversed,\n\t\t\tinvalid,\n\t\t\tformData,\n\t\t\tsearchUsingStartsWith,\n\t\t\tmaxSearchMatches,\n\t\t\thelperContent,\n\t\t\thighlightedValue,\n\t\t\tsize\n\t\t} = this.props;\n\t\tconst {\n\t\t\tinputVal,\n\t\t\tisSearching,\n\t\t\toptions,\n\t\t\trecents,\n\t\t\ttotalCount,\n\t\t\tpills,\n\t\t\tdisplayWarning\n\t\t} = this.state;\n\n\t\tconst dAProps = getDeclarativeActionsProps(\n\t\t\tthis.props.declarativeActionsProps,\n\t\t\tthis.props\n\t\t);\n\n\t\treturn (\n\t\t\t<now-record-typeahead-multiple\n\t\t\t\tcomponentId={`${componentId}_referencePickerMultiple`}\n\t\t\t\tname={name}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tlabel={label}\n\t\t\t\tvalue={escapeSeismicSpecialSymbols(inputVal)}\n\t\t\t\tpills={pills}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tmessages={[\n\t\t\t\t\t...this.toMessageArray(messages),\n\t\t\t\t\t...this.toMessageArray(displayWarning)\n\t\t\t\t]}\n\t\t\t\tdescription={description}\n\t\t\t\treadonly={readonly}\n\t\t\t\trequired={required}\n\t\t\t\treversed={reversed}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tloading={isSearching}\n\t\t\t\toptions={options}\n\t\t\t\trecents={recents}\n\t\t\t\ttotalMatchesCount={totalCount}\n\t\t\t\tonChange={this.onInputValueChange}\n\t\t\t\tonValueChange={this.addPills}\n\t\t\t\tonBlur={this.onInputBlur}\n\t\t\t\tonClick={this.onClick}\n\t\t\t\tonEnter={this.onEnter}\n\t\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\t\tmaxSearchMatches={maxSearchMatches}\n\t\t\t\tformData={formData}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\tdAProps={dAProps}\n\t\t\t\thighlightedValue={highlightedValue}\n\t\t\t\tdisableTracking\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t};\n\n\t/**\n\t * render\n\t * @return {ReactElement} markup\n\t */\n\trender() {\n\t\tconst { multiSelection } = this.props;\n\t\tif (multiSelection) return this.getReferenceMultiple();\n\t\treturn this.getReference();\n\t}\n}\n\nGlideQueryBase.propTypes = {\n\t...fieldPropTypes,\n\n\t/**\n\t * Dictionary values and attributes for the field\n\t */\n\tdictionary: PropTypes.object,\n\n\t/**\n\t * results from a graphQL request\n\t */\n\tresults: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n\n\t/**\n\t * Callbacks for Forms consumption\n\t * @type {function}\n\t */\n\tonValueChange: PropTypes.func,\n\n\t/**\n\t * Function to get variables for datasource read.\n\t *\n\t * @param {String} input - The current value of the input\n\t * @return {Object?} variables - Variables passed to the datasource read\n\t * call. If this returns null/undefined, the read call will not be triggered.\n\t */\n\tgetVariables: PropTypes.func.isRequired,\n\n\t/**\n\t * Maps the datasource result into arrays of options and recents, to be\n\t * displayed as choices in the dropdown.\n\t *\n\t * @param {Object} data - GraphQL result data\n\t * @return {Object} An object with the following shape:\n\t *\t @property {Array} recents\n\t *\t @property {Array} options\n\t *\n\t * Both `recents` and `options` should have the following shape:\n\t * @property {any} value - The underlying value for the item\n\t * @property {String} displayValue - User-friendly display for the item\n\t */\n\tmapResults: PropTypes.func.isRequired,\n\n\t/**\n\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t * Defaults to 400ms\n\t */\n\tsearchDebounce: PropTypes.number,\n\n\t/**\n\t * Value can be anything\n\t */\n\tvalue: PropTypes.any,\n\n\t/**\n\t * When true, prevent the user from typing in free-form email addresses.\n\t * Instead, an email must be selected from the list of available options.\n\t */\n\tdisableEmailFreeformEntry: PropTypes.bool,\n\n\t/**\n\t * displayValue can be string or number or array of values\n\t */\n\tdisplayValue: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t\tPropTypes.array\n\t]),\n\n\t/**\n\t * Flag that switches between multiple and single value reference inputs\n\t */\n\tmultiSelection: PropTypes.bool,\n\n\t/**\n\t * Please use `disableEmailFreeformEntry` instead\n\t */\n\tnoEmail: PropTypes.bool,\n\n\t/**\n\t * Callback to show record\n\t */\n\treferenceAddon: PropTypes.oneOfType([\n\t\tPropTypes.func,\n\t\tPropTypes.bool,\n\t\tPropTypes.string\n\t]),\n\n\t/**\n\t * Callback to launch reference list modal\n\t */\n\tsearchAddon: PropTypes.oneOfType([\n\t\tPropTypes.func,\n\t\tPropTypes.bool,\n\t\tPropTypes.string\n\t]),\n\n\t/**\n\t * Flag to hide the reference icon\n\t */\n\thideReferenceIcon: PropTypes.bool,\n\n\t/**\n\t * Flag to show the reference icon in readonly mode\n\t */\n\treferenceAddonReadonly: PropTypes.bool,\n\n\t/**\n\t * Flag to toggle turning off display value warning\n\t */\n\tdisableDisplayValueWarning: PropTypes.bool,\n\n\t/**\n\t * formData object containing glide form data\n\t */\n\tformData: PropTypes.object,\n\n\t/**\n\t * Declarative Action props\n\t */\n\tdeclarativeActionsProps: PropTypes.object,\n\n\t/**\n\t * LiveUpdate info\n\t */\n\tliveUpdate: PropTypes.object,\n\n\t/**\n\t * Flag to indicate the results are loading\n\t */\n\tisSearching: PropTypes.bool,\n\n\t/**\n\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t */\n\n\tsearchUsingStartsWith: PropTypes.bool,\n\n\t/**\n\t * Flag to searching when clicking on field\n\t */\n\tsearchOnClick: PropTypes.bool,\n\n\t/**\n\t * Flag to including the header of dropdown\n\t */\n\tincludeHeaders: PropTypes.bool,\n\n\t/**\n\t * The sys id cooresponding to the selected record value. Important for when\n\t * a reference key is used.\n\t */\n\treferenceSysId: PropTypes.string,\n\n\t/**\n\t * Flag to indicate parent component will handle tracking\n\t * @private\n\t */\n\tdisableTracking: PropTypes.bool,\n\n\thighlightedValue: PropTypes.any,\n\n\t/**\n\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t * via client script using g_form api\n\t * which renders alongside the field's label\n\t * @type {Array.<{icon: string, text: string}>}\n\t **/\n\tdecorations: {\n\t\tdefault: [],\n\t\ttype: 'array'\n\t},\n\n\tsize: PropTypes.oneOf(['sm', 'md'])\n};\n\nGlideQueryBase.style = NowTypeahead.style + NowTypeaheadMultiple.style;\n\nGlideQueryBase.defaultProps = {\n\tmultiSelection: false,\n\tsearchDebounce: 400,\n\tdisableReferenceQualifier: false,\n\tdisableEmailFreeformEntry: false,\n\tignoreReferenceQualifier: false,\n\treferenceAddon: true,\n\tsearchAddon: true,\n\thideReferenceIcon: false,\n\treferenceAddonReadonly: false,\n\tnoEmail: false,\n\tdisableDisplayValueWarning: false,\n\tisSearching: false,\n\tsearchOnClick: true,\n\tcomponentId: 'id',\n\tsize: 'md'\n};\n\nGlideQueryBase.actionHandlers = [\n\t{\n\t\t'NOW_RECORD_TYPEAHEAD#VALUE_CHANGED': { stopPropagation: true },\n\t\t'NOW_RECORD_TYPEAHEAD#STAGED_VALUE_CHANGED': { stopPropagation: true },\n\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED': { stopPropagation: true },\n\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#STAGED_VALUE_CHANGED': {\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n];\n","import GlideQueryBaseSeismic from './GlideQueryBase';\nimport queryBaseBehavior from './queryBaseBehavior';\n\n//React components are still here to support upgrading from pre utah releases to utah and + releases\nimport GlideQueryBase from './GlideQueryBaseReact/GlideQueryBase';\nexport {\n\tFETCH_DATA,\n\tdefault as queryBaseActionHandlers\n} from './queryBaseActionHandlers';\n\nexport { setInitialQueryBaseState, QUERY_BASE_BEHAVIOR, RUN_READ_QUERY } from './queryBaseBehavior';\n\nexport { queryBaseBehavior };\nexport { GlideQueryBaseSeismic }\n\nexport default GlideQueryBase;\n","import { queryBaseActionHandlers } from '@devsnc/sn-glide-query-base';\n\nlet query = `\nquery ($table: String!, $field: String!, $conditions: String, $paginationLimit: Int) {\n  GlideLayout_Query {\n\t\tlistLayout(\n\t\t\tlistTableName: $table,\n\t\t\tlistColumnNames: $field,\n\t\t\tenableSessionLanguageJoin: true\n\t\t) {\n\t\t\t_graphql(\n\t\t\t\tqueryGeneratorArguments: [{\n\t\t\t\t\tname: \"fields\",\n\t\t\t\t\tvalue: \"displayValue\"\n\t\t\t\t}]\n\t\t\t) {\n\t\t\t\t_result(\n\t\t\t\t\tvariables: [\n\t\t\t\t\t\t{ name: \"table\", value: $table },\n\t\t\t\t\t\t{ name: \"queryConditions\", value: $conditions }\n\t\t\t\t\t],\n\t\t\t\t\tpagination: {\n\t\t\t\t\t\tlimit: $paginationLimit,\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n    }\n  }\n}\n`;\n\nlet variableList = ['table', 'field', 'conditions', 'paginationLimit'];\n\nexport default queryBaseActionHandlers(query, variableList);\n","// Seismic imports\nimport { createCustomElement } from '@servicenow/ui-core';\n\n// 3rd party imports\nimport { compact, get, map, omit } from 'lodash';\nimport focusBehavior from '@servicenow/behavior-focus';\n\n// Function imports\nimport {\n\ttransformState,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttrackBehavior,\n\tSeismicComponentFieldPropDefaults,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\n\n// Component imports\nimport {\n\tGlideQueryBaseSeismic,\n\tqueryBaseBehavior,\n\tsetInitialQueryBaseState\n} from '@devsnc/sn-glide-query-base';\nimport actionHandlers from './actionHandlers';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nexport const mapResults = (data, dictionarySorted, properties) => {\n\tconst { useFieldNameAsKey, fieldName, tableName } = properties;\n\tlet realData;\n\n\ttry {\n\t\trealData = JSON.parse(\n\t\t\tget(data, 'GlideLayout_Query.listLayout._graphql._result')\n\t\t);\n\t} catch (e) {\n\t\t// TODO: Beacon?\n\t}\n\tconst options = get(realData, [\n\t\t'data',\n\t\t'GlideRecord_Query',\n\t\ttableName,\n\t\t'_results'\n\t]);\n\tconst totalCount = get(realData, [\n\t\t'data',\n\t\t'GlideRecord_Query',\n\t\ttableName,\n\t\t'_rowCount'\n\t]);\n\n\treturn {\n\t\toptions: map(options, option => ({\n\t\t\tvalue: useFieldNameAsKey\n\t\t\t\t? get(option, [fieldName, 'displayValue'])\n\t\t\t\t: get(option, 'sys_id.value'),\n\t\t\tdisplayValue: get(option, [fieldName, 'displayValue'])\n\t\t})),\n\t\ttotalCount\n\t};\n};\n\nexport const getVariables = properties => inputVal => {\n\tconst { additionalQueryString, tableName, fieldName, resultLimit } =\n\t\tproperties;\n\n\tif (tableName && fieldName) {\n\t\tconst starPrefixRegex = /^\\*(.*)$/;\n\t\tconst strippedInputVal = inputVal.replace(starPrefixRegex, '$1');\n\t\tconst nameMatch = `${fieldName}${\n\t\t\tstarPrefixRegex.test(inputVal) ? 'CONTAINS' : 'STARTSWITH'\n\t\t}${strippedInputVal}`;\n\t\tconst defaultOrderBy = `ORDERBY${fieldName}`;\n\n\t\tconst baseConditions = [defaultOrderBy, additionalQueryString];\n\n\t\tconst conditions = inputVal\n\t\t\t? [nameMatch, ...baseConditions]\n\t\t\t: baseConditions;\n\n\t\treturn {\n\t\t\tfield: fieldName,\n\t\t\ttable: tableName,\n\t\t\tpaginationLimit: resultLimit,\n\t\t\tconditions: compact(conditions).join('^')\n\t\t};\n\t}\n};\n\n/**\n * This component allows looking up arbitrary fields in a table. This is very\n * similar to the `sn-record-reference-connected` component, but it does not point to any\n * specific instance.\n */\nexport const view = (state, { dispatch }) => {\n\tconst { properties } = state;\n\tconst {\n\t\tresults,\n\t\tisSearching,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tdecorations,\n\t\tsize\n\t} = properties;\n\treturn (\n\t\t<GlideQueryBaseSeismic\n\t\t\t{...omit(properties, ['resultLimit'])}\n\t\t\tonValueChange={state.onValueChange}\n\t\t\tqueryBaseState={{ ...state }}\n\t\t\tdispatch={dispatch}\n\t\t\tisSearching={isSearching}\n\t\t\tresults={results}\n\t\t\tgetVariables={getVariables(properties)}\n\t\t\thighlightedValue={highlightedValue}\n\t\t\tdisableTracking\n\t\t\tconfigAria={configAria}\n\t\t\tdecorations={decorations}\n\t\t\tsize={size}\n\t\t/>\n\t);\n};\n\n/**\n * ```jsx\n * // If you want declarative actions to work, add the dependency and add this import.\n * import '@devsnc/sn-declarative-actions';\n *\n * <now-record-field-lookup-connected\n *\t\ttableName=\"sys_user\"\n *\t\tfieldName=\"name\"\n *\t\tvalue=\"5137153cc611227c000bbd1bd8cd2005\"\n *\t\tdisplayValue=\"Abel Tutor\"\n * />\n * ```\n *\n * @seismicElement now-record-field-lookup-connected\n * @summary Now Record Field Lookup Connected Component\n *\n */\n\ncreateCustomElement('now-record-field-lookup-connected', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: GlideQueryBaseSeismic.style,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t/**\n\t\t * Additional filter to be added to the query string. The syntax should\n\t\t * follow the standard servicenow filter/query syntax.\n\t\t *\n\t\t * These conditions will added as an AND to the existing query condition.\n\t\t *\n\t\t * e.g. active=true\n\t\t *\n\t\t * @see https://docs.servicenow.com/bundle/orlando-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html#r_OpAvailableFiltersQueries\n\t\t * @type {string}\n\t\t */\n\t\tadditionalQueryString: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * aria-describedby\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * aria-label\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * aria-labelledby\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\n\t\t/**\n\t\t * Optional name of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: {},\n\n\t\t/**\n\t\t * Optional value of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldValue: {},\n\n\t\t/**\n\t\t * Please use `dependentFieldValue` instead\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValue: {},\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableDisplayValueWarning: {},\n\n\t\t/**\n\t\t * When true, prevent the user from typing in free-form email addresses.\n\t\t * Instead, an email must be selected from the list of available options.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableEmailFreeformEntry: {},\n\n\t\t/**\n\t\t * displayValue can be string or number or array of values\n\t\t *\n\t\t * @type {(array|number|string)}\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Flag to hide the reference icon\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideReferenceIcon: {},\n\n\t\t/**\n\t\t * Boolean to toggle reference qualifiers\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableReferenceQualifier: { default: false },\n\n\t\t/**\n\t\t * Please use `disableReferenceQualifier` instead\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tignoreReferenceQualifier: { default: false },\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Indicates whether the component is waiting for a graphql request to finish\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisSearching: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tmultiSelection: { default: false },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Please use `disableEmailFreeformEntry` instead\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tnoEmail: {},\n\n\t\t/**\n\t\t * Callback function triggered when the user presses Enter\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonEnter: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Callback to show record\n\t\t *\n\t\t * @type {(boolean | function | string)}\n\t\t * @private\n\t\t */\n\t\treferenceAddon: { default: true },\n\n\t\t/**\n\t\t * Flag to show the reference icon in readonly mode\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\treferenceAddonReadonly: {},\n\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {},\n\n\t\t/**\n\t\t * Flag to indicate whether or not to use the field name as\n\t\t * a reference key for the value selected instead of the sys_id\n\t\t *\n\t\t * @type {bool}\n\t\t */\n\t\tuseFieldNameAsKey: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: {},\n\n\t\t/**\n\t\t * Integer limit of choice suggestions\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tresultLimit: { default: 15 },\n\n\t\t/**\n\t\t * The results returned from glide query base\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tresults: { default: [] },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * Callback to launch reference list modal\n\t\t *\n\t\t * @type {(boolean | function | string)}\n\t\t * @private\n\t\t */\n\t\tsearchAddon: { default: true },\n\n\t\t/**\n\t\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t\t * Defaults to 400ms\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tsearchDebounce: { default: 400 },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t *  @type {boolean}\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * String containing all serialized UI changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tserializedChanges: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {},\n\n\t\t/**\n\t\t * Value can be anything\n\t\t *\n\t\t * @type {any}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Used to display extra custom pills on the field, which are not a part of the dropdown.\n\t\t * @type {Array.<{id: string, label: string, tooltipContent: string}>}\n\t\t */\n\t\tcustomPills: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on each value change on the input.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_RECORD_FIELD_LOOKUP_CONNECTED#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a new option is selected, adding a new pill, or making\n\t\t * a wrong reference selection.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_FIELD_LOOKUP_CONNECTED#VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a custom pill is removed by the user. Payload is an array of the custom\n\t\t * pills stil left on the field.\n\t\t * @type {array}\n\t\t */\n\t\t'NOW_RECORD_FIELD_LOOKUP_CONNECTED#CUSTOM_PILLS_CHANGED': {}\n\t},\n\ttransformState,\n\tsetInitialState: setInitialQueryBaseState(true),\n\tactionHandlers: {\n\t\t...actionHandlers.actionHandlers,\n\t\t'SN_GLIDE_QUERY_BASE#CUSTOM_PILLS_CHANGED': {\n\t\t\teffect: ({ action, dispatch }) => {\n\t\t\t\tdispatch(\n\t\t\t\t\t'NOW_RECORD_FIELD_LOOKUP_CONNECTED#CUSTOM_PILLS_CHANGED',\n\t\t\t\t\taction.payload\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'SN_GLIDE_QUERY_BASE#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_GLIDE_QUERY_BASE#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tactionTypesToProps: { VALUE_SELECTED: 'addonValueSelected' },\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: queryBaseBehavior,\n\t\t\toptions: { mapResults }\n\t\t},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t]\n});\n","import { t } from 'sn-translate';\n\nexport const VALUE_CHANGED = 'SN_RECORD_FILE_ATTACHMENT#VALUE_CHANGED';\nexport const UPLOAD_ATTACHMENT_BUTTON_CLICKED =\n\t'UPLOAD_ATTACHMENT#BUTTON_CLICKED';\nexport const POST_ATTACHMENT_QUERY = 'POST_ATTACHMENT_QUERY';\nexport const POST_DATA_SUCCESS = 'POST_DATA_SUCCESS';\nexport const POST_DATA_FAILURE = 'POST_DATA_FAILURE';\nexport const BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const MODAL_BUTTON_CLICKED = 'NOW_MODAL#FOOTER_ACTION_CLICKED';\nexport const FILE_RENAME_INPUT = 'FILE_ATTACHMENT#INPUT';\nexport const MODAL_OPEN_CHANGED = 'NOW_MODAL#OPENED_SET';\nexport const UPDATE_FILE_NAME = 'ATTACHMENT_UPDATE_ACTION';\nexport const RENAME_SUCCESS = 'RENAME_SUCCESS';\nexport const RENAME_FAILURE = 'RENAME_FAILURE';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const ATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED =\n\t'ATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED';\nexport const ATTACHMENT_REPLACED = 'ATTACHMENT_REPLACED';\nexport const INPUT_CHANGED = 'NOW_INPUT#INPUT';\n\nexport const CANCEL_STR = t('Cancel');\nexport const DOWNLOAD = t('Download');\nexport const RETRY_UPLOAD = t('Retry upload');\n\n// File Attachment strings and labels\nexport const FILE_STRINGS = {\n\tattach: t('Attach file'),\n\tdeleteLabel: t('Delete attachment'),\n\tdeleteMessage: t(\n\t\t'Are you sure you want to delete this attachment? Changes cannot be undone.'\n\t),\n\tnoContent: t('No file attached.'),\n\tuploading: t('Uploading file...'),\n\tvirus: t('This file did not pass the virus scan.')\n};\n\n// User Image strings and labels\nexport const USER_IMAGE_STRINGS = {\n\tattach: t('Attach image'),\n\tdeleteLabel: t('Delete image'),\n\tdeleteMessage: t(\n\t\t'Are you sure you want to delete this image? Changes cannot be undone.'\n\t),\n\tnoContent: t('No image attached.'),\n\tuploading: t('Uploading image...'),\n\tvirus: t('This image did not pass the virus scan.')\n};\n\nexport const MODAL = Object.freeze({ Delete: 1, Edit: 2 });\n","export const getExtensionFromFileName = name => {\n\tif (name.lastIndexOf('.') === -1) return '';\n\n\tconst ext = name.substring(name.lastIndexOf('.') + 1).toLowerCase();\n\n\t// For iix (images), use png\n\treturn ext === 'iix' ? 'png' : ext;\n};\n\nexport const isInvalidFileType = (fileName, modifiedExtensions) => {\n\tif (modifiedExtensions.length < 1) return false;\n\treturn !modifiedExtensions.includes(getExtensionFromFileName(fileName));\n};\n\nexport const downloadAttachment = sysId => {\n\twindow.location.href = `/sys_attachment.do?sys_id=${sysId}`;\n};\n\nexport const getFileNameOnly = fileName => {\n\tif (fileName) {\n\t\tconst index = fileName.lastIndexOf('.');\n\t\treturn index > 0 ? fileName.substring(0, index) : fileName;\n\t}\n\treturn fileName;\n};\n","import { compact, get, toNumber } from 'lodash';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { t } from 'sn-translate';\n\nimport { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\n\nimport {\n\tisInvalidFileType,\n\tgetFileNameOnly,\n\tgetExtensionFromFileName\n} from './attachmentUtils';\n\nimport {\n\tVALUE_CHANGED,\n\tPOST_ATTACHMENT_QUERY,\n\tPOST_DATA_SUCCESS,\n\tPOST_DATA_FAILURE,\n\tMODAL_OPEN_CHANGED,\n\tUPDATE_FILE_NAME,\n\tRENAME_SUCCESS,\n\tATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED,\n\tATTACHMENT_REPLACED,\n\tMODAL,\n\tFILE_STRINGS,\n\tUSER_IMAGE_STRINGS,\n\tUPLOAD_ATTACHMENT_BUTTON_CLICKED\n} from './constants';\n\nimport { FileAttachmentGraphQLUpdate as update } from './datasources/FileAttachmentGraphQLUpdate';\n\nconst createError = message => ({ type: 'error', message });\n\nexport const getInputNode = fileAttachmentHostNode => {\n\treturn fileAttachmentHostNode.shadowRoot\n\t\t.querySelector('now-input')\n\t\t.shadowRoot.querySelector('input');\n};\n\nexport const uploadAttachmentEffect = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateProperties,\n\tupdateState\n}) => {\n\tconst {\n\t\ttableName,\n\t\ttableSysId,\n\t\textensions,\n\t\tonValueChange,\n\t\tname,\n\t\tinvalid,\n\t\tmaxAttachmentSize,\n\t\tscheduleForCleanup\n\t} = state.properties;\n\tconst selectedFile = action.payload;\n\tconst { name: file_name } = selectedFile;\n\n\tif (!invalid) {\n\t\tupdateProperties({ fileContent: selectedFile });\n\t}\n\n\tconst modifiedExtensions = compact((extensions || '').split(','));\n\tif (isInvalidFileType(file_name, modifiedExtensions)) {\n\t\tconst error = createError(\n\t\t\tt('Selected file type is invalid. Valid field types: {0}', extensions)\n\t\t);\n\t\tif (onValueChange) {\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t\t});\n\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\tname,\n\t\t\t\tvalue: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t\terror\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(VALUE_CHANGED, { error });\n\t\t}\n\t\treturn;\n\t}\n\n\tif (\n\t\tmaxAttachmentSize &&\n\t\tselectedFile.size / 1000000 > toNumber(maxAttachmentSize)\n\t) {\n\t\tconst error = createError(\n\t\t\tt(\n\t\t\t\t'The selected file is too large. Maximum upload file size: {0}MB.',\n\t\t\t\tmaxAttachmentSize\n\t\t\t)\n\t\t);\n\t\tif (onValueChange) {\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t\t});\n\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\tname,\n\t\t\t\tvalue: '',\n\t\t\t\tdisplayValue: '',\n\t\t\t\terror\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(VALUE_CHANGED, { error });\n\t\t}\n\t\treturn;\n\t}\n\n\tupdateState({\n\t\tattachmentLoading: true\n\t});\n\n\t// We have to set field to invalid here to ensure large files get uploaded before we allow a user\n\t// to save the record. Otherwise, the file might not upload properly\n\tif (onValueChange) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue: '',\n\t\t\tdisplayValue: '',\n\t\t\terror: { type: 'error' }\n\t\t});\n\t} else {\n\t\tdispatch(VALUE_CHANGED, { error: { type: 'error' } });\n\t}\n\n\t// We have to prefix tablename with ZZ_YY so that these attachments do not appear in attachment lists\n\tconst modifiedTableName = 'ZZ_YY' + tableName;\n\n\tconst data = new FormData();\n\tdata.append('table_name', modifiedTableName);\n\tdata.append('schedule_for_cleanup', scheduleForCleanup);\n\tdata.append('table_sys_id', tableSysId);\n\tdata.append('file', selectedFile);\n\tdispatch(POST_ATTACHMENT_QUERY, { data });\n};\n\nexport const postAttachmentEffect = createHttpEffect(\n\t'/api/now/attachment/upload',\n\t{\n\t\tmethod: 'POST',\n\t\tbatch: false,\n\t\theaders: { 'Content-Type': 'multipart/form-data' },\n\t\tdataParam: 'data',\n\t\tsuccessActionType: POST_DATA_SUCCESS,\n\t\terrorActionType: POST_DATA_FAILURE\n\t}\n);\n\nexport const postAttachmentSuccessEffect = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState,\n\tupdateProperties\n}) => {\n\tconst {\n\t\tresult: { file_name, sys_id, content_type }\n\t} = action.payload;\n\tconst { name, onValueChange } = state.properties;\n\n\tupdateState({\n\t\tcontentType: content_type,\n\t\tnewFileName: getFileNameOnly(file_name),\n\t\tattachmentLoading: false,\n\t\treplaced: true\n\t});\n\n\tupdateProperties({\n\t\tcanEditName: true\n\t});\n\n\tif (onValueChange) {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t});\n\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue: sys_id,\n\t\t\tdisplayValue: file_name\n\t\t});\n\t} else {\n\t\tdispatch(VALUE_CHANGED, {\n\t\t\tfile_name,\n\t\t\tsys_id\n\t\t});\n\t}\n};\n\nexport const postAttachmentFailureEffect = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst { name, onValueChange, fileContent } = state.properties;\n\n\t// Lets try to get the original file name before it was potentially renamed on upload\n\tconst file_name = fileContent\n\t\t? fileContent.name\n\t\t: action.meta.request.data.get('file').name;\n\n\tupdateState({\n\t\tattachmentLoading: false\n\t});\n\n\tconst error = createError(t('Unable to upload file. Please try again'));\n\tif (onValueChange) {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t});\n\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue: '',\n\t\t\tdisplayValue: file_name,\n\t\t\terror\n\t\t});\n\t} else {\n\t\tdispatch(VALUE_CHANGED, { file_name, error });\n\t}\n};\n\nexport const componentBootstrappedEffect = ({ state, updateState }) => {\n\tconst { contentType, displayValue, virusState, type } = state.properties;\n\tupdateState({\n\t\tcontentType,\n\t\tvirusDetected: virusState === 'not_available',\n\t\tnewFileName: getFileNameOnly(displayValue),\n\t\tfieldStrings: type === 'file' ? FILE_STRINGS : USER_IMAGE_STRINGS\n\t});\n};\n\nexport const buttonClickedEffect = ({ updateState, action }) => {\n\tconst { button } = action.payload;\n\tif (button === 'edit')\n\t\tupdateState({\n\t\t\tmodal: MODAL.Edit,\n\t\t\tedited: false\n\t\t});\n\tif (button === 'delete')\n\t\tupdateState({\n\t\t\tmodal: MODAL.Delete\n\t\t});\n};\n\nexport const modalButtonClickedEffect = ({ action, dispatch, state }) => {\n\tconst { variant } = action.payload.action;\n\tconst { newFileName, replaced } = state;\n\tconst { name, displayValue, value, onValueChange, type } = state.properties;\n\tconst changed =\n\t\tnewFileName != '' && newFileName != getFileNameOnly(displayValue);\n\n\t// Renamed\n\tif (variant === 'primary' && changed) {\n\t\tconst extension = getExtensionFromFileName(displayValue);\n\t\tconst composedFileName = newFileName + '.' + extension;\n\n\t\tdispatch(UPDATE_FILE_NAME, {\n\t\t\tfile_name: composedFileName,\n\t\t\tsys_id: value\n\t\t});\n\t}\n\n\t// Removed\n\tif (variant === 'primary-negative') {\n\t\t// For user image, we must ensure we remove the previous attachment\n\t\t// only if it was already replaced at least once before saving\n\t\tif (replaced && type !== 'file') {\n\t\t\tdispatch(ATTACHMENT_REPLACED, { oldSysId: value });\n\t\t}\n\t\tif (onValueChange) {\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t\t});\n\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\tname,\n\t\t\t\tvalue: '',\n\t\t\t\tdisplayValue: ''\n\t\t\t});\n\t\t}\n\t\tdispatch(VALUE_CHANGED, { file_name: '', sys_id: '' });\n\t}\n\n\tdispatch(MODAL_OPEN_CHANGED, { value: false });\n};\n\nexport const renameSuccessEffect = ({\n\taction,\n\tstate,\n\tdispatch,\n\tupdateState\n}) => {\n\tconst fileName = get(\n\t\taction,\n\t\t'payload.data.GlideRecord_Mutation.update_sys_attachment.file_name.value',\n\t\t''\n\t);\n\tconst { onValueChange, value, name } = state.properties;\n\n\tupdateState({\n\t\tnewFileName: getFileNameOnly(fileName)\n\t});\n\n\tif (onValueChange) {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t});\n\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue: fileName\n\t\t});\n\t}\n\tdispatch(VALUE_CHANGED, {\n\t\tfile_name: fileName,\n\t\tsys_id: value\n\t});\n};\n\nexport const renameFailureEffect = ({ dispatch, state }) => {\n\tconst { onValueChange, value, name, displayValue } = state.properties;\n\tconst error = createError(t('Unable to rename file. Please try again'));\n\tif (onValueChange) {\n\t\tdispatch('TRACK', {\n\t\t\teventTitle: 'NOW_MODAL#RENAME_CLICKED_FAILURE',\n\t\t\tmetaData: { name: name, fieldType: 'file-attachment' }\n\t\t});\n\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\terror\n\t\t});\n\t}\n\tdispatch(VALUE_CHANGED, {\n\t\tfile_name: displayValue,\n\t\terror\n\t});\n};\n\nexport const updateAttachment = createGraphQLEffect(update, {\n\tvariableList: ['sys_id', 'file_name'],\n\tsuccessActionType: RENAME_SUCCESS,\n\terrorActionType: POST_DATA_FAILURE\n});\n\nexport const modalOpenedChangeEffect = ({ updateState, state }) => {\n\tconst { displayValue } = state.properties;\n\tupdateState({\n\t\tmodal: null,\n\t\tnewFileName: getFileNameOnly(displayValue),\n\t\tvirusDetected: false\n\t});\n};\n\nexport const modalInputChangeEffect = ({ action, state, updateState }) => {\n\tconst newFileName = action.payload.newFileName;\n\tconst { displayValue } = state.properties;\n\tconst { edited } = state;\n\tconst changed = newFileName != getFileNameOnly(displayValue);\n\n\t//After first edit, use newFileName as value for input\n\tif (changed || edited) {\n\t\tupdateState({\n\t\t\tedited: true,\n\t\t\tnewFileName\n\t\t});\n\t}\n};\n\nexport const nowButtonBareEffect = ({ dispatch }) => {\n\tdispatch(ATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED);\n};\n\nexport const attachmentFileUploadButtonEffect = coeffects => {\n\tconst { host } = coeffects;\n\tconst inputNode = getInputNode(host);\n\tinputNode.click();\n};\n\nexport const nowInputChange = ({ host, dispatch }) => {\n\tconst inputNode = getInputNode(host);\n\tif (inputNode != null) {\n\t\tconst file = inputNode.files[0];\n\t\tdispatch(UPLOAD_ATTACHMENT_BUTTON_CLICKED, file);\n\t}\n};\n\nexport const attachmentReplacedEffect = createHttpEffect(\n\t'/api/now/attachment/:oldSysId',\n\t{\n\t\tmethod: 'DELETE',\n\t\tpathParams: ['oldSysId'],\n\t\tbatch: false\n\t}\n);\n","const FileAttachmentGraphQLUpdate = `\nmutation ($sys_id: String!, $file_name: String!) {\n\tGlideRecord_Mutation {\n\t\tupdate_sys_attachment(sys_id: $sys_id, file_name: $file_name) {\n\t\t\tfile_name {\n\t\t\t\tvalue\n\t\t\t}\n\t\t}\n\t}\n}\n`;\n\nexport { FileAttachmentGraphQLUpdate };\n","import { actionTypes } from '@servicenow/ui-core';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport {\n\tUPLOAD_ATTACHMENT_BUTTON_CLICKED,\n\tPOST_ATTACHMENT_QUERY,\n\tPOST_DATA_SUCCESS,\n\tPOST_DATA_FAILURE,\n\tBUTTON_CLICKED,\n\tMODAL_BUTTON_CLICKED,\n\tFILE_RENAME_INPUT,\n\tMODAL_OPEN_CHANGED,\n\tUPDATE_FILE_NAME,\n\tRENAME_SUCCESS,\n\tRENAME_FAILURE,\n\tNOW_BUTTON_BARE_CLICKED,\n\tATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED,\n\tATTACHMENT_REPLACED,\n\tINPUT_CHANGED\n} from './constants';\nimport {\n\tuploadAttachmentEffect,\n\tpostAttachmentEffect,\n\tpostAttachmentSuccessEffect,\n\tpostAttachmentFailureEffect,\n\tcomponentBootstrappedEffect,\n\tbuttonClickedEffect,\n\tmodalButtonClickedEffect,\n\tmodalOpenedChangeEffect,\n\tmodalInputChangeEffect,\n\tupdateAttachment,\n\trenameSuccessEffect,\n\trenameFailureEffect,\n\tnowButtonBareEffect,\n\tattachmentFileUploadButtonEffect,\n\tattachmentReplacedEffect,\n\tnowInputChange\n} from './effects';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DOM_TREE_READY } = actionTypes;\n\nexport default {\n\tactionHandlers: {\n\t\t[UPLOAD_ATTACHMENT_BUTTON_CLICKED]: {\n\t\t\teffect: uploadAttachmentEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_ATTACHMENT_QUERY]: {\n\t\t\t...postAttachmentEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_SUCCESS]: {\n\t\t\teffect: postAttachmentSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_FAILURE]: {\n\t\t\teffect: postAttachmentFailureEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[BUTTON_CLICKED]: {\n\t\t\teffect: buttonClickedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MODAL_BUTTON_CLICKED]: {\n\t\t\teffect: modalButtonClickedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MODAL_OPEN_CHANGED]: {\n\t\t\teffect: modalOpenedChangeEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[FILE_RENAME_INPUT]: {\n\t\t\teffect: modalInputChangeEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[UPDATE_FILE_NAME]: {\n\t\t\t...updateAttachment,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[RENAME_SUCCESS]: {\n\t\t\teffect: renameSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[RENAME_FAILURE]: {\n\t\t\teffect: renameFailureEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\t\teffect: nowButtonBareEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ATTACHMENT_FILE_UPLOAD_BUTTON_CLICKED]: {\n\t\t\teffect: attachmentFileUploadButtonEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ATTACHMENT_REPLACED]: {\n\t\t\t...attachmentReplacedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: ({ host, properties }) => {\n\t\t\tlet focusElement;\n\t\t\tif (\n\t\t\t\tisAttrTrue(properties.autofocus) &&\n\t\t\t\t!isAttrTrue(properties.readonly)\n\t\t\t) {\n\t\t\t\tconst selector =\n\t\t\t\t\tproperties.type === 'file' ? 'now-text-link' : 'now-button-bare';\n\t\t\t\tfocusElement = host.shadowRoot.querySelector(selector);\n\t\t\t\tif (focusElement) {\n\t\t\t\t\tfocusElement.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[INPUT_CHANGED]: {\n\t\t\teffect: nowInputChange,\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@devsnc/sn-record-input';\nimport { t } from 'sn-translate';\nimport { FILE_RENAME_INPUT } from './constants';\n\nexport default (dispatch, newFileName) => (\n\t<sn-record-input\n\t\tvalue={newFileName}\n\t\tlabel={t('Name')}\n\t\trequired\n\t\tmaxlength=\"40\"\n\t\tonChange={event => {\n\t\t\tdispatch(FILE_RENAME_INPUT, { newFileName: event.target.value });\n\t\t}}\n\t/>\n);\n","import { t } from 'sn-translate';\nimport { noop, isEmpty } from 'lodash';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport 'sn-component-file-icon';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-text-link';\nimport '@servicenow/now-input';\nimport '@devsnc/sn-record-control-wrapper';\n\nimport {\n\tgetAriaLabelFromConfig,\n\tisAttrTrue,\n\ttransformMessages,\n\tgetFormFieldMessagesContent\n} from '@devsnc/sn-controls-common';\n\nimport renameContent from './renameModal';\nimport {\n\tgetExtensionFromFileName,\n\tdownloadAttachment\n} from './attachmentUtils';\nimport {\n\tUPLOAD_ATTACHMENT_BUTTON_CLICKED,\n\tVALUE_CHANGED,\n\tMODAL,\n\tCANCEL_STR,\n\tDOWNLOAD,\n\tRETRY_UPLOAD\n} from './constants';\n\n/**\n * Renders the field actions (declarative action-esque buttons and associated modals)\n */\nexport const FieldActions = ({ state, dispatch, ...buttons }) => {\n\tconst { edited, newFileName, properties, fieldStrings, modal } = state;\n\tconst { fileContent, value: sysId } = properties;\n\tconst { deleteLabel, deleteMessage } = fieldStrings;\n\tconst { download, sync, edit, remove } = buttons;\n\n\tlet editButton = noop;\n\tlet editModal = noop;\n\tif (edit) {\n\t\tconst editLabel = t('Edit attachment name');\n\t\teditButton = () => (\n\t\t\t<now-button-iconic\n\t\t\t\tbare\n\t\t\t\ticon=\"pencil-page-outline\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tconfig-aria={{ 'aria-label': editLabel }}\n\t\t\t\tappend-to-payload={{ button: 'edit' }}\n\t\t\t\ttooltip-content={editLabel}\n\t\t\t/>\n\t\t);\n\n\t\teditModal = () => (\n\t\t\t<now-modal\n\t\t\t\topened={modal === MODAL.Edit}\n\t\t\t\theader-label={editLabel}\n\t\t\t\tcontent={renameContent(dispatch, newFileName)}\n\t\t\t\tfooter-actions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: t('Submit'),\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t...(isAttrTrue(edited) && !isEmpty(newFileName)\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { disabled: true })\n\t\t\t\t\t},\n\t\t\t\t\t{ label: CANCEL_STR, variant: 'secondary' }\n\t\t\t\t]}\n\t\t\t/>\n\t\t);\n\t}\n\n\tlet deleteButton = noop;\n\tlet deleteModal = noop;\n\tif (remove) {\n\t\tdeleteButton = () => (\n\t\t\t<now-button-iconic\n\t\t\t\tbare\n\t\t\t\ticon=\"trash-outline\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tconfig-aria={{ 'aria-label': deleteLabel }}\n\t\t\t\tappend-to-payload={{ button: 'delete' }}\n\t\t\t\ttooltip-content={deleteLabel}\n\t\t\t/>\n\t\t);\n\n\t\tdeleteModal = () => (\n\t\t\t<now-modal\n\t\t\t\topened={modal === MODAL.Delete}\n\t\t\t\theader-label={deleteLabel}\n\t\t\t\tcontent={deleteMessage}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tfooter-actions={[\n\t\t\t\t\t{ label: t('Delete'), variant: 'primary-negative' },\n\t\t\t\t\t{ label: CANCEL_STR, variant: 'secondary' }\n\t\t\t\t]}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{download ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tbare\n\t\t\t\t\ticon=\"download-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tconfig-aria={{ 'aria-label': DOWNLOAD }}\n\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\tdownloadAttachment(sysId);\n\t\t\t\t\t}}\n\t\t\t\t\ttooltip-content={DOWNLOAD}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{sync && fileContent ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tbare\n\t\t\t\t\ticon=\"sync-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tconfig-aria={{ 'aria-label': RETRY_UPLOAD }}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(UPLOAD_ATTACHMENT_BUTTON_CLICKED, fileContent);\n\t\t\t\t\t}}\n\t\t\t\t\ttooltipContent={RETRY_UPLOAD}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{editButton()}\n\t\t\t{deleteButton()}\n\t\t\t{editModal()}\n\t\t\t{deleteModal()}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * Dispatches the preview for the attachment\n */\nexport const dispatchAttachmentPreview =\n\t({ dispatch, displayValue, value, contentType, readonly }) =>\n\te => {\n\t\te.preventDefault();\n\n\t\tdispatch('ATTACHMENT_PREVIEW#LOAD', {\n\t\t\titem: {\n\t\t\t\tname: displayValue,\n\t\t\t\tsysId: value,\n\t\t\t\ttype: contentType,\n\t\t\t\tcanDelete: false,\n\t\t\t\treadonly: isAttrTrue(readonly)\n\t\t\t}\n\t\t});\n\t};\n\n/**\n * Renders uploading state\n */\nexport const renderUploadingState = ({ uploading }) => (\n\t<div className=\"attachment-loading-container\">\n\t\t<div className=\"attachment-loader\">\n\t\t\t<now-loader size=\"md\" />\n\t\t<\/div>\n\t\t<div className=\"attachment-loading-content\">\n\t\t\t<span>{uploading}<\/span>\n\t\t<\/div>\n\t<\/div>\n);\n\n/**\n * Renders empty state\n */\nexport const renderEmptyState = state => {\n\tconst {\n\t\tfieldStrings: { attach, noContent },\n\t\tproperties: { readonly, required, configAria, label, messages }\n\t} = state;\n\n\tif (isAttrTrue(readonly)) {\n\t\treturn (\n\t\t\t<div className=\"empty-read-only\">\n\t\t\t\t<span\n\t\t\t\t\trole=\"textbox\"\n\t\t\t\t\taria-readonly=\"true\"\n\t\t\t\t\taria-placeholder={noContent}\n\t\t\t\t\taria-label={noContent}\n\t\t\t\t>\n\t\t\t\t\t&mdash;\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t);\n\t}\n\tconst inputAriaConfig = {\n\t\tinput: {\n\t\t\t...{ 'aria-label': attach },\n\t\t\t...configAria,\n\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t}\n\t};\n\tconst messagesContent =\n\t\tArray.isArray(messages) && messages.length\n\t\t\t? ` ${getFormFieldMessagesContent(transformMessages(messages))}`\n\t\t\t: '';\n\n\tif (isAttrTrue(required)) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<now-button-bare\n\t\t\t\t\ticon-start=\"paperclip-outline\"\n\t\t\t\t\tlabel={attach}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': `${t(\n\t\t\t\t\t\t\t'{label}, {fieldLabel}, required, {fieldState}',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\tfieldLabel: attach,\n\t\t\t\t\t\t\t\tfieldState: noContent\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}${messagesContent}`\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<now-input\n\t\t\t\t\tid=\"fileInput\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tclassName=\"now-a11y-label\"\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\trequired={true}\n\t\t\t\t\tconfig-aria={inputAriaConfig}\n\t\t\t\t/>\n\t\t\t<\/Fragment>\n\t\t);\n\t}\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-button-bare\n\t\t\t\ticon-start=\"paperclip-outline\"\n\t\t\t\tlabel={attach}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\t'aria-label': `${t('{label}, {fieldLabel}, {fieldState}', {\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tfieldLabel: attach,\n\t\t\t\t\t\tfieldState: noContent\n\t\t\t\t\t})}${messagesContent}`\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<now-input\n\t\t\t\tid=\"fileInput\"\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\tclassName=\"now-a11y-label\"\n\t\t\t\ttype=\"file\"\n\t\t\t\tconfig-aria={inputAriaConfig}\n\t\t\t/>\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * Renders failed state\n */\nexport const renderFailedState = (state, dispatch) => {\n\tconst { displayValue } = state.properties;\n\treturn (\n\t\t<div className=\"disabled-file\">\n\t\t\t<div className=\"retry-content\">\n\t\t\t\t<div className=\"retry-attachment-icon\">\n\t\t\t\t\t<now-icon icon=\"paperclip-outline\" size=\"md\" />\n\t\t\t\t<\/div>\n\t\t\t\t<span className=\"retry-attachment-text\" data-truncation>\n\t\t\t\t\t{displayValue}\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t<div className=\"retryfile-buttons\">\n\t\t\t\t<FieldActions sync remove state={state} dispatch={dispatch} />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders virus state\n */\nexport const renderVirusState = (state, dispatch) => {\n\tconst { displayValue, type } = state.properties;\n\tconst isFile = type === 'file';\n\treturn (\n\t\t<div className=\"disabled-file\">\n\t\t\t<div className=\"infected-content\">\n\t\t\t\t<div className=\"infected-attachment-icon\">\n\t\t\t\t\t<now-icon icon=\"paperclip-outline\" size=\"md\" />\n\t\t\t\t<\/div>\n\t\t\t\t<span className=\"infected-attachment-text\" data-truncation>\n\t\t\t\t\t{isFile ? displayValue : t('Image')}\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t<div className=\"infected-buttons\">\n\t\t\t\t<FieldActions remove state={state} dispatch={dispatch} />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders successful state\n */\nexport const renderSuccessfulState = (state, dispatch) => {\n\tconst { value, displayValue, contentType, readonly, type, canEditName } =\n\t\tstate.properties;\n\tconst isFile = type === 'file';\n\treturn (\n\t\t<div className=\"container\">\n\t\t\t<div className=\"attachments-content\">\n\t\t\t\t{isFile ? (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div className=\"sn-file-icon\">\n\t\t\t\t\t\t\t<sn-file-icon\n\t\t\t\t\t\t\t\tclassName=\"sn-icon\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tmime-type={contentType}\n\t\t\t\t\t\t\t\textension={getExtensionFromFileName(displayValue)}\n\t\t\t\t\t\t\t\tweight=\"regular\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\tclassName=\"attachment-link\"\n\t\t\t\t\t\t\tlabel={displayValue}\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t'aria-label': t('Preview attachment {0}', displayValue)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\t\ton-click={dispatchAttachmentPreview({\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tdisplayValue,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tcontentType,\n\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/Fragment>\n\t\t\t\t) : (\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\ticon-start=\"image-outline\"\n\t\t\t\t\t\tlabel={t('View image')}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ton-click={dispatchAttachmentPreview({\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tdisplayValue: t('Image preview'),\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tcontentType,\n\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t})}\n\t\t\t\t\t\thidePadding\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t\t{!isAttrTrue(readonly) ? (\n\t\t\t\t<div className=\"buttons-content\">\n\t\t\t\t\t<FieldActions\n\t\t\t\t\t\tdownload={isFile}\n\t\t\t\t\t\tedit={isFile && canEditName}\n\t\t\t\t\t\tremove\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t) : (\n\t\t\t\t<div className=\"download-button\">\n\t\t\t\t\t<FieldActions download={isFile} state={state} dispatch={dispatch} />\n\t\t\t\t<\/div>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders view\n */\nexport default (state, { dispatch }) => {\n\tlet {\n\t\tattachmentLoading,\n\t\tfieldStrings,\n\t\tproperties: {\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tinvalid,\n\t\t\tonValueChange,\n\t\t\treadonly,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\tshowAIIndicator,\n\t\t\tisModified\n\t\t},\n\t\tvirusDetected\n\t} = state;\n\n\tif (virusDetected && !invalid) {\n\t\tlet errorMessage = fieldStrings.virus;\n\t\tif (onValueChange) {\n\t\t\tonValueChange(null, name, value, displayValue, {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: errorMessage\n\t\t\t});\n\t\t}\n\t\tdispatch(VALUE_CHANGED, {\n\t\t\tfile_name: displayValue,\n\t\t\tsys_id: value,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t});\n\t\treturn;\n\t}\n\n\tconst classReadOnly = isAttrTrue(readonly) ? 'read-only' : '';\n\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\t{...state.properties}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={`attachment-content sn-control-field no-border no-background ${classReadOnly}`}\n\t\t\t>\n\t\t\t\t<div className=\"field-container\">\n\t\t\t\t\t{(() => {\n\t\t\t\t\t\t// Attachment uploading\n\t\t\t\t\t\tif (isAttrTrue(attachmentLoading)) {\n\t\t\t\t\t\t\treturn renderUploadingState(fieldStrings);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Upload failed\n\t\t\t\t\t\tif (invalid && isEmpty(value) && !isEmpty(displayValue)) {\n\t\t\t\t\t\t\treturn renderFailedState(state, dispatch);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Initial State or live update clearing the value\n\t\t\t\t\t\tif (isEmpty(value) || isEmpty(displayValue)) {\n\t\t\t\t\t\t\treturn renderEmptyState(state, dispatch);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Virus detected\n\t\t\t\t\t\tif (virusDetected) {\n\t\t\t\t\t\t\treturn renderVirusState(state, dispatch);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn renderSuccessfulState(state, dispatch);\n\t\t\t\t\t})()}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport styles from './fileattachment.scss';\nimport attachmentActions from './actions';\nimport view from './view';\nimport { trackBehavior } from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nconst COMPONENT_NAME = 'sn-record-file-attachment';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\n/**\n *\n *  Simple File Attachment Component\n *```jsx\n *\t<sn-record-file-attachment\n *\t\tlabel=\"I am File attachment\"\n *\t\tvalue={state.value}\n *\t\tdisplayValue={state.displayValue}\n *\t/>\n *\n *```\n * @seismicElement sn-record-file-attachment\n * @summary *  File Attachment Component.\n * */\n\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tfieldStrings: {},\n\t\tcontentType: '',\n\t\tnewFileName: '',\n\t\tedited: false,\n\t\treplaced: false,\n\t\tattachmentLoading: false,\n\t\tmodal: null,\n\t\tvirusDetected: false\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished rendering.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {\n\t\t\tdefault: false,\n\t\t\tschema: { oneOf: [{ type: 'boolean' }, { type: 'string' }] }\n\t\t},\n\t\t/**\n\t\t * Checks users has the rights to edit the attachmnet name or not\n\t\t * @type {boolean}\n\t\t */\n\t\tcanEditName: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Additional messages used to give status information on a field, usually\n\t\t * to provide error messages or warnings\n\t\t * @type {array}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Flag indicating whether there is an error\n\t\t * @type {string | boolean }\n\t\t */\n\t\terror: { default: '' },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tinvalid: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * The language for the character used in the input field\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * Name of file name of the attachment\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: { default: '' },\n\t\t/**\n\t\t * SysId of table to which file gets attached\n\t\t * @type {string}\n\t\t */\n\t\ttableSysId: { default: '' },\n\t\t/**\n\t\t * Name of table where file gets attached to.\n\t\t * @type {string}\n\t\t */\n\t\ttableName: { default: '' },\n\t\t/**\n\t\t * SysId of attachment record in sys_attachment table\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { default: '' },\n\t\t/**\n\t\t * Content type of file attached\n\t\t * @type {string}\n\t\t */\n\t\tcontentType: { default: '' },\n\t\t/**\n\t\t * Flag to schedule attachment for cleanup.\n\t\t * If true, the uploaded attachment will be orphaned and cleaned up by the system unless an external actor marks it as not to be removed.\n\t\t * This is mainly used when intermediary attachments can be uploaded when a user edits the value without saving it in the persistence layer.\n\t\t * In the case of the record page in the workspace, while saving the value to the persistence layer, the form will remove the cleanup entry if the field value changes otherwise won't interfere with the process.\n\t\t * @type {boolean}\n\t\t */\n\t\tscheduleForCleanup: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Virus scan state of attachment\n\t\t * @type {string}\n\t\t */\n\t\tvirusState: { default: '' },\n\t\t/**\n\t\t * List of file extensions that can be attached\n\t\t * @type {string}\n\t\t */\n\t\textensions: { default: '' },\n\t\t/**\n\t\t * File Content of file attachment\n\t\t * @type {object}\n\t\t */\n\t\tfileContent: {},\n\t\t/**\n\t\t * Maximum size limit an attachment can support\n\t\t * @type {string}\n\t\t */\n\t\tmaxAttachmentSize: { default: '' },\n\t\t/**\n\t\t * File attachment sub-type\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'file',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['file', 'user-image']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\t...attachmentActions,\n\n\tdispatches: {\n\t\t/**\n\t\t * Dispatches when attachment records gets created in sys_attachment table.\n\t\t * @type {{ value: string,displayValue: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_FILE_ATTACHMENT#VALUE_CHANGED': {}\n\t},\n\tstyles,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t},\n\t\ttooltipBehavior,\n\t\ttruncationBehavior\n\t]\n});\n\nexport default COMPONENT_NAME;\n","export const SN_RECORD_CHOICE = {\n\tFOCUS_SET: 'SN_RECORD_CHOICE#FOCUS_SET'\n};\n\nexport const NOW_DROPDOWN_CUSTOM_TARGET = {\n\tSELECTED_ITEMS_SET: 'NOW_DROPDOWN_CUSTOM_TARGET#SELECTED_ITEMS_SET',\n\tOPENED_SET: 'NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET'\n};\n\nexport const NOW_DROPDOWN_LIST = {\n\tITEM_CLICKED: 'NOW_DROPDOWN_LIST#ITEM_CLICKED'\n};\n","import { CALLBACK_AND_DISPATCH, isAttrFalse } from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tNOW_DROPDOWN_CUSTOM_TARGET,\n\tNOW_DROPDOWN_LIST,\n\tSN_RECORD_CHOICE\n} from './constants';\n\nconst focusTrigger = host => {\n\tconst trigger = host.shadowRoot.querySelector('.sn-control-field');\n\tif (trigger) trigger.focus();\n};\n\nconst dispatchOnValueChange = ({ onValueChange, dispatchPayload, dispatch }) =>\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onValueChange,\n\t\tisValueChanged: true,\n\t\tdispatchPayload\n\t});\n\nexport const actionHandlers = {\n\t[actionTypes.COMPONENT_DOM_TREE_READY]: ({ host, properties }) => {\n\t\tconst { autofocus, readonly } = properties;\n\t\tif (autofocus && isAttrFalse(readonly)) focusTrigger(host);\n\t},\n\t[NOW_DROPDOWN_CUSTOM_TARGET.SELECTED_ITEMS_SET]: ({\n\t\taction,\n\t\tproperties,\n\t\tdispatch\n\t}) => {\n\t\tconst { label: displayValue, id: value } = action.payload.items[0];\n\t\tconst { onValueChange } = properties;\n\t\tconst dispatchPayload = { value, displayValue };\n\t\tdispatchOnValueChange({ onValueChange, dispatchPayload, dispatch });\n\t\taction.stopPropagation();\n\t},\n\t[NOW_DROPDOWN_CUSTOM_TARGET.OPENED_SET]: ({ action, updateState }) => {\n\t\tconst { value } = action.payload;\n\t\tupdateState({\n\t\t\tisDropdownOpen: value\n\t\t});\n\t\taction.stopPropagation();\n\t},\n\t[NOW_DROPDOWN_CUSTOM_TARGET.ITEM_CLICKED]: {\n\t\tstopPropagation: true\n\t},\n\t[NOW_DROPDOWN_LIST.ITEM_CLICKED]: {\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_CHOICE.FOCUS_SET]: ({ action, updateState }) => {\n\t\tconst { value } = action.payload;\n\t\tupdateState({\n\t\t\tisFocused: value\n\t\t});\n\t\taction.stopPropagation();\n\t}\n};\n","import { isFunction } from \"lodash\";\nimport { SN_RECORD_CHOICE } from \"./constants\";\n\nexport default [\n  {\n    events: ['click'],\n    effect: ({\n      action: {\n        payload: {\n          event\n        }\n      },\n      properties: { onClick }\n    }) => {\n      if (isFunction(onClick)) {\n        onClick(event);\n      }\n    }\n  },\n  {\n    events: ['blur'],\n    effect: ({\n      action: {\n        payload: {\n          event\n        }\n      },\n      properties: { onBlur },\n      dispatch\n    }) => {\n      dispatch(SN_RECORD_CHOICE.FOCUS_SET, { value: false });\n      if (isFunction(onBlur)) {\n        onBlur(event);\n      }\n    }\n  },\n  {\n    events: ['focus'],\n    effect: ({\n      action: {\n        payload: {\n          event\n        }\n      },\n      properties: { onFocus },\n      dispatch\n    }) => {\n      dispatch(SN_RECORD_CHOICE.FOCUS_SET, { value: true });\n      if (isFunction(onFocus)) {\n        onFocus(event);\n      }\n    }\n  },\n  {\n    events: ['keydown'],\n    effect: ({\n      action: {\n        payload: {\n          event\n        }\n      },\n      properties: { onKeyDown }\n    }) => {\n      if (isFunction(onKeyDown)) {\n        onKeyDown(event);\n      }\n    }\n  },\n  {\n    events: ['keyup'],\n    effect: ({\n      action: {\n        payload: {\n          event\n        }\n      },\n      properties: { onKeyUp }\n    }) => {\n      if (isFunction(onKeyUp)) {\n        onKeyUp(event);\n      }\n    }\n  },\n]","import makeClass from 'classnames';\nimport { omit, compact } from 'lodash';\n\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport '@servicenow/now-icon';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-input';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\n\n// Function imports\nimport {\n\tgetFieldDisplayValue,\n\taccessibilityAttributes,\n\tisEditable,\n\tisAttrTrue,\n\tcreateWithValueChangeCallbackBehavior,\n\twrapHelperContent,\n\ttransformDescriptionAndMessages,\n\tSeismicComponentFieldPropDefaults,\n\tSeismicComponentProps,\n\tSeismicControlledFieldProps,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tgetAriaLabelFromConfig\n} from '@devsnc/sn-controls-common';\n\n// Style imports\nimport style from './choice.scss';\nimport { actionHandlers } from './actionHandlers';\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\nimport eventHandlers from './eventHandlers';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nconst getAccessibilityAttributes = (state, displayValue) => {\n\tconst { configAria, ariaLabel, label } = state.properties;\n\tconst { isDropdownOpen } = state;\n\tconst propAriaLabel = configAria?.['aria-label'] || ariaLabel || label;\n\n\t//screen reader to announce the label along with the selected value if exists\n\tconst propAriaLabelWithSelectedChoice = compact([\n\t\tpropAriaLabel,\n\t\t!isDropdownOpen ? displayValue : ''\n\t]).join(' ');\n\n\tconst accessibilityAttrs = accessibilityAttributes({\n\t\t// Need an explicit `aria-label` for NVDA/JAWS :( But\n\t\t// consumer can override ariaLabel value.\n\t\t...state.properties,\n\t\tconfigAria: {\n\t\t\t...configAria,\n\t\t\t'aria-label': propAriaLabelWithSelectedChoice\n\t\t}\n\t});\n\n\tconst ariaAttributes = {\n\t\t'aria-haspopup': 'listbox',\n\t\t'aria-expanded': Boolean(isDropdownOpen).toString()\n\t};\n\treturn { ...accessibilityAttrs, ...ariaAttributes };\n};\n\nconst transformChoices = (choices = []) => {\n\treturn choices.map(choice => ({\n\t\tid: choice.value + '',\n\t\tlabel: choice.displayValue + ''\n\t}));\n};\n\n/**\n * Allows users to select from a predefined list of options.\n */\nconst view = state => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\trequired,\n\t\t\tautofocus,\n\t\t\thelperContent,\n\t\t\tlabel,\n\t\t\tmessages,\n\t\t\tdescription,\n\t\t\treadonly,\n\t\t\tdisabled,\n\t\t\thasHover,\n\t\t\tvalue,\n\t\t\tclassName,\n\t\t\tchoices,\n\t\t\tconfigAria\n\t\t},\n\t\tisFocused,\n\t\tisDropdownOpen\n\t} = state;\n\n\tconst renderReadOnly = displayValue => {\n\t\treturn (\n\t\t\t<now-input\n\t\t\t\trequired={required}\n\t\t\t\tlabel={label}\n\t\t\t\tplaceholder=\"—\"\n\t\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tvalue={displayValue}\n\t\t\t\treadonly\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderTrigger = displayValue => {\n\t\tconst { placeholder } = properties;\n\n\t\tif (!isEditable(properties)) return;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tslot=\"trigger\"\n\t\t\t\trole=\"button\"\n\t\t\t\ttabIndex={0}\n\t\t\t\tclassName={makeClass('sn-control-field', {\n\t\t\t\t\t'is-hover': hasHover,\n\t\t\t\t\t'read-only': isAttrTrue(readonly),\n\t\t\t\t\t'is-disabled': isAttrTrue(disabled)\n\t\t\t\t})}\n\t\t\t\t{...getAccessibilityAttributes(state, displayValue)}\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclassName={makeClass(\n\t\t\t\t\t\t'sn-select',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-placeholder': !value && placeholder\n\t\t\t\t\t\t},\n\t\t\t\t\t\tclassName\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"sn-select-value\" data-truncation>\n\t\t\t\t\t\t{displayValue}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<div className=\"sn-select-icon\">\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tclassName=\"context-select\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t);\n\t};\n\n\tconst placeholder = isAttrTrue(readonly) ? '—' : properties.placeholder;\n\tconst displayValue = getFieldDisplayValue(\n\t\tproperties.value,\n\t\tproperties.displayValue,\n\t\tplaceholder,\n\t\tchoices\n\t);\n\treturn (\n\t\t<Fragment>\n\t\t\t{!isEditable(properties) ? (\n\t\t\t\trenderReadOnly(displayValue)\n\t\t\t) : (\n\t\t\t\t<ControlWrapper {...properties} hasFocus={isFocused || isDropdownOpen}>\n\t\t\t\t\t<now-dropdown-custom-target\n\t\t\t\t\t\titems={transformChoices(choices)}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\tpanel: {\n\t\t\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Select value for {0}')\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\t{renderTrigger(displayValue)}\n\t\t\t\t\t<\/now-dropdown-custom-target>\n\t\t\t\t<\/ControlWrapper>\n\t\t\t)}\n\t\t<\/Fragment>\n\t);\n};\n\ncreateCustomElement('sn-record-choice', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tactionHandlers: actionHandlers,\n\teventHandlers,\n\tinitialState: {\n\t\tisFocused: false,\n\t\tisDropdownOpen: false\n\t},\n\ttransformState,\n\tproperties: {\n\t\t...omit(SeismicComponentFieldPropDefaults, ['aria-labelledby']),\n\t\t...omit(SeismicComponentProps),\n\t\t...omit(SeismicControlledFieldProps),\n\t\t/**\n\t\t * Current model value for the component\n\t\t */\n\t\tvalue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * User-friendly representation of the current value. When not provided, the\n\t\t * component will fallback to the displayValue for the selected choice.\n\t\t */\n\t\tdisplayValue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Array of choice objects\n\t\t */\n\t\tchoices: { schema: { type: 'array' } },\n\n\t\t/**\n\t\t * Classname to apply to the sn-record-control span\n\t\t */\n\t\tclassName: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} }\n\t},\n\tbehaviors: [\n\t\twithValueChangeCallbackBehavior,\n\t\ttruncationBehavior,\n\t\ttooltipBehavior\n\t]\n});\n\nexport default view;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"tinymce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__.__esModule\n\t\t\t\t\tif (cjsModule && 'tinymce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"].tinymce;\n\t\t\t\t\t} else if ('tinymce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__.tinymce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_tinymce_29_4_0_index_jsdbx_be98e310__[\"default\"].tinymce;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\nexport const POST_ATTACHMENT_QUERY = 'POST_ATTACHMENT_QUERY';\nexport const POST_DATA_START = 'POST_DATA_START';\nexport const POST_DATA_PROGRESS = 'POST_DATA_PROGRESS';\nexport const POST_DATA_SUCCESS = 'POST_DATA_SUCCESS';\nexport const POST_DATA_FAILURE = 'POST_DATA_FAILURE';\n\nexport const GET_ATTACHMENTS_DATA = 'GET_ATTACHMENTS_DATA';\nexport const GET_ATTACHMENTS_SUCCESS = 'GET_ATTACHMENTS_SUCCESS';\nexport const GET_ATTACHMENTS_FAILURE = 'GET_ATTACHMENTS_FAILURE';\n\nexport const EDITOR_ON_CHANGE = 'TINYMCE_EDITOR#ON_CHANGE';\nexport const EDITOR_ON_KEYDOWN = 'TINYMCE_EDITOR#ON_KEYDOWN';\nexport const EDITOR_ON_FOCUS_OUT = 'TINYMCE_EDITOR#FOCUS_OUT';\nexport const EDITOR_ON_FOCUS_IN = 'TINYMCE_EDITOR#FOCUS_IN';\nexport const EDITOR_ON_BLUR = 'TINYMCE_EDITOR#ON_BLUR';\nexport const EDITOR_ON_FOCUS = 'TINYMCE_EDITOR#ON_FOCUS';\nexport const EDITOR_ON_CLICK = 'TINYMCE_EDITOR#ON_CLICK';\nexport const EDITOR_SET_CONTENT = 'TINYMCE_EDITOR#SET_CONTENT';\nexport const EDITOR_SET_FOCUS = 'TINYMCE_EDITOR#SET_FOCUS';\nexport const EDITOR_ON_RESIZE = 'TINYMCE_EDITOR#ON_RESIZE';\n\nexport const INSERT_PILL = 'INSERT_PILL';\nexport const INSERT_CONTENT = 'INSERT_CONTENT';\n\nexport const CODE_BLOCK_PATTERN = /^\\[code\\]([\\s\\S]*)\\[\\/code\\]$/;\n\n// Items not supported by workspace version of tinymce\nexport const PLUGIN_BLOCKLIST = ['wordcount'];\n\nexport const OBSOLETE_PLUGINS = [\n\t// TinyMCE plugins that were moved to core\n\t'textcolor',\n\t'colorpicker',\n\t'sn_resizer',\n\t'hr',\n\t'noneditable',\n\t'print',\n\t'paste',\n\t// SN plugins that were removed\n\t'a11y_fixes',\n\t'anchor_fix',\n\t'data_uri_sanitize',\n\t'enable_iframe_media',\n\t'instructional_text',\n\t'notificationhandler',\n\t'readonlymode',\n\t'snLink',\n\t// Plugins that were completely removed from everywhere\n\t'compat3x',\n\t'fullpage',\n\t'legacyoutput',\n\t'tabfocus',\n\t'spellchecker'\n];\n\n// Plugins required for all tinymce instances\nexport const REQUIRED_PLUGINS = [\n\t'powerpaste',\n\t'sn_popups_fix',\n\t'sn_tooltip',\n\t'sn_a11y_fix'\n].join(' ');\n\n// @see TinyMCE ResizeTypes.VERTICAL\nexport const EDITOR_VERTICAL_RESIZE_TYPE = 2;\n\n// Number of pixes surrounding the editor content\nexport const EDITOR_CONTENT_MARGIN = 16;\n// Number of pixels of margin surrounding a single line in the html editor\nexport const EDITOR_LINE_MARGIN = 13.333;\n// Number of pixels representing the default font height of the editor\nexport const EDITOR_FONT_HEIGHT = 18;\n\n// Size of editor toolbar in pixels\nexport const EDITOR_TOOLBAR_HEIGHT = 33;\n// Size of the editor statusbar in pixels\nexport const EDITOR_STATUSBAR_HEIGHT = 25;\n\nexport const SETUP_TINYMCE_EDITOR = 'SETUP_TINYMCE_EDITOR';\nexport const REMOVE_TINYMCE_EDITOR = 'REMOVE_TINYMCE_EDITOR';\n\nexport const DEFAULT_FONT_FAMILY = 'Verdana';\nconst DEFAULT_FONT = `${DEFAULT_FONT_FAMILY.toLowerCase()},sans-serif`;\nexport const DEFAULT_FONT_SIZE = '10pt';\nexport const DEFAULT_FONT_FORMAT = `${DEFAULT_FONT_FAMILY}=${DEFAULT_FONT}`;\n\n// Some defaults used by tinymce v4 compatibility layer\n// TODO: remove when compatibility layer gets removed\nexport const DEFAULT_MIN_HEIGHT = 100;\n// refer - ./html.scss for min-height: 160px for the same element, which is a fallback of default height passed to tinymce init function.\nexport const DEFAULT_HEIGHT = 160;\nexport const DEFAULT_MAX_HEIGHT = 2000;\n\nexport const VALID_LINK_TARGETS = ['', '_self', '_blank', '_top'];\n\nexport const MAXIMUM_DOM_PARSING_DEPTH = 10;\nexport const TEXT_AREA_ID_PREFIX = 'html-';\nexport const DEFAULT_ARIA_LABEL = t('Rich Text Area. Press ALT-0 for help.');\nexport const TOOLBAR_INSTRUCTION_TEXT = t(\n\t'In the editor, press Alt+F10 to focus on the toolbar. Mac press Option+F10 to focus on the toolbar. Press escape to return to the editor.'\n);\nexport const FIT_TO_PARENT_OPTION = 'fit_to_parent';\n","import {\n\trenderTranslatedText,\n\trenderTranslateIcon\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-record-control';\nimport { tinymce } from 'sn-tinymce';\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\nimport { SETUP_TINYMCE_EDITOR } from './constants';\nimport makeClass from 'classnames';\n\nexport const removeTinymceEditor = ({ elm, updateState }) => {\n\tconst node = elm.querySelector('textarea');\n\t// For some reason tinymce saves settings to global tinymce and then replaces it for each new instance\n\t// Lets set it to null to prevent leaks when the targets match and we are removing this instance\n\tif (node === tinymce?.settings?.target) {\n\t\ttinymce.settings = {};\n\t}\n\n\ttry {\n\t\ttinymce?.get(node.id).remove();\n\t} catch (e) {\n\t\t// For firefox, we need to wrap this in a try block otherwise it MIGHT throw NS_ERROR_UNEXPECTED\n\t\t// We dont need to handle it since its gone\n\t}\n\tupdateState({\n\t\tpath: 'editor',\n\t\tvalue: null,\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n\n/**\n * Allows users to input rich text data via [TinyMCE](http://tiny.cloud).\n */\nconst TinyMCEEditor = ({ updateState, dispatch, ...properties }) => (\n\t<div\n\t\tclassName={makeClass('sn-editor', {\n\t\t\t'fit-to-parent': properties.fitToParent\n\t\t})}\n\t\thook-insert={({ elm }) => {\n\t\t\tdispatch(SETUP_TINYMCE_EDITOR, { elm });\n\t\t}}\n\t\thook-destroy={({ elm }) => {\n\t\t\tconst { editor } = properties;\n\t\t\tremoveTinymceEditor({ elm, editor, updateState });\n\t\t}}\n\t>\n\t\t<ControlWrapper {...properties}>\n\t\t\t<div\n\t\t\t\tclassName={makeClass({\n\t\t\t\t\t'fit-to-parent': properties.fitToParent\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={makeClass({\n\t\t\t\t\t\t'fit-to-parent': properties.fitToParent\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{properties.isTranslationEnabled ? (\n\t\t\t\t\t\t<div className=\"sn-record-dts-translate-icon-html\">\n\t\t\t\t\t\t\t{renderTranslateIcon(properties, dispatch, updateState, true)}\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t[]\n\t\t\t\t\t)}\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={properties.componentId}\n\t\t\t\t\t\tplaceholder={properties.placeholder}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{properties.isTranslationEnabled\n\t\t\t\t\t? renderTranslatedText(properties.translatedText, true)\n\t\t\t\t\t: []}\n\t\t\t<\/div>\n\t\t<\/ControlWrapper>\n\t<\/div>\n);\n\nexport default TinyMCEEditor;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_theme_29_5_1_index_jsdbx_c2947bcc__[\"default\"][\"default\"];\n\t\t\t\t} });","/**\n * Temporary solution while we wait for NDS to provide a theme for code-mirror\n * - This code analyze the rgb values of some theme css vars to determine if is a \"dark\" theme, and place the result\n * \tas part of the tinymce configuration so code-mirror can use it to apply the closest OOB dark theme that\n * \tresembles the polaris dark theme. Once a real theme that receives css variables is available, we will remove this\n * \tcode and is calls in TinyMCEThemeBehavior.js.\n * \t@see https://code.devsnc.com/gist/david-leonard/df63e53ca7915a88c981fb576ca01cca\n */\n\nconst isDark = theme => {\n\tconst BACKGROUND_PRIMARY = '--now-color_background--primary';\n\tconst NEUTRAL_0 = '--now-color--neutral-0';\n\tconst NEUTRAL_20 = '--now-color--neutral-20';\n\tif (!theme[BACKGROUND_PRIMARY]) {\n\t\treturn false;\n\t}\n\t/*\n\t * Shortcut that requires no math and we'll hit 99% of the time:\n\t * - If background primary is the same as neutral 0, we're in light theme\n\t * - If background primary is the same as neutral 20, we're in dark theme\n\t * Why? Because that's the defaults hardwired into UXF if the customer\n\t * does not override in their theme.\n\t * See: https://code.devsnc.com/dev/glide/blob/972a9e2576084a03b3d8490e0a65584dddd628d8/glide-ux-builder/src/main/java/com/glide/uxframework/UxFrameworkColorGenerator.java#L111\n\t */\n\tif (theme[NEUTRAL_0] && theme[BACKGROUND_PRIMARY] === theme[NEUTRAL_0]) {\n\t\treturn false;\n\t}\n\tif (theme[NEUTRAL_20] && theme[BACKGROUND_PRIMARY] === theme[NEUTRAL_20]) {\n\t\treturn false;\n\t}\n\t/*\n\t * If we reach this point the customer probably redefined background primary\n\t * to be someting else. So we'll use the WCAG 2.0 calculation [1] to calculate\n\t * the luminance of background primary. The luminance value is between 0-1\n\t * where `0` is darkest black (#000) and `1` is lightest white (#fff).\n\t *\n\t * [1] https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef)\n\t */\n\tconst [r, g, b] = theme[BACKGROUND_PRIMARY].rgbValues.split(',');\n\tconst calcLum = c => {\n\t\tc /= 255;\n\t\treturn c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\n\t};\n\tconst lum =\n\t\tcalcLum(parseInt(r)) * 0.2126 +\n\t\tcalcLum(parseInt(g)) * 0.7152 +\n\t\tcalcLum(parseInt(b)) * 0.0722;\n\tif (lum > 0.5) {\n\t\t/* Background primary is bright white or very light gray */\n\t\treturn false;\n\t}\n\t/* Background primary is dark black or dark gray */\n\treturn true;\n};\n\n// Apply result of theme analysis to tinyMce settings\nexport const applyDarkSettings = (props, editor) => {\n\tconst _do_not_use_is_dark_theme = '_do_not_use_is_dark_theme';\n\tif (editor.options.isRegistered(_do_not_use_is_dark_theme)) {\n\t\teditor.options.set(\n\t\t\t_do_not_use_is_dark_theme,\n\t\t\tisDark(props.behaviors.theme)\n\t\t);\n\t}\n};\n","import { get, isString, omit } from 'lodash';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport { applyDarkSettings } from './DetectDarkness';\n\n// Changes to any of the following will trigger the themeBehavior\nconst THEME_SASS_VARS = [\n\t'--now-color--neutral-0',\n\t'--now-color--neutral-18',\n\t'--now-color--secondary-1',\n\t'--now-color--secondary-2',\n\t'--now-color--secondary-3',\n\t'--now-color_alert--info-1',\n\t'--now-color_background--primary',\n\t'--now-color_text--primary',\n\t'--now-color_background--tertiary',\n\t'--sn-tinymce_content-background',\n\t'--sn-tinymce_content-mention-background',\n\t'--sn-tinymce_content-mention-text',\n\t'--sn-tinymce_content-text',\n\n\t//These are to support variants\n\t'--now-color_grouped--gray-5',\n\t'--now-color_grouped--yellow-0',\n\t'--now-color_grouped--magenta-0',\n\t'--now-color_grouped--pink-0',\n\t'--now-color_grouped--orange-0',\n\t'--now-color_grouped--brown-0',\n\t'--now-color_grouped--green-0',\n\t'--now-color_grouped--green-yellow-0',\n\t'--now-color_grouped--blue-0',\n\t'--now-color_alert--critical-0',\n\t'--now-color_alert--high-0',\n\t'--now-color_alert--warning-0',\n\t'--now-color_alert--moderate-0',\n\t'--now-color_alert--low-0',\n\t'--now-color_alert--positive-0',\n\t'--now-color_grouped--gray-0',\n\t'--now-color_grouped--purple-0',\n\t'--now-color_grouped--teal-0',\n\t'--now-color_alert--info-0'\n];\n\nexport const variantMappings = {\n\t'color-property-mappings': {\n\t\t['--now-input--blue--background-color']: '--now-color_grouped--blue-0',\n\t\t['--now-input--yellow--background-color']: '--now-color_grouped--yellow-0',\n\t\t['--now-input--green--background-color']: '--now-color_grouped--green-0',\n\t\t['--now-input--critical--background-color']:\n\t\t\t'--now-color_alert--critical-0',\n\t\t['--now-input--high--background-color']: '--now-color_alert--high-0',\n\t\t['--now-input--warning--background-color']: '--now-color_alert--warning-0',\n\t\t['--now-input--moderate--background-color']:\n\t\t\t'--now-color_alert--moderate-0',\n\t\t['--now-input--low--background-color']: '--now-color_alert--low-0',\n\t\t['--now-input--positive--background-color']:\n\t\t\t'--now-color_alert--positive-0',\n\t\t['--now-input--info--background-color']: '--now-color_alert--info-0',\n\t\t['--now-input--brown--background-color']: '--now-color_grouped--brown-0',\n\t\t['--now-input--gray--background-color']: '--now-color_grouped--gray-0',\n\t\t['--now-input--green-yellow--background-color']:\n\t\t\t'--now-color_grouped--green-yellow-0',\n\t\t['--now-input--magenta--background-color']:\n\t\t\t'--now-color_grouped--magenta-0',\n\t\t['--now-input--orange--background-color']: '--now-color_grouped--orange-0',\n\t\t['--now-input--pink--background-color']: '--now-color_grouped--pink-0',\n\t\t['--now-input--purple--background-color']: '--now-color_grouped--purple-0',\n\t\t['--now-input--teal--background-color']: '--now-color_grouped--teal-0'\n\t},\n\tneutral: {\n\t\t['--sn-tinymce_content-background']: '--now-color_background--primary',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_background--tertiary',\n\t\t['--sn-tinymce_content-text']: '--now-color--text-primary',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_text--primary'\n\t},\n\tyellow: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--yellow-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_background--tertiary',\n\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_text--primary'\n\t},\n\tmagenta: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--magenta-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_grouped--magenta-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tpink: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--pink-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--pink-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\torange: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--orange-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_grouped--orange-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tbrown: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--brown-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--brown-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tgreen: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--green-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--green-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\t'green-yellow': {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--green-yellow-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_grouped--green-yellow-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tblue: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--blue-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--blue-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t}\n};\n\nexport const NDSCssVarMap = (variant = 'neutral') => ({\n\t// color-property-mappings are used for form field 'color' property background variants\n\t...variantMappings['color-property-mappings'],\n\t...(variantMappings[variant] || variantMappings['neutral'])\n});\n\nconst getThemeVars = props => get(props, 'behaviors.theme', []);\n\nconst reduceToCssVars = (keys, themeVars, transform) => {\n\tlet css = '';\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst customVar = keys[i];\n\t\tconst value = transform\n\t\t\t? themeVars[transform(customVar)]\n\t\t\t: themeVars[customVar];\n\t\tif (value) {\n\t\t\tconst px = value.px ? value.px + 'px' : '';\n\t\t\tconst rgb = value.rgbValues || '';\n\t\t\tconst str = isString(value) ? value : '';\n\t\t\tcss += `${customVar}: ${rgb || px || str};\\n`;\n\t\t}\n\t}\n\treturn css;\n};\n\nconst getMappedThemeDefinitions = props => {\n\tconst { variant = 'neutral' } = props;\n\tconst cssVars = NDSCssVarMap(variant);\n\tconst mapToNDSTransformer = v => cssVars[v] || v;\n\treturn reduceToCssVars(\n\t\tObject.keys(cssVars),\n\t\tgetThemeVars(props),\n\t\tmapToNDSTransformer\n\t);\n};\n\nexport const applyTheme = (props, editor) => {\n\tif (!editor) return;\n\n\tconst themeVars = getThemeVars(props);\n\tconst doc = editor.getDoc();\n\tconst nodeFound = doc.querySelector('#theme-vars');\n\tconst node = nodeFound || doc.createElement('style');\n\tnode.innerHTML = `\n\t\t:root {\n\t\t\t${reduceToCssVars(Object.keys(themeVars), themeVars || {})}\n\t\t\t${getMappedThemeDefinitions(props)}\n\t\t}\n\t`;\n\n\tapplyDarkSettings(props, editor);\n\n\tif (!nodeFound) {\n\t\tnode.setAttribute('id', 'theme-vars');\n\t\tdoc.head.prepend(node);\n\t}\n};\n\nconst NDS_INTERNAL_THEME_UPDATE_ACTION = 'PRIVATE#THEME_CHANGED';\nexport const tinyMceThemeBehavior = {\n\tname: 'tinymce_theme_behavior',\n\tactionHandlers: {\n\t\t[NDS_INTERNAL_THEME_UPDATE_ACTION]: {\n\t\t\teffect: ({ state, properties }) => {\n\t\t\t\tapplyTheme(\n\t\t\t\t\t{ ...properties, ...omit(state, ['properties', 'editor']) },\n\t\t\t\t\tstate.editor\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n\nconst TINYMCE_THEME_BEHAVIORS = [\n\t{ behavior: themeBehavior, options: { items: THEME_SASS_VARS } },\n\t{ behavior: tinyMceThemeBehavior }\n];\n\nexport default TINYMCE_THEME_BEHAVIORS;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"handleShortcutKeyDown\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'handleShortcutKeyDown' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].handleShortcutKeyDown;\n\t\t\t\t\t} else if ('handleShortcutKeyDown' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.handleShortcutKeyDown || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].handleShortcutKeyDown;\n\t\t\t\t} });","/*\n * NOTE: AUTO GENERATED FILE. DO NOT MANUALLY MODIFY.\n *\n * This file is autogenerated to ensure that the asset path always reflects the correct version of\n * sn-tinymce.\n */\nexport const getAssetPath = () =>\n\t`/uxasset/externals/sn-tinymce/29.4.0/js/tinymce`;\n\nconst REPLACE_REGEX = /(\\?.*)?$/i;\nconst replace = url =>\n\turl !== '/scripts/now_assist_context_menu_tinymce_plugin.js'\n\t\t? url.replace(REPLACE_REGEX, '.jsdbx$1')\n\t\t: url;\n\nexport const overrideAddCacheSuffix = tinymce => {\n\tif (!tinymce.__sn_addCacheSuffixOverwritten) {\n\t\tconst oldAddCacheSuffix = tinymce.util.Tools._addCacheSuffix;\n\t\ttinymce.util.Tools._addCacheSuffix = url =>\n\t\t\toldAddCacheSuffix.call(tinymce.util.Tools, replace(url));\n\n\t\ttinymce.__sn_addCacheSuffixOverwritten = true;\n\t}\n\n\treturn tinymce;\n};\n","export const OBSOLETE_PLUGINS = [\n\t'fullpage',\n\t'legacyoutput',\n\t'tabfocus',\n\t'spellchecker',\n\t'hr',\n\t'noneditable',\n\t'paste',\n\t'print',\n\t'colorpicker',\n\t'contextmenu',\n\t'textcolor'\n];\n\nexport const RENAMED_PLUGINS = {\n\timagetools: 'editimage',\n\ttoc: 'tableofcontents'\n};\n\nexport const RENAMED_TOOLBAR_ITEMS = {\n\tformatselect: 'blocks',\n\tfontselect: 'fontfamily',\n\tfontsizeselect: 'fontsize',\n\tstyleselect: 'styles',\n\ttoc: 'tableofcontents',\n\ttocupdate: 'tableofcontentsupdate'\n};\n","import {\n\tOBSOLETE_PLUGINS,\n\tRENAMED_PLUGINS,\n\tRENAMED_TOOLBAR_ITEMS\n} from './constants';\n\nconst join = function (items) {\n\treturn items.join(' ');\n};\n\nconst uniq = function (items) {\n\tconst uMap = {};\n\treturn items.filter(function (item) {\n\t\tif (uMap[item]) return false;\n\t\treturn (uMap[item] = 1);\n\t});\n};\n\nconst rename = function (renameMap) {\n\treturn function (items) {\n\t\treturn items.map(function (item) {\n\t\t\treturn renameMap[item] || item;\n\t\t});\n\t};\n};\n\nconst filterOut = function (remove) {\n\treturn function (items) {\n\t\treturn items.filter(function (item) {\n\t\t\treturn remove.indexOf(item) < 0;\n\t\t});\n\t};\n};\n\nconst split = function (pattern) {\n\treturn function (str) {\n\t\treturn !str ? [] : str.split(pattern);\n\t};\n};\n\nconst splitPlugins = split(/[, ]+/);\nconst splitToolbars = split(/[,| ]+/);\n\nconst renameToolbar = function (replacementMap) {\n\treturn function (toolbar) {\n\t\t// Create a regular expression pattern for all keys in the replacement map\n\t\tconst pattern = new RegExp(\n\t\t\t'\\\\b(' + Object.keys(replacementMap).join('|') + ')\\\\b',\n\t\t\t'g'\n\t\t);\n\n\t\t// Replace occurrences based on the map\n\t\treturn toolbar?.replace(pattern, function (match) {\n\t\t\treturn replacementMap[match] || match; // Use the replacement from the map or the original match if not found\n\t\t});\n\t};\n};\n\nconst flow = function () {\n\tconst funcs = [].slice.call(arguments);\n\treturn function (value) {\n\t\tif (funcs.length > 0) {\n\t\t\tvalue = funcs.reduce(function (val, func) {\n\t\t\t\treturn func(val);\n\t\t\t}, value);\n\t\t}\n\t\treturn value;\n\t};\n};\n\nconst transformPlugins = plugins => {\n\tif (!plugins) return plugins;\n\n\treturn flow(\n\t\tsplitPlugins,\n\t\tfilterOut(OBSOLETE_PLUGINS),\n\t\trename(RENAMED_PLUGINS),\n\t\tuniq,\n\t\tjoin\n\t)(plugins);\n};\n\nconst transformValidButtons = validButtons => {\n\tif (!validButtons) return validButtons;\n\n\treturn flow(\n\t\trenameToolbar(RENAMED_TOOLBAR_ITEMS),\n\t\tsplitToolbars,\n\t\tuniq,\n\t\tjoin\n\t)(validButtons);\n};\n\nconst transformToolbar = toolbar => {\n\tif (!toolbar) return toolbar;\n\n\tconst renameToolbarGroup = flow(renameToolbar(RENAMED_TOOLBAR_ITEMS));\n\n\tif (Array.isArray(toolbar)) {\n\t\treturn toolbar.map(toolbarItem => renameToolbarGroup(toolbarItem));\n\t}\n\n\treturn renameToolbarGroup(toolbar);\n};\n\nexport { transformPlugins, transformValidButtons, transformToolbar };\n","import {\n\ttransformPlugins,\n\ttransformToolbar,\n\ttransformValidButtons\n} from './utils';\n\nconst TinyMCEV5CompatibleMode = properties => {\n\tconst { validPlugins, plugins, validButtons, toolbar } = properties;\n\n\tconst modifiedValidPluigins = transformPlugins(validPlugins);\n\tconst modifiedPlugins = transformPlugins(plugins);\n\tconst modifiedValidButtons = transformValidButtons(validButtons);\n\tconst modifiedToolbar = transformToolbar(toolbar);\n\n\tconst compatibleProps = {\n\t\t...properties,\n\t\tvalidPlugins: modifiedValidPluigins,\n\t\tplugins: modifiedPlugins,\n\t\tvalidButtons: modifiedValidButtons,\n\t\ttoolbar: modifiedToolbar\n\t};\n\n\treturn compatibleProps;\n};\n\nexport { TinyMCEV5CompatibleMode };\n","import { isEmpty, isNil, isAttrTrue } from '@devsnc/sn-controls-common';\n\nconst PLUGIN_NAME = 'now_assist_context_menu';\nconst PLUGIN_PATH_URL = '/scripts/now_assist_context_menu_tinymce_plugin.js';\n\nconst isValid = ({\n\tname,\n\treferringTable,\n\treferringRecordId,\n\tnowAssistConfig\n}) => {\n\treturn (\n\t\t!isNil(name) &&\n\t\t!isNil(referringRecordId) &&\n\t\t!isNil(referringTable) &&\n\t\t!isEmpty(nowAssistConfig) &&\n\t\tisAttrTrue(nowAssistConfig?.contextMenu?.active)\n\t);\n};\n\nconst getFieldNowAssistContextMenuSettings = props => {\n\tif (!isValid(props)) return {};\n\n\tconst {\n\t\tname,\n\t\treferringTable,\n\t\treferringRecordId,\n\t\tnowAssistConfig: { contextMenu = {} } = {}\n\t} = props;\n\n\treturn {\n\t\tnow_assist_context_menu: {\n\t\t\tfieldMeta: {\n\t\t\t\tfield: name,\n\t\t\t\tsys_id: referringRecordId,\n\t\t\t\ttable: referringTable\n\t\t\t},\n\t\t\tskillConfig: contextMenu,\n\t\t\tassetLoader: () => import('@devsnc/sn-wwna')\n\t\t}\n\t};\n};\nconst getFieldNowAssistContextMenuExternalPlugin = props => {\n\tif (!isValid(props)) return {};\n\n\treturn {\n\t\t[PLUGIN_NAME]: PLUGIN_PATH_URL\n\t};\n};\n\nconst isPredictiveTextEnabled = (nowAssistConfig = {}) => {\n\tconst { predictiveText } = nowAssistConfig;\n\n\treturn (\n\t\t!isEmpty(nowAssistConfig) &&\n\t\t!isNil(predictiveText) &&\n\t\tisAttrTrue(predictiveText.isPredictiveTextEnabled)\n\t);\n};\n\nconst getPredictiveTextSettings = ({ nowAssistConfig = {}, nowId } = {}) => {\n\tif (!isPredictiveTextEnabled(nowAssistConfig)) {\n\t\treturn { predictive_text: {} };\n\t}\n\n\tconst { predictiveText } = nowAssistConfig;\n\treturn {\n\t\tpredictive_text: {\n\t\t\t...predictiveText,\n\t\t\tnowId\n\t\t}\n\t};\n};\n\nexport {\n\tgetFieldNowAssistContextMenuSettings,\n\tgetFieldNowAssistContextMenuExternalPlugin,\n\tisPredictiveTextEnabled,\n\tgetPredictiveTextSettings\n};\n","import {\n\tcompact,\n\tdifference,\n\tflatten,\n\tflow,\n\thas,\n\tidentity,\n\tisArray,\n\treduce\n} from 'lodash';\n\nimport { tinymce } from 'sn-tinymce';\nimport { t } from 'sn-translate';\nimport { overrideAddCacheSuffix, getAssetPath } from './importTiny';\n\nimport {\n\tgetScrollParent,\n\tisAttrTrue,\n\tgetProperty,\n\tpick,\n\ttransformMessages,\n\tgetFormFieldMessagesContent,\n\tisAttrFalse\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tCODE_BLOCK_PATTERN,\n\tDEFAULT_FONT_FAMILY,\n\tEDITOR_FONT_HEIGHT,\n\tEDITOR_LINE_MARGIN,\n\tEDITOR_SET_CONTENT,\n\tEDITOR_STATUSBAR_HEIGHT,\n\tEDITOR_TOOLBAR_HEIGHT,\n\tPLUGIN_BLOCKLIST,\n\tOBSOLETE_PLUGINS,\n\tPOST_DATA_FAILURE,\n\tREQUIRED_PLUGINS,\n\tTOOLBAR_BLOCKLIST,\n\tVALID_LINK_TARGETS,\n\tDEFAULT_HEIGHT,\n\tMAXIMUM_DOM_PARSING_DEPTH,\n\tTEXT_AREA_ID_PREFIX,\n\tDEFAULT_ARIA_LABEL,\n\tTOOLBAR_INSTRUCTION_TEXT,\n\tDEFAULT_FONT_SIZE,\n\tPOST_ATTACHMENT_QUERY\n} from './constants';\nimport { applyTheme } from './TinyMCEThemeBehaviors';\nimport { TinyMCEV5CompatibleMode } from './TinyMCEV5CompatibleMode';\nimport {\n\tgetFieldNowAssistContextMenuExternalPlugin,\n\tgetFieldNowAssistContextMenuSettings,\n\tgetPredictiveTextSettings\n} from './NowAssistContextMenu';\n\n/**\n * Splits the given string by all whitespace\n * @param {string} str - The string to split\n * @returns {string[]} array of strings\n */\nexport const split = str => (isArray(str) ? str : str?.split(/\\s+/));\n\nexport const checkIfPluginIsActive = (pluginName, editor) =>\n\thas(editor, ['plugins', pluginName]);\n\nexport const isParagraphOrList = element =>\n\telement.tagName === 'P' || element.tagName === 'LI';\n\nexport const isUlOrOl = element =>\n\telement.tagName === 'UL' || element.tagName === 'OL';\n\n// If element has image or table or codesnippet\nexport const elementHasNonTextContent = element =>\n\telement.querySelector('img') !== null ||\n\telement.querySelector('table') !== null ||\n\telement.querySelector('pre') !== null;\n\nexport const getSmallestLineHeight = node => {\n\tlet lineHeights = [];\n\tfunction iterateAllValidNodes(node, cnt) {\n\t\tif (cnt >= MAXIMUM_DOM_PARSING_DEPTH) return;\n\t\tif (node.style.fontSize === '') {\n\t\t\t[...node.children].forEach(childNode => {\n\t\t\t\titerateAllValidNodes(childNode, cnt + 1);\n\t\t\t});\n\t\t} else if (node.innerText !== '')\n\t\t\tlineHeights.push(parseFloat(getComputedStyle(node).lineHeight));\n\t}\n\n\t[...node.children].forEach(node => {\n\t\titerateAllValidNodes(node, 0);\n\t});\n\n\treturn lineHeights.length\n\t\t? Math.min(...lineHeights)\n\t\t: parseFloat(getComputedStyle(node).lineHeight);\n};\n\nexport const getElementDetails = (element, autoresizeLineLimit, count) => {\n\tconst elementHeight = element.getBoundingClientRect().height;\n\tconst computedStyle = getComputedStyle(element);\n\n\tconst padding =\n\t\tparseFloat(computedStyle.getPropertyValue('padding-block-start')) +\n\t\tparseFloat(computedStyle.getPropertyValue('padding-block-end'));\n\n\tif (!isParagraphOrList(element) || elementHasNonTextContent(element)) {\n\t\treturn {\n\t\t\theight: elementHeight + padding,\n\t\t\tlineCount: 1\n\t\t};\n\t}\n\tconst smallestLineHeight = getSmallestLineHeight(element);\n\tconst numOfLines = smallestLineHeight\n\t\t? Math.round(elementHeight / smallestLineHeight)\n\t\t: 1;\n\treturn {\n\t\theight:\n\t\t\tcount + numOfLines > autoresizeLineLimit\n\t\t\t\t? smallestLineHeight * (autoresizeLineLimit - count)\n\t\t\t\t: elementHeight,\n\t\tlineCount: numOfLines\n\t};\n};\n\nexport const getEditorDynamicInfo = (\n\tcurrentLineCount,\n\telement,\n\tautoresizeLineLimit\n) => {\n\tlet contentHeight = 0;\n\n\tif (isUlOrOl(element)) {\n\t\tconst listElements = Array.from(element.children);\n\t\tfor (const listElement of listElements) {\n\t\t\tif (currentLineCount >= autoresizeLineLimit) break;\n\t\t\tconst elementDetails = getElementDetails(\n\t\t\t\tlistElement,\n\t\t\t\tautoresizeLineLimit,\n\t\t\t\tcurrentLineCount\n\t\t\t);\n\t\t\tcontentHeight += elementDetails.height;\n\t\t\tcurrentLineCount += elementDetails.lineCount;\n\t\t}\n\t\tcontentHeight += parseFloat(getComputedStyle(element).margin);\n\t} else {\n\t\tconst elementDetails = getElementDetails(\n\t\t\telement,\n\t\t\tautoresizeLineLimit,\n\t\t\tcurrentLineCount\n\t\t);\n\t\tcontentHeight +=\n\t\t\telementDetails.height +\n\t\t\tparseFloat(\n\t\t\t\tgetComputedStyle(element).getPropertyValue('margin-block-end')\n\t\t\t);\n\t\tcurrentLineCount += elementDetails.lineCount;\n\t}\n\treturn { height: contentHeight, lineCount: currentLineCount };\n};\n\nexport const applyAutoresizeLineLimit = (\n\tminLineCount,\n\tautoresizeLineLimit,\n\teditor,\n\thost\n) => {\n\t// applying autoresizeLineLimit property only when autoresize plugin is enabled and also its value is greater than minLineCount or 2\n\tif (\n\t\t!(\n\t\t\t(autoresizeLineLimit || 0) > (minLineCount || 2) &&\n\t\t\tcheckIfPluginIsActive('autoresize', editor) &&\n\t\t\teditor.container &&\n\t\t\teditor.getBody() &&\n\t\t\t!host.fitToParent\n\t\t)\n\t)\n\t\treturn;\n\n\tif (checkIfPluginIsActive('sn_autoresize_overrides', editor))\n\t\teditor.execCommand('sn_disconnect_observer', false, true);\n\n\tconst editorHeaderEle = editor.container.querySelector('.tox-editor-header');\n\tconst toolBarHeight = editorHeaderEle.getBoundingClientRect().height;\n\n\tconst statusBarEle = editor.container.querySelector('.tox-statusbar');\n\tconst statusBarHeight = statusBarEle\n\t\t? statusBarEle.getBoundingClientRect().height\n\t\t: 0;\n\n\tconst computedStyle = getComputedStyle(editor.getBody());\n\tconst contentMarginTop = parseFloat(\n\t\tcomputedStyle.getPropertyValue('margin-block-start')\n\t);\n\tconst contentMarginBottom = parseFloat(\n\t\tcomputedStyle.getPropertyValue('margin-block-end')\n\t);\n\n\tif (editor.getContent() === '') {\n\t\tconst calculatedMaxHeight =\n\t\t\ttoolBarHeight +\n\t\t\t((autoresizeLineLimit - 1) * (EDITOR_LINE_MARGIN + EDITOR_FONT_HEIGHT) +\n\t\t\t\tEDITOR_FONT_HEIGHT) +\n\t\t\tstatusBarHeight +\n\t\t\tcontentMarginTop +\n\t\t\tcontentMarginBottom;\n\t\teditor?.options?.set('max_height', calculatedMaxHeight);\n\t} else {\n\t\tlet calculatedHeight =\n\t\t\ttoolBarHeight + statusBarHeight + contentMarginTop + contentMarginBottom;\n\t\tlet lineCount = 0;\n\t\t// Converting collection to Array, becoz HTML collections are live,\n\t\t// which means that if you modify the DOM while iterating over the\n\t\t// collection, the collection may be updated and cause unexpected results.\n\t\t// To avoid this, you can convert the HTML collection to an array before iterating over it.\n\t\tconst childElements = Array.from(editor.getBody().children);\n\n\t\tfor (const lineElement of childElements) {\n\t\t\tif (lineCount >= autoresizeLineLimit) break;\n\t\t\tconst editorInfo = getEditorDynamicInfo(\n\t\t\t\tlineCount,\n\t\t\t\tlineElement,\n\t\t\t\tautoresizeLineLimit\n\t\t\t);\n\t\t\tcalculatedHeight += editorInfo.height;\n\t\t\tconst currentMaxHeight =\n\t\t\t\tcalculatedHeight -\n\t\t\t\tparseFloat(\n\t\t\t\t\tgetComputedStyle(lineElement).getPropertyValue('margin-block-end')\n\t\t\t\t);\n\t\t\tlineCount = editorInfo.lineCount;\n\n\t\t\t// Setting maxHeight only if its greater than default height\n\t\t\t// Adding arbitary value of 6 px inorder to avoid scroll bar before autoresizeLineLimit value\n\t\t\tif (currentMaxHeight > DEFAULT_HEIGHT) {\n\t\t\t\teditor?.options?.set('max_height', currentMaxHeight + 6);\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Normalizes the dimensions taking into consideration height limits, resizability, and minLineCount.\n *\n * @param {Object} config - The config/settings that will be passed into tinymce\n * @param {number} config.minLineCount - The minimum number of lines that should be visible in the editor\n * @param {number} config.minHeight - The minimum height of the editor\n * @param {number} config.height - The height of the editor\n * @param {number} config.maxHeight - The maximum height of the editor\n * @param {boolean} config.resizable - Whether the editor can be resized\n * @returns {Object} normalized object containing height, min_height, and max_height\n */\nexport const getDimensionInfo = ({\n\tminLineCount,\n\tminHeight,\n\tmaxHeight,\n\theight,\n\tresizable,\n\tfitToParent\n}) => {\n\tconst dim = {\n\t\tmin_height: minHeight,\n\t\theight: height > minHeight ? height : minHeight,\n\t\tmax_height: maxHeight > height ? maxHeight : height\n\t};\n\n\t// Min line count sets the height of the editable area, which has priority over the height\n\t// passed in as a prop\n\tif (minLineCount != null) {\n\t\tlet linesBasedHeight =\n\t\t\tminLineCount * (EDITOR_LINE_MARGIN + EDITOR_FONT_HEIGHT) +\n\t\t\tEDITOR_LINE_MARGIN +\n\t\t\tEDITOR_TOOLBAR_HEIGHT +\n\t\t\t(resizable ? EDITOR_STATUSBAR_HEIGHT : 0);\n\t\tdim.height = linesBasedHeight;\n\n\t\t// Lines based height will have no effect unless min height is also defined\n\t\tif (minHeight == null) dim.min_height = linesBasedHeight;\n\t}\n\n\tif (fitToParent === true) {\n\t\tdim.height = 'inherit';\n\t}\n\treturn dim;\n};\n\n/**\n * Gets the mapped language given a supported SN language code/id.\n * @param {string} language - The language to map from\n * @returns {string} the mapped language\n */\nexport const getMappedLanguage = language => {\n\t// We only map languages we support and only those whose ID has no exact mapping to tinymce\n\t// ex. we support Spanish (code: es) which matches exactly to tinymce Spanish (code: es)\n\t// hence no mapping is necessary\n\tconst mapping = {\n\t\tpb: 'pt_BR',\n\t\tzh: 'zh_CN',\n\t\tfr: 'fr_FR',\n\t\tfq: 'fr_FR',\n\t\the: 'he_IL',\n\t\thu: 'hu_HU',\n\t\tko: 'ko_KR',\n\t\tnb: 'nb_NO',\n\t\tpt: 'pt_PT',\n\t\tsv: 'sv_SE',\n\t\tth: 'th_TH',\n\t\tzt: 'zh_TW'\n\t};\n\n\t// If undefined we return the passed in language. In this case, either there was an exact match to\n\t// tinymce's supported languages, or tinymce will just use english. Which is fine now.\n\treturn mapping[language] || language;\n};\n\n/**\n *\n * @param {number} config.autoresizeBottomMargin - size of the padding at the bottom of the editor’s body when autoresize plugin is enabled\n * @returns {Object}\n */\nexport const getAutoresizeOptions = ({ autoresizeBottomMargin }) =>\n\ttypeof autoresizeBottomMargin === 'number'\n\t\t? { autoresize_bottom_margin: autoresizeBottomMargin }\n\t\t: {};\n\n/**\n * Inserts content at a given position and scrolls to that position.\n *\n * @param {TinyMCE.Editor} editor - The editor that will be used to insert content to\n * @returns {Function} - Function that takes an object a payload an id as the second arg. The payload is the content\n * that should be inserted and the id of an element that should be scrolled into view\n */\nexport const insertContentAndScroll =\n\teditor =>\n\t(_, { payload, id }) => {\n\t\tlet doc = editor.getDoc().documentElement;\n\t\tconst iframeBounds = editor\n\t\t\t.getContentAreaContainer()\n\t\t\t.getBoundingClientRect();\n\n\t\teditor.insertContent(payload);\n\n\t\t// Technically, it should be enough to call insertContent, this should be enough\n\t\t// to scroll everything into view. However, the following is necessary to try\n\t\t// and center and/or ensure that the content is mostly visible and not just partially\n\t\t// visible\n\t\tconst content = editor.getDoc().querySelector(`#${id}`);\n\n\t\tif (content) {\n\t\t\t// Gross math to figure out if the content is visible or not,\n\t\t\t// we look at at the top of the iframe doc and the height of\n\t\t\t// the iframe as well as the top and the height of the content\n\t\t\t// to determine if scrolling the iframe is needed\n\t\t\tconst iframeShouldScrollDown =\n\t\t\t\tdoc.scrollTop + iframeBounds.height <\n\t\t\t\tcontent.offsetTop + content.offsetHeight;\n\t\t\tconst iframeShouldScrollUp = doc.scrollTop > content.offsetTop;\n\n\t\t\tif (iframeShouldScrollDown || iframeShouldScrollUp)\n\t\t\t\tdoc.scrollTop = content.offsetTop - 20;\n\n\t\t\t// Gross math to figure out if the editor is visible or not\n\t\t\t// if no scrollable parent is found and it defaults to the body,\n\t\t\t// we look at the height of the viewport for comparison with the top of the\n\t\t\t// iframe. If there is a scrollable parent, we check to see when the top\n\t\t\t// of the editor passes the top of the scrollable element\n\t\t\tconst scrollParent = getScrollParent(editor.getContainer());\n\t\t\tconst minPortionToView = iframeBounds.top + content.offsetHeight / 2;\n\t\t\tconst pageShouldScrollDown = !scrollParent\n\t\t\t\t? document.documentElement.clientHeight < minPortionToView\n\t\t\t\t: scrollParent.getBoundingClientRect().bottom < minPortionToView;\n\n\t\t\tconst pageShouldScrollUp = !scrollParent\n\t\t\t\t? minPortionToView < 0\n\t\t\t\t: minPortionToView < scrollParent.getBoundingClientRect().top;\n\n\t\t\tif (pageShouldScrollDown || pageShouldScrollUp) {\n\t\t\t\tdoc.scrollIntoView({ behavior: 'smooth', block: 'center' });\n\t\t\t}\n\t\t}\n\t};\n\n/**\n * Collapses the toolbar into a string if theres only a single non-falsy element in the toolbar array.\n * Otherwise just removes all falsy values\n * @param {string[]} toolbar - Array of strings where each string is a different toolbar group\n * @returns {string[]|string} a collpased or filtered toolbar\n */\nexport const collapseToolbar = toolbar =>\n\tisArray(toolbar)\n\t\t? flow(flatten, compact, tb =>\n\t\t\t\treduce(tb, (prev, curr, idx) => (!idx ? curr : [...prev, curr]))\n\t\t\t)([toolbar])\n\t\t: toolbar;\n\n/**\n * Filters the items by keeping only items in the validItems list.\n * @param {string} items - The items separated by whitespace\n * @param {string[]} validItems - The items that are valid\n * @returns {string} - The filtered product as a string\n */\nconst filterItems = (items, validItems) =>\n\tcompact(split(items).filter(i => validItems.includes(i))).join(' ');\n\n/**\n * Given a list of items, this method returns a list with only valid items.\n * @param {string[]|string} items - List of strings or single string separated spaces. This will be filtered down to only allow valid items\n * @param {string[]} validItems - List of valid items\n * @returns {string[]|string} - The filtered items after applying valid items as a filter\n */\nexport const getItems = (items, validItems = []) => {\n\tif (!validItems.length || !items) return items;\n\n\treturn isArray(items)\n\t\t? items.map(line => filterItems(line, split(validItems)))\n\t\t: filterItems(items, split(validItems));\n};\n\n/**\n * Given a string, it parses out the clode_block_pattern if it exists and returns the value\n * @param {string} value - The value to strip the code blocks from\n */\nexport const stripCodeBlocks = value => {\n\tconst result = CODE_BLOCK_PATTERN.exec(value);\n\n\treturn result ? result[1] : value;\n};\n\n/**\n * Used to swap divs with spans when inside anchors\n * @param {string} htmlString - Whatever we were going to set editor content with\n * @returns {string} - The modified html is returned as a string\n */\n\nexport function swapDivsWithSpans(htmlString) {\n\t// Create a temporary div element\n\tlet tempDiv = document.createElement('div');\n\ttempDiv.innerHTML = htmlString;\n\n\t// Find all <div> tags inside <a> tags\n\tconst divsInsideAnchors = tempDiv.querySelectorAll('a div');\n\tdivsInsideAnchors.forEach(divTag => {\n\t\t// Create a new <span> element\n\t\tconst spanTag = document.createElement('span');\n\n\t\twhile (divTag.firstChild) {\n\t\t\tconst childNode = divTag.firstChild;\n\t\t\tdivTag.removeChild(childNode);\n\t\t\tspanTag.appendChild(childNode);\n\t\t}\n\n\t\t// Preserve the class name from the original <div> tag\n\t\tif (divTag.className) {\n\t\t\tspanTag.className = divTag.className;\n\t\t}\n\n\t\tdivTag.replaceWith(spanTag);\n\t});\n\n\t// Return the modified HTML as a string\n\treturn tempDiv.innerHTML;\n}\n\nexport const getTextCommandsConfig = textCommandsConfig => {\n\tif (textCommandsConfig?.enableTextCommands) {\n\t\treturn {\n\t\t\t...textCommandsConfig,\n\t\t\tsysMessages: {\n\t\t\t\ttriggerMessages: {\n\t\t\t\t\tloading: t('Loading...'),\n\t\t\t\t\tnoMatches: t('No text commands found.')\n\t\t\t\t},\n\t\t\t\tactionMessages: {\n\t\t\t\t\tloading: t('Loading...'),\n\t\t\t\t\tnoMatches: t('No results found')\n\t\t\t\t},\n\t\t\t\ttextCommandListHeader: t('Keyboard Shortcuts')\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {};\n};\n\n/**\n * Parses the font families from the given string.\n * @param {string} fonts - Font family formats string (e.g., \"Arial=Arial,Helvetica,sans-serif;\")\n * @returns {string[]} Array of valid font-family strings.\n */\nexport const parseFontFamilies = fonts => {\n\ttry {\n\t\tif (typeof fonts !== 'string' || !fonts.trim()) return [];\n\n\t\treturn fonts\n\t\t\t.split(';')\n\t\t\t.map(entry => entry.split('=').map(part => part.trim()))\n\t\t\t.filter(([, value]) => value) // Ensure valid entries\n\t\t\t.map(([, value]) => value); // Extract only the font-family list\n\t} catch (error) {\n\t\tconsole.error('Error parsing font families:', error);\n\t\treturn [];\n\t}\n};\n\n/**\n * Sets the editor styles\n * @param {tinymce.Editor} editor - The editor instance.\n * @param {string} style - Additional styles.\n * @param {string} fonts - Font family formats (e.g., \"Arial=Arial,Helvetica,sans-serif;\")\n */\nexport const setEditorStyle = (editor, style, fonts) => {\n\tconst tinymceIframe = editor.getDoc();\n\tif (!tinymceIframe) return;\n\n\tlet customStyleTag = tinymceIframe.querySelector(\n\t\t'head style[id=custom_styles]'\n\t);\n\tif (!customStyleTag) {\n\t\tcustomStyleTag = document.createElement('style');\n\t\tcustomStyleTag.setAttribute('type', 'text/css');\n\t\tcustomStyleTag.setAttribute('id', 'custom_styles');\n\t\ttinymceIframe.querySelector('head')?.appendChild(customStyleTag);\n\t}\n\n\tconst fontList = parseFontFamilies(fonts);\n\tconst fontFamily =\n\t\tfontList.find(f => f.toLowerCase().startsWith('verdana')) ||\n\t\tfontList[0] ||\n\t\tDEFAULT_FONT_FAMILY;\n\n\tconst DEFAULT_BODY_STYLES = `body { font-family: ${fontFamily}; font-size: ${DEFAULT_FONT_SIZE}; }`;\n\tcustomStyleTag.innerText = `${DEFAULT_BODY_STYLES} ${style}`;\n};\n\nconst getAttachmentExtensions = () =>\n\tgetProperty('glide.attachment.extensions', '');\n\nexport const isValidFileExtension = (fileName, extensions) => {\n\tif (!extensions) return true;\n\tconst allowedExtensions = extensions\n\t\t.split(',')\n\t\t.map(extension => extension?.trim().toLowerCase())\n\t\t.filter(identity)\n\t\t.join('|');\n\tvar fileTypes = new RegExp(`\\\\.(${allowedExtensions})$`, 'i');\n\treturn fileTypes.test(fileName);\n};\n/**s\n * Check: https://www.tiny.cloud/docs/plugins/opensource/link/#exampleofacustomasynchronouscallbackfunction\n */\nexport const getAttachmentListHandler = (\n\treferringRecordId,\n\treferringTable,\n\tdispatch,\n\tbaseURL\n) => {\n\tif (!referringRecordId || !referringTable) return undefined;\n\n\tconst mapAttachments = attachment => {\n\t\treturn {\n\t\t\ttitle: attachment.file_name,\n\t\t\tvalue: `${baseURL}/sys_attachment.do?sys_id=${attachment.sys_id}`\n\t\t};\n\t};\n\treturn function (success) {\n\t\tconst editor = tinymce.activeEditor;\n\t\teditor?.setProgressState(true);\n\t\tdispatch(\n\t\t\t'GET_ATTACHMENTS_DATA',\n\t\t\t{ table_name: referringTable, table_sys_id: referringRecordId },\n\t\t\t{\n\t\t\t\tcallback: function (attachments = []) {\n\t\t\t\t\teditor?.setProgressState(false);\n\t\t\t\t\tsuccess(attachments.length ? attachments.map(mapAttachments) : null);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t};\n};\n\n/**\n * Creates an image upload handler to be used by tinymce\n * @param {Function} dispatch - Dispatcher function used to dispatch actions\n * @param {Function} getNameCb - Generates file name using blobInfo\n * @returns upload_hander\n */\nexport const uploadHandler =\n\t(referringRecordId, referringTable, getNameCb, dispatch) => blobInfo =>\n\t\tnew Promise((success, failure) => {\n\t\t\tif (\n\t\t\t\t!isValidFileExtension(blobInfo.filename(), getAttachmentExtensions())\n\t\t\t) {\n\t\t\t\tdispatch(\n\t\t\t\t\tPOST_DATA_FAILURE,\n\t\t\t\t\t{ message: t('Unsupported file type') },\n\t\t\t\t\t{ failure }\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst selectedFile = blobInfo.blob();\n\n\t\t\tconst data = new FormData();\n\n\t\t\tconst tableName = referringTable;\n\t\t\tdata.append('table_name', tableName);\n\t\t\tdata.append('table_sys_id', referringRecordId);\n\t\t\tdata.append('file', selectedFile, getNameCb(blobInfo));\n\n\t\t\tdispatch(POST_ATTACHMENT_QUERY, { data }, { success, failure });\n\t\t});\n\n/**\n * Creates a file picker handler for tinymce.\n */\nexport const filePickerHandler = (cb, _, { filetype }) => {\n\tconst input = document.createElement('input');\n\tinput.setAttribute('type', 'file');\n\tinput.setAttribute('accept', filetype === 'media' ? 'video/*' : 'image/*');\n\n\t/*\n\t * Note: In modern browsers input[type=\"file\"] is functional without\n\t * even adding it to the DOM, but that might not be the case in some older\n\t * or quirky browsers like IE, so you [we] might want to add it to the DOM\n\t * just in case, and visually hide it. And do not forget do remove it\n\t * once you do not need it anymore.\n\t */\n\tinput.onchange = function () {\n\t\tconst file = input.files[0];\n\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => {\n\t\t\t/*\n\t\t\t * Note: Now we need to register the blob in TinyMCEs image blob\n\t\t\t * registry. In the next release [of tinymce] this part hopefully won't be\n\t\t\t * necessary, as we are looking to handle it internally.\n\t\t\t */\n\t\t\tconst id = 'blobid' + new Date().getTime();\n\t\t\tconst blobCache = tinymce.activeEditor.editorUpload.blobCache;\n\t\t\tlet base64 = URL.createObjectURL(file);\n\t\t\tif (!file.type.startsWith('video/')) {\n\t\t\t\tbase64 = reader.result.split(',')[1];\n\t\t\t}\n\t\t\tconst blobInfo = blobCache.create(id, file, base64, undefined, file.name);\n\t\t\tblobCache.add(blobInfo);\n\n\t\t\t/* call the callback and populate the Title field with the file name */\n\t\t\tcb(blobInfo.blobUri(), { title: file.name });\n\t\t};\n\t\treader.readAsDataURL(file);\n\t};\n\n\tinput.click();\n};\n\n/**\n * Returns an object containing the a11y checker options passed through the config script.\n * @param {object} config - The config object we get from evaluating the script passed\n * in as the value of the dictionary attribute: \"editor.config\"\n */\nconst getA11yCheckerOptions = config => {\n\tif (!config) return {};\n\tconst a11ycheckerOptions = [\n\t\t'a11ychecker_level',\n\t\t'a11ychecker_html_version',\n\t\t'a11y_advanced_options',\n\t\t'a11ychecker_allow_decorative_images',\n\t\t'a11ychecker_ignored_rules'\n\t];\n\treturn pick(config, a11ycheckerOptions);\n};\n\n/**\n * Creates a callback function that attaches event handlers to a given editor.\n * @param {object} props - The html-editor component properties\n * @param {object} host - The host element of the editor component\n */\nexport const onSetup = (props, host) => editor => {\n\tconst { contentStyle, label, readonly, dispatch, fonts } = props;\n\n\teditor.on('init', () => {\n\t\teditor.getDoc().documentElement.lang = props.language;\n\t\t// HTML-lang uses BCP-47 and technically some of the codes passed by platform are incorrect...\n\t\tconst language = editor.options.get('language');\n\t\tif (language) {\n\t\t\teditor.iframeElement.lang = language.replace('_', '-');\n\t\t}\n\n\t\tapplyTheme(props, editor);\n\t\tdispatch(EDITOR_SET_CONTENT, {\n\t\t\teditor,\n\t\t\tresetUndoStack: true,\n\t\t\tinitialContent: true\n\t\t});\n\n\t\t/*\n\t\t * Can't use our normal `aria-labelledby` and `aria-describedby`\n\t\t * (from common/util/field#accessibilityAttributes) because those\n\t\t * elements exist outside of the TinyMCE iframe. Setting the label\n\t\t * string to `aria-label` directly because it's better than nothing.\n\t\t */\n\t\tif (label) {\n\t\t\teditor.iframeElement.setAttribute('aria-label', label);\n\t\t}\n\n\t\tconst body = editor.getBody();\n\t\tbody.setAttribute('role', 'textbox');\n\n\t\tif (props.required) body.setAttribute('aria-required', 'true');\n\n\t\teditor.mode.set(isAttrTrue(readonly) ? 'readonly' : 'design');\n\t\tsetEditorStyle(editor, contentStyle, fonts);\n\n\t\t/**\n\t\t * There is a possibility that the editor is not available when the fitToParent property is changed,\n\t\t * as the editor might still be initialising when the property change happens. Due to this we need\n\t\t * to ensure the associated class is added here to the container to ensure the editor is styled correctly\n\t\t * when editor is initialised. Simply adding it here will still not handle the usecase given we would have\n\t\t * passed stale props (from the time before property had changed) in the callback to the instance and the\n\t\t * editor view will not be updated based on the latest props. Hence, we have to drill down the host element\n\t\t * till here to get the latest props value and apply the class accordingly.\n\t\t */\n\t\thost?.fitToParent && editor.editorContainer.classList.add('fit-to-parent');\n\n\t\tif (host && host.showToolbar === false) {\n\t\t\tconst header =\n\t\t\t\teditor?.editorContainer.querySelector('.tox-editor-header');\n\t\t\theader?.classList.add('sn_hide_toolbar');\n\t\t}\n\n\t\tif (host && host.bare === true) {\n\t\t\teditor?.editorContainer?.classList.add('sn-mce-noborder');\n\t\t}\n\n\t\teditor.addCommand(\n\t\t\t'snInsertContentAndScroll',\n\t\t\tinsertContentAndScroll(editor)\n\t\t);\n\t});\n\n\teditor.on('SetContent change', () => {\n\t\tapplyAutoresizeLineLimit(\n\t\t\tprops.minLineCount,\n\t\t\tprops.autoresizeLineLimit,\n\t\t\teditor,\n\t\t\thost\n\t\t);\n\t});\n};\n\n/**\n * Sets up the tinymce instance\n * @param {HTMLTextAreaElement} node - The html textarea target/node\n * @param {Object} props - The HtmlEditor seismic props\n * @returns {Promise<tinymce.Editor>} Promise - resolves to the tinymce editor instance\n */\nexport const setupTinymce = (node, properties) => {\n\tconst props = TinyMCEV5CompatibleMode(properties);\n\tconst {\n\t\tautoresize,\n\t\tbrowserSpellcheck,\n\t\tdispatch,\n\t\thost,\n\t\tenableMentions,\n\t\ttextCommandsConfig,\n\t\tisJournal,\n\t\tplugins,\n\t\tpowerPasteHtmlImport,\n\t\tpowerPasteWordImport,\n\t\tpowerPasteFilterInlineElements,\n\t\treadonly,\n\t\treferringRecordId,\n\t\treferringTable,\n\t\tresizable,\n\t\ttoolbar,\n\t\tconvertBlobsToBase64,\n\t\tbaseURL,\n\t\tpreloadMentions,\n\t\tmentions,\n\t\tforcedRootBlock,\n\t\tnewlineBehavior\n\t} = props;\n\tlet { validButtons, validPlugins, defaultLinkTarget } = props;\n\tvalidButtons = difference(\n\t\tsplit(validButtons ? `${validButtons} |` : undefined),\n\t\tTOOLBAR_BLOCKLIST\n\t);\n\tvalidPlugins = difference(split(validPlugins), [\n\t\t...PLUGIN_BLOCKLIST,\n\t\t...OBSOLETE_PLUGINS\n\t]);\n\n\tconst toolbarItems =\n\t\tcollapseToolbar(getItems(toolbar, validButtons)) || false;\n\n\tconst showBarsOnFocus = isAttrTrue(\n\t\tgetProperty('glide.ui.html.editor.toolbar.on.focus', false)\n\t);\n\n\tconst { enableTextCommands } = textCommandsConfig || {};\n\tconst tinyTextCommandsConfig = getTextCommandsConfig(textCommandsConfig);\n\n\tif (VALID_LINK_TARGETS.indexOf(defaultLinkTarget) === -1)\n\t\tdefaultLinkTarget = '';\n\n\tlet pluginItems = getItems(plugins, validPlugins);\n\tpluginItems = compact([\n\t\tREQUIRED_PLUGINS,\n\t\tpluginItems,\n\t\tisAttrTrue(enableMentions) && `sn_mentions`,\n\t\tenableTextCommands && `sn_hotkeys`,\n\t\tshowBarsOnFocus && `sn_showbarsonfocus`,\n\t\tautoresize && `autoresize sn_autoresize_overrides`\n\t]).join(' ');\n\n\tconst heightSettings = getDimensionInfo(props);\n\tconst autoresizeSettings = getAutoresizeOptions(props);\n\tconst language = getMappedLanguage(props.language);\n\n\tlet config;\n\n\tconst defaultMenuItems = {\n\t\tfile: {\n\t\t\ttitle: 'File',\n\t\t\titems:\n\t\t\t\t'newdocument restoredraft | preview | export print | deleteallconversations'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Edit',\n\t\t\titems: 'undo redo | cut copy paste pastetext | selectall | searchreplace'\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'View',\n\t\t\titems:\n\t\t\t\t'code | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments'\n\t\t},\n\t\tinsert: {\n\t\t\ttitle: 'Insert',\n\t\t\titems:\n\t\t\t\t'image link media addcomment pageembed template codesample inserttable | charmap emoticons hr | pagebreak nonbreaking anchor tableofcontents | insertdatetime'\n\t\t},\n\t\tformat: {\n\t\t\ttitle: 'Format',\n\t\t\titems:\n\t\t\t\t'bold italic underline strikethrough superscript subscript codeformat | styles blocks fontfamily fontsize align lineheight | forecolor backcolor | language | removeformat'\n\t\t},\n\t\ttools: {\n\t\t\ttitle: 'Tools',\n\t\t\titems: 'spellchecker spellcheckerlanguage | a11ycheck code wordcount'\n\t\t},\n\t\ttable: {\n\t\t\ttitle: 'Table',\n\t\t\titems:\n\t\t\t\t'inserttable | cell row column | advtablesort | tableprops deletetable'\n\t\t},\n\t\thelp: { title: 'Help', items: 'help' }\n\t};\n\tconst defaultStyleFormats = [\n\t\t{\n\t\t\ttitle: 'Headings',\n\t\t\titems: [\n\t\t\t\t{ title: 'Heading 1', format: 'h1' },\n\t\t\t\t{ title: 'Heading 2', format: 'h2' },\n\t\t\t\t{ title: 'Heading 3', format: 'h3' },\n\t\t\t\t{ title: 'Heading 4', format: 'h4' },\n\t\t\t\t{ title: 'Heading 5', format: 'h5' },\n\t\t\t\t{ title: 'Heading 6', format: 'h6' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\ttitle: 'Inline',\n\t\t\titems: [\n\t\t\t\t{ title: 'Bold', format: 'bold' },\n\t\t\t\t{ title: 'Italic', format: 'italic' },\n\t\t\t\t{ title: 'Underline', format: 'underline' },\n\t\t\t\t{ title: 'Strikethrough', format: 'strikethrough' },\n\t\t\t\t{ title: 'Superscript', format: 'superscript' },\n\t\t\t\t{ title: 'Subscript', format: 'subscript' },\n\t\t\t\t{ title: 'Code', format: 'code' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\ttitle: 'Blocks',\n\t\t\titems: [\n\t\t\t\t{ title: 'Paragraph', format: 'p' },\n\t\t\t\t{ title: 'Blockquote', format: 'blockquote' },\n\t\t\t\t{ title: 'Div', format: 'div' },\n\t\t\t\t{ title: 'Pre', format: 'pre' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\ttitle: 'Align',\n\t\t\titems: [\n\t\t\t\t{ title: 'Left', format: 'alignleft' },\n\t\t\t\t{ title: 'Center', format: 'aligncenter' },\n\t\t\t\t{ title: 'Right', format: 'alignright' },\n\t\t\t\t{ title: 'Justify', format: 'alignjustify' }\n\t\t\t]\n\t\t}\n\t];\n\n\t// Remove all occurrences of the menuConfigs prop as it is deprecated and will be removed after Zurich\n\tconst configProp = props.htmlEditorConfigs || props.menuConfigs;\n\tif (configProp) {\n\t\tconfig = JSON.parse(configProp);\n\t}\n\n\tconst sn_mentions = {\n\t\tmessages: {\n\t\t\tcannotSeeRecordMsg: t('Cannot access record')\n\t\t},\n\t\tpreloadMentions: preloadMentions || [],\n\t\t...mentions\n\t};\n\n\treturn overrideAddCacheSuffix(tinymce)\n\t\t.init({\n\t\t\t...getA11yCheckerOptions(config),\n\t\t\thelp_tabs: ['shortcuts', 'keyboardnav', 'versions'],\n\t\t\tadvlist_bullet_styles: 'default,circle,disc,square',\n\t\t\tauto_focus:\n\t\t\t\tisAttrTrue(props.autofocus) && TEXT_AREA_ID_PREFIX + props.componentId,\n\t\t\tbase_url: `${baseURL}${getAssetPath()}`,\n\t\t\tbranding: false,\n\t\t\tsn_convert_blobs_to_base64: convertBlobsToBase64,\n\t\t\tbrowser_spellcheck: isAttrTrue(browserSpellcheck),\n\t\t\tconvert_urls: props.convertUrls,\n\t\t\tlink_default_target: defaultLinkTarget,\n\t\t\tdialog_type: 'modal',\n\t\t\tdirectionality: isAttrTrue(props.reversed)\n\t\t\t\t? 'rtl'\n\t\t\t\t: document.dir || 'ltr',\n\t\t\tdocument_base_url: window.location.origin,\n\t\t\telementpath: false,\n\t\t\textended_valid_elements: props.extendedValidElements,\n\t\t\tfile_picker_types: 'media',\n\t\t\tfont_family_formats: props.fonts,\n\t\t\tfont_size_formats: '8pt 10pt 11pt 12pt 14pt 18pt 24pt 36pt',\n\t\t\thighlight_on_focus: true,\n\t\t\timage_title: true,\n\t\t\timage_advtab: true,\n\t\t\tlanguage,\n\t\t\tmenubar: config?.menubar ? config.menubar : false,\n\t\t\tmenu: config?.menu ? config.menu : defaultMenuItems,\n\t\t\tpagebreak_separator:\n\t\t\t\t'<span style=\"display:none;\">Editor pagebreak<\/span>',\n\t\t\tplugins: pluginItems,\n\t\t\t/**\n\t\t\t * When modifying the external plugins URL path, please ensure that the path is added in generateTinyFiles.js\n\t\t\t * to make sure the url cache suffix override function doesn't append .jsdbx extension to the end of the plugin path\n\t\t\t * In future, we can enhance the behaviour to automatically pick up the path from source files and use it in generateTinyFiles.js\n\t\t\t */\n\t\t\texternal_plugins: {\n\t\t\t\t...getFieldNowAssistContextMenuExternalPlugin(props)\n\t\t\t},\n\t\t\tpowerpaste_html_import: powerPasteHtmlImport,\n\t\t\tpowerpaste_word_import: powerPasteWordImport,\n\t\t\tpowerpaste_clean_filtered_inline_elements: powerPasteFilterInlineElements,\n\t\t\tpromotion: false, // To disable default upgrade button in menubar\n\t\t\treadonly: isAttrTrue(readonly),\n\t\t\trelative_urls: props.relativeUrls,\n\t\t\tremove_script_host: props.removeHost,\n\t\t\tresize: isAttrFalse(autoresize) && resizable,\n\t\t\tskin: 'sn-editor-themed-modern',\n\t\t\tstatusbar: resizable,\n\t\t\tstyle_formats: config?.style_formats\n\t\t\t\t? config.style_formats\n\t\t\t\t: defaultStyleFormats,\n\t\t\tsuffix: '.min',\n\t\t\ttarget: node,\n\t\t\ttext_patterns: config?.text_patterns || false,\n\t\t\tlink_target_list: [\n\t\t\t\t{ title: t('None (Use Implicit)'), value: '' },\n\t\t\t\t{ title: t('Same frame (_self)'), value: '_self' },\n\t\t\t\t{ title: t('New window (_blank)'), value: '_blank' },\n\t\t\t\t{ title: t('Top frame (_top)'), value: '_top' }\n\t\t\t],\n\t\t\ttoolbar: toolbarItems,\n\t\t\ttoolbar_mode: 'sliding',\n\t\t\tvalid_children: '+body[style|link]',\n\t\t\tvalidate: false,\n\t\t\tiframe_aria_text: [\n\t\t\t\tprops.label,\n\t\t\t\tDEFAULT_ARIA_LABEL,\n\t\t\t\tTOOLBAR_INSTRUCTION_TEXT,\n\t\t\t\tArray.isArray(props.messages) && props.messages.length\n\t\t\t\t\t? getFormFieldMessagesContent(transformMessages(props.messages))\n\t\t\t\t\t: ''\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(' '),\n\t\t\tfile_picker_callback: filePickerHandler,\n\t\t\timages_upload_handler: isJournal\n\t\t\t\t? () => new Promise(() => {})\n\t\t\t\t: uploadHandler(\n\t\t\t\t\t\treferringRecordId,\n\t\t\t\t\t\treferringTable,\n\t\t\t\t\t\tblobInfo => {\n\t\t\t\t\t\t\tconst id = blobInfo.id();\n\t\t\t\t\t\t\tconst blobname = blobInfo.filename();\n\t\t\t\t\t\t\tconst extension = blobname.substring(blobname.lastIndexOf('.'));\n\t\t\t\t\t\t\treturn !~blobname.indexOf(id)\n\t\t\t\t\t\t\t\t? blobname\n\t\t\t\t\t\t\t\t: 'Pasted image' + extension;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tprops\n\t\t\t\t\t),\n\t\t\tsetup: onSetup(props, host),\n\t\t\tlink_list: getAttachmentListHandler(\n\t\t\t\treferringRecordId,\n\t\t\t\treferringTable,\n\t\t\t\tdispatch,\n\t\t\t\tbaseURL\n\t\t\t),\n\t\t\tfix_list_elements: true,\n\t\t\tvideo_template_callback: function (data) {\n\t\t\t\tconst poster = data.poster ? `poster=\"${data.poster}\"` : '';\n\t\t\t\tlet embedCode = `<video controls width=\"${data.width}\" height=\"${data.height}\" src=\"${data.source}\" ${poster}>`;\n\t\t\t\tembedCode += data.altsource ? `<source src=\"${data.altsource}\"/>` : '';\n\t\t\t\tembedCode += '<\/video>';\n\n\t\t\t\treturn embedCode;\n\t\t\t},\n\t\t\t// Because we are using our own video_template_callback (see directly above) to generate the embedded code, media_alt_source and media_poster makes them\n\t\t\t// behave funky (doesnt update or incorrect values) so we set them to false. We should revisit this issue when tinymce fixes the issue above.\n\t\t\tmedia_alt_source: false,\n\t\t\tmedia_poster: false,\n\t\t\t...heightSettings,\n\t\t\t...autoresizeSettings,\n\t\t\tsn_settings: {\n\t\t\t\t...getFieldNowAssistContextMenuSettings(props),\n\t\t\t\t...getPredictiveTextSettings(props),\n\t\t\t\timage: {\n\t\t\t\t\tshowLibraryTab: false\n\t\t\t\t},\n\t\t\t\tmedia: {\n\t\t\t\t\tshowLocalsTab: false,\n\t\t\t\t\tmediaUploadHandler: uploadHandler(\n\t\t\t\t\t\treferringRecordId,\n\t\t\t\t\t\treferringTable,\n\t\t\t\t\t\tblobInfo => blobInfo.filename(),\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tprops\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\ta11y: {\n\t\t\t\t\tshowTooltipTitle: true,\n\t\t\t\t\tstatusMessage: arg => t('Select the {0} element', arg)\n\t\t\t\t},\n\t\t\t\ttextCommandsConfig: tinyTextCommandsConfig,\n\t\t\t\tmentions: sn_mentions,\n\t\t\t\treadonlyBottomBorder: true,\n\t\t\t\tfit_to_parent: props.fitToParent,\n\t\t\t\tdisable_toolbar_toggle: props.showToolbar !== undefined\n\t\t\t},\n\t\t\tcontextmenu: props.contextmenu,\n\t\t\tforced_root_block: forcedRootBlock,\n\t\t\tnewline_behavior: newlineBehavior,\n\t\t\tautomatic_uploads: false\n\t\t})\n\t\t.then(([editor]) => {\n\t\t\treturn Promise.resolve(editor);\n\t\t});\n};\n","import { isEqual, isFunction, omit, toString } from 'lodash';\nimport { handleShortcutKeyDown } from '@servicenow/now-trigger-library';\nimport { tinymce } from 'sn-tinymce';\nimport {\n\tCALLBACK_AND_DISPATCH,\n\tcheckAutofocus,\n\thandleDynamicTranslationBlur,\n\tisAttrTrue,\n\ttransformMessages,\n\tgetFormFieldMessagesContent\n} from '@devsnc/sn-controls-common';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { t } from 'sn-translate';\nimport {\n\tPOST_DATA_START,\n\tPOST_DATA_PROGRESS,\n\tPOST_DATA_SUCCESS,\n\tPOST_DATA_FAILURE,\n\tGET_ATTACHMENTS_SUCCESS,\n\tGET_ATTACHMENTS_FAILURE,\n\tFIT_TO_PARENT_OPTION,\n\tEDITOR_VERTICAL_RESIZE_TYPE,\n\tEDITOR_ON_CHANGE,\n\tEDITOR_ON_BLUR,\n\tEDITOR_ON_FOCUS,\n\tEDITOR_ON_CLICK,\n\tEDITOR_ON_RESIZE,\n\tEDITOR_ON_KEYDOWN,\n\tINSERT_PILL,\n\tINSERT_CONTENT,\n\tDEFAULT_ARIA_LABEL,\n\tTOOLBAR_INSTRUCTION_TEXT\n} from './constants';\nimport {\n\tcheckIfPluginIsActive,\n\tgetDimensionInfo,\n\tsetEditorStyle,\n\tsetupTinymce,\n\tstripCodeBlocks,\n\tswapDivsWithSpans\n} from './Utils';\nimport { applyTheme } from './TinyMCEThemeBehaviors';\n\nimport { getPredictiveTextSettings } from './NowAssistContextMenu';\n\nconst dispatchEvent = function (dispatch, action, event) {\n\tdispatch(action, { eventPayload: event, editor: this });\n};\n\nconst closeNotification = (state, updateState) => {\n\tconst { editorNotificationsManager } = state;\n\tif (editorNotificationsManager) editorNotificationsManager.close();\n\n\tupdateState({ editorNotificationsManager: null });\n};\n\nexport const postAttachmentEffect = createHttpEffect(\n\t'/api/now/attachment/upload',\n\t{\n\t\tmethod: 'POST',\n\t\tbatch: false,\n\t\theaders: { 'Content-Type': 'multipart/form-data' },\n\t\tdataParam: 'data',\n\t\tstartActionType: POST_DATA_START,\n\t\tprogressActionType: POST_DATA_PROGRESS,\n\t\tsuccessActionType: POST_DATA_SUCCESS,\n\t\terrorActionType: POST_DATA_FAILURE\n\t}\n);\n\nexport const postAttachmentStartEffect = ({ state, updateState }) => {\n\tconst { editor } = state;\n\tconst editorNotificationsManager = editor.notificationManager.open({\n\t\ttext: t('Media uploading...'),\n\t\ttype: 'info',\n\t\ttimeout: -1,\n\t\tprogressBar: true\n\t});\n\n\tupdateState({ editorNotificationsManager });\n};\n\nexport const postAttachmentProgressEffect = ({ action, state }) => {\n\tconst {\n\t\tprogressEvent: { loaded, total }\n\t} = action.payload;\n\tconst { editorNotificationsManager } = state;\n\teditorNotificationsManager.progressBar.value(\n\t\tMath.round((loaded / total) * 100)\n\t);\n};\n\nexport const postAttachmentSuccessEffect = ({\n\taction,\n\tproperties,\n\tstate,\n\tupdateState\n}) => {\n\tcloseNotification(state, updateState);\n\tconst { baseURL } = properties;\n\taction.meta.success(\n\t\t`${baseURL}/sys_attachment.do?sys_id=${action.payload.result.sys_id}`\n\t);\n};\n\nexport const postAttachmentFailureEffect = ({ action, state, updateState }) => {\n\tcloseNotification(state, updateState);\n\taction.meta.failure({\n\t\tmessage: action.payload.message,\n\t\tremove: true\n\t});\n};\n\nexport const getAttachmentsEffect = createHttpEffect('/api/now/attachment', {\n\tmethod: 'GET',\n\tbatch: false,\n\theaders: { 'Content-Type': 'application/json' },\n\tqueryParams: ['table_name', 'table_sys_id'],\n\tsuccessActionType: GET_ATTACHMENTS_SUCCESS,\n\terrorActionType: GET_ATTACHMENTS_FAILURE\n});\n\nexport const getAttachmentsSuccessEffect = ({ action }) => {\n\taction.meta.callback(action.payload.result);\n};\n\nexport const getAttachmentsFailureEffect = ({ action }) => {\n\tconsole.error(action.payload.message);\n\taction.meta.callback([]);\n};\nexport const editorOnItemSelectTrackEffect = ({\n\taction: {\n\t\tpayload: { eventPayload, telemetry }\n\t},\n\tdispatch,\n\tproperties\n}) => {\n\tconst { name } = properties;\n\tconst { meta } = eventPayload;\n\n\tconst trackPayload = {\n\t\tmetaData: {\n\t\t\tname,\n\t\t\tfieldType: 'now-record-html-editor'\n\t\t},\n\t\tadditionalOptions: {\n\t\t\t...meta,\n\t\t\t...(telemetry && { telemetry })\n\t\t}\n\t};\n\tdispatch('TRACK', trackPayload);\n};\n\nexport const insertPillEffect = ({ state, action }) => {\n\tconst { editor } = state;\n\tif (!editor) return;\n\n\tconst { displayValue, tooltipValue, value } = action.payload;\n\n\tconst pillContainerStart = `<span class=\"sn-mce-pill-container\" contenteditable=\"false\">`;\n\tconst pillText = `<span class=\"sn-mce-pill-text\" data-sn-mce-tooltip='${tooltipValue}' data-sn-mce-value='${value}'>${displayValue}<\/span>`;\n\tconst pillRemoveButton = `<span class=\"sn-mce-pill-remove\" data-sn-mce-tooltip='${t('Remove')}'>&times;<\/span>`;\n\tconst pillContainerEnd = `<\/span>`;\n\n\tconst pillContent = `${pillContainerStart}${pillText}${pillRemoveButton}${pillContainerEnd}`;\n\n\teditor.insertContent(pillContent);\n};\n\nconst moveCursorToEnd = editor => {\n\teditor.selection.select(editor.getBody(), true);\n\teditor.selection.collapse(false);\n};\n\nfunction setEditorBackgroundColor(editor, newClass) {\n\tconst body = editor.getBody();\n\tconst classList = body.classList;\n\n\tif (classList.contains(newClass)) return;\n\n\tfor (const cls of classList) {\n\t\tif (cls.includes('html_editor_bg_color')) {\n\t\t\tclassList.replace(cls, newClass);\n\t\t\treturn;\n\t\t}\n\t}\n\tclassList.add(newClass);\n}\nexport const insertContentAtCursorEffect = coeffects => {\n\tconst { state, action } = coeffects;\n\tconst { editor } = state;\n\tif (!editor) return;\n\n\tconst { contentToInsert } = action.payload;\n\tif (contentToInsert) {\n\t\teditor.insertContent(contentToInsert);\n\t}\n};\n\nexport const propertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value, previousValue }\n\t},\n\tproperties,\n\tstate,\n\tupdateState,\n\tdispatch\n}) => {\n\tconst { editor } = state;\n\tconst { minHeight, maxHeight } = properties;\n\tconst stringValue = toString(value);\n\tconst isValuePropertyChanged =\n\t\tname === 'value' && stringValue !== previousValue;\n\n\t// We should always track the updated value in the component state, regardless of TinyMCE’s availability, as the component is being mounted to the DOM. This ensures that subsequent renders will display the updated or available value in the editor when editor is initialised.\n\tif (isValuePropertyChanged) {\n\t\tupdateState({\n\t\t\tvalue: stringValue\n\t\t});\n\t}\n\n\tif (!editor || !tinymce) return;\n\n\tif (name === 'variant' && value !== previousValue) {\n\t\tapplyTheme(\n\t\t\t{ ...properties, ...omit(state, ['properties', 'editor']) },\n\t\t\teditor\n\t\t);\n\t}\n\n\tif (name === 'readonly' && value !== previousValue) {\n\t\teditor.mode.set(isAttrTrue(value) ? 'readonly' : 'design');\n\t}\n\n\tif (isValuePropertyChanged) {\n\t\tconst isDifferentThanStateValue = stringValue !== state.value;\n\t\tif (isDifferentThanStateValue) {\n\t\t\tlet content = stripCodeBlocks(stringValue);\n\t\t\tif (properties.allowBlockBasedAnchors)\n\t\t\t\tcontent = swapDivsWithSpans(content);\n\n\t\t\teditor.setContent(content);\n\t\t\tif (state.hasFocus) {\n\t\t\t\tmoveCursorToEnd(editor); // move cursor to the end to match text area and other inputs behavior\n\t\t\t}\n\t\t}\n\t}\n\n\tif (name === 'contentStyle' && value !== previousValue) {\n\t\tsetEditorStyle(editor, value);\n\t}\n\n\tif (name === 'fitToParent' && value !== previousValue) {\n\t\tif (checkIfPluginIsActive('sn_autoresize_overrides', editor)) {\n\t\t\teditor.execCommand(`sn_set_${FIT_TO_PARENT_OPTION}`, false, value);\n\t\t} else {\n\t\t\teditor.container.style.height = value\n\t\t\t\t? 'inherit'\n\t\t\t\t: (properties.height || 0) + 'px';\n\t\t}\n\t\tif (value) {\n\t\t\teditor.container.classList.add('fit-to-parent');\n\n\t\t\tif (\n\t\t\t\t(properties.autoresizeLineLimit || 0) >\n\t\t\t\t\t(properties.minLineCount || 2) &&\n\t\t\t\tcheckIfPluginIsActive('autoresize', editor)\n\t\t\t) {\n\t\t\t\t// If fitToParent is enabled and autoresize is enabled, we need to\n\t\t\t\t// honor fitToParent over maxHeight set by autoresizeLineLimit logic.\n\t\t\t\teditor.container.style.maxHeight = '';\n\t\t\t\teditor.container.style.height = '';\n\t\t\t}\n\t\t} else editor.container.classList.remove('fit-to-parent');\n\t}\n\n\tif (name === 'autoresize' && value !== previousValue) {\n\t\teditor.execCommand('sn_toggle_autoresize', false, {\n\t\t\tvalue,\n\t\t\tminHeight,\n\t\t\tmaxHeight\n\t\t});\n\t}\n\n\t// Handle preloadMentions change\n\tif (name === 'preloadMentions' && !isEqual(value, previousValue)) {\n\t\tconst mentions = editor.options.get('sn_settings').mentions;\n\t\tmentions.preloadMentions = value;\n\t\teditor.options.set('sn_settings', {\n\t\t\t...editor.options.get('sn_settings'),\n\t\t\tmentions\n\t\t});\n\t}\n\n\tif (name === 'nowAssistConfig' && !isEqual(value, previousValue)) {\n\t\tconst predictiveTextSettings = getPredictiveTextSettings(properties);\n\t\teditor.options.set('sn_settings', {\n\t\t\t...editor.options.get('sn_settings'),\n\t\t\t...predictiveTextSettings\n\t\t});\n\t\teditor.dispatch('sn_predictive_text.update_settings');\n\t}\n\n\tif (name === 'messages') {\n\t\tconst ariaLabelSegments = [\n\t\t\tproperties.label,\n\t\t\tDEFAULT_ARIA_LABEL,\n\t\t\tTOOLBAR_INSTRUCTION_TEXT\n\t\t];\n\t\tif (Array.isArray(properties.messages) && properties.messages.length) {\n\t\t\tconst messagesContent = getFormFieldMessagesContent(\n\t\t\t\ttransformMessages(properties.messages)\n\t\t\t);\n\t\t\tariaLabelSegments.push(messagesContent);\n\t\t}\n\t\tconst ariaLabel = ariaLabelSegments.join(' ');\n\t\tif (editor?.iframeElement?.contentDocument?.body) {\n\t\t\teditor.iframeElement.contentDocument.body.setAttribute(\n\t\t\t\t'aria-label',\n\t\t\t\tariaLabel\n\t\t\t);\n\t\t}\n\t}\n\n\tif (name === 'showToolbar' && !isEqual(value, previousValue)) {\n\t\tconst tinymceHeader =\n\t\t\teditor.editorContainer.querySelector('.tox-editor-header');\n\t\tif (typeof value === 'boolean' && tinymceHeader) {\n\t\t\ttinymceHeader.classList.toggle('sn_hide_toolbar', value === false);\n\t\t\ttinymceHeader.classList.remove('removed', 'hidden');\n\t\t\tconst settings = editor.options.get('sn_settings');\n\t\t\tif (!settings.disable_toolbar_toggle) {\n\t\t\t\teditor.options.set('sn_settings', {\n\t\t\t\t\t...settings,\n\t\t\t\t\tdisable_toolbar_toggle: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tconst trackPayload = {\n\t\t\tmetaData: {\n\t\t\t\tname: properties.name,\n\t\t\t\tshowToolbar: value,\n\t\t\t\tfieldType: 'now-record-html-editor'\n\t\t\t}\n\t\t};\n\t\tdispatch('TRACK_TOOLBAR_TOGGLE', trackPayload);\n\t}\n\tif (properties.color) {\n\t\tsetEditorBackgroundColor(\n\t\t\teditor,\n\t\t\t`html_editor_bg_color_${properties.color}`\n\t\t);\n\t}\n};\n\nexport const setupTinymceEditorEffect = ({\n\tstate,\n\tproperties,\n\thost,\n\tupdateState,\n\tdispatch\n}) => {\n\tsetupTinymce(host.shadowRoot.querySelector('textarea'), {\n\t\t...properties,\n\t\t...omit(state, ['properties', 'editor']),\n\t\tdispatch,\n\t\thost\n\t}).then(editor => {\n\t\tif (state.editor === null) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'editor',\n\t\t\t\tvalue: editor,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\n\t\teditor.on('ResizeEditor', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_RESIZE, event);\n\t\t});\n\t\teditor.on('SetContent', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('Change', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('blur', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_BLUR, event);\n\t\t});\n\t\teditor.on('focus', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_FOCUS, event);\n\t\t});\n\t\teditor.on('keyup', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('click', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CLICK, event);\n\t\t\tif (event.target.classList.contains('sn-mce-pill-remove')) {\n\t\t\t\tevent.target.parentNode.remove();\n\t\t\t\teditor.dispatch('sn_tooltip.hide_tooltip');\n\t\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t\t}\n\t\t});\n\t\teditor.on('ExecCommand', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('keydown', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_KEYDOWN, event);\n\t\t});\n\t\teditor.on('sn_mentions.item_selected', function (event) {\n\t\t\tdispatch('TRACK_MENTION_ADDED', event);\n\t\t});\n\t\teditor.on('sn_hotkey.item_selected', function (e) {\n\t\t\tdispatch('TRACK_HOTKEY_SELECTED', e.payload);\n\t\t});\n\t\teditor.on('sn_hotkey.hotkey_set', function (e) {\n\t\t\tdispatch('TRACK_HOTKEY_SET', e.payload);\n\t\t});\n\t\teditor.on('sn_hotkey.custom_event', function (e) {\n\t\t\tconst { actionType, actionPayload, customEvent, name } = e.payload || {};\n\t\t\tif (customEvent) {\n\t\t\t\tdispatch(`${customEvent}`, { actionPayload, name });\n\t\t\t} else {\n\t\t\t\tdispatch('UI_TEXT_COMMAND#OPTION_SELECTED', {\n\t\t\t\t\tactionType,\n\t\t\t\t\tactionPayload,\n\t\t\t\t\tname\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\teditor.on('sn_mentions.add_mention', function (event) {\n\t\t\tdispatch('NOW_RECORD_HTML_EDITOR#MENTION_ADDED', event);\n\t\t});\n\t\teditor.on('sn_mentions.delete_mention', function (event) {\n\t\t\tdispatch('NOW_RECORD_HTML_EDITOR#MENTION_DELETED', event);\n\t\t});\n\t\teditor.on('sn_predictive_text.text_accepted', function (event) {\n\t\t\tdispatch('TRACK_PREDICTIVE_TEXT_ACCEPTED', event);\n\t\t});\n\t\teditor.on('sn_predictive_text.text_rejected', function (event) {\n\t\t\tdispatch('TRACK_PREDICTIVE_TEXT_REJECTED', event);\n\t\t});\n\t});\n};\n\nexport const componentRenderedEffect = ({\n\taction: {\n\t\tpayload: { previousRenderProperties }\n\t},\n\tstate: { editor, isTranslationEnabled },\n\tproperties\n}) => {\n\tif (!editor || !tinymce) return;\n\tconst oldHeightProps = getDimensionInfo(previousRenderProperties);\n\tconst newHeightProps = getDimensionInfo(properties);\n\tif (!isEqual(oldHeightProps, newHeightProps)) {\n\t\t// Updating the settings doesn't update the height, but its necessary for\n\t\t// max/min heights (which some plugins potentially use internally by grabbing the latest)\n\t\tfor (const [key, value] of Object.entries(newHeightProps)) {\n\t\t\teditor.options.set(key, value);\n\t\t}\n\n\t\t// Only resize if the height has changed\n\t\tif (oldHeightProps.height !== newHeightProps.height)\n\t\t\teditor.theme?.ui?.resizeBy(\n\t\t\t\t{\n\t\t\t\t\tleft: 0,\n\t\t\t\t\ttop: newHeightProps.height - oldHeightProps.height\n\t\t\t\t},\n\t\t\t\tEDITOR_VERTICAL_RESIZE_TYPE\n\t\t\t);\n\t}\n\n\tconst editorBody = editor.getBody();\n\tif (\n\t\tisTranslationEnabled &&\n\t\teditorBody &&\n\t\teditorBody.style.paddingRight !== '1.5rem'\n\t) {\n\t\teditorBody.style.paddingRight = '1.5rem';\n\t}\n};\n\nexport const domReadyEffect = ({ host, properties, dispatch }) => {\n\tif (!tinymce) {\n\t\tconst textarea = host.shadowRoot.querySelector('textarea');\n\t\tcheckAutofocus(properties.autofocus, textarea);\n\t}\n\n\thost.insertPill = pillInfo => dispatch(INSERT_PILL, pillInfo);\n\thost.insertContentAtCursor = content => dispatch(INSERT_CONTENT, content);\n};\n\nconst getEditorContent = (editor, properties) => {\n\tconst content = editor.getContent();\n\n\treturn properties.useCodeBlocks && content\n\t\t? `[code]${content}[/code]`\n\t\t: content;\n};\n\nconst isOnChangeEventFromFocus = event => {\n\tconst command = event?.command;\n\treturn command === 'mceFocus';\n};\n\nconst isOnChangeEventFromContentUpdate = event => {\n\treturn event?.type === 'setcontent';\n};\n\nconst normalizeHtml = (html = '') => {\n\tconst div = document.createElement('div');\n\tdiv.innerHTML = html;\n\treturn div.textContent?.replace(/\\s+/g, ' ').trim() || '';\n};\n\nexport const editorOnChangeEffect = ({\n\tproperties,\n\taction: {\n\t\tpayload: { eventPayload: event, editor }\n\t},\n\tupdateState,\n\tdispatch\n}) => {\n\tif (\n\t\tisOnChangeEventFromFocus(event) ||\n\t\tisOnChangeEventFromContentUpdate(event)\n\t) {\n\t\treturn;\n\t}\n\n\tconst { onStagedValueChange, onChange } = properties;\n\tconst value = getEditorContent(editor, properties);\n\tconst normalizedEditorValue = normalizeHtml(value || '');\n\tconst normalizedPropValue = normalizeHtml(properties.value || '');\n\t// Skip update if difference is only in HTML encoding (example: í vs &iacute;)\n\tif (normalizedEditorValue === normalizedPropValue) {\n\t\treturn;\n\t}\n\n\teditor.setDirty(true);\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onStagedValueChange,\n\t\tisValueChanged: false,\n\t\tdispatchPayload: { value }\n\t});\n\n\tupdateState({\n\t\tvalue\n\t});\n\n\tif (isFunction(onChange)) {\n\t\tonChange(event);\n\t}\n};\n\nexport const editorOnBlurEffect = ({\n\tproperties,\n\taction: {\n\t\tpayload: { eventPayload: event, editor }\n\t},\n\tupdateState,\n\tstate: { isTranslationEnabled, translatedText },\n\tdispatch\n}) => {\n\tconst { onValueChange, onBlur } = properties;\n\tconst value = getEditorContent(editor, properties);\n\tif (editor.isDirty()) {\n\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\tcallback: onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: { value }\n\t\t});\n\t\teditor.save(); //we have reported the event, so is not dirty anymore\n\t}\n\n\tupdateState({\n\t\thasFocus: false,\n\t\tvalue\n\t});\n\n\tif (isFunction(onBlur)) {\n\t\tonBlur(event);\n\t}\n\teditor.getContentAreaContainer().classList.remove('focused');\n\tisTranslationEnabled &&\n\t\thandleDynamicTranslationBlur(value, updateState, translatedText);\n};\n\nexport const editorOnKeyDownEffect = ({\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t}\n}) => {\n\thandleShortcutKeyDown(event);\n};\n\nexport const editorSetFocusEffect = ({ state: { editor } }) => {\n\teditor.focus();\n\teditor.getContainer().scrollIntoView();\n};\n\nexport const editorOnFocusEffect = ({\n\tproperties: { onFocus },\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t},\n\tupdateState\n}) => {\n\tupdateState({\n\t\thasFocus: true\n\t});\n\n\tif (isFunction(onFocus)) {\n\t\tonFocus(event);\n\t}\n};\n\nexport const editorOnClickEffect = ({\n\tproperties: { hasFocus },\n\taction: {\n\t\tpayload: { editor }\n\t}\n}) => {\n\t// this is added because when a user's first click in the tinymce\n\t// iframe body happens to be a knowledge block (or other non-editable\n\t// content), the editor never gets focus. This is an issue because\n\t// if the user clicks away from the editor, the knowledge block is still\n\t// in a selected state and the block is highlighted until user clicks somewhere\n\t// else within the iframe to focus the editor. This ensures that if a user clicks\n\t// on the knowledge block initially, the editor gets focus as expected.\n\tif (!hasFocus) {\n\t\teditor.focus();\n\t}\n\t// Browser events within iframe do not escape the iframe. Supposing a dropdown is open\n\t// on the page, and the user clicks on the editor, then the dropdown will remain open. To fix this issue,\n\t// we trigger a mousedown event on the iframeElement so that it propagates upwards and results in dropdowns closing.\n\teditor.iframeElement.ownerDocument.dispatchEvent(new Event('mousedown'));\n};\n\nexport const editorSetContentEffect = ({\n\tstate: { value },\n\taction: {\n\t\tpayload: { editor, resetUndoStack = false, initialContent = false }\n\t},\n\tproperties: { allowBlockBasedAnchors }\n}) => {\n\t// Before React to Seismic migration, html-editor and TinyMCEEditor were two React components\n\t// and had separate lifecycle and the property value change was preserved. So state of 'value' would\n\t// be set before TinyMCEEditor gets executed. While when we migrated to seismic, only html-editor\n\t// remained a seismic-component. So when we initialise TinyMCEEditor, the order is not preserved\n\t// on what would be called first. To ensure correct value of property 'value' is being passed onto\n\t// TinyMCEEditor, we are now calling this effect to make sure updated state of 'value' is passed to\n\t// the TinyMCEEditor.\n\tlet content = stripCodeBlocks(toString(value));\n\tif (allowBlockBasedAnchors) content = swapDivsWithSpans(content);\n\teditor.setContent(content);\n\t// we need to reset the tinyMCE undo manager since tinymce is already initialized with empty value\n\t// since we are calling editor.setContent in an action handler instead of editor.init\n\t// Ultimate solution is to convert TinyMCEEditor to a seismic component if we run into more timing issues in future\n\tif (resetUndoStack) editor?.undoManager.reset();\n\t// Automatic uploads is disabled during initialisation. This is to prevent uploads from data URIs present\n\t// already in the content value. Automatic uploads is enabled only after the initial content is set above.\n\tif (initialContent) editor?.options.set('automatic_uploads', true);\n};\n\nexport const editorOnResizeEffect = ({\n\tproperties: { onResize },\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t}\n}) => {\n\tif (isFunction(onResize)) {\n\t\tonResize(event);\n\t}\n};\n","import { toString, omit, isFunction, get, extend } from 'lodash';\nimport { tinymce } from 'sn-tinymce';\n\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport focusBehavior from '@servicenow/behavior-focus';\nconst { COMPONENT_DOM_READY, COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED } =\n\tactionTypes;\n\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nimport {\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tisAttrTrue,\n\ttrackBehavior,\n\tdynamicTranslationBehaviour,\n\ttranslationBehavior,\n\tisEnabledBehavior,\n\tgetAriaLabelFromConfig,\n\tgetBaseURL\n} from '@devsnc/sn-controls-common';\nimport { Input } from '@devsnc/sn-record-input';\n\nimport TinyMCEEditor from './TinyMCEEditor';\nimport TINYMCE_THEME_BEHAVIORS from './TinyMCEThemeBehaviors';\n\nimport {\n\tPOST_ATTACHMENT_QUERY,\n\tPOST_DATA_START,\n\tPOST_DATA_PROGRESS,\n\tPOST_DATA_SUCCESS,\n\tPOST_DATA_FAILURE,\n\tGET_ATTACHMENTS_DATA,\n\tGET_ATTACHMENTS_SUCCESS,\n\tGET_ATTACHMENTS_FAILURE,\n\tDEFAULT_MIN_HEIGHT,\n\tDEFAULT_HEIGHT,\n\tDEFAULT_MAX_HEIGHT,\n\tEDITOR_ON_CHANGE,\n\tEDITOR_ON_BLUR,\n\tEDITOR_ON_FOCUS,\n\tEDITOR_ON_CLICK,\n\tEDITOR_ON_RESIZE,\n\tEDITOR_SET_FOCUS,\n\tSETUP_TINYMCE_EDITOR,\n\tEDITOR_SET_CONTENT,\n\tEDITOR_ON_KEYDOWN,\n\tINSERT_PILL,\n\tINSERT_CONTENT\n} from './constants';\n\nimport {\n\tpostAttachmentEffect,\n\tpostAttachmentStartEffect,\n\tpostAttachmentProgressEffect,\n\tpostAttachmentSuccessEffect,\n\tpostAttachmentFailureEffect,\n\tgetAttachmentsEffect,\n\tgetAttachmentsSuccessEffect,\n\tgetAttachmentsFailureEffect,\n\tdomReadyEffect,\n\tpropertyChangedEffect,\n\tcomponentRenderedEffect,\n\teditorOnChangeEffect,\n\teditorOnBlurEffect,\n\teditorOnFocusEffect,\n\teditorOnClickEffect,\n\teditorOnKeyDownEffect,\n\teditorOnResizeEffect,\n\tsetupTinymceEditorEffect,\n\teditorSetContentEffect,\n\teditorSetFocusEffect,\n\tinsertPillEffect,\n\tinsertContentAtCursorEffect\n} from './effects';\n\nimport style from './html.scss';\n\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nconst onFocusEvent = (properties, updateState) => event => {\n\tupdateState({\n\t\thasFocus: true\n\t});\n\n\tif (isFunction(properties.onFocus)) {\n\t\tproperties.onFocus(event);\n\t}\n};\n\nconst onBlurEvent = (properties, updateState) => event => {\n\tupdateState({\n\t\thasFocus: false\n\t});\n\n\tif (isFunction(properties.onBlur)) {\n\t\tproperties.onBlur(event);\n\t}\n};\n\nconst onResizeEvent = properties => event => {\n\tif (isFunction(properties.onResize)) {\n\t\tproperties.onResize(event);\n\t}\n};\n\nconst onStagedValueChangeEvent =\n\t(onStagedValueChange, updateState) => event => {\n\t\tupdateState({\n\t\t\tvalue: event.value\n\t\t});\n\n\t\tonStagedValueChange(event);\n\t};\n\nconst onValueChangeEvent = (onValueChange, updateState) => event => {\n\tupdateState({\n\t\tvalue: event.value\n\t});\n\n\tonValueChange(event);\n};\n\n/**\n * Allows users to input rich text data via [TinyMCE](http://tinymce.com).\n *\n * The parent application/component must provide a reference to a tinymce core\n * instance. When unavailable (or not provided), this component renders a\n * regular textarea.\n *\n * Note that this component is _always_ uncontrolled. Trying to control TinyMCE\n * just makes everybody sad.\n */\nconst NowHtmlEditor = (state, { updateState, dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tenableMentions,\n\t\tmentions,\n\t\ttranslatedText,\n\t\tisTranslationEnabled,\n\t\tvalue,\n\t\teditor\n\t} = state;\n\tconst onFocus = onFocusEvent(properties, updateState);\n\tconst onBlur = onBlurEvent(properties, updateState);\n\tconst onResize = onResizeEvent(properties);\n\tconst onStagedValueChange = onStagedValueChangeEvent(\n\t\tstate.onStagedValueChange,\n\t\tupdateState\n\t);\n\tconst onValueChange = onValueChangeEvent(state.onValueChange, updateState);\n\tlet Component = TinyMCEEditor;\n\tconst {\n\t\tenableCodeBlocks,\n\t\tuseCodeBlocks,\n\t\thelperContent,\n\t\tlabel,\n\t\tcomponentId,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel,\n\t\tshowAIIndicator,\n\t\tisModified\n\t} = properties;\n\tconst readonly = isAttrTrue(properties.readonly);\n\tif (readonly && !properties.value) {\n\t\treturn (\n\t\t\t<now-input\n\t\t\t\thelperContent={helperContent}\n\t\t\t\tlabel={label}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\treadonly={true}\n\t\t\t\tvalue=\"—\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tfield-layout={fieldLayout}\n\t\t\t/>\n\t\t);\n\t}\n\n\tlet childProps = {\n\t\t...properties,\n\t\tuseCodeBlocks: enableCodeBlocks || useCodeBlocks,\n\t\tmentions,\n\t\tenableMentions,\n\t\tupdateState,\n\t\tdispatch,\n\t\teditor,\n\t\thasFocus: state.hasFocus,\n\t\tbehaviors: state.behaviors,\n\t\tonValueChange: state.onValueChange,\n\t\tonStagedValueChange: state.onStagedValueChange,\n\t\ttranslatedText,\n\t\tisTranslationEnabled,\n\t\tvalue,\n\t\tshowUnsavedIndicator,\n\t\tshowAIIndicator,\n\t\tisModified\n\t};\n\n\tif (!tinymce) {\n\t\tComponent = Input;\n\t\tchildProps = omit(\n\t\t\tchildProps,\n\t\t\t'configMentions',\n\t\t\t'convertUrls',\n\t\t\t'enableMentions',\n\t\t\t'extendedValidElements',\n\t\t\t'fonts',\n\t\t\t'language',\n\t\t\t'mentions',\n\t\t\t'plugins',\n\t\t\t'relativeUrls',\n\t\t\t'removeHost',\n\t\t\t'toolbar',\n\t\t\t'validButtons',\n\t\t\t'validPlugins',\n\t\t\t'updateState',\n\t\t\t'hasFocus',\n\t\t\t'behaviors',\n\t\t\t'contextmenu'\n\t\t);\n\n\t\textend(childProps, {\n\t\t\ttype: 'textarea',\n\t\t\tvalue: state.value,\n\t\t\tonValueChange,\n\t\t\tonStagedValueChange,\n\t\t\tonFocus,\n\t\t\tonBlur,\n\t\t\tonResize,\n\t\t\tautofocus: false,\n\t\t\t// STRY59509727: If someone has explicitly not passed any value to autoresize props,\n\t\t\t// default to true to make it consistent with the behavior before the autoresize\n\t\t\t// props was introduced as part of the mentioned story.\n\t\t\tautoresize: properties.autoresize ?? true\n\t\t});\n\t}\n\n\treturn <Component {...childProps} componentId={`html-${componentId}`} />;\n};\n\nexport default NowHtmlEditor;\n\n/**\n *\n * HTML Editor Component that uses TinyMCE.\n * TinyMCE for the most part, does not support incremental rendering.\n * Attempting to modify certain properties may or may not have expected or desired behavior.\n *\n * ```jsx\n * <now-record-html-editor\n *\t label=\"Enter some HTMLs\"\n *\t value=\"<b>Hello<\/b> <i>World<\/i>\"\n * />\n * ```\n *\n * @seismicElement now-record-html-editor\n * @summary HTML Editor Component that uses TinyMCE\n *\n * */\ncreateCustomElement('now-record-html-editor', {\n\tview: withValueChangeCallbacksView(NowHtmlEditor),\n\tsetInitialState: ({\n\t\tproperties: { value, configMentions, enableMentions, mentions }\n\t}) => ({\n\t\tvalue: value === true ? '' : toString(value),\n\t\thasFocus: false,\n\t\teditor: null,\n\t\teditorNotificationsManager: null,\n\t\tenableMentions: get(configMentions, 'enableMentions') || enableMentions,\n\t\tmentions: {\n\t\t\t...mentions,\n\t\t\t...omit(configMentions, 'enableMentions')\n\t\t}\n\t}),\n\tstyles: style,\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: domReadyEffect,\n\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect,\n\t\t[COMPONENT_RENDERED]: componentRenderedEffect,\n\t\t[EDITOR_ON_CHANGE]: editorOnChangeEffect,\n\t\t[EDITOR_ON_BLUR]: editorOnBlurEffect,\n\t\t[EDITOR_ON_FOCUS]: editorOnFocusEffect,\n\t\t[EDITOR_ON_CLICK]: editorOnClickEffect,\n\t\t[EDITOR_SET_FOCUS]: editorSetFocusEffect,\n\t\t[EDITOR_ON_KEYDOWN]: {\n\t\t\teffect: editorOnKeyDownEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[EDITOR_SET_CONTENT]: {\n\t\t\teffect: editorSetContentEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[EDITOR_ON_RESIZE]: editorOnResizeEffect,\n\t\t[SETUP_TINYMCE_EDITOR]: setupTinymceEditorEffect,\n\t\t[POST_ATTACHMENT_QUERY]: {\n\t\t\t...postAttachmentEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_START]: {\n\t\t\teffect: postAttachmentStartEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_PROGRESS]: {\n\t\t\teffect: postAttachmentProgressEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_SUCCESS]: {\n\t\t\teffect: postAttachmentSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_FAILURE]: {\n\t\t\teffect: postAttachmentFailureEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GET_ATTACHMENTS_DATA]: {\n\t\t\t...getAttachmentsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GET_ATTACHMENTS_SUCCESS]: {\n\t\t\teffect: getAttachmentsSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GET_ATTACHMENTS_FAILURE]: {\n\t\t\teffect: getAttachmentsFailureEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[INSERT_PILL]: {\n\t\t\teffect: insertPillEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[INSERT_CONTENT]: {\n\t\t\teffect: insertContentAtCursorEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'SN_RECORD_INPUT#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_INPUT#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tproperties: {\n\t\tcomponentId: {},\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting. When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Causes the component to automatically resize the editor to the content inside it.\n\t\t * Autoresize plugin will automatically be enabled if this property is set to true.\n\t\t * @type {boolean}\n\t\t */\n\t\tautoresize: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Image upload handler appends ZZ_YY prefix for the table by default while uploading and this prop is used to control the append behavior.\n\t\t * @type {boolean}\n\t\t */\n\t\tignoreInlineAttachmentPrefix: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * This option allows you to specify the size of the padding at the bottom of the editor’s body set on initialization when autoresize plugin is enabled.\n\t\t * @type {number}\n\t\t * @see [autoresize_bottom_margin](https://www.tiny.cloud/docs/plugins/opensource/autoresize/#autoresize_bottom_margin)\n\t\t *\n\t\t */\n\t\tautoresizeBottomMargin: { schema: { type: 'number' } },\n\t\t/**\n\t\t * The number of lines until texteditor should be autoresized when 'autoresize' property is set to true.\n\t\t * @type {number}\n\t\t */\n\t\tautoresizeLineLimit: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Experimental feature. This is used to swap divs with spans when inside anchors.\n\t\t * Although using divs inside anchors is valid HTML5, tinymcev5 does not support it.\n\t\t * This is a workaround.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowBlockBasedAnchors: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * TinyMCE config browser_spellcheck. Set to true to utilize the browser's native spell check functionality.\n\t\t * @see [browser_based_spellchecking](https://www.tiny.cloud/docs/general-configuration-guide/spell-checking/#browser-basedspellchecking)\n\t\t * @type {boolean}\n\t\t **/\n\t\tbrowserSpellcheck: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * TinyMCE config content_style. CSS string to style editable area. This does _not_ affect the output html.\n\t\t * @see [content_style](https://www.tiny.cloud/docs/configure/content-appearance/#content_style)\n\t\t * @type {string}\n\t\t */\n\t\tcontentStyle: { default: '' },\n\t\t/**\n\t\t * TinyMCE config convert_urls\n\t\t * @see [convert_urls](https://www.tiny.cloud/docs/configure/url-handling/#convert_urls)\n\t\t * @type {boolean}\n\t\t */\n\t\tconvertUrls: { default: false },\n\t\t/**\n\t\t * TinyMCE config extended_valid_elements\n\t\t * @see [extended_valid_elements](https://www.tiny.cloud/docs/configure/content-filtering/#extended_valid_elements)\n\t\t * @type {string}\n\t\t */\n\t\textendedValidElements: { default: '' },\n\t\t/**\n\t\t * TinyMCE config font_family_formats. List of fonts to enable.\n\t\t * @type {string}\n\t\t * @see [TinyMCE_font_configuration](https://www.tiny.cloud/docs/tinymce/latest/user-formatting-options/#font_family_formats)\n\t\t */\n\t\tfonts: {\n\t\t\tdefault:\n\t\t\t\t'Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Journal=journal;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats;'\n\t\t},\n\t\t/**\n\t\t * TinyMCE config min_height. The minimum height of editor including the toolbar.\n\t\t * @type {number}\n\t\t * @see [min_height](https://www.tiny.cloud/docs/configure/editor-appearance/#min_height)\n\t\t */\n\t\tminHeight: { default: DEFAULT_MIN_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config height. The height of the editor including the toolbar\n\t\t * @type {number}\n\t\t * @see [height](https://www.tiny.cloud/docs/configure/editor-appearance/#height)\n\t\t */\n\t\theight: { default: DEFAULT_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config max_height. The maximum height of editor including the toolbar\n\t\t * @type {number}\n\t\t * @see [max_height](https://www.tiny.cloud/docs/configure/editor-appearance/#max_height)\n\t\t */\n\t\tmaxHeight: { default: DEFAULT_MAX_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config toolbar.\n\t\t * @see [TinyMCE toolbar configuration](https://www.tiny.cloud/docs/configure/editor-appearance/#toolbar)\n\t\t * @type {Array<string>|string|boolean} for boolean, only false is supported\n\t\t */\n\t\ttoolbar: {\n\t\t\tdefault:\n\t\t\t\t'bold italic underline undo redo | fontfamily fontsize table | forecolor backcolor link unlink | code | alignleft aligncenter alignright | bullist numlist fullscreen'\n\t\t},\n\t\t/**\n\t\t * TinyMCE config relativeUrls\n\t\t * @see [relative_urls](https://www.tiny.cloud/docs/configure/url-handling/#relative_urls)\n\t\t * @type {boolean}\n\t\t */\n\t\trelativeUrls: { default: true },\n\t\t/**\n\t\t * TinyMCE config remove_script_host\n\t\t * @see [remove_script_host](https://www.tinymce.com/docs/configure/url-handling/#remove_script_host)\n\t\t * @type {boolean}\n\t\t */\n\t\tremoveHost: { default: true },\n\t\t/**\n\t\t * TinyMCE config placeholder. Placeholder string when there is no value\n\t\t * @see [placeholder](https://www.tiny.cloud/docs/configure/editor-appearance/#placeholder)\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * This setting controls how content pasted from sources other than Microsoft Word is filtered.\n\t\t * @type {string}\n\t\t * @see [power_paste_html_import](https://www.tiny.cloud/docs/plugins/powerpaste/#powerpaste_html_import)\n\t\t */\n\t\tpowerPasteHtmlImport: { default: 'clean' },\n\t\t/**\n\t\t * This setting controls how content pasted from Microsoft Word is filtered.\n\t\t * @type {string}\n\t\t * @see [power_paste_word_import](https://www.tiny.cloud/docs/plugins/powerpaste/#powerpaste_word_import)\n\t\t */\n\t\tpowerPasteWordImport: { default: 'prompt' },\n\t\t/**\n\t\t * This property allows the user to set a default target value for links when inserting/editing\n\t\t * a link via the link dialog. It can take one of four values: ['_blank', '', '_self', '_top']\n\t\t * @type {string}\n\t\t */\n\t\tdefaultLinkTarget: { default: '' },\n\t\t/**\n\t\t * Client-side HTML editor has its own context menu,\n\t\t * overriding the browser's. Holding Ctrl while right-clicking\n\t\t * bypasses the editor's context menu to show the native context menu.\n\t\t\tThis property specifies which context menu options are available.\n\t\t\tDefault value is \"link image table\" (without quotes).\n\t\t\tA value of \"false\" (without quotes) disables the editor's context menu.\n\t\t */\n\t\tcontextmenu: { default: 'link image table' },\n\t\t/**\n\t\t * List of plugins to enable. Note that TinyMCE will lazy-load these plugins\n\t\t * at runtime, so the corresponding plugin files must be hosted by the app\n\t\t * for this to work propertly.\n\t\t * @see [plugins](https://www.tiny.cloud/docs/configure/integration-and-setup/#plugins)\n\t\t * @type {string}\n\t\t */\n\t\tplugins: {\n\t\t\tdefault:\n\t\t\t\t'accordion link lists advlist table powerpaste searchreplace preview fullscreen placeholder readonlynoborder'\n\t\t},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @see [readonly](https://www.tiny.cloud/docs/configure/integration-and-setup/#readonly)\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/*\n\t\t * ====================================================================================\n\t\t * NOTE: Below are custom service now properties not directly passed to tinymce\n\t\t * ====================================================================================\n\t\t */\n\n\t\t/**\n\t\t * Settings for mentions plugin\n\t\t *\n\t\t * Shape\n\t\t *\n\t\t * `type:boolean` enableMentions - Flag that needs to be true in order for the mentions to be enabled\n\t\t *\n\t\t * `type:function` fetch - Function that takes in a query and returns a promise. This promise should resolve with the mentions suggestions\n\t\t *\n\t\t * `type:string` table - Table where the mentions user exists\n\t\t *\n\t\t * `type:string` resourceTable - Table to check ACLs against when using the default AtMentionsService endpoint.\n\t\t *\n\t\t * `type:string` resourceSysId - The sys_id of the element to check ACLs against when using the default AtMentionsService endpoint.\n\t\t *\n\t\t * `type:{loading: string,noMatches: string,init: string}`messages - Messages to be displayed when mentions list appears\n\t\t * @type {{ enableMentions: boolean, fetch: function, table: string, resourceTable: string,resourceSysId: string, messages: {loading: string,noMatches: string,init: string}}}\n\t\t */\n\t\tconfigMentions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableMentions: { type: 'boolean' },\n\t\t\t\t\tfetch: { type: 'object' },\n\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\tresourceTable: { type: 'string' },\n\t\t\t\t\tresourceSysId: { type: 'string' },\n\t\t\t\t\tmessages: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tloading: { type: 'string' },\n\t\t\t\t\t\t\tnoMatches: { type: 'string' },\n\t\t\t\t\t\t\tinit: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Settings require to enable text commands feature\n\t\t *\n\t\t * Shape\n\t\t *\n\t\t * `type:boolean` enableTextCommands - Flag that needs to be true in order for the feature to be enabled\n\t\t *\n\t\t * `type:string` type - To set the type of component fetching the text commands(whether email, field_type)\n\t\t *\n\t\t * `type:string` fieldType - To set the fieldType of the component fetching text commands\n\t\t *\n\t\t * `type:string` recordTable - Table to check ACLs against when fetching/invoking text commands.\n\t\t *\n\t\t * `type:string` recordSysId - The sys_id of the record to check ACLs against when fetching/invoking text commands.\n\t\t *\n\t\t * @type {{ enableTextCommands: boolean, type: string, fieldType: string, recordTable: string, recordSysId: string}}\n\t\t */\n\t\ttextCommandsConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableTextCommands: { type: 'boolean' },\n\t\t\t\t\trecordTable: { type: 'string' },\n\t\t\t\t\trecordSysId: { type: 'string' },\n\t\t\t\t\ttype: { type: 'string' },\n\t\t\t\t\tfieldType: { type: 'string' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Whether to wrap the value in [code] blocks (For journal entry fields)\n\t\t * @type {boolean}\n\t\t */\n\t\tenableCodeBlocks: { default: false },\n\t\t/**\n\t\t * Whether we want mentions to be enabled or not.\n\t\t * @deprecated Use configMentions.enableMentions.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tenableMentions: { default: false },\n\t\t/**\n\t\t * Settings for mentions plugin\n\t\t */\n\t\tmentions: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * Whether the field is a journal input field or not.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tisJournal: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * Stringified object containing tinymce menubar configurations\n\t\t * Is deprecated, and will be removed after Zurich. For all similar\n\t\t * purposes, use htmlEditorConfigs.\n\t\t * @type {string}\n\t\t */\n\t\tmenuConfigs: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Stringified object containing tinymce configurations from sys_script_include script\n\t\t * @type {string}\n\t\t */\n\t\thtmlEditorConfigs: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * The initial number of lines that should be visible in the editor.\n\t\t * Also sets minHeight if not already defined\n\t\t * @type {number}\n\t\t * @deprecated Will be removed in future version. Please use minHeight and height instead, you can approximate equivalent height as follows: (minLineCount * 24) + 11.\n\t\t */\n\t\tminLineCount: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonBlur: {},\n\t\t/**\n\t\t * onFocus event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonFocus: {},\n\t\t/**\n\t\t * onResize event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonResize: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t * `type:object` event - The event payload\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t * `type:any` event.value - The new value for the component\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * `type:string` event.error.type - Error type\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Field which indicates preloaded members of the record\n\t\t * Array.<{sys_id: string,name?: string,username?: string,email?: string,avatar?: string,active?: boolean,[key: string]?:any}>\n\t\t * @type {Array}\n\t\t * @default []\n\t\t * @schema { type: 'array' }\n\t\t */\n\t\tpreloadMentions: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' }\n\t\t},\n\n\t\t/**\n\t\t * Table used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringTable: {},\n\t\t/**\n\t\t * sys_id of the record used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringRecordId: {},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * When rendering a html-editor, whether or not to show the resize handle.\n\t\t * @type {boolean}\n\t\t */\n\t\tresizable: { default: true },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * When provided, allows whitelisting specific buttons for the toolbar. This\n\t\t * prop should be a comma-separated string of allowed buttons.\n\t\t *\n\t\t * When omitted, any toolbar button supported by TinyMCE can be rendered (via\n\t\t * the `toolbar` prop).\n\t\t * @type {string}\n\t\t */\n\t\tvalidButtons: {},\n\t\t/**\n\t\t * When provided, allows whitelisting specific plugins. This\n\t\t * prop should be a comma-separated string of allowed plugins.\n\t\t *\n\t\t * When omitted, any plugin supported by TinyMCE can be loaded (via\n\t\t * the `plugins` prop).\n\t\t * @type {string}\n\t\t */\n\t\tvalidPlugins: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * BaseURL of the instance, used in case of embeddables flow, otherwise it will be empty.\n\t\t * @type {string}\n\t\t */\n\t\tbaseURL: { default: getBaseURL() },\n\t\t/**\n\t\t * Controls the set of colors to use for the content area.\n\t\t *\n\t\t * The variant names refer to the color of the background on the default theme, but the actual colors may vary\n\t\t * if another theme is applied.\n\t\t *\n\t\t * The following variants are available:\n\t\t * `neutral`, `yellow`, `magenta`, `pink`, `orange`, `brown`, `green`, `green-yellow` and `blue`.\n\t\t *\n\t\t * Any other values will default to `neutral`.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvariant: { default: 'neutral' },\n\t\t/**\n\t\t * Whether to wrap the value in [code] blocks (For journal entry fields).\n\t\t * please use `enableCodeBlocks` instead\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tuseCodeBlocks: { default: false },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Dictionary attributes to show condition count and to restrict\n\t\t * fields in dot-walk\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Whether to convert the image blobs to base 64\n\t\t * by default we will convert to base64\n\t\t * @type {boolean}\n\t\t */\n\t\tconvertBlobsToBase64: { default: true, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * This setting controls the filtering of inline elements while pasting from MS Word to editor.\n\t\t * @type {string}\n\t\t * @see [powerpaste_clean_filtered_inline_elements](https://www.tiny.cloud/docs/plugins/premium/powerpaste/#powerpaste_clean_filtered_inline_elements)\n\t\t */\n\t\tpowerPasteFilterInlineElements: { default: 'strong, b' },\n\t\t/**\n\t\t * Allows to re-dispatch the VALUE_CHANGED event every time the stage value is modified\n\t\t * and the component is blurred even if the value matches the last dispatched VALUE_CHANGED event.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowFieldChangesAfterEveryStageChange: { default: false },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Skill Configuration for field level Now Assist Context Menu component\n\t\t * The schema for this property isn't strongly typed, as we are simply passing the\n\t\t * Now Assist Context Menu specific document model down to the Now Assist Context Menu Component\n\t\t */\n\t\tnowAssistConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontextMenu: { type: 'object' },\n\t\t\t\t\tpredictiveText: { type: 'object' },\n\t\t\t\t\tminWordCount: { type: 'number' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Flag that indicates whether the component fits to its parent's height. When true, the component is grown to its parent's height. Default: false.\n\t\t * @type {boolean}\n\t\t */\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Determines if the toolbar should be shown or hidden.\n\t\t * When true, the toolbar will be shown. When false, the toolbar will be hidden.\n\t\t * If this prop is passed as boolean then the sys prop - glide.ui.html.editor.toolbar.on.focus\n\t\t * will be ignored.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowToolbar: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Determines the root block element for the editor.\n\t\t * @type {string}\n\t\t */\n\t\tforcedRootBlock: {\n\t\t\tdefault: 'p',\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\t/**\n\t\t * Determines if the component border should be shown or not.\n\t\t * When false, the border will be shown. When true, the border will not be shown.\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/** Determines the newline behavior for the editor.\n\t\t * This option helps to adjust what happens when Enter or Return is pressed\n\t\t * @type {string}\n\t\t * @see [newline_behavior](https://www.tiny.cloud/docs/tinymce/latest/content-behavior-options/#newline_behavior)\n\t\t * It can have one of four values: ['default', 'block', 'linebreak', 'invert']\n\t\t */\n\t\tnewlineBehavior: {\n\t\t\tdefault: 'default',\n\t\t\tschema: { type: 'string' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\ttransformState,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the intermediate value has changed.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a single or multiple mention is / are added from the mention list dropdown\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#MENTION_ADDED': {},\n\t\t/**\n\t\t * Dispatched when a single or multiple mention is / are deleted from the editor\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#MENTION_DELETED': {},\n\t\t/**\n\t\t * Dispatched when a text command option is selected\n\t\t */\n\t\t'UI_TEXT_COMMAND#OPTION_SELECTED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t...TINYMCE_THEME_BEHAVIORS,\n\t\twithValueChangeCallbackBehavior,\n\t\t{ behavior: truncationBehavior },\n\t\t{ behavior: tooltipBehavior },\n\t\t{ behavior: translationBehavior },\n\t\t{ behavior: isEnabledBehavior },\n\t\t{ behavior: dynamicTranslationBehaviour },\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: function (host, dispatch) {\n\t\t\t\t\tdispatch(EDITOR_SET_FOCUS);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t]\n});\n","import { t } from 'sn-translate';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nexport default class LiveUpdateMessage {\n\tconstructor(userName) {\n\t\tthis.userName = userName;\n\t}\n\n\tsetNewValue(v) {\n\t\t// If the user has modified the field value we show a different message.\n\t\tthis.isUserModified = true;\n\t\tthis.newValue = v;\n\t}\n\n\tsetHideValue(v) {\n\t\tthis.hideValue = !!v;\n\t}\n\n\tgetMessage() {\n\t\tlet message, messageContent;\n\t\tif (this.isUserModified && !this.hideValue) {\n\t\t\tlet newValue = this.newValue;\n\t\t\tif (newValue) {\n\t\t\t\tnewValue = (\n\t\t\t\t\t<strong>\n\t\t\t\t\t\t<i>{newValue}<\/i>\n\t\t\t\t\t<\/strong>\n\t\t\t\t);\n\t\t\t\t// Show the value that changed\n\t\t\t\tmessageContent = t('{{name}} has set this field to {{value}}')\n\t\t\t\t\t.replace('{name}', this.userName)\n\t\t\t\t\t.replace('{value}', ''); // Use the cached message containing value but remove the token so we can append html.\n\t\t\t\tmessage = {\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{/* `message` already has a trailing space, don't need another one here */}\n\t\t\t\t\t\t\t{messageContent}\n\t\t\t\t\t\t\t{newValue}\n\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tlabel: messageContent + this.newValue\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Say the value was cleared\n\t\t\t\tmessageContent = t(\n\t\t\t\t\t'{{name}} has cleared the value of this field'\n\t\t\t\t).replace('{name}', this.userName);\n\t\t\t\tmessage = { content: messageContent, label: messageContent };\n\t\t\t}\n\t\t} else {\n\t\t\tmessageContent = t('{{name}} has modified this field value').replace(\n\t\t\t\t'{name}',\n\t\t\t\tthis.userName\n\t\t\t);\n\t\t\tmessage = { content: messageContent, label: messageContent };\n\t\t}\n\t\treturn message;\n\t}\n}\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport '@devsnc/sn-record-control-wrapper';\nimport '@servicenow/now-button';\nimport '@servicenow/now-input';\nimport {\n\tFIELD_BG_COLOR_DEFAULT,\n\tgetAriaLabelFromConfig,\n\tisAttrTrue\n} from '@devsnc/sn-controls-common';\n\n// Making add and delete buttons reusable for template-value\n// which will be updated to match this interaction in a future story\nexport const addRowButton = ({ identifier, disabled, configAria }) => (\n\t<now-button-iconic\n\t\ticon=\"plus-outline\"\n\t\tsize=\"md\"\n\t\tvariant=\"tertiary\"\n\t\tdisabled={disabled}\n\t\tappend-to-payload={{\n\t\t\tintent: 'addRow',\n\t\t\tidentifier\n\t\t}}\n\t\ttooltipContent={t('Add New Row')}\n\t\tconfigAria={configAria}\n\t/>\n);\n\nexport const deleteRowButton = ({\n\tidentifier,\n\tdisabled,\n\tconfigAria,\n\tnumOfRows\n}) => (\n\t<now-button-iconic\n\t\ticon=\"close-outline\"\n\t\tsize=\"md\"\n\t\tvariant=\"tertiary\"\n\t\tdisabled={disabled}\n\t\tappend-to-payload={{\n\t\t\tintent: 'remove',\n\t\t\tidentifier,\n\t\t\tlastRow: identifier === numOfRows - 1\n\t\t}}\n\t\ttooltipContent={t('Delete Row')}\n\t\tconfigAria={configAria}\n\t/>\n);\n\nconst controlButtons = (\n\trowData,\n\tindex,\n\tnumOfRows,\n\tdisabled,\n\tnoActions,\n\tkeyReadOnly\n) => {\n\tconst addConfigAria = {\n\t\t'aria-label': t('Add a name value row after row number {0}', index + 1)\n\t};\n\tconst removeConfigAria = {\n\t\t'aria-label': t(\n\t\t\t'Remove name value row {0} with name {1} and value {2}',\n\t\t\tindex + 1,\n\t\t\trowData.key,\n\t\t\trowData.value\n\t\t)\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{deleteRowButton({\n\t\t\t\tidentifier: index,\n\t\t\t\tdisabled:\n\t\t\t\t\t(!rowData.key && !rowData.value && index === numOfRows - 1) ||\n\t\t\t\t\tdisabled ||\n\t\t\t\t\tnoActions,\n\t\t\t\tconfigAria: removeConfigAria,\n\t\t\t\tnumOfRows\n\t\t\t})}\n\t\t\t{index === numOfRows - 1\n\t\t\t\t? addRowButton({\n\t\t\t\t\t\tidentifier: index,\n\t\t\t\t\t\tdisabled: !rowData.key || disabled || keyReadOnly || noActions,\n\t\t\t\t\t\tconfigAria: addConfigAria\n\t\t\t\t\t})\n\t\t\t\t: undefined}\n\t\t<\/Fragment>\n\t);\n};\n\nconst content = state => {\n\tconst { rowsHasKeys, internalValue } = state;\n\tconst {\n\t\tname,\n\t\tdisabled,\n\t\treadonly,\n\t\tlabel,\n\t\trequired,\n\t\tkeyReadOnly,\n\t\tvalueReadOnly,\n\t\tnoActions,\n\t\tconfigAria,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT\n\t} = state.properties;\n\n\tconst ariaConfig = {\n\t\tinput: {\n\t\t\t...configAria,\n\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t}\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{internalValue.map((row, index) => (\n\t\t\t\t<div\n\t\t\t\t\tclass={{ 'name-value-container': true }}\n\t\t\t\t\taria-label={`${label} ${isAttrTrue(required) ? t('required') : ''}`}\n\t\t\t\t>\n\t\t\t\t\t<div class={{ 'fields-container': true }}>\n\t\t\t\t\t\t<div class={{ 'field-value': true }}>\n\t\t\t\t\t\t\t<now-input\n\t\t\t\t\t\t\t\tname={`${name}-row-${index}-key`}\n\t\t\t\t\t\t\t\tvalue={row.key}\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\treadonly={keyReadOnly || readonly}\n\t\t\t\t\t\t\t\tplaceholder={t('Label')}\n\t\t\t\t\t\t\t\tconfig-aria={ariaConfig}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class={{ 'field-key': true }}>\n\t\t\t\t\t\t\t<now-input\n\t\t\t\t\t\t\t\tname={`${name}-row-${index}-value`}\n\t\t\t\t\t\t\t\tvalue={row.value}\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t!isAttrTrue(readonly)\n\t\t\t\t\t\t\t\t\t\t? !rowsHasKeys[index] || disabled\n\t\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treadonly={valueReadOnly || readonly}\n\t\t\t\t\t\t\t\tplaceholder={t('Value')}\n\t\t\t\t\t\t\t\tconfig-aria={ariaConfig}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class={{ 'buttons-now': true }}>\n\t\t\t\t\t\t{!isAttrTrue(readonly)\n\t\t\t\t\t\t\t? controlButtons(\n\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\tinternalValue.length,\n\t\t\t\t\t\t\t\t\tdisabled,\n\t\t\t\t\t\t\t\t\tnoActions,\n\t\t\t\t\t\t\t\t\tkeyReadOnly\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t))}\n\t\t<\/Fragment>\n\t);\n};\n\nconst view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\tshowAIIndicator,\n\t\t\tisModified\n\t\t}\n\t} = state;\n\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\t{...state.properties}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t{content(state)}\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\n\nexport default view;\n","export const NOW_INPUT_VALUE_SET = 'NOW_INPUT#VALUE_SET';\nexport const NOW_INPUT_INPUT = 'NOW_INPUT#INPUT';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NAME_VALUE_VALUE_CHANGED = 'SN_RECORD_NAME_VALUE#VALUE_CHANGED';\n\nexport const NAME_VALUE_DUPLICATE_SUFFIX = 'SN_RECORD_NV#DUP_VALUE';\n","import { NAME_VALUE_DUPLICATE_SUFFIX } from './constants';\n\nexport const getRowInfoFromName = name => {\n\tconst match = name.match(/row-([0-9]+)-(key|value)$/);\n\treturn {\n\t\trowIndex: match[1],\n\t\tinputType: match[2]\n\t};\n};\n\n// \"{ \"key\": \"value\" }\" => [ { key: key, value: value } ]\nexport const parseValue = value => {\n\tlet result = [];\n\tif (value) {\n\t\tconst jsonParsedValue = JSON.parse(value);\n\t\tresult = Object.keys(jsonParsedValue).map(key => {\n\t\t\treturn {\n\t\t\t\tkey: key.replace(\n\t\t\t\t\tnew RegExp(`${NAME_VALUE_DUPLICATE_SUFFIX}([0-9]+)$`),\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tvalue: jsonParsedValue[key]\n\t\t\t};\n\t\t});\n\t}\n\tif (result.length === 0) {\n\t\t// default empty case\n\t\treturn [{ key: '', value: '' }];\n\t}\n\treturn result;\n};\n\n// [ { key: key, value: value } ] => \"{ \"key\": \"value\" }\"\nexport const arrayToValue = arr => {\n\tlet error = undefined;\n\tlet duplicates = 0;\n\n\tconst result = arr.reduce((obj, row) => {\n\t\tlet newKey = row.key;\n\n\t\tif ((!newKey && row.value) || newKey in obj) {\n\t\t\terror = {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: 'Duplicate or empty names are not allowed'\n\t\t\t};\n\t\t\tif (obj[newKey]) {\n\t\t\t\t// duplicate value\n\t\t\t\tnewKey = `${newKey}${NAME_VALUE_DUPLICATE_SUFFIX}${duplicates++}`;\n\t\t\t}\n\t\t}\n\t\tobj[newKey] = row.value;\n\t\treturn obj;\n\t}, {});\n\n\treturn { value: JSON.stringify(result), error };\n};\n\nexport const focusSecondLastRowDeleteButton = (host, indentifier) => {\n\tif (indentifier == 0) {\n\t\tconst getInputNode = host.shadowRoot.querySelector('div now-input');\n\t\tconst input = getInputNode.shadowRoot.querySelector('input');\n\t\tinput.focus();\n\t} else {\n\t\tconst getTargetNode = host.shadowRoot.querySelector(\n\t\t\t`div:nth-child(${indentifier}) now-button-iconic[icon='close-outline']`\n\t\t);\n\t\tconst buttonNode = getTargetNode.shadowRoot.querySelector('button');\n\t\tbuttonNode.focus();\n\t}\n};\n","import { isEqual } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\nimport {\n\tNOW_INPUT_VALUE_SET,\n\tNOW_INPUT_INPUT,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNAME_VALUE_VALUE_CHANGED\n} from './constants';\nimport {\n\tgetRowInfoFromName,\n\tarrayToValue,\n\tfocusSecondLastRowDeleteButton,\n\tparseValue\n} from './utils';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst actionHandlers = {\n\t[NOW_INPUT_VALUE_SET]: {\n\t\teffect: ({ action, dispatch, state, updateState }) => {\n\t\t\tconst { name: identifier, value: newValue } = action.payload;\n\t\t\tconst { name, onValueChange } = state.properties;\n\t\t\tconst { internalValue } = state;\n\t\t\tconst valuesArray = internalValue.slice();\n\t\t\tconst rowInfo = getRowInfoFromName(identifier);\n\t\t\tvaluesArray[rowInfo.rowIndex][rowInfo.inputType] = newValue;\n\n\t\t\tconst dispatchPayload = { name, ...arrayToValue(valuesArray) };\n\n\t\t\tif (onValueChange) {\n\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)(dispatchPayload);\n\t\t\t}\n\t\t\tdispatch(NAME_VALUE_VALUE_CHANGED, dispatchPayload);\n\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'name-value' }\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'internalValue',\n\t\t\t\tvalue: valuesArray,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t// Handles setting the 2nd input to read-only depending on first input value\n\t[NOW_INPUT_INPUT]: {\n\t\teffect: ({ action, updateState, state }) => {\n\t\t\tconst { name: identifier, fieldValue: newValue } = action.payload;\n\t\t\tconst { rowsHasKeys } = state;\n\n\t\t\tconst rowInfo = getRowInfoFromName(identifier);\n\n\t\t\t// if the input is not of type 'key', we don't need to do anything here\n\t\t\tif (rowInfo.inputType !== 'key') return;\n\n\t\t\tconst rowHasKeyAtIndex = rowsHasKeys[rowInfo.rowIndex];\n\n\t\t\tif (rowHasKeyAtIndex && !newValue) {\n\t\t\t\t// key went from having value to having no value, should set value-input to read-only\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: `rowsHasKeys[${rowInfo.rowIndex}]`,\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t} else if (!rowHasKeyAtIndex && newValue) {\n\t\t\t\t// key went from having no value to having value, should set value-input to editable\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: `rowsHasKeys[${rowInfo.rowIndex}]`,\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: coeffects => {\n\t\t\tconst { action, dispatch, state, updateState, host } = coeffects;\n\t\t\tconst { intent, identifier, lastRow } = action.payload;\n\t\t\tconst { name, onValueChange } = state.properties;\n\t\t\tconst { rowsHasKeys, internalValue } = state;\n\n\t\t\tconst internalValueCopy = internalValue.slice();\n\t\t\tconst rowsHasKeysCopy = rowsHasKeys.slice();\n\n\t\t\t// Handle Remove Case\n\t\t\tif (intent === 'remove') {\n\t\t\t\tinternalValueCopy.splice(identifier, 1);\n\n\t\t\t\t// handle empty case\n\t\t\t\tif (internalValueCopy.length === 0) {\n\t\t\t\t\tinternalValueCopy.push({ key: '', value: '' });\n\t\t\t\t}\n\n\t\t\t\trowsHasKeysCopy.splice(identifier, 1);\n\t\t\t} else if (intent === 'addRow') {\n\t\t\t\trowsHasKeysCopy.push(false);\n\t\t\t\tinternalValueCopy.push({ key: '', value: '' });\n\t\t\t}\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'internalValue',\n\t\t\t\t\tvalue: internalValueCopy,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'rowsHasKeys',\n\t\t\t\t\tvalue: rowsHasKeysCopy,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t}\n\t\t\t]);\n\n\t\t\t// dispatch value changed\n\t\t\tconst dispatchPayload = { name, ...arrayToValue(internalValueCopy) };\n\t\t\tif (onValueChange) {\n\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)(dispatchPayload);\n\t\t\t}\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: { name: name, fieldType: 'name-value' }\n\t\t\t});\n\n\t\t\tdispatch(NAME_VALUE_VALUE_CHANGED, dispatchPayload);\n\n\t\t\t// When last row is deleted, manually focus on second last row delete button\n\t\t\t// if only single row exists and we are deleting it, focus on key input area\n\t\t\tif (lastRow) {\n\t\t\t\tfocusSecondLastRowDeleteButton(host, identifier);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[COMPONENT_PROPERTY_CHANGED]: ({ action, updateState, state }) => {\n\t\tconst {\n\t\t\tpayload: { name, value, previousValue }\n\t\t} = action;\n\n\t\tconst { liveUpdate } = state.properties;\n\n\t\tif (isEqual(value, previousValue)) return;\n\n\t\tif (name === 'liveUpdate' && liveUpdate && !liveUpdate.isUserModified) {\n\t\t\tconst internalValue = parseValue(value.value);\n\t\t\tconst rowsHasKeys = internalValue.map(row => !!row.key);\n\t\t\tupdateState({\n\t\t\t\trowsHasKeys,\n\t\t\t\tinternalValue\n\t\t\t});\n\t\t}\n\n\t\tif (name === 'value') {\n\t\t\tconst internalValue = parseValue(value);\n\t\t\tconst rowsHasKeys = internalValue.map(row => !!row.key);\n\t\t\tupdateState({\n\t\t\t\trowsHasKeys,\n\t\t\t\tinternalValue\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default actionHandlers;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport view from './view';\nimport actionHandlers from './actionHandlers';\nimport styles from './name-value.scss';\nimport { parseValue } from './utils';\nimport { trackBehavior, fieldLayoutSchema } from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nconst COMPONENT_NAME = 'sn-record-name-value';\n\n/**\n *\n *  Name value field that allows you to define key-value pairs.\n *```jsx\n * <div>\n *\t<sn-record-name-value\n *\t\tlabel=\"I am label\"\n *\t\tvalue={state.value}\n *\t/>\n * <\/div>;\n *\n *```\n * @seismicElement sn-record-name-value\n * */\ncreateCustomElement(COMPONENT_NAME, {\n\tview,\n\tsetInitialState({ properties: { value } }) {\n\t\tconst internalValue = parseValue(value);\n\t\tconst rowsHasKeys = internalValue.map(row => !!row.key);\n\t\treturn {\n\t\t\trowsHasKeys,\n\t\t\tinternalValue\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * When true, the input will be focused immediately upon being rendered.\n\t\t * @type {boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: { default: false },\n\t\t/**\n\t\t * Flag indicating whether there is an error in ip-address formatting\n\t\t * @type {string | boolean }\n\t\t */\n\t\terror: { default: '' },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tinvalid: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * The messages that you want to display underneath the component\n\t\t * @type {[{ type: 'string', message: 'string' }]}\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Underlying data for the component\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { default: '' },\n\t\t/**\n\t\t * Specifies that the user cannot modify the keys of the component.\n\t\t * and user should not be able to add and remove rows\n\t\t * @type {boolean}\n\t\t */\n\t\tkeyReadOnly: { default: false },\n\t\t/**\n\t\t * Specifies that the user cannot modify the values of the component.\n\t\t * and user should be able to add and remove rows\n\t\t * @type {boolean}\n\t\t */\n\t\tvalueReadOnly: { default: false },\n\t\t/**\n\t\t * Controls if user should be able to add or remove rows of the component.\n\t\t * @type {boolean}\n\t\t */\n\t\tnoActions: { default: false },\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Flag to indicate if it's a liveUpdate\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {boolean|string}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_NAME_VALUE#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","export const DROPDOWN_OPENED_SET = 'NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET';\nexport const ITEM_SELECTED = 'NOW_DROPDOWN_CUSTOM_TARGET#ITEM_CLICKED';\nexport const LEGACY_ACTION = 'SN_CHOICE_SEARCH_DROPDOWN#ITEM_SELECTED';\nexport const PANEL_FIT_PROPS = {\n\tposition: [\n\t\t{ target: 'bottom-start', content: 'top-start' },\n\t\t{ target: 'top-start', content: 'bottom-start' },\n\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t{ target: 'top-end', content: 'bottom-end' }\n\t],\n\tconstrain: {\n\t\tminHeight: 32,\n\t\tminWidth: 'target',\n\t\tmaxWidth: 400\n\t}\n};\n","/**\n * This component does not keep its own state. If you want it to display the selected item you need to pass it in as a `displayValue`\n */\n\nimport { omit } from 'lodash';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-dropdown';\nimport styles from './sn-record-choice-search.scss';\nimport {\n\tDROPDOWN_OPENED_SET,\n\tITEM_SELECTED,\n\tLEGACY_ACTION,\n\tPANEL_FIT_PROPS\n} from './constants.js';\nimport { NOW_POPOVER_OPENED_SET } from '@devsnc/sn-controls-common';\n\nconst COMPONENT_NAME = 'sn-record-choice-search';\n\nexport const choiceSearchView = state => {\n\tconst { choices, displayValue, manageOpened, disabled, color } =\n\t\tstate.properties;\n\tlet opened = manageOpened ? state.properties.opened : state.opened;\n\tconst processedChoices = choices.map((choice, index) => {\n\t\tconst { displayValue, display, id } = choice;\n\t\treturn {\n\t\t\t...omit(choice, ['displayValue', 'display']),\n\t\t\tid: id || index,\n\t\t\tlabel: displayValue,\n\t\t\tdisabled: !display\n\t\t};\n\t});\n\n\treturn (\n\t\t<now-dropdown-custom-target\n\t\t\tclassName=\"sn-record-choice-search\"\n\t\t\tmanageOpened\n\t\t\topened={opened}\n\t\t\tpanelFitProps={PANEL_FIT_PROPS}\n\t\t\titems={processedChoices}\n\t\t\tsearch=\"contains\"\n\t\t\tselect=\"none\"\n\t\t>\n\t\t\t<div\n\t\t\t\tslot=\"trigger\"\n\t\t\t\trole=\"button\"\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-record-choice-search-trigger': true,\n\t\t\t\t\t'is-opened': opened,\n\t\t\t\t\t[color]: true\n\t\t\t\t}}\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\taria-expanded={opened ? 'true' : 'false'}\n\t\t\t\ttabIndex={0}\n\t\t\t>\n\t\t\t\t<slot name=\"triggerButton\">\n\t\t\t\t\t{displayValue && renderDisplayValue(displayValue, disabled)}\n\t\t\t\t<\/slot>\n\t\t\t<\/div>\n\t\t<\/now-dropdown-custom-target>\n\t);\n};\n\nfunction renderDisplayValue(displayValue, disabled) {\n\treturn (\n\t\t<div className=\"sn-record-choice-search-default-label\">\n\t\t\t{displayValue}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-record-choice-search-caret': true,\n\t\t\t\t\tdisabled: disabled\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<now-icon icon=\"caret-down-fill\" />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n}\n\nexport const actionHandlers = {\n\t[ITEM_SELECTED]: ({ action, properties, dispatch }) => {\n\t\tconst payload = action.payload.item;\n\t\tconst transformedPayload = {\n\t\t\t...omit(payload, ['label', 'disabled']),\n\t\t\tdisplayValue: payload.label,\n\t\t\tdisplay: !payload.disabled\n\t\t};\n\t\tproperties.onValueChange(transformedPayload);\n\t\taction.stopPropagation();\n\t\tdispatch(LEGACY_ACTION, transformedPayload);\n\t},\n\t[DROPDOWN_OPENED_SET]: ({ action, updateState, state }) => {\n\t\tconst { manageOpened } = state.properties;\n\t\tif (!manageOpened) {\n\t\t\tupdateState({\n\t\t\t\topened: action.payload.value\n\t\t\t});\n\t\t\taction.stopPropagation();\n\t\t}\n\t},\n\t// NDS is not suppressing this event properly for <now-dropdown-custom-target/> so we need to do it here\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\tstopPropagation: true\n\t}\n};\n\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: choiceSearchView\n\t},\n\tinitialState: {\n\t\topened: false\n\t},\n\tproperties: {\n\t\t/**\n\t\t * If you don't want to pass your own trigger element as a slot you can pass a text\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: { default: null },\n\t\t/**\n\t\t * Optional callback for item selection\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: { default: () => {} },\n\t\t/**\n\t\t * List of options available in the dropdown\n\t\t * @type {{displayValue: (string|number), display: boolean}[]}\n\t\t */\n\t\tchoices: { default: [], cast: 'array' },\n\t\t/**\n\t\t * Toggle the ability to control when to close the dropdown\n\t\t * @type {string}\n\t\t */\n\t\tmanageOpened: { default: false },\n\t\tdisabled: { default: false },\n\t\t/**\n\t\t * If manageOpened is true then this will control when the dropdown is open\n\t\t */\n\t\topened: { default: false },\n\t\t/**\n\t\t *Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles\n});\n\nexport default COMPONENT_NAME;\n","import { t } from 'sn-translate';\nimport { parseArabic } from '@devsnc/sn-controls-common';\nimport {\n\tgetLocaleNumberSeparators,\n\tformatClean\n} from '@devsnc/sn-controls-common/src/utils/numberUtils';\n\nconst intFormatRegex = /^([+-]?[0-9]+)?$/g;\nconst floatFormatRegex = /^([+-]?([0-9]*[.])?[0-9]+)?$/g;\n\nexport const parseSeparator = replacement => regex => value =>\n\ttypeof value === 'string' ? value.replace(regex, replacement) : value;\n\nexport const moveDecimalOverTwoPlaces = value => {\n\t// do manipulations because javascript can't math\n\t// and has precision errors when trying to do\n\t// value = value * 0.01 ;\n\t// which is needed because\n\t// Intl.NumberFormat maps 1 to 100%\n\t// Ergo, user input 23.4 ends up becoming 23.399999999999999%\n\n\tconst decimalValue = value.toString().split('.')[1];\n\tconst decimalLength = (decimalValue && decimalValue.length) || 0;\n\n\treturn parseFloat((value / 100).toFixed(decimalLength + 2));\n};\n\nexport const parse = (value, decimal, isPercent, long, locale) => {\n\tlet error;\n\t// if the value is not set skip parsing\n\tif (value === null || value === undefined || value === '') {\n\t\tvalue = '';\n\t} else {\n\t\tconst { thousandSeparator, decimalSeparator } =\n\t\t\tgetLocaleNumberSeparators(locale);\n\t\t// else check if value is a float or int and attempt to parse\n\t\tconst floatFormat = new RegExp(floatFormatRegex);\n\t\tconst intFormat = new RegExp(intFormatRegex);\n\t\tvalue = formatClean(String(value), decimalSeparator);\n\t\tconst strip = parseSeparator('');\n\t\tlet sanitizers = [parseArabic];\n\t\tif (thousandSeparator) {\n\t\t\tsanitizers.push(strip(new RegExp(`\\\\${thousandSeparator}`, 'g')));\n\t\t}\n\t\tif (decimalSeparator) {\n\t\t\tsanitizers.push(\n\t\t\t\tparseSeparator('.')(new RegExp(`\\\\${decimalSeparator}`, 'g'))\n\t\t\t);\n\t\t}\n\t\tsanitizers.push(strip(/[\\s\\u00A0]/g));\n\n\t\tif (isPercent) {\n\t\t\tsanitizers = [...sanitizers, strip('%')];\n\t\t}\n\n\t\tconst processedValue = sanitizers.reduce(\n\t\t\t(sanatizedValue, parser) => parser(sanatizedValue),\n\t\t\tvalue\n\t\t);\n\t\tconst floatMatch = floatFormat.test(processedValue);\n\t\tconst intMatch = intFormat.test(processedValue);\n\t\t// Parsing Conditions:\n\t\t// 1. If the field is an integer, it strictly accepts only integers and rejects floats and strings (validated by intFormatRegex).\n\t\t// 2. If the field is a decimal/percentage, it accepts both integers and floats and rejects strings (validated by floatFormatRegex).\n\t\t// 3. If the field is long, it accepts integers and floating numbers. However, a floating number will be rounded on save (validated by floatFormatRegex).\n\t\tconst isIntegerField = !decimal && intMatch;\n\t\tconst isDecimalField = decimal && floatMatch;\n\t\tconst isLongField = long && floatMatch;\n\t\tif (isIntegerField || isDecimalField || isLongField) {\n\t\t\tvalue = processedValue;\n\t\t} else {\n\t\t\terror = {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: decimal\n\t\t\t\t\t? t('Could not parse {0} as a number', value)\n\t\t\t\t\t: t('Could not parse {0} as an integer', value)\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tvalue,\n\t\terror\n\t};\n};\n\nexport const format = (value, decimal, isPercent, long, locale) => {\n\tlet error;\n\n\t// Locales with decimal separator as comma needs to be parsed before formatted\n\t// Otherwise value will be counted as invalid amount\n\t// eg: fr,de\n\n\tconst isCommaSeparatedLocale =\n\t\tgetLocaleNumberSeparators(locale).decimalSeparator === ',' &&\n\t\tvalue.includes(',');\n\n\tif (isCommaSeparatedLocale) {\n\t\t// Parse the value if the locale requires it\n\t\tconst { value: parsedValue, error: parseError } = parse(\n\t\t\tvalue,\n\t\t\tdecimal,\n\t\t\tisPercent,\n\t\t\tlong,\n\t\t\tlocale\n\t\t);\n\t\tvalue = parsedValue;\n\t\terror = parseError;\n\t}\n\n\t// if the value is not set skip formatting\n\tif (value === null || value === undefined || value === '') {\n\t\tvalue = '';\n\t} else {\n\t\t// else check if value is a float or int and format it if so\n\t\tconst floatFormat = new RegExp(floatFormatRegex);\n\t\tconst intFormat = new RegExp(intFormatRegex);\n\n\t\t// We check if value is a float\tand format it if so\n\t\tconst floatMatch = floatFormat.test(value);\n\t\tconst intMatch = intFormat.test(value);\n\t\tif ((decimal && floatMatch) || (!decimal && intMatch)) {\n\t\t\t// when useAllFractionsDigits is pased in we want to force Intl.NumberFormat to persist all\n\t\t\t// fraction digits, otherwise don't set these properties and rely on the locale+currency to\n\t\t\t// drive.\n\t\t\tconst formatOptions = {\n\t\t\t\tminimumFractionDigits: 0,\n\t\t\t\tmaximumFractionDigits: decimal ? 20 : 0,\n\t\t\t\tuseGrouping: true // enables thousand separators\n\t\t\t};\n\t\t\tif (isPercent) {\n\t\t\t\tformatOptions.style = 'percent';\n\t\t\t\tvalue = moveDecimalOverTwoPlaces(value);\n\t\t\t}\n\t\t\tvalue = new Intl.NumberFormat(locale, formatOptions).format(value);\n\t\t\t// There is a known issue with Intl's format method, where if we pass certain locale, it returns an invalid minus symbol\n\t\t\t// Refer - https://stackoverflow.com/questions/74352253/intl-numberformat-with-swedish-locale-and-negative-value-returns-wrong-minus-cha\n\t\t\t// To fix this either we can replace this approach with a different locale library like http://numeraljs.com/\n\t\t\t// OR\n\t\t\t// We replace the incorrect minus sign with the correct one, which is done below.\n\n\t\t\tif (value.includes('−')) value = value.replace('−', '-');\n\t\t} else {\n\t\t\terror = {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: decimal\n\t\t\t\t\t? t('{0} is not a valid number', value)\n\t\t\t\t\t: t('{0} is not a valid integer', value)\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tvalue,\n\t\terror\n\t};\n};\n","import { actionTypes, modifierTypes } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport '@devsnc/sn-declarative-actions';\nimport {\n\ttransformState,\n\ttrackBehavior,\n\tcreateWithStateBehavior,\n\twithState,\n\tsetInitialStateWithValue,\n\thandleInitialValue,\n\ttransformDescriptionAndMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderHighlightedValue,\n\trenderDecorations,\n\tNOW_INPUT,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\nimport * as NumberFormatter from './numberFormat';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport style from './number.scss';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { toString } from 'lodash';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDER_REQUESTED } = actionTypes;\nconst HANDLE_INITIAL_VALUE = 'NOW_RECORD_NUMBER_INTERNAL#HANDLE_INITIAL_VALUE';\nexport const INTERNAL_ON_BLUR = 'NOW_RECORD_NUMBER#INTERNAL_ON_BLUR';\nexport const LONG_INT_MAX_LENGTH = '20';\nexport const DEFAULT_MAX_LENGTH = '14';\nexport const HOLD_RAW_FORMAT_LATER = 'NOW_RECORD_NUMBER#HOLD_RAW_FORMAT_LATER';\nexport const format = (value, props) => {\n\tconst { format, long, integer, decimal, percent, locale } = props;\n\tif (format === 'none' || (long && !format)) {\n\t\treturn { value, error: undefined };\n\t}\n\tconst isDecimal = !integer && decimal;\n\treturn NumberFormatter.format(value, isDecimal, percent, long, locale);\n};\n\nexport const maxLength = props =>\n\tprops.long ? LONG_INT_MAX_LENGTH : DEFAULT_MAX_LENGTH;\n\nconst withStateBehavior = {\n\tbehavior: createWithStateBehavior({\n\t\tparse: (value, props) => {\n\t\t\tconst decimal = !props.integer && props.decimal;\n\t\t\treturn NumberFormatter.parse(\n\t\t\t\tvalue,\n\t\t\t\tdecimal,\n\t\t\t\tprops.percent,\n\t\t\t\tprops.long,\n\t\t\t\tprops.locale\n\t\t\t);\n\t\t},\n\t\tformat,\n\t\tinitialValueProp: 'initialValue',\n\t\tinitialDisplayValueProp: 'initialDisplayValue',\n\t\teventBased: false,\n\t\tfieldChangeHandlers: {\n\t\t\tonBlur: INTERNAL_ON_BLUR,\n\t\t\tonChange: NOW_INPUT.INPUT\n\t\t},\n\t\tforceRenderOnBlur: ({ isRender, updateState }) => {\n\t\t\tupdateState({ isRender: !isRender });\n\t\t}\n\t})\n};\nconst resolveAriaProps = props => {\n\tconst propAriaLabel = props['aria-label'] || '';\n\tconst propAriaLabelledby = propAriaLabel\n\t\t? null\n\t\t: props['aria-labelledby'] || '';\n\treturn {\n\t\tinput: {\n\t\t\t...{\n\t\t\t\t'aria-label': propAriaLabel,\n\t\t\t\t'aria-labelledby': propAriaLabelledby\n\t\t\t},\n\t\t\t...props?.configAria\n\t\t}\n\t};\n};\n\nconst renderDeclarativeActions = (\n\t{ declarativeActionsProps, formData },\n\tdispatch\n) => (\n\t<sn-declarative-field-action\n\t\tslot=\"end\"\n\t\tmodel={declarativeActionsProps}\n\t\tactions={declarativeActionsProps?.declarativeUiActions}\n\t\tdispatch={dispatch}\n\t\tformData={formData}\n\t\tfetchDeclarativeActions={declarativeActionsProps?.fetchDeclarativeActions}\n\t/>\n);\n\nexport const actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tif (name === 'initialValue') {\n\t\t\tupdateState({ skipHandleInitialValue: true });\n\t\t\tconst nextInitialValue = toString(value);\n\t\t\tconst oldInitialValue = toString(previousValue);\n\t\t\thandleInitialValue({\n\t\t\t\trawValue: value,\n\t\t\t\tnewValue: nextInitialValue,\n\t\t\t\toldValue: oldInitialValue,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tformat,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t},\n\t[HANDLE_INITIAL_VALUE]: {\n\t\teffect: ({\n\t\t\taction: { payload },\n\t\t\tstate: { skipHandleInitialValue },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (!skipHandleInitialValue) {\n\t\t\t\thandleInitialValue(payload);\n\t\t\t} else {\n\t\t\t\tupdateState({ skipHandleInitialValue: false });\n\t\t\t}\n\t\t},\n\t\tmodifier: { name: modifierTypes.DEBOUNCE, delay: 0, maxWait: 0 }\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: ({\n\t\tproperties,\n\t\tstate,\n\t\taction: {\n\t\t\tpayload: { previousRenderProperties }\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tconst { initialValue } = properties;\n\t\tconst nextInitialValue = toString(properties.initialValue);\n\t\tconst oldInitialValue = toString(previousRenderProperties.initialValue);\n\t\tdispatch(HANDLE_INITIAL_VALUE, {\n\t\t\trawValue: initialValue,\n\t\t\tnewValue: nextInitialValue,\n\t\t\toldValue: oldInitialValue,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tformat,\n\t\t\tupdateState\n\t\t});\n\t},\n\t[NOW_INPUT.INVALID_SET]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { fieldValue, fromHandleBlur }\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (fromHandleBlur) {\n\t\t\t\t// Set the raw value (e.g., 1234) in the control state\n\t\t\t\tupdateState({ value: fieldValue });\n\t\t\t\t// Dispatch the HOLD_RAW_FORMAT_LATER action to format the value after a delay\n\t\t\t\tdispatch(HOLD_RAW_FORMAT_LATER);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t/*\n\tWhen 1234 is entered, it gets formatted to 1,234 on the first render.\n\n\tOn the next render, if the user enters 1234 again, the value stays 1234 because the NDS input component detects no change (oldValue === newValue).\n\tHowever, the expected behavior is for it to format as 1,234.\n\n\tTo fix this, we:\n\n\t1. Set the value to 1234 in the control state initially.\n\t2. Dispatch the update with a delay, so the flow becomes:\n\t1234 → 1,234 → 1234 → 1,234.\n\n\tThis ensures the value updates correctly each time and resolves the issue where oldValue === 1234 and newValue === 1,234.\n\t*/\n\t[HOLD_RAW_FORMAT_LATER]: {\n\t\teffect: ({ state: { value }, dispatch }) => {\n\t\t\tdispatch(INTERNAL_ON_BLUR, { fieldValue: value });\n\t\t},\n\t\tmodifier: { name: modifierTypes.DEBOUNCE, delay: 0, maxWait: 0 },\n\t\tstopPropagation: true\n\t}\n};\n\n/**\n * Allows users to enter and edit number values\n */\nexport const view = (state, { dispatch }) => {\n\tconst {\n\t\tautofocus,\n\t\tdescription,\n\t\tmessages,\n\t\tinvalid,\n\t\tlabel,\n\t\treadonly,\n\t\trequired,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\tname,\n\t\treversed,\n\t\tfieldLayout,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\treturn (\n\t\t<now-input\n\t\t\tautofocus={autofocus}\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tname={name}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={required}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tvalue={state.value}\n\t\t\tconfigAria={resolveAriaProps(state.properties)}\n\t\t\tmaxlength={maxLength(state.properties)}\n\t\t\ttype=\"text\"\n\t\t\talign={reversed ? 'start' : 'end'}\n\t\t\tmanage-value\n\t\t\tmanage-invalid\n\t\t\tfield-layout={fieldLayout}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<slot name=\"controls\" slot=\"end\" />\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\tlabel\n\t\t\t\t})\n\t\t\t)}\n\t\t\t{renderDeclarativeActions(state.properties, dispatch)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\n/**\n *\n *  An input number component that can either represent an integer, a decimal/float or a\n *  percent_complete field type.\n *\n * ```jsx\n * <now-record-number name=\"number\" decimal=\"true\" intialValue=\"12345\" />\n * ```\n *\n * @seismicElement now-record-number\n * @summary An input number component that can either represent an integer, a decimal/float, a long/longint or a\n * percent_complete field type.\n *\n * */\ncreateCustomElement('now-record-number', {\n\tview: withState(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t *\n\t\t * Accessible Attribute to indicate the IDs of the elements that describe the object.\n\t\t * Which element (by ID) provides more description for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaDescribedby: {},\n\t\t/**\n\t\t * aria-label\n\t\t *\n\t\t * Accessible Attribute to define a string that labels the current element.\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabel: {},\n\t\t/**\n\t\t * aria-labelledby\n\t\t *\n\t\t * Accessible Attribute establishes relationships between objects and their label(s)\n\t\t * Which element (by ID) acts as a label for the component\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tariaLabelledby: {},\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * An object whose items are all aria properties in the format 'aria-*' : 'value'\n\t\t * @type {{'aria-*': string }}\n\t\t */\n\t\tconfigAria: {},\n\t\t/**\n\t\t * A string that identifies if the number field is of the decimal type,\n\t\t * can only hold the string values \"true\" (case-sensitive) and \"false\",\n\t\t * indicating whether to support fractions or not. If `integer` is set to\n\t\t * true this prop gets over written.\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\n\t\tdecimal: { default: true },\n\t\t/**\n\t\t * A string that identifies if the number field is of the long type,\n\t\t * can only hold the string values \"true\" (case-sensitive) and \"false\",\n\t\t * indicating whether to support large numbers or not.\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tlong: { default: false },\n\t\t/**\n\t\t * Declarative Actions Props\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Format option for number fields. If none, the number will not be formatted.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tformat: {},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: { default: { showUnsavedIndicator: false } },\n\t\t/**\n\t\t * The first value that the component has when rendered\n\t\t * @type {string}\n\t\t */\n\t\tinitialValue: {},\n\t\t/**\n\t\t * Set to true if the field should be an integer and not a decimal type.\n\t\t * @type {boolean}\n\t\t */\n\t\tinteger: { default: false },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * Label for the field that is shown to the user.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {},\n\t\t/**\n\t\t * System locale setting used to format the number.\n\t\t * @type {string}\n\t\t */\n\t\tlocale: { default: window.navigator.language },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * A string  that identifies if the number field is percent_complete,\n\t\t * can only hold the string values \"true\" (case-sensitive) and \"false\".\n\t\t * @type {string | boolean}\n\t\t */\n\t\tpercent: { default: false },\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tvalue: { default: '' },\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on each value change on the input.\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'NOW_RECORD_NUMBER#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_NUMBER#VALUE_CHANGED': {}\n\t},\n\ttransformState,\n\tinitialState: {\n\t\tisHandlingInitialValue: true\n\t},\n\tsetInitialState: setInitialStateWithValue(format),\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithStateBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tactionHandlers\n});\n","import { t } from 'sn-translate';\nimport { isEmpty, isString, isNil, flow } from 'lodash';\nimport { parseArabic } from '@devsnc/sn-controls-common';\n\n// more countries than US use the same format\nconst nanpFormatAlphaNumericRegex =\n\t/^(?:1[-.● ])?\\(?([0-9]{3})\\)?[-.● ]?([0-9]{3})[-.● ]?([0-9]{4})/;\nexport const phoneSeparatorRegex = /[-.● ()]/g;\nconst someDigitsRegex = /\\d/;\nconst someLetterRegex = /[a-z]/i;\nconst plusAtStart = /^\\+/;\nconst leadingOne = /^1/g;\n\nexport const convertAlphaToNumber = phone =>\n\ttypeof phone === 'string'\n\t\t? phone\n\t\t\t\t.replace(/[a-c]/gi, '2')\n\t\t\t\t.replace(/[d-f]/gi, '3')\n\t\t\t\t.replace(/[g-i]/gi, '4')\n\t\t\t\t.replace(/[j-l]/gi, '5')\n\t\t\t\t.replace(/[m-o]/gi, '6')\n\t\t\t\t.replace(/[p-s]/gi, '7')\n\t\t\t\t.replace(/[t-v]/gi, '8')\n\t\t\t\t.replace(/[w-z]/gi, '9')\n\t\t: phone;\n\nconst ensureValidValue = f => value => {\n\tif (isEmpty(value) || !isString(value)) {\n\t\treturn {\n\t\t\tvalue: ''\n\t\t};\n\t}\n\n\treturn f(value);\n};\n\nconst makeError = countryName => {\n\tcountryName = isNil(countryName) ? 'country' : countryName;\n\treturn {\n\t\ttype: 'error',\n\t\tmessage: t(\n\t\t\t'Please check your number conforms with {0} and try again',\n\t\t\tcountryName\n\t\t)\n\t};\n};\nconst makeAlphaCharError = alphaNumValue => {\n\treturn {\n\t\ttype: 'error',\n\t\tmessage: t(\n\t\t\t'Only numbers are allowed. Did you mean {0}?',\n\t\t\tconvertAlphaToNumber(alphaNumValue)\n\t\t)\n\t};\n};\n\nexport const isFormatMatch = number => formatElement => {\n\tconst condition = formatElement.condition.value || '.*';\n\tconst pattern = formatElement.pattern.value || '';\n\tconst conditionRegex = new RegExp(`^(${condition})`);\n\tconst patternRegex = new RegExp(`(^${pattern}$)`);\n\treturn conditionRegex.test(number) && patternRegex.test(number);\n};\n\nconst getE164Format = (object, processedValue) => {\n\t// condition must hold for beginning of phone number\n\t// pattern must hold from beginning til end of phone number\n\tif (!object) {\n\t\treturn false;\n\t}\n\n\treturn object.find(isFormatMatch(processedValue));\n};\n\n/**\n * Formats a number value into area code, first digits, and last digits\n * i.e. as a North American number only.\n * Should be used ONLY for non e164 phone field types\n * @see Formatting.js in platform to see how ph_number is done there.\n * @param {string} input parsed phone number value, no symbols(except '+') or spaces\n * @returns {string} Phone number with ()'s and -'s i.e. (xxx) xxx-xxxx\n */\nexport const format = ensureValidValue(input => {\n\tlet error;\n\tlet value = input.trim();\n\tlet hasPlusAtStart = plusAtStart.test(value);\n\t/*\n\t * To match how platform does it:\n\t *'+' means user set their own format\n\t */\n\tif (hasPlusAtStart)\n\t\treturn {\n\t\t\tvalue,\n\t\t\terror\n\t\t};\n\n\tlet valueNoUsCode = value.length > 10 ? value.replace(leadingOne, '') : value;\n\n\tif (valueNoUsCode.length != 10)\n\t\treturn {\n\t\t\tvalue,\n\t\t\terror\n\t\t};\n\n\tconst isNanp = nanpFormatAlphaNumericRegex.test(valueNoUsCode);\n\tif (!isNanp) {\n\t\treturn {\n\t\t\tvalue: valueNoUsCode,\n\t\t\terror\n\t\t};\n\t}\n\n\tvalueNoUsCode = valueNoUsCode.replace(\n\t\tnanpFormatAlphaNumericRegex,\n\t\t(_match, areaCode, firstDigits, lastDigits) => {\n\t\t\tlet phoneParts = [];\n\t\t\tif (areaCode) {\n\t\t\t\tphoneParts.push(`(${areaCode})`);\n\t\t\t}\n\t\t\tphoneParts.push(`${firstDigits}-${lastDigits}`);\n\t\t\treturn phoneParts.join(' ');\n\t\t}\n\t);\n\treturn {\n\t\tvalue: valueNoUsCode,\n\t\terror\n\t};\n});\n\nconst removeCountryCode = countryCode => value => {\n\treturn value.startsWith(`+${countryCode}`)\n\t\t? value.substring(countryCode.length + 1)\n\t\t: value;\n};\n\n/**\n * Throughout this method, value will generally be what will be in the input,\n * But we want to check values that include the countryCode, so we use\n * another variable, fullNumber, for checks and errors\n *\n * @param {string} input: the parsed value returned from e164parse\n * @param {string} countryCode: the country code (aka the internationl code) from the dropdown\n * @param {array} formats the possible formats for the country code\n */\nexport const e164format = (\n\tinput,\n\tcountryCode,\n\tformats,\n\tcountryName,\n\toldCountryCode,\n\tisStrictEnabled\n) =>\n\tensureValidValue(input => {\n\t\tlet error;\n\t\tlet value = flow([\n\t\t\tremoveCountryCode(countryCode),\n\t\t\tremoveCountryCode(oldCountryCode)\n\t\t])(input);\n\t\tlet processedValue = parseArabic(value).replace(phoneSeparatorRegex, '');\n\t\tconst matchedFormat = getE164Format(formats, processedValue);\n\t\tif (matchedFormat && isStrictEnabled !== false) {\n\t\t\tconst formatting = matchedFormat.format.value || '';\n\t\t\tconst pattern = matchedFormat.pattern.value || '';\n\t\t\tconst patternRegex = new RegExp(pattern);\n\t\t\tconst sections = patternRegex.exec(processedValue);\n\t\t\t// format the string if formatting exist\n\t\t\tif (formatting && pattern && sections) {\n\t\t\t\tprocessedValue = formatting;\n\t\t\t\tvalue = sections.reduce(\n\t\t\t\t\t(acc, current, i) => acc.replace(`$${i}`, current),\n\t\t\t\t\tprocessedValue\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\terror = isStrictEnabled === false ? undefined : makeError(countryName);\n\t\t}\n\t\treturn {\n\t\t\tvalue,\n\t\t\tcountryCode: countryCode,\n\t\t\terror\n\t\t};\n\t})(input);\n\n/**\n * Gives you a string of numbers without any symbols unless it has a '+'\n * This should be used for Non-PhoneE164 field types ONLY.\n * @see Formatting.js in glide for reference to platform ph_number\n * @param {string} value phone number as entered on field\n * @returns the phone number entered without symbols\n */\nexport const parse = ensureValidValue(value => {\n\tlet error;\n\tlet originalValue = value;\n\tlet processedValue = parseArabic(value.trim());\n\t//if it has a + do not do anything to it.\n\tif (plusAtStart.test(processedValue))\n\t\treturn {\n\t\t\tvalue: processedValue,\n\t\t\terror\n\t\t};\n\t//Platform removes Nanp country code for numbers, we should do it too\n\tif (processedValue.charAt(0) == '1')\n\t\tprocessedValue = processedValue.substring(1, processedValue.length);\n\tconst hasSomeDigits = someDigitsRegex.test(value);\n\tconst hasSomeLetters = someLetterRegex.test(processedValue);\n\n\tif (hasSomeLetters) error = makeAlphaCharError(originalValue);\n\telse if (hasSomeDigits) {\n\t\t//Remove all the symbols from the number\n\t\tvalue = processedValue.replace(phoneSeparatorRegex, '');\n\t\tif (value.length != 10 && originalValue.length <= 40) {\n\t\t\tvalue = originalValue;\n\t\t}\n\t}\n\n\treturn {\n\t\tvalue,\n\t\terror\n\t};\n});\n\n/*\n * @param value: the value from the input field\n * @param code: the country code from the dropdown\n * @param formats: the possible formats for the country code\n */\nexport const e164parse = (\n\tvalue,\n\tcountryName,\n\tformats,\n\tcountryCode,\n\tisStrictEnabled\n) =>\n\tensureValidValue(value => {\n\t\tconst fullValue = value.trim();\n\t\tlet error;\n\t\tlet e164Format = undefined;\n\t\tconst processedValue = parseArabic(fullValue)\n\t\t\t.replace(phoneSeparatorRegex, '')\n\t\t\t.replace(`+${countryCode}`, '');\n\n\t\tconst hasSomeLetters = someLetterRegex.test(fullValue);\n\t\tconst hasSomeDigits = someDigitsRegex.test(fullValue);\n\n\t\te164Format =\n\t\t\tisStrictEnabled === false\n\t\t\t\t? processedValue\n\t\t\t\t: getE164Format(formats, processedValue);\n\n\t\tif (!hasSomeLetters) {\n\t\t\tif (!e164Format || !hasSomeDigits) {\n\t\t\t\terror = makeError(countryName);\n\t\t\t}\n\t\t} else {\n\t\t\terror = {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: t(\n\t\t\t\t\t'Only numbers are allowed. Did you mean {0}?',\n\t\t\t\t\tconvertAlphaToNumber(value)\n\t\t\t\t)\n\t\t\t};\n\t\t}\n\t\t// value = processedValue;\n\t\tvalue = `+${countryCode}${processedValue}`;\n\t\treturn {\n\t\t\tvalue,\n\t\t\terror,\n\t\t\te164Format\n\t\t};\n\t})(value);\n\nconst isDigit = char => {\n\treturn !isNaN(parseInt(char, 10));\n};\n\n/*\n * @param pattern: A regex pattern for braking up phone numbers for a given location\n */\nexport const patternToPlaceholderPattern = pattern => {\n\tlet inSquareBracket = false;\n\tlet inCurlyBracket = false;\n\tlet newPattern = [];\n\n\tfor (let i = 0; i < pattern.length; i++) {\n\t\tconst char = pattern.charAt(i);\n\t\tif (inSquareBracket || char === '[') {\n\t\t\tinSquareBracket = true;\n\t\t\tif (char === ']') {\n\t\t\t\tinSquareBracket = false;\n\t\t\t\tnewPattern.push('9');\n\t\t\t}\n\t\t} else if (isDigit(char) && !inCurlyBracket) {\n\t\t\tnewPattern.push('9');\n\t\t} else {\n\t\t\tnewPattern.push(char);\n\t\t\tif (char === '{') inCurlyBracket = true;\n\t\t\tif (char === '}') inCurlyBracket = false;\n\t\t}\n\t}\n\treturn newPattern.join('');\n};\n\nexport const getPlaceholder = (format, pattern) => {\n\tif (!format || !pattern) return '';\n\tconst placeHolderPattern = new RegExp(patternToPlaceholderPattern(pattern));\n\treturn '99999999999999999999'\n\t\t.replace(placeHolderPattern, format + '-----')\n\t\t.split('-----')[0];\n};\n","import { getProperty, isAttrTrue } from '@devsnc/sn-controls-common';\n\n// Sad caching so we don't need to recreate the `toolbar` array on every render.\nlet tinymceToolbar;\nconst getTinyMCEToolbar = () => {\n\tconst toolbar =\n\t\tgetProperty(`glide.ui.html.editor.toolbar`, '').trim() || false;\n\n\tif (toolbar !== tinymceToolbar) {\n\t\ttinymceToolbar = toolbar;\n\t}\n\n\treturn tinymceToolbar;\n};\n\nconst getFirstDayOfTheWeek = () => {\n\tlet firstDayOfWeek = Number.parseInt(\n\t\tgetProperty('glide.ui.date_picker.first_day_of_week'),\n\t\t10\n\t);\n\treturn !Number.isNaN(firstDayOfWeek) ? firstDayOfWeek : undefined;\n};\n\nconst controlOrSysProp = (defaultValue, sysProp, controlPropValue) => {\n\tlet value = defaultValue;\n\tconst sysPropValue = getProperty(sysProp);\n\tif (sysPropValue !== undefined && sysPropValue !== null) value = sysPropValue;\n\tif (controlPropValue !== undefined && controlPropValue !== null)\n\t\tvalue = controlPropValue;\n\treturn value;\n};\n\nconst getRecordMembers = formData => {\n\tconst preloadMentions = isAttrTrue(\n\t\tgetProperty('glide.ui.mentions.preload', false)\n\t);\n\treturn preloadMentions ? formData?.recordMembers : [];\n};\n\nexport {\n\tgetTinyMCEToolbar,\n\tgetFirstDayOfTheWeek,\n\tcontrolOrSysProp,\n\tgetRecordMembers\n};\n","import { memoize, get, isNumber } from 'lodash';\nimport { getProperty, isAttrTrue } from '@devsnc/sn-controls-common';\nimport { adjustPropsForTimezone } from './fieldPropUtils';\nimport { getFirstDayOfTheWeek } from './syspropUtils';\n\n/**\n * Get the user preferences according to whether it is legacy workspace or new workspace\n * @param {object}} formData passed from forms, contains userSession\n * @returns {object} object containing all the user preferences for the current user.\n */\nconst getCurrentUser = (formData = {}) => {\n\treturn (\n\t\tformData != null && formData.classicForm\n\t\t\t? memoize(() =>\n\t\t\t\t\tget(\n\t\t\t\t\t\twindow,\n\t\t\t\t\t\t'ux_globals.presource[\"sn-workspace-header:wsUserData\"].data.GlideDomain_Query.user',\n\t\t\t\t\t\tformData.userSession || {}\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t: () =>\n\t\t\t\t\tget(formData, 'userSession', {\n\t\t\t\t\t\tcountryCallingCode: '',\n\t\t\t\t\t\tdateFormat: 'yyyy-MM-dd',\n\t\t\t\t\t\tdateTimeFormat: 'yyyy-MM-dd HH:mm:ss',\n\t\t\t\t\t\tlanguage: 'en',\n\t\t\t\t\t\ttimeFormat: 'HH:mm:ss',\n\t\t\t\t\t\ttimeZone: 'US/Pacific',\n\t\t\t\t\t\ttimeZoneOffset: -28800000\n\t\t\t\t\t})\n\t)();\n};\n\n/**\n * Flag to determine whether to enable helper content or not based on user preference accessibility settings.\n * @param {object} currentUser object created from getCurrentUser()\n * @returns {boolean} Whether both sys preferences are true\n */\nconst isAccessibilityTooltipsEnabled = currentUser => {\n\tconst preferences = get(currentUser, 'preferences', []) || [];\n\n\tconst userA11yPrefs = preferences.filter(\n\t\tpreference =>\n\t\t\tget(preference, 'name') === 'glide.ui.accessibility.accessible.tooltips'\n\t);\n\treturn userA11yPrefs.length\n\t\t? userA11yPrefs.every(({ value }) => isAttrTrue(value))\n\t\t: false;\n};\n\nconst getHelperContent = (field, currentUser) =>\n\tisAccessibilityTooltipsEnabled(currentUser) || field.showFieldHint\n\t\t? get(field, 'dictionary.fieldHint', '')\n\t\t: '';\n\nconst getTimezoneOffset = user => {\n\tlet millisecondsToHours = ms => ms / 1000 / 60 / 60;\n\n\treturn isNumber(user.timeZoneOffset)\n\t\t? millisecondsToHours(user.timeZoneOffset)\n\t\t: undefined;\n};\n\nconst getUserLanguage = user => {\n\tconst fallback = get(\n\t\tnavigator,\n\t\t'languages[0]',\n\t\tnavigator.language || navigator.userLanguage\n\t);\n\n\treturn user.language || fallback;\n};\n\nconst mapDatePickerLocaleCodes = language => {\n\tswitch (language) {\n\t\tcase 'pb':\n\t\t\treturn 'pt-BR';\n\t\tcase 'fq':\n\t\t\treturn 'fr-CA';\n\t\tcase 'zt':\n\t\t\treturn 'zh-TW';\n\t\tdefault:\n\t\t\treturn language;\n\t}\n};\n\nconst getTimeProps = controlProps => {\n\tconst { formData } = controlProps;\n\n\treturn adjustPropsForTimezone({\n\t\t...controlProps,\n\t\tfirstDayOfWeek: getFirstDayOfTheWeek(),\n\t\tlanguage: mapDatePickerLocaleCodes(\n\t\t\tgetUserLanguage(getCurrentUser(formData))\n\t\t),\n\t\tutcOffset: getTimezoneOffset(getCurrentUser(formData))\n\t});\n};\n\nconst isSupportedLocal = locale => {\n\tlet length;\n\ttry {\n\t\tlength = Intl.NumberFormat.supportedLocalesOf([locale]).length;\n\t} catch (err) {\n\t\treturn false;\n\t}\n\treturn length > 0;\n};\n\nconst normalizeFormat = locale => {\n\tswitch (locale) {\n\t\tcase 'pb':\n\t\t\treturn 'pt-BR';\n\t\tcase 'fq':\n\t\t\treturn 'fr-CA';\n\t\tcase 'zt':\n\t\t\treturn 'zh-Hant';\n\t\tcase 'xl':\n\t\t\treturn 'en';\n\t\tdefault:\n\t\t\treturn locale\n\t\t\t\t? locale.replace(/[._]/, '-')\n\t\t\t\t: document.documentElement.lang;\n\t}\n};\n\nconst fixLocale = (formData, singleCurrency = false) => {\n\tconst currentUser = getCurrentUser(formData);\n\n\t// If single currency mode is enabled, use the system's default locale from 'glide.system.locale'.\n\t// Reference: https://www.servicenow.com/docs/bundle/xanadu-platform-administration/page/administer/currency/concept/single-currency-mode.html\n\n\t// Otherwise, prioritize the user's session details (language and country).\n\t// If these are unavailable, fall back to the system's default locale.\n\t// Reference: https://www.servicenow.com/docs/bundle/xanadu-platform-administration/page/administer/currency/concept/locales.html\n\n\tconst locale = singleCurrency\n\t\t? getProperty('glide.system.locale')\n\t\t: currentUser.language && currentUser.country\n\t\t\t? `${currentUser.language}-${currentUser.country}`\n\t\t\t: getProperty('glide.system.locale');\n\n\t// Normalize the locale format to ensure consistency.\n\tconst formattedLocale = normalizeFormat(locale);\n\n\t// Return the formatted locale if it's supported; otherwise, fallback to the document's default language.\n\treturn isSupportedLocal(formattedLocale)\n\t\t? formattedLocale\n\t\t: document.documentElement.lang;\n};\n\nconst resolveLanguage = (\n\tuserLanguage,\n\tsystemLanguage,\n\tsupportedLanguages = ''\n) => {\n\tconst supportedLanguagesArr = supportedLanguages.split(',');\n\tif (userLanguage && supportedLanguagesArr.includes(userLanguage))\n\t\treturn userLanguage;\n\tif (systemLanguage && supportedLanguagesArr.includes(systemLanguage))\n\t\treturn systemLanguage;\n\treturn 'en';\n};\n\nexport {\n\tisAccessibilityTooltipsEnabled,\n\tgetCurrentUser,\n\tgetHelperContent,\n\tgetTimeProps,\n\tfixLocale,\n\tgetUserLanguage,\n\tresolveLanguage\n};\n","import {\n\tmemoize,\n\tincludes,\n\tpickBy,\n\tidentity,\n\tchain,\n\tomit,\n\tmap,\n\tisEmpty\n} from 'lodash';\nimport { format as fnsFormat } from 'date-fns';\nimport {\n\tget,\n\tFIELD_TYPE,\n\tgetLocale,\n\thasLocale,\n\tisTimeZoneEnabledField\n} from '@devsnc/sn-controls-common';\nimport { t } from 'sn-translate';\nimport { LiveUpdateMessage } from '@devsnc/sn-form-controls';\nimport {\n\tescapeSeismicSpecialSymbols,\n\tgetProperty\n} from '@devsnc/sn-controls-common';\nimport { isDateTimeValueValid } from '@servicenow/library-date-time';\nimport { getCurrentUser } from './userPrefUtils';\nimport { getDateFnsFormat } from '@servicenow/now-record-date-picker';\n\nconst getHtmlAttributes = dictionaryAttributes => {\n\t//map the attributes to our prop names & return truthy properties only\n\treturn (\n\t\tdictionaryAttributes &&\n\t\tpickBy(\n\t\t\t{\n\t\t\t\theight: dictionaryAttributes['editor.height'],\n\t\t\t\tmaxHeight: dictionaryAttributes['editor.max_height'],\n\t\t\t\tplugins: dictionaryAttributes['editor.plugins'],\n\t\t\t\ttoolbar: dictionaryAttributes['editor.toolbar'],\n\t\t\t\tbrowserSpellcheck: dictionaryAttributes['editor.spellcheck'],\n\t\t\t\tautoresizeBottomMargin:\n\t\t\t\t\tdictionaryAttributes['editor.autoresize_bottom_margin'],\n\t\t\t\tnewlineBehavior: dictionaryAttributes['editor.newline_behavior']\n\t\t\t},\n\t\t\tidentity\n\t\t)\n\t);\n};\n\nconst getDictionaryAttrs = controlProps => {\n\treturn chain(get(controlProps, 'dictionary.attributes'))\n\t\t.keyBy('name')\n\t\t.mapValues('value')\n\t\t.value();\n};\n\n/**\n * DEF0675068: Adjust displayValue for date fields based on the user's locale.\n * If date format has MMM or a, it means month or AM/PM will be displayed in\n * text translated to the language of the locale, and the text has to be\n * adjusted to the user's locale.\n */\nconst adjustTextValueForLocale = controlProps => {\n\tlet displayValue = controlProps.displayValue;\n\tconst {\n\t\tformat,\n\t\tlanguage,\n\t\trequired,\n\t\ttype = 'standard',\n\t\thasTimePicker,\n\t\ttimePicker\n\t} = controlProps;\n\n\tlet code = language || document.documentElement.lang;\n\n\tif (!hasLocale(code)) {\n\t\tcode = code.split('-')[0];\n\t\tif (!hasLocale(code)) code = 'en';\n\t}\n\t// get the fns locale required for parsing and formatting with date-fns library\n\tconst localeValue = getLocale(code);\n\t// get the dateFormat supported by date-fns\n\tlet dateFnsFormat = getDateFnsFormat(\n\t\tformat,\n\t\ttype,\n\t\thasTimePicker || timePicker\n\t);\n\t// date-fns does not support timezone parsing, so we remove it from format\n\tif (!isTimeZoneEnabledField(controlProps.format))\n\t\tdateFnsFormat = dateFnsFormat.replace(' z', '');\n\n\tlet validDateObject = isDateTimeValueValid({\n\t\tvalue: displayValue,\n\t\tformat: dateFnsFormat,\n\t\trequired,\n\t\tlocale: localeValue\n\t});\n\t// special case handling for German, where most of the date library\n\t// including the glide server side one do not support vorm. or\n\t// nachm. for AM/PM but date-fns does which is followed by NDS date-time\n\t// component, due to which we have to support it as well. (https://github.com/moment/moment/issues/3585)\n\t// We send vorm./nachm. to NDS date-time and am/pm to Form callback to be processed\n\t// by server and stored in DB. (check date-picker actionHandlers.js for more details)\n\tif (!validDateObject.valid && language == 'de' && format.includes('a')) {\n\t\tvalidDateObject = isDateTimeValueValid({\n\t\t\tvalue: displayValue.replace(/([aApP][mM])/g, match =>\n\t\t\t\tmatch.toLowerCase() === 'am' ? 'vorm.' : 'nachm.'\n\t\t\t),\n\t\t\tformat: dateFnsFormat,\n\t\t\trequired,\n\t\t\tlocale: localeValue\n\t\t});\n\t}\n\t// If date-fns is unable to parse it, it is most likely that the user locale is not set to\n\t// English, however the date we are recieving as props value is locale=en coded.\n\t// This happens for one situation, when form loads and we directly get the props from server\n\t// which comes in default locale (en). Another situtation is when locale is 'de' or 'he'\n\t// (see date-picker actionHandlers.js for context). In this case, we parse the value using the\n\t// JS Date API and then send it to date-fns for formatting, and the final formatted value is\n\t// set to be sent to NDS date-time component.\n\tconst dateObj =\n\t\t(validDateObject.valid && validDateObject.date) || new Date(displayValue);\n\n\tif (!Number.isNaN(dateObj.valueOf()))\n\t\tdisplayValue = fnsFormat(\n\t\t\tdateObj,\n\t\t\tgetDateFnsFormat(format, type, hasTimePicker || timePicker),\n\t\t\t{ locale: localeValue }\n\t\t);\n\n\treturn displayValue;\n};\n\n/**\n * For date/time fields, `displayValue` is adjusted for the user's timezone\n * pref, `value` is not. Move the displayValue over to the value prop so that\n * the form control can deal with localized time rather than UTC.\n */\nconst adjustPropsForTimezone = controlProps => {\n\tlet displayValue = controlProps.displayValue;\n\tconst { fieldType, language, format } = controlProps;\n\tconst displayValueCanHaveText =\n\t\tformat?.includes('MMM') || format?.includes('a');\n\t// for non-en locale, set the appropriate value based on locale\n\tif (\n\t\tfieldType?.includes('date') &&\n\t\tlanguage !== 'en' &&\n\t\tdisplayValue &&\n\t\tdisplayValueCanHaveText\n\t) {\n\t\tdisplayValue = adjustTextValueForLocale(controlProps);\n\t}\n\tconst originalDisplayValue =\n\t\tcontrolProps.originalDisplayValue || controlProps.originalValue;\n\tconst updatedProps = omit(controlProps, 'displayValue');\n\tif (controlProps.fieldType === FIELD_TYPE.INTEGER_DATE) {\n\t\treturn {\n\t\t\t...updatedProps,\n\t\t\tvalue: displayValue,\n\t\t\toriginalValue: originalDisplayValue\n\t\t};\n\t}\n\n\treturn {\n\t\t...updatedProps,\n\t\tvalue: displayValue || controlProps.value,\n\t\toriginalValue: originalDisplayValue\n\t};\n};\n\n/**\n * Determines whether a given field type is supported by controls team.\n * @param {string} type - name of the field type\n * @returns {boolean} Whether the type is supported\n */\nconst isSupported = type => {\n\treturn includes(FIELD_TYPE, type);\n};\n\nconst getMessagesAndLiveUpdate = (liveUpdate, msgs) => {\n\tconst messages = Array.isArray(msgs) ? msgs : [];\n\n\tif (liveUpdate) {\n\t\tlet userName = get(liveUpdate, 'updatedBy.displayName');\n\t\tlet newMsg = { type: '', message: new LiveUpdateMessage(userName) };\n\t\tif (liveUpdate.isUserModified) {\n\t\t\tnewMsg.type = 'warning';\n\t\t\tnewMsg.message.setNewValue(liveUpdate.displayValue);\n\t\t} else {\n\t\t\tnewMsg.type = 'liveUpdate';\n\t\t}\n\n\t\treturn [...messages, newMsg];\n\t}\n\treturn messages;\n};\n\nconst transformValueForDaysOfWeek = value => {\n\tconst newValue = value ? value.split('').join(',') : value;\n\treturn newValue;\n};\n\nconst sanitizeField = field => {\n\t// Remove props that can conflict with HTML or have otherwise unintended side effects\n\t// eslint-disable-next-line no-unused-vars\n\tconst { type, hidden, ...validAttrs } = field;\n\n\tif (hidden) {\n\t\tconsole.warn(\n\t\t\t`Invalid attribute \"hidden\" found for ${field.name}. Use \"visible\" instead.`\n\t\t);\n\t}\n\n\treturn validAttrs;\n};\n\nconst getReferenceProps = controlProps => ({\n\t...controlProps,\n\ttableName: controlProps.referringTable,\n\tfieldName: controlProps.name,\n\tsortBy: controlProps.refAcOrderBy,\n\treferenceTable: controlProps.reference,\n\tdisplayValue: escapeSeismicSpecialSymbols(controlProps.displayValue),\n\trecordSysId: controlProps.referringRecordId,\n\tsearchCancelable: getProperty(\n\t\t'glide.request_manager.cancel_reference_completer',\n\t\ttrue\n\t),\n\tmaxSearchMatches: Number.parseInt(\n\t\tgetProperty('glide.ui.max_search_matches', 250),\n\t\t10\n\t)\n});\n\nconst normalizeCountryCodes = countryCodes =>\n\tmap(countryCodes, code => ({\n\t\t...code,\n\t\tvalue: code.code,\n\t\tdisplayValue: `${code.name} +${code.code}`\n\t}));\n\nconst getDateFormat = (formData, keepOriginal) =>\n\tmemoize(() => {\n\t\tconst dateFormat = getCurrentUser(formData).dateFormat || 'YYYY-MM-DD';\n\t\treturn keepOriginal ? dateFormat : dateFormat.toUpperCase();\n\t})();\n\nconst getTimeFormat = formData =>\n\tmemoize(() => {\n\t\tlet userTimeFormat = getCurrentUser(formData).timeFormat;\n\t\treturn (userTimeFormat && userTimeFormat.replace(':SSS', '')) || 'HH:mm:ss'; // the platform does not support milliseconds, change time format\n\t})();\n\nconst getDateTimeFormat = (formData, keepOriginal) =>\n\tmemoize(\n\t\t() => `${getDateFormat(formData, keepOriginal)} ${getTimeFormat(formData)}`\n\t)();\n\nconst getAttribute = controlProps => (attribute, defaultValue) => {\n\tconst attributes = get(controlProps, 'dictionary.attributes', []);\n\n\tconst attributeValue = attributes.find(a => a.name === attribute);\n\n\treturn attributeValue === undefined ? defaultValue : attributeValue.value;\n};\n\nconst checkIfInfoMessageExists = controlProps => {\n\tconst { dependentFieldLabel, messages } = controlProps;\n\tconst infoMessage = t(\n\t\t`Alert: Select a ${dependentFieldLabel} before modifying this field`\n\t);\n\treturn messages.find(item => item.message === infoMessage);\n};\n\nconst parseCountryCode = (countryCode, value, countryCodes) => {\n\tif (!value) return countryCode;\n\tconst parsedCode = (countryCodes || []).find(code =>\n\t\tvalue.startsWith(`+${code.code}`)\n\t);\n\treturn parsedCode && parsedCode !== countryCode\n\t\t? parsedCode.code\n\t\t: countryCode;\n};\n\nconst getFormDataForTemplateValue = (formData = {}) => ({\n\t...formData,\n\tencodedRecord: ''\n});\n\nconst toHtml = htmlString => {\n\tif (typeof htmlString == 'string')\n\t\treturn (\n\t\t\t<span\n\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t__html: htmlString\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\n\treturn htmlString;\n};\n\nconst getEncryptedFieldLabel = (originalLabel, encryptionName = '') => {\n\tconst suffix = !isEmpty(encryptionName) ? `: ${encryptionName}` : '';\n\tconst translatedEncrypted = t('Encrypted');\n\tconst fullSuffix = ` (${translatedEncrypted}${suffix})`;\n\treturn originalLabel + fullSuffix;\n};\n\nconst isRefSearchOnClickSuppressed = ({ reference }) => {\n\tconst exceptionReferences = getProperty(\n\t\t'glide.ui.reference.fields.onclick.override',\n\t\t''\n\t).split(',');\n\treturn exceptionReferences.includes(reference);\n};\n\n/**\n * Normalises the original value to match the format of the value.\n * @param {*} originalValue\n * @param {*} value\n * @returns\n */\nfunction normalizeToDurationFormat(originalValue, value) {\n\tif (!value || !originalValue) return originalValue;\n\n\t// If original doesn't have days and valueFormat does, prepend '00 '\n\tif (value.includes(' ') && !originalValue.includes(' ')) {\n\t\treturn `00 ${originalValue}`;\n\t}\n\t// If valueFormat doesn't have days, strip days from originalValue\n\tif (!value.includes(' ') && originalValue.includes(' ')) {\n\t\treturn originalValue.split(' ')[1]; // remove the day part\n\t}\n\treturn originalValue; // already in same format\n}\n\nexport {\n\tgetHtmlAttributes,\n\tgetDictionaryAttrs,\n\tadjustPropsForTimezone,\n\tadjustTextValueForLocale,\n\tisSupported,\n\tgetMessagesAndLiveUpdate,\n\ttransformValueForDaysOfWeek,\n\tsanitizeField,\n\tgetReferenceProps,\n\tnormalizeCountryCodes,\n\tgetDateFormat,\n\tgetTimeFormat,\n\tgetDateTimeFormat,\n\tgetAttribute,\n\tcheckIfInfoMessageExists,\n\tparseCountryCode,\n\tgetFormDataForTemplateValue,\n\ttoHtml,\n\tgetEncryptedFieldLabel,\n\tisRefSearchOnClickSuppressed,\n\tnormalizeToDurationFormat\n};\n","import { isAttrTrue } from '@devsnc/sn-controls-common';\n\nconst safelyParseJSON = jsonString => {\n\ttry {\n\t\treturn JSON.parse(jsonString);\n\t} catch (e) {\n\t\treturn {};\n\t}\n};\n\nconst isApplicableField = (table, field, contextMenu) => {\n\treturn isAttrTrue(contextMenu?.formfieldsMapper?.[table]?.[field]);\n};\n\nconst getFieldNowAssistContextMenu = field => {\n\tconst { name, fieldNowAssistContextMenu, referringTable } = field;\n\tconst contextMenu = safelyParseJSON(fieldNowAssistContextMenu);\n\treturn isApplicableField(referringTable, name, contextMenu)\n\t\t? contextMenu\n\t\t: {};\n};\n\nexport { getFieldNowAssistContextMenu };\n","import { get, includes, map } from 'lodash';\nimport * as PhoneFormatter from './phoneFormat';\nimport { getCurrentUser } from '../base/factoryUtils';\n\nexport function getCountryCode(props, state) {\n\tconst { formData } = props;\n\tconst userSetCode = getCurrentUser(formData)?.countryCallingCode;\n\n\treturn (\n\t\t(state && state.countryCode) ||\n\t\tprops.countryCode ||\n\t\tuserSetCode ||\n\t\tprops.defaultCode ||\n\t\tget(props.countryCodes, '0.value')\n\t);\n}\nexport function addPlusSign(countryCode) {\n\tif (includes(countryCode, '+')) return countryCode;\n\n\treturn '+' + countryCode;\n}\n\nexport function getFormattedPlaceholder(formats) {\n\tconst format = get(formats, '[0].format.value', '');\n\tconst pattern = get(formats, '[0].pattern.value', '');\n\treturn PhoneFormatter.getPlaceholder(format, pattern);\n}\n\nexport function addChoiceValue(countryCodes) {\n\treturn map(countryCodes, country => {\n\t\treturn {\n\t\t\t...country,\n\t\t\tdisplayValue: country.name + ' (+' + country.code + ')'\n\t\t};\n\t});\n}\n\nexport function addDisplayTrue(countryCodes) {\n\treturn map(countryCodes, country => ({ ...country, display: true }));\n}\n\nexport function normalizeQueryCountryCodes(countries) {\n\treturn map(countries, country => ({\n\t\tcode: country.ccc.value,\n\t\tname: country.name.value,\n\t\tvalue: country.ccc.value\n\t}));\n}\n\nexport function getAllCountryCodes(countryCodes = [], territories = []) {\n\treturn addChoiceValue([\n\t\t...addDisplayTrue(countryCodes),\n\t\t...normalizeQueryCountryCodes(territories)\n\t]);\n}\n\nexport function getCountryName(displayValue) {\n\tif (!displayValue || displayValue.indexOf(' (') === -1) return undefined;\n\n\treturn displayValue.substring(0, displayValue.indexOf(' ('));\n}\n","import { get, isFunction, isUndefined, size, toString } from 'lodash';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tCALLBACK_AND_DISPATCH_WITH_STATE,\n\teffectProxy,\n\thandleInitialValue,\n\tNOW_INPUT\n} from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { getCountryCode, getAllCountryCodes, getCountryName } from './utils';\nimport { formatting } from './ConnectedPhone';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const AREA_CODE_MATCH_LIMIT = 40;\n\nconst NOW_DROPDOWN_CUSTOM_TARGET = {\n\tSELECTED_ITEM_SET: 'NOW_DROPDOWN_CUSTOM_TARGET#SELECTED_ITEMS_SET'\n};\n\nconst formatQuery = `\nquery ($queryConditions: String!, $paginationLimit: Int) {\n  GlideRecord_Query {\n    sys_phone_format(\n\t\t\tqueryConditions: $queryConditions,\n\t\t\tpagination: {limit: $paginationLimit}\n\t\t) {\n      _results {\n        condition {\n          value\n        }\n        format {\n          value\n        }\n        pattern {\n          value\n        }\n      }\n    }\n  }\n}\n`;\n\nconst territoryQuery = `\nquery ($queryConditions: String!) {\n  GlideRecord_Query {\n    sys_phone_territory(queryConditions: $queryConditions) {\n      _results {\n        name {\n          value\n        }\n        ccc {\n          value\n        }\n      }\n    }\n  }\n}\n`;\n\nexport const FETCH_PHONE_FORMATS_START = 'FETCH_PHONE_FORMATS_START';\nexport const FETCH_PHONE_FORMATS = 'FETCH_PHONE_FORMATS';\nexport const FETCH_PHONE_FORMATS_SUCCESS = 'FETCH_PHONE_FORMATS_SUCCESS';\nexport const FETCH_PHONE_TERRITORY = 'FETCH_PHONE_TERRITORY';\nexport const FETCH_PHONE_TERRITORY_SUCCESS = 'FETCH_PHONE_TERRITORY_SUCCESS';\nexport const FETCH_PHONE_PROCESSED = 'FETCH_PHONE_PROCESSED';\n\nexport const LOADING_FETCH_STATUS = 'LOADING_FETCH_STATUS';\nexport const NEEDS_PROCESSING_FETCH_STATUS = 'NEEDS_PROCESSING_FETCH_STATUS';\nexport const PROCESSED_FETCH_STATUS = 'PROCESSED_FETCH_STATUS';\n\nexport const ON_SELECT_CHANGE =\n\t'SN_RECORD_PHONE_CONNECTED_INTERNAL#ON_SELECT_CHANGE';\nexport const ON_PHONE_CLICK =\n\t'SN_RECORD_PHONE_CONNECTED_INTERNAL#ON_PHONE_CLICK';\n\nconst GRAPHQL_FORMAT_DATA_PATH =\n\t'data.GlideRecord_Query.sys_phone_format._results';\n\nconst GRAPHQL_TERRITORY_DATA_PATH =\n\t'data.GlideRecord_Query.sys_phone_territory._results';\n\nexport const phoneFormatGraphQLEffect = createGraphQLEffect(formatQuery, {\n\tvariableList: ['queryConditions', 'paginationLimit'],\n\tsuccessActionType: FETCH_PHONE_FORMATS_SUCCESS\n});\n\nexport const phoneTerritoryGraphQLEffect = createGraphQLEffect(territoryQuery, {\n\tvariableList: ['queryConditions'],\n\tsuccessActionType: FETCH_PHONE_TERRITORY_SUCCESS\n});\n\nexport default {\n\t[COMPONENT_CONNECTED]: ({ properties, dispatch }) => {\n\t\t// TODO: make e164 flag to replace this\n\t\tconst { countryCodes } = properties;\n\t\tif (size(countryCodes) > 0) {\n\t\t\tdispatch(FETCH_PHONE_TERRITORY, {\n\t\t\t\tqueryConditions: 'active=true'\n\t\t\t});\n\t\t\tdispatch(FETCH_PHONE_FORMATS, {\n\t\t\t\tqueryConditions: `phone_territory.ccc=${\n\t\t\t\t\tgetCountryCode(properties) || '1'\n\t\t\t\t}`,\n\t\t\t\tpaginationLimit: AREA_CODE_MATCH_LIMIT\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tconst { countryCodes, countryCode: countryCodeProp } = properties;\n\t\tconst { additionalInfo } = state;\n\t\t// if we have a new country-code, set the phone format\n\t\tif (\n\t\t\tname === 'countryCode' &&\n\t\t\tvalue !== previousValue &&\n\t\t\tsize(countryCodes) > 0\n\t\t) {\n\t\t\tconst queryValue = !isUndefined(value) ? value : 1;\n\t\t\t// we're explicitly not using `getCountryCode` b/c this is the country code we want\n\t\t\tdispatch(FETCH_PHONE_FORMATS, {\n\t\t\t\tqueryConditions: `phone_territory.ccc=${queryValue}`,\n\t\t\t\tpaginationLimit: AREA_CODE_MATCH_LIMIT\n\t\t\t});\n\t\t} else if (name === 'initialValue') {\n\t\t\tconst nextInitialValue = toString(value);\n\t\t\tconst oldInitialValue = toString(previousValue);\n\t\t\tconst countryCode =\n\t\t\t\tadditionalInfo.countryCode !== countryCodeProp && countryCodeProp;\n\t\t\thandleInitialValue({\n\t\t\t\trawValue: value,\n\t\t\t\tnewValue: nextInitialValue,\n\t\t\t\toldValue: oldInitialValue,\n\t\t\t\tstate: countryCode\n\t\t\t\t\t? { ...state, additionalInfo: { ...additionalInfo, countryCode } }\n\t\t\t\t\t: state,\n\t\t\t\tproperties,\n\t\t\t\tformat: formatting,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t},\n\t[ON_SELECT_CHANGE]: ({\n\t\taction: {\n\t\t\tpayload: { countryCode, displayValue, oldCountryCode }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate\n\t}) => {\n\t\tconst countryName = getCountryName(displayValue);\n\n\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\tcallback: properties.onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tvalue: state.value,\n\t\t\t\tadditionalInfo: {\n\t\t\t\t\tcountryCode,\n\t\t\t\t\tformats: undefined,\n\t\t\t\t\tcountryName,\n\t\t\t\t\toldCountryCode\n\t\t\t\t}\n\t\t\t}\n\t\t}); // reset formats until GraphQL is finished and sets new countryCode\n\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: {\n\t\t\t\tname: properties.name,\n\t\t\t\tfieldType: 'sn-record-phone-connected'\n\t\t\t}\n\t\t});\n\n\t\tdispatch(FETCH_PHONE_FORMATS, {\n\t\t\tqueryConditions: `phone_territory.ccc=${countryCode || '1'}`,\n\t\t\tpaginationLimit: AREA_CODE_MATCH_LIMIT\n\t\t});\n\t},\n\t[ON_PHONE_CLICK]: ({\n\t\tproperties,\n\t\tdispatch,\n\t\tstate: { value, stagedValue },\n\t\taction: {\n\t\t\tpayload: { event }\n\t\t}\n\t}) => {\n\t\tconst { phoneAddon, name, label, countryCode } = properties;\n\t\tconst phoneNumber = stagedValue || value;\n\t\tconst fullNumber = countryCode\n\t\t\t? `${countryCode}${phoneNumber}`\n\t\t\t: phoneNumber;\n\t\tdispatch('PHONE_ADDON_ACTION_CLICK', {\n\t\t\tphoneNumber: fullNumber,\n\t\t\tfieldName: name,\n\t\t\tfieldLabel: label\n\t\t});\n\t\tif (isFunction(phoneAddon)) {\n\t\t\tphoneAddon(event, fullNumber, name, label);\n\t\t}\n\t},\n\t[FETCH_PHONE_FORMATS]: effectProxy(phoneFormatGraphQLEffect),\n\t[FETCH_PHONE_FORMATS_SUCCESS]: ({\n\t\tupdateProperties,\n\t\tupdateState,\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate\n\t}) => {\n\t\tconst { payload, meta } = action;\n\t\t// TODO: Check error cases\n\t\tconst formats = get(payload, GRAPHQL_FORMAT_DATA_PATH);\n\t\tconst queryConditions = get(meta, 'options.variables.queryConditions');\n\t\tconst countryCode = queryConditions.match(/\\d{1,3}$/)[0];\n\n\t\tconst territories = state.territories || properties.territories || [];\n\t\tconst countryCodes = properties.countryCodes || [];\n\t\tconst allCodes = getAllCountryCodes(countryCodes, territories);\n\t\tconst matchedCountry = allCodes.find(\n\t\t\tcountry => country.code === countryCode || country.value === countryCode\n\t\t);\n\t\tconst countryName = getCountryName(matchedCountry?.displayValue);\n\n\t\tupdateProperties({\n\t\t\tformats,\n\t\t\tcountryCodeQueried: countryCode,\n\t\t\tcountryCodeFormats: { [countryCode]: formats }\n\t\t});\n\t\tif (countryName) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'countryName',\n\t\t\t\tvalue: countryName,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t}\n\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\tcallback: properties.onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tvalue: state.value,\n\t\t\t\tadditionalInfo: {\n\t\t\t\t\tcountryCode,\n\t\t\t\t\tformats: formats,\n\t\t\t\t\tcountryCodeFormats: { [countryCode]: formats },\n\t\t\t\t\tcountryName\n\t\t\t\t},\n\t\t\t\tformat: true\n\t\t\t}\n\t\t});\n\t},\n\t[FETCH_PHONE_TERRITORY]: effectProxy(phoneTerritoryGraphQLEffect),\n\t[FETCH_PHONE_TERRITORY_SUCCESS]: ({ updateState, action }) => {\n\t\tconst { payload } = action.payload;\n\t\tconst territories = get(payload, GRAPHQL_TERRITORY_DATA_PATH);\n\t\tupdateState({\n\t\t\tpath: 'territories',\n\t\t\tvalue: territories,\n\t\t\toperation: 'set',\n\t\t\tshoudRender: true\n\t\t});\n\t},\n\t[NOW_DROPDOWN_CUSTOM_TARGET.SELECTED_ITEM_SET]: ({\n\t\tstate,\n\t\tproperties,\n\t\taction,\n\t\tdispatch\n\t}) => {\n\t\tconst { name } = properties;\n\t\tconst oldCountryCode = getCountryCode(properties, state);\n\t\tconst countryCodeDisplayValue = action.payload.items[0].label;\n\t\tconst countryCode = action.payload.value[0];\n\t\tdispatch(ON_SELECT_CHANGE, {\n\t\t\tcountryCode,\n\t\t\tdisplayValue: countryCodeDisplayValue,\n\t\t\toldCountryCode\n\t\t});\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: {\n\t\t\t\tname,\n\t\t\t\tfieldType: 'sn-record-phone-connected'\n\t\t\t}\n\t\t});\n\t\taction.stopPropagation();\n\t},\n\t[NOW_INPUT.VALUE_SET]: ({ action, dispatch, properties }) => {\n\t\tconst { name } = properties;\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: {\n\t\t\t\tname,\n\t\t\t\tfieldType: 'sn-record-phone-connected'\n\t\t\t}\n\t\t});\n\t\taction.stopPropagation();\n\t}\n};\n","import { size, includes } from 'lodash';\nimport {\n\tgetAriaLabelFromConfig,\n\tgetDeclarativeActionsProps,\n\tisAttrTrue,\n\ttransformDescriptionAndMessages,\n\twrapHelperContent,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-declarative-actions';\nimport { t } from 'sn-translate';\nimport {\n\taddPlusSign,\n\tgetCountryCode,\n\tgetFormattedPlaceholder,\n\tgetAllCountryCodes\n} from './utils';\n\nconst getNumberValue = (readonly, selectedCountryCode, number) => {\n\tif (!includes(number, '+') && isAttrTrue(readonly) && selectedCountryCode)\n\t\treturn addPlusSign(`${selectedCountryCode} ${number}`);\n\treturn number;\n};\n\nconst adaptCountryCodes = countryCodes =>\n\tcountryCodes.map(item => ({ id: item.code, label: item.displayValue }));\n\nconst renderAdaptedControlSlot = () => <slot name=\"controls\" slot=\"end\" />;\n\nconst renderCountryCodeDropdown = ({\n\tcomponentId,\n\tname,\n\treadonly,\n\tcountryCodes,\n\tselectedCountryCode\n}) => {\n\tif (isAttrTrue(readonly)) return;\n\treturn (\n\t\t<now-dropdown-custom-target\n\t\t\tslot=\"start\"\n\t\t\titems={adaptCountryCodes(countryCodes)}\n\t\t\tselected-items={[selectedCountryCode]}\n\t\t\tsearch=\"contains\"\n\t\t\tconfig-aria={{ panel: { 'aria-label': t('Select country code') } }}\n\t\t>\n\t\t\t<now-button-bare\n\t\t\t\thide-block-padding\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon-end=\"caret-down-fill\"\n\t\t\t\tlabel={addPlusSign(selectedCountryCode)}\n\t\t\t\tcomponentId={`${componentId}_phone_e164_choice`}\n\t\t\t\tname={`${name}_phone_e164_choice`}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\t'aria-label': t('Country code: +{0}', selectedCountryCode),\n\t\t\t\t\t'aria-haspopup': 'listbox',\n\t\t\t\t\t'aria-expanded': 'false'\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/now-dropdown-custom-target>\n\t);\n};\n\n/**\n * Specialized input to handle phone numbers. Can optionally render a button to\n * trigger a call to the given phone number.\n */\nexport const view = (state, { dispatch }) => {\n\tconst {\n\t\treadonly,\n\t\tdeclarativeActionsProps: derivedDeclarativeActionsProps,\n\t\tname,\n\t\tcomponentId,\n\t\tdescription,\n\t\tmessages,\n\t\tautofocus,\n\t\tinvalid,\n\t\tlabel,\n\t\tmaxlength,\n\t\trequired,\n\t\thelperContent,\n\t\tconfigAria,\n\t\tformData,\n\t\tfieldLayout,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\tconst formats = state.formats || state.properties.formats;\n\tconst territories = state.territories || state.properties.territories;\n\tconst countryCodes = state.countryCodes || state.properties.countryCodes;\n\n\tconst { value, internalValue } = state;\n\tconst formattedPlaceHolder = getFormattedPlaceholder(formats);\n\tconst defaultCode = getCountryCode({ ...state.properties, ...state });\n\n\tconst allCodes = getAllCountryCodes(countryCodes, territories);\n\n\tconst declarativeActionsProps = {\n\t\t...getDeclarativeActionsProps(\n\t\t\tderivedDeclarativeActionsProps,\n\t\t\tstate.properties\n\t\t),\n\t\tvalue: internalValue ?? value\n\t};\n\n\treturn (\n\t\t<now-input\n\t\t\tclassName=\"sn-record-phone-connected\"\n\t\t\ttype=\"tel\"\n\t\t\tname={name}\n\t\t\tautofocus={autofocus}\n\t\t\tinvalid={invalid}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmaxlength={maxlength}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={required}\n\t\t\tvalue={getNumberValue(readonly, defaultCode, value)}\n\t\t\tplaceholder={isAttrTrue(readonly) ? '-' : formattedPlaceHolder}\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tmanage-invalid\n\t\t\tmanage-value\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\tlabel\n\t\t\t\t})\n\t\t\t)}\n\t\t\t{renderAdaptedControlSlot()}\n\t\t\t{renderDecorations(state.properties)}\n\t\t\t<sn-declarative-field-action\n\t\t\t\tslot=\"end\"\n\t\t\t\tmodel={declarativeActionsProps}\n\t\t\t\tactions={declarativeActionsProps.declarativeUiActions}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tformData={formData}\n\t\t\t\tfetchDeclarativeActions={\n\t\t\t\t\tdeclarativeActionsProps.fetchDeclarativeActions\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{size(countryCodes) > 0 &&\n\t\t\t\trenderCountryCodeDropdown({\n\t\t\t\t\tcomponentId,\n\t\t\t\t\tname,\n\t\t\t\t\treadonly,\n\t\t\t\t\tcountryCodes: allCodes,\n\t\t\t\t\tselectedCountryCode: defaultCode\n\t\t\t\t})}\n\t\t<\/now-input>\n\t);\n};\n","import '@servicenow/now-input';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-button';\nimport { omit, size, get } from 'lodash';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport actionHandlers from './actionHandlers';\nimport * as PhoneFormatter from './phoneFormat';\n\nimport style from './phone.scss';\n\nimport {\n\ttrackBehavior,\n\tcreateWithStateBehavior,\n\twithState,\n\ttransformState,\n\tSeismicComponentFieldPropDefaults,\n\tsetInitialStateWithValue,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\nimport { getCountryCode } from './utils';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { view } from './view';\n\nconst withStateBehavior = {\n\tbehavior: createWithStateBehavior({\n\t\tparse: parsing,\n\t\tformat: formatting,\n\t\teventBased: false\n\t})\n};\nconst stripSeparators = phoneNumber =>\n\tphoneNumber.replace(PhoneFormatter.phoneSeparatorRegex, '');\n\nconst numberMatch = (num1, num2) => {\n\tif (!num1 || !num2) return false;\n\treturn stripSeparators(num1) === stripSeparators(num2);\n};\n\nexport function parsing(value, props, state = {}) {\n\tif (numberMatch(value, props.originalValue))\n\t\treturn { value: props.originalValue };\n\tconst countryCodes = props.countryCodes || state.countryCodes;\n\tconst countryCodeFormats =\n\t\tprops.countryCodeFormats || state.countryCodeFormats;\n\tconst { countryName } = state;\n\tif (size(countryCodes) < 1) {\n\t\tconst parsedObject = PhoneFormatter.parse(value);\n\t\treturn parsedObject;\n\t}\n\tconst countryCode = getCountryCode(props, state);\n\tconst formats = countryCodeFormats && countryCodeFormats[countryCode];\n\treturn PhoneFormatter.e164parse(\n\t\tvalue,\n\t\tcountryName,\n\t\tformats,\n\t\tcountryCode,\n\t\tprops.isStrictEnabled\n\t);\n}\n\nexport function formatting(value, props, state = {}) {\n\tconst countryCodes = get(props, 'countryCodes');\n\tconst { countryName, formats, oldCountryCode } = state;\n\tconst defaultCode = getCountryCode(props, state);\n\tif (size(countryCodes) < 1) {\n\t\treturn PhoneFormatter.format(value);\n\t}\n\n\treturn PhoneFormatter.e164format(\n\t\tvalue,\n\t\tdefaultCode,\n\t\tformats,\n\t\tcountryName,\n\t\toldCountryCode,\n\t\tprops.isStrictEnabled\n\t);\n}\n\nconst properties = {\n\t...omit(SeismicComponentFieldPropDefaults, ['value']),\n\t/**\n\t * Locale in which currency should be formatted in\n\t *\n\t * @type {object}\n\t */\n\tliveUpdate: {},\n\t/**\n\t * Current country set on field in database\n\t */\n\tcountryCode: { schema: { type: 'string' } },\n\tdeclarativeUiActions: {},\n\tformData: {},\n\t/**\n\t * Declarative Actions Props\n\t */\n\tdeclarativeActionsProps: {},\n\n\t/**\n\t * Dictionary values and attributes for the field\n\t */\n\tdictionary: {},\n\n\t/**\n\t * Display value for the input.\n\t */\n\tdisplayValue: { schema: { type: 'string' }, default: '' },\n\n\t/**\n\t * Initial value for the input.\n\t */\n\tinitialValue: { schema: { type: 'string' }, default: '' },\n\n\t/**\n\t * Callback function that is called as the user interacts with the control,\n\t * fired as soon as user interaction has begun. It is not guaranteed to be\n\t * the final or complete value from the user; use `onValueChange` for that.\n\t *\n\t * @param {SyntheticEvent} event The react event that triggered the change.\n\t * This *can* be null when the value has been changed programatically.\n\t *\n\t * @param {String} name The name of the component. This will match the value\n\t * of the `name` component prop.\n\t *\n\t * @param {Any} value The new value.\n\t */\n\tonStagedValueChange: {},\n\n\t/**\n\t * Callback function that is called as the user finishes interacting with\n\t * the control.\n\t *\n\t * @param {SyntheticEvent} event The react event that triggered the change.\n\t * This *can* be null when the value has been changed programatically.\n\t *\n\t * @param {String} name The name of the component. This will match the value\n\t * of the `name` component prop.\n\t *\n\t * @param {Any} value The new value.\n\t */\n\tonValueChange: {},\n\n\t/**\n\t * Toggle the default formatting behavior for numbers that match us phone numbers\n\t */\n\tformatUsPhone: {},\n\n\t/**\n\t * Phone addon flag to show/hide phone icon. This can be either a boolean or function.\n\t * If its a function, clicking the phone icon will dispatch the event AND call the function\n\t * as a callback.\n\t */\n\tphoneAddon: {},\n\n\t/**\n\t * List of available country codes that the user can choose from.\n\t */\n\tcountryCodes: { default: [] },\n\n\t/**\n\t * Flag to disable validations for phone number field\n\t */\n\tisStrictEnabled: { default: true },\n\n\t/*\n\t * The default code to use for phone e164 fields\n\t * TODO: hook this up for use in the component\n\t */\n\tdefaultCode: { schema: { type: 'string' } },\n\n\tformatFetchState: { schema: { type: 'string' } },\n\tformats: {},\n\tcountryCodeQueried: { schema: { type: 'string' } },\n\tcountryCodeFormats: {},\n\tformatFetchStatus: { schema: { type: 'string' } },\n\toriginalValue: { schema: { type: 'string' } },\n\t/**\n\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t * via client script using g_form api\n\t * which renders alongside the field's label.\n\t * @type {Array.<{icon: string, text: string}>}\n\t */\n\tdecorations: {\n\t\tdefault: [],\n\t\ttype: 'array'\n\t},\n\t/**\n\t * Determines if the field label should wrap or truncate when space is limited.\n\t * @type {boolean}\n\t */\n\twrapLabel: {\n\t\tdefault: false\n\t},\n\tshowAIIndicator: {\n\t\tdefault: false,\n\t\tschema: { type: 'boolean' }\n\t},\n\tisModified: {\n\t\tdefault: false,\n\t\tschema: { type: 'boolean' }\n\t},\n\t/**\n\t * Background color variant for the field\n\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t */\n\tcolor: {\n\t\tdefault: 'initial',\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: [\n\t\t\t\t'initial',\n\t\t\t\t'critical',\n\t\t\t\t'high',\n\t\t\t\t'warning',\n\t\t\t\t'moderate',\n\t\t\t\t'positive',\n\t\t\t\t'info',\n\t\t\t\t'low',\n\t\t\t\t'blue',\n\t\t\t\t'brown',\n\t\t\t\t'gray',\n\t\t\t\t'green',\n\t\t\t\t'green-yellow',\n\t\t\t\t'magenta',\n\t\t\t\t'orange',\n\t\t\t\t'pink',\n\t\t\t\t'purple',\n\t\t\t\t'teal',\n\t\t\t\t'yellow'\n\t\t\t]\n\t\t}\n\t}\n};\n\ncreateCustomElement('sn-record-phone-connected', {\n\tview: withState(view),\n\tstyles: style,\n\tproperties,\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers,\n\ttransformState,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithStateBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t],\n\tsetInitialState: ({ properties }) => ({\n\t\tisHandlingInitialValue: true,\n\t\t...setInitialStateWithValue(formatting)({ properties })\n\t})\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tSeismicComponentFieldPropDefaults,\n\tfieldLayoutSchema\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-record-currency-connected';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nexport const view = state => {\n\tconst { properties } = state;\n\treturn <sn-record-currency-connected {...properties} isPrice />;\n};\n\nconst COMPONENT_NAME = 'sn-record-price-connected';\n\n/**\n *\n *  Input and dropdown field that let's you display a price. When switching currency types:\n *  the price can either be calculated, be a set value from the price record, or fixed\n *  (depending on how the price record is set up)\n *```jsx\n *\n *```\n * @seismicElement sn-record-price-connected\n * @summary *  Input and dropdown field that lets you display a price\n * */\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t/**\n\t\t * Currency Code of the value passed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcode: {},\n\n\t\t/**\n\t\t * Props for declarative actions associated with this field.\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * Flag to know if currency list dropdown is open or not\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tdropdownOpen: {},\n\n\t\t/**\n\t\t * Initial value for the input.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tinitialValue: {},\n\n\t\t/**\n\t\t * When the `value` string does not contain a currency code, use this default\n\t\t * currency code instead. Will be ignored if `value` is prefixed with a\n\t\t * currency code.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdefaultCurrency: { default: 'USD' },\n\n\t\t/**\n\t\t * System locale setting used to format the currency\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlocale: { default: window.navigator.language },\n\n\t\t/**\n\t\t * Locale in which currency should be formatted in\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Should be locked into using a single currency\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsingleCurrency: {},\n\n\t\t/**\n\t\t * System setting to allow all digits entered regardless of currency format\n\t\t *\n\t\t * @type {string | boolean}\n\t\t */\n\t\tuseAllFractionsDigits: {},\n\n\t\t/**\n\t\t * Maximum number of fraction digits to show\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tmaxFractionDigits: { default: 4 },\n\n\t\t/**\n\t\t * Minimum number of fraction digits to show\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tminFractionDigits: { default: 2 },\n\n\t\t/**\n\t\t * List of available currencies that the user can enter.\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tcurrencyCodes: { default: [] },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: {},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on each value change on the input.\n\t\t *\n\t\t * @type {{ value: string }}\n\t\t */\n\t\t'SN_RECORD_PRICE_CONNECTED#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a value is changed and input is blurred\n\t\t *\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_PRICE_CONNECTED#VALUE_CHANGED': {}\n\t}\n});\n\nexport default COMPONENT_NAME;\n","import { t } from 'sn-translate';\nimport { isFunction } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport {\n\tadaptCallbackForLegacyAPI,\n\twrapHelperContent,\n\ttrackBehavior,\n\ttransformMessages,\n\tisAttrTrue,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\tfieldLayoutSchema,\n\trenderDecorations,\n\twithValueChangeCallbacksView,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport '@servicenow/now-input';\nimport style from './url.scss';\n\nexport const setInitialState = ({ properties }) => {\n\tconst { dictionaryAttributes = {} } = properties;\n\tconst allowRelativeURL = dictionaryAttributes['allowRelativeURL'];\n\treturn {\n\t\tallowRelativeURL\n\t};\n};\n\nexport const actionHandlers = {\n\t'NOW_INPUT_URL#INVALID_SET': ({\n\t\taction: {\n\t\t\tpayload: { name, fieldValue: value, value: invalid }\n\t\t},\n\t\tproperties: { onValueChange, initialValue },\n\t\tdispatch,\n\t\tstate\n\t}) => {\n\t\tlet error = null;\n\t\tif (!state?.allowRelativeURL) {\n\t\t\terror = !invalid\n\t\t\t\t? null\n\t\t\t\t: {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t\t'The URL provided is invalid. Please provide the absolute URL.'\n\t\t\t\t\t\t)\n\t\t\t\t\t};\n\t\t}\n\t\tif (isFunction(onValueChange)) {\n\t\t\tif (initialValue !== undefined && initialValue !== value) {\n\t\t\t\tdispatch('TRACK', {\n\t\t\t\t\tmetaData: { name: name, fieldType: 'url' }\n\t\t\t\t});\n\t\t\t}\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({ name, value, error });\n\t\t}\n\t}\n};\n\nexport const URL = ({\n\tallowRelativeURL,\n\tproperties,\n\tproperties: {\n\t\tname,\n\t\tmessages,\n\t\tlabel,\n\t\tplaceholder,\n\t\trequired,\n\t\treadonly,\n\t\tinitialValue,\n\t\tinvalid,\n\t\tvalue = initialValue,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t}\n}) => {\n\t// Missing:\n\t// Focus on input after going into edit mode\n\t// Focus on edit button after leaving edit mode\n\t// Customizable pattern for url validation\n\n\t//\tconfig-aria={{\n\t//\t\t'aria-controls': this.props.componentId,\n\t//\t\t'aria-label': t(\n\t//\t\t\t'Field action for {0}: {1}',\n\t//\t\t\tthis.props.label,\n\t//\t\t\teditLabel\n\t//\t\t)\n\t//\t}}\n\n\tif (isAttrTrue(readonly) && !value)\n\t\treturn (\n\t\t\t<now-input\n\t\t\t\tlabel={label}\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\treadonly\n\t\t\t\tvalue=\"—\"\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t\t{renderDecorations(properties)}\n\t\t\t<\/now-input>\n\t\t);\n\n\treturn (\n\t\t<now-input-url\n\t\t\tname={name}\n\t\t\tvalue={value}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tplaceholder={placeholder}\n\t\t\trequired={required}\n\t\t\treadonly={readonly}\n\t\t\tinvalid={invalid}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tmanageInvalid={allowRelativeURL ? true : false}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, { label })\n\t\t\t)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(properties)}\n\t\t<\/now-input-url>\n\t);\n};\n\ncreateCustomElement('sn-record-url', {\n\tview: withValueChangeCallbacksView(URL),\n\tsetInitialState,\n\tproperties: {\n\t\tdescription: {},\n\t\tinitialValue: {},\n\t\tinvalid: {},\n\t\tlabel: {},\n\t\tmessages: {},\n\t\tname: {},\n\t\tplaceholder: {},\n\t\trequired: {},\n\t\treadonly: {},\n\t\tvalue: {},\n\t\tonValueChange: {},\n\t\tonStagedValueChange: {},\n\t\thelperContent: {},\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Dictionary attributes to set and configure the field.\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t'NOW_INPUT_URL#VALUE_SET': { stopPropagation: true },\n\t\t'NOW_INPUT_URL#INVALID_SET': { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tstyles: style\n});\n\nexport default URL;\n","import { t } from 'sn-translate';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-input';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tadaptCallbackForLegacyAPI,\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\ttrackBehavior,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\tfieldLayoutSchema,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\n\nimport styles from './ip-address.scss';\n\nconst getError = value => ({\n\ttype: 'error',\n\ticon: 'circle-exclamation-outline',\n\tmessage: t('{0} is not a valid IP address', value)\n});\n\n// Dispatches value change\nconst dispatchValueChanged = (payload, effectProps) => {\n\tconst { state, updateState, dispatch } = effectProps;\n\tconst onValueChange = state.properties.onValueChange;\n\tconst { value, error } = payload;\n\tconst shouldDispatch =\n\t\tstate.properties.value !== value || state.error !== error;\n\n\tconst errorNotReadOnly = isAttrTrue(state.properties.readonly)\n\t\t? false\n\t\t: error;\n\n\tupdateState({ error: errorNotReadOnly });\n\tif (onValueChange) {\n\t\tshouldDispatch &&\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t...payload,\n\t\t\t\terror: errorNotReadOnly\n\t\t\t});\n\t}\n\n\tshouldDispatch &&\n\t\tdispatch('NOW_RECORD_IP_ADDRESS#VALUE_CHANGED', {\n\t\t\t...payload,\n\t\t\terror: errorNotReadOnly\n\t\t});\n\n\tshouldDispatch &&\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: state.properties.name, fieldType: 'ip-address' }\n\t\t});\n};\n\nexport const actionHandlers = {\n\t'NOW_INPUT#INVALID_SET': {\n\t\tstopPropagation: true,\n\t\teffect: effectProps => {\n\t\t\tconst { readonly } = effectProps.properties;\n\t\t\tif (!isAttrTrue(readonly)) {\n\t\t\t\tconst {\n\t\t\t\t\tname,\n\t\t\t\t\tvalue: invalid,\n\t\t\t\t\tfieldValue: value\n\t\t\t\t} = effectProps.action.payload;\n\t\t\t\tconst payload = {\n\t\t\t\t\tname,\n\t\t\t\t\tvalue,\n\t\t\t\t\terror: invalid ? getError(value) : false\n\t\t\t\t};\n\n\t\t\t\tdispatchValueChanged(payload, effectProps);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const view = state => {\n\tconst {\n\t\tdisabled,\n\t\tmessages,\n\t\terror,\n\t\tinvalid,\n\t\tlabel,\n\t\tplaceholder,\n\t\tname,\n\t\trequired,\n\t\treadonly,\n\t\tautofocus,\n\t\tvalue,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\treturn (\n\t\t<now-input\n\t\t\ttype=\"ip\"\n\t\t\tautofocus={isAttrTrue(autofocus)}\n\t\t\tinvalid={invalid || Boolean(error)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tname={name}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tdisabled={isAttrTrue(disabled)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tvalue={value}\n\t\t\tmanage-value\n\t\t\tmanage-invalid\n\t\t\tfieldLayout={fieldLayout}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\tlabel\n\t\t\t\t})\n\t\t\t)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\nconst COMPONENT_NAME = 'now-record-ip-address';\n\n/**\n *\n *  Input field that follows the IP address format.\n *```jsx\n * <div>\n *\t<now-record-ip-address\n *\t\tlabel=\"I am label\"\n *\t\tvalue={state.value}\n *\t\tplaceholder={'10.1.11.111'}\n *\t/>\n * <\/div>;\n *\n *```\n * @seismicElement now-record-ip-address\n * @summary *  Input field that contains IP address format constraints.\n * */\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * When true, the input will be focused immediately upon being rendered.\n\t\t * @type {boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: { default: false },\n\t\t/**\n\t\t * Flag indicating whether there is an error in ip-address formatting\n\t\t * @type {string | boolean }\n\t\t */\n\t\terror: { default: '' },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tinvalid: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * The language for the character used in the input field\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * The messages that you want to display underneath the component\n\t\t * @type {[{ type: 'string', message: 'string' }]}\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Underlying data for the component on initial focus\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { default: '' },\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t'NOW_INPUT#VALUE_SET': { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'NOW_RECORD_IP_ADDRESS#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","import { t } from 'sn-translate';\n\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-input';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tadaptCallbackForLegacyAPI,\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\ttrackBehavior,\n\trenderHighlightedValue,\n\tgetAriaLabelFromConfig,\n\tfieldLayoutSchema,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\n\nimport { SN_RECORD_VERSION_VALUE_CHANGED } from './constants';\nimport styles from './version.scss';\n\nconst COMPONENT_NAME = 'sn-record-version';\nconst versionRegex = /^$|^(\\d+(\\.\\d+)*|(\\.\\d+)*)$/;\n\n/**\n * checks if passed in string (in dot-decimal notation) is a valid version\n * @param {string} value - version string we wish to validate\n * @returns {boolean} valid version or not\n */\nexport const isVersion = value => versionRegex.test(value);\n\n/**\n * @param {string} value input version string\n * @return {object} error message object\n */\nexport const getError = value => ({\n\ttype: 'error',\n\ticon: 'circle-close-outline',\n\tmessage: t(\n\t\t'{0} is not a valid version, must use dot-decimal notation.',\n\t\tvalue\n\t)\n});\n\nexport const actionHandlers = {\n\t['NOW_INPUT#INVALID_SET']: {\n\t\tstopPropagation: true,\n\t\teffect: effectProps => {\n\t\t\tconst {\n\t\t\t\tproperties: { readonly, onValueChange },\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t} = effectProps;\n\t\t\tif (isAttrTrue(readonly)) return;\n\t\t\tconst { name, fieldValue: value } = effectProps.action.payload;\n\t\t\tconst invalid = !isVersion(value);\n\t\t\tconst payload = {\n\t\t\t\tname,\n\t\t\t\tvalue,\n\t\t\t\terror: invalid ? getError(value) : ''\n\t\t\t};\n\t\t\tconst shouldDispatch = effectProps.properties.value !== value;\n\n\t\t\t// when there is change in value, we update the error state and execute the callback.\n\t\t\tupdateState({ error: payload.error });\n\n\t\t\tif (shouldDispatch) {\n\t\t\t\tonValueChange &&\n\t\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t\t\t...payload\n\t\t\t\t\t});\n\t\t\t\tdispatch('TRACK', {\n\t\t\t\t\tmetaData: { name: name, fieldType: 'version' }\n\t\t\t\t});\n\t\t\t\tdispatch(SN_RECORD_VERSION_VALUE_CHANGED, {\n\t\t\t\t\t...payload\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const view = state => {\n\tconst {\n\t\tdisabled,\n\t\tmessages,\n\t\terror,\n\t\tinvalid,\n\t\tlabel,\n\t\tplaceholder,\n\t\tname,\n\t\trequired,\n\t\treadonly,\n\t\tautofocus,\n\t\tvalue,\n\t\tmaxlength,\n\t\thelperContent,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = state.properties;\n\n\treturn (\n\t\t<now-input\n\t\t\ttype=\"text\"\n\t\t\tautofocus={isAttrTrue(autofocus)}\n\t\t\tdisabled={isAttrTrue(disabled)}\n\t\t\tinvalid={invalid || Boolean(error)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmaxlength={maxlength}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\tname={name}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tvalue={value}\n\t\t\tmanage-value\n\t\t\tmanage-invalid\n\t\t\tfieldLayout={fieldLayout}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, { label })\n\t\t\t)}\n\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(state.properties)}\n\t\t<\/now-input>\n\t);\n};\n\n/**\n *\n * This component is basically an input field with version validations on the string entered.\n * Allows all characters to be entered but only accepts the string which is in dot-decimal notation.\n * If the entered string isn't a valid version, corresponding error message is displayed.\n *\n * ```jsx\n * <div>\n *\t <sn-record-version\n *\t\t label=\"I am a label\"\n *\t\t value={state.value}\n *\t />\n * <\/div>;\n * ```\n *\n * @seismicElement sn-record-version\n * @summary This component is an input field with validations on the version string entered.\n *\n */\n\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * When true, the field will be disabled so that it can't be used or tabbed to.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * If the version string is invalid, it holds the error message.\n\t\t * @type {string | object}\n\t\t */\n\t\terror: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'object' }] },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Specifies whether the current value for version is valid or not.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { schema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] } },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Maxlength defined for the version field.\n\t\t * @type {number}\n\t\t */\n\t\tmaxlength: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\t\t\t'liveUpdate',\n\t\t\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\t\t\t'suggestion'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmessage: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Callback used when the value has changed.\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Underlying data for the component on initial focus\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t['NOW_INPUT#VALUE_SET']: { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ name: string, value: string, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_VERSION#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","export const SN_RECORD_VERSION_VALUE_CHANGED =\n\t'SN_RECORD_VERSION#VALUE_CHANGED';\n","import { first, map, tail } from 'lodash';\n\n/**\n * Return a filtered list of option objects\n * @param {array} data query result\n * @param {array} selected list of selected values\n * @return {array} list of option objects\n */\nexport function getResults(data, referenceKey, referenceList = true) {\n\tconst getOptionFromResult = ({\n\t\treferenceData,\n\t\tsysId,\n\t\treferenceKeyValue\n\t} = {}) => {\n\t\tconst displayValues = map(referenceData, referenceList ? 'value' : 'key');\n\t\tconst key = map(referenceData, 'key');\n\t\tconst value = referenceKey ? referenceKeyValue : sysId;\n\t\treturn {\n\t\t\tkey: first(key),\n\t\t\tvalue,\n\t\t\tdisplayValue: first(displayValues),\n\t\t\tsecondary: tail(displayValues),\n\t\t\toptionSysId: sysId\n\t\t};\n\t};\n\n\tconst results = map(data, getOptionFromResult).filter(\n\t\titem => item.value || item.key === '-- None --'\n\t);\n\n\treturn results;\n}\n","// 3rd party imports\nimport { omit, get } from 'lodash';\n\n// Function imports\nimport { getResults } from './utils';\n\n// Component imports\nimport { GlideQueryBaseSeismic } from '@devsnc/sn-glide-query-base';\n\nconst GLOABAL = 'global';\n\nexport const mapResults = (data, dictionarySorted, properties) => {\n\tconst { referenceKey, referenceTable } = properties;\n\tlet results = get(data, 'GlideLayout_Query.referenceDataRetriever', {});\n\tconst totalCount = results.matchesCount;\n\tlet referenceList = referenceTable != GLOABAL;\n\treturn {\n\t\trecents: getResults(\n\t\t\tresults.referenceRecentDataList,\n\t\t\treferenceKey,\n\t\t\treferenceList\n\t\t),\n\t\toptions: getResults(results.referenceDataList, referenceKey, referenceList),\n\t\ttotalCount\n\t};\n};\n\nexport const getChars = (inputVal, { searchOnClick }) => {\n\tif (inputVal.length > 0) return inputVal;\n\tif (searchOnClick === false) return '';\n\treturn '**';\n};\n\nexport const getVariables = properties => inputVal => {\n\tconst {\n\t\tdisableReferenceQualifier,\n\t\trecordSysId,\n\t\tfieldName,\n\t\ttableName,\n\t\tignoreReferenceQualifier,\n\t\tresultLimit,\n\t\tformData,\n\t\tsortBy = '',\n\t\treferenceKey,\n\t\toverrideReferenceTable,\n\t\tquery,\n\t\torderByDisplayColumn\n\t} = properties;\n\tif (recordSysId && fieldName && tableName) {\n\t\treturn {\n\t\t\tsys_id: get(formData, 'isNewRecord') ? '-1' : recordSysId,\n\t\t\tfield: fieldName,\n\t\t\ttable: tableName,\n\t\t\tignoreRefQual: ignoreReferenceQualifier || disableReferenceQualifier,\n\t\t\tpaginationLimit: resultLimit,\n\t\t\tchars: getChars(inputVal, properties),\n\t\t\tsortBy,\n\t\t\treferenceKey,\n\t\t\toverrideReferenceTable,\n\t\t\tquery,\n\t\t\torderByDisplayColumn\n\t\t};\n\t}\n};\n\nexport const setInnerRef = dispatch => ref => {\n\tdispatch('SET_INNER_REF', { ref });\n};\n\n/**\n * Reference fields allow users to select a value from a dynamic list of\n * choices that point to another field in the database. For a more general\n * approach (that doesn't require instances) see `glide-field-lookup`.\n */\nconst view = (state, { dispatch }) => {\n\tconst { properties } = state;\n\n\tconst results = get(properties, 'results');\n\tconst isSearching = get(properties, 'isSearching');\n\tconst {\n\t\tmaxSearchMatches,\n\t\tsearchCancelable,\n\t\tsearchUsingStartsWith,\n\t\tsearchOnClick,\n\t\treferenceSysId,\n\t\thighlightedValue,\n\t\tconfigAria,\n\t\tdecorations,\n\t\treferenceTable\n\t} = properties;\n\n\treturn (\n\t\t<GlideQueryBaseSeismic\n\t\t\t{...omit(properties, ['resultLimit', 'value', 'displayValue'])}\n\t\t\tonValueChange={state.onValueChange}\n\t\t\tqueryBaseState={state}\n\t\t\tdispatch={dispatch}\n\t\t\tdisableTracking\n\t\t\tisSearching={isSearching}\n\t\t\tresults={results} // results was created from actionHandler\n\t\t\tmapResults={mapResults}\n\t\t\tgetVariables={getVariables(properties)}\n\t\t\tinnerRef={setInnerRef(dispatch)}\n\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\tsearchOnClick={searchOnClick}\n\t\t\tshowDeclartiveActions={referenceTable != GLOABAL}\n\t\t\tsearchCancelable={searchCancelable}\n\t\t\tmaxSearchMatches={maxSearchMatches}\n\t\t\t// added this check to address when value is empty, it comes to us as value = true.\n\t\t\t// same for display value too\n\t\t\tvalue={properties.value === true ? '' : properties.value}\n\t\t\tdisplayValue={\n\t\t\t\tproperties.displayValue === true ? '' : properties.displayValue\n\t\t\t}\n\t\t\treferenceSysId={referenceSysId}\n\t\t\thighlightedValue={highlightedValue}\n\t\t\tconfigAria={configAria}\n\t\t\tdecorations={decorations}\n\t\t\tshowAIIndicator={properties.showAIIndicator}\n\t\t\tisModified={properties.isModified}\n\t\t/>\n\t);\n};\n\nexport default view;\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tqueryBaseActionHandlers,\n\tRUN_READ_QUERY\n} from '@devsnc/sn-glide-query-base';\nimport { get } from 'lodash';\nimport { getVariables } from './view';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nlet query = `\nquery ($table: String!, $field: String!, $sys_id: String, $encodedRecord: String, $serializedChanges: String, $chars: String!, $ignoreRefQual: Glide_Boolean, $paginationLimit: Int, $paginationOffset: Int, $sortBy: String, $referenceKey: String, $overrideReferenceTable: String, $query: String, $orderByDisplayColumn: Glide_Boolean) {\n  GlideLayout_Query {\n    referenceDataRetriever(\n      tableName: $table,\n      fieldName: $field,\n      encodedRecord: $encodedRecord,\n      serializedChanges: $serializedChanges,\n      pagination: {limit: $paginationLimit, offset: $paginationOffset},\n      ignoreTotalCount: true,\n      sysId: $sys_id, chars: $chars,\n      sysparm_ignore_ref_qual: $ignoreRefQual,\n      sortBy: $sortBy,\n      sysparm_ref_override: $overrideReferenceTable,\n      query: $query,\n      orderByDisplayColumn: $orderByDisplayColumn,\n      referenceKey: $referenceKey ) {\n      totalCount\n      recentCount\n      matchesCount\n      referenceRecentDataList {\n        sysId\n        referenceKeyValue\n        referenceData {\n          key\n          value\n        }\n      }\n      referenceDataList {\n        sysId\n        referenceKeyValue\n        referenceData {\n          key\n          value\n        }\n      }\n    }\n  }\n}\n`;\n\nlet variableList = [\n\t'table',\n\t'field',\n\t'sys_id',\n\t'encodedRecord',\n\t'serializedChanges',\n\t'chars',\n\t'ignoreRefQual',\n\t'paginationLimit',\n\t'paginationOffset',\n\t'sortBy',\n\t'referenceKey',\n\t'overrideReferenceTable',\n\t'query',\n\t'orderByDisplayColumn'\n];\n\nconst valueChangedEffect = ({ updateProperties, state, action }) => {\n\tconst name = get(action.payload, 'name', '');\n\tif (name === state.properties.name) {\n\t\tupdateProperties({\n\t\t\tfocusInput: Date.now()\n\t\t});\n\t}\n\n\treturn state;\n};\n\nconst setInnerRefEffect = ({\n\taction: {\n\t\tpayload: { ref }\n\t},\n\tupdateState\n}) => {\n\tupdateState({\n\t\tpath: 'ref',\n\t\tvalue: ref,\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n\nconst componentPropertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value, previousValue }\n\t},\n\tstate\n}) => {\n\tif (name === 'focusInput' && value !== previousValue && state.ref) {\n\t\tstate.ref.focus();\n\t}\n};\n\nconst runReadQueryEffect = ({\n\taction: {\n\t\tpayload: { value }\n\t},\n\tstate: { debouncedQueryDispatcher },\n\tproperties,\n\tdispatch\n}) => {\n\tdebouncedQueryDispatcher(\n\t\tvalue,\n\t\t{ ...properties, getVariables: getVariables(properties) },\n\t\tdispatch\n\t);\n};\n\nconst actionHandlers = {\n\tVALUE_CHANGED: {\n\t\teffect: valueChangedEffect\n\t},\n\tSET_INNER_REF: {\n\t\teffect: setInnerRefEffect\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: componentPropertyChangedEffect\n\t},\n\t[RUN_READ_QUERY]: {\n\t\teffect: runReadQueryEffect\n\t}\n};\n\nconst queryBaseActionHandlersData = queryBaseActionHandlers(\n\tquery,\n\tvariableList\n);\nexport const queryBaseFetchDataEffect =\n\tqueryBaseActionHandlersData.queryBaseFetchDataEffect;\n\nexport default {\n\t...queryBaseActionHandlersData.actionHandlers,\n\t...actionHandlers\n};\n","// Seismic imports\nimport { createCustomElement } from '@servicenow/ui-core';\nimport {\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\ttransformState,\n\twithValueChangeCallbacksView,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\nimport view, { mapResults } from './view';\nimport actionHandlers from './actionHandlers';\nimport { queryBaseBehavior } from '@devsnc/sn-glide-query-base';\nimport { setInitialQueryBaseState } from '@devsnc/sn-glide-query-base';\n\n// Component imports\nimport NowTypeahead from '@servicenow/now-record-typeahead';\nimport NowTypeaheadMultiple from '@servicenow/now-record-typeahead-multiple';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\n/**\n * ```jsx\n *\n * <sn-record-reference-connected\n *\t\tlabel= 'Reference Field',\n *      value: '5137153cc611227c000bbd1bd8cd2005',\n *\t\tdisplayValue: 'Fred Luddy',\n *\t\trecordSysId: '78271e1347c12200e0ef563dbb9a7109',\n *\t\ttableName: 'incident',\n *\t\treferenceTable: 'sys_user',\n *\t\tfieldName: 'assigned_to',\n * />\n * ```\n *\n * @seismicElement sn-record-reference-connected\n * @summary Reference Connected Component\n *\n */\n\ncreateCustomElement('sn-record-reference-connected', {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: NowTypeahead.style + NowTypeaheadMultiple.style,\n\tproperties: {\n\t\t/**\n\t\t * aria-describedby\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * aria-label\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * aria-labelledby\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Optional name of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: {},\n\n\t\t/**\n\t\t * Optional value of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldValue: {},\n\n\t\t/**\n\t\t * Please use `dependentFieldValue` instead\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValue: {},\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableDisplayValueWarning: { default: true },\n\n\t\t/**\n\t\t * When true, prevent the user from typing in free-form email addresses.\n\t\t * Instead, an email must be selected from the list of available options.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableEmailFreeformEntry: {},\n\n\t\t/**\n\t\t * displayValue can be string or number or array of values\n\t\t *\n\t\t * @type {(array|number|string)}\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdictionary: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t * @type {object}\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * Name of the field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Full Display Value of domain id field\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\n\t\tfullDisplayValue: {},\n\t\t/**\n\t\t * Flag to hide the reference icon\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideReferenceIcon: {},\n\n\t\t/**\n\t\t * Boolean to toggle reference qualifiers\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableReferenceQualifier: { default: false },\n\n\t\t/**\n\t\t * Please use `disableReferenceQualifier` instead\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tignoreReferenceQualifier: { default: false },\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Indicates whether the component is waiting for a graphql request to finish\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisSearching: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tmultiSelection: { default: false },\n\n\t\t/**\n\t\t * Server-side cap of number of results\n\t\t * @type {number}\n\t\t */\n\t\tmaxSearchMatches: { default: 250 },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Please use `disableEmailFreeformEntry` instead\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tnoEmail: {},\n\n\t\t/**\n\t\t * Callback function triggered when the user presses Enter\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonEnter: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: {},\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\trecordSysId: {},\n\n\t\t/**\n\t\t * Callback to show record\n\t\t *\n\t\t * @type {(boolean | function | string)}\n\t\t * @private\n\t\t */\n\t\treferenceAddon: { default: true },\n\n\t\t/**\n\t\t * Flag to show the reference icon in readonly mode\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\treferenceAddonReadonly: { default: false },\n\n\t\t/**\n\t\t * Name of the table the field is referring to\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {},\n\n\t\t/**\n\t\t * Name of the key to use as a reference for the table\n\t\t * In other words, the name of the field to use to reference the table\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferenceKey: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: {},\n\n\t\t/**\n\t\t * Whether or not order by should happen with displayColumn\n\t\t * If an orderBy is already present, this will act as secondary orderby.\n\t\t *\n\t\t * @type {(boolean)}\n\t\t */\n\t\torderByDisplayColumn: { default: true },\n\n\t\t/**\n\t\t * Integer limit of reference suggestions\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tresultLimit: { default: 10 },\n\n\t\t/**\n\t\t * The results returned from glide query base\n\t\t *\n\t\t * @type {array}\n\t\t * @private\n\t\t */\n\t\tresults: { default: [] },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * Callback to launch reference list modal\n\t\t *\n\t\t * @type {(boolean | function | string)}\n\t\t * @private\n\t\t */\n\t\tsearchAddon: { default: true },\n\n\t\t/**\n\t\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t\t * Defaults to 400ms\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tsearchDebounce: { default: 400 },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t *  @type {boolean}\n\t\t */\n\t\tsearchUsingStartsWith: { default: true },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t *  @type {boolean}\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * Toggles whether to pass the header to allow new search requests to cancel\n\t\t * search transactions that are still running\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchCancelable: { default: true },\n\n\t\t/**\n\t\t * The sys id cooresponding to the selected record value. Important for when\n\t\t * a reference key is used.\n\t\t * @type {string}\n\t\t */\n\t\treferenceSysId: {},\n\n\t\t/**\n\t\t * Specifies whether the email should be validated following RFC6530 standard or not.\n\t\t * @type {boolean}\n\t\t */\n\t\tinternationalizedEmail: { default: false },\n\n\t\t/**\n\t\t * String containing all serialized UI changes\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tserializedChanges: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * Sorting Auto Complete values by column name\n\t\t *\n\t\t * @type {string}\n\t\t *\n\t\t */\n\t\tsortBy: {},\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {},\n\n\t\t/**\n\t\t * Value can be anything\n\t\t *\n\t\t * @type {any}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}@type {{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }} or @type {{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Name of the reference table to override\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\toverrideReferenceTable: {},\n\t\t/**\n\t\t * query to be applied on the reference table\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tquery: {},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Flag to toggle AI indicator\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t'SN_GLIDE_QUERY_BASE#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_GLIDE_QUERY_BASE#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\ttransformState,\n\tsetInitialState: setInitialQueryBaseState(true),\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: queryBaseBehavior,\n\t\t\toptions: { mapResults }\n\t\t},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t]\n});\n","export const SN_RECORD_USER_ROLES_LOOKUP_CONNECTED_VALUE_CHANGED =\n\t'SN_RECORD_USER_ROLES_LOOKUP_CONNECTED#VALUE_CHANGED';\nexport const QUERY = `\nquery ($searchTerm:String!,$fieldReference:String!,$limit: Int) {\n  GlideLayout_Query {\n    userRolesQuery(searchTerm:$searchTerm,fieldReference:$fieldReference,limit:$limit){\n      userRoles\n    }\n  }\n}\n`;\nexport const variableList = ['searchTerm', 'fieldReference', 'limit'];\n","import { isFunction } from 'lodash';\nimport { queryBaseActionHandlers } from '@devsnc/sn-glide-query-base';\nimport { adaptCallbackForLegacyAPI } from '@devsnc/sn-controls-common';\nimport {\n\tSN_RECORD_USER_ROLES_LOOKUP_CONNECTED_VALUE_CHANGED,\n\tQUERY,\n\tvariableList\n} from './constants';\n\nconst { actionHandlers } = queryBaseActionHandlers(QUERY, variableList);\n\nconst valueChangedHandler = ({\n\taction: {\n\t\tpayload: { value }\n\t},\n\tproperties: { name, onValueChange, fieldType },\n\tdispatch\n}) => {\n\tconst desiredValue = value.map(val => val.value).join(',');\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue: desiredValue\n\t\t});\n\t}\n\n\tdispatch(SN_RECORD_USER_ROLES_LOOKUP_CONNECTED_VALUE_CHANGED, {\n\t\tname,\n\t\tvalue: desiredValue\n\t});\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: fieldType }\n\t});\n};\n\nexport default {\n\t...actionHandlers,\n\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED': {\n\t\teffect: valueChangedHandler,\n\t\tstopPropagation: true\n\t}\n};\n","import { get, map } from 'lodash';\n\n/**\n * gets variables to make a graphQL query\n * @param {*} referringTable the table in which the field is being controlled.\n * @param {*} resultLimit number of results to be displayed\n */\nexport const getVariables = (referringTable, resultLimit) => inputVal => {\n\tif (referringTable) {\n\t\treturn {\n\t\t\tsearchTerm: inputVal,\n\t\t\tfieldReference: referringTable,\n\t\t\tlimit: resultLimit\n\t\t};\n\t}\n};\n\n/**\n * maps the graphQL query response to required format\n * @param {*} data graphQL query response\n */\nexport const mapResults = data => {\n\tif (data && data.length === 0) {\n\t\treturn {};\n\t}\n\n\tconst userRoles = get(data, 'GlideLayout_Query.userRolesQuery.userRoles');\n\tif (!userRoles) {\n\t\treturn {};\n\t}\n\tconst totalCount = userRoles.length;\n\n\treturn {\n\t\toptions: map(userRoles, role => ({\n\t\t\tvalue: role,\n\t\t\tdisplayValue: role\n\t\t})),\n\t\ttotalCount\n\t};\n};\n","import { omit } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport {\n\tGlideQueryBaseSeismic,\n\tqueryBaseBehavior,\n\tsetInitialQueryBaseState\n} from '@devsnc/sn-glide-query-base';\nimport actionHandlers from './actionHandlers';\nimport { getVariables, mapResults } from './utils';\nimport {\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\nimport style from './user-roles-lookup-connected.scss';\n\nconst COMPONENT_NAME = 'sn-record-user-roles-lookup-connected';\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\n/**\n * This component allows looking up user roles.\n * @param {*} state\n */\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: { referringTable, resultLimit, multiSelection },\n\t\tproperties\n\t} = state;\n\tconst { results, isSearching, highlightedValue, configAria, decorations } =\n\t\tproperties;\n\n\treturn (\n\t\t<GlideQueryBaseSeismic\n\t\t\tqueryBaseState={state}\n\t\t\t{...omit(properties, ['resultLimit', 'value', 'displayValue'])}\n\t\t\tdispatch={dispatch}\n\t\t\tmultiSelection={multiSelection}\n\t\t\tisSearching={isSearching}\n\t\t\tresults={results}\n\t\t\tmapResults={mapResults}\n\t\t\tvalue={properties.value === true ? '' : properties.value}\n\t\t\tdisplayValue={\n\t\t\t\tproperties.displayValue === true ? '' : properties.displayValue\n\t\t\t}\n\t\t\tgetVariables={getVariables(referringTable, resultLimit)}\n\t\t\thighlightedValue={highlightedValue}\n\t\t\tdisableTracking\n\t\t\tconfigAria={configAria}\n\t\t\tdecorations={decorations}\n\t\t/>\n\t);\n};\n\n/**\n * ```jsx\n *\n * <sn-record-user-roles-lookup-connected\n *\t\treferringTable=\"incident\"\n * />\n * ```\n *\n * @seismicElement sn-record-user-roles-lookup-connected\n * @summary SN record user roles lookup field\n *\n */\n\ncreateCustomElement(COMPONENT_NAME, {\n\tview: withValueChangeCallbacksView(view),\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Which element (by ID) provides more description for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaDescribedBy: {},\n\n\t\t/**\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabel: {},\n\n\t\t/**\n\t\t * Which element (by ID) acts as a label for the component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tariaLabelledby: {},\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * Optional name of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: {},\n\n\t\t/**\n\t\t * Optional value of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldValue: {},\n\n\t\t/**\n\t\t * Please use `dependentFieldValue` instead\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValue: {},\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableDisplayValueWarning: {},\n\n\t\t/**\n\t\t * The display value of the underlying component\n\t\t *\n\t\t * @type {(array|number|string)}\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldType: {},\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean|string)}\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Indicates whether the component is waiting for a graphql request to finish\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisSearching: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tmultiSelection: { default: true },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type { function }\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\treadonly: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * Name of the table the record is listed in\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\treferringTable: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t */\n\t\trequired: {},\n\n\t\t/**\n\t\t * Integer limit of choice suggestions\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tresultLimit: { default: 15 },\n\n\t\t/**\n\t\t * The results returned from glide query base\n\t\t *\n\t\t * @type {array}\n\t\t */\n\t\tresults: { default: [] },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {(boolean | string)}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\n\t\t/**\n\t\t * Callback to launch reference list modal\n\t\t *\n\t\t * @type {(boolean | function | string)}\n\t\t * @private\n\t\t */\n\t\tsearchAddon: { default: true },\n\n\t\t/**\n\t\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t\t * Defaults to 400ms\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tsearchDebounce: { default: 400 },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t *  @type {boolean}\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * String containing all serialized UI changes\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tserializedChanges: {},\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tslot: {},\n\n\t\t/**\n\t\t * The value of the underlying component\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when user-roles lookup value changes\n\t\t * @type {{ name: string, value: string }}\n\t\t */\n\t\t'SN_RECORD_USER_ROLES_LOOKUP_CONNECTED#VALUE_CHANGED': {}\n\t},\n\tactionHandlers,\n\tsetInitialState: setInitialQueryBaseState(true),\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: queryBaseBehavior,\n\t\t\toptions: { mapResults }\n\t\t},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t],\n\ttransformState\n});\n\nexport default view;\n","import { t } from 'sn-translate';\n\n// NOW-MODAL\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\n\n// LIST-SELECTOR\nexport const LIST_SELECTOR_SELECTED_ITEM_SET = 'SN_LIST_SELECTOR#SELECTED_ITEM_SET';\n\n// NOW-BUTTON\nexport const ADD_BUTTON_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const EDIT_BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n\n// Component\nconst COMPONENT = 'SN_RECORD_LIST_SELECT';\nexport const VALUE_CHANGED = `${COMPONENT}#VALUE_CHANGED`;\nexport const UPDATE_VALUE = `${COMPONENT}#UPDATE_VALUE`;\n\nexport const MODAL_SUB_HEADER_LABEL = t(\n\t'Select columns and put them in the order you want.'\n);\n\nexport const CLICK_TO_ADD_LABEL = t('Click to add');\nexport const OPEN_LIST_LABEL = t('Open List');\nexport const OK_LABEL = t('Ok');\nexport const CANCEL_LABEL = t('Cancel');\nexport const MANUAL = \"manual\";\nexport const TWOPANELS = \"twoPanels\";\n\nexport const AVAILABLE_LABEL = t('Available columns');\nexport const SELECTED_LABEL = t('Selected columns');\n\nexport const REQUIRED_STR = t('required');\nexport const OPEN_MODAL_ACTION = 'openModal';\nexport const LIVE_UPDATE = 'liveUpdate';\n\nexport const DISPLAY_VALUE_SEPARATOR = ', ';\n","import { reduce } from 'lodash';\nimport { DISPLAY_VALUE_SEPARATOR } from './constants';\n\n/**\n * Creates slushbucket fields in the format as expected by sn-list-selector.\n * @param {Array<{label: string, value: string, selected: boolean, order: int}>} slushBucketFields\n * eg. [{label: \"Active\", value: \"active\", selected: true, order: 0},{label: \"Article body\", value: \"text\", selected: true, order: 0}],\n * @returns {Object<string: Object<label: string, reference: string>>}\n * eg. {{active: {label: \"Active\", reference: undefined}, text: {label: \"Article body\", reference: undefined}}\n */\nexport const getAvailableItems = (slushBucketFields = []) => {\n\tif(slushBucketFields?.length) {\n\t\tconst sbFields = reduce(\n\t\t\tslushBucketFields,\n\t\t\t(result, sbField) => {\n\t\t\t\tresult[sbField.value] = {label: sbField.label, reference: undefined}\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\treturn sbFields;\n\t}\n\telse return {};\n};\n\n/**\n * Get Selected fields to be passed to list selector\n * @param {Array<{label: string, value: string, selected: boolean, order: int}>} slushBucketFields\n * eg. [{label: \"Active\", value: \"active\", selected: true, order: 0},{label: \"Article body\", value: \"text\", selected: false, order: 0}],\n * @return {Array<Array<id: string, label: string>>}\n * eg. [[{id: \"active\", label: \"Active}]]\n */\nexport const getSelectedItems = (slushBucketFields = []) => {\n\tif (slushBucketFields?.length) {\n\t\tconst selectedItems = reduce(\n\t\t\tslushBucketFields,\n\t\t\t(result, sbField) => {\n\t\t\t\tif(sbField.selected) {\n\t\t\t\t\tresult.push([{\"id\": sbField.value, \"label\": sbField.label}]);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\treturn selectedItems;\n\t}\n\telse return [];\n};\n\n/**\n * Create string of displayValues\n * @param {Array<Array<{id: string, label: string}>>} selectedItems\n * eg. [[{id: \"active\", label: \"Active\"}],[{id: \"text\",label: \"Article body\"}]],\n * @return {Object<value: string, displayValuesWithPath: Array<string>>}\n * eg. \"Active, Article body\"\n */\nexport const getDisplayValues = selectedItems => {\n\tconst displayValues = [];\n\tselectedItems.forEach(item => {\n\t\tif(item[0]?.label) {\n\t\t\tdisplayValues.push(item[0].label);\n\t\t}\n\t});\n\treturn displayValues.join(DISPLAY_VALUE_SEPARATOR);\n};\n\n/**\n * Create string of values\n * @param {Array<Array<{id: string, label: string}>>} selectedItems\n * eg. [[{id: \"active\", label: \"Active\"}],[{id: \"text\",label: \"Article body\"}]],\n * @return {Object<value: string, displayValuesWithPath: Array<string>>}\n * eg. \"active, text\"\n */\nexport const getValues = selectedItems => {\n\tconst values = [];\n\tselectedItems.forEach(item => {\n\t\tif(item[0]?.id) {\n\t\t\tvalues.push(item[0].id);\n\t\t}\t\n\t});\n\treturn values.join(DISPLAY_VALUE_SEPARATOR);\n};\n\n/**\n * Update slushBucketFields based on selected values\n * @param {Array<{label: string, value: string, selected: boolean, order: int}>} slushFields\n * eg. [{label: \"Active\", value: \"active\", selected: false, order: 0},{label: \"Article body\", value: \"text\", selected: false, order: 0}]\n * @param {String} values\n * eg. \"active, text\"\n * @return {Array<{label: string, value: string, selected: boolean, order: int}>}\n * eg. [{label: \"Active\", value: \"active\", selected: true, order: 0},{label: \"Article body\", value: \"text\", selected: true, order: 0}]\n */\nexport const setSlushBucketFields = (slushFields, values) => {\n\tconst valueList = values.split(DISPLAY_VALUE_SEPARATOR);\n\t\n\t//Update slushFields based on selected values\n\tslushFields.forEach((field) => {\n\t\tif(valueList.includes(field.value)) {\n\t\t\tfield.selected = true;\n\t\t}\n\t});\n\treturn slushFields;\n};\n\n/**\n * Need an input with readonly functionality but non-readonly CSS as its a display only field\n * and user can hit the slot button to open a popup and set a value via that.\n * As of now in NDS now-input, when we set to readonly it gets a grey background which is deep inside multiple shadow roots\n * Below is added as a workaround. [we cannot use pointerevents as it disables the edit button as well]\n */\nexport const preventManualInput = e => {\n\tif (e && e.key != 'Tab') {\n\t\te.preventDefault();\n\t}\n};\n","import { isEqual, isFunction } from 'lodash';\n\nimport {\n\tisAttrTrue,\n\tadaptCallbackForLegacyAPI\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tgetValues,\n\tgetDisplayValues,\n\tsetSlushBucketFields,\n\tgetSelectedItems\n} from './utils';\nimport {\n\tLIVE_UPDATE,\n\tOPEN_MODAL_ACTION,\n\tVALUE_CHANGED\n} from './constants';\n\n// Called when Modal Close and Modal Cancel buttons are clicked\nexport const modalClosedEffect = ({\n\tstate: { selectedItems },\n\tupdateState\n}) => {\n\tupdateState({\n\t\topened: false,\n\t\tselectedItemsStaged: selectedItems\n\t});\n};\n\n// Called when OK button is clicked from the Modal\nexport const updateValueEffect = ({\n\tproperties: { name, onValueChange },\n\tstate: { selectedItemsStaged },\n\tdispatch,\n\tupdateState\n}) => {\n\tconst stateDisplayValue = getDisplayValues(selectedItemsStaged);\n\tconst stateValue = getValues(selectedItemsStaged);\n\tupdateState({\n\t\tstateDisplayValue,\n\t\tdisplayValue: stateDisplayValue,\n\t\tvalue: stateValue,\n\t\tselectedItems: selectedItemsStaged,\n\t\topened: false,\n\t\tstateValue\n\t});\n\tconst payload = {\n\t\tname,\n\t\tvalue: stateValue,\n\t\tdisplayValue: stateDisplayValue\n\t};\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)(payload);\n\t}\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: 'sn-record-list-select' }\n\t});\n\tdispatch(VALUE_CHANGED, payload);\n};\n\n// Called when Add, Edit and Modal Close buttons are clicked\nexport const buttonClickedEffect = ({\n\tstate,\n\tproperties: { disabled, readonly },\n\taction: {\n\t\tpayload: { button }\n\t},\n\tupdateState\n}) => {\n\tconst editable = !isAttrTrue(readonly) && !isAttrTrue(disabled);\n\n\tif (editable && button === OPEN_MODAL_ACTION) {\n\t\tconst { readonly } = state.properties;\n\n\t\tif (!isAttrTrue(readonly)) {\n\t\t\tupdateState({\n\t\t\t\topened: true\n\t\t\t});\n\t\t}\n\t}\n};\n\n// Called when fields are selected in sn-list-selector\nexport const selectionUpdatedEffect = ({ action : {payload}, updateState }) => {\n\tupdateState({\n\t\tselectedItemsStaged: [...payload]\n\t});\n};\n\n// Called when a component property changes\nexport const propertyChangeHandler = ({\n\tstate,\n\taction,\n\tupdateState,\n\tproperties\n}) => {\n\tconst {\n\t\tpayload: { name: updatedProperty = '', value }\n\t} = action;\n\n\tif (\n\t\tupdatedProperty === 'value' &&\n\t\tvalue !== state.stateValue &&\n\t\t(isEqual(properties.liveUpdate, state.liveUpdate) || !value)\n\t) {\n\t\tupdateState({\n\t\t\tvalue: value.value,\n\t\t\tdisplayValue: value.displayValue,\n\t\t\tliveUpdate: properties.liveUpdate,\n\t\t\tstateDisplayValue: value.displayValue,\n\t\t\tstateValue: value.value,\n\t\t\tselectedItems: [],\n\t\t\tselectedItemsStaged: []\n\t\t});\n\t}\n\telse if (\n\t\tLIVE_UPDATE === updatedProperty &&\n\t\t!isEqual(properties.liveUpdate, state.liveUpdate) &&\n\t\tproperties.value &&\n\t\t!value.isUserModified\n\t) {\n\t\tconst { value: liveUpdateFieldValue, displayValue } = value;\n\t\tconst updatedSlushFields = setSlushBucketFields(properties.slushBucketFields, liveUpdateFieldValue);\n\t\tconst selectedItems = getSelectedItems(updatedSlushFields);\n\t\tupdateState({\n\t\t\tvalue: liveUpdateFieldValue,\n\t\t\tdisplayValue,\n\t\t\tliveUpdate: value,\n\t\t\tstateDisplayValue: displayValue,\n\t\t\tstateValue: displayValue,\n\t\t\tselectedItems,\n\t\t\tselectedItemsStaged: selectedItems\n\t\t});\n\t\treturn;\n\t}\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tmodalClosedEffect,\n\tbuttonClickedEffect,\n\tupdateValueEffect,\n\tselectionUpdatedEffect,\n\tpropertyChangeHandler\n} from './effects';\nimport {\n\tNOW_MODAL_OPENED_SET,\n\tADD_BUTTON_CLICKED,\n\tEDIT_BUTTON_CLICKED,\n\tUPDATE_VALUE,\n\tLIST_SELECTOR_SELECTED_ITEM_SET\n} from './constants';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangeHandler\n\t},\n\t[UPDATE_VALUE]: {\n\t\teffect: updateValueEffect,\n\t\tstopPropagation: true\n\t},\n\t[ADD_BUTTON_CLICKED]: {\n\t\teffect: buttonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[EDIT_BUTTON_CLICKED]: {\n\t\teffect: buttonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_MODAL_OPENED_SET]: {\n\t\teffect: modalClosedEffect,\n\t\tstopPropagation: true\n\t},\n\t[LIST_SELECTOR_SELECTED_ITEM_SET]: {\n\t\teffect: selectionUpdatedEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { trackBehavior, fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nimport actionHandlers from './actionHandlers';\nimport styles from './style.scss';\nimport view from './view';\nimport {\n\tgetAvailableItems,\n\tgetSelectedItems,\n\tgetDisplayValues,\n\tgetValues,\n\tsetSlushBucketFields\n} from './utils';\n\n/**\n *\n * This component lets the user choose a list of fields via a slush bucket based on script attribute in the dictionary.\n *\n * ```jsx\n * <div>\n *\t <sn-record-list-select\n *\t\tlabel=\"Slush bucket Label\"\n *\t />\n * <\/div>;\n * ```\n *\n * @seismicElement sn-record-list-select\n * @summary Component to handle slushbucket field type that handles entry for a list of fields as specified by the script attribute.\n */\n\ncreateCustomElement('sn-record-list-select', {\n\tview,\n\tsetInitialState: ({\n\t\tproperties: { slushBucketFields, value, displayValue }\n\t}) => {\n\t\tconst updatedSlushFields = setSlushBucketFields(slushBucketFields, value);\n\t\tconst availableItems = getAvailableItems(updatedSlushFields);\n\t\tconst selectedItems = getSelectedItems(updatedSlushFields);\n\t\tconst stateDisplayValue = getDisplayValues(selectedItems);\n\t\tconst stateValue = getValues(selectedItems);\n\t\treturn {\n\t\t\tstateDisplayValue: displayValue,\n\t\t\tdisplayValue: stateDisplayValue,\n\t\t\tavailableItems,\n\t\t\tselectedItems,\n\t\t\tselectedItemsStaged: selectedItems,\n\t\t\tvalue: stateValue,\n\t\t\tmodalOpened: false,\n\t\t\tslushBucketFields: updatedSlushFields\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * When true, the field will be disabled so that it can't be used or tabbed to.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {\n\t\t\tschema: { type: 'boolean' },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * DisplayValue for current component. Comma separated list of column labels.\n\t\t * Matching the order of the fields from value\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * If invalid, it holds the error message.\n\t\t * @type {string | object}\n\t\t */\n\t\terror: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'object' }] },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tschema: fieldLayoutSchema,\n\t\t\tdefault: { layout: 'vertical' }\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\t/**\n\t\t * Specifies whether the current value is valid or not.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] }\n\t\t},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Contains the displayValue & value properties for the field\n\t\t * isModified {bool}\n\t\t * updatedBy {obj:{username,displayName}}\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: undefined\n\t\t},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t\t\t'success',\n\t\t\t\t\t\t\t\t\t'liveUpdate',\n\t\t\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\t\t\t'suggestion'\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmessage: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\t/**\n\t\t * Callback used when the value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: {\n\t\t\tschema: { oneOf: [{ type: 'string' }, { type: 'boolean' }] },\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t *\n\t\t * @type {boolean|string}\n\t\t * @private\n\t\t */\n\t\treversed: {},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Underlying data for the field.\n\t\t * Comma separatered column names.\n\t\t * @type {string}\n\t\t */\n\t\tslushBucketFields: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tlabel: { type: 'string' },\n\t\t\t\t\t\t\tvalue: { type: 'string' },\n\t\t\t\t\t\t\tselected: { type: 'boolean' },\n\t\t\t\t\t\t\torder: { type: 'number' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tdefault: []\n\t\t},\n\t\tvalue: {\n\t\t\tschema: { type: 'string' },\n\t\t\tdefault: ''\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactions: {\n\t\t['NOW_INPUT#VALUE_SET']: { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched on blur.\n\t\t * @type {{ name: string, value: string, items: Array<{id: string, label: string}>, error: { type: string, message: string } }}\n\t\t */\n\t\t'SN_RECORD_LIST_SELECT#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport {\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig\n} from '@devsnc/sn-controls-common';\nimport '@servicenow/now-input';\nimport '@servicenow/now-button';\nimport '@servicenow/now-modal';\nimport '@devsnc/sn-list-selector';\nimport '@devsnc/sn-record-control-wrapper';\n\nimport {\n\tCLICK_TO_ADD_LABEL,\n\tOPEN_LIST_LABEL,\n\tOK_LABEL,\n\tCANCEL_LABEL,\n\tOPEN_MODAL_ACTION,\n\tMODAL_SUB_HEADER_LABEL,\n\tNOW_MODAL_OPENED_SET,\n\tUPDATE_VALUE,\n\tREQUIRED_STR,\n\tAVAILABLE_LABEL,\n\tSELECTED_LABEL,\n\tMANUAL\n} from './constants';\nimport { preventManualInput } from './utils';\n\nexport default state => {\n\tconst {\n\t\tstateDisplayValue,\n\t\tproperties,\n\t\tproperties: {\n\t\t\tautofocus,\n\t\t\tdisabled,\n\t\t\terror,\n\t\t\thelperContent,\n\t\t\tinvalid,\n\t\t\tlabel,\n\t\t\tname,\n\t\t\treadonly,\n\t\t\trequired,\n\t\t\tfieldLayout,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\twrapLabel,\n\t\t\tisModified,\n\t\t\tshowAIIndicator\n\t\t},\n\t\tavailableItems,\n\t\tselectedItemsStaged,\n\t\topened = false\n\t} = state;\n\n\t// This is done to make availableItems in the format as expected by sn-list-selector\n\tconst availableItemsUpdated = {\n\t\troot: { ...availableItems }\n\t};\n\n\tconst editable = !isAttrTrue(readonly) && !isAttrTrue(disabled);\n\n\tconst count = stateDisplayValue ? stateDisplayValue.split(',').length : 0;\n\n\tlet { messages = [] } = state.properties;\n\n\tconst attrs = {\n\t\tautofocus: isAttrTrue(autofocus),\n\t\tlabel,\n\t\twrapLabel,\n\t\tdisabled: isAttrTrue(disabled),\n\t\thelperContent: wrapHelperContent(helperContent),\n\t\tinvalid: invalid || Boolean(error),\n\t\tmessages: transformMessages(messages),\n\t\tname,\n\t\treadonly: true,\n\t\trequired: isAttrTrue(required),\n\t\tfieldLayout: fieldLayout\n\t};\n\n\tconst showAddLink = !isAttrTrue(readonly) && !stateDisplayValue;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{showAddLink ? (\n\t\t\t\t<sn-record-control-wrapper\n\t\t\t\t\t{...state.properties}\n\t\t\t\t\tmessages={messages}\n\t\t\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\t\t\tisModified={isModified}\n\t\t\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\t\t>\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tdisabled={attrs.disabled || !editable}\n\t\t\t\t\t\tlabel={CLICK_TO_ADD_LABEL}\n\t\t\t\t\t\ticon-start=\"pencil-outline\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tappend-to-payload={{ button: OPEN_MODAL_ACTION }}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t'aria-label': `${CLICK_TO_ADD_LABEL}, ${\n\t\t\t\t\t\t\t\tisAttrTrue(required) ? REQUIRED_STR : ''\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<\/sn-record-control-wrapper>\n\t\t\t) : (\n\t\t\t\t<now-input\n\t\t\t\t\t{...attrs}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\t\t\tvalue={stateDisplayValue}\n\t\t\t\t\tmanage-value\n\t\t\t\t\tmanage-invalid\n\t\t\t\t\ton-paste={preventManualInput}\n\t\t\t\t\ton-keydown={preventManualInput}\n\t\t\t\t\ton-cut={preventManualInput}\n\t\t\t\t\ton-mousedown={preventManualInput}\n\t\t\t\t>\n\t\t\t\t\t{count ? (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'is-readonly': isAttrTrue(readonly)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t({count})\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{editable ? (\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\t\ticon=\"pencil-outline\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ttooltip-content={OPEN_LIST_LABEL}\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-label': OPEN_LIST_LABEL\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tappend-to-payload={{ button: OPEN_MODAL_ACTION }}\n\t\t\t\t\t\t\t//To prevent parent now-input's on-keydown from intercepting the event\n\t\t\t\t\t\t\ton-keydown={e => e.stopPropagation()}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{renderDecorations(properties)}\n\t\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t})\n\t\t\t\t\t)}\n\t\t\t\t<\/now-input>\n\t\t\t)}\n\n\t\t\t<now-modal\n\t\t\t\tsize=\"lg\"\n\t\t\t\tfooterActions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: OK_LABEL,\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tclickActionType: UPDATE_VALUE\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: CANCEL_LABEL,\n\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\tclickActionType: NOW_MODAL_OPENED_SET\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t\theader-label={label}\n\t\t\t\topened={opened}\n\t\t\t>\n\t\t\t\t<div className=\"slushbucket-container\">\n\t\t\t\t\t<div className=\"header\">{MODAL_SUB_HEADER_LABEL}<\/div>\n\t\t\t\t\t{opened ? (\n\t\t\t\t\t\t<div className=\"list-selector-container\">\n\t\t\t\t\t\t\t<sn-list-selector\n\t\t\t\t\t\t\t\tmode={MANUAL}\n\t\t\t\t\t\t\t\tavailableLabel={AVAILABLE_LABEL}\n\t\t\t\t\t\t\t\tselectedLabel={SELECTED_LABEL}\n\t\t\t\t\t\t\t\titems={availableItemsUpdated}\n\t\t\t\t\t\t\t\titems-root=\"root\"\n\t\t\t\t\t\t\t\tselectedItems={selectedItemsStaged}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : null}\n\t\t\t\t<\/div>\n\t\t\t<\/now-modal>\n\t\t<\/Fragment>\n\t);\n};\n","import { t } from 'sn-translate';\n//DO NOT CHANGE, daysMap for the days of the week component\nexport const DAYS_OF_WEEK_OPTIONS = [\n\t{ value: 1, label: t('Mon') },\n\t{ value: 2, label: t('Tue') },\n\t{ value: 3, label: t('Wed') },\n\t{ value: 4, label: t('Thu') },\n\t{ value: 5, label: t('Fri') },\n\t{ value: 6, label: t('Sat') },\n\t{ value: 7, label: t('Sun') }\n];\n\nexport const JAVASCRIPT = 'javascript';\nexport const XML = 'xml';\nexport const DEFAULT_JOURNAL_TOOLBAR =\n\t'bold italic underline | fontfamily | alignleft aligncenter alignright | bullist numlist | link unlink';\nexport const DEFAULT_JOURNAL_PLUGINS =\n\t'link lists advlist table powerpaste searchreplace preview fullscreen placeholder';\n","/* eslint-disable no-console */\nimport React from 'react';\nimport { last, get, chain, some, flow, isEmpty } from 'lodash';\nimport { t } from 'sn-translate';\nimport { LiveUpdateMessage } from '@devsnc/sn-form-controls';\nimport { canRenderFieldAction } from '@devsnc/sn-declarative-actions';\nimport {\n\tDAYS_OF_WEEK_OPTIONS,\n\tJAVASCRIPT,\n\tXML,\n\tDEFAULT_JOURNAL_TOOLBAR,\n\tDEFAULT_JOURNAL_PLUGINS\n} from './constants';\nimport {\n\tgetDeclarativeActionsProps,\n\tescapeSeismicSpecialSymbols,\n\tisAttrTrue,\n\tisAttrFalse,\n\tgetProperty,\n\tsetInitialValue,\n\tadaptCallbackForLegacyAPI,\n\tFIELD_TYPE,\n\tNO_PREDICTIONS_AVAILABLE,\n\tgetPageProperty,\n\tshouldShowUnsavedIndicator,\n\tgetFieldBackgroundColor\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tgetHtmlAttributes,\n\tgetDictionaryAttrs,\n\tadjustPropsForTimezone,\n\tisSupported,\n\tgetMessagesAndLiveUpdate,\n\ttransformValueForDaysOfWeek,\n\tsanitizeField,\n\tgetReferenceProps,\n\tnormalizeCountryCodes,\n\tgetDateFormat,\n\tgetTimeFormat,\n\tgetDateTimeFormat,\n\tgetAttribute,\n\tparseCountryCode,\n\tgetTinyMCEToolbar,\n\tcontrolOrSysProp,\n\tgetCurrentUser,\n\tgetHelperContent,\n\tgetTimeProps,\n\tfixLocale,\n\ttoHtml,\n\tgetUserLanguage,\n\tresolveLanguage,\n\tgetFormDataForTemplateValue,\n\tgetEncryptedFieldLabel,\n\tgetFieldNowAssistContextMenu,\n\tisRefSearchOnClickSuppressed,\n\tnormalizeToDurationFormat\n} from './factoryUtils';\nimport { getRecordMembers } from './factoryUtils/syspropUtils';\nimport { isDirty } from '@devsnc/sn-controls-common/src/utils/field';\n\nconst getRecommendations = ({ recommendation }) => {\n\tif (isEmpty(recommendation)) {\n\t\treturn;\n\t}\n\tconst {\n\t\tsectionLabel = 'Top Recommendation(s)',\n\t\titems = [],\n\t\temptyMessage = NO_PREDICTIONS_AVAILABLE,\n\t\tsource,\n\t\tautofill = {}\n\t} = recommendation;\n\n\treturn {\n\t\tsectionLabel,\n\t\titems,\n\t\tisRecommendation: true,\n\t\tsource,\n\t\tautofill,\n\t\temptyMessage\n\t};\n};\n\nexport const getDefaultFormControl = (controlProps, type) => ({\n\tControl: 'sn-record-input',\n\tcontrolProps: {\n\t\t...controlProps,\n\t\treadonly: true,\n\t\ttype: type,\n\t\tdescription: t('* Field type {0} is not supported.', type),\n\t\ttrackBootstrap: { action: 'TRACK_FIELD_TYPE_UNSUPPORTED' }\n\t}\n});\n\nexport function createFormControl(\n\tparentId,\n\ttype,\n\tfield,\n\tonValueChange,\n\tonStagedValueChange,\n\tformData\n) {\n\tconst { Control, props, children, render } = getFormControl(\n\t\tparentId,\n\t\ttype,\n\t\tfield,\n\t\tonValueChange,\n\t\tonStagedValueChange,\n\t\tformData\n\t);\n\n\tif (!render) {\n\t\treturn null;\n\t}\n\n\treturn <Control {...props}>{children}<\/Control>;\n}\n\nexport function getFormControl(\n\tparentId,\n\ttype,\n\tfield,\n\tonValueChange,\n\tonStagedValueChange,\n\tformData,\n\tfieldLayout = { layout: 'vertical' }\n) {\n\tif (\n\t\t(field.visible === false || field.visible === 'false') &&\n\t\t!field.shouldRenderHiddenElement\n\t)\n\t\treturn { render: false };\n\n\tconst componentId = `${parentId}_${type}_${field.name}`;\n\tconst messages = getMessagesAndLiveUpdate(field.liveUpdate, field.messages);\n\tconst declarativeActionsProps = getDeclarativeActionsProps({\n\t\t...field,\n\t\tfields: formData?.fields\n\t});\n\tconst currentUser = getCurrentUser(formData);\n\tconst userLanguage = getUserLanguage(currentUser);\n\tconst userMention = {\n\t\t'@': 'users'\n\t};\n\tconst { layout } = fieldLayout;\n\n\tconst contextMenu = getFieldNowAssistContextMenu(field);\n\n\tlet controlProps = sanitizeField({\n\t\t...field,\n\t\tcontext: 'form',\n\t\tkey: componentId,\n\t\t'component-id': componentId,\n\t\tmaxlength: field.maxLength || field.maxlength,\n\t\tshowAIIndicator: field.showAIIndicator || false,\n\t\tinvalid:\n\t\t\tfield.isInvalid || field.invalid || some(messages, { type: 'error' }),\n\t\trequired: isAttrTrue(field.mandatory) && !isAttrTrue(field.readonly),\n\t\tmessages,\n\t\t// DEF0256672: always pass live update\n\t\tliveUpdate: field.liveUpdate || null,\n\t\tonValueChange: onValueChange,\n\t\tonStagedValueChange: onStagedValueChange,\n\t\tfieldType: type, // we need field type, but it is stripped out so put it under a different key that it won't have html side effects\n\t\tformData,\n\t\thelperContent: getHelperContent(field, currentUser),\n\t\tfieldLayout: fieldLayout,\n\t\twrapLabel: formData?.shouldWrapFieldLabel || false,\n\t\t...(contextMenu && !isEmpty(contextMenu)\n\t\t\t? {\n\t\t\t\t\tnowAssistConfig: {\n\t\t\t\t\t\tcontextMenu,\n\t\t\t\t\t\t// DEF0590896: remove min word count if user language is Japanese as we currently don't have\n\t\t\t\t\t\t// a way to correctly count Japanese words since it doesn't use spaces to separate words\n\t\t\t\t\t\tminWordCount:\n\t\t\t\t\t\t\tuserLanguage === 'ja'\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: getProperty('sn_uxc_gen_ai.resolution.min_word_count', 6)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t: {})\n\t});\n\n\tlet Control, controlChildren, singleCurrency;\n\tlet useAllFractionsDigits = true;\n\tconst isLayoutHorizontal = layout === 'horizontal';\n\tconst isTemplateForm = field.referringTable === 'sys_template'; // Special case for template form\n\tconst formFieldsData = formData?.fields;\n\tconst dependentField =\n\t\tformFieldsData && formFieldsData[field.name]?.dependentField;\n\n\tswitch (type) {\n\t\tcase FIELD_TYPE.BOOLEAN: {\n\t\t\tControl = 'now-record-checkbox';\n\t\t\tconst isToggleField =\n\t\t\t\tgetDictionaryAttrs(controlProps)['render_as_toggle'];\n\t\t\tconst labelPos = !isLayoutHorizontal && !isToggleField ? 'end' : 'start';\n\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tvalue: isAttrTrue(controlProps.value),\n\t\t\t\tfullWidth: isLayoutHorizontal || isToggleField ? true : false,\n\t\t\t\tlabelPosition: labelPos,\n\t\t\t\tisToggle: isToggleField\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.DAYS_OF_WEEK:\n\t\t\tControl = 'sn-record-checkbox-group';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tonValueChange: controlProps => {\n\t\t\t\t\tconst { value, name } = controlProps;\n\t\t\t\t\tconst newValue = value.split(',').join('');\n\t\t\t\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\t\t\t\tname: name,\n\t\t\t\t\t\tvalue: newValue\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\toptions: DAYS_OF_WEEK_OPTIONS,\n\t\t\t\tvalue: transformValueForDaysOfWeek(controlProps.value),\n\t\t\t\toriginalValue: transformValueForDaysOfWeek(controlProps.originalValue),\n\t\t\t\tfullWidth: isLayoutHorizontal ? true : false,\n\t\t\t\tlabelPosition: isLayoutHorizontal ? 'start' : 'end'\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.CHOICE:\n\t\t\tControl = 'sn-record-choice-connected';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\t'table-name': field.referringTable,\n\t\t\t\t'record-sys-id': field.referringRecordId,\n\t\t\t\toptionStack: field.optionStack,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\trefQualElements: getAttribute(controlProps)('ref_qual_elements', ''),\n\t\t\t\t\tisSearchable: isAttrTrue(\n\t\t\t\t\t\tgetAttribute(controlProps)('is_searchable_choice', false)\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.CONDITIONS:\n\t\t\timport('../connectedconditions/ConnectedConditions');\n\t\t\tControl = 'sn-record-conditions-connected';\n\t\t\tconst getAttr = getAttribute(controlProps);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tdependentFieldLabel: get(\n\t\t\t\t\tcontrolProps,\n\t\t\t\t\t'dictionary.dependentFieldLabel'\n\t\t\t\t),\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tstaticDependent: getAttr('staticDependent'),\n\t\t\t\t\tshowConditionCount: isAttrTrue(\n\t\t\t\t\t\tgetAttr('show_condition_count'),\n\t\t\t\t\t\tfalse\n\t\t\t\t\t),\n\t\t\t\t\tallowedFields: getAttr('restrictTo'),\n\t\t\t\t\tallowRelatedListQuery: isAttrTrue(\n\t\t\t\t\t\tgetAttr('allow_related_list_query'),\n\t\t\t\t\t\tfalse\n\t\t\t\t\t),\n\t\t\t\t\tallowSort: isAttrTrue(getAttr('allow_order'))\n\t\t\t\t},\n\t\t\t\tuseLegacyConditionBuilder: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.use.legacy.condition_builder', false)\n\t\t\t\t)\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.CURRENCY:\n\t\t\tsingleCurrency = isAttrTrue(\n\t\t\t\tgetProperty('glide.i18n.single_currency', false)\n\t\t\t);\n\t\t\tuseAllFractionsDigits = isAttrTrue(\n\t\t\t\tgetProperty('glide.currency_price.use_all_fraction_digits', false)\n\t\t\t);\n\n\t\tcase FIELD_TYPE.CURRENCY2:\n\t\t\tControl = 'sn-record-currency-connected';\n\t\t\t// display_string is the curr;value, i.e. JPY;1000\n\t\t\t// value is the converted number i.e. 9.07  (but in the default system currency, in this case USD)\n\t\t\t// displayValue is the string with the converted number i.e. \"$9.07\"\n\t\t\t// so, use display_string and default to value\n\t\t\tcontrolProps = {\n\t\t\t\tsingleCurrency,\n\t\t\t\t...controlProps,\n\t\t\t\tuseAllFractionsDigits,\n\t\t\t\tlocale: fixLocale(formData, singleCurrency)\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.PRICE:\n\t\t\tControl = 'sn-record-price-connected';\n\t\t\tsingleCurrency = isAttrTrue(\n\t\t\t\tgetProperty('glide.i18n.single_currency', false)\n\t\t\t);\n\t\t\tuseAllFractionsDigits = isAttrTrue(\n\t\t\t\tgetProperty('glide.currency_price.use_all_fraction_digits', false)\n\t\t\t);\n\t\t\tcontrolProps = {\n\t\t\t\tsingleCurrency,\n\t\t\t\t...controlProps,\n\t\t\t\tuseAllFractionsDigits,\n\t\t\t\tlocale: fixLocale(formData),\n\t\t\t\tdeclarativeActionsProps\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.DUE_DATE:\n\t\tcase FIELD_TYPE.DATE_TIME:\n\t\tcase FIELD_TYPE.BASIC_DATE_TIME: {\n\t\t\tControl = 'now-record-date-picker';\n\t\t\tconst { isEncrypted, encryptionContext, label } = controlProps;\n\t\t\tconst basicDateTimeFormat = 'yyyy-MM-DD HH:mm:ss';\n\t\t\tconst isBasicDateTime =\n\t\t\t\tcontrolProps.fieldType === FIELD_TYPE.BASIC_DATE_TIME;\n\t\t\tcontrolProps = getTimeProps({\n\t\t\t\t...controlProps,\n\t\t\t\tformat: isBasicDateTime\n\t\t\t\t\t? basicDateTimeFormat\n\t\t\t\t\t: getDateTimeFormat(formData),\n\t\t\t\toriginalFormat: isBasicDateTime\n\t\t\t\t\t? basicDateTimeFormat\n\t\t\t\t\t: getDateTimeFormat(formData, true),\n\t\t\t\ttimePicker: true,\n\t\t\t\tlabel: isEncrypted\n\t\t\t\t\t? getEncryptedFieldLabel(label, encryptionContext)\n\t\t\t\t\t: label,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.INTEGER_DATE:\n\t\tcase FIELD_TYPE.OTHER_DATE:\n\t\tcase FIELD_TYPE.DATE: {\n\t\t\tControl = 'now-record-date-picker';\n\t\t\tconst { isEncrypted, encryptionContext, label } = controlProps;\n\t\t\tcontrolProps = getTimeProps({\n\t\t\t\t...controlProps,\n\t\t\t\tformat: getDateFormat(formData),\n\t\t\t\tlabel: isEncrypted\n\t\t\t\t\t? getEncryptedFieldLabel(label, encryptionContext)\n\t\t\t\t\t: label,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tif (type === FIELD_TYPE.INTEGER_DATE) {\n\t\t\t\tconst DEFAULT_VALUE = '00000000';\n\t\t\t\tconst parsedOrginalValue =\n\t\t\t\t\tcontrolProps.originalValue === DEFAULT_VALUE\n\t\t\t\t\t\t? ''\n\t\t\t\t\t\t: controlProps.originalValue;\n\t\t\t\tcontrolProps.originalValue = parsedOrginalValue;\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.TIME:\n\t\tcase FIELD_TYPE.UTC_TIME:\n\t\tcase FIELD_TYPE.INTEGER_TIME: {\n\t\t\tControl = 'now-record-time';\n\n\t\t\t// need to change format so it doesn't have milliseconds, which the platform does not support\n\t\t\tlet format =\n\t\t\t\t(controlProps.format && controlProps.format.replace(':SSS', '')) ||\n\t\t\t\tgetTimeFormat(formData);\n\n\t\t\tconst separator = format.includes('.') ? '.' : ':';\n\n\t\t\tif (type === FIELD_TYPE.UTC_TIME) {\n\t\t\t\tconst isUsingUserFormat = chain(controlProps)\n\t\t\t\t\t.get('dictionary.attributes', [])\n\t\t\t\t\t.some(\n\t\t\t\t\t\tattr => attr.name === 'user_time_format' && isAttrTrue(attr.value)\n\t\t\t\t\t)\n\t\t\t\t\t.value();\n\n\t\t\t\tformat = isUsingUserFormat ? format : 'HH:mm:ss';\n\t\t\t}\n\n\t\t\t// `aa` is a legal in Java (supported by SN) but not for moment js.\n\t\t\tformat = format.replace('aa', 'a');\n\n\t\t\tcontrolProps = adjustPropsForTimezone({\n\t\t\t\t...controlProps,\n\t\t\t\tseparator,\n\t\t\t\tformat\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.PASSWORD: {\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\ttype,\n\t\t\t\tdisplayValue: controlProps.displayValue || controlProps.value,\n\t\t\t\tdisableUnmask:\n\t\t\t\t\tcontrolProps.disableUnmask || isAttrTrue(controlProps.readonly),\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.PASSWORD2: {\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tconst maxCharsBeforeHash = 183;\n\t\t\tconst maxlength = Math.min(maxCharsBeforeHash, controlProps.maxlength); //255 is maxlength of hash value from entered characters, 183 is what is actually allowed.\n\t\t\tconst getAttr = getAttribute(controlProps);\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\ttype,\n\t\t\t\tdisableUnmask:\n\t\t\t\t\t!isAttrTrue(getAttr('show_secret', false)) ||\n\t\t\t\t\tisAttrTrue(controlProps.readonly),\n\t\t\t\tvalue: controlProps.displayValue || controlProps.value,\n\t\t\t\tdisplayValue: controlProps.displayValue || controlProps.value,\n\t\t\t\tmaxlength,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.VERSION:\n\t\t\tControl = 'sn-record-version';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.EMAIL:\n\t\t\tControl = 'sn-record-email';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tdeclarativeActionsProps,\n\t\t\t\tinternationalizedEmail: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.email_address.rfc6530.enabled', false)\n\t\t\t\t),\n\t\t\t\tfieldRegex: Array.isArray(controlProps.fieldRegex)\n\t\t\t\t\t? controlProps.fieldRegex\n\t\t\t\t\t: [],\n\t\t\t\thideEmailIcon: isAttrTrue(\n\t\t\t\t\tgetAttribute(controlProps)('hide_email_icon', false)\n\t\t\t\t)\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.PHONE:\n\t\t\tconst formatUsPhone = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.format_phone', true)\n\t\t\t);\n\t\t\tif (!formatUsPhone) {\n\t\t\t\tControl = 'sn-record-input-connected';\n\t\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t\t...controlProps,\n\t\t\t\t\tdeclarativeActionsProps,\n\t\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\tcase FIELD_TYPE.PHONE_NUMBER:\n\t\tcase FIELD_TYPE.PHONE_NUMBER_E164:\n\t\t\tControl = 'sn-record-phone-connected';\n\t\t\tconst parsedCountryCode = parseCountryCode(\n\t\t\t\tcontrolProps.country,\n\t\t\t\tcontrolProps.value,\n\t\t\t\tcontrolProps.countryCodes\n\t\t\t);\n\t\t\tconst isStrictEnabled = isAttrTrue(\n\t\t\t\tgetAttribute(controlProps)('pn_strict') ??\n\t\t\t\t\tgetProperty('glide.phone_number_e164.strict', true)\n\t\t\t);\n\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tcountryCode: parsedCountryCode,\n\t\t\t\tphoneAddon: canRenderFieldAction({\n\t\t\t\t\tmodel: controlProps,\n\t\t\t\t\taction: {\n\t\t\t\t\t\tdependency: 'CTI',\n\t\t\t\t\t\trequiresExistingRecord: true\n\t\t\t\t\t},\n\t\t\t\t\tformData\n\t\t\t\t}),\n\t\t\t\tcountryCodes: normalizeCountryCodes(controlProps.countryCodes),\n\t\t\t\tformatUsPhone: isAttrTrue(getProperty('glide.ui.format_phone', true)),\n\t\t\t\tisStrictEnabled,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.RADIO:\n\t\t\tControl = 'now-radio-group';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tvertical: isAttrTrue(\n\t\t\t\t\tgetDictionaryAttrs(controlProps)['vertical_layout']\n\t\t\t\t)\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.ADDRESS_SIMPLE: {\n\t\t\timport('../connecteddatalookup/DataLookupConnected');\n\t\t\tControl = 'now-data-lookup-connected';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tplaceholder: getAttribute(controlProps)('placeholder')\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.DOMAIN_ID:\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tfullDisplayValue: controlProps.displayValue,\n\t\t\t\tdisplayValue: controlProps.displayValue\n\t\t\t\t\t? last(controlProps.displayValue.split('/'))\n\t\t\t\t\t: ''\n\t\t\t};\n\n\t\tcase FIELD_TYPE.REFERENCE: {\n\t\t\tControl = 'sn-record-reference-connected';\n\n\t\t\tlet resultLimit = Number.parseInt(\n\t\t\t\tgetProperty('glide.ui.max_ref_dropdown'),\n\t\t\t\t10\n\t\t\t);\n\t\t\tif (Number.isNaN(resultLimit)) resultLimit = undefined;\n\t\t\tconst ignoreRefQualifier = isAttrTrue(\n\t\t\t\tcontrolProps.formData?.ignoreReferenceQualifier\n\t\t\t);\n\n\t\t\tcontrolProps = getReferenceProps({\n\t\t\t\t...controlProps,\n\t\t\t\tinternationalizedEmail: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.email_address.rfc6530.enabled', false)\n\t\t\t\t),\n\t\t\t\treferenceAddonReadonly: isAttrTrue(\n\t\t\t\t\tcontrolOrSysProp(\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t'glide.ui.reference.readonly.clickthrough',\n\t\t\t\t\t\tfield.readonly_clickthrough\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tresultLimit,\n\t\t\t\tdisableDisplayValueWarning: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.reference.disable_displayvalue_warning', true)\n\t\t\t\t),\n\t\t\t\tdeclarativeActionsProps: {\n\t\t\t\t\t...declarativeActionsProps,\n\t\t\t\t\tignoreDepAsRefQual: ignoreRefQualifier,\n\t\t\t\t\tignoreReferenceQualifier: ignoreRefQualifier\n\t\t\t\t},\n\t\t\t\tsearchUsingStartsWith: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.ref_ac.startswith', true)\n\t\t\t\t),\n\t\t\t\tsearchOnClick: isAttrTrue(\n\t\t\t\t\tgetAttribute(controlProps)('ref_search_on_click') ??\n\t\t\t\t\t\tgetPageProperty('ref_search_on_click') ??\n\t\t\t\t\t\t!isRefSearchOnClickSuppressed(controlProps)\n\t\t\t\t),\n\t\t\t\tdisableEmailFreeformEntry: true,\n\t\t\t\tsuggestions: getRecommendations(field),\n\t\t\t\tignoreReferenceQualifier: ignoreRefQualifier\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.SHORT_TABLE_NAME:\n\t\tcase FIELD_TYPE.TABLE_NAME: {\n\t\t\tControl = 'sn-record-tablename-connected';\n\n\t\t\tconst getAttr = getAttribute(controlProps);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\ttableName: controlProps.referringTable,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tshortList: !isAttrTrue(getAttr('full_list'), true),\n\t\t\t\t\tcanRead: isAttrTrue(getAttr('can_read_table')),\n\t\t\t\t\tincludeDefault: isAttrTrue(getAttr('includeDefault')),\n\t\t\t\t\tselectedOnly: isAttrTrue(getAttr('selected_only')),\n\t\t\t\t\tnoViews: isAttrTrue(getAttr('no_views')),\n\t\t\t\t\tnoSystemTables: isAttrTrue(getAttr('no_system_tables')),\n\t\t\t\t\tfilterEntitledTables: isAttrTrue(\n\t\t\t\t\t\tgetAttr('filter_licensed_custom_tables')\n\t\t\t\t\t),\n\t\t\t\t\tshowTableNames: isAttrTrue(getAttr('show_table_names')),\n\t\t\t\t\tshowTableNamesOnLabel: isAttrTrue(\n\t\t\t\t\t\tgetAttr('show_table_names_on_label')\n\t\t\t\t\t),\n\t\t\t\t\ttableChoicesScript: getAttr('tableChoicesScript'),\n\t\t\t\t\tskipRoot: isAttrTrue(getAttr('skip_root')),\n\t\t\t\t\tbaseTable: getAttr('base_table'),\n\t\t\t\t\tallowPublic: isAttrTrue(getAttr('allow_public')),\n\t\t\t\t\tskipScopeRestrictions: isAttrTrue(\n\t\t\t\t\t\tgetAttr('skipScopeRestrictions'),\n\t\t\t\t\t\tfalse\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tformData,\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t};\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.FIELD_NAME: {\n\t\t\tControl = 'sn-record-fieldname-connected';\n\t\t\tconst getAttr = getAttribute(controlProps);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tdisplayValue: escapeSeismicSpecialSymbols(controlProps.displayValue),\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\treferenceTypes: getAttr('reference_types'),\n\t\t\t\t\tallowDotWalking: isAttrTrue(getAttr('allow_references'), false)\n\t\t\t\t},\n\t\t\t\tdependentFieldValue:\n\t\t\t\t\tcontrolProps.dependentFieldValue || controlProps.dependentValue\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.GLIDE_LIST: {\n\t\t\tControl = 'sn-record-reference-connected';\n\n\t\t\tlet resultLimit = Number.parseInt(\n\t\t\t\tgetProperty('glide.ui.max_ref_dropdown'),\n\t\t\t\t10\n\t\t\t);\n\t\t\tif (Number.isNaN(resultLimit)) resultLimit = undefined;\n\n\t\t\tcontrolProps = getReferenceProps({\n\t\t\t\t...controlProps,\n\t\t\t\tinternationalizedEmail: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.email_address.rfc6530.enabled', false)\n\t\t\t\t),\n\t\t\t\tdisplayValue: field.display_value_list,\n\t\t\t\t'form-data': formData,\n\t\t\t\tresultLimit,\n\t\t\t\tmultiSelection: true,\n\t\t\t\tdisableDisplayValueWarning: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.reference.disable_displayvalue_warning', true)\n\t\t\t\t),\n\t\t\t\tdisableEmailFreeformEntry: isAttrTrue(\n\t\t\t\t\tgetAttribute(controlProps)('no_email')\n\t\t\t\t),\n\t\t\t\tdeclarativeActionsProps,\n\t\t\t\trefAcOrderBy: getAttribute(controlProps)('ref_ac_order_by', ''),\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t});\n\t\t\tcontrolProps['form-data'] = {\n\t\t\t\t...controlProps['form-data'],\n\t\t\t\tshowUnsavedIndicator: shouldShowUnsavedIndicator(controlProps)\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.FIELD_LIST: {\n\t\t\tControl = 'sn-record-field-list-connected';\n\t\t\tconst getAttr = getAttribute(controlProps);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tvalue:\n\t\t\t\t\tisAttrTrue(getAttr('default_display_name'), false) &&\n\t\t\t\t\t!controlProps.value\n\t\t\t\t\t\t? controlProps.displayColumnLabel\n\t\t\t\t\t\t: controlProps.value,\n\t\t\t\tdisplayValue:\n\t\t\t\t\tisAttrTrue(getAttr('default_display_name'), false) &&\n\t\t\t\t\t!controlProps.value\n\t\t\t\t\t\t? controlProps.displayColumnValue\n\t\t\t\t\t\t: controlProps.displayValue,\n\t\t\t\tdisplayValuesWithPath:\n\t\t\t\t\tisAttrTrue(getAttr('default_display_name'), false) &&\n\t\t\t\t\t!controlProps.value\n\t\t\t\t\t\t? Array.of(controlProps.displayColumnValue)\n\t\t\t\t\t\t: controlProps.displayValuesWithPath,\n\n\t\t\t\treferenceTypes: getAttr('reference_types'),\n\t\t\t\tallowDotWalking: !isAttrTrue(getAttr('exclude_dot_walk'), false),\n\t\t\t\tallowExtendedFields: getProperty(\n\t\t\t\t\t'glide.ui.list.allow_extended_fields',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tincludeSysId: isAttrTrue(getAttr('include_sys_id_in_fieldlist', false)),\n\t\t\t\tshowTableDefaultDisplayColumn: isAttrTrue(\n\t\t\t\t\tgetAttr('default_display_name', false)\n\t\t\t\t),\n\n\t\t\t\tdependentFieldLabel: get(\n\t\t\t\t\tcontrolProps,\n\t\t\t\t\t'dictionary.dependentFieldLabel'\n\t\t\t\t),\n\t\t\t\tdependentFieldValue:\n\t\t\t\t\tgetAttr('table') ||\n\t\t\t\t\tcontrolProps.dependentFieldValue ||\n\t\t\t\t\tcontrolProps.dependentValue\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.FIELD_LOOKUP: {\n\t\t\tControl = 'now-record-field-lookup-connected';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.USER_ROLES: {\n\t\t\tControl = 'sn-record-user-roles-lookup-connected';\n\n\t\t\tlet resultLimit = Number.parseInt(\n\t\t\t\tgetProperty('glide.ui.max_ref_dropdown'),\n\t\t\t\t10\n\t\t\t);\n\t\t\tif (Number.isNaN(resultLimit)) resultLimit = undefined;\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tresultLimit,\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.DOCUMENT_ID:\n\t\t\tControl = 'sn-record-document-id-connected';\n\t\t\tconst prepareDeclarativeActions = controlProps => ({\n\t\t\t\t...controlProps,\n\t\t\t\tdeclarativeActionsProps: {\n\t\t\t\t\t...controlProps.declarativeActionsProps,\n\t\t\t\t\treference: controlProps.dependentValue,\n\t\t\t\t\treferenceTable: controlProps.dependentValue,\n\t\t\t\t\tignoreDepAsRefQual: true\n\t\t\t\t},\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t});\n\t\t\tcontrolProps = flow(\n\t\t\t\tgetReferenceProps,\n\t\t\t\tprepareDeclarativeActions\n\t\t\t)({\n\t\t\t\t...controlProps,\n\t\t\t\tsearchAddon: false,\n\t\t\t\treferenceAddonReadonly: true,\n\t\t\t\tdeclarativeActionsProps,\n\t\t\t\tdependentFieldLabel: get(controlProps, 'dictionary.dependentFieldLabel')\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.STRING_LONG:\n\t\tcase FIELD_TYPE.ENCRYPTED_TEXT:\n\t\tcase FIELD_TYPE.TEXTAREA:\n\t\tcase FIELD_TYPE.MULTI_TWO_LINES:\n\t\tcase FIELD_TYPE.MULTI_SMALL: {\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tconst { isEncrypted, encryptionContext, label } = controlProps;\n\t\t\tconst ignoreMaxlengthVal =\n\t\t\t\ttype === FIELD_TYPE.MULTI_SMALL\n\t\t\t\t\t? true\n\t\t\t\t\t: Number.parseInt(controlProps.maxlength) >= 1000 || undefined;\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\ttype: 'textarea',\n\t\t\t\tignoreMaxlength: ignoreMaxlengthVal,\n\t\t\t\tshowCounter: isAttrTrue(\n\t\t\t\t\tcontrolOrSysProp(\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t'glide.ui.textarea.character_counter',\n\t\t\t\t\t\tcontrolProps.showCounter\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tlabel: isEncrypted\n\t\t\t\t\t? getEncryptedFieldLabel(label, encryptionContext)\n\t\t\t\t\t: label,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tdynamicTranslationEnabled: isAttrTrue(\n\t\t\t\t\t\tgetDictionaryAttrs(controlProps)['dynamic_translation_enabled']\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tsuggestions: getRecommendations(field),\n\t\t\t\tautoresizeLineLimit: getProperty(\n\t\t\t\t\t'glide.ui.textarea.autoresize_line_limit'\n\t\t\t\t),\n\t\t\t\tresizable: controlProps.resizable ?? true\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.COMPOSITE_FIELD:\n\t\tcase FIELD_TYPE.WIDE_TEXT:\n\t\tcase FIELD_TYPE.TRANSLATED_FIELD:\n\t\tcase FIELD_TYPE.TRANSLATED_TEXT:\n\t\tcase FIELD_TYPE.STRING:\n\t\tcase FIELD_TYPE.GUID:\n\t\tcase FIELD_TYPE.STRING_FULL_UTF8:\n\t\tcase FIELD_TYPE.DOMAIN_PATH:\n\t\tcase FIELD_TYPE.INT:\n\t\tcase FIELD_TYPE.USER_INPUT:\n\t\tcase FIELD_TYPE.RELATED_TAGS: {\n\t\t\tconst isLargeField =\n\t\t\t\tNumber.parseInt(controlProps.maxlength) > 255 ||\n\t\t\t\tisAttrTrue(getDictionaryAttrs(controlProps)['is_multi_text']);\n\t\t\tconst ignoreMaxlength =\n\t\t\t\tNumber.parseInt(controlProps.maxlength) >= 1000 || undefined;\n\t\t\tconst { isEncrypted, encryptionContext, label } = controlProps;\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tconst READ_ONLY_FIELDS = [\n\t\t\t\tFIELD_TYPE.DOMAIN_PATH,\n\t\t\t\tFIELD_TYPE.RELATED_TAGS\n\t\t\t];\n\n\t\t\t// Related tags field will be having only display value which are comma seperated values of label entries of particular record\n\t\t\t// So, When display value is updated, value should also be updated, so that field will be updated with new value\n\t\t\tif (type === FIELD_TYPE.RELATED_TAGS) {\n\t\t\t\tcontrolProps = {\n\t\t\t\t\t...controlProps,\n\t\t\t\t\tvalue: controlProps.displayValue,\n\t\t\t\t\toriginalValue: controlProps.originalDisplayValue\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tignoreMaxlength,\n\t\t\t\tshowCounter:\n\t\t\t\t\ttype !== FIELD_TYPE.WIDE_TEXT &&\n\t\t\t\t\tisAttrTrue(\n\t\t\t\t\t\tcontrolOrSysProp(\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t'glide.ui.textarea.character_counter',\n\t\t\t\t\t\t\tisLargeField && controlProps.showCounter\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\tlabel: isEncrypted\n\t\t\t\t\t? getEncryptedFieldLabel(label, encryptionContext)\n\t\t\t\t\t: label,\n\t\t\t\tdeclarativeActionsProps,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tdynamicTranslationEnabled: isAttrTrue(\n\t\t\t\t\t\tgetDictionaryAttrs(controlProps)['dynamic_translation_enabled']\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tsuggestions: getRecommendations(field),\n\t\t\t\tautoresizeLineLimit: getProperty(\n\t\t\t\t\t'glide.ui.textarea.autoresize_line_limit'\n\t\t\t\t),\n\t\t\t\tfieldRegex: Array.isArray(controlProps.fieldRegex)\n\t\t\t\t\t? controlProps.fieldRegex\n\t\t\t\t\t: [],\n\t\t\t\tmobileKeypadType:\n\t\t\t\t\tgetDictionaryAttrs(controlProps)['mobile_keypad_type'],\n\t\t\t\ttype: isLargeField ? 'textarea' : 'text',\n\t\t\t\t...(READ_ONLY_FIELDS.includes(type) ? { readonly: true } : {}),\n\t\t\t\t...(isLargeField ? { resizable: controlProps.resizable ?? true } : {})\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.AUTO_NUMBER:\n\t\t\tControl = 'sn-record-auto-number-connected';\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.ORDER_INDEX:\n\t\tcase FIELD_TYPE.DOCUMENTATION_FIELD:\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tconst initialValue =\n\t\t\t\tcontrolProps.displayValue ||\n\t\t\t\t(type === FIELD_TYPE.DOCUMENTATION_FIELD ? controlProps.value : '');\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\ttype: 'text',\n\t\t\t\tinitialValue,\n\t\t\t\tinitialDisplayValue: initialValue\n\t\t\t};\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.CHAR:\n\t\tcase FIELD_TYPE.WORKFLOW:\n\t\tcase FIELD_TYPE.STRING_SHORT:\n\t\t\tControl = 'sn-record-input-connected';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\ttype: 'text',\n\t\t\t\tdeclarativeActionsProps,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tdynamicTranslationEnabled: isAttrTrue(\n\t\t\t\t\t\tgetDictionaryAttrs(controlProps)['dynamic_translation_enabled']\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tsuggestions: getRecommendations(field)\n\t\t\t});\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.AUTO_INCREMENT:\n\t\tcase FIELD_TYPE.INTEGER:\n\t\t\tControl = 'now-record-number';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tdecimal: false,\n\t\t\t\tlocale: fixLocale(formData),\n\t\t\t\tformat: getDictionaryAttrs(controlProps)['format'],\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.LONG:\n\t\tcase FIELD_TYPE.LONG_INT:\n\t\t\tControl = 'now-record-number';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tdecimal: false,\n\t\t\t\tlong: true,\n\t\t\t\tlocale: fixLocale(formData),\n\t\t\t\tformat: getDictionaryAttrs(controlProps)['format'],\n\t\t\t\treversed: true,\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.FLOAT:\n\t\tcase FIELD_TYPE.DECIMAL:\n\t\t\tControl = 'now-record-number';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tlocale: fixLocale(formData),\n\t\t\t\tformat: getDictionaryAttrs(controlProps)['format'],\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.PERCENT_COMPLETE:\n\t\t\tControl = 'now-record-number';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tpercent: true,\n\t\t\t\tlocale: fixLocale(formData),\n\t\t\t\tformat: getDictionaryAttrs(controlProps)['format'],\n\t\t\t\tdeclarativeActionsProps\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.INPUT_GROUP:\n\t\t\tControl = 'sn-record-input-group';\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.URL: {\n\t\t\tControl = 'sn-record-url';\n\t\t\tconst { isEncrypted, encryptionContext, label } = controlProps;\n\t\t\tconst getAttr = getAttribute(controlProps);\n\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tlabel: isEncrypted\n\t\t\t\t\t? getEncryptedFieldLabel(label, encryptionContext)\n\t\t\t\t\t: label,\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tallowRelativeURL: isAttrTrue(getAttr('allow_relative_url', true))\n\t\t\t\t}\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.SLUSHBUCKET: {\n\t\t\tControl = 'sn-record-list-select';\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.JOURNAL: {\n\t\t\tconst useHTML = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.journal.use_html', false)\n\t\t\t);\n\t\t\tconst preloadMentions = getRecordMembers(controlProps.formData);\n\t\t\tconst enableTextCommands = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.enable_text_commands', true)\n\t\t\t);\n\t\t\tif (!useHTML) {\n\t\t\t\tControl = 'sn-record-input-connected';\n\t\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t\t...controlProps,\n\t\t\t\t\tmentions: userMention,\n\t\t\t\t\ttype: 'textarea',\n\t\t\t\t\tshowCounter: isAttrTrue(\n\t\t\t\t\t\tcontrolOrSysProp(\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t'glide.ui.textarea.character_counter',\n\t\t\t\t\t\t\tcontrolProps.showCounter\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tsuggestions: getRecommendations(field),\n\t\t\t\t\tautoresize: true,\n\t\t\t\t\tautoresizeLineLimit: getProperty(\n\t\t\t\t\t\t'glide.ui.textarea.autoresize_line_limit'\n\t\t\t\t\t),\n\t\t\t\t\tpreloadMentions,\n\t\t\t\t\ttextCommandsConfig: {\n\t\t\t\t\t\tenableTextCommands,\n\t\t\t\t\t\trecordTable: field.referringTable,\n\t\t\t\t\t\trecordSysId: field.referringRecordId,\n\t\t\t\t\t\ttype: 'field_type',\n\t\t\t\t\t\tfieldType: 'journal_input'\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcontrolProps.enableMentions = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.journal.enable_mentions', true)\n\t\t\t);\n\t\t\tcontrolProps.useCodeBlocks = true;\n\t\t\tcontrolProps.resizable = true;\n\n\t\t\tconst systemLanguage = getProperty('glide.sys.language');\n\t\t\tconst supportedLanguages = getProperty(\n\t\t\t\t`glide.ui.html.editor.languages`,\n\t\t\t\t''\n\t\t\t);\n\n\t\t\tconst userLanguage = getUserLanguage(currentUser);\n\t\t\tconst defaultPlugins = getProperty(\n\t\t\t\t'glide.ui.journal.html.plugins',\n\t\t\t\tDEFAULT_JOURNAL_PLUGINS\n\t\t\t);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tlanguage: resolveLanguage(\n\t\t\t\t\tuserLanguage,\n\t\t\t\t\tsystemLanguage,\n\t\t\t\t\tsupportedLanguages\n\t\t\t\t),\n\t\t\t\ttoolbar: [\n\t\t\t\t\tgetProperty('glide.ui.journal.html.toolbar', DEFAULT_JOURNAL_TOOLBAR)\n\t\t\t\t],\n\t\t\t\tplugins: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.journal.html.editor.autoresize', false)\n\t\t\t\t)\n\t\t\t\t\t? `${defaultPlugins}  autoresize`\n\t\t\t\t\t: defaultPlugins,\n\t\t\t\tminLineCount: 3,\n\t\t\t\tautoresizeLineLimit:\n\t\t\t\t\tgetProperty('glide.ui.journal.html.editor.autoresize_line_limit') ||\n\t\t\t\t\tundefined,\n\t\t\t\tfonts: getProperty(`glide.ui.html.editor.font.collection`),\n\t\t\t\tremoveHost: isAttrTrue(getProperty('glide.ui.html.editor.remove_host')),\n\t\t\t\trelativeUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.relative_urls')\n\t\t\t\t),\n\t\t\t\tconvertUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.convert_urls')\n\t\t\t\t),\n\t\t\t\textendedValidElements: getProperty(\n\t\t\t\t\t'glide.ui.html.editor.extended_valid_elements'\n\t\t\t\t),\n\t\t\t\tisJournal: true,\n\t\t\t\tdefaultLinkTarget: getProperty(\n\t\t\t\t\t'glide.ui.html.editor.default_link_target',\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tconfigMentions: {\n\t\t\t\t\tenableMentions: controlProps.enableMentions,\n\t\t\t\t\tresourceTable: field.referringTable,\n\t\t\t\t\tresourceSysId: field.referringRecordId\n\t\t\t\t},\n\t\t\t\tcontextmenu: getProperty(\n\t\t\t\t\t`glide.ui.html.editor.contextmenu`,\n\t\t\t\t\t'link image table'\n\t\t\t\t),\n\t\t\t\tpreloadMentions,\n\t\t\t\ttextCommandsConfig: {\n\t\t\t\t\tenableTextCommands,\n\t\t\t\t\trecordTable: field.referringTable,\n\t\t\t\t\trecordSysId: field.referringRecordId,\n\t\t\t\t\ttype: 'field_type',\n\t\t\t\t\tfieldType: 'journal_input'\n\t\t\t\t},\n\t\t\t\tforcedRootBlock: getProperty(\n\t\t\t\t\t'glide.ui.journal.html.forced_root_block',\n\t\t\t\t\t'p'\n\t\t\t\t),\n\t\t\t\tnewlineBehavior: getProperty(\n\t\t\t\t\t'glide.ui.journal.newline_behavior',\n\t\t\t\t\t'default'\n\t\t\t\t)\n\t\t\t};\n\t\t\tControl = 'now-record-html-editor';\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.TRANSLATED_HTML:\n\t\tcase FIELD_TYPE.HTML:\n\t\t\tconst isMultiText = getDictionaryAttrs(controlProps)['is_multi_text'];\n\t\t\tif (!(isMultiText == undefined || isAttrTrue(isMultiText))) {\n\t\t\t\t// Display text box in case of single line HTML field\n\t\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t\t...controlProps,\n\t\t\t\t\ttype: 'text'\n\t\t\t\t});\n\t\t\t\tControl = 'sn-record-input-connected';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst systemLanguage = getProperty('glide.sys.language');\n\t\t\t// This property is actually spelled this way and is not a typo\n\t\t\tconst supportedLanguages = getProperty(\n\t\t\t\t`glide.ui.html.editor.languages`,\n\t\t\t\t'ar,cs,de,en,es,fi,fr,fq,he,hu,it,ja,ko,nl,pl,pt,ru,th,tr,zh,zt'\n\t\t\t);\n\n\t\t\tconst preloadMentions = getRecordMembers(controlProps.formData);\n\n\t\t\t//make object array to single object with name as key\n\t\t\tconst dictionaryAttributes = getDictionaryAttrs(controlProps);\n\t\t\tconst htmlAttributes = getHtmlAttributes(\n\t\t\t\tdictionaryAttributes,\n\t\t\t\tcontrolProps.fieldType\n\t\t\t);\n\t\t\tconst enableTextCommands = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.enable_text_commands', true)\n\t\t\t);\n\n\t\t\tif (controlProps.referringTable === 'kb_knowledge') {\n\t\t\t\tconst knowledgeBlockStyles =\n\t\t\t\t\t\"body .kb-block-content-item[contentEditable='false'][data-mce-selected]\" +\n\t\t\t\t\t' { background: #d9ebee; outline: 2px solid #01778e;}';\n\t\t\t\tcontrolProps.contentStyle = controlProps.contentStyle\n\t\t\t\t\t? `${controlProps.contentStyle} ${knowledgeBlockStyles}`\n\t\t\t\t\t: knowledgeBlockStyles;\n\t\t\t}\n\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tlanguage: resolveLanguage(\n\t\t\t\t\tuserLanguage,\n\t\t\t\t\tsystemLanguage,\n\t\t\t\t\tsupportedLanguages\n\t\t\t\t),\n\t\t\t\ttoolbar: getTinyMCEToolbar(),\n\t\t\t\tvalidButtons:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.toolbar.valid_buttons`) ||\n\t\t\t\t\tundefined,\n\t\t\t\tvalidPlugins:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.valid_plugins`) || undefined,\n\t\t\t\tplugins:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.enabled_plugins`) || undefined,\n\t\t\t\tautoresizeLineLimit:\n\t\t\t\t\tgetProperty('glide.ui.html.editor.autoresize_line_limit') ||\n\t\t\t\t\tundefined,\n\t\t\t\tfonts: getProperty(`glide.ui.html.editor.font.collection`) || undefined,\n\t\t\t\tremoveHost: isAttrTrue(getProperty('glide.ui.html.editor.remove_host')),\n\t\t\t\trelativeUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.relative_urls')\n\t\t\t\t),\n\t\t\t\tconvertUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.convert_urls')\n\t\t\t\t),\n\t\t\t\textendedValidElements:\n\t\t\t\t\tgetProperty('glide.ui.html.editor.extended_valid_elements') ||\n\t\t\t\t\tundefined,\n\t\t\t\tpowerPasteHtmlImport:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.paste.html_import`) || undefined,\n\t\t\t\tpowerPasteWordImport:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.paste.word_import`) || undefined,\n\t\t\t\tpowerPasteFilterInlineElements: getProperty(\n\t\t\t\t\t`glide.ui.html.editor.paste.filtered_inline_elements`,\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tdefaultLinkTarget: getProperty(\n\t\t\t\t\t'glide.ui.html.editor.default_link_target',\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tcontextmenu: getProperty(\n\t\t\t\t\t`glide.ui.html.editor.contextmenu`,\n\t\t\t\t\t'link image table'\n\t\t\t\t),\n\t\t\t\tconfigMentions: {\n\t\t\t\t\tenableMentions: controlProps.enableMentions,\n\t\t\t\t\tresourceTable: field.referringTable,\n\t\t\t\t\tresourceSysId: field.referringRecordId\n\t\t\t\t},\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tdynamicTranslationEnabled: isAttrTrue(\n\t\t\t\t\t\tgetDictionaryAttrs(controlProps)['dynamic_translation_enabled']\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tpreloadMentions,\n\t\t\t\ttextCommandsConfig: {\n\t\t\t\t\tenableTextCommands,\n\t\t\t\t\trecordTable: field.referringTable,\n\t\t\t\t\trecordSysId: field.referringRecordId,\n\t\t\t\t\ttype: 'field_type',\n\t\t\t\t\tfieldType: 'html'\n\t\t\t\t},\n\t\t\t\tnewlineBehavior: getProperty(\n\t\t\t\t\t'glide.ui.html.editor.newline_behavior',\n\t\t\t\t\t'default'\n\t\t\t\t),\n\t\t\t\t...htmlAttributes\n\t\t\t};\n\t\t\tControl = 'now-record-html-editor';\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.HTML_SCRIPT:\n\t\t\tconst systemLanguageScript = getProperty('glide.sys.language');\n\t\t\t// This property is actually spelled this way and is not a typo\n\t\t\tconst supportedLanguagesScript = getProperty(\n\t\t\t\t`glide.ui.html.editor.languages`,\n\t\t\t\t'ar,cs,de,en,es,fi,fr,fq,he,hu,it,ja,ko,nl,pl,pt,ru,th,tr,zh,zt'\n\t\t\t);\n\n\t\t\t//make object array to single object with name as key\n\t\t\tconst dictionaryAttributesScript = getDictionaryAttrs(controlProps);\n\t\t\tconst htmlAttributesScript = getHtmlAttributes(\n\t\t\t\tdictionaryAttributesScript,\n\t\t\t\tcontrolProps.fieldType\n\t\t\t);\n\n\t\t\tif (controlProps.referringTable === 'kb_knowledge') {\n\t\t\t\tconst knowledgeBlockStyles =\n\t\t\t\t\t\"body .kb-block-content-item[contentEditable='false'][data-mce-selected]\" +\n\t\t\t\t\t' { background: #d9ebee; outline: 2px solid #01778e;}';\n\t\t\t\tcontrolProps.contentStyle = controlProps.contentStyle\n\t\t\t\t\t? `${controlProps.contentStyle} ${knowledgeBlockStyles}`\n\t\t\t\t\t: knowledgeBlockStyles;\n\t\t\t}\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tlanguage: resolveLanguage(\n\t\t\t\t\tuserLanguage,\n\t\t\t\t\tsystemLanguageScript,\n\t\t\t\t\tsupportedLanguagesScript\n\t\t\t\t),\n\t\t\t\ttoolbar: getTinyMCEToolbar(),\n\t\t\t\tvalidButtons:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.toolbar.valid_buttons`) ||\n\t\t\t\t\tundefined,\n\t\t\t\tvalidPlugins:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.valid_plugins`) || undefined,\n\t\t\t\tplugins:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.enabled_plugins`) || undefined,\n\t\t\t\tautoresizeLineLimit:\n\t\t\t\t\tgetProperty('glide.ui.html.editor.autoresize_line_limit') ||\n\t\t\t\t\tundefined,\n\t\t\t\tfonts: getProperty(`glide.ui.html.editor.font.collection`) || undefined,\n\t\t\t\tremoveHost: isAttrTrue(getProperty('glide.ui.html.editor.remove_host')),\n\t\t\t\trelativeUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.relative_urls')\n\t\t\t\t),\n\t\t\t\tconvertUrls: isAttrTrue(\n\t\t\t\t\tgetProperty('glide.ui.html.editor.convert_urls')\n\t\t\t\t),\n\t\t\t\textendedValidElements:\n\t\t\t\t\tgetProperty('glide.ui.html.editor.extended_valid_elements') ||\n\t\t\t\t\tundefined,\n\t\t\t\tpowerPasteHtmlImport:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.paste.html_import`) || undefined,\n\t\t\t\tpowerPasteWordImport:\n\t\t\t\t\tgetProperty(`glide.ui.html.editor.paste.word_import`) || undefined,\n\t\t\t\tpowerPasteFilterInlineElements: getProperty(\n\t\t\t\t\t`glide.ui.html.editor.paste.filtered_inline_elements`,\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tdefaultLinkTarget: getProperty(\n\t\t\t\t\t'glide.ui.html.editor.default_link_target',\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tcontextmenu: getProperty(\n\t\t\t\t\t`glide.ui.html.editor.contextmenu`,\n\t\t\t\t\t'link image table'\n\t\t\t\t),\n\t\t\t\tconfigMentions: {\n\t\t\t\t\tenableMentions: controlProps.enableMentions,\n\t\t\t\t\tresourceTable: field.referringTable,\n\t\t\t\t\tresourceSysId: field.referringRecordId\n\t\t\t\t},\n\t\t\t\tdictionaryAttributes: {\n\t\t\t\t\tdynamicTranslationEnabled: isAttrTrue(\n\t\t\t\t\t\tgetDictionaryAttrs(controlProps)['dynamic_translation_enabled']\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tdependentValue: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.value\n\t\t\t\t\t: formFieldsData[field.name]?.dependentValue,\n\t\t\t\tdependentFieldLabel: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.label\n\t\t\t\t\t: formFieldsData[dependentField]?.label,\n\t\t\t\tdependentDisplayValue: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.displayValue\n\t\t\t\t\t: formFieldsData[dependentField]?.displayValue,\n\t\t\t\tdependentField: isTemplateForm ? 'table' : dependentField,\n\t\t\t\tformData,\n\t\t\t\tnewlineBehavior: getProperty(\n\t\t\t\t\t'glide.ui.html.editor.newline_behavior',\n\t\t\t\t\t'default'\n\t\t\t\t),\n\t\t\t\t...htmlAttributesScript\n\t\t\t};\n\t\t\tControl = 'now-record-html-script';\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.EMAIL_SCRIPT:\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tdependentValue: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.value\n\t\t\t\t\t: formFieldsData[field.name]?.dependentValue,\n\t\t\t\tdependentFieldLabel: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.label\n\t\t\t\t\t: formFieldsData[dependentField]?.label,\n\t\t\t\tdependentDisplayValue: isTemplateForm\n\t\t\t\t\t? formFieldsData['table']?.displayValue\n\t\t\t\t\t: formFieldsData[dependentField]?.displayValue,\n\t\t\t\tdependentField: isTemplateForm ? 'table' : dependentField,\n\t\t\t\tformData\n\t\t\t};\n\t\t\tControl = 'sn-record-email-script';\n\t\t\tbreak;\n\t\tcase FIELD_TYPE.JSON:\n\t\t\tControl = 'sn-record-code-editor';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\teditorLanguage: 'json'\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.CSS:\n\t\t\tControl = 'sn-record-code-editor';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\teditorLanguage: 'css'\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.FILE_ATTACHMENT:\n\t\t\tControl = 'sn-record-file-attachment';\n\t\t\tcontrolProps = {\n\t\t\t\tmaxAttachmentSize: getProperty('com.glide.attachment.max_size'),\n\t\t\t\t...controlProps,\n\t\t\t\ttableName: controlProps.referringTable,\n\t\t\t\ttableSysId: controlProps.referringRecordId,\n\t\t\t\tcontentType: controlProps.contentType,\n\t\t\t\tvirusState: controlProps.state,\n\t\t\t\textensions: getProperty('glide.attachment.extensions'),\n\t\t\t\tscheduleForCleanup: controlProps.scheduleForCleanup ?? true\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.DURATION:\n\t\t\tControl = 'sn-record-duration';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\toriginalValue: normalizeToDurationFormat(\n\t\t\t\t\tcontrolProps?.originalValue,\n\t\t\t\t\tcontrolProps?.value\n\t\t\t\t),\n\t\t\t\tvalue: controlProps.value\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.ANNOTATION:\n\t\t\tControl = 'sn-record-annotation';\n\t\t\tcontrolChildren = field.isPlainText ? field.text : [toHtml(field.text)];\n\t\t\t//Explicitly setting the text property to it's default value after resolving text property to controlChildren as the uiElement text property is conflicting with the component text property.\n\t\t\tcontrolProps.text = false;\n\t\t\tswitch (field.typeDisplayValue) {\n\t\t\t\tcase 'Info Box Blue':\n\t\t\t\t\tcontrolProps.info = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Info Box Red':\n\t\t\t\t\tcontrolProps.important = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Line Separator':\n\t\t\t\t\tcontrolProps.lineSeparator = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Section Separator':\n\t\t\t\t\tcontrolProps.sectionSeparator = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Section Details':\n\t\t\t\tcase 'Section Plain Text':\n\t\t\t\t\tcontrolProps.sectionDetails = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Text':\n\t\t\t\t\tcontrolProps.text = true;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.IP_ADDR:\n\t\tcase FIELD_TYPE.IP_ADDRESS:\n\t\t\tControl = 'now-record-ip-address';\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.NAME_VALUE:\n\t\t\tControl = 'sn-record-name-value';\n\t\t\tconst dictAttributes = getDictionaryAttrs(controlProps);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tkeyReadOnly: isAttrTrue(dictAttributes['key_readonly']),\n\t\t\t\tvalueReadOnly: isAttrTrue(dictAttributes['value_readonly']),\n\t\t\t\tnoActions: isAttrTrue(dictAttributes['no_actions'])\n\t\t\t};\n\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.TEMPLATE_VALUE:\n\t\t\tControl = 'sn-record-template-value-connected';\n\t\t\tconst ignoreRefQualifier = isAttrTrue(\n\t\t\t\tgetProperty('glide.ui.template.ignore_ref_qualifier')\n\t\t\t);\n\t\t\tconst formDataForTemplate = getFormDataForTemplateValue(formData);\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tformData: {\n\t\t\t\t\t...formDataForTemplate,\n\t\t\t\t\tignoreReferenceQualifier: ignoreRefQualifier\n\t\t\t\t}\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.USER_IMAGE:\n\t\t\tControl = 'sn-record-file-attachment';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tmaxAttachmentSize: getProperty('com.glide.attachment.max_size'),\n\t\t\t\ttableName: controlProps.referringTable,\n\t\t\t\ttableSysId: controlProps.referringRecordId,\n\t\t\t\tcontentType: controlProps.contentType,\n\t\t\t\tvirusState: controlProps.state,\n\t\t\t\textensions: 'jpg,png,bmp,gif,jpeg,ico,svg',\n\t\t\t\ttype: 'image',\n\t\t\t\tmessages: messages.map(m => {\n\t\t\t\t\tif (m.message instanceof LiveUpdateMessage) {\n\t\t\t\t\t\tm.message.setHideValue(true);\n\t\t\t\t\t}\n\t\t\t\t\treturn m;\n\t\t\t\t}),\n\t\t\t\tscheduleForCleanup: controlProps.scheduleForCleanup ?? true\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.WIKI_TEXT: {\n\t\t\tControl = 'sn-record-wiki-text-connected';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\tdualMode: isAttrTrue(getDictionaryAttrs(controlProps)['dual_mode']),\n\t\t\t\tinlineMode: isAttrFalse(\n\t\t\t\t\tgetDictionaryAttrs(controlProps)['preview_selector']\n\t\t\t\t)\n\t\t\t};\n\t\t\tbreak;\n\t\t}\n\n\t\tcase FIELD_TYPE.TIME_WORKED: {\n\t\t\tControl = 'sn-record-time-worked-connected';\n\t\t\tcontrolProps = setInitialValue({\n\t\t\t\t...controlProps,\n\t\t\t\tautoStart: isAttrTrue(getProperty('glide.ui.timer.started', true))\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase FIELD_TYPE.CONDITION_STRING:\n\t\t\tControl = 'sn-record-code-editor';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\teditorLanguage: JAVASCRIPT,\n\t\t\t\tisConditionString: true,\n\t\t\t\tlinterConfig: getProperty(\n\t\t\t\t\t'glide.ui.syntax_editor.linter.eslint_config',\n\t\t\t\t\t{}\n\t\t\t\t)\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.XML:\n\t\t\tControl = 'sn-record-code-editor';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\teditorLanguage: XML,\n\t\t\t\tautoresizeLineLimit: getProperty(\n\t\t\t\t\t'glide.ui.workspace.script.code_editor.autoresize_line_limit'\n\t\t\t\t)\n\t\t\t};\n\t\t\tbreak;\n\n\t\tcase FIELD_TYPE.SCRIPT_PLAIN:\n\t\tcase FIELD_TYPE.SCRIPT:\n\t\t\tControl = 'sn-record-code-editor';\n\t\t\tcontrolProps = {\n\t\t\t\t...controlProps,\n\t\t\t\teditorLanguage: JAVASCRIPT,\n\t\t\t\tautoresizeLineLimit: getProperty(\n\t\t\t\t\t'glide.ui.workspace.script.code_editor.autoresize_line_limit'\n\t\t\t\t),\n\t\t\t\tisClientScript: getAttribute(controlProps)('client_script', false),\n\t\t\t\tautocompleteSuggestions: {\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tvariant: 'append',\n\t\t\t\t\tsuggestions: [controlProps.autocompletionSuggestions]\n\t\t\t\t}\n\t\t\t};\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tconst defaultControl = getDefaultFormControl(controlProps, type);\n\t\t\tControl = defaultControl.Control;\n\t\t\tcontrolProps = defaultControl.controlProps;\n\t}\n\t// Allow template-value to override dirty state calculation for HTML_SCRIPT/EMAIL_SCRIPT\n\tconst showUnsavedIndicator =\n\t\tcontrolProps?.formData?.isReferredByTemplateField &&\n\t\t(type === FIELD_TYPE.HTML_SCRIPT || type === FIELD_TYPE.EMAIL_SCRIPT)\n\t\t\t? controlProps.formData.showUnsavedIndicator\n\t\t\t: shouldShowUnsavedIndicator(controlProps);\n\tconst color = getFieldBackgroundColor(showUnsavedIndicator, controlProps);\n\t//Pick the sanitise value and check if field is modified and display the unsaved indicator\n\tcontrolProps.formData = {\n\t\t...(controlProps.formData || {}),\n\t\tshowUnsavedIndicator\n\t};\n\tcontrolProps.isModified = isDirty(controlProps);\n\tcontrolProps.color = color;\n\n\treturn {\n\t\tControl,\n\t\tprops: controlProps,\n\t\tchildren: controlChildren,\n\t\trender: true\n\t};\n}\n\nexport default {\n\tisSupported,\n\tcreateFormControl,\n\tgetFormControl\n};\n","import { isFunction } from 'lodash';\nimport {\n\tadaptCallbackForLegacyAPI,\n\tFIELD_TYPE\n} from '@devsnc/sn-controls-common';\n\nconst optionSetEffect = ({ action, dispatch, properties }) => {\n\tconst { value } = action.payload;\n\tconst { onValueChange, name } = properties;\n\tif (isFunction(onValueChange)) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue\n\t\t});\n\t}\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: FIELD_TYPE.RADIO }\n\t});\n\tdispatch('NOW_RADIO_GROUP#VALUE_CHANGED', {\n\t\tname,\n\t\tvalue\n\t});\n};\n\nexport const actionHandlers = {\n\t'NOW_RADIO_BUTTONS#VALUE_SET': {\n\t\teffect: optionSetEffect,\n\t\tstopPropagation: true\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { fieldLayoutSchema, trackBehavior } from '@devsnc/sn-controls-common';\nimport { actionHandlers } from './actionHandlers';\nimport { view } from './view';\nimport '@servicenow/now-radio-buttons';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport style from './radio-group.scss';\n\nconst COMPONENT_NAME = 'now-radio-group';\n\n/**\n * A group of radio buttons that allows a user to select one radio button from the group\n * similar to a group of native HTML `input` element of type radio.\n *\n * ```jsx\n * const options = [{displayValue: 'Red', value: 'red'}, {displayValue: 'Red', value: 'blue'}];\n *\n * <now-radio-group options={options} />\n *\n * <now-radio-group value='red' options={options} />\n *\n * ```\n *\n * @seismicElement now-radio-group\n * @summary A group of radio buttons that allows the user to select one element from the group.\n *\n * */\ncreateCustomElement(COMPONENT_NAME, {\n\tstyles: style,\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Provide a description for the radio group\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Mark selected option as invalid\n\t\t * @type {boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * The label for the radio group\n\t\t * Does not need to be unique\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * Array of inline alert messages that display below the radio field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Name of the group, must be unique\n\t\t * if there are multiple groups on a page\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * Click event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * An array of objects representing the\n\t\t * available options in the radio group\n\t\t * each containing a displayValue to be shown\n\t\t * and an associated value\n\t\t * @type {Array<{displayValue: string, value: any}>}\n\t\t */\n\t\toptions: { default: [] },\n\t\t/**\n\t\t * Enable to show the selected radio button\n\t\t * but prevent hover and click functionality\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Enable to mark radio group as a required field\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Size of the radio button.\n\t\t * @type {('sm'|'md')}\n\t\t */\n\t\tsize: { default: 'md', schema: { type: 'string', enum: ['sm', 'md'] } },\n\t\t/**\n\t\t * The value associated with the\n\t\t * selected radio button\n\t\t * @type {any}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * When `true` the radio buttons are arranged vertically or else horizontally.\n\t\t * @type {boolean}\n\t\t */\n\t\tvertical: { default: true },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a radio button is clicked.\n\t\t * @type {{name: string, value: any}}\n\t\t */\n\t\t'NOW_RADIO_GROUP#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","import {\n\tgetModifiedIconConfig,\n\tisAttrTrue,\n\ttransformDescriptionAndMessages,\n\trenderDecorations,\n\trenderHighlightedValue,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS\n} from '@devsnc/sn-controls-common';\n\nexport const view = state => {\n\tconst { properties } = state;\n\tconst {\n\t\toptions,\n\t\thighlightedValue,\n\t\tfieldLayout,\n\t\tdescription,\n\t\tmessages,\n\t\tvertical,\n\t\tvalue,\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\twrapLabel\n\t} = properties;\n\tconst radioOptions = options.map(o => ({\n\t\tid: o.value,\n\t\tlabel: o.displayValue,\n\t\tchecked: o.value === value\n\t}));\n\tconst layout = isAttrTrue(vertical) ? 'vertical' : 'horizontal';\n\n\treturn (\n\t\t<now-radio-buttons\n\t\t\t{...properties}\n\t\t\twrapLabel={wrapLabel}\n\t\t\toptions={radioOptions}\n\t\t\tlayout={layout}\n\t\t\tmanageValue\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t>\n\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t{renderIconsInLabelSlot(\n\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\tlabel: properties?.label\n\t\t\t\t})\n\t\t\t)}\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(properties)}\n\t\t<\/now-radio-buttons>\n\t);\n};\n","import { FIELD_TYPE } from '@devsnc/sn-controls-common';\n\nexport const VARIABLE_PICKER_SUPPORTED_FIELDS = [\n\tFIELD_TYPE.STRING,\n\tFIELD_TYPE.HTML,\n\tFIELD_TYPE.TRANSLATED_HTML,\n\tFIELD_TYPE.JOURNAL,\n\tFIELD_TYPE.TRANSLATED_FIELD,\n\tFIELD_TYPE.TRANSLATED_TEXT,\n\tFIELD_TYPE.STRING_FULL_UTF8,\n\tFIELD_TYPE.STRING_LONG,\n\tFIELD_TYPE.TEXTAREA,\n\tFIELD_TYPE.MULTI_SMALL,\n\tFIELD_TYPE.MULTI_TWO_LINES,\n\tFIELD_TYPE.USER_INPUT,\n\tFIELD_TYPE.REFERENCE\n];\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n","import { t } from 'sn-translate';\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport { omit } from 'lodash';\nimport '@devsnc/sn-record-content-tree-connected';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../template-value/constants';\n\nexport const CONTENT_TREE_WIDTH = 288;\nexport const CONTENT_TREE_HEIGHT = 193;\nexport const SHOW_VARIABLE_PICKER = t('Show Variable Picker');\nexport const SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#ITEM_CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\nexport const actionHandlers = {\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\teffect: ({ action, updateState, dispatch, properties }) => {\n\t\t\tconst { value, fromVariablePicker } = action.payload;\n\t\t\tif (!fromVariablePicker) return;\n\t\t\taction.stopPropagation();\n\t\t\tupdateState({\n\t\t\t\tvariablePickerOpened: value\n\t\t\t});\n\t\t\tif (value && properties.metadata?.shouldTrack)\n\t\t\t\tdispatch(\n\t\t\t\t\t'TRACK_VARIABLE_PICKER_OPENED',\n\t\t\t\t\tomit(properties.metadata, ['shouldTrack'])\n\t\t\t\t);\n\t\t}\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: ({ action }) => {\n\t\t\tconst { fromVariablePicker } = action.payload;\n\t\t\tif (!fromVariablePicker) return;\n\t\t\taction.stopPropagation();\n\t\t}\n\t},\n\t[SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED]: {\n\t\teffect: ({ action, dispatch, updateState, properties }) => {\n\t\t\tconst item = action.payload;\n\t\t\tif (item) {\n\t\t\t\tdispatch('VARIABLE_PICKER_ITEM_SELECTED', {\n\t\t\t\t\titem\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tvariablePickerOpened: false\n\t\t\t\t});\n\t\t\t\tif (properties.metadata?.shouldTrack)\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\t'TRACK_VARIABLE_PICKER_SELECTED',\n\t\t\t\t\t\tomit(properties.metadata, ['shouldTrack'])\n\t\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n\nconst popoverVariablePickerBehavior = {\n\tname: 'variablePickerBehavior',\n\tsetInitialState: () => ({\n\t\tvariablePickerOpened: false\n\t}),\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * Additional metadata about consumer component needed for tracking usage.\n\t\t * By default, shouldTrack is false to avoid tracking. Enable it by setting shouldTrack to true.\n\t\t * Other metadata properties which can be passed are fieldType, childFieldType, etc which will\n\t\t * be directly passed to final track metadata.\n\t\t * @type {object}\n\t\t */\n\t\tmetadata: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tdefault: { shouldTrack: false }\n\t\t},\n\t\t/**\n\t\t * Specifies processor and other properties to be used for the HTTP request for variable picker.\n\t\t * It can contain a `params` object to override default request parameters.\n\t\t * Default params are:\n\t\t * ```\n\t\t * {\n\t\t *   sysparm_processor: 'SysMeta',\n\t\t *   sysparm_scope: 'global',\n\t\t *   sysparm_want_session_messages: true,\n\t\t *   sysparm_type: 'column',\n\t\t *   sysparm_include_sysid: true,\n\t\t *   sysparm_table_name: false,\n\t\t *   sysparm_is_template: false,\n\t\t *   sysparm_apply_template_acls: false,\n\t\t *   sysparm_is_excluded_role: false,\n\t\t *   sysparm_synch: true,\n\t\t *   sysparm_flag_indexed: true,\n\t\t *   method: 'getTreeNodes'\n\t\t * }\n\t\t * ```\n\t\t * It can also contain another property `filter` which is an object containing\n\t\t * information like type, reference, to be used as metadata for the response\n\t\t * parsing and filtering.\n\t\t * Example:\n\t\t * ```\n\t\t * filter: {\n\t\t *   type: 'reference',\n\t\t *   reference: 'incident'\n\t\t * }\n\t\t * ```\n\t\t * will only show reference fields that refer to the incident table in the variable picker.\n\t\t * By default, if type is 'reference', filter will be set to { type: 'reference' }.\n\t\t * @type {object}\n\t\t */\n\t\tpickerConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst renderPopoverVariablePicker = state => {\n\tconst {\n\t\tvariablePickerOpened,\n\t\tproperties: {\n\t\t\tdependentField,\n\t\t\ttable,\n\t\t\tdependentFieldDisplayValue,\n\t\t\tdependentFieldLabel,\n\t\t\tpickerConfig,\n\t\t\ttype\n\t\t}\n\t} = state;\n\tconst treePickerConfig =\n\t\tpickerConfig ?? (type === 'reference' ? { filter: { type } } : {});\n\treturn (\n\t\t<now-popover\n\t\t\tmanage-opened\n\t\t\topened={variablePickerOpened}\n\t\t\tinteractionType=\"dialog\"\n\t\t\tconstrain={{ minWidth: CONTENT_TREE_WIDTH }}\n\t\t\tappend-to-payload={{ fromVariablePicker: true }}\n\t\t>\n\t\t\t<now-button-iconic\n\t\t\t\tbare={true}\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"curly-bracket-plus-outline\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: { 'aria-label': SHOW_VARIABLE_PICKER }\n\t\t\t\t}}\n\t\t\t\ttooltipContent={SHOW_VARIABLE_PICKER}\n\t\t\t\tappend-to-payload={{ fromVariablePicker: true }}\n\t\t\t><\/now-button-iconic>\n\t\t\t<sn-record-content-tree-connected\n\t\t\t\tslot=\"content\"\n\t\t\t\tconfigAria={{ 'aria-label': t('Variable Picker, Select Variables') }}\n\t\t\t\tdependentField={dependentField}\n\t\t\t\tdependentFieldLabel={dependentFieldLabel}\n\t\t\t\tdependentValue={table}\n\t\t\t\tdependentDisplayValue={dependentFieldDisplayValue}\n\t\t\t\tvariablePicker={true}\n\t\t\t\theight={CONTENT_TREE_HEIGHT}\n\t\t\t\ttreePickerConfig={treePickerConfig}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n\nexport { renderPopoverVariablePicker, popoverVariablePickerBehavior };\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-pill';\nimport styles from './CustomPill.scss';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@devsnc/sn-record-control-wrapper';\nimport '@servicenow/now-tooltip';\n\nexport const NOW_PILL = {\n\tDISMISSED: 'NOW_PILL#DISMISSED'\n};\n\nexport const NOW_TOOLTIP = {\n\tOPENED_SET: 'NOW_TOOLTIP#OPENED_SET'\n};\n\nconst RenderCustomPill = ({\n\tcustomPillRef,\n\tupdateState,\n\tonPillDismiss,\n\tcustomTooltipHovered,\n\tpillRemoveTooltipVisible,\n\tcanDismiss = true,\n\t...props\n}) => {\n\tconst setCustomPillRef = ref =>\n\t\tsetTimeout(() => updateState({ customPillRef: ref }));\n\tconst { messages, value, displayValue } = props;\n\tconst hasError = messages?.some(msg => msg.type === 'error');\n\tconst pillIcon = hasError ? 'circle-exclamation-outline' : '';\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\tfieldLayout={props.fieldLayout}\n\t\t\tinvalid={props.invalid}\n\t\t\tmessages={props.messages}\n\t\t\treadonly={props.readonly}\n\t\t\trequired={props.required}\n\t\t>\n\t\t\t<Fragment>\n\t\t\t\t<div className=\"sn-control-custom-pill\">\n\t\t\t\t\t<now-pill\n\t\t\t\t\t\tappend-to-payload={{ isCustomPill: true, onPillDismiss }}\n\t\t\t\t\t\tlabel={displayValue}\n\t\t\t\t\t\ticon={pillIcon}\n\t\t\t\t\t\tinteraction=\"select\" // selection functionality for pill is not required, this is just to have the hover effect\n\t\t\t\t\t\tcan-dismiss={canDismiss}\n\t\t\t\t\t\thook-insert={({ elm }) => setCustomPillRef(elm)}\n\t\t\t\t\t\thook-destroy={() => setCustomPillRef(null)}\n\t\t\t\t\t\tmanage-selected // to control selected state of pill\n\t\t\t\t\t\tselected={false} // to ensure that pill is never selected, we just want pill to have hover effect\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t<now-tooltip\n\t\t\t\t\tappend-to-payload={{ isCustomTooltip: true }}\n\t\t\t\t\tid={'custom-pill-tooltip'}\n\t\t\t\t\ttarget-ref={customPillRef}\n\t\t\t\t\tcontent={value}\n\t\t\t\t\tdelay={300}\n\t\t\t\t\tmanage-opened\n\t\t\t\t\topened={customTooltipHovered && !pillRemoveTooltipVisible} // only show tooltip when hovered upon and the remove pill tooltip is not visible\n\t\t\t\t/>\n\t\t\t<\/Fragment>\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\nRenderCustomPill.styles = styles;\n\nconst actionHandlers = {\n\t[NOW_PILL.DISMISSED]: {\n\t\teffect: ({ action }) => {\n\t\t\tconst { isCustomPill, onPillDismiss } = action.payload;\n\t\t\tif (!isCustomPill) return;\n\t\t\taction.stopPropagation();\n\t\t\tonPillDismiss();\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t['NOW_TOOLTIP#OPENED_SET']: {\n\t\teffect: ({ action, updateState }) => {\n\t\t\tconst { isCustomTooltip, value } = action.payload;\n\t\t\tif (!isCustomTooltip) {\n\t\t\t\tupdateState({ pillRemoveTooltipVisible: value });\n\t\t\t} else {\n\t\t\t\tupdateState({ customTooltipHovered: value });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n\nconst CustomPillBehavior = {\n\tname: 'CustomPillBehavior',\n\tsetInitialState: () => ({\n\t\tvariablePickerOpened: false,\n\t\tcustomTooltipHovered: false,\n\t\tpillRemoveTooltipVisible: false\n\t}),\n\tactionHandlers,\n\tproperties: {}\n};\n\nexport { RenderCustomPill, CustomPillBehavior };\n","import { flow, omit, get, assign } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-loader';\n\nimport { getFormControl } from '../base/controlElementFactory';\n\nimport {\n\tFIELD_BG_COLOR_DEFAULT,\n\tFIELD_BG_COLOR_UNSAVED,\n\tgetPageProperty,\n\tinsertContent\n} from '@devsnc/sn-controls-common';\n\nimport styles from './field-selection.scss';\n\nimport '@devsnc/sn-form-controls';\nimport '@servicenow/now-button';\nimport '@servicenow/now-input';\nimport '@servicenow/now-text-link';\nimport '@servicenow/now-radio-group';\n\nimport { VARIABLE_PICKER_SUPPORTED_FIELDS } from './constants';\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\n\nimport {\n\tisAttrTrue,\n\tFIELD_TYPE,\n\tgetProperty\n} from '@devsnc/sn-controls-common';\nimport {\n\tpopoverVariablePickerBehavior,\n\trenderPopoverVariablePicker,\n\tRenderCustomPill,\n\tCustomPillBehavior\n} from '../sharedFunctionalComponents';\n\nimport { shouldShowTemplateValueUnsavedIndicator } from './actions';\nexport const FIELD_SELECTION = 'sn-record-template-value-field-selection';\n\nexport const FIELD_SELECTION_ACTION_NAME =\n\tFIELD_SELECTION.toUpperCase().replace(/-/g, '_');\nexport const FIELD_SELECTION_PATH_UPDATE = `${FIELD_SELECTION_ACTION_NAME}#PATH_UPDATED`;\nexport const FIELD_VALUE_CHANGED = `${FIELD_SELECTION_ACTION_NAME}#VALUE_CHANGED`;\n\nexport const searchDeclarativeAction = {\n\tname: 'reference_search',\n\ticon: 'magnifying-glass-outline',\n\tlabel: t('Search For Record'),\n\tdependency: '',\n\trequiresValue: false,\n\torder: 0,\n\tconditions: '',\n\tactionType: 'action_component',\n\tactionComponent: 'sn-declarative-reference-search',\n\tactionDispatch: '',\n\tactionPayload: '',\n\tactionAttributes: '{\"context\":\"\"}',\n\tgroupBy: false,\n\tgroup: '',\n\tassignmentId: '994fc9bd53332300099addeeff7b1296',\n\tconfirmationRequired: false,\n\tconfirmationMessage: '',\n\ttooltip: t('Search for Record'),\n\tmodelConditions: [],\n\tpayloadMap: []\n};\n\nconst createHandler = (matchingType, transformer) => type => props =>\n\ttype === matchingType ? { ...props, ...transformer(props) } : props;\n\nexport const handleGlideList = createHandler(FIELD_TYPE.GLIDE_LIST, props => ({\n\t// referringTable should be the value that the TableName field has\n\treferringTable: props.table,\n\tdisplay_value_list: props.displayValue,\n\tdeclarativeUiActions: props.readonly ? [] : [searchDeclarativeAction]\n}));\n\nconst handleReference = createHandler(FIELD_TYPE.REFERENCE, props => ({\n\t// referringTable should be the value that the TableName field has\n\treferringTable: props.table,\n\tdeclarativeUiActions: props.readonly ? [] : [searchDeclarativeAction]\n}));\n\nexport const handleRadio = createHandler(FIELD_TYPE.RADIO, props => ({\n\t// Radio component expects 'options' prop, but GraphQL returns 'radioChoices'\n\toptions: props.radioChoices\n}));\n\nconst mapProps = type =>\n\tflow(handleGlideList(type), handleReference(type), handleRadio(type));\n\nconst getReferenceRecordId = (type, fieldProps) =>\n\ttype === FIELD_TYPE.HTML ||\n\ttype === FIELD_TYPE.TRANSLATED_HTML ||\n\t(type === FIELD_TYPE.JOURNAL &&\n\t\tisAttrTrue(getProperty('glide.ui.journal.use_html', false)))\n\t\t? get(fieldProps, 'referringRecordId') || '-1'\n\t\t: '-1';\n\nconst empty = { Control: Fragment, props: {} };\n\nconst FilterButton = ({ fieldName, conditionsCount, disabled, fieldType }) => {\n\treturn (\n\t\t<div className=\"filter-button-container\">\n\t\t\t<now-button-iconic\n\t\t\t\ticon=\"filter-outline\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tintent: 'filter',\n\t\t\t\t\tfieldName,\n\t\t\t\t\tfieldType\n\t\t\t\t}}\n\t\t\t\tdisabled={disabled && conditionsCount == 0}\n\t\t\t\tbare\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': t('Filter conditions')\n\t\t\t\t}}\n\t\t\t\ttooltipContent={t('Filter conditions')}\n\t\t\t/>\n\t\t\t{conditionsCount > 0 ? (\n\t\t\t\t<now-badge\n\t\t\t\t\tclassName=\"filter-badge\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tstatus=\"info\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvalue={conditionsCount}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t<\/div>\n\t);\n};\n\nconst ActionButton = ({\n\tidentifier,\n\tfieldLabel,\n\tdisplayValue,\n\tstyle,\n\tisUnsupportedField,\n\tfieldName,\n\ttype,\n\tindex,\n\tisButtonDisabled\n}) => {\n\tswitch (type) {\n\t\tcase 'remove':\n\t\t\treturn (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\ticon=\"trash-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tintent: 'remove',\n\t\t\t\t\t\tidentifier,\n\t\t\t\t\t\tisUnsupportedField,\n\t\t\t\t\t\tfieldName\n\t\t\t\t\t}}\n\t\t\t\t\t{...(isButtonDisabled\n\t\t\t\t\t\t? { tabindex: '-1', disabled: true }\n\t\t\t\t\t\t: { disabled: false })}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label':\n\t\t\t\t\t\t\tidentifier === 'newFieldCreator'\n\t\t\t\t\t\t\t\t? t('Remove new template row')\n\t\t\t\t\t\t\t\t: t(\n\t\t\t\t\t\t\t\t\t\t'Remove template row {0} with condition {1} equals {2}',\n\t\t\t\t\t\t\t\t\t\tindex + 1,\n\t\t\t\t\t\t\t\t\t\tfieldLabel,\n\t\t\t\t\t\t\t\t\t\tdisplayValue\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t\ttooltipContent={t('Delete Row')}\n\t\t\t\t\tbare\n\t\t\t\t/>\n\t\t\t);\n\t\tcase 'add':\n\t\t\treturn (\n\t\t\t\t<now-button\n\t\t\t\t\tstyle={style}\n\t\t\t\t\ticon=\"plus-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t{...(identifier == 'newFieldCreator'\n\t\t\t\t\t\t? { tabindex: '-1', disabled: true }\n\t\t\t\t\t\t: { disabled: false })}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tintent: 'add',\n\t\t\t\t\t\tidentifier,\n\t\t\t\t\t\tisUnsupportedField,\n\t\t\t\t\t\tfieldName\n\t\t\t\t\t}}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('Add new template row')\n\t\t\t\t\t}}\n\t\t\t\t\ttooltipContent={t('Add a new set of fields to the template')}\n\t\t\t\t\tlabel={t('Add field')}\n\t\t\t\t/>\n\t\t\t);\n\t\tdefault:\n\t\t//no-default\n\t}\n};\n\nconst processPillLabel = displayValue => {\n\t// count the number of > in the displayValue\n\tconst count = (displayValue.match(/>/g) || []).length;\n\tif (count >= 2) {\n\t\t// split the displayValue by >\n\t\tconst parts = displayValue.split('>');\n\t\t// return the first part and the last part with ... in between\n\t\treturn parts[0].trim() + ' > ... > ' + parts[parts.length - 1].trim();\n\t}\n\treturn displayValue;\n};\n\nexport const onValueChange =\n\t(dispatch, identifier) =>\n\t({ value, displayValue, error }) => {\n\t\tdispatch(FIELD_VALUE_CHANGED, {\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\tidentifier,\n\t\t\terror\n\t\t});\n\t};\n\n/**\n * Helper function to determine if the remove button should be visible\n * @param {boolean} isLoading - Whether the field is loading\n * @param {boolean} isNewField - Whether this is a new field\n * @param {boolean} showNewTemplateRow - Whether to show the new template row\n * @returns {boolean} - True if the button should be visible, false otherwise\n */\nconst shouldShowRemoveButton = (isLoading, isNewField, showNewTemplateRow) => {\n\t// Disable if content is loading\n\tif (isLoading) return true;\n\n\t// Special case: Disable button for new fields when showNewTemplateRow is false\n\tif (isNewField && !showNewTemplateRow) return true;\n\n\t// Show in all other cases\n\treturn false;\n};\n\n/**\n * Prepares and processes field properties from state\n * @param {Object} state - Component state\n * @returns {Object} Processed field properties\n */\nconst prepareFieldProps = state => {\n\tconst {\n\t\tfieldName,\n\t\tfieldProps,\n\t\tfieldLabel,\n\t\tdisplayValue,\n\t\tmessages,\n\t\ttable,\n\t\ttype,\n\t\tkey,\n\t\tidentifier,\n\t\tchoices,\n\t\tisLoading,\n\t\treadonly,\n\t\tisUnsupportedField,\n\t\tisNewField,\n\t\tformData,\n\t\tisLastTemplateRow,\n\t\tindex,\n\t\tconfigAria,\n\t\tshowNewTemplateRow,\n\t\toriginalChoiceValue,\n\t\toriginalControlValue,\n\t\tenableUnsavedFieldIndicator,\n\t\ttemplateVariablePicker = false,\n\t\tconditions,\n\t\toriginalConditions,\n\t\thasFieldLevelConditions,\n\t\tconditionsCount\n\t} = state.properties;\n\n\tlet value = get(state, 'properties.fieldProps.value') || '';\n\n\t// Boolean fields require explicit string values ('true'/'false') for proper checkbox rendering\n\t// When empty/undefined, default to 'false' to prevent UI framework from converting empty strings to boolean true\n\tif (type === 'boolean' && !value) {\n\t\tvalue = 'false';\n\t}\n\n\tconst showConditionUnsavedIndicator = shouldShowTemplateValueUnsavedIndicator(\n\t\tstate.properties,\n\t\tconditions,\n\t\toriginalConditions\n\t);\n\n\tconst showControlUnsavedIndicator =\n\t\tshowConditionUnsavedIndicator ||\n\t\tshouldShowTemplateValueUnsavedIndicator(\n\t\t\tstate.properties,\n\t\t\toriginalControlValue,\n\t\t\tvalue\n\t\t);\n\n\tconst showChoiceUnsavedIndicator =\n\t\tshowConditionUnsavedIndicator ||\n\t\tshouldShowTemplateValueUnsavedIndicator(\n\t\t\tstate.properties,\n\t\t\toriginalChoiceValue,\n\t\t\tfieldName\n\t\t);\n\n\tconst isReadOnly = isAttrTrue(readonly);\n\n\tconst showBadgeProp =\n\t\tisAttrTrue(getPageProperty('enable_template_enhancement', false)) &&\n\t\t!isNaN(index);\n\n\tconst templateTableAndPageProp =\n\t\t(fieldProps &&\n\t\t\tisAttrTrue(getPageProperty('enable_template_enhancement', false))) ||\n\t\t(isAttrTrue(getPageProperty('enable_template_enhancement', false)) &&\n\t\t\tisNewField) ||\n\t\tenableUnsavedFieldIndicator;\n\n\tconst className = type === 'boolean' ? 'no-checkbox-top-margin' : '';\n\tconst isHTMLScriptOrEmailScript =\n\t\ttype === FIELD_TYPE.HTML_SCRIPT || type === FIELD_TYPE.EMAIL_SCRIPT;\n\n\tconst textBasedFields = [\n\t\tFIELD_TYPE.TEXTAREA,\n\t\tFIELD_TYPE.TRANSLATED_TEXT,\n\t\tFIELD_TYPE.HTML,\n\t\tFIELD_TYPE.TRANSLATED_HTML,\n\t\tFIELD_TYPE.HTML_SCRIPT,\n\t\tFIELD_TYPE.EMAIL_SCRIPT,\n\t\tFIELD_TYPE.WIKI_TEXT,\n\t\tFIELD_TYPE.JSON,\n\t\tFIELD_TYPE.XML,\n\t\tFIELD_TYPE.CSS,\n\t\tFIELD_TYPE.WIDE_TEXT,\n\t\tFIELD_TYPE.MULTI_SMALL,\n\t\tFIELD_TYPE.SCRIPT,\n\t\tFIELD_TYPE.SCRIPT_PLAIN,\n\t\tFIELD_TYPE.JOURNAL,\n\t\tFIELD_TYPE.TIME,\n\t\tFIELD_TYPE.UTC_TIME,\n\t\tFIELD_TYPE.INTEGER_TIME,\n\t\tFIELD_TYPE.DURATION,\n\t\tFIELD_TYPE.DAYS_OF_WEEK,\n\t\tFIELD_TYPE.DURATION\n\t];\n\n\tconst isTextField =\n\t\ttextBasedFields.includes(type) || (fieldProps?.maxLength || 0) > 1000;\n\n\tconst showVariablePicker =\n\t\ttemplateVariablePicker && VARIABLE_PICKER_SUPPORTED_FIELDS.includes(type);\n\n\treturn {\n\t\tfieldName,\n\t\tfieldLabel,\n\t\tfieldProps,\n\t\tdisplayValue,\n\t\tmessages,\n\t\ttable,\n\t\ttype,\n\t\tkey,\n\t\tidentifier,\n\t\tchoices,\n\t\tisLoading,\n\t\tisUnsupportedField,\n\t\tisNewField,\n\t\tformData,\n\t\tisLastTemplateRow,\n\t\tindex,\n\t\tshowNewTemplateRow,\n\t\tvalue,\n\t\tshowControlUnsavedIndicator,\n\t\tshowChoiceUnsavedIndicator,\n\t\tisReadOnly,\n\t\tclassName,\n\t\tisHTMLScriptOrEmailScript,\n\t\tisTextField,\n\t\ttemplateTableAndPageProp,\n\t\toriginalControlValue,\n\t\thasFieldLevelConditions,\n\t\tconditionsCount,\n\t\ttemplateVariablePicker,\n\t\tconfigAria,\n\t\tshowVariablePicker,\n\t\tshowBadgeProp\n\t};\n};\n\n/**\n * Prepares form control props based on field configuration\n * @param {Object} state - Component state\n * @param {Object} fieldProps - Processed field properties\n * @param {Function} dispatch - Dispatch function\n * @returns {Object} Control and props\n */\nexport const prepareFormControl = (state, fieldProps, dispatch) => {\n\tconst {\n\t\tfieldName,\n\t\ttype,\n\t\tvalue,\n\t\tclassName,\n\t\tmessages,\n\t\ttable,\n\t\tisReadOnly,\n\t\tisHTMLScriptOrEmailScript,\n\t\tidentifier,\n\t\tformData = {}\n\t} = fieldProps;\n\n\tif (!fieldName) return empty;\n\n\tconst { enableBgColorForUnsavedFieldIndicator } = formData;\n\n\tconst { Control, props } = getFormControl(\n\t\tstate.componentId,\n\t\ttype,\n\t\tmapProps(type)({\n\t\t\t...fieldProps.fieldProps,\n\t\t\tclassName,\n\t\t\treferringRecordId: getReferenceRecordId(type, fieldProps.fieldProps),\n\t\t\tname: fieldName,\n\t\t\tmessages,\n\t\t\ttable,\n\t\t\treadonly: isReadOnly,\n\t\t\tcolor:\n\t\t\t\tfieldProps?.showControlUnsavedIndicator &&\n\t\t\t\tenableBgColorForUnsavedFieldIndicator\n\t\t\t\t\t? FIELD_BG_COLOR_UNSAVED\n\t\t\t\t\t: FIELD_BG_COLOR_DEFAULT\n\t\t}),\n\t\tonValueChange(dispatch, identifier),\n\t\tnull,\n\t\t{\n\t\t\t...omit(formData, 'fields'),\n\t\t\tisReferredByTemplateField: true,\n\t\t\t...(isHTMLScriptOrEmailScript && {\n\t\t\t\tshowUnsavedIndicator: fieldProps?.showControlUnsavedIndicator,\n\t\t\t\t// Send formData fields for HTML script to extract dependent table field value\n\t\t\t\tfields: formData?.fields\n\t\t\t})\n\t\t}\n\t);\n\n\tprops['value'] = value;\n\treturn { Control, props };\n};\n\n/**\n * Renders the columns choice list with search component\n * @returns {JSX.Element} Columns choice list with search component\n */\nconst ColumnsChoiceListWithSearch = ({ fieldProps, fieldAriaConfig }) => {\n\tconst { formData: { enableBgColorForUnsavedFieldIndicator } = {} } =\n\t\tfieldProps;\n\n\tconst color =\n\t\tfieldProps?.showChoiceUnsavedIndicator &&\n\t\tenableBgColorForUnsavedFieldIndicator\n\t\t\t? FIELD_BG_COLOR_UNSAVED\n\t\t\t: FIELD_BG_COLOR_DEFAULT;\n\n\treturn (\n\t\t<sn-record-choice-search\n\t\t\tname={fieldProps.fieldName}\n\t\t\tclass={{ 'block-style': true }}\n\t\t\tdisplayValue={fieldProps.fieldLabel}\n\t\t\tchoices={fieldProps.choices}\n\t\t\tdisabled={fieldProps.isReadOnly}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<div\n\t\t\t\tslot=\"triggerButton\"\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-control-field': true,\n\t\t\t\t\t'read-only': isAttrTrue(fieldProps.readonly)\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'sn-select': true,\n\t\t\t\t\t\t'has-placeholder': fieldProps.isNewField,\n\t\t\t\t\t\t[fieldProps.className]:\n\t\t\t\t\t\t\tfieldProps.className !== '' ? true : undefined\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"sn-select-value\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-label={`${fieldProps.fieldLabel}, ${fieldAriaConfig?.['aria-label']}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{fieldProps.fieldLabel\n\t\t\t\t\t\t\t? fieldProps.fieldLabel\n\t\t\t\t\t\t\t: `${t('-- choose field --')}`}\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<div className=\"sn-select-icon\">\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tclassName=\"context-select\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t<\/sn-record-choice-search>\n\t);\n};\n\n/**\n * Renders the field selector column\n * @returns {JSX.Element} Field selector component\n */\nconst FieldSelector = ({ fieldProps, fieldAriaConfig }) => {\n\tconst fieldLabels = fieldProps.templateTableAndPageProp ? t('Field') : '';\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'field-selection-selector': true\n\t\t\t}}\n\t\t>\n\t\t\t<Fragment>\n\t\t\t\t{fieldProps.showBadgeProp ? (\n\t\t\t\t\t<div class={{ 'now-badge-container': true }}>\n\t\t\t\t\t\t<now-badge\n\t\t\t\t\t\t\tclassName=\"now-badge\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tstatus=\"low\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tvalue={fieldProps.index + 1}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\n\t\t\t\t{!fieldProps.isReadOnly && !fieldProps.isUnsupportedField ? (\n\t\t\t\t\t<ControlWrapper\n\t\t\t\t\t\tlabel={fieldLabels}\n\t\t\t\t\t\tshowUnsavedIndicator={fieldProps.showChoiceUnsavedIndicator}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ColumnsChoiceListWithSearch\n\t\t\t\t\t\t\tfieldAriaConfig={fieldAriaConfig}\n\t\t\t\t\t\t\tfieldProps={fieldProps}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/ControlWrapper>\n\t\t\t\t) : (\n\t\t\t\t\t<now-input\n\t\t\t\t\t\tclassName=\"read-only-input\"\n\t\t\t\t\t\tname={fieldProps.fieldName}\n\t\t\t\t\t\tvalue={fieldProps.fieldLabel}\n\t\t\t\t\t\tlabel={fieldLabels}\n\t\t\t\t\t\treadonly={true}\n\t\t\t\t\t\t{...(fieldProps.isUnsupportedField && {\n\t\t\t\t\t\t\tmessages: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tstatus: 'info',\n\t\t\t\t\t\t\t\t\tcontent: t(\n\t\t\t\t\t\t\t\t\t\t'This field {0} is not supported.',\n\t\t\t\t\t\t\t\t\t\tfieldProps.type\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\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)}\n\t\t\t<\/Fragment>\n\t\t<\/div>\n\t);\n};\n\nconst FieldContent = ({\n\tstate,\n\tupdateState,\n\tdispatch,\n\tControl,\n\tfieldProps,\n\tfieldAriaConfig,\n\tpropsWithConfigAria\n}) => {\n\tconst variablePatternRegex = /^\\${([^{}]+)}$/;\n\tconst shouldRenderCustomPill =\n\t\tfieldProps.type === FIELD_TYPE.REFERENCE &&\n\t\tvariablePatternRegex.test(fieldProps.value);\n\tconst { customPillRef, customTooltipHovered, pillRemoveTooltipVisible } =\n\t\tstate;\n\n\tif (shouldRenderCustomPill)\n\t\tpropsWithConfigAria.value = fieldProps.value.match(variablePatternRegex)[1];\n\n\tconst onPillDismiss = () =>\n\t\tdispatch(FIELD_VALUE_CHANGED, {\n\t\t\tvalue: '',\n\t\t\tdisplayValue: '',\n\t\t\tidentifier: fieldProps.identifier,\n\t\t\terror: false\n\t\t});\n\n\tif (fieldProps.isLoading)\n\t\treturn <now-loader class={{ 'loading-line': true }} size=\"lg\" />;\n\tif (!fieldProps.fieldName)\n\t\treturn (\n\t\t\t<now-input\n\t\t\t\tdisabled={\n\t\t\t\t\tfieldProps.identifier === 'newFieldCreator' ||\n\t\t\t\t\tfieldProps.isUnsupportedField\n\t\t\t\t}\n\t\t\t\tconfig-aria={{ input: fieldAriaConfig }}\n\t\t\t/>\n\t\t);\n\treturn (\n\t\t<Fragment>\n\t\t\t{shouldRenderCustomPill ? (\n\t\t\t\t<RenderCustomPill\n\t\t\t\t\t{...propsWithConfigAria}\n\t\t\t\t\tdisplayValue={processPillLabel(propsWithConfigAria.displayValue)}\n\t\t\t\t\tcanDismiss={!fieldProps.isReadOnly}\n\t\t\t\t\tonPillDismiss={onPillDismiss}\n\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tcustomPillRef={customPillRef}\n\t\t\t\t\tcustomTooltipHovered={customTooltipHovered}\n\t\t\t\t\tpillRemoveTooltipVisible={pillRemoveTooltipVisible}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Control {...propsWithConfigAria} />\n\t\t\t)}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * Renders the field value column\n * @returns {JSX.Element} Field value component\n */\nconst FieldValue = ({\n\tstate,\n\tupdateState,\n\tdispatch,\n\tControl,\n\tcontrolProps,\n\tfieldProps,\n\tfieldAriaConfig\n}) => {\n\tconst updateLabel = fieldProps.isHTMLScriptOrEmailScript\n\t\t? ''\n\t\t: fieldProps.templateTableAndPageProp\n\t\t\t? t('Update to')\n\t\t\t: '';\n\tconst propsWithoutLabel = omit(controlProps, ['label']);\n\tconst propsWithConfigAria = fieldProps.isHTMLScriptOrEmailScript\n\t\t? assign(propsWithoutLabel, {\n\t\t\t\tconfigAria: fieldAriaConfig,\n\t\t\t\tlabel: t('Update to')\n\t\t\t})\n\t\t: assign(propsWithoutLabel, {\n\t\t\t\tconfigAria: fieldAriaConfig\n\t\t\t});\n\tconst readOnlyDisplayValue =\n\t\tfieldProps.value || fieldProps.displayValue || '-';\n\n\treturn (\n\t\t<div class={{ 'field-selection-field-container': true }}>\n\t\t\t{fieldProps.isUnsupportedField ? (\n\t\t\t\t<now-input\n\t\t\t\t\tlabel={updateLabel}\n\t\t\t\t\tclassName=\"read-only-input\"\n\t\t\t\t\tname={readOnlyDisplayValue}\n\t\t\t\t\tvalue={readOnlyDisplayValue}\n\t\t\t\t\treadonly={true}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<ControlWrapper\n\t\t\t\t\tlabel={updateLabel}\n\t\t\t\t\tshowUnsavedIndicator={fieldProps.showControlUnsavedIndicator}\n\t\t\t\t>\n\t\t\t\t\t<div class={{ 'field-selection-field': true }}>\n\t\t\t\t\t\t<FieldContent\n\t\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tControl={Control}\n\t\t\t\t\t\t\tfieldProps={fieldProps}\n\t\t\t\t\t\t\tfieldAriaConfig={fieldAriaConfig}\n\t\t\t\t\t\t\tpropsWithConfigAria={propsWithConfigAria}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/ControlWrapper>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders the field actions column\n * @returns {JSX.Element} Field actions component\n */\nconst FieldActions = ({ state, fieldProps }) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'field-selection-actions-container': true,\n\t\t\t\t'readonly-field': fieldProps.isReadOnly,\n\t\t\t\t'single-column':\n\t\t\t\t\t!fieldProps.hasFieldLevelConditions &&\n\t\t\t\t\t!fieldProps.templateVariablePicker,\n\t\t\t\t'double-column':\n\t\t\t\t\t(fieldProps.hasFieldLevelConditions ||\n\t\t\t\t\t\tfieldProps.templateVariablePicker) &&\n\t\t\t\t\t!(\n\t\t\t\t\t\tfieldProps.hasFieldLevelConditions &&\n\t\t\t\t\t\tfieldProps.templateVariablePicker\n\t\t\t\t\t)\n\t\t\t}}\n\t\t>\n\t\t\t{fieldProps.showVariablePicker &&\n\t\t\t\t!fieldProps.isReadOnly &&\n\t\t\t\t!fieldProps.isUnsupportedField && (\n\t\t\t\t\t<div class={{ 'field-selection-variable-picker': true }}>\n\t\t\t\t\t\t{renderPopoverVariablePicker(state)}\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t{fieldProps.hasFieldLevelConditions && !fieldProps.isUnsupportedField && (\n\t\t\t\t<FilterButton\n\t\t\t\t\tfieldName={fieldProps.fieldName}\n\t\t\t\t\tconditionsCount={fieldProps.conditionsCount}\n\t\t\t\t\tdisabled={fieldProps.isReadOnly || fieldProps.fieldName === ''}\n\t\t\t\t\tfieldType={state.properties.type}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{!fieldProps.isReadOnly && (\n\t\t\t\t<ActionButton\n\t\t\t\t\tidentifier={fieldProps.identifier}\n\t\t\t\t\tfieldLabel={fieldProps.fieldLabel}\n\t\t\t\t\tdisplayValue={fieldProps.fieldProps?.displayValue}\n\t\t\t\t\tisButtonDisabled={shouldShowRemoveButton(\n\t\t\t\t\t\tfieldProps.isLoading,\n\t\t\t\t\t\tfieldProps.isNewField,\n\t\t\t\t\t\tfieldProps.showNewTemplateRow\n\t\t\t\t\t)}\n\t\t\t\t\ttype=\"remove\"\n\t\t\t\t\tindex={fieldProps.index}\n\t\t\t\t/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders a complete template row with all three columns\n * @returns {JSX.Element} Template row component\n */\nconst TemplateRow = ({\n\tstate,\n\tupdateState,\n\tdispatch,\n\tControl,\n\tcontrolProps,\n\tfieldProps,\n\tfieldAriaConfig\n}) => {\n\tconst { key, isTextField } = fieldProps;\n\treturn (\n\t\t<div\n\t\t\tkey={key}\n\t\t\tclass={{\n\t\t\t\t'field-selection-container': true,\n\t\t\t\t'pad-bottom': true\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'field-selection-fields-container': true,\n\t\t\t\t\t'field-text-based': isTextField,\n\t\t\t\t\t'unsupported-field': fieldProps.isUnsupportedField\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* Field Selector */}\n\t\t\t\t<FieldSelector\n\t\t\t\t\tfieldProps={fieldProps}\n\t\t\t\t\tfieldAriaConfig={fieldAriaConfig}\n\t\t\t\t/>\n\n\t\t\t\t{/* Field Value */}\n\t\t\t\t<FieldValue\n\t\t\t\t\tstate={state}\n\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tControl={Control}\n\t\t\t\t\tcontrolProps={controlProps}\n\t\t\t\t\tfieldProps={fieldProps}\n\t\t\t\t\tfieldAriaConfig={fieldAriaConfig}\n\t\t\t\t/>\n\n\t\t\t\t{/* Field Actions */}\n\t\t\t\t<FieldActions fieldProps={fieldProps} state={state} />\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders the Add Field row with divider lines\n * @returns {JSX.Element} Add field row component\n */\nconst AddFieldRow = ({ fieldProps }) => {\n\tconst shouldDisplayAddButton =\n\t\t(fieldProps.isLastTemplateRow && !fieldProps.showNewTemplateRow) ||\n\t\tfieldProps.identifier === 'newFieldCreator';\n\n\treturn (\n\t\t<div\n\t\t\tkey={fieldProps.key}\n\t\t\tclass={{\n\t\t\t\t'field-selection-container': true\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'field-selection-fields-container': true\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'display-flex': shouldDisplayAddButton,\n\t\t\t\t\t\t'add-action-button': true,\n\t\t\t\t\t\t'show-action-button': !fieldProps.isLoading\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<hr className=\"add-field-line-divider divider-start\" />\n\t\t\t\t\t<ActionButton\n\t\t\t\t\t\tidentifier={fieldProps.identifier}\n\t\t\t\t\t\tfieldLabel={fieldProps.fieldLabel}\n\t\t\t\t\t\tdisplayValue={fieldProps.displayValue}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\twidth: 'auto'\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\ttype=\"add\"\n\t\t\t\t\t/>\n\t\t\t\t\t<hr className=\"add-field-line-divider divider-end\" />\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nexport const view = (state, { dispatch, updateState }) => {\n\tconst fieldProps = prepareFieldProps(state);\n\tif (!fieldProps.table) {\n\t\treturn null;\n\t}\n\n\tconst { Control, props } = prepareFormControl(state, fieldProps, dispatch);\n\n\tconst fieldAriaConfig = {\n\t\t'aria-label': fieldProps.fieldLabel,\n\t\t'aria-labelledby': '',\n\t\t'aria-describedby': ''\n\t};\n\n\treturn (\n\t\t<div>\n\t\t\t<TemplateRow\n\t\t\t\tkey={fieldProps.key}\n\t\t\t\tstate={state}\n\t\t\t\tupdateState={updateState}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tControl={Control}\n\t\t\t\tcontrolProps={props}\n\t\t\t\tfieldProps={fieldProps}\n\t\t\t\tfieldAriaConfig={fieldAriaConfig}\n\t\t\t/>\n\n\t\t\t{/* Add field button section */}\n\t\t\t{!fieldProps.isReadOnly && <AddFieldRow fieldProps={fieldProps} />}\n\t\t<\/div>\n\t);\n};\n\nexport const itemSelectedEffect = ({ state, action, dispatch }) => {\n\tconst { id, displayValue } = action.payload;\n\n\tdispatch(FIELD_SELECTION_PATH_UPDATE, {\n\t\tfieldLabel: displayValue,\n\t\tidentifier: state.properties.identifier,\n\t\tpath: id\n\t});\n};\n\nexport const variablePickerItemSelectedEffect = ({\n\thost,\n\tproperties,\n\taction,\n\tdispatch\n}) => {\n\tconst { item } = action.payload;\n\tconst { fieldProps } = properties;\n\tif (item && item.id !== 'folder_root' && item.nodeName) {\n\t\tconst { nodeName, nodeLabel } = item;\n\t\tconst label = '${' + nodeName + '}';\n\t\tconst fieldType = properties.type;\n\t\tif (fieldType == FIELD_TYPE.REFERENCE) {\n\t\t\tlet error = false;\n\t\t\tif (item.tableName !== fieldProps?.reference)\n\t\t\t\terror = {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t'Selected variable is not applicable for the field. Choose a suitable variable for this field.'\n\t\t\t\t\t)\n\t\t\t\t};\n\t\t\tdispatch(FIELD_VALUE_CHANGED, {\n\t\t\t\tvalue: label,\n\t\t\t\tdisplayValue: nodeLabel || nodeName,\n\t\t\t\tidentifier: properties.identifier,\n\t\t\t\terror: error\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tinsertContent(\n\t\t\tlabel,\n\t\t\thost.shadowRoot.querySelector('.field-selection-field'),\n\t\t\tproperties.fieldName\n\t\t);\n\t}\n};\n\n/**\n * This component is for internal use by the controls team.\n */\ncreateCustomElement(FIELD_SELECTION, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tstyles: styles + RenderCustomPill.styles,\n\tactionHandlers: {\n\t\t['SN_CHOICE_SEARCH_DROPDOWN#ITEM_SELECTED']: {\n\t\t\teffect: itemSelectedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['VARIABLE_PICKER_ITEM_SELECTED']: {\n\t\t\teffect: variablePickerItemSelectedEffect,\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tproperties: {\n\t\tfieldName: { default: '' },\n\t\tfieldLabel: { default: '' },\n\t\tfieldProps: {},\n\t\tisLoading: {},\n\t\tdependentField: {},\n\t\tdependentFieldDisplayValue: {},\n\t\tdisplayValue: {},\n\t\ttype: {},\n\t\tmessages: {},\n\t\ttable: {},\n\t\treadonly: { default: false },\n\t\tisUnsupportedField: { default: false },\n\t\tkey: {},\n\t\tchoices: {},\n\t\tpath: { default: '' },\n\t\tisNewField: { default: false },\n\t\tpadBottom: { default: false },\n\t\tidentifier: {},\n\t\tformData: {},\n\t\tlength: {},\n\t\tisLastTemplateRow: {},\n\t\tindex: {},\n\t\tshowNewTemplateRow: { default: false },\n\t\toriginalControlValue: { default: '' },\n\t\toriginalChoiceValue: { default: '' },\n\t\tconditions: { default: '' },\n\t\toriginalConditions: { default: '' },\n\t\thasFieldLevelConditions: { default: false },\n\t\tconditionsCount: { default: 0 },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\ttemplateVariablePicker: { default: false },\n\t\tenableUnsavedFieldIndicator: { default: false }\n\t},\n\tdispatches: {},\n\tbehaviors: [popoverVariablePickerBehavior, CustomPillBehavior]\n});\n","export const requestForTypesAndMetaData = `\nquery ($queryString: String!, $encodedRecord: String, $isPartial: Boolean!, $serializedChanges: String!, $fieldName: String!, $recordSysId: String!, $referringTable: String!) {\n  GlideLayout_Query {\n    templateValueFieldsQuery(queryString: $queryString, encodedRecord: $encodedRecord, isPartial: $isPartial, serializedChanges: $serializedChanges, fieldName:$fieldName, recordSysId: $recordSysId, recordTableName: $referringTable) {\n      tableName\n      tableDisplayName\n      valuesList {\n        displayValue\n        value\n        fieldName\n\t\t\t\tfieldLabel\n\t\t\t\tshouldHide\n      }\n      fields {\n        name: elementName\n        dictionary: dictionaryData {\n          type: dictionaryType\n          dependentField\n          dependentTable\n          name\n          label\n          canWrite\n          canRead\n          canCreate\n          internalType\n          isMandatory\n          sys_readonly: sysReadonly\n          attributes {\n            name\n            value\n          }\n        }\n        ... on GlideLayout_TableNameElementType {\n          displayValue\n        }\n        ... on GlideLayout_FileAttachmentElementType {\n          value\n          displayValue\n          state\n          contentType\n        }\n        ... on GlideLayout_ChoiceElementType {\n          choices {\n            displayValue\n            value\n          }\n        }\n        ... on GlideLayout_CurrencyElementType {\n          value\n          code\n          defaultCurrency\n          currencyCodes {\n            code\n            symbol\n            name\n          }\n        }\n        ... on GlideLayout_RadioElementType {\n          radioChoices {\n            displayValue\n            value\n          }\n        }\n        ... on GlideLayout_PhoneNumberElementType {\n          value\n          country\n          countryCodes {\n            code\n            name\n          }\n        }\n        ... on GlideLayout_GlideListElementType {\n          reference\n        }\n        ... on GlideLayout_ReferenceElementType {\n          reference\n          referenceQualifier\n          referenceKey\n          useReferenceQualifier\n          dependent\n          dependentOnField\n          refAutoCompleter\n          refAcOrderBy\n          refAcColumns\n          refAcColumnsSearch\n          refAcDisplayValue\n          refQualElements\n          refContributions\n          isDynamicCreate\n          isReferenceScriptableTable\n          referenceError\n        }\n        ... on GlideLayout_ValueElementType {\n          maxLength\n          defaultRows\n        }  \n      }\n    }\n  }\n}\n`;\n","import {\n\tuniqBy,\n\tcompact,\n\tfind,\n\tpick,\n\tget,\n\tomit,\n\tisEqual,\n\tisFunction,\n\tisEmpty\n} from 'lodash';\nimport {\n\tgetSerializedChanges,\n\teffectProxy,\n\tisAttrTrue,\n\tadaptCallbackForLegacyAPI,\n\tFIELD_TYPE,\n\tisModified\n} from '@devsnc/sn-controls-common';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tFIELD_SELECTION_PATH_UPDATE,\n\tFIELD_VALUE_CHANGED\n} from './field-selection';\n\nimport { actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nimport { requestForTypesAndMetaData } from './graphql';\nimport { t } from 'sn-translate';\n\nexport const COMPONENT_PREFIX = 'SN_RECORD_TEMPLATE_VALUE';\nexport const DATA_REQUEST = `${COMPONENT_PREFIX}#DATA_REQUEST`;\nexport const DATA_REQUEST_SUCCESS = `${COMPONENT_PREFIX}#DATA_REQUEST_SUCCESS`;\nexport const DATA_REQUEST_ERROR = `${COMPONENT_PREFIX}#DATA_REQUEST_ERROR`;\nexport const SET_VALUE = `${COMPONENT_PREFIX}#SET_VALUE`;\nconst pathToValue = 'payload.data.GlideLayout_Query.templateValueFieldsQuery';\nconst addedPayloadPath = 'meta.options.templateVars.addedPayload';\nconst WORKSPACE_TYPES = Object.keys(FIELD_TYPE).map(key => FIELD_TYPE[key]);\nexport const PREDICATE_MODAL_SET = `${COMPONENT_PREFIX}#SET_BUTTON_CLICKED`;\nexport const PREDICATE_MODAL_CANCEL = `${COMPONENT_PREFIX}#CANCEL_BUTTON_CLICKED`;\nexport const PREDICATE_QUERY_UPDATED =\n\t'NOW_PREDICATE_BUILDER_BEHAVIOR#ENCODED_QUERY_UPDATED';\n\nexport const getFieldsHaveErrorMessage = () => {\n\tconst message = t('Form template has an error in one of its fields');\n\treturn {\n\t\ttype: 'error',\n\t\tmessage\n\t};\n};\nexport const getFieldWithError = fieldValues =>\n\tfind(fieldValues, f => find(f.formControlProps.messages, ['type', 'error']));\n\nexport const calculatedFieldError = newFieldValues =>\n\tgetFieldWithError(newFieldValues) ? getFieldsHaveErrorMessage() : undefined;\n\nexport const serializeValue = (value, type) => {\n\tif (type === 'boolean') return isAttrTrue(value) ? 'true' : 'false';\n\tif (value === undefined) return '';\n\tif (typeof value === 'string') return value.replace(/\\^/g, '^^');\n\treturn value;\n};\n\nexport const constructValue = (fieldValues = []) => {\n\tconst serializedValues = fieldValues\n\t\t.map(field => ({\n\t\t\t...field,\n\t\t\tformControlProps: {\n\t\t\t\t...field.formControlProps,\n\t\t\t\tvalue: serializeValue(field.formControlProps.value, field.type)\n\t\t\t}\n\t\t}))\n\t\t.filter(field => field.fieldName) // We should store fieldName even though it doesn't have value as we doing the same way in UI16\n\t\t.map(\n\t\t\tfield =>\n\t\t\t\t(field.path || field.fieldName) + '=' + field.formControlProps.value\n\t\t)\n\t\t.join('^');\n\n\treturn serializedValues ? serializedValues.concat('^EQ') : ''; // Return '' if no values exist\n};\n\n/**\n * Creates object that both has things the choice field needs and the formControl needs\n * the control stuff should be separate from the choice stuff. They share the need for displayValue\n * @param {object} field props from the choice-search stuff\n * @param {object} fieldData dictionary data from gql response\n * @param {object} properties the props given to template-value from forms\n */\nexport const createField = (field, fieldData, properties) => ({\n\tdisplayValue: field.fieldLabel,\n\tfieldName: field.fieldName,\n\tfieldLabel: field.fieldLabel,\n\toriginalControlValue: field.originalControlValue, // originalControlValue is used to check if the control value has changed\n\toriginalChoiceValue: field.originalChoiceValue, // originalChoiceValue is used to check if the choice value has changed\n\tformControlProps: {\n\t\t...omit(fieldData.formControlProps, ['dictionary']),\n\t\t...omit(fieldData.formControlProps.dictionary, ['attributes']),\n\t\t...pick(properties, ['referringRecordId', 'referringTable']),\n\t\tvalue:\n\t\t\tfield.formControlProps.value != ''\n\t\t\t\t? field.formControlProps.value\n\t\t\t\t: undefined,\n\t\tdisplayValue: field.formControlProps.displayValue\n\t\t\t? field.formControlProps.displayValue\n\t\t\t: '' //different then the displayValue need for choice-search\n\t},\n\tdictionary: {\n\t\treference: fieldData.formControlProps.reference\n\t},\n\ttype: fieldData.formControlProps.dictionary.type,\n\tpath: field.fieldName,\n\tshouldHide: field.shouldHide\n});\n\nexport const callOnValueChange = ({\n\tname,\n\tvalue,\n\tonValueChange,\n\terror,\n\tdispatch,\n\tadditionalInfo\n}) => {\n\tif (isFunction(onValueChange)) {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'template-value' }\n\t\t});\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\terror,\n\t\t\tadditionalInfo\n\t\t});\n\t}\n};\n\nexport const convertChoiceToFieldValue = (choice, properties) =>\n\tcreateField(\n\t\t{\n\t\t\t...choice,\n\t\t\tfieldName: choice.formControlProps.dictionary.name,\n\t\t\tfieldLabel: choice.formControlProps.dictionary.label,\n\t\t\tpath: choice.id\n\t\t},\n\t\tchoice,\n\t\tproperties\n\t);\n\nexport const editExistingField = (\n\tpayload,\n\tfieldValues,\n\tallChoices,\n\tproperties\n) =>\n\tfieldValues.map(element => {\n\t\tconst choosenField = find(allChoices, ({ id }) => payload.path === id);\n\t\tif (choosenField && element.path === payload.identifier) {\n\t\t\treturn convertChoiceToFieldValue(\n\t\t\t\t{\n\t\t\t\t\t...choosenField,\n\t\t\t\t\t// Preserve original values when field choice changes since valuesList\n\t\t\t\t\t// is only populated during initial load, not on subsequent field selections.\n\t\t\t\t\t// This ensures that the original values are retained for comparison and validation.\n\t\t\t\t\toriginalChoiceValue: element.originalChoiceValue,\n\t\t\t\t\toriginalControlValue: element.originalControlValue\n\t\t\t\t},\n\t\t\t\tproperties\n\t\t\t);\n\t\t} else {\n\t\t\treturn element;\n\t\t}\n\t});\n\nexport const updateConsumerAndState = ({\n\tname,\n\tnewFieldValues,\n\tonValueChange,\n\tchoices,\n\tupdateState,\n\tdispatch,\n\terror,\n\tallChoices,\n\tisUnsupportedField,\n\tadditionalInfo\n}) => {\n\tconst updatedValue = constructValue(newFieldValues);\n\n\tcallOnValueChange({\n\t\tname,\n\t\tvalue: updatedValue,\n\t\tonValueChange,\n\t\terror,\n\t\tdispatch,\n\t\tadditionalInfo\n\t});\n\n\tdispatch(SET_VALUE, { name, value: updatedValue, error });\n\tconst newState = { fieldValues: newFieldValues, value: updatedValue };\n\tif (isUnsupportedField) {\n\t\tnewState.allChoices = allChoices;\n\t}\n\tif (choices) newState.choices = choices;\n\tupdateState(newState);\n};\n\nexport const parseStringToObjects = inputString => {\n\tif (!inputString || typeof inputString !== 'string') {\n\t\treturn [];\n\t}\n\n\treturn inputString.split('^').reduce((result, pair) => {\n\t\tconst equalIndex = pair.indexOf('=');\n\t\tif (equalIndex > 0) {\n\t\t\t// Ensure fieldName exists and handle empty values\n\t\t\tresult.push({\n\t\t\t\tfieldName: pair.substring(0, equalIndex),\n\t\t\t\tvalue: pair.substring(equalIndex + 1) || ''\n\t\t\t});\n\t\t}\n\t\treturn result;\n\t}, []);\n};\n\n/**\n * Creates a Map of field names to field objects from originalValue string\n * @param {string} originalValue - The original value string to parse\n * @returns {Map<string, Object>} Map where key is fieldName and value is field object\n */\nexport const createOriginalFieldsMap = originalValue => {\n\tconst originalValueFields = parseStringToObjects(`${originalValue}`);\n\treturn new Map(originalValueFields.map(field => [field.fieldName, field]));\n};\n\n/**\n * Take all the fields set on the template value field already and build out\n * the component props from the list of fields\n * @param {Object} param0\n * @returns {Object[]}\n */\nexport const allNewData = ({ valuesList, fields, properties }) => {\n\t// when template value is updated through client script we make an api call to fetch details,\n\t// using original value to display dirty state indicator\n\tconst originalFieldsMap = createOriginalFieldsMap(properties.originalValue);\n\treturn valuesList.map((field, index) => {\n\t\tconst leftHandSideProps = {\n\t\t\tfieldLabel: field.fieldLabel,\n\t\t\tfieldName: field.fieldName,\n\t\t\tshouldHide: field.shouldHide,\n\t\t\toriginalControlValue: originalFieldsMap.get(field.fieldName)?.value,\n\t\t\toriginalChoiceValue: originalFieldsMap.get(field.fieldName)?.fieldName,\n\t\t\tformControlProps: {\n\t\t\t\tvalue: field.value,\n\t\t\t\tdisplayValue: field.displayValue\n\t\t\t}\n\t\t};\n\t\treturn createField(\n\t\t\tleftHandSideProps,\n\t\t\t{ formControlProps: fields[index] },\n\t\t\tproperties\n\t\t);\n\t});\n};\n\nexport const cleanUpChoices = ({ fieldValues, allChoices = [] }) => {\n\tconst alreadySelected = fieldValues.map(field => field.path);\n\treturn uniqBy(\n\t\tallChoices\n\t\t\t.filter(({ shouldHide }) => !shouldHide)\n\t\t\t.filter(({ id }) => !alreadySelected.includes(id))\n\t\t\t.filter(({ type }) => WORKSPACE_TYPES.includes(type))\n\t\t\t.reverse(),\n\t\tfield => {\n\t\t\treturn field.id;\n\t\t}\n\t).reverse();\n};\n\nexport const shouldShowTemplateValueUnsavedIndicator = (\n\tproperties,\n\toriginalValue,\n\tvalue\n) => {\n\t// Early return if unsaved indicator is disabled\n\tconst isUnsavedIndicatorEnabled =\n\t\tproperties?.formData?.enableUnsavedFieldIndicator || false;\n\tif (!isUnsavedIndicatorEnabled) {\n\t\treturn false;\n\t}\n\n\t// Handle boolean type normalization - convert empty string to 'false'\n\tif (properties.type === 'boolean') {\n\t\tif (!value) value = 'false';\n\t\tif (!originalValue) originalValue = 'false';\n\t}\n\n\treturn isModified(originalValue, value);\n};\n\nexport const filterOutTypeChangedValues = ({\n\tnewFieldValues,\n\toldFieldValues = []\n}) => {\n\tconst listOfPreviousTypes = oldFieldValues.reduce((prev, field) => {\n\t\treturn { ...prev, [field.fieldName]: field.type };\n\t}, {});\n\treturn newFieldValues.filter(field => {\n\t\tconst oldType = listOfPreviousTypes[field.fieldName];\n\t\treturn typeof oldType === 'undefined' || oldType === field.type;\n\t});\n};\n\nexport const dataRequestGraphQL = createGraphQLEffect(\n\trequestForTypesAndMetaData,\n\t{\n\t\ttemplateVarList: ['addedPayload'],\n\t\tvariableList: [\n\t\t\t'isPartial',\n\t\t\t'fieldName',\n\t\t\t'queryString',\n\t\t\t'recordSysId',\n\t\t\t'serializedChanges',\n\t\t\t'encodedRecord',\n\t\t\t'referringTable'\n\t\t],\n\t\tsuccessActionType: DATA_REQUEST_SUCCESS,\n\t\terrorActionType: DATA_REQUEST_ERROR\n\t}\n);\n\nexport default {\n\t['NOW_MODAL#OPENED_SET']: {\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({ showConditionModal: false, selectedField: {} });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[PREDICATE_MODAL_CANCEL]: {\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({ showConditionModal: false, selectedField: {} });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[PREDICATE_MODAL_SET]: {\n\t\teffect: ({ state, updateState, properties, dispatch }) => {\n\t\t\tconst {\n\t\t\t\tcurrConditionState,\n\t\t\t\tproperties: { conditionsData }\n\t\t\t} = state;\n\t\t\tconst { onValueChange } = properties;\n\t\t\tconst updatedVal = {\n\t\t\t\t...conditionsData,\n\t\t\t\t[state.selectedField.fieldName]: {\n\t\t\t\t\tconditions: currConditionState.encodedQuery,\n\t\t\t\t\tcondition_count: currConditionState.condition_count\n\t\t\t\t}\n\t\t\t};\n\t\t\tdispatch('TRACK_CONDITION_PICKER_USED', {\n\t\t\t\tmetaData: {\n\t\t\t\t\tfieldType: FIELD_TYPE.TEMPLATE_VALUE,\n\t\t\t\t\tchild_field: state.selectedField.fieldType,\n\t\t\t\t\tnumber_of_conditions: currConditionState.condition_count\n\t\t\t\t}\n\t\t\t});\n\t\t\tupdateState({ showConditionModal: false, selectedField: {} });\n\t\t\tcallOnValueChange({\n\t\t\t\tname: properties.name,\n\t\t\t\tvalue: constructValue(state.fieldValues),\n\t\t\t\tonValueChange,\n\t\t\t\terror: calculatedFieldError(state.fieldValues),\n\t\t\t\tdispatch,\n\t\t\t\tadditionalInfo: {\n\t\t\t\t\tconditionsData: updatedVal\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[PREDICATE_QUERY_UPDATED]: {\n\t\teffect: ({ updateState, action }) => {\n\t\t\tconst payload = action.payload;\n\t\t\tconst condition_count = (payload?.decodedQuery?.conditions ?? []).filter(\n\t\t\t\tcnd => cnd.field?.internalValue !== ''\n\t\t\t).length;\n\t\t\tupdateState({\n\t\t\t\tcurrConditionState: {\n\t\t\t\t\tencodedQuery: payload?.encodedQuery,\n\t\t\t\t\tcondition_count\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[FIELD_SELECTION_PATH_UPDATE]: ({\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\taction,\n\t\tdispatch\n\t}) => {\n\t\tconst payload = action.payload;\n\t\tconst { fieldValues, allChoices } = state;\n\t\tconst { onValueChange, name } = properties;\n\n\t\tlet newFieldValues;\n\t\tif (payload.identifier === 'newFieldCreator') {\n\t\t\tconst choice = find(allChoices, function ({ displayValue }) {\n\t\t\t\treturn displayValue === payload.fieldLabel;\n\t\t\t});\n\t\t\tconst fieldValue = convertChoiceToFieldValue(\n\t\t\t\t//Should be an empty displayValue when a new row is being added\n\t\t\t\t{\n\t\t\t\t\t...choice,\n\t\t\t\t\tformControlProps: {\n\t\t\t\t\t\t...choice.formControlProps,\n\t\t\t\t\t\tdisplayValue: '',\n\t\t\t\t\t\tvalue: ''\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tproperties\n\t\t\t);\n\t\t\tnewFieldValues = [...fieldValues, fieldValue];\n\t\t\tupdateState({ showNewTemplateRow: false });\n\t\t} else {\n\t\t\tnewFieldValues = editExistingField(\n\t\t\t\tpayload,\n\t\t\t\tfieldValues,\n\t\t\t\tallChoices,\n\t\t\t\tproperties\n\t\t\t);\n\t\t}\n\n\t\tupdateConsumerAndState({\n\t\t\tname,\n\t\t\tnewFieldValues,\n\t\t\tonValueChange,\n\t\t\tchoices: cleanUpChoices({ fieldValues: newFieldValues, allChoices }),\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\terror: calculatedFieldError(newFieldValues),\n\t\t\tadditionalInfo: {\n\t\t\t\tconditionsData: properties.conditionsData\n\t\t\t}\n\t\t});\n\t},\n\t[DATA_REQUEST]: effectProxy(dataRequestGraphQL),\n\t[DATA_REQUEST_SUCCESS]: ({\n\t\taction,\n\t\tupdateState,\n\t\tstate,\n\t\tproperties,\n\t\tdispatch\n\t}) => {\n\t\tconst identifier = get(action, addedPayloadPath + '.identifiers[0]');\n\t\tconst valuesList = get(action, pathToValue + '.valuesList');\n\t\tconst fields = get(action, pathToValue + '.fields');\n\t\tconst tableName = get(action, pathToValue + '.tableName');\n\t\tconst tableDisplayName = get(action, pathToValue + '.tableDisplayName');\n\n\t\tif (!tableName || isEmpty(fields)) {\n\t\t\tupdateState({\n\t\t\t\tfieldValues: [],\n\t\t\t\tisLoading: false,\n\t\t\t\tisLoadingNewField: false,\n\t\t\t\ttempNewFieldLabel: undefined,\n\t\t\t\ttable: ''\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tlet fieldValues;\n\t\tconst mapArgs = {\n\t\t\tvaluesList,\n\t\t\toldFieldValues: state.fieldValues,\n\t\t\tidentifier,\n\t\t\tnewValue: valuesList[0],\n\t\t\tnewFieldData: fields[0],\n\t\t\tproperties,\n\t\t\tfields\n\t\t};\n\n\t\t// is full data reset\n\t\tconst newFieldValues = allNewData(mapArgs);\n\t\tfieldValues = filterOutTypeChangedValues({\n\t\t\tnewFieldValues,\n\t\t\toldFieldValues: state.fieldValues\n\t\t});\n\t\tconst newChoices = fields.map(field => ({\n\t\t\tformControlProps: { ...field },\n\t\t\tid: field.dictionary.name,\n\t\t\tdisplayValue: field.dictionary.label, //SNChoiceSearchDropdown takes the label as a displayValue :(\n\t\t\ttype: field.dictionary.type,\n\t\t\tdisplay: true\n\t\t}));\n\t\tconst isValueRemovedBecauseOfTypeChange =\n\t\t\tnewFieldValues.length > fieldValues.length;\n\n\t\t// Check if the query string(value) is different from the new one, as Template ACL is applied here on this response\n\t\tconst originalQueryString = state.value || properties.value;\n\t\tconst newQueryString = constructValue(fieldValues);\n\n\t\tif (\n\t\t\tisValueRemovedBecauseOfTypeChange ||\n\t\t\toriginalQueryString !== newQueryString\n\t\t) {\n\t\t\t// We must let the parent component know we removed values\n\t\t\tupdateConsumerAndState({\n\t\t\t\tname: properties.name,\n\t\t\t\tchoices: cleanUpChoices({ fieldValues, allChoices: newChoices }),\n\t\t\t\tnewFieldValues: fieldValues,\n\t\t\t\tonValueChange: properties.onValueChange,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\terror: calculatedFieldError(newFieldValues),\n\t\t\t\tadditionalInfo: {\n\t\t\t\t\tconditionsData: properties.conditionsData\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tupdateState({\n\t\t\tisLoading: false,\n\t\t\ttable: tableName,\n\t\t\ttableDisplayName,\n\t\t\tallChoices: newChoices,\n\t\t\tchoices: cleanUpChoices({ fieldValues, allChoices: newChoices })\n\t\t});\n\t\tupdateState({ fieldValues });\n\t},\n\t[DATA_REQUEST_ERROR]: ({ action, updateState }) => {\n\t\tconsole.error(action.payload);\n\t\tupdateState({\n\t\t\tfieldValues: [],\n\t\t\tisLoading: false,\n\t\t\tisLoadingNewField: false,\n\t\t\ttempNewFieldLabel: undefined,\n\t\t\ttable: ''\n\t\t});\n\t},\n\t[FIELD_VALUE_CHANGED]: ({\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\taction\n\t}) => {\n\t\tconst { value, displayValue, identifier, error } = action.payload;\n\t\tconst { name, onValueChange } = properties;\n\n\t\tconst newFieldValues = state.fieldValues.map(field =>\n\t\t\tfield.path === identifier\n\t\t\t\t? {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\tformControlProps: {\n\t\t\t\t\t\t\t...field.formControlProps,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tdisplayValue,\n\t\t\t\t\t\t\tmessages: compact([error])\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t: field\n\t\t);\n\n\t\tupdateConsumerAndState({\n\t\t\tname,\n\t\t\tnewFieldValues,\n\t\t\tonValueChange,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\terror: calculatedFieldError(newFieldValues),\n\t\t\tadditionalInfo: {\n\t\t\t\tconditionsData: properties.conditionsData\n\t\t\t}\n\t\t});\n\t},\n\t['NOW_BUTTON_ICONIC#CLICKED']: ({\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\taction,\n\t\tdispatch\n\t}) => {\n\t\tconst { onValueChange, name } = properties;\n\t\tconst {\n\t\t\tidentifier,\n\t\t\tintent,\n\t\t\tfieldName,\n\t\t\tisUnsupportedField,\n\t\t\tfieldType = ''\n\t\t} = action.payload;\n\n\t\tconst allChoices =\n\t\t\tisUnsupportedField && state.allChoices\n\t\t\t\t? state.allChoices.filter(choice => choice.id !== fieldName)\n\t\t\t\t: state.allChoices;\n\t\tif (intent === 'filter') {\n\t\t\tupdateState({\n\t\t\t\tshowConditionModal: true,\n\t\t\t\tselectedField: { fieldName, fieldType }\n\t\t\t});\n\t\t\tdispatch('TRACK_CONDITION_PICKER_OPENED', {\n\t\t\t\tmetaData: {\n\t\t\t\t\tfieldType: FIELD_TYPE.TEMPLATE_VALUE,\n\t\t\t\t\tchild_field: fieldType\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (intent === 'remove') {\n\t\t\t// Check if this is the newly added row (newFieldCreator)\n\t\t\tif (identifier === 'newFieldCreator') {\n\t\t\t\t// Just hide the new template row and show the Add field button again\n\t\t\t\tupdateState({\n\t\t\t\t\tshowNewTemplateRow: false\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Handle existing rows as before\n\t\t\t\tconst newFieldValues = state.fieldValues.filter(\n\t\t\t\t\tfield => field.path !== identifier\n\t\t\t\t);\n\t\t\t\tconst updatedCNdata = properties.conditionsData;\n\t\t\t\tif (updatedCNdata) {\n\t\t\t\t\tdelete updatedCNdata[identifier];\n\t\t\t\t}\n\t\t\t\tupdateConsumerAndState({\n\t\t\t\t\tname,\n\t\t\t\t\tchoices: cleanUpChoices({\n\t\t\t\t\t\tfieldValues: newFieldValues,\n\t\t\t\t\t\tallChoices: allChoices\n\t\t\t\t\t}),\n\t\t\t\t\tnewFieldValues,\n\t\t\t\t\tallChoices,\n\t\t\t\t\tisUnsupportedField,\n\t\t\t\t\tonValueChange,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tdispatch,\n\t\t\t\t\terror: calculatedFieldError(newFieldValues),\n\t\t\t\t\tadditionalInfo: {\n\t\t\t\t\t\tconditionsData: updatedCNdata\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch('TRACK_TEMPLATE_VALUE', {\n\t\t\t\tfield: identifier,\n\t\t\t\teventName: 'Delete.Usage'\n\t\t\t});\n\t\t}\n\t},\n\t['NOW_BUTTON#CLICKED']: ({ updateState, action, dispatch }) => {\n\t\tconst { intent } = action.payload;\n\n\t\tif (intent === 'add') {\n\t\t\tupdateState({ showNewTemplateRow: true });\n\t\t\tdispatch('TRACK_TEMPLATE_VALUE', {\n\t\t\t\tfield: 'Template value',\n\t\t\t\teventName: 'Add.Usage'\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: ({ dispatch, properties, updateState }) => {\n\t\tlet {\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tformData: { encodedRecord },\n\t\t\treferringRecordId,\n\t\t\treferringTable\n\t\t} = properties;\n\n\t\tdispatch(DATA_REQUEST, {\n\t\t\tisPartial: false,\n\t\t\tqueryString: value,\n\t\t\tfieldName: name,\n\t\t\trecordSysId: referringRecordId,\n\t\t\tserializedChanges: getSerializedChanges(properties),\n\t\t\tencodedRecord,\n\t\t\treferringTable\n\t\t});\n\t\tupdateState({\n\t\t\tisLoading: true,\n\t\t\tvalue\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\tupdateProperties\n\t}) => {\n\t\tconst { name, value, previousValue } = action.payload;\n\t\tconst {\n\t\t\treferringRecordId,\n\t\t\tvalue: queryString,\n\t\t\tname: fieldName,\n\t\t\tformData: { encodedRecord },\n\t\t\treferringTable\n\t\t} = properties;\n\n\t\t// short-circuit if the values are the same\n\t\tif (isEqual(value, previousValue)) return;\n\n\t\tif (\n\t\t\tname == 'originalValue' &&\n\t\t\tvalue !== previousValue &&\n\t\t\tstate.fieldValues?.length > 0\n\t\t) {\n\t\t\t// Using originalValue to detect changes instead of making a seperate API call\n\t\t\tconst originalFieldsMap = createOriginalFieldsMap(\n\t\t\t\tproperties.originalValue\n\t\t\t);\n\t\t\tif (originalFieldsMap.size === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet hasChanges = false;\n\t\t\tconst updatedFieldValues = state.fieldValues.map(currentField => {\n\t\t\t\tconst originalField = originalFieldsMap.get(currentField.fieldName);\n\n\t\t\t\t// Return updated field if original exists and values differ\n\t\t\t\tif (originalField && currentField.value !== originalField.value) {\n\t\t\t\t\thasChanges = true;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentField,\n\t\t\t\t\t\toriginalControlValue: originalField.value,\n\t\t\t\t\t\toriginalChoiceValue: originalField.fieldName,\n\t\t\t\t\t\tvalue: originalField.value,\n\t\t\t\t\t\tfieldName: originalField.fieldName\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn currentField;\n\t\t\t});\n\n\t\t\t// Only update state if changes were detected\n\t\t\tif (hasChanges) {\n\t\t\t\tupdateState({ fieldValues: updatedFieldValues });\n\t\t\t}\n\t\t}\n\n\t\tif (name === 'dependentValue' && value !== previousValue) {\n\t\t\tdispatch(DATA_REQUEST, {\n\t\t\t\tisPartial: false,\n\t\t\t\trecordSysId: referringRecordId,\n\t\t\t\tqueryString,\n\t\t\t\tfieldName,\n\t\t\t\tserializedChanges: getSerializedChanges(properties),\n\t\t\t\tencodedRecord,\n\t\t\t\treferringTable\n\t\t\t});\n\t\t} else if (name === 'value' && !isEqual(state.value, value)) {\n\t\t\tdispatch(DATA_REQUEST, {\n\t\t\t\tisPartial: false,\n\t\t\t\trecordSysId: referringRecordId,\n\t\t\t\tfieldName,\n\t\t\t\tserializedChanges: getSerializedChanges(properties),\n\t\t\t\tencodedRecord,\n\t\t\t\tqueryString: value,\n\t\t\t\treferringTable\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tisLoading: true\n\t\t\t});\n\t\t\tupdateProperties({\n\t\t\t\tliveUpdate: false\n\t\t\t});\n\t\t}\n\t}\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"conditionBuilderConnectedBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__.__esModule\n\t\t\t\t\tif (cjsModule && 'conditionBuilderConnectedBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"].conditionBuilderConnectedBehavior;\n\t\t\t\t\t} else if ('conditionBuilderConnectedBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__.conditionBuilderConnectedBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_predicate_builder_index_jsdbx_17fc02d7__[\"default\"].conditionBuilderConnectedBehavior;\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { conditionBuilderConnectedBehavior } from '@servicenow/now-predicate-builder';\n\nconst LABELS_ON = 'labelsOn';\nconst CONDITION_BUILDER = 'CONDITION_BUILDER';\nconst view = state => {\n\tconst {\n\t\tproperties: { tableName, encodedQuery, readonly },\n\t\tbehaviors: {\n\t\t\tconditionBuilderConnectedBehavior: {\n\t\t\t\tdecodedQuery,\n\t\t\t\tinfoMessages,\n\t\t\t\tpanelDefinitions,\n\t\t\t\ttableMetadata\n\t\t\t}\n\t\t}\n\t} = state;\n\n\treturn (\n\t\t<now-predicate-builder\n\t\t\tbuilderType={CONDITION_BUILDER}\n\t\t\tsource={tableName}\n\t\t\tencodedQuery={encodedQuery}\n\t\t\tdecodedQuery={decodedQuery}\n\t\t\tdisplayLabelOptions={LABELS_ON}\n\t\t\tmetadataCache={{ tableMetadata }}\n\t\t\tpanelDefinitions={panelDefinitions}\n\t\t\tinfoMessages={infoMessages}\n\t\t\tshowActionBar={false}\n\t\t\tshowAddConditionSet={true}\n\t\t\tshowGroupBy={false}\n\t\t\treadOnly={readonly}\n\t\t\tshowLoadFilter={false}\n\t\t\tshowReferenceLookup={false}\n\t\t\tshowRelatedListConditions={false}\n\t\t\tshowSaveFilter={false}\n\t\t\tshowSortBy={false}\n\t\t/>\n\t);\n};\n\ncreateCustomElement('sn-record-template-value-predicate-builder', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\ttableName: '',\n\t\treadonly: false\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: conditionBuilderConnectedBehavior\n\t\t}\n\t]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { isEmpty } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-loader';\nimport { t } from 'sn-translate';\nimport {\n\tfieldLayoutSchema,\n\tFIELD_TYPE,\n\ttrackBehavior\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-record-control-wrapper';\nimport actionHandlers, {\n\tPREDICATE_MODAL_CANCEL,\n\tPREDICATE_MODAL_SET\n} from './actions';\nimport './field-selection';\nimport './predicate-builder';\nimport styles from './template-value.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport '@servicenow/now-badge';\n\nexport const COMPONENT_NAME = 'sn-record-template-value-connected';\nconst WORKSPACE_TYPES = Object.keys(FIELD_TYPE).map(key => FIELD_TYPE[key]);\n\nexport const content = state => {\n\tconst {\n\t\tisLoadingNewField,\n\t\ttempNewFieldLabel,\n\t\ttable = '',\n\t\tchoices = [],\n\t\tshowNewTemplateRow,\n\t\tshowConditionModal,\n\t\tselectedField,\n\t\ttableDisplayName = ''\n\t} = state;\n\n\tconst {\n\t\treadonly,\n\t\tformData,\n\t\tlabel,\n\t\tdependentField,\n\t\thasVariablePicker,\n\t\thasFieldLevelConditions,\n\t\tconditionsData = {},\n\t\toriginalConditionsData = {}\n\t} = state.properties;\n\n\tconst fieldValues = state.fieldValues || [];\n\treturn (\n\t\t<Fragment>\n\t\t\t{fieldValues.map((field, index) => (\n\t\t\t\t<sn-record-template-value-field-selection\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\taria-atomic\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': label\n\t\t\t\t\t}}\n\t\t\t\t\tfieldName={field.fieldName}\n\t\t\t\t\tfieldLabel={field.fieldLabel}\n\t\t\t\t\tfieldProps={field.formControlProps}\n\t\t\t\t\toriginalControlValue={field.originalControlValue}\n\t\t\t\t\toriginalChoiceValue={field.originalChoiceValue}\n\t\t\t\t\tchoices={choices}\n\t\t\t\t\tdependentField={dependentField}\n\t\t\t\t\tdependentFieldDisplayValue={tableDisplayName}\n\t\t\t\t\tdisplayValue={field.displayValue}\n\t\t\t\t\tisLoading={field.isLoading}\n\t\t\t\t\tmessages={field.formControlProps.messages}\n\t\t\t\t\ttype={field.type}\n\t\t\t\t\tpath={field.path}\n\t\t\t\t\ttable={table}\n\t\t\t\t\tpadBottom={true}\n\t\t\t\t\tkey={`field-selection-${index}`}\n\t\t\t\t\tidentifier={field.path || field.fieldName}\n\t\t\t\t\tisUnsupportedField={isUnsupported(field)}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\tformData={formData}\n\t\t\t\t\tisLastTemplateRow={index == fieldValues.length - 1 ? true : false}\n\t\t\t\t\tindex={index}\n\t\t\t\t\tshowNewTemplateRow={showNewTemplateRow}\n\t\t\t\t\ttemplateVariablePicker={hasVariablePicker}\n\t\t\t\t\tmetadata={{\n\t\t\t\t\t\tfieldType: 'template_value',\n\t\t\t\t\t\tchildFieldType: field.type,\n\t\t\t\t\t\tshouldTrack: true\n\t\t\t\t\t}}\n\t\t\t\t\tenableUnsavedFieldIndicator={\n\t\t\t\t\t\tstate.properties.formData.enableUnsavedFieldIndicator\n\t\t\t\t\t}\n\t\t\t\t\tconditions={conditionsData[field.fieldName]?.conditions || ''}\n\t\t\t\t\toriginalConditions={\n\t\t\t\t\t\toriginalConditionsData[field.fieldName]?.conditions || ''\n\t\t\t\t\t}\n\t\t\t\t\thasFieldLevelConditions={hasFieldLevelConditions}\n\t\t\t\t\tconditionsCount={\n\t\t\t\t\t\t(conditionsData[field.path || field.fieldName] || {})\n\t\t\t\t\t\t\t.condition_count || 0\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{showNewTemplateRow || isEmpty(fieldValues) ? (\n\t\t\t\t<sn-record-template-value-field-selection\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\taria-atomic\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': label\n\t\t\t\t\t}}\n\t\t\t\t\tfieldLabel={tempNewFieldLabel}\n\t\t\t\t\tchoices={choices}\n\t\t\t\t\tisNewField={true}\n\t\t\t\t\tisLoading={isLoadingNewField}\n\t\t\t\t\t// maintain consistent key to help maintain tab order when adding new field\n\t\t\t\t\tkey={`field-selection-${fieldValues.length}`}\n\t\t\t\t\tidentifier=\"newFieldCreator\"\n\t\t\t\t\ttable={table}\n\t\t\t\t\tshowNewTemplateRow={showNewTemplateRow}\n\t\t\t\t\tindex={fieldValues?.length}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\tformData={formData}\n\t\t\t\t\ttemplateVariablePicker={hasVariablePicker}\n\t\t\t\t\thasFieldLevelConditions={hasFieldLevelConditions}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{showConditionModal ? (\n\t\t\t\t<now-modal\n\t\t\t\t\topened={showConditionModal}\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\theader-label={t('Set Conditions')}\n\t\t\t\t\tfooter-actions={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: t('Set'),\n\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t\tclickActionType: PREDICATE_MODAL_SET,\n\t\t\t\t\t\t\tdisabled: readonly\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t\tclickActionType: PREDICATE_MODAL_CANCEL\n\t\t\t\t\t\t}\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<sn-record-template-value-predicate-builder\n\t\t\t\t\t\ttableName={table}\n\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t\tencodedQuery={\n\t\t\t\t\t\t\t(conditionsData[selectedField.fieldName] || {}).conditions || ''\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t<\/now-modal>\n\t\t\t) : null}\n\t\t<\/Fragment>\n\t);\n};\n\nconst loading = () => (\n\t<div>\n\t\t<now-loader />\n\t<\/div>\n);\n\nexport const view = state => {\n\tconst { isLoading, properties } = state;\n\tconst {\n\t\tformData: { showUnsavedIndicator = false } = {},\n\t\tshowAIIndicator,\n\t\tisModified\n\t} = properties;\n\n\treturn (\n\t\t<sn-record-control-wrapper\n\t\t\t{...state.properties}\n\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\tisModified={isModified}\n\t\t>\n\t\t\t{isLoading ? loading() : content(state)}\n\t\t<\/sn-record-control-wrapper>\n\t);\n};\n\nexport function isDotWalk(field) {\n\treturn field.path.indexOf('.') > -1;\n}\n\nexport function isUnsupported(field) {\n\treturn (\n\t\t!WORKSPACE_TYPES.includes(field.type) ||\n\t\tisDotWalk(field) ||\n\t\tfield.shouldHide\n\t);\n}\n\n/**\n * This component allows you to collect and display field values for a given\n * table. These feilds can include dot walked fields. The values are local to\n * this component and not association with a record on the target table. This\n * field is meant to have a dependent field such as\n * `sn-record-tablename-connected` that provides the `table` name. This field\n * is also created to live in the form and not for general use.\n *\n * ```jsx\n * <sn-record-template-value-connected\n *   dependentField: 'table',\n *   dependentFieldValue: 'problem'\n * />\n * ```\n *\n * @seismicElement sn-record-template-value-connected\n * @summary Allows user to save multiple values and fields that corresponds with\n *  a tables field types. It also includes dot walked fields.\n */\ncreateCustomElement(COMPONENT_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tfieldValues: [],\n\t\tisLoading: false,\n\t\tisLoadingNewField: false,\n\t\ttable: '',\n\t\ttableDisplayName: '',\n\t\tshowNewRow: false,\n\t\tshowConditionModal: false,\n\t\tcurrConditionState: {},\n\t\tselectedField: {}\n\t},\n\tstyles,\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * Name identifier for the component.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The label to display over the component.\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The value of all the fields inside this components. This is a string dilimtad by `^` chars.\n\t\t * @type {any}\n\t\t */\n\t\tvalue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Whether the template fields to have a condition picker or not.\n\t\t * @type {boolean}\n\t\t */\n\n\t\thasFieldLevelConditions: { schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * The conditions data for the template fields.\n\t\t * @type {object}\n\t\t */\n\t\tconditionsData: { schema: { type: 'object' }, default: {} },\n\n\t\t/**\n\t\t * The field whose value drives this component's table\n\t\t */\n\t\tdependentField: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The value of the dependent field\n\t\t */\n\t\tdependentValue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Whether the template fields to have a variable picker or not.\n\t\t * @type {boolean}\n\t\t */\n\t\thasVariablePicker: { default: false, schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\n\t\t/**\n\t\t * This is the Sys ID of the record that has the template value field in it.\n\t\t */\n\t\treferringRecordId: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * This is the table for the record that has the template value field in it.\n\t\t */\n\t\treferringTable: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * This is a call back function that comes from forms. It is called when a value changes in the field.\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * This is a call back function that comes from forms. This should be called as the user types but can cause performance issues if over used.\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\tformData: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\tmessages: {},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Original value of the field\n\t\t * @type {string}\n\t\t */\n\t\toriginalValue: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Original value of condition picker\n\t\t * @type {object}\n\t\t */\n\t\toriginalConditionsData: {\n\t\t\tschema: { type: 'object' },\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tdispatches: {},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nexport default COMPONENT_NAME;\n","//TableName Metadata GraphQL\nexport const FETCH_METADATA = 'TABLE_NAME_FETCH_METADATA';\nexport const FETCH_METADATA_SUCCESS = 'TABLE_NAME_FETCH_METADATA_SUCCESS';\nexport const FETCH_METADATA_FAILURE = 'TABLE_NAME_FETCH_METADATA_FAILURE';\n","import { get } from 'lodash';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { TABLE_LABEL_QUERY } from './query';\nimport { FETCH_METADATA_SUCCESS, FETCH_METADATA_FAILURE } from './constants';\n\nexport const fetchTableMetaEffect = createGraphQLEffect(TABLE_LABEL_QUERY, {\n\ttemplateVarList: ['tableName'],\n\tsuccessActionType: FETCH_METADATA_SUCCESS,\n\terrorActionType: FETCH_METADATA_FAILURE\n});\n\nexport const fetchTableMetaSuccessEffect = ({\n\tstate: {\n\t\tproperties: { value: tableName, liveUpdate }\n\t},\n\tupdateState,\n\taction: { payload }\n}) => {\n\tconst displayValue = get(\n\t\tpayload,\n\t\t`data.GlideRecord_Query.${tableName}._table_metadata.label`\n\t);\n\tupdateState({\n\t\tliveUpdate,\n\t\tstateDisplayValue: displayValue ? displayValue : '',\n\t\tstateValue: tableName ? tableName : null\n\t});\n};\n\nexport const fetchTableMetaFailureEffect = ({\n\tstate: {\n\t\tproperties: { value }\n\t},\n\tupdateState\n}) => {\n\t//reset liveupdate state on failure\n\tupdateState({\n\t\tliveUpdate: false,\n\t\tstateDisplayValue: value\n\t});\n};\n","export const TABLE_LABEL_QUERY = `{\n    GlideRecord_Query {\n      {{tableName}} {\n        _table_metadata {\n          label\n        }\n      }\n    }\n  }`;\n\nexport const TABLE_LIST_QUERY = `\n  query (\n    $chars: String!, $paginationLimit: Int, $paginationOffset: Int,\n    $shortList: Boolean,\n    $canRead: Boolean,\n    $includeDefault: Boolean,\n    $selectedOnly: Boolean,\n    $selectedField: String,\n    $selected: String,\n    $noViews: Boolean,\n    $noSystemTables: Boolean,\n    $filterEntitledTables: Boolean,\n    $tableName: String,\n    $fieldName: String,\n    $showTableNames: Boolean,\n    $showTableNamesOnLabel: Boolean,\n    $tableChoicesScript: String,\n    $skipRoot: Boolean,\n    $baseTable: String,\n    $recordSysId: String!,\n    $serializedChanges: String!,\n    $encodedRecord: String!,\n    $allowPublic: Boolean,\n    $skipScopeRestrictions: Boolean,\n    $includeDocumentTables: Boolean,\n    $scopeId: String\n    ) {\n    GlideLayout_Query {\n      tableChoiceListRetriever(\n        chars: $chars,\n        pagination: {limit: $paginationLimit, offset: $paginationOffset},\n        shortList: $shortList,\n        canRead: $canRead,\n        includeDefault: $includeDefault,\n        selectedOnly: $selectedOnly,\n        selectedField: $selectedField,\n        selected: $selected,\n        noViews: $noViews,\n        noSystemTables: $noSystemTables,\n        filterEntitledTables: $filterEntitledTables,\n        tableName: $tableName,\n        fieldName: $fieldName,\n        showTableNames:$showTableNames,\n        showTableNamesOnLabel: $showTableNamesOnLabel,\n        tableChoicesScript:$tableChoicesScript,\n        skipRoot:$skipRoot,\n        baseTable:$baseTable,\n        recordSysId:$recordSysId,\n        serializedChanges:$serializedChanges,\n        encodedRecord:$encodedRecord,\n        allowPublic:$allowPublic,\n        skipScopeRestrictions:$skipScopeRestrictions,\n        includeDocumentTables:$includeDocumentTables,\n        scopeId:$scopeId\n      ) {\n        tableNames {\n          value\n          displayValue\n        }\n      }\n    }\n  }\n  `;\n","import { queryBaseActionHandlers } from '@devsnc/sn-glide-query-base';\nimport { effectProxy } from '@devsnc/sn-controls-common';\nimport { TABLE_LIST_QUERY } from './query';\n\nimport {\n\tFETCH_METADATA,\n\tFETCH_METADATA_SUCCESS,\n\tFETCH_METADATA_FAILURE\n} from './constants';\n\nimport {\n\tfetchTableMetaEffect,\n\tfetchTableMetaSuccessEffect,\n\tfetchTableMetaFailureEffect\n} from './effects';\n\nlet variableList = [\n\t'chars',\n\t'paginationLimit',\n\t'paginationOffset',\n\t'shortList',\n\t'canRead',\n\t'includeDefault',\n\t'selectedOnly',\n\t'selectedField',\n\t'selected',\n\t'noViews',\n\t'noSystemTables',\n\t'filterEntitledTables',\n\t'tableName',\n\t'fieldName',\n\t'showTableNames',\n\t'showTableNamesOnLabel',\n\t'tableChoicesScript',\n\t'skipRoot',\n\t'baseTable',\n\t'recordSysId',\n\t'serializedChanges',\n\t'encodedRecord',\n\t'allowPublic',\n\t'skipScopeRestrictions',\n\t'scopeId',\n\t'includeDocumentTables'\n];\n\nconst queryBaseActionHandlersData = queryBaseActionHandlers(\n\tTABLE_LIST_QUERY,\n\tvariableList\n);\nexport const queryBaseFetchDataEffect =\n\tqueryBaseActionHandlersData.queryBaseFetchDataEffect;\n\nexport default {\n\t[FETCH_METADATA]: {\n\t\teffect: effectProxy(fetchTableMetaEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_METADATA_SUCCESS]: {\n\t\teffect: fetchTableMetaSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_METADATA_FAILURE]: {\n\t\teffect: fetchTableMetaFailureEffect,\n\t\tstopPropagation: true\n\t},\n\t...queryBaseActionHandlersData.actionHandlers\n};\n","import { omit, get, map, isEqual } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { actionTypes } from '@servicenow/ui-core';\nimport { FETCH_METADATA } from './constants';\n\nimport {\n\tgetEncodedRecord,\n\tgetSerializedChanges,\n\tadaptCallbackForLegacyAPI\n} from '@devsnc/sn-controls-common';\nimport actionHandlers from './actionHandlers';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst getVariables = state => inputVal => {\n\tconst {\n\t\tname,\n\t\ttableName,\n\t\tvalue,\n\t\tresultLimit,\n\t\tdictionaryAttributes = {},\n\t\tformData = {},\n\t\treferringRecordId,\n\t\tscopeId\n\t} = state.properties;\n\n\treturn {\n\t\tpaginationLimit: resultLimit,\n\t\tchars: inputVal.length > 0 ? inputVal : '**',\n\t\tshortList: dictionaryAttributes.shortList,\n\t\tcanRead: dictionaryAttributes.canRead,\n\t\tincludeDefault: dictionaryAttributes.includeDefault,\n\t\tselectedOnly: dictionaryAttributes.selectedOnly,\n\t\tnoViews: dictionaryAttributes.noViews,\n\t\tnoSystemTables: dictionaryAttributes.noSystemTables,\n\t\tfilterEntitledTables: dictionaryAttributes.filterEntitledTables,\n\t\tskipScopeRestrictions: dictionaryAttributes.skipScopeRestrictions,\n\t\ttableName: tableName,\n\t\tfieldName: name,\n\t\tselectedField: `${tableName}.${name}`,\n\t\tselected: value || '',\n\t\tshowTableNames: dictionaryAttributes.showTableNames,\n\t\tshowTableNamesOnLabel: dictionaryAttributes.showTableNamesOnLabel,\n\t\ttableChoicesScript: dictionaryAttributes.tableChoicesScript,\n\t\tskipRoot: dictionaryAttributes.skipRoot,\n\t\tbaseTable: dictionaryAttributes.baseTable,\n\t\trecordSysId: referringRecordId || '',\n\t\tserializedChanges: getSerializedChanges(state.properties),\n\t\tencodedRecord: getEncodedRecord(formData),\n\t\tallowPublic: dictionaryAttributes.allowPublic,\n\t\tincludeDocumentTables: dictionaryAttributes.includeDocumentTables,\n\t\tscopeId\n\t};\n};\n\nexport const view = (state, { dispatch }) => {\n\tconst mapResults = data => {\n\t\tlet results = get(data, 'GlideLayout_Query.tableChoiceListRetriever', {});\n\t\treturn {\n\t\t\toptions: map(results.tableNames, t => ({\n\t\t\t\t...t,\n\t\t\t\tsecondary: [t.value]\n\t\t\t}))\n\t\t};\n\t};\n\n\tconst {\n\t\tresults,\n\t\tisSearching,\n\t\tsearchUsingStartsWith,\n\t\tsearchOnClick,\n\t\tname,\n\t\thighlightedValue,\n\t\tdecorations,\n\t\tsearchCancelable\n\t} = state.properties;\n\n\tconst additionalProps = omit(state.properties, [\n\t\t'resultLimit',\n\t\t'displayValue',\n\t\t'value'\n\t]);\n\n\tconst onValueChangeWithTracking = args => {\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: {\n\t\t\t\tname: name,\n\t\t\t\tfieldType: 'sn-record-tablename-connected'\n\t\t\t}\n\t\t});\n\t\tadaptCallbackForLegacyAPI(state.properties.onValueChange)(args);\n\t};\n\n\treturn (\n\t\t<sn-glide-query-base\n\t\t\t{...additionalProps}\n\t\t\tvalue={state.stateValue}\n\t\t\tdisplayValue={state.stateDisplayValue}\n\t\t\tisSearching={isSearching}\n\t\t\tresults={results} // results was created from createUpdateStateEffect\n\t\t\tmapResults={mapResults}\n\t\t\tgetVariables={getVariables(state)}\n\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\tsearchOnClick={searchOnClick}\n\t\t\tonValueChange={onValueChangeWithTracking}\n\t\t\tincludeHeaders={false}\n\t\t\thighlightedValue={highlightedValue}\n\t\t\tdisableTracking\n\t\t\tdecorations={decorations}\n\t\t\tsearchCancelable={searchCancelable}\n\t\t/>\n\t);\n};\n\nexport const connectedTableNameActionHandlers = {\n\t...actionHandlers,\n\t[COMPONENT_BOOTSTRAPPED]: ({\n\t\tproperties: { value, displayValue },\n\t\tdispatch,\n\t\tupdateState\n\t}) => {\n\t\tif (value && displayValue === value) {\n\t\t\tdispatch(FETCH_METADATA, { tableName: value });\n\t\t\tupdateState({\n\t\t\t\tstateDisplayValue: t('Loading...')\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tstateDisplayValue: displayValue,\n\t\t\t\tstateValue: value\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tstate,\n\t\tproperties,\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tconst { name, value } = action.payload;\n\t\t// this is when a normal value change occurs with no new live update\n\t\tif (\n\t\t\t(name === 'value' && value !== state.stateValue) ||\n\t\t\t(name === 'displayValue' &&\n\t\t\t\tvalue !== state.stateDisplayValue &&\n\t\t\t\t(isEqual(properties.liveUpdate, state.liveUpdate) || !value))\n\t\t) {\n\t\t\tif (properties.value && properties.value === properties.displayValue) {\n\t\t\t\tdispatch(FETCH_METADATA, { tableName: value });\n\t\t\t\tupdateState({\n\t\t\t\t\tstateDisplayValue: t('Loading...')\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\tstateDisplayValue: properties.displayValue,\n\t\t\t\t\tstateValue: properties.value\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// if a new live update occurs, dispatch to find displayValue and wait\n\t\telse if (\n\t\t\tname === 'liveUpdate' &&\n\t\t\t!isEqual(properties.liveUpdate, state.liveUpdate) &&\n\t\t\tproperties.value &&\n\t\t\t!value.isUserModified\n\t\t) {\n\t\t\tdispatch(FETCH_METADATA, { tableName: properties.value });\n\t\t\tupdateState({\n\t\t\t\tstateDisplayValue: t('Loading...')\n\t\t\t});\n\t\t}\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tGlideQueryBaseSeismic,\n\tqueryBaseBehavior,\n\tsetInitialQueryBaseState\n} from '@devsnc/sn-glide-query-base';\nimport NowTypeahead from '@servicenow/now-record-typeahead';\nimport NowTypeaheadMultiple from '@servicenow/now-record-typeahead-multiple';\nimport {\n\ttrackBehavior,\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tSeismicComponentFieldPropDefaults,\n\tfieldFocusHandler,\n\tfieldLayoutSchema\n} from '@devsnc/sn-controls-common';\nimport { connectedTableNameActionHandlers, view } from './view';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\ncreateCustomElement('sn-record-tablename-connected', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tliveUpdate: undefined,\n\t\tstateDisplayValue: '',\n\t\tstateValue: null\n\t},\n\tactionHandlers: {\n\t\t...connectedTableNameActionHandlers,\n\t\t['SEISMIC_COMPONENT_ERROR_THROWN']: arg => {\n\t\t\tconsole.debug('COMPONENT_ERROR_THROWN', arg);\n\t\t}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t],\n\tproperties: {\n\t\t/**\n\t\t * The field name\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Name of table this field is on\n\t\t * @type {string}\n\t\t */\n\t\ttableName: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Dictionary attributes to set and configure the query for table names\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Name for the component.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * The scope id used to query the table names\n\t\t */\n\t\tscopeId: {},\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Flag to show when a graphQL request is in progress\n\t\t */\n\t\tisSearching: {},\n\n\t\t/**\n\t\t * Value for current omponent.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * DisplayValue for current component.\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * results from a graphQL request\n\t\t */\n\t\tresults: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Integer limit of choice suggestions\n\t\t */\n\t\tresultLimit: { default: 25 },\n\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t */\n\t\tsearchUsingStartsWith: { default: true },\n\n\t\t/**\n\t\t * Flag to searching when clicking on field\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t */\n\t\tdisableDisplayValueWarning: { default: false },\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: {},\n\n\t\t/**\n\t\t * Flag to indicate if it's a liveUpdate\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * This is the Sys ID of the record that has the field in it.\n\t\t */\n\t\treferringRecordId: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Toggles whether to pass the header to allow new search requests to cancel\n\t\t * search transactions that are still running\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchCancelable: { default: true },\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t}\n});\n\ncreateCustomElement('sn-glide-query-base', {\n\tview: withValueChangeCallbacksView(GlideQueryBaseSeismic),\n\tstyles: NowTypeahead.style + NowTypeaheadMultiple.style,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\n\t\t/**\n\t\t * Dictionary values and attributes for the field\n\t\t */\n\t\tdictionary: {},\n\n\t\t/**\n\t\t * results from a graphQL request\n\t\t */\n\t\tresults: {},\n\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Function to get variables for datasource read.\n\t\t *\n\t\t * @param {String} input - The current value of the input\n\t\t * @return {Object?} variables - Variables passed to the datasource read\n\t\t * call. If this returns null/undefined, the read call will not be triggered.\n\t\t */\n\t\tgetVariables: {},\n\n\t\t/**\n\t\t * Maps the datasource result into arrays of options and recents, to be\n\t\t * displayed as choices in the dropdown.\n\t\t *\n\t\t * @param {Object} data - GraphQL result data\n\t\t * @return {Object} An object with the following shape:\n\t\t *\t @property {Array} recents\n\t\t *\t @property {Array} options\n\t\t *\n\t\t * Both `recents` and `options` should have the following shape:\n\t\t * @property {any} value - The underlying value for the item\n\t\t * @property {String} displayValue - User-friendly display for the item\n\t\t */\n\t\tmapResults: {\n\t\t\trequired: true\n\t\t},\n\n\t\t/**\n\t\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t\t * Defaults to 400ms\n\t\t */\n\t\tsearchDebounce: { default: 400 },\n\n\t\t/**\n\t\t * Value can be anything\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * When true, prevent the user from typing in free-form email addresses.\n\t\t * Instead, an email must be selected from the list of available options.\n\t\t */\n\t\tdisableEmailFreeformEntry: { default: false },\n\n\t\t/**\n\t\t * displayValue can be string or number or array of values\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t */\n\t\tmultiSelection: { default: false },\n\n\t\t/**\n\t\t * Please use `disableEmailFreeformEntry` instead\n\t\t */\n\t\tnoEmail: { default: false },\n\n\t\t/**\n\t\t * Callback to show record\n\t\t */\n\t\treferenceAddon: { default: true },\n\n\t\t/**\n\t\t * Callback to launch reference list modal\n\t\t */\n\t\tsearchAddon: { default: true },\n\n\t\t/**\n\t\t * Flag to hide the reference icon\n\t\t */\n\t\thideReferenceIcon: { default: false },\n\n\t\t/**\n\t\t * Flag to show the reference icon in readonly mode\n\t\t */\n\t\treferenceAddonReadonly: { default: false },\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t */\n\t\tdisableDisplayValueWarning: { default: false },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * LiveUpdate info\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Flag to indicate the results are loading\n\t\t */\n\t\tisSearching: { default: false },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t */\n\n\t\tsearchUsingStartsWith: {},\n\n\t\t/**\n\t\t * Flag to searching when clicking on field\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * Flag to including the header of dropdown\n\t\t */\n\t\tincludeHeaders: {},\n\n\t\t/**\n\t\t * The sys id cooresponding to the selected record value. Important for when\n\t\t * a reference key is used.\n\t\t */\n\t\treferenceSysId: {},\n\n\t\t/**\n\t\t * Flag to indicate parent component will handle tracking\n\t\t * @private\n\t\t */\n\t\tdisableTracking: {},\n\n\t\thighlightedValue: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Toggles whether to pass the header to allow new search requests to cancel\n\t\t * search transactions that are still running\n\t\t * @type {boolean}\n\t\t */\n\t\tsearchCancelable: { default: true },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\ttransformState,\n\tsetInitialState: setInitialQueryBaseState(true),\n\tactionHandlers: [\n\t\t{\n\t\t\t'NOW_RECORD_TYPEAHEAD#VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD#STAGED_VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#STAGED_VALUE_CHANGED': {\n\t\t\t\tstopPropagation: true\n\t\t\t}\n\t\t}\n\t],\n\tbehaviors: [trackBehavior, withValueChangeCallbackBehavior, queryBaseBehavior]\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const query = `query ($parentTableName: String!, $fieldName: String!, $recordSysId: String!, $serializedChanges: String!, $encodedRecord: String!, $tableName: String!, $path: String!) {\n\tGlideLayout_Query {\n\t  fieldNameDataRetriever(parentTableName: $parentTableName, fieldName: $fieldName, recordSysId: $recordSysId, serializedChanges: $serializedChanges, encodedRecord: $encodedRecord, tableName: $tableName, path: $path) {\n\t\tfieldNamesList {\n\t\t  tableName\n\t\t  fieldNameData {\n\t\t\tvalue\n\t\t\tdisplayValue\n\t\t\tisFieldReferenceType\n\t\t\treferenceDataKey\n\t\t  }\n\t\t}\n\t  }\n\t}\n  }\n  `;\n","export const FIELD_NAME = 'sn-record-fieldname-connected';\n\n//For Pop Over\nexport const POPOVER_OPENED = 'NOW_POPOVER#OPENED_SET';\n\n//For Dot Walk\nexport const DOT_WALK_PATH_UPDATED = 'NOW_DOT_WALK#PATH_UPDATED';\nexport const DOT_WALK_TRIGGERED = 'NOW_DOT_WALK#DOT_WALK_TRIGGERED';\nexport const DOT_WALK_BREADCRUMB_PATH_UPDATED =\n\t'NOW_DOT_WALK#BREADCRUMB_PATH_UPDATED';\n\n//Field Name\nexport const FIELD_NAME_PATH_UPDATE = `${FIELD_NAME}#PATH_UPDATED`;\nexport const FIELD_NAME_VALUE_CHANGED = `${FIELD_NAME}#VALUE_CHANGED`;\nexport const DEPENDENT_FIELD_VALUE = 'dependentFieldValue';\nexport const LIVE_UPDATE = 'liveUpdate';\n\n//Field Name GraphQL\nexport const FETCH_DATA = 'FIELD_NAME_FETCH_DATA';\nexport const FETCH_DATA_SUCCESS = 'FIELD_NAME_FETCH_DATA_SUCCESS';\nexport const FETCH_DATA_FAILURE = 'FIELD_NAME_FETCH_DATA_FAILURE';\nexport const FETCH_LEAF_DATA = 'FIELD_NAME_FETCH_LEAF_DATA';\nexport const FETCH_LEAF_DATA_SUCCESS = 'FIELD_NAME_FETCH_LEAF_DATA_SUCCESS';\nexport const FETCH_LEAF_DATA_FAILURE = 'FIELD_NAME_FETCH_LEAF_DATA_FAILURE';\nexport const FIELDS_NAMES_RESULTS_PATH =\n\t'data.GlideLayout_Query.fieldNameDataRetriever.fieldNamesList';\n","import { t } from 'sn-translate';\nimport { get, isEqual, isEmpty } from 'lodash';\nimport { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport { query } from './query';\nimport {\n\tgetEncodedRecord,\n\tisAttrTrue,\n\tgetSerializedChanges,\n\tadaptCallbackForLegacyAPI,\n\tconstructDataModel,\n\ttransformFieldNameMetadata,\n\tgetFieldNameValue,\n\tgetFieldNameDisplayValue\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tFETCH_DATA,\n\tFETCH_DATA_SUCCESS,\n\tFETCH_DATA_FAILURE,\n\tFETCH_LEAF_DATA,\n\tFETCH_LEAF_DATA_SUCCESS,\n\tFETCH_LEAF_DATA_FAILURE,\n\tLIVE_UPDATE,\n\tFIELDS_NAMES_RESULTS_PATH\n} from './constants';\n\nexport const componentBootstrappedHandler = ({\n\tupdateState,\n\tproperties: {\n\t\tvalue,\n\t\tdisplayValue,\n\t\tdisplayValueWithPath,\n\t\tdictionaryAttributes: { allowDotWalking = false }\n\t}\n}) => {\n\tupdateState({\n\t\tstateDisplayValue:\n\t\t\tallowDotWalking && value.includes('.')\n\t\t\t\t? displayValueWithPath\n\t\t\t\t: displayValue,\n\t\tstateValue: value\n\t});\n};\n\nexport const nowPopOverOpenedEffect = ({\n\tstate,\n\tproperties,\n\tdispatch,\n\taction,\n\tupdateState\n}) => {\n\tconst { value: opened } = action.payload;\n\tconst { readonly, dependentValue } = state.properties;\n\tconst isReadOnly = isAttrTrue(readonly) || isEmpty(dependentValue);\n\n\tif (!isAttrTrue(isReadOnly)) {\n\t\tif (opened) {\n\t\t\tlet {\n\t\t\t\tname,\n\t\t\t\treferringRecordId,\n\t\t\t\tformData = {},\n\t\t\t\treferringTable: parentTableName,\n\t\t\t\tdependentFieldValue: tableName,\n\t\t\t\tvalue: path = ''\n\t\t\t} = state.properties;\n\n\t\t\tconst payload = {\n\t\t\t\tparentTableName,\n\t\t\t\tfieldName: name,\n\t\t\t\trecordSysId: referringRecordId,\n\t\t\t\tserializedChanges: getSerializedChanges(properties),\n\t\t\t\tencodedRecord: getEncodedRecord(formData),\n\t\t\t\ttableName,\n\t\t\t\tpath\n\t\t\t};\n\n\t\t\tdispatch(FETCH_DATA, payload);\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\topened: opened\n\t\t\t});\n\t\t}\n\t} else {\n\t\tupdateState({\n\t\t\topened: false\n\t\t});\n\t}\n};\n\nexport const dotWalkLeafHandler = ({\n\taction: {\n\t\tpayload: { referenceSource, fieldName, displayValue, source, pathIndex }\n\t},\n\tdispatch,\n\tupdateState,\n\tstate: {\n\t\tproperties: {\n\t\t\tname,\n\t\t\treferringRecordId,\n\t\t\tformData = {},\n\t\t\treferringTable: parentTableName\n\t\t},\n\t\tdataModel\n\t},\n\tproperties\n}) => {\n\tconst { path } = dataModel;\n\n\tlet updatedPath;\n\n\tif (pathIndex > path.length - 1) {\n\t\tupdatedPath = [...path, { displayValue, field: fieldName, parent: source }];\n\t} else {\n\t\tupdatedPath = path.slice(0, pathIndex + 1);\n\t\tconst lastUpdatedPathItem = updatedPath[updatedPath.length - 1];\n\t\tlastUpdatedPathItem.field = fieldName;\n\t\tlastUpdatedPathItem.displayValue = displayValue;\n\t}\n\tupdateState({\n\t\tdataModel: {\n\t\t\t...dataModel,\n\t\t\tpath: updatedPath,\n\t\t\tleafPathSource: referenceSource\n\t\t}\n\t});\n\n\tconst payload = {\n\t\tparentTableName,\n\t\tfieldName: name,\n\t\trecordSysId: referringRecordId,\n\t\tserializedChanges: getSerializedChanges(properties),\n\t\tencodedRecord: getEncodedRecord(formData),\n\t\ttableName: referenceSource,\n\t\tpath: ''\n\t};\n\tdispatch(FETCH_LEAF_DATA, payload);\n};\n\nexport const fetchEffect = createGraphQLEffect(query, {\n\tvariableList: [\n\t\t'parentTableName',\n\t\t'fieldName',\n\t\t'recordSysId',\n\t\t'serializedChanges',\n\t\t'encodedRecord',\n\t\t'tableName',\n\t\t'path'\n\t],\n\tsuccessActionType: FETCH_DATA_SUCCESS,\n\terrorActionType: FETCH_DATA_FAILURE\n});\n\nexport const fetchSuccessEffect = ({\n\tstate: {\n\t\tdataModel,\n\t\tproperties: {\n\t\t\tvalue: pathValue,\n\t\t\tleafPathSource,\n\t\t\tdictionaryAttributes: { allowDotWalking = false, referenceTypes },\n\t\t\tdependentFieldValue: tableName,\n\t\t\tliveUpdate: propertiesLiveUpdate\n\t\t},\n\t\tliveUpdate: stateLiveUpdate\n\t},\n\tupdateState,\n\taction: { payload }\n}) => {\n\tconst results = get(payload, FIELDS_NAMES_RESULTS_PATH);\n\n\tconst dataModelConstructed = constructDataModel(\n\t\tresults,\n\t\ttableName,\n\t\tpathValue,\n\t\tleafPathSource,\n\t\treferenceTypes,\n\t\tallowDotWalking\n\t);\n\n\tlet dataModelToUpdate = {\n\t\tdataModel: dataModelConstructed,\n\t\topened: !!(dataModelConstructed.metadata && dataModelConstructed.path),\n\t\terror: null\n\t};\n\tif (dataModel) {\n\t\tdataModelToUpdate = {\n\t\t\tdataModel: {\n\t\t\t\t...dataModel,\n\t\t\t\tmetadata: {\n\t\t\t\t\t...dataModel.metadata,\n\t\t\t\t\t...dataModelConstructed.metadata\n\t\t\t\t},\n\t\t\t\tpath: dataModelConstructed.path,\n\t\t\t\tleafPathSource: dataModelConstructed.leafPathSource\n\t\t\t},\n\t\t\topened: !!(dataModelConstructed.metadata && dataModelConstructed.path),\n\t\t\terror: null\n\t\t};\n\t}\n\n\t//liveUpdate from state\n\tif (!isEqual(stateLiveUpdate, propertiesLiveUpdate)) {\n\t\tconst path = dataModelConstructed.path || [];\n\t\tconst value = getFieldNameValue(path);\n\t\tconst displayValue = getFieldNameDisplayValue(path);\n\n\t\tdataModelToUpdate = {\n\t\t\t...dataModelToUpdate,\n\t\t\tstateDisplayValue: displayValue,\n\t\t\tstateValue: value,\n\t\t\tliveUpdate: propertiesLiveUpdate,\n\t\t\topened: false\n\t\t};\n\t}\n\n\tupdateState(dataModelToUpdate);\n};\n\nexport const fetchFailureEffect = ({\n\tstate: {\n\t\tproperties: { value, displayValue, onValueChange, name }\n\t},\n\tupdateState\n}) => {\n\tlet errorMessage = t('Unable to fetch Field . Please try again');\n\t//reset liveupdate state on failure\n\tupdateState({\n\t\tliveUpdate: false\n\t});\n\tif (onValueChange) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport const fetchLeafEffect = createGraphQLEffect(query, {\n\tvariableList: [\n\t\t'parentTableName',\n\t\t'fieldName',\n\t\t'recordSysId',\n\t\t'serializedChanges',\n\t\t'encodedRecord',\n\t\t'tableName',\n\t\t'path'\n\t],\n\tsuccessActionType: FETCH_LEAF_DATA_SUCCESS,\n\terrorActionType: FETCH_LEAF_DATA_FAILURE\n});\n\nexport const fetchLeafSuccessEffect = ({\n\tstate: {\n\t\tdataModel,\n\t\tproperties: {\n\t\t\tleafPathSource,\n\t\t\tdictionaryAttributes: { referenceTypes, allowDotWalking = false }\n\t\t}\n\t},\n\tupdateState,\n\taction: { payload }\n}) => {\n\tconst results = get(payload, FIELDS_NAMES_RESULTS_PATH) || [];\n\n\tconst metadataConstructed = transformFieldNameMetadata(\n\t\tresults,\n\t\treferenceTypes,\n\t\tallowDotWalking\n\t);\n\n\tlet dataModelToUpdate = {\n\t\tdataModel: {\n\t\t\tmetadata: metadataConstructed,\n\t\t\tpath: [],\n\t\t\tleafPathSource\n\t\t},\n\t\terror: null\n\t};\n\tif (dataModel) {\n\t\tdataModelToUpdate = {\n\t\t\tdataModel: {\n\t\t\t\t...dataModel,\n\t\t\t\tmetadata: {\n\t\t\t\t\t...dataModel.metadata,\n\t\t\t\t\t...metadataConstructed\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: null\n\t\t};\n\t}\n\tupdateState(dataModelToUpdate);\n};\n\nexport const fetchLeafFailureEffect = ({\n\tstate: {\n\t\tproperties: { value, displayValue, onValueChange, name }\n\t}\n}) => {\n\tlet errorMessage = t('Unable to fetch reference Fields. Please try again');\n\tif (onValueChange) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue,\n\t\t\terror: {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: errorMessage\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport const pathUpdatedHandler = ({\n\tstate: {\n\t\tdataModel,\n\t\tproperties: { onValueChange, name }\n\t},\n\taction: {\n\t\tpayload: { path }\n\t},\n\tupdateState,\n\tdispatch\n}) => {\n\tconst updatedPath = path || [];\n\tlet leafPathSource = '';\n\tif (updatedPath.length === 0) {\n\t\tleafPathSource = dataModel.path[0].parent;\n\t}\n\n\tupdateState({\n\t\topened: false,\n\t\tdataModel: {\n\t\t\t...dataModel,\n\t\t\tpath: updatedPath,\n\t\t\tleafPathSource\n\t\t},\n\t\terror: null\n\t});\n\n\tconst value = getFieldNameValue(path);\n\tconst displayValue = getFieldNameDisplayValue(path);\n\n\tif (onValueChange) {\n\t\tadaptCallbackForLegacyAPI(onValueChange)({\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tdisplayValue\n\t\t});\n\t}\n\n\tdispatch('TRACK', {\n\t\tmetaData: {\n\t\t\tname: name,\n\t\t\tfieldType: 'sn-record-fieldname-connected'\n\t\t}\n\t});\n};\n\nexport const updateBreadCrumbHandler = ({\n\tstate: { dataModel },\n\taction: {\n\t\tpayload: { path }\n\t},\n\tupdateState\n}) => {\n\tconst updatedPath = path || [];\n\tlet leafPathSource = null;\n\tif (updatedPath.length === 0) {\n\t\tleafPathSource = dataModel.path[0].parent;\n\t}\n\n\tupdateState({\n\t\tdataModel: {\n\t\t\t...dataModel,\n\t\t\tpath: updatedPath,\n\t\t\tleafPathSource\n\t\t},\n\t\terror: null\n\t});\n};\n\nexport const propertyChangeHandler = ({\n\tstate,\n\taction,\n\tupdateState,\n\tproperties,\n\tdispatch\n}) => {\n\tconst {\n\t\tpayload: { name: updatedProperty, value }\n\t} = action;\n\n\tif (\n\t\tupdatedProperty === 'value' &&\n\t\tvalue !== state.stateValue &&\n\t\t(isEqual(properties.liveUpdate, state.liveUpdate) || !value)\n\t) {\n\t\tupdateState({\n\t\t\tstateDisplayValue: properties.displayValue,\n\t\t\tstateValue: properties.value\n\t\t});\n\t} else if (\n\t\tLIVE_UPDATE === updatedProperty &&\n\t\t!isEqual(properties.liveUpdate, state.liveUpdate) &&\n\t\tproperties.value &&\n\t\t!value.isUserModified\n\t) {\n\t\tlet {\n\t\t\tname,\n\t\t\treferringRecordId,\n\t\t\tformData = {},\n\t\t\treferringTable: parentTableName,\n\t\t\tdependentFieldValue: tableName,\n\t\t\tvalue: path = ''\n\t\t} = state.properties;\n\n\t\tconst payload = {\n\t\t\tparentTableName,\n\t\t\tfieldName: name,\n\t\t\trecordSysId: referringRecordId,\n\t\t\tserializedChanges: getSerializedChanges(state.properties),\n\t\t\tencodedRecord: getEncodedRecord(formData),\n\t\t\ttableName,\n\t\t\tpath\n\t\t};\n\t\tdispatch(FETCH_DATA, payload, { stopPropagation: true });\n\t\tupdateState({\n\t\t\tstateDisplayValue: t('Loading...')\n\t\t});\n\t}\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { effectProxy } from '@devsnc/sn-controls-common';\nimport {\n\tnowPopOverOpenedEffect,\n\tfetchEffect,\n\tfetchSuccessEffect,\n\tfetchFailureEffect,\n\tfetchLeafEffect,\n\tfetchLeafSuccessEffect,\n\tfetchLeafFailureEffect,\n\tpathUpdatedHandler,\n\tdotWalkLeafHandler,\n\tpropertyChangeHandler,\n\tupdateBreadCrumbHandler,\n\tcomponentBootstrappedHandler\n} from './effects';\nimport {\n\tPOPOVER_OPENED,\n\tDOT_WALK_PATH_UPDATED,\n\tDOT_WALK_TRIGGERED,\n\tDOT_WALK_BREADCRUMB_PATH_UPDATED,\n\tFETCH_DATA,\n\tFETCH_DATA_SUCCESS,\n\tFETCH_DATA_FAILURE,\n\tFETCH_LEAF_DATA,\n\tFETCH_LEAF_DATA_SUCCESS,\n\tFETCH_LEAF_DATA_FAILURE\n} from './constants';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nexport default {\n\t[DOT_WALK_PATH_UPDATED]: pathUpdatedHandler,\n\t[DOT_WALK_BREADCRUMB_PATH_UPDATED]: updateBreadCrumbHandler,\n\t[DOT_WALK_TRIGGERED]: dotWalkLeafHandler,\n\n\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedHandler,\n\t[COMPONENT_PROPERTY_CHANGED]: propertyChangeHandler,\n\n\t[POPOVER_OPENED]: {\n\t\teffect: nowPopOverOpenedEffect,\n\t\tstopPropagation: true\n\t},\n\n\t[FETCH_DATA]: {\n\t\teffect: effectProxy(fetchEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DATA_SUCCESS]: {\n\t\teffect: fetchSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_DATA_FAILURE]: {\n\t\teffect: fetchFailureEffect,\n\t\tstopPropagation: true\n\t},\n\n\t[FETCH_LEAF_DATA]: {\n\t\teffect: effectProxy(fetchLeafEffect),\n\t\tstopPropagation: true\n\t},\n\t[FETCH_LEAF_DATA_SUCCESS]: {\n\t\teffect: fetchLeafSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_LEAF_DATA_FAILURE]: {\n\t\teffect: fetchLeafFailureEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { isEmpty } from 'lodash';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport { POPOVER_OPENED } from './constants';\n\nfunction getFocusedElement(host) {\n\treturn host.shadowRoot.activeElement;\n}\n\nfunction getTriggerElement(host) {\n\treturn host.shadowRoot.querySelector('.now-input-field-trigger');\n}\n\nexport default [\n\t{\n\t\tevents: ['keydown'],\n\t\teffect: ({\n\t\t\taction,\n\t\t\thost,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate: {\n\t\t\t\tproperties: { readonly, dependentValue }\n\t\t\t}\n\t\t}) => {\n\t\t\tconst event = action.payload.event;\n\t\t\tconst focused = getFocusedElement(host);\n\t\t\tconst trigger = getTriggerElement(host);\n\t\t\tconst dependentValueEmpty = isEmpty(dependentValue);\n\t\t\tswitch (event.key) {\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\tcase 'Enter':\n\t\t\t\tcase ' ':\n\t\t\t\t\tconst isReadOnly = isAttrTrue(readonly)\n\t\t\t\t\t\t? readonly\n\t\t\t\t\t\t: dependentValueEmpty;\n\t\t\t\t\tif (\n\t\t\t\t\t\t!host.disabled &&\n\t\t\t\t\t\tfocused === trigger &&\n\t\t\t\t\t\t!isAttrTrue(isReadOnly)\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tdispatch(POPOVER_OPENED, { value: true });\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Escape':\n\t\t\t\tcase 'Tab':\n\t\t\t\t\tif (focused !== trigger) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tupdateState({ opened: false });\n\t\t\t\t\t\ttrigger.focus();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (focused === trigger) event.preventDefault();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tevents: ['mousedown', 'cut', 'paste'],\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: { event }\n\t\t\t},\n\t\t\thost\n\t\t}) => {\n\t\t\t//We want the input field to behave like it is disabled\n\t\t\t//but we don't want the styling that comes along with being disabled\n\t\t\tconst focused = getFocusedElement(host);\n\t\t\tconst trigger = getTriggerElement(host);\n\t\t\tif (focused === trigger) event.preventDefault();\n\t\t}\n\t}\n];\n","import { omit, isEmpty } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\n\nimport '@servicenow/now-dot-walk';\nimport '@devsnc/sn-form-controls';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-input';\nimport '@servicenow/now-icon';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\tisAttrTrue,\n\twrapHelperContent,\n\ttrackBehavior,\n\tpushInfoMessageForDependentFields,\n\ttransformMessages,\n\tisFieldEditableAndDependentFieldValueSet,\n\tfieldLayoutSchema,\n\trenderDecorations,\n\trenderIconsInLabelSlot,\n\tSLOT_POSITIONS,\n\tgetModifiedIconConfig,\n\tFIELD_BG_COLOR_DEFAULT\n} from '@devsnc/sn-controls-common';\n\nimport actionHandlers from './actionHandlers';\nimport eventHandlers from './eventHandlers';\nimport { FIELD_NAME } from './constants';\nimport styles from './styles.scss';\n\nexport const view = state => {\n\tlet {\n\t\topened,\n\t\tstateValue,\n\t\tstateDisplayValue,\n\t\tdataModel = {},\n\t\terror,\n\t\tproperties: {\n\t\t\treadonly,\n\t\t\tmessages,\n\t\t\tdependentValue,\n\t\t\tdependentFieldLabel,\n\t\t\tplaceholder,\n\t\t\thelperContent,\n\t\t\tlabel,\n\t\t\tcolor = FIELD_BG_COLOR_DEFAULT,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\twrapLabel\n\t\t}\n\t} = state;\n\n\tlet { path = [], metadata = {}, leafPathSource = '' } = dataModel;\n\n\tlet inputReadOnly = isAttrTrue(readonly) || isEmpty(dependentValue);\n\n\tlet displayValue = stateValue ? stateDisplayValue : '';\n\n\tconst addMissingMessage = isFieldEditableAndDependentFieldValueSet(\n\t\treadonly,\n\t\tdependentValue,\n\t\tdependentFieldLabel\n\t);\n\n\tif (addMissingMessage) {\n\t\tmessages = pushInfoMessageForDependentFields(messages, dependentFieldLabel);\n\t}\n\t// transform messages if any present in messages queue\n\tmessages = transformMessages(messages);\n\n\tconst configAria = {\n\t\tinput: {\n\t\t\t'aria-haspopup': 'listbox',\n\t\t\t'aria-expanded': inputReadOnly ? undefined : opened ? 'true' : 'false',\n\t\t\trole: inputReadOnly ? 'textbox' : 'combobox'\n\t\t}\n\t};\n\n\treturn (\n\t\t<now-popover manageOpened={true} opened={opened} hideTail>\n\t\t\t<now-input\n\t\t\t\t{...omit(state.properties, ['value', 'messages'])}\n\t\t\t\tmessages={messages}\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tclass={{ 'now-input-field-trigger': true }}\n\t\t\t\tconfigAria={configAria}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tvalue={displayValue}\n\t\t\t\treadonly={inputReadOnly}\n\t\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\t\tmanage-value\n\t\t\t\tmanage-invalid\n\t\t\t\twrapLabel={wrapLabel}\n\t\t\t\tcolor={color}\n\t\t\t>\n\t\t\t\t{!inputReadOnly && (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tclassName=\"sn-trigger-icon\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<slot name=\"controls-label-start\" slot=\"label-start\"><\/slot>\n\t\t\t\t{renderIconsInLabelSlot(\n\t\t\t\t\tSLOT_POSITIONS.LABEL_START,\n\t\t\t\t\tgetModifiedIconConfig(showUnsavedIndicator, {\n\t\t\t\t\t\tlabel\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t\t{renderDecorations(state.properties)}\n\t\t\t<\/now-input>\n\t\t\t<now-dot-walk\n\t\t\t\tslot=\"content\"\n\t\t\t\tdotWalkPath={path}\n\t\t\t\tmetadata={metadata}\n\t\t\t\tleafPathSource={leafPathSource}\n\t\t\t\terror={error}\n\t\t\t/>\n\t\t<\/now-popover>\n\t);\n};\n\n/**\n *\n *  Field Name Type Component\n *```jsx\n *\t<sn-record-fieldname-connected\n *\t\tlabel=\"Field Name\"\n *\t\tvalue={state.value}\n *\t\tdisplayValue={state.displayValue}\n *\t/>\n *\n *```\n * @seismicElement sn-record-fieldname-connected\n * @summary *  Field Name Type. Used internally.\n * */\ncreateCustomElement(FIELD_NAME, {\n\tview,\n\tstyles,\n\tinitialState: {\n\t\topened: false,\n\t\tliveUpdate: null,\n\t\tstateValue: null,\n\t\tstateDisplayValue: ''\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\n\t\t/**\n\t\t * Additional messages used to give status information on a field, usually\n\t\t * to provide error messages or warnings\n\t\t * @type {array}\n\t\t */\n\t\tmessages: { default: [] },\n\n\t\t/**\n\t\t * Flag indicating whether there is an error\n\t\t * @type {string | boolean }\n\t\t */\n\t\terror: { default: '' },\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true. Used by the glide form controls demo\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\tinvalid: {},\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * The language for the character used in the input field\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\n\t\t/**\n\t\t * The value of all the fields inside this components. This is a string dilimtad by `^` chars.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * DisplayValue for current component.\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Optional name of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * Optional value of the dependent field\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldValue: { schema: { type: 'string' }, default: '' },\n\t\tdependentValue: { schame: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * Optional value of the dependent field label\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * Dictionary attributes to set and configure the query for table names\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\n\t\t/**\n\t\t * Contains the displayValue & value properties for the field\n\t\t * isModified {bool}\n\t\t * updatedBy {obj:{username,displayName}}\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * This is the Sys ID of the record that has the field in it.\n\t\t */\n\t\treferringRecordId: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * This is the table for the record that has the field in it.\n\t\t */\n\t\treferringTable: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t */\n\t\tformData: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * This is the complete display value with dot walk path separated by > .\n\t\t */\n\t\tdisplayValueWithPath: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tisModified: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\teventHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","import { isEqual } from 'lodash';\n\nimport { queryBaseActionHandlers } from '@devsnc/sn-glide-query-base';\nimport { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst query = `\nquery ($table: String!, $field: String!, $sys_id: String, $chars: String!, $paginationLimit: Int, $paginationOffset: Int, $dependentValue: String) {\n  GlideLayout_Query {\n    referenceDataRetriever(\n      tableName: $table,\n      fieldName: $field,\n      sysId: $sys_id,\n      chars: $chars,\n      pagination: { limit: $paginationLimit, offset: $paginationOffset },\n      ignoreTotalCount: true,\n      sysparm_ignore_ref_qual: true,\n      sysparm_ref_override: $dependentValue,\n      ignoreDepAsRefQual: true\n    ) {\n      totalCount\n      recentCount\n      matchesCount\n      referenceRecentDataList {\n        sysId\n        referenceData {\n          key\n          value\n        }\n      }\n      referenceDataList {\n        sysId\n        referenceData {\n          key\n          value\n        }\n      }\n    }\n  }\n}\n`;\n\nconst variableList = [\n\t'sys_id',\n\t'table',\n\t'field',\n\t'chars',\n\t'paginationLimit',\n\t'dependentValue'\n];\n\nexport const normalizeDisplayValue = (\n\tdisplayValue = '',\n\tdependentTableName = ''\n) => {\n\tconst normalizedValue =\n\t\tdependentTableName.length > 0 && displayValue.startsWith(dependentTableName)\n\t\t\t? displayValue.substring(dependentTableName.length + 1) // Extract everything after dependentTableName + \":\" (including the colon)\n\t\t\t: displayValue;\n\n\treturn normalizedValue.trim();\n};\n\n/**\n * Handles COMPONENT_PROPERTY_CHANGED\n */\nexport const handlePropertyChange = ({ action, properties, updateState }) => {\n\tconst {\n\t\tpayload: { name, value, previousValue }\n\t} = action;\n\tconst { displayValue, dependentTableName } = properties;\n\n\t// short-circuit if the values are the same\n\tif (isEqual(value, previousValue)) return;\n\t// Live updates and value changes\n\telse if (name === 'liveUpdate' || name === 'value') {\n\t\tupdateState({\n\t\t\tnormalizedDisplayValue: normalizeDisplayValue(\n\t\t\t\tdisplayValue,\n\t\t\t\tdependentTableName\n\t\t\t)\n\t\t});\n\t}\n};\n\n/**\n * Handles COMPONENT_BOOTSTRAPPED\n */\nexport const handleComponentBootstrapped = ({\n\tupdateState,\n\tproperties: { displayValue, dependentTableName }\n}) => {\n\tupdateState({\n\t\tnormalizedDisplayValue: normalizeDisplayValue(\n\t\t\tdisplayValue,\n\t\t\tdependentTableName\n\t\t)\n\t});\n};\n\nconst queryBaseActionHandlersData = queryBaseActionHandlers(\n\tquery,\n\tvariableList\n);\nexport const queryBaseFetchDataEffect =\n\tqueryBaseActionHandlersData.queryBaseFetchDataEffect;\n\nexport default {\n\t...queryBaseActionHandlersData.actionHandlers,\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChange\n};\n","export const DEPENDENT_FIELD = 'dependentField';\nexport const DEPENDENT_VALUE = 'dependentValue';\nexport const DEPENDENT_FIELD_LABEL = 'dependentFieldLabel';\nexport const DEPENDENCY_PROPS = [\n\tDEPENDENT_FIELD,\n\tDEPENDENT_VALUE,\n\tDEPENDENT_FIELD_LABEL\n];\n\nexport const QUERY_DATA_PATH = 'GlideLayout_Query.referenceDataRetriever';\n","import { omit, get, some, isEmpty } from 'lodash';\n\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nimport {\n\tadaptCallbackForLegacyAPI,\n\tisAttrTrue,\n\ttrackBehavior,\n\tpushInfoMessageForDependentFields,\n\tisFieldEditableAndDependentFieldValueSet,\n\tfieldFocusHandler\n} from '@devsnc/sn-controls-common';\n\nimport actionHandlers from './actionHandlers';\nimport {\n\tQUERY_DATA_PATH,\n\tDEPENDENT_FIELD,\n\tDEPENDENT_VALUE,\n\tDEPENDENT_FIELD_LABEL\n} from './constants';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nconst getOptions = data => {\n\tif (data)\n\t\treturn data.map(\n\t\t\t({ sysId: value, referenceData: [{ value: displayValue }] }) => ({\n\t\t\t\tvalue,\n\t\t\t\tdisplayValue\n\t\t\t})\n\t\t);\n\n\treturn [];\n};\n\n/**\n * Create the Document ID view\n */\nexport const view = (\n\t{\n\t\tnormalizedDisplayValue,\n\t\tproperties,\n\t\tproperties: {\n\t\t\trecordSysId,\n\t\t\tfieldName,\n\t\t\ttableName,\n\t\t\tresultLimit,\n\t\t\tformData,\n\t\t\treadonly,\n\t\t\tmessages,\n\t\t\tvalue,\n\t\t\tonValueChange: parentOnValueChange,\n\t\t\t[DEPENDENT_FIELD_LABEL]: dependentFieldLabel,\n\t\t\t[DEPENDENT_FIELD]: dependentField,\n\t\t\t[DEPENDENT_VALUE]: dependentValue\n\t\t}\n\t},\n\t{ updateState, dispatch }\n) => {\n\tconst mapResults = data => {\n\t\tlet results = get(data, QUERY_DATA_PATH, {});\n\t\treturn {\n\t\t\trecents: getOptions(results.referenceRecentDataList),\n\t\t\toptions: getOptions(results.referenceDataList),\n\t\t\ttotalCount: results.matchesCount\n\t\t};\n\t};\n\n\tconst getVariables = inputVal => {\n\t\treturn {\n\t\t\tsys_id: get(formData, 'isNewRecord') ? '-1' : recordSysId,\n\t\t\ttable: tableName,\n\t\t\tfield: fieldName,\n\t\t\tpaginationLimit: resultLimit,\n\t\t\tchars: inputVal.length > 0 ? inputVal : '**',\n\t\t\tdependentValue\n\t\t};\n\t};\n\n\t// We want to intercept the onValueChange so that we can set displayValue here\n\t// as opposed to listening to prop changes which might give us incorrect display\n\t// values when things are in flux\n\tconst onValueChange = args => {\n\t\tconst { displayValue } = args;\n\t\tupdateState({ normalizedDisplayValue: displayValue });\n\t\tadaptCallbackForLegacyAPI(parentOnValueChange)(args);\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: fieldName, fieldType: 'document-id' }\n\t\t});\n\t};\n\n\tconst additionalProps = omit(properties, ['resultLimit']);\n\n\t// We have to \"hide\" the values when one of these is empty, so that we don't get the \"sys-id without displayValue\" warning created by the sn-glide-query-base\n\tconst emptyDeps = some([dependentField, dependentValue], isEmpty);\n\tconst isReadonly = isAttrTrue(readonly) || emptyDeps;\n\tconst hideValues = emptyDeps || !normalizedDisplayValue;\n\tconst addMissingMessage = isFieldEditableAndDependentFieldValueSet(\n\t\treadonly,\n\t\tdependentValue,\n\t\tdependentFieldLabel\n\t);\n\n\tif (hideValues) {\n\t\tvalue = '';\n\t\tnormalizedDisplayValue = '';\n\t}\n\n\tif (addMissingMessage) {\n\t\tmessages = pushInfoMessageForDependentFields(messages, dependentFieldLabel);\n\t}\n\n\treturn (\n\t\t<sn-glide-query-base\n\t\t\t{...additionalProps}\n\t\t\tvalue={value}\n\t\t\tdisplayValue={normalizedDisplayValue}\n\t\t\treadonly={isReadonly}\n\t\t\tmessages={messages}\n\t\t\tmapResults={mapResults}\n\t\t\tgetVariables={getVariables}\n\t\t\tonValueChange={onValueChange}\n\t\t\tdisableTracking\n\t\t/>\n\t);\n};\n\ncreateCustomElement('sn-record-document-id-connected', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tnormalizedDisplayValue: ''\n\t},\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Name of table this field is on.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\ttableName: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * Name of the field.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tfieldName: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * The sys_id of the current record where the field is located\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\trecordSysId: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The value of the field.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { schema: { type: 'string' }, default: '' },\n\n\t\t/**\n\t\t * DisplayValue for current component.\n\t\t * @type {string}\n\t\t */\n\t\tdisplayValue: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { schema: { type: ['string', 'boolean'] }, default: false },\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { schema: { type: ['string', 'boolean'] }, default: false },\n\n\t\t/**\n\t\t * Number of suggestions to display.\n\t\t * @type {number}\n\t\t */\n\t\tresultLimit: { schema: { type: 'number' }, default: 25 },\n\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { schema: { type: ['string', 'boolean'] }, default: false },\n\n\t\t/**\n\t\t * Flag to show when a graphQL request is in progress.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tisSearching: { schema: { type: 'boolean' } },\n\n\t\t/**\n\t\t * Results from a graphQL request\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tresults: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Dictionary attributes for the document id component.\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Props for declarative actions associated with this field.\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tdeclarativeActionsProps: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Holds serialized changes.\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: { schema: { type: 'object' } },\n\n\t\t/**\n\t\t * Name of the field that this component depends on.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentField: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The value of the dependent field. AKA the referenced table.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValue: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * The name of the table used for normalizing the display value of the dependent field\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentTableName: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The value of the dependent field. AKA the referenced table.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentValueLabel: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * Label of the field that this component depends on.\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, required: true },\n\n\t\t/**\n\t\t * Flag to indicate if it's a liveUpdate\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tisModified: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: fieldFocusHandler()\n\t\t\t}\n\t\t}\n\t]\n});\n","import { t } from 'sn-translate';\n\n// Button and Textarea names\nexport const EDIT_BTN = 'edit';\nexport const REFRESH_BTN = 'refresh';\nexport const MODAL_NOW_TEXT_AREA_NAME = 'modal-content';\n\n// Translations and messages\nexport const CANCEL_STR = t('Cancel');\nexport const EDIT_TEXT_STR = t('Edit text');\nexport const MODAL_PLACEHOLDER_STR = t('Type in HTML');\nexport const REFRESH_PREVIEW_STR = t('Refresh preview');\nexport const REQUIRED_STR = t('required');\nexport const SUBMIT_STR = t('Submit');\nexport const WIKI_FETCH_ERROR = {\n\ttype: 'error',\n\tmessage: t('Unable to load. Try refreshing the page.')\n};\nexport const EMPTY_VALUE_PLACEHOLDER = '&mdash;';\n\n// Nested external component actions\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\nexport const NOW_TEXTAREA_VALUE_SET = 'NOW_TEXTAREA#VALUE_SET';\n\n/* Component */\nexport const FETCH_WIKI_CONTENT_API = '/xmlhttp.do';\nexport const FETCH_WIKI_CONTENT_API_NAME = 'wikiToHTML';\nexport const FETCH_WIKI_CONTENT_API_PROCESSOR = 'WikiHelperAjax';\n\n// Component actions\nconst COMPONENT = 'SN_RECORD_WIKI_TEXT_CONNECTED';\nexport const CLOSE_MODAL = `${COMPONENT}#CLOSE_MODAL`;\nexport const FETCH_WIKI_CONTENT = `${COMPONENT}#FETCH_WIKI_CONTENT`;\nexport const FETCH_WIKI_CONTENT_FAILURE = `${COMPONENT}#FETCH_WIKI_CONTENT_FAILURE`;\nexport const FETCH_WIKI_CONTENT_SUCCESS = `${COMPONENT}#FETCH_WIKI_CONTENT_SUCCESS`;\nexport const SANITIZE_WIKI_CONTENT = `${COMPONENT}#SANITIZE_WIKI_CONTENT`;\nexport const STAGED_VALUE_CHANGED = `${COMPONENT}#STAGED_VALUE_CHANGED`;\nexport const VALUE_CHANGED = `${COMPONENT}#VALUE_CHANGED`;\nexport const UPDATE_VALUE = `${COMPONENT}#UPDATE_VALUE`;\n","import { isFunction, isEqual, isEmpty, includes } from 'lodash';\n\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tisAttrTrue,\n\tadaptCallbackForLegacyAPI\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tEDIT_BTN,\n\tREFRESH_BTN,\n\tWIKI_FETCH_ERROR,\n\tNOW_BUTTON_CLICKED,\n\tNOW_MODAL_OPENED_SET,\n\tNOW_TEXTAREA_VALUE_SET,\n\tFETCH_WIKI_CONTENT,\n\tFETCH_WIKI_CONTENT_API,\n\tFETCH_WIKI_CONTENT_API_NAME,\n\tFETCH_WIKI_CONTENT_API_PROCESSOR,\n\tFETCH_WIKI_CONTENT_FAILURE,\n\tFETCH_WIKI_CONTENT_SUCCESS,\n\tSANITIZE_WIKI_CONTENT,\n\tVALUE_CHANGED,\n\tUPDATE_VALUE,\n\tMODAL_NOW_TEXT_AREA_NAME\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst DOM_PARSER = new DOMParser();\nconst getContentFromXml = xmlString =>\n\tDOM_PARSER.parseFromString(xmlString, 'text/xml')\n\t\t.querySelector('xml')\n\t\t.getAttribute('answer');\n\nexport default {\n\t/* Lifecycle events */\n\t[COMPONENT_BOOTSTRAPPED]: ({\n\t\tproperties: { inlineMode, value, readonly },\n\t\tdispatch\n\t}) =>\n\t\t!isEmpty(value) &&\n\t\t(!inlineMode || isAttrTrue(readonly)) &&\n\t\tdispatch(SANITIZE_WIKI_CONTENT, {}, { isInitial: true }),\n\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties: { inlineMode }\n\t}) => {\n\t\tconst { name, value, previousValue } = action.payload;\n\n\t\t// Sanitize wiki\n\t\tif (\n\t\t\tincludes(['value', 'messages'], name) &&\n\t\t\t!isEqual(value, previousValue) &&\n\t\t\t!inlineMode\n\t\t)\n\t\t\tdispatch(SANITIZE_WIKI_CONTENT, {}, { isUpdate: true });\n\t},\n\n\t/* Nested component events */\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: ({ action, state, updateState, dispatch }) => {\n\t\t\tconst { button } = action.payload;\n\t\t\tswitch (button) {\n\t\t\t\tcase EDIT_BTN: {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tproperties: { value },\n\t\t\t\t\t\tsanitizedValue\n\t\t\t\t\t} = state;\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tshowEditModal: true,\n\t\t\t\t\t\tstagedSanitizedValue: sanitizedValue,\n\t\t\t\t\t\tstagedValue: value\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase REFRESH_BTN: {\n\t\t\t\t\tdispatch(SANITIZE_WIKI_CONTENT, {}, { isRefresh: true });\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t// According to docs, this only gets called when modal is closed\n\t// our modal's Cancel and Submit buttons also call it\n\t[NOW_MODAL_OPENED_SET]: {\n\t\teffect: ({\n\t\t\tstate: { sanitizedValue },\n\t\t\tproperties: { value },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tshowEditModal: false,\n\t\t\t\tstagedValue: value,\n\t\t\t\tstagedSanitizedValue: sanitizedValue\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[NOW_TEXTAREA_VALUE_SET]: {\n\t\teffect: ({ action, dispatch, updateState, properties: { name } }) => {\n\t\t\tconst { value, name: dispatcherName } = action.payload;\n\t\t\tif (dispatcherName === MODAL_NOW_TEXT_AREA_NAME)\n\t\t\t\tupdateState({ stagedValue: value });\n\t\t\telse dispatch(VALUE_CHANGED, { name, value });\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t/* API calls and sanitization */\n\t[FETCH_WIKI_CONTENT]: {\n\t\tinterceptors: [\n\t\t\t{\n\t\t\t\tbefore: context => {\n\t\t\t\t\tconst { action, dispatch } = context.coeffects;\n\t\t\t\t\tconst { value } = action.payload;\n\n\t\t\t\t\t// If value is empty, intercept and return empty string\n\t\t\t\t\t// This is to prevent the server from responding with \"(Wiki text empty)\"\n\t\t\t\t\tif (isEmpty(value)) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tFETCH_WIKI_CONTENT_SUCCESS,\n\t\t\t\t\t\t\t'<xml answer=\"\" />',\n\t\t\t\t\t\t\taction.meta\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn { ...context };\n\t\t\t\t\t}\n\n\t\t\t\t\tconst httpEffect = createHttpEffect(FETCH_WIKI_CONTENT_API, {\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\tbatch: false,\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdataParam: 'data',\n\t\t\t\t\t\tsuccessActionType: FETCH_WIKI_CONTENT_SUCCESS,\n\t\t\t\t\t\terrorActionType: FETCH_WIKI_CONTENT_FAILURE\n\t\t\t\t\t});\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\teffects: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t...httpEffect,\n\t\t\t\t\t\t\t\targs: [...httpEffect.args, context.coeffects]\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}\n\t\t\t}\n\t\t]\n\t},\n\n\t[FETCH_WIKI_CONTENT_SUCCESS]: {\n\t\teffect: ({ action: { payload, meta }, state, updateState }) => {\n\t\t\tconst value = getContentFromXml(payload);\n\t\t\tupdateState({\n\t\t\t\tloading: false,\n\t\t\t\tstagedLoading: false,\n\t\t\t\tsanitizedValue: meta.isRefresh ? state.sanitizedValue : value,\n\t\t\t\tstagedSanitizedValue: meta.isRefresh\n\t\t\t\t\t? value\n\t\t\t\t\t: state.stagedSanitizedValue\n\t\t\t});\n\t\t}\n\t},\n\n\t[FETCH_WIKI_CONTENT_FAILURE]: ({\n\t\tstate,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateState\n\t}) => {\n\t\tconst { stagedValue } = state;\n\t\tconst { name } = properties;\n\n\t\tupdateState({ loading: false, stagedLoading: false });\n\t\tdispatch(VALUE_CHANGED, {\n\t\t\tname,\n\t\t\tvalue: stagedValue,\n\t\t\terror: WIKI_FETCH_ERROR\n\t\t});\n\t},\n\n\t[SANITIZE_WIKI_CONTENT]: {\n\t\teffect: ({ action, state, properties, dispatch, updateState }) => {\n\t\t\tconst { isInitial, isRefresh, isUpdate } = action.meta;\n\t\t\tconst value =\n\t\t\t\tisUpdate || isInitial ? properties.value : state.stagedValue;\n\n\t\t\t// Set loading state\n\t\t\tupdateState({\n\t\t\t\tpath: isRefresh ? 'stagedLoading' : 'loading',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender:\n\t\t\t\t\tisInitial || isUpdate || !state.loading || !state.stagedLoading\n\t\t\t});\n\n\t\t\tdispatch(\n\t\t\t\tFETCH_WIKI_CONTENT,\n\t\t\t\t{\n\t\t\t\t\tvalue,\n\t\t\t\t\tdata: new URLSearchParams({\n\t\t\t\t\t\tsysparm_processor: FETCH_WIKI_CONTENT_API_PROCESSOR,\n\t\t\t\t\t\tsysparm_name: FETCH_WIKI_CONTENT_API_NAME,\n\t\t\t\t\t\tsysparm_cache_images: false,\n\t\t\t\t\t\tsysparm_value: properties.name,\n\t\t\t\t\t\tsysparm_chars: value\n\t\t\t\t\t}).toString()\n\t\t\t\t},\n\t\t\t\t{ isInitial, isRefresh, isUpdate }\n\t\t\t);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t// We purposely do not stop propagation of the event\n\t[VALUE_CHANGED]: ({ properties, action, dispatch }) => {\n\t\tconst { value, error } = action.payload;\n\t\tconst { name, onValueChange } = properties;\n\n\t\tif (isFunction(onValueChange)) {\n\t\t\tadaptCallbackForLegacyAPI(onValueChange)({ name, value, error });\n\t\t}\n\t\tdispatch('TRACK', {\n\t\t\tmetaData: { name: name, fieldType: 'wiki-text' }\n\t\t});\n\t},\n\n\t[UPDATE_VALUE]: {\n\t\teffect: ({ state: { stagedValue }, properties: { name }, dispatch }) => {\n\t\t\t// Close the modal\n\t\t\tdispatch(NOW_MODAL_OPENED_SET);\n\t\t\tdispatch(VALUE_CHANGED, { name, value: stagedValue });\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { isEmpty, mapValues, omit, toString } from 'lodash';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport '@servicenow/now-rich-text';\nimport '@servicenow/now-button';\nimport '@servicenow/now-modal';\nimport '@devsnc/sn-record-control-wrapper';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-loader';\n\nimport {\n\taccessibilityAttributes,\n\tisAttrTrue,\n\ttransformMessages,\n\twrapHelperContent\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tEDIT_BTN,\n\tREFRESH_BTN,\n\tCANCEL_STR,\n\tEDIT_TEXT_STR,\n\tMODAL_PLACEHOLDER_STR,\n\tREFRESH_PREVIEW_STR,\n\tREQUIRED_STR,\n\tSUBMIT_STR,\n\tNOW_MODAL_OPENED_SET,\n\tUPDATE_VALUE,\n\tEMPTY_VALUE_PLACEHOLDER,\n\tMODAL_NOW_TEXT_AREA_NAME\n} from './constants';\n\nconst EditButton = ({ label, ariaProperties, required }) => {\n\treturn (\n\t\t<now-button-bare\n\t\t\ticon-start=\"pencil-outline\"\n\t\t\tlabel={EDIT_TEXT_STR}\n\t\t\tvariant=\"secondary\"\n\t\t\tsize=\"md\"\n\t\t\tconfig-aria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t...mapValues(ariaProperties, toString),\n\t\t\t\t\t'aria-label': `${label}, ${EDIT_TEXT_STR}, ${\n\t\t\t\t\t\tisAttrTrue(required) ? REQUIRED_STR : ''\n\t\t\t\t\t}`,\n\t\t\t\t\t'aria-haspopup': 'dialog'\n\t\t\t\t}\n\t\t\t}}\n\t\t\tappend-to-payload={{ button: EDIT_BTN }}\n\t\t/>\n\t);\n};\n\n/**\n * This is required to get full height working on safari when window width is narrow.\n * TODO: Remove this after NDS has fixed the issue on their end. See STRY52067932\n * @param {*} param0\n */\nconst onModalInsert = ({ elm }) => {\n\tconst style = document.createElement('style');\n\tstyle.innerText = '.now-modal-dialog .now-modal-body { flex: 1 1 100% }';\n\telm.shadowRoot.appendChild(style);\n};\n\nconst EditModal = ({ state }) => {\n\tconst {\n\t\tproperties: { label, dualMode, readonly, inlineMode, configAria },\n\t\tshowEditModal,\n\t\tstagedLoading,\n\t\tstagedSanitizedValue,\n\t\tstagedValue,\n\t\tcomponentId\n\t} = state;\n\n\tif (isAttrTrue(readonly) || inlineMode) return null;\n\n\treturn (\n\t\t<now-modal\n\t\t\thook-insert={onModalInsert}\n\t\t\topened={showEditModal}\n\t\t\tsize=\"lg\"\n\t\t\theader-label={label}\n\t\t\tfooter-actions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: SUBMIT_STR,\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tclickActionType: UPDATE_VALUE\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: CANCEL_STR,\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tclickActionType: NOW_MODAL_OPENED_SET\n\t\t\t\t}\n\t\t\t]}\n\t\t>\n\t\t\t<div class={{ 'modal-content': true, 'dual-mode': dualMode }}>\n\t\t\t\t<div className=\"modal-content-input-area\">\n\t\t\t\t\t<now-textarea\n\t\t\t\t\t\tclassName=\"modal-content-textarea\"\n\t\t\t\t\t\tdisable-max-height\n\t\t\t\t\t\tname={MODAL_NOW_TEXT_AREA_NAME}\n\t\t\t\t\t\tplaceholder={MODAL_PLACEHOLDER_STR}\n\t\t\t\t\t\tresize=\"none\"\n\t\t\t\t\t\tshow-borders\n\t\t\t\t\t\tvalue={stagedValue}\n\t\t\t\t\t\tconfig-aria={{ textarea: configAria }}\n\t\t\t\t\t/>\n\t\t\t\t<\/div>\n\t\t\t\t{dualMode ? (\n\t\t\t\t\t<div className=\"modal-content-preview-area\">\n\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\tlabel={REFRESH_PREVIEW_STR}\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\ticon-start=\"sync-outline\"\n\t\t\t\t\t\t\tappend-to-payload={{ button: REFRESH_BTN }}\n\t\t\t\t\t\t\thide-padding\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PreviewArea\n\t\t\t\t\t\t\tloading={stagedLoading}\n\t\t\t\t\t\t\tvalue={stagedValue}\n\t\t\t\t\t\t\tdisplay={stagedSanitizedValue}\n\t\t\t\t\t\t\tcomponentId={`${componentId}-edit-modal`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/div>\n\t\t<\/now-modal>\n\t);\n};\n\nconst InlineArea = ({ state }) => {\n\tconst {\n\t\tproperties: {\n\t\t\treadonly,\n\t\t\tvalue,\n\t\t\tlabel,\n\t\t\trequired,\n\t\t\tmessages,\n\t\t\tinvalid,\n\t\t\thelperContent,\n\t\t\tconfigAria,\n\t\t\tfieldLayout,\n\t\t\twrapLabel\n\t\t}\n\t} = state;\n\n\treturn (\n\t\t<now-textarea\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\tlabel={label}\n\t\t\twrapLabel={wrapLabel}\n\t\t\tmessages={transformMessages(messages)}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\trequired={isAttrTrue(required)}\n\t\t\tresize=\"vertical\"\n\t\t\tvalue={value}\n\t\t\tconfig-aria={{ textarea: configAria }}\n\t\t\tfield-layout={fieldLayout}\n\t\t/>\n\t);\n};\n\nconst PreviewArea = ({\n\tloading,\n\tdisplay,\n\tlabel,\n\trequired,\n\treadonly,\n\tcomponentId\n}) => {\n\tconst richTextId = `${componentId}-rich-text`;\n\tlet readonlyContent = null;\n\tlet readonlyAria = {};\n\tlet htmlDisplay = display;\n\n\tif (readonly) {\n\t\tconst srOnlyId = `${componentId}-sr-only`;\n\n\t\treadonlyAria = {\n\t\t\t'aria-labelledby': `${srOnlyId} ${richTextId}`\n\t\t};\n\t\treadonlyContent = (\n\t\t\t<span id={srOnlyId} className=\"sr-only\">\n\t\t\t\t{`${label},${required ? ` ${REQUIRED_STR},` : ''}`}\n\t\t\t<\/span>\n\t\t);\n\t\tif (!display) {\n\t\t\thtmlDisplay = EMPTY_VALUE_PLACEHOLDER;\n\t\t}\n\t}\n\n\tif (!loading && isEmpty(htmlDisplay)) return null;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"document\"\n\t\t\tclass={{\n\t\t\t\t'preview-container': true,\n\t\t\t\tloading\n\t\t\t}}\n\t\t\ttabindex=\"0\"\n\t\t\t{...readonlyAria}\n\t\t>\n\t\t\t<div className=\"loader\">\n\t\t\t\t<now-loader />\n\t\t\t<\/div>\n\t\t\t{readonlyContent}\n\t\t\t<now-rich-text id={richTextId} html={htmlDisplay} />\n\t\t<\/div>\n\t);\n};\n\nexport default (state, { dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: {\n\t\t\treadonly,\n\t\t\tlabel,\n\t\t\tconfigAria,\n\t\t\tinlineMode,\n\t\t\trequired,\n\t\t\tformData: { showUnsavedIndicator = false } = {},\n\t\t\tshowAIIndicator,\n\t\t\tisModified\n\t\t},\n\t\tloading,\n\t\tsanitizedValue,\n\t\tcomponentId\n\t} = state;\n\n\tconst ariaProperties = {\n\t\t...configAria,\n\t\t...omit(accessibilityAttributes(properties), ['aria-required'])\n\t};\n\n\tconst isReadOnly = isAttrTrue(readonly);\n\n\tconst showPreview = sanitizedValue || (isReadOnly && !sanitizedValue);\n\n\tconst showEditButton = !(isReadOnly || inlineMode);\n\n\tif (inlineMode && !isReadOnly) {\n\t\treturn <InlineArea state={state} />;\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<sn-record-control-wrapper\n\t\t\t\t{...properties}\n\t\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\t\tshowAIIndicator={showAIIndicator}\n\t\t\t\tisModified={isModified}\n\t\t\t>\n\t\t\t\t{showEditButton && (\n\t\t\t\t\t<EditButton\n\t\t\t\t\t\tariaProperties={ariaProperties}\n\t\t\t\t\t\tinlineMode={isAttrTrue(inlineMode)}\n\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\treadonly={isReadOnly}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{showPreview && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'sn-control-field': true,\n\t\t\t\t\t\t\t'sn-record-wiki-text': true,\n\t\t\t\t\t\t\t'read-only': isReadOnly,\n\t\t\t\t\t\t\t'is-empty': !sanitizedValue\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<PreviewArea\n\t\t\t\t\t\t\tdisplay={sanitizedValue}\n\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\trequired={isAttrTrue(required)}\n\t\t\t\t\t\t\treadonly={isReadOnly}\n\t\t\t\t\t\t\tcomponentId={componentId}\n\t\t\t\t\t\t/>\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/sn-record-control-wrapper>\n\t\t\t<EditModal state={state} dispatch={dispatch} />\n\t\t<\/Fragment>\n\t);\n};\n","import { isEmpty } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { fieldLayoutSchema, trackBehavior } from '@devsnc/sn-controls-common';\nimport actionHandlers from './actions';\nimport styles from './styles.scss';\nimport view from './view';\nimport focusBehavior from '@servicenow/behavior-focus';\n\n/**\n * This component should only be used via the controlElementFactory and only within a form.\n * This component implements the wiki_text field type for workspace.\n *\n * ```jsx\n *  <sn-record-wiki-text-connected\n * \t\tlabel=\"Wiki Label\"\n * \t\tvalue=\"<p>hello world<\/p>\"\n *  />\n * ```\n *\n * @seismicElement sn-record-wiki-text-connected\n * @summary An input that allows users to enter html content sans scripts. The content is\n * sent to the server for sanitation and normalization and is then previewed from the component itself.\n */\ncreateCustomElement('sn-record-wiki-text-connected', {\n\tview,\n\tsetInitialState({ properties: { value } }) {\n\t\treturn {\n\t\t\tloading: !isEmpty(value),\n\t\t\tsanitizedValue: '',\n\t\t\tshowEditModal: false,\n\t\t\tstagedLoading: false,\n\t\t\tstagedSanitizedValue: '',\n\t\t\tstagedValue: value\n\t\t};\n\t},\n\tstyles,\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * An object whose items are all aria properties in the format 'aria-*' : 'value'\n\t\t * @type {{'aria-*': string }}\n\t\t */\n\t\tconfigAria: {},\n\t\t/**\n\t\t * Specifies whether wiki should render as dual mode.\n\t\t * In dual mode, user is given option to edit content within the modal.\n\t\t * @type {boolean}\n\t\t */\n\t\tdualMode: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Callback used when the value has changed.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Specifies whether component should display in inline mode (only shows the text entry and\n\t\t * not the sanitized formatted html). If both inlineMode and dualMode are set to true\n\t\t * only inlineMode takes effect.\n\t\t * @type {boolean}\n\t\t */\n\t\tinlineMode: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * The value for the component\n\t\t * @type {string}\n\t\t */\n\t\tvalue: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {\n\t\t\tdefault: { showUnsavedIndicator: false },\n\t\t\tschema: { type: 'object' }\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tisModified: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n","import { t } from 'sn-translate';\n// Component Specific\nexport const INCREMENT_TIMER =\n\t'SN_RECORD_TIME_WORKED_CONNECTED#INCREMENT_TIMER';\nexport const INIT_TIMER = 'SN_RECORD_TIME_WORKED_CONNECTED#INIT_TIMER';\nexport const SET_NEW_TIMER = 'SN_RECORD_TIME_WORKED_CONNECTED#SET_NEW_TIMER';\nexport const STOP_TIMER = 'SN_RECORD_TIME_WORKED_CONNECTED#STOP_TIMER';\nexport const START_TIMER = 'SN_RECORD_TIME_WORKED_CONNECTED#START_TIMER';\nexport const CLEAR_TIMER = 'SN_RECORD_TIME_WORKED_CONNECTED#CLEAR_TIMER';\nexport const TIME_WORKED_STAGED_VALUE_CHANGED =\n\t'SN_RECORD_TIME_WORKED_CONNECTED#STAGED_VALUE_CHANGED';\nexport const TIME_WORKED_VALUE_CHANGED =\n\t'SN_RECORD_TIME_WORKED_CONNECTED#VALUE_CHANGED';\nexport const OK_CLICKED = 'SN_RECORD_TIME_WORKED_CONNECTED#OK_CLICKED';\nexport const PRIVATE_UPDATE_TOTAL_TIME =\n\t'SN_RECORD_TIME_WORKED_CONNECTED#PRIVATE_UPDATE_TOTAL_TIME';\nexport const RESUME = 'RESUME';\nexport const PAUSE = 'PAUSE';\nexport const DEFAULT_EDIT_TIME_VALUE = '00 00:00:00';\nexport const DEFAULT_TIMER_VALUE = '00:00:00';\nexport const TIME_WORKED_EDIT_POPOVER = 'time-worked-edit-popover';\nexport const DEFAULT_INTERNAL_TIMER_DATA = {\n\ttimerId: undefined,\n\ttimerTicks: 0,\n\teditTimeValue: DEFAULT_EDIT_TIME_VALUE\n};\nexport const EDIT_SESSION_TIME = t('Edit session time');\nexport const RESUME_SESSION_TIME = t('Resume session time');\nexport const PAUSE_SESSION_TIME = t('Pause session time');\n\n// From other components\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const SN_RECORD_DURATION_VALUE_CHANGED =\n\t'SN_RECORD_DURATION#VALUE_CHANGED';\nexport const SN_RECORD_DURATION_STAGED_VALUE_CHANGED =\n\t'SN_RECORD_DURATION#STAGED_VALUE_CHANGED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\nexport const INCREMENT_INTERVAL = 1000;\nexport const LONG_TAB_OUT_WAIT_TIME = 10000;\n","import { TIME_WORKED_STAGED_VALUE_CHANGED } from './constants';\n// arr is in the format of [hours, minutes, seconds] as ints\n// [0, 1, 10] => \"00:01:10\"\nexport const formatTime = arr =>\n\tarr\n\t\t.map(\n\t\t\tn =>\n\t\t\t\t(n !== undefined &&\n\t\t\t\t\tn.toLocaleString(undefined, { minimumIntegerDigits: 2 })) ||\n\t\t\t\t''\n\t\t)\n\t\t.join(':');\n\n// 01 12:12:12 => 36:12:12\nexport const extractTimeFromString = (str = ' ') => {\n\tconst strFormatted = str.includes(' ') ? str : `00 ${str}`;\n\tconst [days, time] = strFormatted.split(' ');\n\tconst [hour, minute, second] = time.split(':').map(i => parseInt(i));\n\n\tconst totalHours = parseInt(days) * 24 + hour;\n\tconst result = [totalHours, minute, second];\n\treturn formatTime(result);\n};\n\n// times are strings in the format ##:##:##\nexport const addTimes = (time1, time2) => {\n\tconst [hour1, minute1, second1] = time1.split(':').map(i => parseInt(i));\n\tconst [hour2, minute2, second2] = time2.split(':').map(i => parseInt(i));\n\n\tconst resultSeconds = (second1 + second2) % 60;\n\tconst secondsCarryOver = second1 + second2 >= 60;\n\n\tconst resultMinutes = (minute1 + minute2 + secondsCarryOver) % 60;\n\tconst minutesCarryOver = minute1 + minute2 + secondsCarryOver >= 60;\n\n\tconst resultHours = hour1 + hour2 + minutesCarryOver;\n\n\tconst result = [resultHours, resultMinutes, resultSeconds];\n\n\treturn formatTime(result);\n};\n\n// Recalculates time passed when given the amount of seconds that passed (timePassed)\n// returns a new time in the format [hour, minute, second]\nexport const calculateTimePassed = (timePassed, hour, minute, second) => {\n\tlet timeLeft = Math.floor(timePassed) + hour * 3600 + minute * 60 + second; // total time to calculate\n\tconst resultHour = Math.floor(timeLeft / 3600);\n\ttimeLeft = Math.floor(timeLeft % 3600);\n\n\tconst resultMinute = Math.floor(timeLeft / 60);\n\ttimeLeft = Math.floor(timeLeft % 60);\n\n\tconst resultSecond = timeLeft;\n\n\treturn [resultHour, resultMinute, resultSecond];\n};\n\n// (12:13:15, 00:44:30) => 00:44:15\nexport const newHourAndMinute = (oldValue, newValue) => {\n\tconst [second1] = oldValue.split(':').map(i => parseInt(i));\n\tconst [hour2, minute2] = newValue.split(':').map(i => parseInt(i));\n\n\treturn formatTime([hour2, minute2, second1]);\n};\n\n// to convert \"12:12:12\" to seconds\nexport const normalizeTimeStrToSeconds = (timeStr = '00:00:00') => {\n\tconst normalized = extractTimeFromString(timeStr); // handles \"01 12:12:12\" => \"36:12:12\"\n\tconst parts = normalized.split(':');\n\tif (parts.length !== 3) return NaN;\n\n\tconst [h, m, s] = parts.map(n => parseInt(n, 10));\n\tif ([h, m, s].some(Number.isNaN)) return NaN;\n\n\treturn h * 3600 + m * 60 + s;\n};\n\n// dispatches data for forms to handle\nexport const dispatchFormData = (\n\tname,\n\tupdateState,\n\tdispatch,\n\tinitialTime,\n\tadditionalTime,\n\ttimerPaused\n) => {\n\tconst [hour, min, second] = addTimes(initialTime, additionalTime).split(':');\n\tconst days = Math.floor(hour / 24);\n\tconst leftoverHours = hour % 24;\n\n\t// We want to start on Jan 1st, 1970 before adding the time passed\n\tconst totalTime = new Date(\n\t\tDate.UTC(1970, 0, 1 + days, leftoverHours, min, second)\n\t).toUTCString();\n\n\tdispatch(TIME_WORKED_STAGED_VALUE_CHANGED, {\n\t\ttotalTime,\n\t\tisTimerRunning: !timerPaused,\n\t\tcurrentSystemTime: new Date().toString(),\n\t\tname\n\t});\n\n\tupdateState({\n\t\tpath: 'dispatchingToForms',\n\t\tvalue: true,\n\t\toperation: 'assign',\n\t\tshouldRender: false\n\t});\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tINCREMENT_TIMER,\n\tSET_NEW_TIMER,\n\tSTOP_TIMER,\n\tSTART_TIMER,\n\tCLEAR_TIMER,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tINCREMENT_INTERVAL,\n\tNOW_POPOVER_OPENED_SET,\n\tOK_CLICKED,\n\tLONG_TAB_OUT_WAIT_TIME,\n\tRESUME,\n\tPAUSE,\n\tTIME_WORKED_EDIT_POPOVER,\n\tDEFAULT_TIMER_VALUE,\n\tDEFAULT_INTERNAL_TIMER_DATA,\n\tINIT_TIMER,\n\tPRIVATE_UPDATE_TOTAL_TIME\n} from './constants';\nimport {\n\tformatTime,\n\tcalculateTimePassed,\n\tnewHourAndMinute,\n\tdispatchFormData,\n\textractTimeFromString,\n\tnormalizeTimeStrToSeconds\n} from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n/**\n * Resets the timer for the next increment\n * Makes sure to offset so that the time kept is accurate (accounts for when a pause happens)\n * Borrowed some logic from: platform's GlideTimerElement\n */\nconst setNewTimerEffect = ({ state, updateState, dispatch }) => {\n\tconst {\n\t\tinternalTimerData: { timerTicks, timerStarted, timerId: timerID },\n\t\ttimerValueUpdated\n\t} = state;\n\n\tconst diff =\n\t\tnew Date().getTime() - timerStarted - timerTicks * INCREMENT_INTERVAL;\n\t// make sure to clear the existing any pending timer, before we do settimeout.\n\tclearTimeout(timerID);\n\tif (!timerValueUpdated) {\n\t\tconst timerId = setTimeout(() => {\n\t\t\tdispatch(INCREMENT_TIMER);\n\t\t}, INCREMENT_INTERVAL - diff);\n\t\tupdateState({\n\t\t\tpath: 'internalTimerData.timerId',\n\t\t\tvalue: timerId,\n\t\t\toperation: 'assign',\n\t\t\tshouldRender: false\n\t\t});\n\t}\n};\n\nconst initTimerEffect = effect => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: { autoStart, name, readonly },\n\t\t\tinitialTime,\n\t\t\ttimerValue,\n\t\t\ttimerPaused\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t} = effect;\n\n\tif (!autoStart || readonly) {\n\t\tif (!timerPaused) {\n\t\t\tupdateState({\n\t\t\t\ttimerPaused: true\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\n\tdispatchFormData(name, updateState, dispatch, initialTime, timerValue, false);\n\tsetNewTimerEffect(effect);\n};\n\nconst incrementTimerEffect = ({ state, updateState, dispatch }) => {\n\tconst {\n\t\tinternalTimerData: { timerTicks, timerStarted },\n\t\ttimerValue,\n\t\ttimerPaused\n\t} = state;\n\tlet [hour, minute, second] = timerValue.split(':').map(n => parseInt(n));\n\n\tconst diff =\n\t\tnew Date().getTime() - timerStarted - timerTicks * INCREMENT_INTERVAL;\n\n\tif (!timerPaused) {\n\t\t// increment time by 1 second\n\t\tsecond++;\n\t\tif (second === 60) {\n\t\t\tminute++;\n\t\t\tsecond = 0;\n\t\t}\n\t\tif (minute === 60) {\n\t\t\thour++;\n\t\t\tminute = 0;\n\t\t}\n\n\t\t// Fixes random fast increments when tabbed away for a long time\n\t\tif (diff > LONG_TAB_OUT_WAIT_TIME) {\n\t\t\t[hour, minute, second] = calculateTimePassed(\n\t\t\t\tdiff / INCREMENT_INTERVAL,\n\t\t\t\thour,\n\t\t\t\tminute,\n\t\t\t\tsecond\n\t\t\t);\n\t\t}\n\t}\n\t// If recalculation happened, recalculate timer ticks, otherwise just increment timer ticks\n\tconst newTimerTicks =\n\t\tdiff > LONG_TAB_OUT_WAIT_TIME\n\t\t\t? timerTicks + Math.floor(diff / INCREMENT_INTERVAL)\n\t\t\t: timerTicks + 1;\n\n\tconst newTimeFormatted = formatTime([hour, minute, second]);\n\tupdateState([\n\t\t{ path: 'timerValue', value: newTimeFormatted, operation: 'assign' },\n\t\t{\n\t\t\tpath: 'internalTimerData.timerTicks',\n\t\t\tvalue: newTimerTicks,\n\t\t\toperation: 'assign'\n\t\t}\n\t]);\n\tdispatch(SET_NEW_TIMER);\n};\n\nconst clearTimerEffect = ({ state, updateState }) => {\n\tconst {\n\t\tinternalTimerData: { timerId }\n\t} = state;\n\tclearTimeout(timerId);\n\tconst newInternalTimerData = {\n\t\ttimerId: null,\n\t\ttimerTicks: 0,\n\t\ttimerStarted: new Date().getTime()\n\t};\n\n\tupdateState({\n\t\tpath: 'internalTimerData',\n\t\tvalue: newInternalTimerData,\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n\nconst stopTimerEffect = ({\n\tupdateState,\n\tdispatch,\n\tstate: {\n\t\tinitialTime,\n\t\ttimerValue,\n\t\tproperties: { name }\n\t}\n}) => {\n\tupdateState({ timerPaused: true });\n\tdispatchFormData(name, updateState, dispatch, initialTime, timerValue, true);\n};\n\nconst startTimerEffect = effect => {\n\tlet {\n\t\tupdateState,\n\t\tdispatch,\n\t\tstate: {\n\t\t\tinitialTime,\n\t\t\ttimerValue,\n\t\t\tproperties: { name },\n\t\t\tinternalTimerData: { timerStarted }\n\t\t}\n\t} = effect;\n\n\tupdateState({ timerPaused: false });\n\n\t// if timer was never started, set the timerStarted to now\n\tif (!timerStarted) {\n\t\ttimerStarted = new Date().getTime();\n\t\tupdateState({\n\t\t\tpath: 'internalTimerData.timerStarted',\n\t\t\tvalue: timerStarted,\n\t\t\toperation: 'assign',\n\t\t\tshouldRender: false\n\t\t});\n\t\t// Start the timer\n\t\tdispatch(SET_NEW_TIMER);\n\t}\n\tdispatchFormData(name, updateState, dispatch, initialTime, timerValue, false);\n};\n\nconst nowButtonClickedEffect = ({ action, dispatch }) => {\n\tconst { buttonType } = action.payload;\n\tswitch (buttonType) {\n\t\tcase PAUSE:\n\t\t\tdispatch(STOP_TIMER);\n\t\t\tbreak;\n\t\tcase RESUME:\n\t\t\tdispatch(START_TIMER);\n\t\t\tbreak;\n\t}\n};\n\nconst toggleEditPopoverEffect = ({ updateState, action, state }) => {\n\tconst { type, value } = action.payload;\n\tif (type === TIME_WORKED_EDIT_POPOVER) {\n\t\tconst { timerValue } = state;\n\n\t\tconst stateUpdates = [];\n\t\tif (value) {\n\t\t\tstateUpdates.push({\n\t\t\t\tpath: 'internalTimerData.editTimeValue',\n\t\t\t\tvalue: timerValue,\n\t\t\t\toperation: 'assign'\n\t\t\t});\n\t\t}\n\t\tstateUpdates.push({ path: 'popoverOpened', value, operation: 'assign' });\n\t\tupdateState(stateUpdates);\n\t}\n};\n\nconst updateTotalTimeEffect = ({ state, updateState, dispatch }) => {\n\tconst {\n\t\tdispatchingToForms,\n\t\tproperties: { initialValue, autoStart, readonly, originalValue },\n\t\ttimerValueUpdated,\n\t\tresetTimer = true,\n\t\ttimerValue,\n\t\toriginalTime\n\t} = state;\n\tif (dispatchingToForms) {\n\t\t// we don't want to update any values if the initialValue is being set via a staged_value_changed\n\t\tupdateState({\n\t\t\tpath: 'dispatchingToForms',\n\t\t\tvalue: false,\n\t\t\toperation: 'assign',\n\t\t\tshouldRender: false\n\t\t});\n\n\t\t// When the timer is set from the popover, call SET_NEW_TIMER from here to avoid timing issues.\n\t\tif (timerValueUpdated) {\n\t\t\tupdateState({ timerValueUpdated: false });\n\t\t\tdispatch(SET_NEW_TIMER);\n\t\t}\n\t} else if (originalValue !== originalTime) {\n\t\t// If the initialValue is updated via another means,\n\t\t// update the total time and reset timer.\n\t\t// This is used in Configurable workspace since saving the form there\n\t\t// doesn't re-render the components so we manually reset the component.\n\t\tconst value = extractTimeFromString(initialValue);\n\t\tupdateState({\n\t\t\tinitialTime: value,\n\t\t\tinternalTimerData: {\n\t\t\t\t...DEFAULT_INTERNAL_TIMER_DATA,\n\t\t\t\ttimerStarted: new Date().getTime()\n\t\t\t},\n\t\t\ttimerValue: resetTimer ? DEFAULT_TIMER_VALUE : timerValue,\n\t\t\tresetTimer: true,\n\t\t\ttimerPaused: !autoStart || readonly ? true : false\n\t\t});\n\t\tdispatch(INIT_TIMER);\n\t\tupdateState({\n\t\t\tpath: 'originalTime',\n\t\t\tvalue: originalValue,\n\t\t\toperation: 'assign',\n\t\t\tshouldRender: false\n\t\t});\n\t}\n};\n\nconst propertyChangedEffect = effect => {\n\tconst { state, updateState, action, dispatch } = effect;\n\tconst { name, value = {} } = action.payload;\n\tconst { liveUpdate, formData, autoStart } = state.properties;\n\tconst isSameUser =\n\t\t!value.updatedBy ||\n\t\tvalue.updatedBy.username === formData.userSession.userName;\n\tif (name === 'liveUpdate') {\n\t\tupdateState({\n\t\t\tinitialTime: extractTimeFromString(liveUpdate.value),\n\t\t\tresetTimer: isSameUser\n\t\t});\n\t} else if (name === 'formData') {\n\t\tconst t1 = normalizeTimeStrToSeconds(state.initialTime);\n\t\tconst t2 = normalizeTimeStrToSeconds(state.properties.initialValue);\n\n\t\tif (!Number.isNaN(t1) && !Number.isNaN(t2) && t1 !== t2) {\n\t\t\tdispatch(PRIVATE_UPDATE_TOTAL_TIME);\n\t\t}\n\t} else if (name === 'readonly') {\n\t\tif (value) {\n\t\t\tstopTimerEffect(effect);\n\t\t} else if (autoStart) {\n\t\t\tstartTimerEffect(effect);\n\t\t}\n\t}\n};\n\nconst valueChangedEffect = ({ state, updateState, action, dispatch }) => {\n\tconst { value } = action.payload;\n\tconst {\n\t\tinitialTime,\n\t\ttimerValue,\n\t\ttimerPaused,\n\t\tproperties: { name }\n\t} = state;\n\n\tdispatch(CLEAR_TIMER); // Clears the timer and starts a new one\n\n\tconst newValue = newHourAndMinute(timerValue, value);\n\n\tupdateState({\n\t\ttimerValue: newValue,\n\t\ttimerValueUpdated: true,\n\t\tresetTimer: true\n\t});\n\n\tdispatchFormData(\n\t\tname,\n\t\tupdateState,\n\t\tdispatch,\n\t\tinitialTime,\n\t\tnewValue,\n\t\ttimerPaused\n\t);\n\n\tdispatch('TRACK', {\n\t\tmetaData: { name: name, fieldType: 'time-worked' }\n\t});\n\n\tdispatch(SET_NEW_TIMER);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: initTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[INIT_TIMER]: {\n\t\teffect: initTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[INCREMENT_TIMER]: {\n\t\teffect: incrementTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[SET_NEW_TIMER]: {\n\t\teffect: setNewTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[STOP_TIMER]: {\n\t\teffect: stopTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[START_TIMER]: {\n\t\teffect: startTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[CLEAR_TIMER]: {\n\t\teffect: clearTimerEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: nowButtonClickedEffect,\n\t\tstopPropagation: true\n\t},\n\t[OK_CLICKED]: {\n\t\teffect: valueChangedEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_POPOVER_OPENED_SET]: {\n\t\teffect: toggleEditPopoverEffect,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: propertyChangedEffect\n\t},\n\t[PRIVATE_UPDATE_TOTAL_TIME]: {\n\t\teffect: updateTotalTimeEffect\n\t}\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport '@devsnc/sn-record-duration';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\nimport styles from './TimeWorked.scss';\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_POPOVER_OPENED_SET,\n\tOK_CLICKED,\n\tSN_RECORD_DURATION_VALUE_CHANGED,\n\tSN_RECORD_DURATION_STAGED_VALUE_CHANGED,\n\tTIME_WORKED_EDIT_POPOVER,\n\tDEFAULT_EDIT_TIME_VALUE\n} from './constants';\nimport { extractTimeFromString } from './utils';\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n// destructuring the properties object to get the editTimeValue as a string\nexport const setInitialState = ({ properties: { editTimeValue } }) => {\n\treturn {\n\t\teditTimeValue\n\t};\n};\n\nexport const actionHandlers = {\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: ({ action, dispatch, state }) => {\n\t\t\tconst { buttonType } = action.payload;\n\t\t\tconst { editTimeValue } = state;\n\t\t\tswitch (buttonType) {\n\t\t\t\tcase 'confirm-cancel':\n\t\t\t\t\tdispatch(NOW_POPOVER_OPENED_SET, {\n\t\t\t\t\t\ttype: TIME_WORKED_EDIT_POPOVER,\n\t\t\t\t\t\tvalue: false\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'confirm-ok':\n\t\t\t\t\tdispatch(OK_CLICKED, {\n\t\t\t\t\t\tvalue: extractTimeFromString(\n\t\t\t\t\t\t\teditTimeValue || DEFAULT_EDIT_TIME_VALUE\n\t\t\t\t\t\t)\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(NOW_POPOVER_OPENED_SET, {\n\t\t\t\t\t\ttype: TIME_WORKED_EDIT_POPOVER,\n\t\t\t\t\t\tvalue: false\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_DURATION_VALUE_CHANGED]: {\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_DURATION_STAGED_VALUE_CHANGED]: {\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({ action, updateState }) => {\n\t\t\tconst { name, value } = action.payload;\n\t\t\tif (name === 'editTimeValue') {\n\t\t\t\tupdateState({ editTimeValue: value });\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n\nexport const onValueChange =\n\tupdateState =>\n\t({ value }) =>\n\t\tupdateState({ editTimeValue: value });\n\nexport const view = (state, { updateState }) => {\n\tconst {\n\t\tproperties: { name },\n\t\teditTimeValue\n\t} = state;\n\treturn (\n\t\t<div className=\"time-worked-popover-content\">\n\t\t\t<sn-record-duration\n\t\t\t\tname={`${name}-time-worked-time-picker`}\n\t\t\t\tlabel={t('Edit session time')}\n\t\t\t\tvalue={editTimeValue}\n\t\t\t\tmaxUnit=\"hours\"\n\t\t\t\thideUnitLabels\n\t\t\t\tsecondsReadOnly\n\t\t\t\tseparator=\":\"\n\t\t\t\tonValueChange={onValueChange(updateState)}\n\t\t\t\tdisableTracking\n\t\t\t/>\n\t\t\t<div className=\"time-worked-confirmation\">\n\t\t\t\t<now-button\n\t\t\t\t\tappend-to-payload={{ buttonType: 'confirm-cancel' }}\n\t\t\t\t\tlabel={t('Cancel')}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t\t<now-button\n\t\t\t\t\tappend-to-payload={{ buttonType: 'confirm-ok' }}\n\t\t\t\t\tlabel={t('OK')}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst COMPONENT_NAME = 'sn-record-time-worked-popover-content';\ncreateCustomElement(COMPONENT_NAME, {\n\tview,\n\tstyles,\n\tsetInitialState,\n\tproperties: {\n\t\tname: {},\n\t\teditTimeValue: {}\n\t},\n\tactionHandlers\n});\n\nexport default COMPONENT_NAME;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport { t } from 'sn-translate';\nimport {\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\ttrackBehavior,\n\tgetAriaLabelFromConfig,\n\tfieldLayoutSchema,\n\trenderDecorations\n} from '@devsnc/sn-controls-common';\nimport { actionHandlers } from './actionHandlers';\nimport { addTimes, extractTimeFromString } from './utils';\nimport {\n\tPAUSE,\n\tRESUME,\n\tDEFAULT_TIMER_VALUE,\n\tDEFAULT_INTERNAL_TIMER_DATA,\n\tTIME_WORKED_EDIT_POPOVER,\n\tEDIT_SESSION_TIME,\n\tRESUME_SESSION_TIME,\n\tPAUSE_SESSION_TIME\n} from './constants';\nimport './TimeWorkedPopoverContent';\nimport styles from './TimeWorked.scss';\n\nexport const view = state => {\n\tconst {\n\t\tproperties,\n\t\ttimerPaused,\n\t\ttimerValue,\n\t\tpopoverOpened,\n\t\tinternalTimerData: { editTimeValue },\n\t\tinitialTime\n\t} = state;\n\tconst { readonly, name, helperContent, messages, configAria, fieldLayout } =\n\t\tproperties;\n\tconst readOnly = isAttrTrue(readonly);\n\n\tconst timeMessages = [\n\t\t...messages,\n\t\t{\n\t\t\ttype: 'info',\n\t\t\tmessage: t('Total time: {0}', addTimes(timerValue, initialTime))\n\t\t}\n\t];\n\n\treturn (\n\t\t<now-input\n\t\t\t{...properties}\n\t\t\tvalue={timerValue}\n\t\t\treadonly\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tmessages={transformMessages(timeMessages)}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tconfig-aria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...configAria,\n\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{readOnly ? null : (\n\t\t\t\t<now-popover\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\thideTail\n\t\t\t\t\tpositions={[\n\t\t\t\t\t\t{ target: 'top-center', content: 'bottom-center' },\n\t\t\t\t\t\t{ target: 'bottom-center', content: 'top-center' }\n\t\t\t\t\t]}\n\t\t\t\t\tdisableScroll\n\t\t\t\t\tmanageOpened\n\t\t\t\t\topened={popoverOpened}\n\t\t\t\t\tappend-to-payload={{ type: TIME_WORKED_EDIT_POPOVER }}\n\t\t\t\t>\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\ticon=\"pencil-outline\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tappend-to-payload={{ buttonType: 'edit' }}\n\t\t\t\t\t\ttooltipContent={EDIT_SESSION_TIME}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t'aria-label': EDIT_SESSION_TIME\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<sn-record-time-worked-popover-content\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\teditTimeValue={editTimeValue}\n\t\t\t\t\t><\/sn-record-time-worked-popover-content>\n\t\t\t\t<\/now-popover>\n\t\t\t)}\n\t\t\t{readOnly ? null : (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\ticon={timerPaused ? 'circle-play-outline' : 'circle-pause-outline'}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tbare\n\t\t\t\t\tappend-to-payload={{ buttonType: timerPaused ? RESUME : PAUSE }}\n\t\t\t\t\ttooltipContent={\n\t\t\t\t\t\ttimerPaused ? RESUME_SESSION_TIME : PAUSE_SESSION_TIME\n\t\t\t\t\t}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': timerPaused\n\t\t\t\t\t\t\t\t? RESUME_SESSION_TIME\n\t\t\t\t\t\t\t\t: PAUSE_SESSION_TIME\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{renderDecorations(properties)}\n\t\t<\/now-input>\n\t);\n};\n\nexport const setInitialState = ({\n\tproperties: { initialValue, autoStart, readonly, originalValue }\n}) => {\n\tconst initialTime = extractTimeFromString(initialValue);\n\treturn {\n\t\tinternalTimerData: {\n\t\t\t...DEFAULT_INTERNAL_TIMER_DATA,\n\t\t\ttimerStarted: !autoStart || readonly ? undefined : new Date().getTime()\n\t\t},\n\t\ttimerPaused: readonly ? true : false,\n\t\ttimerValue: DEFAULT_TIMER_VALUE,\n\t\tpopoverOpened: false,\n\t\tinitialTime,\n\t\ttimerValueUpdated: false,\n\t\toriginalTime: originalValue\n\t};\n};\n\nconst COMPONENT_NAME = 'sn-record-time-worked-connected';\n\n/**\n * This should only be used via the controlElementFactory\n *\n * @seismicElement sn-record-time-worked-connected\n * @summary A timer that ticks every second to indicate how long a user is on a form\n * The timer value can be editted. The timer can also be paused.\n * */\ncreateCustomElement(COMPONENT_NAME, {\n\tview,\n\tsetInitialState,\n\tproperties: {\n\t\t/**\n\t\t * Timer automatically starts.\n\t\t * @type {boolean}\n\t\t */\n\t\tautoStart: { default: true },\n\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t *\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * The field name\n\t\t * @type {string}\n\t\t */\n\t\tname: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Label for the component.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Flag to indicate if it's a liveUpdate\n\t\t * @type {object}\n\t\t */\n\t\tliveUpdate: {\n\t\t\tschema: { type: 'object' }\n\t\t},\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t */\n\t\tonStagedValueChange: {},\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {string | boolean}\n\t\t */\n\t\trequired: { default: false },\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * @type {string | boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Initial value for the timer input\n\t\t * @type {string}\n\t\t */\n\t\tinitialValue: { default: '0 00:00:00' },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label.\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t */\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tshowAIIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\tisModified: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Original value of the field\n\t\t * @type {string}\n\t\t */\n\t\toriginalValue: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tactionHandlers,\n\tdispatches: {},\n\tstyles,\n\tbehaviors: [trackBehavior]\n});\n\nexport default COMPONENT_NAME;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport {\n\tcreateWithValueChangeCallbackBehavior,\n\tSeismicComponentFieldPropDefaults,\n\ttrackBehavior,\n\ttransformState,\n\twithValueChangeCallbacksView\n} from '@devsnc/sn-controls-common';\n\nimport '@devsnc/sn-record-choice-connected';\nimport '@devsnc/sn-record-input-connected';\nimport '@devsnc/sn-record-auto-number-connected';\nimport '@devsnc/sn-record-code-editor';\nimport '@devsnc/sn-record-content-tree-connected';\nimport '@servicenow/now-record-number';\nimport '@devsnc/sn-record-checkbox-group';\nimport '../connectedphone/ConnectedPhone';\nimport '@devsnc/sn-record-email';\nimport '@servicenow/now-record-field-lookup-connected';\nimport '@devsnc/sn-record-currency-connected';\nimport '@devsnc/sn-record-price-connected';\nimport '@devsnc/sn-record-duration';\nimport '@devsnc/sn-record-url';\nimport '@servicenow/now-record-ip-address';\nimport '@devsnc/sn-record-version';\nimport '@devsnc/sn-record-reference-connected';\nimport '@devsnc/sn-record-user-roles-lookup-connected';\nimport '@servicenow/now-record-html-editor';\nimport '@devsnc/sn-record-file-attachment';\nimport '@devsnc/sn-record-field-list-connected';\nimport '@devsnc/sn-record-list-select';\nimport '../template-value'; //sn-record-template-value-connected\nimport '@devsnc/sn-record-tablename-connected';\nimport '../connectedfieldname/ConnectedFieldName';\nimport '../connecteddocumentid/ConnectedDocumentId';\nimport '../connectedwikitext/ConnectedWikiText';\nimport '../connectedtimeworked/TimeWorked';\n\nimport {\n\tGlideQueryBaseSeismic,\n\tqueryBaseBehavior,\n\tsetInitialQueryBaseState\n} from '@devsnc/sn-glide-query-base';\nimport NowTypeahead from '@servicenow/now-record-typeahead';\nimport NowTypeaheadMultiple from '@servicenow/now-record-typeahead-multiple';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\ncreateCustomElement('sn-glide-query-base', {\n\tview: withValueChangeCallbacksView(GlideQueryBaseSeismic),\n\tstyles: NowTypeahead.style + NowTypeaheadMultiple.style,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\n\t\t/**\n\t\t * Dictionary values and attributes for the field\n\t\t */\n\t\tdictionary: {},\n\n\t\t/**\n\t\t * results from a graphQL request\n\t\t */\n\t\tresults: {},\n\n\t\t/**\n\t\t * Callbacks for Forms consumption\n\t\t * @type {function}\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Function to get variables for datasource read.\n\t\t *\n\t\t * @param {String} input - The current value of the input\n\t\t * @return {Object?} variables - Variables passed to the datasource read\n\t\t * call. If this returns null/undefined, the read call will not be triggered.\n\t\t */\n\t\tgetVariables: {},\n\n\t\t/**\n\t\t * Maps the datasource result into arrays of options and recents, to be\n\t\t * displayed as choices in the dropdown.\n\t\t *\n\t\t * @param {Object} data - GraphQL result data\n\t\t * @return {Object} An object with the following shape:\n\t\t *\t @property {Array} recents\n\t\t *\t @property {Array} options\n\t\t *\n\t\t * Both `recents` and `options` should have the following shape:\n\t\t * @property {any} value - The underlying value for the item\n\t\t * @property {String} displayValue - User-friendly display for the item\n\t\t */\n\t\tmapResults: {\n\t\t\trequired: true\n\t\t},\n\n\t\t/**\n\t\t * Integer to set the debounce interval for hitting the api when searching reference fields\n\t\t * Defaults to 400ms\n\t\t */\n\t\tsearchDebounce: { default: 400 },\n\n\t\t/**\n\t\t * Value can be anything\n\t\t */\n\t\tvalue: {},\n\n\t\t/**\n\t\t * When true, prevent the user from typing in free-form email addresses.\n\t\t * Instead, an email must be selected from the list of available options.\n\t\t */\n\t\tdisableEmailFreeformEntry: { default: false },\n\n\t\t/**\n\t\t * displayValue can be string or number or array of values\n\t\t */\n\t\tdisplayValue: {},\n\n\t\t/**\n\t\t * Flag that switches between multiple and single value reference inputs\n\t\t */\n\t\tmultiSelection: { default: false },\n\n\t\t/**\n\t\t * Please use `disableEmailFreeformEntry` instead\n\t\t */\n\t\tnoEmail: { default: false },\n\n\t\t/**\n\t\t * Callback to show record\n\t\t */\n\t\treferenceAddon: { default: true },\n\n\t\t/**\n\t\t * Callback to launch reference list modal\n\t\t */\n\t\tsearchAddon: { default: true },\n\n\t\t/**\n\t\t * Flag to hide the reference icon\n\t\t */\n\t\thideReferenceIcon: { default: false },\n\n\t\t/**\n\t\t * Flag to show the reference icon in readonly mode\n\t\t */\n\t\treferenceAddonReadonly: { default: false },\n\n\t\t/**\n\t\t * Flag to toggle turning off display value warning\n\t\t */\n\t\tdisableDisplayValueWarning: { default: false },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t */\n\t\tformData: {},\n\n\t\t/**\n\t\t * Declarative Action props\n\t\t */\n\t\tdeclarativeActionsProps: {},\n\n\t\t/**\n\t\t * LiveUpdate info\n\t\t */\n\t\tliveUpdate: {},\n\n\t\t/**\n\t\t * Flag to indicate the results are loading\n\t\t */\n\t\tisSearching: { default: false },\n\n\t\t/**\n\t\t * Flag to Enable \"contains\" searches for reference autocompleters\n\t\t */\n\n\t\tsearchUsingStartsWith: {},\n\n\t\t/**\n\t\t * Flag to searching when clicking on field\n\t\t */\n\t\tsearchOnClick: { default: true },\n\n\t\t/**\n\t\t * Flag to including the header of dropdown\n\t\t */\n\t\tincludeHeaders: {},\n\n\t\t/**\n\t\t * The sys id cooresponding to the selected record value. Important for when\n\t\t * a reference key is used.\n\t\t */\n\t\treferenceSysId: {},\n\n\t\t/**\n\t\t * Flag to indicate parent component will handle tracking\n\t\t * @private\n\t\t */\n\t\tdisableTracking: {},\n\n\t\thighlightedValue: {},\n\n\t\t/**\n\t\t * options that represent suggestions\n\t\t * @type {{\n\t\t *   type: \"object\",\n\t\t * \t properties: {\n\t\t * \t\t sectionLabel: { type: \"string\", default: \"Top Recommendation(s)\" },\n\t\t * \t\t items: {\n\t\t * \t\t\t type: \"array\",\n\t\t * \t\t\t items: {\n\t\t * \t\t\t\t type: \"object\",\n\t\t * \t\t\t\t properties: {\n\t\t * \t\t\t\t\t value: { type: \"string\" },\n\t\t * \t\t\t\t\t displayValue: { type: \"string\" },\n\t\t * \t\t\t\t\t secondary: {\n\t\t * \t\t\t\t\t\t type: \"array\",\n\t\t * \t\t\t\t\t\t items: {\n\t\t * \t\t\t\t\t\t \t type: \"string\"\n\t\t * \t\t\t\t\t\t }\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 }\n\t\t * \t }\n\t\t * }}\n\t\t */\n\t\tsuggestions: { default: {} },\n\t\t/**\n\t\t * Field size of the component. NDS supports 'sm', 'md' sizes.\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: { type: 'string', enum: ['sm', 'md'] }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\ttransformState,\n\tsetInitialState: setInitialQueryBaseState(true),\n\tactionHandlers: [\n\t\t{\n\t\t\t'NOW_RECORD_TYPEAHEAD#VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD#STAGED_VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#VALUE_CHANGED': { stopPropagation: true },\n\t\t\t'NOW_RECORD_TYPEAHEAD_MULTIPLE#STAGED_VALUE_CHANGED': {\n\t\t\t\tstopPropagation: true\n\t\t\t}\n\t\t}\n\t],\n\tbehaviors: [trackBehavior, withValueChangeCallbackBehavior, queryBaseBehavior]\n});\n","import '@devsnc/sn-form-controls';\nimport '@devsnc/sn-declarative-actions';\nimport './seismic-components/index';\n\n// export utilities\nexport { default as controlElementFactory } from './base/controlElementFactory';\nimport { FIELD_TYPE as Types } from '@devsnc/sn-controls-common';\nexport const FieldType = Types;\n","import { t } from 'sn-translate';\n\n// Some defaults used by tinymce v4 compatibility layer\n// TODO: remove when compatibility layer gets removed\nexport const DEFAULT_MIN_HEIGHT = 300;\nexport const DEFAULT_HEIGHT = 500;\nexport const DEFAULT_MAX_HEIGHT = 600;\n\nexport const FETCH_XML = 'FETCH_XML';\nexport const FETCH_CONTENT_TREE_SUCCESS = 'FETCH_CONTENT_TREE_SUCCESS';\nexport const FETCH_CONTENT_TREE_FAILURE = 'FETCH_CONTENT_TREE_FAILURE';\nexport const FETCH_CONTENT_TREE_ERROR_MSG = t('Unable to generate Tree.');\nexport const SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#ITEM_CLICKED';\nexport const NOW_CONTENT_TREE_EXPANDED_ITEMS_SET =\n\t'NOW_CONTENT_TREE#EXPANDED_ITEMS_SET';\nexport const NOW_CONTENT_TREE_LOADING_REQUESTED =\n\t'NOW_CONTENT_TREE#LOADING_REQUESTED';\nexport const NOW_CONTENT_TREE_ITEM_CLICKED = 'NOW_CONTENT_TREE#ITEM_CLICKED';\nexport const NOW_CONTENT_TREE_SELECTED_ITEMS_SET =\n\t'NOW_CONTENT_TREE#SELECTED_ITEMS_SET';\nexport const NOW_CONTENT_TREE_ACTION_CLICKED =\n\t'NOW_CONTENT_TREE#ACTION_CLICKED';\nexport const PRIVATE_EXPANDED_ITEMS_SET = 'PRIVATE#EXPANDED_ITEMS_SET';\nexport const PRIVATE_LOADING_REQUESTED = 'PRIVATE#LOADING_REQUESTED';\nexport const SN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER =\n\t'SN_RECORD_CONTENT_TREE_POPOVER#CLOSE_POPOVER';\nexport const SELECT_SINGLE = 'single';\nexport const SELECT_MULTI = 'multi';\nexport const NO_VARIABLES_AVAILABLE = t('No variables are available');\nexport const CONFIGURE_TABLE = t(\n\t'Please add or configure a table to display values.'\n);\nexport const TABLE = t('Table');\nexport const DIVIDER_STYLES = {\n\t'margin-top': '28px',\n\t'margin-bottom': '8px'\n};\nexport const BORDER_RADIUS = '4px';\nexport const STACKED_BORDER_RADIUS = '0px';\n","import { isEqual, isFunction } from 'lodash';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { findChildPath, parseTree } from '@devsnc/sn-controls-common';\nimport {\n\tFETCH_XML,\n\tFETCH_CONTENT_TREE_SUCCESS,\n\tFETCH_CONTENT_TREE_FAILURE,\n\tFETCH_CONTENT_TREE_ERROR_MSG,\n\tSN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED,\n\tNOW_CONTENT_TREE_EXPANDED_ITEMS_SET,\n\tNOW_CONTENT_TREE_LOADING_REQUESTED,\n\tNOW_CONTENT_TREE_ITEM_CLICKED,\n\tNOW_CONTENT_TREE_SELECTED_ITEMS_SET,\n\tNOW_CONTENT_TREE_ACTION_CLICKED,\n\tPRIVATE_EXPANDED_ITEMS_SET,\n\tPRIVATE_LOADING_REQUESTED,\n\tSELECT_SINGLE,\n\tSELECT_MULTI,\n\tSN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER\n} from './constants';\nimport { propertyChangedEffect } from './effects';\nimport { t } from 'sn-translate';\n\nconst FETCH_CONTENT_TREE_API = '/xmlhttp.do';\nconst FETCH_CONTENT_TREE_PARAMS = [\n\t'sysparm_processor',\n\t'method',\n\t'sysparm_name',\n\t'sysparm_type',\n\t'sysparm_chars',\n\t'sysparm_reference',\n\t'sysparm_target',\n\t'sysparm_domain',\n\t'sysparm_query',\n\t'sysparm_dependent_value',\n\t'sysparam_path',\n\t'sysparam_item',\n\t'sysparm_scope',\n\t'sysparm_value',\n\t'sysparm_table_name',\n\t'sysparm_is_template',\n\t'sysparm_apply_template_acls',\n\t'sysparm_flag_indexed',\n\t'sysparm_include_sysid'\n];\n\nlet dispatchItemClickedWithPayload;\n\nexport const dispatchFetchXML = (state, dispatch, action) => {\n\tlet {\n\t\tproperties: { dependentValue }\n\t} = state;\n\n\tlet params = {\n\t\tsysparm_processor: 'SysMeta',\n\t\tsysparm_scope: 'global',\n\t\tsysparm_want_session_messages: true,\n\t\tsysparm_type: 'column',\n\t\tsysparm_include_sysid: true,\n\t\tsysparm_table_name: false,\n\t\tsysparm_is_template: false,\n\t\tsysparm_apply_template_acls: false,\n\t\tsysparm_value: action?.payload?.item?.class ?? dependentValue,\n\t\tsysparm_is_excluded_role: false,\n\t\tsysparm_synch: true,\n\t\tsysparm_flag_indexed: true,\n\t\tmethod: 'getTreeNodes'\n\t};\n\n\tif (action) {\n\t\tconst { item, path } = action.payload;\n\t\tdependentValue = item.id;\n\t\tparams = {\n\t\t\t...params,\n\t\t\tsysparam_item: item,\n\t\t\tsysparam_path: path\n\t\t};\n\t}\n\n\tdispatch(FETCH_XML, params);\n};\n\nconst fetchContentTreeEffect = createHttpEffect(FETCH_CONTENT_TREE_API, {\n\tmethod: 'POST',\n\tbatch: false,\n\theaders: {\n\t\t'X-WantSessionNotificationMessages': 'true',\n\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t},\n\tqueryParams: FETCH_CONTENT_TREE_PARAMS,\n\tsuccessActionType: FETCH_CONTENT_TREE_SUCCESS,\n\terrorActionType: FETCH_CONTENT_TREE_FAILURE\n});\n\nconst fetchContentTreeSuccessEffect = ({\n\tstate,\n\tupdateState,\n\taction,\n\tdispatch\n}) => {\n\tlet {\n\t\ttreeItems,\n\t\tloadingItems,\n\t\ttargetPath,\n\t\texpandedItem = [['folder_root']],\n\t\tselectedItem = [],\n\t\tproperties: { dependentValue, select },\n\t\tparentItem = {\n\t\t\tlabel: t('Fields'),\n\t\t\tid: 'folder_root',\n\t\t\tactionable: true,\n\t\t\tactions: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'folder-outline',\n\t\t\t\t\tlabel: t('Fields'),\n\t\t\t\t\tclickActionType: 'click'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'tree-view-short-outline',\n\t\t\t\t\tlabel: dependentValue,\n\t\t\t\t\tclickActionType: 'click'\n\t\t\t\t}\n\t\t\t],\n\t\t\ttableName: dependentValue\n\t\t}\n\t} = state;\n\n\tconst expandItem = action.meta.request.params.sysparam_item;\n\tconst itemPath = action.meta.request.params.sysparam_path;\n\n\tlet treeJson;\n\ttreeJson = parseTree(action.payload, parentItem);\n\tif (!expandItem?.label) {\n\t\tlet updatedNodes = [];\n\t\tupdatedNodes.unshift({\n\t\t\t...parentItem,\n\t\t\tchildren: treeJson\n\t\t});\n\t\ttreeJson = updatedNodes;\n\t}\n\n\tlet pathUpdated;\n\tlet treeIndex = 0;\n\tupdateState({\n\t\ttreeItems: treeItems\n\t});\n\tif (expandItem) {\n\t\tlet loadingItemsPath = 'loadingItems';\n\t\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\t\tlet ind = loadingItems[treeIndex].findIndex(x => isEqual(x.path, itemPath));\n\t\tif (ind !== -1) {\n\t\t\tpathUpdated = `treeItems[${treeIndex}]${findChildPath(\n\t\t\t\ttreeItems[treeIndex],\n\t\t\t\titemPath\n\t\t\t)}.`;\n\t\t\tpathUpdated =\n\t\t\t\ttreeJson.length === 0\n\t\t\t\t\t? pathUpdated + 'childrenAvailable'\n\t\t\t\t\t: pathUpdated + 'children';\n\t\t\tlet valueUpdated = treeJson.length === 0 ? 0 : treeJson;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: pathUpdated,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tvalue: valueUpdated\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: loadingItemsPath,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\toperation: 'splice',\n\t\t\t\t\tstart: ind,\n\t\t\t\t\tdeleteCount: 1\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t} else {\n\t\tpathUpdated = `treeItems[${treeIndex}]`;\n\t\tupdateState([\n\t\t\t{ path: pathUpdated, value: treeJson, operation: 'set' },\n\t\t\t{ path: 'loading', value: false, operation: 'set' }\n\t\t]);\n\t}\n\n\tlet toBeExpandedItem = -1;\n\tif (select === SELECT_SINGLE) {\n\t\ttoBeExpandedItem = treeJson.findIndex(item => item.id === targetPath[0]);\n\n\t\tupdateState({\n\t\t\tpath: 'targetPath',\n\t\t\tvalue: '',\n\t\t\toperation: 'splice',\n\t\t\tstart: 0,\n\t\t\tdeleteCount: 1\n\t\t});\n\t}\n\tif (toBeExpandedItem != -1) {\n\t\tconst selectedItemPath = Array.isArray(selectedItem[0])\n\t\t\t? selectedItem[0]\n\t\t\t: selectedItem;\n\t\tdispatch(PRIVATE_LOADING_REQUESTED, {\n\t\t\titem: treeJson[toBeExpandedItem],\n\t\t\tpath: [...selectedItemPath, treeJson[toBeExpandedItem].id]\n\t\t});\n\t\tif (targetPath.length > 1) {\n\t\t\tdispatch(PRIVATE_EXPANDED_ITEMS_SET, {\n\t\t\t\tvalue: [\n\t\t\t\t\t...expandedItem,\n\t\t\t\t\ttreeJson[toBeExpandedItem].id,\n\t\t\t\t\t[...selectedItemPath, treeJson[toBeExpandedItem].id]\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\t} else {\n\t\tdispatch(PRIVATE_EXPANDED_ITEMS_SET, {\n\t\t\tvalue: [...expandedItem]\n\t\t});\n\t}\n};\n\nconst handleLoadingRequested = ({ state, action, dispatch, updateState }) => {\n\tconst {\n\t\tproperties: { select }\n\t} = state;\n\tconst { item, path } = action.payload;\n\n\tlet loadingItemsPath = 'loadingItems';\n\tlet treeIndex = 0;\n\n\tloadingItemsPath = loadingItemsPath + `[${treeIndex}]`;\n\n\tupdateState([\n\t\t{ path: 'parentItem', value: item, operation: 'set' },\n\t\t{\n\t\t\tpath: loadingItemsPath,\n\t\t\tvalue: { path, error: false },\n\t\t\toperation: 'unshift'\n\t\t}\n\t]);\n\tif (select === SELECT_SINGLE) {\n\t\tupdateState({ path: 'selectedItem', value: [path], operation: 'set' });\n\t}\n\tdispatchFetchXML(state, dispatch, action);\n};\n\nconst handleExpandedItemsSet = ({ action, updateState }) => {\n\tupdateState({\n\t\texpandedItem: action.payload.value\n\t});\n};\n\nconst dispatchItemClicked = payload => (selectedItem, state, dispatch) => {\n\tconst {\n\t\tproperties: { select }\n\t} = state;\n\tif (select === SELECT_MULTI) {\n\t\tpayload.isSelected = false;\n\t\tfor (let i = 0; i < selectedItem.length; i++) {\n\t\t\tif (payload.value === selectedItem[i][selectedItem[i].length - 1]) {\n\t\t\t\tpayload.isSelected = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tdispatch(SN_RECORD_CONTENT_TREE_CONNECTED_ITEM_CLICKED, payload);\n};\n\nconst nowContentTreeClickedHandler = ({ action, state }) => {\n\tconst { item } = action.payload;\n\tconst {\n\t\tproperties: { referenceTable, referenceKey }\n\t} = state;\n\tlet payload;\n\tif (referenceTable === item.class) {\n\t\tpayload = {\n\t\t\tvalue: referenceKey ? item[referenceKey] : item.id,\n\t\t\tdisplayValue: item.label\n\t\t};\n\t} else {\n\t\tpayload = {\n\t\t\tvalue: referenceKey\n\t\t\t\t? state.parentItem[referenceKey]\n\t\t\t\t: state.parentItem.id,\n\t\t\tdisplayValue: state.parentItem.label\n\t\t};\n\t}\n\tdispatchItemClickedWithPayload = dispatchItemClicked(payload);\n};\n\nconst nowContentTreeSelectedItemSetHandler = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst { value } = action.payload;\n\tupdateState({\n\t\tselectedItem: value\n\t});\n\tif (isFunction(dispatchItemClickedWithPayload)) {\n\t\tdispatchItemClickedWithPayload(value, state, dispatch);\n\t}\n\tdispatchItemClickedWithPayload = undefined;\n};\n\nexport default {\n\t[FETCH_XML]: {\n\t\t...fetchContentTreeEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_SUCCESS]: {\n\t\teffect: fetchContentTreeSuccessEffect,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_CONTENT_TREE_FAILURE]: {\n\t\tstopPropagation: true,\n\t\teffect: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\terror: {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: FETCH_CONTENT_TREE_ERROR_MSG\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\t[NOW_CONTENT_TREE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_LOADING_REQUESTED]: {\n\t\teffect: handleLoadingRequested,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ITEM_CLICKED]: {\n\t\teffect: nowContentTreeClickedHandler,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_SELECTED_ITEMS_SET]: {\n\t\teffect: nowContentTreeSelectedItemSetHandler,\n\t\tstopPropagation: true\n\t},\n\t[PRIVATE_EXPANDED_ITEMS_SET]: {\n\t\teffect: handleExpandedItemsSet,\n\t\tstopPropagation: true\n\t},\n\t[PRIVATE_LOADING_REQUESTED]: {\n\t\teffect: handleLoadingRequested,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ACTION_CLICKED]: {\n\t\teffect: ({ action, state, updateState }) => {\n\t\t\tif (\n\t\t\t\tstate.popoverOpen &&\n\t\t\t\tstate.popoverTarget !== action.payload.actionTarget\n\t\t\t) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverTarget: action.payload.actionTarget,\n\t\t\t\t\tpopoverContent: JSON.parse(action.payload.action.label)\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverOpen: !state.popoverOpen,\n\t\t\t\t\tpopoverTarget: state.popoverOpen ? null : action.payload.actionTarget,\n\t\t\t\t\tpopoverContent: JSON.parse(action.payload.action.label)\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_RECORD_CONTENT_TREE_POPOVER_CLOSE_POPOVER]: {\n\t\teffect: ({ state, updateState }) => {\n\t\t\tif (state.popoverOpen) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverOpen: false,\n\t\t\t\t\tpopoverTarget: null,\n\t\t\t\t\tpopoverContent: []\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[NOW_CONTENT_TREE_ITEM_CLICKED]: {\n\t\teffect: ({ action, host }) => {\n\t\t\tif (action?.payload?.item?.nodeLabel && action?.payload?.item?.nodeName) {\n\t\t\t\tconst label =\n\t\t\t\t\taction?.payload?.item?.nodeLabel +\n\t\t\t\t\t': ${' +\n\t\t\t\t\taction?.payload?.item?.nodeName +\n\t\t\t\t\t'}';\n\t\t\t\tconst htmlEditorId = host.shadowRoot\n\t\t\t\t\t.querySelector('now-record-html-editor')\n\t\t\t\t\t?.getProperty('nowId');\n\t\t\t\tif (htmlEditorId) {\n\t\t\t\t\twindow.tinymce\n\t\t\t\t\t\t.get(`html-${htmlEditorId}`)\n\t\t\t\t\t\t.execCommand('mceInsertContent', false, label);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect\n};\n","import { isFunction } from 'lodash';\nimport { dispatchFetchXML } from './actionHandler';\n\nexport const propertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value, previousValue }\n\t},\n\tstate,\n\tdispatch\n}) => {\n\tif (name === 'dependentValue' && value !== previousValue) {\n\t\tdispatchFetchXML(state, dispatch);\n\t}\n};\n\n\nexport const editorOnResizeEffect = ({\n\tproperties: { onResize },\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t}\n}) => {\n\tif (isFunction(onResize)) {\n\t\tonResize(event);\n\t}\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport '@servicenow/now-content-tree';\nimport '@servicenow/now-record-html-editor';\nimport '@devsnc/sn-record-control-wrapper';\nimport '@servicenow/now-loader';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { t } from 'sn-translate';\nimport makeClass from 'classnames';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-resizable-panes';\n\nimport {\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tisAttrTrue,\n\ttrackBehavior,\n\tdynamicTranslationBehaviour,\n\ttranslationBehavior,\n\tisEnabledBehavior,\n\tgetBaseURL\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tDEFAULT_MIN_HEIGHT,\n\tDEFAULT_HEIGHT,\n\tDEFAULT_MAX_HEIGHT,\n\tEDITOR_SET_FOCUS,\n\tCONFIGURE_TABLE,\n\tNO_VARIABLES_AVAILABLE,\n\tTABLE,\n\tDIVIDER_STYLES\n} from './constants';\n\nimport style from './html.scss';\n\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\nimport actionHandler, { dispatchFetchXML } from './actionHandler';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { handleResizeObserverForContentTree } from './Utils';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\n/**\n * Allows users to input rich text data via [TinyMCE](http://tinymce.com).\n *\n * The parent application/component must provide a reference to a tinymce core\n * instance. When unavailable (or not provided), this component renders a\n * regular textarea.\n *\n * Note that this component is _always_ uncontrolled. Trying to control TinyMCE\n * just makes everybody sad.\n */\nconst NowHtmlScript = state => {\n\tconst {\n\t\tproperties,\n\t\ttreeItems,\n\t\tselectedItem,\n\t\texpandedItem,\n\t\tloadingItems,\n\t\tloading = true,\n\t\teditorHeight,\n\t\tstackContainer\n\t} = state;\n\n\tconst {\n\t\tdependentValue,\n\t\tselect,\n\t\tdescription,\n\t\trequired,\n\t\tinvalid,\n\t\tfieldLayout,\n\t\tdecorations,\n\t\tname,\n\t\tvalue,\n\t\treadonly,\n\t\tdependentDisplayValue,\n\t\tdependentField,\n\t\tdependentFieldLabel,\n\t\tshowUnsavedIndicator\n\t} = properties;\n\n\tconst htmlEditor = (\n\t\t<now-record-html-editor\n\t\t\t{...properties}\n\t\t\tresizable={false}\n\t\t\tvalue={value}\n\t\t\theight={editorHeight}\n\t\t/>\n\t);\n\n\tconst contentTree = (\n\t\t<div\n\t\t\tclassName={makeClass('content-tree', {\n\t\t\t\t'content-tree-readonly': readonly ? true : false\n\t\t\t})}\n\t\t>\n\t\t\t<sn-record-control-wrapper\n\t\t\t\tname={name}\n\t\t\t\tlabel={t('Select Variables')}\n\t\t\t\tdescription={description}\n\t\t\t\trequired={isAttrTrue(required)}\n\t\t\t\tinvalid={isAttrTrue(invalid)}\n\t\t\t\tfieldLayout={fieldLayout}\n\t\t\t\tdecorations={decorations}\n\t\t\t\tshowUnsavedIndicator={showUnsavedIndicator}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={makeClass('content-tree-css-parent', {\n\t\t\t\t\t\t'content-tree-css-parent-resize': true,\n\t\t\t\t\t\t'content-tree-css-border': !stackContainer\n\t\t\t\t\t})}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: `${DEFAULT_MAX_HEIGHT}px`,\n\t\t\t\t\t\tminHeight: `${DEFAULT_MIN_HEIGHT}px`,\n\t\t\t\t\t\theight: `${DEFAULT_HEIGHT}px`\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{dependentField && dependentValue ? (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"content-table-name\">\n\t\t\t\t\t\t\t\t{TABLE} : {dependentDisplayValue}\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t\t\t\t<div className=\"loader-container\">\n\t\t\t\t\t\t\t\t\t\t<now-loader />\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t!readonly && (\n\t\t\t\t\t\t\t\t\t\t<now-content-tree\n\t\t\t\t\t\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\t\t\t\t\t\titems={treeItems[0]}\n\t\t\t\t\t\t\t\t\t\t\toverflow={'truncate'}\n\t\t\t\t\t\t\t\t\t\t\tsize={'md'}\n\t\t\t\t\t\t\t\t\t\t\tselected-items={selectedItem}\n\t\t\t\t\t\t\t\t\t\t\texpanded-items={expandedItem}\n\t\t\t\t\t\t\t\t\t\t\tloading-items={loadingItems[0]}\n\t\t\t\t\t\t\t\t\t\t\tshowDividers={true}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"content-tree-css\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\theight: `${editorHeight}px`\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<\/Fragment>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"content-tree-no-variable\">\n\t\t\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\t\t\theading={{ label: NO_VARIABLES_AVAILABLE, level: '3' }}\n\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\tdependentField\n\t\t\t\t\t\t\t\t\t\t? t('Select {0}, to add variables.', dependentFieldLabel)\n\t\t\t\t\t\t\t\t\t\t: CONFIGURE_TABLE\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/sn-record-control-wrapper>\n\t\t<\/div>\n\t);\n\n\treturn readonly ? (\n\t\thtmlEditor\n\t) : (\n\t\t<div className={'content-tree-container-resizable'}>\n\t\t\t{stackContainer ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<now-resizable-panes\n\t\t\t\t\t\tdefaultDividerPosition={70}\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tdividerStyles={DIVIDER_STYLES}\n\t\t\t\t\t\tleft-pane-constraints='{\"minRatio\":40}'\n\t\t\t\t\t\tright-pane-constraints='{\"minRatio\":30}'\n\t\t\t\t\t>\n\t\t\t\t\t\t<div slot=\"left\">{htmlEditor}<\/div>\n\t\t\t\t\t\t<div slot=\"right\">{contentTree}<\/div>\n\t\t\t\t\t<\/now-resizable-panes>\n\t\t\t\t<\/Fragment>\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{htmlEditor}\n\t\t\t\t\t{contentTree}\n\t\t\t\t<\/Fragment>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nexport default NowHtmlScript;\n\n/**\n *\n * HTML Script Editor Component that uses TinyMCE.\n * TinyMCE for the most part, does not support incremental rendering.\n * Attempting to modify certain properties may or may not have expected or desired behavior.\n *\n * ```jsx\n * <now-record-html-script\n *\t label=\"Enter some HTMLs\"\n *\t value=\"<b>Hello<\/b> <i>World<\/i>\"\n * />\n * ```\n *\n * @seismicElement now-record-html-script\n * @summary HTML Editor Component that uses TinyMCE\n *\n * */\ncreateCustomElement('now-record-html-script', {\n\tview: withValueChangeCallbacksView(NowHtmlScript),\n\tstyles: style,\n\tactionHandlers: {\n\t\t...actionHandler,\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({ state, dispatch, updateState }) {\n\t\t\t\tlet value = [[]];\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'targetPath',\n\t\t\t\t\tvalue: value[0],\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t\tdispatchFetchXML(state, dispatch);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect({ host, updateState }) {\n\t\t\t\thandleResizeObserverForContentTree(host, updateState);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect({\n\t\t\t\tstate: { resizeObserver, resizeObserverForParentContainer },\n\t\t\t\tupdateState\n\t\t\t}) {\n\t\t\t\tresizeObserver.disconnect();\n\t\t\t\tresizeObserverForParentContainer.disconnect();\n\t\t\t\tupdateState({\n\t\t\t\t\tresizeObserver: null,\n\t\t\t\t\tresizeObserverForParentContainer: null\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\tproperties: {\n\t\tcomponentId: {},\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting. When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Image upload handler appends ZZ_YY prefix for the table by default while uploading and this prop is used to control the append behavior.\n\t\t * @type {boolean}\n\t\t */\n\t\tignoreInlineAttachmentPrefix: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * This option allows you to specify the size of the padding at the bottom of the editor’s body set on initialization when autoresize plugin is enabled.\n\t\t * @type {number}\n\t\t * @see [autoresize_bottom_margin](https://www.tiny.cloud/docs/plugins/opensource/autoresize/#autoresize_bottom_margin)\n\t\t *\n\t\t */\n\t\tautoresizeBottomMargin: { schema: { type: 'number' } },\n\t\t/**\n\t\t * The number of lines until texteditor should be autoresized when 'autoresize' property is set to true.\n\t\t * @type {number}\n\t\t */\n\t\tautoresizeLineLimit: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Experimental feature. This is used to swap divs with spans when inside anchors.\n\t\t * Although using divs inside anchors is valid HTML5, tinymcev5 does not support it.\n\t\t * This is a workaround.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowBlockBasedAnchors: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * TinyMCE config browser_spellcheck. Set to true to utilize the browser's native spell check functionality.\n\t\t * @see [browser_based_spellchecking](https://www.tiny.cloud/docs/general-configuration-guide/spell-checking/#browser-basedspellchecking)\n\t\t * @type {boolean}\n\t\t **/\n\t\tbrowserSpellcheck: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * TinyMCE config content_style. CSS string to style editable area. This does _not_ affect the output html.\n\t\t * @see [content_style](https://www.tiny.cloud/docs/configure/content-appearance/#content_style)\n\t\t * @type {string}\n\t\t */\n\t\tcontentStyle: { default: '' },\n\t\t/**\n\t\t * TinyMCE config convert_urls\n\t\t * @see [convert_urls](https://www.tiny.cloud/docs/configure/url-handling/#convert_urls)\n\t\t * @type {boolean}\n\t\t */\n\t\tconvertUrls: { default: false },\n\t\t/**\n\t\t * TinyMCE config extended_valid_elements\n\t\t * @see [extended_valid_elements](https://www.tiny.cloud/docs/configure/content-filtering/#extended_valid_elements)\n\t\t * @type {string}\n\t\t */\n\t\textendedValidElements: { default: '' },\n\t\t/**\n\t\t * TinyMCE config font_family_formats. List of fonts to enable.\n\t\t * @type {string}\n\t\t * @see [TinyMCE_font_configuration](https://www.tiny.cloud/docs/tinymce/latest/user-formatting-options/#font_family_formats)\n\t\t */\n\t\tfonts: {\n\t\t\tdefault:\n\t\t\t\t'Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Journal=journal;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats;'\n\t\t},\n\t\t/**\n\t\t * TinyMCE config min_height. The minimum height of editor including the toolbar.\n\t\t * @type {number}\n\t\t * @see [min_height](https://www.tiny.cloud/docs/configure/editor-appearance/#min_height)\n\t\t */\n\t\tminHeight: { default: DEFAULT_MIN_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config max_height. The maximum height of editor including the toolbar\n\t\t * @type {number}\n\t\t * @see [max_height](https://www.tiny.cloud/docs/configure/editor-appearance/#max_height)\n\t\t */\n\t\tmaxHeight: { default: DEFAULT_MAX_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config toolbar.\n\t\t * @see [TinyMCE toolbar configuration](https://www.tiny.cloud/docs/configure/editor-appearance/#toolbar)\n\t\t * @type {Array<string>|string|boolean} for boolean, only false is supported\n\t\t */\n\t\ttoolbar: {\n\t\t\tdefault:\n\t\t\t\t'bold italic underline undo redo | fontfamily fontsize table | forecolor backcolor link unlink | code | alignleft aligncenter alignright | bullist numlist fullscreen'\n\t\t},\n\t\t/**\n\t\t * TinyMCE config relativeUrls\n\t\t * @see [relative_urls](https://www.tiny.cloud/docs/configure/url-handling/#relative_urls)\n\t\t * @type {boolean}\n\t\t */\n\t\trelativeUrls: { default: true },\n\t\t/**\n\t\t * TinyMCE config remove_script_host\n\t\t * @see [remove_script_host](https://www.tinymce.com/docs/configure/url-handling/#remove_script_host)\n\t\t * @type {boolean}\n\t\t */\n\t\tremoveHost: { default: true },\n\t\t/**\n\t\t * TinyMCE config placeholder. Placeholder string when there is no value\n\t\t * @see [placeholder](https://www.tiny.cloud/docs/configure/editor-appearance/#placeholder)\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * This setting controls how content pasted from sources other than Microsoft Word is filtered.\n\t\t * @type {string}\n\t\t * @see [power_paste_html_import](https://www.tiny.cloud/docs/plugins/powerpaste/#powerpaste_html_import)\n\t\t */\n\t\tpowerPasteHtmlImport: { default: 'clean' },\n\t\t/**\n\t\t * This setting controls how content pasted from Microsoft Word is filtered.\n\t\t * @type {string}\n\t\t * @see [power_paste_word_import](https://www.tiny.cloud/docs/plugins/powerpaste/#powerpaste_word_import)\n\t\t */\n\t\tpowerPasteWordImport: { default: 'prompt' },\n\t\t/**\n\t\t * This property allows the user to set a default target value for links when inserting/editing\n\t\t * a link via the link dialog. It can take one of four values: ['_blank', '', '_self', '_top']\n\t\t * @type {string}\n\t\t */\n\t\tdefaultLinkTarget: { default: '' },\n\t\t/**\n\t\t * Client-side HTML editor has its own context menu,\n\t\t * overriding the browser's. Holding Ctrl while right-clicking\n\t\t * bypasses the editor's context menu to show the native context menu.\n\t\t\tThis property specifies which context menu options are available.\n\t\t\tDefault value is \"link image table\" (without quotes).\n\t\t\tA value of \"false\" (without quotes) disables the editor's context menu.\n\t\t */\n\t\tcontextmenu: { default: 'link image table' },\n\t\t/**\n\t\t * List of plugins to enable. Note that TinyMCE will lazy-load these plugins\n\t\t * at runtime, so the corresponding plugin files must be hosted by the app\n\t\t * for this to work propertly.\n\t\t * @see [plugins](https://www.tiny.cloud/docs/configure/integration-and-setup/#plugins)\n\t\t * @type {string}\n\t\t */\n\t\tplugins: {\n\t\t\tdefault:\n\t\t\t\t'accordion link lists advlist table powerpaste searchreplace preview fullscreen placeholder readonlynoborder'\n\t\t},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @see [readonly](https://www.tiny.cloud/docs/configure/integration-and-setup/#readonly)\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/*\n\t\t * ====================================================================================\n\t\t * NOTE: Below are custom service now properties not directly passed to tinymce\n\t\t * ====================================================================================\n\t\t */\n\n\t\t/**\n\t\t * Settings for mentions plugin\n\t\t *\n\t\t * Shape\n\t\t *\n\t\t * `type:boolean` enableMentions - Flag that needs to be true in order for the mentions to be enabled\n\t\t *\n\t\t * `type:function` fetch - Function that takes in a query and returns a promise. This promise should resolve with the mentions suggestions\n\t\t *\n\t\t * `type:string` table - Table where the mentions user exists\n\t\t *\n\t\t * `type:string` resourceTable - Table to check ACLs against when using the default AtMentionsService endpoint.\n\t\t *\n\t\t * `type:string` resourceSysId - The sys_id of the element to check ACLs against when using the default AtMentionsService endpoint.\n\t\t *\n\t\t * `type:{loading: string,noMatches: string,init: string}`messages - Messages to be displayed when mentions list appears\n\t\t * @type {{ enableMentions: boolean, fetch: function, table: string, resourceTable: string,resourceSysId: string, messages: {loading: string,noMatches: string,init: string}}}\n\t\t */\n\t\tconfigMentions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableMentions: { type: 'boolean' },\n\t\t\t\t\tfetch: { type: 'object' },\n\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\tresourceTable: { type: 'string' },\n\t\t\t\t\tresourceSysId: { type: 'string' },\n\t\t\t\t\tmessages: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tloading: { type: 'string' },\n\t\t\t\t\t\t\tnoMatches: { type: 'string' },\n\t\t\t\t\t\t\tinit: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Whether to wrap the value in [code] blocks (For journal entry fields)\n\t\t * @type {boolean}\n\t\t */\n\t\tenableCodeBlocks: { default: false },\n\t\t/**\n\t\t * Whether we want mentions to be enabled or not.\n\t\t * @deprecated Use configMentions.enableMentions.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tenableMentions: { default: false },\n\t\t/**\n\t\t * Settings for mentions plugin\n\t\t */\n\t\tmentions: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * Whether the field is a journal input field or not.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tisJournal: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * Stringified object containing tinymce menubar configurations\n\t\t * Is deprecated, and will be removed after Zurich. For all similar\n\t\t * purposes, use htmlEditorConfigs.\n\t\t * @type {string}\n\t\t */\n\t\tmenuConfigs: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Stringified object containing tinymce configurations from sys_script_include script\n\t\t * @type {string}\n\t\t */\n\t\thtmlEditorConfigs: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * The initial number of lines that should be visible in the editor.\n\t\t * Also sets minHeight if not already defined\n\t\t * @type {number}\n\t\t * @deprecated Will be removed in future version. Please use minHeight and height instead, you can approximate equivalent height as follows: (minLineCount * 24) + 11.\n\t\t */\n\t\tminLineCount: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonBlur: {},\n\t\t/**\n\t\t * onFocus event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonFocus: {},\n\t\t/**\n\t\t * onResize event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonResize: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t * `type:object` event - The event payload\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t * `type:any` event.value - The new value for the component\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * `type:string` event.error.type - Error type\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\t\t/**\n\t\t * Table used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringTable: {},\n\t\t/**\n\t\t * sys_id of the record used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringRecordId: {},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * When rendering a html-script, whether or not to show the resize handle.\n\t\t * @type {boolean}\n\t\t */\n\t\tresizable: { default: true },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * When provided, allows whitelisting specific buttons for the toolbar. This\n\t\t * prop should be a comma-separated string of allowed buttons.\n\t\t *\n\t\t * When omitted, any toolbar button supported by TinyMCE can be rendered (via\n\t\t * the `toolbar` prop).\n\t\t * @type {string}\n\t\t */\n\t\tvalidButtons: {},\n\t\t/**\n\t\t * When provided, allows whitelisting specific plugins. This\n\t\t * prop should be a comma-separated string of allowed plugins.\n\t\t *\n\t\t * When omitted, any plugin supported by TinyMCE can be loaded (via\n\t\t * the `plugins` prop).\n\t\t * @type {string}\n\t\t */\n\t\tvalidPlugins: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * BaseURL of the instance, used in case of embeddables flow, otherwise it will be empty.\n\t\t * @type {string}\n\t\t */\n\t\tbaseURL: { default: getBaseURL() },\n\t\t/**\n\t\t * Controls the set of colors to use for the content area.\n\t\t *\n\t\t * The variant names refer to the color of the background on the default theme, but the actual colors may vary\n\t\t * if another theme is applied.\n\t\t *\n\t\t * The following variants are available:\n\t\t * `neutral`, `yellow`, `magenta`, `pink`, `orange`, `brown`, `green`, `green-yellow` and `blue`.\n\t\t *\n\t\t * Any other values will default to `neutral`.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvariant: { default: 'neutral' },\n\t\t/**\n\t\t * Whether to wrap the value in [code] blocks (For journal entry fields).\n\t\t * please use `enableCodeBlocks` instead\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tuseCodeBlocks: { default: false },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Dictionary attributes to show condition count and to restrict\n\t\t * fields in dot-walk\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Whether to convert the image blobs to base 64\n\t\t * by default we will convert to base64\n\t\t * @type {boolean}\n\t\t */\n\t\tconvertBlobsToBase64: { default: true },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * This setting controls the filtering of inline elements while pasting from MS Word to editor.\n\t\t * @type {string}\n\t\t * @see [powerpaste_clean_filtered_inline_elements](https://www.tiny.cloud/docs/plugins/premium/powerpaste/#powerpaste_clean_filtered_inline_elements)\n\t\t */\n\t\tpowerPasteFilterInlineElements: { default: 'strong, b' },\n\t\t/**\n\t\t * Allows to re-dispatch the VALUE_CHANGED event every time the stage value is modified\n\t\t * and the component is blurred even if the value matches the last dispatched VALUE_CHANGED event.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowFieldChangesAfterEveryStageChange: { default: false },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Whether to show the AI indicator on the field\n\t\t * @type {boolean}\n\t\t */\n\t\tshowAIIndicator: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Whether the field value has been modified\n\t\t * @type {boolean}\n\t\t */\n\t\tisModified: { schema: { type: 'boolean', default: false } },\n\t\t/**\n\t\t * Flag that indicates whether the component fits to its parent's height. When true, the component is grown to its parent's height. Default: false.\n\t\t * @type {boolean}\n\t\t */\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies processor and other properties to be used for http request.\n\t\t * @type {object}\n\t\t */\n\t\ttreePickerConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Name of table where content tree is used.\n\t\t * @type {string}\n\t\t */\n\t\ttableName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Field which is rendered as content tree.\n\t\t * @type {string}\n\t\t */\n\t\tfieldName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Dependent field for the fieldName: Value of fieldName depends on dependentField.\n\t\t * @type {string}\n\t\t */\n\t\tdependentField: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent value for the record\n\t\t * @type {string}\n\t\t */\n\t\tdependentValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent Field Label for the record\n\t\t * @type {string}\n\t\t */\n\t\tdependentFieldLabel: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Dependent Display Value for the record\n\t\t * @type {string}\n\t\t */\n\t\tdependentDisplayValue: { schema: { type: 'string' }, default: '' },\n\t\t/**\n\t\t * Reference table for fieldName.\n\t\t * @type {string}\n\t\t */\n\t\treferenceTable: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Key to use for the underlying value instead of sys_id\n\t\t * @type {string}\n\t\t */\n\t\treferenceKey: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Used in domain separation.\n\t\t * @type {string}\n\t\t */\n\t\tdomainId: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Query containting value for all parameter.\n\t\t * @type {string}\n\t\t */\n\t\tquery: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t *\n\t\t * @type {object}\n\t\t * @private\n\t\t */\n\t\tformData: {},\n\t\t/**\n\t\t * select type with which the tree picker loads with.\n\t\t * @type {string}\n\t\t */\n\t\tselect: {\n\t\t\tdefault: 'single',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['single', 'multi', 'none']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines if the field label should wrap or truncate when space is limited.\n\t\t * When true, the label will wrap to the next line. When false, the label will truncate.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\n\t\t/**\n\t\t * Background color variant for the field\n\t\t * @type {('initial'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'blue'|'brown'|'gray'|'green'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal'|'yellow')}\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'yellow'\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/** Determines the newline behavior for the editor.\n\t\t * This option helps to adjust what happens when Enter or Return is pressed\n\t\t * @type {string}\n\t\t * @see [newline_behavior](https://www.tiny.cloud/docs/tinymce/latest/content-behavior-options/#newline_behavior)\n\t\t * It can have one of four values: ['default', 'block', 'linebreak', 'invert']\n\t\t */\n\t\tnewlineBehavior: {\n\t\t\tdefault: 'default',\n\t\t\tschema: { type: 'string' }\n\t\t}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot located at the start of the label.\n\t\t */\n\t\t'controls-label-start': {}\n\t},\n\tinitialState: {\n\t\ttreeItems: [[], []],\n\t\tloadingItems: [[], []],\n\t\tresizeObserver: null,\n\t\tresizeObserverForParentContainer: null,\n\t\teditorHeight: DEFAULT_HEIGHT,\n\t\tstackContainer: true\n\t},\n\ttransformState,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the intermediate value has changed.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_SCRIPT#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_SCRIPT#VALUE_CHANGED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{ behavior: translationBehavior },\n\t\t{ behavior: isEnabledBehavior },\n\t\t{ behavior: dynamicTranslationBehaviour },\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: function (host, dispatch) {\n\t\t\t\t\tdispatch(EDITOR_SET_FOCUS);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t]\n});\n","import { debounce } from 'lodash';\nimport { DEFAULT_MAX_HEIGHT, DEFAULT_MIN_HEIGHT } from './constants';\n\nexport function handleResizeObserverForContentTree(host, updateState) {\n\tlet stackContainer = true;\n\tconst DEBOUNCER_DELAY = 200;\n\tconst el = host.shadowRoot.querySelector('.content-tree-css-parent');\n\tconst parentEl = host.shadowRoot.querySelector(\n\t\t'.content-tree-container-resizable'\n\t);\n\n\tlet resizeObserverDebounced = debounce(entries => {\n\t\tupdateState({\n\t\t\teditorHeight: Math.max(\n\t\t\t\tDEFAULT_MIN_HEIGHT,\n\t\t\t\tMath.min(DEFAULT_MAX_HEIGHT, parseInt(entries[0].target.offsetHeight))\n\t\t\t)\n\t\t});\n\t}, DEBOUNCER_DELAY);\n\n\tlet resizeObserverForParentContainerDebounced = debounce(entries => {\n\t\tconst parentWidth = entries[0].target.offsetWidth;\n\n\t\tif (parentWidth < 500) {\n\t\t\tstackContainer = false;\n\t\t} else {\n\t\t\tstackContainer = true;\n\t\t}\n\t\tconst contentTreeParentDiv = host.shadowRoot.querySelector(\n\t\t\t'.content-tree-css-parent'\n\t\t);\n\t\tconst htmlEditorId = host.shadowRoot\n\t\t\t.querySelector('now-record-html-editor')\n\t\t\t?.getProperty('nowId');\n\n\t\tif (htmlEditorId) {\n\t\t\tconst editor = window.tinymce.get(`html-${htmlEditorId}`);\n\t\t\tif (editor) {\n\t\t\t\tconst container = editor.editorContainer;\n\t\t\t\tif (contentTreeParentDiv) {\n\t\t\t\t\tcontentTreeParentDiv.classList.toggle('is-stacked', stackContainer);\n\t\t\t\t}\n\t\t\t\tif (container) {\n\t\t\t\t\tcontainer.classList.toggle('is-stacked', stackContainer);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tupdateState({\n\t\t\tstackContainer,\n\t\t\teditorHeight: host.shadowRoot.querySelector('.content-tree-css-parent')\n\t\t\t\t.offsetHeight\n\t\t});\n\t}, DEBOUNCER_DELAY);\n\n\tupdateState({\n\t\tresizeObserverForParentContainer: new ResizeObserver(\n\t\t\tresizeObserverForParentContainerDebounced\n\t\t).observe(parentEl),\n\t\tresizeObserver: new ResizeObserver(resizeObserverDebounced).observe(el),\n\t\tstackContainer,\n\t\tshouldRender: false\n\t});\n}\n","import { isFunction } from 'lodash';\nimport makeClass from 'classnames';\n\nimport { hasProp } from '@devsnc/sn-controls-common';\nimport { createSlot, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-text-link';\n\nexport const handleRef = innerRef => node => {\n\tif (isFunction(innerRef)) {\n\t\tinnerRef(node);\n\t}\n};\n\nconst renderLegacyLink = (properties, children) => {\n\tconst {\n\t\tinnerRef,\n\t\tvariant,\n\t\tsize,\n\t\tconfigAria,\n\t\thref,\n\t\ttarget,\n\t\trel,\n\t\trole,\n\t\tcomponentId,\n\t\tslot,\n\t\treadonly\n\t} = properties;\n\tconst className = makeClass('sn-record-link', {\n\t\t[`-${variant}`]: variant,\n\t\t[`-${size}`]: size\n\t});\n\n\tconst ariaDescribedby =\n\t\tconfigAria && configAria['aria-describedby']\n\t\t\t? configAria['aria-describedby']\n\t\t\t: properties.ariaDescribedby;\n\n\tconst ariaLabel =\n\t\tconfigAria && configAria['aria-label']\n\t\t\t? configAria['aria-label']\n\t\t\t: properties.ariaLabel;\n\n\tconst ariaLabelledby =\n\t\tconfigAria && configAria['aria-labelledby']\n\t\t\t? configAria['aria-labelledby']\n\t\t\t: properties.ariaLabelledby;\n\n\treturn (\n\t\t<a\n\t\t\thref={href}\n\t\t\ttarget={target}\n\t\t\trel={rel}\n\t\t\trole={role}\n\t\t\tid={componentId}\n\t\t\tslot={slot}\n\t\t\tclassName={className}\n\t\t\tref={handleRef(innerRef)}\n\t\t\taria-describedby={ariaDescribedby}\n\t\t\taria-label={ariaLabel}\n\t\t\taria-labelledby={ariaLabelledby}\n\t\t\taria-disabled={hasProp(readonly)}\n\t\t>\n\t\t\t<span>{children ? createSlot(children) : <slot><\/slot>}<\/span>\n\t\t<\/a>\n\t);\n};\n\nconst renderTextLink = properties => {\n\tconst { variant, configAria, href, opensWindow, label, iconEnd, iconStart } =\n\t\tproperties;\n\treturn (\n\t\t<now-text-link\n\t\t\topensWindow={opensWindow}\n\t\t\thref={href}\n\t\t\tlabel={label}\n\t\t\tvariant={variant}\n\t\t\ticonEnd={iconEnd}\n\t\t\ticonStart={iconStart}\n\t\t\tconfigAria={{ link: configAria }}\n\t\t><\/now-text-link>\n\t);\n};\n\n/**\n * Renders a hyperlink\n */\nconst SNLink = (state, children) => {\n\tconst {\n\t\tproperties,\n\t\tproperties: { legacy }\n\t} = state;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{legacy\n\t\t\t\t? renderLegacyLink(properties, children)\n\t\t\t\t: renderTextLink(properties)}\n\t\t<\/Fragment>\n\t);\n};\n\nexport default SNLink;\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport {\n\tcheckAutofocus,\n\tSeismicComponentFieldPropDefaults,\n\tSeismicComponentProps\n} from '@devsnc/sn-controls-common';\nimport SNLink from './SNLink';\nimport style from './link.scss';\nimport { isFunction } from 'lodash';\nimport focusBehavior from '@servicenow/behavior-focus';\nconst { COMPONENT_RENDERED } = actionTypes;\n\nexport const actionHandlers = {\n\t[COMPONENT_RENDERED]: ({ host, properties: { autofocus } }) => {\n\t\tconst anchor = host.shadowRoot.querySelector('a');\n\t\tcheckAutofocus(autofocus, anchor);\n\t}\n};\n\nexport const eventHandlers = [\n\t{\n\t\tevents: [\n\t\t\t'click',\n\t\t\t'mouseenter',\n\t\t\t'mouseleave',\n\t\t\t'focus',\n\t\t\t'blur',\n\t\t\t'keydown',\n\t\t\t'keyup',\n\t\t\t'keypress'\n\t\t],\n\t\teffect: ({ action, properties }) => {\n\t\t\tconst event = action.payload?.event;\n\t\t\tconst {\n\t\t\t\tonClick,\n\t\t\t\tonMouseEnter,\n\t\t\t\tonMouseLeave,\n\t\t\t\tonFocus,\n\t\t\t\tonBlur,\n\t\t\t\tonKeyDown,\n\t\t\t\tonKeyUp,\n\t\t\t\tonKeyPress\n\t\t\t} = properties;\n\n\t\t\tconst eventMap = {\n\t\t\t\tclick: onClick,\n\t\t\t\tmouseenter: onMouseEnter,\n\t\t\t\tmouseleave: onMouseLeave,\n\t\t\t\tfocus: onFocus,\n\t\t\t\tblur: onBlur,\n\t\t\t\tkeydown: onKeyDown,\n\t\t\t\tkeyup: onKeyUp,\n\t\t\t\tkeypress: onKeyPress\n\t\t\t};\n\n\t\t\tconst handler = eventMap[event.type];\n\t\t\tif (isFunction(handler)) handler(event);\n\t\t}\n\t}\n];\n\ncreateCustomElement('sn-record-link', {\n\tview: SNLink,\n\tstyles: style,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t...SeismicComponentProps,\n\n\t\t/**\n\t\t * [URL that is linked to](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href)\n\t\t */\n\t\thref: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * [Where to display URL](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target)\n\t\t */\n\t\ttarget: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * [Relationship of target object](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-rel)\n\t\t */\n\t\trel: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * ARIA role\n\t\t */\n\t\trole: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Size of the link\n\t\t */\n\t\tsize: {},\n\n\t\t/**\n\t\t * Style variant\n\t\t */\n\t\tvariant: {},\n\n\t\t/**\n\t\t * Optional accessibility parameter\n\t\t */\n\t\tariaLabel: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Optional accessibility parameter\n\t\t */\n\t\tariaDescribedby: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * Optional accessibility parameter\n\t\t */\n\t\tariaLabelledby: { schema: { type: 'string' } },\n\n\t\t/**\n\t\t * @type {{'aria-*': string}}\n\t\t */\n\t\tconfigAria: {},\n\t\t/**\n\t\t * onClick event callback\n\t\t */\n\t\tonClick: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onMouseEnter event callback\n\t\t */\n\t\tonMouseEnter: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onMouseLeave event callback\n\t\t */\n\t\tonMouseLeave: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onFocus event callback\n\t\t */\n\t\tonFocus: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onBlur event callback\n\t\t */\n\t\tonBlur: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onKeyDown event callback\n\t\t */\n\t\tonKeyDown: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onKeyUp event callback\n\t\t */\n\t\tonKeyUp: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * onKeyPress event callback\n\t\t */\n\t\tonKeyPress: { schema: { type: 'function' } },\n\n\t\t/**\n\t\t * Fallback to legacy slot based anchor tag instead of the design system text link\n\t\t */\n\t\tlegacy: { schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Opens link in a new window or tab (depending on user's browser configuration). Not applicable in legacy mode\n\t\t */\n\t\topensWindow: { schema: { type: 'boolean' } },\n\t\t/**\n\t\t * If defined, specifies the icon to display at the end of the text link. Not applicable in legacy mode\n\t\t */\n\t\ticonEnd: { schema: { type: 'string' } },\n\t\t/**\n\t\t * If defined, specifies the icon to display at the start of the text link. Not applicable in legacy mode\n\t\t */\n\t\ticonStart: { scheman: { type: 'string' } }\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\teventHandlers\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { t } from 'sn-translate';\nimport { isObject, escapeRegExp } from 'lodash';\nimport '@servicenow/now-highlighted-value';\n\nexport default function OptionUser({\n\tlabel,\n\tsecondary,\n\tvalue,\n\tdelimiter,\n\tsearchTerm,\n\tsearchUsingStartsWith = true\n}) {\n\tlet primaryLabelMatched = false;\n\tlet pre, match, post;\n\tlet escapedSearchTerm = escapeRegExp(searchTerm);\n\tif (escapedSearchTerm) {\n\t\t({ pre, match, post } = getStringParts(label, escapedSearchTerm));\n\t\tprimaryLabelMatched =\n\t\t\tpre.length === 0 || (!searchUsingStartsWith && match.length >= 1);\n\t}\n\tlet validSecondary = normalizeSecondaryValues(secondary);\n\tlet secondaryLabelMatched = false;\n\treturn (\n\t\t<div className=\"sn-dropdown-list-item-content\">\n\t\t\t<span\n\t\t\t\tclassName=\"sn-dropdown-list-item-title\"\n\t\t\t\t// show tooltip with full text on mouseover if choice is truncated\n\t\t\t\t// same pattern used in NDS components\n\t\t\t\tonMouseOver={({ target }) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttarget.parentElement.offsetWidth < target.parentElement.scrollWidth\n\t\t\t\t\t) {\n\t\t\t\t\t\ttarget.title = label;\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{primaryLabelMatched ? (\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{pre}\n\t\t\t\t\t\t<span className=\"highlight\">{match}<\/span>\n\t\t\t\t\t\t{post}\n\t\t\t\t\t<\/span>\n\t\t\t\t) : (\n\t\t\t\t\t<span>{label || `(${t('empty')})`}<\/span>\n\t\t\t\t)}\n\t\t\t<\/span>\n\t\t\t{validSecondary &&\n\t\t\t\tvalidSecondary.map((secondaryOption, i) => {\n\t\t\t\t\tlet delim = '';\n\t\t\t\t\tlet secondaryValue;\n\n\t\t\t\t\tif (!secondaryOption.isHighlighted) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!primaryLabelMatched &&\n\t\t\t\t\t\t\tescapedSearchTerm &&\n\t\t\t\t\t\t\t!secondaryLabelMatched\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tsecondaryValue = getSecondaryHighlight(\n\t\t\t\t\t\t\t\tgetStringParts(secondaryOption.value, escapedSearchTerm),\n\t\t\t\t\t\t\t\tsearchUsingStartsWith\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsecondaryLabelMatched = secondaryValue ? true : false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!secondaryValue)\n\t\t\t\t\t\t\tsecondaryValue = (\n\t\t\t\t\t\t\t\t<span className=\"secondary-value\">{secondaryOption.value}<\/span>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\tif (i > 0) {\n\t\t\t\t\t\t\tdelim = (\n\t\t\t\t\t\t\t\t<span className=\"sn-secondary-delimiter\">\n\t\t\t\t\t\t\t\t\t{delimiter !== undefined ? delimiter : ' | '}\n\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (secondaryOption.isHighlighted) {\n\t\t\t\t\t\tsecondaryValue = (\n\t\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\t\tlabel={secondaryOption.value}\n\t\t\t\t\t\t\t\tstatus={secondaryOption.status}\n\t\t\t\t\t\t\t\tshow-icon={secondaryOption.showIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<React.Fragment key={`${value}-secondary-${secondaryOption.value}`}>\n\t\t\t\t\t\t\t{delim}\n\t\t\t\t\t\t\t{secondaryValue}\n\t\t\t\t\t\t<\/React.Fragment>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t<\/div>\n\t);\n}\n\nexport function normalizeSecondaryValues(secondaryValues = []) {\n\treturn secondaryValues.reduce((normalizedSecondaryValues, secondaryValue) => {\n\t\tif (secondaryValue) {\n\t\t\tif (!isObject(secondaryValue)) {\n\t\t\t\tnormalizedSecondaryValues.push({ value: secondaryValue });\n\t\t\t} else {\n\t\t\t\tnormalizedSecondaryValues.push(secondaryValue);\n\t\t\t}\n\t\t}\n\t\treturn normalizedSecondaryValues;\n\t}, []);\n}\n\nexport function getSecondaryHighlight(\n\t{ pre = '', match = '', post = '' },\n\tsearchUsingStartsWith\n) {\n\tif (match == '') {\n\t\treturn null;\n\t}\n\n\tif (pre.length === 0 || (!searchUsingStartsWith && match.length >= 1)) {\n\t\treturn (\n\t\t\t<span className=\"secondary-value\">\n\t\t\t\t{pre}\n\t\t\t\t<span className=\"highlight\">{match}<\/span>\n\t\t\t\t{post}\n\t\t\t<\/span>\n\t\t);\n\t}\n\treturn null;\n}\n\nexport function getStringParts(value, searchTerm) {\n\tlet regex = new RegExp(`(.*?)(${searchTerm})(.*)`, 'i');\n\tlet [, pre, match = '', post = ''] = value.match(regex) || ['', value];\n\treturn { pre, match, post };\n}\n\n/**\n * propTypes\n * @type {object}\n * @property {string} value value of the option\n * @property {string} label label for the option\n * @property {array} secondary array of secondary labels for the option\n * @property {string} delimiter string delimiter to separate multiple secondary labels\n */\nOptionUser.propTypes = {\n\tvalue: PropTypes.any,\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\tsecondary: PropTypes.array,\n\tdelimiter: PropTypes.string,\n\tsearchUsingStartsWith: PropTypes.bool\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { size, map, get, first, xor, isNumber, isNil } from 'lodash';\nimport { t } from 'sn-translate';\nimport makeClass from 'classnames';\nimport '@servicenow/now-icon';\n\nimport { generateSubComponentIds } from '@devsnc/sn-controls-common';\n\nimport OptionDefault from './OptionDefault';\nimport style from './dropdown.scss';\n\nexport function AccessibilityDescription({ id, optionsLength }) {\n\tlet accessibilityMessage;\n\n\tif (optionsLength === 1) {\n\t\taccessibilityMessage = t(\n\t\t\t'1 result. Use arrow up and down keys to select result.'\n\t\t);\n\t} else if (optionsLength > 1) {\n\t\taccessibilityMessage = t(\n\t\t\t'{0} results. Use arrow up and down keys to select results.',\n\t\t\toptionsLength\n\t\t);\n\t} else {\n\t\taccessibilityMessage = t('0 results.');\n\t}\n\n\treturn (\n\t\t<span id={id} className=\"now-a11y-label\" aria-atomic aria-live=\"polite\">\n\t\t\t{accessibilityMessage}\n\t\t<\/span>\n\t);\n}\n\n/**\n * options list\n */\nclass OptionsList extends React.PureComponent {\n\tstatic componentName = 'sn-record-options-list';\n\tstatic style = style;\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.listItems = [];\n\t}\n\n\tgetRef = idx => {\n\t\treturn node => (this.listItems[idx] = node);\n\t};\n\n\t/**\n\t * Scrolls dropdown so that newly selected item is completely in view.\n\t */\n\tcomponentDidUpdate(prevProps) {\n\t\tlet newSelected = first(\n\t\t\txor(this.props.selectedSearchResults, prevProps.selectedSearchResults)\n\t\t);\n\t\tconst targetItem = get(this.listItems, newSelected);\n\n\t\tif (this.list && targetItem) {\n\t\t\tlet containerHeight = this.list.getBoundingClientRect().height;\n\t\t\tlet containerTop = this.list.scrollTop;\n\t\t\tlet containerBottom = containerTop + containerHeight;\n\t\t\tlet selectedComponentTop = targetItem.offsetTop;\n\t\t\tlet selectedComponentBottom =\n\t\t\t\tselectedComponentTop + targetItem.offsetHeight;\n\n\t\t\tif (selectedComponentTop < containerTop) {\n\t\t\t\tthis.list.scrollTop = selectedComponentTop;\n\t\t\t} else if (selectedComponentBottom > containerBottom) {\n\t\t\t\tthis.list.scrollTop = selectedComponentBottom - containerHeight;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * render\n\t * @return {ReactElement} markup\n\t */\n\trender() {\n\t\tlet {\n\t\t\tparentId,\n\t\t\tincludeHeaders,\n\t\t\toptions,\n\t\t\trecentsCount,\n\t\t\ttotalMatchesCount,\n\t\t\ttotalMatchesCountHeaderMessage,\n\t\t\tselectedSearchResults,\n\t\t\tonClick,\n\t\t\tonHover,\n\t\t\tcurrentValues,\n\t\t\tdelimiter,\n\t\t\tsearchTerm,\n\t\t\tsearchUsingStartsWith,\n\t\t\tmaxSearchMatches\n\t\t} = this.props;\n\n\t\tconst optionsLength = size(options);\n\t\tconst ids = generateSubComponentIds(parentId, { options: optionsLength });\n\t\tlet totalMatchesCountHeaderMSG;\n\n\t\tif (!isNil(totalMatchesCountHeaderMessage)) {\n\t\t\ttotalMatchesCountHeaderMSG = totalMatchesCountHeaderMessage;\n\t\t} else if (isNumber(totalMatchesCount)) {\n\t\t\ttotalMatchesCountHeaderMSG =\n\t\t\t\ttotalMatchesCount >= maxSearchMatches\n\t\t\t\t\t? t(\n\t\t\t\t\t\t\t'Showing 1-{0} of more than {1}',\n\t\t\t\t\t\t\toptions.length - recentsCount,\n\t\t\t\t\t\t\tmaxSearchMatches\n\t\t\t\t\t  )\n\t\t\t\t\t: t(\n\t\t\t\t\t\t\t'Showing 1-{0} of {1}',\n\t\t\t\t\t\t\toptions.length - recentsCount,\n\t\t\t\t\t\t\ttotalMatchesCount\n\t\t\t\t\t  );\n\t\t} else {\n\t\t\ttotalMatchesCountHeaderMSG = t(\n\t\t\t\t'Showing 1-{0} of {1}',\n\t\t\t\toptions.length - recentsCount,\n\t\t\t\toptions.length\n\t\t\t);\n\t\t}\n\n\t\tconst headers = {\n\t\t\t0: {\n\t\t\t\tisEnabled: recentsCount > 0,\n\t\t\t\tvalue: t('Recent Selections')\n\t\t\t},\n\n\t\t\t[recentsCount]: {\n\t\t\t\tisEnabled: options.length > recentsCount,\n\t\t\t\tvalue: totalMatchesCountHeaderMSG\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<div className=\"sn-dropdown\">\n\t\t\t\t\t<AccessibilityDescription\n\t\t\t\t\t\tid={`${ids.dropdown}-description`}\n\t\t\t\t\t\toptionsLength={optionsLength}\n\t\t\t\t\t/>\n\t\t\t\t\t<ul\n\t\t\t\t\t\tid={ids.dropdown}\n\t\t\t\t\t\tclassName=\"sn-dropdown-list\"\n\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\tref={el => (this.list = el)}\n\t\t\t\t\t\taria-controls={parentId}\n\t\t\t\t\t\taria-describedby={`${ids.dropdown}-description`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{map(options, (option, idx) => {\n\t\t\t\t\t\t\tconst active = selectedSearchResults.includes(idx);\n\t\t\t\t\t\t\tconst selected = currentValues.includes(option.value);\n\n\t\t\t\t\t\t\tconst className = makeClass('sn-dropdown-list-item', {\n\t\t\t\t\t\t\t\t'is-hover': active,\n\t\t\t\t\t\t\t\t'is-hover-disabled': !active,\n\t\t\t\t\t\t\t\t'is-selected': selected\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tconst OptionType = OptionDefault;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<React.Fragment key={idx}>\n\t\t\t\t\t\t\t\t\t{includeHeaders && headers[idx] && headers[idx].isEnabled && (\n\t\t\t\t\t\t\t\t\t\t<li className=\"sn-dropdown-header\">{headers[idx].value}<\/li>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\tid={ids.options[idx]}\n\t\t\t\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\tref={this.getRef(idx)}\n\t\t\t\t\t\t\t\t\t\taria-selected={selected}\n\t\t\t\t\t\t\t\t\t\taria-setsize={optionsLength}\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tonClick(option.value, option.displayValue);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={() => onHover(idx)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.props.checkSelected && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"sn-dropdown-list-selected-icon\">\n\t\t\t\t\t\t\t\t\t\t\t\t{selected && <now-icon icon=\"check-fill\" size=\"sm\" />}\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t<OptionType\n\t\t\t\t\t\t\t\t\t\t\tlabel={option.displayValue}\n\t\t\t\t\t\t\t\t\t\t\tsecondary={option.secondary}\n\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\t\t\t\t\tdelimiter={delimiter}\n\t\t\t\t\t\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\t\t\t\t\t\tsearchUsingStartsWith={searchUsingStartsWith}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<\/React.Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t<\/ul>\n\t\t\t\t<\/div>\n\t\t\t<\/React.Fragment>\n\t\t);\n\t}\n}\n\nexport default OptionsList;\n\n/**\n * propTypes\n * @type {object}\n * @property {array} options list of options\n * @property {array} selectedSearchResults array of selected indexes\n * @property {function} onClick callback for selecting the option\n * @property {number} recentsCount No. of the recentlty seclected options.\n * @property {number} totalMatchesCount Total no. of options.\n * @property {string} totalMatchesCountHeaderMessage  Header message that'll show up on the total count dropdown group\n * @property {bool} checkSelecte  Whether there will be a checkmark on a selected item\n */\nOptionsList.propTypes = {\n\tincludeHeaders: PropTypes.bool,\n\toptions: PropTypes.array.isRequired,\n\tselectedSearchResults: PropTypes.array.isRequired,\n\tonClick: PropTypes.func,\n\trecentsCount: PropTypes.number,\n\ttotalMatchesCount: PropTypes.number,\n\ttotalMatchesCountHeaderMessage: PropTypes.string,\n\tcheckSelected: PropTypes.bool,\n\tsearchUsingStartsWith: PropTypes.bool,\n\tmaxSearchMatches: PropTypes.number\n};\n\nOptionsList.defaultProps = {\n\tincludeHeaders: false,\n\trecentsCount: 0,\n\toptions: [],\n\tcurrentValues: [],\n\tselectedSearchResults: [],\n\tcheckSelected: false\n};\n","import React from 'react';\n\nclass Dropdown extends React.PureComponent {\n\trender() {\n\t\tlet { children, dropdownRef } = this.props;\n\t\treturn <div ref={dropdownRef}>{children}<\/div>;\n\t}\n}\n\nexport default Dropdown;\n","const DropdownSeismic = (props, children) => {\n\tlet { dropdownRef } = props;\n\treturn <div ref={dropdownRef}>{children}<\/div>;\n};\n\nexport default DropdownSeismic;\n","import { registerComponents } from '@devsnc/library-register-components';\nimport { createCustomElement } from '@servicenow/ui-core';\n\nimport OptionsList from './OptionsList';\nexport { default as Dropdown } from './Dropdown';\nexport { default as DropdownSeismic } from './DropdownSeismic';\nexport { OptionsList };\n\nregisterComponents(createCustomElement, {\n\t'sn-record-options-list': { component: OptionsList }\n});\n","import { t } from 'sn-translate';\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\nexport const FIELD_RECOMMENDATION_INFORMATION = t('Field Recommendation information');\nexport const WIDTH = 250;\nexport const MIN_HEIGHT = 80;\nexport const MAX_HEIGHT = 200;","import {createCustomElement, createPresentationalCustomElement} from \"@servicenow/ui-core\";\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\n\nimport style from \"./recommendations-helper.scss\";\nimport {\n\tNOW_BUTTON_ICONIC_CLICKED, \n\tNOW_POPOVER_OPENED_SET, \n\tFIELD_RECOMMENDATION_INFORMATION, \n\tWIDTH, \n\tMIN_HEIGHT, \n\tMAX_HEIGHT\n} from \"./constants\";\n\nconst COMPONENT_NAME = 'sn-recommendations-helper';\n\nexport const popoverDescription = ({properties}) => {\n\tconst { description, link } = properties;\n\treturn (\n\t\t<div className=\"sn-recommendations-info-popover-spacing\">\n\t\t\t<div className=\"sn-recommendations-info-popover-description\" role = \"status\">\n\t\t\t\t\t{description}\n\t\t\t<\/div>\n\t\t\t{\n\t\t\t\tlink && link.href && link.label && (\n\t\t\t\t\t<a href={link.href} target=\"_blank\">{link.label}{link.icon && (<now-button-iconic bare icon={link.icon} size=\"sm\"><\/now-button-iconic>)}<\/a>\n\t\t\t\t)\n\t\t\t}\n\t\t<\/div>\n\t)\n}\n\ncreatePresentationalCustomElement('sn-recommendations-info-description', {\n\tview: popoverDescription,\n\tstyles: style,\n\tproperties: {\n\t\tdescription: { default: ''},\n\t\tlink: { default: {}}\n\t}\n})\n\nexport const recommendationsHelper = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tconfig: {\n\t\t\t\tvariantName,\n\t\t\t\ticonName,\n\t\t\t\tdescription,\n\t\t\t\tlink\n\t\t\t},\n\t\t\tfieldType\n\t\t}\n\t} = state;\n\tconst interactionType = link ? \"dialog\" : \"none\"\n\treturn ((\n\t\t\t<now-popover\n\t\t\t\tinteractionType={interactionType}\n\t\t\t\tconstrain={{width: WIDTH, minHeight: MIN_HEIGHT, maxHeight: MAX_HEIGHT}}\n\t\t\t>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tclassName={fieldType !== 'textarea' ? `recommendation-icon` : ''}\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tvariant={variantName}\n\t\t\t\t\ticon={iconName}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: { 'aria-label': FIELD_RECOMMENDATION_INFORMATION }\n\t\t\t\t\t}}\n\t\t\t\t\thide-padding\n\t\t\t\t><\/now-button-iconic>\n\t\t\t\t{(!description && !link) ? '' \n\t\t\t\t:\n\t\t\t\t<sn-recommendations-info-description slot=\"content\" description={description} link={link}/>\n\t\t\t\t}\n\t\t\t<\/now-popover>\n\t));\n}\n\ncreateCustomElement(COMPONENT_NAME, {\n\tview: recommendationsHelper,\n\tstyles: style,\n\tproperties: {\n\t\tconfig: { default: {} },\n\t\tfieldType: {default: ''}\n\t},\n\tactionHandlers: {\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n})\n\nexport default COMPONENT_NAME;\n","import * as devsncLibraryRegisterComponents from '@devsnc/library-register-components';\nif (!window.__TECTONIC__$devsnc_library_register_components_29_5_1) window.__TECTONIC__$devsnc_library_register_components_29_5_1 = devsncLibraryRegisterComponents;\nexport {devsncLibraryRegisterComponents};\nimport * as devsncLibraryBehaviorScrollWatch from '@devsnc/library-behavior-scroll-watch';\nif (!window.__TECTONIC__$devsnc_library_behavior_scroll_watch_29_5_1) window.__TECTONIC__$devsnc_library_behavior_scroll_watch_29_5_1 = devsncLibraryBehaviorScrollWatch;\nexport {devsncLibraryBehaviorScrollWatch};\nimport * as devsncSnRecordAnnotation from '@devsnc/sn-record-annotation';\nif (!window.__TECTONIC__$devsnc_sn_record_annotation) window.__TECTONIC__$devsnc_sn_record_annotation = devsncSnRecordAnnotation;\nexport {devsncSnRecordAnnotation};\nimport * as devsncSnRecordAutoNumberConnected from '@devsnc/sn-record-auto-number-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_auto_number_connected) window.__TECTONIC__$devsnc_sn_record_auto_number_connected = devsncSnRecordAutoNumberConnected;\nexport {devsncSnRecordAutoNumberConnected};\nimport * as servicenowNowRecordCheckbox from '@servicenow/now-record-checkbox';\nif (!window.__TECTONIC__$servicenow_now_record_checkbox) window.__TECTONIC__$servicenow_now_record_checkbox = servicenowNowRecordCheckbox;\nexport {servicenowNowRecordCheckbox};\nimport * as devsncSnRecordCheckboxGroup from '@devsnc/sn-record-checkbox-group';\nif (!window.__TECTONIC__$devsnc_sn_record_checkbox_group) window.__TECTONIC__$devsnc_sn_record_checkbox_group = devsncSnRecordCheckboxGroup;\nexport {devsncSnRecordCheckboxGroup};\nimport * as devsncSnRecordChoiceConnected from '@devsnc/sn-record-choice-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_choice_connected) window.__TECTONIC__$devsnc_sn_record_choice_connected = devsncSnRecordChoiceConnected;\nexport {devsncSnRecordChoiceConnected};\nimport * as devsncSnRecordCodeEditor from '@devsnc/sn-record-code-editor';\nif (!window.__TECTONIC__$devsnc_sn_record_code_editor) window.__TECTONIC__$devsnc_sn_record_code_editor = devsncSnRecordCodeEditor;\nexport {devsncSnRecordCodeEditor};\nimport * as devsncSnRecordContentTreeConnected from '@devsnc/sn-record-content-tree-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_content_tree_connected) window.__TECTONIC__$devsnc_sn_record_content_tree_connected = devsncSnRecordContentTreeConnected;\nexport {devsncSnRecordContentTreeConnected};\nimport * as devsncSnRecordControl from '@devsnc/sn-record-control';\nif (!window.__TECTONIC__$devsnc_sn_record_control) window.__TECTONIC__$devsnc_sn_record_control = devsncSnRecordControl;\nexport {devsncSnRecordControl};\nimport * as devsncSnRecordControlWrapper from '@devsnc/sn-record-control-wrapper';\nif (!window.__TECTONIC__$devsnc_sn_record_control_wrapper) window.__TECTONIC__$devsnc_sn_record_control_wrapper = devsncSnRecordControlWrapper;\nexport {devsncSnRecordControlWrapper};\nimport * as devsncSnControlsCommon from '@devsnc/sn-controls-common';\nif (!window.__TECTONIC__$devsnc_sn_controls_common_29_5_1) window.__TECTONIC__$devsnc_sn_controls_common_29_5_1 = devsncSnControlsCommon;\nexport {devsncSnControlsCommon};\nimport * as devsncSnControlsCommonQuery from '@devsnc/sn-controls-common-query';\nif (!window.__TECTONIC__$devsnc_sn_controls_common_query_29_5_1) window.__TECTONIC__$devsnc_sn_controls_common_query_29_5_1 = devsncSnControlsCommonQuery;\nexport {devsncSnControlsCommonQuery};\nimport * as devsncSnRecordCurrencyConnected from '@devsnc/sn-record-currency-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_currency_connected) window.__TECTONIC__$devsnc_sn_record_currency_connected = devsncSnRecordCurrencyConnected;\nexport {devsncSnRecordCurrencyConnected};\nimport * as servicenowNowRecordDatePicker from '@servicenow/now-record-date-picker';\nif (!window.__TECTONIC__$servicenow_now_record_date_picker) window.__TECTONIC__$servicenow_now_record_date_picker = servicenowNowRecordDatePicker;\nexport {servicenowNowRecordDatePicker};\nimport * as servicenowNowDateRangePicker from '@servicenow/now-date-range-picker';\nif (!window.__TECTONIC__$servicenow_now_date_range_picker) window.__TECTONIC__$servicenow_now_date_range_picker = servicenowNowDateRangePicker;\nexport {servicenowNowDateRangePicker};\nimport * as devsncSnRecordDropdownInternal from '@devsnc/sn-record-dropdown-internal';\nif (!window.__TECTONIC__$devsnc_sn_record_dropdown_internal) window.__TECTONIC__$devsnc_sn_record_dropdown_internal = devsncSnRecordDropdownInternal;\nexport {devsncSnRecordDropdownInternal};\nimport * as devsncSnRecordDuration from '@devsnc/sn-record-duration';\nif (!window.__TECTONIC__$devsnc_sn_record_duration) window.__TECTONIC__$devsnc_sn_record_duration = devsncSnRecordDuration;\nexport {devsncSnRecordDuration};\nimport * as devsncSnRecordEmail from '@devsnc/sn-record-email';\nif (!window.__TECTONIC__$devsnc_sn_record_email) window.__TECTONIC__$devsnc_sn_record_email = devsncSnRecordEmail;\nexport {devsncSnRecordEmail};\nimport * as devsncSnRecordEmailScript from '@devsnc/sn-record-email-script';\nif (!window.__TECTONIC__$devsnc_sn_record_email_script) window.__TECTONIC__$devsnc_sn_record_email_script = devsncSnRecordEmailScript;\nexport {devsncSnRecordEmailScript};\nimport * as devsncSnFieldAndDropdownWrapper from '@devsnc/sn-field-and-dropdown-wrapper';\nif (!window.__TECTONIC__$devsnc_sn_field_and_dropdown_wrapper) window.__TECTONIC__$devsnc_sn_field_and_dropdown_wrapper = devsncSnFieldAndDropdownWrapper;\nexport {devsncSnFieldAndDropdownWrapper};\nimport * as devsncSnRecordFieldListConnected from '@devsnc/sn-record-field-list-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_field_list_connected) window.__TECTONIC__$devsnc_sn_record_field_list_connected = devsncSnRecordFieldListConnected;\nexport {devsncSnRecordFieldListConnected};\nimport * as servicenowNowRecordFieldLookupConnected from '@servicenow/now-record-field-lookup-connected';\nif (!window.__TECTONIC__$servicenow_now_record_field_lookup_connected) window.__TECTONIC__$servicenow_now_record_field_lookup_connected = servicenowNowRecordFieldLookupConnected;\nexport {servicenowNowRecordFieldLookupConnected};\nimport * as devsncSnFieldSelect from '@devsnc/sn-field-select';\nif (!window.__TECTONIC__$devsnc_sn_field_select) window.__TECTONIC__$devsnc_sn_field_select = devsncSnFieldSelect;\nexport {devsncSnFieldSelect};\nimport * as devsncSnRecordFileAttachment from '@devsnc/sn-record-file-attachment';\nif (!window.__TECTONIC__$devsnc_sn_record_file_attachment) window.__TECTONIC__$devsnc_sn_record_file_attachment = devsncSnRecordFileAttachment;\nexport {devsncSnRecordFileAttachment};\nimport * as devsncSnFormControls from '@devsnc/sn-form-controls';\nif (!window.__TECTONIC__$devsnc_sn_form_controls) window.__TECTONIC__$devsnc_sn_form_controls = devsncSnFormControls;\nexport {devsncSnFormControls};\nimport * as devsncSnGlideFormControls from '@devsnc/sn-glide-form-controls';\nif (!window.__TECTONIC__$devsnc_sn_glide_form_controls) window.__TECTONIC__$devsnc_sn_glide_form_controls = devsncSnGlideFormControls;\nexport {devsncSnGlideFormControls};\nimport * as devsncSnGlideQueryBase from '@devsnc/sn-glide-query-base';\nif (!window.__TECTONIC__$devsnc_sn_glide_query_base) window.__TECTONIC__$devsnc_sn_glide_query_base = devsncSnGlideQueryBase;\nexport {devsncSnGlideQueryBase};\nimport * as servicenowNowRecordHtmlEditor from '@servicenow/now-record-html-editor';\nif (!window.__TECTONIC__$servicenow_now_record_html_editor) window.__TECTONIC__$servicenow_now_record_html_editor = servicenowNowRecordHtmlEditor;\nexport {servicenowNowRecordHtmlEditor};\nimport * as servicenowNowRecordHtmlScript from '@servicenow/now-record-html-script';\nif (!window.__TECTONIC__$servicenow_now_record_html_script) window.__TECTONIC__$servicenow_now_record_html_script = servicenowNowRecordHtmlScript;\nexport {servicenowNowRecordHtmlScript};\nimport * as devsncSnRecordInput from '@devsnc/sn-record-input';\nif (!window.__TECTONIC__$devsnc_sn_record_input) window.__TECTONIC__$devsnc_sn_record_input = devsncSnRecordInput;\nexport {devsncSnRecordInput};\nimport * as devsncSnRecordInputConnected from '@devsnc/sn-record-input-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_input_connected) window.__TECTONIC__$devsnc_sn_record_input_connected = devsncSnRecordInputConnected;\nexport {devsncSnRecordInputConnected};\nimport * as servicenowNowRecordIpAddress from '@servicenow/now-record-ip-address';\nif (!window.__TECTONIC__$servicenow_now_record_ip_address) window.__TECTONIC__$servicenow_now_record_ip_address = servicenowNowRecordIpAddress;\nexport {servicenowNowRecordIpAddress};\nimport * as devsncSnRecordLink from '@devsnc/sn-record-link';\nif (!window.__TECTONIC__$devsnc_sn_record_link) window.__TECTONIC__$devsnc_sn_record_link = devsncSnRecordLink;\nexport {devsncSnRecordLink};\nimport * as devsncSnRecordListSelect from '@devsnc/sn-record-list-select';\nif (!window.__TECTONIC__$devsnc_sn_record_list_select) window.__TECTONIC__$devsnc_sn_record_list_select = devsncSnRecordListSelect;\nexport {devsncSnRecordListSelect};\nimport * as servicenowNowRecordMiniCalendar from '@servicenow/now-record-mini-calendar';\nif (!window.__TECTONIC__$servicenow_now_record_mini_calendar) window.__TECTONIC__$servicenow_now_record_mini_calendar = servicenowNowRecordMiniCalendar;\nexport {servicenowNowRecordMiniCalendar};\nimport * as devsncSnRecordNameValue from '@devsnc/sn-record-name-value';\nif (!window.__TECTONIC__$devsnc_sn_record_name_value) window.__TECTONIC__$devsnc_sn_record_name_value = devsncSnRecordNameValue;\nexport {devsncSnRecordNameValue};\nimport * as servicenowNowRecordNumber from '@servicenow/now-record-number';\nif (!window.__TECTONIC__$servicenow_now_record_number) window.__TECTONIC__$servicenow_now_record_number = servicenowNowRecordNumber;\nexport {servicenowNowRecordNumber};\nimport * as devsncSnOptionsList from '@devsnc/sn-options-list';\nif (!window.__TECTONIC__$devsnc_sn_options_list) window.__TECTONIC__$devsnc_sn_options_list = devsncSnOptionsList;\nexport {devsncSnOptionsList};\nimport * as devsncSnRecordPriceConnected from '@devsnc/sn-record-price-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_price_connected) window.__TECTONIC__$devsnc_sn_record_price_connected = devsncSnRecordPriceConnected;\nexport {devsncSnRecordPriceConnected};\nimport * as servicenowNowRadioGroup from '@servicenow/now-radio-group';\nif (!window.__TECTONIC__$servicenow_now_radio_group) window.__TECTONIC__$servicenow_now_radio_group = servicenowNowRadioGroup;\nexport {servicenowNowRadioGroup};\nimport * as devsncSnRecommendationsHelper from '@devsnc/sn-recommendations-helper';\nif (!window.__TECTONIC__$devsnc_sn_recommendations_helper) window.__TECTONIC__$devsnc_sn_recommendations_helper = devsncSnRecommendationsHelper;\nexport {devsncSnRecommendationsHelper};\nimport * as devsncSnRecordNowassist from '@devsnc/sn-record-nowassist';\nif (!window.__TECTONIC__$devsnc_sn_record_nowassist) window.__TECTONIC__$devsnc_sn_record_nowassist = devsncSnRecordNowassist;\nexport {devsncSnRecordNowassist};\nimport * as devsncSnRecordReferenceConnected from '@devsnc/sn-record-reference-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_reference_connected) window.__TECTONIC__$devsnc_sn_record_reference_connected = devsncSnRecordReferenceConnected;\nexport {devsncSnRecordReferenceConnected};\nimport * as devsncSnRecordTablenameConnected from '@devsnc/sn-record-tablename-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_tablename_connected) window.__TECTONIC__$devsnc_sn_record_tablename_connected = devsncSnRecordTablenameConnected;\nexport {devsncSnRecordTablenameConnected};\nimport * as servicenowNowRecordTime from '@servicenow/now-record-time';\nif (!window.__TECTONIC__$servicenow_now_record_time) window.__TECTONIC__$servicenow_now_record_time = servicenowNowRecordTime;\nexport {servicenowNowRecordTime};\nimport * as servicenowNowRecordTypeahead from '@servicenow/now-record-typeahead';\nif (!window.__TECTONIC__$servicenow_now_record_typeahead) window.__TECTONIC__$servicenow_now_record_typeahead = servicenowNowRecordTypeahead;\nexport {servicenowNowRecordTypeahead};\nimport * as servicenowNowRecordTypeaheadMultiple from '@servicenow/now-record-typeahead-multiple';\nif (!window.__TECTONIC__$servicenow_now_record_typeahead_multiple) window.__TECTONIC__$servicenow_now_record_typeahead_multiple = servicenowNowRecordTypeaheadMultiple;\nexport {servicenowNowRecordTypeaheadMultiple};\nimport * as devsncSnRecordUrl from '@devsnc/sn-record-url';\nif (!window.__TECTONIC__$devsnc_sn_record_url) window.__TECTONIC__$devsnc_sn_record_url = devsncSnRecordUrl;\nexport {devsncSnRecordUrl};\nimport * as devsncSnRecordUserRolesLookupConnected from '@devsnc/sn-record-user-roles-lookup-connected';\nif (!window.__TECTONIC__$devsnc_sn_record_user_roles_lookup_connected) window.__TECTONIC__$devsnc_sn_record_user_roles_lookup_connected = devsncSnRecordUserRolesLookupConnected;\nexport {devsncSnRecordUserRolesLookupConnected};\nimport * as devsncSnRecordVersion from '@devsnc/sn-record-version';\nif (!window.__TECTONIC__$devsnc_sn_record_version) window.__TECTONIC__$devsnc_sn_record_version = devsncSnRecordVersion;\nexport {devsncSnRecordVersion};"],"version":3}},{"offset":{"line":682,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/now-uxf-page/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","includes","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","snabbdom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","getAncestorNode","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__","getActiveElement","layerEvents","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","forOwn","isEmpty","noop","set","uniqBy","uniqueId","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateSubscriberBehavior","nowLinkInterceptorBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__","AUTO_DISMISS_DEFAULT_TIMEOUT","ALLOWED_AUTH_PATHS","ariaHeading","name","level","HeadingLevel","className","ariaLabel","includeHeading","findFocusableElement","el","elSelector","startElement","queue","_ele$shadowRoot","top","shift","ele","querySelector","shadowRoot","topShadow","allSearched","querySelectorAll","searchedElement","manageFocus","elm","updateState","nowUxfPageElRef","scrollIntoView","activeElement","focusEl","applyStyleAndFocus","restoreFocus","previouslyFocusedElement","focus","setElementStyles","outline","block","element","styles","removeEmptyState","slot","assignedNodes","emptyStateNode","Array","from","childNodes","find","node","nodeName","toLowerCase","removeChild","isHighAssuranceNotificationInMessage","msg","filterSpanInMessage","notification","message","startsWith","type","calculateTopPxValue","state","uxfPageRef","parentNode","ancestorNodeParent","localName","isTopLevelScreen","heightContext","window","context","topOffsetPx","handleAuthLinkClick","event","anchor","composedPath","tagName","href","getAttribute","preventDefault","url","URL","location","protocol","origin","some","allowedPath","pathname","isValidAuthUrl","open","TAG_NAME","renderer","view","_ref","updateProperties","properties","notifications","targetRef","authNotification","style","status","icon","hook","insert","vnode","addEventListener","destroy","removeEventListener","action","items","update","_ref2","shouldRestoreFocus","shouldUpdate","behaviors","behavior","options","propsToHtmlArray","props","filter","textLinkProps","text","rtlBehavior","shouldRenderWhenSet","eventHandlers","events","effect","_ref3","host","removeAttribute","actionHandlers","PREVIEW_RECORD","_ref4","dispatch","payload","stopPropagation","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","sysProps","actions","NOTIFICATIONS_UPDATED","NOTIFICATION_ACTION_CLICKED","LOADER_ACTION_CLICKED","RECORD_LINK_CLICKED","LOADING_STATUS_CHANGED","SET_PROPAGATED_NOTIFICATIONS","NAV_ITEM_SELECTED","notificationHandlers","ADD_NOTIFICATIONS","REMOVE_NOTIFICATIONS","CLEAR_NOTIFICATIONS","SET_LOADING_STATE","HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__","getProperty","getStatus","handleAutoDismissal","expLevelAutoDismissalSettings","_notification$status","autoDismiss","enabled","eventLevelAutoDismissEnabled","timeout","eventLevelAutoDismissTimeout","notificationData","_objectWithoutPropertiesLoose","_excluded","alertTypes","alertTypeSettings","expLevelAutoDismissEnabled","expLevelAutoDismissTimeout","showTimer","hideProgressBar","effectiveTimeout","getEffectiveTimeout","enabledAtEventLevel","eventLevelTimeout","expLevelTimeout","autoDismissConfig","enableAutoDismiss","duration","sortNotifications","NOTIFICATION_SORT_ORDER","critical","high","ai","warning","info","positive","sort","b","generateId","prefix","componentId","notificationId","namespace","getNowAppProp","propName","_getAncestorNode$nowA","_getAncestorNode","_targetRef$getRootNod","nowAppProps","getRootNode","resolveAutoDismissalExpSettings","propValue","parsedJson","JSON","parse","Map","entries","alert","loadExperiencePageConfig","_getNowAppProp","autoExpandAlerts","trackAutoDismissNotificationItems","coeffects","forEach","_notification$status2","track","uniqueMsgKey","processNewNotificationItems","expanded","updatedNotificationProps","transformedNotification","isHtml","doc","DOMParser","parseFromString","body","findIndex","child","nodeType","console","error","hasHtml","getIcon","msgKey","filterDismissedNotificationMessages","newNotifications","prevNotificationMessages","keys","reduce","acc","isNotificationMissing","every","handleNewNotificationItems","notificationItems","notificationMessages","uniqueNotifications","newNotificationMessages","filterDuplicateNotificationMessages","preventDuplicates","newNotificationItems","handleDismissedNotifications","prevNotifications","currentNotifications","previousNotificationMessages","index","notificationIndex","currentNotification","processAddNotifications","_ref5","_experiencePageConfig","_experiencePageConfig2","experiencePageConfig","existingNotifications","notificationPrefix","filteredNotificationItems","removeHighAssuranceNotificationItems","configuredNotifications","shouldExpandAlerts","applyExpLevelNotificationConfig","initialState","handlers","propagateNotifications","interceptNotifications","meta","isArray","handleAuthNotification","authNotificationItems","getHighAssuranceNotificationItems","resolvedExperiencePageConfig","validIds","curr","_ref8","_ref9","loaders_blocking","spinners","loaders_non_blocking","bars","newSpinners","newBars","customId","loading","label","loadingAction","nonBlocking","loaderId","stateUpdate","path","operation","loader","splice","start","deleteCount","_ref7","getComponentId","_ref6","_ref10","alertId","shouldRender","_ref11","alertAction","_ref12","_ref13","_dismissedNotificatio","dismissedNotification","_ref14","COMPONENT_DOM_TREE_READY","COMPONENT_TREE_RENDERED","ARIA_LIVE_REGION_UPDATE_REQUESTED","_loadersBlocking$","bare","scrollable","headingLevel","headingOnlyVisibleToScreenReaders","loadersBlocking","loadersNonBlocking","isLoading","totalNotifications","ariaProps","nowLoaderObserver","class","page","padded","requestAnimationFrame","scrollTop","scrollLeft","scrollTo","size","_loadersBlocking$2","_loadersBlocking$3","IntersectionObserver","entry","isIntersecting","root","rootMargin","threshold","observe","unobserve","loaderDoesNotHaveLabel","progressbar","ariaProgressBarConfig","pathType","tabIndex","heading","variant","wontWrap","target","illustration","nowUxfPageNotificationsBehavior","callbackFn","schema","_getActiveElement","headingElement","document","_ancestorNodeParent$t","_ancestorNodeParent$s","getIsScreenPreviewFromURL","searchParams","decodeURIComponent","has","screenData","isActive","getAuthNotificationEffect","NO_CONTENT_HEADING","NO_CONTENT_MESSAGE","renderContent","hideEmptyStateUi","bgvar","border","canCollapse","collapsed","expandButtonTooltipContent","collapseButtonTooltipContent","ariaRegionName","ariaRegionHeadingLevel","includeAriaHeading","isModalContainer","nowHoist","nowHoistAppendTo","setTargetRef","ref","setTimeout","bg","getBgClass","bordered","role","container","collapsible","on-click","hook-destroy","renderTooltip","tooltipMessage","position","reflect","enum","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","uxfViewportBehavior","COMPONENT_CONNECTED","COMPONENT_PROPERTY_CHANGED","requestRoute","activeRoute","viewportRoutes","headless","route","isNewRoute","height","width","slotName","viewport","DEFAULT_404_MESSAGE","VIEWPORT_SCREEN_LABEL","VIEWPORT_SCREEN_LOADING_MESSAGE","Default404","showDefault404","canSyncWithURL","LOAD_VIEWPORT_CONTENT","HOIST_VIEWPORT_CONTENT","MODAL_SELECTED","COMPONENT_RENDERED","previousRenderProperties","prevProps","contents","_contents$meta","_contents$meta2","elementRef","nowRootNode","assignedElements","modifier","delay","uxfMeta","displayOptions","disableDismiss","enableResizable","resizableMinHeight","resizableMaxHeight","resizableMinWidth","resizableMaxWidth","setAttribute","observer","MutationObserver","mutations","mutation","disconnect","routeType","fields","attributes","attributeFilter","modalId","resizableConfig","Boolean","showModal","nowId","getCanvasModalAction","modalInstanceId","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__","DISMISS_ACTION","MODAL_RESIZE_END","opened","hideDismissPadding","overlayPositionAbsolute","customSize","enableFullScreenInMobile","isMobile","_window$ux_globals","ux_globals","deviceInfo","isMobileDevice","shouldUseFullScreen","dialogSize","isCustomSize","hidePadding","output","getAriaAttributes","reason","focusBehavior","trap","resizableBehavior","resizeTarget","getResizableConfig","isOpening","isClosing","isBecomingDismissable","isBecomingNonDismissable","bareModal","add","callback","blur","remove","i18n","EMPTY_STATE_HEADING","EMPTY_STATE_MESSAGE","setAriaRole","ariaRole","SECTION","ARTICLE","HEADER","FOOTER","ASIDE","ADDRESS","MAIN","renderSlot","renderAriaHeading","slotWrapperBehavior","renderContainer","BEHAVIOR_STATE_PATH","currentNotificationMessages","globalNotificationsBehavior","_action$payload$item$","urlContent","__TECTONIC__$servicenow_now_uxf_page"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-uxf-page/src/uxf-bare-modal/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page-container/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page-notifications/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-viewport-screen/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-viewport/styles.scss","webpack:///./src/uxf-bare-modal/styles.scss?7e51","webpack:///./src/uxf-page-container/styles.scss?ce8f","webpack:///./src/uxf-page-notifications/styles.scss?8bcb","webpack:///./src/uxf-page-simple-container/styles.scss?241d","webpack:///./src/uxf-page/styles.scss?bac7","webpack:///./src/uxf-viewport-screen/styles.scss?232c","webpack:///./src/uxf-viewport/styles.scss?f154","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///@babel/runtime/7.25.7/helpers/objectWithoutPropertiesLoose.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/library-enhanced-utils/28.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.0.0/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/constants.js","webpack:///@servicenow/now-uxf-page/src/utils.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-notifications/uxfPageNotifications.js","webpack:///external module \"/uxasset/externals/@servicenow/now-heading/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-progress-bar/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/uxf-page/constants.js","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/23.0.1/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/behaviors/utils.js","webpack:///@servicenow/now-uxf-page/src/behaviors/nowUxfPageNotificationsBehavior.js","webpack:///@servicenow/now-uxf-page/src/uxf-page/uxfPage.js","webpack:///external module \"/uxasset/externals/@servicenow/now-collapse/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tooltip/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/uxf-page-container/uxfPageContainer.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/uxf-viewport/uxfViewport.js","webpack:///@servicenow/now-uxf-page/src/uxf-viewport-screen/constants.js","webpack:///@servicenow/now-uxf-page/src/uxf-viewport-screen/uxfViewportScreen.js","webpack:///@servicenow/now-uxf-page/src/uxf-modal-viewport/constants.js","webpack:///@servicenow/now-uxf-page/src/uxf-modal-viewport/uxfModalViewport.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resizable/24.1.1/index.jsdbx\"","webpack:///@servicenow/now-uxf-page/src/uxf-bare-modal/uxfBareModal.js","webpack:///@servicenow/now-uxf-page/src/uxf-bare-modal/utils.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/constants.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/utils.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/uxfSimpleContainer.js","webpack:///@servicenow/now-uxf-page/src/behaviors/globalNotificationsBehavior.js","webpack:///@servicenow/now-uxf-page/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.now-uxf-bare-modal-overlay{background-color:RGBA(var(--now-uxf-bare-modal-overlay--background-color,var(--now-window_overlay--background-color,var(--now-color--neutral-21,0,0,0))),var(--now-uxf-bare-modal-overlay--opacity,var(--now-opacity--mid,.5)));bottom:0;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:4000}.now-uxf-bare-modal-overlay.now-uxf-bare-modal-absolute-overlay{position:absolute}.now-uxf-bare-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:4000}.now-uxf-bare-modal-body.custom{max-height:90%;max-width:100%;min-height:133px;min-width:420px}.now-uxf-bare-modal-resizable-container{background-color:RGB(var(--now-window--background-color,var(--now-color--neutral-0,255,255,255)));border-color:RGB(var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-window--border-width,1px);box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));height:100%;overflow-y:auto}.now-uxf-bare-modal-resizable-container ::slotted(seismic-hoist){border-style:none!important;box-shadow:none!important;height:100%!important;min-height:4rem!important}.now-uxf-bare-modal-body{max-height:100%;max-width:100%;position:relative}.-sm .now-uxf-bare-modal-body{width:100%}@media(min-width:26.25rem){.-sm .now-uxf-bare-modal-body{max-width:26.25rem}}.-md .now-uxf-bare-modal-body{width:100%}@media(min-width:37.5rem){.-md .now-uxf-bare-modal-body{max-width:37.5rem}}.-lg .now-uxf-bare-modal-body{width:100%}@media(min-width:50rem){.-lg .now-uxf-bare-modal-body{max-width:50rem}}.-fullscreen .now-uxf-bare-modal-body{height:100%;min-height:100%;width:100%}.now-uxf-bare-modal-body .now-uxf-bare-modal-slot::slotted(*){background-color:RGB(var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border-color:RGB(var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-window--border-width,1px);box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:block}.now-uxf-bare-modal-header{direction:inherit;display:flex;flex-direction:row-reverse;padding:1.5rem;pointer-events:none;position:absolute;width:100%;z-index:4001}.now-uxf-bare-modal-header.hide-padding{padding:0}.now-uxf-bare-modal-header .now-uxf-bare-modal-dismiss{pointer-events:auto}.now-uxf-bare-modal-header+.now-uxf-bare-modal-slot::slotted(*){height:100%;min-height:4rem;overflow:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.padded{padding-bottom:1rem;padding-top:1rem}:host(:not([dir=rtl])) .padded,:root:not([dir=rtl]) .padded{padding-left:1rem}:host([dir=rtl]) .padded,:root[dir=rtl] .padded{padding-right:1rem}:host(:not([dir=rtl])) .padded,:root:not([dir=rtl]) .padded{padding-right:1rem}:host([dir=rtl]) .padded,:root[dir=rtl] .padded{padding-left:1rem}.expand-container{height:inherit}.variant-neutral-0{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.variant-neutral-1{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.bordered{border:1px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))}.collapsible{margin-top:.5rem}.collapse-trigger{background:none;border:0;cursor:pointer;display:block;margin-bottom:1rem;padding:.5rem 0 0;position:relative;width:100%}.collapse-trigger hr{border:0;border-top:.125rem solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));flex-grow:1;height:0;margin:0}.collapse-trigger now-icon{background:RGB(var(--now-color_surface--neutral-3,232,234,234));color:RGB(var(--now-color_text--primary,22,27,28));position:absolute;top:0;width:1rem}:host(:not([dir=rtl])) .collapse-trigger now-icon,:root:not([dir=rtl]) .collapse-trigger now-icon{left:1rem}:host([dir=rtl]) .collapse-trigger now-icon,:root[dir=rtl] .collapse-trigger now-icon{right:1rem}:host(:not([dir=rtl])) .collapse-trigger now-icon,:root:not([dir=rtl]) .collapse-trigger now-icon{right:1rem}:host([dir=rtl]) .collapse-trigger now-icon,:root[dir=rtl] .collapse-trigger now-icon{left:1rem}.collapse-trigger now-heading{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));padding:0 .5rem;position:absolute;top:2px;visibility:hidden}:host(:not([dir=rtl])) .collapse-trigger now-heading,:root:not([dir=rtl]) .collapse-trigger now-heading{left:2.5rem}:host([dir=rtl]) .collapse-trigger now-heading,:root[dir=rtl] .collapse-trigger now-heading{right:2.5rem}.collapse-trigger:hover hr{border-top:2px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}.collapse-trigger:hover now-icon{background:RGB(var(--now-color_surface--neutral-5,211,215,216))}.collapsed .collapse-trigger{margin-bottom:0;padding-bottom:.5rem;transition:margin .1s linear;transition-delay:.3s}.collapsed .collapse-trigger>now-heading{transition:visibility 0s linear;transition-delay:.3s;visibility:visible}.hide-element{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media(forced-colors:active){.collapse-trigger now-icon{color:buttontext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-alert-list{margin:auto;max-width:calc(100vw - 60%);min-width:250px;position:relative;width:90%}#notification{align-items:center;display:flex;flex-direction:column;pointer-events:none;position:absolute;width:100%}#notification>*{pointer-events:auto}#authAlert{max-width:calc(100vw - 60%);min-width:250px;padding:1rem 1rem 0 1rem;z-index:3000}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.slot-wrapper{height:100%}.slot-wrapper-contents{display:contents}.hide-element{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,.page,:after,:before{box-sizing:border-box}.page{display:block;height:100%;overflow:hidden;position:relative;width:100%}.page .scrollable-focus-wrapper{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.page now-heading{padding-bottom:1.5rem;padding-top:1.5rem}:host(:not([dir=rtl])) .page now-heading,:root:not([dir=rtl]) .page now-heading{padding-left:1.5rem}:host([dir=rtl]) .page now-heading,:root[dir=rtl] .page now-heading{padding-right:1.5rem}:host(:not([dir=rtl])) .page now-heading,:root:not([dir=rtl]) .page now-heading{padding-right:1.5rem}:host([dir=rtl]) .page now-heading,:root[dir=rtl] .page now-heading{padding-left:1.5rem}.page now-heading.only-visible-to-screen-readers{clip:rect(0 0 0 0);border:0;clip-path:polygon(0 0,0 0,0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.page now-heading.only-visible-to-screen-readers:hover{outline:none}.page.padded{padding-bottom:1.5rem;padding-top:1.5rem}:host(:not([dir=rtl])) .page.padded,:root:not([dir=rtl]) .page.padded{padding-left:1.5rem}:host([dir=rtl]) .page.padded,:root[dir=rtl] .page.padded{padding-right:1.5rem}:host(:not([dir=rtl])) .page.padded,:root:not([dir=rtl]) .page.padded{padding-right:1.5rem}:host([dir=rtl]) .page.padded,:root[dir=rtl] .page.padded{padding-left:1.5rem}.page.padded now-heading{padding:0}.page.scroll-x{overflow-x:auto}.page.scroll-y{overflow-y:auto}.page.scroll-both{overflow:auto}.page.loading{min-height:min-content;overflow:hidden}.loading-overlay{align-items:center;background-color:RGBA(var(--now-container--color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-opacity--most,.8));bottom:0;display:flex;justify-content:center;overflow-y:auto}.loading-overlay,now-progress-bar{left:0;position:absolute;right:0;top:0;z-index:4000}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-uxf-viewport-screen{height:100%;margin:0;padding:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.viewport{height:100%}.scroll-vertical{overflow-x:hidden;overflow-y:auto}.scroll-horizontal{overflow-x:auto;overflow-y:hidden}.scroll-both{overflow-x:auto;overflow-y:auto}.scroll-none{overflow-x:hidden;overflow-y:hidden}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (e.includes(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t}, [\"snabbdom\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t\t} else if ('snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.snabbdom || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"getAncestorNode\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'getAncestorNode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].getAncestorNode;\n\t\t\t\t\t} else if ('getAncestorNode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.getAncestorNode || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].getAncestorNode;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getActiveElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.__esModule\n\t\t\t\t\tif (cjsModule && 'getActiveElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"].getActiveElement;\n\t\t\t\t\t} else if ('getActiveElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.getActiveElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"].getActiveElement;\n\t\t\t\t}, [\"layerEvents\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.__esModule\n\t\t\t\t\tif (cjsModule && 'layerEvents' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"].layerEvents;\n\t\t\t\t\t} else if ('layerEvents' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__.layerEvents || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_0_index_jsdbx_3a27c4ce__[\"default\"].layerEvents;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"forOwn\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t\t} else if ('forOwn' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forOwn || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forOwn;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"noop\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t\t} else if ('noop' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.noop || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].noop;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"toString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toString;\n\t\t\t\t\t} else if ('toString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toString;\n\t\t\t\t}, [\"uniqBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t\t} else if ('uniqBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqBy;\n\t\t\t\t}, [\"uniqueId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'uniqueId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqueId;\n\t\t\t\t\t} else if ('uniqueId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.uniqueId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].uniqueId;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateSubscriberBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t\t} else if ('dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateSubscriberBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t}, [\"nowLinkInterceptorBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'nowLinkInterceptorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].nowLinkInterceptorBehavior;\n\t\t\t\t\t} else if ('nowLinkInterceptorBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.nowLinkInterceptorBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].nowLinkInterceptorBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"];\n\t\t\t\t} });","export const POLITE = 'polite';\nexport const ASSERTIVE = 'assertive';\nexport const CRITICAL = 'critical';\nexport const TRUE = 'true';\nexport const EMPTY_STATE_NODE = 'now-template-message-empty-state';\nexport const AUTO_DISMISS_DEFAULT_TIMEOUT = 5; // in secs\nexport const ALLOWED_AUTH_PATHS = [\n\t'/api/now/continuous_authentication/high_assurance/create',\n];\n","import forOwn from 'lodash/forOwn';\nimport { set, get } from 'lodash';\nimport { POLITE, EMPTY_STATE_NODE } from './constants';\nimport { getActiveElement } from '@servicenow/library-enhanced-utils';\nimport { getAncestorNode } from '@servicenow/ui-core';\n\nexport const ariaHeading = (id, name, level) => {\n\tif (level < 1 || level > 6) {\n\t\treturn;\n\t}\n\tconst HeadingLevel = `h${level}`;\n\treturn (\n\t\t<HeadingLevel id={`heading-${id}`} className={'hide-element'}>\n\t\t\t{name}\n\t\t<\/HeadingLevel>\n\t);\n};\n\nexport const ariaLabel = (id, name, includeHeading) => {\n\tif (!name) {\n\t\treturn;\n\t}\n\tif (includeHeading) {\n\t\treturn { ['aria-labelledby']: `heading-${id}` };\n\t}\n\treturn { ['aria-label']: name };\n};\n\nexport const ariaProgressBarConfig = (loader) => {\n\tif (!loader || loader.length === 0) {\n\t\treturn;\n\t}\n\n\tconst loaderDoesNotHaveLabel = !loader[0].label;\n\tconst progressbar = {};\n\tprogressbar['aria-live'] = POLITE;\n\tprogressbar['aria-label'] = loaderDoesNotHaveLabel\n\t\t? undefined\n\t\t: loader[0].label;\n\n\treturn {\n\t\t['configAria']: {\n\t\t\tprogressbar,\n\t\t},\n\t};\n};\n\nexport const findFocusableElement = (el, elSelector, startElement) => {\n\tif (!startElement) {\n\t\treturn null;\n\t}\n\n\tconst queue = [startElement];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(el);\n\t\tif (ele && !elSelector) {\n\t\t\treturn ele;\n\t\t}\n\n\t\tif (ele?.shadowRoot?.querySelector(elSelector)) {\n\t\t\treturn ele;\n\t\t}\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) {\n\t\t\tqueue.push(topShadow);\n\t\t}\n\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (const searchedElement of allSearched) {\n\t\t\tif (searchedElement.shadowRoot) {\n\t\t\t\tqueue.push(searchedElement.shadowRoot);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const manageFocus = (\n\telm,\n\tupdateState,\n\tnowUxfPageElRef,\n\tupdateActiveElement = false,\n\tscrollIntoView = true,\n) => {\n\tif (updateActiveElement) {\n\t\tconst activeElement = getActiveElement();\n\t\tupdateState({ activeElement });\n\t}\n\tconst focusEl = findFocusableElement(elm, null, nowUxfPageElRef);\n\tapplyStyleAndFocus(focusEl, scrollIntoView);\n\treturn focusEl;\n};\n\nexport const restoreFocus = (previouslyFocusedElement) => {\n\tif (!previouslyFocusedElement) {\n\t\treturn;\n\t}\n\n\tpreviouslyFocusedElement.focus();\n};\n\nexport const applyStyleAndFocus = (elm, scrollIntoView = true) => {\n\tif (elm) {\n\t\tconst noOutline = { outline: 'none' };\n\t\tsetElementStyles(elm, noOutline);\n\t\tif (scrollIntoView) {\n\t\t\telm.scrollIntoView({ block: 'center' }); // focus() does not scroll to elements without focusable elements\n\t\t}\n\t\telm.focus();\n\t}\n};\n\nconst setElementStyles = (element, styles) => {\n\t// set element with styles\n\tforOwn(styles, (value, key) => {\n\t\tset(element, ['style', key], value);\n\t});\n};\n\nexport const removeEmptyState = (slot) => {\n\tif (slot.assignedNodes() && slot.assignedNodes().length > 0) {\n\t\tconst emptyStateNode = Array.from(slot.childNodes).find((node) => {\n\t\t\treturn node.nodeName.toLowerCase() === EMPTY_STATE_NODE;\n\t\t});\n\t\tif (emptyStateNode) {\n\t\t\tslot.removeChild(emptyStateNode);\n\t\t}\n\t}\n};\n\nexport const isHighAssuranceNotificationInMessage = (msg) => {\n\tif (!msg || typeof msg !== 'string') {\n\t\treturn false;\n\t}\n\treturn msg.includes('sn-high-assurance-notif');\n};\n\nexport const filterSpanInMessage = (notification) => {\n\tconst content = notification.content || notification.message;\n\tif (typeof content === 'string') {\n\t\treturn !(\n\t\t\tcontent.startsWith('<span') &&\n\t\t\tisHighAssuranceNotificationInMessage(content)\n\t\t);\n\t}\n\tif (\n\t\ttypeof content === 'object' &&\n\t\tcontent.type === 'html' &&\n\t\ttypeof content.value === 'string'\n\t) {\n\t\treturn !(\n\t\t\tcontent.value.startsWith('<span') &&\n\t\t\tisHighAssuranceNotificationInMessage(content.value)\n\t\t);\n\t}\n\treturn true;\n};\n\nexport const getIsScreenPreviewFromURL = () => {\n\tconst { searchParams } = new URL(decodeURIComponent(window.location.href));\n\treturn (\n\t\tsearchParams.has('sysparm_live_preview') ||\n\t\tsearchParams.get('mode') === 'preview'\n\t);\n};\n\nexport const isTopLevelScreen = (el) => {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst parentNode = getAncestorNode(el);\n\tif (!parentNode) {\n\t\treturn false;\n\t}\n\tconst ancestorNodeParent = getAncestorNode(parentNode);\n\treturn ancestorNodeParent?.localName === 'sn-canvas-screen';\n};\n\nexport const calculateTopPxValue = (state, uxfPageRef) => {\n\tif (!isTopLevelScreen(uxfPageRef)) {\n\t\treturn '0px';\n\t}\n\n\tconst heightContext = get(window, [\n\t\t'ux_globals',\n\t\t'globalAlertsHeightContext',\n\t\tget(window, ['ux_globals', 'siteName']),\n\t]);\n\tconst topOffsetPx = heightContext\n\t\t? state.context[heightContext].topOffsetPx\n\t\t: 0;\n\treturn `${topOffsetPx}px`;\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { snabbdom } from '@servicenow/ui-renderer-snabbdom';\nimport { nowLinkInterceptorBehavior } from '@devsnc/uxf-shared-behaviors';\nimport '@servicenow/now-alert';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport styles from './styles.scss';\nimport { restoreFocus, manageFocus, calculateTopPxValue } from '../utils';\nimport { ALLOWED_AUTH_PATHS } from '../constants';\n\nexport const isValidAuthUrl = (href) => {\n\tif (!href) {\n\t\treturn false;\n\t}\n\n\ttry {\n\t\tconst url = new URL(href, window.location.href);\n\n\t\tif (url.protocol !== 'https:') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (url.origin !== window.location.origin) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isAllowedPath = ALLOWED_AUTH_PATHS.some((allowedPath) => {\n\t\t\tif (url.pathname === allowedPath) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (url.pathname.startsWith(`${allowedPath}/`)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\n\t\treturn isAllowedPath;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nexport const handleAuthLinkClick = (event) => {\n\tconst path =\n\t\ttypeof event.composedPath === 'function' ? event.composedPath() : [];\n\tconst anchor = path.find((node) => {\n\t\treturn node && node.tagName === 'A';\n\t});\n\n\tif (!anchor) {\n\t\treturn;\n\t}\n\n\tconst href = anchor.getAttribute('href');\n\tif (!href) {\n\t\treturn;\n\t}\n\n\tevent.preventDefault();\n\n\tif (!isValidAuthUrl(href)) {\n\t\treturn;\n\t}\n\n\twindow.open(href, '_blank');\n};\n\nexport const getHtmlArrayFromProps = (props) => {\n\tconst { notifications = [] } = props;\n\treturn notifications\n\t\t.filter((n) => {\n\t\t\tconst {\n\t\t\t\tcontent: { value = '' } = {},\n\t\t\t\ttextLinkProps: { href = '' } = {},\n\t\t\t} = n;\n\t\t\treturn !!n.content || value !== '' || href !== '';\n\t\t})\n\t\t.map((n) => {\n\t\t\tconst { content: { value } = {}, textLinkProps: { href } = {} } = n;\n\t\t\tlet text = n.content;\n\t\t\tif (value) {\n\t\t\t\ttext = value;\n\t\t\t}\n\t\t\tif (href) {\n\t\t\t\ttext = `<a href=\"${href}\" />`;\n\t\t\t}\n\t\t\treturn text;\n\t\t});\n};\n\nconst view = (state, { updateState, updateProperties }) => {\n\tconst {\n\t\tproperties: { notifications, targetRef, authNotification },\n\t\tactiveElement,\n\t} = state;\n\n\treturn (\n\t\t<div\n\t\t\tid=\"notification\"\n\t\t\tstyle={{ top: calculateTopPxValue(state, targetRef) }}>\n\t\t\t{authNotification && (\n\t\t\t\t<now-alert\n\t\t\t\t\tid=\"authAlert\"\n\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\ticon=\"exclamation-triangle-outline\"\n\t\t\t\t\tcontent={{\n\t\t\t\t\t\ttype: 'html',\n\t\t\t\t\t\tvalue: authNotification,\n\t\t\t\t\t}}\n\t\t\t\t\thook={{\n\t\t\t\t\t\tinsert(vnode) {\n\t\t\t\t\t\t\tvnode.elm.addEventListener(\n\t\t\t\t\t\t\t\t'click',\n\t\t\t\t\t\t\t\thandleAuthLinkClick,\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tmanageFocus(\n\t\t\t\t\t\t\t\t'sn-uxf-page-notifications',\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\ttargetRef,\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdestroy(vnode) {\n\t\t\t\t\t\t\tvnode.elm.removeEventListener(\n\t\t\t\t\t\t\t\t'click',\n\t\t\t\t\t\t\t\thandleAuthLinkClick,\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\trestoreFocus(activeElement);\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\taction={{\n\t\t\t\t\t\ttype: 'dismiss',\n\t\t\t\t\t\tauthNotification: true,\n\t\t\t\t\t}}><\/now-alert>\n\t\t\t)}\n\t\t\t{notifications.length > 0 && (\n\t\t\t\t<now-alert-list\n\t\t\t\t\titems={notifications}\n\t\t\t\t\tmanage-items={true}\n\t\t\t\t\thook={{\n\t\t\t\t\t\tinsert() {\n\t\t\t\t\t\t\tmanageFocus(\n\t\t\t\t\t\t\t\t'sn-uxf-page-notifications',\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\ttargetRef,\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tupdate() {\n\t\t\t\t\t\t\tmanageFocus(\n\t\t\t\t\t\t\t\t'sn-uxf-page-notifications',\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\ttargetRef,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdestroy() {\n\t\t\t\t\t\t\tupdateProperties(({ properties }) => {\n\t\t\t\t\t\t\t\tif (properties.shouldRestoreFocus) {\n\t\t\t\t\t\t\t\t\trestoreFocus(activeElement);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tshouldUpdate: false,\n\t\t\t\t\t\t\t\t};\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/>\n\t\t\t)}\n\t\t<\/div>\n\t);\n};\n\nconst TAG_NAME = 'sn-uxf-page-notifications';\nconst TAB_INDEX_ATTR = 'tabIndex';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: nowLinkInterceptorBehavior,\n\t\t\toptions: {\n\t\t\t\tpropsToHtmlArray: getHtmlArrayFromProps,\n\t\t\t},\n\t\t},\n\t\t{ behavior: rtlBehavior },\n\t],\n\tproperties: {\n\t\tnotifications: { default: [] },\n\t\tauthNotification: { default: null },\n\t\ttargetRef: {\n\t\t\tdefault: null,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tshouldRestoreFocus: { default: true },\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect({ host }) {\n\t\t\t\thost.removeAttribute(TAB_INDEX_ATTR);\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\tPREVIEW_RECORD: {\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tdispatch('PAGE_NOTIFICATIONS#RECORD_LINK_CLICKED', {\n\t\t\t\t\t...action.payload,\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\tstyles,\n});\n\nexport default TAG_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","export const sysProps = {\n\tGLIDE_UI_ESCAPE_FORM_MESSAGE: 'glide.ui.escape_form_message',\n};\n\nexport const actions = {\n\tNOTIFICATIONS_UPDATED: 'NOW_UXF_PAGE#NOTIFICATIONS_UPDATED',\n\tNOTIFICATION_ACTION_CLICKED: 'NOW_UXF_PAGE#NOTIFICATION_ACTION_CLICKED',\n\tLOADER_ACTION_CLICKED: 'NOW_UXF_PAGE#LOADER_ACTION_CLICKED',\n\tRECORD_LINK_CLICKED: 'NOW_UXF_PAGE#RECORD_LINK_CLICKED',\n\tLOADING_STATUS_CHANGED: 'NOW_UXF_PAGE#LOADING_STATUS_CHANGED',\n\tSET_PROPAGATED_NOTIFICATIONS: 'NOW_UXF_PAGE#SET_PROPAGATED_NOTIFICATIONS',\n\tNAV_ITEM_SELECTED: 'NAV_ITEM_SELECTED',\n};\n\nexport const notificationHandlers = {\n\tADD_NOTIFICATIONS: 'NOW_UXF_PAGE#ADD_NOTIFICATIONS',\n\tREMOVE_NOTIFICATIONS: 'NOW_UXF_PAGE#REMOVE_NOTIFICATIONS',\n\tCLEAR_NOTIFICATIONS: 'NOW_UXF_PAGE#CLEAR_NOTIFICATIONS',\n\tSET_LOADING_STATE: 'NOW_UXF_PAGE#SET_LOADING_STATE',\n\tHTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED:\n\t\t'HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED',\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_23_0_1_index_jsdbx_67799607__[\"default\"].getProperty;\n\t\t\t\t} });","import { AUTO_DISMISS_DEFAULT_TIMEOUT } from '../constants';\nimport { get, uniqueId, uniqBy } from 'lodash';\nimport { getAncestorNode } from '@servicenow/ui-core';\nimport { getProperty } from 'sn-uxpage-presource';\nimport track from '@devsnc/ux-metrics';\nimport { sysProps } from '../uxf-page/constants';\nimport {\n\tfilterSpanInMessage,\n\tisHighAssuranceNotificationInMessage,\n} from '../utils';\n\nexport const isUserPrefEnabledForAutoDismissal = () => {\n\tconst userPrefEnabled = get(window, [\n\t\t'ux_globals',\n\t\t'userPrefs',\n\t\t'glide.uxf.alert.auto_dismissal_enabled',\n\t]);\n\treturn userPrefEnabled !== 'false';\n};\nexport const getEffectiveTimeout = (\n\tenabledAtEventLevel,\n\teventLevelTimeout,\n\texpLevelTimeout,\n) => {\n\tif (!enabledAtEventLevel) {\n\t\treturn undefined;\n\t}\n\tif (eventLevelTimeout !== null && eventLevelTimeout !== undefined) {\n\t\treturn eventLevelTimeout;\n\t}\n\treturn expLevelTimeout;\n};\n\nexport const getStatus = (type) => {\n\tswitch (type) {\n\t\tcase 'info':\n\t\t\treturn 'info';\n\t\tcase 'error':\n\t\t\treturn 'critical';\n\t\tcase 'warning':\n\t\t\treturn 'warning';\n\t\tcase 'success':\n\t\t\treturn 'positive';\n\t\tcase 'moderate':\n\t\t\treturn 'moderate';\n\t\tcase 'low':\n\t\t\treturn 'low';\n\t\tcase 'high':\n\t\t\treturn 'high';\n\t\tcase 'suggestion':\n\t\tcase 'ai':\n\t\t\treturn 'ai';\n\t\tdefault:\n\t\t\treturn 'info';\n\t}\n};\nexport const handleAutoDismissal = (\n\tnotification,\n\texpLevelAutoDismissalSettings,\n) => {\n\tif (!isUserPrefEnabledForAutoDismissal()) {\n\t\treturn notification;\n\t}\n\n\tconst {\n\t\tautoDismiss: {\n\t\t\tenabled: eventLevelAutoDismissEnabled = true,\n\t\t\ttimeout: eventLevelAutoDismissTimeout,\n\t\t} = {},\n\t\t...notificationData\n\t} = notification;\n\n\tconst alertTypes = expLevelAutoDismissalSettings?.get('alertTypes');\n\tconst alertTypeSettings =\n\t\talertTypes?.get(notification.status ?? getStatus(notification.type)) ||\n\t\t{};\n\n\tconst {\n\t\tenabled: expLevelAutoDismissEnabled = false,\n\t\ttimeout: expLevelAutoDismissTimeout = AUTO_DISMISS_DEFAULT_TIMEOUT,\n\t} = alertTypeSettings;\n\n\tif (!expLevelAutoDismissEnabled) {\n\t\treturn notificationData;\n\t}\n\n\tconst showTimer = expLevelAutoDismissalSettings.get('showTimer');\n\tconst hideProgressBar =\n\t\texpLevelAutoDismissalSettings.get('hideProgressBar');\n\n\tconst effectiveTimeout = getEffectiveTimeout(\n\t\teventLevelAutoDismissEnabled,\n\t\teventLevelAutoDismissTimeout,\n\t\texpLevelAutoDismissTimeout,\n\t);\n\n\tif (effectiveTimeout === undefined) {\n\t\treturn notificationData;\n\t}\n\n\tconst autoDismissConfig = {\n\t\tenableAutoDismiss: eventLevelAutoDismissEnabled,\n\t\tduration: effectiveTimeout * 1000,\n\t};\n\tif (showTimer !== undefined) {\n\t\tautoDismissConfig.showTimer = showTimer;\n\t}\n\tif (hideProgressBar !== undefined) {\n\t\tautoDismissConfig.hideProgressBar = hideProgressBar;\n\t}\n\n\treturn {\n\t\t...notificationData,\n\t\tautoDismissConfig,\n\t};\n};\n\nexport const sortNotifications = (notifications) => {\n\tconst NOTIFICATION_SORT_ORDER = {\n\t\tcritical: 5,\n\t\thigh: 4,\n\t\tai: 3,\n\t\twarning: 2,\n\t\tinfo: 1,\n\t\tpositive: 0,\n\t};\n\treturn notifications.sort((a, b) => {\n\t\treturn (\n\t\t\tNOTIFICATION_SORT_ORDER[a.status] -\n\t\t\tNOTIFICATION_SORT_ORDER[b.status]\n\t\t);\n\t});\n};\n\nexport const transformedNotification = (id, type, message, action) => {\n\tconst getIcon = (type) => {\n\t\tswitch (type) {\n\t\t\tcase 'error':\n\t\t\t\treturn 'circle-close-outline';\n\t\t\tcase 'warning':\n\t\t\t\treturn 'exclamation-circle-outline';\n\t\t\tcase 'success':\n\t\t\t\treturn 'check-circle-outline';\n\t\t\tcase 'suggestion':\n\t\t\tcase 'ai':\n\t\t\t\treturn 'ai-sparkle-fill';\n\t\t\tdefault:\n\t\t\t\treturn 'info-circle-outline';\n\t\t}\n\t};\n\tconst hasHtml = (message) => {\n\t\ttry {\n\t\t\tconst parser = new DOMParser();\n\t\t\tconst doc = parser.parseFromString(message, 'text/html');\n\t\t\treturn (\n\t\t\t\tArray.from(doc.body.childNodes).findIndex((child) => {\n\t\t\t\t\treturn child.nodeType === 1;\n\t\t\t\t}) !== -1\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tconsole.error('Error while parsing message to html ', e);\n\t\t\treturn false;\n\t\t}\n\t};\n\tconst escFormMsg = getProperty(\n\t\tsysProps.GLIDE_UI_ESCAPE_FORM_MESSAGE,\n\t\tfalse,\n\t);\n\tconst isHtml = escFormMsg !== 'true' && hasHtml(message);\n\tconst content = {\n\t\ttype: isHtml ? 'html' : 'string',\n\t\tvalue: isHtml ? `<div>${message}<\/div>` : message,\n\t};\n\n\treturn {\n\t\tid,\n\t\tstatus: getStatus(type),\n\t\ticon: getIcon(type),\n\t\tcontent,\n\t\tmsgKey: uniqueMsgKey(type, message),\n\t\taction: !action?.type ? { type: 'dismiss' } : action,\n\t};\n};\n\nexport const generateId = (prefix, componentId, notificationId) => {\n\tconst namespace = prefix || componentId || 'generated_';\n\tif (!notificationId) {\n\t\treturn uniqueId(namespace);\n\t}\n\treturn `${namespace}_${notificationId}`;\n};\n\n/**\n * Parse alert types from configuration\n * @param {Object} alertTypes - Alert types configuration\n * @returns {Map|null} - Map of alert types or null if invalid\n */\nexport const parseAlertTypes = (alertTypes) => {\n\tif (typeof alertTypes !== 'object' || !alertTypes) {\n\t\treturn null;\n\t}\n\n\treturn new Map(\n\t\tObject.entries(alertTypes).filter(([, alert]) => {\n\t\t\treturn alert?.enabled === true;\n\t\t}),\n\t);\n};\n\nexport const getNowAppProp = (targetRef, propName) => {\n\treturn (\n\t\tgetAncestorNode(targetRef)?.nowAppProps?.[propName] ??\n\t\ttargetRef?.getRootNode()?.host?.nowAppProps?.[propName] ??\n\t\tnull\n\t);\n};\n\nexport const resolveAutoDismissalExpSettings = (propValue) => {\n\tif (!propValue) {\n\t\treturn propValue;\n\t}\n\ttry {\n\t\tconst parsedJson = JSON.parse(propValue);\n\t\treturn new Map(\n\t\t\tObject.entries(parsedJson).map(([key, value]) => {\n\t\t\t\treturn [\n\t\t\t\t\tkey,\n\t\t\t\t\tkey === 'alertTypes' ? parseAlertTypes(value) : value,\n\t\t\t\t];\n\t\t\t}),\n\t\t);\n\t} catch {\n\t\treturn null;\n\t}\n};\n\n/**\n * Load a unified notification experience configuration object with fallback mechanism\n *\n * This function attempts to load configuration from the ancestor node first.\n * If the ancestor node is not available, it falls back to querying the root node.\n * This handles race conditions during component initialization where the ancestor node may be temporarily unavailable.\n *\n * @param {Object} targetRef - Target reference\n * @returns {Object} Notification experience configuration with:\n *   - expLevelAutoDismissalSettings: Map of auto-dismissal settings or null\n *   - autoExpandAlerts: Boolean indicating if alerts should auto-expand\n */\nexport const loadExperiencePageConfig = (targetRef) => {\n\treturn {\n\t\texpLevelAutoDismissalSettings: resolveAutoDismissalExpSettings(\n\t\t\tgetNowAppProp(targetRef, 'alert_auto_dismiss_config'),\n\t\t),\n\t\tautoExpandAlerts:\n\t\t\tgetNowAppProp(targetRef, 'auto_expand_now_alert_message') ?? false,\n\t};\n};\n\nexport const trackAutoDismissNotificationItems = (notifications, coeffects) => {\n\tif (!coeffects) {\n\t\treturn;\n\t}\n\n\tnotifications\n\t\t.filter((notification) => {\n\t\t\treturn notification.autoDismissConfig;\n\t\t})\n\t\t.forEach((notification) => {\n\t\t\ttrack(coeffects, 'Enable auto dismissing alert', {\n\t\t\t\ttype: notification.status ?? getStatus(notification.type),\n\t\t\t});\n\t\t});\n};\n\nexport const isNotificationMissing = (msgKey, notifications) => {\n\treturn notifications.every((notification) => {\n\t\treturn notification.msgKey !== msgKey;\n\t});\n};\n\nexport const getMessageOrContentValue = (msg) => {\n\tif (!msg) {\n\t\treturn '';\n\t}\n\tif (typeof msg === 'string') {\n\t\treturn msg;\n\t}\n\tif (typeof msg === 'object' && msg.value) {\n\t\treturn msg.value;\n\t}\n\treturn '';\n};\n\nexport const uniqueMsgKey = (type, message) => {\n\treturn `${type}_${message}`;\n};\n\nexport const filterDuplicateNotificationMessages = (\n\tnotifications,\n\tnotificationMessages,\n) => {\n\tconst newNotificationMessages = { ...notificationMessages };\n\n\tconst uniqueNotifications = notifications.filter(\n\t\t({ type, message, preventDuplicates = true }) => {\n\t\t\tif (!type || !message) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tconst msgKey = uniqueMsgKey(type, message);\n\n\t\t\t// Check against the original map from the previous state.\n\t\t\tif (preventDuplicates && notificationMessages[msgKey]) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// If it's unique, add it to the new map for the next state update.\n\t\t\tnewNotificationMessages[msgKey] = true;\n\t\t\treturn true;\n\t\t},\n\t);\n\n\treturn { uniqueNotifications, newNotificationMessages };\n};\n\nexport const processNewNotificationItems = (\n\tnotifications,\n\tprefix,\n\tcomponentId,\n) => {\n\treturn notifications.map((notification) => {\n\t\tif (notification.type && notification.message) {\n\t\t\tconst {\n\t\t\t\tid,\n\t\t\t\ttype,\n\t\t\t\tmessage,\n\t\t\t\texpanded = false,\n\t\t\t\taction,\n\t\t\t} = notification;\n\n\t\t\tconst updatedNotificationProps = transformedNotification(\n\t\t\t\tgenerateId(prefix, componentId, id),\n\t\t\t\ttype,\n\t\t\t\tmessage,\n\t\t\t\taction,\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...notification,\n\t\t\t\t...updatedNotificationProps,\n\t\t\t\texpanded,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...notification,\n\t\t\tid: generateId(prefix, componentId, notification.id),\n\t\t};\n\t});\n};\n\nexport const getHighAssuranceNotificationItems = (items) => {\n\t/* filtering the auth notification using the span class 'sn-high-assurance-notif' which is unique to auth notification for now.\n\t * This behavior will be replaced when alternative solution's are worked upon by the auth team in future.\n\t */\n\treturn items.find((item) => {\n\t\treturn isHighAssuranceNotificationInMessage(\n\t\t\tgetMessageOrContentValue(item.message || item.content),\n\t\t);\n\t});\n};\n\nexport const removeHighAssuranceNotificationItems = (items) => {\n\treturn items.filter(filterSpanInMessage);\n};\n\nexport const applyExpLevelNotificationConfig = (\n\tnotifications,\n\tshouldExpandAlerts,\n\texpLevelAutoDismissalSettings,\n) => {\n\treturn notifications.map((notification) => {\n\t\treturn {\n\t\t\t...handleAutoDismissal(notification, expLevelAutoDismissalSettings),\n\t\t\t...(shouldExpandAlerts && { expanded: true }),\n\t\t};\n\t});\n};\n\nexport const filterDismissedNotificationMessages = (\n\tnewNotifications,\n\tprevNotificationMessages,\n) => {\n\treturn Object.keys(prevNotificationMessages).reduce((acc, msgKey) => {\n\t\tif (!isNotificationMissing(msgKey, newNotifications)) {\n\t\t\tacc[msgKey] = prevNotificationMessages[msgKey];\n\t\t}\n\t\treturn acc;\n\t}, {});\n};\n\nexport const handleNewNotificationItems = (\n\tnotificationItems,\n\tnotificationMessages,\n\tprefix,\n\tcomponentId,\n) => {\n\tconst { uniqueNotifications, newNotificationMessages } =\n\t\tfilterDuplicateNotificationMessages(\n\t\t\tnotificationItems,\n\t\t\tnotificationMessages,\n\t\t);\n\tconst newNotificationItems = processNewNotificationItems(\n\t\tuniqueNotifications,\n\t\tprefix,\n\t\tcomponentId,\n\t);\n\treturn { newNotificationItems, newNotificationMessages };\n};\n\nexport const handleDismissedNotifications = (\n\tprevNotifications,\n\tcurrentNotifications,\n\tpreviousNotificationMessages,\n) => {\n\tif (prevNotifications) {\n\t\tfor (let index = 0; index < prevNotifications.length; index++) {\n\t\t\tconst notificationIndex = currentNotifications.findIndex(\n\t\t\t\t(currentNotification) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tcurrentNotification.id === prevNotifications[index].id\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t);\n\t\t\tif (\n\t\t\t\tnotificationIndex >= 0 &&\n\t\t\t\tprevNotifications[index].expanded !== undefined\n\t\t\t) {\n\t\t\t\tcurrentNotifications[notificationIndex].expanded =\n\t\t\t\t\tprevNotifications[index].expanded;\n\t\t\t}\n\t\t}\n\t}\n\tconst newNotifications = sortNotifications(currentNotifications);\n\tconst newNotificationMessages = filterDismissedNotificationMessages(\n\t\tnewNotifications,\n\t\tpreviousNotificationMessages,\n\t);\n\treturn { newNotifications, newNotificationMessages };\n};\n\n/**\n * Core function to process notification additions\n * @param {Object} params - The parameters object\n * @param {Array} params.items - Notification items to add\n * @param {Object} params.notificationMessages - Current notification messages\n * @param {string} [params.prefix] - Prefix for notification IDs (defaults to componentId if not provided)\n * @param {string} params.componentId - Component ID\n * @param {Object} params.experiencePageConfig - Unified experience-level notification configuration\n * @param {Array} params.existingNotifications - Current notifications array\n * @returns {Object} Object containing notifications and newNotificationMessages\n */\n\nexport const processAddNotifications = ({\n\titems,\n\tnotificationMessages = {},\n\tprefix,\n\tcomponentId,\n\texperiencePageConfig = null,\n\texistingNotifications = [],\n}) => {\n\tconst notificationPrefix = prefix || componentId || '';\n\tconst filteredNotificationItems =\n\t\tremoveHighAssuranceNotificationItems(items);\n\n\tconst configuredNotifications = applyExpLevelNotificationConfig(\n\t\tfilteredNotificationItems,\n\t\texperiencePageConfig?.autoExpandAlerts ?? false,\n\t\texperiencePageConfig?.expLevelAutoDismissalSettings ?? null,\n\t);\n\n\tconst { newNotificationItems, newNotificationMessages } =\n\t\thandleNewNotificationItems(\n\t\t\tconfiguredNotifications,\n\t\t\tnotificationMessages,\n\t\t\tnotificationPrefix,\n\t\t\tcomponentId,\n\t\t);\n\n\tconst newNotifications = sortNotifications(\n\t\tuniqBy([...newNotificationItems, ...existingNotifications], 'id'),\n\t);\n\n\treturn { newNotifications, newNotificationMessages };\n};\n","import {\n\tactions,\n\tnotificationHandlers as handlers,\n} from '../uxf-page/constants';\nimport track from '@devsnc/ux-metrics';\nimport {\n\tprocessAddNotifications,\n\tgetHighAssuranceNotificationItems,\n\tgenerateId,\n\tsortNotifications,\n\thandleDismissedNotifications,\n\tgetStatus,\n\tloadExperiencePageConfig,\n\ttrackAutoDismissNotificationItems,\n\tfilterDismissedNotificationMessages,\n} from './../behaviors/utils';\n\nconst handleAuthNotification = (authNotificationItems, dispatch) => {\n\tif (authNotificationItems) {\n\t\tdispatch(handlers.HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED, {\n\t\t\tnotifications: [{ ...authNotificationItems }],\n\t\t});\n\t}\n};\n\nexport const addNotificationsEffect = (coeffects) => {\n\tconst { state, action, dispatch, updateState, host } = coeffects;\n\tconst {\n\t\tproperties: {\n\t\t\tpropagateNotifications = false,\n\t\t\tinterceptNotifications = false,\n\t\t} = {},\n\t\tnotificationMessages = {},\n\t} = state;\n\tconst {\n\t\tmeta: { id: componentId },\n\t\tpayload: { prefix, items = [] },\n\t} = action;\n\tif (interceptNotifications || !(Array.isArray(items) && items.length)) {\n\t\treturn;\n\t}\n\tif (propagateNotifications) {\n\t\tdispatch(actions.SET_PROPAGATED_NOTIFICATIONS, {\n\t\t\ttype: 'ADD',\n\t\t\tprefix: componentId,\n\t\t\titems,\n\t\t});\n\t} else {\n\t\tupdateState(({ state }) => {\n\t\t\tconst { authNotification, experiencePageConfig, notifications } =\n\t\t\t\tstate;\n\t\t\tif (!authNotification) {\n\t\t\t\thandleAuthNotification(\n\t\t\t\t\tgetHighAssuranceNotificationItems(items),\n\t\t\t\t\tdispatch,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst resolvedExperiencePageConfig =\n\t\t\t\texperiencePageConfig ?? loadExperiencePageConfig(host);\n\n\t\t\tconst { newNotifications, newNotificationMessages } =\n\t\t\t\tprocessAddNotifications({\n\t\t\t\t\titems,\n\t\t\t\t\tnotificationMessages,\n\t\t\t\t\tprefix,\n\t\t\t\t\tcomponentId,\n\t\t\t\t\texperiencePageConfig: resolvedExperiencePageConfig,\n\t\t\t\t\texistingNotifications: notifications ?? [],\n\t\t\t\t});\n\n\t\t\ttrackAutoDismissNotificationItems(\n\t\t\t\tnewNotifications.filter((n) => {\n\t\t\t\t\treturn n.autoDismissConfig;\n\t\t\t\t}),\n\t\t\t\tcoeffects,\n\t\t\t);\n\t\t\tdispatch(actions.NOTIFICATIONS_UPDATED, {\n\t\t\t\tnotifications: newNotifications,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tnotifications: newNotifications,\n\t\t\t\tnotificationMessages: newNotificationMessages,\n\t\t\t\t...(!experiencePageConfig && {\n\t\t\t\t\texperiencePageConfig: resolvedExperiencePageConfig,\n\t\t\t\t}),\n\t\t\t};\n\t\t});\n\t}\n};\n\nexport const removeNotificationsEffect = ({\n\tstate,\n\taction,\n\tdispatch,\n\tupdateState,\n}) => {\n\tconst {\n\t\tproperties: {\n\t\t\tpropagateNotifications = false,\n\t\t\tinterceptNotifications = false,\n\t\t} = {},\n\t} = state;\n\tconst {\n\t\tmeta: { id: componentId },\n\t\tpayload: { prefix, items = [] },\n\t} = action;\n\n\tif (interceptNotifications || !(Array.isArray(items) && items.length)) {\n\t\treturn;\n\t}\n\tif (propagateNotifications) {\n\t\tdispatch(actions.SET_PROPAGATED_NOTIFICATIONS, {\n\t\t\ttype: 'REMOVE',\n\t\t\tprefix: componentId,\n\t\t\titems,\n\t\t});\n\t} else {\n\t\tupdateState(({ state }) => {\n\t\t\tconst validIds = items.reduce((acc, curr) => {\n\t\t\t\tconst { id } = curr;\n\t\t\t\tif (id) {\n\t\t\t\t\tacc.push(generateId(prefix, componentId, id));\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, []);\n\t\t\tif (validIds.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst notifications = sortNotifications(\n\t\t\t\tstate.notifications.filter((notification) => {\n\t\t\t\t\treturn !validIds.includes(notification.id);\n\t\t\t\t}),\n\t\t\t);\n\n\t\t\tconst notificationMessages = filterDismissedNotificationMessages(\n\t\t\t\tnotifications,\n\t\t\t\tstate.notificationMessages,\n\t\t\t);\n\n\t\t\tdispatch(actions.NOTIFICATIONS_UPDATED, {\n\t\t\t\tnotifications: [...notifications],\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tnotifications,\n\t\t\t\tnotificationMessages,\n\t\t\t};\n\t\t});\n\t}\n};\n\nexport const clearNotificationsEffect = ({ state, dispatch, updateState }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tpropagateNotifications = false,\n\t\t\tinterceptNotifications = false,\n\t\t} = {},\n\t} = state;\n\tif (interceptNotifications) {\n\t\treturn;\n\t}\n\n\tif (propagateNotifications) {\n\t\tdispatch(actions.SET_PROPAGATED_NOTIFICATIONS, {\n\t\t\ttype: 'CLEAR',\n\t\t});\n\t} else {\n\t\tdispatch(actions.NOTIFICATIONS_UPDATED, { notifications: [] });\n\t\tupdateState({ notifications: [], notificationMessages: {} });\n\t}\n};\n\nexport const setNotificationsEffect = ({\n\taction,\n\tdispatch,\n\tupdateState,\n\tstate,\n}) => {\n\tconst { properties: { interceptNotifications = false } = {} } = state;\n\tif (interceptNotifications) {\n\t\treturn;\n\t}\n\tconst {\n\t\tpayload: { value: currentNotifications = [] },\n\t} = action;\n\n\tupdateState(({ state }) => {\n\t\tconst {\n\t\t\tnotificationMessages = {},\n\t\t\tnotifications: prevNotifications = [],\n\t\t} = state;\n\t\tconst { newNotifications, newNotificationMessages } =\n\t\t\thandleDismissedNotifications(\n\t\t\t\tprevNotifications,\n\t\t\t\tcurrentNotifications,\n\t\t\t\tnotificationMessages,\n\t\t\t);\n\t\tdispatch(actions.NOTIFICATIONS_UPDATED, {\n\t\t\tnotifications: newNotifications,\n\t\t});\n\t\treturn {\n\t\t\tnotifications: newNotifications,\n\t\t\tnotificationMessages: newNotificationMessages,\n\t\t};\n\t});\n};\n\nexport const setPropagatedNotificationsEffect = ({\n\thost,\n\tstate,\n\taction,\n\tdispatch,\n}) => {\n\tconst hostId = host.getComponentId();\n\tconst actionHostId = action.meta.id;\n\tif (hostId === actionHostId) {\n\t\treturn;\n\t}\n\tconst {\n\t\tproperties: {\n\t\t\tinterceptNotifications = false,\n\t\t\tpropagateNotifications = [],\n\t\t} = {},\n\t} = state;\n\tif (propagateNotifications) {\n\t\treturn;\n\t}\n\taction.stopPropagation();\n\tif (interceptNotifications) {\n\t\treturn;\n\t}\n\tconst { type, prefix, items = [] } = action.payload;\n\tswitch (type) {\n\t\tcase 'ADD':\n\t\t\tdispatch(handlers.ADD_NOTIFICATIONS, { prefix, items });\n\t\t\tbreak;\n\t\tcase 'REMOVE':\n\t\t\tdispatch(handlers.REMOVE_NOTIFICATIONS, { prefix, items });\n\t\t\tbreak;\n\t\tcase 'CLEAR':\n\t\t\tdispatch(handlers.CLEAR_NOTIFICATIONS, {});\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport const setLoadingStateEffect = ({ action, dispatch, updateState }) => {\n\taction.stopPropagation();\n\tupdateState(({ state }) => {\n\t\tconst {\n\t\t\tloaders_blocking: spinners = [],\n\t\t\tloaders_non_blocking: bars = [],\n\t\t} = state;\n\t\tconst newSpinners = [...spinners];\n\t\tconst newBars = [...bars];\n\t\tconst {\n\t\t\tmeta: { id: componentId },\n\t\t\tpayload: {\n\t\t\t\tid: customId,\n\t\t\t\tloading,\n\t\t\t\tlabel,\n\t\t\t\taction: loadingAction,\n\t\t\t\tnonBlocking = false,\n\t\t\t},\n\t\t} = action;\n\t\tconst loaderId = customId || componentId;\n\t\tlet stateUpdate;\n\t\tif (!loading) {\n\t\t\tlet index = spinners.findIndex((loader) => {\n\t\t\t\treturn loader.loaderId === loaderId;\n\t\t\t});\n\t\t\tif (index !== -1) {\n\t\t\t\tnewSpinners.splice(index, 1);\n\t\t\t}\n\t\t\tstateUpdate = {\n\t\t\t\tpath: 'loaders_blocking',\n\t\t\t\tstart: index,\n\t\t\t\tdeleteCount: 1,\n\t\t\t\toperation: 'splice',\n\t\t\t};\n\n\t\t\tindex = bars.findIndex((loader) => {\n\t\t\t\treturn loader.loaderId === loaderId;\n\t\t\t});\n\t\t\tif (index !== -1) {\n\t\t\t\tnewBars.splice(index, 1);\n\t\t\t\tstateUpdate = {\n\t\t\t\t\tpath: 'loaders_non_blocking',\n\t\t\t\t\tstart: index,\n\t\t\t\t\tdeleteCount: 1,\n\t\t\t\t\toperation: 'splice',\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (!nonBlocking) {\n\t\t\tnewSpinners.push({ loaderId, label, action: loadingAction });\n\t\t\tstateUpdate = {\n\t\t\t\tpath: 'loaders_blocking',\n\t\t\t\tvalue: { loaderId, label, action: loadingAction },\n\t\t\t\toperation: 'push',\n\t\t\t};\n\t\t} else {\n\t\t\tnewBars.push({ loaderId, label, action: loadingAction });\n\t\t\tstateUpdate = {\n\t\t\t\tpath: 'loaders_non_blocking',\n\t\t\t\tvalue: { loaderId, label, action: loadingAction },\n\t\t\t\toperation: 'push',\n\t\t\t};\n\t\t}\n\n\t\tdispatch(actions.LOADING_STATUS_CHANGED, {\n\t\t\tloaders_blocking: newSpinners,\n\t\t\tloaders_non_blocking: newBars,\n\t\t});\n\t\treturn stateUpdate;\n\t});\n};\n\nexport const setNotificationExpandStateEffect = ({\n\tstate,\n\taction,\n\tupdateState,\n}) => {\n\tconst { alertId, value: expanded } = action.payload;\n\tconst { notifications = [] } = state;\n\tconst notificationIndex = notifications.findIndex((notification) => {\n\t\treturn notification.id === alertId;\n\t});\n\tif (notificationIndex >= 0) {\n\t\tupdateState({\n\t\t\tpath: `notifications[${notificationIndex}].expanded`,\n\t\t\toperation: 'set',\n\t\t\tvalue: expanded,\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n};\n\nexport default {\n\tname: 'nowPageNotificationsBehavior',\n\tinitialState: {\n\t\texperiencePageConfig: null,\n\t\tnotificationMessages: {},\n\t\tnotifications: [],\n\t},\n\tactionHandlers: {\n\t\t[handlers.ADD_NOTIFICATIONS]: {\n\t\t\teffect: addNotificationsEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[handlers.REMOVE_NOTIFICATIONS]: {\n\t\t\teffect: removeNotificationsEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[handlers.CLEAR_NOTIFICATIONS]: {\n\t\t\teffect: clearNotificationsEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[handlers.SET_LOADING_STATE]: {\n\t\t\teffect: setLoadingStateEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[actions.SET_PROPAGATED_NOTIFICATIONS]: {\n\t\t\teffect: setPropagatedNotificationsEffect,\n\t\t},\n\t\t'NOW_ALERT_LIST#ITEMS_SET': {\n\t\t\teffect: setNotificationsEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t'NOW_ALERT#EXPANDED_SET': {\n\t\t\teffect: setNotificationExpandStateEffect,\n\t\t},\n\t\t'NOW_ALERT#ACTION_CLICKED': {\n\t\t\teffect({ action, dispatch, updateState }) {\n\t\t\t\tconst { authNotification } = action.payload.action;\n\t\t\t\tif (authNotification) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'authNotification',\n\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst { payload: { alertId, action: alertAction } = {} } =\n\t\t\t\t\t\taction;\n\t\t\t\t\tdispatch(actions.NOTIFICATION_ACTION_CLICKED, {\n\t\t\t\t\t\talertId,\n\t\t\t\t\t\taction: { ...alertAction },\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'shouldRestoreFocus',\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t'NOW_LOADER#ACTION_CLICKED': {\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tdispatch(actions.LOADER_ACTION_CLICKED, { ...action.payload });\n\t\t\t},\n\t\t},\n\t\t'PAGE_NOTIFICATIONS#RECORD_LINK_CLICKED': {\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tdispatch(actions.RECORD_LINK_CLICKED, { ...action.payload });\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t'NOW_ALERT#AUTO_DISMISS': {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { alertId },\n\t\t\t\t\t},\n\t\t\t\t\tstate: {\n\t\t\t\t\t\tnotifications = [],\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tinterceptNotifications = false,\n\t\t\t\t\t\t\tpropagateNotifications = false,\n\t\t\t\t\t\t} = {},\n\t\t\t\t\t},\n\t\t\t\t\tupdateState,\n\t\t\t\t} = coeffects;\n\t\t\t\tif (interceptNotifications) {\n\t\t\t\t\tcoeffects.action.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (propagateNotifications) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dismissedNotification = notifications.find(({ id }) => {\n\t\t\t\t\treturn id === alertId;\n\t\t\t\t});\n\t\t\t\ttrack(coeffects, 'Auto dismiss alert', {\n\t\t\t\t\ttype:\n\t\t\t\t\t\tdismissedNotification?.status ??\n\t\t\t\t\t\tgetStatus(dismissedNotification?.type),\n\t\t\t\t});\n\t\t\t\tcoeffects.action.stopPropagation();\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'shouldRestoreFocus',\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","import {\n\tcreateCustomElement,\n\tactionTypes,\n\tgetAncestorNode,\n} from '@servicenow/ui-core';\nimport { getActiveElement } from '@servicenow/library-enhanced-utils';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty, toString, noop } from 'lodash';\nimport '../uxf-page-notifications/uxfPageNotifications';\nimport '@servicenow/now-alert';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-template-message';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-progress-bar';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\nimport styles from './styles.scss';\nimport {\n\tariaProgressBarConfig,\n\tfindFocusableElement,\n\tmanageFocus,\n\trestoreFocus,\n\tapplyStyleAndFocus,\n\tremoveEmptyState,\n\tisHighAssuranceNotificationInMessage,\n\tgetIsScreenPreviewFromURL,\n\tcalculateTopPxValue,\n} from '../utils';\nimport nowUxfPageNotificationsBehavior from '../behaviors/nowUxfPageNotificationsBehavior';\nimport { notificationHandlers as handlers } from '../uxf-page/constants';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_TREE_RENDERED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\nconst view = (state, { dispatch, updateState }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\tbare,\n\t\t\tscrollable,\n\t\t\theadingLevel,\n\t\t\theadingOnlyVisibleToScreenReaders,\n\t\t\tinterceptNotifications,\n\t\t\tpropagateNotifications,\n\t\t},\n\t\tnotifications = [],\n\t\tloaders_blocking: loadersBlocking = [],\n\t\tloaders_non_blocking: loadersNonBlocking = [],\n\t\tactiveElement,\n\t\ttargetRef,\n\t\tauthNotification = null,\n\t\tshouldRestoreFocus,\n\t} = state;\n\tconst isLoading = loadersBlocking.length > 0 || loadersNonBlocking > 0;\n\tlet totalNotifications = [];\n\tif (!interceptNotifications && !propagateNotifications) {\n\t\ttotalNotifications = notifications;\n\t}\n\tconst ariaProps = {\n\t\t'aria-live': 'polite',\n\t\t'aria-busy': `${isLoading}`,\n\t\t'aria-label': loadersBlocking[0]?.label,\n\t};\n\tlet nowLoaderObserver = null;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\tpage: true,\n\t\t\t\tpadded: !bare,\n\t\t\t\tloading: isLoading,\n\t\t\t\t[`scroll-${scrollable}`]: scrollable,\n\t\t\t}}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tif (elm.scrollTop !== 0 || elm.scrollLeft !== 0) {\n\t\t\t\t\t\telm.scrollTo(0, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}}>\n\t\t\t{loadersBlocking.length > 0 ? (\n\t\t\t\t<div className=\"loading-overlay\">\n\t\t\t\t\t<now-loader\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\tlabel={loadersBlocking[0].label}\n\t\t\t\t\t\taction={loadersBlocking[0].action}\n\t\t\t\t\t\thook={{\n\t\t\t\t\t\t\tinsert(vnode) {\n\t\t\t\t\t\t\t\tconst options = {\n\t\t\t\t\t\t\t\t\troot: null, // relative to the viewport\n\t\t\t\t\t\t\t\t\trootMargin: '0px',\n\t\t\t\t\t\t\t\t\tthreshold: 0.1, // 10% of the element is visible\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tconst observerHandler = (entries) => {\n\t\t\t\t\t\t\t\t\tconst intersectingEntry = entries.find(\n\t\t\t\t\t\t\t\t\t\t(entry) => {\n\t\t\t\t\t\t\t\t\t\t\treturn entry.isIntersecting;\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif (intersectingEntry) {\n\t\t\t\t\t\t\t\t\t\tmanageFocus(\n\t\t\t\t\t\t\t\t\t\t\t'now-loader',\n\t\t\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\t\t\ttargetRef,\n\t\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tnowLoaderObserver = new IntersectionObserver(\n\t\t\t\t\t\t\t\t\tobserverHandler,\n\t\t\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tnowLoaderObserver.observe(vnode.elm);\n\t\t\t\t\t\t\t\tif (loadersBlocking[0]?.label) {\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tmessage: loadersBlocking[0]?.label,\n\t\t\t\t\t\t\t\t\t\t\ttype: 'polite',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdestroy(vnode) {\n\t\t\t\t\t\t\t\trestoreFocus(activeElement);\n\t\t\t\t\t\t\t\tif (nowLoaderObserver) {\n\t\t\t\t\t\t\t\t\tnowLoaderObserver.unobserve(vnode.elm);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}><\/now-loader>\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t{loadersBlocking.length === 0 && loadersNonBlocking.length > 0 ? (\n\t\t\t\t<now-progress-bar\n\t\t\t\t\t{...ariaProgressBarConfig(loadersNonBlocking)}\n\t\t\t\t\tpathType=\"initial\"\n\t\t\t\t\tsize=\"sm\"><\/now-progress-bar>\n\t\t\t) : null}\n\t\t\t{scrollable &&\n\t\t\t\tcalculateTopPxValue(state, targetRef) === '0px' && ( //div tag was introduced to make the parent div tag scrollable\n\t\t\t\t\t<div className=\"scrollable-focus-wrapper\" tabIndex=\"0\" /> //by using a focusable div tag inside\n\t\t\t\t)}\n\t\t\t<sn-uxf-page-notifications\n\t\t\t\tclassName=\"notifications\"\n\t\t\t\tnotifications={totalNotifications}\n\t\t\t\tauthNotification={authNotification}\n\t\t\t\ttargetRef={targetRef}\n\t\t\t\tshouldRestoreFocus={shouldRestoreFocus}\n\t\t\t\taria-hidden={\n\t\t\t\t\ttotalNotifications.length || authNotification\n\t\t\t\t\t\t? 'false'\n\t\t\t\t\t\t: 'true'\n\t\t\t\t}><\/sn-uxf-page-notifications>\n\t\t\t{!isEmpty(label) && (\n\t\t\t\t<now-heading\n\t\t\t\t\tclass={{\n\t\t\t\t\t\theading: true,\n\t\t\t\t\t\t'only-visible-to-screen-readers':\n\t\t\t\t\t\t\theadingOnlyVisibleToScreenReaders,\n\t\t\t\t\t}}\n\t\t\t\t\tlevel={toString(headingLevel)}\n\t\t\t\t\tvariant=\"header-primary\"\n\t\t\t\t\twontWrap={true}\n\t\t\t\t\tlabel={toString(label)}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<slot\n\t\t\t\ton-slotchange={(e) => {\n\t\t\t\t\treturn removeEmptyState(e.target);\n\t\t\t\t}}>\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\theading={{ label: t('No content available.') }}\n\t\t\t\t\tcontent={t(\n\t\t\t\t\t\t'Contact your ServiceNow administrator for more information.',\n\t\t\t\t\t)}\n\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t/>\n\t\t\t<\/slot>\n\t\t<\/div>\n\t);\n};\n\nexport const getAuthNotificationEffect = (updateState, payload) => {\n\tconst { notifications } = payload;\n\tif (Array.isArray(notifications) && notifications.length > 0) {\n\t\tconst authNotification = notifications.find((notification) => {\n\t\t\treturn isHighAssuranceNotificationInMessage(\n\t\t\t\tnotification?.text ||\n\t\t\t\t\tnotification?.message ||\n\t\t\t\t\tnotification?.content,\n\t\t\t);\n\t\t});\n\t\tif (authNotification) {\n\t\t\tupdateState(({ state }) => {\n\t\t\t\tif (!state.authNotification) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath: 'authNotification',\n\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\tauthNotification.text ||\n\t\t\t\t\t\t\tauthNotification.message ||\n\t\t\t\t\t\t\tauthNotification.content,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst TAG_NAME = 'now-uxf-page';\n\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tbehaviors: [\n\t\trtlBehavior,\n\t\tnowUxfPageNotificationsBehavior,\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: noop,\n\t\t\t},\n\t\t},\n\t],\n\tproperties: {\n\t\tlabel: { default: '' },\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tscrollable: {\n\t\t\tdefault: 'y',\n\t\t},\n\t\theadingLevel: { default: 1 },\n\t\theadingOnlyVisibleToScreenReaders: { default: false },\n\t\tinterceptNotifications: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tpropagateNotifications: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]({ host, updateState }) {\n\t\t\tupdateState({\n\t\t\t\ttargetRef: host,\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_TREE_RENDERED]() {\n\t\t\tif (getActiveElement()?.nodeName === 'BODY') {\n\t\t\t\tconst headingElement = findFocusableElement(\n\t\t\t\t\t'now-heading',\n\t\t\t\t\t'h1',\n\t\t\t\t\tdocument.body,\n\t\t\t\t);\n\t\t\t\tif (document.activeElement !== headingElement) {\n\t\t\t\t\tapplyStyleAndFocus(headingElement);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: [handlers.HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED],\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\thost,\n\t\t\t\t\taction: { payload },\n\t\t\t\t\tupdateState,\n\t\t\t\t} = coeffects;\n\t\t\t\t// checks if the page is in preview mode\n\t\t\t\tif (getIsScreenPreviewFromURL()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst parentNode = getAncestorNode(host);\n\t\t\t\tif (!parentNode) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst ancestorNodeParent = getAncestorNode(parentNode);\n\t\t\t\tif (\n\t\t\t\t\tancestorNodeParent?.tagName?.toLowerCase() ===\n\t\t\t\t\t\t'sn-canvas-screen' &&\n\t\t\t\t\tancestorNodeParent.screenData?.isActive\n\t\t\t\t) {\n\t\t\t\t\tgetAuthNotificationEffect(updateState, payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\ttarget: document,\n\t\t},\n\t],\n\tinitialState: {\n\t\tauthNotification: null,\n\t\tloaders_blocking: [],\n\t\tloaders_non_blocking: [],\n\t\tactiveElement: null,\n\t\ttargetRef: null,\n\t\tshouldRestoreFocus: true,\n\t},\n\tstyles,\n});\n\nexport default TAG_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-collapse';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport { isEmpty, toString } from 'lodash';\nimport styles from './styles.scss';\nimport '@servicenow/now-template-message';\nimport { ariaHeading, ariaLabel, removeEmptyState } from '../utils';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\n/**\n * Dispatched action when the collapsible container is interacted by the user.\n */\nconst UXF_PAGE_COLLAPSED_SET = 'NOW-UXF-PAGE-CONTAINER#COLLAPSED_SET';\nconst NO_CONTENT_HEADING = t('No content available.');\nconst NO_CONTENT_MESSAGE = t(\n\t'Contact your ServiceNow administrator for more information.',\n);\n\n/**\n * Function for rendering the page container content\n * @param {string} label The heading label\n * @param {boolean} hideEmptyStateUi Whether to display an empty state message\n */\nconst renderContent = (label, hideEmptyStateUi) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{label && (\n\t\t\t\t<now-heading\n\t\t\t\t\tclassName=\"main-heading\"\n\t\t\t\t\tlabel={toString(label)}\n\t\t\t\t\tlevel=\"2\"\n\t\t\t\t\tvariant=\"header-secondary\"\n\t\t\t\t\twontWrap={true}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{hideEmptyStateUi ? (\n\t\t\t\t<slot />\n\t\t\t) : (\n\t\t\t\t<slot\n\t\t\t\t\ton-slotchange={(e) => {\n\t\t\t\t\t\treturn removeEmptyState(e.target);\n\t\t\t\t\t}}>\n\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\theading={NO_CONTENT_HEADING}\n\t\t\t\t\t\tcontent={NO_CONTENT_MESSAGE}\n\t\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t\t/>\n\t\t\t\t<\/slot>\n\t\t\t)}\n\t\t<\/Fragment>\n\t);\n};\n\n/**\n * Function for rendering a tool tip for chevron button in the case of a collapsable container.\n * @param {*} state\n * @param {boolean} canCollapse Whether the container can be collapsed\n * @param {boolean} collapsed The initial state of the container\n * @returns A now-tooltip for the chevron button if the container is collapsable, null otherwise.\n */\nexport const renderTooltip = (state, canCollapse, collapsed) => {\n\tconst {\n\t\tproperties: {\n\t\t\texpandButtonTooltipContent,\n\t\t\tcollapseButtonTooltipContent,\n\t\t},\n\t} = state;\n\tconst tooltipMessage = collapsed\n\t\t? expandButtonTooltipContent\n\t\t: collapseButtonTooltipContent;\n\treturn canCollapse ? (\n\t\t<now-tooltip\n\t\t\tid={`tooltip-${state.componentId}`}\n\t\t\ttarget-ref={state.targetRef}\n\t\t\tcontent={tooltipMessage}\n\t\t\tposition={['top-start']}\n\t\t/>\n\t) : null;\n};\n\n/**\n * Callback function for determining whether a modal has been hoisted\n * @param {*} props state properties of the container\n * @returns true when it is a modal that is not hoisted\n */\nexport const unHoistCanvasModal = (props) => {\n\treturn (\n\t\tprops.isModalContainer &&\n\t\t'nowHoist' in props &&\n\t\t'nowHoistAppendTo' in props &&\n\t\tisEmpty(props.nowHoist) &&\n\t\tisEmpty(props.nowHoistAppendTo)\n\t);\n};\n\nconst getBgClass = (canCollapse, bgvar, type) => {\n\tif (canCollapse) {\n\t\treturn;\n\t}\n\tif (bgvar) {\n\t\treturn `variant-${bgvar}`;\n\t}\n\tif (type === 'visualizations') {\n\t\treturn 'variant-neutral-1';\n\t}\n};\n\n/**\n * Callback function that generates the view of the container.\n * @param {*} state\n * @param {{updateProperties: function, updateState:function, dispatch:function}} helpers\n */\nconst view = (state, { updateProperties, updateState, dispatch }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\tbare,\n\t\t\ttype,\n\t\t\tbgvar,\n\t\t\tborder,\n\t\t\tcanCollapse,\n\t\t\tcollapsed,\n\t\t\texpandButtonTooltipContent,\n\t\t\tcollapseButtonTooltipContent,\n\t\t\tariaRegionName,\n\t\t\tariaRegionHeadingLevel,\n\t\t\tincludeAriaHeading,\n\t\t\thideEmptyStateUi,\n\t\t},\n\t} = state;\n\n\tconst isUnHoistCanvasModal = unHoistCanvasModal(state.properties);\n\tif (isUnHoistCanvasModal) {\n\t\treturn;\n\t}\n\n\tconst setTargetRef = (ref) => {\n\t\treturn setTimeout(() => {\n\t\t\treturn updateState({ targetRef: ref });\n\t\t});\n\t};\n\n\tconst bg = getBgClass(canCollapse, bgvar, type);\n\n\tconst bordered = !canCollapse && border;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"region\"\n\t\t\t{...ariaLabel(\n\t\t\t\tstate.componentId,\n\t\t\t\tariaRegionName,\n\t\t\t\tincludeAriaHeading,\n\t\t\t)}\n\t\t\tclass={{\n\t\t\t\tcontainer: true,\n\t\t\t\tpadded: !bare,\n\t\t\t\tbordered,\n\t\t\t\t[bg]: bg,\n\t\t\t\tcollapsible: canCollapse,\n\t\t\t\tcollapsed,\n\t\t\t\t'expand-container': !(collapsed || canCollapse),\n\t\t\t}}>\n\t\t\t{includeAriaHeading\n\t\t\t\t? ariaHeading(\n\t\t\t\t\t\tstate.componentId,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel,\n\t\t\t\t\t)\n\t\t\t\t: null}\n\t\t\t{canCollapse ? (\n\t\t\t\t// nds-scanner-disable-start native-element\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"collapse-trigger\"\n\t\t\t\t\taria-expanded={collapsed ? 'false' : 'true'}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tupdateProperties({ collapsed: !collapsed });\n\t\t\t\t\t\tdispatch(UXF_PAGE_COLLAPSED_SET, {\n\t\t\t\t\t\t\tvalue: !collapsed,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\t\treturn setTargetRef(elm);\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={() => {\n\t\t\t\t\t\treturn setTargetRef(null);\n\t\t\t\t\t}}\n\t\t\t\t\taria-describedby={`tooltip-${state.componentId}`}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tcollapsed\n\t\t\t\t\t\t\t? expandButtonTooltipContent\n\t\t\t\t\t\t\t: collapseButtonTooltipContent\n\t\t\t\t\t}>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tcollapsed ? 'chevron-down-fill' : 'chevron-up-fill'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsize=\"md\"><\/now-icon>\n\t\t\t\t\t{isEmpty(label) ? null : (\n\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\tlabel={toString(label)}\n\t\t\t\t\t\t\tlevel=\"2\"\n\t\t\t\t\t\t\tvariant=\"title-secondary\"\n\t\t\t\t\t\t\twontWrap={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<hr />\n\t\t\t\t<\/button> // nds-scanner-disable-end\n\t\t\t) : null}\n\t\t\t{canCollapse ? (\n\t\t\t\t<now-collapse expanded={!collapsed}>\n\t\t\t\t\t{renderContent(label, hideEmptyStateUi)}\n\t\t\t\t<\/now-collapse>\n\t\t\t) : (\n\t\t\t\t<Fragment>{renderContent(label, hideEmptyStateUi)}<\/Fragment>\n\t\t\t)}\n\t\t\t{renderTooltip(state, canCollapse, collapsed)}\n\t\t<\/div>\n\t);\n};\n\n/**\n * Represents the container's element name following ServiceNow naming convention\n */\nconst TAG_NAME = 'now-uxf-page-container';\n\n/**\n * ## UXF Page Container:\n *\n * A UXF owned component responsible for being a container for various other components on pages built using seismic.\n *\n * @summary A page container that is used for seismic pages that acts as a base or container for various components in the UI.\n * @seismicElement now-uxf-page-container\n */\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tbehaviors: [rtlBehavior],\n\tproperties: {\n\t\t/**\n\t\t * The header of the now-uxf-page-container\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Applies the padded class when false\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\ttype: {},\n\t\t/**\n\t\t * The background color varient for now-uxf-page-container\n\t\t * Neutral-0 or Neutral-1\n\t\t * @type {(\"Neutral-0\" | \"Neutral-1\")}\n\t\t */\n\t\tbgvar: {},\n\n\t\t/**\n\t\t * Whether or not the container has a border\n\t\t * @type {boolean}\n\t\t */\n\t\tborder: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Sets the container state as collapsed or not\n\t\t * @type {boolean}\n\t\t */\n\t\tcollapsed: {\n\t\t\tdefault: false,\n\t\t\treflect: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Makes the container collapsible with a chevron button and 2 levels of header text\n\t\t * @type {boolean}\n\t\t */\n\t\tcanCollapse: {\n\t\t\tdefault: false,\n\t\t\treflect: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Whether it is a modal, or not.\n\t\t * @type {boolean}\n\t\t */\n\t\tisModalContainer: {\n\t\t\tdefault: false,\n\t\t\treflect: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Text for the content of the tool tip upon hovering over the uncollapse icon\n\t\t * @type {string}\n\t\t */\n\t\texpandButtonTooltipContent: {\n\t\t\tdefault: t('Expand container to show contents'),\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Text for the content of the tool tip upon hovering over the collapse icon\n\t\t * @type {string}\n\t\t */\n\t\tcollapseButtonTooltipContent: {\n\t\t\tdefault: t('Collapse container to hide contents'),\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Heading/Name for ARIA Landmark region\n\t\t * @type {string}\n\t\t */\n\t\tariaRegionName: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, will include a non visible heading in the ARIA region.\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeAriaHeading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the level of the non visible HTML heading element within ARIA region.\n\t\t * @type {('1'|'2'|'3'|'4'|'5'|'6')}\n\t\t */\n\t\tariaRegionHeadingLevel: {\n\t\t\tdefault: '1',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['1', '2', '3', '4', '5', '6'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the empty state UI will be hidden even in empty states\n\t\t * @type {boolean}\n\t\t */\n\t\thideEmptyStateUi: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\n});\n\nexport default TAG_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"uxfViewportBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t\t} else if ('uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.uxfViewportBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t} });","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-template-message';\nimport { t } from 'sn-translate';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport styles from './styles.scss';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport { removeEmptyState } from '../utils';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const requestRoute = ({ dispatch, properties }) => {\n\tconst { activeRoute, viewportRoutes, headless } = properties;\n\n\t// When the component is used in headless mode (by macroponent factory), ignore this handler\n\tif (headless) {\n\t\treturn;\n\t}\n\n\t// for now we only request the first configured route\n\tconst route = viewportRoutes ? Object.keys(viewportRoutes)[0] : null;\n\tconst isNewRoute = route !== get(activeRoute, ['routeType']);\n\n\tif (route && isNewRoute) {\n\t\tdispatch('VIEWPORT_ROUTE_REQUESTED', { route });\n\t}\n};\n\nexport const propertyChangedHandler = (coeffects) => {\n\tconst { name } = coeffects.action.payload;\n\n\tif (name === 'viewportRoutes') {\n\t\trequestRoute(coeffects);\n\t}\n};\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tscrollable,\n\t\t\theight,\n\t\t\twidth,\n\t\t\tviewportRoutes,\n\t\t\theadless,\n\t\t\thideEmptyStateUi,\n\t\t},\n\t} = state;\n\n\tconst style = {\n\t\theight,\n\t\twidth,\n\t};\n\n\t// uxf runtime assumes all metadata-driven viewports use slot=\"viewport\". We\n\t// need to keep the default slot around for backwards compatibility and in\n\t// cases where this component is used programatically/outside uxf\n\tconst hasRoutes = !isEmpty(viewportRoutes);\n\tconst slotName = hasRoutes || headless ? 'viewport' : undefined;\n\n\treturn (\n\t\t// nds-scanner-disable-start inline-styles\n\t\t<div\n\t\t\tclass={{ viewport: true, [`scroll-${scrollable}`]: scrollable }}\n\t\t\tstyle={style}>\n\t\t\t{hideEmptyStateUi ? (\n\t\t\t\t<slot name={slotName} />\n\t\t\t) : (\n\t\t\t\t<slot\n\t\t\t\t\tname={slotName}\n\t\t\t\t\ton-slotchange={(e) => {\n\t\t\t\t\t\treturn removeEmptyState(e.target);\n\t\t\t\t\t}}>\n\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\theading={{ label: t('No content available.') }}\n\t\t\t\t\t\tcontent={t(\n\t\t\t\t\t\t\t'Contact your ServiceNow administrator for more information.',\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t\t/>\n\t\t\t\t<\/slot>\n\t\t\t)}\n\t\t<\/div>\n\t\t// nds-scanner-disable-end\n\t);\n};\n\nconst TAG_NAME = 'now-uxf-viewport';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tproperties: {\n\t\tscrollable: {},\n\t\theight: {},\n\t\twidth: {},\n\t\theadless: {\n\t\t\tdefault: false,\n\t\t},\n\t\thideEmptyStateUi: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t/**\n\t\t * When this component is given a map of routes, we need to go request that\n\t\t * one of those routes gets loaded.\n\t\t */\n\t\t[COMPONENT_CONNECTED]: requestRoute,\n\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedHandler,\n\t},\n\tbehaviors: [uxfViewportBehavior],\n\tstyles,\n});\n\nexport default TAG_NAME;\n","import { t } from 'sn-translate';\n\nexport const DEFAULT_404_MESSAGE = t(\n\t'The page you are looking for could not be found',\n);\nexport const VIEWPORT_SCREEN_LABEL = t('Screen content');\nexport const VIEWPORT_SCREEN_LOADING_MESSAGE = t('Loading...');\n\nexport const TAG_NAME = 'sn-uxf-viewport-screen';\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-heading';\nimport styles from './styles.scss';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport {\n\tVIEWPORT_SCREEN_LABEL,\n\tVIEWPORT_SCREEN_LOADING_MESSAGE,\n\tDEFAULT_404_MESSAGE,\n\tTAG_NAME,\n} from './constants';\n\nexport const Default404 = () => {\n\treturn (\n\t\t<now-heading\n\t\t\tlabel={DEFAULT_404_MESSAGE}\n\t\t\tlevel=\"1\"\n\t\t\tvariant=\"title-primary\"\n\t\t/>\n\t);\n};\n\nexport const view = (state) => {\n\tconst { showDefault404 } = state;\n\treturn (\n\t\t<main\n\t\t\tclassName=\"sn-uxf-viewport-screen\"\n\t\t\taria-label={VIEWPORT_SCREEN_LABEL}>\n\t\t\t<slot name=\"viewport\">\n\t\t\t\t<span>{VIEWPORT_SCREEN_LOADING_MESSAGE}<\/span>\n\t\t\t\t{showDefault404 ? <Default404 /> : null}\n\t\t\t<\/slot>\n\t\t<\/main>\n\t);\n};\n\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: uxfViewportBehavior,\n\t\t\toptions: { canSyncWithURL: true },\n\t\t},\n\t],\n\tstyles,\n});\n\nexport default TAG_NAME;\n","export const VIEWPORT_ROUTE_REQUESTED = 'VIEWPORT_ROUTE_REQUESTED';\nexport const VIEWPORT_ROUTE_DISMISSED = 'VIEWPORT_ROUTE_DISMISSED';\nexport const LOAD_VIEWPORT_CONTENT = 'LOAD_VIEWPORT_CONTENT';\nexport const HOIST_VIEWPORT_CONTENT = 'HOIST_VIEWPORT_CONTENT';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const CANVAS_MODAL_OPENED = 'CANVAS_MODAL#OPENED';\nexport const CANVAS_MODAL_CLOSED = 'CANVAS_MODAL#CLOSED';\nexport const CANVAS_MODAL_RESIZED = 'CANVAS_MODAL#RESIZED';\nexport const MODAL_CONTENT_LOADED =\n\t'NOW_UXF_VIEWPORT_MODAL#MODAL_CONTENT_LOADED';\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_RENDERED } = actionTypes;\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport {\n\tVIEWPORT_ROUTE_REQUESTED,\n\tVIEWPORT_ROUTE_DISMISSED,\n\tLOAD_VIEWPORT_CONTENT,\n\tHOIST_VIEWPORT_CONTENT,\n\tMODAL_SELECTED,\n\tCANVAS_MODAL_OPENED,\n\tCANVAS_MODAL_CLOSED,\n\tCANVAS_MODAL_RESIZED,\n} from './constants';\n\nconst getCanvasModalAction = (showModal) => {\n\treturn showModal ? CANVAS_MODAL_OPENED : CANVAS_MODAL_CLOSED;\n};\n\nconst TAG_NAME = 'now-uxf-modal-viewport';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tview() {\n\t\treturn <slot name=\"viewport\" />;\n\t},\n\tbehaviors: [uxfViewportBehavior],\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]({ host, action, dispatch, properties }) {\n\t\t\tconst { previousRenderProperties: prevProps } = action.payload;\n\t\t\tconst { contents, activeRoute } = properties;\n\n\t\t\tif (contents?.route && contents !== prevProps.contents) {\n\t\t\t\tdispatch(\n\t\t\t\t\tLOAD_VIEWPORT_CONTENT,\n\t\t\t\t\t{ contents },\n\t\t\t\t\t{ ...(contents?.meta ?? {}) },\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (activeRoute && activeRoute !== prevProps.activeRoute) {\n\t\t\t\tconst elementRef = host.nowRootNode\n\t\t\t\t\t.querySelector('slot')\n\t\t\t\t\t.assignedElements()[0];\n\t\t\t\tdispatch(\n\t\t\t\t\tHOIST_VIEWPORT_CONTENT,\n\t\t\t\t\t{ elementRef },\n\t\t\t\t\t{ ...(contents?.meta ?? {}) },\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[LOAD_VIEWPORT_CONTENT]: {\n\t\t\tmodifier: { name: 'debounce', delay: 10 },\n\t\t\tstopPropagation: true,\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: { contents = {} },\n\t\t\t\t\tmeta: { uxfMeta = {} },\n\t\t\t\t} = action;\n\t\t\t\tif (contents.route) {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tVIEWPORT_ROUTE_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...contents,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuxfMeta,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[HOIST_VIEWPORT_CONTENT]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect({ action, dispatch, properties }) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: { elementRef },\n\t\t\t\t\tmeta: { uxfMeta = {} },\n\t\t\t\t} = action;\n\n\t\t\t\tconst {\n\t\t\t\t\tactiveRoute,\n\t\t\t\t\tdisplayOptions = {},\n\t\t\t\t\tbare,\n\t\t\t\t\tsize,\n\t\t\t\t\tdisableDismiss,\n\t\t\t\t\tenableResizable,\n\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\tresizableMaxWidth,\n\t\t\t\t} = properties;\n\n\t\t\t\tif (!elementRef) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// When this viewport is hoisted to the modal, it needs to use the\n\t\t\t\t// default slot rather than the `slot=\"viewport\"` that UXF uses\n\t\t\t\telementRef.setAttribute('slot', '');\n\n\t\t\t\t// Watch for when the viewport contents is no longer hoisted. This\n\t\t\t\t// happens when the user dismisses the modal, and at that point we need\n\t\t\t\t// to tell UXF that this screen has been dismissed\n\t\t\t\tconst observer = new MutationObserver((mutations) => {\n\t\t\t\t\tfor (const mutation of mutations) {\n\t\t\t\t\t\tif (!mutation.target.nowHoist) {\n\t\t\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\t\t\tdispatch(VIEWPORT_ROUTE_DISMISSED, {\n\t\t\t\t\t\t\t\troute: activeRoute.routeType,\n\t\t\t\t\t\t\t\tfields: activeRoute.fields,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst height =\n\t\t\t\t\t\t\t\tmutation.target.getAttribute('height');\n\t\t\t\t\t\t\tconst width = mutation.target.getAttribute('width');\n\n\t\t\t\t\t\t\tif (height !== null && width !== null) {\n\t\t\t\t\t\t\t\tdispatch(CANVAS_MODAL_RESIZED, {\n\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\tfields: activeRoute.fields,\n\t\t\t\t\t\t\t\t});\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});\n\t\t\t\tobserver.observe(elementRef, {\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tattributeFilter: ['now-hoist', 'height', 'width'],\n\t\t\t\t});\n\n\t\t\t\tconst payload = {\n\t\t\t\t\tmodalId: elementRef.getAttribute('now-id'),\n\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\tdisableDismiss,\n\t\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t\tenableResizable,\n\t\t\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\t\t\tresizableMaxWidth,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...displayOptions,\n\t\t\t\t\t},\n\t\t\t\t\tbare: Boolean(bare),\n\t\t\t\t};\n\n\t\t\t\t// This should be removed once we can verify that event mappings for this works.\n\t\t\t\tdispatch(\n\t\t\t\t\t'MODAL_SELECTED',\n\t\t\t\t\t{\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\tshowModal: true,\n\t\t\t\t\t},\n\t\t\t\t\t{ elementRef, uxfMeta },\n\t\t\t\t);\n\t\t\t\tdispatch(\n\t\t\t\t\t'NOW_UXF_VIEWPORT_MODAL#MODAL_CONTENT_LOADED',\n\t\t\t\t\tpayload,\n\t\t\t\t\t{\n\t\t\t\t\t\tuxfMeta,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t[MODAL_SELECTED]({ action, dispatch, properties: { nowId } }) {\n\t\t\tconst {\n\t\t\t\tpayload: { showModal, modalId },\n\t\t\t\tmeta: { id, uxfMeta = {} },\n\t\t\t} = action;\n\t\t\t// we only need to dispatch CANVAS_MODAL event when MODAL_SELECTED dispatched from a subpage in the modal;\n\t\t\t// otherwise canvas will already dispatch that.\n\t\t\tif (nowId === id) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdispatch(\n\t\t\t\tgetCanvasModalAction(showModal),\n\t\t\t\t{ modalInstanceId: modalId },\n\t\t\t\t{ uxfMeta },\n\t\t\t);\n\t\t},\n\t},\n\tproperties: {\n\t\tcontents: {},\n\t\tdisplayOptions: {},\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t},\n\t\tdisableDismiss: {\n\t\t\tdefault: false,\n\t\t},\n\t\tenableResizable: {\n\t\t\tdefault: false,\n\t\t},\n\t\tresizableMinWidth: {\n\t\t\tdefault: 420,\n\t\t},\n\t\tresizableMinHeight: {\n\t\t\tdefault: 133,\n\t\t},\n\t\tresizableMaxWidth: {\n\t\t\tdefault: null,\n\t\t},\n\t\tresizableMaxHeight: {\n\t\t\tdefault: null,\n\t\t},\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t},\n});\n\nexport default TAG_NAME;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_0_index_jsdbx_f32111f7__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resizable_24_1_1_index_jsdbx_615f366c__[\"default\"][\"default\"];\n\t\t\t\t} });","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { layerEvents } from '@servicenow/library-enhanced-utils';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\nimport styles from './styles.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { getAriaAttributes, isMobileDevice } from './utils';\nimport resizableBehavior from '@servicenow/behavior-resizable';\n\nconst { COMPONENT_RENDERED } = actionTypes;\nconst DISMISS_ACTION = 'NOW_UXF_BARE_MODAL#DISMISSED';\nconst UXF_BARE_MODAL_RESIZED = 'NOW_UXF_BARE_MODAL#RESIZED';\nconst MODAL_RESIZE_END = 'PRIVATE#RESIZABLE_END';\n\nexport const TAG_NAME = 'now-uxf-bare-modal';\n\nexport const componentRenderedHandler = ({\n\taction,\n\tproperties,\n\tdispatch,\n\thost,\n}) => {\n\tconst { previousRenderProperties: prevProps } = action.payload;\n\tconst { opened, disableDismiss, nowId: id, customSize = {} } = properties;\n\tconst { height, width } = customSize;\n\tconst isOpening = opened && !prevProps.opened && !disableDismiss;\n\tconst isClosing = !opened && prevProps.opened;\n\tconst isBecomingDismissable =\n\t\t!disableDismiss && prevProps.disableDismiss && opened;\n\tconst isBecomingNonDismissable =\n\t\tdisableDismiss && !prevProps.disableDismiss;\n\n\tif (isOpening && height && width) {\n\t\tconst bareModal = host.shadowRoot.querySelector(\n\t\t\t'.now-uxf-bare-modal-body',\n\t\t);\n\t\tbareModal.style.height = `${height}px`;\n\t\tbareModal.style.width = `${width}px`;\n\t}\n\tif (isOpening || isBecomingDismissable) {\n\t\tlayerEvents.add({\n\t\t\tid,\n\t\t\tevents: ['keydown'],\n\t\t\tcallback(event) {\n\t\t\t\tif (event.key !== 'Escape') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdocument.activeElement.blur();\n\t\t\t\tdispatch(DISMISS_ACTION, { reason: 'keyboard-escape' });\n\t\t\t},\n\t\t});\n\t} else if (isClosing || isBecomingNonDismissable) {\n\t\tlayerEvents.remove(id);\n\t}\n};\n\nconst view = (state, { dispatch }) => {\n\tconst { properties } = state;\n\tconst {\n\t\tsize,\n\t\topened,\n\t\tdisableDismiss,\n\t\thideDismissPadding,\n\t\toverlayPositionAbsolute,\n\t\tcustomSize,\n\t\tenableFullScreenInMobile,\n\t\tresizableConfig: { enableResizable } = { enableResizable: false },\n\t} = properties;\n\tif (!opened) {\n\t\treturn;\n\t}\n\tconst isMobile = isMobileDevice();\n\tconst shouldUseFullScreen = enableFullScreenInMobile && isMobile;\n\tlet dialogSize;\n\tif (shouldUseFullScreen) {\n\t\tdialogSize = 'fullscreen';\n\t} else if (size === 'custom') {\n\t\tdialogSize = 'md';\n\t} else {\n\t\tdialogSize = size;\n\t}\n\tconst isCustomSize =\n\t\tcustomSize?.height && customSize?.width && !shouldUseFullScreen;\n\tconst hidePadding = hideDismissPadding ? 'hide-padding' : '';\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-uxf-bare-modal-overlay': true,\n\t\t\t\t'now-uxf-bare-modal-absolute-overlay': overlayPositionAbsolute,\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\trole=\"dialog\"\n\t\t\t\t{...getAriaAttributes(properties)}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-uxf-bare-modal': true,\n\t\t\t\t\t[`-${dialogSize}`]: !isCustomSize,\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`now-uxf-bare-modal-body ${\n\t\t\t\t\t\tisCustomSize ? 'custom' : ''\n\t\t\t\t\t}`}\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tisCustomSize\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\twidth: customSize.width,\n\t\t\t\t\t\t\t\t\theight: customSize.height,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}>\n\t\t\t\t\t{disableDismiss ? undefined : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`now-uxf-bare-modal-header ${hidePadding}`}>\n\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\tclassName=\"now-uxf-bare-modal-dismiss\"\n\t\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\thide-padding={true}\n\t\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t'aria-label': t('Close dialog'),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ttooltip-content={t('Close dialog')}\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\treturn dispatch(DISMISS_ACTION, {\n\t\t\t\t\t\t\t\t\t\treason: 'dismiss-icon',\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{enableResizable ? (\n\t\t\t\t\t\t<div className=\"now-uxf-bare-modal-resizable-container\">\n\t\t\t\t\t\t\t<slot className=\"now-uxf-bare-modal-slot\" />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<slot className=\"now-uxf-bare-modal-slot\" />\n\t\t\t\t\t)}\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\n/**\n * A modal is a container that displays over application content to give\n * critical information or to ask users to complete a task in the middle of a\n * workflow. When the modal opens, users cannot access the application.\n *\n * Note: Set `aria-hidden=\"true\"` on all non-modal elements when now-modal is\n * open to provide the correct experience for screen reader users.\n *\n * ```jsx\n * <now-modal\n * \topened={openedApp}\n * \tsize='sm'\n * \theader-label='Hello!'\n * \tcontent='And this is the body of the modal.'\n * \tfooter-actions='[\n * \t\t{\n * \t\t\t\"variant\": \"primary\",\n * \t\t\t\"label\": \"Save\"\n * \t\t}\n * \t]'\n * />\n * ```\n *\n * @seismicElement now-modal\n * @summary A popup component that temporarily blocks underlying content to provide information or ask the user for a decision.\n */\ncreateCustomElement(TAG_NAME, {\n\tproperties: {\n\t\t/**\n\t\t * Sets the width of the modal container. If \"fullscreen\", the container\n\t\t * will fill to fit the screen. If \"content\", the width will shrink to fit\n\t\t * the content. If size is \"custom\" the size defaults to \"md\" or uses the\n\t\t * customSize property if that is provided.\n\t\t * @type {('sm'|'md'|'lg'|'fullscreen'|'content')}\n\t\t */\n\t\tsize: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md', 'lg', 'fullscreen', 'auto', 'custom'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the modal is open.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * When true, the dismiss icon and Escape keydown handler are omitted. In\n\t\t * this case, consuming components must provide some mechanism to close the\n\t\t * modal.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableDismiss: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * Removes padding around dismiss button\n\t\t * @type {boolean}\n\t\t */\n\t\thideDismissPadding: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * enableResizable : @type {boolean} When true, resize handles will be shown on the borders of the modal to support resizing.\n\t\t * resizableMaxHeight : @type {number} Maximum height in pixels that the target element can be resized to. Default value is window's height.\n\t\t * resizableMaxWidth : @type {number} Maximum width in pixels that the target element can be resized to. Default value is window's width\n\t\t * resizableMinHeight : @type {number} Minimum height in pixels that the modal can be resized to. Default value is 133px.\n\t\t * resizableMinWidth : @type {number} Minimum width in pixels that the modal can be resized to. Default value is 420px.\n\t\t */\n\t\tresizableConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tenableResizable: { schema: { type: 'boolean' } },\n\t\t\t\tresizableMinWidth: { schema: { type: 'number' } },\n\t\t\t\tresizableMinHeight: { schema: { type: 'number' } },\n\t\t\t\tresizableMaxWidth: {\n\t\t\t\t\tschema: { type: 'number' },\n\t\t\t\t},\n\t\t\t\tresizableMaxHeight: {\n\t\t\t\t\tschema: { type: 'number' },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the position fixed of the overlay will be changed to absolute position.\n\t\t * This helps the user to customize or render modal however they want.\n\t\t * @type {boolean}\n\t\t */\n\t\toverlayPositionAbsolute: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t\t/**\n\t\t * height : @type {number} Height in pixels of the modal.\n\t\t * width : @type {number} Width in pixels of the modal.\n\t\t */\n\t\tcustomSize: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\theight: {\n\t\t\t\t\tschema: { type: 'string' },\n\t\t\t\t},\n\t\t\t\twidth: {\n\t\t\t\t\tschema: { type: 'string' },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * The text content for the modals aria label attribute.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } },\n\t\t/**\n\t\t * When true, the modal will be displayed in fullscreen mode on mobile devices.\n\t\t * @type {boolean}\n\t\t */\n\t\tenableFullScreenInMobile: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' },\n\t\t},\n\t},\n\tview,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: { trap: true },\n\t\t},\n\t\t{ behavior: rtlBehavior },\n\t\t{\n\t\t\tbehavior: resizableBehavior,\n\t\t\toptions: {\n\t\t\t\tresizeTarget: '.now-uxf-bare-modal-body',\n\t\t\t\tgetResizableConfig({ properties }) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tenableResizable: false,\n\t\t\t\t\t\tresizableMinWidth: 420,\n\t\t\t\t\t\tresizableMinHeight: 133,\n\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t\tcontext: 'fixed',\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tstyles,\n\tactions: {\n\t\t[DISMISS_ACTION]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\treason: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['dismiss-icon', 'keyboard-escape'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: componentRenderedHandler,\n\t\t[DISMISS_ACTION]({ updateProperties }) {\n\t\t\tupdateProperties({\n\t\t\t\topened: false,\n\t\t\t});\n\t\t},\n\t\t[MODAL_RESIZE_END]({ action, dispatch }) {\n\t\t\tdispatch(UXF_BARE_MODAL_RESIZED, { ...action.payload });\n\t\t},\n\t},\n});\n\nexport default TAG_NAME;\n","export const getAriaAttributes = (properties = {}) => {\n\tconst output = {};\n\tconst { label } = properties;\n\tif (label) {\n\t\toutput['aria-label'] = label;\n\t}\n\treturn output;\n};\n\n// Helper function to detect mobile devices using ux_globals.deviceInfo\nexport const isMobileDevice = () => {\n\treturn window.ux_globals?.deviceInfo?.type === 'mobile';\n};\n","import { t } from 'sn-translate';\n\nexport const containerTypes = {\n\tSECTION: 'section',\n\tARTICLE: 'article',\n\tHEADER: 'header',\n\tFOOTER: 'footer',\n\tASIDE: 'aside',\n\tADDRESS: 'address',\n\tMAIN: 'main',\n};\n\nexport const i18n = {\n\tEMPTY_STATE_HEADING: t('No content available.'),\n\tEMPTY_STATE_MESSAGE: t(\n\t\t'Contact your ServiceNow administrator for more information.',\n\t),\n};\n","/**\n * Create a \"role\" attribute object for elements\n *\n * @param {string} ariaRole the \"role\" attribute value\n * @returns {object}\n */\nexport const setAriaRole = (ariaRole) => {\n\treturn ariaRole ? { role: ariaRole } : {};\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-collapse';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-icon';\nimport styles from './styles.scss';\nimport '@servicenow/now-template-message';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { ariaHeading, ariaLabel, removeEmptyState } from '../utils';\nimport { containerTypes, i18n } from './constants';\nimport { setAriaRole } from './utils';\n\nconst { SECTION, ARTICLE, HEADER, FOOTER, ASIDE, ADDRESS, MAIN } =\n\tcontainerTypes;\n\nconst { EMPTY_STATE_HEADING, EMPTY_STATE_MESSAGE } = i18n;\n\nexport const renderSlot = (hideEmptyStateUi) => {\n\treturn hideEmptyStateUi ? (\n\t\t<slot />\n\t) : (\n\t\t<slot\n\t\t\ton-slotchange={(e) => {\n\t\t\t\treturn removeEmptyState(e.target);\n\t\t\t}}>\n\t\t\t<now-template-message-empty-state\n\t\t\t\theading={{ label: EMPTY_STATE_HEADING }}\n\t\t\t\tcontent={EMPTY_STATE_MESSAGE}\n\t\t\t\tillustration=\"no-data\"\n\t\t\t/>\n\t\t<\/slot>\n\t);\n};\n\nexport const renderAriaHeading = (\n\tcomponentId,\n\tincludeAriaHeading,\n\tariaRegionName,\n\tariaRegionHeadingLevel,\n) => {\n\treturn includeAriaHeading\n\t\t? ariaHeading(componentId, ariaRegionName, ariaRegionHeadingLevel)\n\t\t: null;\n};\n\nexport const renderContainer = ({\n\tcomponentId,\n\tincludeAriaHeading,\n\tariaRegionName,\n\tariaRegionHeadingLevel,\n\ttype,\n\tariaRole,\n\thideEmptyStateUi,\n\tslotWrapperBehavior,\n}) => {\n\tconst className =\n\t\tslotWrapperBehavior === 'contents'\n\t\t\t? 'slot-wrapper-contents'\n\t\t\t: 'slot-wrapper';\n\n\tswitch (type) {\n\t\tcase SECTION:\n\t\t\treturn (\n\t\t\t\t<section\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...setAriaRole(ariaRole)}\n\t\t\t\t\t{...ariaLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t)}>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel,\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/section>\n\t\t\t);\n\t\tcase ARTICLE:\n\t\t\treturn (\n\t\t\t\t<article\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t)}>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel,\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/article>\n\t\t\t);\n\t\tcase HEADER:\n\t\t\treturn (\n\t\t\t\t<header\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t)}>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel,\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/header>\n\t\t\t);\n\t\tcase FOOTER:\n\t\t\treturn (\n\t\t\t\t<footer\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t)}>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel,\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/footer>\n\t\t\t);\n\t\tcase ASIDE:\n\t\t\treturn (\n\t\t\t\t<aside\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t)}>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel,\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/aside>\n\t\t\t);\n\t\tcase ADDRESS:\n\t\t\treturn (\n\t\t\t\t<address\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...setAriaRole(ariaRole)}\n\t\t\t\t\t{...ariaLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t)}>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel,\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/address>\n\t\t\t);\n\t\tcase MAIN:\n\t\t\treturn (\n\t\t\t\t<main\n\t\t\t\t\trole={ariaRole || 'main'}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t)}>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel,\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/main>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\t{...setAriaRole(ariaRole)}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t)}>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel,\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t<\/div>\n\t\t\t);\n\t}\n};\n\nconst view = (state) => {\n\tconst {\n\t\tariaRegionName,\n\t\tariaRegionHeadingLevel,\n\t\tincludeAriaHeading,\n\t\ttype,\n\t\tariaRole,\n\t\thideEmptyStateUi,\n\t\tslotWrapperBehavior,\n\t} = state.properties;\n\n\tconst { componentId } = state;\n\n\treturn renderContainer({\n\t\tcomponentId,\n\t\tincludeAriaHeading,\n\t\tariaRegionName,\n\t\tariaRegionHeadingLevel,\n\t\ttype,\n\t\tariaRole,\n\t\thideEmptyStateUi,\n\t\tslotWrapperBehavior,\n\t});\n};\n\nconst TAG_NAME = 'now-uxf-page-simple-container';\n\n/**\n * A wrapper around a group of components that need to reside together on a screen. A container can\n * be used to nest components at various levels, including other containers.\n *\n * @seismicElement now-uxf-page-simple-container\n * @summary Container component to organize, group, and layout content. Contains any number of nested components.\n */\n\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Heading/Name for ARIA Landmark region\n\t\t * @type {string}\n\t\t */\n\t\tariaRegionName: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, will include a non visible heading in the ARIA region.\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeAriaHeading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the level of the non visible HTML heading element within the ARIA region.\n\t\t * @type {('1'|'2'|'3'|'4'|'5'|'6')}\n\t\t */\n\t\tariaRegionHeadingLevel: {\n\t\t\tdefault: '1',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['1', '2', '3', '4', '5', '6'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Specifies the kind of content the container will represent.\n\t\t * @type {string}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'section',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'section',\n\t\t\t\t\t'article',\n\t\t\t\t\t'header',\n\t\t\t\t\t'footer',\n\t\t\t\t\t'aside',\n\t\t\t\t\t'address',\n\t\t\t\t\t'main',\n\t\t\t\t\t'div',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t *\tConfigure the role attribute that describes the role of an element.\n\t\t *\t@type {string}\n\t\t */\n\t\tariaRole: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'alert',\n\t\t\t\t\t'alertdialog',\n\t\t\t\t\t'article',\n\t\t\t\t\t'application',\n\t\t\t\t\t'banner',\n\t\t\t\t\t'complementary',\n\t\t\t\t\t'contentinfo',\n\t\t\t\t\t'dialog',\n\t\t\t\t\t'document',\n\t\t\t\t\t'feed',\n\t\t\t\t\t'group',\n\t\t\t\t\t'log',\n\t\t\t\t\t'main',\n\t\t\t\t\t'marquee',\n\t\t\t\t\t'navigation',\n\t\t\t\t\t'none',\n\t\t\t\t\t'note',\n\t\t\t\t\t'presentation',\n\t\t\t\t\t'region',\n\t\t\t\t\t'search',\n\t\t\t\t\t'status',\n\t\t\t\t\t'tabpanel',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\thideEmptyStateUi: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tslotWrapperBehavior: {\n\t\t\tdefault: 'fullheight',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['fullheight', 'contents'],\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [rtlBehavior],\n\tstyles,\n});\n\nexport default TAG_NAME;\n","import { actionTypes } from '@servicenow/ui-core';\nimport track from '@devsnc/ux-metrics';\nimport {\n\tprocessAddNotifications,\n\tloadExperiencePageConfig,\n\ttrackAutoDismissNotificationItems,\n\tgetStatus,\n\thandleDismissedNotifications,\n} from './utils';\nimport { actions } from '../uxf-page/constants';\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst BEHAVIOR_STATE_PATH = 'behaviors.globalNotificationsBehavior';\n\nexport const clearNotificationsEffect = ({ updateState }) => {\n\tupdateState([\n\t\t{\n\t\t\tpath: `${BEHAVIOR_STATE_PATH}.notifications`,\n\t\t\tvalue: [],\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `${BEHAVIOR_STATE_PATH}.notificationMessages`,\n\t\t\tvalue: {},\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nexport const setNotificationsEffect = ({ action, updateState }) => {\n\tconst {\n\t\tpayload: { value: currentNotifications = [] },\n\t} = action;\n\tupdateState(({ state }) => {\n\t\tconst { notificationMessages = {}, notifications: prevNotifications } =\n\t\t\tstate.behaviors.globalNotificationsBehavior;\n\t\tconst { newNotifications, newNotificationMessages } =\n\t\t\thandleDismissedNotifications(\n\t\t\t\tprevNotifications,\n\t\t\t\tcurrentNotifications,\n\t\t\t\tnotificationMessages,\n\t\t\t);\n\t\treturn [\n\t\t\t{\n\t\t\t\tpath: `${BEHAVIOR_STATE_PATH}.notifications`,\n\t\t\t\tvalue: newNotifications,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `${BEHAVIOR_STATE_PATH}.notificationMessages`,\n\t\t\t\tvalue: newNotificationMessages,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t];\n\t});\n};\n\nexport const componentPropertyChangedEffect = (coeffects) => {\n\tconst { action, updateState, state, host } = coeffects;\n\n\tconst {\n\t\tnotificationMessages: currentNotificationMessages = {},\n\t\texperiencePageConfig,\n\t\tnotifications: existingNotifications = [],\n\t} = state.behaviors.globalNotificationsBehavior;\n\n\tconst {\n\t\tpayload: { name, value },\n\t} = action;\n\n\tconst componentId = host.getAttribute('now-id');\n\n\tif (name !== 'delegatedNotifications' || !value || value?.length === 0) {\n\t\treturn;\n\t}\n\n\tconst resolvedExperiencePageConfig =\n\t\texperiencePageConfig ?? loadExperiencePageConfig(host);\n\n\tconst { newNotifications, newNotificationMessages } =\n\t\tprocessAddNotifications({\n\t\t\titems: value,\n\t\t\tnotificationMessages: currentNotificationMessages,\n\t\t\tcomponentId,\n\t\t\texperiencePageConfig: resolvedExperiencePageConfig,\n\t\t\texistingNotifications,\n\t\t});\n\ttrackAutoDismissNotificationItems(\n\t\tnewNotifications.filter((n) => {\n\t\t\treturn n.autoDismissConfig;\n\t\t}),\n\t\tcoeffects,\n\t);\n\tupdateState([\n\t\t{\n\t\t\tpath: `${BEHAVIOR_STATE_PATH}.notifications`,\n\t\t\tvalue: newNotifications,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `${BEHAVIOR_STATE_PATH}.notificationMessages`,\n\t\t\tvalue: newNotificationMessages,\n\t\t\toperation: 'set',\n\t\t},\n\t\t...(!experiencePageConfig\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `${BEHAVIOR_STATE_PATH}.experiencePageConfig`,\n\t\t\t\t\t\tvalue: resolvedExperiencePageConfig,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t: []),\n\t]);\n};\n\nexport const setNotificationExpandStateEffect = ({\n\tstate,\n\taction,\n\tupdateState,\n}) => {\n\tconst { alertId, value: expanded } = action.payload;\n\tconst { notifications = [] } = state.behaviors.globalNotificationsBehavior;\n\tconst notificationIndex = notifications.findIndex((notification) => {\n\t\treturn notification.id === alertId;\n\t});\n\tif (notificationIndex >= 0) {\n\t\tupdateState({\n\t\t\tpath: `${BEHAVIOR_STATE_PATH}.notifications[${notificationIndex}].expanded`,\n\t\t\toperation: 'set',\n\t\t\tvalue: expanded,\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n};\n\nexport const itemActionClickedEffect = ({ action, dispatch }) => {\n\tconst { urlContent, type } = action.payload.item.action ?? {};\n\tif (urlContent && type === 'open') {\n\t\tdispatch(actions.NAV_ITEM_SELECTED, urlContent);\n\t}\n};\n\nexport const alertAutoDismissEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { alertId },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\n\tconst { notifications = [] } = state.behaviors.globalNotificationsBehavior;\n\n\tconst dismissedNotification = notifications.find(({ id }) => {\n\t\treturn id === alertId;\n\t});\n\n\ttrack(coeffects, 'Auto dismiss alert', {\n\t\ttype:\n\t\t\tdismissedNotification?.status ??\n\t\t\tgetStatus(dismissedNotification?.type),\n\t});\n};\n\nexport default {\n\tname: 'globalNotificationsBehavior',\n\tinitialState: {\n\t\tnotifications: [],\n\t\tnotificationMessages: {},\n\t\texperiencePageConfig: null,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedEffect,\n\t\t'SN_CANVAS_MAIN#CLEAR_NOTIFICATIONS': {\n\t\t\teffect: clearNotificationsEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t'NOW_ALERT_LIST#ITEMS_SET': {\n\t\t\teffect: setNotificationsEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t'NOW_ALERT#EXPANDED_SET': {\n\t\t\teffect: setNotificationExpandStateEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t'NOW_ALERT_LIST#ITEM_ACTION_CLICKED': {\n\t\t\teffect: itemActionClickedEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t'NOW_ALERT#AUTO_DISMISS': {\n\t\t\teffect: alertAutoDismissEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_uxf_page=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":713,"column":0},"map":{"mappings":"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","file":"externals/@devsnc/sn-layout/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","createCustomElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","countBy","debounce","find","findIndex","gt","isEqual","isNil","isString","isUndefined","lt","minBy","partition","range","reduce","remove","sum","sumBy","toNumber","BEHAVIOR_NAME","mutationObserver","WeakMap","name","initialState","slots","Map","actionHandlers","UPDATE_SLOT_LIST","_ref","action","state","updateState","added","removed","payload","res","behaviors","count","set","delete","has","path","operation","CLEAR_SLOTS_MAP","_ref2","clear","actions","private","onConnect","el","_ref3","dispatch","observer","MutationObserver","mutations","changes","acc","m","type","attributeName","target","slot","oldValue","removedNodes","addedNodes","observe","childList","attributes","subtree","attributeOldValue","querySelectorAll","onDisconnect","_ref4","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__","findIndexBy","collection","comparison","val","all","getSize","column","size","Number","isNaN","shaveOffLargest","toChange","sizes","largestIndex","addOnToSmallest","smallestIndex","adjustColumns","gridSize","error","counts","keys","filter","Math","abs","parseInt","adjustmentFn","defaultRenderer","props","className","children","getAdjustedColumns","columns","fixedColumns","childrenWithSlot","dynamic","columnsToUse","c","slotName","transformed","totalSize","round","transformColumns","adjusted","sizeClassNames","renderRow","row","renderers","isMobile","divider","adjustedColumns","trim","renderColumn","rows","styles","style","model","root","versionCompare","v1","v2","versionRe","test","v1match","v1suffix","match","v2match","v2suffix","v1parts","split","v2parts","max","v1part","v2part","toLowerCase","localeCompare","renderChild","version","rules","validStyles","height","includeClassName","class","items","renderFlex","itemStyles","wrapperStyles","inline","renderGrid","gutterSpace","calculateSizesAndGroup","elm","window","getComputedStyle","getPropertyValue","slotList","getElementsByTagName","domSlots","s","current","assignedNode","assignedNodes","rect","getBoundingClientRect","width","newSlot","parentNode","host","groupSlots","maxWidth","remainders","tooLarge","groups","invalids","rowWidth","rowHeight","buildGroups","groupHeight","groupWidth","slotWidth","slotHeight","lastGroup","availableWidth","additionalHeight","filled","remainingWidth","smallest","h","w","candidate","currentIndex","tryMakeSuperGroup","prev","next","makeSuperGroup","parent","child","childIndex","splice","ruleBasedRows","currentSlots","algorithm","fillGaps","defaultRules","renderSlot","callback","resizeFn","recalculateOnResize","hook-update","hook-remove","v","removeCallback","parentElement","renderGroup","group","maxHeight","sizing","renderFree","RowColumn","Flex","Grid","RuleBased","Free","console","warn","CALCULATE_RULE_BASED_ROW","SET_MUTATION_OBSERVER_AND_RESIZE_FN","UNSET_MUTATION_OBSERVER_AND_RESIZE_FN","TAG_NAME","renderer","snabbdom","view","rawModel","JSON","parse","parseModel","modelByDevice","isDesktopModel","getModelByDevice","queryVars","isTablet","mobileModel","tabletModel","defaultModel","mediaQuery","getLayoutRuntime","runtimeFn","properties","parentTag","reflect","collapsibleColumns","options","selector","behavior","mediaQueryBehavior","isDesktop","childrenWithSlotBehavior","rtlBehavior","option","resize","addEventListener","removeEventListener","disconnect","__TECTONIC__$devsnc_sn_layout"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@devsnc/sn-layout/src/styles.scss","webpack:///./src/styles.scss?74bc","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-media-query/28.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@devsnc/sn-layout/src/children-with-slot-behavior/index.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/28.0.0/index.jsdbx\"","webpack:///@devsnc/sn-layout/src/runtimes/RowColumn/utils.js","webpack:///@devsnc/sn-layout/src/runtimes/RowColumn/transformColumns.js","webpack:///@devsnc/sn-layout/src/runtimes/RowColumn/adjustColumns.js","webpack:///@devsnc/sn-layout/src/runtimes/RowColumn/index.js","webpack:///@devsnc/sn-layout/src/versionCompare.js","webpack:///@devsnc/sn-layout/src/runtimes/Flex/index.js","webpack:///@devsnc/sn-layout/src/runtimes/Grid/index.js","webpack:///@devsnc/sn-layout/src/runtimes/RuleBased/utils.js","webpack:///@devsnc/sn-layout/src/runtimes/RuleBased/index.js","webpack:///@devsnc/sn-layout/src/runtimes/Free/index.js","webpack:///@devsnc/sn-layout/src/runtimes/index.js","webpack:///@devsnc/sn-layout/src/runtimes/getModelByDevice.js","webpack:///@devsnc/sn-layout/src/constants/constants.js","webpack:///@devsnc/sn-layout/src/sn-layout.js","webpack:///@devsnc/sn-layout/src/action-handlers.js","webpack:///@devsnc/sn-layout/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".flex{display:flex}.flex,.flex-item{box-sizing:border-box}.flex-item{flex:1 1 auto}.grid-block{box-sizing:border-box;display:grid}.grid-inline{display:inline-grid}.grid-inline,.grid-item,.slot-wrapper{box-sizing:border-box}.absolute-wrapper{position:relative}.rule-based{display:flex;flex-wrap:wrap;margin:0 -.75rem}.rule-based-slot{margin:0 .75rem}.rule-based-row{align-content:flex-start;display:flex;flex-direction:row}.rule-based-group{display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:1.5rem}.rule-based-first-render{display:block;position:absolute;visibility:hidden}.divider-column{border-right:1px solid RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)))}.divider-row{border-bottom:1px solid RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)))}.row{display:flex;flex:0 1 auto;flex-wrap:wrap}.column,.row{box-sizing:border-box}.column{flex:0 0 auto}.row{margin-left:-.375rem;margin-right:-.375rem}.row:not(:last-of-type){margin-bottom:.75rem}.divider-row{padding-bottom:.75rem}.column{padding-left:.375rem;padding-right:.375rem}.column .slot-wrapper{margin-bottom:-.75rem}.column .slot-wrapper ::slotted(*){display:block;margin-bottom:.75rem}.divider-column{padding-right:.75rem}.divider-column+.column{padding-left:.75rem}:host([parent-tag=now-uxf-page]) .row{margin-left:-.75rem;margin-right:-.75rem}:host([parent-tag=now-uxf-page]) .row:not(:last-of-type){margin-bottom:1.5rem}:host([parent-tag=now-uxf-page]) .divider-row{padding-bottom:1.5rem}:host([parent-tag=now-uxf-page]) .column{padding-left:.75rem;padding-right:.75rem}:host([parent-tag=now-uxf-page]) .column .slot-wrapper{margin-bottom:-1.5rem}:host([parent-tag=now-uxf-page]) .column .slot-wrapper ::slotted(*){display:block;margin-bottom:1.5rem}:host([parent-tag=now-uxf-page]) .divider-column{padding-right:1.5rem}:host([parent-tag=now-uxf-page]) .divider-column+.column{padding-left:1.5rem}.col-xs-1{flex-basis:8.3333333333%;max-width:8.3333333333%}.col-xs-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.col-xs-3{flex-basis:25%;max-width:25%}.col-xs-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.col-xs-5{flex-basis:41.6666666667%;max-width:41.6666666667%}.col-xs-6{flex-basis:50%;max-width:50%}.col-xs-7{flex-basis:58.3333333333%;max-width:58.3333333333%}.col-xs-8{flex-basis:66.6666666667%;max-width:66.6666666667%}.col-xs-9{flex-basis:75%;max-width:75%}.col-xs-10{flex-basis:83.3333333333%;max-width:83.3333333333%}.col-xs-11{flex-basis:91.6666666667%;max-width:91.6666666667%}.col-xs-12{flex-basis:100%;max-width:100%}@media only screen and (min-width:64rem){.col-md-1{flex-basis:8.3333333333%;max-width:8.3333333333%}.col-md-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.col-md-3{flex-basis:25%;max-width:25%}.col-md-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.col-md-5{flex-basis:41.6666666667%;max-width:41.6666666667%}.col-md-6{flex-basis:50%;max-width:50%}.col-md-7{flex-basis:58.3333333333%;max-width:58.3333333333%}.col-md-8{flex-basis:66.6666666667%;max-width:66.6666666667%}.col-md-9{flex-basis:75%;max-width:75%}.col-md-10{flex-basis:83.3333333333%;max-width:83.3333333333%}.col-md-11{flex-basis:91.6666666667%;max-width:91.6666666667%}.col-md-12{flex-basis:100%;max-width:100%}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_media_query_28_0_0_index_jsdbx_2509eed4__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"countBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'countBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].countBy;\n\t\t\t\t\t} else if ('countBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.countBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].countBy;\n\t\t\t\t}, [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].debounce;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"findIndex\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t\t} else if ('findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findIndex || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"gt\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'gt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].gt;\n\t\t\t\t\t} else if ('gt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.gt || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].gt;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t\t} else if ('isString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isString;\n\t\t\t\t}, [\"isUndefined\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t\t} else if ('isUndefined' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isUndefined || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isUndefined;\n\t\t\t\t}, [\"lt\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'lt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].lt;\n\t\t\t\t\t} else if ('lt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.lt || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].lt;\n\t\t\t\t}, [\"map\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t\t} else if ('map' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.map || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].map;\n\t\t\t\t}, [\"minBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'minBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].minBy;\n\t\t\t\t\t} else if ('minBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.minBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].minBy;\n\t\t\t\t}, [\"partition\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'partition' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].partition;\n\t\t\t\t\t} else if ('partition' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.partition || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].partition;\n\t\t\t\t}, [\"range\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t\t} else if ('range' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.range || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].range;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t}, [\"remove\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'remove' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].remove;\n\t\t\t\t\t} else if ('remove' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.remove || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].remove;\n\t\t\t\t}, [\"sum\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'sum' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sum;\n\t\t\t\t\t} else if ('sum' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.sum || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sum;\n\t\t\t\t}, [\"sumBy\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'sumBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sumBy;\n\t\t\t\t\t} else if ('sumBy' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.sumBy || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].sumBy;\n\t\t\t\t}, [\"toNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t\t} else if ('toNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.toNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].toNumber;\n\t\t\t\t} });","import { map } from 'lodash';\n\nconst BEHAVIOR_NAME = 'childrenWithSlot';\n\nconst mutationObserver = new WeakMap();\n\n/**\n * The childrenWithSlot behavior has a list of the child elements\n * that have a 'slot' attribute\n */\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tslots: new Map(),\n\t},\n\tactionHandlers: {\n\t\tUPDATE_SLOT_LIST({ action, state, updateState }) {\n\t\t\tconst { added, removed } = action.payload;\n\t\t\tconst res = new Map(state.behaviors[BEHAVIOR_NAME].slots);\n\t\t\tremoved.map((r) => {\n\t\t\t\tconst count = res.get(r);\n\t\t\t\tcount > 1 ? res.set(r, count - 1) : res.delete(r);\n\t\t\t});\n\t\t\tadded.map((a) => {\n\t\t\t\treturn res.set(a, res.has(a) ? res.get(a) + 1 : 1);\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}.slots`,\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: res,\n\t\t\t});\n\t\t},\n\t\tCLEAR_SLOTS_MAP({ state, updateState }) {\n\t\t\tconst res = state.behaviors[BEHAVIOR_NAME].slots;\n\t\t\tres.clear();\n\t\t\tupdateState({\n\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}.slots`,\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: res,\n\t\t\t});\n\t\t},\n\t},\n\tactions: {\n\t\tUPDATE_SLOT_LIST: {\n\t\t\tprivate: true,\n\t\t},\n\t\tCLEAR_SLOTS_MAP: {\n\t\t\tprivate: true,\n\t\t},\n\t},\n\tonConnect(el, { dispatch }) {\n\t\tif (!mutationObserver.has(el)) {\n\t\t\tconst observer = new MutationObserver((mutations) => {\n\t\t\t\tconst changes = mutations.reduce(\n\t\t\t\t\t(acc, m) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tm.type === 'attributes' &&\n\t\t\t\t\t\t\tm.attributeName === 'slot' &&\n\t\t\t\t\t\t\tm.target.slot !== m.oldValue\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tacc.added.push(m.target.slot);\n\t\t\t\t\t\t\tacc.removed.push(m.oldValue);\n\t\t\t\t\t\t} else if (m.type === 'childList') {\n\t\t\t\t\t\t\tif (m.removedNodes.length > 0) {\n\t\t\t\t\t\t\t\tmap(m.removedNodes, (n) => {\n\t\t\t\t\t\t\t\t\treturn acc.removed.push(n.slot);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (m.addedNodes.length > 0) {\n\t\t\t\t\t\t\t\tmap(m.addedNodes, (n) => {\n\t\t\t\t\t\t\t\t\treturn acc.added.push(n.slot);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\t{ added: [], removed: [] },\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\tdispatch &&\n\t\t\t\t\t(changes.added.length > 0 || changes.removed.length > 0)\n\t\t\t\t) {\n\t\t\t\t\tdispatch('UPDATE_SLOT_LIST', changes);\n\t\t\t\t}\n\t\t\t});\n\t\t\tobserver.observe(el, {\n\t\t\t\tchildList: true,\n\t\t\t\tattributes: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributeOldValue: true,\n\t\t\t});\n\t\t\tmutationObserver.set(el, observer);\n\t\t}\n\t\tdispatch('UPDATE_SLOT_LIST', {\n\t\t\tadded: map(el.querySelectorAll('[slot]'), (e) => {\n\t\t\t\treturn e.slot;\n\t\t\t}),\n\t\t\tremoved: [],\n\t\t});\n\t},\n\tonDisconnect(el, { dispatch }) {\n\t\tmutationObserver.delete(el);\n\t\tdispatch('CLEAR_SLOTS_MAP');\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_28_0_0_index_jsdbx_7aee3812__[\"default\"][\"default\"];\n\t\t\t\t} });","import { reduce } from 'lodash';\n\nexport const GRID_SIZE = 12;\n\nexport const findIndexBy = (collection, comparison) => {\n\treturn reduce(\n\t\tcollection,\n\t\t(result, val, i, all) => {\n\t\t\treturn comparison(val, all[result]) ? i : result;\n\t\t},\n\t\t0,\n\t);\n};\n","import { GRID_SIZE } from './utils';\nimport { map, sumBy, get, toNumber } from 'lodash';\n\nexport function getSize(column) {\n\tconst size = toNumber(get(column, 'size', 1));\n\treturn Number.isNaN(size) ? 1 : size;\n}\n\nexport const transformColumns = (columns) => {\n\tconst totalSize = sumBy(columns, getSize);\n\treturn map(columns, (c) => {\n\t\treturn Math.round((getSize(c) / totalSize) * GRID_SIZE);\n\t});\n};\n","import { GRID_SIZE, findIndexBy } from './utils';\nimport { map, sum, range, reduce, gt, lt, countBy } from 'lodash';\n\nexport const shaveOffLargest = (toChange) => {\n\treturn (sizes) => {\n\t\t// columns of size 1 cannot be shaved\n\t\tif (toChange && toChange > 1) {\n\t\t\treturn map(sizes, (size) => {\n\t\t\t\treturn size === toChange ? size - 1 : size;\n\t\t\t});\n\t\t}\n\t\tconst largestIndex = findIndexBy(sizes, gt);\n\t\treturn map(sizes, (size, i) => {\n\t\t\treturn i === largestIndex ? size - 1 : size;\n\t\t});\n\t};\n};\n\nexport const addOnToSmallest = (toChange) => {\n\treturn (sizes) => {\n\t\tif (toChange) {\n\t\t\treturn map(sizes, (size) => {\n\t\t\t\treturn size === toChange ? size + 1 : size;\n\t\t\t});\n\t\t}\n\t\tconst smallestIndex = toChange ? toChange : findIndexBy(sizes, lt);\n\t\treturn map(sizes, (size, i) => {\n\t\t\treturn i === smallestIndex ? size + 1 : size;\n\t\t});\n\t};\n};\n\nexport const getAdjustColumnSizesFn = (gridSize) => {\n\treturn (sizes) => {\n\t\tconst total = sum(sizes);\n\t\tconst error = total - gridSize;\n\n\t\t// figure out what to adjust\n\t\tconst counts = countBy(sizes);\n\n\t\tlet toChange = Object.keys(counts).filter((i) => {\n\t\t\treturn i !== 1 && counts[i] === Math.abs(error);\n\t\t});\n\n\t\t// If there is an exact match of number of things to change\n\t\t// also don't let column sizes drop lower than 1\n\t\ttoChange = toChange.length === 1 ? parseInt(toChange[0]) : 0;\n\n\t\tconst adjustmentFn = error > 0 ? shaveOffLargest : addOnToSmallest;\n\t\treturn reduce(range(error), adjustmentFn(toChange), sizes);\n\t};\n};\n\nexport const adjustColumns = getAdjustColumnSizesFn(GRID_SIZE);\n","import { transformColumns } from './transformColumns';\nimport { adjustColumns } from './adjustColumns';\nimport { map } from 'lodash';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nfunction defaultRenderer(props) {\n\treturn <div className={props.className}>{props.children}<\/div>;\n}\n\nexport const getAdjustedColumns = (\n\tcolumns,\n\tfixedColumns = false,\n\tchildrenWithSlot,\n\tdynamic,\n) => {\n\tconst columnsToUse = dynamic\n\t\t? columns.filter((c) => {\n\t\t\t\treturn childrenWithSlot.has(c.slotName);\n\t\t\t})\n\t\t: columns;\n\tconst transformed = transformColumns(\n\t\tcolumnsToUse,\n\t\tdynamic,\n\t\tchildrenWithSlot,\n\t);\n\tconst adjusted = adjustColumns(transformed);\n\n\treturn map(adjusted, (size, i) => {\n\t\tconst sizeClassNames = fixedColumns\n\t\t\t? `col-xs-${size}`\n\t\t\t: `col-md-${size} col-xs-12`;\n\n\t\treturn {\n\t\t\t...columnsToUse[i],\n\t\t\tsizeClassNames,\n\t\t};\n\t});\n};\n\nexport const renderRow = (row, renderers, childrenWithSlot, dynamic) => {\n\tconst { type, slotName, isMobile, divider, columns, id } = row;\n\n\tif (type !== 'row') {\n\t\treturn null;\n\t}\n\n\tconst adjustedColumns = getAdjustedColumns(\n\t\tcolumns,\n\t\tisMobile,\n\t\tchildrenWithSlot,\n\t\tdynamic,\n\t);\n\n\tconst className = `row ${divider ? 'divider-row' : ''}`.trim();\n\n\treturn (renderers.row || defaultRenderer)({\n\t\tclassName,\n\t\tid,\n\t\tchildren: (\n\t\t\t<Fragment>\n\t\t\t\t{map(adjustedColumns, (column) => {\n\t\t\t\t\treturn renderColumn(\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\trenderers,\n\t\t\t\t\t\tchildrenWithSlot,\n\t\t\t\t\t\tdynamic,\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t{slotName &&\n\t\t\t\t\trenderColumn(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'column',\n\t\t\t\t\t\t\tslotName,\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t},\n\t\t\t\t\t\trenderers,\n\t\t\t\t\t)}\n\t\t\t<\/Fragment>\n\t\t),\n\t});\n};\n\nexport const renderColumn = (column, renderers, childrenWithSlot, dynamic) => {\n\tconst {\n\t\ttype,\n\t\tslotName,\n\t\trows,\n\t\tdivider,\n\t\tsizeClassNames = 'col-xs-12',\n\t\tstyles,\n\t\tid,\n\t} = column;\n\n\tif (type !== 'column') {\n\t\treturn null;\n\t}\n\n\tconst className = `column ${sizeClassNames} ${\n\t\tdivider ? 'divider-column' : ''\n\t}`.trim();\n\n\treturn (renderers.column || defaultRenderer)({\n\t\tclassName,\n\t\tid,\n\t\tchildren: (\n\t\t\t<Fragment>\n\t\t\t\t{map(rows, (row) => {\n\t\t\t\t\treturn renderRow(row, renderers, childrenWithSlot, dynamic);\n\t\t\t\t})}\n\t\t\t\t{slotName ? (\n\t\t\t\t\t<div style={styles}>\n\t\t\t\t\t\t<div className=\"slot-wrapper\">\n\t\t\t\t\t\t\t<slot name={slotName} />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/Fragment>\n\t\t),\n\t});\n};\n\nexport default ({ model, renderers, childrenWithSlot }) => {\n\tlet { root, dynamic, styles } = model;\n\tif (root.type !== 'row') {\n\t\troot = {\n\t\t\ttype: 'row',\n\t\t\tcolumns: [{ ...root }],\n\t\t};\n\t}\n\treturn (\n\t\t<div style={styles}>\n\t\t\t{renderRow(root, renderers, childrenWithSlot, dynamic)}\n\t\t<\/div>\n\t);\n};\n","const versionCompare = (v1, v2) => {\n\tconst versionRe = /^((\\d+\\.)*(\\d+))(-(\\S+))?$/;\n\tif (!versionRe.test(v1) || !versionRe.test(v2)) {\n\t\treturn -1;\n\t}\n\n\tconst [, v1match, , , , v1suffix = ''] = v1.match(versionRe);\n\tconst [, v2match, , , , v2suffix = ''] = v2.match(versionRe);\n\tconst v1parts = v1match.split('.');\n\tconst v2parts = v2match.split('.');\n\tfor (let i = 0; i < Math.max(v1parts.length, v2parts.length); i++) {\n\t\tconst v1part = v1parts[i] || 0;\n\t\tconst v2part = v2parts[i] || 0;\n\t\tif (v1part < v2part) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (v1part > v2part) {\n\t\t\treturn 1;\n\t\t}\n\t}\n\tif (v1suffix === '' && v2suffix !== '') {\n\t\treturn 1;\n\t}\n\tif (v2suffix === '' && v1suffix !== '') {\n\t\treturn -1;\n\t}\n\treturn v1suffix.toLowerCase().localeCompare(v2suffix.toLowerCase());\n};\n\nexport default versionCompare;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport versionCompare from '../../versionCompare';\n\nconst renderFlex = (rules, items, styles = {}, version) => {\n\treturn (\n\t\t<div className=\"flex\" style={{ ...styles, ...rules }}>\n\t\t\t{items.map(renderChild(version))}\n\t\t<\/div>\n\t);\n};\n\nconst renderChild = (version) => {\n\treturn ({ rules, slotName, styles = {} }) => {\n\t\tconst validStyles = {\n\t\t\t...styles,\n\t\t};\n\n\t\tif (versionCompare(version, '2') === -1) {\n\t\t\tvalidStyles.height = validStyles.height || '100%';\n\t\t}\n\n\t\tconst includeClassName = Object.keys(styles).length === 0;\n\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{slotName ? (\n\t\t\t\t\t<div className=\"flex-item\" style={rules}>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={validStyles}\n\t\t\t\t\t\t\tclass={{ 'slot-wrapper': includeClassName }}>\n\t\t\t\t\t\t\t<slot name={slotName} />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/Fragment>\n\t\t);\n\t};\n};\n\nexport default ({ model, version = '1.0' }) => {\n\tconst { rules, items, styles } = model;\n\treturn renderFlex(rules, items, styles, version);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport versionCompare from '../../versionCompare';\n\nconst renderGrid = (inline, rules, items, styles = {}, version) => {\n\tconst validStyles = {\n\t\t...styles,\n\t};\n\n\tif (versionCompare(version, '2') === -1) {\n\t\tvalidStyles.height = validStyles.height || '100%';\n\t}\n\treturn (\n\t\t<div\n\t\t\tclassName={inline ? 'grid-inline' : 'grid-block'}\n\t\t\tstyle={{ ...validStyles, ...rules }}>\n\t\t\t{items.map(renderChild(version))}\n\t\t<\/div>\n\t);\n};\n\nconst renderChild = (version) => {\n\treturn ({ rules, slotName, styles = {} }) => {\n\t\tconst itemStyles = {\n\t\t\t'min-width': '0',\n\t\t\t...rules,\n\t\t};\n\t\tconst wrapperStyles = {\n\t\t\t...styles,\n\t\t};\n\n\t\tif (versionCompare(version, '2') === -1) {\n\t\t\titemStyles.height = itemStyles.height || '100%';\n\t\t\twrapperStyles.height = wrapperStyles.height || '100%';\n\t\t}\n\t\tconst includeClassName = Object.keys(styles).length === 0;\n\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{slotName ? (\n\t\t\t\t\t<div className=\"grid-item\" style={itemStyles}>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={wrapperStyles}\n\t\t\t\t\t\t\tclass={{ 'slot-wrapper': includeClassName }}>\n\t\t\t\t\t\t\t<slot name={slotName} />\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t) : null}\n\t\t\t<\/Fragment>\n\t\t);\n\t};\n};\n\nexport default ({ model, version }) => {\n\tconst { inline, rules, items, styles } = model;\n\treturn renderGrid(inline, rules, items, styles || {}, version);\n};\n","import {\n\tfind,\n\tminBy,\n\tisUndefined,\n\tisNil,\n\tremove,\n\tsumBy,\n\tfindIndex,\n\treduce,\n\tpartition,\n} from 'lodash';\n\nlet gutterSpace = 0; // gets set based on first render\n\nexport const getGutterSpace = () => {\n\treturn gutterSpace;\n};\n\n/**\n * 1. Sets the gutterspace after first render\n * 2. Gets the sizes of the contents of each slot and creates a new list\n *    based on the slots list from the json model\n *\n * @param {list} slots list from json model\n * @param {function} dispatch\n * @param {object} elm \"rule-based\" div\n */\nexport const calculateSizesAndGroup = (slots, dispatch, elm) => {\n\tif (gutterSpace === 0) {\n\t\tgutterSpace = Math.abs(\n\t\t\tparseInt(\n\t\t\t\twindow\n\t\t\t\t\t.getComputedStyle(elm, null)\n\t\t\t\t\t.getPropertyValue('margin-left'),\n\t\t\t\t10,\n\t\t\t) * 2,\n\t\t);\n\t}\n\n\tconst slotList = elm.getElementsByTagName('slot');\n\n\t// get the dimensions that we will use to determine groups\n\tconst domSlots = reduce(\n\t\tslots,\n\t\t(acc, s) => {\n\t\t\tconst current = slotList[s.name];\n\t\t\tconst assignedNode =\n\t\t\t\tcurrent && current.assignedNodes\n\t\t\t\t\t? current.assignedNodes()[0]\n\t\t\t\t\t: undefined;\n\t\t\tif (assignedNode) {\n\t\t\t\tconst rect = assignedNode.getBoundingClientRect();\n\t\t\t\treturn [\n\t\t\t\t\t...acc,\n\t\t\t\t\t{\n\t\t\t\t\t\tname: s.name,\n\t\t\t\t\t\twidth: rect.width,\n\t\t\t\t\t\theight: rect.height,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t\t// if slot in the json doesn't exist in dom, we find the dom element this way\n\t\t\tconst newSlot = elm.parentNode.host.querySelectorAll(\n\t\t\t\t`[slot=\"${s.name}\"]`,\n\t\t\t)[0];\n\t\t\tif (!isNil(newSlot)) {\n\t\t\t\tconst rect = newSlot.getBoundingClientRect();\n\t\t\t\treturn [\n\t\t\t\t\t...acc,\n\t\t\t\t\t{\n\t\t\t\t\t\tname: s.name,\n\t\t\t\t\t\twidth: rect.width,\n\t\t\t\t\t\theight: rect.height,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t[],\n\t);\n\n\tdispatch('CALCULATE_RULE_BASED_ROW', {\n\t\trows: groupSlots(\n\t\t\tdomSlots,\n\t\t\telm.getBoundingClientRect().width,\n\t\t\tgutterSpace,\n\t\t),\n\t\tslots,\n\t});\n};\n\n/**\n * Groups slots and then puts those groups into different rows\n *\n * @param {List} slots the list of slots\n * @param {number} maxWidth The width sn-layout can take up\n * @param {number} gutterSpace The padding between slots\n */\nexport const groupSlots = (slots, maxWidth, gutterSpace) => {\n\tconst rows = [];\n\t// things that are too large shouldn't go through buildGroups()\n\tlet [remainders, tooLarge] = partition(slots, (s) => {\n\t\treturn s.width + gutterSpace <= maxWidth;\n\t});\n\n\t// create new rows as long as there are remainders\n\twhile (remainders.length > 0) {\n\t\tconst { groups, invalids, rowWidth, rowHeight } = buildGroups(\n\t\t\tremainders,\n\t\t\tmaxWidth,\n\t\t\tgutterSpace,\n\t\t);\n\t\trows.push({ groups, rowWidth, rowHeight });\n\t\tremainders = invalids;\n\t}\n\n\t// render things that are too large into their own group at the end\n\tif (tooLarge.length) {\n\t\tconst width = sumBy(tooLarge, 'width');\n\t\tconst height = sumBy(tooLarge, 'height');\n\t\trows.push({\n\t\t\tgroups: [\n\t\t\t\t{\n\t\t\t\t\tslots: tooLarge,\n\t\t\t\t\tgroupHeight: height,\n\t\t\t\t\tgroupWidth: width,\n\t\t\t\t},\n\t\t\t],\n\t\t\trowHeight: height,\n\t\t\trowWidth: width,\n\t\t});\n\t}\n\n\treturn rows;\n};\n\n/**\n * Fills a row with groups that can layout in order\n * 1. Renders a row of slots\n * 2. Fills in the gaps left by the slots rendered in the first row\n * 3. Group up slots (and group up groups if necessary) in order to determine\n *    how large any remaining gaps are\n *\n * @param {list} slots list of slots with their heights and widths\n * @param {number} maxWidth\n * @param {number} gutterSpace\n */\nconst buildGroups = (slots, maxWidth, gutterSpace) => {\n\tconst invalids = [];\n\tconst groups = [];\n\tlet rowHeight = 0;\n\n\t// Initial groups, we render one row first as the initial group\n\tconst rowWidth = slots.reduce((acc, s, i) => {\n\t\tconst slotWidth = parseInt(s.width, 10);\n\t\tconst slotHeight = parseInt(s.height, 10);\n\t\tif (slotHeight > rowHeight) {\n\t\t\trowHeight = slotHeight;\n\t\t}\n\t\tif (acc + slotWidth + (i === 1 ? 0 : gutterSpace) <= maxWidth) {\n\t\t\t// group consecutive same-height slots\n\t\t\tconst lastGroup = groups[groups.length - 1];\n\t\t\tif (lastGroup && slotHeight === lastGroup.groupHeight) {\n\t\t\t\tlastGroup.slots.push(s);\n\t\t\t\tlastGroup.groupWidth += slotWidth + gutterSpace;\n\t\t\t\tlastGroup.availableWidth += slotWidth + gutterSpace;\n\t\t\t} else {\n\t\t\t\tgroups.push({\n\t\t\t\t\tslots: [s],\n\t\t\t\t\tgroupHeight: slotHeight,\n\t\t\t\t\tadditionalHeight: 0,\n\t\t\t\t\tgroupWidth: slotWidth + gutterSpace,\n\t\t\t\t\tavailableWidth: slotWidth,\n\t\t\t\t\tfilled: false,\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn acc + slotWidth + gutterSpace;\n\t\t}\n\t\tinvalids.push(s);\n\t\treturn acc;\n\t}, 0);\n\n\t// last group in row should take up the rest of the width available\n\tconst remainingWidth = maxWidth - sumBy(groups, 'groupWidth');\n\tconst lastGroup = groups[groups.length - 1];\n\tlastGroup.groupWidth += remainingWidth;\n\tlastGroup.availableWidth += remainingWidth;\n\n\t// Fill in the groups until they are filled\n\t// We do this in order of smallest to largest height for a\n\t// logical order\n\twhile (find(groups, { filled: false }) && invalids.length > 0) {\n\t\tconst smallest = minBy(\n\t\t\tgroups.filter((i) => {\n\t\t\t\treturn !i.filled;\n\t\t\t}),\n\t\t\t'groupHeight',\n\t\t);\n\n\t\t// calculate space left\n\t\tconst h = rowHeight - smallest.groupHeight;\n\t\tconst w = smallest.availableWidth;\n\n\t\t// see if anything fits in the space remaining\n\t\tconst candidate = find(invalids, (slot) => {\n\t\t\tconst slotWidth = parseInt(slot.width, 10);\n\t\t\tconst slotHeight = parseInt(slot.height, 10);\n\t\t\tif (slotWidth <= w && slotHeight <= h) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\n\t\tconst currentIndex = findIndex(groups, smallest);\n\n\t\t// If nothing fits in the space remaining\n\t\tif (isUndefined(candidate)) {\n\t\t\t// make sure the group doesn't actually have more space\n\t\t\tsmallest.groupHeight += smallest.additionalHeight;\n\t\t\tsmallest.additionalHeight = 0;\n\t\t\tif (\n\t\t\t\tsmallest.groupHeight !== rowHeight &&\n\t\t\t\tsmallest.availableWidth + gutterSpace !== smallest.groupWidth\n\t\t\t) {\n\t\t\t\tsmallest.availableWidth = smallest.groupWidth - gutterSpace;\n\t\t\t} else {\n\t\t\t\t// otherwise try to make a supergroup, if unsuccessful, then the group is filled\n\t\t\t\tsmallest.filled = !tryMakeSuperGroup(\n\t\t\t\t\tcurrentIndex,\n\t\t\t\t\trowHeight,\n\t\t\t\t\tgroups,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// if there is something that fits in the space remaining\n\t\t\tremove(invalids, (i) => {\n\t\t\t\treturn i === candidate;\n\t\t\t});\n\t\t\tconst slotWidth = parseInt(candidate.width, 10);\n\t\t\tconst slotHeight = parseInt(candidate.height, 10);\n\t\t\tsmallest.slots.push(candidate);\n\n\t\t\tif (slotWidth === smallest.availableWidth) {\n\t\t\t\tsmallest.groupHeight += slotHeight + gutterSpace;\n\t\t\t\tsmallest.availableWidth = smallest.groupWidth;\n\t\t\t} else {\n\t\t\t\t// if the candidate fills up the available width, we can\n\t\t\t\t// increase the groupHeight\n\t\t\t\tif (smallest.availableWidth === smallest.groupWidth) {\n\t\t\t\t\tsmallest.groupHeight += slotHeight + gutterSpace;\n\t\t\t\t} else if (smallest.additionalHeight < slotHeight) {\n\t\t\t\t\t// if the candidate didn't fill up the available width,\n\t\t\t\t\t// we have to try to fill in the available with while\n\t\t\t\t\t// making sure we keep track of the height we added\n\t\t\t\t\tsmallest.additionalHeight = slotHeight + gutterSpace;\n\t\t\t\t}\n\t\t\t\tsmallest.availableWidth -= slotWidth + gutterSpace;\n\t\t\t}\n\n\t\t\t// another possible place where we can make a super-group\n\t\t\ttryMakeSuperGroup(currentIndex, rowHeight, groups);\n\t\t}\n\t}\n\n\treturn {\n\t\tgroups,\n\t\tinvalids,\n\t\trowHeight,\n\t\trowWidth,\n\t};\n};\n\n/**\n * Makes a super group if possible\n * @param {object} prev the object before smallest in groups\n * @param {object} next the object after smallest in groups\n * @param {object} smallest the smallest height slot/group in groups\n * @param {number} currentIndex index of smallest in groups\n */\nexport const tryMakeSuperGroup = (currentIndex, rowHeight, groups) => {\n\tlet result = false;\n\tconst prev = groups[currentIndex - 1];\n\tconst next = groups[currentIndex + 1];\n\tconst smallest = groups[currentIndex];\n\tif (\n\t\tprev &&\n\t\tprev.groupHeight + prev.additionalHeight >=\n\t\t\tsmallest.groupHeight + smallest.additionalHeight &&\n\t\tprev.groupHeight + prev.additionalHeight !== rowHeight\n\t) {\n\t\tmakeSuperGroup(prev, smallest, currentIndex, groups);\n\t\twhile (\n\t\t\tgroups[currentIndex] &&\n\t\t\tgroups[currentIndex].groupHeight === prev.groupHeight\n\t\t) {\n\t\t\tmakeSuperGroup(prev, groups[currentIndex], currentIndex, groups);\n\t\t}\n\t\tresult = true;\n\t}\n\tif (\n\t\tnext &&\n\t\tnext.groupHeight + next.additionalHeight >=\n\t\t\tsmallest.groupHeight + smallest.additionalHeight &&\n\t\tnext.groupHeight + next.additionalHeight !== rowHeight\n\t) {\n\t\tsmallest.slots = [{ ...smallest }];\n\t\twhile (\n\t\t\tcurrentIndex + 1 < groups.length &&\n\t\t\tgroups[currentIndex + 1] &&\n\t\t\tgroups[currentIndex + 1].groupHeight +\n\t\t\t\tgroups[currentIndex + 1].additionalHeight >=\n\t\t\t\tsmallest.groupHeight + smallest.additionalHeight\n\t\t) {\n\t\t\tmakeSuperGroup(\n\t\t\t\tsmallest,\n\t\t\t\tgroups[currentIndex + 1],\n\t\t\t\tcurrentIndex + 1,\n\t\t\t\tgroups,\n\t\t\t);\n\t\t}\n\t\tresult = true;\n\t}\n\treturn result;\n};\n\n/**\n * Combines slots and groups into a single group\n * @param {object} parent The base group\n * @param {object} child The slot or group to be added to parent\n * @param {number} childIndex\n */\nexport const makeSuperGroup = (parent, child, childIndex, groups) => {\n\tparent.slots.push({ ...child });\n\tparent.availableWidth += child.groupWidth;\n\tparent.groupWidth += child.groupWidth;\n\tgroups.splice(childIndex, 1);\n};\n","import { calculateSizesAndGroup, getGutterSpace } from './utils';\nimport { isEqual, debounce, sumBy } from 'lodash';\n\nexport default ({ model, dispatch, ruleBasedRows, currentSlots }) => {\n\tconst { rules, items } = model;\n\n\tconst renderFn = rules.algorithm === 'fillGaps' ? fillGaps : defaultRules;\n\n\treturn renderFn(items, dispatch, ruleBasedRows, currentSlots);\n};\n\nconst defaultRules = (slots) => {\n\treturn <div className=\"rule-based\">{slots.map(renderSlot)}<\/div>;\n};\n\nconst recalculateOnResize = (slots, dispatch, elm) => {\n\treturn debounce(() => {\n\t\treturn calculateSizesAndGroup(slots, dispatch, elm);\n\t}, 200);\n};\n\nconst fillGaps = (slots, dispatch, ruleBasedRows, currentSlots) => {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"rule-based\"\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\tcalculateSizesAndGroup(slots, dispatch, elm);\n\t\t\t\tdispatch('SET_MUTATION_OBSERVER_AND_RESIZE_FN', {\n\t\t\t\t\tcallback() {\n\t\t\t\t\t\treturn calculateSizesAndGroup(slots, dispatch, elm);\n\t\t\t\t\t},\n\t\t\t\t\tresizeFn() {\n\t\t\t\t\t\treturn recalculateOnResize(slots, dispatch, elm);\n\t\t\t\t\t},\n\t\t\t\t\thost: elm.parentNode.host,\n\t\t\t\t});\n\t\t\t}}\n\t\t\thook-update={(o, n) => {\n\t\t\t\tif (!isEqual(currentSlots, slots)) {\n\t\t\t\t\tcalculateSizesAndGroup(slots, dispatch, n.elm);\n\t\t\t\t}\n\t\t\t}}\n\t\t\thook-remove={(v, removeCallback) => {\n\t\t\t\tdispatch('UNSET_MUTATION_OBSERVER_AND_RESIZE_FN');\n\t\t\t\tif (removeCallback) {\n\t\t\t\t\tremoveCallback();\n\t\t\t\t}\n\t\t\t}}\n\t\t\tkey=\"rule-based\">\n\t\t\t<div\n\t\t\t\tclassName=\"absolute-wrapper\"\n\t\t\t\thook-update={(o, n) => {\n\t\t\t\t\tif (n && isEqual(currentSlots, slots)) {\n\t\t\t\t\t\tn.elm.parentElement.style.height = `${\n\t\t\t\t\t\t\tsumBy(ruleBasedRows, 'rowHeight') +\n\t\t\t\t\t\t\tgetGutterSpace() * (ruleBasedRows.length - 1)\n\t\t\t\t\t\t}px`;\n\t\t\t\t\t}\n\t\t\t\t}}>\n\t\t\t\t{ruleBasedRows.length > 0 && isEqual(currentSlots, slots) ? (\n\t\t\t\t\truleBasedRows.map(renderRow)\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"rule-based-first-render\">\n\t\t\t\t\t\t{slots.map(renderSlot)}\n\t\t\t\t\t<\/div>\n\t\t\t\t)}\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n};\n\nconst renderRow = (row) => {\n\treturn (\n\t\t<span className=\"rule-based-row\">{row.groups.map(renderGroup)}<\/span>\n\t);\n};\n\nconst renderGroup = (group) => {\n\treturn (\n\t\t<span\n\t\t\tclassName=\"rule-based-group\"\n\t\t\tstyle={{\n\t\t\t\tmaxWidth: `${group.groupWidth}px`,\n\t\t\t\tmaxHeight: `${group.groupHeight + group.additionalHeight}px`,\n\t\t\t}}>\n\t\t\t{group.slots.map((s) => {\n\t\t\t\treturn s.slots ? renderGroup(s) : renderSlot(s);\n\t\t\t})}\n\t\t<\/span>\n\t);\n};\n\nconst renderSlot = (s) => {\n\tconst sizing = { height: s.height, width: s.width };\n\treturn (\n\t\t<span className=\"rule-based-slot\" style={sizing}>\n\t\t\t<slot name={s.name} />\n\t\t<\/span>\n\t);\n};\n","const renderFree = (children, styles) => {\n\treturn <div style={styles}>{children.map(renderChild)}<\/div>;\n};\n\nconst renderChild = (child) => {\n\tconst { slotName, styles, children = [] } = child;\n\n\treturn (\n\t\t<div style={styles}>\n\t\t\t{slotName ? (\n\t\t\t\t<div className=\"slot-wrapper\">\n\t\t\t\t\t<slot name={slotName} />\n\t\t\t\t<\/div>\n\t\t\t) : null}\n\t\t\t{children.map(renderChild)}\n\t\t<\/div>\n\t);\n};\n\nexport default ({ model }) => {\n\tconst { children, styles } = model;\n\treturn renderFree(children, styles);\n};\n","import RowColumn from './RowColumn/';\nimport Flex from './Flex/';\nimport Grid from './Grid/';\nimport RuleBased from './RuleBased/';\nimport Free from './Free';\nimport get from 'lodash/get';\n\nconst getLayoutRuntime = (model) => {\n\tconst type = get(model, 'type');\n\n\tswitch (type) {\n\t\tcase 'rowColumn':\n\t\t\treturn RowColumn;\n\t\tcase 'flex':\n\t\t\treturn Flex;\n\t\tcase 'grid':\n\t\t\treturn Grid;\n\t\tcase 'ruleBased':\n\t\t\treturn RuleBased;\n\t\tcase 'free':\n\t\t\treturn Free;\n\t\tdefault:\n\t\t\t/* eslint-disable-next-line no-console */\n\t\t\tconsole.warn(\n\t\t\t\t`Unknown layout type ${type}. Nothing will be rendered!`,\n\t\t\t);\n\t\t\treturn () => {\n\t\t\t\treturn null;\n\t\t\t};\n\t}\n};\n\nexport default getLayoutRuntime;\n","import get from 'lodash/get';\n\nexport const getModelByDevice = (model, queryVars) => {\n\tconst { isMobile, isTablet } = queryVars;\n\tconst mobileModel = get(model, 'mobile');\n\tconst tabletModel = get(model, 'tablet');\n\tconst defaultModel = get(model, 'default');\n\tlet modelByDevice;\n\n\tif (isMobile) {\n\t\tmodelByDevice = mobileModel || tabletModel || defaultModel;\n\t} else if (isTablet) {\n\t\tmodelByDevice = tabletModel || defaultModel || mobileModel;\n\t} else {\n\t\tmodelByDevice = defaultModel || tabletModel || mobileModel;\n\t}\n\n\treturn {\n\t\tmodelByDevice,\n\t\tisDesktopModel: modelByDevice === defaultModel,\n\t};\n};\n","export const CALCULATE_RULE_BASED_ROW = 'CALCULATE_RULE_BASED_ROW';\nexport const SET_MUTATION_OBSERVER_AND_RESIZE_FN =\n\t'SET_MUTATION_OBSERVER_AND_RESIZE_FN';\nexport const UNSET_MUTATION_OBSERVER_AND_RESIZE_FN =\n\t'UNSET_MUTATION_OBSERVER_AND_RESIZE_FN';\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport mediaQueryBehavior from '@servicenow/behavior-media-query';\nimport childrenWithSlotBehavior from './children-with-slot-behavior';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\nimport get from 'lodash/get';\nimport isString from 'lodash/isString';\n\nimport getLayoutRuntime from './runtimes';\nimport styles from './styles.scss';\nimport { getModelByDevice } from './runtimes/getModelByDevice';\nimport {\n\tcalculateRuleBasedRowFn,\n\tsetMutationObserverAndResizeFn,\n\tunsetMutationObserverAndResizeFn,\n} from './action-handlers';\nimport {\n\tCALCULATE_RULE_BASED_ROW,\n\tSET_MUTATION_OBSERVER_AND_RESIZE_FN,\n\tUNSET_MUTATION_OBSERVER_AND_RESIZE_FN,\n} from './constants/constants';\n\nexport const parseModel = (rawModel = null) => {\n\tif (isString(rawModel)) {\n\t\tlet model = null;\n\n\t\ttry {\n\t\t\tmodel = JSON.parse(rawModel);\n\t\t} catch (e) {\n\t\t\t/* eslint-disable-next-line no-console */\n\t\t\tconsole.warn('Unable to parse model in sn-layout');\n\t\t}\n\n\t\treturn model;\n\t}\n\treturn rawModel;\n};\n\nexport const view = (state, { dispatch }) => {\n\tconst model = parseModel(get(state, 'properties.model'));\n\n\tif (!model) {\n\t\treturn null;\n\t}\n\n\tconst { modelByDevice, isDesktopModel } = getModelByDevice(\n\t\tmodel,\n\t\tstate.behaviors.mediaQuery,\n\t);\n\n\tconst runtimeFn = getLayoutRuntime(modelByDevice);\n\treturn runtimeFn({\n\t\t...state.properties,\n\t\tversion: model.version || '1.0.0',\n\t\tmodel: modelByDevice,\n\t\tisMobile: !isDesktopModel,\n\t\tdispatch,\n\t\truleBasedRows: state.ruleBasedRows,\n\t\tcurrentSlots: state.currentSlots,\n\t\tchildrenWithSlot: state.behaviors.childrenWithSlot.slots,\n\t});\n};\n\nconst TAG_NAME = 'sn-layout';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tproperties: {\n\t\tmodel: {},\n\t\tparentTag: {\n\t\t\treflect: true,\n\t\t},\n\t\trenderers: {\n\t\t\tdefault: {\n\t\t\t\tcolumn: null,\n\t\t\t\trow: null,\n\t\t\t},\n\t\t},\n\t\tcollapsibleColumns: [],\n\t},\n\tinitialState: {\n\t\truleBasedRows: [],\n\t\tcurrentSlots: undefined, // slots the DOM has rendered for ruleBased layouts\n\t\tresizeFn: null,\n\t\tmutationObserver: null,\n\t},\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\toptions: {\n\t\t\t\tselector: '[slot]',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tisMobile: '(max-width: 480px)',\n\t\t\t\tisTablet: '(max-width: 1024px)',\n\t\t\t\tisDesktop: '(min-width: 1024px)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: childrenWithSlotBehavior,\n\t\t},\n\t\t{ behavior: rtlBehavior },\n\t],\n\tactionHandlers: {\n\t\t[CALCULATE_RULE_BASED_ROW]: calculateRuleBasedRowFn,\n\t\t[SET_MUTATION_OBSERVER_AND_RESIZE_FN]: setMutationObserverAndResizeFn,\n\t\t[UNSET_MUTATION_OBSERVER_AND_RESIZE_FN]:\n\t\t\tunsetMutationObserverAndResizeFn,\n\t},\n});\n\nexport default TAG_NAME;\n","export const calculateRuleBasedRowFn = (option) => {\n\tconst { action, updateState } = option;\n\tupdateState({\n\t\truleBasedRows: action.payload.rows,\n\t\tcurrentSlots: action.payload.slots,\n\t});\n};\n\nexport const setMutationObserverAndResizeFn = (option) => {\n\tconst { action, updateState } = option;\n\tconst resize = action.payload.resizeFn();\n\twindow.addEventListener('resize', resize);\n\n\tconst observer = new MutationObserver(() => {\n\t\taction.payload.callback();\n\t});\n\n\tobserver.observe(action.payload.host, {\n\t\tchildList: true,\n\t\tattributes: true,\n\t\tsubtree: true,\n\t});\n\tupdateState({\n\t\tmutationObserver: observer,\n\t\tresizeFn: resize,\n\t});\n};\n\nexport const unsetMutationObserverAndResizeFn = (option) => {\n\tconst { state, updateState } = option;\n\twindow.removeEventListener('resize', state.resizeFn);\n\tstate.mutationObserver.disconnect();\n\tupdateState({\n\t\tmutationObserver: null,\n\t\tresizeFn: null,\n\t});\n};\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$devsnc_sn_layout=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":728,"column":0},"map":{"mappings":"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","file":"externals/@servicenow/now-uxf-tab-set/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","declarativeOperations","modifierTypes","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","uxfViewportBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateSubscriberBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","every","filter","find","findIndex","forEach","has","isArray","isEmpty","isEqual","isFinite","isNil","keys","omit","parseInt","some","SELECTED_ITEM_SET","VERTICAL_SELECTED_ITEM_SET","UXF_TAB_SET_SELECTION","UXF_TAB_TAB_ITEMS_CHANGED","SET_SELECTED_TAB","SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP","VIEWPORT_ROUTE_REQUESTED","DEFAULT_TABS_LIST_ARIA_LABEL","ACTIVE_SIDEBAR_TAB_FOCUSED","ACTIVE_RECORD_PAGE_TAB_FOCUSED","DYNAMIC_PREFIX","TAB_TYPES","LOCAL","TEMPLATE","EXTENSION_POINT","POSITIONS","SOURCE_EVENT","INTERNAL_HOST_DISPATCH","state","_currentTab$route","_currentTab$routeObj","tabs","currentTabIndex","properties","activeRoute","viewportRoutes","currentTab","currentTabType","includes","currentTabRoute","route","routeObj","routeType","getReferenceTargetElement","element","reference","refElement","parentElement","window","host","reflowProperties","bootstrapPosTopHideLabelTrue","hideLabel","shouldHideLabel","width","propertyValues","entries","referenceTargetElement","innerWidth","offsetWidth","tab","icon","haveTabsChanged","previousItems","items","prevTab","index","isRepeatWithNoLongerNil","templateTabsConditionTrueRepeatWithNoLongerNil","Array","newItem","type","conditional","oldItem","repeatWith","_ref","updateState","isVerticalOrientation","position","minWidth","maxWidth","sortTabs","orderByExtensionPoint","extensionPoint","order","reduce","acc","sort","b","COMPONENT_BOOTSTRAPPED","hasLocalTabs","hasTemplateTabs","updateTabs","newTabs","stateToUpdate","dispatch","action","previousTabs","tabChanged","checkDataAvailabilityForTemplateTabs","templateItems","available","templateItem","hasExtensionPointTabs","computeIdForTemplateTab","calculateSimpleModeTabs","excludeConditional","shouldIncludeConditiional","repeatWithItem","repeatWithItemIndex","computeTabs","dynamicTabData","getTabData","isSimpleMode","getTabIdFromTabIndex","tabIndex","findTabIndexById","isDynamic","dynamicTabMap","dynamicTabs","mapDynamicTabData","flatMap","dynamicTabItem","requestedRouteObject","label","name","count","console","warn","mapDynamicTabsByOrder","dynamicTab","ordering","dynamicTabWithOrder","combineTabs","dynamicTabMapCopy","routePath","firstEl","secondEl","_ref2","_items$find","shouldShow","_items$find2","itemId","tabId","hasIdCollision","indexExistsInTabs","getDefaultTab","_ref3","selectedTab","selectedTabIndex","defaultRoute","getIndexForSelectedTab","error","matchingTab","findTabById","hasDynamicTabs","templateTabsAvailableWithEmptyData","onlyViewportTabs","hasViewportTabs","getTabSelector","query","arr","split","_id","indexOf","fields","hash","getDynamicDataTypeTabSelector","getSelectedTabQueryForIndex","isValidIndex","_index","getDefaultTabFromDynamicTabData","defaultTab","getFirstDynamicTabWithRoute","_ref4","processTabSelectionByDefaultTab","isInitialPageLoad","sourceEvent","defaultTabIndex","getDefaultTabIndex","defaultTabId","getActiveRouteTab","routeTab","hasValueChanged","previousValue","shortcutActionMap","_ref5","shadowRoot","selector","tabsElement","querySelector","focus","active","_ref6","ARIA_LIVE_REGION_UPDATE_REQUESTED","tabSelectionsPerComponent","Map","componentBootStrappedResolvedPromisesMap","setSelectedTabBootstrapMediator","coeffects","event","setSelectedTabPropChangeMediator","initialPageLoad","payload","effectHandlers","handleComponentBootstrap","async","componentId","bootstrappedResolver","bootstrappedPromise","Promise","resolve","set","createComponentBoostrappedPromise","prefetchSSRCPromise","getPrefetchSSRCPromise","_host$getRootNode","_items$","_items$2","mcpNode","getRootNode","macroponentSysId","match","tagName","toLowerCase","_window","prefetchSSRCPromiseMap","ux_globals","_window2","_prefetchContext$fiel","_prefetchContext$para","prefetchObject","prefetchContext","params","context","screenMacroponentSysId","snCanvasScreen","screenData","path","onlyLocalTabs","onlyTemplateTabs","containAllTabs","buildTabs","computedAndSortTabs","extensionPointAndLocalTabs","delete","getShouldHideLabel","handleComponentPropertyChanged","viewportRouteRequestedFromEmitFn","collapsed","shouldCollapseOnReflow","selectedTabPrevPropVal","selectedItem","openStatus","ariaMessage","message","operation","shouldRender","computedPreviousValue","object","computedValue","derivedTabs","conditionChanged","hasConditionalChanged","tabsHaveChanged","isValidTemplatedTabs","selectedTabPropChanged","recomputeTabState","output","dynamicTabObject","_derivedTabs$currentT","routeObject","previousRouteTab","routeTabIndex","setSelectedItem","meta","appended","isUXFInternalEvent","initiallyCollapsed","enableCollapsing","nonViewportSlots","shouldForceCollapsedState","shouldBeInitiallyCollapsed","SET","tabItem","tabItemLabel","tabIndexNotEqual","isVertical","collapseEnabledAndVertical","shouldPublishTabSelection","publishTabSelection","startsWith","selectedTabLabel","add","activeTabItemLabel","replace","DO_NOT_USE__uxfActiveTabItemLabel","activeSlot","setSelectedTab","sortedTabs","processTabSelection","setSelectedTabWithSelectedTabProp","processTabSelectionForSelectedTabPropChange","handleComponentDisconnect","_element$getRootNode","_host$nowUxfReflowDis","nowUxfReflowDisabled","nowUxfReflowDisabledAppConfig","nowUxfReflowDisabledScreen","isReflowDisabled","propsObject","uxfInternalUseOnlyReflowPropValues","JSON","parse","shadowQuerySelector","root","document","maxDepth","Infinity","currentDepth","seen","Set","queue","node","depth","_currentRoot$matches","currentRoot","matches","child","children","_child$matches","HTMLSlotElement","assigned","assignedElements","flatten","assignedEl","_assignedEl$matches","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__","keyboardShortcutBehavior","COMPONENT_PROPERTY_CHANGED","COMPONENT_DISCONNECTED","COMPONENT_CONNECTED","COMPONENT_TREE_RENDERED","nowUxfTabSetEffect","renderer","snabbdom","view","tabStyles","wrapperAttributes","style","class","top","right","className","ariaLabel","givenAriaLabel","fixedWidth","showInlinePadding","size","spaceBetweenItems","hidePadding","nowTabs","sizeProperty","Error","_renderNowTabs","_renderNonViewportSlots","hideViewportSlot","getHideViewportSlot","_renderViewportSlot","styles","behaviors","rtlBehavior","behavior","options","callbackFn","isDirty","aggregatedTabSetDirtyState","subscriberUpdateStateFn","subscriberComponentId","childActionChain","dirtyDescendantsForHost","getDirtyStateManager","uxf","dirtyStateManager","getDirtyDescendantComponentIds","currentTabSetElement","currentTabHTMLElement","at","isDirtyStateUpdated","dirtyDescendant","_tab$isDirty","actionMap","deepCompare","schema","enum","optionalParameters","initialState","transformState","outputState","actionHandlers","getReflowProperties","effect","setMinWidth","modifier","THROTTLE","limit","stopPropagation","dispatches","__TECTONIC__$servicenow_now_uxf_tab_set"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/now-uxf-tab-set.scss","webpack:///./src/now-uxf-tab-set/now-uxf-tab-set.scss?c3da","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-rtl/27.0.27/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-tabs/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/constants.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/getHideViewportSlot.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/getReferenceTargetElement.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/getShouldHideLabel.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/haveTabsChanged.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/isRepeatWithNoLongerNil.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/setMinWidth.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/sortTabs.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/nowUxfTabSetEffect.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/isReflowDisabled.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/getReflowProperties.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/view.js","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/helpers/dirtyState.js","webpack:///external module \"/uxasset/externals/@servicenow/now-trigger-library/index.jsdbx\"","webpack:///@servicenow/now-uxf-tab-set/src/now-uxf-tab-set/now-uxf-tab-set.js","webpack:///@servicenow/now-uxf-tab-set/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.tabset-wrapper{align-items:stretch;display:flex;height:100%}.tabset-wrapper.top{flex-direction:column}.tabset-wrapper.right{flex-direction:row-reverse}.tabset-wrapper .tabset-tabs{flex:0 1 auto;min-width:3rem}.tabset-wrapper .tabset-tabs>now-tabs.sm{min-height:calc(.75rem + var(--now-tabs--scale-size-block, 1)*1.5rem/2)}.tabset-wrapper .tabset-tabs>now-tabs.md{min-height:calc(1rem + var(--now-tabs--scale-size-block, 1)*2rem/2)}.tabset-wrapper .tabset-container{flex:1 1 auto;height:100%;min-height:0;overflow:auto;width:100%}.tabset-hide-slot{display:none}.tabset-tabs>now-tabs-vertical{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./now-uxf-tab-set.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t}, [\"modifierTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t\t} else if ('modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.modifierTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"uxfViewportBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t\t} else if ('uxfViewportBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.uxfViewportBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].uxfViewportBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_rtl_27_0_27_index_jsdbx_da04d203__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateSubscriberBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t\t} else if ('dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateSubscriberBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"every\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'every' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].every;\n\t\t\t\t\t} else if ('every' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.every || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].every;\n\t\t\t\t}, [\"filter\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t\t} else if ('filter' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.filter || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].filter;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"findIndex\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t\t} else if ('findIndex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.findIndex || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].findIndex;\n\t\t\t\t}, [\"forEach\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t\t} else if ('forEach' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.forEach || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].forEach;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isArray\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t\t} else if ('isArray' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isArray || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isArray;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFinite\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFinite' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFinite;\n\t\t\t\t\t} else if ('isFinite' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFinite || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFinite;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"keys\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t\t} else if ('keys' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.keys || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].keys;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"parseInt\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'parseInt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].parseInt;\n\t\t\t\t\t} else if ('parseInt' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.parseInt || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].parseInt;\n\t\t\t\t}, [\"some\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t\t} else if ('some' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.some || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].some;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\nexport const SELECTED_ITEM_SET = 'NOW_TABS#SELECTED_ITEM_SET';\nexport const VERTICAL_SELECTED_ITEM_SET = 'NOW_TABS_VERTICAL#SELECTED_ITEM_SET';\n\n/** Event name being dispatched upon a new tab selection. */\nexport const UXF_TAB_SET_SELECTION = 'UXF_TAB_SET#TAB_SELECTED';\n\n/** Event name being dispatched upon tabs changed. */\nexport const UXF_TAB_TAB_ITEMS_CHANGED = 'UXF_TAB_SET#TAB_ITEMS_CHANGED';\n\nexport const SET_SELECTED_TAB = 'SET_DYNAMIC_DEFAULT_TAB';\nexport const SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP =\n\t'SET_DYNAMIC_DEFAULT_TAB#SELECTED_TAB_PROP';\nexport const VIEWPORT_ROUTE_REQUESTED = 'VIEWPORT_ROUTE_REQUESTED';\nexport const UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED =\n\t'UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED';\n\nexport const TAB_COLLAPSED = 'UXF_TAB_SET#TAB_COLLAPSED';\nexport const DEFAULT_TABS_LIST_ARIA_LABEL = t('Tab List');\n\n// Shortcut Actions\nexport const ACTIVE_SIDEBAR_TAB_FOCUSED = 'ACTIVE_SIDEBAR_TAB_FOCUSED';\nexport const ACTIVE_RECORD_PAGE_TAB_FOCUSED = 'ACTIVE_RECORD_PAGE_TAB_FOCUSED';\n\nexport const DYNAMIC_PREFIX = 'dynamic_';\nexport const TAB_TYPES = {\n\tLOCAL: 'local',\n\tTEMPLATE: 'template',\n\tEXTENSION_POINT: 'extension_point',\n};\nexport const POSITIONS = {\n\tTOP: 'top',\n\tLEFT: 'left',\n\tRIGHT: 'right',\n};\n\nexport const SOURCE_EVENT = {\n\tPROPERTY_CHANGED: 'PROPERTY_CHANGED',\n\tBOOTSTRAPPED: 'BOOTSTRAPPED',\n};\n\n// Appended to internal now-tabs & now-vertical-tabs components. This is used to differentiate internal tabs from ones that are nested within the slotted components\nexport const INTERNAL_HOST_DISPATCH = Symbol('__internal_host_dispatch__');\n\nexport const TREE_RENDERED_THROTTLE_LIMIT = 250;\n\n// reflow properties\nexport const REFERENCE_ELEMENT = 'element';\nexport const REFERENCE_CONTAINER = 'container';\nexport const REFERENCE_PAGE = 'page';\n","import get from 'lodash/get';\nimport { TAB_TYPES } from '../constants';\n\n/**\n * determines whether to hide the viewport slot\n * @param {object} state full state object\n * @returns {boolean} true if the viewport slot should be hidden\n */\nconst getHideViewportSlot = (state) => {\n\tconst { tabs, currentTabIndex, properties } = state;\n\tconst { activeRoute, viewportRoutes } = properties;\n\tconst currentTab = get(tabs, `[${currentTabIndex}]`, {});\n\tconst currentTabType = get(currentTab, 'type', '');\n\t// hide viewport slot for local and template tabs\n\tif ([TAB_TYPES.LOCAL, TAB_TYPES.TEMPLATE].includes(currentTabType)) {\n\t\treturn true;\n\t}\n\t// show viewport slot for viewport routes\n\tconst currentTabRoute = currentTab?.route ?? currentTab?.routeObj?.route;\n\tif (currentTabRoute && currentTabRoute in viewportRoutes) {\n\t\treturn false;\n\t}\n\n\t// if the function has reached this point, the current tab is not a viewport route\n\t// and we can determine if we should hide the viewport slot based on the active route.\n\t// The `activeRoute` property can be set via api.emit to trigger a viewport tab display,\n\t// so we know that if the active route is not a viewport route, we should hide the\n\t// viewport slot. If the currentTabRoute is different from the old activeRoute value,\n\t// we should hide the viewport slot, knowing that the new tab is not a viewport route.\n\treturn activeRoute?.routeType !== currentTabRoute;\n};\n\nexport default getHideViewportSlot;\n","import {\n\tREFERENCE_ELEMENT,\n\tREFERENCE_CONTAINER,\n\tREFERENCE_PAGE,\n} from '../constants';\n\nconst getReferenceTargetElement = (element, reference) => {\n\tif (!element || !reference) {\n\t\treturn;\n\t}\n\tlet refElement;\n\tswitch (reference) {\n\t\tcase REFERENCE_ELEMENT:\n\t\t\trefElement = element;\n\t\t\tbreak;\n\t\tcase REFERENCE_CONTAINER:\n\t\t\trefElement = element.parentElement;\n\t\t\tbreak;\n\t\tcase REFERENCE_PAGE:\n\t\t\trefElement = window;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\trefElement = element;\n\t\t\tbreak;\n\t}\n\n\treturn refElement;\n};\n\nexport default getReferenceTargetElement;\n","import isEmpty from 'lodash/isEmpty';\nimport getReferenceTargetElement from './getReferenceTargetElement';\n\nconst getShouldHideLabel = (state = {}, host) => {\n\tconst {\n\t\treflowProperties,\n\t\ttabs,\n\t\tproperties = {},\n\t\tbootstrapPosTopHideLabelTrue,\n\t} = state;\n\tconst { hideLabel } = properties;\n\tif (isEmpty(reflowProperties)) {\n\t\treturn hideLabel;\n\t}\n\tlet shouldHideLabel = hideLabel;\n\tfor (const [width, { propertyValues, reference }] of Object.entries(\n\t\treflowProperties,\n\t)) {\n\t\tconst referenceTargetElement = getReferenceTargetElement(\n\t\t\thost,\n\t\t\treference,\n\t\t);\n\t\tconst innerWidth =\n\t\t\treferenceTargetElement === window\n\t\t\t\t? window.innerWidth\n\t\t\t\t: referenceTargetElement?.offsetWidth || 0;\n\t\tif (\n\t\t\tinnerWidth <= parseInt(width, 10) &&\n\t\t\t'hideLabel' in propertyValues\n\t\t) {\n\t\t\tshouldHideLabel = bootstrapPosTopHideLabelTrue\n\t\t\t\t? true\n\t\t\t\t: propertyValues.hideLabel;\n\t\t\tif (\n\t\t\t\t!bootstrapPosTopHideLabelTrue &&\n\t\t\t\tshouldHideLabel &&\n\t\t\t\t!tabs.every((tab) => {\n\t\t\t\t\treturn tab.icon;\n\t\t\t\t})\n\t\t\t) {\n\t\t\t\tshouldHideLabel = false;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn shouldHideLabel;\n};\n\nexport default getShouldHideLabel;\n","import isEqual from 'lodash/isEqual';\n\n/**\n * @description Will return true if any of the following conditions are met:\n * 1. If any field value has changed for one of the tabs\n * 2. If there is a new tab added or a tab has been removed\n *\n * @typedef {Object} TabItem\n * @param {TabItem[]} previousItems\n * @param {TabItem[]} items\n * @returns {boolean}\n */\nconst haveTabsChanged = (previousItems, items) => {\n\tif (previousItems.length !== items.length) {\n\t\treturn true;\n\t}\n\n\treturn !previousItems.every((prevTab, index) => {\n\t\treturn isEqual(prevTab, items[index]);\n\t});\n};\n\nexport default haveTabsChanged;\n","import isNil from 'lodash/isNil';\nimport { TAB_TYPES } from '../constants';\nconst { TEMPLATE } = TAB_TYPES;\n\n/**\n * @description populates the Array return value only if previousItems contains an item where repeatWith was nil\n * and the same item (by id) in items has a repeatWith that is not nil and its conditional is true\n * @param {Array} previousItems array of item objects from properties\n * @param {Array} items array of item objects from properties\n * @returns {Array}\n */\nconst isRepeatWithNoLongerNil = (previousItems, items) => {\n\tconst templateTabsConditionTrueRepeatWithNoLongerNil = [];\n\n\tif (Array.isArray(items)) {\n\t\titems.forEach((newItem) => {\n\t\t\t// Early return if the newItem is not a template tab or conditional is false\n\t\t\tif (newItem.type !== TEMPLATE || newItem.conditional === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst oldItem = previousItems.find((item) => {\n\t\t\t\treturn item.id === newItem.id;\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\toldItem &&\n\t\t\t\tisNil(oldItem.repeatWith) &&\n\t\t\t\toldItem.repeatWith !== newItem.repeatWith &&\n\t\t\t\tArray.isArray(newItem.repeatWith)\n\t\t\t) {\n\t\t\t\ttemplateTabsConditionTrueRepeatWithNoLongerNil.push(newItem.id);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn templateTabsConditionTrueRepeatWithNoLongerNil;\n};\n\nexport default isRepeatWithNoLongerNil;\n","import { isVerticalOrientation } from '../helpers';\n\nconst setMinWidth = ({ state, host, updateState, properties }) => {\n\tif (isVerticalOrientation(properties.position)) {\n\t\treturn;\n\t}\n\tconst { tabs, minWidth } = state;\n\tconst { offsetWidth } = host;\n\tconst { maxWidth } = properties;\n\tif (tabs.length === 2 && !minWidth && offsetWidth < maxWidth) {\n\t\tupdateState({ minWidth: offsetWidth });\n\t}\n};\n\nexport default setMinWidth;\n","import isEmpty from 'lodash/isEmpty';\n\n/**\n * sortTabs\n *\n * @param {TabObject[]} tabs array of tab objects from state\n * @param {Object[]} items array of item objects from properties\n * @returns {TabObject[]} sorted array of tab objects\n */\nconst sortTabs = (tabs, items) => {\n\tif (!Array.isArray(tabs) || isEmpty(tabs)) {\n\t\treturn [];\n\t}\n\tconst orderByExtensionPoint = items\n\t\t.filter((item) => {\n\t\t\treturn item?.extensionPoint;\n\t\t})\n\t\t.map((item) => {\n\t\t\treturn [item.extensionPoint, item?.order || 0];\n\t\t})\n\t\t.reduce((acc, [key, value]) => {\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[key]: value,\n\t\t\t};\n\t\t}, {});\n\n\tconst tabItems = tabs.map((tab, index) => {\n\t\tif (tab?.extensionPoint) {\n\t\t\tconst order = orderByExtensionPoint[tab.extensionPoint] || 0;\n\t\t\treturn { ...tab, order: order + index };\n\t\t}\n\t\treturn tab;\n\t});\n\n\treturn tabItems.sort((a, b) => {\n\t\treturn a.order - b.order;\n\t});\n};\n\nexport default sortTabs;\n","import { actionTypes } from '@servicenow/ui-core';\nimport some from 'lodash/some';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n\tDYNAMIC_PREFIX,\n\tPOSITIONS,\n\tSELECTED_ITEM_SET,\n\tTAB_TYPES,\n\tACTIVE_SIDEBAR_TAB_FOCUSED,\n\tACTIVE_RECORD_PAGE_TAB_FOCUSED,\n\tSOURCE_EVENT,\n\tUXF_TAB_TAB_ITEMS_CHANGED,\n\tINTERNAL_HOST_DISPATCH,\n} from './constants';\nimport isArray from 'lodash/isArray';\nimport findIndex from 'lodash/findIndex';\nimport get from 'lodash/get';\nimport forEach from 'lodash/forEach';\nimport find from 'lodash/find';\nimport keys from 'lodash/keys';\nimport omit from 'lodash/omit';\nimport isFinite from 'lodash/isFinite';\nimport isEqual from 'lodash/isEqual';\nimport isNil from 'lodash/isNil';\nimport filter from 'lodash/filter';\nimport every from 'lodash/every';\nimport parseInt from 'lodash/parseInt';\nimport has from 'lodash/has';\nimport { sortTabs } from './helpers/exports';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\nconst { LOCAL, TEMPLATE, EXTENSION_POINT } = TAB_TYPES;\n\n/**\n * hasLocalTabs\n * @param items\n * @returns {boolean}\n */\nexport const hasLocalTabs = (items) => {\n\treturn some(items, { type: LOCAL });\n};\n\n/**\n * hasTemplateTabs\n * @param items\n * @returns {boolean}\n */\nexport const hasTemplateTabs = (items) => {\n\treturn some(items, { type: TEMPLATE });\n};\n\n/**\n *\n * @param {TabObject[]} newTabs array of tab objects\n * @param {Object} coeffects coeffects object\n * @param {Object} stateToUpdate new state object\n */\nexport const updateTabs = (\n\tnewTabs,\n\t{ state, updateState, dispatch, action },\n\tstateToUpdate,\n) => {\n\tconst previousTabs = get(state, 'tabs', []);\n\tconst tabChanged =\n\t\taction.type === COMPONENT_BOOTSTRAPPED ||\n\t\t!isEqual(previousTabs, newTabs);\n\tconst updatingState = stateToUpdate || { tabs: newTabs };\n\tupdateState(updatingState);\n\n\tif (tabChanged) {\n\t\tdispatch(UXF_TAB_TAB_ITEMS_CHANGED, {\n\t\t\ttabs: newTabs,\n\t\t\tpreviousTabs,\n\t\t});\n\t}\n};\n\n/**\n * checkDataAvailabilityForTemplateTabs: checks for all template tabs data (repeatWith)\n * are available\n * @param items\n * @returns {boolean}\n */\nexport const checkDataAvailabilityForTemplateTabs = (items) => {\n\tconst templateItems = filter(items, { type: TEMPLATE });\n\tlet available = !isEmpty(templateItems);\n\tforEach(templateItems, (templateItem) => {\n\t\tif (isNil(get(templateItem, ['repeatWith'], null))) {\n\t\t\tavailable = false;\n\t\t}\n\t});\n\n\treturn available;\n};\n\n/**\n * hasExtensionPointTabs\n * @param items\n * @returns {boolean}\n */\nexport const hasExtensionPointTabs = (items) => {\n\treturn some(items, { type: EXTENSION_POINT });\n};\n\n/**\n * hasViewportTabs\n * @param items\n * @param viewportRoutes\n * @returns {boolean}\n */\nexport const hasViewportTabs = (items, viewportRoutes) => {\n\treturn isEmpty(items) && !isEmpty(viewportRoutes);\n};\n\n/**\n * isSimpleMode\n * @param items\n * @returns {boolean}\n */\nconst isSimpleMode = (items) => {\n\treturn (\n\t\tisArray(items) &&\n\t\t!isEmpty(items) &&\n\t\t(hasLocalTabs(items) || hasTemplateTabs(items))\n\t);\n};\n\n/**\n * computeIdForTemplateTab\n * @param item\n * @param index\n * @returns {`${string}-${string}`}\n */\nconst computeIdForTemplateTab = (item, index) => {\n\treturn `${item.id}-${index}`;\n};\n\n/**\n * calculateSimpleModeTabs\n * @param items\n * @param excludeConditional\n * @returns {*[]}\n */\nconst calculateSimpleModeTabs = (items, excludeConditional = true) => {\n\tconst tabs = [];\n\n\titems.forEach((item) => {\n\t\tconst shouldIncludeConditiional =\n\t\t\t(!excludeConditional && item.conditional) || !item.conditional;\n\t\t// local tabs\n\t\tif (item.type === LOCAL && shouldIncludeConditiional) {\n\t\t\ttabs.push(item);\n\t\t}\n\n\t\t// template tabs\n\t\t//  - compute the id for template items using the index for repeater data set\n\t\t//  - update the order for the template item using the order for the items props\n\t\tif (\n\t\t\titem.type === TEMPLATE &&\n\t\t\t!isNil(item.repeatWith) &&\n\t\t\t!isEmpty(item.repeatWith) &&\n\t\t\tshouldIncludeConditiional\n\t\t) {\n\t\t\titem.repeatWith.forEach((repeatWithItem, repeatWithItemIndex) => {\n\t\t\t\ttabs.push({\n\t\t\t\t\t...repeatWithItem,\n\t\t\t\t\tid: computeIdForTemplateTab(item, repeatWithItemIndex),\n\t\t\t\t\t...(has(item, 'order') && {\n\t\t\t\t\t\torder: item.order + repeatWithItemIndex,\n\t\t\t\t\t}),\n\t\t\t\t\ttype: item.type,\n\t\t\t\t\tconditional: item.conditional,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t});\n\n\treturn tabs;\n};\n\n/**\n * computeTabs\n * @param items\n * @param viewportRoutes\n * @param dynamicTabData\n * @param excludeConditional\n * @returns {*[]}\n */\nexport const computeTabs = (\n\titems,\n\tviewportRoutes,\n\tdynamicTabData,\n\texcludeConditional = true,\n) => {\n\tlet tabs = [];\n\n\t// when viewport tabs are configured\n\tif (!isEmpty(viewportRoutes)) {\n\t\ttabs = [...tabs, ...getTabData(viewportRoutes, dynamicTabData, items)]; // eslint-disable-line no-use-before-define\n\t}\n\n\tif (isSimpleMode(items)) {\n\t\ttabs = [...tabs, ...calculateSimpleModeTabs(items, excludeConditional)];\n\t}\n\n\treturn tabs;\n};\n\n/**\n * getTabIdFromTabIndex\n * @param tabIndex\n * @param tabs\n * @returns {false|*}\n */\nexport const getTabIdFromTabIndex = (tabIndex, tabs) => {\n\treturn !isEmpty(tabs) && get(tabs[tabIndex], ['id']);\n};\n\n/**\n * findTabById\n * @param tabs\n * @param id\n * @returns {object}\n */\nconst findTabById = (tabs, id) => {\n\treturn find(tabs, { id });\n};\n\n/**\n * findTabIndexById\n * @param tabs\n * @param id\n * @returns {number}\n */\nexport const findTabIndexById = (tabs, id) => {\n\treturn findIndex(tabs, { id });\n};\n\n/**\n * @function isUXFInternalEvent\n *\n * @description Detects whether or not an event should be handled by the now-uxf-tab-set handlers\n *\n * There are four ways an event comes into the now-uxf-tab-set:\n *\t1. The immediate now-tabs or now-vertical-tabs components in the now-uxf-tab-set view (meta.appended[INTERNAL_HOST_DISPATCH] === true)\n * \t2. An emitted event inside a UIB client script (meta has uxfMeta property)\n * \t3. An internally dispatched event (meta has sourceEvent property)\n * \t4. A nested now-tabs component inside a viewport (none of the above)\n *\n * @param meta\n * @returns {boolean}\n */\nexport const isUXFInternalEvent = (meta) => {\n\tconst { sourceEvent, appended } = meta;\n\n\treturn (\n\t\tsourceEvent ||\n\t\tappended?.[INTERNAL_HOST_DISPATCH] === true ||\n\t\tObject.prototype.hasOwnProperty.call(meta, 'uxfMeta')\n\t);\n};\n\n/**\n * mapDynamicTabData\n * @param viewportRoutes\n * @param dynamicTabData\n */\nconst mapDynamicTabData = (viewportRoutes, dynamicTabData) => {\n\treturn dynamicTabData.flatMap((dynamicTabItem, index) => {\n\t\ttry {\n\t\t\tconst requestedRouteObject =\n\t\t\t\tviewportRoutes[dynamicTabItem.route][0];\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tid: `${DYNAMIC_PREFIX}${index}`,\n\t\t\t\t\tlabel: dynamicTabItem.label || requestedRouteObject.name,\n\t\t\t\t\trouteObj: dynamicTabItem,\n\t\t\t\t\tcount: dynamicTabItem.count,\n\t\t\t\t\ticon: get(requestedRouteObject, 'icon', null),\n\t\t\t\t},\n\t\t\t];\n\t\t} catch (e) {\n\t\t\tconsole.warn(\n\t\t\t\t'now-uxf-tab-set - invalid dynamic route object. Removing object from tab list.',\n\t\t\t\tdynamicTabItem,\n\t\t\t);\n\t\t\treturn [];\n\t\t}\n\t});\n};\n\n/**\n * mapDynamicTabsByOrder - Map dynamicTabs by order, i.e.:\n * {\n * \t'200': [\n * \t\t{\n * \t\t\tid: 'dynamic_0',\n * \t\t\tlabel: 'Task SLAs - 0'\n * \t\t},\n * \t\t{\n * \t\t\tid: 'dynamic_1',\n * \t\t\tlabel: 'Affected CIs - 0'\n * \t\t}\n * \t],\n * \t'300': [\n *  \t{\n * \t\t\tid: 'dynamic_3',\n * \t\t\tlabel: 'Blah Blah'\n * \t\t}\n * \t]\n * }\n *\n * @param viewportRoutes\n * @param dynamicTabs\n * @returns {{}}\n */\nconst mapDynamicTabsByOrder = (viewportRoutes, dynamicTabs) => {\n\tconst dynamicTabMap = {};\n\n\tforEach(dynamicTabs, (dynamicTab) => {\n\t\tconst { route } = dynamicTab.routeObj;\n\t\tconst ordering = viewportRoutes[route][0].order;\n\t\tconst dynamicTabWithOrder = { ...dynamicTab, order: ordering };\n\n\t\tif (!dynamicTabMap[ordering]) {\n\t\t\tdynamicTabMap[ordering] = [dynamicTabWithOrder];\n\t\t} else {\n\t\t\tdynamicTabMap[ordering].push(dynamicTabWithOrder);\n\t\t}\n\t});\n\n\treturn dynamicTabMap;\n};\n\n/**\n * shouldShow\n * @param extensionPoint\n * @param items\n * @returns {boolean}\n */\nconst shouldShow = (extensionPoint, items = []) => {\n\treturn (\n\t\t!extensionPoint ||\n\t\titems.find((item) => {\n\t\t\treturn item.extensionPoint === extensionPoint;\n\t\t})?.conditional !== true\n\t);\n};\n\n/**\n * isDynamic\n * @param route\n * @returns {boolean}\n */\nexport const isDynamic = (route) => {\n\treturn !!get(route, 'fields.length', 0);\n};\n\n/**\n * hasIdCollision - util to check if ext point tab id collides with other tab ids\n * @param id\n * @param items\n * @returns {boolean}\n */\nexport const hasIdCollision = (id, items) => {\n\treturn !!items.find((i) => {\n\t\treturn i.id === id && !i.extensionPoint;\n\t});\n};\n\n/**\n * combineTabs\n * @param viewportRoutes\n * @param dynamicTabMap\n * @returns {*[]}\n */\nexport const combineTabs = (viewportRoutes, dynamicTabMap, items) => {\n\tconst tabs = [];\n\tlet dynamicTabMapCopy = { ...dynamicTabMap };\n\n\tkeys(viewportRoutes)\n\t\t.map((routePath) => {\n\t\t\treturn {\n\t\t\t\troutePath,\n\t\t\t\troute: viewportRoutes[routePath][0],\n\t\t\t};\n\t\t})\n\t\t.sort((firstEl, secondEl) => {\n\t\t\treturn firstEl.route.order - secondEl.route.order;\n\t\t})\n\t\t.forEach(({ routePath, route }) => {\n\t\t\tif (isDynamic(route)) {\n\t\t\t\tif (dynamicTabMapCopy[route.order]) {\n\t\t\t\t\ttabs.push(...dynamicTabMapCopy[route.order]);\n\t\t\t\t\tdynamicTabMapCopy = omit(dynamicTabMapCopy, route.order);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (shouldShow(route.extensionPoint, items)) {\n\t\t\t\t\tconst itemId = items.find((item) => {\n\t\t\t\t\t\treturn item.extensionPoint === route.extensionPoint;\n\t\t\t\t\t})?.id;\n\t\t\t\t\t// If viewport tab id collides with simple tab id, prefix id with extension point - ex: my_page_collection_tab1\n\t\t\t\t\tconst tabId = hasIdCollision(routePath, items)\n\t\t\t\t\t\t? `${itemId}_${routePath}`\n\t\t\t\t\t\t: routePath;\n\t\t\t\t\ttabs.push({\n\t\t\t\t\t\titemId,\n\t\t\t\t\t\tid: tabId,\n\t\t\t\t\t\troute: routePath,\n\t\t\t\t\t\tlabel: route.name,\n\t\t\t\t\t\ticon: route.icon,\n\t\t\t\t\t\torder: route.order,\n\t\t\t\t\t\textensionPoint: route.extensionPoint,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\treturn tabs;\n};\n\n/**\n * getTabData\n * @param viewportRoutes\n * @param dynamicTabData\n * @returns {*[]}\n */\nconst getTabData = (viewportRoutes, dynamicTabData, items) => {\n\tlet dynamicTabMap = {};\n\n\tif (Array.isArray(dynamicTabData) && dynamicTabData.length) {\n\t\tconst dynamicTabs = mapDynamicTabData(viewportRoutes, dynamicTabData);\n\t\tdynamicTabMap = mapDynamicTabsByOrder(viewportRoutes, dynamicTabs);\n\t}\n\n\treturn combineTabs(viewportRoutes, dynamicTabMap, items);\n};\n\n/**\n * indexExistsInTabs\n * @param index\n * @param tabs\n * @returns {boolean}\n */\nexport const indexExistsInTabs = (index, tabs) => {\n\treturn index >= 0 && index < tabs.length;\n};\n\n/**\n * getDefaultTab\n * @param selectedTab - this takes precedence over selectedTabIndex or defaultRoute\n * @param selectedTabIndex\n * @param defaultRoute\n * @param tabs\n * @returns {number}\n */\nexport const getDefaultTab = ({\n\tselectedTab,\n\tselectedTabIndex,\n\tdefaultRoute,\n\ttabs,\n}) => {\n\tif (!isEmpty(selectedTab) && !isEmpty(tabs)) {\n\t\tconst index = getIndexForSelectedTab(tabs, selectedTab);\n\t\tif (indexExistsInTabs(index, tabs)) {\n\t\t\treturn tabs[index];\n\t\t}\n\t\tconsole.warn(\n\t\t\t`Provided selected tab '${selectedTab}' is not a valid selector`,\n\t\t);\n\t}\n\n\tlet tab;\n\t// determine the default tab object using the selectedTabIndex or defaultRoute\n\t// defaultRoute value is the \"id\" and selectedTabIndex is the index  of the\n\t// selected tab in string value\n\tif (!isEmpty(defaultRoute) && !isEmpty(tabs)) {\n\t\t// try finding the tab matches to defaultRoute to get the default tab object,\n\t\t// otherwise default to the first object in tabs\n\t\tconst matchingTab = findTabById(tabs, defaultRoute);\n\t\ttab = isNil(matchingTab) ? tabs[0] : matchingTab;\n\t} else if (!isNil(selectedTabIndex) && !isEmpty(tabs)) {\n\t\tconst tabIndex = parseInt(selectedTabIndex);\n\t\tif (isFinite(tabIndex)) {\n\t\t\tif (!isEmpty(tabs) && !indexExistsInTabs(tabIndex, tabs)) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`Provided selected tab index '${tabIndex}' is not a valid index`,\n\t\t\t\t);\n\n\t\t\t\t// defaulting to the first tab item, as\n\t\t\t\t//   - defaultRoute is empty, tabs are available\n\t\t\t\t//   - selectedTabIndex is finite but index doesn't exists in tabs\n\t\t\t\ttab = tabs[0];\n\t\t\t} else {\n\t\t\t\ttab = tabs[tabIndex];\n\t\t\t}\n\t\t} else {\n\t\t\t// handle the case when tabIndex is not finite (NaN)\n\t\t\ttab = tabs[0];\n\t\t}\n\t} else {\n\t\ttab = tabs[0];\n\t}\n\treturn tab;\n};\n\n/**\n * getDefaultTabIndex\n * @param defaultRoute\n * @param tabs\n * @returns {number}\n */\nexport const getDefaultTabIndex = (defaultRoute, tabs) => {\n\tlet defaultTabIndex = -1;\n\tif (!isEmpty(defaultRoute) && !isEmpty(tabs)) {\n\t\tdefaultTabIndex = findTabIndexById(tabs, defaultRoute);\n\t} else {\n\t\tdefaultTabIndex = 0;\n\t}\n\treturn defaultTabIndex;\n};\n\n/**\n * hasDynamicTabs\n * @param viewportRoutes\n * @returns {boolean}\n */\nexport const hasDynamicTabs = (viewportRoutes) => {\n\treturn keys(viewportRoutes)\n\t\t.map((routePath) => {\n\t\t\treturn {\n\t\t\t\t...viewportRoutes[routePath][0],\n\t\t\t};\n\t\t})\n\t\t.some((route) => {\n\t\t\treturn isDynamic(route);\n\t\t});\n};\n/**\n * getFirstDynamicTabWithRoute\n * @param tabs\n * @param defaultRoute\n */\nexport const getFirstDynamicTabWithRoute = (tabs, defaultRoute) => {\n\treturn tabs.find(({ routeObj }) => {\n\t\treturn get(routeObj, 'route') === defaultRoute;\n\t});\n};\n\n/**\n * buildTabs\n * @param items\n * @param viewportRoutes\n * @param dynamicTabData\n * @param defaultRoute\n * @param coeffects\n */\nexport const buildTabs = (\n\titems,\n\tviewportRoutes,\n\tdynamicTabData,\n\tdefaultRoute,\n\tcoeffects,\n) => {\n\t//compute tabs and sort based on the order definition available in items\n\tconst computedAndSortTabs = sortTabs(\n\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\titems,\n\t);\n\n\tupdateTabs(computedAndSortTabs, coeffects);\n};\n\n/**\n * templateTabsAvailableWithEmptyData: Checks for all template tab items are having\n * valid data with empty array\n * @param items\n * @returns {boolean}\n */\nexport const templateTabsAvailableWithEmptyData = (items) => {\n\treturn (\n\t\tcheckDataAvailabilityForTemplateTabs(items) &&\n\t\tevery(\n\t\t\tfilter(items, (i) => {\n\t\t\t\treturn i.type === TEMPLATE;\n\t\t\t}),\n\t\t\t(t) => {\n\t\t\t\treturn !isNil(t.repeatWith) && isEmpty(t.repeatWith);\n\t\t\t},\n\t\t)\n\t);\n};\n\n/**\n * onlyLocalTabs\n * @param selectedTabIndex\n * @param items\n * @returns {boolean}\n */\nexport const onlyLocalTabs = (items) => {\n\treturn (\n\t\thasLocalTabs(items) &&\n\t\t(!hasTemplateTabs(items) ||\n\t\t\ttemplateTabsAvailableWithEmptyData(items)) &&\n\t\t!hasExtensionPointTabs(items)\n\t);\n};\n\n/**\n * onlyTemplateTabs\n * @param items\n * @returns {boolean}\n */\nexport const onlyTemplateTabs = (items) => {\n\treturn (\n\t\thasTemplateTabs(items) &&\n\t\tevery(items, (item) => {\n\t\t\treturn item.type === TEMPLATE;\n\t\t}) &&\n\t\tcheckDataAvailabilityForTemplateTabs(items)\n\t);\n};\n\n/**\n * onlyViewportTabs\n * @param items\n * @param viewportRoutes\n * @param dynamicTabData\n * @returns {boolean}\n */\nexport const onlyViewportTabs = (items, viewportRoutes, dynamicTabData) => {\n\treturn (\n\t\t((hasViewportTabs(items, viewportRoutes) &&\n\t\t\t!hasDynamicTabs(viewportRoutes)) ||\n\t\t\t(!isEmpty(dynamicTabData) && hasDynamicTabs(viewportRoutes)) ||\n\t\t\t(hasExtensionPointTabs(items) &&\n\t\t\t\t!isEmpty(viewportRoutes) &&\n\t\t\t\t!hasDynamicTabs(viewportRoutes))) &&\n\t\t!hasLocalTabs(items) &&\n\t\t(!hasTemplateTabs(items) || templateTabsAvailableWithEmptyData(items))\n\t);\n};\n\n/**\n * containAllTabs\n * @param items\n * @returns {boolean}\n */\nexport const containAllTabs = (items) => {\n\treturn (\n\t\thasExtensionPointTabs(items) &&\n\t\thasLocalTabs(items) &&\n\t\thasTemplateTabs(items) &&\n\t\t!some(items, (item) => {\n\t\t\treturn item.type === TEMPLATE && !isNil(item.repeatWith);\n\t\t})\n\t);\n};\n\n/**\n * extensionPointAndLocalTabs\n * @param items\n * @returns {boolean}\n */\nexport const extensionPointAndLocalTabs = (items) => {\n\treturn (\n\t\thasExtensionPointTabs(items) &&\n\t\thasLocalTabs(items) &&\n\t\t!hasTemplateTabs(items)\n\t);\n};\n\nconst getDynamicDataTypeTabSelector = (tab) => {\n\tconst {\n\t\trouteObj: { route, fields },\n\t} = tab;\n\treturn Object.keys(fields)\n\t\t.sort()\n\t\t.reduce((hash, key) => {\n\t\t\treturn `${hash}^field.${key}=${fields[key]}`;\n\t\t}, `route=${route}`);\n};\n\nconst getTabSelector = (tab) => {\n\tconst { type, id } = tab;\n\tlet query;\n\tswitch (\n\t\ttype //Tokyo+\n\t) {\n\t\tcase LOCAL: {\n\t\t\t//for static tabs\n\t\t\tquery = `id=${id}`;\n\t\t\tbreak;\n\t\t}\n\t\tcase TEMPLATE: {\n\t\t\t//for repeater tabs and related List tabs\n\t\t\tconst arr = id.split('-');\n\t\t\tif (arr.length > 1) {\n\t\t\t\tconst [_id, index] = arr;\n\t\t\t\tquery = `id=${_id}^index=${index}`;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tif (!query) {\n\t\tif (!isEmpty(tab.extensionPoint)) {\n\t\t\tquery = `id=${tab.itemId}^route=${tab.route}`;\n\t\t} else if (id.indexOf(DYNAMIC_PREFIX) === 0) {\n\t\t\t//for dynamic tabs data driven tabs. Pre Tokyo\n\t\t\tquery = getDynamicDataTypeTabSelector(tab);\n\t\t} else {\n\t\t\t// handle viewport-only and static tabs. Pre Tokyo\n\t\t\tquery = `id=${id}`;\n\t\t}\n\t}\n\treturn query;\n};\n\nconst isValidIndex = (arr, index) => {\n\tlet _index = index;\n\tif (typeof _index !== 'number') {\n\t\ttry {\n\t\t\t_index = parseInt(index);\n\t\t} catch (e) {\n\t\t\tconsole.error('Invalid tab index : ', index);\n\t\t}\n\t}\n\treturn isFinite(_index) && _index < arr.length && _index >= 0;\n};\n\nexport const getIndexForSelectedTab = (tabs, selectedTab) => {\n\tif (isEmpty(tabs) || isEmpty(selectedTab)) {\n\t\treturn;\n\t}\n\n\tfor (const [index, tab] of tabs.entries()) {\n\t\tif (selectedTab === getTabSelector(tab)) {\n\t\t\treturn index;\n\t\t}\n\t}\n};\n\nexport const getSelectedTabQueryForIndex = (tabs, index) => {\n\tif (isEmpty(tabs) || !isValidIndex(tabs, index)) {\n\t\treturn;\n\t}\n\n\treturn getTabSelector(tabs[index]);\n};\n\n/**\n * processTabSelection\n * @param items\n * @param tabs\n * @param viewportRoutes\n * @param dynamicTabData\n * @param selectedTabIndex\n * @param defaultRoute\n * @param coeffects\n * @param tabIndex\n * @param currentTabIndex\n * @param isInitialPageLoad\n * @param selectedItem\n * @param sourceEvent\n */\nexport const processTabSelection = (\n\titems,\n\ttabs,\n\tviewportRoutes,\n\tdynamicTabData,\n\tselectedTabIndex,\n\tdefaultRoute,\n\tcoeffects,\n\ttabIndex,\n\tcurrentTabIndex,\n\tisInitialPageLoad,\n\tselectedItem = '',\n\tsourceEvent,\n) => {\n\tconst { updateState, dispatch } = coeffects;\n\tlet defaultTabId;\n\tif (isEmpty(tabs)) {\n\t\t// compute tabs and order it.\n\t\tconst sortedTabs = sortTabs(\n\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\titems,\n\t\t);\n\t\tif (!isEmpty(sortedTabs)) {\n\t\t\tdefaultTabId = get(\n\t\t\t\tgetDefaultTab({\n\t\t\t\t\tselectedTabIndex,\n\t\t\t\t\tdefaultRoute,\n\t\t\t\t\ttabs: sortedTabs,\n\t\t\t\t}),\n\t\t\t\t'id',\n\t\t\t);\n\n\t\t\tupdateTabs(sortedTabs, coeffects);\n\t\t\tdispatch(\n\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t{ sourceEvent },\n\t\t\t);\n\t\t}\n\t} else {\n\t\t// tabs are computed and available\n\t\tif (isFinite(tabIndex)) {\n\t\t\tif (!isEmpty(tabs) && !indexExistsInTabs(tabIndex, tabs)) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`Provided selected tab index '${tabIndex}' is not a valid index`,\n\t\t\t\t);\n\t\t\t\t// when tabIndex is finite but does not exist in tabs\n\t\t\t\t// default to the first tab\n\t\t\t\tdefaultTabId = get(tabs, '[0].id');\n\t\t\t\tdispatch(\n\t\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t\t{ sourceEvent },\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Edge case - Check to see if the currentTabIndex has been set before the selectedItem. If so, reset selectedItem & currentTabIndex to -1.\n\t\t\t\tif (\n\t\t\t\t\t!isEqual(\n\t\t\t\t\t\tfindTabIndexById(tabs, selectedItem),\n\t\t\t\t\t\tcurrentTabIndex,\n\t\t\t\t\t) &&\n\t\t\t\t\tcurrentTabIndex !== -1\n\t\t\t\t) {\n\t\t\t\t\tupdateState({ selectedItem: '', currentTabIndex: -1 });\n\t\t\t\t}\n\t\t\t\t// Tabs are available with valid tabIndex, delegate to set the tab item\n\t\t\t\tdispatch(\n\t\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: getTabIdFromTabIndex(tabIndex, tabs),\n\t\t\t\t\t\tisInitialPageLoad,\n\t\t\t\t\t},\n\t\t\t\t\t{ sourceEvent },\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// At this point tabs in state will be available, tabIndex is null\n\t\t\t// and selectedTabIndex prop will be a null let's derive the\n\t\t\t// default tab index and id based on the defaultRoute prop\n\t\t\t// let's derive the default tab index and id based on the defaultRoute prop\n\t\t\tdefaultTabId = get(\n\t\t\t\tgetDefaultTab({\n\t\t\t\t\tselectedTabIndex,\n\t\t\t\t\tdefaultRoute,\n\t\t\t\t\ttabs,\n\t\t\t\t}),\n\t\t\t\t'id',\n\t\t\t);\n\t\t\tdispatch(\n\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t{ sourceEvent },\n\t\t\t);\n\t\t}\n\t}\n};\n\n/**\n * processTabSelectionForSelectedTabPropChange\n * @param items\n * @param tabs\n * @param viewportRoutes\n * @param dynamicTabData\n * @param selectedTabIndex\n * @param defaultRoute\n * @param coeffects\n * @param tabIndex\n * @param currentTabIndex\n * @param isInitialPageLoad\n * @param selectedItem\n * @param sourceEvent\n * @param selectedTab\n */\nexport const processTabSelectionForSelectedTabPropChange = (\n\titems,\n\ttabs,\n\tviewportRoutes,\n\tdynamicTabData,\n\tselectedTabIndex,\n\tdefaultRoute,\n\tcoeffects,\n\ttabIndex,\n\tcurrentTabIndex,\n\tisInitialPageLoad,\n\tselectedItem = '',\n\tsourceEvent,\n\tselectedTab,\n) => {\n\tlet defaultTabId;\n\tconst { updateState, dispatch } = coeffects;\n\n\tif (isEmpty(tabs)) {\n\t\t// compute tabs and order it.\n\t\tconst sortedTabs = sortTabs(\n\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\titems,\n\t\t);\n\t\tif (!isEmpty(sortedTabs)) {\n\t\t\tdefaultTabId = get(\n\t\t\t\tgetDefaultTab({\n\t\t\t\t\tselectedTab,\n\t\t\t\t\tselectedTabIndex,\n\t\t\t\t\tdefaultRoute,\n\t\t\t\t\ttabs: sortedTabs,\n\t\t\t\t}),\n\t\t\t\t'id',\n\t\t\t);\n\t\t\tupdateTabs(sortedTabs, coeffects);\n\t\t\tdispatch(\n\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t{ sourceEvent },\n\t\t\t);\n\t\t}\n\t} else {\n\t\t// tabs are computed and available\n\t\tif (!isEmpty(selectedTab)) {\n\t\t\tconst index = getIndexForSelectedTab(tabs, selectedTab);\n\t\t\tif (!isEmpty(tabs) && !indexExistsInTabs(index, tabs)) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`Provided selected tab '${selectedTab}' is not a valid selector`,\n\t\t\t\t);\n\t\t\t\t// when tabIndex is finite but does not exist in tabs\n\t\t\t\t// default to the first tab\n\t\t\t\tdefaultTabId = get(tabs, '[0].id');\n\t\t\t\tdispatch(\n\t\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t\t{ sourceEvent },\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Edge case - Check to see if the currentTabIndex has been set before the selectedItem. If so, reset selectedItem & currentTabIndex to -1.\n\t\t\t\tif (\n\t\t\t\t\t!isEqual(\n\t\t\t\t\t\tfindTabIndexById(tabs, selectedItem),\n\t\t\t\t\t\tcurrentTabIndex,\n\t\t\t\t\t) &&\n\t\t\t\t\tcurrentTabIndex !== -1\n\t\t\t\t) {\n\t\t\t\t\tupdateState({ selectedItem: '', currentTabIndex: -1 });\n\t\t\t\t}\n\n\t\t\t\t// Tabs are available with valid tabIndex, delegate to set the tab item\n\t\t\t\tdispatch(\n\t\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: getTabIdFromTabIndex(index, tabs),\n\t\t\t\t\t\tisInitialPageLoad,\n\t\t\t\t\t},\n\t\t\t\t\t{ sourceEvent },\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// At this point tabs in state will be available, tabIndex is null\n\t\t\t// and selectedTabIndex prop will be a null let's derive the\n\t\t\t// default tab index and id based on the defaultRoute prop\n\t\t\t// let's derive the default tab index and id based on the defaultRoute prop\n\t\t\tdefaultTabId = get(\n\t\t\t\tgetDefaultTab({\n\t\t\t\t\tselectedTabIndex,\n\t\t\t\t\tdefaultRoute,\n\t\t\t\t\ttabs,\n\t\t\t\t}),\n\t\t\t\t'id',\n\t\t\t);\n\t\t\tdispatch(\n\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t\t\t{ sourceEvent },\n\t\t\t);\n\t\t}\n\t}\n};\n\n/**\n * getDefaultTabFromDynamicTabData\n * @param defaultTab\n * @param tabs\n */\nexport const getDefaultTabFromDynamicTabData = (defaultTab, tabs) => {\n\tconst tab = getFirstDynamicTabWithRoute(tabs, defaultTab);\n\tlet tabId = '';\n\tif (tab) {\n\t\ttabId = get(tab, 'id');\n\t} else {\n\t\ttabId = get(tabs, '[0].id');\n\t}\n\treturn tabId;\n};\n\n/**\n * processTabSelectionByDefaultTab\n * @param defaultTab\n * @param tabs\n * @param isInitialPageLoad\n * @param dispatch\n */\nexport const processTabSelectionByDefaultTab = (\n\tdefaultTab,\n\ttabs,\n\tisInitialPageLoad,\n\tdispatch,\n\tsourceEvent,\n) => {\n\tconst defaultTabIndex = getDefaultTabIndex(defaultTab, tabs);\n\tconst defaultTabId = isEqual(defaultTabIndex, -1)\n\t\t? getDefaultTabFromDynamicTabData(defaultTab, tabs)\n\t\t: getTabIdFromTabIndex(defaultTabIndex, tabs);\n\tdispatch(\n\t\tSELECTED_ITEM_SET,\n\t\t{ value: defaultTabId, isInitialPageLoad },\n\t\t{ sourceEvent },\n\t);\n};\n\n/**\n * isVerticalOrientation\n * @param position\n * @returns {boolean}\n */\nexport const isVerticalOrientation = (position) => {\n\treturn position === POSITIONS.LEFT || position === POSITIONS.RIGHT;\n};\n\n/**\n * shouldBeInitiallyCollapsed\n * @param collapsed\n * @param initiallyCollapsed\n * @param position\n * @param selectedItem\n * @returns {boolean}\n */\nexport const shouldBeInitiallyCollapsed = (\n\tcollapsed,\n\tinitiallyCollapsed,\n\tposition,\n\tselectedItem,\n) => {\n\treturn (\n\t\tcollapsed &&\n\t\tinitiallyCollapsed &&\n\t\tisVerticalOrientation(position) &&\n\t\t!selectedItem\n\t);\n};\n\n/**\n *\n * @param {*} tabs\n * @param {*} value\n * @returns {{}}\n */\nexport const getActiveRouteTab = (tabs, value) => {\n\tlet routeTab = find(tabs, (tab) => {\n\t\treturn (\n\t\t\tisEqual(get(tab, 'routeObj.fields'), get(value, 'fields')) &&\n\t\t\tget(tab, 'routeObj.route') === get(value, 'routeType')\n\t\t);\n\t});\n\n\tif (!routeTab) {\n\t\trouteTab = find(tabs, (tab) => {\n\t\t\treturn get(tab, 'id') === get(value, 'routeType');\n\t\t});\n\t}\n\treturn routeTab;\n};\n\nexport const hasConditionalChanged = (previousItems, items) => {\n\treturn items.some((tab) => {\n\t\treturn previousItems.find((prevTab) => {\n\t\t\treturn (\n\t\t\t\ttab.id === prevTab.id && tab.conditional !== prevTab.conditional\n\t\t\t);\n\t\t});\n\t});\n};\n\n/**\n * Helper function which compares value to previousValue to see if value has changed.\n * @param value\n * @param previousValue\n * @returns {boolean}\n */\nexport const hasValueChanged = (value, previousValue) => {\n\treturn !isEqual(previousValue, value);\n};\n\n/**\n * Checks incoming property values against current state and returns updated state\n *\n * @description\n * This function is used to recompute the current state of the tabs and is only executed\n * when properties.items is updated (see handleComponentPropertyChanged in nowUxfTabSet.js).\n * The current data flow is as follows:\n * 1. Find the currently selected tab (from derivedTabs) based\n *    on the id of the selected item (from state.selectedItem)\n * 2. If the currently selected tab is not hidden, then return a new state object with the\n *    current tab index and selected item\n * 3. If the item is hidden:\n *    a. If properties.defaultRoute is set, then find the tab with the matching id and return\n *       a new state object with the current tab index and selected item\n *    b. If properties.defaultRoute is not set, then return the state object based on the first\n *       item from derivedTabs\n *\n * @param {*} state\n * @param {*} derivedTabs\n */\nexport const recomputeTabState = (state, derivedTabs) => {\n\tconst { selectedItem, properties } = state;\n\tconst { defaultRoute } = properties;\n\n\t// define the return object\n\tconst output = {\n\t\ttabs: derivedTabs,\n\t};\n\n\tif (isEmpty(derivedTabs)) {\n\t\treturn output;\n\t}\n\n\t// get the selected item\n\tconst selectedTab = derivedTabs.find((item) => {\n\t\treturn item.id === selectedItem;\n\t});\n\n\t// if we found a selected tab and it's not conditional (hidden)...\n\tif (selectedTab) {\n\t\t// set the value of selectedItem to the selectedTab.id\n\t\toutput.selectedItem = selectedTab.id;\n\n\t\t// find the index of the selectedTab in derivedTabs\n\t\tconst currentTabIndex = findTabIndexById(derivedTabs, selectedItem);\n\n\t\t// if the index of the selected tab exists in derivedTabs, then set the currentTabIndex and return\n\t\tif (indexExistsInTabs(currentTabIndex, derivedTabs)) {\n\t\t\treturn {\n\t\t\t\t...output,\n\t\t\t\tcurrentTabIndex,\n\t\t\t};\n\t\t}\n\n\t\t// otherwise, set the currentTabIndex to the first tab in derivedTabs and return\n\t\treturn {\n\t\t\t...output,\n\t\t\tcurrentTabIndex: 0,\n\t\t\tselectedItem: derivedTabs[0].id,\n\t\t};\n\t}\n\n\t// if we couldn't find the selected tab or it's hidden, but properties.defaultRoute is defined...\n\tif (defaultRoute) {\n\t\tconst selectedTab = derivedTabs.find((item) => {\n\t\t\treturn item.id === defaultRoute;\n\t\t});\n\t\treturn {\n\t\t\t...output,\n\t\t\tcurrentTabIndex: findTabIndexById(derivedTabs, defaultRoute),\n\t\t\tselectedItem: selectedTab?.id,\n\t\t};\n\t}\n\n\t// otherwise, return the first tab in derivedTabs\n\treturn {\n\t\t...output,\n\t\tcurrentTabIndex: 0,\n\t\tselectedItem: derivedTabs[0].id,\n\t};\n};\n\nexport const shortcutActionMap = {\n\t[ACTIVE_SIDEBAR_TAB_FOCUSED]: {\n\t\taction({ host, properties }) {\n\t\t\tconst { position } = properties;\n\t\t\tconst { shadowRoot } = host;\n\t\t\tconst selector = isVerticalOrientation(position)\n\t\t\t\t? 'now-tabs-vertical'\n\t\t\t\t: 'now-tabs';\n\t\t\tconst tabsElement = shadowRoot.querySelector(selector);\n\n\t\t\tif (!tabsElement) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`unable to find element with selector ${selector} with position ${position}`,\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttabsElement.focus();\n\t\t},\n\t\t// Intentionally false so page authors can choose to activate the shortcut. Not all vertical tabs will be considered a \"contextual sidebar\"\n\t\tactive: false,\n\t},\n\t[ACTIVE_RECORD_PAGE_TAB_FOCUSED]: {\n\t\taction({ host }) {\n\t\t\tconst { shadowRoot } = host;\n\n\t\t\tshadowRoot.querySelector('now-tabs').focus();\n\t\t},\n\t\t// Intentionally false so page authors can choose to activate the shortcut. Not all horizontal tabs will be considered a \"record page\"\n\t\tactive: false,\n\t},\n};\n\nexport const publishTabSelection = (sourceEvent) => {\n\treturn (\n\t\t!sourceEvent ||\n\t\t!(\n\t\t\tsourceEvent.event === SOURCE_EVENT.PROPERTY_CHANGED &&\n\t\t\tsourceEvent.payload &&\n\t\t\t(sourceEvent.payload.name === 'selectedTabIndex' ||\n\t\t\t\tsourceEvent.payload.name === 'selectedTab')\n\t\t)\n\t);\n};\n","import { declarativeOperations, actionTypes } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\nimport {\n\tcomputeTabs,\n\tfindTabIndexById,\n\thasTemplateTabs,\n\tprocessTabSelectionByDefaultTab,\n\tprocessTabSelection,\n\tprocessTabSelectionForSelectedTabPropChange,\n\tonlyLocalTabs,\n\tonlyTemplateTabs,\n\tcontainAllTabs,\n\tbuildTabs,\n\tonlyViewportTabs,\n\textensionPointAndLocalTabs,\n\tshouldBeInitiallyCollapsed,\n\tcheckDataAvailabilityForTemplateTabs,\n\tgetActiveRouteTab,\n\thasConditionalChanged,\n\thasValueChanged,\n\trecomputeTabState,\n\tpublishTabSelection,\n\tgetSelectedTabQueryForIndex,\n\tupdateTabs,\n\thasExtensionPointTabs,\n\tisUXFInternalEvent,\n} from './helpers';\nimport {\n\tDYNAMIC_PREFIX,\n\tSET_SELECTED_TAB,\n\tTAB_TYPES,\n\tUXF_TAB_SET_SELECTION,\n\tVIEWPORT_ROUTE_REQUESTED,\n\tTAB_COLLAPSED,\n\tUXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED,\n\tSELECTED_ITEM_SET,\n\tSOURCE_EVENT,\n\tSET_SELECTED_TAB_WITH_SELECTED_TAB_PROP,\n\tPOSITIONS,\n} from './constants';\nimport isEmpty from 'lodash/isEmpty';\nimport isNil from 'lodash/isNil';\nimport isEqual from 'lodash/isEqual';\nimport parseInt from 'lodash/parseInt';\nimport get from 'lodash/get';\nimport {\n\tgetShouldHideLabel,\n\tsortTabs,\n\tisRepeatWithNoLongerNil,\n} from './helpers/exports';\nimport haveTabsChanged from './helpers/haveTabsChanged';\n\nconst { LOCAL, TEMPLATE } = TAB_TYPES;\nconst { ARIA_LIVE_REGION_UPDATE_REQUESTED } = actionTypes;\n\n/**\n * It is a global singleton that maintains the indices of selected tabs per\n * host component id.\n * It is used to prevent repetitive tab selection when the \"selectedTabIndex\"\n * property changes (this may occure twice per tab selection in some cases).\n * Note: the benefit of using a global singleton instead of a local state property\n * is that with a global singleton there is no need to worry about component re-render.\n * @type {Map<string, number|null>} - Map of componentId to the tab index\n *   (or null when no selection)\n */\nexport const tabSelectionsPerComponent = new Map();\n\nexport const componentBootStrappedResolvedPromisesMap = new Map();\nexport const createComponentBoostrappedPromise = (componentId) => {\n\tif (isNil(componentId)) {\n\t\treturn;\n\t}\n\n\tlet bootstrappedResolver;\n\tconst bootstrappedPromise = new Promise((resolve) => {\n\t\tbootstrappedResolver = resolve;\n\t});\n\tcomponentBootStrappedResolvedPromisesMap.set(componentId, {\n\t\tbootstrappedPromise,\n\t\tresolve: bootstrappedResolver,\n\t});\n};\n\n/**\n * setSelectedTabBootstrapMediator: decides action to call based on properties\n *\n * @param coeffects\n */\nexport const setSelectedTabBootstrapMediator = (coeffects) => {\n\tconst { dispatch, properties } = coeffects;\n\tconst { selectedTab } = properties;\n\tconst actionToDispatch = !isEmpty(selectedTab)\n\t\t? SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP\n\t\t: SET_SELECTED_TAB;\n\tdispatch(\n\t\tactionToDispatch,\n\t\t{ isInitialPageLoad: true },\n\t\t{ sourceEvent: { event: SOURCE_EVENT.BOOTSTRAPPED } },\n\t);\n};\n\nexport const getPrefetchSSRCPromise = (host, items) => {\n\tconst mcpNode = host?.getRootNode()?.host;\n\tconst mcpNodeTagName = mcpNode?.tagName || '';\n\tlet macroponentSysId = '';\n\tconst match = mcpNodeTagName.toLowerCase().match(/macroponent-(\\w+)/);\n\tif (match) {\n\t\tmacroponentSysId = match[1];\n\t}\n\n\tif (\n\t\t!isNil(macroponentSysId) &&\n\t\thasExtensionPointTabs(items) &&\n\t\titems[0]?.extensionPoint &&\n\t\titems[0]?.conditional !== true\n\t) {\n\t\tconst prefetchSSRCPromiseMap = window?.ux_globals?.prefetchSSRCPromise;\n\t\tif (\n\t\t\tprefetchSSRCPromiseMap &&\n\t\t\tprefetchSSRCPromiseMap[macroponentSysId]\n\t\t) {\n\t\t\tconst prefetchObject = prefetchSSRCPromiseMap[macroponentSysId];\n\t\t\tconst { prefetchContext, prefetchSSRCPromise } = prefetchObject;\n\t\t\tconst {\n\t\t\t\tfields = {},\n\t\t\t\tparams = {},\n\t\t\t\troute = '',\n\t\t\t\tcontext = {},\n\t\t\t\tmacroponentSysId: screenMacroponentSysId = '',\n\t\t\t} = window?.ux_globals?.snCanvasScreen?.screenData || {};\n\t\t\tif (\n\t\t\t\tisEqual(macroponentSysId, screenMacroponentSysId) &&\n\t\t\t\tisEqual(context?.path, prefetchContext?.path) &&\n\t\t\t\tisEqual(route, prefetchContext?.route) &&\n\t\t\t\tisEqual(fields, prefetchContext?.fields ?? {}) &&\n\t\t\t\tisEqual(params, prefetchContext?.params ?? {})\n\t\t\t) {\n\t\t\t\treturn prefetchSSRCPromise;\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const handleComponentBootstrap = async (coeffects) => {\n\tconst { properties, updateState, host, state } = coeffects;\n\tconst {\n\t\titems,\n\t\tviewportRoutes,\n\t\tdynamicTabData,\n\t\tdefaultRoute,\n\t\tposition,\n\t\thideLabel,\n\t} = properties;\n\tconst { componentId } = host;\n\n\tcreateComponentBoostrappedPromise(componentId);\n\n\tconst prefetchSSRCPromise = getPrefetchSSRCPromise(host, items);\n\tif (prefetchSSRCPromise) {\n\t\tawait prefetchSSRCPromise;\n\t}\n\n\t/**\n\t * On component connect, we do the following\n\t *  - determine the type of tabs local, dynamic tab, viewport tab, etc.\n\t *  - compute tabs, selectedItem.\n\t *  - dispatch SET_SELECTED_TAB to determine tab selection\n\t *\n\t * - At any point of time the state of the component must reflect the UI\n\t *    e.g. props: selectedTabIndex & state: currentTabIndex, selectedItem (id) must be same once loaded\n\t *\n\t * How do we compute the tabs? In order to construct the tabs, we need items, viewportRoutes &\n\t * dynamicTabData properties\n\t *  - local & template: use items\n\t *  - dynamic tab: use dynamicTabData & viewportRoutes,\n\t *                  if data isn't ready use the props changed to\n\t *                  determine the data availability and compute the tabs.\n\t *  - viewport tab: use viewportRoute\n\t *\n\t *\n\t */\n\n\t// process for tabs construction for local or template tabs or intermingled tabs\n\t// when we have every data to build tabs\n\t// - Local tabs or\n\t// - Template tabs - check all template items repeatWith does have data to process further\n\t// - extension point + local tabs + template tabs (Intermingled tabs!!)\n\t// - check for template tabs with complete repeatWith data availability at bootstrap\n\tif (\n\t\tonlyLocalTabs(items) ||\n\t\tonlyTemplateTabs(items) ||\n\t\tcontainAllTabs(items) ||\n\t\t(hasTemplateTabs(items) && checkDataAvailabilityForTemplateTabs(items))\n\t) {\n\t\tbuildTabs(\n\t\t\titems,\n\t\t\tviewportRoutes,\n\t\t\tdynamicTabData,\n\t\t\tdefaultRoute,\n\t\t\tcoeffects,\n\t\t);\n\t\tsetSelectedTabBootstrapMediator(coeffects);\n\t}\n\n\t// - viewport tabs (including dynamic data tabs) or extension points\n\t// - Intermingled tabs\n\t//   - extension point + local tabs\n\tif (\n\t\tonlyViewportTabs(items, viewportRoutes, dynamicTabData) ||\n\t\textensionPointAndLocalTabs(items)\n\t) {\n\t\tsetSelectedTabBootstrapMediator(coeffects);\n\t}\n\n\tif (componentBootStrappedResolvedPromisesMap.has(componentId)) {\n\t\tconst { resolve } =\n\t\t\tcomponentBootStrappedResolvedPromisesMap.get(componentId);\n\t\tif (typeof resolve === 'function') {\n\t\t\tresolve();\n\t\t\tcomponentBootStrappedResolvedPromisesMap.delete(componentId);\n\t\t}\n\t}\n\n\tif (position === 'top' && hideLabel) {\n\t\tupdateState({ bootstrapPosTopHideLabelTrue: true });\n\t}\n\n\tupdateState({ shouldHideLabel: getShouldHideLabel(state, host) });\n};\n\nexport const setSelectedTabPropChangeMediator = (coeffects) => {\n\tconst { dispatch, action, properties, state } = coeffects;\n\tconst { selectedTab } = properties;\n\tconst actionToDispatch = !isEmpty(selectedTab)\n\t\t? SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP\n\t\t: SET_SELECTED_TAB;\n\tdispatch(\n\t\tactionToDispatch,\n\t\t{ isInitialPageLoad: state.initialPageLoad },\n\t\t{\n\t\t\tsourceEvent: {\n\t\t\t\tevent: SOURCE_EVENT.PROPERTY_CHANGED,\n\t\t\t\tpayload: action.payload,\n\t\t\t},\n\t\t},\n\t);\n};\n\n/**\n * handleComponentPropertyChanged: Component property change handler\n *\n * @param coeffects\n */\nconst handleComponentPropertyChanged = async (coeffects) => {\n\tconst { dispatch, action, properties, state, updateState, host } =\n\t\tcoeffects;\n\tconst { componentId } = host;\n\tconst { viewportRoutes, dynamicTabData, items, selectedTab } = properties;\n\tconst {\n\t\tpayload: { name, value, previousValue },\n\t} = action;\n\tconst {\n\t\tinitialPageLoad,\n\t\tcurrentTabIndex,\n\t\ttabs,\n\t\tviewportRouteRequestedFromEmitFn,\n\t\tcollapsed,\n\t\tshouldCollapseOnReflow,\n\t\tselectedTabPrevPropVal,\n\t} = state;\n\n\tif (componentBootStrappedResolvedPromisesMap.has(componentId)) {\n\t\tconst { bootstrappedPromise } =\n\t\t\tcomponentBootStrappedResolvedPromisesMap.get(componentId);\n\t\tif (bootstrappedPromise instanceof Promise) {\n\t\t\tawait bootstrappedPromise;\n\t\t}\n\t}\n\n\t// TODO - Test if:\n\t//  -- The condition in viewportRoutes case can use hasValueChanged()\n\t//  -- We can bring isNil into hasValueChanged(value, previousValue) for selectedTabIndex case\n\t//  -- There is a way to replace initiallyCollapsed isEqual() with a modified hasValueChanged that will still accomodate other conditions. When value is false, and\n\t//\t\tprevious value is true, hasValueChanged will be false and that will cause regression.\n\t// If yes to both, remove all occurences of hasValueChanged() checks throughout this function and add early exit here\n\tswitch (name) {\n\t\tcase 'initiallyCollapsed': {\n\t\t\tif (!isEqual(previousValue, value)) {\n\t\t\t\tupdateState({ collapsed: value });\n\t\t\t\tif (value) {\n\t\t\t\t\t// sets inactive state for the tab\n\t\t\t\t\tupdateState({ selectedItem: '' });\n\t\t\t\t} else {\n\t\t\t\t\tsetSelectedTabBootstrapMediator(coeffects);\n\t\t\t\t}\n\t\t\t\tconst tab = tabs[currentTabIndex];\n\t\t\t\tconst { label } = tab;\n\t\t\t\tconst openStatus = value ? 'closed' : 'opened';\n\t\t\t\tconst ariaMessage = t(\n\t\t\t\t\t'The {0} tab has been {1}',\n\t\t\t\t\tlabel,\n\t\t\t\t\topenStatus,\n\t\t\t\t);\n\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\tmessage: ariaMessage,\n\t\t\t\t\ttype: 'polite',\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'selectedTabIndex': {\n\t\t\tif (!isNil(value) && !isEqual(previousValue, value)) {\n\t\t\t\t// Proceed with SET_SELECTED_TAB flow only when the tab selection is not\n\t\t\t\t// recorded in the tabSelectionsPerComponent map.\n\t\t\t\tif (tabSelectionsPerComponent.get(componentId) === value) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\ttabSelectionsPerComponent.set(componentId, parseInt(value));\n\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'selectedTab': {\n\t\t\tif (!isNil(value) && !isEqual(previousValue, value)) {\n\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'selectedTabPrevPropVal',\n\t\t\t\t\tvalue: previousValue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'items': {\n\t\t\t// For items compute the tabs\n\t\t\t// check for previousValue different than value\n\t\t\t// only check for items where conditional != true\n\t\t\tconst computedPreviousValue = previousValue.filter((object) => {\n\t\t\t\treturn !object.conditional;\n\t\t\t});\n\t\t\tconst computedValue = value.filter((object) => {\n\t\t\t\treturn !object.conditional;\n\t\t\t});\n\n\t\t\t// DEF0540955 - We have a very specific use case where if the items array has a template tab whose repeatWith data is not yet available on bootstrap then\n\t\t\t// the tabs in question will not be built/rendered, even if other valid tabs exist (local, extension point, etc).  This is typically not an issue, as the\n\t\t\t// repeatWith data does then come in, is handled here in the component property changed handler, and the tabs are built.  However, if the template tab\n\t\t\t// in question (whose repeatWith data went from Nil to populated) also has conditional set to true, it becomes an issue, as the hasValueChecked in the items\n\t\t\t// case here only checks for differences between an item (tab) where its conditional value is false (also valid per DEF0407651 and its fix).  This then\n\t\t\t// means that tabs will not be built for the items array in question, even though other valid tabs may exist.  To handle this, we need to address this\n\t\t\t// specific use case here, where we check each item in the new items array against its corresponding item value from the previous items array.  If the new\n\t\t\t// item has conditional set to true and the old item exists, has a repeatWith value of Nil, and that repeatWith value is now not Nil and an array in the new\n\t\t\t// item, it means we need to pass the logical check where we compare the previous computed value to computed value.  Targeted fix to handle this specific\n\t\t\t// use case - DEF0540955.\n\t\t\tconst templateTabsConditionTrueRepeatWithNoLongerNil =\n\t\t\t\tisRepeatWithNoLongerNil(previousValue, value);\n\n\t\t\tif (\n\t\t\t\thasValueChanged(computedValue, computedPreviousValue) ||\n\t\t\t\ttemplateTabsConditionTrueRepeatWithNoLongerNil.length > 0\n\t\t\t) {\n\t\t\t\t// We need to handle the items property change\n\t\t\t\tconst derivedTabs = sortTabs(\n\t\t\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\t\t\titems,\n\t\t\t\t);\n\n\t\t\t\t// compute tabs and update state\n\t\t\t\tconst conditionChanged = hasConditionalChanged(\n\t\t\t\t\tpreviousValue,\n\t\t\t\t\tvalue,\n\t\t\t\t);\n\n\t\t\t\t// UIB Stage Use Case: Allows for new static tabs to be added to the tab set\n\t\t\t\t// without the need to refresh the stage/page.\n\t\t\t\tconst tabsHaveChanged =\n\t\t\t\t\tconditionChanged || haveTabsChanged(previousValue, value);\n\n\t\t\t\tconst isValidTemplatedTabs =\n\t\t\t\t\thasTemplateTabs(items) &&\n\t\t\t\t\tcheckDataAvailabilityForTemplateTabs(items);\n\n\t\t\t\tconst selectedTabPropChanged =\n\t\t\t\t\t!isEmpty(selectedTab) &&\n\t\t\t\t\t!isEmpty(selectedTabPrevPropVal) &&\n\t\t\t\t\t!isEqual(selectedTab, selectedTabPrevPropVal);\n\n\t\t\t\tif (isValidTemplatedTabs || tabsHaveChanged) {\n\t\t\t\t\tif (!initialPageLoad && !selectedTabPropChanged) {\n\t\t\t\t\t\t// when user selects tab item, we need to compute tab state\n\t\t\t\t\t\tupdateTabs(\n\t\t\t\t\t\t\tderivedTabs,\n\t\t\t\t\t\t\tcoeffects,\n\t\t\t\t\t\t\trecomputeTabState(state, derivedTabs),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// For the initial page load(initialPageLoad: true, selectedItem = '', currentTabIndex: -1),\n\t\t\t\t\t\t// - dispatch SET_SELECTED_TAB event to determine the currentTabIndex and selectedItem effectively in state.\n\n\t\t\t\t\t\t// DEF0631796 : when both selectedTab & items props are changed and when selectedTab prop change is fired before items change,\n\t\t\t\t\t\t// the SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP(dispatched as part of selectedTab prop change handler) handler considers old items from state.\n\t\t\t\t\t\t// In order to reflect the new selectedTab on the new items, we need to dispatch SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP.\n\t\t\t\t\t\tupdateTabs(derivedTabs, coeffects);\n\t\t\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'dynamicTabData': {\n\t\t\t// For dynamic tabs, compute the tabs and sort\n\t\t\t// check for previousValue empty and different than the value\n\t\t\tif (hasValueChanged(value, previousValue)) {\n\t\t\t\t// compute tabs and update state\n\t\t\t\tconst derivedTabs = sortTabs(\n\t\t\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\t\t\titems,\n\t\t\t\t);\n\t\t\t\tupdateTabs(derivedTabs, coeffects);\n\t\t\t\tif (initialPageLoad) {\n\t\t\t\t\t// For initial page load the dynamicTabData property change will continue\n\t\t\t\t\t// to determine the tab selection and tab item selection flow\n\t\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\t} else {\n\t\t\t\t\t// For dynamicTabData refresh contents we need to pass the latest\n\t\t\t\t\t// route object to the current tab (dispatch VIEWPORT_ROUTE_REQUESTED)\n\t\t\t\t\tconst dynamicTabObject =\n\t\t\t\t\t\tderivedTabs[currentTabIndex].routeObj;\n\t\t\t\t\tdispatch(VIEWPORT_ROUTE_REQUESTED, { ...dynamicTabObject });\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'viewportRoutes': {\n\t\t\t// compute the tabs and selectedItem\n\t\t\t// we already have the viewportRoutes props when the viewport is rendered by library-uxf,\n\t\t\t// no check for previousValue\n\t\t\tif (\n\t\t\t\t(!isEmpty(value) || !isEmpty(previousValue)) &&\n\t\t\t\t!isEqual(previousValue, value)\n\t\t\t) {\n\t\t\t\t// compute tabs and update state\n\t\t\t\tconst derivedTabs = sortTabs(\n\t\t\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\t\t\titems,\n\t\t\t\t);\n\t\t\t\tupdateTabs(derivedTabs, coeffects);\n\t\t\t\tif (initialPageLoad) {\n\t\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\t} else {\n\t\t\t\t\t// For viewportRoutes refresh contents we need to pass the latest\n\t\t\t\t\t// route object to the current tab (dispatch VIEWPORT_ROUTE_REQUESTED)\n\t\t\t\t\tconst routeObject =\n\t\t\t\t\t\tderivedTabs?.[currentTabIndex]?.routeObj;\n\t\t\t\t\tdispatch(VIEWPORT_ROUTE_REQUESTED, { ...routeObject });\n\t\t\t\t\t// added the \"and\" condition in case the route object was empty but\n\t\t\t\t\t// viewport routes were not so that it prevented a situation where,\n\t\t\t\t\t// if the route object is undefined we still execute the current behavior\n\t\t\t\t\tif (!routeObject && isEmpty(viewportRoutes)) {\n\t\t\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * TODO: Below code is just a workaround to trigger the tabs calculation for template tab where the repeatWith\n\t\t\t *  is binded to data broker. This code block isn't necessary if \"items\" property change were\n\t\t\t *  triggered successfully. Remove below if block code for template tabs once \"items\" props change works.\n\t\t\t */\n\t\t\tif (\n\t\t\t\tinitialPageLoad &&\n\t\t\t\thasTemplateTabs(items) &&\n\t\t\t\tcheckDataAvailabilityForTemplateTabs(items)\n\t\t\t) {\n\t\t\t\tconst derivedTabs = sortTabs(\n\t\t\t\t\tcomputeTabs(items, viewportRoutes, dynamicTabData),\n\t\t\t\t\titems,\n\t\t\t\t);\n\t\t\t\tupdateTabs(derivedTabs, coeffects);\n\t\t\t\tif (isEqual(currentTabIndex, -1)) {\n\t\t\t\t\tsetSelectedTabPropChangeMediator(coeffects);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t\tcase 'activeRoute': {\n\t\t\t/**\n\t\t\t * viewportRouteRequestedFromEmitFn in state is part of the\n\t\t\t * uxfViewportBehavior contract that enables support to switch\n\t\t\t * viewport tabs in UX Client Script using the \"VIEWPORT_ROUTE_REQUESTED\".\n\t\t\t *\n\t\t\t * We determine the state update set to true when VIEWPORT_ROUTE_REQUESTED\n\t\t\t * event is used in UXF Scripting API - api.emit() function.\n\t\t\t */\n\t\t\tconst previousRouteTab = getActiveRouteTab(tabs, previousValue);\n\t\t\tconst routeTab = getActiveRouteTab(tabs, value, previousValue);\n\t\t\tif (\n\t\t\t\thasValueChanged(value, previousValue) &&\n\t\t\t\t!isEmpty(tabs) &&\n\t\t\t\t(viewportRouteRequestedFromEmitFn ||\n\t\t\t\t\t(!previousRouteTab && routeTab))\n\t\t\t) {\n\t\t\t\tif (routeTab) {\n\t\t\t\t\tconst routeTabIndex = findTabIndexById(tabs, routeTab.id);\n\t\t\t\t\tif (!isEqual(currentTabIndex, routeTabIndex)) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tSELECTED_ITEM_SET,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: routeTab.id,\n\t\t\t\t\t\t\t\tisInitialPageLoad: initialPageLoad,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsourceEvent: {\n\t\t\t\t\t\t\t\t\tevent: SOURCE_EVENT.PROPERTY_CHANGED,\n\t\t\t\t\t\t\t\t},\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}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'hideLabel': {\n\t\t\tif (isEqual(previousValue, value)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst shouldHideLabel = getShouldHideLabel(state, host);\n\t\t\tif (!isEqual(shouldHideLabel, state.shouldHideLabel)) {\n\t\t\t\tupdateState({ shouldHideLabel });\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 'position': {\n\t\t\tif (isEqual(previousValue, value)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Tab set can not be configured with enableCollapsing or initiallyCollapsed properties when it is\n\t\t\t// positioned at the top (not a vertical tab set).  However, in a reflow scenario, the tab set can be\n\t\t\t// collapsible and collapsed when position changes from left/right to top.  In this case, the tab set\n\t\t\t// is in a state where it is horizontal (position top) but the selected tab is collapsed when it should\n\t\t\t// not be.  This ensures that the tab set is expanded when the position changes to top.\n\t\t\tif (isEqual(value, POSITIONS.TOP) && isEqual(collapsed, true)) {\n\t\t\t\tupdateState({ collapsed: false, shouldCollapseOnReflow: true });\n\t\t\t}\n\t\t\t// Because we are adjusting the collapsed state based on the position change, we need to ensure that\n\t\t\t// the tab set returns to the collapsed state when the position changes back to left or right (vertical tabs)\n\t\t\t// IF there has been no interaction with the tab set in the interim.\n\t\t\telse if (\n\t\t\t\t(isEqual(value, POSITIONS.LEFT) ||\n\t\t\t\t\tisEqual(value, POSITIONS.RIGHT)) &&\n\t\t\t\tisEqual(previousValue, POSITIONS.TOP) &&\n\t\t\t\tshouldCollapseOnReflow\n\t\t\t) {\n\t\t\t\tupdateState({ collapsed: true, shouldCollapseOnReflow: false });\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\n/**\n * setSelectedTab: This method computes the tabs for each specific tabs configurations\n *\n * @param coeffects\n */\nconst setSelectedTab = (coeffects) => {\n\tconst { action, dispatch, properties, state, updateState } = coeffects;\n\tconst {\n\t\tdefaultRoute,\n\t\tdynamicTabData,\n\t\tviewportRoutes,\n\t\tselectedTabIndex,\n\t\titems,\n\t} = properties;\n\tconst { tabs, currentTabIndex, selectedItem } = state;\n\tconst {\n\t\tpayload: { isInitialPageLoad = false } = {},\n\t\tmeta: { sourceEvent },\n\t} = action;\n\n\t// On tab selection, update the initialPageLoad in state\n\tupdateState({\n\t\tpath: 'initialPageLoad',\n\t\tvalue: isInitialPageLoad,\n\t\toperation: declarativeOperations.SET,\n\t\tshouldRender: false,\n\t});\n\n\t// when selectedTabIndex isn't set yet, tabs are fully constructed with some default tab set explicitly\n\tif (isNil(selectedTabIndex) && !isEmpty(tabs) && !isEmpty(defaultRoute)) {\n\t\t// we need to check if default tab is configured, derive the tab index of the default tab\n\t\t// before processing the tab selection\n\t\tprocessTabSelectionByDefaultTab(\n\t\t\tdefaultRoute,\n\t\t\ttabs,\n\t\t\tisInitialPageLoad,\n\t\t\tdispatch,\n\t\t\tsourceEvent,\n\t\t);\n\t} else {\n\t\t// most likely tabs aren't constructed yet, we need to construct\n\t\t// tabs before determining up the selection\n\t\tconst tabIndex = parseInt(selectedTabIndex);\n\n\t\tprocessTabSelection(\n\t\t\titems,\n\t\t\ttabs,\n\t\t\tviewportRoutes,\n\t\t\tdynamicTabData,\n\t\t\tselectedTabIndex,\n\t\t\tdefaultRoute,\n\t\t\tcoeffects,\n\t\t\ttabIndex,\n\t\t\tcurrentTabIndex,\n\t\t\tisInitialPageLoad,\n\t\t\tselectedItem,\n\t\t\tsourceEvent,\n\t\t);\n\t}\n};\n\n/**\n * setSelectedTabWithSelectedTabProp: This method computes the tabs for each specific tabs configurations when selectedTab prop exists\n *\n * @param coeffects\n */\nconst setSelectedTabWithSelectedTabProp = (coeffects) => {\n\tconst { action, dispatch, properties, state, updateState } = coeffects;\n\tconst {\n\t\tdefaultRoute,\n\t\tdynamicTabData,\n\t\tviewportRoutes,\n\t\tselectedTabIndex,\n\t\titems,\n\t\tselectedTab,\n\t} = properties;\n\tconst { tabs, currentTabIndex, selectedItem } = state;\n\tconst {\n\t\tpayload: { isInitialPageLoad = false } = {},\n\t\tmeta: { sourceEvent },\n\t} = action;\n\t// On tab selection, update the initialPageLoad in state\n\tupdateState({\n\t\tpath: 'initialPageLoad',\n\t\tvalue: isInitialPageLoad,\n\t\toperation: declarativeOperations.SET,\n\t\tshouldRender: false,\n\t});\n\n\t// when selectedTabIndex isn't set yet, tabs are fully constructed with some default tab set explicitly\n\tif (isEmpty(selectedTab) && !isEmpty(tabs) && !isEmpty(defaultRoute)) {\n\t\t// we need to check if default tab is configured, derive the tab index of the default tab\n\t\t// before processing the tab selection\n\t\tprocessTabSelectionByDefaultTab(\n\t\t\tdefaultRoute,\n\t\t\ttabs,\n\t\t\tisInitialPageLoad,\n\t\t\tdispatch,\n\t\t\tsourceEvent,\n\t\t);\n\t} else {\n\t\t// most likely tabs aren't constructed yet, we need to construct\n\t\t// tabs before determining up the selection\n\t\tconst tabIndex = parseInt(selectedTabIndex);\n\n\t\tprocessTabSelectionForSelectedTabPropChange(\n\t\t\titems,\n\t\t\ttabs,\n\t\t\tviewportRoutes,\n\t\t\tdynamicTabData,\n\t\t\tselectedTabIndex,\n\t\t\tdefaultRoute,\n\t\t\tcoeffects,\n\t\t\ttabIndex,\n\t\t\tcurrentTabIndex,\n\t\t\tisInitialPageLoad,\n\t\t\tselectedItem,\n\t\t\tsourceEvent,\n\t\t\tselectedTab,\n\t\t);\n\t}\n};\n\n/**\n * setSelectedItem: This method sets the selected tab item.\n * @param coeffects\n */\nconst setSelectedItem = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState,\n\t\thost: { componentId },\n\t} = coeffects;\n\tconst {\n\t\tpayload = {},\n\t\tmeta: { sourceEvent },\n\t} = action;\n\n\tif (!isUXFInternalEvent(action.meta)) {\n\t\treturn;\n\t}\n\n\tconst { value, isInitialPageLoad = false } = payload;\n\tconst { initiallyCollapsed, position, enableCollapsing } = properties;\n\tconst { tabs, collapsed, currentTabIndex, selectedItem, nonViewportSlots } =\n\t\tstate;\n\t// If we are initially loading and collapsed, we force collapsed state\n\tconst shouldForceCollapsedState = shouldBeInitiallyCollapsed(\n\t\tcollapsed,\n\t\tinitiallyCollapsed,\n\t\tposition,\n\t\tget(payload, 'item', null),\n\t);\n\n\t// On tab selection, update the initialPageLoad in state to account for props change handler.\n\t// Also set shouldCollapseOnReflow to false. We should only collapse on reflow in the edge case\n\t// where the tab set has reflowed from a vertical to horizontal orientation and then back to vertical\n\t// with no interaction in between.\n\tupdateState(\n\t\t{\n\t\t\tpath: 'initialPageLoad',\n\t\t\tvalue: isInitialPageLoad,\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{ shouldCollapseOnReflow: false },\n\t);\n\n\tconst shouldCollapseAndDeselectTab =\n\t\tshouldForceCollapsedState ||\n\t\t(enableCollapsing &&\n\t\t\tget(payload, 'previousItem', null) &&\n\t\t\tisEmpty(value));\n\n\t// If we are initially loading and collapsed, we force collapsed state - collapse and set the tab state as inactive by setting selectedItem as ''\n\t// If we are not initially loading, have previous item the value is empty, we are a vertical tab re-click event and we toggle collapsed & and set the tab state as inactive\n\tif (shouldCollapseAndDeselectTab) {\n\t\tupdateState({\n\t\t\tcollapsed: true,\n\t\t\tselectedItem: '',\n\t\t});\n\t\tif (!shouldForceCollapsedState) {\n\t\t\tdispatch(TAB_COLLAPSED, { collapsed: true });\n\t\t}\n\t} else if (!isEmpty(value)) {\n\t\t// here the payload value will be the \"id\" of the clicked tab item\n\t\tconst tabIndex = findTabIndexById(tabs, value);\n\t\tconst selectedTab = getSelectedTabQueryForIndex(tabs, tabIndex);\n\t\tconst tabItem = tabs[tabIndex];\n\t\tconst tabItemLabel = tabItem?.label;\n\t\tconst tabIndexNotEqual = !isEqual(tabIndex, currentTabIndex);\n\t\tconst isVertical =\n\t\t\tisEqual(position, POSITIONS.LEFT) ||\n\t\t\tisEqual(position, POSITIONS.RIGHT);\n\t\tconst collapseEnabledAndVertical = enableCollapsing && isVertical;\n\t\tconst shouldPublishTabSelection = publishTabSelection(sourceEvent);\n\t\t// local or template tab\n\t\tif (\n\t\t\t!isEmpty(tabItem) &&\n\t\t\t(isEqual(tabItem.type, LOCAL) || isEqual(tabItem.type, TEMPLATE))\n\t\t) {\n\t\t\tif (selectedItem !== value) {\n\t\t\t\tnonViewportSlots.add(value);\n\t\t\t\tif (\n\t\t\t\t\t(tabIndexNotEqual || collapseEnabledAndVertical) &&\n\t\t\t\t\tshouldPublishTabSelection\n\t\t\t\t) {\n\t\t\t\t\tconst activeTabItemLabel = tabItemLabel\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.replace(' ', '_');\n\t\t\t\t\tif (sourceEvent?.event !== SOURCE_EVENT.BOOTSTRAPPED) {\n\t\t\t\t\t\ttabSelectionsPerComponent.set(componentId, tabIndex);\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tUXF_TAB_SET_SELECTION,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tselectedTabIndex: tabIndex,\n\t\t\t\t\t\t\tisInitialPageLoad,\n\t\t\t\t\t\t\tselectedTabLabel: tabItemLabel,\n\t\t\t\t\t\t\tselectedTab,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tDO_NOT_USE__uxfActiveTabItemLabel:\n\t\t\t\t\t\t\t\tactiveTabItemLabel,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// dispatch tab set container render requests for page macroponent to\n\t\t\t\t// handle and load the contents for the active tab.\n\t\t\t\tdispatch(UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED, {\n\t\t\t\t\tactiveSlot: value,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\t// On subsequent tab item click, we shouldn't trigger tab selection\n\t\t\t// For dynamic tab, extract the route before viewport load request\n\n\t\t\tif (value.startsWith(DYNAMIC_PREFIX)) {\n\t\t\t\t// We have the route information in the tab item so send it if we have it\n\t\t\t\t// In case we don't, fall back to dynamic tab data\n\t\t\t\tconst dynamicTabObject = tabItem?.routeObj;\n\t\t\t\tdispatch(VIEWPORT_ROUTE_REQUESTED, { ...dynamicTabObject });\n\t\t\t} else {\n\t\t\t\t// it's a viewport tab's route\n\t\t\t\tdispatch(VIEWPORT_ROUTE_REQUESTED, {\n\t\t\t\t\troute: tabItem.route,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t(tabIndexNotEqual || collapseEnabledAndVertical) &&\n\t\t\t\tshouldPublishTabSelection\n\t\t\t) {\n\t\t\t\t// add tab selection to the track to avoid\n\t\t\t\t// avoid loop / infinite loop during fast tab switch\n\t\t\t\tif (sourceEvent?.event !== SOURCE_EVENT.BOOTSTRAPPED) {\n\t\t\t\t\ttabSelectionsPerComponent.set(componentId, tabIndex);\n\t\t\t\t}\n\n\t\t\t\tdispatch(UXF_TAB_SET_SELECTION, {\n\t\t\t\t\tselectedTabIndex: tabIndex,\n\t\t\t\t\tselectedTab,\n\t\t\t\t\tisInitialPageLoad,\n\t\t\t\t\tselectedTabLabel: tabItemLabel,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// update the members in state\n\t\t//  - selectedItem (when user interacts with the tab either by mouse click or tab navigation)\n\t\tupdateState({\n\t\t\tselectedItem: value,\n\t\t\tcurrentTabIndex: tabIndex,\n\t\t\tcollapsed: shouldForceCollapsedState,\n\t\t\tnonViewportSlots,\n\t\t});\n\t}\n};\n\nconst handleComponentDisconnect = (coeffects) => {\n\tconst {\n\t\thost: { componentId },\n\t\tstate: { tabs },\n\t\tupdateState,\n\t\tproperties,\n\t} = coeffects;\n\n\t// Remove the Set when the component disconnects\n\ttabSelectionsPerComponent.delete(componentId);\n\n\tif (properties?.defaultRoute) {\n\t\tupdateState({\n\t\t\tcurrentTabIndex: findTabIndexById(tabs, properties.defaultRoute),\n\t\t\tselectedItem: properties.defaultRoute,\n\t\t});\n\t}\n};\n\nconst effectHandlers = {\n\thandleComponentBootstrap,\n\thandleComponentPropertyChanged,\n\tsetSelectedItem,\n\tsetSelectedTab,\n\tsetSelectedTabWithSelectedTabProp,\n\thandleComponentDisconnect,\n};\n\nexport default {\n\teffectHandlers,\n};\n","// shamelessly copied from https://code.devsnc.com/dev/uxf-monorepo/blob/project/uxfdefects/library-uxf/src/factory/layout/helpers.js#L766\n\nconst isReflowDisabled = (element) => {\n\ttry {\n\t\tif (!element) {\n\t\t\tconsole.warn('Element is undefined or null.');\n\t\t\treturn false;\n\t\t}\n\t\tconst host = element?.getRootNode()?.host;\n\t\t// handle sub page scenarios\n\t\tconst nowUxfReflowDisabled =\n\t\t\thost?.nowUxfReflowDisabled ??\n\t\t\thost?.getRootNode()?.host?.nowUxfReflowDisabled;\n\t\treturn (\n\t\t\tnowUxfReflowDisabled.nowUxfReflowDisabledAppConfig ||\n\t\t\tnowUxfReflowDisabled.nowUxfReflowDisabledScreen\n\t\t);\n\t} catch (e) {\n\t\tconsole.warn('Unable to determine autoreflow disable rule.');\n\t}\n\treturn false;\n};\n\nexport default isReflowDisabled;\n","import isReflowDisabled from './isReflowDisabled';\n\nconst getReflowProperties = (host) => {\n\tif (isReflowDisabled(host)) {\n\t\treturn {};\n\t}\n\n\tconst propsObject = host?.uxfInternalUseOnlyReflowPropValues;\n\tconst output = {};\n\tif (propsObject) {\n\t\tObject.keys(propsObject).forEach((key) => {\n\t\t\ttry {\n\t\t\t\toutput[key] = JSON.parse(propsObject[key]);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn(`Unable to get reflow property ${key}`);\n\t\t\t}\n\t\t});\n\t}\n\treturn output;\n};\n\nexport default getReflowProperties;\n","import '@servicenow/now-tabs';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n\tPOSITIONS,\n\tTAB_TYPES,\n\tDEFAULT_TABS_LIST_ARIA_LABEL,\n\tINTERNAL_HOST_DISPATCH,\n} from './constants';\nimport getHideViewportSlot from './helpers/getHideViewportSlot';\nconst { LOCAL, TEMPLATE } = TAB_TYPES;\n\n/**\n * _renderNonViewportSlots: Generates local and template named slots with additional class to set\n * \t\tthe visibility of the active tab's slot contents.\n *\n * ```jsx\n * <slot name=\"cl0gpy0rz01533f6yvar62bh9\" class=\"\"><\/slot>\n * <slot name=\"cl0fskxdt015a3f6yr5mdc0l1-1\" class=\"tabset-hide-slot\"><\/slot>\n * <slot name=\"cl0fskxdt015a3f6yr5mdc0l1-2\" class=\"tabset-hide-slot\"><\/slot>\n * <slot name=\"cl0g6yj4v0av93f6yg0vvz5az\" class=\"tabset-hide-slot\"><\/slot>\n * ```\n *\n * @param tabs\n * @param selectedItem\n * @returns {JSX.Element}\n * @private\n */\nexport const _renderNonViewportSlots = (\n\ttabs,\n\tselectedItem,\n\tnonViewportSlots,\n) => {\n\tconst nonViewportTabs = tabs.filter((t) => {\n\t\treturn nonViewportSlots.has(t.id);\n\t});\n\n\treturn nonViewportTabs.map((t) => {\n\t\tif (t.type === LOCAL || t.type === TEMPLATE) {\n\t\t\treturn (\n\t\t\t\t<slot\n\t\t\t\t\tname={`${t.id}`}\n\t\t\t\t\tclass={{ 'tabset-hide-slot': selectedItem !== t.id }}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t});\n};\n\n/**\n * _renderViewportSlot: Generates viewport named slots for viewport tabs, dynamic data tabs or extension point tabs\n * \t\twith additional class to set the visibility of the active tab's slot contents.\n *\n * ```jsx\n * <slot name=\"viewport\" class=\"\"><\/slot>\n *  or\n * <slot name=\"viewport-1\" class=\"tabset-hide-slot\"><\/slot>\n *\n * ```\n *\n * @param tabs\n * @param currentTabIndex\n * @returns {JSX.Element}\n */\nexport const _renderViewportSlot = (state) => {\n\tconst hideViewportSlot = getHideViewportSlot(state);\n\n\treturn (\n\t\t<slot\n\t\t\tname=\"viewport\"\n\t\t\tclass={{ 'tabset-hide-slot': hideViewportSlot }}\n\t\t/>\n\t);\n};\n\n/**\n * _renderNowTabs: Generates horizontal or vertical NDS <now-tabs> based on the provided configuration.\n *\n * @param state\n * @returns {JSX.Element}\n */\nexport const _renderNowTabs = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tariaLabel: givenAriaLabel,\n\t\t\tenableCollapsing,\n\t\t\tfixedWidth,\n\t\t\thideLabel,\n\t\t\tmaxWidth,\n\t\t\tposition,\n\t\t\tshowInlinePadding,\n\t\t\tsize,\n\t\t\tspaceBetweenItems,\n\t\t\thidePadding,\n\t\t},\n\t\ttabs,\n\t\tselectedItem,\n\t\tshouldHideLabel,\n\t} = state;\n\tconst ariaLabel = givenAriaLabel || DEFAULT_TABS_LIST_ARIA_LABEL;\n\n\tlet nowTabs;\n\tif (position === POSITIONS.TOP) {\n\t\tconst sizeProperty = size ? { size } : undefined;\n\t\tnowTabs = (\n\t\t\t<now-tabs\n\t\t\t\tclass={{\n\t\t\t\t\t[size]: !!size,\n\t\t\t\t}}\n\t\t\t\tmanage-selected-item=\"true\"\n\t\t\t\titems={tabs}\n\t\t\t\tselected-item={selectedItem}\n\t\t\t\tmax-width={maxWidth}\n\t\t\t\thide-label={shouldHideLabel}\n\t\t\t\tfixed-width={fixedWidth}\n\t\t\t\tconfig-aria={{ 'aria-label': ariaLabel }}\n\t\t\t\tappend-to-meta={{ [INTERNAL_HOST_DISPATCH]: true }}\n\t\t\t\thidePadding={hidePadding}\n\t\t\t\t{...sizeProperty}\n\t\t\t/>\n\t\t);\n\t} else if (position === POSITIONS.RIGHT || position === POSITIONS.LEFT) {\n\t\tnowTabs = (\n\t\t\t<now-tabs-vertical\n\t\t\t\tmanage-selected-item=\"true\"\n\t\t\t\titems={tabs}\n\t\t\t\tselected-item={selectedItem}\n\t\t\t\thide-label={hideLabel}\n\t\t\t\tsize={size}\n\t\t\t\tenable-deselect={enableCollapsing}\n\t\t\t\tspace-between-items={spaceBetweenItems}\n\t\t\t\tselection-position={\n\t\t\t\t\tposition === POSITIONS.LEFT ? 'end' : 'start'\n\t\t\t\t}\n\t\t\t\tshow-inline-padding={\n\t\t\t\t\tposition === POSITIONS.LEFT ? undefined : showInlinePadding\n\t\t\t\t}\n\t\t\t\tconfig-aria={{ 'aria-label': ariaLabel }}\n\t\t\t\tappend-to-meta={{ [INTERNAL_HOST_DISPATCH]: true }}\n\t\t\t/>\n\t\t);\n\t} else {\n\t\tthrow new Error(`Invalid Tabset position: ${position}`);\n\t}\n\treturn nowTabs;\n};\n\n/**\n * View builder function for now-uxf-tab-set component.\n *\n * @param state\n * @returns {JSX.Element}\n */\nexport const view = (state) => {\n\tconst {\n\t\tproperties: { position, tabStyles, enableCollapsing },\n\t\ttabs,\n\t\tselectedItem,\n\t\tcollapsed,\n\t\tnonViewportSlots,\n\t\tminWidth,\n\t} = state;\n\n\tif (\n\t\tisEmpty(state.tabs) ||\n\t\t(!enableCollapsing && isEmpty(state.selectedItem))\n\t) {\n\t\tconsole.warn('Tabset must have at least one tab item.');\n\t\treturn null;\n\t}\n\n\tconst wrapperAttributes = minWidth\n\t\t? {\n\t\t\t\tstyle: {\n\t\t\t\t\t'min-width': `${minWidth}px`,\n\t\t\t\t},\n\t\t\t}\n\t\t: {};\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'tabset-wrapper': true,\n\t\t\t\ttop: position === POSITIONS.TOP,\n\t\t\t\tright: position === POSITIONS.RIGHT,\n\t\t\t}}\n\t\t\t{...wrapperAttributes}>\n\t\t\t<style type=\"text/css\">{`${tabStyles}`}<\/style>\n\t\t\t<div className=\"tabset-tabs\">{_renderNowTabs(state)}<\/div>\n\t\t\t<section className=\"tabset-container\">\n\t\t\t\t{!collapsed\n\t\t\t\t\t? _renderNonViewportSlots(\n\t\t\t\t\t\t\ttabs,\n\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t\tnonViewportSlots,\n\t\t\t\t\t\t)\n\t\t\t\t\t: null}\n\t\t\t\t{!collapsed ? _renderViewportSlot(state) : null}\n\t\t\t<\/section>\n\t\t<\/div>\n\t);\n};\n","import { declarativeOperations } from '@servicenow/ui-core';\nimport { isEmpty, isNil } from 'lodash';\n\n/**\n * For Dirty State Manager API see uxf-monorepo/library-uxf/src/dirtyStateManager/index.js\n * @returns Returns the global instance of the dirtyStateManager.\n */\nexport const getDirtyStateManager = () => {\n\tif (!window?.uxf?.dirtyStateManager) {\n\t\tthrow new Error(\n\t\t\t'DirtyStateManager not found on window. ' +\n\t\t\t\t'Make sure the library-uxf dirtyStateManager is initialized.',\n\t\t);\n\t}\n\treturn window?.uxf?.dirtyStateManager;\n};\n\n/**\n * @function shadowQuerySelector\n *\n * @description Finds and returns an element across shadow roots and slots\n * that match the selector in the DOM. If the selector\n * is an element attribute you must wrap the string in square brackets.\n * @param {String} selector selector\n * @param {Node} root root node\n * @param {Number} maxDepth maximum depth the function will recurse to\n * @param {Number} currentDepth current depth of the recursion\n * @return {Node} returns the first matching element with selector across shadow roots and slots\n */\nexport const shadowQuerySelector = (\n\tselector,\n\troot = document,\n\tmaxDepth = Infinity,\n\tcurrentDepth = 0,\n) => {\n\tif (!selector || !root) {\n\t\treturn null;\n\t}\n\n\tconst seen = new Set(); // Prevent infinite loops and redundant checks\n\tconst queue = [{ node: root, depth: currentDepth }];\n\tlet index = 0; // Pointer to track the next node in the queue\n\n\twhile (index < queue.length) {\n\t\tconst { node, depth } = queue[index];\n\t\tindex += 1;\n\n\t\t// If we've exceeded the max depth, stop searching further\n\t\tif (depth > maxDepth || !node || seen.has(node)) {\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(node);\n\n\t\tconst currentRoot = node.shadowRoot || node;\n\n\t\t// Check if the current node matches the selector\n\t\tif (currentRoot.matches?.(selector)) {\n\t\t\treturn currentRoot;\n\t\t}\n\n\t\t// Add children and shadow roots to the queue\n\t\tfor (const child of currentRoot.children || []) {\n\t\t\tif (child.matches?.(selector)) {\n\t\t\t\treturn child;\n\t\t\t}\n\n\t\t\tif (child.shadowRoot) {\n\t\t\t\tqueue.push({ node: child.shadowRoot, depth: depth + 1 });\n\t\t\t}\n\n\t\t\tqueue.push({ node: child, depth: depth + 1 });\n\n\t\t\tif (child instanceof HTMLSlotElement) {\n\t\t\t\tconst assigned = child.assignedElements({ flatten: true });\n\t\t\t\tfor (const assignedEl of assigned) {\n\t\t\t\t\tif (assignedEl.matches?.(selector)) {\n\t\t\t\t\t\treturn assignedEl;\n\t\t\t\t\t}\n\t\t\t\t\tqueue.push({ node: assignedEl, depth: depth + 1 });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/**\n * Handles the dirty state change of a now-uxf-tab-set tabs and updates the subscriber's state.\n * @param {DirtyStateSubscriberCallbackParams} params -\n * @see uxf-monorepo/library-uxf/src/factory/dirtyStateManager\n */\nexport const onDirtyStateChange = ({\n\tisDirty: aggregatedTabSetDirtyState,\n\tsubscriberUpdateStateFn,\n\tsubscriberComponentId,\n\tchildActionChain = [],\n}) => {\n\t// When we call the onDirtyStateChange function from the COMPONENT_DISCONNECTED the childActionChain will be empty\n\tif (isEmpty(childActionChain)) {\n\t\tsubscriberUpdateStateFn(({ state }) => {\n\t\t\tconst { tabs } = state;\n\t\t\tconst updatedTabs = tabs.map((tab) => {\n\t\t\t\treturn {\n\t\t\t\t\t...tab,\n\t\t\t\t\tisDirty: aggregatedTabSetDirtyState,\n\t\t\t\t};\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tpath: 'tabs',\n\t\t\t\tvalue: updatedTabs,\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tshouldRender: true,\n\t\t\t};\n\t\t});\n\t\treturn;\n\t}\n\n\tconst dirtyDescendantsForHost =\n\t\tgetDirtyStateManager().getDirtyDescendantComponentIds(\n\t\t\tsubscriberComponentId,\n\t\t);\n\n\tsubscriberUpdateStateFn(({ state }) => {\n\t\tconst { tabs, currentTabIndex } = state;\n\t\tif (isEmpty(dirtyDescendantsForHost)) {\n\t\t\treturn {\n\t\t\t\tpath: 'tabs',\n\t\t\t\tvalue: tabs.map((tab) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...tab,\n\t\t\t\t\t\tisDirty: aggregatedTabSetDirtyState,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tshouldRender: true,\n\t\t\t};\n\t\t}\n\n\t\tconst currentTabSetElement = shadowQuerySelector(\n\t\t\t`[component-id=\"${subscriberComponentId}\"]`,\n\t\t\tdocument,\n\t\t);\n\n\t\t// return if currentTabSetElement(now-uxf-tab-set) is not found\n\t\tif (!currentTabSetElement) {\n\t\t\treturn state;\n\t\t}\n\n\t\tconst currentTabHTMLElement = shadowQuerySelector(\n\t\t\t`[component-id=\"${childActionChain.at(-1)}\"]`,\n\t\t\tcurrentTabSetElement,\n\t\t);\n\n\t\t// return if currentTabHTMLElement(slot with component-id) is not found\n\t\tif (!currentTabHTMLElement) {\n\t\t\treturn state;\n\t\t}\n\n\t\tconst isDirtyStateUpdated =\n\t\t\tdirtyDescendantsForHost.some((dirtyDescendant) => {\n\t\t\t\treturn !isNil(\n\t\t\t\t\tshadowQuerySelector(\n\t\t\t\t\t\t`[component-id=\"${dirtyDescendant}\"]`,\n\t\t\t\t\t\tcurrentTabHTMLElement,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}) || dirtyDescendantsForHost.includes(childActionChain.at(-1));\n\n\t\treturn {\n\t\t\tpath: 'tabs',\n\t\t\tvalue: tabs.map((tab, index) => {\n\t\t\t\treturn {\n\t\t\t\t\t...tab,\n\t\t\t\t\tisDirty:\n\t\t\t\t\t\tindex === currentTabIndex\n\t\t\t\t\t\t\t? isDirtyStateUpdated && aggregatedTabSetDirtyState\n\t\t\t\t\t\t\t: (tab.isDirty ?? false),\n\t\t\t\t};\n\t\t\t}),\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tshouldRender: true,\n\t\t};\n\t});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"keyboardShortcutBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.__esModule\n\t\t\t\t\tif (cjsModule && 'keyboardShortcutBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].keyboardShortcutBehavior;\n\t\t\t\t\t} else if ('keyboardShortcutBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__.keyboardShortcutBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_trigger_library_index_jsdbx_ab42f527__[\"default\"].keyboardShortcutBehavior;\n\t\t\t\t} });","import {\n\tactionTypes,\n\tcreateCustomElement,\n\tmodifierTypes,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\nimport '@servicenow/now-tabs';\nimport styles from './now-uxf-tab-set.scss';\nimport nowUxfTabSetEffect from './nowUxfTabSetEffect';\nimport {\n\tPOSITIONS,\n\tSELECTED_ITEM_SET,\n\tSET_SELECTED_TAB,\n\tVERTICAL_SELECTED_ITEM_SET,\n\tSET_SELECTED_TAB_WITH_SELECTED_TAB_PROP,\n\tTREE_RENDERED_THROTTLE_LIMIT,\n\tUXF_TAB_SET_SELECTION,\n\tUXF_TAB_TAB_ITEMS_CHANGED,\n} from './constants';\nimport { isVerticalOrientation, shortcutActionMap } from './helpers';\nimport setMinWidth from './helpers/setMinWidth';\nimport getReflowProperties from './helpers/getReflowProperties';\nimport { view } from './view';\nimport { onDirtyStateChange } from './helpers/dirtyState';\nimport { keyboardShortcutBehavior } from '@servicenow/now-trigger-library';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_TREE_RENDERED,\n} = actionTypes;\nconst {\n\thandleComponentBootstrap,\n\thandleComponentDisconnect,\n\thandleComponentPropertyChanged,\n\tsetSelectedItem,\n\tsetSelectedTab,\n\tsetSelectedTabWithSelectedTabProp,\n} = nowUxfTabSetEffect.effectHandlers;\n\n/**\n * Tab item definition.\n * @typedef {Object} TabItem\n * @param {boolean|null} conditional\n * @param {boolean|null} extensionPoint\n * @param {string} icon\n * @param {string} id\n * @param {string} label\n * @param {number} order\n * @param {string} type\n * @param {boolean} [isDirty]\n */\n\n/**\n * Tab Set is a UIB component available in toolbox to display grouped content in a specific hierarchy.\n *\n *\n * ```jsx\n * const items = [\n *  {id: 'tab1', label: 'Tab 1', icon: 'bell-outline', count: 7},\n * \t{id: 'tab2', label: 'Tab 2', icon: 'document-outline', count: 3}\n * ];\n *\n * <now-uxf-tab-set items={items} defaultRoute={defaultRoute} selectedTabIndex={selectedTabIndex}><\/now-uxf-tab-set>\n * ```\n */\ncreateCustomElement('now-uxf-tab-set', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tbehaviors: [\n\t\tuxfViewportBehavior,\n\t\trtlBehavior,\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: onDirtyStateChange,\n\t\t\t},\n\t\t},\n\t\t/* This behavior is used to handle keyboard shortcuts for the tab set.\n\t\t * The behavior provides action handlers for COMPONENT_CONNECTED and COMPONENT_DISCONNECTED\n\t\t * to register and deregister the component for keyboard shortcuts with the now-trigger-library.\n\t\t */\n\t\t{\n\t\t\tbehavior: keyboardShortcutBehavior,\n\t\t\toptions: {\n\t\t\t\tactionMap: shortcutActionMap,\n\t\t\t},\n\t\t},\n\t],\n\tproperties: {\n\t\tselectedTabIndex: {\n\t\t\tdefault: undefined,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tselectedTab: {\n\t\t\tdefault: undefined,\n\t\t},\n\t\tdefaultRoute: {\n\t\t\tdefault: '',\n\t\t},\n\t\tdynamicTabData: {\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tfixedWidth: {\n\t\t\tdefault: false,\n\t\t},\n\t\thideLabel: {\n\t\t\tdefault: false,\n\t\t},\n\t\tmaxWidth: {\n\t\t\tdefault: 240,\n\t\t},\n\t\t/**\n\t\t * @type {TabItem[]}\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tposition: {\n\t\t\tdefault: POSITIONS.TOP,\n\t\t},\n\t\tenableCollapsing: {\n\t\t\tdefault: false,\n\t\t},\n\t\tspaceBetweenItems: {\n\t\t\tdefault: 'none',\n\t\t},\n\t\tinitiallyCollapsed: {\n\t\t\tdefault: false,\n\t\t},\n\t\tshowInlinePadding: {\n\t\t\tdefault: true,\n\t\t},\n\t\ttabStyles: {\n\t\t\tdefault: '',\n\t\t},\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\tariaLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tactiveRoute: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\trouteType: { type: 'string' },\n\t\t\t\t\textensionPoint: { type: 'string' },\n\t\t\t\t\torder: { type: 'integer' },\n\t\t\t\t\tname: { type: 'string' },\n\t\t\t\t\ticon: { type: 'string' },\n\t\t\t\t\tfields: { type: 'object' },\n\t\t\t\t\toptionalParameters: { type: 'object' },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\thidePadding: {\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tinitialState: {\n\t\tinitialPageLoad: true,\n\t\tcurrentTabIndex: -1,\n\t\ttabs: [],\n\t\tselectedItem: '',\n\t\tcollapsed: true,\n\t\tnonViewportSlots: new Set(),\n\t\tminWidth: 0,\n\t\tshouldHideLabel: false,\n\t\treflowProperties: {},\n\t\t// This state is used to track if the tabset should collapse on reflow, when it goes back to\n\t\t// vertical tabs from horizontal tabs.  It should only ever be true in the scenario where\n\t\t// the tabset was vertical and collapsed, reflowed to horizontal, and then reflowed back to\n\t\t// vertical with no interactions with the tab set occurring in between.\n\t\tshouldCollapseOnReflow: false,\n\t\t// Introduced to manage a not often used configuration where the hideLabel property\n\t\t// is true in conjunction with the tabs being horizontal (position top).\n\t\tbootstrapPosTopHideLabelTrue: false,\n\t\t// Introduced to manage a special configuration in UIB where both tabs and selectedTab props change\n\t\t// and when selectedTab prop change is fired before items change. This state will help to set\n\t\t// the new selectedTab on the new items as part of items prop change handler.\n\t\tselectedTabPrevPropVal: '',\n\t},\n\ttransformState(state) {\n\t\tconst {\n\t\t\ttabs,\n\t\t\tminWidth,\n\t\t\tproperties: { maxWidth, position },\n\t\t} = state;\n\t\tconst outputState = { ...state };\n\n\t\t// set minWidth to 0 if tabs.length !== 2 or minWidth > maxWidth or position is vertical\n\t\tif (\n\t\t\ttabs.length !== 2 ||\n\t\t\tminWidth > maxWidth ||\n\t\t\tisVerticalOrientation(position)\n\t\t) {\n\t\t\toutputState.minWidth = 0;\n\t\t}\n\n\t\t// ensure that state.tabs is always an array\n\t\tif (!Array.isArray(tabs)) {\n\t\t\tconsole.error('Tabs is not an array:', state);\n\t\t\toutputState.tabs = [];\n\t\t}\n\n\t\treturn { ...outputState };\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]({ host, updateState }) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'reflowProperties',\n\t\t\t\tvalue: getReflowProperties(host),\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrap,\n\t\t[COMPONENT_TREE_RENDERED]: {\n\t\t\teffect: setMinWidth,\n\t\t\tmodifier: {\n\t\t\t\tname: modifierTypes.THROTTLE,\n\t\t\t\tlimit: TREE_RENDERED_THROTTLE_LIMIT,\n\t\t\t},\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t\t[COMPONENT_DISCONNECTED]: handleComponentDisconnect,\n\t\t[SELECTED_ITEM_SET]: {\n\t\t\teffect: setSelectedItem,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[VERTICAL_SELECTED_ITEM_SET]: {\n\t\t\teffect: setSelectedItem,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SET_SELECTED_TAB]: {\n\t\t\teffect: setSelectedTab,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SET_SELECTED_TAB_WITH_SELECTED_TAB_PROP]: {\n\t\t\teffect: setSelectedTabWithSelectedTabProp,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Fired when selecting a tab.\n\t\t * @type {{\n\t\t *   selectedTabIndex: number,      // Index of the selected tab\n\t\t *   selectedTab: string,           // Selector of the selected tab, see {@link helpers.js/getTabSelector}\n\t\t *   selectedTabLabel: string,      // Label of the selected tab\n\t\t *   isInitialPageLoad: boolean,    // Whether the component was touched, true if untouched\n\t\t * }}\n\t\t */\n\t\t[UXF_TAB_SET_SELECTION]: {},\n\t\t/**\n\t\t * Fired when component tabs have changed.\n\t\t * @type {{\n\t\t *   tabs: Array<TabItem>,\n\t\t *   previousTabs: Array<TabItem>,\n\t\t * }}\n\t\t */\n\t\t[UXF_TAB_TAB_ITEMS_CHANGED]: {},\n\t},\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_now_uxf_tab_set=exports;\nexport * from '../index.js';\n\n"],"version":3}},{"offset":{"line":747,"column":0},"map":{"mappings":"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","file":"externals/sn-canvas-core/index.min.js","names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","a","n","TypeError","toPropertyKey","require","_defineProperties","e","r","t","o","enumerable","configurable","writable","Object","defineProperty","key","prototype","_extends","assign","bind","arguments","hasOwnProperty","call","apply","indexOf","_typeof","Symbol","toPrimitive","String","Number","iterator","constructor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","definition","get","obj","prop","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","componentModes","createContext","createCustomElement","declarativeOperations","getComponentById","modifierTypes","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","createElement","snabbdom","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__","has","isEmpty","isEqual","isNil","isNumber","mergeWith","set","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__","setApplication","setConfigValue","setPage","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__","createInteractionId","defineMetric","getInteractionId","getMetricTypes","mark","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__","difference","find","isFunction","kebabCase","omit","pick","reduce","size","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__","PERSIST_STATE_CONSTANTS","calculateNewScreenStatusPayloads","canCreateMoreScreen","constructRouterConfig","createBrowserTabTitle","decodeURL","deepSearchAllElement","deepSearchElement","encodeURL","generateScreenKey","getExperienceRouteConfigs","getFilteredParams","getGlobal","getInteropDependentRoute","getInteropRoute","getInteropTypeFieldGroupsMap","getLandingPath","getLocation","getParametersFromPath","getRequestedExperienceConfigs","getRoute","getScreenKey","getSelectedContentFromUrl","getTinyIdForParams","getTypeFieldGroupsMap","getUnifiedCacheInstance","hydrateTinyUrlCache","initKarunaBridge","interopContextRegex","isCompleteExperienceConfigs","isKarunaMode","isSupportedExperience","notifyNavigationChange","notifyRouteChange","nowTitle","renderSkipBehavior","saveTinyUrlCache","setActiveRouterConfig","setBrowserTabTitle","setPageTitle","setTinyIdForParams","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","CURRENT_ROUTE","PERSISTED_STATE_PARAM","COMPONENT_ID","SN_CANVAS_ROUTER","CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED","MAIN_SELECTED_CONTENT_CHANGED","MODAL_SELECTED","ACTIVE_SCREEN_RENDERED","SCREEN_STATUS_CHANGED","SCREEN_TITLES_REGISTRATION_REQUESTED","UXF_WM_SCREEN_SELECTED","NAV_ITEM_SELECTED","CONTENT_UPDATED","CANVAS_COMPONENT_CONNECTED","SCREEN_BLOCK_LOADING_END_REQUESTED","EXPERIENCE_STATUS_CHANGED","EXPERIENCE_SCREENS_UPDATED","DIALOG_CLOSE_REQUESTED","DIALOG_CLOSE_CONFIRMED","DIALOG_CLOSE_CANCELED","DIALOG_MODAL_OPENED_SET","CLOSE_DIALOG","WARNING_MESSAGE","CANVAS_EXPERIENCE_SWITCH_REQUESTED","CANVAS_EXPERIENCE_SWITCH_INITIATED","CANVAS_EXPERIENCE_LOADED","CANVAS_EXPERIENCE_SWITCHED","CANVAS_SCREEN_LOAD_INITIATED","CANVAS_SCREEN_SWITCH_INITIATED","CANVAS_SCREEN_LOADED","CANVAS_SCREEN_SWITCHED","CANVAS_PARENT_SCREEN_LOAD_REQUESTED","GLOBAL_NAVIGATION_REQUESTED","EXPERIENCE_ONLY","ROOT_SELECTED_NAV_ITEM","ROOT_CONTENT_UPDATED","SCREEN_DATA","ROOT_PERSISTED_STATE","CONFIRM_POP_STATE_NAVIGATION","NOW_LOGIN_SUCCESS","DIRTY_SCREEN_CLOSE_CONFIRMED","EXPERIENCE_START","USER_NAVIGATE","PAGE_TITLE_UPDATE_REQUESTED","UXF_INTEROP_ROUTE_RESOLVED","UXF_USER_BROWSER_NAV_START","UXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED","UXF_INTERRUPTION_MOUSEDOWN","UXF_INTERRUPTION_KEYDOWN","UXF_USER_NAV_LOAD_START","ERROR_MESSAGES","SUPPORTED_ERRORS","freeze","keys","ROUTE_CONFIG","ROUTE_CONFIG_PATH","ux_globals","siteName","AUTH_ROUTES","ROUTES","FORWARDED_ROUTES","PREFETCH_LIMITS","META_PROP_REFLOW_DISABLED","REFLOW_DISABLED_APP_CONFIG","REFLOW_DISABLED_SCREEN","NOW_MODELESS_DIALOG_MOUSE_DOWN","NOW_MODELESS_DIALOG_MAXIMIZE","NOW_MODELESS_CHECK_FIT","NOW_MODELESS_DIALOG_MINIMIZE","UXF_DIALOG_OPENED","SN_WINDOW_CLOSED","SN_HIDE_DIALOG","USER_CONSENT_BEHAVIOR","UCM_DIALOG_CLOSED","META_PROP_NAME_PERSISTED_STATE","META_PROP_NAME_PERSISTED_STATE_TINY_URL_REQUESTED","INTEROP_SCREEN_IDLE","SCREEN_INTERACTION_ID_UPDATE_REQUESTED","HOISTED_CONTENT_SOURCE_RENDERED","HOISTED_CONTENT_UPDATED","HOISTED_CONTENT_SCREEN_UPDATED","SCREEN_STATUS_ACTION_CLOSE_IF_CLEAN","RESOLVE_STAGED_NOTIFICATIONS","ERROR_PREFIX","routerConfig","defaultConfig","errorPages","landingPath","context","path","routes","record","macroponentSysId","optionalParameters","macroponentConfiguration","fields","home","page","initConfig","config","routerConfigData","queryParams","interoperableRoutes","dependentRoutes","experienceRouteConfigs","routeTypeFieldGroupsMap","routeTypeFieldGroupsMapInterop","setCommonRouterConfig","queryParamsEnabled","getUXGlobalRouterConfiguration","_EXPERIENCE_CONFIGS","initPath","window","EXPERIENCE_CONFIGS","appRouteConfig","getRequestedExperienceRouterConfiguration","async","_experienceConfigs$re","_experienceConfigs","requestedExpKey","prevRouterConfig","updateProperties","dispatch","isFullExpConfigs","experienceContent","experienceConfigs","pageMeta","pageRegistryId","experienceId","pageMacroponentId","constructedRouterConfig","globalNavigationPosition","initGlobalNavigationPositionObject","initGlobalNavigationPosition","setNavigationPosition","position","getNavigationPosition","previousExperiencePath","previousExperiencePathObject","initPreviousExperiencePathOnPopState","setPreviousExperiencePath","experiencePath","getPreviousExperiencePath","BASE_ATTR","removeTrailingSlash","pathname","last","substring","removeFirstSlash","trimSlashes","urlCase","urlPathPart","constants","getEncodedPersistedStateForSelectedContent","selectedContent","coeffects","properties","persistedState","screenKey","resolveHref","href","hrefParts","split","slice","up","acc","part","currentPosition","history","state","globalNavigationObject","pushState","reloadUrl","url","replace","replaceState","navigateUrl","title","experienceName","shouldReload","noTitleUpdateUsingUrl","sanitizeBaseUrl","rawPathname","_pathname","initBaseUrl","base","basePath","document","querySelector","parsed","getPathname","getAttribute","getBasePath","console","group","log","groupEnd","redirectUrl","isRouteMultiInstEnabled","field","multiInstField","uid","getExperiencePath","params","getContext","routeConfig","doesRouteExist","route","fieldsLength","typeFieldGroupsMap","getQueryStringParams","query","location","search","test","param","INTERFACE_TYPE_STRINGS","INTERFACE_NAME_STRINGS","getTransactionSource","getPageInterfaceType","appShellId","getInterfaceName","experienceConfigKey","getTokenizedUrlParts","_ux_globals","fieldCount","orderedFields","appRouteConfiguration","_r$fields","fieldSlugs","paramSlugs","createTokenizedPath","parent","tokenizedParent","getRouteMatchStatus","contentDef","contentRoute","contentFields","interopContext","Array","isArray","hasMatchedInteropRoute","doesInteropRouteExist","hasMatchedRoute","hasMatchedDependentRoute","doesInteropDependentRouteExist","providerExperienceKey","_getExperienceRouteCo","providerRouteConfig","expKey","updateInteropContextForSelectedContent","_selectedContent$inte","isInterop","hasMatchedRouteWithMatchingFieldsLength","isDependent","IS_LOGGED_IN","gLoggedIn","toLowerCase","DESTINATION_URL","destinationUrl","getUrlFromContentDefinition","encodedPersistedState","urlType","configuredParams","isDependentRoute","encodeURIComponent","val","filteredParams","paramsForUrl","getUriFromParams","getUrlFromSelectedContent","contextUrl","contextPath","leafUrl","rootContent","urlFields","hasLocalRouteWithMatchingFieldLengths","_selectedContent$cont","type","rootUrl","attemptGetSelectedContentFromURL","prevSelectedContent","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__","getAppliedTemplate","getTemplates","registerScreenActionTransformer","setAppConfigToRootMacroponent","snHttp","DB_ENGINE_EXEC_SUCCEEDED","DB_ENGINE_EXEC_FAILED","UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED","initCustomMetricsAndTrace","parentAppShellId","traceparent","nowUiFramework","_window$nowUiFramewor","interactionId","metrics","uxfInteractionIdBase","uxrInteractionId","setInteractionId","currentMetricTypes","metricTypesToDefine","CLIENT_SCRIPT","NAVIGATE","forEach","metricType","name","options","channelType","tableName","_recordId","eventTypes","loadedExperiences","setExperienceMark","host","action","eventType","meta","includes","applicationContextId","applicationContextName","switched","pageTitle","getUxfSysProp","_window$ux_globals$li","_window","defaultValue","libuxf","sysprops","getPageProperties","_window2","pageProperties","PREVIEW_MODE","LIVE_PREVIEW_QUERY_STRING","isScreenPreview","queryString","getIsScreenPreviewFromURL","decodedURL","URL","searchParams","mode","TINY_PARAM_REGEX","RegExp","getFetchHeaders","headers","Accept","g_ck","fetchTinyUrl","paramsSection","encodedParams","str","btoa","JSON","stringify","error","safeBase64Encode","response","fetch","method","body","ok","Error","statusText","json","match","extractTinyIdFromResult","buildTinyUrl","tinyId","separator","endsWith","resolveTinyUrl","originalUrl","origin","paramsIndex","remainingUrl","queryIndex","parseUrlForShortening","cachedTinyId","ACTION_PERSIST_STATE_INIT_INTERNAL","ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL","COMPONENT_BOOTSTRAPPED","COMPONENT_DISCONNECTED","COMPONENT_PROPERTY_CHANGED","UXF_PERF_MONITORING_ENABLED","isScreenPreviewMode","shouldSkipPopNavigation","boundPopStateHandler","interruptionHandlers","updateActiveContextPath","_properties$routerCon","_properties$rootSelec","activeContextPath","rootSelectedNavItem","navigationOptions","navigateExternal","_onPopState","_ref","event","confirmPopStateNavigation","getResolvedProperties","expPath","_event$state2","experiencePathObject","_getGlobal$ux_globals","isConfirmPopStateNavigationWhenDirtyActive","confirm","_event$state","preventDefault","go","activeRouteConfig","requestedRouteConfig","updateUrl","getInterruptionHandler","interruption","_selectedContent$titl","_coeffects$action$pay","selectedContentForUrlUpdate","g_uxr_tiny_url","useTiny","use_tiny","minLength","min_length","urlneedsShortening","shortUrl","openUrl","targetWindowRef","windowOptions","target","windowFeatures","open","selectedContentClone","referrer","reload","redirect","transaction_source","payload","isFromKaruna","onRootSelectedNavItemChange","_rootSelectedNavItem$","currentRecordId","recordId","storedRecordInfo","getItem","lastRecordId","warn","retrieveRecordId","updatedRouterConfig","_rootSelectedNavItem$2","interopProviderExpKey","_prevRouterConfig$exp","currentAppRouteConfig","updatedAppRouteConfig","updateRouterConfigWithUpdatedExperienceConfig","operation","_ref2","targetRoute","_selectedContent","_objectWithoutPropertiesLoose","_excluded","prevContext","_targetContent","restContent","_excluded2","_newRecordId","setItem","saveRecordId","contextChanged","changeContext","ctx","_context","navigateToExternal","routerBootStrappedEffect","_ref3","addEventListener","err","blur","mousedown","keydown","capture","addInterruptionHandlers","routerInitiated","onActiveExperienceChange","activeExperience","_ref4","_timestamp","requestedExpRouterConfig","getParams","lifeCycleHandlers","routerDisconnectedEffect","removeEventListener","_value$context","onRootContentUpdatedChange","rootContentUpdated","newSelectedContent","onRootPersistedStateChange","_ref5","shouldUpdate","_value$context2","view","deepCompare","selectable","behaviors","actionHandlers","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__","canvasClientBehavior","getSessionPing","sessionExtensionBehavior","clientInfo","schema","renderer","convertToHash","keyInfo","hash","stack","pop","getKeyInfo","recoverContextFromKey","parts","j","mapToAggregation","aggregationMap","Map","status","activityLogger","_createClass","ActivityLogger","_classCallCheck","_activityMap","data","logInfo","_logInfo","timestamp","Date","now","_hash","existingRecord","newActivities","existingActivities","activities","activityKey","existingActivity","_keyInfo","activitykey","existingLogInfo","sysId","recordEntry","getSingle","some","clear","delete","clearSingle","getCleanSysId","activity","isNewRecord","_getCleanSysId","startsWith","dispatchUpdateHoistedContentForActiveRecords","screenObject","hasChatOnPage","isMainSessionTab","EXP_CONFIGS","getPrimaryExperienceRoutes","primaryExperience","getPrimaryExperience","currentExperience","isInvalidParentLoad","doesResolveToSameScreen","otherSelectedContent","otherRoute","otherFields","getResolvedScreenFromAppliedPageFragment","routeToScreenMap","routeToScreenMapInterop","routeToScreenMapInteropProviders","_fields","appliedPageFragments","routeKey","localRoute","resolvedScreenMacroponent","applicableRoute","providerRoute","screenAppliedPageFragment","interopRoute","macroponents","mcp","pageFragmentSysId","_localRoute$macropone","dependentRoute","propValues","handleHoistedContentUpdates","dispatchUpdatedScreenSelectedForHoistedContent","getScreenKeyFn","_screenObject$hasUtil","currentScreenKey","hoistedContentConfiguration","hoistedContent","values","activeHoistedContent","getHoistedContentConfiguration","isHidden","hasHoistedContent","hasUtilityPanel","parentScreenKey","screenData","updateScreenContentWhenParentPresent","parentObj","mcpObj","evaluateConditionFn","parsedCondition","getDirtyStateManager","uxf","dirtyStateManager","handleWindowManagerScreenSelected","screenContent","finalScreenKey","finalExperienceId","wmScreenSelectedPayload","getScreenDataFromInteropAndLocal","resolvedMacroponentSysId","interop","local","_interopRoute$macropo","matched","appConfigId","interoperableRouteSysId","screenType","macroponentObject","macroponent","isKeyUpdateRequired","screenParams","keyArray","every","getScreenConfigurationLink","screenId","screenTypeId","_window$ux_globals$ex","_window$ux_globals","_activeExperienceConf","_activeExperienceConf2","activeExperienceConfig","fromEntries","entries","filter","activeExperienceKey","pageSettings","_getAppConfigID","updateActivityLogs","activeKey","_activityLogs","getAll","_key","_value","isActive","activityLogs","saveOrUpdateLog","_logInfo$operation","_logInfo$operation$to","_logInfo$operation$to2","callbackFn","_selectedContent$fiel","isRelatedRecord","_selectedContent$fiel2","_selectedContent$fiel3","_selectedContent$fiel4","parentkey","recordSysId","sys_id","recordHasOperation","incomingContent","recoverContentFromKey","selectedContentFields","captured","table","trim","_selectedContent$fiel5","_selectedContent$pare","inferredTable","normalizedTable","navInfo","_logInfo$sysId","shouldSkip","activeScreenId","screenMetaData","linkToCurrentScreenConfiguration","label","_meta$actionId","_meta$id","updateState","screenTitles","sourceSelectedContent","screenTitle","_selectedContent$cont2","browserTabTitle","isConditionalClose","hasNotifications","closeIfCleanNotifications","shouldDelegateNotifications","notifications","uxfPageId","fallbackUrlContent","SET","shouldRender","stageNotificationsForDelegation","changePayload","actionId","componentId","isScreenKeyUpdated","isDirty","hasUpdate","_meta$event$timeStamp","_meta$event","timeStamp","isSameScreen","getParentDetails","_content$parent","_content$parent2","_content$parent3","selectedParent","sourceParent","compareInteropContext","sourceInteropContext","sourceRoute","sourceFields","compareScreens","_content$fields$redir","passiveNavigation","requestAnimationFrame","_ref6","screenStatus","_ref7","_ref8","newTitles","effect","screenKeys","stagedNotifications","updatedNotifications","delegateNotificationsToPage","uxfPageElement","items","removeNotificationOverrides","delegateNotificationsToCanvasMain","delegatedNotifications","globalOverrides","actionOverride","processedOverrides","urlContent","applyNotificationOverrides","stopPropagation","NOW_CONFIRM_MODAL_CLEAR","NOW_CONFIRM_MODAL_POSITIVE_BUTTON_CLICKED","NOW_CONFIRM_MODAL_NEGATIVE_BUTTON_CLICKED","ACTIVITY_LOG_UPDATED","LAYOUT_PROP_RESET_REQUESTED","NAVIGATION_CLOSED","closedNavigationIds","closedIdsInfo","activityKeys","clearMultiple","rawLogInfo","annotation","cleanedLogInfo","parentKey","toBeUpdatedProps","getSessionStorageKey","getTime","getStoredScreenTitles","userId","storedScreenTitles","saveScreenTitles","clearScreenTitles","removeItem","COMPONENT_CONNECTED","previousValue","experienceChromeSettings","layoutUnloadHandler","_screenTitles","_experienceId","_properties$selectedC","isHoistedContentHidden","hoistedContentConfigurationUxGlobals","currentHoistedContent","currentActiveHoistedContent","currentIsHidden","propsActiveHoistedContent","propsIsHidden","newHoistedContentConfiguration","__hoistedContentConfiguration","propsHoistedContentConfiguration","foundHoistedContent","_hoistedContentConfig","hoistedContentConfigurationParent","sessionPing","initialState","styles","canvasSession","dirtyModalId","icon","hasError","message","tooltipPreview","tooltipPreviewSchema","shouldRenderWhenSet","screenCloseConfirmation","screensToCloseQueue","screenStatusActionHandlers","activityLogActionHandlers","navigationActionHandlers","componentActionHandlers","hoistedContentActionHandlers","COMPONENT_TREE_RENDERED","alertObserverRegistered","updateGlobalAlertsHeightContext","updateContext","height","topOffsetPx","EventScheduler","dispatchFn","eventQueue","scheduler","setInterval","job","clearInterval","actionObj","dequeueEvent","canvasRedispatch","addEvent","shift","eventSchedulerMap","screensData","isDirtyObject","Boolean","newScreensData","eventScheduler","schedule","start","alertMain","shadowRoot","firstElementChild","localName","el","ro","ResizeObserver","entry","contentRect","observe","observeResize","disconnect","sourceElementId","instanceId","compositionId","uxfMeta","showDialogModal","__windowManagerConfig","isLoaded","dialogId","propagatedMetaFromDialogCloseRequested","closeMandate","closeConfirm","sourceElement","_globalUnloadFunctions","runFuncs","functionList","frameElement","retVal","returnValue","defaultOnUnload","GlobalUnloadistener","add","fn","remove","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__","globalNotificationsBehavior","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__","whenScreenMacroponentIdleDuringPageLoad","whenScreenMacroponentIdleOnEachPageLoad","EVALUATION_CACHE","getHydratedScreen","globalUxfObject","EVALUATORS","AND","op","symbol","evaluator","b","OR","EQUALS","NOTEQUALS","STARTSWITH","parseCondition","conditionStr","conditionArr","conditionObj","c","logical_operator","Math","min","evaluateCondition","logical_op","_result","preParseConditions","_macroponents","getFallbackScreens","ROUTE_CONFIG_OBJ","errorCode","customAuthRoute","primaryExpRoutes","defaultCustomAuthRoute","routeObj","fieldsLen","updateInteropContext","_Object$entries$find","getScreen","_selectedContent$urlF","_selectedContent$urlF2","hydrationKey","chars","charAt","floor","random","generateHydrationKey","hydrateContext","cachedMacroponent","interoperableRouteSysIds","getResolvedScreen","serverResolvedScreenId","hasConditionScript","_interopData$context","_interopData$routesTo","interopData","defaultMacroponent","isInteropRouteBeingProcessed","routesToProcess","resolvePreviewScreen","screen","sysparm_live_preview","withLivePreview","sysparm_screen_sys_id","livePreviewScreenSysId","resolvedMacroponent","viewportConfigurationId","resultingInteropData","_interopData$matching","_interopData$routesTo2","_interopData$matching2","_parentMacroponentObj","_parentMacroponentObj2","__uxf_get_screen_id","__uxf_resolve_screen_id","Promise","resolve","matchingLocalRouteScreenTypeId","matchingLocalRoute","processedDuringInteropHydrateCall","parentMacroponentObject","parentMacroponentSysId","resultingScreenData","condition","localScreenType","localTitle","hasRouteConditionScript","hasLocalRouteWithMatchingFieldsLength","invalidValues","areFieldsValid","interopRoutes","hasInteropRouteWithMatchingFieldsLength","localRouteForInteropFallback","resolvedInteropScreen","resolvedScreen","isResolvingDependentRoutes","interopRoutesToProcess","parsedInteropCondition","hasScriptedCondition","hasInteropScriptedCondition","interoperableCondition","interopMacroponents","getResolvedScreenFromMatchingInteropRoutes","resolvedLocalScreen","_selectedContent$inte2","routeToScreenMapInteropProvider","providerAppConfigId","macroponentsDependent","screenTypeDependent","titleDependent","resolvedDependentScreen","trackInteropRouteUsage","markPayload","providerApplicationName","providerScreenId","getProviderContextForInterop","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__","klona","parseRoute","rest","deepRouteCopy","getRouteToScreenMap","ROUTE_TO_SCREEN_MAP","parsedRoute","getInteropRouteToScreenMap","hasOwn","interopRoutesForKey","_interopRoutesForKey$","interopRoutesForKeyAndFieldsLength","isDirectPageLoad","getUpdatedRouteConfig","newRouteConfigToUpdate","interopAliasMap","aliasMap","interopRouteObj","_aliasMap$appConfigId","aliasFor","aliasMapForAppConfigId","getInteropAliasMap","providerRouteToScreenMapCache","primeInteropProviderRouteToScreenMapCache","_getRouteToScreenMap","componentIds","getSelectableRouterProps","propName","componentName","snCanvasPortal","getElementsByTagName","getSelectableProp","screensDataBehaviors","initScreenLoaded","mainConfig","_newScreensData$scree3","_newScreensData$scree4","_newScreensData$scree5","_screensData$screenKe","udpatedRouteConfig","is","restSelectedContent","hasScreen","isContextualRoute","_parsedChromeTab$cont","chrome_tab","parsedChromeTab","parse","contextual","info","suspended","discarded","unSuspendScreens","activeScreen","lastActiveTimeStamp","isClassicRoute","eventMappings","defaultTitle","advancedPerformanceSettings","updatedScreensData","updatedScreenContent","cleanedOldScreen","mergeScreenDataWithoutParent","prevParentScreenKey","prevParentScreen","hasActiveSubScreen","suspendableScreens","discardableScreens","getSuspendableDiscardableScreens","maxCachedPageCount","maxActivePageCount","MAX_CACHED_SCREEN_COUNT","MAX_ACTIVE_SCREEN_COUNT","sorted","sort","endIdx","updatedRouteConfig","_previousValue$fields","screenKeyMap","previousScreenKey","updateScreenKey","activeContextPathChanged","then","scheme","requestIdleCallback","cancelScheme","cancelIdleCallback","cancelAnimationFrame","macroponentSet","Set","routeList","uxfRouteMacroponentMap","prefetchLimits","routeLimit","screenLimit","obj1","obj2","order","m","requestId","prefetchTemplates","_action$payload","_screensData$screenKe2","createNew","currentUxrInteractionId","updatedUxrInteractionId","_newScreensData$scree","_newScreensData$scree2","childScreenKey","getParentScreen","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__","dirtyStateSubscriberBehavior","MODELESS_DIALOG","DATA_TYPE","REPEATER","FULL_SCREEN_INDEX","NOW_ID","IS_FOCUSED","POSITION","TRUE","FALSE","FOCUSED_INDEX","UNFOCUSED_INDEX","findInShadowDomParent","element","tagName","toUpperCase","parentElement","getRootNode","handleUxGlobalCleanupDialogList","dialogs","_window$ux_globals$sn","_window$ux_globals$sn2","snCanvasScreen","handleModelessDialogCloseEvents","originalSourceElement","focus","targetElement","applyFocusWithTimeout","isFocusable","setTimeout","isConnected","getModelessDialogElements","nodeElements","fetchModelessDialogElements","nodeElement","nodeName","node","opened","updateMaximizeModelessElements","dialogElement","fullscreen","onModelessElementsUpdated","childNodes","nowId","setAttribute","style","zIndex","onModelessDialogMaximize","getModelessMaximizedDialogElements","validateModelessDialogElement","getModelessListControllerElement","metaId","controllerElement","modelessList","instanceIndex","findIndex","updateUnhidModelessElements","repeaterElements","repeaterNode","filteredChildNodes","index","getIsWindowManagerConfigEnabled","isWindowManagerReady","handleModelessDialogZIndexEvents","shouldContinue","dialogElements","updateModelessElements","handleCloseWindowRemoveFromModelessListEvent","wasConfirmed","handleConfirmedWindowClose","modelessContainerId","modelessContainer","screenElement","dialogItem","handleCloseWindow","modelessDialogControllerElementResultsArray","modelessDialogControllerElement","closed","updatedModelessList","splice","helpers","handleWindowMinimizedEvents","isMinimized","handleWindowMinimized","minimizedMandate","modelessDialogActionHandlers","handleModelessDialogZIndexMaximizeEvents","handleModelessDialogMinimizeEvents","modelessDropdownElement","handleUnhideModelessDialogZIndexEvent","COMPONENT_DOM_READY","scheduleTombstonePruning","removedKeys","queue","pruneNext","screensDataLatest","canvasMainlifeCycleHandlers","ASSIGN","globalAlertsHeightContext","createGlobalAlertsHeightContext","hasDirtyDescendant","stop","cleanupEventScheduler","newScreenStatusPayloads","_newScreenKeyMap","_screensData$newKey","updateActiveScreenId","_screensData","newKey","oldKey","newObj","renameObjectKey","updated","_tombstone","screensDataNew","keysToClose","derivedState","userPrefs","screensArr","isNaN","lastNavigationTimestamp","className","resolvedKey","isTombstone","display","overflow","attrs","hidden","nowMode","persistedStateForScreen","manageOpened","variant","clickActionType","createScreens","behavior","subscriberUpdatePropertiesFn","dialogActionHandlers","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__","isDesktopSafari","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__","getFocusableNodes","setPropsOnDom","domObj","propObj","SYMBOL_MARK_TINY_URL_REQUESTED","handleScreenDataChange","targetRef","children","prevParams","prevFields","prevSearch","oldNode","flattenedParams","isSuspended","ACTION_PERSIST_STATE","ACTION_PERSIST_STATE_INTERNAL","COMPONENT_RENDERED","level","updateNavigationPayloadForInterop","navItem","experienceSwitch","_screenData$interopCo3","ogRoute","translatedAlias","navigationInterceptor","_screenData$context","newPath","isExperienceSwitch","_fields$sysId","attachUxfPageId","_action$payload2","_action$payload3","shouldAttachPageId","rootNode","somethingIsAlreadyFocused","_targetRef$getRootNod2","active","activeElement","persistStateTerminator","persistTo","pathWithScreenId","stopBlockedLoading","loaderNode","fullPageLoaderTimeoutRef","clearTimeout","classList","removeChild","_targetRef$firstEleme","handleActivityLogsChange","handleUserPrefsChange","_value$SYMBOL_MARK_TI","_value$screenData$vie","_targetRef$firstEleme2","tinyUrlRequested","persistedStatePropForScreen","handlePersistedStateChange","didSetInitialFocus","firstFocusableElement","handleScreenDisconnect","modifier","DEBOUNCE","delay","__macroponentReadyCleanup","blockLoaderAnimationConfig","autoplay","loop","tokenId","src","canvasScreen","_derivedState$propert","pageLoaderTimeout","loadingMessage","isBlockedLoadingEnabled","_advancedPerformanceS","_advancedPerformanceS2","_advancedPerformanceS3","fullPageLoader","enabled","timeout","setTargetRef","ref","_targetRef$getRootNod","_window$nowUiFramewor2","_routeConfig$routes","_host$getResolvedProp","_persistedState","_persistedState$SYMBO","_persistedState2","isBlockedLoading","getUxrInteractionIdByHost","actionTransformerTag","customAuthRote","newNode","replaceChild","nowUxfReflowDisabledAppConfig","disableAutoReflow","nowUxfReflowDisabledScreen","_routeObj$","reflowDisable","flattenParams","fragment","__DO_NOT_USE__nowUxfPfPropOverrides","nowUxfAppConfigSysId","screenATEle","resolvedScreenProperties","persistedStateForFragment","appendToPayload","__uxfCompositionElId","addMCPReadyListener","mcpEle","macroponentHandler","macroponentIdleHandler","_screenData$interopCo","_screenData$interopCo2","once","screenMCPEle","actionTransformerElement","appendChild","loadScreen","loadingFragment","configAnimation","elm","hook-destroy","isScreenSubscriber","actionNames","errorMsgConfig","getRequiredErrMsgs","msg","translatedTexts","username","currentPassword","newPassword","confirmNewPassword","submit","pwdMatchFailMsg","login","password","continue","logInWith","fieldName","userNameReqMsg","pwdReqMsg","newPwdReqMsg","cnfNewPwdReqMsg","userIdReqMsg","currentPwdReqMsg","signInWithSSO","changePassword","orSignInWith","loginWithUsernameNPassword","loginWithSSO","forgotPassword","loading","rememberMe","mfaSetupHeading","mfaValidateHeading","logoAltText","language","langTooltip","loginButton","loginFormLabel","handleValidations","_properties$loginConf","_properties$loginConf2","_actionPayload$userNa","_actionPayload$passwo","userNameInfo","transactionId","loginConfig","actionPayload","userNameValue","userName","passwordValue","hasUserName","hasPassword","request","errMsg","translated","invalid","isLoading","messages","_payload$action","showLogin","_action$payload$field","fieldValue","_action$payload$field2","_action$payload$field3","_action$payload$field4","snCanvasLogin","showESignatureModal","headerLabel","footerActions","_reopenKey","_lastReopenKey","role","msgConfig","renderAlert","onSubmit","form","usernameInput","passwordInput","renderUsernameInput","usernameErrorId","autofocus","autocomplete","disabled","width","renderPasswordInput","passwordErrorId","required","disableUnmask","renderLoader","updatedFooterActions","nowHoist","elementRef","eventHandlers","events","tabbableNodes","handleFocus","dispatches","_properties$canvasSes","user","storedSelectedContentMap","experienceData","storedExperienceData","_storedExperienceData","getStoredExperienceData","sessionSelectedContentMap","appShellLayoutUnloadHandler","getProperty","_sessionSelectedContentMap","_selectedContentMap","saveExperiences","selectedContentMap","experiencesData","restValue","newExperiencesData","screens","layoutPropertyChangedEffect","_previousValue$contex","activeExperienceChromeSettings","experienceChromeSettingsMap","activeExperienceChromeSettingsChangeEffect","from","canvasClassicLoadedEffect","payloadTitle","classicSavedTitle","_properties$experienc","prevPath","_properties$experienc2","experienceDataBehavior","experienceLimits","_action$payload$conte","payloadData","ignoreDirty","screenKeySet","s","singleExperienceData","newScreens","newSingleExperienceData","buildScreensToCloseQueue","applyExperienceCacheRestriction","_experiencesData","maxCachedExperienceCount","maxActiveExperienceCount","MAX_CACHED_EXPERIENCE_COUNT","MAX_ACTIVE_EXPERIENCE_COUNT","allExperiences","nonActivePristineExperiences","sortByMostRecentlyAccessed","expData1","expData2","exp","remainingExperiences","isDetached","isDiscarded","convertToMap","mapped","dialogTypeMap","explicitoptin","notice","userConsentBehavior","showUcm","ucmConfig","getGlobalUCMConfiguration","user_analytics_consent_text","user_consent","hasUserConsented","userConsent","updateUserConsent","isConditionalRouteValid","routeCondition","evaluateRouteCondition","parsedConditionValue","routeExists","experienceConfig","interopPayload","isConditionalRouteValidFn","routeExistsWithMatchingFieldsAndCondition","conditionalKey","routesArr","resultRouteArr","routeFields","f","matchingInteropsWithScript","matchExists","localRouteExists","process","urlPath","handleMappings","mappingConfig","mapping","address","getRouteObjFromMapping","handleMappingsFunc","fieldsConfig","paramsConfig","getExperienceList","globalNavigationConfig","feature","filters","features","featureConfig","_default","conditionalExperienceMappings","expList","matchingCriteria","experiencePriorityList","matchFound","routeMapping","getRouteObj","getRouteObjFromMappingFunc","conditionalMappings","_routeInfo","routeInfo","getExperience","featureRoutes","featureRoutesProp","processGlobalNavConfig","expPropMap","requestedExps","paths","matchingExp","defaultRoute","expMapping","ScriptedInteropPayload","experienceInteropWithScriptedConditions","interopIdList","forType","interopIDs","res","experiencesAdded","interopPayloadItem","curr","parentInteropIDs","removeExperience","transformedPayloadForRequest","getStoredPreviouslyVisitedExperience","previouslyVisitedExperience","getUnifiedCacheInstanceFunc","storedPreviouslyVisitedExperience","savePreviouslyVisitedExperience","getUXGlobalsExperienceConfigs","resolveRouteForExperience","experience","getRouteObjFunc","routeExistsFunc","routeObjForExp","isExperiencePresent","validateParentRoute","parentRouteObj","parentRouteExists","createRouteObject","getRouteObjFromInteropScriptEval","experienceInteropsToEvaluate","_payload$parent","targetedExperience","experienceList","parentRouteFields","snHttpRef","inputProperties","getExperiencePassingInteropScriptedCondition","experienceObj","tryGetRouteFromInteropScript","currentRouteObj","getPayload","fetchAndUpdateRequestedExperiences","_fallbackRoute$contex","targetExperience","fallbackRoute","experiencesToFetch","currentSiteName","requestedExpKeys","filteredExpKeys","_experienceConfigs2","_experienceConfigs3","getRequestedExperienceRouterConfigurations","_updatedRouterConfig","currentRouterConfig","isGlobalNavConfProcessed","getUXGlobalsExperienceConfigsFunc","processGlobalNavConfigFunc","getStoredPreviouslyVisitedExperienceFunc","getExperienceFunc","resolveRouteForExperienceFunc","getExperienceListFunc","newGlobalNavigationConfig","navType","lastVisited","_canvasSession$user","savePreviouslyVisitedExperienceFunc","serviceWorkerEvents","sysProps","defaultApiPrefetchConfig","isEnabled","showDebugLog","disabledBaseUrls","uxfBaseUrl","apiBaseUrl","batchApiUrl","gqlApiUrl","responsesTtl","_config","navigator","serviceWorker","getRegistrations","registration","scope","resolveRegistrations","_registration$active","postMessage","experienceSwitchBehavior","globalNavBehavior","apiPrefetchBehavior","prevContextPath","dispatchWMExperienceSwitch","shellRouterConfig","ACTIVE","SUSPEND","DETACH","renderMainViewPorts","addLifeCycleEvent","buildScreen","extraInfo","output","propagateExperienceData","screenStatusChangedActionPayload","newExperienceData","experienceContext","shouldDispatch","setContextInPayload","UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA","handleNestedMerge","objValue","srcValue","isExperienceActive","experienceLoaded","experienceProps","appId","appShellFragment","isCanvasExperienceShell","fragmentItem","append","loadExperience","interceptors","augmentedMeta","experienceShellComponentId","sd","dsm","isScreenDirty","_e","_ref9","_ref0","subscriberDispatchFn","__TECTONIC__sn_canvas_core"],"sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/sn-canvas-login.scss","webpack:///sn-canvas-core/src/sn-canvas-appshell-layout/_sn-canvas-appshell-layout.scss","webpack:///sn-canvas-core/src/sn-canvas-appshell-main/_sn-canvas-appshell-main.scss","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/_sn-canvas-experience-shell.scss","webpack:///sn-canvas-core/src/sn-canvas-layout/_sn-canvas-layout.scss","webpack:///sn-canvas-core/src/sn-canvas-main/_sn-canvas-main.scss","webpack:///sn-canvas-core/src/sn-canvas-screen/_sn-canvas-screen.scss","webpack:///../sn-canvas-chrome/src/components/sn-canvas-login/sn-canvas-login.scss?e8cf","webpack:///./src/sn-canvas-appshell-layout/_sn-canvas-appshell-layout.scss?9e56","webpack:///./src/sn-canvas-appshell-main/_sn-canvas-appshell-main.scss?9bba","webpack:///./src/sn-canvas-experience-shell/_sn-canvas-experience-shell.scss?be75","webpack:///./src/sn-canvas-layout/_sn-canvas-layout.scss?8b46","webpack:///./src/sn-canvas-main/_sn-canvas-main.scss?e314","webpack:///./src/sn-canvas-screen/_sn-canvas-screen.scss?ddd9","webpack:///@babel/runtime/7.28.3/helpers/classCallCheck.js","webpack:///@babel/runtime/7.28.3/helpers/createClass.js","webpack:///@babel/runtime/7.28.3/helpers/extends.js","webpack:///@babel/runtime/7.28.3/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.28.3/helpers/toPrimitive.js","webpack:///@babel/runtime/7.28.3/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.28.3/helpers/typeof.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-analytics-integrator/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-metrics/index.jsdbx\"","webpack:///external module \"/uxasset/externals/lodash/4.17.21/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-canvas-common/29.2.17/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///sn-canvas-core/src/constants/constants.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.config.js","webpack:///sn-canvas-core/src/utils/globalNavigationPosition.js","webpack:///sn-canvas-core/src/utils/routeUtils.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.util.js","webpack:///sn-canvas-core/src/sn-canvas-layout/utils/browser.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.contentParser.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.urlParser.js","webpack:///external module \"/uxasset/externals/@devsnc/library-uxf/index.jsdbx\"","webpack:///sn-canvas-core/src/sn-canvas-metrics/constants.js","webpack:///sn-canvas-core/src/sn-canvas-metrics/index.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.storage.js","webpack:///sn-canvas-core/src/utils/setExperienceMarks.js","webpack:///sn-canvas-core/src/utils/uxGlobals.js","webpack:///sn-canvas-core/src/utils/isScreenPreview.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.tinyurl.effect.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.effects.js","webpack:///sn-canvas-core/src/sn-canvas-router/sn-canvas-router.js","webpack:///external module \"/uxasset/externals/sn-canvas-core-addon/29.2.17/index.jsdbx\"","webpack:///sn-canvas-core/src/sn-canvas-client/sn-canvas-client.js","webpack:///sn-canvas-core/src/utils/activity-logger/activity-logger.js","webpack:///sn-canvas-core/src/utils/activity-log-helpers.js","webpack:///sn-canvas-core/src/utils/utility-panel/util.js","webpack:///sn-canvas-core/src/behaviors/sn-canvas-screens/sn-canvas-screens.util.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.effects.screen-status.js","webpack:///sn-canvas-core/src/utils/notificationUtils.js","webpack:///sn-canvas-core/src/sn-canvas-layout/constants/constants.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.effects.activity-log.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.effects.navigation.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.storage.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.effects.component.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.effects.utility-panel.js","webpack:///sn-canvas-core/src/sn-canvas-layout/effects/hoistedContentEffectHandlers.js","webpack:///sn-canvas-core/src/sn-canvas-layout/sn-canvas-layout.js","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///sn-canvas-core/src/sn-canvas-main/sn-canvas-main.effects.js","webpack:///sn-canvas-core/src/sn-canvas-main/sn-canvas-main.dialog.effects.js","webpack:///sn-canvas-core/src/utils/global-unload-listener.js","webpack:///external module \"/uxasset/externals/@servicenow/now-uxf-page/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-runtime-utils/24.0.21-uxperf-rc-page-idle-api.7/index.jsdbx\"","webpack:///sn-canvas-core/src/behaviors/sn-canvas-screens/sn-canvas-screens.resolver.js","webpack:///sn-canvas-core/src/utils/trackInteropRouteUsage.js","webpack:///external module \"/uxasset/externals/klona/2.0.6/index.jsdbx\"","webpack:///sn-canvas-core/src/behaviors/sn-canvas-screens/sn-canvas-screens.config.js","webpack:///sn-canvas-core/src/behaviors/sn-canvas-screens/sn-canvas-screens.effects.js","webpack:///sn-canvas-core/src/utils/selectablePropUtils.js","webpack:///sn-canvas-core/src/utils/behaviors/selectableProps.behaviors.js","webpack:///sn-canvas-core/src/behaviors/sn-canvas-screens/sn-canvas-screens.behaviors.js","webpack:///external module \"/uxasset/externals/@devsnc/uxf-shared-behaviors/28.0.9/index.jsdbx\"","webpack:///sn-canvas-core/src/sn-canvas-main/actions/utils/modelessDialogConstants.js","webpack:///sn-canvas-core/src/sn-canvas-main/actions/utils/modelessDialog.helpers.js","webpack:///sn-canvas-core/src/sn-canvas-main/actions/utils/modelessDialog.utils.js","webpack:///sn-canvas-core/src/sn-canvas-main/actions/modelessDialog.action.factory.js","webpack:///sn-canvas-core/src/sn-canvas-main/actions/modelessDialog.actions.js","webpack:///sn-canvas-core/src/sn-canvas-main/sn-canvas-main.js","webpack:///sn-canvas-core/src/sn-canvas-main/sn-canvas-main.util.js","webpack:///sn-canvas-core/src/sn-canvas-main/view.js","webpack:///external module \"/uxasset/externals/@servicenow/library-enhanced-utils/28.0.24/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-focus/28.0.24/index.jsdbx\"","webpack:///sn-canvas-core/src/sn-canvas-screen/sn-canvas-screen.util.js","webpack:///sn-canvas-core/src/sn-canvas-screen/sn-canvas-screen.change.effects.js","webpack:///sn-canvas-core/src/sn-canvas-screen/sn-canvas-screen.effects.js","webpack:///sn-canvas-core/src/sn-canvas-screen/sn-canvas-screen.js","webpack:///sn-canvas-core/src/sn-canvas-screen/behaviors/dirtyStateHandler.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/constants.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/utils.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/i18n.js","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/actionHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/now-input/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///sn-canvas-chrome/src/components/sn-canvas-login/sn-canvas-login.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-layout/sn-canvas-appshell-layout.view.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-layout/sn-canvas-appshell-layout.effects.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-layout/sn-canvas-appshell-layout.storage.js","webpack:///sn-canvas-core/src/behaviors/experience-switch-behavior/index.js","webpack:///sn-canvas-core/src/utils/experience-caching/index.js","webpack:///sn-canvas-core/src/behaviors/experience-data-behavior/index.js","webpack:///sn-canvas-core/src/behaviors/experience-data-behavior/utils.js","webpack:///sn-canvas-core/src/behaviors/user-consent-behaviour/util.js","webpack:///sn-canvas-core/src/behaviors/user-consent-behaviour/index.js","webpack:///sn-canvas-core/src/behaviors/global-navigation-behavior/global-navigation.util.js","webpack:///sn-canvas-core/src/behaviors/global-navigation-behavior/global-navigation.storage.js","webpack:///sn-canvas-core/src/behaviors/global-navigation-behavior/global-navigation.effects.js","webpack:///sn-canvas-core/src/behaviors/global-navigation-behavior/index.js","webpack:///sn-canvas-core/src/behaviors/api-prefetch-behavior/index.js","webpack:///sn-canvas-core/src/behaviors/api-prefetch-behavior/utils.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-layout/sn-canvas-appshell-layout.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-main/sn-canvas-appshell-main.view.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-main/sn-canvas-appshell-main.effects.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-main/utils/sn-canvas-appshell-main.utils.js","webpack:///sn-canvas-core/src/sn-canvas-appshell-main/sn-canvas-appshell-main.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.view.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.utils.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/utils/setContextInPayload.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/interceptors/experienceDataAugmentationInterceptor.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.effects.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.experienceLoader.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.js","webpack:///sn-canvas-core/src/sn-canvas-experience-shell/sn-canvas-experience-shell.dirtyHandler.js","webpack:///sn-canvas-core/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-modal-content-wrapper{position:relative;width:100%}.now-modal-content-wrapper.now-has-overlay{opacity:.5;pointer-events:none}.now-modal-content-wrapper .now-loader-container{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:4001}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-appshell-main{inset:0;overflow-y:hidden;position:absolute}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-experience-shell{height:100%;overflow-y:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-layout{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-main{height:100%}.sn-canvas-main>now-alert-list{left:50%;max-width:calc(100vw - 60%);min-width:250px;position:relative;transform:translate(-50%);width:90%;z-index:1000}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sn-canvas-screen{height:100%;position:relative}.sn-canvas-default403,.sn-canvas-default404{align-items:center;display:flex;flex-direction:column;height:100%;margin:20px auto;position:relative;width:now-fn-px2rem(500px)}.blocked-loader{align-items:center;background-color:RGB(var(--now-color_background--primary,255,255,255));display:flex;height:100%;justify-content:center;left:0;opacity:1;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:50}.removing-block-loader{opacity:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-canvas-login.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-appshell-layout.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-appshell-main.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-experience-shell.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-layout.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-main.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_sn-canvas-screen.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (-1 !== e.indexOf(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"componentModes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'componentModes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].componentModes;\n\t\t\t\t\t} else if ('componentModes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.componentModes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].componentModes;\n\t\t\t\t}, [\"createContext\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createContext;\n\t\t\t\t\t} else if ('createContext' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createContext || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createContext;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t}, [\"getComponentById\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'getComponentById' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].getComponentById;\n\t\t\t\t\t} else if ('getComponentById' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.getComponentById || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].getComponentById;\n\t\t\t\t}, [\"modifierTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t\t} else if ('modifierTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.modifierTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].modifierTypes;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t}, [\"snabbdom\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t\t} else if ('snabbdom' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.snabbdom || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].snabbdom;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].has;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isEqual;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNil;\n\t\t\t\t}, [\"isNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNumber;\n\t\t\t\t\t} else if ('isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.isNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].isNumber;\n\t\t\t\t}, [\"mergeWith\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'mergeWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].mergeWith;\n\t\t\t\t\t} else if ('mergeWith' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.mergeWith || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].mergeWith;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_0_index_jsdbx_0d966147__[\"default\"].set;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"setApplication\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.__esModule\n\t\t\t\t\tif (cjsModule && 'setApplication' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setApplication;\n\t\t\t\t\t} else if ('setApplication' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.setApplication || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setApplication;\n\t\t\t\t}, [\"setConfigValue\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.__esModule\n\t\t\t\t\tif (cjsModule && 'setConfigValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setConfigValue;\n\t\t\t\t\t} else if ('setConfigValue' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.setConfigValue || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setConfigValue;\n\t\t\t\t}, [\"setPage\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.__esModule\n\t\t\t\t\tif (cjsModule && 'setPage' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setPage;\n\t\t\t\t\t} else if ('setPage' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__.setPage || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_analytics_integrator_index_jsdbx_0e9c3339__[\"default\"].setPage;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t\t} else if ('createInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.createInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].createInteractionId;\n\t\t\t\t}, [\"defineMetric\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t\t} else if ('defineMetric' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.defineMetric || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].defineMetric;\n\t\t\t\t}, [\"getInteractionId\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t\t} else if ('getInteractionId' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getInteractionId || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getInteractionId;\n\t\t\t\t}, [\"getMetricTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getMetricTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getMetricTypes;\n\t\t\t\t\t} else if ('getMetricTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.getMetricTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].getMetricTypes;\n\t\t\t\t}, [\"mark\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.__esModule\n\t\t\t\t\tif (cjsModule && 'mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t\t} else if ('mark' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__.mark || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_metrics_index_jsdbx_a3ad35c5__[\"default\"].mark;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"difference\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t\t} else if ('difference' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.difference || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].difference;\n\t\t\t\t}, [\"find\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t\t} else if ('find' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.find || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].find;\n\t\t\t\t}, [\"get\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t\t} else if ('get' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.get || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].get;\n\t\t\t\t}, [\"has\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t\t} else if ('has' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.has || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].has;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isEqual;\n\t\t\t\t}, [\"isFunction\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t\t} else if ('isFunction' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isFunction || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isFunction;\n\t\t\t\t}, [\"isNil\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t\t} else if ('isNil' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNil || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNil;\n\t\t\t\t}, [\"isNumber\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t\t} else if ('isNumber' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.isNumber || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].isNumber;\n\t\t\t\t}, [\"kebabCase\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'kebabCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].kebabCase;\n\t\t\t\t\t} else if ('kebabCase' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.kebabCase || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].kebabCase;\n\t\t\t\t}, [\"omit\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t\t} else if ('omit' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.omit || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].omit;\n\t\t\t\t}, [\"pick\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t\t} else if ('pick' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.pick || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].pick;\n\t\t\t\t}, [\"reduce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t\t} else if ('reduce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.reduce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].reduce;\n\t\t\t\t}, [\"set\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t\t} else if ('set' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.set || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].set;\n\t\t\t\t}, [\"size\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.__esModule\n\t\t\t\t\tif (cjsModule && 'size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t\t} else if ('size' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__.size || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_17_21_index_jsdbx_74640ec9__[\"default\"].size;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"PERSIST_STATE_CONSTANTS\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'PERSIST_STATE_CONSTANTS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].PERSIST_STATE_CONSTANTS;\n\t\t\t\t\t} else if ('PERSIST_STATE_CONSTANTS' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.PERSIST_STATE_CONSTANTS || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].PERSIST_STATE_CONSTANTS;\n\t\t\t\t}, [\"calculateNewScreenStatusPayloads\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'calculateNewScreenStatusPayloads' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].calculateNewScreenStatusPayloads;\n\t\t\t\t\t} else if ('calculateNewScreenStatusPayloads' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.calculateNewScreenStatusPayloads || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].calculateNewScreenStatusPayloads;\n\t\t\t\t}, [\"canCreateMoreScreen\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'canCreateMoreScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].canCreateMoreScreen;\n\t\t\t\t\t} else if ('canCreateMoreScreen' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.canCreateMoreScreen || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].canCreateMoreScreen;\n\t\t\t\t}, [\"constructRouterConfig\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'constructRouterConfig' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].constructRouterConfig;\n\t\t\t\t\t} else if ('constructRouterConfig' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.constructRouterConfig || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].constructRouterConfig;\n\t\t\t\t}, [\"createBrowserTabTitle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'createBrowserTabTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].createBrowserTabTitle;\n\t\t\t\t\t} else if ('createBrowserTabTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.createBrowserTabTitle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].createBrowserTabTitle;\n\t\t\t\t}, [\"decodeURL\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'decodeURL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].decodeURL;\n\t\t\t\t\t} else if ('decodeURL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.decodeURL || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].decodeURL;\n\t\t\t\t}, [\"deepSearchAllElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchAllElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].deepSearchAllElement;\n\t\t\t\t\t} else if ('deepSearchAllElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.deepSearchAllElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].deepSearchAllElement;\n\t\t\t\t}, [\"deepSearchElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].deepSearchElement;\n\t\t\t\t\t} else if ('deepSearchElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.deepSearchElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].deepSearchElement;\n\t\t\t\t}, [\"encodeURL\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'encodeURL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].encodeURL;\n\t\t\t\t\t} else if ('encodeURL' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.encodeURL || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].encodeURL;\n\t\t\t\t}, [\"generateScreenKey\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'generateScreenKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].generateScreenKey;\n\t\t\t\t\t} else if ('generateScreenKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.generateScreenKey || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].generateScreenKey;\n\t\t\t\t}, [\"getExperienceRouteConfigs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getExperienceRouteConfigs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getExperienceRouteConfigs;\n\t\t\t\t\t} else if ('getExperienceRouteConfigs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getExperienceRouteConfigs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getExperienceRouteConfigs;\n\t\t\t\t}, [\"getFilteredParams\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFilteredParams' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getFilteredParams;\n\t\t\t\t\t} else if ('getFilteredParams' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getFilteredParams || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getFilteredParams;\n\t\t\t\t}, [\"getGlobal\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getGlobal' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getGlobal;\n\t\t\t\t\t} else if ('getGlobal' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getGlobal || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getGlobal;\n\t\t\t\t}, [\"getInteropDependentRoute\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteropDependentRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getInteropDependentRoute;\n\t\t\t\t\t} else if ('getInteropDependentRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getInteropDependentRoute || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getInteropDependentRoute;\n\t\t\t\t}, [\"getInteropRoute\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteropRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getInteropRoute;\n\t\t\t\t\t} else if ('getInteropRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getInteropRoute || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getInteropRoute;\n\t\t\t\t}, [\"getInteropTypeFieldGroupsMap\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getInteropTypeFieldGroupsMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getInteropTypeFieldGroupsMap;\n\t\t\t\t\t} else if ('getInteropTypeFieldGroupsMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getInteropTypeFieldGroupsMap || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getInteropTypeFieldGroupsMap;\n\t\t\t\t}, [\"getLandingPath\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getLandingPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getLandingPath;\n\t\t\t\t\t} else if ('getLandingPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getLandingPath || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getLandingPath;\n\t\t\t\t}, [\"getLocation\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getLocation' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getLocation;\n\t\t\t\t\t} else if ('getLocation' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getLocation || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getLocation;\n\t\t\t\t}, [\"getParametersFromPath\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getParametersFromPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getParametersFromPath;\n\t\t\t\t\t} else if ('getParametersFromPath' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getParametersFromPath || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getParametersFromPath;\n\t\t\t\t}, [\"getRequestedExperienceConfigs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getRequestedExperienceConfigs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getRequestedExperienceConfigs;\n\t\t\t\t\t} else if ('getRequestedExperienceConfigs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getRequestedExperienceConfigs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getRequestedExperienceConfigs;\n\t\t\t\t}, [\"getRoute\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getRoute;\n\t\t\t\t\t} else if ('getRoute' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getRoute || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getRoute;\n\t\t\t\t}, [\"getScreenKey\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getScreenKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getScreenKey;\n\t\t\t\t\t} else if ('getScreenKey' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getScreenKey || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getScreenKey;\n\t\t\t\t}, [\"getSelectedContentFromUrl\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getSelectedContentFromUrl' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getSelectedContentFromUrl;\n\t\t\t\t\t} else if ('getSelectedContentFromUrl' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getSelectedContentFromUrl || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getSelectedContentFromUrl;\n\t\t\t\t}, [\"getTinyIdForParams\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getTinyIdForParams' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getTinyIdForParams;\n\t\t\t\t\t} else if ('getTinyIdForParams' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getTinyIdForParams || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getTinyIdForParams;\n\t\t\t\t}, [\"getTypeFieldGroupsMap\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getTypeFieldGroupsMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getTypeFieldGroupsMap;\n\t\t\t\t\t} else if ('getTypeFieldGroupsMap' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getTypeFieldGroupsMap || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getTypeFieldGroupsMap;\n\t\t\t\t}, [\"getUnifiedCacheInstance\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'getUnifiedCacheInstance' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getUnifiedCacheInstance;\n\t\t\t\t\t} else if ('getUnifiedCacheInstance' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.getUnifiedCacheInstance || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].getUnifiedCacheInstance;\n\t\t\t\t}, [\"hydrateTinyUrlCache\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'hydrateTinyUrlCache' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].hydrateTinyUrlCache;\n\t\t\t\t\t} else if ('hydrateTinyUrlCache' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.hydrateTinyUrlCache || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].hydrateTinyUrlCache;\n\t\t\t\t}, [\"initKarunaBridge\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'initKarunaBridge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].initKarunaBridge;\n\t\t\t\t\t} else if ('initKarunaBridge' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.initKarunaBridge || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].initKarunaBridge;\n\t\t\t\t}, [\"interopContextRegex\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'interopContextRegex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].interopContextRegex;\n\t\t\t\t\t} else if ('interopContextRegex' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.interopContextRegex || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].interopContextRegex;\n\t\t\t\t}, [\"isCompleteExperienceConfigs\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'isCompleteExperienceConfigs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].isCompleteExperienceConfigs;\n\t\t\t\t\t} else if ('isCompleteExperienceConfigs' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.isCompleteExperienceConfigs || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].isCompleteExperienceConfigs;\n\t\t\t\t}, [\"isKarunaMode\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'isKarunaMode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].isKarunaMode;\n\t\t\t\t\t} else if ('isKarunaMode' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.isKarunaMode || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].isKarunaMode;\n\t\t\t\t}, [\"isSupportedExperience\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'isSupportedExperience' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].isSupportedExperience;\n\t\t\t\t\t} else if ('isSupportedExperience' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.isSupportedExperience || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].isSupportedExperience;\n\t\t\t\t}, [\"notifyNavigationChange\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'notifyNavigationChange' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].notifyNavigationChange;\n\t\t\t\t\t} else if ('notifyNavigationChange' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.notifyNavigationChange || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].notifyNavigationChange;\n\t\t\t\t}, [\"notifyRouteChange\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'notifyRouteChange' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].notifyRouteChange;\n\t\t\t\t\t} else if ('notifyRouteChange' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.notifyRouteChange || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].notifyRouteChange;\n\t\t\t\t}, [\"nowTitle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'nowTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].nowTitle;\n\t\t\t\t\t} else if ('nowTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.nowTitle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].nowTitle;\n\t\t\t\t}, [\"renderSkipBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].renderSkipBehavior;\n\t\t\t\t\t} else if ('renderSkipBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.renderSkipBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].renderSkipBehavior;\n\t\t\t\t}, [\"saveTinyUrlCache\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'saveTinyUrlCache' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].saveTinyUrlCache;\n\t\t\t\t\t} else if ('saveTinyUrlCache' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.saveTinyUrlCache || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].saveTinyUrlCache;\n\t\t\t\t}, [\"setActiveRouterConfig\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'setActiveRouterConfig' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setActiveRouterConfig;\n\t\t\t\t\t} else if ('setActiveRouterConfig' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.setActiveRouterConfig || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setActiveRouterConfig;\n\t\t\t\t}, [\"setBrowserTabTitle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'setBrowserTabTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setBrowserTabTitle;\n\t\t\t\t\t} else if ('setBrowserTabTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.setBrowserTabTitle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setBrowserTabTitle;\n\t\t\t\t}, [\"setPageTitle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'setPageTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setPageTitle;\n\t\t\t\t\t} else if ('setPageTitle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.setPageTitle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setPageTitle;\n\t\t\t\t}, [\"setTinyIdForParams\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.__esModule\n\t\t\t\t\tif (cjsModule && 'setTinyIdForParams' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setTinyIdForParams;\n\t\t\t\t\t} else if ('setTinyIdForParams' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__.setTinyIdForParams || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_common_29_2_17_index_jsdbx_41f902eb__[\"default\"].setTinyIdForParams;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import { t } from 'sn-translate';\n\n//constants for router\nexport const SUB_URL = 'sub';\nexport const PARAMS_DIVIDER = 'params';\nexport const QUERY_PARAMS_DIVIDER = '?';\nexport const URL_CONTENT_LOADED = 'URL_CONTENT_LOADED';\nexport const CURRENT_ROUTE = 'current';\nexport const PERSISTED_STATE_PARAM = '__state__';\n\nexport const COMPONENT_ID = 'component-id';\n\n//Component Names\nexport const SN_CANVAS_CLIENT = 'sn-canvas-client';\nexport const SN_CANVAS_ROUTER = 'sn-canvas-router';\nexport const SN_CANVAS_LAYOUT = 'sn-canvas-layout';\nexport const SN_CANVAS_MAIN = 'sn-canvas-main';\nexport const SN_CANVAS_SCREEN = 'sn-canvas-screen';\nexport const SN_CANVAS_MODAL_HOIST = 'sn-canvas-modal-hoist';\nexport const SN_CANVAS_EXPERIENCE_SHELL = 'sn-canvas-experience-shell';\nexport const SN_CANVAS_APPSHELL_LAYOUT = 'sn-canvas-appshell-layout';\nexport const SN_CANVAS_APPSHELL_MAIN = 'sn-canvas-appshell-main';\n\n// Actions\nexport const CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED =\n\t'CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED';\n\nexport const SCREEN_DATA_CHANGED = 'SCREEN_DATA_CHANGED';\nexport const MAIN_SELECTED_CONTENT_CHANGED = 'MAIN_SELECTED_CONTENT_CHANGED';\n\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const MODAL_CLOSED_INTERNAL = 'UXR_INTERNAL#MODAL_CLOSED';\nexport const MODAL_OPENED_INTERNAL = 'UXR_INTERNAL#MODAL_OPENED';\nexport const MODAL_CLOSED = 'CANVAS_MODAL#CLOSED';\nexport const MODAL_OPENED = 'CANVAS_MODAL#OPENED';\n\nexport const ACTIVE_SCREEN_RENDERED = 'ACTIVE_SCREEN_RENDERED';\nexport const CONTENT_SCREENS_DISCARDED = 'CONTENT_SCREENS_DISCARDED';\nexport const CONTENT_ITEMS_SELECTED = 'CONTENT_ITEMS_SELECTED';\nexport const SCREEN_STATUS_CHANGED = 'SCREEN_STATUS_CHANGED';\nexport const SCREEN_TITLES_REGISTRATION_REQUESTED =\n\t'SCREEN_TITLES_REGISTRATION_REQUESTED';\n\n// Window Manager\nexport const UXF_WM_SCREEN_SELECTED = 'UXF#WM_SCREEN_SELECTED';\n\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const UXR_INTERNAL_BACK_BUTTON_NAVIGATION =\n\t'UXR_INTERNAL#BACK_BUTTON_NAVIGATION';\nexport const CONTENT_UPDATED = 'CONTENT_UPDATED';\nexport const CANVAS_COMPONENT_CONNECTED =\n\t'UXR_INTERNAL#CANVAS_COMPONENT_CONNECTED';\nexport const SCREEN_BLOCK_LOADING_END_REQUESTED =\n\t'UXR_INTERNAL#SCREEN_BLOCK_LOADING_END_REQUESTED';\nexport const SCREEN_DEFAULT_BLOCK_LOADING_TIMEOUT = 5;\n\nexport const EXPERIENCE_STATUS_CHANGED = 'EXPERIENCE_STATUS_CHANGED';\nexport const EXPERIENCE_SCREENS_UPDATED =\n\t'UXR_INTERNAL#EXPERIENCE_SCREENS_UPDATED';\nexport const USER_PREF_SOURCE_UPDATED = 'UXR_INTERNAL#USER_PREF_SOURCE_UPDATED';\n\nexport const EXPERIENCE_SWITCH_BEHAVIOR = 'EXPERIENCE_SWITCH_BEHAVIOR';\nexport const EXPERIENCE_DATA_BEHAVIOR = 'EXPERIENCE_DATA_BEHAVIOR';\n\nexport const GLOBAL_NAVIGATION_BEHAVIOR = 'GLOBAL_NAVIGATION_BEHAVIOR';\nexport const LAYOUT_PROP_RESET_REQUESTED =\n\t'UXR_INTERNAL#LAYOUT_PROP_RESET_REQUESTED';\n\nexport const DIALOG_CLOSE_REQUESTED = 'UXF#DIALOG_CLOSE_REQUESTED';\nexport const DIALOG_CLOSE_CONFIRMED = 'DIALOG_CLOSE_CONFIRMED';\nexport const DIALOG_CLOSE_CANCELED = 'DIALOG_CLOSE_CANCELED';\nexport const DIALOG_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\n\nexport const CLOSE_DIALOG = t('Close Dialog');\nexport const WARNING_MESSAGE = t(\n\t'Closing this dialog will cause your changes to be lost. Do you want to continue?',\n);\n\n//Canvas Experience LifeCycle\nexport const CANVAS_EXPERIENCE_SWITCH_REQUESTED =\n\t'CANVAS_EXPERIENCE_SWITCH_REQUESTED';\nexport const CANVAS_EXPERIENCE_LOAD_REQUESTED =\n\t'CANVAS_EXPERIENCE_LOAD_REQUESTED';\nexport const CANVAS_EXPERIENCE_CONFIG_CHANGED =\n\t'CANVAS_EXPERIENCE_CONFIG_CHANGED';\n\nexport const CANVAS_EXPERIENCE_SWITCH_INITIATED =\n\t'CANVAS_EXPERIENCE_SWITCH_INITIATED';\nexport const CANVAS_EXPERIENCE_LOAD_INITIATED =\n\t'CANVAS_EXPERIENCE_LOAD_INITIATED';\n\nexport const CANVAS_EXPERIENCE_LOADED = 'CANVAS_EXPERIENCE_LOADED';\nexport const CANVAS_EXPERIENCE_SWITCHED = 'CANVAS_EXPERIENCE_SWITCHED';\n\n//Canvas Screen LifeCycle\nexport const CANVAS_SCREEN_LOAD_INITIATED = 'CANVAS_SCREEN_LOAD_INITIATED';\nexport const CANVAS_SCREEN_SWITCH_INITIATED = 'CANVAS_SCREEN_SWITCH_INITIATED';\n\nexport const CANVAS_SCREEN_LOADED = 'CANVAS_SCREEN_LOADED';\nexport const CANVAS_SCREEN_SWITCHED = 'CANVAS_SCREEN_SWITCHED';\n\nexport const CANVAS_PARENT_SCREEN_LOAD_REQUESTED =\n\t'CANVAS_PARENT_SCREEN_LOAD_REQUESTED';\n\nexport const NOW_EXPERIENCE_SWITCH_REQUESTED =\n\t'NOW_EXPERIENCE_SWITCH_REQUESTED';\n\nexport const NOW_EXPERIENCE_SWITCH_INITIATED =\n\t'NOW_EXPERIENCE_SWITCH_INITIATED';\nexport const NOW_EXPERIENCE_LOAD_INITIATED = 'NOW_EXPERIENCE_LOAD_INITIATED';\n\nexport const NOW_EXPERIENCE_LOADED = 'NOW_EXPERIENCE_LOADED';\nexport const NOW_EXPERIENCE_SWITCHED = 'NOW_EXPERIENCE_SWITCHED';\n\nexport const NOW_EXPERIENCE_PAGE_LOADED = 'NOW_EXPERIENCE_PAGE_LOADED';\nexport const NOW_EXPERIENCE_PAGE_SWITCHED = 'NOW_EXPERIENCE_PAGE_SWITCHED';\n\nexport const NOW_EXPERIENCE_PAGE_LOAD_INITIATED =\n\t'NOW_EXPERIENCE_PAGE_LOAD_INITIATED';\nexport const NOW_EXPERIENCE_PAGE_SWITCH_INITIATED =\n\t'NOW_EXPERIENCE_PAGE_SWITCH_INITIATED';\n\nexport const GLOBAL_NAVIGATION_REQUESTED = 'GLOBAL_NAVIGATION_REQUESTED';\nexport const EXPERIENCE_ONLY = 'EXPERIENCE_ONLY';\n\n// NOW Actions\nexport const NOW_MODAL_OPENED_SET = 'NOW_MODAL#OPENED_SET';\nexport const NOW_UXF_BARE_MODAL_DISMISSED = 'NOW_UXF_BARE_MODAL#DISMISSED';\nexport const NOW_UXF_BARE_MODAL_RESIZED = 'NOW_UXF_BARE_MODAL#RESIZED';\n\n// Seismic\nexport const PROPERTIES_SET = 'PROPERTIES_SET';\n\n//properties\nexport const USER_PREF_PROPERTY = 'userPrefs';\nexport const ROOT_SELECTED_NAV_ITEM = 'rootSelectedNavItem';\nexport const ROOT_CONTENT_UPDATED = 'rootContentUpdated';\nexport const SCREEN_DATA = 'screenData';\nexport const ACTIVE_EXPERIENCE = 'activeExperience';\nexport const ROOT_PERSISTED_STATE = 'rootPersistedState';\nexport const CONFIRM_POP_STATE_NAVIGATION = 'confirmPopStateNavigation';\n\n//Selectable Properties\nexport const CHANGED_USER_PREF_PROP_BEHAVIOR =\n\t'CHANGED_USER_PREF_PROP_BEHAVIOR';\nexport const ROUTER_CONFIG_PROP_BEHAVIOR = 'ROUTER_CONFIG_PROP_BEHAVIOR';\nexport const SELECTED_CONTENT_PROP_BEHAVIOR = 'SELECTED_CONTENT_PROP_BEHAVIOR';\nexport const ROOT_SELECTED_PROP_BEHAVIOR = 'ROOT_SELECTED_PROP_BEHAVIOR';\nexport const SCREENS_DATA_BEHAVIOR = 'SCREENS_DATA_BEHAVIOR';\nexport const ROOT_MODAL_PROP_BEHAVIOR = 'ROOT_MODAL_PROP_BEHAVIOR';\n\n//'NOW_LOGIN#SUCCEEDED'\nexport const NOW_LOGIN_SUCCESS = 'NOW_LOGIN#SUCCEEDED';\n\nexport const UNDEFINED_FIELD_VALUE = '~~undefined~~';\n\n// Polaris SCREEN_CLOSED action\nexport const DIRTY_SCREEN_CLOSE_CONFIRMED = 'DIRTY_SCREEN_CLOSE_CONFIRMED';\n\n// Prefetch UXF Action\nexport const PREFETCH_RESOURCE_EVENT =\n\t'__DO_NOT_USE__UXF_INTERNAL#PREFETCH_RESOURCE';\nexport const RECORD_ROUTE_NAME = 'record';\nexport const FORM_RESOURCE_NAME = 'FORM';\n\n// AppSee marks\nexport const EXPERIENCE_START = 'EXPERIENCE_START';\nexport const USER_NAVIGATE = 'USER_NAVIGATE';\nexport const PAGE_TITLE_UPDATE_REQUESTED = 'PAGE_TITLE_UPDATE_REQUESTED';\nexport const UXF_INTEROP_ROUTE_RESOLVED = 'Serve Interoperable Route';\n\n// UXF performance Marks\nexport const UXF_USER_BROWSER_NAV_START = 'UXF_USER_BROWSER_NAV_START';\nexport const UXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED =\n\t'UXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED';\nexport const UXF_INTERRUPTION_MOUSEDOWN = 'UXF_INTERRUPTION_MOUSEDOWN';\nexport const UXF_INTERRUPTION_KEYDOWN = 'UXF_INTERRUPTION_KEYDOWN';\nexport const UXF_USER_NAV_LOAD_START = 'UXF_USER_NAV_LOAD_START';\n\n// Error messages & route config\nconst MESSAGE_403 = t('You do not have permissions to access this page');\nconst MESSAGE_404 = t('The page you are looking for could not be found');\n\nexport const ERROR_MESSAGES = {\n\t403: MESSAGE_403,\n\t404: MESSAGE_404,\n};\nexport const SUPPORTED_ERRORS = Object.freeze(Object.keys(ERROR_MESSAGES));\n\nexport const EXPERIENCE_CONFIGS = 'ux_globals.experienceConfigs';\nexport const ROUTE_CONFIG = () => {\n\t// eslint-disable-next-line no-undef\n\tconst SITENAME = `${ux_globals.siteName}`;\n\tconst ROUTE_CONFIG_PATH = `${EXPERIENCE_CONFIGS}[${SITENAME}][appRouteConfiguration]`;\n\tconst ROUTE_CONFIG_OBJ = {\n\t\tAUTH_ROUTES: `${ROUTE_CONFIG_PATH}.authRoutes`,\n\t\tROUTES: `${ROUTE_CONFIG_PATH}.routes`,\n\t\tFORWARDED_ROUTES: `${ROUTE_CONFIG_PATH}.forwardedRoutes`,\n\t\tPREFETCH_LIMITS: `${ROUTE_CONFIG_PATH}.prefetchLimits`,\n\t};\n\treturn ROUTE_CONFIG_OBJ;\n};\n\nexport const META_PROP_REFLOW_DISABLED = 'nowUxfReflowDisabled';\nexport const REFLOW_DISABLED_APP_CONFIG = 'nowUxfReflowDisabledAppConfig';\nexport const REFLOW_DISABLED_SCREEN = 'nowUxfReflowDisabledScreen';\n\nexport const NOW_MODELESS_DIALOG_MOUSE_DOWN = 'NOW_MODELESS_DIALOG#MOUSEDOWN';\nexport const NOW_MODELESS_DIALOG_MAXIMIZE = 'NOW_MODELESS_DIALOG#MAXIMIZE';\nexport const NOW_MODELESS_CHECK_FIT = 'PRIVATE#CHECK_FIT';\nexport const NOW_MODELESS_DIALOG_MINIMIZE = 'NOW_MODELESS_DIALOG#MINIMIZE';\nexport const UXF_DIALOG_OPENED = 'UXF#DIALOG_OPENED';\nexport const SN_WINDOW_CLOSED = 'SN_WINDOW#WINDOW_CLOSED';\nexport const SN_HIDE_DIALOG = 'SN_WINDOW#WINDOW_MINIMIZED';\n\nexport const MINIMIZED_MODELESS_DIALOG_DROPDOWN =\n\t'sn-uibtk-minimized-dialogs-dropdown';\nexport const USER_CONSENT_BEHAVIOR = 'USER_CONSENT_BEHAVIOR';\nexport const UCM_DIALOG_CLOSED = 'UXR_UCM_DIALOG_CLOSED';\n\nexport const META_PROP_NAME_PERSISTED_STATE = 'nowUxfPersistedState';\nexport const META_PROP_NAME_PERSISTED_STATE_TINY_URL_REQUESTED =\n\t'nowUxfPersistedStateTinyUrlRequested';\n\nexport const IS_COMPONENT_IN_VIEW = 'isComponentInView';\nexport const NOW_MODE_ACTIVE = 'active';\n\nexport const THEME_FULL_PAGE_LOADER_SUFFIX = 'page-loader-default--url';\nexport const DEFAULT_FULL_PAGE_LOADER_LINK =\n\t'images/@servicenow/now-loader/custom-default-spinner-lg-254x80/index.json';\n\nexport const INTEROP_SCREEN_IDLE = 'UXR_INTERNAL#INTEROP_SCREEN_IDLE';\n\nexport const SCREEN_INTERACTION_ID_UPDATE_REQUESTED =\n\t'UXR_INTERNAL#SCREEN_INTERACTION_ID_UPDATE_REQUESTED';\n\nexport const UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS =\n\t'UXR_INTERNAL#UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS';\n//This event is used to handle the hoisted content for the current record when the MCP renders and the hoistedContent is stamped.\nexport const HOISTED_CONTENT_SOURCE_RENDERED =\n\t'UXF_INTERNAL#HOISTED_CONTENT_SOURCE_RENDERED';\n// this event is used to notify the appshell team that the hoisted content has been updated\nexport const HOISTED_CONTENT_UPDATED = 'UXF#HOISTED_CONTENT_UPDATED';\n// this event is used when the screen is switched or loaded to update the hoisted content\nexport const HOISTED_CONTENT_SCREEN_UPDATED =\n\t'UXF_INTERNAL#HOISTED_CONTENT_SCREEN_UPDATED';\nexport const SCREEN_STATUS_ACTION_CLOSE_IF_CLEAN = 'attempt_close_if_clean';\n\nexport const RESOLVE_STAGED_NOTIFICATIONS =\n\t'SN_CANVAS_LAYOUT#RESOLVE_STAGED_NOTIFICATIONS';\nexport const NOW_UXF_PAGE_ADD_NOTIFICATIONS = 'NOW_UXF_PAGE#ADD_NOTIFICATIONS';\nexport const SCREEN_CLOSE_STATUS_CANCELLED = 'cancelled';\nexport const SCREEN_CLOSE_STATUS_CONFIRMED = 'confirmed';\n\n//tinyurl constants\nexport const UXR_TINY_KEY = '__tinyId__';\nexport const SYS_TINY_KEY = 'sysparm_tiny';\nexport const ERROR_PREFIX = '[TinyURL]';\nexport const TINY_URL_API_ENDPOINT = '/api/now/tinyurl';\n\nexport const FOCUS_DELAY = 0;\nexport const COMPONENT_ID_ATTR = 'component-id';\n","import { isEmpty, get } from 'lodash';\n\nimport {\n\tgetRequestedExperienceConfigs,\n\tisCompleteExperienceConfigs,\n\tsetActiveRouterConfig as setCommonRouterConfig,\n\tconstructRouterConfig,\n} from 'sn-canvas-common';\n\nimport { CANVAS_EXPERIENCE_CONFIG_CHANGED } from '../constants/constants';\n\nlet routerConfig;\n\nconst defaultConfig = {\n\terrorPages: {},\n\tsiteName: 'now/uxf/demo',\n\tlandingPath: 'home',\n\tcontext: {\n\t\tpath: null,\n\t},\n\troutes: {\n\t\trecord: [\n\t\t\t{\n\t\t\t\tmacroponentSysId: '0b89c7515b310010b913cbd59b81c75a',\n\t\t\t\toptionalParameters: ['selectedTabIndex', 'tabId', 'chatId'],\n\t\t\t\tmacroponentConfiguration: {},\n\t\t\t\tfields: ['table', 'sys_id'],\n\t\t\t},\n\t\t],\n\t\thome: [\n\t\t\t{\n\t\t\t\tmacroponentSysId: '23210f8e230500100e4bc50947bf6551',\n\t\t\t\toptionalParameters: [],\n\t\t\t\tmacroponentConfiguration: {},\n\t\t\t\tfields: [],\n\t\t\t},\n\t\t],\n\t\tlist: [\n\t\t\t{\n\t\t\t\tmacroponentSysId: '23210f8e230500100e4bc50947bf6551',\n\t\t\t\toptionalParameters: ['listId'],\n\t\t\t\tmacroponentConfiguration: {},\n\t\t\t\tfields: [],\n\t\t\t},\n\t\t],\n\t\tpage: [\n\t\t\t{\n\t\t\t\tmacroponentSysId: '23210f8e230500100e4bc50947bf6551',\n\t\t\t\toptionalParameters: ['listId'],\n\t\t\t\tmacroponentConfiguration: {},\n\t\t\t\tfields: ['page_id'],\n\t\t\t},\n\t\t],\n\t},\n};\n\nconst _transformRouterConfigProp = (routerConfigData) => ({\n\tlandingPath: get(routerConfigData, 'landingPath', ''),\n\tqueryParams: get(routerConfigData, 'encodeQueryString', false),\n\troutes: get(routerConfigData, 'routes', {}),\n\tinteroperableRoutes: get(routerConfigData, 'interoperableRoutes', {}),\n\tdependentRoutes: get(routerConfigData, 'dependentRoutes', {}),\n\texperienceRouteConfigs: get(\n\t\trouterConfigData,\n\t\t'experienceRouteConfigs',\n\t\tnull,\n\t),\n\trouteTypeFieldGroupsMap: get(\n\t\trouterConfigData,\n\t\t'routeTypeFieldGroupsMap',\n\t\tnull,\n\t),\n\trouteTypeFieldGroupsMapInterop: get(\n\t\trouterConfigData,\n\t\t'routeTypeFieldGroupsMapInterop',\n\t\tnull,\n\t),\n});\n\nexport const initConfig = (config) => {\n\trouterConfig =\n\t\t!config || isEmpty(config)\n\t\t\t? defaultConfig\n\t\t\t: _transformRouterConfigProp(config);\n\tsetCommonRouterConfig(routerConfig);\n};\n\nexport const getLandingPath = () => routerConfig.landingPath;\nexport const queryParamsEnabled = () => routerConfig.queryParams;\nexport const getRouterConfig = () => routerConfig;\nexport const getRouteContext = () => routerConfig.context;\nexport const getUXGlobalRouterConfiguration = () => {\n\tconst initPath = get(window, 'ux_globals.siteName', '');\n\tconst EXPERIENCE_CONFIGS = get(window, 'ux_globals.experienceConfigs', {});\n\tconst appRouteConfig =\n\t\tEXPERIENCE_CONFIGS[`${initPath}`]?.['appRouteConfiguration'] || {};\n\treturn constructRouterConfig(appRouteConfig, EXPERIENCE_CONFIGS);\n};\n\n/**\n * Function to determine if the requested experience exists in the experienceRouteConfigs and is in a full state.\n * It's inferred that the requested experience is full if it contains appRouteConfiguration.  If it is determined that the\n * experience is not full then a network request is made using the experienceId to get the remaining data for only that experience.\n * The updateProperties call should only be made if the experience is not full. Assumption is that after API call they will be full.\n * An updated routeConfig object is returned with the newly requested data\n * Added for on demand experienceConfig resolution\n * @param {String} requestedExpKey - the requested experience route key\n * @param {Object} prevRouterConfig - the router config from the coeffect properties\n * @param updateProperties - updateProperties function from the coeffect\n * @returns {Promise<Object>} routerConfig - returns a newly constructed routerConfig object\n */\nexport const getRequestedExperienceRouterConfiguration = async (\n\trequestedExpKey = '',\n\tprevRouterConfig = {},\n\tupdateProperties,\n\tdispatch,\n) => {\n\tconst isFullExpConfigs = isCompleteExperienceConfigs(requestedExpKey);\n\tconst experienceContent = await getRequestedExperienceConfigs([\n\t\trequestedExpKey,\n\t]);\n\tif (!experienceContent) return null;\n\tconst experienceConfigs = {\n\t\t...prevRouterConfig.experienceRouteConfigs,\n\t\t...experienceContent,\n\t};\n\n\twindow.ux_globals.siteName = requestedExpKey;\n\twindow.pageMeta.pageRegistryId =\n\t\texperienceConfigs[requestedExpKey]?.experienceId || '';\n\twindow.pageMeta.pageMacroponentId = '';\n\tconst appRouteConfig =\n\t\texperienceConfigs[`${requestedExpKey}`]?.['appRouteConfiguration'] ||\n\t\t{};\n\tconst constructedRouterConfig = constructRouterConfig(\n\t\tappRouteConfig,\n\t\texperienceConfigs,\n\t);\n\n\tif (!isFullExpConfigs)\n\t\tupdateProperties({ routerConfig: constructedRouterConfig });\n\n\tdispatch(CANVAS_EXPERIENCE_CONFIG_CHANGED);\n\treturn constructedRouterConfig;\n};\n\nexport const getRequestedExperienceRouterConfigurations = async (\n\trequestedExpKeys = [],\n\tprevRouterConfig = {},\n\tupdateProperties,\n) => {\n\tconst experienceContent =\n\t\tawait getRequestedExperienceConfigs(requestedExpKeys);\n\tif (!experienceContent) return null;\n\tconst experienceConfigs = {\n\t\t...prevRouterConfig.experienceRouteConfigs,\n\t\t...experienceContent,\n\t};\n\tconst filteredExpKeys = requestedExpKeys.filter((requestedExpKey) => {\n\t\treturn !!(\n\t\t\texperienceConfigs[`${requestedExpKey}`]?.[\n\t\t\t\t'appRouteConfiguration'\n\t\t\t] || {}\n\t\t);\n\t});\n\n\tlet constructedRouterConfig = {};\n\tfilteredExpKeys.forEach((requestedExpKey) => {\n\t\tconst appRouteConfig =\n\t\t\texperienceConfigs[`${requestedExpKey}`]?.[\n\t\t\t\t'appRouteConfiguration'\n\t\t\t] || {};\n\t\tconstructedRouterConfig[requestedExpKey] = constructRouterConfig(\n\t\t\tappRouteConfig,\n\t\t\texperienceConfigs[requestedExpKey],\n\t\t);\n\t\tconst isFullExpConfigs = isCompleteExperienceConfigs(requestedExpKey);\n\t\tif (!isFullExpConfigs)\n\t\t\tupdateProperties({ routerConfig: constructedRouterConfig });\n\t});\n\treturn constructedRouterConfig;\n};\n\n/**\n * Since the introduction of interoperable routes,\n * there is a need to fetch experienceConfig of other experiences for dependentRoute autodiscovery.\n *\n * Unlike {@link getRequestedExperienceRouterConfiguration},\n * this function will only fetch experienceConfig of the requestedExpKeys,\n * but will not update current appRouteConfig.\n *\n * ie., routerConfig.routeTypeFieldGroupMaps will remain the same as prevRouterConfig.\n * only change would be to routerConfig.experienceRouteConfigs[requestedExpKey]\n *\n * @param {string} requestedExpKey\n * @param prevRouterConfig\n * @param updateProperties\n *\n */\nexport const updateRouterConfigWithUpdatedExperienceConfig = async (\n\trequestedExpKey = '',\n\tprevRouterConfig = {},\n\tupdateProperties,\n) => {\n\tconst experienceContent = await getRequestedExperienceConfigs([\n\t\trequestedExpKey,\n\t]);\n\tif (!experienceContent) return;\n\n\t// if requestExpKey's routeConfig is already calculated, no need to calculate again.\n\tconst providerRouteConfig =\n\t\tprevRouterConfig?.experienceRouteConfigs?.[requestedExpKey];\n\tif (\n\t\t!isEmpty(providerRouteConfig?.routeTypeFieldGroupsMap) ||\n\t\t!isEmpty(providerRouteConfig?.routeTypeFieldGroupsMapInterop)\n\t)\n\t\treturn; // routeTypeFieldGroupsMap or routeTypeFieldGroupsMapInterop being non empty indicates that the routeConfig is already calculated\n\n\tconst currentAppRouteConfig =\n\t\tprevRouterConfig.experienceRouteConfigs[prevRouterConfig.siteName];\n\n\tconst updatedAppRouteConfig = constructRouterConfig(\n\t\tcurrentAppRouteConfig,\n\t\texperienceContent,\n\t);\n\n\tupdateProperties({ routerConfig: updatedAppRouteConfig });\n\n\treturn updatedAppRouteConfig;\n};\n","import { isNumber, isNil } from '@devsnc/snowdash';\n\nlet globalNavigationPosition = 0;\nlet initGlobalNavigationPositionObject = null;\n/**\n * The global navigation position is a global variable\n * that helps store the current position of the navigation.\n *\n * This is used to help us understand if the forward or back\n * button was clicked during pop-state navigation.\n *\n * @returns {Object} An object with methods to set and get the navigation position.\n * @property {Function} setNavigationPosition - Sets the global navigation position.\n * @property {Function} getNavigationPosition - Gets the global navigation position.\n */\nexport const initGlobalNavigationPosition = () => {\n\tif (!isNil(initGlobalNavigationPositionObject))\n\t\treturn initGlobalNavigationPositionObject;\n\n\tinitGlobalNavigationPositionObject = Object.freeze({\n\t\tsetNavigationPosition(position) {\n\t\t\tif (isNumber(position)) {\n\t\t\t\tglobalNavigationPosition = position;\n\t\t\t}\n\t\t},\n\t\tgetNavigationPosition() {\n\t\t\treturn globalNavigationPosition;\n\t\t},\n\t});\n\n\treturn initGlobalNavigationPositionObject;\n};\n","import { get, isNil } from '@devsnc/snowdash';\nimport { getGlobal } from 'sn-canvas-common';\n\n/**\n * Used to filter app config routes with without parentCompositionElementId\n * @param {Object} route\n * @returns {boolean}\n */\nexport const isTopLevelRoute = (route) => !route.parentCompositionElementId;\n\nlet previousExperiencePath = null;\n\n/**\n * Stores the previous experience path to get the correct\n * experience path while under pop-state navigation.\n */\nlet previousExperiencePathObject = null;\nexport const initPreviousExperiencePathOnPopState = () => {\n\tif (!isNil(previousExperiencePathObject))\n\t\treturn previousExperiencePathObject;\n\n\tpreviousExperiencePathObject = Object.freeze({\n\t\tsetPreviousExperiencePath(experiencePath) {\n\t\t\tpreviousExperiencePath = experiencePath || null;\n\t\t},\n\t\tgetPreviousExperiencePath() {\n\t\t\tif (isNil(previousExperiencePath)) {\n\t\t\t\tpreviousExperiencePath = get(\n\t\t\t\t\tgetGlobal().ux_globals,\n\t\t\t\t\t'siteName',\n\t\t\t\t\t'',\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn previousExperiencePath;\n\t\t},\n\t});\n\n\treturn previousExperiencePathObject;\n};\n","import { get, kebabCase, has, size, reduce, isEmpty } from 'lodash';\nimport * as constants from '../constants/constants';\nimport { getLandingPath } from './sn-canvas-router.config';\nimport {\n\tgetTypeFieldGroupsMap,\n\tgetInteropTypeFieldGroupsMap,\n\tgetExperienceRouteConfigs,\n\tgetLocation,\n\tgetGlobal,\n\tgetParametersFromPath,\n\tdecodeURL,\n\tsetPageTitle,\n\tgetScreenKey,\n} from 'sn-canvas-common';\nimport { initGlobalNavigationPosition } from '../utils/globalNavigationPosition';\nimport { initPreviousExperiencePathOnPopState } from '../utils/routeUtils';\n\nexport const BASE_ATTR = 'data-sn-href';\n\n// removes all more than 1 slashes from the path\nfunction sanitizePath(path) {\n\tconst sanitized = path.replace(/\\/+/g, '/');\n\treturn sanitized;\n}\n\nfunction removeTrailingSlash(pathname) {\n\tconst last = pathname.length - 1;\n\treturn pathname.substring(last) === '/'\n\t\t? pathname.substring(0, last)\n\t\t: pathname;\n}\n\nfunction removeFirstSlash(pathname) {\n\treturn pathname.substring(0, 1) === '/' ? pathname.substring(1) : pathname;\n}\n\nfunction trimSlashes(pathname) {\n\treturn removeTrailingSlash(removeFirstSlash(pathname));\n}\n\n/**\n *\n * @param {*} urlPathPart\n * @returns kebabCase of urlPathPart, except for __state__ which is returned as is\n */\nexport const urlCase = (urlPathPart) => {\n\tif (urlPathPart === constants.PERSISTED_STATE_PARAM) return urlPathPart;\n\treturn kebabCase(urlPathPart);\n};\n\nexport const getEncodedPersistedStateForSelectedContent = (\n\tselectedContent,\n\tcoeffects,\n) => {\n\tconst {\n\t\tproperties: { [constants.ROOT_PERSISTED_STATE]: persistedState } = {},\n\t} = coeffects;\n\tconst screenKey = getScreenKey(selectedContent);\n\tconst persistedStateForScreen = get(persistedState, screenKey);\n\treturn persistedStateForScreen;\n};\n\nfunction getPathname(url) {\n\tconst parsed = document.createElement('a');\n\tparsed.href = url;\n\treturn (parsed.pathname || url).replace(/(^\\/?)/, '/');\n}\n\nfunction resolveHref(href) {\n\t//const base = getBasePath();\n\tif (!href.indexOf('/'))\n\t\t// absolute\n\t\treturn `${href}`;\n\n\tconst hrefParts = href.split('/');\n\tconst pathname = trimSlashes(getLocation().pathname);\n\n\tif (hrefParts[0] === '.')\n\t\t// relative, cwd\n\t\treturn `/${pathname}/${hrefParts.slice(1).join('/')}`;\n\tif (hrefParts[0] === '..') {\n\t\t// relative, up\n\t\tconst up = hrefParts.reduce((acc, part) => {\n\t\t\tif (part === '..') acc++;\n\n\t\t\treturn acc;\n\t\t}, 0);\n\n\t\treturn up >= pathname.split('/').length\n\t\t\t? '/'\n\t\t\t: `/${pathname\n\t\t\t\t\t.split('/')\n\t\t\t\t\t.slice(0, up - 1)\n\t\t\t\t\t.join('/')}/${hrefParts.slice(up).join('/')}`;\n\t}\n\n\treturn `/${pathname}/${hrefParts.join('/')}`; // relative, cwd, without a prefix ('.')\n}\n\nfunction push(href) {\n\tconst currentPosition = get(getGlobal().history.state, 'position', 0);\n\tconst globalNavigationObject = initGlobalNavigationPosition();\n\t// MDN recommends we have '' instead of null for the second argument.\n\tgetGlobal().history.pushState({ position: currentPosition + 1 }, '', href);\n\n\t// Updating the global navigation position on navigation.\n\tglobalNavigationObject?.setNavigationPosition(currentPosition + 1);\n}\n\nfunction reloadUrl(url) {\n\tgetLocation().href = resolveHref(url);\n}\n\n/**\n * Check if the confirmPopStateNavigationWhenDirty page property is active/present\n * for the current experience path. If it is, return true; otherwise, return false.\n *\n * @returns {boolean} true if the `confirmPopStateNavigationWhenDirty` page property\n * is active/present for the previous experience path, false otherwise.\n */\nexport function isConfirmPopStateNavigationWhenDirtyActive() {\n\tconst experiencePathObject = initPreviousExperiencePathOnPopState();\n\tconst experiencePath =\n\t\texperiencePathObject?.getPreviousExperiencePath() || '';\n\tif (!isEmpty(experiencePath)) {\n\t\treturn get(\n\t\t\tgetGlobal().ux_globals?.experienceConfigs[experiencePath]\n\t\t\t\t?.pageProperties,\n\t\t\t'confirmPopStateNavigationWhenDirty',\n\t\t\tfalse,\n\t\t);\n\t}\n\n\treturn false;\n}\n\nexport function replace(href) {\n\tconst currentPosition = get(getGlobal().history.state, 'position', 0);\n\tconst globalNavigationObject = initGlobalNavigationPosition();\n\t// MDN recommends we have '' instead of null for the second argument.\n\tgetGlobal().history.replaceState({ position: currentPosition }, '', href);\n\n\t// Updating the global navigation position on navigation.\n\tglobalNavigationObject?.setNavigationPosition(currentPosition);\n}\n\nexport function navigateUrl(\n\turl,\n\ttitle,\n\texperienceName,\n\tshouldReload,\n\tnoTitleUpdateUsingUrl = false,\n) {\n\tif (shouldReload) {\n\t\treloadUrl(url);\n\t\treturn;\n\t}\n\tpush(resolveHref(url));\n\t//trackEvent('navigate', url);\n\tif (noTitleUpdateUsingUrl === false)\n\t\tsetPageTitle(url, title, experienceName);\n}\n\nexport function sanitizeBaseUrl() {\n\tconst { pathname: rawPathname = '' } = getLocation();\n\tconst _pathname = sanitizePath(rawPathname);\n\tif (rawPathname !== _pathname) replace(_pathname);\n\treturn _pathname;\n}\n\nexport function initBaseUrl() {\n\tconst _pathname = sanitizeBaseUrl();\n\tconst base = getBasePath();\n\n\tif (\n\t\t_pathname === '' ||\n\t\t_pathname === '/' ||\n\t\t_pathname === base ||\n\t\t_pathname === base + '/'\n\t) {\n\t\tconst _path = getLandingPath()\n\t\t\t? '/' + trimSlashes(getLandingPath())\n\t\t\t: '';\n\t\treplace(base + _path);\n\t} else if (_pathname.indexOf(base) === -1) {\n\t\tconsole.group('/***** Base and URL mismatch (UXR) *****/');\n\t\tconsole.log('Base element data-sn-href attribute: %s', base);\n\t\tconsole.log('Browser URL is: %s', _pathname);\n\t\tconsole.groupEnd();\n\t}\n}\n\nexport function updateExpBaseUrl(expPath, experienceName) {\n\tconst _expPath = '/' + trimSlashes(expPath);\n\tconst _path = getLandingPath() ? '/' + trimSlashes(getLandingPath()) : '';\n\tpush(_expPath + _path);\n\tsetPageTitle(null, getLandingPath(), experienceName);\n}\n\nexport function redirectUrl(url, title, experienceName, shouldReload) {\n\tif (!url || typeof url != 'string') return;\n\treplace(resolveHref(url));\n\tif (shouldReload) {\n\t\treloadUrl(url);\n\t\treturn;\n\t}\n\t//trackEvent('redirect', url);\n\tsetPageTitle(url, title, experienceName);\n}\n\nlet basePath = null;\nexport function getBasePath() {\n\tif (!basePath) {\n\t\tconst base = document.querySelector('base');\n\t\tif (base) {\n\t\t\t// data-sn-href is a custom base path tag used by UX Framework. Use it if it exists, or the native href attribute otherwise\n\t\t\tconst pathname = getPathname(\n\t\t\t\tbase.getAttribute(BASE_ATTR) || base.href,\n\t\t\t);\n\t\t\tbasePath = pathname ? removeTrailingSlash(pathname) : '';\n\t\t} else basePath = '';\n\t}\n\n\treturn basePath;\n}\n\nexport const isRouteMultiInstEnabled = (field, value, multiInstField, uid) => {\n\tif (field !== multiInstField) return false;\n\n\tif (uid <= 0) return false;\n\n\tif (value.indexOf('_uid_') > -1) return false;\n\treturn true;\n};\n\nexport const getExperiencePath = (routerConfig) => {\n\tif (!routerConfig || !routerConfig.experienceRouteConfigs) return;\n\tlet {\n\t\tparams: {\n\t\t\tpath: { url },\n\t\t},\n\t} = getParametersFromPath('/:url*');\n\tif (!url) return;\n\n\tfor (let path of Object.keys(routerConfig.experienceRouteConfigs)) {\n\t\tif (`${url}/`.indexOf(`${path}/`) === 0) return path;\n\t}\n\treturn null; //null return is intentional.\n};\n\nexport const getContext = (routeConfig) => {\n\tconst { path, experienceName } = routeConfig;\n\treturn path ? { path, experienceName } : null;\n};\n\nexport const doesRouteExist = (route, fieldsLength) => {\n\tconst typeFieldGroupsMap = getTypeFieldGroupsMap();\n\tif (fieldsLength !== undefined) {\n\t\treturn has(typeFieldGroupsMap, [route, fieldsLength]);\n\t}\n\n\treturn has(typeFieldGroupsMap, route);\n};\n\nexport const doesInteropRouteExist = (route, fieldsLength) => {\n\tconst typeFieldGroupsMap = getInteropTypeFieldGroupsMap();\n\treturn has(typeFieldGroupsMap, [route, fieldsLength]);\n};\n\nexport const doesInteropDependentRouteExist = (\n\troute,\n\tfieldsLength,\n\tproviderExperienceKey,\n) => {\n\tconst experienceRouteConfigs = getExperienceRouteConfigs() ?? {};\n\tconst providerRouteConfig = experienceRouteConfigs[providerExperienceKey];\n\tif (!providerRouteConfig) return false;\n\n\tconst typeFieldGroupsMap = getTypeFieldGroupsMap(providerRouteConfig);\n\treturn has(typeFieldGroupsMap, [route, fieldsLength]);\n};\n\nexport function navigateToExternal(url) {\n\tif (!url) return;\n\tconst path = `${removeFirstSlash(removeTrailingSlash(url))}`;\n\twindow.open(path, '_blank');\n}\n\nexport const getQueryStringParams = () => {\n\tconst query = window.location.search;\n\treturn query\n\t\t? (/^[?#]/.test(query) ? query.slice(1) : query)\n\t\t\t\t.split('&')\n\t\t\t\t.reduce((params, param) => {\n\t\t\t\t\tlet [key, value] = param.split('=');\n\t\t\t\t\tparams[key] = value\n\t\t\t\t\t\t? decodeURL(value.replace(/\\+/g, ' '))\n\t\t\t\t\t\t: '';\n\t\t\t\t\treturn params;\n\t\t\t\t}, {})\n\t\t: {};\n};\n\nexport const AGENT_WORKSPACE_APP_SHELL_ID = 'c276387cc331101080d6d3658940ddd2';\nexport const INTERFACE_TYPE_STRINGS = {\n\tNOT_FOUND: 'Not Found',\n\tCONFIGURABLE_WORKSPACE: 'Configurable Workspace',\n\tUXF_EXPERIENCE: 'UXF Experience',\n};\nexport const INTERFACE_NAME_STRINGS = {\n\tUNIFIED_NAVIGATION_APP: 'Unified Navigation App',\n\tCORE_UI: 'Core UI',\n};\n\nexport const getPageInterfaceType = () => {\n\tconst siteName = get(window, 'ux_globals.siteName', '');\n\tconst experienceConfigs = get(\n\t\twindow,\n\t\t['ux_globals', 'experienceConfigs', siteName],\n\t\t{},\n\t);\n\n\tconst interfaceType =\n\t\texperienceConfigs.appShellId != AGENT_WORKSPACE_APP_SHELL_ID\n\t\t\t? INTERFACE_TYPE_STRINGS.UXF_EXPERIENCE\n\t\t\t: INTERFACE_TYPE_STRINGS.CONFIGURABLE_WORKSPACE;\n\treturn interfaceType;\n};\n\nexport const getInterfaceName = () => {\n\tconst experienceConfigKey = get(window, 'ux_globals.siteName');\n\tconst experienceName = get(window, [\n\t\t'ux_globals',\n\t\t'experienceConfigs',\n\t\texperienceConfigKey,\n\t\t'experienceName',\n\t]);\n\t// eslint-disable-next-line no-useless-escape\n\tif (experienceName && !/[^\\w\\s\\d\\-\\/\\.]/.test(experienceName)) {\n\t\treturn experienceName;\n\t}\n\tconst isPolarisWrapper = get(window, 'NOW.isPolarisWrapper') === 'true';\n\treturn isPolarisWrapper\n\t\t? INTERFACE_NAME_STRINGS.UNIFIED_NAVIGATION_APP\n\t\t: INTERFACE_NAME_STRINGS.CORE_UI;\n};\n\nexport const getTransactionSource = (url = '') => {\n\tconst { pageRegistryId = '' } = window.pageMeta;\n\tconst interfaceType = getPageInterfaceType();\n\tconst interfaceName = getInterfaceName();\n\treturn `Interface=Web,Interface-Type=${interfaceType},Interface-Name=${interfaceName},Interface-SysID=${pageRegistryId},Interface-URI=${url}`;\n};\n\nexport const openUrl = (url, options) => {\n\tconst { targetWindowRef, windowOptions } = options;\n\tif (targetWindowRef) targetWindowRef.location.href = url;\n\telse {\n\t\tconst { target = '_blank', windowFeatures = '' } = windowOptions || {};\n\t\twindow.open(url, target, windowFeatures); //window.open may be blocked by popup blocker. open a window on uer clock and passin the window ref.\n\t}\n};\n\nconst getTokenizedUrlParts = (path, route, fields, params) => {\n\tconst fieldCount = size(fields);\n\n\tconst { fields: orderedFields = [], optionalParameters } =\n\t\t// eslint-disable-next-line no-undef\n\t\tux_globals?.experienceConfigs[path]?.appRouteConfiguration?.routes[\n\t\t\troute\n\t\t]?.find((r) => r?.fields?.length === fieldCount) || {};\n\n\tconst fieldSlugs = reduce(\n\t\torderedFields,\n\t\t(acc, field) => {\n\t\t\treturn (acc += `/:${field}`);\n\t\t},\n\t\t'',\n\t);\n\n\tlet paramSlugs = '';\n\tif (optionalParameters && size(params)) {\n\t\tparamSlugs += reduce(\n\t\t\toptionalParameters,\n\t\t\t(acc, param) => {\n\t\t\t\treturn (acc += `/:${param}`);\n\t\t\t},\n\t\t\t'/params',\n\t\t);\n\t}\n\n\treturn `/${route}${fieldSlugs}${paramSlugs}`;\n};\n\nexport const createTokenizedPath = (selectedContent) => {\n\tconst {\n\t\tcontext: { path },\n\t\troute,\n\t\tfields,\n\t\tparams,\n\t\tparent,\n\t} = selectedContent;\n\tlet tokenizedParent = '';\n\tif (parent && size(parent)) {\n\t\tconst { route, fields, params } = parent;\n\t\ttokenizedParent = getTokenizedUrlParts(path, route, fields, params);\n\t}\n\tconst tokenizedPath = getTokenizedUrlParts(path, route, fields, params);\n\n\treturn `/${path}${\n\t\ttokenizedParent ? `${tokenizedParent}/sub` : ''\n\t}${tokenizedPath}`;\n};\n\n/**\n * Checks if the given URL needs to be shortened\n * @function\n * @param {string} url The URL to check\n * @returns {boolean} True if the URL needs to be shortened, false otherwise\n */\nexport const urlneedsShortening = (url) => {\n\t// Check if url exists and has length\n\tif (!url || typeof url !== 'string') {\n\t\treturn false;\n\t}\n\n\t// Check if window and g_uxr_tiny_url are available (browser environment)\n\tif (typeof window === 'undefined' || !window.g_uxr_tiny_url) {\n\t\treturn false;\n\t}\n\n\t// Use proper property access and boolean comparison\n\tconst useTiny = window.g_uxr_tiny_url.use_tiny === true;\n\tconst minLength = window.g_uxr_tiny_url.min_length || 2000; // Default to 2000 if not set (matches backend)\n\n\treturn useTiny && url.length > minLength;\n};\nexport const getRouteMatchStatus = (contentDef) => {\n\tconst {\n\t\troute: contentRoute,\n\t\tfields: contentFields,\n\t\tinteropContext,\n\t} = contentDef;\n\n\tconst fieldsLength =\n\t\tcontentFields && Array.isArray(Object.keys(contentFields))\n\t\t\t? Object.keys(contentFields).length\n\t\t\t: 0;\n\n\tconst hasMatchedInteropRoute = doesInteropRouteExist(\n\t\tcontentRoute,\n\t\tfieldsLength,\n\t);\n\tconst hasMatchedRoute = doesRouteExist(contentRoute);\n\tconst hasMatchedDependentRoute = doesInteropDependentRouteExist(\n\t\tcontentRoute,\n\t\tfieldsLength,\n\t\tinteropContext?.expKey,\n\t);\n\tconst hasMatchedRouteWithMatchingFieldsLength = doesRouteExist(\n\t\tcontentRoute,\n\t\tfieldsLength,\n\t);\n\n\treturn [\n\t\thasMatchedInteropRoute,\n\t\thasMatchedRoute,\n\t\thasMatchedDependentRoute,\n\t\thasMatchedRouteWithMatchingFieldsLength,\n\t];\n};\n\nexport const updateInteropContextForSelectedContent = (selectedContent) => {\n\tif (selectedContent?.interopContext?.isInterop) {\n\t\t// if this navigation event originated from an interop page,\n\t\t// router's selected context must set isDependent, if the route could possibly only be resolved by dependent route resolution.\n\t\tconst [\n\t\t\thasMatchedInteropRoute,\n\t\t\t,\n\t\t\thasMatchedDependentRoute,\n\t\t\thasMatchedRouteWithMatchingFieldsLength,\n\t\t] = getRouteMatchStatus(selectedContent);\n\n\t\tconst isDependent =\n\t\t\t!hasMatchedInteropRoute &&\n\t\t\t!hasMatchedRouteWithMatchingFieldsLength &&\n\t\t\thasMatchedDependentRoute;\n\t\tif (isDependent) {\n\t\t\t// router must set this because tabset needs this information\n\t\t\t// mutating interopContext here is ok because this is in the navitemselected payload, where interopContext is already a cloned object.\n\t\t\tselectedContent.interopContext.isDependent = isDependent;\n\t\t} else {\n\t\t\t// interopContext in rootSelectedNavItem is a copy of the interopContext of the screen where the navigation event originated.\n\t\t\t// interopContext has { isInterop, appConfigId, isDependent, expKey }\n\t\t\t// But the new selectedContent might be resolved from a different interop provider. Or it might be resolved from a local route.\n\n\t\t\t// Keeping the same interopContext in the new selectedContent is correct only when\n\t\t\t// the new selectedContent can only be resolved from dependent routes.\n\t\t\t// In all other cases, we must clear the interopContext.\n\t\t\tdelete selectedContent.interopContext;\n\t\t}\n\t}\n};\n","import { get } from 'lodash';\nimport { getLandingPath } from 'sn-canvas-common';\n\nlet _sessionStorageKey = null;\n\nexport function getSessionStorageKey() {\n\tif (!_sessionStorageKey) {\n\t\t_sessionStorageKey = 'chromeSessionData';\n\t}\n\treturn _sessionStorageKey;\n}\n\nexport const IS_LOGGED_IN = (() => {\n\tconst gLoggedIn = get(window, 'ux_globals.isLoggedIn', false);\n\treturn (\n\t\tgLoggedIn === true ||\n\t\t(typeof gLoggedIn === 'string' && gLoggedIn.toLowerCase() === 'true')\n\t);\n})();\n\nexport const DESTINATION_URL = (() => {\n\tlet destinationUrl = get(window, 'ux_globals.loginRedirectUrl', null);\n\n\tif (!destinationUrl) {\n\t\tconst initPath = get(\n\t\t\twindow,\n\t\t\t'ux_globals.siteName',\n\t\t\tnull\n\t\t);\n\t\tconst landingPath = getLandingPath(initPath);\n\n\t\tdestinationUrl = initPath && landingPath\n\t\t\t? `/${initPath}/${landingPath}`\n\t\t\t: '';\n\t}\n\treturn destinationUrl;\n})();\n","import { isEmpty, get } from 'lodash';\nimport { queryParamsEnabled } from './sn-canvas-router.config';\nimport {\n\tisRouteMultiInstEnabled,\n\turlCase,\n\tgetRouteMatchStatus,\n} from './sn-canvas-router.util';\nimport {\n\tgetFilteredParams,\n\tgetRoute,\n\tgetInteropRoute,\n\tgetInteropDependentRoute,\n\tencodeURL,\n\tgetParametersFromPath,\n} from 'sn-canvas-common';\nimport {\n\tPERSISTED_STATE_PARAM,\n\tSUB_URL,\n\tUNDEFINED_FIELD_VALUE,\n} from '../constants/constants';\nimport { IS_LOGGED_IN } from '../sn-canvas-layout/utils/browser';\n\nexport const getUrlFromContentDefinition = (contentDef) => {\n\tif (!contentDef) return '';\n\n\tconst {\n\t\troute: contentRoute,\n\t\tfields: contentFields,\n\t\tparams,\n\t\tmultiInstField,\n\t\tencodedPersistedState,\n\t\tsearch = '',\n\t\tinteropContext,\n\t} = contentDef;\n\n\tconst fieldsLength =\n\t\tcontentFields && Array.isArray(Object.keys(contentFields))\n\t\t\t? Object.keys(contentFields).length\n\t\t\t: 0;\n\n\tconst [\n\t\thasMatchedInteropRoute,\n\t\thasMatchedRoute,\n\t\thasMatchedDependentRoute,\n\t\thasMatchedRouteWithMatchingFieldsLength,\n\t] = getRouteMatchStatus(contentDef);\n\n\t// returning empty url when logged in and no route match found\n\tif (\n\t\tIS_LOGGED_IN &&\n\t\t!hasMatchedRoute &&\n\t\t!hasMatchedInteropRoute &&\n\t\t!hasMatchedDependentRoute\n\t)\n\t\treturn '';\n\n\tconst urlType = contentRoute;\n\n\tlet url = `/${urlType}`;\n\n\tlet fields, configuredParams, isDependentRoute;\n\tif (hasMatchedInteropRoute) {\n\t\t({ fields, params: configuredParams } = getInteropRoute(\n\t\t\turlType,\n\t\t\tfieldsLength,\n\t\t));\n\t} else if (\n\t\t!hasMatchedRouteWithMatchingFieldsLength &&\n\t\thasMatchedDependentRoute\n\t) {\n\t\t({ fields, params: configuredParams } = getInteropDependentRoute(\n\t\t\turlType,\n\t\t\tfieldsLength,\n\t\t\tinteropContext?.expKey,\n\t\t));\n\t\tisDependentRoute = true;\n\t} else {\n\t\t({ fields, params: configuredParams } = getRoute(\n\t\t\turlType,\n\t\t\tfieldsLength,\n\t\t));\n\t}\n\n\tif (isDependentRoute) {\n\t\turl += `~${encodeURIComponent(interopContext?.expKey)}`;\n\t}\n\n\tfor (let i = 0; i < fieldsLength; i++) {\n\t\tlet val = contentFields[fields[i]];\n\t\tif (val === '' || val === undefined || val === null)\n\t\t\tval = UNDEFINED_FIELD_VALUE;\n\t\tif (\n\t\t\tisRouteMultiInstEnabled(\n\t\t\t\tfields[i],\n\t\t\t\tcontentFields[fields[i]],\n\t\t\t\tmultiInstField,\n\t\t\t\tcontentDef.uid,\n\t\t\t)\n\t\t)\n\t\t\turl += `/${encodeURL(\n\t\t\t\tcontentFields[fields[i]] + '_uid_' + contentDef.uid,\n\t\t\t)}`;\n\t\telse url += `/${encodeURL(val)}`;\n\t}\n\n\tconst filteredParams = getFilteredParams(params, configuredParams);\n\tconst paramsForUrl = isEmpty(encodedPersistedState)\n\t\t? filteredParams\n\t\t: {\n\t\t\t\t...filteredParams,\n\t\t\t\t...{ [PERSISTED_STATE_PARAM]: encodedPersistedState },\n\t\t\t};\n\n\tif (!paramsForUrl) return url + search;\n\n\treturn url + getUriFromParams(paramsForUrl) + search;\n};\n\n/**\n * Construct a URL from a params object\n * @param tab\n * @returns {string}\n */\nconst getUriFromParams = (params) => {\n\tif (isEmpty(params)) return '';\n\n\tif (queryParamsEnabled()) {\n\t\treturn (\n\t\t\t'?' +\n\t\t\tObject.keys(params).reduce((result, key, i) => {\n\t\t\t\tconst amp = i === 0 ? '' : '&';\n\t\t\t\treturn `${result}${amp}${encodeURL(\n\t\t\t\t\turlCase(key),\n\t\t\t\t)}=${encodeURL(params[key])}`;\n\t\t\t}, '')\n\t\t);\n\t}\n\n\treturn (\n\t\t'/params' +\n\t\tObject.keys(params).reduce((result, key) => {\n\t\t\treturn `${result}/${encodeURL(\n\t\t\t\turlCase(key),\n\t\t\t)}/${encodeURL(params[key])}`;\n\t\t}, '')\n\t);\n};\n\n/**\n * Given a selected content object, returns a URL for root and leaf content definitions\n * @param selectedContent\n * @returns {*}\n */\nconst getUrlFromSelectedContent = (selectedContent) => {\n\tif (!selectedContent) return null;\n\n\tlet contextUrl = '';\n\tconst contextPath = get(selectedContent, 'context.path', null);\n\tif (contextPath) {\n\t\tcontextUrl = `/${contextPath}`;\n\t}\n\n\tconst leafUrl = getUrlFromContentDefinition(selectedContent);\n\n\tlet rootContent = selectedContent.parent;\n\twhile (rootContent && rootContent.parent) {\n\t\trootContent = rootContent.parent;\n\t}\n\n\t// Handle field length mismatch cases with exact same logic as effects file\n\tif (\n\t\tselectedContent &&\n\t\tselectedContent.urlFields &&\n\t\tselectedContent.fields &&\n\t\tObject.prototype.hasOwnProperty.call(\n\t\t\tselectedContent,\n\t\t\t'hasLocalRouteWithMatchingFieldLengths',\n\t\t) &&\n\t\t!selectedContent.hasLocalRouteWithMatchingFieldLengths\n\t) {\n\t\tconst {\n\t\t\tparams: {\n\t\t\t\tpath: { type },\n\t\t\t},\n\t\t} = getParametersFromPath('/:type*');\n\n\t\tconst urlType = selectedContent.context?.path\n\t\t\t? `${selectedContent.context.path}/${selectedContent.route}/${selectedContent.urlFields.join('/')}`\n\t\t\t: type;\n\n\t\tif (\n\t\t\t(selectedContent.urlFields.length !=\n\t\t\t\tObject.keys(selectedContent.fields).length &&\n\t\t\t\tObject.keys(selectedContent.fields).length == 0 &&\n\t\t\t\t!selectedContent.hasLocalRouteWithMatchingFieldLengths) == true\n\t\t) {\n\t\t\treturn '/' + (type ?? urlType);\n\t\t}\n\t}\n\n\tif (!rootContent) return contextUrl ? `${contextUrl}${leafUrl}` : leafUrl;\n\n\tconst rootUrl = getUrlFromContentDefinition(rootContent);\n\n\tif (!rootUrl) return leafUrl;\n\tconst search = selectedContent.search || '';\n\n\treturn contextUrl\n\t\t? `${contextUrl}${rootUrl}/${SUB_URL}${leafUrl}${search}`\n\t\t: `${rootUrl}/${SUB_URL}${leafUrl}${search}`;\n};\n\nexport { getUrlFromSelectedContent };\n","import { getUrlFromSelectedContent } from './sn-canvas-router.contentParser';\nimport {\n\tredirectUrl\n} from './sn-canvas-router.util';\n\nimport {\n\tgetSelectedContentFromUrl\n} from 'sn-canvas-common';\n\n\n/**\n * Given selectedContent, return a tab payload for an invalid URL\n * @param selectedContent\n * @returns {*}\n * @private\n */\nconst redirectInvalidUrl = selectedContent => {\n\t// Redirect to selected tab\n\tconst url = getUrlFromSelectedContent(selectedContent);\n\tredirectUrl(url);\n};\n\nconst attemptGetSelectedContentFromURL = (context, prevSelectedContent, path) => {\n\tconst result = getSelectedContentFromUrl(context, path)\n\tif (result == null)\n\t\tredirectInvalidUrl(prevSelectedContent);\n\treturn result;\n}\n\nexport { attemptGetSelectedContentFromURL };\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"];\n\t\t\t\t}, [\"getAppliedTemplate\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getAppliedTemplate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getAppliedTemplate;\n\t\t\t\t\t} else if ('getAppliedTemplate' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getAppliedTemplate || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getAppliedTemplate;\n\t\t\t\t}, [\"getTemplates\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'getTemplates' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getTemplates;\n\t\t\t\t\t} else if ('getTemplates' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.getTemplates || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].getTemplates;\n\t\t\t\t}, [\"registerScreenActionTransformer\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'registerScreenActionTransformer' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].registerScreenActionTransformer;\n\t\t\t\t\t} else if ('registerScreenActionTransformer' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.registerScreenActionTransformer || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].registerScreenActionTransformer;\n\t\t\t\t}, [\"setAppConfigToRootMacroponent\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'setAppConfigToRootMacroponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].setAppConfigToRootMacroponent;\n\t\t\t\t\t} else if ('setAppConfigToRootMacroponent' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.setAppConfigToRootMacroponent || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].setAppConfigToRootMacroponent;\n\t\t\t\t}, [\"snHttp\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.__esModule\n\t\t\t\t\tif (cjsModule && 'snHttp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].snHttp;\n\t\t\t\t\t} else if ('snHttp' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__.snHttp || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_library_uxf_index_jsdbx_d40e2bbc__[\"default\"].snHttp;\n\t\t\t\t} });","// Marks\nexport const HERO_INTERACTIVE = 'HERO_INTERACTIVE';\nexport const NAVIGATION = 'NAVIGATION';\nexport const NAVIGATE = 'NAVIGATE';\nexport const PAGE_LOAD = 'PAGE_LOAD';\nexport const DB_ENGINE_EXEC_SUCCEEDED = 'UXF_DB_ENGINE_EXEC_SUCCEEDED';\nexport const UXF_DB_ENGINE_EXEC_PREPROCESSED_SUCCEEDED =\n\t'UXF_DB_ENGINE_EXEC_PREPROCESSED_SUCCEEDED';\nexport const DB_ENGINE_EXEC_FAILED = 'UXF_DB_ENGINE_EXEC_FAILED';\nexport const UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED =\n\t'UXF_VIEWPORT#SCRIPTED_CONDITIONS_EVALUATION_COMPLETED';\nexport const UXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED =\n\t'UXF_VIEWPORT#ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED';\nexport const CLIENT_SCRIPT = 'CLIENT_SCRIPT';\n\nexport const UXF_MARK_FILTER = [\n\tHERO_INTERACTIVE,\n\tNAVIGATE,\n\tDB_ENGINE_EXEC_SUCCEEDED,\n\tDB_ENGINE_EXEC_FAILED,\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tCLIENT_SCRIPT\n];\n\nexport const UXF_MARK_BETWEEN_HEROS_FILTER = [\n\tDB_ENGINE_EXEC_SUCCEEDED,\n\tDB_ENGINE_EXEC_FAILED,\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tCLIENT_SCRIPT\n];\n","import { get } from 'lodash';\nimport {\n\tsetPage,\n\tsetApplication,\n\tsetConfigValue,\n} from '@servicenow/ui-analytics-integrator';\nimport {\n\tgetQueryStringParams,\n\tcreateTokenizedPath,\n} from '../sn-canvas-router/sn-canvas-router.util';\nimport {\n\tcreateInteractionId,\n\tdefineMetric,\n\tgetMetricTypes,\n} from '@servicenow/ui-metrics';\nimport {\n\tEXPERIENCE_START,\n\tUSER_NAVIGATE,\n\tUXF_USER_BROWSER_NAV_START,\n\tUXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED,\n\tUXF_INTERRUPTION_MOUSEDOWN,\n\tUXF_INTERRUPTION_KEYDOWN,\n\tUXF_USER_NAV_LOAD_START,\n\tUXF_INTEROP_ROUTE_RESOLVED,\n} from './../constants/constants';\n\nimport {\n\tDB_ENGINE_EXEC_SUCCEEDED,\n\tDB_ENGINE_EXEC_FAILED,\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n} from './constants';\n\nexport function setInteractionId() {\n\tconst interactionId =\n\t\twindow.nowUiFramework?.metrics?.uxfInteractionIdBase ||\n\t\tcreateInteractionId();\n\twindow.nowUiFramework.uxrInteractionId = interactionId;\n\treturn interactionId;\n}\n\nexport function getInteractionId() {\n\treturn get(window, 'nowUiFramework.uxrInteractionId', '');\n}\n\nexport const initCustomMetricsAndTrace = (selectedContent, url) => {\n\tconst {\n\t\ttitle,\n\t\troute,\n\t\tcontext: { path },\n\t\tfields,\n\t} = selectedContent;\n\tconst experienceConfigs = get(window, 'ux_globals.experienceConfigs', {});\n\tconst { experienceId, experienceName, appShellId, parentAppShellId } =\n\t\texperienceConfigs[path];\n\tconst traceparent = window.document.querySelector('meta[name=traceparent]');\n\n\tif (!window.nowUiFramework) window.nowUiFramework = {};\n\n\tsetInteractionId();\n\tsetConfigValue('enableTrace', traceparent !== null);\n\tsetConfigValue('legacy', true);\n\n\tconst currentMetricTypes = getMetricTypes();\n\n\tconst metricTypesToDefine = {\n\t\t[DB_ENGINE_EXEC_SUCCEEDED]: 4,\n\t\t[DB_ENGINE_EXEC_FAILED]: 4,\n\t\t[UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED]: 4,\n\t\tCLIENT_SCRIPT: 4,\n\t\tNAVIGATE: 4,\n\t\t[EXPERIENCE_START]: 4,\n\t\t[USER_NAVIGATE]: 4,\n\t\t[UXF_INTEROP_ROUTE_RESOLVED]: 4,\n\t\t[UXF_USER_BROWSER_NAV_START]: 5,\n\t\t[UXF_INTERRUPTION_MOUSEDOWN]: 5,\n\t\t[UXF_INTERRUPTION_KEYDOWN]: 5,\n\t\t[UXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED]: 5,\n\t\t[UXF_USER_NAV_LOAD_START]: 5,\n\t};\n\n\tObject.keys(metricTypesToDefine).forEach((metricType) => {\n\t\tif (!currentMetricTypes[metricType]) {\n\t\t\tdefineMetric(metricType, metricTypesToDefine[metricType]);\n\t\t}\n\t});\n\n\tsetPage(url, {\n\t\tquery: getQueryStringParams(),\n\t\troute: createTokenizedPath(selectedContent),\n\t\ttitle: title,\n\t\tname: route,\n\t\tparams: { ...fields },\n\t});\n\n\tlet options = {\n\t\tchannelType: 'NextExperience',\n\t\ttableName: 'sys_ux_page_registry',\n\t\texperienceName,\n\t\texperienceId,\n\t\tappShellId,\n\t\tparentAppShellId,\n\t};\n\tsetApplication('application', '0.0.0', options);\n};\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nconst getSessionStorageKey = () => 'canvasRecordInfo';\nlet _recordId = 0;\nexport async function saveRecordId(recordId) {\n\ttry {\n\t\tawait getUnifiedCacheInstance('sessionStorage', 'CANVAS_RECORD_INFO_SESSION_STORAGE')\n\t\t\t.setItem(\n\t\t\t\tgetSessionStorageKey(),\n\t\t\t\t{\n\t\t\t\t\tlastRecordId: recordId\n\t\t\t\t}\n\t\t\t);\n\t} catch (e) {\n\t\treturn;\n\t}\n}\n\nexport async function retrieveRecordId() {\n\tlet recordId = 0;\n\tif (_recordId > 0) {\n\t\treturn _recordId++;\n\t}\n\ttry {\n\t\tconst storedRecordInfo = await getUnifiedCacheInstance('sessionStorage', 'CANVAS_RECORD_INFO_SESSION_STORAGE')\n\t\t\t.getItem(getSessionStorageKey());\n\t\tif (storedRecordInfo) {\n\t\t\trecordId = storedRecordInfo.lastRecordId || 0;\n\t\t\t_recordId = recordId + 1;\n\t\t}\n\t} catch (e) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t'Error reading stored session data for router record instance Id'\n\t\t);\n\t}\n\n\treturn recordId;\n}\n\nexport function resetRecordId() {\n    _recordId = 0;\n}\n","import {\n\tCANVAS_EXPERIENCE_SWITCHED,\n\tEXPERIENCE_START,\n\tUSER_NAVIGATE,\n} from './../constants/constants';\nimport { get } from 'lodash';\nimport { mark, getInteractionId } from '@servicenow/ui-metrics';\nimport { getUrlFromSelectedContent } from '../sn-canvas-router/sn-canvas-router.contentParser';\nimport { setApplication } from '@servicenow/ui-analytics-integrator';\n\nconst eventTypes = {\n\tEXPERIENCE_START,\n\tUSER_NAVIGATE,\n};\n\nexport const loadedExperiences = [];\n\n/**\n * Emit AppSee marks when loading or switching Experiences.\n * @param {Object} action - the action object that comes from the dispatched event\n * @param {Object} context - an object that holds the experience information. It comes from action.payload. The loaded event\n * \t\t\t\t\t\t\t\thas `context` inside `selectedContent` while the switched event doesn't. So `context` needs\n * \t\t\t\t\t\t\t\tto be extracted in the calling function.\n * @param {string} eventType - name of metric event\n */\nconst setExperienceMark = (host, action, selectedContent, eventType) => {\n\tif (!eventType) {\n\t\treturn false;\n\t}\n\n\tconst { meta, type } = action;\n\tconst { context = {} } = selectedContent;\n\tif (!('path' in context) || !(eventType in eventTypes)) {\n\t\treturn false;\n\t}\n\tconst { path } = context;\n\n\tconst experienceConfigs = get(window, 'ux_globals.experienceConfigs', {});\n\tconst { experienceId, experienceName, appShellId, parentAppShellId } =\n\t\texperienceConfigs[path];\n\n\t// This statement prevents duplicate marks from being emitted\n\t// When switching to an experience for the first time both a CANVAS_EXPERIENCE_LOADED and\n\t// CANVAS_EXPERIENCE_SWITCHED event is fired.\n\tif (eventType === EXPERIENCE_START) {\n\t\tlet options = {\n\t\t\tchannelType: 'NextExperience',\n\t\t\ttableName: 'sys_ux_page_registry',\n\t\t\texperienceName: context.experienceName,\n\t\t\texperienceId,\n\t\t\tappShellId,\n\t\t\tparentAppShellId,\n\t\t};\n\t\tsetApplication('application', '0.0.0', options);\n\n\t\tif (!loadedExperiences?.includes(path)) {\n\t\t\tloadedExperiences?.push(path);\n\t\t\tif (type === CANVAS_EXPERIENCE_SWITCHED) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst url = getUrlFromSelectedContent(selectedContent);\n\tmark(\n\t\thost,\n\t\tgetInteractionId(meta),\n\t\teventType,\n\t\t{\n\t\t\tmeta: {\n\t\t\t\tapplicationContextId: experienceId,\n\t\t\t\tapplicationContextName: experienceName,\n\t\t\t\tswitched: type === CANVAS_EXPERIENCE_SWITCHED,\n\t\t\t\tselectedContent,\n\t\t\t\turl,\n\t\t\t\tpageTitle:\n\t\t\t\t\t'pageTitle' in selectedContent\n\t\t\t\t\t\t? selectedContent.pageTitle\n\t\t\t\t\t\t: experienceName,\n\t\t\t},\n\t\t},\n\t\t'usage',\n\t);\n};\n\nexport { setExperienceMark };\n","export function getUxfSysProp(name, defaultValue = '') {\n\treturn window?.ux_globals?.libuxf?.sysprops?.[name] ?? defaultValue;\n}\n\nexport function getPageProperties(route) {\n\tif (!route) return null;\n\telse return window?.ux_globals?.experienceConfigs?.[route]?.pageProperties;\n}\n","export const PREVIEW_MODE = 'preview';\nexport const LIVE_PREVIEW_QUERY_STRING = 'sysparm_live_preview';\nimport { decodeURL } from 'sn-canvas-common';\n\nconst getIsScreenPreviewFromURL = () => {\n\tconst decodedURL = decodeURL(window.location.href);\n\tconst url = new URL(decodedURL);\n\treturn url.searchParams.has(LIVE_PREVIEW_QUERY_STRING)\n\t\t|| url.searchParams.get('mode') === PREVIEW_MODE;\n}\n\n/**\n * Checks if screen is in preview mode or not.\n * @param {Object} selectedContent\n * @returns\n */\nexport const isScreenPreview = (selectedContent = null) => {\n\tif (!selectedContent || !selectedContent.queryString)\n\t\treturn getIsScreenPreviewFromURL();\n\n\tconst { queryString } = selectedContent;\n\n\t// sysparm_live_preview contains empty string in preview mode.\n\t// checking only if sysparm_live_preview present or not.\n\tif (LIVE_PREVIEW_QUERY_STRING in queryString)\n\t\treturn true;\n\n\tif (queryString?.mode === PREVIEW_MODE)\n\t\treturn true;\n\n\treturn false;\n}\n","import { getTinyIdForParams, setTinyIdForParams } from 'sn-canvas-common';\nimport {\n\tSYS_TINY_KEY,\n\tUXR_TINY_KEY,\n\tERROR_PREFIX,\n\tTINY_URL_API_ENDPOINT,\n} from '../constants/constants';\n\nexport const TINY_PARAM_REGEX = new RegExp(`[?&]${SYS_TINY_KEY}=([^&]+)`);\n\nexport function extractTinyIdFromResult(result) {\n\tif (!result) return null;\n\tconst match = result.match(TINY_PARAM_REGEX);\n\tif (match) return match[1];\n\telse\n\t\tthrow new Error(\n\t\t\t`${ERROR_PREFIX} Unable to extract tinyId from result: ${result}`,\n\t\t);\n}\n\nexport function parseUrlForShortening(url) {\n\t// Use URL constructor for robust URL parsing, handling edge cases like encoded slashes\n\tconst urlObj = new URL(url, window.location.origin);\n\tconst search = urlObj.search;\n\n\t// Find the /params/ section in the original URL\n\tconst paramsIndex = url.indexOf('/params/');\n\n\tlet basePath = url;\n\tlet paramsSection = '';\n\n\tif (paramsIndex !== -1) {\n\t\t// Split the URL at the /params/ boundary\n\t\tbasePath = url.substring(0, paramsIndex);\n\n\t\t// Extract from /params/ but stop at query string if present\n\t\tlet remainingUrl = url.substring(paramsIndex);\n\t\tconst queryIndex = remainingUrl.indexOf('?');\n\n\t\tif (queryIndex !== -1) {\n\t\t\tparamsSection = remainingUrl.substring(0, queryIndex);\n\t\t} else {\n\t\t\tparamsSection = remainingUrl;\n\t\t}\n\t} else {\n\t\t// No params section, strip query string from basePath\n\t\tconst queryIndex = url.indexOf('?');\n\t\tif (queryIndex !== -1) {\n\t\t\tbasePath = url.substring(0, queryIndex);\n\t\t}\n\t}\n\n\treturn { basePath, paramsSection, queryString: search };\n}\n\nexport function getFetchHeaders() {\n\tconst headers = {\n\t\t'Content-Type': 'application/json',\n\t\tAccept: 'application/json',\n\t};\n\n\tif (typeof window !== 'undefined' && window.g_ck) {\n\t\theaders['X-UserToken'] = window.g_ck;\n\t}\n\n\treturn headers;\n}\n\n/**\n * Safely encodes a string to base64, handling non-ASCII characters\n * @param {string} str - The string to encode\n * @returns {string|null} - Base64 encoded string\n */\nfunction safeBase64Encode(str) {\n\ttry {\n\t\treturn btoa(JSON.stringify(str));\n\t} catch (e) {\n\t\tconsole.error(`${ERROR_PREFIX} Error encoding params:`, e);\n\t\treturn null;\n\t}\n}\n\nexport async function fetchTinyUrl(paramsSection) {\n\tconst encodedParams = safeBase64Encode(paramsSection);\n\tif (!encodedParams) return null;\n\n\ttry {\n\t\tconst response = await fetch(TINY_URL_API_ENDPOINT, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: getFetchHeaders(),\n\t\t\tbody: JSON.stringify({ url: `?__tinyId__=${encodedParams}` }),\n\t\t});\n\n\t\tif (!response.ok) throw new Error(response.statusText);\n\n\t\tconst { result } = await response.json();\n\t\treturn extractTinyIdFromResult(result);\n\t} catch (error) {\n\t\tconsole.error(`${ERROR_PREFIX} Error fetching tiny URL:`, error);\n\t\treturn null;\n\t}\n}\n\nexport function buildTinyUrl(basePath, tinyId, queryString = '') {\n\t// Ensure we don't create double slashes\n\tconst separator = basePath.endsWith('/') ? '' : '/';\n\treturn `${basePath}${separator}${UXR_TINY_KEY}/${tinyId}${queryString}`;\n}\n\n/**\n * Resolve a long URL to its tiny URL equivalent\n * @param {string} originalUrl - The original long URL\n * @returns {Promise<string>} - The tiny URL or original URL on failure\n */\nexport async function resolveTinyUrl(originalUrl) {\n\ttry {\n\t\tconst { basePath, paramsSection, queryString } =\n\t\t\tparseUrlForShortening(originalUrl);\n\n\t\tif (!paramsSection) return originalUrl;\n\n\t\tconst cachedTinyId = getTinyIdForParams(paramsSection);\n\t\tif (cachedTinyId)\n\t\t\treturn buildTinyUrl(basePath, cachedTinyId, queryString);\n\n\t\tconst tinyId = await fetchTinyUrl(paramsSection);\n\t\tif (tinyId) {\n\t\t\tsetTinyIdForParams(paramsSection, tinyId);\n\t\t\treturn buildTinyUrl(basePath, tinyId, queryString);\n\t\t}\n\n\t\treturn originalUrl;\n\t} catch (error) {\n\t\tconsole.error(`${ERROR_PREFIX} Error resolving tiny URL:`, error);\n\t\treturn originalUrl;\n\t}\n}\n","import { isEmpty, isEqual, get, set, isNil } from '@devsnc/snowdash';\nimport { setPage } from '@servicenow/ui-analytics-integrator';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { mark, getInteractionId } from '@servicenow/ui-metrics';\nimport { getUrlFromSelectedContent } from './sn-canvas-router.contentParser';\nimport { attemptGetSelectedContentFromURL } from './sn-canvas-router.urlParser';\nimport {\n\tgetLandingPath,\n\tupdateRouterConfigWithUpdatedExperienceConfig,\n} from './sn-canvas-router.config';\nimport { setAppConfigToRootMacroponent } from '@devsnc/library-uxf';\n\nimport {\n\tinitConfig,\n\tqueryParamsEnabled,\n\tgetRequestedExperienceRouterConfiguration,\n\tgetUXGlobalRouterConfiguration,\n} from './sn-canvas-router.config';\nimport { initCustomMetricsAndTrace } from '../sn-canvas-metrics';\nimport { saveRecordId, retrieveRecordId } from './sn-canvas-router.storage';\nimport {\n\tROOT_SELECTED_NAV_ITEM,\n\tROOT_CONTENT_UPDATED,\n\tCURRENT_ROUTE,\n\tACTIVE_EXPERIENCE,\n\tUSER_NAVIGATE,\n\tUXF_USER_BROWSER_NAV_START,\n\tUXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED,\n\tUXF_INTERRUPTION_MOUSEDOWN,\n\tUXF_INTERRUPTION_KEYDOWN,\n\tROOT_PERSISTED_STATE,\n} from '../constants/constants';\nimport {\n\tdoesRouteExist,\n\tnavigateToExternal,\n\tgetQueryStringParams,\n\tgetEncodedPersistedStateForSelectedContent,\n\tcreateTokenizedPath,\n\tisConfirmPopStateNavigationWhenDirtyActive,\n\tupdateInteropContextForSelectedContent,\n} from './sn-canvas-router.util';\nimport { setExperienceMark } from '../utils/setExperienceMarks';\n\nimport {\n\tinitBaseUrl,\n\tnavigateUrl,\n\tredirectUrl,\n\tgetExperiencePath,\n\tgetContext,\n\tupdateExpBaseUrl,\n\tsanitizeBaseUrl,\n\tgetTransactionSource,\n\topenUrl,\n} from './sn-canvas-router.util';\nimport { IS_LOGGED_IN } from '../sn-canvas-layout/utils/browser';\nimport { getUxfSysProp } from '../utils/uxGlobals';\nimport { isScreenPreview } from '../utils/isScreenPreview';\nimport {\n\tPERSIST_STATE_CONSTANTS,\n\tgetParametersFromPath,\n\tisSupportedExperience,\n\tisCompleteExperienceConfigs,\n\tsetPageTitle,\n\thydrateTinyUrlCache,\n\tsaveTinyUrlCache,\n\tgetScreenKey,\n} from 'sn-canvas-common';\nimport { t } from 'sn-translate';\nimport { initGlobalNavigationPosition } from '../utils/globalNavigationPosition';\nimport { resolveTinyUrl } from './sn-canvas-router.tinyurl.effect';\nimport { urlneedsShortening } from './sn-canvas-router.util';\nimport { isKarunaMode, notifyNavigationChange } from 'sn-canvas-common';\n\nconst {\n\tACTION_PERSIST_STATE_INIT_INTERNAL,\n\tACTION_PERSIST_STATE_URL_CHANGED_INTERNAL,\n} = PERSIST_STATE_CONSTANTS;\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\nconst UXF_PERF_MONITORING_ENABLED =\n\tgetUxfSysProp('glide.uxf.lib.performance.monitoring.enabled', 'false') ===\n\t'true';\n\nconst isScreenPreviewMode = isScreenPreview();\n\n/**\n * This global variable helps to prevent a second confirmation\n * pop-up from rendering when we intercept the pop-state\n * navigation.\n */\nlet shouldSkipPopNavigation = false;\n\nlet boundPopStateHandler = null;\nlet interruptionHandlers = null;\n\nexport const updateActiveContextPath = (path, properties, updateProperties) => {\n\t// Update the activeContextPath only if given path is valid experience for the parent app.\n\tif (\n\t\tpath &&\n\t\tproperties?.activeContextPath != path &&\n\t\tisSupportedExperience(\n\t\t\tpath,\n\t\t\tproperties?.routerConfig?.experienceRouteConfigs,\n\t\t) &&\n\t\t!properties?.rootSelectedNavItem?.navigationOptions?.navigateExternal\n\t)\n\t\tupdateProperties({ activeContextPath: path });\n};\n\nexport const _onPopState = async (\n\t{ host, action, dispatch, properties, updateProperties },\n\tevent,\n) => {\n\tconst { selectedContent: prevSelectedContent } = properties;\n\tconst { confirmPopStateNavigation = false } = host.getResolvedProperties();\n\tconst routerConfig = getUXGlobalRouterConfiguration();\n\tconst expPath = getExperiencePath(routerConfig);\n\tconst globalNavigationObject = initGlobalNavigationPosition();\n\n\t// confirmPopStateNavigation tells if the current screen is dirty or not.\n\tif (\n\t\tisConfirmPopStateNavigationWhenDirtyActive() &&\n\t\tconfirmPopStateNavigation\n\t) {\n\t\tif (shouldSkipPopNavigation === false) {\n\t\t\tif (\n\t\t\t\t!window.confirm(\n\t\t\t\t\tt('You have unsaved changes. Do you want to proceed?'),\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t/**\n\t\t\t\t * When we navigate or redirect, we push our position to the history state.\n\t\t\t\t * We also add it to sessionStorage. When a pop-state navigation occurs,\n\t\t\t\t * We compare the value from the event which is the updated history with the\n\t\t\t\t * previous position value stored in sessionStorage to identify if it was a\n\t\t\t\t * front or back button induced navigation.\n\t\t\t\t */\n\t\t\t\tconst newPosition = event?.state?.position || 0;\n\t\t\t\tconst previousPosition = !isNil(globalNavigationObject)\n\t\t\t\t\t? globalNavigationObject?.getNavigationPosition()\n\t\t\t\t\t: 0;\n\t\t\t\tif (newPosition < previousPosition) {\n\t\t\t\t\t// This means that the back button was clicked and we move forward.\n\t\t\t\t\twindow.history.go(1);\n\t\t\t\t} else {\n\t\t\t\t\t// This means that the forward button was clicked and we move backward.\n\t\t\t\t\twindow.history.go(-1);\n\t\t\t\t}\n\t\t\t\tshouldSkipPopNavigation = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\tshouldSkipPopNavigation = false;\n\t\t}\n\t} else {\n\t\t// Updating the global navigation position on pop-state navigation\n\t\t// across workspaces without the page property.\n\t\tglobalNavigationObject.setNavigationPosition(\n\t\t\tevent?.state?.position || 0,\n\t\t);\n\t}\n\n\tconst path = get(prevSelectedContent, 'context.path', undefined);\n\tupdateActiveContextPath(expPath, properties, updateProperties);\n\tlet context;\n\tlet activeRouteConfig;\n\tlet requestedRouteConfig;\n\tif (path !== expPath) {\n\t\tif (expPath && !isCompleteExperienceConfigs(expPath)) {\n\t\t\trequestedRouteConfig =\n\t\t\t\tawait getRequestedExperienceRouterConfiguration(\n\t\t\t\t\texpPath,\n\t\t\t\t\trouterConfig,\n\t\t\t\t\tupdateProperties,\n\t\t\t\t\tdispatch,\n\t\t\t\t);\n\t\t} else {\n\t\t\trequestedRouteConfig = routerConfig;\n\t\t}\n\t\tactiveRouteConfig = expPath\n\t\t\t? requestedRouteConfig.experienceRouteConfigs[expPath]\n\t\t\t: requestedRouteConfig;\n\t\tcontext = getContext(activeRouteConfig);\n\t\tinitConfig(activeRouteConfig);\n\t\tif (expPath) {\n\t\t\tsetAppConfigToRootMacroponent(expPath);\n\t\t}\n\t}\n\tconst selectedContent = attemptGetSelectedContentFromURL(context);\n\tif (selectedContent) {\n\t\tmark(host, getInteractionId(action.meta), UXF_USER_BROWSER_NAV_START, {\n\t\t\t...selectedContent,\n\t\t});\n\n\t\tupdateProperties({\n\t\t\tselectedContent: { ...selectedContent, updateUrl: false },\n\t\t});\n\n\t\tconst { encodedPersistedState } = selectedContent;\n\t\tconst screenKey = getScreenKey(selectedContent);\n\t\tdispatch(ACTION_PERSIST_STATE_INIT_INTERNAL, {\n\t\t\tscreenKey,\n\t\t\tencodedPersistedState,\n\t\t});\n\t}\n};\n\nexport function getInterruptionHandler(host, interruption) {\n\treturn () => {\n\t\tmark(host, '', interruption);\n\t};\n}\n\nexport function addInterruptionHandlers(host) {\n\tinterruptionHandlers = {\n\t\tblur: getInterruptionHandler(\n\t\t\thost,\n\t\t\tUXF_INTERRUPTION_PAGE_VISIBILITY_CHANGED,\n\t\t),\n\t\tmousedown: getInterruptionHandler(host, UXF_INTERRUPTION_MOUSEDOWN),\n\t\tkeydown: getInterruptionHandler(host, UXF_INTERRUPTION_KEYDOWN),\n\t};\n\twindow.addEventListener('blur', interruptionHandlers.blur, false);\n\tdocument.addEventListener('mousedown', interruptionHandlers.mousedown, {\n\t\tcapture: true,\n\t});\n\tdocument.addEventListener('keydown', interruptionHandlers.keydown, {\n\t\tcapture: true,\n\t});\n}\n\nexport function removeInterruptionHandlers() {\n\tif (!interruptionHandlers) return;\n\twindow.removeEventListener('blur', interruptionHandlers.blur, false);\n\tdocument.removeEventListener('mousedown', interruptionHandlers.mousedown, {\n\t\tcapture: true,\n\t});\n\tdocument.removeEventListener('keydown', interruptionHandlers.keydown, {\n\t\tcapture: true,\n\t});\n\tinterruptionHandlers = null;\n}\n\nexport const updateUrl = async (\n\tselectedContent,\n\tcoeffects,\n\tnoTitleUpdateUsingUrl = false,\n) => {\n\tconst encodedPersistedState = getEncodedPersistedStateForSelectedContent(\n\t\tselectedContent,\n\t\tcoeffects,\n\t);\n\tconst selectedContentForUrlUpdate = {\n\t\t...selectedContent,\n\t\t...{ encodedPersistedState },\n\t};\n\n\tlet url = getUrlFromSelectedContent(selectedContentForUrlUpdate);\n\n\tif (urlneedsShortening(url)) {\n\t\tconst shortUrl = await resolveTinyUrl(url);\n\t\tif (shortUrl) {\n\t\t\turl = shortUrl;\n\t\t}\n\t}\n\n\tconst title = selectedContent.title ?? getLandingPath();\n\n\tconst { host, action } = coeffects;\n\tif (url == null || url === '') return;\n\n\tconst experienceName = get(selectedContent, 'context.experienceName', '');\n\tconst hasMatchedRoute = doesRouteExist(selectedContent.route);\n\n\tif (\n\t\tget(selectedContent, 'navigationOptions.navigateExternal', false) ===\n\t\ttrue\n\t) {\n\t\tconst { navigationOptions } = selectedContent;\n\t\topenUrl(url, navigationOptions);\n\t\treturn;\n\t}\n\n\t// if not logged in and no matched route, reload in order to redirect to login\n\tif (!IS_LOGGED_IN && !hasMatchedRoute)\n\t\tnavigateUrl(url, title, experienceName, true, noTitleUpdateUsingUrl);\n\n\tconst selectedContentClone = { ...selectedContent };\n\tselectedContentClone.pageTitle = window.document.title.split(/\\s\\|\\s/)[0];\n\tsetExperienceMark(host, action, selectedContentClone, USER_NAVIGATE);\n\tlet interactionId = getInteractionId(action.meta);\n\n\tmark(host, interactionId, 'NAVIGATE', { referrer: url }); // check and remove this if not required anymore\n\n\tconst { reload } = selectedContent;\n\tconst {\n\t\tparams: {\n\t\t\tpath: { type },\n\t\t\tsearch,\n\t\t},\n\t} = getParametersFromPath('/:type*');\n\tif (url == '/' + type + (queryParamsEnabled() ? search : '')) {\n\t\t//set if title is present in payload or no pageTitle is set\n\t\tif (selectedContent.title || !selectedContentClone.pageTitle)\n\t\t\ttitle && setPageTitle(url, title, experienceName);\n\t} else if (selectedContent.redirect) {\n\t\tredirectUrl(url, title, experienceName, reload);\n\t} else {\n\t\tnavigateUrl(url, title, experienceName, reload, noTitleUpdateUsingUrl);\n\t}\n\n\t// @STRY54125353: update window.transaction_source\n\twindow.transaction_source = getTransactionSource(url);\n\n\tif (\n\t\tisKarunaMode() &&\n\t\tcoeffects.action.payload?.value?.isFromKaruna !== true\n\t) {\n\t\tnotifyNavigationChange({\n\t\t\turl,\n\t\t\tselectedContent,\n\t\t\ttitle,\n\t\t\texperienceName,\n\t\t\treload,\n\t\t\tnoTitleUpdateUsingUrl,\n\t\t});\n\t}\n};\n\n/**\n * Updates the url and the selectedContent property based off the new value.\n * Gets requested experienceConfigs if not available from the routeConfig property.\n * @param {Object} rootSelectedNavItem\n * @param {Function} coeffects\n */\nexport const onRootSelectedNavItemChange = async (\n\trootSelectedNavItem,\n\tcoeffects,\n) => {\n\tif (isEmpty(rootSelectedNavItem) || typeof rootSelectedNavItem == 'string')\n\t\treturn;\n\n\tconst { updateProperties, properties, dispatch } = coeffects;\n\tlet { routerConfig } = properties;\n\tconst currentRecordId = await retrieveRecordId();\n\tconst requestedExpKey = rootSelectedNavItem.context?.path || null;\n\tlet updatedRouterConfig;\n\tif (requestedExpKey) {\n\t\tupdatedRouterConfig = await getRequestedExperienceRouterConfiguration(\n\t\t\trequestedExpKey,\n\t\t\trouterConfig,\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t);\n\t}\n\n\tif (rootSelectedNavItem) {\n\t\tif (rootSelectedNavItem.interopContext?.expKey) {\n\t\t\tconst interopProviderExpKey =\n\t\t\t\trootSelectedNavItem.interopContext.expKey;\n\t\t\tawait updateRouterConfigWithUpdatedExperienceConfig(\n\t\t\t\tinteropProviderExpKey,\n\t\t\t\trouterConfig,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t\tif (updatedRouterConfig) {\n\t\t\tupdateProperties(() => {\n\t\t\t\treturn {\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'routerConfig',\n\t\t\t\t\tvalue: updatedRouterConfig,\n\t\t\t\t};\n\t\t\t});\n\t\t\trouterConfig = updatedRouterConfig;\n\t\t}\n\t\tupdateProperties(({ properties }) => {\n\t\t\tlet { selectedContent } = properties;\n\t\t\tlet { targetRoute, ..._selectedContent } = rootSelectedNavItem;\n\n\t\t\tif (_selectedContent != selectedContent) {\n\t\t\t\tconst { context: prevContext } = selectedContent || {};\n\t\t\t\tconst { context } = _selectedContent;\n\t\t\t\tif (!context && prevContext)\n\t\t\t\t\tset(_selectedContent, 'context', prevContext);\n\t\t\t}\n\n\t\t\tif (selectedContent && targetRoute) {\n\t\t\t\tlet _targetContent =\n\t\t\t\t\ttargetRoute === CURRENT_ROUTE\n\t\t\t\t\t\t? selectedContent\n\t\t\t\t\t\t: { ...targetRoute };\n\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\tlet { updateUrl, reload, ...restContent } = _targetContent;\n\t\t\t\tif (targetRoute === CURRENT_ROUTE) {\n\t\t\t\t\twhile (restContent?.parent) {\n\t\t\t\t\t\trestContent = restContent.parent;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t_selectedContent.parent = restContent;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t_selectedContent.multiInstField &&\n\t\t\t\t_selectedContent.fields &&\n\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\t_selectedContent.fields,\n\t\t\t\t\t_selectedContent.multiInstField,\n\t\t\t\t) &&\n\t\t\t\t!_selectedContent.uid\n\t\t\t) {\n\t\t\t\tconst _newRecordId = currentRecordId + 1;\n\t\t\t\t_selectedContent.uid = _newRecordId;\n\t\t\t\tsaveRecordId(_newRecordId);\n\t\t\t}\n\n\t\t\tupdateInteropContextForSelectedContent(_selectedContent);\n\t\t\tupdateInteropContextForSelectedContent(_selectedContent.parent);\n\n\t\t\tlet contextChanged = false;\n\t\t\tconst { context: prevContext } = selectedContent || {};\n\n\t\t\tconst changeContext = (ctx, content) => {\n\t\t\t\tconst path = get(ctx, 'path', null);\n\t\t\t\tconst activeRouteConfig = path\n\t\t\t\t\t? routerConfig.experienceRouteConfigs[path]\n\t\t\t\t\t: routerConfig;\n\t\t\t\tif (activeRouteConfig) {\n\t\t\t\t\tinitConfig(activeRouteConfig);\n\t\t\t\t\tconst _context = getContext(activeRouteConfig);\n\t\t\t\t\tset(\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t'context.experienceName',\n\t\t\t\t\t\t_context.experienceName,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (_selectedContent.updateUrl !== false) {\n\t\t\t\tif (_selectedContent != selectedContent) {\n\t\t\t\t\tconst { context } = _selectedContent || {};\n\t\t\t\t\tif (\n\t\t\t\t\t\tcontext &&\n\t\t\t\t\t\tcontext.path &&\n\t\t\t\t\t\t!routerConfig.experienceRouteConfigs[context.path]\n\t\t\t\t\t) {\n\t\t\t\t\t\tnavigateToExternal(context.path);\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!isEqual(context, prevContext)) {\n\t\t\t\t\t\tchangeContext(context, _selectedContent);\n\t\t\t\t\t\tcontextChanged = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tupdateUrl(_selectedContent, coeffects, false, true);\n\n\t\t\t\tif (\n\t\t\t\t\tget(\n\t\t\t\t\t\t_selectedContent,\n\t\t\t\t\t\t'navigationOptions.navigateExternal',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t) === true\n\t\t\t\t) {\n\t\t\t\t\tif (contextChanged) {\n\t\t\t\t\t\t//reset context\n\t\t\t\t\t\tchangeContext(prevContext, selectedContent);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'selectedContent',\n\t\t\t\t\t\tvalue: selectedContent,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (_selectedContent.reload) return {};\n\t\t\t}\n\n\t\t\tif (_selectedContent.encodedPersistedState === null) {\n\t\t\t\tconst encodedPersistedState =\n\t\t\t\t\tgetEncodedPersistedStateForSelectedContent(\n\t\t\t\t\t\t_selectedContent,\n\t\t\t\t\t\tcoeffects,\n\t\t\t\t\t);\n\t\t\t\t_selectedContent.encodedPersistedState = encodedPersistedState;\n\t\t\t} else {\n\t\t\t\tconst screenKey = getScreenKey(_selectedContent);\n\t\t\t\tdispatch(ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL, {\n\t\t\t\t\tscreenKey,\n\t\t\t\t\tencodedPersistedState:\n\t\t\t\t\t\t_selectedContent.encodedPersistedState,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'selectedContent',\n\t\t\t\tvalue: _selectedContent,\n\t\t\t};\n\t\t});\n\t}\n};\n\n/**\n * Updates the url parameters based off the current selectedContent and new contentUpdated.\n * @param {Object} rootContentUpdated\n * @param {Object} coeffects\n */\nexport const onRootContentUpdatedChange = (rootContentUpdated, coeffects) => {\n\tconst { properties, updateProperties } = coeffects;\n\n\tconst { selectedContent } = properties;\n\tif (selectedContent && rootContentUpdated) {\n\t\tconst newSelectedContent = {\n\t\t\t...selectedContent,\n\t\t\t...rootContentUpdated,\n\t\t\tparams: {\n\t\t\t\t...(selectedContent.params && selectedContent.params),\n\t\t\t\t...(rootContentUpdated.params && rootContentUpdated.params),\n\t\t\t},\n\t\t\t...{\n\t\t\t\tencodedPersistedState:\n\t\t\t\t\tgetEncodedPersistedStateForSelectedContent(\n\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\tcoeffects,\n\t\t\t\t\t),\n\t\t\t},\n\t\t};\n\t\tupdateInteropContextForSelectedContent(newSelectedContent);\n\t\tupdateInteropContextForSelectedContent(newSelectedContent.parent);\n\t\tif (!isEqual(selectedContent, newSelectedContent)) {\n\t\t\tupdateUrl({ ...newSelectedContent }, coeffects, true);\n\t\t\tupdateProperties({\n\t\t\t\tselectedContent: { ...newSelectedContent },\n\t\t\t});\n\t\t}\n\t}\n};\n\n// Router Life cycle effects\nconst routerBootStrappedEffect = async ({\n\thost,\n\tstate,\n\tproperties,\n\taction,\n\tdispatch,\n\tupdateProperties,\n}) => {\n\tboundPopStateHandler = _onPopState.bind(window, {\n\t\thost,\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateProperties,\n\t});\n\twindow.addEventListener('popstate', boundPopStateHandler, false);\n\n\twindow.addEventListener('beforeunload', () => {\n\t\tsaveTinyUrlCache();\n\t});\n\n\ttry {\n\t\tawait hydrateTinyUrlCache();\n\t} catch (err) {\n\t\tconsole.warn('[Router] Failed to hydrate tiny URL cache:', err);\n\t}\n\t// Add interruption handlers only if perf monitoring is enabled and if screen is not in preview mode.\n\tif (UXF_PERF_MONITORING_ENABLED && !isScreenPreviewMode)\n\t\taddInterruptionHandlers(host);\n\n\tconst { routerConfig } = state.properties;\n\tlet activeRouteConfig = routerConfig;\n\tsanitizeBaseUrl();\n\tconst expPath = getExperiencePath(routerConfig);\n\tif (expPath) {\n\t\tactiveRouteConfig = routerConfig.experienceRouteConfigs[expPath];\n\t\t//DEF0633758: populate nowUxfAppConfigSysId of root macroponent with the sysid of current navigated experience\n\t\tsetAppConfigToRootMacroponent(expPath);\n\t}\n\tconst context = getContext(activeRouteConfig);\n\tinitConfig(activeRouteConfig);\n\n\tinitBaseUrl(expPath);\n\n\tconst selectedContent = attemptGetSelectedContentFromURL(context);\n\tconst queryString = getQueryStringParams();\n\tinitCustomMetricsAndTrace(\n\t\tselectedContent,\n\t\tgetUrlFromSelectedContent(selectedContent),\n\t);\n\tupdateProperties({\n\t\tselectedContent: { ...selectedContent, queryString, updateUrl: false },\n\t\trouterInitiated: true,\n\t});\n\n\tconst { encodedPersistedState } = selectedContent;\n\n\t// DEF0676830: On directUrlLoad, If we are on url1 (with statePersistence) & move to url2 (without statePersistence), then PERSIST_STATE needs to be dispatched.\n\tif (selectedContent) {\n\t\tconst screenKey = getScreenKey(selectedContent);\n\t\t// on router bootstrap, dispatch persistedState information\n\t\tdispatch(ACTION_PERSIST_STATE_INIT_INTERNAL, {\n\t\t\tscreenKey,\n\t\t\tencodedPersistedState,\n\t\t});\n\t}\n};\n\nconst routerDisconnectedEffect = () => {\n\tif (boundPopStateHandler) {\n\t\twindow.removeEventListener('popstate', boundPopStateHandler, false);\n\t\tboundPopStateHandler = null;\n\t}\n\tremoveInterruptionHandlers();\n};\n\nexport const onActiveExperienceChange = async (\n\tactiveExperience,\n\t{ properties, updateProperties, dispatch },\n) => {\n\tif (isEmpty(activeExperience)) return;\n\n\tconst { path, _timestamp } = activeExperience;\n\tconst { routerConfig: prevRouterConfig, selectedContent = {} } = properties;\n\n\tconst requestedExpRouterConfig =\n\t\tawait getRequestedExperienceRouterConfiguration(\n\t\t\tpath,\n\t\t\tprevRouterConfig,\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t);\n\tconst routerConfig = requestedExpRouterConfig\n\t\t? requestedExpRouterConfig\n\t\t: prevRouterConfig; //default to previous router configs\n\n\tconst contextPath = get(selectedContent, 'context.path', null);\n\tif (contextPath && contextPath === path) return;\n\n\tif (path && routerConfig.experienceRouteConfigs[path]) {\n\t\tconst activeRouteConfig = routerConfig.experienceRouteConfigs[path];\n\t\tconst context = getContext(activeRouteConfig);\n\t\tinitConfig(activeRouteConfig);\n\t\tupdateExpBaseUrl(path, context?.experienceName);\n\t\tconst selectedContent = attemptGetSelectedContentFromURL(context);\n\t\tupdateProperties({\n\t\t\tselectedContent: {\n\t\t\t\t...selectedContent,\n\t\t\t\tupdateUrl: false,\n\t\t\t\t_timestamp,\n\t\t\t},\n\t\t});\n\t\tif (requestedExpRouterConfig) updateProperties({ routerConfig });\n\t\twindow.transaction_source = getTransactionSource(path);\n\t}\n};\n\nexport const onRootPersistedStateChange = (value, coeffects) => {\n\tconst {\n\t\tproperties: { selectedContent },\n\t\tupdateProperties,\n\t} = coeffects;\n\tif (isEmpty(selectedContent) || typeof value == 'string') return;\n\n\t// not updating any props. Using the helper to get latest selectedContent. Avoiding any timing issues due to stale props.\n\tupdateProperties(({ properties }) => {\n\t\tconst { selectedContent } = properties;\n\t\tif (!isEmpty(selectedContent))\n\t\t\tupdateUrl(selectedContent, coeffects, true, false);\n\t\treturn {\n\t\t\tshouldUpdate: false,\n\t\t};\n\t});\n};\n\nconst getParams = (selectedContent) => {\n\tconst { parent = {}, fields = {}, params = {} } = selectedContent;\n\n\treturn {\n\t\tfields,\n\t\tparams,\n\t\tparent: { fields: parent?.fields || {}, params: parent?.params || {} },\n\t};\n};\n\nconst routerPropertyChangedEffect = async (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tproperties,\n\t\tupdateProperties,\n\t} = coeffects;\n\n\tconst { routerInitiated } = properties;\n\n\tif (!routerInitiated) return null;\n\n\tswitch (name) {\n\t\tcase ROOT_SELECTED_NAV_ITEM:\n\t\t\tupdateActiveContextPath(\n\t\t\t\tvalue?.context?.path,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t\tawait onRootSelectedNavItemChange(value, coeffects);\n\t\t\tbreak;\n\n\t\tcase ROOT_CONTENT_UPDATED:\n\t\t\tonRootContentUpdatedChange(value, coeffects);\n\t\t\tbreak;\n\n\t\tcase ACTIVE_EXPERIENCE:\n\t\t\tupdateActiveContextPath(value?.path, properties, updateProperties);\n\t\t\tawait onActiveExperienceChange(value, coeffects);\n\t\t\tbreak;\n\n\t\tcase ROOT_PERSISTED_STATE:\n\t\t\tonRootPersistedStateChange(value, coeffects);\n\t\t\tbreak;\n\n\t\tcase 'selectedContent': {\n\t\t\tupdateActiveContextPath(\n\t\t\t\tvalue?.context?.path,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t\tconst route = createTokenizedPath(value);\n\n\t\t\tsetPage(route, {\n\t\t\t\thref: getUrlFromSelectedContent(value),\n\t\t\t\tquery: getQueryStringParams(),\n\t\t\t\troute: createTokenizedPath(value),\n\t\t\t\ttitle: window?.document?.title?.split(/\\s\\|\\s/)[0],\n\t\t\t\tname: value?.route,\n\t\t\t\tparams: getParams(value),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nconst lifeCycleHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: routerBootStrappedEffect,\n\t[COMPONENT_DISCONNECTED]: routerDisconnectedEffect,\n\t[COMPONENT_PROPERTY_CHANGED]: routerPropertyChangedEffect,\n};\n\nexport { lifeCycleHandlers };\nexport const exportsForTesting = {\n\trouterBootStrappedEffect,\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { snabbdom } from '@servicenow/ui-renderer-snabbdom';\n\nimport { lifeCycleHandlers } from './sn-canvas-router.effects';\nimport { getUXGlobalRouterConfiguration } from './sn-canvas-router.config';\n\nimport {\n\tROOT_SELECTED_NAV_ITEM,\n\tROOT_CONTENT_UPDATED,\n\tSN_CANVAS_ROUTER,\n\tROOT_PERSISTED_STATE,\n\tCONFIRM_POP_STATE_NAVIGATION,\n} from '../constants/constants';\nimport { renderSkipBehavior } from 'sn-canvas-common';\n\nexport default createCustomElement(SN_CANVAS_ROUTER, {\n\ttype: snabbdom,\n\tview: () => {},\n\tproperties: {\n\t\t[ROOT_SELECTED_NAV_ITEM]: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\t[ROOT_CONTENT_UPDATED]: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: false,\n\t\t},\n\t\t[ROOT_PERSISTED_STATE]: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\trouterConfig: {\n\t\t\tselectable: true,\n\t\t\tdefault: getUXGlobalRouterConfiguration(),\n\t\t\tdeepCompare: true,\n\t\t},\n\t\trouterInitiated: {\n\t\t\tdefault: false,\n\t\t},\n\t\tactiveExperience: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tactiveContextPath: {\n\t\t\tdefault: '',\n\t\t\tselectable: true,\n\t\t},\n\t\t/**\n\t\t * This property is used to confirm pop-state navigation\n\t\t * when page authors set \"confirmPopStateNavigationWhenDirty\"\n\t\t * page property to true.\n\t\t */\n\t\t[CONFIRM_POP_STATE_NAVIGATION]: {\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tbehaviors: [renderSkipBehavior],\n\tactionHandlers: { ...lifeCycleHandlers },\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"canvasClientBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'canvasClientBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasClientBehavior;\n\t\t\t\t\t} else if ('canvasClientBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.canvasClientBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].canvasClientBehavior;\n\t\t\t\t}, [\"getSessionPing\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'getSessionPing' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].getSessionPing;\n\t\t\t\t\t} else if ('getSessionPing' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.getSessionPing || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].getSessionPing;\n\t\t\t\t}, [\"sessionExtensionBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.__esModule\n\t\t\t\t\tif (cjsModule && 'sessionExtensionBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].sessionExtensionBehavior;\n\t\t\t\t\t} else if ('sessionExtensionBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__.sessionExtensionBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_canvas_core_addon_29_2_17_index_jsdbx_a4bb67bd__[\"default\"].sessionExtensionBehavior;\n\t\t\t\t} });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { SN_CANVAS_CLIENT } from '../constants/constants';\nimport { renderSkipBehavior } from 'sn-canvas-common';\nimport { canvasClientBehavior } from 'sn-canvas-core-addon';\n\ncreateCustomElement(SN_CANVAS_CLIENT, {\n\tproperties: {\n\t\tclientInfo: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\t// eslint-disable-next-line react/display-name\n\t\tview: () => <slot />\n\t},\n\tbehaviors: [\n\t\trenderSkipBehavior,\n\t\tcanvasClientBehavior\n\t]\n});\n","import { pick } from 'lodash';\nfunction convertToHash(keyInfo = {}) {\n\tlet hash = '',\n\t\tstack = [];\n\tif (keyInfo.hasOwnProperty('key')) return keyInfo.key;\n\tObject.keys(keyInfo).forEach((key) => {\n\t\tif (typeof keyInfo[key] === 'object' && keyInfo[key] !== null) {\n\t\t\tstack.push(keyInfo[key]);\n\t\t} else {\n\t\t\thash = hash\n\t\t\t\t? `${hash}~${key}~${keyInfo[key]}`\n\t\t\t\t: `${key}~${keyInfo[key]}`;\n\t\t}\n\t\twhile (stack.length) {\n\t\t\tconst obj = stack.pop();\n\t\t\tObject.keys(obj).forEach((k) => {\n\t\t\t\tif (typeof obj[k] === 'object' && obj[k] !== null)\n\t\t\t\t\tstack.push(obj[k]);\n\t\t\t\telse hash = hash ? `${hash}~${k}~${obj[k]}` : `${k}~${obj[k]}`;\n\t\t\t});\n\t\t}\n\t});\n\treturn hash;\n}\n\nfunction getKeyInfo(keyInfo) {\n\tif (keyInfo.hasOwnProperty('key')) return keyInfo.key;\n\treturn keyInfo;\n}\n\nfunction recoverContextFromKey(keyInfo) {\n\tif (!keyInfo) return null;\n\tif (!keyInfo.hasOwnProperty('key')) return { ...keyInfo.fields };\n\n\tconst key = keyInfo.key;\n\tconst parts = key.split('~');\n\tlet fields = {};\n\tfor (let i = 1; i < parts.length - 1; i = i + 2) {\n\t\tlet j = i + 1;\n\t\tfields[parts[i]] = parts[j];\n\t}\n\treturn { ...fields };\n}\n\nconst mapToAggregation = (function() {\n\tconst aggregationMap = new Map();\n\taggregationMap.set('inserted', 'crud');\n\taggregationMap.set('created', 'crud');\n\taggregationMap.set('updated', 'crud');\n\taggregationMap.set('modified', 'crud');\n\taggregationMap.set('deleted', 'crud');\n\taggregationMap.set('removed', 'crud');\n\taggregationMap.set('opened', 'crud');\n\taggregationMap.set('viewed', 'crud');\n\taggregationMap.set('closed', 'crud');\n\n\treturn function(status) {\n\t\tconst hasStatus = aggregationMap.has(status);\n\t\tif (hasStatus) return aggregationMap.get(status);\n\t\treturn 'info';\n\t};\n})();\n\n/**\n * ActivityLogger\n * A singleton class to log activity aggrgated by key. Key is usually a route plus fields but can be anything.\n */\nclass ActivityLogger {\n\tconstructor() {\n\t\tthis._activityMap = new Map();\n\t}\n\n\t/**\n\t * Add log to the internal data store\n\t * @param {*} data object describing the parent and child with actual action taken\n\t * @param data.keyInfo object\n\t * @param data.logInfo object with arbitary key/value pairs and operation e.g {'myThing': 'Awesome', operation: 'updated'}\n\t */\n\tlog(data) {\n\t\tconst { keyInfo, logInfo = {} } = data;\n\t\tconst _logInfo = { ...logInfo, timestamp: Date.now() };\n\t\tconst _hash = convertToHash(keyInfo);\n\t\tconst existingRecord = this._activityMap.get(_hash);\n\t\tif (existingRecord) {\n\t\t\tlet newActivities;\n\t\t\tconst existingActivities = existingRecord.activities;\n\t\t\tconst activityKey = mapToAggregation(_logInfo.operation);\n\t\t\tconst hasAggregationKey = existingActivities.has(activityKey);\n\t\t\tif (hasAggregationKey) {\n\t\t\t\tconst existingActivity = existingActivities.get(activityKey);\n\t\t\t\tnewActivities = new Map(existingActivities);\n\t\t\t\tnewActivities.set(activityKey, [\n\t\t\t\t\t...existingActivity,\n\t\t\t\t\t{ ..._logInfo },\n\t\t\t\t]);\n\t\t\t} else {\n\t\t\t\tnewActivities = new Map(existingActivities);\n\t\t\t\tnewActivities.set(activityKey, [{ ..._logInfo }]);\n\t\t\t}\n\n\t\t\tthis._activityMap.set(_hash, {\n\t\t\t\tactivities: newActivities,\n\t\t\t\t_keyInfo: getKeyInfo(keyInfo),\n\t\t\t\tcontext: recoverContextFromKey(keyInfo),\n\t\t\t});\n\t\t} else {\n\t\t\tlet activities = new Map(this._activityMap.activities || []);\n\t\t\tconst activitykey = mapToAggregation(_logInfo.operation);\n\t\t\tconst hasAggregationKey =\n\t\t\t\tthis._activityMap.activities instanceof Map &&\n\t\t\t\tthis._activityMap.activities.has(activitykey);\n\t\t\tif (hasAggregationKey) {\n\t\t\t\tconst existingLogInfo = this._activityMap.activities.get(\n\t\t\t\t\tactivitykey,\n\t\t\t\t);\n\t\t\t\tactivities = new Map([...existingLogInfo, { ..._logInfo }]);\n\t\t\t} else {\n\t\t\t\tactivities.set(mapToAggregation(_logInfo.operation), [\n\t\t\t\t\t{ ..._logInfo },\n\t\t\t\t]);\n\t\t\t}\n\t\t\tthis._activityMap.set(_hash, {\n\t\t\t\tactivities: activities,\n\t\t\t\t_keyInfo: getKeyInfo(keyInfo),\n\t\t\t\tcontext: recoverContextFromKey(keyInfo),\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Retrieve all logs\n\t */\n\tgetAll() {\n\t\tconst result = new Map();\n\t\tthis._activityMap.forEach((value) => {\n\t\t\tresult.set(value._keyInfo, pick(value, ['activities', 'context']));\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Retrieve a single record represented by keyInfo\n\t * @param {(*)} keyInfo\n\t */\n\tgetSingle(keyInfo) {\n\t\tconst key = convertToHash(keyInfo);\n\t\treturn pick(this._activityMap.get(key), ['activities', 'context']);\n\t}\n\n\trecordHasOperation(keyInfo, sysId, operation) {\n\t\tconst recordEntry = this.getSingle(keyInfo);\n\t\tif (recordEntry && recordEntry.hasOwnProperty('activities')) {\n\t\t\tconst recordActivities =\n\t\t\t\trecordEntry['activities'].get('crud') || [];\n\t\t\treturn recordActivities.some(\n\t\t\t\t(item) => item.operation == operation && item.sysId == sysId,\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Clear all the record logs\n\t */\n\tclearAll() {\n\t\tthis._activityMap.clear();\n\t}\n\n\t/**\n\t * Clear a single record represented by keyInfo\n\t * @param {*} keyInfo\n\t */\n\tclearSingle(keyInfo) {\n\t\tconst key = convertToHash(keyInfo);\n\t\tif (this._activityMap.has(key)) this._activityMap.delete(key);\n\t}\n\n\t/**\n\t * Clear multiple record represented by keyInfoArray\n\t * @param {[*]} keyInfoArray\n\t */\n\tclearMultiple(keyInfoArray = []) {\n\t\tkeyInfoArray.forEach((key) => this.clearSingle(key));\n\t}\n}\n\nconst activityLogger = new ActivityLogger();\nObject.freeze(activityLogger);\n\nexport { activityLogger, convertToHash, recoverContextFromKey };\n","/**\n * Normalize a record sysId for activity logging.\n *\n * Some Canvas flows append a unique suffix to a sysId (e.g. `sysId_uid_17`).\n * This helper strips the `_uid_` suffix so consumers can reliably compare ids.\n *\n * @param {{sysId?: string | null}} activity\n * @returns {string | null | undefined} Cleaned sysId (or the original value when not applicable).\n */\nexport const getCleanSysId = (activity) => {\n\tconst sysId = activity.sysId;\n\treturn sysId?.includes('_uid_') ? sysId.split('_uid_')[0] : sysId;\n};\n\n/**\n * Determine whether an activity refers to a \"new\" (unsaved) record.\n *\n * Canvas may represent new records with temporary negative sysIds like `-1`, `-12`, etc.\n * This helper treats any cleaned sysId that starts with `-1` as a new record.\n *\n * @param {{sysId?: string | null}} activity\n * @returns {boolean}\n */\nexport const isNewRecord = (activity) => {\n\tconst cleanSysId = String(getCleanSysId(activity) ?? '');\n\treturn cleanSysId.startsWith('-1');\n};\n","import {\n\tHOISTED_CONTENT_SCREEN_UPDATED,\n\tUPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS,\n} from '../../constants/constants';\n\nexport const dispatchUpdateHoistedContentForActiveRecords = (\n\tdispatch,\n\tscreenObject,\n) => {\n\t//check if screenObject contains an object key named hasChatOnPage and does not have an object key named parent\n\tif (\n\t\ttypeof screenObject === 'object' &&\n\t\tscreenObject !== null &&\n\t\tscreenObject.hasChatOnPage !== undefined\n\t) {\n\t\tdispatch(UPDATE_HOISTED_CONTENT_FOR_ACTIVE_RECORDS, {\n\t\t\t...screenObject.fields,\n\t\t\thasChatOnPage: !!screenObject.hasChatOnPage,\n\t\t\tisMainSessionTab: !screenObject.parent,\n\t\t\texperienceId: screenObject.experienceId,\n\t\t});\n\t}\n};\n\n/**\n * @description Dispatches the updated screen selected for hoisted content\n * @param {function} dispatch - the dispatch function from the coeffects\n * @param {object} screenObject - the screenData associated with the screen\n * @param {function} getScreenKeyFn - the callback function to generate a screen key\n */\nexport const dispatchUpdatedScreenSelectedForHoistedContent = (\n\tdispatch,\n\tscreenObject,\n\tgetScreenKeyFn,\n) => {\n\tconst currentScreenKey = screenObject?.parent\n\t\t? getScreenKeyFn(screenObject.parent)\n\t\t: screenObject.screenKey;\n\tconst hoistedContentConfiguration =\n\t\twindow?.ux_globals?.['__hoistedContentConfiguration'] || {};\n\n\tconst hoistedContent = Object.values(hoistedContentConfiguration).find(\n\t\t({ activeHoistedContent }) => activeHoistedContent === currentScreenKey,\n\t);\n\n\tconst getHoistedContentConfiguration = {\n\t\t...hoistedContent,\n\t\tactiveHoistedContent: hoistedContent\n\t\t\t? hoistedContent.activeHoistedContent\n\t\t\t: null,\n\t\tisHidden: hoistedContent ? hoistedContent.isHidden : null,\n\t\thasHoistedContent: screenObject.hasUtilityPanel ?? null,\n\t};\n\n\tdispatch(HOISTED_CONTENT_SCREEN_UPDATED, {\n\t\tparentScreenKey: currentScreenKey,\n\t\tisMainSessionTab: !screenObject.parent,\n\t\tscreenData: screenObject,\n\t\thoistedContentConfiguration: getHoistedContentConfiguration,\n\t});\n};\n","import { get, isEqual, isEmpty, isNumber } from 'lodash';\nimport {\n\tdispatchUpdatedScreenSelectedForHoistedContent,\n\tdispatchUpdateHoistedContentForActiveRecords,\n} from '../../utils/utility-panel/util';\nimport { UXF_WM_SCREEN_SELECTED } from '../../constants/constants';\nimport { getScreenKey, interopContextRegex } from 'sn-canvas-common';\n\nconst DEFAULT_MAX_CACHED_SCREEN_COUNT = 30;\nconst DEFAULT_MAX_ACTIVE_SCREEN_COUNT = 10; // remaining screens will be suspended\n\nconst EXP_CONFIGS = get(window, 'ux_globals.experienceConfigs', {});\n\nexport const recoverContentFromKey = (key, selectedContentFields) => {\n\tif (!key) return;\n\n\tlet interopContext;\n\tconst keyWithoutInteropContext = key.replace(\n\t\tinteropContextRegex,\n\t\t(match, captured) => {\n\t\t\tinteropContext = {\n\t\t\t\texpKey: captured,\n\t\t\t\tisDependent: true,\n\t\t\t\tisInterop: true,\n\t\t\t};\n\t\t\treturn '';\n\t\t},\n\t);\n\n\tconst parts = keyWithoutInteropContext.split('~');\n\tconst route = parts[0];\n\tlet fields = {};\n\tfor (let i = 1; i < parts.length - 1; i = i + 2) {\n\t\tlet j = i + 1;\n\t\tfields[parts[i]] = parts[j];\n\t}\n\tif (\n\t\tfields?.table &&\n\t\tselectedContentFields?.table &&\n\t\tfields.table !== selectedContentFields.table\n\t)\n\t\tfields.table = selectedContentFields.table;\n\treturn { route, fields, ...(interopContext ? { interopContext } : {}) };\n};\n\nconst getSuspendableDiscardableScreens = (screensData, properties) => {\n\tconst { mainConfig } = properties;\n\n\tconst { maxCachedPageCount, maxActivePageCount } = mainConfig || {};\n\tconst MAX_CACHED_SCREEN_COUNT =\n\t\tisNumber(maxCachedPageCount) && maxCachedPageCount >= 0\n\t\t\t? maxCachedPageCount\n\t\t\t: DEFAULT_MAX_CACHED_SCREEN_COUNT;\n\n\tlet MAX_ACTIVE_SCREEN_COUNT =\n\t\tisNumber(maxActivePageCount) && maxActivePageCount >= 0\n\t\t\t? maxActivePageCount\n\t\t\t: DEFAULT_MAX_ACTIVE_SCREEN_COUNT;\n\n\tif (MAX_ACTIVE_SCREEN_COUNT > MAX_CACHED_SCREEN_COUNT)\n\t\tMAX_ACTIVE_SCREEN_COUNT = MAX_CACHED_SCREEN_COUNT;\n\n\tlet suspendableScreens = [];\n\tlet discardableScreens = [];\n\tconst sorted = [...Object.keys(screensData)]\n\t\t.sort(\n\t\t\t(a, b) =>\n\t\t\t\tscreensData[b].lastActiveTimeStamp -\n\t\t\t\tscreensData[a].lastActiveTimeStamp,\n\t\t)\n\t\t.filter((a) => screensData[a].isDirty !== true)\n\t\t.filter((a) => screensData[a].isActive === false);\n\n\t//MAX_ACTIVE_SCREEN_COUNT must always be less than MAX_CACHED_SCREEN_COUNT\n\tif (sorted.length > MAX_ACTIVE_SCREEN_COUNT) {\n\t\tconst endIdx =\n\t\t\tsorted.length > MAX_CACHED_SCREEN_COUNT\n\t\t\t\t? MAX_CACHED_SCREEN_COUNT\n\t\t\t\t: sorted.length;\n\t\tsuspendableScreens = sorted.slice(MAX_ACTIVE_SCREEN_COUNT, endIdx);\n\t\tdiscardableScreens = sorted.slice(endIdx);\n\t}\n\treturn { suspendableScreens, discardableScreens };\n};\n\nconst unSuspendScreens = (screensData) => {\n\tconst newScreensData = {};\n\tfor (let [key, value] of Object.entries(screensData)) {\n\t\tconst screenData = { ...value };\n\t\tnewScreensData[key] = {\n\t\t\t...screenData,\n\t\t\tsuspended: false,\n\t\t\tdiscarded: false,\n\t\t};\n\t}\n\treturn newScreensData;\n};\n\nconst areFieldsValid = (fields) => {\n\tconst invalidValues = ['', undefined, null];\n\tfor (const [, value] of Object.entries(fields)) {\n\t\tfor (const val of invalidValues) {\n\t\t\tif (value === val) return false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const getPrimaryExperience = () => {\n\tconst currentExperience = get(\n\t\tEXP_CONFIGS,\n\t\tget(window, 'ux_globals.siteName', ''),\n\t\t{},\n\t);\n\treturn get(\n\t\tEXP_CONFIGS,\n\t\tget(currentExperience, 'primaryExperience', ''),\n\t\t{},\n\t);\n};\n\nexport const getPrimaryExperienceRoutes = () => {\n\tconst primaryExperience = getPrimaryExperience();\n\treturn get(primaryExperience, 'appRouteConfiguration.routes', {});\n};\n\nconst doesResolveToSameScreen = (selectedContent, otherSelectedContent) => {\n\tif (isEmpty(selectedContent) || isEmpty(otherSelectedContent)) return;\n\tconst { route, fields } = selectedContent;\n\tconst { route: otherRoute, fields: otherFields } = otherSelectedContent;\n\tif (\n\t\troute &&\n\t\totherRoute &&\n\t\troute === otherRoute &&\n\t\t((isEmpty(fields) && isEmpty(otherFields)) ||\n\t\t\tisEqual(fields, otherFields))\n\t)\n\t\treturn true;\n\treturn false;\n};\n\nconst isInvalidParentLoad = (properties) => {\n\tconst { selectedContent } = properties;\n\treturn (\n\t\tisEmpty(selectedContent) ||\n\t\ttypeof selectedContent === 'string' ||\n\t\t!selectedContent.route ||\n\t\tisEmpty(selectedContent.parent) ||\n\t\tdoesResolveToSameScreen(selectedContent, selectedContent.parent)\n\t);\n};\n\nconst getResolvedScreenFromAppliedPageFragment = (\n\tselectedContent,\n\tpath,\n\troute,\n\trouteToScreenMap,\n\trouteToScreenMapInterop,\n\trouteToScreenMapInteropProviders,\n) => {\n\tconst _fields = { ...selectedContent?.fields };\n\tconst { interopContext } = selectedContent;\n\tconst appliedPageFragments = get(\n\t\twindow,\n\t\t'ux_globals.appliedPageFragments',\n\t\t[],\n\t);\n\tif (\n\t\tselectedContent.multiInstField &&\n\t\t_fields[selectedContent.multiInstField]\n\t)\n\t\t_fields[selectedContent.multiInstField] =\n\t\t\t_fields[selectedContent.multiInstField].split('_uid_')[0];\n\n\tconst fieldCount = Object.keys(_fields).length;\n\tconst routeKey = `${route}[${fieldCount}]`;\n\n\tconst localRoute = get(routeToScreenMap, routeKey, {});\n\tconst interoperableRoutes = get(routeToScreenMapInterop, routeKey, []);\n\tlet dependentRoutes = [];\n\n\tif (interopContext?.isDependent) {\n\t\tconst providerRoute = get(\n\t\t\trouteToScreenMapInteropProviders?.get(interopContext?.expKey) || {},\n\t\t\trouteKey,\n\t\t\tnull,\n\t\t);\n\t\tdependentRoutes = providerRoute ? [providerRoute] : [];\n\t}\n\n\tif (\n\t\tisEmpty(appliedPageFragments) ||\n\t\tisEmpty(selectedContent) ||\n\t\t(isEmpty(localRoute) &&\n\t\t\tisEmpty(interoperableRoutes) &&\n\t\t\tisEmpty(dependentRoutes))\n\t)\n\t\treturn;\n\n\t/**\n\t * Check applicable route first in interoperable routes , then in local routes and then in dependentRoutes\n\t * The current constraint is that for a given route having given number of fields, the definition of fields and params is\n\t * consistent across interoperable, local and dependent routes.\n\t */\n\tlet resolvedScreenMacroponent;\n\tlet applicableRoute;\n\tconst screenAppliedPageFragment = appliedPageFragments[0];\n\n\t//Interoperable Routes\n\tfor (const interopRoute of interoperableRoutes) {\n\t\tconst { macroponents } = interopRoute;\n\t\tresolvedScreenMacroponent = macroponents?.find(\n\t\t\t(mcp) =>\n\t\t\t\tmcp.macroponentSysId ===\n\t\t\t\tscreenAppliedPageFragment?.pageFragmentSysId,\n\t\t);\n\t\tif (resolvedScreenMacroponent) {\n\t\t\tapplicableRoute = interopRoute;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t//Local routes\n\tif (!resolvedScreenMacroponent || !applicableRoute) {\n\t\tresolvedScreenMacroponent = localRoute?.macroponents?.find(\n\t\t\t(mcp) =>\n\t\t\t\tmcp.macroponentSysId ===\n\t\t\t\tscreenAppliedPageFragment?.pageFragmentSysId,\n\t\t);\n\t\tif (resolvedScreenMacroponent) applicableRoute = localRoute;\n\t}\n\n\t//Dependent routes\n\tif (!resolvedScreenMacroponent || !applicableRoute) {\n\t\tfor (const dependentRoute of dependentRoutes) {\n\t\t\tconst { macroponents } = dependentRoute;\n\t\t\tresolvedScreenMacroponent = macroponents?.find(\n\t\t\t\t(mcp) =>\n\t\t\t\t\tmcp.macroponentSysId ===\n\t\t\t\t\tscreenAppliedPageFragment?.pageFragmentSysId,\n\t\t\t);\n\t\t\tif (resolvedScreenMacroponent) {\n\t\t\t\tapplicableRoute = dependentRoute;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!resolvedScreenMacroponent) return;\n\n\tconst mismatch = applicableRoute.fields.some(\n\t\t(field) =>\n\t\t\t_fields[field] !== screenAppliedPageFragment?.propValues[field],\n\t);\n\n\tif (mismatch) return;\n\n\tif (\n\t\tselectedContent?.context?.path === path &&\n\t\tselectedContent?.route === route\n\t) {\n\t\treturn resolvedScreenMacroponent.macroponentSysId;\n\t}\n};\n\nconst generateHydrationKey = (length = 6) => {\n\tconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n\tlet result = '';\n\tfor (let i = 0; i < length; i++) {\n\t\tresult += chars.charAt(Math.floor(Math.random() * chars.length));\n\t}\n\treturn result;\n};\n\nexport const getExperienceKeyFromAppConfigId = (appConfigId) => {\n\treturn Object.entries(window.ux_globals.experienceConfigs ?? {}).find(\n\t\t([, config]) => config.appConfigId === appConfigId,\n\t)?.[0];\n};\n\nconst handleHoistedContentUpdates = (dispatch, screenObject) => {\n\tdispatchUpdateHoistedContentForActiveRecords(dispatch, screenObject);\n\tdispatchUpdatedScreenSelectedForHoistedContent(\n\t\tdispatch,\n\t\tscreenObject,\n\t\tgetScreenKey,\n\t);\n};\n\nconst updateScreenContentWhenParentPresent = (\n\tmacroponents,\n\tparentObj,\n\tmcpObj,\n\tevaluateConditionFn,\n) => {\n\tif (parentObj) {\n\t\tfor (let i = 0; i < macroponents.length; i++) {\n\t\t\tlet obj = macroponents[i];\n\t\t\tif (evaluateConditionFn(obj?.parsedCondition, parentObj) === true) {\n\t\t\t\tmcpObj = {\n\t\t\t\t\t...mcpObj,\n\t\t\t\t\thasChatOnPage: obj?.hasChatOnPage,\n\t\t\t\t\thasUtilityPanel: obj?.hasUtilityPanel,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn mcpObj;\n};\n\n/**\n * For Dirty State Manager API see uxf-monorepo/library-uxf/src/dirtyStateManager/index.js\n * @returns Returns the global instance of the dirtyStateManager.\n */\nconst getDirtyStateManager = () => {\n\tif (!window?.uxf?.dirtyStateManager) {\n\t\tthrow new Error(\n\t\t\t'DirtyStateManager not found on window. ' +\n\t\t\t\t'Make sure the library-uxf dirtyStateManager is initialized.',\n\t\t);\n\t}\n\treturn window?.uxf?.dirtyStateManager;\n};\n\n/**\n * Handles the window manager screen selection by dispatching the UXF_WM_SCREEN_SELECTED event\n * with the appropriate payload containing screen information\n *\n * @param {Function} dispatch - The dispatch function\n * @param {Object} screenContent - The screen content object that may contain parent information\n * @param {String} screenKey - The key identifying the current screen\n * @param {String} experienceId - The ID of the current experience\n */\nconst handleWindowManagerScreenSelected = (\n\tdispatch,\n\tscreenContent,\n\tscreenKey,\n\texperienceId,\n) => {\n\tlet parentScreenKey;\n\tconst finalScreenKey =\n\t\tscreenKey || get(window, 'ux_globals.snCanvasScreen.screenId');\n\tconst finalExperienceId =\n\t\texperienceId || get(window, 'ux_globals.experienceId');\n\tif (screenContent.parent)\n\t\tparentScreenKey = getScreenKey(screenContent.parent);\n\n\tconst wmScreenSelectedPayload = {\n\t\tscreenKey: finalScreenKey,\n\t\texperienceId: finalExperienceId,\n\t};\n\n\tif (parentScreenKey)\n\t\twmScreenSelectedPayload.parentScreenKey = parentScreenKey;\n\n\tdispatch(UXF_WM_SCREEN_SELECTED, wmScreenSelectedPayload);\n};\n\n/**\n * Merges screen data by removing the `parent` field if needed,\n * and returns updated screensData with the new screen entry.\n *\n * @param {Object} options\n * @param {Object} options.newScreensData - current screens data\n * @param {String} options.screenKey - screen key to update\n * @param {Object} options.screenContent - new screen content\n * @param {Boolean} options.hasScreen - whether the screen already exists\n * @param {String} options.uxrInteractionId - current uxrInteractionId\n * @returns {Object} updated screensData\n */\nconst mergeScreenDataWithoutParent = ({\n\tnewScreensData,\n\tscreenKey,\n\tscreenContent,\n\thasScreen,\n\tuxrInteractionId,\n}) => {\n\tlet updatedScreenContent = { ...screenContent };\n\tlet cleanedOldScreen = newScreensData[screenKey];\n\tif (!screenContent.parent) {\n\t\tupdatedScreenContent = { ...updatedScreenContent };\n\t\tdelete updatedScreenContent.parent;\n\t}\n\n\tif (hasScreen && cleanedOldScreen && !screenContent.parent) {\n\t\tcleanedOldScreen = { ...cleanedOldScreen };\n\t\tdelete cleanedOldScreen.parent;\n\t}\n\n\treturn {\n\t\tupdatedScreensData: {\n\t\t\t...newScreensData,\n\t\t\t[screenKey]: {\n\t\t\t\t...(hasScreen && cleanedOldScreen),\n\t\t\t\t...updatedScreenContent,\n\t\t\t\tuxrInteractionId,\n\t\t\t},\n\t\t},\n\t};\n};\n\nconst getScreenDataFromInteropAndLocal = (\n\t{ interop = [], local = null },\n\tresolvedMacroponentSysId,\n) => {\n\t// First try to find a match in interop routes\n\tfor (const interopRoute of interop) {\n\t\tconst matched = interopRoute?.macroponents?.find(\n\t\t\t(mcp) => mcp.macroponentSysId === resolvedMacroponentSysId,\n\t\t);\n\t\tif (matched) {\n\t\t\tconst {\n\t\t\t\tappConfigId,\n\t\t\t\tinteroperableRouteSysId,\n\t\t\t\tmacroponents,\n\t\t\t\tscreenType,\n\t\t\t\tname: title,\n\t\t\t} = interopRoute;\n\t\t\treturn {\n\t\t\t\tmacroponentObject: matched,\n\t\t\t\tinteropContext: {\n\t\t\t\t\tinteroperableRouteSysId,\n\t\t\t\t\tappConfigId,\n\t\t\t\t\tisInterop: true,\n\t\t\t\t},\n\t\t\t\tmacroponents,\n\t\t\t\tappConfigId,\n\t\t\t\tscreenType,\n\t\t\t\ttitle,\n\t\t\t};\n\t\t}\n\t}\n\n\t// If no interop match found and we have a local route, use that\n\tif (local) {\n\t\tconst macroponents = local.macroponents;\n\t\tconst macroponentObject = macroponents.find(\n\t\t\t(macroponent) =>\n\t\t\t\tmacroponent.macroponentSysId === resolvedMacroponentSysId,\n\t\t);\n\n\t\tif (macroponentObject) {\n\t\t\treturn {\n\t\t\t\tmacroponentObject,\n\t\t\t\tmacroponents,\n\t\t\t\tscreenType: local.screenType,\n\t\t\t\ttitle: local.name,\n\t\t\t};\n\t\t}\n\t}\n\n\treturn;\n};\n\nexport {\n\tgetSuspendableDiscardableScreens,\n\tunSuspendScreens,\n\tareFieldsValid,\n\tdoesResolveToSameScreen,\n\tisInvalidParentLoad,\n\tgetResolvedScreenFromAppliedPageFragment,\n\tgenerateHydrationKey,\n\thandleHoistedContentUpdates,\n\tupdateScreenContentWhenParentPresent,\n\tgetDirtyStateManager,\n\thandleWindowManagerScreenSelected,\n\tmergeScreenDataWithoutParent,\n\tgetScreenDataFromInteropAndLocal,\n};\n","import { isEqual } from '@devsnc/snowdash';\nimport { has } from '@devsnc/snowdash';\nimport { t } from 'sn-translate';\nimport {\n\tSCREEN_STATUS_CHANGED,\n\tACTIVE_SCREEN_RENDERED,\n\tSCREEN_TITLES_REGISTRATION_REQUESTED,\n\tNAV_ITEM_SELECTED,\n\tSCREEN_STATUS_ACTION_CLOSE_IF_CLEAN,\n\tNOW_UXF_PAGE_ADD_NOTIFICATIONS,\n\tSCREEN_CLOSE_STATUS_CANCELLED,\n\tSCREEN_CLOSE_STATUS_CONFIRMED,\n\tRESOLVE_STAGED_NOTIFICATIONS,\n} from '../constants/constants';\nimport { activityLogger } from '../utils/activity-logger';\nimport { getCleanSysId, isNewRecord } from '../utils/activity-log-helpers';\nimport { recoverContentFromKey } from '../behaviors/sn-canvas-screens/sn-canvas-screens.util';\nimport {\n\tapplyNotificationOverrides,\n\tremoveNotificationOverrides,\n} from '../utils/notificationUtils';\nimport {\n\tnowTitle,\n\tcreateBrowserTabTitle,\n\tsetBrowserTabTitle,\n\tgenerateScreenKey,\n} from 'sn-canvas-common';\nimport { declarativeOperations, getComponentById } from '@servicenow/ui-core';\n\nexport const _getAppConfigID = (experienceId) => {\n\tconst experienceConfigs = window.ux_globals?.experienceConfigs ?? {};\n\n\t// Find key/value pair of experienceConfig containing experienceId\n\tconst activeExperienceConfig = Object.fromEntries(\n\t\tObject.entries(experienceConfigs).filter(\n\t\t\t([, value]) => value?.experienceId === experienceId,\n\t\t),\n\t);\n\n\t// Get context path (key) of the experienceConfig containing experienceId\n\tconst activeExperienceKey = Object.keys(activeExperienceConfig)[0];\n\treturn (\n\t\tactiveExperienceConfig?.[activeExperienceKey]?.pageSettings?.sysId ?? ''\n\t);\n};\n\nexport const isKeyUpdateRequired = (screenParams) => {\n\tif (!screenParams) return false;\n\tconst keyArray = Object.keys(screenParams);\n\tif (keyArray.length === 0) return false;\n\n\treturn keyArray.every((key) => !!screenParams[key]);\n};\n\nexport const getScreenConfigurationLink = (\n\tscreenId,\n\tscreenTypeId,\n\texperienceId,\n) => {\n\treturn `/now/build/ui/apps/${_getAppConfigID(\n\t\texperienceId,\n\t)}/pages/${screenTypeId}/variants/${screenId}`;\n};\n\nexport const updateActivityLogs = (\n\tactiveKey,\n\tupdateProperties,\n\t_activityLogs,\n) => {\n\tif (!activeKey) return;\n\n\tif (!_activityLogs) _activityLogs = activityLogger.getAll();\n\n\t//updateActiveLogContext\n\tfor (let [_key, _value] of _activityLogs.entries()) {\n\t\t_value.context = { ..._value.context, isActive: _key === activeKey };\n\t}\n\tupdateProperties({\n\t\tactivityLogs: _activityLogs,\n\t});\n};\nexport const saveOrUpdateLog = (\n\t_key,\n\tscreenParams = {},\n\tstatus,\n\tselectedContent,\n\tcallbackFn,\n) => {\n\tconst isRelatedRecord = (selectedContent) => {\n\t\treturn (\n\t\t\tselectedContent &&\n\t\t\tselectedContent.parent &&\n\t\t\tselectedContent.fields &&\n\t\t\t!isNewRecord({\n\t\t\t\tsysId:\n\t\t\t\t\tselectedContent.fields['sysId'] ??\n\t\t\t\t\tselectedContent.fields['sys_id'],\n\t\t\t})\n\t\t);\n\t};\n\n\tconst isSubNav = (navInfo) => navInfo && navInfo.parent;\n\tconst shouldSkip = (logInfo) =>\n\t\tisNewRecord({ sysId: logInfo.sysId ?? logInfo.sys_id });\n\tif (!status && isRelatedRecord(selectedContent)) {\n\t\tlet parentkey = generateScreenKey(\n\t\t\tselectedContent.parent.fields || {},\n\t\t\tselectedContent.parent.route,\n\t\t\tselectedContent.parent.interopContext,\n\t\t);\n\t\tconst recordSysId = getCleanSysId({\n\t\t\tsysId:\n\t\t\t\tselectedContent?.fields?.sysId ??\n\t\t\t\tselectedContent?.fields?.sys_id,\n\t\t});\n\t\tif (\n\t\t\tactivityLogger.recordHasOperation(\n\t\t\t\t{ key: parentkey },\n\t\t\t\trecordSysId,\n\t\t\t\t'opened',\n\t\t\t)\n\t\t)\n\t\t\treturn;\n\n\t\tstatus = 'opened';\n\t}\n\n\tif (!status || status.length === 0) return;\n\tlet keyInfo = { key: _key };\n\tconst incomingContent = recoverContentFromKey(\n\t\t_key,\n\t\tselectedContent?.fields,\n\t);\n\tlet logInfo = { ...incomingContent.fields, operation: status };\n\tif (!logInfo.sysId && logInfo.sys_id) logInfo.sysId = logInfo.sys_id;\n\tlogInfo.sysId = getCleanSysId(logInfo);\n\tif (screenParams && status === 'inserted' && incomingContent.route) {\n\t\tkeyInfo = {\n\t\t\t...keyInfo,\n\t\t\tkey: generateScreenKey(\n\t\t\t\t{ ...incomingContent.fields, ...screenParams },\n\t\t\t\tincomingContent.route,\n\t\t\t\tincomingContent.interopContext,\n\t\t\t),\n\t\t};\n\t\tlogInfo = { ...screenParams, operation: status };\n\t\tlogInfo.sysId = getCleanSysId(logInfo);\n\t}\n\tconst normalizedOperation = logInfo.operation?.toLowerCase?.()?.trim?.();\n\tif (normalizedOperation === 'viewed') {\n\t\tconst inferredTable =\n\t\t\tlogInfo.table ||\n\t\t\tscreenParams?.table ||\n\t\t\tselectedContent?.fields?.table ||\n\t\t\tselectedContent?.parent?.fields?.table;\n\t\tconst normalizedTable = String(inferredTable ?? '')\n\t\t\t.toLowerCase()\n\t\t\t.trim();\n\t\tif (\n\t\t\t!normalizedTable ||\n\t\t\tnormalizedTable === 'undefined' ||\n\t\t\tnormalizedTable === 'null'\n\t\t)\n\t\t\treturn;\n\t\tlogInfo.table = inferredTable;\n\t}\n\tif (isSubNav(selectedContent))\n\t\tkeyInfo = {\n\t\t\t...keyInfo,\n\t\t\tkey: generateScreenKey(\n\t\t\t\tselectedContent.parent.fields || {},\n\t\t\t\tselectedContent.parent.route,\n\t\t\t\tselectedContent.parent.interopContext,\n\t\t\t),\n\t\t};\n\tif (shouldSkip(logInfo)) return;\n\tactivityLogger.log({ keyInfo, logInfo });\n\tcallbackFn(activityLogger.getAll());\n};\n\nconst activeScreenRenderedEffect = ({\n\taction,\n\tupdateProperties,\n\tproperties,\n}) => {\n\tconst { experienceId } = properties;\n\tconst { activeScreenId, screenMetaData } = action.payload;\n\tconst { screenType, screenId } = screenMetaData;\n\n\tconst linkToCurrentScreenConfiguration =\n\t\tscreenType && screenId\n\t\t\t? {\n\t\t\t\t\tlabel: t('Edit page'),\n\t\t\t\t\thref: getScreenConfigurationLink(\n\t\t\t\t\t\tscreenId,\n\t\t\t\t\t\tscreenType,\n\t\t\t\t\t\texperienceId,\n\t\t\t\t\t),\n\t\t\t\t}\n\t\t\t: {};\n\tupdateActivityLogs(activeScreenId, updateProperties);\n\tupdateProperties({\n\t\tlinkToCurrentScreenConfiguration,\n\t\tactiveScreenId: activeScreenId,\n\t});\n};\n\nexport function compareScreens(selectedContent, sourceSelectedContent) {\n\tconst getParentDetails = (content) => ({\n\t\troute: content?.parent?.route,\n\t\tfields: content?.parent?.fields,\n\t\tinteropContext: content?.parent?.interopContext,\n\t});\n\n\tconst selectedParent = getParentDetails(selectedContent);\n\tconst sourceParent = getParentDetails(sourceSelectedContent);\n\n\tconst compareInteropContext = (interopContext, sourceInteropContext) => {\n\t\t// Return false if source is dependent but selected has no interopContext\n\t\tif (!interopContext) return !sourceInteropContext?.isDependent;\n\t\treturn (\n\t\t\tisEqual(\n\t\t\t\tinteropContext.isDependent,\n\t\t\t\tsourceInteropContext?.isDependent,\n\t\t\t) && isEqual(interopContext.expKey, sourceInteropContext?.expKey)\n\t\t);\n\t};\n\n\tif (\n\t\t(selectedParent.route &&\n\t\t\tsourceParent.route &&\n\t\t\t!isEqual(selectedParent.route, sourceParent.route)) ||\n\t\t!isEqual(selectedParent.fields, sourceParent.fields) ||\n\t\t!compareInteropContext(\n\t\t\tselectedParent.interopContext,\n\t\t\tsourceParent.interopContext,\n\t\t)\n\t) {\n\t\treturn false;\n\t}\n\n\tconst { route, fields, interopContext } = selectedContent || {};\n\tconst {\n\t\troute: sourceRoute,\n\t\tfields: sourceFields,\n\t\tinteropContext: sourceInteropContext,\n\t} = sourceSelectedContent || {};\n\n\treturn (\n\t\tisEqual(route, sourceRoute) &&\n\t\tisEqual(fields, sourceFields) &&\n\t\tcompareInteropContext(interopContext, sourceInteropContext)\n\t);\n}\n\nconst shouldDelegateNotifications = (payload) => {\n\tif (!payload) return false;\n\n\tconst isConditionalClose =\n\t\tpayload.status === SCREEN_STATUS_ACTION_CLOSE_IF_CLEAN;\n\tconst hasNotifications =\n\t\tArray.isArray(payload.closeIfCleanNotifications) &&\n\t\tpayload.closeIfCleanNotifications.length > 0;\n\n\treturn isConditionalClose && hasNotifications;\n};\n\nconst stageNotificationsForDelegation = ({ payload, meta, updateState }) => {\n\tupdateState(() => ({\n\t\tpath: `stagedNotifications.${payload.screenKey}`,\n\t\tvalue: {\n\t\t\tnotifications: payload.closeIfCleanNotifications,\n\t\t\tuxfPageId: meta?.uxfPageId,\n\t\t\tfallbackUrlContent: payload.sourceSelectedContent,\n\t\t},\n\t\toperation: declarativeOperations.SET,\n\t\tshouldRender: false,\n\t}));\n};\n\nconst delegateNotificationsToPage = (notifications, uxfPageId) => {\n\tconst uxfPageElement = getComponentById(uxfPageId);\n\tif (!uxfPageElement) return;\n\tuxfPageElement.dispatch(NOW_UXF_PAGE_ADD_NOTIFICATIONS, {\n\t\titems: notifications,\n\t});\n};\n\nconst delegateNotificationsToCanvasMain = (notifications, updateProperties) => {\n\tupdateProperties({\n\t\tdelegatedNotifications: [...notifications],\n\t});\n};\n\nexport const resolveStagedNotificationsEffect = ({\n\taction,\n\tstate,\n\tupdateState,\n\tupdateProperties,\n}) => {\n\tconst { status, screenKeys = [] } = action.payload || {};\n\tconst { stagedNotifications } = state;\n\n\tif (!screenKeys.length || Object.keys(stagedNotifications).length === 0)\n\t\treturn;\n\n\tconst updatedNotifications = { ...stagedNotifications };\n\n\tscreenKeys.forEach((screenKey) => {\n\t\tif (!updatedNotifications[screenKey]) return;\n\n\t\tconst { notifications, uxfPageId, fallbackUrlContent } =\n\t\t\tupdatedNotifications[screenKey];\n\n\t\t// If user cancels tab close, return notifications back to the page\n\t\tif (status === SCREEN_CLOSE_STATUS_CANCELLED && uxfPageId) {\n\t\t\tdelegateNotificationsToPage(\n\t\t\t\tremoveNotificationOverrides(notifications),\n\t\t\t\tuxfPageId,\n\t\t\t);\n\t\t}\n\t\t// If user confirms tab close, delegate notifications to canvas-main\n\t\telse if (status === SCREEN_CLOSE_STATUS_CONFIRMED) {\n\t\t\tdelegateNotificationsToCanvasMain(\n\t\t\t\tapplyNotificationOverrides(notifications, fallbackUrlContent),\n\t\t\t\tupdateProperties,\n\t\t\t);\n\t\t}\n\t\tdelete updatedNotifications[screenKey];\n\t});\n\n\tupdateState(() => ({\n\t\tpath: 'stagedNotifications',\n\t\tvalue: updatedNotifications,\n\t\toperation: declarativeOperations.SET,\n\t\tshouldRender: false,\n\t}));\n};\n\nconst screenStatusChangedEffect = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n\tdispatch,\n\tupdateState,\n}) => {\n\tconst { meta, payload } = action;\n\tconst { screenTitles, selectedContent } = properties;\n\n\tsaveOrUpdateLog(\n\t\tpayload.screenKey,\n\t\tpayload.screenParams,\n\t\tpayload.status,\n\t\tpayload.sourceSelectedContent,\n\t\t(_activityLogs) => {\n\t\t\tupdateActivityLogs(\n\t\t\t\tproperties.activeScreenId,\n\t\t\t\tupdateProperties,\n\t\t\t\t_activityLogs,\n\t\t\t);\n\t\t\tif (!properties.activeScreenId)\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactivityLogs: _activityLogs,\n\t\t\t\t});\n\t\t},\n\t);\n\n\tconst screenTitle = payload.title;\n\n\tif (screenTitle && payload.isActive) {\n\t\tconst experienceName = selectedContent?.context?.experienceName ?? '';\n\t\tconst browserTabTitle = createBrowserTabTitle({\n\t\t\tpageTitle: screenTitle,\n\t\t\texperienceName,\n\t\t\tnowTitle,\n\t\t});\n\t\tsetBrowserTabTitle(browserTabTitle);\n\t}\n\n\tif (shouldDelegateNotifications(payload)) {\n\t\tstageNotificationsForDelegation({ payload, meta, updateState });\n\t}\n\n\tconst changePayload = {\n\t\t...payload,\n\t\tactionId: meta?.actionId ?? Date.now(),\n\t\tcomponentId: meta?.id ?? '',\n\t\tisScreenKeyUpdated: isKeyUpdateRequired(payload.screenParams),\n\t\t/**\n\t\t * NOTE: (STRY59703254) As a part of Dirty\n\t\t * State Management Epic(EPIC1111724) we do not\n\t\t * want to rely on various layers to process dirtiness\n\t\t * based on SCREEN_STATUS_CHANGED events that\n\t\t * are bubbling up and instead want them to use DSM.\n\t\t */\n\t\tisDirty: null,\n\t};\n\n\t// prevent including `timestamp` in the updated screenStatus for record\n\t// composition elements. This was added as a fix for DEF0322535, which specifically\n\t// pertains updating dirty-state on tabs (specifically live agent)\n\tif (!('title' in changePayload) || changePayload.hasUpdate) {\n\t\tconst timeStamp = meta?.event?.timeStamp ?? Date.now();\n\t\tchangePayload.timeStamp = timeStamp;\n\t}\n\n\tif (changePayload.isScreenKeyUpdated === true) {\n\t\tconst { sourceSelectedContent } = changePayload;\n\t\tconst isSameScreen = compareScreens(\n\t\t\tselectedContent,\n\t\t\tsourceSelectedContent,\n\t\t);\n\t\tconst content =\n\t\t\tisSameScreen || !sourceSelectedContent\n\t\t\t\t? selectedContent\n\t\t\t\t: sourceSelectedContent;\n\n\t\t/**\n\t\t * NOTE: Adding es-lint comment as we are removing `multiInstField`\n\t\t *  & `uid` keys from `newSelectedContent` object.\n\t\t */\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconst { multiInstField, uid, ...newSelectedContent } = {\n\t\t\t...content,\n\t\t\tfields: payload.screenParams,\n\t\t\tredirect: true,\n\t\t};\n\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t...newSelectedContent,\n\t\t\t...(!isSameScreen && { passiveNavigation: true }),\n\t\t});\n\t} else {\n\t\tdelete changePayload.screenParams;\n\t}\n\n\tif (has(changePayload, 'hasWarning')) {\n\t\trequestAnimationFrame(() => {\n\t\t\tupdateProperties(({ properties }) => {\n\t\t\t\tconst new_prop = [\n\t\t\t\t\t...properties.screenStatus,\n\t\t\t\t\t{ ...changePayload },\n\t\t\t\t].slice(-25);\n\t\t\t\treturn {\n\t\t\t\t\tpath: 'screenStatus',\n\t\t\t\t\tvalue: new_prop,\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tif (screenTitle) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\t...(screenTitle && {\n\t\t\t\t\t\tscreenTitles: {\n\t\t\t\t\t\t\t...screenTitles,\n\t\t\t\t\t\t\t[payload.screenKey]: screenTitle,\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\treturn;\n\t}\n\tupdateProperties(({ properties }) => {\n\t\tconst new_prop = [\n\t\t\t...properties.screenStatus,\n\t\t\t{ ...changePayload },\n\t\t].slice(-25);\n\t\treturn {\n\t\t\tpath: 'screenStatus',\n\t\t\tvalue: new_prop,\n\t\t};\n\t});\n\n\tif (screenTitle) {\n\t\tupdateProperties({\n\t\t\t...(screenTitle && {\n\t\t\t\tscreenTitles: {\n\t\t\t\t\t...screenTitles,\n\t\t\t\t\t[payload.screenKey]: screenTitle,\n\t\t\t\t},\n\t\t\t}),\n\t\t});\n\t}\n};\n\nconst screenTitlesRegRequestedEffect = ({\n\taction: { payload },\n\tproperties,\n\tupdateProperties,\n}) => {\n\tif (!payload)\n\t\t// format : {screenKey: title}\n\t\treturn;\n\tconst { screenTitles = {} } = properties;\n\tconst newTitles = { ...screenTitles, ...payload };\n\tupdateProperties({ screenTitles: { ...newTitles } });\n};\n\nconst actionHandlers = {\n\t[ACTIVE_SCREEN_RENDERED]: activeScreenRenderedEffect,\n\t[SCREEN_STATUS_CHANGED]: screenStatusChangedEffect,\n\t[SCREEN_TITLES_REGISTRATION_REQUESTED]: screenTitlesRegRequestedEffect,\n\t[RESOLVE_STAGED_NOTIFICATIONS]: {\n\t\teffect: resolveStagedNotificationsEffect,\n\t\tstopPropagation: true,\n\t},\n};\n\nexport default actionHandlers;\n","/**\n * Transforms the notifications when it becomes a global alert.\n * The `globalOverrides` property on a notification dictates how its content should be modified for global alert.\n *\n * @param {Array<Object>} notifications The array of notification objects to transform.\n * @param {Object} [fallbackUrlContent] Optional fallback URL content to apply to an action if it's missing `urlContent`.\n * @returns {Array<Object>} The transformed global notifications\n */\nexport const applyNotificationOverrides = (\n\tnotifications = [],\n\tfallbackUrlContent,\n) => {\n\treturn notifications.map(({ globalOverrides, ...base }) => {\n\t\tif (!globalOverrides) return base;\n\n\t\tconst { action: actionOverride } = globalOverrides;\n\t\tconst shouldAddFallbackUrl =\n\t\t\tactionOverride &&\n\t\t\tactionOverride.type === 'open' &&\n\t\t\t!actionOverride.urlContent &&\n\t\t\tfallbackUrlContent;\n\n\t\tconst processedOverrides = shouldAddFallbackUrl\n\t\t\t? {\n\t\t\t\t\t...globalOverrides,\n\t\t\t\t\taction: {\n\t\t\t\t\t\t...actionOverride,\n\t\t\t\t\t\turlContent: fallbackUrlContent,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t: globalOverrides;\n\n\t\treturn { ...base, ...processedOverrides };\n\t});\n};\n\nexport const removeNotificationOverrides = (notifications = []) =>\n\t// eslint-disable-next-line no-unused-vars\n\tnotifications.map(({ globalOverrides, ...rest }) => rest);\n","import { t } from 'sn-translate';\n\n//components\nexport const SN_CANVAS_TABS_DATA = 'sn-canvas-tabs-data';\n\n// Actions dispatched from NDS\nexport const NOW_DROPDOWN_ITEM_CLICKED = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const NOW_NAVIGATION_ITEM_CLICKED = 'NOW_NAVIGATION_ITEM#CLICKED';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_CONFIRM_MODAL_CLEAR = 'NOW_CONFIRM_MODAL#CLEAR';\nexport const NOW_CONFIRM_MODAL_POSITIVE_BUTTON_CLICKED =\n\t'NOW_CONFIRM_MODAL#POSITIVE_BUTTON_CLICKED';\nexport const NOW_CONFIRM_MODAL_NEGATIVE_BUTTON_CLICKED =\n\t'NOW_CONFIRM_MODAL#NEGATIVE_BUTTON_CLICKED';\n\n// Global actions\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\n\n// Link types\nexport const EMAIL_LINK_TYPE = 'email';\nexport const PHONE_LINK_TYPE = 'phone';\nexport const ROUTE_LINK_TYPE = 'route';\nexport const MODAL_LINK_TYPE = 'modal';\nexport const EXTERNAL_LINK_TYPE = 'external';\nexport const ACTION_LINK_TYPE = 'action';\n\n// Component actions\nexport const USER_MENU_TOGGLE_SET = 'USER_MENU_TOGGLE_SET';\nexport const PUBLIC_ACTION_BUTTON_CLICKED =\n\t'CANVAS_PUBLIC_ACTION_BUTTON#CLICKED';\n\n// Defaults\nexport const DEFAULT_LOGOUT_ROUTE = 'logout.do';\n// Keyboard constants\nexport const ENTER_KEY_CODE = 13;\n\nexport const HOME_KEY = 'Home';\nexport const ARROW_RIGHT_KEY = 'ArrowRight';\nexport const ARROW_DOWN_KEY = 'ArrowDown';\nexport const ARROW_LEFT_KEY = 'ArrowLeft';\nexport const END_KEY = 'End';\nexport const ESCAPE_KEY = 'Escape';\n\n//Tab Constants\nexport const LOAD_TABS_DATA = 'LOAD_TABS_DATA';\nexport const TABS_DATA_UPDATED = 'TABS_DATA_UPDATED';\nexport const TABS_INIT_PROPS_BEHAVIOR = 'TABS_INIT_PROPS_BEHAVIOR';\nexport const TABS_ROOT_BEHAVIOR = 'TABS_ROOT_BEHAVIOR';\nexport const CLOSE_TAB_MENU_ITEM = 'CLOSE_TAB_MENU_ITEM';\nexport const CLOSE_OTHER_TABS_MENU_ITEM = 'CLOSE_OTHER_TABS_MENU_ITEM';\nexport const CLOSE_ALL_TABS_MENU_ITEM = 'CLOSE_ALL_TABS_MENU_ITEM';\nexport const CHAT_ITEM_TYPE = 'CHAT_ITEM_TYPE';\nexport const TOGGLE_TAB_PREVIEW = 'CANVAS_TAB#TOGGLE_PREVIEW';\n\n// Modal Buttons\nexport const EDS_MODAL_CANCEL_BTN = {\n\tvariant: 'secondary',\n\tlabel: t('Cancel')\n};\n\nexport const EDS_MODAL_CONFIRM_BTN = {\n\tvariant: 'primary',\n\tlabel: t('OK')\n};\n\n// Tab actions\nexport const WORKSPACE_TAB_ACTIVATED = 'WORKSPACE_TAB_ACTIVATED';\nexport const CONTENT_UPDATED = 'CONTENT_UPDATED';\nexport const MAIN_TAB_CLICKED = 'MAIN_TAB_CLICKED';\nexport const MASTER_DETAIL_TOGGLED = 'MASTER_DETAIL_TOGGLED';\nexport const MAIN_TAB_CLOSE_CLICKED = 'MAIN_TAB_CLOSE_CLICKED';\nexport const MAIN_TAB_NEW_CLICKED = 'MAIN_TAB_NEW_CLICKED';\nexport const MAIN_TAB_NEW_ALERT_CLEARED = 'MAIN_TAB_NEW_ALERT_CLEARED';\nexport const MAIN_TAB_NEW_ALERT_CLEARED_OK = 'NOW_MODAL#FOOTER_ACTION_CLICKED';\nexport const SUB_TAB_CLOSE_CLICKED = 'SUB_TAB_CLOSE_CLICKED';\nexport const TABS_SCREEN_CONTENT_CHANGED = 'TABS_SCREEN_CONTENT_CHANGED';\nexport const TABS_CLOSE_REQUESTED = 'TABS_CLOSE_REQUESTED';\nexport const TABS_CLOSE_CONFIRMED = 'TABS_CLOSE_CONFIRMED';\nexport const TABS_CLOSE_CANCELLED = 'TABS_CLOSE_CANCELLED';\nexport const TABS_SELECTED_CONTENT_CHANGED = 'TABS_SELECTED_CONTENT_CHANGED';\nexport const DRILLDOWN_BACK_CLICKED = 'DRILLDOWN_BACK_CLICKED';\nexport const SCREEN_CLOSED_CONFIRMED = 'SCREEN_CLOSED_CONFIRMED';\nexport const SCREEN_CLOSED_CANCELLED = 'SCREEN_CLOSED_CANCELLED';\nexport const PRIMARY_TAB_PROP_CHANGED = 'PRIMARY_TAB_PROP_CHANGED';\nexport const NAVIGATION_CLOSED = 'NAVIGATION_CLOSED';\nexport const VIEWPORT_SELECTED = 'VIEWPORT_SELECTED';\n\n// Mediated action types\nexport const ITEM_SELECTED = 'ITEM_SELECTED';\nexport const SELECT_TAB = 'SELECT_TAB';\nexport const CONTEXTUAL_RECORD_ITEM_TYPE = 'contextual_record';\nexport const TWO_LAYER_TYPE = 'TWO_LAYER_TYPE'; //[RECORD_ITEM_TYPE, NEW_RECORD_ITEM_TYPE, CHAT_ITEM_TYPE]// Error mediated action types\nexport const MAIN_TAB_ONLY_TYPE = 'MAIN_TAB_ONLY_TYPE';\n\n//KEY COMMANDS\nexport const MOVE_UP = 'MOVE_UP';\nexport const TAB = 'TAB';\nexport const MOVE_DOWN = 'MOVE_DOWN';\nexport const EXECUTE = 'EXECUTE';\nexport const CLICK = 'CLICK';\n\n// Tab Item Types\nexport const RECORD_ITEM_TYPE = 'record';\nexport const FULL_SEARCH_ITEM_TYPE = 'full-search';\nexport const KNOWLEDGE_ITEM_TYPE = 'knowledge';\nexport const NON_RECORD_ITEM_TYPE = 'non_record';\nexport const FULL_LIST_ITEM_TYPE = 'list';\nexport const NEW_RECORD_ITEM_TYPE = 'new_record';\n\nexport const FULL_SEARCH_TAB_TITLE = t('WS:Search Results');\nexport const KNOWLEDGE_TAB_TITLE = t('Knowledge Articles');\n\nexport const PROPERTIES_SET = 'PROPERTIES_SET';\nexport const ACTIVITY_LOG_UPDATED = 'ACTIVITY_LOG_UPDATED';\nexport const LAYOUT_PROP_RESET_REQUESTED = 'UXR_INTERNAL#LAYOUT_PROP_RESET_REQUESTED';\n\n// Tab Reducers\nexport const OPEN_OR_FOCUS_TAB_REDUCER = 'OPEN_OR_FOCUS_TAB_REDUCER';\nexport const UPDATE_TABS_REDUCER = 'UPDATE_TABS_REDUCER';\nexport const LIVE_UPDATE_TABS_REDUCER = 'LIVE_UPDATE_TABS_REDUCER';\nexport const INIT_TABS_REDUCER = 'INIT_TABS_REDUCER';\nexport const CHAINED_REDUCER = 'CHAINED_REDUCER';\nexport const CLOSE_ONE_DRILLDOWN_REDUCER = 'CLOSE_ONE_DRILLDOWN_REDUCER';\nexport const UPDATE_PRIMARY_TAB_REDUCER = 'UPDATE_PRIMARY_TAB_REDUCER';\n\n//ICONS\nexport const ICON_CHAT_FILL = 'chat-fill';\nexport const ICON_CHAT_OUTLINE = 'chat-outline';\nexport const ICON_PHONE_FILL = 'phone-fill';\nexport const ICON_PHONE_OUTLINE = 'phone-outline';\nexport const ICON_GROUP_FILL = 'group-fill';\nexport const ICON_GROUP_OUTLINE = 'group-outline';\nexport const ICON_LIST_OUTLINE = 'list-outline';\n\n// Special table handling\nexport const INTERACTION_TABLE = 'interaction';\n\n// Messages\nexport const TAB_DETAILS_TITLE = t('Details');\n\n// Other constants\nexport const DEFAULT_MULTI_INST_FIELD = 'sys_id';\n\nexport const SCREEN_STATUS_ACTION_CLOSED = 'closed';\n\nexport const SN_CANVAS_LAYOUT_CHILD_TEST = 'sn-canvas-layout-child-test';\n","import { ACTIVITY_LOG_UPDATED } from './constants/constants';\n\nconst actionHandlers = {\n\t[ACTIVITY_LOG_UPDATED]: ({ action: { payload }, updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tactivityLogs: payload.activityLogs\n\t\t});\n\t}\n};\nexport default actionHandlers;\n","import { activityLogger } from '../utils/activity-logger';\nimport {\n\tACTIVITY_LOG_UPDATED,\n\tLAYOUT_PROP_RESET_REQUESTED,\n} from './constants/constants';\nimport { getCleanSysId } from '../utils/activity-log-helpers';\n\nexport const handleClosedIds = (data) => {\n\tdata.filter((item) => {\n\t\tconst keys = Object.keys(item);\n\t\tif (keys.length === 0) return false;\n\t\treturn Object.prototype.hasOwnProperty.call(\n\t\t\titem[keys[0]],\n\t\t\t'annotation',\n\t\t);\n\t})\n\t\t.map((item) => {\n\t\t\tconst keys = Object.keys(item);\n\t\t\treturn item[keys[0]];\n\t\t})\n\t\t.forEach((item) => {\n\t\t\tconst rawLogInfo = {\n\t\t\t\t...item.selectedContent.fields,\n\t\t\t\toperation: item.annotation.operation,\n\t\t\t};\n\t\t\tconst cleanedLogInfo = {\n\t\t\t\t...rawLogInfo,\n\t\t\t\tsysId: getCleanSysId(rawLogInfo),\n\t\t\t};\n\t\t\tactivityLogger.log({\n\t\t\t\tkeyInfo: { key: item.annotation.parentKey },\n\t\t\t\tlogInfo: cleanedLogInfo,\n\t\t\t});\n\t\t});\n};\n\nconst actionHandlers = {\n\tNAVIGATION_CLOSED: ({\n\t\taction: { payload },\n\t\tupdateProperties,\n\t\tdispatch,\n\t}) => {\n\t\tconst { closedNavigationIds, closedIdsInfo = [] } = payload;\n\t\tif (\n\t\t\tclosedNavigationIds &&\n\t\t\tArray.isArray(closedNavigationIds) &&\n\t\t\tclosedNavigationIds.length > 0\n\t\t) {\n\t\t\tupdateProperties({ closedNavigationIds: [...closedNavigationIds] });\n\t\t\tconst activityKeys = closedNavigationIds.map((k) => ({ key: k }));\n\t\t\tactivityLogger.clearMultiple(activityKeys);\n\t\t\thandleClosedIds(closedIdsInfo);\n\t\t\tdispatch(ACTIVITY_LOG_UPDATED, {\n\t\t\t\tactivityLogs: activityLogger.getAll(),\n\t\t\t});\n\t\t}\n\t},\n\n\t[LAYOUT_PROP_RESET_REQUESTED]: ({\n\t\taction: { payload },\n\t\tupdateProperties,\n\t\tproperties,\n\t}) => {\n\t\tif (!payload || Object.keys(payload).length === 0) return;\n\t\tconst toBeUpdatedProps = {};\n\t\tObject.keys(payload)\n\t\t\t.filter((prop) => prop in properties)\n\t\t\t.forEach((prop) => (toBeUpdatedProps[prop] = payload[prop]));\n\n\t\tupdateProperties(toBeUpdatedProps);\n\t},\n};\nexport default actionHandlers;\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nconst getSessionStorageKey = experienceId =>\n\texperienceId\n\t\t? `canvasScreenTitles_${experienceId}`\n\t\t: `canvasScreenTitles_${new Date().getTime()}`; //make it almost impossible to use sessionStorage without experienceId\n\nexport async function getStoredScreenTitles(userId, experienceId) {\n\tif (!experienceId) return;\n\t//let tabsData = getInitialTabsData();\n\tlet screenTitles;\n\t// try-catch for session storage support.\n\ttry {\n\t\tconst storedScreenTitles = await getUnifiedCacheInstance('sessionStorage', 'SCREEN_TITLES_SESSION_STORAGE')\n\t\t\t.getItem(getSessionStorageKey(experienceId));\n\t\tif (\n\t\t\tstoredScreenTitles &&\n\t\t\tstoredScreenTitles.userId === userId &&\n\t\t\tstoredScreenTitles.experienceId === experienceId &&\n\t\t\tstoredScreenTitles.screenTitles\n\t\t) {\n\t\t\t({userId, experienceId, screenTitles} = storedScreenTitles);\n\t\t\t//move suspend logic here\n\t\t}\n\t\t//window.sessionStorage.removeItem(getSessionStorageKey());\n\t} catch (e) {\n\t\t//Error reading Stored ScreenTitles\n\t}\n\treturn screenTitles;\n}\n\nexport async function saveScreenTitles(screenTitles, userId, experienceId) {\n\tif (!experienceId) return;\n\t// try-catch for session storage support. Just do nothing if unavailable.\n\ttry {\n\t\tawait getUnifiedCacheInstance('sessionStorage', 'SCREEN_TITLES_SESSION_STORAGE')\n\t\t\t.setItem(\n\t\t\t\tgetSessionStorageKey(experienceId),\n\t\t\t\t{\n\t\t\t\t\tuserId,\n\t\t\t\t\texperienceId,\n\t\t\t\t\tscreenTitles\n\t\t\t\t}\n\t\t\t);\n\t} catch (e) {\n\t\treturn;\n\t}\n}\n\nexport async function clearScreenTitles(experienceId) {\n\tif (!experienceId) return;\n\ttry {\n\t\tawait getUnifiedCacheInstance('sessionStorage', 'SCREEN_TITLES_SESSION_STORAGE')\n\t\t\t.removeItem(getSessionStorageKey(experienceId));\n\t} catch (e) {\n\t\t// Session storage not supported.\n\t}\n}\n","import {isEmpty, isEqual} from 'lodash';\nimport {\n\tCANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED,\n\tCANVAS_COMPONENT_CONNECTED,\n} from '../constants/constants';\nimport {clearScreenTitles, getStoredScreenTitles, saveScreenTitles} from './sn-canvas-layout.storage';\nimport {actionTypes} from '@servicenow/ui-core';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nconst actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: async ({\n\t\t\t\t\t\t\t\t\t\t\t action: {payload},\n\t\t\t\t\t\t\t\t\t\t\t properties,\n\t\t\t\t\t\t\t\t\t\t\t dispatch,\n\t\t\t\t\t\t\t\t\t\t\t updateProperties\n\t\t\t\t\t\t\t\t\t\t }) => {\n\t\tconst {name, previousValue, value} = payload;\n\t\tif (name === 'experienceChromeSettings') {\n\t\t\tif (!isEqual(previousValue, value))\n\t\t\t\tdispatch(CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED, {\n\t\t\t\t\texperienceChromeSettings: value\n\t\t\t\t});\n\t\t}\n\n\t\tif (name === 'experienceId') {\n\t\t\tconst {userId, experienceId} = properties;\n\t\t\tif (userId && experienceId) {\n\t\t\t\tconst screenTitles =\n\t\t\t\t\tawait getStoredScreenTitles(userId, experienceId) || {};\n\n\t\t\t\tupdateProperties({screenTitles});\n\t\t\t\tawait clearScreenTitles(experienceId); //remove sessionStorage screenTitles data once read.\n\t\t\t}\n\t\t}\n\t},\n\n\t[COMPONENT_CONNECTED]: async ({\n\t\t\t\t\t\t\t\t\t  host,\n\t\t\t\t\t\t\t\t\t  action,\n\t\t\t\t\t\t\t\t\t  dispatch,\n\t\t\t\t\t\t\t\t\t  properties,\n\t\t\t\t\t\t\t\t\t  updateProperties\n\t\t\t\t\t\t\t\t  }) => {\n\t\tconst {experienceChromeSettings, userId, experienceId} = properties;\n\t\tdispatch(CANVAS_COMPONENT_CONNECTED, action.payload);\n\t\tdispatch(CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED, {\n\t\t\texperienceChromeSettings\n\t\t});\n\n\t\tif (userId && experienceId) {\n\t\t\tconst screenTitles = await getStoredScreenTitles(userId, experienceId) || {};\n\t\t\tupdateProperties({screenTitles});\n\t\t\tawait clearScreenTitles(experienceId); //remove sessionStorage screenTitles data once read.\n\t\t}\n\n\t\tconst layoutUnloadHandler = async () => {\n\t\t\tif (host && host.getResolvedProperties) {\n\t\t\t\tconst _screenTitles = host.getResolvedProperties()['screenTitles'];\n\t\t\t\tconst _experienceId = host.getResolvedProperties()['experienceId'];\n\t\t\t\tawait saveScreenTitles(_screenTitles, userId, _experienceId);\n\t\t\t}\n\t\t\twindow.removeEventListener('beforeunload', layoutUnloadHandler);\n\t\t};\n\t\twindow.addEventListener('beforeunload', layoutUnloadHandler);\n\t},\n\t[COMPONENT_DISCONNECTED]: async ({properties}) => {\n\t\tconst {screenTitles, userId, experienceId} = properties;\n\n\t\tif (!isEmpty(screenTitles) && userId && experienceId)\n\t\t\tawait saveScreenTitles(screenTitles, userId, experienceId);\n\t}\n}\n\nexport default actionHandlers;\n","import {\n\tHOISTED_CONTENT_SCREEN_UPDATED,\n\tHOISTED_CONTENT_SOURCE_RENDERED,\n} from '../constants/constants';\nimport {\n\thoistedContentScreenUpdatedEffectHandler,\n\thoistedContentSourceRenderedEffectHandler,\n} from './effects/hoistedContentEffectHandlers';\n\n/**\n * Action handlers for the utility panel\n * @type {{[HOISTED_CONTENT_SOURCE_RENDERED]: hoistedContentSourceRenderedEffectHandler, [HOISTED_CONTENT_SCREEN_UPDATED]: hoistedContentScreenUpdatedEffectHandler}}\n */\nconst actionHandlers = {\n\t[HOISTED_CONTENT_SOURCE_RENDERED]:\n\t\thoistedContentSourceRenderedEffectHandler,\n\t[HOISTED_CONTENT_SCREEN_UPDATED]: hoistedContentScreenUpdatedEffectHandler,\n};\n\nexport default actionHandlers;\n","import { HOISTED_CONTENT_UPDATED } from '../../constants/constants';\n\n/**\n * @description This event is only handled for Session Tabs. It is used to update the hoisted content configuration for the AppShell.\n * The AppShell needs to be aware when a hoisted source content is rendered. Will need to update the hoisted content configuration in layout, ux_globals, and dispatch the HOISTED_CONTENT_UPDATED event.\n * @param {object} action - action from the coeffects\n * @param {properties} properties - the properties object the coeffects\n * @param {function} updateProperties - update properties function from the coeffects\n * @param {function} dispatch - the dispatch function from the coeffects\n */\nexport const hoistedContentSourceRenderedEffectHandler = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n\tdispatch,\n}) => {\n\tconst { componentId, activeHoistedContent, isHoistedContentHidden } =\n\t\taction.payload;\n\tconst hoistedContentConfigurationUxGlobals =\n\t\twindow?.ux_globals?.['__hoistedContentConfiguration'] || {};\n\tconst currentHoistedContent =\n\t\thoistedContentConfigurationUxGlobals[componentId] || {};\n\tconst {\n\t\tactiveHoistedContent: currentActiveHoistedContent,\n\t\tisHidden: currentIsHidden,\n\t} = currentHoistedContent; //the current value from ux_globals\n\tconst { hoistedContentConfiguration } = properties;\n\tconst {\n\t\tactiveHoistedContent: propsActiveHoistedContent,\n\t\tisHidden: propsIsHidden,\n\t} = hoistedContentConfiguration; //the value from the properties\n\n\tconst shouldUpdate =\n\t\tcurrentActiveHoistedContent !== propsActiveHoistedContent ||\n\t\tcurrentIsHidden !== !!propsIsHidden; //if the current value from ux_globals is different from the value in the properties\n\n\t//assign the correct value to the newHoistedContentConfiguration\n\tconst newHoistedContentConfiguration =\n\t\tObject.keys(currentHoistedContent).length > 0\n\t\t\t? {\n\t\t\t\t\t//if the current value from ux_globals is not empty, then assign the current value to the newHoistedContentConfiguration\n\t\t\t\t\tactiveHoistedContent: currentActiveHoistedContent\n\t\t\t\t\t\t? currentActiveHoistedContent\n\t\t\t\t\t\t: null,\n\t\t\t\t\tisHidden:\n\t\t\t\t\t\tcurrentIsHidden !== null ? !!currentIsHidden : null,\n\t\t\t\t\thasHoistedContent: !!currentActiveHoistedContent,\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\t//if the current value from ux_globals is empty, then assign the new value from the payload\n\t\t\t\t\tactiveHoistedContent: activeHoistedContent\n\t\t\t\t\t\t? activeHoistedContent\n\t\t\t\t\t\t: null,\n\t\t\t\t\tisHidden:\n\t\t\t\t\t\tisHoistedContentHidden !== null\n\t\t\t\t\t\t\t? isHoistedContentHidden\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\thasHoistedContent: !!activeHoistedContent,\n\t\t\t\t};\n\n\tconst passiveNavigation = properties?.selectedContent?.passiveNavigation;\n\n\tif (Object.keys(currentHoistedContent).length === 0) {\n\t\twindow.ux_globals.__hoistedContentConfiguration = {\n\t\t\t...hoistedContentConfigurationUxGlobals,\n\t\t\t[componentId]: newHoistedContentConfiguration,\n\t\t};\n\t}\n\tif (passiveNavigation) {\n\t\treturn;\n\t}\n\tif (shouldUpdate || Object.keys(currentHoistedContent).length === 0) {\n\t\tupdateProperties({\n\t\t\thoistedContentConfiguration: newHoistedContentConfiguration,\n\t\t});\n\t\tdispatch(HOISTED_CONTENT_UPDATED, newHoistedContentConfiguration);\n\t}\n};\n\n/**\n * @description This effect is used to update the hoisted content configuration for the AppShell. This effect is used to handle the hoisted content configuration when the screen is updated.\n * Either on a screen direct load or on a screen switch click through.\n * @param action\n * @param properties\n * @param updateProperties\n * @param dispatch\n */\nexport const hoistedContentScreenUpdatedEffectHandler = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n\tdispatch,\n}) => {\n\tconst { hoistedContentConfiguration, parentScreenKey, screenData } =\n\t\taction.payload;\n\tconst { hoistedContentConfiguration: propsHoistedContentConfiguration } =\n\t\tproperties;\n\tconst {\n\t\tactiveHoistedContent: propsActiveHoistedContent,\n\t\tisHidden: propsIsHidden,\n\t} = propsHoistedContentConfiguration;\n\tconst hoistedContentConfigurationUxGlobals =\n\t\twindow?.ux_globals?.['__hoistedContentConfiguration'] || {};\n\tif (Object.keys(hoistedContentConfigurationUxGlobals).length === 0) {\n\t\t// special case for when the screen direct loads and the hasHoistedContent is true\n\t\tif (hoistedContentConfiguration?.hasHoistedContent) {\n\t\t\tupdateProperties({ hoistedContentConfiguration });\n\t\t\tdispatch(HOISTED_CONTENT_UPDATED, hoistedContentConfiguration);\n\t\t}\n\t\treturn;\n\t}\n\tif (screenData?.passiveNavigation) return;\n\tlet foundHoistedContent = false;\n\tfor (const content in hoistedContentConfigurationUxGlobals) {\n\t\tif (\n\t\t\thoistedContentConfigurationUxGlobals[content]\n\t\t\t\t?.activeHoistedContent === parentScreenKey\n\t\t) {\n\t\t\tconst currentHoistedContent =\n\t\t\t\thoistedContentConfigurationUxGlobals[content];\n\t\t\tconst {\n\t\t\t\tactiveHoistedContent: currentActiveHoistedContent,\n\t\t\t\tisHidden: currentIsHidden,\n\t\t\t} = currentHoistedContent;\n\n\t\t\tconst shouldUpdate =\n\t\t\t\tcurrentActiveHoistedContent !== propsActiveHoistedContent ||\n\t\t\t\t!!currentIsHidden !== !!propsIsHidden;\n\n\t\t\tif (Object.keys(currentHoistedContent).length > 0 && shouldUpdate) {\n\t\t\t\tlet hoistedContentConfigurationParent = {\n\t\t\t\t\t...hoistedContentConfiguration,\n\t\t\t\t\thasHoistedContent: true,\n\t\t\t\t};\n\t\t\t\tupdateProperties({\n\t\t\t\t\thoistedContentConfiguration:\n\t\t\t\t\t\thoistedContentConfigurationParent,\n\t\t\t\t});\n\t\t\t\tdispatch(\n\t\t\t\t\tHOISTED_CONTENT_UPDATED,\n\t\t\t\t\thoistedContentConfigurationParent,\n\t\t\t\t);\n\t\t\t}\n\t\t\tfoundHoistedContent = true;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (!foundHoistedContent) {\n\t\tif (\n\t\t\thoistedContentConfiguration.activeHoistedContent !==\n\t\t\t\tpropsActiveHoistedContent ||\n\t\t\t!!hoistedContentConfiguration.isHidden !== !!propsIsHidden\n\t\t) {\n\t\t\tupdateProperties({ hoistedContentConfiguration });\n\t\t\tdispatch(HOISTED_CONTENT_UPDATED, hoistedContentConfiguration);\n\t\t}\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_sn-canvas-layout.scss';\nimport { SN_CANVAS_LAYOUT } from '../constants/constants';\nimport { sessionExtensionBehavior } from 'sn-canvas-core-addon';\nimport screenStatusActionHandlers from './sn-canvas-layout.effects.screen-status';\nimport activityLogActionHandlers from './sn-canvas-layout.effects.activity-log';\nimport navigationActionHandlers from './sn-canvas-layout.effects.navigation';\nimport componentActionHandlers from './sn-canvas-layout.effects.component';\nimport hoistedContentActionHandlers from './sn-canvas-layout.effects.utility-panel';\nimport { tooltipPreviewSchema } from './schemas';\nimport {\n\tNOW_CONFIRM_MODAL_CLEAR,\n\tNOW_CONFIRM_MODAL_POSITIVE_BUTTON_CLICKED,\n\tNOW_CONFIRM_MODAL_NEGATIVE_BUTTON_CLICKED,\n} from './constants/constants';\nimport { DESTINATION_URL } from './utils/browser';\nimport { NOW_LOGIN_SUCCESS } from '../constants/constants';\nimport { getSessionPing } from 'sn-canvas-core-addon';\nimport { renderSkipBehavior } from 'sn-canvas-common';\n\nconst sessionPing = getSessionPing();\n\nconst behaviors = [renderSkipBehavior];\n\n// If sessionPing is 0 then the client has turned the feature off\nif (sessionPing > 0) {\n\tbehaviors.push(sessionExtensionBehavior);\n}\n\ncreateCustomElement(SN_CANVAS_LAYOUT, {\n\ttype: snabbdom,\n\tinitialState: {\n\t\tstagedNotifications: {},\n\t},\n\t// eslint-disable-next-line react/display-name\n\tview: () => <slot />,\n\tstyles,\n\tproperties: {\n\t\t//ActivityLog requires selectedContent\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\t// The id of the currently selected screen\n\t\tactiveScreenId: {\n\t\t\tdefault: '',\n\t\t\tselectable: true,\n\t\t},\n\t\texperienceChromeSettings: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tcanvasSession: {\n\t\t\tselectable: true,\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tlinkToCurrentScreenConfiguration: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\t// Holds the most recent screen status update\n\t\tscreenStatus: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\t// Current Screen ID\n\t\t\t\t\tscreenKey: { type: 'string' },\n\t\t\t\t\tdirtyModalId: { type: 'string' },\n\t\t\t\t\t// Icon to display on the tab\n\t\t\t\t\ticon: { type: 'string' },\n\t\t\t\t\t// Current tab status\n\t\t\t\t\tisDirty: { type: 'boolean' },\n\t\t\t\t\thasError: { type: 'boolean' },\n\t\t\t\t\thasUpdate: { type: 'boolean' },\n\t\t\t\t\t// Display value of the tab\n\t\t\t\t\ttitle: { type: 'string' },\n\t\t\t\t\t// Close message to appear when closing a dirty tab\n\t\t\t\t\tmessage: { type: 'string' },\n\t\t\t\t\t// Items to display in a single tab popover\n\t\t\t\t\ttooltipPreview: { type: tooltipPreviewSchema },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tactivityLogs: {\n\t\t\tdefault: new Map(),\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tclosedNavigationIds: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tdelegatedNotifications: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tscreenCloseConfirmation: {\n\t\t\tdefault: '',\n\t\t\tselectable: true,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t},\n\t\tscreensToCloseQueue: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tuserId: {\n\t\t\tdefault: null,\n\t\t},\n\t\tscreenTitles: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\trouteConfig: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\thoistedContentConfiguration: {\n\t\t\tdefault: {\n\t\t\t\tactiveHoistedContent: null,\n\t\t\t\tisHidden: null,\n\t\t\t\thasHoistedContent: null,\n\t\t\t},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\t// Current Screen ID of the active hoisted content\n\t\t\t\t\tactiveHoistedContent: { type: 'string' },\n\t\t\t\t\tisHidden: { type: 'boolean' },\n\t\t\t\t\thasHoistedContent: { type: 'boolean' },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t...screenStatusActionHandlers,\n\t\t...activityLogActionHandlers,\n\t\t...navigationActionHandlers,\n\t\t...componentActionHandlers,\n\t\t...hoistedContentActionHandlers,\n\n\t\t[NOW_CONFIRM_MODAL_POSITIVE_BUTTON_CLICKED]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ screenCloseConfirmation: 'true' });\n\t\t},\n\t\t[NOW_CONFIRM_MODAL_NEGATIVE_BUTTON_CLICKED]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ screenCloseConfirmation: 'false' });\n\t\t},\n\t\t[NOW_CONFIRM_MODAL_CLEAR]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ screenCloseConfirmation: '' });\n\t\t},\n\t\t[NOW_LOGIN_SUCCESS]: () => {\n\t\t\tif (DESTINATION_URL) window.location.href = DESTINATION_URL;\n\t\t\t// there is no default login landing page, just reload the page we're on\n\t\t\telse window.location.reload();\n\t\t},\n\t},\n\tbehaviors,\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { isNil, isEqual, get } from '@devsnc/snowdash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { SCREEN_STATUS_CHANGED, MODAL_SELECTED } from '../constants/constants';\nconst { COMPONENT_TREE_RENDERED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst alertObserverRegistered = {};\n\nfunction updateGlobalAlertsHeightContext(updateContext, height) {\n\tconst heightContext = get(window, [\n\t\t'ux_globals',\n\t\t'globalAlertsHeightContext',\n\t\tget(window, ['ux_globals', 'siteName']),\n\t]);\n\tupdateContext({\n\t\tcontext: heightContext,\n\t\tvalue: {\n\t\t\ttopOffsetPx: height,\n\t\t},\n\t});\n}\n\nfunction observeResize(el, updateContext) {\n\tconst ro = new ResizeObserver((entry) => {\n\t\tconst { height } = entry[0].contentRect;\n\t\tupdateGlobalAlertsHeightContext(updateContext, height);\n\t});\n\tro.observe(el);\n\treturn ro; // so you can disconnect later\n}\n\nclass EventScheduler {\n\tconstructor(dispatch) {\n\t\tthis.dispatchFn = dispatch;\n\t\tthis.eventQueue = [];\n\t\tthis.scheduler = null;\n\t}\n\tstart() {\n\t\tconst job = () => {\n\t\t\tif (this.eventQueue.length === 0) {\n\t\t\t\tif (this.scheduler) {\n\t\t\t\t\tclearInterval(this.scheduler);\n\t\t\t\t\tthis.scheduler = null;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst actionObj = this.dequeueEvent();\n\t\t\tconst { type, payload, meta } = actionObj;\n\t\t\tthis.dispatchFn(type, payload, { ...meta, canvasRedispatch: true });\n\t\t};\n\n\t\tthis.scheduler = setInterval(job, 25);\n\t}\n\tschedule(action) {\n\t\tthis.addEvent(action);\n\t}\n\taddEvent(action) {\n\t\tthis.eventQueue.push({ ...action });\n\t}\n\tdequeueEvent() {\n\t\treturn this.eventQueue.shift();\n\t}\n\tstop() {\n\t\t// Drop the interval, the queue, and — most importantly — the\n\t\t// captured dispatch reference. Without nulling dispatchFn, the\n\t\t// scheduler's closure pins the host's lexical scope chain\n\t\t// (action handlers, properties, the entire component instance)\n\t\t// for the rest of the page lifetime.\n\t\tif (this.scheduler) {\n\t\t\tclearInterval(this.scheduler);\n\t\t\tthis.scheduler = null;\n\t\t}\n\t\tthis.eventQueue.length = 0;\n\t\tthis.dispatchFn = null;\n\t}\n}\n\nconst eventSchedulerMap = {};\n\nconst mainActionInterceptor = ({ host, action }) => {\n\tif (!host || !action) return;\n\tif (action.meta.canvasRedispatch === true) return;\n\tlet eventScheduler = eventSchedulerMap[host.componentId];\n\tif (!eventScheduler) {\n\t\teventScheduler = new EventScheduler(host.dispatch);\n\t\teventSchedulerMap[host.componentId] = eventScheduler;\n\t}\n\n\tif (eventScheduler.scheduler) {\n\t\taction && action.stopPropagation && action.stopPropagation();\n\t\teventScheduler.schedule(action);\n\t} else {\n\t\teventScheduler.start();\n\t}\n};\n\n// Tear down the per-host EventScheduler when the host is disconnected.\n// Each canvas-main host registers exactly one scheduler keyed by its\n// componentId; without this drain, the scheduler instance plus its\n// captured dispatch reference (and through it, the host's whole scope)\n// stays alive for the rest of the page lifetime.\nconst cleanupEventScheduler = (componentId) => {\n\tconst scheduler = eventSchedulerMap[componentId];\n\tif (!scheduler) return;\n\tscheduler.stop();\n\tdelete eventSchedulerMap[componentId];\n};\n\n/**\n * Callback function that is passed to `dirtyStateSubscriberBehavior`\n * to update `hasDirtyDescendant` property.\n *\n * @param {CallbackFnAgruments} params - See\n * uxf-monorepo/library-uxf/src/factory/dirtyStateManager/dirtyStateManager.js#L6C13-L6C32\n * @param {boolean} params.isDirty - The updated dirty state\n * @param {subscriberUpdatePropertiesFn} - Coeffects `updateProperties` method passed to DSM\n * during registeration.\n */\nexport const handleDirtyStateCallbackFn = function (params) {\n\tconst { isDirty, subscriberUpdatePropertiesFn } = params;\n\tsubscriberUpdatePropertiesFn({\n\t\thasDirtyDescendant: isDirty,\n\t});\n};\n\nconst actionHandlers = {\n\t[SCREEN_STATUS_CHANGED]: ({ action, updateProperties }) => {\n\t\tupdateProperties(({ properties: { screensData } }) => {\n\t\t\tconst {\n\t\t\t\tpayload: { screenKey, isDirty, title },\n\t\t\t} = action;\n\t\t\tconst isDirtyObject = isNil(isDirty)\n\t\t\t\t? {}\n\t\t\t\t: { isDirty: Boolean(isDirty) };\n\t\t\tconst newScreensData = { ...screensData };\n\t\t\tif (newScreensData[screenKey]) {\n\t\t\t\tnewScreensData[screenKey] = {\n\t\t\t\t\t...newScreensData[screenKey],\n\t\t\t\t\t...isDirtyObject,\n\t\t\t\t\ttitle,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (!isEqual(screensData, newScreensData)) {\n\t\t\t\treturn {\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'screensData',\n\t\t\t\t\tvalue: newScreensData,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tshouldUpdate: false,\n\t\t\t};\n\t\t});\n\t},\n\t[MODAL_SELECTED]: mainActionInterceptor,\n\t[COMPONENT_TREE_RENDERED]: {\n\t\teffect({ host, updateContext, state }) {\n\t\t\tconst notifications = get(state, [\n\t\t\t\t'behaviors',\n\t\t\t\t'globalNotificationsBehavior',\n\t\t\t\t'notifications',\n\t\t\t]);\n\t\t\tconst siteName = get(window, ['ux_globals', 'siteName']);\n\n\t\t\t// This is on the assumption that the global alert will be the first component under the main element\n\t\t\tconst alertMain = host.shadowRoot.firstElementChild;\n\t\t\tif (\n\t\t\t\t!alertObserverRegistered[siteName] &&\n\t\t\t\tnotifications?.length > 0 &&\n\t\t\t\talertMain.firstElementChild.localName === 'now-alert-list'\n\t\t\t) {\n\t\t\t\talertObserverRegistered[siteName] = observeResize(\n\t\t\t\t\talertMain.firstElementChild.shadowRoot.firstElementChild,\n\t\t\t\t\tupdateContext,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\talertObserverRegistered[siteName] &&\n\t\t\t\tnotifications?.length == 0\n\t\t\t) {\n\t\t\t\talertObserverRegistered[siteName].disconnect();\n\t\t\t\talertObserverRegistered[siteName] = null;\n\t\t\t\tupdateGlobalAlertsHeightContext(updateContext, 0);\n\t\t\t}\n\t\t},\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect() {\n\t\t\tconst siteName = get(window, ['ux_globals', 'siteName']);\n\t\t\tif (alertObserverRegistered[siteName]) {\n\t\t\t\talertObserverRegistered[siteName].disconnect();\n\t\t\t}\n\t\t\tdelete alertObserverRegistered[siteName];\n\t\t},\n\t},\n};\nexport { actionHandlers, cleanupEventScheduler };\n","import {\n\tDIALOG_CLOSE_REQUESTED,\n\tDIALOG_CLOSE_CANCELED,\n\tDIALOG_CLOSE_CONFIRMED,\n\tDIALOG_MODAL_OPENED_SET,\n} from '../constants/constants';\nimport { deepSearchElement } from 'sn-canvas-common';\n\nconst actionHandlers = {\n\t[DIALOG_CLOSE_REQUESTED]: ({ action, updateProperties }) => {\n\t\tconst { sourceElementId, instanceId, compositionId } = action.payload;\n\t\tconst {\n\t\t\tmeta: { uxfMeta },\n\t\t} = action;\n\t\t// showDialogModal is true when windowManager is not loaded (fallback to old confirm dialog)\n\t\tupdateProperties({\n\t\t\tshowDialogModal:\n\t\t\t\t!window?.ux_globals?.__windowManagerConfig?.isLoaded,\n\t\t\tdialogId: instanceId,\n\t\t\tcompositionId: compositionId,\n\t\t\tsourceElementId: sourceElementId,\n\t\t\tpropagatedMetaFromDialogCloseRequested: uxfMeta,\n\t\t});\n\t},\n\t[DIALOG_CLOSE_CANCELED]: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tshowDialogModal: false,\n\t\t\tdialogId: null,\n\t\t\tcompositionId: null,\n\t\t\tsourceElementId: null,\n\t\t\tpropagatedMetaFromDialogCloseRequested: {},\n\t\t});\n\t},\n\t[DIALOG_CLOSE_CONFIRMED]: ({ host, properties, updateProperties }) => {\n\t\tconst {\n\t\t\tsourceElementId,\n\t\t\tdialogId,\n\t\t\tpropagatedMetaFromDialogCloseRequested,\n\t\t} = properties;\n\n\t\tif (window?.ux_globals?.__windowManagerConfig?.isLoaded) return; //defer behavior if WM is enabled\n\n\t\t//Find the controller\n\t\tconst controller = deepSearchElement(\n\t\t\t`[component-id=\"${sourceElementId}\"]`,\n\t\t\thost,\n\t\t);\n\t\tcontroller.dispatch(\n\t\t\t'UXF#CLOSE_DIALOG',\n\t\t\t{\n\t\t\t\tinstanceId: dialogId,\n\t\t\t\tcloseMandate: true,\n\t\t\t\tcloseConfirm: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tuxfMeta: {\n\t\t\t\t\t...propagatedMetaFromDialogCloseRequested,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\tupdateProperties({\n\t\t\tshowDialogModal: false,\n\t\t\tdialogId: null,\n\t\t\tcompositionId: null,\n\t\t\tsourceElement: null,\n\t\t\tpropagatedMetaFromDialogCloseRequested: {},\n\t\t});\n\t},\n\t[DIALOG_MODAL_OPENED_SET]: ({ host }) => {\n\t\thost.dispatch(DIALOG_CLOSE_CANCELED);\n\t},\n};\n\nexport default actionHandlers;\n","import isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\n/** GlobalUnloadistener generically handles browser \"beforeunload\" events by deferring to callbacks registered by other objects.\n * GlobalUnloadListener allows any number of components to register a callback function that is executed when the browser posts \"beforeUnload\".\n * The callback function is expected to return true if the component wants the user to be prompted before navigating away from the page.\n * All registered functions will be called, regardless of the return value of any other registered callback.\n * If any callback returns true, then the handler returns true to the browser and requests confirmation.\n * A given id can only have a single callback, not a list of callbacks.\n **/\n\nlet _globalUnloadFunctions = {};\n\nfunction runFuncs(e) {\n\tconst functionList = Object.values(_globalUnloadFunctions);\n\tlet isDirty = false;\n\tlet i;\n\tfor (i = 0; i < functionList.length; i++) {\n\t\t// call each function, but isDirty will be true if any of the functions return true\n\t\tisDirty = functionList[i](e) || isDirty;\n\t}\n\n\t// Still call each function in case some work is done in them, but ignore isDirty result if running in ATF client test runner\n\tif (window?.frameElement?.id === 'testFrame') {\n\t\tconsole.log(\n\t\t\t'Ignoring dirty form b/c execution context is in ATF client test runner',\n\t\t);\n\t\tisDirty = false;\n\t}\n\n\treturn defaultOnUnload(e, isDirty);\n}\n\nexport function defaultOnUnload(e, isDirty) {\n\tif (!isDirty) return null;\n\n\t// The customized display text is for IE11.\n\t// Currently, other major browsers (Chrome, FireFox, Safari) don't support customized display text on their latest versions.\n\tconst retVal = t('Navigating away will lose unsaved data.');\n\t(e || window.event).returnValue = retVal;\n\t(e || window.event).preventDefault(); // some older web browsers require this\n\treturn retVal;\n}\n\nconst GlobalUnloadistener = {\n\tadd(id, fn) {\n\t\tif (window && isEmpty(_globalUnloadFunctions)) {\n\t\t\twindow.addEventListener('beforeunload', runFuncs);\n\t\t}\n\t\t_globalUnloadFunctions[id] = fn;\n\t},\n\n\tremove(id) {\n\t\tif (_globalUnloadFunctions[id]) {\n\t\t\tdelete _globalUnloadFunctions[id];\n\t\t\tif (isEmpty(_globalUnloadFunctions)) {\n\t\t\t\twindow.removeEventListener('beforeunload', runFuncs);\n\t\t\t}\n\t\t}\n\t},\n};\n\nObject.freeze(GlobalUnloadistener);\nexport default GlobalUnloadistener;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"globalNotificationsBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__.__esModule\n\t\t\t\t\tif (cjsModule && 'globalNotificationsBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"].globalNotificationsBehavior;\n\t\t\t\t\t} else if ('globalNotificationsBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__.globalNotificationsBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_now_uxf_page_index_jsdbx_957b9211__[\"default\"].globalNotificationsBehavior;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"whenScreenMacroponentIdleDuringPageLoad\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.__esModule\n\t\t\t\t\tif (cjsModule && 'whenScreenMacroponentIdleDuringPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleDuringPageLoad;\n\t\t\t\t\t} else if ('whenScreenMacroponentIdleDuringPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.whenScreenMacroponentIdleDuringPageLoad || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleDuringPageLoad;\n\t\t\t\t}, [\"whenScreenMacroponentIdleOnEachPageLoad\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.__esModule\n\t\t\t\t\tif (cjsModule && 'whenScreenMacroponentIdleOnEachPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleOnEachPageLoad;\n\t\t\t\t\t} else if ('whenScreenMacroponentIdleOnEachPageLoad' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__.whenScreenMacroponentIdleOnEachPageLoad || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_runtime_utils_24_0_21_uxperf_rc_page_idle_api_7_index_jsdbx_abd7371f__[\"default\"].whenScreenMacroponentIdleOnEachPageLoad;\n\t\t\t\t} });","import get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport find from 'lodash/find';\n\nimport { getScreenKey } from 'sn-canvas-common';\nimport {\n\tareFieldsValid,\n\tgetPrimaryExperienceRoutes,\n\tgetResolvedScreenFromAppliedPageFragment,\n\tgenerateHydrationKey,\n\tupdateScreenContentWhenParentPresent,\n\tgetScreenDataFromInteropAndLocal,\n} from './sn-canvas-screens.util';\nimport { ROUTE_CONFIG } from '../../constants/constants';\nimport { isScreenPreview } from '../../utils/isScreenPreview';\nimport globalUxfObject from '@devsnc/library-uxf';\nimport { getExperienceKeyFromAppConfigId } from './sn-canvas-screens.util';\n\nconst EVALUATION_CACHE = {};\n\nconst { getHydratedScreen } = globalUxfObject['earlyEval'];\n\nexport const EVALUATORS = {\n\t//logical\n\tAND: {\n\t\top: 'AND',\n\t\tsymbol: '^',\n\t\tevaluator: (a, b) => a && b,\n\t},\n\tOR: {\n\t\top: 'OR',\n\t\tsymbol: '^OR',\n\t\tevaluator: (a, b) => a || b,\n\t},\n\t//comparison\n\tEQUALS: {\n\t\top: 'EQUALS',\n\t\tsymbol: '=',\n\t\tevaluator: (a, b) => a === b,\n\t},\n\tNOTEQUALS: {\n\t\top: 'NOTEQUALS',\n\t\tsymbol: '!=',\n\t\tevaluator: (a, b) => a !== b,\n\t},\n\tSTARTSWITH: {\n\t\top: 'STARTSWITH',\n\t\tsymbol: 'STARTSWITH',\n\t\tevaluator: (a, b) => a.startsWith(b),\n\t},\n};\n\nexport const parseCondition = (conditionStr) => {\n\tif (!conditionStr) return [];\n\n\tlet i = 0;\n\tlet r = '';\n\n\tconst conditionArr = [];\n\n\tlet conditionObj = {};\n\twhile (i < conditionStr.length) {\n\t\tconst c = conditionStr[i];\n\t\tif (c === '^' || i === conditionStr.length - 1) {\n\t\t\tconditionObj['r'] = i === conditionStr.length - 1 ? r + c : r;\n\t\t\tlet logical_operator =\n\t\t\t\ti + 3 < conditionStr.length &&\n\t\t\t\tconditionStr.substring(i, i + 3) === '^OR'\n\t\t\t\t\t? 'OR'\n\t\t\t\t\t: 'AND';\n\t\t\tconditionObj['logical_op'] =\n\t\t\t\ti === conditionStr.length - 1 ? '' : logical_operator;\n\t\t\tif (logical_operator === 'OR') i = i + 2;\n\t\t\tconditionArr.push({ ...conditionObj });\n\t\t\tconditionObj = {};\n\t\t\tr = '';\n\t\t} else if (c === '=') {\n\t\t\tconditionObj['l'] = r;\n\t\t\tconditionObj['op'] = 'EQUALS';\n\t\t\tr = '';\n\t\t} else if (\n\t\t\tc === '!' &&\n\t\t\ti + 1 < conditionStr.length &&\n\t\t\tconditionStr[i + 1] === '='\n\t\t) {\n\t\t\tconditionObj['l'] = r;\n\t\t\tconditionObj['op'] = 'NOTEQUALS';\n\t\t\ti++;\n\t\t\tr = '';\n\t\t} else if (\n\t\t\tc === 'S' &&\n\t\t\tconditionStr.substring(\n\t\t\t\ti,\n\t\t\t\ti + Math.min('STARTSWITH'.length, conditionStr.length - i),\n\t\t\t) === 'STARTSWITH'\n\t\t) {\n\t\t\tconditionObj['l'] = r;\n\t\t\tconditionObj['op'] = 'STARTSWITH';\n\t\t\ti += 'STARTSWITH'.length - 1;\n\t\t\tr = '';\n\t\t} else {\n\t\t\tr = r + c;\n\t\t}\n\n\t\ti++;\n\t}\n\treturn conditionArr;\n};\n\nexport const resolvePreviewScreen = (selectedContent, macroponents) => {\n\tconst {\n\t\tmode,\n\t\tscreen,\n\t\tsysparm_live_preview: withLivePreview,\n\t\tsysparm_screen_sys_id: livePreviewScreenSysId,\n\t} = get(selectedContent, ['queryString'], {});\n\tlet resolvedMacroponent = null;\n\tif (mode === 'preview' && !isEmpty(screen)) {\n\t\tresolvedMacroponent = find(\n\t\t\tmacroponents,\n\t\t\t(mcp) => mcp.viewportConfigurationId === screen,\n\t\t);\n\t} else if (\n\t\twithLivePreview !== undefined &&\n\t\t!isEmpty(livePreviewScreenSysId)\n\t) {\n\t\tresolvedMacroponent = find(\n\t\t\tmacroponents,\n\t\t\t(mcp) => mcp.viewportConfigurationId === livePreviewScreenSysId,\n\t\t);\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error, resolving the preview screen');\n\t}\n\treturn resolvedMacroponent;\n};\n\nexport const evaluateCondition = (parsedCondition, selectedContent) => {\n\tif (isEmpty(selectedContent) || isEmpty(parsedCondition)) return false;\n\tlet result = false;\n\tlet logical_op;\n\tconst fields = selectedContent.fields ?? {};\n\tfor (let i = 0; i < parsedCondition.length; i++) {\n\t\tconst obj = parsedCondition[i];\n\t\tlet _result = EVALUATORS[obj['op']].evaluator(\n\t\t\tString(fields[obj['l']]),\n\t\t\tobj['r'],\n\t\t);\n\n\t\tif (logical_op == null) result = _result;\n\t\telse result = EVALUATORS[logical_op].evaluator(result, _result);\n\n\t\tlogical_op = obj['logical_op'];\n\n\t\tif (logical_op === '') return result;\n\t}\n\treturn result;\n};\n\nexport const preParseConditions = (macroponents) => {\n\tif (!Array.isArray(macroponents)) return;\n\tconst _macroponents = macroponents.slice();\n\t_macroponents.forEach((obj, i) => {\n\t\t_macroponents[i]['parsedCondition'] = parseCondition(\n\t\t\t_macroponents[i]['condition'],\n\t\t);\n\t});\n\treturn _macroponents;\n};\n\nconst getResolvedScreenFromMatchingInteropRoutes = async (\n\tinteropRoutes,\n\tselectedContent,\n\tserverResolvedScreenId,\n\tgetResolvedScreen,\n\tlocalRoute,\n\tisResolvingDependentRoutes = false,\n) => {\n\tif (interopRoutes.length === 0) return;\n\n\tlet resolvedScreen;\n\n\t// this collection is already sorted by order at the server.\n\tconst interopRoutesToProcess = !isResolvingDependentRoutes\n\t\t? [...interopRoutes]\n\t\t: [];\n\tfor (const interopRoute of interopRoutes) {\n\t\tconst {\n\t\t\tparsedInteropCondition,\n\t\t\thasScriptedCondition: hasInteropScriptedCondition = false,\n\t\t} = interopRoute;\n\t\tif (\n\t\t\thasInteropScriptedCondition ||\n\t\t\tisEmpty(interopRoute.interoperableCondition) ||\n\t\t\tevaluateCondition(parsedInteropCondition, selectedContent) === true\n\t\t) {\n\t\t\tconst {\n\t\t\t\tmacroponents: interopMacroponents,\n\t\t\t\tscreenType,\n\t\t\t\tname: title,\n\t\t\t\tappConfigId,\n\t\t\t\tinteroperableRouteSysId = '',\n\t\t\t\thasRouteConditionScript = false,\n\t\t\t} = interopRoute;\n\t\t\tresolvedScreen = await getResolvedScreen(\n\t\t\t\tinteropMacroponents,\n\t\t\t\tscreenType,\n\t\t\t\ttitle,\n\t\t\t\tserverResolvedScreenId,\n\t\t\t\thasRouteConditionScript || hasInteropScriptedCondition,\n\t\t\t\t{\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\tinteroperableRouteSysId,\n\t\t\t\t\t\tappConfigId,\n\t\t\t\t\t\tisInterop: true,\n\t\t\t\t\t},\n\t\t\t\t\troutesToProcess: interopRoutesToProcess,\n\t\t\t\t\tmatchingLocalRoute: localRoute,\n\t\t\t\t},\n\t\t\t);\n\t\t\t// hasRouteConditionScript => hydrate call will resolve the screen if at all possible.\n\t\t\tif (\n\t\t\t\t((hasRouteConditionScript || hasInteropScriptedCondition) &&\n\t\t\t\t\t!isResolvingDependentRoutes) ||\n\t\t\t\tresolvedScreen\n\t\t\t) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tinteropRoutesToProcess.shift();\n\t\t}\n\t}\n\n\treturn resolvedScreen;\n};\n\nexport const getFallbackScreens = (routeToScreenMap, route, fields) => {\n\tlet macroponents;\n\n\tconst ROUTE_CONFIG_OBJ = ROUTE_CONFIG();\n\tconst AUTH_ROUTES = get(window, ROUTE_CONFIG_OBJ?.AUTH_ROUTES, {});\n\tconst ROUTES = get(window, ROUTE_CONFIG_OBJ?.ROUTES, {});\n\tconst FORWARDED_ROUTES = get(\n\t\twindow,\n\t\tROUTE_CONFIG_OBJ?.FORWARDED_ROUTES,\n\t\t{},\n\t);\n\n\tlet errorCode = 404;\n\n\tif (Object.prototype.hasOwnProperty.call(FORWARDED_ROUTES, route))\n\t\terrorCode = 403;\n\n\tlet customAuthRoute = get(AUTH_ROUTES, `custom${errorCode}`, null);\n\tif (!customAuthRoute) return;\n\tconst primaryExpRoutes = getPrimaryExperienceRoutes();\n\tif (primaryExpRoutes[customAuthRoute]) {\n\t\tlet defaultCustomAuthRoute;\n\t\tlet routeObj = primaryExpRoutes[customAuthRoute].filter((route) => {\n\t\t\tif (route.fields.length == 0) defaultCustomAuthRoute = route;\n\t\t\treturn route.fields.length === Object.keys(fields).length;\n\t\t})[0];\n\n\t\t// if no routeObj found, assign defaultCustomAuthRoute with empty fields\n\t\tif (!routeObj) routeObj = defaultCustomAuthRoute;\n\n\t\tmacroponents = get(routeObj, 'macroponents', {});\n\t} else if (routeToScreenMap[customAuthRoute]) {\n\t\tlet customAuthRouteFields = get(ROUTES, customAuthRoute)[0].fields;\n\t\tlet fieldsLen = customAuthRouteFields.length;\n\t\tconst routeObj = get(\n\t\t\trouteToScreenMap,\n\t\t\t`${customAuthRoute}[${fieldsLen}]`,\n\t\t\t{},\n\t\t);\n\t\tmacroponents = get(routeObj, 'macroponents', {});\n\t}\n\treturn macroponents;\n};\n\nconst updateInteropContext = (interopContext) => {\n\tif (interopContext?.isInterop) {\n\t\t// when resolving an interop page, we do not know its expKey.\n\t\t// derive expKey from appConfigId.\n\t\tif (!interopContext?.expKey) {\n\t\t\tinteropContext.expKey = getExperienceKeyFromAppConfigId(\n\t\t\t\tinteropContext.appConfigId,\n\t\t\t);\n\t\t}\n\t}\n\treturn interopContext;\n};\n\nexport const getScreen = async (\n\tselectedContent = {},\n\trouteToScreenMap,\n\trouteToScreenMapInterop,\n\trouteToScreenMapInteropProviders,\n\texperienceId,\n\tuxrInteractionId,\n) => {\n\tif (isEmpty(selectedContent)) return;\n\tlet { route, fields = {}, context, params = {} } = selectedContent;\n\tif (!fields) fields = {};\n\tlet screenKey = getScreenKey(selectedContent);\n\tlet parentScreenKey;\n\tif (selectedContent?.parent) {\n\t\tparentScreenKey = getScreenKey(selectedContent.parent);\n\t}\n\tconst hydrationKey = generateHydrationKey();\n\tconst path = context?.path;\n\tconst hydrateContext = {\n\t\tpath,\n\t\tfields: { ...fields },\n\t\troute,\n\t\tparams,\n\t\thydrationKey,\n\t\tuxrInteractionId,\n\t\tscreenKey,\n\t};\n\tif (parentScreenKey) {\n\t\thydrateContext.fields.parent = { ...selectedContent.parent };\n\t}\n\n\tif (context && path)\n\t\t//create a unique key with subpage~parent combo\n\t\tscreenKey = parentScreenKey\n\t\t\t? `${path}~${screenKey}~${parentScreenKey}`\n\t\t\t: `${path}~${screenKey}`;\n\n\tconst cachedMacroponent = EVALUATION_CACHE[screenKey];\n\tif (cachedMacroponent) {\n\t\tconst { macroponentSysId, screenType, interopContext } =\n\t\t\tcachedMacroponent;\n\t\tconst {\n\t\t\tisInterop = false,\n\t\t\tappConfigId = '',\n\t\t\tinteroperableRouteSysId = '',\n\t\t} = interopContext ?? {};\n\t\tconst serverResolvedScreenId = getResolvedScreenFromAppliedPageFragment(\n\t\t\tselectedContent,\n\t\t\tpath,\n\t\t\troute,\n\t\t\trouteToScreenMap,\n\t\t\trouteToScreenMapInterop,\n\t\t\trouteToScreenMapInteropProviders,\n\t\t);\n\t\tif (serverResolvedScreenId !== macroponentSysId)\n\t\t\tgetHydratedScreen(experienceId, screenType, {\n\t\t\t\t...hydrateContext,\n\t\t\t\tisInterop,\n\t\t\t\tappConfigId,\n\t\t\t\t...(interoperableRouteSysId && {\n\t\t\t\t\tinteroperableRouteSysIds: [interoperableRouteSysId],\n\t\t\t\t}),\n\t\t\t});\n\t\treturn { ...cachedMacroponent, hydrateContext };\n\t}\n\n\tif (\n\t\tisEmpty(routeToScreenMap) &&\n\t\tisEmpty(routeToScreenMapInterop) &&\n\t\t!routeToScreenMapInteropProviders?.has(\n\t\t\tselectedContent?.interopContext?.expKey,\n\t\t)\n\t)\n\t\treturn;\n\n\tasync function getResolvedScreen(\n\t\tmacroponents,\n\t\tscreenType,\n\t\ttitle,\n\t\tserverResolvedScreenId,\n\t\thasConditionScript,\n\t\tinteropData = {},\n\t) {\n\t\tlet defaultMacroponent = null;\n\t\tlet interopContext = interopData?.context ?? {};\n\t\tlet {\n\t\t\tisInterop = false,\n\t\t\tappConfigId,\n\t\t\tinteroperableRouteSysId,\n\t\t} = interopContext;\n\n\t\tconst isInteropRouteBeingProcessed =\n\t\t\tisInterop && interopData?.routesToProcess?.length > 0;\n\n\t\tif (Array.isArray(macroponents)) {\n\t\t\t// if queryString found in selectedContent,\n\t\t\t// Extract query string params mode=preview&screen=screen_sys_id\n\t\t\t// resolve the screen from queryString\n\t\t\tif (isScreenPreview(selectedContent)) {\n\t\t\t\treturn resolvePreviewScreen(selectedContent, macroponents);\n\t\t\t}\n\n\t\t\tif (serverResolvedScreenId) {\n\t\t\t\tlet resolvedMacroponent;\n\n\t\t\t\tif (isInteropRouteBeingProcessed) {\n\t\t\t\t\t// InteropRoutes: During DirectLoad, we need to check for serverResolvedScreenId in all interopRoutesToProcess\n\t\t\t\t\tconst resultingInteropData =\n\t\t\t\t\t\tgetScreenDataFromInteropAndLocal(\n\t\t\t\t\t\t\t{ interop: interopData.routesToProcess },\n\t\t\t\t\t\t\tserverResolvedScreenId,\n\t\t\t\t\t\t);\n\n\t\t\t\t\tif (!resultingInteropData) return;\n\n\t\t\t\t\tresolvedMacroponent =\n\t\t\t\t\t\tresultingInteropData.macroponentObject;\n\t\t\t\t\tinteropContext = resultingInteropData.interopContext;\n\t\t\t\t\tappConfigId = resultingInteropData.appConfigId;\n\t\t\t\t\tscreenType = resultingInteropData.screenType;\n\t\t\t\t\ttitle = resultingInteropData.title;\n\t\t\t\t} else {\n\t\t\t\t\t// Local, Dependent routes\n\t\t\t\t\tresolvedMacroponent = macroponents.find(\n\t\t\t\t\t\t(macroponent) =>\n\t\t\t\t\t\t\tmacroponent.macroponentSysId ===\n\t\t\t\t\t\t\tserverResolvedScreenId,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (!resolvedMacroponent && isInterop) return;\n\t\t\t\tupdateInteropContext(interopContext);\n\t\t\t\tEVALUATION_CACHE[screenKey] = {\n\t\t\t\t\t...resolvedMacroponent,\n\t\t\t\t\tscreenType,\n\t\t\t\t\tinteropContext,\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\t...resolvedMacroponent,\n\t\t\t\t\ttitle,\n\t\t\t\t\tscreenType,\n\t\t\t\t\tinteropContext,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (hasConditionScript) {\n\t\t\t\t//call hydrate\n\t\t\t\t//need to await the response for Hydrated screen\n\t\t\t\tif (!window.__uxf_get_screen_id)\n\t\t\t\t\twindow.__uxf_get_screen_id = {};\n\t\t\t\tif (!window.__uxf_resolve_screen_id)\n\t\t\t\t\twindow.__uxf_resolve_screen_id = {};\n\t\t\t\twindow.__uxf_get_screen_id[hydrationKey] = new Promise(\n\t\t\t\t\t(resolve) => {\n\t\t\t\t\t\twindow.__uxf_resolve_screen_id[hydrationKey] = resolve;\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tgetHydratedScreen(experienceId, screenType, {\n\t\t\t\t\t...hydrateContext,\n\t\t\t\t\tisInterop,\n\t\t\t\t\tappConfigId,\n\t\t\t\t\tmatchingLocalRouteScreenTypeId:\n\t\t\t\t\t\tinteropData?.matchingLocalRoute?.screenType,\n\t\t\t\t\tinteroperableRouteSysIds: interopData?.routesToProcess?.map(\n\t\t\t\t\t\t(interopRoute) => interopRoute.interoperableRouteSysId,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t\tlet resolvedMacroponentSysId =\n\t\t\t\t\tawait window.__uxf_get_screen_id[hydrationKey];\n\t\t\t\tdelete window.__uxf_get_screen_id[hydrationKey];\n\t\t\t\tdelete window.__uxf_resolve_screen_id[hydrationKey];\n\t\t\t\tif (interopData?.matchingLocalRoute?.screenType) {\n\t\t\t\t\tinteropData.matchingLocalRoute.processedDuringInteropHydrateCall = true;\n\t\t\t\t}\n\t\t\t\tlet parentMacroponentSysId = null;\n\t\t\t\t// If API returned null/empty, return undefined to trigger 404 handling\n\t\t\t\tif (!resolvedMacroponentSysId) return;\n\t\t\t\tif (resolvedMacroponentSysId.includes('~')) {\n\t\t\t\t\t[resolvedMacroponentSysId, parentMacroponentSysId] =\n\t\t\t\t\t\tresolvedMacroponentSysId.split('~');\n\t\t\t\t}\n\n\t\t\t\tlet macroponentObject;\n\t\t\t\tif (isInteropRouteBeingProcessed) {\n\t\t\t\t\tconst resultingScreenData =\n\t\t\t\t\t\tgetScreenDataFromInteropAndLocal(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tinterop: interopData.routesToProcess,\n\t\t\t\t\t\t\t\tlocal: interopData.matchingLocalRoute,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresolvedMacroponentSysId,\n\t\t\t\t\t\t);\n\t\t\t\t\tmacroponentObject = resultingScreenData.macroponentObject;\n\t\t\t\t\tinteropContext = resultingScreenData.interopContext;\n\t\t\t\t\tmacroponents = resultingScreenData.macroponents;\n\t\t\t\t\tappConfigId = resultingScreenData.appConfigId;\n\t\t\t\t\tscreenType = resultingScreenData.screenType;\n\t\t\t\t\ttitle = resultingScreenData.title;\n\t\t\t\t} else {\n\t\t\t\t\tmacroponentObject = macroponents.find(\n\t\t\t\t\t\t(macroponent) =>\n\t\t\t\t\t\t\tmacroponent.macroponentSysId ===\n\t\t\t\t\t\t\tresolvedMacroponentSysId,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tlet parentMacroponentObject;\n\t\t\t\tif (parentMacroponentSysId) {\n\t\t\t\t\tparentMacroponentObject = macroponents.find(\n\t\t\t\t\t\t(macroponent) =>\n\t\t\t\t\t\t\tmacroponent.macroponentSysId ===\n\t\t\t\t\t\t\tparentMacroponentSysId,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tupdateInteropContext(interopContext);\n\t\t\t\treturn {\n\t\t\t\t\t...macroponentObject,\n\t\t\t\t\thasChatOnPage: parentMacroponentSysId\n\t\t\t\t\t\t? parentMacroponentObject?.hasChatOnPage\n\t\t\t\t\t\t: macroponentObject.hasChatOnPage,\n\t\t\t\t\thasUtilityPanel: parentMacroponentSysId\n\t\t\t\t\t\t? parentMacroponentObject?.hasUtilityPanel\n\t\t\t\t\t\t: macroponentObject.hasUtilityPanel,\n\t\t\t\t\ttitle,\n\t\t\t\t\tscreenType,\n\t\t\t\t\thydrateContext,\n\t\t\t\t\tinteropContext,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < macroponents.length; i++) {\n\t\t\t\t\tlet obj = macroponents[i];\n\t\t\t\t\tconst interoperableRouteSysIds = interoperableRouteSysId\n\t\t\t\t\t\t? [interoperableRouteSysId]\n\t\t\t\t\t\t: [];\n\t\t\t\t\tif (\n\t\t\t\t\t\tevaluateCondition(\n\t\t\t\t\t\t\tobj.parsedCondition,\n\t\t\t\t\t\t\tselectedContent,\n\t\t\t\t\t\t) === true\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (!serverResolvedScreenId && screenType)\n\t\t\t\t\t\t\tgetHydratedScreen(experienceId, screenType, {\n\t\t\t\t\t\t\t\t...hydrateContext,\n\t\t\t\t\t\t\t\tisInterop,\n\t\t\t\t\t\t\t\tappConfigId,\n\t\t\t\t\t\t\t\t...(isInterop && {\n\t\t\t\t\t\t\t\t\tinteroperableRouteSysIds,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\tupdateInteropContext(interopContext);\n\t\t\t\t\t\tEVALUATION_CACHE[screenKey] = {\n\t\t\t\t\t\t\t...obj,\n\t\t\t\t\t\t\tscreenType,\n\t\t\t\t\t\t\tinteropContext,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (selectedContent.parent) {\n\t\t\t\t\t\t\tobj = updateScreenContentWhenParentPresent(\n\t\t\t\t\t\t\t\tmacroponents,\n\t\t\t\t\t\t\t\tselectedContent.parent,\n\t\t\t\t\t\t\t\tobj,\n\t\t\t\t\t\t\t\tevaluateCondition,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...obj,\n\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\tscreenType,\n\t\t\t\t\t\t\thydrateContext,\n\t\t\t\t\t\t\tinteropContext,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!obj.condition)\n\t\t\t\t\t\tdefaultMacroponent = {\n\t\t\t\t\t\t\t...obj,\n\t\t\t\t\t\t\tscreenType,\n\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (defaultMacroponent) {\n\t\t\t\tif (!serverResolvedScreenId && screenType)\n\t\t\t\t\tgetHydratedScreen(experienceId, screenType, {\n\t\t\t\t\t\t...hydrateContext,\n\t\t\t\t\t\tisInterop,\n\t\t\t\t\t\tappConfigId,\n\t\t\t\t\t\t...(isInterop && {\n\t\t\t\t\t\t\tinteroperableRouteSysIds: interoperableRouteSysId\n\t\t\t\t\t\t\t\t? [interoperableRouteSysId]\n\t\t\t\t\t\t\t\t: [],\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\tupdateInteropContext(interopContext);\n\t\t\t\tEVALUATION_CACHE[screenKey] = {\n\t\t\t\t\t...defaultMacroponent,\n\t\t\t\t\tinteropContext,\n\t\t\t\t};\n\t\t\t\tif (selectedContent.parent) {\n\t\t\t\t\tdefaultMacroponent = updateScreenContentWhenParentPresent(\n\t\t\t\t\t\tmacroponents,\n\t\t\t\t\t\tselectedContent.parent,\n\t\t\t\t\t\tdefaultMacroponent,\n\t\t\t\t\t\tevaluateCondition,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...defaultMacroponent,\n\t\t\t\t\thydrateContext,\n\t\t\t\t\tinteropContext,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\tconst fieldCount =\n\t\tselectedContent?.urlFields?.length ?? Object.keys(fields).length;\n\n\tlet localRoute = get(routeToScreenMap, `${route}[${fieldCount}]`, {});\n\tlet {\n\t\tmacroponents,\n\t\tscreenType: localScreenType,\n\t\tname: localTitle,\n\t\thasRouteConditionScript = false,\n\t} = localRoute;\n\n\tconst hasLocalRouteWithMatchingFieldsLength = !!macroponents;\n\n\tconst serverResolvedScreenId = getResolvedScreenFromAppliedPageFragment(\n\t\tselectedContent,\n\t\tpath,\n\t\troute,\n\t\trouteToScreenMap,\n\t\trouteToScreenMapInterop,\n\t\trouteToScreenMapInteropProviders,\n\t);\n\n\tif (!areFieldsValid(fields)) {\n\t\tmacroponents = getFallbackScreens(routeToScreenMap, route, fields);\n\t\treturn await getResolvedScreen(\n\t\t\tmacroponents,\n\t\t\tlocalScreenType,\n\t\t\tlocalTitle,\n\t\t\tserverResolvedScreenId,\n\t\t\thasRouteConditionScript,\n\t\t);\n\t}\n\n\t// check if screen can be resolved from interop routes.\n\tconst interopRoutes = get(\n\t\trouteToScreenMapInterop,\n\t\t`${route}[${fieldCount}]`,\n\t\t[],\n\t);\n\tconst hasInteropRouteWithMatchingFieldsLength = interopRoutes?.length > 0;\n\tconst localRouteForInteropFallback = hasLocalRouteWithMatchingFieldsLength\n\t\t? { ...localRoute }\n\t\t: null;\n\tconst resolvedInteropScreen =\n\t\tawait getResolvedScreenFromMatchingInteropRoutes(\n\t\t\tinteropRoutes,\n\t\t\tselectedContent,\n\t\t\tserverResolvedScreenId,\n\t\t\tgetResolvedScreen,\n\t\t\tlocalRouteForInteropFallback,\n\t\t);\n\tif (resolvedInteropScreen) return resolvedInteropScreen;\n\n\t// check if screen can be resolved from local route macroponents\n\tif (\n\t\t!isEmpty(macroponents) &&\n\t\t!localRouteForInteropFallback?.processedDuringInteropHydrateCall\n\t) {\n\t\tconst resolvedLocalScreen = await getResolvedScreen(\n\t\t\tmacroponents,\n\t\t\tlocalScreenType,\n\t\t\tlocalTitle,\n\t\t\tserverResolvedScreenId,\n\t\t\thasRouteConditionScript,\n\t\t);\n\t\tif (resolvedLocalScreen) return resolvedLocalScreen;\n\t}\n\n\t// check if screen can be resolved from dependent routes\n\tif (\n\t\t!hasLocalRouteWithMatchingFieldsLength &&\n\t\t!hasInteropRouteWithMatchingFieldsLength\n\t) {\n\t\tconst providerExperienceKey = selectedContent?.interopContext?.expKey;\n\t\tconst routeToScreenMapInteropProvider =\n\t\t\trouteToScreenMapInteropProviders.get(providerExperienceKey);\n\t\tconst {\n\t\t\tappConfigId: providerAppConfigId,\n\t\t\tmacroponents: macroponentsDependent,\n\t\t\tscreenType: screenTypeDependent,\n\t\t\thasRouteConditionScript = false,\n\t\t\tname: titleDependent,\n\t\t} = get(routeToScreenMapInteropProvider, [route, fieldCount], {});\n\t\tconst resolvedDependentScreen = await getResolvedScreen(\n\t\t\tmacroponentsDependent,\n\t\t\tscreenTypeDependent,\n\t\t\ttitleDependent,\n\t\t\tserverResolvedScreenId,\n\t\t\thasRouteConditionScript,\n\t\t\t{\n\t\t\t\tcontext: {\n\t\t\t\t\tisInterop: true,\n\t\t\t\t\tisDependent: true,\n\t\t\t\t\tappConfigId: providerAppConfigId,\n\t\t\t\t\texpKey: providerExperienceKey,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\tif (resolvedDependentScreen) return resolvedDependentScreen;\n\t}\n\n\t// no interop, local, dependent screens could be resolved. fallback screens.\n\tmacroponents = getFallbackScreens(routeToScreenMap, route, fields);\n\treturn await getResolvedScreen(\n\t\tmacroponents,\n\t\tlocalScreenType,\n\t\tlocalTitle,\n\t\tserverResolvedScreenId,\n\t);\n};\n","import { UXF_INTEROP_ROUTE_RESOLVED } from '../constants/constants';\nimport { get } from '@devsnc/snowdash';\nimport { mark, getInteractionId } from '@servicenow/ui-metrics';\nimport { getUrlFromSelectedContent } from '../sn-canvas-router/sn-canvas-router.contentParser';\n\nexport const getProviderContextForInterop = (screenContent = {}) => {\n\tconst { interopContext = {}, viewportConfigurationId: providerScreenId } =\n\t\tscreenContent;\n\n\tconst { appConfigId: providerAppConfigId = '' } = interopContext;\n\tconst experienceConfigs = get(window, 'ux_globals.experienceConfigs', {});\n\tconst { experienceName: providerApplicationName } =\n\t\tObject.values(experienceConfigs).find(\n\t\t\t({ appConfigId = '', pageSettings: { sysId = '' } = {} }) => {\n\t\t\t\treturn (appConfigId || sysId) === providerAppConfigId;\n\t\t\t},\n\t\t) || {};\n\n\treturn {\n\t\tproviderApplicationName,\n\t\tproviderScreenId,\n\t};\n};\n\n/**\n * Emit AppSee marks when loading or switching Experiences.\n * @param {Object} host - the host object that comes from the dispatched event\n * @param {Object} action - the action object that comes from the dispatched event\n * @param {Object} markPayload - has all info of selectedContent in addition to the screenData\n */\nexport const trackInteropRouteUsage = (host, action, markPayload) => {\n\tconst { meta } = action;\n\tconst { providerApplicationName, providerScreenId } =\n\t\tgetProviderContextForInterop(markPayload);\n\n\tconst url = getUrlFromSelectedContent(markPayload);\n\tmark(\n\t\thost,\n\t\tgetInteractionId(meta),\n\t\tUXF_INTEROP_ROUTE_RESOLVED,\n\t\t{\n\t\t\turl,\n\t\t\tproviderApplicationName,\n\t\t\tproviderScreenId,\n\t\t},\n\t\t'usage',\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"klona\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.__esModule\n\t\t\t\t\tif (cjsModule && 'klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t\t} else if ('klona' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__.klona || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_klona_2_0_6_index_jsdbx_95dd984e__[\"default\"].klona;\n\t\t\t\t} });","import { klona } from 'klona';\nimport { get, set } from '@devsnc/snowdash';\n\nimport {\n\tparseCondition,\n\tpreParseConditions,\n} from './sn-canvas-screens.resolver';\n\nconst parseRoute = (routeObj) => {\n\t// eslint-disable-next-line no-unused-vars\n\tconst { optionalParameters, ...rest } = routeObj;\n\tconst deepRouteCopy = klona(rest);\n\tconst { fields } = deepRouteCopy;\n\tconst n = Array.isArray(fields) ? fields.length : 0;\n\treturn [\n\t\tn,\n\t\t{\n\t\t\t...deepRouteCopy,\n\t\t\tmacroponents: preParseConditions(deepRouteCopy.macroponents),\n\t\t},\n\t];\n};\n\nexport const getRouteToScreenMap = (routerConfig) => {\n\tif (!routerConfig) return;\n\tlet ROUTE_TO_SCREEN_MAP = {};\n\tfor (let [key, value] of Object.entries(routerConfig.routes)) {\n\t\tvalue.forEach((routeObj) => {\n\t\t\tconst [fieldsLength, parsedRoute] = parseRoute(routeObj);\n\t\t\tROUTE_TO_SCREEN_MAP[key] = {\n\t\t\t\t...ROUTE_TO_SCREEN_MAP[key],\n\t\t\t\t[fieldsLength]: parsedRoute,\n\t\t\t};\n\t\t});\n\t}\n\treturn ROUTE_TO_SCREEN_MAP;\n};\n\nconst parseInteropRoutes = (interopRoutes) => {\n\treturn Object.entries(interopRoutes).reduce(\n\t\t(routeToScreenMap, [key, value]) => {\n\t\t\tconst interopRoutesForKey = get(routeToScreenMap, [key], {});\n\t\t\tvalue.forEach((routeObj) => {\n\t\t\t\tconst { route, interoperableCondition, ...rest } = routeObj;\n\t\t\t\tconst [fieldsLength, parsedRoute] = parseRoute(route);\n\n\t\t\t\tconst interopRoutesForKeyAndFieldsLength =\n\t\t\t\t\tinteropRoutesForKey[fieldsLength] ?? [];\n\t\t\t\tinteropRoutesForKeyAndFieldsLength.push({\n\t\t\t\t\t...rest,\n\t\t\t\t\tinteroperableCondition,\n\t\t\t\t\tparsedInteropCondition: parseCondition(\n\t\t\t\t\t\tinteroperableCondition,\n\t\t\t\t\t),\n\t\t\t\t\t...parsedRoute,\n\t\t\t\t});\n\t\t\t\tinteropRoutesForKey[fieldsLength] =\n\t\t\t\t\tinteropRoutesForKeyAndFieldsLength;\n\t\t\t});\n\t\t\tset(routeToScreenMap, [key], interopRoutesForKey);\n\t\t\treturn routeToScreenMap;\n\t\t},\n\t\t{},\n\t);\n};\n\nexport const getInteropRouteToScreenMap = (routeConfig) => {\n\tif (routeConfig && Object.hasOwn(routeConfig, 'interoperableRoutes')) {\n\t\treturn parseInteropRoutes(routeConfig.interoperableRoutes);\n\t}\n};\n\n// keeping this separate for clarity.\n// but this could be combined with getInteropRouteToScreenMap to avoid looping twice\n/**\n *\n * @param {*} routeConfig\n * @returns a map of the structure: {\n * \t[providerAppConfigId]: {\n * \t\t[actualRouteNameInProviderExperience]: [aliasChosenByConsumer]\n * \t}\n * }\n */\nexport const getInteropAliasMap = (routeConfig) => {\n\tif (!routeConfig || !Object.hasOwn(routeConfig, 'interoperableRoutes')) {\n\t\treturn;\n\t}\n\n\tconst { interoperableRoutes } = routeConfig;\n\treturn Object.entries(interoperableRoutes).reduce(\n\t\t(aliasMap, [key, value]) => {\n\t\t\tvalue.forEach((interopRouteObj) => {\n\t\t\t\tconst { aliasFor, route } = interopRouteObj;\n\t\t\t\tif (!aliasFor || aliasFor === key) return;\n\n\t\t\t\tconst { appConfigId } = route ?? {};\n\t\t\t\tif (!appConfigId) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Interop alias ignored: appConfigId is missing in the interoperable route.',\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst aliasMapForAppConfigId = aliasMap[appConfigId] ?? {};\n\t\t\t\taliasMapForAppConfigId[aliasFor] = key;\n\t\t\t\taliasMap[appConfigId] = aliasMapForAppConfigId;\n\t\t\t});\n\t\t\treturn aliasMap;\n\t\t},\n\t\t{},\n\t);\n};\n","import { get, isEmpty, isEqual, isNil } from '@devsnc/snowdash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { getTemplates } from '@devsnc/library-uxf';\nimport { whenScreenMacroponentIdleOnEachPageLoad } from '@devsnc/uxf-runtime-utils';\n\nimport {\n\tgetSuspendableDiscardableScreens,\n\tunSuspendScreens,\n\tisInvalidParentLoad,\n\thandleHoistedContentUpdates,\n\tgetDirtyStateManager,\n\thandleWindowManagerScreenSelected,\n\tmergeScreenDataWithoutParent,\n} from './sn-canvas-screens.util';\nimport { getScreen } from './sn-canvas-screens.resolver';\nimport {\n\tMAIN_SELECTED_CONTENT_CHANGED,\n\tACTIVE_SCREEN_RENDERED,\n\tCONTENT_SCREENS_DISCARDED,\n\tCANVAS_SCREEN_LOADED,\n\tCANVAS_SCREEN_SWITCHED,\n\tCANVAS_SCREEN_LOAD_INITIATED,\n\tCANVAS_SCREEN_SWITCH_INITIATED,\n\tSCREEN_STATUS_CHANGED,\n\tCANVAS_COMPONENT_CONNECTED,\n\tROUTE_CONFIG,\n\tCANVAS_PARENT_SCREEN_LOAD_REQUESTED,\n\tSCREEN_INTERACTION_ID_UPDATE_REQUESTED,\n\tUXF_USER_NAV_LOAD_START,\n\tINTEROP_SCREEN_IDLE,\n} from '../../constants/constants';\nimport { trackInteropRouteUsage } from '../../utils/trackInteropRouteUsage';\n\nimport {\n\tgetInteropAliasMap,\n\tgetInteropRouteToScreenMap,\n\tgetRouteToScreenMap,\n} from './sn-canvas-screens.config';\nimport { getInteractionId } from '../../sn-canvas-metrics';\nimport { createInteractionId, mark } from '@servicenow/ui-metrics';\nimport {\n\tsetPageTitle,\n\tcanCreateMoreScreen,\n\tgetScreenKey,\n\tgetExperienceRouteConfigs,\n\tgetRequestedExperienceConfigs,\n\tPERSIST_STATE_CONSTANTS,\n} from 'sn-canvas-common';\nimport { getPageProperties } from '../../utils/uxGlobals';\nimport { dispatchUpdateHoistedContentForActiveRecords } from '../../utils/utility-panel/util';\nimport { getUrlFromSelectedContent } from '../../sn-canvas-router/sn-canvas-router.contentParser';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst { ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL } = PERSIST_STATE_CONSTANTS;\nlet isDirectPageLoad = true;\n\nexport async function prefetchTemplates() {\n\tconst macroponentSet = new Set();\n\tconst routeList = [];\n\tconst ROUTE_CONFIG_OBJ = ROUTE_CONFIG();\n\tconst uxfRouteMacroponentMap = get(window, ROUTE_CONFIG_OBJ?.ROUTES, {});\n\tconst prefetchLimits = get(window, ROUTE_CONFIG_OBJ?.PREFETCH_LIMITS, {});\n\tconst routeLimit = get(prefetchLimits, 'routes', null);\n\tconst screenLimit = get(prefetchLimits, 'screens', null);\n\n\tif (!routeLimit || !screenLimit) return;\n\n\tObject.keys(uxfRouteMacroponentMap).forEach((route) =>\n\t\trouteList.push(uxfRouteMacroponentMap[route][0]),\n\t);\n\n\trouteList\n\t\t.sort((obj1, obj2) => (obj1.order > obj2.order ? 1 : -1))\n\t\t.forEach((obj, i) => {\n\t\t\tif (routeLimit && i >= routeLimit) return;\n\t\t\tif (Array.isArray(obj.macroponents)) {\n\t\t\t\tobj.macroponents.forEach((m, j) => {\n\t\t\t\t\tif (screenLimit && j >= screenLimit) return;\n\t\t\t\t\tif (m.macroponentSysId)\n\t\t\t\t\t\tmacroponentSet.add(m.macroponentSysId);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t//get templates in when browser is free\n\tconst scheme = window.requestIdleCallback || window.requestAnimationFrame;\n\tconst cancelScheme =\n\t\twindow.cancelIdleCallback || window.cancelAnimationFrame;\n\tif (!scheme || !cancelScheme) return;\n\n\tconst id = scheme(() => {\n\t\tfor (let macroponentSysId of macroponentSet) {\n\t\t\tconst requestId = scheme(() => {\n\t\t\t\tgetTemplates([macroponentSysId]);\n\t\t\t\tcancelScheme(requestId);\n\t\t\t});\n\t\t}\n\t\tcancelScheme(id);\n\t});\n}\n\nexport const getParentScreen = async (\n\tproperties,\n\tupdateProperties,\n\tdispatch,\n) => {\n\tlet { selectedContent, screensData, activityLogs, routeConfig } =\n\t\tproperties;\n\tif (isInvalidParentLoad(properties)) return {};\n\n\tconst { parent, passiveNavigation, context } = selectedContent;\n\n\tprimeInteropProviderRouteToScreenMapCache(parent);\n\n\tlet newScreensData = { ...screensData };\n\n\tlet screenKey = getScreenKey(parent);\n\n\tconst screenData = newScreensData[screenKey];\n\n\tlet screenContent = {\n\t\t...parent,\n\t\tactivityLogs,\n\t\tscreenKey,\n\t\tisActive: false,\n\t\tlastActiveTimeStamp: new Date().getTime(),\n\t};\n\tconst uxrInteractionId =\n\t\twindow.nowUiFramework?.metrics?.uxfInteractionIdBase ||\n\t\tcreateInteractionId();\n\n\tif (!screenData) {\n\t\tconst {\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentConfiguration,\n\t\t\teventMappings,\n\t\t\tviewportConfigurationId,\n\t\t\tscreenType,\n\t\t\ttitle: defaultTitle,\n\t\t\tadvancedPerformanceSettings,\n\t\t\thydrateContext,\n\t\t\tinteropContext,\n\t\t\thasChatOnPage,\n\t\t\thasUtilityPanel,\n\t\t} = (await getScreen(\n\t\t\t// When context of parent is not present, pass childs' context\n\t\t\t{\n\t\t\t\tcontext,\n\t\t\t\t...parent,\n\t\t\t},\n\t\t\trouteConfig.routeToScreenMap,\n\t\t\trouteConfig.routeToScreenMapInterop,\n\t\t\tproviderRouteToScreenMapCache,\n\t\t\trouteConfig.experienceId,\n\t\t\tuxrInteractionId,\n\t\t)) || {};\n\t\tscreenContent = {\n\t\t\t...screenContent,\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentConfiguration,\n\t\t\teventMappings,\n\t\t\tviewportConfigurationId,\n\t\t\tactivityLogs,\n\t\t\tscreenType,\n\t\t\tdefaultTitle,\n\t\t\tcontext,\n\t\t\tadvancedPerformanceSettings,\n\t\t\thydrateContext,\n\t\t\tinteropContext,\n\t\t\thasChatOnPage,\n\t\t\thasUtilityPanel,\n\t\t};\n\t}\n\tnewScreensData[screenKey] = {\n\t\t...(screenData && { ...newScreensData[screenKey] }),\n\t\t...screenContent,\n\t\tuxrInteractionId,\n\t\thasActiveSubScreen: !passiveNavigation,\n\t};\n\n\tdispatchUpdateHoistedContentForActiveRecords(dispatch, {\n\t\t...screenContent,\n\t\texperienceId: routeConfig.experienceId,\n\t\thasChatOnPage: newScreensData[screenKey]?.hasChatOnPage,\n\t\thasUtilityPanel: newScreensData[screenKey]?.hasUtilityPanel,\n\t});\n\n\tupdateProperties({ screensData: { ...newScreensData } });\n\n\t//DEF0791772 - Window Manager should filter out the parent screen hoisted content\n\tconst childScreenKey = getScreenKey(selectedContent);\n\thandleWindowManagerScreenSelected(\n\t\tdispatch,\n\t\tscreenContent,\n\t\tchildScreenKey,\n\t\trouteConfig.experienceId,\n\t);\n};\n\nexport const isContextualRoute = (selectedContent, pageProperties) => {\n\ttry {\n\t\tconst chrome_tab = pageProperties?.chrome_tab;\n\t\tif (!chrome_tab) {\n\t\t\treturn false;\n\t\t}\n\t\tconst { route } = selectedContent;\n\t\tlet parsedChromeTab = JSON.parse(chrome_tab);\n\t\tif (route && parsedChromeTab?.contextual?.includes(route)) {\n\t\t\treturn true;\n\t\t}\n\t} catch (e) {\n\t\tconsole.info('unable to figure if isContextualRoute', e);\n\t\treturn false;\n\t}\n\treturn false;\n};\n\nconst getUpdatedRouteConfig = (routeConfig) => {\n\tlet newRouteConfigToUpdate = routeConfig;\n\n\tlet { routeToScreenMap, routeToScreenMapInterop, interopAliasMap } =\n\t\trouteConfig ?? {};\n\n\t// set routeToScreenMap if not present\n\tif (!routeToScreenMap) {\n\t\trouteToScreenMap = getRouteToScreenMap(routeConfig);\n\t\tif (routeToScreenMap) {\n\t\t\tnewRouteConfigToUpdate = {\n\t\t\t\t...newRouteConfigToUpdate,\n\t\t\t\trouteToScreenMap,\n\t\t\t};\n\t\t}\n\t}\n\n\t// set routeToScreenMapInterop if not present\n\tif (!routeToScreenMapInterop) {\n\t\trouteToScreenMapInterop = getInteropRouteToScreenMap(routeConfig);\n\t\tif (routeToScreenMapInterop) {\n\t\t\tnewRouteConfigToUpdate = {\n\t\t\t\t...newRouteConfigToUpdate,\n\t\t\t\trouteToScreenMapInterop,\n\t\t\t};\n\t\t}\n\t}\n\n\t// set interopAliasMap if not present\n\tif (!interopAliasMap) {\n\t\tinteropAliasMap = getInteropAliasMap(routeConfig);\n\t\tif (interopAliasMap) {\n\t\t\tnewRouteConfigToUpdate = {\n\t\t\t\t...newRouteConfigToUpdate,\n\t\t\t\tinteropAliasMap,\n\t\t\t};\n\t\t}\n\t}\n\n\treturn newRouteConfigToUpdate;\n};\n\n// key is the providerExperienceKey\n// value is the calculated routeToScreenMap\nconst providerRouteToScreenMapCache = new Map();\nconst primeInteropProviderRouteToScreenMapCache = (selectedContent) => {\n\tconst providerExperienceKey = selectedContent?.interopContext?.expKey;\n\tif (\n\t\t!providerExperienceKey ||\n\t\tproviderRouteToScreenMapCache.has(providerExperienceKey)\n\t)\n\t\treturn;\n\n\tconst experienceRouteConfigs = getExperienceRouteConfigs() ?? {};\n\tconst providerRouteConfig = experienceRouteConfigs[providerExperienceKey];\n\tproviderRouteToScreenMapCache.set(\n\t\tproviderExperienceKey,\n\t\tgetRouteToScreenMap(providerRouteConfig) ?? {},\n\t);\n};\n\nexport const mainSelectedContentChangedEffect = async ({\n\thost,\n\taction,\n\tdispatch,\n\tproperties,\n\tupdateProperties,\n\tstate,\n}) => {\n\tconst { selectedContent, prevSelectedContent } = action.payload;\n\tlet { screensData, activeScreenId, routeConfig } = properties;\n\n\tlet { pageProperties } = state;\n\tif (!pageProperties)\n\t\tpageProperties = getPageProperties(selectedContent?.context?.path);\n\n\tprimeInteropProviderRouteToScreenMapCache(selectedContent);\n\n\tconst udpatedRouteConfig = getUpdatedRouteConfig(routeConfig);\n\tif (!Object.is(udpatedRouteConfig, routeConfig)) {\n\t\t// This check can be refined - maybe with deepCompare\n\t\tupdateProperties({ routeConfig: udpatedRouteConfig });\n\t}\n\tconst { routeToScreenMap, routeToScreenMapInterop } = udpatedRouteConfig;\n\n\tlet { activityLogs, experienceId } = properties;\n\tconst {\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tupdateUrl,\n\t\tpassiveNavigation = false,\n\t\t...restSelectedContent\n\t} = selectedContent;\n\n\tlet screenKey = getScreenKey(restSelectedContent);\n\tlet newScreensData = { ...screensData };\n\tconst hasScreen = newScreensData[screenKey];\n\n\tif (\n\t\t!selectedContent ||\n\t\ttypeof selectedContent === 'string' ||\n\t\t!selectedContent.route\n\t)\n\t\treturn {};\n\tif (\n\t\t!hasScreen &&\n\t\tisContextualRoute(selectedContent, pageProperties) &&\n\t\t!canCreateMoreScreen(experienceId, screenKey, selectedContent.parent)\n\t) {\n\t\treturn {};\n\t}\n\n\tnewScreensData = unSuspendScreens(newScreensData);\n\n\tif (\n\t\tactiveScreenId &&\n\t\tactiveScreenId !== screenKey &&\n\t\tnewScreensData[activeScreenId] &&\n\t\t!passiveNavigation\n\t) {\n\t\tconst activeScreen = { ...newScreensData[activeScreenId] };\n\t\tnewScreensData[activeScreenId] = {\n\t\t\t...activeScreen,\n\t\t\tisActive: false,\n\t\t\tlastActiveTimeStamp: new Date().getTime(),\n\t\t};\n\t}\n\n\tlet screenContent = {\n\t\t...restSelectedContent,\n\t\tactivityLogs,\n\t\tscreenKey,\n\t\tisActive: !passiveNavigation,\n\t\tlastActiveTimeStamp: new Date().getTime(),\n\t};\n\n\t// Only notify window manager for non-passive navigation\n\tif (!passiveNavigation) {\n\t\thandleWindowManagerScreenSelected(\n\t\t\tdispatch,\n\t\t\tscreenContent,\n\t\t\tscreenKey,\n\t\t\texperienceId,\n\t\t);\n\t}\n\n\tconst isClassicRoute = selectedContent?.route === 'classic';\n\tconst uxrInteractionId =\n\t\tpassiveNavigation || (!hasScreen && !isDirectPageLoad)\n\t\t\t? createInteractionId()\n\t\t\t: getInteractionId();\n\n\tif (!hasScreen) {\n\t\t// Navigation has started\n\t\tif (!isDirectPageLoad && !isClassicRoute) {\n\t\t\tconst url = getUrlFromSelectedContent(selectedContent);\n\t\t\twindow.nowUiFramework.uxrInteractionId = uxrInteractionId;\n\t\t\tmark(host, uxrInteractionId, UXF_USER_NAV_LOAD_START, {\n\t\t\t\t...selectedContent,\n\t\t\t\tscreenKey,\n\t\t\t\turl: `${window.location.origin}${url}`,\n\t\t\t});\n\t\t}\n\t\tconst {\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentConfiguration,\n\t\t\teventMappings,\n\t\t\tviewportConfigurationId,\n\t\t\tscreenType,\n\t\t\ttitle: defaultTitle,\n\t\t\tadvancedPerformanceSettings,\n\t\t\thydrateContext,\n\t\t\tinteropContext,\n\t\t\thasChatOnPage,\n\t\t\thasUtilityPanel,\n\t\t} = (await getScreen(\n\t\t\trestSelectedContent,\n\t\t\trouteToScreenMap,\n\t\t\trouteToScreenMapInterop,\n\t\t\tproviderRouteToScreenMapCache,\n\t\t\trouteConfig.experienceId,\n\t\t\tuxrInteractionId,\n\t\t)) || {};\n\t\tif (isDirectPageLoad) isDirectPageLoad = false;\n\t\tscreenContent = {\n\t\t\t...screenContent,\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentConfiguration,\n\t\t\teventMappings,\n\t\t\tviewportConfigurationId,\n\t\t\tactivityLogs,\n\t\t\tscreenType,\n\t\t\tdefaultTitle,\n\t\t\tadvancedPerformanceSettings,\n\t\t\thydrateContext,\n\t\t\tinteropContext,\n\t\t\thasChatOnPage,\n\t\t\thasUtilityPanel,\n\t\t};\n\t\tdispatch(CANVAS_SCREEN_LOAD_INITIATED, { ...selectedContent });\n\t} else {\n\t\tdispatch(CANVAS_SCREEN_SWITCH_INITIATED, { ...selectedContent });\n\t}\n\n\tconst { updatedScreensData } = mergeScreenDataWithoutParent({\n\t\tnewScreensData,\n\t\tscreenKey,\n\t\tscreenContent,\n\t\thasScreen,\n\t\tuxrInteractionId,\n\t});\n\n\tnewScreensData = updatedScreensData;\n\n\tif (\n\t\tnewScreensData[screenKey]?.interopContext?.isInterop &&\n\t\t!passiveNavigation\n\t) {\n\t\ttrackInteropRouteUsage(host, action, {\n\t\t\t...newScreensData[screenKey],\n\t\t});\n\t}\n\n\t// Update prev parent screen's hasActiveSubScreen when child screen becomes inactive\n\tif (!passiveNavigation && prevSelectedContent?.parent) {\n\t\tconst prevParentScreenKey = getScreenKey(prevSelectedContent?.parent);\n\t\tconst prevParentScreen = newScreensData[prevParentScreenKey];\n\n\t\tif (prevParentScreen) {\n\t\t\tnewScreensData[prevParentScreenKey] = {\n\t\t\t\t...prevParentScreen,\n\t\t\t\thasActiveSubScreen: false,\n\t\t\t};\n\t\t}\n\t}\n\n\thandleHoistedContentUpdates(dispatch, {\n\t\t...screenContent,\n\t\tpassiveNavigation,\n\t\thasChatOnPage: newScreensData[screenKey]?.hasChatOnPage,\n\t\thasUtilityPanel: newScreensData[screenKey]?.hasUtilityPanel,\n\t\texperienceId,\n\t});\n\n\tconst { suspendableScreens, discardableScreens } =\n\t\tgetSuspendableDiscardableScreens(newScreensData, properties);\n\n\tif (suspendableScreens && suspendableScreens.length > 0) {\n\t\tsuspendableScreens.forEach(\n\t\t\t(key) =>\n\t\t\t\t(newScreensData[key] = {\n\t\t\t\t\t...newScreensData[key],\n\t\t\t\t\tsuspended: true,\n\t\t\t\t}),\n\t\t);\n\t}\n\n\tif (discardableScreens && discardableScreens.length > 0) {\n\t\tdiscardableScreens.forEach(\n\t\t\t(key) =>\n\t\t\t\t(newScreensData[key] = {\n\t\t\t\t\t...newScreensData[key],\n\t\t\t\t\tdiscarded: true,\n\t\t\t\t}),\n\t\t);\n\t\tdispatch(CONTENT_SCREENS_DISCARDED, { discardableScreens });\n\t}\n\n\tif (passiveNavigation === true) screenKey = activeScreenId;\n\n\tconst { screenType, viewportConfigurationId } = newScreensData[screenKey];\n\n\tdispatch(ACTIVE_SCREEN_RENDERED, {\n\t\tactiveScreenId: screenKey,\n\t\tscreenMetaData: {\n\t\t\tscreenType,\n\t\t\tscreenId: viewportConfigurationId,\n\t\t},\n\t});\n\n\tupdateProperties({\n\t\tscreensData: { ...newScreensData },\n\t\tactiveScreenId: screenKey,\n\t});\n\n\t// DEF0773483: This is dispatched always during navigation, however the logic inside it's action handler is conditional\n\tif (\n\t\tscreensData[screenKey]?.['_timestamp'] !==\n\t\tselectedContent?.['_timestamp']\n\t) {\n\t\tdispatch(ACTION_PERSIST_STATE_URL_CHANGED_INTERNAL, {\n\t\t\tscreenKey,\n\t\t\tencodedPersistedState: selectedContent.encodedPersistedState,\n\t\t\ttimestamp: selectedContent._timestamp,\n\t\t});\n\t}\n\n\tif (\n\t\thasScreen &&\n\t\tactiveScreenId != screenKey &&\n\t\twindow.requestAnimationFrame\n\t) {\n\t\twindow.requestAnimationFrame(() => {\n\t\t\t//In cases of screen switch, simply change browser title!\n\t\t\tconst screenTitle = hasScreen.title;\n\n\t\t\tif (screenTitle && screenContent.isActive) {\n\t\t\t\tconst experienceName = get(\n\t\t\t\t\tscreenContent,\n\t\t\t\t\t'context.experienceName',\n\t\t\t\t\t'',\n\t\t\t\t);\n\t\t\t\tsetPageTitle(null, screenTitle, experienceName);\n\t\t\t}\n\t\t\tdispatch(CANVAS_SCREEN_SWITCHED, { ...selectedContent });\n\t\t});\n\t}\n\n\tif (\n\t\thasScreen &&\n\t\t!isEmpty(selectedContent.parent) &&\n\t\t!isEqual(selectedContent.parent, prevSelectedContent.parent)\n\t)\n\t\tdispatch(CANVAS_PARENT_SCREEN_LOAD_REQUESTED);\n\n\taction.stopPropagation();\n};\n\nexport const canvasScreenLoadedEffect = async ({\n\thost,\n\taction,\n\tstate,\n\tupdateState,\n\tproperties,\n\tdispatch,\n}) => {\n\tif (\n\t\tproperties.selectedContent &&\n\t\t!isEmpty(properties.selectedContent.parent)\n\t) {\n\t\twhenScreenMacroponentIdleOnEachPageLoad().then(() => {\n\t\t\tconst scheme =\n\t\t\t\twindow.requestIdleCallback || window.requestAnimationFrame;\n\t\t\tconst cancelScheme =\n\t\t\t\twindow.cancelIdleCallback || window.cancelAnimationFrame;\n\t\t\tif (scheme && cancelScheme) {\n\t\t\t\tconst id = scheme(() => {\n\t\t\t\t\t// Load the parent screen as well if child screen is being requested directly\n\t\t\t\t\tdispatch(CANVAS_PARENT_SCREEN_LOAD_REQUESTED); // parentScreen must be handled regardless of initScreenLoaded\n\t\t\t\t\tcancelScheme(id);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(CANVAS_PARENT_SCREEN_LOAD_REQUESTED);\n\t\t\t}\n\t\t});\n\t}\n\n\tconst { screenKey } = action.payload;\n\n\tif (window && window.requestAnimationFrame) {\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tconst { screensData } = host.getResolvedProperties() || {};\n\t\t\tconst screen = screensData[screenKey];\n\t\t\t//Use default title when screen title is not present\n\t\t\tif (screen && !screen.title && screen.defaultTitle) {\n\t\t\t\tdispatch(SCREEN_STATUS_CHANGED, {\n\t\t\t\t\tisDirty: false,\n\t\t\t\t\tscreenKey,\n\t\t\t\t\ttitle: screen.defaultTitle,\n\t\t\t\t\tisActive: screen.isActive,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tconst { initScreenLoaded } = state;\n\tif (initScreenLoaded) return;\n\n\tprefetchTemplates();\n\tupdateState({ initScreenLoaded: true });\n};\n\nconst activeContextPathChanged = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tactiveContextPath,\n\t\t\tactiveScreenId,\n\t\t\tscreensData,\n\t\t\trouteConfig,\n\t\t},\n\t\tupdateProperties,\n\t} = coeffects;\n\tif (!activeContextPath || !screensData?.[activeScreenId] || !routeConfig)\n\t\treturn;\n\n\tconst isActive = activeContextPath === routeConfig.path;\n\tif (screensData[activeScreenId].isActive !== isActive) {\n\t\tconst newScreensData = { ...screensData };\n\t\tnewScreensData[activeScreenId] = {\n\t\t\t...screensData[activeScreenId],\n\t\t\tisActive,\n\t\t};\n\t\tupdateProperties({ screensData: newScreensData });\n\t}\n};\n\nexport const screensPropertyChangedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tproperties,\n\t\tdispatch,\n\t\tstate,\n\t} = coeffects;\n\n\tif (\n\t\tname == 'selectedContent' &&\n\t\tvalue &&\n\t\t!(\n\t\t\tpreviousValue &&\n\t\t\ttypeof previousValue === 'string' &&\n\t\t\tpreviousValue.charAt(0) === '@'\n\t\t)\n\t) {\n\t\tconst { selectedContent } = properties;\n\t\tconst { screenKeyMap } = state;\n\t\tdispatch(MAIN_SELECTED_CONTENT_CHANGED, {\n\t\t\tselectedContent,\n\t\t\tprevSelectedContent: previousValue,\n\t\t});\n\t\tconst previousScreenKey = getScreenKey(previousValue);\n\t\tconst currentScreenKey = getScreenKey(selectedContent);\n\t\t// We inform dirty state manager only when a new record is\n\t\t// created and the screenKey is different from the previous one\n\t\tif (\n\t\t\t(!isNil(previousValue?.multiInstField) ||\n\t\t\t\tpreviousValue?.fields?.sysId === '-1') &&\n\t\t\tscreenKeyMap.get(currentScreenKey) === previousScreenKey\n\t\t) {\n\t\t\tgetDirtyStateManager().updateScreenKey(\n\t\t\t\tpreviousScreenKey,\n\t\t\t\tcurrentScreenKey,\n\t\t\t);\n\t\t}\n\t}\n\n\tif (name == 'activeContextPath' && value !== previousValue) {\n\t\tactiveContextPathChanged(coeffects);\n\t}\n};\n\nexport const updateScreenInteractionIdEffect = ({\n\tproperties,\n\tupdateProperties,\n\taction,\n}) => {\n\tconst { screenKey, createNew } = action.payload;\n\tconst { screensData } = properties;\n\n\tif (!(screenKey in screensData)) return;\n\tconst currentUxrInteractionId =\n\t\tscreensData[screenKey]?.uxrInteractionId || '';\n\t// If createNew is false we will append -idle to mark the completion of current interaction for this screen so\n\t// following network calls don't use the completed interaction id in the header\n\t// to avoid tagging network calls which were not part of the original interaction.\n\n\t// Do not append -idle if the interaction id is already -idle, this may happen if a new interaction id was not created\n\t// before a new interaction started\n\tconst updatedUxrInteractionId = createNew\n\t\t? createInteractionId()\n\t\t: currentUxrInteractionId.endsWith('-idle')\n\t\t\t? currentUxrInteractionId\n\t\t\t: currentUxrInteractionId + '-idle';\n\n\tconst updatedScreensData = {\n\t\t...screensData,\n\t\t[screenKey]: {\n\t\t\t...screensData[screenKey],\n\t\t\tuxrInteractionId: updatedUxrInteractionId,\n\t\t},\n\t};\n\twindow.nowUiFramework.uxrInteractionId = updatedUxrInteractionId;\n\tupdateProperties({ screensData: { ...updatedScreensData } });\n};\n\n// For unit tests\nexport const _setIsDirectPageLoad = (value) => (isDirectPageLoad = value);\n\nconst interopIdleEffect = ({ action }) => {\n\tconst expKey = action?.payload?.expKey;\n\tif (expKey) getRequestedExperienceConfigs([expKey]);\n};\n\nconst actionHandlers = {\n\t[MAIN_SELECTED_CONTENT_CHANGED]: mainSelectedContentChangedEffect,\n\t[COMPONENT_CONNECTED]: ({\n\t\tproperties,\n\t\taction,\n\t\tdispatch,\n\t\tupdateProperties,\n\t}) => {\n\t\tdispatch(CANVAS_COMPONENT_CONNECTED, action.payload);\n\t\tconst { routeConfig } = properties;\n\t\tconst updatedRouteConfig = getUpdatedRouteConfig(routeConfig);\n\t\tif (!Object.is(updatedRouteConfig, routeConfig)) {\n\t\t\tupdateProperties({\n\t\t\t\trouteConfig: updatedRouteConfig,\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: screensPropertyChangedEffect,\n\t[CANVAS_SCREEN_LOADED]: canvasScreenLoadedEffect,\n\t[INTEROP_SCREEN_IDLE]: {\n\t\teffect: interopIdleEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SCREEN_INTERACTION_ID_UPDATE_REQUESTED]: {\n\t\teffect: updateScreenInteractionIdEffect,\n\t\tstopPropagation: true,\n\t},\n\t[CANVAS_PARENT_SCREEN_LOAD_REQUESTED]: ({\n\t\tproperties,\n\t\tupdateProperties,\n\t\tdispatch,\n\t}) => {\n\t\tgetParentScreen(properties, updateProperties, dispatch);\n\t},\n};\nexport { actionHandlers };\n","import { COMPONENT_ID, SN_CANVAS_ROUTER } from '../constants/constants';\n\nlet componentIds = {};\n\n/**\n * Get any selectable properties from sn-workspace-layout (root).\n * @param propName\n * @returns {{}}\n */\n\nexport function getSelectableRouterProps(propName) {\n\treturn getSelectableProp(SN_CANVAS_ROUTER, propName);\n}\n\n/**\n * This utility function is being provided to work around the fact that we don't want to make any metadata\n * changes for defining selectable properties on components. As a result on the first component bootstrap, we will\n * manually get the component id from the component the implementor cares about and create the selectable property string\n * and apply it to the component.\n *\n * Usage:\n * getSelectableProp('sn-workspace-layout', 'tabsData');\n *\n * Returns:\n * '@[component-id of layout]/tabsData'\n *\n * @param componentName\n * @param propName\n * @returns {*}\n */\nexport function getSelectableProp(componentName, propName) {\n\tlet componentId = componentIds[componentName] || null;\n\tif (!componentId) {\n\t\tconst snCanvasPortal = document.getElementsByTagName(componentName);\n\t\tif (!snCanvasPortal.length) return {};\n\t\tcomponentId = snCanvasPortal[0].getAttribute(COMPONENT_ID);\n\t\tcomponentIds[componentName] = componentId;\n\t}\n\n\treturn `@${componentId}/${propName}`;\n}\n","import { SELECTED_CONTENT_PROP_BEHAVIOR } from '../../constants/constants';\n\nimport { getSelectableRouterProps } from '../selectablePropUtils';\n\nexport const selectedContentPropBehavior = {\n\tname: SELECTED_CONTENT_PROP_BEHAVIOR,\n\tproperties: {\n\t\tselectedContent: {\n\t\t\tget default() {\n\t\t\t\treturn getSelectableRouterProps('selectedContent');\n\t\t\t}\n\t\t}\n\t}\n};\n","import { actionHandlers } from './sn-canvas-screens.effects';\n\nimport { selectedContentPropBehavior } from '../../utils/behaviors/selectableProps.behaviors';\n\nimport { SCREENS_DATA_BEHAVIOR } from '../../constants/constants';\n\nconst screensDataBehavior = {\n\tname: SCREENS_DATA_BEHAVIOR,\n\tinitialState: {\n\t\tinitScreenLoaded: false,\n\t},\n\tproperties: {\n\t\tmainConfig: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tactiveScreenId: {\n\t\t\tdefault: null,\n\t\t},\n\t\tscreensData: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tclosedNavigationIds: {\n\t\t\tdefault: null,\n\t\t},\n\t\trouteConfig: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\tscreensToCloseQueue: {\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tscreenTitles: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tactiveContextPath: {\n\t\t\tdefault: '',\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t},\n\t\tdelegatedNotifications: {\n\t\t\tdefault: [],\n\t\t},\n\t},\n\tactionHandlers,\n};\n\nexport const screenStatusChangeBehavior = {\n\tname: 'SCREEN_STATUS_CHANGE_BEHAVIOR',\n\tproperties: {\n\t\tscreenStatus: {\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true,\n\t\t},\n\t},\n};\n\nexport const activityLogBehavior = {\n\tname: 'ACTIVITY_LOGS',\n\tproperties: {\n\t\tactivityLogs: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n};\n\nexport const userPreferenceBehavior = {\n\tname: 'USER_PREFERENCES',\n\tproperties: {\n\t\tuserPrefs: {\n\t\t\tdefault: {},\n\t\t},\n\t},\n};\n\nexport const screensDataBehaviors = [\n\tscreensDataBehavior,\n\tselectedContentPropBehavior,\n];\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"dirtyStateSubscriberBehavior\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.__esModule\n\t\t\t\t\tif (cjsModule && 'dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t\t} else if ('dirtyStateSubscriberBehavior' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__.dirtyStateSubscriberBehavior || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_shared_behaviors_28_0_9_index_jsdbx_1f17aecf__[\"default\"].dirtyStateSubscriberBehavior;\n\t\t\t\t} });","export const MODELESS_DIALOG = 'NOW-MODELESS-DIALOG';\nexport const DATA_TYPE = 'data-type';\nexport const REPEATER = 'repeater';\nexport const FULL_SCREEN_INDEX = '2995';\nexport const NOW_ID = 'now-id';\nexport const IS_FOCUSED = 'is-focused';\nexport const POSITION = 'fixed';\nexport const TRUE = 'true';\nexport const FALSE = 'false';\nexport const FOCUSED_INDEX = '2980';\nexport const UNFOCUSED_INDEX = '2975';\nexport const TAB_INDEX = 'tabindex';\nexport const TAB_INDEX_VALUE = '0';\n","import {\n\tDATA_TYPE,\n\tFALSE,\n\tFOCUSED_INDEX,\n\tFULL_SCREEN_INDEX,\n\tIS_FOCUSED,\n\tMODELESS_DIALOG,\n\tNOW_ID,\n\tPOSITION,\n\tREPEATER,\n\tTRUE,\n\tUNFOCUSED_INDEX,\n} from './modelessDialogConstants';\nimport { deepSearchElement, deepSearchAllElement } from 'sn-canvas-common';\nimport { COMPONENT_ID_ATTR, FOCUS_DELAY } from '../../../constants/constants';\n/**\n * @description onModelessDialogMaximize - updates the modeless dialog elements z-index based on the id and shouldFocus flag\n * @param id {string} - the id of the modeless dialog\n * @param dialogElement {object} - the dialog element to update\n */\nexport const onModelessDialogMaximize = (id, dialogElement) => {\n\tfor (let node of dialogElement.parentElement.childNodes) {\n\t\tconst nowId = node.getAttribute(NOW_ID);\n\t\tif (nowId === id) {\n\t\t\tnode.setAttribute(IS_FOCUSED, TRUE);\n\t\t\tnode.style.zIndex = FULL_SCREEN_INDEX;\n\t\t\tnode.style.position = POSITION;\n\t\t} else {\n\t\t\tnode.style.zIndex = UNFOCUSED_INDEX;\n\t\t\tnode.setAttribute(IS_FOCUSED, FALSE);\n\t\t}\n\t}\n};\n\n/**\n * @description onModelessElementsUpdated - updates the modeless dialog elements z-index based on the id and shouldFocus flag\n * @param id{string} - the id of the modeless dialog\n * @param dialogElement{object} - the dialog element to update\n */\nexport const onModelessElementsUpdated = (id, dialogElement) => {\n\t//iterate through all now-modeless-dialog nodes\n\tdialogElement.parentElement.childNodes.forEach((node) => {\n\t\tconst nowId = node.getAttribute(NOW_ID);\n\t\tnode.setAttribute(IS_FOCUSED, nowId === id ? TRUE : FALSE); //only set focus attribute if id's match\n\t\tnowId === id\n\t\t\t? (node.style.zIndex = FOCUSED_INDEX)\n\t\t\t: (node.style.zIndex = UNFOCUSED_INDEX); //set the z-index based on the id\n\t\tnode.style.position = POSITION;\n\t});\n};\n\n/**\n * @description fetchModelessDialogElements - fetch all the modelessDialog elements by id and host is from UIB.\n * @param id {string} - the id of the modeless dialog\n * @param host {Object} - the host element\n * @returns {*|null} returns a valid modeless dialog element list or null\n */\n\nexport const fetchModelessDialogElements = (id, host) => {\n\tconst nodeElements = deepSearchAllElement(`[${NOW_ID}=\"${id}\"]`, host);\n\tif (!nodeElements || !nodeElements.length) return null;\n\tlet modelessDialogList = nodeElements.filter(\n\t\t(nodeElement) =>\n\t\t\tnodeElement.nodeName === MODELESS_DIALOG &&\n\t\t\tnodeElement.parentElement.getAttribute(DATA_TYPE) === REPEATER,\n\t);\n\treturn modelessDialogList;\n};\n\n/**\n * @description validateModelessDialogElement - validates the modelessDialog element by id and host is from UIB.\n * @param id {string} - the id of the modeless dialog\n * @param host {Object} - the host element\n * @returns {*|null} returns a valid modeless dialog element or null\n */\nexport const validateModelessDialogElement = (id, host) => {\n\tconst nodeElement = deepSearchElement(`[${NOW_ID}=\"${id}\"]`, host);\n\tif (!nodeElement) return null; //if the dialog is not found then return\n\tif (nodeElement.nodeName !== MODELESS_DIALOG) return null; //only run logic for modeless dialog\n\tif (!(nodeElement.parentElement.getAttribute(DATA_TYPE) === REPEATER)) {\n\t\treturn null;\n\t}\n\treturn nodeElement;\n};\n\n/**\n * @description updateFocusMinimizedModelessDialog - updates the z-index of the modeled dialog when un-hiding the dialog.\n * @param instanceIndex {number} - the index of the modeless dialog\n * @param repeaterElements {Object} - the repeater element\n */\nexport const updateUnhidModelessElements = (\n\tinstanceIndex,\n\trepeaterElements,\n) => {\n\tlet repeaterNode;\n\n\t//filter any childNode whose nodeName is not \"NOW-MODELESS-DIALOG\" handles DEF0515494 case\n\tconst filteredChildNodes = [...repeaterElements.childNodes].filter(\n\t\t(node) => node.nodeName === MODELESS_DIALOG,\n\t);\n\n\tfor (const [index, node] of filteredChildNodes.entries()) {\n\t\tif (index === instanceIndex) {\n\t\t\tnode.setAttribute(IS_FOCUSED, TRUE);\n\t\t\tObject.assign(node.style, {\n\t\t\t\tzIndex: FULL_SCREEN_INDEX,\n\t\t\t\tposition: POSITION,\n\t\t\t});\n\t\t\trepeaterNode = node;\n\t\t} else {\n\t\t\tnode.style.zIndex = UNFOCUSED_INDEX;\n\t\t\tnode.setAttribute(IS_FOCUSED, FALSE);\n\t\t}\n\t}\n\tif (repeaterNode) repeaterNode.focus();\n};\n\n/**\n * Find the parent element of a given element that matches the specified tag name\n * @param element {element} - The starting point element for the search\n * @param tagName {string} - The tag name to search for\n * @returns {*|null} - Returns the parent element that matches the specified tag name or null if not found\n */\nexport const findInShadowDomParent = (element, tagName) => {\n\twhile (element) {\n\t\tif (element.tagName === tagName.toUpperCase()) {\n\t\t\treturn element;\n\t\t}\n\t\tif (element.parentElement) {\n\t\t\telement = element.parentElement;\n\t\t} else if (element.getRootNode && element.getRootNode().host) {\n\t\t\telement = element.getRootNode().host;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn null;\n};\n\n/**\n * @description handleCleanupDialogList - handles the cleanup of the ux_global dialog list when a dialog is closed.\n * @param instanceId {string} - the instance id of the closed dialog\n */\n\nexport const handleUxGlobalCleanupDialogList = (instanceId) => {\n\tif (window.ux_globals?.__windowManagerConfig?.dialogs) {\n\t\tconst experienceId = window.ux_globals.snCanvasScreen?.experienceId;\n\t\tconst screenKey = window.ux_globals.snCanvasScreen?.screenId;\n\t\tconst key = `${experienceId}-${screenKey}-${instanceId}`;\n\t\tdelete window.ux_globals.__windowManagerConfig.dialogs[key];\n\t}\n};\n\n/**\n * @description Factory function that handles focus restoration when a modeless dialog is closed.\n * This function implements an accessibility pattern that returns keyboard focus to the\n * element that originally opened the dialog when it closes.\n *\n * It supports two scenarios:\n * 1. Direct DOM element reference in originalSourceElement\n * 2. Component ID string in originalSourceElement (requires DOM lookup)\n *\n * @param {element} originalSourceElement - The action payload from the modelessDialog action\n * @param {element} host - The host element\n */\nexport const handleModelessDialogCloseEvents = (\n\toriginalSourceElement,\n\thost,\n) => {\n\tif (!originalSourceElement) return;\n\n\tif (typeof originalSourceElement.focus === 'function') {\n\t\tapplyFocusWithTimeout(originalSourceElement);\n\t\treturn;\n\t}\n\n\tif (typeof originalSourceElement === 'string') {\n\t\tconst targetElement = deepSearchElement(\n\t\t\t`[${COMPONENT_ID_ATTR}=\"${originalSourceElement}\"]`,\n\t\t\thost,\n\t\t);\n\t\tapplyFocusWithTimeout(targetElement);\n\t}\n};\n\n/**\n * Helper to check if an element can be focused\n * @param {*} element - The element to check\n * @returns {boolean} - True if the element has a focus method\n */\nexport const isFocusable = (element) =>\n\t!!(element && typeof element.focus === 'function');\n\n/**\n * Apply focus to an element with a small timeout to ensure proper timing\n * @param {Element} element - The element to focus\n */\nexport const applyFocusWithTimeout = (element) => {\n\tif (!isFocusable(element)) return;\n\n\tsetTimeout(() => {\n\t\tif (element?.isConnected) {\n\t\t\telement.focus();\n\t\t}\n\t}, FOCUS_DELAY);\n};\n","import {\n\tonModelessDialogMaximize,\n\tvalidateModelessDialogElement,\n\tupdateUnhidModelessElements,\n\tonModelessElementsUpdated,\n\tfetchModelessDialogElements,\n\tfindInShadowDomParent,\n\thandleUxGlobalCleanupDialogList,\n\thandleModelessDialogCloseEvents,\n} from './modelessDialog.helpers';\nimport {\n\tIS_FOCUSED,\n\tTAB_INDEX,\n\tTAB_INDEX_VALUE,\n\tTRUE,\n\tNOW_ID,\n\tFOCUSED_INDEX,\n\tUNFOCUSED_INDEX,\n\tPOSITION,\n\tFALSE,\n} from './modelessDialogConstants';\nimport { deepSearchElement, deepSearchAllElement } from 'sn-canvas-common';\nimport { getUxfSysProp } from '../../../utils/uxGlobals';\n\n/**\n * @description getModelessDialogElements - gets the modeless dialog elements by id and host.\n * @param id{string} - the id of the modeless dialog\n * @param host{Object} - the host element\n * @returns {[boolean,*]} - array containing the shouldContinue flag and the dialogElements\n */\nexport const getModelessDialogElements = (id, host) => {\n\tconst nodeElements = fetchModelessDialogElements(id, host);\n\tif (!nodeElements || !nodeElements.length) return [false, undefined];\n\tif (!nodeElements.some((node) => node?.opened)) {\n\t\treturn [false, undefined];\n\t}\n\n\treturn [true, nodeElements];\n};\n\n/**\n * @description updateModelessElements - updates the modeless dialog elements z-index based on the id and shouldFocus flag\n * @param id {string} - the id of the modeless dialog\n * @param dialogElement {Object} - the dialog element to update\n * @returns {void}\n */\nexport const updateModelessElements = (id, dialogElement) => {\n\t//iterate through all now-modeless-dialog nodes\n\tdialogElement.parentElement.childNodes.forEach((node) => {\n\t\tconst nowId = node.getAttribute(NOW_ID);\n\t\tnode.setAttribute(\n\t\t\tIS_FOCUSED,\n\t\t\tnowId === id && node.opened === true ? TRUE : FALSE,\n\t\t);\n\t\tnode.style.zIndex =\n\t\t\tnowId === id && node.opened === true\n\t\t\t\t? FOCUSED_INDEX\n\t\t\t\t: UNFOCUSED_INDEX; //set the z-index based on the id and opened state\n\t\tnode.style.position = POSITION;\n\t});\n};\n\n/**\n * @description updateMaximizeModelessElements - updates the modeless dialog elements z-index when the maximize event is fired.\n * When the fullscreen property is `false` need to make the dialog full screen and set the z-index to 1000.\n * When the fullscreen property is `true` need so set the z-index to 985 and the size back to normal.\n * @param id {string} - the id of the modeless dialog\n * @param payload {Object} - the payload from the maximize event\n * @param dialogElement {Object} - the dialog element to update\n */\nexport const updateMaximizeModelessElements = (id, payload, dialogElement) => {\n\tconst { fullscreen = true } = payload;\n\tfullscreen\n\t\t? onModelessElementsUpdated(id, dialogElement, true)\n\t\t: onModelessDialogMaximize(id, dialogElement);\n};\n\n/**\n * @description getModelessMaximizedDialogElements - gets the modeless dialog element by id and host\n * @param id{string} - the id of the modeless dialog\n * @param host{Object} - the host element\n * @returns {[boolean,*]} - array containing the shouldContinue flag and the dialogElement\n */\nexport const getModelessMaximizedDialogElements = (id, host) => {\n\tconst nodeElement = validateModelessDialogElement(id, host);\n\treturn nodeElement ? [true, nodeElement] : [false, undefined];\n};\n\n/**\n * @description updateFocusMinimizedModelessDialog - updates focus on the minimized modeless dialog dropdown\n * @param modelessDropdownElement {Object} - The Modeless Dialog Dropdown Element to update\n * @returns {void}\n */\nexport const updateFocusMinimizedModelessDialog = (modelessDropdownElement) => {\n\tif (!modelessDropdownElement) return;\n\tmodelessDropdownElement.setAttribute(TAB_INDEX, TAB_INDEX_VALUE);\n\tmodelessDropdownElement.focus();\n};\n\n/**\n * @description getModelessListControllerElement - gets the modeless list controller element by metaId and instanceId.\n * Then gets the modeless-dialog elements in the controller and updates the z-index based on the instanceIndex.\n * @param metaId {string} - the metaId of the modeless list controller\n * @param instanceId {string}- the instanceId of the modeless dialog\n * @param host {Object} - the host element\n */\nexport const getModelessListControllerElement = (metaId, instanceId, host) => {\n\tconst controllerElement = deepSearchElement(`[now-id=\"${metaId}\"]`, host);\n\tif (controllerElement) {\n\t\tconst { modelessList = [] } = controllerElement.getResolvedProperties();\n\t\tconst instanceIndex = modelessList\n\t\t\t.filter((item) => Object.keys(item).length > 0)\n\t\t\t.findIndex((item) => item.instanceId === instanceId);\n\t\tif (instanceIndex === -1) return;\n\t\tconst repeaterElements = deepSearchElement(\n\t\t\t'[data-type=\"repeater\"]',\n\t\t\tcontrollerElement.parentElement,\n\t\t);\n\t\t//iterate through the repeaterElements and set the z-index for the instanceIndex\n\t\tupdateUnhidModelessElements(instanceIndex, repeaterElements);\n\t}\n};\n\n/**\n * @description handleConfirmedWindowClose - handles the close window event by removing the closed dialog from the modelessList.\n * This function is called when the confirmation modal continue button is clicked.  We need to dispatch the 'UXF#CLOSE_DIALOG' event to close the dialog.\n * The client script needs to dispatch further events for handling DSM cases.\n * @param host - the host element\n * @param instanceId - the instance id fo the closed dialog\n * @param componentId - the component id of the modeless Dialog container\n * @param updateProperties - update properties function of main\n * @param propagatedMetaFromDialogCloseRequested\n */\nexport const handleConfirmedWindowClose = (\n\thost,\n\tinstanceId,\n\tcomponentId,\n\tupdateProperties,\n\tpropagatedMetaFromDialogCloseRequested,\n) => {\n\tconst modelessContainerId = `[${NOW_ID}=\"${componentId}\"]`;\n\tconst modelessContainer = deepSearchElement(modelessContainerId, host);\n\tconst screenElement = findInShadowDomParent(\n\t\tmodelessContainer,\n\t\t'sn-canvas-screen',\n\t);\n\tconst controllerElement = deepSearchElement(\n\t\t'macroponent-38c8258c77343110c9d933c1fa5a99d7',\n\t\tscreenElement,\n\t);\n\n\tif (controllerElement) {\n\t\tconst { modelessList = [] } = controllerElement.getResolvedProperties();\n\t\tconst dialogItem = modelessList.find(\n\t\t\t(item) => item && item.instanceId === instanceId,\n\t\t);\n\t\tconst originalSourceElement = dialogItem?.originalSourceElement;\n\n\t\tcontrollerElement.dispatch(\n\t\t\t'UXF#CLOSE_DIALOG',\n\t\t\t{\n\t\t\t\tinstanceId,\n\t\t\t\tcloseMandate: true,\n\t\t\t\tcloseConfirm: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tuxfMeta: {\n\t\t\t\t\t...propagatedMetaFromDialogCloseRequested,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\tupdateProperties({\n\t\t\tshowDialogModal: false,\n\t\t\tdialogId: null,\n\t\t\tcompositionId: null,\n\t\t\tsourceElement: null,\n\t\t\tpropagatedMetaFromDialogCloseRequested: {},\n\t\t});\n\n\t\thandleUxGlobalCleanupDialogList(instanceId);\n\t\thandleModelessDialogCloseEvents(originalSourceElement, host);\n\t}\n};\n\n/**\n * @description handleCloseWindow - handles the close window event by removing the closed dialog from the modelessList.\n * Also cleans up the ux_global dialog list.\n * @param host {element} - the host element\n * @param instanceId {string} - the instance id of the closed dialog\n */\nexport const handleCloseWindow = (host, instanceId) => {\n\tif (instanceId !== null && instanceId !== undefined) {\n\t\tlet modelessDialogControllerElementResultsArray = deepSearchAllElement(\n\t\t\t'macroponent-38c8258c77343110c9d933c1fa5a99d7',\n\t\t\thost,\n\t\t);\n\t\tif (modelessDialogControllerElementResultsArray.length > 0) {\n\t\t\tfor (\n\t\t\t\tlet i = 0;\n\t\t\t\ti < modelessDialogControllerElementResultsArray.length;\n\t\t\t\ti++\n\t\t\t) {\n\t\t\t\tlet modelessDialogControllerElement =\n\t\t\t\t\tmodelessDialogControllerElementResultsArray[i];\n\t\t\t\tif (!modelessDialogControllerElement) continue;\n\t\t\t\tconst { modelessList = [] } =\n\t\t\t\t\tmodelessDialogControllerElement.getResolvedProperties();\n\t\t\t\tconst instanceIndex = modelessList.findIndex(\n\t\t\t\t\t(item) =>\n\t\t\t\t\t\titem &&\n\t\t\t\t\t\tObject.keys(item).length > 0 &&\n\t\t\t\t\t\titem.instanceId === instanceId &&\n\t\t\t\t\t\t!item.closed,\n\t\t\t\t);\n\t\t\t\tif (instanceIndex === -1) continue;\n\t\t\t\tconst dialogItem = modelessList[instanceIndex];\n\t\t\t\tconst originalSourceElement = dialogItem?.originalSourceElement;\n\t\t\t\tconst updatedModelessList = [...modelessList];\n\t\t\t\tupdatedModelessList.splice(instanceIndex, 1);\n\t\t\t\tmodelessDialogControllerElement.helpers.updateState({\n\t\t\t\t\tmodelessList: updatedModelessList,\n\t\t\t\t});\n\t\t\t\thandleUxGlobalCleanupDialogList(instanceId);\n\t\t\t\thandleModelessDialogCloseEvents(originalSourceElement, host);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * @description handleWindowMinimized - handles the window minimized event from Window Manager.\n * This function enabled backwards compatibility with the old modeless dialog minimized events.\n * Where UXF targets the controller to dispatch the hide event.\n * @param payload {object} - The payload from the action\n * @param host {element} - the host element\n * @param properties {object} - the properties object\n */\nexport const handleWindowMinimized = (payload, host, properties) => {\n\tconst { propagatedMetaFromDialogCloseRequested } = properties;\n\tconst modelessContainerId = `[${NOW_ID}=\"${payload?.componentId}\"]`;\n\tconst modelessContainer = deepSearchElement(modelessContainerId, host);\n\tconst screenElement = findInShadowDomParent(\n\t\tmodelessContainer,\n\t\t'sn-canvas-screen',\n\t);\n\tconst controllerElement = deepSearchElement(\n\t\t'macroponent-38c8258c77343110c9d933c1fa5a99d7',\n\t\tscreenElement,\n\t);\n\n\tif (controllerElement) {\n\t\tcontrollerElement.dispatch(\n\t\t\t'UXF#HIDE_DIALOG',\n\t\t\t{\n\t\t\t\t...payload,\n\t\t\t\tminimizedMandate: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tuxfMeta: {\n\t\t\t\t\t...propagatedMetaFromDialogCloseRequested,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n};\n\n/**\n * @description getIsWindowManagerConfigEnabled - checks if the window manager config is enabled\n * @returns {boolean|*}\n */\nexport const getIsWindowManagerConfigEnabled = () => {\n\tconst isAustrailiaReady =\n\t\tString(\n\t\t\tgetUxfSysProp('glide.uxf.lib.upgrade.australia_ready', 'false'),\n\t\t).toLowerCase() === 'true';\n\n\tconst isWindowManagerReady =\n\t\tisAustrailiaReady && window.ux_globals?.__windowManagerConfig?.isLoaded;\n\n\treturn isWindowManagerReady ?? false;\n};\n","import {\n\tgetModelessDialogElements,\n\tupdateModelessElements,\n\tupdateMaximizeModelessElements,\n\tgetModelessMaximizedDialogElements,\n\tupdateFocusMinimizedModelessDialog,\n\tgetModelessListControllerElement,\n\thandleConfirmedWindowClose,\n\thandleCloseWindow,\n\thandleWindowMinimized,\n\tgetIsWindowManagerConfigEnabled,\n} from './utils/modelessDialog.utils';\nimport { MINIMIZED_MODELESS_DIALOG_DROPDOWN } from '../../constants/constants';\nimport { deepSearchElement } from 'sn-canvas-common';\n\n/**\n * @description handleModelessDialogZIndexEvents is the current function used to handle the modeless dialog zIndex events.\n * the updateModelessElements function is called if the shouldContinue is true and update the element directly\n * @param action{Object} - the action payload from the modelessDialog action\n * @param host{Object} - the host element\n * @param shouldFocus{boolean} - the shouldFocus flag\n */\nexport const handleModelessDialogZIndexEvents = (\n\taction,\n\thost,\n\tshouldFocus = false,\n) => {\n\tif (getIsWindowManagerConfigEnabled()) {\n\t\treturn;\n\t}\n\n\tconst { id } = action.meta;\n\tconst [shouldContinue = false, dialogElements = []] =\n\t\tgetModelessDialogElements(id, host);\n\tif (shouldContinue)\n\t\tupdateModelessElements(id, dialogElements[0], shouldFocus);\n};\n\n/**\n * @description handleModelessDialogZIndexMaximizeEvents handles the modeless dialog zIndex events when the maximized events are dispatched.\n * @param action {Object} - the action payload from the modelessDialog action\n * @param host {Object} - the host element\n */\nexport const handleModelessDialogZIndexMaximizeEvents = (action, host) => {\n\tif (getIsWindowManagerConfigEnabled()) {\n\t\treturn;\n\t}\n\n\tconst { id } = action.meta;\n\tconst { payload } = action;\n\tconst [shouldContinue = false, dialogElement = {}] =\n\t\tgetModelessMaximizedDialogElements(id, host);\n\tif (shouldContinue)\n\t\tupdateMaximizeModelessElements(id, payload, dialogElement);\n};\n\n/**\n * @description handleModelessDialogMinimizeEvents handles the modeless dialog focus when the minimized events are dispatched.\n * @param action {Object} - the action payload from the modelessDialog action\n * @param host {Object} - the host element\n */\nexport const handleModelessDialogMinimizeEvents = (action, host) => {\n\tif (getIsWindowManagerConfigEnabled()) {\n\t\treturn;\n\t}\n\n\tconst nodeElement = deepSearchElement(\n\t\tMINIMIZED_MODELESS_DIALOG_DROPDOWN,\n\t\thost,\n\t);\n\t//if the dialog is not found then return\n\tif (!nodeElement) return;\n\tupdateFocusMinimizedModelessDialog(nodeElement);\n};\n\n/**\n * @description handleUnhideModelessDialogZIndexEvent handles the modeless dialog zIndex events when the dialog is unhidden.\n * @param action {Object} - the action payload from the modelessDialog action\n * @param host {Object} - the host element\n */\nexport const handleUnhideModelessDialogZIndexEvent = (action, host) => {\n\tif (getIsWindowManagerConfigEnabled()) {\n\t\treturn;\n\t}\n\n\tconst { id: metaId } = action.meta;\n\tconst { instanceId, type = '' } = action.payload;\n\tif (type === 'RESTORED') {\n\t\tgetModelessListControllerElement(metaId, instanceId, host);\n\t}\n};\n\n/**\n * @description The handleCloseWindowRemoveFromModelessListEvent function handles the close window event by removing the closed dialog from the modelessList.\n * When the wasConfirmed flag is true, the handleConfirmedWindowClose function is called, this function handles when the confirmation modal continue button is clicked.\n * When the wasConfirmed flag is false, the handleCloseWindow function is called, this function handles all other cases of the sn_window close events.\n * @param action {Object} - the action payload from the modelessDialog action containing instanceId\n * @param host {element} - the host element\n * @param properties {Object} - the properties object from the modelessDialog action\n * @param updateProperties {Function} - the updateProperties function from the modelessDialog action\n */\nexport const handleCloseWindowRemoveFromModelessListEvent = ({\n\taction,\n\thost,\n\tproperties,\n\tupdateProperties,\n}) => {\n\tconst { propagatedMetaFromDialogCloseRequested } = properties;\n\tconst { instanceId, wasConfirmed = false, componentId } = action.payload;\n\n\twasConfirmed\n\t\t? handleConfirmedWindowClose(\n\t\t\t\thost,\n\t\t\t\tinstanceId,\n\t\t\t\tcomponentId,\n\t\t\t\tupdateProperties,\n\t\t\t\tpropagatedMetaFromDialogCloseRequested,\n\t\t\t)\n\t\t: handleCloseWindow(host, instanceId);\n};\n\n/**\n * @description Factory function that handles the window minimized event from the SN Window.\n * This function enabled backwards compatibility with the old modeless dialog minimized events.\n * Where UXF targets the controller to dispatch the hide event.\n * Only need to call handleWindowMinimized if the isMinimized flag is true.\n * @param coeffects {object} the coeffects object containing the action, host, and properties\n */\nexport const handleWindowMinimizedEvents = (coeffects) => {\n\tconst { action, host, properties } = coeffects;\n\tconst { isMinimized = false } = action.payload;\n\n\tif (!isMinimized) return;\n\n\thandleWindowMinimized(action.payload, host, properties);\n};\n","import {\n\tNOW_MODELESS_CHECK_FIT,\n\tNOW_MODELESS_DIALOG_MAXIMIZE,\n\tNOW_MODELESS_DIALOG_MOUSE_DOWN,\n\tNOW_MODELESS_DIALOG_MINIMIZE,\n\tUXF_DIALOG_OPENED,\n\tSN_WINDOW_CLOSED,\n\tSN_HIDE_DIALOG,\n} from '../../constants/constants';\nimport {\n\thandleModelessDialogZIndexEvents,\n\thandleModelessDialogZIndexMaximizeEvents,\n\thandleModelessDialogMinimizeEvents,\n\thandleUnhideModelessDialogZIndexEvent,\n\thandleCloseWindowRemoveFromModelessListEvent,\n\thandleWindowMinimizedEvents,\n} from './modelessDialog.action.factory';\n\n/**\n * @description modelessDialogActionHandlers - an object that contains the z-index action handlers for the modeless dialog\n * @type {{[NOW_MODELESS_CHECK_FIT]: (function({action: *, host: *}): void), [NOW_MODELESS_DIALOG_MOUSE_DOWN]: (function({action: *, host: *}): void), [NOW_MODELESS_DIALOG_MAXIMIZE]: (function({action: *, host: *}): void), [NOW_MODELESS_DIALOG_MINIMIZE]: (function({action: *, host: *}): void), [UXF_DIALOG_OPENED]: (function({action: *, host: *}): void), [SN_WINDOW_CLOSED]: (function({action: *, host: *, properties: *, updateProperties: *}): void), [UXF_DIALOG_CLOSE]: (function({action: *, host: *}): void), [SN_HIDE_DIALOG]: (function(*): void)}}\n */\nexport const modelessDialogActionHandlers = {\n\t//handles the action when the dialog is rendered on the screen after the controller insert events\n\t[NOW_MODELESS_CHECK_FIT]: ({ action, host }) =>\n\t\thandleModelessDialogZIndexEvents(action, host, true),\n\t//handles the mousedown event when the dialog is clicked. Pending a focused event from NDS, will use this event to set the z-index\n\t[NOW_MODELESS_DIALOG_MOUSE_DOWN]: ({ action, host }) =>\n\t\thandleModelessDialogZIndexEvents(action, host, false),\n\t//handles the maximize event from NDS, need to adjust the z-index based on fullscreen or normal mode\n\t[NOW_MODELESS_DIALOG_MAXIMIZE]: ({ action, host }) =>\n\t\thandleModelessDialogZIndexMaximizeEvents(action, host),\n\t//handles the minimize event from NDS, need to adjust the focus back to in-progress actions\n\t[NOW_MODELESS_DIALOG_MINIMIZE]: ({ action, host }) =>\n\t\thandleModelessDialogMinimizeEvents(action, host),\n\t//handles the z-index event when the dialog is unhidden\n\t[UXF_DIALOG_OPENED]: ({ action, host }) =>\n\t\thandleUnhideModelessDialogZIndexEvent(action, host),\n\t//handles the close event when the dialog is closed. Removes dialog from modelessList.\n\t[SN_WINDOW_CLOSED]: ({ action, host, properties, updateProperties }) =>\n\t\thandleCloseWindowRemoveFromModelessListEvent({\n\t\t\taction,\n\t\t\thost,\n\t\t\tproperties,\n\t\t\tupdateProperties,\n\t\t}),\n\t//handles the Window Manager Hide Dialog event\n\t[SN_HIDE_DIALOG]: (coeffects) => handleWindowMinimizedEvents(coeffects),\n};\n","import { omit, set, get } from 'lodash';\nimport { calculateNewScreenStatusPayloads } from 'sn-canvas-common';\nimport {\n\tcreateCustomElement,\n\tactionTypes,\n\tdeclarativeOperations,\n\tcreateContext,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport {\n\tactionHandlers,\n\tcleanupEventScheduler,\n\thandleDirtyStateCallbackFn,\n} from './sn-canvas-main.effects';\nimport dialogActionHandlers from './sn-canvas-main.dialog.effects';\nimport styles from './_sn-canvas-main.scss';\nimport GlobalUnloadistener from '../utils/global-unload-listener';\nimport { getPageProperties } from '../utils/uxGlobals';\n// eslint-disable-next-line import/named\nimport { globalNotificationsBehavior } from '@servicenow/now-uxf-page';\nimport { initKarunaBridge } from 'sn-canvas-common';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nimport {\n\tscreensDataBehaviors,\n\tscreenStatusChangeBehavior,\n\tactivityLogBehavior,\n\tuserPreferenceBehavior,\n} from '../behaviors/sn-canvas-screens/sn-canvas-screens.behaviors';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\n\nimport {\n\tSN_CANVAS_MAIN,\n\tEXPERIENCE_SCREENS_UPDATED,\n\tLAYOUT_PROP_RESET_REQUESTED,\n} from '../constants/constants';\n\nimport { generateScreenKey } from 'sn-canvas-common';\n\nimport { modelessDialogActionHandlers } from './actions/modelessDialog.actions';\n\nimport { renameObjectKey } from './sn-canvas-main.util';\n\n/**\n * Schedules tombstone removal from screensData after Snabbdom has committed\n * the transition render.  Keys are removed one at a time — removing multiple\n * interleaved tombstones in a single diff can cause Snabbdom to call\n * insertBefore on live screens.  Double-rAF guarantees one full paint\n * cycle has passed (tombstone rendered → diffed → safe to remove).\n */\nfunction scheduleTombstonePruning(updateProperties, removedKeys) {\n\tconst queue = [...removedKeys];\n\tfunction pruneNext() {\n\t\tif (queue.length === 0) return;\n\t\tconst key = queue.shift();\n\t\trequestAnimationFrame(() => {\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tupdateProperties(\n\t\t\t\t\t({ properties: { screensData: screensDataLatest } }) => {\n\t\t\t\t\t\tconst cleaned = omit(screensDataLatest, [key]);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: 'screensData',\n\t\t\t\t\t\t\tvalue: cleaned,\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tpruneNext();\n\t\t\t});\n\t\t});\n\t}\n\tpruneNext();\n}\n\nfunction createGlobalAlertsHeightContext(nowId) {\n\tconst globalAlertsHeightContext = createContext(`topOffsetPx${nowId}`, {\n\t\tdefault: { topOffsetPx: 0 },\n\t\tschema: {\n\t\t\tproperties: {\n\t\t\t\ttopOffsetPx: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t});\n\tset(\n\t\twindow,\n\t\t[\n\t\t\t'ux_globals',\n\t\t\t'globalAlertsHeightContext',\n\t\t\tget(window, ['ux_globals', 'siteName']),\n\t\t],\n\t\tglobalAlertsHeightContext,\n\t);\n}\n\nexport const canvasMainlifeCycleHandlers = {\n\t[COMPONENT_DOM_READY]: ({\n\t\thost,\n\t\tproperties: { selectedContent },\n\t\tupdateState,\n\t}) => {\n\t\tconst pageProperties = getPageProperties(\n\t\t\tselectedContent?.context?.path,\n\t\t);\n\t\tif (pageProperties) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'pageProperties',\n\t\t\t\tvalue: pageProperties,\n\t\t\t\toperation: declarativeOperations.ASSIGN,\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t}\n\t\t// Notify Karuna shell of initial chrome_header (no-op outside aiuxMode)\n\t\tinitKarunaBridge(\n\t\t\tselectedContent &&\n\t\t\t\tselectedContent.context &&\n\t\t\t\tselectedContent.context.path,\n\t\t\tgetPageProperties,\n\t\t);\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tcreateGlobalAlertsHeightContext(nowId);\n\n\t\tGlobalUnloadistener.add(nowId, () => {\n\t\t\t/**\n\t\t\t * NOTE: Before the Dirty State Management(DSM) Epic\n\t\t\t * we used internal actions to know the dirtiness\n\t\t\t * of modeless dialog instances. We also relied\n\t\t\t * on `screenData` to check if a screen is dirty.\n\t\t\t * After DSM is introduced, main gets the aggregated\n\t\t\t * dirtiness from DSM. We do not want show the browser\n\t\t\t * alert on page unload if we are already displaying\n\t\t\t * the confirmation modal.\n\t\t\t */\n\t\t\treturn host.hasDirtyDescendant ? !host.showDialogModal : false;\n\t\t});\n\t},\n\t[COMPONENT_DISCONNECTED]: ({ host }) => {\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tGlobalUnloadistener.remove(nowId);\n\t\tcleanupEventScheduler(host.componentId);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\tstate,\n\t\tupdateState,\n\t\taction: { payload },\n\t\tproperties: { screensData, selectedContent },\n\t\tupdateProperties,\n\t\tdispatch,\n\t}) => {\n\t\tconst { name, value, previousValue } = payload;\n\t\tif (!value) return;\n\n\t\tif (name === 'screenStatus') {\n\t\t\tconst newScreenStatusPayloads = calculateNewScreenStatusPayloads(\n\t\t\t\tpreviousValue,\n\t\t\t\tvalue,\n\t\t\t);\n\n\t\t\tconst _newScreenKeyMap = new Map(state.screenKeyMap);\n\t\t\tnewScreenStatusPayloads.forEach((item) => {\n\t\t\t\tconst { screenKey, screenParams } = item;\n\t\t\t\tlet updateActiveScreenId = null;\n\t\t\t\tif (!screenKey || !screenParams) return;\n\t\t\t\tlet _screensData = { ...screensData };\n\n\t\t\t\tconst { route, fields, multiInstField, interopContext } = {\n\t\t\t\t\t...selectedContent,\n\t\t\t\t};\n\t\t\t\tlet _fields = { ...fields };\n\t\t\t\tif (multiInstField && screenParams[multiInstField])\n\t\t\t\t\t_fields[multiInstField] = screenParams[multiInstField];\n\t\t\t\telse {\n\t\t\t\t\t_fields = { ..._fields, ...screenParams };\n\t\t\t\t}\n\t\t\t\tlet newKey = generateScreenKey(_fields, route, interopContext);\n\n\t\t\t\tif (\n\t\t\t\t\tnewKey !== screenKey &&\n\t\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\t\t_screensData,\n\t\t\t\t\t\tscreenKey,\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\t_screensData = renameObjectKey(\n\t\t\t\t\t\t_screensData,\n\t\t\t\t\t\tscreenKey,\n\t\t\t\t\t\tnewKey,\n\t\t\t\t\t);\n\n\t\t\t\t\t_screensData[newKey] = {\n\t\t\t\t\t\t..._screensData[newKey],\n\t\t\t\t\t\tfields: _fields,\n\t\t\t\t\t\tscreenKey: newKey,\n\t\t\t\t\t};\n\n\t\t\t\t\t_newScreenKeyMap.set(newKey, screenKey);\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tscreenKeyMap: _newScreenKeyMap,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t//update activeScreenId only if the sourceScreen is active.\n\t\t\t\tif (_screensData[newKey]?.isActive === true) {\n\t\t\t\t\tupdateActiveScreenId = {\n\t\t\t\t\t\tpath: 'activeScreenId',\n\t\t\t\t\t\tvalue: newKey,\n\t\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tupdateProperties(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath: 'screensData',\n\t\t\t\t\t\tvalue: _screensData,\n\t\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tif (updateActiveScreenId) {\n\t\t\t\t\tupdateProperties(() => {\n\t\t\t\t\t\treturn { ...updateActiveScreenId };\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (name === 'closedNavigationIds') {\n\t\t\tlet { value: closedNavigationIds } = payload;\n\t\t\tif (\n\t\t\t\t!closedNavigationIds ||\n\t\t\t\t!Array.isArray(closedNavigationIds) ||\n\t\t\t\tclosedNavigationIds.length === 0\n\t\t\t)\n\t\t\t\treturn;\n\t\t\t// Phase 1: mark closed screens as tombstones in screensData.\n\t\t\t// Keeping them at their original position prevents Snabbdom\n\t\t\t// insertBefore on live sibling screens → no COMPONENT_DISCONNECTED.\n\t\t\tupdateProperties(\n\t\t\t\t({ properties: { screensData: screensDataLatest } }) => {\n\t\t\t\t\tconst updated = { ...screensDataLatest };\n\t\t\t\t\tclosedNavigationIds.forEach((key) => {\n\t\t\t\t\t\tif (updated[key]) {\n\t\t\t\t\t\t\tupdated[key] = {\n\t\t\t\t\t\t\t\t...updated[key],\n\t\t\t\t\t\t\t\t_tombstone: true,\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\treturn {\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'screensData',\n\t\t\t\t\t\tvalue: updated,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\t\t\t// Phase 2: remove tombstones one at a time after double-rAF\n\t\t\tscheduleTombstonePruning(updateProperties, closedNavigationIds);\n\t\t\tconst screensDataNew = omit(screensData, closedNavigationIds);\n\t\t\tdispatch(EXPERIENCE_SCREENS_UPDATED, {\n\t\t\t\tcontext: selectedContent?.context,\n\t\t\t\tscreensData: screensDataNew,\n\t\t\t});\n\t\t\tdispatch(LAYOUT_PROP_RESET_REQUESTED, {\n\t\t\t\tclosedNavigationIds: [],\n\t\t\t});\n\t\t} else if (name === 'screensToCloseQueue') {\n\t\t\tif (!Array.isArray(value) || value.length === 0) return;\n\n\t\t\tconst keysToClose = value.map((screen) => screen.screenKey);\n\n\t\t\t//TODO: check if dirty dialog intervention required\n\t\t\t//TODO: may be we need to prevent non-dirty screen close\n\t\t\t// or require some configuration driven flow ?\n\n\t\t\t// Phase 1: mark closed screens as tombstones in screensData\n\t\t\tupdateProperties(\n\t\t\t\t({ properties: { screensData: screensDataLatest } }) => {\n\t\t\t\t\tconst updated = { ...screensDataLatest };\n\t\t\t\t\tkeysToClose.forEach((key) => {\n\t\t\t\t\t\tif (updated[key]) {\n\t\t\t\t\t\t\tupdated[key] = {\n\t\t\t\t\t\t\t\t...updated[key],\n\t\t\t\t\t\t\t\t_tombstone: true,\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\treturn {\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'screensData',\n\t\t\t\t\t\tvalue: updated,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\t\t\t// Phase 2: remove tombstones one at a time after double-rAF\n\t\t\tscheduleTombstonePruning(updateProperties, keysToClose);\n\t\t}\n\t},\n};\n\ncreateCustomElement(SN_CANVAS_MAIN, {\n\ttype: snabbdom,\n\tview,\n\tstyles,\n\tinitialState: {\n\t\tscreenKeyMap: new Map(),\n\t\tpageProperties: null,\n\t},\n\tbehaviors: [\n\t\t...screensDataBehaviors,\n\t\tscreenStatusChangeBehavior,\n\t\tactivityLogBehavior,\n\t\tuserPreferenceBehavior,\n\t\tglobalNotificationsBehavior,\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: handleDirtyStateCallbackFn,\n\t\t\t},\n\t\t},\n\t],\n\tproperties: {\n\t\tshowDialogModal: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tdialogId: {\n\t\t\tdefault: null,\n\t\t\ttype: 'string',\n\t\t},\n\t\tcompositionId: {\n\t\t\tdefault: null,\n\t\t\ttype: 'string',\n\t\t},\n\t\tsourceElementId: {\n\t\t\tdefault: null,\n\t\t\ttype: 'string',\n\t\t},\n\t\t// The main can now check if any child/descendant component\n\t\t// is dirty instead of just dirty dialog.\n\t\thasDirtyDescendant: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tpersistedState: {\n\t\t\tdefault: {},\n\t\t},\n\t\tpropagatedMetaFromDialogCloseRequested: {\n\t\t\tdefault: {},\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t...canvasMainlifeCycleHandlers,\n\t\t...dialogActionHandlers,\n\t\t...modelessDialogActionHandlers,\n\t},\n});\n","export function buildScreenKey(key, map) {\n\treturn map.get(key) ? map.get(key) : key;\n}\n\nexport function renameObjectKey(obj, oldKey, newKey) {\n\tif (!(oldKey in obj) || oldKey === newKey) return obj;\n\tconst newObj = {};\n\tfor (const key of Object.keys(obj)) {\n\t\tif (key === oldKey) {\n\t\t\tnewObj[newKey] = obj[oldKey];\n\t\t} else {\n\t\t\tnewObj[key] = obj[key];\n\t\t}\n\t}\n\treturn newObj;\n}\n","import { t } from 'sn-translate';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-alert';\nimport {\n\tDIALOG_CLOSE_CONFIRMED,\n\tDIALOG_CLOSE_CANCELED,\n\tCLOSE_DIALOG,\n\tWARNING_MESSAGE,\n} from '../constants/constants';\n\nimport { buildScreenKey } from './sn-canvas-main.util';\nimport { get } from '@devsnc/snowdash';\n\nexport default (derivedState) => {\n\tconst {\n\t\tselectedContent,\n\t\tscreensData,\n\t\tactivityLogs,\n\t\tpersistedState,\n\t\tuserPrefs,\n\t\trouteConfig,\n\t\texperienceId,\n\t\tshowDialogModal,\n\t} = derivedState.properties;\n\tconst notifications = get(derivedState, [\n\t\t'behaviors',\n\t\t'globalNotificationsBehavior',\n\t\t'notifications',\n\t]);\n\tif (!selectedContent || typeof selectedContent === 'string') return null;\n\tif (!userPrefs || typeof userPrefs === 'string') return null;\n\n\tconst createScreens = (screensData) => {\n\t\tif (!screensData) return null;\n\t\tconst screensArr = [];\n\t\tObject.keys(screensData).forEach((screenId) => {\n\t\t\tconst entry = screensData[screenId];\n\t\t\tif (entry._tombstone) {\n\t\t\t\t// Tombstone placeholder — keeps DOM position so Snabbdom\n\t\t\t\t// does not insertBefore on live sibling screens.\n\t\t\t\tscreensArr.push({ _tombstone: true, screenKey: screenId });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\tconst { _timestamp, lastActiveTimeStamp, ...screenData } = entry;\n\t\t\tscreensArr.push({\n\t\t\t\t...screenData,\n\t\t\t\t...(!isNaN(_timestamp) && {\n\t\t\t\t\tlastNavigationTimestamp: _timestamp,\n\t\t\t\t}),\n\t\t\t});\n\t\t});\n\n\t\treturn (\n\t\t\t<main aria-label={t('Screen content')} className=\"sn-canvas-main\">\n\t\t\t\t{notifications?.length > 0 && (\n\t\t\t\t\t<now-alert-list items={notifications} />\n\t\t\t\t)}\n\t\t\t\t{screensArr.map((screenData) => {\n\t\t\t\t\tconst resolvedKey = buildScreenKey(\n\t\t\t\t\t\tscreenData.screenKey,\n\t\t\t\t\t\tderivedState.screenKeyMap,\n\t\t\t\t\t);\n\t\t\t\t\tif (screenData._tombstone) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<sn-canvas-screen\n\t\t\t\t\t\t\t\tkey={resolvedKey}\n\t\t\t\t\t\t\t\texperience-id={experienceId}\n\t\t\t\t\t\t\t\tscreen-id={screenData.screenKey}\n\t\t\t\t\t\t\t\tscreen-data={{\n\t\t\t\t\t\t\t\t\tscreenKey: screenData.screenKey,\n\t\t\t\t\t\t\t\t\tisTombstone: true,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tnow-mode=\"detach\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t\t\theight: '0',\n\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tattrs={{ hidden: true, 'aria-hidden': 'true' }}\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\tlet nowMode = 'active';\n\t\t\t\t\tif (screenData.discarded === true) nowMode = 'detach';\n\t\t\t\t\telse if (screenData.suspended === true) nowMode = 'suspend';\n\n\t\t\t\t\tconst persistedStateForScreen =\n\t\t\t\t\t\tpersistedState?.[screenData.screenKey];\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<sn-canvas-screen\n\t\t\t\t\t\t\tkey={resolvedKey}\n\t\t\t\t\t\t\tpersisted-state={persistedStateForScreen}\n\t\t\t\t\t\t\texperience-id={experienceId}\n\t\t\t\t\t\t\tscreen-id={screenData.screenKey}\n\t\t\t\t\t\t\tscreen-data={{ ...screenData }}\n\t\t\t\t\t\t\tactivity-logs={activityLogs}\n\t\t\t\t\t\t\tuser-prefs={userPrefs}\n\t\t\t\t\t\t\troute-config={routeConfig}\n\t\t\t\t\t\t\tnow-mode={nowMode}\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\tscreenData.isActive ? {} : { display: 'none' }\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})}\n\t\t\t\t{showDialogModal && (\n\t\t\t\t\t<now-modal\n\t\t\t\t\t\topened={showDialogModal}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tmanageOpened\n\t\t\t\t\t\theader-label={CLOSE_DIALOG}\n\t\t\t\t\t\tcontent={WARNING_MESSAGE}\n\t\t\t\t\t\tfooter-actions={[\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\t\t\tlabel: t('Continue'),\n\t\t\t\t\t\t\t\tclickActionType: DIALOG_CLOSE_CONFIRMED,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\t\t\t\tclickActionType: DIALOG_CLOSE_CANCELED,\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)}\n\t\t\t<\/main>\n\t\t);\n\t};\n\n\treturn createScreens(screensData);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"isDesktopSafari\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.__esModule\n\t\t\t\t\tif (cjsModule && 'isDesktopSafari' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"].isDesktopSafari;\n\t\t\t\t\t} else if ('isDesktopSafari' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__.isDesktopSafari || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_enhanced_utils_28_0_24_index_jsdbx_264af9b4__[\"default\"].isDesktopSafari;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getFocusableNodes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.__esModule\n\t\t\t\t\tif (cjsModule && 'getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"].getFocusableNodes;\n\t\t\t\t\t} else if ('getFocusableNodes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__.getFocusableNodes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_focus_28_0_24_index_jsdbx_e9efdad5__[\"default\"].getFocusableNodes;\n\t\t\t\t} });","export const setPropsOnDom = (domObj, propObj) => {\n\tif (!domObj || !propObj) return;\n\tfor (const prop in propObj) {\n\t\tdomObj[prop] = propObj[prop];\n\t}\n\treturn domObj;\n};\n","import { isEqual, set } from 'lodash';\nimport { setPropsOnDom } from './sn-canvas-screen.util';\nimport {\n\tMETA_PROP_NAME_PERSISTED_STATE,\n\tIS_COMPONENT_IN_VIEW,\n\tNOW_MODE_ACTIVE,\n\tMETA_PROP_NAME_PERSISTED_STATE_TINY_URL_REQUESTED,\n} from '../constants/constants';\nimport { getUxfSysProp } from '../utils/uxGlobals';\nimport { PERSIST_STATE_CONSTANTS } from 'sn-canvas-common';\n\nconst { SYMBOL_MARK_TINY_URL_REQUESTED } = PERSIST_STATE_CONSTANTS;\n\nexport const handleScreenDataChange = ({\n\tvalue = {},\n\tpreviousValue = {},\n\tstate,\n\tproperties,\n\thost,\n}) => {\n\tif (value?.isTombstone === true) return;\n\tconst { targetRef } = state;\n\tconst { userPrefs = {} } = properties;\n\tif (\n\t\t!targetRef ||\n\t\ttargetRef.children.length == 0 ||\n\t\ttargetRef.children[0].children.length == 0\n\t)\n\t\treturn;\n\tconst {\n\t\tparams: prevParams = {},\n\t\tfields: prevFields,\n\t\tsearch: prevSearch,\n\t} = previousValue;\n\tconst {\n\t\tmacroponentConfiguration = {},\n\t\tfields = {},\n\t\tparams = {},\n\t\tmultiInstField,\n\t\tisActive,\n\t\tsuspended = false,\n\t\thasActiveSubScreen = false,\n\t\tlastActiveTimeStamp,\n\t\tsearch,\n\t\tparent = null,\n\t} = value;\n\tif (isActive) set(window, 'ux_globals.snCanvasScreen', host);\n\n\t// isActive if isActive True, logViewed\n\tconst oldNode = targetRef.children[0].children[0];\n\tif (!isEqual(params, prevParams) && oldNode) {\n\t\tconst flattenedParams = {\n\t\t\t...macroponentConfiguration,\n\t\t\tsearch,\n\t\t\t...params,\n\t\t\t...fields,\n\t\t};\n\t\tif (multiInstField && flattenedParams[multiInstField])\n\t\t\tflattenedParams[multiInstField] =\n\t\t\t\tfields[multiInstField].split('_uid_')[0];\n\n\t\tif (flattenedParams)\n\t\t\tObject.keys(flattenedParams).forEach(\n\t\t\t\t(key) => (oldNode[key] = flattenedParams[key]),\n\t\t\t);\n\t} else {\n\t\t// rule out a case where fields contains sysId in the form of -1_uid_xxx.\n\t\t// sysId as -1_uid_xxx and -1 should be considered equal, so we don't run into\n\t\t// invalid sysId when triggering a refresh of data like DEF0574631.\n\t\tif (\n\t\t\tfields?.sysId &&\n\t\t\tfields?.sysId !== '-1' &&\n\t\t\tfields?.sysId.startsWith('-1') &&\n\t\t\tprevFields?.sysId === '-1'\n\t\t) {\n\t\t\tfields.sysId = '-1';\n\t\t}\n\t\t// When a field value is updated, apply update to oldNode (or macroponent)\n\t\tif (!isEqual(fields, prevFields) && oldNode) {\n\t\t\tObject.keys(fields).forEach((key) => (oldNode[key] = fields[key]));\n\t\t\toldNode.search = search;\n\t\t} else if (search !== prevSearch && oldNode) {\n\t\t\toldNode.search = search;\n\t\t}\n\t}\n\n\tlet propObj = {\n\t\tscreen: {\n\t\t\tisActive,\n\t\t\tisSuspended: suspended,\n\t\t\thasActiveSubScreen,\n\t\t\tparent,\n\t\t\t...(lastActiveTimeStamp && { lastActiveTimeStamp }),\n\t\t},\n\t};\n\t// if userPrefs are available, include them in the new props\n\tif (userPrefs) propObj.userPrefs = userPrefs;\n\n\tif (isTransactionCancellationEnabled()) {\n\t\t/**\n\t\t * Viewport macroponents nowMode is set to SUSPEND when the route is inactive.\n\t\t * Seismic prevents re-render if nowMode is SUSPEND, hence, upon COMPONENT_TREE_RENDERED\n\t\t * we would set the nowMode to suspend to avoid regressions and hence need must be reverted when route becomes active\n\t\t */\n\t\tif (isActive) propObj.nowMode = NOW_MODE_ACTIVE;\n\n\t\tpropObj[IS_COMPONENT_IN_VIEW] = Boolean(isActive);\n\t}\n\tsetPropsOnDom(oldNode, { ...propObj });\n};\n\nexport const handleUserPrefsChange = ({ value = {}, state }) => {\n\tconst { targetRef } = state;\n\tif (!targetRef) return;\n\tlet oldNode = null;\n\tif (\n\t\ttargetRef.children.length != 0 &&\n\t\ttargetRef.children[0].children.length != 0\n\t) {\n\t\toldNode = targetRef.children[0].children[0];\n\t}\n\n\tsetPropsOnDom(targetRef, { userPrefs: { ...value } });\n\n\tif (oldNode) {\n\t\tsetPropsOnDom(oldNode, { userPrefs: { ...value } });\n\t}\n};\n\nexport const handleActivityLogsChange = ({\n\tvalue = {},\n\tpreviousValue = {},\n\tstate,\n}) => {\n\tif (!isEqual(value, previousValue)) {\n\t\tconst { targetRef } = state;\n\t\tlet node = targetRef?.firstElementChild?.firstElementChild;\n\t\tif (node && value instanceof Map) {\n\t\t\tnode.activityLogs = value;\n\t\t}\n\t}\n};\n\nexport const handlePersistedStateChange = ({\n\tvalue = {},\n\tstate,\n\tproperties,\n}) => {\n\tconst { targetRef } = state;\n\tconst { screenData } = properties;\n\n\tconst tinyUrlRequested = value?.[SYMBOL_MARK_TINY_URL_REQUESTED] ?? null;\n\n\tconst persistedStatePropForScreen =\n\t\tvalue?.[screenData.viewportConfigurationId] ?? null;\n\n\tlet node = targetRef?.firstElementChild?.firstElementChild;\n\tif (node) {\n\t\tsetPropsOnDom(node, {\n\t\t\t[META_PROP_NAME_PERSISTED_STATE]: {\n\t\t\t\t...persistedStatePropForScreen,\n\t\t\t},\n\t\t\t...(typeof tinyUrlRequested === 'boolean' && {\n\t\t\t\t[META_PROP_NAME_PERSISTED_STATE_TINY_URL_REQUESTED]:\n\t\t\t\t\ttinyUrlRequested,\n\t\t\t}),\n\t\t});\n\t}\n};\nfunction isTransactionCancellationEnabled() {\n\treturn (\n\t\tgetUxfSysProp(\n\t\t\t'glide.uxf.lib.enable_transaction_cancellation',\n\t\t\t'false',\n\t\t) === 'true'\n\t);\n}\n","import { set, get, isEmpty } from 'lodash';\nimport {\n\tactionTypes,\n\tmodifierTypes,\n\tcreateCustomElement,\n} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { isDesktopSafari } from '@servicenow/library-enhanced-utils';\nimport { getFocusableNodes } from '@servicenow/behavior-focus';\nimport {\n\tgetAppliedTemplate,\n\tregisterScreenActionTransformer,\n} from '@devsnc/library-uxf';\n\nimport { deepSearchElement } from 'sn-canvas-common';\nimport { setPropsOnDom } from './sn-canvas-screen.util';\nimport { SCREEN_STATUS_ACTION_CLOSE_IF_CLEAN } from '../constants/constants';\nimport { getRouteToScreenMap } from '../behaviors/sn-canvas-screens/sn-canvas-screens.config';\nimport { getPrimaryExperienceRoutes } from '../behaviors/sn-canvas-screens/sn-canvas-screens.util';\nimport {\n\tINTEROP_SCREEN_IDLE,\n\tMETA_PROP_NAME_PERSISTED_STATE,\n\tMETA_PROP_REFLOW_DISABLED,\n\tREFLOW_DISABLED_APP_CONFIG,\n\tREFLOW_DISABLED_SCREEN,\n} from '../constants/constants';\nimport {\n\tSCREEN_DATA,\n\tERROR_MESSAGES,\n\tSCREEN_STATUS_CHANGED,\n\tNAV_ITEM_SELECTED,\n\tCONTENT_UPDATED,\n\tROUTE_CONFIG,\n\tSUPPORTED_ERRORS,\n\tSCREEN_BLOCK_LOADING_END_REQUESTED,\n\tMETA_PROP_NAME_PERSISTED_STATE_TINY_URL_REQUESTED,\n} from '../constants/constants';\nimport {\n\thandleScreenDataChange,\n\thandleUserPrefsChange,\n\thandleActivityLogsChange,\n\thandlePersistedStateChange,\n} from './sn-canvas-screen.change.effects';\nimport { PERSIST_STATE_CONSTANTS } from 'sn-canvas-common';\n\nconst {\n\tACTION_PERSIST_STATE,\n\tACTION_PERSIST_STATE_INTERNAL,\n\tSYMBOL_MARK_TINY_URL_REQUESTED,\n} = PERSIST_STATE_CONSTANTS;\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nexport const MILLISECONDS_LOADING_TRANSITION = 200; // 200ms matches the transition in '.blocked-loader'\n\nSUPPORTED_ERRORS.forEach((errorCode) => {\n\tcreateCustomElement(`sn-canvas-custom${errorCode}`, {\n\t\ttype: snabbdom,\n\t\t// eslint-disable-next-line react/display-name\n\t\tview: () => (\n\t\t\t<now-heading\n\t\t\t\tlabel={ERROR_MESSAGES[errorCode]}\n\t\t\t\tlevel=\"1\"\n\t\t\t\tvariant=\"title-primary\"\n\t\t\t/>\n\t\t),\n\t});\n});\n\nconst loadScreen = async (\n\ttargetRef,\n\tproperties,\n\tdispatch,\n\tisBlockedLoading = false,\n) => {\n\tif (!targetRef) return;\n\tconst { screenData, activityLogs, userPrefs, routeConfig, experienceId } =\n\t\tproperties;\n\tif (screenData?.isTombstone === true) return;\n\tlet persistedState = properties?.persistedState;\n\tconst host = targetRef.getRootNode()?.host;\n\tlet uxrInteractionId =\n\t\twindow.nowUiFramework?.getUxrInteractionIdByHost?.(host);\n\tif (screenData.isActive) set(window, 'ux_globals.snCanvasScreen', host);\n\tlet {\n\t\tmacroponentSysId,\n\t\tmacroponentConfiguration = {},\n\t\tviewportConfigurationId,\n\t\tmultiInstField,\n\t\tfields = {},\n\t\tparams = {},\n\t\teventMappings = [],\n\t\tisActive,\n\t\tsuspended = false,\n\t\thasActiveSubScreen = false,\n\t\tlastActiveTimeStamp,\n\t\tsearch,\n\t\thydrateContext,\n\t\tinteropContext,\n\t\tparent = null,\n\t} = screenData;\n\n\tconst { route } = screenData;\n\tconst actionTransformerTag = registerScreenActionTransformer(\n\t\tviewportConfigurationId,\n\t\teventMappings,\n\t);\n\n\tlet errorCode;\n\tconst ROUTE_CONFIG_OBJ = ROUTE_CONFIG();\n\tconst AUTH_ROUTES = get(window, ROUTE_CONFIG_OBJ?.AUTH_ROUTES, {});\n\tconst ROUTES = get(window, ROUTE_CONFIG_OBJ?.ROUTES, {});\n\tconst FORWARDED_ROUTES = get(\n\t\twindow,\n\t\tROUTE_CONFIG_OBJ?.FORWARDED_ROUTES,\n\t\t{},\n\t);\n\n\tif (!macroponentSysId) {\n\t\terrorCode = 404;\n\n\t\tif (Object.prototype.hasOwnProperty.call(FORWARDED_ROUTES, route))\n\t\t\terrorCode = 403;\n\n\t\tconst routeToScreenMap =\n\t\t\trouteConfig && routeConfig.routeToScreenMap\n\t\t\t\t? routeConfig.routeToScreenMap\n\t\t\t\t: getRouteToScreenMap(routeConfig);\n\n\t\tconst customAuthRote = get(AUTH_ROUTES, `custom${errorCode}`, null);\n\t\tlet macroponents = [];\n\t\tlet routeObj = {};\n\n\t\tif (customAuthRote) {\n\t\t\tconst primaryExpRoutes = getPrimaryExperienceRoutes();\n\t\t\tif (primaryExpRoutes[customAuthRote]) {\n\t\t\t\trouteObj = primaryExpRoutes[customAuthRote].filter(\n\t\t\t\t\t(route) =>\n\t\t\t\t\t\troute.fields.length === Object.keys(fields).length,\n\t\t\t\t)[0];\n\t\t\t} else if (routeToScreenMap[customAuthRote]) {\n\t\t\t\tlet customAuthRouteFields = get(ROUTES, customAuthRote)[0]\n\t\t\t\t\t.fields;\n\t\t\t\tlet fieldsLen = customAuthRouteFields.length;\n\t\t\t\trouteObj = get(\n\t\t\t\t\trouteToScreenMap,\n\t\t\t\t\t`${customAuthRote}[${fieldsLen}]`,\n\t\t\t\t\t{},\n\t\t\t\t);\n\t\t\t}\n\t\t\tmacroponents = get(routeObj, 'macroponents', []);\n\t\t\tfields = get(routeObj, 'fields', {});\n\t\t\tif (!isEmpty(macroponents)) {\n\t\t\t\tmacroponentSysId = macroponents[0].macroponentSysId;\n\t\t\t\tmacroponentConfiguration =\n\t\t\t\t\tmacroponents[0].macroponentConfiguration;\n\t\t\t}\n\t\t}\n\n\t\tif (!macroponentSysId) {\n\t\t\tlet newNode = document.createElement(\n\t\t\t\t`sn-canvas-custom${errorCode}`,\n\t\t\t);\n\t\t\tnewNode.className = `sn-canvas-default${errorCode}`;\n\t\t\tconst oldNode = targetRef.childNodes[0];\n\t\t\tif (oldNode) targetRef.replaceChild(newNode, oldNode);\n\t\t\tdispatch('CANVAS_SCREEN_LOADED', {});\n\t\t\treturn;\n\t\t}\n\t}\n\n\tconst nowUxfReflowDisabledAppConfig = routeConfig.disableAutoReflow\n\t\t? true\n\t\t: false;\n\n\tlet nowUxfReflowDisabledScreen = false;\n\tconst routeObj = routeConfig?.routes?.[route];\n\n\tif (!isEmpty(routeObj)) {\n\t\tnowUxfReflowDisabledScreen = routeObj[0]?.macroponents?.find(\n\t\t\t(macroponent) => macroponent.macroponentSysId === macroponentSysId,\n\t\t)?.disableAutoReflow\n\t\t\t? true\n\t\t\t: false;\n\t}\n\n\tconst reflowDisable = {\n\t\t[META_PROP_REFLOW_DISABLED]: {\n\t\t\t[REFLOW_DISABLED_APP_CONFIG]: nowUxfReflowDisabledAppConfig,\n\t\t\t[REFLOW_DISABLED_SCREEN]: nowUxfReflowDisabledScreen,\n\t\t},\n\t};\n\n\tconst flattenParams = {\n\t\t...macroponentConfiguration,\n\t\tsearch,\n\t\t...params,\n\t\t...fields,\n\t\t...reflowDisable,\n\t};\n\n\tif (interopContext?.isInterop) {\n\t\tflattenParams.__DO_NOT_USE__nowUxfPfPropOverrides = {\n\t\t\tnowUxfAppConfigSysId: interopContext?.appConfigId,\n\t\t};\n\t}\n\n\tif (multiInstField && flattenParams[multiInstField])\n\t\tflattenParams[multiInstField] =\n\t\t\tfields[multiInstField].split('_uid_')[0];\n\n\tlet fragment;\n\tconst screenATEle = targetRef.querySelector(actionTransformerTag);\n\n\tif (!screenATEle) {\n\t\tfragment = await getAppliedTemplate(\n\t\t\tmacroponentSysId,\n\t\t\t{\n\t\t\t\t...flattenParams,\n\t\t\t},\n\t\t\texperienceId,\n\t\t\t// This is to facilitate the macroponent to know that it is being loaded in a screen\n\t\t\t// for the performance metrics.\n\t\t\thydrateContext,\n\t\t\tuxrInteractionId,\n\t\t);\n\t}\n\n\t/*\n\t- It is seen that at times, properties send as part of loadscreen are not updated ones as there's a await on page fragment\n\t- Hence, we are using getResolvedProperties of host to get the updated properties\n\t*/\n\tconst resolvedScreenProperties = host?.getResolvedProperties?.();\n\n\tif (resolvedScreenProperties?.persistedState)\n\t\tpersistedState = resolvedScreenProperties?.persistedState;\n\n\tconst persistedStateForFragment = persistedState?.[viewportConfigurationId];\n\n\tconst tinyUrlRequested =\n\t\tpersistedState?.[SYMBOL_MARK_TINY_URL_REQUESTED] ?? null;\n\n\t//add props to fragment\n\tconst propObj = {\n\t\tappendToPayload: { __uxfCompositionElId: viewportConfigurationId },\n\t\t...(activityLogs && activityLogs instanceof Map && { activityLogs }),\n\t\tscreen: {\n\t\t\tisActive,\n\t\t\thasActiveSubScreen,\n\t\t\tisSuspended: suspended,\n\t\t\tparent,\n\t\t\t...(lastActiveTimeStamp && { lastActiveTimeStamp }),\n\t\t},\n\t\tuserPrefs,\n\t\t...(persistedStateForFragment && {\n\t\t\t[META_PROP_NAME_PERSISTED_STATE]: persistedStateForFragment,\n\t\t}),\n\t\t...(typeof tinyUrlRequested === 'boolean' && {\n\t\t\t[META_PROP_NAME_PERSISTED_STATE_TINY_URL_REQUESTED]:\n\t\t\t\ttinyUrlRequested,\n\t\t}),\n\t};\n\n\tconst addMCPReadyListener = (mcpEle) => {\n\t\t// If a previous macroponent was loaded into this screen, tear down the\n\t\t// MACROPONENT_READY listener attached to that prior element before we\n\t\t// install a new one. The listener captures `dispatch`, which\n\t\t// transitively pins the macroponent element (and its entire UXF\n\t\t// subtree) in memory if not removed.\n\t\tif (typeof targetRef.__macroponentReadyCleanup === 'function') {\n\t\t\ttargetRef.__macroponentReadyCleanup();\n\t\t\ttargetRef.__macroponentReadyCleanup = null;\n\t\t}\n\n\t\tconst macroponentHandler = () => {\n\t\t\tdispatch('CANVAS_SCREEN_LOADED', {\n\t\t\t\tscreenKey: screenData.screenKey,\n\t\t\t});\n\n\t\t\tmcpEle.removeEventListener('MACROPONENT_READY', macroponentHandler);\n\t\t\ttargetRef.__macroponentReadyCleanup = null;\n\t\t};\n\t\tconst macroponentIdleHandler = () => {\n\t\t\tif (isBlockedLoading) dispatch(SCREEN_BLOCK_LOADING_END_REQUESTED);\n\t\t\tif (screenData?.interopContext?.isInterop) {\n\t\t\t\tdispatch(INTEROP_SCREEN_IDLE, {\n\t\t\t\t\texpKey: screenData.interopContext?.expKey,\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\tmcpEle.addEventListener(\n\t\t\t'UXF_INTERNAL#SCREEN_MACROPONENT_IDLE',\n\t\t\tmacroponentIdleHandler,\n\t\t\t{ once: true },\n\t\t);\n\t\tmcpEle.addEventListener('MACROPONENT_READY', macroponentHandler);\n\t\t// Stash a teardown on the host element so the screen's hook-destroy\n\t\t// can run it when the <sn-canvas-screen> vnode is removed. Idle\n\t\t// listener uses `{ once: true }`, so it self-cleans without help.\n\t\ttargetRef.__macroponentReadyCleanup = () => {\n\t\t\tmcpEle.removeEventListener('MACROPONENT_READY', macroponentHandler);\n\t\t};\n\t};\n\n\tif (screenATEle) {\n\t\t//screen mcp exists in dom already\n\t\tconst loadingSpanEle = targetRef.children[0];\n\t\tloadingSpanEle.remove();\n\t\tconst screenMCPEle = screenATEle.children[0];\n\t\tsetPropsOnDom(screenMCPEle, { ...propObj });\n\t\taddMCPReadyListener(screenMCPEle);\n\t\treturn;\n\t}\n\n\tif (fragment && fragment.children.length > 0) {\n\t\tsetPropsOnDom(fragment.children[0], { ...propObj });\n\n\t\tconst fragmentItem = fragment.children[0];\n\t\taddMCPReadyListener(fragmentItem);\n\n\t\tconst actionTransformerElement =\n\t\t\tdocument.createElement(actionTransformerTag);\n\t\tactionTransformerElement.appendChild(fragment);\n\n\t\tconst oldNode = targetRef.childNodes[0];\n\t\tif (oldNode) {\n\t\t\ttargetRef.replaceChild(actionTransformerElement, oldNode);\n\t\t}\n\t}\n};\n\nexport const screenPropertyChangedEffect = ({\n\taction,\n\tstate,\n\tproperties,\n\thost,\n\tdispatch,\n}) => {\n\tconst { name, value, previousValue } = action.payload;\n\tswitch (name) {\n\t\tcase SCREEN_DATA:\n\t\t\thandleScreenDataChange({\n\t\t\t\tvalue,\n\t\t\t\tpreviousValue,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\thost,\n\t\t\t\tdispatch,\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'activityLogs':\n\t\t\thandleActivityLogsChange({ value, previousValue, state });\n\t\t\tbreak;\n\t\tcase 'userPrefs':\n\t\t\thandleUserPrefsChange({ value, previousValue, state });\n\t\t\tbreak;\n\t\tcase 'persistedState':\n\t\t\thandlePersistedStateChange({ value, state, properties });\n\t\t\tbreak;\n\t}\n};\n\n/**\n * If the current screen is an interopScreen,\n * 1. update the interopContext in the navigation payload based on the screenData interopContext.\n * 2. translate route to its interop alias name.\n *\n * navigation payload does not accept custom interopContext.\n *\n * @param {*} navItem the navigation payload that needs to be updated. Could be the subRoute or the parent (target) route\n * @param {*} screenData screenData corresponding to the navItem (screenData.parent should be passed for the target route)\n * @param {*} experienceSwitch boolean indicating whether this navigation payload will result in an experience switch\n * @param {*} properties from coeffects\n */\nconst updateNavigationPayloadForInterop = (\n\tnavItem,\n\tscreenData,\n\texperienceSwitch,\n\tproperties,\n) => {\n\tif (experienceSwitch) return;\n\n\tif (screenData?.interopContext?.isInterop) {\n\t\tconst { isInterop, expKey, appConfigId } = screenData.interopContext;\n\t\tnavItem.interopContext = { isInterop, expKey, appConfigId };\n\n\t\tconst ogRoute = get(navItem, ['route'], '');\n\t\tconst translatedAlias = get(\n\t\t\tproperties,\n\t\t\t['routeConfig', 'interopAliasMap', appConfigId, ogRoute],\n\t\t\t'',\n\t\t);\n\n\t\tif (translatedAlias) {\n\t\t\tset(navItem, ['route'], translatedAlias);\n\t\t}\n\t} else {\n\t\tdelete navItem.interopContext;\n\t}\n};\n\nexport const navigationInterceptor = ({ action, properties }) => {\n\tif (!action.stopPropagation) return;\n\tconst { screenData } = properties;\n\n\tif (!screenData || screenData.isActive !== true) {\n\t\taction.stopPropagation();\n\t\treturn;\n\t}\n\n\tconst newPath = action.payload?.context?.path;\n\tconst isExperienceSwitch = newPath && newPath !== screenData.context?.path;\n\n\tif (action.payload.targetRoute === 'current') {\n\t\tlet target = screenData;\n\t\twhile (target.parent) target = target.parent;\n\t\tconst { route, fields, params } = target;\n\t\tif (fields?.sysId?.startsWith('-1')) return;\n\t\tconst targetRoute = {\n\t\t\troute,\n\t\t\tfields,\n\t\t\tparams,\n\t\t};\n\n\t\t// use the parent screen's interopContext to update targetRoute's interopContext\n\t\tupdateNavigationPayloadForInterop(\n\t\t\ttargetRoute,\n\t\t\ttarget,\n\t\t\tisExperienceSwitch,\n\t\t\tproperties,\n\t\t);\n\t\tset(action, 'payload.targetRoute', targetRoute);\n\t} else if (!isEmpty(action.payload.targetRoute)) {\n\t\t// use the current screen's interopContext to update targetRoute's interopContext\n\t\tupdateNavigationPayloadForInterop(\n\t\t\taction.payload.targetRoute,\n\t\t\tscreenData,\n\t\t\tisExperienceSwitch,\n\t\t\tproperties,\n\t\t);\n\t}\n\n\tupdateNavigationPayloadForInterop(\n\t\taction.payload,\n\t\tscreenData,\n\t\tisExperienceSwitch,\n\t\tproperties,\n\t);\n};\n\n/**\n * The now-id of now-uxf-page is needed when conditional tab close is cancelled\n * and in that case we have to delegate those tab close notifications to the page.\n */\nconst shouldAttachPageId = (action) => {\n\tif (action?.payload?.status !== SCREEN_STATUS_ACTION_CLOSE_IF_CLEAN)\n\t\treturn false;\n\tif (action?.payload?.closeIfCleanNotifications?.length === 0) return false;\n\treturn true;\n};\n\n/**\n * Gets the UXF page now-id and adds it to action meta\n */\nconst attachUxfPageId = (action, state) => {\n\tif (!shouldAttachPageId(action) || !state?.targetRef) {\n\t\treturn;\n\t}\n\n\tconst rootNode = state.targetRef.getRootNode();\n\tif (!rootNode) return;\n\n\tconst uxfPageElement = deepSearchElement('now-uxf-page', rootNode);\n\tif (!uxfPageElement) return;\n\n\tconst uxfPageId = uxfPageElement.getAttribute('now-id');\n\tif (!uxfPageId) return;\n\n\tset(action, 'meta.uxfPageId', uxfPageId);\n};\n\n// Don't steal focus if something already has it — regardless of whether the\n// user, an autofocus attribute, or another component set it. A non-body /\n// non-null activeElement means the DOM has a focused element, and we should\n// defer to that rather than override it with our auto-focus. Resolved against\n// targetRef's root so the check is shadow-DOM aware.\nconst somethingIsAlreadyFocused = (targetRef) => {\n\tconst active = targetRef?.getRootNode()?.activeElement;\n\treturn !!active && active !== document.body;\n};\n\nexport const screenStatusChangedEffect = ({ action, properties, state }) => {\n\tconst { context, route, fields, params, parent, redirect, interopContext } =\n\t\tproperties.screenData;\n\tset(action, 'payload.isActive', properties.screenData.isActive);\n\tset(action, 'payload.screenKey', properties.screenData.screenKey);\n\tset(action, 'payload.screenNowId', properties.nowId);\n\tset(action, 'payload.sourceSelectedContent', {\n\t\tcontext,\n\t\troute,\n\t\tfields,\n\t\tparams,\n\t\tparent,\n\t\tredirect,\n\t\tinteropContext,\n\t});\n\tattachUxfPageId(action, state);\n\n\t// DEF0627471, DEF0778085 - Handle initial focus within the screen content area in Safari\n\tif (isDesktopSafari() && properties.screenData.isActive) {\n\t\tconst { targetRef, didSetInitialFocus } = state;\n\n\t\tif (didSetInitialFocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tif (somethingIsAlreadyFocused(targetRef)) return;\n\t\t\tconst { firstFocusableElement } = getFocusableNodes(targetRef);\n\t\t\tfirstFocusableElement?.focus();\n\t\t}, MILLISECONDS_LOADING_TRANSITION);\n\t}\n};\n\nconst persistStateTerminator = {\n\tstopPropagation: true,\n\teffect: (coeffects) => {\n\t\tconst {\n\t\t\tproperties,\n\t\t\taction: {\n\t\t\t\tpayload: { path, value, persistTo },\n\t\t\t},\n\t\t\tdispatch,\n\t\t} = coeffects;\n\n\t\tconst {\n\t\t\tscreenData: { screenKey, viewportConfigurationId },\n\t\t} = properties;\n\n\t\t// append top level screenId to the path\n\t\tconst pathWithScreenId = [viewportConfigurationId, ...path];\n\n\t\tdispatch(ACTION_PERSIST_STATE_INTERNAL, {\n\t\t\tscreenKey,\n\t\t\tpath: pathWithScreenId,\n\t\t\tvalue,\n\t\t\tpersistTo,\n\t\t});\n\t},\n};\n\nconst stopBlockedLoading = {\n\tstopPropagation: true,\n\teffect: (coeffects) => {\n\t\tconst { state } = coeffects;\n\t\tconst targetRef = state.targetRef;\n\t\tconst loaderNode = targetRef?.childNodes[1];\n\t\tif (loaderNode) {\n\t\t\tif (targetRef.fullPageLoaderTimeoutRef) {\n\t\t\t\tclearTimeout(targetRef.fullPageLoaderTimeoutRef);\n\t\t\t\tdelete targetRef.fullPageLoaderTimeoutRef;\n\t\t\t}\n\t\t\tloaderNode.classList.add('removing-block-loader');\n\t\t\tsetTimeout(() => {\n\t\t\t\ttargetRef.removeChild(loaderNode);\n\t\t\t}, 200); // allow the animation to finish before removing the node. 200ms matches the transition in '.blocked-loader'\n\t\t}\n\t},\n};\n\nexport const screenDisconnectedEffect = ({ state, updateState, host }) => {\n\tconst { targetRef } = state;\n\tif (targetRef) {\n\t\tif (targetRef.fullPageLoaderTimeoutRef) {\n\t\t\tclearTimeout(targetRef.fullPageLoaderTimeoutRef);\n\t\t\tdelete targetRef.fullPageLoaderTimeoutRef;\n\t\t}\n\t\tupdateState({ targetRef: null, shouldRender: false });\n\t}\n\tif (window.ux_globals?.snCanvasScreen === host) {\n\t\tset(window, 'ux_globals.snCanvasScreen', null);\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_DISCONNECTED]: screenDisconnectedEffect,\n\t[COMPONENT_PROPERTY_CHANGED]: screenPropertyChangedEffect,\n\t[SCREEN_STATUS_CHANGED]: screenStatusChangedEffect,\n\t[NAV_ITEM_SELECTED]: navigationInterceptor,\n\t[CONTENT_UPDATED]: navigationInterceptor,\n\t[ACTION_PERSIST_STATE]: persistStateTerminator,\n\t[SCREEN_BLOCK_LOADING_END_REQUESTED]: stopBlockedLoading,\n\t[COMPONENT_DISCONNECTED]: ({ state }) => handleScreenDisconnect(state),\n};\n\n// DEF0627471, DEF0778085 - Handle initial focus within the screen content area in Safari\nif (isDesktopSafari()) {\n\tactionHandlers[COMPONENT_RENDERED] = {\n\t\tmodifier: { name: modifierTypes.DEBOUNCE, delay: 300 },\n\t\teffect: ({ state, updateState }) => {\n\t\t\tconst { targetRef, didSetInitialFocus } = state;\n\n\t\t\tif (didSetInitialFocus) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (somethingIsAlreadyFocused(targetRef)) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'didSetInitialFocus',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { firstFocusableElement } = getFocusableNodes(targetRef);\n\t\t\tfirstFocusableElement?.focus();\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'didSetInitialFocus',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t},\n\t};\n}\n\n// Called from the screen's COMPONENT_DISCONNECTED action handler above.\n// Runs the MACROPONENT_READY listener teardown stashed on the screen\n// targetRef so the captured dispatch reference (and the macroponent subtree\n// it transitively pins) is released when the <sn-canvas-screen> disconnects.\nexport const handleScreenDisconnect = (state) => {\n\tconst targetRef = state?.targetRef;\n\tif (\n\t\ttargetRef &&\n\t\ttypeof targetRef.__macroponentReadyCleanup === 'function'\n\t) {\n\t\ttargetRef.__macroponentReadyCleanup();\n\t\ttargetRef.__macroponentReadyCleanup = null;\n\t}\n};\n\nexport { actionHandlers, loadScreen };\n","import { isEmpty } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\n\nimport { actionHandlers, loadScreen } from './sn-canvas-screen.effects';\nimport { onDirtyStateChange } from './behaviors/dirtyStateHandler';\n\nimport styles from './_sn-canvas-screen.scss';\n\nimport {\n\tSN_CANVAS_SCREEN,\n\tSCREEN_DATA,\n\tSCREEN_BLOCK_LOADING_END_REQUESTED,\n\tSCREEN_DEFAULT_BLOCK_LOADING_TIMEOUT,\n\tDEFAULT_FULL_PAGE_LOADER_LINK,\n\tTHEME_FULL_PAGE_LOADER_SUFFIX,\n} from '../constants/constants';\n\nconst blockLoaderAnimationConfig = {\n\tautoplay: true,\n\tloop: true,\n\ttokenId: THEME_FULL_PAGE_LOADER_SUFFIX,\n\tsrc: DEFAULT_FULL_PAGE_LOADER_LINK,\n};\nconst canvasScreen = (derivedState, { updateState, dispatch }) => {\n\tlet isBlockedLoadingEnabled = false,\n\t\tpageLoaderTimeout,\n\t\tloadingMessage;\n\tconst { screenData } = derivedState?.properties ?? {};\n\n\tif (!isEmpty(screenData.advancedPerformanceSettings)) {\n\t\tconst advancedPerformanceSettings =\n\t\t\tscreenData.advancedPerformanceSettings;\n\t\tisBlockedLoadingEnabled =\n\t\t\tadvancedPerformanceSettings?.fullPageLoader?.enabled === true;\n\t\tpageLoaderTimeout =\n\t\t\t(advancedPerformanceSettings?.fullPageLoader?.timeout ||\n\t\t\t\tSCREEN_DEFAULT_BLOCK_LOADING_TIMEOUT) * 1000; // 5s default\n\t\tloadingMessage =\n\t\t\tadvancedPerformanceSettings?.fullPageLoader?.loadingMessage || '';\n\t}\n\tconst setTargetRef = (ref) => {\n\t\tif (!ref) {\n\t\t\tupdateState({ targetRef: null, shouldRender: false });\n\t\t\treturn;\n\t\t}\n\n\t\tupdateState({ targetRef: ref, shouldRender: false });\n\n\t\tconst { screenData } = derivedState.properties;\n\t\tif (!isEmpty(screenData))\n\t\t\tloadScreen(\n\t\t\t\tref,\n\t\t\t\tderivedState.properties,\n\t\t\t\tdispatch,\n\t\t\t\tisBlockedLoadingEnabled,\n\t\t\t);\n\t\tif (isBlockedLoadingEnabled) {\n\t\t\tdispatch('CANVAS_SCREEN_LOADED', {\n\t\t\t\tscreenKey: screenData.screenKey,\n\t\t\t}); // to early dismiss polaris loader\n\t\t\tref.fullPageLoaderTimeoutRef = setTimeout(\n\t\t\t\t() => dispatch(SCREEN_BLOCK_LOADING_END_REQUESTED),\n\t\t\t\tpageLoaderTimeout,\n\t\t\t);\n\t\t}\n\t};\n\tconst loadingFragment = isBlockedLoadingEnabled && (\n\t\t<div className={`blocked-loader`}>\n\t\t\t<div>\n\t\t\t\t<now-loader-custom\n\t\t\t\t\tlabel={loadingMessage}\n\t\t\t\t\tconfigAnimation={blockLoaderAnimationConfig}\n\t\t\t\t><\/now-loader-custom>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n\tconst fragment = <span>{!isBlockedLoadingEnabled && t('Loading...')}<\/span>;\n\tif (screenData?.isTombstone === true) {\n\t\treturn (\n\t\t\t<section\n\t\t\t\tclassName=\"sn-canvas-screen\"\n\t\t\t\tstyle={{ display: 'none', height: '0', overflow: 'hidden' }}\n\t\t\t\tattrs={{ hidden: true }}\n\t\t\t/>\n\t\t);\n\t}\n\treturn (\n\t\t<section\n\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\tclassName=\"sn-canvas-screen\"\n\t\t\tstyle={{ height: '100%' }}\n\t\t>\n\t\t\t{fragment}\n\t\t\t{loadingFragment}\n\t\t<\/section>\n\t);\n};\n\nexport default createCustomElement(SN_CANVAS_SCREEN, {\n\ttype: snabbdom,\n\tview: canvasScreen,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: onDirtyStateChange,\n\t\t\t\tisScreenSubscriber: true,\n\t\t\t},\n\t\t},\n\t],\n\tproperties: {\n\t\t[SCREEN_DATA]: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tactivityLogs: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tuserPrefs: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t},\n\t\tpersistedState: {},\n\t\trouteConfig: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t},\n\t},\n\tinitialState: {\n\t\tdidSetInitialFocus: false,\n\t},\n\tactionHandlers,\n});\n","/**\n * Callback method that updates screen's aggregated dirty state.\n *\n * @param {DirtyStateSubscriberCallbackParams} params -\n * @see uxf-monorepo/library-uxf/src/factory/dirtyStateManager/dirtyStateManager.js\n */\nexport const onDirtyStateChange = (params) => {\n\tconst { isDirty, subscriberUpdatePropertiesFn } = params;\n\n\tsubscriberUpdatePropertiesFn({\n\t\tpath: 'screenData.isDirty',\n\t\toperation: 'set',\n\t\tvalue: isDirty,\n\t});\n};\n","export const actionNames = {\n\t/**\n\t * Dispatched when user clicks login button\n\t **/\n\tLOGIN_CLICKED: 'SNL_LOCAL_LOGIN#LOGIN_CLICKED',\n\t/**\n\t * Dispatched when user name is updated\n\t **/\n\tUSERNAME_CHANGED: 'SNL_LOCAL_LOGIN#USERNAME_CHANGED',\n\t/**\n\t * Dispatched when enter key is pressed\n\t **/\n\tENTER_KEY_PRESSED: 'SNL_LOCAL_LOGIN#ENTER_KEY_PRESSED',\n\n\tCANVAS_LOGIN_MODAL_CANCELLED: 'CANVAS_LOGIN_MODAL_CANCELLED',\n\tNOW_BUTTON_CLICKED: 'NOW_BUTTON#CLICKED',\n\tNOW_ALERT_ACTION_CLICKED: 'NOW_ALERT#ACTION_CLICKED',\n\tNOW_MODAL_OPENED_SET: 'NOW_MODAL#OPENED_SET',\n\tNOW_INPUT_PASSWORD_INVALID_SET: 'NOW_INPUT_PASSWORD#INVALID_SET',\n\tNOW_INPUT_INVALID_SET: 'NOW_INPUT#INVALID_SET',\n\tLOGIN_MODAL_UI_STATE: 'LOGIN_MODAL_UI_STATE',\n};\n\nexport const dataHandlerConstants = {\n\tLOGIN_USER_SUCCEEDED: `LOGIN_USER_SUCCEEDED`,\n\tLOGIN_USER_FAILED: `LOGIN_USER_FAILED`,\n};\n\nexport const LOGIN_USER_ACTION_TAKEN = `LOGIN_USER_ACTION_TAKEN`;\nexport const LOGIN_SUCCEEDED = `LOGIN_SUCCEEDED`;\nexport const CANVAS_LOGIN_USER = 'CANVAS#LOGIN_USER';\n","import {getFocusableNodes} from '@servicenow/behavior-focus';\n\nconst errorMsgConfig = ({\n\ttype: 'critical',\n\ticon: 'circle-exclamation-outline'\n});\n\nexport const getRequiredErrMsgs = msg => ({\n\tstatus: errorMsgConfig.type,\n\tcontent: msg,\n\ticon: errorMsgConfig.icon\n});\n\nexport const handleFocus = host => {\n\tconst {tabbableNodes} = getFocusableNodes(host);\n\tconst {length} = tabbableNodes;\n\tif(!length)\n\t\treturn ;\n\ttabbableNodes[length-1].focus();\n};\n\n\n","import {t} from 'sn-translate';\n\nexport const translatedTexts = {\n\tusername: t('User name'),\n\tcurrentPassword: t('Current Password'),\n\tnewPassword: t('New Password'),\n\tconfirmNewPassword: t('Confirm New Password'),\n\tsubmit: t('Submit'),\n\tpwdMatchFailMsg: t('The passwords do not match'),\n\tlogin: t('Log In'),\n\tpassword: t('Password'),\n\tcontinue: t('Continue'),\n\tuserId: t('User ID'),\n\ticon: t('icon'),\n\tlogInWith: fieldName => t('Log in with {0}', fieldName),\n\tuserNameReqMsg: t('User name is mandatory'),\n\tpwdReqMsg: t('Password is mandatory'),\n\tnewPwdReqMsg: t('New Password is mandatory'),\n\tcnfNewPwdReqMsg: t('Confirm New Password is mandatory'),\n\tuserIdReqMsg: fieldName => t('{0} is mandatory', fieldName),\n\tcurrentPwdReqMsg: t('Current Password is mandatory'),\n\tsignInWithSSO: t('Sign in with SSO'),\n\tchangePassword: t('Change Password'),\n\torSignInWith: t('Or sign in with'),\n\tloginWithUsernameNPassword: t('Login with user name & password'),\n\tloginWithSSO: t('Login with SSO'),\n\tforgotPassword: t('Forgot Password'),\n\tloading: t('Loading...'),\n\trememberMe: t('Remember me'),\n\tmfaSetupHeading: t('Enable multi-factor authentication (MFA)'),\n\tmfaValidateHeading: t('Multi-Factor Authentication'),\n\tlogoAltText: t('Company logo'),\n\tlanguage: t('Language'),\n\tlangTooltip: t('Please select a language from the dropdown'),\n\tloginButton: t('Login'),\n\tloginFormLabel: t('Login Form'),\n};","import { actionNames, CANVAS_LOGIN_USER } from './constants';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { getRequiredErrMsgs } from './utils';\nimport { translatedTexts as translated } from './i18n';\n\n\nconst handleValidations = ({action, state, dispatch, updateState, properties}) => {\t\n\tconst {value} = state.userNameInfo;\n\tconst {password} = state;\n\tconst transactionId = properties.loginConfig?.transactionId ?? '';\n\tconst actionPayload = action?.payload || {};\n\tconst userNameValue = actionPayload.userName ?? value;\n\tconst passwordValue = actionPayload.password ?? password.value;\n\tconst payload = {\n\t\tuserName: userNameValue,\n\t\tpassword: passwordValue,\n\t\ttransactionId,\n\t};\n\n\tconst hasUserName = !!userNameValue;\n\tconst hasPassword = !!passwordValue;\n\t\n\tif(userNameValue && passwordValue) {\n\t\tconst request = {\n\t\t\tdata: {\n\t\t\t\tusername: payload.userName,\n\t\t\t\tpassword: payload.password,\n\t\t\t\ttransactionId,\n\t\t\t\ttype: 'password',\n\t\t\t},\n\t\t};\n\n\t\tupdateState({\n\t\t\tuserNameInfo: {\n\t\t\t\t...state.userNameInfo,\n\t\t\t\tvalue: userNameValue,\n\t\t\t\terrMsg: userNameValue ? [] : [getRequiredErrMsgs(translated.userNameReqMsg)],\n\t\t\t\tinvalid: !userNameValue\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\t...state.password,\n\t\t\t\tvalue: passwordValue,\n\t\t\t\terrMsg: passwordValue ? [] : [getRequiredErrMsgs(translated.pwdReqMsg)],\n\t\t\t\tinvalid: !passwordValue,\n\t\t\t}\n\t\t});\n\t\t\n\t\tdispatch(actionNames.LOGIN_MODAL_UI_STATE, {\n\t\t\tisLoading: true,\n\t\t\tmessages: [],\n\t\t});\n\t\tdispatch(CANVAS_LOGIN_USER, request);\n\t} else {\n\t\tconsole.warn(\n\t\t\t'[handleValidations] Validation failed, not dispatching login',\n\t\t\t{ hasUserName, hasPassword },\n\t\t);\n\t}\n};\n\nexport const actionHandlers = {\n\t[actionNames.NOW_BUTTON_CLICKED]: handleValidations,\n\t[actionNames.LOGIN_CLICKED]: handleValidations,\n\t[actionNames.NOW_ALERT_ACTION_CLICKED]: ({ action, dispatch }) => {\n\t\tconst { payload } = action;\n\t\tif (payload.action?.type === 'dismiss')\n\t\t\tdispatch(actionNames.LOGIN_MODAL_UI_STATE, { messages: [] });\n\t},\n\t[actionTypes.COMPONENT_CONNECTED]({state, properties, updateState}){\n\t\tupdateState({\n\t\t\tuserNameInfo:{\n\t\t\t\t...state.userNameInfo,\n\t\t\t\tvalue: properties.userName,\n\t\t\t},\n\t\t});\n\t},\n\n\t// Standard handler for modal open/close event with logging and guard\n\t[actionNames.NOW_MODAL_OPENED_SET]({ action, updateProperties, updateState, state, dispatch }) {\n\t\t// Only update on close, to avoid race with programmatic open\n\t\tif (action.payload.value === false) {\n\t\t\t// Update all properties at once\n\t\t\tupdateProperties({ \n\t\t\t\tshowLogin: false,\n\t\t\t\tisLoading: false,\n\t\t\t\tmessages: [],\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tuserNameInfo: {\n\t\t\t\t\t...state.userNameInfo,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\terrMsg: [],\n\t\t\t\t\tinvalid: false\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\t...state.password,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\terrMsg: [],\n\t\t\t\t\tinvalid: false\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\t// Dispatch an action to notify that the user manually closed/cancelled the modal\n\t\t\t// This allows the effect handler to reject the promise if needed\n\t\t\tdispatch(actionNames.CANVAS_LOGIN_MODAL_CANCELLED);\n\t\t}\n\t},\n\n\t/**\n    * Executes when enter key pressed,\n    **/\n\t[actionNames.ENTER_KEY_PRESSED]: handleValidations,\n\n\t['NOW_INPUT#INPUT']: ({action, updateState, state}) => {\n\t\tconst fieldValue = action.payload.fieldValue ?? state.userNameInfo.value;\n\t\tupdateState({\n\t\t\tuserNameInfo: {\n\t\t\t\t...state.userNameInfo,\n\t\t\t\tvalue: fieldValue\n\t\t\t}\n\t\t});\n\t},\n\n\t['NOW_INPUT_PASSWORD#INPUT']: ({action, updateState, state}) => {\n\t\tconst fieldValue = action.payload.fieldValue ?? state.password.value;\n\t\tupdateState({\n\t\t\tpassword: {\n\t\t\t\t...state.password,\n\t\t\t\tvalue: fieldValue\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n\t * Update validation state AND value for password field.\n\t * This fires on blur and includes both validation state and current field value.\n\t **/\n\t[actionNames.NOW_INPUT_PASSWORD_INVALID_SET]: ({action, updateState, state}) => {\n\t\tconst fieldValue = action.payload.fieldValue ?? state.password.value;\n\t\tupdateState({\n\t\t\tpassword: {\n\t\t\t\tvalue: fieldValue,\n\t\t\t\terrMsg: action.payload.value\n\t\t\t\t\t? [getRequiredErrMsgs(translated.pwdReqMsg)]\n\t\t\t\t\t: [],\n\t\t\t\tinvalid: action.payload.value,\n\t\t\t},\n\t\t});\n\t},\n\n\t/**\n\t * Update validation state AND value for username field.\n\t * This fires on blur and includes both validation state and current field value.\n\t **/\n\t[actionNames.NOW_INPUT_INVALID_SET]: ({action, updateState, state}) => {\n\t\tconst fieldValue = action.payload.fieldValue ?? state.userNameInfo.value;\n\t\tupdateState({\n\t\t\tuserNameInfo: {\n\t\t\t\tvalue: fieldValue,\n\t\t\t\terrMsg: action.payload.value\n\t\t\t\t\t? [getRequiredErrMsgs(translated.userNameReqMsg)]\n\t\t\t\t\t: [],\n\t\t\t\tinvalid: action.payload.value,\n\t\t\t},\n\t\t});\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { actionNames } from './constants';\nimport { actionHandlers } from './actionHandlers';\nimport styles from './sn-canvas-login.scss';\nimport { handleFocus } from './utils';\nimport { translatedTexts as t } from './i18n';\n\nimport '@servicenow/now-input';\nimport '@servicenow/now-button';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-alert';\nimport '@servicenow/now-modal';\n\n/**\n * Renders alert messages\n * @param {Array} messages - Array of message config objects\n * @returns {Array|undefined} - Array of alert elements or undefined if no messages\n */\nconst renderAlert = (messages) => {\n\tif (!messages || !messages.length) return;\n\n\treturn messages.map((msgConfig) => (\n\t\t<now-alert\n\t\t\tstatus={msgConfig.status}\n\t\t\ticon={msgConfig.icon}\n\t\t\tcontent={msgConfig.content}\n\t\t\taction={msgConfig.action}\n\t\t\tid={msgConfig.action.id}\n\t\t/>\n\t));\n};\n\n/**\n * Renders the loader component\n * @param {boolean} showLoader - Whether to show the loader\n * @param {string} className - Optional CSS class name\n * @returns {Object|null} - Loader element or null\n */\nconst renderLoader = (showLoader, className) =>\n\tshowLoader ? (\n\t\t<now-loader label={t.loading} size=\"lg\" className={className} />\n\t) : null;\n\n/**\n * Renders username input field\n * @param {Object} userNameInfo - Username field state\n * @param {string} userName - Default username if any\n * @param {boolean} isLoading - Whether form is in loading state\n * @returns {Object} - Username input component\n */\nconst renderUsernameInput = (userNameInfo, userName, isLoading) => {\n\tconst usernameErrorId = userNameInfo.invalid ? 'username-error' : undefined;\n\treturn (\n\t\t<div className=\"now-m-bottom--md\">\n\t\t\t<now-input\n\t\t\t\tid=\"username-input\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t.username}\n\t\t\t\tvalue={userNameInfo.value || ''}\n\t\t\t\tmessages={userNameInfo.errMsg}\n\t\t\t\tinvalid={userNameInfo.invalid}\n\t\t\t\tautofocus={!userName}\n\t\t\t\tautocomplete=\"new-username\"\n\t\t\t\taria-invalid={userNameInfo.invalid}\n\t\t\t\taria-describedby={usernameErrorId}\n\t\t\t\tdisabled={isLoading}\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: '100%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Renders password input field\n * @param {Object} password - Password field state\n * @param {string} userName - Username for determining autofocus\n * @param {boolean} isLoading - Whether form is in loading state\n * @returns {Object} - Password input component\n */\nconst renderPasswordInput = (password, userName, isLoading) => {\n\tconst passwordErrorId = password.invalid ? 'password-error' : undefined;\n\treturn (\n\t\t<div className=\"now-m-bottom--md\">\n\t\t\t<now-input-password\n\t\t\t\tid=\"password-input\"\n\t\t\t\tlabel={t.password}\n\t\t\t\tvalue={password.value || ''}\n\t\t\t\trequired\n\t\t\t\tmessages={password.errMsg}\n\t\t\t\tinvalid={password.invalid}\n\t\t\t\tautofocus={Boolean(userName)}\n\t\t\t\tdisableUnmask\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\taria-invalid={password.invalid}\n\t\t\t\taria-describedby={passwordErrorId}\n\t\t\t\tdisabled={isLoading}\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: '100%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t<\/div>\n\t);\n};\n\n/**\n * Main view function for the login component\n * @param {Object} state - Component state\n * @param {Object} options - Options including dispatch function\n * @returns {Object} - Component view\n */\nexport const snCanvasLogin = (state, { dispatch, updateState }) => {\n\tconst { userNameInfo = {}, password = {} } = state;\n\tconst {\n\t\tloginConfig = {},\n\t\tuserName = '',\n\t\tshowLogin,\n\t\tisLoading = false,\n\t\tmessages = [],\n\t\tshowESignatureModal = false, // Default to false to improve DOM cleanliness\n\t} = state.properties;\n\n\tconst { headerLabel = '', footerActions = [], _reopenKey } = loginConfig;\n\n\t// Skip rendering entirely if modal shouldn't be in DOM\n\tif (!showESignatureModal) {\n\t\treturn null;\n\t}\n\n\t// Reset validation state and input values when modal reopens (detected by _reopenKey change)\n\t// This implements self-managing validation and ensures clean state on each open\n\t// Only reset if _reopenKey exists AND it's different from the last one we saw\n\tif (_reopenKey && _reopenKey !== state._lastReopenKey) {\n\t\tconsole.warn('[sn-canvas-login] Modal reopened, resetting state', {\n\t\t\t_reopenKey,\n\t\t\t_lastReopenKey: state._lastReopenKey,\n\t\t});\n\t\tupdateState({\n\t\t\tuserNameInfo: {\n\t\t\t\tinvalid: false,\n\t\t\t\terrMsg: [],\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\tinvalid: false,\n\t\t\t\terrMsg: [],\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\t_lastReopenKey: _reopenKey, // Track in state to prevent loop\n\t\t});\n\t}\n\n\t/**\n\t * Handle form submission\n\t * @param {Event} e - Form submission event\n\t */\n\tconst handleFormSubmit = (e) => {\n\t\te.preventDefault();\n\n\t\t// Prevent submission when already loading\n\t\tif (isLoading) return;\n\n\t\t// Read values directly from DOM elements\n\t\tconst form = e.target;\n\t\tconst usernameInput = form.querySelector('#username-input');\n\t\tconst passwordInput = form.querySelector('#password-input');\n\n\t\tdispatch(actionNames.LOGIN_CLICKED, {\n\t\t\tuserName: usernameInput?.value || userName || '',\n\t\t\tpassword: passwordInput?.value || '',\n\t\t});\n\t};\n\n\tconst content = (\n\t\t<div\n\t\t\tclassName={`now-modal-content-wrapper ${isLoading ? 'now-has-overlay' : ''}`}\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby=\"login-modal-title\"\n\t\t>\n\t\t\t{/* Loader component */}\n\t\t\t{renderLoader(isLoading, 'now-loader-container')}\n\n\t\t\t<div>\n\t\t\t\t{/* Alert messages */}\n\t\t\t\t{renderAlert(messages)}\n\n\t\t\t\t{/* Login form */}\n\t\t\t\t<form\n\t\t\t\t\tonSubmit={handleFormSubmit}\n\t\t\t\t\tid=\"login-form\"\n\t\t\t\t\taria-label={t.loginFormLabel || 'Login form'}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"now-vertical-layout\">\n\t\t\t\t\t\t{/* Username field */}\n\t\t\t\t\t\t{renderUsernameInput(userNameInfo, userName, isLoading)}\n\n\t\t\t\t\t\t{/* Password field */}\n\t\t\t\t\t\t{renderPasswordInput(password, userName, isLoading)}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/form>\n\t\t\t<\/div>\n\t\t<\/div>\n\t);\n\n\t// Map footer actions to include disabled state based on isLoading\n\tconst updatedFooterActions = footerActions.map((action) => ({\n\t\t...action,\n\t\tdisabled: isLoading || action.disabled,\n\t}));\n\n\treturn (\n\t\t<now-modal\n\t\t\tsize=\"md\"\n\t\t\topened={showLogin}\n\t\t\tnowHoist={showLogin}\n\t\t\tmanageOpened\n\t\t\theader-label={headerLabel}\n\t\t\tid=\"login-modal-title\"\n\t\t\tcontent={content}\n\t\t\tfooter-actions={updatedFooterActions}\n\t\t/>\n\t);\n};\n\n/**\n * local-login allows login with username password.\n **/\ncreateCustomElement('sn-canvas-login', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: snCanvasLogin,\n\t},\n\tstyles,\n\tinitialState: {\n\t\tpassword: {\n\t\t\tinvalid: false,\n\t\t\terrMsg: [],\n\t\t\tvalue: '',\n\t\t},\n\t\tuserNameInfo: {\n\t\t\tinvalid: false,\n\t\t\terrMsg: [],\n\t\t\tvalue: '',\n\t\t},\n\t\t_lastReopenKey: null,\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Pass userName as property if you want to login with particular userName\n\t\t * @type String\n\t\t **/\n\t\telementRef: { default: null },\n\t\tuserName: {\n\t\t\tdefault: '',\n\t\t\trequired: false,\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * Property to set the error modal configuration - header label, content, footer actions etc.\n\t\t * @type {Object} errorConfig - Canvas error modal configuration\n\t\t * @default [{}]\n\t\t */\n\t\tloginConfig: { selectable: true, default: {} },\n\t\t/**\n\t\t * Property to set the card's primary title\n\t\t * @type {boolean} [open=false] open - Error modal display state\n\t\t * @default [false]\n\t\t */\n\t\tshowLogin: { selectable: true, default: false },\n\t\t/**\n\t\t * Property to indicate loading state for the login process\n\t\t * @type {boolean} [isLoading=false] isLoading - Whether login is in progress\n\t\t * @default [false]\n\t\t */\n\t\tisLoading: { selectable: true, default: false },\n\t\t/**\n\t\t * Property to show alert messages in the login modal\n\t\t * @type {Array} messages - Array of message configs for alerts\n\t\t * @default []\n\t\t */\n\t\tmessages: { selectable: true, default: [] },\n\t\t/**\n\t\t * Property to control whether the e-signature modal should be rendered in DOM\n\t\t * @type {boolean} [showESignatureModal=false] - Whether to show e-signature modal in DOM\n\t\t * @default [false] - Default to false to improve DOM cleanliness\n\t\t */\n\t\tshowESignatureModal: { selectable: true, default: false },\n\t},\n\tactionHandlers,\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect({ host, action, dispatch, properties }) {\n\t\t\t\tconst { event } = action.payload;\n\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Focus the submit button for better accessibility\n\t\t\t\t\t\thandleFocus(host);\n\n\t\t\t\t\t\t// Prevent action if already loading\n\t\t\t\t\t\tif (!properties.isLoading) {\n\t\t\t\t\t\t\tdispatch(actionNames.ENTER_KEY_PRESSED);\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error handling Enter key press', error);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// Handle Escape key to allow keyboard users to close modal\n\t\t\tevents: ['keydown'],\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tconst { event } = action.payload;\n\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\tdispatch('NOW_MODAL#OPENED_SET', { value: false });\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when user clicked login button or pressed Enter key.\n\t\t * @param {Object} payload - Login credentials\n\t\t * @param {string} payload.userName - Value of username field\n\t\t * @param {string} payload.password - Value of password field\n\t\t * @returns {void}\n\t\t */\n\t\t[actionNames.LOGIN_CLICKED]() {},\n\n\t\t/**\n\t\t * Dispatched when user cancels login by closing modal\n\t\t * @returns {void}\n\t\t */\n\t\t[actionNames.CANVAS_LOGIN_MODAL_CANCELLED]() {},\n\t},\n});\n","import 'sn-canvas-chrome/src/components/sn-canvas-login';\n\nexport default (state = {}) => {\n\tconst { loginConfig, showLogin, isLoading, messages, showESignatureModal } =\n\t\tstate.properties || {};\n\treturn (\n\t\t<div className=\"sn-canvas-appshell-layout\">\n\t\t\t<sn-canvas-login\n\t\t\t\tloginConfig={loginConfig}\n\t\t\t\tshowLogin={showLogin}\n\t\t\t\tisLoading={isLoading}\n\t\t\t\tmessages={messages}\n\t\t\t\tshowESignatureModal={showESignatureModal}\n\t\t\t><\/sn-canvas-login>\n\t\t\t<slot />\n\t\t<\/div>\n\t);\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tgetStoredExperienceData,\n\tsaveExperiences,\n} from './sn-canvas-appshell-layout.storage';\nimport GlobalUnloadistener from '../utils/global-unload-listener';\nimport {\n\tEXPERIENCE_START,\n\tPAGE_TITLE_UPDATE_REQUESTED,\n\tSCREEN_STATUS_CHANGED,\n} from './../constants/constants';\nimport { setExperienceMark } from '../utils/setExperienceMarks';\nimport {\n\tnowTitle,\n\tcreateBrowserTabTitle,\n\tsetBrowserTabTitle,\n} from 'sn-canvas-common';\nimport { whenScreenMacroponentIdleDuringPageLoad } from '@devsnc/uxf-runtime-utils';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst activeExperienceChromeSettingsChangeEffect = ({\n\taction,\n\tstate,\n\tupdateProperties,\n}) => {\n\tconst {\n\t\tpayload: { name, previousValue, value },\n\t} = action;\n\tif (name === 'selectedContent') {\n\t\tconst context = value?.context?.path || null;\n\t\tconst previousContext = previousValue?.context?.path || null;\n\t\tif (previousContext !== context) {\n\t\t\tupdateProperties({\n\t\t\t\tactiveExperienceChromeSettings:\n\t\t\t\t\tstate?.experienceChromeSettingsMap[context] || {},\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const layoutPropertyChangedEffect = ({\n\tproperties,\n\taction,\n\tupdateProperties,\n}) => {\n\tconst {\n\t\tpayload: { name, value },\n\t} = action;\n\tconst { selectedContentMap, experiencesData } = properties;\n\tif (name === 'selectedContent') {\n\t\tconst context = value?.context?.path || null;\n\t\t/* eslint-disable no-unused-vars */\n\t\tconst { updateUrl, redirect, ...restValue } = value;\n\t\t/* eslint-enable no-unused-vars */\n\t\tif (!context) return;\n\t\tconst newExperiencesData = new Map(experiencesData.entries());\n\t\tconst experienceData = newExperiencesData.get(value.context.path);\n\t\tnewExperiencesData.set(value.context.path, {\n\t\t\texperiencePath: value.context.path,\n\t\t\texperienceName: value.context.experienceName,\n\t\t\tisActive: true,\n\t\t\tisDirty: experienceData?.isDirty || false,\n\t\t\t...(experienceData?.screensToCloseQueue && {\n\t\t\t\tscreensToCloseQueue: experienceData.screensToCloseQueue,\n\t\t\t}),\n\t\t\ttimestamp: Date.now(),\n\t\t\tscreens: experienceData?.screens || [],\n\t\t});\n\n\t\tnewExperiencesData.forEach((experienceData, key) => {\n\t\t\tif (value.context.path !== experienceData.experiencePath)\n\t\t\t\tnewExperiencesData.set(key, {\n\t\t\t\t\t...experienceData,\n\t\t\t\t\tisActive: false,\n\t\t\t\t});\n\t\t});\n\n\t\tupdateProperties({\n\t\t\tselectedContentMap: {\n\t\t\t\t...selectedContentMap,\n\t\t\t\t[context]: { ...restValue },\n\t\t\t},\n\t\t\texperiencesData: newExperiencesData,\n\t\t});\n\t}\n};\n\nconst screenStatusChangedHandler = ({\n\taction,\n\tupdateState,\n\tstate,\n\tproperties,\n}) => {\n\tconst { selectedContent } = properties;\n\tconst payloadTitle = action?.payload?.title || null;\n\tconst classicSavedTitle = state.browserTabTitle;\n\n\tif (classicSavedTitle && !payloadTitle) {\n\t\tsetBrowserTabTitle(classicSavedTitle);\n\t} else if (payloadTitle && action?.payload?.isActive) {\n\t\tconst experienceName = selectedContent?.context?.experienceName || '';\n\t\tconst browserTabTitle = createBrowserTabTitle({\n\t\t\tpageTitle: payloadTitle,\n\t\t\texperienceName,\n\t\t\tnowTitle,\n\t\t});\n\t\tsetBrowserTabTitle(browserTabTitle);\n\t}\n\n\tupdateState({\n\t\tpath: `browserTabTitle`,\n\t\toperation: 'set',\n\t\tvalue: null,\n\t\tshouldRender: false,\n\t});\n};\n\n// handle UI16 style pages being loaded\nexport const canvasClassicLoadedEffect = ({\n\thost,\n\taction,\n\tproperties,\n\tupdateState,\n}) => {\n\tconst { selectedContent: prevSelectedContent } = properties;\n\tconst label = action.payload?.label;\n\tif (label) {\n\t\tconst pageTitle = label.split(/\\s\\|\\s/)[0];\n\t\tconst selectedContent = {\n\t\t\t...prevSelectedContent,\n\t\t\tpageTitle,\n\t\t};\n\n\t\tupdateState({\n\t\t\tpath: `browserTabTitle`,\n\t\t\toperation: 'set',\n\t\t\tvalue: label,\n\t\t\tshouldRender: false,\n\t\t});\n\n\t\tsetBrowserTabTitle(label);\n\t\tsetExperienceMark(host, action, selectedContent, EXPERIENCE_START);\n\t}\n};\n\nconst actionHandlers = {\n\t[COMPONENT_CONNECTED]: async ({ host, properties, updateProperties }) => {\n\t\tconst userId = properties?.canvasSession?.user?.sys_id || null;\n\t\tconst storedSelectedContentMap =\n\t\t\t(await getStoredExperienceData(userId)) || {};\n\t\tupdateProperties({\n\t\t\tsessionSelectedContentMap: { ...storedSelectedContentMap },\n\t\t});\n\n\t\tconst appShellLayoutUnloadHandler = async () => {\n\t\t\tif (host && host.getProperty) {\n\t\t\t\tconst _sessionSelectedContentMap = host.getProperty(\n\t\t\t\t\t'sessionSelectedContentMap',\n\t\t\t\t);\n\t\t\t\tconst _selectedContentMap =\n\t\t\t\t\thost.getProperty('selectedContentMap');\n\t\t\t\tawait saveExperiences(\n\t\t\t\t\t{ ..._sessionSelectedContentMap, ..._selectedContentMap },\n\t\t\t\t\tuserId,\n\t\t\t\t);\n\t\t\t}\n\t\t\twindow.removeEventListener(\n\t\t\t\t'beforeunload',\n\t\t\t\tappShellLayoutUnloadHandler,\n\t\t\t);\n\t\t};\n\n\t\twindow.addEventListener('beforeunload', appShellLayoutUnloadHandler);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tstate,\n\t\tproperties,\n\t\tupdateProperties,\n\t}) => {\n\t\tlayoutPropertyChangedEffect({ properties, action, updateProperties });\n\t\tactiveExperienceChromeSettingsChangeEffect({\n\t\t\taction,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t});\n\t},\n\n\t[COMPONENT_DOM_READY]: ({ host }) => {\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tGlobalUnloadistener.add(nowId, () => {\n\t\t\tconst experiencesData = host.experiencesData || new Map();\n\t\t\treturn Array.from(experiencesData.values()).some((e) => e.isDirty);\n\t\t});\n\t},\n\n\t[COMPONENT_DISCONNECTED]: ({ host }) => {\n\t\tconst nowId = host.getAttribute('now-id');\n\t\tGlobalUnloadistener.remove(nowId);\n\t},\n\t[PAGE_TITLE_UPDATE_REQUESTED]: (coeffects) => {\n\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\tcanvasClassicLoadedEffect(coeffects);\n\t\t});\n\t},\n\t[SCREEN_STATUS_CHANGED]: screenStatusChangedHandler,\n};\nexport { actionHandlers };\n","import { getUnifiedCacheInstance} from 'sn-canvas-common';\n\nconst getSessionStorageKey = () => 'canvasExperienceData';\n\nexport async function getStoredExperienceData(userId) {\n\tlet experienceData;\n\t// try-catch for session storage support.\n\ttry {\n\t\tconst storedExperienceData = await getUnifiedCacheInstance('sessionStorage', 'EXPERIENCE_DATA_SESSION_STORAGE')\n\t\t\t.getItem(getSessionStorageKey());\n\t\tif (storedExperienceData && storedExperienceData.userId === userId) {\n\t\t\t({userId, ...experienceData} = storedExperienceData);\n\t\t\t//move suspend logic here\n\t\t}\n\t\t//window.sessionStorage.removeItem(getSessionStorageKey());\n\t} catch (e) {\n\t\t//Error reading Stored Tabs\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error while reading stored Experiences Data', e);\n\t}\n\treturn experienceData;\n}\n\nexport async function saveExperiences(experienceData, userId) {\n\t// try-catch for session storage support. Just do nothing if unavailable.\n\ttry {\n\t\tawait getUnifiedCacheInstance('sessionStorage', 'EXPERIENCE_DATA_SESSION_STORAGE')\n\t\t\t.setItem(\n\t\t\t\tgetSessionStorageKey(),\n\t\t\t\t{\n\t\t\t\t\tuserId,\n\t\t\t\t\t...experienceData\n\t\t\t\t}\n\t\t\t)\n\t} catch (e) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error while saving Experiences Data', e);\n\t\treturn;\n\t}\n}\n\n//suspend tabs feature\n\nexport async function clearExperiences() {\n\ttry {\n\t\tawait getUnifiedCacheInstance('sessionStorage', 'EXPERIENCE_DATA_SESSION_STORAGE')\n\t\t\t.removeItem(getSessionStorageKey());\n\t} catch (e) {\n\t\t// Session storage not supported.\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error while clearing Experiences Data', e);\n\t}\n}\n","import { get, has, isEmpty } from 'lodash';\nimport { notifyRouteChange } from 'sn-canvas-common';\nimport { setAppConfigToRootMacroponent } from '@devsnc/library-uxf';\nimport {\n\tEXPERIENCE_SWITCH_BEHAVIOR,\n\tCANVAS_EXPERIENCE_SWITCH_REQUESTED,\n\tCANVAS_EXPERIENCE_LOAD_REQUESTED,\n\tNOW_EXPERIENCE_SWITCH_REQUESTED,\n\tNAV_ITEM_SELECTED,\n\tCANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED,\n} from '../../constants/constants';\n\nconst experienceSwitchRequestedEffect = ({ action, properties, dispatch }) => {\n\tconst { path } = action.payload;\n\n\tif (!path) return;\n\tconst {\n\t\tselectedContent,\n\t\tselectedContentMap = {},\n\t\tsessionSelectedContentMap = {},\n\t} = properties;\n\tlet context = get(selectedContent, 'context.path', null);\n\tif (context && context === path) return;\n\tconst experienceId = properties?.experienceConfigs?.[path]?.experienceId;\n\tif (window.ux_globals && window.ux_globals.experienceId !== experienceId) {\n\t\twindow.ux_globals.experienceId = experienceId;\n\t}\n\tif (selectedContentMap[path] || sessionSelectedContentMap[path]) {\n\t\tif (action.stopPropagation) action.stopPropagation();\n\t\tdispatch(\n\t\t\tNAV_ITEM_SELECTED,\n\t\t\tselectedContentMap[path] || sessionSelectedContentMap[path],\n\t\t);\n\t} else {\n\t\tdispatch(CANVAS_EXPERIENCE_LOAD_REQUESTED, { path });\n\t}\n};\n//temp effect to consider nav_item_selected for experience switch\nconst navItemSelectedEffect = ({ action, properties, dispatch }) => {\n\tconst { payload } = action;\n\tconst { experienceConfigs } = properties;\n\n\tif (has(payload, ['external', 'url'])) return;\n\n\tif (!has(experienceConfigs, payload.context.path)) {\n\t\t//check if requested experience is not supported\n\t\treturn;\n\t}\n\n\tif (\n\t\tpayload &&\n\t\tpayload.context &&\n\t\t(!has(payload, 'route') || isEmpty(payload.route))\n\t) {\n\t\tif (action.stopPropagation) action.stopPropagation();\n\t\tdispatch(CANVAS_EXPERIENCE_SWITCH_REQUESTED, { ...payload.context });\n\t}\n\n\tconst path = get(payload, 'context.path', null);\n\tconst prevPath = get(properties, 'selectedContent.context.path', null);\n\n\tif (path && prevPath && path !== prevPath) {\n\t\tdispatch(NOW_EXPERIENCE_SWITCH_REQUESTED, { ...action.payload });\n\t\t// Call to library-uxf setAppConfigToRootMacroponent(path) API\n\t\t// to set the nowAppConfigSysId to the root macroponent node\n\t\tsetAppConfigToRootMacroponent(path);\n\t}\n};\nconst activeExperienceChromeSettingsChangedEffect = ({\n\taction: { payload },\n\tproperties,\n\tupdateState,\n\tupdateProperties,\n}) => {\n\tconst { selectedContent } = properties;\n\tconst { experienceChromeSettings = {} } = payload;\n\tconst contextPath = get(selectedContent, 'context.path', null);\n\tif (contextPath) {\n\t\tconst experienceId =\n\t\t\tproperties?.experienceConfigs?.[contextPath]?.experienceId;\n\t\tif (\n\t\t\twindow.ux_globals &&\n\t\t\twindow.ux_globals.experienceId !== experienceId\n\t\t) {\n\t\t\twindow.ux_globals.experienceId = experienceId;\n\t\t}\n\t\tupdateState({\n\t\t\tpath: `experienceChromeSettingsMap.${contextPath}`,\n\t\t\tvalue: experienceChromeSettings,\n\t\t\toperation: 'assign',\n\t\t});\n\t\tupdateProperties({\n\t\t\tactiveExperienceChromeSettings: experienceChromeSettings,\n\t\t});\n\t\t// Notify Karuna shell of updated chrome_header (no-op outside aiuxMode)\n\t\tnotifyRouteChange(contextPath);\n\t}\n};\n\nexport default {\n\tname: EXPERIENCE_SWITCH_BEHAVIOR,\n\tactionHandlers: {\n\t\t[CANVAS_EXPERIENCE_SWITCH_REQUESTED]: experienceSwitchRequestedEffect,\n\t\t[NAV_ITEM_SELECTED]: navItemSelectedEffect,\n\t\t[CANVAS_CHROME_EXPERIENCE_CONFIG_CHANGED]:\n\t\t\tactiveExperienceChromeSettingsChangedEffect,\n\t},\n};\n","import { difference, isNumber } from 'lodash';\nimport { klona } from 'klona';\n\nconst DEFAULT_MAX_CACHED_EXPERIENCE = 2; //TODO: Needs to change it once config is ready\nconst DEFAULT_MAX_ACTIVE_EXPERIENCE = 1;\n\nexport const applyExperienceCacheRestriction = (_experiencesData, config) => {\n\tconst experiencesData = klona(_experiencesData);\n\tconst { maxCachedExperienceCount, maxActiveExperienceCount } = config || {};\n\n\tconst MAX_CACHED_EXPERIENCE_COUNT = isNumber(maxCachedExperienceCount) && maxCachedExperienceCount >= 0 ? maxCachedExperienceCount : DEFAULT_MAX_CACHED_EXPERIENCE;\n\tlet MAX_ACTIVE_EXPERIENCE_COUNT = isNumber(maxActiveExperienceCount) && maxActiveExperienceCount >= 0 ? maxActiveExperienceCount : DEFAULT_MAX_ACTIVE_EXPERIENCE;\n\n\tif (MAX_ACTIVE_EXPERIENCE_COUNT > MAX_CACHED_EXPERIENCE_COUNT)\n\t\tMAX_ACTIVE_EXPERIENCE_COUNT = MAX_CACHED_EXPERIENCE_COUNT;\n\n\tconst allExperiences = [...(experiencesData.values() || [])];\n\tif (allExperiences.length === 0) return experiencesData;\n\n\tconst sortByMostRecentlyAccessed = (expData1, expData2) =>\n\t\texpData2.timestamp - expData1.timestamp;\n\n\tconst nonActivePristineExperiences = allExperiences\n\t\t.sort(sortByMostRecentlyAccessed)\n\t\t.filter(exp => exp.isDirty === false)\n\t\t.filter(exp => exp.isActive === false);\n\n\tconst remainingExperiences = difference(\n\t\tallExperiences,\n\t\tnonActivePristineExperiences\n\t);\n\n\tfor(let i = 0; i < nonActivePristineExperiences.length; i++){\n\t\tif(i>=MAX_ACTIVE_EXPERIENCE_COUNT && i < MAX_CACHED_EXPERIENCE_COUNT)\n\t\t\tnonActivePristineExperiences[i].isDetached = true;\n\t\telse if(i >= MAX_CACHED_EXPERIENCE_COUNT)\n\t\t\tnonActivePristineExperiences[i].isDiscarded = true;\n\t}\n\n\tfunction convertToMap(arr = []) {\n\t\tconst mapped = arr.reduce((acc, e) => {\n\t\t\tacc[e.experiencePath] = e;\n\t\t\treturn acc;\n\t\t}, {});\n\n\t\treturn new Map(Object.entries(mapped));\n\t}\n\n\tconst newExperiencesData = new Map([\n\t\t...convertToMap(remainingExperiences).entries(),\n\t\t...convertToMap(nonActivePristineExperiences).entries()\n\t]);\n\treturn newExperiencesData;\n};\n","import { isNil, isEqual } from '@devsnc/snowdash';\nimport {\n\tEXPERIENCE_STATUS_CHANGED,\n\tEXPERIENCE_DATA_BEHAVIOR,\n\tDIRTY_SCREEN_CLOSE_CONFIRMED,\n\tCANVAS_EXPERIENCE_LOADED,\n} from '../../constants/constants';\n\nimport { buildScreensToCloseQueue } from './utils';\n\nimport { applyExperienceCacheRestriction } from '../../utils/experience-caching';\n\n//TODO: non essential ux task. Move to WebWorker\nconst canvasExperienceLoadedEffect = (coeffects) => {\n\tconst { properties, updateProperties } = coeffects;\n\tconst { experiencesData, experienceLimits } = properties;\n\tconst newExperiencesData = applyExperienceCacheRestriction(\n\t\texperiencesData,\n\t\texperienceLimits,\n\t);\n\tupdateProperties({ experiencesData: newExperiencesData });\n};\n\nexport const experienceStatusChangedHandler = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n}) => {\n\tconst path = action.payload.context?.path;\n\tif (!path) return;\n\tconst { experiencesData } = properties;\n\tconst newExperiencesData = new Map(experiencesData.entries());\n\tnewExperiencesData.forEach((value, key) => {\n\t\tnewExperiencesData.set(key, { ...value, isActive: false });\n\t});\n\tconst { isDirty } = action.payload;\n\tconst isDirtyObject = isNil(isDirty) ? {} : { isDirty: Boolean(isDirty) };\n\n\tconst experienceData = new Map();\n\texperienceData.set(path, {\n\t\texperiencePath: path,\n\t\texperienceName: action.payload.name,\n\t\tisActive: true,\n\t\t...isDirtyObject,\n\t\ttimestamp: Date.now(),\n\t\tscreens: [...action.payload.screens],\n\t});\n\n\tupdateProperties({\n\t\texperiencesData: new Map([\n\t\t\t...newExperiencesData.entries(),\n\t\t\t...experienceData.entries(),\n\t\t]),\n\t});\n};\n\nexport const experienceDataBehavior = {\n\tname: EXPERIENCE_DATA_BEHAVIOR,\n\tproperties: {\n\t\texperiencesData: {\n\t\t\tdefault: new Map(),\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\texperienceLimits: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t\tselectable: false,\n\t\t\tdeepCompare: true,\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[EXPERIENCE_STATUS_CHANGED]: experienceStatusChangedHandler,\n\t\t[DIRTY_SCREEN_CLOSE_CONFIRMED]: ({\n\t\t\taction: { payload },\n\t\t\tproperties: { experiencesData } = new Map(),\n\t\t\tupdateProperties,\n\t\t}) => {\n\t\t\tconst data = payload.data;\n\t\t\tif (!data || data.length === 0) return;\n\n\t\t\tconst newExperiencesData = buildScreensToCloseQueue(\n\t\t\t\texperiencesData,\n\t\t\t\tdata,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tif (!isEqual(newExperiencesData, experiencesData))\n\t\t\t\tupdateProperties({\n\t\t\t\t\texperiencesData: newExperiencesData,\n\t\t\t\t});\n\t\t},\n\t\t[CANVAS_EXPERIENCE_LOADED]: canvasExperienceLoadedEffect,\n\t},\n};\n","export function buildScreensToCloseQueue(\n\texperiencesData,\n\tpayloadData,\n\tignoreDirty = false,\n) {\n\tlet screenKeySet = new Set();\n\tconst newExperiencesData = new Map(experiencesData.entries());\n\tpayloadData.forEach(({ experiencePath, screens }) => {\n\t\tif (\n\t\t\t!experiencePath ||\n\t\t\t!screens ||\n\t\t\tscreens.length === 0 ||\n\t\t\t!experiencesData.has(experiencePath)\n\t\t)\n\t\t\treturn;\n\t\tscreenKeySet = new Set(screens.map((s) => s.screenKey));\n\t\tconst singleExperienceData = experiencesData.get(experiencePath);\n\t\tconst newScreens = (singleExperienceData.screens || []).filter(\n\t\t\t(screen) => !screenKeySet.has(screen.screenKey),\n\t\t);\n\t\tconst isDirty = newScreens.some((s) => s.isDirty === true);\n\n\t\tconst newSingleExperienceData = {\n\t\t\t...singleExperienceData,\n\t\t\tscreens: newScreens,\n\t\t\tscreensToCloseQueue: [\n\t\t\t\t...screens.map((s) => ({ ...s, ignoreDirty })),\n\t\t\t],\n\t\t\tisDirty,\n\t\t};\n\t\tnewExperiencesData.set(experiencePath, newSingleExperienceData);\n\t});\n\n\treturn newExperiencesData;\n}\n","import { get } from 'lodash';\nconst dialogTypeMap = {\n\texplicitoptin: 'confirm',\n\tnotice: 'alert'\n};\n\nexport const getGlobalUCMConfiguration = () => {\n\tconst info = get(window, 'NOW_UCM_INFO', {});\n\treturn {\n\t\tcontent: info.user_analytics_consent_text,\n\t\ttype: dialogTypeMap[(info.user_consent || '').toLowerCase()]\n\t};\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { isFunction } from 'lodash';\nimport { getGlobalUCMConfiguration } from './util';\nimport {UCM_DIALOG_CLOSED, USER_CONSENT_BEHAVIOR} from \"../../constants/constants\";\n\nconst { COMPONENT_CONNECTED } = actionTypes;\n\nconst onUserConsentConnect = ({ state, updateProperties }) => {\n\tconst { ucmConfig } = state.properties;\n\tconst hasUserConsented =\n\t\tstate.behaviors[USER_CONSENT_BEHAVIOR].hasUserConsented;\n\tif (hasUserConsented) {\n\t\treturn;\n\t}\n\n\tif (ucmConfig.type)\n\t\tupdateProperties({\n\t\t\tshowUcm: true\n\t\t});\n};\n\nconst onUcmDialogClosed = ({\n\taction: { payload },\n\tupdateProperties,\n\tupdateState\n}) => {\n\tupdateProperties({\n\t\tshowUcm: false\n\t});\n\tif (!payload.result) return;\n\t// UserConsent is an global Object pushed to window by telemetry team. May not be present all the time.\n\tif (window.userConsent && isFunction(window.userConsent.updateUserConsent)) {\n\t\twindow.userConsent.updateUserConsent(payload.result);\n\t\t//update state to make sure UCM dialog is not shown again within the session once consent is provided\n\t\tupdateState({\n\t\t\tpath: `behaviors.${USER_CONSENT_BEHAVIOR}.hasUserConsented`,\n\t\t\toperation: 'set',\n\t\t\tvalue: true,\n\t\t\tshouldRender: false\n\t\t});\n\t}\n};\n\nexport const userConsentBehavior = {\n\tname: USER_CONSENT_BEHAVIOR,\n\tproperties: {\n\t\tshowUcm: {\n\t\t\tdefault: false,\n\t\t\tselectable: true\n\t\t},\n\t\tucmConfig: {\n\t\t\tdefault: getGlobalUCMConfiguration(),\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\tinitialState: {\n\t\thasUserConsented: false\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: onUserConsentConnect,\n\t\t[UCM_DIALOG_CLOSED]: onUcmDialogClosed\n\t}\n};\n","import { get, has, isEmpty } from 'lodash';\nimport {\n\tevaluateCondition,\n\tparseCondition,\n} from '../sn-canvas-screens/sn-canvas-screens.resolver';\nimport { snHttp } from '@devsnc/library-uxf';\nimport { getRequestedExperienceConfigs } from 'sn-canvas-common';\n\nconst evaluateRouteCondition = (condition, selectedContent) => {\n\tconst parsedConditionValue = parseCondition(condition);\n\treturn evaluateCondition(parsedConditionValue, selectedContent);\n};\nconst isConditionalRouteValid = (routeCondition, routeObj) =>\n\tisEmpty(routeCondition) || evaluateRouteCondition(routeCondition, routeObj);\n\nexport const routeExists = (\n\texperienceConfig,\n\trouteObj,\n\tinteropPayload,\n\ttype = 'route',\n\tisConditionalRouteValidFn = isConditionalRouteValid,\n) => {\n\tconst routeExistsWithMatchingFieldsAndCondition = (\n\t\troutes,\n\t\tconditionalKey,\n\t) => {\n\t\tconst routesArr = routes[route];\n\t\tif (!routesArr) return false;\n\n\t\t// Filter routes based on field length and field existence\n\t\tconst resultRouteArr = routesArr\n\t\t\t.map((r) => ({ ...r, ...r.route }))\n\t\t\t.filter(({ fields = [] }) => fields.length === fieldsLength)\n\t\t\t.filter(({ fields: routeFields = [] }) =>\n\t\t\t\trouteFields.every((f) => has(fields, f)),\n\t\t\t);\n\n\t\tif (!isEmpty(conditionalKey)) {\n\t\t\tlet matchingInteropsWithScript = [];\n\t\t\tconst matchExists = resultRouteArr.some(\n\t\t\t\t(r) =>\n\t\t\t\t\t!r.hasScriptedCondition &&\n\t\t\t\t\tisConditionalRouteValidFn(r[conditionalKey], routeObj),\n\t\t\t);\n\t\t\tif (!matchExists) {\n\t\t\t\tmatchingInteropsWithScript = resultRouteArr\n\t\t\t\t\t.filter((r) => r.hasScriptedCondition)\n\t\t\t\t\t.map((r) => r.interoperableRouteSysId);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tmatchExists,\n\t\t\t\tmatchingInteropsWithScript,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tmatchExists: !isEmpty(resultRouteArr),\n\t\t};\n\t};\n\n\tconst { route, fields } = routeObj;\n\tconst { routes, interoperableRoutes } = get(\n\t\texperienceConfig,\n\t\t'appRouteConfiguration',\n\t\t{},\n\t);\n\n\tif (!routes && !interoperableRoutes) return false;\n\n\tconst fieldsLength = fields ? Object.keys(fields).length : 0;\n\n\t// Check local routes\n\tconst { matchExists: localRouteExists = false } = routes\n\t\t? routeExistsWithMatchingFieldsAndCondition(routes)\n\t\t: {};\n\tif (localRouteExists) return true;\n\n\t// Check interoperable routes\n\tconst { matchExists = false, matchingInteropsWithScript = [] } =\n\t\tinteroperableRoutes\n\t\t\t? routeExistsWithMatchingFieldsAndCondition(\n\t\t\t\t\tinteroperableRoutes,\n\t\t\t\t\t'interoperableCondition',\n\t\t\t\t)\n\t\t\t: {};\n\n\tif (matchExists) return true;\n\n\tif (interopPayload) {\n\t\tinteropPayload.process(\n\t\t\tmatchingInteropsWithScript,\n\t\t\texperienceConfig.urlPath,\n\t\t\ttype,\n\t\t);\n\t}\n\treturn false;\n};\n\nexport const handleMappings = (mappingConfig, payload, result) => {\n\tif (isEmpty(mappingConfig)) return result;\n\tfor (const f of mappingConfig) {\n\t\tconst { name, mapping = {} } = f;\n\t\tconst { address } = mapping;\n\t\tconst value = address ? get(payload, `fields.${address}`) : null;\n\t\tresult[name] = value;\n\t}\n\treturn result;\n};\n\n// dependency injection to make this easier to test\nexport const getRouteObjFromMapping = (\n\trouteConfig,\n\tpayload,\n\thandleMappingsFunc = handleMappings,\n) => {\n\tconst {\n\t\troute,\n\t\tfields: fieldsConfig,\n\t\tparams: paramsConfig,\n\t} = routeConfig || {};\n\tif (!route) return;\n\tconst fields = {};\n\thandleMappingsFunc(fieldsConfig, payload, fields);\n\tconst params = {};\n\thandleMappingsFunc(paramsConfig, payload, params);\n\n\tconst routeObj = { route, fields, params };\n\n\treturn routeObj;\n};\n\nexport const getExperienceList = (globalNavigationConfig, payload) => {\n\tconst { feature, fields, filters = {} } = payload;\n\tlet features = get(globalNavigationConfig, 'features', null);\n\tif (!features) return [];\n\n\tconst featureConfig = features[feature];\n\n\tif (isEmpty(featureConfig)) return [];\n\tconst { _default: defaultConfig = {}, conditionalExperienceMappings = [] } =\n\t\tfeatureConfig;\n\n\tlet expList = [];\n\n\tfor (const mappingConfig of conditionalExperienceMappings) {\n\t\tconst { matchingCriteria = {}, experiencePriorityList = [] } =\n\t\t\tmappingConfig;\n\t\tlet matchFound = isEmpty(matchingCriteria);\n\t\tfor (const [key, value] of Object.entries(matchingCriteria)) {\n\t\t\tif (fields[key] && value.includes(fields[key])) {\n\t\t\t\tmatchFound = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (matchFound && !isEmpty(experiencePriorityList)) {\n\t\t\t// DEF0854766: filter exps with empty routeMapping at use-time\n\t\t\t// (formerly done destructively in processGlobalNavConfig). Keeps\n\t\t\t// the priority list intact so a matched conditional with only\n\t\t\t// unaugmented exps falls through to the default list.\n\t\t\texpList = experiencePriorityList.filter(\n\t\t\t\t(exp) => !isEmpty(exp.routeMapping),\n\t\t\t);\n\t\t\tfor (const [key, value] of Object.entries(filters)) {\n\t\t\t\texpList = expList.filter(\n\t\t\t\t\t(exp) => has(exp, key) && exp[key] === value,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (!isEmpty(expList)) break;\n\t}\n\tif (isEmpty(expList)) {\n\t\t//try default exp priority list\n\t\tconst { experiencePriorityList = [] } = defaultConfig;\n\t\texpList = experiencePriorityList.filter(\n\t\t\t(exp) => !isEmpty(exp.routeMapping),\n\t\t);\n\t\tfor (const [key, value] of Object.entries(filters)) {\n\t\t\texpList = expList.filter(\n\t\t\t\t(exp) => has(exp, key) && exp[key] === value,\n\t\t\t);\n\t\t}\n\t}\n\treturn expList;\n};\n\n// dependency injection to make this easier to test\nexport const getRouteObj = (\n\texperienceConfig,\n\tpayload,\n\tgetRouteObjFromMappingFunc = getRouteObjFromMapping,\n) => {\n\texperienceConfig = experienceConfig || {};\n\tpayload = payload || {};\n\n\tconst { routeMapping = {} } = experienceConfig;\n\tconst { fields } = payload;\n\n\tconst { _default: defaultConfig = {}, conditionalMappings = [] } =\n\t\trouteMapping;\n\n\tlet _routeInfo;\n\n\tfor (const config of conditionalMappings) {\n\t\tconst { matchingCriteria, routeInfo } = config;\n\t\tfor (const [key, value] of Object.entries(matchingCriteria)) {\n\t\t\tif (fields[key] && value.includes(fields[key])) {\n\t\t\t\t_routeInfo = routeInfo;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (_routeInfo) break;\n\t}\n\n\tif (!_routeInfo) {\n\t\t//try default routeInfo\n\t\t_routeInfo = defaultConfig.routeInfo;\n\t}\n\n\treturn getRouteObjFromMappingFunc(_routeInfo, payload);\n};\n\nexport const getExperience = (experienceConfigs, selectedContent, payload) => {\n\tconst context = get(selectedContent, 'context.path', null);\n\tconst { feature } = payload;\n\n\tif (!context || !feature || !experienceConfigs[context]) return;\n\n\tconst {\n\t\texperienceId: sysId,\n\t\turlPath,\n\t\tpageProperties,\n\t} = experienceConfigs[context];\n\tlet { featureRoutes: featureRoutesProp } = pageProperties;\n\tif (!featureRoutesProp) return;\n\tif (typeof featureRoutesProp === 'string')\n\t\tfeatureRoutesProp = JSON.parse(featureRoutesProp);\n\n\tconst routeMapping = get(featureRoutesProp, `${feature}`);\n\tif (!routeMapping) return;\n\treturn { sysId, urlPath, routeMapping };\n};\n\nexport const processGlobalNavConfig = async (\n\texperienceConfigs,\n\tglobalNavigationConfig,\n\tfeature,\n) => {\n\tif (!globalNavigationConfig) return;\n\tconst { features } = globalNavigationConfig;\n\tif (!features) return;\n\tconst expPropMap = {};\n\n\t// DEF0795754 - We will preprocess the fetch of page properties for the possible requested routes to make sure page props are available even after an unexpencted event like page refresh\n\tconst requestedExps = get(\n\t\tfeatures[feature],\n\t\t'_default.experiencePriorityList',\n\t\t[],\n\t);\n\tconst paths = [];\n\trequestedExps.forEach(({ sysId }) => {\n\t\tconst matchingExp = Object.values(experienceConfigs).find(\n\t\t\t(exp) => exp.experienceId === sysId,\n\t\t);\n\t\tif (matchingExp && !matchingExp.pageProperties) {\n\t\t\tpaths.push(matchingExp.urlPath);\n\t\t}\n\t});\n\n\tif (!isEmpty(paths)) {\n\t\texperienceConfigs = await getRequestedExperienceConfigs(paths);\n\t}\n\n\t//process features of experiences\n\tfor (const [, value] of Object.entries(experienceConfigs)) {\n\t\tconst { experienceId, urlPath, pageProperties } = value;\n\t\tif (pageProperties) {\n\t\t\tlet { featureRoutes: featureRoutesProp = {} } = pageProperties;\n\t\t\tif (featureRoutesProp && typeof featureRoutesProp === 'string')\n\t\t\t\tfeatureRoutesProp = JSON.parse(featureRoutesProp);\n\t\t\texpPropMap[experienceId] = {\n\t\t\t\texperienceId,\n\t\t\t\turlPath,\n\t\t\t\tfeatureRoutes: featureRoutesProp,\n\t\t\t};\n\t\t}\n\t}\n\n\t// DEF0854766: augment routeMapping in place. Do not rebuild/replace the\n\t// priority lists — experiences whose pageProperties haven't been fetched\n\t// yet would otherwise be silently dropped, permanently degrading the nav\n\t// config for other features that haven't been navigated to yet.\n\tfor (const [key, value] of Object.entries(features)) {\n\t\tconst { _default: defaultRoute, conditionalExperienceMappings = [] } =\n\t\t\tvalue;\n\t\tconst { experiencePriorityList } = defaultRoute;\n\n\t\tfor (let exp of experiencePriorityList) {\n\t\t\tconst { sysId } = exp;\n\t\t\tconst {\n\t\t\t\texperienceId,\n\t\t\t\turlPath,\n\t\t\t\tfeatureRoutes: featureRoutesProp,\n\t\t\t} = expPropMap[sysId] || {};\n\t\t\tif (experienceId) {\n\t\t\t\texp.urlPath = urlPath;\n\t\t\t\texp.routeMapping =\n\t\t\t\t\texp.routeMapping || get(featureRoutesProp, `${key}`) || {};\n\t\t\t}\n\t\t}\n\n\t\tfor (let expMapping of conditionalExperienceMappings) {\n\t\t\tconst { experiencePriorityList = [] } = expMapping;\n\t\t\tfor (let exp of experiencePriorityList) {\n\t\t\t\tconst { sysId } = exp;\n\t\t\t\tconst {\n\t\t\t\t\texperienceId,\n\t\t\t\t\turlPath,\n\t\t\t\t\tfeatureRoutes: featureRoutesProp,\n\t\t\t\t} = expPropMap[sysId] || {};\n\t\t\t\tif (experienceId) {\n\t\t\t\t\texp.urlPath = urlPath;\n\t\t\t\t\texp.routeMapping =\n\t\t\t\t\t\texp.routeMapping ||\n\t\t\t\t\t\tget(featureRoutesProp, `${key}`) ||\n\t\t\t\t\t\t{};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn globalNavigationConfig;\n};\n\n/*\nexperienceList:\n{\n\texperiencePath: \"exp1\", parentInteropIDs: [\"ip1\", \"ip2\"], interopIDs: [\"ip1\", \"ip2\"],\n},\n{\n\texperiencePath: \"exp2\", parentInteropIDs: [\"ip1\"],\n},\n{\n\texperiencePath: \"exp2\", interopIDs: [\"ip1\"],\n}\n\n*/\nexport const getExperiencePassingInteropScriptedCondition = async (\n\texperienceList,\n\trouteFields,\n\tparentRouteFields,\n) => {\n\tif (!Array.isArray(experienceList) || experienceList.length === 0)\n\t\treturn {};\n\n\tconst snHttpRef = await snHttp();\n\tconst { data: { result: response } = {} } = await snHttpRef.request(\n\t\t'/api/now/uxframework/evaluate_interop_scripted_conditions',\n\t\t'POST',\n\t\t{\n\t\t\tdata: {\n\t\t\t\texperienceList,\n\t\t\t\tinputProperties: {\n\t\t\t\t\trouteFields,\n\t\t\t\t\tparentRouteFields,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t);\n\n\treturn response.experiencePath;\n};\n\nexport class ScriptedInteropPayload {\n\tconstructor() {\n\t\tthis.experienceInteropWithScriptedConditions = [];\n\t}\n\n\tadd(interopIdList, experiencePath, forType) {\n\t\tthis.experienceInteropWithScriptedConditions.push({\n\t\t\texperiencePath,\n\t\t\tinteropIDs: interopIdList,\n\t\t\ttype: forType,\n\t\t});\n\t}\n\n\tremoveExperience(experiencePath) {\n\t\tthis.experienceInteropWithScriptedConditions =\n\t\t\tthis.experienceInteropWithScriptedConditions.filter(\n\t\t\t\t(obj) => obj.experiencePath !== experiencePath,\n\t\t\t);\n\t}\n\n\ttransformedPayloadForRequest() {\n\t\tlet expList = this.experienceInteropWithScriptedConditions.map(\n\t\t\t(exp) => exp.experiencePath,\n\t\t);\n\t\tlet res = [];\n\t\tlet experiencesAdded = new Set();\n\n\t\tfor (let i = 0; i < expList.length; i++) {\n\t\t\tlet expPath = expList[i];\n\t\t\tif (experiencesAdded.has(expPath)) continue;\n\t\t\tlet interopPayloadItem =\n\t\t\t\tthis.experienceInteropWithScriptedConditions\n\t\t\t\t\t.filter((exp) => exp.experiencePath === expPath)\n\t\t\t\t\t.reduce((acc, curr) => {\n\t\t\t\t\t\tif (curr.type === 'parent')\n\t\t\t\t\t\t\tacc.parentInteropIDs = curr.interopIDs;\n\t\t\t\t\t\telse acc.interopIDs = curr.interopIDs;\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {});\n\t\t\tres.push({ experiencePath: expPath, ...interopPayloadItem });\n\t\t\texperiencesAdded.add(expPath);\n\t\t}\n\t\treturn res;\n\t}\n\n\tprocess(interopIdList, experiencePath, forType) {\n\t\tif (interopIdList.length > 0) {\n\t\t\tthis.add(interopIdList, experiencePath, forType);\n\t\t} else if (!this.isEmpty()) {\n\t\t\tthis.removeExperience(experiencePath);\n\t\t}\n\t}\n\n\tgetPayload() {\n\t\treturn this.transformedPayloadForRequest();\n\t}\n\tisExperiencePresent(experiencePath) {\n\t\treturn this.experienceInteropWithScriptedConditions.find(\n\t\t\t(obj) => obj.experiencePath === experiencePath,\n\t\t);\n\t}\n\n\tisEmpty() {\n\t\treturn this.experienceInteropWithScriptedConditions.length === 0;\n\t}\n}\n","import { getUnifiedCacheInstance } from 'sn-canvas-common';\n\nconst getSessionStorageKey = () => 'previouslyVisitedExperience';\n\n// dependency injection for testing purpose.\nexport async function getStoredPreviouslyVisitedExperience(\n\tuserId,\n\tgetUnifiedCacheInstanceFunc = getUnifiedCacheInstance) {\n\tif (!userId) return;\n\n\tlet previouslyVisitedExperience;\n\t// try-catch for session storage support.\n\ttry {\n\t\tconst storedPreviouslyVisitedExperience = await getUnifiedCacheInstanceFunc('sessionStorage', 'GLOBAL_NAVIGATION_SESSION_STORAGE')\n\t\t\t.getItem(getSessionStorageKey());\n\t\tif (\n\t\t\tstoredPreviouslyVisitedExperience &&\n\t\t\tstoredPreviouslyVisitedExperience.userId === userId &&\n\t\t\tstoredPreviouslyVisitedExperience.previouslyVisitedExperience\n\t\t) {\n\t\t\t({previouslyVisitedExperience} = storedPreviouslyVisitedExperience);\n\t\t\t//move suspend logic here\n\t\t\t//window.sessionStorage.removeItem(getSessionStorageKey());\n\t\t}\n\t} catch (e) {\n\t\t//Error reading Stored ScreenTitles\n\t}\n\treturn previouslyVisitedExperience;\n}\n\n// dependency injection for testing purpose.\nexport async function savePreviouslyVisitedExperience(previouslyVisitedExperience,\n\t\t\t\t\t\t\t\t\t\t\t\t\t  userId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t  getUnifiedCacheInstanceFunc = getUnifiedCacheInstance) {\n\tif (!userId) return;\n\t// try-catch for session storage support. Just do nothing if unavailable.\n\ttry {\n\t\tawait getUnifiedCacheInstanceFunc('sessionStorage', 'GLOBAL_NAVIGATION_SESSION_STORAGE')\n\t\t\t.setItem(\n\t\t\t\tgetSessionStorageKey(),\n\t\t\t\t{\n\t\t\t\t\tuserId,\n\t\t\t\t\tpreviouslyVisitedExperience\n\t\t\t\t}\n\t\t\t);\n\t} catch (e) {\n\t\treturn;\n\t}\n}\n\nexport async function clearPreviouslyVisitedExperience(getUnifiedCacheInstanceFunc = getUnifiedCacheInstance) {\n\ttry {\n\t\tawait getUnifiedCacheInstanceFunc('sessionStorage', 'GLOBAL_NAVIGATION_SESSION_STORAGE')\n\t\t\t.removeItem(getSessionStorageKey());\n\t} catch (e) {\n\t\t// Session storage not supported.\n\t}\n}\n","import { get, set, isEmpty } from 'lodash';\nimport { klona } from 'klona';\n\nimport {\n\tprocessGlobalNavConfig,\n\tgetExperience,\n\tgetExperienceList,\n\tgetRouteObj,\n\trouteExists,\n\tgetExperiencePassingInteropScriptedCondition,\n\tScriptedInteropPayload,\n} from './global-navigation.util';\n\nimport {\n\tgetRequestedExperienceRouterConfigurations,\n\tgetUXGlobalRouterConfiguration,\n} from '../../sn-canvas-router/sn-canvas-router.config';\n\nimport {\n\tsavePreviouslyVisitedExperience,\n\tgetStoredPreviouslyVisitedExperience,\n} from './global-navigation.storage';\n\nimport {\n\tGLOBAL_NAVIGATION_REQUESTED,\n\tNAV_ITEM_SELECTED,\n\tEXPERIENCE_ONLY,\n\tCANVAS_EXPERIENCE_SWITCH_INITIATED,\n} from '../../constants/constants';\n\nconst getUXGlobalsExperienceConfigs = () =>\n\tklona(get(window, 'ux_globals.experienceConfigs', {}));\n\n/**\n * Resolves route configuration for a given experience, handling both direct and parent routes.\n * @param {Object} experienceConfigs - Configuration object for all experiences\n * @param {Object} experience - Current experience object\n * @param {Object} payload - Navigation payload containing route information\n * @param {Object} interopPayload - payload to capture scriptedInteropIDs and conclude experience at server-side, if needed.\n * @param {Function} getRouteObjFunc - Function to get route object (injectable for testing)\n * @param {Function} routeExistsFunc - Function to check route existence (injectable for testing)\n * @returns {Object|undefined} Resolved route object or undefined if no valid route found\n */\nexport const resolveRouteForExperience = (\n\texperienceConfigs,\n\texperience,\n\tpayload,\n\tinteropPayload,\n\tgetRouteObjFunc = getRouteObj,\n\trouteExistsFunc = routeExists,\n) => {\n\tconst path = experience.urlPath;\n\tconst routeObjForExp = getRouteObjFunc(experience, payload);\n\n\tif (isEmpty(routeObjForExp)) return;\n\n\tconst routeExists = routeExistsFunc(\n\t\texperienceConfigs[path],\n\t\trouteObjForExp,\n\t\tinteropPayload,\n\t);\n\n\tif (!routeExists && interopPayload.isExperiencePresent(path)) {\n\t\t// if route has interopScriptedConditions to determine its existence.\n\t\t// check if such route has parentRoutes that to has interopScriptedConditions to determine its existence.\n\t\t// this case interopIDs exists, parentInteropIDs might exists for current iterating experience.\n\t\tvalidateParentRoute(\n\t\t\texperience,\n\t\t\tnull,\n\t\t\texperienceConfigs[path],\n\t\t\tpayload.parent,\n\t\t\tinteropPayload,\n\t\t);\n\t} else if (routeExists) {\n\t\tset(routeObjForExp, 'context.path', path);\n\t\t// If route exists, we need to check if its parent has interopScriptedConditions\n\t\tconst parentExists = validateParentRoute(\n\t\t\texperience,\n\t\t\trouteObjForExp,\n\t\t\texperienceConfigs[path],\n\t\t\tpayload.parent,\n\t\t\tinteropPayload,\n\t\t);\n\t\tif (parentExists) return routeObjForExp;\n\t}\n\treturn;\n};\n\nconst validateParentRoute = (\n\texp,\n\trouteObj,\n\texperienceConfig,\n\tparent,\n\tinteropPayload,\n) => {\n\tif (!parent) return true;\n\n\tconst parentRouteObj = getRouteObj(exp, parent);\n\tif (!parentRouteObj && interopPayload.isExperiencePresent(exp.urlPath)) {\n\t\tinteropPayload.removeExperience(exp.urlPath);\n\t\treturn false;\n\t}\n\tconst parentRouteExists = routeExists(\n\t\texperienceConfig,\n\t\tparentRouteObj,\n\t\tinteropPayload,\n\t\t'parent',\n\t);\n\tif (parentRouteExists && routeObj) {\n\t\trouteObj.parent = parentRouteObj;\n\t\treturn true;\n\t}\n\treturn parentRouteExists;\n};\n\n// Helper function to create route object\nconst createRouteObject = (exp, payload, experienceConfig, interopPayload) => {\n\tlet routeObj = getRouteObj(exp, payload);\n\tconst result =\n\t\trouteObj && routeExists(experienceConfig, routeObj, interopPayload);\n\n\tif (!result && !interopPayload.isExperiencePresent(exp.urlPath)) {\n\t\treturn;\n\t}\n\n\tif (result) set(routeObj, 'context.path', exp.urlPath);\n\tconst isValidParent = validateParentRoute(\n\t\texp,\n\t\trouteObj,\n\t\texperienceConfig,\n\t\tpayload.parent,\n\t\tinteropPayload,\n\t);\n\tif (!isValidParent || !result) return;\n\treturn routeObj;\n};\n\nconst getRouteObjFromInteropScriptEval = async (\n\tpayload,\n\texperienceInteropsToEvaluate,\n\t{ targetedExperience, currentExperience, experienceList = [] },\n) => {\n\tconst experiencePath = await getExperiencePassingInteropScriptedCondition(\n\t\texperienceInteropsToEvaluate,\n\t\tpayload.fields,\n\t\tpayload?.parent?.fields,\n\t);\n\tlet experienceObj;\n\tif (experiencePath) {\n\t\tif (targetedExperience && targetedExperience.urlPath === experiencePath)\n\t\t\texperienceObj = targetedExperience;\n\t\telse if (\n\t\t\tcurrentExperience &&\n\t\t\tcurrentExperience.urlPath === experiencePath\n\t\t)\n\t\t\texperienceObj = currentExperience;\n\t\telse if (!isEmpty(experienceList)) {\n\t\t\texperienceObj = experienceList.find(\n\t\t\t\t(exp) => exp.urlPath === experiencePath,\n\t\t\t);\n\t\t}\n\n\t\tconst routeObj = getRouteObj(experienceObj, payload);\n\t\tset(routeObj, 'context.path', experiencePath);\n\t\tif (payload.parent) {\n\t\t\tconst parentRouteObj = getRouteObj(experienceObj, payload.parent);\n\t\t\trouteObj.parent = parentRouteObj;\n\t\t}\n\t\treturn routeObj;\n\t}\n\treturn;\n};\n\n// Helper function to evaluate interop script and update route object if needed\nasync function tryGetRouteFromInteropScript(\n\tpayload,\n\tcontext,\n\tinteropPayload,\n\tcurrentRouteObj, // incases when routeObj is resolved at client-side, but prior experience has interopScriptedConditions (parent/route/both)\n) {\n\tconst routeObjFromInteropScriptEval =\n\t\tawait getRouteObjFromInteropScriptEval(\n\t\t\tpayload,\n\t\t\tinteropPayload.getPayload(),\n\t\t\tcontext,\n\t\t);\n\treturn routeObjFromInteropScriptEval || currentRouteObj;\n}\n\n// dependency injection for unit tests purpose\nexport const globalNavigationRequestedEffect = async (\n\tcoeffects,\n\tgetUXGlobalsExperienceConfigsFunc = getUXGlobalsExperienceConfigs,\n\tprocessGlobalNavConfigFunc = processGlobalNavConfig,\n\tgetStoredPreviouslyVisitedExperienceFunc = getStoredPreviouslyVisitedExperience,\n\tgetExperienceFunc = getExperience,\n\tresolveRouteForExperienceFunc = resolveRouteForExperience,\n\tgetExperienceListFunc = getExperienceList,\n\tgetRouteObjFunc = getRouteObj,\n\trouteExistsFunc = routeExists,\n) => {\n\tconst {\n\t\taction: { payload },\n\t\tstate,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateState,\n\t\tupdateProperties,\n\t} = coeffects;\n\tlet { globalNavigationConfig, selectedContent, canvasSession } = properties;\n\tconst { feature } = payload;\n\tlet experienceConfigs = getUXGlobalsExperienceConfigsFunc();\n\tif (!experienceConfigs || !globalNavigationConfig) return;\n\tconst { isGlobalNavConfProcessed = false } = state;\n\t// DEF0854766: don't run processGlobalNavConfig (or latch isGlobalNavConfProcessed)\n\t// when feature is missing. processGlobalNavConfig's prefetch is keyed on feature,\n\t// and getExperienceList returns [] for an undefined feature anyway, so its output\n\t// isn't consumed downstream on this dispatch. Latching here would prevent the\n\t// next dispatch (with a valid feature) from running the processing it needs.\n\tif (isGlobalNavConfProcessed === false && feature) {\n\t\tconst newGlobalNavigationConfig = await processGlobalNavConfigFunc(\n\t\t\texperienceConfigs,\n\t\t\tglobalNavigationConfig,\n\t\t\tfeature,\n\t\t);\n\t\tif (newGlobalNavigationConfig) {\n\t\t\tglobalNavigationConfig = { ...newGlobalNavigationConfig };\n\t\t\tupdateProperties({\n\t\t\t\tglobalNavigationConfig: { ...newGlobalNavigationConfig },\n\t\t\t});\n\t\t\tupdateState({ isGlobalNavConfProcessed: true });\n\t\t\t// DEF0854766: processGlobalNavConfig may fetch missing experience\n\t\t\t// configs (page properties / route configuration) into ux_globals\n\t\t\t// when recovering from a page refresh. Re-read so downstream route\n\t\t\t// resolution uses the freshly fetched data instead of the stale\n\t\t\t// snapshot captured before processing.\n\t\t\texperienceConfigs = getUXGlobalsExperienceConfigsFunc();\n\t\t} else return;\n\t}\n\n\tlet routeObj;\n\n\tconst { targetExperience, fallbackRoute, navType } = payload;\n\n\tawait fetchAndUpdateRequestedExperiences(\n\t\tpayload,\n\t\texperienceConfigs,\n\t\tupdateProperties,\n\t);\n\n\tlet targetedExperience, currentExperience;\n\tconst interopPayload = new ScriptedInteropPayload();\n\n\t//try target experience\n\tif (targetExperience) {\n\t\tlet { path, lastVisited } = targetExperience;\n\t\tif (!path && lastVisited == true) {\n\t\t\tconst userId = canvasSession?.user?.sys_id;\n\t\t\tconst storedPreviouslyVisitedExperience =\n\t\t\t\tawait getStoredPreviouslyVisitedExperienceFunc(userId);\n\t\t\tif (storedPreviouslyVisitedExperience)\n\t\t\t\t({ path } = storedPreviouslyVisitedExperience);\n\t\t}\n\t\tif (path) {\n\t\t\ttargetedExperience = getExperienceFunc(\n\t\t\t\texperienceConfigs,\n\t\t\t\t{ context: { path } },\n\t\t\t\tpayload,\n\t\t\t);\n\t\t\tif (targetedExperience) {\n\t\t\t\tif (navType === EXPERIENCE_ONLY)\n\t\t\t\t\trouteObj = { context: { path } };\n\t\t\t\telse\n\t\t\t\t\trouteObj = resolveRouteForExperienceFunc(\n\t\t\t\t\t\texperienceConfigs,\n\t\t\t\t\t\ttargetedExperience,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tinteropPayload,\n\t\t\t\t\t\tgetRouteObjFunc,\n\t\t\t\t\t\trouteExistsFunc,\n\t\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\tif (!routeObj) {\n\t\t//try current experience\n\t\tcurrentExperience = getExperienceFunc(\n\t\t\texperienceConfigs,\n\t\t\tselectedContent,\n\t\t\tpayload,\n\t\t);\n\t\tif (currentExperience) {\n\t\t\tif (navType === EXPERIENCE_ONLY) return;\n\t\t\telse\n\t\t\t\trouteObj = resolveRouteForExperienceFunc(\n\t\t\t\t\texperienceConfigs,\n\t\t\t\t\tcurrentExperience,\n\t\t\t\t\tpayload,\n\t\t\t\t\tinteropPayload,\n\t\t\t\t\tgetRouteObjFunc,\n\t\t\t\t\trouteExistsFunc,\n\t\t\t\t);\n\t\t}\n\t\t// if targetExperience has interopScripted && routeExists:false, currentExperience dont have & routeExists:true here.\n\t\tif (routeObj && !interopPayload.isEmpty()) {\n\t\t\trouteObj = await tryGetRouteFromInteropScript(\n\t\t\t\tpayload,\n\t\t\t\t{ targetedExperience, currentExperience },\n\t\t\t\tinteropPayload,\n\t\t\t\trouteObj,\n\t\t\t);\n\t\t}\n\t}\n\n\tif (!routeObj) {\n\t\t//go for global nav priority list\n\t\tconst experienceList =\n\t\t\tgetExperienceListFunc(globalNavigationConfig, payload) || [];\n\n\t\tif (navType === EXPERIENCE_ONLY) {\n\t\t\tif (!isEmpty(experienceList)) {\n\t\t\t\tconst exp = experienceList[0];\n\t\t\t\trouteObj = { context: { path: exp.urlPath } };\n\t\t\t}\n\t\t} else {\n\t\t\t// Process experiences in priority order\n\t\t\tfor (const exp of experienceList) {\n\t\t\t\t// skip experiences that have been processed in previous iterations.\n\t\t\t\tif (interopPayload.isExperiencePresent(exp.urlPath)) continue;\n\t\t\t\trouteObj = createRouteObject(\n\t\t\t\t\texp,\n\t\t\t\t\tpayload,\n\t\t\t\t\texperienceConfigs[exp.urlPath],\n\t\t\t\t\tinteropPayload,\n\t\t\t\t);\n\t\t\t\tif (routeObj) break;\n\t\t\t}\n\t\t\t// If none of the experiences matched, try out pending interop routes with scripted conditions for deriving the experience.\n\t\t\tif (!interopPayload.isEmpty()) {\n\t\t\t\trouteObj = await tryGetRouteFromInteropScript(\n\t\t\t\t\tpayload,\n\t\t\t\t\t{ targetedExperience, currentExperience, experienceList },\n\t\t\t\t\tinteropPayload,\n\t\t\t\t\trouteObj,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst route = routeObj || fallbackRoute;\n\tif (route) dispatch(NAV_ITEM_SELECTED, route);\n};\n\nexport const canvasExperienceSwitchRequestedEffect = async (\n\t{ action, properties },\n\tsavePreviouslyVisitedExperienceFunc = savePreviouslyVisitedExperience,\n) => {\n\tconst userId = properties?.canvasSession?.user?.sys_id;\n\tconst { previousValue: prevSelectedContent } = action.payload;\n\tconst {\n\t\tcontext: { experienceName, path },\n\t\t_timestamp,\n\t} = prevSelectedContent;\n\tconst previouslyVisitedExperience = { experienceName, path, _timestamp };\n\tawait savePreviouslyVisitedExperienceFunc(\n\t\tpreviouslyVisitedExperience,\n\t\tuserId,\n\t);\n};\n\nexport const fetchAndUpdateRequestedExperiences = async (\n\tpayload = {},\n\texperienceConfigs,\n\tupdateProperties,\n) => {\n\tconst { targetExperience, fallbackRoute } = payload;\n\tlet experiencesToFetch = [];\n\tif (targetExperience) {\n\t\tlet { path } = targetExperience;\n\t\tif (path) experiencesToFetch.push(path);\n\t}\n\n\tif (fallbackRoute && fallbackRoute?.context?.path) {\n\t\texperiencesToFetch.push(fallbackRoute.context.path);\n\t}\n\n\texperiencesToFetch = experiencesToFetch.filter(\n\t\t(expPath) => !!experienceConfigs[expPath],\n\t);\n\n\tconst routerConfig = getUXGlobalRouterConfiguration();\n\tconst currentSiteName = get(window, 'ux_globals.siteName', '');\n\tlet updatedRouterConfig = {\n\t\t[currentSiteName]: routerConfig,\n\t};\n\tif (experiencesToFetch.length) {\n\t\tupdatedRouterConfig = await getRequestedExperienceRouterConfigurations(\n\t\t\texperiencesToFetch,\n\t\t\tupdatedRouterConfig[currentSiteName],\n\t\t\tupdateProperties,\n\t\t);\n\t}\n\n\texperiencesToFetch.forEach((expPath) => {\n\t\tconst currentRouterConfig = updatedRouterConfig?.[expPath];\n\t\tif (\n\t\t\texpPath &&\n\t\t\tcurrentRouterConfig &&\n\t\t\twindow.ux_globals.experienceConfigs?.[expPath]\n\t\t) {\n\t\t\texperienceConfigs[expPath].appRouteConfiguration =\n\t\t\t\tcurrentRouterConfig;\n\t\t\twindow.ux_globals.experienceConfigs[expPath].appRouteConfiguration =\n\t\t\t\tcurrentRouterConfig;\n\t\t}\n\t});\n};\n\nconst actionHandlers = {\n\t[GLOBAL_NAVIGATION_REQUESTED]: globalNavigationRequestedEffect,\n\t[CANVAS_EXPERIENCE_SWITCH_INITIATED]: canvasExperienceSwitchRequestedEffect,\n};\nexport { actionHandlers };\n","import { actionHandlers } from './global-navigation.effects';\n\nimport { GLOBAL_NAVIGATION_BEHAVIOR } from '../../constants/constants';\n\nexport default {\n\tname: GLOBAL_NAVIGATION_BEHAVIOR,\n\tinitialState: {\n\t\tisGlobalNavConfProcessed: false\n\t},\n\tproperties: {\n\t\tglobalNavigationConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t\tselectable: false,\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\tactionHandlers\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport getProperty from './utils';\nimport isEmpty from 'lodash/isEmpty';\n\nconst serviceWorkerEvents = {\n\tconfigureRecorderSW: 'CONFIGURE_RECORDER',\n};\n\nconst sysProps = {\n\tapiRecorderConfig: 'glide.uxf.sw_api_recorder_config',\n};\n\nconst defaultApiPrefetchConfig = Object.freeze({\n\tisEnabled: true,\n\tshowDebugLog: false,\n\tdisabledBaseUrls: ['/now/build/ui'],\n\tuxfBaseUrl: ['/now/', '/x/'],\n\tapiBaseUrl: '/api/',\n\tbatchApiUrl: '/api/now/v1/batch',\n\tgqlApiUrl: '/api/now/graphql',\n\tresponsesTtl: 5000,\n});\n\nexport const resolveRegistrations = async () => {\n\treturn (await navigator.serviceWorker.getRegistrations()).filter(\n\t\t(registration) =>\n\t\t\twindow.location.pathname.startsWith(\n\t\t\t\tnew URL(registration.scope).pathname,\n\t\t\t),\n\t);\n};\n\nexport default {\n\tname: 'UXF_SW_API_PREFETCH',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: async () => {\n\t\t\t\tconst _config = getProperty(sysProps.apiRecorderConfig, {});\n\t\t\t\tlet config = defaultApiPrefetchConfig;\n\t\t\t\tif (!isEmpty(_config)) config = JSON.parse(_config);\n\n\t\t\t\t(await resolveRegistrations()).forEach((registration) => {\n\t\t\t\t\tregistration.active?.postMessage({\n\t\t\t\t\t\ttype: serviceWorkerEvents.configureRecorderSW,\n\t\t\t\t\t\tpayload: config,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","import get from 'lodash/get';\nexport default (propName, defaultValue) =>\n\tget(window, `ux_globals.sysprops['${propName}']`, defaultValue);\n","import { get } from 'lodash';\nimport { klona } from 'klona';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_sn-canvas-appshell-layout.scss';\nimport view from './sn-canvas-appshell-layout.view';\nimport { actionHandlers } from './sn-canvas-appshell-layout.effects';\nimport experienceSwitchBehavior from './../behaviors/experience-switch-behavior';\nimport { experienceDataBehavior } from '../behaviors/experience-data-behavior';\nimport { userConsentBehavior } from '../behaviors/user-consent-behaviour';\nimport globalNavBehavior from '../behaviors/global-navigation-behavior';\nimport apiPrefetchBehavior from '../behaviors/api-prefetch-behavior';\nimport { SN_CANVAS_APPSHELL_LAYOUT } from './../constants/constants';\nimport { renderSkipBehavior } from 'sn-canvas-common';\n\nconst getUXGlobalsExperienceConfigs = () =>\n\tklona(get(window, 'ux_globals.experienceConfigs', {}));\n\ncreateCustomElement(SN_CANVAS_APPSHELL_LAYOUT, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: view\n\t},\n\tstyles,\n\tproperties: {\n\t\tactiveExperienceChromeSettings: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\tcanvasSession: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\tselectedContentMap: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\tsessionSelectedContentMap: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\trouteConfig: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\tclientInfo: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t},\n\t\texperienceConfigs: {\n\t\t\tdefault: getUXGlobalsExperienceConfigs(),\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\tinitialState: {\n\t\texperienceChromeSettingsMap: {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers\n\t},\n\tbehaviors: [\n\t\texperienceSwitchBehavior,\n\t\texperienceDataBehavior,\n\t\tuserConsentBehavior,\n\t\tglobalNavBehavior,\n\t\tapiPrefetchBehavior,\n\t\trenderSkipBehavior\n\t]\n});\n","import { get } from 'lodash';\n\nimport {componentModes} from '@servicenow/ui-core';\n\nimport { CANVAS_EXPERIENCE_SWITCHED } from './../constants/constants';\n\nlet prevContextPath;\n\nexport const addLifeCycleEvent = ({ properties }, dispatch) => {\n\tconst { selectedContent } = properties;\n\tconst contextPath = get(selectedContent, 'context.path', null);\n\tif (prevContextPath && contextPath && prevContextPath !== contextPath) {\n\t\tif (window && window.requestAnimationFrame) {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tdispatch(CANVAS_EXPERIENCE_SWITCHED, { ...selectedContent })\n\t\t\t});\n\t\t}\n\t}\n\tprevContextPath = contextPath;\n};\n\nexport const renderMainViewPorts = ({\n\trouteConfig,\n\tselectedContent,\n\tselectedContentMap,\n\texperiencesData\n}) => {\n\treturn Object.keys(selectedContentMap).map(path => {\n\t\tconst content = selectedContentMap[path];\n\t\tconst shellRouterConfig = routeConfig.experienceRouteConfigs[path];\n\t\tconst contextPath = get(selectedContent, 'context.path', null);\n\n\t\tif (path && experiencesData && experiencesData.get(path)) {\n\t\t\tconst { appShellId, experienceId } = shellRouterConfig;\n\t\t\tconst experienceData = experiencesData.get(path);\n\t\t\tif (!appShellId || !experienceId || experienceData.isDiscarded === true)\n\t\t\t\treturn;\n\t\t\tlet mode = componentModes.ACTIVE;\n\t\t\tif(experienceData.isSuspended === true)\n\t\t\t\tmode = componentModes.SUSPEND\n\t\t\tif(experienceData.isDetached === true)\n\t\t\t\tmode = componentModes.DETACH\n\t\t\t\n\t\t\tconst screensToCloseQueue = experienceData?.screensToCloseQueue || [];\n\t\t\tconst style = contextPath === path ? {} : { display: 'none' };\n\t\t\treturn (\n\t\t\t\t<sn-canvas-experience-shell\n\t\t\t\t\tkey={btoa(path)}\n\t\t\t\t\tselected-content={content}\n\t\t\t\t\troute-config={shellRouterConfig}\n\t\t\t\t\texperience-id={experienceId}\n\t\t\t\t\texperience-data={experienceData}\n\t\t\t\t\tscreens-to-close-queue={screensToCloseQueue}\n\t\t\t\t\tnow-mode={mode}\n\t\t\t\t\tstyle={style}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t});\n};\n\nexport default (derivedState, { dispatch }) => {\n\treturn (\n\t\t<div className=\"sn-canvas-appshell-main grid-block\">\n\t\t\t{renderMainViewPorts(derivedState.properties)}\n\t\t\t{addLifeCycleEvent(derivedState, dispatch)}\n\t\t<\/div>\n\t);\n};\n\nexport const resetPrevContextPath = () => {\n\tprevContextPath = null;\n}","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tNOW_EXPERIENCE_SWITCH_INITIATED,\n\tNOW_EXPERIENCE_LOAD_INITIATED,\n\tCANVAS_EXPERIENCE_LOADED,\n\tNOW_EXPERIENCE_LOADED,\n\tCANVAS_EXPERIENCE_SWITCHED,\n\tNOW_EXPERIENCE_SWITCHED,\n\tEXPERIENCE_START,\n\tCANVAS_EXPERIENCE_SWITCH_INITIATED,\n\tMAIN_SELECTED_CONTENT_CHANGED,\n} from '../constants/constants';\nimport { setExperienceMark } from '../utils/setExperienceMarks';\nimport { initPreviousExperiencePathOnPopState } from '../utils/routeUtils';\nimport { dispatchWMExperienceSwitch } from './utils/sn-canvas-appshell-main.utils';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const appShellMainPropChangedEffect = ({\n\taction,\n\tproperties,\n\tdispatch,\n}) => {\n\tconst {\n\t\tpayload: { name, value, previousValue },\n\t} = action;\n\tconst previousExperiencePathObject = initPreviousExperiencePathOnPopState();\n\n\tswitch (name) {\n\t\tcase 'selectedContent':\n\t\t\tif (value && value.context && value.context.path) {\n\t\t\t\tconst {\n\t\t\t\t\tcontext: { path },\n\t\t\t\t} = value;\n\t\t\t\tconst { selectedContentMap } = properties;\n\t\t\t\tif (!previousValue || !selectedContentMap[path]) {\n\t\t\t\t\tdispatch(NOW_EXPERIENCE_LOAD_INITIATED, { ...value });\n\t\t\t\t} else if (\n\t\t\t\t\tpreviousValue &&\n\t\t\t\t\tpreviousValue.context &&\n\t\t\t\t\tpreviousValue.context.path &&\n\t\t\t\t\tpreviousValue.context.path !== path\n\t\t\t\t) {\n\t\t\t\t\tdispatchWMExperienceSwitch({ path, value, dispatch });\n\n\t\t\t\t\tdispatch(CANVAS_EXPERIENCE_SWITCH_INITIATED, {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpreviousValue,\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(NOW_EXPERIENCE_SWITCH_INITIATED, { ...value });\n\t\t\t\t\t/**\n\t\t\t\t\t * Helps `sn-canvas-appshell-root` to update `confirmPopStateNavigationContext`\n\t\t\t\t\t * when navigating across experiences.\n\t\t\t\t\t */\n\t\t\t\t\tdispatch(MAIN_SELECTED_CONTENT_CHANGED, {\n\t\t\t\t\t\tselectedContent: { ...value },\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t/**\n\t\t\t\t * `previousExperiencePathObject` is used to store the previous experience path\n\t\t\t\t * to get the correct experience path while under pop-state navigation.\n\t\t\t\t */\n\t\t\t\tpreviousExperiencePathObject.setPreviousExperiencePath(path);\n\t\t\t}\n\t\t\tbreak;\n\t}\n};\n\nexport const canvasExperienceLoadedEffect = ({ host, action, dispatch }) => {\n\tdispatch(NOW_EXPERIENCE_LOADED, { ...action.payload });\n\tsetExperienceMark(\n\t\thost,\n\t\taction,\n\t\taction.payload.selectedContent,\n\t\tEXPERIENCE_START,\n\t);\n};\nexport const canvasExperienceSwitchedEffect = ({ host, action, dispatch }) => {\n\tdispatch(NOW_EXPERIENCE_SWITCHED, { ...action.payload });\n\tsetExperienceMark(host, action, action.payload, EXPERIENCE_START);\n};\n\nconst actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: appShellMainPropChangedEffect,\n\t[CANVAS_EXPERIENCE_LOADED]: canvasExperienceLoadedEffect,\n\t[CANVAS_EXPERIENCE_SWITCHED]: canvasExperienceSwitchedEffect,\n};\nexport { actionHandlers };\n","import { getScreenKey } from 'sn-canvas-common';\nimport { UXF_WM_SCREEN_SELECTED } from '../../constants/constants';\n\n/**\n * Dispatches UXF_WM_SCREEN_SELECTED action with the given value and path.\n * @param path - the current experience context path\n * @param value - the current value from the component property changed event\n * @param dispatch - the dispatch function from the current component\n */\nexport const dispatchWMExperienceSwitch = ({ path, value, dispatch }) => {\n\tlet parentScreenKey;\n\tif (value?.parent) {\n\t\tparentScreenKey = getScreenKey(value.parent);\n\t}\n\tconst screenKeyFromValue = getScreenKey(value);\n\tconst experienceIdFromValue =\n\t\twindow.ux_globals?.experienceConfigs[path]?.experienceId;\n\n\tconst wmScreenSelectedPayload = {\n\t\tscreenKey: screenKeyFromValue,\n\t\texperienceId: experienceIdFromValue,\n\t};\n\n\tif (parentScreenKey)\n\t\twmScreenSelectedPayload.parentScreenKey = parentScreenKey;\n\n\tdispatch(UXF_WM_SCREEN_SELECTED, wmScreenSelectedPayload);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_sn-canvas-appshell-main.scss';\nimport view from './sn-canvas-appshell-main.view';\nimport { actionHandlers } from './sn-canvas-appshell-main.effects';\n\nimport { SN_CANVAS_APPSHELL_MAIN } from './../constants/constants';\n\ncreateCustomElement(SN_CANVAS_APPSHELL_MAIN, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: view\n\t},\n\tstyles,\n\tproperties: {\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true\n\t\t},\n\t\trouteConfig: {\n\t\t\tdefault: null,\n\t\t\tdeepCompare: true,\n\t\t\tshouldRenderWhenSet: false\n\t\t},\n\t\tselectedContentMap: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true\n\t\t},\n\t\texperiencesData: {\n\t\t\tdefault: new Map(),\n\t\t\tdeepCompare: true,\n\t\t\tshouldRenderWhenSet: false\n\t\t}\n\t},\n\tactionHandlers,\n\tbehaviors: []\n});\n","export default () => {\n\treturn (\n\t\t<div className=\"sn-canvas-experience-shell\">\n\t\t\t<slot />\n\t\t<\/div>\n\t);\n};\n","import { isNil } from '@devsnc/snowdash';\nimport { klona } from 'klona';\nimport { EXPERIENCE_STATUS_CHANGED } from '../constants/constants';\n\nexport const buildScreen = (screen, extraInfo = {}) => {\n\tconst output = {\n\t\tscreenKey: screen.screenKey,\n\t\t...(screen.title && { title: screen.title }),\n\t\t...extraInfo,\n\t};\n\n\tif (!isNil(screen.isDirty)) {\n\t\toutput.isDirty = Boolean(screen.isDirty);\n\t}\n\n\treturn output;\n};\n\n/**\n * Updates the experience data by modifying or adding a screen based on the provided payload,\n * and dispatches an action to reflect the updated experience status.\n *\n * @param {Object} params - Parameters for propagating experience data.\n * @param {Object} params.properties - experience shell properties.\n * @param {Object} params.properties.experienceData - The experiences data object.\n * @param {Object} params.screenStatusChangedActionPayload - The payload of the screen status changed action.\n * @param {Function} params.dispatchFn - Seismic dispatch function\n * @param {boolean} params.isDirty - Indicates if the experience is dirty from Dirty State Management.\n * @returns {void}\n */\n\nexport const propagateExperienceData = ({\n\tproperties,\n\tscreenStatusChangedActionPayload,\n\tdispatchFn,\n\tisDirty,\n}) => {\n\tconst { selectedContent, experienceData } = properties;\n\tconst screens = klona(experienceData.screens) || [];\n\tconst index = screens.findIndex(\n\t\t(s) => s.screenKey === screenStatusChangedActionPayload.screenKey,\n\t);\n\n\tif (index > -1)\n\t\tscreens[index] = {\n\t\t\t...screens[index],\n\t\t\t...buildScreen(screenStatusChangedActionPayload, {\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t}),\n\t\t};\n\telse\n\t\tscreens.push(\n\t\t\tbuildScreen(screenStatusChangedActionPayload, {\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t}),\n\t\t);\n\n\tconst newExperienceData = {\n\t\tpath: selectedContent.context?.path,\n\t\tname: selectedContent.context?.experienceName,\n\t\tisActive: true,\n\t\t...(!isNil(isDirty)\n\t\t\t? { isDirty }\n\t\t\t: !isNil(experienceData?.isDirty)\n\t\t\t\t? { isDirty: experienceData.isDirty }\n\t\t\t\t: {}),\n\t\t...(experienceData.screensToCloseQueue && {\n\t\t\tscreensToCloseQueue: experienceData.screensToCloseQueue,\n\t\t}),\n\t\tscreens,\n\t};\n\n\tconst experienceContext = properties.selectedContent?.context || {};\n\n\tdispatchFn(() => {\n\t\treturn {\n\t\t\ttype: EXPERIENCE_STATUS_CHANGED,\n\t\t\tpayload: {\n\t\t\t\t...newExperienceData,\n\t\t\t\tcontext: experienceContext,\n\t\t\t},\n\t\t\tshouldDispatch: true,\n\t\t};\n\t});\n\n\treturn newExperienceData;\n};\n","import { set } from 'lodash';\n\nconst setContextInPayload = (action, properties) => {\n\tconst { selectedContent } = properties;\n\tconst { payload } = action;\n\tif (\n\t\t!payload.context &&\n\t\tselectedContent &&\n\t\tselectedContent.context &&\n\t\tselectedContent.context.path\n\t) {\n\t\tset(action, 'payload.context', selectedContent.context);\n\t}\n};\n\nexport { setContextInPayload };","import { mergeWith } from '@devsnc/snowdash';\n\nconst UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA =\n\t'UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA';\n\n/**\n * The mergeWith function from @devsnc/snowdash takes a customizer function to handle merging\n * The custom merge function to handle deep merging of nested objects.\n * If both values are objects, it recursively merges them using `mergeWith`.\n * Otherwise, it returns `undefined` to let `mergeWith` handle the merging.\n *\n * @param {*} objValue - The value from the destination object.\n * @param {*} srcValue - The value from the source object.\n * @returns {*} - The merged value if both are objects, otherwise `undefined`.\n */\nexport const handleNestedMerge = (objValue, srcValue) => {\n\tif (typeof objValue === 'object' && typeof srcValue === 'object') {\n\t\treturn mergeWith(objValue, srcValue, handleNestedMerge);\n\t}\n\treturn undefined; // Let mergeWith handle non-object values\n};\n\nexport const experienceDataAugmentationInterceptor = (context) => {\n\tconst {\n\t\tcoeffects: { properties, host },\n\t} = context;\n\tconst { selectedContent } = properties;\n\tconst augmentedMeta = {\n\t\tcoeffects: {\n\t\t\taction: {\n\t\t\t\tmeta: {\n\t\t\t\t\tuxfMeta: {\n\t\t\t\t\t\t[UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA]: {\n\t\t\t\t\t\t\tpath: selectedContent.context?.path,\n\t\t\t\t\t\t\tname: selectedContent.context?.experienceName,\n\t\t\t\t\t\t\texperienceShellComponentId:\n\t\t\t\t\t\t\t\thost.getAttribute('component-id'),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n\n\treturn mergeWith(context, augmentedMeta, handleNestedMerge);\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { loadExperience } from './sn-canvas-experience-shell.experienceLoader';\nimport {\n\tbuildScreen,\n\tpropagateExperienceData,\n} from './sn-canvas-experience-shell.utils';\nimport {\n\tCANVAS_SCREEN_SWITCHED,\n\tCANVAS_SCREEN_LOADED,\n\tNOW_EXPERIENCE_PAGE_LOADED,\n\tNOW_EXPERIENCE_PAGE_SWITCHED,\n\tCANVAS_SCREEN_LOAD_INITIATED,\n\tCANVAS_SCREEN_SWITCH_INITIATED,\n\tNOW_EXPERIENCE_PAGE_LOAD_INITIATED,\n\tNOW_EXPERIENCE_PAGE_SWITCH_INITIATED,\n\tNAV_ITEM_SELECTED,\n\tEXPERIENCE_SCREENS_UPDATED,\n\tSCREEN_STATUS_CHANGED,\n\tEXPERIENCE_STATUS_CHANGED,\n\tUSER_PREF_SOURCE_UPDATED,\n\tCANVAS_EXPERIENCE_LOADED,\n} from './../constants/constants';\nimport { setContextInPayload } from './utils/setContextInPayload';\nimport { experienceDataAugmentationInterceptor } from './interceptors/experienceDataAugmentationInterceptor';\nimport { isNil } from 'lodash';\nimport { getDirtyStateManager } from '../behaviors/sn-canvas-screens/sn-canvas-screens.util';\n\nconst { COMPONENT_RENDERED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst experienceShellRenderedEffect = ({\n\thost,\n\tstate,\n\tproperties,\n\tdispatch,\n\tupdateState,\n}) => {\n\tif (!properties.routeConfig || state.experienceLoaded) {\n\t\treturn;\n\t}\n\n\tconst {\n\t\trouteConfig: { experienceId, appShellId },\n\t\tselectedContent,\n\t} = properties;\n\tupdateState({ experienceLoaded: true, shouldRender: false });\n\tloadExperience(\n\t\thost,\n\t\t{ appId: experienceId, appShellId, selectedContent },\n\t\tdispatch,\n\t);\n};\n\nconst navItemSelectedInterceptor = ({ action, properties }) =>\n\tsetContextInPayload(action, properties);\n\nconst canvasScreenSwitchedEffect = ({ action, properties, dispatch }) => {\n\tsetContextInPayload(action, properties);\n\tdispatch(NOW_EXPERIENCE_PAGE_SWITCHED, { ...action.payload });\n};\n\nconst canvasScreenLoadedEffect = ({ action, properties, dispatch }) => {\n\tsetContextInPayload(action, properties);\n\tdispatch(NOW_EXPERIENCE_PAGE_LOADED, { ...action.payload });\n\tdispatch(USER_PREF_SOURCE_UPDATED, {});\n};\n\nconst handleScreensUpdated = ({ action, properties, dispatch }) => {\n\tconst { experienceData } = properties;\n\tconst screensData = action.payload.screensData;\n\tif (!screensData) return;\n\tconst screens = Object.keys(screensData).map((sd) =>\n\t\tbuildScreen(screensData[sd], { timestamp: Date.now() }),\n\t);\n\t// screensData entries never carry isDirty because sn-canvas-layout explicitly\n\t// sets isDirty: null on all SCREEN_STATUS_CHANGED payloads.\n\t// Query DSM directly for each remaining screen key to compute experience dirty.\n\tlet isDirty = false;\n\ttry {\n\t\tconst dsm = getDirtyStateManager();\n\t\tconst dsmResults = Object.keys(screensData).map((key) => ({\n\t\t\tkey,\n\t\t\tisScreenDirty: dsm.isScreenDirty(key),\n\t\t}));\n\t\tisDirty = dsmResults.some((r) => r.isScreenDirty === true);\n\t} catch (_e) {\n\t\t// DSM not available\n\t}\n\tconst newExperienceData = {\n\t\t...experienceData,\n\t\tisDirty,\n\t\tisActive: true,\n\t\tscreens,\n\t};\n\n\tdispatch(EXPERIENCE_STATUS_CHANGED, {\n\t\t...newExperienceData,\n\t\tcontext: properties.selectedContent?.context,\n\t});\n};\n\nconst handleScreenStatusChanged = ({ action, properties, dispatch }) => {\n\tconst {\n\t\tpayload: { isDirty },\n\t} = action;\n\n\tif (!isNil(isDirty)) {\n\t\treturn;\n\t}\n\n\tpropagateExperienceData({\n\t\tproperties,\n\t\tscreenStatusChangedActionPayload: action.payload,\n\t\tdispatchFn: dispatch,\n\t});\n};\n\nconst experienceLoadedEffect = ({ properties, updateProperties }) => {\n\tconst isActive = properties.experienceData?.isActive ?? true;\n\tupdateProperties({ isExperienceActive: isActive });\n};\n\nconst experienceShellPropertyChangedEffect = ({ action, updateProperties }) => {\n\tconst {\n\t\tpayload: { name, value },\n\t} = action;\n\n\tif (name === 'experienceData' && !isNil(value?.isActive)) {\n\t\tupdateProperties({ isExperienceActive: value.isActive });\n\t}\n};\n\nconst actionHandlers = {\n\t[CANVAS_EXPERIENCE_LOADED]: experienceLoadedEffect,\n\t[COMPONENT_PROPERTY_CHANGED]: experienceShellPropertyChangedEffect,\n\t[COMPONENT_RENDERED]: experienceShellRenderedEffect,\n\t[NAV_ITEM_SELECTED]: navItemSelectedInterceptor,\n\t[SCREEN_STATUS_CHANGED]: {\n\t\teffect: handleScreenStatusChanged,\n\t\tinterceptors: [experienceDataAugmentationInterceptor],\n\t},\n\t[EXPERIENCE_SCREENS_UPDATED]: handleScreensUpdated,\n\t[CANVAS_SCREEN_SWITCHED]: canvasScreenSwitchedEffect,\n\t[CANVAS_SCREEN_LOADED]: canvasScreenLoadedEffect,\n\t[CANVAS_SCREEN_LOAD_INITIATED]: ({ dispatch, action: { payload } }) =>\n\t\tdispatch(NOW_EXPERIENCE_PAGE_LOAD_INITIATED, { ...payload }),\n\t[CANVAS_SCREEN_SWITCH_INITIATED]: ({ dispatch, action: { payload } }) =>\n\t\tdispatch(NOW_EXPERIENCE_PAGE_SWITCH_INITIATED, { ...payload }),\n};\nexport { actionHandlers };\n","import { getAppliedTemplate } from '@devsnc/library-uxf';\n\nimport { CANVAS_EXPERIENCE_LOADED } from './../constants/constants';\n\nexport const loadExperience = async (host, experienceProps, dispatch) => {\n\tconst { appId, appShellId } = experienceProps;\n\tlet uxrInteractionId =\n\t\twindow.nowUiFramework?.getUxrInteractionIdByHost?.(host);\n\tif (host.children.length > 0) {\n\t\t// experience mcp is already in DOM\n\t\tdispatch(CANVAS_EXPERIENCE_LOADED, { ...experienceProps });\n\t\treturn;\n\t}\n\tconst appShellFragment = await getAppliedTemplate(\n\t\tappShellId,\n\t\t{ appId, isCanvasExperienceShell: true },\n\t\tappId,\n\t\tuxrInteractionId,\n\t);\n\tif (!appShellFragment) return;\n\n\tconst fragmentItem = appShellFragment.children[0];\n\n\tconst macroponentHandler = () => {\n\t\tdispatch(CANVAS_EXPERIENCE_LOADED, { ...experienceProps });\n\n\t\tfragmentItem.removeEventListener(\n\t\t\t'MACROPONENT_READY',\n\t\t\tmacroponentHandler,\n\t\t);\n\t};\n\n\tfragmentItem.addEventListener('MACROPONENT_READY', macroponentHandler);\n\n\thost.append(appShellFragment);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_sn-canvas-experience-shell.scss';\nimport view from './sn-canvas-experience-shell.view';\nimport { actionHandlers } from './sn-canvas-experience-shell.effects';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\nimport { SN_CANVAS_EXPERIENCE_SHELL } from './../constants/constants';\nimport { onExperienceDirtyStateChange } from './sn-canvas-experience-shell.dirtyHandler';\n\ncreateCustomElement(SN_CANVAS_EXPERIENCE_SHELL, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: view,\n\t},\n\tstyles,\n\tproperties: {\n\t\tselectedContent: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\trouteConfig: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\texperienceData: {\n\t\t\tdefault: {},\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t\texperienceId: {\n\t\t\tdefault: null,\n\t\t\tselectable: true,\n\t\t},\n\t\tisExperienceActive: {\n\t\t\tdefault: true,\n\t\t\tselectable: true,\n\t\t},\n\t\tscreensToCloseQueue: {\n\t\t\tdefault: [],\n\t\t\tselectable: true,\n\t\t\tdeepCompare: true,\n\t\t},\n\t},\n\tinitialState: {},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: onExperienceDirtyStateChange,\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers,\n});\n","import { propagateExperienceData } from './sn-canvas-experience-shell.utils';\n\nexport const onExperienceDirtyStateChange = (params) => {\n\tconst {\n\t\tisDirty,\n\t\tsubscriberUpdatePropertiesFn,\n\t\tsubscriberDispatchFn,\n\t\tscreenStatusChangedActionPayload,\n\t} = params;\n\n\tsubscriberUpdatePropertiesFn(({ properties }) => {\n\t\tconst newExperienceData = propagateExperienceData({\n\t\t\tproperties,\n\t\t\tscreenStatusChangedActionPayload,\n\t\t\tdispatchFn: subscriberDispatchFn,\n\t\t\tisDirty,\n\t\t});\n\t\treturn {\n\t\t\tpath: 'experienceData',\n\t\t\tvalue: newExperienceData,\n\t\t\toperation: 'assign',\n\t\t\tshouldRender: true,\n\t\t};\n\t});\n};\n","import * as exports from '../index.js';\nwindow.__TECTONIC__sn_canvas_core=exports;\nexport * from '../index.js';\nexport {default} from '../index.js';\n"],"version":3}}]}